From 52e383bd99d0c22078421a1a6425661f2db437da Mon Sep 17 00:00:00 2001 From: tsuzcx <98632993+tsuzcx@users.noreply.github.com> Date: Mon, 31 Jan 2022 07:15:49 +0000 Subject: [PATCH] add qq security center version 6.7.2 --- com.tencent.token/AndroidManifest.xml | 183 + com.tencent.token/apktool.yml | 31 + com.tencent.token/assets/KingkongPatch.apk | Bin 0 -> 146145 bytes .../assets/KingkongPatch_apk/apktool.yml | 19 + .../KingkongPatch_apk/libPatchDispatcher.so | Bin 0 -> 6716 bytes .../KingkongPatch_apk/libkkfixerdriver.so | Bin 0 -> 91324 bytes .../KingkongPatch_apk/libxposed_art50.so | Bin 0 -> 30076 bytes .../KingkongPatch_apk/libxposed_art51.so | Bin 0 -> 30076 bytes .../KingkongPatch_apk/libxposed_art60.so | Bin 0 -> 50956 bytes .../KingkongPatch_apk/libxposed_dalvik.so | Bin 0 -> 143820 bytes .../original/META-INF/MANIFEST.MF | 3 + com.tencent.token/assets/channel.ini | 1 + .../assets/haarcascade_frontalface_alt.xml | 26161 ++++++++++++++++ com.tencent.token/assets/id_template.txt | 13 + .../assets/model/clm_ccnf_general.txt | 4 + .../validator_general_68.txt | Bin 0 -> 370728 bytes com.tencent.token/assets/model/haarAlign.txt | 6 + .../assets/model/main_ccnf_general.txt | 3 + .../ccnf_patches_0.25_general.txt | Bin 0 -> 2429528 bytes .../ccnf_patches_0.35_general.txt | Bin 0 -> 2429528 bytes .../model/pdms/In-the-wild_aligned_PDM_68.txt | 421 + com.tencent.token/assets/model/tris_68.txt | 554 + com.tencent.token/classes.jar/a/a/a.java | 27 + com.tencent.token/classes.jar/a/a/b.java | 27 + com.tencent.token/classes.jar/a/a/c.java | 58 + com.tencent.token/classes.jar/a/a/d.java | 27 + com.tencent.token/classes.jar/a/a/e.java | 44 + com.tencent.token/classes.jar/a/b/a.java | 50 + com.tencent.token/classes.jar/a/c/a.java | 36 + com.tencent.token/classes.jar/a/c/b.java | 36 + com.tencent.token/classes.jar/a/d/a.java | 35 + com.tencent.token/classes.jar/a/d/b.java | 29 + com.tencent.token/classes.jar/a/e/a.java | 242 + com.tencent.token/classes.jar/a/e/b.java | 34 + com.tencent.token/classes.jar/a/e/c.java | 53 + com.tencent.token/classes.jar/a/e/d.java | 62 + com.tencent.token/classes.jar/a/e/e.java | 27 + com.tencent.token/classes.jar/a/e/f.java | 56 + com.tencent.token/classes.jar/a/e/g.java | 47 + .../android/support/v4/BuildConfig.java | 12 + .../classes.jar/android/support/v4/R.java | 27 + .../AccessibilityServiceInfoCompat.java | 167 + .../AccessibilityServiceInfoCompatIcs.java | 38 + .../support/v4/app/ActionBarDrawerToggle.java | 409 + .../app/ActionBarDrawerToggleHoneycomb.java | 126 + .../support/v4/app/ActivityCompat.java | 47 + .../v4/app/ActivityCompatHoneycomb.java | 24 + .../support/v4/app/ActivityCompatJB.java | 25 + .../support/v4/app/ActivityOptionsCompat.java | 72 + .../v4/app/ActivityOptionsCompatJB.java | 48 + .../support/v4/app/BackStackRecord.java | 729 + .../support/v4/app/BackStackState.java | 222 + .../support/v4/app/DialogFragment.java | 295 + .../android/support/v4/app/Fragment.java | 1096 + .../support/v4/app/FragmentActivity.java | 846 + .../support/v4/app/FragmentContainer.java | 14 + .../support/v4/app/FragmentManager.java | 83 + .../support/v4/app/FragmentManagerImpl.java | 2298 ++ .../support/v4/app/FragmentManagerState.java | 52 + .../support/v4/app/FragmentPagerAdapter.java | 114 + .../android/support/v4/app/FragmentState.java | 161 + .../v4/app/FragmentStatePagerAdapter.java | 190 + .../support/v4/app/FragmentTabHost.java | 336 + .../support/v4/app/FragmentTransaction.java | 66 + .../android/support/v4/app/ListFragment.java | 279 + .../android/support/v4/app/LoaderManager.java | 44 + .../support/v4/app/LoaderManagerImpl.java | 727 + .../android/support/v4/app/NavUtils.java | 215 + .../android/support/v4/app/NavUtilsJB.java | 34 + .../v4/app/NoSaveStateFrameLayout.java | 47 + .../support/v4/app/NotificationCompat.java | 528 + .../v4/app/NotificationCompatHoneycomb.java | 55 + .../NotificationCompatIceCreamSandwich.java | 55 + .../v4/app/NotificationCompatJellybean.java | 104 + .../android/support/v4/app/ServiceCompat.java | 12 + .../android/support/v4/app/ShareCompat.java | 619 + .../support/v4/app/ShareCompatICS.java | 31 + .../android/support/v4/app/ShareCompatJB.java | 17 + .../v4/app/SuperNotCalledException.java | 18 + .../support/v4/app/TaskStackBuilder.java | 219 + .../v4/app/TaskStackBuilderHoneycomb.java | 19 + .../v4/app/TaskStackBuilderJellybean.java | 20 + .../support/v4/content/AsyncTaskLoader.java | 230 + .../support/v4/content/ContextCompat.java | 36 + .../v4/content/ContextCompatHoneycomb.java | 18 + .../v4/content/ContextCompatJellybean.java | 19 + .../support/v4/content/CursorLoader.java | 187 + .../support/v4/content/FileProvider.java | 373 + .../support/v4/content/IntentCompat.java | 111 + .../v4/content/IntentCompatHoneycomb.java | 23 + .../v4/content/IntentCompatIcsMr1.java | 17 + .../android/support/v4/content/Loader.java | 203 + .../v4/content/LocalBroadcastManager.java | 343 + .../support/v4/content/ModernAsyncTask.java | 6 + .../v4/content/pm/ActivityInfoCompat.java | 12 + .../v4/database/DatabaseUtilsCompat.java | 34 + .../v4/net/ConnectivityManagerCompat.java | 97 + .../ConnectivityManagerCompatGingerbread.java | 33 + ...ConnectivityManagerCompatHoneycombMR2.java | 34 + .../ConnectivityManagerCompatJellyBean.java | 17 + .../support/v4/net/TrafficStatsCompat.java | 159 + .../support/v4/net/TrafficStatsCompatIcs.java | 48 + .../support/v4/os/ParcelableCompat.java | 43 + .../os/ParcelableCompatCreatorCallbacks.java | 16 + .../ParcelableCompatCreatorHoneycombMR2.java | 36 + ...rcelableCompatCreatorHoneycombMR2Stub.java | 17 + .../android/support/v4/util/AtomicFile.java | 219 + .../android/support/v4/util/DebugUtils.java | 38 + .../android/support/v4/util/LogWriter.java | 59 + .../support/v4/util/LongSparseArray.java | 301 + .../android/support/v4/util/LruCache.java | 373 + .../support/v4/util/SparseArrayCompat.java | 293 + .../android/support/v4/util/TimeUtils.java | 291 + .../v4/view/AccessibilityDelegateCompat.java | 316 + .../view/AccessibilityDelegateCompatIcs.java | 114 + .../AccessibilityDelegateCompatJellyBean.java | 100 + .../v4/view/GestureDetectorCompat.java | 522 + .../support/v4/view/GravityCompat.java | 108 + .../v4/view/GravityCompatJellybeanMr1.java | 33 + .../support/v4/view/KeyEventCompat.java | 179 + .../support/v4/view/KeyEventCompatEclair.java | 22 + .../v4/view/KeyEventCompatHoneycomb.java | 27 + .../android/support/v4/view/MenuCompat.java | 53 + .../support/v4/view/MenuItemCompat.java | 76 + .../v4/view/MenuItemCompatHoneycomb.java | 23 + .../support/v4/view/MotionEventCompat.java | 151 + .../v4/view/MotionEventCompatEclair.java | 37 + .../android/support/v4/view/PagerAdapter.java | 102 + .../support/v4/view/PagerTabStrip.java | 256 + .../support/v4/view/PagerTitleStrip.java | 490 + .../support/v4/view/PagerTitleStripIcs.java | 44 + .../v4/view/VelocityTrackerCompat.java | 69 + .../view/VelocityTrackerCompatHoneycomb.java | 22 + .../android/support/v4/view/ViewCompat.java | 521 + .../v4/view/ViewCompatGingerbread.java | 22 + .../android/support/v4/view/ViewCompatHC.java | 29 + .../support/v4/view/ViewCompatICS.java | 45 + .../android/support/v4/view/ViewCompatJB.java | 69 + .../v4/view/ViewCompatJellybeanMr1.java | 38 + .../v4/view/ViewConfigurationCompat.java | 52 + .../v4/view/ViewConfigurationCompatFroyo.java | 17 + .../support/v4/view/ViewGroupCompat.java | 78 + .../support/v4/view/ViewGroupCompatHC.java | 17 + .../support/v4/view/ViewGroupCompatIcs.java | 19 + .../android/support/v4/view/ViewPager.java | 2919 ++ .../AccessibilityEventCompat.java | 99 + .../AccessibilityEventCompatIcs.java | 28 + .../AccessibilityManagerCompat.java | 148 + .../AccessibilityManagerCompatIcs.java | 56 + .../AccessibilityNodeInfoCompat.java | 1065 + .../AccessibilityNodeInfoCompatIcs.java | 250 + .../AccessibilityNodeInfoCompatJellyBean.java | 79 + .../AccessibilityNodeProviderCompat.java | 109 + ...essibilityNodeProviderCompatJellyBean.java | 45 + .../AccessibilityRecordCompat.java | 815 + .../AccessibilityRecordCompatIcs.java | 220 + .../AccessibilityRecordCompatIcsMr1.java | 32 + .../AccessibilityRecordCompatJellyBean.java | 18 + .../support/v4/widget/CursorAdapter.java | 331 + .../support/v4/widget/CursorFilter.java | 61 + .../support/v4/widget/DrawerLayout.java | 1407 + .../support/v4/widget/EdgeEffectCompat.java | 167 + .../v4/widget/EdgeEffectCompatIcs.java | 58 + .../v4/widget/ResourceCursorAdapter.java | 66 + .../support/v4/widget/ScrollerCompat.java | 332 + .../v4/widget/ScrollerCompatGingerbread.java | 92 + .../support/v4/widget/ScrollerCompatIcs.java | 17 + .../support/v4/widget/SearchViewCompat.java | 358 + .../v4/widget/SearchViewCompatHoneycomb.java | 128 + .../v4/widget/SearchViewCompatIcs.java | 44 + .../v4/widget/SimpleCursorAdapter.java | 188 + .../support/v4/widget/SlidingPaneLayout.java | 1418 + .../support/v4/widget/ViewDragHelper.java | 1031 + com.tencent.token/classes.jar/b/a.java | 52 + com.tencent.token/classes.jar/b/a/a.java | 54 + com.tencent.token/classes.jar/b/a/b.java | 30 + com.tencent.token/classes.jar/b/a/c.java | 55 + com.tencent.token/classes.jar/b/a/d.java | 38 + com.tencent.token/classes.jar/b/a/e.java | 42 + com.tencent.token/classes.jar/b/a/f.java | 33 + com.tencent.token/classes.jar/b/a/g.java | 33 + com.tencent.token/classes.jar/b/a/h.java | 77 + com.tencent.token/classes.jar/c/a/a/a.java | 29 + com.tencent.token/classes.jar/c/a/b/a/a.java | 341 + com.tencent.token/classes.jar/c/a/b/a/b.java | 969 + .../classes.jar/c/a/b/b/a/a/a.java | 31 + com.tencent.token/classes.jar/c/a/b/c/a.java | 64 + com.tencent.token/classes.jar/c/b/a/a.java | 37 + com.tencent.token/classes.jar/c/b/a/b.java | 20 + .../com/qq/jce/wup/BasicClassTypeUtil.java | 459 + .../com/qq/jce/wup/ObjectCreateException.java | 16 + .../com/qq/jce/wup/OldUniAttribute.java | 309 + .../com/qq/jce/wup/TafUniPacket.java | 119 + .../com/qq/jce/wup/UniAttribute.java | 345 + .../classes.jar/com/qq/jce/wup/UniPacket.java | 272 + .../com/qq/jce/wup/WupHexUtil.java | 116 + .../classes.jar/com/qq/jce/wup/WupInfo.java | 89 + .../classes.jar/com/qq/taf/RequestPacket.java | 150 + .../classes.jar/com/qq/taf/jce/HexUtil.java | 106 + .../com/qq/taf/jce/JceDecodeException.java | 16 + .../com/qq/taf/jce/JceDisplayer.java | 492 + .../com/qq/taf/jce/JceEncodeException.java | 16 + .../com/qq/taf/jce/JceInputStream.java | 1107 + .../com/qq/taf/jce/JceOutputStream.java | 526 + .../classes.jar/com/qq/taf/jce/JceStruct.java | 68 + .../classes.jar/com/qq/taf/jce/JceUtil.java | 686 + .../qq/taf/jce/dynamic/ByteArrayField.java | 29 + .../com/qq/taf/jce/dynamic/ByteField.java | 34 + .../com/qq/taf/jce/dynamic/DoubleField.java | 34 + .../taf/jce/dynamic/DynamicInputStream.java | 144 + .../taf/jce/dynamic/DynamicOutputStream.java | 131 + .../com/qq/taf/jce/dynamic/FloatField.java | 34 + .../com/qq/taf/jce/dynamic/IntField.java | 34 + .../com/qq/taf/jce/dynamic/JceField.java | 98 + .../com/qq/taf/jce/dynamic/ListField.java | 44 + .../com/qq/taf/jce/dynamic/LongField.java | 34 + .../com/qq/taf/jce/dynamic/MapField.java | 56 + .../com/qq/taf/jce/dynamic/NumberField.java | 48 + .../com/qq/taf/jce/dynamic/ShortField.java | 34 + .../com/qq/taf/jce/dynamic/StringField.java | 29 + .../com/qq/taf/jce/dynamic/StructField.java | 69 + .../com/qq/taf/jce/dynamic/ZeroField.java | 51 + .../com/tencent/analysis/PrismCenter.java | 57 + .../classes.jar/com/tencent/analysis/a.java | 304 + .../classes.jar/com/tencent/analysis/a/a.java | 150 + .../classes.jar/com/tencent/analysis/a/b.java | 113 + .../classes.jar/com/tencent/analysis/a/c.java | 37 + .../classes.jar/com/tencent/analysis/a/d.java | 37 + .../classes.jar/com/tencent/analysis/a/e.java | 37 + .../classes.jar/com/tencent/analysis/a/f.java | 9 + .../classes.jar/com/tencent/analysis/a/g.java | 42 + .../classes.jar/com/tencent/analysis/a/h.java | 63 + .../classes.jar/com/tencent/analysis/a/i.java | 82 + .../classes.jar/com/tencent/analysis/a/j.java | 80 + .../classes.jar/com/tencent/analysis/b.java | 15 + .../classes.jar/com/tencent/analysis/b/a.java | 130 + .../classes.jar/com/tencent/analysis/b/b.java | 30 + .../com/tencent/analysis/c/a/a.java | 30 + .../com/tencent/analysis/c/a/b.java | 316 + .../com/tencent/analysis/c/a/c.java | 25 + .../com/tencent/analysis/c/b/a.java | 331 + .../com/tencent/analysis/d/a/a.java | 50 + .../com/tencent/analysis/d/a/b.java | 69 + .../com/tencent/analysis/d/a/c.java | 66 + .../com/tencent/analysis/d/a/d.java | 24 + .../classes.jar/com/tencent/analysis/e/a.java | 1223 + .../com/tencent/feedback/anr/ANRReport.java | 64 + .../com/tencent/feedback/anr/a.java | 462 + .../com/tencent/feedback/anr/b.java | 931 + .../com/tencent/feedback/anr/c.java | 125 + .../com/tencent/feedback/anr/d.java | 54 + .../com/tencent/feedback/anr/e.java | 41 + .../com/tencent/feedback/anr/f.java | 17 + .../com/tencent/feedback/anr/g.java | 16 + .../tencent/feedback/common/PlugInInfo.java | 53 + .../com/tencent/feedback/common/a.java | 558 + .../com/tencent/feedback/common/b.java | 235 + .../com/tencent/feedback/common/c.java | 1370 + .../com/tencent/feedback/common/d.java | 1514 + .../com/tencent/feedback/common/e.java | 160 + .../com/tencent/feedback/common/f.java | 248 + .../com/tencent/feedback/common/g.java | 70 + .../com/tencent/feedback/common/h.java | 103 + .../com/tencent/feedback/common/i.java | 364 + .../feedback/eup/BuglyBroadcastRecevier.java | 554 + .../feedback/eup/CrashHandleListener.java | 20 + .../com/tencent/feedback/eup/CrashReport.java | 457 + .../feedback/eup/CrashStrategyBean.java | 657 + .../feedback/eup/ProcessMoniterHandler.java | 16 + .../com/tencent/feedback/eup/SOFile.java | 24 + .../com/tencent/feedback/eup/a.java | 74 + .../com/tencent/feedback/eup/b.java | 1474 + .../com/tencent/feedback/eup/c.java | 756 + .../com/tencent/feedback/eup/d.java | 260 + .../com/tencent/feedback/eup/e.java | 530 + .../com/tencent/feedback/eup/f.java | 418 + .../com/tencent/feedback/eup/g.java | 1035 + .../eup/jni/NativeExceptionHandler.java | 14 + .../eup/jni/NativeExceptionUpload.java | 274 + .../com/tencent/feedback/eup/jni/a.java | 126 + .../com/tencent/feedback/eup/jni/b.java | 316 + .../com/tencent/feedback/eup/jni/c.java | 431 + .../com/tencent/feedback/eup/jni/d.java | 188 + .../com/tencent/feedback/proguard/A.java | 171 + .../com/tencent/feedback/proguard/B.java | 22 + .../com/tencent/feedback/proguard/C.java | 16 + .../com/tencent/feedback/proguard/D.java | 52 + .../com/tencent/feedback/proguard/E.java | 61 + .../com/tencent/feedback/proguard/F.java | 107 + .../com/tencent/feedback/proguard/G.java | 50 + .../com/tencent/feedback/proguard/H.java | 20 + .../com/tencent/feedback/proguard/I.java | 46 + .../com/tencent/feedback/proguard/J_1.java | 39 + .../com/tencent/feedback/proguard/K.java | 51 + .../com/tencent/feedback/proguard/L.java | 162 + .../com/tencent/feedback/proguard/M.java | 35 + .../com/tencent/feedback/proguard/N.java | 86 + .../com/tencent/feedback/proguard/O.java | 50 + .../com/tencent/feedback/proguard/P.java | 29 + .../com/tencent/feedback/proguard/Q.java | 68 + .../com/tencent/feedback/proguard/R.java | 58 + .../com/tencent/feedback/proguard/S_1.java | 63 + .../com/tencent/feedback/proguard/a_1.java | 3418 ++ .../com/tencent/feedback/proguard/b_1.java | 21 + .../com/tencent/feedback/proguard/c_1.java | 135 + .../com/tencent/feedback/proguard/d_1.java | 135 + .../com/tencent/feedback/proguard/e_1.java | 30 + .../com/tencent/feedback/proguard/f_1.java | 132 + .../com/tencent/feedback/proguard/g_1.java | 16 + .../com/tencent/feedback/proguard/h_1.java | 841 + .../com/tencent/feedback/proguard/i_1.java | 428 + .../com/tencent/feedback/proguard/j.java | 33 + .../com/tencent/feedback/proguard/k_1.java | 76 + .../com/tencent/feedback/proguard/l_1.java | 4707 +++ .../com/tencent/feedback/proguard/m_1.java | 23 + .../com/tencent/feedback/proguard/n_1.java | 468 + .../com/tencent/feedback/proguard/o_1.java | 105 + .../com/tencent/feedback/proguard/p_1.java | 79 + .../com/tencent/feedback/proguard/q_1.java | 175 + .../com/tencent/feedback/proguard/r_1.java | 196 + .../com/tencent/feedback/proguard/s.java | 16 + .../com/tencent/feedback/proguard/t.java | 476 + .../com/tencent/feedback/proguard/u.java | 6 + .../com/tencent/feedback/proguard/v.java | 45 + .../com/tencent/feedback/proguard/w.java | 312 + .../com/tencent/feedback/proguard/x.java | 12 + .../com/tencent/feedback/proguard/y.java | 472 + .../com/tencent/feedback/proguard/z.java | 55 + .../feedback/upload/AbstractUploadDatas.java | 103 + .../feedback/upload/UploadHandleListener.java | 14 + .../com/tencent/feedback/upload/a.java | 48 + .../com/tencent/feedback/upload/b.java | 75 + .../com/tencent/feedback/upload/c.java | 696 + .../com/tencent/feedback/upload/d.java | 12 + .../com/tencent/feedback/upload/e.java | 16 + .../com/tencent/feedback/upload/f.java | 688 + .../tencent/imageboost/ImgProcessScan.java | 25 + .../com/tencent/jni/DirectionInfo.java | 33 + .../com/tencent/jni/Face$ALG_MODE.java | 12 + .../com/tencent/jni/Face$ERROR_CODE.java | 6 + .../com/tencent/jni/Face$ImgData.java | 18 + .../classes.jar/com/tencent/jni/Face.java | 285 + .../classes.jar/com/tencent/jni/FaceData.java | 13 + .../com/tencent/jni/FaceDetector$AlgMode.java | 6 + .../tencent/jni/FaceDetector$ErrorCode.java | 6 + .../jni/FaceDetector$IdCardDirection.java | 6 + .../tencent/jni/FaceDetector$LiveAction.java | 6 + .../jni/FaceDetector$LiveDirection.java | 6 + .../com/tencent/jni/FaceDetector.java | 140 + .../classes.jar/com/tencent/jni/FaceInfo.java | 44 + .../com/tencent/jni/IdCardInfo.java | 33 + .../com/tencent/jni/LiveRectInfo.java | 63 + .../com/tencent/kingkong/AbstractCursor.java | 408 + .../kingkong/AbstractWindowedCursor.java | 149 + .../kingkong/BulkCursorDescriptor.java | 96 + .../tencent/kingkong/BulkCursorNative.java | 106 + .../com/tencent/kingkong/BulkCursorProxy.java | 222 + .../kingkong/BulkCursorToCursorAdaptor.java | 183 + .../com/tencent/kingkong/CharArrayBuffer.java | 23 + .../com/tencent/kingkong/Common.java | 776 + .../com/tencent/kingkong/Constant.java | 65 + .../tencent/kingkong/ContentObservable.java | 53 + .../com/tencent/kingkong/ContentObserver.java | 114 + .../tencent/kingkong/CrossProcessCursor.java | 17 + .../kingkong/CrossProcessCursorWrapper.java | 43 + .../com/tencent/kingkong/Cursor.java | 101 + .../CursorIndexOutOfBoundsException.java | 21 + .../com/tencent/kingkong/CursorJoiner.java | 6 + .../kingkong/CursorToBulkCursorAdaptor.java | 274 + .../com/tencent/kingkong/CursorWindow.java | 554 + .../CursorWindowAllocationException.java | 16 + .../com/tencent/kingkong/CursorWrapper.java | 233 + .../com/tencent/kingkong/DataReport.java | 1041 + .../tencent/kingkong/DataSetObservable.java | 41 + .../com/tencent/kingkong/DataSetObserver.java | 15 + .../kingkong/DatabaseErrorHandler.java | 14 + .../com/tencent/kingkong/DatabaseUtils.java | 1204 + .../kingkong/DefaultDatabaseErrorHandler.java | 137 + .../com/tencent/kingkong/DvmPatch.java | 320 + .../com/tencent/kingkong/EncryptUtils.java | 130 + .../tencent/kingkong/EncryptUtilsForQQ.java | 69 + .../com/tencent/kingkong/FileUtils.java | 391 + .../com/tencent/kingkong/IBulkCursor.java | 45 + .../tencent/kingkong/IContentObserver.java | 168 + .../com/tencent/kingkong/MainConfig.java | 219 + .../com/tencent/kingkong/MatrixCursor.java | 258 + .../com/tencent/kingkong/MergeCursor.java | 252 + .../com/tencent/kingkong/NativePatch.java | 526 + .../com/tencent/kingkong/NativeSubPatch.java | 152 + .../com/tencent/kingkong/Observable.java | 53 + .../kingkong/ParcelFileDescriptor.java | 33 + .../com/tencent/kingkong/Patch.java | 106 + .../com/tencent/kingkong/PatchInfo.java | 176 + .../com/tencent/kingkong/PatchManager.java | 283 + .../com/tencent/kingkong/ReportThread.java | 670 + .../com/tencent/kingkong/SQLException.java | 23 + .../tencent/kingkong/SelfUpdateInterface.java | 220 + .../tencent/kingkong/StaleDataException.java | 18 + .../com/tencent/kingkong/SubPatch.java | 104 + .../com/tencent/kingkong/SubPatches.java | 283 + .../com/tencent/kingkong/UpdateManager.java | 418 + .../com/tencent/kingkong/Utils.java | 1186 + .../DatabaseObjectNotClosedException.java | 18 + .../database/SQLiteAbortException.java | 18 + .../database/SQLiteAccessPermException.java | 18 + ...eBindOrColumnIndexOutOfRangeException.java | 18 + .../database/SQLiteBlobTooBigException.java | 18 + .../SQLiteCantOpenDatabaseException.java | 18 + .../kingkong/database/SQLiteClosable.java | 131 + .../kingkong/database/SQLiteConnection.java | 2514 ++ .../database/SQLiteConnectionPool.java | 6 + .../database/SQLiteConstraintException.java | 18 + .../kingkong/database/SQLiteCursor.java | 223 + .../kingkong/database/SQLiteCursorDriver.java | 22 + .../database/SQLiteCustomFunction.java | 29 + .../kingkong/database/SQLiteDatabase.java | 6 + .../database/SQLiteDatabaseConfiguration.java | 76 + .../SQLiteDatabaseCorruptException.java | 18 + .../SQLiteDatabaseLockedException.java | 18 + .../SQLiteDatatypeMismatchException.java | 18 + .../kingkong/database/SQLiteDebug.java | 115 + .../database/SQLiteDirectCursorDriver.java | 104 + .../database/SQLiteDiskIOException.java | 18 + .../database/SQLiteDoneException.java | 18 + .../kingkong/database/SQLiteException.java | 25 + .../database/SQLiteFullException.java | 18 + .../kingkong/database/SQLiteGlobal.java | 149 + .../database/SQLiteMisuseException.java | 18 + .../kingkong/database/SQLiteOpenHelper.java | 376 + .../database/SQLiteOutOfMemoryException.java | 18 + .../kingkong/database/SQLiteProgram.java | 165 + .../kingkong/database/SQLiteQuery.java | 114 + .../kingkong/database/SQLiteQueryBuilder.java | 317 + .../SQLiteReadOnlyDatabaseException.java | 18 + .../kingkong/database/SQLiteSession.java | 570 + .../kingkong/database/SQLiteStatement.java | 131 + .../database/SQLiteStatementInfo.java | 14 + .../database/SQLiteTableLockedException.java | 18 + .../database/SQLiteTransactionListener.java | 16 + .../kingkong/support/CancellationSignal.java | 211 + .../com/tencent/kingkong/support/Context.java | 105 + .../kingkong/support/ICancellationSignal.java | 103 + .../tencent/kingkong/support/LruCache.java | 402 + .../support/OperationCanceledException.java | 18 + .../kingkong/support/PrefixPrinter.java | 35 + .../tencent/kingkong/xposed/ClassUtils.java | 444 + .../kingkong/xposed/DvmPatchInterface.java | 38 + .../com/tencent/kingkong/xposed/IXUnhook.java | 12 + .../kingkong/xposed/XC_MethodHook.java | 114 + .../kingkong/xposed/XC_MethodReplacement.java | 76 + .../tencent/kingkong/xposed/XCallback.java | 128 + .../tencent/kingkong/xposed/XposedBridge.java | 784 + .../kingkong/xposed/XposedHelpers.java | 1459 + .../com/tencent/mm/BuildConfig.java | 12 + .../com/tencent/mm/algorithm/Base64.java | 822 + .../com/tencent/mm/algorithm/LRUMap$1.java | 21 + .../com/tencent/mm/algorithm/LRUMap.java | 189 + .../com/tencent/mm/algorithm/MD5.java | 385 + .../tencent/mm/algorithm/TypeTransform.java | 97 + .../com/tencent/mm/algorithm/UIN.java | 64 + .../tencent/mm/platformtools/CnToSpell.java | 53 + .../tencent/mm/platformtools/SpellMap.java | 73 + .../classes.jar/com/tencent/mm/sdk/Build.java | 16 + .../com/tencent/mm/sdk/ConstantsUI.java | 17 + .../com/tencent/mm/sdk/MMAppMgr.java | 27 + .../tencent/mm/sdk/MMSharedPreferences.java | 273 + .../mm/sdk/channel/ConstantsMMessage.java | 16 + .../com/tencent/mm/sdk/channel/MMessage.java | 94 + .../tencent/mm/sdk/channel/MMessageAct.java | 67 + .../tencent/mm/sdk/channel/MMessageUtil.java | 24 + .../tencent/mm/sdk/channel/package-info.java | 9 + .../mm/sdk/event/EventPoolFactory.java | 39 + .../com/tencent/mm/sdk/event/IEvent.java | 22 + .../com/tencent/mm/sdk/event/IListener.java | 24 + .../com/tencent/mm/sdk/openapi/BaseReq.java | 29 + .../com/tencent/mm/sdk/openapi/BaseResp.java | 45 + .../tencent/mm/sdk/openapi/ConstantsAPI.java | 21 + .../mm/sdk/openapi/GetMessageFromWX.java | 86 + .../com/tencent/mm/sdk/openapi/IWXAPI.java | 30 + .../mm/sdk/openapi/IWXAPIEventHandler.java | 14 + .../com/tencent/mm/sdk/openapi/SendAuth.java | 111 + .../mm/sdk/openapi/SendMessageToWX.java | 89 + .../mm/sdk/openapi/ShowMessageFromWX.java | 72 + .../tencent/mm/sdk/openapi/WXAPIFactory.java | 30 + .../tencent/mm/sdk/openapi/WXApiImplV10.java | 274 + .../mm/sdk/openapi/WXAppExtendObject.java | 96 + .../mm/sdk/openapi/WXAppLaunchData.java | 37 + .../tencent/mm/sdk/openapi/WXEmojiObject.java | 95 + .../tencent/mm/sdk/openapi/WXFileObject.java | 95 + .../tencent/mm/sdk/openapi/WXImageObject.java | 113 + .../mm/sdk/openapi/WXMediaMessage.java | 154 + .../tencent/mm/sdk/openapi/WXMusicObject.java | 60 + .../tencent/mm/sdk/openapi/WXTextObject.java | 51 + .../tencent/mm/sdk/openapi/WXVideoObject.java | 54 + .../mm/sdk/openapi/WXWebpageObject.java | 48 + .../tencent/mm/sdk/openapi/package-info.java | 9 + .../com/tencent/mm/sdk/package-info.java | 9 + .../AnimationHelperImpl21below.java | 21 + .../platformtools/AnimationHelperImpl22.java | 19 + .../platformtools/BackwardSupportUtil.java | 209 + .../mm/sdk/platformtools/BluetoothUtil.java | 34 + .../mm/sdk/platformtools/ChannelUtil.java | 124 + .../mm/sdk/platformtools/CharSequences$1.java | 33 + .../mm/sdk/platformtools/CharSequences$2.java | 36 + .../mm/sdk/platformtools/CharSequences.java | 89 + .../sdk/platformtools/FilePathGenerator.java | 119 + .../mm/sdk/platformtools/FilesCopy.java | 400 + .../mm/sdk/platformtools/InetUtil.java | 50 + .../mm/sdk/platformtools/JpegTools.java | 262 + .../mm/sdk/platformtools/KVConfig.java | 245 + .../mm/sdk/platformtools/LBSManager$1.java | 22 + .../mm/sdk/platformtools/LBSManager.java | 343 + .../mm/sdk/platformtools/LVBuffer.java | 156 + .../mm/sdk/platformtools/LocaleUtil.java | 231 + .../tencent/mm/sdk/platformtools/Log$1.java | 20 + .../com/tencent/mm/sdk/platformtools/Log.java | 281 + .../mm/sdk/platformtools/LogHelper.java | 150 + .../mm/sdk/platformtools/MAlarmHandler.java | 183 + .../tencent/mm/sdk/platformtools/MBuf.java | 38 + .../platformtools/MMApplicationContext.java | 37 + .../mm/sdk/platformtools/MMEntryLock.java | 37 + .../sdk/platformtools/MMHandlerThread$1.java | 33 + .../sdk/platformtools/MMHandlerThread$2.java | 36 + .../platformtools/MMHandlerThread$3$1.java | 18 + .../sdk/platformtools/MMHandlerThread$3.java | 19 + .../mm/sdk/platformtools/MMHandlerThread.java | 171 + .../mm/sdk/platformtools/MTimerHandler.java | 83 + .../mm/sdk/platformtools/NetStatusUtil.java | 729 + .../mm/sdk/platformtools/ObserverPool$1.java | 20 + .../mm/sdk/platformtools/ObserverPool$2.java | 18 + .../mm/sdk/platformtools/ObserverPool.java | 278 + .../platformtools/PhoneStatusWatcher$1.java | 35 + .../sdk/platformtools/PhoneStatusWatcher.java | 66 + .../mm/sdk/platformtools/PhoneUtil.java | 137 + .../sdk/platformtools/PhoneUtil16Impl$1.java | 25 + .../mm/sdk/platformtools/PhoneUtil16Impl.java | 97 + .../sdk/platformtools/PhoneUtil20Impl$1.java | 31 + .../mm/sdk/platformtools/PhoneUtil20Impl.java | 456 + .../platformtools/QueueWorkerThread$1.java | 23 + .../sdk/platformtools/QueueWorkerThread.java | 235 + .../tencent/mm/sdk/platformtools/SemiXml.java | 80 + .../sdk/platformtools/SensorController.java | 124 + .../SmoothScrollToPosition21below.java | 23 + .../SmoothScrollToPosition22.java | 37 + .../mm/sdk/platformtools/SpecilApiUtil.java | 36 + .../mm/sdk/platformtools/SyncTask$1.java | 19 + .../mm/sdk/platformtools/SyncTask.java | 148 + .../mm/sdk/platformtools/SystemProperty.java | 24 + .../mm/sdk/platformtools/TimeLogger.java | 81 + .../mm/sdk/platformtools/TrafficStats.java | 223 + .../tencent/mm/sdk/platformtools/Util$1.java | 19 + .../tencent/mm/sdk/platformtools/Util$2.java | 36 + .../tencent/mm/sdk/platformtools/Util.java | 2272 ++ .../mm/sdk/platformtools/package-info.java | 9 + .../tencent/mm/sdk/plugin/BaseProfile.java | 171 + .../tencent/mm/sdk/plugin/IMMPluginAPI.java | 52 + .../mm/sdk/plugin/MMPluginAPIImpl.java | 185 + .../tencent/mm/sdk/plugin/MMPluginMsg.java | 141 + .../mm/sdk/plugin/MMPluginOAuth$1.java | 20 + .../sdk/plugin/MMPluginOAuth$Receiver$1.java | 18 + .../tencent/mm/sdk/plugin/MMPluginOAuth.java | 153 + .../sdk/plugin/MMPluginProviderConstants.java | 142 + .../tencent/mm/sdk/plugin/MMPluginUtil.java | 17 + .../com/tencent/mm/sdk/plugin/Profile.java | 23 + .../tencent/mm/sdk/plugin/package-info.java | 9 + .../mm/sdk/storage/ContentProviderDB.java | 97 + .../mm/sdk/storage/CursorFieldHelper$1.java | 19 + .../mm/sdk/storage/CursorFieldHelper$10.java | 19 + .../mm/sdk/storage/CursorFieldHelper$11.java | 19 + .../mm/sdk/storage/CursorFieldHelper$12.java | 19 + .../mm/sdk/storage/CursorFieldHelper$13.java | 19 + .../mm/sdk/storage/CursorFieldHelper$14.java | 19 + .../mm/sdk/storage/CursorFieldHelper$15.java | 19 + .../mm/sdk/storage/CursorFieldHelper$16.java | 19 + .../mm/sdk/storage/CursorFieldHelper$17.java | 19 + .../mm/sdk/storage/CursorFieldHelper$18.java | 19 + .../mm/sdk/storage/CursorFieldHelper$19.java | 19 + .../mm/sdk/storage/CursorFieldHelper$2.java | 19 + .../mm/sdk/storage/CursorFieldHelper$20.java | 19 + .../mm/sdk/storage/CursorFieldHelper$21.java | 19 + .../mm/sdk/storage/CursorFieldHelper$22.java | 19 + .../mm/sdk/storage/CursorFieldHelper$23.java | 19 + .../mm/sdk/storage/CursorFieldHelper$24.java | 19 + .../mm/sdk/storage/CursorFieldHelper$25.java | 19 + .../mm/sdk/storage/CursorFieldHelper$26.java | 19 + .../mm/sdk/storage/CursorFieldHelper$27.java | 19 + .../mm/sdk/storage/CursorFieldHelper$28.java | 19 + .../mm/sdk/storage/CursorFieldHelper$3.java | 19 + .../mm/sdk/storage/CursorFieldHelper$4.java | 19 + .../mm/sdk/storage/CursorFieldHelper$5.java | 19 + .../mm/sdk/storage/CursorFieldHelper$6.java | 19 + .../mm/sdk/storage/CursorFieldHelper$7.java | 19 + .../mm/sdk/storage/CursorFieldHelper$8.java | 19 + .../mm/sdk/storage/CursorFieldHelper$9.java | 19 + .../mm/sdk/storage/CursorFieldHelper.java | 374 + .../tencent/mm/sdk/storage/IAutoDBItem.java | 339 + .../mm/sdk/storage/ISQLiteDatabase.java | 27 + .../sdk/storage/MAutoDBFieldAnnotation.java | 16 + .../tencent/mm/sdk/storage/MAutoDBItem.java | 100 + .../tencent/mm/sdk/storage/MAutoStorage.java | 424 + .../com/tencent/mm/sdk/storage/MDBItem.java | 17 + .../tencent/mm/sdk/storage/MStorage$1.java | 13 + .../tencent/mm/sdk/storage/MStorage$2.java | 13 + .../com/tencent/mm/sdk/storage/MStorage.java | 67 + .../mm/sdk/storage/MStorageEvent$1.java | 18 + .../tencent/mm/sdk/storage/MStorageEvent.java | 187 + .../tencent/mm/sdk/storage/package-info.java | 9 + .../com/tencent/qbar/QbarNative$QbarArea.java | 16 + .../com/tencent/qbar/QbarNative.java | 153 + .../com/tencent/qbardemo/MainActivity$1.java | 80 + .../com/tencent/qbardemo/MainActivity$2.java | 22 + .../com/tencent/qbardemo/MainActivity$3.java | 21 + .../com/tencent/qbardemo/MainActivity$4.java | 24 + .../com/tencent/qbardemo/MainActivity$5.java | 26 + .../com/tencent/qbardemo/MainActivity.java | 758 + .../com/tencent/qbardemo/ProcessThread.java | 130 + .../com/tencent/qbardemo/RectView.java | 111 + .../com/tencent/service/DetectType.java | 12 + ...ceServiceDelegate$FaceDetectErrorCode.java | 6 + .../tencent/service/FaceServiceDelegate.java | 14 + .../classes.jar/com/tencent/service/a.java | 18 + .../classes.jar/com/tencent/service/b.java | 53 + .../classes.jar/com/tencent/service/c.java | 9 + .../classes.jar/com/tencent/service/d.java | 12 + .../classes.jar/com/tencent/service/e.java | 160 + .../classes.jar/com/tencent/service/f.java | 73 + .../classes.jar/com/tencent/service/g.java | 18 + .../classes.jar/com/tencent/service/h.java | 27 + .../classes.jar/com/tencent/service/i.java | 198 + .../classes.jar/com/tencent/token/a.java | 593 + .../classes.jar/com/tencent/token/aa.java | 22 + .../classes.jar/com/tencent/token/ab.java | 22 + .../classes.jar/com/tencent/token/ac.java | 22 + .../classes.jar/com/tencent/token/ad.java | 22 + .../classes.jar/com/tencent/token/ae.java | 20 + .../classes.jar/com/tencent/token/af.java | 1879 ++ .../classes.jar/com/tencent/token/ag.java | 177 + .../classes.jar/com/tencent/token/ah.java | 222 + .../classes.jar/com/tencent/token/ai.java | 104 + .../classes.jar/com/tencent/token/aj.java | 35 + .../classes.jar/com/tencent/token/ak.java | 55 + .../classes.jar/com/tencent/token/al.java | 28 + .../classes.jar/com/tencent/token/am.java | 13 + .../classes.jar/com/tencent/token/an.java | 16 + .../classes.jar/com/tencent/token/ao.java | 28 + .../classes.jar/com/tencent/token/ap.java | 322 + .../classes.jar/com/tencent/token/aq.java | 216 + .../classes.jar/com/tencent/token/ar.java | 44 + .../classes.jar/com/tencent/token/as.java | 181 + .../classes.jar/com/tencent/token/at.java | 167 + .../classes.jar/com/tencent/token/au.java | 124 + .../classes.jar/com/tencent/token/av.java | 326 + .../classes.jar/com/tencent/token/aw.java | 85 + .../classes.jar/com/tencent/token/ax.java | 1346 + .../classes.jar/com/tencent/token/ay.java | 16 + .../classes.jar/com/tencent/token/az.java | 19 + .../classes.jar/com/tencent/token/b.java | 268 + .../classes.jar/com/tencent/token/ba.java | 363 + .../classes.jar/com/tencent/token/bb.java | 48 + .../classes.jar/com/tencent/token/bc.java | 217 + .../classes.jar/com/tencent/token/bd.java | 51 + .../classes.jar/com/tencent/token/be.java | 16 + .../classes.jar/com/tencent/token/bf.java | 213 + .../classes.jar/com/tencent/token/bg.java | 16 + .../classes.jar/com/tencent/token/bh.java | 169 + .../classes.jar/com/tencent/token/bi.java | 86 + .../classes.jar/com/tencent/token/bj.java | 298 + .../classes.jar/com/tencent/token/bk.java | 15 + .../classes.jar/com/tencent/token/bl.java | 113 + .../classes.jar/com/tencent/token/bm.java | 193 + .../classes.jar/com/tencent/token/bn.java | 30 + .../classes.jar/com/tencent/token/bo.java | 63 + .../classes.jar/com/tencent/token/bp.java | 14 + .../classes.jar/com/tencent/token/bq.java | 41 + .../classes.jar/com/tencent/token/br.java | 39 + .../classes.jar/com/tencent/token/bs.java | 163 + .../classes.jar/com/tencent/token/bt.java | 116 + .../classes.jar/com/tencent/token/bu.java | 26 + .../classes.jar/com/tencent/token/bv.java | 19 + .../classes.jar/com/tencent/token/bw.java | 140 + .../classes.jar/com/tencent/token/bx.java | 15 + .../classes.jar/com/tencent/token/by.java | 9 + .../classes.jar/com/tencent/token/bz.java | 15 + .../classes.jar/com/tencent/token/c.java | 274 + .../classes.jar/com/tencent/token/ca.java | 106 + .../classes.jar/com/tencent/token/cb.java | 122 + .../classes.jar/com/tencent/token/cc.java | 83 + .../classes.jar/com/tencent/token/cd.java | 141 + .../classes.jar/com/tencent/token/ce.java | 78 + .../classes.jar/com/tencent/token/cf.java | 55 + .../classes.jar/com/tencent/token/cg.java | 80 + .../classes.jar/com/tencent/token/ch.java | 141 + .../classes.jar/com/tencent/token/ci.java | 107 + .../classes.jar/com/tencent/token/cj.java | 95 + .../classes.jar/com/tencent/token/ck.java | 73 + .../classes.jar/com/tencent/token/cl.java | 111 + .../classes.jar/com/tencent/token/cm.java | 79 + .../classes.jar/com/tencent/token/cn.java | 94 + .../classes.jar/com/tencent/token/co.java | 126 + .../core/bean/AbnormalLoginMsgResult.java | 64 + .../token/core/bean/AppRecommendItem.java | 20 + .../token/core/bean/CommonImgResult.java | 24 + .../tencent/token/core/bean/ConfigResult.java | 146 + .../tencent/token/core/bean/DeviceInfo.java | 22 + .../bean/EvalAccountResult$DetailItem.java | 30 + .../bean/EvalAccountResult$RecommendItem.java | 43 + .../token/core/bean/EvalAccountResult.java | 89 + .../core/bean/FaceRecognitionParamResult.java | 28 + .../tencent/token/core/bean/JLAppealInfo.java | 31 + .../bean/JLProtectionInfo$ActivityItem.java | 24 + .../JLProtectionInfo$ProtectionInfoItem.java | 35 + .../token/core/bean/JLProtectionInfo.java | 58 + .../tencent/token/core/bean/JLRoleInfo.java | 24 + .../token/core/bean/JLZone$JLZoneServer.java | 23 + .../com/tencent/token/core/bean/JLZone.java | 19 + .../token/core/bean/LoginProtectResult.java | 43 + .../core/bean/MbInfoResult$MbInfoItem.java | 46 + .../bean/MbInfoResult$MbInfoItemDetail.java | 43 + .../tencent/token/core/bean/MbInfoResult.java | 39 + .../core/bean/NewConfigureCacheItem.java | 39 + .../token/core/bean/OfficalMailResult.java | 18 + .../token/core/bean/OnlineDeviceResult.java | 43 + .../com/tencent/token/core/bean/QQUser.java | 28 + .../token/core/bean/QueryCaptchaResult.java | 39 + .../token/core/bean/RealNameQueryResult.java | 83 + .../token/core/bean/RealNameRegResult.java | 38 + .../token/core/bean/RealNameShakeResult.java | 48 + .../token/core/bean/RealNameStatusResult.java | 112 + .../core/bean/SafeMsgItem$MsgAction.java | 20 + .../tencent/token/core/bean/SafeMsgItem.java | 134 + .../token/core/bean/ScanDataResult.java | 66 + .../SecurityReporterResult$ChartAreas.java | 21 + .../core/bean/SecurityReporterResult.java | 54 + .../UpgradeDeterminResult$QuesInfoItem.java | 26 + .../core/bean/UpgradeDeterminResult.java | 85 + .../token/core/bean/UtilFucntionItem.java | 48 + .../com/tencent/token/core/bean/a.java | 21 + .../com/tencent/token/core/bean/b.java | 101 + .../com/tencent/token/core/bean/c.java | 44 + .../com/tencent/token/core/bean/d.java | 161 + .../com/tencent/token/core/bean/e.java | 42 + .../com/tencent/token/core/bean/f.java | 21 + .../com/tencent/token/core/bean/g.java | 471 + .../com/tencent/token/core/bean/h.java | 259 + .../core/gamelogin/GameLoginService.java | 71 + .../core/push/BootBroadcastReceiver.java | 25 + .../tencent/token/core/push/PushService.java | 261 + .../com/tencent/token/core/push/a.java | 1158 + .../com/tencent/token/core/push/b.java | 15 + .../com/tencent/token/core/push/c.java | 81 + .../com/tencent/token/core/push/d.java | 39 + .../com/tencent/token/core/push/e.java | 187 + .../com/tencent/token/core/push/f.java | 72 + .../com/tencent/token/core/push/g.java | 15 + .../com/tencent/token/core/push/h.java | 15 + .../com/tencent/token/core/push/i.java | 15 + .../com/tencent/token/core/push/j.java | 19 + .../com/tencent/token/core/push/k.java | 14 + .../com/tencent/token/core/push/l.java | 16 + .../classes.jar/com/tencent/token/cp.java | 90 + .../classes.jar/com/tencent/token/cq.java | 73 + .../classes.jar/com/tencent/token/cr.java | 59 + .../classes.jar/com/tencent/token/cs.java | 62 + .../classes.jar/com/tencent/token/ct.java | 59 + .../classes.jar/com/tencent/token/cu.java | 88 + .../classes.jar/com/tencent/token/cv.java | 236 + .../classes.jar/com/tencent/token/cw.java | 122 + .../classes.jar/com/tencent/token/cx.java | 16 + .../classes.jar/com/tencent/token/cy.java | 98 + .../classes.jar/com/tencent/token/cz.java | 51 + .../classes.jar/com/tencent/token/d.java | 317 + .../classes.jar/com/tencent/token/da.java | 49 + .../classes.jar/com/tencent/token/db.java | 124 + .../classes.jar/com/tencent/token/dc.java | 88 + .../classes.jar/com/tencent/token/dd.java | 112 + .../classes.jar/com/tencent/token/de.java | 56 + .../classes.jar/com/tencent/token/df.java | 139 + .../classes.jar/com/tencent/token/dg.java | 154 + .../classes.jar/com/tencent/token/dh.java | 82 + .../classes.jar/com/tencent/token/di.java | 141 + .../classes.jar/com/tencent/token/dj.java | 119 + .../classes.jar/com/tencent/token/dk.java | 112 + .../classes.jar/com/tencent/token/dl.java | 91 + .../classes.jar/com/tencent/token/dm.java | 75 + .../classes.jar/com/tencent/token/dn.java | 22 + .../classes.jar/com/tencent/token/do.java | 75 + .../classes.jar/com/tencent/token/dp.java | 77 + .../classes.jar/com/tencent/token/dq.java | 87 + .../classes.jar/com/tencent/token/dr.java | 107 + .../classes.jar/com/tencent/token/ds.java | 67 + .../classes.jar/com/tencent/token/dt.java | 100 + .../classes.jar/com/tencent/token/du.java | 200 + .../classes.jar/com/tencent/token/dv.java | 65 + .../classes.jar/com/tencent/token/dw.java | 107 + .../classes.jar/com/tencent/token/dx.java | 97 + .../classes.jar/com/tencent/token/dy.java | 73 + .../classes.jar/com/tencent/token/dz.java | 104 + .../classes.jar/com/tencent/token/e.java | 87 + .../classes.jar/com/tencent/token/ea.java | 98 + .../classes.jar/com/tencent/token/eb.java | 103 + .../classes.jar/com/tencent/token/ec.java | 111 + .../classes.jar/com/tencent/token/ed.java | 45 + .../classes.jar/com/tencent/token/ee.java | 91 + .../classes.jar/com/tencent/token/ef.java | 76 + .../classes.jar/com/tencent/token/eg.java | 144 + .../classes.jar/com/tencent/token/eh.java | 213 + .../classes.jar/com/tencent/token/ei.java | 143 + .../classes.jar/com/tencent/token/ej.java | 60 + .../classes.jar/com/tencent/token/ek.java | 78 + .../classes.jar/com/tencent/token/el.java | 16 + .../classes.jar/com/tencent/token/em.java | 72 + .../classes.jar/com/tencent/token/en.java | 69 + .../classes.jar/com/tencent/token/eo.java | 92 + .../classes.jar/com/tencent/token/ep.java | 105 + .../classes.jar/com/tencent/token/eq.java | 74 + .../classes.jar/com/tencent/token/er.java | 223 + .../classes.jar/com/tencent/token/es.java | 118 + .../classes.jar/com/tencent/token/et.java | 82 + .../classes.jar/com/tencent/token/eu.java | 88 + .../classes.jar/com/tencent/token/ev.java | 95 + .../classes.jar/com/tencent/token/ew.java | 121 + .../classes.jar/com/tencent/token/ex.java | 105 + .../classes.jar/com/tencent/token/ey.java | 49 + .../classes.jar/com/tencent/token/ez.java | 78 + .../classes.jar/com/tencent/token/f.java | 13 + .../classes.jar/com/tencent/token/fa.java | 119 + .../classes.jar/com/tencent/token/fb.java | 78 + .../classes.jar/com/tencent/token/fc.java | 210 + .../classes.jar/com/tencent/token/fd.java | 14 + .../classes.jar/com/tencent/token/fe.java | 16 + .../classes.jar/com/tencent/token/ff.java | 247 + .../classes.jar/com/tencent/token/fg.java | 18 + .../classes.jar/com/tencent/token/fh.java | 13 + .../classes.jar/com/tencent/token/fi.java | 19 + .../classes.jar/com/tencent/token/fj.java | 18 + .../classes.jar/com/tencent/token/fk.java | 220 + .../classes.jar/com/tencent/token/fl.java | 244 + .../classes.jar/com/tencent/token/fm.java | 104 + .../classes.jar/com/tencent/token/fn.java | 181 + .../classes.jar/com/tencent/token/fo.java | 378 + .../classes.jar/com/tencent/token/fp.java | 369 + .../classes.jar/com/tencent/token/fq.java | 155 + .../classes.jar/com/tencent/token/fr.java | 37 + .../classes.jar/com/tencent/token/fs.java | 46 + .../classes.jar/com/tencent/token/ft.java | 12 + .../classes.jar/com/tencent/token/fu.java | 1863 ++ .../classes.jar/com/tencent/token/fv.java | 1137 + .../classes.jar/com/tencent/token/fw.java | 25 + .../classes.jar/com/tencent/token/fx.java | 136 + .../classes.jar/com/tencent/token/fy.java | 9 + .../classes.jar/com/tencent/token/fz.java | 160 + .../classes.jar/com/tencent/token/g.java | 285 + .../classes.jar/com/tencent/token/ga.java | 108 + .../classes.jar/com/tencent/token/gb.java | 179 + .../classes.jar/com/tencent/token/gc.java | 64 + .../classes.jar/com/tencent/token/gd.java | 42 + .../classes.jar/com/tencent/token/ge.java | 47 + .../classes.jar/com/tencent/token/gf.java | 22 + .../classes.jar/com/tencent/token/gg.java | 58 + .../classes.jar/com/tencent/token/gh.java | 33 + .../classes.jar/com/tencent/token/gi.java | 54 + .../classes.jar/com/tencent/token/gj.java | 698 + .../classes.jar/com/tencent/token/gk.java | 218 + .../classes.jar/com/tencent/token/gl.java | 861 + .../tencent/token/global/RqdApplication.java | 211 + .../com/tencent/token/global/a.java | 12 + .../com/tencent/token/global/b.java | 220 + .../com/tencent/token/global/c.java | 22 + .../com/tencent/token/global/d.java | 89 + .../com/tencent/token/global/e.java | 93 + .../com/tencent/token/global/f.java | 54 + .../com/tencent/token/global/g.java | 107 + .../classes.jar/com/tencent/token/gm.java | 626 + .../classes.jar/com/tencent/token/gn.java | 199 + .../classes.jar/com/tencent/token/go.java | 24 + .../classes.jar/com/tencent/token/gp.java | 66 + .../classes.jar/com/tencent/token/gq.java | 23 + .../classes.jar/com/tencent/token/gr.java | 1789 ++ .../classes.jar/com/tencent/token/gs.java | 77 + .../classes.jar/com/tencent/token/gt.java | 79 + .../classes.jar/com/tencent/token/gu.java | 14 + .../classes.jar/com/tencent/token/gv.java | 3780 +++ .../classes.jar/com/tencent/token/h.java | 58 + .../classes.jar/com/tencent/token/i.java | 84 + .../classes.jar/com/tencent/token/j.java | 296 + .../classes.jar/com/tencent/token/k.java | 377 + .../classes.jar/com/tencent/token/l.java | 9 + .../classes.jar/com/tencent/token/m.java | 13 + .../classes.jar/com/tencent/token/n.java | 50 + .../classes.jar/com/tencent/token/o.java | 26 + .../classes.jar/com/tencent/token/p.java | 477 + .../classes.jar/com/tencent/token/q.java | 20 + .../classes.jar/com/tencent/token/r.java | 111 + .../classes.jar/com/tencent/token/s.java | 33 + .../classes.jar/com/tencent/token/t.java | 106 + .../classes.jar/com/tencent/token/u.java | 448 + .../token/ui/AbnormalLoginActivity.java | 47 + .../com/tencent/token/ui/AboutActivity.java | 95 + .../token/ui/AccountDetailActivity.java | 11 + .../tencent/token/ui/AccountPageActivity.java | 862 + .../com/tencent/token/ui/AppGuidActivity.java | 30 + .../ui/AssistantRecommendFriendQrcode.java | 59 + .../com/tencent/token/ui/BaseActivity.java | 1319 + .../com/tencent/token/ui/BindUinActivity.java | 231 + .../ui/CheckMobileAvailableActivity.java | 188 + .../token/ui/CommonVerifyActivity.java | 233 + .../token/ui/CorrectTokenActivity.java | 280 + .../token/ui/DetectIDPhotoActivity.java | 191 + .../token/ui/DetectIDPhotoPreview.java | 284 + .../token/ui/EmbedWebBaseActivity.java | 193 + .../token/ui/EnvirChangeListviewActivity.java | 58 + .../token/ui/FaceChangeMobileActivity.java | 30 + .../token/ui/FaceChangePwdIndexActivity.java | 136 + .../com/tencent/token/ui/FacePKActivity.java | 91 + .../token/ui/FacePKCameraActivity.java | 136 + .../token/ui/FacePwdIndexActivity.java | 90 + .../ui/FaceRecognitionAddFaceActivity.java | 21 + .../ui/FaceRecognitionCameraActivity.java | 470 + .../ui/FaceRecognitionCameraActivityOld.java | 493 + .../ui/FaceRecognitionCameraPreview.java | 140 + .../ui/FaceRecognitionCameraPreviewOld.java | 584 + .../ui/FaceRecognitionComfirmActivity.java | 119 + .../ui/FaceRecognitionCreateActivity.java | 110 + .../ui/FaceRecognitionDefaultActivity.java | 127 + .../token/ui/FaceRegCameraActivity.java | 325 + .../token/ui/FaceRegConfirmActivity.java | 79 + .../token/ui/FaceStartVryCameraActivity.java | 350 + .../tencent/token/ui/FindItemsActivity.java | 46 + .../tencent/token/ui/FindPasswdActivity.java | 66 + .../token/ui/FindPasswdH5Activity.java | 50 + .../token/ui/GetBarcodeVerifyMsgActivity.java | 95 + .../token/ui/GetOtherBarcodeActivity.java | 80 + .../com/tencent/token/ui/HelpActivity.java | 92 + .../com/tencent/token/ui/IndexActivity.java | 1485 + .../token/ui/JLAppealListActivity.java | 40 + .../token/ui/JLAppealListDetailActivity.java | 97 + .../com/tencent/token/ui/JLFindItems.java | 198 + .../token/ui/JLFinditemsChooseZone.java | 76 + .../tencent/token/ui/JLFinditemsResult.java | 78 + .../tencent/token/ui/JianLingActivity.java | 187 + .../tencent/token/ui/KnowTokenActivity.java | 164 + .../tencent/token/ui/LoginMsgActivity.java | 326 + .../token/ui/LoginMsgChangePwdActivity.java | 43 + .../token/ui/LoginMsgIpShareActivity.java | 46 + .../ui/LoginMsgReportLocationActivity.java | 135 + .../com/tencent/token/ui/LogoActivity.java | 523 + .../tencent/token/ui/LookNetworkActivity.java | 24 + .../tencent/token/ui/ModifyQQPwdActivity.java | 258 + .../tencent/token/ui/MyMbSubPageActivity.java | 342 + .../token/ui/MyProtecSubPageActivity.java | 339 + .../token/ui/MyPswSubPageActivity.java | 128 + .../ui/NetActiveSetDirBySeqActivity.java | 204 + .../ui/NetActiveVryMobileNoSmsActivity.java | 327 + .../ui/NetActiveVryOtherListActivity.java | 178 + .../token/ui/NetActiveVryQQTokenActivity.java | 228 + .../token/ui/NetActiveVryQuesActivity.java | 346 + .../token/ui/NoCheckWithAuthActivity.java | 76 + .../token/ui/OpMsgDisplayActivity.java | 474 + .../tencent/token/ui/OpreateMsgActivity.java | 299 + .../ui/PCMobileQQVerifyedDevicesActivity.java | 199 + .../token/ui/PushTransitionActivity.java | 47 + .../tencent/token/ui/RealNameActivity.java | 382 + .../token/ui/RealNameDetailActivity.java | 60 + .../token/ui/RealNameFindActivity.java | 317 + .../token/ui/RealNameFindFailActivity.java | 54 + .../token/ui/RealNameFirstJoinActivity.java | 47 + .../token/ui/RealNameGuidActivity.java | 203 + .../token/ui/RealNameProtectActivity.java | 31 + .../ui/RealNameSmsContentTipActivity.java | 322 + .../ui/RealNameStep0VerifyMobileActivity.java | 103 + ...RealNameStep0VerifyMobileDownActivity.java | 361 + .../RealNameStep0VerifyMobileUpActivity.java | 235 + .../ui/RealNameStep1InputNameIdActivity.java | 510 + .../token/ui/RealNameTakeIDPhotoActivity.java | 158 + .../token/ui/RealNameTakeIDPhotoPreview.java | 326 + .../ui/ScanLoginAccountListActivity.java | 83 + .../token/ui/ScanLoginBindActivity.java | 207 + .../ui/ScanLoginConfirmLoginActivity.java | 81 + .../token/ui/ScanLoginSuccActivity.java | 21 + .../token/ui/SecurityReporterActivity.java | 374 + .../token/ui/SelectCountryCodeActivity.java | 109 + .../token/ui/SerialNumberActivity.java | 34 + .../tencent/token/ui/SettingPageActivity.java | 427 + .../ui/SettingSubmitCommentActivity.java | 57 + .../token/ui/SettingTokenActivity.java | 87 + .../com/tencent/token/ui/ShowLogActivity.java | 227 + .../com/tencent/token/ui/SmsActitivity.java | 78 + .../token/ui/SmsContentTipActivity.java | 280 + .../token/ui/StartPwdDigitSelActivity.java | 44 + .../token/ui/StartPwdDigitVerifyActivity.java | 88 + .../ui/StartPwdGestureDeleteActivity.java | 73 + .../ui/StartPwdGestureForgetActivity.java | 164 + .../ui/StartPwdGestureIndexActivity.java | 97 + .../ui/StartPwdGestureModifyActivity.java | 110 + .../token/ui/StartPwdGestureSelActivity.java | 109 + .../ui/StartPwdGestureVerifyActivity.java | 114 + .../token/ui/StartPwdUpdateInfoActivity.java | 54 + .../token/ui/TakeIDPhotoComfirmActivity.java | 49 + .../tencent/token/ui/UnbindUinActivity.java | 260 + .../token/ui/UtilsAccountLockActivity.java | 230 + .../com/tencent/token/ui/UtilsActivity.java | 506 + .../token/ui/UtilsGameLockActivity.java | 215 + .../token/ui/UtilsGameProtectActivity.java | 187 + .../token/ui/UtilsLoginProtectActivity.java | 189 + .../token/ui/UtilsMailProtectActivity.java | 275 + .../tencent/token/ui/UtilsMbInfoActivity.java | 154 + ...MbInfoFeedbackMobileUsingSuccActivity.java | 28 + .../token/ui/UtilsMbInfoItemActivity.java | 296 + .../ui/UtilsModSetMobileStep1Activity.java | 135 + .../ui/UtilsModSetMobileStep2Activity.java | 290 + .../ui/UtilsModSetMobileStep2SmsActivity.java | 224 + .../token/ui/UtilsQbQdProtectActivity.java | 200 + .../token/ui/UtilsTokenLabActivity.java | 121 + .../token/ui/VerifyMobilePhoneActivity.java | 95 + .../token/ui/VerifyStartScanActivity.java | 94 + .../ui/VryMobileForStrategyActivity.java | 311 + .../com/tencent/token/ui/WelcomeActivity.java | 309 + .../token/ui/WidgetTransitionActivity.java | 47 + .../tencent/token/ui/WtLoginAccountInput.java | 424 + .../ui/WtloginFinishNoMibaoActivity.java | 42 + .../token/ui/WtloginSigExpireActivity.java | 77 + .../classes.jar/com/tencent/token/ui/a.java | 23 + .../classes.jar/com/tencent/token/ui/aa.java | 290 + .../classes.jar/com/tencent/token/ui/aaa.java | 38 + .../classes.jar/com/tencent/token/ui/aab.java | 25 + .../classes.jar/com/tencent/token/ui/aac.java | 20 + .../classes.jar/com/tencent/token/ui/aad.java | 76 + .../classes.jar/com/tencent/token/ui/aae.java | 20 + .../classes.jar/com/tencent/token/ui/aaf.java | 21 + .../classes.jar/com/tencent/token/ui/aag.java | 62 + .../classes.jar/com/tencent/token/ui/aah.java | 21 + .../classes.jar/com/tencent/token/ui/aai.java | 16 + .../classes.jar/com/tencent/token/ui/aaj.java | 15 + .../classes.jar/com/tencent/token/ui/aak.java | 58 + .../classes.jar/com/tencent/token/ui/aal.java | 45 + .../classes.jar/com/tencent/token/ui/aam.java | 23 + .../classes.jar/com/tencent/token/ui/aan.java | 24 + .../classes.jar/com/tencent/token/ui/aao.java | 28 + .../classes.jar/com/tencent/token/ui/aap.java | 18 + .../classes.jar/com/tencent/token/ui/aaq.java | 23 + .../classes.jar/com/tencent/token/ui/aar.java | 29 + .../classes.jar/com/tencent/token/ui/aas.java | 262 + .../classes.jar/com/tencent/token/ui/aat.java | 34 + .../classes.jar/com/tencent/token/ui/aau.java | 21 + .../classes.jar/com/tencent/token/ui/aav.java | 21 + .../classes.jar/com/tencent/token/ui/aaw.java | 36 + .../classes.jar/com/tencent/token/ui/aax.java | 23 + .../classes.jar/com/tencent/token/ui/aay.java | 25 + .../classes.jar/com/tencent/token/ui/aaz.java | 52 + .../classes.jar/com/tencent/token/ui/ab.java | 22 + .../classes.jar/com/tencent/token/ui/aba.java | 45 + .../classes.jar/com/tencent/token/ui/abb.java | 22 + .../classes.jar/com/tencent/token/ui/abc.java | 25 + .../classes.jar/com/tencent/token/ui/abd.java | 18 + .../classes.jar/com/tencent/token/ui/abe.java | 27 + .../classes.jar/com/tencent/token/ui/abf.java | 38 + .../classes.jar/com/tencent/token/ui/abg.java | 126 + .../classes.jar/com/tencent/token/ui/abh.java | 22 + .../classes.jar/com/tencent/token/ui/abi.java | 18 + .../classes.jar/com/tencent/token/ui/abj.java | 27 + .../classes.jar/com/tencent/token/ui/abk.java | 31 + .../classes.jar/com/tencent/token/ui/abl.java | 23 + .../classes.jar/com/tencent/token/ui/abm.java | 21 + .../classes.jar/com/tencent/token/ui/abn.java | 27 + .../classes.jar/com/tencent/token/ui/abo.java | 27 + .../classes.jar/com/tencent/token/ui/abp.java | 23 + .../classes.jar/com/tencent/token/ui/abq.java | 23 + .../classes.jar/com/tencent/token/ui/abr.java | 38 + .../classes.jar/com/tencent/token/ui/abs.java | 23 + .../classes.jar/com/tencent/token/ui/abt.java | 52 + .../classes.jar/com/tencent/token/ui/abu.java | 21 + .../classes.jar/com/tencent/token/ui/abv.java | 19 + .../classes.jar/com/tencent/token/ui/abw.java | 30 + .../classes.jar/com/tencent/token/ui/abx.java | 22 + .../classes.jar/com/tencent/token/ui/aby.java | 25 + .../classes.jar/com/tencent/token/ui/abz.java | 75 + .../classes.jar/com/tencent/token/ui/ac.java | 22 + .../classes.jar/com/tencent/token/ui/aca.java | 27 + .../classes.jar/com/tencent/token/ui/acb.java | 27 + .../classes.jar/com/tencent/token/ui/acc.java | 27 + .../classes.jar/com/tencent/token/ui/acd.java | 55 + .../classes.jar/com/tencent/token/ui/ace.java | 45 + .../classes.jar/com/tencent/token/ui/acf.java | 25 + .../classes.jar/com/tencent/token/ui/acg.java | 23 + .../classes.jar/com/tencent/token/ui/ach.java | 23 + .../classes.jar/com/tencent/token/ui/aci.java | 22 + .../classes.jar/com/tencent/token/ui/acj.java | 22 + .../classes.jar/com/tencent/token/ui/ack.java | 58 + .../classes.jar/com/tencent/token/ui/acl.java | 50 + .../classes.jar/com/tencent/token/ui/acm.java | 37 + .../classes.jar/com/tencent/token/ui/acn.java | 17 + .../classes.jar/com/tencent/token/ui/aco.java | 29 + .../classes.jar/com/tencent/token/ui/acp.java | 18 + .../classes.jar/com/tencent/token/ui/acq.java | 156 + .../classes.jar/com/tencent/token/ui/acr.java | 26 + .../classes.jar/com/tencent/token/ui/acs.java | 26 + .../classes.jar/com/tencent/token/ui/act.java | 27 + .../classes.jar/com/tencent/token/ui/acu.java | 21 + .../classes.jar/com/tencent/token/ui/acv.java | 21 + .../classes.jar/com/tencent/token/ui/acw.java | 21 + .../classes.jar/com/tencent/token/ui/acx.java | 18 + .../classes.jar/com/tencent/token/ui/acy.java | 96 + .../classes.jar/com/tencent/token/ui/acz.java | 25 + .../classes.jar/com/tencent/token/ui/ad.java | 31 + .../classes.jar/com/tencent/token/ui/ada.java | 23 + .../classes.jar/com/tencent/token/ui/adb.java | 22 + .../classes.jar/com/tencent/token/ui/adc.java | 23 + .../classes.jar/com/tencent/token/ui/add.java | 21 + .../classes.jar/com/tencent/token/ui/ade.java | 25 + .../classes.jar/com/tencent/token/ui/adf.java | 33 + .../classes.jar/com/tencent/token/ui/adg.java | 43 + .../classes.jar/com/tencent/token/ui/adh.java | 51 + .../classes.jar/com/tencent/token/ui/adi.java | 91 + .../classes.jar/com/tencent/token/ui/adj.java | 21 + .../classes.jar/com/tencent/token/ui/adk.java | 21 + .../classes.jar/com/tencent/token/ui/adl.java | 23 + .../classes.jar/com/tencent/token/ui/adm.java | 23 + .../classes.jar/com/tencent/token/ui/adn.java | 24 + .../classes.jar/com/tencent/token/ui/ado.java | 38 + .../classes.jar/com/tencent/token/ui/adp.java | 21 + .../classes.jar/com/tencent/token/ui/adq.java | 26 + .../classes.jar/com/tencent/token/ui/adr.java | 109 + .../classes.jar/com/tencent/token/ui/ads.java | 23 + .../classes.jar/com/tencent/token/ui/adt.java | 33 + .../classes.jar/com/tencent/token/ui/adu.java | 32 + .../classes.jar/com/tencent/token/ui/adv.java | 25 + .../classes.jar/com/tencent/token/ui/adw.java | 23 + .../classes.jar/com/tencent/token/ui/adx.java | 66 + .../classes.jar/com/tencent/token/ui/ady.java | 23 + .../classes.jar/com/tencent/token/ui/adz.java | 25 + .../classes.jar/com/tencent/token/ui/ae.java | 22 + .../classes.jar/com/tencent/token/ui/aea.java | 23 + .../classes.jar/com/tencent/token/ui/aeb.java | 22 + .../classes.jar/com/tencent/token/ui/aec.java | 167 + .../classes.jar/com/tencent/token/ui/aed.java | 24 + .../classes.jar/com/tencent/token/ui/aee.java | 27 + .../classes.jar/com/tencent/token/ui/aef.java | 25 + .../classes.jar/com/tencent/token/ui/aeg.java | 23 + .../classes.jar/com/tencent/token/ui/aeh.java | 22 + .../classes.jar/com/tencent/token/ui/aei.java | 25 + .../classes.jar/com/tencent/token/ui/aej.java | 29 + .../classes.jar/com/tencent/token/ui/aek.java | 22 + .../classes.jar/com/tencent/token/ui/ael.java | 28 + .../classes.jar/com/tencent/token/ui/aem.java | 153 + .../classes.jar/com/tencent/token/ui/aen.java | 24 + .../classes.jar/com/tencent/token/ui/aeo.java | 21 + .../classes.jar/com/tencent/token/ui/aep.java | 22 + .../classes.jar/com/tencent/token/ui/aeq.java | 22 + .../classes.jar/com/tencent/token/ui/aer.java | 43 + .../classes.jar/com/tencent/token/ui/aes.java | 27 + .../classes.jar/com/tencent/token/ui/aet.java | 21 + .../classes.jar/com/tencent/token/ui/aeu.java | 25 + .../classes.jar/com/tencent/token/ui/aev.java | 22 + .../classes.jar/com/tencent/token/ui/aew.java | 45 + .../classes.jar/com/tencent/token/ui/aex.java | 22 + .../classes.jar/com/tencent/token/ui/aey.java | 21 + .../classes.jar/com/tencent/token/ui/aez.java | 68 + .../classes.jar/com/tencent/token/ui/af.java | 22 + .../classes.jar/com/tencent/token/ui/afa.java | 21 + .../classes.jar/com/tencent/token/ui/afb.java | 22 + .../classes.jar/com/tencent/token/ui/afc.java | 62 + .../classes.jar/com/tencent/token/ui/afd.java | 24 + .../classes.jar/com/tencent/token/ui/afe.java | 21 + .../classes.jar/com/tencent/token/ui/aff.java | 22 + .../classes.jar/com/tencent/token/ui/afg.java | 64 + .../classes.jar/com/tencent/token/ui/afh.java | 29 + .../classes.jar/com/tencent/token/ui/afi.java | 23 + .../classes.jar/com/tencent/token/ui/afj.java | 24 + .../classes.jar/com/tencent/token/ui/afk.java | 80 + .../classes.jar/com/tencent/token/ui/afl.java | 18 + .../classes.jar/com/tencent/token/ui/afm.java | 147 + .../classes.jar/com/tencent/token/ui/afn.java | 29 + .../classes.jar/com/tencent/token/ui/afo.java | 23 + .../classes.jar/com/tencent/token/ui/afp.java | 23 + .../classes.jar/com/tencent/token/ui/afq.java | 188 + .../classes.jar/com/tencent/token/ui/afr.java | 18 + .../classes.jar/com/tencent/token/ui/afs.java | 18 + .../classes.jar/com/tencent/token/ui/aft.java | 25 + .../classes.jar/com/tencent/token/ui/afu.java | 21 + .../classes.jar/com/tencent/token/ui/afv.java | 80 + .../classes.jar/com/tencent/token/ui/afw.java | 27 + .../classes.jar/com/tencent/token/ui/afx.java | 22 + .../classes.jar/com/tencent/token/ui/afy.java | 37 + .../classes.jar/com/tencent/token/ui/afz.java | 24 + .../classes.jar/com/tencent/token/ui/ag.java | 26 + .../classes.jar/com/tencent/token/ui/aga.java | 58 + .../classes.jar/com/tencent/token/ui/agb.java | 25 + .../classes.jar/com/tencent/token/ui/agc.java | 29 + .../classes.jar/com/tencent/token/ui/agd.java | 32 + .../classes.jar/com/tencent/token/ui/age.java | 18 + .../classes.jar/com/tencent/token/ui/agf.java | 22 + .../classes.jar/com/tencent/token/ui/agg.java | 62 + .../classes.jar/com/tencent/token/ui/agh.java | 22 + .../classes.jar/com/tencent/token/ui/agi.java | 23 + .../classes.jar/com/tencent/token/ui/agj.java | 21 + .../classes.jar/com/tencent/token/ui/agk.java | 22 + .../classes.jar/com/tencent/token/ui/agl.java | 25 + .../classes.jar/com/tencent/token/ui/agm.java | 22 + .../classes.jar/com/tencent/token/ui/agn.java | 20 + .../classes.jar/com/tencent/token/ui/ago.java | 70 + .../classes.jar/com/tencent/token/ui/agp.java | 26 + .../classes.jar/com/tencent/token/ui/agq.java | 25 + .../classes.jar/com/tencent/token/ui/agr.java | 23 + .../classes.jar/com/tencent/token/ui/ags.java | 23 + .../classes.jar/com/tencent/token/ui/agt.java | 23 + .../classes.jar/com/tencent/token/ui/agu.java | 34 + .../classes.jar/com/tencent/token/ui/agv.java | 73 + .../classes.jar/com/tencent/token/ui/agw.java | 24 + .../classes.jar/com/tencent/token/ui/agx.java | 25 + .../classes.jar/com/tencent/token/ui/agy.java | 40 + .../classes.jar/com/tencent/token/ui/agz.java | 88 + .../classes.jar/com/tencent/token/ui/ah.java | 25 + .../classes.jar/com/tencent/token/ui/aha.java | 15 + .../classes.jar/com/tencent/token/ui/ahb.java | 273 + .../classes.jar/com/tencent/token/ui/ahc.java | 22 + .../classes.jar/com/tencent/token/ui/ahd.java | 22 + .../classes.jar/com/tencent/token/ui/ahe.java | 21 + .../classes.jar/com/tencent/token/ui/ahf.java | 24 + .../classes.jar/com/tencent/token/ui/ahg.java | 80 + .../classes.jar/com/tencent/token/ui/ahh.java | 25 + .../classes.jar/com/tencent/token/ui/ahi.java | 63 + .../classes.jar/com/tencent/token/ui/ahj.java | 40 + .../classes.jar/com/tencent/token/ui/ahk.java | 38 + .../classes.jar/com/tencent/token/ui/ahl.java | 37 + .../classes.jar/com/tencent/token/ui/ahm.java | 29 + .../classes.jar/com/tencent/token/ui/ahn.java | 22 + .../classes.jar/com/tencent/token/ui/aho.java | 113 + .../classes.jar/com/tencent/token/ui/ahp.java | 25 + .../classes.jar/com/tencent/token/ui/ahq.java | 38 + .../classes.jar/com/tencent/token/ui/ahr.java | 36 + .../classes.jar/com/tencent/token/ui/ahs.java | 102 + .../classes.jar/com/tencent/token/ui/aht.java | 18 + .../classes.jar/com/tencent/token/ui/ai.java | 25 + .../classes.jar/com/tencent/token/ui/aj.java | 25 + .../classes.jar/com/tencent/token/ui/ak.java | 239 + .../classes.jar/com/tencent/token/ui/al.java | 21 + .../classes.jar/com/tencent/token/ui/am.java | 26 + .../classes.jar/com/tencent/token/ui/an.java | 56 + .../classes.jar/com/tencent/token/ui/ao.java | 61 + .../classes.jar/com/tencent/token/ui/ap.java | 47 + .../classes.jar/com/tencent/token/ui/aq.java | 49 + .../classes.jar/com/tencent/token/ui/ar.java | 34 + .../classes.jar/com/tencent/token/ui/as.java | 44 + .../classes.jar/com/tencent/token/ui/at.java | 18 + .../classes.jar/com/tencent/token/ui/au.java | 22 + .../classes.jar/com/tencent/token/ui/av.java | 21 + .../classes.jar/com/tencent/token/ui/aw.java | 22 + .../classes.jar/com/tencent/token/ui/ax.java | 23 + .../classes.jar/com/tencent/token/ui/ay.java | 21 + .../classes.jar/com/tencent/token/ui/az.java | 23 + .../classes.jar/com/tencent/token/ui/b.java | 238 + .../classes.jar/com/tencent/token/ui/ba.java | 21 + .../ui/base/AccountManagerMenuDialog.java | 102 + .../token/ui/base/CameraPrepareDialog.java | 45 + .../tencent/token/ui/base/CaptchaDialog.java | 146 + .../ui/base/CommonActionSheetDialog.java | 72 + .../token/ui/base/DualMsgShowDialog.java | 128 + .../tencent/token/ui/base/DualMsgView.java | 224 + .../com/tencent/token/ui/base/ErrorView.java | 75 + .../tencent/token/ui/base/ExtendButton.java | 51 + .../token/ui/base/ExtendRelativeLayout.java | 61 + .../tencent/token/ui/base/FaceImageView.java | 181 + .../token/ui/base/FacePwdVerifySelDialog.java | 45 + .../com/tencent/token/ui/base/FaceView.java | 534 + .../ui/base/GameLoginSndConfirmDialog.java | 57 + .../ui/base/GameLoginSndConfirmView.java | 232 + .../token/ui/base/HorizontialListView.java | 266 + .../token/ui/base/IntroLoginMsgDialog.java | 71 + .../token/ui/base/LockPatternSmallView.java | 203 + .../token/ui/base/LockPatternVerifyView.java | 249 + .../ui/base/LockPatternView$DisplayMode.java | 6 + .../token/ui/base/LockPatternView.java | 774 + .../token/ui/base/LoginMsgMenuDialog.java | 44 + .../ui/base/LoginMsgRightLetterView.java | 102 + .../tencent/token/ui/base/MyViewPaper.java | 47 + .../com/tencent/token/ui/base/ProDialog.java | 48 + .../token/ui/base/ProDialogWithShutDown.java | 66 + .../PullToRefreshLinearLayout$Status.java | 6 + .../ui/base/PullToRefreshLinearLayout.java | 202 + .../token/ui/base/PullToRefreshListView.java | 294 + .../tencent/token/ui/base/RecordTextView.java | 62 + .../tencent/token/ui/base/RoundImageView.java | 99 + .../tencent/token/ui/base/SafeListView.java | 80 + .../tencent/token/ui/base/ScrollLayout.java | 221 + .../token/ui/base/SecondVerifyDialog.java | 81 + .../token/ui/base/SlidingMenuView.java | 371 + .../tencent/token/ui/base/SwitchButton.java | 294 + .../token/ui/base/TitleOptionMenu.java | 122 + .../ui/base/UtilsAccountLockTipDialog.java | 39 + .../token/ui/base/WtloginCaptchaDialog.java | 119 + .../com/tencent/token/ui/base/a.java | 75 + .../com/tencent/token/ui/base/aa.java | 26 + .../com/tencent/token/ui/base/ab.java | 80 + .../com/tencent/token/ui/base/ac.java | 27 + .../com/tencent/token/ui/base/ad.java | 28 + .../com/tencent/token/ui/base/ae.java | 28 + .../com/tencent/token/ui/base/af.java | 98 + .../com/tencent/token/ui/base/ag.java | 22 + .../com/tencent/token/ui/base/ah.java | 22 + .../com/tencent/token/ui/base/ai.java | 27 + .../com/tencent/token/ui/base/aj.java | 60 + .../com/tencent/token/ui/base/ak.java | 22 + .../com/tencent/token/ui/base/al.java | 22 + .../com/tencent/token/ui/base/am.java | 26 + .../com/tencent/token/ui/base/an.java | 27 + .../com/tencent/token/ui/base/ao.java | 24 + .../com/tencent/token/ui/base/ap.java | 21 + .../com/tencent/token/ui/base/aq.java | 21 + .../com/tencent/token/ui/base/ar.java | 18 + .../com/tencent/token/ui/base/as.java | 57 + .../com/tencent/token/ui/base/at.java | 22 + .../com/tencent/token/ui/base/au.java | 59 + .../com/tencent/token/ui/base/av.java | 28 + .../com/tencent/token/ui/base/aw.java | 30 + .../com/tencent/token/ui/base/ax.java | 28 + .../com/tencent/token/ui/base/ay.java | 24 + .../com/tencent/token/ui/base/az.java | 16 + .../com/tencent/token/ui/base/b.java | 44 + .../com/tencent/token/ui/base/ba.java | 116 + .../com/tencent/token/ui/base/bb.java | 160 + .../com/tencent/token/ui/base/bc.java | 33 + .../com/tencent/token/ui/base/bd.java | 18 + .../com/tencent/token/ui/base/be.java | 70 + .../com/tencent/token/ui/base/bf.java | 73 + .../com/tencent/token/ui/base/bg.java | 25 + .../com/tencent/token/ui/base/bh.java | 89 + .../com/tencent/token/ui/base/bi.java | 127 + .../com/tencent/token/ui/base/bj.java | 21 + .../com/tencent/token/ui/base/bk.java | 39 + .../com/tencent/token/ui/base/bl.java | 21 + .../com/tencent/token/ui/base/bm.java | 24 + .../com/tencent/token/ui/base/bn.java | 83 + .../com/tencent/token/ui/base/bo.java | 27 + .../com/tencent/token/ui/base/bp.java | 131 + .../com/tencent/token/ui/base/bq.java | 22 + .../com/tencent/token/ui/base/br.java | 25 + .../com/tencent/token/ui/base/bs.java | 19 + .../com/tencent/token/ui/base/bt.java | 22 + .../com/tencent/token/ui/base/bu.java | 28 + .../com/tencent/token/ui/base/bv.java | 18 + .../com/tencent/token/ui/base/bw.java | 39 + .../com/tencent/token/ui/base/bx.java | 31 + .../com/tencent/token/ui/base/by.java | 28 + .../com/tencent/token/ui/base/bz.java | 16 + .../com/tencent/token/ui/base/c.java | 21 + .../com/tencent/token/ui/base/ca.java | 78 + .../com/tencent/token/ui/base/cb.java | 20 + .../com/tencent/token/ui/base/cc.java | 9 + .../com/tencent/token/ui/base/cd.java | 12 + .../com/tencent/token/ui/base/ce.java | 117 + .../com/tencent/token/ui/base/cf.java | 214 + .../com/tencent/token/ui/base/cg.java | 16 + .../com/tencent/token/ui/base/ch.java | 165 + .../com/tencent/token/ui/base/ci.java | 151 + .../com/tencent/token/ui/base/cj.java | 235 + .../com/tencent/token/ui/base/ck.java | 252 + .../com/tencent/token/ui/base/cl.java | 21 + .../com/tencent/token/ui/base/cm.java | 21 + .../com/tencent/token/ui/base/cn.java | 25 + .../com/tencent/token/ui/base/co.java | 90 + .../com/tencent/token/ui/base/cp.java | 12 + .../com/tencent/token/ui/base/cq.java | 12 + .../com/tencent/token/ui/base/cr.java | 23 + .../com/tencent/token/ui/base/cs.java | 52 + .../com/tencent/token/ui/base/ct.java | 9 + .../com/tencent/token/ui/base/cu.java | 64 + .../com/tencent/token/ui/base/cv.java | 12 + .../com/tencent/token/ui/base/cw.java | 35 + .../com/tencent/token/ui/base/cx.java | 15 + .../com/tencent/token/ui/base/cy.java | 30 + .../com/tencent/token/ui/base/cz.java | 20 + .../com/tencent/token/ui/base/d.java | 18 + .../com/tencent/token/ui/base/da.java | 12 + .../com/tencent/token/ui/base/db.java | 18 + .../com/tencent/token/ui/base/dc.java | 18 + .../com/tencent/token/ui/base/dd.java | 22 + .../com/tencent/token/ui/base/de.java | 24 + .../com/tencent/token/ui/base/df.java | 27 + .../com/tencent/token/ui/base/dg.java | 25 + .../com/tencent/token/ui/base/dh.java | 12 + .../com/tencent/token/ui/base/di.java | 21 + .../com/tencent/token/ui/base/dj.java | 37 + .../com/tencent/token/ui/base/dk.java | 127 + .../com/tencent/token/ui/base/dl.java | 126 + .../com/tencent/token/ui/base/dm.java | 21 + .../com/tencent/token/ui/base/dn.java | 39 + .../com/tencent/token/ui/base/do.java | 21 + .../com/tencent/token/ui/base/dp.java | 24 + .../com/tencent/token/ui/base/dq.java | 83 + .../com/tencent/token/ui/base/dr.java | 27 + .../com/tencent/token/ui/base/ds.java | 80 + .../com/tencent/token/ui/base/dt.java | 52 + .../com/tencent/token/ui/base/du.java | 28 + .../com/tencent/token/ui/base/dv.java | 24 + .../com/tencent/token/ui/base/dw.java | 12 + .../com/tencent/token/ui/base/dx.java | 92 + .../com/tencent/token/ui/base/dy.java | 39 + .../com/tencent/token/ui/base/dz.java | 23 + .../com/tencent/token/ui/base/e.java | 49 + .../com/tencent/token/ui/base/f.java | 21 + .../com/tencent/token/ui/base/g.java | 21 + .../com/tencent/token/ui/base/h.java | 21 + .../com/tencent/token/ui/base/i.java | 12 + .../com/tencent/token/ui/base/j.java | 41 + .../com/tencent/token/ui/base/k.java | 16 + .../com/tencent/token/ui/base/l.java | 25 + .../com/tencent/token/ui/base/m.java | 71 + .../com/tencent/token/ui/base/n.java | 21 + .../com/tencent/token/ui/base/o.java | 21 + .../com/tencent/token/ui/base/p.java | 18 + .../com/tencent/token/ui/base/q.java | 36 + .../com/tencent/token/ui/base/r.java | 29 + .../com/tencent/token/ui/base/s.java | 57 + .../com/tencent/token/ui/base/t.java | 22 + .../com/tencent/token/ui/base/u.java | 59 + .../com/tencent/token/ui/base/v.java | 28 + .../com/tencent/token/ui/base/w.java | 30 + .../com/tencent/token/ui/base/x.java | 28 + .../com/tencent/token/ui/base/y.java | 24 + .../com/tencent/token/ui/base/z.java | 14 + .../classes.jar/com/tencent/token/ui/bb.java | 21 + .../classes.jar/com/tencent/token/ui/bc.java | 30 + .../classes.jar/com/tencent/token/ui/bd.java | 122 + .../classes.jar/com/tencent/token/ui/be.java | 21 + .../classes.jar/com/tencent/token/ui/bf.java | 21 + .../classes.jar/com/tencent/token/ui/bg.java | 25 + .../classes.jar/com/tencent/token/ui/bh.java | 21 + .../classes.jar/com/tencent/token/ui/bi.java | 24 + .../classes.jar/com/tencent/token/ui/bj.java | 18 + .../classes.jar/com/tencent/token/ui/bk.java | 23 + .../classes.jar/com/tencent/token/ui/bl.java | 23 + .../classes.jar/com/tencent/token/ui/bm.java | 23 + .../classes.jar/com/tencent/token/ui/bn.java | 21 + .../classes.jar/com/tencent/token/ui/bo.java | 18 + .../classes.jar/com/tencent/token/ui/bp.java | 35 + .../classes.jar/com/tencent/token/ui/bq.java | 145 + .../classes.jar/com/tencent/token/ui/br.java | 25 + .../classes.jar/com/tencent/token/ui/bs.java | 31 + .../classes.jar/com/tencent/token/ui/bt.java | 36 + .../classes.jar/com/tencent/token/ui/bu.java | 23 + .../classes.jar/com/tencent/token/ui/bv.java | 18 + .../classes.jar/com/tencent/token/ui/bw.java | 130 + .../classes.jar/com/tencent/token/ui/bx.java | 39 + .../classes.jar/com/tencent/token/ui/by.java | 54 + .../classes.jar/com/tencent/token/ui/bz.java | 23 + .../classes.jar/com/tencent/token/ui/c.java | 25 + .../classes.jar/com/tencent/token/ui/ca.java | 18 + .../classes.jar/com/tencent/token/ui/cb.java | 21 + .../classes.jar/com/tencent/token/ui/cc.java | 135 + .../classes.jar/com/tencent/token/ui/cd.java | 21 + .../classes.jar/com/tencent/token/ui/ce.java | 21 + .../classes.jar/com/tencent/token/ui/cf.java | 24 + .../classes.jar/com/tencent/token/ui/cg.java | 80 + .../classes.jar/com/tencent/token/ui/ch.java | 26 + .../classes.jar/com/tencent/token/ui/ci.java | 24 + .../classes.jar/com/tencent/token/ui/cj.java | 27 + .../classes.jar/com/tencent/token/ui/ck.java | 22 + .../classes.jar/com/tencent/token/ui/cl.java | 31 + .../classes.jar/com/tencent/token/ui/cm.java | 30 + .../classes.jar/com/tencent/token/ui/cn.java | 26 + .../classes.jar/com/tencent/token/ui/co.java | 25 + .../classes.jar/com/tencent/token/ui/cp.java | 21 + .../classes.jar/com/tencent/token/ui/cq.java | 23 + .../classes.jar/com/tencent/token/ui/cr.java | 46 + .../classes.jar/com/tencent/token/ui/cs.java | 22 + .../classes.jar/com/tencent/token/ui/ct.java | 382 + .../classes.jar/com/tencent/token/ui/cu.java | 20 + .../classes.jar/com/tencent/token/ui/cv.java | 22 + .../classes.jar/com/tencent/token/ui/cw.java | 21 + .../classes.jar/com/tencent/token/ui/cx.java | 24 + .../classes.jar/com/tencent/token/ui/cy.java | 26 + .../classes.jar/com/tencent/token/ui/cz.java | 95 + .../classes.jar/com/tencent/token/ui/d.java | 24 + .../classes.jar/com/tencent/token/ui/da.java | 27 + .../classes.jar/com/tencent/token/ui/db.java | 30 + .../classes.jar/com/tencent/token/ui/dc.java | 27 + .../classes.jar/com/tencent/token/ui/dd.java | 35 + .../classes.jar/com/tencent/token/ui/de.java | 82 + .../classes.jar/com/tencent/token/ui/df.java | 34 + .../classes.jar/com/tencent/token/ui/dg.java | 46 + .../classes.jar/com/tencent/token/ui/dh.java | 30 + .../classes.jar/com/tencent/token/ui/di.java | 40 + .../classes.jar/com/tencent/token/ui/dj.java | 22 + .../classes.jar/com/tencent/token/ui/dk.java | 21 + .../classes.jar/com/tencent/token/ui/dl.java | 28 + .../classes.jar/com/tencent/token/ui/dm.java | 21 + .../classes.jar/com/tencent/token/ui/dn.java | 69 + .../classes.jar/com/tencent/token/ui/do.java | 82 + .../classes.jar/com/tencent/token/ui/dp.java | 35 + .../classes.jar/com/tencent/token/ui/dq.java | 39 + .../classes.jar/com/tencent/token/ui/dr.java | 30 + .../classes.jar/com/tencent/token/ui/ds.java | 39 + .../classes.jar/com/tencent/token/ui/dt.java | 18 + .../classes.jar/com/tencent/token/ui/du.java | 30 + .../classes.jar/com/tencent/token/ui/dv.java | 34 + .../classes.jar/com/tencent/token/ui/dw.java | 43 + .../classes.jar/com/tencent/token/ui/dx.java | 98 + .../classes.jar/com/tencent/token/ui/dy.java | 23 + .../classes.jar/com/tencent/token/ui/dz.java | 18 + .../classes.jar/com/tencent/token/ui/e.java | 23 + .../classes.jar/com/tencent/token/ui/ea.java | 44 + .../classes.jar/com/tencent/token/ui/eb.java | 35 + .../classes.jar/com/tencent/token/ui/ec.java | 81 + .../classes.jar/com/tencent/token/ui/ed.java | 34 + .../classes.jar/com/tencent/token/ui/ee.java | 102 + .../classes.jar/com/tencent/token/ui/ef.java | 21 + .../classes.jar/com/tencent/token/ui/eg.java | 26 + .../classes.jar/com/tencent/token/ui/eh.java | 21 + .../classes.jar/com/tencent/token/ui/ei.java | 22 + .../classes.jar/com/tencent/token/ui/ej.java | 30 + .../classes.jar/com/tencent/token/ui/ek.java | 31 + .../classes.jar/com/tencent/token/ui/el.java | 18 + .../classes.jar/com/tencent/token/ui/em.java | 18 + .../classes.jar/com/tencent/token/ui/en.java | 65 + .../classes.jar/com/tencent/token/ui/eo.java | 23 + .../classes.jar/com/tencent/token/ui/ep.java | 81 + .../classes.jar/com/tencent/token/ui/eq.java | 24 + .../classes.jar/com/tencent/token/ui/er.java | 31 + .../classes.jar/com/tencent/token/ui/es.java | 278 + .../classes.jar/com/tencent/token/ui/et.java | 25 + .../classes.jar/com/tencent/token/ui/eu.java | 21 + .../classes.jar/com/tencent/token/ui/ev.java | 21 + .../classes.jar/com/tencent/token/ui/ew.java | 21 + .../classes.jar/com/tencent/token/ui/ex.java | 21 + .../classes.jar/com/tencent/token/ui/ey.java | 21 + .../classes.jar/com/tencent/token/ui/ez.java | 21 + .../classes.jar/com/tencent/token/ui/f.java | 22 + .../classes.jar/com/tencent/token/ui/fa.java | 21 + .../classes.jar/com/tencent/token/ui/fb.java | 21 + .../classes.jar/com/tencent/token/ui/fc.java | 21 + .../classes.jar/com/tencent/token/ui/fd.java | 21 + .../classes.jar/com/tencent/token/ui/fe.java | 26 + .../classes.jar/com/tencent/token/ui/ff.java | 21 + .../classes.jar/com/tencent/token/ui/fg.java | 21 + .../classes.jar/com/tencent/token/ui/fh.java | 26 + .../classes.jar/com/tencent/token/ui/fi.java | 22 + .../classes.jar/com/tencent/token/ui/fj.java | 21 + .../classes.jar/com/tencent/token/ui/fk.java | 21 + .../classes.jar/com/tencent/token/ui/fl.java | 24 + .../classes.jar/com/tencent/token/ui/fm.java | 21 + .../classes.jar/com/tencent/token/ui/fn.java | 34 + .../classes.jar/com/tencent/token/ui/fo.java | 21 + .../classes.jar/com/tencent/token/ui/fp.java | 24 + .../classes.jar/com/tencent/token/ui/fq.java | 24 + .../classes.jar/com/tencent/token/ui/fr.java | 21 + .../classes.jar/com/tencent/token/ui/fs.java | 27 + .../classes.jar/com/tencent/token/ui/ft.java | 27 + .../classes.jar/com/tencent/token/ui/fu.java | 21 + .../classes.jar/com/tencent/token/ui/fv.java | 24 + .../classes.jar/com/tencent/token/ui/fw.java | 24 + .../classes.jar/com/tencent/token/ui/fx.java | 23 + .../classes.jar/com/tencent/token/ui/fy.java | 23 + .../classes.jar/com/tencent/token/ui/fz.java | 411 + .../classes.jar/com/tencent/token/ui/g.java | 22 + .../classes.jar/com/tencent/token/ui/ga.java | 25 + .../classes.jar/com/tencent/token/ui/gb.java | 34 + .../classes.jar/com/tencent/token/ui/gc.java | 21 + .../classes.jar/com/tencent/token/ui/gd.java | 24 + .../classes.jar/com/tencent/token/ui/ge.java | 24 + .../classes.jar/com/tencent/token/ui/gf.java | 21 + .../classes.jar/com/tencent/token/ui/gg.java | 23 + .../classes.jar/com/tencent/token/ui/gh.java | 23 + .../classes.jar/com/tencent/token/ui/gi.java | 23 + .../classes.jar/com/tencent/token/ui/gj.java | 21 + .../classes.jar/com/tencent/token/ui/gk.java | 21 + .../classes.jar/com/tencent/token/ui/gl.java | 21 + .../classes.jar/com/tencent/token/ui/gm.java | 21 + .../classes.jar/com/tencent/token/ui/gn.java | 23 + .../classes.jar/com/tencent/token/ui/go.java | 21 + .../classes.jar/com/tencent/token/ui/gp.java | 21 + .../classes.jar/com/tencent/token/ui/gq.java | 26 + .../classes.jar/com/tencent/token/ui/gr.java | 21 + .../classes.jar/com/tencent/token/ui/gs.java | 23 + .../classes.jar/com/tencent/token/ui/gt.java | 24 + .../classes.jar/com/tencent/token/ui/gu.java | 24 + .../classes.jar/com/tencent/token/ui/gv.java | 24 + .../classes.jar/com/tencent/token/ui/gw.java | 33 + .../classes.jar/com/tencent/token/ui/gx.java | 21 + .../classes.jar/com/tencent/token/ui/gy.java | 24 + .../classes.jar/com/tencent/token/ui/gz.java | 24 + .../classes.jar/com/tencent/token/ui/h.java | 22 + .../classes.jar/com/tencent/token/ui/ha.java | 21 + .../classes.jar/com/tencent/token/ui/hb.java | 18 + .../classes.jar/com/tencent/token/ui/hc.java | 31 + .../classes.jar/com/tencent/token/ui/hd.java | 18 + .../classes.jar/com/tencent/token/ui/he.java | 21 + .../classes.jar/com/tencent/token/ui/hf.java | 24 + .../classes.jar/com/tencent/token/ui/hg.java | 22 + .../classes.jar/com/tencent/token/ui/hh.java | 30 + .../classes.jar/com/tencent/token/ui/hi.java | 18 + .../classes.jar/com/tencent/token/ui/hj.java | 23 + .../classes.jar/com/tencent/token/ui/hk.java | 22 + .../classes.jar/com/tencent/token/ui/hl.java | 31 + .../classes.jar/com/tencent/token/ui/hm.java | 18 + .../classes.jar/com/tencent/token/ui/hn.java | 29 + .../classes.jar/com/tencent/token/ui/ho.java | 29 + .../classes.jar/com/tencent/token/ui/hp.java | 29 + .../classes.jar/com/tencent/token/ui/hq.java | 26 + .../classes.jar/com/tencent/token/ui/hr.java | 37 + .../classes.jar/com/tencent/token/ui/hs.java | 30 + .../classes.jar/com/tencent/token/ui/ht.java | 28 + .../classes.jar/com/tencent/token/ui/hu.java | 50 + .../classes.jar/com/tencent/token/ui/hv.java | 221 + .../classes.jar/com/tencent/token/ui/hw.java | 21 + .../classes.jar/com/tencent/token/ui/hx.java | 1029 + .../classes.jar/com/tencent/token/ui/hy.java | 32 + .../classes.jar/com/tencent/token/ui/hz.java | 38 + .../classes.jar/com/tencent/token/ui/i.java | 15 + .../classes.jar/com/tencent/token/ui/ia.java | 9 + .../classes.jar/com/tencent/token/ui/ib.java | 24 + .../classes.jar/com/tencent/token/ui/ic.java | 22 + .../classes.jar/com/tencent/token/ui/id.java | 22 + .../classes.jar/com/tencent/token/ui/ie.java | 23 + .../classes.jar/com/tencent/token/ui/if.java | 22 + .../classes.jar/com/tencent/token/ui/ig.java | 22 + .../classes.jar/com/tencent/token/ui/ih.java | 21 + .../classes.jar/com/tencent/token/ui/ii.java | 31 + .../classes.jar/com/tencent/token/ui/ij.java | 23 + .../classes.jar/com/tencent/token/ui/ik.java | 53 + .../classes.jar/com/tencent/token/ui/il.java | 23 + .../classes.jar/com/tencent/token/ui/im.java | 31 + .../classes.jar/com/tencent/token/ui/in.java | 23 + .../classes.jar/com/tencent/token/ui/io.java | 26 + .../classes.jar/com/tencent/token/ui/ip.java | 23 + .../classes.jar/com/tencent/token/ui/iq.java | 31 + .../classes.jar/com/tencent/token/ui/ir.java | 23 + .../classes.jar/com/tencent/token/ui/is.java | 40 + .../classes.jar/com/tencent/token/ui/it.java | 21 + .../classes.jar/com/tencent/token/ui/iu.java | 30 + .../classes.jar/com/tencent/token/ui/iv.java | 185 + .../classes.jar/com/tencent/token/ui/iw.java | 24 + .../classes.jar/com/tencent/token/ui/ix.java | 24 + .../classes.jar/com/tencent/token/ui/iy.java | 33 + .../classes.jar/com/tencent/token/ui/iz.java | 21 + .../classes.jar/com/tencent/token/ui/j.java | 21 + .../classes.jar/com/tencent/token/ui/ja.java | 23 + .../classes.jar/com/tencent/token/ui/jb.java | 24 + .../classes.jar/com/tencent/token/ui/jc.java | 31 + .../classes.jar/com/tencent/token/ui/jd.java | 28 + .../classes.jar/com/tencent/token/ui/je.java | 21 + .../classes.jar/com/tencent/token/ui/jf.java | 26 + .../classes.jar/com/tencent/token/ui/jg.java | 21 + .../classes.jar/com/tencent/token/ui/jh.java | 23 + .../classes.jar/com/tencent/token/ui/ji.java | 22 + .../classes.jar/com/tencent/token/ui/jj.java | 22 + .../classes.jar/com/tencent/token/ui/jk.java | 24 + .../classes.jar/com/tencent/token/ui/jl.java | 194 + .../classes.jar/com/tencent/token/ui/jm.java | 25 + .../classes.jar/com/tencent/token/ui/jn.java | 21 + .../classes.jar/com/tencent/token/ui/jo.java | 26 + .../classes.jar/com/tencent/token/ui/jp.java | 21 + .../classes.jar/com/tencent/token/ui/jq.java | 21 + .../classes.jar/com/tencent/token/ui/jr.java | 21 + .../classes.jar/com/tencent/token/ui/js.java | 21 + .../classes.jar/com/tencent/token/ui/jt.java | 21 + .../classes.jar/com/tencent/token/ui/ju.java | 21 + .../classes.jar/com/tencent/token/ui/jv.java | 21 + .../classes.jar/com/tencent/token/ui/jw.java | 21 + .../classes.jar/com/tencent/token/ui/jx.java | 18 + .../classes.jar/com/tencent/token/ui/jy.java | 27 + .../classes.jar/com/tencent/token/ui/jz.java | 27 + .../classes.jar/com/tencent/token/ui/k.java | 241 + .../classes.jar/com/tencent/token/ui/ka.java | 23 + .../classes.jar/com/tencent/token/ui/kb.java | 18 + .../classes.jar/com/tencent/token/ui/kc.java | 23 + .../classes.jar/com/tencent/token/ui/kd.java | 22 + .../classes.jar/com/tencent/token/ui/ke.java | 23 + .../classes.jar/com/tencent/token/ui/kf.java | 31 + .../classes.jar/com/tencent/token/ui/kg.java | 29 + .../classes.jar/com/tencent/token/ui/kh.java | 29 + .../classes.jar/com/tencent/token/ui/ki.java | 29 + .../classes.jar/com/tencent/token/ui/kj.java | 26 + .../classes.jar/com/tencent/token/ui/kk.java | 35 + .../classes.jar/com/tencent/token/ui/kl.java | 30 + .../classes.jar/com/tencent/token/ui/km.java | 28 + .../classes.jar/com/tencent/token/ui/kn.java | 54 + .../classes.jar/com/tencent/token/ui/ko.java | 25 + .../classes.jar/com/tencent/token/ui/kp.java | 24 + .../classes.jar/com/tencent/token/ui/kq.java | 23 + .../classes.jar/com/tencent/token/ui/kr.java | 23 + .../classes.jar/com/tencent/token/ui/ks.java | 105 + .../classes.jar/com/tencent/token/ui/kt.java | 41 + .../classes.jar/com/tencent/token/ui/ku.java | 211 + .../classes.jar/com/tencent/token/ui/kv.java | 25 + .../classes.jar/com/tencent/token/ui/kw.java | 39 + .../classes.jar/com/tencent/token/ui/kx.java | 127 + .../classes.jar/com/tencent/token/ui/ky.java | 45 + .../classes.jar/com/tencent/token/ui/kz.java | 25 + .../classes.jar/com/tencent/token/ui/l.java | 26 + .../classes.jar/com/tencent/token/ui/la.java | 39 + .../classes.jar/com/tencent/token/ui/lb.java | 37 + .../classes.jar/com/tencent/token/ui/lc.java | 21 + .../classes.jar/com/tencent/token/ui/ld.java | 21 + .../classes.jar/com/tencent/token/ui/le.java | 25 + .../classes.jar/com/tencent/token/ui/lf.java | 21 + .../classes.jar/com/tencent/token/ui/lg.java | 21 + .../classes.jar/com/tencent/token/ui/lh.java | 21 + .../classes.jar/com/tencent/token/ui/li.java | 21 + .../classes.jar/com/tencent/token/ui/lj.java | 21 + .../classes.jar/com/tencent/token/ui/lk.java | 21 + .../classes.jar/com/tencent/token/ui/ll.java | 49 + .../classes.jar/com/tencent/token/ui/lm.java | 34 + .../classes.jar/com/tencent/token/ui/ln.java | 43 + .../classes.jar/com/tencent/token/ui/lo.java | 23 + .../classes.jar/com/tencent/token/ui/lp.java | 44 + .../classes.jar/com/tencent/token/ui/lq.java | 15 + .../classes.jar/com/tencent/token/ui/lr.java | 22 + .../classes.jar/com/tencent/token/ui/ls.java | 15 + .../classes.jar/com/tencent/token/ui/lt.java | 28 + .../classes.jar/com/tencent/token/ui/lu.java | 23 + .../classes.jar/com/tencent/token/ui/lv.java | 21 + .../classes.jar/com/tencent/token/ui/lw.java | 23 + .../classes.jar/com/tencent/token/ui/lx.java | 21 + .../classes.jar/com/tencent/token/ui/ly.java | 22 + .../classes.jar/com/tencent/token/ui/lz.java | 22 + .../classes.jar/com/tencent/token/ui/m.java | 51 + .../classes.jar/com/tencent/token/ui/ma.java | 22 + .../classes.jar/com/tencent/token/ui/mb.java | 345 + .../classes.jar/com/tencent/token/ui/mc.java | 21 + .../classes.jar/com/tencent/token/ui/md.java | 109 + .../classes.jar/com/tencent/token/ui/me.java | 22 + .../classes.jar/com/tencent/token/ui/mf.java | 24 + .../classes.jar/com/tencent/token/ui/mg.java | 26 + .../classes.jar/com/tencent/token/ui/mh.java | 21 + .../classes.jar/com/tencent/token/ui/mi.java | 22 + .../classes.jar/com/tencent/token/ui/mj.java | 24 + .../classes.jar/com/tencent/token/ui/mk.java | 22 + .../classes.jar/com/tencent/token/ui/ml.java | 22 + .../classes.jar/com/tencent/token/ui/mm.java | 71 + .../classes.jar/com/tencent/token/ui/mn.java | 21 + .../classes.jar/com/tencent/token/ui/mo.java | 78 + .../classes.jar/com/tencent/token/ui/mp.java | 30 + .../classes.jar/com/tencent/token/ui/mq.java | 31 + .../classes.jar/com/tencent/token/ui/mr.java | 20 + .../classes.jar/com/tencent/token/ui/ms.java | 29 + .../classes.jar/com/tencent/token/ui/mt.java | 24 + .../classes.jar/com/tencent/token/ui/mu.java | 18 + .../classes.jar/com/tencent/token/ui/mv.java | 27 + .../classes.jar/com/tencent/token/ui/mw.java | 57 + .../classes.jar/com/tencent/token/ui/mx.java | 24 + .../classes.jar/com/tencent/token/ui/my.java | 64 + .../classes.jar/com/tencent/token/ui/mz.java | 17 + .../classes.jar/com/tencent/token/ui/n.java | 24 + .../classes.jar/com/tencent/token/ui/na.java | 24 + .../classes.jar/com/tencent/token/ui/nb.java | 23 + .../classes.jar/com/tencent/token/ui/nc.java | 42 + .../classes.jar/com/tencent/token/ui/nd.java | 42 + .../classes.jar/com/tencent/token/ui/ne.java | 47 + .../classes.jar/com/tencent/token/ui/nf.java | 22 + .../classes.jar/com/tencent/token/ui/ng.java | 59 + .../classes.jar/com/tencent/token/ui/nh.java | 58 + .../classes.jar/com/tencent/token/ui/ni.java | 58 + .../classes.jar/com/tencent/token/ui/nj.java | 66 + .../classes.jar/com/tencent/token/ui/nk.java | 35 + .../classes.jar/com/tencent/token/ui/nl.java | 36 + .../classes.jar/com/tencent/token/ui/nm.java | 50 + .../classes.jar/com/tencent/token/ui/nn.java | 25 + .../classes.jar/com/tencent/token/ui/no.java | 24 + .../classes.jar/com/tencent/token/ui/np.java | 193 + .../classes.jar/com/tencent/token/ui/nq.java | 27 + .../classes.jar/com/tencent/token/ui/nr.java | 33 + .../classes.jar/com/tencent/token/ui/ns.java | 67 + .../classes.jar/com/tencent/token/ui/nt.java | 91 + .../classes.jar/com/tencent/token/ui/nu.java | 23 + .../classes.jar/com/tencent/token/ui/nv.java | 26 + .../classes.jar/com/tencent/token/ui/nw.java | 68 + .../classes.jar/com/tencent/token/ui/nx.java | 105 + .../classes.jar/com/tencent/token/ui/ny.java | 23 + .../classes.jar/com/tencent/token/ui/nz.java | 21 + .../classes.jar/com/tencent/token/ui/o.java | 22 + .../classes.jar/com/tencent/token/ui/oa.java | 185 + .../classes.jar/com/tencent/token/ui/ob.java | 24 + .../classes.jar/com/tencent/token/ui/oc.java | 15 + .../classes.jar/com/tencent/token/ui/od.java | 20 + .../classes.jar/com/tencent/token/ui/oe.java | 39 + .../classes.jar/com/tencent/token/ui/of.java | 22 + .../classes.jar/com/tencent/token/ui/og.java | 22 + .../classes.jar/com/tencent/token/ui/oh.java | 62 + .../classes.jar/com/tencent/token/ui/oi.java | 24 + .../classes.jar/com/tencent/token/ui/oj.java | 60 + .../classes.jar/com/tencent/token/ui/ok.java | 24 + .../classes.jar/com/tencent/token/ui/ol.java | 95 + .../classes.jar/com/tencent/token/ui/om.java | 29 + .../classes.jar/com/tencent/token/ui/on.java | 29 + .../classes.jar/com/tencent/token/ui/oo.java | 40 + .../classes.jar/com/tencent/token/ui/op.java | 33 + .../classes.jar/com/tencent/token/ui/oq.java | 20 + .../classes.jar/com/tencent/token/ui/or.java | 168 + .../classes.jar/com/tencent/token/ui/os.java | 23 + .../classes.jar/com/tencent/token/ui/ot.java | 80 + .../classes.jar/com/tencent/token/ui/ou.java | 34 + .../classes.jar/com/tencent/token/ui/ov.java | 22 + .../classes.jar/com/tencent/token/ui/ow.java | 35 + .../classes.jar/com/tencent/token/ui/ox.java | 22 + .../classes.jar/com/tencent/token/ui/oy.java | 36 + .../classes.jar/com/tencent/token/ui/oz.java | 18 + .../classes.jar/com/tencent/token/ui/p.java | 33 + .../classes.jar/com/tencent/token/ui/pa.java | 18 + .../classes.jar/com/tencent/token/ui/pb.java | 25 + .../classes.jar/com/tencent/token/ui/pc.java | 25 + .../classes.jar/com/tencent/token/ui/pd.java | 25 + .../classes.jar/com/tencent/token/ui/pe.java | 23 + .../classes.jar/com/tencent/token/ui/pf.java | 21 + .../classes.jar/com/tencent/token/ui/pg.java | 79 + .../classes.jar/com/tencent/token/ui/ph.java | 36 + .../classes.jar/com/tencent/token/ui/pi.java | 102 + .../classes.jar/com/tencent/token/ui/pj.java | 30 + .../classes.jar/com/tencent/token/ui/pk.java | 21 + .../classes.jar/com/tencent/token/ui/pl.java | 25 + .../classes.jar/com/tencent/token/ui/pm.java | 24 + .../classes.jar/com/tencent/token/ui/pn.java | 21 + .../classes.jar/com/tencent/token/ui/po.java | 21 + .../classes.jar/com/tencent/token/ui/pp.java | 21 + .../classes.jar/com/tencent/token/ui/pq.java | 35 + .../classes.jar/com/tencent/token/ui/pr.java | 22 + .../classes.jar/com/tencent/token/ui/ps.java | 21 + .../classes.jar/com/tencent/token/ui/pt.java | 23 + .../classes.jar/com/tencent/token/ui/pu.java | 21 + .../classes.jar/com/tencent/token/ui/pv.java | 117 + .../classes.jar/com/tencent/token/ui/pw.java | 22 + .../classes.jar/com/tencent/token/ui/px.java | 25 + .../classes.jar/com/tencent/token/ui/py.java | 23 + .../classes.jar/com/tencent/token/ui/pz.java | 22 + .../classes.jar/com/tencent/token/ui/q.java | 33 + .../classes.jar/com/tencent/token/ui/qa.java | 25 + .../classes.jar/com/tencent/token/ui/qb.java | 46 + .../classes.jar/com/tencent/token/ui/qc.java | 131 + .../classes.jar/com/tencent/token/ui/qd.java | 18 + .../classes.jar/com/tencent/token/ui/qe.java | 12 + .../classes.jar/com/tencent/token/ui/qf.java | 468 + .../classes.jar/com/tencent/token/ui/qg.java | 23 + .../classes.jar/com/tencent/token/ui/qh.java | 28 + .../classes.jar/com/tencent/token/ui/qi.java | 53 + .../classes.jar/com/tencent/token/ui/qj.java | 72 + .../classes.jar/com/tencent/token/ui/qk.java | 100 + .../classes.jar/com/tencent/token/ui/ql.java | 21 + .../classes.jar/com/tencent/token/ui/qm.java | 26 + .../classes.jar/com/tencent/token/ui/qn.java | 58 + .../classes.jar/com/tencent/token/ui/qo.java | 21 + .../classes.jar/com/tencent/token/ui/qp.java | 26 + .../classes.jar/com/tencent/token/ui/qq.java | 73 + .../classes.jar/com/tencent/token/ui/qr.java | 24 + .../classes.jar/com/tencent/token/ui/qs.java | 35 + .../classes.jar/com/tencent/token/ui/qt.java | 26 + .../classes.jar/com/tencent/token/ui/qu.java | 66 + .../classes.jar/com/tencent/token/ui/qv.java | 25 + .../classes.jar/com/tencent/token/ui/qw.java | 23 + .../classes.jar/com/tencent/token/ui/qx.java | 34 + .../classes.jar/com/tencent/token/ui/qy.java | 28 + .../classes.jar/com/tencent/token/ui/qz.java | 22 + .../classes.jar/com/tencent/token/ui/r.java | 33 + .../classes.jar/com/tencent/token/ui/ra.java | 23 + .../classes.jar/com/tencent/token/ui/rb.java | 69 + .../classes.jar/com/tencent/token/ui/rc.java | 27 + .../classes.jar/com/tencent/token/ui/rd.java | 25 + .../classes.jar/com/tencent/token/ui/re.java | 27 + .../classes.jar/com/tencent/token/ui/rf.java | 23 + .../classes.jar/com/tencent/token/ui/rg.java | 23 + .../classes.jar/com/tencent/token/ui/rh.java | 34 + .../classes.jar/com/tencent/token/ui/ri.java | 81 + .../classes.jar/com/tencent/token/ui/rj.java | 24 + .../classes.jar/com/tencent/token/ui/rk.java | 23 + .../classes.jar/com/tencent/token/ui/rl.java | 25 + .../classes.jar/com/tencent/token/ui/rm.java | 25 + .../classes.jar/com/tencent/token/ui/rn.java | 25 + .../classes.jar/com/tencent/token/ui/ro.java | 25 + .../classes.jar/com/tencent/token/ui/rp.java | 55 + .../classes.jar/com/tencent/token/ui/rq.java | 22 + .../classes.jar/com/tencent/token/ui/rr.java | 29 + .../classes.jar/com/tencent/token/ui/rs.java | 93 + .../classes.jar/com/tencent/token/ui/rt.java | 25 + .../classes.jar/com/tencent/token/ui/ru.java | 23 + .../classes.jar/com/tencent/token/ui/rv.java | 32 + .../classes.jar/com/tencent/token/ui/rw.java | 23 + .../classes.jar/com/tencent/token/ui/rx.java | 38 + .../classes.jar/com/tencent/token/ui/ry.java | 97 + .../classes.jar/com/tencent/token/ui/rz.java | 25 + .../classes.jar/com/tencent/token/ui/s.java | 23 + .../classes.jar/com/tencent/token/ui/sa.java | 33 + .../classes.jar/com/tencent/token/ui/sb.java | 23 + .../classes.jar/com/tencent/token/ui/sc.java | 58 + .../classes.jar/com/tencent/token/ui/sd.java | 23 + .../classes.jar/com/tencent/token/ui/se.java | 55 + .../classes.jar/com/tencent/token/ui/sf.java | 45 + .../classes.jar/com/tencent/token/ui/sg.java | 24 + .../classes.jar/com/tencent/token/ui/sh.java | 78 + .../classes.jar/com/tencent/token/ui/si.java | 25 + .../classes.jar/com/tencent/token/ui/sj.java | 77 + .../classes.jar/com/tencent/token/ui/sk.java | 25 + .../classes.jar/com/tencent/token/ui/sl.java | 23 + .../classes.jar/com/tencent/token/ui/sm.java | 23 + .../classes.jar/com/tencent/token/ui/sn.java | 27 + .../classes.jar/com/tencent/token/ui/so.java | 34 + .../classes.jar/com/tencent/token/ui/sp.java | 23 + .../classes.jar/com/tencent/token/ui/sq.java | 23 + .../classes.jar/com/tencent/token/ui/sr.java | 23 + .../classes.jar/com/tencent/token/ui/ss.java | 23 + .../classes.jar/com/tencent/token/ui/st.java | 34 + .../classes.jar/com/tencent/token/ui/su.java | 27 + .../classes.jar/com/tencent/token/ui/sv.java | 33 + .../classes.jar/com/tencent/token/ui/sw.java | 33 + .../classes.jar/com/tencent/token/ui/sx.java | 33 + .../classes.jar/com/tencent/token/ui/sy.java | 25 + .../classes.jar/com/tencent/token/ui/sz.java | 25 + .../classes.jar/com/tencent/token/ui/t.java | 33 + .../classes.jar/com/tencent/token/ui/ta.java | 33 + .../classes.jar/com/tencent/token/ui/tb.java | 32 + .../classes.jar/com/tencent/token/ui/tc.java | 23 + .../classes.jar/com/tencent/token/ui/td.java | 23 + .../classes.jar/com/tencent/token/ui/te.java | 23 + .../classes.jar/com/tencent/token/ui/tf.java | 25 + .../classes.jar/com/tencent/token/ui/tg.java | 23 + .../classes.jar/com/tencent/token/ui/th.java | 25 + .../classes.jar/com/tencent/token/ui/ti.java | 26 + .../classes.jar/com/tencent/token/ui/tj.java | 231 + .../classes.jar/com/tencent/token/ui/tk.java | 63 + .../classes.jar/com/tencent/token/ui/tl.java | 22 + .../classes.jar/com/tencent/token/ui/tm.java | 37 + .../classes.jar/com/tencent/token/ui/tn.java | 30 + .../classes.jar/com/tencent/token/ui/to.java | 46 + .../classes.jar/com/tencent/token/ui/tp.java | 54 + .../classes.jar/com/tencent/token/ui/tq.java | 32 + .../classes.jar/com/tencent/token/ui/tr.java | 44 + .../classes.jar/com/tencent/token/ui/ts.java | 22 + .../classes.jar/com/tencent/token/ui/tt.java | 25 + .../classes.jar/com/tencent/token/ui/tu.java | 30 + .../classes.jar/com/tencent/token/ui/tv.java | 25 + .../classes.jar/com/tencent/token/ui/tw.java | 29 + .../classes.jar/com/tencent/token/ui/tx.java | 23 + .../classes.jar/com/tencent/token/ui/ty.java | 119 + .../classes.jar/com/tencent/token/ui/tz.java | 24 + .../classes.jar/com/tencent/token/ui/u.java | 24 + .../classes.jar/com/tencent/token/ui/ua.java | 22 + .../classes.jar/com/tencent/token/ui/ub.java | 43 + .../classes.jar/com/tencent/token/ui/uc.java | 27 + .../classes.jar/com/tencent/token/ui/ud.java | 21 + .../classes.jar/com/tencent/token/ui/ue.java | 44 + .../classes.jar/com/tencent/token/ui/uf.java | 24 + .../classes.jar/com/tencent/token/ui/ug.java | 23 + .../classes.jar/com/tencent/token/ui/uh.java | 23 + .../classes.jar/com/tencent/token/ui/ui.java | 34 + .../classes.jar/com/tencent/token/ui/uj.java | 24 + .../classes.jar/com/tencent/token/ui/uk.java | 24 + .../classes.jar/com/tencent/token/ui/ul.java | 24 + .../classes.jar/com/tencent/token/ui/um.java | 24 + .../classes.jar/com/tencent/token/ui/un.java | 22 + .../classes.jar/com/tencent/token/ui/uo.java | 21 + .../classes.jar/com/tencent/token/ui/up.java | 18 + .../classes.jar/com/tencent/token/ui/uq.java | 22 + .../classes.jar/com/tencent/token/ui/ur.java | 40 + .../classes.jar/com/tencent/token/ui/us.java | 21 + .../classes.jar/com/tencent/token/ui/ut.java | 21 + .../classes.jar/com/tencent/token/ui/uu.java | 23 + .../classes.jar/com/tencent/token/ui/uv.java | 39 + .../classes.jar/com/tencent/token/ui/uw.java | 21 + .../classes.jar/com/tencent/token/ui/ux.java | 222 + .../classes.jar/com/tencent/token/ui/uy.java | 31 + .../classes.jar/com/tencent/token/ui/uz.java | 20 + .../classes.jar/com/tencent/token/ui/v.java | 24 + .../classes.jar/com/tencent/token/ui/va.java | 21 + .../classes.jar/com/tencent/token/ui/vb.java | 36 + .../classes.jar/com/tencent/token/ui/vc.java | 22 + .../classes.jar/com/tencent/token/ui/vd.java | 21 + .../classes.jar/com/tencent/token/ui/ve.java | 22 + .../classes.jar/com/tencent/token/ui/vf.java | 22 + .../classes.jar/com/tencent/token/ui/vg.java | 32 + .../classes.jar/com/tencent/token/ui/vh.java | 37 + .../classes.jar/com/tencent/token/ui/vi.java | 23 + .../classes.jar/com/tencent/token/ui/vj.java | 29 + .../classes.jar/com/tencent/token/ui/vk.java | 32 + .../classes.jar/com/tencent/token/ui/vl.java | 21 + .../classes.jar/com/tencent/token/ui/vm.java | 21 + .../classes.jar/com/tencent/token/ui/vn.java | 26 + .../classes.jar/com/tencent/token/ui/vo.java | 46 + .../classes.jar/com/tencent/token/ui/vp.java | 31 + .../classes.jar/com/tencent/token/ui/vq.java | 34 + .../classes.jar/com/tencent/token/ui/vr.java | 24 + .../classes.jar/com/tencent/token/ui/vs.java | 23 + .../classes.jar/com/tencent/token/ui/vt.java | 29 + .../classes.jar/com/tencent/token/ui/vu.java | 232 + .../classes.jar/com/tencent/token/ui/vv.java | 22 + .../classes.jar/com/tencent/token/ui/vw.java | 22 + .../classes.jar/com/tencent/token/ui/vx.java | 31 + .../classes.jar/com/tencent/token/ui/vy.java | 20 + .../classes.jar/com/tencent/token/ui/vz.java | 21 + .../classes.jar/com/tencent/token/ui/w.java | 24 + .../classes.jar/com/tencent/token/ui/wa.java | 35 + .../classes.jar/com/tencent/token/ui/wb.java | 21 + .../classes.jar/com/tencent/token/ui/wc.java | 35 + .../classes.jar/com/tencent/token/ui/wd.java | 30 + .../classes.jar/com/tencent/token/ui/we.java | 23 + .../classes.jar/com/tencent/token/ui/wf.java | 26 + .../classes.jar/com/tencent/token/ui/wg.java | 18 + .../classes.jar/com/tencent/token/ui/wh.java | 116 + .../classes.jar/com/tencent/token/ui/wi.java | 46 + .../classes.jar/com/tencent/token/ui/wj.java | 23 + .../classes.jar/com/tencent/token/ui/wk.java | 26 + .../classes.jar/com/tencent/token/ui/wl.java | 23 + .../classes.jar/com/tencent/token/ui/wm.java | 66 + .../classes.jar/com/tencent/token/ui/wn.java | 207 + .../classes.jar/com/tencent/token/ui/wo.java | 37 + .../classes.jar/com/tencent/token/ui/wp.java | 22 + .../classes.jar/com/tencent/token/ui/wq.java | 22 + .../classes.jar/com/tencent/token/ui/wr.java | 41 + .../classes.jar/com/tencent/token/ui/ws.java | 21 + .../classes.jar/com/tencent/token/ui/wt.java | 30 + .../classes.jar/com/tencent/token/ui/wu.java | 21 + .../classes.jar/com/tencent/token/ui/wv.java | 35 + .../classes.jar/com/tencent/token/ui/ww.java | 24 + .../classes.jar/com/tencent/token/ui/wx.java | 23 + .../classes.jar/com/tencent/token/ui/wy.java | 199 + .../classes.jar/com/tencent/token/ui/wz.java | 22 + .../classes.jar/com/tencent/token/ui/x.java | 24 + .../classes.jar/com/tencent/token/ui/xa.java | 22 + .../classes.jar/com/tencent/token/ui/xb.java | 38 + .../classes.jar/com/tencent/token/ui/xc.java | 21 + .../classes.jar/com/tencent/token/ui/xd.java | 35 + .../classes.jar/com/tencent/token/ui/xe.java | 22 + .../classes.jar/com/tencent/token/ui/xf.java | 63 + .../classes.jar/com/tencent/token/ui/xg.java | 142 + .../classes.jar/com/tencent/token/ui/xh.java | 33 + .../classes.jar/com/tencent/token/ui/xi.java | 28 + .../classes.jar/com/tencent/token/ui/xj.java | 38 + .../classes.jar/com/tencent/token/ui/xk.java | 28 + .../classes.jar/com/tencent/token/ui/xl.java | 21 + .../classes.jar/com/tencent/token/ui/xm.java | 25 + .../classes.jar/com/tencent/token/ui/xn.java | 24 + .../classes.jar/com/tencent/token/ui/xo.java | 30 + .../classes.jar/com/tencent/token/ui/xp.java | 37 + .../classes.jar/com/tencent/token/ui/xq.java | 47 + .../classes.jar/com/tencent/token/ui/xr.java | 28 + .../classes.jar/com/tencent/token/ui/xs.java | 21 + .../classes.jar/com/tencent/token/ui/xt.java | 24 + .../classes.jar/com/tencent/token/ui/xu.java | 21 + .../classes.jar/com/tencent/token/ui/xv.java | 38 + .../classes.jar/com/tencent/token/ui/xw.java | 26 + .../classes.jar/com/tencent/token/ui/xx.java | 30 + .../classes.jar/com/tencent/token/ui/xy.java | 44 + .../classes.jar/com/tencent/token/ui/xz.java | 21 + .../classes.jar/com/tencent/token/ui/y.java | 24 + .../classes.jar/com/tencent/token/ui/ya.java | 26 + .../classes.jar/com/tencent/token/ui/yb.java | 27 + .../classes.jar/com/tencent/token/ui/yc.java | 21 + .../classes.jar/com/tencent/token/ui/yd.java | 29 + .../classes.jar/com/tencent/token/ui/ye.java | 21 + .../classes.jar/com/tencent/token/ui/yf.java | 71 + .../classes.jar/com/tencent/token/ui/yg.java | 49 + .../classes.jar/com/tencent/token/ui/yh.java | 26 + .../classes.jar/com/tencent/token/ui/yi.java | 75 + .../classes.jar/com/tencent/token/ui/yj.java | 25 + .../classes.jar/com/tencent/token/ui/yk.java | 24 + .../classes.jar/com/tencent/token/ui/yl.java | 170 + .../classes.jar/com/tencent/token/ui/ym.java | 38 + .../classes.jar/com/tencent/token/ui/yn.java | 37 + .../classes.jar/com/tencent/token/ui/yo.java | 52 + .../classes.jar/com/tencent/token/ui/yp.java | 28 + .../classes.jar/com/tencent/token/ui/yq.java | 131 + .../classes.jar/com/tencent/token/ui/yr.java | 21 + .../classes.jar/com/tencent/token/ui/ys.java | 38 + .../classes.jar/com/tencent/token/ui/yt.java | 21 + .../classes.jar/com/tencent/token/ui/yu.java | 122 + .../classes.jar/com/tencent/token/ui/yv.java | 21 + .../classes.jar/com/tencent/token/ui/yw.java | 25 + .../classes.jar/com/tencent/token/ui/yx.java | 24 + .../classes.jar/com/tencent/token/ui/yy.java | 80 + .../classes.jar/com/tencent/token/ui/yz.java | 136 + .../classes.jar/com/tencent/token/ui/z.java | 26 + .../classes.jar/com/tencent/token/ui/za.java | 22 + .../classes.jar/com/tencent/token/ui/zb.java | 15 + .../classes.jar/com/tencent/token/ui/zc.java | 24 + .../classes.jar/com/tencent/token/ui/zd.java | 21 + .../classes.jar/com/tencent/token/ui/ze.java | 21 + .../classes.jar/com/tencent/token/ui/zf.java | 21 + .../classes.jar/com/tencent/token/ui/zg.java | 21 + .../classes.jar/com/tencent/token/ui/zh.java | 21 + .../classes.jar/com/tencent/token/ui/zi.java | 21 + .../classes.jar/com/tencent/token/ui/zj.java | 21 + .../classes.jar/com/tencent/token/ui/zk.java | 21 + .../classes.jar/com/tencent/token/ui/zl.java | 41 + .../classes.jar/com/tencent/token/ui/zm.java | 51 + .../classes.jar/com/tencent/token/ui/zn.java | 51 + .../classes.jar/com/tencent/token/ui/zo.java | 29 + .../classes.jar/com/tencent/token/ui/zp.java | 110 + .../classes.jar/com/tencent/token/ui/zq.java | 22 + .../classes.jar/com/tencent/token/ui/zr.java | 22 + .../classes.jar/com/tencent/token/ui/zs.java | 27 + .../classes.jar/com/tencent/token/ui/zt.java | 27 + .../classes.jar/com/tencent/token/ui/zu.java | 25 + .../classes.jar/com/tencent/token/ui/zv.java | 26 + .../classes.jar/com/tencent/token/ui/zw.java | 32 + .../classes.jar/com/tencent/token/ui/zx.java | 23 + .../classes.jar/com/tencent/token/ui/zy.java | 27 + .../classes.jar/com/tencent/token/ui/zz.java | 51 + .../token/utils/Base64DecoderException.java | 13 + .../com/tencent/token/utils/ImageCache.java | 826 + .../com/tencent/token/utils/SMSReceiver.java | 31 + .../tencent/token/utils/UserTask$Status.java | 6 + .../com/tencent/token/utils/UserTask.java | 85 + .../com/tencent/token/utils/a.java | 36 + .../com/tencent/token/utils/aa.java | 19 + .../com/tencent/token/utils/ab.java | 17 + .../com/tencent/token/utils/b.java | 123 + .../token/utils/bugscanuitl/BugObject.java | 38 + .../utils/bugscanuitl/DetectActivity.java | 213 + .../utils/bugscanuitl/ResultListActivity.java | 153 + .../token/utils/bugscanuitl/TitleBar.java | 211 + .../tencent/token/utils/bugscanuitl/a.java | 108 + .../tencent/token/utils/bugscanuitl/b.java | 174 + .../tencent/token/utils/bugscanuitl/c.java | 16 + .../tencent/token/utils/bugscanuitl/d.java | 14 + .../tencent/token/utils/bugscanuitl/e.java | 12 + .../tencent/token/utils/bugscanuitl/f.java | 21 + .../tencent/token/utils/bugscanuitl/g.java | 37 + .../tencent/token/utils/bugscanuitl/h.java | 18 + .../tencent/token/utils/bugscanuitl/i.java | 21 + .../tencent/token/utils/bugscanuitl/j.java | 32 + .../tencent/token/utils/bugscanuitl/k.java | 24 + .../tencent/token/utils/bugscanuitl/l.java | 25 + .../tencent/token/utils/bugscanuitl/m.java | 22 + .../tencent/token/utils/bugscanuitl/n.java | 86 + .../tencent/token/utils/bugscanuitl/o.java | 16 + .../tencent/token/utils/bugscanuitl/p.java | 202 + .../tencent/token/utils/bugscanuitl/q.java | 12 + .../com/tencent/token/utils/c.java | 284 + .../com/tencent/token/utils/d.java | 18 + .../com/tencent/token/utils/e.java | 166 + .../token/utils/encrypt/TknEncManager.java | 37 + .../com/tencent/token/utils/encrypt/a.java | 380 + .../com/tencent/token/utils/encrypt/b.java | 89 + .../com/tencent/token/utils/encrypt/c.java | 379 + .../encrypt/random/FixedSecureRandom.java | 85 + .../PRNGFixes$LinuxPRNGSecureRandom.java | 188 + ...NGFixes$LinuxPRNGSecureRandomProvider.java | 20 + .../token/utils/encrypt/random/PRNGFixes.java | 99 + .../utils/encrypt/random/SecureRandom.java | 82 + .../tencent/token/utils/encrypt/random/a.java | 16 + .../tencent/token/utils/encrypt/random/b.java | 126 + .../tencent/token/utils/encrypt/random/c.java | 11 + .../tencent/token/utils/encrypt/random/d.java | 98 + .../tencent/token/utils/encrypt/random/e.java | 16 + .../tencent/token/utils/encrypt/random/f.java | 217 + .../com/tencent/token/utils/f.java | 23 + .../com/tencent/token/utils/g.java | 25 + .../com/tencent/token/utils/h.java | 15 + .../com/tencent/token/utils/i.java | 325 + .../com/tencent/token/utils/j.java | 48 + .../com/tencent/token/utils/k.java | 202 + .../com/tencent/token/utils/l.java | 13 + .../com/tencent/token/utils/m.java | 13 + .../com/tencent/token/utils/n.java | 196 + .../com/tencent/token/utils/o.java | 23 + .../com/tencent/token/utils/p.java | 52 + .../com/tencent/token/utils/q.java | 41 + .../com/tencent/token/utils/r.java | 17 + .../com/tencent/token/utils/s.java | 1519 + .../com/tencent/token/utils/t.java | 1070 + .../com/tencent/token/utils/u.java | 32 + .../com/tencent/token/utils/v.java | 21 + .../com/tencent/token/utils/w.java | 29 + .../com/tencent/token/utils/x.java | 60 + .../com/tencent/token/utils/y.java | 9 + .../com/tencent/token/utils/z.java | 32 + .../classes.jar/com/tencent/token/v.java | 405 + .../classes.jar/com/tencent/token/w.java | 20 + .../widget/InputMethodRelativeLayout.java | 64 + .../tencent/token/widget/TokenService.java | 181 + .../token/widget/TokenWidgetProvider.java | 55 + .../tencent/token/widget/WidgetReceiver.java | 45 + .../com/tencent/token/widget/a.java | 12 + .../classes.jar/com/tencent/token/x.java | 301 + .../classes.jar/com/tencent/token/y.java | 300 + .../classes.jar/com/tencent/token/z.java | 22 + com.tencent.token/classes.jar/d/a/a.java | 12 + com.tencent.token/classes.jar/d/b/a.java | 14 + com.tencent.token/classes.jar/d/b/b.java | 15 + com.tencent.token/classes.jar/d/b/c.java | 20 + com.tencent.token/classes.jar/d/b/d.java | 25 + com.tencent.token/classes.jar/d/b/e.java | 13 + com.tencent.token/classes.jar/d/c/a.java | 105 + .../gameloginsdk/CallbackAppidTypeStruct.java | 24 + .../gameloginsdk/CallbackBaseStruct.java | 21 + .../CallbackGameConfirmStruct.java | 30 + .../gameloginsdk/CallbackGameLoginStruct.java | 16 + .../gameloginsdk/CallbackPushStruct.java | 39 + .../classes.jar/gameloginsdk/GameLogin.java | 397 + .../gameloginsdk/GameLoginConst.java | 37 + .../gameloginsdk/IGameLoginCallback.java | 14 + .../classes.jar/gameloginsdk/a.java | 42 + .../classes.jar/gameloginsdk/b.java | 56 + .../classes.jar/gameloginsdk/c.java | 88 + .../classes.jar/gameloginsdk/d.java | 18 + .../classes.jar/gameloginsdk/e.java | 22 + .../classes.jar/gameloginsdk/f.java | 34 + .../classes.jar/gameloginsdk/g.java | 99 + .../classes.jar/gameloginsdk/h.java | 89 + .../classes.jar/gameloginsdk/i.java | 86 + .../classes.jar/gameloginsdk/j.java | 61 + .../classes.jar/gameloginsdk/k.java | 35 + .../classes.jar/gameloginsdk/l.java | 25 + .../classes.jar/gameloginsdk/m.java | 52 + .../classes.jar/gameloginsdk/n.java | 15 + .../classes.jar/gameloginsdk/o.java | 87 + .../classes.jar/gameloginsdk/p.java | 24 + .../classes.jar/oicq/wlogin_sdk/a/a.java | 421 + .../classes.jar/oicq/wlogin_sdk/a/b.java | 141 + .../classes.jar/oicq/wlogin_sdk/a/c.java | 30 + .../classes.jar/oicq/wlogin_sdk/a/d.java | 33 + .../classes.jar/oicq/wlogin_sdk/a/e.java | 28 + .../classes.jar/oicq/wlogin_sdk/a/f.java | 124 + .../classes.jar/oicq/wlogin_sdk/a/g.java | 33 + .../classes.jar/oicq/wlogin_sdk/a/h.java | 36 + .../classes.jar/oicq/wlogin_sdk/b/a.java | 199 + .../classes.jar/oicq/wlogin_sdk/b/aa.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/ab.java | 75 + .../classes.jar/oicq/wlogin_sdk/b/ac.java | 48 + .../classes.jar/oicq/wlogin_sdk/b/ad.java | 42 + .../classes.jar/oicq/wlogin_sdk/b/ae.java | 39 + .../classes.jar/oicq/wlogin_sdk/b/af.java | 60 + .../classes.jar/oicq/wlogin_sdk/b/ag.java | 38 + .../classes.jar/oicq/wlogin_sdk/b/ah.java | 48 + .../classes.jar/oicq/wlogin_sdk/b/ai.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/aj.java | 192 + .../classes.jar/oicq/wlogin_sdk/b/ak.java | 48 + .../classes.jar/oicq/wlogin_sdk/b/al.java | 39 + .../classes.jar/oicq/wlogin_sdk/b/am.java | 29 + .../classes.jar/oicq/wlogin_sdk/b/an.java | 279 + .../classes.jar/oicq/wlogin_sdk/b/ao.java | 34 + .../classes.jar/oicq/wlogin_sdk/b/ap.java | 71 + .../classes.jar/oicq/wlogin_sdk/b/aq.java | 44 + .../classes.jar/oicq/wlogin_sdk/b/ar.java | 58 + .../classes.jar/oicq/wlogin_sdk/b/as.java | 71 + .../classes.jar/oicq/wlogin_sdk/b/at.java | 43 + .../classes.jar/oicq/wlogin_sdk/b/au.java | 28 + .../classes.jar/oicq/wlogin_sdk/b/av.java | 28 + .../classes.jar/oicq/wlogin_sdk/b/aw.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/ax.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/ay.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/az.java | 28 + .../classes.jar/oicq/wlogin_sdk/b/b.java | 48 + .../classes.jar/oicq/wlogin_sdk/b/ba.java | 54 + .../classes.jar/oicq/wlogin_sdk/b/bb.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bc.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/bd.java | 75 + .../classes.jar/oicq/wlogin_sdk/b/be.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bf.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bg.java | 37 + .../classes.jar/oicq/wlogin_sdk/b/bh.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bi.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/bj.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bk.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/bl.java | 39 + .../classes.jar/oicq/wlogin_sdk/b/bm.java | 68 + .../classes.jar/oicq/wlogin_sdk/b/bn.java | 40 + .../classes.jar/oicq/wlogin_sdk/b/bo.java | 28 + .../classes.jar/oicq/wlogin_sdk/b/bp.java | 42 + .../classes.jar/oicq/wlogin_sdk/b/bq.java | 37 + .../classes.jar/oicq/wlogin_sdk/b/br.java | 63 + .../classes.jar/oicq/wlogin_sdk/b/bs.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/bt.java | 38 + .../classes.jar/oicq/wlogin_sdk/b/bu.java | 41 + .../classes.jar/oicq/wlogin_sdk/b/bv.java | 34 + .../classes.jar/oicq/wlogin_sdk/b/bw.java | 46 + .../classes.jar/oicq/wlogin_sdk/b/bx.java | 29 + .../classes.jar/oicq/wlogin_sdk/b/by.java | 34 + .../classes.jar/oicq/wlogin_sdk/b/bz.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/c.java | 37 + .../classes.jar/oicq/wlogin_sdk/b/ca.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/cb.java | 29 + .../classes.jar/oicq/wlogin_sdk/b/cc.java | 30 + .../classes.jar/oicq/wlogin_sdk/b/cd.java | 28 + .../classes.jar/oicq/wlogin_sdk/b/ce.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/cf.java | 63 + .../classes.jar/oicq/wlogin_sdk/b/cg.java | 56 + .../classes.jar/oicq/wlogin_sdk/b/ch.java | 47 + .../classes.jar/oicq/wlogin_sdk/b/ci.java | 56 + .../classes.jar/oicq/wlogin_sdk/b/cj.java | 55 + .../classes.jar/oicq/wlogin_sdk/b/ck.java | 43 + .../classes.jar/oicq/wlogin_sdk/b/cl.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/cm.java | 64 + .../classes.jar/oicq/wlogin_sdk/b/cn.java | 31 + .../classes.jar/oicq/wlogin_sdk/b/co.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/cp.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/cq.java | 78 + .../classes.jar/oicq/wlogin_sdk/b/cr.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/d.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/e.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/f.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/g.java | 61 + .../classes.jar/oicq/wlogin_sdk/b/h.java | 118 + .../classes.jar/oicq/wlogin_sdk/b/i.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/j.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/k.java | 33 + .../classes.jar/oicq/wlogin_sdk/b/l.java | 30 + .../classes.jar/oicq/wlogin_sdk/b/m.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/n.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/o.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/p.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/q.java | 34 + .../classes.jar/oicq/wlogin_sdk/b/r.java | 23 + .../classes.jar/oicq/wlogin_sdk/b/s.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/t.java | 48 + .../classes.jar/oicq/wlogin_sdk/b/u.java | 21 + .../classes.jar/oicq/wlogin_sdk/b/v.java | 61 + .../classes.jar/oicq/wlogin_sdk/b/w.java | 16 + .../classes.jar/oicq/wlogin_sdk/b/x.java | 52 + .../classes.jar/oicq/wlogin_sdk/b/y.java | 31 + .../classes.jar/oicq/wlogin_sdk/b/z.java | 16 + .../classes.jar/oicq/wlogin_sdk/code2d/a.java | 247 + .../classes.jar/oicq/wlogin_sdk/code2d/b.java | 83 + .../classes.jar/oicq/wlogin_sdk/code2d/c.java | 32 + .../classes.jar/oicq/wlogin_sdk/code2d/d.java | 91 + .../classes.jar/oicq/wlogin_sdk/code2d/e.java | 171 + .../oicq/wlogin_sdk/code2d/fetch_code.java | 192 + .../wlogin_sdk/devicelock/DevlockBase.java | 141 + .../wlogin_sdk/devicelock/DevlockInfo.java | 119 + .../wlogin_sdk/devicelock/DevlockRst.java | 33 + .../wlogin_sdk/devicelock/TLV_CommRsp.java | 50 + .../wlogin_sdk/devicelock/TLV_QuerySig.java | 23 + .../wlogin_sdk/devicelock/TLV_SppKey.java | 23 + .../oicq/wlogin_sdk/devicelock/a.java | 30 + .../oicq/wlogin_sdk/devicelock/b.java | 30 + .../oicq/wlogin_sdk/devicelock/c.java | 24 + .../oicq/wlogin_sdk/devicelock/d.java | 35 + .../oicq/wlogin_sdk/devicelock/e.java | 167 + .../oicq/wlogin_sdk/devicelock/f.java | 57 + .../oicq/wlogin_sdk/devicelock/g.java | 30 + .../oicq/wlogin_sdk/devicelock/h.java | 23 + .../oicq/wlogin_sdk/devicelock/i.java | 56 + .../oicq/wlogin_sdk/devicelock/j.java | 41 + .../oicq/wlogin_sdk/devicelock/k.java | 44 + .../oicq/wlogin_sdk/devicelock/l.java | 26 + .../oicq/wlogin_sdk/devicelock/m.java | 28 + .../oicq/wlogin_sdk/devicelock/n.java | 28 + .../oicq/wlogin_sdk/report/report_t.java | 135 + .../oicq/wlogin_sdk/report/report_t1.java | 346 + .../oicq/wlogin_sdk/report/report_t2.java | 140 + .../oicq/wlogin_sdk/report/report_t3.java | 78 + .../oicq/wlogin_sdk/request/Ticket$1.java | 24 + .../oicq/wlogin_sdk/request/Ticket.java | 200 + .../wlogin_sdk/request/TransReqContext$1.java | 24 + .../wlogin_sdk/request/TransReqContext.java | 134 + .../oicq/wlogin_sdk/request/UinInfo.java | 47 + .../wlogin_sdk/request/WFastLoginInfo$1.java | 24 + .../wlogin_sdk/request/WFastLoginInfo.java | 81 + .../wlogin_sdk/request/WUserSigInfo$1.java | 24 + .../oicq/wlogin_sdk/request/WUserSigInfo.java | 85 + .../wlogin_sdk/request/WloginAllSigInfo.java | 90 + .../request/WloginLastLoginInfo.java | 28 + .../wlogin_sdk/request/WloginProvider.java | 130 + .../wlogin_sdk/request/WtTicketPromise.java | 18 + .../wlogin_sdk/request/WtloginHelper$1.java | 37 + .../wlogin_sdk/request/WtloginHelper$2.java | 23 + .../request/WtloginHelper$HelperThread$1.java | 20 + .../WtloginHelper$HelperThread$10.java | 22 + .../WtloginHelper$HelperThread$11.java | 26 + .../WtloginHelper$HelperThread$12.java | 25 + .../WtloginHelper$HelperThread$13.java | 26 + .../WtloginHelper$HelperThread$14.java | 24 + .../request/WtloginHelper$HelperThread$2.java | 40 + .../request/WtloginHelper$HelperThread$3.java | 28 + .../request/WtloginHelper$HelperThread$4.java | 40 + .../request/WtloginHelper$HelperThread$5.java | 29 + .../request/WtloginHelper$HelperThread$6.java | 30 + .../request/WtloginHelper$HelperThread$7.java | 55 + .../request/WtloginHelper$HelperThread$8.java | 26 + .../request/WtloginHelper$HelperThread$9.java | 37 + .../wlogin_sdk/request/WtloginHelper.java | 3945 +++ .../wlogin_sdk/request/WtloginListener.java | 96 + .../request/WtloginMsfListener.java | 315 + .../oicq/wlogin_sdk/request/a.java | 76 + .../wlogin_sdk/request/async_context.java | 52 + .../oicq/wlogin_sdk/request/b.java | 25 + .../oicq/wlogin_sdk/request/c.java | 2109 ++ .../oicq/wlogin_sdk/request/d.java | 49 + .../oicq/wlogin_sdk/request/e.java | 66 + .../oicq/wlogin_sdk/request/f.java | 21 + .../oicq/wlogin_sdk/request/g.java | 27 + .../oicq/wlogin_sdk/request/h.java | 56 + .../oicq/wlogin_sdk/request/i.java | 98 + .../oicq/wlogin_sdk/request/j.java | 3515 +++ .../oicq/wlogin_sdk/request/k.java | 439 + .../oicq/wlogin_sdk/request/l.java | 240 + .../oicq/wlogin_sdk/request/m.java | 296 + .../oicq/wlogin_sdk/request/n.java | 94 + .../oicq/wlogin_sdk/request/o.java | 154 + .../oicq/wlogin_sdk/request/p.java | 96 + .../oicq/wlogin_sdk/request/q.java | 123 + .../oicq/wlogin_sdk/request/r.java | 143 + .../oicq/wlogin_sdk/request/s.java | 124 + .../oicq/wlogin_sdk/request/t.java | 714 + .../oicq/wlogin_sdk/request/u.java | 177 + .../oicq/wlogin_sdk/request/v.java | 153 + .../oicq/wlogin_sdk/request/w.java | 106 + .../oicq/wlogin_sdk/request/x.java | 116 + .../oicq/wlogin_sdk/request/y.java | 299 + .../oicq/wlogin_sdk/request/z.java | 432 + .../wlogin_sdk/sharemem/WloginLoginInfo.java | 69 + .../wlogin_sdk/sharemem/WloginSigInfo$1.java | 24 + .../wlogin_sdk/sharemem/WloginSigInfo.java | 417 + .../sharemem/WloginSimpleInfo$1.java | 24 + .../wlogin_sdk/sharemem/WloginSimpleInfo.java | 301 + .../oicq/wlogin_sdk/sharemem/a.java | 24 + .../oicq/wlogin_sdk/tools/EcdhCrypt.java | 72 + .../oicq/wlogin_sdk/tools/ErrMsg$1.java | 24 + .../oicq/wlogin_sdk/tools/ErrMsg.java | 119 + .../oicq/wlogin_sdk/tools/InternationMsg.java | 48 + .../oicq/wlogin_sdk/tools/LogCallBack.java | 18 + .../oicq/wlogin_sdk/tools/MD5.java | 729 + .../oicq/wlogin_sdk/tools/RSACrypt.java | 579 + .../classes.jar/oicq/wlogin_sdk/tools/a.java | 396 + .../classes.jar/oicq/wlogin_sdk/tools/b.java | 109 + .../oicq/wlogin_sdk/tools/cryptor.java | 34 + .../oicq/wlogin_sdk/tools/util.java | 3239 ++ .../classes.jar/tmsdk/common/a.java | 49 + .../classes.jar/tmsdk/common/a/a.java | 9 + .../classes.jar/tmsdk/common/a/b.java | 51 + .../classes.jar/tmsdk/common/b.java | 17 + .../classes.jar/tmsdk/common/b/a.java | 20 + .../classes.jar/tmsdk/common/b/b.java | 18 + .../classes.jar/tmsdk/common/c/a/a.java | 59 + .../classes.jar/tmsdk/common/c/a/b.java | 32 + .../classes.jar/tmsdk/common/c/a/c.java | 223 + .../classes.jar/tmsdk/common/c/a/d.java | 29 + .../classes.jar/tmsdk/common/c/a/e.java | 20 + .../classes.jar/tmsdk/common/c/a/f.java | 51 + .../classes.jar/tmsdk/common/c/a/g.java | 123 + .../classes.jar/tmsdk/common/c/a/h.java | 44 + .../classes.jar/tmsdk/common/d/a/a/a.java | 65 + .../classes.jar/tmsdk/common/d/a/a/b.java | 1014 + .../classes.jar/tmsdk/common/d/a/a/c.java | 23 + .../classes.jar/tmsdk/common/d/a/a/d.java | 551 + .../classes.jar/tmsdk/common/d/a/b/A.java | 36 + .../classes.jar/tmsdk/common/d/a/b/B.java | 36 + .../classes.jar/tmsdk/common/d/a/b/C.java | 21 + .../classes.jar/tmsdk/common/d/a/b/D_1.java | 36 + .../classes.jar/tmsdk/common/d/a/b/E_1.java | 32 + .../classes.jar/tmsdk/common/d/a/b/F.java | 26 + .../classes.jar/tmsdk/common/d/a/b/G_1.java | 75 + .../classes.jar/tmsdk/common/d/a/b/H.java | 18 + .../classes.jar/tmsdk/common/d/a/b/I.java | 18 + .../classes.jar/tmsdk/common/d/a/b/J.java | 46 + .../classes.jar/tmsdk/common/d/a/b/a_1.java | 23 + .../classes.jar/tmsdk/common/d/a/b/b_1.java | 206 + .../classes.jar/tmsdk/common/d/a/b/c_1.java | 370 + .../classes.jar/tmsdk/common/d/a/b/d.java | 20 + .../classes.jar/tmsdk/common/d/a/b/e.java | 24 + .../classes.jar/tmsdk/common/d/a/b/f_1.java | 12 + .../classes.jar/tmsdk/common/d/a/b/g.java | 47 + .../classes.jar/tmsdk/common/d/a/b/h_1.java | 55 + .../classes.jar/tmsdk/common/d/a/b/i_1.java | 24 + .../classes.jar/tmsdk/common/d/a/b/j_1.java | 28 + .../classes.jar/tmsdk/common/d/a/b/k.java | 480 + .../classes.jar/tmsdk/common/d/a/b/l.java | 23 + .../classes.jar/tmsdk/common/d/a/b/m.java | 27 + .../classes.jar/tmsdk/common/d/a/b/n.java | 27 + .../classes.jar/tmsdk/common/d/a/b/o.java | 733 + .../classes.jar/tmsdk/common/d/a/b/p.java | 28 + .../classes.jar/tmsdk/common/d/a/b/q.java | 42 + .../classes.jar/tmsdk/common/d/a/b/r.java | 148 + .../classes.jar/tmsdk/common/d/a/b/s.java | 63 + .../classes.jar/tmsdk/common/d/a/b/t.java | 35 + .../classes.jar/tmsdk/common/d/a/b/u.java | 287 + .../classes.jar/tmsdk/common/d/a/b/v.java | 31 + .../classes.jar/tmsdk/common/d/a/b/w.java | 20 + .../classes.jar/tmsdk/common/d/a/b/x.java | 27 + .../classes.jar/tmsdk/common/d/a/b/y.java | 56 + .../classes.jar/tmsdk/common/d/a/b/z.java | 586 + .../classes.jar/tmsdk/common/d/a/c/a.java | 30 + .../classes.jar/tmsdk/common/d/a/c/b.java | 97 + .../classes.jar/tmsdk/common/d/a/c/c.java | 28 + .../classes.jar/tmsdk/common/d/a/c/d.java | 12 + .../classes.jar/tmsdk/common/d/a/c/e.java | 12 + .../classes.jar/tmsdk/common/d/a/c/f.java | 35 + .../classes.jar/tmsdk/common/d/a/c/g.java | 9 + .../classes.jar/tmsdk/common/d/a/c/h.java | 9 + .../classes.jar/tmsdk/common/d/a/c/i.java | 62 + .../classes.jar/tmsdk/common/d/a/c/j.java | 106 + .../classes.jar/tmsdk/common/d/a/c/k.java | 43 + .../classes.jar/tmsdk/common/d/a/c/l.java | 31 + .../classes.jar/tmsdk/common/d/a/c/m.java | 12 + .../classes.jar/tmsdk/common/d/a/c/n.java | 129 + .../classes.jar/tmsdk/common/d/a/c/o.java | 708 + .../classes.jar/tmsdk/common/d/a/c/p.java | 21 + .../classes.jar/tmsdk/common/d/a/c/q.java | 12 + .../classes.jar/tmsdk/common/d/a/c/r.java | 84 + .../classes.jar/tmsdk/common/d/a/c/s.java | 162 + .../classes.jar/tmsdk/common/d/a/c/t.java | 47 + .../classes.jar/tmsdk/common/d/b/a.java | 30 + .../classes.jar/tmsdk/common/d/b/b.java | 14 + .../classes.jar/tmsdk/common/e/a.java | 117 + .../classes.jar/tmsdk/common/e/b.java | 13 + .../classes.jar/tmsdk/common/e/c.java | 216 + .../classes.jar/tmsdk/common/e/d.java | 367 + .../classes.jar/tmsdk/common/e/e.java | 15 + .../classes.jar/tmsdk/common/e/f.java | 98 + .../classes.jar/tmsdk/common/e/g.java | 73 + .../classes.jar/tmsdk/common/e/h.java | 13 + .../classes.jar/tmsdk/common/e/i.java | 17 + .../classes.jar/tmsdk/common/e/j.java | 26 + .../classes.jar/tmsdk/common/e/k.java | 658 + .../classes.jar/tmsdk/common/e/l.java | 12 + .../tmsdk/common/tcc/TccCryptor.java | 128 + .../com/qq/jce/wup/wup.properties | 3 + .../lib/armeabi/libFaceAlgClinet.so | Bin 0 -> 7174736 bytes .../lib/armeabi/libFaceAlgClinetOld.so | Bin 0 -> 5286416 bytes .../lib/armeabi/libImgProcessScan.so | Bin 0 -> 50544 bytes com.tencent.token/lib/armeabi/libNativeRQD.so | Bin 0 -> 70740 bytes com.tencent.token/lib/armeabi/libQrMod.so | Bin 0 -> 208868 bytes .../lib/armeabi/libTccCryptor.so | Bin 0 -> 21660 bytes com.tencent.token/lib/armeabi/libkkdb.so | Bin 0 -> 1110748 bytes com.tencent.token/lib/armeabi/libsecure.so | Bin 0 -> 17708 bytes .../lib/armeabi/libstlport_shared.so | Bin 0 -> 390456 bytes com.tencent.token/lib/armeabi/libwtecdh.so | Bin 0 -> 13496 bytes .../original/AndroidManifest.xml | Bin 0 -> 39792 bytes .../original/META-INF/MANIFEST.MF | 2991 ++ com.tencent.token/original/META-INF/NEAL.RSA | Bin 0 -> 927 bytes com.tencent.token/original/META-INF/NEAL.SF | 2993 ++ .../res/anim/checking_arc_rotate.xml | 5 + .../res/anim/checking_line_rotate.xml | 5 + .../res/anim/dialog_menu_slide_out_go_up.xml | 5 + .../res/anim/facetip_slide_left.xml | 5 + com.tencent.token/res/anim/rotate.xml | 5 + com.tencent.token/res/anim/rotate_360.xml | 5 + .../res/anim/slide_in_bottom.xml | 6 + com.tencent.token/res/anim/slide_in_left.xml | 5 + com.tencent.token/res/anim/slide_in_right.xml | 5 + com.tencent.token/res/anim/slide_out_left.xml | 5 + .../res/anim/slide_out_right.xml | 5 + com.tencent.token/res/anim/slide_out_top.xml | 6 + .../res/color/blue_btn_color.xml | 8 + .../res/color/blue_tab_title_color.xml | 6 + .../res/color/gray_account_detail_color.xml | 8 + .../res/color/red_account_detail_color.xml | 8 + .../accountlock_green_arrow.png | Bin 0 -> 1526 bytes .../res/drawable-hdpi-v4/accountlock_lock.png | Bin 0 -> 678 bytes .../drawable-hdpi-v4/accountpage_message.png | Bin 0 -> 644 bytes .../res/drawable-hdpi-v4/addicon.png | Bin 0 -> 624 bytes .../res/drawable-hdpi-v4/bind_auth_icon.png | Bin 0 -> 4952 bytes .../drawable-hdpi-v4/btn_resend_default.9.png | Bin 0 -> 1014 bytes .../drawable-hdpi-v4/btn_resend_disable.9.png | Bin 0 -> 330 bytes .../drawable-hdpi-v4/btn_resend_pressed.9.png | Bin 0 -> 1007 bytes .../drawable-hdpi-v4/checkbox_lightbg_sel.png | Bin 0 -> 865 bytes .../checkbox_lightbg_unsel.png | Bin 0 -> 451 bytes .../res/drawable-hdpi-v4/copyright.png | Bin 0 -> 1829 bytes .../res/drawable-hdpi-v4/dialog_sms_light.png | Bin 0 -> 14572 bytes .../dialog_sms_title_icon1.png | Bin 0 -> 1627 bytes .../dialog_sms_title_icon2.png | Bin 0 -> 1759 bytes .../res/drawable-hdpi-v4/dot_empty.png | Bin 0 -> 336 bytes .../res/drawable-hdpi-v4/dot_full.png | Bin 0 -> 336 bytes .../dual_msg_content_bg.9.png | Bin 0 -> 1046 bytes .../drawable-hdpi-v4/dual_msg_door_edge.png | Bin 0 -> 127 bytes .../drawable-hdpi-v4/dual_msg_down_edge.png | Bin 0 -> 3000 bytes .../dual_msg_down_edge_back.png | Bin 0 -> 118 bytes .../res/drawable-hdpi-v4/dual_msg_head_bg.png | Bin 0 -> 8343 bytes .../dual_msg_up_edge_back.png | Bin 0 -> 119 bytes .../res/drawable-hdpi-v4/edit_text_bg.9.png | Bin 0 -> 931 bytes .../drawable-hdpi-v4/edit_text_bg_hf.9.png | Bin 0 -> 504 bytes .../res/drawable-hdpi-v4/face_light.png | Bin 0 -> 1222 bytes .../res/drawable-hdpi-v4/feature0.png | Bin 0 -> 6670 bytes .../res/drawable-hdpi-v4/feature1.png | Bin 0 -> 1996 bytes .../res/drawable-hdpi-v4/feature_btn.png | Bin 0 -> 2173 bytes .../res/drawable-hdpi-v4/guidiv_five.png | Bin 0 -> 25884 bytes .../res/drawable-hdpi-v4/guidiv_fore.png | Bin 0 -> 57414 bytes .../res/drawable-hdpi-v4/guidiv_one.png | Bin 0 -> 28940 bytes .../res/drawable-hdpi-v4/guidiv_three.png | Bin 0 -> 69815 bytes .../res/drawable-hdpi-v4/guidiv_two.png | Bin 0 -> 45836 bytes .../res/drawable-hdpi-v4/guidp.png | Bin 0 -> 154 bytes .../res/drawable-hdpi-v4/guidps.png | Bin 0 -> 143 bytes .../res/drawable-hdpi-v4/guidtext_five.png | Bin 0 -> 2320 bytes .../res/drawable-hdpi-v4/guidtext_fore.png | Bin 0 -> 4865 bytes .../res/drawable-hdpi-v4/guidtext_one.png | Bin 0 -> 5060 bytes .../res/drawable-hdpi-v4/guidtext_three.png | Bin 0 -> 4552 bytes .../res/drawable-hdpi-v4/guidtext_two.png | Bin 0 -> 4900 bytes .../res/drawable-hdpi-v4/icon_checked.png | Bin 0 -> 1536 bytes .../res/drawable-hdpi-v4/icon_error.png | Bin 0 -> 538 bytes .../res/drawable-hdpi-v4/icon_game.png | Bin 0 -> 4178 bytes .../res/drawable-hdpi-v4/icon_push.png | Bin 0 -> 2416 bytes .../res/drawable-hdpi-v4/icon_qq.png | Bin 0 -> 2173 bytes .../res/drawable-hdpi-v4/icon_unchecked.png | Bin 0 -> 578 bytes .../res/drawable-hdpi-v4/icon_wechat.png | Bin 0 -> 2195 bytes .../res/drawable-hdpi-v4/input_bg.9.png | Bin 0 -> 782 bytes .../res/drawable-hdpi-v4/intro_login_msg.png | Bin 0 -> 5453 bytes .../res/drawable-hdpi-v4/jianling_banner.jpg | Bin 0 -> 45302 bytes .../res/drawable-hdpi-v4/jianling_role.png | Bin 0 -> 59277 bytes .../res/drawable-hdpi-v4/jl_get_back.png | Bin 0 -> 3280 bytes .../res/drawable-hdpi-v4/jl_xinyue.png | Bin 0 -> 1236 bytes .../res/drawable-hdpi-v4/logo.png | Bin 0 -> 16659 bytes .../res/drawable-hdpi-v4/msg_icon_m.png | Bin 0 -> 672 bytes .../res/drawable-hdpi-v4/msg_icon_mw.png | Bin 0 -> 1307 bytes .../res/drawable-hdpi-v4/msg_icon_p.png | Bin 0 -> 665 bytes .../res/drawable-hdpi-v4/msg_icon_w.png | Bin 0 -> 1631 bytes .../res/drawable-hdpi-v4/pro_dialog_icon.png | Bin 0 -> 2249 bytes .../drawable-hdpi-v4/pro_dialog_icon_bg.png | Bin 0 -> 2761 bytes .../pro_dialog_shutdown_icon.png | Bin 0 -> 345 bytes .../pro_dialog_shutdown_icon_pressed.png | Bin 0 -> 801 bytes .../drawable-hdpi-v4/realname_toast_bg.png | Bin 0 -> 1625 bytes .../drawable-hdpi-v4/realname_toast_icon.png | Bin 0 -> 2543 bytes .../drawable-hdpi-v4/switch_button_bottom.png | Bin 0 -> 638 bytes .../drawable-hdpi-v4/switch_button_button.png | Bin 0 -> 509 bytes .../drawable-hdpi-v4/switch_button_mask.png | Bin 0 -> 579 bytes .../utils_account_lock_close.png | Bin 0 -> 2484 bytes .../utils_account_lock_close_pressed.png | Bin 0 -> 2498 bytes .../utils_account_lock_dialog_bg.9.png | Bin 0 -> 1508 bytes .../utils_account_lock_tip_img.png | Bin 0 -> 6236 bytes .../res/drawable-hdpi-v4/zzb_icon.png | Bin 0 -> 904 bytes .../res/drawable-large-v4/icon_push.png | Bin 0 -> 3537 bytes .../startpwd_gesture_logo.png | Bin 0 -> 4892 bytes .../startpwd_gesture_logo_green.png | Bin 0 -> 5573 bytes .../startpwd_gesture_logo_red.png | Bin 0 -> 5527 bytes .../account_detail_nextred.png | Bin 0 -> 355 bytes .../accountlock_green_arrow.png | Bin 0 -> 1064 bytes .../res/drawable-mdpi-v4/accountlock_lock.png | Bin 0 -> 504 bytes .../drawable-mdpi-v4/btn_resend_default.9.png | Bin 0 -> 577 bytes .../drawable-mdpi-v4/btn_resend_disable.9.png | Bin 0 -> 230 bytes .../drawable-mdpi-v4/btn_resend_pressed.9.png | Bin 0 -> 576 bytes .../drawable-mdpi-v4/checkbox_lightbg_sel.png | Bin 0 -> 568 bytes .../checkbox_lightbg_unsel.png | Bin 0 -> 327 bytes .../dual_msg_content_bg.9.png | Bin 0 -> 735 bytes .../drawable-mdpi-v4/dual_msg_door_edge.png | Bin 0 -> 127 bytes .../drawable-mdpi-v4/dual_msg_down_edge.png | Bin 0 -> 2016 bytes .../dual_msg_down_edge_back.png | Bin 0 -> 108 bytes .../res/drawable-mdpi-v4/dual_msg_head_bg.png | Bin 0 -> 4584 bytes .../dual_msg_up_edge_back.png | Bin 0 -> 106 bytes .../res/drawable-mdpi-v4/edit_text_bg.9.png | Bin 0 -> 587 bytes .../drawable-mdpi-v4/edit_text_bg_hf.9.png | Bin 0 -> 347 bytes .../res/drawable-mdpi-v4/input_bg.9.png | Bin 0 -> 558 bytes .../res/drawable-mdpi-v4/jianling_banner.jpg | Bin 0 -> 18568 bytes .../res/drawable-mdpi-v4/jianling_role.png | Bin 0 -> 15385 bytes .../res/drawable-mdpi-v4/jl__xinyue.png | Bin 0 -> 741 bytes .../res/drawable-mdpi-v4/jl_get_back.png | Bin 0 -> 2511 bytes .../res/drawable-mdpi-v4/pro_dialog_icon.png | Bin 0 -> 1308 bytes .../drawable-mdpi-v4/pro_dialog_icon_bg.png | Bin 0 -> 2089 bytes .../pro_dialog_shutdown_icon.png | Bin 0 -> 266 bytes .../pro_dialog_shutdown_icon_pressed.png | Bin 0 -> 714 bytes .../utils_account_lock_close.png | Bin 0 -> 1347 bytes .../utils_account_lock_close_pressed.png | Bin 0 -> 1340 bytes .../utils_account_lock_tip_img.png | Bin 0 -> 3898 bytes .../web_browse_back_normal.png | Bin 0 -> 1032 bytes .../web_browse_back_pressed.png | Bin 0 -> 988 bytes .../res/drawable-mdpi-v4/web_browse_bg.png | Bin 0 -> 133 bytes .../web_browse_forward_normal.png | Bin 0 -> 1022 bytes .../web_browse_forward_pressed.png | Bin 0 -> 982 bytes .../drawable-mdpi-v4/web_browse_refresh.png | Bin 0 -> 1309 bytes .../accountlock_green_arrow.png | Bin 0 -> 1869 bytes .../drawable-xhdpi-v4/accountlock_lock.png | Bin 0 -> 1066 bytes .../drawable-xhdpi-v4/accountpage_message.png | Bin 0 -> 906 bytes .../drawable-xhdpi-v4/active_mobile_green.png | Bin 0 -> 801 bytes .../drawable-xhdpi-v4/active_mobile_red.png | Bin 0 -> 706 bytes .../active_succ_img_border.png | Bin 0 -> 2931 bytes .../res/drawable-xhdpi-v4/bind_auth_icon.png | Bin 0 -> 7630 bytes .../btn_resend_default.9.png | Bin 0 -> 1195 bytes .../btn_resend_disable.9.png | Bin 0 -> 384 bytes .../btn_resend_pressed.9.png | Bin 0 -> 1201 bytes .../checkbox_lightbg_sel.png | Bin 0 -> 1150 bytes .../checkbox_lightbg_unsel.png | Bin 0 -> 760 bytes .../res/drawable-xhdpi-v4/copyright.png | Bin 0 -> 2095 bytes .../dialog_sms_title_icon1.png | Bin 0 -> 2220 bytes .../dialog_sms_title_icon2.png | Bin 0 -> 2580 bytes .../res/drawable-xhdpi-v4/dot_empty.png | Bin 0 -> 404 bytes .../res/drawable-xhdpi-v4/dot_full.png | Bin 0 -> 413 bytes .../dual_msg_content_bg.9.png | Bin 0 -> 1394 bytes .../drawable-xhdpi-v4/dual_msg_door_edge.png | Bin 0 -> 139 bytes .../drawable-xhdpi-v4/dual_msg_down_edge.png | Bin 0 -> 4937 bytes .../drawable-xhdpi-v4/dual_msg_head_bg.png | Bin 0 -> 14772 bytes .../res/drawable-xhdpi-v4/edit_text_bg.9.png | Bin 0 -> 1295 bytes .../drawable-xhdpi-v4/edit_text_bg_hf.9.png | Bin 0 -> 734 bytes .../res/drawable-xhdpi-v4/face_icon.png | Bin 0 -> 7325 bytes .../res/drawable-xhdpi-v4/face_light.png | Bin 0 -> 1872 bytes .../res/drawable-xhdpi-v4/feature0.png | Bin 0 -> 9947 bytes .../res/drawable-xhdpi-v4/feature1.png | Bin 0 -> 2970 bytes .../res/drawable-xhdpi-v4/feature_btn.png | Bin 0 -> 3084 bytes .../res/drawable-xhdpi-v4/guid_btn.png | Bin 0 -> 2512 bytes .../res/drawable-xhdpi-v4/guidiv_five.png | Bin 0 -> 47229 bytes .../res/drawable-xhdpi-v4/guidiv_fore.png | Bin 0 -> 114602 bytes .../res/drawable-xhdpi-v4/guidiv_one.png | Bin 0 -> 60611 bytes .../res/drawable-xhdpi-v4/guidiv_three.png | Bin 0 -> 147885 bytes .../res/drawable-xhdpi-v4/guidiv_two.png | Bin 0 -> 90316 bytes .../res/drawable-xhdpi-v4/guidtext_five.png | Bin 0 -> 3799 bytes .../res/drawable-xhdpi-v4/guidtext_fore.png | Bin 0 -> 8208 bytes .../res/drawable-xhdpi-v4/guidtext_one.png | Bin 0 -> 9973 bytes .../res/drawable-xhdpi-v4/guidtext_three.png | Bin 0 -> 7413 bytes .../res/drawable-xhdpi-v4/guidtext_two.png | Bin 0 -> 8226 bytes .../res/drawable-xhdpi-v4/icon.png | Bin 0 -> 2264 bytes .../res/drawable-xhdpi-v4/icon_error.png | Bin 0 -> 993 bytes .../res/drawable-xhdpi-v4/icon_game.png | Bin 0 -> 7642 bytes .../res/drawable-xhdpi-v4/icon_push.png | Bin 0 -> 3537 bytes .../res/drawable-xhdpi-v4/icon_qq.png | Bin 0 -> 3956 bytes .../res/drawable-xhdpi-v4/icon_wechat.png | Bin 0 -> 3284 bytes .../res/drawable-xhdpi-v4/input_bg.9.png | Bin 0 -> 1104 bytes .../res/drawable-xhdpi-v4/intro_login_msg.png | Bin 0 -> 8149 bytes .../res/drawable-xhdpi-v4/jianling_banner.jpg | Bin 0 -> 49537 bytes .../res/drawable-xhdpi-v4/jianling_role.png | Bin 0 -> 123889 bytes .../res/drawable-xhdpi-v4/jl_get_back.png | Bin 0 -> 4172 bytes .../res/drawable-xhdpi-v4/jl_xinyue.png | Bin 0 -> 1433 bytes .../res/drawable-xhdpi-v4/login_msg_place.png | Bin 0 -> 10988 bytes .../res/drawable-xhdpi-v4/logo.png | Bin 0 -> 24841 bytes .../res/drawable-xhdpi-v4/msg_icon_m.png | Bin 0 -> 795 bytes .../res/drawable-xhdpi-v4/msg_icon_mw.png | Bin 0 -> 1990 bytes .../res/drawable-xhdpi-v4/msg_icon_p.png | Bin 0 -> 908 bytes .../res/drawable-xhdpi-v4/msg_icon_w.png | Bin 0 -> 2792 bytes .../res/drawable-xhdpi-v4/pro_dialog_icon.png | Bin 0 -> 2414 bytes .../drawable-xhdpi-v4/pro_dialog_icon_bg.png | Bin 0 -> 3798 bytes .../pro_dialog_shutdown_icon.png | Bin 0 -> 458 bytes .../pro_dialog_shutdown_icon_pressed.png | Bin 0 -> 787 bytes .../drawable-xhdpi-v4/realname_toast_bg.png | Bin 0 -> 2372 bytes .../drawable-xhdpi-v4/realname_toast_icon.png | Bin 0 -> 3678 bytes .../switch_button_bottom.png | Bin 0 -> 891 bytes .../switch_button_button.png | Bin 0 -> 1176 bytes .../drawable-xhdpi-v4/switch_button_mask.png | Bin 0 -> 650 bytes .../utils_account_lock_close.png | Bin 0 -> 3842 bytes .../utils_account_lock_close_pressed.png | Bin 0 -> 3862 bytes .../utils_account_lock_tip_img.png | Bin 0 -> 10356 bytes .../utils_mod_mobile_progress_bar.png | Bin 0 -> 2250 bytes .../res/drawable-xhdpi-v4/zzb_icon.png | Bin 0 -> 1460 bytes .../res/drawable-xxhdpi-v4/aboutandhelp.png | Bin 0 -> 1884 bytes .../drawable-xxhdpi-v4/account_detail_ok.png | Bin 0 -> 1770 bytes .../account_detail_refresh.png | Bin 0 -> 1964 bytes .../account_detail_sigh.png | Bin 0 -> 1108 bytes .../account_detail_warning.png | Bin 0 -> 1081 bytes .../account_manage_modify_pwd.png | Bin 0 -> 996 bytes .../account_manage_qbqd.png | Bin 0 -> 1642 bytes .../account_manage_setting.png | Bin 0 -> 1130 bytes .../account_mange_game_proctect.png | Bin 0 -> 1185 bytes .../account_not_verify_bg.png | Bin 0 -> 627 bytes .../drawable-xxhdpi-v4/account_pull_array.png | Bin 0 -> 1266 bytes .../accountpage_message.png | Bin 0 -> 1186 bytes .../add_account_tip_btn_bg.png | Bin 0 -> 594 bytes .../add_account_tip_btn_plus.png | Bin 0 -> 143 bytes .../add_account_tip_close.png | Bin 0 -> 1623 bytes .../add_account_tip_title_bg.png | Bin 0 -> 571 bytes .../add_account_tip_title_bg_up.png | Bin 0 -> 1031 bytes .../add_account_tip_title_pic.png | Bin 0 -> 16713 bytes .../add_account_tip_verify.png | Bin 0 -> 23845 bytes .../res/drawable-xxhdpi-v4/addicon.png | Bin 0 -> 1705 bytes .../res/drawable-xxhdpi-v4/app_affected.png | Bin 0 -> 38816 bytes .../res/drawable-xxhdpi-v4/arrow1.png | Bin 0 -> 3997 bytes .../res/drawable-xxhdpi-v4/arrow2.png | Bin 0 -> 4024 bytes .../res/drawable-xxhdpi-v4/arrow3.png | Bin 0 -> 4354 bytes .../res/drawable-xxhdpi-v4/arrow4.png | Bin 0 -> 4316 bytes .../res/drawable-xxhdpi-v4/arrow_back.png | Bin 0 -> 911 bytes .../drawable-xxhdpi-v4/arrow_back_gray.png | Bin 0 -> 911 bytes .../drawable-xxhdpi-v4/arrow_back_white.png | Bin 0 -> 911 bytes .../res/drawable-xxhdpi-v4/arrow_down.png | Bin 0 -> 992 bytes .../res/drawable-xxhdpi-v4/arrow_gray.png | Bin 0 -> 603 bytes .../res/drawable-xxhdpi-v4/bannerpoint.png | Bin 0 -> 267 bytes .../res/drawable-xxhdpi-v4/bannerpoints.png | Bin 0 -> 291 bytes .../res/drawable-xxhdpi-v4/beta.png | Bin 0 -> 1416 bytes .../res/drawable-xxhdpi-v4/bind_auth_icon.png | Bin 0 -> 11793 bytes .../res/drawable-xxhdpi-v4/bt_1080.png | Bin 0 -> 3102 bytes .../res/drawable-xxhdpi-v4/btn_blue.9.png | Bin 0 -> 2244 bytes .../btn_verify_original.png | Bin 0 -> 2426 bytes .../res/drawable-xxhdpi-v4/btn_white.9.png | Bin 0 -> 3286 bytes .../res/drawable-xxhdpi-v4/cannotchangeiv.png | Bin 0 -> 32074 bytes .../drawable-xxhdpi-v4/cannotchangepsw.png | Bin 0 -> 4405 bytes .../res/drawable-xxhdpi-v4/checking_arc.png | Bin 0 -> 2355 bytes .../res/drawable-xxhdpi-v4/checking_line.png | Bin 0 -> 2461 bytes .../res/drawable-xxhdpi-v4/common_doubt.png | Bin 0 -> 6566 bytes .../drawable-xxhdpi-v4/common_doubt_gray.png | Bin 0 -> 9748 bytes .../res/drawable-xxhdpi-v4/common_failure.png | Bin 0 -> 5047 bytes .../common_failure_gray.png | Bin 0 -> 8865 bytes .../res/drawable-xxhdpi-v4/common_info.png | Bin 0 -> 4876 bytes .../drawable-xxhdpi-v4/common_info_gray.png | Bin 0 -> 8716 bytes .../res/drawable-xxhdpi-v4/common_new.png | Bin 0 -> 748 bytes .../res/drawable-xxhdpi-v4/common_success.png | Bin 0 -> 6383 bytes .../common_success_gray.png | Bin 0 -> 9610 bytes .../common_success_small.png | Bin 0 -> 1809 bytes .../res/drawable-xxhdpi-v4/commonvry.png | Bin 0 -> 2033 bytes .../drawable-xxhdpi-v4/commonvry_succ1.png | Bin 0 -> 49939 bytes .../drawable-xxhdpi-v4/commonvry_succ2.png | Bin 0 -> 8787 bytes .../drawable-xxhdpi-v4/commonvry_unlock.png | Bin 0 -> 1806 bytes .../res/drawable-xxhdpi-v4/commonvry_zzb.png | Bin 0 -> 1870 bytes .../res/drawable-xxhdpi-v4/configidicon.png | Bin 0 -> 12727 bytes .../res/drawable-xxhdpi-v4/copyright.png | Bin 0 -> 4427 bytes .../drawable-xxhdpi-v4/default_face_icon.png | Bin 0 -> 11669 bytes .../res/drawable-xxhdpi-v4/detail_back.9.png | Bin 0 -> 440 bytes .../res/drawable-xxhdpi-v4/dot_empty.png | Bin 0 -> 395 bytes .../res/drawable-xxhdpi-v4/dot_full.png | Bin 0 -> 388 bytes .../drawable-xxhdpi-v4/error_icon_general.png | Bin 0 -> 18631 bytes .../drawable-xxhdpi-v4/error_icon_network.png | Bin 0 -> 39766 bytes .../res/drawable-xxhdpi-v4/face.png | Bin 0 -> 43864 bytes .../res/drawable-xxhdpi-v4/face_add_tips.png | Bin 0 -> 55058 bytes .../res/drawable-xxhdpi-v4/face_bg.png | Bin 0 -> 4048 bytes .../res/drawable-xxhdpi-v4/face_bg_black.png | Bin 0 -> 4048 bytes .../drawable-xxhdpi-v4/face_changemobile.png | Bin 0 -> 6820 bytes .../drawable-xxhdpi-v4/face_create_note.png | Bin 0 -> 28932 bytes .../res/drawable-xxhdpi-v4/face_icon.png | Bin 0 -> 12547 bytes .../res/drawable-xxhdpi-v4/face_light.png | Bin 0 -> 5009 bytes .../res/drawable-xxhdpi-v4/face_light_zzb.png | Bin 0 -> 3219 bytes .../res/drawable-xxhdpi-v4/face_tips.png | Bin 0 -> 3916 bytes .../res/drawable-xxhdpi-v4/face_zzb.png | Bin 0 -> 43939 bytes .../res/drawable-xxhdpi-v4/faceerricon.png | Bin 0 -> 14439 bytes .../res/drawable-xxhdpi-v4/feature0.png | Bin 0 -> 15335 bytes .../res/drawable-xxhdpi-v4/feature1.png | Bin 0 -> 4564 bytes .../res/drawable-xxhdpi-v4/feature_btn.png | Bin 0 -> 4614 bytes .../drawable-xxhdpi-v4/find_items_icon.png | Bin 0 -> 6641 bytes .../res/drawable-xxhdpi-v4/findaccount.png | Bin 0 -> 4727 bytes .../res/drawable-xxhdpi-v4/findaccountiv.png | Bin 0 -> 23668 bytes .../res/drawable-xxhdpi-v4/flag.png | Bin 0 -> 6263 bytes .../res/drawable-xxhdpi-v4/flagbt.png | Bin 0 -> 155 bytes .../res/drawable-xxhdpi-v4/flagiv.png | Bin 0 -> 35234 bytes .../res/drawable-xxhdpi-v4/forever.png | Bin 0 -> 3471 bytes .../res/drawable-xxhdpi-v4/foreveriv.png | Bin 0 -> 28068 bytes .../drawable-xxhdpi-v4/fr_btn_verify_gel.png | Bin 0 -> 2088 bytes .../fr_btn_verify_login.png | Bin 0 -> 2151 bytes .../res/drawable-xxhdpi-v4/fr_error_dark.png | Bin 0 -> 4643 bytes .../res/drawable-xxhdpi-v4/fr_process.png | Bin 0 -> 1045 bytes .../drawable-xxhdpi-v4/fr_process_slow.png | Bin 0 -> 4271 bytes .../drawable-xxhdpi-v4/fr_verify_success.png | Bin 0 -> 2654 bytes .../has_real_on_current_device.png | Bin 0 -> 17521 bytes .../has_real_on_other_device.png | Bin 0 -> 14274 bytes .../res/drawable-xxhdpi-v4/headnologin.png | Bin 0 -> 2397 bytes .../res/drawable-xxhdpi-v4/hotpromoteicon.png | Bin 0 -> 679 bytes .../res/drawable-xxhdpi-v4/ic_launcher.png | Bin 0 -> 17889 bytes .../res/drawable-xxhdpi-v4/ico_add_uin.png | Bin 0 -> 170 bytes .../res/drawable-xxhdpi-v4/ico_no_msg.png | Bin 0 -> 9668 bytes .../drawable-xxhdpi-v4/icon_account_lock.png | Bin 0 -> 3931 bytes .../res/drawable-xxhdpi-v4/icon_error.png | Bin 0 -> 1353 bytes .../res/drawable-xxhdpi-v4/icon_game.png | Bin 0 -> 12375 bytes .../res/drawable-xxhdpi-v4/icon_game_lock.png | Bin 0 -> 4486 bytes .../drawable-xxhdpi-v4/icon_game_protect.png | Bin 0 -> 4437 bytes .../drawable-xxhdpi-v4/icon_login_city.png | Bin 0 -> 5178 bytes .../drawable-xxhdpi-v4/icon_mail_protect.png | Bin 0 -> 3725 bytes .../drawable-xxhdpi-v4/icon_modify_pwd.png | Bin 0 -> 3543 bytes .../res/drawable-xxhdpi-v4/icon_new.png | Bin 0 -> 900 bytes .../res/drawable-xxhdpi-v4/icon_pc.png | Bin 0 -> 651 bytes .../res/drawable-xxhdpi-v4/icon_phone.png | Bin 0 -> 552 bytes .../res/drawable-xxhdpi-v4/icon_popwindow.png | Bin 0 -> 442 bytes .../drawable-xxhdpi-v4/icon_qb_protect.png | Bin 0 -> 3400 bytes .../res/drawable-xxhdpi-v4/icon_qq.png | Bin 0 -> 5476 bytes .../drawable-xxhdpi-v4/icon_qq_protect.png | Bin 0 -> 3893 bytes .../res/drawable-xxhdpi-v4/icon_realname.png | Bin 0 -> 4040 bytes .../icon_recover_friends.png | Bin 0 -> 3976 bytes .../res/drawable-xxhdpi-v4/icon_web.png | Bin 0 -> 775 bytes .../res/drawable-xxhdpi-v4/icon_wechat.png | Bin 0 -> 5495 bytes .../res/drawable-xxhdpi-v4/iderricon.png | Bin 0 -> 10098 bytes .../drawable-xxhdpi-v4/intro_login_msg.png | Bin 0 -> 12694 bytes .../res/drawable-xxhdpi-v4/jiangbeiicon.png | Bin 0 -> 170673 bytes .../res/drawable-xxhdpi-v4/labicon.png | Bin 0 -> 1053 bytes .../res/drawable-xxhdpi-v4/leftbottom.png | Bin 0 -> 117 bytes .../res/drawable-xxhdpi-v4/lefttop.png | Bin 0 -> 114 bytes .../res/drawable-xxhdpi-v4/list_gray_dot.png | Bin 0 -> 274 bytes .../res/drawable-xxhdpi-v4/loading_light.png | Bin 0 -> 2627 bytes .../loading_light_with_array_normal_user.png | Bin 0 -> 3668 bytes .../loading_light_with_array_zzb_user.png | Bin 0 -> 3210 bytes .../res/drawable-xxhdpi-v4/loading_white.png | Bin 0 -> 6489 bytes .../res/drawable-xxhdpi-v4/login_address.png | Bin 0 -> 4588 bytes .../drawable-xxhdpi-v4/login_msg_dot_end.png | Bin 0 -> 506 bytes .../login_msg_dot_green_end.png | Bin 0 -> 1996 bytes .../login_msg_dot_red_end.png | Bin 0 -> 1766 bytes .../drawable-xxhdpi-v4/login_msg_item_ipc.png | Bin 0 -> 1451 bytes .../login_msg_item_normal.png | Bin 0 -> 1238 bytes .../login_msg_item_press.png | Bin 0 -> 1161 bytes .../drawable-xxhdpi-v4/login_msg_time_bg1.png | Bin 0 -> 2013 bytes .../drawable-xxhdpi-v4/login_msg_time_bg3.png | Bin 0 -> 1804 bytes .../drawable-xxhdpi-v4/login_msg_timeline.png | Bin 0 -> 116 bytes .../res/drawable-xxhdpi-v4/logo.png | Bin 0 -> 37683 bytes .../res/drawable-xxhdpi-v4/map.png | Bin 0 -> 32204 bytes .../res/drawable-xxhdpi-v4/map_point.png | Bin 0 -> 855 bytes .../res/drawable-xxhdpi-v4/mb_sub_face.png | Bin 0 -> 911 bytes .../res/drawable-xxhdpi-v4/mb_sub_mobile.png | Bin 0 -> 231 bytes .../drawable-xxhdpi-v4/mb_sub_qq_token.png | Bin 0 -> 725 bytes .../drawable-xxhdpi-v4/mb_sub_question.png | Bin 0 -> 345 bytes .../drawable-xxhdpi-v4/mb_sub_realname.png | Bin 0 -> 994 bytes .../res/drawable-xxhdpi-v4/mb_sub_set_mb.png | Bin 0 -> 1825 bytes .../res/drawable-xxhdpi-v4/msg_icon_m.png | Bin 0 -> 1064 bytes .../res/drawable-xxhdpi-v4/msg_icon_mw.png | Bin 0 -> 3027 bytes .../res/drawable-xxhdpi-v4/msg_icon_p.png | Bin 0 -> 1254 bytes .../res/drawable-xxhdpi-v4/msg_icon_w.png | Bin 0 -> 4330 bytes .../drawable-xxhdpi-v4/my_account_login.png | Bin 0 -> 2274 bytes .../res/drawable-xxhdpi-v4/my_mb.png | Bin 0 -> 1812 bytes .../res/drawable-xxhdpi-v4/my_password.png | Bin 0 -> 2023 bytes .../drawable-xxhdpi-v4/my_password_green.png | Bin 0 -> 6748 bytes .../drawable-xxhdpi-v4/my_password_red.png | Bin 0 -> 6185 bytes .../drawable-xxhdpi-v4/my_password_yellow.png | Bin 0 -> 6043 bytes .../res/drawable-xxhdpi-v4/my_protection.png | Bin 0 -> 1622 bytes .../drawable-xxhdpi-v4/net_active_skip.png | Bin 0 -> 1483 bytes .../res/drawable-xxhdpi-v4/no_app_affect.png | Bin 0 -> 47829 bytes .../res/drawable-xxhdpi-v4/no_login.png | Bin 0 -> 6846 bytes .../drawable-xxhdpi-v4/no_login_default.png | Bin 0 -> 3027 bytes .../no_real_has_qualification.png | Bin 0 -> 11817 bytes .../res/drawable-xxhdpi-v4/passwordicon.png | Bin 0 -> 1359 bytes .../res/drawable-xxhdpi-v4/playbt.png | Bin 0 -> 3765 bytes .../res/drawable-xxhdpi-v4/point.png | Bin 0 -> 351 bytes .../res/drawable-xxhdpi-v4/points.png | Bin 0 -> 394 bytes .../protec_sub_account_lock.png | Bin 0 -> 1648 bytes .../protec_sub_game_lock.png | Bin 0 -> 1424 bytes .../protec_sub_game_protec.png | Bin 0 -> 1818 bytes .../drawable-xxhdpi-v4/protec_sub_mail.png | Bin 0 -> 1350 bytes .../res/drawable-xxhdpi-v4/protec_sub_qb.png | Bin 0 -> 2219 bytes .../res/drawable-xxhdpi-v4/protec_sub_qq.png | Bin 0 -> 1892 bytes .../drawable-xxhdpi-v4/protec_sub_title.png | Bin 0 -> 1546 bytes .../qq_gary_normal_user.png | Bin 0 -> 9114 bytes .../qq_gary_normal_user_checking.png | Bin 0 -> 5703 bytes .../qq_light_yellow_zzb.png | Bin 0 -> 8816 bytes .../qq_no_risk_normal_user.png | Bin 0 -> 12802 bytes .../qq_strength_normal_user.png | Bin 0 -> 13094 bytes .../qq_white_circle_zzb.png | Bin 0 -> 32013 bytes .../qq_white_normal_user_checking.png | Bin 0 -> 8472 bytes .../qq_white_normal_user_new.png | Bin 0 -> 12644 bytes .../qq_white_normal_user_safe.png | Bin 0 -> 13720 bytes .../res/drawable-xxhdpi-v4/qq_white_zzb.png | Bin 0 -> 10467 bytes .../qq_with_risk_normal_user.png | Bin 0 -> 13988 bytes .../qq_yellow_circle_zzb.png | Bin 0 -> 54528 bytes .../res/drawable-xxhdpi-v4/qq_yellow_zzb.png | Bin 0 -> 17558 bytes .../res/drawable-xxhdpi-v4/qr_code.png | Bin 0 -> 3358 bytes .../res/drawable-xxhdpi-v4/qrcodeicon.png | Bin 0 -> 162 bytes .../res/drawable-xxhdpi-v4/queryqqicon.png | Bin 0 -> 1985 bytes .../drawable-xxhdpi-v4/real_name_right1.png | Bin 0 -> 630 bytes .../drawable-xxhdpi-v4/real_name_right2.png | Bin 0 -> 1319 bytes .../drawable-xxhdpi-v4/real_name_right3.png | Bin 0 -> 400 bytes .../drawable-xxhdpi-v4/real_name_right4.png | Bin 0 -> 790 bytes .../realname_active_close.png | Bin 0 -> 1512 bytes .../res/drawable-xxhdpi-v4/realname_audit.png | Bin 0 -> 7717 bytes .../realname_blue_btn_bg.9.png | Bin 0 -> 4147 bytes .../res/drawable-xxhdpi-v4/realname_btn.9.png | Bin 0 -> 2386 bytes .../drawable-xxhdpi-v4/realname_complete.png | Bin 0 -> 1695 bytes .../realname_face_open_bt.9.png | Bin 0 -> 1298 bytes .../realname_facerect_back.png | Bin 0 -> 167362 bytes .../realname_facerect_front.png | Bin 0 -> 16317 bytes .../realname_findtunnel_icon.png | Bin 0 -> 35419 bytes .../res/drawable-xxhdpi-v4/realname_flag.png | Bin 0 -> 2977 bytes .../res/drawable-xxhdpi-v4/realname_guid.png | Bin 0 -> 65202 bytes .../drawable-xxhdpi-v4/realname_icon_bg.png | Bin 0 -> 9479 bytes .../realname_icon_bg_withshield.png | Bin 0 -> 18134 bytes .../drawable-xxhdpi-v4/realname_icon_find.png | Bin 0 -> 2297 bytes .../drawable-xxhdpi-v4/realname_icon_flag.png | Bin 0 -> 2088 bytes .../drawable-xxhdpi-v4/realname_icon_lock.png | Bin 0 -> 2197 bytes .../drawable-xxhdpi-v4/realname_icon_more.png | Bin 0 -> 2903 bytes .../realname_icon_shield.png | Bin 0 -> 10531 bytes .../realname_icon_shield2.png | Bin 0 -> 24386 bytes .../res/drawable-xxhdpi-v4/realname_id.png | Bin 0 -> 623 bytes .../drawable-xxhdpi-v4/realname_idimage.png | Bin 0 -> 245462 bytes .../res/drawable-xxhdpi-v4/realname_name.png | Bin 0 -> 936 bytes .../res/drawable-xxhdpi-v4/realname_new.png | Bin 0 -> 610 bytes .../drawable-xxhdpi-v4/realname_scan_face.png | Bin 0 -> 897 bytes .../drawable-xxhdpi-v4/realname_scan_id.png | Bin 0 -> 584 bytes .../realname_scanidphoto_grid.png | Bin 0 -> 41792 bytes .../realname_scanidphoto_line.png | Bin 0 -> 217 bytes .../res/drawable-xxhdpi-v4/realname_step.png | Bin 0 -> 12896 bytes .../res/drawable-xxhdpi-v4/realname_step1.png | Bin 0 -> 1223 bytes .../res/drawable-xxhdpi-v4/realname_step2.png | Bin 0 -> 1376 bytes .../res/drawable-xxhdpi-v4/realname_step3.png | Bin 0 -> 1380 bytes .../realname_takepic_icon.png | Bin 0 -> 5584 bytes .../realname_titlebar_rank.png | Bin 0 -> 636 bytes .../drawable-xxhdpi-v4/realname_toast_bg.png | Bin 0 -> 3752 bytes .../realname_toast_icon.png | Bin 0 -> 5460 bytes .../res/drawable-xxhdpi-v4/recommendicon.png | Bin 0 -> 1809 bytes .../res/drawable-xxhdpi-v4/record_tips_iv.png | Bin 0 -> 19747 bytes .../res/drawable-xxhdpi-v4/rightbottom.png | Bin 0 -> 120 bytes .../res/drawable-xxhdpi-v4/righttop.png | Bin 0 -> 114 bytes .../res/drawable-xxhdpi-v4/safenewsicon.png | Bin 0 -> 1075 bytes .../res/drawable-xxhdpi-v4/scan_bottom.png | Bin 0 -> 32521 bytes .../drawable-xxhdpi-v4/scan_middle_arc.png | Bin 0 -> 51574 bytes .../drawable-xxhdpi-v4/sendfeedbackicon.png | Bin 0 -> 1768 bytes .../res/drawable-xxhdpi-v4/settimeicon.png | Bin 0 -> 1609 bytes .../drawable-xxhdpi-v4/setting_account.png | Bin 0 -> 1117 bytes .../drawable-xxhdpi-v4/setting_feedback.png | Bin 0 -> 738 bytes .../res/drawable-xxhdpi-v4/setting_mobile.png | Bin 0 -> 342 bytes .../drawable-xxhdpi-v4/setting_promote.png | Bin 0 -> 555 bytes .../res/drawable-xxhdpi-v4/setting_set.png | Bin 0 -> 1412 bytes .../res/drawable-xxhdpi-v4/setting_util.png | Bin 0 -> 1727 bytes .../res/drawable-xxhdpi-v4/sharemenu.png | Bin 0 -> 1189 bytes .../res/drawable-xxhdpi-v4/sound_notify.png | Bin 0 -> 896 bytes .../res/drawable-xxhdpi-v4/splashback.png | Bin 0 -> 287930 bytes .../res/drawable-xxhdpi-v4/splashgobt.png | Bin 0 -> 15216 bytes .../res/drawable-xxhdpi-v4/splashnexttime.png | Bin 0 -> 3037 bytes .../drawable-xxhdpi-v4/start_upper_bug.png | Bin 0 -> 2805 bytes .../startpwd_gesture_loading.png | Bin 0 -> 2609 bytes .../startpwd_gesture_loading_yellow.png | Bin 0 -> 9980 bytes .../startpwd_gesture_logo.png | Bin 0 -> 15358 bytes .../startpwd_gesture_logo_bg.png | Bin 0 -> 28418 bytes .../startpwd_gesture_logo_green.png | Bin 0 -> 16796 bytes .../startpwd_gesture_logo_red.png | Bin 0 -> 16770 bytes .../startpwd_gesture_logo_zzb.png | Bin 0 -> 38960 bytes .../drawable-xxhdpi-v4/startup_copyright.png | Bin 0 -> 3919 bytes .../res/drawable-xxhdpi-v4/startup_logo.png | Bin 0 -> 20279 bytes .../res/drawable-xxhdpi-v4/startvry_lock.png | Bin 0 -> 1688 bytes .../drawable-xxhdpi-v4/startvry_unlock.png | Bin 0 -> 1667 bytes .../res/drawable-xxhdpi-v4/step_num1.png | Bin 0 -> 723 bytes .../res/drawable-xxhdpi-v4/step_num2.png | Bin 0 -> 1494 bytes .../res/drawable-xxhdpi-v4/step_num3.png | Bin 0 -> 1458 bytes .../switch_button_bottom.png | Bin 0 -> 1435 bytes .../switch_button_button.png | Bin 0 -> 1154 bytes .../drawable-xxhdpi-v4/switch_button_mask.png | Bin 0 -> 1213 bytes .../tab_icon_account_normal.png | Bin 0 -> 2702 bytes .../tab_icon_account_pressed.png | Bin 0 -> 2033 bytes .../tab_icon_more_normal.png | Bin 0 -> 2967 bytes .../tab_icon_more_pressed.png | Bin 0 -> 3223 bytes .../tab_icon_utils_normal.png | Bin 0 -> 936 bytes .../tab_icon_utils_pressed.png | Bin 0 -> 1454 bytes .../drawable-xxhdpi-v4/tencent_teg_logo.png | Bin 0 -> 2638 bytes .../title_button_get_bindqq.png | Bin 0 -> 1917 bytes .../drawable-xxhdpi-v4/title_button_help.png | Bin 0 -> 2775 bytes .../title_button_help_black.png | Bin 0 -> 2302 bytes .../title_button_login_history.png | Bin 0 -> 1636 bytes .../drawable-xxhdpi-v4/title_button_more.png | Bin 0 -> 955 bytes .../title_button_more_white.png | Bin 0 -> 936 bytes .../title_button_refresh_icon.png | Bin 0 -> 1914 bytes .../res/drawable-xxhdpi-v4/titleback.png | Bin 0 -> 1099 bytes .../drawable-xxhdpi-v4/toast_arrow_new.png | Bin 0 -> 856 bytes .../drawable-xxhdpi-v4/toast_close_new.png | Bin 0 -> 1201 bytes .../drawable-xxhdpi-v4/token_code_tip_pic.png | Bin 0 -> 8615 bytes .../res/drawable-xxhdpi-v4/unbindbt.png | Bin 0 -> 1501 bytes .../res/drawable-xxhdpi-v4/uninbt.9.png | Bin 0 -> 2329 bytes .../user_security_reporter.png | Bin 0 -> 4561 bytes .../res/drawable-xxhdpi-v4/utils_arrow.png | Bin 0 -> 603 bytes .../res/drawable-xxhdpi-v4/verifybt.png | Bin 0 -> 776 bytes .../verifypage_btn_qr_normal.png | Bin 0 -> 175 bytes .../drawable-xxhdpi-v4/web_browse_close.png | Bin 0 -> 1261 bytes .../drawable-xxhdpi-v4/white_btn_rect.9.png | Bin 0 -> 506 bytes .../wtlogin_login_finish_icon_evaluate.png | Bin 0 -> 1166 bytes .../wtlogin_login_finish_icon_lastlogin.png | Bin 0 -> 1139 bytes .../wtlogin_login_finish_icon_safemsg.png | Bin 0 -> 758 bytes .../wtlogin_qq_account_icon.png | Bin 0 -> 960 bytes .../wtlogin_qq_passwd_icon.png | Bin 0 -> 858 bytes .../zzb_active_attention.png | Bin 0 -> 12052 bytes .../zzb_dual_msg_head_border.png | Bin 0 -> 12718 bytes .../res/drawable-xxhdpi-v4/zzb_icon.png | Bin 0 -> 2165 bytes .../drawable-xxhdpi-v4/zzb_icon_circle.png | Bin 0 -> 5825 bytes .../res/drawable-xxhdpi-v4/zzb_icon_pic.png | Bin 0 -> 7921 bytes .../res/drawable-xxhdpi-v4/zzb_icon_whole.png | Bin 0 -> 12975 bytes .../res/drawable-xxhdpi-v4/zzbvry_succ1.png | Bin 0 -> 49939 bytes .../res/drawable-xxhdpi-v4/zzbvry_succ2.png | Bin 0 -> 8787 bytes .../drawable/abnormal_login_gradual_bg.xml | 5 + com.tencent.token/res/drawable/bg_app.png | Bin 0 -> 118 bytes com.tencent.token/res/drawable/blink.xml | 7 + com.tencent.token/res/drawable/blink1.png | Bin 0 -> 6792 bytes com.tencent.token/res/drawable/blink2.png | Bin 0 -> 6610 bytes .../res/drawable/blue_btn_bg.xml | 22 + .../res/drawable/checkbox_darkbg.xml | 6 + .../res/drawable/checkbox_darkbg_sel.png | Bin 0 -> 896 bytes .../res/drawable/checkbox_darkbg_unsel.png | Bin 0 -> 406 bytes .../res/drawable/codeline_bg.xml | 9 + .../res/drawable/default_photo.png | Bin 0 -> 12229 bytes .../res/drawable/dialog_sms_bg1.9.png | Bin 0 -> 286 bytes .../res/drawable/dialog_sms_bg2.9.png | Bin 0 -> 225 bytes .../res/drawable/dynamic_code_bg.xml | 10 + .../drawable/face_pwd_recommend_wechat.png | Bin 0 -> 9503 bytes .../face_pwd_verify_sel_dialog_bg.xml | 10 + .../res/drawable/gray_btn_bg.xml | 28 + com.tencent.token/res/drawable/group.png | Bin 0 -> 3426 bytes com.tencent.token/res/drawable/guide_bg.png | Bin 0 -> 123 bytes .../res/drawable/ic_checkbox_background.xml | 6 + .../res/drawable/ic_checkbox_light_bg.xml | 6 + .../drawable/ic_tab_background_account.xml | 5 + .../res/drawable/ic_tab_background_more.xml | 5 + .../res/drawable/ic_tab_background_utils.xml | 5 + .../res/drawable/ic_tab_strip.xml | 5 + .../res/drawable/ico_abnormal_unread.png | Bin 0 -> 2102 bytes com.tencent.token/res/drawable/ico_no_msg.png | Bin 0 -> 10557 bytes .../res/drawable/ico_normal_unread.png | Bin 0 -> 2156 bytes .../res/drawable/ico_remove_uin.png | Bin 0 -> 208 bytes com.tencent.token/res/drawable/icon.png | Bin 0 -> 1788 bytes .../res/drawable/icon_2nd_verify_tip.png | Bin 0 -> 984 bytes .../res/drawable/icon_checked.png | Bin 0 -> 1261 bytes com.tencent.token/res/drawable/icon_jl.png | Bin 0 -> 28120 bytes com.tencent.token/res/drawable/icon_lab.png | Bin 0 -> 5370 bytes .../res/drawable/icon_mb_info.png | Bin 0 -> 8487 bytes .../res/drawable/icon_safe_msg_tip.png | Bin 0 -> 370 bytes .../res/drawable/icon_unchecked.png | Bin 0 -> 531 bytes .../res/drawable/list_divider.png | Bin 0 -> 99 bytes .../res/drawable/list_item_background.xml | 6 + .../res/drawable/list_item_sel.png | Bin 0 -> 506 bytes .../res/drawable/livedetect_standard.png | Bin 0 -> 6958 bytes com.tencent.token/res/drawable/loading.xml | 12 + .../res/drawable/loadingwhite.xml | 12 + .../res/drawable/login_msg_alpha_bg.png | Bin 0 -> 897 bytes .../res/drawable/login_msg_clear.png | Bin 0 -> 1730 bytes .../res/drawable/login_msg_index_bg.9.png | Bin 0 -> 612 bytes .../res/drawable/login_msg_list_end.png | Bin 0 -> 3438 bytes .../res/drawable/login_msg_menu_help_icon.png | Bin 0 -> 1707 bytes .../res/drawable/login_msg_select_city.png | Bin 0 -> 518 bytes com.tencent.token/res/drawable/logo_about.png | Bin 0 -> 5966 bytes .../res/drawable/menu_backgroundl.xml | 7 + com.tencent.token/res/drawable/menu_bg.xml | 5 + .../res/drawable/menu_dialog_bg.png | Bin 0 -> 691 bytes .../res/drawable/msg_item_abnormal_color.xml | 5 + .../res/drawable/msg_item_bg.xml | 7 + .../res/drawable/msg_item_bg_abnormal.xml | 7 + .../res/drawable/msg_no_tip_bg.xml | 6 + .../res/drawable/msg_refresh_divider.png | Bin 0 -> 74 bytes com.tencent.token/res/drawable/nod.xml | 7 + com.tencent.token/res/drawable/nod1.png | Bin 0 -> 6597 bytes com.tencent.token/res/drawable/nod2.png | Bin 0 -> 6469 bytes .../res/drawable/offical_mail_bg.9.png | Bin 0 -> 168 bytes com.tencent.token/res/drawable/openmouse.xml | 6 + com.tencent.token/res/drawable/openmouse1.png | Bin 0 -> 6572 bytes .../res/drawable/pro_dialog_bg.9.png | Bin 0 -> 1630 bytes .../drawable/pro_dialog_shutdown_icon_bg.xml | 7 + .../res/drawable/progressbar_color.xml | 16 + .../res/drawable/pull_to_refresh_arrow.png | Bin 0 -> 360 bytes .../res/drawable/realname_guid_bg.xml | 5 + .../res/drawable/realname_wechat.png | Bin 0 -> 9596 bytes .../res/drawable/recommend_qrcode.png | Bin 0 -> 10645 bytes .../res/drawable/rectangle_shape.xml | 8 + .../res/drawable/rectangle_shape2.xml | 8 + com.tencent.token/res/drawable/red_btn_bg.xml | 22 + com.tencent.token/res/drawable/refresh1.png | Bin 0 -> 459 bytes .../res/drawable/refresh1_white.png | Bin 0 -> 377 bytes com.tencent.token/res/drawable/refresh2.png | Bin 0 -> 779 bytes .../res/drawable/refresh2_white.png | Bin 0 -> 369 bytes com.tencent.token/res/drawable/refresh3.png | Bin 0 -> 763 bytes .../res/drawable/refresh3_white.png | Bin 0 -> 379 bytes com.tencent.token/res/drawable/refresh4.png | Bin 0 -> 458 bytes .../res/drawable/refresh4_white.png | Bin 0 -> 382 bytes com.tencent.token/res/drawable/refresh5.png | Bin 0 -> 458 bytes .../res/drawable/refresh5_white.png | Bin 0 -> 381 bytes com.tencent.token/res/drawable/refresh6.png | Bin 0 -> 450 bytes .../res/drawable/refresh6_white.png | Bin 0 -> 361 bytes com.tencent.token/res/drawable/refresh7.png | Bin 0 -> 460 bytes .../res/drawable/refresh7_white.png | Bin 0 -> 375 bytes com.tencent.token/res/drawable/refresh8.png | Bin 0 -> 460 bytes .../res/drawable/refresh8_white.png | Bin 0 -> 381 bytes .../res/drawable/resend_btn__bg.xml | 8 + com.tencent.token/res/drawable/scan_line.png | Bin 0 -> 3543 bytes com.tencent.token/res/drawable/scan_tip.png | Bin 0 -> 7672 bytes .../res/drawable/second_verify_bg.9.png | Bin 0 -> 2812 bytes com.tencent.token/res/drawable/shake.xml | 9 + com.tencent.token/res/drawable/shake1.png | Bin 0 -> 7077 bytes com.tencent.token/res/drawable/shake2.png | Bin 0 -> 6362 bytes com.tencent.token/res/drawable/shake3.png | Bin 0 -> 7098 bytes com.tencent.token/res/drawable/shake4.png | Bin 0 -> 6451 bytes com.tencent.token/res/drawable/share.png | Bin 0 -> 1668 bytes .../res/drawable/share_group.png | Bin 0 -> 1271 bytes .../startpwd_gesture_bigview_bg_blue.png | Bin 0 -> 5832 bytes .../startpwd_gesture_bigview_bg_gray.png | Bin 0 -> 5825 bytes .../startpwd_gesture_bigview_bg_green.png | Bin 0 -> 5896 bytes .../startpwd_gesture_bigview_bg_red.png | Bin 0 -> 5804 bytes .../startpwd_gesture_bigview_point_blue.png | Bin 0 -> 2482 bytes .../startpwd_gesture_bigview_point_green.png | Bin 0 -> 2502 bytes .../startpwd_gesture_bigview_point_red.png | Bin 0 -> 2499 bytes .../res/drawable/startpwd_gesture_del_suc.png | Bin 0 -> 3657 bytes .../res/drawable/startpwd_gesture_divider.png | Bin 0 -> 125 bytes .../res/drawable/startpwd_gesture_door.png | Bin 0 -> 2644 bytes .../drawable/startpwd_gesture_door_edge.png | Bin 0 -> 140 bytes .../res/drawable/startpwd_gesture_line.png | Bin 0 -> 126 bytes .../drawable/startpwd_gesture_line_green.png | Bin 0 -> 126 bytes .../drawable/startpwd_gesture_line_red.png | Bin 0 -> 126 bytes .../res/drawable/startpwd_gesture_promt.png | Bin 0 -> 8919 bytes .../startpwd_gesture_smallview_bg.png | Bin 0 -> 1312 bytes .../startpwd_gesture_smallview_point_blue.png | Bin 0 -> 956 bytes .../startpwd_gesture_smallview_point_gray.png | Bin 0 -> 624 bytes ...startpwd_gesture_smallview_point_green.png | Bin 0 -> 956 bytes .../startpwd_gesture_smallview_point_red.png | Bin 0 -> 956 bytes .../drawable/startpwd_gesture_switch_bg.9.png | Bin 0 -> 213 bytes com.tencent.token/res/drawable/toast.png | Bin 0 -> 248 bytes .../res/drawable/toast_arrow.png | Bin 0 -> 448 bytes .../res/drawable/toast_arrow_new.png | Bin 0 -> 468 bytes com.tencent.token/res/drawable/toast_bg.xml | 6 + .../res/drawable/toast_careful.png | Bin 0 -> 1081 bytes .../res/drawable/toast_close.png | Bin 0 -> 518 bytes .../res/drawable/toast_close_new.png | Bin 0 -> 502 bytes .../res/drawable/toast_message.png | Bin 0 -> 1623 bytes .../res/drawable/toast_press.png | Bin 0 -> 239 bytes com.tencent.token/res/drawable/toast_succ.png | Bin 0 -> 1664 bytes .../res/drawable/token_widget.png | Bin 0 -> 24490 bytes .../res/drawable/token_widget_speech.xml | 7 + .../res/drawable/translate_in.xml | 5 + .../res/drawable/translate_in_back.xml | 5 + .../res/drawable/translate_out.xml | 5 + .../res/drawable/translate_out_back.xml | 5 + .../drawable/utils_account_lock_close_bg.xml | 7 + .../res/drawable/utils_mb_info_table_bg.xml | 11 + com.tencent.token/res/drawable/w_0.png | Bin 0 -> 963 bytes com.tencent.token/res/drawable/w_1.png | Bin 0 -> 1234 bytes com.tencent.token/res/drawable/w_2.png | Bin 0 -> 1557 bytes com.tencent.token/res/drawable/w_3.png | Bin 0 -> 853 bytes com.tencent.token/res/drawable/w_4.png | Bin 0 -> 1344 bytes com.tencent.token/res/drawable/w_5.png | Bin 0 -> 1544 bytes com.tencent.token/res/drawable/w_6.png | Bin 0 -> 962 bytes com.tencent.token/res/drawable/w_7.png | Bin 0 -> 1466 bytes com.tencent.token/res/drawable/w_8.png | Bin 0 -> 1174 bytes com.tencent.token/res/drawable/w_9.png | Bin 0 -> 1034 bytes .../res/drawable/web_browse_back.xml | 6 + .../res/drawable/web_browse_forward.xml | 6 + .../drawable/web_browse_refresh_or_stop.xml | 6 + com.tencent.token/res/drawable/wechat.png | Bin 0 -> 2741 bytes .../res/drawable/wechat_logo.png | Bin 0 -> 4678 bytes .../res/drawable/widget_fewer_time.png | Bin 0 -> 1118 bytes .../res/drawable/widget_lock.png | Bin 0 -> 3876 bytes .../res/drawable/widget_lock_text.png | Bin 0 -> 5652 bytes .../res/drawable/widget_more_time.png | Bin 0 -> 823 bytes .../res/drawable/widget_speech.png | Bin 0 -> 1770 bytes .../res/drawable/widget_speech_over.png | Bin 0 -> 3570 bytes .../res/layout-960x540/jianling.xml | 19 + .../res/layout-960x540/title_bar_main.xml | 22 + .../res/layout-960x640/jianling.xml | 19 + .../res/layout-hdpi-v4/dual_msg_view.xml | 36 + .../res/layout-hdpi-v4/facepreview_pk.xml | 19 + .../res/layout-hdpi-v4/facepreview_reg.xml | 22 + .../res/layout-hdpi-v4/jianling.xml | 19 + .../res/layout-hdpi-v4/jianling_list_item.xml | 14 + .../msg_page_list_safe_item.xml | 13 + .../res/layout-hdpi-v4/pro_dialog.xml | 11 + .../pro_dialog_with_shutdown_icon.xml | 14 + .../res/layout-hdpi-v4/real_name_2_page.xml | 25 + .../realname_idphoto_preview.xml | 20 + .../scanlogin_accountlist_item_add.xml | 10 + .../scanlogin_accountlist_item_medium.xml | 12 + .../scanlogin_accountlist_item_up.xml | 13 + .../res/layout-hdpi-v4/title_bar_main.xml | 22 + .../res/layout-hdpi-v4/toast.xml | 9 + .../utils_account_lock_dialog.xml | 10 + .../utils_account_lock_page.xml | 16 + .../layout-hdpi-v4/utils_game_lock_page.xml | 16 + .../utils_game_protect_list_item.xml | 13 + .../utils_game_protect_page.xml | 16 + .../res/layout-hdpi-v4/utils_mb_info_item.xml | 15 + .../utils_mb_info_item_col1_text_view.xml | 5 + .../utils_mb_info_item_col2_text_view.xml | 5 + .../utils_mb_info_list_item.xml | 13 + .../res/layout-hdpi-v4/utils_mb_info_page.xml | 14 + .../utils_mod_set_mobile_step2.xml | 10 + .../layout-hdpi-v4/utils_need_verify_view.xml | 10 + .../res/layout-hdpi-v4/utils_page.xml | 58 + .../utils_qbqd_protect_page.xml | 16 + .../layout-hdpi-v4/wtlogin_account_input.xml | 26 + ...tlogin_account_input_without_headimage.xml | 25 + .../wtlogin_tip_verify_view.xml | 7 + .../layout-hdpi-v4/zzb_tip_verify_view.xml | 6 + .../res/layout-land/tokenwidget_provider.xml | 17 + .../layout-large-v4/startpwd_gesture_del.xml | 6 + .../startpwd_gesture_modify.xml | 9 + .../startpwd_gesture_verify.xml | 19 + .../res/layout-ldpi-v4/dual_msg_view.xml | 36 + .../msg_page_list_safe_item.xml | 13 + .../res/layout-ldpi-v4/scan_tip_page.xml | 9 + .../utils_account_lock_page.xml | 16 + .../layout-ldpi-v4/utils_game_lock_page.xml | 16 + .../utils_game_protect_page.xml | 16 + .../layout-ldpi-v4/utils_need_verify_view.xml | 10 + .../utils_qbqd_protect_page.xml | 16 + .../res/layout-mdpi-v4/dual_msg_view.xml | 36 + .../res/layout-mdpi-v4/jianling.xml | 19 + .../res/layout-mdpi-v4/jianling_list_item.xml | 14 + .../msg_page_list_safe_item.xml | 13 + .../res/layout-mdpi-v4/pro_dialog.xml | 11 + .../pro_dialog_with_shutdown_icon.xml | 14 + .../res/layout-mdpi-v4/real_name_2_page.xml | 27 + .../res/layout-mdpi-v4/scan_tip_page.xml | 9 + .../utils_account_lock_dialog.xml | 10 + .../utils_account_lock_page.xml | 16 + .../layout-mdpi-v4/utils_game_lock_page.xml | 16 + .../utils_game_protect_page.xml | 16 + .../res/layout-mdpi-v4/utils_mb_info_item.xml | 15 + .../utils_mb_info_item_col1_text_view.xml | 5 + .../utils_mb_info_item_col2_text_view.xml | 5 + .../utils_mb_info_list_item.xml | 13 + .../res/layout-mdpi-v4/utils_mb_info_page.xml | 14 + .../utils_mod_set_mobile_sms_step2.xml | 14 + .../utils_mod_set_mobile_step2.xml | 10 + .../layout-mdpi-v4/utils_need_verify_view.xml | 10 + .../utils_qbqd_protect_page.xml | 16 + .../res/layout-port/tokenwidget_provider.xml | 17 + .../detect_idphoto_preview.xml | 22 + .../res/layout-xhdpi-v4/dual_msg_view.xml | 36 + .../envir_change_list_item.xml | 8 + .../layout-xhdpi-v4/face_change_pwd_index.xml | 18 + .../res/layout-xhdpi-v4/face_pwd_index.xml | 13 + .../layout-xhdpi-v4/face_pwd_list_item.xml | 7 + .../face_pwd_verify_sel_dialog.xml | 7 + .../face_pwd_verify_sel_list_item.xml | 6 + .../res/layout-xhdpi-v4/facepreview.xml | 26 + .../res/layout-xhdpi-v4/facepreview_pk.xml | 19 + .../res/layout-xhdpi-v4/facepreview_reg.xml | 22 + .../layout-xhdpi-v4/facepreview_startvry.xml | 30 + .../res/layout-xhdpi-v4/jianling.xml | 19 + .../layout-xhdpi-v4/jianling_list_item.xml | 14 + .../res/layout-xhdpi-v4/modify_qq_pwd.xml | 17 + .../msg_page_list_safe_item.xml | 13 + .../res/layout-xhdpi-v4/pro_dialog.xml | 11 + .../pro_dialog_with_shutdown_icon.xml | 14 + .../realname_idphoto_preview.xml | 20 + .../startpwd_gesture_forget.xml | 17 + .../startpwd_gesture_index.xml | 16 + .../layout-xhdpi-v4/startpwd_gesture_sel.xml | 15 + .../layout-xhdpi-v4/startpwd_update_info.xml | 13 + .../res/layout-xhdpi-v4/title_bar_main.xml | 22 + .../res/layout-xhdpi-v4/toast.xml | 9 + .../utils_account_lock_dialog.xml | 10 + .../utils_account_lock_page.xml | 16 + .../layout-xhdpi-v4/utils_game_lock_page.xml | 16 + .../utils_game_protect_page.xml | 16 + .../layout-xhdpi-v4/utils_mb_info_item.xml | 15 + .../utils_mb_info_item_col1_text_view.xml | 5 + .../utils_mb_info_item_col2_text_view.xml | 5 + .../utils_mb_info_list_item.xml | 13 + .../layout-xhdpi-v4/utils_mb_info_page.xml | 14 + .../utils_mod_set_mobile_sms_step2.xml | 14 + .../utils_mod_set_mobile_step2.xml | 10 + .../utils_mod_set_mobile_step3.xml | 15 + .../utils_need_verify_view.xml | 10 + .../utils_qbqd_protect_page.xml | 16 + .../layout-xhdpi-v4/wtlogin_account_input.xml | 26 + ...tlogin_account_input_without_headimage.xml | 25 + .../wtlogin_tip_verify_view.xml | 7 + .../layout-xxhdpi-v4/account_menu_page.xml | 54 + .../res/layout-xxhdpi-v4/account_page.xml | 67 + .../account_pull_refresh_header.xml | 6 + .../add_account_tip_dialog.xml | 20 + .../res/layout-xxhdpi-v4/common_result.xml | 8 + .../res/layout-xxhdpi-v4/find_passwd_page.xml | 9 + .../res/layout-xxhdpi-v4/my_mb_sub_page.xml | 38 + .../layout-xxhdpi-v4/my_protec_sub_page.xml | 48 + .../res/layout-xxhdpi-v4/my_psw_sub_page.xml | 11 + .../real_name_2_step0_verify_mobile.xml | 9 + .../real_name_2_step0_verify_mobile_down.xml | 10 + .../real_name_2_step0_verify_mobile_up.xml | 14 + .../real_name_2_step1_input_name_id.xml | 39 + .../real_name_2_step1_input_name_id_forht.xml | 31 + .../res/layout-xxhdpi-v4/real_name_4_page.xml | 17 + .../layout-xxhdpi-v4/real_name_4_page_new.xml | 25 + .../res/layout-xxhdpi-v4/real_name_find.xml | 25 + .../res/layout-xxhdpi-v4/real_name_page.xml | 24 + .../res/layout-xxhdpi-v4/scan_tip_page_2.xml | 8 + .../res/layout-xxhdpi-v4/test.xml | 19 + .../layout-xxhdpi-v4/utils_login_protect.xml | 16 + .../utils_login_protect_list_item.xml | 12 + .../utils_login_protect_setmobile.xml | 12 + .../res/layout/abnormal_login.xml | 13 + .../res/layout/abnormal_login_list_item.xml | 29 + com.tencent.token/res/layout/about.xml | 39 + .../res/layout/about_samsung_market.xml | 32 + .../res/layout/account_detail.xml | 12 + .../res/layout/account_detail_list_item.xml | 13 + .../res/layout/account_refresh_header.xml | 6 + com.tencent.token/res/layout/active_succ.xml | 9 + .../res/layout/active_succ_mobile_fail.xml | 14 + .../res/layout/active_succ_mobile_succ.xml | 13 + .../res/layout/activity_detect.xml | 20 + .../res/layout/activity_main.xml | 16 + .../res/layout/app_guid_flipper.xml | 8 + com.tencent.token/res/layout/banner.xml | 12 + com.tencent.token/res/layout/bind_uin.xml | 14 + .../res/layout/bind_unbind_success.xml | 12 + .../res/layout/binduin_verifyphone.xml | 14 + .../res/layout/binduin_withauth.xml | 10 + .../res/layout/camera_prepare_dialog.xml | 5 + .../res/layout/captcha_dialog.xml | 12 + .../res/layout/check_mobile_available.xml | 12 + .../res/layout/common_verify_trans.xml | 8 + com.tencent.token/res/layout/correct_time.xml | 11 + .../res/layout/device_delete_dialog.xml | 7 + .../res/layout/device_lock_tips_dialog.xml | 10 + .../res/layout/dialog_actionsheet.xml | 6 + com.tencent.token/res/layout/dialog_sms.xml | 18 + .../res/layout/dialog_tip_layout.xml | 9 + .../res/layout/dialog_tip_layout_2btn.xml | 13 + .../res/layout/envir_change_listview.xml | 5 + com.tencent.token/res/layout/error_view.xml | 8 + .../res/layout/error_view_network.xml | 8 + com.tencent.token/res/layout/face_confirm.xml | 13 + .../res/layout/face_confirm_idphoto.xml | 12 + com.tencent.token/res/layout/faceadd_tip.xml | 9 + .../res/layout/facechangemobile.xml | 12 + .../res/layout/facepreviewold.xml | 30 + .../res/layout/facerecog_create_tip1.xml | 13 + .../res/layout/facerecog_create_tip2.xml | 12 + .../res/layout/facerecog_default.xml | 45 + .../res/layout/facereg_confirm.xml | 15 + com.tencent.token/res/layout/faceupload.xml | 6 + com.tencent.token/res/layout/find_items.xml | 14 + com.tencent.token/res/layout/firstjoin.xml | 11 + .../layout/get_barcode_verify_msg_prepare.xml | 6 + .../res/layout/get_other_barcode.xml | 14 + com.tencent.token/res/layout/index.xml | 24 + .../res/layout/input_phone_number.xml | 14 + .../res/layout/input_phone_number_country.xml | 83 + .../res/layout/intro_login_msg_dialog.xml | 15 + .../res/layout/jianling_libao_item.xml | 5 + .../res/layout/jianling_need_verify_view.xml | 8 + .../res/layout/jl_appeal_detail_item.xml | 6 + .../res/layout/jl_appeal_list_item.xml | 12 + .../res/layout/jl_appeallist.xml | 10 + .../res/layout/jl_appeallist_detail.xml | 10 + .../layout/jl_finditems_chooserole_item.xml | 6 + .../res/layout/jl_finditems_choosezone.xml | 5 + .../layout/jl_finditems_choosezone_item.xml | 9 + .../res/layout/jl_finditems_default.xml | 13 + .../res/layout/jl_finditems_details.xml | 42 + .../res/layout/jl_finditems_result.xml | 12 + .../res/layout/listitemlayout.xml | 8 + .../layout/login_msg_abnormal_change_pwd.xml | 8 + .../res/layout/login_msg_ip_share.xml | 8 + .../res/layout/login_msg_menu.xml | 6 + .../res/layout/login_msg_page.xml | 12 + .../res/layout/login_msg_page_list_item.xml | 45 + .../res/layout/login_msg_private_ip.xml | 9 + .../layout/login_msg_report_list_overlay.xml | 3 + .../res/layout/login_msg_report_location.xml | 6 + .../login_msg_report_location_list_item.xml | 10 + com.tencent.token/res/layout/logo_page.xml | 6 + com.tencent.token/res/layout/look_network.xml | 11 + .../res/layout/menu_account_manager.xml | 10 + .../res/layout/modify_qq_pwd_succ.xml | 10 + com.tencent.token/res/layout/msg_page.xml | 20 + com.tencent.token/res/layout/msg_page_end.xml | 5 + .../res/layout/msg_page_get_more.xml | 5 + .../res/layout/msg_page_header.xml | 15 + com.tencent.token/res/layout/msg_page_tip.xml | 6 + .../res/layout/net_active_select.xml | 31 + .../res/layout/net_active_vry_mobile.xml | 9 + .../layout/net_active_vry_mobile_nosms.xml | 11 + .../res/layout/net_active_vry_qqtoken.xml | 9 + .../res/layout/net_active_vry_ques.xml | 20 + .../res/layout/op_msg_detail.xml | 16 + .../res/layout/op_msg_detail_item.xml | 6 + .../layout/pcmobileqq_verifyed_devices.xml | 20 + com.tencent.token/res/layout/pic_dialog.xml | 10 + .../res/layout/realname_commit_err_tip.xml | 10 + .../res/layout/realname_confim_id_tip.xml | 10 + .../res/layout/realname_confirm_tip.xml | 13 + .../res/layout/realname_detail_flipper.xml | 24 + .../res/layout/realname_detail_four.xml | 8 + .../res/layout/realname_detail_one.xml | 8 + .../res/layout/realname_detail_three.xml | 8 + .../res/layout/realname_detail_two.xml | 8 + .../res/layout/realname_face_tip.xml | 10 + .../res/layout/realname_guid.xml | 19 + .../res/layout/realname_video_view.xml | 15 + .../res/layout/recommend_qrcode.xml | 22 + .../res/layout/record_text_layout.xml | 10 + .../res/layout/result_list_layout.xml | 10 + .../res/layout/scanlogin_accountlist_page.xml | 6 + .../res/layout/scanlogin_bind.xml | 9 + .../res/layout/scanlogin_confirm_login.xml | 17 + .../res/layout/scanlogin_succ.xml | 8 + .../res/layout/second_verify_dialog.xml | 12 + .../res/layout/security_reporter_page.xml | 41 + com.tencent.token/res/layout/serialnumber.xml | 9 + com.tencent.token/res/layout/setting_page.xml | 46 + .../res/layout/setting_page_list_item.xml | 10 + .../res/layout/setting_submit_comment.xml | 6 + .../res/layout/setting_token_page.xml | 27 + com.tencent.token/res/layout/showlog.xml | 5 + com.tencent.token/res/layout/showlog_item.xml | 3 + .../res/layout/sms_cannot_unbind.xml | 10 + .../res/layout/sms_content_tip.xml | 21 + .../res/layout/sms_unbind_qq_page.xml | 14 + .../res/layout/startpwd_gesture_del.xml | 6 + .../res/layout/startpwd_gesture_modify.xml | 9 + .../res/layout/startpwd_gesture_verify.xml | 19 + com.tencent.token/res/layout/startup.xml | 5 + .../layout/title_face_pk_dropdown_menu.xml | 16 + .../layout/title_game_lock_dropdown_menu.xml | 16 + .../layout/title_login_msg_dropdown_menu.xml | 16 + com.tencent.token/res/layout/title_main.xml | 9 + .../res/layout/title_verify_dropdown_menu.xml | 13 + .../res/layout/token_code_tip_dialog.xml | 11 + com.tencent.token/res/layout/token_main.xml | 14 + .../res/layout/token_pwd_sel.xml | 8 + com.tencent.token/res/layout/tokenlab.xml | 31 + .../utils_account_lock_interval_list_item.xml | 6 + .../res/layout/utils_common_list_item.xml | 17 + .../res/layout/utils_common_list_item_up.xml | 17 + .../utils_common_verifiedphone_item.xml | 12 + .../layout/utils_feedback_mobile_using.xml | 8 + com.tencent.token/res/layout/utils_item1.xml | 7 + com.tencent.token/res/layout/utils_item2.xml | 7 + .../res/layout/utils_mail_protection_page.xml | 33 + .../res/layout/utils_more_game.xml | 5 + .../res/layout/utils_tip_verify.xml | 7 + .../res/layout/validation_facepreview_old.xml | 27 + .../res/layout/verify_token_pwd.xml | 12 + .../res/layout/viewstub_title_menu.xml | 5 + .../res/layout/viewstub_verifyview.xml | 5 + com.tencent.token/res/layout/web_embed.xml | 5 + .../res/layout/wtlogin_captcha_dialog.xml | 12 + .../layout/wtlogin_login_finish_nomibao.xml | 17 + .../res/layout/wtlogin_sig_expire.xml | 18 + .../res/layout/zzb_active_tip_dialog.xml | 33 + .../res/layout/zzb_firstjoin_dialog.xml | 10 + com.tencent.token/res/raw/ding.mp3 | Bin 0 -> 11702 bytes com.tencent.token/res/raw/door_open.wav | Bin 0 -> 122374 bytes com.tencent.token/res/raw/number_0.mp3 | Bin 0 -> 12336 bytes com.tencent.token/res/raw/number_1.mp3 | Bin 0 -> 9672 bytes com.tencent.token/res/raw/number_2.mp3 | Bin 0 -> 11808 bytes com.tencent.token/res/raw/number_3.mp3 | Bin 0 -> 12912 bytes com.tencent.token/res/raw/number_4.mp3 | Bin 0 -> 12840 bytes com.tencent.token/res/raw/number_5.mp3 | Bin 0 -> 9792 bytes com.tencent.token/res/raw/number_6.mp3 | Bin 0 -> 12840 bytes com.tencent.token/res/raw/number_7.mp3 | Bin 0 -> 11952 bytes com.tencent.token/res/raw/number_8.mp3 | Bin 0 -> 9216 bytes com.tencent.token/res/raw/number_9.mp3 | Bin 0 -> 9000 bytes com.tencent.token/res/raw/shake.wav | Bin 0 -> 7864 bytes .../res/values-hdpi-v4/dimens.xml | 14 + .../res/values-mdpi-v4/dimens.xml | 11 + .../res/values-xhdpi-v4/dimens.xml | 12 + .../res/values-xxhdpi-v4/dimens.xml | 19 + com.tencent.token/res/values/attrs.xml | 11 + com.tencent.token/res/values/colors.xml | 168 + com.tencent.token/res/values/dimens.xml | 46 + com.tencent.token/res/values/ids.xml | 1085 + com.tencent.token/res/values/public.xml | 3241 ++ com.tencent.token/res/values/strings.xml | 1047 + com.tencent.token/res/values/styles.xml | 508 + .../res/xml/xmltokenwidget_provider.xml | 3 + .../src/com/qq/jce/wup/wup.properties | 3 + 3498 files changed, 318728 insertions(+) create mode 100755 com.tencent.token/AndroidManifest.xml create mode 100755 com.tencent.token/apktool.yml create mode 100755 com.tencent.token/assets/KingkongPatch.apk create mode 100755 com.tencent.token/assets/KingkongPatch_apk/apktool.yml create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libPatchDispatcher.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libkkfixerdriver.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libxposed_art50.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libxposed_art51.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libxposed_art60.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/libxposed_dalvik.so create mode 100755 com.tencent.token/assets/KingkongPatch_apk/original/META-INF/MANIFEST.MF create mode 100755 com.tencent.token/assets/channel.ini create mode 100755 com.tencent.token/assets/haarcascade_frontalface_alt.xml create mode 100755 com.tencent.token/assets/id_template.txt create mode 100755 com.tencent.token/assets/model/clm_ccnf_general.txt create mode 100755 com.tencent.token/assets/model/detection_validation/validator_general_68.txt create mode 100755 com.tencent.token/assets/model/haarAlign.txt create mode 100755 com.tencent.token/assets/model/main_ccnf_general.txt create mode 100755 com.tencent.token/assets/model/patch_experts/ccnf_patches_0.25_general.txt create mode 100755 com.tencent.token/assets/model/patch_experts/ccnf_patches_0.35_general.txt create mode 100755 com.tencent.token/assets/model/pdms/In-the-wild_aligned_PDM_68.txt create mode 100755 com.tencent.token/assets/model/tris_68.txt create mode 100755 com.tencent.token/classes.jar/a/a/a.java create mode 100755 com.tencent.token/classes.jar/a/a/b.java create mode 100755 com.tencent.token/classes.jar/a/a/c.java create mode 100755 com.tencent.token/classes.jar/a/a/d.java create mode 100755 com.tencent.token/classes.jar/a/a/e.java create mode 100755 com.tencent.token/classes.jar/a/b/a.java create mode 100755 com.tencent.token/classes.jar/a/c/a.java create mode 100755 com.tencent.token/classes.jar/a/c/b.java create mode 100755 com.tencent.token/classes.jar/a/d/a.java create mode 100755 com.tencent.token/classes.jar/a/d/b.java create mode 100755 com.tencent.token/classes.jar/a/e/a.java create mode 100755 com.tencent.token/classes.jar/a/e/b.java create mode 100755 com.tencent.token/classes.jar/a/e/c.java create mode 100755 com.tencent.token/classes.jar/a/e/d.java create mode 100755 com.tencent.token/classes.jar/a/e/e.java create mode 100755 com.tencent.token/classes.jar/a/e/f.java create mode 100755 com.tencent.token/classes.jar/a/e/g.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/BuildConfig.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/R.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggle.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggleHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActivityCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatJB.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompatJB.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/BackStackRecord.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/BackStackState.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/DialogFragment.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/Fragment.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentActivity.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentContainer.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentManager.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerImpl.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerState.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentPagerAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentState.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentStatePagerAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentTabHost.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/FragmentTransaction.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ListFragment.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/LoaderManager.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/LoaderManagerImpl.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NavUtils.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NavUtilsJB.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NoSaveStateFrameLayout.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NotificationCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatIceCreamSandwich.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatJellybean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ServiceCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ShareCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ShareCompatICS.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/ShareCompatJB.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/SuperNotCalledException.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilder.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderJellybean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/AsyncTaskLoader.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/ContextCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/ContextCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/ContextCompatJellybean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/CursorLoader.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/FileProvider.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/IntentCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/IntentCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/IntentCompatIcsMr1.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/Loader.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/LocalBroadcastManager.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/ModernAsyncTask.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/content/pm/ActivityInfoCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/database/DatabaseUtilsCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatGingerbread.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatHoneycombMR2.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatJellyBean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorCallbacks.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2Stub.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/AtomicFile.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/DebugUtils.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/LogWriter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/LongSparseArray.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/LruCache.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/SparseArrayCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/util/TimeUtils.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatJellyBean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/GestureDetectorCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/GravityCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/GravityCompatJellybeanMr1.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatEclair.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/MenuCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompatEclair.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/PagerAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/PagerTabStrip.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStrip.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStripIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompatGingerbread.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompatHC.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompatICS.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJB.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJellybeanMr1.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompatFroyo.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatHC.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/ViewPager.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatJellyBean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcsMr1.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatJellyBean.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/CursorAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/CursorFilter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/DrawerLayout.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/ResourceCursorAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatGingerbread.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompat.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatHoneycomb.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatIcs.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/SimpleCursorAdapter.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/SlidingPaneLayout.java create mode 100755 com.tencent.token/classes.jar/android/support/v4/widget/ViewDragHelper.java create mode 100755 com.tencent.token/classes.jar/b/a.java create mode 100755 com.tencent.token/classes.jar/b/a/a.java create mode 100755 com.tencent.token/classes.jar/b/a/b.java create mode 100755 com.tencent.token/classes.jar/b/a/c.java create mode 100755 com.tencent.token/classes.jar/b/a/d.java create mode 100755 com.tencent.token/classes.jar/b/a/e.java create mode 100755 com.tencent.token/classes.jar/b/a/f.java create mode 100755 com.tencent.token/classes.jar/b/a/g.java create mode 100755 com.tencent.token/classes.jar/b/a/h.java create mode 100755 com.tencent.token/classes.jar/c/a/a/a.java create mode 100755 com.tencent.token/classes.jar/c/a/b/a/a.java create mode 100755 com.tencent.token/classes.jar/c/a/b/a/b.java create mode 100755 com.tencent.token/classes.jar/c/a/b/b/a/a/a.java create mode 100755 com.tencent.token/classes.jar/c/a/b/c/a.java create mode 100755 com.tencent.token/classes.jar/c/b/a/a.java create mode 100755 com.tencent.token/classes.jar/c/b/a/b.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/BasicClassTypeUtil.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/ObjectCreateException.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/OldUniAttribute.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/TafUniPacket.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/UniAttribute.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/UniPacket.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/WupHexUtil.java create mode 100755 com.tencent.token/classes.jar/com/qq/jce/wup/WupInfo.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/RequestPacket.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/HexUtil.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceDecodeException.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceDisplayer.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceEncodeException.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceInputStream.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceOutputStream.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceStruct.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/JceUtil.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteArrayField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DoubleField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicInputStream.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicOutputStream.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/FloatField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/IntField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/JceField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ListField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/LongField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/MapField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/NumberField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ShortField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StringField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StructField.java create mode 100755 com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ZeroField.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/PrismCenter.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/a/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/b/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/b/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/c/a/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/c/a/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/c/a/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/c/b/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/d/a/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/d/a/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/d/a/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/d/a/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/analysis/e/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/ANRReport.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/anr/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/PlugInInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/common/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/BuglyBroadcastRecevier.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashHandleListener.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashReport.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashStrategyBean.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/ProcessMoniterHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/SOFile.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionUpload.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/A.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/B.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/C.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/D.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/E.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/F.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/G.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/H.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/I.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/J_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/K.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/L.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/M.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/N.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/O.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/P.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/Q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/R.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/S_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/a_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/b_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/c_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/d_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/e_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/f_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/g_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/h_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/i_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/k_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/l_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/m_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/n_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/o_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/p_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/q_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/r_1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/s.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/t.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/u.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/v.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/w.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/x.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/y.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/proguard/z.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/AbstractUploadDatas.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/UploadHandleListener.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/feedback/upload/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/imageboost/ImgProcessScan.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/DirectionInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/Face$ALG_MODE.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/Face$ERROR_CODE.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/Face$ImgData.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/Face.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceData.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$AlgMode.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$ErrorCode.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$IdCardDirection.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveAction.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveDirection.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceDetector.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/FaceInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/IdCardInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/jni/LiveRectInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/AbstractCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/AbstractWindowedCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorDescriptor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorNative.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorProxy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorToCursorAdaptor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CharArrayBuffer.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Common.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Constant.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/ContentObservable.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/ContentObserver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursorWrapper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Cursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorIndexOutOfBoundsException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorJoiner.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorToBulkCursorAdaptor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindow.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindowAllocationException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/CursorWrapper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DataReport.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObservable.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObserver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseErrorHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseUtils.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DefaultDatabaseErrorHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/DvmPatch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtils.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtilsForQQ.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/FileUtils.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/IBulkCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/IContentObserver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/MainConfig.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/MatrixCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/MergeCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/NativePatch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/NativeSubPatch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Observable.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/ParcelFileDescriptor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Patch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/PatchInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/PatchManager.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/ReportThread.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/SQLException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/SelfUpdateInterface.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/StaleDataException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/SubPatch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/SubPatches.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/UpdateManager.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/Utils.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/DatabaseObjectNotClosedException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAbortException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAccessPermException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBindOrColumnIndexOutOfRangeException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBlobTooBigException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCantOpenDatabaseException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteClosable.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnection.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnectionPool.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConstraintException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursor.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursorDriver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCustomFunction.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabase.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseConfiguration.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseCorruptException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseLockedException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatatypeMismatchException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDebug.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDirectCursorDriver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDiskIOException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDoneException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteFullException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteGlobal.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteMisuseException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOpenHelper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOutOfMemoryException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteProgram.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQuery.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQueryBuilder.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteReadOnlyDatabaseException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteSession.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatement.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatementInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTableLockedException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTransactionListener.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/CancellationSignal.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/Context.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/ICancellationSignal.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/LruCache.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/OperationCanceledException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/support/PrefixPrinter.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/ClassUtils.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/DvmPatchInterface.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/IXUnhook.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodHook.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodReplacement.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XCallback.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedBridge.java create mode 100755 com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedHelpers.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/BuildConfig.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/Base64.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/MD5.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/TypeTransform.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/algorithm/UIN.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/platformtools/CnToSpell.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/platformtools/SpellMap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/Build.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/ConstantsUI.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/MMAppMgr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/MMSharedPreferences.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/ConstantsMMessage.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessage.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageAct.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/event/EventPoolFactory.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IEvent.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IListener.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseReq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseResp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ConstantsAPI.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/GetMessageFromWX.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPI.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPIEventHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendAuth.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendMessageToWX.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ShowMessageFromWX.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAPIFactory.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXApiImplV10.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppExtendObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppLaunchData.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXEmojiObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXFileObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXImageObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMediaMessage.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMusicObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXTextObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXVideoObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXWebpageObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl21below.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl22.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BackwardSupportUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BluetoothUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ChannelUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilePathGenerator.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilesCopy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/InetUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/JpegTools.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/KVConfig.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LVBuffer.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LocaleUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LogHelper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MAlarmHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MBuf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMApplicationContext.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMEntryLock.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MTimerHandler.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/NetStatusUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SemiXml.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SensorController.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition21below.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition22.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SpecilApiUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SystemProperty.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TimeLogger.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TrafficStats.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/BaseProfile.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/IMMPluginAPI.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginAPIImpl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginMsg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$Receiver$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginProviderConstants.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginUtil.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/Profile.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ContentProviderDB.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$10.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$11.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$12.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$13.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$14.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$15.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$16.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$17.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$18.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$19.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$20.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$21.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$22.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$23.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$24.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$25.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$26.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$27.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$28.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$3.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$4.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$5.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$6.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$7.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$8.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$9.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/IAutoDBItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ISQLiteDatabase.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBFieldAnnotation.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoStorage.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MDBItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent.java create mode 100755 com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/package-info.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbar/QbarNative$QbarArea.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbar/QbarNative.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$1.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$2.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$3.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$4.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$5.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/ProcessThread.java create mode 100755 com.tencent.token/classes.jar/com/tencent/qbardemo/RectView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/DetectType.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate$FaceDetectErrorCode.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/service/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/aa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ab.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ac.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ad.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ae.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/af.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ag.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ah.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ai.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/aj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ak.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/al.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/am.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/an.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ao.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/aq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ar.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/as.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/at.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/au.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/av.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/aw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ax.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ay.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/az.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ba.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/be.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/br.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/by.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/bz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ca.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ce.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ci.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ck.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/co.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/AbnormalLoginMsgResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/AppRecommendItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/CommonImgResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/ConfigResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/DeviceInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$DetailItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$RecommendItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/FaceRecognitionParamResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLAppealInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ActivityItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ProtectionInfoItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLRoleInfo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone$JLZoneServer.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/LoginProtectResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItemDetail.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/NewConfigureCacheItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/OfficalMailResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/OnlineDeviceResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/QQUser.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/QueryCaptchaResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameQueryResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameRegResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameShakeResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameStatusResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem$MsgAction.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/ScanDataResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult$ChartAreas.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult$QuesInfoItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/UtilFucntionItem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/bean/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/gamelogin/GameLoginService.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/BootBroadcastReceiver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/PushService.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/core/push/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ct.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/cz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/da.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/db.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/de.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/df.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/di.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/do.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ds.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/du.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/dz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ea.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ec.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ed.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ee.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ef.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ei.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ej.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ek.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/el.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/em.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/en.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ep.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/er.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/es.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/et.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/eu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ev.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ew.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ex.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ey.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ez.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ff.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ft.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/fz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ga.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ge.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/RqdApplication.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/global/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/go.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/gv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/m.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/n.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/o.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/p.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/r.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/s.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/t.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/u.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AbnormalLoginActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AboutActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AccountDetailActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AccountPageActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AppGuidActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/AssistantRecommendFriendQrcode.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/BaseActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/BindUinActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/CheckMobileAvailableActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/CommonVerifyActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/CorrectTokenActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoPreview.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/EmbedWebBaseActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/EnvirChangeListviewActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangeMobileActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangePwdIndexActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FacePKActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FacePKCameraActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FacePwdIndexActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionAddFaceActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivityOld.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreview.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreviewOld.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionComfirmActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCreateActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionDefaultActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegCameraActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegConfirmActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FaceStartVryCameraActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FindItemsActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdH5Activity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/GetBarcodeVerifyMsgActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/GetOtherBarcodeActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/HelpActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/IndexActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListDetailActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JLFindItems.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsChooseZone.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsResult.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/JianLingActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/KnowTokenActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgChangePwdActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgIpShareActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgReportLocationActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LogoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/LookNetworkActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ModifyQQPwdActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/MyMbSubPageActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/MyProtecSubPageActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/MyPswSubPageActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveSetDirBySeqActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryMobileNoSmsActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryOtherListActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQQTokenActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQuesActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/NoCheckWithAuthActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/OpMsgDisplayActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/OpreateMsgActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/PCMobileQQVerifyedDevicesActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/PushTransitionActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameDetailActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindFailActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFirstJoinActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameGuidActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameProtectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameSmsContentTipActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileDownActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileUpActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep1InputNameIdActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoPreview.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginAccountListActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginBindActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginConfirmLoginActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginSuccActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SecurityReporterActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SelectCountryCodeActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SerialNumberActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SettingPageActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SettingSubmitCommentActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SettingTokenActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ShowLogActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SmsActitivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/SmsContentTipActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitSelActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitVerifyActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureDeleteActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureForgetActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureIndexActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureModifyActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureSelActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureVerifyActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdUpdateInfoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/TakeIDPhotoComfirmActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UnbindUinActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsAccountLockActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameLockActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameProtectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsLoginProtectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMailProtectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoFeedbackMobileUsingSuccActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoItemActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep1Activity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2Activity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2SmsActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsQbQdProtectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/UtilsTokenLabActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/VerifyMobilePhoneActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/VerifyStartScanActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/VryMobileForStrategyActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/WelcomeActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/WidgetTransitionActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/WtLoginAccountInput.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/WtloginFinishNoMibaoActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/WtloginSigExpireActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aab.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aac.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aad.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aae.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aag.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aah.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aai.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aak.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aal.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aam.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aan.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aao.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aar.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aas.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aat.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aau.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aav.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aax.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aay.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aaz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ab.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aba.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aby.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/abz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ac.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aca.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ace.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ach.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aci.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ack.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aco.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/act.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/acz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ad.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ada.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/add.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ade.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ado.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ads.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ady.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/adz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ae.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aea.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aec.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aed.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aee.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aef.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aei.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aej.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aek.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ael.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aem.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aen.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aep.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aer.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aes.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aet.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aeu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aev.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aew.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aex.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aey.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aez.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/af.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aff.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aft.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/afz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ag.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aga.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/age.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ago.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ags.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/agz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ah.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aha.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aho.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ahs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aht.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ai.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ak.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/al.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/am.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/an.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ao.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ar.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/as.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/at.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/au.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/av.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/aw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ax.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ay.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/az.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ba.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/AccountManagerMenuDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/CameraPrepareDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/CaptchaDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/CommonActionSheetDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgShowDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ErrorView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendButton.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendRelativeLayout.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceImageView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/FacePwdVerifySelDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/HorizontialListView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/IntroLoginMsgDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternSmallView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternVerifyView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView$DisplayMode.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgMenuDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgRightLetterView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/MyViewPaper.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialogWithShutDown.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout$Status.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshListView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/RecordTextView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/RoundImageView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/SafeListView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ScrollLayout.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/SecondVerifyDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/SlidingMenuView.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/SwitchButton.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/TitleOptionMenu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/UtilsAccountLockTipDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/WtloginCaptchaDialog.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/aa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ab.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ac.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ad.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ae.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/af.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ag.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ah.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ai.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/aj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ak.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/al.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/am.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/an.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ao.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ap.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/aq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ar.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/as.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/at.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/au.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/av.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/aw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ax.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ay.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/az.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ba.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/be.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/br.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/by.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/bz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ca.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ce.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ci.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ck.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/co.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ct.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/cz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/da.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/db.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/de.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/df.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/di.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/do.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/ds.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/du.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/dz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/m.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/n.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/o.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/p.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/r.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/s.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/t.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/u.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/v.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/w.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/x.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/y.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/base/z.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/be.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/br.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/by.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/bz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ca.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ce.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ch.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ci.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ck.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/co.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ct.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/cz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/da.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/db.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/de.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/df.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/di.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/do.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ds.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/du.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/dz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ea.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ec.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ed.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ee.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ef.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ei.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ej.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ek.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/el.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/em.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/en.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ep.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/er.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/es.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/et.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/eu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ev.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ew.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ex.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ey.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ez.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ff.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ft.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/fz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ga.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ge.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/go.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/gz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ha.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/he.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ho.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ht.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/hz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ia.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ib.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ic.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/id.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ie.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/if.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ig.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ih.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ii.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ij.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ik.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/il.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/im.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/in.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/io.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ip.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ir.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/is.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/it.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ix.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/iz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ja.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/je.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ji.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/js.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ju.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/jz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ka.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ke.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ki.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/km.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ko.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ks.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ku.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ky.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/kz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/la.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ld.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/le.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/li.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ll.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ln.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ls.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ly.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/lz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/m.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ma.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/md.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/me.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ml.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ms.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/my.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/mz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/n.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/na.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ne.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ng.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ni.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/no.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/np.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ns.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ny.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/nz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/o.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ob.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/od.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/of.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/og.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ok.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ol.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/om.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/on.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/op.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/or.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/os.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ot.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ou.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ov.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ow.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ox.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/oz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/p.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ph.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/po.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ps.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/px.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/py.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/pz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ql.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/qz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/r.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ra.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/re.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ri.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ro.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ru.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ry.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/rz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/s.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/se.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/si.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/so.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ss.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/st.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/su.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/sz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/t.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ta.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/td.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/te.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/th.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ti.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/to.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ts.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ty.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/tz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/u.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ua.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ub.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ud.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ue.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ug.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ui.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ul.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/um.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/un.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/up.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ur.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/us.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ut.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ux.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/uz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/v.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/va.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ve.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/vz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/w.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/we.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ws.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ww.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/wz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/x.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xe.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/xz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/y.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ya.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ye.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ym.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ys.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/yz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/z.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/za.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zb.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zc.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zd.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/ze.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zf.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zg.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zh.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zi.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zj.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zk.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zl.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zm.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zn.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zo.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zp.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zq.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zr.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zs.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zt.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zu.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zv.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zw.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zx.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zy.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/ui/zz.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/Base64DecoderException.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/ImageCache.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/SMSReceiver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/UserTask$Status.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/UserTask.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/aa.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/ab.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/BugObject.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/DetectActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/ResultListActivity.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/TitleBar.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/m.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/n.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/o.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/p.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/TknEncManager.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/FixedSecureRandom.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandomProvider.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/SecureRandom.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/b.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/c.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/d.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/e.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/f.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/g.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/h.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/i.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/j.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/k.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/l.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/m.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/n.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/o.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/p.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/q.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/r.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/s.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/t.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/u.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/v.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/w.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/x.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/y.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/utils/z.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/v.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/w.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/widget/InputMethodRelativeLayout.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/widget/TokenService.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/widget/TokenWidgetProvider.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/widget/WidgetReceiver.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/widget/a.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/x.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/y.java create mode 100755 com.tencent.token/classes.jar/com/tencent/token/z.java create mode 100755 com.tencent.token/classes.jar/d/a/a.java create mode 100755 com.tencent.token/classes.jar/d/b/a.java create mode 100755 com.tencent.token/classes.jar/d/b/b.java create mode 100755 com.tencent.token/classes.jar/d/b/c.java create mode 100755 com.tencent.token/classes.jar/d/b/d.java create mode 100755 com.tencent.token/classes.jar/d/b/e.java create mode 100755 com.tencent.token/classes.jar/d/c/a.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/CallbackAppidTypeStruct.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/CallbackBaseStruct.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/CallbackGameConfirmStruct.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/CallbackGameLoginStruct.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/CallbackPushStruct.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/GameLogin.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/GameLoginConst.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/IGameLoginCallback.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/a.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/b.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/c.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/d.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/e.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/f.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/g.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/h.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/i.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/j.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/k.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/l.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/m.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/n.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/o.java create mode 100755 com.tencent.token/classes.jar/gameloginsdk/p.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/c.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/d.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/e.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/f.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/g.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/a/h.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aa.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ab.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ac.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ad.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ae.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/af.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ag.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ah.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ai.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aj.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ak.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/al.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/am.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/an.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ao.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ap.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aq.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ar.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/as.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/at.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/au.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/av.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aw.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ax.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ay.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/az.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ba.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bb.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bc.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bd.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/be.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bf.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bg.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bh.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bi.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bj.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bk.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bl.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bm.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bn.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bp.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bq.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/br.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bs.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bt.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bu.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bv.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bw.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bx.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/by.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bz.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/c.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ca.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cb.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cc.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cd.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ce.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cf.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cg.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ch.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ci.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cj.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ck.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cl.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cm.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cn.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/co.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cp.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cq.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cr.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/d.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/e.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/f.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/g.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/h.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/i.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/j.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/k.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/l.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/m.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/n.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/o.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/p.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/q.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/r.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/s.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/t.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/u.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/v.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/w.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/x.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/y.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/b/z.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/c.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/d.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/e.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/fetch_code.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockBase.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockRst.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_CommRsp.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_QuerySig.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_SppKey.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/c.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/d.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/e.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/f.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/g.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/h.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/i.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/j.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/k.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/l.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/m.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/n.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t2.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t3.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/UinInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginAllSigInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginLastLoginInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginProvider.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtTicketPromise.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$2.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$10.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$11.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$12.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$13.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$14.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$2.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$3.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$4.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$5.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$6.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$7.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$8.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$9.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginListener.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginMsfListener.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/async_context.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/c.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/d.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/e.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/f.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/g.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/h.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/i.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/j.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/k.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/l.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/m.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/n.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/o.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/p.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/q.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/r.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/s.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/t.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/u.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/v.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/w.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/x.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/y.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/request/z.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginLoginInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/EcdhCrypt.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg$1.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/InternationMsg.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/LogCallBack.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/MD5.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/RSACrypt.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/a.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/b.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/cryptor.java create mode 100755 com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/util.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/a/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/a/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/b/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/b/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/c.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/d.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/e.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/f.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/g.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/c/a/h.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/a/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/a/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/a/c.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/a/d.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/A.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/B.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/C.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/D_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/E_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/F.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/G_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/H.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/I.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/J.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/a_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/b_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/c_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/d.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/e.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/f_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/g.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/h_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/i_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/j_1.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/k.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/l.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/m.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/n.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/o.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/p.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/q.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/r.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/s.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/t.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/u.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/v.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/w.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/x.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/y.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/b/z.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/c.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/d.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/e.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/f.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/g.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/h.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/i.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/j.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/k.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/l.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/m.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/n.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/o.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/p.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/q.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/r.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/s.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/a/c/t.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/b/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/d/b/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/a.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/b.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/c.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/d.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/e.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/f.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/g.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/h.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/i.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/j.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/k.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/e/l.java create mode 100755 com.tencent.token/classes.jar/tmsdk/common/tcc/TccCryptor.java create mode 100755 com.tencent.token/com/qq/jce/wup/wup.properties create mode 100755 com.tencent.token/lib/armeabi/libFaceAlgClinet.so create mode 100755 com.tencent.token/lib/armeabi/libFaceAlgClinetOld.so create mode 100755 com.tencent.token/lib/armeabi/libImgProcessScan.so create mode 100755 com.tencent.token/lib/armeabi/libNativeRQD.so create mode 100755 com.tencent.token/lib/armeabi/libQrMod.so create mode 100755 com.tencent.token/lib/armeabi/libTccCryptor.so create mode 100755 com.tencent.token/lib/armeabi/libkkdb.so create mode 100755 com.tencent.token/lib/armeabi/libsecure.so create mode 100755 com.tencent.token/lib/armeabi/libstlport_shared.so create mode 100755 com.tencent.token/lib/armeabi/libwtecdh.so create mode 100755 com.tencent.token/original/AndroidManifest.xml create mode 100755 com.tencent.token/original/META-INF/MANIFEST.MF create mode 100755 com.tencent.token/original/META-INF/NEAL.RSA create mode 100755 com.tencent.token/original/META-INF/NEAL.SF create mode 100755 com.tencent.token/res/anim/checking_arc_rotate.xml create mode 100755 com.tencent.token/res/anim/checking_line_rotate.xml create mode 100755 com.tencent.token/res/anim/dialog_menu_slide_out_go_up.xml create mode 100755 com.tencent.token/res/anim/facetip_slide_left.xml create mode 100755 com.tencent.token/res/anim/rotate.xml create mode 100755 com.tencent.token/res/anim/rotate_360.xml create mode 100755 com.tencent.token/res/anim/slide_in_bottom.xml create mode 100755 com.tencent.token/res/anim/slide_in_left.xml create mode 100755 com.tencent.token/res/anim/slide_in_right.xml create mode 100755 com.tencent.token/res/anim/slide_out_left.xml create mode 100755 com.tencent.token/res/anim/slide_out_right.xml create mode 100755 com.tencent.token/res/anim/slide_out_top.xml create mode 100755 com.tencent.token/res/color/blue_btn_color.xml create mode 100755 com.tencent.token/res/color/blue_tab_title_color.xml create mode 100755 com.tencent.token/res/color/gray_account_detail_color.xml create mode 100755 com.tencent.token/res/color/red_account_detail_color.xml create mode 100755 com.tencent.token/res/drawable-hdpi-v4/accountlock_green_arrow.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/accountlock_lock.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/accountpage_message.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/addicon.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/bind_auth_icon.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/btn_resend_default.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/btn_resend_disable.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/btn_resend_pressed.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/checkbox_lightbg_sel.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/checkbox_lightbg_unsel.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/copyright.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dialog_sms_light.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dialog_sms_title_icon1.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dialog_sms_title_icon2.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dot_empty.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dot_full.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_content_bg.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_door_edge.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_down_edge.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_down_edge_back.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_head_bg.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/dual_msg_up_edge_back.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/edit_text_bg.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/edit_text_bg_hf.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/face_light.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/feature0.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/feature1.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/feature_btn.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidiv_five.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidiv_fore.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidiv_one.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidiv_three.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidiv_two.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidp.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidps.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidtext_five.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidtext_fore.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidtext_one.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidtext_three.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/guidtext_two.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_checked.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_error.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_game.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_push.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_qq.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_unchecked.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/icon_wechat.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/input_bg.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/intro_login_msg.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/jianling_banner.jpg create mode 100755 com.tencent.token/res/drawable-hdpi-v4/jianling_role.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/jl_get_back.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/jl_xinyue.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/logo.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/msg_icon_m.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/msg_icon_mw.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/msg_icon_p.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/msg_icon_w.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/pro_dialog_icon.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/pro_dialog_icon_bg.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/pro_dialog_shutdown_icon.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/pro_dialog_shutdown_icon_pressed.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/realname_toast_bg.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/realname_toast_icon.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/switch_button_bottom.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/switch_button_button.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/switch_button_mask.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/utils_account_lock_close.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/utils_account_lock_close_pressed.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/utils_account_lock_dialog_bg.9.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/utils_account_lock_tip_img.png create mode 100755 com.tencent.token/res/drawable-hdpi-v4/zzb_icon.png create mode 100755 com.tencent.token/res/drawable-large-v4/icon_push.png create mode 100755 com.tencent.token/res/drawable-ldpi-v4/startpwd_gesture_logo.png create mode 100755 com.tencent.token/res/drawable-ldpi-v4/startpwd_gesture_logo_green.png create mode 100755 com.tencent.token/res/drawable-ldpi-v4/startpwd_gesture_logo_red.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/account_detail_nextred.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/accountlock_green_arrow.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/accountlock_lock.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/btn_resend_default.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/btn_resend_disable.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/btn_resend_pressed.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/checkbox_lightbg_sel.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/checkbox_lightbg_unsel.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_content_bg.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_door_edge.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_down_edge.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_down_edge_back.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_head_bg.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/dual_msg_up_edge_back.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/edit_text_bg.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/edit_text_bg_hf.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/input_bg.9.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/jianling_banner.jpg create mode 100755 com.tencent.token/res/drawable-mdpi-v4/jianling_role.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/jl__xinyue.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/jl_get_back.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/pro_dialog_icon.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/pro_dialog_icon_bg.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/pro_dialog_shutdown_icon.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/pro_dialog_shutdown_icon_pressed.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/utils_account_lock_close.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/utils_account_lock_close_pressed.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/utils_account_lock_tip_img.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_back_normal.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_back_pressed.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_bg.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_forward_normal.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_forward_pressed.png create mode 100755 com.tencent.token/res/drawable-mdpi-v4/web_browse_refresh.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/accountlock_green_arrow.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/accountlock_lock.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/accountpage_message.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/active_mobile_green.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/active_mobile_red.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/active_succ_img_border.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/bind_auth_icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/btn_resend_default.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/btn_resend_disable.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/btn_resend_pressed.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/checkbox_lightbg_sel.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/checkbox_lightbg_unsel.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/copyright.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dialog_sms_title_icon1.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dialog_sms_title_icon2.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dot_empty.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dot_full.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dual_msg_content_bg.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dual_msg_door_edge.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dual_msg_down_edge.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/dual_msg_head_bg.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/edit_text_bg.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/edit_text_bg_hf.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/face_icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/face_light.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/feature0.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/feature1.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/feature_btn.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guid_btn.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidiv_five.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidiv_fore.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidiv_one.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidiv_three.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidiv_two.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidtext_five.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidtext_fore.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidtext_one.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidtext_three.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/guidtext_two.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon_error.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon_game.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon_push.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon_qq.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/icon_wechat.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/input_bg.9.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/intro_login_msg.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/jianling_banner.jpg create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/jianling_role.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/jl_get_back.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/jl_xinyue.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/login_msg_place.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/logo.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/msg_icon_m.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/msg_icon_mw.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/msg_icon_p.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/msg_icon_w.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/pro_dialog_icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/pro_dialog_icon_bg.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/pro_dialog_shutdown_icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/pro_dialog_shutdown_icon_pressed.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/realname_toast_bg.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/realname_toast_icon.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/switch_button_bottom.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/switch_button_button.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/switch_button_mask.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/utils_account_lock_close.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/utils_account_lock_close_pressed.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/utils_account_lock_tip_img.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/utils_mod_mobile_progress_bar.png create mode 100755 com.tencent.token/res/drawable-xhdpi-v4/zzb_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/aboutandhelp.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_detail_ok.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_detail_refresh.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_detail_sigh.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_detail_warning.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_manage_modify_pwd.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_manage_qbqd.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_manage_setting.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_mange_game_proctect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_not_verify_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/account_pull_array.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/accountpage_message.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_btn_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_btn_plus.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_close.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_title_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_title_bg_up.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_title_pic.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/add_account_tip_verify.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/addicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/app_affected.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow3.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow4.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow_back.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow_back_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow_back_white.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow_down.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/arrow_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/bannerpoint.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/bannerpoints.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/beta.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/bind_auth_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/bt_1080.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/btn_blue.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/btn_verify_original.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/btn_white.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/cannotchangeiv.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/cannotchangepsw.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/checking_arc.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/checking_line.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_doubt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_doubt_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_failure.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_failure_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_info.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_info_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_success.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_success_gray.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/common_success_small.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/commonvry.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/commonvry_succ1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/commonvry_succ2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/commonvry_unlock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/commonvry_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/configidicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/copyright.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/default_face_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/detail_back.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/dot_empty.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/dot_full.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/error_icon_general.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/error_icon_network.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_add_tips.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_bg_black.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_changemobile.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_create_note.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_light.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_light_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_tips.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/face_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/faceerricon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/feature0.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/feature1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/feature_btn.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/find_items_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/findaccount.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/findaccountiv.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/flag.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/flagbt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/flagiv.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/forever.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/foreveriv.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_btn_verify_gel.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_btn_verify_login.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_error_dark.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_process.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_process_slow.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/fr_verify_success.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/has_real_on_current_device.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/has_real_on_other_device.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/headnologin.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/hotpromoteicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/ic_launcher.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/ico_add_uin.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/ico_no_msg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_account_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_error.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_game.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_game_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_game_protect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_login_city.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_mail_protect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_modify_pwd.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_pc.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_phone.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_popwindow.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_qb_protect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_qq.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_qq_protect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_realname.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_recover_friends.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_web.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/icon_wechat.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/iderricon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/intro_login_msg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/jiangbeiicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/labicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/leftbottom.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/lefttop.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/list_gray_dot.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/loading_light.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/loading_light_with_array_normal_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/loading_light_with_array_zzb_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/loading_white.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_address.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_dot_end.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_dot_green_end.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_dot_red_end.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_item_ipc.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_item_normal.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_item_press.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_time_bg1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_time_bg3.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/login_msg_timeline.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/logo.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/map.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/map_point.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_face.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_mobile.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_qq_token.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_question.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_realname.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/mb_sub_set_mb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/msg_icon_m.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/msg_icon_mw.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/msg_icon_p.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/msg_icon_w.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_account_login.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_mb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_password.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_password_green.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_password_red.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_password_yellow.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/my_protection.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/net_active_skip.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/no_app_affect.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/no_login.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/no_login_default.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/no_real_has_qualification.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/passwordicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/playbt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/point.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/points.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_account_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_game_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_game_protec.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_mail.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_qb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_qq.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/protec_sub_title.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_gary_normal_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_gary_normal_user_checking.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_light_yellow_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_no_risk_normal_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_strength_normal_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_white_circle_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_white_normal_user_checking.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_white_normal_user_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_white_normal_user_safe.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_white_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_with_risk_normal_user.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_yellow_circle_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qq_yellow_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qr_code.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/qrcodeicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/queryqqicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/real_name_right1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/real_name_right2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/real_name_right3.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/real_name_right4.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_active_close.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_audit.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_blue_btn_bg.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_btn.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_complete.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_face_open_bt.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_facerect_back.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_facerect_front.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_findtunnel_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_flag.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_guid.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_bg_withshield.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_find.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_flag.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_more.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_shield.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_icon_shield2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_id.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_idimage.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_name.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_scan_face.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_scan_id.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_scanidphoto_grid.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_scanidphoto_line.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_step.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_step1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_step2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_step3.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_takepic_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_titlebar_rank.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_toast_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/realname_toast_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/recommendicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/record_tips_iv.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/rightbottom.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/righttop.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/safenewsicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/scan_bottom.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/scan_middle_arc.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/sendfeedbackicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/settimeicon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_account.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_feedback.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_mobile.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_promote.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_set.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/setting_util.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/sharemenu.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/sound_notify.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/splashback.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/splashgobt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/splashnexttime.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/start_upper_bug.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_loading.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_loading_yellow.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_logo.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_logo_bg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_logo_green.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_logo_red.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startpwd_gesture_logo_zzb.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startup_copyright.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startup_logo.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startvry_lock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/startvry_unlock.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/step_num1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/step_num2.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/step_num3.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/switch_button_bottom.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/switch_button_button.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/switch_button_mask.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_account_normal.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_account_pressed.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_more_normal.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_more_pressed.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_utils_normal.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tab_icon_utils_pressed.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/tencent_teg_logo.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_get_bindqq.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_help.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_help_black.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_login_history.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_more.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_more_white.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/title_button_refresh_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/titleback.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/toast_arrow_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/toast_close_new.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/token_code_tip_pic.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/unbindbt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/uninbt.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/user_security_reporter.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/utils_arrow.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/verifybt.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/verifypage_btn_qr_normal.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/web_browse_close.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/white_btn_rect.9.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/wtlogin_login_finish_icon_evaluate.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/wtlogin_login_finish_icon_lastlogin.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/wtlogin_login_finish_icon_safemsg.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/wtlogin_qq_account_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/wtlogin_qq_passwd_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_active_attention.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_dual_msg_head_border.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_icon.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_icon_circle.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_icon_pic.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzb_icon_whole.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzbvry_succ1.png create mode 100755 com.tencent.token/res/drawable-xxhdpi-v4/zzbvry_succ2.png create mode 100755 com.tencent.token/res/drawable/abnormal_login_gradual_bg.xml create mode 100755 com.tencent.token/res/drawable/bg_app.png create mode 100755 com.tencent.token/res/drawable/blink.xml create mode 100755 com.tencent.token/res/drawable/blink1.png create mode 100755 com.tencent.token/res/drawable/blink2.png create mode 100755 com.tencent.token/res/drawable/blue_btn_bg.xml create mode 100755 com.tencent.token/res/drawable/checkbox_darkbg.xml create mode 100755 com.tencent.token/res/drawable/checkbox_darkbg_sel.png create mode 100755 com.tencent.token/res/drawable/checkbox_darkbg_unsel.png create mode 100755 com.tencent.token/res/drawable/codeline_bg.xml create mode 100755 com.tencent.token/res/drawable/default_photo.png create mode 100755 com.tencent.token/res/drawable/dialog_sms_bg1.9.png create mode 100755 com.tencent.token/res/drawable/dialog_sms_bg2.9.png create mode 100755 com.tencent.token/res/drawable/dynamic_code_bg.xml create mode 100755 com.tencent.token/res/drawable/face_pwd_recommend_wechat.png create mode 100755 com.tencent.token/res/drawable/face_pwd_verify_sel_dialog_bg.xml create mode 100755 com.tencent.token/res/drawable/gray_btn_bg.xml create mode 100755 com.tencent.token/res/drawable/group.png create mode 100755 com.tencent.token/res/drawable/guide_bg.png create mode 100755 com.tencent.token/res/drawable/ic_checkbox_background.xml create mode 100755 com.tencent.token/res/drawable/ic_checkbox_light_bg.xml create mode 100755 com.tencent.token/res/drawable/ic_tab_background_account.xml create mode 100755 com.tencent.token/res/drawable/ic_tab_background_more.xml create mode 100755 com.tencent.token/res/drawable/ic_tab_background_utils.xml create mode 100755 com.tencent.token/res/drawable/ic_tab_strip.xml create mode 100755 com.tencent.token/res/drawable/ico_abnormal_unread.png create mode 100755 com.tencent.token/res/drawable/ico_no_msg.png create mode 100755 com.tencent.token/res/drawable/ico_normal_unread.png create mode 100755 com.tencent.token/res/drawable/ico_remove_uin.png create mode 100755 com.tencent.token/res/drawable/icon.png create mode 100755 com.tencent.token/res/drawable/icon_2nd_verify_tip.png create mode 100755 com.tencent.token/res/drawable/icon_checked.png create mode 100755 com.tencent.token/res/drawable/icon_jl.png create mode 100755 com.tencent.token/res/drawable/icon_lab.png create mode 100755 com.tencent.token/res/drawable/icon_mb_info.png create mode 100755 com.tencent.token/res/drawable/icon_safe_msg_tip.png create mode 100755 com.tencent.token/res/drawable/icon_unchecked.png create mode 100755 com.tencent.token/res/drawable/list_divider.png create mode 100755 com.tencent.token/res/drawable/list_item_background.xml create mode 100755 com.tencent.token/res/drawable/list_item_sel.png create mode 100755 com.tencent.token/res/drawable/livedetect_standard.png create mode 100755 com.tencent.token/res/drawable/loading.xml create mode 100755 com.tencent.token/res/drawable/loadingwhite.xml create mode 100755 com.tencent.token/res/drawable/login_msg_alpha_bg.png create mode 100755 com.tencent.token/res/drawable/login_msg_clear.png create mode 100755 com.tencent.token/res/drawable/login_msg_index_bg.9.png create mode 100755 com.tencent.token/res/drawable/login_msg_list_end.png create mode 100755 com.tencent.token/res/drawable/login_msg_menu_help_icon.png create mode 100755 com.tencent.token/res/drawable/login_msg_select_city.png create mode 100755 com.tencent.token/res/drawable/logo_about.png create mode 100755 com.tencent.token/res/drawable/menu_backgroundl.xml create mode 100755 com.tencent.token/res/drawable/menu_bg.xml create mode 100755 com.tencent.token/res/drawable/menu_dialog_bg.png create mode 100755 com.tencent.token/res/drawable/msg_item_abnormal_color.xml create mode 100755 com.tencent.token/res/drawable/msg_item_bg.xml create mode 100755 com.tencent.token/res/drawable/msg_item_bg_abnormal.xml create mode 100755 com.tencent.token/res/drawable/msg_no_tip_bg.xml create mode 100755 com.tencent.token/res/drawable/msg_refresh_divider.png create mode 100755 com.tencent.token/res/drawable/nod.xml create mode 100755 com.tencent.token/res/drawable/nod1.png create mode 100755 com.tencent.token/res/drawable/nod2.png create mode 100755 com.tencent.token/res/drawable/offical_mail_bg.9.png create mode 100755 com.tencent.token/res/drawable/openmouse.xml create mode 100755 com.tencent.token/res/drawable/openmouse1.png create mode 100755 com.tencent.token/res/drawable/pro_dialog_bg.9.png create mode 100755 com.tencent.token/res/drawable/pro_dialog_shutdown_icon_bg.xml create mode 100755 com.tencent.token/res/drawable/progressbar_color.xml create mode 100755 com.tencent.token/res/drawable/pull_to_refresh_arrow.png create mode 100755 com.tencent.token/res/drawable/realname_guid_bg.xml create mode 100755 com.tencent.token/res/drawable/realname_wechat.png create mode 100755 com.tencent.token/res/drawable/recommend_qrcode.png create mode 100755 com.tencent.token/res/drawable/rectangle_shape.xml create mode 100755 com.tencent.token/res/drawable/rectangle_shape2.xml create mode 100755 com.tencent.token/res/drawable/red_btn_bg.xml create mode 100755 com.tencent.token/res/drawable/refresh1.png create mode 100755 com.tencent.token/res/drawable/refresh1_white.png create mode 100755 com.tencent.token/res/drawable/refresh2.png create mode 100755 com.tencent.token/res/drawable/refresh2_white.png create mode 100755 com.tencent.token/res/drawable/refresh3.png create mode 100755 com.tencent.token/res/drawable/refresh3_white.png create mode 100755 com.tencent.token/res/drawable/refresh4.png create mode 100755 com.tencent.token/res/drawable/refresh4_white.png create mode 100755 com.tencent.token/res/drawable/refresh5.png create mode 100755 com.tencent.token/res/drawable/refresh5_white.png create mode 100755 com.tencent.token/res/drawable/refresh6.png create mode 100755 com.tencent.token/res/drawable/refresh6_white.png create mode 100755 com.tencent.token/res/drawable/refresh7.png create mode 100755 com.tencent.token/res/drawable/refresh7_white.png create mode 100755 com.tencent.token/res/drawable/refresh8.png create mode 100755 com.tencent.token/res/drawable/refresh8_white.png create mode 100755 com.tencent.token/res/drawable/resend_btn__bg.xml create mode 100755 com.tencent.token/res/drawable/scan_line.png create mode 100755 com.tencent.token/res/drawable/scan_tip.png create mode 100755 com.tencent.token/res/drawable/second_verify_bg.9.png create mode 100755 com.tencent.token/res/drawable/shake.xml create mode 100755 com.tencent.token/res/drawable/shake1.png create mode 100755 com.tencent.token/res/drawable/shake2.png create mode 100755 com.tencent.token/res/drawable/shake3.png create mode 100755 com.tencent.token/res/drawable/shake4.png create mode 100755 com.tencent.token/res/drawable/share.png create mode 100755 com.tencent.token/res/drawable/share_group.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_bg_blue.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_bg_gray.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_bg_green.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_bg_red.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_point_blue.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_point_green.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_bigview_point_red.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_del_suc.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_divider.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_door.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_door_edge.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_line.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_line_green.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_line_red.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_promt.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_smallview_bg.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_smallview_point_blue.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_smallview_point_gray.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_smallview_point_green.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_smallview_point_red.png create mode 100755 com.tencent.token/res/drawable/startpwd_gesture_switch_bg.9.png create mode 100755 com.tencent.token/res/drawable/toast.png create mode 100755 com.tencent.token/res/drawable/toast_arrow.png create mode 100755 com.tencent.token/res/drawable/toast_arrow_new.png create mode 100755 com.tencent.token/res/drawable/toast_bg.xml create mode 100755 com.tencent.token/res/drawable/toast_careful.png create mode 100755 com.tencent.token/res/drawable/toast_close.png create mode 100755 com.tencent.token/res/drawable/toast_close_new.png create mode 100755 com.tencent.token/res/drawable/toast_message.png create mode 100755 com.tencent.token/res/drawable/toast_press.png create mode 100755 com.tencent.token/res/drawable/toast_succ.png create mode 100755 com.tencent.token/res/drawable/token_widget.png create mode 100755 com.tencent.token/res/drawable/token_widget_speech.xml create mode 100755 com.tencent.token/res/drawable/translate_in.xml create mode 100755 com.tencent.token/res/drawable/translate_in_back.xml create mode 100755 com.tencent.token/res/drawable/translate_out.xml create mode 100755 com.tencent.token/res/drawable/translate_out_back.xml create mode 100755 com.tencent.token/res/drawable/utils_account_lock_close_bg.xml create mode 100755 com.tencent.token/res/drawable/utils_mb_info_table_bg.xml create mode 100755 com.tencent.token/res/drawable/w_0.png create mode 100755 com.tencent.token/res/drawable/w_1.png create mode 100755 com.tencent.token/res/drawable/w_2.png create mode 100755 com.tencent.token/res/drawable/w_3.png create mode 100755 com.tencent.token/res/drawable/w_4.png create mode 100755 com.tencent.token/res/drawable/w_5.png create mode 100755 com.tencent.token/res/drawable/w_6.png create mode 100755 com.tencent.token/res/drawable/w_7.png create mode 100755 com.tencent.token/res/drawable/w_8.png create mode 100755 com.tencent.token/res/drawable/w_9.png create mode 100755 com.tencent.token/res/drawable/web_browse_back.xml create mode 100755 com.tencent.token/res/drawable/web_browse_forward.xml create mode 100755 com.tencent.token/res/drawable/web_browse_refresh_or_stop.xml create mode 100755 com.tencent.token/res/drawable/wechat.png create mode 100755 com.tencent.token/res/drawable/wechat_logo.png create mode 100755 com.tencent.token/res/drawable/widget_fewer_time.png create mode 100755 com.tencent.token/res/drawable/widget_lock.png create mode 100755 com.tencent.token/res/drawable/widget_lock_text.png create mode 100755 com.tencent.token/res/drawable/widget_more_time.png create mode 100755 com.tencent.token/res/drawable/widget_speech.png create mode 100755 com.tencent.token/res/drawable/widget_speech_over.png create mode 100755 com.tencent.token/res/layout-960x540/jianling.xml create mode 100755 com.tencent.token/res/layout-960x540/title_bar_main.xml create mode 100755 com.tencent.token/res/layout-960x640/jianling.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/dual_msg_view.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/facepreview_pk.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/facepreview_reg.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/jianling.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/jianling_list_item.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/msg_page_list_safe_item.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/pro_dialog.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/pro_dialog_with_shutdown_icon.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/real_name_2_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/realname_idphoto_preview.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/scanlogin_accountlist_item_add.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/scanlogin_accountlist_item_medium.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/scanlogin_accountlist_item_up.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/title_bar_main.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/toast.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_account_lock_dialog.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_account_lock_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_game_lock_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_game_protect_list_item.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_game_protect_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mb_info_item.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mb_info_item_col1_text_view.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mb_info_item_col2_text_view.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mb_info_list_item.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mb_info_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_mod_set_mobile_step2.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_need_verify_view.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/utils_qbqd_protect_page.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/wtlogin_account_input.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/wtlogin_account_input_without_headimage.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/wtlogin_tip_verify_view.xml create mode 100755 com.tencent.token/res/layout-hdpi-v4/zzb_tip_verify_view.xml create mode 100755 com.tencent.token/res/layout-land/tokenwidget_provider.xml create mode 100755 com.tencent.token/res/layout-large-v4/startpwd_gesture_del.xml create mode 100755 com.tencent.token/res/layout-large-v4/startpwd_gesture_modify.xml create mode 100755 com.tencent.token/res/layout-large-v4/startpwd_gesture_verify.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/dual_msg_view.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/msg_page_list_safe_item.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/scan_tip_page.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/utils_account_lock_page.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/utils_game_lock_page.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/utils_game_protect_page.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/utils_need_verify_view.xml create mode 100755 com.tencent.token/res/layout-ldpi-v4/utils_qbqd_protect_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/dual_msg_view.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/jianling.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/jianling_list_item.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/msg_page_list_safe_item.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/pro_dialog.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/pro_dialog_with_shutdown_icon.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/real_name_2_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/scan_tip_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_account_lock_dialog.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_account_lock_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_game_lock_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_game_protect_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mb_info_item.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mb_info_item_col1_text_view.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mb_info_item_col2_text_view.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mb_info_list_item.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mb_info_page.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mod_set_mobile_sms_step2.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_mod_set_mobile_step2.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_need_verify_view.xml create mode 100755 com.tencent.token/res/layout-mdpi-v4/utils_qbqd_protect_page.xml create mode 100755 com.tencent.token/res/layout-port/tokenwidget_provider.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/detect_idphoto_preview.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/dual_msg_view.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/envir_change_list_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/face_change_pwd_index.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/face_pwd_index.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/face_pwd_list_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/face_pwd_verify_sel_dialog.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/face_pwd_verify_sel_list_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/facepreview.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/facepreview_pk.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/facepreview_reg.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/facepreview_startvry.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/jianling.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/jianling_list_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/modify_qq_pwd.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/msg_page_list_safe_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/pro_dialog.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/pro_dialog_with_shutdown_icon.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/realname_idphoto_preview.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/startpwd_gesture_forget.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/startpwd_gesture_index.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/startpwd_gesture_sel.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/startpwd_update_info.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/title_bar_main.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/toast.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_account_lock_dialog.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_account_lock_page.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_game_lock_page.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_game_protect_page.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mb_info_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mb_info_item_col1_text_view.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mb_info_item_col2_text_view.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mb_info_list_item.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mb_info_page.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mod_set_mobile_sms_step2.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mod_set_mobile_step2.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_mod_set_mobile_step3.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_need_verify_view.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/utils_qbqd_protect_page.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/wtlogin_account_input.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/wtlogin_account_input_without_headimage.xml create mode 100755 com.tencent.token/res/layout-xhdpi-v4/wtlogin_tip_verify_view.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/account_menu_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/account_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/account_pull_refresh_header.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/add_account_tip_dialog.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/common_result.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/find_passwd_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/my_mb_sub_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/my_protec_sub_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/my_psw_sub_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_2_step0_verify_mobile.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_2_step0_verify_mobile_down.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_2_step0_verify_mobile_up.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_2_step1_input_name_id.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_2_step1_input_name_id_forht.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_4_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_4_page_new.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_find.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/real_name_page.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/scan_tip_page_2.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/test.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/utils_login_protect.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/utils_login_protect_list_item.xml create mode 100755 com.tencent.token/res/layout-xxhdpi-v4/utils_login_protect_setmobile.xml create mode 100755 com.tencent.token/res/layout/abnormal_login.xml create mode 100755 com.tencent.token/res/layout/abnormal_login_list_item.xml create mode 100755 com.tencent.token/res/layout/about.xml create mode 100755 com.tencent.token/res/layout/about_samsung_market.xml create mode 100755 com.tencent.token/res/layout/account_detail.xml create mode 100755 com.tencent.token/res/layout/account_detail_list_item.xml create mode 100755 com.tencent.token/res/layout/account_refresh_header.xml create mode 100755 com.tencent.token/res/layout/active_succ.xml create mode 100755 com.tencent.token/res/layout/active_succ_mobile_fail.xml create mode 100755 com.tencent.token/res/layout/active_succ_mobile_succ.xml create mode 100755 com.tencent.token/res/layout/activity_detect.xml create mode 100755 com.tencent.token/res/layout/activity_main.xml create mode 100755 com.tencent.token/res/layout/app_guid_flipper.xml create mode 100755 com.tencent.token/res/layout/banner.xml create mode 100755 com.tencent.token/res/layout/bind_uin.xml create mode 100755 com.tencent.token/res/layout/bind_unbind_success.xml create mode 100755 com.tencent.token/res/layout/binduin_verifyphone.xml create mode 100755 com.tencent.token/res/layout/binduin_withauth.xml create mode 100755 com.tencent.token/res/layout/camera_prepare_dialog.xml create mode 100755 com.tencent.token/res/layout/captcha_dialog.xml create mode 100755 com.tencent.token/res/layout/check_mobile_available.xml create mode 100755 com.tencent.token/res/layout/common_verify_trans.xml create mode 100755 com.tencent.token/res/layout/correct_time.xml create mode 100755 com.tencent.token/res/layout/device_delete_dialog.xml create mode 100755 com.tencent.token/res/layout/device_lock_tips_dialog.xml create mode 100755 com.tencent.token/res/layout/dialog_actionsheet.xml create mode 100755 com.tencent.token/res/layout/dialog_sms.xml create mode 100755 com.tencent.token/res/layout/dialog_tip_layout.xml create mode 100755 com.tencent.token/res/layout/dialog_tip_layout_2btn.xml create mode 100755 com.tencent.token/res/layout/envir_change_listview.xml create mode 100755 com.tencent.token/res/layout/error_view.xml create mode 100755 com.tencent.token/res/layout/error_view_network.xml create mode 100755 com.tencent.token/res/layout/face_confirm.xml create mode 100755 com.tencent.token/res/layout/face_confirm_idphoto.xml create mode 100755 com.tencent.token/res/layout/faceadd_tip.xml create mode 100755 com.tencent.token/res/layout/facechangemobile.xml create mode 100755 com.tencent.token/res/layout/facepreviewold.xml create mode 100755 com.tencent.token/res/layout/facerecog_create_tip1.xml create mode 100755 com.tencent.token/res/layout/facerecog_create_tip2.xml create mode 100755 com.tencent.token/res/layout/facerecog_default.xml create mode 100755 com.tencent.token/res/layout/facereg_confirm.xml create mode 100755 com.tencent.token/res/layout/faceupload.xml create mode 100755 com.tencent.token/res/layout/find_items.xml create mode 100755 com.tencent.token/res/layout/firstjoin.xml create mode 100755 com.tencent.token/res/layout/get_barcode_verify_msg_prepare.xml create mode 100755 com.tencent.token/res/layout/get_other_barcode.xml create mode 100755 com.tencent.token/res/layout/index.xml create mode 100755 com.tencent.token/res/layout/input_phone_number.xml create mode 100755 com.tencent.token/res/layout/input_phone_number_country.xml create mode 100755 com.tencent.token/res/layout/intro_login_msg_dialog.xml create mode 100755 com.tencent.token/res/layout/jianling_libao_item.xml create mode 100755 com.tencent.token/res/layout/jianling_need_verify_view.xml create mode 100755 com.tencent.token/res/layout/jl_appeal_detail_item.xml create mode 100755 com.tencent.token/res/layout/jl_appeal_list_item.xml create mode 100755 com.tencent.token/res/layout/jl_appeallist.xml create mode 100755 com.tencent.token/res/layout/jl_appeallist_detail.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_chooserole_item.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_choosezone.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_choosezone_item.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_default.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_details.xml create mode 100755 com.tencent.token/res/layout/jl_finditems_result.xml create mode 100755 com.tencent.token/res/layout/listitemlayout.xml create mode 100755 com.tencent.token/res/layout/login_msg_abnormal_change_pwd.xml create mode 100755 com.tencent.token/res/layout/login_msg_ip_share.xml create mode 100755 com.tencent.token/res/layout/login_msg_menu.xml create mode 100755 com.tencent.token/res/layout/login_msg_page.xml create mode 100755 com.tencent.token/res/layout/login_msg_page_list_item.xml create mode 100755 com.tencent.token/res/layout/login_msg_private_ip.xml create mode 100755 com.tencent.token/res/layout/login_msg_report_list_overlay.xml create mode 100755 com.tencent.token/res/layout/login_msg_report_location.xml create mode 100755 com.tencent.token/res/layout/login_msg_report_location_list_item.xml create mode 100755 com.tencent.token/res/layout/logo_page.xml create mode 100755 com.tencent.token/res/layout/look_network.xml create mode 100755 com.tencent.token/res/layout/menu_account_manager.xml create mode 100755 com.tencent.token/res/layout/modify_qq_pwd_succ.xml create mode 100755 com.tencent.token/res/layout/msg_page.xml create mode 100755 com.tencent.token/res/layout/msg_page_end.xml create mode 100755 com.tencent.token/res/layout/msg_page_get_more.xml create mode 100755 com.tencent.token/res/layout/msg_page_header.xml create mode 100755 com.tencent.token/res/layout/msg_page_tip.xml create mode 100755 com.tencent.token/res/layout/net_active_select.xml create mode 100755 com.tencent.token/res/layout/net_active_vry_mobile.xml create mode 100755 com.tencent.token/res/layout/net_active_vry_mobile_nosms.xml create mode 100755 com.tencent.token/res/layout/net_active_vry_qqtoken.xml create mode 100755 com.tencent.token/res/layout/net_active_vry_ques.xml create mode 100755 com.tencent.token/res/layout/op_msg_detail.xml create mode 100755 com.tencent.token/res/layout/op_msg_detail_item.xml create mode 100755 com.tencent.token/res/layout/pcmobileqq_verifyed_devices.xml create mode 100755 com.tencent.token/res/layout/pic_dialog.xml create mode 100755 com.tencent.token/res/layout/realname_commit_err_tip.xml create mode 100755 com.tencent.token/res/layout/realname_confim_id_tip.xml create mode 100755 com.tencent.token/res/layout/realname_confirm_tip.xml create mode 100755 com.tencent.token/res/layout/realname_detail_flipper.xml create mode 100755 com.tencent.token/res/layout/realname_detail_four.xml create mode 100755 com.tencent.token/res/layout/realname_detail_one.xml create mode 100755 com.tencent.token/res/layout/realname_detail_three.xml create mode 100755 com.tencent.token/res/layout/realname_detail_two.xml create mode 100755 com.tencent.token/res/layout/realname_face_tip.xml create mode 100755 com.tencent.token/res/layout/realname_guid.xml create mode 100755 com.tencent.token/res/layout/realname_video_view.xml create mode 100755 com.tencent.token/res/layout/recommend_qrcode.xml create mode 100755 com.tencent.token/res/layout/record_text_layout.xml create mode 100755 com.tencent.token/res/layout/result_list_layout.xml create mode 100755 com.tencent.token/res/layout/scanlogin_accountlist_page.xml create mode 100755 com.tencent.token/res/layout/scanlogin_bind.xml create mode 100755 com.tencent.token/res/layout/scanlogin_confirm_login.xml create mode 100755 com.tencent.token/res/layout/scanlogin_succ.xml create mode 100755 com.tencent.token/res/layout/second_verify_dialog.xml create mode 100755 com.tencent.token/res/layout/security_reporter_page.xml create mode 100755 com.tencent.token/res/layout/serialnumber.xml create mode 100755 com.tencent.token/res/layout/setting_page.xml create mode 100755 com.tencent.token/res/layout/setting_page_list_item.xml create mode 100755 com.tencent.token/res/layout/setting_submit_comment.xml create mode 100755 com.tencent.token/res/layout/setting_token_page.xml create mode 100755 com.tencent.token/res/layout/showlog.xml create mode 100755 com.tencent.token/res/layout/showlog_item.xml create mode 100755 com.tencent.token/res/layout/sms_cannot_unbind.xml create mode 100755 com.tencent.token/res/layout/sms_content_tip.xml create mode 100755 com.tencent.token/res/layout/sms_unbind_qq_page.xml create mode 100755 com.tencent.token/res/layout/startpwd_gesture_del.xml create mode 100755 com.tencent.token/res/layout/startpwd_gesture_modify.xml create mode 100755 com.tencent.token/res/layout/startpwd_gesture_verify.xml create mode 100755 com.tencent.token/res/layout/startup.xml create mode 100755 com.tencent.token/res/layout/title_face_pk_dropdown_menu.xml create mode 100755 com.tencent.token/res/layout/title_game_lock_dropdown_menu.xml create mode 100755 com.tencent.token/res/layout/title_login_msg_dropdown_menu.xml create mode 100755 com.tencent.token/res/layout/title_main.xml create mode 100755 com.tencent.token/res/layout/title_verify_dropdown_menu.xml create mode 100755 com.tencent.token/res/layout/token_code_tip_dialog.xml create mode 100755 com.tencent.token/res/layout/token_main.xml create mode 100755 com.tencent.token/res/layout/token_pwd_sel.xml create mode 100755 com.tencent.token/res/layout/tokenlab.xml create mode 100755 com.tencent.token/res/layout/utils_account_lock_interval_list_item.xml create mode 100755 com.tencent.token/res/layout/utils_common_list_item.xml create mode 100755 com.tencent.token/res/layout/utils_common_list_item_up.xml create mode 100755 com.tencent.token/res/layout/utils_common_verifiedphone_item.xml create mode 100755 com.tencent.token/res/layout/utils_feedback_mobile_using.xml create mode 100755 com.tencent.token/res/layout/utils_item1.xml create mode 100755 com.tencent.token/res/layout/utils_item2.xml create mode 100755 com.tencent.token/res/layout/utils_mail_protection_page.xml create mode 100755 com.tencent.token/res/layout/utils_more_game.xml create mode 100755 com.tencent.token/res/layout/utils_tip_verify.xml create mode 100755 com.tencent.token/res/layout/validation_facepreview_old.xml create mode 100755 com.tencent.token/res/layout/verify_token_pwd.xml create mode 100755 com.tencent.token/res/layout/viewstub_title_menu.xml create mode 100755 com.tencent.token/res/layout/viewstub_verifyview.xml create mode 100755 com.tencent.token/res/layout/web_embed.xml create mode 100755 com.tencent.token/res/layout/wtlogin_captcha_dialog.xml create mode 100755 com.tencent.token/res/layout/wtlogin_login_finish_nomibao.xml create mode 100755 com.tencent.token/res/layout/wtlogin_sig_expire.xml create mode 100755 com.tencent.token/res/layout/zzb_active_tip_dialog.xml create mode 100755 com.tencent.token/res/layout/zzb_firstjoin_dialog.xml create mode 100755 com.tencent.token/res/raw/ding.mp3 create mode 100755 com.tencent.token/res/raw/door_open.wav create mode 100755 com.tencent.token/res/raw/number_0.mp3 create mode 100755 com.tencent.token/res/raw/number_1.mp3 create mode 100755 com.tencent.token/res/raw/number_2.mp3 create mode 100755 com.tencent.token/res/raw/number_3.mp3 create mode 100755 com.tencent.token/res/raw/number_4.mp3 create mode 100755 com.tencent.token/res/raw/number_5.mp3 create mode 100755 com.tencent.token/res/raw/number_6.mp3 create mode 100755 com.tencent.token/res/raw/number_7.mp3 create mode 100755 com.tencent.token/res/raw/number_8.mp3 create mode 100755 com.tencent.token/res/raw/number_9.mp3 create mode 100755 com.tencent.token/res/raw/shake.wav create mode 100755 com.tencent.token/res/values-hdpi-v4/dimens.xml create mode 100755 com.tencent.token/res/values-mdpi-v4/dimens.xml create mode 100755 com.tencent.token/res/values-xhdpi-v4/dimens.xml create mode 100755 com.tencent.token/res/values-xxhdpi-v4/dimens.xml create mode 100755 com.tencent.token/res/values/attrs.xml create mode 100755 com.tencent.token/res/values/colors.xml create mode 100755 com.tencent.token/res/values/dimens.xml create mode 100755 com.tencent.token/res/values/ids.xml create mode 100755 com.tencent.token/res/values/public.xml create mode 100755 com.tencent.token/res/values/strings.xml create mode 100755 com.tencent.token/res/values/styles.xml create mode 100755 com.tencent.token/res/xml/xmltokenwidget_provider.xml create mode 100755 com.tencent.token/src/com/qq/jce/wup/wup.properties diff --git a/com.tencent.token/AndroidManifest.xml b/com.tencent.token/AndroidManifest.xml new file mode 100755 index 00000000000..158f94558ff --- /dev/null +++ b/com.tencent.token/AndroidManifest.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/com.tencent.token/apktool.yml b/com.tencent.token/apktool.yml new file mode 100755 index 00000000000..6b39eaf6f1f --- /dev/null +++ b/com.tencent.token/apktool.yml @@ -0,0 +1,31 @@ +!!brut.androlib.meta.MetaInfo +apkFileName: QQ安全中心_6.7.2.apk +compressionType: false +doNotCompress: +- resources.arsc +- assets/KingkongPatch.apk +- assets/channel.ini +- png +- mp3 +- wav +- jpg +isFrameworkApk: false +packageInfo: + forcedPackageId: '127' + renameManifestPackage: null +sdkInfo: + minSdkVersion: '9' + targetSdkVersion: '9' +sharedLibrary: false +sparseResources: false +unknownFiles: + com/qq/jce/wup/wup.properties: '8' + src/com/qq/jce/wup/wup.properties: '8' +usesFramework: + ids: + - 1 + tag: null +version: 2.6.0 +versionInfo: + versionCode: '70' + versionName: 6.7.2 diff --git a/com.tencent.token/assets/KingkongPatch.apk b/com.tencent.token/assets/KingkongPatch.apk new file mode 100755 index 0000000000000000000000000000000000000000..6f8c6b81919709cf0e2f4ea91b385238cc5d1ff0 GIT binary patch literal 146145 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

BE$Q+0`73R{Z8fZ+$V!(QO^pC?f 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�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 literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/KingkongPatch_apk/apktool.yml b/com.tencent.token/assets/KingkongPatch_apk/apktool.yml new file mode 100755 index 00000000000..3be8784f4f5 --- /dev/null +++ b/com.tencent.token/assets/KingkongPatch_apk/apktool.yml @@ -0,0 +1,19 @@ +!!brut.androlib.meta.MetaInfo +apkFileName: KingkongPatch.apk +compressionType: false +doNotCompress: null +isFrameworkApk: false +packageInfo: null +sdkInfo: null +sharedLibrary: false +sparseResources: false +unknownFiles: + libPatchDispatcher.so: '8' + libkkfixerdriver.so: '8' + libxposed_art50.so: '8' + libxposed_art51.so: '8' + libxposed_art60.so: '8' + libxposed_dalvik.so: '8' +usesFramework: null +version: 2.6.0 +versionInfo: null diff --git a/com.tencent.token/assets/KingkongPatch_apk/libPatchDispatcher.so b/com.tencent.token/assets/KingkongPatch_apk/libPatchDispatcher.so new file mode 100755 index 0000000000000000000000000000000000000000..e7cba52ec5b255021d2e3db9c63bcdde55d0745b GIT binary patch literal 6716 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 literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/KingkongPatch_apk/libxposed_art50.so b/com.tencent.token/assets/KingkongPatch_apk/libxposed_art50.so new file mode 100755 index 0000000000000000000000000000000000000000..815d8f9a55452c3282be797e3a14167fb14bf66e GIT binary patch literal 30076 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 literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/KingkongPatch_apk/libxposed_art60.so b/com.tencent.token/assets/KingkongPatch_apk/libxposed_art60.so new file mode 100755 index 0000000000000000000000000000000000000000..f60f630307c405f9c60d3fc870904a32091c2c36 GIT binary patch literal 50956 zcmd3P30#!b`u~}Y8CJ(7L&Y3G5pZJ@(JaSdcm-EnGj9b5qwkCe1ZY^@9MoXhgnE_d{gqVS9RfH6ukswo}!_Z?+y-#;A5hz@rl(YSP9j7$65=>a!NoeH>DAP48S=iGFQ)jb) zi^mLaBm|B=823rqTgRXD!L3d|dfxTxfkK3)gJ&Tj%;qGzsUA`rk@_oIfh=>QeutOZ}f+>aA{d>iQ}XzVk=7e(X}e zK!oS~(fw`rxoVE}z2Bw&RhPQetxn^O?tS-ps(g`?Xaw0nCkJ^WIsb_Vm z@90uL*`;3BrQX-y)w^SToLimdo6)8IN|*XOZgrZUq)+Gm9_&(&?^0jerM|vPy`oF~ zfxeylPwG<7>{7qtR;TsYy43sj>)f9azZw+dt`6r|~{@tJD67AL!gZ zze{~*m-^){^@RgEKYzAM{Z-)e^NRpCGz((B>~$4njmg2cy8}4q#uj z->cF7lC$oC_9W+s47y8tG6UKl*Dy8|e2d!O#(X?q#C`C^9;nN^^oK{-_Xfsjo9O;O z!LRgrjD>>tpczpd|1Os-yjG!2hj6hn%73Gq6AXvEL-u zs2+j!^nb}A7peZG7h@Nb(Z6&27_=9my=y;Lfj|5$hp{&>Z|c80_NUHmd~d+z_-F^b zX@2?W&wW10c>Z$s-T6L)@uy(?A}2h%qkZHQ^zR(MI}pJgpB`0VFWvU{d(??-TE{50A6z$dkhn#{bHy$KEl{eXMZ*j>6C?xB|F!9 zf0y|lfV_Hj9%Dx5^TB9;JA<)V&i$W+^?n3+yWn*PLsUP?*kNb?lki;980ceE2RxQT z-X%TG*jVRy_n{v681}^3{}Cl)WodWmqYTg0tw4W(Gp&!{bR7NR5eNQYKk5=dMrK+@MlSW3 zk?H7XVb+qA*;!BNvocaR`h#W}1$Zb|w@?ptGdCqIe?fL`rypi$mz%81%Ft&mOejd#<>c$Lv$)*s#qrr0I+ikTYBZXS znz1A+U%yy4TA!7dpO%%bOTm2SO`Vw^ostq6IdXnlo<2P#FF#k8ws`)M1xe{sXX0`? zpO%}FpPQ!7&r3>ANJxmuTb7lcuoMqwWF}MgE1!=o$je!hpOuh2DP7O7gS0$!66@IW z=+TZPYI5}%3w0@aVWrb@^$Q79Q*`-!cE;4Sd@MF0c~r{8sYwZ0OHnYSXQt)lCC8;0 zvgaFg>G}HP$Y@u2d~R;qvYF8-Ge@S(9F;;t(N;u8IX2PJWx|X}SZj3j%=GLWUB)z_ zkMZg0y1cycnb?htW!Si^wE3ABwPTE#F)8@Z;OcPn_}qL)XOW|6-)HC+WMU?|jNd*2 z11K_eS*{TxM-j$wdR=CQ3$RI(2}IEy*Jmxu(IrGAOr9SBKqcc|9A+gvkzkN_pDV zG|JH?DKk^IFfG#ow1nK;?A*Hp#4gs;g^}@uBwe<})lH{1kt37xlCox|E!HKcr7ucb z2(ZtL>_DAp=ZIP9*^6_4i$DvZ=XgFX3r#zZeHQ@py8ys7a%9Bh?1fW+Y8WRzl9p#6 zphn{AOdW_?pT8_Yf3L=|4oVeB(Mf}uc}c>vU1>I923?MJ5O}uZxuo=2DG3QPV^c69 zb?@W?T^rrAzs$UQPe~i;m<>_b&jRKy7&>iw0-)+zrt5}4yU`;BED*{`SsA*5X-o2_ zEzo2y$;!y%e^ok zyz(ykcOm+_82M|rBkK3x4jSS&ZpSYLYV_~F3L4^fUPa7*v5H860w)VTt;kUcS$Rux zbxB$Je7&FyWpok^Apcm0qCuR+MVAf|PDq&F!Lfho?$f+~=dBs}Uu?}U6tOhK@4SlG z-+vV}#P7U{QNRBxXo%msia64o912=zl`6ua9sWe0a^t0jWD@93iimaSjL;LJQ-sS- z&8maN{^F5bOZlxMMUDO$so>N@-6rj(5V?)!nsSUo?EX}|2*l52=Q=vn>hqukrSlH1 z(Mi*SK<}dSkTT)EwXU)54j&mkL6`5g`GSE#>V!+${Tr<-p=DWf6;wq?q_u8RfKHL8mfqvOY?z+Hl z-IrfJ(to?As3->nvS%(y=beN=diqZ=#to`Y>JTi$$jF)bF#i`O>vicmhp{+%rhZ{o zT0TUlU_%QwPEx^y^kCb~pShX;Z!aQLJ;xTwP)l2DKz83T`yE?+k} zJ3TEEL%6vu;8e)a<>t~ePM1sM$eFr)hf}3PM$q_fi%y;-@L|^jqrjsbZkojG>_tgg z3$nreyFB7HK-B0C?-nQqzMH%hcPGz1JUR66udzpC^RThG%d}B~`8hK`GHyv$dfJkO zd_Ej(PG^{#t13>PotFY*ST`~~Q`r9NOfpbAK#rC%T@?s8Rfs8#PRq;$?5Mk$<6)*JL`9~gRQ*d70Tyr9kZR zj=M{z%_7q|>nXvJ(|IF$#FiPr%$ z`KeP84h1KUO>#`X14OY4b@|u|N0-iB z2}if1vX(5yKIS`oo1>ks5I8$i^k6B%e&5^c2?%uRePnt*d~I-ucE0?JSL+6;s2Bom zKKvGGxoPki=BDK7o?Jpa;b%Os_w?q>N|_Zw{+voytbm{s9 z`gDfK2J9akBo1Gwi_we(S#z2C91g@o?qkQE3zBWr4EPCkxsSjbrOTbN1m5i^r&%}? zv({yR(JYG323v-I84n8l7b2IOiygizm-jg`CMj^%)@kb;ccWsRV8~knD8TQZ4);}lm!>W_MCI!8 zAS%!X4HL)>{zpN6OiWvvHfIV+u&D7F z851(I=R4&W9&>JwqdSM8;S%ny)i`Gp83|Bh+m;YN{`GTml0_Fw$|=4(RCn^!(%Flk zjO4(lt;?O29S@hVK2w)Lr!I~o4A;~!CvrbKy)IERba~mCOLYz}ouFfm(&`F0Jexo^ zz)yWHakw3ymd@)00TGh|;V}}7)X`}+5hreRxMN(X6sgZ6uV^mLA?~82>*gpIZ&;*T z2A-3-;BFIF#||G+v~#vj_27SPx?PZgBtuu*$8{{^yzbOGgp)7QJ?Qn_I>DKg z?k1QcBT@{Dg=3{8Erf`066O-*9inq|CwZ(P*?Cv#kJ4lpBM@7%hn(sC$tVlp;Nv4yRb*2q$ zazu)oso!-bok1Px1ohpSci?6IZ^z3HB8YuNmzg;!3tV47TwPvdtN|pSl8K{}6sLmg zYW#1M=aGUEeOEq3;WRHpp9}q~L%Eto3_co6#BuWF;!|D5fZpMP`aMK<#62_>r}ftb z#x!S_b{q)-v)I80;Y)R$Qo2^QdyTVJAXkOmXwo=GsxWhWhAi~ zH2RcjS(8EEZX-lRWoF+!WA!VuKpX_x)v#NB}TOmPA zA)3!79!FTPM4{Xmly*jKRP`L>t9*&ELZxh;sz@235c%{DW#Sbw85=J2g-{eB_5&d# z>Ev_gry_tkPyzo^hoqW=nzAA5X(WzMWVPRgjWgiD9G5eNY5b|kqVIzYQmmJ z`V-O%NNbP~Ud1pc_6pK^q>V_MkTxUj&b`p9qG4>$oC;HYbm6Y&AAjS^i;b6_dFo$t zTSrFx`TdV2yUhQy>A*)*%MPYa82k3=0X@}Uepml&@yo-e_pJUVc*V;pqLoEis}k;C z^wyEagEN*t5&O1;&+9wuLFty1`U#qMMfp!ZRPxfAgHOzDzr8bi>Kf0c!m3fGZ$7b2 zhfgm?)*SE!^2E2S`6gfa>7;_1FJl*B@vuKn$wgy|AC6@TeRJrTjtJ^DG?OFQbN z2p*%b*Y}+HVP}5Eng7F?o1A&2Gyl$+S2^=qXKr=oP0rlz%v+r~JLecr>dY0++{c+K zop~>3?(fV4oVm)G@BGZsPpLD1&zT=~=FH?A$C)dfxsNkfI`dx6+~1i8ICGUVALz{U z(eHhT|0|#zagT3P9tPe(c?4stD34_9Mast_W{~oSzzZmU7%`8OPhe~>#D-Gt zi&$#P{TQpF9C38Dlq(VAPkDF7nkYwnshx7fQMOV}$o5a~<+A(a0Se4p}RjHOaO95KF>k3cLb}${ywo7IC1)wZ#>Vw_)TK-(eGVlwOcvPtsLQ24s|Q5+{*rL zWu;qL;Z|mDW&7>B<67OyRc_@R!(&*&vh#&yOk5&%4)ZAoLf1?N&Crl?&X;Ic{a% zt(@vsp6galb}J{kmDO(LIJa_yTRGINta2;+yOou0WrbUrxs~lUxBYi3SGkodQI_z1 z3my$v9v*y6`QD=i%fm$0<p6Qt2;C99AtYed!yYh&|s+B3`MKu)Sa3Zfm!& z)gM*mZv}sF-dC8We4}9A-zy^eeb3m;Zy~n4s2trs;%ljC(l^w;Yull2eJYgwzE`>G zs=Z%-OJhXr{Tf{LYZ}wl$Km$&cBR|6O6RyfO7HKLDvZzieeZ+5l&XH;`#bwP|1*6Z z+k*K!f5WQlrwpr8daWpBMW5PVG)?3daZ>9Ct(WbqRJ}??r5{yQPU&%Ee67+uXTq>* z>ol}oyR!6#-Jf|R6=>CS@!|sScruamu>R@efX(3Vm}|)o%t(o;awcFm%NJLRr%JhY zTV|b#Q+~wCy(c-Y7#BUGRYV7;rj~uPs7NC>z1FA@dH1~>A83_JdTPH-Z@0}5o;b0A zG2dVOOdOtRx5YZgdKu3yuJ+*0RZDjtYGj`0s>KBn*W}!4j)izu?$qon58y(yJ|FJY zmL*8FN7H&;JFGu#@su{}i!`rUn56FfSU!$ZG>R1dc2U6mMMV=t5n_`lwk)CMY6N!; zy%8U*^9q!X60kB z&nL6DAL@SOgkgis>*8@k_aZaUpv8X)budn zRg22;dPT%KjgLtb^_s?B!Bj+VITO4Lg?-DK3xAl4-bAV<^F;m307(T4K32`5(LYc9 z`RIcUeHKYlA6q1{obWkn7f19Jy=GY{3e-{`<5LO0sGY}TFHXd<;Agc1c@lRs(b z*<>89wtj0A>Ael-tG(X#v7Gk)&@NWZvj?fB2RvjtZy#9sDF1{#D5ASvve#QXFW`g5 z<=rlo_vF|Q|1fT}vtw^JYQz$!tWjIdM(*}+1iObhtu%_j^!gmu1bWO|8fogPoFo@WolD$knc8lK>jvBt*7qOro|VUG1} zruCH`!1_#w{6izKzJgbqwe#$%RL|j=mu^&fSVJ>10s}+SLeql3vMZU$VAOwRh_#PV zuHe^ejMi6-%u?uc)$WsOH5`+FaA7VNDa{- zYH1}l^HRCz#jor`m8)g43-h=hh8|@bH7ymvW?EmnZ8G{;-qgS3Ni$#{*lwGMy~#1Z zSr$9#8Ev$g8mgB`AlMT*mba<zs4LlBuza{<#1yv?=bCB#?Y3T)e&+5NC)q67I2H9CfK!&4uCsD4;Jz4XcP4y3 zi(#iAX^=i%1f3r#3yDLTi!>kUmcc(?_Sr#OYlW^x!=x=!E>k3vo^g`mCCTJ|j@jFgIM+m+UE^og-XNFS!D| zci{SCL}gwkP}xFISqM>?P)h}s<$}tZ4Mj2!^vw+ZWh+5rk(|6^2ewty4vcGhvLuaf zy*W{!wN2GbB{BCd8wM;MF3`~sq9dO^4sis~SNesKnRcPwmQ#J~rexzBp+pqqhvySP zM>*B3{QAp`eStJa58nW2@a=0V8ME(Ep?#`&uZg2W0H6q+te&yPE@uBR3<0A zPPDbnR!eO_W3NNvwAqf;@9B^@O9YA2W~;2k; zL7VM#J?XoDHj+k_(jgCuueqeb=4*Fl!7ENV_DqFS6YM0#%I+z}^t30W2MRK*7wt%g z40}kBVLqcr%Va*WKCyC_q*(+>LsG#ZX)=CR()e_&JOe8yNwWl!Mr0;Q(`HMpXDS6G z%@FYRC^P*X(Mi$_zK5h~vrVi|1cgkkcTmm3J47{;g=@+6rRMsw0Q9rDL(&vob7_d{ zuHBU~&kItf%{I3F6G6(f*&fFHG=h|Q3Y0Up-mn@v7}A;fkS{pan2cmV`b!#P2a%3C z^TWtfk>Zf1*n3S0p6o4XXrej2p{Gfn>&vYv6*(;-=w->FoW%NrUCJevnV|cS9eLfp zN-5ZrVTuYB=h>n6O9g%Z3;QXRXmBVeJ0N+-V@o92&da;#W!s3-;D}E|f2Z zy(J3%(q3!yEmC8)J2Bh6Ww5rM>~2-~Fsnx)SzFDpww7K@NeD81CRbfpEx%8&V%ltm zI;Qg7GmI~RL`f^`*0Gw-R!owdHHr)8a-#veIdv?w(iFtM%70<#E!Z(Pj6L-a7`~|X z`n$K~IE#lC8O-7X#+vdBOZl00RYY&Qq%vANH{fHzR+B&vJL|I5NR#~0e|XfTO~8Vg z_K?)9cfDYz1!5d!-7b5m$|Pu!VfdJX&$bt*ii)PyoRzFgO61mc*lKMyF||~lm2XFz zHrp4qo6Qbe%`xA$T8tPPZA#;po6nPlIaF$%wQ8X(v()63Ngj0?l0!WatKg z?u<^Wjl3Np0>z0yaj%rl=Ih-fZ?Xzq^} z_h_PEwKd9fI!VwTu-eFv&}RD%wz6;WFn&KMF!yIEkmyaoUie3P7xvc268666V>wR# z5jNMZ`VSPhg>cxouTkUi!y*464_$gSu|S(_4^CynN10p{Hy1vS&J-u!E-FgqwoctP z@$YO~(sP1uWSO?jmPjq(9eGutxCdZyJ1DMHu5R3C^cU7O*0RCu4~`+(2sm5B9LbXy zSV>DesPO7NsgPM$8ShPpXIyI#=DjU*2@>?#sgb$2G;5%;*1clPFw_JzrfT-l^g$Zgv;sb^A?{*R3}d zfvc0e$W=huo7cb83h#^J`QBUA}ai_9a)iwzP%?t}s`W^+j)^+~_mPjXsCE z(dQueReIy;1(;*JAg=>JqZu`!g*g93TJZ;*&*CF2AxL7RqX^7tdlYse@@C{xXS%jM#ASk=BxU&=3&i)Y~l_}`X`(z|l;Lz0Rcrg}lwJqulTMKvgp zJqKO)o&rY)h#PbX|vBoLJpiF6LJM|0x$ku#YaesIC6r zlZ&y{_oA_%%Ej6$$VKem|D{|kts?q+uZrZN$a+q&G!F^a{!;bp<>J07l8gJRR{Rk@ z7o;mV^Z$G<^kpO?(oob-As%285|8vW(ki3?B%-;m1iARtZ;*>~S~|aE_iGi+y=uN!aYu}z}cWh@HKuOAE zZd%Q0#d6TxS$Xk9wiOfy4^Eii!PyE(-LV~|cI>1e7w_0Mz$s5LgMx$fA3)h^xj11y{gnF17^a`d=%c&kcczz_dX$bOQWHs@9NNd=|sgB^7dIl z?+t|BnTL{}yAuiUytC{YShb}8g&|&-Dm4^qWyUW9eqJJU}@7Pis zI@4+p>98u>zmH(<-nALi?^>|6efd5pfhp-Atw$Ytk6et!3a?WDX;@Ce

9U|~&56;&K_rE%KHjvly6^@lKa3yw?oT}%=V=d1`fwf_PufrAjNp6nQJiFx2zw~qB;O?4Dz<)P z_t+ujWX0jBXv;)A+Tkqwvgr$R1a#6nwoP@R+13D#va(DK}q;fIS8N56{8Z6;uv_ z=LZ;ByT?3TuDJMvp%|yLk({TYd)Z5{5#Be4aS>?$9NL#utT7Kj`L){1=D*}Q_J4wN z|7rK-z?}ijFSI#0h7)s=FWMuVnB&-emA;Z!z3av?oS4(sq}8Vd-0$4|QM`B^o)q25 ze(Mkmi!sR?hvM9sr9LSebwLqYZkTA2TULloys+bp_8a`yM>J5nNm3-)C*K6TVLka! zE{Z>g6Mfl+F`UTyO8d2HSGyGl8YzJcX&4J zlqp`r8rO-`QGL|XP}U+2@HHLPUaeX#x{lo!WB0k*2=0^`glcp95a z@h^&m)6jgx3%haTA(XD^!54DIL$Kx!zF0~z4`B{WHD2oAU&nx{MgdbZ-&OH(0;Zar zUc-q2!QfwnucLVu#;jM2z|~;js^o&5?d_>%Lt;&YH@7Ur1)_N|@a7gg1U{WSa~>2k zvr4{?c7yh=59dWx$<%majIe8RV69@4=Z1-#_a>3m+U5!V=CxzAK$&7*#R)q&^t|aq z^A&h>j55*1_2Ls3WBFJfb>-jXOD-Nt=wUi9SAt4pPAb`nd3*p&V~u6T=>ldYL?z2N>Kc-!6e9 zhXt*WYy|DL1>#H%Sl%X9#dDHklE)dCsm=_Di2jxR_Mw0y7(HUAEa@V0)ofWeVBud3 zI+KUx1;r)6IvF%M9Z%KNNVqeg$wKqLfHk!yEn$sBJt|nh8u{qyrZVkiU`?D^vL0R^ z;7zzi0vkKRjc!K^XT{@)Zm|-dqRZIb6Y>k7+$4-}xQ2y(2FgtWY{j5ld(CV!=A@h` zE4%QC`3J-ljcdv-`NF8 zq5LY%eWthg7d3vSaQ!Akk@+Uc4=h70gpZI~&pSP9NUku7&@ zPhfT>X0=>;k?5%q9OXDTP$KRq;Vq~IHoUG6=kGI|E8AzF)3^UIR%gq=d)6KbKT>6& z(h5BDI&mS@3~-^Bjc*BDXvd+A;6my8LHs;$oHvcb^^pd}B4#;BTquV)({|$|aG|L< z#~7@PBreq7!G%(q!G&N@EG>atGUoGOt3)*uT!>_R5N18g40ws^v;TT% z0C6Gpn=*~Sg&q;O&^rdTNoH9I%JpI6%!vXQdb3KxtuCv?nPWY4nOf5X!YHXadaQs^ zlEk5=eF8=eHeUw4ixK73eG&OMDaz|17vBL@4UM=Y|LQ^_Hy$&27H8!bE2tdANx*lG zR?QLk&SdQUXJ(n@q$l;&c5^oHvE^nJPbYs_B^SYm7MpPb1}>{>A)9k~)69~E=4wNt z%zAOIImyYH#t58gta%$o%B?z1JO`0rv3vx0PS_pdIne*CZ7sxeA_SgOCh(jn7tbkK zrhSxn4)WQ=bC6Fbo`ZY}@f_qy#B-1*famN*Jl5_BI49>2e}!C(bQ($9r*K*!?R%Ze-p1n6BFu5faP!rMXHL-u)V+N5nSG1LZSV zK4gWoVt?fVy&|SmlVIAY*~v*7#gZQ@ytwXMCiRZ2)JNQONQiWPKq z295*y=gnf7nPBuHA1rFr*g2pta zvKQLDw2B2_wD{gA2uqwd6$bUpNd45HKGc;a&Lv*XYU7C zsi|TN{~EAe8d%J=+EzE5F$X%m&_3P|cEtF#+J+ z9i3~w&-J9Ix+A)&)uwDnM4Mg>-GnEGwfPBoSexVOUc+8<4(qJe?jZu4V^ zM=DLg*)h^^E#w&Tw~?CS9XLgH_1P(YWT_O~FYsvxPSMHin*XQ=4!s9|?kDhPe^a!8 zQKv}{6l@mai)6Qq0gon#wjySM`1FIk6i}|M4|G5ndf#0LNAYUhCyp#wD}XN9Dk5vs zZ5i}Fj~%aZg60g4?9ls8{Tui?^g(swIpc${%MqsweehHHf{RxYdYVk~?ibd}J%qF4 zR@OXht~w|rcUsMSKcbl) z*C5>mDw$R@)lVnT$p@7Ny<%jMCdibRu)~c`RNNT8)%Jui=jDk0oQ~OAVVkGE`wd?N z4QW60*Jn&K5{{d4I&gDLy}|4a4ENj3_ z+lBT;W-(%yc)a_z6zQfKG=)3^>1~urFC<;iRPC2Yx}g@9h6ksJiC#3TT717hpj1>B zwJ0uimR%8$EY$WUNE;Q>`U+Q!wL=G!!PC~)5$7L{IRE*g`J^f4Oqij=|8olW`gFVl zU^Fn{9e|t(vA9Pv;{M5!V4`I?q=RSrr>zd}==JrB}?fAKP-Vk8?cuV?VZ|BrU+36M07PDvx4c{8fCst>0;j z-1C%jljfmI(`u^mx;&y@qBm;d5IKL99r$oJ=g%qe=7z*{v6_iaA^lZ@9rx*B`hXk6 zDIVJ2sPL4S=2eS>|5nX{rzV``nkp3IKJM2@@0)l(riFZAXR1Y?oq>i^S_UY^AQFBK z298F-aSto=U9w#ua{V94QGW|8_`s%8sMn!C1EkZrpf`fv=bM9yJ#IkdV5 zd0*~JOdV@P-D7t}-yi$_L%B*b=8{#J&P3n>apnHpDbPZ6g_!GM@$eH?vj)+*YaZhL z@P5p5{QH_1Q!e)&rx^1#RwprC#k~_qx`cmKyxFLb98P_#-?G$)_{w;dRW5o`J34h& zSt#CA>9n5R3asV*qpr2gs1dGL>bmh+YUH==;F`?9*)$?i^ETjrwP_{Q`eKc&g2&E<)~Yx$-g}{U zX@0CwAzH=9N7aE99<{a5k4jUa6Jbn6f)vn~u3^A*@?T)r4*scBRz#z`WLHM0v?9I! zL!&VIj}~F{0Lekopd0o#j1e4KBnN6+ZB3T(u=NQysa%M1tL;ZiFyZuLgS1td7w!Ig zHSqnwE=WCjh;5zDg+nv{tKskj|97SPT5X?MRGdeL^+dXa!+Sw~uvXh?OSdFf@24%W z7y{4hw@ok#qnxs+xxd*b8!OC#g#B2jOrKzt0sA*t$Uid_>--#X9lv(1#-Cm5b8c&W z&be0Oe_ZP*y=$#=|Lt0n-PW4iWvx?xcC7)zTGd$RO~kMK+O>N9>{=CWYgIVc>h&Mj z`qz%NepB=B;CiLzE?lqFbcXAtnxBK~n>7U2Sy*SYGbV?4v=K3K#G%1u)N44LLcK;j zyEnHhi8%HvrL({p=}j0>#5wyw<4cf-8tr}h0lavl?^ZT!K}AufKj>>!4Ly&xKAsj2 z38>5)ElU*^CYs2L*1x0|?G#%}<*E^tnSIJ-8xbQ_B-tq27#|=lV%FnEHZ0C0+Ab;n zC;zEM?ESH3`jro%fBf0vAy2zDgnu?MV9`8Sy)WXd@`{m#_*M4md)ngdm!Gh&JfCAY zc`G)CXjR%L5?8|5JU35xH%^Lo<2)Nho=+sye-**4Oo)LV z#Zu>B#%irxKS99!-Zcu))Ih{`s5#&5!TffNc*yv3aeFk!Gv#dXJ6C0UB-@|u%Z7Sj zwxQ55`Y+lyVU^~y3Q;jrnNly9*@(JpULzJ?eU{-w6Wk$Gz00mtj^RkYd(^Ptld~z7 zAe66=k57^=nuWKg!aRI-)1L3tWLA(K=!-R<#d|5PHIJ`&4J-a2Ap|S#=3H@|u;R!9 z*LuAgMP8!V4-y)_O6FeBV1(3hrd#rrh$?Ee-Kts+3o{7gH&yM^ri>tu`;b%WwvGc@*zy z{sZX@(&B1qj1PJdKOy53=(n^=437m#43Zn-C#0qAwjCeSdv*h-oDy`6%BeE6r ze@KLPN(MBq{ej_~n2CjHKXg+lH!S>NK;o<_HekI*TCS~PMi#2J+Kk5&eH*pjH|*?n zq>Zt2o3*#Kqxh$J?2gCa@PP6wQCdVmelYo2t!z^ad|J}R_UH$$b>Bp~)toBUZLdaA z&Q-BUs(X~PFi|iI77guH&IU@XBB}S0zeA=C{E!WKy~6c$sV`KyI_EQkO z3&u8C!4E``O&?d~n1gt~1HO$hidQBA3%y@Xl5Ko>+6}wv#M5|}Z@JcEgM2+GXs=>x zFnh{+Xf$PH5lw*zN{ zu(IIK8Q1i~K?xto?d11PsJjWxOX*tCmMi2nYqgE7deKb2xcZx-=g3z0>R?i0)LfDFc17F$+>nrpG;HarZSzumU3?I9t5q0Mpi zy_@3e+K7Yy{Fk84dmkZ7TXsM!Te>p9p0}%-2b9MYW6I?AM-tU zwdE!&_d(2=3AFoh9O6Ndt{~kUg;+D>^j!~n5Bp{;>bO=KgYRdcehG$vY?fGkD~k5zhr+*)g9-{J!6QvA1>6bE;$rGqW9M2rY|OK zakmGM!yZS zo!FYtfvsw*#n>5N2l3Uw*SEQDn}M%Bgs*Qo@bwrAjdjCUwci`uYzMXu1GbKIVe23V zwkES-GGMFv2cJUaW*5HhzZbp^1HKLdzRCoA9Y#`#4Y>x4-6lZZTJK-x!dBux4#8)YtjHRg1@%`4&m$g%(6+tbi9qq)-N`xwUqM z@tQpm*mk|%$j#uoZ|@15x?bO72dIYyZ@*!`@M>SY(f!Ec!xL`U|8bl=-Dm7lmdKs4 zE0Tk^w`xDPKRca#$onSXUIgBmhR?|`<-Glk+`|*}NoU~21@s(NXQ)s4DSN2#lwD<{ zeS7NBZ}^4t=h(ecgRI7+u%@DdM5{6WX4gGBT_A34$TRU{K)*(#AALw-F9-xi8y zY#+YG`3s81N>WiWx zEBa#|jF%SlI&uLK0qxfVxIU9sbK=2d!TEzH9fhw6?}coIcUCEVN5e_iN9zB=E9l%d zS$x2At49g!v)-Nt`9aYp$=l+sY?EY5i)~+>Vh5g3br+&3ygIPN;Q?Xgp)f=yw(eGF@q`IM|wcMHBj$S6v4g8dvBG!t-zcWn6u|W(dHhz5DBtXwne;|VD05L zYl``ZH+Yx%wrV!46lRoi$>4QO%ckl+u!M+913{H)_Mw9mfWHc z^2sf9HLf<*AQNUN7T&cvIs)&DB8?gD^3gi9sx^S2{A1$O!|KHAc9ag@gPje&Vb{h; zi=NR+Hhx*ndd}^8TAXF_5;0!tt$7!nX=mJnM;yl77T96@U@N%DZlyA z3-;3a;e6=?58+D&*Nivp(q6^}B{Y(2c7G#1vrH>nk6vfa?f0IgvfJ#>@x6-yli}^Z zukcmG7RoHA{9dY4t~+@MQN<$vA=}DHZYV{o%b99Ax2=2zPPkiaAJ?uF`tMC|-?2!n z*ROU3FXJ}B>!>JXJl-f!9^+SQnDvtJWOgx5Jek#MJYm>~ldVsTYxVof*7G7uMc%ZU zbRY7T`d+ILTElh;lvd8vE26gH*$<4O$g~7oMJV*>7Tem|9SiyVNs>QA(H*4j^D!#{h$R?$-Cz+|dJm+f|H(W>k1=_br$+EY-vi8$Ws2W2TUuLHzyt2Mr?Tq^zZT2hrh$8|BR`{R*Uob zaZO1j-v(59-muqxonQ|xmF${r_fvZDpWDww9HkZMP9JWl zLVasc59o2iw-Nwl*xN0(7i%69*7D}}~Ui=Qo!`F|1Q-SlH#dlD~ z{p+)Xj<|)h2Up|$pg)>Jc5LH66UIud`PwYm?p5+&;&kB*m|!;?@h&WwVh1Un1-9)* zSY{`?ZB!ia+7QkS()&@oVUEw{H*m@^_L%RcFoWkiK5w(lzV9H)1so^J;^&OulTZX7 zBC?i4KgO(7J&t^i*unPez*mgZT!Tm)Xf?~5zB?E|`!!O1>s!Dd@7r%C{?k+)hu!$G zy0-)Vx9@Yn|2AE-&zpOM6KO{e$=!q9fJ%@xKu2y1|&8OeY`7`6b)dwyT z57|(z((l!$8<=G!bU`H-UN(t`rp7Kqu6$7Q?ILkeP$s06Y@=qz=l$S+m5NS+(vcd-*Rq{3lpD=%|7l+Zj(}X*POpLEx z{M9UetIgK^&M~vJF^)-5-qZSySv;)AO}|i-(0MDfr6nQ#k;8D=RK3Jz;+_HIqNU zOV{7O`LiF6dA(%MN$p$I8ydR5prH?3k+yp6q4@BA8<=$scznR~@-5vC!fLep-{-OA zhP~HFq(R3aBjOZO;SZ&VjA!shl;?WIMz0OBEy4VC=r_vZ6>?=6FeNKEqLE74lK zx#+zcG6;HnKIZ{j6C45Dz(dg5s|%G|h+fIcJajLueK@rC5NPclg4T|A%bqE8Xzg1C zt-V*Zf0-B>*e2MR(w$X&xIQodUq}k{Dw>{9ld8UzR(SsoL=-qNacQ-8(G7dkNj9+O zzTR)i8x!%xsGi#UHnnO=J~*U{Px)8&Q1w@Km73}vMbh;*dC!3nz^oos4HH?gyiwsN z-EJIpu6jV~OZEc1H5It~X`IXi=P9DjRS$}O$-XzD{{|1p&mqynHV)ntwmy6VohdVG zM4>2jTY2}ACoe~n#_xG8v3p5RyXP_A#(c$BlfO#3Icjdo{awx z`6k7BNIa?MhLB6LZFnP2Ie5JyjNSSYZ}s%)80jmTr&Z zymyH3#iHk0u2l~i|DqtPDphSRiujBkeZ9kz$OGIX9+fO=Jf<2%UQ7HWY8P3EvX)$nPthfynRI4&AEYnr%ZHdTvWC>$QC~?!StYlD>Vv zh!4SOj*qt2re>U^du?yvrQ7~iExEtVwgx_eByL29F4-l1V27G}9nlN#Hm_`)=!sob zwcDP(GjN+E^a+zVbli`#OX340L;TCd5d$~+mk%sj-ZZ%+q*xRcvSEUmyc{m7D*tiz zL9&OMZD$&i1h2xhroZOOu^%M&nr(g!ak$q5UW7K=(6+&EK}J-0q8!pT0Dptq=&oNw ze|&Asd&}!Ly`4S`^$#x^<-5s;K{~2c#kPpHh_^J`);9Rv?7#1vedpeG+n_rGcc}J= zqD3PHZd_eHV8^&0KRMXFq^~(-yErmrebdc&SX=$plQn>UkpJ@!!rn?_!^br}evsz7 zw1MocM-Gm0%Ikd3Asw*`&9*~$H@?~Sm--lR-8S1l?~vWqX8Zdc$JGagmGaW>jj@5lX0QMHm5AU?Y z;%bKXg*+&p7yC{nt`^8e083&Tg5d3S_)w^};d}4m-Uh6~mR+*?`w+zU?Sl+kf%G2I z+o)ec98S?d#O0v=InsAXOA(V(kCZhC-z!Cm3&wl-sLw^B6DkSpe@L#iH|+L8vb_G7 z^c=h^9v{C^x=U}Tb45flF%@y!;0^mGM5I!Lz=y_QUWD(y;r-9DeE9kg51<{LZf>@2I#)yu~014&mFh(9aKC zuM_vXUMKawZdc))QF7oqzUB2dT>BfYjhO#8)V{DkmR>r6g-$cgowi&%j(@nI_mM9I z9b+~@G?vcF6xhL2^)r&B!D&IzIC3CWw=C1*8e-s^ZKvxd3s9|WUBTVvefEJy@m-1t zRWes0pI1IZ>Dw47x>oIrZ!Y|?1=sOL(R~-_xxc^;R&ld3_f81jg?&-Jqb^I}B>KD^Gm&8ZG{*iIcK$cl!muA+LCvF`W z!2E!K)slB+2azTrg;m#VOB7m7uJadK>00SK0`prpo11N^bvUm~z*%_+-gg21sF60H z9FF`Sz>yf-8;CR+cr_K*qmY7Ccqaz;>T$gm=~>{^S=^t4eCQy2(ONif#g`ceir?}G z8jmmBA--C?1LulyM@0CV+sQT$6|OKkM+Lkhnqi-k{XAk)1R}>M8bI>gno_dcDPpXD zK@czB@cfZ*$GS?4LBwGk>$+M?T%@x0q5%D%M1sEL9S7wTtOo%8#vnOh9}0~DS76v2lJ_lzi-2ru3;0$G(t+1KSU;d8wL_7e?OyRl1wesSD{A(Kd zPvYJI&01DIFCK9gNY4df&yY_=9-D*{3V1c7@C}HwR+UCijG44d3lBvaG#BVEr4u42 zNx5gV{;9{xZrG0=3+0CL!zYfI)QUC*XamWuq*hXH2>ct;RFP`vyHcm-sQ$?DmXze+ zD?t$*dolyD^v$+8we-D@Hd}TJ)#lZ<+oraM!&aP~xo?6B-+UyyNnEP_$ltN62e-QQ z5GC{wQ`O zd!fkpBmV&V@d0vA;d_|RXafp{;+u|H?T)WLDnF8fQan^dDPx2$V0xjCC(wSS!F84{ zUP!!(_|q!r>iq>>J$V8B!WM+d9&yr#`qpt+6fO!mYay6_W|^Mk9Ypirberm*ThbSa zqSMnIJK_9ppp$w@uV!I0D{ks9RQtRj9-a^F`gOg;vcijaVO;+!b&2Z z36Mr9EGtBlV3Urw4^Bm!9O)<@#J0nCnfed&xB5X&3nE?6#8)cP7oiR7)1M+w6YPO( zI4_NzXb)k3F<0tY5XO963{7f~UeYM_@UpD*Syi5D_#ZvuBfZH7ftE_xQaS01q@yO= z2dj3Nzo&UF6b}oz{JK8X(3g`~jEHDurKH6_)E`myK2f{}?8s*V)HU8->o{rDq*~rg`HPgypn>2o&VBKUZpnMpk{)A(xU3*O~QLg{c*Mj9I5Tc7=5$# z`O^N}{oGnk%9X$qF}je>m-<$&wn|uErwna3?*CUE;JkA)4ac&qUk z^9&_@_(m1JH6#39mL(-EGGinr2^2-Bn^Zw6u771I`hCOrR%5A19@g(N-4)@kC|KRZ zaNn=eg!`L}eXNRZYJ98Gb>DGUhV_Ntp1|c)da6h-e^NR$sSrQfnPo;NL{y$C7M^SB zfxXMd?$WNz7NDgJ!k#IQG@j`;t){zDQLe#X5!R>i9}xcNRZ%3?u2JDFtcNQ1B~1TZ zJc@;|z=8*iE;w74iKq$db0bus`I0SaYVrcn`t#H zl3Ba4am|H|SbdEM`zi`l-o+b?EV3wjbPMlym3g{Gmju!p58K6~N;K_=>SVd0mgJ85SmUZLIY2PnJ!zxJ*^ zzNzZ`pPMF4TH4a`A{9|?k(X3x`T|1bMf(!c1`sMQ8yn6x?Y(URX%dnYiZXk_B2{66 z!l(*b)XkzGt%FSzMs@f))OI?5W#R~%q!odsNFhaj=J$PWl9B>C_xWtUzjph1`hCth z&ppp`p7VN7PHuF3`#1Zv_|D-#k814Tw&A)V?V~&jezyK3x!w&*SgHyq(8U0nO3 zebHSl9GwclNr#Kc9&Rkx)?e4}h=O+eWE^ApL5oZk}1%8m~YBA(cRM0 z;62ALGA-8YkY)$hcmsjd6M?|usbt$=^c`htTD$UT*|vUT6Ni#*X*ahId_4;*nN-7d zux?1(@U-jO$B=bt*TK3$ZJ%NnK?Ms_$ig(TFw3lhji^;$-NoyJ7N!L)On`-Py%yd9 z3!8gL?&L)|7g$N57b0wY37auwf*hqS|jPFX0Wn*G4s(l%G*SD(cCu8r5yHUL{)xfYn#TugVjgr8H zngH71i1>63o|su0{*PeV>^8+ojw$oGNr~xy{df>+`Hoh`>pTTMB~xir+f*TK|J#%N zdebZI%@g9{arSP|#Rt!;>ZcgE8&w-Q!(D#OSQT{TU`J&H&O5LT^bMB4g@ORnYTCF7 zd-6Iz=F*eeRP~A*RgWdYhjgaSw>EA@Y+-D#r{036hV`hPWFGaC!4iJf6RgJ$jJ10B zhkW$(WPBGHr_7m;z1r%Z)k075Z+;zB#>U3BqMfuxjUCwb=GW>x<;|F%q7)-I4~Nwu z?LVtqH~5QKB1))iyW1bdG|e&C@6s4du(ap^A@iW>7Zlpu5L}`>ZVGx7;0Yw z@ZE{{?lt9}5;`Zwe0TO>h2it`Xn%uPF}_Nhj zS%dJopI3VDe~^+F8DC!zqwU`s4bo_%vGGix_IGe=WD1>4f^NNZ1hd6uhYKFDBRU8Rfc`Ouv3fD(_4~P2cl;v z3zfZ^ywDWwzZLyvJ;;gs6Zfueik(?&&=lUMKjt6liJ8@ccbc#7jAjX6MR7OlOEJT~ z*m?27vz_dq5Br|8anBOyz6bZGeaQ+RZnD72OMb-@)aF=<#tk@MhIHC*C0g0_R28!nNa#Jx!~l!pF=7$s*W>NOcd z^|hTUyxykPKa1szXb`Zw!!BOXb}GAy*qn36mohwkX*)40!K=?*WIVmseb~2wfF9=! z>NpxVqYZ=b3?6S-jqlLlq^DNhmVr;X-;_gq3Ep#gVD?#O$wxQ|i!m4SN{n8-ERXj# zLp~NKLsJd-ezt{2OWNBNxFfoijf(Z)E)jQCsXV+H+DGLrA$hIAap1DfJWEigM%KAn z4&l=iuCG?~ja)Upxt(oJFw`6JEZMT&n6_+lCi-8#;SgdP3K);}w<>Ha@tiqku?BUQ zxEFoOJY#VR?lYMg&r+2KXP;dnmkItr+hm2D`Ju&i1+&k(PreAA( zT3nm5Ybs0eB%~?8<*;F%{xYX$Lp*V5QSHjF)-X**l4lgOwP+LDHlb!S_Hl9zE4xoQ z0vFDmA(@8mO%7&0(3w%EnW-vN8Sm4pW+dyc*AK+pxpOYQ?b|b@BM`8Io&sgz^J&N4 z1k|<4@LSoo>tx#!J@LBeqZAX<8n26KJ5}a5kf7t*#tDuC{ef0soGz+eg;i#4iQ~X% z*{YI!_Zc3_%V?Rs!#?0jkhvHv0<`lklXLe1`J`E+mHJ&zInRYuvSc z{ZJ|MjqEuSD$_0a;N|V{@?2k-U{D)I!`>U=b%*vk+2%2ATS7Lk1*&D6y{G4#Kg!`v z8M5c57r~EQx@Sws`n5o{Z2hMscUK>|yKa!naU*gKmSZhYjdE-Wm1ECoD#uRTIlqsF zA}&}<=qJ}`KhL8~ulc8=EYyCeOlNUsfyQv9VUs^mk+Y9Cb1A_dO<|^0U}Zu6`NZ$% z%+0)+=ASpsDvSvm3J{kRo6O5|Qey!p%TZpf{!1yXet%}G-+71i4QxceLZpq?;FmHq zdd&VfZ_sn$$2J?;Ihp{F_LX9~J zXs%mlh%r8BP#0pqY*x;~6zrX@?~G$kLmBd%c)Ew)AR*6lC9s9&xkQY~oBX+~uz8a| zCsEl|$da0w@19efhxrzs+T_n;$<4~HRu&B9Q>eSq!F)eLnjTvgs#axprz7aYNB1Wl zz<4|JVU$p_aiF2pe2+P%QL}@M!tV5AipNpH6y*k0Bffp_SJl(r=KWF=KI^|vQa=%c zGXX6eW>-UzU-^@{e$6&&7iu$?&b6^o77t4w`WeQ~S#c)|qHoWiv@k>eJB&L6Kc{f3 zUnwCiZc;uQt^SH7%sH7{!M<9n#%DB|G!NFnaUA}$IGmO8yz_Nb`L}weQ@1K~bgtr6 zi5tDppWuo2+%o$|KsGwj!|85qyJa@MUEsN2e~&*JaYN44s8Kg#)FmOQ6_#PQNGqErcWAK39G57-3HpzkbnY0eRPaoSG|1IL<0_U(!@q_d@7jy|Y z6!n{SW_DaVxl= zbE~*D+(X=YZX>sudxG1>ZRdW)?cjEC&D>sYA9sLzgL{j6kNbdYU(Ew+A9?igEl)l3+zT%q^Lqv!^S4K>(4WAr^kMLaz#jwuD)=VwN5DT1ek=Ho z!EXRx2mS-_E5W;QWrIMmw;mqtdtpI184<4TAN`6?y}BKT6?4iE_Yy0sbiX$>3YT zzYBf>`2FDbfY*U<1m6H&3w{&$b>K&Um%vwp9|qnEUI2d`_=Vt$z$b#&gP#gM7JSCQ z_hF5y;~nGMKn^jrNL`84Z@ewWgNVD}-EVvy__g;{S&BhAY@r+k6mI0sgmKckH zTfBE07XcslE;Rla_^5ZjaUSpyZ;^2haIJTiaVGEqZ=taOSmV_j^MUty-^RFd5obq^ zpTzirGYy{ue+xVU{5|l`z_)>Izz=~R06zu32mCAWEua_p2Jj5<0Ps9;AMjh?USKrN zoiqazfV+V78;CoAbROkbz|p|%Kpk)!FdO&;P!HS;ECOx>-VIz2Gy@+7x`Atf60jDy z4!8VY$Xvw#J_`M`YO-M~A50&oh@3Y-LV1IGhb0@H!Dz_Gw}z%js0z?*?v zfy05%18)HC1P%f20S*H02POdz0TY0Sf&GA=05!m)Ko#%{paOUb7(jiW16~4N0`>rv zsHbjVGO!EC15X2Q0iFcXd7}O%0M8h{tI*|1kK+$iY}1!{I{nx#Q+1!{Hy+ks7uoTPsn__9i3?~#0hwDpgH znjJ{r4{X{!K&t+TFj*@47`QV=Qhow_DNfo-xI-zO1G-W0h9d~0Tw4iuL`&^|0q)jG zb)G=YvD%xZ_P-$veagQBQNB+IUyPDGUjX3;%?Xl=k~Vk|M!u&AcPpiJUsC#u(xH>U zm(`NzD+)JBQ%?nIG|>AlFb=r&bTGaiNb!d$41MfOphl{VkurdE-$Wpi*{gE6QDXm~ z_!p(EGVYWP%h(jcM(GO*OSRIuP(1HL_<>q!4pg;9QXj?$YX4I%8EAcq^JmB53rTX~++cS?F0Vb`Ug{qGIsRy8&4 zmQWP7{T1S0#O4HJ&&mADR76%I^AFS#PnQBjLK+I-QU^i)k3A$79TEO6RvD2H6TuTJ zD+MlEG;6VGnJL|BvQ?z#(~rteVb_Ra_yzZLXO+!usT9*4PD>?zyndOeGc%)YnaOGq zc=rm2$Rodq+-BSH`|xIi{B!nBr`?HNb;fetZn4tg76slZngrfn&X2lRNGr9t`B5(3 zZsW^IoF6mFH3nxx?6$OCUAQ-rkF>{ZvI$nP*i~kCh-ns^6=tz~vsku-FE?4NqA;1q zd!$`%yVF!57B9;98QFm-Hfh1;Rx8giCOH(zGAm0K-k?#q%_=T~O3T17Fjkt&FBt*_PPs%WeEs{O8@Dy!Au zcCtQgw$$Vj(<`goVs)=-w!kJ zHO~!;L_wQM36b$3ZF(rvx|FscFzVy}C?vP@^sqZ30R~wGrtX@FCw{_G{m|l1GNi)k5~q zmpwUoa()cAMwvppeTmUlZf8OBCiB;_M~`MrRUNX3<=d+;rc&z* zk0HFxMB}$hZtXwZ;>oc*4<9(~y3#6(RnRTNXauu#E@27zCO8h0iJ}nfyV$Ubm=G|k zSkc|m?-VObMduV_MADqn#YmZQbxh=36cS3kS_<_tckZ0IlljXfng8awooF4H^}=;^g>k{D4t~>xZk~-Ave;15 zm{ISIXjr9UnW@Sp(q!pyipwnaDi<$OJ9J$+E@J$g+dB;fs{kFA@|-PKIO-$yr_78R z3MPhQzqg(u+#OsXT%+Pr@%1_AS%#{g*wjAxD7|y{=rVR&s2RHtfR3=sjCvqAf%c`qQrIvJ;vn)M$X9&`!V>B_! z<4ZV?P?o8DnaMVWdYHS)X=CBkAI+U7E48|NZJ?-mqPy1!%yyWS-25%$`iRUGD`Z!U zJ;xJ=o&e9@Oj8zeNqPUMQBI;-yUuw5oQ<+dj9gCOm z%;X&yglK5AxL5GyRkkvD1?DoL*0HEuE)RWJ`#E?s7J0~_iss?v=x4$Evq(ySFb$8r zatv)CXy0U7myU8x9wqQ;z}ViRd`Hb+Sk@KHKcdAUx88|{$xZURmAd*Wz1-NT5ic(; zNBgcod-(1QV6_4B@D-*n2rWu;=ibSeQ}VxJ&{g@ts>`;dvQaKZ?J&})1#(*s`g>}G zv9s)0Rb%!>FLljxn99%qBT{=^NEL9qTmv+>8=Uq^d7PPtDG~iz>p*o-_ecN0Dl#I2 zpjx^oB$+9M7B+nDbWV zoXDJ$7>NHWO|`5+x%YS_NnopjCiY0a^uU6`)msRsmWCXceGUfK~xo1!xtZRe)9j zS_NnopjCj@u=COI<=%;TH4#J?ckf)LSed}x5EsuDBAg7`P!k9c&+-zqt72EjJfK;l zelU8is!sWE)FX;taCr&l+yuvr1U@%mSl(N2zw_?`_6GrzLNp(r4-Wv}fDSYeNPBn}aXe!bkoN6b5Z@0-{hIdjiV%neu1LW? z|F;4AVeGp@gx!oVVOj_$g-{>D`5~+bp&hauXmALZB0d59ji8|*{sa7W6Oi@=Zvv5B z-@q=q2WRo@d$7-s&$sQJ_#FFxL-9C%W>=y-7y|6HC;6YeOsLN*uRAxP4nf;NkrxJJ z8kGM_|Dq3AE81%_JoyUR1^SK>m<(F59PdW~R)gL^e`5vt`IC8V!R!U8`~=-?y6UtF zyS)OFeO5;1gpBO0NxT+oGpA_9ie5}**!#eWJhUIckJnA)kp;Cg+IJ>IMy$e)ZHP=A zCQbCoT>LYMc*yCsN#mGo1#Z> zBe~Hy_b^VOkHR`A_+U-@SQ9gJE;Rpb!%eTy>DiG97j{EGVjT7`a6A_Jn;fvDfqB#0IgXHL3D^W7|@I~!~E_?*gE7t%SBAyaL zS6GgkE9s{ES|CHT0S%AFRy*MB_Kf(U?m_V{Z5&S-NI`&WFZ38jFcKkr>uT zNHiZ59v5lsB+81ABRxbW5RIqA)7VNx<8Y*X2;voR_>Ieu9F4g|MIkx5H>|$~JoPJz zqq&BtAwn<7(b!%GBDp*e%~3=&XHj|_C@i-QJZ_igrtp}$U;cy&k+{NoH-Zn#@t7xx zj@o1q`Cnp)-4c{@tOj2Cb&#r|H$Ide*86NwPA-Rg2igk=Md`i5dUr+0HA03cHmnS3 zR93QUZ-m^QeW(wR199OioZmr2kUUIcBVP;Bps)}yEQje*mLpd*9tQ2l_!uEadg=0j z`h!T0=2-r~p?oL6G$!xaygL8z>U;i=nDH!fw*vf z?hoO=-!rz3B0^WV9O?);8vj`fbccn2VYzt7kqxqakkdkr)(+t-EH@yOUq&c_LzulHN}`Y)VDNM#6Le`{gv Lu5cnE!|eY7yJ@>y literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/KingkongPatch_apk/libxposed_dalvik.so b/com.tencent.token/assets/KingkongPatch_apk/libxposed_dalvik.so new file mode 100755 index 0000000000000000000000000000000000000000..f1920ec895663c0526d4ff8cc1d81e9116e69fe3 GIT binary patch literal 143820 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 Joc;Xi{{u?LvG)J~ literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/KingkongPatch_apk/original/META-INF/MANIFEST.MF b/com.tencent.token/assets/KingkongPatch_apk/original/META-INF/MANIFEST.MF new file mode 100755 index 00000000000..7cb1ab45009 --- /dev/null +++ b/com.tencent.token/assets/KingkongPatch_apk/original/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Created-By: 1.8.0_66-internal (Oracle Corporation) + diff --git a/com.tencent.token/assets/channel.ini b/com.tencent.token/assets/channel.ini new file mode 100755 index 00000000000..d02005b7932 --- /dev/null +++ b/com.tencent.token/assets/channel.ini @@ -0,0 +1 @@ +CHANNEL=1001 \ No newline at end of file diff --git a/com.tencent.token/assets/haarcascade_frontalface_alt.xml b/com.tencent.token/assets/haarcascade_frontalface_alt.xml new file mode 100755 index 00000000000..5a6f2754580 --- /dev/null +++ b/com.tencent.token/assets/haarcascade_frontalface_alt.xml @@ -0,0 +1,26161 @@ + + + + + 20 20 + + <_> + + + <_> + + <_> + + + + <_>3 7 14 4 -1. + <_>3 9 14 2 2. + 0 + 4.0141958743333817e-003 + 0.0337941907346249 + 0.8378106951713562 + <_> + + <_> + + + + <_>1 2 18 4 -1. + <_>7 2 6 4 3. + 0 + 0.0151513395830989 + 0.1514132022857666 + 0.7488812208175659 + <_> + + <_> + + + + <_>1 7 15 9 -1. + <_>1 10 15 3 3. + 0 + 4.2109931819140911e-003 + 0.0900492817163467 + 0.6374819874763489 + 0.8226894140243530 + -1 + -1 + <_> + + + <_> + + <_> + + + + <_>5 6 2 6 -1. + <_>5 9 2 3 2. + 0 + 1.6227109590545297e-003 + 0.0693085864186287 + 0.7110946178436279 + <_> + + <_> + + + + <_>7 5 6 3 -1. + <_>9 5 2 3 3. + 0 + 2.2906649392098188e-003 + 0.1795803010463715 + 0.6668692231178284 + <_> + + <_> + + + + <_>4 0 12 9 -1. + <_>4 3 12 3 3. + 0 + 5.0025708042085171e-003 + 0.1693672984838486 + 0.6554006934165955 + <_> + + <_> + + + + <_>6 9 10 8 -1. + <_>6 13 10 4 2. + 0 + 7.9659894108772278e-003 + 0.5866332054138184 + 0.0914145186543465 + <_> + + <_> + + + + <_>3 6 14 8 -1. + <_>3 10 14 4 2. + 0 + -3.5227010957896709e-003 + 0.1413166970014572 + 0.6031895875930786 + <_> + + <_> + + + + <_>14 1 6 10 -1. + <_>14 1 3 10 2. + 0 + 0.0366676896810532 + 0.3675672113895416 + 0.7920318245887756 + <_> + + <_> + + + + <_>7 8 5 12 -1. + <_>7 12 5 4 3. + 0 + 9.3361474573612213e-003 + 0.6161385774612427 + 0.2088509947061539 + <_> + + <_> + + + + <_>1 1 18 3 -1. + <_>7 1 6 3 3. + 0 + 8.6961314082145691e-003 + 0.2836230993270874 + 0.6360273957252502 + <_> + + <_> + + + + <_>1 8 17 2 -1. + <_>1 9 17 1 2. + 0 + 1.1488880263641477e-003 + 0.2223580926656723 + 0.5800700783729553 + <_> + + <_> + + + + <_>16 6 4 2 -1. + <_>16 7 4 1 2. + 0 + -2.1484689787030220e-003 + 0.2406464070081711 + 0.5787054896354675 + <_> + + <_> + + + + <_>5 17 2 2 -1. + <_>5 18 2 1 2. + 0 + 2.1219060290604830e-003 + 0.5559654831886292 + 0.1362237036228180 + <_> + + <_> + + + + <_>14 2 6 12 -1. + <_>14 2 3 12 2. + 0 + -0.0939491465687752 + 0.8502737283706665 + 0.4717740118503571 + <_> + + <_> + + + + <_>4 0 4 12 -1. + <_>4 0 2 6 2. + <_>6 6 2 6 2. + 0 + 1.3777789426967502e-003 + 0.5993673801422119 + 0.2834529876708984 + <_> + + <_> + + + + <_>2 11 18 8 -1. + <_>8 11 6 8 3. + 0 + 0.0730631574988365 + 0.4341886043548584 + 0.7060034275054932 + <_> + + <_> + + + + <_>5 7 10 2 -1. + <_>5 8 10 1 2. + 0 + 3.6767389974556863e-004 + 0.3027887940406799 + 0.6051574945449829 + <_> + + <_> + + + + <_>15 11 5 3 -1. + <_>15 12 5 1 3. + 0 + -6.0479710809886456e-003 + 0.1798433959484100 + 0.5675256848335266 + 6.9566087722778320 + 0 + -1 + <_> + + + <_> + + <_> + + + + <_>5 3 10 9 -1. + <_>5 6 10 3 3. + 0 + -0.0165106896311045 + 0.6644225120544434 + 0.1424857974052429 + <_> + + <_> + + + + <_>9 4 2 14 -1. + <_>9 11 2 7 2. + 0 + 2.7052499353885651e-003 + 0.6325352191925049 + 0.1288477033376694 + <_> + + <_> + + + + <_>3 5 4 12 -1. + <_>3 9 4 4 3. + 0 + 2.8069869149476290e-003 + 0.1240288019180298 + 0.6193193197250366 + <_> + + <_> + + + + <_>4 5 12 5 -1. + <_>8 5 4 5 3. + 0 + -1.5402400167658925e-003 + 0.1432143002748489 + 0.5670015811920166 + <_> + + <_> + + + + <_>5 6 10 8 -1. + <_>5 10 10 4 2. + 0 + -5.6386279175058007e-004 + 0.1657433062791824 + 0.5905207991600037 + <_> + + <_> + + + + <_>8 0 6 9 -1. + <_>8 3 6 3 3. + 0 + 1.9253729842603207e-003 + 0.2695507109165192 + 0.5738824009895325 + <_> + + <_> + + + + <_>9 12 1 8 -1. + <_>9 16 1 4 2. + 0 + -5.0214841030538082e-003 + 0.1893538981676102 + 0.5782774090766907 + <_> + + <_> + + + + <_>0 7 20 6 -1. + <_>0 9 20 2 3. + 0 + 2.6365420781075954e-003 + 0.2309329062700272 + 0.5695425868034363 + <_> + + <_> + + + + <_>7 0 6 17 -1. + <_>9 0 2 17 3. + 0 + -1.5127769438549876e-003 + 0.2759602069854736 + 0.5956642031669617 + <_> + + <_> + + + + <_>9 0 6 4 -1. + <_>11 0 2 4 3. + 0 + -0.0101574398577213 + 0.1732538044452667 + 0.5522047281265259 + <_> + + <_> + + + + <_>5 1 6 4 -1. + <_>7 1 2 4 3. + 0 + -0.0119536602869630 + 0.1339409947395325 + 0.5559014081954956 + <_> + + <_> + + + + <_>12 1 6 16 -1. + <_>14 1 2 16 3. + 0 + 4.8859491944313049e-003 + 0.3628703951835632 + 0.6188849210739136 + <_> + + <_> + + + + <_>0 5 18 8 -1. + <_>0 5 9 4 2. + <_>9 9 9 4 2. + 0 + -0.0801329165697098 + 0.0912110507488251 + 0.5475944876670837 + <_> + + <_> + + + + <_>8 15 10 4 -1. + <_>13 15 5 2 2. + <_>8 17 5 2 2. + 0 + 1.0643280111253262e-003 + 0.3715142905712128 + 0.5711399912834168 + <_> + + <_> + + + + <_>3 1 4 8 -1. + <_>3 1 2 4 2. + <_>5 5 2 4 2. + 0 + -1.3419450260698795e-003 + 0.5953313708305359 + 0.3318097889423370 + <_> + + <_> + + + + <_>3 6 14 10 -1. + <_>10 6 7 5 2. + <_>3 11 7 5 2. + 0 + -0.0546011403203011 + 0.1844065934419632 + 0.5602846145629883 + <_> + + <_> + + + + <_>2 1 6 16 -1. + <_>4 1 2 16 3. + 0 + 2.9071690514683723e-003 + 0.3594244122505188 + 0.6131715178489685 + <_> + + <_> + + + + <_>0 18 20 2 -1. + <_>0 19 20 1 2. + 0 + 7.4718717951327562e-004 + 0.5994353294372559 + 0.3459562957286835 + <_> + + <_> + + + + <_>8 13 4 3 -1. + <_>8 14 4 1 3. + 0 + 4.3013808317482471e-003 + 0.4172652065753937 + 0.6990845203399658 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 4.5017572119832039e-003 + 0.4509715139865875 + 0.7801457047462463 + <_> + + <_> + + + + <_>0 12 9 6 -1. + <_>0 14 9 2 3. + 0 + 0.0241385009139776 + 0.5438212752342224 + 0.1319826990365982 + 9.4985427856445313 + 1 + -1 + <_> + + + <_> + + <_> + + + + <_>5 7 3 4 -1. + <_>5 9 3 2 2. + 0 + 1.9212230108678341e-003 + 0.1415266990661621 + 0.6199870705604553 + <_> + + <_> + + + + <_>9 3 2 16 -1. + <_>9 11 2 8 2. + 0 + -1.2748669541906565e-004 + 0.6191074252128601 + 0.1884928941726685 + <_> + + <_> + + + + <_>3 6 13 8 -1. + <_>3 10 13 4 2. + 0 + 5.1409931620582938e-004 + 0.1487396955490112 + 0.5857927799224854 + <_> + + <_> + + + + <_>12 3 8 2 -1. + <_>12 3 4 2 2. + 0 + 4.1878609918057919e-003 + 0.2746909856796265 + 0.6359239816665649 + <_> + + <_> + + + + <_>8 8 4 12 -1. + <_>8 12 4 4 3. + 0 + 5.1015717908740044e-003 + 0.5870851278305054 + 0.2175628989934921 + <_> + + <_> + + + + <_>11 3 8 6 -1. + <_>15 3 4 3 2. + <_>11 6 4 3 2. + 0 + -2.1448440384119749e-003 + 0.5880944728851318 + 0.2979590892791748 + <_> + + <_> + + + + <_>7 1 6 19 -1. + <_>9 1 2 19 3. + 0 + -2.8977119363844395e-003 + 0.2373327016830444 + 0.5876647233963013 + <_> + + <_> + + + + <_>9 0 6 4 -1. + <_>11 0 2 4 3. + 0 + -0.0216106791049242 + 0.1220654994249344 + 0.5194202065467835 + <_> + + <_> + + + + <_>3 1 9 3 -1. + <_>6 1 3 3 3. + 0 + -4.6299318782985210e-003 + 0.2631230950355530 + 0.5817409157752991 + <_> + + <_> + + + + <_>8 15 10 4 -1. + <_>13 15 5 2 2. + <_>8 17 5 2 2. + 0 + 5.9393711853772402e-004 + 0.3638620078563690 + 0.5698544979095459 + <_> + + <_> + + + + <_>0 3 6 10 -1. + <_>3 3 3 10 2. + 0 + 0.0538786612451077 + 0.4303531050682068 + 0.7559366226196289 + <_> + + <_> + + + + <_>3 4 15 15 -1. + <_>3 9 15 5 3. + 0 + 1.8887349870055914e-003 + 0.2122603058815002 + 0.5613427162170410 + <_> + + <_> + + + + <_>6 5 8 6 -1. + <_>6 7 8 2 3. + 0 + -2.3635339457541704e-003 + 0.5631849169731140 + 0.2642767131328583 + <_> + + <_> + + + + <_>4 4 12 10 -1. + <_>10 4 6 5 2. + <_>4 9 6 5 2. + 0 + 0.0240177996456623 + 0.5797107815742493 + 0.2751705944538117 + <_> + + <_> + + + + <_>6 4 4 4 -1. + <_>8 4 2 4 2. + 0 + 2.0543030404951423e-004 + 0.2705242037773132 + 0.5752568840980530 + <_> + + <_> + + + + <_>15 11 1 2 -1. + <_>15 12 1 1 2. + 0 + 8.4790197433903813e-004 + 0.5435624718666077 + 0.2334876954555512 + <_> + + <_> + + + + <_>3 11 2 2 -1. + <_>3 12 2 1 2. + 0 + 1.4091329649090767e-003 + 0.5319424867630005 + 0.2063155025243759 + <_> + + <_> + + + + <_>16 11 1 3 -1. + <_>16 12 1 1 3. + 0 + 1.4642629539594054e-003 + 0.5418980717658997 + 0.3068861067295075 + <_> + + <_> + + + + <_>3 15 6 4 -1. + <_>3 15 3 2 2. + <_>6 17 3 2 2. + 0 + 1.6352549428120255e-003 + 0.3695372939109802 + 0.6112868189811707 + <_> + + <_> + + + + <_>6 7 8 2 -1. + <_>6 8 8 1 2. + 0 + 8.3172752056270838e-004 + 0.3565036952495575 + 0.6025236248970032 + <_> + + <_> + + + + <_>3 11 1 3 -1. + <_>3 12 1 1 3. + 0 + -2.0998890977352858e-003 + 0.1913982033729553 + 0.5362827181816101 + <_> + + <_> + + + + <_>6 0 12 2 -1. + <_>6 1 12 1 2. + 0 + -7.4213981861248612e-004 + 0.3835555016994476 + 0.5529310107231140 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 3.2655049581080675e-003 + 0.4312896132469177 + 0.7101895809173584 + <_> + + <_> + + + + <_>7 15 6 2 -1. + <_>7 16 6 1 2. + 0 + 8.9134991867467761e-004 + 0.3984830975532532 + 0.6391963958740234 + <_> + + <_> + + + + <_>0 5 4 6 -1. + <_>0 7 4 2 3. + 0 + -0.0152841797098517 + 0.2366732954978943 + 0.5433713793754578 + <_> + + <_> + + + + <_>4 12 12 2 -1. + <_>8 12 4 2 3. + 0 + 4.8381411470472813e-003 + 0.5817500948905945 + 0.3239189088344574 + <_> + + <_> + + + + <_>6 3 1 9 -1. + <_>6 6 1 3 3. + 0 + -9.1093179071322083e-004 + 0.5540593862533569 + 0.2911868989467621 + <_> + + <_> + + + + <_>10 17 3 2 -1. + <_>11 17 1 2 3. + 0 + -6.1275060288608074e-003 + 0.1775255054235458 + 0.5196629166603088 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -4.4576259097084403e-004 + 0.3024170100688934 + 0.5533593893051148 + <_> + + <_> + + + + <_>7 6 6 4 -1. + <_>9 6 2 4 3. + 0 + 0.0226465407758951 + 0.4414930939674377 + 0.6975377202033997 + <_> + + <_> + + + + <_>7 17 3 2 -1. + <_>8 17 1 2 3. + 0 + -1.8804960418492556e-003 + 0.2791394889354706 + 0.5497952103614807 + <_> + + <_> + + + + <_>10 17 3 3 -1. + <_>11 17 1 3 3. + 0 + 7.0889107882976532e-003 + 0.5263199210166931 + 0.2385547012090683 + <_> + + <_> + + + + <_>8 12 3 2 -1. + <_>8 13 3 1 2. + 0 + 1.7318050377070904e-003 + 0.4319379031658173 + 0.6983600854873657 + <_> + + <_> + + + + <_>9 3 6 2 -1. + <_>11 3 2 2 3. + 0 + -6.8482700735330582e-003 + 0.3082042932510376 + 0.5390920042991638 + <_> + + <_> + + + + <_>3 11 14 4 -1. + <_>3 13 14 2 2. + 0 + -1.5062530110299122e-005 + 0.5521922111511231 + 0.3120366036891937 + <_> + + <_> + + + + <_>1 10 18 4 -1. + <_>10 10 9 2 2. + <_>1 12 9 2 2. + 0 + 0.0294755697250366 + 0.5401322841644287 + 0.1770603060722351 + <_> + + <_> + + + + <_>0 10 3 3 -1. + <_>0 11 3 1 3. + 0 + 8.1387329846620560e-003 + 0.5178617835044861 + 0.1211019009351730 + <_> + + <_> + + + + <_>9 1 6 6 -1. + <_>11 1 2 6 3. + 0 + 0.0209429506212473 + 0.5290294289588928 + 0.3311221897602081 + <_> + + <_> + + + + <_>8 7 3 6 -1. + <_>9 7 1 6 3. + 0 + -9.5665529370307922e-003 + 0.7471994161605835 + 0.4451968967914581 + 18.4129695892333980 + 2 + -1 + <_> + + + <_> + + <_> + + + + <_>1 0 18 9 -1. + <_>1 3 18 3 3. + 0 + -2.8206960996612906e-004 + 0.2064086049795151 + 0.6076732277870178 + <_> + + <_> + + + + <_>12 10 2 6 -1. + <_>12 13 2 3 2. + 0 + 1.6790600493550301e-003 + 0.5851997137069702 + 0.1255383938550949 + <_> + + <_> + + + + <_>0 5 19 8 -1. + <_>0 9 19 4 2. + 0 + 6.9827912375330925e-004 + 0.0940184295177460 + 0.5728961229324341 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + 7.8959012171253562e-004 + 0.1781987994909287 + 0.5694308876991272 + <_> + + <_> + + + + <_>5 3 6 1 -1. + <_>7 3 2 1 3. + 0 + -2.8560499195009470e-003 + 0.1638399064540863 + 0.5788664817810059 + <_> + + <_> + + + + <_>11 3 6 1 -1. + <_>13 3 2 1 3. + 0 + -3.8122469559311867e-003 + 0.2085440009832382 + 0.5508564710617065 + <_> + + <_> + + + + <_>5 10 4 6 -1. + <_>5 13 4 3 2. + 0 + 1.5896620461717248e-003 + 0.5702760815620422 + 0.1857215017080307 + <_> + + <_> + + + + <_>11 3 6 1 -1. + <_>13 3 2 1 3. + 0 + 0.0100783398374915 + 0.5116943120956421 + 0.2189770042896271 + <_> + + <_> + + + + <_>4 4 12 6 -1. + <_>4 6 12 2 3. + 0 + -0.0635263025760651 + 0.7131379842758179 + 0.4043813049793243 + <_> + + <_> + + + + <_>15 12 2 6 -1. + <_>15 14 2 2 3. + 0 + -9.1031491756439209e-003 + 0.2567181885242462 + 0.5463973283767700 + <_> + + <_> + + + + <_>9 3 2 2 -1. + <_>10 3 1 2 2. + 0 + -2.4035000242292881e-003 + 0.1700665950775147 + 0.5590974092483521 + <_> + + <_> + + + + <_>9 3 3 1 -1. + <_>10 3 1 1 3. + 0 + 1.5226360410451889e-003 + 0.5410556793212891 + 0.2619054019451141 + <_> + + <_> + + + + <_>1 1 4 14 -1. + <_>3 1 2 14 2. + 0 + 0.0179974399507046 + 0.3732436895370483 + 0.6535220742225647 + <_> + + <_> + + + + <_>9 0 4 4 -1. + <_>11 0 2 2 2. + <_>9 2 2 2 2. + 0 + -6.4538191072642803e-003 + 0.2626481950283051 + 0.5537446141242981 + <_> + + <_> + + + + <_>7 5 1 14 -1. + <_>7 12 1 7 2. + 0 + -0.0118807600811124 + 0.2003753930330277 + 0.5544745922088623 + <_> + + <_> + + + + <_>19 0 1 4 -1. + <_>19 2 1 2 2. + 0 + 1.2713660253211856e-003 + 0.5591902732849121 + 0.3031975924968720 + <_> + + <_> + + + + <_>5 5 6 4 -1. + <_>8 5 3 4 2. + 0 + 1.1376109905540943e-003 + 0.2730407118797302 + 0.5646508932113648 + <_> + + <_> + + + + <_>9 18 3 2 -1. + <_>10 18 1 2 3. + 0 + -4.2651998810470104e-003 + 0.1405909061431885 + 0.5461820960044861 + <_> + + <_> + + + + <_>8 18 3 2 -1. + <_>9 18 1 2 3. + 0 + -2.9602861031889915e-003 + 0.1795035004615784 + 0.5459290146827698 + <_> + + <_> + + + + <_>4 5 12 6 -1. + <_>4 7 12 2 3. + 0 + -8.8448226451873779e-003 + 0.5736783146858215 + 0.2809219956398010 + <_> + + <_> + + + + <_>3 12 2 6 -1. + <_>3 14 2 2 3. + 0 + -6.6430689767003059e-003 + 0.2370675951242447 + 0.5503826141357422 + <_> + + <_> + + + + <_>10 8 2 12 -1. + <_>10 12 2 4 3. + 0 + 3.9997808635234833e-003 + 0.5608199834823608 + 0.3304282128810883 + <_> + + <_> + + + + <_>7 18 3 2 -1. + <_>8 18 1 2 3. + 0 + -4.1221720166504383e-003 + 0.1640105992555618 + 0.5378993153572083 + <_> + + <_> + + + + <_>9 0 6 2 -1. + <_>11 0 2 2 3. + 0 + 0.0156249096617103 + 0.5227649211883545 + 0.2288603931665421 + <_> + + <_> + + + + <_>5 11 9 3 -1. + <_>5 12 9 1 3. + 0 + -0.0103564197197557 + 0.7016193866729736 + 0.4252927899360657 + <_> + + <_> + + + + <_>9 0 6 2 -1. + <_>11 0 2 2 3. + 0 + -8.7960809469223022e-003 + 0.2767347097396851 + 0.5355830192565918 + <_> + + <_> + + + + <_>1 1 18 5 -1. + <_>7 1 6 5 3. + 0 + 0.1622693985700607 + 0.4342240095138550 + 0.7442579269409180 + <_> + + <_> + + + + <_>8 0 4 4 -1. + <_>10 0 2 2 2. + <_>8 2 2 2 2. + 0 + 4.5542530715465546e-003 + 0.5726485848426819 + 0.2582125067710877 + <_> + + <_> + + + + <_>3 12 1 3 -1. + <_>3 13 1 1 3. + 0 + -2.1309209987521172e-003 + 0.2106848061084747 + 0.5361018776893616 + <_> + + <_> + + + + <_>8 14 5 3 -1. + <_>8 15 5 1 3. + 0 + -0.0132084200158715 + 0.7593790888786316 + 0.4552468061447144 + <_> + + <_> + + + + <_>5 4 10 12 -1. + <_>5 4 5 6 2. + <_>10 10 5 6 2. + 0 + -0.0659966766834259 + 0.1252475976943970 + 0.5344039797782898 + <_> + + <_> + + + + <_>9 6 9 12 -1. + <_>9 10 9 4 3. + 0 + 7.9142656177282333e-003 + 0.3315384089946747 + 0.5601043105125427 + <_> + + <_> + + + + <_>2 2 12 14 -1. + <_>2 2 6 7 2. + <_>8 9 6 7 2. + 0 + 0.0208942797034979 + 0.5506049990653992 + 0.2768838107585907 + 15.3241395950317380 + 3 + -1 + <_> + + + <_> + + <_> + + + + <_>4 7 12 2 -1. + <_>8 7 4 2 3. + 0 + 1.1961159761995077e-003 + 0.1762690991163254 + 0.6156241297721863 + <_> + + <_> + + + + <_>7 4 6 4 -1. + <_>7 6 6 2 2. + 0 + -1.8679830245673656e-003 + 0.6118106842041016 + 0.1832399964332581 + <_> + + <_> + + + + <_>4 5 11 8 -1. + <_>4 9 11 4 2. + 0 + -1.9579799845814705e-004 + 0.0990442633628845 + 0.5723816156387329 + <_> + + <_> + + + + <_>3 10 16 4 -1. + <_>3 12 16 2 2. + 0 + -8.0255657667294145e-004 + 0.5579879879951477 + 0.2377282977104187 + <_> + + <_> + + + + <_>0 0 16 2 -1. + <_>0 1 16 1 2. + 0 + -2.4510810617357492e-003 + 0.2231457978487015 + 0.5858935117721558 + <_> + + <_> + + + + <_>7 5 6 2 -1. + <_>9 5 2 2 3. + 0 + 5.0361850298941135e-004 + 0.2653993964195252 + 0.5794103741645813 + <_> + + <_> + + + + <_>3 2 6 10 -1. + <_>3 2 3 5 2. + <_>6 7 3 5 2. + 0 + 4.0293349884450436e-003 + 0.5803827047348023 + 0.2484865039587021 + <_> + + <_> + + + + <_>10 5 8 15 -1. + <_>10 10 8 5 3. + 0 + -0.0144517095759511 + 0.1830351948738098 + 0.5484204888343811 + <_> + + <_> + + + + <_>3 14 8 6 -1. + <_>3 14 4 3 2. + <_>7 17 4 3 2. + 0 + 2.0380979403853416e-003 + 0.3363558948040009 + 0.6051092743873596 + <_> + + <_> + + + + <_>14 2 2 2 -1. + <_>14 3 2 1 2. + 0 + -1.6155190533027053e-003 + 0.2286642044782639 + 0.5441246032714844 + <_> + + <_> + + + + <_>1 10 7 6 -1. + <_>1 13 7 3 2. + 0 + 3.3458340913057327e-003 + 0.5625913143157959 + 0.2392338067293167 + <_> + + <_> + + + + <_>15 4 4 3 -1. + <_>15 4 2 3 2. + 0 + 1.6379579901695251e-003 + 0.3906993865966797 + 0.5964621901512146 + <_> + + <_> + + + + <_>2 9 14 6 -1. + <_>2 9 7 3 2. + <_>9 12 7 3 2. + 0 + 0.0302512105554342 + 0.5248482227325440 + 0.1575746983289719 + <_> + + <_> + + + + <_>5 7 10 4 -1. + <_>5 9 10 2 2. + 0 + 0.0372519902884960 + 0.4194310903549194 + 0.6748418807983398 + <_> + + <_> + + + + <_>6 9 8 8 -1. + <_>6 9 4 4 2. + <_>10 13 4 4 2. + 0 + -0.0251097902655602 + 0.1882549971342087 + 0.5473451018333435 + <_> + + <_> + + + + <_>14 1 3 2 -1. + <_>14 2 3 1 2. + 0 + -5.3099058568477631e-003 + 0.1339973062276840 + 0.5227110981941223 + <_> + + <_> + + + + <_>1 4 4 2 -1. + <_>3 4 2 2 2. + 0 + 1.2086479691788554e-003 + 0.3762088119983673 + 0.6109635829925537 + <_> + + <_> + + + + <_>11 10 2 8 -1. + <_>11 14 2 4 2. + 0 + -0.0219076797366142 + 0.2663142979145050 + 0.5404006838798523 + <_> + + <_> + + + + <_>0 0 5 3 -1. + <_>0 1 5 1 3. + 0 + 5.4116579703986645e-003 + 0.5363578796386719 + 0.2232273072004318 + <_> + + <_> + + + + <_>2 5 18 8 -1. + <_>11 5 9 4 2. + <_>2 9 9 4 2. + 0 + 0.0699463263154030 + 0.5358232855796814 + 0.2453698068857193 + <_> + + <_> + + + + <_>6 6 1 6 -1. + <_>6 9 1 3 2. + 0 + 3.4520021290518343e-004 + 0.2409671992063522 + 0.5376930236816406 + <_> + + <_> + + + + <_>19 1 1 3 -1. + <_>19 2 1 1 3. + 0 + 1.2627709656953812e-003 + 0.5425856709480286 + 0.3155693113803864 + <_> + + <_> + + + + <_>7 6 6 6 -1. + <_>9 6 2 6 3. + 0 + 0.0227195098996162 + 0.4158405959606171 + 0.6597865223884583 + <_> + + <_> + + + + <_>19 1 1 3 -1. + <_>19 2 1 1 3. + 0 + -1.8111000536009669e-003 + 0.2811253070831299 + 0.5505244731903076 + <_> + + <_> + + + + <_>3 13 2 3 -1. + <_>3 14 2 1 3. + 0 + 3.3469670452177525e-003 + 0.5260028243064880 + 0.1891465038061142 + <_> + + <_> + + + + <_>8 4 8 12 -1. + <_>12 4 4 6 2. + <_>8 10 4 6 2. + 0 + 4.0791751234792173e-004 + 0.5673509240150452 + 0.3344210088253021 + <_> + + <_> + + + + <_>5 2 6 3 -1. + <_>7 2 2 3 3. + 0 + 0.0127347996458411 + 0.5343592166900635 + 0.2395612001419067 + <_> + + <_> + + + + <_>6 1 9 10 -1. + <_>6 6 9 5 2. + 0 + -7.3119727894663811e-003 + 0.6010890007019043 + 0.4022207856178284 + <_> + + <_> + + + + <_>0 4 6 12 -1. + <_>2 4 2 12 3. + 0 + -0.0569487512111664 + 0.8199151158332825 + 0.4543190896511078 + <_> + + <_> + + + + <_>15 13 2 3 -1. + <_>15 14 2 1 3. + 0 + -5.0116591155529022e-003 + 0.2200281023979187 + 0.5357710719108582 + <_> + + <_> + + + + <_>7 14 5 3 -1. + <_>7 15 5 1 3. + 0 + 6.0334368608891964e-003 + 0.4413081109523773 + 0.7181751132011414 + <_> + + <_> + + + + <_>15 13 3 3 -1. + <_>15 14 3 1 3. + 0 + 3.9437441155314445e-003 + 0.5478860735893250 + 0.2791733145713806 + <_> + + <_> + + + + <_>6 14 8 3 -1. + <_>6 15 8 1 3. + 0 + -3.6591119132936001e-003 + 0.6357867717742920 + 0.3989723920822144 + <_> + + <_> + + + + <_>15 13 3 3 -1. + <_>15 14 3 1 3. + 0 + -3.8456181064248085e-003 + 0.3493686020374298 + 0.5300664901733398 + <_> + + <_> + + + + <_>2 13 3 3 -1. + <_>2 14 3 1 3. + 0 + -7.1926261298358440e-003 + 0.1119614988565445 + 0.5229672789573669 + <_> + + <_> + + + + <_>4 7 12 12 -1. + <_>10 7 6 6 2. + <_>4 13 6 6 2. + 0 + -0.0527989417314529 + 0.2387102991342545 + 0.5453451275825501 + <_> + + <_> + + + + <_>9 7 2 6 -1. + <_>10 7 1 6 2. + 0 + -7.9537667334079742e-003 + 0.7586917877197266 + 0.4439376890659332 + <_> + + <_> + + + + <_>8 9 5 2 -1. + <_>8 10 5 1 2. + 0 + -2.7344180271029472e-003 + 0.2565476894378662 + 0.5489321947097778 + <_> + + <_> + + + + <_>8 6 3 4 -1. + <_>9 6 1 4 3. + 0 + -1.8507939530536532e-003 + 0.6734347939491272 + 0.4252474904060364 + <_> + + <_> + + + + <_>9 6 2 8 -1. + <_>9 10 2 4 2. + 0 + 0.0159189198166132 + 0.5488352775573731 + 0.2292661964893341 + <_> + + <_> + + + + <_>7 7 3 6 -1. + <_>8 7 1 6 3. + 0 + -1.2687679845839739e-003 + 0.6104331016540527 + 0.4022389948368073 + <_> + + <_> + + + + <_>11 3 3 3 -1. + <_>12 3 1 3 3. + 0 + 6.2883910723030567e-003 + 0.5310853123664856 + 0.1536193042993546 + <_> + + <_> + + + + <_>5 4 6 1 -1. + <_>7 4 2 1 3. + 0 + -6.2259892001748085e-003 + 0.1729111969470978 + 0.5241606235504150 + <_> + + <_> + + + + <_>5 6 10 3 -1. + <_>5 7 10 1 3. + 0 + -0.0121325999498367 + 0.6597759723663330 + 0.4325182139873505 + 21.0106391906738280 + 4 + -1 + <_> + + + <_> + + <_> + + + + <_>7 3 6 9 -1. + <_>7 6 6 3 3. + 0 + -3.9184908382594585e-003 + 0.6103435158729553 + 0.1469330936670303 + <_> + + <_> + + + + <_>6 7 9 1 -1. + <_>9 7 3 1 3. + 0 + 1.5971299726516008e-003 + 0.2632363140583038 + 0.5896466970443726 + <_> + + <_> + + + + <_>2 8 16 8 -1. + <_>2 12 16 4 2. + 0 + 0.0177801102399826 + 0.5872874259948731 + 0.1760361939668655 + <_> + + <_> + + + + <_>14 6 2 6 -1. + <_>14 9 2 3 2. + 0 + 6.5334769897162914e-004 + 0.1567801982164383 + 0.5596066117286682 + <_> + + <_> + + + + <_>1 5 6 15 -1. + <_>1 10 6 5 3. + 0 + -2.8353091329336166e-004 + 0.1913153976202011 + 0.5732036232948303 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>10 3 6 3 3. + 0 + 1.6104689566418529e-003 + 0.2914913892745972 + 0.5623080730438232 + <_> + + <_> + + + + <_>6 6 7 14 -1. + <_>6 13 7 7 2. + 0 + -0.0977506190538406 + 0.1943476945161820 + 0.5648233294487000 + <_> + + <_> + + + + <_>13 7 3 6 -1. + <_>13 9 3 2 3. + 0 + 5.5182358482852578e-004 + 0.3134616911411285 + 0.5504639744758606 + <_> + + <_> + + + + <_>1 8 15 4 -1. + <_>6 8 5 4 3. + 0 + -0.0128582203760743 + 0.2536481916904450 + 0.5760142803192139 + <_> + + <_> + + + + <_>11 2 3 10 -1. + <_>11 7 3 5 2. + 0 + 4.1530239395797253e-003 + 0.5767722129821777 + 0.3659774065017700 + <_> + + <_> + + + + <_>3 7 4 6 -1. + <_>3 9 4 2 3. + 0 + 1.7092459602281451e-003 + 0.2843191027641296 + 0.5918939113616943 + <_> + + <_> + + + + <_>13 3 6 10 -1. + <_>15 3 2 10 3. + 0 + 7.5217359699308872e-003 + 0.4052427113056183 + 0.6183109283447266 + <_> + + <_> + + + + <_>5 7 8 10 -1. + <_>5 7 4 5 2. + <_>9 12 4 5 2. + 0 + 2.2479810286313295e-003 + 0.5783755183219910 + 0.3135401010513306 + <_> + + <_> + + + + <_>4 4 12 12 -1. + <_>10 4 6 6 2. + <_>4 10 6 6 2. + 0 + 0.0520062111318111 + 0.5541312098503113 + 0.1916636973619461 + <_> + + <_> + + + + <_>1 4 6 9 -1. + <_>3 4 2 9 3. + 0 + 0.0120855299755931 + 0.4032655954360962 + 0.6644591093063355 + <_> + + <_> + + + + <_>11 3 2 5 -1. + <_>11 3 1 5 2. + 0 + 1.4687820112158079e-005 + 0.3535977900028229 + 0.5709382891654968 + <_> + + <_> + + + + <_>7 3 2 5 -1. + <_>8 3 1 5 2. + 0 + 7.1395188570022583e-006 + 0.3037444949150085 + 0.5610269904136658 + <_> + + <_> + + + + <_>10 14 2 3 -1. + <_>10 15 2 1 3. + 0 + -4.6001640148460865e-003 + 0.7181087136268616 + 0.4580326080322266 + <_> + + <_> + + + + <_>5 12 6 2 -1. + <_>8 12 3 2 2. + 0 + 2.0058949012309313e-003 + 0.5621951818466187 + 0.2953684031963348 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 4.5050270855426788e-003 + 0.4615387916564941 + 0.7619017958641052 + <_> + + <_> + + + + <_>4 11 12 6 -1. + <_>4 14 12 3 2. + 0 + 0.0117468303069472 + 0.5343837141990662 + 0.1772529035806656 + <_> + + <_> + + + + <_>11 11 5 9 -1. + <_>11 14 5 3 3. + 0 + -0.0583163388073444 + 0.1686245948076248 + 0.5340772271156311 + <_> + + <_> + + + + <_>6 15 3 2 -1. + <_>6 16 3 1 2. + 0 + 2.3629379575140774e-004 + 0.3792056143283844 + 0.6026803851127625 + <_> + + <_> + + + + <_>11 0 3 5 -1. + <_>12 0 1 5 3. + 0 + -7.8156180679798126e-003 + 0.1512867063283920 + 0.5324323773384094 + <_> + + <_> + + + + <_>5 5 6 7 -1. + <_>8 5 3 7 2. + 0 + -0.0108761601150036 + 0.2081822007894516 + 0.5319945216178894 + <_> + + <_> + + + + <_>13 0 1 9 -1. + <_>13 3 1 3 3. + 0 + -2.7745519764721394e-003 + 0.4098246991634369 + 0.5210328102111816 + <_> + + <_> + + + + <_>3 2 4 8 -1. + <_>3 2 2 4 2. + <_>5 6 2 4 2. + 0 + -7.8276381827890873e-004 + 0.5693274140357971 + 0.3478842079639435 + <_> + + <_> + + + + <_>13 12 4 6 -1. + <_>13 14 4 2 3. + 0 + 0.0138704096898437 + 0.5326750874519348 + 0.2257698029279709 + <_> + + <_> + + + + <_>3 12 4 6 -1. + <_>3 14 4 2 3. + 0 + -0.0236749108880758 + 0.1551305055618286 + 0.5200707912445068 + <_> + + <_> + + + + <_>13 11 3 4 -1. + <_>13 13 3 2 2. + 0 + -1.4879409718560055e-005 + 0.5500566959381104 + 0.3820176124572754 + <_> + + <_> + + + + <_>4 4 4 3 -1. + <_>4 5 4 1 3. + 0 + 3.6190641112625599e-003 + 0.4238683879375458 + 0.6639748215675354 + <_> + + <_> + + + + <_>7 5 11 8 -1. + <_>7 9 11 4 2. + 0 + -0.0198171101510525 + 0.2150038033723831 + 0.5382357835769653 + <_> + + <_> + + + + <_>7 8 3 4 -1. + <_>8 8 1 4 3. + 0 + -3.8154039066284895e-003 + 0.6675711274147034 + 0.4215297102928162 + <_> + + <_> + + + + <_>9 1 6 1 -1. + <_>11 1 2 1 3. + 0 + -4.9775829538702965e-003 + 0.2267289012670517 + 0.5386328101158142 + <_> + + <_> + + + + <_>5 5 3 3 -1. + <_>5 6 3 1 3. + 0 + 2.2441020701080561e-003 + 0.4308691024780273 + 0.6855735778808594 + <_> + + <_> + + + + <_>0 9 20 6 -1. + <_>10 9 10 3 2. + <_>0 12 10 3 2. + 0 + 0.0122824599966407 + 0.5836614966392517 + 0.3467479050159454 + <_> + + <_> + + + + <_>8 6 3 5 -1. + <_>9 6 1 5 3. + 0 + -2.8548699337989092e-003 + 0.7016944885253906 + 0.4311453998088837 + <_> + + <_> + + + + <_>11 0 1 3 -1. + <_>11 1 1 1 3. + 0 + -3.7875669077038765e-003 + 0.2895345091819763 + 0.5224946141242981 + <_> + + <_> + + + + <_>4 2 4 2 -1. + <_>4 3 4 1 2. + 0 + -1.2201230274513364e-003 + 0.2975570857524872 + 0.5481644868850708 + <_> + + <_> + + + + <_>12 6 4 3 -1. + <_>12 7 4 1 3. + 0 + 0.0101605998352170 + 0.4888817965984345 + 0.8182697892189026 + <_> + + <_> + + + + <_>5 0 6 4 -1. + <_>7 0 2 4 3. + 0 + -0.0161745697259903 + 0.1481492966413498 + 0.5239992737770081 + <_> + + <_> + + + + <_>9 7 3 8 -1. + <_>10 7 1 8 3. + 0 + 0.0192924607545137 + 0.4786309897899628 + 0.7378190755844116 + <_> + + <_> + + + + <_>9 7 2 2 -1. + <_>10 7 1 2 2. + 0 + -3.2479539513587952e-003 + 0.7374222874641419 + 0.4470643997192383 + <_> + + <_> + + + + <_>6 7 14 4 -1. + <_>13 7 7 2 2. + <_>6 9 7 2 2. + 0 + -9.3803480267524719e-003 + 0.3489154875278473 + 0.5537996292114258 + <_> + + <_> + + + + <_>0 5 3 6 -1. + <_>0 7 3 2 3. + 0 + -0.0126061299815774 + 0.2379686981439591 + 0.5315443277359009 + <_> + + <_> + + + + <_>13 11 3 4 -1. + <_>13 13 3 2 2. + 0 + -0.0256219301372766 + 0.1964688003063202 + 0.5138769745826721 + <_> + + <_> + + + + <_>4 11 3 4 -1. + <_>4 13 3 2 2. + 0 + -7.5741496402770281e-005 + 0.5590522885322571 + 0.3365853130817413 + <_> + + <_> + + + + <_>5 9 12 8 -1. + <_>11 9 6 4 2. + <_>5 13 6 4 2. + 0 + -0.0892108827829361 + 0.0634046569466591 + 0.5162634849548340 + <_> + + <_> + + + + <_>9 12 1 3 -1. + <_>9 13 1 1 3. + 0 + -2.7670480776578188e-003 + 0.7323467731475830 + 0.4490706026554108 + <_> + + <_> + + + + <_>10 15 2 4 -1. + <_>10 17 2 2 2. + 0 + 2.7152578695677221e-004 + 0.4114834964275360 + 0.5985518097877502 + 23.9187908172607420 + 5 + -1 + <_> + + + <_> + + <_> + + + + <_>7 7 6 1 -1. + <_>9 7 2 1 3. + 0 + 1.4786219689995050e-003 + 0.2663545012474060 + 0.6643316745758057 + <_> + + <_> + + + + <_>12 3 6 6 -1. + <_>15 3 3 3 2. + <_>12 6 3 3 2. + 0 + -1.8741659587249160e-003 + 0.6143848896026611 + 0.2518512904644013 + <_> + + <_> + + + + <_>0 4 10 6 -1. + <_>0 6 10 2 3. + 0 + -1.7151009524241090e-003 + 0.5766341090202332 + 0.2397463023662567 + <_> + + <_> + + + + <_>8 3 8 14 -1. + <_>12 3 4 7 2. + <_>8 10 4 7 2. + 0 + -1.8939269939437509e-003 + 0.5682045817375183 + 0.2529144883155823 + <_> + + <_> + + + + <_>4 4 7 15 -1. + <_>4 9 7 5 3. + 0 + -5.3006052039563656e-003 + 0.1640675961971283 + 0.5556079745292664 + <_> + + <_> + + + + <_>12 2 6 8 -1. + <_>15 2 3 4 2. + <_>12 6 3 4 2. + 0 + -0.0466625317931175 + 0.6123154163360596 + 0.4762830138206482 + <_> + + <_> + + + + <_>2 2 6 8 -1. + <_>2 2 3 4 2. + <_>5 6 3 4 2. + 0 + -7.9431332414969802e-004 + 0.5707858800888062 + 0.2839404046535492 + <_> + + <_> + + + + <_>2 13 18 7 -1. + <_>8 13 6 7 3. + 0 + 0.0148916700854898 + 0.4089672863483429 + 0.6006367206573486 + <_> + + <_> + + + + <_>4 3 8 14 -1. + <_>4 3 4 7 2. + <_>8 10 4 7 2. + 0 + -1.2046529445797205e-003 + 0.5712450742721558 + 0.2705289125442505 + <_> + + <_> + + + + <_>18 1 2 6 -1. + <_>18 3 2 2 3. + 0 + 6.0619381256401539e-003 + 0.5262504220008850 + 0.3262225985527039 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -2.5286648888140917e-003 + 0.6853830814361572 + 0.4199256896972656 + <_> + + <_> + + + + <_>18 1 2 6 -1. + <_>18 3 2 2 3. + 0 + -5.9010218828916550e-003 + 0.3266282081604004 + 0.5434812903404236 + <_> + + <_> + + + + <_>0 1 2 6 -1. + <_>0 3 2 2 3. + 0 + 5.6702760048210621e-003 + 0.5468410849571228 + 0.2319003939628601 + <_> + + <_> + + + + <_>1 5 18 6 -1. + <_>1 7 18 2 3. + 0 + -3.0304100364446640e-003 + 0.5570667982101440 + 0.2708238065242767 + <_> + + <_> + + + + <_>0 2 6 7 -1. + <_>3 2 3 7 2. + 0 + 2.9803649522364140e-003 + 0.3700568974018097 + 0.5890625715255737 + <_> + + <_> + + + + <_>7 3 6 14 -1. + <_>7 10 6 7 2. + 0 + -0.0758405104279518 + 0.2140070050954819 + 0.5419948101043701 + <_> + + <_> + + + + <_>3 7 13 10 -1. + <_>3 12 13 5 2. + 0 + 0.0192625392228365 + 0.5526772141456604 + 0.2726590037345886 + <_> + + <_> + + + + <_>11 15 2 2 -1. + <_>11 16 2 1 2. + 0 + 1.8888259364757687e-004 + 0.3958011865615845 + 0.6017209887504578 + <_> + + <_> + + + + <_>2 11 16 4 -1. + <_>2 11 8 2 2. + <_>10 13 8 2 2. + 0 + 0.0293695498257875 + 0.5241373777389526 + 0.1435758024454117 + <_> + + <_> + + + + <_>13 7 6 4 -1. + <_>16 7 3 2 2. + <_>13 9 3 2 2. + 0 + 1.0417619487270713e-003 + 0.3385409116744995 + 0.5929983258247376 + <_> + + <_> + + + + <_>6 10 3 9 -1. + <_>6 13 3 3 3. + 0 + 2.6125640142709017e-003 + 0.5485377907752991 + 0.3021597862243652 + <_> + + <_> + + + + <_>14 6 1 6 -1. + <_>14 9 1 3 2. + 0 + 9.6977467183023691e-004 + 0.3375276029109955 + 0.5532032847404480 + <_> + + <_> + + + + <_>5 10 4 1 -1. + <_>7 10 2 1 2. + 0 + 5.9512659208849072e-004 + 0.5631743073463440 + 0.3359399139881134 + <_> + + <_> + + + + <_>3 8 15 5 -1. + <_>8 8 5 5 3. + 0 + -0.1015655994415283 + 0.0637350380420685 + 0.5230425000190735 + <_> + + <_> + + + + <_>1 6 5 4 -1. + <_>1 8 5 2 2. + 0 + 0.0361566990613937 + 0.5136963129043579 + 0.1029528975486755 + <_> + + <_> + + + + <_>3 1 17 6 -1. + <_>3 3 17 2 3. + 0 + 3.4624140243977308e-003 + 0.3879320025444031 + 0.5558289289474487 + <_> + + <_> + + + + <_>6 7 8 2 -1. + <_>10 7 4 2 2. + 0 + 0.0195549800992012 + 0.5250086784362793 + 0.1875859946012497 + <_> + + <_> + + + + <_>9 7 3 2 -1. + <_>10 7 1 2 3. + 0 + -2.3121440317481756e-003 + 0.6672028899192810 + 0.4679641127586365 + <_> + + <_> + + + + <_>8 7 3 2 -1. + <_>9 7 1 2 3. + 0 + -1.8605289515107870e-003 + 0.7163379192352295 + 0.4334670901298523 + <_> + + <_> + + + + <_>8 9 4 2 -1. + <_>8 10 4 1 2. + 0 + -9.4026362057775259e-004 + 0.3021360933780670 + 0.5650203227996826 + <_> + + <_> + + + + <_>8 8 4 3 -1. + <_>8 9 4 1 3. + 0 + -5.2418331615626812e-003 + 0.1820009052753449 + 0.5250256061553955 + <_> + + <_> + + + + <_>9 5 6 4 -1. + <_>9 5 3 4 2. + 0 + 1.1729019752237946e-004 + 0.3389188051223755 + 0.5445973277091980 + <_> + + <_> + + + + <_>8 13 4 3 -1. + <_>8 14 4 1 3. + 0 + 1.1878840159624815e-003 + 0.4085349142551422 + 0.6253563165664673 + <_> + + <_> + + + + <_>4 7 12 6 -1. + <_>10 7 6 3 2. + <_>4 10 6 3 2. + 0 + -0.0108813596889377 + 0.3378399014472961 + 0.5700082778930664 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 1.7354859737679362e-003 + 0.4204635918140411 + 0.6523038744926453 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>9 8 3 1 3. + 0 + -6.5119052305817604e-003 + 0.2595216035842896 + 0.5428143739700317 + <_> + + <_> + + + + <_>7 4 3 8 -1. + <_>8 4 1 8 3. + 0 + -1.2136430013924837e-003 + 0.6165143847465515 + 0.3977893888950348 + <_> + + <_> + + + + <_>10 0 3 6 -1. + <_>11 0 1 6 3. + 0 + -0.0103542404249310 + 0.1628028005361557 + 0.5219504833221436 + <_> + + <_> + + + + <_>6 3 4 8 -1. + <_>8 3 2 8 2. + 0 + 5.5858830455690622e-004 + 0.3199650943279266 + 0.5503574013710022 + <_> + + <_> + + + + <_>14 3 6 13 -1. + <_>14 3 3 13 2. + 0 + 0.0152996499091387 + 0.4103994071483612 + 0.6122388243675232 + <_> + + <_> + + + + <_>8 13 3 6 -1. + <_>8 16 3 3 2. + 0 + -0.0215882100164890 + 0.1034912988543510 + 0.5197384953498840 + <_> + + <_> + + + + <_>14 3 6 13 -1. + <_>14 3 3 13 2. + 0 + -0.1283462941646576 + 0.8493865132331848 + 0.4893102943897247 + <_> + + <_> + + + + <_>0 7 10 4 -1. + <_>0 7 5 2 2. + <_>5 9 5 2 2. + 0 + -2.2927189711481333e-003 + 0.3130157887935638 + 0.5471575260162354 + <_> + + <_> + + + + <_>14 3 6 13 -1. + <_>14 3 3 13 2. + 0 + 0.0799151062965393 + 0.4856320917606354 + 0.6073989272117615 + <_> + + <_> + + + + <_>0 3 6 13 -1. + <_>3 3 3 13 2. + 0 + -0.0794410929083824 + 0.8394674062728882 + 0.4624533057212830 + <_> + + <_> + + + + <_>9 1 4 1 -1. + <_>9 1 2 1 2. + 0 + -5.2800010889768600e-003 + 0.1881695985794067 + 0.5306698083877564 + <_> + + <_> + + + + <_>8 0 2 1 -1. + <_>9 0 1 1 2. + 0 + 1.0463109938427806e-003 + 0.5271229147911072 + 0.2583065927028656 + <_> + + <_> + + + + <_>10 16 4 4 -1. + <_>12 16 2 2 2. + <_>10 18 2 2 2. + 0 + 2.6317298761568964e-004 + 0.4235304892063141 + 0.5735440850257874 + <_> + + <_> + + + + <_>9 6 2 3 -1. + <_>10 6 1 3 2. + 0 + -3.6173160187900066e-003 + 0.6934396028518677 + 0.4495444893836975 + <_> + + <_> + + + + <_>4 5 12 2 -1. + <_>8 5 4 2 3. + 0 + 0.0114218797534704 + 0.5900921225547791 + 0.4138193130493164 + <_> + + <_> + + + + <_>8 7 3 5 -1. + <_>9 7 1 5 3. + 0 + -1.9963278900831938e-003 + 0.6466382741928101 + 0.4327239990234375 + 24.5278797149658200 + 6 + -1 + <_> + + + <_> + + <_> + + + + <_>6 4 8 6 -1. + <_>6 6 8 2 3. + 0 + -9.9691245704889297e-003 + 0.6142324209213257 + 0.2482212036848068 + <_> + + <_> + + + + <_>9 5 2 12 -1. + <_>9 11 2 6 2. + 0 + 7.3073059320449829e-004 + 0.5704951882362366 + 0.2321965992450714 + <_> + + <_> + + + + <_>4 6 6 8 -1. + <_>4 10 6 4 2. + 0 + 6.4045301405712962e-004 + 0.2112251967191696 + 0.5814933180809021 + <_> + + <_> + + + + <_>12 2 8 5 -1. + <_>12 2 4 5 2. + 0 + 4.5424019917845726e-003 + 0.2950482070446014 + 0.5866311788558960 + <_> + + <_> + + + + <_>0 8 18 3 -1. + <_>0 9 18 1 3. + 0 + 9.2477443104144186e-005 + 0.2990990877151489 + 0.5791326761245728 + <_> + + <_> + + + + <_>8 12 4 8 -1. + <_>8 16 4 4 2. + 0 + -8.6603146046400070e-003 + 0.2813029885292053 + 0.5635542273521423 + <_> + + <_> + + + + <_>0 2 8 5 -1. + <_>4 2 4 5 2. + 0 + 8.0515816807746887e-003 + 0.3535369038581848 + 0.6054757237434387 + <_> + + <_> + + + + <_>13 11 3 4 -1. + <_>13 13 3 2 2. + 0 + 4.3835240649059415e-004 + 0.5596532225608826 + 0.2731510996818543 + <_> + + <_> + + + + <_>5 11 6 1 -1. + <_>7 11 2 1 3. + 0 + -9.8168973636347800e-005 + 0.5978031754493713 + 0.3638561069965363 + <_> + + <_> + + + + <_>11 3 3 1 -1. + <_>12 3 1 1 3. + 0 + -1.1298790341243148e-003 + 0.2755252122879028 + 0.5432729125022888 + <_> + + <_> + + + + <_>7 13 5 3 -1. + <_>7 14 5 1 3. + 0 + 6.4356150105595589e-003 + 0.4305641949176788 + 0.7069833278656006 + <_> + + <_> + + + + <_>11 11 7 6 -1. + <_>11 14 7 3 2. + 0 + -0.0568293295800686 + 0.2495242953300476 + 0.5294997096061707 + <_> + + <_> + + + + <_>2 11 7 6 -1. + <_>2 14 7 3 2. + 0 + 4.0668169967830181e-003 + 0.5478553175926209 + 0.2497723996639252 + <_> + + <_> + + + + <_>12 14 2 6 -1. + <_>12 16 2 2 3. + 0 + 4.8164798499783501e-005 + 0.3938601016998291 + 0.5706356167793274 + <_> + + <_> + + + + <_>8 14 3 3 -1. + <_>8 15 3 1 3. + 0 + 6.1795017682015896e-003 + 0.4407606124877930 + 0.7394766807556152 + <_> + + <_> + + + + <_>11 0 3 5 -1. + <_>12 0 1 5 3. + 0 + 6.4985752105712891e-003 + 0.5445243120193481 + 0.2479152977466583 + <_> + + <_> + + + + <_>6 1 4 9 -1. + <_>8 1 2 9 2. + 0 + -1.0211090557277203e-003 + 0.2544766962528229 + 0.5338971018791199 + <_> + + <_> + + + + <_>10 3 6 1 -1. + <_>12 3 2 1 3. + 0 + -5.4247528314590454e-003 + 0.2718858122825623 + 0.5324069261550903 + <_> + + <_> + + + + <_>8 8 3 4 -1. + <_>8 10 3 2 2. + 0 + -1.0559899965301156e-003 + 0.3178288042545319 + 0.5534508824348450 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>8 13 4 1 2. + 0 + 6.6465808777138591e-004 + 0.4284219145774841 + 0.6558194160461426 + <_> + + <_> + + + + <_>5 18 4 2 -1. + <_>5 19 4 1 2. + 0 + -2.7524109464138746e-004 + 0.5902860760688782 + 0.3810262978076935 + <_> + + <_> + + + + <_>2 1 18 6 -1. + <_>2 3 18 2 3. + 0 + 4.2293202131986618e-003 + 0.3816489875316620 + 0.5709385871887207 + <_> + + <_> + + + + <_>6 0 3 2 -1. + <_>7 0 1 2 3. + 0 + -3.2868210691958666e-003 + 0.1747743934392929 + 0.5259544253349304 + <_> + + <_> + + + + <_>13 8 6 2 -1. + <_>16 8 3 1 2. + <_>13 9 3 1 2. + 0 + 1.5611879643984139e-004 + 0.3601722121238709 + 0.5725612044334412 + <_> + + <_> + + + + <_>6 10 3 6 -1. + <_>6 13 3 3 2. + 0 + -7.3621381488919724e-006 + 0.5401858091354370 + 0.3044497072696686 + <_> + + <_> + + + + <_>0 13 20 4 -1. + <_>10 13 10 2 2. + <_>0 15 10 2 2. + 0 + -0.0147672500461340 + 0.3220770061016083 + 0.5573434829711914 + <_> + + <_> + + + + <_>7 7 6 5 -1. + <_>9 7 2 5 3. + 0 + 0.0244895908981562 + 0.4301528036594391 + 0.6518812775611877 + <_> + + <_> + + + + <_>11 0 2 2 -1. + <_>11 1 2 1 2. + 0 + -3.7652091123163700e-004 + 0.3564583063125610 + 0.5598236918449402 + <_> + + <_> + + + + <_>1 8 6 2 -1. + <_>1 8 3 1 2. + <_>4 9 3 1 2. + 0 + 7.3657688517414499e-006 + 0.3490782976150513 + 0.5561897754669190 + <_> + + <_> + + + + <_>0 2 20 2 -1. + <_>10 2 10 1 2. + <_>0 3 10 1 2. + 0 + -0.0150999398902059 + 0.1776272058486939 + 0.5335299968719482 + <_> + + <_> + + + + <_>7 14 5 3 -1. + <_>7 15 5 1 3. + 0 + -3.8316650316119194e-003 + 0.6149687767028809 + 0.4221394062042236 + <_> + + <_> + + + + <_>7 13 6 6 -1. + <_>10 13 3 3 2. + <_>7 16 3 3 2. + 0 + 0.0169254001230001 + 0.5413014888763428 + 0.2166585028171539 + <_> + + <_> + + + + <_>9 12 2 3 -1. + <_>9 13 2 1 3. + 0 + -3.0477850232273340e-003 + 0.6449490785598755 + 0.4354617893695831 + <_> + + <_> + + + + <_>16 11 1 6 -1. + <_>16 13 1 2 3. + 0 + 3.2140589319169521e-003 + 0.5400155186653137 + 0.3523217141628265 + <_> + + <_> + + + + <_>3 11 1 6 -1. + <_>3 13 1 2 3. + 0 + -4.0023201145231724e-003 + 0.2774524092674255 + 0.5338417291641235 + <_> + + <_> + + + + <_>4 4 14 12 -1. + <_>11 4 7 6 2. + <_>4 10 7 6 2. + 0 + 7.4182129465043545e-003 + 0.5676739215850830 + 0.3702817857265472 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + -8.8764587417244911e-003 + 0.7749221920967102 + 0.4583688974380493 + <_> + + <_> + + + + <_>12 3 3 3 -1. + <_>13 3 1 3 3. + 0 + 2.7311739977449179e-003 + 0.5338721871376038 + 0.3996661007404327 + <_> + + <_> + + + + <_>6 6 8 3 -1. + <_>6 7 8 1 3. + 0 + -2.5082379579544067e-003 + 0.5611963272094727 + 0.3777498900890350 + <_> + + <_> + + + + <_>12 3 3 3 -1. + <_>13 3 1 3 3. + 0 + -8.0541074275970459e-003 + 0.2915228903293610 + 0.5179182887077332 + <_> + + <_> + + + + <_>3 1 4 10 -1. + <_>3 1 2 5 2. + <_>5 6 2 5 2. + 0 + -9.7938813269138336e-004 + 0.5536432862281799 + 0.3700192868709564 + <_> + + <_> + + + + <_>5 7 10 2 -1. + <_>5 7 5 2 2. + 0 + -5.8745909482240677e-003 + 0.3754391074180603 + 0.5679376125335693 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>9 7 1 3 3. + 0 + -4.4936719350516796e-003 + 0.7019699215888977 + 0.4480949938297272 + <_> + + <_> + + + + <_>15 12 2 3 -1. + <_>15 13 2 1 3. + 0 + -5.4389229044318199e-003 + 0.2310364991426468 + 0.5313386917114258 + <_> + + <_> + + + + <_>7 8 3 4 -1. + <_>8 8 1 4 3. + 0 + -7.5094640487805009e-004 + 0.5864868760108948 + 0.4129343032836914 + <_> + + <_> + + + + <_>13 4 1 12 -1. + <_>13 10 1 6 2. + 0 + 1.4528800420521293e-005 + 0.3732407093048096 + 0.5619621276855469 + <_> + + <_> + + + + <_>4 5 12 12 -1. + <_>4 5 6 6 2. + <_>10 11 6 6 2. + 0 + 0.0407580696046352 + 0.5312091112136841 + 0.2720521986484528 + <_> + + <_> + + + + <_>7 14 7 3 -1. + <_>7 15 7 1 3. + 0 + 6.6505931317806244e-003 + 0.4710015952587128 + 0.6693493723869324 + <_> + + <_> + + + + <_>3 12 2 3 -1. + <_>3 13 2 1 3. + 0 + 4.5759351924061775e-003 + 0.5167819261550903 + 0.1637275964021683 + <_> + + <_> + + + + <_>3 2 14 2 -1. + <_>10 2 7 1 2. + <_>3 3 7 1 2. + 0 + 6.5269311890006065e-003 + 0.5397608876228333 + 0.2938531935214996 + <_> + + <_> + + + + <_>0 1 3 10 -1. + <_>1 1 1 10 3. + 0 + -0.0136603796854615 + 0.7086488008499146 + 0.4532200098037720 + <_> + + <_> + + + + <_>9 0 6 5 -1. + <_>11 0 2 5 3. + 0 + 0.0273588690906763 + 0.5206481218338013 + 0.3589231967926025 + <_> + + <_> + + + + <_>5 7 6 2 -1. + <_>8 7 3 2 2. + 0 + 6.2197551596909761e-004 + 0.3507075905799866 + 0.5441123247146606 + <_> + + <_> + + + + <_>7 1 6 10 -1. + <_>7 6 6 5 2. + 0 + -3.3077080734074116e-003 + 0.5859522819519043 + 0.4024891853332520 + <_> + + <_> + + + + <_>1 1 18 3 -1. + <_>7 1 6 3 3. + 0 + -0.0106311095878482 + 0.6743267178535461 + 0.4422602951526642 + <_> + + <_> + + + + <_>16 3 3 6 -1. + <_>16 5 3 2 3. + 0 + 0.0194416493177414 + 0.5282716155052185 + 0.1797904968261719 + 27.1533508300781250 + 7 + -1 + <_> + + + <_> + + <_> + + + + <_>6 3 7 6 -1. + <_>6 6 7 3 2. + 0 + -5.5052167735993862e-003 + 0.5914731025695801 + 0.2626559138298035 + <_> + + <_> + + + + <_>4 7 12 2 -1. + <_>8 7 4 2 3. + 0 + 1.9562279339879751e-003 + 0.2312581986188889 + 0.5741627216339111 + <_> + + <_> + + + + <_>0 4 17 10 -1. + <_>0 9 17 5 2. + 0 + -8.8924784213304520e-003 + 0.1656530052423477 + 0.5626654028892517 + <_> + + <_> + + + + <_>3 4 15 16 -1. + <_>3 12 15 8 2. + 0 + 0.0836383774876595 + 0.5423449873924255 + 0.1957294940948486 + <_> + + <_> + + + + <_>7 15 6 4 -1. + <_>7 17 6 2 2. + 0 + 1.2282270472496748e-003 + 0.3417904078960419 + 0.5992503762245178 + <_> + + <_> + + + + <_>15 2 4 9 -1. + <_>15 2 2 9 2. + 0 + 5.7629169896245003e-003 + 0.3719581961631775 + 0.6079903841018677 + <_> + + <_> + + + + <_>2 3 3 2 -1. + <_>2 4 3 1 2. + 0 + -1.6417410224676132e-003 + 0.2577486038208008 + 0.5576915740966797 + <_> + + <_> + + + + <_>13 6 7 9 -1. + <_>13 9 7 3 3. + 0 + 3.4113149158656597e-003 + 0.2950749099254608 + 0.5514171719551086 + <_> + + <_> + + + + <_>8 11 4 3 -1. + <_>8 12 4 1 3. + 0 + -0.0110693201422691 + 0.7569358944892883 + 0.4477078914642334 + <_> + + <_> + + + + <_>0 2 20 6 -1. + <_>10 2 10 3 2. + <_>0 5 10 3 2. + 0 + 0.0348659716546535 + 0.5583708882331848 + 0.2669621109962463 + <_> + + <_> + + + + <_>3 2 6 10 -1. + <_>3 2 3 5 2. + <_>6 7 3 5 2. + 0 + 6.5701099811121821e-004 + 0.5627313256263733 + 0.2988890111446381 + <_> + + <_> + + + + <_>13 10 3 4 -1. + <_>13 12 3 2 2. + 0 + -0.0243391301482916 + 0.2771185040473938 + 0.5108863115310669 + <_> + + <_> + + + + <_>4 10 3 4 -1. + <_>4 12 3 2 2. + 0 + 5.9435202274471521e-004 + 0.5580651760101318 + 0.3120341897010803 + <_> + + <_> + + + + <_>7 5 6 3 -1. + <_>9 5 2 3 3. + 0 + 2.2971509024500847e-003 + 0.3330250084400177 + 0.5679075717926025 + <_> + + <_> + + + + <_>7 6 6 8 -1. + <_>7 10 6 4 2. + 0 + -3.7801829166710377e-003 + 0.2990534901618958 + 0.5344808101654053 + <_> + + <_> + + + + <_>0 11 20 6 -1. + <_>0 14 20 3 2. + 0 + -0.1342066973447800 + 0.1463858932256699 + 0.5392568111419678 + <_> + + <_> + + + + <_>4 13 4 6 -1. + <_>4 13 2 3 2. + <_>6 16 2 3 2. + 0 + 7.5224548345431685e-004 + 0.3746953904628754 + 0.5692734718322754 + <_> + + <_> + + + + <_>6 0 8 12 -1. + <_>10 0 4 6 2. + <_>6 6 4 6 2. + 0 + -0.0405455417931080 + 0.2754747867584229 + 0.5484297871589661 + <_> + + <_> + + + + <_>2 0 15 2 -1. + <_>2 1 15 1 2. + 0 + 1.2572970008477569e-003 + 0.3744584023952484 + 0.5756075978279114 + <_> + + <_> + + + + <_>9 12 2 3 -1. + <_>9 13 2 1 3. + 0 + -7.4249948374927044e-003 + 0.7513859272003174 + 0.4728231132030487 + <_> + + <_> + + + + <_>3 12 1 2 -1. + <_>3 13 1 1 2. + 0 + 5.0908129196614027e-004 + 0.5404896736145020 + 0.2932321131229401 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -1.2808450264856219e-003 + 0.6169779896736145 + 0.4273349046707153 + <_> + + <_> + + + + <_>7 3 3 1 -1. + <_>8 3 1 1 3. + 0 + -1.8348860321566463e-003 + 0.2048496007919312 + 0.5206472277641296 + <_> + + <_> + + + + <_>17 7 3 6 -1. + <_>17 9 3 2 3. + 0 + 0.0274848695844412 + 0.5252984762191773 + 0.1675522029399872 + <_> + + <_> + + + + <_>7 2 3 2 -1. + <_>8 2 1 2 3. + 0 + 2.2372419480234385e-003 + 0.5267782807350159 + 0.2777658104896545 + <_> + + <_> + + + + <_>11 4 5 3 -1. + <_>11 5 5 1 3. + 0 + -8.8635291904211044e-003 + 0.6954557895660400 + 0.4812048971652985 + <_> + + <_> + + + + <_>4 4 5 3 -1. + <_>4 5 5 1 3. + 0 + 4.1753971017897129e-003 + 0.4291887879371643 + 0.6349195837974548 + <_> + + <_> + + + + <_>19 3 1 2 -1. + <_>19 4 1 1 2. + 0 + -1.7098189564421773e-003 + 0.2930536866188049 + 0.5361248850822449 + <_> + + <_> + + + + <_>5 5 4 3 -1. + <_>5 6 4 1 3. + 0 + 6.5328548662364483e-003 + 0.4495325088500977 + 0.7409694194793701 + <_> + + <_> + + + + <_>17 7 3 6 -1. + <_>17 9 3 2 3. + 0 + -9.5372907817363739e-003 + 0.3149119913578033 + 0.5416501760482788 + <_> + + <_> + + + + <_>0 7 3 6 -1. + <_>0 9 3 2 3. + 0 + 0.0253109894692898 + 0.5121892094612122 + 0.1311707943677902 + <_> + + <_> + + + + <_>14 2 6 9 -1. + <_>14 5 6 3 3. + 0 + 0.0364609695971012 + 0.5175911784172058 + 0.2591339945793152 + <_> + + <_> + + + + <_>0 4 5 6 -1. + <_>0 6 5 2 3. + 0 + 0.0208543296903372 + 0.5137140154838562 + 0.1582316011190414 + <_> + + <_> + + + + <_>10 5 6 2 -1. + <_>12 5 2 2 3. + 0 + -8.7207747856155038e-004 + 0.5574309825897217 + 0.4398978948593140 + <_> + + <_> + + + + <_>4 5 6 2 -1. + <_>6 5 2 2 3. + 0 + -1.5227000403683633e-005 + 0.5548940896987915 + 0.3708069920539856 + <_> + + <_> + + + + <_>8 1 4 6 -1. + <_>8 3 4 2 3. + 0 + -8.4316509310156107e-004 + 0.3387419879436493 + 0.5554211139678955 + <_> + + <_> + + + + <_>0 2 3 6 -1. + <_>0 4 3 2 3. + 0 + 3.6037859972566366e-003 + 0.5358061790466309 + 0.3411171138286591 + <_> + + <_> + + + + <_>6 6 8 3 -1. + <_>6 7 8 1 3. + 0 + -6.8057891912758350e-003 + 0.6125202775001526 + 0.4345862865447998 + <_> + + <_> + + + + <_>0 1 5 9 -1. + <_>0 4 5 3 3. + 0 + -0.0470216609537601 + 0.2358165979385376 + 0.5193738937377930 + <_> + + <_> + + + + <_>16 0 4 15 -1. + <_>16 0 2 15 2. + 0 + -0.0369541086256504 + 0.7323111295700073 + 0.4760943949222565 + <_> + + <_> + + + + <_>1 10 3 2 -1. + <_>1 11 3 1 2. + 0 + 1.0439479956403375e-003 + 0.5419455170631409 + 0.3411330878734589 + <_> + + <_> + + + + <_>14 4 1 10 -1. + <_>14 9 1 5 2. + 0 + -2.1050689974799752e-004 + 0.2821694016456604 + 0.5554947257041931 + <_> + + <_> + + + + <_>0 1 4 12 -1. + <_>2 1 2 12 2. + 0 + -0.0808315873146057 + 0.9129930138587952 + 0.4697434902191162 + <_> + + <_> + + + + <_>11 11 4 2 -1. + <_>11 11 2 2 2. + 0 + -3.6579059087671340e-004 + 0.6022670269012451 + 0.3978292942047119 + <_> + + <_> + + + + <_>5 11 4 2 -1. + <_>7 11 2 2 2. + 0 + -1.2545920617412776e-004 + 0.5613213181495667 + 0.3845539987087250 + <_> + + <_> + + + + <_>3 8 15 5 -1. + <_>8 8 5 5 3. + 0 + -0.0687864869832993 + 0.2261611968278885 + 0.5300496816635132 + <_> + + <_> + + + + <_>0 0 6 10 -1. + <_>3 0 3 10 2. + 0 + 0.0124157899990678 + 0.4075691998004913 + 0.5828812122344971 + <_> + + <_> + + + + <_>11 4 3 2 -1. + <_>12 4 1 2 3. + 0 + -4.7174817882478237e-003 + 0.2827253937721252 + 0.5267757773399353 + <_> + + <_> + + + + <_>8 12 3 8 -1. + <_>8 16 3 4 2. + 0 + 0.0381368584930897 + 0.5074741244316101 + 0.1023615971207619 + <_> + + <_> + + + + <_>8 14 5 3 -1. + <_>8 15 5 1 3. + 0 + -2.8168049175292253e-003 + 0.6169006824493408 + 0.4359692931175232 + <_> + + <_> + + + + <_>7 14 4 3 -1. + <_>7 15 4 1 3. + 0 + 8.1303603947162628e-003 + 0.4524433016777039 + 0.7606095075607300 + <_> + + <_> + + + + <_>11 4 3 2 -1. + <_>12 4 1 2 3. + 0 + 6.0056019574403763e-003 + 0.5240408778190613 + 0.1859712004661560 + <_> + + <_> + + + + <_>3 15 14 4 -1. + <_>3 15 7 2 2. + <_>10 17 7 2 2. + 0 + 0.0191393196582794 + 0.5209379196166992 + 0.2332071959972382 + <_> + + <_> + + + + <_>2 2 16 4 -1. + <_>10 2 8 2 2. + <_>2 4 8 2 2. + 0 + 0.0164457596838474 + 0.5450702905654907 + 0.3264234960079193 + <_> + + <_> + + + + <_>0 8 6 12 -1. + <_>3 8 3 12 2. + 0 + -0.0373568907380104 + 0.6999046802520752 + 0.4533241987228394 + <_> + + <_> + + + + <_>5 7 10 2 -1. + <_>5 7 5 2 2. + 0 + -0.0197279006242752 + 0.2653664946556091 + 0.5412809848785400 + <_> + + <_> + + + + <_>9 7 2 5 -1. + <_>10 7 1 5 2. + 0 + 6.6972579807043076e-003 + 0.4480566084384918 + 0.7138652205467224 + <_> + + <_> + + + + <_>13 7 6 4 -1. + <_>16 7 3 2 2. + <_>13 9 3 2 2. + 0 + 7.4457528535276651e-004 + 0.4231350123882294 + 0.5471320152282715 + <_> + + <_> + + + + <_>0 13 8 2 -1. + <_>0 14 8 1 2. + 0 + 1.1790640419349074e-003 + 0.5341702103614807 + 0.3130455017089844 + <_> + + <_> + + + + <_>13 7 6 4 -1. + <_>16 7 3 2 2. + <_>13 9 3 2 2. + 0 + 0.0349806100130081 + 0.5118659734725952 + 0.3430530130863190 + <_> + + <_> + + + + <_>1 7 6 4 -1. + <_>1 7 3 2 2. + <_>4 9 3 2 2. + 0 + 5.6859792675822973e-004 + 0.3532187044620514 + 0.5468639731407166 + <_> + + <_> + + + + <_>12 6 1 12 -1. + <_>12 12 1 6 2. + 0 + -0.0113406497985125 + 0.2842353880405426 + 0.5348700881004334 + <_> + + <_> + + + + <_>9 5 2 6 -1. + <_>10 5 1 6 2. + 0 + -6.6228108480572701e-003 + 0.6883640289306641 + 0.4492664933204651 + <_> + + <_> + + + + <_>14 12 2 3 -1. + <_>14 13 2 1 3. + 0 + -8.0160330981016159e-003 + 0.1709893941879273 + 0.5224308967590332 + <_> + + <_> + + + + <_>4 12 2 3 -1. + <_>4 13 2 1 3. + 0 + 1.4206819469109178e-003 + 0.5290846228599548 + 0.2993383109569550 + <_> + + <_> + + + + <_>8 12 4 3 -1. + <_>8 13 4 1 3. + 0 + -2.7801711112260818e-003 + 0.6498854160308838 + 0.4460499882698059 + <_> + + <_> + + + + <_>5 2 2 4 -1. + <_>5 2 1 2 2. + <_>6 4 1 2 2. + 0 + -1.4747589593753219e-003 + 0.3260438144207001 + 0.5388113260269165 + <_> + + <_> + + + + <_>5 5 11 3 -1. + <_>5 6 11 1 3. + 0 + -0.0238303393125534 + 0.7528941035270691 + 0.4801219999790192 + <_> + + <_> + + + + <_>7 6 4 12 -1. + <_>7 12 4 6 2. + 0 + 6.9369790144264698e-003 + 0.5335165858268738 + 0.3261427879333496 + <_> + + <_> + + + + <_>12 13 8 5 -1. + <_>12 13 4 5 2. + 0 + 8.2806255668401718e-003 + 0.4580394029617310 + 0.5737829804420471 + <_> + + <_> + + + + <_>7 6 1 12 -1. + <_>7 12 1 6 2. + 0 + -0.0104395002126694 + 0.2592320144176483 + 0.5233827829360962 + 34.5541114807128910 + 8 + -1 + <_> + + + <_> + + <_> + + + + <_>1 2 6 3 -1. + <_>4 2 3 3 2. + 0 + 7.2006587870419025e-003 + 0.3258886039257050 + 0.6849808096885681 + <_> + + <_> + + + + <_>9 5 6 10 -1. + <_>12 5 3 5 2. + <_>9 10 3 5 2. + 0 + -2.8593589086085558e-003 + 0.5838881134986877 + 0.2537829875946045 + <_> + + <_> + + + + <_>5 5 8 12 -1. + <_>5 5 4 6 2. + <_>9 11 4 6 2. + 0 + 6.8580528022721410e-004 + 0.5708081722259522 + 0.2812424004077911 + <_> + + <_> + + + + <_>0 7 20 6 -1. + <_>0 9 20 2 3. + 0 + 7.9580191522836685e-003 + 0.2501051127910614 + 0.5544260740280151 + <_> + + <_> + + + + <_>4 2 2 2 -1. + <_>4 3 2 1 2. + 0 + -1.2124150525778532e-003 + 0.2385368049144745 + 0.5433350205421448 + <_> + + <_> + + + + <_>4 18 12 2 -1. + <_>8 18 4 2 3. + 0 + 7.9426132142543793e-003 + 0.3955070972442627 + 0.6220757961273193 + <_> + + <_> + + + + <_>7 4 4 16 -1. + <_>7 12 4 8 2. + 0 + 2.4630590341985226e-003 + 0.5639708042144775 + 0.2992357909679413 + <_> + + <_> + + + + <_>7 6 7 8 -1. + <_>7 10 7 4 2. + 0 + -6.0396599583327770e-003 + 0.2186512947082520 + 0.5411676764488220 + <_> + + <_> + + + + <_>6 3 3 1 -1. + <_>7 3 1 1 3. + 0 + -1.2988339876756072e-003 + 0.2350706011056900 + 0.5364584922790527 + <_> + + <_> + + + + <_>11 15 2 4 -1. + <_>11 17 2 2 2. + 0 + 2.2299369447864592e-004 + 0.3804112970829010 + 0.5729606151580811 + <_> + + <_> + + + + <_>3 5 4 8 -1. + <_>3 9 4 4 2. + 0 + 1.4654280385002494e-003 + 0.2510167956352234 + 0.5258268713951111 + <_> + + <_> + + + + <_>7 1 6 12 -1. + <_>7 7 6 6 2. + 0 + -8.1210042117163539e-004 + 0.5992823839187622 + 0.3851158916950226 + <_> + + <_> + + + + <_>4 6 6 2 -1. + <_>6 6 2 2 3. + 0 + -1.3836020370945334e-003 + 0.5681396126747131 + 0.3636586964130402 + <_> + + <_> + + + + <_>16 4 4 6 -1. + <_>16 6 4 2 3. + 0 + -0.0279364492744207 + 0.1491317003965378 + 0.5377560257911682 + <_> + + <_> + + + + <_>3 3 5 2 -1. + <_>3 4 5 1 2. + 0 + -4.6919551095925272e-004 + 0.3692429959774017 + 0.5572484731674194 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -4.9829659983515739e-003 + 0.6758509278297424 + 0.4532504081726074 + <_> + + <_> + + + + <_>2 16 4 2 -1. + <_>2 17 4 1 2. + 0 + 1.8815309740602970e-003 + 0.5368022918701172 + 0.2932539880275726 + <_> + + <_> + + + + <_>7 13 6 6 -1. + <_>10 13 3 3 2. + <_>7 16 3 3 2. + 0 + -0.0190675500780344 + 0.1649377048015595 + 0.5330067276954651 + <_> + + <_> + + + + <_>7 0 3 4 -1. + <_>8 0 1 4 3. + 0 + -4.6906559728085995e-003 + 0.1963925957679749 + 0.5119361877441406 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + 5.9777139686048031e-003 + 0.4671171903610230 + 0.7008398175239563 + <_> + + <_> + + + + <_>0 4 4 6 -1. + <_>0 6 4 2 3. + 0 + -0.0333031304180622 + 0.1155416965484619 + 0.5104162096977234 + <_> + + <_> + + + + <_>5 6 12 3 -1. + <_>9 6 4 3 3. + 0 + 0.0907441079616547 + 0.5149660110473633 + 0.1306173056364059 + <_> + + <_> + + + + <_>7 6 6 14 -1. + <_>9 6 2 14 3. + 0 + 9.3555898638442159e-004 + 0.3605481088161469 + 0.5439859032630920 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>10 7 1 3 3. + 0 + 0.0149016501381993 + 0.4886212050914764 + 0.7687569856643677 + <_> + + <_> + + + + <_>6 12 2 4 -1. + <_>6 14 2 2 2. + 0 + 6.1594118596985936e-004 + 0.5356813073158264 + 0.3240939080715179 + <_> + + <_> + + + + <_>10 12 7 6 -1. + <_>10 14 7 2 3. + 0 + -0.0506709888577461 + 0.1848621964454651 + 0.5230404138565064 + <_> + + <_> + + + + <_>1 0 15 2 -1. + <_>1 1 15 1 2. + 0 + 6.8665749859064817e-004 + 0.3840579986572266 + 0.5517945885658264 + <_> + + <_> + + + + <_>14 0 6 6 -1. + <_>14 0 3 6 2. + 0 + 8.3712432533502579e-003 + 0.4288564026355743 + 0.6131753921508789 + <_> + + <_> + + + + <_>5 3 3 1 -1. + <_>6 3 1 1 3. + 0 + -1.2953069526702166e-003 + 0.2913674116134644 + 0.5280737876892090 + <_> + + <_> + + + + <_>14 0 6 6 -1. + <_>14 0 3 6 2. + 0 + -0.0419416800141335 + 0.7554799914360046 + 0.4856030941009522 + <_> + + <_> + + + + <_>0 3 20 10 -1. + <_>0 8 20 5 2. + 0 + -0.0235293805599213 + 0.2838279902935028 + 0.5256081223487854 + <_> + + <_> + + + + <_>14 0 6 6 -1. + <_>14 0 3 6 2. + 0 + 0.0408574491739273 + 0.4870935082435608 + 0.6277297139167786 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0254068691283464 + 0.7099707722663879 + 0.4575029015541077 + <_> + + <_> + + + + <_>19 15 1 2 -1. + <_>19 16 1 1 2. + 0 + -4.1415440500713885e-004 + 0.4030886888504028 + 0.5469412207603455 + <_> + + <_> + + + + <_>0 2 4 8 -1. + <_>2 2 2 8 2. + 0 + 0.0218241196125746 + 0.4502024054527283 + 0.6768701076507568 + <_> + + <_> + + + + <_>2 1 18 4 -1. + <_>11 1 9 2 2. + <_>2 3 9 2 2. + 0 + 0.0141140399500728 + 0.5442860722541809 + 0.3791700005531311 + <_> + + <_> + + + + <_>8 12 1 2 -1. + <_>8 13 1 1 2. + 0 + 6.7214590671937913e-005 + 0.4200463891029358 + 0.5873476266860962 + <_> + + <_> + + + + <_>5 2 10 6 -1. + <_>10 2 5 3 2. + <_>5 5 5 3 2. + 0 + -7.9417638480663300e-003 + 0.3792561888694763 + 0.5585265755653381 + <_> + + <_> + + + + <_>9 7 2 4 -1. + <_>10 7 1 4 2. + 0 + -7.2144409641623497e-003 + 0.7253103852272034 + 0.4603548943996429 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>10 7 1 3 3. + 0 + 2.5817339774221182e-003 + 0.4693301916122437 + 0.5900238752365112 + <_> + + <_> + + + + <_>4 5 12 8 -1. + <_>8 5 4 8 3. + 0 + 0.1340931951999664 + 0.5149213075637817 + 0.1808844953775406 + <_> + + <_> + + + + <_>15 15 4 3 -1. + <_>15 16 4 1 3. + 0 + 2.2962710354477167e-003 + 0.5399743914604187 + 0.3717867136001587 + <_> + + <_> + + + + <_>8 18 3 1 -1. + <_>9 18 1 1 3. + 0 + -2.1575849968940020e-003 + 0.2408495992422104 + 0.5148863792419434 + <_> + + <_> + + + + <_>9 13 4 3 -1. + <_>9 14 4 1 3. + 0 + -4.9196188338100910e-003 + 0.6573588252067566 + 0.4738740026950836 + <_> + + <_> + + + + <_>7 13 4 3 -1. + <_>7 14 4 1 3. + 0 + 1.6267469618469477e-003 + 0.4192821979522705 + 0.6303114295005798 + <_> + + <_> + + + + <_>19 15 1 2 -1. + <_>19 16 1 1 2. + 0 + 3.3413388882763684e-004 + 0.5540298223495483 + 0.3702101111412048 + <_> + + <_> + + + + <_>0 15 8 4 -1. + <_>0 17 8 2 2. + 0 + -0.0266980808228254 + 0.1710917949676514 + 0.5101410746574402 + <_> + + <_> + + + + <_>9 3 6 4 -1. + <_>11 3 2 4 3. + 0 + -0.0305618792772293 + 0.1904218047857285 + 0.5168793797492981 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 2.8511548880487680e-003 + 0.4447506964206696 + 0.6313853859901428 + <_> + + <_> + + + + <_>3 14 14 6 -1. + <_>3 16 14 2 3. + 0 + -0.0362114794552326 + 0.2490727007389069 + 0.5377349257469177 + <_> + + <_> + + + + <_>6 3 6 6 -1. + <_>6 6 6 3 2. + 0 + -2.4115189444273710e-003 + 0.5381243228912354 + 0.3664236962795258 + <_> + + <_> + + + + <_>5 11 10 6 -1. + <_>5 14 10 3 2. + 0 + -7.7253201743587852e-004 + 0.5530232191085815 + 0.3541550040245056 + <_> + + <_> + + + + <_>3 10 3 4 -1. + <_>4 10 1 4 3. + 0 + 2.9481729143299162e-004 + 0.4132699072360992 + 0.5667243003845215 + <_> + + <_> + + + + <_>13 9 2 2 -1. + <_>13 9 1 2 2. + 0 + -6.2334560789167881e-003 + 0.0987872332334518 + 0.5198668837547302 + <_> + + <_> + + + + <_>5 3 6 4 -1. + <_>7 3 2 4 3. + 0 + -0.0262747295200825 + 0.0911274924874306 + 0.5028107166290283 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>10 7 1 3 3. + 0 + 5.3212260827422142e-003 + 0.4726648926734924 + 0.6222720742225647 + <_> + + <_> + + + + <_>2 12 2 3 -1. + <_>2 13 2 1 3. + 0 + -4.1129058226943016e-003 + 0.2157457023859024 + 0.5137804746627808 + <_> + + <_> + + + + <_>9 8 3 12 -1. + <_>9 12 3 4 3. + 0 + 3.2457809429615736e-003 + 0.5410770773887634 + 0.3721776902675629 + <_> + + <_> + + + + <_>3 14 4 6 -1. + <_>3 14 2 3 2. + <_>5 17 2 3 2. + 0 + -0.0163597092032433 + 0.7787874937057495 + 0.4685291945934296 + <_> + + <_> + + + + <_>16 15 2 2 -1. + <_>16 16 2 1 2. + 0 + 3.2166109303943813e-004 + 0.5478987097740173 + 0.4240373969078064 + <_> + + <_> + + + + <_>2 15 2 2 -1. + <_>2 16 2 1 2. + 0 + 6.4452440710738301e-004 + 0.5330560803413391 + 0.3501324951648712 + <_> + + <_> + + + + <_>8 12 4 3 -1. + <_>8 13 4 1 3. + 0 + -7.8909732401371002e-003 + 0.6923521161079407 + 0.4726569056510925 + <_> + + <_> + + + + <_>0 7 20 1 -1. + <_>10 7 10 1 2. + 0 + 0.0483362115919590 + 0.5055900216102600 + 0.0757492035627365 + <_> + + <_> + + + + <_>7 6 8 3 -1. + <_>7 6 4 3 2. + 0 + -7.5178127735853195e-004 + 0.3783741891384125 + 0.5538573861122131 + <_> + + <_> + + + + <_>5 7 8 2 -1. + <_>9 7 4 2 2. + 0 + -2.4953910615295172e-003 + 0.3081651031970978 + 0.5359612107276917 + <_> + + <_> + + + + <_>9 7 3 5 -1. + <_>10 7 1 5 3. + 0 + -2.2385010961443186e-003 + 0.6633958816528320 + 0.4649342894554138 + <_> + + <_> + + + + <_>8 7 3 5 -1. + <_>9 7 1 5 3. + 0 + -1.7988430336117744e-003 + 0.6596844792366028 + 0.4347187876701355 + <_> + + <_> + + + + <_>11 1 3 5 -1. + <_>12 1 1 5 3. + 0 + 8.7860915809869766e-003 + 0.5231832861900330 + 0.2315579950809479 + <_> + + <_> + + + + <_>6 2 3 6 -1. + <_>7 2 1 6 3. + 0 + 3.6715380847454071e-003 + 0.5204250216484070 + 0.2977376878261566 + <_> + + <_> + + + + <_>14 14 6 5 -1. + <_>14 14 3 5 2. + 0 + -0.0353364497423172 + 0.7238878011703491 + 0.4861505031585693 + <_> + + <_> + + + + <_>9 8 2 2 -1. + <_>9 9 2 1 2. + 0 + -6.9189240457490087e-004 + 0.3105022013187408 + 0.5229824781417847 + <_> + + <_> + + + + <_>10 7 1 3 -1. + <_>10 8 1 1 3. + 0 + -3.3946109469980001e-003 + 0.3138968050479889 + 0.5210173726081848 + <_> + + <_> + + + + <_>6 6 2 2 -1. + <_>6 6 1 1 2. + <_>7 7 1 1 2. + 0 + 9.8569283727556467e-004 + 0.4536580145359039 + 0.6585097908973694 + <_> + + <_> + + + + <_>2 11 18 4 -1. + <_>11 11 9 2 2. + <_>2 13 9 2 2. + 0 + -0.0501631014049053 + 0.1804454028606415 + 0.5198916792869568 + <_> + + <_> + + + + <_>6 6 2 2 -1. + <_>6 6 1 1 2. + <_>7 7 1 1 2. + 0 + -2.2367259953171015e-003 + 0.7255702018737793 + 0.4651359021663666 + <_> + + <_> + + + + <_>0 15 20 2 -1. + <_>0 16 20 1 2. + 0 + 7.4326287722215056e-004 + 0.4412921071052551 + 0.5898545980453491 + <_> + + <_> + + + + <_>4 14 2 3 -1. + <_>4 15 2 1 3. + 0 + -9.3485182151198387e-004 + 0.3500052988529205 + 0.5366017818450928 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 0.0174979399889708 + 0.4912194907665253 + 0.8315284848213196 + <_> + + <_> + + + + <_>8 7 2 3 -1. + <_>8 8 2 1 3. + 0 + -1.5200000489130616e-003 + 0.3570275902748108 + 0.5370560288429260 + <_> + + <_> + + + + <_>9 10 2 3 -1. + <_>9 11 2 1 3. + 0 + 7.8003940870985389e-004 + 0.4353772103786469 + 0.5967335104942322 + 39.1072883605957030 + 9 + -1 + <_> + + + <_> + + <_> + + + + <_>5 4 10 4 -1. + <_>5 6 10 2 2. + 0 + -9.9945552647113800e-003 + 0.6162583231925964 + 0.3054533004760742 + <_> + + <_> + + + + <_>9 7 6 4 -1. + <_>12 7 3 2 2. + <_>9 9 3 2 2. + 0 + -1.1085229925811291e-003 + 0.5818294882774353 + 0.3155578076839447 + <_> + + <_> + + + + <_>4 7 3 6 -1. + <_>4 9 3 2 3. + 0 + 1.0364380432292819e-003 + 0.2552052140235901 + 0.5692911744117737 + <_> + + <_> + + + + <_>11 15 4 4 -1. + <_>13 15 2 2 2. + <_>11 17 2 2 2. + 0 + 6.8211311008781195e-004 + 0.3685089945793152 + 0.5934931039810181 + <_> + + <_> + + + + <_>7 8 4 2 -1. + <_>7 9 4 1 2. + 0 + -6.8057340104132891e-004 + 0.2332392036914825 + 0.5474792122840881 + <_> + + <_> + + + + <_>13 1 4 3 -1. + <_>13 1 2 3 2. + 0 + 2.6068789884448051e-004 + 0.3257457017898560 + 0.5667545795440674 + <_> + + <_> + + + + <_>5 15 4 4 -1. + <_>5 15 2 2 2. + <_>7 17 2 2 2. + 0 + 5.1607372006401420e-004 + 0.3744716942310333 + 0.5845472812652588 + <_> + + <_> + + + + <_>9 5 4 7 -1. + <_>9 5 2 7 2. + 0 + 8.5007521556690335e-004 + 0.3420371115207672 + 0.5522807240486145 + <_> + + <_> + + + + <_>5 6 8 3 -1. + <_>9 6 4 3 2. + 0 + -1.8607829697430134e-003 + 0.2804419994354248 + 0.5375424027442932 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -1.5033970121294260e-003 + 0.2579050958156586 + 0.5498952269554138 + <_> + + <_> + + + + <_>7 15 5 3 -1. + <_>7 16 5 1 3. + 0 + 2.3478909861296415e-003 + 0.4175156056880951 + 0.6313710808753967 + <_> + + <_> + + + + <_>11 10 4 3 -1. + <_>11 10 2 3 2. + 0 + -2.8880240279249847e-004 + 0.5865169763565064 + 0.4052666127681732 + <_> + + <_> + + + + <_>6 9 8 10 -1. + <_>6 14 8 5 2. + 0 + 8.9405477046966553e-003 + 0.5211141109466553 + 0.2318654060363770 + <_> + + <_> + + + + <_>10 11 6 2 -1. + <_>10 11 3 2 2. + 0 + -0.0193277392536402 + 0.2753432989120483 + 0.5241525769233704 + <_> + + <_> + + + + <_>4 11 6 2 -1. + <_>7 11 3 2 2. + 0 + -2.0202060113660991e-004 + 0.5722978711128235 + 0.3677195906639099 + <_> + + <_> + + + + <_>11 3 8 1 -1. + <_>11 3 4 1 2. + 0 + 2.1179069299250841e-003 + 0.4466108083724976 + 0.5542430877685547 + <_> + + <_> + + + + <_>6 3 3 2 -1. + <_>7 3 1 2 3. + 0 + -1.7743760254234076e-003 + 0.2813253104686737 + 0.5300959944725037 + <_> + + <_> + + + + <_>14 5 6 5 -1. + <_>14 5 3 5 2. + 0 + 4.2234458960592747e-003 + 0.4399709999561310 + 0.5795428156852722 + <_> + + <_> + + + + <_>7 5 2 12 -1. + <_>7 11 2 6 2. + 0 + -0.0143752200528979 + 0.2981117963790894 + 0.5292059183120728 + <_> + + <_> + + + + <_>8 11 4 3 -1. + <_>8 12 4 1 3. + 0 + -0.0153491804376245 + 0.7705215215682983 + 0.4748171865940094 + <_> + + <_> + + + + <_>4 1 2 3 -1. + <_>5 1 1 3 2. + 0 + 1.5152279956964776e-005 + 0.3718844056129456 + 0.5576897263526917 + <_> + + <_> + + + + <_>18 3 2 6 -1. + <_>18 5 2 2 3. + 0 + -9.1293919831514359e-003 + 0.3615196049213409 + 0.5286766886711121 + <_> + + <_> + + + + <_>0 3 2 6 -1. + <_>0 5 2 2 3. + 0 + 2.2512159775942564e-003 + 0.5364704728126526 + 0.3486298024654388 + <_> + + <_> + + + + <_>9 12 2 3 -1. + <_>9 13 2 1 3. + 0 + -4.9696918576955795e-003 + 0.6927651762962341 + 0.4676836133003235 + <_> + + <_> + + + + <_>7 13 4 3 -1. + <_>7 14 4 1 3. + 0 + -0.0128290103748441 + 0.7712153792381287 + 0.4660735130310059 + <_> + + <_> + + + + <_>18 0 2 6 -1. + <_>18 2 2 2 3. + 0 + -9.3660065904259682e-003 + 0.3374983966350555 + 0.5351287722587585 + <_> + + <_> + + + + <_>0 0 2 6 -1. + <_>0 2 2 2 3. + 0 + 3.2452319283038378e-003 + 0.5325189828872681 + 0.3289610147476196 + <_> + + <_> + + + + <_>8 14 6 3 -1. + <_>8 15 6 1 3. + 0 + -0.0117235602810979 + 0.6837652921676636 + 0.4754300117492676 + <_> + + <_> + + + + <_>7 4 2 4 -1. + <_>8 4 1 4 2. + 0 + 2.9257940695970319e-005 + 0.3572087883949280 + 0.5360502004623413 + <_> + + <_> + + + + <_>8 5 4 6 -1. + <_>8 7 4 2 3. + 0 + -2.2244219508138485e-005 + 0.5541427135467529 + 0.3552064001560211 + <_> + + <_> + + + + <_>6 4 2 2 -1. + <_>7 4 1 2 2. + 0 + 5.0881509669125080e-003 + 0.5070844292640686 + 0.1256462037563324 + <_> + + <_> + + + + <_>3 14 14 4 -1. + <_>10 14 7 2 2. + <_>3 16 7 2 2. + 0 + 0.0274296794086695 + 0.5269560217857361 + 0.1625818014144898 + <_> + + <_> + + + + <_>6 15 6 2 -1. + <_>6 15 3 1 2. + <_>9 16 3 1 2. + 0 + -6.4142867922782898e-003 + 0.7145588994026184 + 0.4584197103977203 + <_> + + <_> + + + + <_>14 15 6 2 -1. + <_>14 16 6 1 2. + 0 + 3.3479959238320589e-003 + 0.5398612022399902 + 0.3494696915149689 + <_> + + <_> + + + + <_>2 12 12 8 -1. + <_>2 16 12 4 2. + 0 + -0.0826354920864105 + 0.2439192980527878 + 0.5160226225852966 + <_> + + <_> + + + + <_>7 7 7 2 -1. + <_>7 8 7 1 2. + 0 + 1.0261740535497665e-003 + 0.3886891901493073 + 0.5767908096313477 + <_> + + <_> + + + + <_>0 2 18 2 -1. + <_>0 3 18 1 2. + 0 + -1.6307090409100056e-003 + 0.3389458060264587 + 0.5347700715065002 + <_> + + <_> + + + + <_>9 6 2 5 -1. + <_>9 6 1 5 2. + 0 + 2.4546680506318808e-003 + 0.4601413905620575 + 0.6387246847152710 + <_> + + <_> + + + + <_>7 5 3 8 -1. + <_>8 5 1 8 3. + 0 + -9.9476519972085953e-004 + 0.5769879221916199 + 0.4120396077632904 + <_> + + <_> + + + + <_>9 6 3 4 -1. + <_>10 6 1 4 3. + 0 + 0.0154091902077198 + 0.4878709018230438 + 0.7089822292327881 + <_> + + <_> + + + + <_>4 13 3 2 -1. + <_>4 14 3 1 2. + 0 + 1.1784400558099151e-003 + 0.5263553261756897 + 0.2895244956016541 + <_> + + <_> + + + + <_>9 4 6 3 -1. + <_>11 4 2 3 3. + 0 + -0.0277019198983908 + 0.1498828977346420 + 0.5219606757164002 + <_> + + <_> + + + + <_>5 4 6 3 -1. + <_>7 4 2 3 3. + 0 + -0.0295053999871016 + 0.0248933192342520 + 0.4999816119670868 + <_> + + <_> + + + + <_>14 11 5 2 -1. + <_>14 12 5 1 2. + 0 + 4.5159430010244250e-004 + 0.5464622974395752 + 0.4029662907123566 + <_> + + <_> + + + + <_>1 2 6 9 -1. + <_>3 2 2 9 3. + 0 + 7.1772639639675617e-003 + 0.4271056950092316 + 0.5866296887397766 + <_> + + <_> + + + + <_>14 6 6 13 -1. + <_>14 6 3 13 2. + 0 + -0.0741820484399796 + 0.6874179244041443 + 0.4919027984142304 + <_> + + <_> + + + + <_>3 6 14 8 -1. + <_>3 6 7 4 2. + <_>10 10 7 4 2. + 0 + -0.0172541607171297 + 0.3370676040649414 + 0.5348739027976990 + <_> + + <_> + + + + <_>16 0 4 11 -1. + <_>16 0 2 11 2. + 0 + 0.0148515598848462 + 0.4626792967319489 + 0.6129904985427856 + <_> + + <_> + + + + <_>3 4 12 12 -1. + <_>3 4 6 6 2. + <_>9 10 6 6 2. + 0 + 0.0100020002573729 + 0.5346122980117798 + 0.3423453867435455 + <_> + + <_> + + + + <_>11 4 5 3 -1. + <_>11 5 5 1 3. + 0 + 2.0138120744377375e-003 + 0.4643830060958862 + 0.5824304223060608 + <_> + + <_> + + + + <_>4 11 4 2 -1. + <_>4 12 4 1 2. + 0 + 1.5135470312088728e-003 + 0.5196396112442017 + 0.2856149971485138 + <_> + + <_> + + + + <_>10 7 2 2 -1. + <_>10 7 1 2 2. + 0 + 3.1381431035697460e-003 + 0.4838162958621979 + 0.5958529710769653 + <_> + + <_> + + + + <_>8 7 2 2 -1. + <_>9 7 1 2 2. + 0 + -5.1450440660119057e-003 + 0.8920302987098694 + 0.4741412103176117 + <_> + + <_> + + + + <_>9 17 3 2 -1. + <_>10 17 1 2 3. + 0 + -4.4736708514392376e-003 + 0.2033942937850952 + 0.5337278842926025 + <_> + + <_> + + + + <_>5 6 3 3 -1. + <_>5 7 3 1 3. + 0 + 1.9628470763564110e-003 + 0.4571633934974670 + 0.6725863218307495 + <_> + + <_> + + + + <_>10 0 3 3 -1. + <_>11 0 1 3 3. + 0 + 5.4260450415313244e-003 + 0.5271108150482178 + 0.2845670878887177 + <_> + + <_> + + + + <_>5 6 6 2 -1. + <_>5 6 3 1 2. + <_>8 7 3 1 2. + 0 + 4.9611460417509079e-004 + 0.4138312935829163 + 0.5718597769737244 + <_> + + <_> + + + + <_>12 16 4 3 -1. + <_>12 17 4 1 3. + 0 + 9.3728788197040558e-003 + 0.5225151181221008 + 0.2804847061634064 + <_> + + <_> + + + + <_>3 12 3 2 -1. + <_>3 13 3 1 2. + 0 + 6.0500897234305739e-004 + 0.5236768722534180 + 0.3314523994922638 + <_> + + <_> + + + + <_>9 12 3 2 -1. + <_>9 13 3 1 2. + 0 + 5.6792551185935736e-004 + 0.4531059861183167 + 0.6276971101760864 + <_> + + <_> + + + + <_>1 11 16 4 -1. + <_>1 11 8 2 2. + <_>9 13 8 2 2. + 0 + 0.0246443394571543 + 0.5130851864814758 + 0.2017143964767456 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + -0.0102904504165053 + 0.7786595225334168 + 0.4876641035079956 + <_> + + <_> + + + + <_>4 4 5 3 -1. + <_>4 5 5 1 3. + 0 + 2.0629419013857841e-003 + 0.4288598895072937 + 0.5881264209747315 + <_> + + <_> + + + + <_>12 16 4 3 -1. + <_>12 17 4 1 3. + 0 + -5.0519481301307678e-003 + 0.3523977994918823 + 0.5286008715629578 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + -5.7692620903253555e-003 + 0.6841086149215698 + 0.4588094055652618 + <_> + + <_> + + + + <_>9 0 2 2 -1. + <_>9 1 2 1 2. + 0 + -4.5789941214025021e-004 + 0.3565520048141480 + 0.5485978126525879 + <_> + + <_> + + + + <_>8 9 4 2 -1. + <_>8 10 4 1 2. + 0 + -7.5918837683275342e-004 + 0.3368793129920960 + 0.5254197120666504 + <_> + + <_> + + + + <_>8 8 4 3 -1. + <_>8 9 4 1 3. + 0 + -1.7737259622663260e-003 + 0.3422161042690277 + 0.5454015135765076 + <_> + + <_> + + + + <_>0 13 6 3 -1. + <_>2 13 2 3 3. + 0 + -8.5610467940568924e-003 + 0.6533612012863159 + 0.4485856890678406 + <_> + + <_> + + + + <_>16 14 3 2 -1. + <_>16 15 3 1 2. + 0 + 1.7277270089834929e-003 + 0.5307580232620239 + 0.3925352990627289 + <_> + + <_> + + + + <_>1 18 18 2 -1. + <_>7 18 6 2 3. + 0 + -0.0281996093690395 + 0.6857458949089050 + 0.4588584005832672 + <_> + + <_> + + + + <_>16 14 3 2 -1. + <_>16 15 3 1 2. + 0 + -1.7781109781935811e-003 + 0.4037851095199585 + 0.5369856953620911 + <_> + + <_> + + + + <_>1 14 3 2 -1. + <_>1 15 3 1 2. + 0 + 3.3177141449414194e-004 + 0.5399798750877380 + 0.3705750107765198 + <_> + + <_> + + + + <_>7 14 6 3 -1. + <_>7 15 6 1 3. + 0 + 2.6385399978607893e-003 + 0.4665437042713165 + 0.6452730894088745 + <_> + + <_> + + + + <_>5 14 8 3 -1. + <_>5 15 8 1 3. + 0 + -2.1183069329708815e-003 + 0.5914781093597412 + 0.4064677059650421 + <_> + + <_> + + + + <_>10 6 4 14 -1. + <_>10 6 2 14 2. + 0 + -0.0147732896730304 + 0.3642038106918335 + 0.5294762849807739 + <_> + + <_> + + + + <_>6 6 4 14 -1. + <_>8 6 2 14 2. + 0 + -0.0168154407292604 + 0.2664231956005096 + 0.5144972801208496 + <_> + + <_> + + + + <_>13 5 2 3 -1. + <_>13 6 2 1 3. + 0 + -6.3370140269398689e-003 + 0.6779531240463257 + 0.4852097928524017 + <_> + + <_> + + + + <_>7 16 6 1 -1. + <_>9 16 2 1 3. + 0 + -4.4560048991115764e-005 + 0.5613964796066284 + 0.4153054058551788 + <_> + + <_> + + + + <_>9 12 3 3 -1. + <_>9 13 3 1 3. + 0 + -1.0240620467811823e-003 + 0.5964478254318237 + 0.4566304087638855 + <_> + + <_> + + + + <_>7 0 3 3 -1. + <_>8 0 1 3 3. + 0 + -2.3161689750850201e-003 + 0.2976115047931671 + 0.5188159942626953 + <_> + + <_> + + + + <_>4 0 16 18 -1. + <_>4 9 16 9 2. + 0 + 0.5321757197380066 + 0.5187839269638062 + 0.2202631980180740 + <_> + + <_> + + + + <_>1 1 16 14 -1. + <_>1 8 16 7 2. + 0 + -0.1664305031299591 + 0.1866022944450378 + 0.5060343146324158 + <_> + + <_> + + + + <_>3 9 15 4 -1. + <_>8 9 5 4 3. + 0 + 0.1125352978706360 + 0.5212125182151794 + 0.1185022965073586 + <_> + + <_> + + + + <_>6 12 7 3 -1. + <_>6 13 7 1 3. + 0 + 9.3046864494681358e-003 + 0.4589937031269074 + 0.6826149225234985 + <_> + + <_> + + + + <_>14 15 2 3 -1. + <_>14 16 2 1 3. + 0 + -4.6255099587142467e-003 + 0.3079940974712372 + 0.5225008726119995 + <_> + + <_> + + + + <_>2 3 16 14 -1. + <_>2 3 8 7 2. + <_>10 10 8 7 2. + 0 + -0.1111646965146065 + 0.2101044058799744 + 0.5080801844596863 + <_> + + <_> + + + + <_>16 2 4 18 -1. + <_>18 2 2 9 2. + <_>16 11 2 9 2. + 0 + -0.0108884396031499 + 0.5765355229377747 + 0.4790464043617249 + <_> + + <_> + + + + <_>4 15 2 3 -1. + <_>4 16 2 1 3. + 0 + 5.8564301580190659e-003 + 0.5065100193023682 + 0.1563598960638046 + <_> + + <_> + + + + <_>16 2 4 18 -1. + <_>18 2 2 9 2. + <_>16 11 2 9 2. + 0 + 0.0548543892800808 + 0.4966914951801300 + 0.7230510711669922 + <_> + + <_> + + + + <_>1 1 8 3 -1. + <_>1 2 8 1 3. + 0 + -0.0111973397433758 + 0.2194979041814804 + 0.5098798274993897 + <_> + + <_> + + + + <_>8 11 4 3 -1. + <_>8 12 4 1 3. + 0 + 4.4069071300327778e-003 + 0.4778401851654053 + 0.6770902872085571 + <_> + + <_> + + + + <_>5 11 5 9 -1. + <_>5 14 5 3 3. + 0 + -0.0636652931571007 + 0.1936362981796265 + 0.5081024169921875 + <_> + + <_> + + + + <_>16 0 4 11 -1. + <_>16 0 2 11 2. + 0 + -9.8081491887569427e-003 + 0.5999063253402710 + 0.4810341000556946 + <_> + + <_> + + + + <_>7 0 6 1 -1. + <_>9 0 2 1 3. + 0 + -2.1717099007219076e-003 + 0.3338333964347839 + 0.5235472917556763 + <_> + + <_> + + + + <_>16 3 3 7 -1. + <_>17 3 1 7 3. + 0 + -0.0133155202493072 + 0.6617069840431213 + 0.4919213056564331 + <_> + + <_> + + + + <_>1 3 3 7 -1. + <_>2 3 1 7 3. + 0 + 2.5442079640924931e-003 + 0.4488744139671326 + 0.6082184910774231 + <_> + + <_> + + + + <_>7 8 6 12 -1. + <_>7 12 6 4 3. + 0 + 0.0120378397405148 + 0.5409392118453980 + 0.3292432129383087 + <_> + + <_> + + + + <_>0 0 4 11 -1. + <_>2 0 2 11 2. + 0 + -0.0207010507583618 + 0.6819120049476624 + 0.4594995975494385 + <_> + + <_> + + + + <_>14 0 6 20 -1. + <_>14 0 3 20 2. + 0 + 0.0276082791388035 + 0.4630792140960693 + 0.5767282843589783 + <_> + + <_> + + + + <_>0 3 1 2 -1. + <_>0 4 1 1 2. + 0 + 1.2370620388537645e-003 + 0.5165379047393799 + 0.2635016143321991 + <_> + + <_> + + + + <_>5 5 10 8 -1. + <_>10 5 5 4 2. + <_>5 9 5 4 2. + 0 + -0.0376693382859230 + 0.2536393105983734 + 0.5278980135917664 + <_> + + <_> + + + + <_>4 7 12 4 -1. + <_>4 7 6 2 2. + <_>10 9 6 2 2. + 0 + -1.8057259730994701e-003 + 0.3985156118869782 + 0.5517500042915344 + 50.6104812622070310 + 10 + -1 + <_> + + + <_> + + <_> + + + + <_>2 1 6 4 -1. + <_>5 1 3 4 2. + 0 + 4.4299028813838959e-003 + 0.2891018092632294 + 0.6335226297378540 + <_> + + <_> + + + + <_>9 7 6 4 -1. + <_>12 7 3 2 2. + <_>9 9 3 2 2. + 0 + -2.3813319858163595e-003 + 0.6211789250373840 + 0.3477487862110138 + <_> + + <_> + + + + <_>5 6 2 6 -1. + <_>5 9 2 3 2. + 0 + 2.2915711160749197e-003 + 0.2254412025213242 + 0.5582118034362793 + <_> + + <_> + + + + <_>9 16 6 4 -1. + <_>12 16 3 2 2. + <_>9 18 3 2 2. + 0 + 9.9457940086722374e-004 + 0.3711710870265961 + 0.5930070877075195 + <_> + + <_> + + + + <_>9 4 2 12 -1. + <_>9 10 2 6 2. + 0 + 7.7164667891338468e-004 + 0.5651720166206360 + 0.3347995877265930 + <_> + + <_> + + + + <_>7 1 6 18 -1. + <_>9 1 2 18 3. + 0 + -1.1386410333216190e-003 + 0.3069126009941101 + 0.5508630871772766 + <_> + + <_> + + + + <_>4 12 12 2 -1. + <_>8 12 4 2 3. + 0 + -1.6403039626311511e-004 + 0.5762827992439270 + 0.3699047863483429 + <_> + + <_> + + + + <_>8 8 6 2 -1. + <_>8 9 6 1 2. + 0 + 2.9793529392918572e-005 + 0.2644244134426117 + 0.5437911152839661 + <_> + + <_> + + + + <_>8 0 3 6 -1. + <_>9 0 1 6 3. + 0 + 8.5774902254343033e-003 + 0.5051138997077942 + 0.1795724928379059 + <_> + + <_> + + + + <_>11 18 3 2 -1. + <_>11 19 3 1 2. + 0 + -2.6032689493149519e-004 + 0.5826969146728516 + 0.4446826875209808 + <_> + + <_> + + + + <_>1 1 17 4 -1. + <_>1 3 17 2 2. + 0 + -6.1404630541801453e-003 + 0.3113852143287659 + 0.5346971750259399 + <_> + + <_> + + + + <_>11 8 4 12 -1. + <_>11 8 2 12 2. + 0 + -0.0230869501829147 + 0.3277946114540100 + 0.5331197977066040 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + -0.0142436502501369 + 0.7381709814071655 + 0.4588063061237335 + <_> + + <_> + + + + <_>12 3 2 17 -1. + <_>12 3 1 17 2. + 0 + 0.0194871295243502 + 0.5256630778312683 + 0.2274471968412399 + <_> + + <_> + + + + <_>4 7 6 1 -1. + <_>6 7 2 1 3. + 0 + -9.6681108698248863e-004 + 0.5511230826377869 + 0.3815006911754608 + <_> + + <_> + + + + <_>18 3 2 3 -1. + <_>18 4 2 1 3. + 0 + 3.1474709976464510e-003 + 0.5425636768341065 + 0.2543726861476898 + <_> + + <_> + + + + <_>8 4 3 4 -1. + <_>8 6 3 2 2. + 0 + -1.8026070029009134e-004 + 0.5380191802978516 + 0.3406304121017456 + <_> + + <_> + + + + <_>4 5 12 10 -1. + <_>4 10 12 5 2. + 0 + -6.0266260989010334e-003 + 0.3035801947116852 + 0.5420572161674500 + <_> + + <_> + + + + <_>5 18 4 2 -1. + <_>7 18 2 2 2. + 0 + 4.4462960795499384e-004 + 0.3990997076034546 + 0.5660110116004944 + <_> + + <_> + + + + <_>17 2 3 6 -1. + <_>17 4 3 2 3. + 0 + 2.2609760053455830e-003 + 0.5562806725502014 + 0.3940688073635101 + <_> + + <_> + + + + <_>7 7 6 6 -1. + <_>9 7 2 6 3. + 0 + 0.0511330589652061 + 0.4609653949737549 + 0.7118561863899231 + <_> + + <_> + + + + <_>17 2 3 6 -1. + <_>17 4 3 2 3. + 0 + -0.0177863091230392 + 0.2316166013479233 + 0.5322144031524658 + <_> + + <_> + + + + <_>8 0 3 4 -1. + <_>9 0 1 4 3. + 0 + -4.9679628573358059e-003 + 0.2330771982669830 + 0.5122029185295105 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 2.0667689386755228e-003 + 0.4657444059848785 + 0.6455488204956055 + <_> + + <_> + + + + <_>0 12 6 3 -1. + <_>0 13 6 1 3. + 0 + 7.4413768015801907e-003 + 0.5154392123222351 + 0.2361633926630020 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + -3.6277279723435640e-003 + 0.6219773292541504 + 0.4476661086082459 + <_> + + <_> + + + + <_>3 12 2 3 -1. + <_>3 13 2 1 3. + 0 + -5.3530759178102016e-003 + 0.1837355047464371 + 0.5102208256721497 + <_> + + <_> + + + + <_>5 6 12 7 -1. + <_>9 6 4 7 3. + 0 + 0.1453091949224472 + 0.5145987272262573 + 0.1535930931568146 + <_> + + <_> + + + + <_>0 2 3 6 -1. + <_>0 4 3 2 3. + 0 + 2.4394490756094456e-003 + 0.5343660116195679 + 0.3624661862850189 + <_> + + <_> + + + + <_>14 6 1 3 -1. + <_>14 7 1 1 3. + 0 + -3.1283390708267689e-003 + 0.6215007901191711 + 0.4845592081546783 + <_> + + <_> + + + + <_>2 0 3 14 -1. + <_>3 0 1 14 3. + 0 + 1.7940260004252195e-003 + 0.4299261868000031 + 0.5824198126792908 + <_> + + <_> + + + + <_>12 14 5 6 -1. + <_>12 16 5 2 3. + 0 + 0.0362538211047649 + 0.5260334014892578 + 0.1439467966556549 + <_> + + <_> + + + + <_>4 14 5 6 -1. + <_>4 16 5 2 3. + 0 + -5.1746722310781479e-003 + 0.3506538867950440 + 0.5287045240402222 + <_> + + <_> + + + + <_>11 10 2 2 -1. + <_>12 10 1 1 2. + <_>11 11 1 1 2. + 0 + 6.5383297624066472e-004 + 0.4809640944004059 + 0.6122040152549744 + <_> + + <_> + + + + <_>5 0 3 14 -1. + <_>6 0 1 14 3. + 0 + -0.0264802295714617 + 0.1139362007379532 + 0.5045586228370667 + <_> + + <_> + + + + <_>10 15 2 3 -1. + <_>10 16 2 1 3. + 0 + -3.0440660193562508e-003 + 0.6352095007896423 + 0.4794734120368958 + <_> + + <_> + + + + <_>0 2 2 3 -1. + <_>0 3 2 1 3. + 0 + 3.6993520334362984e-003 + 0.5131118297576904 + 0.2498510926961899 + <_> + + <_> + + + + <_>5 11 12 6 -1. + <_>5 14 12 3 2. + 0 + -3.6762931267730892e-004 + 0.5421394705772400 + 0.3709532022476196 + <_> + + <_> + + + + <_>6 11 3 9 -1. + <_>6 14 3 3 3. + 0 + -0.0413822606205940 + 0.1894959956407547 + 0.5081691741943359 + <_> + + <_> + + + + <_>11 10 2 2 -1. + <_>12 10 1 1 2. + <_>11 11 1 1 2. + 0 + -1.0532729793339968e-003 + 0.6454367041587830 + 0.4783608913421631 + <_> + + <_> + + + + <_>5 6 1 3 -1. + <_>5 7 1 1 3. + 0 + -2.1648600231856108e-003 + 0.6215031147003174 + 0.4499826133251190 + <_> + + <_> + + + + <_>4 9 13 3 -1. + <_>4 10 13 1 3. + 0 + -5.6747748749330640e-004 + 0.3712610900402069 + 0.5419334769248962 + <_> + + <_> + + + + <_>1 7 15 6 -1. + <_>6 7 5 6 3. + 0 + 0.1737584024667740 + 0.5023643970489502 + 0.1215742006897926 + <_> + + <_> + + + + <_>4 5 12 6 -1. + <_>8 5 4 6 3. + 0 + -2.9049699660390615e-003 + 0.3240267932415009 + 0.5381883978843689 + <_> + + <_> + + + + <_>8 10 4 3 -1. + <_>8 11 4 1 3. + 0 + 1.2299539521336555e-003 + 0.4165507853031158 + 0.5703486204147339 + <_> + + <_> + + + + <_>15 14 1 3 -1. + <_>15 15 1 1 3. + 0 + -5.4329237900674343e-004 + 0.3854042887687683 + 0.5547549128532410 + <_> + + <_> + + + + <_>1 11 5 3 -1. + <_>1 12 5 1 3. + 0 + -8.3297258242964745e-003 + 0.2204494029283524 + 0.5097082853317261 + <_> + + <_> + + + + <_>7 1 7 12 -1. + <_>7 7 7 6 2. + 0 + -1.0417630255687982e-004 + 0.5607066154479981 + 0.4303036034107208 + <_> + + <_> + + + + <_>0 1 6 10 -1. + <_>0 1 3 5 2. + <_>3 6 3 5 2. + 0 + 0.0312047004699707 + 0.4621657133102417 + 0.6982004046440125 + <_> + + <_> + + + + <_>16 1 4 3 -1. + <_>16 2 4 1 3. + 0 + 7.8943502157926559e-003 + 0.5269594192504883 + 0.2269068062305450 + <_> + + <_> + + + + <_>5 5 2 3 -1. + <_>5 6 2 1 3. + 0 + -4.3645310215651989e-003 + 0.6359223127365112 + 0.4537956118583679 + <_> + + <_> + + + + <_>12 2 3 5 -1. + <_>13 2 1 5 3. + 0 + 7.6793059706687927e-003 + 0.5274767875671387 + 0.2740483880043030 + <_> + + <_> + + + + <_>0 3 4 6 -1. + <_>0 5 4 2 3. + 0 + -0.0254311393946409 + 0.2038519978523254 + 0.5071732997894287 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>8 13 4 1 2. + 0 + 8.2000601105391979e-004 + 0.4587455093860626 + 0.6119868159294128 + <_> + + <_> + + + + <_>8 18 3 1 -1. + <_>9 18 1 1 3. + 0 + 2.9284600168466568e-003 + 0.5071274042129517 + 0.2028204947710037 + <_> + + <_> + + + + <_>11 10 2 2 -1. + <_>12 10 1 1 2. + <_>11 11 1 1 2. + 0 + 4.5256470912136137e-005 + 0.4812104105949402 + 0.5430821776390076 + <_> + + <_> + + + + <_>7 10 2 2 -1. + <_>7 10 1 1 2. + <_>8 11 1 1 2. + 0 + 1.3158309739083052e-003 + 0.4625813961029053 + 0.6779323220252991 + <_> + + <_> + + + + <_>11 11 4 4 -1. + <_>11 13 4 2 2. + 0 + 1.5870389761403203e-003 + 0.5386291742324829 + 0.3431465029716492 + <_> + + <_> + + + + <_>8 12 3 8 -1. + <_>9 12 1 8 3. + 0 + -0.0215396601706743 + 0.0259425006806850 + 0.5003222823143005 + <_> + + <_> + + + + <_>13 0 6 3 -1. + <_>13 1 6 1 3. + 0 + 0.0143344802781940 + 0.5202844738960266 + 0.1590632945299149 + <_> + + <_> + + + + <_>8 8 3 4 -1. + <_>9 8 1 4 3. + 0 + -8.3881383761763573e-003 + 0.7282481193542481 + 0.4648044109344482 + <_> + + <_> + + + + <_>5 7 10 10 -1. + <_>10 7 5 5 2. + <_>5 12 5 5 2. + 0 + 9.1906841844320297e-003 + 0.5562356710433960 + 0.3923191130161285 + <_> + + <_> + + + + <_>3 18 8 2 -1. + <_>3 18 4 1 2. + <_>7 19 4 1 2. + 0 + -5.8453059755265713e-003 + 0.6803392767906189 + 0.4629127979278565 + <_> + + <_> + + + + <_>10 2 6 8 -1. + <_>12 2 2 8 3. + 0 + -0.0547077991068363 + 0.2561671137809753 + 0.5206125974655151 + <_> + + <_> + + + + <_>4 2 6 8 -1. + <_>6 2 2 8 3. + 0 + 9.1142775490880013e-003 + 0.5189620256423950 + 0.3053877055644989 + <_> + + <_> + + + + <_>11 0 3 7 -1. + <_>12 0 1 7 3. + 0 + -0.0155750000849366 + 0.1295074969530106 + 0.5169094800949097 + <_> + + <_> + + + + <_>7 11 2 1 -1. + <_>8 11 1 1 2. + 0 + -1.2050600344082341e-004 + 0.5735098123550415 + 0.4230825006961823 + <_> + + <_> + + + + <_>15 14 1 3 -1. + <_>15 15 1 1 3. + 0 + 1.2273970060050488e-003 + 0.5289878249168396 + 0.4079791903495789 + <_> + + <_> + + + + <_>7 15 2 2 -1. + <_>7 15 1 1 2. + <_>8 16 1 1 2. + 0 + -1.2186600361019373e-003 + 0.6575639843940735 + 0.4574409127235413 + <_> + + <_> + + + + <_>15 14 1 3 -1. + <_>15 15 1 1 3. + 0 + -3.3256649039685726e-003 + 0.3628047108650208 + 0.5195019841194153 + <_> + + <_> + + + + <_>6 0 3 7 -1. + <_>7 0 1 7 3. + 0 + -0.0132883097976446 + 0.1284265965223312 + 0.5043488740921021 + <_> + + <_> + + + + <_>18 1 2 7 -1. + <_>18 1 1 7 2. + 0 + -3.3839771058410406e-003 + 0.6292240023612976 + 0.4757505953311920 + <_> + + <_> + + + + <_>2 0 8 20 -1. + <_>2 10 8 10 2. + 0 + -0.2195422053337097 + 0.1487731933593750 + 0.5065013766288757 + <_> + + <_> + + + + <_>3 0 15 6 -1. + <_>3 2 15 2 3. + 0 + 4.9111708067357540e-003 + 0.4256102144718170 + 0.5665838718414307 + <_> + + <_> + + + + <_>4 3 12 2 -1. + <_>4 4 12 1 2. + 0 + -1.8744950648397207e-004 + 0.4004144072532654 + 0.5586857199668884 + <_> + + <_> + + + + <_>16 0 4 5 -1. + <_>16 0 2 5 2. + 0 + -5.2178641781210899e-003 + 0.6009116172790527 + 0.4812706112861633 + <_> + + <_> + + + + <_>7 0 3 4 -1. + <_>8 0 1 4 3. + 0 + -1.1111519997939467e-003 + 0.3514933884143829 + 0.5287089943885803 + <_> + + <_> + + + + <_>16 0 4 5 -1. + <_>16 0 2 5 2. + 0 + 4.4036400504410267e-003 + 0.4642275869846344 + 0.5924085974693298 + <_> + + <_> + + + + <_>1 7 6 13 -1. + <_>3 7 2 13 3. + 0 + 0.1229949966073036 + 0.5025529265403748 + 0.0691524818539619 + <_> + + <_> + + + + <_>16 0 4 5 -1. + <_>16 0 2 5 2. + 0 + -0.0123135102912784 + 0.5884591937065125 + 0.4934012889862061 + <_> + + <_> + + + + <_>0 0 4 5 -1. + <_>2 0 2 5 2. + 0 + 4.1471039876341820e-003 + 0.4372239112854004 + 0.5893477797508240 + <_> + + <_> + + + + <_>14 12 3 6 -1. + <_>14 14 3 2 3. + 0 + -3.5502649843692780e-003 + 0.4327551126480103 + 0.5396270155906677 + <_> + + <_> + + + + <_>3 12 3 6 -1. + <_>3 14 3 2 3. + 0 + -0.0192242693156004 + 0.1913134008646011 + 0.5068330764770508 + <_> + + <_> + + + + <_>16 1 4 3 -1. + <_>16 2 4 1 3. + 0 + 1.4395059552043676e-003 + 0.5308178067207336 + 0.4243533015251160 + <_> + + <_> + + + + <_>8 7 2 10 -1. + <_>8 7 1 5 2. + <_>9 12 1 5 2. + 0 + -6.7751999013125896e-003 + 0.6365395784378052 + 0.4540086090564728 + <_> + + <_> + + + + <_>11 11 4 4 -1. + <_>11 13 4 2 2. + 0 + 7.0119630545377731e-003 + 0.5189834237098694 + 0.3026199936866760 + <_> + + <_> + + + + <_>0 1 4 3 -1. + <_>0 2 4 1 3. + 0 + 5.4014651104807854e-003 + 0.5105062127113342 + 0.2557682991027832 + <_> + + <_> + + + + <_>13 4 1 3 -1. + <_>13 5 1 1 3. + 0 + 9.0274988906458020e-004 + 0.4696914851665497 + 0.5861827731132507 + <_> + + <_> + + + + <_>7 15 3 5 -1. + <_>8 15 1 5 3. + 0 + 0.0114744501188397 + 0.5053645968437195 + 0.1527177989482880 + <_> + + <_> + + + + <_>9 7 3 5 -1. + <_>10 7 1 5 3. + 0 + -6.7023430019617081e-003 + 0.6508980989456177 + 0.4890604019165039 + <_> + + <_> + + + + <_>8 7 3 5 -1. + <_>9 7 1 5 3. + 0 + -2.0462959073483944e-003 + 0.6241816878318787 + 0.4514600038528442 + <_> + + <_> + + + + <_>10 6 4 14 -1. + <_>10 6 2 14 2. + 0 + -9.9951568990945816e-003 + 0.3432781100273132 + 0.5400953888893127 + <_> + + <_> + + + + <_>0 5 5 6 -1. + <_>0 7 5 2 3. + 0 + -0.0357007086277008 + 0.1878059059381485 + 0.5074077844619751 + <_> + + <_> + + + + <_>9 5 6 4 -1. + <_>9 5 3 4 2. + 0 + 4.5584561303257942e-004 + 0.3805277049541473 + 0.5402569770812988 + <_> + + <_> + + + + <_>0 0 18 10 -1. + <_>6 0 6 10 3. + 0 + -0.0542606003582478 + 0.6843714714050293 + 0.4595097005367279 + <_> + + <_> + + + + <_>10 6 4 14 -1. + <_>10 6 2 14 2. + 0 + 6.0600461438298225e-003 + 0.5502905249595642 + 0.4500527977943420 + <_> + + <_> + + + + <_>6 6 4 14 -1. + <_>8 6 2 14 2. + 0 + -6.4791832119226456e-003 + 0.3368858098983765 + 0.5310757160186768 + <_> + + <_> + + + + <_>13 4 1 3 -1. + <_>13 5 1 1 3. + 0 + -1.4939469983801246e-003 + 0.6487640142440796 + 0.4756175875663757 + <_> + + <_> + + + + <_>5 1 2 3 -1. + <_>6 1 1 3 2. + 0 + 1.4610530342906713e-005 + 0.4034579098224640 + 0.5451064109802246 + <_> + + <_> + + + + <_>18 1 2 18 -1. + <_>19 1 1 9 2. + <_>18 10 1 9 2. + 0 + -7.2321938350796700e-003 + 0.6386873722076416 + 0.4824739992618561 + <_> + + <_> + + + + <_>2 1 4 3 -1. + <_>2 2 4 1 3. + 0 + -4.0645818226039410e-003 + 0.2986421883106232 + 0.5157335996627808 + <_> + + <_> + + + + <_>18 1 2 18 -1. + <_>19 1 1 9 2. + <_>18 10 1 9 2. + 0 + 0.0304630808532238 + 0.5022199749946594 + 0.7159956097602844 + <_> + + <_> + + + + <_>1 14 4 6 -1. + <_>1 14 2 3 2. + <_>3 17 2 3 2. + 0 + -8.0544911324977875e-003 + 0.6492452025413513 + 0.4619275033473969 + <_> + + <_> + + + + <_>10 11 7 6 -1. + <_>10 13 7 2 3. + 0 + 0.0395051389932632 + 0.5150570869445801 + 0.2450613975524902 + <_> + + <_> + + + + <_>0 10 6 10 -1. + <_>0 10 3 5 2. + <_>3 15 3 5 2. + 0 + 8.4530208259820938e-003 + 0.4573669135570526 + 0.6394037008285523 + <_> + + <_> + + + + <_>11 0 3 4 -1. + <_>12 0 1 4 3. + 0 + -1.1688120430335402e-003 + 0.3865512013435364 + 0.5483661293983460 + <_> + + <_> + + + + <_>5 10 5 6 -1. + <_>5 13 5 3 2. + 0 + 2.8070670086890459e-003 + 0.5128579139709473 + 0.2701480090618134 + <_> + + <_> + + + + <_>14 6 1 8 -1. + <_>14 10 1 4 2. + 0 + 4.7365209320560098e-004 + 0.4051581919193268 + 0.5387461185455322 + <_> + + <_> + + + + <_>1 7 18 6 -1. + <_>1 7 9 3 2. + <_>10 10 9 3 2. + 0 + 0.0117410803213716 + 0.5295950174331665 + 0.3719413876533508 + <_> + + <_> + + + + <_>9 7 2 2 -1. + <_>9 7 1 2 2. + 0 + 3.1833238899707794e-003 + 0.4789406955242157 + 0.6895126104354858 + <_> + + <_> + + + + <_>5 9 4 5 -1. + <_>7 9 2 5 2. + 0 + 7.0241501089185476e-004 + 0.5384489297866821 + 0.3918080925941467 + 54.6200714111328130 + 11 + -1 + <_> + + + <_> + + <_> + + + + <_>7 6 6 3 -1. + <_>9 6 2 3 3. + 0 + 0.0170599296689034 + 0.3948527872562408 + 0.7142534852027893 + <_> + + <_> + + + + <_>1 0 18 4 -1. + <_>7 0 6 4 3. + 0 + 0.0218408405780792 + 0.3370316028594971 + 0.6090016961097717 + <_> + + <_> + + + + <_>7 15 2 4 -1. + <_>7 17 2 2 2. + 0 + 2.4520049919374287e-004 + 0.3500576019287109 + 0.5987902283668518 + <_> + + <_> + + + + <_>1 0 19 9 -1. + <_>1 3 19 3 3. + 0 + 8.3272606134414673e-003 + 0.3267528116703033 + 0.5697240829467773 + <_> + + <_> + + + + <_>3 7 3 6 -1. + <_>3 9 3 2 3. + 0 + 5.7148298947140574e-004 + 0.3044599890708923 + 0.5531656742095947 + <_> + + <_> + + + + <_>13 7 4 4 -1. + <_>15 7 2 2 2. + <_>13 9 2 2 2. + 0 + 6.7373987985774875e-004 + 0.3650012016296387 + 0.5672631263732910 + <_> + + <_> + + + + <_>3 7 4 4 -1. + <_>3 7 2 2 2. + <_>5 9 2 2 2. + 0 + 3.4681590477703139e-005 + 0.3313541114330292 + 0.5388727188110352 + <_> + + <_> + + + + <_>9 6 10 8 -1. + <_>9 10 10 4 2. + 0 + -5.8563398197293282e-003 + 0.2697942852973938 + 0.5498778820037842 + <_> + + <_> + + + + <_>3 8 14 12 -1. + <_>3 14 14 6 2. + 0 + 8.5102273151278496e-003 + 0.5269358158111572 + 0.2762879133224487 + <_> + + <_> + + + + <_>6 5 10 12 -1. + <_>11 5 5 6 2. + <_>6 11 5 6 2. + 0 + -0.0698172077536583 + 0.2909603118896484 + 0.5259246826171875 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -8.6113670840859413e-004 + 0.5892577171325684 + 0.4073697924613953 + <_> + + <_> + + + + <_>9 5 6 5 -1. + <_>9 5 3 5 2. + 0 + 9.7149249631911516e-004 + 0.3523564040660858 + 0.5415862202644348 + <_> + + <_> + + + + <_>9 4 2 4 -1. + <_>9 6 2 2 2. + 0 + -1.4727490452060010e-005 + 0.5423017740249634 + 0.3503156006336212 + <_> + + <_> + + + + <_>9 5 6 5 -1. + <_>9 5 3 5 2. + 0 + 0.0484202913939953 + 0.5193945765495300 + 0.3411195874214172 + <_> + + <_> + + + + <_>5 5 6 5 -1. + <_>8 5 3 5 2. + 0 + 1.3257140526548028e-003 + 0.3157769143581390 + 0.5335376262664795 + <_> + + <_> + + + + <_>11 2 6 1 -1. + <_>13 2 2 1 3. + 0 + 1.4922149603080470e-005 + 0.4451299905776978 + 0.5536553859710693 + <_> + + <_> + + + + <_>3 2 6 1 -1. + <_>5 2 2 1 3. + 0 + -2.7173398993909359e-003 + 0.3031741976737976 + 0.5248088836669922 + <_> + + <_> + + + + <_>13 5 2 3 -1. + <_>13 6 2 1 3. + 0 + 2.9219500720500946e-003 + 0.4781453013420105 + 0.6606041789054871 + <_> + + <_> + + + + <_>0 10 1 4 -1. + <_>0 12 1 2 2. + 0 + -1.9804988987743855e-003 + 0.3186308145523071 + 0.5287625193595886 + <_> + + <_> + + + + <_>13 5 2 3 -1. + <_>13 6 2 1 3. + 0 + -4.0012109093368053e-003 + 0.6413596868515015 + 0.4749928116798401 + <_> + + <_> + + + + <_>8 18 3 2 -1. + <_>9 18 1 2 3. + 0 + -4.3491991236805916e-003 + 0.1507498025894165 + 0.5098996758460999 + <_> + + <_> + + + + <_>6 15 9 2 -1. + <_>6 16 9 1 2. + 0 + 1.3490889687091112e-003 + 0.4316158890724182 + 0.5881167054176331 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 0.0185970701277256 + 0.4735553860664368 + 0.9089794158935547 + <_> + + <_> + + + + <_>18 4 2 4 -1. + <_>18 6 2 2 2. + 0 + -1.8562379991635680e-003 + 0.3553189039230347 + 0.5577837228775024 + <_> + + <_> + + + + <_>5 5 2 3 -1. + <_>5 6 2 1 3. + 0 + 2.2940430790185928e-003 + 0.4500094950199127 + 0.6580877900123596 + <_> + + <_> + + + + <_>15 16 3 2 -1. + <_>15 17 3 1 2. + 0 + 2.9982850537635386e-004 + 0.5629242062568665 + 0.3975878953933716 + <_> + + <_> + + + + <_>0 0 3 9 -1. + <_>0 3 3 3 3. + 0 + 3.5455459728837013e-003 + 0.5381547212600708 + 0.3605485856533051 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>9 8 3 1 3. + 0 + 9.6104722470045090e-003 + 0.5255997180938721 + 0.1796745955944061 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>8 8 3 1 3. + 0 + -6.2783220782876015e-003 + 0.2272856980562210 + 0.5114030241966248 + <_> + + <_> + + + + <_>9 5 2 6 -1. + <_>9 5 1 6 2. + 0 + 3.4598479978740215e-003 + 0.4626308083534241 + 0.6608219146728516 + <_> + + <_> + + + + <_>8 6 3 4 -1. + <_>9 6 1 4 3. + 0 + -1.3112019514665008e-003 + 0.6317539811134338 + 0.4436857998371124 + <_> + + <_> + + + + <_>7 6 8 12 -1. + <_>11 6 4 6 2. + <_>7 12 4 6 2. + 0 + 2.6876179035753012e-003 + 0.5421109795570374 + 0.4054022133350372 + <_> + + <_> + + + + <_>5 6 8 12 -1. + <_>5 6 4 6 2. + <_>9 12 4 6 2. + 0 + 3.9118169806897640e-003 + 0.5358477830886841 + 0.3273454904556274 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + -0.0142064504325390 + 0.7793576717376709 + 0.4975781142711639 + <_> + + <_> + + + + <_>2 16 3 2 -1. + <_>2 17 3 1 2. + 0 + 7.1705528534948826e-004 + 0.5297319889068604 + 0.3560903966426849 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + 1.6635019565001130e-003 + 0.4678094089031220 + 0.5816481709480286 + <_> + + <_> + + + + <_>2 12 6 6 -1. + <_>2 14 6 2 3. + 0 + 3.3686188980937004e-003 + 0.5276734232902527 + 0.3446420133113861 + <_> + + <_> + + + + <_>7 13 6 3 -1. + <_>7 14 6 1 3. + 0 + 0.0127995302900672 + 0.4834679961204529 + 0.7472159266471863 + <_> + + <_> + + + + <_>6 14 6 3 -1. + <_>6 15 6 1 3. + 0 + 3.3901201095432043e-003 + 0.4511859118938446 + 0.6401721239089966 + <_> + + <_> + + + + <_>14 15 5 3 -1. + <_>14 16 5 1 3. + 0 + 4.7070779837667942e-003 + 0.5335658788681030 + 0.3555220961570740 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 1.4819339849054813e-003 + 0.4250707030296326 + 0.5772724151611328 + <_> + + <_> + + + + <_>14 15 5 3 -1. + <_>14 16 5 1 3. + 0 + -6.9995759986341000e-003 + 0.3003320097923279 + 0.5292900204658508 + <_> + + <_> + + + + <_>5 3 6 2 -1. + <_>7 3 2 2 3. + 0 + 0.0159390103071928 + 0.5067319273948669 + 0.1675581932067871 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + 7.6377349905669689e-003 + 0.4795069992542267 + 0.7085601091384888 + <_> + + <_> + + + + <_>1 15 5 3 -1. + <_>1 16 5 1 3. + 0 + 6.7334040068089962e-003 + 0.5133113265037537 + 0.2162470072507858 + <_> + + <_> + + + + <_>8 13 4 6 -1. + <_>10 13 2 3 2. + <_>8 16 2 3 2. + 0 + -0.0128588099032640 + 0.1938841938972473 + 0.5251371860504150 + <_> + + <_> + + + + <_>7 8 3 3 -1. + <_>8 8 1 3 3. + 0 + -6.2270800117403269e-004 + 0.5686538219451904 + 0.4197868108749390 + <_> + + <_> + + + + <_>12 0 5 4 -1. + <_>12 2 5 2 2. + 0 + -5.2651681471616030e-004 + 0.4224168956279755 + 0.5429695844650269 + <_> + + <_> + + + + <_>0 2 20 2 -1. + <_>0 2 10 1 2. + <_>10 3 10 1 2. + 0 + 0.0110750999301672 + 0.5113775134086609 + 0.2514517903327942 + <_> + + <_> + + + + <_>1 0 18 4 -1. + <_>7 0 6 4 3. + 0 + -0.0367282517254353 + 0.7194662094116211 + 0.4849618971347809 + <_> + + <_> + + + + <_>4 3 6 1 -1. + <_>6 3 2 1 3. + 0 + -2.8207109426148236e-004 + 0.3840261995792389 + 0.5394446253776550 + <_> + + <_> + + + + <_>4 18 13 2 -1. + <_>4 19 13 1 2. + 0 + -2.7489690110087395e-003 + 0.5937088727951050 + 0.4569182097911835 + <_> + + <_> + + + + <_>2 10 3 6 -1. + <_>2 12 3 2 3. + 0 + 0.0100475195795298 + 0.5138576030731201 + 0.2802298069000244 + <_> + + <_> + + + + <_>14 12 6 8 -1. + <_>17 12 3 4 2. + <_>14 16 3 4 2. + 0 + -8.1497840583324432e-003 + 0.6090037226676941 + 0.4636121094226837 + <_> + + <_> + + + + <_>4 13 10 6 -1. + <_>4 13 5 3 2. + <_>9 16 5 3 2. + 0 + -6.8833888508379459e-003 + 0.3458611071109772 + 0.5254660248756409 + <_> + + <_> + + + + <_>14 12 1 2 -1. + <_>14 13 1 1 2. + 0 + -1.4039360394235700e-005 + 0.5693104267120361 + 0.4082083106040955 + <_> + + <_> + + + + <_>8 13 4 3 -1. + <_>8 14 4 1 3. + 0 + 1.5498419525101781e-003 + 0.4350537061691284 + 0.5806517004966736 + <_> + + <_> + + + + <_>14 12 2 2 -1. + <_>14 13 2 1 2. + 0 + -6.7841499112546444e-003 + 0.1468873023986816 + 0.5182775259017944 + <_> + + <_> + + + + <_>4 12 2 2 -1. + <_>4 13 2 1 2. + 0 + 2.1705629478674382e-004 + 0.5293524265289307 + 0.3456174135208130 + <_> + + <_> + + + + <_>8 12 9 2 -1. + <_>8 13 9 1 2. + 0 + 3.1198898795992136e-004 + 0.4652450978755951 + 0.5942413806915283 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 5.4507530294358730e-003 + 0.4653508961200714 + 0.7024846076965332 + <_> + + <_> + + + + <_>11 10 3 6 -1. + <_>11 13 3 3 2. + 0 + -2.5818689027801156e-004 + 0.5497295260429382 + 0.3768967092037201 + <_> + + <_> + + + + <_>5 6 9 12 -1. + <_>5 12 9 6 2. + 0 + -0.0174425393342972 + 0.3919087946414948 + 0.5457497835159302 + <_> + + <_> + + + + <_>11 10 3 6 -1. + <_>11 13 3 3 2. + 0 + -0.0453435294330120 + 0.1631357073783875 + 0.5154908895492554 + <_> + + <_> + + + + <_>6 10 3 6 -1. + <_>6 13 3 3 2. + 0 + 1.9190689781680703e-003 + 0.5145897865295410 + 0.2791895866394043 + <_> + + <_> + + + + <_>5 4 11 3 -1. + <_>5 5 11 1 3. + 0 + -6.0177869163453579e-003 + 0.6517636179924011 + 0.4756332933902741 + <_> + + <_> + + + + <_>7 1 5 10 -1. + <_>7 6 5 5 2. + 0 + -4.0720738470554352e-003 + 0.5514652729034424 + 0.4092685878276825 + <_> + + <_> + + + + <_>2 8 18 2 -1. + <_>2 9 18 1 2. + 0 + 3.9855059003457427e-004 + 0.3165240883827210 + 0.5285550951957703 + <_> + + <_> + + + + <_>7 17 5 3 -1. + <_>7 18 5 1 3. + 0 + -6.5418570302426815e-003 + 0.6853377819061279 + 0.4652808904647827 + <_> + + <_> + + + + <_>5 9 12 1 -1. + <_>9 9 4 1 3. + 0 + 3.4845089539885521e-003 + 0.5484588146209717 + 0.4502759873867035 + <_> + + <_> + + + + <_>0 14 6 6 -1. + <_>0 14 3 3 2. + <_>3 17 3 3 2. + 0 + -0.0136967804282904 + 0.6395779848098755 + 0.4572555124759674 + <_> + + <_> + + + + <_>5 9 12 1 -1. + <_>9 9 4 1 3. + 0 + -0.0173471402376890 + 0.2751072943210602 + 0.5181614756584168 + <_> + + <_> + + + + <_>3 9 12 1 -1. + <_>7 9 4 1 3. + 0 + -4.0885428898036480e-003 + 0.3325636088848114 + 0.5194984078407288 + <_> + + <_> + + + + <_>14 10 6 7 -1. + <_>14 10 3 7 2. + 0 + -9.4687901437282562e-003 + 0.5942280888557434 + 0.4851819872856140 + <_> + + <_> + + + + <_>1 0 16 2 -1. + <_>1 1 16 1 2. + 0 + 1.7084840219467878e-003 + 0.4167110919952393 + 0.5519806146621704 + <_> + + <_> + + + + <_>10 9 10 9 -1. + <_>10 12 10 3 3. + 0 + 9.4809094443917274e-003 + 0.5433894991874695 + 0.4208514988422394 + <_> + + <_> + + + + <_>0 1 10 2 -1. + <_>5 1 5 2 2. + 0 + -4.7389650717377663e-003 + 0.6407189965248108 + 0.4560655057430267 + <_> + + <_> + + + + <_>17 3 2 3 -1. + <_>17 4 2 1 3. + 0 + 6.5761050209403038e-003 + 0.5214555263519287 + 0.2258227020502091 + <_> + + <_> + + + + <_>1 3 2 3 -1. + <_>1 4 2 1 3. + 0 + -2.1690549328923225e-003 + 0.3151527941226959 + 0.5156704783439636 + <_> + + <_> + + + + <_>9 7 3 6 -1. + <_>10 7 1 6 3. + 0 + 0.0146601703017950 + 0.4870837032794952 + 0.6689941287040710 + <_> + + <_> + + + + <_>6 5 4 3 -1. + <_>8 5 2 3 2. + 0 + 1.7231999663636088e-004 + 0.3569748997688294 + 0.5251078009605408 + <_> + + <_> + + + + <_>7 5 6 6 -1. + <_>9 5 2 6 3. + 0 + -0.0218037609010935 + 0.8825920820236206 + 0.4966329932212830 + <_> + + <_> + + + + <_>3 4 12 12 -1. + <_>3 4 6 6 2. + <_>9 10 6 6 2. + 0 + -0.0947361066937447 + 0.1446162015199661 + 0.5061113834381104 + <_> + + <_> + + + + <_>9 2 6 15 -1. + <_>11 2 2 15 3. + 0 + 5.5825551971793175e-003 + 0.5396478772163391 + 0.4238066077232361 + <_> + + <_> + + + + <_>2 2 6 17 -1. + <_>4 2 2 17 3. + 0 + 1.9517090404406190e-003 + 0.4170410931110382 + 0.5497786998748779 + <_> + + <_> + + + + <_>14 10 6 7 -1. + <_>14 10 3 7 2. + 0 + 0.0121499001979828 + 0.4698367118835449 + 0.5664274096488953 + <_> + + <_> + + + + <_>0 10 6 7 -1. + <_>3 10 3 7 2. + 0 + -7.5169620104134083e-003 + 0.6267772912979126 + 0.4463135898113251 + <_> + + <_> + + + + <_>9 2 6 15 -1. + <_>11 2 2 15 3. + 0 + -0.0716679096221924 + 0.3097011148929596 + 0.5221003293991089 + <_> + + <_> + + + + <_>5 2 6 15 -1. + <_>7 2 2 15 3. + 0 + -0.0882924199104309 + 0.0811238884925842 + 0.5006365180015564 + <_> + + <_> + + + + <_>17 9 3 6 -1. + <_>17 11 3 2 3. + 0 + 0.0310630798339844 + 0.5155503749847412 + 0.1282255947589874 + <_> + + <_> + + + + <_>6 7 6 6 -1. + <_>8 7 2 6 3. + 0 + 0.0466218404471874 + 0.4699777960777283 + 0.7363960742950440 + <_> + + <_> + + + + <_>1 10 18 6 -1. + <_>10 10 9 3 2. + <_>1 13 9 3 2. + 0 + -0.0121894897893071 + 0.3920530080795288 + 0.5518996715545654 + <_> + + <_> + + + + <_>0 9 10 9 -1. + <_>0 12 10 3 3. + 0 + 0.0130161102861166 + 0.5260658264160156 + 0.3685136139392853 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + -3.4952899441123009e-003 + 0.6339294910430908 + 0.4716280996799469 + <_> + + <_> + + + + <_>5 12 3 4 -1. + <_>5 14 3 2 2. + 0 + -4.4015039748046547e-005 + 0.5333027243614197 + 0.3776184916496277 + <_> + + <_> + + + + <_>3 3 16 12 -1. + <_>3 9 16 6 2. + 0 + -0.1096649020910263 + 0.1765342056751251 + 0.5198346972465515 + <_> + + <_> + + + + <_>1 1 12 12 -1. + <_>1 1 6 6 2. + <_>7 7 6 6 2. + 0 + -9.0279558207839727e-004 + 0.5324159860610962 + 0.3838908076286316 + <_> + + <_> + + + + <_>10 4 2 4 -1. + <_>11 4 1 2 2. + <_>10 6 1 2 2. + 0 + 7.1126641705632210e-004 + 0.4647929966449738 + 0.5755224227905273 + <_> + + <_> + + + + <_>0 9 10 2 -1. + <_>0 9 5 1 2. + <_>5 10 5 1 2. + 0 + -3.1250279862433672e-003 + 0.3236708939075470 + 0.5166770815849304 + <_> + + <_> + + + + <_>9 11 3 3 -1. + <_>9 12 3 1 3. + 0 + 2.4144679773598909e-003 + 0.4787439107894898 + 0.6459717750549316 + <_> + + <_> + + + + <_>3 12 9 2 -1. + <_>3 13 9 1 2. + 0 + 4.4391240226104856e-004 + 0.4409308135509491 + 0.6010255813598633 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -2.2611189342569560e-004 + 0.4038113951683044 + 0.5493255853652954 + 50.1697311401367190 + 12 + -1 + <_> + + + <_> + + <_> + + + + <_>3 4 13 6 -1. + <_>3 6 13 2 3. + 0 + -0.0469012893736362 + 0.6600171923637390 + 0.3743801116943359 + <_> + + <_> + + + + <_>9 7 6 4 -1. + <_>12 7 3 2 2. + <_>9 9 3 2 2. + 0 + -1.4568349579349160e-003 + 0.5783991217613220 + 0.3437797129154205 + <_> + + <_> + + + + <_>1 0 6 8 -1. + <_>4 0 3 8 2. + 0 + 5.5598369799554348e-003 + 0.3622266948223114 + 0.5908216238021851 + <_> + + <_> + + + + <_>9 5 2 12 -1. + <_>9 11 2 6 2. + 0 + 7.3170487303286791e-004 + 0.5500419139862061 + 0.2873558104038239 + <_> + + <_> + + + + <_>4 4 3 10 -1. + <_>4 9 3 5 2. + 0 + 1.3318009441718459e-003 + 0.2673169970512390 + 0.5431019067764282 + <_> + + <_> + + + + <_>6 17 8 3 -1. + <_>6 18 8 1 3. + 0 + 2.4347059661522508e-004 + 0.3855027854442596 + 0.5741388797760010 + <_> + + <_> + + + + <_>0 5 10 6 -1. + <_>0 7 10 2 3. + 0 + -3.0512469820678234e-003 + 0.5503209829330444 + 0.3462845087051392 + <_> + + <_> + + + + <_>13 2 3 2 -1. + <_>13 3 3 1 2. + 0 + -6.8657199153676629e-004 + 0.3291221857070923 + 0.5429509282112122 + <_> + + <_> + + + + <_>7 5 4 5 -1. + <_>9 5 2 5 2. + 0 + 1.4668200165033340e-003 + 0.3588382005691528 + 0.5351811051368713 + <_> + + <_> + + + + <_>12 14 3 6 -1. + <_>12 16 3 2 3. + 0 + 3.2021870720200241e-004 + 0.4296841919422150 + 0.5700234174728394 + <_> + + <_> + + + + <_>1 11 8 2 -1. + <_>1 12 8 1 2. + 0 + 7.4122188379988074e-004 + 0.5282164812088013 + 0.3366870880126953 + <_> + + <_> + + + + <_>7 13 6 3 -1. + <_>7 14 6 1 3. + 0 + 3.8330298848450184e-003 + 0.4559567868709564 + 0.6257336139678955 + <_> + + <_> + + + + <_>0 5 3 6 -1. + <_>0 7 3 2 3. + 0 + -0.0154564399272203 + 0.2350116968154907 + 0.5129452943801880 + <_> + + <_> + + + + <_>13 2 3 2 -1. + <_>13 3 3 1 2. + 0 + 2.6796779129654169e-003 + 0.5329415202140808 + 0.4155062139034271 + <_> + + <_> + + + + <_>4 14 4 6 -1. + <_>4 14 2 3 2. + <_>6 17 2 3 2. + 0 + 2.8296569362282753e-003 + 0.4273087978363037 + 0.5804538130760193 + <_> + + <_> + + + + <_>13 2 3 2 -1. + <_>13 3 3 1 2. + 0 + -3.9444249123334885e-003 + 0.2912611961364746 + 0.5202686190605164 + <_> + + <_> + + + + <_>8 2 4 12 -1. + <_>8 6 4 4 3. + 0 + 2.7179559692740440e-003 + 0.5307688117027283 + 0.3585677146911621 + <_> + + <_> + + + + <_>14 0 6 8 -1. + <_>17 0 3 4 2. + <_>14 4 3 4 2. + 0 + 5.9077627956867218e-003 + 0.4703775048255920 + 0.5941585898399353 + <_> + + <_> + + + + <_>7 17 3 2 -1. + <_>8 17 1 2 3. + 0 + -4.2240349575877190e-003 + 0.2141567021608353 + 0.5088796019554138 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>8 13 4 1 2. + 0 + 4.0725888684391975e-003 + 0.4766413867473602 + 0.6841061115264893 + <_> + + <_> + + + + <_>6 0 8 12 -1. + <_>6 0 4 6 2. + <_>10 6 4 6 2. + 0 + 0.0101495301350951 + 0.5360798835754395 + 0.3748497068881989 + <_> + + <_> + + + + <_>14 0 2 10 -1. + <_>15 0 1 5 2. + <_>14 5 1 5 2. + 0 + -1.8864999583456665e-004 + 0.5720130205154419 + 0.3853805065155029 + <_> + + <_> + + + + <_>5 3 8 6 -1. + <_>5 3 4 3 2. + <_>9 6 4 3 2. + 0 + -4.8864358104765415e-003 + 0.3693122863769531 + 0.5340958833694458 + <_> + + <_> + + + + <_>14 0 6 10 -1. + <_>17 0 3 5 2. + <_>14 5 3 5 2. + 0 + 0.0261584799736738 + 0.4962374866008759 + 0.6059989929199219 + <_> + + <_> + + + + <_>9 14 1 2 -1. + <_>9 15 1 1 2. + 0 + 4.8560759751126170e-004 + 0.4438945949077606 + 0.6012468934059143 + <_> + + <_> + + + + <_>15 10 4 3 -1. + <_>15 11 4 1 3. + 0 + 0.0112687097862363 + 0.5244250297546387 + 0.1840388029813767 + <_> + + <_> + + + + <_>8 14 2 3 -1. + <_>8 15 2 1 3. + 0 + -2.8114619199186563e-003 + 0.6060283780097961 + 0.4409897029399872 + <_> + + <_> + + + + <_>3 13 14 4 -1. + <_>10 13 7 2 2. + <_>3 15 7 2 2. + 0 + -5.6112729944288731e-003 + 0.3891170918941498 + 0.5589237213134766 + <_> + + <_> + + + + <_>1 10 4 3 -1. + <_>1 11 4 1 3. + 0 + 8.5680093616247177e-003 + 0.5069345831871033 + 0.2062619030475617 + <_> + + <_> + + + + <_>9 11 6 1 -1. + <_>11 11 2 1 3. + 0 + -3.8172779022715986e-004 + 0.5882201790809631 + 0.4192610979080200 + <_> + + <_> + + + + <_>5 11 6 1 -1. + <_>7 11 2 1 3. + 0 + -1.7680290329735726e-004 + 0.5533605813980103 + 0.4003368914127350 + <_> + + <_> + + + + <_>3 5 16 15 -1. + <_>3 10 16 5 3. + 0 + 6.5112537704408169e-003 + 0.3310146927833557 + 0.5444191098213196 + <_> + + <_> + + + + <_>6 12 4 2 -1. + <_>8 12 2 2 2. + 0 + -6.5948683186434209e-005 + 0.5433831810951233 + 0.3944905996322632 + <_> + + <_> + + + + <_>4 4 12 10 -1. + <_>10 4 6 5 2. + <_>4 9 6 5 2. + 0 + 6.9939051754772663e-003 + 0.5600358247756958 + 0.4192714095115662 + <_> + + <_> + + + + <_>8 6 3 4 -1. + <_>9 6 1 4 3. + 0 + -4.6744439750909805e-003 + 0.6685466766357422 + 0.4604960978031158 + <_> + + <_> + + + + <_>8 12 4 8 -1. + <_>10 12 2 4 2. + <_>8 16 2 4 2. + 0 + 0.0115898502990603 + 0.5357121229171753 + 0.2926830053329468 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 0.0130078401416540 + 0.4679817855358124 + 0.7307463288307190 + <_> + + <_> + + + + <_>12 2 3 2 -1. + <_>13 2 1 2 3. + 0 + -1.1008579749614000e-003 + 0.3937501013278961 + 0.5415065288543701 + <_> + + <_> + + + + <_>8 15 3 2 -1. + <_>8 16 3 1 2. + 0 + 6.0472649056464434e-004 + 0.4242376089096069 + 0.5604041218757629 + <_> + + <_> + + + + <_>6 0 9 14 -1. + <_>9 0 3 14 3. + 0 + -0.0144948400557041 + 0.3631210029125214 + 0.5293182730674744 + <_> + + <_> + + + + <_>9 6 2 3 -1. + <_>10 6 1 3 2. + 0 + -5.3056948818266392e-003 + 0.6860452294349670 + 0.4621821045875549 + <_> + + <_> + + + + <_>10 8 2 3 -1. + <_>10 9 2 1 3. + 0 + -8.1829127157106996e-004 + 0.3944096863269806 + 0.5420439243316650 + <_> + + <_> + + + + <_>0 9 4 6 -1. + <_>0 11 4 2 3. + 0 + -0.0190775208175182 + 0.1962621957063675 + 0.5037891864776611 + <_> + + <_> + + + + <_>6 0 8 2 -1. + <_>6 1 8 1 2. + 0 + 3.5549470339901745e-004 + 0.4086259007453919 + 0.5613973140716553 + <_> + + <_> + + + + <_>6 14 7 3 -1. + <_>6 15 7 1 3. + 0 + 1.9679730758070946e-003 + 0.4489121139049530 + 0.5926123261451721 + <_> + + <_> + + + + <_>8 10 8 9 -1. + <_>8 13 8 3 3. + 0 + 6.9189141504466534e-003 + 0.5335925817489624 + 0.3728385865688324 + <_> + + <_> + + + + <_>5 2 3 2 -1. + <_>6 2 1 2 3. + 0 + 2.9872779268771410e-003 + 0.5111321210861206 + 0.2975643873214722 + <_> + + <_> + + + + <_>14 1 6 8 -1. + <_>17 1 3 4 2. + <_>14 5 3 4 2. + 0 + -6.2264618463814259e-003 + 0.5541489720344544 + 0.4824537932872772 + <_> + + <_> + + + + <_>0 1 6 8 -1. + <_>0 1 3 4 2. + <_>3 5 3 4 2. + 0 + 0.0133533002808690 + 0.4586423933506012 + 0.6414797902107239 + <_> + + <_> + + + + <_>1 2 18 6 -1. + <_>10 2 9 3 2. + <_>1 5 9 3 2. + 0 + 0.0335052385926247 + 0.5392425060272217 + 0.3429994881153107 + <_> + + <_> + + + + <_>9 3 2 1 -1. + <_>10 3 1 1 2. + 0 + -2.5294460356235504e-003 + 0.1703713983297348 + 0.5013315081596375 + <_> + + <_> + + + + <_>13 2 4 6 -1. + <_>15 2 2 3 2. + <_>13 5 2 3 2. + 0 + -1.2801629491150379e-003 + 0.5305461883544922 + 0.4697405099868774 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 7.0687388069927692e-003 + 0.4615545868873596 + 0.6436504721641541 + <_> + + <_> + + + + <_>13 5 1 3 -1. + <_>13 6 1 1 3. + 0 + 9.6880499040707946e-004 + 0.4833599030971527 + 0.6043894290924072 + <_> + + <_> + + + + <_>2 16 5 3 -1. + <_>2 17 5 1 3. + 0 + 3.9647659286856651e-003 + 0.5187637209892273 + 0.3231816887855530 + <_> + + <_> + + + + <_>13 2 4 6 -1. + <_>15 2 2 3 2. + <_>13 5 2 3 2. + 0 + -0.0220577307045460 + 0.4079256951808929 + 0.5200980901718140 + <_> + + <_> + + + + <_>3 2 4 6 -1. + <_>3 2 2 3 2. + <_>5 5 2 3 2. + 0 + -6.6906312713399529e-004 + 0.5331609249114990 + 0.3815600872039795 + <_> + + <_> + + + + <_>13 5 1 2 -1. + <_>13 6 1 1 2. + 0 + -6.7009328631684184e-004 + 0.5655422210693359 + 0.4688901901245117 + <_> + + <_> + + + + <_>5 5 2 2 -1. + <_>5 6 2 1 2. + 0 + 7.4284552829340100e-004 + 0.4534381031990051 + 0.6287400126457214 + <_> + + <_> + + + + <_>13 9 2 2 -1. + <_>13 9 1 2 2. + 0 + 2.2227810695767403e-003 + 0.5350633263587952 + 0.3303655982017517 + <_> + + <_> + + + + <_>5 9 2 2 -1. + <_>6 9 1 2 2. + 0 + -5.4130521602928638e-003 + 0.1113687008619309 + 0.5005434751510620 + <_> + + <_> + + + + <_>13 17 3 2 -1. + <_>13 18 3 1 2. + 0 + -1.4520040167553816e-005 + 0.5628737807273865 + 0.4325133860111237 + <_> + + <_> + + + + <_>6 16 4 4 -1. + <_>6 16 2 2 2. + <_>8 18 2 2 2. + 0 + 2.3369169502984732e-004 + 0.4165835082530975 + 0.5447791218757629 + <_> + + <_> + + + + <_>9 16 2 3 -1. + <_>9 17 2 1 3. + 0 + 4.2894547805190086e-003 + 0.4860391020774841 + 0.6778649091720581 + <_> + + <_> + + + + <_>0 13 9 6 -1. + <_>0 15 9 2 3. + 0 + 5.9103150852024555e-003 + 0.5262305140495300 + 0.3612113893032074 + <_> + + <_> + + + + <_>9 14 2 6 -1. + <_>9 17 2 3 2. + 0 + 0.0129005396738648 + 0.5319377183914185 + 0.3250288069248200 + <_> + + <_> + + + + <_>9 15 2 3 -1. + <_>9 16 2 1 3. + 0 + 4.6982979401946068e-003 + 0.4618245065212250 + 0.6665925979614258 + <_> + + <_> + + + + <_>1 10 18 6 -1. + <_>1 12 18 2 3. + 0 + 0.0104398597031832 + 0.5505670905113220 + 0.3883604109287262 + <_> + + <_> + + + + <_>8 11 4 2 -1. + <_>8 12 4 1 2. + 0 + 3.0443191062659025e-003 + 0.4697853028774262 + 0.7301844954490662 + <_> + + <_> + + + + <_>7 9 6 2 -1. + <_>7 10 6 1 2. + 0 + -6.1593751888722181e-004 + 0.3830839097499847 + 0.5464984178543091 + <_> + + <_> + + + + <_>8 8 2 3 -1. + <_>8 9 2 1 3. + 0 + -3.4247159492224455e-003 + 0.2566300034523010 + 0.5089530944824219 + <_> + + <_> + + + + <_>17 5 3 4 -1. + <_>18 5 1 4 3. + 0 + -9.3538565561175346e-003 + 0.6469966173171997 + 0.4940795898437500 + <_> + + <_> + + + + <_>1 19 18 1 -1. + <_>7 19 6 1 3. + 0 + 0.0523389987647533 + 0.4745982885360718 + 0.7878770828247070 + <_> + + <_> + + + + <_>9 0 3 2 -1. + <_>10 0 1 2 3. + 0 + 3.5765620414167643e-003 + 0.5306664705276489 + 0.2748498022556305 + <_> + + <_> + + + + <_>1 8 1 6 -1. + <_>1 10 1 2 3. + 0 + 7.1555317845195532e-004 + 0.5413125753402710 + 0.4041908979415894 + <_> + + <_> + + + + <_>12 17 8 3 -1. + <_>12 17 4 3 2. + 0 + -0.0105166798457503 + 0.6158512234687805 + 0.4815283119678497 + <_> + + <_> + + + + <_>0 5 3 4 -1. + <_>1 5 1 4 3. + 0 + 7.7347927726805210e-003 + 0.4695805907249451 + 0.7028980851173401 + <_> + + <_> + + + + <_>9 7 2 3 -1. + <_>9 8 2 1 3. + 0 + -4.3226778507232666e-003 + 0.2849566042423248 + 0.5304684042930603 + <_> + + <_> + + + + <_>7 11 2 2 -1. + <_>7 11 1 1 2. + <_>8 12 1 1 2. + 0 + -2.5534399319440126e-003 + 0.7056984901428223 + 0.4688892066478729 + <_> + + <_> + + + + <_>11 3 2 5 -1. + <_>11 3 1 5 2. + 0 + 1.0268510231981054e-004 + 0.3902932107448578 + 0.5573464035987854 + <_> + + <_> + + + + <_>7 3 2 5 -1. + <_>8 3 1 5 2. + 0 + 7.1395188570022583e-006 + 0.3684231936931610 + 0.5263987779617310 + <_> + + <_> + + + + <_>15 13 2 3 -1. + <_>15 14 2 1 3. + 0 + -1.6711989883333445e-003 + 0.3849175870418549 + 0.5387271046638489 + <_> + + <_> + + + + <_>5 6 2 3 -1. + <_>5 7 2 1 3. + 0 + 4.9260449595749378e-003 + 0.4729771912097931 + 0.7447251081466675 + <_> + + <_> + + + + <_>4 19 15 1 -1. + <_>9 19 5 1 3. + 0 + 4.3908702209591866e-003 + 0.4809181094169617 + 0.5591921806335449 + <_> + + <_> + + + + <_>1 19 15 1 -1. + <_>6 19 5 1 3. + 0 + -0.0177936293184757 + 0.6903678178787231 + 0.4676927030086517 + <_> + + <_> + + + + <_>15 13 2 3 -1. + <_>15 14 2 1 3. + 0 + 2.0469669252634048e-003 + 0.5370690226554871 + 0.3308162093162537 + <_> + + <_> + + + + <_>5 0 4 15 -1. + <_>7 0 2 15 2. + 0 + 0.0298914890736341 + 0.5139865279197693 + 0.3309059143066406 + <_> + + <_> + + + + <_>9 6 2 5 -1. + <_>9 6 1 5 2. + 0 + 1.5494900289922953e-003 + 0.4660237133502960 + 0.6078342795372009 + <_> + + <_> + + + + <_>9 5 2 7 -1. + <_>10 5 1 7 2. + 0 + 1.4956969534978271e-003 + 0.4404835999011993 + 0.5863919854164124 + <_> + + <_> + + + + <_>16 11 3 3 -1. + <_>16 12 3 1 3. + 0 + 9.5885928021743894e-004 + 0.5435971021652222 + 0.4208523035049439 + <_> + + <_> + + + + <_>1 11 3 3 -1. + <_>1 12 3 1 3. + 0 + 4.9643701640889049e-004 + 0.5370578169822693 + 0.4000622034072876 + <_> + + <_> + + + + <_>6 6 8 3 -1. + <_>6 7 8 1 3. + 0 + -2.7280810754746199e-003 + 0.5659412741661072 + 0.4259642958641052 + <_> + + <_> + + + + <_>0 15 6 2 -1. + <_>0 16 6 1 2. + 0 + 2.3026480339467525e-003 + 0.5161657929420471 + 0.3350869119167328 + <_> + + <_> + + + + <_>1 0 18 6 -1. + <_>7 0 6 6 3. + 0 + 0.2515163123607636 + 0.4869661927223206 + 0.7147309780120850 + <_> + + <_> + + + + <_>6 0 3 4 -1. + <_>7 0 1 4 3. + 0 + -4.6328022144734859e-003 + 0.2727448940277100 + 0.5083789825439453 + <_> + + <_> + + + + <_>14 10 4 10 -1. + <_>16 10 2 5 2. + <_>14 15 2 5 2. + 0 + -0.0404344908893108 + 0.6851438879966736 + 0.5021767020225525 + <_> + + <_> + + + + <_>3 2 3 2 -1. + <_>4 2 1 2 3. + 0 + 1.4972220014897175e-005 + 0.4284465014934540 + 0.5522555112838745 + <_> + + <_> + + + + <_>11 2 2 2 -1. + <_>11 3 2 1 2. + 0 + -2.4050309730228037e-004 + 0.4226118922233582 + 0.5390074849128723 + <_> + + <_> + + + + <_>2 10 4 10 -1. + <_>2 10 2 5 2. + <_>4 15 2 5 2. + 0 + 0.0236578397452831 + 0.4744631946086884 + 0.7504366040229797 + <_> + + <_> + + + + <_>0 13 20 6 -1. + <_>10 13 10 3 2. + <_>0 16 10 3 2. + 0 + -8.1449104472994804e-003 + 0.4245058894157410 + 0.5538362860679627 + <_> + + <_> + + + + <_>0 5 2 15 -1. + <_>1 5 1 15 2. + 0 + -3.6992130335420370e-003 + 0.5952357053756714 + 0.4529713094234467 + <_> + + <_> + + + + <_>1 7 18 4 -1. + <_>10 7 9 2 2. + <_>1 9 9 2 2. + 0 + -6.7718601785600185e-003 + 0.4137794077396393 + 0.5473399758338928 + <_> + + <_> + + + + <_>0 0 2 17 -1. + <_>1 0 1 17 2. + 0 + 4.2669530957937241e-003 + 0.4484114944934845 + 0.5797994136810303 + <_> + + <_> + + + + <_>2 6 16 6 -1. + <_>10 6 8 3 2. + <_>2 9 8 3 2. + 0 + 1.7791989957913756e-003 + 0.5624858736991882 + 0.4432444870471954 + <_> + + <_> + + + + <_>8 14 1 3 -1. + <_>8 15 1 1 3. + 0 + 1.6774770338088274e-003 + 0.4637751877307892 + 0.6364241838455200 + <_> + + <_> + + + + <_>8 15 4 2 -1. + <_>8 16 4 1 2. + 0 + 1.1732629500329494e-003 + 0.4544503092765808 + 0.5914415717124939 + <_> + + <_> + + + + <_>5 2 8 2 -1. + <_>5 2 4 1 2. + <_>9 3 4 1 2. + 0 + 8.6998171173036098e-004 + 0.5334752798080444 + 0.3885917961597443 + <_> + + <_> + + + + <_>6 11 8 6 -1. + <_>6 14 8 3 2. + 0 + 7.6378340600058436e-004 + 0.5398585200309753 + 0.3744941949844360 + <_> + + <_> + + + + <_>9 13 2 2 -1. + <_>9 14 2 1 2. + 0 + 1.5684569370932877e-004 + 0.4317873120307922 + 0.5614616274833679 + <_> + + <_> + + + + <_>18 4 2 6 -1. + <_>18 6 2 2 3. + 0 + -0.0215113703161478 + 0.1785925030708313 + 0.5185542702674866 + <_> + + <_> + + + + <_>9 12 2 2 -1. + <_>9 13 2 1 2. + 0 + 1.3081369979772717e-004 + 0.4342499077320099 + 0.5682849884033203 + <_> + + <_> + + + + <_>18 4 2 6 -1. + <_>18 6 2 2 3. + 0 + 0.0219920407980680 + 0.5161716938018799 + 0.2379394024610519 + <_> + + <_> + + + + <_>9 13 1 3 -1. + <_>9 14 1 1 3. + 0 + -8.0136500764638186e-004 + 0.5986763238906860 + 0.4466426968574524 + <_> + + <_> + + + + <_>18 4 2 6 -1. + <_>18 6 2 2 3. + 0 + -8.2736099138855934e-003 + 0.4108217954635620 + 0.5251057147979736 + <_> + + <_> + + + + <_>0 4 2 6 -1. + <_>0 6 2 2 3. + 0 + 3.6831789184361696e-003 + 0.5173814296722412 + 0.3397518098354340 + <_> + + <_> + + + + <_>9 12 3 3 -1. + <_>9 13 3 1 3. + 0 + -7.9525681212544441e-003 + 0.6888983249664307 + 0.4845924079418182 + <_> + + <_> + + + + <_>3 13 2 3 -1. + <_>3 14 2 1 3. + 0 + 1.5382299898192286e-003 + 0.5178567171096802 + 0.3454113900661469 + <_> + + <_> + + + + <_>13 13 4 3 -1. + <_>13 14 4 1 3. + 0 + -0.0140435304492712 + 0.1678421050310135 + 0.5188667774200440 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 1.4315890148282051e-003 + 0.4368256926536560 + 0.5655773878097534 + <_> + + <_> + + + + <_>5 2 10 6 -1. + <_>5 4 10 2 3. + 0 + -0.0340142287313938 + 0.7802296280860901 + 0.4959217011928558 + <_> + + <_> + + + + <_>3 13 4 3 -1. + <_>3 14 4 1 3. + 0 + -0.0120272999629378 + 0.1585101038217545 + 0.5032231807708740 + <_> + + <_> + + + + <_>3 7 15 5 -1. + <_>8 7 5 5 3. + 0 + 0.1331661939620972 + 0.5163304805755615 + 0.2755128145217896 + <_> + + <_> + + + + <_>3 7 12 2 -1. + <_>7 7 4 2 3. + 0 + -1.5221949433907866e-003 + 0.3728317916393280 + 0.5214552283287048 + <_> + + <_> + + + + <_>10 3 3 9 -1. + <_>11 3 1 9 3. + 0 + -9.3929271679371595e-004 + 0.5838379263877869 + 0.4511165022850037 + <_> + + <_> + + + + <_>8 6 4 6 -1. + <_>10 6 2 6 2. + 0 + 0.0277197398245335 + 0.4728286862373352 + 0.7331544756889343 + <_> + + <_> + + + + <_>9 7 4 3 -1. + <_>9 8 4 1 3. + 0 + 3.1030150130391121e-003 + 0.5302202105522156 + 0.4101563096046448 + <_> + + <_> + + + + <_>0 9 4 9 -1. + <_>2 9 2 9 2. + 0 + 0.0778612196445465 + 0.4998334050178528 + 0.1272961944341660 + <_> + + <_> + + + + <_>9 13 3 5 -1. + <_>10 13 1 5 3. + 0 + -0.0158549398183823 + 0.0508333593606949 + 0.5165656208992004 + <_> + + <_> + + + + <_>7 7 6 3 -1. + <_>9 7 2 3 3. + 0 + -4.9725300632417202e-003 + 0.6798133850097656 + 0.4684231877326965 + <_> + + <_> + + + + <_>9 7 3 5 -1. + <_>10 7 1 5 3. + 0 + -9.7676506265997887e-004 + 0.6010771989822388 + 0.4788931906223297 + <_> + + <_> + + + + <_>5 7 8 2 -1. + <_>9 7 4 2 2. + 0 + -2.4647710379213095e-003 + 0.3393397927284241 + 0.5220503807067871 + <_> + + <_> + + + + <_>5 9 12 2 -1. + <_>9 9 4 2 3. + 0 + -6.7937700077891350e-003 + 0.4365136921405792 + 0.5239663124084473 + <_> + + <_> + + + + <_>5 6 10 3 -1. + <_>10 6 5 3 2. + 0 + 0.0326080210506916 + 0.5052723884582520 + 0.2425214946269989 + <_> + + <_> + + + + <_>10 12 3 1 -1. + <_>11 12 1 1 3. + 0 + -5.8514421107247472e-004 + 0.5733973979949951 + 0.4758574068546295 + <_> + + <_> + + + + <_>0 1 11 15 -1. + <_>0 6 11 5 3. + 0 + -0.0296326000243425 + 0.3892289102077484 + 0.5263597965240479 + 66.6691207885742190 + 13 + -1 + <_> + + + <_> + + <_> + + + + <_>1 0 18 6 -1. + <_>7 0 6 6 3. + 0 + 0.0465508513152599 + 0.3276950120925903 + 0.6240522861480713 + <_> + + <_> + + + + <_>7 7 6 1 -1. + <_>9 7 2 1 3. + 0 + 7.9537127166986465e-003 + 0.4256485104560852 + 0.6942939162254334 + <_> + + <_> + + + + <_>5 16 6 4 -1. + <_>5 16 3 2 2. + <_>8 18 3 2 2. + 0 + 6.8221561377868056e-004 + 0.3711487054824829 + 0.5900732874870300 + <_> + + <_> + + + + <_>6 5 9 8 -1. + <_>6 9 9 4 2. + 0 + -1.9348249770700932e-004 + 0.2041133940219879 + 0.5300545096397400 + <_> + + <_> + + + + <_>5 10 2 6 -1. + <_>5 13 2 3 2. + 0 + -2.6710508973337710e-004 + 0.5416126251220703 + 0.3103179037570953 + <_> + + <_> + + + + <_>7 6 8 10 -1. + <_>11 6 4 5 2. + <_>7 11 4 5 2. + 0 + 2.7818060480058193e-003 + 0.5277832746505737 + 0.3467069864273071 + <_> + + <_> + + + + <_>5 6 8 10 -1. + <_>5 6 4 5 2. + <_>9 11 4 5 2. + 0 + -4.6779078547842801e-004 + 0.5308231115341187 + 0.3294492065906525 + <_> + + <_> + + + + <_>9 5 2 2 -1. + <_>9 6 2 1 2. + 0 + -3.0335160772665404e-005 + 0.5773872733116150 + 0.3852097094058991 + <_> + + <_> + + + + <_>5 12 8 2 -1. + <_>5 13 8 1 2. + 0 + 7.8038009814918041e-004 + 0.4317438900470734 + 0.6150057911872864 + <_> + + <_> + + + + <_>10 2 8 2 -1. + <_>10 3 8 1 2. + 0 + -4.2553851380944252e-003 + 0.2933903932571411 + 0.5324292778968811 + <_> + + <_> + + + + <_>4 0 2 10 -1. + <_>4 0 1 5 2. + <_>5 5 1 5 2. + 0 + -2.4735610350035131e-004 + 0.5468844771385193 + 0.3843030035495758 + <_> + + <_> + + + + <_>9 10 2 2 -1. + <_>9 11 2 1 2. + 0 + -1.4724259381182492e-004 + 0.4281542897224426 + 0.5755587220191956 + <_> + + <_> + + + + <_>2 8 15 3 -1. + <_>2 9 15 1 3. + 0 + 1.1864770203828812e-003 + 0.3747301101684570 + 0.5471466183662415 + <_> + + <_> + + + + <_>8 13 4 3 -1. + <_>8 14 4 1 3. + 0 + 2.3936580400913954e-003 + 0.4537783861160278 + 0.6111528873443604 + <_> + + <_> + + + + <_>7 2 3 2 -1. + <_>8 2 1 2 3. + 0 + -1.5390539774671197e-003 + 0.2971341907978058 + 0.5189538002014160 + <_> + + <_> + + + + <_>7 13 6 3 -1. + <_>7 14 6 1 3. + 0 + -7.1968790143728256e-003 + 0.6699066758155823 + 0.4726476967334747 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -4.1499789222143590e-004 + 0.3384954035282135 + 0.5260317921638489 + <_> + + <_> + + + + <_>17 2 3 6 -1. + <_>17 4 3 2 3. + 0 + 4.4359830208122730e-003 + 0.5399122238159180 + 0.3920140862464905 + <_> + + <_> + + + + <_>1 5 3 4 -1. + <_>2 5 1 4 3. + 0 + 2.6606200262904167e-003 + 0.4482578039169312 + 0.6119617819786072 + <_> + + <_> + + + + <_>14 8 4 6 -1. + <_>14 10 4 2 3. + 0 + -1.5287200221791863e-003 + 0.3711237907409668 + 0.5340266227722168 + <_> + + <_> + + + + <_>1 4 3 8 -1. + <_>2 4 1 8 3. + 0 + -4.7397250309586525e-003 + 0.6031088232994080 + 0.4455145001411438 + <_> + + <_> + + + + <_>8 13 4 6 -1. + <_>8 16 4 3 2. + 0 + -0.0148291299119592 + 0.2838754057884216 + 0.5341861844062805 + <_> + + <_> + + + + <_>3 14 2 2 -1. + <_>3 15 2 1 2. + 0 + 9.2275557108223438e-004 + 0.5209547281265259 + 0.3361653983592987 + <_> + + <_> + + + + <_>14 8 4 6 -1. + <_>14 10 4 2 3. + 0 + 0.0835298076272011 + 0.5119969844818115 + 0.0811644494533539 + <_> + + <_> + + + + <_>2 8 4 6 -1. + <_>2 10 4 2 3. + 0 + -7.5633148662745953e-004 + 0.3317120075225830 + 0.5189831256866455 + <_> + + <_> + + + + <_>10 14 1 6 -1. + <_>10 17 1 3 2. + 0 + 9.8403859883546829e-003 + 0.5247598290443420 + 0.2334959059953690 + <_> + + <_> + + + + <_>7 5 3 6 -1. + <_>8 5 1 6 3. + 0 + -1.5953830443322659e-003 + 0.5750094056129456 + 0.4295622110366821 + <_> + + <_> + + + + <_>11 2 2 6 -1. + <_>12 2 1 3 2. + <_>11 5 1 3 2. + 0 + 3.4766020689858124e-005 + 0.4342445135116577 + 0.5564029216766357 + <_> + + <_> + + + + <_>6 6 6 5 -1. + <_>8 6 2 5 3. + 0 + 0.0298629105091095 + 0.4579147100448608 + 0.6579188108444214 + <_> + + <_> + + + + <_>17 1 3 6 -1. + <_>17 3 3 2 3. + 0 + 0.0113255903124809 + 0.5274311900138855 + 0.3673888146877289 + <_> + + <_> + + + + <_>8 7 3 5 -1. + <_>9 7 1 5 3. + 0 + -8.7828645482659340e-003 + 0.7100368738174439 + 0.4642167091369629 + <_> + + <_> + + + + <_>9 18 3 2 -1. + <_>10 18 1 2 3. + 0 + 4.3639959767460823e-003 + 0.5279216170310974 + 0.2705877125263214 + <_> + + <_> + + + + <_>8 18 3 2 -1. + <_>9 18 1 2 3. + 0 + 4.1804728098213673e-003 + 0.5072525143623352 + 0.2449083030223846 + <_> + + <_> + + + + <_>12 3 5 2 -1. + <_>12 4 5 1 2. + 0 + -4.5668511302210391e-004 + 0.4283105134963989 + 0.5548691153526306 + <_> + + <_> + + + + <_>7 1 5 12 -1. + <_>7 7 5 6 2. + 0 + -3.7140368949621916e-003 + 0.5519387722015381 + 0.4103653132915497 + <_> + + <_> + + + + <_>1 0 18 4 -1. + <_>7 0 6 4 3. + 0 + -0.0253042895346880 + 0.6867002248764038 + 0.4869889020919800 + <_> + + <_> + + + + <_>4 2 2 2 -1. + <_>4 3 2 1 2. + 0 + -3.4454080741852522e-004 + 0.3728874027729034 + 0.5287693142890930 + <_> + + <_> + + + + <_>11 14 4 2 -1. + <_>13 14 2 1 2. + <_>11 15 2 1 2. + 0 + -8.3935231668874621e-004 + 0.6060152053833008 + 0.4616062045097351 + <_> + + <_> + + + + <_>0 2 3 6 -1. + <_>0 4 3 2 3. + 0 + 0.0172800496220589 + 0.5049635767936707 + 0.1819823980331421 + <_> + + <_> + + + + <_>9 7 2 3 -1. + <_>9 8 2 1 3. + 0 + -6.3595077954232693e-003 + 0.1631239950656891 + 0.5232778787612915 + <_> + + <_> + + + + <_>5 5 1 3 -1. + <_>5 6 1 1 3. + 0 + 1.0298109846189618e-003 + 0.4463278055191040 + 0.6176549196243286 + <_> + + <_> + + + + <_>10 10 6 1 -1. + <_>10 10 3 1 2. + 0 + 1.0117109632119536e-003 + 0.5473384857177734 + 0.4300698935985565 + <_> + + <_> + + + + <_>4 10 6 1 -1. + <_>7 10 3 1 2. + 0 + -0.0103088002651930 + 0.1166985034942627 + 0.5000867247581482 + <_> + + <_> + + + + <_>9 17 3 3 -1. + <_>9 18 3 1 3. + 0 + 5.4682018235325813e-003 + 0.4769287109375000 + 0.6719213724136353 + <_> + + <_> + + + + <_>4 14 1 3 -1. + <_>4 15 1 1 3. + 0 + -9.1696460731327534e-004 + 0.3471089899539948 + 0.5178164839744568 + <_> + + <_> + + + + <_>12 5 3 3 -1. + <_>12 6 3 1 3. + 0 + 2.3922820109874010e-003 + 0.4785236120223999 + 0.6216310858726502 + <_> + + <_> + + + + <_>4 5 12 3 -1. + <_>4 6 12 1 3. + 0 + -7.5573818758130074e-003 + 0.5814796090126038 + 0.4410085082054138 + <_> + + <_> + + + + <_>9 8 2 3 -1. + <_>9 9 2 1 3. + 0 + -7.7024032361805439e-004 + 0.3878000080585480 + 0.5465722084045410 + <_> + + <_> + + + + <_>4 9 3 3 -1. + <_>5 9 1 3 3. + 0 + -8.7125990539789200e-003 + 0.1660051047801971 + 0.4995836019515991 + <_> + + <_> + + + + <_>6 0 9 17 -1. + <_>9 0 3 17 3. + 0 + -0.0103063201531768 + 0.4093391001224518 + 0.5274233818054199 + <_> + + <_> + + + + <_>9 12 1 3 -1. + <_>9 13 1 1 3. + 0 + -2.0940979011356831e-003 + 0.6206194758415222 + 0.4572280049324036 + <_> + + <_> + + + + <_>9 5 2 15 -1. + <_>9 10 2 5 3. + 0 + 6.8099051713943481e-003 + 0.5567759275436401 + 0.4155600070953369 + <_> + + <_> + + + + <_>8 14 2 3 -1. + <_>8 15 2 1 3. + 0 + -1.0746059706434608e-003 + 0.5638927817344666 + 0.4353024959564209 + <_> + + <_> + + + + <_>10 14 1 3 -1. + <_>10 15 1 1 3. + 0 + 2.1550289820879698e-003 + 0.4826265871524811 + 0.6749758124351502 + <_> + + <_> + + + + <_>7 1 6 5 -1. + <_>9 1 2 5 3. + 0 + 0.0317423194646835 + 0.5048379898071289 + 0.1883248984813690 + <_> + + <_> + + + + <_>0 0 20 2 -1. + <_>0 0 10 2 2. + 0 + -0.0783827230334282 + 0.2369548976421356 + 0.5260158181190491 + <_> + + <_> + + + + <_>2 13 5 3 -1. + <_>2 14 5 1 3. + 0 + 5.7415119372308254e-003 + 0.5048828721046448 + 0.2776469886302948 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -2.9014600440859795e-003 + 0.6238604784011841 + 0.4693317115306854 + <_> + + <_> + + + + <_>2 5 9 15 -1. + <_>2 10 9 5 3. + 0 + -2.6427931152284145e-003 + 0.3314141929149628 + 0.5169777274131775 + <_> + + <_> + + + + <_>5 0 12 10 -1. + <_>11 0 6 5 2. + <_>5 5 6 5 2. + 0 + -0.1094966009259224 + 0.2380045056343079 + 0.5183441042900085 + <_> + + <_> + + + + <_>5 1 2 3 -1. + <_>6 1 1 3 2. + 0 + 7.4075913289561868e-005 + 0.4069635868072510 + 0.5362150073051453 + <_> + + <_> + + + + <_>10 7 6 1 -1. + <_>12 7 2 1 3. + 0 + -5.0593802006915212e-004 + 0.5506706237792969 + 0.4374594092369080 + <_> + + <_> + + + + <_>3 1 2 10 -1. + <_>3 1 1 5 2. + <_>4 6 1 5 2. + 0 + -8.2131777890026569e-004 + 0.5525709986686707 + 0.4209375977516174 + <_> + + <_> + + + + <_>13 7 2 1 -1. + <_>13 7 1 1 2. + 0 + -6.0276539443293586e-005 + 0.5455474853515625 + 0.4748266041278839 + <_> + + <_> + + + + <_>4 13 4 6 -1. + <_>4 15 4 2 3. + 0 + 6.8065142259001732e-003 + 0.5157995820045471 + 0.3424577116966248 + <_> + + <_> + + + + <_>13 7 2 1 -1. + <_>13 7 1 1 2. + 0 + 1.7202789895236492e-003 + 0.5013207793235779 + 0.6331263780593872 + <_> + + <_> + + + + <_>5 7 2 1 -1. + <_>6 7 1 1 2. + 0 + -1.3016929733566940e-004 + 0.5539718270301819 + 0.4226869940757752 + <_> + + <_> + + + + <_>2 12 18 4 -1. + <_>11 12 9 2 2. + <_>2 14 9 2 2. + 0 + -4.8016388900578022e-003 + 0.4425095021724701 + 0.5430780053138733 + <_> + + <_> + + + + <_>5 7 2 2 -1. + <_>5 7 1 1 2. + <_>6 8 1 1 2. + 0 + -2.5399310979992151e-003 + 0.7145782113075256 + 0.4697605073451996 + <_> + + <_> + + + + <_>16 3 4 2 -1. + <_>16 4 4 1 2. + 0 + -1.4278929447755218e-003 + 0.4070445001125336 + 0.5399605035781860 + <_> + + <_> + + + + <_>0 2 2 18 -1. + <_>0 2 1 9 2. + <_>1 11 1 9 2. + 0 + -0.0251425504684448 + 0.7884690761566162 + 0.4747352004051209 + <_> + + <_> + + + + <_>1 2 18 4 -1. + <_>10 2 9 2 2. + <_>1 4 9 2 2. + 0 + -3.8899609353393316e-003 + 0.4296191930770874 + 0.5577110052108765 + <_> + + <_> + + + + <_>9 14 1 3 -1. + <_>9 15 1 1 3. + 0 + 4.3947459198534489e-003 + 0.4693162143230438 + 0.7023944258689880 + <_> + + <_> + + + + <_>2 12 18 4 -1. + <_>11 12 9 2 2. + <_>2 14 9 2 2. + 0 + 0.0246784202754498 + 0.5242322087287903 + 0.3812510073184967 + <_> + + <_> + + + + <_>0 12 18 4 -1. + <_>0 12 9 2 2. + <_>9 14 9 2 2. + 0 + 0.0380476787686348 + 0.5011739730834961 + 0.1687828004360199 + <_> + + <_> + + + + <_>11 4 5 3 -1. + <_>11 5 5 1 3. + 0 + 7.9424865543842316e-003 + 0.4828582108020783 + 0.6369568109512329 + <_> + + <_> + + + + <_>6 4 7 3 -1. + <_>6 5 7 1 3. + 0 + -1.5110049862414598e-003 + 0.5906485915184021 + 0.4487667977809906 + <_> + + <_> + + + + <_>13 17 3 3 -1. + <_>13 18 3 1 3. + 0 + 6.4201741479337215e-003 + 0.5241097807884216 + 0.2990570068359375 + <_> + + <_> + + + + <_>8 1 3 4 -1. + <_>9 1 1 4 3. + 0 + -2.9802159406244755e-003 + 0.3041465878486633 + 0.5078489780426025 + <_> + + <_> + + + + <_>11 4 2 4 -1. + <_>11 4 1 4 2. + 0 + -7.4580078944563866e-004 + 0.4128139019012451 + 0.5256826281547546 + <_> + + <_> + + + + <_>0 17 9 3 -1. + <_>3 17 3 3 3. + 0 + -0.0104709500446916 + 0.5808395147323608 + 0.4494296014308929 + <_> + + <_> + + + + <_>11 0 2 8 -1. + <_>12 0 1 4 2. + <_>11 4 1 4 2. + 0 + 9.3369204550981522e-003 + 0.5246552824974060 + 0.2658948898315430 + <_> + + <_> + + + + <_>0 8 6 12 -1. + <_>0 8 3 6 2. + <_>3 14 3 6 2. + 0 + 0.0279369000345469 + 0.4674955010414124 + 0.7087256908416748 + <_> + + <_> + + + + <_>10 7 4 12 -1. + <_>10 13 4 6 2. + 0 + 7.4277678504586220e-003 + 0.5409486889839172 + 0.3758518099784851 + <_> + + <_> + + + + <_>5 3 8 14 -1. + <_>5 10 8 7 2. + 0 + -0.0235845092684031 + 0.3758639991283417 + 0.5238550901412964 + <_> + + <_> + + + + <_>14 10 6 1 -1. + <_>14 10 3 1 2. + 0 + 1.1452640173956752e-003 + 0.4329578876495361 + 0.5804247260093689 + <_> + + <_> + + + + <_>0 4 10 4 -1. + <_>0 6 10 2 2. + 0 + -4.3468660442158580e-004 + 0.5280618071556091 + 0.3873069882392883 + <_> + + <_> + + + + <_>10 0 5 8 -1. + <_>10 4 5 4 2. + 0 + 0.0106485402211547 + 0.4902113080024719 + 0.5681251883506775 + <_> + + <_> + + + + <_>8 1 4 8 -1. + <_>8 1 2 4 2. + <_>10 5 2 4 2. + 0 + -3.9418050437234342e-004 + 0.5570880174636841 + 0.4318251013755798 + <_> + + <_> + + + + <_>9 11 6 1 -1. + <_>11 11 2 1 3. + 0 + -1.3270479394122958e-004 + 0.5658439993858337 + 0.4343554973602295 + <_> + + <_> + + + + <_>8 9 3 4 -1. + <_>9 9 1 4 3. + 0 + -2.0125510636717081e-003 + 0.6056739091873169 + 0.4537523984909058 + <_> + + <_> + + + + <_>18 4 2 6 -1. + <_>18 6 2 2 3. + 0 + 2.4854319635778666e-003 + 0.5390477180480957 + 0.4138010144233704 + <_> + + <_> + + + + <_>8 8 3 4 -1. + <_>9 8 1 4 3. + 0 + 1.8237880431115627e-003 + 0.4354828894138336 + 0.5717188715934753 + <_> + + <_> + + + + <_>7 1 13 3 -1. + <_>7 2 13 1 3. + 0 + -0.0166566595435143 + 0.3010913133621216 + 0.5216122865676880 + <_> + + <_> + + + + <_>7 13 6 1 -1. + <_>9 13 2 1 3. + 0 + 8.0349558265879750e-004 + 0.5300151109695435 + 0.3818396925926209 + <_> + + <_> + + + + <_>12 11 3 6 -1. + <_>12 13 3 2 3. + 0 + 3.4170378930866718e-003 + 0.5328028798103333 + 0.4241400063037872 + <_> + + <_> + + + + <_>5 11 6 1 -1. + <_>7 11 2 1 3. + 0 + -3.6222729249857366e-004 + 0.5491728186607361 + 0.4186977148056030 + <_> + + <_> + + + + <_>1 4 18 10 -1. + <_>10 4 9 5 2. + <_>1 9 9 5 2. + 0 + -0.1163002029061317 + 0.1440722048282623 + 0.5226451158523560 + <_> + + <_> + + + + <_>8 6 4 9 -1. + <_>8 9 4 3 3. + 0 + -0.0146950101479888 + 0.7747725248336792 + 0.4715717136859894 + <_> + + <_> + + + + <_>8 6 4 3 -1. + <_>8 7 4 1 3. + 0 + 2.1972130052745342e-003 + 0.5355433821678162 + 0.3315644860267639 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>9 7 1 3 3. + 0 + -4.6965209185145795e-004 + 0.5767235159873962 + 0.4458136856555939 + <_> + + <_> + + + + <_>14 15 4 3 -1. + <_>14 16 4 1 3. + 0 + 6.5144998952746391e-003 + 0.5215674042701721 + 0.3647888898849487 + <_> + + <_> + + + + <_>5 10 3 10 -1. + <_>6 10 1 10 3. + 0 + 0.0213000606745481 + 0.4994204938411713 + 0.1567950993776321 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + 3.1881409231573343e-003 + 0.4742200076580048 + 0.6287270188331604 + <_> + + <_> + + + + <_>0 8 1 6 -1. + <_>0 10 1 2 3. + 0 + 9.0019777417182922e-004 + 0.5347954034805298 + 0.3943752050399780 + <_> + + <_> + + + + <_>10 15 1 3 -1. + <_>10 16 1 1 3. + 0 + -5.1772277802228928e-003 + 0.6727191805839539 + 0.5013138055801392 + <_> + + <_> + + + + <_>2 15 4 3 -1. + <_>2 16 4 1 3. + 0 + -4.3764649890363216e-003 + 0.3106675148010254 + 0.5128793120384216 + <_> + + <_> + + + + <_>18 3 2 8 -1. + <_>19 3 1 4 2. + <_>18 7 1 4 2. + 0 + 2.6299960445612669e-003 + 0.4886310100555420 + 0.5755215883255005 + <_> + + <_> + + + + <_>0 3 2 8 -1. + <_>0 3 1 4 2. + <_>1 7 1 4 2. + 0 + -2.0458688959479332e-003 + 0.6025794148445129 + 0.4558076858520508 + <_> + + <_> + + + + <_>3 7 14 10 -1. + <_>10 7 7 5 2. + <_>3 12 7 5 2. + 0 + 0.0694827064871788 + 0.5240747928619385 + 0.2185259014368057 + <_> + + <_> + + + + <_>0 7 19 3 -1. + <_>0 8 19 1 3. + 0 + 0.0240489393472672 + 0.5011867284774780 + 0.2090622037649155 + <_> + + <_> + + + + <_>12 6 3 3 -1. + <_>12 7 3 1 3. + 0 + 3.1095340382307768e-003 + 0.4866712093353272 + 0.7108548283576965 + <_> + + <_> + + + + <_>0 6 1 3 -1. + <_>0 7 1 1 3. + 0 + -1.2503260513767600e-003 + 0.3407891094684601 + 0.5156195163726807 + <_> + + <_> + + + + <_>12 6 3 3 -1. + <_>12 7 3 1 3. + 0 + -1.0281190043315291e-003 + 0.5575572252273560 + 0.4439432024955750 + <_> + + <_> + + + + <_>5 6 3 3 -1. + <_>5 7 3 1 3. + 0 + -8.8893622159957886e-003 + 0.6402000784873962 + 0.4620442092418671 + <_> + + <_> + + + + <_>8 2 4 2 -1. + <_>8 3 4 1 2. + 0 + -6.1094801640138030e-004 + 0.3766441941261292 + 0.5448899865150452 + <_> + + <_> + + + + <_>6 3 4 12 -1. + <_>8 3 2 12 2. + 0 + -5.7686357758939266e-003 + 0.3318648934364319 + 0.5133677124977112 + <_> + + <_> + + + + <_>13 6 2 3 -1. + <_>13 7 2 1 3. + 0 + 1.8506490159779787e-003 + 0.4903570115566254 + 0.6406934857368469 + <_> + + <_> + + + + <_>0 10 20 4 -1. + <_>0 12 20 2 2. + 0 + -0.0997994691133499 + 0.1536051034927368 + 0.5015562176704407 + <_> + + <_> + + + + <_>2 0 17 14 -1. + <_>2 7 17 7 2. + 0 + -0.3512834906578064 + 0.0588231310248375 + 0.5174378752708435 + <_> + + <_> + + + + <_>0 0 6 10 -1. + <_>0 0 3 5 2. + <_>3 5 3 5 2. + 0 + -0.0452445708215237 + 0.6961488723754883 + 0.4677872955799103 + <_> + + <_> + + + + <_>14 6 6 4 -1. + <_>14 6 3 4 2. + 0 + 0.0714815780520439 + 0.5167986154556274 + 0.1038092970848084 + <_> + + <_> + + + + <_>0 6 6 4 -1. + <_>3 6 3 4 2. + 0 + 2.1895780228078365e-003 + 0.4273078143596649 + 0.5532060861587524 + <_> + + <_> + + + + <_>13 2 7 2 -1. + <_>13 3 7 1 2. + 0 + -5.9242651332169771e-004 + 0.4638943970203400 + 0.5276389122009277 + <_> + + <_> + + + + <_>0 2 7 2 -1. + <_>0 3 7 1 2. + 0 + 1.6788389766588807e-003 + 0.5301648974418640 + 0.3932034969329834 + <_> + + <_> + + + + <_>6 11 14 2 -1. + <_>13 11 7 1 2. + <_>6 12 7 1 2. + 0 + -2.2163488902151585e-003 + 0.5630694031715393 + 0.4757033884525299 + <_> + + <_> + + + + <_>8 5 2 2 -1. + <_>8 5 1 1 2. + <_>9 6 1 1 2. + 0 + 1.1568699846975505e-004 + 0.4307535886764526 + 0.5535702705383301 + <_> + + <_> + + + + <_>13 9 2 3 -1. + <_>13 9 1 3 2. + 0 + -7.2017288766801357e-003 + 0.1444882005453110 + 0.5193064212799072 + <_> + + <_> + + + + <_>1 1 3 12 -1. + <_>2 1 1 12 3. + 0 + 8.9081272017210722e-004 + 0.4384432137012482 + 0.5593621134757996 + <_> + + <_> + + + + <_>17 4 1 3 -1. + <_>17 5 1 1 3. + 0 + 1.9605009583756328e-004 + 0.5340415835380554 + 0.4705956876277924 + <_> + + <_> + + + + <_>2 4 1 3 -1. + <_>2 5 1 1 3. + 0 + 5.2022142335772514e-004 + 0.5213856101036072 + 0.3810079097747803 + <_> + + <_> + + + + <_>14 5 1 3 -1. + <_>14 6 1 1 3. + 0 + 9.4588572392240167e-004 + 0.4769414961338043 + 0.6130738854408264 + <_> + + <_> + + + + <_>7 16 2 3 -1. + <_>7 17 2 1 3. + 0 + 9.1698471806012094e-005 + 0.4245009124279022 + 0.5429363250732422 + <_> + + <_> + + + + <_>8 13 4 6 -1. + <_>10 13 2 3 2. + <_>8 16 2 3 2. + 0 + 2.1833200007677078e-003 + 0.5457730889320374 + 0.4191075861454010 + <_> + + <_> + + + + <_>5 5 1 3 -1. + <_>5 6 1 1 3. + 0 + -8.6039671441540122e-004 + 0.5764588713645935 + 0.4471659958362579 + <_> + + <_> + + + + <_>16 0 4 20 -1. + <_>16 0 2 20 2. + 0 + -0.0132362395524979 + 0.6372823119163513 + 0.4695009887218475 + <_> + + <_> + + + + <_>5 1 2 6 -1. + <_>5 1 1 3 2. + <_>6 4 1 3 2. + 0 + 4.3376701069064438e-004 + 0.5317873954772949 + 0.3945829868316650 + 67.6989212036132810 + 14 + -1 + <_> + + + <_> + + <_> + + + + <_>5 4 10 4 -1. + <_>5 6 10 2 2. + 0 + -0.0248471498489380 + 0.6555516719818115 + 0.3873311877250671 + <_> + + <_> + + + + <_>15 2 4 12 -1. + <_>15 2 2 12 2. + 0 + 6.1348611488938332e-003 + 0.3748072087764740 + 0.5973997712135315 + <_> + + <_> + + + + <_>7 6 4 12 -1. + <_>7 12 4 6 2. + 0 + 6.4498498104512691e-003 + 0.5425491929054260 + 0.2548811137676239 + <_> + + <_> + + + + <_>14 5 1 8 -1. + <_>14 9 1 4 2. + 0 + 6.3491211039945483e-004 + 0.2462442070245743 + 0.5387253761291504 + <_> + + <_> + + + + <_>1 4 14 10 -1. + <_>1 4 7 5 2. + <_>8 9 7 5 2. + 0 + 1.4023890253156424e-003 + 0.5594322085380554 + 0.3528657853603363 + <_> + + <_> + + + + <_>11 6 6 14 -1. + <_>14 6 3 7 2. + <_>11 13 3 7 2. + 0 + 3.0044000595808029e-004 + 0.3958503901958466 + 0.5765938162803650 + <_> + + <_> + + + + <_>3 6 6 14 -1. + <_>3 6 3 7 2. + <_>6 13 3 7 2. + 0 + 1.0042409849120304e-004 + 0.3698996901512146 + 0.5534998178482056 + <_> + + <_> + + + + <_>4 9 15 2 -1. + <_>9 9 5 2 3. + 0 + -5.0841490738093853e-003 + 0.3711090981960297 + 0.5547800064086914 + <_> + + <_> + + + + <_>7 14 6 3 -1. + <_>7 15 6 1 3. + 0 + -0.0195372607558966 + 0.7492755055427551 + 0.4579297006130219 + <_> + + <_> + + + + <_>6 3 14 4 -1. + <_>13 3 7 2 2. + <_>6 5 7 2 2. + 0 + -7.4532740654831287e-006 + 0.5649787187576294 + 0.3904069960117340 + <_> + + <_> + + + + <_>1 9 15 2 -1. + <_>6 9 5 2 3. + 0 + -3.6079459823668003e-003 + 0.3381088078022003 + 0.5267801284790039 + <_> + + <_> + + + + <_>6 11 8 9 -1. + <_>6 14 8 3 3. + 0 + 2.0697501022368670e-003 + 0.5519291162490845 + 0.3714388906955719 + <_> + + <_> + + + + <_>7 4 3 8 -1. + <_>8 4 1 8 3. + 0 + -4.6463840408250690e-004 + 0.5608214735984802 + 0.4113566875457764 + <_> + + <_> + + + + <_>14 6 2 6 -1. + <_>14 9 2 3 2. + 0 + 7.5490452582016587e-004 + 0.3559206128120422 + 0.5329356193542481 + <_> + + <_> + + + + <_>5 7 6 4 -1. + <_>5 7 3 2 2. + <_>8 9 3 2 2. + 0 + -9.8322238773107529e-004 + 0.5414795875549316 + 0.3763205111026764 + <_> + + <_> + + + + <_>1 1 18 19 -1. + <_>7 1 6 19 3. + 0 + -0.0199406407773495 + 0.6347903013229370 + 0.4705299139022827 + <_> + + <_> + + + + <_>1 2 6 5 -1. + <_>4 2 3 5 2. + 0 + 3.7680300883948803e-003 + 0.3913489878177643 + 0.5563716292381287 + <_> + + <_> + + + + <_>12 17 6 2 -1. + <_>12 18 6 1 2. + 0 + -9.4528505578637123e-003 + 0.2554892897605896 + 0.5215116739273071 + <_> + + <_> + + + + <_>2 17 6 2 -1. + <_>2 18 6 1 2. + 0 + 2.9560849070549011e-003 + 0.5174679160118103 + 0.3063920140266419 + <_> + + <_> + + + + <_>17 3 3 6 -1. + <_>17 5 3 2 3. + 0 + 9.1078737750649452e-003 + 0.5388448238372803 + 0.2885963022708893 + <_> + + <_> + + + + <_>8 17 3 3 -1. + <_>8 18 3 1 3. + 0 + 1.8219229532405734e-003 + 0.4336043000221252 + 0.5852196812629700 + <_> + + <_> + + + + <_>10 13 2 6 -1. + <_>10 16 2 3 2. + 0 + 0.0146887395530939 + 0.5287361741065979 + 0.2870005965232849 + <_> + + <_> + + + + <_>7 13 6 3 -1. + <_>7 14 6 1 3. + 0 + -0.0143879903480411 + 0.7019448876380920 + 0.4647370874881744 + <_> + + <_> + + + + <_>17 3 3 6 -1. + <_>17 5 3 2 3. + 0 + -0.0189866498112679 + 0.2986552119255066 + 0.5247011780738831 + <_> + + <_> + + + + <_>8 13 2 3 -1. + <_>8 14 2 1 3. + 0 + 1.1527639580890536e-003 + 0.4323473870754242 + 0.5931661725044251 + <_> + + <_> + + + + <_>9 3 6 2 -1. + <_>11 3 2 2 3. + 0 + 0.0109336702153087 + 0.5286864042282105 + 0.3130319118499756 + <_> + + <_> + + + + <_>0 3 3 6 -1. + <_>0 5 3 2 3. + 0 + -0.0149327302351594 + 0.2658419013023377 + 0.5084077119827271 + <_> + + <_> + + + + <_>8 5 4 6 -1. + <_>8 7 4 2 3. + 0 + -2.9970539617352188e-004 + 0.5463526844978333 + 0.3740724027156830 + <_> + + <_> + + + + <_>5 5 3 2 -1. + <_>5 6 3 1 2. + 0 + 4.1677621193230152e-003 + 0.4703496992588043 + 0.7435721755027771 + <_> + + <_> + + + + <_>10 1 3 4 -1. + <_>11 1 1 4 3. + 0 + -6.3905320130288601e-003 + 0.2069258987903595 + 0.5280538201332092 + <_> + + <_> + + + + <_>1 2 5 9 -1. + <_>1 5 5 3 3. + 0 + 4.5029609464108944e-003 + 0.5182648897171021 + 0.3483543097972870 + <_> + + <_> + + + + <_>13 6 2 3 -1. + <_>13 7 2 1 3. + 0 + -9.2040365561842918e-003 + 0.6803777217864990 + 0.4932360053062439 + <_> + + <_> + + + + <_>0 6 14 3 -1. + <_>7 6 7 3 2. + 0 + 0.0813272595405579 + 0.5058398842811585 + 0.2253051996231079 + <_> + + <_> + + + + <_>2 11 18 8 -1. + <_>2 15 18 4 2. + 0 + -0.1507928073406220 + 0.2963424921035767 + 0.5264679789543152 + <_> + + <_> + + + + <_>5 6 2 3 -1. + <_>5 7 2 1 3. + 0 + 3.3179009333252907e-003 + 0.4655495882034302 + 0.7072932124137878 + <_> + + <_> + + + + <_>10 6 4 2 -1. + <_>12 6 2 1 2. + <_>10 7 2 1 2. + 0 + 7.7402801252901554e-004 + 0.4780347943305969 + 0.5668237805366516 + <_> + + <_> + + + + <_>6 6 4 2 -1. + <_>6 6 2 1 2. + <_>8 7 2 1 2. + 0 + 6.8199541419744492e-004 + 0.4286996126174927 + 0.5722156763076782 + <_> + + <_> + + + + <_>10 1 3 4 -1. + <_>11 1 1 4 3. + 0 + 5.3671570494771004e-003 + 0.5299307107925415 + 0.3114621937274933 + <_> + + <_> + + + + <_>7 1 2 7 -1. + <_>8 1 1 7 2. + 0 + 9.7018666565418243e-005 + 0.3674638867378235 + 0.5269461870193481 + <_> + + <_> + + + + <_>4 2 15 14 -1. + <_>4 9 15 7 2. + 0 + -0.1253408938646317 + 0.2351492047309876 + 0.5245791077613831 + <_> + + <_> + + + + <_>8 7 3 2 -1. + <_>9 7 1 2 3. + 0 + -5.2516269497573376e-003 + 0.7115936875343323 + 0.4693767130374908 + <_> + + <_> + + + + <_>2 3 18 4 -1. + <_>11 3 9 2 2. + <_>2 5 9 2 2. + 0 + -7.8342109918594360e-003 + 0.4462651014328003 + 0.5409085750579834 + <_> + + <_> + + + + <_>9 7 2 2 -1. + <_>10 7 1 2 2. + 0 + -1.1310069821774960e-003 + 0.5945618748664856 + 0.4417662024497986 + <_> + + <_> + + + + <_>13 9 2 3 -1. + <_>13 9 1 3 2. + 0 + 1.7601120052859187e-003 + 0.5353249907493591 + 0.3973453044891357 + <_> + + <_> + + + + <_>5 2 6 2 -1. + <_>7 2 2 2 3. + 0 + -8.1581249833106995e-004 + 0.3760268092155457 + 0.5264726877212524 + <_> + + <_> + + + + <_>9 5 2 7 -1. + <_>9 5 1 7 2. + 0 + -3.8687589112669230e-003 + 0.6309912800788879 + 0.4749819934368134 + <_> + + <_> + + + + <_>5 9 2 3 -1. + <_>6 9 1 3 2. + 0 + 1.5207129763439298e-003 + 0.5230181813240051 + 0.3361223936080933 + <_> + + <_> + + + + <_>6 0 14 18 -1. + <_>6 9 14 9 2. + 0 + 0.5458673834800720 + 0.5167139768600464 + 0.1172635033726692 + <_> + + <_> + + + + <_>2 16 6 3 -1. + <_>2 17 6 1 3. + 0 + 0.0156501904129982 + 0.4979439079761505 + 0.1393294930458069 + <_> + + <_> + + + + <_>9 7 3 6 -1. + <_>10 7 1 6 3. + 0 + -0.0117318602278829 + 0.7129650712013245 + 0.4921196103096008 + <_> + + <_> + + + + <_>7 8 4 3 -1. + <_>7 9 4 1 3. + 0 + -6.1765122227370739e-003 + 0.2288102954626083 + 0.5049701929092407 + <_> + + <_> + + + + <_>7 12 6 3 -1. + <_>7 13 6 1 3. + 0 + 2.2457661107182503e-003 + 0.4632433950901032 + 0.6048725843429565 + <_> + + <_> + + + + <_>9 12 2 3 -1. + <_>9 13 2 1 3. + 0 + -5.1915869116783142e-003 + 0.6467421054840088 + 0.4602192938327789 + <_> + + <_> + + + + <_>7 12 6 2 -1. + <_>9 12 2 2 3. + 0 + -0.0238278806209564 + 0.1482000946998596 + 0.5226079225540161 + <_> + + <_> + + + + <_>5 11 4 6 -1. + <_>5 14 4 3 2. + 0 + 1.0284580057486892e-003 + 0.5135489106178284 + 0.3375957012176514 + <_> + + <_> + + + + <_>11 12 7 2 -1. + <_>11 13 7 1 2. + 0 + -0.0100788502022624 + 0.2740561068058014 + 0.5303567051887512 + <_> + + <_> + + + + <_>6 10 8 6 -1. + <_>6 10 4 3 2. + <_>10 13 4 3 2. + 0 + 2.6168930344283581e-003 + 0.5332670807838440 + 0.3972454071044922 + <_> + + <_> + + + + <_>11 10 3 4 -1. + <_>11 12 3 2 2. + 0 + 5.4385367548093200e-004 + 0.5365604162216187 + 0.4063411951065064 + <_> + + <_> + + + + <_>9 16 2 3 -1. + <_>9 17 2 1 3. + 0 + 5.3510512225329876e-003 + 0.4653759002685547 + 0.6889045834541321 + <_> + + <_> + + + + <_>13 3 1 9 -1. + <_>13 6 1 3 3. + 0 + -1.5274790348485112e-003 + 0.5449501276016235 + 0.3624723851680756 + <_> + + <_> + + + + <_>1 13 14 6 -1. + <_>1 15 14 2 3. + 0 + -0.0806244164705276 + 0.1656087040901184 + 0.5000287294387817 + <_> + + <_> + + + + <_>13 6 1 6 -1. + <_>13 9 1 3 2. + 0 + 0.0221920292824507 + 0.5132731199264526 + 0.2002808004617691 + <_> + + <_> + + + + <_>0 4 3 8 -1. + <_>1 4 1 8 3. + 0 + 7.3100631125271320e-003 + 0.4617947936058044 + 0.6366536021232605 + <_> + + <_> + + + + <_>18 0 2 18 -1. + <_>18 0 1 18 2. + 0 + -6.4063072204589844e-003 + 0.5916250944137573 + 0.4867860972881317 + <_> + + <_> + + + + <_>2 3 6 2 -1. + <_>2 4 6 1 2. + 0 + -7.6415040530264378e-004 + 0.3888409137725830 + 0.5315797924995422 + <_> + + <_> + + + + <_>9 0 8 6 -1. + <_>9 2 8 2 3. + 0 + 7.6734489994123578e-004 + 0.4159064888954163 + 0.5605279803276062 + <_> + + <_> + + + + <_>6 6 1 6 -1. + <_>6 9 1 3 2. + 0 + 6.1474501853808761e-004 + 0.3089022040367127 + 0.5120148062705994 + <_> + + <_> + + + + <_>14 8 6 3 -1. + <_>14 9 6 1 3. + 0 + -5.0105270929634571e-003 + 0.3972199857234955 + 0.5207306146621704 + <_> + + <_> + + + + <_>0 0 2 18 -1. + <_>1 0 1 18 2. + 0 + -8.6909132078289986e-003 + 0.6257408261299133 + 0.4608575999736786 + <_> + + <_> + + + + <_>1 18 18 2 -1. + <_>10 18 9 1 2. + <_>1 19 9 1 2. + 0 + -0.0163914598524570 + 0.2085209935903549 + 0.5242266058921814 + <_> + + <_> + + + + <_>3 15 2 2 -1. + <_>3 16 2 1 2. + 0 + 4.0973909199237823e-004 + 0.5222427248954773 + 0.3780320882797241 + <_> + + <_> + + + + <_>8 14 5 3 -1. + <_>8 15 5 1 3. + 0 + -2.5242289993911982e-003 + 0.5803927183151245 + 0.4611890017986298 + <_> + + <_> + + + + <_>8 14 2 3 -1. + <_>8 15 2 1 3. + 0 + 5.0945312250405550e-004 + 0.4401271939277649 + 0.5846015810966492 + <_> + + <_> + + + + <_>12 3 3 3 -1. + <_>13 3 1 3 3. + 0 + 1.9656419754028320e-003 + 0.5322325229644775 + 0.4184590876102448 + <_> + + <_> + + + + <_>7 5 6 2 -1. + <_>9 5 2 2 3. + 0 + 5.6298897834494710e-004 + 0.3741844892501831 + 0.5234565734863281 + <_> + + <_> + + + + <_>15 5 5 2 -1. + <_>15 6 5 1 2. + 0 + -6.7946797935292125e-004 + 0.4631041884422302 + 0.5356478095054627 + <_> + + <_> + + + + <_>0 5 5 2 -1. + <_>0 6 5 1 2. + 0 + 7.2856349870562553e-003 + 0.5044670104980469 + 0.2377564013004303 + <_> + + <_> + + + + <_>17 14 1 6 -1. + <_>17 17 1 3 2. + 0 + -0.0174594894051552 + 0.7289121150970459 + 0.5050435066223145 + <_> + + <_> + + + + <_>2 9 9 3 -1. + <_>5 9 3 3 3. + 0 + -0.0254217498004436 + 0.6667134761810303 + 0.4678100049495697 + <_> + + <_> + + + + <_>12 3 3 3 -1. + <_>13 3 1 3 3. + 0 + -1.5647639520466328e-003 + 0.4391759037971497 + 0.5323626995086670 + <_> + + <_> + + + + <_>0 0 4 18 -1. + <_>2 0 2 18 2. + 0 + 0.0114443600177765 + 0.4346440136432648 + 0.5680012106895447 + <_> + + <_> + + + + <_>17 6 1 3 -1. + <_>17 7 1 1 3. + 0 + -6.7352550104260445e-004 + 0.4477140903472900 + 0.5296812057495117 + <_> + + <_> + + + + <_>2 14 1 6 -1. + <_>2 17 1 3 2. + 0 + 9.3194209039211273e-003 + 0.4740200042724609 + 0.7462607026100159 + <_> + + <_> + + + + <_>19 8 1 2 -1. + <_>19 9 1 1 2. + 0 + 1.3328490604180843e-004 + 0.5365061759948731 + 0.4752134978771210 + <_> + + <_> + + + + <_>5 3 3 3 -1. + <_>6 3 1 3 3. + 0 + -7.8815799206495285e-003 + 0.1752219051122665 + 0.5015255212783814 + <_> + + <_> + + + + <_>9 16 2 3 -1. + <_>9 17 2 1 3. + 0 + -5.7985680177807808e-003 + 0.7271236777305603 + 0.4896200895309448 + <_> + + <_> + + + + <_>2 6 1 3 -1. + <_>2 7 1 1 3. + 0 + -3.8922499516047537e-004 + 0.4003908932209015 + 0.5344941020011902 + <_> + + <_> + + + + <_>12 4 8 2 -1. + <_>16 4 4 1 2. + <_>12 5 4 1 2. + 0 + -1.9288610201328993e-003 + 0.5605612993240356 + 0.4803955852985382 + <_> + + <_> + + + + <_>0 4 8 2 -1. + <_>0 4 4 1 2. + <_>4 5 4 1 2. + 0 + 8.4214154630899429e-003 + 0.4753246903419495 + 0.7623608708381653 + <_> + + <_> + + + + <_>2 16 18 4 -1. + <_>2 18 18 2 2. + 0 + 8.1655876711010933e-003 + 0.5393261909484863 + 0.4191643893718720 + <_> + + <_> + + + + <_>7 15 2 4 -1. + <_>7 17 2 2 2. + 0 + 4.8280550981871784e-004 + 0.4240800142288208 + 0.5399821996688843 + <_> + + <_> + + + + <_>4 0 14 3 -1. + <_>4 1 14 1 3. + 0 + -2.7186630759388208e-003 + 0.4244599938392639 + 0.5424923896789551 + <_> + + <_> + + + + <_>0 0 4 20 -1. + <_>2 0 2 20 2. + 0 + -0.0125072300434113 + 0.5895841717720032 + 0.4550411105155945 + <_> + + <_> + + + + <_>12 4 4 8 -1. + <_>14 4 2 4 2. + <_>12 8 2 4 2. + 0 + -0.0242865197360516 + 0.2647134959697723 + 0.5189179778099060 + <_> + + <_> + + + + <_>6 7 2 2 -1. + <_>6 7 1 1 2. + <_>7 8 1 1 2. + 0 + -2.9676330741494894e-003 + 0.7347682714462280 + 0.4749749898910523 + <_> + + <_> + + + + <_>10 6 2 3 -1. + <_>10 7 2 1 3. + 0 + -0.0125289997085929 + 0.2756049931049347 + 0.5177599787712097 + <_> + + <_> + + + + <_>8 7 3 2 -1. + <_>8 8 3 1 2. + 0 + -1.0104000102728605e-003 + 0.3510560989379883 + 0.5144724249839783 + <_> + + <_> + + + + <_>8 2 6 12 -1. + <_>8 8 6 6 2. + 0 + -2.1348530426621437e-003 + 0.5637925863265991 + 0.4667319953441620 + <_> + + <_> + + + + <_>4 0 11 12 -1. + <_>4 4 11 4 3. + 0 + 0.0195642597973347 + 0.4614573121070862 + 0.6137639880180359 + <_> + + <_> + + + + <_>14 9 6 11 -1. + <_>16 9 2 11 3. + 0 + -0.0971463471651077 + 0.2998378872871399 + 0.5193555951118469 + <_> + + <_> + + + + <_>0 14 4 3 -1. + <_>0 15 4 1 3. + 0 + 4.5014568604528904e-003 + 0.5077884793281555 + 0.3045755922794342 + <_> + + <_> + + + + <_>9 10 2 3 -1. + <_>9 11 2 1 3. + 0 + 6.3706971704959869e-003 + 0.4861018955707550 + 0.6887500882148743 + <_> + + <_> + + + + <_>5 11 3 2 -1. + <_>5 12 3 1 2. + 0 + -9.0721528977155685e-003 + 0.1673395931720734 + 0.5017563104629517 + <_> + + <_> + + + + <_>9 15 3 3 -1. + <_>10 15 1 3 3. + 0 + -5.3537208586931229e-003 + 0.2692756950855255 + 0.5242633223533630 + <_> + + <_> + + + + <_>8 8 3 4 -1. + <_>9 8 1 4 3. + 0 + -0.0109328404068947 + 0.7183864116668701 + 0.4736028909683228 + <_> + + <_> + + + + <_>9 15 3 3 -1. + <_>10 15 1 3 3. + 0 + 8.2356072962284088e-003 + 0.5223966836929321 + 0.2389862984418869 + <_> + + <_> + + + + <_>7 7 3 2 -1. + <_>8 7 1 2 3. + 0 + -1.0038160253316164e-003 + 0.5719355940818787 + 0.4433943033218384 + <_> + + <_> + + + + <_>2 10 16 4 -1. + <_>10 10 8 2 2. + <_>2 12 8 2 2. + 0 + 4.0859128348529339e-003 + 0.5472841858863831 + 0.4148836135864258 + <_> + + <_> + + + + <_>2 3 4 17 -1. + <_>4 3 2 17 2. + 0 + 0.1548541933298111 + 0.4973812103271484 + 0.0610615983605385 + <_> + + <_> + + + + <_>15 13 2 7 -1. + <_>15 13 1 7 2. + 0 + 2.0897459762636572e-004 + 0.4709174036979675 + 0.5423889160156250 + <_> + + <_> + + + + <_>2 2 6 1 -1. + <_>5 2 3 1 2. + 0 + 3.3316991175524890e-004 + 0.4089626967906952 + 0.5300992131233215 + <_> + + <_> + + + + <_>5 2 12 4 -1. + <_>9 2 4 4 3. + 0 + -0.0108134001493454 + 0.6104369759559631 + 0.4957334101200104 + <_> + + <_> + + + + <_>6 0 8 12 -1. + <_>6 0 4 6 2. + <_>10 6 4 6 2. + 0 + 0.0456560105085373 + 0.5069689154624939 + 0.2866660058498383 + <_> + + <_> + + + + <_>13 7 2 2 -1. + <_>14 7 1 1 2. + <_>13 8 1 1 2. + 0 + 1.2569549726322293e-003 + 0.4846917092800140 + 0.6318171024322510 + <_> + + <_> + + + + <_>0 12 20 6 -1. + <_>0 14 20 2 3. + 0 + -0.1201507002115250 + 0.0605261400341988 + 0.4980959892272949 + <_> + + <_> + + + + <_>14 7 2 3 -1. + <_>14 7 1 3 2. + 0 + -1.0533799650147557e-004 + 0.5363109707832336 + 0.4708042144775391 + <_> + + <_> + + + + <_>0 8 9 12 -1. + <_>3 8 3 12 3. + 0 + -0.2070319056510925 + 0.0596603304147720 + 0.4979098141193390 + <_> + + <_> + + + + <_>3 0 16 2 -1. + <_>3 0 8 2 2. + 0 + 1.2909180077258497e-004 + 0.4712977111339569 + 0.5377997756004334 + <_> + + <_> + + + + <_>6 15 3 3 -1. + <_>6 16 3 1 3. + 0 + 3.8818528992123902e-004 + 0.4363538026809692 + 0.5534191131591797 + <_> + + <_> + + + + <_>8 15 6 3 -1. + <_>8 16 6 1 3. + 0 + -2.9243610333651304e-003 + 0.5811185836791992 + 0.4825215935707092 + <_> + + <_> + + + + <_>0 10 1 6 -1. + <_>0 12 1 2 3. + 0 + 8.3882332546636462e-004 + 0.5311700105667114 + 0.4038138985633850 + <_> + + <_> + + + + <_>10 9 4 3 -1. + <_>10 10 4 1 3. + 0 + -1.9061550265178084e-003 + 0.3770701885223389 + 0.5260015130043030 + <_> + + <_> + + + + <_>9 15 2 3 -1. + <_>9 16 2 1 3. + 0 + 8.9514348655939102e-003 + 0.4766167998313904 + 0.7682183980941773 + <_> + + <_> + + + + <_>5 7 10 1 -1. + <_>5 7 5 1 2. + 0 + 0.0130834598094225 + 0.5264462828636169 + 0.3062222003936768 + <_> + + <_> + + + + <_>4 0 12 19 -1. + <_>10 0 6 19 2. + 0 + -0.2115933001041412 + 0.6737198233604431 + 0.4695810079574585 + <_> + + <_> + + + + <_>0 6 20 6 -1. + <_>10 6 10 3 2. + <_>0 9 10 3 2. + 0 + 3.1493250280618668e-003 + 0.5644835233688355 + 0.4386953115463257 + <_> + + <_> + + + + <_>3 6 2 2 -1. + <_>3 6 1 1 2. + <_>4 7 1 1 2. + 0 + 3.9754100725986063e-004 + 0.4526061117649078 + 0.5895630121231079 + <_> + + <_> + + + + <_>15 6 2 2 -1. + <_>16 6 1 1 2. + <_>15 7 1 1 2. + 0 + -1.3814480043947697e-003 + 0.6070582270622253 + 0.4942413866519928 + <_> + + <_> + + + + <_>3 6 2 2 -1. + <_>3 6 1 1 2. + <_>4 7 1 1 2. + 0 + -5.8122188784182072e-004 + 0.5998213291168213 + 0.4508252143859863 + <_> + + <_> + + + + <_>14 4 1 12 -1. + <_>14 10 1 6 2. + 0 + -2.3905329871922731e-003 + 0.4205588996410370 + 0.5223848223686218 + <_> + + <_> + + + + <_>2 5 16 10 -1. + <_>2 5 8 5 2. + <_>10 10 8 5 2. + 0 + 0.0272689294070005 + 0.5206447243690491 + 0.3563301861286163 + <_> + + <_> + + + + <_>9 17 3 2 -1. + <_>10 17 1 2 3. + 0 + -3.7658358924090862e-003 + 0.3144704103469849 + 0.5218814015388489 + <_> + + <_> + + + + <_>1 4 2 2 -1. + <_>1 5 2 1 2. + 0 + -1.4903489500284195e-003 + 0.3380196094512940 + 0.5124437212944031 + <_> + + <_> + + + + <_>5 0 15 5 -1. + <_>10 0 5 5 3. + 0 + -0.0174282304942608 + 0.5829960703849793 + 0.4919725954532623 + <_> + + <_> + + + + <_>0 0 15 5 -1. + <_>5 0 5 5 3. + 0 + -0.0152780301868916 + 0.6163144707679749 + 0.4617887139320374 + <_> + + <_> + + + + <_>11 2 2 17 -1. + <_>11 2 1 17 2. + 0 + 0.0319956094026566 + 0.5166357159614563 + 0.1712764054536820 + <_> + + <_> + + + + <_>7 2 2 17 -1. + <_>8 2 1 17 2. + 0 + -3.8256710395216942e-003 + 0.3408012092113495 + 0.5131387710571289 + <_> + + <_> + + + + <_>15 11 2 9 -1. + <_>15 11 1 9 2. + 0 + -8.5186436772346497e-003 + 0.6105518937110901 + 0.4997941851615906 + <_> + + <_> + + + + <_>3 11 2 9 -1. + <_>4 11 1 9 2. + 0 + 9.0641621500253677e-004 + 0.4327270984649658 + 0.5582311153411865 + <_> + + <_> + + + + <_>5 16 14 4 -1. + <_>5 16 7 4 2. + 0 + 0.0103448498994112 + 0.4855653047561646 + 0.5452420115470886 + 69.2298736572265630 + 15 + -1 + <_> + + + <_> + + <_> + + + + <_>1 4 18 1 -1. + <_>7 4 6 1 3. + 0 + 7.8981826081871986e-003 + 0.3332524895668030 + 0.5946462154388428 + <_> + + <_> + + + + <_>13 7 6 4 -1. + <_>16 7 3 2 2. + <_>13 9 3 2 2. + 0 + 1.6170160379260778e-003 + 0.3490641117095947 + 0.5577868819236755 + <_> + + <_> + + + + <_>9 8 2 12 -1. + <_>9 12 2 4 3. + 0 + -5.5449741194024682e-004 + 0.5542566180229187 + 0.3291530013084412 + <_> + + <_> + + + + <_>12 1 6 6 -1. + <_>12 3 6 2 3. + 0 + 1.5428980113938451e-003 + 0.3612579107284546 + 0.5545979142189026 + <_> + + <_> + + + + <_>5 2 6 6 -1. + <_>5 2 3 3 2. + <_>8 5 3 3 2. + 0 + -1.0329450014978647e-003 + 0.3530139029026032 + 0.5576140284538269 + <_> + + <_> + + + + <_>9 16 6 4 -1. + <_>12 16 3 2 2. + <_>9 18 3 2 2. + 0 + 7.7698158565908670e-004 + 0.3916778862476349 + 0.5645321011543274 + <_> + + <_> + + + + <_>1 2 18 3 -1. + <_>7 2 6 3 3. + 0 + 0.1432030051946640 + 0.4667482078075409 + 0.7023633122444153 + <_> + + <_> + + + + <_>7 4 9 10 -1. + <_>7 9 9 5 2. + 0 + -7.3866490274667740e-003 + 0.3073684871196747 + 0.5289257764816284 + <_> + + <_> + + + + <_>5 9 4 4 -1. + <_>7 9 2 4 2. + 0 + -6.2936742324382067e-004 + 0.5622118115425110 + 0.4037049114704132 + <_> + + <_> + + + + <_>11 10 3 6 -1. + <_>11 13 3 3 2. + 0 + 7.8893528552725911e-004 + 0.5267661213874817 + 0.3557874858379364 + <_> + + <_> + + + + <_>7 11 5 3 -1. + <_>7 12 5 1 3. + 0 + -0.0122280502691865 + 0.6668320894241333 + 0.4625549912452698 + <_> + + <_> + + + + <_>7 11 6 6 -1. + <_>10 11 3 3 2. + <_>7 14 3 3 2. + 0 + 3.5420239437371492e-003 + 0.5521438121795654 + 0.3869673013687134 + <_> + + <_> + + + + <_>0 0 10 9 -1. + <_>0 3 10 3 3. + 0 + -1.0585320414975286e-003 + 0.3628678023815155 + 0.5320926904678345 + <_> + + <_> + + + + <_>13 14 1 6 -1. + <_>13 16 1 2 3. + 0 + 1.4935660146875307e-005 + 0.4632444977760315 + 0.5363323092460632 + <_> + + <_> + + + + <_>0 2 3 6 -1. + <_>0 4 3 2 3. + 0 + 5.2537708543241024e-003 + 0.5132231712341309 + 0.3265708982944489 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + -8.2338023930788040e-003 + 0.6693689823150635 + 0.4774140119552612 + <_> + + <_> + + + + <_>6 14 1 6 -1. + <_>6 16 1 2 3. + 0 + 2.1866810129722580e-005 + 0.4053862094879150 + 0.5457931160926819 + <_> + + <_> + + + + <_>9 15 2 3 -1. + <_>9 16 2 1 3. + 0 + -3.8150229956954718e-003 + 0.6454995870590210 + 0.4793178141117096 + <_> + + <_> + + + + <_>6 4 3 3 -1. + <_>7 4 1 3 3. + 0 + 1.1105879675596952e-003 + 0.5270407199859619 + 0.3529678881168366 + <_> + + <_> + + + + <_>9 0 11 3 -1. + <_>9 1 11 1 3. + 0 + -5.7707689702510834e-003 + 0.3803547024726868 + 0.5352957844734192 + <_> + + <_> + + + + <_>0 6 20 3 -1. + <_>0 7 20 1 3. + 0 + -3.0158339068293571e-003 + 0.5339403152465820 + 0.3887133002281189 + <_> + + <_> + + + + <_>10 1 1 2 -1. + <_>10 2 1 1 2. + 0 + -8.5453689098358154e-004 + 0.3564616143703461 + 0.5273603796958923 + <_> + + <_> + + + + <_>9 6 2 6 -1. + <_>10 6 1 6 2. + 0 + 0.0110505102202296 + 0.4671907126903534 + 0.6849737763404846 + <_> + + <_> + + + + <_>5 8 12 1 -1. + <_>9 8 4 1 3. + 0 + 0.0426058396697044 + 0.5151473283767700 + 0.0702200904488564 + <_> + + <_> + + + + <_>3 8 12 1 -1. + <_>7 8 4 1 3. + 0 + -3.0781750101596117e-003 + 0.3041661083698273 + 0.5152602195739746 + <_> + + <_> + + + + <_>9 7 3 5 -1. + <_>10 7 1 5 3. + 0 + -5.4815728217363358e-003 + 0.6430295705795288 + 0.4897229969501495 + <_> + + <_> + + + + <_>3 9 6 2 -1. + <_>6 9 3 2 2. + 0 + 3.1881860923022032e-003 + 0.5307493209838867 + 0.3826209902763367 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + 3.5947180003859103e-004 + 0.4650047123432159 + 0.5421904921531677 + <_> + + <_> + + + + <_>7 0 6 1 -1. + <_>9 0 2 1 3. + 0 + -4.0705031715333462e-003 + 0.2849679887294769 + 0.5079116225242615 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + -0.0145941702648997 + 0.2971645891666412 + 0.5128461718559265 + <_> + + <_> + + + + <_>7 10 2 1 -1. + <_>8 10 1 1 2. + 0 + -1.1947689927183092e-004 + 0.5631098151206970 + 0.4343082010746002 + <_> + + <_> + + + + <_>6 4 9 13 -1. + <_>9 4 3 13 3. + 0 + -6.9344649091362953e-004 + 0.4403578042984009 + 0.5359959006309509 + <_> + + <_> + + + + <_>6 8 4 2 -1. + <_>6 9 4 1 2. + 0 + 1.4834799912932795e-005 + 0.3421008884906769 + 0.5164697766304016 + <_> + + <_> + + + + <_>16 2 4 6 -1. + <_>16 2 2 6 2. + 0 + 9.0296985581517220e-003 + 0.4639343023300171 + 0.6114075183868408 + <_> + + <_> + + + + <_>0 17 6 3 -1. + <_>0 18 6 1 3. + 0 + -8.0640818923711777e-003 + 0.2820158898830414 + 0.5075494050979614 + <_> + + <_> + + + + <_>10 10 3 10 -1. + <_>10 15 3 5 2. + 0 + 0.0260621197521687 + 0.5208905935287476 + 0.2688778042793274 + <_> + + <_> + + + + <_>8 7 3 5 -1. + <_>9 7 1 5 3. + 0 + 0.0173146594315767 + 0.4663713872432709 + 0.6738539934158325 + <_> + + <_> + + + + <_>10 4 4 3 -1. + <_>10 4 2 3 2. + 0 + 0.0226666405797005 + 0.5209349989891052 + 0.2212723940610886 + <_> + + <_> + + + + <_>8 4 3 8 -1. + <_>9 4 1 8 3. + 0 + -2.1965929772704840e-003 + 0.6063101291656494 + 0.4538190066814423 + <_> + + <_> + + + + <_>6 6 9 13 -1. + <_>9 6 3 13 3. + 0 + -9.5282476395368576e-003 + 0.4635204970836639 + 0.5247430801391602 + <_> + + <_> + + + + <_>6 0 8 12 -1. + <_>6 0 4 6 2. + <_>10 6 4 6 2. + 0 + 8.0943619832396507e-003 + 0.5289440155029297 + 0.3913882076740265 + <_> + + <_> + + + + <_>14 2 6 8 -1. + <_>16 2 2 8 3. + 0 + -0.0728773325681686 + 0.7752001881599426 + 0.4990234971046448 + <_> + + <_> + + + + <_>6 0 3 6 -1. + <_>7 0 1 6 3. + 0 + -6.9009521976113319e-003 + 0.2428039014339447 + 0.5048090219497681 + <_> + + <_> + + + + <_>14 2 6 8 -1. + <_>16 2 2 8 3. + 0 + -0.0113082397729158 + 0.5734364986419678 + 0.4842376112937927 + <_> + + <_> + + + + <_>0 5 6 6 -1. + <_>0 8 6 3 2. + 0 + 0.0596132017672062 + 0.5029836297035217 + 0.2524977028369904 + <_> + + <_> + + + + <_>9 12 6 2 -1. + <_>12 12 3 1 2. + <_>9 13 3 1 2. + 0 + -2.8624620754271746e-003 + 0.6073045134544373 + 0.4898459911346436 + <_> + + <_> + + + + <_>8 17 3 2 -1. + <_>9 17 1 2 3. + 0 + 4.4781449250876904e-003 + 0.5015289187431335 + 0.2220316976308823 + <_> + + <_> + + + + <_>11 6 2 2 -1. + <_>12 6 1 1 2. + <_>11 7 1 1 2. + 0 + -1.7513240454718471e-003 + 0.6614428758621216 + 0.4933868944644928 + <_> + + <_> + + + + <_>1 9 18 2 -1. + <_>7 9 6 2 3. + 0 + 0.0401634201407433 + 0.5180878043174744 + 0.3741044998168945 + <_> + + <_> + + + + <_>11 6 2 2 -1. + <_>12 6 1 1 2. + <_>11 7 1 1 2. + 0 + 3.4768949262797832e-004 + 0.4720416963100433 + 0.5818032026290894 + <_> + + <_> + + + + <_>3 4 12 8 -1. + <_>7 4 4 8 3. + 0 + 2.6551650371402502e-003 + 0.3805010914802551 + 0.5221335887908936 + <_> + + <_> + + + + <_>13 11 5 3 -1. + <_>13 12 5 1 3. + 0 + -8.7706279009580612e-003 + 0.2944166064262390 + 0.5231295228004456 + <_> + + <_> + + + + <_>9 10 2 3 -1. + <_>9 11 2 1 3. + 0 + -5.5122091434895992e-003 + 0.7346177101135254 + 0.4722816944122315 + <_> + + <_> + + + + <_>14 7 2 3 -1. + <_>14 7 1 3 2. + 0 + 6.8672042107209563e-004 + 0.5452876091003418 + 0.4242413043975830 + <_> + + <_> + + + + <_>5 4 1 3 -1. + <_>5 5 1 1 3. + 0 + 5.6019669864326715e-004 + 0.4398862123489380 + 0.5601285099983215 + <_> + + <_> + + + + <_>13 4 2 3 -1. + <_>13 5 2 1 3. + 0 + 2.4143769405782223e-003 + 0.4741686880588532 + 0.6136621832847595 + <_> + + <_> + + + + <_>5 4 2 3 -1. + <_>5 5 2 1 3. + 0 + -1.5680900542065501e-003 + 0.6044552922248840 + 0.4516409933567047 + <_> + + <_> + + + + <_>9 8 2 3 -1. + <_>9 9 2 1 3. + 0 + -3.6827491130679846e-003 + 0.2452459037303925 + 0.5294982194900513 + <_> + + <_> + + + + <_>8 9 2 2 -1. + <_>8 10 2 1 2. + 0 + -2.9409190756268799e-004 + 0.3732838034629822 + 0.5251451134681702 + <_> + + <_> + + + + <_>15 14 1 4 -1. + <_>15 16 1 2 2. + 0 + 4.2847759323194623e-004 + 0.5498809814453125 + 0.4065535068511963 + <_> + + <_> + + + + <_>3 12 2 2 -1. + <_>3 13 2 1 2. + 0 + -4.8817070201039314e-003 + 0.2139908969402313 + 0.4999957084655762 + <_> + + <_> + + + + <_>12 15 2 2 -1. + <_>13 15 1 1 2. + <_>12 16 1 1 2. + 0 + 2.7272020815871656e-004 + 0.4650287032127380 + 0.5813428759574890 + <_> + + <_> + + + + <_>9 13 2 2 -1. + <_>9 14 2 1 2. + 0 + 2.0947199664078653e-004 + 0.4387486875057221 + 0.5572792887687683 + <_> + + <_> + + + + <_>4 11 14 9 -1. + <_>4 14 14 3 3. + 0 + 0.0485011897981167 + 0.5244972705841065 + 0.3212889134883881 + <_> + + <_> + + + + <_>7 13 4 3 -1. + <_>7 14 4 1 3. + 0 + -4.5166411437094212e-003 + 0.6056813001632690 + 0.4545882046222687 + <_> + + <_> + + + + <_>15 14 1 4 -1. + <_>15 16 1 2 2. + 0 + -0.0122916800901294 + 0.2040929049253464 + 0.5152214169502258 + <_> + + <_> + + + + <_>4 14 1 4 -1. + <_>4 16 1 2 2. + 0 + 4.8549679922871292e-004 + 0.5237604975700378 + 0.3739503026008606 + <_> + + <_> + + + + <_>14 0 6 13 -1. + <_>16 0 2 13 3. + 0 + 0.0305560491979122 + 0.4960533976554871 + 0.5938246250152588 + <_> + + <_> + + + + <_>4 1 2 12 -1. + <_>4 1 1 6 2. + <_>5 7 1 6 2. + 0 + -1.5105320198927075e-004 + 0.5351303815841675 + 0.4145204126834869 + <_> + + <_> + + + + <_>11 14 6 6 -1. + <_>14 14 3 3 2. + <_>11 17 3 3 2. + 0 + 2.4937440175563097e-003 + 0.4693366885185242 + 0.5514941215515137 + <_> + + <_> + + + + <_>3 14 6 6 -1. + <_>3 14 3 3 2. + <_>6 17 3 3 2. + 0 + -0.0123821301385760 + 0.6791396737098694 + 0.4681667983531952 + <_> + + <_> + + + + <_>14 17 3 2 -1. + <_>14 18 3 1 2. + 0 + -5.1333461888134480e-003 + 0.3608739078044891 + 0.5229160189628601 + <_> + + <_> + + + + <_>3 17 3 2 -1. + <_>3 18 3 1 2. + 0 + 5.1919277757406235e-004 + 0.5300073027610779 + 0.3633613884449005 + <_> + + <_> + + + + <_>14 0 6 13 -1. + <_>16 0 2 13 3. + 0 + 0.1506042033433914 + 0.5157316923141480 + 0.2211782038211823 + <_> + + <_> + + + + <_>0 0 6 13 -1. + <_>2 0 2 13 3. + 0 + 7.7144149690866470e-003 + 0.4410496950149536 + 0.5776609182357788 + <_> + + <_> + + + + <_>10 10 7 6 -1. + <_>10 12 7 2 3. + 0 + 9.4443522393703461e-003 + 0.5401855111122131 + 0.3756650090217590 + <_> + + <_> + + + + <_>6 15 2 2 -1. + <_>6 15 1 1 2. + <_>7 16 1 1 2. + 0 + 2.5006249779835343e-004 + 0.4368270933628082 + 0.5607374906539917 + <_> + + <_> + + + + <_>6 11 8 6 -1. + <_>10 11 4 3 2. + <_>6 14 4 3 2. + 0 + -3.3077150583267212e-003 + 0.4244799017906189 + 0.5518230795860291 + <_> + + <_> + + + + <_>7 6 2 2 -1. + <_>7 6 1 1 2. + <_>8 7 1 1 2. + 0 + 7.4048910755664110e-004 + 0.4496962130069733 + 0.5900576710700989 + <_> + + <_> + + + + <_>2 2 16 6 -1. + <_>10 2 8 3 2. + <_>2 5 8 3 2. + 0 + 0.0440920516848564 + 0.5293493270874023 + 0.3156355023384094 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 3.3639909233897924e-003 + 0.4483296871185303 + 0.5848662257194519 + <_> + + <_> + + + + <_>11 7 3 10 -1. + <_>11 12 3 5 2. + 0 + -3.9760079234838486e-003 + 0.4559507071971893 + 0.5483639240264893 + <_> + + <_> + + + + <_>6 7 3 10 -1. + <_>6 12 3 5 2. + 0 + 2.7716930489987135e-003 + 0.5341786146163940 + 0.3792484104633331 + <_> + + <_> + + + + <_>10 7 3 2 -1. + <_>11 7 1 2 3. + 0 + -2.4123019829858094e-004 + 0.5667188763618469 + 0.4576973021030426 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>8 13 4 1 2. + 0 + 4.9425667384639382e-004 + 0.4421244859695435 + 0.5628787279129028 + <_> + + <_> + + + + <_>10 1 1 3 -1. + <_>10 2 1 1 3. + 0 + -3.8876468897797167e-004 + 0.4288370907306671 + 0.5391063094139099 + <_> + + <_> + + + + <_>1 2 4 18 -1. + <_>1 2 2 9 2. + <_>3 11 2 9 2. + 0 + -0.0500488989055157 + 0.6899513006210327 + 0.4703742861747742 + <_> + + <_> + + + + <_>12 4 4 12 -1. + <_>12 10 4 6 2. + 0 + -0.0366354808211327 + 0.2217779010534287 + 0.5191826224327087 + <_> + + <_> + + + + <_>0 0 1 6 -1. + <_>0 2 1 2 3. + 0 + 2.4273579474538565e-003 + 0.5136224031448364 + 0.3497397899627686 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + 1.9558030180633068e-003 + 0.4826192855834961 + 0.6408380866050720 + <_> + + <_> + + + + <_>8 7 4 3 -1. + <_>8 8 4 1 3. + 0 + -1.7494610510766506e-003 + 0.3922835886478424 + 0.5272685289382935 + <_> + + <_> + + + + <_>10 7 3 2 -1. + <_>11 7 1 2 3. + 0 + 0.0139550799503922 + 0.5078201889991760 + 0.8416504859924316 + <_> + + <_> + + + + <_>7 7 3 2 -1. + <_>8 7 1 2 3. + 0 + -2.1896739781368524e-004 + 0.5520489811897278 + 0.4314234852790833 + <_> + + <_> + + + + <_>9 4 6 1 -1. + <_>11 4 2 1 3. + 0 + -1.5131309628486633e-003 + 0.3934605121612549 + 0.5382571220397949 + <_> + + <_> + + + + <_>8 7 2 3 -1. + <_>9 7 1 3 2. + 0 + -4.3622800149023533e-003 + 0.7370628714561462 + 0.4736475944519043 + <_> + + <_> + + + + <_>12 7 8 6 -1. + <_>16 7 4 3 2. + <_>12 10 4 3 2. + 0 + 0.0651605874300003 + 0.5159279704093933 + 0.3281595110893250 + <_> + + <_> + + + + <_>0 7 8 6 -1. + <_>0 7 4 3 2. + <_>4 10 4 3 2. + 0 + -2.3567399475723505e-003 + 0.3672826886177063 + 0.5172886252403259 + <_> + + <_> + + + + <_>18 2 2 10 -1. + <_>19 2 1 5 2. + <_>18 7 1 5 2. + 0 + 0.0151466596871614 + 0.5031493902206421 + 0.6687604188919067 + <_> + + <_> + + + + <_>0 2 6 4 -1. + <_>3 2 3 4 2. + 0 + -0.0228509604930878 + 0.6767519712448120 + 0.4709596931934357 + <_> + + <_> + + + + <_>9 4 6 1 -1. + <_>11 4 2 1 3. + 0 + 4.8867650330066681e-003 + 0.5257998108863831 + 0.4059878885746002 + <_> + + <_> + + + + <_>7 15 2 2 -1. + <_>7 15 1 1 2. + <_>8 16 1 1 2. + 0 + 1.7619599821045995e-003 + 0.4696272909641266 + 0.6688278913497925 + <_> + + <_> + + + + <_>11 13 1 6 -1. + <_>11 16 1 3 2. + 0 + -1.2942519970238209e-003 + 0.4320712983608246 + 0.5344281792640686 + <_> + + <_> + + + + <_>8 13 1 6 -1. + <_>8 16 1 3 2. + 0 + 0.0109299495816231 + 0.4997706115245819 + 0.1637486070394516 + <_> + + <_> + + + + <_>14 3 2 1 -1. + <_>14 3 1 1 2. + 0 + 2.9958489903947338e-005 + 0.4282417893409729 + 0.5633224248886108 + <_> + + <_> + + + + <_>8 15 2 3 -1. + <_>8 16 2 1 3. + 0 + -6.5884361974895000e-003 + 0.6772121191024780 + 0.4700526893138886 + <_> + + <_> + + + + <_>12 15 7 4 -1. + <_>12 17 7 2 2. + 0 + 3.2527779694646597e-003 + 0.5313397049903870 + 0.4536148905754089 + <_> + + <_> + + + + <_>4 14 12 3 -1. + <_>4 15 12 1 3. + 0 + -4.0435739792883396e-003 + 0.5660061836242676 + 0.4413388967514038 + <_> + + <_> + + + + <_>10 3 3 2 -1. + <_>11 3 1 2 3. + 0 + -1.2523540062829852e-003 + 0.3731913864612579 + 0.5356451869010925 + <_> + + <_> + + + + <_>4 12 2 2 -1. + <_>4 13 2 1 2. + 0 + 1.9246719602961093e-004 + 0.5189986228942871 + 0.3738811016082764 + <_> + + <_> + + + + <_>10 11 4 6 -1. + <_>10 14 4 3 2. + 0 + -0.0385896712541580 + 0.2956373989582062 + 0.5188810825347900 + <_> + + <_> + + + + <_>7 13 2 2 -1. + <_>7 13 1 1 2. + <_>8 14 1 1 2. + 0 + 1.5489870565943420e-004 + 0.4347135126590729 + 0.5509533286094666 + <_> + + <_> + + + + <_>4 11 14 4 -1. + <_>11 11 7 2 2. + <_>4 13 7 2 2. + 0 + -0.0337638482451439 + 0.3230330049991608 + 0.5195475816726685 + <_> + + <_> + + + + <_>1 18 18 2 -1. + <_>7 18 6 2 3. + 0 + -8.2657067105174065e-003 + 0.5975489020347595 + 0.4552114009857178 + <_> + + <_> + + + + <_>11 18 2 2 -1. + <_>12 18 1 1 2. + <_>11 19 1 1 2. + 0 + 1.4481440302915871e-005 + 0.4745678007602692 + 0.5497426986694336 + <_> + + <_> + + + + <_>7 18 2 2 -1. + <_>7 18 1 1 2. + <_>8 19 1 1 2. + 0 + 1.4951299817766994e-005 + 0.4324473142623901 + 0.5480644106864929 + <_> + + <_> + + + + <_>12 18 8 2 -1. + <_>12 19 8 1 2. + 0 + -0.0187417995184660 + 0.1580052971839905 + 0.5178533196449280 + <_> + + <_> + + + + <_>7 14 6 2 -1. + <_>7 15 6 1 2. + 0 + 1.7572239739820361e-003 + 0.4517636895179749 + 0.5773764252662659 + <_> + + <_> + + + + <_>8 12 4 8 -1. + <_>10 12 2 4 2. + <_>8 16 2 4 2. + 0 + -3.1391119118779898e-003 + 0.4149647951126099 + 0.5460842251777649 + <_> + + <_> + + + + <_>4 9 3 3 -1. + <_>4 10 3 1 3. + 0 + 6.6656779381446540e-005 + 0.4039090871810913 + 0.5293084979057312 + <_> + + <_> + + + + <_>7 10 6 2 -1. + <_>9 10 2 2 3. + 0 + 6.7743421532213688e-003 + 0.4767651855945587 + 0.6121956110000610 + <_> + + <_> + + + + <_>5 0 4 15 -1. + <_>7 0 2 15 2. + 0 + -7.3868161998689175e-003 + 0.3586258888244629 + 0.5187280774116516 + <_> + + <_> + + + + <_>8 6 12 14 -1. + <_>12 6 4 14 3. + 0 + 0.0140409301966429 + 0.4712139964103699 + 0.5576155781745911 + <_> + + <_> + + + + <_>5 16 3 3 -1. + <_>5 17 3 1 3. + 0 + -5.5258329957723618e-003 + 0.2661027014255524 + 0.5039281249046326 + <_> + + <_> + + + + <_>8 1 12 19 -1. + <_>12 1 4 19 3. + 0 + 0.3868423998355866 + 0.5144339799880981 + 0.2525899112224579 + <_> + + <_> + + + + <_>3 0 3 2 -1. + <_>3 1 3 1 2. + 0 + 1.1459240340627730e-004 + 0.4284994900226593 + 0.5423371195793152 + <_> + + <_> + + + + <_>10 12 4 5 -1. + <_>10 12 2 5 2. + 0 + -0.0184675697237253 + 0.3885835111141205 + 0.5213062167167664 + <_> + + <_> + + + + <_>6 12 4 5 -1. + <_>8 12 2 5 2. + 0 + -4.5907011372037232e-004 + 0.5412563085556030 + 0.4235909879207611 + <_> + + <_> + + + + <_>11 11 2 2 -1. + <_>12 11 1 1 2. + <_>11 12 1 1 2. + 0 + 1.2527540093287826e-003 + 0.4899305105209351 + 0.6624091267585754 + <_> + + <_> + + + + <_>0 2 3 6 -1. + <_>0 4 3 2 3. + 0 + 1.4910609461367130e-003 + 0.5286778211593628 + 0.4040051996707916 + <_> + + <_> + + + + <_>11 11 2 2 -1. + <_>12 11 1 1 2. + <_>11 12 1 1 2. + 0 + -7.5435562757775187e-004 + 0.6032990217208862 + 0.4795120060443878 + <_> + + <_> + + + + <_>7 6 4 10 -1. + <_>7 11 4 5 2. + 0 + -6.9478838704526424e-003 + 0.4084401130676270 + 0.5373504161834717 + <_> + + <_> + + + + <_>11 11 2 2 -1. + <_>12 11 1 1 2. + <_>11 12 1 1 2. + 0 + 2.8092920547351241e-004 + 0.4846062958240509 + 0.5759382247924805 + <_> + + <_> + + + + <_>2 13 5 2 -1. + <_>2 14 5 1 2. + 0 + 9.6073717577382922e-004 + 0.5164741277694702 + 0.3554979860782623 + <_> + + <_> + + + + <_>11 11 2 2 -1. + <_>12 11 1 1 2. + <_>11 12 1 1 2. + 0 + -2.6883929967880249e-004 + 0.5677582025527954 + 0.4731765985488892 + <_> + + <_> + + + + <_>7 11 2 2 -1. + <_>7 11 1 1 2. + <_>8 12 1 1 2. + 0 + 2.1599370520561934e-003 + 0.4731487035751343 + 0.7070567011833191 + <_> + + <_> + + + + <_>14 13 3 3 -1. + <_>14 14 3 1 3. + 0 + 5.6235301308333874e-003 + 0.5240243077278137 + 0.2781791985034943 + <_> + + <_> + + + + <_>3 13 3 3 -1. + <_>3 14 3 1 3. + 0 + -5.0243991427123547e-003 + 0.2837013900279999 + 0.5062304139137268 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + -9.7611639648675919e-003 + 0.7400717735290527 + 0.4934569001197815 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>8 8 3 1 3. + 0 + 4.1515100747346878e-003 + 0.5119131207466126 + 0.3407008051872253 + <_> + + <_> + + + + <_>13 5 3 3 -1. + <_>13 6 3 1 3. + 0 + 6.2465080991387367e-003 + 0.4923788011074066 + 0.6579058766365051 + <_> + + <_> + + + + <_>0 9 5 3 -1. + <_>0 10 5 1 3. + 0 + -7.0597478188574314e-003 + 0.2434711009263992 + 0.5032842159271240 + <_> + + <_> + + + + <_>13 5 3 3 -1. + <_>13 6 3 1 3. + 0 + -2.0587709732353687e-003 + 0.5900310873985291 + 0.4695087075233460 + <_> + + <_> + + + + <_>9 12 2 8 -1. + <_>9 12 1 4 2. + <_>10 16 1 4 2. + 0 + -2.4146060459315777e-003 + 0.3647317886352539 + 0.5189201831817627 + <_> + + <_> + + + + <_>11 7 2 2 -1. + <_>12 7 1 1 2. + <_>11 8 1 1 2. + 0 + -1.4817609917372465e-003 + 0.6034948229789734 + 0.4940128028392792 + <_> + + <_> + + + + <_>0 16 6 4 -1. + <_>3 16 3 4 2. + 0 + -6.3016400672495365e-003 + 0.5818989872932434 + 0.4560427963733673 + <_> + + <_> + + + + <_>10 6 2 3 -1. + <_>10 7 2 1 3. + 0 + 3.4763428848236799e-003 + 0.5217475891113281 + 0.3483993113040924 + <_> + + <_> + + + + <_>9 5 2 6 -1. + <_>9 7 2 2 3. + 0 + -0.0222508702427149 + 0.2360700070858002 + 0.5032082796096802 + <_> + + <_> + + + + <_>12 15 8 4 -1. + <_>12 15 4 4 2. + 0 + -0.0306125506758690 + 0.6499186754226685 + 0.4914919137954712 + <_> + + <_> + + + + <_>0 14 8 6 -1. + <_>4 14 4 6 2. + 0 + 0.0130574796348810 + 0.4413323104381561 + 0.5683764219284058 + <_> + + <_> + + + + <_>9 0 3 2 -1. + <_>10 0 1 2 3. + 0 + -6.0095742810517550e-004 + 0.4359731078147888 + 0.5333483219146729 + <_> + + <_> + + + + <_>4 15 4 2 -1. + <_>6 15 2 2 2. + 0 + -4.1514250915497541e-004 + 0.5504062771797180 + 0.4326060116291046 + <_> + + <_> + + + + <_>12 7 3 13 -1. + <_>13 7 1 13 3. + 0 + -0.0137762902304530 + 0.4064112901687622 + 0.5201548933982849 + <_> + + <_> + + + + <_>5 7 3 13 -1. + <_>6 7 1 13 3. + 0 + -0.0322965085506439 + 0.0473519712686539 + 0.4977194964885712 + <_> + + <_> + + + + <_>9 6 3 9 -1. + <_>9 9 3 3 3. + 0 + 0.0535569787025452 + 0.4881733059883118 + 0.6666939258575440 + <_> + + <_> + + + + <_>4 4 7 12 -1. + <_>4 10 7 6 2. + 0 + 8.1889545544981956e-003 + 0.5400037169456482 + 0.4240820109844208 + <_> + + <_> + + + + <_>12 12 2 2 -1. + <_>13 12 1 1 2. + <_>12 13 1 1 2. + 0 + 2.1055320394225419e-004 + 0.4802047908306122 + 0.5563852787017822 + <_> + + <_> + + + + <_>6 12 2 2 -1. + <_>6 12 1 1 2. + <_>7 13 1 1 2. + 0 + -2.4382730480283499e-003 + 0.7387793064117432 + 0.4773685038089752 + <_> + + <_> + + + + <_>8 9 4 2 -1. + <_>10 9 2 1 2. + <_>8 10 2 1 2. + 0 + 3.2835570164024830e-003 + 0.5288546085357666 + 0.3171291947364807 + <_> + + <_> + + + + <_>3 6 2 2 -1. + <_>3 6 1 1 2. + <_>4 7 1 1 2. + 0 + 2.3729570675641298e-003 + 0.4750812947750092 + 0.7060170769691467 + <_> + + <_> + + + + <_>16 6 3 2 -1. + <_>16 7 3 1 2. + 0 + -1.4541699783876538e-003 + 0.3811730146408081 + 0.5330739021301270 + 79.2490768432617190 + 16 + -1 + <_> + + + <_> + + <_> + + + + <_>0 7 19 4 -1. + <_>0 9 19 2 2. + 0 + 0.0557552389800549 + 0.4019156992435455 + 0.6806036829948425 + <_> + + <_> + + + + <_>10 2 10 1 -1. + <_>10 2 5 1 2. + 0 + 2.4730248842388391e-003 + 0.3351148962974548 + 0.5965719819068909 + <_> + + <_> + + + + <_>9 4 2 12 -1. + <_>9 10 2 6 2. + 0 + -3.5031698644161224e-004 + 0.5557708144187927 + 0.3482286930084229 + <_> + + <_> + + + + <_>12 18 4 1 -1. + <_>12 18 2 1 2. + 0 + 5.4167630150914192e-004 + 0.4260858893394470 + 0.5693380832672119 + <_> + + <_> + + + + <_>1 7 6 4 -1. + <_>1 7 3 2 2. + <_>4 9 3 2 2. + 0 + 7.7193678589537740e-004 + 0.3494240045547485 + 0.5433688759803772 + <_> + + <_> + + + + <_>12 0 6 13 -1. + <_>14 0 2 13 3. + 0 + -1.5999219613149762e-003 + 0.4028499126434326 + 0.5484359264373779 + <_> + + <_> + + + + <_>2 0 6 13 -1. + <_>4 0 2 13 3. + 0 + -1.1832080053864047e-004 + 0.3806901872158051 + 0.5425465106964111 + <_> + + <_> + + + + <_>10 5 8 8 -1. + <_>10 9 8 4 2. + 0 + 3.2909031142480671e-004 + 0.2620100080966950 + 0.5429521799087524 + <_> + + <_> + + + + <_>8 3 2 5 -1. + <_>9 3 1 5 2. + 0 + 2.9518108931370080e-004 + 0.3799768984317780 + 0.5399264097213745 + <_> + + <_> + + + + <_>8 4 9 1 -1. + <_>11 4 3 1 3. + 0 + 9.0466710389591753e-005 + 0.4433645009994507 + 0.5440226197242737 + <_> + + <_> + + + + <_>3 4 9 1 -1. + <_>6 4 3 1 3. + 0 + 1.5007190086180344e-005 + 0.3719654977321625 + 0.5409119725227356 + <_> + + <_> + + + + <_>1 0 18 10 -1. + <_>7 0 6 10 3. + 0 + 0.1393561065196991 + 0.5525395870208740 + 0.4479042887687683 + <_> + + <_> + + + + <_>7 17 5 3 -1. + <_>7 18 5 1 3. + 0 + 1.6461990308016539e-003 + 0.4264501035213471 + 0.5772169828414917 + <_> + + <_> + + + + <_>7 11 6 1 -1. + <_>9 11 2 1 3. + 0 + 4.9984431825578213e-004 + 0.4359526038169861 + 0.5685871243476868 + <_> + + <_> + + + + <_>2 2 3 2 -1. + <_>2 3 3 1 2. + 0 + -1.0971280280500650e-003 + 0.3390136957168579 + 0.5205408930778503 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>8 13 4 1 2. + 0 + 6.6919892560690641e-004 + 0.4557456076145172 + 0.5980659723281860 + <_> + + <_> + + + + <_>6 10 3 6 -1. + <_>6 13 3 3 2. + 0 + 8.6471042595803738e-004 + 0.5134841203689575 + 0.2944033145904541 + <_> + + <_> + + + + <_>11 4 2 4 -1. + <_>11 4 1 4 2. + 0 + -2.7182599296793342e-004 + 0.3906578123569489 + 0.5377181172370911 + <_> + + <_> + + + + <_>7 4 2 4 -1. + <_>8 4 1 4 2. + 0 + 3.0249499104684219e-005 + 0.3679609894752502 + 0.5225688815116882 + <_> + + <_> + + + + <_>9 6 2 4 -1. + <_>9 6 1 4 2. + 0 + -8.5225896909832954e-003 + 0.7293102145195007 + 0.4892365038394928 + <_> + + <_> + + + + <_>6 13 8 3 -1. + <_>6 14 8 1 3. + 0 + 1.6705560265108943e-003 + 0.4345324933528900 + 0.5696138143539429 + <_> + + <_> + + + + <_>9 15 3 4 -1. + <_>10 15 1 4 3. + 0 + -7.1433838456869125e-003 + 0.2591280043125153 + 0.5225623846054077 + <_> + + <_> + + + + <_>9 2 2 17 -1. + <_>10 2 1 17 2. + 0 + -0.0163193698972464 + 0.6922279000282288 + 0.4651575982570648 + <_> + + <_> + + + + <_>7 0 6 1 -1. + <_>9 0 2 1 3. + 0 + 4.8034260980784893e-003 + 0.5352262854576111 + 0.3286302983760834 + <_> + + <_> + + + + <_>8 15 3 4 -1. + <_>9 15 1 4 3. + 0 + -7.5421929359436035e-003 + 0.2040544003248215 + 0.5034546256065369 + <_> + + <_> + + + + <_>7 13 7 3 -1. + <_>7 14 7 1 3. + 0 + -0.0143631100654602 + 0.6804888844490051 + 0.4889059066772461 + <_> + + <_> + + + + <_>8 16 3 3 -1. + <_>9 16 1 3 3. + 0 + 8.9063588529825211e-004 + 0.5310695767402649 + 0.3895480930805206 + <_> + + <_> + + + + <_>6 2 8 10 -1. + <_>6 7 8 5 2. + 0 + -4.4060191139578819e-003 + 0.5741562843322754 + 0.4372426867485046 + <_> + + <_> + + + + <_>2 5 8 8 -1. + <_>2 9 8 4 2. + 0 + -1.8862540309783071e-004 + 0.2831785976886749 + 0.5098205208778381 + <_> + + <_> + + + + <_>14 16 2 2 -1. + <_>14 17 2 1 2. + 0 + -3.7979281041771173e-003 + 0.3372507989406586 + 0.5246580243110657 + <_> + + <_> + + + + <_>4 16 2 2 -1. + <_>4 17 2 1 2. + 0 + 1.4627049677073956e-004 + 0.5306674242019653 + 0.3911710083484650 + <_> + + <_> + + + + <_>10 11 4 6 -1. + <_>10 14 4 3 2. + 0 + -4.9164638767251745e-005 + 0.5462496280670166 + 0.3942720890045166 + <_> + + <_> + + + + <_>6 11 4 6 -1. + <_>6 14 4 3 2. + 0 + -0.0335825011134148 + 0.2157824039459229 + 0.5048211812973023 + <_> + + <_> + + + + <_>10 14 1 3 -1. + <_>10 15 1 1 3. + 0 + -3.5339309833943844e-003 + 0.6465312242507935 + 0.4872696995735169 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 5.0144111737608910e-003 + 0.4617668092250824 + 0.6248074769973755 + <_> + + <_> + + + + <_>10 0 4 6 -1. + <_>12 0 2 3 2. + <_>10 3 2 3 2. + 0 + 0.0188173707574606 + 0.5220689177513123 + 0.2000052034854889 + <_> + + <_> + + + + <_>0 3 20 2 -1. + <_>0 4 20 1 2. + 0 + -1.3434339780360460e-003 + 0.4014537930488586 + 0.5301619768142700 + <_> + + <_> + + + + <_>12 0 8 2 -1. + <_>16 0 4 1 2. + <_>12 1 4 1 2. + 0 + 1.7557960236445069e-003 + 0.4794039130210877 + 0.5653169751167297 + <_> + + <_> + + + + <_>2 12 10 8 -1. + <_>2 16 10 4 2. + 0 + -0.0956374630331993 + 0.2034195065498352 + 0.5006706714630127 + <_> + + <_> + + + + <_>17 7 2 10 -1. + <_>18 7 1 5 2. + <_>17 12 1 5 2. + 0 + -0.0222412291914225 + 0.7672473192214966 + 0.5046340227127075 + <_> + + <_> + + + + <_>1 7 2 10 -1. + <_>1 7 1 5 2. + <_>2 12 1 5 2. + 0 + -0.0155758196488023 + 0.7490342259407044 + 0.4755851030349731 + <_> + + <_> + + + + <_>15 10 3 6 -1. + <_>15 12 3 2 3. + 0 + 5.3599118255078793e-003 + 0.5365303754806519 + 0.4004670977592468 + <_> + + <_> + + + + <_>4 4 6 2 -1. + <_>6 4 2 2 3. + 0 + -0.0217634998261929 + 0.0740154981613159 + 0.4964174926280975 + <_> + + <_> + + + + <_>0 5 20 6 -1. + <_>0 7 20 2 3. + 0 + -0.1656159013509750 + 0.2859103083610535 + 0.5218086242675781 + <_> + + <_> + + + + <_>0 0 8 2 -1. + <_>0 0 4 1 2. + <_>4 1 4 1 2. + 0 + 1.6461320046801120e-004 + 0.4191615879535675 + 0.5380793213844299 + <_> + + <_> + + + + <_>1 0 18 4 -1. + <_>7 0 6 4 3. + 0 + -8.9077502489089966e-003 + 0.6273192763328552 + 0.4877404868602753 + <_> + + <_> + + + + <_>1 13 6 2 -1. + <_>1 14 6 1 2. + 0 + 8.6346449097618461e-004 + 0.5159940719604492 + 0.3671025931835175 + <_> + + <_> + + + + <_>10 8 3 4 -1. + <_>11 8 1 4 3. + 0 + -1.3751760125160217e-003 + 0.5884376764297485 + 0.4579083919525147 + <_> + + <_> + + + + <_>6 1 6 1 -1. + <_>8 1 2 1 3. + 0 + -1.4081239933148026e-003 + 0.3560509979724884 + 0.5139945149421692 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + -3.9342888630926609e-003 + 0.5994288921356201 + 0.4664272069931030 + <_> + + <_> + + + + <_>1 6 18 2 -1. + <_>10 6 9 2 2. + 0 + -0.0319669283926487 + 0.3345462083816528 + 0.5144183039665222 + <_> + + <_> + + + + <_>15 11 1 2 -1. + <_>15 12 1 1 2. + 0 + -1.5089280168467667e-005 + 0.5582656264305115 + 0.4414057135581970 + <_> + + <_> + + + + <_>6 5 1 2 -1. + <_>6 6 1 1 2. + 0 + 5.1994470413774252e-004 + 0.4623680114746094 + 0.6168993711471558 + <_> + + <_> + + + + <_>13 4 1 3 -1. + <_>13 5 1 1 3. + 0 + -3.4220460802316666e-003 + 0.6557074785232544 + 0.4974805116653442 + <_> + + <_> + + + + <_>2 15 1 2 -1. + <_>2 16 1 1 2. + 0 + 1.7723299970384687e-004 + 0.5269501805305481 + 0.3901908099651337 + <_> + + <_> + + + + <_>12 4 4 3 -1. + <_>12 5 4 1 3. + 0 + 1.5716759953647852e-003 + 0.4633373022079468 + 0.5790457725524902 + <_> + + <_> + + + + <_>0 0 7 3 -1. + <_>0 1 7 1 3. + 0 + -8.9041329920291901e-003 + 0.2689608037471771 + 0.5053591132164002 + <_> + + <_> + + + + <_>9 12 6 2 -1. + <_>9 12 3 2 2. + 0 + 4.0677518700249493e-004 + 0.5456603169441223 + 0.4329898953437805 + <_> + + <_> + + + + <_>5 4 2 3 -1. + <_>5 5 2 1 3. + 0 + 6.7604780197143555e-003 + 0.4648993909358978 + 0.6689761877059937 + <_> + + <_> + + + + <_>18 4 2 3 -1. + <_>18 5 2 1 3. + 0 + 2.9100088868290186e-003 + 0.5309703946113586 + 0.3377839922904968 + <_> + + <_> + + + + <_>3 0 8 6 -1. + <_>3 2 8 2 3. + 0 + 1.3885459629818797e-003 + 0.4074738919734955 + 0.5349133014678955 + <_> + + <_> + + + + <_>0 2 20 6 -1. + <_>10 2 10 3 2. + <_>0 5 10 3 2. + 0 + -0.0767642632126808 + 0.1992176026105881 + 0.5228242278099060 + <_> + + <_> + + + + <_>4 7 2 4 -1. + <_>5 7 1 4 2. + 0 + -2.2688310127705336e-004 + 0.5438501834869385 + 0.4253072142601013 + <_> + + <_> + + + + <_>3 10 15 2 -1. + <_>8 10 5 2 3. + 0 + -6.3094152137637138e-003 + 0.4259178936481476 + 0.5378909707069397 + <_> + + <_> + + + + <_>3 0 12 11 -1. + <_>9 0 6 11 2. + 0 + -0.1100727990269661 + 0.6904156804084778 + 0.4721749126911163 + <_> + + <_> + + + + <_>13 0 2 6 -1. + <_>13 0 1 6 2. + 0 + 2.8619659133255482e-004 + 0.4524914920330048 + 0.5548306107521057 + <_> + + <_> + + + + <_>0 19 2 1 -1. + <_>1 19 1 1 2. + 0 + 2.9425329557852820e-005 + 0.5370373725891113 + 0.4236463904380798 + <_> + + <_> + + + + <_>16 10 4 10 -1. + <_>18 10 2 5 2. + <_>16 15 2 5 2. + 0 + -0.0248865708708763 + 0.6423557996749878 + 0.4969303905963898 + <_> + + <_> + + + + <_>4 8 10 3 -1. + <_>4 9 10 1 3. + 0 + 0.0331488512456417 + 0.4988475143909454 + 0.1613811999559403 + <_> + + <_> + + + + <_>14 12 3 3 -1. + <_>14 13 3 1 3. + 0 + 7.8491691965609789e-004 + 0.5416026115417481 + 0.4223009049892426 + <_> + + <_> + + + + <_>0 10 4 10 -1. + <_>0 10 2 5 2. + <_>2 15 2 5 2. + 0 + 4.7087189741432667e-003 + 0.4576328992843628 + 0.6027557849884033 + <_> + + <_> + + + + <_>18 3 2 6 -1. + <_>18 5 2 2 3. + 0 + 2.4144479539245367e-003 + 0.5308973193168640 + 0.4422498941421509 + <_> + + <_> + + + + <_>6 6 1 3 -1. + <_>6 7 1 1 3. + 0 + 1.9523180089890957e-003 + 0.4705634117126465 + 0.6663324832916260 + <_> + + <_> + + + + <_>7 7 7 2 -1. + <_>7 8 7 1 2. + 0 + 1.3031980488449335e-003 + 0.4406126141548157 + 0.5526962280273438 + <_> + + <_> + + + + <_>0 3 2 6 -1. + <_>0 5 2 2 3. + 0 + 4.4735497795045376e-003 + 0.5129023790359497 + 0.3301498889923096 + <_> + + <_> + + + + <_>11 1 3 1 -1. + <_>12 1 1 1 3. + 0 + -2.6652868837118149e-003 + 0.3135471045970917 + 0.5175036191940308 + <_> + + <_> + + + + <_>5 0 2 6 -1. + <_>6 0 1 6 2. + 0 + 1.3666770246345550e-004 + 0.4119370877742767 + 0.5306876897811890 + <_> + + <_> + + + + <_>1 1 18 14 -1. + <_>7 1 6 14 3. + 0 + -0.0171264503151178 + 0.6177806258201599 + 0.4836578965187073 + <_> + + <_> + + + + <_>4 6 8 3 -1. + <_>8 6 4 3 2. + 0 + -2.6601430727168918e-004 + 0.3654330968856812 + 0.5169736742973328 + <_> + + <_> + + + + <_>9 12 6 2 -1. + <_>9 12 3 2 2. + 0 + -0.0229323804378510 + 0.3490915000438690 + 0.5163992047309876 + <_> + + <_> + + + + <_>5 12 6 2 -1. + <_>8 12 3 2 2. + 0 + 2.3316550068557262e-003 + 0.5166299939155579 + 0.3709389865398407 + <_> + + <_> + + + + <_>10 7 3 5 -1. + <_>11 7 1 5 3. + 0 + 0.0169256608933210 + 0.5014736056327820 + 0.8053988218307495 + <_> + + <_> + + + + <_>7 7 3 5 -1. + <_>8 7 1 5 3. + 0 + -8.9858826249837875e-003 + 0.6470788717269898 + 0.4657020866870880 + <_> + + <_> + + + + <_>13 0 3 10 -1. + <_>14 0 1 10 3. + 0 + -0.0118746999651194 + 0.3246378898620606 + 0.5258755087852478 + <_> + + <_> + + + + <_>4 11 3 2 -1. + <_>4 12 3 1 2. + 0 + 1.9350569345988333e-004 + 0.5191941857337952 + 0.3839643895626068 + <_> + + <_> + + + + <_>17 3 3 6 -1. + <_>18 3 1 6 3. + 0 + 5.8713490143418312e-003 + 0.4918133914470673 + 0.6187043190002441 + <_> + + <_> + + + + <_>1 8 18 10 -1. + <_>1 13 18 5 2. + 0 + -0.2483879029750824 + 0.1836802959442139 + 0.4988150000572205 + <_> + + <_> + + + + <_>13 0 3 10 -1. + <_>14 0 1 10 3. + 0 + 0.0122560001909733 + 0.5227053761482239 + 0.3632029891014099 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 8.3990179700776935e-004 + 0.4490250051021576 + 0.5774148106575012 + <_> + + <_> + + + + <_>16 3 3 7 -1. + <_>17 3 1 7 3. + 0 + 2.5407369248569012e-003 + 0.4804787039756775 + 0.5858299136161804 + <_> + + <_> + + + + <_>4 0 3 10 -1. + <_>5 0 1 10 3. + 0 + -0.0148224299773574 + 0.2521049976348877 + 0.5023537278175354 + <_> + + <_> + + + + <_>16 3 3 7 -1. + <_>17 3 1 7 3. + 0 + -5.7973959483206272e-003 + 0.5996695756912231 + 0.4853715002536774 + <_> + + <_> + + + + <_>0 9 1 2 -1. + <_>0 10 1 1 2. + 0 + 7.2662148158997297e-004 + 0.5153716802597046 + 0.3671779930591583 + <_> + + <_> + + + + <_>18 1 2 10 -1. + <_>18 1 1 10 2. + 0 + -0.0172325801104307 + 0.6621719002723694 + 0.4994656145572662 + <_> + + <_> + + + + <_>0 1 2 10 -1. + <_>1 1 1 10 2. + 0 + 7.8624086454510689e-003 + 0.4633395075798035 + 0.6256101727485657 + <_> + + <_> + + + + <_>10 16 3 4 -1. + <_>11 16 1 4 3. + 0 + -4.7343620099127293e-003 + 0.3615573048591614 + 0.5281885266304016 + <_> + + <_> + + + + <_>2 8 3 3 -1. + <_>3 8 1 3 3. + 0 + 8.3048478700220585e-004 + 0.4442889094352722 + 0.5550957918167114 + <_> + + <_> + + + + <_>11 0 2 6 -1. + <_>12 0 1 3 2. + <_>11 3 1 3 2. + 0 + 7.6602199114859104e-003 + 0.5162935256958008 + 0.2613354921340942 + <_> + + <_> + + + + <_>7 0 2 6 -1. + <_>7 0 1 3 2. + <_>8 3 1 3 2. + 0 + -4.1048377752304077e-003 + 0.2789632081985474 + 0.5019031763076782 + <_> + + <_> + + + + <_>16 3 3 7 -1. + <_>17 3 1 7 3. + 0 + 4.8512578941881657e-003 + 0.4968984127044678 + 0.5661668181419373 + <_> + + <_> + + + + <_>1 3 3 7 -1. + <_>2 3 1 7 3. + 0 + 9.9896453320980072e-004 + 0.4445607960224152 + 0.5551813244819641 + <_> + + <_> + + + + <_>14 1 6 16 -1. + <_>16 1 2 16 3. + 0 + -0.2702363133430481 + 0.0293882098048925 + 0.5151314139366150 + <_> + + <_> + + + + <_>0 1 6 16 -1. + <_>2 1 2 16 3. + 0 + -0.0130906803533435 + 0.5699399709701538 + 0.4447459876537323 + <_> + + <_> + + + + <_>2 0 16 8 -1. + <_>10 0 8 4 2. + <_>2 4 8 4 2. + 0 + -9.4342790544033051e-003 + 0.4305466115474701 + 0.5487895011901856 + <_> + + <_> + + + + <_>6 8 5 3 -1. + <_>6 9 5 1 3. + 0 + -1.5482039889320731e-003 + 0.3680317103862763 + 0.5128080844879150 + <_> + + <_> + + + + <_>9 7 3 3 -1. + <_>10 7 1 3 3. + 0 + 5.3746132180094719e-003 + 0.4838916957378388 + 0.6101555824279785 + <_> + + <_> + + + + <_>8 8 4 3 -1. + <_>8 9 4 1 3. + 0 + 1.5786769799888134e-003 + 0.5325223207473755 + 0.4118548035621643 + <_> + + <_> + + + + <_>9 6 2 4 -1. + <_>9 6 1 4 2. + 0 + 3.6856050137430429e-003 + 0.4810948073863983 + 0.6252303123474121 + <_> + + <_> + + + + <_>0 7 15 1 -1. + <_>5 7 5 1 3. + 0 + 9.3887019902467728e-003 + 0.5200229883193970 + 0.3629410862922669 + <_> + + <_> + + + + <_>8 2 7 9 -1. + <_>8 5 7 3 3. + 0 + 0.0127926301211119 + 0.4961709976196289 + 0.6738016009330750 + <_> + + <_> + + + + <_>1 7 16 4 -1. + <_>1 7 8 2 2. + <_>9 9 8 2 2. + 0 + -3.3661040943115950e-003 + 0.4060279130935669 + 0.5283598899841309 + <_> + + <_> + + + + <_>6 12 8 2 -1. + <_>6 13 8 1 2. + 0 + 3.9771420415490866e-004 + 0.4674113988876343 + 0.5900775194168091 + <_> + + <_> + + + + <_>8 11 3 3 -1. + <_>8 12 3 1 3. + 0 + 1.4868030557408929e-003 + 0.4519116878509522 + 0.6082053780555725 + <_> + + <_> + + + + <_>4 5 14 10 -1. + <_>11 5 7 5 2. + <_>4 10 7 5 2. + 0 + -0.0886867493391037 + 0.2807899117469788 + 0.5180991888046265 + <_> + + <_> + + + + <_>4 12 3 2 -1. + <_>4 13 3 1 2. + 0 + -7.4296112870797515e-005 + 0.5295584201812744 + 0.4087625145912170 + <_> + + <_> + + + + <_>9 11 6 1 -1. + <_>11 11 2 1 3. + 0 + -1.4932939848222304e-005 + 0.5461400151252747 + 0.4538542926311493 + <_> + + <_> + + + + <_>4 9 7 6 -1. + <_>4 11 7 2 3. + 0 + 5.9162238612771034e-003 + 0.5329161286354065 + 0.4192134141921997 + <_> + + <_> + + + + <_>7 10 6 3 -1. + <_>7 11 6 1 3. + 0 + 1.1141640134155750e-003 + 0.4512017965316773 + 0.5706217288970947 + <_> + + <_> + + + + <_>9 11 2 2 -1. + <_>9 12 2 1 2. + 0 + 8.9249362645205110e-005 + 0.4577805995941162 + 0.5897638201713562 + <_> + + <_> + + + + <_>0 5 20 6 -1. + <_>0 7 20 2 3. + 0 + 2.5319510605186224e-003 + 0.5299603939056397 + 0.3357639014720917 + <_> + + <_> + + + + <_>6 4 6 1 -1. + <_>8 4 2 1 3. + 0 + 0.0124262003228068 + 0.4959059059619904 + 0.1346601992845535 + <_> + + <_> + + + + <_>9 11 6 1 -1. + <_>11 11 2 1 3. + 0 + 0.0283357501029968 + 0.5117079019546509 + 6.1043637106195092e-004 + <_> + + <_> + + + + <_>5 11 6 1 -1. + <_>7 11 2 1 3. + 0 + 6.6165882162749767e-003 + 0.4736349880695343 + 0.7011628150939941 + <_> + + <_> + + + + <_>10 16 3 4 -1. + <_>11 16 1 4 3. + 0 + 8.0468766391277313e-003 + 0.5216417908668518 + 0.3282819986343384 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>9 7 1 3 3. + 0 + -1.1193980462849140e-003 + 0.5809860825538635 + 0.4563739001750946 + <_> + + <_> + + + + <_>2 12 16 8 -1. + <_>2 16 16 4 2. + 0 + 0.0132775902748108 + 0.5398362278938294 + 0.4103901088237763 + <_> + + <_> + + + + <_>0 15 15 2 -1. + <_>0 16 15 1 2. + 0 + 4.8794739996083081e-004 + 0.4249286055564880 + 0.5410590767860413 + <_> + + <_> + + + + <_>15 4 5 6 -1. + <_>15 6 5 2 3. + 0 + 0.0112431701272726 + 0.5269963741302490 + 0.3438215851783752 + <_> + + <_> + + + + <_>9 5 2 4 -1. + <_>10 5 1 4 2. + 0 + -8.9896668214350939e-004 + 0.5633075833320618 + 0.4456613063812256 + <_> + + <_> + + + + <_>8 10 9 6 -1. + <_>8 12 9 2 3. + 0 + 6.6677159629762173e-003 + 0.5312889218330383 + 0.4362679123878479 + <_> + + <_> + + + + <_>2 19 15 1 -1. + <_>7 19 5 1 3. + 0 + 0.0289472993463278 + 0.4701794981956482 + 0.6575797796249390 + <_> + + <_> + + + + <_>10 16 3 4 -1. + <_>11 16 1 4 3. + 0 + -0.0234000496566296 + 0. + 0.5137398838996887 + <_> + + <_> + + + + <_>0 15 20 4 -1. + <_>0 17 20 2 2. + 0 + -0.0891170501708984 + 0.0237452797591686 + 0.4942430853843689 + <_> + + <_> + + + + <_>10 16 3 4 -1. + <_>11 16 1 4 3. + 0 + -0.0140546001493931 + 0.3127323091030121 + 0.5117511153221130 + <_> + + <_> + + + + <_>7 16 3 4 -1. + <_>8 16 1 4 3. + 0 + 8.1239398568868637e-003 + 0.5009049177169800 + 0.2520025968551636 + <_> + + <_> + + + + <_>9 16 3 3 -1. + <_>9 17 3 1 3. + 0 + -4.9964650534093380e-003 + 0.6387143731117249 + 0.4927811920642853 + <_> + + <_> + + + + <_>8 11 4 6 -1. + <_>8 14 4 3 2. + 0 + 3.1253970228135586e-003 + 0.5136849880218506 + 0.3680452108383179 + <_> + + <_> + + + + <_>9 6 2 12 -1. + <_>9 10 2 4 3. + 0 + 6.7669642157852650e-003 + 0.5509843826293945 + 0.4363631904125214 + <_> + + <_> + + + + <_>8 17 4 3 -1. + <_>8 18 4 1 3. + 0 + -2.3711440153419971e-003 + 0.6162335276603699 + 0.4586946964263916 + <_> + + <_> + + + + <_>9 18 8 2 -1. + <_>13 18 4 1 2. + <_>9 19 4 1 2. + 0 + -5.3522791713476181e-003 + 0.6185457706451416 + 0.4920490980148315 + <_> + + <_> + + + + <_>1 18 8 2 -1. + <_>1 19 8 1 2. + 0 + -0.0159688591957092 + 0.1382617950439453 + 0.4983252882957459 + <_> + + <_> + + + + <_>13 5 6 15 -1. + <_>15 5 2 15 3. + 0 + 4.7676060348749161e-003 + 0.4688057899475098 + 0.5490046143531799 + <_> + + <_> + + + + <_>9 8 2 2 -1. + <_>9 9 2 1 2. + 0 + -2.4714691098779440e-003 + 0.2368514984846115 + 0.5003952980041504 + <_> + + <_> + + + + <_>9 5 2 3 -1. + <_>9 5 1 3 2. + 0 + -7.1033788844943047e-004 + 0.5856394171714783 + 0.4721533060073853 + <_> + + <_> + + + + <_>1 5 6 15 -1. + <_>3 5 2 15 3. + 0 + -0.1411755979061127 + 0.0869000628590584 + 0.4961591064929962 + <_> + + <_> + + + + <_>4 1 14 8 -1. + <_>11 1 7 4 2. + <_>4 5 7 4 2. + 0 + 0.1065180972218514 + 0.5138837099075317 + 0.1741005033254623 + <_> + + <_> + + + + <_>2 4 4 16 -1. + <_>2 4 2 8 2. + <_>4 12 2 8 2. + 0 + -0.0527447499334812 + 0.7353636026382446 + 0.4772881865501404 + <_> + + <_> + + + + <_>12 4 3 12 -1. + <_>12 10 3 6 2. + 0 + -4.7431760467588902e-003 + 0.3884406089782715 + 0.5292701721191406 + <_> + + <_> + + + + <_>4 5 10 12 -1. + <_>4 5 5 6 2. + <_>9 11 5 6 2. + 0 + 9.9676765967160463e-004 + 0.5223492980003357 + 0.4003424048423767 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 8.0284131690859795e-003 + 0.4959106147289276 + 0.7212964296340942 + <_> + + <_> + + + + <_>5 4 2 3 -1. + <_>5 5 2 1 3. + 0 + 8.6025858763605356e-004 + 0.4444884061813355 + 0.5538476109504700 + <_> + + <_> + + + + <_>12 2 4 10 -1. + <_>14 2 2 5 2. + <_>12 7 2 5 2. + 0 + 9.3191501218825579e-004 + 0.5398371219635010 + 0.4163244068622589 + <_> + + <_> + + + + <_>6 4 7 3 -1. + <_>6 5 7 1 3. + 0 + -2.5082060601562262e-003 + 0.5854265093803406 + 0.4562500119209290 + <_> + + <_> + + + + <_>2 0 18 2 -1. + <_>11 0 9 1 2. + <_>2 1 9 1 2. + 0 + -2.1378761157393456e-003 + 0.4608069062232971 + 0.5280259251594544 + <_> + + <_> + + + + <_>0 0 18 2 -1. + <_>0 0 9 1 2. + <_>9 1 9 1 2. + 0 + -2.1546049974858761e-003 + 0.3791126906871796 + 0.5255997180938721 + <_> + + <_> + + + + <_>13 13 4 6 -1. + <_>15 13 2 3 2. + <_>13 16 2 3 2. + 0 + -7.6214009895920753e-003 + 0.5998609066009522 + 0.4952073991298676 + <_> + + <_> + + + + <_>3 13 4 6 -1. + <_>3 13 2 3 2. + <_>5 16 2 3 2. + 0 + 2.2055360022932291e-003 + 0.4484206140041351 + 0.5588530898094177 + <_> + + <_> + + + + <_>10 12 2 6 -1. + <_>10 15 2 3 2. + 0 + 1.2586950324475765e-003 + 0.5450747013092041 + 0.4423840939998627 + <_> + + <_> + + + + <_>5 9 10 10 -1. + <_>5 9 5 5 2. + <_>10 14 5 5 2. + 0 + -5.0926720723509789e-003 + 0.4118275046348572 + 0.5263035893440247 + <_> + + <_> + + + + <_>11 4 4 2 -1. + <_>13 4 2 1 2. + <_>11 5 2 1 2. + 0 + -2.5095739401876926e-003 + 0.5787907838821411 + 0.4998494982719421 + <_> + + <_> + + + + <_>7 12 6 8 -1. + <_>10 12 3 8 2. + 0 + -0.0773275569081306 + 0.8397865891456604 + 0.4811120033264160 + <_> + + <_> + + + + <_>12 2 4 10 -1. + <_>14 2 2 5 2. + <_>12 7 2 5 2. + 0 + -0.0414858199656010 + 0.2408611029386520 + 0.5176993012428284 + <_> + + <_> + + + + <_>8 11 2 1 -1. + <_>9 11 1 1 2. + 0 + 1.0355669655837119e-004 + 0.4355360865592957 + 0.5417054295539856 + <_> + + <_> + + + + <_>10 5 1 12 -1. + <_>10 9 1 4 3. + 0 + 1.3255809899419546e-003 + 0.5453971028327942 + 0.4894095063209534 + <_> + + <_> + + + + <_>0 11 6 9 -1. + <_>3 11 3 9 2. + 0 + -8.0598732456564903e-003 + 0.5771024227142334 + 0.4577918946743012 + <_> + + <_> + + + + <_>12 2 4 10 -1. + <_>14 2 2 5 2. + <_>12 7 2 5 2. + 0 + 0.0190586205571890 + 0.5169867873191834 + 0.3400475084781647 + <_> + + <_> + + + + <_>4 2 4 10 -1. + <_>4 2 2 5 2. + <_>6 7 2 5 2. + 0 + -0.0350578911602497 + 0.2203243970870972 + 0.5000503063201904 + <_> + + <_> + + + + <_>11 4 4 2 -1. + <_>13 4 2 1 2. + <_>11 5 2 1 2. + 0 + 5.7296059094369411e-003 + 0.5043408274650574 + 0.6597570776939392 + <_> + + <_> + + + + <_>0 14 6 3 -1. + <_>0 15 6 1 3. + 0 + -0.0116483299061656 + 0.2186284959316254 + 0.4996652901172638 + <_> + + <_> + + + + <_>11 4 4 2 -1. + <_>13 4 2 1 2. + <_>11 5 2 1 2. + 0 + 1.4544479781761765e-003 + 0.5007681846618652 + 0.5503727793693543 + <_> + + <_> + + + + <_>6 1 3 2 -1. + <_>7 1 1 2 3. + 0 + -2.5030909455381334e-004 + 0.4129841029644013 + 0.5241670012474060 + <_> + + <_> + + + + <_>11 4 4 2 -1. + <_>13 4 2 1 2. + <_>11 5 2 1 2. + 0 + -8.2907272735610604e-004 + 0.5412868261337280 + 0.4974496066570282 + <_> + + <_> + + + + <_>5 4 4 2 -1. + <_>5 4 2 1 2. + <_>7 5 2 1 2. + 0 + 1.0862209601327777e-003 + 0.4605529904365540 + 0.5879228711128235 + <_> + + <_> + + + + <_>13 0 2 12 -1. + <_>14 0 1 6 2. + <_>13 6 1 6 2. + 0 + 2.0000500080641359e-004 + 0.5278854966163635 + 0.4705209136009216 + <_> + + <_> + + + + <_>6 0 3 10 -1. + <_>7 0 1 10 3. + 0 + 2.9212920926511288e-003 + 0.5129609704017639 + 0.3755536973476410 + <_> + + <_> + + + + <_>3 0 17 8 -1. + <_>3 4 17 4 2. + 0 + 0.0253874007612467 + 0.4822691977024078 + 0.5790768265724182 + <_> + + <_> + + + + <_>0 4 20 4 -1. + <_>0 6 20 2 2. + 0 + -3.1968469265848398e-003 + 0.5248395204544067 + 0.3962840139865875 + 87.6960296630859380 + 17 + -1 + <_> + + + <_> + + <_> + + + + <_>0 3 8 2 -1. + <_>4 3 4 2 2. + 0 + 5.8031738735735416e-003 + 0.3498983979225159 + 0.5961983203887940 + <_> + + <_> + + + + <_>8 11 4 3 -1. + <_>8 12 4 1 3. + 0 + -9.0003069490194321e-003 + 0.6816636919975281 + 0.4478552043437958 + <_> + + <_> + + + + <_>5 7 6 4 -1. + <_>5 7 3 2 2. + <_>8 9 3 2 2. + 0 + -1.1549659539014101e-003 + 0.5585706233978272 + 0.3578251004219055 + <_> + + <_> + + + + <_>8 3 4 9 -1. + <_>8 6 4 3 3. + 0 + -1.1069850297644734e-003 + 0.5365036129951477 + 0.3050428032875061 + <_> + + <_> + + + + <_>8 15 1 4 -1. + <_>8 17 1 2 2. + 0 + 1.0308309720130637e-004 + 0.3639095127582550 + 0.5344635844230652 + <_> + + <_> + + + + <_>4 5 12 7 -1. + <_>8 5 4 7 3. + 0 + -5.0984839908778667e-003 + 0.2859157025814056 + 0.5504264831542969 + <_> + + <_> + + + + <_>4 2 4 10 -1. + <_>4 2 2 5 2. + <_>6 7 2 5 2. + 0 + 8.2572200335562229e-004 + 0.5236523747444153 + 0.3476041853427887 + <_> + + <_> + + + + <_>3 0 17 2 -1. + <_>3 1 17 1 2. + 0 + 9.9783325567841530e-003 + 0.4750322103500366 + 0.6219646930694580 + <_> + + <_> + + + + <_>2 2 16 15 -1. + <_>2 7 16 5 3. + 0 + -0.0374025292694569 + 0.3343375921249390 + 0.5278062820434570 + <_> + + <_> + + + + <_>15 2 5 2 -1. + <_>15 3 5 1 2. + 0 + 4.8548257909715176e-003 + 0.5192180871963501 + 0.3700444102287293 + <_> + + <_> + + + + <_>9 3 2 2 -1. + <_>10 3 1 2 2. + 0 + -1.8664470408111811e-003 + 0.2929843962192535 + 0.5091944932937622 + <_> + + <_> + + + + <_>4 5 16 15 -1. + <_>4 10 16 5 3. + 0 + 0.0168888904154301 + 0.3686845898628235 + 0.5431225895881653 + <_> + + <_> + + + + <_>7 13 5 6 -1. + <_>7 16 5 3 2. + 0 + -5.8372621424496174e-003 + 0.3632183969020844 + 0.5221335887908936 + <_> + + <_> + + + + <_>10 7 3 2 -1. + <_>11 7 1 2 3. + 0 + -1.4713739510625601e-003 + 0.5870683789253235 + 0.4700650870800018 + <_> + + <_> + + + + <_>8 3 3 1 -1. + <_>9 3 1 1 3. + 0 + -1.1522950371727347e-003 + 0.3195894956588745 + 0.5140954256057739 + <_> + + <_> + + + + <_>9 16 3 3 -1. + <_>9 17 3 1 3. + 0 + -4.2560300789773464e-003 + 0.6301859021186829 + 0.4814921021461487 + <_> + + <_> + + + + <_>0 2 5 2 -1. + <_>0 3 5 1 2. + 0 + -6.7378291860222816e-003 + 0.1977048069238663 + 0.5025808215141296 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + 0.0113826701417565 + 0.4954132139682770 + 0.6867045760154724 + <_> + + <_> + + + + <_>1 7 12 1 -1. + <_>5 7 4 1 3. + 0 + 5.1794708706438541e-003 + 0.5164427757263184 + 0.3350647985935211 + <_> + + <_> + + + + <_>7 5 6 14 -1. + <_>7 12 6 7 2. + 0 + -0.1174378991127014 + 0.2315246015787125 + 0.5234413743019104 + <_> + + <_> + + + + <_>0 0 8 10 -1. + <_>0 0 4 5 2. + <_>4 5 4 5 2. + 0 + 0.0287034492939711 + 0.4664297103881836 + 0.6722521185874939 + <_> + + <_> + + + + <_>9 1 3 2 -1. + <_>10 1 1 2 3. + 0 + 4.8231030814349651e-003 + 0.5220875144004822 + 0.2723532915115356 + <_> + + <_> + + + + <_>8 1 3 2 -1. + <_>9 1 1 2 3. + 0 + 2.6798530016094446e-003 + 0.5079277157783508 + 0.2906948924064636 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + 8.0504082143306732e-003 + 0.4885950982570648 + 0.6395021080970764 + <_> + + <_> + + + + <_>7 4 6 16 -1. + <_>7 12 6 8 2. + 0 + 4.8054959625005722e-003 + 0.5197256803512573 + 0.3656663894653320 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + -2.2420159075409174e-003 + 0.6153467893600464 + 0.4763701856136322 + <_> + + <_> + + + + <_>2 3 2 6 -1. + <_>2 5 2 2 3. + 0 + -0.0137577103450894 + 0.2637344896793366 + 0.5030903220176697 + <_> + + <_> + + + + <_>14 2 6 9 -1. + <_>14 5 6 3 3. + 0 + -0.1033829972147942 + 0.2287521958351135 + 0.5182461142539978 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + -9.4432085752487183e-003 + 0.6953303813934326 + 0.4694949090480804 + <_> + + <_> + + + + <_>9 17 3 2 -1. + <_>10 17 1 2 3. + 0 + 8.0271181650459766e-004 + 0.5450655221939087 + 0.4268783926963806 + <_> + + <_> + + + + <_>5 5 2 3 -1. + <_>5 6 2 1 3. + 0 + -4.1945669800043106e-003 + 0.6091387867927551 + 0.4571642875671387 + <_> + + <_> + + + + <_>13 11 3 6 -1. + <_>13 13 3 2 3. + 0 + 0.0109422104433179 + 0.5241063237190247 + 0.3284547030925751 + <_> + + <_> + + + + <_>3 14 2 6 -1. + <_>3 17 2 3 2. + 0 + -5.7841069065034389e-004 + 0.5387929081916809 + 0.4179368913173676 + <_> + + <_> + + + + <_>14 3 6 2 -1. + <_>14 4 6 1 2. + 0 + -2.0888620056211948e-003 + 0.4292691051959992 + 0.5301715731620789 + <_> + + <_> + + + + <_>0 8 16 2 -1. + <_>0 9 16 1 2. + 0 + 3.2383969519287348e-003 + 0.3792347908020020 + 0.5220744013786316 + <_> + + <_> + + + + <_>14 3 6 2 -1. + <_>14 4 6 1 2. + 0 + 4.9075027927756310e-003 + 0.5237283110618591 + 0.4126757979393005 + <_> + + <_> + + + + <_>0 0 5 6 -1. + <_>0 2 5 2 3. + 0 + -0.0322779417037964 + 0.1947655975818634 + 0.4994502067565918 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + -8.9711230248212814e-003 + 0.6011285185813904 + 0.4929032027721405 + <_> + + <_> + + + + <_>4 11 3 6 -1. + <_>4 13 3 2 3. + 0 + 0.0153210898861289 + 0.5009753704071045 + 0.2039822041988373 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + 2.0855569746345282e-003 + 0.4862189888954163 + 0.5721694827079773 + <_> + + <_> + + + + <_>9 5 1 3 -1. + <_>9 6 1 1 3. + 0 + 5.0615021027624607e-003 + 0.5000218749046326 + 0.1801805943250656 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + -3.7174751050770283e-003 + 0.5530117154121399 + 0.4897592961788178 + <_> + + <_> + + + + <_>6 6 8 12 -1. + <_>6 12 8 6 2. + 0 + -0.0121705001220107 + 0.4178605973720551 + 0.5383723974227905 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + 4.6248398721218109e-003 + 0.4997169971466065 + 0.5761327147483826 + <_> + + <_> + + + + <_>5 12 9 2 -1. + <_>8 12 3 2 3. + 0 + -2.1040429419372231e-004 + 0.5331807136535645 + 0.4097681045532227 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + -0.0146417804062366 + 0.5755925178527832 + 0.5051776170730591 + <_> + + <_> + + + + <_>4 5 4 3 -1. + <_>4 6 4 1 3. + 0 + 3.3199489116668701e-003 + 0.4576976895332336 + 0.6031805872917175 + <_> + + <_> + + + + <_>6 6 9 2 -1. + <_>9 6 3 2 3. + 0 + 3.7236879579722881e-003 + 0.4380396902561188 + 0.5415883064270020 + <_> + + <_> + + + + <_>4 11 1 3 -1. + <_>4 12 1 1 3. + 0 + 8.2951161311939359e-004 + 0.5163031816482544 + 0.3702219128608704 + <_> + + <_> + + + + <_>14 12 6 6 -1. + <_>14 12 3 6 2. + 0 + -0.0114084901288152 + 0.6072946786880493 + 0.4862565100193024 + <_> + + <_> + + + + <_>7 0 3 7 -1. + <_>8 0 1 7 3. + 0 + -4.5320121571421623e-003 + 0.3292475938796997 + 0.5088962912559509 + <_> + + <_> + + + + <_>9 8 3 3 -1. + <_>10 8 1 3 3. + 0 + 5.1276017911732197e-003 + 0.4829767942428589 + 0.6122708916664124 + <_> + + <_> + + + + <_>8 8 3 3 -1. + <_>9 8 1 3 3. + 0 + 9.8583158105611801e-003 + 0.4660679996013641 + 0.6556177139282227 + <_> + + <_> + + + + <_>5 10 11 3 -1. + <_>5 11 11 1 3. + 0 + 0.0369859188795090 + 0.5204849243164063 + 0.1690472066402435 + <_> + + <_> + + + + <_>5 7 10 1 -1. + <_>10 7 5 1 2. + 0 + 4.6491161920130253e-003 + 0.5167322158813477 + 0.3725225031375885 + <_> + + <_> + + + + <_>9 7 3 2 -1. + <_>10 7 1 2 3. + 0 + -4.2664702050387859e-003 + 0.6406493186950684 + 0.4987342953681946 + <_> + + <_> + + + + <_>8 7 3 2 -1. + <_>9 7 1 2 3. + 0 + -4.7956590424291790e-004 + 0.5897293090820313 + 0.4464873969554901 + <_> + + <_> + + + + <_>11 9 4 2 -1. + <_>11 9 2 2 2. + 0 + 3.6827160511165857e-003 + 0.5441560745239258 + 0.3472662866115570 + <_> + + <_> + + + + <_>5 9 4 2 -1. + <_>7 9 2 2 2. + 0 + -0.0100598800927401 + 0.2143162935972214 + 0.5004829764366150 + <_> + + <_> + + + + <_>14 10 2 4 -1. + <_>14 12 2 2 2. + 0 + -3.0361840617842972e-004 + 0.5386424064636231 + 0.4590323865413666 + <_> + + <_> + + + + <_>7 7 3 2 -1. + <_>8 7 1 2 3. + 0 + -1.4545479789376259e-003 + 0.5751184225082398 + 0.4497095048427582 + <_> + + <_> + + + + <_>14 17 6 3 -1. + <_>14 18 6 1 3. + 0 + 1.6515209572389722e-003 + 0.5421937704086304 + 0.4238520860671997 + <_> + + <_> + + + + <_>4 5 12 12 -1. + <_>4 5 6 6 2. + <_>10 11 6 6 2. + 0 + -7.8468639403581619e-003 + 0.4077920913696289 + 0.5258157253265381 + <_> + + <_> + + + + <_>6 9 8 8 -1. + <_>10 9 4 4 2. + <_>6 13 4 4 2. + 0 + -5.1259850151836872e-003 + 0.4229275882244110 + 0.5479453206062317 + <_> + + <_> + + + + <_>0 4 15 4 -1. + <_>5 4 5 4 3. + 0 + -0.0368909612298012 + 0.6596375703811646 + 0.4674678146839142 + <_> + + <_> + + + + <_>13 2 4 1 -1. + <_>13 2 2 1 2. + 0 + 2.4035639944486320e-004 + 0.4251135885715485 + 0.5573202967643738 + <_> + + <_> + + + + <_>4 12 2 2 -1. + <_>4 13 2 1 2. + 0 + -1.5150169929256663e-005 + 0.5259246826171875 + 0.4074114859104157 + <_> + + <_> + + + + <_>8 13 4 3 -1. + <_>8 14 4 1 3. + 0 + 2.2108471021056175e-003 + 0.4671722948551178 + 0.5886352062225342 + <_> + + <_> + + + + <_>9 13 2 3 -1. + <_>9 14 2 1 3. + 0 + -1.1568620102480054e-003 + 0.5711066126823425 + 0.4487161934375763 + <_> + + <_> + + + + <_>13 11 2 3 -1. + <_>13 12 2 1 3. + 0 + 4.9996292218565941e-003 + 0.5264198184013367 + 0.2898327112197876 + <_> + + <_> + + + + <_>7 12 4 4 -1. + <_>7 12 2 2 2. + <_>9 14 2 2 2. + 0 + -1.4656189596280456e-003 + 0.3891738057136536 + 0.5197871923446655 + <_> + + <_> + + + + <_>10 11 2 2 -1. + <_>11 11 1 1 2. + <_>10 12 1 1 2. + 0 + -1.1975039960816503e-003 + 0.5795872807502747 + 0.4927955865859985 + <_> + + <_> + + + + <_>8 17 3 2 -1. + <_>9 17 1 2 3. + 0 + -4.4954330660402775e-003 + 0.2377603054046631 + 0.5012555122375488 + <_> + + <_> + + + + <_>10 11 2 2 -1. + <_>11 11 1 1 2. + <_>10 12 1 1 2. + 0 + 1.4997160178609192e-004 + 0.4876626133918762 + 0.5617607831954956 + <_> + + <_> + + + + <_>0 17 6 3 -1. + <_>0 18 6 1 3. + 0 + 2.6391509454697371e-003 + 0.5168088078498840 + 0.3765509128570557 + <_> + + <_> + + + + <_>10 11 2 2 -1. + <_>11 11 1 1 2. + <_>10 12 1 1 2. + 0 + -2.9368131072260439e-004 + 0.5446649193763733 + 0.4874630868434906 + <_> + + <_> + + + + <_>8 11 2 2 -1. + <_>8 11 1 1 2. + <_>9 12 1 1 2. + 0 + 1.4211760135367513e-003 + 0.4687897861003876 + 0.6691331863403320 + <_> + + <_> + + + + <_>12 5 8 4 -1. + <_>12 5 4 4 2. + 0 + 0.0794276371598244 + 0.5193443894386292 + 0.2732945978641510 + <_> + + <_> + + + + <_>0 5 8 4 -1. + <_>4 5 4 4 2. + 0 + 0.0799375027418137 + 0.4971731007099152 + 0.1782083958387375 + <_> + + <_> + + + + <_>13 2 4 1 -1. + <_>13 2 2 1 2. + 0 + 0.0110892597585917 + 0.5165994763374329 + 0.3209475874900818 + <_> + + <_> + + + + <_>3 2 4 1 -1. + <_>5 2 2 1 2. + 0 + 1.6560709627810866e-004 + 0.4058471918106079 + 0.5307276248931885 + <_> + + <_> + + + + <_>10 0 4 2 -1. + <_>12 0 2 1 2. + <_>10 1 2 1 2. + 0 + -5.3354292176663876e-003 + 0.3445056974887848 + 0.5158129930496216 + <_> + + <_> + + + + <_>7 12 3 1 -1. + <_>8 12 1 1 3. + 0 + 1.1287260567769408e-003 + 0.4594863057136536 + 0.6075533032417297 + <_> + + <_> + + + + <_>8 11 4 8 -1. + <_>10 11 2 4 2. + <_>8 15 2 4 2. + 0 + -0.0219692196696997 + 0.1680400967597961 + 0.5228595733642578 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -2.1775320055894554e-004 + 0.3861596882343292 + 0.5215672850608826 + <_> + + <_> + + + + <_>3 18 15 2 -1. + <_>3 19 15 1 2. + 0 + 2.0200149447191507e-004 + 0.5517979264259338 + 0.4363039135932922 + <_> + + <_> + + + + <_>2 6 2 12 -1. + <_>2 6 1 6 2. + <_>3 12 1 6 2. + 0 + -0.0217331498861313 + 0.7999460101127625 + 0.4789851009845734 + <_> + + <_> + + + + <_>9 8 2 3 -1. + <_>9 9 2 1 3. + 0 + -8.4399932529777288e-004 + 0.4085975885391235 + 0.5374773144721985 + <_> + + <_> + + + + <_>7 10 3 2 -1. + <_>8 10 1 2 3. + 0 + -4.3895249837078154e-004 + 0.5470405220985413 + 0.4366143047809601 + <_> + + <_> + + + + <_>11 11 3 1 -1. + <_>12 11 1 1 3. + 0 + 1.5092400135472417e-003 + 0.4988996982574463 + 0.5842149257659912 + <_> + + <_> + + + + <_>6 11 3 1 -1. + <_>7 11 1 1 3. + 0 + -3.5547839943319559e-003 + 0.6753690242767334 + 0.4721005856990814 + <_> + + <_> + + + + <_>9 2 4 2 -1. + <_>11 2 2 1 2. + <_>9 3 2 1 2. + 0 + 4.8191400128416717e-004 + 0.5415853857994080 + 0.4357109069824219 + <_> + + <_> + + + + <_>4 12 2 3 -1. + <_>4 13 2 1 3. + 0 + -6.0264398343861103e-003 + 0.2258509993553162 + 0.4991880953311920 + <_> + + <_> + + + + <_>2 1 18 3 -1. + <_>8 1 6 3 3. + 0 + -0.0116681400686502 + 0.6256554722785950 + 0.4927498996257782 + <_> + + <_> + + + + <_>5 1 4 14 -1. + <_>7 1 2 14 2. + 0 + -2.8718370012938976e-003 + 0.3947784900665283 + 0.5245801806449890 + <_> + + <_> + + + + <_>8 16 12 3 -1. + <_>8 16 6 3 2. + 0 + 0.0170511696487665 + 0.4752511084079742 + 0.5794224143028259 + <_> + + <_> + + + + <_>1 17 18 3 -1. + <_>7 17 6 3 3. + 0 + -0.0133520802482963 + 0.6041104793548584 + 0.4544535875320435 + <_> + + <_> + + + + <_>9 14 2 6 -1. + <_>9 17 2 3 2. + 0 + -3.9301801007241011e-004 + 0.4258275926113129 + 0.5544905066490173 + <_> + + <_> + + + + <_>9 12 1 8 -1. + <_>9 16 1 4 2. + 0 + 3.0483349692076445e-003 + 0.5233420133590698 + 0.3780272901058197 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + -4.3579288758337498e-003 + 0.6371889114379883 + 0.4838674068450928 + <_> + + <_> + + + + <_>9 6 2 12 -1. + <_>9 10 2 4 3. + 0 + 5.6661018170416355e-003 + 0.5374705791473389 + 0.4163666069507599 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + 6.0677339206449687e-005 + 0.4638795852661133 + 0.5311625003814697 + <_> + + <_> + + + + <_>0 1 4 8 -1. + <_>2 1 2 8 2. + 0 + 0.0367381609976292 + 0.4688656032085419 + 0.6466524004936218 + <_> + + <_> + + + + <_>9 1 6 2 -1. + <_>12 1 3 1 2. + <_>9 2 3 1 2. + 0 + 8.6528137326240540e-003 + 0.5204318761825562 + 0.2188657969236374 + <_> + + <_> + + + + <_>1 3 12 14 -1. + <_>1 10 12 7 2. + 0 + -0.1537135988473892 + 0.1630371958017349 + 0.4958840012550354 + <_> + + <_> + + + + <_>8 12 4 2 -1. + <_>10 12 2 1 2. + <_>8 13 2 1 2. + 0 + -4.1560421232134104e-004 + 0.5774459242820740 + 0.4696458876132965 + <_> + + <_> + + + + <_>1 9 10 2 -1. + <_>1 9 5 1 2. + <_>6 10 5 1 2. + 0 + -1.2640169588848948e-003 + 0.3977175951004028 + 0.5217198133468628 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + -3.5473341122269630e-003 + 0.6046528220176697 + 0.4808315038681030 + <_> + + <_> + + + + <_>6 8 8 3 -1. + <_>6 9 8 1 3. + 0 + 3.0019069527043030e-005 + 0.3996723890304565 + 0.5228201150894165 + <_> + + <_> + + + + <_>9 15 5 3 -1. + <_>9 16 5 1 3. + 0 + 1.3113019522279501e-003 + 0.4712158143520355 + 0.5765997767448425 + <_> + + <_> + + + + <_>8 7 4 3 -1. + <_>8 8 4 1 3. + 0 + -1.3374709524214268e-003 + 0.4109584987163544 + 0.5253170132637024 + <_> + + <_> + + + + <_>7 7 6 2 -1. + <_>7 8 6 1 2. + 0 + 0.0208767093718052 + 0.5202993750572205 + 0.1757981926202774 + <_> + + <_> + + + + <_>5 7 8 2 -1. + <_>5 7 4 1 2. + <_>9 8 4 1 2. + 0 + -7.5497948564589024e-003 + 0.6566609740257263 + 0.4694975018501282 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + 0.0241885501891375 + 0.5128673911094666 + 0.3370220959186554 + <_> + + <_> + + + + <_>4 7 4 2 -1. + <_>4 8 4 1 2. + 0 + -2.9358828905969858e-003 + 0.6580786705017090 + 0.4694541096687317 + <_> + + <_> + + + + <_>14 2 6 9 -1. + <_>14 5 6 3 3. + 0 + 0.0575579293072224 + 0.5146445035934448 + 0.2775259912014008 + <_> + + <_> + + + + <_>4 9 3 3 -1. + <_>5 9 1 3 3. + 0 + -1.1343370424583554e-003 + 0.3836601972579956 + 0.5192667245864868 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + 0.0168169997632504 + 0.5085592865943909 + 0.6177260875701904 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>0 5 6 3 3. + 0 + 5.0535178743302822e-003 + 0.5138763189315796 + 0.3684791922569275 + <_> + + <_> + + + + <_>17 3 3 6 -1. + <_>18 3 1 6 3. + 0 + -4.5874710194766521e-003 + 0.5989655256271362 + 0.4835202097892761 + <_> + + <_> + + + + <_>0 3 3 6 -1. + <_>1 3 1 6 3. + 0 + 1.6882460331544280e-003 + 0.4509486854076386 + 0.5723056793212891 + <_> + + <_> + + + + <_>17 14 1 2 -1. + <_>17 15 1 1 2. + 0 + -1.6554000321775675e-003 + 0.3496770858764648 + 0.5243319272994995 + <_> + + <_> + + + + <_>4 9 4 3 -1. + <_>6 9 2 3 2. + 0 + -0.0193738006055355 + 0.1120536997914314 + 0.4968712925910950 + <_> + + <_> + + + + <_>12 9 3 3 -1. + <_>12 10 3 1 3. + 0 + 0.0103744501248002 + 0.5148196816444397 + 0.4395213127136231 + <_> + + <_> + + + + <_>5 9 3 3 -1. + <_>5 10 3 1 3. + 0 + 1.4973050565458834e-004 + 0.4084999859333038 + 0.5269886851310730 + <_> + + <_> + + + + <_>9 5 6 8 -1. + <_>12 5 3 4 2. + <_>9 9 3 4 2. + 0 + -0.0429819300770760 + 0.6394104957580566 + 0.5018504261970520 + <_> + + <_> + + + + <_>5 5 6 8 -1. + <_>5 5 3 4 2. + <_>8 9 3 4 2. + 0 + 8.3065936341881752e-003 + 0.4707553982734680 + 0.6698353290557861 + <_> + + <_> + + + + <_>16 1 4 6 -1. + <_>16 4 4 3 2. + 0 + -4.1285790503025055e-003 + 0.4541369080543518 + 0.5323647260665894 + <_> + + <_> + + + + <_>1 0 6 20 -1. + <_>3 0 2 20 3. + 0 + 1.7399420030415058e-003 + 0.4333961904048920 + 0.5439866185188294 + <_> + + <_> + + + + <_>12 11 3 2 -1. + <_>13 11 1 2 3. + 0 + 1.1739750334527344e-004 + 0.4579687118530273 + 0.5543426275253296 + <_> + + <_> + + + + <_>5 11 3 2 -1. + <_>6 11 1 2 3. + 0 + 1.8585780344437808e-004 + 0.4324643909931183 + 0.5426754951477051 + <_> + + <_> + + + + <_>9 4 6 1 -1. + <_>11 4 2 1 3. + 0 + 5.5587692186236382e-003 + 0.5257220864295960 + 0.3550611138343811 + <_> + + <_> + + + + <_>0 0 8 3 -1. + <_>4 0 4 3 2. + 0 + -7.9851560294628143e-003 + 0.6043018102645874 + 0.4630635976791382 + <_> + + <_> + + + + <_>15 0 2 5 -1. + <_>15 0 1 5 2. + 0 + 6.0594122624024749e-004 + 0.4598254859447479 + 0.5533195137977600 + <_> + + <_> + + + + <_>4 1 3 2 -1. + <_>5 1 1 2 3. + 0 + -2.2983040253166109e-004 + 0.4130752086639404 + 0.5322461128234863 + <_> + + <_> + + + + <_>7 0 6 15 -1. + <_>9 0 2 15 3. + 0 + 4.3740210821852088e-004 + 0.4043039977550507 + 0.5409289002418518 + <_> + + <_> + + + + <_>6 11 3 1 -1. + <_>7 11 1 1 3. + 0 + 2.9482020181603730e-004 + 0.4494963884353638 + 0.5628852248191834 + <_> + + <_> + + + + <_>12 0 3 4 -1. + <_>13 0 1 4 3. + 0 + 0.0103126596659422 + 0.5177510976791382 + 0.2704316973686218 + <_> + + <_> + + + + <_>5 4 6 1 -1. + <_>7 4 2 1 3. + 0 + -7.7241109684109688e-003 + 0.1988019049167633 + 0.4980553984642029 + <_> + + <_> + + + + <_>12 7 3 2 -1. + <_>12 8 3 1 2. + 0 + -4.6797208487987518e-003 + 0.6644750237464905 + 0.5018296241760254 + <_> + + <_> + + + + <_>0 1 4 6 -1. + <_>0 4 4 3 2. + 0 + -5.0755459815263748e-003 + 0.3898304998874664 + 0.5185269117355347 + <_> + + <_> + + + + <_>12 7 3 2 -1. + <_>12 8 3 1 2. + 0 + 2.2479740437120199e-003 + 0.4801808893680573 + 0.5660336017608643 + <_> + + <_> + + + + <_>2 16 3 3 -1. + <_>2 17 3 1 3. + 0 + 8.3327008178457618e-004 + 0.5210919976234436 + 0.3957188129425049 + <_> + + <_> + + + + <_>13 8 6 10 -1. + <_>16 8 3 5 2. + <_>13 13 3 5 2. + 0 + -0.0412793308496475 + 0.6154541969299316 + 0.5007054209709168 + <_> + + <_> + + + + <_>0 9 5 2 -1. + <_>0 10 5 1 2. + 0 + -5.0930189900100231e-004 + 0.3975942134857178 + 0.5228403806686401 + <_> + + <_> + + + + <_>12 11 2 2 -1. + <_>13 11 1 1 2. + <_>12 12 1 1 2. + 0 + 1.2568780221045017e-003 + 0.4979138076305389 + 0.5939183235168457 + <_> + + <_> + + + + <_>3 15 3 3 -1. + <_>3 16 3 1 3. + 0 + 8.0048497766256332e-003 + 0.4984497129917145 + 0.1633366048336029 + <_> + + <_> + + + + <_>12 7 3 2 -1. + <_>12 8 3 1 2. + 0 + -1.1879300000146031e-003 + 0.5904964804649353 + 0.4942624866962433 + <_> + + <_> + + + + <_>5 7 3 2 -1. + <_>5 8 3 1 2. + 0 + 6.1948952497914433e-004 + 0.4199557900428772 + 0.5328726172447205 + <_> + + <_> + + + + <_>9 5 9 9 -1. + <_>9 8 9 3 3. + 0 + 6.6829859279096127e-003 + 0.5418602824211121 + 0.4905889034271240 + <_> + + <_> + + + + <_>5 0 3 7 -1. + <_>6 0 1 7 3. + 0 + -3.7062340416014194e-003 + 0.3725939095020294 + 0.5138000249862671 + <_> + + <_> + + + + <_>5 2 12 5 -1. + <_>9 2 4 5 3. + 0 + -0.0397394113242626 + 0.6478961110115051 + 0.5050346851348877 + <_> + + <_> + + + + <_>6 11 2 2 -1. + <_>6 11 1 1 2. + <_>7 12 1 1 2. + 0 + 1.4085009461268783e-003 + 0.4682339131832123 + 0.6377884149551392 + <_> + + <_> + + + + <_>15 15 3 2 -1. + <_>15 16 3 1 2. + 0 + 3.9322688826359808e-004 + 0.5458530187606812 + 0.4150482118129730 + <_> + + <_> + + + + <_>2 15 3 2 -1. + <_>2 16 3 1 2. + 0 + -1.8979819724336267e-003 + 0.3690159916877747 + 0.5149704217910767 + <_> + + <_> + + + + <_>14 12 6 8 -1. + <_>17 12 3 4 2. + <_>14 16 3 4 2. + 0 + -0.0139704402536154 + 0.6050562858581543 + 0.4811357855796814 + <_> + + <_> + + + + <_>2 8 15 6 -1. + <_>7 8 5 6 3. + 0 + -0.1010081991553307 + 0.2017080038785934 + 0.4992361962795258 + <_> + + <_> + + + + <_>2 2 18 17 -1. + <_>8 2 6 17 3. + 0 + -0.0173469204455614 + 0.5713148713111877 + 0.4899486005306244 + <_> + + <_> + + + + <_>5 1 4 1 -1. + <_>7 1 2 1 2. + 0 + 1.5619759506080300e-004 + 0.4215388894081116 + 0.5392642021179199 + <_> + + <_> + + + + <_>5 2 12 5 -1. + <_>9 2 4 5 3. + 0 + 0.1343892961740494 + 0.5136151909828186 + 0.3767612874507904 + <_> + + <_> + + + + <_>3 2 12 5 -1. + <_>7 2 4 5 3. + 0 + -0.0245822407305241 + 0.7027357816696167 + 0.4747906923294067 + <_> + + <_> + + + + <_>4 9 12 4 -1. + <_>10 9 6 2 2. + <_>4 11 6 2 2. + 0 + -3.8553720805794001e-003 + 0.4317409098148346 + 0.5427716970443726 + <_> + + <_> + + + + <_>5 15 6 2 -1. + <_>5 15 3 1 2. + <_>8 16 3 1 2. + 0 + -2.3165249731391668e-003 + 0.5942698717117310 + 0.4618647992610931 + <_> + + <_> + + + + <_>10 14 2 3 -1. + <_>10 15 2 1 3. + 0 + -4.8518120311200619e-003 + 0.6191568970680237 + 0.4884895086288452 + <_> + + <_> + + + + <_>0 13 20 2 -1. + <_>0 13 10 1 2. + <_>10 14 10 1 2. + 0 + 2.4699938949197531e-003 + 0.5256664752960205 + 0.4017199873924255 + <_> + + <_> + + + + <_>4 9 12 8 -1. + <_>10 9 6 4 2. + <_>4 13 6 4 2. + 0 + 0.0454969592392445 + 0.5237867832183838 + 0.2685773968696594 + <_> + + <_> + + + + <_>8 13 3 6 -1. + <_>8 16 3 3 2. + 0 + -0.0203195996582508 + 0.2130445986986160 + 0.4979738891124725 + <_> + + <_> + + + + <_>10 12 2 2 -1. + <_>10 13 2 1 2. + 0 + 2.6994998916052282e-004 + 0.4814041852951050 + 0.5543122291564941 + <_> + + <_> + + + + <_>9 12 2 2 -1. + <_>9 12 1 1 2. + <_>10 13 1 1 2. + 0 + -1.8232699949294329e-003 + 0.6482579708099365 + 0.4709989130496979 + <_> + + <_> + + + + <_>4 11 14 4 -1. + <_>11 11 7 2 2. + <_>4 13 7 2 2. + 0 + -6.3015790656208992e-003 + 0.4581927955150604 + 0.5306236147880554 + <_> + + <_> + + + + <_>8 5 4 2 -1. + <_>8 6 4 1 2. + 0 + -2.4139499873854220e-004 + 0.5232086777687073 + 0.4051763117313385 + <_> + + <_> + + + + <_>10 10 6 3 -1. + <_>12 10 2 3 3. + 0 + -1.0330369696021080e-003 + 0.5556201934814453 + 0.4789193868637085 + <_> + + <_> + + + + <_>2 14 1 2 -1. + <_>2 15 1 1 2. + 0 + 1.8041160365100950e-004 + 0.5229442715644836 + 0.4011810123920441 + <_> + + <_> + + + + <_>13 8 6 12 -1. + <_>16 8 3 6 2. + <_>13 14 3 6 2. + 0 + -0.0614078603684902 + 0.6298682093620300 + 0.5010703206062317 + <_> + + <_> + + + + <_>1 8 6 12 -1. + <_>1 8 3 6 2. + <_>4 14 3 6 2. + 0 + -0.0695439130067825 + 0.7228280901908875 + 0.4773184061050415 + <_> + + <_> + + + + <_>10 0 6 10 -1. + <_>12 0 2 10 3. + 0 + -0.0705426633358002 + 0.2269513010978699 + 0.5182529091835022 + <_> + + <_> + + + + <_>5 11 8 4 -1. + <_>5 11 4 2 2. + <_>9 13 4 2 2. + 0 + 2.4423799477517605e-003 + 0.5237097144126892 + 0.4098151028156281 + <_> + + <_> + + + + <_>10 16 8 4 -1. + <_>14 16 4 2 2. + <_>10 18 4 2 2. + 0 + 1.5494349645450711e-003 + 0.4773750901222229 + 0.5468043088912964 + <_> + + <_> + + + + <_>7 7 6 6 -1. + <_>9 7 2 6 3. + 0 + -0.0239142198115587 + 0.7146975994110107 + 0.4783824980258942 + <_> + + <_> + + + + <_>10 2 4 10 -1. + <_>10 2 2 10 2. + 0 + -0.0124536901712418 + 0.2635296881198883 + 0.5241122841835022 + <_> + + <_> + + + + <_>6 1 4 9 -1. + <_>8 1 2 9 2. + 0 + -2.0760179904755205e-004 + 0.3623757064342499 + 0.5113608837127686 + <_> + + <_> + + + + <_>12 19 2 1 -1. + <_>12 19 1 1 2. + 0 + 2.9781080229440704e-005 + 0.4705932140350342 + 0.5432801842689514 + 90.2533493041992190 + 18 + -1 + <_> + + + <_> + + <_> + + + + <_>1 2 4 9 -1. + <_>3 2 2 9 2. + 0 + 0.0117727499455214 + 0.3860518932342529 + 0.6421167254447937 + <_> + + <_> + + + + <_>7 5 6 4 -1. + <_>9 5 2 4 3. + 0 + 0.0270375702530146 + 0.4385654926300049 + 0.6754038929939270 + <_> + + <_> + + + + <_>9 4 2 4 -1. + <_>9 6 2 2 2. + 0 + -3.6419500247575343e-005 + 0.5487101078033447 + 0.3423315882682800 + <_> + + <_> + + + + <_>14 5 2 8 -1. + <_>14 9 2 4 2. + 0 + 1.9995409529656172e-003 + 0.3230532109737396 + 0.5400317907333374 + <_> + + <_> + + + + <_>7 6 5 12 -1. + <_>7 12 5 6 2. + 0 + 4.5278300531208515e-003 + 0.5091639757156372 + 0.2935043871402741 + <_> + + <_> + + + + <_>14 6 2 6 -1. + <_>14 9 2 3 2. + 0 + 4.7890920541249216e-004 + 0.4178153872489929 + 0.5344064235687256 + <_> + + <_> + + + + <_>4 6 2 6 -1. + <_>4 9 2 3 2. + 0 + 1.1720920447260141e-003 + 0.2899182140827179 + 0.5132070779800415 + <_> + + <_> + + + + <_>8 15 10 4 -1. + <_>13 15 5 2 2. + <_>8 17 5 2 2. + 0 + 9.5305702416226268e-004 + 0.4280124902725220 + 0.5560845136642456 + <_> + + <_> + + + + <_>6 18 2 2 -1. + <_>7 18 1 2 2. + 0 + 1.5099150004971307e-005 + 0.4044871926307678 + 0.5404760241508484 + <_> + + <_> + + + + <_>11 3 6 2 -1. + <_>11 4 6 1 2. + 0 + -6.0817901976406574e-004 + 0.4271768927574158 + 0.5503466129302979 + <_> + + <_> + + + + <_>2 0 16 6 -1. + <_>2 2 16 2 3. + 0 + 3.3224520739167929e-003 + 0.3962723910808563 + 0.5369734764099121 + <_> + + <_> + + + + <_>11 3 6 2 -1. + <_>11 4 6 1 2. + 0 + -1.1037490330636501e-003 + 0.4727177917957306 + 0.5237749814987183 + <_> + + <_> + + + + <_>4 11 10 3 -1. + <_>4 12 10 1 3. + 0 + -1.4350269921123981e-003 + 0.5603008270263672 + 0.4223509132862091 + <_> + + <_> + + + + <_>11 3 6 2 -1. + <_>11 4 6 1 2. + 0 + 2.0767399109899998e-003 + 0.5225917100906372 + 0.4732725918292999 + <_> + + <_> + + + + <_>3 3 6 2 -1. + <_>3 4 6 1 2. + 0 + -1.6412809782195836e-004 + 0.3999075889587402 + 0.5432739853858948 + <_> + + <_> + + + + <_>16 0 4 7 -1. + <_>16 0 2 7 2. + 0 + 8.8302437216043472e-003 + 0.4678385853767395 + 0.6027327179908752 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + -0.0105520701035857 + 0.3493967056274414 + 0.5213974714279175 + <_> + + <_> + + + + <_>9 16 3 3 -1. + <_>9 17 3 1 3. + 0 + -2.2731600329279900e-003 + 0.6185818910598755 + 0.4749062955379486 + <_> + + <_> + + + + <_>4 6 6 2 -1. + <_>6 6 2 2 3. + 0 + -8.4786332445219159e-004 + 0.5285341143608093 + 0.3843482136726379 + <_> + + <_> + + + + <_>15 11 1 3 -1. + <_>15 12 1 1 3. + 0 + 1.2081359745934606e-003 + 0.5360640883445740 + 0.3447335958480835 + <_> + + <_> + + + + <_>5 5 2 3 -1. + <_>5 6 2 1 3. + 0 + 2.6512730401009321e-003 + 0.4558292031288147 + 0.6193962097167969 + <_> + + <_> + + + + <_>10 9 2 2 -1. + <_>10 10 2 1 2. + 0 + -1.1012479662895203e-003 + 0.3680230081081390 + 0.5327628254890442 + <_> + + <_> + + + + <_>3 1 4 3 -1. + <_>5 1 2 3 2. + 0 + 4.9561518244445324e-004 + 0.3960595130920410 + 0.5274940729141235 + <_> + + <_> + + + + <_>16 0 4 7 -1. + <_>16 0 2 7 2. + 0 + -0.0439017713069916 + 0.7020444869995117 + 0.4992839097976685 + <_> + + <_> + + + + <_>0 0 20 1 -1. + <_>10 0 10 1 2. + 0 + 0.0346903502941132 + 0.5049164295196533 + 0.2766602933406830 + <_> + + <_> + + + + <_>15 11 1 3 -1. + <_>15 12 1 1 3. + 0 + -2.7442190330475569e-003 + 0.2672632932662964 + 0.5274971127510071 + <_> + + <_> + + + + <_>0 4 3 4 -1. + <_>1 4 1 4 3. + 0 + 3.3316588960587978e-003 + 0.4579482972621918 + 0.6001101732254028 + <_> + + <_> + + + + <_>16 3 3 6 -1. + <_>16 5 3 2 3. + 0 + -0.0200445707887411 + 0.3171594142913818 + 0.5235717892646790 + <_> + + <_> + + + + <_>1 3 3 6 -1. + <_>1 5 3 2 3. + 0 + 1.3492030557245016e-003 + 0.5265362858772278 + 0.4034324884414673 + <_> + + <_> + + + + <_>6 2 12 6 -1. + <_>12 2 6 3 2. + <_>6 5 6 3 2. + 0 + 2.9702018946409225e-003 + 0.5332456827163696 + 0.4571984112262726 + <_> + + <_> + + + + <_>8 10 4 3 -1. + <_>8 11 4 1 3. + 0 + 6.3039981760084629e-003 + 0.4593310952186585 + 0.6034635901451111 + <_> + + <_> + + + + <_>4 2 14 6 -1. + <_>11 2 7 3 2. + <_>4 5 7 3 2. + 0 + -0.0129365902394056 + 0.4437963962554932 + 0.5372971296310425 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + 4.0148729458451271e-003 + 0.4680323898792267 + 0.6437833905220032 + <_> + + <_> + + + + <_>15 13 2 3 -1. + <_>15 14 2 1 3. + 0 + -2.6401679497212172e-003 + 0.3709631860256195 + 0.5314332842826843 + <_> + + <_> + + + + <_>8 12 4 3 -1. + <_>8 13 4 1 3. + 0 + 0.0139184398576617 + 0.4723555147647858 + 0.7130808830261231 + <_> + + <_> + + + + <_>15 11 1 3 -1. + <_>15 12 1 1 3. + 0 + -4.5087869511917233e-004 + 0.4492394030094147 + 0.5370404124259949 + <_> + + <_> + + + + <_>7 13 5 2 -1. + <_>7 14 5 1 2. + 0 + 2.5384349282830954e-004 + 0.4406864047050476 + 0.5514402985572815 + <_> + + <_> + + + + <_>7 12 6 3 -1. + <_>7 13 6 1 3. + 0 + 2.2710000630468130e-003 + 0.4682416915893555 + 0.5967984199523926 + <_> + + <_> + + + + <_>5 11 4 4 -1. + <_>5 13 4 2 2. + 0 + 2.4120779708027840e-003 + 0.5079392194747925 + 0.3018598854541779 + <_> + + <_> + + + + <_>11 4 3 3 -1. + <_>12 4 1 3 3. + 0 + -3.6025670851813629e-005 + 0.5601037144660950 + 0.4471096992492676 + <_> + + <_> + + + + <_>6 4 3 3 -1. + <_>7 4 1 3 3. + 0 + -7.4905529618263245e-003 + 0.2207535058259964 + 0.4989944100379944 + <_> + + <_> + + + + <_>16 5 3 6 -1. + <_>17 5 1 6 3. + 0 + -0.0175131205469370 + 0.6531215906143189 + 0.5017648935317993 + <_> + + <_> + + + + <_>3 6 12 7 -1. + <_>7 6 4 7 3. + 0 + 0.1428163051605225 + 0.4967963099479675 + 0.1482062041759491 + <_> + + <_> + + + + <_>16 5 3 6 -1. + <_>17 5 1 6 3. + 0 + 5.5345268920063972e-003 + 0.4898946881294251 + 0.5954223871231079 + <_> + + <_> + + + + <_>3 13 2 3 -1. + <_>3 14 2 1 3. + 0 + -9.6323591424152255e-004 + 0.3927116990089417 + 0.5196074247360230 + <_> + + <_> + + + + <_>16 5 3 6 -1. + <_>17 5 1 6 3. + 0 + -2.0370010752230883e-003 + 0.5613325238227844 + 0.4884858131408691 + <_> + + <_> + + + + <_>1 5 3 6 -1. + <_>2 5 1 6 3. + 0 + 1.6614829655736685e-003 + 0.4472880065441132 + 0.5578880906105042 + <_> + + <_> + + + + <_>1 9 18 1 -1. + <_>7 9 6 1 3. + 0 + -3.1188090797513723e-003 + 0.3840532898902893 + 0.5397477746009827 + <_> + + <_> + + + + <_>0 9 8 7 -1. + <_>4 9 4 7 2. + 0 + -6.4000617712736130e-003 + 0.5843983888626099 + 0.4533218145370483 + <_> + + <_> + + + + <_>12 11 8 2 -1. + <_>12 12 8 1 2. + 0 + 3.1319601112045348e-004 + 0.5439221858978272 + 0.4234727919101715 + <_> + + <_> + + + + <_>0 11 8 2 -1. + <_>0 12 8 1 2. + 0 + -0.0182220991700888 + 0.1288464963436127 + 0.4958404898643494 + <_> + + <_> + + + + <_>9 13 2 3 -1. + <_>9 14 2 1 3. + 0 + 8.7969247251749039e-003 + 0.4951297938823700 + 0.7153480052947998 + <_> + + <_> + + + + <_>4 10 12 4 -1. + <_>4 10 6 2 2. + <_>10 12 6 2 2. + 0 + -4.2395070195198059e-003 + 0.3946599960327148 + 0.5194936990737915 + <_> + + <_> + + + + <_>9 3 3 7 -1. + <_>10 3 1 7 3. + 0 + 9.7086271271109581e-003 + 0.4897503852844238 + 0.6064900159835815 + <_> + + <_> + + + + <_>7 2 3 5 -1. + <_>8 2 1 5 3. + 0 + -3.9934171363711357e-003 + 0.3245440125465393 + 0.5060828924179077 + <_> + + <_> + + + + <_>9 12 4 6 -1. + <_>11 12 2 3 2. + <_>9 15 2 3 2. + 0 + -0.0167850591242313 + 0.1581953018903732 + 0.5203778743743897 + <_> + + <_> + + + + <_>8 7 3 6 -1. + <_>9 7 1 6 3. + 0 + 0.0182720907032490 + 0.4680935144424439 + 0.6626979112625122 + <_> + + <_> + + + + <_>15 4 4 2 -1. + <_>15 5 4 1 2. + 0 + 5.6872838176786900e-003 + 0.5211697816848755 + 0.3512184917926788 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>9 7 1 3 3. + 0 + -1.0739039862528443e-003 + 0.5768386125564575 + 0.4529845118522644 + <_> + + <_> + + + + <_>14 2 6 4 -1. + <_>14 4 6 2 2. + 0 + -3.7093870341777802e-003 + 0.4507763087749481 + 0.5313581228256226 + <_> + + <_> + + + + <_>7 16 6 1 -1. + <_>9 16 2 1 3. + 0 + -2.1110709349159151e-004 + 0.5460820198059082 + 0.4333376884460449 + <_> + + <_> + + + + <_>15 13 2 3 -1. + <_>15 14 2 1 3. + 0 + 1.0670139454305172e-003 + 0.5371856093406677 + 0.4078390896320343 + <_> + + <_> + + + + <_>8 7 3 10 -1. + <_>9 7 1 10 3. + 0 + 3.5943021066486835e-003 + 0.4471287131309509 + 0.5643836259841919 + <_> + + <_> + + + + <_>11 10 2 6 -1. + <_>11 12 2 2 3. + 0 + -5.1776031032204628e-003 + 0.4499393105506897 + 0.5280330181121826 + <_> + + <_> + + + + <_>6 10 4 1 -1. + <_>8 10 2 1 2. + 0 + -2.5414369883947074e-004 + 0.5516173243522644 + 0.4407708048820496 + <_> + + <_> + + + + <_>10 9 2 2 -1. + <_>10 10 2 1 2. + 0 + 6.3522560521960258e-003 + 0.5194190144538879 + 0.2465227991342545 + <_> + + <_> + + + + <_>8 9 2 2 -1. + <_>8 10 2 1 2. + 0 + -4.4205080484971404e-004 + 0.3830705881118774 + 0.5139682292938232 + <_> + + <_> + + + + <_>12 7 2 2 -1. + <_>13 7 1 1 2. + <_>12 8 1 1 2. + 0 + 7.4488727841526270e-004 + 0.4891090989112854 + 0.5974786877632141 + <_> + + <_> + + + + <_>5 7 2 2 -1. + <_>5 7 1 1 2. + <_>6 8 1 1 2. + 0 + -3.5116379149258137e-003 + 0.7413681745529175 + 0.4768764972686768 + <_> + + <_> + + + + <_>13 0 3 14 -1. + <_>14 0 1 14 3. + 0 + -0.0125409103929996 + 0.3648819029331207 + 0.5252826809883118 + <_> + + <_> + + + + <_>4 0 3 14 -1. + <_>5 0 1 14 3. + 0 + 9.4931852072477341e-003 + 0.5100492835044861 + 0.3629586994647980 + <_> + + <_> + + + + <_>13 4 3 14 -1. + <_>14 4 1 14 3. + 0 + 0.0129611501470208 + 0.5232442021369934 + 0.4333561062812805 + <_> + + <_> + + + + <_>9 14 2 3 -1. + <_>9 15 2 1 3. + 0 + 4.7209449112415314e-003 + 0.4648149013519287 + 0.6331052780151367 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + -2.3119079414755106e-003 + 0.5930309891700745 + 0.4531058073043823 + <_> + + <_> + + + + <_>4 2 3 16 -1. + <_>5 2 1 16 3. + 0 + -2.8262299019843340e-003 + 0.3870477974414825 + 0.5257101058959961 + <_> + + <_> + + + + <_>7 2 8 10 -1. + <_>7 7 8 5 2. + 0 + -1.4311339473351836e-003 + 0.5522503256797791 + 0.4561854898929596 + <_> + + <_> + + + + <_>6 14 7 3 -1. + <_>6 15 7 1 3. + 0 + 1.9378310535103083e-003 + 0.4546220898628235 + 0.5736966729164124 + <_> + + <_> + + + + <_>9 2 10 12 -1. + <_>14 2 5 6 2. + <_>9 8 5 6 2. + 0 + 2.6343559147790074e-004 + 0.5345739126205444 + 0.4571875035762787 + <_> + + <_> + + + + <_>6 7 8 2 -1. + <_>6 8 8 1 2. + 0 + 7.8257522545754910e-004 + 0.3967815935611725 + 0.5220187902450562 + <_> + + <_> + + + + <_>8 13 4 6 -1. + <_>8 16 4 3 2. + 0 + -0.0195504408329725 + 0.2829642891883850 + 0.5243508219718933 + <_> + + <_> + + + + <_>6 6 1 3 -1. + <_>6 7 1 1 3. + 0 + 4.3914958951063454e-004 + 0.4590066969394684 + 0.5899090170860291 + <_> + + <_> + + + + <_>16 2 4 6 -1. + <_>16 4 4 2 3. + 0 + 0.0214520003646612 + 0.5231410861015320 + 0.2855378985404968 + <_> + + <_> + + + + <_>6 6 4 2 -1. + <_>6 6 2 1 2. + <_>8 7 2 1 2. + 0 + 5.8973580598831177e-004 + 0.4397256970405579 + 0.5506421923637390 + <_> + + <_> + + + + <_>16 2 4 6 -1. + <_>16 4 4 2 3. + 0 + -0.0261576101183891 + 0.3135079145431519 + 0.5189175009727478 + <_> + + <_> + + + + <_>0 2 4 6 -1. + <_>0 4 4 2 3. + 0 + -0.0139598604291677 + 0.3213272988796234 + 0.5040717720985413 + <_> + + <_> + + + + <_>9 6 2 6 -1. + <_>9 6 1 6 2. + 0 + -6.3699018210172653e-003 + 0.6387544870376587 + 0.4849506914615631 + <_> + + <_> + + + + <_>3 4 6 10 -1. + <_>3 9 6 5 2. + 0 + -8.5613820701837540e-003 + 0.2759132087230682 + 0.5032019019126892 + <_> + + <_> + + + + <_>9 5 2 6 -1. + <_>9 5 1 6 2. + 0 + 9.6622901037335396e-004 + 0.4685640931129456 + 0.5834879279136658 + <_> + + <_> + + + + <_>3 13 2 3 -1. + <_>3 14 2 1 3. + 0 + 7.6550268568098545e-004 + 0.5175207257270813 + 0.3896422088146210 + <_> + + <_> + + + + <_>13 13 3 2 -1. + <_>13 14 3 1 2. + 0 + -8.1833340227603912e-003 + 0.2069136947393417 + 0.5208122134208679 + <_> + + <_> + + + + <_>2 16 10 4 -1. + <_>2 16 5 2 2. + <_>7 18 5 2 2. + 0 + -9.3976939097046852e-003 + 0.6134091019630432 + 0.4641222953796387 + <_> + + <_> + + + + <_>5 6 10 6 -1. + <_>10 6 5 3 2. + <_>5 9 5 3 2. + 0 + 4.8028980381786823e-003 + 0.5454108119010925 + 0.4395219981670380 + <_> + + <_> + + + + <_>7 14 1 3 -1. + <_>7 15 1 1 3. + 0 + -3.5680569708347321e-003 + 0.6344485282897949 + 0.4681093990802765 + <_> + + <_> + + + + <_>14 16 6 3 -1. + <_>14 17 6 1 3. + 0 + 4.0733120404183865e-003 + 0.5292683243751526 + 0.4015620052814484 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 1.2568129459396005e-003 + 0.4392988085746765 + 0.5452824831008911 + <_> + + <_> + + + + <_>7 4 10 3 -1. + <_>7 5 10 1 3. + 0 + -2.9065010603517294e-003 + 0.5898832082748413 + 0.4863379895687103 + <_> + + <_> + + + + <_>0 4 5 4 -1. + <_>0 6 5 2 2. + 0 + -2.4409340694546700e-003 + 0.4069364964962006 + 0.5247421860694885 + <_> + + <_> + + + + <_>13 11 3 9 -1. + <_>13 14 3 3 3. + 0 + 0.0248307008296251 + 0.5182725787162781 + 0.3682524859905243 + <_> + + <_> + + + + <_>4 11 3 9 -1. + <_>4 14 3 3 3. + 0 + -0.0488540083169937 + 0.1307577937841415 + 0.4961281120777130 + <_> + + <_> + + + + <_>9 7 2 1 -1. + <_>9 7 1 1 2. + 0 + -1.6110379947349429e-003 + 0.6421005725860596 + 0.4872662127017975 + <_> + + <_> + + + + <_>5 0 6 17 -1. + <_>7 0 2 17 3. + 0 + -0.0970094799995422 + 0.0477693490684032 + 0.4950988888740540 + <_> + + <_> + + + + <_>10 3 6 3 -1. + <_>10 3 3 3 2. + 0 + 1.1209240183234215e-003 + 0.4616267085075378 + 0.5354745984077454 + <_> + + <_> + + + + <_>2 2 15 4 -1. + <_>7 2 5 4 3. + 0 + -1.3064090162515640e-003 + 0.6261854171752930 + 0.4638805985450745 + <_> + + <_> + + + + <_>8 2 8 2 -1. + <_>12 2 4 1 2. + <_>8 3 4 1 2. + 0 + 4.5771620352752507e-004 + 0.5384417772293091 + 0.4646640121936798 + <_> + + <_> + + + + <_>8 1 3 6 -1. + <_>8 3 3 2 3. + 0 + -6.3149951165542006e-004 + 0.3804047107696533 + 0.5130257010459900 + <_> + + <_> + + + + <_>9 17 2 2 -1. + <_>9 18 2 1 2. + 0 + 1.4505970466416329e-004 + 0.4554310142993927 + 0.5664461851119995 + <_> + + <_> + + + + <_>0 0 2 14 -1. + <_>1 0 1 14 2. + 0 + -0.0164745505899191 + 0.6596958041191101 + 0.4715859889984131 + <_> + + <_> + + + + <_>12 0 7 3 -1. + <_>12 1 7 1 3. + 0 + 0.0133695797994733 + 0.5195466279983521 + 0.3035964965820313 + <_> + + <_> + + + + <_>1 14 1 2 -1. + <_>1 15 1 1 2. + 0 + 1.0271780047332868e-004 + 0.5229176282882690 + 0.4107066094875336 + <_> + + <_> + + + + <_>14 12 2 8 -1. + <_>15 12 1 4 2. + <_>14 16 1 4 2. + 0 + -5.5311559699475765e-003 + 0.6352887749671936 + 0.4960907101631165 + <_> + + <_> + + + + <_>1 0 7 3 -1. + <_>1 1 7 1 3. + 0 + -2.6187049224972725e-003 + 0.3824546039104462 + 0.5140984058380127 + <_> + + <_> + + + + <_>14 12 2 8 -1. + <_>15 12 1 4 2. + <_>14 16 1 4 2. + 0 + 5.0834268331527710e-003 + 0.4950439929962158 + 0.6220818758010864 + <_> + + <_> + + + + <_>6 0 8 12 -1. + <_>6 0 4 6 2. + <_>10 6 4 6 2. + 0 + 0.0798181593418121 + 0.4952335953712463 + 0.1322475969791412 + <_> + + <_> + + + + <_>6 1 8 9 -1. + <_>6 4 8 3 3. + 0 + -0.0992265865206718 + 0.7542728781700134 + 0.5008416771888733 + <_> + + <_> + + + + <_>5 2 2 2 -1. + <_>5 3 2 1 2. + 0 + -6.5174017800018191e-004 + 0.3699302971363068 + 0.5130121111869812 + <_> + + <_> + + + + <_>13 14 6 6 -1. + <_>16 14 3 3 2. + <_>13 17 3 3 2. + 0 + -0.0189968496561050 + 0.6689178943634033 + 0.4921202957630158 + <_> + + <_> + + + + <_>0 17 20 2 -1. + <_>0 17 10 1 2. + <_>10 18 10 1 2. + 0 + 0.0173468999564648 + 0.4983300864696503 + 0.1859198063611984 + <_> + + <_> + + + + <_>10 3 2 6 -1. + <_>11 3 1 3 2. + <_>10 6 1 3 2. + 0 + 5.5082101607695222e-004 + 0.4574424028396606 + 0.5522121787071228 + <_> + + <_> + + + + <_>5 12 6 2 -1. + <_>8 12 3 2 2. + 0 + 2.0056050270795822e-003 + 0.5131744742393494 + 0.3856469988822937 + <_> + + <_> + + + + <_>10 7 6 13 -1. + <_>10 7 3 13 2. + 0 + -7.7688191086053848e-003 + 0.4361700117588043 + 0.5434309244155884 + <_> + + <_> + + + + <_>5 15 10 5 -1. + <_>10 15 5 5 2. + 0 + 0.0508782789111137 + 0.4682720899581909 + 0.6840639710426331 + <_> + + <_> + + + + <_>10 4 4 10 -1. + <_>10 4 2 10 2. + 0 + -2.2901780903339386e-003 + 0.4329245090484619 + 0.5306099057197571 + <_> + + <_> + + + + <_>5 7 2 1 -1. + <_>6 7 1 1 2. + 0 + -1.5715380141045898e-004 + 0.5370057225227356 + 0.4378164112567902 + <_> + + <_> + + + + <_>10 3 6 7 -1. + <_>10 3 3 7 2. + 0 + 0.1051924005150795 + 0.5137274265289307 + 0.0673614665865898 + <_> + + <_> + + + + <_>4 3 6 7 -1. + <_>7 3 3 7 2. + 0 + 2.7198919560760260e-003 + 0.4112060964107513 + 0.5255665183067322 + <_> + + <_> + + + + <_>1 7 18 5 -1. + <_>7 7 6 5 3. + 0 + 0.0483377799391747 + 0.5404623746871948 + 0.4438967108726502 + <_> + + <_> + + + + <_>3 17 4 3 -1. + <_>5 17 2 3 2. + 0 + 9.5703761326149106e-004 + 0.4355969130992889 + 0.5399510860443115 + <_> + + <_> + + + + <_>8 14 12 6 -1. + <_>14 14 6 3 2. + <_>8 17 6 3 2. + 0 + -0.0253712590783834 + 0.5995175242424011 + 0.5031024813652039 + <_> + + <_> + + + + <_>0 13 20 4 -1. + <_>0 13 10 2 2. + <_>10 15 10 2 2. + 0 + 0.0524579510092735 + 0.4950287938117981 + 0.1398351043462753 + <_> + + <_> + + + + <_>4 5 14 2 -1. + <_>11 5 7 1 2. + <_>4 6 7 1 2. + 0 + -0.0123656298965216 + 0.6397299170494080 + 0.4964106082916260 + <_> + + <_> + + + + <_>1 2 10 12 -1. + <_>1 2 5 6 2. + <_>6 8 5 6 2. + 0 + -0.1458971947431564 + 0.1001669988036156 + 0.4946322143077850 + <_> + + <_> + + + + <_>6 1 14 3 -1. + <_>6 2 14 1 3. + 0 + -0.0159086007624865 + 0.3312329947948456 + 0.5208340883255005 + <_> + + <_> + + + + <_>8 16 2 3 -1. + <_>8 17 2 1 3. + 0 + 3.9486068999394774e-004 + 0.4406363964080811 + 0.5426102876663208 + <_> + + <_> + + + + <_>9 17 3 2 -1. + <_>10 17 1 2 3. + 0 + -5.2454001270234585e-003 + 0.2799589931964874 + 0.5189967155456543 + <_> + + <_> + + + + <_>5 15 4 2 -1. + <_>5 15 2 1 2. + <_>7 16 2 1 2. + 0 + -5.0421799533069134e-003 + 0.6987580060958862 + 0.4752142131328583 + <_> + + <_> + + + + <_>10 15 1 3 -1. + <_>10 16 1 1 3. + 0 + 2.9812189750373363e-003 + 0.4983288943767548 + 0.6307479739189148 + <_> + + <_> + + + + <_>8 16 4 4 -1. + <_>8 16 2 2 2. + <_>10 18 2 2 2. + 0 + -7.2884308174252510e-003 + 0.2982333004474640 + 0.5026869773864746 + <_> + + <_> + + + + <_>6 11 8 6 -1. + <_>6 14 8 3 2. + 0 + 1.5094350092113018e-003 + 0.5308442115783691 + 0.3832970857620239 + <_> + + <_> + + + + <_>2 13 5 2 -1. + <_>2 14 5 1 2. + 0 + -9.3340799212455750e-003 + 0.2037964016199112 + 0.4969817101955414 + <_> + + <_> + + + + <_>13 14 6 6 -1. + <_>16 14 3 3 2. + <_>13 17 3 3 2. + 0 + 0.0286671407520771 + 0.5025696754455566 + 0.6928027272224426 + <_> + + <_> + + + + <_>1 9 18 4 -1. + <_>7 9 6 4 3. + 0 + 0.1701968014240265 + 0.4960052967071533 + 0.1476442962884903 + <_> + + <_> + + + + <_>13 14 6 6 -1. + <_>16 14 3 3 2. + <_>13 17 3 3 2. + 0 + -3.2614478841423988e-003 + 0.5603063702583313 + 0.4826056063175201 + <_> + + <_> + + + + <_>0 2 1 6 -1. + <_>0 4 1 2 3. + 0 + 5.5769277969375253e-004 + 0.5205562114715576 + 0.4129633009433746 + <_> + + <_> + + + + <_>5 0 15 20 -1. + <_>5 10 15 10 2. + 0 + 0.3625833988189697 + 0.5221652984619141 + 0.3768612146377564 + <_> + + <_> + + + + <_>1 14 6 6 -1. + <_>1 14 3 3 2. + <_>4 17 3 3 2. + 0 + -0.0116151301190257 + 0.6022682785987854 + 0.4637489914894104 + <_> + + <_> + + + + <_>8 14 4 6 -1. + <_>10 14 2 3 2. + <_>8 17 2 3 2. + 0 + -4.0795197710394859e-003 + 0.4070447087287903 + 0.5337479114532471 + <_> + + <_> + + + + <_>7 11 2 1 -1. + <_>8 11 1 1 2. + 0 + 5.7204300537705421e-004 + 0.4601835012435913 + 0.5900393128395081 + <_> + + <_> + + + + <_>9 17 3 2 -1. + <_>10 17 1 2 3. + 0 + 6.7543348995968699e-004 + 0.5398252010345459 + 0.4345428943634033 + <_> + + <_> + + + + <_>8 17 3 2 -1. + <_>9 17 1 2 3. + 0 + 6.3295697327703238e-004 + 0.5201563239097595 + 0.4051358997821808 + <_> + + <_> + + + + <_>12 14 4 6 -1. + <_>14 14 2 3 2. + <_>12 17 2 3 2. + 0 + 1.2435320531949401e-003 + 0.4642387926578522 + 0.5547441244125366 + <_> + + <_> + + + + <_>4 14 4 6 -1. + <_>4 14 2 3 2. + <_>6 17 2 3 2. + 0 + -4.7363857738673687e-003 + 0.6198567152023315 + 0.4672552049160004 + <_> + + <_> + + + + <_>13 14 2 6 -1. + <_>14 14 1 3 2. + <_>13 17 1 3 2. + 0 + -6.4658462069928646e-003 + 0.6837332844734192 + 0.5019000768661499 + <_> + + <_> + + + + <_>5 14 2 6 -1. + <_>5 14 1 3 2. + <_>6 17 1 3 2. + 0 + 3.5017321351915598e-004 + 0.4344803094863892 + 0.5363622903823853 + <_> + + <_> + + + + <_>7 0 6 12 -1. + <_>7 4 6 4 3. + 0 + 1.5754920605104417e-004 + 0.4760079085826874 + 0.5732020735740662 + <_> + + <_> + + + + <_>0 7 12 2 -1. + <_>4 7 4 2 3. + 0 + 9.9774366244673729e-003 + 0.5090985894203186 + 0.3635039925575256 + <_> + + <_> + + + + <_>10 3 3 13 -1. + <_>11 3 1 13 3. + 0 + -4.1464529931545258e-004 + 0.5570064783096314 + 0.4593802094459534 + <_> + + <_> + + + + <_>7 3 3 13 -1. + <_>8 3 1 13 3. + 0 + -3.5888899583369493e-004 + 0.5356845855712891 + 0.4339134991168976 + <_> + + <_> + + + + <_>10 8 6 3 -1. + <_>10 9 6 1 3. + 0 + 4.0463250479660928e-004 + 0.4439803063869476 + 0.5436776876449585 + <_> + + <_> + + + + <_>3 11 3 2 -1. + <_>4 11 1 2 3. + 0 + -8.2184787606820464e-004 + 0.4042294919490814 + 0.5176299214363098 + <_> + + <_> + + + + <_>13 12 6 8 -1. + <_>16 12 3 4 2. + <_>13 16 3 4 2. + 0 + 5.9467419050633907e-003 + 0.4927651882171631 + 0.5633779764175415 + <_> + + <_> + + + + <_>7 6 6 5 -1. + <_>9 6 2 5 3. + 0 + -0.0217533893883228 + 0.8006293773651123 + 0.4800840914249420 + <_> + + <_> + + + + <_>17 11 2 7 -1. + <_>17 11 1 7 2. + 0 + -0.0145403798669577 + 0.3946054875850678 + 0.5182222723960877 + <_> + + <_> + + + + <_>3 13 8 2 -1. + <_>7 13 4 2 2. + 0 + -0.0405107699334621 + 0.0213249903172255 + 0.4935792982578278 + <_> + + <_> + + + + <_>6 9 8 3 -1. + <_>6 10 8 1 3. + 0 + -5.8458268176764250e-004 + 0.4012795984745026 + 0.5314025282859802 + <_> + + <_> + + + + <_>4 3 4 3 -1. + <_>4 4 4 1 3. + 0 + 5.5151800625026226e-003 + 0.4642418920993805 + 0.5896260738372803 + <_> + + <_> + + + + <_>11 3 4 3 -1. + <_>11 4 4 1 3. + 0 + -6.0626221820712090e-003 + 0.6502159237861633 + 0.5016477704048157 + <_> + + <_> + + + + <_>1 4 17 12 -1. + <_>1 8 17 4 3. + 0 + 0.0945358425378799 + 0.5264708995819092 + 0.4126827120780945 + <_> + + <_> + + + + <_>11 3 4 3 -1. + <_>11 4 4 1 3. + 0 + 4.7315051779150963e-003 + 0.4879199862480164 + 0.5892447829246521 + <_> + + <_> + + + + <_>4 8 6 3 -1. + <_>4 9 6 1 3. + 0 + -5.2571471314877272e-004 + 0.3917280137538910 + 0.5189412832260132 + <_> + + <_> + + + + <_>12 3 5 3 -1. + <_>12 4 5 1 3. + 0 + -2.5464049540460110e-003 + 0.5837599039077759 + 0.4985705912113190 + <_> + + <_> + + + + <_>1 11 2 7 -1. + <_>2 11 1 7 2. + 0 + -0.0260756891220808 + 0.1261983960866928 + 0.4955821931362152 + <_> + + <_> + + + + <_>15 12 2 8 -1. + <_>16 12 1 4 2. + <_>15 16 1 4 2. + 0 + -5.4779709316790104e-003 + 0.5722513794898987 + 0.5010265707969666 + <_> + + <_> + + + + <_>4 8 11 3 -1. + <_>4 9 11 1 3. + 0 + 5.1337741315364838e-003 + 0.5273262262344360 + 0.4226376116275787 + <_> + + <_> + + + + <_>9 13 6 2 -1. + <_>12 13 3 1 2. + <_>9 14 3 1 2. + 0 + 4.7944980906322598e-004 + 0.4450066983699799 + 0.5819587111473084 + <_> + + <_> + + + + <_>6 13 4 3 -1. + <_>6 14 4 1 3. + 0 + -2.1114079281687737e-003 + 0.5757653117179871 + 0.4511714875698090 + <_> + + <_> + + + + <_>9 12 3 3 -1. + <_>10 12 1 3 3. + 0 + -0.0131799904629588 + 0.1884381026029587 + 0.5160734057426453 + <_> + + <_> + + + + <_>5 3 3 3 -1. + <_>5 4 3 1 3. + 0 + -4.7968099825084209e-003 + 0.6589789986610413 + 0.4736118912696838 + <_> + + <_> + + + + <_>9 4 2 3 -1. + <_>9 5 2 1 3. + 0 + 6.7483168095350266e-003 + 0.5259429812431335 + 0.3356395065784454 + <_> + + <_> + + + + <_>0 2 16 3 -1. + <_>0 3 16 1 3. + 0 + 1.4623369788751006e-003 + 0.5355271100997925 + 0.4264092147350311 + <_> + + <_> + + + + <_>15 12 2 8 -1. + <_>16 12 1 4 2. + <_>15 16 1 4 2. + 0 + 4.7645159065723419e-003 + 0.5034406781196594 + 0.5786827802658081 + <_> + + <_> + + + + <_>3 12 2 8 -1. + <_>3 12 1 4 2. + <_>4 16 1 4 2. + 0 + 6.8066660314798355e-003 + 0.4756605029106140 + 0.6677829027175903 + <_> + + <_> + + + + <_>14 13 3 6 -1. + <_>14 15 3 2 3. + 0 + 3.6608621012419462e-003 + 0.5369611978530884 + 0.4311546981334686 + <_> + + <_> + + + + <_>3 13 3 6 -1. + <_>3 15 3 2 3. + 0 + 0.0214496403932571 + 0.4968641996383667 + 0.1888816058635712 + <_> + + <_> + + + + <_>6 5 10 2 -1. + <_>11 5 5 1 2. + <_>6 6 5 1 2. + 0 + 4.1678901761770248e-003 + 0.4930733144283295 + 0.5815368890762329 + <_> + + <_> + + + + <_>2 14 14 6 -1. + <_>2 17 14 3 2. + 0 + 8.6467564105987549e-003 + 0.5205205082893372 + 0.4132595062255859 + <_> + + <_> + + + + <_>10 14 1 3 -1. + <_>10 15 1 1 3. + 0 + -3.6114078829996288e-004 + 0.5483555197715759 + 0.4800927937030792 + <_> + + <_> + + + + <_>4 16 2 2 -1. + <_>4 16 1 1 2. + <_>5 17 1 1 2. + 0 + 1.0808729566633701e-003 + 0.4689902067184448 + 0.6041421294212341 + <_> + + <_> + + + + <_>10 6 2 3 -1. + <_>10 7 2 1 3. + 0 + 5.7719959877431393e-003 + 0.5171142220497131 + 0.3053277134895325 + <_> + + <_> + + + + <_>0 17 20 2 -1. + <_>0 17 10 1 2. + <_>10 18 10 1 2. + 0 + 1.5720770461484790e-003 + 0.5219978094100952 + 0.4178803861141205 + <_> + + <_> + + + + <_>13 6 1 3 -1. + <_>13 7 1 1 3. + 0 + -1.9307859474793077e-003 + 0.5860369801521301 + 0.4812920093536377 + <_> + + <_> + + + + <_>8 13 3 2 -1. + <_>9 13 1 2 3. + 0 + -7.8926272690296173e-003 + 0.1749276965856552 + 0.4971733987331390 + <_> + + <_> + + + + <_>12 2 3 3 -1. + <_>13 2 1 3 3. + 0 + -2.2224679123610258e-003 + 0.4342589080333710 + 0.5212848186492920 + <_> + + <_> + + + + <_>3 18 2 2 -1. + <_>3 18 1 1 2. + <_>4 19 1 1 2. + 0 + 1.9011989934369922e-003 + 0.4765186905860901 + 0.6892055273056030 + <_> + + <_> + + + + <_>9 16 3 4 -1. + <_>10 16 1 4 3. + 0 + 2.7576119173318148e-003 + 0.5262191295623779 + 0.4337486028671265 + <_> + + <_> + + + + <_>6 6 1 3 -1. + <_>6 7 1 1 3. + 0 + 5.1787449046969414e-003 + 0.4804069101810455 + 0.7843729257583618 + <_> + + <_> + + + + <_>13 1 5 2 -1. + <_>13 2 5 1 2. + 0 + -9.0273341629654169e-004 + 0.4120846986770630 + 0.5353423953056335 + <_> + + <_> + + + + <_>7 14 6 2 -1. + <_>7 14 3 1 2. + <_>10 15 3 1 2. + 0 + 5.1797959022223949e-003 + 0.4740372896194458 + 0.6425960063934326 + <_> + + <_> + + + + <_>11 3 3 4 -1. + <_>12 3 1 4 3. + 0 + -0.0101140001788735 + 0.2468792051076889 + 0.5175017714500427 + <_> + + <_> + + + + <_>1 13 12 6 -1. + <_>5 13 4 6 3. + 0 + -0.0186170600354671 + 0.5756294131278992 + 0.4628978967666626 + <_> + + <_> + + + + <_>14 11 5 2 -1. + <_>14 12 5 1 2. + 0 + 5.9225959703326225e-003 + 0.5169625878334045 + 0.3214271068572998 + <_> + + <_> + + + + <_>2 15 14 4 -1. + <_>2 15 7 2 2. + <_>9 17 7 2 2. + 0 + -6.2945079989731312e-003 + 0.3872014880180359 + 0.5141636729240418 + <_> + + <_> + + + + <_>3 7 14 2 -1. + <_>10 7 7 1 2. + <_>3 8 7 1 2. + 0 + 6.5353019163012505e-003 + 0.4853048920631409 + 0.6310489773750305 + <_> + + <_> + + + + <_>1 11 4 2 -1. + <_>1 12 4 1 2. + 0 + 1.0878399480134249e-003 + 0.5117315053939819 + 0.3723258972167969 + <_> + + <_> + + + + <_>14 0 6 14 -1. + <_>16 0 2 14 3. + 0 + -0.0225422400981188 + 0.5692740082740784 + 0.4887112975120544 + <_> + + <_> + + + + <_>4 11 1 3 -1. + <_>4 12 1 1 3. + 0 + -3.0065660830587149e-003 + 0.2556012868881226 + 0.5003992915153503 + <_> + + <_> + + + + <_>14 0 6 14 -1. + <_>16 0 2 14 3. + 0 + 7.4741272255778313e-003 + 0.4810872972011566 + 0.5675926804542542 + <_> + + <_> + + + + <_>1 10 3 7 -1. + <_>2 10 1 7 3. + 0 + 0.0261623207479715 + 0.4971194863319397 + 0.1777237057685852 + <_> + + <_> + + + + <_>8 12 9 2 -1. + <_>8 13 9 1 2. + 0 + 9.4352738233283162e-004 + 0.4940010905265808 + 0.5491250753402710 + <_> + + <_> + + + + <_>0 6 20 1 -1. + <_>10 6 10 1 2. + 0 + 0.0333632417023182 + 0.5007612109184265 + 0.2790724039077759 + <_> + + <_> + + + + <_>8 4 4 4 -1. + <_>8 4 2 4 2. + 0 + -0.0151186501607299 + 0.7059578895568848 + 0.4973031878471375 + <_> + + <_> + + + + <_>0 0 2 2 -1. + <_>0 1 2 1 2. + 0 + 9.8648946732282639e-004 + 0.5128620266914368 + 0.3776761889457703 + 104.7491989135742200 + 19 + -1 + <_> + + + <_> + + <_> + + + + <_>5 3 10 9 -1. + <_>5 6 10 3 3. + 0 + -0.0951507985591888 + 0.6470757126808167 + 0.4017286896705627 + <_> + + <_> + + + + <_>15 2 4 10 -1. + <_>15 2 2 10 2. + 0 + 6.2702340073883533e-003 + 0.3999822139739990 + 0.5746449232101440 + <_> + + <_> + + + + <_>8 2 2 7 -1. + <_>9 2 1 7 2. + 0 + 3.0018089455552399e-004 + 0.3558770120143890 + 0.5538809895515442 + <_> + + <_> + + + + <_>7 4 12 1 -1. + <_>11 4 4 1 3. + 0 + 1.1757409665733576e-003 + 0.4256534874439240 + 0.5382617712020874 + <_> + + <_> + + + + <_>3 4 9 1 -1. + <_>6 4 3 1 3. + 0 + 4.4235268433112651e-005 + 0.3682908117771149 + 0.5589926838874817 + <_> + + <_> + + + + <_>15 10 1 4 -1. + <_>15 12 1 2 2. + 0 + -2.9936920327600092e-005 + 0.5452470183372498 + 0.4020367860794067 + <_> + + <_> + + + + <_>4 10 6 4 -1. + <_>7 10 3 4 2. + 0 + 3.0073199886828661e-003 + 0.5239058136940002 + 0.3317843973636627 + <_> + + <_> + + + + <_>15 9 1 6 -1. + <_>15 12 1 3 2. + 0 + -0.0105138896033168 + 0.4320689141750336 + 0.5307983756065369 + <_> + + <_> + + + + <_>7 17 6 3 -1. + <_>7 18 6 1 3. + 0 + 8.3476826548576355e-003 + 0.4504637122154236 + 0.6453298926353455 + <_> + + <_> + + + + <_>14 3 2 16 -1. + <_>15 3 1 8 2. + <_>14 11 1 8 2. + 0 + -3.1492270063608885e-003 + 0.4313425123691559 + 0.5370525121688843 + <_> + + <_> + + + + <_>4 9 1 6 -1. + <_>4 12 1 3 2. + 0 + -1.4435649973165710e-005 + 0.5326603055000305 + 0.3817971944808960 + <_> + + <_> + + + + <_>12 1 5 2 -1. + <_>12 2 5 1 2. + 0 + -4.2855090578086674e-004 + 0.4305163919925690 + 0.5382009744644165 + <_> + + <_> + + + + <_>6 18 4 2 -1. + <_>6 18 2 1 2. + <_>8 19 2 1 2. + 0 + 1.5062429883982986e-004 + 0.4235970973968506 + 0.5544965267181397 + <_> + + <_> + + + + <_>2 4 16 10 -1. + <_>10 4 8 5 2. + <_>2 9 8 5 2. + 0 + 0.0715598315000534 + 0.5303059816360474 + 0.2678802907466888 + <_> + + <_> + + + + <_>6 5 1 10 -1. + <_>6 10 1 5 2. + 0 + 8.4095180500298738e-004 + 0.3557108938694000 + 0.5205433964729309 + <_> + + <_> + + + + <_>4 8 15 2 -1. + <_>9 8 5 2 3. + 0 + 0.0629865005612373 + 0.5225362777709961 + 0.2861376106739044 + <_> + + <_> + + + + <_>1 8 15 2 -1. + <_>6 8 5 2 3. + 0 + -3.3798629883676767e-003 + 0.3624185919761658 + 0.5201697945594788 + <_> + + <_> + + + + <_>9 5 3 6 -1. + <_>9 7 3 2 3. + 0 + -1.1810739670181647e-004 + 0.5474476814270020 + 0.3959893882274628 + <_> + + <_> + + + + <_>5 7 8 2 -1. + <_>9 7 4 2 2. + 0 + -5.4505601292476058e-004 + 0.3740422129631043 + 0.5215715765953064 + <_> + + <_> + + + + <_>9 11 2 3 -1. + <_>9 12 2 1 3. + 0 + -1.8454910023137927e-003 + 0.5893052220344544 + 0.4584448933601379 + <_> + + <_> + + + + <_>1 0 16 3 -1. + <_>1 1 16 1 3. + 0 + -4.3832371011376381e-004 + 0.4084582030773163 + 0.5385351181030273 + <_> + + <_> + + + + <_>11 2 7 2 -1. + <_>11 3 7 1 2. + 0 + -2.4000830017030239e-003 + 0.3777455091476440 + 0.5293580293655396 + <_> + + <_> + + + + <_>5 1 10 18 -1. + <_>5 7 10 6 3. + 0 + -0.0987957417964935 + 0.2963612079620361 + 0.5070089101791382 + <_> + + <_> + + + + <_>17 4 3 2 -1. + <_>18 4 1 2 3. + 0 + 3.1798239797353745e-003 + 0.4877632856369019 + 0.6726443767547607 + <_> + + <_> + + + + <_>8 13 1 3 -1. + <_>8 14 1 1 3. + 0 + 3.2406419632025063e-004 + 0.4366911053657532 + 0.5561109781265259 + <_> + + <_> + + + + <_>3 14 14 6 -1. + <_>3 16 14 2 3. + 0 + -0.0325472503900528 + 0.3128157854080200 + 0.5308616161346436 + <_> + + <_> + + + + <_>0 2 3 4 -1. + <_>1 2 1 4 3. + 0 + -7.7561130747199059e-003 + 0.6560224890708923 + 0.4639872014522553 + <_> + + <_> + + + + <_>12 1 5 2 -1. + <_>12 2 5 1 2. + 0 + 0.0160272493958473 + 0.5172680020332336 + 0.3141897916793823 + <_> + + <_> + + + + <_>3 1 5 2 -1. + <_>3 2 5 1 2. + 0 + 7.1002350523485802e-006 + 0.4084446132183075 + 0.5336294770240784 + <_> + + <_> + + + + <_>10 13 2 3 -1. + <_>10 14 2 1 3. + 0 + 7.3422808200120926e-003 + 0.4966922104358673 + 0.6603465080261231 + <_> + + <_> + + + + <_>8 13 2 3 -1. + <_>8 14 2 1 3. + 0 + -1.6970280557870865e-003 + 0.5908237099647522 + 0.4500182867050171 + <_> + + <_> + + + + <_>14 12 2 3 -1. + <_>14 13 2 1 3. + 0 + 2.4118260480463505e-003 + 0.5315160751342773 + 0.3599720895290375 + <_> + + <_> + + + + <_>7 2 2 3 -1. + <_>7 3 2 1 3. + 0 + -5.5300937965512276e-003 + 0.2334040999412537 + 0.4996814131736755 + <_> + + <_> + + + + <_>5 6 10 4 -1. + <_>10 6 5 2 2. + <_>5 8 5 2 2. + 0 + -2.6478730142116547e-003 + 0.5880935788154602 + 0.4684734046459198 + <_> + + <_> + + + + <_>9 13 1 6 -1. + <_>9 16 1 3 2. + 0 + 0.0112956296652555 + 0.4983777105808258 + 0.1884590983390808 + <_> + + <_> + + + + <_>10 12 2 2 -1. + <_>11 12 1 1 2. + <_>10 13 1 1 2. + 0 + -6.6952878842130303e-004 + 0.5872138142585754 + 0.4799019992351532 + <_> + + <_> + + + + <_>4 12 2 3 -1. + <_>4 13 2 1 3. + 0 + 1.4410680159926414e-003 + 0.5131189227104187 + 0.3501011133193970 + <_> + + <_> + + + + <_>14 4 6 6 -1. + <_>14 6 6 2 3. + 0 + 2.4637870956212282e-003 + 0.5339372158050537 + 0.4117639064788818 + <_> + + <_> + + + + <_>8 17 2 3 -1. + <_>8 18 2 1 3. + 0 + 3.3114518737420440e-004 + 0.4313383102416992 + 0.5398246049880981 + <_> + + <_> + + + + <_>16 4 4 6 -1. + <_>16 6 4 2 3. + 0 + -0.0335572697222233 + 0.2675336897373200 + 0.5179154872894287 + <_> + + <_> + + + + <_>0 4 4 6 -1. + <_>0 6 4 2 3. + 0 + 0.0185394193977118 + 0.4973869919776917 + 0.2317177057266235 + <_> + + <_> + + + + <_>14 6 2 3 -1. + <_>14 6 1 3 2. + 0 + -2.9698139405809343e-004 + 0.5529708266258240 + 0.4643664062023163 + <_> + + <_> + + + + <_>4 9 8 1 -1. + <_>8 9 4 1 2. + 0 + -4.5577259152196348e-004 + 0.5629584193229675 + 0.4469191133975983 + <_> + + <_> + + + + <_>8 12 4 3 -1. + <_>8 13 4 1 3. + 0 + -0.0101589802652597 + 0.6706212759017944 + 0.4925918877124786 + <_> + + <_> + + + + <_>5 12 10 6 -1. + <_>5 14 10 2 3. + 0 + -2.2413829356082715e-005 + 0.5239421725273132 + 0.3912901878356934 + <_> + + <_> + + + + <_>11 12 1 2 -1. + <_>11 13 1 1 2. + 0 + 7.2034963523037732e-005 + 0.4799438118934631 + 0.5501788854598999 + <_> + + <_> + + + + <_>8 15 4 2 -1. + <_>8 16 4 1 2. + 0 + -6.9267209619283676e-003 + 0.6930009722709656 + 0.4698084890842438 + <_> + + <_> + + + + <_>6 9 8 8 -1. + <_>10 9 4 4 2. + <_>6 13 4 4 2. + 0 + -7.6997838914394379e-003 + 0.4099623858928680 + 0.5480883121490479 + <_> + + <_> + + + + <_>7 12 4 6 -1. + <_>7 12 2 3 2. + <_>9 15 2 3 2. + 0 + -7.3130549862980843e-003 + 0.3283475935459137 + 0.5057886242866516 + <_> + + <_> + + + + <_>10 11 3 1 -1. + <_>11 11 1 1 3. + 0 + 1.9650589674711227e-003 + 0.4978047013282776 + 0.6398249864578247 + <_> + + <_> + + + + <_>9 7 2 10 -1. + <_>9 7 1 5 2. + <_>10 12 1 5 2. + 0 + 7.1647600270807743e-003 + 0.4661160111427307 + 0.6222137212753296 + <_> + + <_> + + + + <_>8 0 6 6 -1. + <_>10 0 2 6 3. + 0 + -0.0240786392241716 + 0.2334644943475723 + 0.5222162008285523 + <_> + + <_> + + + + <_>3 11 2 6 -1. + <_>3 13 2 2 3. + 0 + -0.0210279691964388 + 0.1183653995394707 + 0.4938226044178009 + <_> + + <_> + + + + <_>16 12 1 2 -1. + <_>16 13 1 1 2. + 0 + 3.6017020465806127e-004 + 0.5325019955635071 + 0.4116711020469666 + <_> + + <_> + + + + <_>1 14 6 6 -1. + <_>1 14 3 3 2. + <_>4 17 3 3 2. + 0 + -0.0172197297215462 + 0.6278762221336365 + 0.4664269089698792 + <_> + + <_> + + + + <_>13 1 3 6 -1. + <_>14 1 1 6 3. + 0 + -7.8672142699360847e-003 + 0.3403415083885193 + 0.5249736905097961 + <_> + + <_> + + + + <_>8 8 2 2 -1. + <_>8 9 2 1 2. + 0 + -4.4777389848604798e-004 + 0.3610411882400513 + 0.5086259245872498 + <_> + + <_> + + + + <_>9 9 3 3 -1. + <_>10 9 1 3 3. + 0 + 5.5486010387539864e-003 + 0.4884265959262848 + 0.6203498244285584 + <_> + + <_> + + + + <_>8 7 3 3 -1. + <_>8 8 3 1 3. + 0 + -6.9461148232221603e-003 + 0.2625930011272430 + 0.5011097192764282 + <_> + + <_> + + + + <_>14 0 2 3 -1. + <_>14 0 1 3 2. + 0 + 1.3569870498031378e-004 + 0.4340794980525971 + 0.5628312230110169 + <_> + + <_> + + + + <_>1 0 18 9 -1. + <_>7 0 6 9 3. + 0 + -0.0458802506327629 + 0.6507998704910278 + 0.4696274995803833 + <_> + + <_> + + + + <_>11 5 4 15 -1. + <_>11 5 2 15 2. + 0 + -0.0215825606137514 + 0.3826502859592438 + 0.5287616848945618 + <_> + + <_> + + + + <_>5 5 4 15 -1. + <_>7 5 2 15 2. + 0 + -0.0202095396816731 + 0.3233368098735809 + 0.5074477195739746 + <_> + + <_> + + + + <_>14 0 2 3 -1. + <_>14 0 1 3 2. + 0 + 5.8496710844337940e-003 + 0.5177603960037231 + 0.4489670991897583 + <_> + + <_> + + + + <_>4 0 2 3 -1. + <_>5 0 1 3 2. + 0 + -5.7476379879517481e-005 + 0.4020850956439972 + 0.5246363878250122 + <_> + + <_> + + + + <_>11 12 2 2 -1. + <_>12 12 1 1 2. + <_>11 13 1 1 2. + 0 + -1.1513100471347570e-003 + 0.6315072178840637 + 0.4905154109001160 + <_> + + <_> + + + + <_>7 12 2 2 -1. + <_>7 12 1 1 2. + <_>8 13 1 1 2. + 0 + 1.9862831104546785e-003 + 0.4702459871768951 + 0.6497151255607605 + <_> + + <_> + + + + <_>12 0 3 4 -1. + <_>13 0 1 4 3. + 0 + -5.2719512023031712e-003 + 0.3650383949279785 + 0.5227652788162231 + <_> + + <_> + + + + <_>4 11 3 3 -1. + <_>4 12 3 1 3. + 0 + 1.2662699446082115e-003 + 0.5166100859642029 + 0.3877618014812470 + <_> + + <_> + + + + <_>12 7 4 2 -1. + <_>12 8 4 1 2. + 0 + -6.2919440679252148e-003 + 0.7375894188880920 + 0.5023847818374634 + <_> + + <_> + + + + <_>8 10 3 2 -1. + <_>9 10 1 2 3. + 0 + 6.7360111279413104e-004 + 0.4423226118087769 + 0.5495585799217224 + <_> + + <_> + + + + <_>9 9 3 2 -1. + <_>10 9 1 2 3. + 0 + -1.0523450328037143e-003 + 0.5976396203041077 + 0.4859583079814911 + <_> + + <_> + + + + <_>8 9 3 2 -1. + <_>9 9 1 2 3. + 0 + -4.4216238893568516e-004 + 0.5955939292907715 + 0.4398930966854096 + <_> + + <_> + + + + <_>12 0 3 4 -1. + <_>13 0 1 4 3. + 0 + 1.1747940443456173e-003 + 0.5349888205528259 + 0.4605058133602142 + <_> + + <_> + + + + <_>5 0 3 4 -1. + <_>6 0 1 4 3. + 0 + 5.2457437850534916e-003 + 0.5049191117286682 + 0.2941577136516571 + <_> + + <_> + + + + <_>4 14 12 4 -1. + <_>10 14 6 2 2. + <_>4 16 6 2 2. + 0 + -0.0245397202670574 + 0.2550177872180939 + 0.5218586921691895 + <_> + + <_> + + + + <_>8 13 2 3 -1. + <_>8 14 2 1 3. + 0 + 7.3793041519820690e-004 + 0.4424861073493958 + 0.5490816235542297 + <_> + + <_> + + + + <_>10 10 3 8 -1. + <_>10 14 3 4 2. + 0 + 1.4233799884095788e-003 + 0.5319514274597168 + 0.4081355929374695 + <_> + + <_> + + + + <_>8 10 4 8 -1. + <_>8 10 2 4 2. + <_>10 14 2 4 2. + 0 + -2.4149110540747643e-003 + 0.4087659120559692 + 0.5238950252532959 + <_> + + <_> + + + + <_>10 8 3 1 -1. + <_>11 8 1 1 3. + 0 + -1.2165299849584699e-003 + 0.5674579143524170 + 0.4908052980899811 + <_> + + <_> + + + + <_>9 12 1 6 -1. + <_>9 15 1 3 2. + 0 + -1.2438809499144554e-003 + 0.4129425883293152 + 0.5256118178367615 + <_> + + <_> + + + + <_>10 8 3 1 -1. + <_>11 8 1 1 3. + 0 + 6.1942739412188530e-003 + 0.5060194134712219 + 0.7313653230667114 + <_> + + <_> + + + + <_>7 8 3 1 -1. + <_>8 8 1 1 3. + 0 + -1.6607169527560472e-003 + 0.5979632139205933 + 0.4596369862556458 + <_> + + <_> + + + + <_>5 2 15 14 -1. + <_>5 9 15 7 2. + 0 + -0.0273162592202425 + 0.4174365103244782 + 0.5308842062950134 + <_> + + <_> + + + + <_>2 1 2 10 -1. + <_>2 1 1 5 2. + <_>3 6 1 5 2. + 0 + -1.5845570014789701e-003 + 0.5615804791450501 + 0.4519486129283905 + <_> + + <_> + + + + <_>14 14 2 3 -1. + <_>14 15 2 1 3. + 0 + -1.5514739789068699e-003 + 0.4076187014579773 + 0.5360785126686096 + <_> + + <_> + + + + <_>2 7 3 3 -1. + <_>3 7 1 3 3. + 0 + 3.8446558755822480e-004 + 0.4347293972969055 + 0.5430442094802856 + <_> + + <_> + + + + <_>17 4 3 3 -1. + <_>17 5 3 1 3. + 0 + -0.0146722598001361 + 0.1659304946660996 + 0.5146093964576721 + <_> + + <_> + + + + <_>0 4 3 3 -1. + <_>0 5 3 1 3. + 0 + 8.1608882173895836e-003 + 0.4961819052696228 + 0.1884745955467224 + <_> + + <_> + + + + <_>13 5 6 2 -1. + <_>16 5 3 1 2. + <_>13 6 3 1 2. + 0 + 1.1121659772470593e-003 + 0.4868263900279999 + 0.6093816161155701 + <_> + + <_> + + + + <_>4 19 12 1 -1. + <_>8 19 4 1 3. + 0 + -7.2603770531713963e-003 + 0.6284325122833252 + 0.4690375924110413 + <_> + + <_> + + + + <_>12 12 2 4 -1. + <_>12 14 2 2 2. + 0 + -2.4046430189628154e-004 + 0.5575000047683716 + 0.4046044051647186 + <_> + + <_> + + + + <_>3 15 1 3 -1. + <_>3 16 1 1 3. + 0 + -2.3348190006799996e-004 + 0.4115762114524841 + 0.5252848267555237 + <_> + + <_> + + + + <_>11 16 6 4 -1. + <_>11 16 3 4 2. + 0 + 5.5736480280756950e-003 + 0.4730072915554047 + 0.5690100789070129 + <_> + + <_> + + + + <_>2 10 3 10 -1. + <_>3 10 1 10 3. + 0 + 0.0306237693876028 + 0.4971886873245239 + 0.1740095019340515 + <_> + + <_> + + + + <_>12 8 2 4 -1. + <_>12 8 1 4 2. + 0 + 9.2074798885732889e-004 + 0.5372117757797241 + 0.4354872107505798 + <_> + + <_> + + + + <_>6 8 2 4 -1. + <_>7 8 1 4 2. + 0 + -4.3550739064812660e-005 + 0.5366883873939514 + 0.4347316920757294 + <_> + + <_> + + + + <_>10 14 2 3 -1. + <_>10 14 1 3 2. + 0 + -6.6452710889279842e-003 + 0.3435518145561218 + 0.5160533189773560 + <_> + + <_> + + + + <_>5 1 10 3 -1. + <_>10 1 5 3 2. + 0 + 0.0432219989597797 + 0.4766792058944702 + 0.7293652892112732 + <_> + + <_> + + + + <_>10 7 3 2 -1. + <_>11 7 1 2 3. + 0 + 2.2331769578158855e-003 + 0.5029315948486328 + 0.5633171200752258 + <_> + + <_> + + + + <_>5 6 9 2 -1. + <_>8 6 3 2 3. + 0 + 3.1829739455133677e-003 + 0.4016092121601105 + 0.5192136764526367 + <_> + + <_> + + + + <_>9 8 2 2 -1. + <_>9 9 2 1 2. + 0 + -1.8027749320026487e-004 + 0.4088315963745117 + 0.5417919754981995 + <_> + + <_> + + + + <_>2 11 16 6 -1. + <_>2 11 8 3 2. + <_>10 14 8 3 2. + 0 + -5.2934689447283745e-003 + 0.4075677096843720 + 0.5243561863899231 + <_> + + <_> + + + + <_>12 7 2 2 -1. + <_>13 7 1 1 2. + <_>12 8 1 1 2. + 0 + 1.2750959722325206e-003 + 0.4913282990455627 + 0.6387010812759399 + <_> + + <_> + + + + <_>9 5 2 3 -1. + <_>9 6 2 1 3. + 0 + 4.3385322205722332e-003 + 0.5031672120094299 + 0.2947346866130829 + <_> + + <_> + + + + <_>9 7 3 2 -1. + <_>10 7 1 2 3. + 0 + 8.5250744596123695e-003 + 0.4949789047241211 + 0.6308869123458862 + <_> + + <_> + + + + <_>5 1 8 12 -1. + <_>5 7 8 6 2. + 0 + -9.4266352243721485e-004 + 0.5328366756439209 + 0.4285649955272675 + <_> + + <_> + + + + <_>13 5 2 2 -1. + <_>13 6 2 1 2. + 0 + 1.3609660090878606e-003 + 0.4991525113582611 + 0.5941501259803772 + <_> + + <_> + + + + <_>5 5 2 2 -1. + <_>5 6 2 1 2. + 0 + 4.4782509212382138e-004 + 0.4573504030704498 + 0.5854480862617493 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + 1.3360050506889820e-003 + 0.4604358971118927 + 0.5849052071571350 + <_> + + <_> + + + + <_>4 14 2 3 -1. + <_>4 15 2 1 3. + 0 + -6.0967548051849008e-004 + 0.3969388902187347 + 0.5229423046112061 + <_> + + <_> + + + + <_>12 4 3 3 -1. + <_>12 5 3 1 3. + 0 + -2.3656780831515789e-003 + 0.5808320045471191 + 0.4898357093334198 + <_> + + <_> + + + + <_>5 4 3 3 -1. + <_>5 5 3 1 3. + 0 + 1.0734340175986290e-003 + 0.4351210892200470 + 0.5470039248466492 + <_> + + <_> + + + + <_>9 14 2 6 -1. + <_>10 14 1 3 2. + <_>9 17 1 3 2. + 0 + 2.1923359017819166e-003 + 0.5355060100555420 + 0.3842903971672058 + <_> + + <_> + + + + <_>8 14 3 2 -1. + <_>9 14 1 2 3. + 0 + 5.4968618787825108e-003 + 0.5018138885498047 + 0.2827191948890686 + <_> + + <_> + + + + <_>9 5 6 6 -1. + <_>11 5 2 6 3. + 0 + -0.0753688216209412 + 0.1225076019763947 + 0.5148826837539673 + <_> + + <_> + + + + <_>5 5 6 6 -1. + <_>7 5 2 6 3. + 0 + 0.0251344703137875 + 0.4731766879558563 + 0.7025446295738220 + <_> + + <_> + + + + <_>13 13 1 2 -1. + <_>13 14 1 1 2. + 0 + -2.9358599931583740e-005 + 0.5430532097816467 + 0.4656086862087250 + <_> + + <_> + + + + <_>0 2 10 2 -1. + <_>0 3 10 1 2. + 0 + -5.8355910005047917e-004 + 0.4031040072441101 + 0.5190119743347168 + <_> + + <_> + + + + <_>13 13 1 2 -1. + <_>13 14 1 1 2. + 0 + -2.6639450807124376e-003 + 0.4308126866817474 + 0.5161771178245544 + <_> + + <_> + + + + <_>5 7 2 2 -1. + <_>5 7 1 1 2. + <_>6 8 1 1 2. + 0 + -1.3804089976474643e-003 + 0.6219829916954041 + 0.4695515930652618 + <_> + + <_> + + + + <_>13 5 2 7 -1. + <_>13 5 1 7 2. + 0 + 1.2313219485804439e-003 + 0.5379363894462585 + 0.4425831139087677 + <_> + + <_> + + + + <_>6 13 1 2 -1. + <_>6 14 1 1 2. + 0 + -1.4644179827882908e-005 + 0.5281640291213989 + 0.4222503006458283 + <_> + + <_> + + + + <_>11 0 3 7 -1. + <_>12 0 1 7 3. + 0 + -0.0128188095986843 + 0.2582092881202698 + 0.5179932713508606 + <_> + + <_> + + + + <_>0 3 2 16 -1. + <_>0 3 1 8 2. + <_>1 11 1 8 2. + 0 + 0.0228521898388863 + 0.4778693020343781 + 0.7609264254570007 + <_> + + <_> + + + + <_>11 0 3 7 -1. + <_>12 0 1 7 3. + 0 + 8.2305970136076212e-004 + 0.5340992212295532 + 0.4671724140644074 + <_> + + <_> + + + + <_>6 0 3 7 -1. + <_>7 0 1 7 3. + 0 + 0.0127701200544834 + 0.4965761005878449 + 0.1472366005182266 + <_> + + <_> + + + + <_>11 16 8 4 -1. + <_>11 16 4 4 2. + 0 + -0.0500515103340149 + 0.6414994001388550 + 0.5016592144966126 + <_> + + <_> + + + + <_>1 16 8 4 -1. + <_>5 16 4 4 2. + 0 + 0.0157752707600594 + 0.4522320032119751 + 0.5685362219810486 + <_> + + <_> + + + + <_>13 5 2 7 -1. + <_>13 5 1 7 2. + 0 + -0.0185016207396984 + 0.2764748930931091 + 0.5137959122657776 + <_> + + <_> + + + + <_>5 5 2 7 -1. + <_>6 5 1 7 2. + 0 + 2.4626250378787518e-003 + 0.5141941905021668 + 0.3795408010482788 + <_> + + <_> + + + + <_>18 6 2 14 -1. + <_>18 13 2 7 2. + 0 + 0.0629161670804024 + 0.5060648918151856 + 0.6580433845520020 + <_> + + <_> + + + + <_>6 10 3 4 -1. + <_>6 12 3 2 2. + 0 + -2.1648500478477217e-005 + 0.5195388197898865 + 0.4019886851310730 + <_> + + <_> + + + + <_>14 7 1 2 -1. + <_>14 8 1 1 2. + 0 + 2.1180990152060986e-003 + 0.4962365031242371 + 0.5954458713531494 + <_> + + <_> + + + + <_>0 1 18 6 -1. + <_>0 1 9 3 2. + <_>9 4 9 3 2. + 0 + -0.0166348908096552 + 0.3757933080196381 + 0.5175446867942810 + <_> + + <_> + + + + <_>14 7 1 2 -1. + <_>14 8 1 1 2. + 0 + -2.8899470344185829e-003 + 0.6624013781547546 + 0.5057178735733032 + <_> + + <_> + + + + <_>0 6 2 14 -1. + <_>0 13 2 7 2. + 0 + 0.0767832621932030 + 0.4795796871185303 + 0.8047714829444885 + <_> + + <_> + + + + <_>17 0 3 12 -1. + <_>18 0 1 12 3. + 0 + 3.9170677773654461e-003 + 0.4937882125377655 + 0.5719941854476929 + <_> + + <_> + + + + <_>0 6 18 3 -1. + <_>0 7 18 1 3. + 0 + -0.0726706013083458 + 0.0538945607841015 + 0.4943903982639313 + <_> + + <_> + + + + <_>6 0 14 16 -1. + <_>6 8 14 8 2. + 0 + 0.5403950214385986 + 0.5129774212837219 + 0.1143338978290558 + <_> + + <_> + + + + <_>0 0 3 12 -1. + <_>1 0 1 12 3. + 0 + 2.9510019812732935e-003 + 0.4528343975543976 + 0.5698574185371399 + <_> + + <_> + + + + <_>13 0 3 7 -1. + <_>14 0 1 7 3. + 0 + 3.4508369863033295e-003 + 0.5357726812362671 + 0.4218730926513672 + <_> + + <_> + + + + <_>5 7 1 2 -1. + <_>5 8 1 1 2. + 0 + -4.2077939724549651e-004 + 0.5916172862052918 + 0.4637925922870636 + <_> + + <_> + + + + <_>14 4 6 6 -1. + <_>14 6 6 2 3. + 0 + 3.3051050268113613e-003 + 0.5273385047912598 + 0.4382042884826660 + <_> + + <_> + + + + <_>5 7 7 2 -1. + <_>5 8 7 1 2. + 0 + 4.7735060798004270e-004 + 0.4046528041362763 + 0.5181884765625000 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>8 9 6 3 3. + 0 + -0.0259285103529692 + 0.7452235817909241 + 0.5089386105537415 + <_> + + <_> + + + + <_>5 4 6 1 -1. + <_>7 4 2 1 3. + 0 + -2.9729790985584259e-003 + 0.3295435905456543 + 0.5058795213699341 + <_> + + <_> + + + + <_>13 0 6 4 -1. + <_>16 0 3 2 2. + <_>13 2 3 2 2. + 0 + 5.8508329093456268e-003 + 0.4857144057750702 + 0.5793024897575378 + <_> + + <_> + + + + <_>1 2 18 12 -1. + <_>1 6 18 4 3. + 0 + -0.0459675192832947 + 0.4312731027603149 + 0.5380653142929077 + <_> + + <_> + + + + <_>3 2 17 12 -1. + <_>3 6 17 4 3. + 0 + 0.1558596044778824 + 0.5196170210838318 + 0.1684713959693909 + <_> + + <_> + + + + <_>5 14 7 3 -1. + <_>5 15 7 1 3. + 0 + 0.0151648297905922 + 0.4735757112503052 + 0.6735026836395264 + <_> + + <_> + + + + <_>10 14 1 3 -1. + <_>10 15 1 1 3. + 0 + -1.0604249546304345e-003 + 0.5822926759719849 + 0.4775702953338623 + <_> + + <_> + + + + <_>3 14 3 3 -1. + <_>3 15 3 1 3. + 0 + 6.6476291976869106e-003 + 0.4999198913574219 + 0.2319535017013550 + <_> + + <_> + + + + <_>14 4 6 6 -1. + <_>14 6 6 2 3. + 0 + -0.0122311301529408 + 0.4750893115997315 + 0.5262982249259949 + <_> + + <_> + + + + <_>0 4 6 6 -1. + <_>0 6 6 2 3. + 0 + 5.6528882123529911e-003 + 0.5069767832756043 + 0.3561818897724152 + <_> + + <_> + + + + <_>12 5 4 3 -1. + <_>12 6 4 1 3. + 0 + 1.2977829901501536e-003 + 0.4875693917274475 + 0.5619062781333923 + <_> + + <_> + + + + <_>4 5 4 3 -1. + <_>4 6 4 1 3. + 0 + 0.0107815898954868 + 0.4750770032405853 + 0.6782308220863342 + <_> + + <_> + + + + <_>18 0 2 6 -1. + <_>18 2 2 2 3. + 0 + 2.8654779307544231e-003 + 0.5305461883544922 + 0.4290736019611359 + <_> + + <_> + + + + <_>8 1 4 9 -1. + <_>10 1 2 9 2. + 0 + 2.8663428965955973e-003 + 0.4518479108810425 + 0.5539351105690002 + <_> + + <_> + + + + <_>6 6 8 2 -1. + <_>6 6 4 2 2. + 0 + -5.1983320154249668e-003 + 0.4149119853973389 + 0.5434188842773438 + <_> + + <_> + + + + <_>6 5 4 2 -1. + <_>6 5 2 1 2. + <_>8 6 2 1 2. + 0 + 5.3739990107715130e-003 + 0.4717896878719330 + 0.6507657170295715 + <_> + + <_> + + + + <_>10 5 2 3 -1. + <_>10 6 2 1 3. + 0 + -0.0146415298804641 + 0.2172164022922516 + 0.5161777138710022 + <_> + + <_> + + + + <_>9 5 1 3 -1. + <_>9 6 1 1 3. + 0 + -1.5042580344015732e-005 + 0.5337383747100830 + 0.4298836886882782 + <_> + + <_> + + + + <_>9 10 2 2 -1. + <_>9 11 2 1 2. + 0 + -1.1875660129589960e-004 + 0.4604594111442566 + 0.5582447052001953 + <_> + + <_> + + + + <_>0 8 4 3 -1. + <_>0 9 4 1 3. + 0 + 0.0169955305755138 + 0.4945895075798035 + 0.0738800764083862 + <_> + + <_> + + + + <_>6 0 8 6 -1. + <_>6 3 8 3 2. + 0 + -0.0350959412753582 + 0.7005509138107300 + 0.4977591037750244 + <_> + + <_> + + + + <_>1 0 6 4 -1. + <_>1 0 3 2 2. + <_>4 2 3 2 2. + 0 + 2.4217350874096155e-003 + 0.4466265141963959 + 0.5477694272994995 + <_> + + <_> + + + + <_>13 0 3 7 -1. + <_>14 0 1 7 3. + 0 + -9.6340337768197060e-004 + 0.4714098870754242 + 0.5313338041305542 + <_> + + <_> + + + + <_>9 16 2 2 -1. + <_>9 17 2 1 2. + 0 + 1.6391130338888615e-004 + 0.4331546127796173 + 0.5342242121696472 + <_> + + <_> + + + + <_>11 4 6 10 -1. + <_>11 9 6 5 2. + 0 + -0.0211414601653814 + 0.2644700109958649 + 0.5204498767852783 + <_> + + <_> + + + + <_>0 10 19 2 -1. + <_>0 11 19 1 2. + 0 + 8.7775202700868249e-004 + 0.5208349823951721 + 0.4152742922306061 + <_> + + <_> + + + + <_>9 5 8 9 -1. + <_>9 8 8 3 3. + 0 + -0.0279439203441143 + 0.6344125270843506 + 0.5018811821937561 + <_> + + <_> + + + + <_>4 0 3 7 -1. + <_>5 0 1 7 3. + 0 + 6.7297378554940224e-003 + 0.5050438046455383 + 0.3500863909721375 + <_> + + <_> + + + + <_>8 6 4 12 -1. + <_>10 6 2 6 2. + <_>8 12 2 6 2. + 0 + 0.0232810396701097 + 0.4966318011283875 + 0.6968677043914795 + <_> + + <_> + + + + <_>0 2 6 4 -1. + <_>0 4 6 2 2. + 0 + -0.0116449799388647 + 0.3300260007381439 + 0.5049629807472229 + <_> + + <_> + + + + <_>8 15 4 3 -1. + <_>8 16 4 1 3. + 0 + 0.0157643090933561 + 0.4991598129272461 + 0.7321153879165649 + <_> + + <_> + + + + <_>8 0 3 7 -1. + <_>9 0 1 7 3. + 0 + -1.3611479662358761e-003 + 0.3911735117435455 + 0.5160670876502991 + <_> + + <_> + + + + <_>9 5 3 4 -1. + <_>10 5 1 4 3. + 0 + -8.1522337859496474e-004 + 0.5628911256790161 + 0.4949719011783600 + <_> + + <_> + + + + <_>8 5 3 4 -1. + <_>9 5 1 4 3. + 0 + -6.0066272271797061e-004 + 0.5853595137596130 + 0.4550595879554749 + <_> + + <_> + + + + <_>7 6 6 1 -1. + <_>9 6 2 1 3. + 0 + 4.9715518252924085e-004 + 0.4271470010280609 + 0.5443599224090576 + <_> + + <_> + + + + <_>7 14 4 4 -1. + <_>7 14 2 2 2. + <_>9 16 2 2 2. + 0 + 2.3475370835512877e-003 + 0.5143110752105713 + 0.3887656927108765 + <_> + + <_> + + + + <_>13 14 4 6 -1. + <_>15 14 2 3 2. + <_>13 17 2 3 2. + 0 + -8.9261569082736969e-003 + 0.6044502258300781 + 0.4971720874309540 + <_> + + <_> + + + + <_>7 8 1 8 -1. + <_>7 12 1 4 2. + 0 + -0.0139199104160070 + 0.2583160996437073 + 0.5000367760658264 + <_> + + <_> + + + + <_>16 0 2 8 -1. + <_>17 0 1 4 2. + <_>16 4 1 4 2. + 0 + 1.0209949687123299e-003 + 0.4857374131679535 + 0.5560358166694641 + <_> + + <_> + + + + <_>2 0 2 8 -1. + <_>2 0 1 4 2. + <_>3 4 1 4 2. + 0 + -2.7441629208624363e-003 + 0.5936884880065918 + 0.4645777046680450 + <_> + + <_> + + + + <_>6 1 14 3 -1. + <_>6 2 14 1 3. + 0 + -0.0162001308053732 + 0.3163014948368073 + 0.5193495154380798 + <_> + + <_> + + + + <_>7 9 3 10 -1. + <_>7 14 3 5 2. + 0 + 4.3331980705261230e-003 + 0.5061224102973938 + 0.3458878993988037 + <_> + + <_> + + + + <_>9 14 2 2 -1. + <_>9 15 2 1 2. + 0 + 5.8497930876910686e-004 + 0.4779017865657806 + 0.5870177745819092 + <_> + + <_> + + + + <_>7 7 6 8 -1. + <_>7 11 6 4 2. + 0 + -2.2466450463980436e-003 + 0.4297851026058197 + 0.5374773144721985 + <_> + + <_> + + + + <_>9 7 3 6 -1. + <_>9 10 3 3 2. + 0 + 2.3146099410951138e-003 + 0.5438671708106995 + 0.4640969932079315 + <_> + + <_> + + + + <_>7 13 3 3 -1. + <_>7 14 3 1 3. + 0 + 8.7679121643304825e-003 + 0.4726893007755280 + 0.6771789789199829 + <_> + + <_> + + + + <_>9 9 2 2 -1. + <_>9 10 2 1 2. + 0 + -2.2448020172305405e-004 + 0.4229173064231873 + 0.5428048968315125 + <_> + + <_> + + + + <_>0 1 18 2 -1. + <_>6 1 6 2 3. + 0 + -7.4336021207273006e-003 + 0.6098880767822266 + 0.4683673977851868 + <_> + + <_> + + + + <_>7 1 6 14 -1. + <_>7 8 6 7 2. + 0 + -2.3189240600913763e-003 + 0.5689436793327332 + 0.4424242079257965 + <_> + + <_> + + + + <_>1 9 18 1 -1. + <_>7 9 6 1 3. + 0 + -2.1042178850620985e-003 + 0.3762221038341522 + 0.5187087059020996 + <_> + + <_> + + + + <_>9 7 2 2 -1. + <_>9 7 1 2 2. + 0 + 4.6034841216169298e-004 + 0.4699405133724213 + 0.5771207213401794 + <_> + + <_> + + + + <_>9 3 2 9 -1. + <_>10 3 1 9 2. + 0 + 1.0547629790380597e-003 + 0.4465216994285584 + 0.5601701736450195 + <_> + + <_> + + + + <_>18 14 2 3 -1. + <_>18 15 2 1 3. + 0 + 8.7148818420246243e-004 + 0.5449805259704590 + 0.3914709091186523 + <_> + + <_> + + + + <_>7 11 3 1 -1. + <_>8 11 1 1 3. + 0 + 3.3364820410497487e-004 + 0.4564009010791779 + 0.5645738840103149 + <_> + + <_> + + + + <_>10 8 3 4 -1. + <_>11 8 1 4 3. + 0 + -1.4853250468149781e-003 + 0.5747377872467041 + 0.4692778885364533 + <_> + + <_> + + + + <_>7 14 3 6 -1. + <_>8 14 1 6 3. + 0 + 3.0251620337367058e-003 + 0.5166196823120117 + 0.3762814104557037 + <_> + + <_> + + + + <_>10 8 3 4 -1. + <_>11 8 1 4 3. + 0 + 5.0280741415917873e-003 + 0.5002111792564392 + 0.6151527166366577 + <_> + + <_> + + + + <_>7 8 3 4 -1. + <_>8 8 1 4 3. + 0 + -5.8164511574432254e-004 + 0.5394598245620728 + 0.4390751123428345 + <_> + + <_> + + + + <_>7 9 6 9 -1. + <_>7 12 6 3 3. + 0 + 0.0451415292918682 + 0.5188326835632324 + 0.2063035964965820 + <_> + + <_> + + + + <_>0 14 2 3 -1. + <_>0 15 2 1 3. + 0 + -1.0795620037242770e-003 + 0.3904685080051422 + 0.5137907266616821 + <_> + + <_> + + + + <_>11 12 1 2 -1. + <_>11 13 1 1 2. + 0 + 1.5995999274309725e-004 + 0.4895322918891907 + 0.5427504181861877 + <_> + + <_> + + + + <_>4 3 8 3 -1. + <_>8 3 4 3 2. + 0 + -0.0193592701107264 + 0.6975228786468506 + 0.4773507118225098 + <_> + + <_> + + + + <_>0 4 20 6 -1. + <_>0 4 10 6 2. + 0 + 0.2072550952434540 + 0.5233635902404785 + 0.3034991919994354 + <_> + + <_> + + + + <_>9 14 1 3 -1. + <_>9 15 1 1 3. + 0 + -4.1953290929086506e-004 + 0.5419396758079529 + 0.4460186064243317 + <_> + + <_> + + + + <_>8 14 4 3 -1. + <_>8 15 4 1 3. + 0 + 2.2582069505006075e-003 + 0.4815764129161835 + 0.6027408838272095 + <_> + + <_> + + + + <_>0 15 14 4 -1. + <_>0 17 14 2 2. + 0 + -6.7811207845807076e-003 + 0.3980278968811035 + 0.5183305740356445 + <_> + + <_> + + + + <_>1 14 18 6 -1. + <_>1 17 18 3 2. + 0 + 0.0111543098464608 + 0.5431231856346130 + 0.4188759922981262 + <_> + + <_> + + + + <_>0 0 10 6 -1. + <_>0 0 5 3 2. + <_>5 3 5 3 2. + 0 + 0.0431624315679073 + 0.4738228023052216 + 0.6522961258888245 + 105.7611007690429700 + 20 + -1 + diff --git a/com.tencent.token/assets/id_template.txt b/com.tencent.token/assets/id_template.txt new file mode 100755 index 00000000000..39a02b10d80 --- /dev/null +++ b/com.tencent.token/assets/id_template.txt @@ -0,0 +1,13 @@ +6 6 0 1 2 3 4 5 +138 57 266 111 +136 128 182 175 +224 128 346 175 +138 190 416 236 +134 257 490 392 +265 423 730 470 +5 2 2 4 +42 55 207 230 +183 364 303 408 +321 364 631 415 +183 429 302 472 +321 431 652 474 diff --git a/com.tencent.token/assets/model/clm_ccnf_general.txt b/com.tencent.token/assets/model/clm_ccnf_general.txt new file mode 100755 index 00000000000..453cc776925 --- /dev/null +++ b/com.tencent.token/assets/model/clm_ccnf_general.txt @@ -0,0 +1,4 @@ +PDM pdms/In-the-wild_aligned_PDM_68.txt +Triangulations tris_68.txt +PatchesCCNF patch_experts/ccnf_patches_0.25_general.txt +PatchesCCNF patch_experts/ccnf_patches_0.35_general.txt diff --git a/com.tencent.token/assets/model/detection_validation/validator_general_68.txt b/com.tencent.token/assets/model/detection_validation/validator_general_68.txt new file mode 100755 index 0000000000000000000000000000000000000000..fbbde4777318384411d12c2f479da3b4a9a8cf44 GIT binary patch literal 370728 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 z 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 P+Vh1hA)Qw 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�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

HbAEriz&yf)-JqcJx7_~{x`cgn)IDfh=kP4%{ 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 N^M%e7jh7MN{{TlkF_8cO literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/model/haarAlign.txt b/com.tencent.token/assets/model/haarAlign.txt new file mode 100755 index 00000000000..ae96eb317f6 --- /dev/null +++ b/com.tencent.token/assets/model/haarAlign.txt @@ -0,0 +1,6 @@ +3 +4 +6 +1.000000 0.000000 0.000000 0.000000 +0.000000 1.000000 0.000000 0.000000 +0.055858 0.229781 0.871248 0.892778 diff --git a/com.tencent.token/assets/model/main_ccnf_general.txt b/com.tencent.token/assets/model/main_ccnf_general.txt new file mode 100755 index 00000000000..103df0f41b8 --- /dev/null +++ b/com.tencent.token/assets/model/main_ccnf_general.txt @@ -0,0 +1,3 @@ +CLM clm_ccnf_general.txt +FaceDetConversion haarAlign.txt +DetectionValidator detection_validation/validator_general_68.txt diff --git a/com.tencent.token/assets/model/patch_experts/ccnf_patches_0.25_general.txt b/com.tencent.token/assets/model/patch_experts/ccnf_patches_0.25_general.txt new file mode 100755 index 0000000000000000000000000000000000000000..79d8662220b3addd77951142ac84202fc9d66677 GIT binary patch literal 2429528 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�LD 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

*Yf()Y%BZjsd8*?O0)Uf;zr_amDT;KbyUT8 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 hSv89-{rCOQBwIm(qt@Y|84)Py)=0%y{H9+I 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

5X8n}7y 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

5oyATwz6>4OmtkFo1q6IZqk}HR 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 z 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�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 z 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

!bZPXJsEkya9Gg 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 z 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

*G?i(3QuPCq!78(;Lux@jY6U?~G5}2k1!PQ~nE4 ze|)j-4E80b;qrO+k?id)VJW`&Hnhu@h(OmS_41gkHG4X-|!~n2o$AGhqwoV@a@kGkP`a_P0dD( zp>7t=&YZ%AT(zd&!WlHQF#wakW^%WzdBp#iG^z!;usi!>(1X)T)q*AJu56cOO)S!Q zdmrk6?7i{O5S~iD$A2eBo6d6nneFVQAHsZ zYFOlckmLa8-JeYAD0F1m4D&h#45-$;Q@?t zyXe1pWTp8e(w}n$ocvCK({d;7E$6}y^C~hfFc!vcnF2|YLOk8Ty=2pn1wIY?g3o_^ zA>ytAO!_uEm}-2Ac5=7jtvA(h+)xY(6z-rOtU2bv*ZV}?R~k1i7h?Y`U4dh4chRvW z<`{6PfQmFr@fx^nz54GRD6m|Ty}nU_ot1v#zxuFdP~Fx4h_i$A+R)cxvn(52t729> zJooQDUFgpr+>|8D);+$0TfMKqG-}E0`1S)X$rh8DHywB;>3q=UJqN2xH^@WZk3@m# zA^u)-p);x(%nqLe;lEeFY-TC=OUKigoGdO|EQ+W3vJ6IcPr!xgPPY9S=b;G3GM%sW z885r(@JQhUxdB?t4vQduyKEEA7>c15dVzT3371Eqc*<`7vub!591EYl>(D1Q245$> z=e5qS1Ot5nC#1Y^&FSe>J-Z4^ekhatFE@$Aml#x>P>0OP{aCv~i}n6$2W@Na!t)c> znEx;w%4gZIbF$N^qxBcNbDb*uiX)BKB5lsbzn{t0{CY$hIDYm6?)If~lO9vnGm~9l z-HCZ#eK>EK53URl!Z@#Dj?EQKF1`r>p=4QRov{-&<#?mxRJo+M(^J86*IslbHur z3mDUFvzY36)-d1Z0Ld`YK$FN0I(_p6{>o1r_bXK$!@9(%O5{asi0;B0Z%PpBP4R%r z6Pz}~gPp(n3&#GWcr`+ZO%G1T=m1BYRv3yE4e6*;c9rveri1uZJ*&WldJdi%_iV4d zRdPs*IJo_Qn}CDPG%=MwzqGTn7va3$S5T>Q0nx0ihp3cLq{%BV z;PVRt?mM{nT8#-adj|GjjzUzyXBhXZ0VZuVgrosCnBV@24s!Et~9{5#wm1NZ>L%(eib5tRX`EX=2JL$IxdptXr>c5Yo zr+O$Dxm3|*iki%0*}W)!CYNp5bQv|Z^O>91r{K#jO;&r01QD0K&o8Ru_9$A3s2I5x z&d(iJrx~~kAI+T4_J300GF-WuQ{_pm+#V9&D>~$?_jS_s$QdtA(8g}@3flQ33%1R1 z!dO{E;UE{P@-_uV1!lmE;GMkBQKGckIt0%*n&6s)CO9~297)}kMQa1=sG;~gFq?G% zm=ZO3HTI8P2$kV|-@*|71yL&I!?8m)=fIpe6S%tD6#jagg*TtNd0uL=RJApTAEK&+ z+d@k~b0mNka}2<-Lvv9aTB%gc0KdpX($4ZmKmSdxAvAHU5B}&yoZB$Oabgncs%LAF z(Lj!wCoYAG>QQyup7Kb3jx#>pT!Bls-9y20zyJErvj){=r@Lo6T%O(&R%U3@;QzI^ zm?r&OPwsoUu&V>4nbrt9rrvr5C|$llpA@F@Kee-Di~T})FWt}0WQH(Hc|GPT>e`mH z{{-K}6u9ZA1aJOk5b%?rp1lI>{rl;-q(=sCUWkILpX`{0Yj2P*dH2Aj@FZ-Mu>j+t z1dz0fWujbnfxd$t8{+>5n>eq-H7+A7JuC%%Z*p2ru_{b-EXTmCLHsJ6K_oLbF--@A z$XWM#oIhs-ujyU_pWrH-Zu6T=SaF(c@;`(bAu;Uaa8I_fuL|b3e1sgK+jWb!yW*a1 zBmULGlUS2iNgu5f#@{8X%qjj&nlW()yYx&k&gr=Ty9R#!AG+Q=s>b*GWgaSIXnOAFkMHMM zp0$2|oIlTMtiOHPyR$4x&YFlZVdJF%1jwRoeo19sC#=>k7!2<_SeR{XnE^3AwVu z0+rk@8y0wG!upL%K-x2z7Aj2z?Z&MT-FJk1;MtH%PQox+eVF$>gNIfxKH^Pow_Bqo z&%Xby!9F%?!V?bWxZUXw9d?@n*-tCTg8prEsAMUzf7gMh{RHTgYwze9t7y2B_LIDE zn2oWTspz*L6Q^YOVZ5#f_x-5<;=$^ElUe#-Q)9+_N=Y(1r@F_XH*-Vtzw?Sl@rPvi z_6o+|W*O(reVUZ6lSlL7YpAhZ4n^MxKzw!>T<|;!rGf8Aw(e7yQL6@N@0OC8YO}~J z8y)n?2;jZ=JCW!8UXJ#qih)qT8pv?y1X2BTDBk7^6Gavf$z!4Teuf`eGy5i7f3gMa z>N5HAX#?ew04cX?B|}gMe= zp%O{|#=|4aAg=ZwfB~_waMCJ=)C@V3`Oaf-{eUF)OH8Ip+v@rCA7gljv@CJqk0%f) zSVU^q7txbF5xk&dio9)iuM<;eK?tl`MqG8a@~zw^fq>jjm~kT$jw=QcrLZBQ$??5h zPM6aod7)^%VhUX-T)-RsP)SRw2Kc(e4sdIW4D3oj&+~C#&bv0QnD@y{i(cJ41v8Wc zu{3l#2^M};W$mnlM$bKAx91|%Sy|81vAT{iddb)x{F?aAkKnnjJcyYu8fa&*KCgR^ zG)~J;f#CL8cJe-wwDcZI}5rh&Zf5Tq_`apd~6dfIs-m+IY0Cq528 z$aU3L+RKCzkCqkS?s^mgGEc*4`Q`AT!3+2*h4|yw7_%)OC!`OA%U zH42piSLjqLT-eq6QT^ZdVwI3JW5}21>W5~q0S7R)8;cwK6LE{C7_JT$2FJ6r_@78J zv6WZl;cFFU%#JO@qjnn{;Xd1cT_q(gd+?K~8Y?4TT{UT|DCdx@2WQiUz&R-kgo?it zBJ4_w`=`Kq&JV#uD1h1d#vWyV8?oNei;zxIz_>>~V6wD?U!Co2_-#NRPl?T7kHy%s zXEPQsq0^Tz^CjKbxtk{7;^mU)AQ=qriarthr~up|SHlx3`;NoQ{n+on2k9QIL&WHN zBrdl-%qxAphZO8}gynvp$i2KhXkkBv-q?Sa&fLMUlZQ62HFKg-wJHF%FkA6e+-evv z8vqVMZ=rC+7N-rx@Kxr0CgMWF{6G04=rHgCb2~NBvw4u;P*)Bzk#@ku*fE-ibD`s- zF>Ktm4fb!~SRU0UFm6YI;qQ3PYiv$A$rF@^%MDk_di}q!k@MY(sqlbf6U4x0_Gh@X zQHxwT;{#ITR={FOBYJiFVGPchkDE-Ez<~#GaMWawvU3Yis52gC(0ZgXJ>>Gq69Ak& z?a_ld)c2h!4VR6@uKL4p+j0dzFi!;pX4+#LgkobvH~P0OWOq%Q!ugZ>Vt9MI;s53p za<_GFdKIrRUf(Vs`TLuC^^RQaf%D$~){~0btBLyDWsL6e5@Hb~jmu4jY3b~K{`jvv z`c%dpCMny2f!T8swDcP8i#Y%S3VaaX7RJkNcjTKr2*ZtJ04*-~U>i5==~PaJ)XfcW z4MdqeC2OE;W*NlCXo0luTgc{m(*5I-;rI?`cA>oldq?FSeK~Fny|}*uY+DIFv=v~k z7cIxbrxvl7wDrL@WsreWyOF39R%SfGa641fd7J?^g>U1!ld{aj%vjRQu?&wNjAC_o z(~+|!f|n;mvHIZ!axS2PT7O;u)0YL~u-!Ami{nqzj@qS=&iQlgJ*&!|pEDV&jn;uV zV+H#Rddc&Zs$|~Id|DuBhX-c|VSwLdkl5Kl{+76+;CADW*ff3;E*X?0Keq>=wB;roHVVb+?gCs~ITODv z;qE3Rqlj<$LtQClti*}G18AO08eZMjh^F1q znEk}zzx-e}_;{!z)6DqNqHKXUY3*w3>CKh)#{bSMBBmT=Z#4@rq3dTdlRDQy#ghtB zBeV#@MV^z;9kwuiVlOGN)x=9e6WNQiuF{$9KY4Ex_m!t#yP{D56y_|Co*cmJy3 zt0=tz0ktMj6jfzTZIhvT@CMX-IIYHsOz8RY0BpHjw847}+g_&2){JUa7KR4X^*3iT zC*Ul`_NKy8#UC)~stu0D*|RGZE;11nix>kpU^@?=#3hffq1XKJjP}+cyf^+aNO#=i z{OEV#;T^xw?qd?(YWxn@oy0LGSdL!Rx`^btI(YECaP=B{__lm09(St1yKg^Yfhy-E z)wB_14!t2i4qb-@zrIte?1`x8(Tw9GFOwfO52;bwHad-`#j~mUja%n&9=Tc3GjrevT6uGKO?_8q+H$duSG))0}N9L7iP(TzpN&iAPSN$Ilno;jf97 ziJnw!fNRE_qfx54pX8!_Nstg+oqNr8v`qeh~4-&}Dne)WI$r}e9M z7t23fWjw6=Ovdfvyy~`R%T_x7{x^O$PHx6Tg$UNDP7Akq-y7^MKzR(s{%AFnxu#EjE0yudzhn^A5wq!`;}w zqZ{ppyzsr5JJZD<%Lt|UaNaz&SSk06?rCY|YtRb5kY--hYc(@O*>i@orU@~dR5~Hq zavdAGSr&&Ty+Y{+{;VK(C)W|b36y^wB31Dj3fm zJiUu8beRAz?2u<7B#aU5()jR)FLyupoou~l!_8M^*~1&V;KtYPD(x^?_QmrpbPOXy zy6(hL4bDq>k?lINH|Pu5vgspCPMHDL*_YsE^Fc7!^ON5)v5;hK&mz__3wZWdKTsu~ zRd{cU5C$KA0#P^!hpUQ-$i7i>)piXq9hqdCw-EfD{D{WwtmQma+UXbx?*BP84w@fw z?8_s1r1nps;Umok{-hxhpuz{>QSb{|Q857<*KnSErVd2j@g3a0{{w^yRzXxnB}mWv z0+SAG0IlkQZn%|b8VLz?v$ldl4Tkia;&r#UlicG;_cCRhRqZix& zdm2Q^r{*Kj5VM-|xIPNScZ=Xa<`$4jab@fqxn1F&eW<#t3jLNg(4FBe_{RJ?@$Q%e zX-*Pg_frx^YdI!yfiiJd(qvBC>arK(7qK4>P@3AA0=GHty`h#jJ+(L&FB<0Yb!}pK zTboBfqVfTpYMjfu8VDo5|2%)P%zX$*-3Jj778p699)(NG(U`vmEiz;{Zx0`i{U*;| zPV$C%YM%*TNRqTFjc3yYD(MtoZ`_z>!p_^b6y8^c6jGs@LzP9_mYPI&Fl5qpW|MGC|&ys^> z`zNuzJ@zEKS{`!4)?(M@G3=eGkMZ0mZ_KY5TNzwY=wZoUnuqLoaLO=rEFujZy$p|KJ=m z5UR;c$~+A2r#S}fPz_D_BZ_(V0?^A~Cv6%m0`t#8Olu9xpDkF6szH-cYqkg|D>{<{jwZIpS@VD;tbX)GR^s{zeEXHF)p)bW$_r-*bHbjt z^T2GzW$-%Wl&@q(IL*fUXI{MYIg0GB4R26>kq5lHVoNiOr()H1adgq~hcMkn5O92j z;gKqkBDIFG>HS8dy1w!iw%1i@RcYf&i8OkrECCw_pHRy2qQ0KUhsXM+aKU~7F2!>G z?ICrZUTg*`j^}YYy-AQexDDHO*YkEvuY^76yP&RA7BXNL*3HPL&JwD;HHmA{{P;_d zb1WlQPwDNLv8+noY`nbP9Cvk;QIFC0eAk5E#EbKJ8j7re@ynE$ls{*gewo!w z+-+f|=WIAAfBc9_Y09i;cnMa9)S%hsZ)iPFgB3n!%9r&@f2GHWgVot1&O`dT5M170zM(o#%W+Aa8S z>o`%5FQcd3uAqufGX9wz!s#I^NLt~2GP0x#E(In)!K5zqo}$1q{oC1eUpaQwtWLZk z)k*VyI>E|kN<_*(4NROpVUNQI>a`QL^@9y-bTy3i4SIqf7N4V~&L=_TRRGA=`GeDK zV~G7DL)M;{g2r5(^I?1mohIo)YrR9zUF;aP+uY@qY;cE)mmTE5CTo7b_apLZe>cpq zX@tYuu7T>ynbaja50yDC+OEC;dY~~FtP~B&w`qZVPajYIG^1HCUu`bb-HRd?qm%gg zOB;w|v@TuMJPy9jx&h`66QI`Y9eu-V&Mqrb%g`atX>pS261>JQAZk}Bcow>I8o`6iIooQ^W_ zg*YOy4kH@%={-wTSn8+-8xxF3L=O)|&#pn6EPZ@=qK;U1JJNOTJk$(aOJk}diPVo- zpk%g!-V}|+w$shntJsM;qlI|s)ERz6T^F^p5=WzRoNpRi=PDC24( zz!cZi!k%Rwu&r%Bxa%c@?)DalO*uhxUklOh_hLZ4HAA1J1XGu$%yhF88SgWXKro~V zx>Vo6u(t$LlJJw77CobKN9TaB<6Y?Apu{+z)Ms{F(Pna@Wti8t;+*HOAY-&t`oDNM zCZO(nY5XeVTXjQ4mln;fmN0M8TDtY${`6y>BYWG;m(~8-$xF%)1%ryI%o_eB=+HIe z-AS4Pzc&X!U-|_YiD#Ie*LI}txe9JfF^0clVTfa`Vc4RMw{Bq!{+*G8(jGZDdTs{m zX{t_QM+`Vm8g712;VAkba;{S{m#K7z|*gVc1=Z1LWpuj5nnVo^(t8eleU35X+h4Y{pT1vHM zD6zUusU-SDAiH8w3QFyJ4x$_{=-H4Z9rbd9(u{Y|aW&pxuklXyY@7l6_{{~FAzaK( zdN0H_c|HWgNB+22^a7psnbUqHJccKo4|uu*Pw|x93c5mDh&iz%8K;){@=}5%fu7I6 z{u7fVJ*n>90pQ%W`LvlWjMU*EtCu=LrTSD7`yfbUU{$_pO?`8o(vVV z`vo}$X3c;7Da}|R;a;%F_@Ud~Lkrs`R8L!Nziye&&_DU%g?ue<&y3F~^Gcr0vmeVk z>c--}r2(`tq=f`mPKMtilOgs{2nd@vFn3NwkYN!o+MRsLa9@ltZM}7Y{9%_s)zB(< z7Lq_#M3!)@GYu5dTMzrlD#ELmhT2=dK;^J7)3LY(hCDo=&1Vq|9quL;S3P(RT}$bg zcwZQ+Gl3jSPcwXG9?5ZCr6IE}xMpx=B!T+$px&$o+l9HOJ>KJGeAJ)Un^zS|V@ z#KNr$z)a-8Ft^8`v_hWv3m76lrurB-{+1_G6^JdwF=ru3t*~=2Fe@1Kn*i* z_Fm#Xw(|5?_8iAHm+Ncd_T;m%+B6I{6D7zZlF)l|BYDm4M%^o$*@waB*ptD)s#y!L zww>$n`pYbGGA$0q(5t|kdJaO4NWwXtnc%(q0r?iNk(ht!C0~CCgR*rU;a~QK=-IbO z-+&sZ=6DfD*MzE^`g{<1!ebuq*}#n3GKa|&$b%;T)BN5E4zTtugUWt#=(KDB>MvKu z2a;RhU8)QtH&dC>w0sEHtOLm3n$x(r`8cfDbQA9naT=Wzbu?IZk(x=y!r4!=nRD`n z41bmcbJpY_{BBxEl5NzO{M4YrjsX?p*k$}wizkze!=GHuz27NpoFq9nK&Jcu<|Ano z$&F1~y3$xkpO`pilxr1cdN*Vs?dJiJjA5VF)<}m%!2-UINk2P|$QQ6R&r+T)InDqQ6r(bex z#=I|N^2Z-UW6DO<_9*1-c`wd+*XUxGvmd?)Jcs$dgS7WjAPrx51wu#y^elQ$s&uc@ zVxfvEEdxt_TcH>)Ik$km-aC_>9yE;=p2OgmGg1)HD-RaGMrpfGCXSdoVxDj(SQ2-p zaDg+k?6wTEWv&R$S@{67GIWqkI6$^5%Hf!R;YzYE~Zec8KUc`<+F%2w}j)QMc75c^qFczhoVE7Ps2hQb9`#pO6-u)EDEq37F ztMbKHR#O=J?cuPX?j9Xd9fuZMIp6xIF|4*;3W&?kM%AG&M6H#(JF6bUzn)dhv*{ir zX8IS&J0iRIYPIe6z1_c7|2q$_{mHTX%x_?${Bvq{L4%IB zT7X*fkXIR~1}`o-!qLa|u$1#qn|yB#q&v$piYl6TwJZ)(^55cxabsDjb}9DJ!vTzZ z)`rh%Fxrs=JQb&O#}b!yLh>)2Jni?Uu;f1h5Fx9=u0PU zxGtKH;!z5$pG-4(*}IEjTfbXx7D&KLKw_6qd)R&TP8g_6@qZg|5USo95bXHel86BHA0gVp%!0tzu z)T{0V-L~m4XsCEV`GTc{L)+3rha$=AcLpdcE{I-X{=@}JVE6CmhJsU*iMR3#0%I5; zH4lmE<||ZVRwp%?d6b`3a|ul3Qpu#T@!)@TJwE>y35Ry6!bQhO@R(@;`Ii%kQ%5}f zI`kOs>3DJ4so{; zASJpp>5OYlu-a-NQ_X$4}A(1oNe7n*Qgjkua*KFpZx}kIZmE@x*%p{hN9<|A}pC}jt_|jt~upHtL~Li zwZT0^@WWPcQI}@scWOa%SrO)&wc}u|Ch7U~nDbOC$IVV@80IF0PBqJ@$J;tGGfaYc zyk!#qQ_2pM99<4ew6&Rq3A301It}tP!f@-|HZQk?GMDAk|k49+f;q#qx?{);53x%_lJwG{*ae; zHRSbDClE{MBx2K4abmnJroa(0VtNEU*^(ul_u^N6zGy{c_{i2A|D`a@4A4J+g{QF#C62F@bop zB@4du=Iwb1u|*x^eS|n|cKt*hyxQr=5DKILr{SVdXBw; zGP4@1-nh#V!R^hoC&?4pPYpQ6_aYVH*y?qqTu-<$1Sj|0#zXpkI567>O8SHt6`e{5 z>sNqu&*{{EsyeOO5=UIF%G0rz?~zAI3^jc6nk*4hh3$XVQmM`zCUH0cYSq3{yS=XU}xBn1|3SdHt3?qlnX$GC0FIDE1$zFcNcD!%Wo;*DPTMlX3- zFy-Tdz}iBCZM`^^y<_XhmZcQ2&n7tIDX06e{XXa0dN3X~Y|P-P8}4B`<|d=W#j|Ye z$TK<=H62|v9of6>zbj6<-GLR+O6*LifzpCmX#Glr*`&7<7wig0#ksvOW&TlkY*j#X zPwIkED|ZR~z=i#?;VMW?h(K+{R%oiLgPudxAQl7A@zx9#A4$WFiQgaURrj@pm@S|3Ce|`YkP$A=8z{@7uJ;R@ufeqd-}u$Z_0=`%XqZAd1T=!4)yMW&~&BP{l}Etk6W6oGrLkD}(&m5(~0zc635S6X%~K4zI6m2T>_qa99?Ax^kQW z=T3iQt{7q3;zY=lUBSF6s(_&-Yd|Zz8MGgdkPUqz@GNLA9+Qgw@4XnS(_U|yWo9h% zb!3%vnnrc!(7puI7yrhC&S^6?yGS3~YFCoTQxl-Tq>`TM`NIFbXg17g^MlLJ3!!1o zW4Kbj34G2A(1N8`==1QISZQ>QCZ=iA?|O@IV($uEQh1f~DoDrX_-_7Gfk3!uvK+6r z4$#=t2e{*771=A4K|-=cu+lt>#yMKh!#BUvr5mN7zxy^Yb+@rP+Y@VygxKe8+}~R8 z5XN3^0FS>Xh^E$3%nHxO)iytP*EltT)u#KXFlvX%*`G*H(@v%)VJxE*R|ISC*+Td2 zF<|HxNk!MZ#gCVT!19bZinbTP^r?c3tdtNgrx#ftsRitnU>kPT#0mJ^&I&p&xTD;m zUQRhL3R_EB;PCAiym6X`*fOhBBsZRbscsyrvOAR&REaU;QvC6_TRHXhNu(!xhlrGh zC>%c`%U0WegD=A@Kf48&ljyru$p%Rrr}0ay2$)P8CVnr@ zz|PtwL@7uYcmm5%;JOq${QWyfZ@pf1ckyg|Dl}M>`F3z8YOpft`gOxi*QKx zCsaM1$?!N1t&+iSh;j2KdrgXP(|2tY)E}aT)8a{=hy&T#b%w@0siaf?Uam4}%_pM? zpSgP@jy<*6fc@Nj7bj{=f}NgIA*Lt-4CXF{dC@hb=awt@xQCE}8d=7q`2s!R6Uf$O z)?uJ6R}&U)CZB5B>2tkk+V)42->kO^p6(8O_qY&gFA{5M%B8TA_Xs^((vy9k_| z=#6d>&iLCR9}*fQ@$jEfIQTS{%zCqi1Z65Cg+L@$_oqARDR>6LD!`#JB@*ZeOe=SBj^mpkL)hLVXzX#`l7USyw*^kJox(5>tG^gDDN$&a93VXG~pQ!SzpZ z&~soJUT$-M#}0FTdDhG{?j7@Zf=sroak5799MuJa#tt#>Z!gGr`G4+DB~;h(vfr*W zZd)QYwNq5Hda{AhYcbFN-~RN=8=NDOfM0&y$D&0~sJg=x@;h@Ll#Lcarzhu`vv>`> zNYWwCb@vgipR1}0`QAw9sj(GQkexkQl@Z$_;VEVT^4u-Ps63GJt_?D|hT5qK?7b7c} zk+3i(|Bf=FUx55uhQqjUJ4JKpB$7Jxo&H@O4;*zF=15&exk7#R?uv2j&mn!9x=0S> z=SZ;kM}+Xe=@oF-p`7#V7GXTi>u^on7IvkL9Bb87j?qnfQ9C%8L>%_VyaVB+v7Ni) zTJ{X4Rf!>PPo@jaPtapqoO$~soAE5?pDd{@MAi4LgPS|8>5O&hyrsL&Lq?DZjiyWZ zZBE~5&b;+7Ch;IPjFe%Yu^B#8d`fyxP#v3=ERfuSD+!FFO zDbhEf2bPjH(79X=I&c1gL`{2Oy63_}$B;f6nZG?%BsEn6Q5%g_y<=TO9oAhtDMc(o&y4yc>PK z@abSUoUphBhfLCm>En&?a`6sSKI;k+dxm%x9t$CR+(yHr>~fADx))o{U*>ndx&Rkj z1fi?Vn7@q+|KC5R!8fPbPpzEP)lrmSFo#` zdPyax?W(R!t70XMiSBR^fAPRgnry8{{<<6C)RtCWS02}^$C>a*^)OUF-OTl7_4Ik6 zC3<`+#3{Ze^tMhAN&fnt^Ylod$#y~zBdEzJ>x;7eUcXVhZxJe%Y-g94SkSWjvtdEW z49rV1q*hfWq_4dQGLKiol1x9gG(wQOUC8H;*SyA#^%{ePi6yYtcQ2liNb}O^Z^;dA;hX``#yclDXn?l^axM2PL z6!>OQNUDWLi24da#_326KYy}1duyf$e)$o`7x-EaD|Zjm(11!}z9gK!GDxKg3E^a! zO&y7S7lV#wUbH$w47z4s0Nsa0&~@u7Mh7or%05UkgJuO#av>4^gq|nQE!@yLLx#={ z+6v+Ae<5b2O`yk#%2)yWm7m$hQYt4Mm$UX4y3p25?Qn+MqsgqWtscQDUtEj}LY!-uW6 z+1slpuo8Wh^p)Z@zG31;dUNSGe!#j#FgMN{4BoFLf-95B(--ROTDKpp(ehX<4ZcAA zrQ%_3T?Y1 z_<6WJ+nKlwyMx!MZP3l_T4nrH;LekHqSUmT?0k9}k2sB^M@#)d$iR-P^8cH0>hBd4bd}M{Gv!W(rK8*(7eD8|70>61vsh88Gx`AXHQUh{^nykJwu zed4&PocCy3DmC04j~D!>;f}2zc*RQ@-0`=8?#}ywc%_K!nxV<*@s{k^b;y5ip0!p=C<>{s$B{DB-K|p&6JcGsbbB`>$=%qM2{5KwZ z#9Lr^rvt-2{)z9l_w${dUU8gA3VomVLDz#`!!vb?tcF+=s^9PejmMhI_q5Y+-$H`z z3oWL}(%Hbt!$5huFs|nDvB8RC__n8jV%;Jp^=Lb!Dcz-u1&?B#oEdr_m1mMm?|@l^ z4!Jx*9j^5&GjA8KU`Ev&K~pgpU&cJZnsNUh567r!@foMRrpE7IN;uuSrde${So*O; z_22pS^BETG1s#r-T$BbCzem7O(1D4Y;l*rRE6ltU+6Msx*XUK3Y~ttM3Z*;6(eJW9 z%^dHB40j8gsS$-=ziuWcE?t8m_i>Ds%VyB(%OgsKJnD7o3wrGjBBoDbX^?RWIyeik z^@~2>lQ>7Td*}{joOW&I0|920h%SlT`Uh|N=Yx!AGTc3KfFC0gj4p;R@%Ke;X0w`O zhKNld1BDZrJ)4*CeGka9uCiU!VAf73UJwV2feDP|YMLmnhm>w#!!gCQ@%iOEkbIQN z>&n~;g68XB_SbZN#sD9!9OT%sf5)>Q&qiWp)*~D~;!Iq-D#5RW2ex9PFm1|hRPc1f z>S#ySXU|zyd2O5FtMe;Czf6qPm$Lmuueu7_}OSxh#wVJ97n!#ghFRODtOHfM&C zc=bVkV01*K-Kt5L^nMGKP@l?dU+c>40(mYDaX@-&YzBF9)F4^lU35%@#XoqMU zjm!{&-@`3Xb*2cHkGj#mLw)oc=i_Geavyzpw}#49M$pIic9ZAcN|2&21J^n2ZHoM6 z_E^vmtc;RnO6yG+?-hSwj%GSU4~xL6_)6O796<&2-jZg!;Q#7}=ETX&QnA&>3l!QX zbAGecgGufNC))nqpT77l%tmiFfKAnJuun9M|JS~ThCDh?XxDXEk(mph4<^GzSLBJk z^d~8T8pPR4kgS#t!Og;a(ymud){k98Y{qNggg+y6AYKZB&&iQ_^8IvzF4sf)CexXU zSu};5!cYE!?D?;8nAp3W9L=~(KGdr~-i#TLSCq@$=!W9q;C$Ym#8xm-t%0Q@&ZHuD z8hh~21a{-=ztqBdCU#U!<8D$4$xw<3C4>9PeYeR>NZVLuLntt*dSjVQov~F)JF8H4 zlRqXk&4q|BS!Bx*W9Gd7?W!j)&*O|e7uXkGZS2hS4*YQ~8h+cA;zgB6)Uhst4<8Y> zm1o1K!B@=Qd>lJCzHH~S7&gr-0`z2OFv4NivGH*@^5=QM80kn5y<$YOPEX-HD{k=b z&x-_oM?OZS3NW&wp}YYekCnAHz?S+nkgojtI6Qd(@4a904j9MNAJ>cdNB&r&V|X%}cqV{)L^@pJ zbn3;w7lTCYN=Tgg9p;8vRcV|Qg0$rdpjq&Tr{=T}ly6@L;rd8$WWu4vT>Zaz`1a_| zqK%d-jTiq|JmO+Gzq)N_blB6dfBTDwy)#j4(;u>HO*2)n-3&|nd|;2A9n2Qbg07%j zP{8@m-8@i9XonfRxj%*9c5`->@y}(3IX;5WbUwDqP22(-E}G$_W(C8aKSLmXKns+2 z^DscEy|V9nG?{Zqo`zes(8ZUgpo;7i%zUXu)(Z%O=^<4(S2_vy?Kp_O69T|K_Z2a5 zR-xO!+~faBPsDw?VrT#zO)2H_SeG0h)eKCS%)q4*azJo&#@f>o~-=uY0Nm&FYr;ziM=cvNcS(chau)8 zH_yx?;oXH8k;C!AORk}(h#YnOx{)!xIt}ME`LiAFOVNDRQP^Ru$&5U{0k@VPA}O!r zXw7L!U@P-L`Tj|&X=B3%8(qh(fg#i)AI=`vv#hh(%aT!>d*7g8YsaSol;%?^Xw2U1l&uP))!>%aMFKNTS7@KcE5 zYcb}czv1a*EA)SqO|oXy@a^~iB)1KuNK^!$+RS`UR~oLxqnXasLP?T({+42IXC0`L zbkBf^ybh{f7sGe+xJb@t9w7zCd|=Uujw-J%X}HxX1?LL0F?!BzzGcgKY9X_j-EdBq zy(=}Jf4rYhJUD;kkqtg@;&Tq9!dPx5{0t8jG2pX2o$enPKu!C6c2sW{YgFQm^Auiz z^`Bt~G8q6Nrz<$HPJ@jxsOD?6U&P?31+4rrj+tYm$u5vNh{wA*FGn>~ru^7@c)DyC zR@#2XEc?IotmboQ923T~YdnhIea=%~)kGXQyc?2y#xhek@o7<<58X21I&DcZfX_9+ zXr|6U+u=0adM1({efF*@LjEogKTW7Jb;5T}<@^P%Drm7_4nzyQfD2nrqQa*jxFP-s zKq?jPO}h;HxEsyDVjcXT??csdkd77{CkMZb!ow3yBsjl_+s8hIZq>yvIo3*b8R3v`8VXKTmX@ja+on#3(0@Z!^pa7H20Tat8VGTtuqnW64d`+ z{W-DJ;JnE7WyUi5vtnCfw5vn2Z-&nE{WqVe_iN*CP=M%dvDm4_4F;mzKuPl$TxXwy zs}X?{O|OV}cqmLhRs(mvL~+0O9LOCv6+;`m@K=pBX1`gF@AVXjpqm<6r`)3LSpx9D z{1+x!3i2g-UPJEltEAsQ1jjv^i(vCMvU8m_0cKdAdAKtCnDmA7aCxN@6nWzu%I57+C~m!BUL6+*oElr*AB~at$R7 zw!?(+9VGC^I#_M$PW{7N*wGgz9H&1WKD#P2Zd2#NvdwjL+=*B8+VdL7ZhZ_lKdQhY z!5H*-TZ%I#^1(~02eP()g>4G*Xxr_8ItIQ(^mjC@&RPo1nOjh}wUwS)u@_{=Nig?k z55owzKl`%s5Kj5D2mfCd>HVqKpsh>>zD+a(BZY4~y9Eegof^#DvOBQ!$YuJf(g>qG z6Y=!c?Em87TCw72yT? ztRS|wdW0t5S%K!$9$}igF1NSpp-*f?n9m>08LxCXcE#UutQ`BEzi#qp^xyiHw6Ejp zzl1StXtoktxhN3z^(>jmhO3!PTc@z0^}8|ZZ7y&9xB2L%o(r}SOW;a6!wRN|veEWZ zsK%UTmd_Mn_Lm8=g&doywZ)5!4awoSe37vHQw|2oR$y*zB#yMZ14&!REQ_lqvM(F4 zZe$xb3p9cD5!-PS^4 z?xD#b=U<*F)c|i(gZLw(zVv_nsT$kv-p0){qxNSN?qzhVqh{)-H;(`Jz0f+Fi%li6 z=zC-gruO@wXW%`|c%=r)4-A-LrS**b_)G}vctrXJ=fKhdLQmTa5%E=`Ab+o?s#4My z|9WzqI@3yyCv9ptcI8x#WIqPHo4wF=7B|Z{c!Bu$U7)|eIHO$RE|k8fg(3}&ycZ%L zDkbjMRq=vqAu=G8Ceu2qv;MuI{6sl+|2aJz+-+2K`=cdV^(LXyLMz$r88jW=NoWxRFZ7%%R+IDOXPsp6Jql$k;H`gb3M@=Qa-K;q*hwM=(R$K z_%Q%K);+~T#xq&^Y#TMX*9#ZKXE9?dCo|u)>i?Tx#X7o89dp6h*dTSTm}1GSYP0QU z`BYZ^pLyorKyx;t#GJpzppx1bSwPw^A?928AOyuKFj~JRGBb=jK=AubcyePFSWG^O z7s{WKBWpL}wjE>HuMJ_?;m&ChkDo@l1Y5klMFF!O`+U~X>* zjrBN0j<0dSdUd~w1^RV%B6uSut$f`JLpOBfvqk67o!$fbRX%Fw~jK@o?{uFCQ+@@q@Scr%4rg z_@JNWCw_*|SDElSG!~v3J%M{m28n5;5*7rfqFZ+i-O#iTu8=BdX!uh3zx+^i?q&6o zt7gVmRtL!4IkT`j@5KAAQy2fOAC~qRv47=qFxe;_zmG}8ZwIc^Rs$^vwwubVZkWI% zhV2HqlXJE$5>CUR>A@BYdShQU#UnzUXJJM)M7+XnMEw8(8p zbUE=~eyAC=UVr%IO5;iQEEMjXnqS?*N`9W>_iz2Ma&;Z9=x-sXoOJ2Y{B$aHzme`Z zw*eLoa-8Qtgvzm&(7*2m+1+~{2;)vX@@DewA(UV7j2 zJ2k(UN;TJuvDRG7^xp2`o`j9CY1cjwEPhJXdNtF1Ps}im%JU6Bh?3wNu~5{vjmz`T zIFEr4c&PUVpV@ZdI>9x#IC>kFe^0DR&99>|8D3;{avdC#6U03MDd4j#lBSY(Y_4@7 zTM%DKypE32mY9`%-F5q6A2%cFxv9w59=M2CbVu>|XCwTxxSZ{}Gl?yVo6N+OO$O>Q znLSv~Cq14&!11dob9U-^Jik5~k9{8i!GZB8`S~F1$Q=L)>&a}Y`#rqSxC#XCw!pGG za*XLzeJp7d2MMi@Jn7*7hpspArt%B_zmXyHJd0FHl!y{%Uw4#3s3fE`2`MQhrO_A} zB9y39GGs^^s5tw&NkW;51|(^YqDU!Czx!Fw^Zoo*&syK}ADnge+4~ya@7KGOzWJ$! z(^Q|M%3vRcdEVhWsVs(`lfDoXdIiMPGk89=r(kD}D&FmUSWz`+4=-Y20ew^<$7NhE z1;ZKB;neCYWF%JxF4%>`VG}J7ZB|6#mQ5tW(u>4%%oauUcl&KA?nU;B928{M6?4g$7r;8MT*Z336`~hG>eG71wyAY~~Te8EUEF9S|MC$I{L7Tc_+|dniq*a_z`tlBb zSP8KoJoMQY{d=(6A(UP7^)nhyvB977W3lQ&Hl7$b4m0$J!LxH2=xn)z&hMV$?uess zDS0L=r0c0`Uklot?!rxl&G;ZR6XHI%gMv#nk^0dG<{u;Az)H^F@9zhXcHZLYE1cjw zF12(`z-jsi6Txj?DEJzRgYAxN&@;>=Tge!@@Ad`E)fl3;D@tkmpe<GL5K7m>S9N7nGw=dEw#bGsF|YWr;|rXg&<-lDEwFsWIU?nv2q5H&F{#f;6I#~`&F*R3of-B-K#5>I#WjKukP zGP0V>_zA(6AdL$@I9EhDeWe}|r{UUKj`=gf>4xh}+4q5`cz2T|;ND7mR?5Z|H`a4} zi%Dzo@}~^kt)Br7IcZ!jUI%#bwz6|~3=t^>EzJDU#@>Azi`jt)y^l56S`P+?O&)9Q2HeTc2rKq`e9*a;cp|54H)Iyjmx7u za=Ou>y9cXQk0(+0V#xY&!b~`)?Jefa3%H7O0248NdfAB3~7 zv|iE`hh9N$vM0wuZbWgDXH-r35nxCO*neulF6UPAWRV+h$F*l{!1Y)EiHxnk_>$GMRPz+rsa1eFXz& z50doZXi|E<3cMGb1;;iXvmvDyY@9#wLw1j6Z6960p&gDqlk|_UGt3Dr{%{PBOgoTz zoQA2pQmDc5ohT=^4>xgaB*#H(ob*``Qld9-9*#<~dDS>5h}lfEL=0*E=33I{ZUu^6 z2TAi?QFJ>z24;^r0h7uBx^kLH%Un;;G`+*0wcV5spSI#Xi|-%~$Ny3+Y9rJ5QE*4t z7L?k0$A!kI!}65} zFBe(ZZ% zTlyDQtoewiCbM`qU@2;cz2xt^^M!l}FlF{?+2PJ#T5#oKCps$bM8Cij^t8M%J6ZoC zJEC2MzU|gv+v*I;Tjn#q=ZEp@$`SIsRvfdgrJ_XQCfI(x9yfG&vaN4xsc`KBD*vtu z0`;ad8|IH=^G;7kEAH-ZQtgIR(Ia5JiBBgvZNt*J=V28^0us&6-3`Krv2AQ76+@55B(4E}}-PWblBJID-m#xXP2Vp{c9P)mq_Zy%aL z*XAJ{N_DEe_zZ z&!_oG6*oZa>||zUffl2ANSkr|xE}i9IhRj;7*@!=<>jqhN8`VA<8SMm_>AlChc++4 zct=q@f8GpM4>V)j(tfNqwdPrW`%6x|<+7*jX5jpr&#`*=2(|ThgjF`_mf6o_8QqVA zB%!^TjFc|G@}-+#uhSx|yr$2t>?pwJw|-;aLv7YP%LT_ilVo;j3ov^h^-@do0s8sF z6!csY&${&au=L_qP{}_|TsKLxcawF&By2o$c2ykAd)dZ6wx}An7CW$#hbvM4)ggSj zuNrOGXH@j)MRW?D3NxlZg&$=N~!PF{lZOZS6esS=~nqr%*_S_Rq8v)HbY6cBAlpqmzY@fW5{ zr>}EOQFTQ-e|?@I-Iw%?cHVew5$pJZ-kDT|M|kVt)WR*$IMJ4@60yM7;kI0u1;mvi%KC5W2Rd!fz3<$G07&O*aq14O=f-&CO`5o*$+*Zhl5(6q zKf#9nr8O0kd)?VX5#MOf+Pz@wKAF8Q-$;XEVrh|&D&ryM3H9Q7?9OjVTwYlx?dv{H z+pAu{thQ}%cnjC3K9t7dQyWmZZ65Q%Mh`YLOd|cZZ6wVh5<2hKLhFDVycs==?>m;_ zOOlKp+#Kns-&a`NHI37$OM->NH534@3vxLQ{YoM`SBAZ^MUyc-e*t>A z4B|Nnx1nzV*W*~vN5T1-*s}O7iSLtQn9cuJ@BM4jqiY|6=2?BxH}g?js9%*6+Hbz; zqWVAcD{aj-JSA#M!|vqZK-eI)Qja0c;o&f790!eCV?iz{0h|_mgYd+c{Jp-4L|7!X zeAeqkdRa7=zvlM=B6GKcx3gwFI*vVyTwsSqXSg)TdDNa3P(*1WuyeNxKI@?>+}favc%pw0c4lSH(k z>E~zK)@#Eb4(KPl-|1D{KC>TmBnsey$_FwfE)pJ}6$V*tE1u$*3E1i7OSZ3df~{=zs4|i%u~EZW;DgK}Al_ro|go1?tXw(t6 zegu40-{*aj=Jpaz!RRxi69@Zi@s{v*TCg;StgB7OqKz8JmzV&BuZ3ZW`8irPdYhj- zK?L?cbSzh!*UMY-S05ibj}Up;F#LM-Fv!JclY>*TFzwx0-e*NKdPK*Ljh-+WK1N4E zj>|7hOuxswpFI_RUs((p+Iy+s7zuV;pe;GqxR~$zgt9M&av-_?H3(ICv&Jtg!IhqZ znZ4og*7Y84Rqw;{h9WHLc1Ka;09Jm_Nz&p{Olw|PuvXVgVA+>4>hjtJ9P-!US4Ar@ zNh~LyBimp`_FpJ)uX-|(ow@=uE>vKS#y;#mx`kRgBtgMl zapqA(4#qWQklUdduy@B#NS&tw8&X55=eif9*=sYLM*<5MCIE{L6nh9{XOH?JLY& z&Q{?I{Hex?Pq=>3O_5`O^B_h`0+R*4fSA7&iXZYIQV0K#4Sh3l-pzX`NrG{2rVq<| zcM+9EtOvik#&o!*~4!)M36b>l!0J;{PI zDJQ_FcLIr7IZXb{(ZaL0hHzO>5qe46^0PK*(K5Mv_?j)o)eCi)Uq1;6@eM~d#{@I1 zg23nzg*cZO$ZcK#E1n2Jw1_437C z+Q9O9Vcw#jLiqjVM8@o}Fk>{j3HNv3#vtkYs6I`Ub_u?Ms|xcNk&0(zi=r`B9QB5= z8|0b!_hgBVP#Shvw&U1L8Kmu->EZCPAe%P|tAB*?{8o;VKQpevE0M>L>=B5CZv?RY zgBbgE+c$pb!7P4go+H&-Bgu@_kzu|Fa+y*5DNNR-7yRp1zcBRo^#9I7@9@DFS6l6@ zdYts0D-TYs>bHB*oNM-P{kgmNC8nyZt8iZ2N3E`L^PDl~@SLtBd&o|S)&C>O7AbwA z>D?c|Kv8Qonl7C1o!Y8Kz*5g@sF-bo zau>g1kdQ1}<?Pj00<5(OmwWBt&b~@6 zWc~ZIq5lA<;kvz+%?iom815hW@AA1Us^UkqVa7amw$NA{8sVm5*@gI0as@QrkwN!M zu56suNth6Fj(=oO9*S1Al4eD2PgADIC?2~8m5K#WR?|**F4bZazSQGPlQyWIw*+qt zz9C;H-G(LHJk2Q!lAFe92AY}BLed16SOKjKZ@ z?MU_Xf;eAS2ZYYM1lbR!;H?+iU}|0=lo90?au=8<`yY@lt#k#@buZGGs1Y)1#h2nryuz(7bb55WD^)d)Zsi? z3o1E%t0k7m`9So~;~3tSkK)x`FlSFU$Vkj3x!Hwu*Mv!!CFz7kKI7OMf>+^$QYV?1 zV+o76UOo8DEYSEHM2-r*M#tr2S;eR;<>Q@I>3Ugv_NPb&9JpRfQj0|xpRypxH(S68 z2I;Y9#+$HfQnFalfxRd>>1c(wTOl4d)n;0aAA)(wD=_n`#m8F=*ri$5QLKEFTACrc z3K!97zg;ld?jf$e(EzNSIaqq#CnqD`<0RoB7^*j6VhxO#?!RqZU#rRP^HOCSKgMG= z7Q&h9E##Wbeo$!OvPf6ffYzA9uslZ)cX~Uca@-@_cjp&LUDQqzosYt97mk@8gQRxF zjf!>E&Y}NW5ycXB<7&AbG<^Fis1;L&cAhTO{1sx3>={o-{1eHKfRzwc+t2T) zs=^Jr1@!Rp9QeMgAM#g~!hP8UsNOIPnoYWBOu`^PstHD`^1z4F=Q|q^s?koWZM?9^u9k42xx>i7DZ52 zlt9fMOS00M!&oQz7;g$_V)TnCw9nN89?m!ieWI&S_PH+(Uk}GmDKjuxJOzI~HbHv< zeas1!Vg7nd^ZgIm9a z!71gLIRA7n6yLo|ls?Y_Q`2|Ef4eKsW{oX;KFsy{u2JNZ(>=^3HPGDqlFmGz3p&+8 z^y`Q(m6e%5H$ASV*5+owds$12^X7o_zNaL5`c!6F;UjR_9R@Q5jd{syok4nD0c?CI z$vhAG2=>dzlZLl7c$M=bZY(MN@4ZmpGhtN5-`;B6)7$57yq;Pmxk7k)()xej3%}gC zY{T$L2pm_yZqaNE>xZ*Pr|eCiGDt&U#TZbvFHn?=zM{V@0%`;Bayz8&{vyds@XxO|_GEcSuiOcL4?OJ@Il zLp>WKK_KZP**2jJ-YhsqqNAPJ*qe{3O^-QhrOH@`A}N-f)@+6C5nCl0_-=BaC*c% zgr2&?lEKQwkk#EsHe_9gyp!{1CVE{{wA{|I+mRH^_-IdHmN8=is)K zHgL0)W<+23KgvO$&XxJ^Joxu#8D4)k->URIBQ+&*YL!*S zrz*$7f8PtM>?l@IB_GKQL1;?+0M}ZD;5fHG{+e)}`q|kLPlqbl^g)jKao>fx9T9+b z`=_yvzAWmD1adsI7P8~5Jbkm)0Od<%D6opK<4!k?yjn$==Qq%MUIgn^uELvB$S~7{ zKSQj~Y^L*QDJ|?(X0zHN@#CK)I&Ah5TK22qf{#h4DKehZ~=Z|2M{1Bwi3&qU6 zvFyrsiul`W6*e^zpe*;pzMcwiG|$5;GJ{>XON4#h=LSEHYq2NK-@=0&!%tz(5scJ` zA~ya>kT^FEg5nHF2$-|+x189W(Z^BaxeWVr)D~|o)q{N_qZr%RO&*rk(XZ#9mZ!Fj zL$g(lxLGKVe~B@K4*5M~MY|8wG!Iq?a~x~8WHKo&nvN4z2BGm~AY7Rb zQ|~u{q#9R`{*eYvd{2M0K7^LgRp>k-N#qqT(_Kz-@VDR_2(~PO`tZp_BaS8AQ=9oZ zXKwJ5GHycc?*v?YI-GpJM(G&Kd?@eifxpEBv|cQw7OOPqB*V2d^Q1DgjlB%YaaFkR zyDkx3RfRdp$*|z%7{Mv98_$Q#pcx_xsJL>pa#S~Wck$}Pbixm?D8pcJHYyx#Kf z2C(tRX;`@B6U0PDLwtcA%%7)^vW};){a_j2e$jR)Tm6?P-%G}vsyw{xWPy(DQ6Mn? zG*vBq10z3o)Aw{WZJ-CCci4z+soab+FoupTn!+B6Phi*Ob9u~mhu9DSRpyY}6qM*F z#~up_46D{+{XPeP{{2+AlcVoW@%V*f0gCC&cN*GQzuf*MN3+eQ%YW{)r zXSj7c$7$Ymh>;EGhl{CJ%){#m(AAL#f4WEMT8)~Uv@Mp_Oytp9VnX=kLL-j*vL7Ec z2NIq4>#0#pGs1&2@JsFvonE^RHf3ak+T%tt=Gj; zO5Td1F}E&5_hOEJyRQUZaP#a0Pdljp_~O6&9c1FH}2Lj@h$2(LJe@+~^^oyT}{H%X}fF0b8)@S__>S zn}L;)d+@>XhvenevEX4EOIwJx}c zUrO0^(kz-Jp<22edY_Df=syIj1qrin?Iom@UC5W0qJLl&9k^eDv&*fqRPzI9jd#H? zMvoo6Vb89LXPBcLXY#1aoe#*3|_JT z;>7OJn3``D-V)nkf3OE$SmuIhhx$m%pC~qZ{7*QG!rcBsn4Oc+!H=wX0zSW2K*-m$ z3XLW9WN^hJI9BKYHsKQJ@JtfKzPizK!ej7TN+L#l2!W;UpWuxRg=5~)5c_5I+*iJye0OZZQ#`H7yNho z&!U0%A-e1KAXU#-q4Jl4_~&+c;*VY5@UVI#-W#z;Zf}oYHap|{;9R;04#4Wz8RYiY z7;3bvio*dO#+ErvcwSl*PVOy*VYgsV+qVz;<~}EcW220XOU1=23+aT&7~px=)008k zP_Jl@)0{p~t$DlQkc^ zPMQzV>5f^jVn7-Ccn|o$*WBla$T!h#7N%^}5(nl%`(J*V!wXiYXMDv8cNq-Z%H@U6 z&EsDSETCK02UD?z9v;cmU>l!u@I6&)M$vB)Bs8lq{RJuT<(S05^Y7GFS~eIzr%0S{ke!y9`Iv zT+!!gHFdu|4jVHsTRL`25P>7bd?C3?klMQ&-n-6*880~4ihw8#Y>>h}?*Teq?jTja zoC;Nkv%oac6UA!1f$0h7Ga;cUDHsCdQfi@W=VIXh83$X9UHM_2I{)#J25zJt@0)0E zHKyuXN67uDRkqK+&M!On@BLtK;4plS&43@={x!ttEgUvhh3O7GsC;22`y)_=jZqe3 zi)`NDY6&y;g_<{(>4ei1vlA$^zYv)*(^wPp$!yn?OPIS<49vclK*P;S5V_0;xt2UC z@2vwH1a8uzv?aK8sVi7tn8fsRp7G7Emoq!0!Wg^7GnktGNXAA;7QBsWcqOn8A3Nyr zQ`UWew59TJcU?4Ey_mwLxVo^%Zp~+>7Ra!(RWF0&dw=+QC!UJG*g$;)1z3-Sewt4?8tE~nm_#k&0U%ZPJS+s)dsLGIvjXKo@l*Gj^FwDE{ZQIpwBKUk;ff( z`J+9;?50K)qMx=Geh0E7_{0~QdM^^cAHBk>dfbUq*K>P|8}DejktY}&J%`Of0ORdA zp7;g}Ff4pcniW=H=o534(At0|fj#6<^EI;3?M5!s1E{x;W5mjjSGol`*KU`FX?#0F&;(CYAh#DISqC%E<>JvD!fwHhWwGy z|Lz9^k+!v2wu`NFtq%sInCe$0U9gQloA)+HwsT+RNqJj+upB+UcOWM2h4%N28i-6dnru z3DGl6+0|E;F?X%^GA2P+S*P?)WO8r84wa8UBTLHP?K*|if_#a=0drU-?a$^o_=D2x z>twolAN$3r4{i!&@>-NcnY*F^6$h64;AnL*87j)*d`~Gn4*Ev!_cYV<pu2xL=Ef~6+p*0a|{iMq30i8ry|pR(Iusu{7zj1;clDxWMaB-ALJGL74RCA@P`W9Y)&^!lqXyu;`~Psoy&hYv0#_z>}j;JShbx zPKyA$m;{sXE^%96AHNeth!rVpYZYtVx_!SDCKUTtVw9>@a101?eI!@TOgkF;tF(bzjdz zR+$gKC_EG9{}Q2X53X2F3?0KRwCHBbMHJZ?al`PdU=1A*7=nYd_dx084KQQpQ3$K* z#O!!3>vAKPbx@nm#*YqRf!Sebs}9EVdZ%FarWVkdegZK0W<}~FdyZGG$L?66%szx% zyi{=u->+X@UgKAZj(;0L(U|jq?$(0FPp8Rf=mhNF)q+bKP9e4&xJ8HG&&K*U1>4uS6zb0pth0BT)%DU~KCKGApc@*i!*0h9xw-><-oqW?@^5 z0vXq)Nt{I$aHtqJBi-BzJt`|?ts^ye^PBpHFiqD z6xP+3tH|zdN4g6z=(-x#PkR7CBU4rL*Hes%$UBnEe5za&B}pItH(62@>BgGO+5-ShT#crd-EV2MQcy zK$7=`bREnj^P}&=goE{9NH1D?Dc&UagJU_Si3M~kHj^IV?^M!N9Q#IRqv6hbP?^}m zf1CReK6{mcV|y=%ao(f2mkID5d_esy@}+dmasRz0T#)|(W^r7&?{+6BS|pP@1y>=K z%W|wa69Tesm9S{zQHaP^f~9Ly_!@KbnKO@Lf4-5@wOX+~eWc^Eg4LIZdoTA`2w830 z_2pKw;s5SG&0O9v=loob$Cz~D4cn_*6+Uj)w((*A?oTuFrC}g70hXRAhaz#yiV0bt zsAg{u%`z#V4KNOyb;jU@hTTZ6%z~NxV{qDEoS&Z(gV9~H*lC*#*Rc{10oLD--t^RRX&(|dRsCr)%`W?JR) z5(g&ZOZe&xn~TA`i**^Cmp(-iOUghj~*H z>}kV~$0S-DX~VfDUgBIS{^P~bxG8%V^uiUIm2i{?cet#I_epqZUpr}$e?YYMZN@Ls z?l5)BLCnY~M+fnQCarYdr3ApI2_OUPsX=)9=vVM z$@H+yQo_#afmJ4c@OqVw-lFlyor3u%P}QO~}^H%@v8F0m*qapNUb#!Qlre+eeHni zq&#S{?IP|+D)E{sH|zU21*{5=!-d|R(C!e$v4cb*`SpB)*_9kq6)14axSq^QiSSOMF^W0HD@R ztwL|JgRPO&V)_?oIyN2BwBKP@D91?MDMrVI{h;nk@8K~)iwcR=eWd=CJe&1HUqlS2HI-jZnsd@{T5GQ??ICt(h?bm-1El5G1K z+I9~@$Eg7~4T!j61SHibQ2Pi!e2L^v;!|fH3wDoZi%vJX$ zN})$dTX`IDF!!X*@eXuU`!qdZwSg{~DURWPIq$yXP2k^+gC#!}fn7lri74%($zfCR zdz}L&scGZJqp75{iPL{+AL5sm3d7*?XbA0#Cbz%Mq(3DL(Yxd-u2xG&(ma`%NE$=A z#V$+rm5x+N-2jI|u0lytH|lTOh|+Tu@M5P3tEbm&nK?m#QR`R^zd=Jad&c!+FJ$*}j2qd{{NvXm!71hp#LijzPl@=eA-CSW(%oO(a029My!`H2EA)ZL6~2Ah-L!ZBpI>^A6Xl7okfB>p=OKaanYU*NjXD%ZhL2o^shvnAIg_sg_0xWlr!PABS(CN# z^_{D*r+)`rs!&A-)7L0i*2L-AT4-BH0nxmY3hH6&Vf2h6@5=LVSaWO;Xsb3fItjtw ztOfMfvisEDZ!%7A*vN4`FB8FtDMWL^Jxk@9d8qeZnAx4K&AKP;r}+;O@RMdM{xXWe zf>v*sA;?Of5ku@CDk7^Zv4OS)-tG<)#NA*gc~WG8dxR`G+DRF@vZY3+IBSKu9T z{qrd(m$(MCZxb=i>e9_EAj*7pQp6+|KJ5N<6(S}&5{0=3(R+aoG|KOXODkG<`5fE& zsEQyX=$}SM2c=kjhe)i+${~AHXEA9P&Vk?QO#ZK>--%IY0$90jhb((8heY82{S@-f z%GnP&SZ$m$Awx!aT2;txt^MO8|Ggicmz9Egi!c1V{gTt+9;Z_+8>oiSQ~tp0T4J8) zKqkLpsMyXL`uI~SL=9Tfva9j@+!Y7u-F>lC{MS?3a7CKWL==(p)CPwA7s82U+SKPy zHZMGY0msldQdb-W5-&f}+9#rH!BZ`kS)Ps>XP{!!fmF*@8;1WVPX&DvK_!B^3>(uOiw&5Dqd{C&xjqWgC|+{64vKn@P;}2nH>`okAV!{f(AA&bkfsD#=f?1(Kyzs+9%!;dDX@+$itE0ah zE=qDaKi`jolb|3wLs*+F?8=67oUvK=rr{ ze3u--vuP!`T(m`t?lAt+@Mo|qP?g!=?gW{u5^3l5KH_5P2fhxg zz<5#Pf9GNG?ALN}cO0yKTzH~g5jnZ)oSXL*FV%m~LvD^Md=Z!onO8#L-ma4%Ypo1N zK3ns$ayQOdBK@?Y$gPnkTA885{zPDsCxL2Z06jM86Mb@r#V>Qup}1Zye?;~USv{Ci z5gz)C-zHx}vz(sNkAs)NbYKR!-`WbxuPz`lo0BZx#MM#x6+`?bed%P=d{@Xco&eIT zSD??vc(P0>7CRO%r@G2x?uBdIJ$M3Fw;f?)9WyZd zY$r9f&%=7+!DdNchvvMM=$`c*&s;o*oo6P4ebOVCQd>($?bZ2At z=tIKxW8`;#7ccWt2_Cy?grRpQ!svh)Obi%<_Xl3_HMeEcx7|DWgSQl5SS*_y-u(uw zZa=2ir$*ty@v;1gIwBPZd-hR>@Cv#xKAC3|cn>!2ddeT)Zi-KXVj<;QIXnrnhN_bS z(9rS9()*h^NO2scw-Pg;Xz~BuckIb;+_vH&$1|bo^;>2eR|(L$f;Tq(`(CWh)&t}F zqL4aY1rjy4LEAtHY?_q;&n=BWGp37JHC*SvpEANTdN0Fl*&syiMvKsH=>pn51Gg;xkjouIQqel9MjGwzQ=o|jwuknk6!M|?&SZ>C}x-7uQ4F~D) zTTPg<_9)qYRvm|%CNSY6H{e944_4N7Sd0~VibpHm*_JaV>}D5#9DaA2_P@K$+bnnp zPYADvrua`}JR6S(PJ~mNg(>(v^$GUXzoxn`y1-)gO{hF`7{)%-MvZTc)b7V+vadu6 z^zOceFkdAc3G%|jxz21!-X8YcY$satSr<0#=|Pt3E9&G8V33(YoJ#z`^O+~>oO}~! zol$2Ql?wKFv>wr1IulD2PT=uXYk9LoHp0ieW!S621G9{5ocm3Z?Ck$Rs~?-NazP{f zDXw`SBAiOKI2Oj0C%fT{`EKeop#lDiAI3XM^6avNII(-G?*FFz)@n44FrsL>`9nmoE-4W($!A`l_wDDG5=NeLEbrr07K4}g7 zjTW>D3c0Mcdhh?r;~JAtZSI!|?^%5mNzjtv1(5ah4VY~C=N5lpmTf^KLravq`} zaZizzJN^sPtcUnP8n+;!ongFB>uJx9@i5)#8DeNR&Vyw%ayvpsIxNN7IXParA*agc4N;bHs*pH~iHSn{1F3|Ow zOJHW73oeT-#<;LF+;Dd}*s}3-f@dUt`4~Y*?{(32&&RNlf=@8p=LD9Rj73ce&PVXB zg|00+1FISyfb&OPcxv54B20DR-KA3?tI9y=`~o26k>J@ih1BUT#aTiJU_#&%GV*8# z)cMqq5;m!P61(kJBj&a1(ZYd6 zKwLIMhv05YPmWj8;2_8H6N2!|;1hJ^>!Inh4d5g;pZR^{D05<$7t^CB%IHhVF~6UB zf&Wz%jQClN8xH^C?E+O;K6@S{eN%vysV_-!wmv;ER7fT?ZG=XBQD%Y0Md-47iXYp2 zXhCB#`E^Qw*Eo@3?V1zWkYk)KqiGxJ_f4WY^7>?ZF$;c+T40as5EThY0O?x{jMWig zM=UJZ+X3ceSnxXd(^mRi$d&!PX99j#lw*o3$DoMQS{}XAgBM~wsrAOUWL2pOr>U6@ z&wt&*mvV}%LrgbXCzuiWv^zYbJ093z`-onao;XVT=c>SgNtiO(}zt`1|f1fln!73|2ggok?75Eq_J-AOjM zd0&MNrCks?Xi9FI0KfM0bdcck9L3zKK-e@4RvH)a|EK%9BF8$w9>dU57 z6&$t2cO(qT__5>y;HUs1Q2Po1_tqT!A8wD+zhkia>#FJB%L ztU9Ph zN^w~TS9#W%e|Rcit1u(A0w;<-ta!=oiDx-#V6L<^Pw2yS`m-|3vS|vJmwH!m! zxH16G1dYNS&H2ohXND}#u$MP^cNBBrwLW{YV;8G-Xg1EQISrmCKk+B79>?l1CtsBS)-&8Q*nTbARHYZ-U`)SxCJ5)Rb= zpq=N;@TmV6vV6mAsOyi1iIpi3CUhBgYHHGrCR(_z{_9P-p$s0gJf7(9JjQz*Dg|3Y z4?xDp1emvX0;^fp00Id`aP!~^__=Kd1h&XR-svEykk5lY+bH0T{vjR*IiK_Y*N;HY zhWOqa3$3D~e*WBKs#mpC&tER~*}vx@aE}b*rNqs?)^|b>S33>;(1Ajwa}d^00e|w( z!eibgvh{opCQ3Q7>6hf0D>qa4U5~^0T#^$%rZ)S*8yQ(_2yk~RRL3w-&bY44EHi zHJH5AQV@uch7kLAbZJ~21_bkQVfSuy+xwMQH@F}D?v+8iOfKw*5Mvu(w%{|#KnPYo z3lX0;lAJ{kaG)pvcbuIAUP-akc6Tp%%HPL|oPNp9(6PmnE?#_}jc0KN_fQSyorLyB z+U$MRW?z5jqBXGQv!ejXy3^*@0Dtq8Kjk29*h8iFus` z%HJ)ZAGgGVky9*r+{uY>`ISuaTT_N0zg*e;`gN$YAuyZ&TYP+(a-oTXO zd1~Kb4afI*njKK@ttFt<})&2s=EW)(HN?K)REO5 zr+GKF2%>e=9r`^gne%E3GA7+CpmcaPzMjnKS%QvJSFHl7#Ic^nITk`_@N=S>{gaN{ zag2mbvL;i+ec&mlhrECF5x@2EQ;acHWmS)-;-5-Q7>TomOU0+?*T>1cmc0hx3nI*y z*_CLTKZl+Dbq#xD`C@dJJqd!J&cYH|j^$R*5L&4Iydt(r?GV-Q?v!pNKg(h zjppDuCIcH+%tXF@1aIcrb}GH`BH4J2PRK9+J+QxQ$`6 zSLkBsTP0S+|0p^~o08v!eMB_9j2_!uh;=I`(vAKz*$>kd*@-6?5O2>NWd8F9IL%y_ zwRy<-Yx5)-Yhh22dl8MF7rWs9;pWJXF+=7#6s1U%&)FA}Qc9Xo(m=0_xtsB zJfOqnfuF#Mg|ivIk&R43AjKxbQq0<&bY+n!)BRN(f=uL0lpk>(wVM;EQRo4ZUlmWs zTSm}j^D4;BZb?`+;V5=br~GpBZFns@m(H8|hSw3^McS@4kdpckl6n7hjil=({cw|U@r^GLk*YZ`uQHRMs(P)Lz}MHKsa__u!tipflZ`dvvF`06#D zRR4jd2EH^8{UOh3ALtxliD*+YU#KApt;U_hwqr}cdSMPt)(s_HZI$E$SIeZ=jB(lC z48LcDLDjAt5NMWS*u6lE!}j1U`;R1xV=#XZeMHwTwPv@**Ricz9M}}m^Juwf4Ey7F zANT#KFik~@P}mrRqa}LarSk`D_Nn3_LCT7l21CL3m(cW9f_?Qff_>~(h80qA;D00= zA8Zt1&v!hBjx{U6sXh#^rh34u5)-DKJgZroJ%$yVdKX^~CWFozFEGD*1D&c*;QW1) zINfa(s0#>^>wo)cL3k8-Ptsw>&S>7G=tZE+ZCs*J5tMmHFss%JZQUa&EEMFsc4$+t z=p*EyHTT`S7L$Ua6L6xzibi+T9u@}|NY`DxniZUmS$g$pxDKry`@EW>8OfYU5`-sb_`kzYw44W9z}Y1|Cv(0GF9aA$ogL~9M!YO=+1=7Y%ei&!yV4Ar}3 z!2GBV^c$ArqtRzryX+@CT=ktgZ8c>h_0CY$zZAZiFGcCjVU!#bgjcPvK&I|PGGW0R ze3!TzLwmF7RuW9k&c6tQgR;y=*(sRZABAOqH)BPcI$Zku0-lYors>2AI_Jn~98=SBJ$F8&D$9+sC%>$39OWy!qv{zt#$2p+wm)VeJ?EELz+G+~ z5YeMUbL3M@CO2`UH@D>|WSUJvRV$$PQX3u}Z_7?tEzVB3Y)(IC)e^}MreOIxnPXsa z^B_4X!WS%yfll1s1?PUvR4~N4GiGwg0(?g5y?%_BFHt@abCUG-2 zq*umYB_~t4oX=CY$S?mAGQa2~wD_v?-U-ITOO1_4jtA5F;h98Fpqr?VX-&`J{{qaKpr6`TBD z|Jki7mR@OVW7hjPeUjQVgStW6Bwqc!f6tSp-^%H#1v>1|mRx*)NSWT;6b`WlktC>+ z(%`%4n0}DU6>Kzwzv8oTNMIIg%qXGzx>Jzz<~D@RZ3h#FBXIAiIW~pMvp+0Oz>i;r_0<0~f4D(5jzSDrnq%clX`SZYz8 zhMECiac;FdyG>aOeN7s8ao-YPmwGW&ne8EAo(VX6P#dQ_FCYy&7NL@I2s`8Y7fipH zhOMJx+0DjbI3k?O@sg**LePN#U|>cI5(3dK&z`T!z>0jbkM?=V8=_O8)09J3yUOz}_|iqVs{p zlV6@-f|fLvROrEYZEiNl`Ak9|AI1cCLzq~035re%K&PG$nXo|)CC?jTp6mp^=jd3_ z&pHfFrsrX@=x0*5a1N|D9E);KF7QoX>;z#a5vC})2&U7WboP8->=~7Zj%OS{ASjt_ z;PKggVlr%vbvCU19*oyk+{RGDH=us`7^MC@ff^ACu<>vr9G`8#K66iI|7@{Ahgr6C zQK%&<2^Fvte`TWQ{ewU@ZQ|9KJ3!GxOS)Ihfn%NI;_ln~Au7$DDPJ`MrayUu0Vl6v zV~RZvs7R7ax9`A6%mntZ#u|Li<^Am{J_Ck_!^oWF(d5i^Ic9j{B@n<)`ff%UuS+u@ zGQPNh&yg@RKHb9U8-3~eH52g2ji*=VSgnJjG8-T-I*z>7ZR4d~&;{ioai;rc4lVwD z0#n5baHqx({vM7;JBRbZnsaQ3k;)D5;DIGnmwG|d*D=fu{Tm={xes2vOCw``D}i^! z4)Cyxg1IU=pa%AkIL{QyDt7(1AMrUf!KZ$YrP=b6K|%4QGwbTL?nhq|__rRGI%qJO z4Y~NrR}C(WKy8+d~}nH@)n zg%Nr*8KI8gXb#RXYrCT(uJiO$z(a`{w0PgO({ee5}3#)QXo%e2d=wdyub z%?zcH3u0j#|0$fkJQ-&gG^4`=UC8YJNUnOv@biUI=%X`wBq7Eg>)fUA#Uf!MjuI>l zJ;IJZl*e}2Z)M}<4zcGqZD0$!XYgMBDgnk%0H!@IAcsRb;7ZLs2p@2ydp-8So{iVw z_sieZTPKvY+AGXP=Z3-K`a}qhF9p+xM0~0|oymQ@4IHD#fZM~B;FYuk-i4d<8Y(I{ zy~H`5OtUkH>9&&TKey77C*3gB{usxglL6fiZ>au~M5%p4y7RR+1fF@w zKe=@gNt1Vg2`MQwx$7vg`x*`dx~DHTR>aV=}f=sfM= zc5H&oI@fW`-3w`8C20XKhQ@I$&Bt`-n7h;{*X_UaAt0%;C*52!uyy3xXPVsrE7z8h`g87=_$~m}DEMD*uVU-bj!e z8;wxouMCO=j*@uea!A{w16EIt@jAD+Q~4#==q;BNzPnu38Dn&8tGl zS6fQNj7|`>+n;#~3tNb!RzHzg8UcrUCNYlRV%W5prL5_daI~>sM%^W&`8x4yF-2D! zLlom^{^LNJx#$)><2?i|j*qCc!*nbZQJKGUE2p=0`%1DD8nIAZo~=K80H=4|r&+^a z>EgcG;Ci$Ri@u0CkAHXEHd6>4X z47WQTWS3`l#}Wh{LEDFxRIRQP#YCSuPuE+g_AfxdT#aS<6JB@S+2_dx|5nv4OcCHSX)fUdbK(I}uCe}C!3p3jkZi~pB=RNM}l3TCj3cNJc1U4j#f z{GdougefSHWUS&-;P`4GxV_8^lGl%CPXB1*cw5Qv==B50)_(|F4=w!fJu>gi1kZ>S zc4ii_(o4P`*RAV2%n!-h@NYjE^VoZredA$v2a-)IzTj-eF+h7STTdW}C@Cl&i3pOvSAq>( zegk)$AEY)ln`<7tcZ0W+`ay&Dl#KN5q>{diAm&RfU8bwZKHNXRZcAIn%DH!Qe7Vfe<60;c-Ap&73}lyW41SoVa~1$*5a-Wt9ZYg z?%VvE=m{Ewux=q%``R&LR}^uytCg<&{tkMMw8NLh?qD;|9a}5hFhcPSFWMpy9vaE8 zBG5&B41z(5zYul>C8OSfA2fOY9`Mzh0Y?-M6J63l3brS~^wMZBmy5+qFL&bP3(snT z9BpA^Y(J?k2qjN9YC!f@acHnDBkg;UC#8N7RJ8m_YG)EPN>-p}J*9d3Ck4RG#yGfc z90glGML^udI1t&U&HH$i%h!k%V(No#!Urz9_sHKVP`?UbQr|Riwtr53olPe@tWC*k z@0|bo$)6cB=YDCiGF#oKk>^usRQJtvovOmPfA5RvhFVB66~^34R~MF_T8!iFT*Hf; zz7T%Thq1fW7=?pP(An3yuv4c1W89NWemUHsZ}X1xgw6@Tl8ZtRqc}uMHt)cwv@PVi z(jo|3VFc4x?jp~weW1DL3b5&mCl>EML*@p_z`)~co$adULLn`O^g&J&ow*iZZIxER5^EJJonMw!^rCIkf!bS@!JIO7>1i6t?7apxDck zIIQywlSKmX1!YjlK@59`9>PJ5D;N^BjQvwGk6k$I3Wv^_gVwS_T)0<@oe*6>Z}E=P z=j99eUR(O$Ri7@qyijMAB8wkFY8L~2%(l;5;%{hy^ zR&A%bgUeu+Y#ZTQTEors^&n+-5=t&Lf;4etZVcOjz}!7#UTQC0{$VeTc3TJYSH1!F zYrw>G=rAfT<(UU*>P+L0>^E8_YG&VpgK7lM$(hZ#Ir^wjO3-YE`=Eot|4;sD62GA; zS<=zWUtw#oYluE?d;ZAHj5sJ=Xy8Jvv6__({oMTYhf%4dwBwO5@8i{qH#M&8X zT(X>O8VKi0iiTWG>$Np;Dh=Y-RE)vHf%DO#F@)9)ws1QhTOyg5iBiGx5aXrHD@xr7 zqNS~v>Quv;7^;BXo-^<{{WWTD4<*hMIM&@0TQYv64DpZE z4_A5+?O+ew|04}|8_OVB{j=t4*(`J!BZi5t_Mo=Um0ZY^24CUTpxC(tD!>R{Ifs$! zT9N!=ucKs@^bo0?_QNvxO}#w)|l zu43@xa<%-AY=o5AGvV|yVb*M<+-y*AsMP|090!&|_GCs1O8w8f%7+U%>9VVem7I(0fQMEQ08YoFJ}_ym2sB6V^tq zB5lngtg`A7u!qtLF zSv)DcS;32J6y);$kSKl2Bc1|N;MlBfV5v8qJW_Lq`L@R(EW;GG?h%JPrACtdJCVLT z9ZicS_mGxOPl&JchO(f|@L6Cz+#dz<73TAeYn=RJuFZ~}khwWP!KCWbwGiR&B-G1aAq9OC5ioq=Ys zS^E{y-*eLBRP7O7bfYiq6;i^}$o(^=gzu*g`$FfC z;2~}=UO7a*9d*MG>002YugJRo_=Oognoy@>4US{-QStFbdcwk;*PfyPg>rXlKAx#E z(X_n)j%t_L6$5wJW4q(PxGxvHU&f>Hj&U68G?VNY$IaQlX48OFif0WIVdBMI>`+Y_ zYw$T44XW1RF()}zQTs8z+&s!FTb>5K^NqnGRE%|4;DxWR-XYGv9AMVkvk>^}9mGal zq;C!$B)2|Q)5Y5t!lv3hIPgdeZyLYD&;8aYVUrJvyNf_@J;w!~+|SJ^1({>}rEtrD z9)$G2g~pF1CN9Gr0_a21)n9dyiEW&Ky z6a&xI=Frx$0q77FkJh(1E`D|=arUnUp`J93VK2#iGhKu8&z!qDD#1eFiaTI;o9lJo zZ--S0AK}sCFRN+w8oueEyA}z8PDUk2$0MB4nE|7-n#f+I5W2Z17!^E)iNenT-k#L$_&6a6 z{f8IeagA{LXyOt62`>*^J3gQKnK<(!MoP$P+cH!?lZ5V%HlTz7=RJ+~hABh>E{7kl zIdE$^K2{DzrI`~kqKeBo|6RcM{(K+j{hrD6*2gpB=6yxQK`sNv?J8uV4s$Gw#gdmHZl)0{X1$zUxz!Nu3U9#F9dl9h_(X1Q_KL`GTI_~d z?O@(2!b~gN3Tr=V~_RTXOB={EHd^H50y^g1Q#;ZX>{U6?%1}oHy zjwUaAHiEjR0lb?s11@YT0*~=oq`$fU>O3xwZ#aEA<-wqdV}%@;|2PP-3&p_x7Xc0N z$)J|g!Wp2RdJIjarZVzM#MI{{1VC3tder$A)$b&!a=M`{4Uo0sb1XoqSKv7G!PX(Dl0|#P94tC8ub-o<5r> zU(SJqK}#G^Ehop*FPiL+s>cM4!|ZIS`E2;|>$vHVFIy!40;>v?N#Td?%%X0Nj{bt1FHrVXTHMVa-N@4)FA1DNmshAx;ch7<2B`)^)xIq}1#-atDu zotX9jPXU9vH9c`hWxD^pFFrg{0+^z}UfnCl-frdN73D|7bILyOlg@y>MjJQ}oDE)i zHDB4?|!0YzQprlZNnfybVO*=TAyn9#**G+`rp7;Vbw8#+b;=Ook z`6K99x|yA0Jde#Q*aW|aZ}M~+@8gu^9pp);7rdIR3YHwhpmcN|6LPQ!tmUVm*IO|* z=&u#AifMuB0(Go!7{iV{zd~OgF9Ah7M;6#$$JRG9KskIObN;6Si49uGsjW`Pup zk=Ec>6>UUg!$fRT5J6#AA3D$RK9LBQho7|#bne0+xF;tHxv7%GUuz{?zx{_a^E47JjhfdK3I618p@-0IkJRlt`=dOjp8fRLQkj8g-()gdg zLP95dXTmQ_GwF$69MzA_s|#0>1fLAreE9U!kux>a44;n ztiIgGKPC)sDn%f>v(o~&c z)*Tgw9Q{ZX&YVO|`(3P_x;0xo;)YU_J$Vo8_kvRD5BealjQh?X(ey(K%-r=xqx zI9n!|wQ@0L@BC`yvN!g@WX`g+ZeI>xah)N4i5$iEbEPnMPAgwy;Z?lzbUAzdkqsN% znFtBSpD1xZkMA_>k(vm@f9 ze(Z^rXLl{C#anYY)*|Ce_FT?F=TFM4htUuoU*gW6M%rMxb2ao^a@wxS05UXs8c)vI z0!I(aLdl#zCONCjai7u-Y&m+9j7Xe^Ubl2O_MsLkmUGYhLwCs2{##&PEyIX9u7$3I zd9eDG5DNGlM0@qgIQXG~Y~_bSu+B-SzOxiOR5%ZHvnZo;@CZD67X#m1FYx3g0+Gpx z!`2^{sa;tSdGUkeeCL$Hv?+5L|NR5RvFAPYzWER$!rz15$^@{DHHMvIS%_FH$Sm01 z2?F8v(AB1Z5DLeW|0*&^VqY~f0ILd z-s7TeH+e4MYXC1*gPZCGX4j)groVSCBOdYw{GN+4z4HW_GXlE&7i!&D_7LqEsAMlW|$> z<&O*)bXqW9>=f9g3!dZ1wt9G|?~YkYCo!H|sdnET;0uMULQBymRK3H^LH1stD>f#g zYUUJnNoxu`bz6(#Lp&Vg9*CbBU9XIrI~F1ZhWRjm2eEz3?L0hpqgo80%d0gYpp!sU zHdc`|r4)Ssr5elREuexfhT_+PWLoc>nz47rP@@&@uu|zIg}Ym!&iD&JS~8T@n$yik zKhQmkdP%RZ3q02r1gn%1lbcpGpcSu8`Ad@M)?2x->cTY$D?bM>e1&-Bs{mJ5on83( z?Q95HWCw-P9k6~p#|q|li0#wka79x+%{h1qc5?Y(rvlc)sUm0CVG|37fBC@8PX2%M z&m51Z%{R5}%qm}riJXf!s54(wsW$Qdqu-OQnaU)46q=;>)}mt+k4>LXSmh;m@v}q% z$yqp7z>*#F<_!C$NtiX>&*=-lE8>pDh)?6L!_p(#7|(H8Do1|t7?+du zoW3Y1SlF?5qF!Uzbbm}~5Tzd4mh8>)ObC+5Ad8Pi;5PmyY(KAnp`1Q7{O%lZ5*B23 zn2IsJ-+uD{s!Oot`@N};zc;+;_JLzbc^ET(4D0?gfXYN(fSJa_1(-fg@9o6qF%;$50)JmW=DPOgFh&Ofo8euRNYKhQWZ5wIeOSUyI`z8(UJ-aY(_ zI<7c8m_zdt7DDPJd+;rmQ6(nfox$IGnD1y&delG@xH>C!Cpkh`*2K z!1ap*{OU86^vKdIxTl_pKi~pHY*b{EZck;OD4d42udyJ1Op~>-Nq}?W7QEq8okY$< zpZdNT!t*<0Pq3a*4TFnB zAn&y>47Xi^mmTIXbm#>9&p!Q0O2-B-zh!3QNayiyTW8dHRDA5bRPe8UZ+6*aCZw#4 z%VCuyIgQKlrPEdnZZ*J|X_VAz6odXPZg=N29j;Z4BcB4E5sTriIJhO5*sL}N|56PU zT^5Vut%T@0mA8C-$BQ&5-xH5J*&%vz$K+FK*7W!v-hFGX|Ge`Q8%OQHaI!BLS2yy_ z7R;fqj&uC@?GYHZS`=mk&SdL9^+LJcef-9z@PfihnI)I6Q-N3y_Wh;_1ok3l33)qk!4{>t>p>fqTa^cQrlT~>_q;-1~IsH^0PNdh9ZC&ang%f|`X8nom zu2nJA&iO3p=2S!6et(FbzZ+uSn#1I!eh_8q`rrKO?!k_!L#~!)Yj3LOsC=7S7j)$l z*d_hjKa2|w22JJDH2Cdi0**j~x>{)QDei5_y#a*;f*@XE9P&S(q9XGSG8toXu<)!t z6?SPO-G{QN(8=F)4i*z`_4(5f7lF>(T2-ml; z>6%Me;~z=*Q@xgIH?1LGRS(obWf8Bsz}Kr}~bNeLK(KG;cpp{dk3^3up1@>Ghl^nB#NKo5g%? zl%a3N53`QPvUr9%KR}qt!X3_(-1SQ*Gb9jipZiSCmQQ6lP&ae9C4O6;M6 zNaAb9@hr|BhmNmlOEeU57*YoDqhQV-HI80HLh2U{4VTykf z6u*0e4_)lm>liNW$28Ba_u=OSs(jn?&l@7TC$n zhAsO2q33ZGinp}W0!=~o_c6{#Y&Dte^*BeHB-KrtHzxsOcolA*S_P+*{os@D5Itwp z3h4%UcvGN+Jlv^6zh|}Mj{tqPIv^G!XUTz9q%l2^po_gv_@GkvoV3S0z%SM!RQ-J; zoikX6#dGiCh5bulZErR7Xmd>ZyJqa^l~Fk7ejn|zbj39ZQfMHu73Cf*fDeZ<={lDd zKH+A67W=qtrlIMq^ToNi?1Bp|HsN$V-2mt%kLQhQXz#ZGG*0}3X)k(E@l!fxwhOV# zBr2#+sRa$udWP~p0%7EYJNnHlfXi|O=BpjRj9;$E^b6vmtAcE^lssz~A`M3@KcjrJ z4wM)~Q7@%_p8MF#z+q*WAI%Gyr`ztp8G&$;=IRA0-_JtUOAmaVEK6FJaei3CR{k!R zF?h4hoKD@dj67*+CYO2s#N0@QQ5*gQIrSyb`Kk--(m5aC+`q)B_XgeNpN5^XbyR$g z4!ql&1uwP6a8^*2G_e7f+jDqvr&8B2xkD`g2j=Ocw_d`ss<@Q*=TD z51*`BiyO~wB;BL2{JaqiX{DP;M@Y z$UHNdmym~NFSqj71tysM_$k38%Wq)fywlJmE0R5N{SfvGt2Q^k@I99)l?6Z3fj4Qu&E z(j!DSP6H%WCo_6-D$G)jufx{v;renBcB*s$e{O&*MhvaOm8)0K_L^JNbqtpcVA}#e zH1dG2LTES>3m672GhUB z(UBf0I+yB$a{XPbb1-JnC;?*xOYxEZInvU<3w9>Az?KD{p)5iJlHZ8`cfZW;?J^5M zE3@-_wI=ICt-1%9Vg37J|J7?9xa|df6DBc!qLY~>HBD%J>4sB`{b6D__xsEqqQ8zj z+xxnW%Jw|MuOrcD`~4MPDRdIgf4&HseDff(MR%cb^)FZ!<_mdZ)nq!Og|#>M$SA6# z#ybmeuNI~+@)lFw-@*JI0Y7||XUR{xE(8Ti>!8wEifp>50>wS5xZczgw3PSYNLwH} z6*S^N$^_W6-VkE%y7?{w^ zkFpr2I|pk+%6Y5$qDjm5edu^-5tO{)&aCA#m>!uOa9qoVofPw!ospi+3T6~xf!BNL zC;JlPPQRu4>TxyF*V{NBt_!0*k;S!_h1s3Eo2lS?LEPf9pWYj)Av+z#Fw@)!4eaMp z;|&R9pWIm})t-rK&&3d7dq+mo_b(iZT)@lQod@lPH4woox-!@s(bl@DTSmZ@__h-|1L+P2|F7$j-KDWNPO;I&?maj0-LYB_;wYj%}bT z4+i7(lkd=JyAoUfd<}-Rm1E}A3mE*M6fXuzW9NUF0wc>X{`*{|uIJ^e# zRu+(7$0NwEj&U^(c^+iyxkdCu?siZyxdemLvcW$*6t)R4;9(#M%;YIVuqA_TwY@|) zE{Ug4&4F%_9}h0JnGmSC4m>ljkVQ|Y(-qy^4DE9S9=LZ71wx9^D=HW#-&;>d^9V%l zIto&m!(?27Avzoz#U*h@?BXPbO?qa?zMjVU*>WV>bMd)LLpX}FI-m;hT{aTb@ynqr1Y z2q~D!Wge~i0QVnvL7GPmL_f&{XIW3sTo?;N2bI}rmw#jDTSTF~ZFFC?1Sp-p0g1a6 znY-(!F$ZSKGcQFInR-dJ|IUY7Cl|X3zgTQ$G_<$mK#F?Zf!3?l{c%(O(c8Q*)&$X1 z0v2_n#Jyht_j=EvOQ(H+UCZ>qq@WaUuD*@#QIzbLIZXwtu8>cWeH2xzXvwu~zSCiQ zqImHFUqG#!UcWj@jwZOmnJY0wPNJ5G-1|SQmrZ1^EY%r&7y!M&QHMmS(2p+&P2M4@5CJe%~Co;`fMHmu~n|Iz*?=WoDspF3pR?PvH>`2{s|u7sf-^`Kp-frIZRv4tn* zL6}QAlr{%L_HAHR?%lzpe=B6vX5FHxQ^&yA_p$ItM-DqZY|uJ#E>m|Y8s>?uW2e@K zvgN-yJz3QOTxofZ-nLHRO&rU;Hy>^!i;|5f?{O*M&pLQlCIMfa<#>wAp5mFuJa+LN zbJ~*HPdBNzflas`X|$BUY6;GVc6B*d~k9svZ2@p%dtz$uZb*CzF4A zd?)42tRTCV9jAu|Cy)~}%pm@$8kD8JA&;gd)J9a&txslR{!2UG0t7P?q-{j zqsjA$|J1|e753mzwUX1#XM<9471^S?8vIr_flQ|WZ1cH-OQvbEA%Z+KjH$#LmuK`z z#sU0j=7R#7J#>GpE@btLlA>QaaA#m4T;g`co9Dlv?-!k;nZGq5P(lI|M&oJPy-ziX ze>1VMn?>{OqvUSsMbMQghWY&yp_$=0E1{L}<)t9~^>ry)H{HXQ(}HZJ{5Ehox{i_h zS_3aco$0jO-XtY%8l5)!4lEt=c{P8&(~8^vbjyqan5|U-?6hUnGB}67-eD@OTOthR z{!u0pjiXR~Nd!(zOM^zv&$U^ukS8^KmR-#mRQpylY}xmG92uH|W|7&b7k(FVRi{JB z-3MF`-wSr*KjMyB9y_I*$G)E9z$Oh0;Ob>rX!Iu*efTjjcm5YLW5IVaTVX#DuYQcj z!s1{}stc1Uq{$?HuZC|ToVVfb1kUIEjI<@^z^1qNXz|Ao+9q9#{HD8Pto<9ves_=T z6)~q}KE?F#StqjjS7FfV?p2^Je(>64P%V%)nZ8&`tJ%U# z^8H%>us2$DP0h2yJA#z{sfXRF$H|}Q3dk{$XXNbdm<-~=SZEl-5*Z!#YGWJD(s9JF z6{m>6<2=w9eu%>>IQEfG26YQhg!*yzmC{Tj|Qcy|rli(XGv#0ntfa|woT z@FCqpy1Z*S0T8hI6jpt?fTyH`xw%X_T(5KC`u-Lwt|7#%u#3Wp{z~Mdb2Rm7p27dS zS&`lF!Vn4-WDs|?r;h#xE`_O zPX+i%I)LunMYvhg3^$9g{D`%N4x{i{Jr1W&=`|x-8v-=hKlsG~y z+|;qprl01Ivb-cEA8MpyOlvRqksX&#gPr6c?3zJg!}#W8Zez%XKa;rp z-4xt(zZ*Yoe}{5^Z)1m_FRtuMp)=16@U^`7R8riZ@^gQYs*>ZF+I$z=?{oda-#u)? z`QvP$_zG5OMmH8`=;E)fW%T5?K)x}NfgPMn{j6UqZckHWV?CYO@>o}PchwU1S(Fqz zv$6~w2K@1lkTqIyd2!oJc2RBfbJXye57sv4U_e1N>gY?bpYs*i10}s!WM7H+B?;#y zjN^hSvx&Gy1X;XNpF~(}Bk$RFB&FY)%qoeax%D+vtIVC67S!;>wXWqjPf53&9$30fh9^zN zkiBgwczQqMiGO}Tzb|m4YpqT|_leEKR;$lsR;43(Xe$M;Iw!&PMjpJFgis^%1{QMO zcM-RzVDfDq6Vc4m9+A^D!@tL;2E3YRCboOy)>0`Ev)4_&g@Tvb{@3@Z@F|g!sy~a( zroD?1PV(2OvwC^>es-hcKj%rvGkM1PR5RQb$b|PgoPR_s+oZ(gB&JIkvP~Zb(e}PkGmM$I;bj=nGKk+=Vo>?D0GjM5p<}0v z0g(B``~5nY4t+Sv|M9y9^k=q0+9h$Y6nB9W8ENECa}1JO(NJ<~J!xuq$Wu?nPFBC$mADA*RyM*b*34d!;kwr&=H7Mqr1SgE0nX+wv zAaHd!Ylsy=;g_XX;aY{TY zuGtneOfg?q$HV&e-y>5Hw4*JS~vJP z`W)Y{BNH;V_hRYg=U8e`gm*tAVusRIV)Zc`O7EouRmz1f?hGlkDTm&Q(_kGEiN<%F zz`#qC(QRlZ{XY|N#WWSvl5e69MAlJ5y) z!UpMQ_$=R?tvwrqN0ari;Ykc;44)%~k!eJbPK3_WX`KJS2RbX;h*DD@88}o!EyoQ1 zcfV}zc{F#+14}d3FkymrgJzv!)=|8(@ZWmKV;+znt|E+EwmM_=<|nL9yhh?XH{#Q! z((JbD-uU@U9q6TUd9jCfv4{3V<9CZJl3~x|Jf~;j=<70gsAo&^BmSUIQZ**Hox;nJ z$@Gh~98;q@O4FuR5i7B!aC0x0SANM24i5M5PCU+`OwABkzdIlAC-qXhWf6?st(9me zWQaN?^;GdmCeC>!k6S8NK&spTY*ky#7_ffun)B~oS-Fe}Ipc?{;5?lEBa5t?SJ|zdLY6PJvG#OqB z3K8|Ih5Xj}J-j}bYVLp654TOOl3Ny&Sj9#$_T0tU$d^kb3f(c}z>hF8vDY6nO4g#x zWg}WY>JFcUITotvVFdCs$K=PeskfI0?a@qw?*32s@`ww5(-CFM6YFpEz+yA*=uE)8-$7_y|x^FS8^0$Y_ z>Ctdy&mDL=%4Jb`88Pcb9hsQ|h7AAp2uR!Z(UAKLzVwsBouNJ^Wk<%tDZ44~Tegzi zlWZV98#yhtoE&UZj3Yh@ZurnM8?WOIG&17zct5v+fSf-#6%TQ}*A8B)jZ}?9_(OiT zz%~>8JG-!u)7O~DB%sUsikg8p9BaYmDg>0eflKCW@?vo&6*1MqWq;1mbXQZ{ey9%5 zu%B`Bx_lJv=%E45_xTU!f29dNfmr>%3eR7Dfk9i#(I-a`Wu5L}&C%KH`*)`7Q8hib zZp9=vMns$))c=gbR!{Nvt(zEG9fRi&rq-P6&czz-nQY0XWo-3DE7s`5Om@N>L3Z4f zOkDC#lFOv)=3jBlBvI{?;Qjg@dc@%x{@DK!o1eZwj~}i0>17Gp6z{@{O9}{Q&vQO> z5z=RH6hs0alL`M1U2hte;}^DlH&19zgOrL!G@;>I$5}FzA&Qh_h{%}AJf_f`28xo3 zCJmGls%ssmqM{;^Xpo{vBy&jRIiGEN@Bj1qaDTtPT<5m7wT@xmfBOLqYOGks-!}dv z`E6E8B&sUNz48L0HPFD54bkI0ey$2N$B%P+*6r}CbO!ju1wrkW$Dk`D%*5LZF`FcN zpmynPP>(7B5$_>r4*x|8)$Kv2cPWT#UV{1Ig3P#p=?t9&%*fMe%;6{%Mp9dj(R$4L zuip6Ny>yMr~`)ua&W}S z2nY9{!J^&VE~$MKJ<2WEfstI^H6n(44*tOL+PO63paSE+vIwNV4Dzp!p9POi9uVs& z5lorZjw0O`$lO!k`TL#b(yNv-aHdy~d2p8dkM(uLXdsIhxWArO6sV*7#l;wW<0B2Y z<;#oMkjfV~?4S(-O~l};95X9hoax;kK@4-H=?<V07(fAA$(dX1qb*B{`7JO%dTPZrz$tb}k!S?1fiQ24yc1lA4sk_SC<82`+U zSXy_|o04K+a$cU{``R-#92a@(o(8>r7sR&f}B+g z8Ous(=Fq+I7%nfz!XFEEIi1VKtNp;HG=0oI9!9;nv-;`(l8JYAL*3v9xH|C?v}8^I z^;k`7gRj~s^KAZq?*&iJXJ^ytvNwZ?U--!`z^6$K2(B6+oa+=YuwKqU^ z47bmj{G2$sso;(n2E*#spsF~+8kJLU_xBZy{S}B+mE*y^TORJU^pMm2H%a%XFz$_x z!#Nh&_?q*#cQ!8~1Ks<1YhPHSbJ7AhnB)UG$IYNYb1m`ge^2M@T%i8vKap>XWvKj? z85r!50d*?(ICgpqZ;kg7(m62<1Ds;fQp4YR+`O4ERaFJ7ox14h@Ib_rM_`>JiesN~ zZ13%sn7)AMt)gE(fv<|~|bx(*t9Y>C+tKYI1*cYfOEcxb*? z2o+}O^m)2CoA=>2-oCmB1000Fe6|c5&Wk5JZU^72BMh#`J)vajYy8t{#%@XKqDTAo zVZ!&h?6ovbhp6PrDsp+tZIguI!th)&fueEMsKZ=;R-r3A? zt8C`=S!vwKzUBA%&!vLxo^ZGAJbburfm%e74RGkeW127N13RzsSO*zK#Xp$T-7TPh zOslEq!mDIQ9_Ndd)Pi>&we&adIOd#rgBN{uSj%mnaX{@mjj;^DJNeBR*cFPu3ue(k zy)IapatU6Hj{^T-J$MyrnQlrlv;#Mxk2#F>o{y!AByq&@1Q_UFeWA><0J_o*tfo#WAy9>Y5#pN zJVlxRSZ_Y;a*2d(pDf^|?^yl|Q%^iMPK*6>)Z{8fS_-VgSZkAl@RN#={(Z!jM^Lw@|-f)f3Qa1YOq-ky;FvetjV@WVxbnX9p8!B`A9 zq)2wUFCY=E^>n~skjk?uWOna4>c%U<_lGuO<$5lwFk~ECaLyL@|1}18;Y{KhzMhD- zrvSg`9Nb^}NJE$z@`~P1(IPp4()5K!3~KKU!EGWUkTv=U+>+hN-;xhBb%!f@ zcqlRY^Twfa<9w{YH5Og`cc1}RXZ<-cjq!h24epn@JMZNXJZx2A`oA)a*DD#)ymSd! zRND-v(yl{p$Q&LSYQyM2KX%`z?cB_Q%ewkrMzSoV*`q{|*rn<~<0mDiI5-o&SIDvf zJDpiy%U@Wz|2mi1P1x$4w(N8FeeC{6xwJ0u6o0knF*xFV46eT9{MIL=P_&GzgGD`< zkpL&gB4a!=T&l^uoNZuv>>5imqo#7Z7bUpWxeY?~mFdKz_wYgcee94Npr?wx`4>IT z0k75=n=ZpECb{_hlPh zhd|`{IDqm&-l@q-_|dNhNiV4osk;yx=M>}J0ro~vQ)tqs|&DrY#liLIRP708+f^um3UqE z93Dwpi>cCzj0vO1SoCDWD=$^-A20%WqeVoc(SvL#GDPj=(;=%-n#6vPV&^|TM`ezw z!Mnq?5YOcUj0R4@^tmhX+v}~o93~U|y?KnG)pF*OLIODHb8oJr0;3#d%AB1u5f2-< zleAyy;B@pnWY-_2!l(Ptq+J80?yGS=#9vfW`5eY?$)op+qv3W?9N)^|Dml$%f?f2e z!=z7BSoV?>+j^`EzzqIGW`1ojUMW%F{}lFxii0)qYsYidN9fZv+Gw0o&go8gWR}w{ z9Q@CgvJR!>@x-6Rn~ zb=)4n@2M2#9|_@dMOJZ~g9K8k`__8y9aYHi{(t>QR~ozN#!`FRogIBSC$e-Zp1+Tm zt@i%cPtR>kS)t8B_UitJ#`q_uw%_?}Pd0H+o@Betzg{j4O2akKbk`d$ zHoQUayt`;*7E6k1^+{Wi5ZHZM3NB-pL9G8Id?>wyzhhDm6s7VY;gcF}ix9$dOET%Q zJ0G#m`Z{i?>m~Xv`EV@34n?egP=kw?snQ8S1jkPD#Vi-Pf7~N^`!{pBu=RAu!7HE~ zWXIThWMO)#Dem^NA%W4(1TE4?VCEX&6e191`WRF?AHt@YkHEh79qiPY!_DY9u8~3{ zwDmo-w$OWsiwKv)JzUE5yxy3qb^=|TUtrXvUF@=L^^h>HhC0?Xq2b^V{_S=}!R<-J zu_F_Wvo+aZ$(N|!4)})u2m{}lgWAcJRI9NS7sM#CBxx!t_J}ec%+4~>jk_3q6FcVU z(H#tZY0rq8=yQxTCpcimqrS=!c>H!9Ue&31CHd-=KtCizU|Os& z>$@Qe_icLwLm%FNq5V1d)*8+$Q};rv7x!^-ekFc3>c+`;-=de<1XgJ4UGCn$0M09# zpk4PKjGf0Z0=Odc;HkA_YZGSEt$@?9;k*5*l z0=qp+cqUoqIPuyQt6U+*af}l5J8Hrkl|N7J5 zsC~Z|bQ|05>$ZRRe!}b9@r4T%3yeDcnO8h$l4Q<#-hOHU$@~<(&FCSvX%O3Duw8!=!8h7CmLz zHF0BEcimoGds`ocGGAlxTNPHJcqY3^b0(Y5vHx>k8?dhF6WQIJDlAi&ce9wN#u0EV~EwaV`?|9WlHAHW7wBsj3#>?b_t#Y z^N$a~>^l5+9tP$bw`C^V+ZrFw_M~4;Dx^$M>_q>+`aRE4H>SQ?9M4YP4SW3G17BPh zS{)lmo38+z1WQy_GGSZXEZCWbLDcu*W^Q)03WM@4z?BoXNru!dw6N`?+2Xdu*!dhc zdu5TezlYE3`%vei7K*PXbSR}4yi9Z$g`)v5sFlLgU}YfPCzdA9iJ?6)Q5Y21iQyMR z`Ioit(kSaBfNWW2yh=K#Ofy7@-}kU@To(GfZQ>obx5sB(-aS)4iMD>eOoguegg>8n z%w|JJ=4kIVn82ga9=mY` z?Y531)*37M{yT-)m}}?h<-l-=b`~Zl&!^(1U%T*B&uugie1p1~=GZ2AocgyZv9}yl z*p9mgv7X~H8wgsV%2XNl=qFir=N1W8aq}1QD9r}M--Yn+lI3{ssuQ`IH$)`$^=cA7CzK z!9?Q=a`1xz-@iVX*L7bHrtj|KGE)6evdbBbj_81JnjIssKalz3I|RopU(y{T@3F#0 zj7?sA4-Lv3@JM?7fA2-xuNj%|W;@ubcs;8>F;2hY*O8O*o2C9e54UAanX8qtkj2mD z|163k-}7S8@XZi;el-tM=I-oYFRWKTM3tu&`rpT3v+xwrAA*Ob@Sh(-*QR z?zp9{OfhYr&_^8(D$?4os`zsHR(Rp`5!~(m5ZTLGShZs}`emL*mU+oH%qgNawHh>! z%%GPgBKULrimCTr&Ie(f1se)W;RIbpJ~kUr&ECDRCZq^1b^n2PLU-`&>l&;*I7+?$ zPGOwaIx&^SzrpDL-m~42&||p?_J&!&aJLy_b~h8mCJQjDtEO|lz?~QtWXzuIieYK+ z3(OJP#+xj75ihNkWg}{1aAQXVc+DNhoO!Vo3%d!s^*rMHg$wa>dLs<_B?)VzKnKx5;$$#B)s(a7kcRlu%p%$xJ79WNnc;cyE=a_?;!CY1*2bi zchAUT@g_qUSeQ&E1kWI^6GCvP&l3;q?V!DfRujLR0vPxD5q#C@<^2)G{-~Dn+hUg!g+hOb(y_;W-@-xQca!%5*ox10+ zNsN<{t){qe@r0W~w(lhkRg6D8|6li~bK17m$xWYc`@UR9#!7xdMeM0&m0vpl_NUuo zO`#_;oW?ZWpaEx$V5smDxQ=8&m(5{RnlXxl_qyhWPQgS4`{Vs)f6x4D0PaRxTYV-2Q_I z>~12`2}W40m4y1+w1{?YCQ*L(i%1Kn!0scxFe&Rk1g}x#a-QbE)n}g}ed<=o-Y>w2 zq=|wXyBE(c)?oK4RABuZO^~fN=3S1f!M}=c(RIHiz80Qbw%*DaLIh+?TQGg^uiZ{~pW=zl1e+xO|&uhgmhY6x&V+vLYg_#Ou-mM$;#a5x3gJe0QD4 z?IgA^r}ua;tuM?N{k&`VJGZLbeOV-bI69R_s?||NjQd{7@A>0AVxZ*#pIEN(L*M*) z7_E^8wU76L*iT0&zb*q>2c&Sm!FOy8m1X-!71$+`{W$zChn6S4;~B>5b30gTM2!<< zhvQ~=G2-FfHV{`B$s3t+mu9u`fTLUkJhVO(1hM1PQjke+^AYr2lLIpvNDt4?t`_B7lh zElS$rRKf1ZaopwAN`0IKKygV7P2s+ySJ->(Hm>5{=m9*wSs5z@#Gyh)nDHOOWr2=~ z0DF}SJfEcHMDl(cZM2i8Pfkm)AGUnN5kWa7 z=7K}qZurB?WNha3)48)aU0LaT@_UvnvnSDw(X-cLnvA*cDE$kZU3D10*V>Ga@GYpc zONK^&YwBeZ4eR?(f|t7tb(7kMerxkE!^H!1CK-ZwMmt`ciT_mb~T)@UWug2>!H*lT4HD0gY0Fn-FNV4ji%WnH4o zlUGWxYJEJNmut$NC{lq{qzz<_D>IUlW1vZL4NY?1Oom<Vr_5Q_sZ;I@UDwDe09c_DW1zw_X9bK~Y!eot+J zpGe5TmA2b&TuQS;?L`0SM^13>W^_X-*i5yA9Ri8viN#;aZ3F`8gx9z5cIh~F9mg)I znB|M3zJ_pjj{tM(@?}_L^~E~7Y#k1T24S*Q4nCH6g`JvWZ0Oe8xc{^Sw>L@!xm$p277<{QE1$!b?sBlb;S9VN zlfZk85yWy@tkWM0KtZSj0@b;BCdck6R=WwCTC+Jmf9h(i!?aG(D<|~m(`)B>lRupS{hLeRRK*!GMmL>Ejf9Z&th>Z8$B}&e_Kw_m zxE&6^N`kS|-+(F81Zyl>AYtkyE@w9aWZ3B-YxtX-xxxeK)qzlxeIM$AHJF4wPXF~I z8couN23uuq2a6RB3D|eph^^Vho-nNc=REXsJKLUL0*rx?62o-zn25jYnTj}F=EQYJ zxFR!;r}SzIOuf7R>(-)Usx15NlQ4VWQUKn2%gvK!T*0wz zxpX*cCCQ5vhM>2S5aCfkHkD%egR7=!k+A^3a$#DL5BT6PQ-IAmeF9^}Zqb6Bsr-|S z0e!!sm39?awI)+^Z9KNYvOJ>&W9KLOjAKG5Mbs}V($nTPtijM5cl zW}U4JbFy^Kf9Ik0sOZD?_<6RAb-c=%NW+R@w~D6w5B{w`12@Yt*}P&H|3jbrJ}^LA zl+SX^?ih%a)MZs253)0smtw7`12&uzCcO?Zyzl;@(5Us1PBiMk1uo}M_Tooc{!|}j zw4-rnc^_&P%dqeMEQ9>%O1P$AI+wfWz!=?n3*Vv&`3f-yF`z1sEckJgSPiG3n|B4y zb*1p_`aTrer@|y_b8LexcR(fJY`OLwQF8j(SE##K4>tNbwANvemv0vYvum zpAc(4zZD8_H{|<=N#~gJK24&W^f+u7~eh|9P?-`X_MN5%iq3zzk7* z6EUsaKTi{MS6spqTOUF0vJ}iIQfG}1zelN0iKsYJkT7$GNS#_N7${Doi`=6*X54qo zS!V%leleh{xtN}ZLZW(TDO!9Q%WCv1vWFhzg!&6@tO9rk;g5Ir(jMhROrv1%hVlrzn8vNpR zid#FVTTdb#2!BX=FMKBA8~>j_sAs5DP5AnJ+h{xU-+o0#75AUpS^RwUZ~bs6A{bwQq@Z9nbK;RXLp*1~;hB;6SeBy9(fLFqT?A%l_km^LAzsp*SLj=>!)jjs zh=#^ucyhZmZE1Q*3wz$+O^GU0NFL7|t-cL6m{dAo(T+_cT&6~_H0o)`6L~9f zX2JK}FeLGTXj4;WiL@4Ko!$+9U3F=5j~#4^90#^G2T*;b4ja;UhgjWLV}?)2GdG4> z!CX>~o&P+D2${|!H~PZhNV^(ysot7VG%bZCGaBISvZ;*gLJOuSbr=pWkFhqcJ_4Wg zJZZnj6BIo97RBXaP}Kc8UYDrDr#7{?Bd!nwZyDpWZ=GadcLNF^S7)=UGqJcg3%zo! zaeuHc2`cB4oS+q;F_;K4sYl7bfUj<18;$R zD{5{pMGHAgwj;=i%NlQ>!<*&V+qeh0s9c!)emeefEymHuBV>EdY>@rc%=dhC8>PP9 zfEDRT@x!TWaX+8 zpZzXFyT_bvnw(d@UwAy@pyb0`Uw)4-s?dQUVKX6d(PT!u@ifj_W(|=J zC&@jf41Dyx8&~>m!R|#>blK}Im|tCo$qsYbblHjQo&+g4c+v@$*hj;blVN<>0$qIB z@{=gfvL=lk9w1jf58hvvrmS-w9m&4_=?_scfDYJa~0wyi^F$~B`F!hUN z@#>3R?DDOIRV@}mr!5)yV3{gg;JK0Qct44qQu)McsvlG5hKWZ^T}RT|HYF$2!l1;j(@RQ@jNZmQ7HzON9|K zCO&iu{25M+|9*9lNL&xv1+lbUZe98Ds)@v*HW`=PKLEONKe=4Gc6|Ea2$gF% zg7aL;aLt-Qlvt?6HtsCP$nrR-`SS$$8=`6Bm+KUKx-n?XUwU-@O>$sXCM>_q16N6D z3``!N@J50874O2_U2H=mjMQk>79Y&0tH58r5^SdYSk_5(7iDG(L5Ia2NXZ|=XphJ; z`GK70*Y_w~_cw!3O=6Vw(>B#F<(G zth9?d`|{`%*04Lr-^&|2;{-rO7RWB0MGNMh z=cUrED5fUCUL54I&@LOYesxpugjEJ<>J-5v9!jXEHH)`O@g4oE`5EU1nzFM?zN0{W z1Ap?w5vn^u5#PybVZU8D)gR+RFQ@$_6YEl7IE~|+Exb-XxlV@tzImMPwS*@wMqr}w zO&V+L!)Xzh;i2?J$lqIDt|1i&V}EEdA(wraXESvEyHB1~?sJ!wnQuGEI#(mh*`%U< z^PG=K4gdO)zYJ+JfA*;{d24hbVB#bC$YdOA5LSxMyCY!b=~#NocNO*>zKpiJ#F@GK ztZ-u91sdS};Ev?D3QqG)hQ8m)0Ao)#5>=^Ge`+z-JJ97YwrfF3=$< zLLIcF@zu~NPPbW(EAn*Fx3HMEEbSEh&CGz#0Y~P5T^Nzget?H9`cOAa5#>8?qi=#W zD_QWF>W|NdhJ6>osi>PM-VA0OeM`ahN+l#e?f_3A8|LtR6K2njBG8WZgz%*qrSVE> zv^aeW%JNKMRh|MoJR3)IIL}gLGS{n&|8Ct^SV)dP8ON-b5MeALo|5lb+p(-$g58+1 zpN2S&W7#PeaOsZ3Vu|+# zEL@#Wc;TtE_F@Z8ijZP=f0ttIZZ*+2PB(G&WCyG5BOJH!%N&T9^Mt6W+#@rt#ZvX6 zd1$BFf=f3}X1nYcaJz+Wa6Tfy{5rf09@VS`;pM*|{$?_`T{_EUyC1=e5+3+V#~mNd zvL~Sv*Dw)+DexfqIlY=4jUNsM;1jd6bad8KqNKl(7&vP{m+4+GHM{v=f7-tIRmY;7 zxwbbVF5Frwr(a|cG(xubW;?ZQ*^!>}4--D=O+n^?l$Gs3J%tu8y9bcrle zJ^~j{o}nf?TY2mpZ(Jy-%Z`XX!rIEkSpVxWZ$qmNMk{pUM!y7fGLmG1r57{yqiNW7 ztcfRV(}A6k@xjLB7O2h zoPF)rgLlWrlQ$#hpgUqcQHi`^xm!I5#13acYRg2Z*fA5L4dj{QyGOxlQx}ven=)0_ z)0lC)E~#SbW-i}$)gY!OmT)ch5;PDfA^nHG;jwT| zzqqjniZ{fMFBK*)qvSCA#XK~f;evhd)Gk0b-Z=TXQ+kJI+A^dtEbslaK8F0$mH8G zdviiS=hqs#%X=KgWaolGhdL^4h{U>$7l@rI*DJ3RhU7mt=~*=;#_L%;bjoznpNi9aCD=e8FSt3n1a%bl zz*6sMl#Eki7e4C6rjrfmP&bBseBOc;a#v&9xa^RemNXEN^#=h}2Pl$SM{L_3lHATb zh^&f&SdQ`aYPvk8EA1%LjmzfGPPc~2v3d--<6EEt|p@f z%!>YgXe{3dW1~btccn2{zb+uF7pQ}wlMwUWB7qs!k;bztMA0SYDb?5Y!%xH4@ka-X zeouCzTV@e8w9$o9p<#IWb2U?zbOD2z>-ccyM(ldC9VO0&U`BixCTi>8(!UbCb(6xt z$ZZsUuQX;>Uy8#uR!P{qUmAT43i->PXOn9sLLhi!6-&} zMB=fnRaky^1kLd-iVEMxWlMT!ZOKxSb>}7_Z`YIJ4&Xm5JxkrwxcPq8ajfsl!Ob7_ z(Z9G8FYd8J*D>Za|He9AlfX)Ampg0t7eXEAJJm|+Hm#IePt@Wk&Rq&|@vW#^I}3Hc zzTnRt-b6ONs3OtLV*t{H;A-A|;-;hxQ=a65ALl*yOg)U>y4(gh|# zoOdiFnYuDzAuGW`=o$94Od`J?A7VDDUxsC>`s^$1VEh{Xi1P_`;Fx3Oc<$a4(%&0s zZTKpV(|tB!ZL2yvMyn352-v{34L6A+Zh+r44@k)oH9CLdIpWKhf!}*`nBH|Alaw-% z-?E%%>EuT>TwHPe$UIW%xe+XUuhL16cjG=tqvc^spfe$yu1Scbr^26-hUN$uhzjHK zAS7Xorw)8E-bE%E^6=p9OeCwK=%W}#bUu@gjxMoyeP|pwA4d38x*n>&{(`rug8U@S zI(~Ix6m3|o4{e9XG0FQJnVUi4%n8>_5@wWx^Y7`h@9%yGcF7R&RBC}DZFOeB!V$Q- zR~oK&{Vv;@^Zd24!SXRzKGP4?3{lzj3_KT%K(hNI@>YF1Dh+C|{l;?i zJi8l(&h7yB<{NM`zY>h^oQLsKyuk9ZC*f6x;>ItH*rfdor+n0*YHKco!bdSqCK8RT z^%~6T7>~^yck*S9Kfgyzl6-vT4>$J3a=BJl{(CPv*1b72d78a#lBbo#&n=o2W*-ZW z4cYu#PfneG2v=+tBX;%UnIHNQU^)Y_s_8zOPOt*ctI|ZO(}C_0&%)aUO)yC~2+rFr z#@`pZd2V9{%A@8*i`uv(Vm*McT*04J;%xW%jv@&zL4e^dJ=5O)^6N>TAH18 z<1z*bB_aRZbA0*0gk2kF!yY#t#PqXwcvDtLfcK?wOvbq%xc+m3^_83P*s7|*W=h@0 z4V@w|p~D_j_r9TZ`~P4HmwOhmCltR9S;NX#dl<{^XeRl16tmcGJ9A>(BxVY?D~QxG zhTO}-Sm;rXCB~Q0V5to*;`H39_odkH`@3-G)@^8Z)d)3q-lcM#S@gz6j(fPI4#YBr z!Q+kyQ#-JpH*-TQPdL{L&)8++$$MU?IABMXdVC|!>*w*4w!Gm@YbXIH_hZ&`hO}+h zORo{IS)^#2(0n`U^$$VY&A;7mJQi&GU;ERzTbnbIitKH>)|ekV?5tOjW`SAH=KPya zwB*_w@Y))TcgZEhk#X#Us99`$)LG<9#L}^`cj1@KFo~0{1HRNGMi96?=vD!q?2OAa zM#lqN4zOgiSpxJ;sQ{Iw^I_L95!yX69vddzqvm52S%olP^iWLT?VQ5#&D_V3Pr(-; z)`!!FJ#dF!B`^3kqzeYSTnJ(F;9|H0Ic(Jpu46yIm7fzyop&;Bc^!njrfym(DT6;H z6#1t-bk3bH#%_wN974I4{dOgnR_I*Q&6}=auz9-!eMnH%QtyO<|APT)>>ug~Tj) zHe`M>#8)F$?8kj)Sx(8ZzF*aujDkM;!DR=jd-@vsB7~UNUzBK@ zff^emD#DiBnvQvnrTq3Q{gBjb&S(_RguP9A@K>Ud7aEy>7Hc(-S$Gj7wGA1&r3{#C z+KVDD^Qg_bB3yV=h;kC%di@XNS;{P65Eu$HUSJ!6XKqQi=~d2AN! zAN!T+jEf>`k2}-eH4P-zG8jsJd>|$X!qDF=M*8MVg37m5_&@cAi=AQPp{J=Gm zFM|v!evO2z%s2mcUa_h359n51!?AJqu;=?}6#v4_OYY2IMWzi6Z_5OWp``C@#&G|L2pXA-^&!L-W&tJ7M#WW zU$XQ?rvSUr-3OO$Z-$!=Uto^FU2r`p0!w!Gk(nhEh(%HgREL(pCUrYzZP_t+(D<49 zWLx4JRSEokIF@={)WM0fb9s9g`tgN*g+Z@wGkB&o5j9C6h-njIJPz0}TRcM{=D8Nx zDtL_U5?_Qf{S?u*qYmwrp3&&N*Dy|O0{g|g6IW~BplJ${&=;1*Gf-bmCfkh& z3&rGc{ddw^DGN{K_1Mt+hOCI$ae7)Jk)L(^9aL_JWNvTpVnVM(FrHeLO!Lhe5*s%M zy=|*d-mjUOdY6*dcjn@IUIob>3B&VtrmUK`3hQCo%H>^ZvW1*?O*T-K*y`28hN;=G zee^cz+$n_a)AgB^r|RhLjx=&w`6L9anhUw<%fai~7})ln^PgN6qF#^I5;IS6_P_HW zStxhAf1a)UjFr8I-|1A0_nGpJKD@8=N}M!j#Knyn1Sgw?hdGvV7mqvV~k=XNlp&~i38W*TlzUN_^FO} zYwjmnJ3h#Ine#>Hjd%&MDSxq~DH4y4E+h%|7r`Sq2;MymBA*#Onj5i}x7W)GA`SU) z$w86nHLoF`^&$bPlHps3Jxpx4NZYx!mCOEQdM(xnC$*2oOCRLf@BwkQ=x8IY6|E!2 z*+DQ^d4oK$Vrkt4FFpA6f#)=D5;lL|i0uvsv0PS^?~*43Q|CW}hxhH_+qGa^ zFm-2{Oj{S%BIU82L!B0+Vela4)c2_MUx0iovOOhivLzI*Bhy9{k0M0^>B_b21H6)B)~_B4}O za0SA~DX`w$lSVF^&g+htDHzL^REj zzVVWx#R_M67fV+#fofZr2G1O*tXjhN&WWQ#^#?#W(UmQdTTdo=#NbNTZWQbhVqFR( z(f;it{F={WtH>C(=BPB(UovHKZZ%-@S51!Lae`NT_%v^PR5;%9x{OK6srag-0l!tI zV5eSXsdt4IGpfPm0^3Z)1Gy?V^U@0XaJeitwtYi)Pa*b9ycp_tzb1{t33RzdJ2(~r z=7hQM!}1=|p9klIcft}F?U%>7Kix>lE?uU_wg60*bmAS}3jAE#i&xHu;+>Cv=)~!u z&npF^?xhg&DM6WudacWFV?mfTF9eI#x8SDAZ6LzcGnOum)W62MJTUM$%(yZL#@A9I ze}NAiESUsQFa=(Z?)vY&SbqF^cjuv5w&PYWE#g&4RXjS7Xne-(=Rf`FUkiE0nHNl? zqBr8UH5u6B6pl(AvG~)9(;FQv$0vQ(=;hr9eb+BA(mURgol|z;Ly#+Yn@_ z4<=%>d3jSEz@{vLI!1UZ3<-$=y))8SrUx?Cr0 zSmC~{u^8l?g2&WmqUPn6GKV?pBw6kX4O;q#4(xWOve&QB>|;>gIVph5?AedC0TQhG z_-ecp#OZ*-cO!YP$ezA$#npIf?4$x!_O;i2j2syv-(!!{nQaX?%rxNF8P_OJ$OJr7 zE|cR2;_=-yE)RUaHEY9Z+V5R3#<}wv=o{6=SaUWRTVqb5iDwnfeOyQz3NN7Sx@TDI z5{J9jzv7LlYNJ7Gzwo|l<&eb>PV;q!XW;TPVJMOki)(u9aGUT7@;DyheETQxc)>AI zxtx~BefvQ??FO-)@tWGg49u#3$lH6q5IPhDnAaJfAi^db(s!spF!dqt%nPix1&u?$ z+se4uCV(WCeuoeTduFkNF>{66yLW|H)BkxdOplDnwz%2b%6xD(k!#edaQV2)!y@Y6 zdNTV)Jk+Qc()?~6)b-$FW!+Oes-?p=9`L3I^=n{Ysx_o=ze)D)fLEG2=($M~^%8y% z-otlPe5@{%ZGQ?L)dEZ?x0By;ou%VSq;W=*BL4VTM+==NWAvl*gff$;p-UIN+F8tx zku;z=7X@J5r)A(cJ%Lyha2!NYE7+~1h`#!(A$LI(Y!p5Z?Llsk)~$#+Rk7%|O98*1 zbjL>A%RBvWDKBSNI1Y zHtJ%U#aVQ$O~vgml-Z7z;%v0TI98D3d)t0!rIXCs$%E&0a4YmOZr@sjNl6~~SF;4f z=ZpuHYZZ9<=W@2(a1nc?G!q3{^>4VdLM7*im)=rZsO33m-y9h0F`}@V?`JR)tdRtTccwz*EJjq z`_yo0<4ug-a|Sn-B%s2<*BqBN1l+k9y~&X{`n@QM_rWiOJZ|IaU0o>}@_YirsE6>b zJq+WoSl>YIt=56NB@C3rujiZQNsu$Uzme>%xuns&=D+*F?3>?bW8z>tO?8fh%dk$x zZprPYq1*oDdz+6N&pf!hhM$;dj+d<3DYQ8f1C9f=y;z#Hl~_bSJ3WEi<9*Nq9|7|n zIZwhn>yJO`shH0n#Leq*)A0rL!@Oc@tf9_}N_)?5wcXB-GHav4TMKDN(Ov$_cnOR> znvBUByGhmLGtlr}iMi>-`TPzFqn|>H^_p|vh<>O!JEbTT&7YhhZT?j}Th4c9C09rb zUZg^#TLJuZk|sx+Zc(p?9JkA|1&*n^lvlmYg99o;%=Fm?OkwFhU?qDo`Q&H3zb1wD znH7<1b%J!wBS*$W?I)ON8pG&>Fx>C71U6OgX0qD@n9ZukK~iuJDyK){8wpcwdljolkofx>1n=Dyo_=F`h~@KyRvhfb%G!E@@M-{*n-nUwQK zyJ6FoZXzFB&)fO85R_vT!0s0z&lFwBoa$$M(Tr&rut^P#CQ8G8(JEjo6lmGSy*S#z zLo$lI%;h~;7ny_mzNOJc8a|MCL;!9LE`qI62u9knaBJi)*Ae6joFN#f5j@wGt0@n&HXALipa|K5SI?AswFIu$A-o(9L7$ zG9I6onfSf@#<67U{8T|y`rJsS2R%U3_)Db9bpm58q{_Swiy<#|>ELn{LesEdvL(O* z{7zYtD?5Lb>#R)SJ@)OP(SIhh5i7>9v%eM-qRIIoZ(V}TDRI0tT}rgEWV^NOT#BAP zdDy!|h21&nCi`k?KKngjBYP-s8g?a3XKt$KF-tse(S4KkP-Dgt=H&O&Q2g8u9;w8@ zeTg_G>!S@L5zXm&rUqc{Tp?!FF@U_9?==<9<6M*-43#(2$0rG(;M*N+>g;q(YP;Qh3~NC!wS=Qqs_%T^h6$ z@i~8aJ-#{fT_^F03V`|?6jQpLj9(fad#bPXLpsqWpqB-Q%9f4?ur{8Svyx`7Rwzv3Xb z=WPmerV^K~LtI!aOfNeLAr4cRq}&lWw>t?e$1Z{~_Y>&ku4vlxLzt<3QUxj+$PbP^ z&ig#W1`F&bW1h%Xa^!;)?Km?Qu8e;V8y7xs#IiI+u>_y(P+)qUlL-s zr-?!RkOqUr_n`2p0=jRW&xEf%#QAZ}@%6GK{OvxSsh9L+J{~!Ss+UgS!644x^~3{c z$1A?pw9{z7^<{@%ZpRK;V(Io$lt~W%0R84&+>HrwBN38^Y*exJE zd(Kd$oNQ`*V~C{Q{KGSSo=;`wSNvBG#)-q9FRiwlY%IK3Y>nSF#{cRPsm8|DYUDuz2r56Rl{ z09apa!cTn>P2}Ak)$C9DN>zG3@^yS?(jAQp@UX86=g-K;>)?hj*KqvrwpB1?eKeKY z&-6+C4({u~R?8@cTJA|sa1aj~aO`US>E4nf0$k2RBuI*50b z4jvja9h%c8W4!ltHYfZv^5@(|{|p;8mvO~SAD@Gy`B`ur+`;P_lgwN?e*mP9tKh@{ zL&id=jk#=@zRt2_?8jC_(k8V#4yFXaMS&T>@w@0 z_}A$qe!fLWp+N&Fn)8&*2vxzz+5nQg^Z;&l`2+GXCmA)lFvjxpD)7>nfzu-uuw~>O zZPnBP{^3@_Pq4%3Gh^uU!v|0|(Uz^`BYUxWF})(3XQoy z{_G-q4#=`DhU?fxrw_8w!DGENoG_tZorx=vW%li<;t#BpN0pnN)XOf38b4bB&z*Ha zN%c4k7zV%}fyG!X$z>MrZUTPnaUvM>jtbqH#Hfn9LA_-bik{-WsdnGtMs5_GQ_jSQ z%UN6w`CKwG?1=Y9)Ui55nU&UvMOrokR_?@qzke z_<>z<3GJ7;LKMm)Vc=vFn7=WDNBfk)D(D)|AVnHhCP!i#PZ)RSNBs9bWaQ+E>|bnW zJ)Au2l*G&lb>BZd7JWGD-~Cm?JsGeZDZmNU0_-2_li2Mc1fruAaQ}=B^GtavYYi^2J!wB@ccY@PUrxBi?ohJD+Qg1ZXw z?5G;Mad9Oq3bJCd>#JcTa}pkT&&?@ir^uZVd*H47LSBuDq?6@-(wUq`slRz4KKhtX z&zf$5qeI6*bflYnx%+~jbMq8At|v|{6-z09#$tBMy?&AucZA3)j%97!(phzmFVU}b znGOhK!m6{ez$+UeA%7El^t|*mLcC;t(Nz0 z;0L)kuaBmuO(HI`O_<_m!VbCDvk%Mj+3J^5(Mu?ZdvikI&A@xIh-!h44ud~G&!(y| z$^6h&6m4f{v7c_9g0uDe!9HgjT+s1>&5`>+^tCR1Zl#S9F4pAGsT}I^=O|7MI1g8I zmNKgri(~aL4~ruU`DY)ck_S_?(BnLxwyfI#aw>1=eDc();nF(b#oFSIz9T3lH%M!$ zzw(q_N_kDweTd_}yClHxDWp}tC+F`sgF@Y2-k7c_R`Da1oW@21;%%F0P-YxXpY)W@ zA_D)t5A&?84rSbPu(tI)+1(dsST}NH^~~ncf8U3!ee2n|sYWdMy9ez~ZUxbS?M&Y8 z3fOA%x@z)U5k_8Ln|U|F>1kiaqbtX_w&+oXnr|9lzfuRjSsj9zof6Eh{$#TF+!Q?V z(UzXjUPgoJ5-`rz8BD!R$k|V6(3P-*=Khgn3$>NW4xjC?er+{r+>%O&f>X_h&4Ore zsz|S|tg6>8^eyc(&*ef8f9qx^z=MFPQRi{nP}W zd&Xh7*?pS-upk3YEhvT`ZmPg&7SOcf@i5bUl(6~_cy|ZF@p6SM8zP;{W-NWmKCD~I zCRIm*(?L^a>v=CIG%}$5)_T~e>kGU82tnSnOq9?s!U?fjIOoX&QdFMK^BfI<`AIh* zOVge1=Vf6^tT&^#Cx>j~7?>NFe)6bXmoZbC#~4=!(HfB*==!XZ-X~o95Hi7%O#V&h z?OBeOOR~}9oEP8mTpsZcoCx8|Hj%ZBIy9?O7A17;aA&m=U2hnOk2Ypw_)JxPgZV^$ zs-Z6~?v%#D6?PE1<~;Q_Hp20L-0+6QadNfqJ-q5Er)HO`VeWD+Q^(MiR7Un$O}gw% zi}o+Y06!kus05J0XX^je1ApU`XvWgs+9!W?Zo9Wp-4?3%Y}dGd`$_XiePU{zNR88< z)4m&viHBqg++KQx?m4s@hd12dd1Q7%$5?H~{hK_Ksg#Y;k}~x9s~(WQ#xS|M>Wq`> zENp)ti}R~Y$cTIts&c;b?*URIUWsFnR1uU^FQ!YTghRhp9UNU|iSt%BWBnad8nRpo zq*fD1=goq8)n+Vzwva|_&%%Un#boN9@6elY4&pmi;XrKy@40yvKf9ufq%FNm*1XVW z+btciyW*_n*4Q56anG2&|9&wmt}H?|zAC`1p0kkQmPF($qhXufA%1hJAI!gU3g=}X zVJCPotl;N!sP-@qFJ0S2D;g&;Mr*Et@H!`05Yd8X`7DxDXSQr;1{=LRm3Uov0=`$% z(MMB`byY5bJ0*(D6BBhVYxXA&kJE$28!N$u^Jyq{5QaUog|WLVg)K|G*!bO3FrcD= zq`Gmu-ph@ccrl9>NrqGVQ;p>0w`kCKFq65u`xgm1V!&SMTaE#r%cw(v8$<~XVWgKH z9(s4#>e1xu{Fm{nFnBf&WJ9z_Q+E?ab9=(*1zRc4E*r#dg#ewkmOfcA7rx%9fq5p` z!23N7bT&ni?MJSY!@m#G*{5y}uWkDY7%y&ITFI7vyPY&;DqBg+@lF zVM)CUqqOA+l~doC-nsEIa-JY?T(=H`69?07(s^51Jtxx#y;hC1KYRH zr++paBP~Hoz}x2}b9Q0Acdz4#sO;qraJrPfTYGTY;3nEL zECJ4aJ}}|d2Rxwe#kyLJXHUkaB2v4om^kHzMVj(B!iDt)0i#1jvkgfdrV;}y@#R=G~azlq2^=p#Xy^2lzqC5-=U%v|Y09jfH% zw0+(rz*h{utl_wP2cpOpaapo@>Na9^O#yx8O<)e(<~$B|fsodDiOh4YApyrY6U`58 zuoteN`$s<0DHlHQX~4Dr`i++1?{^1B?X4Am_l^W``>xa0jwO?3{5y|)Q#(iulT)dh zp&lNMyNvoz`_NhLCf_Ww27GlTn3M8OFhk-?&2w%xo15Z9R!p*jk2Xd`@pS=g*el3v zJEhAQ>KG&M%UARW?4eHEy>V@;AUxUK0b1M7fI>zAE)u6?(}Ry||wp@70DEtc=)Ox465VYd4x4+l=i`cCs>02%9@j6^^eihMfA9 zu;r#M22PGc$y{%E{Bsf0TX+;4)5ow~yHnV?hmF}=PY%;dGP&?BMVpyb8^_r0>;r*w z`hdsXv8h=FPiu0uRW_YjcIYRhK6#Bz&!yOw@RKmKSA)EW&&O5X3vq8r0bO}2gu15N z(9FYWFg3RyY{HiCmK_&l7rhljuZf#`${`ar)tCn6>^An5HSgE|rh`%!#SIGX>Z9-^%jo zK)*D6n6s9bTbIu>HVPufNe<9!YX;uWmT}n}J@idWBYpZ}IVs9uN&8e2X5H6up!2t# z2nia~VCgM2p?hojDk4o}&FjxRgEBQbcfAc{4SoEt9uguR-Pk$7&N}NxjH9!cDxnDOlDu3$H2HS@kruU=(8l7i1P<$kXvi zcMIYCCkHXL&5zZ~lEG!W-hgXN0I~kH5(+YV(V_S={Uy7LN?ql{A>knW=F-AC_}8*0 z{2kd%El=o!N_VKetHczF9c9{fsDg`VCT!$*Jx@-Ag3op?*Gn>tiQFc^K=xNm8TXNs zw>b0}}^wn$XXZN{4xJ!HbL1=F``0b?#L3<|TVvDSVeUedpcJCB7R z923HWy`?n&eL8<{t~`D+*o*?lg-Om>JD73P69gjv&?^;cIL5{fm1A~d3QrMz{>l=t zQv~D4@kHTS9Pf&AA91rtDZKX$aq=D7n~YMYXUr}TyeGK3txNq+gd?KpDd>e zPKCtQK8CQbG%+znh;d9>4yWJSf@f45+2(PM?BetVyaEEuj-_PdkssB&uWcg+AHI;| z9ZIk;PzH0JDZ?NAljP>`JWZM6>{C%izsG@;iU^F(U7S9*KagjICV*PhQ0N% z=8|m9bmKbV})C-XU51DyECJ|pTM>ii{Jz?ukoo<<eqF&mfkiasmUfvGXVOx))#S|BaX82BxNdHVuEdWx&n z&xqqF-^g)w8w}V%?K^lXvYQ{(vxI4iypJxW**M#K7;C4=vRih$vrXAX?5iu5sIX!( z`sW_Qq2>y_IM<8$<)X!IUAP6WbV7}4?nAQGpq4y!_(gIWlSyAeApPKWf^K^-mfawn z19s90yzq{TMBw=^epXLEk)6{EZ;nr7ti`>UTYhVptT^s0@@N+oa z-h-w)j^oyDZ8}p}8dh)F345KdaZHL6pcx8u=jbac8F}5RqCuQpwmJ&8Naqk66OKQd zHwj4H2+^*}A^nG+kj#_WL{>YHuX)yz{)*aLbyacRr9}wg1Ipjg? z6Cx`9ml)@WgH|zvhq?R?-N&5f^5;?N_NYpKJeh+6ke5_$TR+=kU=uIW%3r79S)hqTfUnI=}B4^v#~d ztA=Y5-VQN_lcm;HG zxx_7??;r)g531r7j$I-k?1+l|NQ|Z#{9ME7B&b*pteU&HtlUpz=g|UcYbDI?2WR%8 zge5y8UzxR2K8+qSUrA)(5jgt!C}>+qv)=sztiY;q?58Lf_Q|JZ?87KSwmGJP^CeW! z#MQ5e{Pj4nkZyvzxfa+rUk&3!lc}G-1ns$!N46H0K=GRI5Wn^uxON{S7i^`-$ly|t zGn)zPn--8fAwnJw9wYNDw!$()0VZan8gnM$4rnKH84!n`P{o5RKXjQLTuUB{IX#B> zUZ;Rwin>j1<|KjMqO(wc&=4v*&(eGa28&+$Vv1HKv|6pg4VyONsz3q0WPTDjoqh~Y zV#;B~`!w>tR}+V1)+5iB!+l+dW`^!xgzl~s@W~y7L*i4Jm)j;W0-9B@NdF#ns(OO$ zQ@Q?DD*nIsVabo=$o_K9e|q%7J0V-+x=HrA{ZHQi+dr)HpUF&fkjH?98f4l`Q&zYm zkY)C~!S@`$ZrSW!DALho#@{w%Zc1fCsLK|J%I*Wkcm&>!q{7XUgqbxxk$HZ?m?=5< zx28O(73CL8vWJr7aN$;Nm#KTwN~~RwJr=WFgrs7jgA$*TQL%05kTaf%%CG@YlW_c>{acN1w;A{!yEF`t4azb3_5Q`E0YA;lCaC zNqW#gvI8}4_hM!B81}|pA@=tDVVeGu}E`7*0$TwzA*s56|w&g5z;r`hu#EEkAe=q}fc| zO(k)I&K=tFdka+E>!Pb{O;NlBFm;_ATIA}XL{ST!<84f1XRf8DR(1U0SMp%AQkU+1 zmke*XthSmtkI2&3g+!>ojEwQ?CROXD$Ut}wEo|*1e?qpyP0tLhI5d%Yu{#*NSxb1H zGDg!w)x#K}*^gy31guT8JMw~DM69ijugJJ7cKsiH#gvq3tfc-# zHd?`mZOog(F5dnSOZ4q&ye+4VskjZQJH?qME@VbLCy6%RjL_3 zpU&rYSZ7<-L)5Nem};8@(erMDpW997(NBk$XYDvYeh_5tD9Sv7`%Tc&D}AX#Pt0nqt#=;Z)*k_IQx`JrRU+DhHiW-*pG)c znbWKl(HJMc7!L~_rVpbfh=iar(b)f#-t9Vz_U8rIS_LImT51X_&&+{EruXUXfHJ!7 zS|CqHH=S5*F1Ip%Wske;zvHx5Gg*=8-fUoaJo`*4-zE0-1Z!san4j57CF{WfSGOTi z5$g!!a~Jc=|8M`P*suGxo7?TIXI7jWUUGeM-P**ibzZOj^$Xk(Zbr@eJUl+*9jaJZ zvSPBL?6ai{Nz>~rxTVtqJ5&3~G$l8bROW%!s2aFiCBd~#x=eC*1d}4pV+3dFGc~as zhpUC-+wTSP$YvYfUZq5C+B`y?yEpLAwG8@7FdCje=%sBjHf;JTH}=97Rrcd+JACgP zi-GdzfX_2#&qT)22sRkY!xq!ZkohTPvfWyycW0(o& zBfQ+mKXyS2Y(`=rEkO?w1LpG8{wksKr6@G0E5SYCXHh7*o%Z-F0?A{C!R_v52xzwD zbZ&|CPp>k5+vkE+=H~b|_%+?o_l!$UGJwDC6CmgPHRAWaootNpBi>08@HMI)K1^zd z9ZFo@)wZwTEAk$6#W>Gkgd3=ga2Ztb*)aCzMY3{7FUE|UiQl&S;L>+G=&E~!w)w{p z=%^+0T$T}$xk3<>|CTt^NdNbq99A{eIdj$4dV$ZfCz0Wk>N-YS8_e-v-o^U`fy{1J zpvJ}028Sf?p#G0GT3FCYD+GU0--cKs{tYQ?D| ze-Y>GV5eM~!oK||%lzb&H`UpV{4Wv7c>gMo^;D9?V`_8Yyt@FNJSNX7Ua?_~UTd*! zyN;50Q!am8bpUR7Dl)ROCNpM!OPJ!_lFW&t-)X{+LcHu4hAY}H;IRKKY%fz{c%RmQ zt;RJ{KYbcGE+B)CKe%yvP*?n$EKSC}c>}9=j$z(&S!pffrZF+;3($IQJ0@M8%sLvV zvbQ5Ppi@sZf1$@Sn!Riv?K`%H9EouUwWD2-akY(>4wTU0)w1Z69)yoZt!e%8nXol4 z2qp}*k(`M@rFPt_{uPh~!7syM>YM50Sx*E1L`gU8SpSM%nbtz&lMxv|V=BfQ zYvHUQPgqnZ#&LgS7@N<^Oy@<;b7rXnR>xCd_3YhHdc_&K6z$;D=5$)qTh23jnF6{G ziix;B;nxNgTcwV_Mz&j|^0gv0@mO0S)%es%Jv;6Gs|UwlcKiN3ooh`EC2EEgwCYYS z(R^NUSLL7n)8@bc92nt~>jEEmgb9F~ccNkcd_H;iQwBa6_`}tvjqtp*w&qg326SFB zWWNrMVJCC{Pd9%>@Z%ewV!(Jg*7D#@+*kFP@5*0BpUzc9zrpL^q^ZiDmy~6dcWJR& zpLpy#<6fK_wuQVAFhYKXJp22MKZ_R@vyCeSINkmzXoM_b<|n%|&LO@GIeeI5gLW~? zKaXM5&P&0~cTCn)|UE&jXnHMmX+nu()_w~3cyzWTb$YGH zESciPxbBOE6Ej+2yg~+gt{K7$E(Yu*vyW&yTciyD)jv%Yj z0^V6EH13cLPFXt-XWdssc_&L+d*YzgtWs4_uzf^Kt_|{c7%n7leT&Ic*(8t=mWQF$ z$`~IzN{z;z;QbUzA)WixVT#atV(|G0O`U8>>m+jNsZI6pMZE;_J!7GKa|x_$v4(Qp zV)EEZ4}8vX+SHH}HG`L*TUBrx(f+QJuxR5+IBwI#-=I3cPdgeww7-hO-K2T&_QiA% z`mF^{S(|9chUK`yL9Iqu?*{$8@B-K8$I*SKElEyEFyFoPEA5)rPxtGm@Q03!`L7;K z)=euIDm1gU@cubrnty+7+0B=dlP|sgr{7Rs)<#XVZqiSye$ngZzVzF=&s14y07sp~ zSkpC*SiDP#*J!z#riB^6xL%H7wEC)*M-}J2-?S3$MCe1szy-S8>^Y5JVG5JR*#T}9 z#cz}A=ozK$MB)zjJCwGO2dZk&In@&m>D(n>M0j+O@F1^vt$hvay%GnUKJsD??x)ch z0s%j+a@;(QHP`x>M)6bd_Jsjl%xNqRH07djE+Z!b?dUSOV_;jP2~K5S=>6US zPE)y(-7^%yO4aGGAu?Y0_EtKrKQ{(sj*Gx&Jqkiyd!SKtJl5K&u;GDD?E6M_w)l@f z&h3cc6-cS^jOGvFg4!;yd_moT0Mr5 zsd8shuLd%+-_B%`W~ae#cU4RcwF9e5nIv330h4r%U z*&-U2A4i)@42iUtI_cAx&h4{!@F#-fM9%8Qj92IIx5XK>)+)fJO$Sj%AszSECZM0m zalCqU6%LKuq`%FY$bnUo?2S5t1f@SwLeu+q4yGc9V|po zp*#%Z?!7YGPN8mC3D)~PKo6T5JiqlEZs2l-a*Ps*m&(g(lWcBJI6Mbyx!q}5Ko-sw zu*K2D*HoxCklypD;N8>|g$aKg;N>0xII?F0e@V+Q{U)#gGj-|N{6LK7lD0n8QHt{IbS&=k>^wNkt_}kf^_Rv*y&#h*}0eC*P$jb zHE4x-Tf5+Rato|Eb`^3)kHaUA8^CY<0%`3(;C$B*c-$F)aoI&s%hlXe4^^h@J-3I8 z6J}mc`U8arm6*$UI!s`%1QTV^3odJKLqkslZ1z6^OA9%lQ>!d9{gwbT)?bVSU?cP_l~Z@$daWu?sY zKe8BV{se=kJi?SgN0c_?GAeS%vd=#6LHp%>JP(D}q;-)1W7RT?IcqqMIr&wMiA&IA z#yft7by_z-Z1Xipo+8LJYQ7EX>5@Hy?5$PStY(8H zEA(|eIQR(Qrg&8nC^HdiN*(xl;^uftuNAi|k7eI&oW#D^DaQ_L3}U_cc5?7g51gF# z0%XIBVE58A(7W6O4gHGHxSyqpB*fS04B0i)^p7{1DbfjKbf8z*~Ln63N2yv#D6Xan2)VC6SxqlJMet zQ;kpdOqynwNTd%}kfzyL;5MX3hBUSl7r8Xv;uk;Z0-Q^iO6HR$XK6B>0W!2@K3UXx zsYbRzidnzQo_P>BfqB!}0CO@Pl8PJecpI%=kcsF4D!KuXq?JJ`_G)91)@-tMSes!5 z%AqKD1t|~7vpmXt<{v(gL|6Q<=WB>bQ2`rWy#8y!fA2%c6O}I}BlE1Kb;D+@tu?M| zEnYSGqS3$eMf|G$5IHFhBecd~Q}HCs*gaakHaHFR<^RH?CJ)AWct2A!MUR<&U5wE= ztx277f8u7%dMr8@ixq=oP{4XA{l3;6!&|#Z|HpRnGF*}E{I#D>w@=4Q6Ls)rIOol? zjv@!;#n3zb(FUR1}lEt@|%*h+IHSn|i3-M8oBw|5jaPf&5^E}g%S+{8_b7;#XCL{G8Jyv@T z?nZ}@aY0+K-SH8}R{DVDx1(@JCJ+g?EZDw6jM+ZRg4uOpFBINN0--TMFwe)9%j#=E z)zPE4rPLSG51*vTZEMM@{8qA6ddt>SNrI4#DL2dXOurj~`=N&#uTYp|B zDl2D$Zow$2butGfEpMnkd|dijz3JytWM{w7S7huO#v}GmT95_=Rovdt-O$O|A$Brjj}B>^+XGqw?~mp zQ}AcE8D(LW$W!7b@|*_eNU^2N1a{={BUBxfPwuWT#mThRn)G6~9QlsC5XNHIHD|1ZQ+Te22I@kHE2VOWLNr z4BB>dfyu)``gg-AbWD_GYl78Tr^{FH-Q6Jid3cyI!Og^_y^}Xmt%(&=eZbCOBM3B< zk^pljIH2W`IitX@uk}e%&i> z3pe90Sv7Q)q=gm0yV1LtrFMX>4Lw6=dD?@U7N(DIgMl!Z{@EEfnG>|7Rx~!s z8S@f0V;!8PPuCK>Z#V__9m}EC%Vp>kyQlx%%bc%187qo*)~zpBChR^py>3Tn=Jpw3 z|MGA)bBx;_r7DJ+<}im1_d!`vKHB?rpussnwb08nv@{yuZq6kM#@+C2wg|T$PDYQh zdf3||4Za*R@W&M!Fgo$yKy&Wysg%1~U z-mUvk+aJi7H_TzIrw75e=`YFS*M+bmY#ww>KS;AeIc`%z4p}*`1iJ57GXCyQp(Oht zUR7;@Zc=|OvP{H!-Aurtj!Y94UznICs{hw-bVE>98FC{@%e`+ zGHall9N4Nxu5?F|`B&tb1sf+a;~YMN+#g})qs3#8Iphz+MVy%+Q5m{zrQo9r!K6fc z>@!b=Szcd3ul^Zv9~nn4EiIvIk}uI3I~&Y%T7n~nzyGU;YZ2b-cAuMPJ^TID@jar)_aoAg@{?B~ce=H7s;_i~@ngn7ZbO!F7PvQMWPG@5=9rYvkfTrR-QXhDL2wNC`%@`E*s3m>Tvv(CfsqigPgaz1dEi#ne+>;^oel+ z`VP!vKh!Q}yG6}dpY9nf>m@?Y;1(=`f zHesN{WYnq8fsVW^kZ@axi}psbZzN`tl2~O;t`O2(#+$sFCLjsvE-E=6X7-Yn% zL8IUSyvZ^pYFg?1$)WP7pwWo2O4XPr-$dQHth&g)e6nwUI`B8{pi~OmZ27TAb)o7}8>GCAhShamu%gNkHreZe z(yXgwOmZfFQ?UYnphKAy)n}pDI$=8JrZ?P>Zi5v{PvH)E12XFZfK}WKACDh_9nZaB zaLr9p;3U8XjdO-oC4a4!<}QG&g=5kGM>@{CWsfq#tu>Lqxa`sEn`wCJ=l|;AaIa;_ z*KzZ#%l3#2<%%iQsSJqJiH9ouQxBikwt(U3e)2RW3+G+9g=@VJ;*xKihi---4euVI zf(CM|(!87ac&jHQzyFRWT1s)#=q1>DR)*Ph=_{RZdj>lg+Kg@`3^;6i4>{#IQ0OGe zl4(Dv{Mb&i3U+`}%5#|FwUb%C^DN^tn#wH6v1TUee}I>KA*Rttow@l;kMX!H2tBGo zY{;6mtoMWk>@VZ->~9k*HtpFCR?aenEp0Vor|wb4M2>4d_rXORJ-P@m0JmUeA%BrCIBVqQhqJ zUl&a+YJ?!FCK4uUJtvRM4_OU2S5o7<<8b!As+!8%^6+a!h`bP12gBt#yqW=XV%QKv zs!9dHq$HBhU*ASoi|U}*w_DU^Oc^PtyG?4!r9eu~i&hDC@pk>HrfCYQQ1nIzl41tP zq}(*p{!oF0Z)zqxJX(p`h4~y8_6N=Vdax!ixs0yfq)cl~Ecp-&<=F>)-rF2y{pYA@Bj%PXV z>2&d6TxPTZPkRcYg^DE})XAgL^*8C0gf~`Bq45~#k%dbPA7EgMk5}7-*d&dz*v+K=W27BAUpZ=7&dEtb4zCD3M(rGmh0$F0u;Dk3>30hUmkiU7_grvb z+itYpxexuD!%)~E5;uJ1a;^64MAMJ)IAzjIoDsK+>W&i!%Z6T(w&W@AQG8;J->(h0 z-!d5eRDw`edjTF=_JYgl9XeNMdOqJ+@mH2SZol&iU$= zUv!d)*YFNl;r5c#42Z(uvPeki&VhGFgF&|080PmLBQwV=CE^9^;A2x9$f)0fbt=kC zU-o!=v*;az*T{Uz~1yK4I9fZl0!^b9>Og_tWi7 zXXuCS7F;yHik_R52;~YXsPRmc{j<~+&x`ya%Ws%7-ZOm|gB2|h%&`NKv?pPe<_mhG zwFI;e$S{Sag@8W=m~VkCaDA=<>?ASta+d?HD05=I#~eq9a%HLR9`?|ce){P6bAIRC zN3=cXB+dx#!L6C6u)#`{?W{0jR^=^cZ*#tm*{>=7IAy@yE*r6UQWaLTC6P!43-X#{ zxLyxdVrTt|=MO%xU?Fn=5C4qe*BEwk?@Tb~`OF}8Zi{H&?;&#qwbT=H@dT!Ed zMI+REc`1rFbs!F%#;(dvs?yg?l`ZPQ=dd|1t79C|+EfJ-P2Lh|6v4zbOVKgvZm?EQ9%^<) zLVQsk3RWFO4VT}%t4CkK=1wKXEV&ha3=e`zuNFhEsWGcoy@jsHC9ru|f)#EpMS-T@ zXtvxNFD=%E@TVL2FSh)qi&vhca^iY$zBGZvRV5zZ4+v@;i)PDa>w<&Sux&*~+Sk{lWZs zL1@YSuRSh&A2Pq_@Zldcn4?~zed(deOdtsao1*Z{6?Sum76 z1#PT3H15o#_im=3erF5nxh7zgM=Xk5wxLtU>B9T|BzSW>3T%$802MhEsI~RrKe!-{ z(lN*AO@;Y*CO-zpsh06uQ$LZloUgBG9FHb`jiM5V-FXqnX|Gvj7(7u8uDPmcad(#fbh8oU+M|vuS1l)Z^v^?pxFl2HX2`_1e}T*)JNT-nLk`?YB0V3klgDN{#KlC6ENL`> zZ&SNqwuk}aTQ--;F6A*T9H;8Aa{{-QY9;RyO3A&s!tl_+8t%tuK-}Z^Fn*&hv+BV# zCgHU_6Q?(c`Bst!sFOvtCM?08d(*J%x)R-M)Jswm7lFf?J@CqN28gQexY6o7(fXah zrq5Mf%GU3Hl}sp`C~E!M>SC3}vyT6BK0O||s5OndpT4($scw`ptuFFcd~ZeGzy1-` zb=h1VmmWl{U(aZdDPacWZI}y<$BE&N8Z_%K!ZaHRbTprXR{VGxPJ{l?~dYRpv2Cfe}c7}HAA@oVlVwh6`HsyCZaZuwn&^zbx} z^j@KvdiLxbuQF)h*lq!`t*Fk;jRDr5=-v5(?zDuxK1{E1j87vo@V||0_Wvd$?^1M>&3^3QT9?;!};azch5$3 zmG|VyX38_j$b_eBi{Xj?3*O_a@9628BUZ-}o>BH&$baw2OTU^uD=Ow$m;9b+HIkrT z=aF;1c8blv^N8#BgT(u-6->(&r0s(g*SyU^vCIiDC2Jo(cKeGP;}pntkuoqkk_l_a z@5XUu{WL@NJkPzhov6K^fG)NNVCT0nOu&yW@U~6@<)m9+x;70KuW2Xa*8GG+DT|pU zkIZ4lq)680XA%qR=Ag>LbfS5{8)u)+!;~Ek?2qCr;IB3rmd`4uXQ!L8<$`}uj^9Z$ zc+>HWkq(>GHlA&}WQ5g^tXKj4w`AnW4Z6^C0X~h6!y$B3q_&w{cmEMdWwuw z-a>M`Gf5z~chy-J2@PvjV(hDQd@7cPcOQpUudX`>=_)tCrl=I;Zuf$!v^;Zl%qSFx zi8J0ujL~AxPkg!bIT~+Vh%FlNv|7r{D(Y5zRlJfc|I8i}o@ee8D^=lh@V|cJw#cvV zZwu#I7X`{5`}B57-L(<@xkmP?|I8yY^3l+m`33rlbm7&iv21uxHEoT)4I5L=^2gtm>~DpbzD5{hYl!@g$JGY0szhed zbP^XYgS2ijsDCYh%2itIL7AOwp5k82cSq=aw2pQUu7D@sjzNXPWh_$}57G@O;I~{4 zz+)S`lfQ?xFS~=H-~v~^-r^4>UL$v!JD|II6hjkMgH4na&3f3%liMr69<35*m7=xq zK$sTk^NGW;%KJKa6B5KZHsV`57x z{`q#B<00q4CifT;a4?Tpxy^#ij<00NnP>3K$db#)T7?$kzBu!w8Qxf{0`5M_OjUsx z^I`ETSo&%ZDxQlm9lPf;kM_-Ar*1J~wfa9|wNC<$G&bTEwKr@cExz>lM>sY;)LX^Hruwm3E!%lLgRxejJJyu^C_NVQU_dz zMI9Zm-J8dl^=2^wceld%{8v`0DjPw>;WZWZk!QC{im+Rl9Qa!>o*5mzNPZs@#vb7; zDz`_G8Bqv_`tH zgaW6FuwYLEtd}W+8^3~}C*v1y4Ci?h?RFtYPh^mT(~m;N>IyiU1PO^&$AgUh(OU59fxPvI7RIuyr{*uz=^wK&B(&c83@e|JBww|Y0WOEs_8XgbS%z7W?!&u$|mY=gETJdGR}(IgOWMRd0KYU zpzgI2Tx_W(QTbQM{g(Bl49cyxcEr=H)+<=AI-5<C51K99KAMa9WoKpk1 zkAD_V6gQ%1g&1pN`4&y3H?g6&f?1hd3wF9!6Fz%wN`Htdf%=(3;w70wMMm|}NBSow z3UlAuG)s2n98*>vpWze1Dyo-r5MmX+fZL?UP%Kgl`Qu99lCcPviF<~6mMO5QQXGq4 z)D_1KR*_F{^`XkAg=`Qt;_0W>@&vy%5x)v)@Osw5!`*`@sv^QpUTuL%<9`sDGnYvA zW;y)IKaLw`rl9Um5G?sbkp3 zF5>B~!%Qjf1i4Skz`oj<7G7L|1ztbssew*%Q_C6h9F$?h5hZxF?F!`l^kFsyYclV2 z$1w>H+Th61tHiK7hn6oN%j;jvu~r;5z_R6;P~OAoVQ#ErjNDZjW~VVT$#M*%oxC6N z_|iB-Fc%lcCgQzs$|w}+$J->a4!&i|{WqV+jhBy{^TyVCZ=QqSgtqZ@e?3)Rd42d- ze--z}k^C5#4q3zo_C3mhtux+|C1RCSvR;i}@l67uj@xZ3P*Qv~3}O;P$c?u)Fqt<6 zBCVysZsJ#*Y2wS)PfsD?)>D~p`5ol`iENyAM;Z@&`weP!x4?b*e%!$3VDp|)^lh_X zXQYI&a{LwSxde4KZ4VL3e0TZvCOe~5=8l%D4Xd6ETcD$-M61({I4y-FJs)fyt6e{E8aTPoOta= zI-65rrA@o#V~tN_my;;DXnYhernR7n;yCQKs)mb>x2kRT-l0-b+woCh7m0XP3HBz> zNkoVaIjPxCC&sPE3DXv$lj&^|>R3XOx|A@VcZ&1&i1M~PYJ`K6w16LB#hci{`F!*( z;hRA|@zs;$w9~T0xi|~A{Xe?iG@9%03;S0xm1M|N6cLq~6h3Fa%|nusq7>1jNok%` zNTwu|F&d?ejmFQ}heniyR8*$sG>Qfd{NMkz?)!VM9{e77_+c%Mz0cYEx?Wd?4X*M5 zBC{_TZdgfjp9&9w-_z;vwY7;X`=t%BH@e_*!YH1pR6xZqc2XbPI8;$pLW$cwq&=vG zF3~W>cI|j!`r#{y30wkH`4%~Rv736_(WLRY86YzHFFA2^0Ztw|o_&uH zXG0$rpiB|ANcZKwfnyc$(8$}tg3J}ySs2D`#iXS^=rAYU9Nh}doRzC%~J=>L#wbp zY9;3EnTwO&n(<7sKF~3c;3~TlU`(?E>?vFczbDlTH9J#?i&HSRR!_mjrJ;}%w-okj zJQQx68%G^^zJBG*t28HYpGE(@E)r2qh)jwq-WdOmYV(Z576x3Y9Vt|APc@a!O3^Fpz2g46jkb?o>dWa(X@#~z~zCl z**T$%xFy*Ts6*lkUsYt;A@N*d0pAvEC$qdX=*Y+XepacIJ_k!)KlIlsrD_~%jxMDO zHU`o!I@UC5U>tebE)8;V!$J5!7Q#QB5(G?d7N#~lA3ySkmQDEP%V~YyiZ;Oyy&t72 z4zu~8Z*B3+<$u3VXBAWpon2{fdy>;>pd&BC*Gf3ROvv!BY!HEb(zs!(-LWL`6O1EF%52H4(I-u zU$5{ezJh8GM3~wb2iDUznT=WJi_iWh;&QVixI(DMHt(PDH=*A|H8CV2jW9Pt$1^uM(P`hB?1$X+W;{duA&&2dc!%@CL3o2ZU zp>pjASUty<1}N!*$=rod^IbwXSucj(n|%}?Z&k)+7iE~#T%N@+T|ww}<{b&#vKH1} z>I2ai3fzVxYr)3E5V~L%NPEWqci(7q?JSw!U~jYZcleL3G1^r<7434)N&o6GzSeyg z9Qon{PFkwq+Vlb5_KR`1XI+Nb7V*N71Ll}-D1!&mG-&$X$=H8V3Ae{Q6Wsr;fk&_J z#)${dQNtOD&@nv==E<7ld46}Sb~=Hs?Cm5gSEiG>7?iW_D-jq~iOE%`oF1tLa<34C;ZQlr`k zG>dpndOp_D4{_@BzG6C!D!V{El&3@8nOwNiJ|3P0y(UEyTF6peV@w+-27$kh&sY=|5SxTJx%P3HIq6@W;Okr8{*#GVu9miCz^(=9;S!}A)Y;#nt zN^@K3#uM%T)(4qtHQ~lN+Th$V6{258(HTB5G_EF;#_Z=A2d8?7j6yzLm>nyqTvr8+ zZy4=0`c9p~=c7HBj16rrP|oDJQ-#S;G-)+?cx)`JsoM&rFL_Od^BdvKode|8On(^m z?HOEKQwn#vXtZ#1V7K>;XCBt3ICS}W0*`IkBzHyVSa%j~cvgdBus&Tpo?}MR3s}|W zQ51}FXy8sQ<|Z&%*T8HVa>&B!es0ZqT#&T1fyGiG${PQ2wbe14Y%LY2EDe{?Uz)m6eD|4XFP`3y<; zD#gjo;PU}=7O|+>NCrNmS(8(I@w{<5CuB=V`=u9zo_B#oBUAx2F7)gaE4tZ8{YfF=!!Mq^XCgZrbcA# z%Ht627z;bp#$&|?W5{&kb2c?5^7@i)9L6+QT%0ny)qhN=@oAQzX3|z-lh1!vH&eL8 zZ!axhEr4`4OQ<{bsO+`TOkAMTiytN>qm_R;SvlkaUAR>h4tyE{@3+g*T_%@=p2Mer z)s-X?JKC1|#T8R8*G*(D-la7;9D2U5#3QR*XMp`dda2 zbMyc0%WR@r*NygTupZeEdHCYs)5;d-Ep>mdi~aLH{ncj;=02xj_}>sv8Wji5yVpRX zZWVdB&{xp+c?9Y{<^3U&qImg_Bh{RJhp350z=t1!aHBv3*34K!v{zM8xdqlJSQmqr zHhbcP%foOh^`V-PiZCQ*24sH~KvvXy;mHx}&@$j1c4>`dGJ8fdy{t}LIIS5+tg6KM zGkI-h^J1``_JYsSnt_h<`%vC?1{=&<%3jM@vD?ln%u{Ow>!|pQo4jO5YL^o9Hg6NI@Qv9-D%j zR*go#ce=#?&{}XTybSM?-$K&Qb`V>20`6sQgIBM^AT==&WSp*HiS1s@+8~Qk`%e=0 zVdx&Dj)>lcgv?rAwQ$I<4>*@F02(USR4`(R zz{+2gySwuXWUPvX>IyX+@BM}jdB*$1b;o1tI%UZIJCu8Lj1QL!@WZz;->DI=%@wKl z#*II=kon`<;kEZ1$k}Bg>@LG!%zg7`<*9XvNU2L_lau|!ydWi@6 z3u`b@X88MB&JX{JyAGpSw5ToH-JAc5k^pTlz?f&2}lnL+(;6EI^qZ;91_yhvR6> zwcF&1L>m;1Q6+=ZPm_>Gt6@?5DDM5l8Qc<;LU=q)ozrsfpv#N-y>R0pJXzaAo6_~U zZOir$gYGIks1t{hqul6xZFw^DR|)7!6bb5X%2U0s6S2ek0G{b;05R`k7=PfFpl0!G z`eaNhelQ)uL`%GA;IByZO>#t^rQhjsy&)L4Xd#|c&x1KD6JhtHGAr-XIYI zw>3%gTO)*f$MER~UXKw9xKh#_Th_&4{o8Zsye|ts^tIxj6^-=om3CT}cpEDFXro=~_xg`mQA*v(E8+ z`^`|KK_P7Q7qEV%%&l{s%+0NH;g)Q7Co4F0s7RX%r>%aFdz06a+QG}@Xs0hEN}mCV zALVdodM#9|OyG(>%ms$yD?XX8`7)KrM@=ihRj&Q=bwM`a*@=w(N;9? z9$u|zqiBHQX+MYATyz`AR+RbQ`rZ@Mc8KUiINBJlkALtuM7Jv2T zw+)9i3NvZmw>NaJeF`K_7{+~TOD2U8YG|x7jW%wxKs~z;D5E?JADWj?>i`8}6zpu( zQau7nb+2Ya1liPctMuWeg!W!r3(gv$^^;2H8j@W5a(Z-1)pgExaUlO ze7$C>{bM6;(e@FZ@k@uFV~2rPV6Pw`{=J|^lEK(1DqND&a4xoY6eN9rkJDq*@ccwE z3|!KLPgl-_#G#)-$k)G?9(@>*B*x5kEMs+R=dh!zMl&(2!>hZZacKW?Hl%YC+<7>Z zO9%-93{qpZKNc~Ig<;Ik=?BkKQ-Sf3U7!=$0XyY1Xsg|3;k$q$nB{km9C3Pwesd`t zxV(xxZkhn}i3WZ>`jtpr7UP0vK87`+et174lDs@|5bm~Ak{V?tj+jm5SS`|fhVz*G zl^N_)uMD$T^MKz8-k~+F#x#B69%8C;1f=s%z?--ouqfms_3nB~HQY5Y!}2U{a`eWd z$VG`8>BGl_E5ZcI$I$4?SifmLF7_GGhX69^El%( zDqovJZ}iWE7`@Z5ySNFKolb&~E7Gu_)K}Q~?A3qw&j+0FkOt3VoalE;qN-S<>RzPI z^Rl3S-=|wI?sEnb8P>`~DKR?s?*$=Te-@@w1K zMajvK{OlvKA9EO{UwuI}zPquSTb|4i*U~u`Vj<+nXW`zf49||UVuwZ>lH_a&VZOK= zEenYwZ@*2)Z@%_Bk#v^r2w4+cc6j(*PIePX|Hw3$S{$ zmG*y;WwjFS?8_4|=JWOl4&gI6Y6hAG5f)Z-#gT*fRYM==vrC}*@(S;b_lMo5t!ba` zQS{%_iVKSaQFrGb!NTxFVR4@lhWxIl$M@f&4|#6fr_fla8sAH*)}Es`m+r>%-E#Qr zLK@D;`805_6!)ae$II^fu-xx4eY$2LxF@WI*_KK0cVQH48#?&kdFYt`Tyk6Ned}== z1NznbpH)74tF-CzQt^NK%ir!K2tC~cw?|2Hg1!={GM)vAS3Ah;z#Y{6krY0Cc!OT7 z`$_}6TZGfEj)5qrJW#rL1x9~Qg}tBSpw!d@j#)^9ZTSxJN~(kWu0Koel^8)>+y$Z& zy9;!V#zEX=cZfH01Sh+Rklv#T{cCQMEMHyHy10OZCMiL5buIDM*M?O_bAf!ZAiiOn z>GLL0lr~v_on>CgCV69CgcjcOji3jAe;{*|mcnr%C6a@)v0Wg;^b1{?g~S3@mkMo74I4D68wDQ4AQgCLRkTYk1NW- zLeB&WcxupqRJG7OD3v6;Er*5PS5ae#8ty$1Dzx9T1xkIIVXT-q7e4g{w2lsgA@df& zeDB5ZA+roZe5BZw;6kiVG3PV3c#euljA zYr*icI|w&^;)Grmw)*=a93HS!&|vQ=+ zLTbB{=g#(p5q~m~GvZ#syJ^eeQK~q+^jrgb+(&Z`{5{0;urx^a4&fa2YGALbGh8u$ zilsFpnAN>_{9HBxU9Lt_^S_61x#=&f&8_*cIA{sCa>W=}t)RxL4<@jRplfVG6wmpP zTZH#Zc^xb9VdqJfQ%Qmby%flr*$CBK6)AhJ zi_YTdwDpf0aA$@Qk)K%t$>(oC8#h7u$t0dvTSGrzlYx5sE0FVBm!?YX!B9OtR9|EZ z`_;;z#4!=VBzMz2ADeNXhYi|)Jc(;xEy3t?Avv+Rg1+rAzzM5D$hPIFkn8vi#16h7 zL5A&k)}|8eF5g1&XGwT>aTIneu)wQNc@C`l89b|#fo*sB`wpK0Tc5)7K2{{dmdmmb z)ztD|eGqOqK2Ar&$wrl}-&8V3t19wKNI>nEfBl9x6+0p1asnhwl>!xueZr8A>-6I6 zP)w{jfg)c*(VHrOo1QJ4SL*FCX|kZ&3vZrq#lE-^pyQd?h>57|vEl zc430>JdX2<#Oa?s8NCn;ZVTkNFVhBz`aCawS2}1cG@(|B@Xw&))xd( zJA9yF*eiIe)J{{ZwQybWT@Xlx;hUjl#L;86mGRI5T=eZR{i>V|XOHk%=ryaL^ZR5v z@@F*B@OlACyq8FAlp35JuPHQBNX8=R@38mYJ-DB|idM<)M_siLoRYRypuOS^HT5sT zTOX!@^TcOho2f-i*6kx+ymowB?ie=a{WHNx-8p2JwGD{69N_hnSxCIJKvsM&*EO#J zZY-L~Ob;ZpBQ86brJVx~kv0b}$6{FBSwpLzN8_`vV{wS2CFd}D7PIxb5PS| zT5;{H1eHmALH$F_u;k50d@`_)-E-{KNR{4U5_o}fu^?ZJH zya`@BXaY+7|7dt&9^6R23KP~ICF}ae{MRo+N@eOS!c1&tsMIL``2D!@jiF5Y&N-d` z+#f1u9D|F#H+c`6Ecf8%WG+9R|Jo_Z9Zfv|_r?AaLn06HuPVvMlmKczH-_X)Y9;yy z(jb1sAjsZR;qnH0AdJ`2Sh&eB- zu*E}^jhQ=*r6-xORj(DcjFQx64T2wb7vcM~*B> zb);Qd9NjFWLha30$$=^9U}>2_ybnsl(KtJ}c03WbylI5X7PYXEc%25M(@H%Y-`Gd>hrAZj5u00G1l}AA4_gq*~@{nZd?;_WNq~Vf(6FgM$1@jy7 z;OnLUA2Vh`s&qVjd)*4si})GW{GptEKJU34+YfszXK)6FANH>2Io`~&f9BS=iZ+JL z%0?3dhuOGaKDAbG_|gB=_Z9`d%zggW*(TuX6VCMbgsLu2^uD<3Uq0vfWBWm*(;LSu zmKg0P<>II#%_fUYhR*me(4iPb%1L0B}zexJw% zKGwq9TeqNMUnMMl^aJ7-Dw4~Mz4W1F5jaOa2GzzqqTCrkMKuN>^A6$8%S;2qnvFQ> zuN~WRX$D&x;>f1gYO;=XkMM9)CmL;5W{vYVvIo)f+?+e1SO}WT@VPlNY}yEC9xmrT zu8o5ChthH1+u}+-+)X(0p(Oihug>lnS7A-zCbjjMGdu*_O!VoVlkuR& zvt1vqj~1psmdAIeEm0?GEdKZ|PS<%m5EYS2F#Bo%XTH-KJKS_JqZ@F^a7Wyh6G`kc z%;>D$t102L-_*a45Cp6^04?#F+|VztaK^GOYF*n;QjZise}5({>TQFy{2Wh7;t&kp zlqQo#h=I%qF|N<;iZIQ`5MB+ff>nin!r~`#?DkS+R@m!YKqvRRUOP3LD87YsS&<4q9pB@tFm(dOzbKf{@XTq0*HfXp0IDD-=P(bnoLmd_-z z6?X*@1q4U&k8o5@m(%Oj;v`oKgm%P`*HINh#rmyqa+?l*mYa<^&or=G>Vhugayg<5UYAWFicd3_a&;(jP79DR{&Y}uD}|p$^Z2i{B$@~?$mSZw`Esf*>CNs zydu$XG4cJ-fBH+}eLll?crQHDdIlcRUF3Dⅅu`!r+fd*gWe5-no*6Cr&av8mWVw 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 Rv_iz%xq0GV{|%3={vUJ`HDdq( literal 0 HcmV?d00001 diff --git a/com.tencent.token/assets/model/patch_experts/ccnf_patches_0.35_general.txt b/com.tencent.token/assets/model/patch_experts/ccnf_patches_0.35_general.txt new file mode 100755 index 0000000000000000000000000000000000000000..48966eda986a9f4fe0cf05dcef0833cb9279d3a7 GIT binary patch literal 2429528 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 z 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%0D)DlMCXAi-0rg=XVmIJO(+|xYAo=O zM=^T#Ex{R`>nX^*CetSCGXYs1&?(2U7h6@(ql>~Phg>+=F--R+J;&y2ktkw2LL0s= zha;~;nUQ;0uzA=3x5#cs{-+?A65tM&cE_ok%vm&l9*>7N#N(_GUx=6{!K6k+^G>Ha zAm+B?NT>`huUJOs35>z{fi)N&^$M$#@1y*-1dz1*#%~Ks;OERNg^LS=;llQJP$N5! z>AJCi zQN)gmN6VFfmSy6M#vOM?D0mT5VS1Yp1746B`%$jc(i72fbCrAj&Z<@2L7>&o)iG^YRV(`C5n(Xu1gKoyh5v z%-Pq@t9Ua4rZKlxIf8Hd99AG|5`J6+oY(s&FZJzBNGyzp%Dy+eu3zI=fB1y^6VJe9 zi2<1R{uf4@i=uo*1`f*4z~B$g;CiM6=I(w2P7QN#$3ruAT;T`4i~Aiw(NOf4(FBdZ zdr)TOactlBqgFqG%i_t_WbWQ@h7u)Nw&QUXjyy()e!LH=FARXRA6HX~cw#>@3GH2a zYyW;~;j+j!Luy(!dbK^q2QQz}#oXK=Sy_--^_O5~`b_*?SBTP%LDZvtA#C@IAzu6S zv2KA94kSh6_rxN;w(=mT9&n-WA9wQYwa;RlL?{1M*A6fmS3vrfrO_6ZiB!5nir;v5 zIeeEu5*=SdRbOah@6L7{{TYw`oKDH`f*!7VJ|E92T*2z7o#+-U$Gk9phS@#GFv0yi zKd5#N`8hZqZpuW0)E!ag=R{YgJbDPOZpcL!E5-l%k*O&{(r$OHt(T2iJ*V`KPTkYI z4d+$+{?+5{d&#gq_F?49GhKRT%N&TaUIxctGIPuJ5%jhF;RUr=vPlQe zY<0T?64CPXRm~T0e%u3M%^BEzQGqR+Q;ox%Uh?nsa>{eh#ye&bY^mx4UZGe%2HOcU z{$wT77xI!fyJ9w*dw(uoqDfd7#o&*F%_tUs6fcV_W2%}SZgsg1i&X|-o$@Cbey+iO zIQo2-xP zMsgFzf9(Z07l%RG-e~uN&lBYQ;zc4NjH8=2W2^lEag{pzOwp2Gzhwp%&#_|m8!4f+ zz!$1{;p>%(?qopWXlM;P4Mhh^NqL+(-hD6;JzB)zx1j=4-s?fT4qBo8!a}qRmWMt1 z^MDmiq;o<}gcu+tV4!DEguod-L-cY-6 z=Ny_{VM~>N%wnFXWW!Z66B_1xosRn*i2jjESiUF|eFop4WQiHJcoyQ{Ra031JYm>4 zQix~PUdG<|Y*KUa7wk4QVAPq%uwv~=kX`7&tjiT;lpA$0Z<5P@^+VzdWrge=*4FIi z#-}?1jq0NNH-mrkzxywpyW_!lP8-UZy}}xL5R}{ zeo;aWCRm+D-|70SOIr(WQd$k&tuG+6_c-AP*%O;3USNHOEe$i@9&bV z(d1nG^jQgh=~*yt&DEfweUv_$7K7(EYNKIhJJHbTLQf@KRz$cQ^Uqq~mWr?Z3a^Xs z$X%4FbiGFNIHsxWo*En&%jNJsy-Bz7$Ffbu{nUL)KIz+;N42vgEXm`~AY`V)oQw&> zpsO)xrxSr|PbcH!i^s{04oOlf$K|8laL0QGl=0j70um(R!_*%64xu(bX*}m8?=^8F zdk=O&;_aXGp{+kIp*eVqdnZji=hF)wAAqfPV8W)XfaHJ#%e$^3%=ywJXy$q1vcFew z{G=X?&b`Pnl5}Xd$RSWTIG)j(e*r97s$h(qBy)Al5|Wy4jRlE&aMt5g^zgF7ODDB> zhs_mXQR^hQur`Qej!Q7R^~W;{4`-lZTOP(JgyZleE=R4Tfxer0!m`AxkAB-#g<_{p zQK{W2VC)1v6A}a9)piUjS#7_jLVpQNrI=EGUI3fvnoiEX)GMS zrALtSpWcx4?w>7h4bRdQxL`MHjdXz{I~$+;ul=b&uXB9LMLX+13zYK$wWimJ^$vKe zzWdkDKKsvB3>-COY@)U>zIPwNhJ%?HrrwOh++DrRN`f`rltr}#f09E=k*vLK3NGY7 zAU5gg;C(`j(9;v}bj~ln^rjC)>qjaL3>c*a7s5%)Eoq$pIh2N=GlZ;&fzXffu-E1_ zDM+R$lHy5Es&XEkh->ubeRHaoxgG~!X2H_or~J6vN9pl}aZvTPoZ~i@;;YgSY^~gn zMb{P*Hgz7c${LIBC4u=?Jq_0{$;9BiCBSSS$H-q%q=EPXTP>d8z0Yg0?8IfB!?Y|| z-ady3YdlAte7B-Yp(D@Q@*iH+v?3@SK0$W+hSRKw1laC76J+bPaMhMQ z*d>xg)751enPzFm|Jp7lFx!uTU8|V4-Sqja(0mj$I*NXMMKvg4kb}#s_VY{wkaN(@~?vu33G~%w_JnQZqfdfG% z)9QXjoFStz|K2BR=O`Ws&8PRaKkzl&R~U!^>Qy_Fn_U&d;Y z+*7y6#0?hsv^}4F!?)B46Ki+CJh5`Tw5FLZ zKffQG)Dd<(>LcV`26f!Mj?|`4Q;$VJfQF zEynGM8)1JFms8REhRl0j%`4{q_a2R1u&h5DF6tH0y6OH%116*7+N+$G*9O{SYj9E7 zEc*6)6f6`I5iLfKZD)8}56)(7m*%6hygAW1Jcr|M zjD^kLZ9uPjGtis{m|OjYRJ|XED-8VU6z6`bacmp*g{tGt{A4gKTm;RmD0%Z(p5(-s z1DCx(_PGvF-6=b9;)3H$%yuW{W}YVFTfK;RnlXbB*>Vjst^A?=OCCg5)ew6Ov#)3JqJf5M+FH9CY9OWFVWkx#n?9~NM?7#OTr1^YZrFzEh$vg*b; zxYOJP-encoaE@d0pI$}-J-!fkzi__i?@@A2vWo=CXye}^Wwg(C<=cJ!Msl3Kqn!Bw z-g!5ZhHVOmm3u#3sn9FnnH+JpY;-t9yj%K6&Iu!w?x-ivevRPEl6F)P(dGEvkz_-- zEI$2PPV7rwa`|S!T+CX_BsUt7#TPQ^`-Unq_FxK8&$ffNv(~{>pLbOMKqPrlGL6~X zp31E5Kf?%}N`$l9!|A)kVY2?S3j53;fDIjVVi&6!vco~w@p^wQxOlxLQN0>$>1RVW z(QnRw=i&9{von)7*;-pX>Y}aE)9d<*W_+IX_TTqn$Yuk(&b$M)Yy@%p$u3xV-IeL~ z6l2~fRB*b994vgL!2U=%$gaz6!srHFSouAiyeX2!?FO<~)GZ5lPKz?9+sDEau%cpT zzmSPnH{w9UMDV)5A9AJVVRrIWYz>dad56W&?-zI8m#8s+6l*6@JXtUf2h%T3+&f)fo)Z> zpto@bTzyvqe;zy`zYTYTXR`vkJER1Ir+AQSZAqYcW<4<7$6$AqF(|#1#B1t*^Z^t>5wxuRYhj%z3mFQ(zu#M3AYdhI{Ik&^T&> zPcBKp(yDK8T6Y{H9zCDwdnwBFUQM^$&uQAX|JuZw2n4ZdgvXvM6k%uVjKq%PgH->r zI-7Ien3eyMj@r#-|D6Zhk*^k^9e+nn)U%+EA zJ$PY_$K}o20grm zDJm>pElJ0Z`={cii!Y~?MRIo?%5wDeFmfv=x&^vY? zbh^BRht?^OJue(Cn1+K}-BgIkwxJKc%|$(0`KR|@P_{i);te`FRrqn zyrGjgB_1Yx4T8qXm_lS%=A3h!)22+O?n77FqCajL&saq-0F4b*x(NuL@ z(w2s66%L@>G!Jt5+9h}xCC%{CV7d~W|27YIKZ!Q5+H9ztgpIxpcEA0baB6CVGC zCxr@(-(Vf8R#f1Q8)9^N>luE{sTTMcZw$+CrsL;cMZ7=j7~buv;eNAcPQ@r-+GCDo z#EA3Pl$6u`Mvo!$q&oy}8$-`77DhKc#GD9W=xo(s6eKubPDma0PEsUyEc)q8lP6Fi zT+PoH*g`*xbWqz%*D(HcEze7Q80Mk?Q`m$DFQpKNweLx&dojA-InJJISj?tN2>v&(m~wvKXzR#)>z1qIL{hl^ zG;)T>@A~ zH=Ei-3!}`zhh*g#7w{Ud$#t` z1P&XWz)pE-6msDhF@u_PG)$RsYmFwk*$dEU?L(dXV_!j7e@k;ke z)VnB%m-7U>zV)zlLLoT!U4cCZWqA`+!f>Wg2@Yxp!^KCEtowCyF5_t{ynGr9VLQK) z$2uNd-S7t*Gr4+F;UvoKeuwG%lZci6QF^DI&-r*J*NWzQ!#ouYIMXkS8MSB0?A$)k z@zUYzcRfX|a34&4Uc!9asn1jj%wv9ic4Rh8(`F){al7^7oUd2v9o+Mu#CSc;g4*wC z7*$%x8?rmfE^YKr|pI^DW*E7>tN_^Fz`mbKF4 zzQxA3q*znWlW+?B{PR(2#nj7jWN@OS>Nb5x;NZ}Y!3@07u{B)>eeLmJ9-x* zLn7#qoD#Ds{4DT#ywKyb9_pRdBiYiCyo@?~IJAe$!1GhCRkiv;56~38)sQ^1W#%L% zvD^fGPPOAby|?tw`EUI0d3{9qLn6sDODFHwZX)&JV+{K=x(gTd2%*2z zVKDt^$Q&NK2Ub|jW-kbJW17!Fyj)-f$Jj~GdN~vGy8F;$a|_02r0^TXoq6AUJ1|T@ zl+8Up34fWi(|nE((qkA7!V>-5If+V?jv#)r!ra;i+3 z^7hNW`}D6fjZwU~2@mVWqf&z&5!f!otg4^NG?wOpe2Ewdy-h&Y^fR&Faf=_wF>wzZ z&Ox1zaoA9{0B62jMxQIxk*eaqe2;=8GOzM1$f`ENkP^3RQ7gu8zwEfV@)Q!yamU7( z8`9bDQ+c1{<=|-OTXJT>epqt839PtpJ`jFmv7R}uQ0gG+X%9&98#~grcNS>diZO1R zPXUW zH9$_=8ez_)GVEAdfXTN-anGxrM5bdFsEKGZqPsUR*W+90#VfJ+DI}bxtntBvqUtR7 zQDfZX<5+fg2rq5BgjeFbVEdsm@Ds|zWXGHI_M)@=&z#P~vvNNBDp{I+UwjG6xEWl_ zU=uox<1(mH#6Uhx3twqua+%-<0QjSpqX9N7^T3YP^}UF(qCIri?B&p%(*|nA1C-?5 z#Ep*&c(#?*@GN!&&Au+?_5+6OgmWrfZbdo$$1c z--DiO*X=x_aID+zU;l{VxpGi>s?BU$X~4Xiw-&}ra>*vy(bYFK}YY7QlVevugC9uP^B&a0t_U^yJh&?VX9W~0Kc88GkU4$#k@Mh={{ z$Hus?mexzY!#VRh5-+C4e%DxvHu>z8ovt@f`#N_9r-{PAt~L7OXa|HcVWW@7`kyMu|>sta)W(F@S(mSZvu`l0B~OrHOX z1H5~ct~8CyPx~YGgSb^T!M)NqAh~E3llNGXsqs-|+V9O`obFh`O#3K|xYCHfnI(9m z=O;bu_?14a_e7lwij1VL0u$2L2_2>CjK)YF1i3^~ai3(|zIrt}7;*W`D28oD-t2{Y z#Wb;qFpsho85g%Ox<{@8$Nc(1Ia42Pn~!wY&)?MiYbSUlsIym(M&ZwZW}2{j0k-8z zu&vs?bah1&Z<7Yn+QBcxY+5Pr+fXJIofyHc3C~4|PH~)*yco+l9(YZG7)~C`$71dc zwI4efi1{4AW5JB9*=d~K?1QThtiqF7`Z)gj2kK%mo~@Gpfi7ijq+22$3}m|hn_s2W z*M~c=wzYO;O-n)bYSLtgA0k9(tZ@Z16(ebUhY<8J?gi7FexZM2l`owA8ekk+T`t}LV@ zB0=DFekpC6af@zJ*PyaK$Kb=qA~@%j0VfO-$=JAWv@tgY_kP=f>-5UW=+_{SW^DOl zi~T{Q@isVOG%Qv=4}L|%5Y1(bsP7X-6`MnN|H^vsRgq>Me3b!PzZWn`obw{icmhu@ z9D$BQpWrh0xxE%hpvFG(xG4JrU$aG)G1j_F+*3xuUIX4!xkdOic!(NC2e4gAve?ixhI#+c7Iut1MuH1=;jKb>*1z2aM+JOHfk+0u z;kpI2Pw!$A_hewi-P*YJ7d2pUh>gpwN_N$}wXlwobyta5MmeDX)? zWUc`#_fMek)*3%~y~Dj?^6Vlx4Z3!N952>tJS^qL)H7uT8K+z$xEFRF>yv+C*vn~b zi!rb|_Tl87b}sDHQ>DXum5Gh7H*@EjKd*ki5o?yA&h`Y{rOjzxL~3mx?^T8*9Df>S zxo1`|Ze9Q4zxTptL^|e0hqblHWL?L|iAHtz7B8q=`~U4v6OFaery&pfoX^o%#Z9p7 z%UVW!Fr9f;WzCq~aHT}Y>>nc3**7L`U=c4 z&WFyv`pb{BQfNrhI3}{l5pPHiQNPq7o=R;vJzZABH@?0DM7}4a1Z;PK!zWB2;qh2Fv~mE(zcFT>+x%Z1l|IgWeV@N$I2gqiKH<+7 z*8z(=%i(M0VQ91WgAu<$xThM%thzOW2^4c6?U5byawL}#a9E8W(Q}1%_=%xoNg0XC zw1EA3Nl@WAkrDh{0@b-Yh)|^&*I&$sLCH_JPxcWqgE`oIvlQzcx8UI)<)r$IHGgQC zH~+-mNd8lYt5kT)IHaCS*c*z^vGwyH_2^GS)vPaE#^gM_DXPl(A~vJ@?0kOI@eky* z>qktT6VGmHS=Lz zGli3yAjubI4nN^B&Fde*O;t%Ys`VxQInzx2uV1A1rK<4x$9&$Xej_z>3B$+5I{0Iv z5S*wu15P8$F@O0EtS;XS9l9Q1$FGFa>k2r*)tr|zAdV#ocd6LV z;`rB73WRJPz-;}6uwTlHdA55K^H6Ubh|b>wr)K06xolfTX^7*B&kyDYU73vb+O;(K z^Le5^H;@@Ta-VmCnZ^Don+dHtkr3e>54kf;*p<-_asT#9SP*GU6K70hPL1z`gL!M& z!(r3e*mHwC`_Mv23VKMgPdl-RiaIQ7c!L%m5@JxLAAF=aE^w17E8J9o-Roj`2WF(h zM2Ka;)3(xrC&~OYZpMnXO047F19&;Sfo@YzBZYRq$OY*bvgAk^|6Fm7 z<>Vb&{L0nMM92Fq9$QP#XN zx~qr&ttS&R-ND1F0-ntK3Wn11jMAk^Af70~)<@{G%O2KXy$|wpPTTQv2bI_`xSdaH>W-3o!(7%} z(Hoc`mB?EYR*Q48T5!%XFO+kd!P5>m1f4IsFviS-d??*(IkNaot&5#KVOy`l_el$( z{gDg)rTw^HWEq--g@J0Z7zk;p!TW9H(7(PJj^AR5V*GWu6|Kcw`#*G@_dnPF_y1*P zCqzbMMn=ed-p_-KR8o{mQ%f4!S~TocQe;P=p+rV0p7--eMHCt;R5IEbCA28Mk6+%e z@1-9;{{a`rxj)Xio!j*`tCY7yq7V)G193vJ42ZdFF+V(t;i0EGGuvw}b2Ft7Y+vh< zDUri)zIZnI-erk@1zKqGsTCN^=_t(bY`8PYfVt;A3WXk0Q1sb^R!v()Z1ghGa;*#| z_pgC^sW9v{`hXh(PO(=*r{GjiGe%cXka?-%4zop?aKKQPy*3n!mD%Co;OdA1L7&!a5NDrQB;sPdDwO;y!$xJ7 zSFHFGM_W34vFCL?5w88buDnCrVevhsb=(ffp-HM_O7deNhrca@AHIk@`#<&5u|f6n z%w@SCvc{V60ubaNUYyv2*3~=ud|1g zh^&UxhFY34u^d-047an%?Eyxq+>-8A)^J^OSho&<73#g z#Dn!evW1a7cz`M7&%@wGarW<8TT;Y!Q7IQ6i1sfgPtCI`CK_C(b51wnnf0e&Wu63- zsN1kdf}>e5ZowS84BWh98sj=s0=n)0@)|g9Ro;3TAW!7jTq#4=N9#4_1nnSJoL=?r z3CBU2zXdG!ZGs7M1$2vdIJD@#Cr(O{C|JG^BcG-7j(4Y$d2hOif$=RondVJ3qq9iL z=5*3O0xNIw z)lrkEo=rdjC24kjdLj4zh%gxq)7j^jI5zac7vyWE3CNT!AOcHN;LyP+a85h|vlfQH z6CDn1n752kdEbIq)ClLc%d^RT!!*9D#(s%UB>Lwa!SO;T ze%a*vUq9J0-dkDj&P<25mxW&Ftk$d4`4WG#fvhe~_fRriZ~f@m`40EQAjIl}v^P$Li0YhhNoY*oLfen7PD_S%1r&IdNd^6yPeZ)oE?l9|N#Y{I>7&ec{Mfx3 zAD)wiRLz}W^K%~xhPYx-_BMRGw~c$Rd-<$05OuM~G(L*O4U&a;M0p$b&QGPM4vo@r zCSzgagpc52ItTJkc9Vys5N6e^gwVV!`to!-PW8ycT<>e-_~kctRmOf~{jIUgD$Zlk zaA$<7zb&QMafg^RALq@Rxf@sRAE9dA57XqM^- zxow>Xv*nf&`XLQMIc@#+t#QoD3~mRTdJ9yFH=+5GN5pK~58jy=mdtY0rx`Jm@mTQn6^9eq+sl_27Bw;l&hXSBE{DGq0K*(65{jAywd zA=>h=gq|}S&xD2D;Jmt=x6odQ=j~mNF_n{9gMKr{-{~S=&YHpItBqx&29BbX)-QOx zHUeI^zadY80zi1d2#$t}u;o8v$!xa;cyjbMX+Lg&KV8n^m$TX^=hnp|0mWCDLAJdW_j}!?&Y^o@=b}ak+!zO4!yPoS(H~Q8O2gMQ zS$JHXkDC*Z6Qd4Qj_q{}lg)I|Y^-60)c~jTj-I3IbmKApY9{?kOUb=?*63QT4`0&a z;KRLWlD~EboPRP1+bTXnVNDB&$@YN%8E;0f!h?~pPKM|xDHb&w=^Zx%oPNR#uM|zi z*45s^q3$bj(0&kaZH~oDlfvogEiF8?MW3Nw^COh6v0&626tG(;3P&gJ zMD~sd+dT0KoM7V^$IAC#3{cBg%$_F*Gw^Hru#nl`L+|wO3m1}f2OlnKJ?Hi=_SPS>c{dxwQ4-! z8iyv{x4~oAU(gj)#)BJ9OM2;#n_woLA9^OSEW(*%d>$uHg*IOV2{fTv2G(d__f< z8e<4irjInP~NP9Yjb@HV6Ll5YiK`~F(+=;#G-XBVb?z8;xKLu= zXG>G|OaUXIEcl>(4op@oqZf`jqS^*CTv|1cyq(j+-Ad%~v*i(g7OUdHTs?@|T|yLg zO@p^0OQ80}2GUzG3D?RD@C~+AlKmSMi2BA_+z~#XZrxr;(yVjogc*EZPUTB-*J>kQ z;60aVWD$px{;nZtzaBP68KRuc5}NSlG}({6{5SJ!$)!c%Fr>a6YFC{BOQr2ZMg2Kk z$jXJCS0*9t9>*X`4KHpx0nfGS5D&IQ_8#^ zFFjU_uYwPLCo|(u?PpBlBv@@$h|M$~3+&fyn0>4ohLkTOMCZVhu@|siK^!Mdvu4_y zlW~kwCcBAaiHZM-$GAUgB$xLHa`7Wo_UE#xhJKPIYYXrlw-=w5o66k|gk$1ZY0P+P zf)8u&(G!P-aNa^)yyNj5=63dg_Rh0(q~kiCy)MA2d-j*_JJJkI`aX2_)O38fCkK5p z1To8A7cw@UfmhKrkXzP4-p{>86wnw#EluI-9&eP-T!AxtU*K~dkN#@o^Y$G1#Q)Y~ z1b@~XrPhrDG^)sz&R*(H`xlyUnIyLKlFS!uS`)@w6fRG!yUc*}dcvx=o-kLIK=0kX zV7;?~6g{1X{<__KrHE%FhSRL&{m%0kKQsO{gA$t6=7>FBWt5JeL{2^rM!O@~XnN-; z=6_52uO9pr`nHB$o$j!&((szYph#sF$Cqs*{r}uoXfBH(wGlnE+O-HK)aAh6zVBq+ z<74DQfj#I=Uj%%3MAY_%5-;%u%!RSfNR-iBzRQUYu8(s5>b@+f(o%&ar<>$KWirtS zk0wG{p}apQCo&r>1mUjr6?(U;5xoE0gGIJJV4Untx4k$^_XnS+?>)TfDX`?nuI~WD zX-+u*t17EneFA5>Ag;|ZW%-LaR_i7^Sbw?%t}kpQ`m55=YY+rNgr?~g)Imk!8FasE#abEa-!HuF3|nMwFq2M+60K|+Jt9E#Tf@whCQmg)@? zR;BSWWSwb;ng?9-?gEViW0<~;iQuxll6UBM7_QPkfrH^(&g^|Za*&tEzg{pGLl1|c z^USe$=IdRuZTc!$95@Bui8)v7e)fRVT$a;rP+;*h!P0T%bbjzPx|>?ypN?_Z?lYZ! zNE(CtQ_tboZ`|7f;+V6dCjFwnmVCgHFD^_NM_?!mIA(>PlA5Wl_`BX*_Zq1f;o;I~o8x&9vJ z3jBf>I(wLmqDXkwm4+iHoOmPBoM*l*m~pM?q>GBQ*+${_=>1d!Ee#)lac?e+T~~t* z5-s#br$4{)@OY+8(GmQ#KjU$=$LPK}0=xE@kZ~DPm^Bqq@L0)+9c;)2h5jVsbHNx* z%Y)hHjtOk}n0$;^3nUe91fk@E3&ZRBLY|MzVq3ZU0;Ag3bmqq2D5E`_-9P_0-+8ey zh|Ir2%V%%G>W243Ps|*{ULQr-I1MIr$4a_Uxsz^?83#irwU{*~e_&+nC|$oU8;7mW z;i1F&m~%uHTF+R6$=n^VSH~Oz`}W{MJb_myIfG>CE8BO>W_)i(QEL)_O~}S(S28o^G$@7Yz`^79h-a}WI<8oZIp#6^PQ^G#aB2iIVQ!Z(NgLnyJECih z67;P4LAF^vq>9&q(RBxxD`pZ#A8c9#<^F4_@Ki&#a8)d;TFLnxub)KBv7)63jd=g7 zAe-=T7uy@1!8R>C#QOc9`TQyGo8twd-LM%gR`z3# z%rGwb;)$1B@51SWGK`?qJb3Rnk;iXTVCG1^0kL~#3>|f5z6rWA+pqM)wH9j#b$$Q~ z_CJMi*&Fo64NtC%5>2N}7UnBSaQE|LxLdAotNFLrmy-EmPvHHXRQz67VbcNd@Sw&ES*?i1rI9>PqK9ys*%6uh))1%(J;<}XNR^owfnWR)#Si-dEY?X}F@ zr9a52`HOM6S|Ps>qcBVV2c4W90FmEfVY{(D4)rl~d8ZY_xAiZVWy9FpT5+t6a1%ah zjHjo+E`W{zd$>|O3A1cxK*hWByuGnY@%xMC*wHwM8)|={qTC3*HQ9h#AFi>hbt|Nv z>;ybF_bu!{HlDYPQD!HCF56Tiz#0f;W60>D(Fyl12{AnV|^{t0L7r%hP-N~4+IUQI0kzi-8a7W*> z)fK`Q_S10%(ICTVbO%qB(P4j4rr>2T^v*a8{a07Qce(92sCbsHTNVaM_a(t7ay9sV zPbT^_gs_1kjP{MWn0C3=&iBL`&?so+nTRl;!H!|p{ooi>Wvl46E$LJ`*B$aaTfr(? z1uqzgAfhf}*hLbOp2fqv84nfymZJcvVzjANSNr(Nl z|K58)AKnM6x1L7}v3eXE&SFb<4dw~(P{J>ed|q}E{NwLIVCXnz#Z!Ie{Lf6Zos)wy zX%QqjTYv%a35>j<7*kNH0WL44aN!Ffl$IJxjF@du9GHbt>-?}?R)+EZJ_L~|(kK-o zz_zYe$KU5C^B)~)g*WvGV>BJ{n41SKd>@FLblagO=oGA(@)!k!SF`=Ky*M%Z0DY3s z4m#W}Cw=7yJXYlgznBCXmpTcR4-2y^*6FhrFK=?YrXZ>^t(Pyk!3AvH%D^(X4i9uT zf?j(V|J&K!_)y1^JxbMZ=WJVIu}BtTFnyv#=bsT3`HE4@RU_P^Ze-!LW#bwMEdP zQZlVV3JQ?yj2?!@j%>7sI2dqTo3?sQ82K-D!kn2d>}P`7NG|bf`1)EmyKWi!MM? ziaB%Mp&WHJELcU27|e++AblUZ$>RO}MDXGcoF{&UmQ;7)`Go=(VOFklI;MQzgTYUK;YQa?BDGrvvf7@JTxAbn zDxL#x(iE&p;j&Dhj%8!!*`U*gCc@V#pmEo#!F16y7(eAQZ0?a`wx5lJ4XqVK^3Zk? z@594ain+A=$3=({Plr^p973uiQKow*n0|W)iw&333*D6@WwAOOx)Vg-Jv0G1sqxH? z#m_mP?OLjRI2={JG(kz7AS2f{mLIAnO#~F@k-Oz;xPI$ccpY93^IoRHv$YGbqri~r z$67G*0wGN2-$NKb#~p_!8>5QD1Keaj3-e#=^K7p4)3Z20@l;I~_qERF5_uO4P6 z?XK)KcXcTJM1J>l7+1>gAWQm=YW=gnsyluanZ`E!V%|bzbgCh~I2aVvteM)6%FN#_ zD$J0y0P}_khgVYmc*OSw8VE(e{mr4wjLB1(NYnE;;oK_JarD4*OF8!7uSu|D!Z@mQ z{5pMo*OTuU7X{^UHc;~F2*Q3<_Q$~(Ox~&p<_6_3FER;wcT2#n_+E6AC<3dQugKcu zlbF6lf*r{p!}?U0VrRoQ=-ZbBKHJ*(_4ED755fEBs%6WR1|7tIBi<@NE!xA zbpc=ga=ianm_7Asgs4+vMxm|^j72Y#SauHFyvMQV^Q+NQXe0K`^~Q;sDy)HFAAbv% z#qPL!4P5>%1+y3Bkq32s#8-JQZVH{io-uMnmoj76`@t7i4j(2n$6tW%qm#k#H*r*rnS^iXMQH(=6pN$ z_}Fv*)dRa)x#Qg(R|hGDUxvmf4J+U4ID57C{kyM_8?1ocC1=siHxL&H^x?{}-|+ZA zJiku)E_C^RhlMpJjIUD#_$8F%#Np34WYCLY*B^kMy*rar?8Df0O=dQ3Tn?qX&JvGV z2@q}Q2~8QDM7N*=KlwkP+s~#lFQpDK@2WTAo}UfW`I$LPntK#nBA>%cHE($Iu7cJq zO{1pCe|Qp)UV;P1I{RB1$$n0o&weZo$AjzLp!>cglMyltcBzkJeLZf%rUQ%cmYy&* zsl3PiteULm#Kov3I}J+hKM;w^4zhJ>j!j8>3fBuxe zsVt%a4nI+2d>B7?wldxqxPnw<90R*g@Q?SEQu%GuU_SE*hH~zaMxRvl5lqA%+uO;; zQcb)uE)pNz*M#nib702FH>6{e9kPA`Huh7+(BG~Tmp|k(bh&RT-f$}(JuQS{1=^q{ zp%0#_y0GhHKJWdtNpQ-ngx~e}4Bi~tMk4+0!pQtmaxS%+i0yqs9z9WmwO<~QskcKR zLOBaE?s!4~gI{6LF`-%7m2seJPrv>9y-~kcmsLL{!@THy2XDK^Fgt3rn664=#^vNTCid+( zCeAIJ?9Ed`aRXPj>$NKrAfW*5Tt4WmZXwq3$OU@&(=3v4DgZnM6zx`+NE(J^d|OSaAQV1zL=xEe|4%p3%omip&n75R%!;@sLOYid(hQ1vORJC^;Dm zHoO4UF@>C77Yr5O!!bTAoOt)!qfSmIhVy14zcLjzyq$`fb){Thn=2SEdqNCmnlN*A z{U*FQK49~rl-Bpk;P$CLK&F{6C-&GvPSOf2`TUElE}l<@eriCWV+^?~c?m+6=78qo z3D7D~WH;b_oY+Px(LniISf+TDKFY44_f$XA*ZzrkO5r4Kl{$y-%!1Iz@icCTsix^` zrASIpD^FmJI+T`W!@6^3)O+LuNwk*)$ysf0C+)RILX-VNu^I^hJ8(N7?8OAq8H@L_}U ze((z00NyT@aQ|8qh&vDSo@Dz|gW<8nJ!=uj{osS6T^)GE=5ZYD1JG>|3dbZrfS1!H zh&oqAPHCUy$rpx`OZu}R|MnRek+=aHFb{k!Ifj8@9+aFHVKxa|0ePi21j@4j&*2%MT5d5F_*=Q2F8am)sJ3C7_`h3%e)4%jtE6j$rqAR-*6MANGP z5-nFkX_pM_FPsQo{6A#O8D04JyP6c|OyVE#m<0M_F5vcn)9BM4;}iXayMst%h*kT!p z_U_YIKfWb9JSxvNxqZUU;V-Ca-i2?x_}Cm@fHRjhU`aHmM@B9pCram|siLWAyH)oK{fgR+-)?Qvrs62iB zAcfi#hR}6+{&daJVXEB|!ZFDf{?{LR#;iXmVCU)}VfbR^>>>Tix-YH`kyroab8dG! z%;uCHrPBJIc82BAu-d*8j*M4e4mY)ealSvZm9NGu_1Z}JHfeaIV+!NKeWQ7*Y$cX{ zm+{kscc_1_1(V&r60ss%X7-N)Vk~?L3+|f3E$>`-7bV2*rJ3?w z#xoOC=RrQnbn7+aZaQTtE3Z(xf*%Yi%TPTd_aJdJ$HvYyE$$Bogpjt`WE>kQUkGzWQjR* z3$M$ud=?Vu8NVf1VmKKSpI)V(9Jb@RzYgRe=XEMRz8o|UI@6SV#MMpekgMkkM%l0E znXDINE!S(bekek9uq56qeo^t@yDfap6@dw51!$2c0=Me|;K9QQtmD^j_}aIRh|Uy; zvu96J9^*?S_X|PmsZr?N8A00Pzk~iOAtvA(Hsy=NG8!kpP2aPY_!u%qTWbU~Ko)!jh<0B)RnlaeESnH$VQx(Wfhs zv3o~jw#4H`fg1eCZ$%aZg&H3+d{V|^Dka_c?!LDtDg$X8n6Y;tDVa%aa4I84tj-K>5pYxf7I*6;$P2kz0pNn^?g33%p9PfvL*0C%>f+TYzMpI zPk@TZ2NbUqW#7*-#4SgP@GLjm@71_Tt7=*DP>#n)^28W+>QlJd?@RpbOff)MnC-0W zr2>&wWZGV7NRs$W9J70=?xt5jSH#1C)vaJTsSeH_$^$JT^jZ*S;PPGB?+Rd&qLhetsogwNF8dY(8hvqkm~XY zimT_sWZOKDo?weco?_U4I{=Ev2Qp#Eiad`?BB$<811LNa>owh%L5e>?0O3>uRSmxo=GwWuaK8?+>O?O}<3qR~wEu zUxXo6s*HM%IJ?f#o{bhjx=z~`?)mjY)8?_DmKaRuW=26L3gMWgGH|f{GN>Mj!js?j zqNi9teSLBzlt~wGcM-37D$kI-AD7A-o}tR}tsLOMERGq!DuB%lvt%D6zNdHhmV>fE zIDDh2FyJ(vWVignjKtr#cK;@@+bE68o5tejB~zJKyY7PzuMZVVz3}RN2XZb*gf$PD z%=Qgb@VG1sPE_Q@3RWXR0+p8MdfcGJ!i~;dfLcFX37; zKF+H>WDz~vNyEqB1;m6 z{Yl({TAZKR%lGl`p_ZbYFMO{cyISEf%7op*Bc1YWT5CKun>ONmhr0jjVMlj^iDZAX z{p6-@^&3pntv)ATryGf8|9n4?F#)jra5^k3IstQDw80O3hAEDWVip}g#0*_r$fxMJHuR`!UZbpI066Vas!wX5M%tr(N@MU62E>4V?#yJ5s(E~FYJ!1M{J z=-HydO1!aQj~Obk&hrQ8HxEPT zbEN;9C`_H;2JLOjVbp>1++9_?e8t3A0)^Borxw1~B zlF3H|GC&k?C zQf6NjnX?XY({PNsG>okG+7XCSH~99C(KWBEck z?DMz9*v@4r`Bk>it69Df$MFU{G82i(@$bAClX&nLHwNvS9NCKba_o2Edqit;70ggr z0;A=^z~!~`4#>At|IC-DD^r4zPcPx<=>{6e`2yvReus>wC*Z!QD)fs^p>JmG1J?yI z{I^!SaI{z))!p48LrNa4*UFO6Lkwt59RuWq4v5(wvU`~_3XO*;>N^*p%J%iJQb3HE zI(rX2@+X~U>bj9DZ+%G7U@m!3I1TFu9hllqGom5)m!3;H45BNBp?JzPI9#WMMu)|4 zyOJ{rj1i=olM?X5Kml}_sl)GMl=f@sP=3D{ol}}X*7|-RTMb6Zgf}su{3eNf0WGS! zwFh6G%*S;y#`xGm31hsHac0>dR`Z2e6~l?_=CT)Pv0)2eBlQLR?_Mis-ZtZk?M@D3 zW_MgOo}*W3x7jq(lKq!|(myhWwvJuE?PA*DeVr9^X!!$()#)eFgL(LB*FtvbCS}e? z6%F6hLm5H09L6L`k(v1GIJC4B!mc+lyqRx~fk{UoQ#Io$ME}k~Bhea^GMR>T3Bv4K zht(v-GY7t{d@WrEC# zYlEPs!qwpi6E>K+Mm`@?$FAKcu-{D?49aG*uMP#%>W&GJaeq2EtPz7p63_6x{&;q- zfDCT!si`Fni$VBS?iTB=@=A!>Job_}n&DZkg{Ba+k z@D@V`c=7l`@EPqlci@Y>ucPgk#M#NsCXmyw#j(m(^E%(ICCWP;A+;%m+kw^7p}0`u zW^MsJJ_7i1!gG2oA^}czd*H{*L)7Z$Ui6)>jTcN?XvpO%RDUsq-Wp|iQQ{{(?WFQw zJwyc-Ek3r!#o^PDpcuhx(<+->Emn@3_HTbE^ZkWgQUQ4NMF8JxV<;T$$OHfHlNmZv z%!FR!F*{WHu)aoyeN-}y(G(ek&OkwEZjPneDgKyfnomX6odLO^?M&$FMa&nk$3(WH z5m%a+k>iRBux|1-oIUnFr$Gr}osSrN@(>2YO~+7jnIpZ`v<_6}z2(Ut5d$j?YqrEy zj6E@{0JT3w&?}>jFjtA&eWvYUf0f9yK83=tX1f_oDwzn)miDaq7H&?B%Edi@98u=r zX&`N}bT!Y370iB(7P1Yn=cgTbzWv0T^LP^L9GQhGqyRIo$DsP0B_vn>Dz9C^4mX6P zftz3tOxc`DR=9pluRy=iznu0nnFQc^R zNlZ(~MZ)o+|JNV?W< zrbIP|%RAZtReiVkiks(SuT%-{=rKpJ&KwA7a>KZQB6#Oi32&JFkn(38`PHfm%j}Hc z6~`4+YT%I=wK2GB$#j^pxgQT6QO8%8TA<^+AoK9%GrMQq$1(HSC~tGD3ypQu#nar* z!24AQXc|vp*GvwlhXX12d|eH(=k60*c{^&-undP&JlJsE6?kgs12H#02@ij%v1sT+ zg0?w8g@85eKOqc~rh%w&-i?*y-h`9aHKAxr6Mr5wz;LTEV;?h~zCHSiZhSp_b4Jb} zzTD@_M!nNxGXr!%V^p53e=Sd^sMo`_hfA2RLnUZ(^9#COufqk+6L8hzJk&USmGdp< z5uM0-veio+a_pu;nYl4TgjrPFSVrZ1=fc{X(oBTb5;*sVV$#ql4BFF7mrqWo#}3J1 zUw{&0+?0*E^PNb_n<6mH6=lNvqTtu05xW_;66xWcM{%1{1*%6L!;2?6!7Ftf4wVPM zPPsVP$=!bUb8qCW$F4A4<|5b>Ers0+RPlr%mz~=FjWmv#hAO_>@zaU-`0n9NymNu$ zDBqpL%GIi{DJ=?Y&*V|Of9(JFhm47O`wpIUaX9H`u}VF z3yc<62w@FJ=^uRo=F9#IIDTRTu06dH$0(Q3XV>zHV6Qy2b=72FadYVA5qns)!w)hR zRKb9}H+y_cBZm2`=JXZ;6uc^nS==pl^#NioxN0{NcY`8erH??mZYD}!v4HLCH-dn!16Vj%qj1MfEV$4?Bti$sOeaaqoK!)^ zDW}1VkdNHA1ZUIt!WATY717&P@dR?$FM>(~cLSH^(x(&t3(mpV|*M*ivd!o+0d zX*kq7L=JfFz`ABvTJU!iR(x5-NT=&FH=QRkI`0odvz#j25`TatgZJo{x^=i|=XE@2 zr^IG%(`2PPhj39=81CujvM9bqQ`0K@|K1DXvH4QJbzK}14>e;V#~fz{)$hTK#zov4oNO#H`|w)WXZ_r+k}m=Rrmrybr8FBVUWnt2_7lS&ddw*k zKj_}O27hsXqfX9u*Iy||ul4MO3&Vxn`*(?doPEK6zR4cWyGSxJpo~*=_OeYf8tkcC z>mXr|D(XDA2^A+~+1GcBapUBJSYz{=Xf&Jwk*i;D5kps(doEWK7+rB`9KzFXtCz;8EAZyg%Mr>EUbG;f=t#@h0ZUuV%!JfTd@JR z9^Z;T3nc(d>uB4x)AaVE6Ohg=P!75WKv3E{dYJQ!TykDa=AC?l&8@}gTagHFGX)^n z`xlzYJK^WlTJraIE}TEx$$N4{p1F8yIjj$lz>^*80|1(wkMb|DhDN)ty4=u)H$AaMg0`L;C}(F zEuPUEh2a=1D8S}O%CgVmtZ$rxYv-kyq6N;3+fzR#k&R%sb)ICV?>fa? ztuA8ruR29k$|doDkRG1yWBFY})}SpZ0_PJiAX!C(dClG5JUu^;xjm8r3kSn^ zw?))2k;_{#_D`}W#Xr-!!Ipuu1=8YeTo;MfXMqCDQ)nphr5kfUM5A>rSpV0NfJycw8 zg+|^*WX2ip?qg*fOjEoC5AVH&<+q-|qSMN-SEHIf2{Xr;zf|yIaU`Yt7s54ei&u_C+t~pTqO$vX{MfJAN+XJm?-MRi%K}Z%LtP+e2#I zVoluwF45Z4cKADc0ZxDao<3+Zrm;fvF}my$-r{x>oyXj;$3e?^$R?Y*4sFl3io1#@48avEQqI;*OwhT$}#_^*E2T!Q~HVKkyBEJU^fzXJ_6| zZDR+IYC8nh_vgLRQFMrLt<6+lBJA)rq|0lPUeo_MpB9XmwoJb7;t;dv)2TC2`jtd^ z`ifBI-|x@fg&Ys8GX~z8x-jBTk281aW2kiGyh|R&?BF~Jn3Pltsokd`FFu(Ba*QFz z^c7qnaV&LDI|}W$Et#L9ArNsH z`Z7DO*T8wNvlz|s-S4Jdpqjtt!wth<6%mfuLsSZ$_qWe&7`a)YnB98+oOVmNd}1n#U|Kx3}> zU?^3B6M3a*_3;Dl-`C5Vd$WT=RwCATbz_;nGOmB%MY>F_;L|~g|N6^dGP$RtF1!_aX(mbWaK%WzU4HgyKz?s?=YBB2q zY?NGruQk9$8q0|Jozg{)l4VXKczcof8-BuTLgEv@F8U56F3?ajy7M8 zQopkH2o z+dOkTZx{MJlI(ss87|3cvVB+NSt=*Xn)j=-zb!^^4)@l@G^g>77^uPSKf(iW*!}Ip`YyBvqRs%P4#u10%2YLWZ|KW38sfsBk`)pf8*8PO&u9 zdM}4(UvlY4&{KS4?!ah@{~^`w-|4`NVY*OBh*`T_ko_RohE-F>L&LX65F!7D*!Txx z;F53PlHx~Gcc`<6>)qMuPnvO~d^PS56vWGa6rgo>8rVM8g;#TQFmJ*pP!c-{6LPNN z_o=7Z?%_eST2l(O+1@m(OpfjxSq2N5l8JR*3z=>w4YwQAxDubqwwWwv#jISQM{@+a z5{*dDoEp0Er8va6J?DpqgK9AC&4iWIn`04MUW_IB{H3sQ zmo@XlZ5&g%+n0M^W^gc#%_Ak~u^h(-9F$~4UfzJz-&y=y>r~mpCBi6P zI*AcmpF<9hJxK%hzab4t46LkBVZ~icnV-g=c@V=#g9!`R*GxZV_^U8^OCIqui_~$u zy8xsdI}Y{|_SjY43|HU&AX;C~^S4^2vBB!$ti}5vm_5Y}wzmC0y59RA>-YcvN0JCx zAuHJ#Ng>YT{%{h77HQBBrCpS^G=vh#-YY3e$}HnN?hi^y5|WmtP*F-#r20I*KfIsc zOFz8+g~xfE$8jIG+x2#Y{E<~9*?NM|tqy$3-^uP@k%PwEJI}u) z#KaeEZ=P)WQ@KEuoP=OE1A4Yn<^0`2db$fsTO z=gbhnvcfD>QQHbp(oupVO^T>Id#m8j7ssmUmhnV(M;5#)enf;P2IGd`6v}QEVda7& z@NQcJPp#)2rY8x|oIj1r_Z^30PuhXP+p}cHmt>q_FoB774Iv8-D=<;#rZNsO4h7)$p1a-1uS{7`$?Yl($zw zake94d~GWeBQ=v}w%{ZxObvk&!$4>;UII^L&LUs=DwgW*#LQ!6bVFza=+9ojypSsb zs#k{R-A!op3~8vD`T^!#%f+eOoNrP?tzeq?YL0`m0!wbYz~b0qus5%x%R;}{m@dyJ zJf0BqwN{f=Qwu{ampW?eP)q_Rc(9MJ*s%LP>!78`MjQWUGXX}7$>lqfnZ(~V>}W1; zw{Ars4W09aR;Pus;}RFLo8!xhHaBi~o^H}r7D(h_7;3H*i9PV*1_RvKjA^}6h<^K z2I{tpvL6)su-v|gNY}Q}kZP9apfbdhTy>hH|BQg@Uz8l!lnaJKqZq%%{nfvEtFV6f z5uNmG--WO1;{LHA}*%=aX>Qy0ie6og`GREl}{Sm75>lY9j;V zvgy?2l5o_;kjWYu0?#v|;C<~m>DXlr*KT|vd%tHB#X%Mu!<%rTwlJGMU5vFWnnJU_ z?*|W_D4hN!NAuj8X~Betf_Cw=|IR~4dH$_|dnWvaIgbNw$~~@e`RNcwc7rr?`k4w;*M`#Zx3=&E`zO&g$pU)u zUWvd#^gek#^CHx9`?3ZD3FiH%!ywrfM%EnsY*Sq>3yDYVp-Sun3B2}!^rb!IX$i^D z`@hvlu<0+saNIDhuN{qVkEPJ+Rr1jF zY+tiPp!0D&?tZlB>V~(MIi|t~h}16wwj&9!CWF?R%7Ud@H|hJl8D{r@^7jmzto2g^_3 zAFq$PzTxF)zWkoB@#(Gi|7U;t{$lc_kBdLfTA^uJTe#feZPurM_2HW)r-Pks zF*+Zyhc-6ve+{66&n1xJeAfsT%I=xJ>?Dv8Z@oJ zF|rSeHhl#U;s`p@1c0(?C7R5E5$ml0E|SzD z_6~9U=1JEIjgS_RYvj#KADdm*?p8CwT|__7vg(hR8$B7Xhq13xa6~*F0)p(|a`k1R z(O&|=$3>anoF-}hDGzvLkVDq?$CJIDHw3FB|NeKM)JgTnPyOV=cYGC=Nu*3_%j;I# zFI@4jf8=WTdzhgj!6tv~#`O>T>0SGr>XiOdB-1J$Om^5oVeDn%Q+J7Ms&HU^G#8?T zoi0kMb@7~+YSFEB-0$LYf_NIABQq5BVEPztheE2syhs@jjv9qdLud$Y`Fm~3FP0N^o+l)#7E@zxhS$4v z44(DAMH7NYQT*@$e$_lD=YIj|)!Ydk(_Vs`L={G^4aF6$BjC}e$EHMbzQ(Kq_Sx}E zRK+a~298uyb=?HGw^xxYNI1m`mC3VQWDrv@S%jIt{xTI7In5@1S^=*% zz$w{d@y8oGcHXWD?0El0%#9p-#$!zyS#0agHbyT1qbW}ytJfQ6?>|f3W-f$Fx79#A zJq%TreMQwNp4L~sv_N>21vFfcgq=69g7+tmQD1Hb<(C5?bN3+mwp9en=6a)@<7DhP z7tGTtb6;=gar(q5@r0Ml_(re@oBH#sYxc^@1Ln-*8;6o;F-c%i=luoA| zxBv_4)_`~1DoDsX1ZPbgVOzEn>{}iT^0Cw4`g$8^eAg(@YI*qId8qZacp_5j$oKQ# z_%hDNyf$J~$c(oE|MId7-pDiHuZ|Ty^H7`A(th201gaRAt2GMF?9CwigSrUBA-UwkI*T%BvJKB3#j^ zj?)ZB7P5^OrCG5vT@a}=14pUlqpZVPHg-)CyAwa)o0)wO<#Q3}xn?diVk!G=7;t~I zHgo-B8V1*mP&xAmo=~(GNw^;b=H3!a>KLPH&Hj}IG543j##@E(d?pL8Ly}>xLNZ~d zT;)BfngaZ!WN_6jA%`Sua0CAuQOJlORx95UVc%imD7O-J=1qa)B@@ZF@b5Mc4KEOb zI*zNP@rg!8>oLxoAH(R_7>J0y1e4~sLmS6Mf2Ac2PAUmh)N&#^K@tX?RAc_H{%lVg zl>6M`$X983YV$l$r`AZer*=&Ezwbr!^=xRC-ivmg323VuPXZ^NfG1AQ&~YXWYR~1t zF8dXbT$aG~>t?LveFLz6e3VAM3`Tfz0$(lIg!8wgV@oLy{X)dBRwo*rJkRq)cQ~*w zb9`v{f(cmWe~TVWu(h#P9Yd9dCt+fyIWe80#AIGr%-kNdW#q=bBriE%*y`BnIIZJ6 zaeV4U#UA7eyzeG}MEx!D@})QLSm#2RJ)e@Ns}o^lbS=Gc$Cdi2$Jj(v?T2GCc0qI1 zFwuyYW!rzxVefbHSe@fmcuiN42}uJB-aw zZm^^8MX)1mHjGSI4vxE0P~xg1+Bc48$L;Z8)o+X9i)-r4(j{ul@fas|#MzWRq<9y| z?ptus;5#)MXC!F#@F6-sj**e-EMDU*3)u8Zlv%&~7&zY;g;`OtT#a=W8p0masjmC! zx3}%2Ud9#%{q=Fz)DqOK%;ZhWlVVJj9>9l11H4K5te~L(7(M*Fg`@?Ck*;Buj3J zOop;QRxod?228V93{_{xax85_)b|L-pX0hgWMu?IO)Q4c+Vy0Y-Do^3DoI-V_wv>h z+rp1g&CuiL4kBs`G3gR8W!{-^v4hjo49el}3BLq_n%Zioyy+xA`8ZviD=oM+CKO9w z7UH?ar^M5@g>ER-hq-5(Z1#Dl37Q#mLFo%A!DQb7%uw&c=+9a#H1!E?T6`lSrB6xa z40Ya=-FtAO!gAcYWgI+weHwD6E~&P0{fMRGrPxD>vY>Tdhoo)Tg(_CrR5|QC_KRAv zwaR*UyGt9mMF%xqF^AnUwT(UbJrIA33&5g18Fzjb#bqn=uzIN>d$1uFpNZUq65CGF zm+gr**Uz(8Zxy4V_fNR|a~#IKJ4?DAl);YqLd?$1=Rr2R2}Uj?KSSx68O*z1lbQ0jy`b@?6GSwJA)rkF zxdkCaNOvO2p52EhwpZdJNzwoA2aCh5YghAT@f$M7j@^9IxOTkr3`e`=|DK2P#)J4Q zNQ2c`XT-jWTZUdb1;otB18(HLhlnZ}#??lM5qk3mrnot>5?in0=ma@jp>dTeU+m-s z9@7K|F9rgJq{$VXF|dPw34WjKgxPo6X{3G>w$?eJi*PIr_^3^vF+X_=D;)6NlO+5W zm_n{6jbp035}{^E2u3V%#u+bk@cQIWBxNW?ptd=l7Z(;oJvkj$_Sv5(tzUxW4&&H4 zvjU+ovXiXKSA*ij2(XIGD z%ydO}MtR>@rhM)hu2wq1i{(8aixM3n)-8hMM@&N(?)`DRUPE`B-9xrK7luBC*;xE3 z6AmwnAb(Fp!nfWN5G!>YMlLeYQMre#dryeC+-d6A6DbHf+ehF2JcVC=+Mr#61eDco z0jn_->P&=~ks2Z9S!_Spnf`@=&JPg6?Xmvvy?C^bii}| zzy86LmC8)_L0df7nS>7SbkIGgn>L6o5v;Uc3~T4!BR`jIrJcSSkot8Nn?1b<-B)B| zV;YzF=opRl0bYXH<)vU4cLe5^XmU9~r=XzWCzJ{2kaG|WI6GVb`o z0x1cwt?!`&7J2l3+fm|D^prF_T#iNl>&T-Sm+1BaQ+i3cfwZslhq(8?B&Eb2W!CBw z->FSJ-A#kEeXA)jpTsDW`h@bQ&W8D%cRn)e7__OovcFQQfq!EvQ~T78{*7^9|1_zw z{-%|%=h!ErwEHC(9&RTU&qLX(1NYdln2Xrf-eODSR z9=inA&f&7K++)d^!(%Dw4I{0c9RK3WH=28#V-f$JgsL3}NbQ43uthTrPEJVSnc9hv zos0rl8_t4Mjw?|S@)fKSnjp8+1|};WCv{O4Hr2ZXJpWZk!Ryid@3E{F|6zl+^POmU z{@`%gvg`I@{LMA9#=U*@^ndoJ6=6#p-rt|aZ{P4j=k^ty+FxM}(l>4Ytv|IK7eEA? ziVP|zF!I6HOkCJ3kgQa(1Zz)uw|4_ z+As#wWSHSIENCy9Mvf~vOa^`OvmwT%_#XE{S@x5$OHMIOfuKg zm^m|G%FJFd6=u3D!!477QRU$!G`1YWZV%#SUU6D%y5}G^ACh8stBF9>#bmfvtAZv^ zAM+f$)|)S+GGj6q0+gVfXM3kSl5Xuimio9-iPY>&Rarcl&|gPQ6;&m04-3 z`~R&!GwKVW&QA=DPV#Uz&y~|2Pl5}c%Rtol5?Ri@Z7Xj^V=$*}_U~8@J?t`e^;7{q zn{rE#bR!zJOm_q+rBmcy?=n)=rz|)xE``IjMHrGH$;zn+v3`^1)2=%%6h>RX;~V}^ znfMr%S6|_Bu1-MO;T@!pXb@W(iwmW13#Ps_hCSm_$=~_!1kt<-f#>y7aGhnu92YZW z7Uqp(7UY|NW04bWNC*cRXIo+}-$P!xWmG@BYfQ(MIl=0>5U|;cb{EGvzGjOB`^wOzU7TGazJ|5dSkA^wcuvv73J0#K@iNC=1n8^AscEXL z-+@K2VBHuP+IJI|HE_PhJayLn&t@|I{2eG)k`s7Ie zF1KqAJLi@v%Ou_dn?!~w4^_oK?(?lK3W-${x6n51;>r z^qHfXwqJMQ#Rpdy_tO;|e$0a!JPN#@g>Xi96lm_=K@42R{P(`Jr#HlGzvsj+vo7B> zalU?SYvE$$uGRng%gE{uxY!>=m%fs*frtZ;>VJpK)t^Dsa!0|5YsU21o-^2Yfa6I1 zNrfRNb$0#GOBx{6K|ej3O*A_QNNw5=k+%&Xq(z=w%RWIbkPbTIMG$^9I?da=)CSVV z+$F`yPl#@d6YpBaQrf~>MNJ-$!*(kt>`XMnZ_k@iS#mV+&e@Rq*mQc*r$`XJZ8|&^ zmSkFwsWV;P(oACZMu^q{%xmS>p+eO%+!3M7?yFtIevUrMUfZ;n-EC`+q06#q$h>t_ zvu|qksiPa%F+YY-Y~LRcduqb4w;Y&JckbYAypL`g@{H580B|Zx!_5WXNdDfx7{hsf z!$j`FT7Po}4{^Q?(L?O0?;BXRCC5p@TaF9y;y7;KHkm2}DMRVYP;eMl=GE?;2qUvP z;aIx_G+k)r8CqNho7-I=;g^fOV*#WG3mwZV3IC@iv2XcOwN7WJP29*)+TzmB3o4WO?>yXA zesyY>gCl=J;YgqBvdOhsMe1>G9sj-;1w*oAjd_Lj=qU+MrjiY+BHYY=+6hQ;5CJx0 zHPyK9iOVnrjW@VMSnmg%k;HLD9dfC5hc@}PejDK{HInIzJ`g|7dp|ON4ee3?L2FB= zmMRc<{(B6>2yhRc-q;nwq`?xBn`^Of5rv zytfL6Q!mi!{5T?`ABqO8)?j1xnT)=xz@A?!%RVekMNw%fL285^yID7mJus-s+Ot!! zD(j{TJa%LAQ%|;Mo;5rD@Dtc35y2GI=;C*eVobdF3lg@i0HK>&OybEK_+ikE z+vO>;72F(hYWWVP?NlqaEL+W9&op5-uL*(1wgZgi3p*?rYr?+S69@b?^>E(oJeX}6 zw2>_wg^yF?1aCSXlG(=`n8>Y!DL6cYv$uYsAscg`)48b1W5g4sB|p)dxwnaQy(d^U zM!?)<8szNP7_=X6jQ6!~lRmQ%5R=*pg@;Ci@FF|7kLi#-J(`4BD-jO6MK_8kb6Mm{ zKolhZI}aB;gh_(D1OL=^kpt5vnbkfSb8YdnNB^D&zfEzBV_SuQ|2Kl(TQNlZxTW|P z&qc62Z5Giuo)^*tF1zn^0h!l*k7UNUlKqOe$kJQesC{%j=f%>Z zXB11VC&($%Vt0GUS**br8XCi{P3|;%o)xWczQdF0UP7#dIZw9PQ#7mLr5f`2zAKd@dR~w$q8{9e%zZ<9~LL_=Y|zj#{jU!Xw;G)_)i=LI!1vEn+0Sl^*gA`5$oyl;EWJ?y2b;QRson`TP4g*DI&+*1T^7Qy z@B`2pxAs*a4o2 zF~n#2D%hGe5hhOI!MgjLcRqeT??QtDcJpu2A&%3xNyVNKI3(br`L$Hxh!OqZkxM@P z8UuZQ3&_F!p3r*H6{h+;G3jky2WNGzVf*y_^H2u?&ohK)F==xt(iwQo_a(J zvVCad-pkbfkRBElF2gJbU(_wq=N??qtl}xNWYVQQ%lEZ zgFTp0yp;}BiqiLgOrcGN54U^n!D}lq#x_HrS+}(Z?rNsO$oJ!dq9AQ}Zv7WlyCCcj zEaioW{>JN?CM?f~u-hX#@FX)2o7UgP3+g(k@z516M2>)ecRfaDeZmF%V(I3&hXpa7 z^VvN^3GBHY%ILm^n=^B|-rJGExVWN&mfzXTM!xYtlh$CyY>Ef7(;yM|KR?4tbH1te zQ(@2>uE*TqJX~EDZj$avw{bW;7MEUq0LxC7z?XYx=>E}qtnsrd@@>m8a`l%1Gjoh2 zo8mAYrW%Ix#yXhMC2#Z4R^=24+mZ;*JSEtBV2D&SKPQ)*H<7>tyKuCTEK}PP2RjV& zp=>&b>-}Ity*3-cs#JT3*<3_YF0!uDhR>pTdpF%Chpc8|w@WkCuu`*GH~BlYpI?g$mrunzc5T=vAxB5`ovZHl z93+Q?e}dbK-(a?G1C*pjQGNS2^rqAbo|yYhx{29>{H-=*o%VT9cy)w?C1fC4CgQp2 zia7h?QyYst>v)|CD^R!TBU*e`!lfgQ&^Kou{){!kA0zAAEUr)ZT3ZduT;8#@V?NG~Pl3cy<_k>H>NHMUi=4pjSsuRdWz}W}Sq)_a51-cPru*qA>iL7!Ac6y}?52hV^F4Tskg16v~Vnlhbmv z_-oV+->l4(=ZF6(DsOu+ik~-gw6K-e^Z(hOjvvu~NR~MA?+nk4wwOA(R#b260Wou#;tO{1?#&^aP%~L zwwc6Y*3WbpSgOlBVxq7iC=*B7L_p5$5jr>d7J8OzGQs>AH1tjZ`=LApSmSX_rneB& z@l}zIXtrW)%}%&o7lc~={gi)T3gi6Qh%=07u%{+nq2hA{WZm~@5HHq7u{kxgJv9up zy;V`(Sb*-W8gRx-9nPxF0(Qy-n5N!Ge(#(FD%{-mo8>L4N|p$ke1p*^{0;~${Y|!6 z?1vtUiy$*f51bd}5f2i;TeNKk$QhNx>ph#GA;soD-o>dWi34`yUHH~BK8xKuKBd`iE;J%@PsQWw!H2kV^krlW)j7X$BK6^EF|7;I zN$8248Kph)%$B4o zIxS=`N-mKU3>0y>?RwMkvU)c7(QEj)YAbfnE~Nf{uh3CXfABI-ti-*7qdbv^*I?D} zQpjzz@;~9Hh^Q`tSqmj(Pz`KaMKYc@^2uoXrnD_ zXS0QUeDV+Qb9OP42lQDl&c89s&lg%w8_+kuTj(_}876Zmh0c`hp#gz+$#*V~==41a zSh8P>HJP-gx_|s_qR`nzn)B?@<5(DqN121k+B2MwEfVH_`6igSd@8$Q^lmiQJVxf4 z788-3p>X_^8>1Ig&FgCCzV(bM643ZTuq5@DAmDB#sm{L-vhyfB@{?lDFW>*)`_fZw z;IKh)4u7QU@qtzKlWRj$I~QwO{rkS~4t$28qe*aF&mBgTWZ)dR;*6kS$d9NtAJV6_?0?cu$;m+!~j}HVL zK|jgu=HGNu_d;5>X)q__Q4=e8$?R`t>KdlIMwVNovWr@(RZGkS}Z(N~YZ5`%6>j(sc+ z!qcbYXq8fInt7Kb=PreW!0)ss{h`3P#smuE{fp~sN+s|kerhZD<+L+r-bpHe^x%ZpE;7=qpJfvvVAc5+?r!W=^ zig8Mo82jr)`G1=n`0d*8rA|l7k)P zodWZ24Sc7POO@d?EsEKT%RlSmf@gQZqvni_gQf)(h6>1!8)L}M2S)fuLkDHKz3eB} zAM74&0fm+Szd!w&^ZZZz3@5(J=Y6s}XXw;cIo0XRbN^Rg;o+nLzjCagH)j@f$T$IY z+QqZfSx2Szw9#Xc5r{QY@tF;`8$IjFJa6Hctbfgk_!1@J@M$+mSs+R0&P$-D=Q-oq z3vpC*>`Z8TBZRT0S~N#32*$fy5{zuRLJXt)$-;ROyf3Hj2r70j#ao%hxPJH^tq+_? zB~@i;r)ddkRJg|l;xJf@fg?VExtZcS#5WfK@1V^Or5U5wAV#xO$FdZ z_s-zH&D-j~*Qwy*QwvZWJ&8FL;?A^&Z-6NZCT#R&SG?TW0*UM8At-1iZMe1{XU@pM z;No2JQPTw;7kbg(+e^^*a}f3Av=$c!tZ{SURva|QCwe0ejIB2}w_M*xxR@>S!$KLO z#^ln4krP0*vI;!jmP1%WAKW}J^51(gLAJlr#oLkpqA$aMxnol6A6*jF6#Vb~5O-}E zvugKfFx$Qu9Cq8oYY_+Nv784l?T^Cik`D4IB0;eIQ##qE#KJM6)>l&(6J3dXL1=ahJ$yI}x36U2R&EtJer!49z4Ig@y2~)t>niSv zPsHzmSBbN|6Rdg}1iW`if&hh2V6|liOgp9z8o!?qXVU?a?h02)X{!Ol2q;PXPzxvUIUtlrFN!H>eYLswYZE5WKP(q=ZS zD53)ae=z>dd{CaN01ua}$Caj1%wfAyB3f%s9`I$^_kkN>?bb+G8Y#tQ3ctmE_xn)O z(oK@-3D`JS4-~q^$?5&GK~uV&q-p8H{*quEz9Pa7|E-`Cx331j>nlJ`b}M7<_mQTU znZvs`=fKKL4AKLHxO@gH?##G>JV-I!6{DCB(^vf0pH6Ev`@HJ@9KP{u$B-IN?b_I} zz0q>x{;eNIHYS15$6PX?5l1}LW5K}WH*qccP4_6((WbcrG+gx{?Gufpw_M#BsDFT& z^J8hSNIb20Js=1V^q?`H)G&QOACH~=OyzD*!Wkifc+~VeDKnOYJzvA%_<1h?>w83{ zM*{8`ToAmRR7}759H*DXSYmtoCOI+a0cT4(c&ZD6vGsxn{t&2R%yKc@g=#pDV;V^q z#G`t09_p=arv<-luys6l=C`K6lHY_;w%Ne!+7ra+J4!IOz!hq)_mlP8W^g=hO=#_L zLZ#MRSeKuH5%;xOpPm*BuajXn{dk7_hGS^0C4}0}qKw+Rec-R-hF01}?DcpCLfVRH zH!NaJ)kQb><58{D2*! z>D>Wt^&D3=S&6+nCy6v_U8A4(dZ4YnE|Yh7A?lX=#POwF*#5Z?o~Aa#gQR)HSkVN( zjN!wpL_J<*=va2~Cq60tW)3#bhe&vK6}-sda>kyIs->-~Nup?GYB$ovoV8 z?&U6Y)*V|o%jqc=9MFd0^R5E5Q@+Ui@t%a-%!II6yCJr(@4xz?!)9~FA2Ub3(GBka z%LzKQ6HdrJecbl%{L0I6Dm$`Ah{DDpn*9+l)a(#Gy4sJe6=T`WyEWL|t~Ds>>Wh=z z4>Pw~9J!rGD&&eszzI2P$l>O-I7fx!CI;fPvyq4i!PvL;F$#RQ)6rSSnZ{-z=2H4p zCPy=bX$U^a6jOgjhoexrp4$KlxhElgp#}MFb_tV&&B67H20QbeF#A5Z4b{N`b;75S zUG-7iJozjXKsT&tYJ)B7IL`2z)inFD8IC(-MDwPoaD1f{G)-4yvqmeh>pb--q$9xu-alI+t|M~?s z7|LRta|-%76yZzJMtpH{1mz7%G5Y9inmge#*&}gTAdyf*%ck>y+;(C2|e)R|Lu^~jJat(aedO#)zyP%rdANt7Y zEVWWL!G#CyNQ6=oiPXK>z~w|`=x_I@O9zN87lmpp*trPWfs z!R(%qRqX!X@$e9<(c5q@TNwrHhx<*$it{91v$ChjQF6@Po;sfX&Jdh0dlq&Y-vu+{ z7uYssH$Ipe35^xmu){?Y_Q-_OzaipGO=lmdx{qQ=RVws}SYn3h7mlB;iM^>}^j+!- zD%8G;hP{+QIh$e#R`4e#vhOMk-F@pLYXIi{wd8o zTGb9!uYKs8E4Ao(QX1p}_3+WmE_U=fFV-_=9{J?-8eT8DgYeiAzkNqddM<{U&(O&F-G-bFSNNXXV1knbDm^%vVb6YmKil?$!{jyaBX~M76j#PgrzWv)pUHsODJAxc&{Xtw zH^s4c3eZQT8M}WMQzMUuu;q^kR9NOysli74YZ3*UU;HL}mvd|?_>lI3W)ZnfJ}@z?#(RbILF3ts??a8eLl@j|9mv zip(UPEjU?01t6&x$}MZbpy48Ynl_tQZ@U2f%Z>QBjsGA()=raeM4Y<6ug1MOAmIMK=+F+m` zO-Ot^HZ}ah)}Cf+?DByZlGBV+E=S;$iUzW`Aey&&uRkpFJwZg)YT}v&=6J~GIXxsi zhKw)zBDjC>BYj=m2|o&-LTCF?$_@!g7No*UoEruF1>@+?)3&@dRmVV7 zGy) z#qi&GpcoJ!V?CSS{yJjrlV@hNbBg+P_r(6I-&-7}2~n1bw6Y+T7QAn!*H0+W!Hj-# zf%!`8@2}#uq*&pXFQzDaqXnLC4kzn66j1Z>dpeR`vW9*{FtV^>f7&E}YnW?#L&%ClH(&l;-g zu`&xTg8sY^c=>k^)=ZcK*`}dn=KS}#$*&F*ML)p>-xoF~!^GHaF-^G2@F1iWyFuMi zeH3_c9Np6+f^E`5(BN7ONzA;X+(8^=g( z7{@&A5@sqEq(JIbhyTvQyVIL)eO@=4uhg7pWS%#vcCyRT<++Rg?MGG?UV;xh<9V8I zg~$)}DjGk36FzDVL+j~RP}J!W+4ZdnL^(~?5`_)S+pY*qG_k__4yw3Axfyq5c2Rpt zPjEg^P2~=x(s<_=R3_*O9$dDFKB5e)O`imtP8|aAnPUho{DWP+RdB+)lFZq@9E&4) zG+uQP_FWccqQW0?{N7>M`A3tfnJvX6&e37LN>)O1_5hgg9?QCqH^E1xPjGN`I_OGd zuw$?2(+r}|q$qhXrsrJQzr7;tN2je!edB6O*IJ3Y>!a~!;(Yl2FqL)PJ`Mxa5=ivt z7ZA4n6>eUzom~<&2y=OQAU$^@PW*0!RgUu@<61mE?o?xg1j%?OHHN-A!|B(La|{}Z zhdkqjzJkNrnl#kyH8%NO2CoDQ=Aerqw46*L&x5@{$z(C~G=`8nIuB{HbT?1eLW7>> znEoBP4?t^37syjBs5o3vJtXpxu1n%L(BIF|F=2+JR%;>o(%egD$ByE-=H6T``v9#} zEv9`H`BZ4w2v<716vXqi;IwWr={V#LclD*WQGP@s1ZC`~tj>7D1l2B#!mz z#+I=^aKrN3*kW=Cw-;Woj;wS6r?Yn;dqohD&xiv5aw8(LeVt%pd>fT^*oo#_PT;QE z4VV+VkT;=L7!Ih7g|yJ4v^*w-XxD4NsdmoCr4s=XHx&dYcNgP%(|o-1EUkL(#(cQ? zI1X~#p9%V9#EC8E9Zp_9NX5uCDm(2L9hxSGXO1a=pNbe0qan$d)}4oMe(szX;~9Bf z1z`yxtK0aCXZXSPWSHDCZoi?Smbm3PrYS>a3{|gdXf!UJ?1bg-=xGm)T{=Bd6G2lEvM;S zJBjK=S+Em*Wf;NUQP4c7L*0aKv(qzc*>TH7nBSFS!Lj}(?lc^S%$7sM^mPiWD7_gv zqsGI%st#(ZWX=v+dBCN0j!fa9g@Wir9d?ml1cAvTl!*GmmY_27_xdS9g%-iSVuYGh zX=YW|S2A%$ATIE+A&&DkAun7Cc>yDWBSi*SsgP1#AGR1)1(-nV-Ai=Ck<%#Y?t@h$ zmjqJ|YN6AmZG!h#`7qy31+A8-lWXUYyjt5xCQ9Dqve!p(%;1G|-;D!gVVMdM9+M7% z@xd^?O_d&(K1!AQ{|F=+wpKs>bVLxna#D5O(T!AGK7e$6^#`NDatM?+V+^*=f$cZK zz~8iiRNc3r(=0?l=R-coIds6P5_WNA1iY?ol<^AD&HqsO-hrAq(J!K0(J>ujtLA zHf(iyKN^;FW6-rybp2*52+b0}(ztbS*;NrG{#KAfCOkCC8NiOyEc;?X8NF?Ll6+6R zNES+2vFI>fpLDRTT(oBLp-p6|v>anD{uy?Z?P8_uHRxF1 zw*uo?dAKECh7oP(qW4srXt)QLxqKj;>%YRuN3V4_LpKWxMOMK99b-x=?(m#7-V#BS zBuG6O&y4$}$5h&G1zubthMUymf};IYSg;sY*1sl6Fq; z4rX6IfV8Y5JTNJO=`tBa)<+yfi+hM%n<9C`L{R#62B8gV@Zv%wXsq4_2RYxN)d@ax zZIeA`#0`RP_v1;)?_JyuMGQ8?mxH@$3%pL|>eHQvVcxg(|J55lhGyyIXXo;33)?a} z&KuXdG|n|!@$=vFkh^UhQ>)Qbtu$%{?EZ2FF7M#@?aE_d$%r^M&QZaTnC0ZUZZx*$ z#R|TziN#Dy8Mb@hdOWOq1@~2!;eHuDms>3?I2_!M;vWMb`+7V)f1giQdp8IMx88>; zU32nxVJPdoNsV1*m4xAjbIHKfb+Gn3$F|ZlfxZ$g)D1RaeO7V0BJ0txMd=E=vMvRO z4k$1Jt{<8C)ZJ!*jW8QFe2c=f3vsNQMlV5~aypDU^9uNvWhXkQCA&N+C_>+IOK)h$JZ@B_g4OlHs|Z z^;_T1v;5Zjp1EI5x~UGDV0V36v$OVh3#h1}3s zSmd8f9@PwrZh4)C`9bn*d9nvc%2r`atPg4Y7E3POP=&Zd{M}3ma%3#%$BMCT*B?U6 zQXBl7rpvio2U2003P^5#O}9JOFmtRYF_p&eY47`TQIG56G6R<2c)>nA(7g-``Jml> zWn#>w*bFjHD-AA2&xTFn38Fw3De`iMDpQxmmc>ncBJvyQ$J8pBfJT=(tO$395#{fQ zob66%E=nbrBji zhZ~b=$gKrTij+4z<$JV$o5_kH?Me3xkDx^VawzXA3|OeDLntfj>_33?P9#-j}IdMO)Ru(t|V&6vYJnpcCb z&TG@=o?-A~^B1D*Cj(23rC^*&4qhLTPJ?Uaz{(arlldHf2LvkM@bAYkN2Cb}o2!88 zr@(J7LpC*S2fkW%0*A3ZFlf?7doJoC;m6pD{kJi&>NvOS&{s^1l4iFV%wR43R)AdU zO3sbXlQ0TRgTMK_XGM|&`9^DYr`It~xjUJA8z@Oau77~`wn$z#Bg+MJ$zz|GBpbNV z34LCT;<}b7vD+jaNZ{*u&ePYNYhUn`azn*I>&PyQSd@i-S5E}Es46fO8^Mu{7m3Tp zAn-^}ft`Oh!q30%V0d2w#I27I9ZO4mws{Hdl5e$Bd$Jq$|K1GIJoi_B?|n$hx()}+ zbm$0aXPleXOsnR3(bLB_i59MoWvC`2IKRLj#~+o%r%9J+VR$q($l-GUbLXQ;qbb^p zmNQp^R3Td^22Z{A!N*Sjju?Fv{pR-4bL#va^~4Cc;e8IymmY=Z+jfFs z#Cz!fw3$SEOaFp`+pNqz>HL#^@&DE(0j<6_ic(zOxT?s)mXdXT;AYyH*LUZ^mo zz$iD*pyIBr(z6 z&&^*xgEczpfNtXqaP}W%y!xVz<{sZktZbq|{>w@5(Mx8$KWV{7^9FvV5zc#y0cv^1 z88W7e zICqVFJTc<{q?pUYl=qLwb)~c9+3dLp!6&(%w^@*{Kayn+U!}Fh`%tSP1D4L=`F{yL zbdqfd^?VXV%nse9^iCwFl5z=$jfh3@v~EnbM_eRkjR|Sju%H;T)m^gcP!Bc@02 zI{69Gp+ekLr_K3&x8M@0Tkz_6O?>HlPn6ofgDEm?VJc)tiZs{rnRXSPP=EIZZ00#t zK2wLVDPa@Y{)_7D&i$C3^psHhd{-hlNeU*lQEopnC5#;y*Z)`=9qn zgJdy&8|ozVIQ4jnW`ku#A{+c}g!ZU^>fuhAt>~4pDmnW-1;8<(-p>lKLL-uljxaRDLiXEkD0oYVWN*zlFu{yMIT!Bpb3qDdFQ?o z-Qq7a+gJxHFMP%MX@1yC2I%5_zeNW|{34%=Zo;WCa@^)MN5HA81$syQq?;qMsJEpm z`{v{|l$4I+a-)m55z4Z3{nI2kZ@E`+)VKqOPj2Mz)`>XdfHh}z--~s%i-JqhXSwZ+ zCTH)&vNMvWv*OdP;+@!qoD`pB5_)MDwyJAzx0+JmNKi6)IK_esj7-2|2cp3&@Buul zYr=^^8|aaV45SrA(KWB^;h9UH$bY6CRD6|U3njGKNrs-FJhTj#X*4kUbA#ZKN+kUg zWQK~Pq{+ijHT1ut&HDrSq~YQfL^j0{O~MYNk83V{Vrq&^=5Sgv=^|0B8wIhvmb?&h zD3d3Hmj3ExMagdDm!&Kn{iB(ABqaeU z(b+K@aD^X7A|#@r*4F~2y8a;#_gk=*HY;J=tTE6z&>;GnDnUx!!a*+S8EjY6XK#xV zVE0`ao<(*2zw=>m@1)Kck6FSKspj*!EZd5?!E_ZfAOF_I5Qct5e7=^f<-5buWc8lOKr2=&EDRL`#$@h^O0c8c%8N;XPLutm$I4 z5)8TMjoi%RAo?-}YTj$H`2}s{VZ0}7pYs$vX1{^1)mDJ9Q8>I!mj6ChcyaVRAXx_) z)BCLunYxnZ#ms~;za;?*ZOart9Ys&=YV5Ym7hRux09FhJL%xYGL>&l$!Ucsix<-wB zEy|$bwX#^Rw-L)XwUVf9H{h0iA+K?~2J;Y|f4Y@cY*^SY*^{Cw=)T?OkpM zYELhN@B;58cT!}pwtfTmF`YXx|EWhOL6 zBaZlZ8&xJf0waFsuH5;E(ch=cO}wy^b5UxVNFQj1Y~=vz$4dP5(o zU8SANH-kYGa03IST-f^xRNNavU-n(45q0zM&ZKV`_+$jFkBayT+i5=xC`11BF$ z4i%5b3sUDW(uvon#kPw~okz3Anqlmy!48-k5dtIQ$AjR>Ad#KqO|Qo+MD|vNs9ZY* ztQ2m+dXwG%>2qE+4Y-x5Itsttl)3Sl_Y>9WWYujj`&XYcL*0{8C+osCIautwfhqeMg_T~;T)m?nsuDd=z8OWfUDd^=U|ld0ZveS<_257D z3=H#+hO;j#NZpgVwg3H()c#wO)O$t3^+M%;$0ayx#v#w2uj%)XE zua#5D8G|+$`-d`$wJDsg;1-uK>oLCfU(e4;57PS+pP|O5*__=vH}2KpUv%9b3%FXg zmD&2c6g57c#S3fF;Nb&x)@{x>JlqwHVF%)=(uNrzA|WtOdkVnZM%c3cBWO);f}hsc zU{jGU9I5?=Gu#J=saqhG+@*wfKG~skS_B4e_(=A&-h??HzmsI!aTt1XA-1zyaKA+d zG@R8Tnrs*C?AT0IWn@sEG|+&Nhp5HuYs6*T3$pg68#oH&!6)P;?2*obd+`9$1%9A@ zHwxl>gyi*P)3Rax2gsrLO0r0x41TePNx!!(F{7d2$m{fcg;j9#V<}kKE(PBPap>Bm z4rWUW!Kms599^Qt{7=8Z^sm*^fA1(HYd71iwy>@^Z}ZK5+W$|lrR}~LGj|!lx(Yuq zEgA)B0S}4u$YA(exd9GrO(T*$q_lFiF@EJaRCRXEpxU#Kn1rdI_wWp~b-0Rr@HpDZ zGI-89nQmRK4F28oAbjf}xe+}G3oOr&M4x>DPBqE!(vjDvj?u=Z)Od&(s>)tb zs)Zt-dt~U=V_5nvm)@PU52Qw|hN|Po$fC>I{^(ul?vnE)4?f?1H)wi4E-<~jA7_sku0&8MgQBcriYxLyb_vyZ& zVJLnlUKFr8oY`!!8H(&*g6Z!(SQ$1KrufQ{F8<6-X?}?zE575&g_}{JTTHJ+AEe9L z(l9|f3~z5<1O=#jET`X*v1IJU~v|18xajR zo_ykU{YN>SZQZDR4#D%)O3c5Jz&SMD$9~HQ8p}11Sg#3q^VSfo?$<^`$vzqvb&j$& z!K8P%3iS7GfH9M{62GVCNzANJ_^rE_s@E0JKhr{~yv$Kh?%N8ZX*?VoJqR~WXt7&| z=YXmxl@9CL#pgk%qCwjg5ZD?q`;#=#S#~Ja`ADF__gvbvK8?KJID&``SfKse%hY1N z3Ndh^@J5&C<2{KcE2q|wL0)^ICY#5!AD_Z7%TG{VJu9+Qw1=E({`Xm625j?8u#rlH zVv+$PFFC@Jpl0&R@1$tic5&DinGEx;y#(WjoBz|>1ohcAUkaQkOy|eGBLY<_4sOiu z$QS$lPd;Z&;0U&Smkj&VTb^~L;;hQNFR-I)8_(^N!NS< zi<=MYIvNS5(MuB7uY<-#YOr9k1D(|BN4u&x#(H=g-LNDI*Zc`W;Z1o?cHIN?`ul{2 zrYghVbD<(}n2D=G=8`i~@j$q_pf_2WZgO10l{DafI;s# zI{e@)EOrMuRK1M~01f%N9<{U|;am#FRNM=3rl~|$hmoD{-KUw-Zc`HQM&x78@ z^6;#|8aq!u!pEu&*spvV16|}er`nTPb7eoBurHf9i=C%;M*all-5b&2t{$hhN&uN} zhO_CnFJSS+3!I|lQtm^|PKcVTLQH1q(2~|fx*%jVS81%ueV)c=>!w(-`fiia|9dW{ zcyJuIJ6)f>zi0~EHG#v%s@FKmpQEjQc~tPxlbSxcO}tNyE>n4Y16}$1B66oU94Hyb zM(i`TU!pYcy3(9i3BGM=d*V0FEjO+17-$?VJ1W{UtYS=4M`UG#rHTqSeS@A zJ!3@INtoy{pQUgwv;&rTW|6M5jcC)%&mKT)4JGb*@>jokXOE!t58l@Gkim->a?Xk~iEY zf6~XY7Jv9$#)hr%viS%%{?S3sSapEhz0(cJJid8WS~<#{U(J2IHr7A`2#3Yi4)~7y-`}Snq$ltF zYBEbG|GOw;zx#xWgmo{=YAyb)pP}L=XlV8xsxLi1mZw^Ji;ZCH5!7cC1tgVwJO@d@Z0^PjLP4ces67IBx0o!@N=8AY0qgoM9h*7M32RUIdYu)D=%*K>~ySj915>So+H=wk& zTcRU2?d2jhLSVF_5v##ohq03-Kz^MBofD9OWq~tLNl}%pdgH;qcy0oJc@FsZj!W<^ zq5#&Eia@7#D`~oAjd@KXk;YL8)Up3d9~airJ*V^N*O9iMH>3>y_#PEG=B*KxjQ1k9CrrSm zNj;=}f*Tk-ZzTF&syK0V6j4l0fanw%wxM-5r1_-7G^bK17*k9;N|n*Nn`NYHpOgL* zMj#q%_22#SE+eAzf%{xxQGQ-?MvqN}R;u*sxtso-R|G2@!S1cYVeeBp7z{cAVZRb! zc*Uf-Eq}}D;}0XSMkpz& z4!$j#X}YlN>cwsFe$L#oX%c>LPox9jaELCPYfW-1KM~QYY$nNPl2%&s!%DWNHm1kMYC82cI9~D*CkKzevJ=KKGezMY*yed(8g7ePNfIqFvV1zB7jr}l}b1t64-42js518Kty`T)T_^%fX7Rhl+N^zW+ zw-#GodXn|g9E(+g3*1u;FQU}79!$@^1{D<+w$6RY+<&$T!XiAl;F$4vtYj(s(*HBO z7|H7cQpDMlS$uCZa0AXi3+EX(JMmAxIw)OG#JR?nT+{^>?zTHW&*n8$%I!-*eg0X( zE^Gw{@(m6LxYCZ;UQy*F-p~2K7H^Mf;8RPykZX3t?I+skZXaGBEEK{8lj+d5#1YgcpIH_*cR`5 zCW(}0?FF68i{##=Tg1sipSo@;c7{X1w1MZ{qmmHqPwV9&Y58#l&^qbEwQIh65u<(Hws7WTifuGpRp^3clj( zr{$7tyZ<@d-co?)6UU*QzA+rvE(5S>BhM1D$%kFySk~5s?-nQHkWK}t?v-VyOMU_$ z_Y?5z=5T0nm0)*i8N*zwb`iX=W>$&}zMmmd*zMGH`Rm|E6&VFh~F@tFX!u_zY1o4HigMk3({f46zU>&9d7-76n1 z9z6(Bx<{bzcMRBP1b}-$HL>1(<-dMoK+ME-#eh&a$MOoAmRMC}EZ)m5KKgGxczjmI z+s**$=^rSuf6VB|-Xou9#WKB;KFm|07Id6t;rOEtvU0Z!(O5nQe{Rnti~6nU$bK34 z9^^$P^#(D3DBMQZw+W$;PFdZ><#_vFmPNEd^Tx=gl~;Vzx+Kdog~Sb+Rx^6-gn|! zMh<(*Sv;RIo*ix-54rZ&;oWg(aP^hoRz2Oq9iE@eJ+BPq>)|&#-W21qtgoVG%`kR+ zp9qTLUX$ZBau_JtOO@8V!orlF=y0PGjeV6kjn7$Bz3Mhr?DB$#s*BjBH(~HoK8lFe z%D{Fx6m2r=qQ>QZ*b%U*?7~7NHZ~>{CtMNGkf^_)lUN6SmrY2=JtfSn-;K-j(s81u zGS+qm@VV^zJZmk1M&B8Z$t#Sh1D`cBdCqOnPJ z0rjt6p-t#aqVWq39z-(O5-+e_o`ptm4Y{DGR~=`?pvJ8m7| zwdGRZ1WxxU`1AepY+g_Fq|%!Gqp}*_bAZd#o2N z{rb=Q^v8=nxMF9^wtci_FY9ZvlU{VfHMK<0?-&icKZTI&$A3jh*iDUOV$j{u0J1%^ zz*9R84x6wLJaj+VYoS7P^ooc@y9As##j`~7rA5&fT@ZI}FMB7+bHB~kld{Q6X%jU^ ztI4ML7w=G+&GIz)t~&L7@t4*e%tG1sN~rGLKvV85!!t`$agO>;)U>a|wl6oadLS8B zUC2hypih`M+JyV*ZIAUYr{Y?>Bz!SC3%vtGnE7N7leNBJ_TULDT#|-Y^2NBs3Tuv} zYhk*gBC04%#7k>raQ*>nY+Z5}O@7s*!TuenHQ@lxTk`^myap#@oCzvK|foSsj7a@2^G z@_G7n*<`%@=Mc`k5sn6* zO=t;m=P2+YRA4@63c|4(H2(E(`mAd%T{eFx{9GCaFMN|BpuHRhCh%Im87}M{vwK2N%{~&(-ZCMRCZ@sYD@O1rU_+TezMXk@&Ibx#mX&>*>Wj|=nOJ+PkP4Q` zz!_ebA5ngdsEvGpv613jq(dnFGI1fL%IatwScyg4J4|yH!ejNdFxD#?D%#9pU8pLz zE!CQP93F|OlTX8fQT#04(+5)`JMiief5!CqFT2diO~jke-V1(zlq)%u#jQIxgDbu? znRN}wg)He3!H~W0G3C(^u73S)p0g%kqqb&2(v(7MJ3SpotTPwY!*F)Q!cA~Oc#JGr za~;Kw4C8*DaHYZ!F{n~L4c(WIL5XBE%49mq*sTD4rg`RCtu041QY&Awp4{-8k$xTzamH+L5ohC`NRi@E6ER_>E;p=a z3zs50mQ4~{$9mpKhJ90YxQjvaxt%BGL4&j@Yc}Z^%&i_rCp>(CV}fnCovx?x zV9`MP^%(GC{$8m^Gw&2F%B(PSu7^N07= zEsR2RC~BUVfDcaGr_zQ1*DW*f58qeDKDSq^EFuQ(qJ=YRl^u&8$e`M z8Lu^G-SaN{N=!8pR%=dIJbPJ182kBa^QcF%Li4bUzBv2;{e468T-q+|AR^6tTKD3Hx2 zJvv9Iz4{ZzcdHE3HcO8z()Sjb-b<$MF2|Lg_Sr_ap$2X{q>FDZ+{25%{fPXI8_bCQ zd2r_hzvFZ6pk884SlK*)i##sli%XO7R)rC&tdhdX=>sG%u9$WiJrF(1n2gH=iCAl& zi5K%_!FS0NHpju1m0#Ha61Q%HddYD($9u?9noJq;BZ0)tixfRlK0xfsM#DSlbY|^c zd6=GT15dxpvm1|x!QR=m^o-n2ENdAnS}(mFWCz66qm@InWD%|9N`8g z7bPIz?gGg7m*;Y4oWklEUtwB^5j;%LfOr{Ap6^HL)4%ul`~5afvcC)c{t~cypA2WP zKbQ;Mx}4p7-<5s;A)UBHdvQwA@gy=@f_3$KgwyYwgVR@IMWdY&4sTn+eST?-UK0&i zrEH$7wIy8C73@q#42uRYV<0u%Hz2ooGOFF>xsQDWQ*RIB_71k;#j%G=yTZaDYFs=S zvW?)1Cjxjq;}py|J_aV87iTZb?}W7L(}+};7@nT5L7Q)y!w7X_P=BRDhe_)Hcb?o^ zp;N8DV3x4yMQvY3fJw!lu<<6#=loj_(>Aul=cv0dYk>Cvm}*k_GYM#Y#1}VjjK+O` zV(?93GWIrlqU26vPHs;i(^(u+)+Qy6UwYnC{{`0Q>HD2(OBmy!Y)vY?_MM<;@pv*n z$pNQ)|4iz(*3vDWbE!>)F5=^pXjU*Bm2*>>Z=<&HoUtM7if7B%;!;;O$4U)WO-RMt za+fh$xs3jBdqZUJc7V{uk)4@i&1Nkrhas}JnRWad_SDuC(15ilAqd440wBv5w8F|} z9dga!C~j}?;{1DnJJ&78wesgLJ`99n8GVv}sgPbbQb5%rKV-tjb7dOgoUImc$K0x^ zZ;de*uzUpANtTnlL958^ZU<^lgRn4j7R2mJ$!F7M28t(U^3SN ze@_=8Ot8l9_V1}Y??)Y-(L>rCdSUf1E&OJ95e_fggnz4I;ymYZdm!0ewA|)c^HopdEk4IxA_TD z7;ua@I3%HNlA_4fEmO3{c7S}gGKA$T5jF%FiQ*?{2Jh1|UTJ}@bLUT}?_LS+0_8`fc&xnqiEjuP97>50{BHU;fm~b-y zzwMZZIM7LVg)f8CJa@-=>Ovx)sLwsjXd<%e3h-lZ2}U`^5FI6b81`Ho%2$l!rfv!2 zo=INk7_D~v_F9*=Ug32+OZ-SEa z9mQF2RiOvK?8|d%VPwlGu6HI&*BoN!U%U@L!cDkakGFG*lUw*6VgsvtO^wUmQ~`s( z>nOP?$yseq$FlU_?83>#*-04_d;TZ}SLwrd4USj)k%!8AB`^a|18IbB;qWuQmqCUfm-B*_yk z0pn@+Nv)ANJn32TUp+MSML6;hXyLl|$-7qjn^!!!>oM_8!@uW4!9;{1$9}`HRjpub zeg-64&X;Y-Jtq=P8UnAE90AF$exkV92qI@Mg(F+SNse?FJTD(bm%F*)jD+7b#(fHD zI;jUC)^A8->phandWmJv?m?b78fscMs_oaq-ive~D&rBOR{fkI{+f!1xcPc(o z?4d^eS}^TiIk;JWCllSbigsLZ`L7du58H=|H|ked%l{m!<)-qFp0jF= zG@Ck8jI}lW0%_+;LE+6pxVd;Zc=*2&fzc(p<-I(;xM&_szJDI)_#DIR9|C+WlSC&p z=;45*CN8;PMN_A(5a}L1CSnGxM0a>id!Kn4s*H9AasIt^{>C-X*=-G@mm1R6SVp8z ze~Z**_gL^Jzh8p_LRmJTOJgGdj5c;RpXHkgyD|h#4_Ok+l1wP@z63#zpI~-Z6Wn+w z4YhgGQGRhI8b3G>x2!JF3ntNAf!838Hmt(80kQZ>aw04ZQU@%_5;di1qw3pBnD@0F zZywR*Uc5TXWvwjZe6w$H^Ym75T6Rb9RoXsi)$_-)XBJQwu@Z7uO2Lvp3Sd*o`#yav zdB3Cq{JwFCHYm%8M*a1LiCt^3=G_s2SIkWMeuyHp#m14_HR-g${R&+8A;U`j4W?@M z-SLRG9kf+VMjO@`t~L)R?rrDr`cpHU5}#5=Mw_ABLM4%0(PQej%?wFT51bh(jukyM zL}%4ga0@*PyKkz1Z5RW+5;agg&y-!UL4tjzQvKijD%x5tpk(bVq1d3=5OQv81sa^z z;I{pHUpziKoSnM#KIC0ag=ayQq-a|>KG6-svv%PaxbG#^>kGjHD+1{$HEXmx=}c_- z*<*ipC_YTMf-eHBvG=qK8k`x0^9H8TM!^)?^ShcD9Ja)v9Zv}tq6h1YCxg=&agsH4 zF%3Mt1(_D!XW~>RSZdiz?sm+DeX%yw?1l^oU>^Rx6h@a?R^Z>#1l+M`ANk2=VKvEg z!2UV%Y>FfAarmr4?&TW7#7U`WqAi9!-s;%ynMkf2lVJ}F3|O)0r+E#MFF7q1L)tbv z(@BT!gX0q!dIgjBWz9zZRE4&;i%@%r z1n2Ac3!=wJviWweans5oZdlA|Zs!vfZX$nA8sjxGaSMOe_f55Pe&T{11%bR*K$~6j z8WN9BDPrA&zSoL0r^UX!%e>9HYPT z%(`%Lm1hOj&D6%$=a+F~d<^b5eUd(?XGw4WESPP5t!zQw5&RrsfD6~hpe9wq^WEmq zSG0kNj|v0!(OvMCJrB#DOT%)#m1I`297xVF0grwCOv>1;Wzy4ZA^mI*Nt+-~=Ke0E zy-t->XHp6Z1%JL>|iqeAvTm1&l(1@4_nB_)ccTnLzyTQJm@j=KLh~dYV|NC$l1H+eCaSPWz2{(dPY)w~zy(USjD<%B(io@c+mLwy*vxdV zcXF2vg>K6tT|O$06iRE2a}H%?gdJkltMvj}|5yL1`OF6=?`g~tZq2x%uywpyMSFXO zactnf=ZRsa3M*lzNGB+Wve)~Xl4fP z;=(ZdMFZ_wIkd#?Xgs)|pipXmla5@y7rO(ViFQr?fN$%TV2Fng+)3_(_`gHg(aYjs zt=bq^{oxF_G?xn=MEB8%rg!wTNCpRnRa2GqLqX9kjQFon!X5I4_~tynM|EEc+cUR7 zA)n9Zo!2S4%1r{xXm4mb@d~A%AK<*zR&zf>XK|9}HgIE`rSPhXrSRdd>p)tnmv*IG;fS!BMzn{0l@W*6{F5 zFz5PIhMT}1XHSojg`xF6T;zcjI9gT!_i6+@FRhQ>&KO26bWQ=&>K?n+_z1G7v=pMt zc*f$aGP*`@0<4N~f~&>6{vjY3XDY_yM@bh(A~zd8{IUf_A7j+9IYTbAOTkbx3z*@m zO-}Rs-Z!^9M3P!9%-xw4RM{k+5e1zj4;qqbW!*}!uq%WF+n*p_zTv<7CAjmmLyet- zaFO`wyJ;^+RXhxmF9$x1hF!VVhrUXJ1TS#fHw3;~C91=)!xCE*xKsddGI5_@X$-Uoo5A zIX{%0`F$fRCT+&nJbVtFyms=3%NSgod<+}EAHjw}Px9A(E$IHV!e~DGUnjR84HP|b z+dU3cGooO>Vii-d;~)*zeulO34NS@N`LM710*dZEz@l+!cp_{omu7eYI~AXjcKNa3 zX50=+Jb%`6MiQu)L_yxbZ}cx3!(nm@VKD-y`Ci6clO?1iLkk`EUxl3}ljz6yZ|(5f zS~?|3g0s_+;a=;di1hd6V`WDNZPh9zKa-=ed{Py(T@nZLy?&(f`2ThJm{(JiT5~?bZ9Iv2S4kI) zyT{zz9ZKrF5724k4IJLI8s3`sk~4`XV7^Tad^v9jhN6Qo=Cl~A=%c|lt(0cHGZx_g z=zGT&fA#&FU@tV-R`ECJj9JC5nx>34E$x5$&uK18*miqaYBU!`xzh{Cr}KUwW6(g9 z_+4(2(R}jguOYnk&|<^$Ttv6^;&A87M*RHwC3WA{LSC%#haZ1OL(JOQRE?)vV3H1KFi_hWS#GTa0As6yzQP)y6?xVUi=KyA4 zCnd{9hi8#13T9XyfViPii)$`kf>P%h_VVLqIQ)4KmD|4H!CHT~b?_iuOL;@g{L-k0 z*L{2t$mbNwJJShH0M!G}A+yPm>{ZPq4G*%_;tk>YGj*U1qe=*^B-IZJS zB2qW!K5*o^qH3=z8Bs` zHML+o=T?9he_q6{!pV4LUI`AXmZAaGN}xv0hzg@6xK0{^eSaG1qt9nZn~yd8K6VN` z9u9(B3DU~c9|;lc9_mr zm*KOqZ-{cWs_62k6G3xVF)V(s2hVDC$+NKvV4!{qewk)K;*)4NY#fUldhJQPZCsf^ zMi=`tZqe;ngHBe{xPWuZxtS}|u{?7qJfC(R4&Lo1b0$r}Zxe-rwJDE?p))_TultKi zdKpZu%mYG?ZQ$0$?86QqeADcI1Jdxb{OFcXFl~`)5Fc6$~@u zvRZ$jl;IgVHRlqrf5%{jw=J8|l>*9Dw%m8c72HDoUl6FejJ={E%k7EI!`8uPZN zr}qo%$>YW?K$XT|q1R#DYF;2npZF4F!X`0o1y`}xKOG{^{AT*T@tH~s0In`P0qsu= z;pOR>AT)}DbxUl3_)lzRxhD&HvUz*-c$G zr@fzN0<|;8qNox$_AMvCVX!66^&>|n~zkdK4CMghzcgpi#F znz6O;8m4_yE&I|q2Z!hl5bZ8ic%m>3Y~zyQf^-{bJTYfa?n#F5dBK=;{w)sow1fvG z*%RnkXW*KpgJg_V*lUg)3lquqLf)epGPehTCzNe=vXe)Udm6zdbR7-s#L0g4~g$;v5j$=xASnLNK-s(+HBF}w2UMxAsxvi}Sn zazux8(Z?9kkTAkB)lsSRFo;5p9_O*SF2b+tyN~ z?v4raZdKg&QWYz|6$`4w_rloh+aiyoBXo1zD5|wc4EF3Vz~|YQ5qFQmS&u)KR=$vc zZ9i6l<>_Qt`Rp?}H~j#Ehob4s*cH@M^%{1r98S1qS$4!wSN4a83)`}7Jlk^aH#nE) zlVPpLMY~8C(!YMV?fEoR)unZNg;T%g9a7f#&*~aPV{t#P9sTNTyAs zY455*Pq_qo164R_uN~aGWN)tEi#IpsoeQ`2#1`^n1jF9Y5%IG`Ui-PW4Bnp=uy-vZ zQMogm>oSsNjTt-O;umoWRo0x>rmtlDs#_pkpNR#9MFL3!XVCtufDXeXIJGDIIpM3s z4)NMX4zGzv&lNvO_~HNvojaVaXYV7^T!<4)Jw#6y?Si`SUqtJ1BbK|3WFfzKc-Za4qLJ_l<)=yQTNU66Hm!d%H!bW1m{Pk)y~=M*i(q?IZwmc9G!G+HO3W&q53^r?0cGu7NLE#v1APFT~sN$_i8$?&07FVGApTEb25$| z=nxq%jfRCEqri3*M^<%|5Q{lyVX93c9XI|cjvIdg)_J;Nyyh9)l+wn0fW>svbDrxw zN*DSr9R&G#DbUuo3bk*@;vw5)YN>e{0ZW;I*xRJv=n*>c?76J)6sZ_ym7E2xcEjOv4u*ySS~8BzoJD4meVaTh*t} z<_G7&pO=wz?t~QXME*y-tB}Ro-E+k+UCvyGy)3a`ww~9#OK_jhd?56>rrq3X;~yfx%Gd3Q7iq?Xj-gwu5xZM*_Diaa4;b1sA@@m#9{U;41S zfCjf*AxjcY)7g)*iN47UcFf=roZGquKU+)}mDlY9V!9C0PQD^D?;Hc-GyvrdzsYi$ zxkSC&^hf6~BjMLAK{=89`}FJbJi`(NN#Rqc@8%_1|NH)wots~G%Vws~z-9E>uv(J} z`5EWt)F1t~eq5s?h>v?QYKd9lBD&X`4<$L3;4>1Y%!mFM2IDZ<_Z%Ba5L9=vlcgU5>* zw*RIZYx2dA?L2t{PW3lnzSbdJF!3&ytdu8*z6aq8|1sb(QUMKYe&R8?N2qAf4)$~! zn}6M(ha>R5VqPO->7FOrxh4hr3kR?+={7d3`9E}>c`(**^!H^A6(Y$NS&B$hD))6h zv=Wj^CA4W#k%TrWdzO+Vk)4oTLc)EW50Rx(w5JjZ71~ou%kz2u_}dg5R*Shh zP>-LnoxE~&gUMU$Cw0EJ&GP9!n)7Q++(W{&P(&|Bj>%a4^ z_$@8aA=5?khvy0kL`Z#yfB)tWi<*P}F zwFe0=l>pV~60o{o1f@Ho(AhYip5;HJ=6Nr1sO-FntKAc-YZ-z^SWDEjI%$%>dneT1 z6lcngJ|T;`s(5n3aTr=6#6JHc2&>FmX=7hEUs>ZMiM_QK#Z6oA!n9;?xLyMfqyEw< zN6K;O{9_!`PK(qp3ueLaBdXon0)u}Y;8909yUD_nS{QwRql&BPNPiq&R24+)`0bE! zE1pg4Xyf)CtC&Y>Z4mJN7W--r;_cCS;4bJ&7ALyVcSb8fLoXZR3ZG#>&3igaZ7kE% zAWr?Ol-Z;Y4`|+F4SbjE%ggB^q;XX_ZQi#M>|Pv!KMh&%acdRPZt};ed8M%RQ5|SB zZ6NO#D`Ly}Vg8)+b<}OJ7RH=72_y zbd2yl%gt&;V6F8WOb%IrjVG1x@`n%zh~EUu4a(`rmoV!3a4t%9|DXy^2)8n-;gw-E z*uMAx3f+>-i86gg?)o1%oGeKE%4bptYQo(jZ~m)4uY3n^HvtKibPO1&>8zWTX;QgQK+?Z zCjW`o5Ayf)S`bobfzz*Uz*NaB5Pouta5fG&u5&dts=EXdBGRlzj0E`J$^i2xiXgW^ z3wVCrFzA~I;~Ij9v7P`1{klQ7A4;L|?}Kspi~^K*C}M*_8P41-z*au*Mr-p_5SjiB zy!WNU&`2IpRIkIn@7}O({&CzmC5o-6&||INE#yD^;=}$vsLmFvbb`;dNsMsCIVfJv z;3MgI%pUg_RBQPqwlP2jck%Ox&a<(s^4Uao-8=!T@h42VOf3}VHIuxF#l&7^Hda+s z;%D*Gus(4zQmGR)SYy|uEvYcL~h4V zJVv7IN6XsD#EWJ_5bow_wl4PGZ!X z37XHVi0oD^)EZaMzwk#LES>uncD&=fdZSyYS7dJWe(S%)W11~5+AbN^GG6=!qYK!o z;0j(By`?_5gB*P6v-myb8d?ViIl8joR25BmRCZ#Xn>ds%vni-(5+ zCM(t$);XB}5b(P$tUAObe zw~w>=n{3nRn?;YP#$_@1rjrLhFV=Bpn(Z%L|&3?h~wi(H4Zby=xejW{S{4qH_6WcKo-?KkVcF8&L71Xqd>q;>y zai3hKV>pmW^5r5+jJ?`N!`e$=tMNn{ zl(?5Zow)(tUpj^FEf(Mf*)EXae6k%S{?g0Q)wFMt3h3m-;@A%EzO1vhMy6mKQJ4&8HB&Qh@S2+v^2CAT;=p>53;&w7 z04(A77~{lJp~H!yymAme>s!3=NQ4hMe{-QSZ#_UpYXhX!IFr2g0(c-gmC=kP%z~rm zNkLi<7WZ+xlaDTFSfvbJ!d|e)@&oCtS%|UH7m%!Jpec8_)W5+Wp8Z&aYd-{#%I-Fl z+)g(N{>HW#af}7}NMQ zZ1t63)@#fPa$&H5xSX902fd6z(A1CS8hoRpYqYQ=xQhl&R)t7gf2t{FfRlis`xj#M z$fFF>n$S!#h$E(|l)x))zW7rkm$+UR$8En{p({j_nR9R&2n&g!mCr$X{iZuj=X|!@ zd-v1k`qiMarl)3gt`A-K(jN3pM}aM7;Je^gI$o-nTJ4m`U#5G`^0c^k;q!RTzE;Mapa7jL>GddgnNNnwtY!H%j4{bOU&m zUIgb!%B11TXWCy8@n1Z2Wj;$7Gk?CBeuJye(#O(u?Fqr_Kezn(NB^%g&z4#3Hk0a< zdf>&`4k#6IiB`+0KzC~&S-GWwzqjccvR4Xm;glID9T!52-c-@~3zqQLKNbVKIt6h2 zsR@m`u3$7;2}v1u$fo6gXanf-%gPR8lI9J*@Ny%1XdTOYt#gX_taFFlmMYMSQ(zQ^ zy5ZpJvBc?aByU^RFu!xcCF;lBuI>98#d&Zaf*|#&Aa5ds&OZITZJL#!dz#~ExFtZ> zQAfIXUKv%{e3_Tp70dg3I197gyYcMv?HunrhCMuX5WoD5H+f_e4%%K#=)GVR14iEQ zw5KHF->q@1Y)LR1C@R1jE2^``N!?ib<|JNPqeFl2O6ZRkA@<6R?KD$3m?~(Ru&*lZ z*gAhBoL84gPH)nK25*0p>*6lNDaRHTB`l|MufI_BWkXe2`=&v~FAs7fSDCE2Hy$=j z;WXS2#)2Pr+c(q62@1<*!KyxUVtB2P{Jq!$>{4;&-RJu-ymKkpRyv1w;P^t4F3Xbl zFBaqM%6QcF)4{Xa;Y4EUGN>9^39H@)lX={`;h^n}S57z3+U!6Y6S{{na=QuQPaZ&= zx;hix=g9p|S7zkbDyI1%AAGWI65F!dMAq&A>L>q<)I2)P>|OH9dAWviX8Oe!zrJY` zHj^`(yDro4f9LlG&tKj;vwek`T=0^+m6rN-uH*Gg8n*qLUyKHO;Ki*MxN-Xk_LlY0 zzn=|Y>QqOVa*-0Req-=_Pyx|q)A5mH7B;(lB&jFYVrNb!{V17Cw{3h@b3slD6ZgsB zw6qy${HzcTrHFHUPfe390cSiaXa@ef1&BzCG)?%noL1&t$Cr+;hwpl3JPIBOC4I3!q`ibli2XHk3i)3FwN?p$`;25klst5Ai__OUE$>k z&raJhdwc$p`6V6f8Xpt(d88^6?Us)Rve&Y6NCZ77HJ&*wzY#ZI3Bu!bx4~{4A2OFT z(603{JLvB2hu|U=kSrn6dGrKg9MlA!IV`d*cKtoF0huy7cYY#H$Rr>byk?<9PNb_ zOeTaL{7pWUE&&C}t?=r^N)X8r;T1gg#w0f}47@T6XH6)f0m`pQUr(o#(Y&qS!B$Yjq z#})pqH_F3iFkiPkM57ngSZ^vwEzYli4>!``{nq1PztRjO^;f{d50%ufK!~;5kpP!9 zuj89UUzAxo1#`TH=;;ZT)XuPh7b}oX&V06lw;L`~+o4dr(`tjQ%j{7jS`73ZN{G6p z6};NL5px`-qU>Lbss;%Q{vTJB8oAqbB*cr4oAo7_Zl&2wzrH^m@m|KhrjyyIdNJ^E z=_1lx-qH6fr~Mc0!M@xd_hxXjW07Q7e6I_Qf(2_UcC2CJm8UZ4I#&G2-##Jk_(nID zhlA$E7wA*z14o-$z_UgIy~f+H;)R0H^DCJw4)A2{RMc6Q{${?%p_}0Mt_dr~ZNfbf zUZlu=2V4S%Ian&eEMxWHgSQd6FDwC%6{Rrk*n&GO+y8PwLR?u~u zN-DyW$&VSLjNcnUX2qQ-T6IJnTLyR#RIiO*b2$GU)v@r*;yyY0(~OR1Z0PTxVP4UA zMJU?53zGaT>1h205Op)h3&WIt3gULZQ{BmLnR3!y!z0YgK~nvR+avDsh3@4RxWsTg z^F^?WH!yW83<(yKC7Vj=jB}wxU33Lp8P^Ll#9qUm_sY!j1Uvr!>_?QVKVQ7e#e=s< z?$%62ojQ8n^UlxzuOBge@Dl77xS)2n1d%+^PF%z8knbs#Tpw)-x5f)HF`w#qgBGXI zphbh-+a63eH*p>`UEfKc?q#~q(HA9+XCl+A!1XEh;9V@l90^FTX%Q>O$N6gH?LKoX zJO7z-94K1j=#DnZV=(nmI<_g?#=Qe`VE;aI7@qK+Mj8fyp7R}e;ZT90<2_jUIb&Eg z$63ry_xIdxnCmBJNkf+Bap>ALpY~^@lUS=0unjY)e%=tfz}1lz*`>m0&GUn zn9=$M z7jgL*39VlJL~<3S`IBej%9K>vWzfK@v2K8~O|#(h`1No|KaULNG?OOjNJx-6L6+|q z!nxMV@mD;Lm#FWLsBH?%f_8&%Y!ujUsDn+LKSN4{2Gc4b56@&z(1nMR{;NN2#ccnk zrY$oojFg(&``(~#U+1}=l|738=qt{rgu{yfd5j8}O}slM!4r|qa8o0nBsA2KW77}7 zq7~~Xqaubi4^NYiDJsOT=`-~@CQUwCSmRQ|1`N{wi9gEN3lnGA?x``mTxl_$t_&7fGrWI(T>D-jUAq z$27gmm@IN@=AGbX%Uf3tK+DTMupGOHIi7f&xpi?0!!ej(pySfQmS7tg`!R}k^^0Pc zNG$$-BaW^Y1*rMvc+ze#1LQAT!b_WVVDH!B$iq%(4trEKa=O)?!_@BYI!c<7N%vMM5P5BYNk(H>r3F!_ zV6hNX^Fl#bEtzMZE`*hiS&%6(N|MiS#V4u@*oDRWuj656O5^3kGW$ z6UlLf^ur2$B5!*JVzXwVqoqAwV`hN&8%I19vL8DR*}&Ahf{eCTc1_#HO;|NQ4CcMI zVcw0}L7RgYCN%nht9AiZ{Of|DY!rHD_t3o8oQKN^F z&9iI1RrQmXYSC3=H1&zuib+Isku52By#SstZQxoS2Vq90I5HvtT2n&_pf|acIn2%U zEqNU!>xhqx4M+%O!;HMupdWXI4E-sb*DzVdgVGf?Nph^e<%I(KE!luF$W{J(<`Tb z&``^3=o?vydw+B6*n~b(mhy(@Ibkebh}*(3hllX7ZY-uS^4Pa=Ea$foMpRUDVKq;c z+2}Ec*>&qVh@T6>*onC~82tw)#XCYLr|rC7@Q1IleK!twZYCWy#Z>4>0-kwh#5f(* zWrk`up$m8Wk#_1OF}>=*E_<%Z2LH$-m+!bR>EUJIzPO8h+`|p}uFqu(Y}~+JuAT3= zYYW6y=kiCgQgDvTcm9sxQRtI90=bHFS)DWk{21%Y=~kl1HIX3j-N?gd3d!VG#Z!7I zg0K-i>)GXc^Vug43+a0QMG(r(U!S+y;i$1F^T0TmH0>JVX|_IqgH{XR_LnaHVb3D6 z_MsfntK5bOhkGzV=PovV%He8_4WO1i8>@@FXxuSR=)25uCx1VL&eCX5UT6z8@&P2| zNfw5M1kiY=b8w{KJ1ru!HJp`K%EFddbPpV>gj{Yn=VWN5D6|W*AgdFejAR!`vzN%ud|Ik6)I`KF(NoIgR z{w7fH-3B2Wi(!sdC7ku&3~pxA;pN0fs1`q3Bcn0R%=WmggJp!QSz3FTA^R}x}){(a_@ij7@ci0j5W7Aq<02MzL65TPZ+~) z^}2(_GT-TzmmcKAz$??Ntwa38>yZxxNAcf7m5yN8eTUxnq3?gf@%8OzGsjFu zVd-xPzJjF+%6uGz;ft%`)N+0HW1j%Cd5H|}nfIASOAXZ2_Fl&aWHxUb^|LaFQ3X6Lp#4XMGkI1}TJ7idwroUB)aJq3xPQLShzeTw3 z-f^wO^wS+O&p(WQj9ZNF-w@utKqHtRKNXnYy=2fvin@iaCGUdPW5B_Kq*u0;F1Seu zsBEQ=j0N~%H@A>J=WzTkVTZ!ooyghS#&FTx3G5V4LioW*d{ml51s*GLoWNd;sJMwr z`zvw%huOGfW*OgdY9+de2%>J;Aoq6MrS#PzY|ZR}nnpgsNCmcLmmz!hR5AX#`U18! zMv*Haw@uo|)Pqxb5J|0jfhotjNRZof#;_`l{ki-b+kL(sk7(|K-CcbC$b?y~;*QC4;b!4;yb(N;ZFu00Y0ox+ z7!`9_a17yJXeW^AQdN|K=3H5WE2I%A?o5Sl%^#oriNLSr|s<+rP- z!L0j(ur+@zByf9;{M1U~c*6-qv?GWI_cLY3y7^l?&+xy8yd$m3QJ)Ta;&@haMw+sd1L=`pE0^y9yH@Rnh2Z)#=`>-W2QE=lZ;6Z!Fdx((YUMuTRk|RuXH)$a^M`Sd=UaYyfh-?UxX)B zO6dXnMg(75vQzXUe|>HUt>t0=8-&6!D^??ww={;FHOA^+suf;7%>xsuW zZeAzl4?}CB_)a&=QR(0m)>?fMo8j<;f`9X8>5DNQ`EyY6OC}p#zmYAuv=O(2E3(-ef$_aYww2OKDx90Mun( zLld_@_#jUK!=7=zVG}OG!}Y(2-`76UH!948O=yJNwNr3F^AY*UG0%C`vZ(eU5T*DA zIAK*FU()j`Y03CTV)_Q5xhV^re;L4Vzyh+;#{{+)dcdv$KKZ3*PHwu2L(zaFoN;+a z&K|M@W}XP6l2HjRlSRR2^#uChY9ZP0qYO#ESJBfSmXmpgy&x{|-n83FAFz(}JeqG5OI%EGHv|FRYTe%>L zNR7KmdL|9lobVBXe9s>kGi*)Hgsny>7Q%9)2pT3X${Y97kerw|K%aha;iZcfleDip zAUY}nWOu1Ts#7t~xWo`*HNsGDgBM;oWR8~B41U_FiF%R0sN=S|xV+&lY06Ec31#iX zF;xU&i+<3xBfp5Ft|2?$az5*jG8Qa^)tG*d2rTNpxNw;*Lyrl_alS;!khf+l5xHjv zA}O(KwB&oXU8a`of3TNXSJ#V-)^0r1C=5$|zhFnrDjK614kgtS7|r>ye6x5vRyF%G zu2-E+UatRzl5dpR-@Z1`6Y+!FmyLy4)5>VV{sh81J;d#y7BIAXI$XONMm!3u__-0; z^z7?+2tGTFeJ7*-#r zBjhJYZ3~CbR;Kh!yBvO>DULY`+&t{6GwEv!B73V-p!NJy+H#>7t2Ju*Z-uJh$=r(& zw4T$o%xWhg;`L;iiy_TzU4$QJjAx4W{2;|ok#6ibiB~#yQE4d?l2sD~QfEA%d_Kp4 zJ^vZ3)(`*pKKOk&ESYP)+-!lt$}bN%f8>cDS8ual`LF*eYgrFcG2w9eq8W70mL!kV z`KT^2hShM3#8+NJ{DbGiiJI6_m~dkes%BUc`;-D|q^V1u39FG^WkHyKdpmA;Ax?)} zF2m8+b)a7F3TnC6G5OH~khWNbqWSOW@6XYA^^Oes@sB~5q8F@kSPN-?{ct(QS!sJA zN3@w!pcNK`Ynx@*)ZOD*S;ra7^hb}N-dK_OtNE5DOle?^Ih4m#>Fsb}LK)2U4I#-} zUr}mm!1fFEz(*rZ=B>kH&gaII9TtgZW6j1h!p5^eTI~^p%soYqs@5_c;~h;-K=?{>0+L}&}*vcdY_l_K#N>Dz`|g7s?YnS_!Uq}~6~Uj~tVg2O2GXLdy+l`07M)Tq@y1%51=punAV+Qu zuqNwa{-SiUPGKiVMY1sNZ0djUu)A{aGj%^pv(U%CC(bC+sj~>x4Q-A2H(wm9YJhzE zA}WzN5ezntA%Du1G1v7NHK`SVvo}AI;yh8_yG<=Ldf_Mp^jh$FY2sAjgBx@hhEb`L zK6qIs0f%>-M6Zlc>{Cp`ba5s2$;D)ls}2C&pqWrz7(-a@ZYEHIJH3|3r;SS0bW2?- zW(VcN--&Z@i)uZ#{}kp;+v5c{eA+PoXg7a##bVA6>oq9}(`3({xXgZEBg)jJW`T$N zEH;Dl?zP(?NNO%fv+SZJgtogeeu*N?#1+D9iWag1dsE?joj%jBaT|NKVGm505I~-0 zYhYtd6`J=afbOO7%vRfIQ0zjC7VYNO3Ys!<;$Kni66XuqydFhf90WJspow_z687cf zy;%7~h+!Y9GR~U<$bi^u9=|0Xra#GodtR=1>cL$Cim|XLXf3KX|HfOd{87(1gkJJ1 z#|b8f@md5zc-(o2y3k2~)vlm*QpaKOpJlLJA&DmFjm3)}#Ar*^Z+`s)J8H}QZJm?u zkoIIA=BiBq z_HJQtn=}#3>P$&)Kt6hDJjO@bR@l$jVughS7P{KP&tiEdd{i0+yRT9>tZl~jyS90sY#{0*RZN$!R()3YcO(l zE2JKX!NWG0*gsi{d0e{?-&BZVyUTl&F`CTsZ>h1P;iuWDlMK*t?rdh&2N4|nFoqR+ z^8!K(ZOI?Y2$S*cW{~^V1rO))Y3IH)3`Jv~st;V==_pClUm%_a3*08Tvk4=X&5xR^Q6{ zUA(;!CSb_-B&yc^z46zL^{kodC-@PmiH{-0go^4U~#J=jHF4j57zh`9R8F znj16&iso*E=AF}-CQ3OEFBSZ<$DBoT!p5%h!zi%>XcW62cOSgUJO5lAe(exoyoxBC z6L-V)OOo0Cg|V#rq(ZjnnmYSO#u!UHm0_j64*8JY!FzE!83f9E$TM4aNEmtpVQQP1 zG0D+1|JG#I-B*;A^Z5>m$>XSw6yl>|z|`PGqUAh;XV1F{yjz?;?B+x=>v93Uv3J8= z-0tc1*jid&FTpN#x=itDAM9wB0@qk>hMF{4)!KJ1^ndOUBTZ;tJ!MO5j@U z4q|ZcCH<+f3A7gFfZ>UWM8iN9|EK;`8XP$yZMxj-w#?^jg^zl5x39&7?Na?WzeFr* zBzq>0V_Ix}g3>!q*JAw(?%tol^w$4`$m~GqQxBl$CZ}R#gBH8CM2t;2V9QhGYLNno zT%NCk9q@JvW0i#krnDyW9^9A@st=lBQAH&bd+Ot&XExx{ybb?;+WJCb`wGVSXj&BguP8C7);WZ^&BJ6nBmX*RmN<9~w!fjL$T2JCQ^F1lz(o z(Ww}iI1kO+jzfk2ZnE>mV!ATX3RYVWz(ape(!bT1|Jm{dm|WOG*QC|q9P68rhtn7Jw+>SVU1q|(P(yvRBVQU(9)A)WXou(0B^5?`7ruOez zrbWmNpI8aApH@q-PBLxKd}Raf|M8Q!A1Ed>bSr5(F+%Iw^>l3p3%Vc5OvaoF!mNq& zuq@&?{Cb^(cHLj;frABPUZx@8%pBgON4HiT3DNpNI1YR@9u_VhCr`#E4*@6OBDTg0>+t&}C3c^mEi{ zYfT3YEo1P(6It3D=ME>t*FZ_95&W=QLG?`wQ1mC~M{a5YwIrS@2~Q?FxEcJh@zY>< zjz0EejDuZLZ^`8!-ZXyL2yc32k<>$R(4BMwu4L_j!(=L4)^=ody{g$Oh90cejA`s8 z+eJL*kzaV~P!O5QZvq(yS@P19WBg7Yz_f$Y*|84yQFLcAZaNf(Df_RW_~v4h(-Wsd z^X>`=doPB5KeX6$f>SU-+=YodY0E@;H-pr1dB!?Mg&C7s${en&qAxd{fPEizP*zx& z)m`R5>wQfa>moTAGSg!(x{I+7!*8PG;5g8kaEkK+3<9Up8@ww&PLoYX#UcOHIhfRO znY;IS%@0!-!K*_Wc&TnNrmac9XJ?+1k*agFpz1nRANRc=ba$c~l^a5`t?wo#y@7}n9r#tQo74FzfUB%-ekS(>MLa2h5)Fk*VRy-z52M_=me4>EY zb(xzdeOf^7Cu^~jXaOEb|4U}s%)_g@+-TX7i*)~nT(ovfBSj9&Ky0T5EdM0OyOcOU z!<(1TeYzzun-@S;T+h)Jp<29GZog@X8K8^8YnnPZ4Zglp2G2B0+~)I*1g=g7rF$F? z`S%XIf9f|$vy>+>GkjnyH`~&?st1KGskr%^7_KqPfd#TjAR&i1A-0fcPq`0QWiw!S zd^>f^wBtOIe90a1i5f)9V&bh(&}c}8eM$0gec&T(Rgl3A8oSs>C%OK{JD9yPcZ9cV z^*UO0=LFh(&m)JkM46)KlVEtIiH=&lqT>=@(Pg!7ao=4h*7o@()^9t-=V!iFa`zy}or48d-?%wccy&=f;K$y8kkKUa}iY_Ikp|#9kWpFcYs`1k9ZNk@!4% z3R_-9lej;TSQYshUsxOB%S)QLx+)l6%Pv8qZXqli=;PZcO2W;!>(I1bg}GUG1HQ}T zkX217|HVV=lQV(Q1&hswbawmrlxfukGrETzlm6uum}J$0s_%S|8X4eS3B1i4|GuO~ z{CP3aDVPB_pBjSYwL+M3VFZ$YD)L%qULZ}8U+BCx1^j$!0a13+q7{>JP*HpXr(05k zF+E+RpQZGPB&VO$93s(=S7Vf{A^RzRt z!Zih!M&;Es#ix?QgTZjWcM5rPXA(|Zr-D8qFL|;G!MMiX9CfS)aKF1cy!i^??PU!* zif@QX$0s~pFp(WSDacMv^hAm4HW<5XkoSdmkml#cfMG-|?OpyJ?S8l z>Fd$+LI(Tx#CA4QX#%>9mB!WQXE1koxzH(n7InJJ+0M~^4Em_StlDvsvHJOnE)`W` zEqn9vr{hsLqumAftujrv2ySGJf+w?8-Uo@+k8uphEoI^*rZdjvk#OUJ5z3#qO3!`Z z^wNB;$D28kjq(0OQ|Bo&1x5nQU$HP~4h@GJVnI++uE1fxcVfyE1#pf2fVH-=>>OXt zD>wWd1nfBu4)&+{VF|`CyBJa0stIq4fE->rl9g^YWZC zm(y6pfrmsLv`@Yc$8Vng&u>UdDe7y1r@2|V*4?NFTV~YNHAOkN_y7Ao)Z9HrJc>k^ z(6P&5k7_;yr)x3^cVnRZ(IgVPZ8?#7)JbX%sPRX)Iiae?0G?Sejs#1;rgvsr;dqf2 z&I`O1$0qn;^{ZL<;{yYApGBF#yhQkoHGD6IyJKF&V6m_O*?th|SR(<9j*`UDm-eLR zq!BzYsUR|SrMUE|C8V9WLQX{2;5~_8@+`HFkW;zf9-jd=4?n`Pxk*s7GlTkuIMT7V z!rv-_25a(tH zO0cIjm^xd|V%de2>^;wH_S2ducCGviytLpj75Fs~C&>vhzh}!ZMS)KEYuPj?3V;7w#~K?v{&q5zMU9D@0@&$ z%$>=s^I|3DRAvCbvDh8T?Ix0k<6ofGm*r@nR?649^#VrM^?! z|LU)zZ`p$iw}X7Nw-ly7s3wgrhrm*`86KpV!o}m9=jK9yOJDfB13W*rrT;80GZ^LF zX_$)Etv~pV`4e!q?09@9zKjik<77X31(=X7^r?T zrAj+EMsH{c`9A(ADveHqlI{IqvGX7w-mIF zSA(S0Il941m)M!+BX5E`Mvu&e8;^`IVaZFlu3Sp3p0=Z1yaN8ZCCIRfKF}IJ9lywJ zrj2V2sVv8i%BxVLrv_HSwS~Pj|M+d}-(83Wg)?Ex!)?$nzZAVq)}nE>K8hUvK$PQF z;(=Bh=zKN~O>b?&h4PPig74mu>7$A8;VmD+O03CIUORvCU>BM5ROF}NJ$19EfqUab zPso~iZI<-jp(<>qak8%bL_z2O%16qX^~^~`Wx3fMLxZ@+OS9_W^>XVQFaFIh8NM5t z)hEUd6=rGtQyj@j$HR(yN!j8UdTv=Z&x)Lb+QRja zwCOgqs!KA5?p=VM-*Ygu_Y9utzeO!lIpn&-6r32@MIp zcN@{^P(4))(1H)PfpCfQbUT)^6s*L%c)SCF^sV%A?5mBy4UfC%ZRu-}p*##LE3bjd z`D094q50T1Ll}zr-4Sd3?nT!IYKSOuoW%P*18N=_3i4)hETwoWv5Iv4P3_ zmAmQcfex4_yn*>NrXSRw_tOc^GVGJh+H8lL9=ka81G%tw1QzXOaP8ha^s@^=#f%;d zxgpBxoQy+f9*@4x&7hv|#?U3V#n^8rt(e{;zfsV^fZgfq&x-BWVXv(Gf!AjblF;Zu z@+SN+HFT^Y>ZPZ#@pB?ny%i-n)|Dn6jLU0C6L807N)Lcr~Gyw>CZtDODe zRXyeVY`Sd{=$k_p6^7B0tCvvjLl=-yNIFY>-J!cs6Qt4FT-KiVmNwS zo3WM$KKTXic%BAX=m>+|83ela24t!vGHa6T7@VKN#%S-H0oik9_RI!#c>i2{6f_Q z3)oGwC$l&AsbI$ONz8ls0A_cKEc3uwk9q8mZ8F{z??*gupRwM;+sIk$P-w!Nq-iJagtVDhFLcuidwB zQ4Yt9Q#wkOA6CHRERL5tUyam7Kjba)Jrkgg4V85bEEBLnz4wm*EMpU6Awc{N(^*Djc`|lOOyvb!BsZ zdcj$=6h`6 zK7UF-1mL#gcX(mdiwT;g_;!0Ijzl+NT8KA(ksn8AO?M{dP23H=x;-|E{J`J$Zb3P3 zAKK}Ka9#;t2`2%b@tT6m32K zpI$3BI5oxL?h>P`5ku@y+0G~2szHtXv!0dM!^fKl!w#(mopxZEYgthsQI3XuA#E z^s-^D-IHXz+%HhFGt=bF$4Kgv-w2x@Pk@GD4d%|zQ%rioWY+$26bK!OhG?U?sFfOk z>wk#Rrek&3$>}oeCBD;oZDFvnPJ+imVPu2fH}Ek@wIOriHXgW;i{ zJ6y2#H`%aB8_XJV>6K?3zwMnCYdS2*hI0IspRcAee%CiJEtRs&ny>j}{XTBTHt_-Y z<|Obo_1O`#D{;j1Bag}dKXje_sJ?`Wu=U)ltiV(`*mJOBq>Q-NJU#iix#qX zq%xu;%E*j(zs?Jlq(LQFEs@Zs5*7D#-^cO&+($or{{hFr@p4}0cs?J`ZNALH_y=&y zUJBQ!UB~@~&gd~g4;AOeL(p7Kf3aZ#mbw?=<`vRt??`Y^Y!>Tz#ewDc!|Z)iE`N8S zKjv{gwilVn?4WAwMTfbp+T&(S4K%_7Q#)W)Z4(^-T@0g57Q8hOgqs|!*qf(fAicW@ zpQYDh-IZ^s7huNj*l&e94%@-5+mo3ei*y;S2Lg;-Ry(xr(8ZLx!|0@P3|92%Lbiz! z?ugz<*KdkPzU>ygdMy=w(rjRvdI-}}I-Y)dlL_IkhCsw*BPa^C@vKAh=;+#w|1Vqi z#6D*dSb3l7MPB`{KIEw7xK?{uS#&@5mMsm{sw&2lpKmGt`@JAfZJBE(tBI$2K72F{ zhxOlV$XMTvTz>5-%xdVtBUc1jecg>H>-q?coP=AjAulz`hw;BA-?s_CgNmt0&?XAnad4{kknMjVZI9Sx912}-)O^4E0tKm;ZG>l znuYsP4KPbHfXl_Z1yR?}Gn=bo@x`fbd_Ha-DNhMgct%B&#prC!CTR1_hk`OKvdwA_Zx8aZ(6gJSCrQ$( zo=CoHgd#04zR9bfK1`mZ_`~{ulOUPMdF<>@gJ1Fo`2MO3ZDRf4!UHMB=lxt55WdKt zWavblK6TOqTUu#kr#-1uml=U>`)aSohZ@{1^LGviz2U!#NBzp2Ke6TA;yY9MjAgukQbI8It`j_23! zp|7M3XssAa)D!$^fS3rL3H7AkUXFti_h_>U<%{_3a}B4V)xg=DsAHw{GqeadAwSP$ zf>Hk$AiIj8ZCfIITNMYZ4@$t1t@}XHe;@1|y#W1&Da15ffC+HA4YPbqIj#R7wfJ!h zwNJ;P(%I{fWi^G7KRCJKqDcwH57v^Mg}eA~R;sa=j;pfsH7=po=wtfif)oGak^=g* z@F#6Quo7P+_u|*;x$L<44ADHl8p+w^`1o}*hE2YRb#h@C8+jkSX(YCK`SFy;Bw;58 zvsmL?u_eD3%y>S`sF^lnwP+t4PSZdurD_cO6@-V4!_6Aa)q$0X=2e)8qWo7r?uy=o z26+}Req=Vockp8>&u}&5LI5Kjy^%SlZq8^%iZa)^-*ID2HwnG0hJBi|@Zz3iJY>{_ zt0#=$K-F}%MqZiS?y~H^dUEgYe7R0jYm1L@n-BSmYghG{%UHbG^Y1)jBo@W#`Y+N} zh4YwGk&U*KpW(Nt?f7DoERO7s=Uq%zJgIaVkh~;E}Q_ET6u{obVZ>BcYS=>g& zYF6SVjW6`AU?0Ei(l{`^v5H?Ge1q2SJqvO*a_~xY0-W@iz!#o$9_=?>#hlZUM1RjP zN!4ROv0)0PPqzcLwWmSgY8>qSGYjU_ZKpN^akx%v176ly0c8fyiN5$UJo-qBU6#W2 z+a^&o!f+fOToZ>$siHXfy9kt2ltT{fg6h7d^z?QX54ec2&Vlb?1Ea_qhb}Q21SRI} zwav`jr+SQo(M@nu)`tkoeWa7f1FuIGV%24s#5H%p>i8Tc-nkbhKR(94Iwu;F^M%-@ za~@)3ZUGssZ3YXqbU0riiG#gKFf+i0zc_k2JMQj!_TC#wwmbC_ma1ML(q@mylI(L> zB`u3q38rjquLQgMXCje0Bt$y5$r7EZW59J+Exvg40TojSD|XP5{r*xE2QT-(i%{a9bAJRZ*1z0$0?#)7 z!#5abI+Ho8Xac2)%D89kJG>vnV=Hpkvu7EGWimdaZ9y-M|KJAYNBcM}y$<6b!@y^I zbu7EtfhUTluo2_b*w(tonEOW$zj!B_rFp2p`Smwpm61BLtj7zUlxEOF%{jPLZU9eS zdy1vO7AV!+%8Q>N1((k5gsbXr;WyP`TzztYR}f0FOJq=LU^gn>HpGCSB7S{V0f}lJ zAnAElAbGD3;`=q2so!pb(BJ!H|J-KUtGgL<3yxxP$rkRGwwWWytVX3mqzSXOLf8Uj z=I*>YxWLUlm!@{nqIQmb^ihJ%eWArh5G^)flNf6kQG(0&+@=|2vzeZ4QjA|^J}6rz zkR~-Zw0+uvv(rV`_ZeSsk54L&exHPS){E(aQ!AJk<{He1Kp6zdmyHZ={XyJ|2;)F$#a~1?eS1C zpbcaC`NZS9E_3AiRd8QnNa7zF;rm~~c<)^Rnt!xGh4~7&q>|&?-BU!ATZ~$bE1Ak8 z2p`^yK;^iJyw5Uq{MbqH{M0?y&4~3^v#^PV{EgdZ&}dKZ|N2jteYu7mKW!`wK89!Q zte#nwb|AEObnd_UiY+DD4DZW5;^sb{%@AN%H?JA&z2gt)3oluwv$GO>=`n6r(TV&HS`q%iQjLBnI7+qyb1_)UxMX9b@1%vPk8UB1l}6RfA@|1 zhGcGsQt8pY8rdEo|a3CHewCEUpXh52PabRl-+Sx5eS6$ry60l)q|72r}IL z=;=NoEG%)x1;XZ})?9|2X8#F|AFHrqH~;1s>poa-8)xQMe}JCi^uuG4>~ZF0WBl1{ z4_ieuFw-`MQFfllT;_JTFZTX{RhrMiH+%}jR%@W<$xK{WsDz{;2G%tN{r9~nUN?>} zAo0Tdz$3RGOYS_cTrb!puk&8>pZefZEWjvD5P=B_+9-AT1$O=%#SKMbtjWvA_+w@) zb}h8V>W_+4c2bDh%}yg`_Tgr@^J6?5ORS}DwP)j>kLLJktpsL1o{Wtu6LH&n0lfYt zpSq8q!gvmT1ChuA$kQ|c)5l^E5%ZSZJkU(?-aOnYVe7o!s=6hG5NzVhEBk>Ad zHus{3mME*bU;?|%Zvq>NQ(3D&y6lo7ZFaM#9((792A6-O&K}vN$A0I_vR4cQ*uK2? z=)dz0UKPK9Es%u$M~l&CW(7WWtidpqd$@T+Gp=r!hq0M6aB+wP_Y=4CndpziF7i9+ zH4r9xdLew(j;ZvWq7Ux{RF%JpuLJ+ASU4E47qmjXxy<5oP_{T3wps6ovZkpZ6=Vd3 zT>lwx)%w5h#j@sk@6$}IExPwrtV@&As>*1VXb@iZZ{Fp7{|*q%F+xyZh5P!-&|gBG z?HyUj@>=EDy8Au!rq?NG*;@yG>)PP%<|=4ZSOZ(br^4?Cx#Yw7@x;I8C;1hB8!pKf zgWrJw9492lmOs_v{TNvTlm58F;C&}}81aX<)nX4GzaGWyIs!o^T#0#{p2pJ+6=DaZ z1epu|5)jp`1~IDVN#F%#`m{h3=QXQiRn|T*`y2v0iauaK=1DeS&P1kp-%`|F;Du^~ zsiaGIFg}GLm57+(*p^q{VtR`O@&Ot}50u!)ShH)ElVj|brK=8Q+*yuYIYDRz3$v-PFElq<>dNi92A8o@S zqxbYp;#R)LGJW<}&jA!U>V{J?Gtqec35-{&qFUd7k%-izAUR!!?kQ%EDUF4GU*yUAkn<7Q$S&w0mJ)k5xe6Dn|V3Tsr{jF;;J zuq^Bq)!lKIPEweQj$=cxFnSn=>w58KWemP*u0!)PCXDV$U(Crrf)Xv+B*`}h9&kLE z9$q{^hAtGl|0J~w!m$B%ucB@xq^O^>X}`?bZ; zI#2{}G(2E&Q6N6!vXJfGN~4eON63Fz1|NIu@VR3U9O&cNl9~3rV{Zvsl-45&{)s2d zmDrpNS@u?91YVY~#+w%dsma?ooIA7t-z6NS-9kfj%jAPJ=g)TP7QK<*xFZqOA4#x2 zv1#ZvZv;xTN9S8|o_LjK^|<(T8cvC~CvTrxz*miaB6Z^r@Am#9X6x4#@>(|3gYm8` z>eH;wUgGpLe}p%om&_lk{8kSQ1x#@Fk~;c6$bfo`yUzE|FoZqBda&1MALr};K&>Z_ z=db?TOMj-U=6~pP2IsO`_^_xPdgau?Jy(+6JUpLSo;q1#Os$qhpZ1Nqw?PUPMU0w4 z;SCXsO3xPih^)r{bv`Ye@~tvMc9F$5eqwh1HT|mW#I%e3!vD^vaxvN1abq$oJpy38 z{UK!ZodKI=_rYnGCt-pN+1ESm*`bi%crNe}tl+fvT91!{U9Kc!a$`Q+a*n`m?-O*I$sZQ$kE~aUInCyiJjR$>HPEg|C$USUz<9q3R_xP*mwO(g^q~+O6R3rP zaY7ji$Or#Y5v8IU3j%wmd!o! z*>q0IX7+~sIGj+MK~yr*$>wi?^tx_4vGXY;nYSL{;0_5kb=^cZYi$OpA}p@|)!367AFkL*0=d5@YMK}-5vojU^TDA9h#-ohNISvtt zplPu4Z8))wtj30*GE&g<2t-u_;nL$isIi_6cA3wxo#AvmS@A?h_8SRsF~J)llI)H> zs`PwbA_!Mq0r^D_;Og-@B5dk|_7Q$?W~KlW`p}OYdo!E!r<=2;=RWdQzMamz%~xc; zJ7<8{6M5zW#}2MI6AO}mr5UrzpMxYJhI{W(T~tSPVZq+Ks zk;zV&b#g6=hRL(LSH3{K$XgZpCVs@^O#nVI;pXB(H)>T~bn{D0AO`vyAW8?p%}f_K z{F{=JhH$>^=i7LzOORdr=rjL()-9TnuRvUQRT$h-f#Ms!5Cb=B+P$;@pGuFV;?I;> zk5v+E#PvKfmV57O`E3xHpFk>RbP=c49{6ykA7&g*gqpe;{4d;%c-?+w>bXJ^-Cnc2 zPYniS#pMUwe z{5Ofy4L76sV?^Ij+r=_?xmFD^>^WVdd7ZAGAH(w~b%gGQyKw*N9jKj`0%9+HVZyZ4 zu=ZCE(F!yrgPbPjn9wv3RgQ%cjwKCW{sRA#E)%FJ&G;1yF%8TYc+^@9GPAQ_5yx$~ zx#$*T^S^?|)lbmJvFxj!iZcVZ|G=Y7&tatHF0ksk5dS?9c4bC@Ur;3YX?+ZUsW>gh(uFl1u^{MpYtPrBPq!Z&K$FnB~ zRoMAGy6oI*s%+!XBsOQaGW#QAGCR_v%}kfqn;M+0XZ-S(kHy?6EKrwtdn> zc3GPWYvwLRp_8%NWTBQh9q~*i)tT^bR9BbhBWeBc`gwJ!bp^&?I{m;E@&{W?wrPSJ@ zC%XONZNn*5T0<2-1f>7nUv+c6Qu`8jc9ZLGRJdi2iPcs_R8fR!n+VJz-9RGWsLrwj z0_=r}vW%l{9Blb~lg>V-e*6>0vjJW%(X#xssm#!=@MxRGyDu|?@TGUNQn!#g3cx z0}r?L5X1d>*j+snd$vR(w^`@6xIctTdsosaAj6vH-N3i51$e0YF~{HBz$VEPoZ51Z zr0Zsq?45I{#)GBQE++>Ca{r=ZUMxn~Ph{5yw8Hf+A@)uyS8rb!;+EEE)YOqvxQZ_`lvHp~eg*t{TX*&P0>u?oDS`KSMT565(~ zIy;X@TO3@ZUOLdIXmLDHYQZt%TmRIDtJ1H@lM6#AcEE^TbVHf-_fEl_^TQSAwu*qg zNC;VyILdcoHj&a6W#+iK6n~d&A6D#;V{Ki;S*_|8oYsaS85naHc;ir!wO!l$fSjA7I>zIG8YakF%ESeb?#WwVXJr!e$t#3$sNT-}IKgA?NvSXn-4aah-cgvZ*8!OuAHo8a zXHYul|L0{J&L2(R^I@TdPt>NWa8#)p9K!)USO0rY7fwo`)~CvFLhJ>6XC;Z9v(#{n zgCm#8766lfRggs4bGSeED>d?c1m9~H!-mUF{OnuL$liu@C=kylH;Xb*!SO4(n>QPZ z-8SK^my=OD-VB_*M@^??B;bZGGITWSAhe+~&Jv%^j&$$9b1x)d@}+saL&3UKX8T*R zEhqyP*^0r__kK`hPy@5~TN7=MCpdAR54~yi5l#<2f$5+N|o?;H7Gf;hhp}!G0&UdzTTbS^A!e`5cA`hfBfZT^mum_y#*{E`oo{ z3Z{0@gPEzbiJ=KAn0*H8nOy=WnB6_A7@4=dpl;T~>$MeRB|gt)16B#L7pG50rx$+Y z`y6dBDGH#58}cxz_8m@p?2KAXk-V?<$58b8YglnX15%$P)3?HJ&|0?<%}>VTrWY}| zW4RJan2m$MT&~~fQ24KZ_+7bf=bZ^Q7S+{PSAF2?RN2HX@V>43@BMVbveoEGdNFB3 zClP;@1h*Ux@el1fMkUAYpN|I?p_bll)QuU&i5f$|88Mih-_@Yq#}}^s@FMkFEiv^^ z9@$kh#7{kW4ohUsaLHU*l)CW(&UqSx*>*uFh12lV%8|<*l4K(uNYNkNH8B2$0AZB< zP%3>hio0qDZb(mHxFi+ zGAn(~!&uq}W|#UQ!)G@*TgF0mQ4xr|jU&g`jpu9SXA{A|VqVs)$2>>7-59hp4Y&Nb zO^;28g&vzou)O|=?hVdFm(@$~_DLU@-rUr=KWmYSe~|9Q%^e&sFr>S<;+$)4XR zVTz-lu5kU87pe~Pu-`2b>Vw*_p!6#GNSwnH*?wph^%x&6sl=EJcP!E#q9>+Gaei@4 zoFuXwK}nCfBd5#=hkPO0DcN{sswAuaRse65)q&l-I7o*cGVyvou4_{#myc&_^(R+d!Y&d(|+T`fqXI4^+8B+F?=U$iVfZ~A=3dAEYarN|TJ5nA({}XX*H1u#hs_wOAHaf2G3i zx;R+ZXw2z$#_>CLFwE|LQQXckV9UG=fakgv!k2j9q1=shc80e>gT`!+Cmi z|2$@|C&$@+D$VK~K20s3aP&%tvrwrZhEg&&>8}_Yaxy`hgxTMso2o(?jdxzKTp*49 zX&Z*$7mqR72Gcmdqzue$sinmg8k|3GGUha$#LL`$P0!>x7R5A>Ci{- z>N=SIeh}8*mtdX37O>NochNPcZh_43F|b-#1kQD4sG*<@oep`pwo4Clj-P>s%~5#w zbP}5Oo`vq3GU%!~PkuKIQI!LS>5`~m=-S6|4PGVEIS!)`JamOVnih@fqKV*I@d%dQ zz5wl`n)veba^Sl=!B_!Vc5#3)E1nYqDejxVB5nzOP7fdtcr!twJs;K`lE$g8t(c{& zMyQyTEa1)2B0zo?tK8EcRw&8~Q% zPh|h3LHj&y(Av>VPW;eklUHrPpcyWB*GZUGt-g$}EsAhp&UCh9qY-=E)R%zgEuP&R z6{gHp84qRLr`xN_F!st5`uVvzEt;VL{JsYwoduZ7*2-WgZ3%ZnbfCrUJg?x3 zBA2%_N?aet5VJWJywi0#>>oEZf-OQsa-EY_Y(|?+V zhQJ!R@ysXX70k7vos7&6Pp16F21aG~B1We`m&s8OVaDtJ1oLIO%;4_bbYgr7Y3quE zd-HNYZhHnq=;gpW(G*Cg>p&s&3Gv!_j%?=q$NR39VZxbsoV?-)HPM(rJoQ_6?U|y) zOJh0dF3;wbtvO4hB*$X($#eA0;!31jYtVf@LBoz`{Ou-cB-rr)x4Q8o?eYaYJAo{! zIAF|iEmz{w@(4^edVoUT5^$SZH~nU}he#{`=5lRQ$h7}!$oVr7{U07hhP{HuA6DV; zsYdkL{Sx=rCF7z$_o%sT7w@vxl?s*l2ADmm3>Vi7VE+aw)>k%;AK>AO(Ob(3BMvDPNb*;Ou4u+?WF`L*sZ-Sqev)^MIE4S@_inmHX8 z7dO(tJ4qN~z-45Htz%2JrNG7|e~6rr0u72=i`~OFvEdM>A+}J!wBhGG@9_>)X$siUri>`HVSzsX;7xeT(pH3Cu z{Q9A9T8jVZIj2N#Wlsq<(XWpKp)gsPaT7^|HOD>Ce!+A6TQ0-j|Ih$#jg0}lb&8Dc zh$`K@T%Ob~5hOo_#qs+{1QvgjW>+rK$J4eqVfS4MlfHf>nfX;ToE?Y$V|?(yT|cVY znF@*8>tIOlD)zg#(ycph!x6p+b6|5g6vTa}zAGQWGD{OKqrn^*cPA<~XDV=^*7&i1 z8%|lDL)ID=z>IaZu*G~Hb#&Ok=yc72Ewf9p(p#8yl-dZxC)*%!sx;Kc>!X#!G#q-H z3|p?x!&%FxF=`JSU}T&$VV{4XQM6v{rtZa@ST4mRJ+#7vw}0uFjGve_#*b9Z zy+x19GrV7$_QBdGy|lpQ2M(~lygL!^AWrQiNKW&FirEIZ{Kg}!sT~iYe0z9Z9|Ko7 z|NhBrdp2vHB5R-CO%30_s<=Bi4eG9>LhxBHcHz_?G_WHc&z#j{Pw$_}20RjF3#Go} zEsh0xyEB%`d#@n&12dV$oefxj*B_S!eM1`o33kwNEQ&-~n(gmM#JLcE4%$88 z+oiE^Wd0-Yun~vp&dZ1k;k@6y{ZOj@7q%U^Q1RO{7-iN)Q^yA@!Q$ob|LViN!GYsm zMb;LHDd*x1UU2sj^U}Q~Xa2p9@VwpF4YdmFIJ0pqZB-&2@tKhR5Gzt03-FTWHafWP zE0pwzGw6Go3JQKh_-RgW>+Yf@^TwM!yRVJ!j;^Rs7HcI>hYO+M?h{x$s18fq4q(ej zCwlF;$2%mOKzT}s&}D2HPHxtLK&LZ+bqJNCii|O|gZ*J0E(>`L)GQWdKDfW9>w<0B z#$-(vhF_Ao*W*C@#~3b8BL)uH^1(*Wk~W7_LPE9}(=HYU<3ddlkJs?je1E{IisMXX zk1=ziJqpzBCGwuHnT%Vxoe1yO95h{34TqnW0?+KW0MjF{@ID^wtC^-Dm$DQrv=^a38ZSBEE)5*mAbk<;TJI8#MR0omlr}7@NlD7U1hR~) z4+n-#;FR4QEP5-=mPeoAXT>GKIQPS#IW3+vXUxRL=cROJ^IPgMbdx0V_JF$c2xy(Y z4CeVUaQ$#Td=l!1n09U_Iz5R9T>(cyo>UAQ+;mZ;WH12neAWxbGy5AUsMoEKQYI9HGJIK){8qllyFGb zk{)>e4bCf$Vb>p2VP#J{asJgAY(PaC8m+N})kXK9ukT8^b@EeuaqT8vdAtMk{2nvM zGR&DLlX%SZ4^hlZxWp*F*I^dZ$#6hU2?g?RqIt_synC*PKl&$=F0<*OX-OeOL!^No z@;ZY7%2U_?9>sV+<=wYT%Q_ zK3I3=5h!avBbT3C!5H~a^jp`(Pm2ho<^5vN7Uc^r_qTw|SZyly;SEM@IZ41igs*w_ zHj1>2(9ThBx?kow*&rO z)QZ%T9^da|_xEzJ8ZU%qrCO~2nrxgfF$ZQDRP(L1wjp&h;hzJ2uuilj*?q~T4>p)G zc{*hzUZWJnxO`hBkYP7wd2$l#Dr|Hfdi>CzJ?ib<2 zFhhFd)dS+NxtZi-xsc|_7kGTRI{1eSn|<=-v{XsA@mrz^&g|x);6j3sEQgL#FR1C* zGa%8*agXQDV$GvWSkGW7)}x)^;cFjA&6+US7tq9ex9u#-aXrh1oOvL1?LITLOPiVI z0L=QevCPt=kWXKHitW#=>$3p~hW!HQt| zG%eP=wiHK;+xRl#v*5^=KSaJck!-FX4*wLdWuaH0Dw*FVZ_)eF-9Xn!$U;ZhF)wCb z)Bif3299XRI{H~#WZbwK5IsDts;Fewk?7EW_Zwabk8sx^PW}GlE&7WeU>7FfBYyW4X*$`NAno>y~6Pnk^6A2hKzD!!EMoi7jMue&0E=m*DfENP=$* zsL+gbq(A%V%MT(t$pFMy?CI?VS{Kd) zYd;4@P!6pR4b!$Ox}5g*1U8$9lI%Z~yf^ClxXjR*9a$U7x~bHnS>IeZm~226s;k0m zmr;0MbD2({*N9#0BEH_lXVmCb8&)qfWY>nzV3Q&rqHv}JDQZrJnFBxJAe)Lu+q3ZW z;buJhAr}?m`|%KW&z-_tq+c3(sjspicHLqj(d;^S-#Si(Lb>e7advQf_kiiK;Y&RI z;V{TCAuxo!eDzoIn0GE5G(r=|j~#_Pzt{V)>_!#d344dT>|-i4-ppb6c}|=L(2UGf zUrKq`!$8vg=6~}kGpj>S;;6NSgo4!9jdj{p+wUbU6d&{NeA=xpNNk#eAU((eTgR32$QtgCab1Gm+m}9mYJcRoey7XYcDq3OxkZhEhg-`tl=q9x;TD3wG zJ~>6guG)og@LetuU+RZ$(^SxGXah=@*MX}F15xcM)Q;Pae)ye4-MIN7@sI*EdexJ~ zr?fGxF`{A)bkZ4|pS-c_G8~z98eAU*lBA`lF=6io)TrN!YdHSvVC@7NvVA}E&hI%m zH{2s#ho4c4u_a)0b}=LMg~HJlb(}V!377S3g`@JPsYbQ|xZQ9h26LlvSU`lm`f!KFk^-fV$h0-Y@MVBPIH}$+QF(|vnLvYLKf1xg-MLM`ch_Gi4?O} zHXZ9W=&-Rjys>#mk(3zOfB}aq%NbWim!&&V@$_mO<2{zOcpQVJ2Dfl}nj#L}b_Cbo z74Y+2HAIL=K_mYwcBUu(_a2@zj;p^Mo?~(Rij+b6)ZWU4ei3uBRo?$IpPuty1@FeM zhXbouLdEnGU~Clx?B|K3{gEc-#gx;&d7+~jgN&9)Ag$?*zHn?~@%*Brc- z*~9-l8BJUDD=_ttUk2MxNiku(ZW{U_5k;Pbz{-r7jPAyI^f8r$HKM0@ z7dO|S@by?!O1%mPr6rjkEfXMHm7D8r?D68OcsglM1eLuq3IA}}0v~GTW7{izO#Leb z0@G`NS=|fbaR4@14nXdpG89eTjmGE4q4U^-eDldl z)V{Zaa>yDqKe!PJg^KCy=a+b?<2lXW98t#ik_L0Wgka2b4HHA6jxlLunUhohj>NlVHwst#a{xU^}(HS(^Hk?iy`ADW6I12?v53y2K zj{RA#&Mvcd#lZSx+HN?NX1`X1Rr}_^`LG0t{Upa4Y7fwbB|f;x^cU(^r?N}iQ`pX; zGE9GU0el>v!0s#+xV5wq{Pw7@s;%9aS=vGyel>vSUQMd81K8CaqU`M5pG=)~)q#er zf%J8e;91!T5gh-~O;duo6G(&GH-OjZnE#5v243A*Dft z{$08qL!x5PCf5lYrj&r7r8Hyiwuy`^?xyjUFTveA^uPKL*HF3j)DLTm+Fad8yE4tH zI7d_U#N>b9!=YK;Fwt}(FG)n24o|*|#`>De{Z z40wz^fm3ZA;h>un987u2v){0QzU$88-8Q#@_O&PZ`Mx={%72mBYi%`BR&p9Q3kySQ zK^oLw_9q&}U9{xoSRB7li|h z)Apj)s!gc7y&wBd7?3#|6ENk;0GcO^WBX>TqpNSO=Kg2rlFP@PV9d2UBo3OW@MT>R$^$PdQD4@er8lhv~6bO=$2lE7iH`dqiM0d+G^J~?a z!fMWUw|Xl(R%UgwX^rddqXvg_H=P;#z_E$fj7_r?JQJ8XiHoSSU5$g|E;H(uv&?ped96tC8 z(w`>aQs?hDX;&kB478$qI|5N7;Vf^F0c9O;Tm<#rN$^awdNI~K=^odofM)p+#B zB^rF4B`(j@m}@tdFjFGJU~F*!ZnM~cW1kwlIEvI zFs`>^m}BBc>407V#s}8%^9>e|#28_=$M}(Hw#0Xu7Mh2_skZF%!1vhxb~(07m($i` z2l+H>IxvQjFt^zj-z^<$CRa3>;I4c#+mi7t4-TkXP(63#gh>aYht;mtA;b!KXPoDgJc}B4BW<6AY zxkTQinByr`k&3Gpd2s$yCu*f%APv^r$)oYgSo_)svt*x^FZ<{TCT<@|^46Dp**S0M zTkAz2@q0Vo8VM%os>bC=o`&tQ@=ztEhwmp{#q@axs9^7SXeszkztmO0+r~7|?bRjx zn@+f)cZ5uOvXpTxId#_ZvH1E`@HhT9iJg7lglu-D=RZWDE51JeZ9W50rlw;c~^25O<|cmwP@ z^%b7@#xs3kflT|;F;K(hJ_`-q#}7T+9({^4DwlJ!@7QjTU{5lZjvO!Qn-LumAH$l< zOS8HAqe<~wH?XHj)t(rlVeL4mzIzGSDKc#PK0$V%WEAflT8%k{lVNzg2=norEEBP5 z5&bUD@wSd-fZ8-IXe{n4J$6XTB6aPZ#CuK(7KJmX=Npa{wul>}u=UBq|9w8)zwHpJ zmD*VJ3rv-r(4k*ty}`h_tnc6bMwxg9VYA&){K9E+%etmQ?(z;O(fb8&MFmwWtn3n_RjHbh+8E|J?Gmg1G^ zT#t5dkOc0S#8~aOVbsc}!m{W&SP(e@1tRv6sk4INbjd5^f=}?bUL!K{v)FH8I_&SV zI5_KC57X}2kQG`Jhr@whKlOO1H2Kjcx>gkz-oOn;ibfi zipl=X|J4)yQQIJQtA!R~r*AKbZqTl(*Sl0zJo(>#L(ixHS4dsKJqxyDO_T%uJ@Oo$ z>Z&s9CM+i}-sMo;H*27H!+6H!P!`BO_&{<+&0(8QJMrR+p{eXqJn__(sz0*?msvOI zN7d~Z8uf@aypF;BInVfW!_Se|)}e4AR+RaBdMWKo5oR}fme7@kp}el(Z#1PZizks^ zPCGV?fqVDDD>QOTX|pE_hNovSy&NCp@2MCZm>7t2&i~}gr@bJ$Qi&u~b`L~-V);uJ z_7T&deAwG+#E70!XM#=E5c#U>C~h~xyT=m-pKG_s^ur&hT+cKd=KjWdPg7Zc$1K+W zU=Dh;P>!c4LX$$;;NXTAP-0w9RO|&%@^~@IZj@qECmv-_s2^uV=sfmt{9F>`83Sc@ zvzQypuY&(yJ=`281!bBYc*SJ_(%(N|qmLFdX&{ql`RWbYL8zOSbQzYfRbhmaSoobC z!(06B2j6jR3(9! zas%GbI+)(>3Y&i#f}OQHoblr{6DPTxq`Fi1`qye~?^nY8Uo&|6(yin|Zzi#odqGkw z2FRpY2jGZAAdL0Vhezk%VbZ!W>}sR|04`qL#W`&kuv;GE@4kW>JS2L)(J015V9mJTjMR;bR04_R~PxEdbH?z|$A$9hg z=5=inyr?||#}m|{Z_9FC?R_P>YD@rq*s%ZvjMhTzk82D;>^xRl!o)L%OYznHC5JmwkQlztCn`?(Au z32km(&Bu<85&EK4AHGYK)6u6qj8yl9^rT(rGEtA;8=nrkj?)-h?@pNY5^(9eO4B#t zOURgNcY3(@96eyP3!BG(!-~oVyonTlN*<+c5t*>Z+81s6Z2}>N+_-u z#*{~#ex;`eB8N7Dkd!AG444CJYUeRt)C;5|IbZ3bPvG8RPJd3+#WO)ZICp6ytg-(? z-*s@DCe?JzYg+^n%JPtO$qu>?Mbld~PpJ1~eVoVDAddM~bmF?5II@eP!U=*7`i>BL z{5?os5G87Q-e`Vg3@-Pr7hE4L!_BV}>7t8XQ(9HUbkvK-G)R*rkSSI&fwC(c=JcdsP1GsNbw>N|*T&^f{y>l+X3y9#nFOTWNwm88A zK_2z~oleT;>##KN2Nu5iimQ+8MzPEy5cw{_q?$;>iI|g?zapxs#IOiz?Xm-^`U2zD z^YEo{HPxw4!LEiWteD?d^i`fo>Ru#+N=+28`6)`5byFxBJdEcJr@(G5lQ7}2FPzTj zxQ4@N?2lAAcAZf;?0;bjolW=2*QgxOH#x?f_V-{U>j!x6-Zo;obTm5c_rMkF4Y<6% zN0{ci1I|sp11sMgg|AaYm>sSDXrFn2RhZO=U+XNHNK_ z8E44s@?@2-8L+cfh2yN})nNL5HdC9P1G>+Lsj($-slNG_eO%{ghL=B zu%_RBuf$E!I@I55HSG45VY+W_|8HM5VNsKe&wN|{w-%uWS2V2J<*&1RtL(q?Z9kDt z_aBL2%F1)qbRadsV-4f>edGwyRm8EGe2C91?6+A7J+@1Dlf z)I3NNAJme**$au&W>JKw3sfd>H=Yyb_&2rOxiLzRmF5WVPd*@m z`uTJsx1W2MZ%*%yYo{@z=CJlgXW31YeAw7oPk0}-55mT|@8M7}3;y313*P+>6?C6J zLp#ehn6$+bi%e)0JR%9O2Zq*96GT+dL*CiOMOkrGm&I9*O?}3c8 zFviNQ4@zoZVOpmXwlt1rj^0=YtIzMkn~$Pk@%4GEhCx48?N23(?`SY9ybTza|{~kT*co5%A+(#zectm$~WWbvv3*oWO zW-v8600-_?!zPPN*b|`ytL!3hqHaCfm!IHvt#a)D=9w+dIX7-Bu;B0B7CiRRjt@6l zYcnsG|Lyswen>QRqU{zg=rP|8-`VTXUF#FcjX?=`;e85R+T@txM#8MAGGN{cbwFHa z81bL_fwtDg(3aU9#M%2e)S1@8wUc)t^m`#pF-U`7-0Z*j-b2!uVFcdqGs$Zm52(v1 zhEp3lq2@{-To5UT0}m%aaF3&jjjCm zD69GvKQo{4<=a}^CWu3&!3|W%X)7I z*zuK}xKqsx`IlE=q!KqXxptpMdmv`KRc61u9?MQ!F2?RMRbY>_bGc;G;_=QvI4U&V z$2NmL-DMOBLdAIgtKPQRJ;O&7j)`Q&4mJBrX$C3ojXo z(6FNCAom;LAAdypoC?;H)+A`9RTMv%1WO%+AGDdhG@9SBd=U@Xc za4H_hm+SAX6XlEX7Y@JOv|{D|-JedakGmV3XU*5SIyBs7uUDlRvo?hNr1a0ct8>9E z@`LlNPf<>!9-rS4ev2dVxzb3CM8`AXc2bN;h7%Ud+C~?yYU1*d6{$m2AXrN~;C_WM z$g&o!y!H`x#<3)7{OSvLN9VxP%UZC1cOCERnk6VbqCqdY`Qi(&YTi{hFPysV61ykh zC_A(DFSWlY%4pU{a%|%`7^z4i$7YXW9&grRI_jM)SNHu!uR2S1c#0@1ef~an#`uCs zOA?gi8*p9|ab~_+1JDRF5RyEL@-L%t*~&WDnzN7DTgJ`x2WIlBMplyeYp zsZVNF$ME*fZ^b<}dhA#AN^C!+$P7eGU?e0(K-;!MaDEC8=javFur6Vk(Wxfz>YImq zE*j$58@|{uPzv)h#xl>(9T9A|bHbzYN6^Ig1!iZS#YN3$P<%}>HI1^Nw{l++Q_-&= z*`fhO!Q33?wGv(#+C;TZFUBc(A9>prUVzUsr$F`WTk<6-9xi?Kft!~+(B9b#cWjx4 zt9f~}z(W{Xolgi{WIaii?Oj2%oha0Po(voN1M$X+Dw=(k({@!ULXTdFU?yG8WDRcx z$;=FRey0xl`o$U7RF2V~n2y@I7cuZLr-w2Kz)v2+|J^6mk+;;}y|d*{si28g_7}s<{4G$3pQ+{K4|L{@T%!JZ0BcJM>6SPp_Q0bU zd^N0q9-hNEsxy=02Av?u=ZwMS^n23Tmk1p+k=Xvc3P?1sa@Yh1uRa$QuU+mg$UUe~y!9 zrPHc$+Mpf%EXW~y-o`^zU@ug0d#4|}TcO!e^W2Nl7@pw7Ql%9~5AS?Il&^0BF#N?GaZ0K17vuX`s z%iaolVQ4Q7a{S4#r=fU%{{uYDogwLq(Ofoa9Qi4MBxnscE8dbUDBtBpk1w8vOTxF4 zvP~k)*U$h?M?V#gD|kc8kvgzkwE#+GuTz}91Wg`27R=zhqDI&0fAz+}UXM26H@1A< z$4Xx064R=(81}cy|4;wFUB;bb1{|cNGcvK%oXg(ZUP{xewV21A+Zmghe3+fQLvZ*~ zFY&&v1iQXg(Z??Sg6`x7)ZU@SHawWirb*Am*z*-IJ$n}LmYHGQw-~xvc`MjdextAJ zmkB<{CZgBDS}X{%VdGaUWsiN^if-D97?|Q@+0b|xDt>4(yYzcFFFIl4&MjtR->0If z+f%y#K_e~rKylxFNmfbo7kxA}6~4Y1$Bf}vx3V>6)GBlfD0T`lKR!t@>CNZB=i!$G}GeK=)G<~sZ50>A`72Ii_&rDeC#>iSs#Rn=)IPgsp z^2Uh6Et^BA7(-yK`DxkUWqPU?;*Xzjv42B9K2VZ74*v9qWhW_(!M4kRH)XtH`HuQ0k^l+z`dtrh?s&c?{*4HW5q5L z6}SrZm#&fdTpg#U_Xb`~$e~*j%}~fO2d{)(#3;r9h1yE!zD3QI-UFlPkH{kW;++|% zEenRqVJDQ|vW|95p25g$KFj54W>BEW95FuOv_uSLS-w9Qi zye9<@a&?5MVHSLhN}@u`UjbXnaqDtQ!O~Wng92G0PT2-JQ-v7`?HEqi-9#iJauIm zhU3@O&E3gfwm6NBHt%7keIxvEsus-C$pzgzlFXK`7L2Y`GXx&LMtJ(8z@}`39?<7F zDKn2#;v^A>r$Ad+J&NLLh)>6DWsh{0e`w42=+Lhq{r)C&|@PP zY4`T;2l&Evkc`=+#dV;dQ1-9^+0=k=bI zgO^<^G5bdfmLA%RO9vNV=jrEk!e{|idbWZp+!+=G2?32Q@xc1hUaaHl$lhT+po6&S7k3pdz_vH6Mp$O%7i-N!V{5MPEbEw~0$ zaT1+SxQLo9CFplK8=Ki8Zix_%_s6WldC@FNSPfKGTGW!16A_@*F95~-^Pp?@nXLYJ zgD!C$i#6*+=)(B%^r37rE({oehtA^6IA%0+T;m&jcDo3L!pbmsZ57py7ed>`5rT=i zGibVb0;W#ZWU3~JGwMnO;AO|@#D34AFEr)wTFF{$@MW-m&K8<(oktC%w_;AzL}o3# zfoDDz@NvpU`lxduZr>M;J3ohGtj$aX z0-|lWlef&|CU0WuS5h-D6%vvsgV)ci`jLOfmM%(^qr{cl9{T6=F-Kim=%y263n_7nKA2K>1@b zbf*cC-y9q7%7Mqowmu{Jxm(DJm7~%5l>~dr`~n*%dyM@k-j4hq$6-_aB>0SDn2m|+ z(e7;$KEC8jW;&)p_^Mbz=fngQ-R6P6D@$=w?G9YZdHbVA^qH+Df5{R(MF@!A2frM@ zP>b1P@sLd&L}f}dbM2*w#ce*@+2~FKjFgxd+fq1SGzz-xwo^-g0gk>k0sTj^;N+b- zOy?qD*dO7+O5ZlYi_Jsu)8YuqaU6bguX4P)YZ*>5;Am<}>j#D|jhP#CIt0H;r>z>Mn&Xh#T1Y%*<`Td7V%)MK2J7-O!BFflbPURogK;v<^uCv5C|?Eko(KoAM;G8> zVLtJA%;nBZdrvMtywCNtG1MnL{J;AlSnr&&=Rq4jc|Pd=URb-T?Zbw0)7r8B^cO|v z6LC_h1$(SK6IUELY?*a)EW`|dBmJtG#Ajv{tc|+_zF|AbaL__JoCn^11F7JIqNg3XSZfO+AbqLm>&$c z4(T&O?vJT%Pzf4$wo->(Q^4eI5>)M|gQMen>3~KwJH9!Q-6Pb1W%euJ!_VU&W9vjm zPBs#Gorf@A%agU|GKwc1cVi`wu4HYJ{vdD8AM{TZXD@7>NKSs#;d0NnLjI_B2tRfL zuh~mrenBgjSG0-=S21B+_jo~8aVtK0TY@DD*0g95muvHG4P21ThGNwd5U!F9Euo6M zY8iK`se2oqCp2_*)j>F>vUY}~sQdyK|Wr-kv{o0d@`75}s5JrTDh0@ISPGZ3RM4SgDe9!EuvO7XxhYTd`6BD6m-U8me3byr zvGpZl{0V*Hcii;myFnnRkifDjTG}Why{7`9GJ9w5I<&(!N=~h?B^yGHeW)Py?k>s zN-t6tsCp)1%(mIAyPXny+bc|= zR&s_Mdu#eHuu@?dC)qz>Xe!1CZD*J_w!lQiG;>+>E8wc0B-9tAA&`DNmvhr{)}j5F zRu16J=|>k#N+Hd8Uj@nh-k`?rYaulcz6 z!Z&L5eJ!0nlVdzh9|l23N~|lH6M=bmjOc>NZK7X?tr9OJ*d&bajqhbut%D z{Nh+JPU1{LhbgR?I@xj@m)o;ZyX3$7-SrLdNnIKC)TyHI>#gkg7a|yBc%M9U zJqgG2z94URHk%6p?62Tr41Q2Yly(P0udFbWVaTH9nYc{F>gdJ@}mSdG11>?+uB zWgOVuZNhZ91T;UdL`84UV5&BcX6~NNpch zcD6T?Hw0oT!(fKUB1qg@3a4KD0rQ;0K&O?VpiqG8Cfy^Otn9&Ok0cCFh(s^%*h(XH zC0Zk1OMgcC;DL&AeD6_>veP+Vz|N~M!v6}+T|LBd+dT|lq6CjMbMVi+R`hFY!-O?I zsTU&*H!95_qGK^EPiTU`GrnXbUjoC=slvex4Y+=G11gAoq>B~YpeI!kii!uwN6A^B z_QVkGKkK2Pv*u7O@*dvVc+sZuK7vgJi%H)_F0*mO1574|fpL)wI6sj^*#q5F<^4t~ zA+w66EOSOph5dA`uohYcsLv6ftqDG_j=;+4Aw*Ve2L8!^PTzhWB())v8Fp$nD0p52 z@oY`dci#kFOIu-!(;3(kvWPzWkcS!8FLA94xBC+Me}9tfYpkNuL~nhCc;%b@W39lXctu{#EiQnMFdV9nMUOr+HS9CnKX=W

#@2`My!a=5Y9jS0tY6y;m^=z(BoK&?JgV9zhnX1JU@j! z?X1I=Hm8uGopO-WI1!Y{T^b)&fWES)q5el0SUgX|`7%aqick`@+rEt9y+6oI^7{sd zj}mHi=p~j73bT*yo6)a@`tWRvJ@oAsV=R2NnB`l_K&E9JjuLei%vyE|Ja+{X{_Oj- ztTmOc@-iX5*#RV?NC+O}7}Bq&3$eB|32iJxA-YkIDLT~$x5k`?XLTmH_w{Jd5}d(G zPO&T1{vCBbcH>M9bJTazfb#g$aQ0LqFsU7I@5dd>^|mf_*7Igurjdh99=kA0d^*0k zm%|%aevfx$Q7Uo!@Cc??bU@g(nLI_^8+3Q61j{^)MEC89mhaR11lO1r!TSYmf}~rX z5G7s!3Lmn`?=EF}>bO4XX-vXXdUtqJ7ikIJyNjaY4iOAp7eWpsHNvij$ zBg{)tR;#j@uD+#g(U^bgjhLYT@_ddoYAhei>TFeF4{Fs>vxpn8Auj`XVJd>BZPJ_v zzZw(19mb$0Q)bnDb>_>tdCct(35@ZB%}iHkIwVHKqoQyiowE8m3@88KT`d;JZ1*U( zzswEKq)EWWt4{^zdo0**Kxv@JzRF(_a&9L z`ck;P_+Lx=<%Uq!Y=JjG9dG2P;9lobcy8u+GIv=!9Jc8Ljn(rZ-&uv~RJ)PF5p{TA zV2*hbJydvM2eq76Nqvmh5V@nPN$a^?yjYiKf>AyNWLC^rFo@+tocu~mEuN13`PTID z{LMt|j{ylwm*#TIqXim7!a81gy^i(i>x_P!JJIekL< zgpx@!_bs_KCBp@7*Q=YB4<9Zm!cx;rc*ngNCf&p2w$MG2B;yE@)#k9RRur0Szww46 ze*AYHcyW&__6#fV-5$6sSzG+qYJ>0N*@{^G&wgZDvLWkaE6JX3`-(-&AL6u}5cGR{ zO0ZdIJPhUw!HD#r0PDD2qQ`gqp&`yLSX_gfQjTLzmI0c|tMj_PPJ%G47&unt4S)6u zTN^L=I6sk#`U$Yzz>))Mi_!O^C~K;s&SsC!CSB`K6FH?Bpfx=iw%XnRr|F-5$+g!!t?fUFtQ*Cy-js$dOn-e(mfS46e2krZ7Kw4%G#GX=x63%;Fw(&2<6is5c zx+t?e1p=yaQ^@hqI5K_BFH+Df3Cz6=(y^$D+BsHowW>UOmYa=gWOie=8OLis5DxN> zcfyTbAyDJ)1DSf4Nwc*MelEX-veD16J24OaYgeGRhc$CDSC-l3{SDgLZkYZ4CcHCW z0XgkdjqU|a*?7usWZjfD0y#10Go5lW&WxWeio;iaN{iDd3>$JewmpkFe*s<_D zbP~8(c!P@j0{Gv1u_13xW5gOO{*fkbY0aBhwb(;g7U%zaKLk!)!>lRpgHyiu1oz+9 zkeex^n0;>}N$zhU-gmhy6y@}{uU{3?p9Ran{!Is+^+=!Tz9PYtI5k6>dp7LWyolL6 zDOTi#B>VL3$?M4n2FcX*!jP)6mo*G{h6``^V@r=2dY4*YV6Y5p@YtLcx#GgkJ70(| z? z(`Bi;WhEBf4#7UZ*&r%KVP5N3UP68q{k&cP&5D4V3})lLo8zgkbUFF>{u~)2Ck5x< zdce;+$3Sf7mCD|m3FxVwOZ`KCqFhcF3Xjr5?_(m6Tz;Fh3>EYCXH278ZR*JNE)g

xC3)T8H;;$am>hc%T1!3{R&6M__ZB}X{PSLT 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

2NRHpN3A!r9#P*1be0bPMa1ufq$#| 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

noL!5C-tyz#i~;7 zKje2F7v1ba*Xu_yOe_aqZFq_=TpKWErU%Q+eh2&dCc+cm6#fo{6LiBmd)~d_SdzCp zn_gQhi!;*i;<(MlsPS2VeZ%b>h7H7+d%`Vn=~w}EQ^=);3f17bR+9c8{gsv|xpB-7eHYiLN+EWxlrSckcJYtO&Df&-2`)Qu~GJC9YF<*E9N{!=q1 zVh9+=Db7sD=IKm@swcC+$Bj|)P+$t#L1LXQ!u*UBVWaWyyk>0ET!YrD z%{Vq|5X}?(MH|0P#eN?lwEnDsfkuQ~#_?yqeOAHVN?G=gO)jQ?tfk4yXKB#bDD0a$ z3s-slC0DBRLDW^BJ)ti&&BDmg{%C4{=E4^$_Keu-Q};he+3(KJaf+Bn|JVNX0Bd=& zo6N9(v`E%+`4gjt?w-bsnz=BC_wiJ4|+ug7e3VKzxQcbO~N3C+GVz zNoRlJ8P6$~4y$;>%C&XyA`RhLM=aDEZ>IYKeKC#GpX)43wA(=p81sWWP$FItBz`B; z&SXi_=a)_9oH}c_Whu*7hO@Y>U>Nm0q;Q$GG;@oao2^K`M{-h)a6Z$BJ{p<0CT1&M z+G}oCv$>Y^%%Qm8oH=@PqjP!1W}M*DPxN)3^DBqf<9k8wca2LyPpg#}J{)J`?v{zc z0>`jO^(~D?8CKdc5I6-KIOfg(bEmDaN?r~Z2wg)hct_Jiw5ZwMI;{C)&+aMzf!cX) zT;H4tF~4F#^hy-O%(jAj?K?b4yBcX4e)CvGtOipw;Ap{(9%tk{-?Az@>A zEyK-ZO^+IOgqyp_eiJ9M$LccpWh^QGGM-tS+;vJ^CR*hn8lBQ(_gvT znVU0+om@;d%__x19$WFOP8UjT3?#45N`Y!t7m@k?g#=hQ!`~STVS2D1bm%65fp;!+ zC@L^%PCJ=wmj(E48Uslt`Vbtj0%W9?K~3=*QhOkXE>|od&rTsPq9cvJ+I&0nrt2cE zyGhBIsS@Po7&{`GmJP*0Pl)1$vFO`ymp5N+EzxrN&fhvOoYB*-!?Oy>^l7Xfz6$!cZ>9YK|W|cK^SMu)`RqhV@$|9f82OGf^?j|b177zm^zuwM2#z6r~;qq zr^=bQc*kbEyjPnxDz!oNV;1?ZVu`1a3shaU=f2lG@@Iz|E*&n!K@%q~i^Ls|j6I4! zoXWA#;tc*eGY-EhwbTB|2Z=ASu9|W0-D#6_kKD1_)b0=S{6P`Ye`SDza*&54$kH-g6u1&8-9VfSz}DU+Ctd&CT{?6wZ?$vnq{v|xd?SI+1-NbEO z7QC=p3NZ>gIN_=oJ8yvy`{JD~6;d0b*=@C`6*GV<1-RUqhE{&yD=ve$GXW+W4D+^J zt;RL*1a-=tX!C)&bi(>nG+p!tb4;7@%IS%yyWk=jqjCto?$Lyp-H#}q(#6YrkoRDH zG0FM4f+rySjpmQ8#K}gS#wIkAjyd;-m-5TWP9~si<#8Tn_Z$Sh%_gAtela-I zMZn6fhhTM62CU+0B;QMo5b$RkJhL7pwMV33*xw0!cBMmvLN}LHCdRl`Yckr&a~W+< zOU5d?04$w@$XuP5bW~3qx0Ma>Zyz*=4Q*H8x`!xJ?WfN)Gs~IBSEez$i?U(d-g4^P zeF?3tzGBsp>-g%|G$faV$mk6Pa@ikp-Dy3%?Q?;it(uJYqZ*v2zmWJE$H76( zQh49&2nYVJFK^mQGSz34E|-Yna?w3dPuPihJoFM(k0^u6t8^H>RRgXu_HcUMELdW> zl~@T*M<1;RSnhZc7aPbiNp*#|w0aRuTl9*y#!2B;PM=zprG&hZi)6aWQQEioI}V=g zN2bCVrcbzt1!GL0$*e^Z*!$kL z(6lif#7d_?XbIQ*nIFS#oHpyQTD#qbp%lL5>T{S=q{QxhQ-Nh>`-pUC0Nh{C?bLZG z5Fo2f9b&bx;CCUte!7e3E`G^ze&gA)l#58d>Cw4-NosmAkJQ|5Clxadh+H>IWJWoC z?ygjr%q?nyL(|#E)&A^*r%BjXYe2d7iYi)k(zF&CUiXViTHM0rtJHsmdowmLt|FCu zk!c$2(zoZhdN`eW&($JJg`4?3$i2avwcx(%M64MQp?j7LLyqGuA}rPcEdf_ZOZg8H z&^QMk{+1xETMzRO8Ea!qY6F^>S##{kBaFCZ^?&aL&Hg?AlRdE?AZ{vNj7fu&WsiI5 z@qhgw9+uTmd+;WJr!;estKn5oCD7B!$EotP0dnh!CC3|+hnS^N@XN=LSrr_O8zYO! zsKP3E)zbvSZ|4B7YcW-s>`e-C20_Z=KB$-;1)s_iX4Vg2ubCF`?GJf?s>3T7{lc*m z4KDG5-OBCqq^^_1iX7_x>o4`zIK*spRAcwL#gI_5(O%DXe+VEqY+464+1 z8h(9KXRpeiq;;)9C}+aWRbL*%BT9|pSs(&RmaYXIrpMu17FRR-FjHrDU*FitnPBfg4)y zp^Lu-HfpyL;Wh`F*uM!i_XGRXMUbtn@Pe7o72$DdGyR>$)g$r^sK2!c)m*G_YW)!1 z^P1t+FFb^+{oC=G6sKVZAr3Vz3a=S1SNgmX9{VGKo4?<{ZyOh*;>I#4mUD%E*n)$;SfBa^MF!?eX%#HP3kj$|Lryt$}`p@G2yB}EI-1p}#Z0zHx%WN}m z?FLtWIk`V`|D9ju&L7YG-KxW^d6o!=&u5Xb3BPFG*ai@M)eTOWH=!j$0G}u5;GPK` z@I7-3+c`@a2Rql{9;3sgML8Dsx8LAGUtCGowrYBK%Q75Oe-IPrpJ%*pnz3TbL-_u2 z?l7gV7A87fhA{mOIH~rAG>=P1>+4^!>5l;`*Wt!&xOEbzs=Xj3cAoUSR2+JFFXxZ@ z8xBicO9@7Y<1TMOR%POITw+d`CvMfaV6>jx8Yh5i1*6#T;W!>viNJtzU$jjNl z(NsAX6LZeOwCTU_{6R`r+H4^F>1U{Qo-VFiQibk+@6zl5O%mXCn(DkM#;^kl>?Xw& zoH9O{)ZTFfrA`x=eKCou`n}{hR|_!fRTc?5^n+|KtfG#y7qPhohp@@Pg1pd|fCia! zcBWI$;eFd=G~Rpwha0zIirO3$4!lVf`;M_ur-aypnO@|VWj9Pwk|Sy>j$&EULR;N2 z%65&Lqo~2$KF)77A1v>!ryp!mP+jCR&sd|4V-UuJpTZrwPp6+(#rb}YT<5}kcU$n5 zznI8R3)l}?X#*fHY6&9b3gixnGJ%4}AvnAV&e%vWeinq$cb~-Avm(rs2@C$yR~)?h zOZ(|#Yy14g;*B>{jT-*?oPH5-@!xu~>%~$=RX~|>TKNDb+~%0ERD_8*smzRCZH34# z7358t$g1ecvD2-uAp5czZYbJ7my`=>%rk|W%`8lIcmP|4&VuBV7BcqKc6zyd8=To{ zzzB?TIUbzfu=M4Gda1F`?6iZIf`$80c>fkatU(IgUs~`~E+mpmAFP?+a6w8O9LR!& zBIuF63me9m(YkIR!pm8*dhIVFC0)tie|;Tc{5_e|gNspo_FvjmxdG<|A3^PJTrNA8 zLuYzCAKT*yZaScbcRws7t3&27EiPJE88;TAOdnAr{!bfU_YyiqG!SoUm!tp6ES!IB zI^HsU&2y-~2DJh8G{VJ*jw>;u%XIAc!@S)@yU+zfUImlmv({tjx+CZmn1}p#Cs0L0 zk3Q2&q$v}%P+I8#UN+c(<%WaA$a5QXtS{n!*cyrZD{Amk#RRswUjwi2{7CL(OeND2 zRdC4hARc?W6xEi`qBmD3(SrG7&^=8UgWaWA&!@sPZ*@6rxpNBAeCLC%&URwhPf*;@ z5=rWGTr3}ry-VNGu5NLbVIBgjCcK8$F^E`7PDJep+q))6s5a`J{0t+jo-0b+%}>MaUvco9c8fbD05*XftQX?qm-Y`g{WhBe^P@fgO5 zKLDFQJ4nyDDBQkC0Z;93CC{g2LX$6rg`4;=?LrJ#g-xbwR5noa1)Mj%B^4*UZ$b8c z8XC8-bocin;@VpeZJZ8ei>w=1tg<8d-5I=Nn$>7_XE`o-#Bo+RJ<=PutGF}&HVs>_ z0D?X-AW^AJK5zO>r2V5n#<`3}JR&r6`*iAjJQ3@J|Db|xKl*$V#Ahd~iRYO#a{Zno zq+RTQ(dt6X+GYe!E*v9p$r)Oo)`sOzMA&;D<=LgLWZAp-blI!P6IkJA9{3_GjqUHS zM2)?fBw0n6|C!6X`gXbwlQeGNqtl5v6#WG&=JnvDsC`&nq{2Six)Q_kb?AaJJ8Ueg zq<3H6;{9Ge3BqsIL#Q@F!ptRbYx^8LledUD@nnd^NX^31x8vC_*n%5uc^EOrk0u_k zgWoQjnFyP4Ov#M3IPH4`kAd~H@1hy`RjkdVxC3*D<9Pi~e`-0< z@qJbW&%Wth?TYF@S`8a^#c18B`8O{hSo0=H^ZUeK9;iZs)|A4ki=5urKORD&ykP1w z1L#?!M#`T_K=4E{CbDG=9+BCF!OTp&Q#Hh&{bNnN!&eFF@0&#zolBz)<&$uK{7+i< z;44Yw^5#1ydEs8QqxkKaJGO07pvGRCN%`*+c6Zkj{(;BEbgkFM`cS2Hr2eWhmxuL% zPFY`yKP2Db^jT3jMSD&Cfz4AP_ug@kt$Pez>soPX`Opr4+;Z?}WI?BOF=HYd$CPU=V>%xULZX=lt|{hnp|{RK)w9bAxZJqkO-e~Sw{+rSpbWQX; z+|aulXNmaWA+fROTvbSlzSh8JB^9h!yGmC~SwyG(9OCbqFo`~baC&`ABz>`@k3Z%| zD|t0|p7ZL-GsBxVfuh=!qj+L_0v4YRK|NJxRMtO7Gv_OV z&4EsMx8IDp5x$AJyDFZk`cRCT4JYx^m1G=<+Ka2cZ$S5MGu*T>g|G2&GfbcP0_v0X znLd$lX6fo|9L>3kxpGaIcKsY)dYy+yM!3C__*6_6h~z)In@Hw4O@-}4s?6+ZyV1fB zQ90ovS`}pD#;_Rl-0p@2d!13P)e9x2BxB*M9T=1@3GSMksN7RGJQuMF6`JN?rrumU z(zy~}IgX=aI7+kB0(V^MAP`O%g z55EB;tr;M2I{_q1CE?!W^W?ov2bp$x3@`p_0SS|jr&_zb>*YqYpfPU?JbJSW6z+Hf z+3pJ$=Kdm|V3>5DETd=fNPT_V3A@UdjZ~*5glBWW1~ztXhr(IYV3LU_811)(m!`q+ zH7%X)Y?+7toyt^n=@bmN(nOK@S9o=P{;&;>!jf=LkZUP{B}FV~kr4C@xQ?lPtEkZ8 z3G~mZ3VK(@6%UAq(S!kaux>pGf<_gfA1DcLA1`5d>2ATNzNbjnieJRqMFQL&PD6$D ziTG@98kb!pz%DqojE%2f$2xYeWrtdXVW;Ir82z0J!`56*rdAow@HS*GT;j0~JRbW% z(Ue_XSA-&m2=lA?4$S?O3U!sfu>WNazFlv}mU4jnbw0(UYv(zDKPyS3fgXOBiekQW zNHT+oE>Owi@-gm5;)#b3(Y%Y>{c_*ti*h`<@h0H-@!Z z-_CiY`f=JAO;$F>fGs}Wk6pWMu>IC5j$I@4Uw^uyYEax}^9*|~Mez1|S>p!#%g4?g z68r!7iehJ=arXf2Im*pf>rNB#HH8o)+zxo}3s`g7y~mYdpzoUpMv2Od!|}=RE-IQ9 ze^lq6y0Qo)x%b83P!?Q@NQa*Xf?=)uWNxqanh3v^2CG%2Ja}1GCn9`?Unr5mi#uJ# z?J#~5_R}(sZ(##}IA0FCE0Zs^Rf*#_GZ<6hMH}{RL)k)3Yuv8JkH|BCBd%M(d5;i; zUOGqaX?hdu@jj%bEgr)ch1Y8iCUb}O7Up$E;KaD&G}U-H!HWcR`Lqg45Y#J zUWzu}?}**CCG@km5xRbB#{)HzY+yu0e0TGesMniKR= za612+l_Q;PU5uitoL)TZAWq0k#n{W7*O<$5kriLcwwAA>)|(!{>pugqws;6eqr2ho zoO2MoLl^Q@Q;CN9IE*-T3>)^w;f)hhnb7M;80WVPBe}8)BDzdqO~QM!;_zKwne$!3 zGpoSee;d)??;FYAGKXP!6PU;i+2pL+Wi0d)U{}YcpwaRi-t3dRIsUX8yZ`42{$aJ# zkomd{f@)7v^_5-7cizoKx`T88Am+DiUB z`$CMmZ_&hWS?H-8hzqO(c~M*jYt8MoP!s%|44xj(*V>_pv3hGzugnF%5m{_{T)^eI z7NS_iJ?gmX7nyoB0$dGUK{106|LY48vU?hp;Lo>o!X8c+UoGaKn>2_n1ChO1?VlpwYkTKwN&@04b*d%T)Z-2}fFLo922f196 zp4Y8#aa|I|yt+z{SlBQt5(1gRjkUyIVGb&s6U7N{D{$T&PN!x33GR*cV3w>?<%*lcnXKM)0d(GuPm@y|(+u*F;2FzTj!bUko{@0%- z&8?|eRMtMD{Ij(lG3dX%>9_bs6K}IdqR2n*Nc1IbK>^1WAqH(QKJd_Ro|IudREy<%vVrW*v^j0NYj8BjN{hhx2Pe%?82Io<0-=(SyqAC3g# z(TY20rCf|$$x2;rDq`HJIMSH;fcPj%lIpf?bRhZ-EwXLEC4C<;ab+{UzA4NeULnXj zb-%=hj%-{Y9)fFC?_krI7WDWo#vW*lz;`=_IsM#av^nt+FSH1;;o6)|r%as1TrqZ$ zzZ@G_#ba}nrn1lbqj2LvUtH6@726iP#)9v^@z2YT_;e=cJ9N-tHA{5ZTxTJ6zLFq2 z%iEZ^f4X%^DqabrJY%WVz-mk$lY?m+Gm&yRTpF(;@N(oIYO&}i8E<$A43BC-iKQJF zPjUkDSNBO=!f~$t7N^<;PssJn`Y<|b2(Rm}!o$FCPle9D^k8{JQbK_NSv4ez%|YakPK& zcmJ4PU4w=u1?lsj8~^Q3ZL0y+4V98=6F>6EXfoMgZb*K-6Nc((Y9M&`73@pUVP?E4 zhV$txJ$Y>$&FZV7UoJhO;TIh^4f1Mq6_6tz$U4l?O2f6az4V)D2^qXM8!o@i!Ijdp zvD!QkgI8H$bC@hlznTHV<(IKar4U6gr_#&`Z{VEWSdJtzy z-86B;c?SDPtq8X~9}9dj9}$4aGx zJk#=d)M2!SlwC4~y*WGJ+{!+<>KDnpNZi5f`pT!BzkXmg?+<+%cAu1c&IBL55(uk^ zh7JA|z&tl#5`&+?{tdbG{R56spRyP)9#NyG>l1kQ+dkVKo_>v799TgjrY6}{Iltg} zY=1)2p2yHy`!X`lApn@)vK-?+mDas_Pk-E$Lkqqp9iGOiT5ojmMdc)mCtlIbIp zwgSjLNQWn(y6|~H9@*S~k@C*l;J#*gd|o(8owPaD&TtKyZaa<5HzRSuJ`Gd|>HhCN ziPcnJTztU6UeaZ!;XN?9->}N(Ok`8?+3}Z+AIAt>{sNtqA?y=(G1gx07xs;x$PR2W zWPLm)uw-r%_I*o0BYqs5bDYP7q~(zr>l4`87K$tGETQwcyfjCVdfYKZoGqN}hc3sn z;gQu?h79)-Ut0m3JiZeTs))d(s9kX8v@#|yJdNrn?BL48@yzapHQ-{KLCvPF$Marx zXe(WSt6Z+yMeZ_%o7EhK1cgW#%y%RAEjXV3(KZsLDT=Ap7Y7P@My)A4)&2k0fIjcPHnIg_4G|brGL&t;IV6b>)+8B5`PLGR+eDJ z#{|?{*GtnkkAU#mV1^f~!JP1rXYQI8kzl8}D1EE|<%+v;^}1*HZU)D{6N$A_wdF+;bwrrz`Eh{-ujvfD_mt>?YU{uf6fQ|KJRFmiS(T{rRl)W|7Zlnb7>=9v? zr=(-X<||;J>BF4+RS7@0H&Mem3oxVmG%4M_AH+Q^q1WJ7eY3+gvR_n?$)~1F@qAZk zwc@-0yQW~jb_z8<`iG}>+ZUp(lR@;{Ak0peXN2aQg{r0nyr@6Xm>3j}A6Dz){bhOl zhe3*<|HTdpL%m@2n^v$i=Q7p9g;4YEUfg_RBd@s>$>c>=#3V_8_^ua)3(MnSd}Jp$ zcs>Q)GhuM(?Ns{VtvVit0A z@uJLW{``kGh`klZ2W>WD7wnPb^_=ekEoV`XxS2_EpBy3v`4%XnFORDYDk1CCE3!e- zk@NKrp+$ZU%v~qJxcm+0NA7e3vCBf>vf2+WUw#4;zukkM&lOq4t1H;o^#yi0x6Z(v z+23Ho-Y4|)+?{ZGEDvhawP2%Y3*EJE4qGU>jXfOcf-mY~VbL24X0&nqN7k{d-&BDidH69a~D(8jFn&*chUL=fveUA#;)!L3{`cEOLMQUQ~ zPjGn=be~$ugubz6t~7ihoiioz=UPd+!eTw2T?ssPl@-*u?*!ku;jq+Jo~e|nfsWA0 z^nL$nsyQ)~-qU!?yH;;a*L^-hzi3v`pZD{zEMgVkMlTR_5AG*tgwn~XpW5(#qB+Q( z)Fs7BYY><1#Gy~kC?u+b)mMVahXhM*FVI5#^0^&p%^FDmT>>^$Yhg;PF6UpBCfoMs zlT>j_zH_((O^>LfESrh?Q4RR6svk|pO~uD^&HtNM*bFN>+D)8kzul?u>NaoF2DiD7 zi&BeJ{<$B#9$7KHlOBTJ-`mg-!0lJke!!dDE1-B$ikbIjKj@X#6VJST82(6=Ma|>T z6mk&cOwPbUg#wsXqXS2?BZ-S$1ZWh!A$LPBL!{_t{A~Aw3fTI=r4L)dD$f@DJBxYK zD!44^@NeWoj{x(E%P{oq>xVNljaYwcC*teoOom@r!EcM5ko3s~<|fR9-~69&%TSmR zStrEAJl4i1&imMp<6c3IWfX6dQ5Kxu+zzS}<(On?O=dEuchJjU3!z@K>4#YdSlA=U z3YU*#PJ2Y+so44ORB#$t=#7EM(;{Szc`B}1&ef15^H~0&%jjJa3j?ybAog5|jb;XM z-OE2H*?{=d@IKzUZOTqPsK-*JAi6H&E?D1m2HR!x$l^&=u%Tf*HY-oZr-tv*a)vIO ze5)KAyktr2$Eon}<6+V>?os_K&B=6Z|3t>sa|g$XQ|IkFmyT~u{BYGlZdW%og6Cw~ zK?`)fu>DOfT{Emmf85=Qed~`Rl?%sXb`)W7$GjJQ5LYYF02b={|LB>s@(h7)itmeWlrSTIM=_%UtC z`w17!%a%KQ7JneG-oWs*l`0XVb`K7}gbhlu>E#|T7L$|OUTZ_PEWDguu&OnWvUZUkSA8h>x;n1);(|BnW z{9WzM_8Ek;Yq>Z5?Ux>Ck>R-3pHlH9znu3@Ig(mMnBc52s_en&1h$eIv$Y>npwD^& z6K;PKTF0HBg3r2eroc^`eu52T`c;6mMmRkA<-+Brdr`3;Lv-=Il~i#(e!4N5ml%`gs1)8i-)(fB!DbZASU^sklO)|e^JswIBVGwN*D>iZE%-IEY+j1e#r!;EjSTbACr3yuSa5=vUmK%A)u9?~BKQAWB1E zjX2;ZLzwey2YCJ}g$=LHLI%e&IyZsx{Wh0V$uH|cc1js6P$>bIr+HBCnZ#wBJHRW^ zLh`w6BOU)l4~s91$33s@Xw57UjuSWtgHx}=QvZA?Yjl7`g3kPEdk;+UtHbrZSMcK& zZ~WOYy*^^EAY0$a z#qb*EA4ylJK#}VY(5~qhsws%D>N7{tsOlEB$!x{-^PT8&*(-EO^eYVbp~mWX8?!e~ zn6p)l=4@lSCTre4guR6)(Dj8m%AcZi$?asCCHEDt*lMx!+H_gfo7!yoAw@R))+cas=vQ%#n+Y<)h#I56u zmz)BlWpR-8<~Ed$CxSp(WPnOEoT8c>%Pyy?fq38wC52ZM(sP6S*8GtW}pw#>Zr%iPr$7m`I zS4^ZU?SyguWlh}T8A?-vnsK`5CiWn&i)Xq?j&V$7Ij)5Q{q=>l)FYWNqRvV&#}Z%BJM8>5VF^$=;$%lcJ+>#cy3!df1406DY)F zU;j0 zu@S9yyW!-X54;82!bx@i5wc9ChcsoS|M$MwEqJp`vfaVHTixM8@k4`#mnUyupx6GL zR|F-L*88RT;so!*bnz}(a#D+hyUweaBR6irc)X6PDVHffYkvK1#}LeJ%0ri-@pi_6 zG7#n{!QAn8W**J;VNSMMf>YBAOe~*=qJN_KGdESyiQ}K)Y#lv*O?MJGr!)-Po5h)> z=Wjv4@?zeh<|`Og*Fmq#jiXxOS@dsZ6UGGzp?u~SzF1rn>^iv$2H%g6b<94A9dqg#VgTYYZ6x@J1ba%c1n#IMfJBWn`m7QF+naT~%78ok zV5*NIYv#iR{Zta+xAQ5cQRd3 zM{(?dJZ!Wc$L)|LNQIaZ?Ya|3E_b=&inz7(^yn}+?3}{9`?La=9Mff69K`wXZ~|1v zNRtINg}k7eHePAtIOe>WDAS?viPJBw#*K%K*y~41&|-fEQK&yomlu z8KDIC`k&I0N1f2i9D}2QrfiDKJ6`)+akw@m5svCkqg7XBanX`-G}5_+u0+d>7z|9lehPG3Y`XT8Uc=oKjJtqvm$l3>IoBX84 z)!zJ#s(t*?n!o&sGpE(-uQLR#ot|J-m;%ZRa!6gN3~mv;$Irxke!sl}N%f87ZJU%p z-fi6Y-+S?3z5kqCB}e-kR;TpphKw49CYyIZ7nkGWlhs(Y zZ7S=k--_G$g~YYT2VTrA17VXikU8T_bUjYd{TxvvYaoIY_Y1+ug_p!5NC%dttl|Fq z+Ax$>P9&ozk)!xxkeKFb`+7t&5vxZ=g)vSD^HN?Y6;ZlW-;Gv zPbRE%7vt}Ip2^=f?i7rTHsnuv%W0j?QmR)+;ZIC4Kdxvl4HsX^@5t*TTkh%8|l|!VK@}rLK1$sLVUj(Gk%!cw-{Hki*L=Q z%ihT|1Ln~%T5*mZS?Wk`tv7^%Mem`~yaY^wVo+89**kHftnAc!5LcSdJRFH6KmEeV z8{ey3=HdX6`{l;^(P;L%zXSUr>?Lgzy-X5P!$H7Mlc^|uOWI@BfP%$)vj5W};y)#Z z{c$9lMvppy@ULvXQI;sq3QY$M;ob1#$Qal)vJgVA)|2*^JIMBGAy%_l0Z(p2BnCX( zoK!@T_L+nC#yXlTF-)3WlHjRJG%R1>4c6a<@%RyKI60>mTK0`$ehoA5^#Y4q^i^4y zUW`%-p|r|<1<~D;_}_V$nDJ?{>A9OTY>sD+E3xRD@t}CUVgA$+W*iq+_J2R3+^5~e z6fI4|=|;PS)Rm0G6)^fjNb~)_W!_Ay)is8iWV=$P!gNT1mr3(V&aMurY?7NaljkSu&$YX0JS?i>PA`@Cqec>ds;d;KnU#Py@a;=6d_Y&{AsF2H0V4k%UBPjhQ8VO!!i+;(~# z>o#AM9g{wSzUSXy5Br?+dY0pc7*0biz8jYZ+x<7c`uyVQBmq%*d!bULr|FqG_Qw~6 zZIadaSAX?#*+jl`-*?>HF`E^8ZOV#|%tMdIdLX{5pTswo)%#~}!{mqeP<7KaT=F7- zh#ro`-!|XSYgG|yEL{u*(_h1zk~nx^aGZ?Yy9^_An{n2sDh&Ic0Q#QEcJYGV__63C zePUh+UTNQ9rB*J?a{0iqadfa_Z8GNl*n+Pw%QLsnl)~r7iDcUC{e&c30{OOK;J2}` z<}(AY-8a$=C)IG%_y<&KE-+?O|AH#t4F>DI;MAl+Sf2kKZU#Ppx5wRKQ^FmdVZSw< z`r?LNy@eK|SoapB=M}+c)8{a`O`h2n`I*yBSAoK?0GyLAY zq~X0$C>@bmj5V85v33#Qt*V9m7JUtP{v-o};`1S5wOO*B-_pqkC97b{OB@9K!l1-?8K17yKIc6wg#~HR!-{e4@RB zHe51e563WUYUMQcfRG_uS*F1H7?0xf2~Y5IJIDICSAyrB96<5Ozp23OjM$O^J^S8m zr`xjZ$J-CSo##7ggNVH$2T?fQ_uzl+PZd?h8P$(_IU{z3N{aLImzUd?ne5dNlKW@> zF7GD8R56wvyeh+nDZR!S!dp47 zhbhhBvaxL~EZ}>F2&~)WN-8Uq$a0lME1aig>%ynem-xMb zvP^=w5HtVc7uanh&-8^ngIFT+Hc9%Til zWk8&9mU#%zWtKw!$xq|~#1Y{V6W+au!~CdsH~5Uz2MFHz0M3TphZpHrK>A%VI0Vju z*RRz<>Vz-RdMwVXv$Ew+v-hKC{|{Yf9*yM}y?tZ|nTI4ph@wIn!gKa*C@DiDNs35m zBuO-)3>nIhOc6>-q9hrfvu_$G5v5W}l9EO$N|So;_mB7cTfJ-jto8iQdX9b0-ut>f z*D)nnHCRW^SA5`&IL-h=t7Xt!E)MJ1AEbHleKMTvK(?eN@wCs`)7~0SJQ`Ahb~cGv zYE(*pe!WMYdQX9+oVW0epcND<%fqs!(?n#h6$w`u$BHk|U_V@WiUpUa;iJemq$k)P zBCc+OTZ8d%Yl!3eAK^jv;urt*BW3HqjuPG+8^^lnNBfiX>Q_W1+DR<>w;!qM5@J8b z3$e8?eq!y&M=V~|N4($${=HF3DtE4Dx`+!rJ9UIM$DQL3GWle6+ilviWeGBc)p*Oh z0{wN=*wMt7;8I-*wGG;sCPHh)CZ&-c!=I#N;Z%}+hs%HcTSmTOHlEPCj13{C%+S_; ze)_Q{x@(wEy89z}J5)q*Qjjsy57XeLUp&cwHV?fEiok2ueUAN|gy%avtk$a>BIW^Q zbbnMkO@7o$o#JZXk!cu&tV{;q$%_~#-2|MWS%kk`&J&*nUwNOCt7u59HMP=N7dp;)v>?)vq$Y{;OcDLZth8(M`B?!D~*A3g&3>8 zMp!MT%s%1RYere`$nd*Xe%nz&UgxJ0E?4&m&tr@q9{r}mZalpg>D5wVWGdDjW=cH-@ss!j&R@gL{1g;m@7X32qw4nGdqa3l|9x{AJ)59gSv}L=3|J2t z`&vmq>-eWW{Mnz*x|*l4S7n0P91%}eJ1m}kIdXw*?>os}v<+sXdc;}v^8JWmCX`na z3ULblkXd>hzB}#!`H39gFzGeMX1>5HkF!w!jX37CaX#ZQ`alxLF!pvQVd0na;Ghx* zha{i!_dV9cVBI6UX34iCh~u`riFStG+$1pEBMQp7Lv;7uZRCDyILOYaBt&a6xs~Ax z3m(q_yZC2Bvc(=YF3f>BN&0A^coyXZ26!7U*1_-iFmAUY4VgA-;4QwH+;iN@3wfyk z@e4Cx_4ra6eAFB(2RFdwK>_B1bv67+_5uOZ!{k(X2+gtN*a31!$=S?6n0GM(tbdP# z@4wrDNswen#$ymFIK*YDPa@Y%o9O-5r)Wj)0PkImE+`AM!?s!RFy;OWh~z%wMkow) z?1sI2kf#~&hMJiU&}GSmeDB`ZL^d!SmU~IUom(9~`cS)sh5v7!`MVE|vyY(4m4lcqxDvOu-lsPb0*R(s zE-aBN1phjYp(3${WC_*KUE22eQGY&W@A*S-Y+py^afIh;F7e-aP%cZU6L@H66W~-G zZkIHrK5DPbZ^^`e_hr&cQ*ro;0ISPsk?i{};=8mu@_S4;<^>bhEU1%S|Ih^9{C2RA z&j;~Ab#SRVMKixV;?McImBiO=hQ3#|X!2_dI={a~ZZC`EdgLzN^>xkUQM4SF=aPwg ztPY}X(ki}uyb!hv&Sgz3@6+!Mia-|ZfXJy`yrahkiGhv?v@L&0pV#jtVM!-oO2k>5 zs;9%QYU?C|PAu&6n+y@}+Ij5;8;GK)CR~h7!lnjp_LL~g+~8}o!*-?E`Su2EJCX;P z?^n?n7hz(bz~fu}jD<_u4%G695cHQ%V2q3$*;n?+f0H?h>AkE+H;t3TK%Zv*N8@eu zj?Q1Wb9yCF?T&+epN_-yTsu};^$B$4s50{YT-K>-59cG$p^L!B=+csHNbdC(8ZZbQI3yAwZcEhqk#KX_C9g^Bj$6Oh4E2kS<0#_jZ4_L;g4%X`-h z1|NTe!OwT}QU6D>(lD3k9@BxGbKIMWW69?GoI|Jc$!uI)9$uC8gTS$Tc>dUuZ~do) zRDQU~3#f5`(g0cZQ2R92I&ujsaq%eLKCK9&qNCtaFUSaN^Mb>dBH?=dbXXkP_TPEP zbv-C?cKKWzRtAfQubR}?ogYq@>Qen@USauSHv2V0gx%h<3!@iFgS@*inSR`n)luum zp&Ns=>asdhvq6**alHjbzbMu;eZo_3tMS_CF??ch2Cs8j_f16r*ZdBVgEp7J`sFX4 zzlkWkz7tJBaWl@<&BcwLUHC#D*pJRBc;)#@`q|(p_}+1ahK_V1_j(EBZA<2laf!g; zDdu>Ae*mkwnpAzH&q_{Xn278ZXG+|KL1*?1=-5K zcggy#V$6plbHKOo9+5Ls2Y(+;INN^+rZ%s{upeN{Rqh4QDl1lmf`Yh z4YEXg4e3^VO!h?G1@XC>sE~XBR1n*O-NXNcYuwy8mEid26MtYn@9{2s12hM=httm|5Gg)T;B<_u6y8sSY z3xn5;`~RJXA8B%T(yd-vi{6u!c)Ivy-DvK+o_w``-;?i|)ohMgI$P~=l9iYi%TDdI zWq+@Kh(czHG{pN88IO{%;cEr)+D}llbHZJZJGtjgs&hg zS$$~RBMl2@KPLv~7xS;z<>KH&Rd(1+mA&2g6P>c+FuFya8cT^oVvHO-J1zhp<)p~( zJ6CxMb_;5JubX0xxf+gr-A8kK#`7FyACbjZ#liJ>E2;k)Pi{%o@_G-*(uSZS*dpi# zXJ17?#O)#&BXkJ%?Fxg{1Mi5>z6hdvA%!SbTarLdUw7!F7*on=?}9?dFbk5$Ftrg+ zA*Xx=Y>iie4WTilVR1IE>6{BK9=n+;j+JG$&R1eyRf{vLJUGVc^2ZR5-1jhYizGRW z=Oq?7(aOv?`bI*Sz9<_7mFmY}bGQX8$Mu0~`&p=1uncOB?;|x5V~BO97>StBV5PJy zpBhbB3ODS|kqg7u$uTi)XqHnX>Ar_Z@Q;5EA3{RLktP#bbiqYwYQ3L_zC#sNJOm3-=y@ z{Vsk~E%Fc^T zDDZ?e!N~eG`N@f0j?a{VqS8(%nLC@=m=KDAk#g*tMKSoncLkLSh^8}lak|-#6Og*^ zCI~z_4HsOJnQKQ(7`>kpSWnY%c17MQNT1qGzXA) zX*|=CFo7-A3t|%+n_&tYPCbn_V5UGPZT~hE0zbyUxeJ=Ggf(F*45gW}T|ZE2js{yi zJro9St-!w+k3!>Gc*+*JbZzZ;nqr;?OD-xgV^mw=Y+w)i3OvRJKF7HElZ8)ra&>E& z2#lPFq^*}niFndkXb9d5udDM&WcGBdUHh22=DLtCHRhb(^%ZTq;zHN_sliRN(=nm2 z7j35rvBP>CbNNdFF5H*|mewnwb-FPck|b(8O$ohq3fr);B=`8%jr zcdX5un_HW&PQ3rW_NUu@1YW4i+1Qi_KXC}~(y31}lKANH=U;tqvG6f;{}zV&;b|D0 zt<3f}TQkXmiy2>SS7uhC2)kvI6uaS~BaZFx#ktss7<)|_Yffn*(ZYh5c)Egj;;%bq=iJ1dH`YMWnfXk^ks|bPRL8_r zXO6c#iyXDAAnzL9@MpIx68q!&s8a8OTPo$4JzwX5{X$MRzBC$TnnY{F-c<5l=EsmT z${Hlzd=Ibi?-?-9>w^|dVn&T!u-jxFYZJ5*n`Ptp4PA0L`vZ zL%2s)0;Rc(09Q2;Jh5pJNw1fvy?VRqzy35rPJRE08}>E}?L#tkvd!yjg}i+%S~UK7 zZ;afJWOILsvZ2l+cv;P!y(<^RE>Yi%wyjqIVmhGy(m_~yu9xV?g+K$RWy)6Xnw{a^sxhDxnFQBgPh=(+bV9+KLd@?T$9fccP{JfZ*RfGj zT{R5?Doi2&Y$$to=PI_Z@;q9_aeMqZrTC61#B0(?Q26i>9F(0229LHuTj4=i^kESj zwabn*wO7GE^#NFvo{T#TCURbOapqIcX;?f?1ANq6;Lx}|Kn+8o&EylEowvm@XyaJ6 zzhW;wP%Ec8@p25GyF0gra~k+iRnVEY9`3DVV8Ikk{(fb1o@BTxt2{Cjt=@AQam{bs zEG?86Q!xnfkb-5iR3QY7;F{!To`2o}{Kn;XGNJswOC8&5w=kjFQEMmD_pOSbtO0FTpCnZK^TutA8& zx}Wkzk2F*0`r1OyP6~pkUN4yTWjzeFMnlBf|M3%LL=HT`^|m&)K}{xGDs}651zugU zL;ubzE=?%L`js&#nUG0r(;s5X&^G?g#wAQCw;Ql5jpV#<$ym{G5~UU)zU?fXajqlKR0cSz^{3p6{qc-Ck^#}$Je51u$*Rj3u6ZKFTq&XHx zsc6a7pp-1$#a5@f8yF?pZxtYSI{9k=I^YHGUg#5WS zPsUDM{`!hheI{%@dT+(Q=b`4YD^{pntX18d#Xr+3#qQOZ&w8bGV&v@|wLksNLcqeA zP}HHxv8TF8`+jbx?;guo9!X@@E>K}q$a9k0CyPa9$r#JA5T(?u;D+c6^3>K0mS4ES z?thoYss)F!YnQ38OU6E++g~*D58d8dtGo9O%>U~ES^d-DoWB!HR-VL)&opDl-|=OG z1(jJj_Y2fZWgJhVIgZN&>ESfa!(_L+2^cKf46ME^EW9T{zV}|ohaal&GcOX|{c7nX z{fn^VP!zCz&#f-B4v}}sOQ4J$OY{O8A;lt&n_Z=1XS5hQXUk!%xl;u53hxp}fpuhb zjt;bA9sIGr`C)2z~^(PAxY)|PwkyJgub{+ycep&&n=R?yysIXY1xVgGk9Dr zJO=Rt9S}9~6wfnq2F*|HB*k?iMD9%kIdRa8SQLojv6;4bXCj3YON-#zyIgp(XggJ( z^UG@YpHZIaXEn0>jtVrYrGcY#8HO`pJ+?? z=DLAuEO)?a^HQ8UkciW!??Y^i#D(`CQoYN6iAazG2sak5yrVdb87Tr2(>) zbGZ4F7_625PF7ieCj-yK!9w)`4u9mh`*r2CDqsm|*f@pDDu{pwO`pi9cdFIm72kQ{ z`3K0UjT|>iN|7D8eFaZvJfM1hfn>I_2Ygna1vZswR6e4EPM5Ca%N8Ey`P}6br&R^0 zqLx8>`rG&hXM~9nr@0X*oldXLK8ayz_BbfY%|N(i*o3`>B=(*!W7Rx^@qIc6YUcQm zd#UqbsKfvdW&K9urKLC&^plGF0-bAil(dn_)@5_sn1UsWOqEwI{Ap-|kkD9KZacu~ zK^|fO=dXXWHixogAE8Y~^)Gk7dppbW-+lTog%(U`k3qrZ zFR`gM1^t&sLRO9dlO^oS+~wbf?p;T5_5R1yXhZ#!kr8$o{hDmXq>p8rCspNQ9o!OF;e_W0XEGzg(nwYrT2x8 zFl+Z^(HQ~_v}*APk#H6UyD~9Y^YH+Ed|)B^I7+g6`CHM~hWq>1IWcO~3+cdn;#q72 zySuf)zg-*->~5tycOh;%a|WAx#?znsTVdw3*}zP0$>-%19mr zgdHV+=DEYHqy;cGPYn`Qhu~dpX>>D|ClNwU+ijNx_Zn|J4VJ;O3WV&Nep3&9C1wa?q$xYTZ}x#q3{y z`n-bs_&djho%2PDm6!5iojWwx+Lnb(Lj4Zrve$01=krF~ASFQur|+abR%f7^8ZbU( zE{s$_dQG?XD%MZ+E$#VJ%yXR}gQl6^>8{3H65b(8(u(w9Y^NvOGBIMDv+sgZM;@+w z@dZLpRgiC!qi}Iy66bwTBc@{W=;@Yn?6{%B4sBm*HHj<*ZH}d9w$_~qem@KJM$Y5h zz$3UoHiKWCWK0+TP-P2R%-HDi+vqtVhs*XdfqKtP%kN zct68{-L81)i5}^n_>_0s#Dn&vD_dE-jV4Liw)jjW56YK0FmuI&aKfIkY{vI|{!yMT zPp~rAa{l%+{8@6Y)i3nF5swEt;Jkhc6K0~x)WjY}cKUl%S^S3YV%$wrIsQXSy&kzB zmdiUo@{4>9;WQ!RCNSqbQ@9+U3^bh~z}^)up~v^lMaRu@{7VbZ5?`Z2a&fl%nYYC{ zHs=;tI8XheXe0DpZvX53A~v(Z|4aBSu0(8xkkiSN&Nm98fv& zpMIogV>E8cdC60L>j6@)_d)iziOiz(bjG1tpD7e8r=g#2a#;=+a15u*T3vk|(ywYU zcV7DOz8vW%i%|ol@9m_db}lCR=iuovCaCK)6}gVW>dTvaK9^3&u#4T1mvfv%}_H(gZyr|fg&~Etv)OHVOr=-_#rWiIq@fp&e5yF$8Yqo zJy394~55v$|ewRqGNr4b5vr z;qzbys{Q1AvJx_^MJeYuBm)rlM-3`62Jz#kVB+o^PZk7mdCFBI}?>UYcR%P7>%HYytcZiOu zCRH}q(Y-33*vywFKb_~1D>iG0;MELFxbBVmhqM`8U0J5%tQ zuQ=qb3t+-$$1x*oIkt;c1beZ30=v5LBJc#I;q3I8xV-Wk*_r;E{y)D!s*LIQ9LG5} z_PmbsPxDRdFM1{1;TpX6oJ3?l^;kZtz86@&$63ns+f%fh7R&TC0k%Oj7;GxZUR(Wt7%PE!FWkTZY zR%sD-Puoxake)a*#U>R#ON5Y{Qa{PB2d?nAe?MI7>?fTq3HVrS1Usc>vFDWnaf7oG zvy}V(-hSkf#J8GYqL~bCqZZ6nRUQMfd?<7F#l%1XHga%3-Ut}aENh<(M?0#C(yz%d zd1f|LCM2@O!b7;F?>jE}BF_F=*i0R($CBq)47hwzZl2!XPu9-vC#_=-!fc}gHeA?& z^;<2)?n)fPR$bSi&#;Whh8Z(Et!6`kn+7afAPq0t!{AM?8WwlOAwS_b4yqU9`Ne5e zdR1|4_-rv|(}OmWdqopu&CS4Tb}Tslk!618cksTQ7iKk{enkDE%_viGlb=||$%lK+aO>Nf z|Lzy%@A`ix#n{+%SfAMNKvu1ucYOBh{$`nf>Vv|EO3ZmWj+OtNK>J87-!IXFD3~o| z&WIQ=ucy5s8-a~gtIXfsYd={%iPrTCy$ z5q0|$X_SX4_HIhTLyDYk=;8&OKkWgTwK^5VKWZ_n{3P(``7`*k9LUhUI(oT2lPhp!g=q`}uZpeJe{Mt0_4%;%YKdSftkT+>44Z=1?kj_zZ8nsk|; zoiFfI1Rn*GH9_s+dwfwDg?qJ@zY+d=X)!FC<}dbuan2G!$Oj zeZvBuC$!b=HpwmOqel!Zv(PfX{wPF<>{=_k%`6%>Y9ix1xhm;K+z`Pzci21sUB&y8dO>>fhj+5s> zD8Yvo0UupE{CQs8bD2GlN-^`+PVDj>2ir<=c~(k4_y;Qr$+0UhNbK!n=qtY+cdmX6 zZRQpr;3m!Xzg$lHc6JikC%0*wXBypSvz^zluYk`RE#-bccjobP4aUrt+iyNx%35*z zZKeJcV4R$2v8*=PRDJNj_os(P{L?R94mQ4Ltrty^Fstvl;;`7eOZ}hoFkay!&K^6J zeJ`NO+jq*ES#4SlE4W&^dh*GdUG*EWr#6(1ET0Pg>APX@%~6n^c^{1>-=UJ`Im*0~ z#*i%zRNO}jbl;t}Qe_3nxDsWU@o*9RJlPCk8ai<2?|gpA^b(XY9>V+2Oi?>z3oH(M zL)-*oh~}-MYdYg(8gQ>8+XF0T_E5oXf1l|=Hf`*g>{B74~>F;$IyW<`I)lWyb znfDvMm+La8R<@90Ep4(}T$fmh-XTBrw)|Hg6gn2&yyy1PdVl$aw}xS_>ST5H_)mW# z{ZD^7)@eLDwo!&%dEo{fu{sTGTosfB$bjR-2V_ri885x@B!BZ4ZFm^(1?Ob%kvOqb zzORM@seE^z98}h&A50plKx7u-IY#kTN&E4zR~r_VyTYUMR`7PN6?od|!lm#2G)!q9 zeuofRmz)6Rin3tcd730;Ooi&^iYuvkvR#! z<(r__2BpG50zL9y4B|zoI zd?;l1LhO-S*q(9+ZFeZLx%v~?dSjMfKKd9qAQmLmJR&`PYB0*iL9%}i6!Oz(Y1~vC z^g4(}r}Amz)KB0q%=z}JPJm;&EvRfy0Q`CuzPtYqufTV?`^!0;-g`J@-lkay}`R6VC$~S_5 zeJAJ?lQOdZ+%Z!4_9m(MCC7FJUqZHX20I+>&K~^p#Okh>Hd9>7c?7(K=$-iza4@r( ze08ycxF@F}_EQ&)w0et@Gs0O6c#b!OsvzpHHOyN-T+=;A3Di%&BFE>CgR~cRjI+Z$ zrsm;v=31NttM;e|HNM$`K(Z1&H~5W~GH&G6vS^-t>L~xM#VATJC^kvGHTDd4c`ew^_>h)ZcT|7aARh1B>$KyYff?s*iKcCx~h3}+V zU`tL`eJ3kC)VNGCw_52{Q7mu%1~#c-9P9N`8t-X#!KB9JplflHD%E6>hkd=|#Oq7s zVESbYBlPhToEUczl0uRo=TbV%lV8Ia5(fRe}oEd z=FwF69%8q3!KPgsVEBtPc)G5k{Wnfv!sF%12qwFL3(auMJaDH_Wv33xA(*Y#T9?}^;(R-*3dg1y!>&>e$ zpl%iZ{C$caUm67;PJV&X>xs}g90+Q64e5dPsq}8=LE@)-hQ7R=h{0qRPWh?BugKjF znt^Y*+EW0(d((hzOr<)Jni$@@k47C@jvl8F1;?jh%*Gr1_h%wNSNl2COx+3xUhjv; z&%3G1cYpK@-G?vhTM!%t*rcutSZ1(*+8o*pmzF<)Ne|u7RJx1K%{_>ltZrkLmnb`S zs~%grQ-{45bd8HNNThu&ZXhYt3a8zR&}IXJ*Vp7>XwL+8%K~@SCd-qZylyu8RHzBx z2UJom1sixOa2-^GOQ0q@2Oix%L2Cz$*;BKl*vNOG?B00>tOLgnl29<9t5X($@4KsD zxNgCex2fMwYio?4aTQ?mu-~w@DyJjo7^M(rb15p;zxe ztwbo)_TTqsSH2dTwz{AHyi|}`{_zkqzw9z|0w2SVxDgy{{tg{D23*ymRP5@0M&z>< z*h5>QU~}ge@GOmCe0J_;^k#qI?@)YA8-Ho>!lqke87AYVh)>)sB9HItG=)*vDF{_o zqD)t~DI+whfogVvR50%(HSs%)7qXJj#(FQ^FsBT^pE(199u?@<8$nN6cYtWD6*g|X zOn05Lr5SS_ah*j9-oD#Ja$VoiI>`^9x3iJxO%s5w@jpmm(Gj#%+J=wr?4(OwXX6!( zJj`p3fn(Xju*jkj3!YQVEGFA)6o+@hk0aN)-#?p_b#QP8gygB zBTKK7z-GHG#?DFSm1bx%YInN+_nv2VqXc9Y;iY?xza_x z#5K?pGK<0f#0hNZTS8YXE5J=_g;*}m3R?6(Lr2wqj1#Y-J<%7o+@i$noD?oQAOK2oF?7`@q3ZG3Pq5=>0oHT;huruH_-^4*UPjti zB5IID>r=L)`Q~_{KckWSiMWYh=H=k`E%#tdnJPIoS)0tCe+rU#6fRuNx16B19_Qsm z|92jWI@8^62e()+>`vIc$nHU%iSB5o&#puN+%Hb=ZlUo-0hSkUO4&+|X@6(~Q$Hbu z@l+^-9>HzYYf5u%fWQQtcFg5@w}-AigGAC8F~!AmDU<_ z9&}?#ylt$Hnj$xG=H?N!JIpZ;?+U|+dltNS=L%9T*8C^hqP(r!E_3RZ zWsA+t*blR`S)maZ%H3-4=0g<6AoL~xDpi}knlXpn*D;mdBHT?Yf^I`{HiD~S z3jDB+h2|6?@SfrTA7=di?>wYE;eT*ev9n27Gkc7&qjCMZp^kON%)flj&Z)^*X`%+1 z%{Tc=bhhFBk}O<*G>paCJ+j6dwBy2Jz zKOT+ZtJcZ5rRf}55P6U9?3IeAx3vGXlvPilgGEl+r`(v#wG5r{T*1?$PKu)D^J*?RarT^Dqje6sMvmT}D(#${%W zO|v4$!@H>VyX(Z$RT{q8NC5atGYdtfVHq!)xQ-blx*ueOaxpQiPyE1a(564tv5q6HZr9oC+5|gpvs_8c4?dvm~aognVgb*+V0N ztj&`cw&2lBwp`pE!&x~-Lp~N>iRzGwl2$T-^Dce5WDAEJ%VE#=Ewt@@BW9-dVh`sH z+^)HYSynX)+Z@edj^P2Iai<~GwClhA)MwTh^OchJHv1dB$g6Fp^|7;R%Le95_-9^G zb$EjOoq8e>2Q;aKhh|YBL-In$?F!vhILM1qiPv8 zO)Cez2c+3Fjz{)TuAZoKzW)vDKJ&!P_#{-p3U02tfg5tCT5T83r>UC5H019@_G0rP zoKVa$c%6bkBe&{k>MTPcU#MO$#B6kvq_oid!YdaKt*$AUTuArqLMVc>6fHi4hoZfRW?cnsZ zZye;XNvIG-qd!_r|EUT|E#E=#!V7XcZx=bq?MFj~y}@VJDZ1~N5G%Ri2yVG6!!B*P z#&h#L02R&B%-61Lp5NbP#3%X&F=e;H1!r6G^OQPUo+8ZJ4VbV~f16_59|r7GKf%tr z9C}!8Iq%EwSfW@n4QjtjGOx%kDwd zm=$ca_b~1|p^qiIl^9RC2xfC!G29Z4fXZzN5Zl-DKj%SLf8h)5DK;^eXB|xWAyGf> z$_MYYDFgr97xyYog8Fm9q}_~QFh7P#e;UTD>2P9BwGKm^pDUSpdNN+H+>F_>mr;LW z0jy}9!8m`ahr=Y1mp0#p&a&_zq_UUX*=$0_8y(}->rJHTGgjc*y^AOlgpO9wSfI05W|Lrsj*+XlKFqS zC%~DjMzCq!0WhvT1cj+8FsPo7T^HrhqM;S9sTi{*zbW4HZ6h)D0x+O*l8E_efq}$A zP_Q2hrqlB=DZYSz;MjZ=w0nX@!|!Rx>rj|f43HHQM~Z$|lZ?1NqNo*2s>W!sa}3U- zUi)!u-5G|tHvL3n-C6LGUI(`TU)R(oLzR*kxg^ZVcmR6&}~K= zQP0{3TBm2huWNV6S?Wg4h3JzIJ9YY&)6J*6`iK>871-0tjVNccu(rROV|TT`AyyY} zlRODGGG&e_nbB@ZcNM8K`|ohROZ`u@P-O=m*AJo3M>UCt%XR|gd&pTJmgn~k*Q&hV zN9$Fufa4egs4l+3kM{Y%U!yAw%`HiA^k6l(sicG45;5=+$Rm^2`uulaoZsUwkrHfU zv-gza^(i5f>#wrban&;a&MPWp*5bPd7wMmG(mZqjBAUQutPYQ6Fj3FOGlRvS&^RFt zuP;7@W7NO!CYLC%5z`mqDZ2sOXz~>&hcBd2a)04~U>9F!>SFA-TFrJ zu`}0@9;rGGQ*N--aET~cXf4KE5a%-F3ypCTdy2Pl3zwIAiJ@kH#<0WO_dM=Q1L8c3i)_b`@57ooaX4ye7TgC&d9nM3~K%(vHl zIBsMProQUsJ(+lhO6z>57ItFv?CVHsvS1eY4kUog6(eT+gfKYxX9#yFeWeCVPJJhYp;Mu<5cKe$1QKm$kbuSI3dTGU0zI$HNIXxe0!{w5g zmtUQk?kXiF?Xe_S%vXl)op7n0-F79Vz{RU zhHW|q;%1V#t>6!B+8_=4!raiY^Cu>L6=bVt@23KD?Z~WdCHA-E0kZP_5UBV4q?TR# zF>$m2>a@KbE6-2189uu0@JucbLP`4NDqCGq8=+l}&%29T{#Sjk<#@Ac)-}Y&v)AEe z)Nif&8ubrFp^E>$Hv*GoVTbWJX1jnBv#KeEapUq7N}dRUNpBWbTZyys?G;%2qMPRZ z-Gy~)&ZALZ6|TH@7OyBZqPp{OvS@5HJujstu5Ov1Z&j7E5?Ki)Quj;2)DJQdF2d<%X?4H=-9wJ z(Noy3asnGa9>aJ&HP&9C6zr?EFlXGaqX_Fr9ReKT&5W@){pDX0?x~OdEmtsY^eQpv zFvm-$dCcag!0Z@MVuzv*()(53ka2GYMmc2C2|soaqs#H+h_O5AF&fMDKbx6UtbvS} znJo0oBT+d^phVaV`F8De-{CfJTy4%QIDM2qEv$%`-cn#*6FuCUq|N4;CX@3k;)#*P zT8unfP9IOLL}4xiZiROij_g@Q9rkYnk3+&3)}(}D(IfEp@OiMBkxSdG5B*n9)(89a zX9Pd6o@>cIu6=&Lu3GYu!-TrA|J*O@V;H8s#E@CIZ4qO$ZW(hl$Cf!@=nD}?Ww7bv z4$RD0f_KWaxJ)%CT(+F5`{hSd+7x<>t*eJNt64@Kn=vpj$L1!6z?`1!BZqb9^p|9Z9A#eDYWXN|c633Jb zEq-3<3X*i-B(JkOnzh)vn0>4(z?Lrf!#ns9q4t+CJnrkHiye>CU)xQ1T@!TZ;VqH8 zxz(H5tVecipG_Kuj%gqU$@gH#%f&GEyg%R1YCC;%ot@ zU%g^D5q5-dGxH89sGH|bljm?84275cc0W@pxBQ~Tp7d%=7Py5M*8ZgToeUxK5JK>L zQ5Y1JC&~i?H0a==D|$h4ywv?|wTqu6pmt{!-X3Sm?XX^u3eFREF5e5T4Fr*Pzmuf% z$!Vgu?-SXv$>P8B;GmhRQewv4F9VJ8pB7H3PnH~=G`Zs6eY&;YH!vDw%bcXrj7D@h zu!Gzzk{m^~D`o|GHkKg24m>)l)%B{8{r3AjK*;AQbBX-l< zYgBJ_Bd^V=3WX}Tnct?o|IS0&PMufQ%{DgGA$QxBDI3@S*xJ0nr2k*N&6#0oW~g5Q ze$Yqs-o%w?*KrbV4qpa(x5*uzAL1#o88LMHavKJb3z2Z;jfQGRC* zT2Dio^_j=pE%1Z7mPS+JG{7r7nn<1%jb~&v2l>-Q4iLRt{rnHQXHdKP4b}SWNP2_4 zY1F)0UYepP%<~!#Vb(EdF~%C#?ixdGZ_-1+{#Ic3`aQ9pl|9Wl8I%X>dVOoDGhd%Q>qe*_`L` z9Ah98b9*0yT%I5EF53fM-iZS#iy{!c#_jVt&dvY*xjP~|R&eC5wf?e8X~C~c=9lBMV2i!NNS-+OfvDFWHS1S7xUN905BX%1<`3MK)x%E zP}9RyW?UAp$$bpDJmpF4@p2Qkd`Oucx>$}o2i6ly#SM^qdjn+O)gWrc>-h=vgr%tY zbpFEo<@D-sEc@ETi+vy?$)-!(ppRoB!C_7isOE~-Hjm?cd;3yJ^u|wQU04ors)%I0 zj&5LA{gh$vYd7$1e;LAZjZRwko2+xlk0M}~H z%NeT;H*%&zf7bxHB+ZcM02$V$T9AF)Sc_k@vudZep8*Z$6JV9V=`gZHfW0OO*QYFl z;k<9eX0{?r!l$shnV)d0+yD(+dk})kYrs?WFib6Ug}$g*$lA3KBBBTXs}B;tGw!HO z*0yoE8n=Hv``KC|^u&;LY1=>NA@Jf-eD_nI-KY|ST3t zo(&qY)!aOCHq^E2V)t}?*6wXFZV5dGhCw5+R&o{em(0d5^5PhFBmlnTyaKuSWH4<> z0ms4Ct^H0Noew~1$zP}`YlfP6rND$fpc%i<(YDKLq3gII$IP`QI|l4g z(`zi|e2)bE!BN=1ybX>Vm;;Z)rs3@YP24Xj3-O}8WcaHZEi1{uIxl+^KJ5#!o8Q4N z=UQmEl~1}w4Kc0w3Ux@@40eWkaAi$5Jy6?)l4Fz5{O=U7eR~&-ALPLCAvr2PJC<7e z4U@ircHq6*06_w-SZ}Aq?y6*Q|E*3k_f`$W%sB`a7tUbY0eO^LtpzWO?!s|S8#I3Z z6;#<^#hS~1;P^q7Bvs`s{2#jB`>p5y{o}5*_tuco(lja>ugCcm4SSYQ5mIJGWkjg7 zhY?Z~DM~|G-V%4pK zl3RmF+QM{!r{;J@AzFv2`c{rHRT6?yX9mhXEJS6kG{LJ+JLx0Mxv<|=o{=d_0W;Ar zu)b4^dHv!m#_WGVi$}yk@tzNkt-dWtQvOY6%RGTRXJDdQ1>h`v1FW`=Wn`*#*yoD# z@O01$QgZGnvYm_h-^zAStpPE%!R!|NC>RY3BQ2Sh!Yz!jqCPvZ${o)YMUck@d6-wr zBfA@y@X}9-vQO7llaSZT@bXA6Bz{`W=nYA+EqjM)(7Mk&!{OH$@c9kNJ9vj@`6LG4 zr;jGj{#xM8CCkBDT8!!cD8i0RD4>^ek{sl%o?^(hL2^$uU$BpuvH^kB^lr;~YzUeQ zl4nyuh_ztD5@kqHXev>E6^oJj*NN4iPC;IMCw^PE0B^39M{}KQ_+0jl7!+-06TLiO zw2~Tl?%`oio&pi6a3#febkROxfF_OAqm!FILBP^Ze)AY__Hxy6D2|-zFj>SB&+LdG z)3=@_V?NG@C$)=kV%b?7d00aPqVjCq4l8z-$T&v9Er`V5Q^G-)Lefx+)N-avNR_sc zW2>iv?!lF#9cNp5sOQ;8InK6roil%B{r@?iF2+lqg}bIX%9`{@B~LQ0kh)iMup{c< z`g#9`%T{jlAtE6+$)36?>_AomD|M*YL3FY%;~}&JY@hw6Z-Wou>|lB9@UG`syH~?w zA%+qE8^L%j2*-ZMg_u_r1Siujl9aJ8>8^opdVQ=g4nDTRtnWR<;H($1JFt-{*LX&X zYTI$)wE1+0(*;s}!x*jmduf=;N4n$qUZR=hM}DIQFHTIA30>>TM4hXpM^%pFVEAS7 zGea4z{Xft&rBYhjCq?%L`9a5!JecZ5favDEOvOhIm9|5Iy_tEF{8la$Xufz&+h*xe z+oN)vPf#6l`+Pw$U_4F#V$7(lxeu!yt=XsF%?Q8c2KkbIhi<;CO%kU#lCEkim==Q2 zNrDkM56+7tJZ8J>IQG`PwYX4J3}*U7Q?D(`WZS%}RDUL?qdsdPP4i2T=2*fTp~cLc zoNl~PiC9;0k{tSIfO<=+NVe{HRw;iemXXtaf5vg}koqr^gFd?XH%>3B6H1~fe^xqWIUxotUsf%krM zM~JfQU6p5oqOkk0Q{@R5M`q&kp;|O|J_KsZxP9^~)BpNO@0rk?4GoTtyai7bnPKCK z;yJf}F8%ng-sOIu%SO20g=uFTSczCew0dC7T3+tJBH^RZUNHl97lmO=P8=qgbkeO~ z^5Jf7JM^c?Gd8dD;T1`yaUP$kMVwhwNB!ZjWcc_y1 z04Dp^QPCnqNIHS4U-l4CJWm~p>K+S28tz+-Jy>$YI+l~ z9UFrt`x#teXuz;DjzW`cFIs2L1KD2-$lHo#)bf;8nd4et z{A1w9j$lEsD!g7^DKLqZ!RaL#JjXH%c4yN?x}d6y7UWF>>&Q6_O)G*WTO`?g(=U>{ z?zzig;j3qVcK1|9TJ}mn(fNMEUQSZ##f)I-+JYU&a zD*WOd8q{hsq9Jpc=we%DQ9%IHRa)Ut^<*7et2-LoCT^kfT)w6*&Y}N%e;QACdT3+= zam<~PQyfZ+EAH%DQK?e*Z+}R%5M>lk)NP8PI9&3-l zGxzHbFE;yQd0IH0Ec*guhQyc~Rcn~Dg*U? z#N$CV$53wT(`9PbY~u94Kg52VCaXDSKbMoBM-5KD5hz6p=%A+;))XBS`0x57NNukK zvqzrHo;#mF!$*jHqu_-BqFTH>hX6tGf*gmv?=Ikv+*|akwmwc(pMu6eCxF|7NsRyJ z$v8=4b9nS@ygKVM+}&}kePC(isGPNRwG8FcA57bxBT ziv0ZP4B^N8@WhZY20jZ!L1zKBPaBIv$*u6J;2HgH5`%Mo_LFbsy`-Nvjnf-6So4A* z+%NS8XMf1XL#|f5*vA7f=TZf4)TBe0&vfzbJ_sO1=S)Fxh+!kLgxU68*KwXk6I#7E zK&M=GWFimLbGf$#G*Ds{@4AH$X=syzt!tt&a^wzv<=9;lx=q;TmE8ZwjERiRjC!~i za)VAOZ8+0WvkCqM3MeRxVu_pFDG%inNs?3*>RUpaExmQZv?OTY0 z-Jk#7pCk4|19Lxe--}7-Z@ThrWn$xrZEU@ai)t8~I55O5(xFwTe!wkidD3dzt15Q<;UywY2DHmmo7P zhFq%hC2zw5NS|o|Raq*JJ8YNYo}lGyZ}S-dF>z-5@3lBG?hIY^&NKEp_{0)egm(j zxDD#ZIH1(q9lX}_lynT0kv0d8J+#<~|4wB&%-OF>54^0w=kLE#>0d(3pky~M-Y=i3 zu1OaxRLReN-K_2~kr>2a0b%Vid=ucqj`eYZbw1a33gU%QF5P%X!V`v!wEGGr3fhimkZ@z>SieUyBm&`vOwe{G4pQ`wV`!WbkV@r_r9Z=Sk0RDHe~Og1m6fdlbQv|k0w+FZzxj||Kk(}=TPY~fG*SPMGr13KeXj9{Og6WK7vfw!aK z6xhA%hmPAzpj*_3JRI!6ghB%&D3y$eBBvN@U zd3-H{6n@oa=WSYt31XELn`cAt{#c&YzFdyK#OHaO+6K-2*Lbn=RSxQ>#=t;$9|o0J z@mlIc0DS;9DqG^W*TpFK=18XL9fAA)vUI!RYP$HHI%MB8X5GK(v(Gjev40jQvzKpd zW#4Tc#ePfw1cj#F%(GS1@bl_y2uTwB_kJkoc$)U-63;UYtdx(0b7qJ4!)&@Gpk6enj8q3J-~4>N$5FOhLkC|LeN%K zaxbg^&8&W5R!ltZOv`m>PjrS|7goXX==13JJRCnIT9fhBhvBK752UGxVq94kuJ+Nw zQBCj2k($Gh`QsE^T_2Aea2|CGGkDYDBH@AkA?UHQps}v2F;e(ErB)2s+$w?Q2o}B_ zbHT+fYw-j>Ak*OZH!|CE~1lxGtA6iLJkQEdRtHbZl zM@UZ0DCnra0e#mbnHV=^#zV>zHmXFCtr;R@wc-I1$$C-w+umIvu>;Jb{vj zqZtWr1ID>>Iv9Ozaab!mNTVmFQs2icF&9XJpJq7Oc0(5e)gFV|JZJ@M z#^Ri~V;q}a9lvIOAy32xh&lhNAZhVsa`Z`RLjmVYvwHJMsZ_CIXpGUVmZc=MnfTyMLXYZ^s2cQEL(4a<2}b=&)1*CW{M+P>kg2S-C2T* z8$ZLtAt{RTyXZWnQq-CnO@D6@!Mqt4@J?`@z*EK>A9puG#H}OveRc_C)I5O9(dIDc z(+SMk%<*QI=F#}n6wC-*OTSOBK{3v+Dl)tWd$gu-_v*`;v2Qkk*TwgAhwf42r3%rW zbIz#mbdT@~UHEq+Td8@B0~OfjI7qDtWNMT;z^dmt{Th;vwLQ-qBqmy5=TIn-Dtp8` zWf+BfZ+-x?F{&U)wqSIYjAnM8zfN5*44`C>1JNRys4ISv%5@LX`BQI`oBFYgD9OuBQG4jy=^fXTk%>{k&(@IJPRh+2+gCT`Sb%o8lJWMVeHzoJ4`&ihCY z&XmI|)m)yO0_};pK?m0^0&9D( zQP~>}9WO8Hq~|`WIUWrOO?;9d<~ZMG*YXVOhyUk%n(rW&^jwW`++gYDSJG`%@jF5} zXW+`e_sb*4omu0$#mvK438w#I5gj$-F^1+YW)+Utph<2Xxw$+E+T6;)rBau=@*nX_ z+nz)2{pIxWwmIznv9sABv3TrsDCHGihzB2zkz2>*IoyUITjAF_)ufoI{M z08UPZ*dW+LKBbL^BGUJ+)ZmU zt@&k!8O7~1@t_U-dC!3TqgHq>Q%sIMUW3h_VrYJHhv4K25%R@34HSYUAamCp!GZ>J zq7f4Vp~4+R!@iNX+Rg>{h27vqUy%XrG2%qP`2o)?EhKes57C8OhS>etr)huxds@%^ z&dHN*kYS^9Bqz`Xj(B9@%ic&_WB!sR9y7&JzX)3ET}7Tw0QwGZBj&0TV7iSRS+!9J zp7zI}hqXWWFL?>NUrS)xrI+yYz!IM1xe!|A5>AL&GBl;!C$XY){`=!jdauH^rlf1;7x09yLc^qKY^>^=QLP-vWHpIHiU z!{8{Wd!51Y5qbFQ_z<3JLUh(wCGyrM;jSH*tXW;la~v2;_dlKsO(N>#o!}eBWVsT< zD_joJ##nSQ5y3yII$%=%fsF3d;LV>t3nfm6!>-p`u{D7EGoP6;ofGVtNg{RBF!v=k z+S?0Oua3cs-PZ8)=LYQHWY#nBBFv%fa_puscbrm|LacW#r;=|9scXh({-)#< zI3K16nDb`6C4WYO+>;^^jbnyPORf|I%eQc|gf!UOJb zV)G%Uq+=J|zDb;Y|KTL0HcL6UvI}uc9mQj_7SoTL-qV_sl(#D&k>=hS%Q*d-2yXuR z>;xBma#Ti+>Tm9%8xAS4j&;)o{z_jViOam(rMpQ`Z9A1wji1aIPCSmspSR(gg>R_W zCfWby5jfML9QulJ{Cv<*PrA;aB65FY9@PH(eMwq!4)=zr5Yx;I_RyRZ_IXo39`Qbf zDLRRCDEBb)WTG$Q-)IVda+dOrKhTCTPBV#8-wEtqxS4H#UWmtr&f=RyL-ypaml$Ap zpJuJEB@c0e!X>%Db7mgj8 zE5}N;a=ER&B6QbGKAq_6!Rf13pmS&|aaKJ>+?Q1nVH0y^-@&g?HoY310z)w0Z#{Ke z<4LtYEyVrrdIk0+ABmcR3-sANB-5%tL%hu+f~^k7QI}CZ$(~p!4U_r1)g7Xv*3qdi z&3M8lp9LGlv|wnw7SptGFO=7sq1M$SsPRXOgzcAyzv~K#aaIcrDV)J+Q&*|VNE;P9 zI3C=qBe;8!ogiVUioZ3sARFP&uiChQOcel&o8nP{3)5IRP>$YR=IGkG6*T&+nf%A) zu+A-w*B;^n6~3DPy*H-#H5~l1Zo1=PWvjL=^Ykm6n*8%D0{`s~#~;ZhU8hRJ(T^t~LoF%JuYH+F+VeL^68#UF!WN5^xSA_c^z_$+<8U5|M&V-hnuJq6#J zi?dsexoonvMRaI*J++tUqpj21NOph{T&v+`bc2t?d)sEl!QB!xKf1CF7AJ{Ztv^|j z)<>(2R?_?qZ|Lhf3fk>|sI29C!P~J5n90tcp-abvy_Psr(AujFcsrXeuqqU&${)qB zKqSA?6pAEf}7DX3P|Nr!>(%Tba)+9SQUUf2xI%hw*;;Nm0<&R_k zKYsukVU)}#9#1=iyzSIu#J3H@#XVU>t@|LqfxDGR z75jkis`jylb4F0Yaw^qZupH0ak_KyeaYp^rK^Qt5NC!7mIau28v21n?&YkJUPSfe4 zO2(JT#Z~=Sv@Q!{FDSt@t#R;b#Eb6J*#pI*Gm$csi}1IF(Zh5YD6lS=b#!Ek8T-f(d7PCM(L&p<5}EDihaaMOT3R@e${F^ zcG+Z5bsEJ^-d9Pc%x&Y(`|8Y|zImJqlEWF(+~gZH z=nnain+>TRr|``A0n*LsIUk3k1nrMRA^C9;nhTO}meos0RGbHVI~(%U=puMJu0-3x zFt{*k5mjI12|-U@K;_DFsCm90jpc7ZrG_MPfATI6Y&ZI^KZrW7e6~T^(ebjho39#7 zte8-GZTkhmzj}q&uqNB(Vayg?Yr=Kz*|@c86uw^1{dVyav@z@qUiI7yB427D11sR# z%44Mbt~R^wh#RZN@lxNke}+BI>Gm3(%CO{)5Hq5!z({_hC7QQr5hG23~rY4y!v9Au@YEJyPGp zTVk@D1pawV^p_uok?ne5D^diej~26vFUPQx5+oR@AtPo$cNEA?=JW0aCy^%|=Lx$s zmVYur2$R>J;n%JTzw})<)3Gfvv)*5O?(ZMio4L(Xz%sDe0H&%oEn71ESN}oaV+1ue=W)?i!%0RFZ z54IWxL$J9Lc*;h>RI_R>$1xX9rODCbTT^i8&~_+ntO1w%PvF$SOVBVV{9ir1tJwD1 zKAGpZ+$?)$)+2+8zt26#@t6IpXWAGoLAgVvctq$vsVwkk8Ko2K?ujdC>2y_`CGdeG zC#@Lg0arNjc@4?Bq|K05R^XrCLVBj?quJz0_K0XJdB0Qm-Rz~Se zn;HoC%!i9pVgwfsoFfAp=CGqpOYuYTc@SuBg_Lmvya)cri1qo8w6sZwKd`+Ma(bKi zvBzIQquyDF{n3oZ)t30gk<(|d&jy;(MZ%>`aNJxK_H)KZAchlB^>D zx*ksDaoTBwFVt-jgVPooIG7>9s$(;W6tX58EQLW{#+C`K8^erF*+Ggf_u%E?XXN>2 zdoFY29F_URWrt)MW2vw#9GLN%H-GC7c%31~)O)(ZA~hLyV4J33l$AWJPrS=pUB}HO zVF_s4mQH7G(1*3ZIL`U|dl0=TgPXGlaQ7ic6o{#l6<3`)-@?gyA&oJvE42xB}%F z6*=(8X}Ge{mXR0+489zRPK8cH{-YkeSeTDh{>tP^x~2X6^7+?^r+ZW4-~mtd8eORy*5Du%kh#?kN6V6xjuMto%h_&qpA6y`3Vs~+4S zw?<3*4TcyvTJLBSAJ?zyxVvq!myNBs)-etv1y^Cdiy|YTtIYh&ZH1nUY?yql z7%L~+!mI%?ri<%s@`+EVbV~#k<#z1eqPM{~XbEU8k*E4rhhX&L1ia>C#q)i<0Tz2d zC+mdPlLvoId7m47%E7Uom|n?+z?^!>4zXtDi-+LuvibPp&MRtQltb4^mkM6oTZbl7 z%mWV8Ay7J9m1sq+aUZouWeht`s1HFM$3%v?}T zpAD}zo*X7JXZ0TFiA&X(}8TLw7Ls6GZMhUSrop$av^Ii?h{{j z7g!D^I2;LHfI5@qLG4fm1UKjrJM(ay?5fJftNz4~-I)lonK-`n38~7w3ymkiLb?Dxe9|S`Jig=KONuOI)!B8CKCJE|C-#4O*O=KBM_0TzZ&HY{+&m%CnRC3L<^mrbqq(f1)}b$R1DCbgA&;r1h1#afvo8? zvb|jr>qqv3Gv|$l$F{udc{OA)mqC83UJ|}Y781!VjYtEMkc_CQIP7o#6`lqpJ!CA+q=g3)3_bY|RH zu8wjMFWkX`lZmA9x;x_`JDtfF&Vcx*3s}CQu%KG{Baij`D=^{aPGydD@}1)`thV08 z{FMbp;(9mjtr2F;b1t&ee^&Fe<@NBWzXWb{uA!@^{e^-B;~CRE$ElWjHS%KKqO2#E z2mU1)l^WxyhM^bU=9n2b&!=$N`)lBv%RSWGIEO8)RcDW1^Tdn~-BjV#EqMA&7LS=J zQE#aPXwh2({%gE2=}0DCR?fh4mCB@J`%fs$D+Burj*L>`eCl#S1{UY;q_ztt;u%e2 z%zdv5o>k=#t5*Oo&+LQN{6fJQ@eC?cJ(s?n_=UI4L=JbmaQT$R4!E>o5=y)1;bx~L zSo`Y&noW(yLGR-v`gA2jq(8lqKr69>DyK5&YSnmuS}TYeCjy zE1JOZfYWZ~(uon)5<;l%|Um&KaoPTa{WrwiyNVUCkD?;Cts zufwq8MVJZlqd-~dq9CJ14_VCu+!4MRpHAb`4Q*$^)OZS$F=`lcPu22<<^9+{5k3#4QGi%I!yoX*`jnFRa$b5?J1W83@H017H^L_K#y-G^7^z9|e@B2VkK9+~` zcSV`^KU*PfT>-VYA%_xZa)FRv#lBRrqeXoy_5Q=O>lTQB1>*I^kMMkCG3~p_qaW?A9POxQ|6up z1$(6#g=30z^w>Y->_{9rwLk*p4;BcbP4b}YnmHpACc+5a5{0MY%g{!#$*8gs&=4{yq!2ru#Sve z_2qplImlb7xDh+;@&wyUyqS=tr|8d?`!rSi8SMZ7%Mvd|ean_wOY<@l&)w=(}9quo@@HvFqI7G1(BOgeP z75;f-^pnfd@E?k?%vGi`@r9N-A_54P9b65dYLVwdoKg$J2 z&+h=a=ug0;Mq^A|2pe`+hBa^SM43`KIMwTe&ug>srSM%U62fIhzH0|4^ucF6$JjUT zwAh5kGDySg@cV}+qcQ-6ScH+YhPfm;Ndf$2QXzhOG1$mZFssucA$!|F^iYLEkN$Tu#VCbb zFgsedE>)Vis>TrhDRa1b$Q3dr?I5dI8@@{Lpt-q#8o70lvYAqh^LaC-rQC?oEs$gU z9;HA%c9S{%CHAquEZB4N%l_*R58m7nSA62&_;iikt+~?UE5^Dd(;sGX|JYc@ii*NMX2Ns>(U!bH%% zaf_<;PQ_a#(d6~oc_1!n3fq<4$f+?GKs4zU=?+*9+aJb(=|C?D+x?ce=*2VoM|2!* z6Z@gsSL=T?!S^dk7u z><>CCT~XtM1S;=10(OSpa9OgHci@CK-75BuaF-yE6IckrTjasPE&zkJrsLwFBe=0W z1e%1?sECsUTTniMJ$yxx^<5;-9-J)7%17Npi_cZ~_T_Etcb&in&)UU2E7M?BxWvGr z8acS~jTO|TH(|~f6L#tLdaPckhf_QbVRP@*|MUtsaiQ%x+&t21pEN2d!Mq~l$a@vH zSO3<7W}+@@{w07Mu(D&e_Q^4&+^oH9Z$66ptB|-JKE!bMj2E}5R&IXE?E;L6$fR1b$T=CNm5gI5 zxf==L9m1f{r@*oYKl73{>f^5U;W&NLJ1Tc+DSTQa#w>d$%9zDVGSZ9Jg73C_SfyFc zwj8)kHu+tqyZvK%>)kIy<@avbZf6QdICiD%s{m|DKaD0r<(v-a$OeR@!pOb^e%%K- z=+o|k)LQ8UyW^l^c5crh_Lf*McGS+FR^Ws3TvW0j*S_RXZ02a zF@L@*GKNu>u%#f1yl9W2?t6Z6{t+v7-S2ytaK;&%Rwdz&F)RMlw}tjyxq9r7onv5J z$&SYt4J*PKhfjr@rT*y;ITN(mZB>qRjItb6$>sc|@jdkD3IoB)Oka-O)CD`OqQSIu z6NvPOFeH6D3bQKc8xc-MO0;O-wkmq~FXwa)F>noSfkY`WCN|cKG2Xp_&Z^mm z50@pA_V?ToBYjH?P9&pAzY%=TUdl8VPhzAy!eDr=EY+IB@7vYsa za8C)BSLw>AWodFOTN|`^t;;qVoMY3oI(hS#h~p&V<-9H)mnCKR8L|p{;kJS`OmY5B z>p$JaS=!+^@8>Gkb(0r~tQkW+hs5FJ*kmZ}nGd-aX5q7^Ur}=UGnCq5!|iA8^0p6k z;B~QaU^Dd4!6f%MOinBZ%`vmdRGU|LD{u@OmwFL9zHOzU^5)np7L5CcbBV?QJ+NzP zgPmTojM(`r@OJrE-nFS4@r=(*s%lxuKX!KxE~_g?^D#4sQlmNS86OX7k=C$6VkJ?u zjicXeT`@Y$6&(X~u;t1K-6m6ur7t{4SAIIrLG}`zcOeHi@8)iZ@(-Y`<$3(3ZGmex zM)MwA8jms^{AcqaX;f4Y|Lg+b2uq0>A>JjYsr$+WAyx4)XG#7=802r|J%ehq>yA6ZiOehJ{= z1lSn09)?cm!8^T2VDsV;*xwF@PTAYM@?~*kjNlGY0|j1{Y#PbD=?HT1zj@yR6ru6S zMkr`I02P@_;K8LD;`ekS+;>|8hpXnn&F#H#Q1um=F*}`l=||F`6>qs*%{qv8=z^Sm zD$N<%u$0cRzqw{BH7g#e4id zsK}nqEW^y3hw<@hC+v^Z!eQfd+V?<@J!+`P92|C|i|60OL(XM%y!JuI53J0YcpaM{YG%8P>Z!Swq(D$jzi(VAJAGo0`-j}WbCV+|K1yXjYS15 zHZvUOUjFSh^X8a};F~K}=GXl@j}&L#C%;#1!?D)txN^w?o`(E8niMjH8i(lE6;|z~ zZ=W$Va_<^Jn41TLx6705-3s(Y-6V3j?0dPJq>z2p_0iBiw2Rhr|F+I#h%{dbfxlL> z;T=E6{#3?A!J>7hC6<}cx*j06Emc~I`lvlBy?CYGcMRO ze|F!5k306^Vk3PvzfqZ;(r=Cx$rI4^kS=*{+6pb>CNsQhedfjEbA)uMu;$hFELJ|l zxcp99cPN6*>%2-vg$dy1(zTFdaDpD+@g9>G__9oqD9c(0!T$UaXkI4DT!~uGZfGfo zG5&dE>1!4%+Vxlwmoe;byPLGSrJu{X>4%vQf*^foJD41N1fgqo(|ivx7H5dEsIy?_buYI){v`%#K+|bw`=Vr zrzG9}s|P>bh{Vqx(;aIJHZHOZ)~Kjx@zrbD^zS?}^!@;3iYnkFWqTApF&}eSdAzys z1^u0=g&1{#D#|F)^^3#sa_&mp8thFoZ(AWwyiJczxaP3Xww648CJ7dNV+i}|Pc)ts zkd%YPWXbdj*tdQRuByqPo$8dN^&TeLts+o5YJ>#mr%=I-7C|tBiD#-X z&asaWglmb@Up{8I$P;j7#c@2TXowGeP2s!JLy$Qd4NgmMg1MkU_rrq)n;>doDidbZ#>;Su#&v&k(EQCAYHlIV1YDZS*l+2A zviPrpO-@JgM6wtTt5ky(cjNS+Dj)sH9y0dL1g5BaGqe2o129>33KhRM;n;g3tozpu z2+|4cNYWSkCe;&=rYg+X)(1iB!xS9-%av8Ov|~j}oH6@Y7jbjtb_6eC*cPjMoUh1Zn*0P@G@?N1N;K#vNHMRKBAFK}PQtUXDd?-V3P%%ldf0O|*`cG!k5&9)sI` zJ0O3GG?@SXLC&=-f%UuZLvy$l9-ftkTeVK|-cODJ`488@ojD1Sy@_PS_f)~1X}5Vx zo|fBQ<9mSS&}3{rq=?%m*$O5oDpOwd-174agvk+h1|-*9h96}`aNN-lPP&URvm6{L zG1H|XH{`Ix-Wipp-tw&UE4knL9&qXcXkQ#cY*y?i1(I`_f^Rvvp=2kPyX?ZX9w$hZ zsv7fWU?y`jOq%KY_L=`^M*|+1_6Y;Lt8ouaLj5O|yyyG^7g`GhjeQ)3g{Jz)Yn zz4jL3cY9oY83bvEj<9dn#_+aW(qQ&qP-Rwo$>ZM3HtZeIAolH*W=wiv3Lfw6VNyyo zY*`V+eh_~SH)a|`ouCivOMO|%4eIQs=Y0a5D;)d!T{0QJ`a9`X=Y#2va9}hPVca$; z*7A=HYgDL&^(SSRg7f2;(e=Ubp-B-vKQ2a1pV6Rs^)L7isl(|~0WSQMhJ8EJ_yW6R zI`nA}Z@-h_SbdK8`7Gyuo+}R1C&~X;4?-oQlVe`Ya5NXPlNjwip#q;QY&fO+@B87y zG#+yq{Hdu%Dc?Ka45D+DC`akQ{fl&vfBG{$li9_qNfQFWU42L#r^cuqyHEHB8Bn`; z6-;N=aDJzgFxhGX%&GZAQY|CluDl9d`?wu~v<|^d)dX~ET29|{`=%K=#~{6X8<(ZI z5ZeFxz^&hVfe{vvB)?<`zcWnIT61yKSu2zbk`z1<)`h(Vv9KLB!XWqVr}ABbm*X!J z)4a8eXO<##@>u%C^ABB?_=a@3H^Gv*FG2gQ9#kez!}=R%@mI-Ql+0hkj91z~B82&Z zcYcF{fHz#mv_cWAGHQj)Nr5n6-orCxT<|I9pKU$qhjxkA$<7^JM03$hA{;jgogj~v zM$V@W%cJn?)7=3O2?f@Q(8di~f7Xk${#TlCnfw*p&t-e+ zDA)3Cyj}`BJcHT7i0RBcpWCpYSC~j^Y{%3}A$%h4MrLZ|(7faVth;psqZg!8A-)oO zzvDF|hi%0>?<%lLxS39qii9>18K~C&LH$jZqUf1iET5tTzE#JmQl}J?zp(=|^4(Z@ z88fzA>kA_L5`(`-P@jl1K(s5ltl5pQp6UFr9-jNHI-c-;hT~4F*t{(wCKbxv>)p=2 z{kK14JW8V4X6CqW6~`j{u?`)ccvA_>N#MdC1$|LTM0B??lxR4ED5sMYq%Fav<>T@7 z<6Y#2su+k3uY_YFF<@oH?EppNNgJ1gVm|#fS+{>Y?3(Ip)2*7OciKz`3p+ATCG2eOxHTIw@>vJ5Q|^EyRX5E9q8|MpABD4j->~fxAaO zFxNIiQLH1QW;_wCxjCEz2VlEE2WFm^XC_NeVJ4b&f!m)B-m1k(=+0?N8{SU(fA=5= zF;j8eopQ3sLX2Vh^cdVW2_~;7!u211;ty7gt&Azd808&o#+otQ`)NO{I`JH4FJj2) z=0@BQs?V;M`-6c6_XP&_<#UWD$RCD^n(1#A6Ivb8%WVemCk z9^b?lo-vz8xQ?Me>c{L*s@5!r021_9`(X|(KvGSS?{yH`e<#kGF{n{z`q=fUAEsVhh{WchEde9*wy_MFy*T&20 zDzxNeA=$?H*q7R;@qNBHP_^CbcquX=P-MHBW6CW9{aeGdSL_Gx`4uh!f8$lEEtrQc z@!SnuH}F<$k|Xj10bt(Dd3jdz;p_Vp98=LnuP+>nP9Nh?Z>KbFmC*xZ&I6vUp-0>< z9w+lBAM%3B$)Aj zVzenb3RkU(!^U?7boj0X-23YZhnFuS-2+<~{v}^V$=CrlXGP(fj@w8$){QuuhI{N^ zVrZ%n`!P_74SU~%`#byKT)`iZ*BHQU8U}1jl?1CPmxBu4G03r3vGv|F++Qfo8kjNc zr(%7!^vwe-2ye&VR%&2a`4)#rcd zo|&aYr_+)=%pQw|btmbeG6h)m;x$?F=sfR4jszB$<>3GJrvuG#N>{JAIKDjGa75H} za>YmG8%B{6$NZyrZRd%e#)sRqM}9%bwJP|<-HX9TNeC1+ z2IcT{(hz%wY*Onbm2=bihfTV9@46B8U95!SuL`j5yf(EO&v9teew8+v{}9aAPlUTp zry&2A2=Q3%MA!E3CwDK;BEiRUXhYXu%zsNAqNntb)kdMP!`PVlc14G|aHIw9XJ*3f z)BWV{;Yh0SL6eFPNppr`cjntledb2dMP9zdXuPhvmL~e`gOTa&@UyfXe#@jo&{Y>E zZ=MU2^J^O8xJD5?-Lvpo@>teMu?d4rrSX2B0X_{$rq`z&CTh1=Fc)gHn9}&0lsOxY z=YI8I=+R*$AqmLuJ&Fkl?yR?48k_cQ2RnVILj<0@7*Y$2OatH^$GI*YqbNW$j2b%MD+I9}+o>C`4<6KKIx_@?`V zG&U^2XFgJFWRyOuaDE&K*zZAvpNztuEz|H$*ayM0&@AdVS_thv+{N%)?YO7s>3{Vg zJup)!r^wmy%+7ADeJ_nFx`TYO^X_QwXiOSl_YV!M1qWom*H_28DnolCY~0DmU~-(qvJqM zx;Hd$&A{l^EHYZEklH&0(>PN_xbiU?TwXE6aPKnuJ=K$!`rtDiwK5Vbxf$r@;Rzgz zV;oek8xM+k*ErvO2BhTcg5x7i=ulb?lQ%gNaiKWc9UlVi6A43)N;8f}gFsVcH>}&w z%^Jt&z*x1%FtzwENc}hs#kNC`|HYEIwQDJ}@$MOLNKOBq;k#TIvqgkeIx zgrL`RI}8=_;o1Toj2tM2dC%prrv5f|M)YCXEn{e0vkNx#C1UsU0kjVMfxHV2?5k%p zS-oZ{=70U+<(Z|ko}@ZE2FYEjcXyst(Gwwed5*`w`A8L0xy%->hn~#Mg!>nxh)4M` z!Nbu4I<9ko4%nE|D!GefyRH%3ebEgO55v$p>J_!~YZJtByNrWx<9Qd=lFA^`4M62bJ5P6~1T2~z2zPx~ zz}=eTw4&%fsTm)@8@2hS8=Zs>eC zhU4FPJi%4NIIvgP1vl@9!Zpo9Oq;YT(_d`OIA;RzMK9plV=^rN=T}^<{Tu_V#o2vN zbXd>b*6g&{Vrm_C4ni7DScfFS)}DTfXWbuBo9+hEvA~dYkkzQaQG&hw|Il@w@mRj` z-#0Q#6fz@~k&sat*YQ0=ga!?gHYubimG(fk6cJfT8KqJw;yS)Z6xv!!r8KDQ22II* z{vX`G`_=t={hxW@0oQe&$MGGX&-)YY%u26lva&UcnBmoV?6aOBM!!&kC!2UZMvE;O zV~|gJ$HYOv5-}>j_%TLh>am>Lz)CH}1vQ?j@O-rmJbf_=XJ0DD>I5b8J-EAv{DW&S9&dIipzyjdu> zDFxbs93l75NO-7SEQmj#1V7vK;H!%b+{%&#Q!6vj9-aU*?nT4xs^>8M^ILd-(g%tn z>`DKbUNYpP7o^xs1Ftp9;7U8sczt*ed=9)L!ne`Ff!TXsPmg=|xDG56?!e>eDNz4t7UwW^6c>;^2S=0)p!2Qc81S8EV(RXy z49OFv?bo-H*K`hN+;;=U%pAit!zDPn^%$Ois>qIRzK3r|9YWs-Sr&7D8JjbIIMqZ0UlGK!OjFS&`7@qKQD#3A1$bqZDE5?<L_l4s0iE1r|{TC4Wr#y|;#kkpy2jJV;Wt?}Qfa6{mapN_7fzL$7)LVr( z+1DCB2T#YQ-%sd-y>G~=x~Xu;l}Nem~xQMJmi_KPdyUQ(Ncy@ znrq84np~Lr=K)-HUz#n}8o)mf4Kd=&YF_g#iQh`3@oRW39dt|LISksUF<}IHKia|y zJ+)a`*>rrA*h*fPtb#Af1#sf{1DLR4GPek~aows@xWz`ryeDxqn-~;D?e*Tku|73! zg}MZHwYnGt-811wL^>!IiEvpkgmd+J4IPRjIjw|fvf%Gi8j`mN%a}d2@@cLN%iMy~ z4lA(w5MwrO^K2G#R*_|1Py6qDaG4w{(o$q=yRx%$!xm$$s_&Uq8CPEYtMC2eeV*K2 z4ni6JUYwyHi&mBgaQmfV`uMaFisshh#-q^Xk2Ja=N7l1$b#<}`tu^s z)Ov&CKeXXm3vuj-2qCy`3U@K#EXfEBqk{Ah^au>Y7wOLAjf^>b@2sTz{xl)k;mlsf z&1TD|p1}F@%khlSXEs--T(YX1xmAr(Z->@eO?D@)S0_ zcM)o@$t8A+lfe4a54ccd!DV)aaVJ93xQ5#?oL=!Lt}X5t%9p$%p%Ja{cG+i0sW=Up z>pF#2d-G7^l{e-M|3r68I468LfdjQ|xggX2MS7{vM3Wi+ zZpHN9+xWihJ8qq2&F7L@K*!qaw0u#VKrq6Y-olIM+t`9dS94LeHwMQnx{Ke=YqD!Q z&A5T_b7A|*kGSz|6%LD2!T!8#d_9ckXK#%{KjR{LJ~kC^zxQC>q64r*CkCS8HC^(+l3vLeaptw&_Mo+g zvq7E9g~<+vkm=A0FgIUHcJZD($GIWf-UFA!A{j7 z+`I)rT+DeLZf??1Xp4;?EWUv*nYR(^4ZP4^Vkq(ec-2?K6$%m z6r8I&42G{hgScifm?S-*=YpkCx3&t;d_9K?=TX#an#1m?X0by(0gR3KguOCp7`FKZ z%^My|>-H4E89hIglNybq_b|#GkfT~t8t}Z*9CpdTf?ew$z(Zv>u+?}5t}vU=xo)v0 zV+PNYtNc5r)wL1|=Z9a(*b|N-;bmAlbt>=R3Bb@fGVF%E9QSGKCsN|R9qosu2_I^h z!fGiG>=vr9p%Hg+mQEyj<-Y(;s{L6*-QoZAIhLCqy-_xEv{k&a*WUHa)T*ymlg=dm z`M3Ujy3>yLX*LPhW%C@boe9us(amRn@LIR|w%}XiOfnmd`JTua%5E3p_%pwWyG=Me zH5m;abt}MSGllkBx4`SB3p@}xLRM(W!O3rG@YdK7Z+-d*O}(#R%6Mlmd^ZE`FFFLv z7p23G{Dp8+Mh>j|G@$nfBeODNFwkNOchggs%P^p@I?4?UT^wOrbq&uwm7>o-zoO-* zMFa&fhvLE*-@= z`0%@(;!#+?`8&4laA8?ze&82tRoEQ=m+Wh}huxEbS$Qn@?|ks?3)NSQcD5~iEjqMe z`_!t~NB&=)MUVOCzKCBkmFfhRVYk;)?C$5YXzMbdG%6i*n$+Oz&3zCg5dou*xj>}Z zR+u+&HC~M$Nw4qJr&W+ozQG7?;TH*R@c~=V+xbwC*f_hwcUv@Uv6SEvuSSqkWhH)Q zu+nD8p$ZZ!^AV0t{0)h*NLDWBp_}an1=`(ZutIbc*S%MPyH=^dZ7;eA)wqLfYH^1w z-3Mf<#eQ6C8jWePLom!opR9;!g9}Z3O*!r$xPG%BcDFXrx8vc#~?8MJ#D{z6_ZZs3u`Oi3Va2sB&y2*6uCb5Rqe$steD3Y-%kQ1eFIXF z^c_`N4&a%2MdaN(CG7N*VJ=I>SmVmqIOaekpM!mrD4u#j?>^B4Ri4*;!^;Pj_$-D| z54-4=I9ui*3}M5%eAo`Ji7ZP)ly&D8pq;M?=N|qN=YL7UEAxZ#N$E=-cP@(ECFyu- z(ms4|w2wY$4@2pTb@-{vi*w%QOLp)~IV;}^l98JapG@}C!{1bym%(p*AS@KhZwaUV z{VHr*uRPS; zf6KHw@C9i439k&(Dv{XenB}4W)(@McBDXIz9=G?2m>~ z3VvWIX$eCnB)})1$!KqpNPlemEhrG#0PS!7Kt<0j*jKU=g6lrm80lXYo)U?H9enmf zqRwaXW!nny`I`-XZW^#}$|z8trUc*hY)R?f7&`W{KDj&H25@~TOjEPssQUwW6`T&c zWirVRz$A2j{X72?Lg-{s_f+E_3r{9WK0Q2zc;X zhZ`@JQ@20G_}lU{4(+^zGWqW@m2IdCKQiIK_1yM%XnuCn#;dT_s8 zB5?nB8NKbUV%8;ZYK z#DDQpGIRTDl>IA8kK50O%a)7SPOa@sT9aW)=rS~Xd>EaA_30I>5%4fxNS69`;r!PN z{_95s%U&%{beLvqyh6(5fQWik?ekiPPtB_ToDcIm@6r)-v{AhNB(6(K#C?H0Pcr)* z9ru|3n_nHllW{BPweu0QP}2hg!y@t0-=S;z(WOZ8pP8rp1)Y5a-e56g19Zq)k z1w*s#(AE}vPuEEMhE-UprHBVJ&rwT9IW(;QMvVAeVvE9H zc(bz$jHC&dHcAGH7pGP9HFe+uUc1|g-Z;=G$Etf*u@$?wu$K|MtIOYrJ@1%^t#{)E zzw0M)3F&I=44sV2gx**__($lIS5AB@74W7+J+=joWoO2ZWN|n`~(D&Ap;e>M< zq#7$jT0?sec#Ueh$oYzWrNsKd$3(_kH84992OB^@ps zL7Dd%+Hi^RyY?cza&sg~$x&LGE{72VNaq<%A|_6)bnB`KIILGdLRWMNpQ@Wf%*rB| zx9lx!jVT9#j5qZApM|&n>2Oa&89e7FkXJ8v@p_pk$lW%U3sRjW5P5V)uzki8BDT;M z9xu5Hq0bb#oWoPNIE9&9RhtL5CFl*WX_w`;dws{oMbl9o+v$W+bJ5r3d1XY}60)a# zJQgXXl0n6KV2%MqbZ;6AEqjO|8tuY8X9BTzrYXy=I>PRaIm%83Z(F`xLaP<)uiCstYS=aIJQ$Nfol*OhhXKvE@a**`C z4!+^7+vcE zRz7wluC9_K=<9KwBNBuW#gi~z^D0fwcd7Kbz#mWO zgHYaQm+IUI`&y0woi+`8;hZ2PG9FJaSxz#N*RTs_Dy;Ws76!X&WAET_96LHpSUoTb z2JY{Nm`(vmcTL5`2TI7NJBBRg(mb{%&7XPNZ{$5hhgkcXoWCCq&O2fu@3ap5TDlBtr0=4bLM0~NT7~w@b#QZU6|9^j%HL75IGv^{ z$cYVrsjhznwl*n3v-yWeLB>VFp|Z&|=ZhxJN)p0gz<^MuvWRqKjK|BvuHe^8r}zvU zH9>60NXRN0q$___(OnBhu(2$Yx8y}#R#x303B+ItkpTK-d+VN*^B^~Kz3b*b>!oWRQ2v3zF zzyF3(pH~JDWBHqGT0WcVW~HK|eGKZGCP8?`Gm!8*Lk?Gt#gR7GNp$59`Y3l8x1(VM zq?Nwsvn`jBV2>TxwBrL6piuB6k@}Ln`Y3RZBJvw-X*QE!a=Vt;l zvv5q}E$YVei|bpokd`>xRHVAXh|&@$?)e3KR!VTk)9OKMg(c0N(?~_W?txu3QZOx` z45u_M2d9#+IPYBqhtGmQZ^i3~`w`XkhpI)EP^^L}>zZrXcq z7v?`+j{P=E@Yb#psvw(7XPkC`(XIfl`@CpVex@MSVjAcBV1U-}bCd4jDQNavi!J@T zn9VUUX2&O0&{TzSWc>qPdoM_Y!IA4AVtq9l%`(J#_YLG@c7)ZKZ&A3nwG3A)i(t^A zNHTQiB{FX7AY?nJu^9EGaF>7QN1o;xiwCOd{haGmww4I*&eKD4XEC_M>vSvpUASS* zYHZKtA22kmiJsV)K`vFjAy2cKiK$x(kWb^t)YJ8Je*QtC=6V|j-Wjql8+4h&CpA_- z=@9Yh9}6!xt|Vn|vLMWnaC4j!_<6>9?r*;YeCqyxe#6`aZcXMI_O>4y3+4Pw65kwquJkj!5Z zAo0`&T3$>h601iGKEG0;WMnrncGjhzUltR+#XsoX_|tg!Q-a`ay9x*G9OoT!1$OiX zk&~6r1U}7ML0Msp&1R8Fyie~XNxZ0oZjAv{Ze$T@`)vyuyi9NA*VFJ($_ETHBw@aP z2i>8!5S)MN;Rjwjhi}aBA@7@-vU(4j|3RFssL3TWZ!(aRItbwnTIB6}0lcX_iVZV0 z(B-Te)|5Lu)Z9EENAM!5IrJQ`TwP4B+{ zhPxiV#^pU5@M`HTaJ#1s^PXHHlU@ke@>?Oo^D~#C%msUF>`tafHRbS&c?c$%dI+!2 zO@M@DgF?|l-hCU?gR$yM(W2}=ZZWhY&;Pms+jCy{G)o0fHyI1M&T64U%`Y6)T?-Bh za_mLkVWub;!LI*$1^HqAoUr2zIOXi1ja|hMI#P{W{b?O(cnmn07XF`pPcVJC=HXZe z+lgYyTEh$`Rhfp5ow}y--+3nM%%T3iy!TQi2Ck}p1C@YyF!p&u?7tX+x3vd2D5}7p zgAKIm@@9Og)D6$#XT!IBO+@G@0-Dbr2o{-Lr3sfmkdumukhRnv%(Q-xXR?iCoQf*v zY%B!^8C9greV;%OZceA~suSKCDhc4W32-XRTa zY`kEo{{oU;eH!oBmP4bb6WYW+Lfyk0#ye?a=rdmD*%yna^3-g05BkHS`E}%3>2CbM zYhlg5rlS9yN<7}sKn=H~;k*9P{>5)8jngx0)IZOf2zSpPMf zYP)Tqu5Xfrvl1J~wRbLD%%LT0e*H+et{EWwxIdd7xg~>tXWC#W-?`iqf zF?8Fn;oQsJ>P&30CmS&&4{c+YL(7f*@Jv~T4n9am_uWhI&3Se1PR?ph@!bNh+_vVw z=izPRv3u`oXV|*UShR6!xmA_+a=#K^-GAp-OH@p7tmk=wY}WvC>b#trnqI<>}}XDe0KIX5jVI9Bevd#W7A&(Oy308 z?@Q7cV+mNgXb>{zj^gf3-VZ}`dj%$japdTgcraL<1|FG%FyhP&;p4&rWD^rn=dX>R zFnA2)DmD|{JW*cjqywXt&4GDGWx-InTLrr`(g76(*rM)leei8nTts@~r?O@x2(bzmujN$r2*!JNsG(W2cn}t$>-YK(5-;Xiye)DZI zS!pOfljimJt{1St>;nc(Jw~K{^0oTJK9n^QXTus3&~T9?y7XVh&*Rs!8wLkh(Na++ zZ2JNuERXUzVj};|Gi4mB_j-?Uv>mr2*ZbmCi>k+OSIt@7@o#?`6xN8*_wxnjub80I zUQ+0muo~6CmF6F`2n%KoD+_0#)75>FmMTkbRTSd>$VS$4xH6q!D&- z`_L@ttxE>C)7{Y4A<9{)cfkSMM6hmr&+jVl3fV&e{5U=X&UUE~t4VzJ*Z%zw#B*;1 zf*hE9K#cRrm*zBn4nsHB1hku8O5@c%=;3KEXxdgel9u8Q6Z3*-IWUTDA@Gvh%2^j0 zazoNNPN=zzV?UI*<;J04>Nt^3-CiPq3E|Yq?+9L1okkCei?UNc>~P2F)iA}U54QY1 z3=wXT;5qfHuqCgE1{x0suIwbSD4Yn)ZYP7l6%6_OyRvKA%xCp9_OzbQ#~mL`)<^`w zrq$U%hgO2(l|C94)r>uFPNK@qc_4$N?<1Q4b+lH$)_|gxBA4!?`Qh`_6P)_pBcsAw2Co*Z(It+B3 zfy17J(U{XWXtR+%-W#$Tw_0w;Qzms7=kf|3<@yU#7IvV?xtZAS@rv5bzbEvwt-uh~ zF-$`%4!i9UHp>(UN4*ROvD!vjWf3B-p)%IisQOaUmdA>=`xf`Bv<^txE~?%clv45h zf9+3yFRI-=aiP7fOlNJ-*{!-&@yVknr0D+JpSA^d+q{-C#(Af2ke$CBz`@}Mt#;|g zh>kQetWu6^shYsGf3-u2ePdX|>I-1#R6_J0&W9fXKgcy33qq@>;E@SNlGg@l(S>=5u;7n2C-^IgdnI`< zSZ*Lw><(fl&o}W*q(^W~sTO16PLh1f$ryNH5!~e#fx()QtPbp1?fOn^@A`yc&%~f( zoh;Y=0r=172=UDwq{E(HC)0gz(Tc6Vu;=ze+IDOWybgATKDPmQnOqLmc6WrSH;Qu-9Q)&=CiVk2HdeI9N|L~{-w8;OJS6ta^GMkg6Q^LoZHW)xu0 z4y_1-)^~^D5zo5)zw@s3CDZ<#NVm70)U)W!1EE3Hw;3Zx6zTojpB}f^PY$lWhLSp8 z>4^y+h{-C^jztqEjTp-sw<`Skw5cw8eV!o(l=;F;~K=^e{hp5a=AOGE{5 za}S>r=Y9;w$Zf^m=|Z8s;z)?_ErdMzQ}C`u9y|gfLB#zQ`RJU;z4VO1155kyn6(h! zK6*l5JW*pwKg5}8$OPdmHxXPD6#n15!cTtTqRoZVZ96ZFrisP+RX2BhpB6IY-{;|q zSvRQ_NZ^vhQ#8la6QC+yIJK@93-9)zSVYgtPp)}M; zSHlGPEXaNkhD}@Mq4^_ORNQ^UyQUIWwcaH;whG`YvYY47XhXoK*EELt z<9CA+Dl0RDTQ$^?OApb3hL`?i#H$}vy5=f<@!CrelUqU`FMdWmoui?SpB(f88|^R9`C$WJ_+BaAdL&nn{8{+J#+q%|lZtN(-{A}2 zeI%sA1h_xHgd@6C;jG0CkUi%CyN7N2e(NyciD!m3>&9HUlCmYe*+|h%V@0 z;Afr%v{Z-5_6XRX?x(0bw-=jNXmc)RXHfZdI`ne=RO#qS;jHHKQ0+e(T_fkSHCeql z>h~6u9Q&9WFMI;^4v(l2uOIW+u0*FMek3Jx?+QCLC(%mx9yH%wgaJ)I@Yt#|f^oem z@T==9)x@!oT{?|^k~Jr9uM8*00(1%W&nLCtE6`@%I`a0{T$s=@hFqA*Yrvf3xoL41 zU{moOB0?eslPwH!#d=16W+t$*G+BoG<6zw!mH+CEU3v4(S8cboO;Nk}*1K<9RgO)Z zr1_dn9FrRkzr6p}#t6;-Ui z%Z`VqBn#eo6@%`ik7QKx7To91h546%kaZ3oB;}$#%^$rO?$kKLi?QO|I^%`hs*u+( zqiiJYP~?5Q-))%Wt@mW~>oM5A<1txknhZ&)yv0C$6qn?71Nyn2)NJhvoHg+d|GBBK zlt;|wWUj}Jgoyaej(lsGZ5kx*o-&W89jWBCkSJW{fh-dKAH*EB3g7v(ryK5r~1 zJujEfM$Co#{5&ym-biN1FMMUXm*e>}FksEo++* z24nD1&;h(qGL&hHAICGp>}hey9J1KDo&*{gLvETDBpZyx!~zFgIN})%c=Aq z?v0N&SM3=k&OXa!*+v8GBw{7`k!{RX@54d)kLXs*wd3HGBYG--w5BT$#TC<7D4p8kGQO{ z1WRKAQLJ2s=>!giX3tzadUXm_x$8(y&Fg@wT?4S8@}bbH#hEp&R%hqN%}~J zL-r~|-*0bh?cFE%`DDL9P&5%wCHv#}>PlEYa}UI}u7Qc0H_#zzomiWDn$+;#6FmQj z%>TRr?(MXL{?qI5TTeJA^-!NP{CyMWw|e92{&&`{uKje&_W)+)WzNp5)*w!^8~&ST zHp+#b%{yjiTYY>AcjUyxs!fs~6~{gKx1RJ2$)o3fj>9g^fXW5N`>4N7BM!JBTJ4tx zrQp9XdEGd!P;Wg{6^XD@P8lTYg)`i*i-U8r_HgJ_2-VxtNPpkh0X?a|U{N&TI&-_g z;94F8J$p_IqR$h>yrZPdi{GD1yVI?n{&a7fkc51H1!Gjkb2-Wyu=}7mcj#p>&N_92 zG=Ka`z8pG3P4B!QLr&j-wPVy_<-TJiYWaQA>m-%ej;vd?$s$s(%JX`M?N{4>p9i_PIgs5p3LU6E^|YBy zF25Q9o>!tlI!uB4;rbRHehQ#h4o+g{Oh&Q2D_Wo+R~nuKBoK5sPM=pO;0!k)u?-^J z`TPM`_d*|}79GG1A5PGDL7zd%_!{{UbBQQC3lNqo@SMAQCOj{u9!AJ|aWbFnxaU)y z1+nW>h@1L3D75aP1KQu|CHrkembMEraqYqVrZk%}AiWQ%cMH=4rW_l-C#Rh#ZNiGu#LyBaiud8=(qNuZttOPox<*NoBfV!t!}I;jt0OeeWiY@`yUM=4{HfSHR7*&2@O533ru-uD75W;hY)9y!YKxzEvyZovN6Kf&av z4yZPW5KaEGzI=t>mDu!>%s}$#cO$)&)JiSHK3@U$|wdK4=LS0CgV+4f4tG)w~?ern2!AdNgXz2t^oDFUvTWAo230>1vxbLGSq($1%ugF&}oA?J8W{8<#ZddyX8aaRGA34 z=gUyOYYt6%vYsTqUja|Am-0EDF6{AJDKuu`k)JN8-?SSWEIKHSw}u~`56J9&*GcY~UqtNsS%KQ9 z4WzsHfMD3QdQ?B+Bot3}6h_8|3rj_YfM(fKqE^rE3#F_f^sOpBZrO>2)1TATbz|7^ zOY8CO!n2?|LEo2h5G>uU39vGx#4C>%cwCT|Spp%lI%4x}KGU zwd3W!KKzoHMmp*(NPiUndw89w1~B}+YB-xWPbRnbPvo0tGh<{MY@}ATU|;UzMRBZriygzF5rb@I6Q6=|9(w^MPE-t>vJ)#DpG{o zZ12SXUrVrdnFxM#w1k4Sg`l1^43f9=`4Gu>$*y0Gq~d`DY^b=&_p_T|lejMK7AeKa z9diU7Cw7yvCEsA{sV8*rD|@IOUPx4i8KYwS1yZ@tk{h@$&)t}qg3-G&(D?Z#LG)XD z&OGTWuGyae*Yx&*)+%+pDjh~PJ6LdPMjN@+sUK*7_7oO6WE37+av5Gue2ahgyn)9C zz2H7SAJRe}5Kp6DICT98xT|P~zc(CWcTV#TH~%#t7FLbs{4Bo4s}c^yUxW|pap-3e z$==M+WIHyylVEOURv%YiSHs$*$g?uNTqQ&epJfD_#b*g<*$+Su#X>&KamCPgTdSwb8EQ&(vnSm z_z6kJ2D+fH8NbCiv)7Z2(Iqhs1YPUl_CU{n=ff1P@$})UX|}&^KDQ44Il9VuqVoyY zCI9xPLw6>UJu^6rv=pcKEP>9jdW&4mb)E&02?6K5pjugng_U<;eWerTe6)c5IwPQ_ zb~l9F+ym>{K1p>{X z)q?tc7MQQ=i0AxfVST4Q%|7vqJPeYDdr>;v&)&&gwnr^_;yIjp6-eXuUsKW5LR6>| zI1^{=-%BR;7x0-m5}aXi0Ayypr?WfTQCcjH`7J9)nHMW**7!FNKBL$oA zxlb-QDYI>(?AXJ(i&@rr57sd3tT5-k7#N3&b8)7h>4(E95a`J3Y6ZnO|D+Myq1AzY z#|a*;Z=xF(i*v@#mGHvA5R{cI>7>4~khNF?WtaP5=*uC@X+f{xN{}o3`H&349}Zme z{(DexC>)EX*`w8j8Y)pnN#}(mLAv`#vPP?(_e723E{;13$5XmMy-powM4UreffILO z>Q{)lot(dWlCI-ehgI$ zRAW9X+py*JPSO{#ni?NDLU1xd-7+2SQmZ{}SUZayJSNI=lw!$)U?H{9_C|||Wpvxj zFccMu0FCr(aQMIbg$JKy2-A|;A!k>bpXAmP0n9O7L??{TqTj3@(z!jNSlSf{wqG7Xz2`~n ze;!W;Ps+iSjS}4I4?XBnE60B6{-i!1E3xw77hD=vLEdpSM0iS(l^nnJ-#qi2-Hqti zIu5q3>tDq?>^7}RJkzsh*Z=1i>-I{*8>4ja>MTY(%*5EcW1q0R;Dn&X`aV3%eF9}& z6=YTEG7MQO504jxlaUIB;C7LpLBF0TyreoDXV{6rpyw%`*V_cs#;d@ZSyRcg@9A`h zf+TpRxx$~Gkv+j*;iHiW_aHSFdX=y6A#h2;^-AqD=&ue`s&v!w z>wyZ&Bk8fQBtg9LA9z$?$xXE!2h5=X7Vo+YTlUV!ac365;-I4xTQbRp&kc~Om<6W{ zc&(7i{>q(iJ5gG@hJI3$=hU+UF>$>BtZnxZCCz+LXsd*)4>WPz=8bIkpE$PdhXIRL zj7A+#W6tneF`o9cCv{u*!>$Jk5VG<%?g=BTGuwd;z4;2q_Eicamd!`&uJN42<9yud zURJs8K#pKX(OGQyWWfrJ3o*O%7#fe64iBdN0)ubW!fWDRK=z_D_BQ7TZ@VSX#N=@7 z_)&+x+%at0dl~%@|Y_j@8Nt}KAr5h~oD zx90!d7dymC7FJc-+g^S%O?=?#*s3di7oKmV|JDzYPXQwGl7+=)f2h9>kcXpOX;_mu zmZxX~Rkr7|3x~2Wkr*_da|?AGHxqxeIk^8~GL2gt2uIEAVa1NikbLC{%yLnJZG5(9 z8!e*mQ}RhwaWn+CT%)co`nccPmlkPP2qHEogN4t2=r{Q-5N5uk&&?fhN1+;qgj|Eg z_T%Z8wW^q>D1z&3eb83)2dP-5%Y9q0hErek83sq2QPr9kLX%c^49@e$8Duz4eKtg3 z*_uOFf2xNS6B4=EqO-XD)tf2ripH^vf05$CWE>mbPVf7Cv)(m33$FT0a}_7v!wgXk zftA@gj7(e0Mmc}SRUi01fS(^cG>a1cbsPoSDbu)~C`0aD@J&46oyyiMFlSG5mDs~a zMJP;N2{%oju*5AHRv+PzhZ=ty1$#!9E?rS13@(E4#lY?0*by(ZH3R+X-Vff898{!v$ zK2y)r1@ejHqFDiCh`7V|1+s*@>1gc`69qXRqPd|NcX@qsEh#b4VvdQ~*wIE=3 zMkOi8+#v9AJVbUs9Zoa;c#z;1;b8pf2HaoXMt@Zq;Vv&NA@nXIaa(_qUhNfh(=a=F z>f<%K@?p7fV^klEKRu1hYEgtGIeEmyqzTj+?-B2OO{t?gE{vAKpqG;PIb<$mubIRx z^HAgbR=u{V2(u%ny}yI&gm`SYeUUmJ<9Ca?YQ&-}9Blr+=lzgTkbU|9*2Y;dB_(fM zCQ<_F=SPy2v&8Y{;}|%)w*VGzy$=>44RrmaolN0&8C&i*h3yVIDm*X4bN>2=a7GOq zaHI4&Sn;8qL`0XMZnh!w__L6ST?Dp#>6^-Dxf3g2wZ_BNMhVW{CX%`xkpr)~F1)Fr z%S4VE;*gsJ-Jd=tDJzvZRhxID;k^=Q^n4*TN9N!(tF?Ga{U9ba^1fNIP!bS*v-0)F z^$<4aFp$Py+`$j;L6ypgKsssnDd|Z$H`#cP(6a%g35_0Yl0mXeuc*lDh zCae>XyYb2x=xfC6M253hn^j=`Xla^i_=?yHj*_v57lDWU7TBNnn0b&ivCPU1dr@TJm1StB7g4W73xIFx~ zfKOn==(eRyOFx%RFmfafyDV_S$_}7@uVK!mE^EWXo`)f{Rg zwng@E^hh|=^ftk#tW4TzL2zoADEl=ymAy;WW<$R$!k@n`5Yv~PfPZ3zFFO7YUFRLn zrIJ!g z&;1B`IPumaQ>08s|SGg?F*^BX7ngA3OWtoC+ zGR%_dv5bp%4$KM{}P1I7PdL;YO>@J@mP`${YdCAQY0LQE;W;HVQnlnds2H4J^n~@9 zmPG^9XoWw@^{YXe(o|-4p&~}$WU@0@mKkkP3NwBr!G^JWKvPu%)~_{TEqg85G~og| zZTd|(YN-Pf+iW4@3&Xs8+fS@(f1;$(O7@`Y4cxSH9Q!w3ht-}QgJ(nL!0x;Wj8L;S zU~e_7IJq19Jo>P1*3ktzGRFnBWv}QeEJ|pmQ7E>-Dj(i zeoDjA>Hc(f0n5Xmuc@KuXq=*aku2nNRRcfb1U183F)h`EN}BZXRd@Qr_>(i3=xOue z{`yej<8_FBSG5GWNA_?*-Hy@Ye*eT>2e86hhTY(EoONw!M0K|`tZW@7`VaJ(bzddZ?KsF?r)kTboa!EgHkgvntDk{K`V?-G_xWY!+ zm&7|I1}-*!gEh;%z+zz-C~iLocdd-cr~BXNTH9Ern+abxAbUl$_7BxyTf5M&<`KRtM^i&-JuTLaPR{!PexAj{NkIF*T zVR=@bw;xX&n}FLt#Y35WAA~%-PTcI}pxt0LNz)3#FaDzJ&{YTaPT?9hT(Tca7mBhg zeCI$%fisgD7e(XSDrkK|3L1t@X0vx&vx+;`vj#1lSlt#tmt9H2lDcfz++f7SY+Z~C z3Quxet?}qv{SF%}$FkAp@@!k{IFhnu1w4;1qIU}4f`dym%#C%#``_1KTeBg2z`vOO zX(B6?L%><445mg+g7v$`K#Nr^44B#y#{-^V`EeY}Uy+D?F0O2-O9DHPA%j)25BOgV z0^rq;@yyDoQB13+$ba>4es7$D@5;G07rYN^&xkdsbf_zx{#RV%pYOvA5d{dj+d^BW zvZRgc4aYmnGvX_P;P(SJe3&J|29({vwG)N}^Ny#Xh71EqCOi9P1;~fgU4fV@TF&1|%n3%GoWQ+M?d>I@}zH{8&&Ek)#sqSoO`1KTy z3WtF<5od=?!%_5eBm5b1qSIDa6@;%yp8Rm%!YUBOx}wWa#hrm{S&#J z9j@&XD11v2w0?;}w(APNz>vGM+*U-rY|cwsF^c@M`AqjMIf1uL$FYwcx!ek`skls| z0e|u>aBdtW@jHLf%i=7lT^2@{eOOiACzpz9LXxciRe5$n@&;&kZzFZ5lQ8i>E7h?T z#y3$XXijfF)an}1k?vCbZF>m)QoYG5RApQnIL3=OPz{ncB!a{XB|ZEYUM&C^*Fu3afIZQ;a{ z;eWpmgNwW%P&l0yIyzByt9lefEWuJa6!}R@U@r|)DruCj6?%&2j z?$>%^>^sToe6t3qcuXNO!gIj<`wOb<9zYwd#}oB@A-Xicm6R;nN3^LZf8$qAvM&EI zRPomevj6Jxog$O4sJW5jj-8`V-@V~q{cB1m*oeWp*mq>zlP!?H^#zQdxs4q4Kf-0t zbNPG;W7yXRrqJ@mU#OjEE`4L9LQg-MMy4;hO^mk7GonY2Gh!`HjFWW=+<&1!N(MW}yTPtbr#AoekVG!-i{152Mnn#&h@VA3IW zURW6WtY08NLe`A2&&C4czjaT@yn)|G#FUS;B=w}cg13vs3c@G8Lx0zeSGTUlK!Q1Mo7?~)6 zF5}IZXnSjDE$G8A1AX>f%V_pMViQiC|3aYjD-z7&$8g?11t`6=ziTaqT7W+_s;xV58A0_=*V#bDd)R1zPAIbE*GKuY)$Zz7GV^6CtzUG0xVB< zAOWpT;4Si$es_}rwR2a1z2^q)N}+V-xD+x?pvFucN+VxIOvt==7tkOY;CFr^h`qQ@ zMB48Y(Xrz=z3Xj$r&OmP*8LpZvNeR5=9TmXih`ZN34uad930ruM)dBP&1Z%e zsxloLq~Y1RT2d)G1FTjA(wxN)`93(7yXEJR;~%x4Py7Yk%UJ|pX$J0TSH+=#X1bWm z3~X@*Id~45{sQ)&U5{Dmf}meJd9+LJn#nQB%H%d7TjI=odp=Bbz`gEZ1!YL zEEb&;Vh0|Eq5jiJjACUCf8-L!19(@CQ7qx_(eVP7n$E&EDv2a{_cgGK zng%D770`;m7-ojo!>5UVbYXYp8=S|;8MZ=Hk5ZYoJj73GpG~|0Qxn+3;H|$8}%~2PF&68UBKb`Nw zhY2Y}dirg?MB4vmeT%VMIo)E=+j?TMHV2)vr9nSsKScWMhP+QNxZd+746B6^?)pbt zO*Gksfg#uOO?1$dErnZg_U%GpyAQUY=y~N2o%&~~w(@FNY%_}46Z4&xR*z=+gKq42 z=`dCy&W`o4SHp$c&*01gad`cl4_n*nAS!GZKm6+?)?t!5-q|@o&983~>^fOZ!sms6 z5fcVoBHK_TTAt3$HirydW7wDNDOio=ghb^*Qm#AW>2sP9{j0_-mElCM{iP^5eN0Nf56J%hPA#^MojcZogfz`tj zP#Tg(t%(X&sg+;hW@H_C*JFg=^Y5T>L^SKQIFHK)P-b<-FYu=>_zCAFVqs_TX?VNW z7MyNJpw+5kwAL8LbtAECQ@RU#|MmtPH{O;^+d75GUF8YcP1m6iHVCYa1miEyLhRf= zh`revXz;ilO6&#DCFu+YTL(GaYX+~-g%6IAI+!V}hfPcp`O*9q{GT~8r@vS*w+16P zhJFm$b6iufYR6w{ovuZuo~r;g=e6u=_d{&h#@VcIUnm;ve@&GX4sDB>m^~iI{~I_UuZ; z`g$?;{m)Byys3kCz+?f|Ub%`3);uTLYPZOND||TY)(v6Wso+%e=BAC)MBF>d9cM<0 z!PA{n;gaMtHe7XD@ZhV(z{5*pglT#W@caSg5=g^HZh3f2#BepbyT&Cwm4RGkBs33o71pIiL z19fAJnL5cN#>c-N#I0w5vXLAP=zifJo4gUHC>7%1!C<&^IT;TBIf}Qqo9!cq$;{;i z`yuVo3u-ZUJnv?YGzk4#h4$xM@g%4-b-f(7V}zT@_ByahqaBIv-&JiREvhxXC;u? zCk)z_*YI$X6ID#o#&(Y^bS&z|=CxI5*KWyfw9Dql8yABpr)3phT}()S0F|^`Os-eH zq(Wvqypi+(cFrHg9BliH_g_r}wWUKuN_r2`YhM6?UuD=HZ(%mTTAr0w%*V}*$H8LX zRK~!dQLya39Y`d~;L62I|Jz?poFANL)oN$sGUjBQgPciacFL8iwvd18LAL)2s&1c) z?_(Q~igNsq_Sv+{J_l6|xSh+{RuUenjR`U5@Td)e&fH)8pX)4Ovu8A!7W0kvKkwvk zAJflw*tQ#duU!TIYbS}))Ih>J(+p!jTp*uH{9)1$A6S(=Nag7;@n z+43R@NO(nsDx`?FQ!R8^h%-;^&O_FH2k`%`&M3#rFwsw)ai#xQe5a%b5>$%7wD zvJFtxsf^$I<_{lO01|>3}WU&NvM3nOftR{eLWD>h> z!YNk#Vlzqok_#J}#2Kq4tHI~WdDz3NCo<{!*uDNDj`O&PyzEQt<4-Z{to;J3`KiIM zH)aYm?^_&*{pG>OSz-7xZ&ZEavM!#p!oUu_RuKINdWPuZ+!Le?SUdGg%hY#-zZ#Y2DCac@?&~tb^Zr z$#mmzdfAkHCt>ljNsw(90$JJ@%E$R10%Pk&xcK`yh~~wBNo)|T{*gh#Zz<7Vix~wC6c7fd#ouu`dxc;t@}8eGoQyjpU*J3SF7!`Y%5L7d zoBe$90t)v2!~^x0L9kndVII}M*P3#C6rYTUcTrAAinSR_*sh1CQM|iG;5~g4%C`+d zY;i1zKJtg_(|fT($&*O;SKz{38mzN+64^dg05S>6u!5$B&;48lAmky43C`n z8_wkw`Y4Y}Q2cja(RQ9C?jj-Z?A0xZOq$5FSuclI{$=!QnmX$o+)Ha6qln6EVGPMJ zLuF5P!T6 z>?5W!ulVMSa+Wz+67h~>8R)61Z{D2d1b$0p*6du*O;i!%m9{XlxE1ZHS|Wvd`e5 z%2&AY%LtawTgJNAtYQNb*J9gG9vU7xhM&Fze9pK_bK?4V+FsuwY`h|oTEL@22R`G` z*Rt$#%Ob4x_Avr6#+uL$=^ zOX8#7H{j^b2JC;Y$F7u^#fItGVA6#cI9NYI&P^0U+2~yKvF*g)%ej8_|MrvhO-*k{ z_uJYWOWpb4_j~T%5xV-r@V9^GQ`LrGEL?4jY;Frau{6hmjyf>8c$i$8+l6B94N>9Q zL_V!cq8BB^Atbqs`aW$W2VC5E7q9E0^+6HlLg*;w>xDo%?r9>);(3Cq?F!iGY7Qz# zYA8!S2(oNl1ui!xNQjC_5P8qOYNN;*6Sr!5`$7TRw3a9!*|PFcIw8no8E$ z{1OC?en!-ZG;W9jYT}$$8Gci z*T^s|`LG=}y<3FwcL*CXtA))SjA4buXOWX>%i-9qPUzD*1xsr!py0|E`8-%>XaMHUH3Ikjk1*zZB-&n)g0GDgWb}P0Jomc< zDi%hPBiH^AlhHHCzH7}i#lINLi_%axY800zW5E9Lx8v?~yU8rQ4$zF%hAHyrAiiD* z`nZ{Ps##I@?`7&X`dwH2vIeAWT8tX5Rm~T&c_uhui%M_)$NAL5{g}eOE?b-HyN4$$ z-#4iA9F&??X!39Ua5p??fBk~g?p=a^Xb|T2i?U{$Eb#L@6aK6dNXwRw#a`biftAZR z+-}8(vt#_=o41!*mADmwB3?~=dCzm&d5O3}d6e;_S?mHv}jNk&R z6bRNZgrY=o{*;9S3MUXFsYL$k`P~8+ z+X^E8=?cfev0+1Qrs9O~LcSbF4;*{C2Zq=f9J^kJ7(7u#8Bt#vw(tMzF;3eDjAXsG zu}P8--KE~HUa7_Jn%8^g-}!XKqxtyle2}0sbus$Qox$ch=ir69W7zWJ6;0KnDEqS+ z3x%E0<(4s6b*-d(^Y##7Zx2{^-4R>D50w=kj)R_-K9apxQy^X*LsVY-@>9Cn2${N; zPMRtpjh((Q*6ca06)D5X-hYB5!cI8P>SwBgw7VZ>^oGTf|gAh*M$xm)m3 z*cfmPb?;t4of-Prx9tq6kbFsZ1a{K(Q7)u|Q6ilj5BkU81$Z;roe4h2-PUB3P}*bz zY0Xa|y^Abx&X4nS?kh@#Rqg4Xp=iJ=b0+NKF($fGj8P|kytuWS%7UX_~%2gM@kZ%D+&i8PE=}NY3`a3H6u?W_wA0yW!{_xY!xR8TwvP}Fi z;-a`EY<2%M_Q=?!?3Ry3tg@vauAWo@mHVDR=AlR!rE(ffrPd03?Z>jmKgZ!pdYU*& zW@F$*ceaj+A%RjHJ6*p4Zq#~0LuNSS>r~LgD{P?Q@)fYpi-NT_&Pb{!3QB#Rl8x&o zl79M=-{f6GuQ`r~8$*12-)GED`lHP{cFVCkPDQ-K^E{X>Q4^UPn-+tbQV{qT3Bij@ z_y78hN%`I0YyIZhT+54?m-i5RKjsu05G>GbyqDPE`_%GhR;Bq(R zSm1OFrk}3TAZJA^m35~n?ZTj}dmk<=7=Y2CqZz+niu{n1L-c~jYm}e2i|%gSMg%Hf zX^l_}ePiGSWhFP^;_16^we%1(`kgg#Y}LlhFEx1SR}>c7UFPzCx1uk{+aFBdMB+w^ zF=`)vz-{{^W`cqY6SujSXo#K0w%e|_#9}@kta3(;Q$MNeZ*$O_+6y6CQYd#p6&gwq~xF&)rZI+xF6&?{TEgwgu93$FLDKtvJfoj-H7K#%jeh{It~z zvNf{!Om&T5SCthJx#dR&IL)W!KrF5w?}yvxCE(@>f6@KiH(W8x0xaFQ{EWj3=rrk1 zf$F-ZmWNesPrww`R*B!*Q>gjp-o09YxK%BUQy zV`431z~e_cIyr>k{t9inK=l>f|4@S5cDjz&9n(qyQUYLa+Gkmyz z;|{@R`!(3(+e~ICpW`3TX{V{$mw3~R9EtsYX*hc*g}7|FON5s1qm2iaLACcEl0P#K zoUiPIjP>T=@kIa*8y0h{>10StSAjKpYe~C(Ep6dT!i35YGGpuz&AOOJN0K|st_Mc91~Z43OHL$lo|J8+P9KOT{b9sN0=S{PL+fP@Wl0 zYLvR^{5z9L;;@+V5I)M@#l-MImcwtAt|fi>cSdtB@ak8x}|vsDDm=fyvkfQBBnvCP4+#{%a~_)i+kbj*?w@UCI?v|m`GqsCXPH-C^&>Y|J^6PY zIhea1w=539JGV|@kdy~b=KLPF8rn&#OC+A;aW~Pu(q(rJ?tx?5VqpKxvrrWNg*?pq z&aZP$r+@a}qqf~auzSV?uxzg&x_8pS{B9Ub=6I-64R1nrTP~Q*KgaoVa%o;}CjPpm zRjx8Bm0!OtLvVS8^@At$yh8_mxy+)$=pQiG*`E>Koz8zGVL&x2B#8TW9-YIy zfwWjdw*Id&E32c)b{roclnn3-QTJ5#|y)a{IJU z+W1odt3+~fkwGQCoAn62{;0#zwF98um`~LN2g$m=N@!UBi~Lw!AlSCO6l^+xEeqYi znj~wnA#pkMen}kk$z?;JxFqA=ycqm9#gj$BE9i=XuK()6MNV&y)%iI#ZCU1~is>^d zwO6{Sjr07MhZ7pN75x6NFqyZVS?J7ZGL;0_yjg=CrL_u<3SA~re=gAzl>zkB99be^ z7DAlMZxORod}gP~Pxv}b8dqGFVKrvCaygH^Bu_Yv`iV{8yeS5hcmzZG;CG^=&Upr% zPcTK9*N9`V5nFdQ71Jj11Wdf51u164EG}3LkBf;D^63S)CKXyL3MbS5(czxFkdBWhKMZ zxJ!~loIc-n^9CGyc@DSNJ&g``=i$5;(?RB`A1~kUJPjjf$aDT6Jj$R!tUXFB<3lR}a6e?`vjv zaQE~D_uozv)vIi>Enk_x{oi_sb}+=N!FNzKcnQg#Y6oemei&T)2dx95QDqtDW0ahT zT9==ZC$h4ncx)KIB55D}FwO$Hohj6%a&LshCF=Gin;bXtgi|gVWP+Il{QZ*0Y4MKo z=h$ARDw8y!^eeaXS~>-5G~VI~lkxZ>{23|nddI(as)e+N%Ol*9Knpl#SM-ES{GvZH%zmBi48JrMM$Zj_WuklN z;bCI|QMW+L$D2ShCLTl9`LWM&6ua_D7oJe)A*&WYhJyupaQj^~|I)#k6bVh!|C9oC+~n`Y368@mWDAGo@0x~H8@a`O8$mD;cvg1OuN=E zq%$?tY31!Z@Svv^rYZ-~brN3up4w8{UY!JH)5`^_$CvUqHZLO0Z`;WVvmR3Ivykjr zG=baga_suOp{SOi3zjN_TFph!8tf#p9)Pg1K3etgs>)E zm>rgu#feS1MCO|U%- zIt(eBi@Ckq4{W=n0_@b8@IG`dcoyALx3a*QN3Eut$ z*M83=hniJkY}6j;^tr=-sOpN-+PJLRv&&F1ZzVb|$wXz>KLV9i64()83_jQWp^1}# zZyWL<+O7NWSMp=D$%@73ODFNPn;bj$Z6UrBKTQkH)I#CsjqpM9A$+#yychjDF?B*J zDr6^?KMe1s2E#V&Dr?Sn;j$TLOqXNwO83GKk4&h(oCM;>!Z6Xx8yAIBGG+HiR9Y^{ z>I#Kp*cAoBK_c$EW}19}sOGhs0*~cN z%!4<;NH6Lo>-;ov@Z=@j;TeR9^$$VgVLfqZ;Mg)JI>{WtY!VqAO@xP@!XBqjzzRK} zjydkMYxP!o{Cb(-`=Xsp)H!oz=inG7?u9+fb+E<2+E%izMVR4j)*?k3BCyyf9qe)8 zfA_NUu3oPlcynz=UTT>%ES*{T=C1FL}%!g0t&5#>1L% z0*R+4Xxe`o0&D`I!1if?c;Q#-_G&Vu%X2owBe*{_m)=<k*qHsA8;#oETglzeJ4wY~btdFkI@Gn@!Q&#%Z1@!o zC_Q2dWvjno!tNHVy%vO79m%xS#}d8fTmYwUW{gC!6b>cy(HViIbYFNKmoc^#t+_dC zAZY>r{{0bw(aPhf!7*raCuuXyqiVq3bqY|&NZ1iQis4`RMaq`#fpsDi!SPQjIWoK+ zJD+`|Ssm)YRu{w7m-!&W&j#yM3Ffk6JE-hc5zO0hltw!m<56RAPFFUKU2ZMLj{Y+n zQ|8Dsv7Bf6gtYB{eq`&n-_9g0oM&UbZ_d?ML%Nm4d(SSO-tzA}ays$~ebV`ihWtE6 z4$6$i#+Mu;dz2ZI^UQ+TuTct9f_Kw=j#HPur62W_mtfsMDMsX!G;x~mJhZ?}!^3!d zt@MekHwprs4SA6AM3Q;ucNXoee_=t<>GB`X3sH9schk(-fZE57qr-7GlK<;IoV>hVz$Gtl7yUqcwRTY&jdas6o!-qRQ-g@)uRC z&!CO8HUx3HcYeoC3<-UOrBoD0i9Du9Pw1eOsW9x*UdQ|{wk1|m{qfnWLb_yc56-wV zifNOyrrCST>C+&8F7vP$pN}izk1ZI-lucgAXfwme=Q1qU?y+I_omOQwL@Wlartjt2 zdMD|t3`=e{R6~bYLr{!zXFT5j1)D!>xjZ8SR>n{U=CO{9ntMCc>0AY|53%%Tz+W7% zYRTHMH>p?60cMlt4@m4!hqRls|9daoa7M=SxASa1Tx!{3nPyg*<8kT$&wScH-v|2Z z7(UHS#h}Tf1hyq{G;7Lw7?}Bn`#Z)kN3W0O6lt$$U0OJo4H%we9%4eiNX{ZbROD3r*S(ybMXRF61o8lqf}v4u?UI_nX)x5pE&Kq5-_MP z#qD-WSevVgxbNKuh|b{wRB(0i{ubQ0_frtDHWO{X384}@mmKsoWnZg$vu@dw=(c@r zFt{rPXz*hAIl|>J{JKeMl4s)UvWv8C^)Q**9?tgMmtsxFmg4P|?jWU<0V)G0z(^+n z^w`Icx#B7P(=|leXInu=wLi-tHi(nHG0P`Te0fy@e=b%LGj9=4Ix&iw@}iZ*O!4P3 z(e-i5^BHUrPmBpHe~Sw$h6GmpZeH5nApTE<zlL?wA7by+Y&^4WI?P^qnwiiwnpv4Y zk%`JpfMQnxU(uD)QSaZ7c5Vh~c@@py;JJfur+DVSdZ>GRr2CS}Jew{PzelC%I+f%7 zWyZuC{@XwJB{^XB`cr5#IfQD=5F_6oa%_?IVwkhyIMZr*j8SlkC;1_qhD2`!Uqwja z;0!JgzUnUOW(1;kr8yc$_t5(=#8F3M%}tAn7k%|e}6Cu9J5kEX15YL zE?&jnW%iTWf)h~nZXwo>&&LgSme8y^CzzWdQoylAyr<0i?BSVZAlOMt}PR^Us%)+D9L7*rpPd`?Z*E)i1v0)^gE9RGsimwADBYwvHg&QU`*g}WH`lVE)PVrqROiY^g1A!9UH z2=EnRx~uX9r=EPHir2N-5$|JgDBKduv$aU1<5<)x&%oeyl zGe^5}-CX{QXqSKM;e}=kntlC2_x`?!O8bprVnjZPOmF76x(bZ{UoGZ9O&-MjUIqcY zDVSK=NVi<{qJL*@L0w$|ee7U?-!@M}?@635d0Q8if6+)SG;;XM_XWc&A!%6jay2N% zO^5SuFH@yo{WMQEo!E_xg7oJ>@U+jA7NqV%4NGxoi)o}AcSI1)pZa7%*j18QGXw6e ztcQwck1^1@MPQ{Ai}iViY;|otPBJt{aS1*e{x(LATm;hY1zT80DQM0J)h7@R9>dfTU`_gt-W%j(?1U9WM1frT3p#wJtxB8Ue%=c-i z`sok#&X`BGxQ$^1J;iW3`Xu(!3Y6~FVstt7MzD!FeOI0#*y(J6^Xr}m1~9mI;5!C zydX<5{j{WQY8LnvpK%hkG4}Ln_4WOq=Tlc0yL{L7`8I(c+NGyUm{)d6E-n@_{r7#j z%W*pr+KxjxZwyoHx)#c|4Io}NW$z`mVo#9)p45pWp$Bqt;4qXoj#FcjQa-|q zd3I=g`7nlOzM=jVHw49*me`kT!p{D?o%70wun{_DINfX-qw`jhIW%#8fGN{4pDWAJtc+gFRSFzPSP z^qk6jG_y;f6MPR(^Ii#JItI#*^u7S0ccqYKKY@BXJ)=^aC$qM1IK4;zPx4+f2ALLh zS}j6pO>Y3!#f8Gy_oB=`mpkwqFX6l78jO#=Oq(O)!Dr_+ipO3+zjF{|CMn>!kxW`D zo(F$9=IlEAeEMdA3XcDqS|-x50}ed+M%*vyG6&hu&?)qa=?OHkD9iQ2bZ=%hL+aQiEb67@f+`T@ks zlk2fgU5W|4_Le+~Rr{Ko%FTm-*a%Qejx1eZ3C-$cgQ_<{C)L^zZy=*)c=X-7BaxBI1 zcBUlb*j@!QUrnV#5#!j@(Qk0`_{03;fhW;r(M#+s@@BIxa165(*RkT&M_>{=xf~_# zy`1TT@nc_NMR_n^Gx#G}vr~$FzV9xca?Tg5nAwfVk2k^wot043Z_F$+2_aE)Bhg3x z6WwTZ7`JvUMDwmi;1Di~YY!Kp%zkH-SCz&z`F^;yYAW;GbOz7L$C-^>ZOJ}y6rx{D z_QLKmGx$@jN0*$RjUV1N;E%vNH1w1K^RRe6GurMvt}k4~>aX7gF~KL`O!+Xmt&tAX zPpO0Jr4Xz-^#koo&LdpWqL(t14UXt@qkl$v+_#Hn1C2M~{?0Vt<=8@vN*%_i9 zwl+$2wWB?94J(_A(&9Y7{#y^KUcIC?QiXjS^Z{*4k1(IMb9uVKuc1r#2`*ckjy4tJ z@UXfGows);%|A7WVb9~xtj3G_NSHE#(XseA9O$4-2R3R-z?^e!xOC_XPOHtpHJPUD zfy$;dO6bN`CNXap&9FOY$0sLZGvnrH*)KpY%*VJCM&$~1lG7MrP7|C zp=dybS$y&|osc8LwiaK)4&HO}__!<{nUw-Y6NFgb8%;FeRyr0evc&=-&xHDzFz_}7 zwnRUo&ifBxqx&|Rke5g#G#BtisT~|!m5;{x8tf`3G4y`Y3~I46n5zr?VZUw#eJV8; zGL&nHhI9|?eYFPe9F?YvJjb#XD+cg}W+IhomuEKl0^|EG4IUW1fid$Rkenaq;i_B- zIUKA^1{Id#TD9jGX>|)jdd`zG99wnSu1+xE{QdHQzxk@eCXknRglL#+kb@zy#BIzB zt}o9;l@vg`8FH|BPcOU=4fflGY>zq%{ncD+b}e`mDSe!2A|@yaZG zAiJKtKj{s>hbYm{3dhc-MjRaJ!}a39_~>sFKgDbwC>_y+_`U$Tr~5Fm9yDd@_Zt0I z4-uVF&cj9J0`gKZ6t_Ku7>50;$d}qAc~A=v27EL1v2&$_tjtmr}x)TB&Xy%==G_lbanJz6kadPirOBb zF5y4*aDhXRw^iwOgY?q@qYwl4!EC7bfl5e`_MZQ?{aU9OuSl^-tL1$bT8k7X}d1vwW zv2MEJ)+^eS5dc9|#c*+B2`ul;p?5fzc)4FJ7K$pt8S_od4mO?RQ#K3QE`H@5*FHj5 zxs*Ybqd(`#91mH8XL0M>hq%h-C;r~q2-#ImjN6l0)WCTUKVa=mnwe7!CN+tqzCsJ6 z(h_Nt%mb?XHyak%>5N&^INI}LJLx&_j^EDZ8H|2Eo^*6C6+AmCi>6UV0=LXV z*yNjyF;4`fN615v9GXLwn+a9E8;DB3)!8J4G3=$;E6{fr1&O`wP~;j-oRYa4q@gae zxOxf`yC?R)_u`kePWT%OJDZ)Ird2xP29$(25hm&K47!hh2J4ce(OGX5PK#l7gR_IfcMS%A-2D_v+4a|&Y#v{Sb6NO@SDKUf9t`E`#(LoSB+(s zyu|4JcY)lIV4@>_K;AuI4bmG?S0s!WSLpBuEI$w>+1L1?<1F7mb3Y7Rn8=@ecQjT6 z&0^+A`LKKKBiTWbVcf{=g&tjaL?d|0tcq_iNj+Q(J^f#x&&mgti&nv7b{kt#U`XG6 z5EsZD?BEOS2DrLKgFU{uh|XHG68697gD>Sh@VdDWCCfIjGV4Cls3UX8r=bYQj5`2& z@#9%dEo~gMSEh6JX7U>zu4A?=iG$hUliAOG%c)cB2RM2!5WcAnkX2(}Q|rwtP=8`4 zhIO!5ZSDc@LY0^WJI%#XHTMXa2x;*!S}cJeivf z8Mji1<;k-|^LP+2t>;Mjm9ZR?eVA%#^O5+6q5S#Vw6VegY}%KCc=X~yJXzOB*}qN1R9KhhP19xXoH)$(99_=_m};?hFSOZ^1XuP+ zofrS%Rv%IzyOf$2viNGZ6uZjcGtPQ`7ORJ5zk@v$FTw1s@;hTQ={I1P50ooNqdwEeza^ zdwy$z$w4WBo#s_sL;s-8VL3K4aI4@~+4*w+X%ir-uaiW!C1dg@HT4-8*-z`&x(!Y)2`cOWzz!qaOxcW5$%W-IkGUK_ZE!Z<3LG)`~BGv4~hQk zpubWF_O{g$E!7!NHv1|Oq={k9*;9fY6L)~Zr~)u3jf7U4Yp_4x3)of-xXa~qKByLg zW%oGU+u0(4yUJF<%RQTkjrb|hn^Of+nK64s?h5qvE@#KgZ!5-MfpYD z6+}&54{Yz9gH?IY;j~O1_zq~GZu4e*e$pPf%`^Tly3RA6%QyV{BwMlx4MM{RmGC`} zE31+UX=y4W+S-xI3Xx5rAv?1o8Q=4`GKwhLS(Q;qG^9nT?(4z*|J`>F{?EN$o}AzF zI*;Qs-m2*=T_o_P;-m3iSihA3tEPV?V{CI~Jcc{>zoo;07S6#S0 zD+R_ms4*GU2N+CCW+skCG0{3U%pf~?@$34zO%>IgKRhXZt4#L4{=NRfI{ebUjoH22h#7vZ#3;*KvEF^5 zZ1?PG>_^dFTySd@O$!hQJ-!0g2bJJZUldka`|*^Qzl8*?I;c^1CVAasksq9H-d3{| zyv+MSbMrB5*OP$s>-SK|EFXtnpXa&Q@tA;j%OODYIT_=aL_{}BP~Pr-E{_(Dlh;gv znWs)-wSPBiH>cpcULEE}u{=|f`Jk_m4Rg4={?L`jWbyD3ju*Hc`>)sI zag%m3++@b2+GW9bejvWr9;LE!W*mR!5V;nq&080)jt>W(RSH~`#fM{F(>Dr1kiYK= z>`*8(dseQEU;DSw;U|6&QXG#08Of;lQJ4QALkHNkt)y>>4eTGiLT(l*Lh#Z`8oT@w zUNmfn`g#qvD{VJg$z3E#y4>8^&F5zBwR9wSC%JDK0!8_nP~{bdX*b=$<>W;6WLX~G zPdh~m#j1GM@A;sUmI#alX~TvWW0*WUDOM`L1P?v>!gJ1)V^xVRdyHqs+TGm4UP#VE`u8BRJ6P)Z z>K%+u%)zkZ|L;CIxnbsA@wYY>5}6v`KE9q=RrI>#o22!>=V8=uHe=L(g1K6fMSm8? z;n4%YRw?q>Kp!18>-zpm)u!>A)lreDT3s_`$9|Q|IhI#J>%q&jFoUzWtlZ;0b+jxu^ z!!gunKjHR}A=tm=2zg+v!j#Xv%CmdZK{s={R`AmkJky~h`Zd@XjV9hA-N1SIxm`$t zK?MFNjs_8L7pN59gXt$D&B1FfR#%E5E9H(NS4wF^%zIcbdCzRjMH6(D_{{T-=lX`O zUgis#I8fOo%fUOLw>{**Ze@L72Zto$PeJ#p*EZ2cHma#EVHNyz6-c|J_5 zr553cR~GeuIFGElkcF|unpoI%m)Et75T_b%;y*bb9@LLzwo8VC#^rsyCq10+Byc>A zMQc{T^)H&s4Y1S7uRppfqm&08rsvP=l4aCzS+sfQrIZ3SG|Y{YyU z5o7$8N;1idtQdt5Ip*$AFSYB_rqk@XzP)*$Y3Dg12BqS$M$j8|(!|-RZrXUt@D;cp zlVdmLwz2+~4`Pvr1miqe_`mPVinDH|MjI?GhL>KMpW&cYr8~W0naQ$$`4Jf}U6{1V z2RZieYPQlXguOXX!G_iQ;HbA_e%q6Q=uq^U@`Ord^Z}6T^mUYWAHb49^UnK&iuaDr%>77(6 z#)RDRJW4Fj_j7q!W#}$VrOrbQIC}9HY-;NTi!mE``m6hJ`z9+a=6GWvsXQ{_N(V1h zvz0`T$>cfTi@`dgg89{7;L$2cSmAV+j`)macU@3`%K1S&uhnPymyeGnx5}DG=I=^6 zoSuL`2XsN9pa4qOZ6Oy19^xBoX_UNLLp6HKiA3!!Qn_d?I$F4qwJBHWyZ15VQ$i=` zHd(@?><_#s%L*LS+>9||wooY?3yrHLv-vuADoTsRz~JH)I=V2LyQ2c&Pe2;Xm@@%? zPrZRBmU3^DO^GnBxd7+boF^Cdo&+D!Olq>&mxu+X!x>9+5Rx*1_fLP|?(7me>xdrw zNnOAwTV92WcB!x+cr_%7pMlgV{SavVk&IDlhgmwI9N2R;2DZ=R%h-)WYfU}&S6LGp z6>+oM;%Dfx(~(_xAe_}ZIRQmR4uFIJm*XAbI4b|w&l%LAz(IFxEE*5K-{~D_Saqno z#>w64-#m!Hi4nAJb71`DE@O1l*WryC?mqHyVC_sEAUEFNobBtN^~DO_nSmrsN$EpA z_rFVGSHRamHSkPzfO|4mLE6*`f*m))yL^8*yTt~SR_(y8yQGo7;~V-)gyP4@BEgQCh<*f)#I+kCUHyfbb-Y?>L2-Es^+#Y=>}ZQX>8YOzFH;~8l1vOv^HiOJNh zhneqpke&4*&@Uo|WocpL7`cLBS!ZxOmrYxEY$x&XO5!p(^^kr1JXo)<<1M^29qh-S zqBp)P(G3q;=_IL{Xf(l}?)z#&1=al_X@V_uo!kREf|7Yhe8NF^)?MCX(;=K$7K0+5LensBRDn`4w&8C@s$HZHxPF9?7xKi2*lj3$2)Q zDnDAMR=r*2i4M;s*fFs` z@NGd6o$(_ZH>|sXNyeeDit|g`BnHEiCxW!0j?zQ-wv)qdX0VNy%lFpQ$G;Da;G1_H zW+Z*4f$fT1Pj@t_QRch`2EG{3HwNXdU!x^Sy2Lbl2gZuu0WYshxZ#ZtiVALm>S{$s z|HXAG!85=mhYHCOj<1sFcAFRT`V{7w=EM2K@mMm8%j@O_;>u03Oq|Cp5^{GJdanP( z6P9%#Lq`+&^Z6n8d}AJ|-F=Pr{n|%VdQEYjx;yB(MZ&FgBf8)IE8UkdN`raF=(|*P zG}i;la~n5dGn6&=Y(yC1{*gl zMh+Y`;x)R|Qf=QL{<2GA{FIcJTrT}M>^D&b$$~CgE~(3UGmmijM@oAdb|+r?sft8XW>rPv|Nh~Ul>cB3?-SaP7`*g>o)eR!U%*F-2U%8 zczE4Vjrp+9;==Kp3qH=6UL{fKa5>%h-}ggZ))#QMcm+1mwkSHz12gQU*g~5e_Pyda zGH5s*Q{Uua#t_F2;kY_)PSnvq9{K!>^{$YcH4)A~l_vaddG>L#5*_saL*9S8OA~kJ z!FsDGSYX^qN>;7Fri~|Ix7r;tVWS6r=SL3@mDQy{mhL($44koX)t54Slc`97I& zbaC3r|2ibZxL;g{CEgNL|KMjTBX7Yo{K}{6CvB(Q;Tz$EM=|{6c(@17YM}F1H~5ja zmOnZukMj>tz^@7yu*g4<*BKMa^OF5UX6#gf0e&z!S-Y2ZCApDz5y_C#eu&1(p5^CG z7iPOYX<^`}i!>ll5v*;;_GHhl}9l-!8NvPMa2If95~XNg_Y$)R<=(k4ebe zI{cF>2#!sg;O0JOxW7!7rKgu*_>nl;C}B_Mefq>7oqr3$>+gU}$x(dWJ_Rye9N?l% zmYHmwI(yhj9$z?|u3U5E1OMg9K6+rvPip=p5@^UabK}`7;80W%94R!#M;wc9dAAFA zsg}YOp-gyfOh`_-Je1lua2>JYuw+OPG9_yv6s}?6mU@_QuMFp%8p96NO=hP{&0{aw zB;qHFxorFmU`2)#;IDNMLk15)+wO-s^%|NMhs_%dHjJ0IsH?0wAKV~lp(2uzm}>R> zf1OVYPHCj=w6(F|6wya><``Cah>I;R@cZ}unbmp)aFsWlo@vYVl5=dZ7cJQI=nou| z-3{}{q>-@wXUTH$%d~g`i{EN5$_%4QtLf(}TMb1aKT8@mq@>}Q@N``8 za+(=$sT#1$#2MGW_n_PO5pUn;x11L|nDn)*hOpFQP~WbC21*O@%M$~*dAxumtC+&m zaV?ceebU%kdz`eXoZ#}QOTaBz1Ju(cXset9HU%hQu!RiDtmvm_-bP_jL_E1P`~xy- z{NW52`RUbksx6E-kfLRLqs?9&aZ|ao$siDPA%PJDadOx9m35!b9v1f6r{Cntix z=Fxm0c(q2~im zOY=a_eH#paa^`*goo8-jYy>IS?Obr zW5+^NX(q2`wLNy4{h$-d&O<7feQBS67QN*oz{>SL>CV_fJ6qea_eKJJVOE8bKJMt2 zEysMyzs}T}9AyqiKf-}7r9tkH?kM%5f)`kD4HMpL*v@akFO?nq^OegJn~QQCvB3SpSfm=glJu zuisLss7@@{?ZKwX%Cq~we!vc{TjY94296%uhg!Z3kg;kvL{x1A}4{mQUaNJguQf|ZM;849M zU}l5{m?_L)&aabWG@Z-fN#Gsw+uwyqc1@z_t3(ffx=u&u39+8S1!(@1oAFP(&~fwg z;7htOK%OWUd;Hp{{`reC9V3WF!U{;posxddB;M* zes14Y(tt-E|0Qo)SA(GbHQMkxj(k;U7HCTeo zLOmFIm&|*0Wti}P=D>mRA2}U8kzX@Dl4Rf1XPd9BWPM6!v&r|r;PVf;=#w;)eHqB< zpw%*rim)1ue)5p4xVW37o=L#B4#w!S!vMD5<-9vLqOi_Ejdi~-$;^KB9Cn1C!CobC z-tPlWG^=Mmd&Lsijb*QK(w$EjeC9cp>^w&Lw+Jv@Ul!4^IYs!Af10SjIZc&57%^q# z^30aB#mv;PVT>WiR-gEr$B549BxTXr_{Z-C!eL2Vr_=b~d8l8wCg`4)rNw4mbV<#) znN=~V3#RVc@^3!faH}2D?KvKjyYAs_OLJB)VjF9BMU*vJVF#??Q~rV6U;Mz0t3h(Q zKNNAjIJ@L3z^bST?(fMWHAlws!+o#fudnZDShWaGQHP;ttu>(gmjf)iXbWfhm%~Wy zEjYMK2lr)b(GSZmaU9V>%vmFghx03_tKdWk=Jbav3SKl~K$^zBPl9IyBJg45DoCwg z!(VBt&W^vVf+wE)(_XJLaa>;IF^q1s zW)|HP#kW_y*_LW^RDN@vWNLK~C5Ja;-Aifmrd^ypbbclqT)Z2|v>;g2qQcti-^6|m zeH?%27<_(P0?L|CN#<;S-hKTp%>S&-erV9$CL$N!xoCnm&2c-y#+K$romTu%^GK-r zS`WeLHWn}DrYl(=GpL&M_|cJVZvWm7q1u6}ET!u9QS3vKfEZ!at!}n)*L$Hz?{F;z!5 z*Euk5Zw9k5(IE9a7HpRa(T_fzn5O!g%ruIHf-lKrh3^Wq7gT_&%l{DnPZuF__X!9- z$bntyAf&d3D2JaU5-sQH;IVIH=j>yUV6BLT;TLdtfey&6PvSW_ zn9^10iI60mLcYw(fuZ-o^tQM^R9*?A9XmqU%B=fnqPm)KAIyZMW9#VEk$n*MVGQBz zR{_zv&G@?M6nQ5di;{g?Sfhm;-|ntB<5uzzu5CF88e@|nx@J7Nvx#9xJ{~~XH_5Oi z!4BvQt~bC$;Dyt_$^5|E zvH60JJ;1w;Z4`&sL;=Amg1Ci z&GcaYHJ-i0C}~`wNRF+Vk7w`R;0!$COu`mLsB`t?O|dAaj<%QZ#)Xgk8C(};Z?-b^ znRgaWf)=QYsxX$rhnSSnD-fp2X$v&o-0bsB%$=l;S)2Fs#(4RXV>*fOBr^{{tQ{64 zW-{+{!eE{DMm+T~o-Ev5i)Mp`2tG-CQ?6I>rc@$F%TQ}HST}#dgHsHHk#jwdbnx-lB(Myu{ z&_Dv{&`2N}*l42I$|UnKGGEDoolZD*^gKp#Ucj>Fe#B$C9z9U$2oq&zu?MRRSkp=J z=*WD=r&Y@AuP|-)@?uXEQJ4&&IaU10uY0MWrw1gCuO>!OdaPDF=bcx#pnkP$;HSMF zEXoRn@ZmKu^_xFNPM$>#mXG=GJoKoEYQI}yW1&BEz4f7^e%16R6D6M(|NEW{+Vc&b zUmVMbH*bOIk7e1t3Cmdx`xqRm&4kqfm!Uv4kje~Xk|SAKaI$(TUBC*^O$$E3;)C7% z6%q1OEwvYmWSmK`8Uu4CN0^(9E^J@8A;=zbUbok89mh#MUIRs$_1$PX@OdCPLrl1#lvq^XI21Gq1=Y2wy#u9KB_O#xC>erik+-%d?U?XH=1QOHzq> z$rYmaTAtC~9Ka0EjUjUuzoB*WrBHsovw6$W_2xlb*ZaEFZ((lpMG}5f8dt8H#GIQs zj|s{)VeKc5;tPLaQ0`kw^hy=@a@C7LJHnYh&b^0nag)(#PdFHl55g5Y!`OtW&r$h; z5VNv22t0yb^H^?Pzx`d7jg{7B#Sa+}=P^c*n(%kvF~w>h5vcZD%-I9od6U1vTJTE6U`mYn1P<)3jJSx#`^AIC+bjBg@0B z_6k}=Cftw?>2LjC=TpJ4{a23~+gY5AH+cT^Dc9tBHEzm9^?&`ns;dJ*XV3#~@E+l< zFJ-vri5WhL6hMLg2zu_DKkPE^gVNGr7_GNqGJFKF>1!vQH2*DXC2+loTnFv%DJF2Z z=p6ZAt%kSz!f;n(BC4)1q_3Ih#E@fCN9&rff||?Vtzr$>=J+!j9PerBqjZSwl)v!)y#};~4$-frLadv1 z7j7&}#EfTvO;(2?#%K($C|#M=b^Jt95-GS3%z|230SvUs#4(-EQ2m=I`*_$LLiFrl zyJ`oyXqZG-ZHR}3(r9{OnL8~RL0gg;*Rt3e zr!;O9w8!B|`sP93uR~qd2(cT=$5T`7Ii0-~{5{?A(a24j_j;7n^hdyyy&J%yMFqkV zojE@jCBB!|@{exX0(r(q|GQ6?3mVf?skRopbG9e$OxCG-`1IA3Rj2;V3wUywt6d>T zl;paIMb3FzT_A<+HtW$+#ut}}-lF0b4J2IP6xX{R!KfV&h5h@tqkG^DvM_%lp1E)Y zV~IO{ofSyhe=UL_Pdk2g))~B8+DDe!&4$bDS(+B6jlo;zu@7&%qn()=V<)?jF%A0) zSdl_XSNBreq)o7Z-XL3VZlP9wrfm9(2zI-^D>GW2$ny^G)UG75V~(MWbUda9R6yo+PaN*kz+J)DuueRZp5rpOGS6&cWvU)4!< zgd6Baj>nJ5#klK{467v2kA)6*_^SmF-FjqEV@WhD6k@n8c`3BM4(QkGiV_ZCIO$Cg zHfz*Daw_u{?ERm)$@4jo$m`RRQ0cZ3J%k*df%|h@C4Vx z_W%2Hs;BkB!V(R%cOme;Xgv-y^DtFS5Py&5{4+XEG>ASTA4B%Tm|aJisoHY5?#TnX ze{BjWoS?+cEW8Cmi;QE)oaDJXz%jLBHaWQCR+d<=-KP2j5De9D}vQ783aM|+;^vEwFuezF0 zVShVqf5qbCp))AX_ka@%@6l7Y&k?U}Gw{nMH@c4H`mJiTiMYiWR$62eo}D|39sJ%z z$&G8EcWMJF9lk-g|K!+%%cJnlqPg_e(qX zgSjSwXmv6Pu6pXi&sZVG(tH%!TZCbpun%_i#A86KJ|6m2O(i1TF}aE3&Ix4@uc4PH zcs3L_aQTFNOSePcL~Ap3#(?wj8pFIL6q*l8Fqt+uc#vz4RgpJ?#qzy|oyt z93J!inm%llyNw0T=IG`Vfq{C*Q2ESyDy3}#-#9;Hv}g-2E#YM4o5*sq=$;pedR@kO zva->j<~k-H7h)!<9Ap0e-p#aGcEi_I}8Q>bDWZ2Qc^~~#iM|*h_ zd_KGsmYg^R!moTu6il`{<5`Zj=KzO8k9eVC6LF%>=S}?^KUwyR1W`T=ji};8C&V%5H zuCmMZ1r{g1>`T4pKdnkXzwnLr?tk_4{1;=HXD?Ur4d4t7;yI$`Xfk5!a-3cGiTv2( z4_EaIpo8;##JgUD3EjI;gv;7I?oq{~?_21E;AqnN_&u!qpv2res|4DU@+%v(7QoN@ z+#5ZZ(-(#EvHp4x-g|G$1pf44cAj6rBseYrD_%6cIqNVy%ou^B@>Qt*H4DRTO<>bj z2%!7v45p(h7UJ5h*wbsZSpPzQy4T|oc@y;rS{}1>_aRk$-O91gif`b1nIafE*bDDt zbkK?kV6Vj5qhVJWGbP&RUE3Z7lO|}wZc#P%ueby|+LKSh$F3x5)9=wA6)JGr z#T=&wyv54f&SZ%!$Ea#bhIzqG9M5JRtJ=$P!{->l4Bb9RZgZq5dpdFYPFXgq|1$h^ z{|quiO(1;ClT{3FO^WBn+#5NqCa=e+4qp#r5TaMFuE`lhl$bv`P zPQG%-Y!tMN$HxbR@JJ`YxbNri$R81|)3Okb2w$LH3sg{O-3hwNRGUt=Ng`9zB+2&Q z8%eEk5xsYp>m^+qgk^UoGBLL1m|zmc4=Z!z{L_)(aK8?G{)&UQ_$d$)t%ZEk&oKRdGMW0qfjz74gRS$+z<%{lpxG+SA&Wei>DI#^ zPSZe-7tiSJ@+4d)Z-!q6BG^raYM5qi!1<2}Bi-OfH_sTtOy)dpNo%INGDpcy_jX#x zX$T8@jYdy-JDoq=0IUsIvM zKy0p+gA&(5`h@Id|0?XnjXMKqz3>>!x#3K%Psk&FHc4~{f{Dk^3|e5Bg(sDq*z4zo zSk)D?Aokj6-ov_Oymx)`;e3xQv)w%wb5o9?wqX^%H!)&$w@*dYapRfKMdh%U;~g-c zF2hG-J;o#6lyUr}1H0VSVVX?|4GdLe-yVvlIUgUw@jsDdi)$SOPn2UGaeO7o-pe4` zqC%cs)S^pbMXAHH{diYL6us`vp-+<*;}MMqBzAiq$Nq?gRXHJ*xpy`A!d2s_XVnF& zdt)oPb2t!222T=q%dMoHCP8~cAy_Bfh16I(bnjivJH2-=IMnFFxg%M0;g?1_%kLOn z)Rs->bnt1{$OfV(^#Ar1Z=0{ITxht!V$QauPT}A6szxe<|BNg9_kO6KIs#kA-GQ+F zweZlewbIH{9!qMU@Do$4pd+Ib1aDvE`rS2{a?$&+7vW zs6F)5ORlG2Q4j`1e@6|kr=(l6khkrkCVM^lEgqLdv|r4}7pcpj?|d-?#U6$QyNB_G zu@u`jzTC|1UI>kA45atCUJ4E@ghkzhSS{F3RmVMn4z3SI)b9{R%s9#_{E=q0U36hn z-5>C{y@zb4gE&6-GajvcL*)Ynn3=!lF*mjuF{5E?U{6#$)&8ys*IYF~Yil-DpLh~Q z(v;cRR~RbY;REH(ugG`NC4iQ^dH*!d;Ven z1c{Ya|GU4}PR%OCC(zo$R%__j%ker@1K}yot9Sg%H++|*#gwkxgUUX)u%_z|*E4+y zt36K9{ew%1$1g4?ooLU9~DK4L?QBx_p?a8Pvu3CqOBpN?efEj1~VBNB4a#(aOv0QD5 zVNDgdOtqf#L5^b=#va6Tf-b1+5r~~W5@@rimXr(0@)g&QWBX2@<+!xoWE1~NsRU1u%|HQ(vc@r5c-(K8a_7Ml}SYXEuZ}7M!&b&!_1}|R?(M!WI zcC{MTIi*J}k%mU6{%%@&-v@(ix~ zy@?l47z*dNCDOAY#%ygy(tq!b`pKM~D`&Aq=cyCvQ$HG49n%dsGwS;9JffuXo3`x{ zWQ%*gQ?a81G?y9`n{s-RZTdC-$Ky5(Kd=&Z3vxc-jXN+gKMDJ! zcJQP+EJ5nq7`)t42K)L}vSxSufj`lODZ1uJeU#R*AN&p2#S-ILEiW?++menBi(9bo zZaWluUZL_WrRZ(&){Jkp66c?p$=1I8fj(i%?3zm_v1OeA;j3qso$@IMTtOhAQG`7& zUx)ddCb30>2XX(c>tOHxf;znxqd}{x$+g2_V9dSWnpJDzKzI`#Tek=W| zpaUZbJlkqR@ZvgM7qCjqJc|bq+a?13k6!avk_b{`KZ7~*`5M@XyTZB&5>W6}8Q-6Y z!f(1ESo&u+-*U=1VwbxJ6S&OVHy?TEj?>}&&pfi{)%u37lNMRLlR0?1vSen}wFzoo zD((OF@2P0pph?FhcIpHf)O5c|PRY&V&D{Thw{l!0Z09lk+#c}`j}bSV2O^UsC@U6)CZ{uS_sMQLX9DM&d+P|5i{)9h(;D2{?JXDHT!4nV zk7J|3Llo<}fhJmeP;G7sp7wf={zc=Mrh5~JL5&d34B!|Wl3Z5*hYCCWjXhiSa2q;x zjo>*yU#zH@f$JqxpkrJLvu@`|$k|Ma8Zg;OoM&OZKF4in0$J5K`Yc797W`JgqK&F}r|d8P zaDD)+&lX}z*snxhiJ_{Z6Tl(z9hGm}O?SF9nvOR;!aHFtL8qCj;)LldG5Z3yZ<=$T zT-%q$yZ6HzdK;dQX^myD2o#vL%MBQ@Drv^?a3_qtsRl<6mBRLFIcDUOGIJ>805nf% zq>EZYY4YDEIIOC|Hs7DfUP*1nwMY6ctLc^I>>aJvp&WYMP) zg}QMwt5i3AUvohC-@Ytt3*{Z3{u-NgtgtI)61lf70}iH(G7^K0u(#$p%=28uMAeHk z?;2dFcT^4bZt(*Dxem-w&>lujFbneb2-A{-d-$6DdtvY0FxW68ifv{=D1=|J`n(SF zx5bz#EQvtTs{1(R=m+{DRRM+c8OY$6f+= zyG~`9h6~trU>C$|#*($#(by?jKX&w3o^%aB^jD#z>7<#P~PP1(W;p}1}49%fIs9kc5A2mXD7Hk8?%i9J(iVRN`U z%&h(hse>D_UTi$C+aLfINc`fd%vWc{UjD+Hx8>RD>q|IqNjdE45P*=~f=uPqYV*O1 z^I%4g4~dMA=2;oJVRz3}df9gX1K-aji&V=97oG%{O?PO7p*k8@Rq%dIokQ*K##7se z60BRWC;k%2!>l(|)JMF{EKSvjEL;2#EFH%(q^TF`U-p2${4?NJ4wKrp9kAGBE>v+n zhpMV+5FY!HT>q$!_7zFyryQr_;rnOsvA!_+Mm@nJAB0%>)GIixOM?BIJB6JQ#rtoc z`MPj#-Lo6E7K;@Q47?7SQ$-JISof~~_j_Tc--dK{IzDMQM#P`h)7LA`@gHIvIZ+is zbiYf%_|aJSv*9hs=Ls?!qzqXqcbh1i^}sdTDj1)T1U(PLNY;)ENX%OCM8jbm*7U%~ zovv_5(VCspcp6R~8qch1YvGS{M&aQr_PF>!H@(66Lj5*$(mcJ>Sb0I65m>#DofiBK zhQ3T^D&N+i&yYJiIAIcd)36f#j$7ka#Xt-hY(ac=A8MX{N7dsF^l9E(;59j+o5N(* z4kxi;Ltilb_FVUdz0GchR;rjMD;lXKu#(C_1L>%b6= z_vxVqr!#pk^kndZd>}gIT*3F}B$$=6E`g1L3tclmg$5m8$J_bq7Lj#*1^dq4hfppH zEh77qJkmaAetD}lGk?|$=1D~%{CFt_4>Rld2EHe-aJC=TxQ1aDubQgw5yS5y`*E9? z3?!38IJ))sf8UD}%p1==ZVN1ahRrgOcG9cTSYZ|LF6CdnBgp?JggBp}Dba6m9=F5W z+w-2-1r~#^P7lm@Va^;&@ML7|FTlpTTvsuvz|ZkgC^g|3h&1Xm0g-mhACF|1{o0Al z7qTaVu6JOyj~%Eme7wDx(`+XVi`(}sx4r@bUQwUhJbNONUQ~U##5y*MEdDa&z ziSpQ!;Nc_B+Fdtfuhytgt6$&fzQ92qTJ6LRqsb6FPJ`dJdM94F5zZfTCk)l({BQ$X zPu_0u#Hx2EG5L`fZcDn1XZ?KPLqr;MXe?nR-~Hh9j?cWg4+r2*>kG2Uv;-}iYSAL> z4z}C9q9#MfxE}jOOoaV$d|n$*g&lItSRSVp+O9`w*-t1^(1}giZWSWCTKE}}Mo`mK z4+nOupti$3D7q{_eRy7D)eWttr^?UCfJpnF$!KjuJ zgaxh1I9wQrUNa?Wb;1?6ZwQQ=jvd2$cpXfpcX6GQE3tJT1ATiw^Osist;llwO!nR5 zJo9m-sCB#x|K2yieNmaj^36L)?)->*e+aRCi{v07Xd$yt$Dfg|TFPv-{|3Q|b6|NU z1806s#%FweymZZk9T<+s6~mFto6&J#(!*sA`mNZOYwoOtWhweJ#(;Ed0q*KO1Y=%s z>>kDQJR9v1urssgKRxY-**+6kjcz42$cdmvVg$atGJ#}OF({UyKwdZ`BR}bQf=VQq2r2+h<(>KEG?X9rfA_VK?R$%tJyC`O`kFI^u0d@U4 zv^ca9GZqHGle(+m_&t=rvKHZ>>KNO|RD zuuCHqj&z-Y=ZCM5-{~2|@?aTSmwv!xVR1T5V;Ah%97;ZQZ-I})GK}k(3*c$Fyt3lY z4LT}s0=YAV@%r=@+!n3I+cC?MK69<%Jy6Vp;M7e_+}K-S?zNaYJBriaaE<)l?~B5} zoAA=qB;rT|k>$L3?|#MM!kk8^n0}7yWZFZWB7X6HWv(|#&evFRd{jcRJ?d79tYNNowo%#_*<0Y+ofFs_N?;++sBM-~H#cN8Q|S%?pxWc0#>P zGn8$sgGx~i#(LO~xeT@7Z?lfb&)1Yc6B`Xc=SjS{uBl+S8z&qTFBjz^jS` zP<3v_PjkbOVNxjsBtdt`dyq!Jqc+7@qMnAw?Kbmmnm1w#C`~@dvxS~vYi1}7? zNk;$nN76a)pz`pO&*&K=#5T4as}!!D3r5>V`OS0F@e8Uy;Y{5mwAX<2Y!K=t80E z;4HH^!5&xtrvS5!i4i(mrZm;d+XnYO&su;89M<=m^TkNp?xB}z8 z?=Fn&en=O+SOvUT;MraREOk=3%6c2}b@jB^#CtRVp7hqqF+Pk!Ho&kXUQOL`;4O-8+`S zr&kJa_-6rVxfnwJ4J}wK;7hiJ3*wUvEU(3+jXXWD7$eFGP_g|yhKJUp`b4gWd94@= zs*BmE+1K&#@Iu_A6bC_{^#03_nAn^+P%+!qB1-=>d(qLL>fz*r2mAZ}-Cv!tS-=_! z2GKGH%0IT+iOz`y@C+7b9yRJP%vO#AtoQ}YTC3o$Tq3p%4ifdhhnP>#dSUXKQ@j~j z12o^PkMa}0@M5$lqDx368Ht$!7u?<8JU3(IZ{zc8MrW|=YIIpMX;HSiT8mmAo=112 zsj*AtI%tOa4G2?~V|vWz;J!t@*q5fm>M2XJ3GpV_lpjxvRrT0uX~wK@jtXXv{mXR_ zc7U_1EE|+)LHygZ=$f33=rUi89Z_4vzE*#Z;VV3d{N`-_xBNRGkFrqfA;KP+DgxKC zQ-Ny|gDD4m`G@?}`4#;QAU{i#iTSY$wDcbEJe(V7Oi2@-D|m-azoNNbg$TN0n;tzA zK8E?CHjRneUkBY6fdrijr9Dee(F6BplPK$n$nx$}vkiYKee!||ZPSH$c@ALTaSEcn z1IQ@1KYrydM_k%vz?AFBpUpSoCup?Nx22rso59d^s)G2_mdnzJd?kXPm%xmoMxNv` zV-`Dvp4T=atZ6I_p0@eO=a*&CQ867NgMv<8>`(R%P{m|K7>< z#{d6%`r&6f>~^I=>>Bfm6o#=-y@-X`GTaO?CYhP$JDWM<>yLvgr{bp~6}(fY0hWb! zOlRM8hJ5J+eHkm5dG$NzP!ney5}QDC@?)HVV{mTi2lBDNhEW~LfL@1a^xNS=74?>o z$1!iWcqm5C@cZfWioJs{s1JM8ADU>><#ww<%vX7o$1;fZLDE}sn zm));pv)>nL7t#x<)0Weu4$eF4M%ZmCrtD))Q;c-DL$Wf;>Brfj_>0Re=HL8GwAa6b zlndLjnx})&iXntG%YeBfziCVP2nLZ#RD2hQzaxc!bLGR^IBl4;sS~A-FQLpIImWUj zm0YiQj0#_;vJE}kA6#Jb|WJGu>+vCWK zEf&ZuawER)Tp0lx10F9Z^f`C%GCAK`)3xnTn)|TQghudsTJyZja(_iNQ`FDRMqprxNSJaqi&Qc~?5~VaH^)Y?8?5}1#I4sow8~gO=Z;evC*!>Ot%to+l%6$Chcb6QP(F{4x#n31*9d5g4k*U5FB;)s0 z44uE8I?WR1I1@Y!&3lci-j8W^=`-k7IRl5N1#d}v2{$_ga+>=jwqQypE<2*ZF7O3_eKYpmdbXRd)vnm1C z+i5VxA=jv%cLFZl^O0Uqn}oHSKf@rs3V+W`W%wU-m^uLf60eLog}_|3?uWkV6F_{| zE86T8f(s?;F=vq}dpB`DJ8ohQ?vG!9Wy0m?KAu40x-0O1=sMGAD!(`Go5xUw5>iA- zMTQDzU$-@PeGT95=lk=TA4K=-;g05~|J4uPmR)1kq7A=p_xz(O-cze|SmVa){D1ZT zg@%u?T2zVc@Mp1d_z&+x&U)Bopu}_zY+$mO5a!^#YFJ;9PtPk?;(~4CSm_T9aQ(zL zxLTb9oo}{~9_wH9w!tr+0N!5#m@ZlhKjeZGGubVUHi# zh%;M+nR9DpnEi8S!7ATB#Axs#iJ6iC$tKaXhlZe(y#nk0bvA2tE(^P+p2Us0UU*SK zRuKI%7H(~dgY2t47A^}eV!==kk~Io!E8Bsh8i};a>@;T0D@WBSJIM04p&-+%4{tx( zVe_ZmI1p2YF%p`rIr|gsRL|f^uNYj^zn}MN_YF9Iemy8^sB&6d5%yB6DUN$6%w$h) z2V+wsun=C0ox(&vTZHO+k zB&VUbUN}<|w2RpvZop{m351^mwUE)y)!O__=*de*_X|=9if_X9t# z$ibA8tyF(`4Gq5YprY;KevDr>imgp3#}mPx5F?@g-+PhhHqct|QH{T)&UL|pn|~}9 zl#6F=Q)>Q)kF;6hIOARr%hZb>XGYzPXFhI{bjyufWBhTd~`K@WRdk||P5Qhu6) z=zESURImv0)x}BI(neZ8#uOdKCZb5=4IFRC&6aLNV}!zNT%KY^w>F*S*?QK|BX-NM z*lRlm?mvUskG^2W({ZfFh3V{!O;1ryuNavV{y6jABs5Z*hw?j?U~-@n1{tQ~=O7XG zNVX1ZGHo`yW=A%5M4rTeTl-M;$7hN)!Ghd88(!$pSbAcWIWF|Pg$if?-~y+yZ1I_E z^vm{>)O73UinHNj(Ae(>BhHKA+v^Il`|x-gH^AT%$CLQ%b0;3UkxeqThjSUyL&Wni zpJQ+Df_8BaD9e3HT#ilS^%P&HL9ZDM6uHXfmrsS)drFC`ElUjD9+L-GWWmHqgX5+Y zlGwv%c?NT(sZ-5odcramQ&ZpUCN5v)l6&E- zHb3A@w@`$LGQW3qlJ(dsVgCDpxgp2G|F^z(v4nNutqwbW(IeTkkce4TmxXf-e0~1y zN36N|>EKFFa(Tl^=>DLhFP=WufSD`5U$r zR|#H5+yv1+uJ;?6Ks`JZSgXal>_rP(9F*)MhkdWp?+>+D#fEG6^=kwyiFpFMW(0w^ zkrTVzDiPeGis8=77>n|!v+(EN5uEEd4{+d zOYh*h0aLbf|8#caF$rEu*dOrE4--^vn@Jm8=DU5gFtu3&<@1S@}0gMHh2 ziEdN1AhTW-^*Owc`l7c$BaS#u0y;R zLKeI&n@*7Tv98c2X2dKeR`B|)T7|_cd-!#gn|&{p2IFlfDqcx0rV*v7boI`B9;Y}Y zAAF~AS+v}{zCRZuq;v7(-Bj$dwq$=-O<*tAoyGUUWkh}FV;DN6@LxaD7&kPlQo@>l zpeSz{f9#a1ID<3H&NKh^BWKsyu)TwW_%3W4=-S+N*iJi zl@q;a8_bA(kLPp!vHAO3INWLgjhraNWx6OVDYR_4fcxG*rzaH`V_*F@s=cHUnH)p*L+m}g=69OBo6qTau3i)T zzkQjWT;|-Z6%PDQW5Bnx!=UO_W#K#{|9|IKkLEwbq{Me*cmFEbFMJFX7AP?XH|=IB z@2E11{+txpn!Tj+9s4WR92OM6`-QA>zFB!wy#iq!X(B+<}&gf2To*q1L4 z3uxb6Xu0kLsYwf=->Vmwt+*6;(o7Mv?~oEm8(ZHvnQMeH+NU+ ztv`kh=XhX48#0N(^k&%qNRwEUR-oDJ_xM-+2GLmfhRfkP1C{+ec39^wjt_W4mvM8J zgtAo7yPbn$nrE;b%aU-y{7_ir%K6J&6T$IIDcXn)!QnbvT9qomoJW({pSHs||569J zIWGjdw6BsKU7bXU%P`1Zgy!FB&}OojJtVm3Vq&${qIsUK5$qxt@oRAoZ8{bUo@^H}-XcoWqaTq=^Btg3d@M8B(v)a@nNDgNMl(KIG30Ye zGu2Nz4GC}Wka>~rB=?&nscIfY@#Gxpo3r zKh|PGIuw}`EBNs9VqsZwUjUP!(hCb;9N`IB$J64N(J<(83Ow``(ZbuCr1Tzx9eLt# zME)6-Ro+DO=kVChy0Pq$c_M856>r2l`;eWh&I&EBrt@=Um_N&|z|gc9-i?g|^tGH0 zyCY4Lm9&s$KdrE2J**8`Q|nQz*z&jJy*9(F>kWs!FI9Oyb80Z^WCV)5NW#;#*D*}v z6!(^e5XFse=yxj5y!7ve!(oR7#SbIs+AZ~1%XxPEzg>hvT0$49bIiZm7MOi92DCC> zLVK$WaVedOcB2>Jil9K8pPNNf^Dc8*jgO>lTMnl;FlA=VmICSZVIb*vq+;1h3EVXC zH2yf3j|Q{3TrpE?m_NZ1=eS(L9rBgnlm4BWwq}t#Sy|-fjGuxNlg%*NlVRlMC^2s? zjAwjKjEBSTlQ7#!f_bP>NeW3G{T630sFLxba;j_SMAK0iE>epNgO_8}vVHimr3&3s zUxIY5X|LRYfePdpF&T!|4{f?mOv5-oQW=*mE2PhOac>V>UIN!|g_E_lM{)Y_M`)@RXPkGd@+?+d zM%Ni zVegtYygl_icpHl{9-LPyRctoyXt!i9a5}8VoQ~VrG=%d1s<8XN__DPc`MCdz2xFIH z%q*%@g`etA>AdNUbXKtj+6%b{O@lxdomAe?>{6f+|C1D+zGj}cR~x7D>P?p2IM|_O~1>J z7SvTrqleWis&lU!=hq#_tS>Pz$*mg7H&{XLQ$V3Nd&$z{(^$7nuaV#0kHh{t?4-wh z_Wi`?cxdJru!dtRwD5#_{U@nvctaXLS<@aReSFW1=2+Z$ zI5Xu89Q-N|1KdvHSKlxlx0KTas;DtVdQ!~(zk!e+xfkNM4MJ^y2;K0$9prb;0{_L^ z@a~qQX#Y!|9dVe>+CAt;*6Jhf^yc=QcjJlwj!Zi8h4cBd0mP?}!Q(fM{5P-Ys$3br z`R7=EWQt{lLP29?b*|y;m%*+7^rxnNNzAt&;Y?s!2(v074Z9~@cJ%4A(s~^3X)4aQP}?)3LW2x2hRhy1B!kWw~K>z-^IGo!h@OC@Nv#3~0yOo?!qh}AQ zbJ;}f;ZT%%o`yBy{j@aTDv58316SYsAU3B6?hSI8?H|%C9ECEd(XJNiBH*EMX0%{4 zNg?*P?ZChE0z{vF2?z2hr^9uHB5#*Kz& z9Ji=vbTZU+tHAQNKyGfnBpCNKg9=HSVDmB=@P6QFQUAMzm$oI0Tz$M8)+=)}J`*R% zKGH-kw;e4rnUX>EZ!>6cV;x%VeumZUFEKjz239HB;vSXVf~^@bWb=UwL~7GJo`Ttk z;L0L7JfYJgZR?=TKd|j}Sf`&7-$93YG8`?$&+9Rbx4qK-KmDgeu|^u3BIfb4_#$o> z1C6T$yCs`q-u-)@SS+2uHoVos7uRNj3&(yrB<9GNl`m#KsL3(I2l~mQK5o~0=^+`8 zaYc3Rzrildpp~3gYUAfxTw)Z19?Ujs)w7XEmZ||G<^WrpLSRk)Ym#_vHRHo`CDxBL zI3MLCY%H#V;Hfb%>Ou<6v#z8QQ*4LfhcE^eQYqy7QsUX);GPZDRJb>!pezBR1Er$Bba&b@T+5h3Oh zm;IvqAq)!26~S^^D0ZpN;OgHmxIFzUVrCIu_~-uM-n8O@@RdT48 zVJj!bk&E3?WaOeBon`d^?4%5t(DmD4I8_GMWJ==2yK1ntYXxOnx=}%WDiQMHn2k|( zq({9C)|}tO=zC;A`I;Fh@rQziOp%NAxtR? z6dhlZ-0KYa+v7tvGS&3$kN~pEKf>XvI?@%AONM&Y(7^%7;IB$p)g}Z}b*BpENS@{W zCTa9UwH%4aVd$Jw&NwXJgyKH4+3_LQ&~N1r=&Xu|n|>34**l%w{rc&@eq^M2cS^`q zE57z3*L`){r&P%bw;kv>IqskR$nNoT*eg0(^v}4PpfpCCxjNQ^Q7?^Rj?1et`=$3{ zx~@9AHAM-lCz+!=FOe6KFUK6=JlhScqd>;;8n}qsGpg)FW{tZ&b|FSGp=A(7}6KtuSi;oMMc&A)$ky$qF z(b$!9heV_1qcLzouwtyMao)CvFN>i8FqJ7;MOx}AG+>iQ_ zJ=5xWQxfOmP-Gh#^;P1bU`1wR_kOtV<%F5Y2y>l4=D zN2RBnA8-p~pDZF8qiykxz9^17zC@O}?-k@tvSzwZmq60;%!vgl661EtwaHulmH$qs0RS%4Y2OoikXO@q=`XupvDB z$Y~-!E%@&|ytbdEvGTV)zq?y!tYr4As)RWQ_xTR}+n;(qZNY7q#h^Rj4Scv`!jwPU z&U{ujWsd075}!0Zd}K8pd!(Zw{bxRXJQ%{Pt1X9Lk)nc|69(!24M`+!;UU_)q8!I7 z1>#jAN~H!6l;^G>vgTi5t9}de>K$-EZoFM{5r3*1f`OSdbLRG9 zxZ!dDJuWG-FRqqg4aZ$dwd;Z$OvaavUAV-hp5`5D1LkrWTz_{Ao_mF{4QC%<;cE#< z4KIev*GuSCGaXiMjue~0-QR~E)I(MkA6`jYgH)L`JC4f@6<@6d8C!N^(+mSvQ7IRT z2jf8^D++>!1Ie;Xamc-L1hmu&sgyUkaM{ z7sB@|k-X<$q{-vO0^X2M7&+7&&eN_MB&YWenVX%uj&Uo$(K!XF7;f*(=BLeNg=ekD zoD->_GxZ}B9~NS!r-%R7pVEtS%%soT^1q0ZU2{ujRuOeS>vqF`-wTCnCalxkgIM#| z6^tf_frgd}v-pHIljr%H%Qy~&E6ssO*AL-!lL#z|8X;3fT6jh|A$Yg*DH`4j;Ry+j-&m&#_QFB5LeBz9s7BBi*7JiO;%)O*{S@{-n$l_gPhSU-C1n#{7Ff>_5eA zkp%PTNar2+R;S9;TRJj%fu_u>TZSNCatLqFOvfPQ+0dTZNviLQGAjB{A$;CGkkWC4 z(r+gq-0e18+v$hqrW$l#>pP2kdn_UINiLZu&ar3C-GMc)=D?xex1jij%P@ZYktB~7 zXXhLa!zs58;=P&1@U>wL>@OOjUcOUVew#dNUEWERH%?>%MHPXZc!T$&7vVeSQ@m#~ zSzyzc2)~ZqLh{{})$hMW4GP1+t>r7xTra~4*NL&yyMFP;%;|?KW!eD0;dehM(a7J(C#35P7X#}r5} zsVEOGlflTKYrOA9$6iwv~#QX$Vl$1%nn2Nx$Jyj5rcoL2G zsgrX7k#tt=X!h+gYgXjeXjb%XY=xbs4;UKWhAS-z|J@H~{B^(H{%*rJ^-?XVt(sMJ zF1UMj;LyMG?W@^+c;#^mWfI0%tk)YP;)>ipypjVsh}$qDT3sOc8U>d)PKn{oSWNo+ znM{~5k2ZHd!=I~F*%x{@(K~+(x<|br2j2W9r!&PV;Mh}IJi8LK+iKa?3`M{PU#**4UbW5c6lf;o%y-0pc$BR8SlzG{QJx^bgz{Bt0(PF|JpBxRJ`)Y~XG<8@T7=rbFkMU!# zblLlJp`fuh4sv)C8P;$;Q==flq}le;{g2KI77z(oQ;~z#UmK9kmghB|E`W1~zJlDi zOi24NhUxQ>!}iU_)OKvP;LfZrLCVz-RP575!H#icdx;MS^_38x4fPgIZl@tqD-_>& z<`SF6LEhL`N;s}K1j9-uGQ}cwuxw%i1nnD3>?`Mi+}BJnetV9*iPD6PLsjLblD4Sn zyA8)L6lTYs_=ws@e{k;M7ue}0g6^jGpy5_8T)kWhhyAp;eMBbK?B4m`{UH8(a^j!n znf%_VA?NRn{!w{#B6eK9`RbqkRB>t&qp&@W>1YUJ%#ST+o>(d|s#!HKEutEJM7P0g z&CB3aG9T>ce5rB(vV*xFeo@j5?v0$xYUCj2Wb+NdOjx3 zepA7eF9jQ(Nx_tb7Br?m40A##c60BKN~{~T(Q)Tx#@`b3_p8x?zd5++ZxqgZ6@qVz zAL8>va%>hik9ghGkMH-LMf|!6x55gn7_$I{Q`}i6MKd;DWfE%_slb-M9YT}w{di)_ zcMO?%56{0#M=vgK;El~Otg_g`>iQe7#u6`(i=*WDES1!JwmCkMIe|7WV^DhMEOg0` zK)>|4cqvDWtr@oyGkYA!$I?{jD?Sac>}6nKm#H8)*po(ho)M@7iwbHY^62%t5~`XM zP14MFLH_#JFqGN}SDYdtEMJskT3M00hta&{l^MKxLj(Fj`lH1c%;ELq{~`B=lm8JPa*JuR6MMHUOqgpS)Qz$l!6hEY9vJ1vk* zXAFsjPH~v|8Ew81L-RL%P~!K$ykVk#Oqd_NzWHRF-LwDMpUSLzD}HsXGyiSJ0Wax~ zGpp{FUsK-V_^)4J_o^qbf71*+8tsRB#1wJ*>KOV<$4w=F{Qj zTPb;TRfmp+Na zExpPsRzA$-3kYMFuR6O;_yqbLtq`afFM@?unsm&=1hV6EqF_gEIPvxaJ{l$n)3(5C)_8dd-6dfEd%Ptx}9e1612rebEsK4HvMe?vu7}C1`Omn=bJUzA>#a19S#*;6a5rbNfLztx>yak!)5>Qp4w? zl7uM=JrAPYxzZpPp#gt=UqkDuG~W1o!LYU|oa`7=O60V4LB_|1{EC)BvHL>!P`->f z`fgLLn*<20kdooyJ1WhHrf5G_~0 zOnc5Sx+l-GH>+5Dn<|0p4JKgEujAM->LNWVEX0=IoXi@&ABTf8CNjQ0@o?5a8WoQe z;isLec?ZuG5S{liIE6h2b3G5jVVfYZ_2zO#`rA=t(P^|i@I{c8x*1N`NyE`6qZp|l zqU4a?Vp!XETyVg70y<}kqrt#@;_4X=yKcL~>5M`+r|U%Q=PZWcEd$hDMxDO!tRoY4 z38Baj4Gh1gMj}pV!iu}&iT{;w2%P7Fp2oLfPN@$la!j+P!Vp-L84R&nD?ul<3f#@& zV9&!lB&bOjjgK1scOGIJgJ+%ZnaA&Uy&~M$YE+eb{quzJI{%&rb%#dye7u?@t5lM( zb#3N0Th5WzYmdl*_1k#Q2cOb4zX$2xyMq?Gw#)El!e0dEGdkMH;bsOK=X7WBflptNN)u813G}0m;N64Gic;9n65)I{w>!Zg* z?PG0DqvV9&#P*XL?}gyfac}soyaz(gSi?0>7rK|X0Z5vE^Hy{b*UXXIleqEZxVnuGeH-H~Qcw^AOf_*$Cyl@T6XDDTW-#;T?X) z`RLN(*u-IXc76CvMyUESxp({}{dF&q4X7H#XO0PAm2ntbW4{uEToamNXUcx*p2$x4 z?!mYTkHDT4XX&?BrmViiW;8t)4L{~I;wUd$FnB+n+1Mh=Y?yRc(Ep~#B5hqV>|9ku zrPqnDOX5;dI*#K{eLYH6bXItI+98Z8A%Yu+m%*bq3*o{wE|d6%4sJ?a%UJn6g|v$@%=okK z;E(ue7;CWr(!b4w{Z1Sj6^C}d({Whuz`u1$%1VEgPF4S=B~s-@ z|LScj`cJ`X5qXU5i>)|O`9)B8S(YT~7g#)?uB3JU?+Op0QuE!q3ec7t%N8Uy6TJ~n zB9m8Y(`m)M;d7dZy%UF1Gm=2PJqddMh``>Uc)ED=DYh^rkgec62SF>h2<~&c zc*}!1tCulk{pJbbQ;)Sh_#O1Ftds;o0Ca@*E4;63A^A$>n z=AF*+$g80k^Roa8YdBqV5yj1acftKQ16(>o7xZHZc=!eoH&GkGr}QLhQ@K*`a`!mc zI!}W6`K}cLnNqN|Ft2Dm)LLFEzKH{$AN#yqRX--%M&STd#}68x|D(EXFv z!J;p|u+AkKW`-Yygctshk}-qhAt%Am_v_I0Fa$i^Uhuj%ulcY3)G}2Q3d)V z3WR5egVhl~I?k*bPaHacDF!ZV&*SM3ymSriZj#4LZsxVXOO*Y&D+Zel`oOS+fphAu zwB^!l6#bsdiuWC$QM&7~$~PF}96eFNzX^{ocu9BY7C@HDRHE7=f;VJSaKq{otmVtG zklz_cpKjWV1=V*s7K%LEe?^`3yI%|MMM~l1A5D~w55`?f&DdtESh6tbE;0OWiJDuQ z;M8wLWvao}e8T-jXD>2YoYJor2ISIT* z{}E8TUi#;Yt>FF!8^9q$%#P7#^SmV3=AlTmoWBbXbSl7=H*08*=UfZHt{pg4vlNds zEyLtd3#i(cbYOoJpp97~EAnj@E2WVJ_JN_Ot-lD<@`-fDEC8%b;&Sc%WUoF!ryhEo?VQNq6@j-IFw3>D6tm1 zi@CW;8fuRB1WY?m!jnJoa;%yOc&0;Km^wR~%SZcpY(Dm1>Ln}6-5}jg2_nC*;+Xkiw6*jw zi2Te3r$>^|v$ULS{W()GX{s5l(F%soRyRrY$X*^ZX*QT0Uj%-;O6kG*`l!eSFpT@I z$~f+KgE9|qXuE$LzVIBtY^a5{-q0ludOOfWv=aAny!{uKLfPtij(?sU388lvp=($L zR(_eyZpm_DHC``=2CFBub$A$i+qcn!U4i&#+#>dzRTPAzG@+Jk2Tspl$JTE>$`*0& zgxvh2jP+i3=7Mh8J>8{qr<(Tg;98ZJq?)ntN!7^IM#AQyWgV#DT}}KxiN932lV|@Ze}U=u5tU z8-JqUt*9Jt$;~&ItTchip6@UE>h>gl*QJF{XC;;RufN;LSDA?OgUaG<*OdNm|7nr& zkMWn4o%nt_+EeDCR~Th`2b=wIH&EHesIMb?tOzc$3fZ3g9?91EDfjd;EJ&C?!! zNfg4u>5e{*?*YQ7v}Yk+)?A6}C9SDh=PEQwzes8AUqMB}FgbHc2?{5yhd*D>2r@@> z*gex!&@|yQ9i=dqF0%hcd~3SNPLpTE|KM5>=jNfxWp_YBVlmXFe#C@?O6nOIo>X&3Abix^_HcC?<+st3ueozHRKz zcP*%{{}wgxM$w55D@a;;GAh_6u&(WiY?XZ&^QyFn(aX9++=RG2&(8gzoYujE_)v0y zb>OATZ>C%At1+zDi=BGs5+s~i!t^Lt;EEHpS<}_v^QLQXGPI1`s`nxp-}jMP z-8`!6QT^Y2GH@aLTUN6zUo}nrL2R^cRa?-hrzRi&eP0~o#F_2qA_!SE7A5x{!gGT| zR4Jv5r#;gESER2(w<(u!{jWzHcjyF^D>q@`-Z8A1oe+Mqe*Z}wSOzuQ z$B@y_H`5R68TmkHaO9T~-nFy;XcfQx$vJvm^8+qrqSZ{lxK6Hd~ zBtCSJ52gH~`9vkThs(4QVcPHBBJD>VadNv3Gg6uat^r)WuY7IAnv({gG_Mx~hiX94 zp%wU&G7xwEG(F-S{oi@8Y3tbjEMh(%6YgpCeCG83?@zinu>aru%5g4}R?Q>Q!=8|t z$bk3Fd*tB>F`jqmcJg%kE_yYsgx9b>3qn_$fS&V5un8NWb+&yL=NuN&w)E!}gCDd= zru{aav#1`*oxOpVwx{Er6Ad_e@dU>`4yC|=9~=h??V@`@V7_>X0NmyUxAoIV!gr((0+cyL>2!zu-8Qpd63khuB= ztT>tiLz6%9cHOeT3)4Q+cd1cSQs*GZ>@b4ZT_133@KWM9-;r z!ieRG+hpZBYmzC&^*Ht-=)E@>pG*t+ul{s!_Ec)qoyY$=s_2?fxo*{cmr*v6bN;;_ zer;A^K0iH-<2?0Hr7(?S{F^{PjXcD#KS|8bF(e}@ox+8gD1AYSO*N0h&&f%6H2I<6 zBDE68kNZf9&s?=wBB4k_pFAXFR0N1Wm4LGFqY3-O5Uf@JM8 zV58UoUfGE-qa_HkNH=*d;G^VzDJHMN0eKU76) z*Zx9_U`6)Q-AfQwZ9?R>xZuktXYujOd93V+GwxVcPDNg1lcu076yD&#E}a(6YW(>q zXwR``mg_4s4g>8l)qXk_GS7&2<5)V6C=1lIBhW(-Np(z@!TXy&3~GxoqIo@hhTXQ$i;=yDtK-+b=MxGy%0{s4?dQY@lhe z9o!EY4~ttOz}xT~9I1FunB-@IP1i5rN>_cnb#n86=RsnWLgPbOd;XF*$Bm-T468~s zf2`H7{I~uTJ-U)PxqcG3N@l{foM4#TokTj4rBF?xmufw6CEt>Ud6HZf=nj?TCK#WF@6J1*{D%#d)p$asA1@KqZgGWY z_xGTP=1r1*w3Ez^NFsR?7ow_!2F#e02WInu+a(#}`9F&6&x%;QnK&OaW;emH21BeL z{~DiiItWzec$g3ELC*fpy-kgWiHv;=begevG zx&#AFmgJq{UGkaB_;~!zA6v`5Q%N6gUhNqJXgr19LM+>IGRh4PuSl;Kt z71+5#cf2uc%XvPv>XMMbD5?H`>q(P01>pbr8Z9*cMz;pE)Aie@K>D!?BGIf#?d50U zJezCS)Hx5oH}w-$Ax&s3;BrP!o+V8dL1gKbeB#&{MdW_1hH0Zqz~cCEXy~6nBNUa{ zFHe7%cPjHxYk8cYH(C#k!fy(qb&k+OIxhrqrptNO95axyerpkAIGH_dC=3DXT;R2~ z2~3?k1y@f>x0pS08#as{#f*910z8G?u=-agjp6j4=S1>B1S?3qhZjkBQN(NL2`L}h zwhd!vd-LqIS%~?@WucZ&rPV(znb3hYQuXCDX^MI;*et#Q#t+Ak-qUN?bGy#4?VBao ztF|)iEct4jcrF#BuUq56?q7Isnlt-&asb>f+{V0^U=3`OJdxy&$n&)v&@xz@trr{eQf#$M;%PdEV~ZT8qmaFXw^nkwi)MComTNfAtwoZq{G ze?I#~W)}t=T!L?VGc6vR)-d-fUrK*nK0stohQZtqAHe*k5c3TGl9WH6(R58GiCni5 zYL8??Xu=O_SECB9_OHQtyAyN4)0~mCe+Q8XrnoNm7%?t-0A&fH(3^P%p1zm?yB9^H zd0!aou;vW@@vT68pT}hNqdff8QNgi``-vB)$9_0-G3p&CC2p%#nWU&2IM9*GF7fqZ z13FvLc4h`zPFoKqDFeKwOwNz;=NMbm@E09E`Z8bl-efc+uJa~#8cY`~=5BQU0HH*9lP0P7cyq-uUE8Tfk) z?u^?2fx$DuWF#5B?_DQI4ZA^{cWC~6aA^`>==TEc7cxrxyQ40jDmNA7@7uZoTyDMk zpZn7$Zy8Gim1I43ifI2|s-#{4WC$oUEl^VX8l=X_vLXcRMh z!9r$Kx)d|^V;Jznb*b>t5Hc#ToBWwL4nn<8!=88Tq|^B;jWQ_0*%{RsAhH(UWb8q; zRYBO4&PO``7V&sJ0~TM&z&{y?E!{`4spuyzx$zl$#(J?Y9ZezTa4KjW6vZah1tiT% z4_k~*PHvTbhTSx^dwN%etbNyvWaIp=`tyAR>Kls}yRRvo@vjI!u?zMd}H zuMT^HJm6V%6jZEzCb+dO9z)p$SZ^?q*y9Rj=}v`TLz_V_@FH~X?z2#l z-HD-_#Lz2j-hcN=!N!@vZ_FI{u?scptktJfz1A}okGcDA{TbdWg-fg}F{y1TG9t;C z!u{9Qzh8jkew;&>tUfg8{eWlUeKA7Ko>A#=#)hkW6uvi`S3O(;DTDrCHqnEepJxV( zyt#aF|41BOCd}sdO0(w{*TFQgcO>RR7AZ|v1LgKCm{b`D$t^iB)u+f@J~#{E{RDb; z?-2RMd3eQm`{?NfY4E6p(^xxfVA|&xG0XUE@SsBsTtCN?JE0fM<6f1L&`C9L^V1ZV z8ody`#(81K#wGY%M-sZqpOFe)Cw^GcMlPw8f>ZoU5^9x&r;Quw>e+8`SZ)b>w`v<} z9N~@M4jhNo&Rkx$`zXQL*xe*WCJHx-+{5jY$o>^BFo$A#ClIUPPNN) z(fi#rT0@dR=Y}UPub#*zYd2YZ=X^Wv4)WlhWUXu|nmY9eQm*<1iArZXykz$8b3~B3pBIsL@4OcUM(7$%} z7;tD65&tOZN z+FKR^4jv{SE4Jft>5aJe$ZS@!Mw8u9?aZ14hqFIb((z_+98_tHhYvSdXs_XRD^bzl zV}A@jt{TU#p5o6Aa+=)1t+UzfThj$L9o5uyx*8ptH3ucLxLl*`$AZNVqM*zslFN)- zPG;TIKqudeG=O`{>fDC~+tX#>TCF?PyEu)l$n<88#JMw2c?z%Bh2bVGB{V+cgc+h4 z)UaqY{;;wkSYIm$Sg8v++hfr8)N1k)o}=a0WMoE-VqBCP;e??Jm_>WwHI+jALCScs zE)n2cdlz|)&d84)Al)xyn4`u@jFE#nxW=r<2TPUM*KiTc+L)Ux1bNPq={|SlA zjFOCutO`lu`8Y4Kq7u_5B{l z`}IEh;r$<6$MJkTALBgl=j}G{+v<6f_vut;$Eet>dNTQ+{Qu!CX>gO<#txRugDmCA z;CoUPUYe%yo`MOrEbKBe-KNw~0S9{4;l z!_k_xJoj-m{I%Z>#(pyxGo_s%Wvqglr_V!zYcPDge1_%T3&VofQTW4NOQ0zH0^1v_ zxi^m{ab;Vk;>nwJxP0s+2$r4$&z$emx*OJ)2@fX zzAXxP$TkJ+f3=~?HUueEX?(P#1b+$7;{69z;FH}dm?2S1qj&DZ@DGbnFe4I7rK>S( z(qWvbOxQau2jTAY9x&0)fw2cV_&)1itm@~`qSJ}2t5;%{C1tX%^P?fnW;z7CdPA%Z z?1WPbY(eC-41RPuh&L2@-u7Cd|Mmw~uAu8Q&(nMNbLxSb%xFD&>ZTGX=AVUe+jAkSaVmUOJw*=O-^SV&@O>`TVz{yLw&3iyR2b?L zfkUot*j>_!6Vohk2A_{yM|cKr*)mu?O$T>A0hleMf^Y3-V9We_R8eO?cA_vRc2t6U zk$jZe?>i3{n&LqEQ8{ty=egNtDR}X6AnrIki6k8Hg`^UH@O~%Cl@$1M$}Mg9tS%U{ zY^qp&%Xm;+t3@Nsd|}1R0!YZKfbt$yX8bjAhS>Z)IsG$_00ith`&Q0;~#wRxC{){TqlG|ds9lcEZ%qfWC2g{I?Ii+$uQ-$yMxxR3L> zlE5|S%-~%4-sZT*5j1P;7TBq*1rAI6xl+q)v@x59`);Svy-pz@lh}x=cOvPF>|H1~ z+|NpxSAkCWQu=q+Rowr5IwLeGg!$#g?{6mNJcmhCaP97WoaSxF^&0q)Y#%-sz_Y7W z2i@`6*%|a}=qNt(;)z@N`{!6q04G{1Xg$B0KKeYFHPk(YjVixrTXF((qq>oPvp7c& z+Ct*>ua*A#W^OZgr_eye55wo8IlzY}3cnF3>9+e{ob z7=iFqCvXd~hoXo9a;Un1)O?MmT0Ma%mid%Me*aBP9_Q2J57cqn9swo~9T%)|zbCL; zlR}?-SPObPm0;}eFnqqq4Euk_v2Ds45Saa()+Z+Ler8*$q-p|E(g&emK^ekci_w^e z44*%C!Q1?dPsEL@bk4|57*q+N_GOcxQFJmh$wrAeb(QZ)$@8^6uisQ$BAv{#@k8tD zZW!X)2pzZdF{FMMzT54^O|4ZUX$h`yuh|e?Jx|eNf>^kpBnE3UGKgH_|HpZfU;+#L z;L)0k+^E6r+^o=9c;xwW+}t>TN`37x|Fjh3zxBdFuS1;e8-`gNT*y=(S4Yj7H13{j zBxHnGqyE-v^qwIHdrs&=l7u{+e_|gOe0)Gqu04|3@YtE`X^Ft3!cyp8*-xb^q)=!_ z0u&!f5QN@4LncR=!TQhlG0@Z$y>}q%{zjj6n=R+hy9$^UGY8o#nYhU1Fs{s3W#2@M zW7hOVup&RCz$siCDr5NEd}J2y8w!Q<>5u4l$2!X_B_(*(`{BRyqE;?`W^S~Db@hqG zyXuRLsw+>1lr7f(cRlnR-^djESrgB!3_-=+_iVmRk)^Iz4jsLTkZtLAh@DFmBnT6f z8Z5$Z>W835tCtRaiKV9^k61oLB2Zs&&f=1&BkJsIqI2Zx$%;8$)I=?qn_!U!=eoyZ z$2EUi?IHt%x!&yjNq;S^x^H2_l+9Q!y#eI4DCybgstd;-&V!&{?dBb zeU*Tp*b!`8T87Kt`9fn=7%YhOqHCxK^Jn5=>LT4B2qwmePEK@(Ml!h{Qh-hcO{jHf z6A`Z*Pa2!I5XX?CxLG-W=5sMwSlF-?9S3_br+5Zurg#%Ox;Nss>=Ed(d@1>AwoGG3rZ2hVKWJi$S|NTC__-Wn7n-k_(FZyATe?VbI^)@Z^ zULgMO`q^Ka1ZuwCY(Udz!QSz~3m-ne&WM$ju&Q_NsD;Pkv(b>Kx?K zPSTjYb8zCd2Em}^O2#LDtH3#7B5L(4=6a^Nb2C~*xGS;7JSS@+xiRHDRO{}%BY zeGbBd4Uw3qmqdG~SXs(-x>JdD%RtSJ#ovBl^z}sI+E33v8EKxKc$e6t-xqs zKf<(~^oQZ^{I~yJ!TO7okXd8epyY!kGw!qzb8t*4YzZreINO5%_LJ^)olSjpbF8yZ z6+^=gi|S_?RU>9J{ktAKd2Y$j^kB%YHzC4J-R!1C^U!FMAv^S86CCYP0e44x#?}+Hc8}(Y%)3w`5C!7n)5!LRVRX8;5T1MY3_~uC01+|X zv91{bLmy6)F$Q8ngWDg2MKp1$&Q*8@MpRQ zhJ;J;nZl^5q!2rG&>LDZ@c6H%102jXCH8Z z=rL3unkG1RGZdodxI)wF5>VeV1w!&Un!ofAUAN!}eeWzxMIB?6Q2evg^k&3uj0$dK>zHc{!VjP%{4Sz7d(Z zq0n)7j&=9__i^1#t^3b=9&p7S^hq_S+_eL9es3@PR>Cg+n}Baz z#kd{MuHpDGJE+&G9L8Ndp9qU*fzqiIu;Kd<(+0LdSkV}AsPTUPK{_O`J`*Ki56~ z0xEbo?(tB#}Gtbd2 z8>eAS!F=w2^8ad{!YMu59jzDSm{zVTm|UH*^-JcUn?R_gQk{?`*?Q5 zG~RT{mf^_$9Qt-!BxrnXqN}qq(a=y5{she;&y&YOQ2JcFILPz7oW;1{^eJS@ zOMV@vcyq6w*ORv)hcNAYN0rZxOt|&qK2d}gH2$dwJ4Zx-r=~1pWxI$wH=+<+aS%b~|9nmW(lCzv7km9wGVUnp3JkET^ z26Z3A+3iXgqQ-L&bsFh}d6TQ2cBJFXonK*o*#}TtkcGYtKJaQs23VLrqK>PdQ-?KH zaA3=G-mT(Gl?^(%5d#ZWL#xy0NUPp&F(g-US=HTHyHoI7aH= zZO%B~joX_0lqmd);N+zi;DV2@;nlD!o$xap&t|lcjmw_m=U`LD>Oc}YZK=UtK2xu) zW=procU2ww_<-b_X%n@jw)CU6wdLPtA#UFrOWq-4NOp&9!!G@of_=00|H`lH;rDMaLY9L#fhN@U{K5&tbVc(XJTE9OPA%F!xt(X*fY zl(ZqfzedoyzG2JDg%dzyi4q(NzGNwNVVK>zu#!sHo*+V*YOuwv2@HA_8Af9_h@Af+ z$UkI(@@iAqjkoJy^^)fxyw4drRM(PPhl?y9vLgSpKeW!mT)M!?n!7sfT6Cdawf_md zlgnoOyB@L&`EkCacKRoLvtXHHBL7X+Fta{|jp-V|6wu_B_myFaq7N>^TYv`Bmj=Sw@kkGLRifXY%e1@27-z2!ppJo7@MYpdSa`pJ z$iJRV8vJa)V|@Ya3@w6jC+F%Vi4R!gpz!IkBTz{@*nGzfJSb{w_T*7upD1dRyC@%S$ z4Eg;_gSq*}iJ5X#iaA`d5gtW#;0-W9x3*C*YJ&i^dbFrSFM#-z{R8kc%!k?9{lLR-uk5@004 znC3e(7Uyoky~{s|WuG5DlGVd86@}2x$}%GcUxLxmr>qmtI`P{;|KnF!6lra-n(S!( zZq^K+lgnpRe>uykz0dzQf3;-G0IVrbXXl!{WQ%h}FrurIR!+zx!L}027C&+3yr~jc ztlf^H@PbHr&g7Zgf%N?RQ~aFy58CT4%(btv=hSE>7N#8~nr|P{knt60C*Fyd`22(Y zG6^sZtmWsVzrqnyQ5?YuaWykU&@ARLdA+<(aDMe+IzPjn_QYCnJOS zyZrt?u(Wy(S?sjV!ux|&^0o4y>VCyrIdHm@x6D2(!VzU%6+e;TCQv>Pyq7 zx7IVUVZm{Of9{_X$U!i@(9gDIrCZkc4iVoI1`u&05u6Sjg7V7aMCNfcP6~d4i>ovc z(t61ho^j)M?zr3Mtzd%uGPtFE0gdav(_1dV zop;`hqHre4q+3WWuBv8tg==Z{?GZ6=Ndo% zgRYbH*(Ar+-=~>XpV2A_c`-)+pY`xccMGGT(o8hWzmxagKJZ!ai^SU{5XX|yINxwA zdFB@fOZ>mlhB;B3>WZ=8x_T8Fyy~Tg{%*o0mO2$X{AbnRUVV5>w*PZj2uqP2;6-smKVvN!HZ4wajRB`D@05vU;Zi@ zgZHc<`nzBU{*?&F({T+%T%r#&O%O(rwGhNRwr2aBx$3{p9j=sQK-J+qdR2*M%{_Q5 zxTJ6b_Ra5s!tPiY68Z^-@tc_XFI(U!Z6KFjjA;Dkb6CGzo+hFKQ?$W@iGMf@do(^1 zL)rBI>J^{v{~g;z9j)gNYcO9LXH>5p3h6vI{onQQd0adr9pBDA|7na($?jCyZkI($ zz8JMCazuB*YOL{}3ALLp!>gs1T$#!>kiHUty;+f@?29*)E7%abQJYyGv4=Rc*^oQ0 zv;^ml%7n!2W)_7vqSqZ^N>AdSvxw{%pQj7cn_wQBD{UT&thFu z#nSoVcs!|qJLfi)Q#)9TeTNOPW?>lN9!kOX$mbZf?Gl===!2Sy+qBXv9j!O9D8I!4 zW9|;%A>|m{<~bi?#CSGAs5}$0cQogoEDwxc3WR3Hu?im?Ef*Gu;k*D%uH>USe%;^= z7jj3#;8|Bjf}b5L2p3@Z!?yz2>dylIW?9&kYR7wk5>asCA(?&E2%XR9;+E&zKx>6J zo#zn-5t&hN#D5D3n%;4BLlCoVGbt?;2mPIv5b5Mb zECR()_8Q;c?Yc)M>aPZ|OVdH@(Ksf1AcPsY?-6M7{oy0^rsU7sY|K8#VcAqy5I2~_ zERWS^&Mv(OYub$dt5>{E)Dls+w!k{{Lk&sEHmr8hSUUfN!oTOm`f`3&xa^IE*C!2n zbfT$+NxLU}`O^fl8sbd5cNTkh(o_6Vl#CbhUeo20EZkJ(sF=?xoVM~g4KRJTNzzmfq(r9$ zY;NS^!;?m|uk9&eMcq+!X&PJR%I`_Z=Dhor198n%vg2hfSxdxlyl@qcDU$=Y-Gwm2 zJqq6Dm6D+Q<8fAMC{7X=huYpeth_f00~SAGua+?ou6z(Y%a=ke&vyB|rvRtUM_iG1 zUr;x45qNlw$IG+t3&t3oMzi_r*9q93I{Yu^C5Z*hR zL8~h^2qqT=!9~}<5O7bFxt*5|gFb!qY|KrR9@UAb+{AcqU>iGF9YN>r5JlC|3UoxG z5J{PqM(j1cS&v!HB(!Hc6s3xggA>Ftl~u*!Mj;}+UIuSgD5HVtJB%uo<9KN>E+4if z-yTUr?Y#~nw=soo4Vc7a`3R(Q@DHg4|MLNu{;<4+#D8Ji=Rm)xn;SvKdX%HAVS_9-z zB+sDerKc_vd~%CF2U~>cJgi~APy9;0WEH{1Riey=oNF-k70-8#@1XXVAJCQawpm^u zGm`m{t3ras_QH(#k<4O#p2^Uq1ungbByIb}@lawqowBTq%{Z$oh?8!HFL}SoIXDl8 zCuuUxwLH4Hc!vE@5UOt0LD*ChUrYFK%+%SurX~n=IyiQlHXOp zPqSzYHXNer5esq23Ul0iR06k!4hzE4-;!q64hYZ9fX@T9u=1}XK3>sGeM<@KT^xnd zR$*LJ&~{FBr!)saAMuElCT6QnqtCqCN#4T6+&rZ|!Jyq}=F!VLteE05j;k2Ot;z4l ziCb-`*JKeiF$}=6!?HLl<_u>S=8B~rVa$%QU+`hWBOnG5*ri*KL0*M8LhK~z-n@$b z87ilTJPL@4w*wk!UV+r`F52c_idy6?as2fH-v5XI;kk#YM_wuwKC_uF>U#-qUq+$k zv%_fg;SZgisR6!ONnr4eKmUq1!0c7=Xr#;W4&tkVgKc48_NEv&+-jrIzY#>vR0%; zZH<@os}IyIIe#bM-~FL5Y9*zSWq! zp};!_V`P{>>4`8|e?LS@jAJGxY-X+-1Tj|Z3t0Yi4KNuU;OOX23OjGHic+e~?8y`G zp<*2V^{7Io?EsE0en-Ic264-|hrju=-}To)`cCK*8Q93Pj5=#D^(3FinLUPk>z2qB ziHUF$mnTD+=joRn6x^Hc*Yozbqlgc zsl^RE=#Yf&W3GYU6b0DPtt|*#|CNL$u;k17bP(rrbWOfHagszc+vdLoz9yBRbgepe zzh6Ro+$Bhz`8v=$egqbKh7seD!@O%C5GBuEB5`?n@IKiLV{QG}2d#~k1IIKV$_GL6 zlLxf!O{eEb97a6;D!9C)4)*=+BXpK8+Ro@Buge1A$Ce%7x~Pxs-r1o?x-A9A>OwVe?Tb{Pp!VW?rx*E_Q>^w@aN74^9V1CIR*SM(@)Syk;V`g=tfmkwg z`QQD-3f_X_)iH2#RxA`8+fE#>ZKp;BPXv_}i6m|1a;O+QjKbn+$R(KK&+WaiCTxJX zn0z2pJG5xg$GJ3ZObhXQW67Q^&!K+Tdr@`F7;ekYvDEkIO#XM60Mk83g6;z^Y(EhP z`s_l268e09m=ib|H{n)|W>lTA2vmZOQZ{lvw#E;kr{O2MvvvyOXLJS5`Q3oCOANVZ z`wnq^qkAw)MFi$r>+)|}BlMMhfNfz>Xt8kxbljK1^$K!TzaLp}4?TUjG1MBG> z=cVLIZ4QjdZm#;FEY8(Lxs#3Zsi52Xg--u0k7iY8=@qe~@KCA(tWE^Nwzs07pHYVE z5;}0!kLzIXq{Q5L!q0|1msZn?b_-5rjQcUz5^1%~`QjC?NF~Ui1EbKmVIIOrDXt`T5|>%-!F{sxrWM=8n9LpR@IlRrOx>BwP3QU7 zr;44Z(g8Kpk+mWpeyyN)x6NXGL@&UOQHeay|11{vrLy~{zrrh~v293NI^qIx^|DZ>e+VVVVO7$X+weJgI{cj$Mt|>$ z!SKyL*dwhMNa(iiP?$xqN)zVK8f=^0Ux+Gv4a(4Z)d9)KM;%=(t=ZKf?@x) zSmLx>9V_;xV!)dYvg?5kqn_3ZS^Rn&vFsSJo%4}&A6o|-wUT&0S{l2>nD5bzG{D@p zG?42a#q60nmXUTFgo|brh=vZhd8DOcwYz$8bH~5?L))Sva(B^j`Yg$wEPk*`ki0U6-EcubU%YrpVr1gM zBK!~-yh$JdXBf`5m%u?A1@dRzQ7Y9m9X-a4!uZ7ud%2^TEMk9NRUKU z%op(g16}H?LCN2>HuS`AGs}ZVOfa-B9y^`S!>@_8kZ$+|HLfZ!9!|r8g)a`1XJ0(g z>3tnf_ z=&j2A$e_rRjkL>V9|%8A0Oz4)pnbyv&K)p-g7pC~SJ4<2J2=xjtN9v#SRTzNcnHF) z{?~VzY8_$Quy3yQx96`XKXjg49dotkTmSNZ`y*A)9P&#+S-&7;!dLG)XxGW57@5M0YhfH|v_8K~Jonr$a?4@R~_ zin1AOy)hGXV$Va#jv|oFEUwCG$>g+F=5ShHHHoAJ!iKqLaLwK$FmhwK<@*^AP+&cd zJH0`I`DmNM)cK~ce=`qp_LeT(2K8`!baOqXzkbes(s5-?ie)(8-P<_JmD*g2Dhu+b z)tT4^-eG*;7%td6iaUBKAG0nTfoo4)*hhNH=qeK}yc{$MDgTajmH$cCKhwe4^|Nt9 z*aI4FQT#`MoOsh(gPzeFwg-}6GUdJ(sMnGh#q zolKK>4uZ1$RWj&ROGH*4gB8&enZ#rj=DyKWa`QzD*SWKbdfU5#@97j6kua5anAk!2 z=MtE->=H~c8h}7GC8o-I8`Nzu#suj;Sbb$Gc;^OH-B~h&xW+2bvUI3DUw!CB%`I4)3ut&M1H2=t&Sbt{~iUCs0R`E36% zLXc$`p4#3FZ{Dt@YnrBFWpgT?KUhT*2I>eo`G(Mulfix|&pW&Gn7pcOqY8_}nN!dB zI+kT4scwv*xgSTtnh8y?`qf2PSD;PIx0<18;b=Ur{hs)ZDkW>A)L^OPL--!n!n=IB z;p5$5aLGCi6SqnV94)g+gTh;Q)zI``J#*{<&r5m+^Q{GYcO<=fV^Y2OwTf5w%YXNW zZG106c9%1{yQzT2_%r0{W+C|e%mU)RcEW?B&wvRz0VCGl1p5GnV{To5jOFoQ+Se`^ zy=5(q)*6p%qfX=dpVcU|aT^_XvrJI7tVS@U_Y0`BD8bv*LpWW$AIJ9_;@v+yv&Pqk zoUc~5QVij)i}rg8njwy$~^Tx4R&@FSm7Vb6*$MC z@~uaLbjcSuHzAact-OJ3a|xGlWF;5=(1+0(9mLcq?IKoBWbyo(^K?x42GrXTMm>`C z$=h9N#Iz%uo?PXCKNf_OuRkZFUy?3&?oudDG!X{EXYf5c2L- zAjw~qO7>MsGg(ujVN==+fRU%jXHS2y@~nj@rK4b7xRU-Ztitw%5oB^#1eA-KV~*x{ z%c}PMQ08$N+JB!1`%zW!!f84r^Z6|aX?>9VVZsRM^!?XQZ^%vmaqHz=YmfJVr~R6z zR_{AipYmnlzx%_cc0z8s9AJNcze5~;-6dCp!>H_zUO`2x9jIKkhP#ICr0|3_jL!7q zvMhNY!xb^8PSq!?x9d_##csijrDtIDN)7@}2{9*}Wf;9DXZS46PbhkM6PBg5kjB*I zgw@W+ z`TXKf)Tp=OY*35)%;z7=${vy55fa?0^-f%xnH%>u&=vasNHhA|WSGDF?AE4%5r`2@ z_#yup%2%1-T&5LyLpS=5dykEhbr%3=ZS`AmaH-Ox}1Hnoq}(Pl9%Kmq95m zpJaj)PF^8E*MLQBFqm%45xji58CT|h#QpBOp}^uGeZTxFi4xppn{XjH6DNSN>gPey z=R6c2JV<^-FTu0N_rQ{Z+pvA@X!dN=LozjeAz7#&02QNmLYdPfSYLUXijAnouBV4F z(5wK)HFUsw;Ok~S1t6*t0_HXos6waHT$yUq|UrOtveIWNgm%dIe~))Lyw=b+ZdaN?Py>^8e%=*g*3Ln4_hb|}sRIOB%!0kX!6Zj+Kc3pQkjvWY#!-zT z^wT(tGIuA#aMv@s#$yx{_I(HJ3%vnZwW7>~4M=yVE#vNG`D5JyFK&ab3)eYgh)lIC z!&hq`K&gO*2hW`0l`8M@ym|>-kB8wU{V>R#tp$_$0VmE6JHl7~m|4P{Ou< zq?de?;k%(DlWfU507`j2RKP*JKQRGIe?13Vo155mWfmSblfh>NKGgMql3@ELA*R%i z#kGazT((bc)#4RFFytx9ta-;(rKTLR@C_S9Hdqu1G8S*A4jWs+{W71;xa^8|b!DNz zHW*e$`9r(^XxI{Qlr|RTk&7V(q-*IyI$72a()sM~NXL2PzC#loHpnH8wlV0nr4Bw# z)kkm5C3Ne@<7m`XggVjLn6)@GMnqVFd%Gu@;adOYyIdY1x@X=S(ASzpljEtDud zt=jzFR)+~+|6LDbSRbrdgW+|C8<=f4209)0$aT*wdOrHL<;qv9aqpZy!RN%0 zDE%%Nul{|*<|^o5blps}nivU7;tC=0{UT8M>Ic4&wrpULDlzWrX0Jz2#4^z~YOpwv z7ONi?d<%$z=F9hCQEWcB9ItfBG^PQ!meQ)W zN*b!5;%{5dd=*RO%mT40+#D`Ty#<-d zRN^6(2Q5{SOnH>M$oz7&L8ql2TQ0)89-kei&HWNM z82bQ1A3lS==9}0roQZ!5WVn6VQ*hR%k0j~HL`;~ThaI{hMA%T8R!e?>XPv@K*^)_| z_V^00J!#LC@2=pux-_oDHUmB9jO03YdSRqREc@Y46_{)q!^pgS0t+`sGtZRl@pz~M z_iT?i7ozJ7_iJRi&3x_Pk&`i=QqzZrs{t0?%7Hg>#Za^CE4u2R!X?g!Or$*dMR@xl6*sY z-$ov`6-V;-g@vSN+8f&Ww29A0t$>~18^9sDowz6rTDqzAlB*FaIGo))%ce7k&olfW zVlt12xY-rBSmF*N7V5wbs~m7EFt_}1XAaH@mEpJ?6RsdM4q>J+tUUGv{C*oT;z1Lc z?ECBgyMHPV=gl0Y=4c)BNL_GEWP0_8lGCp2gn#cFGY=?oLf#(*m#@r(!GY#`YHtv~>MM{Q7hjOkZ|{T9p-}?ff@X zGjjsJhSaII|8;n79Yzx~D`@e+IZJb1$SaNC$s~nG7!x-S8|)I`L-Gg^yD$eO2UHpF zzBfdd_tLC2Zy}|RIB;K|gmc`Cxt2zCu<{v8Sk=?$wd*q8IChLQ|9(lTtlEi&W*%&O zuEfMgsB#i(ejpc@4Bxafxt_1N+A-a!;} zzn%bd?LN5YbCOh=3gPgh_4K-!CUTA$aDM1HSUN?){)$;}&iE;dj(bTe4TE%xLU=Jd zlAU12yQ?MnnZ?Mb|K<0F;^^Y(g$~v|>PjEv9vW0<&l+o^x9;Elp)BPp{?w>vw;9^P zq0bLsYp?|)KkFp~x*Az7a@dPI$0y+UKNo05i5<5|_%0e(6I^1w3f)(1BUWc@;e(V2 zp5=I+>i_49J!1|FlDTxzj7FW*!?a4BjBA-DV z%D?00FM6Eq--q}trxBEvWaGER0=CA=7?(mQ80}MHMxXbj<%_n%bfYi0swoMz)8|55 z@K-pekwcecofAB;^uvbfDHW3v%$fXn2QoKM3fJujLH`%?*{^cz;K{sth@2=4$6t$q zX>AHMQ}D+^i8HWJbsVEpCIyZ066CBer7tFbqD`00+41W>!n@lVFtbGnH;?MYh)Eyu zs&)}v0&V7icpU^O@-w^@nLOV${=fS}%b}pTPRH!6OP4&l{!YQ5+EKeEZiUsq>tRu7 z8is|(!1KcMki6y!%yLzMWfOi8%iG@sO1%t4vrp*X;D++m-Pp!6g{(WYu}(w`3!gY( z?D!QG4l)l&6P*Z|Gwx9-!#g}@KN68y;)IUPEO5yt` zxIf}M+1Pj7dNBo$_V^2r5dF>L*UQk zeDv=rgs|_PMCwU6L=4^ocrQWIJ-(Ba8a3*9EQu@Hc%O^(lcaf?RN7E3r5l}W>X^uqdmYQQd3V-Bvf zgH4Ka&~?%Ru=}(Y5+#3<;jngMId&1yb7JV)Q2_6C!Xfy{Ff8%?NcD8OC|^kzl;2*7 zcb1&M&5Mhvqffr2vIXx{JbweyUJa9b6Ksgy?J57gPrra(@7S{r)^Pck<-j}B>TAUt zT*2z!^J4aF3GTw!DRAIkHjG)nA4Y8VfP(%h@ZI`4YkE`^3t0=4_$$s`;mo<~c2&5& zwUV`n-b?Bpx})JAEA$fe$L3~d^f62!5;N)`#g~!^%LVXi*LB+XZ3m2hrUviXpX|(U zOL6{>4|wVG5WOfB5} zHE?z;gy@C5=lZ7sR82F2*1v0EtVa#V3R7TqN5XwiMYeF#YE=5kyBRA_!GQ*MERvnV zT(-N&JDev$xLqoA$G5|SrbLJvF#&$^b7vW!tU*003K~R@V5yw#xeJRltZU3gwPo$c zS|^w;`ExNw*t#R~_s-#Q|M&ZJOQOk>o|ZY*x1UPB+P~MZ`h839qOVE+?kC#Gldx$+ zD<~9wgo2|wFrcOgPK6=p!t?y%Mhfss{3ZIiR*1ZFy9gaghtMu#B}mB0;q0lri%>S7 z?(q1^)}N~*x0tgy^@A@?8j(g9^7FeB&u>Bz%LvkRHdb)Fx6;xvattNHh_|CC-L)o;UUqK4ow0N16OsW+hn4W~wL#eN_9OgxcZb}bB?*?B z=Ap`vB-ni69i7G3Iq$qR+-P#2#A}Lh&NbF3nKuO5`4!N(GzZEK)YB^pMR0AV8sj#q zn|mU?jnf#BgY(*_v3c=tNs5UObe)(-djFQdwMTyVbj&ZP?>`A{5#HSPomseEqr6J~ zfHC;wzJr8k4zy^!79RZF411QkQA&o2LM1~&AtGc} z@qK)McsGP`$mhB=y7;Ik zO435i%TuR66`XN#%_5YP1+q4{h^#DCg=(IAmJypLXkWS;!q)78PgdVq?PL>}^J6wv zc$T2a=9~2R;9l~lSrzmr9zcZ#Wprvd0D5jC=|=lXOy0Q=nm-o9ea9&DTkx8E*zg!u zn%fZd-fp}(B*s-rjOAL7Oay-!1GJ8mVt-F+ht}`DD6~We^x8BTZY=*ES}%pOZHCC} z=Q-T)IWO)qlZl&xQqiqCni%umlA*P~$jf>m#!7M({Mg1Yh6+2NRy%>sTFojEUwVv86PRQEt|#U%t^jV&NMqb^aI-1kr} zl0&i{?ZYu&iUj?0_QQz=ewR3W2iD&nK}wH|Kx3C9xTL~?yWlj8Q?$;*80}_QeBF^L z>~ms1xfw9ID_6k&^4S0CA@1zbi}T&=tfWO3Pt&+zR^#kB6fPq1@BMP9F$4!+^PJ1o ztzbA*1fE~LV5S(f(d>Vx~3!a%4?y14~9-Rd%hbmCazl4k!KLYQaaYXwLLPJJA zq?%iKMnGgNsH!VqUyyL7(h;^B+^~Jjr7;)+jwi%2>fl^CODn$ zhXyWZX>{B?viY1Ih9&NSZ8wE^ee+R#b+QJ-bxZ~8BfFs1H5KMRG6q?%?U3Z!1XCMi zF+j8&bY~^8QML`3Q6GyH_IJs~p=nfBt{XMe4$)SL-8AjqBao?kN5bA|GQkIW>FX^| zQAc$qgoL_b|GGGCuy-G~wJ8;C`dGU3VloKqR>4iG$Xt4!MJLBeu^u|=Ov3G9`enme zE_Q+;=eqq0{`z7;$DORRd{|#iZ0~6^I$nl!x`Z9xMJdKRAzR?rW6t5~HT0m;v#Ruc zbx<;4iD2HAM(X-gjrkiJ2Xg0Yac6`(>Iqw;W7u-jvmFG7J5RxgvU=F_cs%oH z%|5VP7!1DGV+GA7U#OdwGRnp-gVj4!|LZrtf0L@ZztG0&Zpw8@;9BV%E4$W-5e#!=+}|1!#ZA9R?}QRq9ug08 zKTr~Opn!HYnuGO%2#B}O!*AizoLPP;9`@KuTw@l4x#C#ZvdxmjYV4wCt*28Z^Y`$D zdjx61ycc+4H`&87*n35Rq`%I9b#Z~HFzGM4MjPS`b6+&;A105M^Pa+z8eF=Lh3ju8 z!Tc{PpeRO$iHdf_Hy`b|B?=)lns2M!I!(C0&!TYp&-Md^CH8b{1!2PyYuvq?&=JO90I3Twuv5f4F5(NnFPckO`3`*yH*WXUz$LW5GG> zjL{!p_pD1O_Vc91%=U1GTL@xnFe_c^*(m zj-N^+4<2uWdb4kAe8FF~^663R*>Qjyf4Y}ioRwzG($n~?jwrTp>l>=^!IVszJdIkN zizI<7jQA|P6Da#23U`@ZhK@=lM#%p?-Q@R!x(O)VQlm`!_FNL|^?5{ZOz$9myHcS2 zUKN0B6qG6I!jYG8WX+gA#PEv`3E6y?eim0H`)20ijg}B@&)pteU64Qm;!W_0Qw)4> zGy&}i(u_&-exmYI6VG^#h9}`gf{5-CPHsd3SEhd-kIs<5)~*CtxHOJ#H2ntm4*S4~ z3O-Bd#yOa*R1FKwO}R#H07EY?q${3170lb?4Si!u(8c&VY)#k!vuBIK3vqv*-F=rX z92B6j#%P%6@DMf$en9`DYv53P312NKfwnE%V9D7)sOZ^Eqs9wywngfk)r&GR=S>S( z2um@VyuZ0FVLyhQn;?jNP)MAO??9ut6(sucoT8$AFa>!JV*hrM>TC{k295u_FUn1& ze!E){CAX0>DXgS37&a5tBN&CfVKbIw!Hk|{+dG|Q45 z@)j_Ad=_cmlY^(11!1e0Elq@d?Btt?bVltFnoTtLx!y~9cDDoSEs;m3q^*!2QH&9v z=HYm4GYFXTLGZyLfz%(h)dOnwB_HFehV{+vfXpe>nrCgY!{(*Q3WVoAw`5f9h;m^^A_}x#KOVzZ34;AXT zPon|~=a&hVzZ7GGPX|D2eZ?YX#PHb zc>i0M&YaSNFZh|CK=CSEPk0VE#g5z-?IXjw{5!)jg{;oJN!KMAfkX3e^4;JjItli} zl$FYi{T`nCah3NlRnEglvXQKVu?ud#^#|$xa&}zGD8`G=wzNr%az8nzuN>$i>0xxw+9>djpiH_ z?+F%Eq{8jesnW_U6le++Pt=`uNU=I z6mj98n?TYfo&MyPZZ)-M=vmEgtn$5VICgI}^NzJ)CO3u>$=W>ho}hxS!V95uXP}^E zZUP#3NOJb#Ipp-4!(jZR8_HAs!8;)u1FfS3oi|Uj_Tie$;MLW?C`smhP!?0(V9ZKqE=l1SbV*zB@6l30WaN0bbe``K?UTsKN!Ot^ zdn~+s_>exC7KG_1o?*g`E6{9`M_^(Ju|M>LL_eBGr1zY{;cO>TwMLEkBwi2l)4sxh zd^^}E>oBuEePEq<@Ab%UXRyfAEF|fWhSgR{t4#-G6|Iy^tqv{87PZ>hJR#!p!vEWU zD$sVGsu^l)_1i(Y%U8jyrt;R$;Kz^uaHi94^f)j98=r`B zgBoMGV=n9YY?Vf;Is6`u%$ttK&>7S09MIcf2`W8J#T627s(ck)k?rh2&yPsB%%8C6 z>uToKwerjBkBt>beljL1*NV__*$uq$_#t~UPK14SAQ-0woWv#b>)`d)C$M{h1gi7w zgzS&}eqo#_?wBmjs7Q=rZjIOrPcO}an&7b*Emj2e7Pp9f>l`@oDGN97T-@dm11wLT z%H*iZF@b-yAjUCOaB5r%=@|VJmY;h^(>*4DR=p&bKXxhi#B?k-biW*#p6}Fnzb}p( z6wrcLo+B+Zff1ZB!OQ15p>E$W&E1hjK9BR{qL0OM?;KNDx zmQlMnO{QplJSv8bhV^p{xX5A`F0+ScOFw!*-Scu_pX)*B{Qikp#pqJI%h{mJ-_1Kt zNU&^%Csw_=i>oiasua;xqtlcIp||u36rvG?q7N&Z-T`wmH_}B}FYwg&Stu6Zhf=TS zLBp~H%g6N>!12fcJkXmC2^ZTe6Hovam%Bhy;{Yvu!k>pW+RU3n3FKVmPx?n&665*% z!QAZ|$z~?g|M^c(-yM!`;cTtS)J3||g!z7>Xj0RMU;oy_nUQzMR%K)8?D|A#Yb=?% z^aYhymBE3TyTDh&4~HgCU~N@LGGDEB;VP$08XEkYU9(;ebGv`gXIaOv)M6Dn#Th`& zshRj?R27=)uZH`44!w+GC@UpgMjDr=5iPwqs5rC%O5cwnJ#ogcWp6%}ef0_-Tc5`J z7HUMQd?D*0H;*jKcfx=xNqA$q1M8!HoE{cF4bPVHxu1K^lAQ4AXc7C1O?v67zZcFXC?Dj@!2n0khW|uTPX`kOWPihoQ%>ANVj`4z#ELlST@w=E2GE z<bO+YMiNC)jam=SFG}GAzM{LwU z9TitRvib+MUf#?pACANpp51IZ!;IOfR3PXpG-1bRhLUU;4Y5u>)O7ACR7$bp^w-O9 z%fByzUEVVZYcqnmqDRnq@H{@<{fVs{I%9d_{7upVsl10<42#}-0$C!%F zwm(T7pT(fen{9%RJD2hI(pCB}sT-cX5@RAqJb{}&r`XVC@-R<$938iH9SBDRp=ebL ziS%l~MI)DT@5l_!R>212KMzp9$3nQr+7FB;kA{c8-$GyBHq2C&W-87);j+>yZh>P0 z_e5BUTYaUObWBJD&v9kY$UY?jnF)LjaUr_QGUeF;he74QXH42qjotblc>mgH z%X|DGwP+z7Zrli8FWsS2ozH<+{4T-5_;CDC{e+5GJ^)3>JR(Mw8K?h$x3)onRotQh zH9Jp&-}fr5kV5jS8q@wv=XQs2?O z$P?hOu?ZrdtCEkSUr_B3mQIZdBN078|D6x(ca^PP;An4kJ$kt8@ivp1$FaZO`8NDp z4^n~yAlLH@vSLp_8?lDz3K|gnYB9d5{e}a~~P8u_b!2yTwcY|w^um*SQYL})i1P^*ukBSFM{L2e_^6>78$*viDW8Qf_&>p zm~mH{8J#Z;p6Mad)h!STi-h3r_wcK#3rtIRort;xsTHwhEZ-Y}Ynd4L-uV%F1e$S4 z4FnRVeW8bnHj&OS7uwQ#0_7L+JzNd1q52#K?1y#u=kvX)$c(F1hX;+};5jiUvAYJ{ z&Ws7x2@&HXQL%20c2x!04zEoO7?i2MRJ=#`|7u&zgw*>YCBYE`j;7=c!q> zIO?<}5Z9U4Kq&1zjC2*jm+l+6RrD_E^M2y7a}lqbH_;TQZRBv@DCko#gc)<%p?9+i zlsyKK9TB zaV{JT=x6uISah+SL?p$a-LX!=<`hMkcc%vCjWR=DmtgSD>_*q#Og#Hagnl({BdrTI z!>#C12(x-Jre zP`A%}F?N?Z4A+SF=ffD|r{sdqNOBdln2IyEx}&54&#!u23pt}4v1!aR zJSce?1shqi#O@S+J>v*<7!S*IyrHAr8-Hc+JIudva7=F%db=ypRmlu@@s|WzI6Gj1 zw-(4~w83v_S?1jf8G+Oeo{gP9Y#C|uhss~71An_2oQP}@S1%FH-Ml}Jn`Ewm1*K16 z#W4!@zboO)C{Hq}wg`^qn!*AxC2os^Cina2LeABE06kBd@mxlESR7CUi;`U6-J)^O zV6&BRnAisze?+-uO~DvZxB)^(e1>~syf$I?A-d+yfS^;`5bt%&fWej}Fe_maYR@0X zwR`@go{h0k^45eo<8_tPzeytg@58J7W}L>mF_Cb&B87}UITvRvc*k>5g25!96fUkD zgx7&Z?Cs?QN0C?9IAY=_w3h8* zOW+7mY<>Yrj68EyIvjU}-XpFw1#YL53I^3!m~(C--5D#znMWvKL8c_8S7aj7oQ{3t zc+YEaFO6vYMwVv&A_dp)!2|!BWZ4u^Zr#{dG;Hk!q;;7b33TNoxESIFfnfGd7y9D- zK#JFQj5xL$V&eCrnB;CE{VW83Yx!`~c&2E@S|1WE-vC03a>$}j$BE6%RIsYv2=nLU z6A?R67`JpBdR$q6Vvonu&J(=8$hiZ&WF$cdCRZAJNqPPwW5nFDJ?iGs_0GVOoGAW?og}bysz`{nI3_f;w;}y1zk#tS3CTHWP!{NSk@>_l)_ocL)o2y@lK3W}Qhh`8lj&r8pnhuaBLu)OP zr{`JZESm!n5sxf4S(K5JoIdw>t0Yq`-T>D|QgVOvX`*}fB;43siQ>XD(ZTU7QJk^{ zkALnVb2p1H%kGS2%6N_I-x*S*C;K-sM+$901PxbJ(~gUIJwK#-^kg2C)}8Oe)ik(~Hu;9L{5cWC3?I zAc<@IGK~{oCd%E8PXXJF6PYK6_CnSADt~$An=e^CGt~!P$DE1+=Ca< zj{QccIMN6n&d_57i*Amv+E2pYa=O|7WON6_@=J37M0#422Sq4f) za8E;$Nm$cHMS%wb zD9-iWjh)MD$p7XQpHF{WOyg{=&Mheoe%fzX)AnQT#WAb@oqsA+m@{pvJfqs^1Z&X9 z@22q#Hf=aANVETgQ3Ih|@F82yWNtnL?HD?o70YguFQG%B>dgD^Cd{)}rci&v6<)Y(flJK} zFgh&|0|k++gwq~;HQSx5Nh?7$0vL642l9^{BHO9h~PTi%s^R524$}E-nY*wSPva!-*_P_qJvglAa zn2-)Cx*l-Ph3A)x)2tb*<@K(3J;nx|{#?Kq z`z>sRLo#+*Oy#-mGa2`M9l=1h5v)JVb9v-K@XJ(rocyeVZk(%y>DnxO-R=y#myc%7 z6sa-~&fOpdpCh5gu#1LC%OF>pOsW*Tv3a~SmubYJo4}D9JmH1$oGq3AQUGaneUN#u zmfp*KOQIU=!7y#8YOJR(R~;A5Sv7sYBi5<-dWjV#-M>I=o<)M^yyJpqszOf%4MLyC zHSl+L;8@WkT!-IVdgEpuwQL&!uU%`|-C0LT$3UK8={f-36(5!o2;t z3sy;Ng0OgZ;&9OmCJlvP^e02C72b&x44h$kWf-3aw4KkFkYv>N=JWaU!tmhcDDr*X z7bxEpOg}4!p}$!yy2WWyD(w`dwA2u8QcRp-6^`kYMf1jo(cOFU9)va0AGu@$j z^1tVU!{#**dN>NKq70cCs_}vm#AAYgpU)*A)TAg6s?T6&HOfB!NlHnx& zjG)ub7eMBY94LPv3~wq`X_~n*oz}GkWe=|aw=I()BmTkFFQI;1%h&O&+HZXvKQ$GV zrS6h4zacVT2L-d$4w8BYR;ID`G?bdPWN_bnO89fC?&c zav!qtv$!Qw-xFa;6E@sA0`e~{A-|WuryCvSk(&1mAuV5t$%asY?;0hvf0c?F^4poJ zPfcY0v&ASsbdEmTL}+?XFnx9^o=iL_26unmB5$TYpoaRMtjvl~KEo^dBpUG6N##|E? zJoaW{go@$(4pU6>R;K~sOL59^WBUI7K62B)1FCi3!jfo~b?gZfjD7co{89Equ{-^A zTJ}gh?<>a@wnyO!es>Y)?+2Uso~ve#6mv>>H&{MV!WS}fsO*tXLWOz%rI#1Ryxqw~ zPf+0I2zO$62!|!0$*h!=XY^i$(2Y*&g0VrSz=~9m;G3y*QFI+ANDJZerbu#SuY$Og zuetQ)!KZLXOA*{N=fF{qbU1oY4m>6r6VFT1oYj|9viDRel*Von3@RqGH-GS1n9=>L zOr9=nEa+wXF5O^5$M9Z|jf*+IECm>Ea~z6~YBKwGIYaYHo~@g!O&6<5(Wjpp$=A?x zxa3|k`=BVC8eXg=7wodoz2y$*?#>`B4;m}m?%NVkL8t&9g3#aI{?4rjaD*5HZ)c|Mb{1ZK~f#_TyI0uO|? z;n$X6JiF#Ao#xoe${5t*U1LXBJDZY+^Ow+Y{!o)?h=-SR`r#UhRq~x`1@&GW$ zF0CM|5Bt(cVK4`z?&MvE*K83gG;{N^o`{RD8TV>}hU+*Y#&Wec$J*gvK0ha`+lfxxg0RPv*Ie zr7Q9E$?XudF^)7FmO{;nI2gz}Z>%mu5bBay)HQ;1e zvSKDYJ2@4a^)8~3{9=?HQo(cw9(A2nPaer!r=uI1$sYSC`nkG-O!Sh5({_?fl4ufa z>AXwa;x(DH(oqL8=QZRf*ce`oZ6cZJ$6+>T`(8B~4cARgZs3KHpO;YI8uCN?dcd3RWuiMKdI7PKef z>+T~sa$Ez(i)5h7h^NyoFVe8GF3Ikn!zx&%;lK(rJz=W=FWtnIU;pp@>6@W7UXe=H zR@T4mpB}I`s9Bp3|3%aA-}O(KS6sf}5N` zA|#Fctj=OTn>ax4+y*2q8eE2%9A{rPjqAM{N=%`SfP%I5bPiI6eP?7Va-(q#*@Fd@Ajt9djntT*Vo6ny8WBD zm}lv<)n67V?#gJN+sp=KNpNj0d8~KaeD*-A5qaaLz(_O)L#U!EdHha+v*7c> z?MF25S?YYY_%2`G4`u|F&gVhmZxW1I_5tKIh1j$&E71GQYz#VcpGMsu1KC!q;MmU` zxE9|H%;GDcwQCRP9Ulc%PFtx~=>&XNJefqycuq%UhpK@SpMdUI zjy40kP}NeEEfZcrs^>~``tu|?-%s!HzT+x-Js}_J-s&^%P4gHnEf0v^7erUypF!tl zHVXdNZ#4fsdv2$+jn%b#ZaY`4(5;yIs0j>^HoS|Jqe5Z zZ6WSzAB+{9!hE!zg*FcNuvUz4U*(<&?wJL{&G!b}`)O+++U6>bksiT4P~9xp`1b;l zt33pt1qr-HX%=F4HB{7xf#LZcnoO^P+|Uf}v(W%b?f1rbiAL=EI2R2gCxN}Z2n-cg zLHs=nR%e4WlN4})kOVc(XeQtLsSChF5dB-qu z{ca-T9SCI}&**sRUee>AB#^khn(!1m_Wk)2Y_shexT1HT2KAmKF?mT~W9|b{ud^{c zI$bboWdS{RCXHsz_(t}gkE8lc<1zNN1{L;KVOB6BnQN-4@Hn>~7aeaBy!x|`-gvT> zMp~Ld<0)Q8J&;U87@qCrY|1PQta46be|jV= zu=Ah`W=4=nahYtvHdAa@yN%9n6;yCUk~1hCh1WOhGCc_aIQPSPO!;+`XDMn^_3cK) z<*YJMebhoe=-V=O$}^aho8chq*Gnyx)FJ%34OSfIWtn`Q)sy}I~&Wi$Aim9SEmn>qKMI!tjr&Wfy_$t^fpMi20Ls{Z_c zKI~@J%mY>J&X2(^&K)W`gUF@bB{T+;$WueWrL_!uHYJ3N>&?Z}f6Jk~ zd>oy9pb++MTM8SGjw7|4%zr4utZwf79QnP0{# zep&&n<@7*yHU>+0^T4G6>g8GX{rpNq&35fBi&u8BW$$#r% zSCtT-L9!aMb>bkjXarN!Z+k;Kbt-^7TEXl!=D8;!rMR)B059a-hBZ%X$&bUQ(f2?-{uo<~*v02b zE^Nc2g#d;3?(#D^s7lrBW6$Q?gO|OcOy{jn#AMGrZqoB5+|%Sbsu)>=KMqajUKc#3 zZ`%AJBF7DyVzro6-Hs4!b)BEv9LK)hVH}$}o(pojXqkA-g7-c~;gybhfn1CoWG?Ih zgXLwk<#-pUte2$KZ`N_s3=MfE(ky&^H-+4f5kfH)O*s5^h*qUqlO%OV|j zn(uDTEqb?xjp)v~`qktrl}i1{zRWMB&u6N@(Fbbqv%a405%VEu^0dKwfCH7On#`)H zRbWtkz;cP=S87`^8>jSI;+K&7q*!PN2pkhYvfG5u^pao-yKI<1-5yvfdWyJp>_=&3 zT`ZXP2o(+l3XH1cAZxQMyG~dKH*}bjhAS&z@xm6W<1z*-4kn}KTM-<$;VPEQyn(VO zD(SYhHV|d=p7@#xGvU4m8T~VMjQKJ?6WFS~>cn?Zte&?1zw^O)XXx0M?RHkm69#5p z8D(6vp!`sx!GnM6;aYAf4J-cwHc=CylZLQy&QI{z@C(*(Bmo=!+1$0b7_Kc+g;Rf* z2wx``u+s~RX^C?^E~tA!gUw2b%kOE7|4%a}-hVb>Y&;nuZ*As?Yb8-wxdh199JKs% z3l+i>aD?d+D;{u6L>)J-4RfHW-Um}e8Fd4c@mkos-VKg2wdd?;KlZp zTv=^2CwO=b&w3f5h(`{so!bYdVpfd$vXz3M9p#wUz5;{ByWwzC2$ymF4Gw>izg-ngRctbCfPMP_X^o{?BQg<|{Z9p9{3aN*&-_}E#{dB&^nS^s%9GDZSs&FOe z2yXa#g8aSgLIbz{5Rm4BaCqKf5S`@!jrOB0O|$~>Vs|-2F|}}8ER(zvTSkILw~$l& zi!EMj9|1;N92y^{kSW3(-NL+KGu-ZweZ#9kR^ANEr3~qj>3=C_&`#exwZ{yNd*s9I z_f^llRtq9$D{%LBp2I+Yo>jF;p1CC_$z%kwV61En(pxj=Ed@17|D!f|j5x61QfMFgrwGa(e*1*)0p>4Sv&` z9%H!I)ADh?O#rAE6`~6N`4nb9z$>d(;eod;DCFisEe68LJo|TWM|=je|G_L!-+LS# z9S?)*+Ciep=Z)q**g^}lJ-D!hNP1H`7$@&~gU2_-fi}Oj{dN2SiTn5&a)m!vwQKj0 zWGICc&+{DklyTCNZ{ZEoUEG&*rnu!}Gh~*%h1!%s_*O!|Xp0XNw({B~vYV6mIEC{M zOdzAJmGQn|BC%6i4wviYLFdg<5K>qSfz|5JvAK=4E!E)^UDEK-q=)3g{yaG3ewk=U zD$|;d7@|5i7WXbL10nS+qMf!CW0pwZzT!+UcI2~%b6dcru8E$`dBCn-A4_WGE79U= z6x`{m1Rgpy3yxiEj6FN^z+I;~=eVGJ%Sa6$vALT~9{*LYMzp&yPE}@Bjsi3fXnC!UALPzRc3@UU2 z^8tS6A$@{tJ$#HCnv_VDE~~;sH*4JMB23@$dD$|B2@t-K*AC01fa_mNcs^W)M;fmn zFF^&#jbVv=c7(qI}13V|a1i#(cLDm`FAls5|p_r}+SMD(dZc%@rr>uD$ z&39nR#9?%M0{CuB5d?(pqTR8(S^d%^JdhNCvYjO)Y^p!p-m!w&C^4R~T5;2|Tdx2X zZcT)U*b+MP+ai+RQ9>hK>uGMsLBWPkzlcM!2-DX40!DAUNz0p$!$a}Uux!5>eh-_0 zX<5Vcsh2PQHWcR82A#u)yYG?w(WhZIpTYLa*B3u;=>%19gyhr9V1d~uFr9S*wqECX zV7H4=|H3vLJ^dJ{dOU{%W7MukF4M4j`(bhT&140u_ZJl&<_w5f1!wdHY6|{u|LLl` zc2juMj@5h5rHiFL7}mV{2Gs@b|L)5|wtU6;HL}z%(7N(>;3@divjyZCL&!)ogPgdR zbWhoOoc?qNPB2vETKU}1ZC%w#0ZN79O!v*BcK z3=~99qZwC=$ywDZ)OTPxjSF6!`M9t6sck%Wci=v3+9r;o!u`<6jetJK0FX=H%=qXH zQ`J_E8xWq4?6_xw?8bZa%}PUX{Lq1FbL5zqQDs!#^f2{GmS8wZPw?e)Sku0)qIQOJR|;>=NP}v zz{P@-peW8yWrFXKJv5#%*j)srJL;hBfF0@(1ycKr*C;KxOzO`J(pOR^SSPD~T60Yn zo2+73<5iOUZgoE_al1nm_dDX<0t-yO7=@|%%kY@PYk{;W2ft&CKpPc6|L7(1JX3^O z{&oI;_sfk%>t~5rT3e0j3Cex;TCZlh*kBNUuK!%aMU35pah?0&KJ!v=Vhw|vx}ss>o>F%6dX~)IYYshH z;h-gV47xk~sgCbEQue$As!akQby8H7(jrM%Bm4(L&p*JG>(d3Z7fR4~W5(jNb-WI4 zvm9;YSpZWk&O;76(VX8C34(Q1xNgHDZo`RK-1loHRI88U_Pz;%#AbI?e%%Z^&9{K; z@LwRlvEb8Oif@MtIIdBHQ(h~Lr{7;d{iH_laKC|uHW}d6AH%92I|apKd})*SWBk}B z&DED96)zLQ$kzn#R%e2I+(R5GKN?;+c%zgQf!aKM*do_VZfa+ci0uM+Ii(gR$uyyl zM-K_nQ$)S>S4it)SAM?xgca(1MmKiXl1(eeFew*5fZ0(aW{aF0cX>h%d+gg6LDv|b z7a$sehAUcVcin23GPZ+kUN(uTl32v39DM+tBi+&8W+l$rTS`W%xzW@PS&V!7jaawk z3!LBd^KZg97&^o6A%~IVzmcWJHN9wgRUC7q#&GP9epGyKhu6NHp@+gJQlSVT=EQOp zrYYTm$vs~VlV2d2Gg+&q`y>!`yJ z9IVK|*w1h<%^VEYMZxku3C3MP0z|A$;TF6?Gr2>kJx3b1m8*bW#|c(lc{dJjFu|h1 z4D{S7jfXQ%krcku9PwD#kkx@Z11Xoe*qVDWGY%D>{-W7D&&d1S zdhmJr7IrxaF?X-<9zm~aa1?4o3(J$-M)7t`Yqq5)M8;A7U<0nT$C$E7Nq}q~4YTio zGP`9oZs-ag|ES7+nEH(!G7JF;heNQcrVlkf+T%6@HPBkA0n43IzyROSu$h+-?+=jO z<&!|)Bai=G9AG=|vz?IVV!{ScW4RN}Fu84E<`{cNs;}LYnY6GhF zxdKk#&}JTtdJn-KGnpSw+5hP|<;$0!daGn>_4WS8%E*4bnk#1ZH%60x?+eA6N)+QW z5oeFrgXc|YAd>A1oo^4qR^gju?~__0HcphRO7VjOyFxg*+dQ-FW+HKa`NT4*Z3JC* zVIBI#H_(lGLFl_{3sm?Hz{bks5IO7s`*~Jks8A|6DNs_>y`J^#*o1`^uQB1Z3Aeg9 z6#aacR~D_vMh}T7sIZNMTBzhRcGF>Abrn2vZbA30x%?hD1YaCX;=VolfK|^raeRj= zn0V(w-?1AobFMhEnP*uF1Om=O`Z!JB=}s<;Ji=}3<~1P6S-4EC2BI&Iq}#?lf%IHW zm^CgAbRSNvN}KV3o!iB5iu@js=#7NMD&E+YRRntzU*q~!6JeUa4PCOT8~#qVhH_IC z&Zu=c=epVmmT!3jIfJHx{gtM0z)}Slo^mAda%$9cbPin5`Uo*k<7kG8EOwpY*_3B` z1+Pc0v@}*TB@?DW|Wa)>n~GyrPrOtEwVqg%g>=_%kGE*=623pNQSI z8=x-(ga=-Kn%=YCnVa#p4B+XDnufA(YdQ)$k^sfoTh z5;RiVOugR@fY}uvCaPgFqdZcKS()$$N}F~6J0FC;RW~KCu(f*cI8|Z636q+Qb|244 zsr-9iTosY$e(I#bt*UZRl%EY-rBmp(D;Mwt@2|TsLjop^bI1L^GO*Tf6F1AQ64g^e zV6fslaXM6u-W#u@%)v`kI`1OXAGi+Pm9~Pwwg(V*T$Op=b&bB`&q9?A#vs2)g>zLo ziO082gjsnPv0PDs+vseEK2P;vbL|Om<+VOu`XiW>@rFb@TaK%r*DKJG&x5^svRrFz z1b6k^TMX3I#`bmI5TYs#M1BdQylV=~*%!@ch={_r$Q)w#YzMdH$q7zDPMqsK{)OJY zS|;$ysHW>aEn!}s=9&ACJFs1KI}GVEh@0d%F_m>lV*wkzx`_9XCb+Jejfd8@gN%P3 zG$bKcMXvK&&pfPzk#eSS&RjXZFV7_8)##9_L%BmrAEa zP~&-=dLR=O-W~_ZR5hk=wiGkCz6pHHoWcKMrr_*6B{*AZ`d|MbRCuU&jjf%Pgo{=B zVtM@<^_oceD5Zbvp*P?OW^b4cQe~-NSWcj~aSw=Wy+WMl|G^thZ}9V+2UvNR-#>IJ zaewXevHgKEru}$D9qh94k6Q-&dG;xR5AT^%cx1{f8mr5k9Pi4kJTjTtXi-DSgA}s8 zx1Z)b*FibCKpab~@uQkJj(K>HzC85-?~{diFxQF6Ug-+j8cRVuJdiRayzkrdC_Z=C z!CgGLhMV;5JP{!xoJ8UuTq#@wsZUnJE8i-ZAL>U(O?QWK9UCYU5wPRV zTm~WA`Q)q7UgDdOP0EFnRfl~eN__8 zNRPmmn|n-PNJ4O+Pn@Y+a~afX5Q3fwF>O^xa2lPB9o}Z}YDXQ3wC*G}JHm)~vm1*` zKf#u^(Qqi>AdGqX45XS8Fm1X4oE+x~BOb0J8zfJYtS>%ns=qX^p_c)5wQ%Bkr2)4Z z=fGl%v$Wm344>6C;zqlCRKA@naJZcc(W@sy(RDkx9=sA_TE5XShnwNyko|x4Q2(?{ z+Gmr!RmDl2wHxP6tJ$Yl-+lMezxPFfY;WP!d9h3{j|*ArXl(q(O60N>U`0N@PlP?{!IoB4Z^{5hXH&A|!dQ-|s!1 z?|b;;={WBH8+L22z1Det&h9zTYRw1DPeHhC`(?P`wU!w?mkO%0=MlwN5mIK^gMnK* za9XAwvAsp;qkG19dUFZQsoPJp2Xf&^P5@+p82E2Bhs|}T(bVe){b(r%%XAaiP|&_!-aejz2L;*J{T!pNov)nm1kxk!L!VMUtE3;x`Wy(yVvj7I_t|HZ z3`U?)<{j9hUPPP^ouKCwvf+uU6aP=F`zK1^n%p%FK_e<1Z9G2r=#V$SL<$GW9?oSzGvv z-nwSMmQWs2{XDYj;465^u4VQ&_mYIBli+XZ2Y>RWz~wbfWJ`T9Q55(_@7BEKZPp%3 zGWQ0;MHhMI=Zr+?2=4_o#WE;QZYOWuFHl)SA(W_8!m$}kQSHGk>@<}n$u>dId?A-7 z*~`tLmmPwWf~H`(dOWmTTmj7Aw;=f@m~89i>LI6d>dd}DR&G(6d1Sqo-Gcp%k6&(* zv-3~eSD5WBWS5~Cerw*)|GqzMjk!25SUQgjh`%83*lSW%9af)pIriWA#>OA=xHEe` zh>hd;N3ZXL{$o)_K23-DK99@14Ld{LUuvR9#vZ2AS{>PSpRXcJcPHgM9x2rPNM{`0 zLLD|Qw7KUv3(jarz~i)UWRqwyoXgW@o+z}_5dBmbyG;_rwS}{E(+3U70I(PK!)+T9 zsEFcx_*G1alItA|55LS0t1x72R>hNOVLrawKLy6BHo(rnH>uv;d$8>CBG}pf5PPTjqt*MLaQYp?c($s;Uf=VW z;o^u2YgaRYF9OkgI35B$C!_Y~Q+RdxW4g3S5G8I#;tsiAG=EAwFGQ{y2fBQ5wCfd4 zTX2DQuka@g^9#2zogM;z#wU@CQ!7y+>M`w->*HH~9OmlGd0G*hhJHKqd3C>!l51XJ z;JNoW*i4k;joT4JbrU{W-)`Fiif6T;$7>w^&%A3zz*E~h3G?i74z0H=e{5J4^y_t- zuKvI0f#+IDg!@mxQ#oVs4y^<4@TZ_6Q3{HuazXr*HZRjjfw&#~Mv`K6*um@J81dmD z?J^Qa^#l!+8E1m~uJ-V+U2q_aZdyWSX(MToy9aj1i{a##BHrzvhagrdi?}xL!>+(X zxPPtyui%OR9bB%Aq@jy;dCsSsHF~N3i5-wzwG6CuW}&O$Nh}Q7M;(6|wb$k@#iaUUDvEGb)E3 zM~UHf-jt%-)V#GCl+v~^?ym-js6qnkx9|v?-8F>S_0w@&lq|%TEhlrw715R69bl?u z!MN-@PbXJALF4z1Z1)%`_;iy`vTpaFmZ~f({PHB_ig~s%u=sWqDK0U_az$Zy9GwP9MyJ5)&-4HG>B37IbdNPT+6iSm z%GrN!QdMTD+k_Kx|K2ZGZ@eaZxjEs)wX0!k<3*@A(GBw4ZbKz`kZArY;$f8_WPWf5 z|KNS7xx@xtXPqEZcb(*^^~vK47tSZXcP%arT}HR4?}7tuUceSjhT45XICau#T5MBC zQku;caY&rbC#t}10cM-K0QMf_oB$}SPNNP5i@&|@X(aEv~wmqD~ zSZrz_BZm#x_bm+-K3x@%*qTDL`!3_$L!uC>6nxJ#1KO;{Jk9Jub&O0xguCk3h~*|Rs6txb(Ov8?}__6Jr2mE@SoCt=`w3ruK}XY!4r|C@&= zj#W3U=kjpVTkIBfdQPb-cxSdeD)Ha?AZCz8T1O9Y+}>8u<268L??O15d=s`AsxYGa zcrc~P9ks0VU~fng+hrV&Asa*K;gu~^YPT-F=@|o)2Uo)dp*ZqIPlA4*D!~2S^5DVQ zdMFE$LH_hkp6B)!-eA}-Ugd{5{N{NQG<8`$-#vZ_Svz;6a&2$`7%C;ga-|3|Ze9z_ zs$2qx|0JRMnO6M0))_S&6ySQp7uxaDAD5qcL=!Hj5OH@Ga>aNL`1~=%q1FOy(!K@? z>$RC+!F!;+T8q(nXv8SyU*Vtom4uIe>F`|IMBvz_I5ZQefp9ln=6tp}yU6A0%C5pUGj(c^pi zh`VPMzkY)fj^81SH5+qr&ml+LWp)A+|7_xIJYt6NGb^Zh>^bO*Uj}V%-z&AvjiJ`+ zDEui;fuL-Y|K=3~Y5sQ46P@g?wDe`^ml;(RrH4fZKK-{oXg_`ffs7w0rXMD8SNe(7 z%o2#H=!XrB!!VWOaUD)r0XwBWK*N}ctW_&Z#uP}w#gS*!vQ!fKo7`Yh{7SlZOFmDf zDh^V(9dVFmALzFq#%kpnI5T(x4A#exXWLi6`RzmeYYFxEiq}H*H&(zFlP+G+rkB*( zbs7FC9m~A1xJdtA(xdqc>>*&a2#h-{$NoHSLv@uYT$bO+U$XcHzOI&I=iWX6&TrG` zg0Y6+b7%-+1ukH_#aZ^UjW^p+VgrodS~wi0$3J43OPyAwLtl0#blGerPp56cUTqBw zE9clKi>%pL@fw^_SV9k#a+z`GGU>(*13<)-nQbpM@O|<}Om-@!-y`2(>(1k-`<%;O z)c=byvA_%p{eTRUB2!fk***dd*Z2qTKx+bIxT6Cr|hVw7Lf?4CCn#%;Kw9h6_ zy;8xzP>%j|b!AI)RM{mPZ^2qFhhXSSBbdKE42?oJ3H98~&wXu|jc}WKVQrb89c-!f)Sc@D5|DAFRO3 zy5@$xD^utesUJiqC>ENw!Skw0D07$&lWKjjmQH~$e|~}X;wA_R z@1bIeow)Nx4ivgf!<@XE#5t&<_aAI`#uMK55bPuzd+Q=k4W-u{Pk>>3wWk6r&kx9XDW^|b3h z{;dyvo1RcV#{sfz$8Yj=k{gWp`Gba3KWy11#_Y111wuYg@Mrxjl(*sbgTIboo9|rS zegETR+0@ze_&a$#{6?BTcs7OltR~71Q_(4#CQG0 z*qJs7MIR5-zDE(z^wSGc((ZHIlos^=VhCf3^vH@CZK%+B3eSH}hpRt+!{asYpt``2 zakbHaqxCkj){R!|pN%K5Yy4!sPSj3tjeH0z zXl|vz7(J|g7mefM24Jp87UOz_LTy1Jy);dTM=8Q9iX)hXK`H}bVU3)V%kCAOJpqh3^h*O6) z9d8%*BJj%OLLs}z&C+kK9W_1+N{u6F0Ix6QSDJFRNTPotT6%)kA{Bk^e1 z9kzWO{t!1$k+OkYmv4FoHzwDxoOdg(|uJI3+d-+IBsFPP4yc;gfsZ99ER^ ziamt`Qww=R@+bHQk{;2lE?MdrHkKK0!H1v1vx)TFR62kBGgNOlL`r59Kt-Vq_?p(D zfYmHgny{S7J|e(`SWC0+CHm~7uQPG4niaj*Ys^;rhBKy|uPrEq$7+{WvB9#T?2xJ! z`)2qET{3iz9PV)<-utIAb=3>dB6L2}U3(U%<=jVmr3{?>em%++bn`yGp9Cip+DVv7 zKmX~D!}xpdH1rXx!iK83`1I3X@T_lRVy+)+r zlqr4uF^BU^_duVFH~fCA38GU?@X?KjnCiOdzxQdnUeM60)H!x0$>z_EPMTI_zWp@a zHR0d+r)lgD820%L7FDLqmdF+mEX<%Ay{oa}&kK6s^iHpO_n@->6}d5Q4T#~j_CCDEBdXUQJRdPwklNT%PGKxX|1l3S1h zYc7_PJ^8t0gGLDRf%Du(49v#wN?h(?iaeeTKaFYo8pzZ-8OCIr0n>RulI-&lV&~_{ zGEdhcM%EON{ne51F6$haYW@NK3<}58 zVRIM7jUS+m>`Vz?Cg!s;){tjtcG{U0E1$&9ZoEx% zLl;2poCok*BN#q++@^k8Rp9Y~B$)eW7L-V8L#mq&o6+aUUhxrO{R#^3xK0$k5j-Al zBy&Eg$qGz`hyZ(_>Ln?(vVzu)Qt)KtH{Vf$%Ym=3W`7=zK?k3eu>9a97<2U^gmU-d zxsFu0CjFVbFMh_&{$jYy=}9n6V>|ZAZAZ)9Vf2CLBse3g`JdmgZOMl})n6U$9_Xsn zGxj=F^Q#)P<{wr2hi~w$QkapEXoJ@q{=z0xBY5PHfTPzHSj+IsIREltyyfl89^|xH zzK$AX!`L^x;`BmZU$`-R>um##L>cB6r_7%?>B*CTXC)>9;< zA94PfM!NjbcG&U$DqQH-#4Yx0ipXUh0t;;?az9KGQLy#)+M6m#E6;zYq&Fwd6rZ(D|<@EI}k^=}4z zt(9h`hRHJf7uLW&kzL>*G5-J0n3}OloZa0j4vTZgFcUb|zV)yqbY3u^>`4X}%yg%F z5-D_9yoTkgkHV-{IPHC`z}SXnfeL>rjmY#M@7W3P<3kaDrdJYnOfJI@7oQ{D@R0vM z^DA53w9&W0bL{5T4gc9xG^uJ%+t}yRHvQXws!ZMhTA@DBT0aEOxy-Jh(RQ0wDg$*PK5|3MeOZ8GRGB1*NOH9Pm^T)yX zs#U<>9LN{cZ{x8Wb*ZiVU%p0r2)Q~m8;d4MVS=eE?6K>FWfF&AxZ^85A>a$ULxMTR zu`OmvoFX#X<^0BtX_zur6Sh340foN>WIpGG_;?*T4zoF9WIa&%K`EMyo34gpUdYp_ zw_&=vHJK$Jd#TLgT3j~k7u{5M4lf@n4p5%ir~@T)Nuiq>ATq*lY;bNYs@3a|8bBR=Y1NV)ZK)IMspzlT@CN#){e>> zwh93; z%c)*-IqvNn|6l(ZlykXdhvQs3$8i!1oXgFsEWR$+|8~OQpZbt;^eGs2QNDt%K7=f4 zfF(+qFgx=jkz2EZl<#5iLq`f0$nJqjyH(hlWuc%Ou!vr{8pZRJV?m_23^v}l2nX*t z!5{AXF@2N|iF-G~LNRN0!oqW)S7$*tT$m1P%zhC6p{aEEQZ*&QTj&=3aQLuJmI>~; z1*Yw_==YZ6ihGxlnvzPYyVe+uvrOm~OHT-&(+=gFmvPVKd2p)iCmFo+lKNkL1!FOp z@ViY}zaa^tQ*)_tRZH>f*&4K6)`Ib`^Z)A~hMa27?)p2|E`EcL!1vavRmp{Y(g}k9)`yTEQcSOm zD%{Da0oUDGuoJb&+MT;^Y%=8f{WsA#IeRRdq~=8XYwZc)=B!6lGx?qw*5Ie?45yDy zgiqbEB;xy1l3JnzMF!!h+Uf)KhwMQ*Rgj0@v%jLQV#u5& zxWUPQ4e%ta&jV{TeW?I^)gbncMJ%IZlSy~pzJyn`cCp0@=Ir^s^%yR010L35U}~Wb z<(!W`)2I&5&$t1pX;N(11!>mMc9dNE&I48D5VVYV#+%?G2Vy&-cvU-6Z2X#BKseBd zwQH5c*Y|T^>m4)LmUxUVG|9n^#c%MU*HaoI@|LH-u|%(Od1@Mtt$5>lEnJ#60%b-< z(6+=3eyod!kW)3pDCU5TmQV$`yU_s4lSKcUS9BDQefZ06j$NkBbOy1r z{(YYc?*wM$j|!+*?*I|Q`#G)E6|(dAFf}+-g*lwQ?d5i9)^6z<99escycj=$ehs@x zpU<2Lk7vJv3aypk>8S`t4$Uwx{RBMEx5Z=6tnj2mEqpq;p1k|@luXmk18*~q_weB| z1OzE??7R~=F6c7OQcJ|qK2tO?T?sSRTqMI2+AB`%xKFm}U4wg$cSzTkmFS~>nw<0$ zVzRQB~>dvfRm2RSy*-J90c$S@yw^?}+)H;8x{PE%?V zps*$!wa|r(nfNg%rM7-JsBp}gOtg*VNt9+)=x^u4SzN8nag#E&DjrWLG##& zF}AExLJs-@A+3$b!+3VN+ zFuKMDpC>-%t4|n1y1zSt(o13XLS+~;M>dH*|MQNPoFBuUpCQSrIGD2+?2@oSQJQ>8 zJ;v9uR>T+Y>oH`FGg?~hMDy(f)Li;9Ka^?Z?;O7z-``ilJ!j-?wk}+P3ZI9_wW4&W zG___oL<>WgFSn!F_yu%VJOiV}-6W>m6$`s-c^=t*uqY-MW_KlmC{|g^SZmomGtNF6 zsl)kCS9WZ#mlm;0pL2JZ?EK%~r)3FMH8n3??0gqR*5FyQDv#oX_NR&eo*#049VlHn zPEQ?k;$&*KP+_YPdm~^3U6!hYNka!*;O0}yZjRuS7uTR|nE>Npdll}c%z%Yl-it$4 zJU?Ws2fWYt0)8e3AhtyUr#{waUz!C_v6*8S>>Ag8feyh4J+2=6FCswK{R#8qNpN^QiA#TQR^FDlwD740vq{9 zoxb7VT7u20b^OjmOIWNnk=y+o!~3EN zQ7%F7{>ge6H+vbn2p4cUVH{g2r<6W)ZT_#{kd_`2@0{gg=Xt*CTei7H)&7t1{TCkp ztLNmK2{FoJY|u%m6wmtaM*}56c3cFPVJs}po^nK-u&V-B9Mxw3sv0vIQc_G}IiGBu zPWg)FJP?u+MBM^seB{LW^7Q7Bn=v7tn;2U)Umv9RMUhEvj^v`$YUcU`ZVnPO59QqsV&U5# zIPP)*@>gEOdu3+qZy`gruA=~LZ@9P{Dmen5T1(=Yhzgpj>qn~MWxz!7IKNpv6uT@0XfRudOV7T7`AfRV zRZ5G)jh=d}y`Md^ zx{AQpmkhNx^dS8U-@+t;i*RIhHQ(++Jy{mH0JiCTAW=KM@k8dQFou!dAo8G|eA+um zXX|W`0?-f5!x9}G);cwmeMqOUVg+sRIjO*A>8)kZI86Wp zr}^@hSl__FL|fK$uoG8gv=F8&7VOkHZT`0oY`UbzCa!#r)&{EVgAL0uP^I;ej3MSnnsEg4`9)|quBRyBb8gbjW)}4kv>*x(w_YWK;{Ln^ zQcd)t`!$&G@FLXzx{NM+5{WK5O3xh)MzJpr2(odc`sHCLJ~ocA3Uy%ucf5r)<4WLy zpaJ;X3oy!yi$Oyr3D$^?@XRc@EXX+nXd(6$lOOe?>r5-wZ>ue8_ALDGJgEGBDY0$U z9J?*44F_gR=vJwf+W*;W^)IhAdaVH|7Z*bGo`SQUBx32}MpXX15}oUI;a%yyu;)lB zlsCP=j0|jRF^+U+X1@XJq_@o@&~SzN_;Yit++dv0bTmjr9~))MD2 z*J!qlAdYyPT*C zg`u2&NIrI-Zo4VRnv_I=U~L2LTcgWLt^Gs4e-vT@D(#s-!y)M5?Lw>eG|UV$W|Ss> zqB08H$t{c9tPM(pr`l* z3>f72kKszJ{1pc_zCnaF`nHXlzgQ%SCNggetSEhi9Ud*hkW|;WB?> zY$3@pe?d}$M``a?S$6lCL|kX_61%-8k+6^@m~!hOeu%0=5-x$00=z))!G6$qQb8Wa zf1sVVt#sKLmdkpo$Cz?2I9O>*)6<_2L))n&*62RqBT^EVwFl(=sR{ z+ty^0`QZmR1*Jgb+m+P$3Xcwc-vqP##VX13YnbjZkp{Ha@jAXZfaBziaB0j}&@MX# zS%yKd`O;l#zS#_;-v;AxvnlxE`c6=tbd>Hizk#R5uf+D)58NJz%L}${wNccF$M8R# z2FbIK_oU%C$KIA^X6?UCI)-FvufrBt@MQ&*e_V$(hqqwms1BS~^I*15UC%_uB|zwG zeRO60_=+pVnC9`D8JW*Zm=$v^c>Cx?MrCw9^G){#Kef~?SEc?`3uA?E7x7%Bb|gBGN+>aT8~&cRRo z2da_upsp_Y+FDLlaBRd#14a0fH(K#pU>=QImB@dtUx;F%i}6m951Slk#OgeY!*CA3 zIX_>POzKUit5iPHEu3!8%=bH7y)&MP^gfJ_ZTmnh=M)KD5=#HRjG|L))5-Sl1SWMU zL0gFy(dhoepOL8z&+1zKI}gJFpBj$Y&$Y9U4mRI%+_>tq^X4jD?SK18t*_NXEk<}A+~)Mf-Lk^W z$Sh$dmh;4KdsRTpyme{Xpa$F4dy<$(b;IU#A$Yw&kX)E`m|kfSA_nbip}bE7C)*;X zxGhKCIsvxj+HB18@(0zp*Yx~tFIr}IhAcV12qd|Thoy@z!LOcrJSv=x9jW~!@#z{U z&@7;Q`53yh#}|%y>oLqWBc{Ij6Wsh{1k$TF5tV5jf%LyYNBWCt??M=TfO$zm-P((LtEKJI47_Kn^J^WX*D@E zEcGl}yyP+mZ=NG&iJ!1$Xb0L)*5UWf^n;GKV{q&D1$a~BKK;-o4}l_aQ0grRNl&B6 z*5|wN=~_kH|7RH0Q>G)s--AuNxEzh9HMDsiODEq^VxJW+WgQKsvcH6K@%ef$ygc)2 zW$`MO9L@BAyski70x^T zc3~CmUL}q{buM6?rV#t(Yb&P%EJ45eum7C~rIKooQ#W1ge))SmTzby9N>eFl^Mfn@ z-WLikHqbWvJiZ8;iR8BcTek2Fw#KDmo!4jj`JD)@m9E3zI;q(9I3M(CrZDNd1o7vA z4F36bqWq5HKE@aVN&jki3r?HxgUc%TO|CjC;fDfUTyn?_OI)OhnsOg8SvtgR9jhRCmo3x;#-ei4SjMfQ z9NVo=VBhoc@JsDCTr6mT5y^)H#@FKHqfVT^ZUu8rRg6jcF^-wR?UY_`G-3MB*)#iH zL&4%}7QQ_r#a8~>!%h`&U_&%pc&1j9k#>&38&i&;?x7a?%w!B3zhW*s^S}v=^>yLh zk&6W}*g87W95=T3$^1s?obd9Q%=XJiDcKP4)6L4Rg4N3Zl zVe8y6^lC3zp=SZPF9I;3RfOFlu?lXCPG|H3Wx;-F7j?fqhnwML^S>=Gf{Q53{P4== z_Az^CP|rfP_InyuzeCuo!fDw?4Y2WSGu-64!Qg8FQ2jWK9v*Z?ffp|L%=Ru`Yl@{6 z+i#Nx*WbZQ(>m)OdsnEWOQ6_l7?Op@Q=M1K*)+R$ba=3U?>aA+*c{TxZi~p_QH5)$9N{ZScW-rXCJvbcm&B8zyq2bmqbO6(X?I;BF@IJ z`eQp;yzM3kDN8bIAL&8w#hEzv*izh>v7de%Z6%wztSB*oi&%E647-2a!B@t**f?F7 zHMWdqcZrQ-?Y;LYs`xKK(G zZ_j>8%ugCJ>4}rk_|I5+r=pC)ohUT@S%q)U-NQBR3$SN%8{PdU8YSi)M~``9m{fZ% ztNdy@c*+_9+iZmgifU0a-2z{rer4PREi}1u3!QWfFjct%Y8R+5dor$(C^QG_PbIu- zR0OL>VyWl_TL_~?q}%5r*1&YwR>Wlo3;f@&!AEI)XqaPXw>e;HyoFKK1%LbP^WXh@ z9!gM{eSFS^wb+n?dDnlE+l_1B^l%(1?s$qJ-IrmG^%Q1nI^uEICx9&)K* zKfDP!5AgLGNO@etGFF()zSBZ#vz`NcE*$*hxw=r@O`hd9khnG;+>8u-mV7aZf;DZs5|pCY$Gpy&U(CJE{p50sN+|& zOVE5*i@dz;h}wnEaIZKe>rFd3jf6i|K2&DS6_YE{qh>%?<#%4SKL?yxHHJ-o^$zXE zoJZAl3owhzpUQk1#=4&vz@DvAOt9Q|rnhVgQ`=dGMk}V1$k{)60(w#CwJs5pw|Zc? zt_LbdWunG}DKMfj9bE1-gX{8rC_Yn{7ZGoRCr-S_rM#P%c9PPZ?y->RMq&A<>zP8xmndAPO~v)j`ry5MFm?!cH3l zlzW0?Ctg(uss8<^_zY4X>b zg$L^v48H2NmEw-e|MwB)K9$N}pl_s#-slr!MK?LJvi26Nt$ZWuj+=}7d`(b7P@aGM z(|K6LWmVW7Oo7QeCsAV$IShI}4-w2WxgHZ2r z7ktY9g7Ys^rbqMx9Np~+yF{fydCqE(A6W(G4Cj$I?<2|db=OGVsTI5tPf=LW+zP4+ zm*CYFaTr}bjcBnyInRhMo{g`-ioM;qPJTQ)ezq1nhGV<_nmirJ>tfCm<%z%6=3<59 z1XS+Hr<+pZ@JyKyJ3ZQ(wY0Wn`DeznjeDDL+ej7m>x#1dxAfSlPwt|^uUh`ANAu8A zHy@QeYVfZnAB_`Fa2A3_Xf1xc?rk49FYI1 z4`N2nk?a1>u?zX}A)s%UVU_;Zl)cMeY5lV=J5W-9`_<%GGb3jl?pMW5v0SHgmGMvR`5B0eg*OZyty@xIAy=Acsxk;I3n`ur*GaPR})PlC)0m9fn1 z9cG{(s|a#WZ21X2>TF5MW}KfVz`EsVuysEP8#AW|zfSVPvb_`83A5JX^i(URbHR9~ zE;Sv`IVIx_$u_z*^gh`UC62e^XK?v@s<^UwDcjjOmW># z1_yKaOTACi3*qaCdC(Buw(=D2n&ge~Jyvv1nIs51`JiUl0Io9ZBStG86RrKfxSSa` zvT%GP-}S2-utrPivXL%q3LS%oDm2l-TO4kF-%bDI`B1bKAS<}Dr5eNK8T<}swk{W7 zWDj@J(xtU{di!DgpYxF3(z{#j#9X_@zh)&(J8V>iJwqR^X#6|RoRr>=mp+QI-IgI3 zy8Z&q?h?Z>QX;JX#8Vh5JP`xKD(DKoSa{eY#eB=(ibs)$%{?`|Pl9iuLu@iMzpuaq z-c`sEzHG;_M%_ z$6&P}i5cO^F?ZITgel>iW+C+mc1yb9wr>W{IUuw@kEl@awuZ&+3?28CC$ao!b8mgghPYI9o00cjB`?ymrCJDN$0_7YI|17MaL2wwYd zQQfIP&Q;d|Un>ukK0k%#U7`Q!y?s+JMn}ZXvGb^%-Lgu}pz6Czt9rKKzxCmI(-jQ3 zHJ0UVl*7;4Px5hs3y$Y;_~H}LnV`eXUy8{ML6+=_ zUkjo(t^_OS4jSsUh+PCEX^!D2y1Uf!>kvRPxE#{0YmH9z z&FEW@3*FwCP!Sjld&?SN&GRm@=adlRKT(0v^KXX3A0uH{q>S$SD#AWUPom4`JMg5O zEpX^oCs9mIg3#4M%+N>+R7D@8;*l4~@m0Iv>R}D!k9XoF&lkXK|2!x<6o+jV%Ivki zxvXNc7Q6qnJo~XXiF9upgu>H`%sBQlywa2TPk(hWex%j*`8>ObffYGtvu0Fj-_2-K zGXGbP=X@^$t9P2PA?dSN=4C!=y6Lj_U9H(2BbTx1o;!%$(PXx3oq(5V*I=(fDA_in z8Pyv9(!3NACcGm7ejd$)18KLx`EL^AJ}{lh@)#k%{5trHWUFi}3(IzB7$+Lt#qG%w%-)eEF!Egu8+ePMf5#hs>O(%J7DVtrT3IoIY16>9b|uDXKSlRa zZ6+{NlDV<(R%OiV7V_{hA6jK%@KVWAER*>Ons5Gq$YdpE6YmySaQyUy0SbmX?wB*} z3>wlX;Bjkt$sr}y-TEdDB>R$#lDRN#pATq60&7aa7O|_ZErp zuGdOoz@%$5OCtaWpPqr8LovMi&HbpnP!MZg71Q9sha^LG1K}??P7c_rVxC?V-^%SM zJ~jDEbYZ>JX&~#AEb5!w1QVKd+MDSvye{U<(H9KcP^W&KY4fFZ*9AQj*8Ef z%jNA9yybd&XA0V7!HCfP^)LTdeea56S_k(0oo)Aq=?h;FX;j6oQFU`L`FH*)Vaf4_ zP84C_&SD_%tI0;U?`W`KJGm0B#7u^>@b}FubPK#s%Oq4_9r*-ijWzHot`g3iIZLe< z5tf~z#@;eG3+;`o;eACd-$y%#x*4q^9veG@A-|xe&b@ z$z)2jAERiIpgEfER?rg61c=uuStM%-S zplG(Idlqh-(E$GXGEB|o3K(t}h2={R<2y|w*ghzXlN@eRbtQlNR{S3K85N;ILLrsU zFM&y4SHmrrLU{1Z9~aLt!+C;@_;q3q@^W?2u;n;!?Ykw|{{04OBpYyke8S~&9)(kr zt(bAe4G@SsVdtGTNU_g@ycxNK?oLJr`8<^L`NA`+*MuCki5&0zI_Nfk;yi4V*np>! ztR6QLa%%IVN7qEr>z!vwV^0H^XFh-zCv*Rscin!_=Ucqg#V+NI>`2r#lPcw#K7nqt z|2+?>yLH&PjnDAPfoOWHu(DEpjx)~4a6(U?m!zo27W%&);JjkHI1Mi6=XNW=pcjF> zKb)67cq9+M-Fbuh-MQrGK zT)Brk8W9^xUk-^pM zTUN1h|4|X3LEBg2_1_D@XNU^IJV&^$G+mj ztmIYDp70ee`ko*Y?N-}3TKi(v$Asc? zDZ8$7%%>*Mi~R_G3*;d=_%)uGnU51WkLcU|7vcA!R(LWi{=f5Z$z7y-;|?Xe;3md; zr>vaau6@7iveWARd7n;{$OWCPh5QrmJE=~&1RkAkjiM?)Xi@cCV!xKV6U!0K94iOe ziP12J>oGq)D}^1iqo7b@Dy&yFAu(ARv@rWEuff&`E4Ftir^&>KR2NE_4BnumE=}+8;=R# zB@giHWnH!@U?D51HRi_+XDP8hkduwp=4TB%_MH`YQP3 zXFSR+9KwYzLzwVm9ctTLB~P=KLY0*OxYeeUrzKowE8m3E46TKvRErk{G?Z;T2k9k3x^41B?>ZS=qMkbi#f zMH}wEsIu855OHvF)ndDi$q|?Ttq&%i6!TW{@s3{#uDHE`-H+<*z4S!1lMaT)Z;8 zFpQF;Vi@K#k+F+jhV@M*HpxmS=?+V7m$_sCPTL^KJh@o{*W)KL3+pD4+6ikR>D~@z z=B*1h(jk|zq<%@!I)VVz%P#ox~6U) z$Lz~R`8O_j_s30?onp$4EmCJcWiR7q5kJxU#Z6qC)(e$6rp&YA$O?bkW?Eowz`I%L zjdR}rN;6AyNVWm zFU4#N#Q1<}Jiq1w9xLntb5ce86%V7;Kwzb%@^7l@kO__I?KVbs*?e`EwQ%r|3^Z^* zgKtbe2{YbJW$lY`okR?YP!)tDqTamB#_ibnbUXQ5x09*1_h%AMC!+N99y*V+)oh>r z2iubKSs`*fl3es=07ie`NpAd_p26#`k9 zUco0dh7ll;)lPVK@<~Fn9u&IzLR4Km-Lo_UOso1hrqu)-T`-Y-=;;T0?PIvv#0|1( z-!gi2!eYANMI2B5*<1ds_N{!`|3lZA{`L5M;a*89(mbbB6iSFvefGMGq{$E&!WRiq zks(9K5Sr&C(Hu#l8P#X6U4)Vb3CT=@h(aWUb3ZxG@!h^{8G=ao3J zpzFkO>Sjn?Hyjj1+@Z$Qj@$I)0BBsZ5{B@c)2POg;1pa08S;AkY_KI6szUVe=47!f`@*gm?+=Y$w zwPQ=a`(b}X4dh$A0L9UfP$DYMeM|gIhgBaH-2V9hEf1{2p@;U6w5b);O)UT| zy)hsgbQs>tWq`fULbvQGi`yv>5y>iN9y*&h6o#O%8c-RFBKxHo%FAWnduFPwK84K<~giIyylTkMHoK zEA$1-pz;^O?jda2$X?5C?QZlmm1q44SBXmd51;{ZTu0DESf^i4&P1591KFCwhy@y~ z`K>XVpJ~PP_xLbu<~6rH4G?yD5_icWA9m_G!{P03=@<9kH2(TFoHZyyRQDXB(Q}J2 zJU;@*?69mC$HG&O;as3o5L}HNifbKiqIh%?Dh$aG za-}Ef=LaTuRctYMCpl45A2r;__}q+p>+q#DUpv>xb0$BexY*uU7~b?B9_cjtyRUfI z?V5GR@7%0w7g4`3^A@Y|bXP-6? zG#u@?x+!CXnHDec}I^ruhwpm0r@kb{goTTh4f7Mjbj= zYY?R~vTT)IIh|{CUuZk*F1^suOn=@QBvr0F?B}pPN<5ed!(OiEq!##aV|?f0;N876 z=XW+8am9dU*VUEFf7h`F>8*ckN)@av3u1y-N{Cno`pVta5r6qV=hL&a+2heMCu`i` zWp3+hQ5oX&E@t!UfA3{&XJlA#+bED3x&d1gb=Z<#QxYE04rICu%wSTu?u8LbDyERN zD^G$xf03KlI2F$AJBL}xFR<#aI8JRC1rg`Zft9Z=zh6kCABHX#$d-L2a&twvg>w#L z{v zFx(xAOU-?7%E#TrZ^h#BGZIZi>QN;K8^R&_*cjpSc}L;WyX)|CuogyZx6_r~hFEfa z6D>HOEO>B14=iuIfrIyEvV-IJ{iMUQ@)XYt$eYmc$I*P& zYgD}e&sIm1(Hhb4CMy{3^6ci)5J#@uX(#lx4dJ$ozYP_+1^9u#sa=#mg-Q-@NoH*( zypUoL`z;T)d0fQ9XP2@@gXv7Svjsb{HqpHk2jEfvdhjqxg7}0I2%H-LJ&G^?{$HN` zi9J)-FxUFoxcc9}2TUs?Bx6iQ_y7AI3{^zfw&z9=v`h&L{1>o$-4c+oq7x!748VtP zUrDNj0jBJcqWhxX5TB=xV0rO6k>314_?r!&?7Vn7B~p!g$hVRM!91r*XkXy&{kIwM0#cESNzzG?<%wxCwH z2sGeId@a0RHInnL+DhtsS~1>a0s3x!A#`$U( zBO)E{ithuD%X`4b=`DIjAI0Cd#xUQ0NA_N87ZYoYz|954U}GNz%HN~mw_Y&JGw}uY zPtGI)r}DX=dh{S(g4VAqDf5;7tVDy8}bdEEGfl-^`cupb4Y1^=xQh9cr1Y^T=5w24lp8)ldJKPdTsCWT9~x&42xi&XP!=)9T#F zyC3lo`If)u8V%ug59K{%_EVtH+mvhz?1RT0m*DvrzBUWrsM~gnhS$hZ3(?*FU4QR4U{GMQNhCY)FmSsz& zvheuh09u>aK?>(5;DZw}cu$yyJ)esBnO=w+me=90F}=t1(!^MJg?bhYqT2A4jR~m31zPyCr`>o)b z+ak+rGBQ+uY&^+b-~)d5%l^KH^z!?s9AX@-y$lW&9NubJIk!9AL-gLi^XZeub}T!P zM-*OM!+F)3tY1$C%XbVyQHLs5ysS*H%5yCdo?S$KN{Q1Kcc(y8R0`znJ|#@ruZ+Eu zb4kixd$5|}3$AWHg3k`;>8EE!RBF2nnSX8z#J=sOExd+Xk?q5uwqnF@PPXvH>ICYT zXe?MX%7k8zm_pYzpCBgFCAp)Dk>u)r9eDlN1Wc?Oq3e+$_{8Q>3q`;m;T$HMP%rzw zte?2!Dm46gmYz~60;7jk5N9}+{yA9$mcPBhdC6SMJ1$ZFlLDC$tzw~t#ku?S3uyOFiAyTHs@66ai<@b^8$Nf_pTrMA}ZFP*LuAERH{S9IJr zAoAb$u+nT0(^LjcismgSPRs&YG`mQ#^ga!C8$ z!mE3xbatx=K0dgEoXeYw*CIF2i#GF6)jkpgE_zVTm62Pse4z87HCLdq2oeKt^9*Nu znj9R2`!tg2%}KZD)nVnBGf;q`ZlUB_N0BhxxE$;{Kf$91_XXAkGwGeZ&*}ZbL3%%a zDwZ|pVeaJ;Tsxwe>Yb8jMK^R=X!HP_wGnU;gARfd7b}FL79`PiQ}zpg+f-nR#!+gM zdz3!&e~QjSGugofugT4`%en6zLkN7^OAm;)(F?sDsURX!R1j?jpuw zkKD$MTV=WQ*>YfcI03_Zn4%s`3x58`$<};;mfCNE_oCCtH?J)EX?h;tpO1iv z_REPD8AYx0Uy=Jfufo%%3W}S|A!(VC!2f0mdA6XI9%-0>kLEsvszPmeI(ay`aAFv@ zN^lW0m?#%xdCelBD-Ab}*h8CdOhxIf1;R&4iTKdk74IY_3*J6@0Bi1!gbceHaCn>r zW!*eOV&YO9HuD(D&*XV+u4|Z5aVFmNJw-i+UczrvZCO@rv|#>BV{WY2P!1i_=(z=k z*k@%!zb~r5jF*&GHYj2-`Uahf_oSqaI%5O)tv&_FafGqeG^Xq7DJT}G?Vv1E8t{!5iB$G#!dI# z!26my*R6d4GLz2Hk)J5Kz4pXgA9zN{+u`u|TT^HqeeUBKcfe-}!vbrVI;x`4ZMue}|&92#9j$d6TK3uv#LL zJ}n+kWlvhe{fM)m?S2_0_fKU*x2?nc-?lKB?-NUopCBt2X+qexFsYsjtYWMb)%5b~5XFK8YoTHSqjO6|i?Z1F07? zV0z;h7$`S{H8nj{<3b)0NX?Zezjdtj>c#$84=7ll4ck>bWAPuW-TIRjL@T`dpY!RP zqC4v<(B3*`HI z%&s8GvM*snyBN6LHx-(wZ6-Uio1xOk31rVXpw9jEc-dMROT-CHGvjQH^TgXQ}dPqkwIO$;8_59 zw)hx{UbFUZzcI&g_w_nUN9*swr^qE)^Ge%+i~iqz|J`?;yX*^(E>@8Vqp~pS-DLLO zpaI>ZdA)7*Xzr#=14ORPqwOi1(PU?t;L>#!E@`wAHTzhCzVpnn_V#UZw{8lC;8IjS zwwuOpyDco7wvyykABO!-dYn$_bXe9h9HIsGpzuVUd(|uysQyXCk<1hw_l60#ej5q1 zws*jpmTwrb&JZJh3yFISM{ci5Ci|t9<0jjAg2fv|!2PH(7(*nu*FA*Gwa3{Bi56V1 z{{xMt?PhP~&oH-9GuhzzGH??91k+77VDq6wnDr(Hj$K-Z#Wky_?$;mm^JNahO0=2I ze|AhEK$66&ML=eMI20= znRIx*^avjO8I8h{IBZ|>gFg7i^X>M<6DK<@a8tes)kkBYbA3MiJ~ay@wJSU^r_CLZvpz)bEo?wj}wUp~8q=i7H+ ztz8+BtWJT6o3kK7ZxiJG8UrJ0LWGeb;dF?-EF~!+!bwz|sy44C|7p2^8?Spf?Zhiz zOt!)60s!?_>jaZD-%~qHOPp{yO<4NPlMIv|geq;mCLX#8Wi90(-E<0)4{n4l??iDa z-*09g*o_s&9rRKXpN+xuj6Yp!glqXVAmkYm-k1uW?R#OJYo|cPIGYBVCeyx#9+K@` z0xwUs!i=G>VCvLIP`d2`3--BK1BCC}L?W|Ky&6%ODWl-5V!s@h3(!c() zUxm+Uc5DmzTI4D4ne_+FKQ5zh8fAH{%^?nMwL;v}H?T-qk`x3evhZpJ?!=1okgj?T z?)A1qjQKm#JI#eWtQ~@9X&CN%o<=o}uETWGC8%Q9Og5ZKpoWohSSmA)+D%xpqopyt8EsF1vzRgC9UoVM#YZ(5g znL~%f%^*R;`srgOS0*`AlT~gBfZ;64h2 zbl}>ui}*3w5=*lJ>92Mq?^eALwrvW+uKlagpyL@#8mq_6+^vt{xw9=zCS+rCur@WB zdzFq%{frkJ=P)bfMJ#RPM~tzT;|7;qhUN`Z$sVbv)LCpI4ym#u@(m};xk+20tYHVp zUKqm(n?gCo8#B1j%|ltVxfJW)qsSD#tfXi26(M-dILrU5?`=;C*;Ul;WWE3NOnJ8@ z7L|8?4c+G`^{;;KS(O7#dLoL(k)d<~Q)QP-lJG!m28{h<$%XG4!6|J~#{195;Ic1N z;CHD2)Pq;!q*^aLZhjm+sRbT;Vt^|S8sdNcqoKjKl+R75C-)9Jfz>2wZl;AdJ=ZQr zL)FfccasBPdU7i5>Sj3miaCy`Pa|H>`boZ75;R(mqRG1?h)(G#=(=4CA9wQHz^r}3 zlq4-)DDSTc6claab?yg`fZvCD^51e# zh?>=c*0)61IK$((^Vu*oUlju{CF|k+ubJ@RX8}a>H7&kbA9~a-|E&)m>uVf}r#M*q z>b=-gATX>feRD&7bMn9aWciOYveH+MwCtXUZTTWh;iNvc@gAQ_r|I0ng{jb16+vHF zG|=4^(nKSr8=P|mB;&Ru$W+fQpT4D;X8@GZ@8b%o%!2LM>a_w(_l~D>=5nM;eKWCN za)H*goQBAWBGB7y1?(2D2|DNtH?z-MI;D<8Q&l+l z%b0CD7e@4^C~$ACG{J^XVvspPlEmLr0y@42um5~bS1K&L4t1lU9oQCHcZb#W-@> zX+2o&7vW|%D{@Z)CUYN$1aok9D(7u}27lii!rVK}aA8~p5pTB?hJH1phTR{C@!2lA z(Fk#Zqy&3WdWdvv@PaSr-w2DPN1?s%2v`_aQ@UtP2vz;IgWR4Uj_ai^W5v!oeEP%@ zhPh1VTzeTLxE!?hR*LQE+l#jmmxOq_^!fu~`ILHCV)_PF^O`t3t`Ci+$LXWXje<$}B)7F*=B1JKoLI8rZSTX1_<@=F22)=C(?864^GR4fUz=1#HW5#y^)P(cCa{6D(f+8cce4e^1m# zP_;7yk6#WT@p~!_8wJ*Yx%k;`ykH=XauT~Lev^5AnZZ);^whJds8x$e@ zRxIAS6pczxvT&ADDJnevjCY=^vQrMqEF`}RU+D(ojn@%$>-HS-HueVQMMYq(ZwO8u zL|iDN&!oQa>|V}?)ub7*OI}wnqNjzDw~1u?-eFAf>=|5`?2krm=W&IaB8xn_fcc0! zu~Dgfzf$gr-R1X%FU=(3e1RH^DSOM`8H!QoODd|wm!p&U16(mI56g_b(XpJPZ!^x5 z${}{pY_JwbD=FZ)nC-&X*IpBcMR&;IS;~YhHz(1h{7Go_SmJj5ExBGZ55lJ|h5&9q zELkpuS9{yQck6kuILmvdfoE^uHYdA$?h6bXQpn1UV?k#5JxGfvhppr;kkL(G7wHXC z>*|PW))q2-+d85CjswD67k@H8QxnMDRa{`;JkCgT3HSVlIrqx-E?oBEV1-_z!2UoS z-QGDw_|W7RDf{jQD_2$Io?5GG{X^oc#PL~*)&mRLwHLODSbx##**Q$`zwf6D+;kES zxI0=`t(uWsyUw_>rKa9V_R7Ee4a>&ioZzbrBuHfodj+4dqwADF=qIvomrbjsn_0!<8lK0a|4COr=w`f?4G{ody!O}Ws_Bwbh zPFCde7mV~<1lP~w{$*A+gxZtZA+@A~~?EWeRKfb0=#YqY{+5I>z7=B-1 zgo=OvFD<3Jj>+21u^yD-*wD0zl}p0zJ@I(>?|W!zZRPcVhe1|R3vVkW2+REBz=PRw zF~g>Fi7Uh)D82$*x65Gt!CG8%vYP&KJcyH-Bka$T0a2}J_)j&5cpX1P^g?Vg*?%tV zz7v4X@1*cZg*dzYXb|`DT#C+lU+~A8=eXF!p4<{^fu)gh+*6$!@WaF&i?b3a6Kg`l zsV5Py#N(yWk5E#>ka2|??DFG-!s~k+xsfyj&Su1-Shk$NO!OTtcM8P!hZf?<_fw(v zF5o0fF={NwD-UyraR$$ilF$+-d}n9`7yb4KW|jSb#Wh2@igsO2yG|CWEE3_MODY!B z8kfZ^3dH+LfmqNQMxCtcd4-f0RGrgBL1jBmS61QkrY3VKU(`Z)6GFq@?J@Fs%jy@G?fQT>(SMC3X zT|fCu>5xqDJ@E^oH(nt-7oDMxeon*}=1&E4qUTZ7;tHJg;{v{uamTc6pUB7qr=TS~ zliX^ajOm+u=+JScblo2@=pWKg8b0uu?Mp{+J^PPxT~?XAFQpFD@;~7r-WxHhGz)u% zOX0vBp&&7A&ENfJ^@Qq%UqKGmYDp2%VzrYie|#QZX;J^LUMqi<24_FFfb^_;N7@pU zz(1!+_^-II3mG|`QMhqmodpO{P23RGesBbPGrEcFNH99Y9SQ49D|zi zrQqY)Or}lyfD@%ua8vGUvhhf3x#onmmccgJ)c7$)-@(yr-z8VJ-pvxHd{O1vQd41q zpBPw_)sxvV(ool+4eCo8X@u-!JYD)8FD|86wDt%I?(T*Z*AK8tJDoK0x{0dA7fI6M zSkh)7i*rYx!TAII^mfDyKKI%N)uulnlIE8{^~?ZKi`EBsuPfxmn`y*Dw+go?1>@99 zJ@moB3;5Z#0`Gj^MWT`;pkiS)S*Ps@y?L|wENu(kgFYSVhaUy6jmliBJbx>bP6G>R zDG*wPQ{9`HCRpB z&0;NOGa(5DdoJO=5K3-k9TZxeR0h#o(GdC4NAT;WFa4-mN+J!OP;{&l1}EhKyK(`B zwYtK(C1EHu<5@{Xw)m`Pvd~E*1^lvd;6ucAb|*uQ1r{XX(7Xp&J=>G1n5Z(RvO>s7 za0B0nmEbe13T|4TgtxtIc%m;6^}Nk-VMRCndSV6JeQ`Z|@_}a_iFiTM%Uv)yEEKK< zj05|FKG-F%&c4sD#Z7niLzlD^S(a$ZTouw#B}WeqIj4hb{v4RMaVdP>WX3H-Nlqii zfGg|S&E*(!@czXZCU#znIbTZ>*sZ<-@n^i@-ofLrjc04(GhM9u^@MhOyn;tg^r2Oj z3F^c!&q5ocA`RHj>HxCI)Q_Pr(L>SP(U_g-fd%ATjYgsJyhX3>skuRi_Kd z3o9LJfATE3t$d1{kUUHVq(cQEl5@#)&yv6Yi|W^-RXoZZtS_$qUeR!QdSy$@)2pK2 z|D8wlRIRu=>ufS=)gVrLXvm_!l^DIh2I(GO$eVb7{G637IM>dzeVIAj zUtSD3Sy9jzx(_}~$y0lFu|1FZs>*I3m<`( z>~#3i6bTivybs0qI##N^MXT&~ytEUrT~r z1_51$xMJy0)_J)N%U9?K|C87bKX^t|W#2Avnqv&5YeFzuuLbL;O0zj#dRTWBiBx&C zAZX22a%pEe1a0zz?w7})^=C94SD?c_R!Xy}@)L21Lpn^mQUMp&n!=nBA!M?89GrY8 z2_vf>kSfUrY&!>R%fZ+9(LDywFOjD+qt=7tNCB9+i^IfEq3|o=HQB9W1!pXd!9stY zIjMVtJUZb@B8z?t)>c@6k3}UZ(q%;Qt0X8~6a~Ss;J@!dr)j+JZEgOZ-j~(zaZtDN z#DfL0N4)<1Uzk+=1cT>&AT~OT%<{?*EKyqtd>lHbYu*9j!zRGA5}q%!{ve8t{(+aq z*rVcgn=>%4)2@TPxxzpH_(BQb{Pe)&o^R z4F+q&wg0N1ynQ^18L6?MTRO09 zFa{DFRJa`qVyM663;ksOjFjZm;O@CLsH6EGZdEPDwcj(*XK^y#j&~-Xua4%9x~QT8 zpV50ZXDO`IwZ%8pkI3bHE+pmh1UNZ75iUQq1-+0{IG%2U*7TG7w|eQ9gv0boS1j4} zuAHA~xAN~?j=0Pp&FM`01yWUKaezp`igVjBWv@R9O0QA7^*UIF0wP9fhYyuhRW%`~(})f@thWTUu?flGKHF zkR8i+gWaN0+@_J&xtEO%+`ch-nEiSTn>$pW9f;uAulsq_CN_jz9P{OG|9}SQox$0bn z+b1~d;SV5ngw&?Blf#3xM0-ypO;+alhz|q#nZN*tEWAy1ewGWCdp{yi$JUbOo@2yh zUk;IbrwwuPi-eUcVsY^GH}rWf%lcQ#GC}$S+_%*NcPrHjC+LO}gUCa8+fxE9H4X4U zTr!^HH6*Q%OxVbq(^#wGNM_<%xKC^1ajYd*zT&^t3 z%xK4P!Dq3iu#*O+rIFVK+hFc84d#EfA1%_)p;Dj;o|-rchtB#+BTC~e_pj~|sAr{+ z54F4x@O1+0eDQ?pnarc*Z68T>V+cHdzmLBy=s+*AhF!MWFzv-#qQc3-te{QcTezE) z)$9@Ocp6Wh432=$jyWV}e$9*vHiX2hT9e;d@`3|b#EDL(7{tY%BL{cq(40hTYAW+e zxFxNes+SDGQ9qKX;$@^?x3$x*7r%sBM_!PDQIBDAR0cS_E(AeDB>X9pf^4fO(mMY? z;bMug*!!NtfW8^@K)5K_L|^3st@1cBGKceY4&WB4=yLmRUWbUaXGzI153IBb#^D`2 zUoZa=`Fh+6PD<)p7o5XeRr3|BwRE(LDrSmUYdzXoY;^H|&!=BEuQ)7Mt`m2M<%xTteESk?%RQ!Q&OAg}Q@|WcK(m2{spaQ@FNEAUeZN{+&6;t51XiMX*4-` zxsN=OkfWNm%D6MCmrUfOh{uJ)_~zMljF@)_Zxl|39F=?wTPKDVSkKT=$i~we zCir=o3R*R77rJNY)6Sn_bjp-7KwL+$C_IE#0mgh^T#bfvqws6L9L{{EgfcRcV3NS! zFm^m9j;@#BNOmAmJEBH)M-0c_Pw9B^-FLFOFcB`vC-~-$?ZH0y8T# z7HvWi2|twFa1^8Ev}i=!fAC;(4@q1c1J#N1@%jWKrrw{AzxFA>s9lw$CqTy zHdT=QenT+Td<5>F{~z>Kilc3=2>UZmgq&&Ugg;e_;oG}gWc*?Wu33xxhf{%8oGu^4(f9nZ5WpVYk zjH9*g?DDFj+G&*$O;e{VUij~QWUiMymlqrc&4<&Vb7UY~yLg^_xi*JvYi}ugaQY(6 znXe{LD|{?$e4_xt`#hLsz8b$X8p6WT-ca2&VR$y#m2p8bOdxUqq8cI~ZJP~bym`!P zACfTRzESygjSslH!2y%r_0wqG;p|evIQGDDFN~Gq=YwHO;gNeZDBO}^sw?JFjdi-r zcJnnH95f+f3CcJ%TA7u<+<;2o1K?FAfrMH7Kg~Z3Vzn1?+$}Y3R2A=i4|n6D0t5o% z(bHLt>1!PPa>r7{b0HrcnhaS>c+b3?A{_0HCxuQks8XUQe$%^)JCvs4&GcUS^3OtO z!9^bwdUK0@H;`;EknH-${8Tv{r)LsBEW z|MnZM%SP;(_n(vX)ibN^81I@=xjr)bSfTB|^T_zgXQ9Y$J-%KXhEZ)vaNt}7G-f2> zp}h$(TV9+ilZdqpn4l;4A-A5`uZdw2n`7|6kw56JW6t_#Ok^qLiL7y|DHCK;*eTNt z$!6yu+2b($78AwsN4kj3sxZ8}0kN#N?Y^GnFJudASQ$O+uOJ`s!GoR}49M;_kz(p&kVaUx*V4QDEyqx&V zmCfN~-NX^F)8Pyld=>yR=pvu^T{ib9A8nh&*!JW}>}7fk>-CIc(dv&;@8SebyWWOV z{oxIB@{GV~iv->p5>4tCZ9pwvhvTqCrF@v(9-KJ34rNZKTmCMW=4PGT0wc8+LVtS@ z-fvGK{&OSAH(rlkdEbGXRC5KyEkj9d=u8IgE_h*hEQ!;zB{$b-!CEW2yXJN^9~D!7p29 zE-3y2S^Yi^6))`t-7hud{st-dzPKFQ$KJtjDrd0ko*gFY9RuH~rrgZ`!U&Z=fu7IY zh)Fa@JlxV??79_L(U(px-p?U>M2&Eixdj;iE`=?ITEc@*4>b$W;BctdD_)$_mqi+d+7JPONuYt^)Lx6ztwZ58tVX|pC4D*n?y z)P_!mJt}H+LflUpF?JVTkqyPbL$SDKZx!_)G8(+MMuVw(HbBW*=o}ctb|pPlXuxa! zL|mBV=EdxA`fQdks~7eBqUesYognIZ2CjO!fpefS>l72PjwiF(@aHR7OU^Q0`(($A zn?;!Zu(wk9UOYRiVUh z?FL#NrQg-VwgFw0V;S>um-m_U94g<|e`<(h1nD8p72mcS2I{8K_QC;Ubi>pgBi~hI_;4_tVuZ9~#?h$9;HbMGbA3 zwMARSAE{X}Giv^=4{5dl>t6L)uG5#olwoUd{q!)bE%8DVzZ`0)MWEiS7*6J$1*PQw zz@|f-HC!-ZzSCy1R~>fD`sGSyqvgQH=zqhi%0EKw)BwQc=V5tU0O;K{Vr;W1Tb;_W zsvXOi-b-g@95sgpXo;~;N{?urpEt;Nq{6nOX!v+>J$?uQ91IP_H4;gfusscLq}Sq} ztiw1qy56#1aV6}$9uDeefgpJ+jilDakd)F4vOgt3C~6Z;r_aivtDhMNhaY=SeyecM zs_qXf9T!1u?ISX?^gN9pRKXplZun`5J`SLkuqfguaT)Fec4j-EcH=w%(K)beNj!~P zoP@iNy}><1lwA?mT4iE&^bqDe>Kq;{ zFG3@?4;ZjZmnq2!n7p_(GrHiwt}CoUUzs)BkVp%dH1jQ*`H6t1Y%mz4za;I7GwG2v z%B0%!7sZ zJU%Y}gk7Ciai(XfaQ}nHXjR~ZA1nF1tNo{m=n`!lckque5I#WIq@$!SMiIYVkizMs z4uf!R8ZrGug@0yWz;tnAwtu%d+gztd%^rOL`(tG=X1OvHZZW}~<~3wo;|e(IpehXW zyMy~DYBA+go|t>$H(a~f0j=e8;Pr~@Wo=aj*ym*e%f>3gNbTY1{45MRB#+QV`n|9$ z60vZHtPElmM6B7>9xh&bgIhn+q200FhD*rvjCT=O}Zv{yZZVqakl9-1 zD+bRzR>jRjDR_nV2NTQ+@u2Jq5IOZ4&KsYDz`0iRQ}uhe{VfUx`d*VnvncL8RzUMK zqER!g7_ImIz+Gum+1_HVCepu9@oPfNx2L~h(Z-kX=j=(04S7q?NO@Rw3HZ{AJEw5$ zCw(^7WI8*R`OLeoQvq)$K7n0p%Ai273GMSFNM+Ay-UZikt1hj_eJ=)bX zO2g`p!_o8Op)lz*beA7xl$zZcuO-6FQvMX0@aj2!f4K$!zn@dcy?wJwx`XvK+n@lG z7c=Uj_D={FANsc*RM&lgrOmmpbMgXm;iE2z@_P(#>h+l1?`BXllhb{4Co0Vk5-rE*`AI`>?N*uIQjJj&dXiF?pASSojL8xr?CT^y<5S2=Mu~`WZ=8s zFM6t_95aJdStl+p!gBN^N(s8Km3>__W5|a2R6CW~>ccf$YcKLdE4G8M)G?U*?i%qe zy9&CZlNm9SVNS2|U<*}B>xt>Cq;50j55$A0j1*tP$_-Mv+nXqD zKkmJy399wNynTV$ct2W%EnoK+txGG2qsl0>*+#-8pM5ag%926dy; z=-_vkHk(yawU6(JP}V89QF{a;!%ta=UsXls*HhB%JcDm6VTF!ATP!?hH1U4xzodJu z3i&K|@89AO3d_EwL-$WBO4}x2@qCWp-u@1ya?)`511_7S<^h$t_=v8UQN!nt&m}I5 z3EUrCMnbb%;N;oWaQgE`XjN{4(<0Zw=;IL7w#LHwX&XUDrJoqSbwt0c8UNLT(&ET3 z&yDZR`6by^US#lKPMF)=84s^Y{4<}r583b-0Y~WAo&YPIAA-lyXOOk_CrmIL05w5` zDsMw*nFhfhN8UK7k#!yF+nf7x(e3Hzi?QV;Z z&J<%7#fUOai~qtSj;A9eC(N{t3NkYrxWD;mGaNm{WrKyCp(AS}Fd%vboO9R!J#P%a z^td{gOXdp4=9t6ezfusKq5+w_i@bSf)G>8wDoQ*!MB~1_=FwO8iBtR+arr_aA z`}rq=XMw(lAH<)D1h1ts;Kca}uDTA<^Vwc_xo{W0`LhQn*L7mv&N$qY(Ly`Mg!0AY z_tAj_A>>we7%3Hw<9m)`UdwI___-YQbBx$=)#9v{`U9MNyBQY939xp*2e@+IOa9}zG+jEIgeNQT-W`~V*TNRmY%(YYE#e4?rxxO* zAKx+IZ5I|S^h2jueaueXNp}qo(2l@8sM;aKZ?`IeNgTU&nTZT({pOA}Z_neM!bI#0 z)nTWH{KjhzEE<-wxYTGPUMhV|Bei$(m!b(6uQ&ipIM2!6z1{qAGbGs`-M8^-N;aC5 zM&X}$LwX|3fLc!Trn1gbz+0IBuiHw&Xm<;YKR-e}l^;;I;n{fUWj{4uXA9Tm_P{{R zG!nqiqGDg(@JAQ-L3(^9%nsa!AGU|$q?Z*aR$7J|&gsr zgF~D4Sjv*|?ESRwXmRio&RrOUDPR0hsdx*=)+8`tQBc8dJa)fCKieoOw%wa-nnqkp~N>KZ74nnTQ z!HXAaaJf+Wzy6`%@2s}8PCM%_3TDkGx^?Q}K9<<(?pOV%fB5`Tfia1A56ibzfNX{k zv;U+ql)b0|W9ftNb!RZHyZjj^XN~9jR0rDl*^?Dh7iBx|Ol7AJzsDj!TdE^-fmZuW zVGpaAvxWEHP`Rvgu+~$U$(f!`F87qcxm>im#mvZgcNX;5ml*Ma4pQwq> zeBha9a)tuJ?m6s>&5MuHsKQ&AbA1-;!h4E~-umHv%tE)_pK<+LFSvB=2(&EDq2HEj z!I6~vAh+=jtk`S_H;0eG>Z%DKVR8d|BbC{}>{F!j=W)ncw27Iz!-Q!&=*9?iO=VJ+ z9)RU93i$JX%i!RgS9IG?K8|biCo}SsU{h*?yaviHbo=F?UbwEdqyL4ilk- z6A+Xl#w_Wb1;TBXNEW`rf&O(=+^B}PGctsZQC>uN6BBtlS7OK=aS8auBnE))V?m3hP6HCtw_`3H*s2TRs4QmHj@JD8l#Qd^Ms;ezc2a&@|J`@RzsiQOEA`2FlkIR#+?RaO_r!jy zo4C2_752yJ+<&zHc;ng%|#^3?!@oOq`GT`hUn#K~WK1+b@zhl! zqt#eDe0?H5STV|T9a9K-;bWOde>ukPh&1~^NfUFse(}tl%}BTKAyVnwNVfhSCZ}rs zA*22@?6@$WxpH$gbLosS`~Uk-L*K1}S(hEG-yV-s2#K3n7iSf#e!=};zn0qDe%@$L zHmy~E1`k8En9mh&A?<1?9SC@a^E7Qq*}cyovHK?63tGx7o}EW#l-ASViI;g7-Tq+t zz6GpTiV5p&_zl^aO?cf$4BPWK{o+Ic#vS~Qo0YZLj^QMFT*MGQeQF{fJ)NlPa64JG zelAYmq`^Lo8paQ19FO=+A8J-BvprX5uvSw-P_V`qjQa9nV?IMXAFo8^?lI7Q;XCJ5 zD8|22n#c#D4(FaLq4$k5$mov28$osCLI8p9T}BMg`6#oiI)f3;lVFY)q>=f%y&+0; zHk>J~pm{yv_4De?7^U+QSGLAi} z1h!Wd^Zc!hS?iGLY~XKy-h`nMIt0JSM!QO?(43EJrkuu*kv^Kf_%W~@QOx_b>zD?I zL?%5Xley&aiaa*n&DiHoU~c@l3c{Psp^H@0Oam@I_QNsy{!AlzYqp>6kQQJ^Gl%ib zBhG7797n^G!^wm0#G0MO7PQ-4992H`W1~BdP3SdawYsF)yc5!l`{)~bGFS*rVr`&H zZZ1r2nFvkm#(|7qC|1@Bv9Da0;f$>Nr0(`c=J@ZKR)PyC&wX-0DDHr(u;t^T5g6nNAiBZ!p6X?Fa5S}t$oId<o^&SL1t0z&v$`bmg@Ct9?Ei2wo;yloKSOOYndEnYBfeAceYOJTq z<+Kry`g9MRo{BQDv(LfPV+0a7CVt5pNmz#cRH5iGZT5fspPpV)qdnET&eGakX>(m6 znOtX@vLRJ!$De=tPbaT9IJo0DuK7C1_o)vfrnf#2%_oYm`N9EMTvtxm8XX*}zJf-( zT+v%_0bAnCW1VXZ`F+u@+4EUt?U$0HjvF+=?>u8(h{m$zTX`ro>2r>z%TA#KK1xrq1mm2KCjJEfPx9*mV((czs3p97WotSpj2@ zB|=o~6;6}y1>Z3b;ocY{?-y`hp4BM7{wc1Eo6lZ#jYaKuxiC-11ja1-z*Fq4x0>@alT<&IfQWu2kWK6) z=ah=5&Wk*{ml`mM2@G?`C>vTg8Io_mt)NuK2V9$V!0FG|+9|)yaUSm|`uhwLn|HEI z;+Uh5u+Wt}K9&pDZgjxGi$9^xQJ8sY{gC6x-G=xkMaFA$GLyR|l1UIZU<7{;|5p#I zyBgo8{S~!NA6{Bi@>J0}QtOUwkm03&>fy&!E>rA}J2pcC?)PNyQS=Y0@T7-cyg3`$ z*{PVVdJ8{ZzKPxYGLSvzh;cveaCu**sJHqxxwri=JlnPpJX7aE)<-j#?6n>2H4C7f z&4zEiT;|B@Ycw)$6J?&PAx9=m1~I!JI2^|vZI6D0xSx|4-IE+UYT`uZT(K-nPXbD} z*X!oQ{QX}gDPwH1dL6{M!#QY#sGKvat_wMyEBAB3{kF&dO&@DpY zq*Q1RJj^-^9}lKOaD^AV)R+Q(1}XG>tvD~kne+W|>=Kda3}_R62V0j(F?uVdn5`{; zVJWxsXcZ`dOZk*vk|#)vqeYEN}4Ms;;X!Wyvl-+uDhTNdJ8WWitUKDdACGT7K9!o|E; z;7uxk2F+a%o3sv$9V5t`L3!5hY$6*tWd$qlB7|qf(`kU^QM|_~P;Z=`q1-JKG-y~x zydDhT;yx3$ZPP5w!BChTm!<1fAX8fim8s1BT8M|PxrlgPfdQ9^QZXm zXzcUz^h4kn_Ws#%Y(st&&N7&Q5@9Fs^He={;|Ij8g>BU3cQc;tKg=7?`O!XHxWw0< zX@lbjJV?0Ob2xN-9t;;xMh~Si@Y8cQcaQ9c4Hse=2URD=`Mn!64hEEQfZjn zI4cgFGwq?cXz`IQL%SV}*XAh-K!!T2l*e!NHpdAKDP@}u^U9OXFv3(YFpRXnb2o(3#$9#)h$n)r+F`bQ|_WCZI$Q}Vv5kW?m%WGU4a1+WcI3HcN zCezR58IEw?m^rK4|I<6VMxrhEmCUyu&Iq8P#@clPl0QXiomBprPb-q-N#XYgBvW}N zqm(v-vHtM^j;?+R>qIozW;L-~%zT{+J&dL!G9&J8boM4nZg=zT z?$1zU)>a~#*nr1mv~jUcJ(`)N;srfh-gPr4C?8begQyz2E?%3Rv|_eZU3DUUoK%jt zUKpXx&1<;!V*yUSxF7Fb+yzIxl$ncP9>QN^hLrT5g4+S|tlYM0U;^4;ZBH@;zc>Pm z?zq9A>QOkbP@OTaF=b3{S3>Cd5-^N$Ac9A$VQ9r=3*|F^NbjkWP;;UfmVKE7K{o6%ex&--VsTxh4lCGf#IE!|i&t3$-|T(!m&qTn)4BO(AdjUk*%WE!Pl|3^*-)8`hdz#NaE#A(`AaRW9WBn zS2|x+g{lrFQAHsOG|bDw_+N+?xi#3_oP?uXcBX6f6R?(1hK(hO;Po(&<62yT^&KzZ zUONl7*ZhRkTQbb^zPIp%^67@;PzazuK0dglVZEX{#zU)I##%JS?)#lS_;p3t){c5R-wmE z2c|b?HdhZ~Y~_g~v_be1N@)yXh)X_dWL>I#w5^lO&xpg_Idj;1$oVVcoY~g{v$2Cj zgMN4v_0Hdk9?3@JRL?Q)CMSmD3pjyyM>u$XU&lTgr$!o19Ak*cVdlp0Ls)mClq8h) z@&rVpsm>Ob9FsIFrR2BJVmt^E(tOKft0jqG-DZ#)j0UeY)5w*b#@O8$ zi|5Sr*@D~JKwWA;WT_o7kbF+VCf(v6U+oMAyXwg3fkZksG?inS=cDC*dscTsWvylW zF1W3-)bh^i-*kFxat^18dBjTj{@iLzgM@PWYjNwe6~^ZH+}bb(@a7ub-jtufO-!l_>ZvHAtct z7r~O&NZ2IS!WlDzc#966gi8yAn2w(xc|jR5IO`0TmCbqg-NJ6-13N7^!F@|EH9wH@wn>a)`&lc?j!Gtw6!~7`?xJPCuJCM4Y6=>jcB|K{Q7Y=--kH+WnRhg|A(=N?M zhI2E@%Bw_V#vzPPd5*d*mTcy(P*&@!61$UQDEw99SjL>DJtEc2dC(@pwY1qReosW< zr|QfXKNH4Rb}no$n~GI2Dx}Z+D71*Dg2Y-==F|gA);1#xO=D!4(9s4EZ!9Fm(H*=k z*@dX#Jc9R+8{y$i%5dlWN#MVX!FwE+#iEMavo(#y;=ocI*P2eBw{e-73wNON8&?!r zHDEbU#hUIZ4CkG1mt)?%-2;h^xmMj$&SZ}AQMj_p1a$hYlB9tgcs+Lst^1;k<~xV! zxQRm8ryYfR_hsY2I~!`ThpX>T3*mTS4C(3Lj8W5H;6?d~s2);HixzOVzA~5Tss@Ie z1LEQBEeTjT&lDD&b%f^!=0eG1PxOwaH-klU&4-sc`fCNA&kip*2!1 zwR=xlg5nJcW~`D6KJ9-t#KA&H|(NE8zQcU$#PYJa}kbh1rLaK-v2$y_hftK39dn^vLUEUUfcsz56(E z5FJmK{dL8Y_m1Gl(s*oMc^DsYjNqV=#hA{P@HUn4V3)ouv6ucr*Ho;=<|r#@AIPSy z4sYnUNpHx zuUS{aFTI_|{@Z_o#*j}ZsdKdh z^_+8!c-!1SX;B|W=4?JD6%?Z8DFMzahE@uj8*q%K6#GHo4fVaHfCp|v(VT^_u z=9hP(wMH`$0%1lzOpxgju7UlL(L~e2u-2sa2|vBD73{_n=A-9T6pk^*-LIaJ4S_Xe zNxK|&oz$bpO}*?BS3;A50!K5ued+YIA!A$3eP8 zX`dypHSz|jmKFvt-x1=n!WgaZYr(SnMWm*}2zQs+(E0nLV2QgoO!W|lGbiHdto&st z`NEBVeTgY9d;E#s=$63KMRQ2V9PWL-`871nYlT&D1`ubtq}Hlj0fUol|Eq`1IfILD zdf8il{xnjzy33$$*_z!}6UP3#&pbDy1Re@jc2t_x8TV>7Idq|L57_qdwS7LJm_Y_eBJX^%Ok$lf{-XO;~O(PIdBgsg=-r%gXoMyDK^cw62Dscen&jN)(}OfwA~QbUgb} z_cOXG-J@IAkHG~~-=jObna#78VmF$e!c!5PFI>ZtnI$s_fz>BrXps^OzIB4agfOVz zBn{%_TDU0Mf}QyFDP4F{hY6V_&wQxj_NfzgL5X5K9FE!y7k*{Jf`Dt#w_-AJ=}APF z;3*&zD+?}VYiOxc7v4&!_P=EUrz5}N0h((~&zF!+8k_CJ`51KVcNxl!gs^k@^!Ix9h=w*H`@dX3a1 zZ!Z4*{RkC5&S&HHXt92jPii~`!87nPw0es&pMqI}XR<^0y>qa4*C}A9rosU|w34r#3?tr|82Uto{V>jid1JSe z`6AQ+R}Z>!8N@Fz@#!Skwd4`eGGEB)z-O50oabts>nXV8sK%V_lY^dvv!G79gpALS zX5;5+uo;?fa6Fg!d;L)oEHi#VhxT=Y|C$7z9WNC(8W7xdaITe0Vk3#HvgI8%ZzCJV zzb5+tF@F6hIXT?K?K7IJ@~R7|%l=Wir_qi#iUM@p6dlY-wZe+&tC4j!Va*TM(VmDH zzT&~`+W0jR)b`{tazS-A4D-1@qR?gg{#Ffe++kv77PLE*6^=pMF$ z+!QB%+xHo8eEt9BWvl(^ca%1qZ|%Q0j#XczU$^}Io2pLPfBks-RQfqj^KtkUa2L+3 zz6jSgA0xL0gwWe|Dm-4!!UnTG=#={e5@s{li+L-_y=_^w_Xf(zWrxaI@vc-j|5$^W z+hz!A#u=m}RfT9Ya+;}q9;g>gXI$RCB|leqvaVy7u%6Aoc%kWXFkqU2YXZ`7bCEoI z_;421s}dE)GSMnHSdvR z%mpZ29(I?;u~ArX`~q&*mtyb9$+CMd2jO(5SA1{&s8xnWvkvi+EYY!ty!4NV`f4y}V8ce;pL(Z_9W=if>2(>SqPvRU|2v=B`T7Ig?S#Ocm%szsAT+y;w?SJ2 zmn+?{O7XS9h!xNA`t;K@d3X#?T`y0s{PM>WSJG(GNiJ7&T@0LfsxIoi3^gsPdi*1U8u0NIgc z*y}UOw-ECtHW?wn&EQ_myGRbg97a9haX%pSMpu{y1{ zsN9D%8pukbRnKh{jEG=2T5o4W&kC@EC30-ew)~L4O}V3wc|3;O-DY{Cft8 zm(~C|E1khtxwoDQXY261=Y`X0W2UpyFWja24>QTF6LIuW&MX?Yb}k&LjD-2t*T8%G zZSXr3Oe$`g;`nuI{^OtYTrs{qdSIUQ!HcnhF7|qLcSMcKa_;DX2SykIgAUPiJpDt@OI%N z_@(}x^t3;MZx@GY<*nnmuAa}|{FKur?)@d^gIsn;&P2FxsR-8`O)=QB6fdQ>!~K~x z`2PGn*!@kDxmu+IgEA`Yh>tMVaO~B?s|2k;Jr!>}H^wKOslfiygvs4bjLy13$l`wc z`{sw(@uNG~?Sq4u9>*dd3Q)m)KlXVp#7);jnI}pg;CtsxtZOu4^|(AUw}-my%_Ac0 z-=Ot)cB44n6Np9ElcH>z#C&G2=~MjGCdIC7+YRRLgqg5=wZ!)31EM%}5vlhSgVAks z;Io1W^T_)wUiQC^`CG%uu5&3c{@YaOs^+qMoc3YS=>}9CltvJq0;S`Oncl_PY;)%U zA~d=WX11kL`*2s>Up+_z*Lb5ImkWO+P!5;h3nxJf)F8j*DteX}!oj^Z&{Qf2WlpC! zMoJ|-=u3kMF_%HmJ{P7|*HAH?G5`6sj(ogh;N>vSx}*8Qp^h!n>ZZ>+wxhK5-+FLc zVgpW^V;R-AQp}0KL=gS(inMODq=NC>%&hBy*3T}3DBnqh&9 z93*|!CcLgQ^qH;{f9Uhlx)5MGao9!A4dV)KE?sL)ERuCGnd#HWsx449FpFe z52vei_;CVDF)>aMm~YD3XMe}i1j6MyHsN5^Bo^JQ!9aKs``c?EXra z)-Yqn(nf(P8^09x%FDw8)5jz$xf||jrr`2}8K|zk5d`;D!LG{|*zURwA3N#e(4Jd# z!%=xW`OY5Re_qe%$qb^F(NgewlLg;SKPTG?obmYJVzgWSivMfAFE~$ZAV(fbKyZ{E zb*g4@$>BnHJAEwZ9CU-r3a8=ryigvyathuaP^C&<2rE9Oy+*I@*&&;u zoU{MdgU=I5hTq%)N-9^a68hAMyR8-z(v=5SPpHGiD% z>szplk)$tCsbUCE1rK7KNh6NC>4lBu3wQ@w!udjj0E=CNu`O7d-DhbBVg3^ANW>-7 zxy{|tX&0ctu9;ZVa-J`5QBVBsb3kb00~+0E#)eF?U_V4xpyxi zSOc%iBH=cd(qXUkn)KG({nNv|pVgd;otuXyJcyy)1xI0Am>azA zo`-5$Ep+Abr}S`r6t9=3N~HC2$%TZmcz!}Qx#^G%=MNqy=dPWmpBi<@@LEy&Q&I0|_jc3BR~JZM;#%_EBO0-t`=$*WqSopYn9DKut>&1q^L8k)J?W3o{rVZ4 zy-6NjraZ<2^0DlP?*hz@;n!H2n~zVXyJPFNH15Xf1zq&910H<&4ie5KFp=Z!<^vC+za~rfl{s1NPjGdvr;F923}F1S{Kh$eM_;@Z`l& z__`_)HgLbYV_O<{pQ(W~(Kp;|*2!-jN+BQ8ORe-b$I#`5(q!OMCgpr*6; zVV-a!o;zyGnoV3!8Kn}suSA~zwq`6ok=e{2ZTLtMBR0aAk4|u)tdv+BFCo?o^!}Sq z?K)B}_k5dY?X_9^qm+woos>!4zCHQ>z8^q+EDes4fyIS?z-VwfGh>G{Gg|c+@(u67 ztB;XXc=uU+RsS6C@6cnd78O&C)<*ufo#%Nu70%>~Z8Qi~ZX?ZRopf5^A-aS=3l18c zg}=$c5b$0C#*EmL*Lzfn#?~>s!R0M9;?QGMTENYhyYgX*vOd%Ffnz!z9D|3o4d8d+ zMr7u&*v!rE#aYWhy=D|$7G`0{xnqM~$42UeuqC^0u>*UKvwP~Y zaAi>o37=I4L+1_Xg<&7&Zj(NqdYX@0?RXd@{+{COb5yA}4BNsE;diIG*#4jd7lvG? z`$v4~%^%OP>-;y+d9BA-%IZNbcAL#NTGC_AH2NO0h%hwa6|7fw?oW^ zhcBF9rAzI9{$Bm6&Lcrjt*s|lMl4^qM6>SIaHfe~_rLn-Tpoof%uFV7XeLwtXcYFS z8*_{ed%Em&0DT#_9M4|K!>FTNuQywrW$YDjYGp2sTz-YFmJ6#@9NJH&FA4=lMGxFu zKU$q$9Y>ce6@*#IlbF|y_X+c90@dX1!Mn^`c}50Fkdr=%v|Tj7nq%Cv&t(U{>R$={ z*YZIncLz;wT93NdFW{8s1mfsYPGqM}#0se;{Grjg&^(ezRA0`*_`l^KSt)@IJsU8* zDFD9eiZWGiY9PmU26N5Kj5)fz6}~CXp*?{`XtdWHgtjQbv(|K&=a>M~%iJ(?a07es zY6>fTT8Nd?S&R$aqtSo;QnU^Dfe%6xm=o=JWTUzcULN}fPu&eXZMH)^w&JFJ<#Ud`D4=n*!?J;Mx3mb?g=#qo6Q+#xc#hP9FxRiH_uXaxxvib2Z&~yPGOp>LNR8MnKP2h&_}_scL8* zNxqc`zeHXUgJmwLmv98Id2x}iR?D&YI@3TovkIroe8F%3qY8mH_rPB?0tcCJ z($4K{ZhI%fmnu&X*4=?$wjaf5g-Vb09M!Fl#@nx6&d6AAMtjZYIl|V1&!rnCPkHq} z=hICWDZRd8f%S=`4SW9f7}ssl6SR62_V2zc%Eg6=Z@CSp*>jYyuY#t_@8FgKE7tV* zE41Tuk@A*ZxNN5a&g}PN)-AMxd3B%3w7gzAL%ED@UVVeicU}cSjY3T4zQ54>bO-#I zF&{GTuY_q<)3HkQ4wXDP0Y}H?68YB?$Y4Y~O_Q|(C!-KJ|7#z_mi9pVUIQ4HpFr-` zJ>)0ptOo6+C*X10L$Y-75S?)&6{q)Bkz2}Npx!{7*>ZUw)A809ZePsf4TbL~GUMgY z=Jz1(+cJ^eFRsb{rn$H-%N~VqPGosvY3=A}-fZz1)jk@kEe~TOz`)9vH+w8ei!Hi#qE4&=%!24$v$ng9y!+WULBg z8O{Cum?WdY7AtsRU|Bw%DY$JVF{OhfN=CqJ4eow>~Vz;gbSKwBDXvW$-5^pSym z?fCR)2$t>Lg`b#Gw09jvMb71t(JaF7djjaKYdbluFBc?^9E1%$3t_*4B>zvK0E#UR z#-*GetZm^D5HXth-}i+>ceq6R&$A|ab{5ZPXw~h0BsAM+#lQQmoC#k+J&5BtRCSYa zacy*L?Q@h@B&MU2da>0R&$%q*@}yS7dD%z|K6ero!&Ue)21W4J^AG${357Rh9oW(M z#|-ojf}vU={w)22`({RClje1pE4`VC^_s}UiECrnqcrSXssZ07@WCkK8&t$+T1|X^ z7ffrmF%$UHn9!It&^JLBZUv{%DoCp9Lkb_J~QaDrs3OFY3x z)x6J^NjP~GmnVFpmN;ZaLLG^KO(~(Y<%cWgs8FhyzZ&j7-U1?%Z$QhYQrIfI9pq2X zwo+^^!O4Rn>>J@ItV&Mh^LIG@R}X)`Jzcv_VZL=s{Y5K{SH^Xp*hMxa{{PlPRi8K$ zAr=ceG?PJDQxO_9TImi&U#t_JOBzmlz(MVoysAlJ?1w%N7$>3xmj;SCk0+9!JLdB= zX9tt+)NFY6JPgJgT)@g516W`;h?i&orGmF4X%5dAyHqBjjdBYtN%3Z;NIEljGGD@j z&CPVdZWXJFjVkbJuL*j4pTGlMrcktZ8Z)q9A){*`!g!8d4o0oE#KT7eczGLPfvy$| zS_Gino5}2l09(+hh#*g59;2J2CL2~L%G$IX#o`oIux#PcX-O!ggCk#u+Bv3JOpKh5@!t;HUP76*a;Tm^7K5D$re~>Vld9?fhB)kZN zST5tlPd^KT-~Pe+{6r^L{^qnV8vHjgw1P zqlQmB(cY4W4ZJ~^w=e@&&ojl&oMWgcc^B8ry^U*)&SSf=3WhypX~(Z;`215SYm%$Y z8cNHtF*ZNZS}PG1qm8*t^;K{_A%btV#Smo^7USQjXEbbd7v1eB&Q3S(Lb;05xPa4S zR%t!wH5vba{G8{&o4|rszXIb`vWH=v?lBL{U6^q?@$h0<46){(#r_}}mUV8zn=xPL z-|z2<`9=>=R9r;_*j4=OwR<^DR~X7C27siM6TIdJ(}NQ!cQ>Vi{%s+=;EENve~AEV zlRTDP?GXd9&z}*4O-ISZtHs3hix0H^WZ;eCFMjyAQ1rh07h9GJv4N3ts5qj>DEzUd zcG`txE%%*xTc!$;J#l2;avhqwClUMe6sVugD9F8*WWtzz|M`1s&gGsTNnT+6(pfTp z`(Dku&a{z`zZd^~Ka@v2gXS9-!8PT$Ra=7yzMpj+rzNYf7L(+#;O$w^iaY~<1=HAt zT~W-VKWkvjUj-Nn_-+};k0uG56G7%@K8#r+3t7$uv{l)eR21%DS7&O$2_FW>%&kT1 zuW8s-G>PtZ%7@2Uk74IGY0%uM2ZH9GIHpY$kNKGc^Ji%CHx*dG+^B9Suj~fR^8v7p z&8JlZ0&L-$cWBhOA2zM}1A7B2!DOv3Ob|H-MtKroEBA#Sy3&fxj?+-xSC`&eCWDI- zw$Wm{-I&suhYsi8VZ~c%*6rQ}Jkz=!>k6{)L{bVW&0dB!A(~k5YZq2MD8wz12CSj0 z6x-*PgYg+Ycu{;8gtXMdc-KOR=;ge)+85CG{v0G80pRACN4L+MMPCP8p>=Lqn6>o~ z?s(lzRg)IL1uZT-V)q0_xGsdT9lw#e%k`f(-dzNbrs*Jarlj`VS&o6jPr zYCLMy) znhBwH*7N>+KXCUJH=k}!yxF<_-}&@WgBG)HRRSFNS;uQK+e=5~bx>(k8xwZ$Ncf4J zbbYxG?kSzdF6KAF7H*zvitymL@*n8-jxzAkU(d0|*D(8LDKHhHD{DfJ7~%HRL%h-L zo{&0K5l@;r)01PyFlEuo%>LmWp!@7NEq{_mj`fsL>FaSQ`r8Rha_`Uu25YH_p#hv~ z>mob5WU)`+Fz)@$;Ai=IzEj3VI2Kt5cYWs6zU_$Siv%gK(Fx;mm467;PJ2bKsb5Eh z?-J~zN9ic#~DiZp+D0=XL64pYyrX7DgXe>wBu&SNnGu)QKwwY+ObEy$@R2Z^%?e$uJp$Rp2_JjCwa( zF)S_xt3?-)`vx3~Wb7F_z1xcwi#6v3be@7H(PZ+ia3jxd^9fSoa|s^T&t>*@bIi^I zTS(aU^E|%dO)3_>82sYa0_(OM7fw9^ugF2BB6~mMqawf@9{fmZSC--GgI_5-_8D=$ z*+aa(3|LxoGTh`+T}FFv4a_(Y%=cb76Z9U1!>MKVaP*NeR1}?}4^~aatvl>l(`m=i zt=tbUZ8yi|{i%5MkqjHW;s!pMEr-7?Z7?-YjV+EbWXcLhe=C_r_Qse3*H?p!R?B zd+&#sI={H@WNo}F?(t9IS#{b$-EoG-|N6Cbxs0$h^#Sa1Rb#80I%<<0N64s>Ja)XS z!rrhPUTxtfCYHaH`IK8i9$5R~X}vwPuvC&*MZ|FX@G%9ND{=c|y zk0@moDj}3qQiS*Oydttv(UNG;P}*DDC=nWnBoURF*}(gGo+y+N4Mi!Vt)fEG!1cO* zxIWjdAHIJ=I`7x>obz~``=hHPT(~)l64|rR*V9qVsre2GC{pC^Z%c%YMvb8N z;s|UnJBFXaztd@Br=WD*U3@L~7<)7maLm|t60o<;yv=tU3;kTg|Gn0Mr&Jh3+0=p9 zFJ~6tF%MHl<>ID9e{A;ug!WN}Olpcd>wG_tIWOh+20J<+rfx3xAgL5{G*5uu7NiNQ z^zca37#y|n185EW0W*Vq9C$Cu;$xfW!JZ57z^W3j_njkW9hKp!ID>NKR#3a+z==2b zaZ!qfgzLJGw&tgBk@!?HFk&UjFB^h+yu=t5*hk8zHWIzg2z+*rk>=k5XwtWU+Ft&~ zz1<3eeMiIG4_Wl*_la1T7>B+(mDnKt8&6isAr2b{gFOGU)u|Rt`=p>>DHfzc<#E;e zDAeq@i67PC@y&t^YPkC{v5-gskKhvc9QhjD=ZOB-Z>Ue-(qDJO&Qf}+eOC8X!xC|q zr)%e|`?ud%d|VL>Hfk`vCsypDnH64ZodrWj0B#=Phf}BNab6+QxLMccaRu*!A>oJ~ z$w;0=qff0RgDHG3IPMN`f&n^tPbw0J9MHORj*wm>A)A~-r?E3ID`*dS)ZRntj|jmf zCJ)%U(I8ro1eXs=akdQ~iN$OSj9i|JGgC#lE3-4HVeUuVpXP_VelH;pp3DaMHM*Q} zMK2UgnFQ6xz2T#bG|M_sMT?E{vH67v%U9|}>Bo0)qDc@Q$-j>H%pa5P1cL9ZW!#&o z9=Kya?@Pb(na(qPUsx5~Lsj^U?TH~b@$VB$7OG>xlH%41SDN{Ami6a_`J(#FPJab% z@OvY0RLdlicG<@AG`ryMO5R)o{ zA2f)xBrg+6tUrNe7aj}dw7TLG$s)YP-&1^n@vQ0Va~!*E7t}Un!;qbx;Pcd(e2&`6^SSle8eB_r1`Hkbjk;VHWlvge{HLE*R%}>yb+n!3 zEJaPnWt#l{v)*m#hok@MBN=A3WW!!@_H*+aJec}c*nIvO&mPIejwXe8zGM`f zjhjq=>{$%WvLc-6)e9i$B!u~cA}GsieqX=8rt7mu6Z0Pd_-I`Y8IrFD(ZN69TFg`~ z^!YrnF`fb=6t+Rz?GspQyqq=}#~10(mW8lMs|7msIkY`Fm?|f(#k^_CtX26NwVGJ~ z0qzQ9$~}FEbSe>Ul#}7c8+TB7wOBMg^%(W}|AWl6RhT<{IZU}P!7Wod0>0Y2!2(PE z^H=n3efg&9=tL6$^rQ&I{m9#Z0`u z^bO8mqsn|+dLVa2D!1L^7L{?f2IHXN(0acCM*Pkq!lhDdc}YLcoFEB~S8B;2{~R>w zoDZW1W$}yRZ+QLp9Slzq#{|nF9Ku3=&dia1I`&cvWLGvx+fd#UqEXFh4#^^+^-G|26>X z?v#_@$bJyc>;3P&@LwsLH$BMC@_5D(;9ufh}8hoS56 zX~dv28ahkUX~!bolVO@jt&hlXg}pc7TWuzEL=}=VHyqKfR1a)7G{H<`Q&2tOOLHYP za7^h9`e(rmo?{v!4Ea;cXFdrr;S1HwhkXAHtOzkLA|&t>W_M zycPakAe^U1;!yIU}e)5BGF zFM|4l<7Byy21fKaVb|{q*eCfL^VTV_8FR9D?zbzLZWjmH`-RYTBnNEtGvLH5K98Qa zf{$sc!l*_qb~p7mMn5|!yibdvY-0q}B&LD=%;)6q!smPj(=>EfdWAFVTXDPeU#c_l8y@9TTT`T3gm@Z;R&^Pb&F)aj<;Px_`e9MlT-1 zj6bdP#vDgM{(Ig}WvOoA86IkJ?cz@yHe(PIKn04zjJfS8SrBS02A_5=f!{i2+`B(D zkah3}wr^dAKl04LV(nk@xK)IvHQ%K%S++Pl#)I=)?#{gub>akiT_DoD3~%aPC%?c5 zrsp3d%Ak)HPeSqii!E5Hr@_S(HIR-kiA3e#CFm^6hgH>0FtN0rTv_^w%HUP>z2J}S zgT@fNQWyJ{D6vPP6Ij)gA2=>CR1lQ0gsQ&KWFbit+4F)e)H$EQpPR;<`9gVYi;>0g zHdkFHvsQ+^i@H%Fn|1UGZ@m5~4=Gssz!htU6PI@kPV1UJ&C8RTk|xhecT#>dInG}3lMeYThWaMLBEdI}!8*@H~=5m@aY4PTQjxX;1I@Y1*> z)U=Mp^D#3ph-Z1%>$M1)!-HXV_Cng7*-s+8i~j2$V$JTxycDyyT$*opDa!A^U)d-|sNFJu0mbIv#6IqN>t{EY|U!Qyj#uGT_q-M)-Gs2|7W9#4SQ8R}Fe zC=x^UE`eW?5~oon2G8vr;KiL);Mnt*2FuG}a-{;VdB!ZbN%Es3 z7n5d4;(*c%NQpTQYvnjl9P7yD9=wDv4F_nh^+%fN@C$89G+ERK4Q3I$oV65=#E_d3 zT-xwi+^K45)~jj=&FY(}{;MK9_Tesy?n1h|DwF;R|BQ>4^SpPxiy&5<1J{b8sEhwg z2%R9sEh{kNiq3g)p~7R_rEv?n89O8?S9}ZI5+~u`Z@W+e@1Xu*J*KwZ#o#MvX}^&d zF`e)gU0P?;VK4{0GFL+;odb(9%rIc#HQ3sIfHW4C(k~tdkV{&KrFY)oCq6%DbWti; z!6sYY6%p_BQaa*)&!<@q8_&!>Yj63%*rx5al~IYwbT|35U;oahA}yD3 zs*(%)TBM9M5w8S6PP?eY%dfa}TN_yRoaA)2>2W$6MsTTfJIU&?d+DKtKJ?tn;hg88 zGcez(myD~M%;y_Fq~_HxL5ct6r{%ko_N2w=voRSyR>#sk!;@j#nKBEn!m;ph!#6Pb zdWX+Y{Q(`0!?C}5Vb!Qn+^-3-C^z>Yo~zKtBg)n=wW0|IZN_kmPoIQi2I5eJ zCxjYyEhuoP!S_Rz*lv3<_Wgq$e*0EULx26k2|Z^p;mv!}0VBDHoPH=z)u;W<-wk=4-biHNfS~b@|)#NnHSY!yN)~7@4_(w4G)@7J^&rslgP!lIk z@kEgcr}zfoA|{;e!=G_ZEL?{7JVe;g(xgIg$qR%#7aj`!#y3+Vr+jLwm<>Dox{Hn< zCU{%Y3=eDngfiVVT$arQZcAz->FT_Q4g!i_)8z&K&#!evb-7&7J3C9ugJgf4x^9V* z&$OQ4bN}iifomFt@+muUK zAa+h6^m=;3=)}WtV4fnLkp4psz2@mg*V9FeR8`<1SO`%kpMvrmcZ zRFvWN?$hP=ica9%sV?_8r$?x~RY-+7{C@vMqwxL}S6p3r2tT)|!i=3K!28x!m^l3= z6|p={qBRzgpBtvY7j>TZl@*Ln#9c9}xP;iS&A2`3A>HDYhDJ$4*z4C)VP>zc&n!xSc%lCQ9lX2Et4fb^0Q_PK?`CtE;Qs?t0;?#7@ z$ScnMqI*S3Ml7tTk?U*!hkw%IHWyc%=l3mwG#ojk0fPq~W6R8Vs+$x7cgH@1)TTxl zwW%7`t=k6&`hP(2?o4Q(mJR#v2SN&eC$%T39~6(ObDi=ZVJ5#r-d7O_1ygOn&Ey>n zHDq9w`v4|oB|}7VFeuM!g4K$WTz~paP>3}E(Nq!e**pT4MIRH?4Y_DmXFZqB+OP+= zwG`m*(`#}4Y6rS3PXzN#j^d2#dMGU}YMy*A7O%MTI(E4>`xLm087^AGa&xTMNp3t- z%$>oCR?T2)A}{e?z(aa{pd6o<)niVVC>xzOgqhb#v6O)kOiyPb)0r@nxykCVgps#! zW#T0v=!vpB_nL5mb`DOpJ%eT;;W+bGCWh(?@mhW$hMXIMz;jR1drUyJU5Qo>oTk-c z>D1^}7#)}EE9l+*luX|&4K9U7P&LL5hPjV~r{9nA`78*@UQRsoNE0>*)FIn8SMNjDx+pq3&5|J8%m zN{_y6(RP;E_gB1$sWm8BrTtJ@ZT`Ra$YO6zFyKTDR-CtmPm7~q^|%)_xotRmA0f}) zu!)>OwksDmKL(~ezls$+@5^$>0thN82a7dFa138V?p+5-xwi^jU!#c|9lz5HrA76mF-Q6%a zJOK~!euTzkI}$wL2U1I4lhm^};5o5iy-Jlh;y^prRfx0a^`@*_J&3hmF=n$hXYi>2 zN?e234RA}5;qI(Ik6%ybk(`h>IQVrk8_2lLGgt1=ck2SNv55csAPuAbO9c!F%ulLFC=YVgOm48F=w;q+fg za_PUGK(#+1V{&rvqWMK!oy2>?Z`i|4k3djY@gq^;1VvVv;n1|hc{ul^qz2Sgu9+A`Zv|Q-$!(w4i94((usflO?8L!U=+aCC6Xw@JYtl0~|EHfU^vMc`2N3aY94J~SquinG zI9=nOAl*zH6#Wc2bLnfa&2k2$m>J4c`OjK#FfdN|xYmCM8Dc%amfNvD_zgQUbk z`@IRYWu(Ke1=Wz=UJWN^OL9xoOt|X1O>j)L0!>_arh?-r%-DGVmM6zU=EWT#vEm|? zesUDMw^pDzfB#<)U4qY@BS~+fUG zs?#{QqX6c)C4$=89%3B01WsvR1CfHI&_BrUY(A^A^=09_59}+Yx4VUo_jW`7`Q4DV z)gCUTUIE+koB!3rdJora0c@V7?`l8AfR9Ec??oS7tiJefJp>f_q5sy07`k}2(EegF zTnj10AB&%(WQqcGPm$%~OI)}*9?mppy(8WGoJDR+B5J-q z0PCz&@S(|k;kk^x*xBw!9E?9e)fN>9sZ+$H?h-QB`CH+^Ha{A8O`Q9_rW&41xX%u>&ru=ixUy zJtqJ3tHr&DIJl~J0CY?*VB7jD_7IDY6&+ETT~Sk~aJ* zKO|%!!vQVju%lx-X|Yg&p1!SkYRF#n?pY4UPUr}5#TL>uBMY7gR0L<&QAl!@67>Dv zN3WkfiHDu0^1sV?oGg+J`^7GivC1Y;zuq0}=lKiWJ9xfqlN9qq-UB500Q0}bV6?sx zn6K=DGiI?6|GEKAWi5fsTTlM;_l_}BpF1q__bfl9{%)s`Z?hEkUZ3bRV#YuH!!6UB zuw0t=k{U%rP5(+5^ZgsiO%jD&Hw?ftBnDjVDCGZ*f|bvW;q_cI?qcXzt|~%>^SAl} zpEMHT94}gX4jcoi2sgM?Wee@GCU7=W0pd@YaWeTD-1zU3oN`G4xIK@ANruOu(#r;> zt!g2@kJy@%-HF2~%aYOzVPXEL3Mz>ZdOY~ZCX6QvCpa$+gIIx7(Pw`+j8DzKG~)@+D} zJ^Qn82`kofXA|anvT)6L%uYv!y}#gvk9T@VFWyW^wi~ku&6(QTs^8W>I0-YAaeFQ9%{$l`w6X1=jNX1KpZa z0+qX?!T-|^xU5(KlFI_&P?G^%Sn!rO^;D1wooG^T^6R**?N%yzQWKZdH61GqQjEjhTMd!!{{f3UnrR#k7f9 z%2xiqU2WO+KmENc%p-zkjd!qoI!-F+*^sFvYjkZRFHih;K85rMw8?Ct9dBmB_Q@Zx z>Q@cl>nBpb@OhlHp(!^`dJ_Cd)rORL=ZLiUMX>TR5bBl&!)>$KRD82KnBJcVmlVDf z)}Cb)x@_^AxDkoi|Cw5QiE@|I{n6^zAW`fw2XAd>l98DVwdvMyGF_KUU8hVGL;Y!U ztpcjcyhHCP_N?6U0LBg%0s1Elr`VoFuaJB=c&-Tc{Cx}eUQZ=OuMP@cHE6THd107p z*NIl^n=tK;0n^!UeZ z=@

^aiT3nSl-9w#@-)Nq`T7K9n=vW)dBp7n!KkZ87?zhCdM zAWrWfof+LA_z-7+6PG6ndX@S3>A|37y!vyx`bRJ2%Ll@kx1F$2L54B^(*~<2LgmvMv45RB?mGGv>KA^4QO=J^s?-T;?_NqZOj`t%j6P^QdBHF2cZ69D z(oD0wEK##rAFecOL8?s54%s8jw7cLf4#dz;jzCQ~9_Ky5;Gwn);xK+T1p-t1)62{GRs+2k|T zbmed@K~Lh=%eAC75PVNnHMH#3XKiHDaho zX4H;@{^3ux$a_pPqb`%LyVna$|D;1`_;k27b|Vb^Jp}cRUBvpa1My!X4`ZqWAuaF^ zIBnPZe*4q}E1{nYbskG8SzVVoon2!lYPDzEMsU9JzrRmMuYVOcZn%tNZeKo+B6LVSKWu+ zh3R~Hq8;QCLg5+nie$~xhidmT>XQYeN_-9M4^ScJ zZtukgVJi*cv1NPBzm0Z zf6SRc8f#w?y+w-fNH2)I^>HN%8}DM_msr-$G?+c+Rt1LR+?X!a2e`e;f!#ikDj36Y zUtQ;FQ57!p|Jq?MS+QM{-S;<<%LlhIm8Uo!V{kT`GAEU78`X>^_pee-!4Il)W+7~E zt3*Sem*{*+8h0MM1B=wA;x9F6cG>rA`t^++#B6dUM;83Wbi+)(-cSilxseC%o5L^j zP8QSdFPHEm*C%-VvptMTEQZcG(Qtmx7M%P{;f`E25$h1bA8{P(d7TZB)zOFTW2(s7 z_GqHUtiBR(H2@fny0d(`}Y{p{A;LmztISFI`bQFOFw(>f zTS>^u^o2QlKM6z@<>K(SM>x;Bj2^HFgV~<@U=mvZdT--#UqKlu&|g4u^D1Cx+Y)f` zj0U42N8)rs9QQhD;{W9{?Kg0P(SxESO^F4JZkO~ z!pELh$r33I8op(S+RbtUlMrJFYuCqJcdn5o9G62cvmO#Au7pJ=!lAt)0u%>BVOAB_ zYhcm_|Fi#$zY#v8@b!GFZ!TwrZ*WWFV=LXxQI?qPcAxOMeu2{1t;RFQDVdSXw9ahi*}xLuDsR zB z@GU%T`E#-)SW`PoEI;Q)cJsLo7f)vzam*TiD(`|*N#1bztq^<>3nFGq|IqiA5v+?3 z*Xy@Ii}9)2!@TxyMLPv))@{x!ezs&SRnXmqK~gJ8aQ!d*aVwR*mGp!PHJ;}Bn5Q$T z!%JA2mB=1=_y8mJmhf9-Juo@=BQYH1i(j6ZvAb3rr;COEfacd_%%?tW_K2++Yjnnx zb|ri!bMp@1Lx&V_Ps~Kg^&;$!Rh2YrJ=eka@-=VcgzEyIPEp3_tr{caH4g@7-9WQ~ zIGA!xh5E_p(i5jD`Q0Dx3!-J~X}v7K;-Mq3CB7F{JiP#RpF@ab;w!jvSr3cKN8#O< zu5kIlQi#1o1ZUMbFU9RVgoLkj@%d`%aq2y_-n$yK#w}w0u+^x%Vj_Oa8sO)AnGUMF zg)kzX3u>I_FzcigGk5C)*p#{Uzx(Ij9dGpPH`rTU$sRq|aFt&Dw@vP&YbyVJk940& zU<38#VVO{sWmnM8+S}BHq#Bm-Do#t2jJi)8w*%$EtX$wm( z*%42%Xu70W5ew%$rw)>UR`UDN;EyMkrQRg_?)8yxXXi4HqZJvek{9I2^IEESsF5oF zz9|?wyqe(mPQgtS#ycDbs`1eRn3eSoj(xfW#lB&1&R!i3?jfX~V_X!>)q!Q!d{7mS z=Ns!=VA#qng4%hNSaBqjb@R<;cZVg@4G~| zy~NMeI76NPDzin~9LV=KU9fHbDCSAvSg@&EDR`fgMi-0P2$pRQCWZ+FJf?9vdZH2f z{@n?FXV=j&wTD5eTb0bc_m!-EXu>~k=7YvF3uv?W9@@3Pt7ab0vNn{df(SpVPopkt;k6jnOl3R#G$IB!-T zp?<^e$M1j72U~*!SQ)I2O}`%VH&wZj^;7SW)BDt6s)-5w?72k>PioVhk2a9YYnCxv zC7;pR%Wd)2R7tWU>|yQRLRnnzWs3Xb)%nSjC&AnEOTjDf1k4WOF}J)=5reIlaZBeO z>Wp^<>kbs~HifJuPqvt0U;b74A*_k4D@%bLH6qOGdsE?vku#gIe=m-;XvDb(w^CvA zXlMxeE12#lL|)e(CgD24aucdS>tv3fYVXW^(IougB2)WEyvo$TtI%| z9cpraGxXk12hED(ko{AU(c01u#$V@fed5>2K2D46lQy9n%f*0%MsWPlljLe+F}eHh zF!WnWGr!(EhL5ujlE`x>Amq6!E-M_(TED3!DG6~PqG z)uuS>9z2^_TO>$ z;Fthb$~V@Nhdkr@Jd@3l=d}Nwhtyv_?0bvrP%C2qm$X{Q@(rS}L=g%ss6pu({suP>K{LA&W-;8{l;Ix}kDpBchAjyv(@@55N?HHs~c zH)Qd*F?MXUfss%11l0Be^->rS46a`wnCQVnkuN)08;ewy9V|ojPdSh-vydKaUy75p zs!*_VJHGau%{%*Y4c*%-4{<%+_$Ffk_s$k)Hm05+xyxl~YQiF$_@&#SGSho`d{_fyXpsQSlz*S z_a&LBCKqcbefS0+4oWlkm87v{@^Qf!)iBWFSg$`0Wg#!{B3yKz2bC2UA+Vx^9B;RR z6*v7UFemWo(QOzNwu%~zmIbkW^XTjFb8tDpg)SPq8HiytjL(Q87w1~z(ljabzdBR! zEIonjsLF>n6=R~i-i-|I^noIMZFpiohT}btVm=Hu!@}DVOzA~==67KUoPv62-W>$1 zG+OBY+#huB*2P;II#{h;^`>Cxz?6E&mm?jcX8!xXNQ}~8!7~R+=H4XH>F@c$Qwqtk zGL9)T>k0q3?n7Yvx-_IEdpkOIW+#+%^#TCK-NqQhY6D{VB7cU zg2onA_VKAmc6Z%$)>O0(?G3hL*JXWT@w=0L;@d-aM-o&o^9F~Y#V|5<5xehsD1Lb4 zPrHVPv32f!I{w9S*pk11t^34vqesX(x0tfwr zxS+3vo3{wCUlIZeVf)C_i^=G)XEByOGp+8IuOi>36;tmbAtu7<6?$v!qJM8rfHtwk zgo8GaVb=)i(RzW1)TzMKoH)`j>7L-8loq5bX)^8&FY%SAEdTOIEEq~WhT9=E&|MJ> zk5oNj8Mgz;?M&qM8ahzy=qLKDZGzSFQ?3h+ODI{r_-ZRxZz^sTR-HU=O;zvz%I`Jb z^?022r}U=g{0A`T|sS%oHEBH%Mk9X2M0Erb@7A?1|fP3LlxKZH_@@5;Oqt#^a7B`2u^pCiCxCEc?i@>_Wm6#|qO!k%C zfYx9+cG*u)Hgn@``l)y!T%>j|Fl@=LTBX3oRSEFP)X`}DcQ=^4;&`mDr0AiW(%`kP z9@eQGhNh^+WJpbtmCn6gTh)>W*PWM=;{%&$lvx^SS&&bZt*^tr0!0Qi2f<>f0oEsV z;gq8lxc!|t%sH_e9>`Whl|(X_*Pfy#UzKoj=Qp}V=?KJxi89x&EW{>AMtcu!Om40x zYvP@Ntk#9oKO4xlJ4SH*$yknmqRPB_kifK`_yk9tZAfp-6^s)Z!t07s2vIKJb@mKY zZ|DFYPPa~I-u~bJ<-N?;Jbs*m)#L+Cdg(_@>))^1TVD6}-+foCwkO-uK1eR*y20S) z>CkSP1Y2~SKqpj*n`c?R=M-W1mbeuJci+PM0ApscT_W+nx)kB~N&KUYTvxymOln?& zvJR7J=QWnR608&KRq6z}&12z1gFBlhKaWl8HDsrRPiA|fj|s|4=R(@`#YBwv9F>&% zh|AOzm~m|ZK0Y`Kf9k&=sU_ZQZOKA5VL}@O?8<=h)MM~qnG`!_M3o&YD~GBFwXo>C z12tJBi_-&-vmdqQknElJp?Ze|^JU&TntgE@TXvWeY(->Q^a+BoF?qDg^e_!Jd5vdY z9uZV{p2D4@QecDlIk>UiLhx~T1=UxWLuAHcZR?a+jB8VXIf)CwrRO(a{h<+E8evWU zzMDgn%$wlPfC{t4Ly8IiB1vD=wqi_=J>r# zh!QbG{~4vI=#eSdqMHgm>FdG9{u2@MOeZjWsJb%&T9U%R9kYx{TRLHewMiNQ%S+SN%*9^gYPaF zBA2>ulLQY&ux#uol2y};c3>))n=|2W|cL&GC`Epo;g5;Zylqm4w2Y2VKImwiUgI9hpFC* z&2)L~1Wb1-LJ2onn6V=b4sg0>huB?GUvUvHHMWsG54XX@1OsTxGbXZLhWN_Q8x6w5 z(0SokT0C2yFK#%6g}q#^es&3rpE(uOhYV{*r>7BftzvSZpbbPOnTrvsXpd% z@Av-Y|N47vzbCUv=cQ0)Mjn}`5k?GTt`X@ye|bB$#n8Z49|R^gPx+Vqow4@W1HsBp zS=i~m5oAwso`+&7M(B_N^Rj&x)J==wTOH1zK|5aa77=A~e&hZ+l*(SX(zE? zt;WDVTc52fX(ug0JIAl(9t69n>MZEA!Z#yVR`hpspA#`25)zhx#xB_+uiNiviS_t}?Q zBPm3K1}dU7C@GrDm|4aWsg%q@6z;RHL}i|mRGLGBG-*(Y-}O9eeLugaXRWWl;9kqV z_Bm(o_xtt6jfNW7HDfKk`P@zrHS`3HavkAe;T;gNIR`&Eo%p`40$%zP3A(RB8NxI~ zVDyA&k`Qup*8g8UxEOe}x1P1)&-x)2`hJ;V<&*_ctEV0K z_q?d?4rQD5pOe^lC1(A}sf?&|0(^0)A&L`jkT_1qBg>Dcd)JO)Whz&)wVno8;pPp# z(-fE~`kz2;?KLPFxC(oAF9e|&J@Cj#1h+*Te`H?;mAaKof91rH4>O)tr1Z+NE~vtu zz88V^Ve(ww#a!Zc-mhZQbv=j~+XJmvl4)Z7IK0ujg5AZ{=isAb7^aZ{wPuNA#N-9) z;vc;1YlpA6{Y!p^Hm-XbhKHBWVkMKuv8yjd!**jchX17*E}H+sh~@w`G*^jz+&V;S zg6`8vzVZT7sWBM-BoULxoWm36gQ#NsOad)c=Dy`A#Lqkc6MrKdsceKRmX*+&vduCE?~)PJ`a( zN-ytigL9hwWKNDGn(Q&gE!mo6)0<-0Jf#)Re-?+zmLU4pyoFqTsRQyWrIqadc1ux&6!0+i^5I z>-9G%T6>!}shZOm@9?Jme=5;6Bm*TiCZptTSDe%HfS0^33Ya_jkh(<{zlV3?mK!;! zFw>vSJ$?vlJ?7KK;dLhs;9B{^FwgdV=lj)LvOyDDTCMMdM6|`Mt z$Cp>((infrem{!04b#cgIigI~HGkY1r_FxF}0HT4{-4RUlM}tv(Vf-i$gP$5f+!R0TY^*D&*{soc0ITgsyai$>(r@&%E4Ge794j_D)>^waeQf8fm zBjsb6QPX>f%r8SmdaMq_b6ksVYa>`BUI7pO=0cHEDO5Z-3Tf(-%}c~g@PFQ?P3O=2 zy3@Oq@6_*`v9(RF^2p`7#BVG9?GKV?x3W1G_|T~PfGCynq3r%bkn?%XyKx|ZE*@$m ze}6WRJ9fteJ0B2|dgu?#cya)h(sRT$#OOD_?FT5;zmAspenSvuab z%=_W7OrNhkoHlk~H*T|L{{~63Ryxz*)VNNbW8PN$oj8XC@yD=viZ}6-{|cr>rUbT6 z>c<`^#HGxA40`3vv2VB;KyfMjx@UMTOX0Vu9AY)*>|CSyDBs3+;rwyQY;-+EWi!Tv#~a68iYL!1~H`*5a^x_+h7Y! zs_%p~pDy%DJXGOp?0Nj5|G;?ukB6okUGItV-F7V+Q<46^^O43h2k!i`-k$FiHQ?dB z$)Ixfi>dXt=Vt!%K3&D#vD6McL)oV%v84PQu|5_KK~=HfabYIh_824`DQC>*H}V*gbr!Ra^Yw7e zvFR}HSO?oxypDC;m<4Hv6c}lK40cQ0r3o=(U|ZXHUY(XcYwj_Mh$sb-W*N$MwS~a= zuqbAZ`yG&7vyClK(xOSXwISjALQ-JTfcIr$p=o*`4t8eaX{T7;M86SOujP*Sw3XO{ z?tQ#OE~ofS$~@{GlSpi*X8>P?%beRb9&(TH1#&qIx+J|q+v6e7#9sq9&4lrNVll>5 zRnYE3i!tcQO6WG42zTr_m3r+@dPg%Kr%YH2nn`h-K4AkWeQzLr2Ml5FMMaYIjX+qb zzrf+LR52(GHDY){7-1BLM&p`{p*trq+e))@jqi5l2^XV8qvJ+>%c}?v%ZA9hu z4^CS$8EPDah?pLrB?i9zg3xUEpsbf2TwfAGWxe3-mEcaYj&2x?d|ixk+%sg@~klNk_1&; zxZkWb-jTlgV}N6$9tZ{|MKQ5^jm?&dpM_k7)i~&-%eqT&T4!-DL5ci)QuNIYUZ(_; zvDbHDk z&|}ZVWwV9L0`cojW$e4x0gT2(7_8M`LnXq%d&4paR}96_#!on5_hRJl6kxf_8N6L~ zmzu2afe`O&xHtF}=AV~@@1AaO^|K1v>{4e}WJ{p@M=Nvxvk?MjMj|-IPk_Bc@$L&zQWZE;YCg_0Fi}w{? z_Cc_!HiRyGY8O2%8IY|-7 zsY)^5hFih#!3H=rb&i?KS52JiSs2l+#rFm>Qw*7LEP(;Wd7(^0`Z?Y z6=plXq7v>Kv09m>>tqC=^t^xuPR@ly#vZn0w4%Xl2}Y%CF{r*!qOyDQd3jo9)cTYF zH4ezYJl_mKL+KMR4$Z;tiOQ_Wg$`J@Acmdana7TqBns>D>=|kAA{yE_i$2|QpRQ@# z1nL+2F|R%mr|0}8nZ}l^bntpM?o%-1SP;y7wo_x(E9SEhZ-Pbk8X&gjv_K%{h&>(8 z$s_K)Ilt->UY*_!P;iNiI=7j9R#%6nN&e{9JQ@4a3&~u^5O6q{1EY(^!DNvNbR`n# z(_2HN)RV}IQ!K1M-OSTlhB$C28*9b}z=o1F5U6;Z%Oqf6*Qzc-d6PKSyiP|oDJhs~ z&j16jMhyflh;`AN-djtPA-$NR(K`+<&{B4`)aULU@Oq) z0Djy1j&3+rNc{iqf=I(Nu*POPBx(N@RFp))XPq?cpr^pM`!#%;5e~`pH%*~@U%kYC{Xr&59xj9|<_k)GuKKWZPG$FU{w80ifB9*b9VBq9_(RML zt;R3zJ@jrmmzmNe#uVF+fL5L#RF--2nlh8Aid{G!pCW~MNutF6#a?hST}~FMy9p9! zpC&@FqlmJkJYDJ|hF>a!=(DRGf^j<%X-!in`O!5N*8N^U=oASIDICYnobv&z%M?*$ zn=BTzj3P+_WxU=VLj5O12(IVFVaKcnn%DFZ?=}Uo(_&k2y3S%Ed%uy0CRds7*`>zz znYCbk{fZhboYqFVyc9f9D z7yAUuyH0X^&uDtakt^D|05WSpi%E1|PJWzK2%AaK0enmIrp4 z+`znzcZjo%xA~&ddsHu~lj^-WMf1~cLh(j1=37c0{G9ro*x+r!k9HCI?9O;5Ia8ZA zYi*GrJoXIjI4XtL-USm~yLMQ``I+WMalS-}!|?0861g>6n5i~c!LH2uB6v4B6;_u$ zf<+wH;NJW+XuBiBM5?JXS&$3g(*Kf(v2Fj&E1cbT>d!1+#{a5*w5(LzpfV}=| z|DG4=NBHcH(+5$teH71#dB~eQJ04yxy$9C?BFq5~dng)77C0<>f>z)G-9h@t_$0=ED1(=74>$(=Y#ME$j^OthmG_Nh zL;Uu#V=V&M!>hQx1jpEYy1tD%k62+*q#PRR?m`zWQJlJGKHYrjJ+fuuti;5%Y*%lC z;LAcu#zvusm%d^ZJ3LrIpLlJgLJ}NL*ChuZYu6!}8H67_yTGSt2nwA7n1uoMoPYBQ zD{{q)I;AI3k)@He|5p%L4RwPC=_4K63o$A1G1XVU4oYr|G2AJe9E!fd)7R!4OdF#x zw!jl+a(Q4LDRE$VRu%L=4pa4)k=WN8f-8G^p*g4qSUX4heIl1pz91H7UTGuO^#dU2 zK@&MS6iYnsbWr1W1$ew80QMgZCGXBegYRMoI3D1P*U#S;l#VHZ|Mx88>qD}s9UMGA z5uV>K08z`Y#J6cT=q)RR%{DLT+B2f;-RlKdQ)gqAGa(&HWOL!q*;{m>-50X+$PJWG zwk?No6PdjU_KcB3EDYKwVC>D`)Z}d*!2UE?a>)*6d>{Q^e^A@7M{e|HYyL!<*U@rK zr}9|s>fDB1|MrI}`HT2qj{&P9GJ=bp_2?e+7T%fyQ4kSNB&o|!(lNCG^!ReXoWyX< zd3Z-)Wwo6!$(^w7`DU;Xbi=KgevDd-7ZWT!iP6$I3ch2f!m&_U=EJD3#D3^F{mY%{ z4rxsYbE=4B!3V;09K#W(3Vbv%0xh+s;KVV?%)r7Nk{zwY( z{oV*wJ7%+6Y*WaF(3vD|QylRe5krZIO6-e=XVK0eF9)~Mk3xU1N)eK(Y@u7#kd-+5Ui0`DI_LuI}?L5MrTrvz2F zcfZ9vY{7Oxe>|53ke&`x<3%|hG`~_s_`(5-pH3sLd7l7H85^z%70K>nnm>DA{4{b}G z#@CtA{?g{)c)msb7US=$MELK8j+>>e>G@yxr#;0DZa2}2e@bR?qms(Z$^+I{G#H0} z_wSK?z2)z3EyCU)ef)eQ0NR|FGCm%kpuazyW(H}nC2Q5tah4A3dVC5S7TzSsD`)XE zMO1N#&=*?lGZ7CZl~LlMMI7F2#*KU4(G-th!LGgOFwJT`l!#lCQoaJJ-QR+8SFEve zmJRI9YzHI7on+H}V}X0OD5T20fRSD~@{V^xkU^i*q3atlF)xme|62^*$F76S-y(Qx zbr*gGcapf046xl7O2#+|LsQQWA}1aUrMfRbQ6dpK)L-GW$Vk-Rctc>xaoMa!=CRLC zT>|Q~6VxOFp?VuIYG0Q!4UNm#F$2{suWc*4Cfl67YcI|UzvOhqes-|DzK48zBL`AH z#xU!TZYM1hkFsYzcw*e*3}BCBP}Q}<_&bN&o9m>~(;uJlw&jcnvN9^jv#&4kbGr!p zxuyrCt2CMAcO;m4y9gM$?E;dbkLV&vTRP!^GF*K!4T|T^LM3S(`sYU&d@@qSfmM=7 z5{zJ{%X5$ndtiRvw6{W-D8rZ+?|5qW9*_$Yyg@hd4UttC$Bxz`n^7@Gd2Ss=2ep` zr9Mzla{`LytS1S3>I74Qd}%1I#@0pytgovhKFdvU-scibQMRG^Rg;+c-aWAUrwlAT z7%q@ujdAiw8oq27@FsLkVPbezu%=T2)XL_T z*J7P>Dserr8|4-7qM8 zCs==Qhd-;9!@j*Q$>?(ruz9p5`zbx0yuPW)v=;s)C$?E}48jg_2KKHDfckuWeXM>5Z1Vuu{hqg5ul+Vw!)Tcgt0%35d6<2`xYg6K%eF`(vB-tma z2JG-@P6xc`4rFq9S0PWcp|V~9nz;FOZvjHyltz-XP7IeV-HLvv266S2i2v$gQs@hM z>&YhzC)_{$+~xO8$hLmhxlGLB|EsSEyWC&#uBDwQYR7Wd^Bl-+ML7E53~V~YBl*z{ zwCuu0Dq;J}jG4O@+;(Ju>@J`Eto)**?3ly**_S#ySWh)GxNE)zY`sGv^-&0n_8vpka)jBeSbO$#`hNE0 zp3Q7@#CEoA)>^jUuPQ`pY=fCQGeD~59Mmr*ho$4I zLVzKoJ#g0MENr?^3LB<5!sK=rqDRFkITtDrvXY}wqax_&+E792v8^zsEg8x?E8y4h zJ5a5X0fS}7pzNn7(J4JISTfZd^`?HHQ(n69Ji8CV4om|0t3w-Nw9G$oisa> zx;gdo{%0P(B+bEM{jnwdbIFTMrcBeWd^FnPtYgZ*^YB7{dDcNeio`v6190~dOo!vl zn-)37^z$0(HGc%Z7klzDV>`*;qG$Ai@hUD~#tjcWJ5MjuaC}fNgrDX(l2fMd$-PhA zaAEQlNL-f%5geOuiRFEI^PCqlQA#wUP#FK#$?#l%Hp0F4c~B-ho#;l5L-*t)I!U*k zMCZy;oj)enxhj#46AuNvP!0;C9>9@;iKOWWcmI|ik2}(?;4!skH2eF4sQz4tx1#6M z-X%luVu=#dJ1zya4{T!R?Z`q0#}lX_HXWmHzr?S9dx-fBf+sD;;YjL4rgB#ZNLfy0 zA5U~*L&Sbip*Rz=VQMxV|0o=v^0$#yX5!fCc@|Y36oTe9Pn@eg4Kgn8<#8qsI`C-$ zJrKE#S{XNBSw=AZoNA7@*5sieL=Ex>?_=x6NsQtmV`jYRH8^+R8(G_N0P=M>4#u(@ zwEd(CHPYd-J#rVCTl#9Do~8z)-NWr*4!hv%Z6O>J<&A)|#gp;Prz?c2mk@i=ndm3| zgtogIlA$%FaLQ^Nb6(~%S|~WMIZGF_GHGA&G{;7kAt651+LhziE|OWy4>QLrbOq^#`r_MtS$2 zsp7<43K+3}G^06U&K!-s2>C`SsKZWXXGew6lrCX>T5V15ov?v*{!OIWr;Kbkq73Vf z>0(fqHhNMsj5m!(z54Aq<)jN9$S;Je^HN~@(;sAX(|NM+x+%WxV{vY38hx+t4`GT~ zbY|z8B+I4k{140 zI={siY}cIzO@~xC=bR1)k34`PI}eOHx|w}$tjBiiHRCnyx5y;K3@h&L5AqFtL`gLj3SK+Hy&VN8TP(#+ zQS+zPd!iu8OC8fIR%86fpMsvP{xB{{7p@$*0Ke~w!;t7N>`{G&*M*VSaLJO1L^H-S zUxDed7|mQyiUIV}falW-z>4z}r9MugnICEeuH2i*Q|%Ng4_~Eq;pTYa=OEdz))Nl& zHKOs8|XK?OG7S^|FpXh4A68 zCA^So0#oNxug-{58FZY9A`6b9c3aY|XNYi*-_9pUWdk=lUREsx47?*hp>CWbjUAmieD!KEU2B zfKPoE5H)iY)OMZ)t5rF)ddg0caBm`{kCr0tUqs=}^)}Ejn85705>AHx&St}st1;%+ zW!x`6nzeE^Wq(XgfljA3V!iSrn7&nEUiW-}^mm?Y-rh7;xKoaGvFpdGKhG$g@sZ1s z*a8par$G6JAye~dUgbLz3z#LpH5@g_jy#j+gz|B?j~{V zorlABgxDRXmk=%+GM|M`GF|@q%))kg#^UfO#$jV9T@hYeX5}*)u5p^MZ&_~yJ?`7# zdD(HIBPGdhorO62@>{Cg*H6+W>JqP!SR%Z{0+Jj9&7D56Am%uidD69%%QtMqEz+e} zXB&Z&f9@sT*Y=R@pZ}P&*EbU{<_>S$ov~oa@vM6aG;w!=8ha{m23t#JvtPgR(OUB^ zISe;=4Z-Ty6RfW45I80!{HN~~%6-%%`(hSZmqSVXHzG zzxg8Y_-hT5m&^m9XwF;lF$Y$~fx0r0L zz&1Ra%uaax73bTO;l!>Cyqh0`5qD#ed;F8gkDWAs`*o~6KZ}iFyjbaPJJ}VoTCCv^ zV!cl&7DPwlyV%?KVxAQARooXGs_?|IX`@*$aT_)&(2iZFD9>pFvT#M}5tP4t3B3=B zv6Vtg;N8V6vb2Js<+FF-Ip1|>{?TDV!i^gc4#24ZoMK`PI(KICr-e2?ajD;t0w3+pCkLd?(_I{rbGrL!0fUf z`0UPtmj_?Ns?WMn zBC>*;uib<4Uz^~8(O=@-D0>>>I#YjJ_giDfb6$YPuIscp&>iUMEYL6<&4Czsw zT^F(Uf<2uc!Dq~Gzk!Y%4Jgb?<&{)zqwD*0QCX#%{u!!={P$JxY;;kY1k-6Ro-W9G{H+7X)}Sw-9&DsDpvmLQI9tJ}3)a%6yc60l~}s zAt9**JZ7c9!yjAV;LJhj$=F8Kdpog3doFw8@@jUEN8W$u%d?T#OO4IT_)n)d4G#|* zS4K*mGE)BWZ#^7}c|*?mNz*h*ZS4Q~okZmf!o_vHaIa4i3Xj;aA!{b$9xe}3chV@9 zS^bUln`rSiE0mQVJ-G`!#y=tkQHoS*0~2e~}Vet~&j74dqq6f%>Jf|^VinVS8Q zXlJyL=MRGL{$DZd^2!q!Y_Gw|+wS2~63?+H8bR|Tmq}#vn)vK|E=Vx4!zPY7w4-`A z`QR+WTu-P62T+1}cJ+d_&L)h}%sANbcs@LdYb3V>PtE^2m(m@a-zH>~49w~bR? z7}hum3cq4tfmJl@EW8GyEs^+P+J4sO$5M8f<1Kr}1frMCJ3J^p9US)mCDQMA!-|wi z&|>R_>>t2K-`CS)$mxc+YS2hDMAt9&eBdzx44m ze!|%#6`tAsn~7sqO#M;wat$L;E%g-L{I?FRFmLwPd@Ak9)SH? z2|Qz&6kbp82)Xk<78>Vt!-B%!Fy(AHNjiJ;8bGNIZo_wnj z<8R~HsP3jh`?k6B&aVGbkvy@CuJ#hcTdR2VN7EVD+ddsO6^NLRn_oyjc%KpMeW(ik zA1}ejgie67)zC3~8U#^y;lTZJ$hGqVEzJaSOIDWN+T>t9eAoi|zrBE%_1erka|6by zPo25#_<#AmX%+XAtxs9=w`(6SJh5B1a#`O658-=i|LAT0NQ+a!We4KyxtUyBQ_d^y znaot|9fBVkvbelvDm&r%Ei6A;K)PDGIgXPo`SP@wezne`PMf@V7A8J$?w}QX($6I+ zhZV5EH(AgYeGZ%x_6$x(mS)!`3L zO;Thxc`QKVh4*m8qKXWN=a9^nwa{rb8)jIh;J}Z0EF0>A_S&}~z$uG}HDAQ(4{p+Z zGhYi{s~x1%rw@>tYsct^v}zR2X`s!Ls!S{Ak1m{V!%)Y`jNwIfX4m>QbKc@#^h?WZ znDT8B9m_GLThS1<4{YHHs~NM}(3OC2@2V;p%WX;TCusn2# zc}7JT^)c;O%^f^e_r|b%=Kr1-v68x1ztcth5BX=S#Z|Q`2a4l;{GJ3VbyutI6PvH7_L#Vnx5iN>U@!Zozm~~bh(iTo3 zGtAvN4$1_kc-}Q)@tA;cx;!I$IuG&|EXP|>?(|B*GJJe&FIo7=2w!q}-*n&|jG8|V z_eQU!DZ3{#mYH(Q9lg8skWwm5JsE+C-Y*a_y8>?Y6br&Og^}#RLcAeXfo=we1!L_}Xky+? zLFAA%@A3j36BaWF#kbX2jpXs{=F!(^ZfOaYw-;c}ryg=t_%(%}2kEaKA#&&PTIQJD zD`GE_&OSZz1Q+B6(sN3Iba=r{oaa(PB0i2s^AkyUVc|H~x?7Hk4XDE^M^W~n%PLfx z9f}jo(@21@Kd$I}$!ijo$H=0;c#YRgn%XA8X7dNQnB&gu+0qG-60$hyo;_^JoKMGO z77K3c9uYj{^wbZ8ZKC_dit+R<4`!N{F*9a=EFPFzi5D`W|2r=pJ3JH;^Vb7fNpBg z{`GG?+>{DO=i{9qzvu(FUhoEwHc4jnlT;>pofa0$d$6ljyU=S=A2vPFV86^Qz@OVQ z=m+6Bq_h4fPp-Bf3jb_i45pld?$Q3 z@eB@FETC8HbP<=Hr<$T7jIHHtCZj%v_tS6@>mibltv<aciPBa`fEgtu05hl zYjz8amvP@%yC+Cx72?4y9_&6@?*H?08D2b9h`$_eV%wx>L0SXfd{8!za;ae8`sFUZ z7*$H7oC@jHlvwq2F(I@sbSMk&X(2=O2xz(UB%9 zyH69`r8CQSsU1e0E_-}wVj{R_q=);hq_DqMA8V&~LCvbOu&ceEid^!e$<3KyeEB2n zjUJ{k%jdzznib@W%6{B+)&jq&%xA_eJH`AFE&-c~A8{KqmJL5D!T!%YGoUJao3_bP z{vTBn1%b4F<&EXv|U_W^ZGrreDFn`)q_V$lJ zZ0PF{>@#85SI;KW8(#Bh$afJO)-0q~nld3YWIvqV+ebxlE2fv&!JHlSpqS}R?D`&) z9T#PZr%s|^D0L1oTwFrV&9WD~ZOS!^UH2A0d%0lxygJ_4gFWO!$U0Cs+D_*FJVhs2 z{1nKA^DxS#mv_`=0pz%bqtC(^D!bW|MkG&T9-p4iu`DFuZhsKn^vV-uzEDi(_^*8` zIk4l_6lUA~O|V9H2cC{7hKd7j&eSfLAZTfRYB-bF6M>k{r^rHItPi7QR|~b}r#_p#qK6L(z5`kbLOn#6AH`>TW{jI;yaS}Rb=u&GxKOCNWZ&mbQ&B{~A_$9#AqXec!&w#G)H*nKiN7T8W%;R0q#4pO{ z&}LKvI#?NE^CK=NcZxC?)~Im#s-JoDC!`}i5Y2sK7f6g{I_#@^2)l6~jLofu^V3b4 zXK5F}=u9&-bk{=Z)5|2mIfyQLxRq+HTZ+3nrP)2JG+52{e%!$AZ~mvB+--j6p1abT zAJZc@6jY*LIqBw>-76OVTMvU+1SPToX^9K>}@=eg-_64>I=PX{2kVHv=Ce73_TDs1#VleBGQ&8AUatJ zT6@2h%Y{w`xzI285UcS1K7H8L_Jmidq=t`f&w)P+>*+^f5ZEOYV=(9KR6G*~kB`c* z3rjTEu}?(FEWv#+TPw-zeC`j|#sAPDpVOG|^FHnwwVV7_s)zL(<}>NjwU{60(s)Am zr_fUCBTTic7yNQQFK|>Ag7KN+pua;NSAN}(-i?(o_;5NS)6+%nDDZJkk}bT?ZH1Gn z^B^r9T@hbkK{UsBcM`yuT8a5^NKNT+oXA<5Mk$i0Uy+nq%p0XK8( zCv>5iJ1X-xm>0OGkd6i6@Q2HcdvmM+lq*L;ipdp>-v0`>+D-ti&<}7`{vM2dQ3@U{ z-2RdCo&P_71*=70d-^Ew_upg8_Q{Rs`yTyuCpG@gKkrjH6coTpjKki$Qkk8{WyY)2QnteUd#* z7km~6LI0ydu(B0lHdgiUR;btTlpkIon#vNuzb^@^>juc&=k73xe;H&)KZl1w(#%g0 zT_&-6BX2-jlNK^byw(IwC>xFdW3w7~**c1OzFd^Ko+Zyr7u8`-9<^t5&|7fru`q6Y z-Ag~0SrW$~6FB%G7UFEuVZzDvz}Izwy1$p;;r9uQXWnD#@bWx*bkyL{-?6wHm*QN- z&A4JP1J~XfLc@7N?8CG?Y@M`OP_a@MD>n9{P52DfEkKRc(Gq9R9S~zP9aUIqt)=X} zU3To3B2D&Gels5Wnoi-?1DxBf&srOWe0V_*XMCE0%?CwLq(l;zDRRDx;iO9aN8Kh zaft;}jS8vaV8|coW?w*C&B#jc{oz4LX#G#vUi&($uye5+h);DALRy?SDZ6o9O8Sy?b%Iq z(HzA7)KxepM~Ri2X~5S1yosVq6Uby&eH<&CM5Jf9FyE$$!?4(VR>)A5eUfj2r;c+f z`}c#qn-y+o`gM23wuz_Eh;Xdm>~6?%&cpCsRhT*lG5dQV=OeD9ch;4XYEymOEOnB| zS?1#5*$1fm$t$Fm`)&RqvY=$W3H11>f(E57bH(|bwq(*DTJyJtcrR{6n|z8gbGvEe z#Yn8O+{TRD*~c_=dXqB^-WV(9#tTp!^z^l7LgwA%6YMlT`EEkY+p|dD^!3+)GO#|J2igqH$SdV96ylYb(==P(l z=z^vjQPa8CF?vq z9Ti+R!p14-5Mpx#k~);l7dku_1hyQnPM3FJW9> z9EDE}X9OwsN;vgL5gm2;BfX|Yp|iu2c{Xkuv*Uym-C)y2m5dmsB=;xG{uT+p$8Z@x z4ZU!tb33wocd~Ng-%)I$w;+D;OB@{6h;N2O*%D!KMqW7zu9`iEACa}N`qu%J@ma!# zRXDO*7wjv{McrPx70HJtB2{9!|?+zt@t0qcj*;R zon85QB=Bckui)QVmn6!oP&Ky*zwr1c6jk*?z)d)Hbh zGWiHD!|g<6=6oi8?*XcuB!!;_-_yn_ZP1qeK@w+{!$rm&x&k#go=rA6c6$taAXlAn z(`q6;Av1yck7Fiv|Arq)H;AY4c(zZa59i2yG6!EFR=e^quG8YN`_%0rpJVKVm+CP$ zJ~jikKR_)%FV;5Qf^B~{n~k(nVvlA{6b0#wu zimKHr`d*ZifZkbDqHP1leu@R7-_lIS#_`MxzBIGpo*QmuHCbaXMck2MLvM(#{I4D! zw0Ri3`DDd!Iny}sR?(4If zS*Ob%vGC|5_TqP8_U@D+n&P~Jntqcf@m>P>sujjeEuF{QoL>$byAr^>=?RGWein@5 zW+$$kx2i4pE?MAv1b+0?1ASn~>>p7UXhis7S4A%wdr=+y=tF9_qYI0#=weOYFtJUO z0Ig+nA>i!{hHuK9Q}N>Lqs3IP=T87^uH|^hU30OcT?sYEY^K|EVzALbRiLzV31fAB zIYj-HVsaC`L4H{ZTq_BJxT7rbcfLo5ibe3q<}oOBC<#o)c7f80ndbfBqnXb-y5P30 ziN=F0n-selbDsLqZ`L+~DLWQ`gy|f{NUM>kHSA=66|CpJ_1m=TUNs6W)nYaLC$XLl z`gp@6*8I(!HJ~Aq3tE4aaLpcI&u`a2<>g0Epj?N(ydYdGGzVSRhtSE|t>nU<>lJ-{ zWypdFTw1sSt0tb~Y3j@%p+`32c{Z1h^xNVhu~xcl)_sBVk_tNUk{oMaqeKEs8u8&> zdn{K4x_b*~6K1sP!OK^;w3}c3zCwi!F>~$4rjX#%&;-a_OJD zLnNoUon|&RR*dK7RNP=_WI@>kzIoxPlj|i%@q>NFwW^8#@B35T2%~wG`3w1`Wg}`G zntGL!Y@WWIRrK$^%yQ)ms=ZqdZVb=m_)Cb(v zB*`id&%h&-??KgDgxlZaac{RBdr9md{kf6Tw4ey{ZA}iizE2gbzH0@~4eppVm%fE^ z@4KYrUMPKJQIA5;tnt*q5>)&!iw?XJf}6Y*&~UjO&f4cv+n|+jh2#D%x4A&(H`@y0 z`CX{~at#|TGLGh&{)P(b2;G*;;kb%AlFxwG24XR`?kG8tE6ddRjANWEMX+{tJ;y>@ z&*Xntz=-y*VLl8$Af8Fb=$O+hvA4hkH??Yk@FZ!*Vb4w2@S%%{E}0D~W^3TXWG%+} zoDIWwd<1n0Q^8k!EIZpcm~EIV!oHlXiLZaw;q_bBQCz41cW@q6qck1n?&3~jH(DBR zdPm?e>BFZ+7HBpz9WADO!fPuU(dStyx;Ka8dK(EwYH2ba_#2GfJ04Q!)wcL1qY(`T zD-r5~u&(?%o&9$VO^lq5ag)knk@^hOFTRCgd8+sfwJTH-=iu?2+sL+?qKlj!WL`^z zI7?C7lOxYm!(4d1r2r4p93qxy0aZhxw1k^9nf2#$)oTO?lQ=#w$D;qA_sBqNynqXb z<@0y!(hZ-ZSDClX(tFw4f9pZ^ff0IDaCwwwGa0|vMKIB)6EFS_!@CX6kX|}S=6J+l zTZT28&t=hV3qMO)PP=pa>|;o+yHBpOBJAk(B?w?| zN6*2L$V@a%SjbAv>m%Q-^%=9dA#iY?D!3LaVX=`MCR({-=V4D?pxA1rY{d$u&3g*i z-OhkuyPvSq?jtO$nZvxO_|8iVng>P`qsuE=Cb7!i+tAhEDIAfcL@oOfKEJyV+v`=y z7sIR2dwnLefBZP6+iNtlI^`>#={(GyoubStZnj0fL>5N>AG+Sdoy#};|F`$bNU7{u zl##;gI&YE@rH!PNkd}sw(jtnCh)5zuMl`g9*LB{#GNL_#87DCX#gQjiu_;qMBXg8B;XXs>b`m1bD6;_IB)tNjve|A>IrsDFZ6 zqD8PVMIO|86zR4FHT=ZIHRPh03-6)$Bn<7Cjgx(q(I8BZ+Q+0qfyyR$OgqU!EF-dA zexSVXHZ0Li0hv*jFw1uvbTrNdr6hT9d{YMMvz9@GxEvhb<_CS^@4)qkITKj*7aDzU zfsEB>5Hh+A3SY}W5c(Ii+3)0!w<&qPK?=sIo`)sPZ7|{|4h8v3cvJl^lb3H}Ns-BH zqB6o|!O4urA1hCwyQ?3P7v=Pa0hcR(=L3#%(PsTsI4;u8UObgpjjo)bV^Zra9Jp@C z4(N-sn@0qAd*>tM7mi}BZSC2q`)t|5N)dKl>H$>mE2i=bGBLP9mA!ku7q7iN!_|&r zoSb|d|7!7Zv~L~P!xZE52eVQ2M?GKT<65%)$TD2{SsI&WE8)HGZusQ5B^o_jj$Mf{ zn8V9Jn?0GxYoCc9GoFH6lqMty$-$rUpG57N3g9av$X_^~RO}9>@7#A%h1KI|&HV-B zsE7;Ge)AcOdUX}@uKt0Q=k1x7JqsD5Y%ONHe;)+OcftJ=LQGDV)qnLt(#$p1|L-h^ z$ZzjL`XfvPMuVw4y`TU4{>;<70L__V%-{_@X8w+~FnnE?o%0}o?Uwk7KL^I5g_$ev z)=**hoGro4daH1sk~MEYJPSf=6`4;L`k|l8ZxEU+fP?i3Ahnlc>T%yml>9n=%5!17 zJ&*ub+QRJgnvVke?Ids5?LY|K-T>ioq4c6pG$i$nW0hO&`9=w9;Ih>Mrj3zjf<6c{TOEU8Eaxeb!TT8F+(Pb7 zabX(LGqHQ_C}wK94Kse`O03*DfgRLaf$_8Yu;Dvl7vyQOa|(pmv#IMbXZ2~ClB~=e z7|~+7yX9G*W=@ZzHx{oaPNQ4nq;O-@U2;{XofbJCL{aBJoK-0UiG4OSLN5R}`{bi# z=rBDK?N1g5oTSDvdHg@^vgEt(8Qfp3g^!{n(Q~8+S+m8|V{ie?8x_mX7+gTKcmE(} zoNjTcNk7rrF@z_#q+!M4dQ?j5rW?J5n0LRTnX&Q4oK8iF3$+s>zY7BCwXfT#V}R6u z_2F>Kt8E&`+#MGFn3-alW+uSC;dd7`|9yYn?~`Sg1SfEM{%RT}Isw;A$VW+8F*dhH z0;5))p}p3Tc>cWvtCu-|RyPl#Mt3c_U8K$^axv$+U`-q8>E zO>zVIa4&ejG9I(Cz1Sv)1K6bGO)jh$qy<~du|vy;EWGMXRddSugQxS!kBEhkw^s#g zRen>6?33X0$QJhJ$S@^(O`!Frp5H680Jo=ee!yridei?njPR5ho4F~>Z;gi>_gRY7 z7S_R3@!O!k@gNgGU4gtg0{0X>;k!sI)t9DNV--oC{hdr>WdbmN(M!J^x(LcT zVvPP(SEeY(klO{%WDoo?WgQPMW%p!#!{gJUaoK@8n6yWg{a~|-mG?Xjk-K|A`iC}3 zT^Pe&ycP&Hkv-%?MG>m0ccI7z9Sp2U=T*UZ5yD`=STiG+9WKvn zYcr8rqx#=@2ueS@tq)gzp5a+-%7Ti0oOZweDHJ@@ z#lp{oebq7pKW;hB=dD%7kn8g7l}8uR<>YB13=W`kCy(r%oCW^wDMXxSP9qXm!c}3G z<|C+&5A3h2*pX%YtYx^MkbPT+WmZ!^nvN%5BDvT=b zBPDyHAt>u6>>h|^JPXD$F*$p2e4rJaohre^Yzty4)+~a#Mb)q{FA;)QZo_Y}V(f?F z5qe>4CRQ4%vmy1$?Cl{D>rEEuk7hBXsZneF-9j<}P-o7aE=i2M>+E@rD@{P zr4b+%dxi-1#n9oA7Kq}sO={^WT>b7QvaVM6+)$Ayupi;{Nj0W-^JjSfDuwJmsluuq z)MhXDyR+?9>TKEm1DLyp<8b|-@wQM!;z*l)$83kaLrd~b?FdXx#owH&1KEoyJjQHE$u91ucV}BadLqL1|`!*)23P2}kk0 z{%FNdhSja-(aPjA&Q}uH#lL7FS9e{n*_18Acva{y2Xr2zN4*aUXPCl!8yhCQWG_Gc zKBsNk`jVe#T8JjPUYImQ!AeGwS;xB$Vg{obt(U){Qt>;SKf4&)6yx#!Lp}tBEknC; ziLmK-BDjVJgXu0=$U5r|LkEM1m+du_86M5@aw(e7IC$*G@-z}unU#IbWc|$+oGWU| z8hhrWlb{$Mix{%{GkURiaVfG>&SThcJn!@4Ldek!!4SR6^h&)f?kp4I{SkJ;p<#D? z9H~t`=0((a%Ne4IbR~H_Wa2N{=1^hksW061iD9KV9lnGK)i?wX=3V6bZT(4%K3}1|U6yqExaH_EaBy3}FCB-WuIi69-YO2N0m^-^ zrVBf83E(1kS3Ub*{il^lg1WkAZVo~7W9#sgg}}Ewsq=C2zkZ_DrU( zu}-H;GLz_iXuLKK1%{m%HN6p)Js0qM%>47@G|z zpo4oKPnz%{OK}-fHEejH$`OYX4%iXugbh zd78LErjN8u8OwfNN${}q7qr`Sn=j6;qVKi8@MVRIxj89|TKe+1XI~f5>G?pMy%gD^ zn76ogrV=)&=g>W2oToXyjjorEA=B^cQfKQUxKLvPb|+gy^VkNy?2G$Ye#im&{4Bci z%pbhoU4=E?tI6Lk6;M=`;JsH(Lx+14*)!fV*!v!wk2kM^dOa3!8RjLZ;NppITUSAx zTPSSn^oIw@ZbAWQEphOd#0O%Uun;mTuUp#?)QlUXCD6h-uOFqGP8v9 zCXA1$#(XD4M^PzOVXr-FJX)ANwPrUukFG#%J z0|zefMbBNQrCMj<%J6I`;cvpx&nuwv>|F?$p}_ zkX~ZJEa~op$sw;{Z;CR*|1Hdn$VwwVze@sI>d7|+BOH2TfyZv2!gI3A7`+8fL~d6c z5zH}yf_4dZ$oVYJIX4>aXIz0#+rPuYF`VZNC(N`uy-mgSia9W zRJc%rr(b_Vl?5?46gnHPjL*kcihptWlP((hQVSl%@#vo!&Y*n1iZsZT5c((>+pUvO z`*nDA<;D&?{(L8Gm3s)fS;LU_*96Y4?V_7HW2mK7Gup8t2hvmzNc*f2Jhck`j(6U;-p3pfMnD-iHnD~;xXAE5?AdvCbkm_AG#WwYyhxF$CGv=VK!vB240&O3HmXjAU^bqyb`qrL+4>$ z9jEas>r1^AuokJ}j~X3Roa#=guPlYKfkwuuI7^rZ_O z#nE*?&T8R1QZrqe?&n~jPiknP>c(+Z3P!Y?Txm^V>u1+1ss3>9GvsI40B~4(a%zAc=tD6BBr4fJZg@Bgw9kl zn4pZ!ioJM7*cg^8oP|wWUxQ7Q8&iHnfvJ6#2B36+NPKd{qQl{+&;Frq+mne_-#jLG zqdj^|w_y)H;CcgzL9TZiLJKQhTrNJs(;Slm>I=(Z%?zRc>chBS&!jgmo#n70y=jk& zw7x*2V#e>CHvi7Ava-f8Rga$H_Cx7#OKvB)HbkKMM<1+McpGQ7CL;z+#43(qyKkj2 z@g4gE=KD@$=hi3VXoVM0`n#ULFt?T32^G@)-3B;K@*IiITtrSw8Nr+7c8sCbC7kwt z8qWLl9qPA?!N!n7v~u?*{(UYxhfc=nRC{&^MEi_q>dlgv-}V6ve^{0&trE9;{#c6rT%O6d zeC;qd;tBVxE|YnFZKrL5r3;^xUDc5Uu{%kQ^WtzJjQ%xOf=LKeI2IaYJxJF3}QO$_ht2EC9K+>Bcq-^Ddx z>h=4$BXSWIuD=gj*Tw11**#D&=>^C)UIf4DBQ(M6E;X^AL^8Q-q?j6e8eg^Izxtr2 zDbyn$?B_s7LXXkCH0pE$WWW0cr#C;c;~z=_4?!HvPgw^`j>b}lIUEO6!-5*WGA4_5o#u^^ z`3dJG2f@i;Ep&Zygpke#UZ&#&N;)p%%rz1Ytnqv|QI+gh__tO%1<+uU5hLz~d-8aZebvdTB z=_myIo#sXV&OkNIMD((4vkQM035p*VG0mgaGip8(j0YRck8&}>*aJzhWzs6{R-5s`QrMkTR z8~6MwhR#iAW2K&<_>^Hgom#>EEAE-+uV=nbYxJc0ry$hnra7jRy9JRsCXU+_@4iwuq23Gt=mcxx!?9 zrU+QZ^+NLF<(%JVfE*Uh#UFi*xOm}tkQuMQEGnH3l@5iZ^u`K0_P`5Tu!8Gf5AP+H zM!kYDrd>pC**bFVgBdh7e*k8)8FM7SkO}Jx0=`N-Ezv5WN1QaUaE2|$e&Fi#iXNWV z&TjsyKt;MQPL#ed_k#ta%3;pn890%!4eN%tqDArt+;gpnSUuCj9qFe~PD7b}lq$l` z+H@A%*!k!e{+nL@8^k_dsfHUnwqeTSeWW5l7&eI=fOkDAa82wk-S~Ab=L3_({^`Lm z!$6ncv1$eW5IMosnn~=F^2Myd&CzW0Y?cN*T23EDxFf^gj^k3N;_lx+vF=I$m5!)@ zUw-9aoqm#(hIv7k^i3c?+o7PR1`cQYLitjbT$p~TCb)5s+nb)nPlIjPpe4e7*FA&1 zOQrDjJOLdut&1d2z7JpbG=j$H|I5QwJ6r3Uf6dL|#~R=Ji;E@;v_^-nzxV(0$Q~BM zFWq#kmutX}Z^UTBijTDIKsr{=D@5{3hQPs^3h8p%WCPH)hFOrN<f;@@mD+6T;b6M zS_XDwck>6Vf@%Af5?HkM85_HJC@H!PflwX(eau8?Mx1BiZh3u z;~GIdMV_hKlz`z8_7H0)fGLZIK|{TtoOP2Ui}o+TcP09G$#pc2N&H1pz9}$8V1a%5|MY-e8= z%Cc62Ik?*+3I>X1FfZ0lVWwTb3^CW!&|K>QhRIo=v%_iLP2~hg2y)|1-*b%1-g0N3 zOp#>u_qWii6FCjOl{q``Je3ZN4Z}?Vb+rGIQ}y)p3;avVSMj7e#p&d?t7%m}568Xi zMqYyvitd}n9M>3t&QYfzbIp13(p8;k%CW>mWFLvi6UR86c9a^P$8H?^6E0|!kmq^@ z{16C*QBuCpBQ_oK&R5w@;GabP*i;l#FrsC-rO@22(z5umw!@94eseijWrxO1Tl4nF z2{|0zw#;UN`Tw5ZYvi>mV6T;jL+O=vck9=tf<@oWrWY{(=4*|KS%$V#&SKTj56rgF zG2@ERg12laE=mLJ9y!_mPT`)r@HxE_NAgISfqN8+Y2(`yr+F(9^6}2A$?Q%I8>%-r9lg#Pv5~fN zZ0;c;rXtCk5we*{g3Rl&`m`OKomK)3wR16G_ar8*&zUS5E+Q{~9-_lzwb^i`C|0LJ zz=lThSaSkc8x+m_ayP}tThnmIm;wIrq)zhwtsbWV?d2J~U4=77b3WC)yVzTQ3az5% zFxC1h%=Ro<7)n?S*Xp#0nH+bH^6N1n*AV@xpTXk~f1yd>j)4*ayvm);)-O45`=}lk!%Nd=IZQcd*tJ`V$auW!* zs(_G<*n9?WVRQdAj{8HkrO4Uz^r;lrrwaoq~QBxyLBT>4?RV^o}|$4 zftEOj)70+bSd-m%W66}w#>}J!MJ8ic6FC)q66I1=@at$@vUkV@-zjju%j;)x<17Yw z2A9!&+e9{?I}Q2MD41*ghBrAyu)8)EV(UuC16od{yHzC(ECZ%W@w{QCB)d&D@0lGyih5oK(y6#zf{ z7@YsMjm~h1gw^}!z>h1XpqZ@5e0kLl{n3-5Jo7Yfwfsw-;RFrv9QGuo)B{ILl+YWy zKGEH+v-v~D+ra2)3~VcYL_C+~@uue7CQqH+;hyCjJkz(eX6xHa;Qe3=%qhH0NyU5I zn)4W64IZMiqlWof6HfA&;&osz#qA@>H~!WU17i1fBg}PJz--|iV&+eFVU`}@_GGnO zZkKThdT#8-tg|Pna^O^q^lio!<6?13)mIwyI~!Bdl-Wx{={Ryt2b3S0GM)ODusuo? zfr)eJZeXUH;rwJ+~PL>djfPOCNFlJY&{u;S4zO=KtrfPz>3p%cdq+v)<1q zvwMBkvz8HdZ20mpdg17CGF+vD6Q_xh?2-g z?WjN)W3U?d>o@U736{diISLRUJpo5%#}c>N#U%Nt6|5$q;HD-Ie_bBhNng88j|m0A z&#po0Db4939J(RN+ylz=Wbx9l3u<;o5_^@ue0Hrq6*g+;4Fp;;9HSoRgnFau-x9Ln zULB;$Yr*Zc8K|gJ#m|w>Cnm!7xGgdq&&O=Vbqz)6Ir9fqTv(5b-oK(fy;_WJqa7o$ z0(lBkHSpc&eZsyQw5zGdXLs@I)yCRj!p}Yq5ZYJSpV)M9X%(C0j*eOf;X4= z=6ephx3z=C!3K!_VnBymO<}#A4fKOJtM>dL8@Q#C6n~3hHpV}Ilu#pp^#SNK_X3w* z_KSv=)K{+(h%g?LcQEuKhldDTz%E%miw#?qhn2$-*y`9oqo+#XReM!DzOk#O_)Q&e zp4lv}cfSS-0Vi>1|0pnQuEJBH-gHiF85xi+hZ9Zp;I|?k%!ah_;_)t;Cv+L0Xa)J7 z`mizYLd#YscLyg0>A9{|76Pk5Z=)~AjQ^<*dfUdZB}&`jT~{hrZD&w<`4Zxi{hllu zoeh!mn?P0H2uyk?Kb7-G&y%oalXtEK^9RN7oBO#jH=SYaRW4_=yb}DBS-5y9j;9|o zpVoOsfq7>=hWA~Ecm7Ju2BT;oq8sSX^R;x%@Fcq2;u~3gW-1sqSkdwGis19jXEeX^ zJK26=HdGn+L-edp*kJ7klXIp}{goUq_iPPa8Bj@rU!MbOseL#i>rS0UCs6MrVyL?} zmj=nUfnAv;6Fe-9{9bcb9uJZ=m!3oa(GgUh>Ovq&7{5>Q$E*5jIA7uro_U!{E?zId zMALojy0w~Yz}&TrWA@J)Pmb5{O{Igr4UWKDOJ33DRvC_Q&_grc#M8w(J=nE(DeHbu znX&q%%!)_mbNc7?hzFP9%Wi_TDF?7W5mBnS1{FV*lRd7cxO`L{xXqMg`!w3IJ?RlR!2k3$i1e@w~JPd*x^#CRhfMJ$XCeP3d}A65_!RTJeTo zwq`bHkNpJJ9A70fWIn_m*v}@uC`NnF792cPhf!lIa9i{=_%hytd9gu^@k}-bmpW0# zuil#Rce?&xefZ{FcPiqqyF=pYK%uW~lLQA(_sb;-|63mh>SvG?4QFbQE6-kkxewQw zXyeMTZCArkn|N%?fty)%@JewkM1GTH8u!nDv2B4+W*m*_XLVuk*T>{TZvr`acmf2g zyMkYqEtg}M%_keq(OI<~*kC3?1~f-u>^gD2jX^s9{HBw<5A0Tmv?+qXF|)Yu%a<>g zF3dLD27Jwc*MwYJSo60go<9xdz3wFIZ+xL|>h|&GmW_q;-A8by z&Jps=522@L4aB&0(MOR#aeGb#E~`}pPa~FwhF79Gca~4A`AHKC3oztB9;yVS!CALt zCS~UiCg)r&32A-6pD!pUA(t;u{@75~{Fy2Q-m}FJKfOs?~?Z5ZKlXCg{KOAN`yfV2mm1AxQ3}1GKvNQjkSB$L8Ck~63 zB2E{{-k)4f#wthf`Bn|0VZa=BtcN2{Y_Ox)9%pkIfM$-( z;OD0X)!IJr(B(OFOrH*eJFd~EqsG%I=05PJ-yCOZB%?y;1-$_{ zmXt>(#M`qOp|jb9yxs7`?Fx*3Cd&4Hb%t@{B}qr}L;k)xJG^ow7{C5DVom<8VqJ7^ z;g2n8q%1LmdHS{yb#2w~L;4YZlbRekC3>;Cjn{JEje6|)`qyU(aNy_zDZ-O-qHA>rTt)U?fsJtUt--=2R&5AG-= zUuS;>l?+|R=%G0C_{Ck2P`C(TxpQFcHx(=@&|%hzm&3!1FQiaY8typF1jqIB?53q{ zpr^Io(<&a1z*H~d|M3#?Kb@e(vOrEW-k=7GD{w}!Kly0W#H;Xaqf$B|D8E?-B8}3a zRkf3DUY$f|hz6skObFDr8$r@~2iUyhD4B515wly5;EhgW;#5%yItSFr-Dp(|OK79= zW1HX&$MM@I%167Ui5!c?go%#6z#r{#6MvLbBBnM6{HZV2{^ik2zPE6k&UrR`)DQM* zwG}Jmk`93-E14B}Vo><&GdW^u2!~}kKm7GuSoCrj5Apc87jtY6 zH4Vn~QWpI3DW$3_moZsxPPj9u6#d%9!O1raWApYqyfR&bVV(EU^TK>EymbfC(y!5> zo*;}=uEpYsiM*}KKdAJzSX}%_7%zE0q&gq-ag(0`TK?oT0#7&L$`6pnEbOi)NKZby)26(K@?J)+90nej`I2-#Dn7`*yzs069P{# z;&SxVqmE)x!SqXQEJLqnrcJu?o`ZQmyVHpBWd5Ruhg57;2&PJ8`l0>43#IuS?9}d@PW`Y*t0*5 z{K1IThyd~I+i8O9a_6 zF447p1#B1>0gIzNY4FaK_|)wrYV@mcnPO+{FBniN|r_;_Ucwgx@J^MD`Y(fz6(iF?V|be)$xSfwMU7`@lXr z!FmK1^B%$DFOux$8`=1!c?GRrVgi3oh~b=7E@1M@8d$}g&t&;==8YV0 zD6_?3ez)I5LCG5n@3`cD>%-2-6js~D5GD$|P<$5;Hk*uL4j;S**{|k-A+HIhylI2B zKl?$#ID_0f)d(zNE?EdJ*mKX`syT6p}a-Mq?BMNGPoO1$$Q(5~-m@JiDs zs^zE(zgD{9xWYC}`<;R_YZigR>=y7Iy_XdINI|vYi+tVtW{l1fp$_1L)Q+ z1`mGd^0tNR!xYUdI`zm+JZ(VOM9nBR=;JW1aM}zRHFk`gJ-0jReMt68mQ@DG;d;zp- zJOa1ryTB*c1IL^{&-o)`NWG;HvnD6@YAq!0Yy^a@Q zaqPePFqE;zp(EMZ;bKdFj!~tVpe%Do?54;6)`up^32d0`J4j1f0+T%U!s^>UA-;M5 zY^I;(e1Zc+Ei;X5VuC^E;Y%>;Ov6yEen>U$gE4{wuyR8&PcPAj4m?@_))g{vZsZA- zERhA9HkR0Wcw*?fXLQ4q9-h(KYIx3Tp_h|5UeuOh{*x_Bz<5)uTJ6nQ9G)@&6h%!i9zw)8SwYKA$@9fj{dHYXAW7PplLe{`AqOiXgX^L z7wiJqPODRFg3uWZ+&>I+;@8-hc+k0=zCHLJH$T%vBB9Q# zT|ERfGjd5S$DW)!a}=1&IRh=albGd^Jy86ijW$^9Vujb~vmx^kv=zR>iI=C4`fcOi z7P&?&U#G$Fr`xb{f+n+Q?RBWg8_Rz8@L-Kil~8- zp&2xXbQl+bGE=ccozX1g7?L+B{PPb$YO zUw}s8s=V;6lj*!KU+IbZ3n*rs3BGomZsxQlr^ow3Iyt@Hq0L>?z5f)>vW%h;<}q-0 zKOyR7lks3vq}@vEEYh(%leQPKe1#re2s5rA*%eRG)9xeQUVj??2%dB7Vr}YP+e0%y z8-uZ%1QWWx&F|`G_-^uK2(eJ4F7N;15I5gFQS%j-=bd4D z-fw4LJZM5Y6+=d3&Q*w6ZG=qjCz8FPkjPqJB!&yc*pQk|JT@tewX8^E&1S7ZDnkLoOZ1fPEYfO_6`>H}pL%i@= z=K);)zz+wSbkWC*CBN0XD9#Y#Wm}KINlx0R?AU}pf!xk^{!<8lcM8_|E0QOPCNxSz z3B;=kAulowijsLSjyXma7O1oTGrtNR=;7_YKg;3v!dm%N@AL)d$6m>}^6lUHpklX; z(<048k-%1ru$c)PHcK#?vI8&@yaopK7J%p0UnJORi1e>(rNQqMm>k|8_!YDff{U-v z&!KzV{3{8nhif>@=aa#Dsac{0&_C_6thCa{XF&J}#Noj*?}D zWDTc{zmhG==2dZ-;Wr-A)HP#R-?$CzF12zDY*1saztU!88njWSKELMbTR~0FCRfZe~Z;J7I#3Df4NQ9HXJ_08=~9+uivviaBqf3iTz))Z-!r zcd;Bs;lL2ozuAXEl7_g1o~ZGNy$`x^VeogXIb6{!=6tyyspNM`J6>DBr+O(SuW14~ zsW*a|8yU7iLyPJPasHB0_~pLEf|iTH&nphc zgiGPcJ0&FXzzC?@j%UgT7s4lv5wdWO7^F#=!}-BOcyehr88%43BfX39hnO@rwjAPF zrN-dx=_}bzFL_pWQV`h7`-7F%6+GkZPYq5eq57$n#LQZs3_f^4W>6`#(lcdWOyIFM zWKC&C+f*hp-=1|jmV&LDdx&n{rJ5LzB2?1-gtd~F@bckk8ZaQkzRkD7#bIuYZ&w_b z%RU?Ag_7WCeL6=s3ntMrJ{#{>`)tcOJITUAiz z+upSJ2$wQm!r4R-wB6y#`b{cA;k`$2WalAj79k)9{pUdJsM~xq#ZD@<#EDRkYAC*I z1TG)4u;oV_uQp3ibIm=T#C|phZ>Np0O46F#^Z!lnPFP}Vn;HQVWiQuge!Yd689iuf z`58r@J-{e#HnYd+2<w)9NP!3j}MR<@q-lea{ZG zHTIKP^3kwmof2cXsu>dPeIWJi`~T+QbH+IzUX5-JGgn^OTwiJ|SQq{Jx{3O~^~ADJ z1VWD`Vb{+A-lbXGUVB$2aDWxwI+>f)^Ui)qSWpVTl|GW&Rq-GrmIn!UPtm$0PKPYH z7{h#Q$=RnL;A8woDCD`oBPTA`Hue_2P?ck0Lj+c@wC5QnN}+AnDIC*r%IvvfwK@3VNF=*WC5&|$SBtSX znm}Dcm-(jDL=W2-;$P0=5XNQA8+_GZb0hY$6K~qGsac&UWwIMz`*Ar4aq)~ofHiZI z>sjATKLA&fCXg-XxLgL+8SrKGR7SF0hr#cMurAw*HA$C;dtA@8XWe*sc+ebm=X}GE zp59oF z{x^it=1L-$8=L_Ar%5RIG9I7L@TBP<^1=AsHBuEZ73{|!fIg);zm4Dl`}A3rIMD;ib0*2tN*<>9Hv#Nl}vVb_+Gs;PqDy2 zpclPnMN-Va=K;&KAnx%=6mM3+!JqM-7Kz?onbVYp$jZ&)4Ab z?KQX{JO&lcim;>R`Lmlxak=kCny}iclFKxShPw~kSRX?j+On>fq@;&K=bIcf>Yc#O z4p(C1#x7um)O%`_woik+8J^j6T2Rc`<=C7B-{_Npa|BgQ<|o&0-;W4V0Xy@xVXg;2Dsi}cvLUB*Qz&eL*$9{B8mJum1m#?s)t)Ap{Sf>!Q);wv+f3v1oLI;~mS~gbi;jnELxq z;fRtwfZ|JNkpBh}s#0*G@-TGFlVlwBRe_}PWhAwsxaJd=3q9coHk)#JH`VDl)O{7c zY*A%pPRX+mPUm1n>@a9XdoaPp$#6(;t7p>2y8s`By!vklRdu z+bfXGGaGpJ9y3^ZqkU`{HxF&9p2#dxji$bijp$`xN9J60qcMY-wEV(zoXFE*=MM(6 z7d2&AgHu&RT8Gozr0iy9MK6M#jqhHkRw~zVyHdAVL?B}?Ik{stIR*Vq`?r+s?B1PwWP)K(gDh9trk?MQA zHTR}qP|<2Um{L&lB6AY;>`=os8>>m=vnNC{iQ~e1T|@5`-^f*ENw~AWk=*E*6&YR6 zgYZelAd>!qc??aVCGL28ym9lo*)NR4pgCA-Wp6WUBoP6*R!*oyRKRH^9`8gb=kx_0=T=dbWL5A89|s=&hcNu%X*?UGi_=e* z(`lI+D0X~05xW};s-~C8rPipb5cg@|DS8!V20tVz+YHz-11{{}->o>cUkL0vhj3q+b3NJmf-|=V2cNF`SAX>~A`jH`PSLEwM*Nc9 z!H+pw3iDZACf7rkiIUq49?9Im9UCpYab=na~K2uHSbH0mP-`r7T7bS*I_QT+;LgKpr3H|hNG%J66GFxm(H60{4kM%MAUQBh?WhIU& zvjU?s(!a|RPQ6ouOYYi?$o!*VSftEG0pc2o=VZ_HX0rdvOrFP~dJ?f~hTU2-f=;|6 z7`!Tt_bI9md@Q;tJ7+3;(a@js(%GTNIAa_^QM#?(iRZCngce*ap=vK~*kyjc0jWVF zq`Y!J1QRuIv$~_A}Ba-Aoub` zahX&%d6wowRojoy3Gog%$S%V*6Af`g(~ieNWy^LDl5Qgf3snA_Uuph%@2)(>#UXe>3ac~ERIv1Q@0A|afA#+g(@fYN zwLw@j?H#l&i$lF2+53@^F3WXm-^G?rms&4EN@!fmhQn z-h5$C_UCdh*5l<%qEl?hOv{_ZRv(F_@5`J?!Ppqc_*?~Ub=$!1S||N`d@P&UIhie) zdle5#jc4+w-9caeh@Ii=XZ-Dzq4+>emEB^h#1GVh|L{W+A^jTKi4e88^^98@hc%a{Uf20R|~m& zE<)+u&+zhvF%zxp!{p!4Wzw(8;m8N>_qoDlSv}4oINgKf?!Hg5!-~PnbPMpnfT*PE z!TYomAR<{pO!t4l&Bwaw|3}w(|MmF4VPAuWv{YJ((m+cR^?sdKQE3@z8YLs4Y_hUS zdzYlCveGabTJP6+RU#E4LRP4dBoRr%ef@CXpU3To@4s+8&d2LI$8kK5Uxy|5_Xq0aLGMVutuiy2xpS zCn&k8I_lB@wZ>h9?2+Rsgz2GUk}YGs>KMLQae+?SUr)|2D}$C*p3qlc230}QjNQ~9 z&}1|PT=YJ1_l4}B{PHQ5u|G1xs_w~HYJEuBba$hG<#Amd`{VBaTi=@%WL$d9*};-u zm$G@Z+o*O*fVH&m_J8}028A@TfBh2h4p3qKD2?*{J6~ZRr(gW0=Z^If-sFbG%GOgwho)$G=LF{5Ponx z(YL2h5F6b}I=9cN`cJ1e>=K&>_t*2u)Kyh@Vs9VTSta1~&xdHwD@~^9i!PIsF3eoe ziU-YnN$4|H#Tgs#p`ZR3cF=VUd+SUTuHD-Kk{owO!TAqNNz`OC$1H_@&j#*4CdFpm zEywGV#aaFOM_|a zeoL-@Q)Iq(eMf%%4A#n5n)Q%o@P+$c{?Y+EBCz8EzocaWrJri(f^|W3!r9x9Tl4~+ zx%)xKJRVqgJgW}Ka^r~%8Nh6tUc#%>;$2C3&YxpdP0h1d-0ax`Dc^#j;I$WbhnRxf!=Tzd2HYR7#?9v$V)XGm2v>Q7xk?azsF}`At59XPp8bd-XC#@u6&Va~Q6w|m zX~bOJLg3b}TEfg2gR5?x#iHlR*h8kmUzG+T`6nK|GRCt#ld^EK-(~)qGy(j*$rI0f z2*I<3B{W=YHZ0t?3gRxLl4X~8jC5}XN{0xuc`{8nK?LcVfODkevLyBjX=9+MELuNP z!~Vn3=Kj|VnPlaSd}kpaT>f!0PBxoBCEr~jtM1(*YpmwL)D(9}&^bk#txEaB8Sgq9B#c|+TgdwAE9FE;S$~(MoAB>%s590?`gUTjxu)U*!TlKHeKc;1LA$d*AN44PN zGH!2^)`0;V7GTJfOlp404z1@)ike^fpBlnKcMS+&sRwT{NrFOiw#6aAxfH>m#nofIf%N^^8{|n(6wTBR#!gZ}Mf~T&t)Deun>(I)JZm3wCRvuz>Xc;@dQI6I zEKe#p;DXxx6?XHRrwP1;Kv}|oNwdl%~Eliz!RZP zy^^SLjt9DJ1u&3k150k3^Zw*j@_fq*=+~)9bb~8_ITyU3apPl{bn!7=fqk@KofIU{ z5NMAg5Hq_79NWbh=`Z(zi)?~fGu7b#^`953bktYXnpw_O_OHz&O0{!RHl32*{m0_} z&%-s^>%`?`bDY2`T}}gkh4^1R1k;`GnKGIF_L6V<#KK}XQEF`2!1w`!<4($Xg%{JN=LVHbD$Jk zoF~M-^o+;j6{?`Um4`WnbMUv(MBL^P#@E{Tm7ZJQjU}?C>}x9zw(j=~wtVMJ+z|he zc1|k+muyA)!{a;7a$1T_lFC%SuEI=xekXDLVF4#T+QX^igJjzD<QH36M>xlrR2gR5f~vI-m8v8Z<~ zu6%EYzA4sdaC8#xjugXfQM=7rj7~!$$5lB%^%>olXK0Z!r`Jh*O+x#Wp`u+9EJiYk zVsD-Kn58|uge6WSaZDsEcqhkf^!!Y0c#){`doDWu`CjeRs0)P?Jz?m#Io$CxB*MQ3 zAwfc)$z2!5c=(@S;u{nh|K_{UVc7-kmqzr~VbQOdni+ zv7lYiGEA$*YL{W@KlRXkFa!I`oAI>TZDePk!s6!HIO)j;`Y7Tj4RmL)5fX6xA5Pb( zUIx$D(_lO80w{Uxgsgs3a6e@OPj?)I`#X=q%(ZVwiSZna{n>(S5jTfSn83_9IfaQG zkzru8ACAUe1##*^%j!J(Lc$B<3{kL&I_vKT%lVglgnm# zM>n55j;C!;BHdw)+DSl*^5vjILj?j#JfQz@I<#e-gTk@%nLeDzc4oIp>~ ze?Fbe8M7P$DoVh@q8;QrZ-ZrNI`q~rf>{xwP;f?=l%A*jO|M!p?-w6`noY%#R%H_K zRRgl-Er(`HJ-GL=fs6QCPL|hO^NoaF^1q}K_Jx-*do-;J9peMgT{4PBoGu{geWsvx z&;{oA>VlkBFO4^s@yl&-p66wVit+#B+{wG;<30*#f!B*m&ls@ zoXbD>>OGY%4y3w{4%jH3Pp8$4@W&K=Bmwu<^Jed|hinXnhknMm_;(|2&wEHW_aJ^% zpUFxdPexWP7%aVPl?OqAH#|E)UliN8I;;tMV8a%vZuAaW)V# zy_zF){b~%umrnuDJT*Xh_c&HMPr6oCMI$KZIxklC>5&Y4Svt33U6M+dNnRH z#m)-czj*VOyDdee?O?9U4l-9t1lqRdLcC}RiO-VcuWD$* zo&rSSpUY|bp6{gMGN-vPu!dXbBp^(Aknmhz(DUR`;7jm;9(!f(|p%Gjkz)}8`f`Wh8Y}xR7_NuNj}Z}o8R1n z=+`&?tB1EgBFqjJEVLZV*g}J6>C_5Ijfhq|PX4EV5Ek+T&({&S{Ni=uvrPkhMBO2B zZ97>0>;dJ}=}e}o0h2fUfRrRD5WzKFL`)zR?JLsYyv!G3+INQIW6ora_ReD;d{Sl| z)m`v>Of-#_+lZpZ+ex^~Q(V;f6~%g$*u<%S@d#MreS>JY$g6|4Z6`o+!eZR(roh%# zB%+MhY;&J@9Tvo}eH|->-p8Z1x zyvpYZM^?bs<=#wIRz}t8jptCf(TMd4(`EHEV=ywWpLV+bRhnT^nvGC<1K^%AFwCosw}TN@jba9(Z| z#{WVzJd=frW9OmT=OnsNZ89C!aiSM3qv@s-!5qJmPoIB$3#V>RWbUpTf&0%`*zn>d zm%q+=tlGB0=7L19oTv(0=+FKKr5cuA716F*S0-ADMZ0#0&lk4rD~L0`;o9*(^}XAK z=kJ;R#KzLE{QSDC?rF6bqi!$XJF5Cm{T#74gZ!iJ%%_U+(7GiLHFsa6H`^lNaoJN6 zXrqDNBTwmt`=Vsawqh6)YX-ZeyqW70y-=^fo|PSE$;!*{*q{InR&UKGJW^ePPLdb! zR{R+Dl+t-#^u$%b?h_|hta{+q=HDdPTY+@T&8Ip!ugPZVa4_930Q&PkV9&b>d{+Gh zU+X4g*#%i~MPeoSJbPrQUd*%-LiGE8yuXZ%qhj)Mtu7^Q!lgu*A#I`Wq< z=%$W#f$3zRR*+a+b;Q6&&v5?cN`CQHW1O-=0qjDmz_k4vY`LRJ1G!qy8E3%$wJyLp zUnrlyD4Uo_9)qs>tJt~ndezhFg;00%E$5T_0}5%IF>r<&8@2y7p0iivYu#H3d*(F~ zhZ!a~k#9xg5@jjF-R?XhzJas$XLu_XOr2gvp@g~!dQ6jpK|f;h|2jtD^)sGy%g_Lfv9@IdWy3g)#6@^! zB@Mz^SO0rYO4}DL9!^+jIl1ahR--<nga3bR&n>Nng8){;(xSBx4l?sDc9TBF-L56t@i%n8VPmvf8K`@8Eq)^ zaAelT+<-nwmSxFI6GwR~3eJYRS5>GOr*AhF_(GTM zH{^wXd`0hRjKOM-$b0s&8ZP)1jh`%2$n7j+C_Q{0LZ-Pe`Q9STvukaz?&}HCke7~I zs@JfIrs4SM;~R2!C>*|2yoYV`&FQ6CMIf5?1`f-4L4s)>R`UL!|3C`A5Ztj4g z_TL~;KbEH-qO}<3OMGa7-?JBLz?IYIOgyNit_<3by<;4t;gi5 z(-rfw4>>&BGm_+QxhHkGrG^hmGWb*EE2!-Gc2K-=559gp#=qS(1-I|tjx`a{)wd_; zz|e;#nlOA8dmWe1wiu3;KlBF_)#fm^E)U7>@z)72G@sx9_8QI8e@BKpwqnAo=eV4& zLOt9>80AJ6ru#}Hlb4hOk(b87@wzzZ{4h#4jhXr1{Z!cHng8N+d&_#OU0Y0EPOl9Q z93LPt@NYe6`rpQS&lfao#ssFyAO~`XO`)r9CKK-a7_RouAbXVT$nwTqQ1j`5MXTnlSs}g$!$6uE0vmx8me0!t9r7btYqA0aNy|lS&IO zX3a)Vq9eyc$=s#JrZru`Vc%ag(~yC=d)%<&Y8G6`N~P5+x!aw|AkGj|V!SWc!2Eah zL_|6Y#7ekb^ZH`mc27rEZi+ZKUA0H8a6#77)E$!g2$K_~#|WQRV_Lb{19J+<_s1`3 z^oKEcs(L19m^*{mL}~u{Pw^l%qY<5wwOQVsyI6GcB6@Uh!uuwT?5 zk=r}j``)9g8m6Q5ZfBflu#tYAaR9nU%;}0D&ZlP|3@n!$eZV}A|68wvx=(N5IgB*T zncbLC01nI-^ z=$kbi4c|JT?&LmlNpmw)--!XE{sG7ly$N?z8zATFW;l6nEd*yZ{rA66UKaN4`KRfd#y0&P(x&R4&yV2?Rr3DQ4q&LuO#PC3D!8VG7>Kh}rh z*W+htjQ9Sl)FvKi!hJ4{1V4ye_?5~7()%jnN!P8q0QN;n8_>V1*B+z z(qCy#J2V%PpE$vsxT)}=OCO5tH^G(&PSfDL8+#*XVor=VovGN(lXGKqIYSnGWmtYorbLZ3Z+ojZ5!pAFdcXFrzb?Zr!{ zJ+Q`UfI9XY@;#PMg!r>zpy%of$pOZ2v^0=E;Xn#*8Ci*En)czi50Mxq9fH|k&GA#h zSQJ+{NMDQz=I_sFqG$HRqEhW^{P<-L%FIhf>)=Ebn|=Y4e^;RU*w<($^d6P&Hlo(l z2Pjw}!RlojvHJ{m;iE67aMQFKczJ9GI?R=3>yFK0)BS)wWipT3&s(tDT$i#|qg(#d zbI!0mF8w9e#PaU>Job0|P>omx|8Q_d-#_)RKF}2=MJ2!y2ab=Km`=^_j^L+w1C}@> z;wD2IXxJYL729>;*HH&Zc-x6GKZh|fZ3$`-2k_I+hx+4oRqqa|W5|g~ymZ;qg#UOx zb>jY?Rc|lhogo)oVKR}(aLn3g<^`bkVl4l~w*9zw@Dn|KY7cdc(ZdT%e9>*$Ei%jN z5G+R%2-DfaFD-mbmm6(H!$KD8?OD_g`i-xHb=j7@M11qG5O}K-xZDtFFw$FyKg{y6g3^vY>O43b z-BlmZahHBjqkT=VK!=A zy$kGNtxhuPwa>-aXX>b&zZFxy`QrQ~yKvs&Qfy5fMmaK$J>s|DY=|78f)3lzUgIhe z#KjgK1@Z9 zZiV+1wjkl(L*sX!qgTSzneseY^77>r2&#{TDLqB7bW<4wS2e=bi55)Lu2|-N$}vXn zXFL;_`uV^9;p|`IhpDfvEx%1NZA|Xgt&Qz3u$mG0?|wV^sXbN78izjRU-A2%0GuUz z7%soO27xDMfn3H|X623&FbRDRUppo->)k~d`K%(yYwe;(C(mUoJXKiTiC5`GUn{CT z_#R)ka9M6s#n>BP-C5q;Ofb=12=$&{s2a+lK-jb@yH3?=6Nekvvg!#I<)V4{hXTmf zPA8@H9GCg62RQHhimjN1OW*q9VqQCD-!x{!^KN6~vPioBs5i1(30pQ22is1kk=`&> zR?_4auDv!Mng^r6%ij>>H@CpClvWs8t_4lYvg!2mNg()eBiS*+$Ilk8=)&I~z z9(JxSMB@r07@NScp*jYM&?-?#$!eP>@M}#)rm(Ee&XPLOMK8Ni}z$?p+!Ox zbSt9?Z$ct(jOtRdCoG6c7*+8;_4!b;t8(Cqs&9E$3t1wSePTNr~eZjxR@gpU@(U86bP@XI0@~3pG;{;r;#<4w;|F zF#=z87+(<)1}2_{cWY#sRqNO9{JBWevUJ<5)#J{~S$YkZ?vC9cY`Hbzoy<4a=l^p) z9olgDqSo?xmddt+k3{YY)MB)4@PN(Nf8LYLb=H`5)d&n#-$93aDBQ1pO+J(z!HaSu z7!rS(&Yx`wL$|_7X9Wa$kQ5 z({;Jp)S`7K|10NDOjj}HGPd*Zi)AjFo$sJg>xD6Y(iL=AehDt`dPa;>Hi49s7|eeu zkKc!6aOR>otg*X=7D1f<0FNSBF3E0nOaOgf6Un8LQ(He^7%^+ zYK#{_rC=o*oEJ(ed9m=(br~ccItW2_6L5KHG>Tm-COc-YG^dq1Dn5xWp4?%^Q!>KX357 zcPK(Pz9tiucUMb>&x79wCxY_O6}&!OkG++;1Q&68x-Hk<l&N@6N-v^2 zx}Q{it6NCwiY}6O5~1+$STT3OG7yOl-E)p~`v+ImPKO8fO7K~07=E1*fTBCym@vzO zmAX8el}eg98HBXVscQWu!#sy+ljRE6#T+Y##)vzh$3(-6ggWJtz*?jX+yl3bS zRvw1%af%r{4m<>x4yr++zc>sxworqq);MQ!G&QK?d``L#Ffh*=R#@HwgUHKZ=O7BI z`QyPa!JDp$$mGpbO2y9Jy_l5!5SI&zvAdpB(bF;hP|3SZ&WIP%B;7f%X7>+rdfa$k zk;!AQtLQ03)z_-5b?;V+~y_FX4AHAV)ETHn$YcLZ_vMK|(3Nf%n2 zlt9)t1$KlIra1o`Rjpmje%>{kJtF!R_g`Ot(U(F&d$lP^@=${9FZT1!%?JUw6AB8^ z8;FzSYg+o@EbjD4#dl*)V%>KyShOUTs2=!8)_r=xYiWss`KnwtR#+vyuGTeg{o(IBQ)u#zhoqmmh`;`~?Pn<&vNmg^6V-kVIGb9`y`YCO6AeCWS<#Hw-bt~H&umWv)+OwpO5Q`^nh zrk17ryT8&NPQlUbgE)!XwI31>gPPtRAmX7QxxE3#3M7NicWqozeua$GO=Vb}9-{M= z2Yc+#!ulEGVZ)Ya;^%lA4XzlFh?|?Z8`NyPb0Y}HnIz%D%X*+V;t%R~tr*Rs=}f%x zGyJ?cj(wez!0yb{XKh-AS*HC8ez8|zCDfL|f>T@JPxS;wDm}-1#^gIV)^;D-Z=F=F zW~qR8oi|{^n0Vs2RTPsnZAgJgB7t=-*c>^Z9cLa%^c%~ew#}aTp*My(v?!Leb!U;G z?l5%uy1KeGM+`b9=HYJtC+L0l5~TkzrEa3D>6o+U$>IY~;cQtp-1Jrljc<)a?$QBR z-Is)6$pz%MjT570IKn$UD9qjyv}H@e8_-zS8lQ$MfpI)THosg$sO(9c?-@mQ&zi%e zYKB1116%wt=`40nyNy3xtFdi^IM{C$hEs7T=n*4x+&WW@Z}6uQBHs_6U(QQ`P|u=ytNk8V*`GwQp)7vBmL`N002t14 zfdj%0a5c#Y)LTb+MfV)B^-LK)ecOXSzFkHUMPo|ce-S~HhpTh!VA`vl;P=}dQa{Xu z0qY?0t?vx|pe%zsUIx?YQa?#X!dM6}RD#g&DzNRKC(K(K26tskIdwC7>S=22H|^Z~`VUJ$H?ma1%?Wb+aw=Y;-a6Y0IYn{ue!C zZI}2fFSOL2y3#aXRkv2TG+$o+;J^P10W$@*$2ygYEXf5+%~7ZvFlD~3u7{&)9ME)be{04zsL`7iZXK(sZd<+XRlpNTm*^FS1Rn9s);c`ge! zYZ8<3`7AUlyaQXWF^p&qfvzQ^|X+K94! z6~*+SQyjf$oQe0Y z_0u2LNw}Q-MQwW}8NIzHU|ZQ3Y8`b7RdEZb{u&|t^-^f*B!nY}5AeFRrX#%2#IoP& z49o55HafDr#@qF zp|IzAGz`hDf@$%0&G(%@hBtDWF=b~qdW&Y@Xk;jUiU1ra^1)RO&hS+E5d4|MfJjIm zS^ZLnZ?Yht3R=a}z^oL0R%I?ZeJ6p4HDq(bf`!n$aWUAM?gAGPM<|K;MTSw0|HVxk zcgJc`D%GJ`-+65=cxogpF#Ayo6#$w9l_Ym(pRJ_J`Y@yRD;M#-B;dGmea% ztqV7VS3quvEo9`$z!tWUsO>ePn%1i5So)h9iz>syy|;+orU)|Wb1(7Q;RG>r10bol z0CL$1aJzL43g4fE2?uf^weu6$s-7dhYf8zdmAc^lCIS*3U5EZ&K}LD2F=NVeX6|M$ zVzx#sWqy@zXLeY$Wv#Q+w45lUvU6avyyeOu(^wUwv6gKCd0_)rUjEPd)M?Gsl*8*B zEbG1IW;S#8vL}sq9i_|v?Kd>v9ycFJ3qt8b`%t~Kk@J$hFVxKnfJHTwo1GarajM1$`?T9G3x3C;>Ku z3FPF=8K8V@C#M4xU_MIwLxiwDeyY_2*N|+!h0Ga_2Q9{$UQdU)&s89O=sv^@G0d4r zS;q871UtC@5xZ`W4eNZzfSqCW8`t<~um@gRL7@E&;<<}sKg*3{I>V=7CoklWB1k%U;FiEiY+;2k4mV0OQaZ*=h(j`@bUq@N zCcGlt4X|`_7}DAW;PFub+`Ty#b(lKD$2!52$V>3^kR-X3kxTl* zmccYxS>p9x0T#q$Lu$=bm^49&Ju*#@Ey%cqbM5qrUtxT8X;C##K~w@{_Enp!ZOH@M zmDTVpzKI09$w6DiGg!0x20kkLPOLV4ATu>a$rt%H(xGycblk~?)fs1C@ftgPI;RJd zZdBsZv0Ci$L(fnTpKXIP=^8MSUv51#uz{Suh7)v4)I^!X)6;c4Peo4SWoK;AnA|9vah2 zue$k=^AR5Om0~u%(v<`^jR>RY^%$;j{p!*dch>f31x}G?=)(BL^wqo^}J$uhcqRFj9bur8Sruvms;X{C4Qvc_lF^z0n( z@|RlvFH0Hr2TPP2y3+tdPWE?Ya=00=`8L_Jj(%3jlF;+tNH4aZm!3|?2 z*=TKhSf#55r)J*vNk)}>qHsmXu+M*Zgv&hGt=maQY@3ftbB)jqEGU2hrlZ~r-1!y>bgnuxC65hT`I3F_bq41Nc_4PW;{`2|ZsFDRQx%-fLi4Dif*248} zQ8@PLa$w5~AUxwTpu-)0tj=?K)AAH-8(R;%V^%?a${KL2DuzkMitH`x&8*PnM;LlF z18?Wbu%BXfvUNdPFgi98GF}J3kboaN|C9`Si+tGcCs(q|YCcj;|9Ncj<2PWlf!t#mP=#e^y?U^7>Hr)<{pG%stM^>4&JF*QQ9615WXZ^u;bvZcI zW$=VAstQNQe2|omG&!W-$Wqv5x1v3FNMJ; z2l4GdIoAJvPVuD%?%-IQhDu>j+{`DMrB~pMq&CzK-6MRdKai(t0gk2u?617(Y+S4k z>uIKr5$TR_>3IpM?mG*Ug(JbuB%XvRX2JLPRnYwOF@HF>1m*jb*fQA@c*&~;1dVNA zgJ>djElY#eE@6=HphVD(<653fz>Ryj+y?hvoG>OHO*WT7gxDf7JRy>IQtTLM;(R@J zr_PaA7E@_`dNBzbZwixMTbZY(Ui_~fZgozcj(LI zK9Bc4`4Hy#ej|E)b+Gp4cOq_6M&hdCaQ0(PTj@25cP#UWrlJL-rCtR+4p+&ux!QPO zTsT5UC4QRyx_U73AmpEqgSHi=u#lYx7rIkn8+UX6Y#0vgaTOB7Ga;*fn!rPyY1ra& zk}B5a!mdCe=GJ2!u(|sXYZ5bIq%{`&q)p(@vUX@{`3w`M&taclNMhpzo!HU6hFo5Y z1j{>ojNPIb0Q&WxjM*(^E$>CzWv*#b^8ocNF zb2sc)WRg)j@!)jhugv7xsPPNInfwC#lVjm`yCAOVItjId0Wh+$4m?G7LiNh2{CC&7 zaHYEt8`Lus!zV^TXp|Il=g3!(6JEi5d>sN|n>fzEo*W4C-cH1;<9T<^Az9d?iFapB zVBtat}1<(CY67^hckLU8;Vd9}OdfY`3zgA3Unv$K!HrGsC`|}KLS1iS;s-C!akrkHZ zH*)NOV^mo0GkuzK3U%oYuIEX^YcFizlt?OMUE|m~2VKbfTkT|(h7Iy6>uA=2L%8z7 zP8=qpAYOkCr_TNjE=wjegOM`i_c1950;q!>(-qpgf)~B&Lb1g67@J90DLkyHAOk#AV`r(TQ zvg~5{SbW?p40od6l3O~fNTP%d-H;td1HJe2UL3EW%YBc7v}-nam{cOk5oAq&#bMEu zZ`3L=g8Xi~Ob^E}>>?p;Hm`FEdvJ;-zP{JOY?8Rn*g8uxyH@P|uO9G-tGJhjk)`!~ zy~qo*nraShbP~6D{^sBPm3S~Y=X(fh)_j5Mir}u}~y# z&Ssys8?zT)iL-~3GSOUB2b(sFqE75l?7X@ILbJ0;WAQtx6@CuS;e z(TyXG{n#}m%{m{S%kJcEk)N9NLHT?Z30&RJi>XX97h3S0rp@5krJ=@XmU96QRSe-G z4;6Mn*e007NW<(`A4q_WI(#OUpk^@@I{FU6t$Ptr-8DcojTh5Bub$JXXN2K!`8e|D zyeuzS(UKHc5t6^8aqd@#eDZvBJnVXrOsX39@pl*RC2GO1NYAU^{O>!usoXWBk|P;Z zxoiw>&90_%q~7rJQ!VL{z4|^0!JHcrmeH z-&qWXak(%o`3xppX(u9YPtjV7a4ZY)#hA6{$ibV}!FiGfv)L(#ArkpasKsT*D!zjG ze!>DyiD_6~y?_n%OD0;XO;s#QaJ_xH-?U?dCk6=@$A*;D9o6WyIgPrgD9534T<7i0? zzI?*@9FrVK%Ip#HZLKnsGxIrLXSo4;H{vyxS$`vn4KnCa;fLGbDOE^F?=cDhu} zlJ}E-B-UCHm^*(8tLb%vH#9SXNq5m?mR~&xePS8l_Q8nrkYAvO6|<}T-rnXXJUC7k z^F7`+xqCKIgp7 zb(e$=Pt| z$RDy-aezP5elI?#JdS=JePA&w&m>p4@xC(6bfS_YSlr{*#Yq|r{qdAn)?CjIKB~`hd9X?= zThX}0hpZGTz_qefXm@QA`>5>-6n9oYu8=JATV*z*K0gf)ETHUb$#tyoWi3{2juhKG zJ_ZXHDX|^TCBQ*@Ex1ewh9zVAd7k`v>~oP=tT5;Ympl>huYAI9^ONK+=nJDKL?+@Y zUOaiIqd>L^x8d!z66~d-@6cgq&8&`j4b!v6Gp?N9bjC$hxV)-?icOjaYo@wF^P`g# zSU3j1{B>&W% zx69?=+pb6|?C_YrD>%*jvL%R2%8iGwUIV-lZ!YuZa5VT8WWYV+M6f!{xQ8*IB$-8aJU+`WbDTjv%8GfJ?Xtu(eGRYLD1hvW zNq{ZCO2FB+2`-4%!1lsWI4d**8X6k;U)nSHavSc@XvNv&u(UJyMW#Xbw@S#Ph2U}X z0Vs^tK)+lpM0W~P=~fS1=eG>k6$+r8W(zrCl?E2GZ@@EW7VK*KpwQwK7^D>eb}xg$ zM_2iQe!pl|)^~GXp-unw8$X3!q@CX8U|FzlvhMbEvun>gO@1>y;$QyB%w7|8d!d4d z(vzU%qAj;q5N3)yPGU%=JX;s(g=3a1fi)_L^!n?U=&qegl9yTWuW@;w@0ZO%D?vdd zTW^r+sC@pDuWPV=cQV}=Y7M(MRz&lrV=(7cShc=@GMO541U)VPP?d*^VYhJs^^e?$ z&Bqp?{XsdHHN27$k~j_nBRX_=Y%c9H&%oa;m#C@19T00e2N_)|+|0>&^pk({4)%V7 zw6C0RUBC|Jba0IH=i}h?Yh8SkH5T{ZdrsHh+5;8#8{yq21>_fh#-#RVkQSK-*B*X? z&iew)GS&xIVkRp+Gl`vk*O1+|aR7T&f8)BqBW&sHc(_oV48xIya6>Q{mIi#_-l}>` ziuy|vj-+F?*K}5P{TdwY=%T*<>cH=r3!lTP$?@<#xQQ9dMsyY8n{FkBXFQeJ`7;W3 z{JaU{tro)}(HIyGiiFhrK9GFE25V>d;PH}vF3Ve(NC}t22lq7CQN{7~yb->IZ-M($ z=0G&(6RdON@wTbk!WcD8x~J?Eiq&jHi||vJ)9;1GkImrY-6`;FnES?@PAJzV31Tk~ z!Yc9#n%z9mwJDjq0~)ZN#}=@+UR3}0KKL&zH*(Z-v@CCu7ZLF^t(`x^YtUTzUtX(o zkpfDo2w~XJZLt2V!yH$B223ued9oeL`rYrrwCQqS*P#!l!DeVMv>SY;NAjqV8kPjQ z;3*kHj9`8fo6t7C_qX?0+yt1n#1Xn&jF>M@h44YYfSkJGifP&b_$g5s$3zG-qncc9 z>-bXsrC}foGnC<2n>Mqww-`!yIDqmh6}Z~iL#{Y&#J8&r5IrYAV@W*Bs;(w?8$?i8 zDi$mMltPVYJG|?83k`cdfxi23Eas)M){_sghu6J8uf}eiqrowg8sb@roCLUT83&Q0 ziLiRDEJRDO=s#DB{SsAziZ8j0hTB)ssn&`fwEvAO&V<6L3?Vp?CINPy3233H%=VGmf9ypykT{q3g`QseGgUZ^#r;rcfzmDh-Ijx%S;bnNv!MG-*^Cq*;TR(jY{N zhzyw{73bQwAw)#cL<4D5NrS0~@BRGneAeo_*7FBAXD#Qt_r0&Z-|yEufNJ$y!8six zu-Tso=bptw_nM8Md^im=^wd}n%*UZ^@z8hWC-8Qiho-r5xpOl4eCP;ke#(1Y&sR8zdV-?!8Y3LnhdE2^>FGO z9!3dNVKwAHd)P;q>@WxHudU_rEvij-Rj)&5k0-e3q699Gp;(Y(q;u?tdbJGp^?1V)GQ7tNa%8gd}-??5r?j(+kL3qR5oK8bPP0o7uUw(yX_3 zrr^?520aXK3Vg?YN98_svZB-p4Ih6dPfwm9e)BidQ>Ams^7D0Q=O!t*w>ejESlx`Q z4IV~TxsGPo7UJGN+{tq~rlvyNz+Y(K z@{3;onaimB9e`r3)tvWoh^KsO6bZB0%v;kLP8MC61U4bI+#D(j9KN=}>mpGm=Gic? zHsxSiasVFrhr>K~&Yz`rAEp<7AO)q)q%B5*+&%P*Bp#RwW(|)?iM9?e^UGTLpwNt5 zIsb$_E}ad%DKB^lJE!2tsw8Z3FG4H1X8h48!pc99VuLMvaO15E^q71Clk5-UM>dpa zoZ^drOGXg0^;xOv<*dx~)oeRg|MeSxqLMB5_xw!E;O@i`zaEgCSG92X#RH_1G}(jG zZCRU^MeN64B5aMDH*4V;lL%*RJxP(#X#6B5g>63r$$8uB zz_*lV!sMqjDydVLw@Rwa*Gwlav-MkKy46&EL}SDylSztvU7vYUcI!m=nd~o_rLd%4Et|n+O~1bwB6bazvmRQa`zh;^|Bj7 z9DHbf0SFtnM8LtR17|(QyOQXqj?|Ma5Mrgyd29M zUACRBS3f|vi$vq!$Ioe(-B?tf)eFYm74UG|ckn1yhusmCX8Xscz^A%6y4^DcCRn#& z35E)SW{86Gxl=H*kjrMSegVf7E#X4-RFt;&#oxMdcwa?@sdUT4$o#*Y^K?9u`1S+Q z?TNtf-@ozu_d5FHqc!fc5n(@!QDAwt^{5`V8`*D@nRuOUSbMq~4?H(u4kPaohrWKbS@|+3+p**=5 zn8=0njHCwJf7yXeJU@U3^WsrR_blzsl;PR(DE|Bwk2^D-liY>6Or_RF=GfGJxXt;U zgO3s1JMgQ-N9@F zub@s%37)IRpmW;`JXUQ7o=5A5O!{67-1uBDFrL8~ZjSV=@G-pIYe|oGEQC;rL2_iV zJWfnH27Md0LfoQa=u5c-o?}m=rK$w!o&1?r%lJe6kNIG^Hj_3a7j8FypG3I~*)F%iE#n!?(wb>STsYlO5LJy3Ck^9g^` zV~0ylprt?`Wv{2Bh4m?{R+hmon|7?Z=7K`4&jo^f1{HS+Xj6WVU^UfZ4hZWq2M%g6 z-{d8k4Fd{HO|u3xi@M;n+%WvAHWB-`&4!o>%ZU&_m`tBrM7Q2b1*5&8@TE-|*4G|I z-y6?)DvG{X#ART{IGZ!C>t8`f$2HVX9?kCbxQ=_0AJT=a7e<$sk&lw~L{_7SmTsRx zM;ZrV-m7uUc1J|HXj^uTydf*$KY|aRox)`!o#aN$e0Va2)1kkcz!tlu;NAn0Ok4@a zj2w|>n5`ROLT^0XAi`-W`49d(52=mY2P4nUJifb;`V4JHw-kGxy4ps-k{GM3&Ci4m8 zPpC2blm9~cgFrY~69}CKc~H798;<<#h3#JBKsZAPAEHEVvrK2MJMOQ==ShEHplWs|tiTZKEyyb8ZvvZo7jEw(ZA8OMBWlI^JYe zOc3v0z(cAk^b$+f8L{#=jM!6*CVL~_oSnIRBl|gU6)RjdmA$sQ9#ihcaecrQLE`vZ z=qfdhou)gV)t)w;O&=b|nl_5F6AMPO`9Fo(mdeMNGhBt4J;neWujJ%~(U?{kh~ZiS zoc}u;O-`P{IaU#^*ECQ&$XcGZUL~?d0>9t1!it;Czp3g!W6}7;0pzC&#D~FZR@8m zicG29>pUXzumEC2MVa9P-@)2}1;gQD2>+||pMG!3TK9q7G1mONnl*1@8)lTPoBB{u z)$!l{b9PHAUUrOy8F?KZVPEbdHAVi&hX2T8|>{jIr{8C|=SW z%k#ARL31`v#;UDKu==MjnZ%tLvyI0wq^t_~-bpjo4_A=&On24&= z)8SNh0#8ME6%K{lVxyn|LM){iwLEjiq~{VDjyK08WoHm%hN!BGC+x03;7v_{XU-nr zy{3V5D%8_;+Nw;(`I{iVvV(*T`@!=RYjV^y5=X`+V&lGFaIEPPEbzX7?i%+gPhOw8 zrb{xF!?Dm@*l3!>n8 zNj<*jJRZB#E9h|6Z5-*I#pa)Ui`}ORNX3?mxJ_Feo{xl*Pc9oU?ByKxQ{^pGs4au^ zo)(xIcL45`7Q)FlW$<7?Mo{D)2p4YJ!1`omj5m$PN%{F$=TAuH?`F_>CB}5i%w`4; zRdSvNRnU*w1uoLB$x&6HK|!@-qQ5Alq{m^}r>8jP`Y{w*XM)jZ2&yUhk$v~YVA*!= zCN}t&v?o6WUB^andQEttzU#0eT%Pr|)MfW9{)V((?7#D1B{$_`(tsUbs@FvCCUYx4AKd((k=$eR=>? zA6N5Iy=LLz2Y2Y2yO!{7;UHN5z6wP%MVMcet-NhFj<5~RE7<${F5ywZRV*fbDCs|% zm1)?<=4&Io+P(+kpT&XI@sqekPlx@QU59!4eC*zK8O7ck;M5Bu@GGznr+zSo5OGnE zNH-B2Dd#-t*n-D?&0(%*KZd70>Ugs90*#XQ2hkZf(Jdtbvi2T<5IYq#c9Lg)`j2I(U|+;IQNt2|LY)mZeeTPD~k^a{TmPyQ(>V z*$EuACZ1-;d&AkOX2lEP+=6K*xfyYM3WPgb2>f?F z#DEe%&Kv1RE@U0RhsKVA&E`rtx#I{hJCktp+w-_)?lr>O`cm+1!2&q&^&Pb-h$LA@ zOtD$-68*8U4g%9e8Q(X4)PCvr;^bdtK7j_-A=1ov~XVz8_hLzpIW4M6XN* zKeK2|j_O0H_bVW9-A+b&P&~d36o$F;$ZPtFs%>o!`^4Y-qaLEI$r%AGBCUaR&_8Ztz?bYny zvK8!TcN=!Coh56k46Mmz8wgfqxqM$~l$`en&9*DCnoAW~(}Sbg_*!9B`OFKnn)w9J zRf@3wpS?lp?nKb4Kg(<2c=Fdd=77A70zQtcrl;4N(=IPzfqVNwGM$-8etq|atxGLn z!`;!K`uiYh$emBBr^OJ5o@#Pw$vblN#S9Qz6$n@5tKpENFC?0nK-DZU&>o*m@&?Bd zYP*pn-}L2Gdus8<=$s|%XKes}?F*3kyc_g`OyKk~IoMy`!hO$G;xX|ynG#h;t|#0i zHs!5EWb(7?jG$$I7TMx{6)T#A&@4C{(zE19lHMWO#NUE> zbuPF+`gqCD7iqALxe2RxaPRSqdea+WiDdT$aR6-vXwvckzq}yc=QBU(p2{H9Zsl?y z^`Aq{?j#5(k!KuUSCHRNR9LZ^2WU9@3{)-Lz(g->gbm`SVOi;B2>()oZw^gi0}i|~ zouuALdL}1ghjbH4G~Pu6_1PHPXwR5?cfrz?TrK>tm=&MBnzf0Z$-eggj60J2Fb zCUh-Ek>5*M-=0g55ch%(e-L9$W^lTW;XzRG{0PURCt>0`ZPeb0G=Fj^JV@sB-=cGf zmFZbze%4^L{7fSH%#Ts6uw|+g+u?~Q3+L?=A!pzMd0<|Pb2`nTp)V3%=$OIlKRhnK zo+aAfBC%@Db8A3QXz7K@WE zWB-roX#X*nh8>y+s}~8wm#7YK4=V$+QRy&q-&OKe(fo2wFX!Yz9x$4V#tnVZPyLlow#TLNh;{tfp*+UkD>?a0n1bmW|VC#an z!kyWAU|8J;G8?s+2hA4X^JfJ)eBBRc-uQ&qEVAkR3?b(29CtjlU=@>G5eWFyACDL2 z;B?~K9^e=zYq6d{MC0#GgsNyh#u~&5Rvt=CjjJ7NL@84&D#z zp^N8zD6YHqg?b+z!&b*_Kr@pPcx-e7Kj-Pd>_{iPmVJ%4BR`ZZRk9Im^Lxv))>(sv z!aD5japmYU{yqI!A=-Zx|;F(q;kV*DO*Cht{C2}8bf3lQ}-n#)Bp5=l1ZXbBj z-GX01lfBjP6Pv|Ka8bJpR$gl2HMiYFryOB+jLLV~_Bso;aR!!C{YkTav^5cnrc{o~}9;)BLl$lJFnVI|U zLdup8cxu57e0}jL_-4El^m}oA&jC?3%cOx!`}2zmD_PUp!3lVf7Z0_1Z!u1<0Ba)% z>?^7wt~CcuKk7W@ng5Ui-TRW*>o5l2ByE6vtxo8&6+ zkgzL4Pu^KfS!|5a=1x#CVgT_$Is-@1(5Tfk*oj;+I=;^wT> zp<)a+2^FkRaRevha@>+Pk@L5AP$|71=r|&TVh#eBmwE|aO9?T(`<>zZ>6&zIoA!c zH{C}a?l+ltwh3ia<51JEi+V~+{&yc4*!A-5{ZothzdjZ&G1Zt^R#a!C-}>p_^RUPL z7QL}1gE`dJ1CAS&*_@Scv7&lDzF)co`b0t?w`?5F=KPd4SF~W_h!h%sbA+S*`Dk~o zfy~zx1GlojC|D`Zj{B2K+H0PHVaQmJTxtowbv=2zovsSzeLRYnT>_wh%e7nXYKzIq z;TU3<2xHSln2w?M@Kv76*EF@^9mvqfmT$$FEpv@-Thj*mG8G{D>nagT6%eoY>!8K7 z7-l<;z~7LsAYI@GThDjVsQ$U^9|H-tMe!!YKEF#ww{Tf`hJUf}^cH+1cNGV#rZD+W ztKjd#=d?*{B0Drkn_ar-Ij(v31XuN@a-4uqoL=`g&Cq&*UP`Cn#C`{=QY^u?&nlsx z^@Cv2<{9XGQIWk6mxB*#j9~ebF(BKh#!6&vhqJ2>;`AChcI{jq>b;j{Bs$)}-sNkc zY2Q9D%>MwVMn!YJBx5X&ZG!pk?|8*)&kIVXk0pqSkAfBs=#WtSE{Ar`+Wv^-dpGMw~^@B8IdIAU*_d!_HUudkT zA~o+g&S~=tdfG1?OUI99&13c1)Cm(=TlaEIOgH-PJOr+lDwrE$%@58xZWw)WdYPma zJ(&0IUp=SKSt(vdy*qRFvKKfFwF>4~PG$EtUq&e}?2+GXxYB9@h6L#2>R2H*B&izH zyC<?fC&cuWRJuUo&UHUS1Y{2Au$6STGsO4`@&+pUDE6gmi)(4 zcPB8;dSyfLBUSr1|9|x%Jr_z&8*^)!2tnh;*++1YGGa78C z`mGN+U!oOWe|?uWwF^OYtp(C&6>kG zSCbCTE%YV7fy;>0&LKjtS0PXPC%h7NVEo)xGh<`jna&YIICRM$B{3DRt^7=-! z>R!ON%0f``y#ifdlSpjIGg7WSff+0^WR@1P&~j%dJ()b6Rc@WkhGeavQeV1XfE~LZcLUp`4W-Qz3ugK0=BFF9?rNZti7iBdUUc)!BQfRtN z22IySfwZox>9N<*IIZd~J~>xPV=ryOBd@FQM*kt~-hG>_AB-o-ZzMV2l0OL?KFZA* z1o-Jj0M1T73DWh7%y|9Roc?nh^Y`~$F1Pm~!1yfE);AG!jBUv1FCu8Mrk}o*ZNXP< ziP%fiL)M6U-01ArC9%^ zZN8#{HWI-gL~bp?U)g_&Mcy*{`b-!+)^6j4aGv#xu|_!AG7hgyNyaZ>94|e^?7#XD zV{$k4rHBoGWuf)0$O4_R)yK+e3MBsRCzXCU5dDd-;6;oMGiss*JbKuU`ikXvys^Bv z;%5{cDtSYve65(lUJDe1Q~t`oaavfqC7Fz6*XEE`z)0icBBuwE-X5 zNGMY1E)J8CM7y3L+FHTYdTU#lP$>d_$qG!k_7zYHiNbaxHF_hM<1Rj)!fcXeAU*aX z3@fxkvXL0}cHO{@pT)>1MUH#cFU}TRmthMlE@Miq99$o}fH_$-ifJnzk7jXhZ1l$o z?836iY_{!hykYr?zMMHs?R~GHyt*ALQkoBswBup9TRIM&`GWiIXH#Jxq(L9=qRy)l ze68k1`;=$G**Xb!=(`WPCg~wldJB!b#psnO%b0LM5L0r&gIRUQgbCLbXPo?B{*NYy zF3&Q-Y`O?Mve$zwECQ!?3p!7?n`6*>kg#j#X~rAw^G6=zD6Bv~%K%(^DF@6!g_&5A z0iQV?cR4qUVv?8PSN9|Mytth1>O4XMmZd>dL{Uj+kPcY%2{Ww%1?X0)z=gxo?DMeE z?1!p0{4_}i>%OW|siY#9YcvCU6H8I9Ll^QrI8CebYdEFZ4nqTpke97Nz3rA`dC>v< z8E}%g)L)C=d0T_Op;eb>tEIp{amda|blk{-$OMO%5|RJ+{?zjZrB!Qe_|cKu4vlmg zluU>2R*DZ|ezVVn>djJ3SPwfk+#}N`=F(}&pXs8qpJbDx8MGdr1*fw*A!qOi z*mK#*7ZuH*JDA%UypbkD!dHph1!*jjYM|51v~lOHBTV@$8K!Px4`_cbBGd21;wq=_ z^l9^BqO&R*B6T-FW7%VYNNNNberO32_f^?V3D)?RUPWISP4>vnF|5VkZd4HG7^y+N zUQP32flE*PmWl~s4R1X13c&w2f4cz;}hIj{K_I;>B3dsU!XHc)<{mzP&rkYe*O69EHy4Aaja=!3 zU6yqFt~`OH{%oe%(GON}`2(Y!_T%s_QS==zC)n2M2(o_1Kz8F*sJpul1f5?0>9uT@ zGK<5uF5(ltg(feiYn2^*A~x53&A;^|WcMN_>*`E_A2*j-7`2#g6%3-X3SosyUZBXC zX6jhH$e7cN6^3A2Yu24XkRrI z0-s#OGcr1O+GPx5F294R)~tdfv%~OD)-cYQl8(DX?3n?B$%5YpDxln6jn-xL;}_`} z7!d9O(t>G>aq%8z%*RG3I2UiGc)k@o>-Mo1c?Go9MGRM*@5i=L)7X`FUD^GICbJ#F zN~pK%jM?(|X*f8d#~y6Cjj4kH*fg;i%`R%ucL|(Uyw{v~{~3)|E{51|{sOy64Sw+` zBf%>anY06O;L;#M+~@5B|NE*Sxg`sPH%z4b$a=h%G0bV#`Y@qn4LI3PVfHg% z5VkQ*kTdrkz4BEbHHZanpX7zRvd7?kEnAv6iPGBNT&8MF0Oh^`Y~w>9FS>-NuJ^;A z+#YDuliR!~vqGMSvpooWIG=7*tl+IgD5`c#vMM#1sGKy{Y`26r)NaoLN!5GM_;e?z zq;B}H-x%zBzH!rdD}HVH4YR3j24z3kB^H@m|2+?%zBohCIL@b`^O{$Yb^w?O4(4#rYCS$gdDl zu&6zWf$380GC585S@=`bEeIx`yevWKttxwTcOs69`-zvlPh-gJb@*k>DZD(P7yDP9 zME=q5ybpDLf+@kLiW{7U(Ag{xC%*2)Q}+$oOUhH&8#`{|iibwX7DZ#wcuouVV>enI zJVhnROEh9m(Qd~sFxs*b&WohbIm}irld=ci_1A*E-fa@qKaMW0{3A%rODthmJjN47 zeP%XyyLqQ&i^;9l(ac2UIm~KTS%zO%1ADJNgRVWwOwCO%=1JuvfyZ(IrX@w`ca~?&pYV)&@@ZavMdXW^?+uIk+Kr4tdLR+{X6=>`fwgMpt#% z7e4~nmxC=B_?)G!29t23ehzw=KR^|^Mr=>yGRqbj<08k)c+gIU4IDZ^M?zbuVuTaU z+c^hwB7z0e{MUm@m;vQ$oyTyCKR8ETiEWy{m|^W7GA@~i7?-c(8J;u?sfjP3+Tb^= z*LuOT`Mdy?3X)LUpaZXLJdC33dVz|{dNSYB8Ab*^lKbI3T<&2te%-6U^0{aAm1{T= z(LDznoWsE)N|^OsA3Bb2@gM#`$3>f#g!16z{<$v#s+u2uh`lD?4uN~x4y$@@awO{P_AGz^weQ@ju zWkyC_WVJ$4AnpA%Fd3(W)1oG^9}TOpxk3_`#+)^)xpxEdf?HriycQIs`>^#B9Y}&h z8Wmch2nv5vA!5gQI3oxn-@OJ*g+|81lVJ~F{v>j2no!=T`9DB&pC0V%lZU4XPvM|_ zDs*Iwqx{~BC}duO(e4Z$-gOhUuO9~eN?%C#_<%)SqU;_vm1^dALEg=GU>^Dowx^kZ z)pSikOnWk3Uw9CgMC_q;t_rBJZU(Kfn})~l)T57_Fxt2dc81Jii<;6g zZSVkE_-mrtTvv>ajKQ+B1Wc*ljLRP8W5IiQ);8w@F0)If#MukhJz9V(b@DOzb0!gA znhyT8<#0ph0Gzw*j$f7~;+&;p*+xxy#!}pqktp+L%nnL3`C4~CJ(BCa-@KyRehZ9k7tUXn5dgW8I9hu{+M+ zZ{PgyyuwLP35T+#v77VUF(`T;jqu?SwILlGQr5-ld57uIKV`g4>p8w;g%&g9y%M}* zkMjcj^szu{ZSfJq@l1=n2jf0-Gvoa-7Y6D+(duAlP9IiFGOspJslWCpUv&mgb>`B% zXBWwgmb29Nmk;EIO=KEuDOF4&6x!@vo_Kz`j=52givKo%HccD+7T*C1Kvg}=rD%82yM%Qokr(qG| zD7kk$yKG?ver`F9wn1OeEGin+emzE8jtLxXY>QQ{kLk9ByXm3~ZQxdZtkc?WSZsL~ zj(whj%Hy`;mhN|CfBbz|#c7MQ`m~DMa@x_o(vHjX`HN?I(s1n@DW*UF1sn! z>x`J8!{yNMK7)R86lLp&mDuII+tB`9635xgg&70spsDtN1Y5@ccOEX^Z!^C3*^>WI zU8nS`&#W>T6)(^A^k07O=+pCg+V5Q0x56p((X6d-TWSdjJQIU@_v&$J|3thzst9g| zDln_Q&S6G}Ie|dsJ`MEF;pHCPNe;i0XP%auGnwv%uy98-=}Y(IRZB$?ul6`_xZlY& zr7dK`v0hrTHWyEHeyn%1jgK}H-s`NRO?T&+Rx zNf4}FI~%4S-7nBNTnwsNGZ_9>;8+t~rq{#gu(8Qg*uSP0_-w8c?q72cOP?sPZeL@u z(0e{E%iDs+)6U{#3JP7`Sw7CKc-Xc;M;=6bLv^oqabQmp_%94*gF0oD0Z2 z^D>NmC&xY{Cy0;CZtO+wGwoB%ib%0(_N2L(ADWBca~(H*R6_k_Yw#E6b-1Ewi%ko} z+2o9I?CHoKRMs(^$S0@L#%&ciIY^fM{`?bmzbV4sTUV4Uzo00Hxa>}2<3r74t_(xz zE^#J5V+%}vB?48e0Y)-XAng7mMlFE>6S;3x?N&CGzH^$6oBC6rQJ2bFxcUZB6cfN2 z?<#O(O5kw80%lq1Pq_Vl6N)u`z`p4d*{1*3rFvVzTarqn8aMp>_Lb{OhxW)4@-Iuj>?;mL&=dRTG$r zYm6f%qgRv9?n45_elB}(?G`j#sE!w1UGYI)2Zr2H1wYXOc;6F<^W{gg(XD0zp`-Dz zF>o5!{|B>Xoeyvq%gsqXU8K78b@Z$yk6qp$#oA7CXG?!wM|oXKnD})q)1`Qj$+>e1 z*49VEclI*0qz6Mq5ZwZc9OlDIfx6y>8Mnb9siG4*TeQBD3zc<<90mBBmmuRAu@qD;m z(o7Pw2?mIN$7w>^?CM29RN{&*Z_>lf^qTx-fs0lb+1lAnmfQN1%UM7a@?I?q^#TLw# zaAhX4KOWLqeKtN*`vlvo0+^rUx!S&G0hF&C z4JwnD5X<{bB=BJgng2n8S=)RN2AjvShmD`(MOiB*OT>T!!%YD7Zh6kbP=WdON3i3z z5{mat<`^$Akh(jF+}c`&PgY;Uy*5+8?O_n{+r{0RBhTY5kJadVyPH}EEydZ*u~cm6 z2-LJ6C7+#i*wMN|IQe!l9c6tLq{DAP)0c}JGvy}a+Q&h47U#D=%;}Xf=Rj(0DgLh? z`S`bnSuVDV_%Cakj=$VFtxVhSluuUuzvp57)+!PzI-2sSEgqiXjHAwlV!fv+mHO01 zqB)H`g!gS~{A-Sq_inhCSBB$lwaj1M1w zZe}igu!e0XmGS$bI{MUpCbll!g9mPz;HV=-prPXlZpSX;L(Lf6AF4%*2kc9FL0sM@fR_F$&{OEf;lb(bt-Tef<|2X*y3{GVb^<Era*k!m#25*OT35QLIgak;ofO8h%WH6A3P`W&ctrm3U5e%G@CxH;gd2-3xK0 z67k=7=D+$dbyb;r?kNlYy};|IbUgIRT8>+MPrUZ;c^FgKffs_7;|IncZ`|o8rO_JT z-;oTk zH9dsPUyubdys_k0#X%f+Eshnc%i#9VYjTd;StqB?;qr(g$o{rhkTGQvd+22*e&=$u z-%>HQ=JEht5Y=v$-kO7|J%+4S(@Zv?obz$4wP2d}%d<{P_oG-haBQt0L1mr|PvpJ} zmKjxI-2QG{s@&at!PzU>vrk-kFm zBZN_2?<)DsQzs|NLwRf6p3^B>wbZ?+09Gxk#wF_UIPv-|fv%P>N&Pt+CXR7}H0@|! zxJ@YiBd3eMHcHU}=P>+oej^EK%O@ib4^k#Eh>o%lhC33=VX>~C**pE`0)zC~p!=HR zASj<^7f*PKbGIww@~RZkWPy5M?&+c+L#Q$um9*x)6F}64v%VN8f5r zV>PcCx(+R16sSCm)*i=J+DQqn7|vqdJ{q$}w-Q#(?H2;&X3J~Dsj}u%-h$+fa8+q6 zbG0IdNbNIVFG{_|)hWeb*L)GSasS8O_2=Q)tCQdnEDUQ~b;+)p3|Qf%#AN$Cq}eAe z*<^`IG@g5eyNh|zApd=Wt{(x!ZH_#dxg(r@x|C&B|2>8*o!Tzo+vqVSXEVvs+$IOHJ`DTA6#z7Z=}6RmIHrFM zRtOAXTKaKXGq0VB-P}WZEW;qNz=8Db%i&F}uN0UqxlU`331Rgob(}D9CKGTV71V6v zG5GjX>~^cAQ+EsT-W*aVLjBgn>!U2h$$#cW^e?7MFD!@2CXFz+b{?ZqJOtMhT%qP_ z7G)N&_;;5lp3vcXR9-4B^Sy|%Lh-2Cn1^mj7Kl4q$#PFa@NdwEja!$)`Fr!o`(OF+ zJ!cjTGR%dw+A8M7SN?3tDt>8?@F;W*q&iXlqj@4%nMx zbKr4Q`y7ZkH=FL2`ABy!j|NeSzoEC zq8{kJ(PKJt`r!WW7wFr+j)w2D<;{`L#mN~dSk%6s^B!qX#rtJ+;N&KFL-aKAinM?=+*dg%-=7#c5w-L z{K_7x#$17WdM7}0QWU%{dT698X&6BHlOYKCKAV}q%x27a z6bz%rF)LP$f}{;+=(45X%$P}fpuHpjRKEL?4N8F}A#Qi*d1>I zs`dig&TS}nQx+|~e&g27tI%I$O!7guKS0eby%I7F~1T_j4#4z>1t2) z>@@f%&slG9V-)y1&|33Fq6EMDg?xqTgtq@v-}}5{#h#htN2R^!LiJo++V5;{w==ZQ;F3IUp!@=hQ zTkmz3GO-BV6{fcmr4GnknB{4eRgDfic_H0rNkzifcm5nV+8EE!RYT`7ej+ zd8MTP_*x=1Bp`6g8*@Uf@gc`^+@rjc(Yrg7F_9N$IL;N92Ns0;blfPP;loMKhp=`$ z;doam^r-ecy5Ph-P_U9^t7#8)!Q*IuS&8lWpu{dvS7c>fN8|Zz60k0mWOWn5#@K?lQr;9=zwcyJ+sh9{ST?$d{`H#Z)f`*-v9EaS95e_!FNoK&9w z#PRUw$vTR0)u7tfftSoBSS^n{w2dpKfdjHA&+Sqxo9)r)b*iamY6VY8c^!Qhxr)j1 zYJj+#nSwJjPh(F4gRi#82|88$;AK`CY_Lp+CN(!GyrT18Jy8*#u|(E=5&xc=c}vK# zX=RoB8h%dt|L&*rHyJU$93MUS&0!GE_W{=(r6~2#h3(l;*w_|_uOdS6=sgkqG5sKH{Nv7q zj-9~l6asj~Wi33E@nNOJi!gEC8|w7i7yZ^Xq2{kyY~9d&w)B_`>ptc?nx{D8i(iJQ zcAJl~i_T)CcM^Kf3_>ZHKHd`Ly>P81j{JPBh`&OvayyGxC?OsL>|PtD@B25n#%)wb z%RDAY2gksHE5=Y}qk=cqmSO$as~E$Sqr&FpX6Jf)K%Q`WF}*|JI&X+%xhm3Ufq8UW z@n-yUS5J^-=Lj|ao8gq$cIvAr!P*tx#muW_#A<&K=z%bau$RN_eXM6Q%pEVOWZ8>bIKEUPJh_h?&r{Iuv8u^^dX?1*SA-m@q@bNWr=Ed?1xITRp2R|49$X%AWAgMs?ZYJ>0VZ=vO}1Z)VCMxBbW7^go6P}!U* zsb^tsiVm?jdJV3972{azDUh?<9pc8{gexK&fzRXeb(ViEJM|`pmmA{AJoT>SoevUY zW>-%D?Q!3c^hIN_-+G{WPv8SeL8{9cT4@m@IM_If(e!$cNA-S_&$gFv!bc<4_+t_( z#Ydy{jvRWAE{4x|0l*>x%*zh2r7@hGW5YPs@#;m)->4z@oZdsFeSC1swRFt*T8>}V z3-BO3!Tw%*cDnp*=5$#JOm)9SH|k5%BkH@z-Kin)M(;XZk(bMjEq`&=m7l0xH4Tz0 zBbfLpcVIX=oTvDvjij1f2faTf;92p+{+n0_uH0}Qk1ejoh!s9?{Fo7(jadS78oz_* zxQ!!m*9WZyiqv#wPEX!7b}-x%`R>!!?vg21nug_q1Y%KX8#T#8@B8w zmE0NYUJwN?Ki=j{7h8t0=-$3f!8j) zz^y%I?D5)#9H(g`6a7h(*)~RvxxydIqIL3TOWhIWa^B{4V zo#fBhzhH0u4eFOIgE^Cj1!nD@nC-FJ#spbeK}r&wGOJK19n+F zj9W;IUyLJjSA|l`10BS(bRzk_N`a{r%w;+q&ydTxoGw3QD*n1#$TOa>1Ue~~_hN4X z=~NW{@4doS1YN2Rx$qZQ&090q(xmdot1)U*JO1q#H9xrb`Sc*x{Y(-ye{mF6vZd6% zt^>0Sh1mW3l2PjVR>ADu=OOlp7USrDf@cw}!0vl3gZ1?d_SbG`GX4HMMrOxv=&4i( zz3%lih}XdrH~z)FN8YC&WM2wK4^4ypAFk1Jqka>0(`WE^ttFE?(Sq@emVo`D&v2Y- zH6EDwjU;)UfopRr;HYb@K&jLKo5W4%Sjk?hXQK!l$pS>Zr?oQpj8j^?)Rt2HgntW86royh;F`8{~?!X|K z6PWQv4EM=blccmYg0&N7Vo9JW>j;TxTXlhK_Wn#~cWa`drU;1tXyrmdb|SSg)nGqWy0D){F7hhz{&>&bcr}lYg-`F@MB!U>kL_LZYf>NV zTCK$RZ#0GTM-pI9;{Z0*d*IlGtKd#u7G%u{hkFSMwAwojcerMw$o|*V?=K;0XI@d+ zqk*`|;T%qy4&>O;o4lF3LpfjLU;MSJ6ueqnuK9c#vNp9CD@lIH{)cnLooHnRkYly#GX~#O0?C^;)-TuFJy77gpi|2*K)16`T}m1}%aF`2J`cELiduRChMP4O&DdoJppi>jp6M zvnH!FP=%Hu34-3wgVsAK5)8|U; zyjvBxgSVCUdd32{+kKc9f!X-$&lSO!i;9BZaynT1DuL=+7eR~9I2fG}jGh){SnR{X z<9JSQ#NE4AhTz*@-9t=dpNdtHG%a`6K+6VT+aTAW$v5m_) zIQ9@MgI9o*PBQLwG+>X7-bBmqC^LpzeL(laB^1QpLg(+}=)BfPbhoSlb1b?AtVc9x zvv#XiVk}@E)l&hOR%BNIk2|U2o6|Bpwge6_%JJi%Tnw^ zbuk%MWa$k&El4g88~8#_%u#3c`z-}slTuM+`8f8wH_|g}7c$fQWSA2{X7J-G=ZBJQ z1?$E6keK`wJ3nT_?>{oMc8(BRS3HOd^%UX6{mU?5-VHyL3qj#?Dui8J$a$sK!qJHL zaCyO1c=TBx1S+e@r|c>kxh)5G>Bpg|izfDlnvlif)+9XlA|!J8RZCY~1@T}@z(2b1 zussq@RR3VXFGKe9s{y<$zXZig5^(aEqi|zH8(N;3z{nmY_^tO8j=xU@@0BaTKgAjy zgE@~^+;hA?PaZw=)&IMHI?zj1HmlwEBlZFP68RRDl9Huf7p4ELhug9TU}U!!6F+ky z<9xu5SvT(vK1_7S{H#hcS~H){$(h2M2sGIB&A)ior497QFEwhg%>({?5Wo-9a=a6- z$?5G*0GTbtoD{7xv1nkQixo#D+0F5itki@%*wk_W-)ss7C2xPm$LRpJc}!w= z%{F4ioCUb_eKFcf>tjV>G|%JQDM7~~G4_Je9y&B#htqiVW1~hroab~Ut(h~R%jwdM zMJADSYuX^ydT{`QLUdWhnZ6h?cP`d^dWeSEa*R(;1?*it1jpKjIo@*@45`(S68TYR zcH=49_r0R`pQn=!=?3zns|?ioW&@jIiy`SXg8T2|h_#9c$4v}F9a%FBrDM?I)ps)S z_I}XHOovuCJu-WW4122FhHbVV#kTR!;-WY`oOX%>JH~nA_ea$jT@yxL?CSzENkc}_ zU^3IRg}`vn3)(nt&&|IIPP~l%r2qQMxK*bs>V>TNE7rWxDs>UAyyHJ}U-;I6fA|Jt zbF$z`XCquT5MgRl`rvK$7-Bd2#ov+B} z8>hj%eIFcqAa5^R@r^tvs^EU}PI%ommQfmZWp1pR#4&4^-^{z+Y!}{X4^eBUfU=D? zoc#O_*Rt+M#-ssN8Kzlrthw_$S5dFNv1{r#0N=NZTGyz+(^mXz__b{CMT zgNL9f){2=`y$H1ZM6skU7FEO#<7j0eG`z5%n)KGwx5OAnrMA+f{$%3!NQv1wTm~Jy zR614F56w@x;#+;Ro8lG^J4)Yz&CgdbSXKk`BVWUf5WoM<2WvB-*0}Y~{4e@l^Ljs+ zRA!qm-1NKt-}g*EVh3HXBbWuDhv4x0ml&5U%kEtMKyXfLh`h|$N*4O6qvwmA_(DyT z5%aXgh%2{fqKhjU`DBx65jymc^+8NAd5={Ub76O)1XHNiK>8E~g651qIz~L6Mw|uQ z@}i&gm8F2hWdoQdX@R4ji7+yi!A$JRrA*jw3#NG@kM90H9mBdRu_MwH-yY-gp-(1* zX`(PRDB8j)wTbXjdokP%CCr}+VJ7L$TbQSiLaR4Ovfqx>qvR`fkpERcl7A%O=@D@@ zbgM9n@2=w6yGo4m93>{peH*s@v0!bKJlO8CAGrUK1RJf}jay$nK_B}6w8onvVsFr_R&Vt(Va}W<2W@lZ493<%DtW;-8ncx>vOg~PC*`B2steK0=Mpck7?>)(B{(+C$ zTX4JHeBSnI1=M&hPrgqUl*`-PBE5VgOn*Cu9VL8-`V@4Lq`}dU*dRp5&F0>h%nzb^ zLpk|$J{SfQxE{Lh8_^uzN-e`b5|Pd;R9$2}MVZE?ctdJV!TXM>QQ zG{<=qV(L~|(sv$WY}(UPg0kcfkWz7o$^M)JJ08@+ru0a7(@5CV=C7zdlW@MJ7i48# z3$^=u4rgMbn@15T$%5*Y|k0A<2;g?H7`)*^dkHdUj1Lc zsI>kv*jMbz-}>{nq1qjz%A~#eE}L5ZJs(U;uhDn=WthxdhUpy}3agtcG2`StoPSdS zdZw@>k<~>lZ%_1pktLu~>jj;)Yw*VGbG*FTu`p}ya$cv>Y8((QC3ST?U=J2U;-{Nn z>26DZZ!e;!jDxUPP955kbs+Vq9Mo;=f^iAK5W3?cHr^Scx1XE>r?;le%8;ut7?lQg z(@((5vn$Yca4GWdFNajghrIUvLhSHJ7igqJh9{7{6q9oAwj<=6usL`Xk3LrvOw3d>dOut$XRK_6HGUzj2I z{Cy3Ck~}oO`v40WST@0L~1JYe%Va`@3>*8Xuk=(r1v8ME%wVTonZe$So5+6F90aLfW+1&U5U)Q{U{C(BWoP<2 zu&+&~bNeO24&UJzjZ@~b`+s<`-!|NYl1@I{p7@)7+Pe<3(sfa==`{`X&_qv#325)t zOkaJUk2S+}IIp7yrZM{<#^4$;?F}ajvxGr6UkcWDDuZ-719MEJ;C!q+EEO&!ys&!M zQC1B7m;_!nE+C<=M4FW@(Ke|_`lIKVKy;fG`P=%ETndT-(L?nhI8+A?_e$aXueC5~ zf;m;sT94xrDV~$h!tloo%BH{O-BpN$-zUpqAfywruY7`z?-h__WeByis_857^=P|y zF{&>ejYo@Xh*ec9=-+zKVt#M}-|xvM6@QCy{CNgT4qTfd!oQ~S$$Yu_|DI2uM;t4^ zuzwc6y07SM_fLyTv$MJ9*Nyz^Cps<{&-1^d!PGkfGex_QAr|3a{O&6^Z}#&%Pyl&lintsNdocGm(_j6h~F0CHwdn$7< zp#yl&A(l=)b&ZOiONOWoVbG%U3U&pYYWVHX)fuBETfHlVgRGKZqFvos!EW1uP5;uPN@L0^o*bl>yWYe7 zqcyN%|9lA0>EON0lmxF@Pq?ajop#w|;8HgsoR^l(JMg}p*TO4;JWez1;gE-43cc8+ zPQL87ei8PIdkjuY6{F8HYXpD$w_v)43GQkh2O3@z7*D+ojG$M8QC-$507V1LuUSQ% zM$P!|Jh?2CDY|Bw3qQF19%Q`Gt9)r!JS9Q=-~J*OSjJn@kOTbk9$4S;6XxWE!s7HO zJW|kxOPRyqe`GUcZYf0h%++-E$!s(^Urlz6=CYhui(~tsA6zzE2~*~r!{wt_!^5MO zK_`ggjy^Bv@?VPZ#D>L?rYMhcc^k-^qpskqEC#1F++q5YEnvEN8@AV_(%=qNW(Lb~ zmosaD)K!37K@6yzIZaD$PeXIX1W2PP^yNea_Oa4?6kRwEXFY19uTG6-!h_wJsB!uB zyubU{VoiUxATAastY3*TNqXpRCqbtSeaA=39?*e&1Tkj?=IePYG&w247ThbsNml2u z&ZQjlAEe>0;&ytj@;T1(orNE3+iXW{;%LRd0lYh~9i9iOG1dw1z%Ae@1mtu=>&54A zW5AJ0`^Dg{Tu1yg@Rq927sEM1B@kd64~AC+yiZI7oaFX(0UN*aN@ktLU#~jooGJ!q zjVU2Ux9>xDfG%UBbODzJX|bhu@8X`hKd87<2Az@Z3SF-rkcm=4==hGut1L@{iJvu@ z=`*?c?D>eQAZ9GF_0c#f!{e^SZi?|2F#oZhIAz}!4H@<`=7$N zw;za@n=L-_c==yFTtD@Co65cK4jV#egbH4^RxD`vR_L!Y^`HI%;d>x#a1IJ8cdj>0j|gI(K0RvbDo|# zdx1Zn4Vvl0ss=1&({9XW15UcJNA|gJ$+xNSG|~l>Tc;8AA3E4OoQ{_|ZlROGJ)G72 z80B{%K3sGaUlk#GUE=P|w+@1Yu{I3J4De)mLtdXp%@FqLSH^J{32i_enL%9GwL3cX~M}Aa7`O|#RyTWn! zINgnZ&NuQ+PmLVSZKf};%i!&O+SI-8FUb$N1yyG&!R2BJm|Go#tI?6*QRoN(Uxna^ z)D`l~LxD&53dFZyE$lWB{%;=nBx!cka=8oNZQd)j!!I~uC?o5EAydsyn#PxaF3>A?aOGPcDZ7ft&>#l_8F zwbUl65qAl9Jx{~Ao%f(?vmZQNH=8ufnOeT~`VsO}F&6)5SR=j6ou`2^RI=(TO=0-> z>%a$azc362R;G;hrv0Sqt0JyY+KLdc6k{cD z-iIl=^I*>vPsr%36Da#|%>Rw^@%#<0_wsAuGnWODY9EYeLlW>qrWB*`>LJvvm1hoW zPN6Y=F6?)SXjaE<5&PXxjjb*fX8TS&$Nbaotl_Gi&|Mh|5AM!@pjRcB)Ubk@duQ`P z<3sVO#yECoT>(zFlz^143(?JdfIR$?Mb7o4;-Z}vY}?Okczx6WEI!>0wl=4s(B}>; zomByOcM^C}1NmUQ$Q^Wfr)bf!80W7LmvTOi=pYc6(}p7t zZ;+f%P9*#AA2OzHD~Z{ciDhO_vF=S6Ubym>K3tJRmn)uvRkK_nk&%VVmwaLNX94_? zxdIPnNta*V9fqI3>9AXFo3jmEfJ#>A|93uIRTffvVeZDCd+~$zt|ZG!t5d!Y-7lkz{*nxSVOL>C|rZTrTtTGtF_>haq2^c;?&J zQmig(IbZh))nqNLduZp`u zdFOp_6aON(otl8gJ=5u=VO^Mc&4STonm_?}Lu~CL(0XQs+x11+>8^KZTu2Rshc=Ox z8C!7a;|K&jE1bMmgmDn+hy8y#zGZG=9TmA z-`Tsu;9q`k`kN}6r*23tEt>W51p zq^Q8?iYJlCyKc0w&XZ)t7t-ycO(5Udf*G;uBim9Z;|GPqbmEH$=)I#w<~1VhU(^G| zTY2>2n|NHDn@gulD06v8CpmBVd$#yGk2bc

x2Ud3C+J;Pc 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%0DDtkA0x=;v(kN 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%0D*xwp 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 14) + { + IMPL = new AccessibilityServiceInfoIcsImpl(); + return; + } + } + + public static String feedbackTypeToString(int paramInt) + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("["); + while (paramInt > 0) + { + int i = 1 << Integer.numberOfTrailingZeros(paramInt); + paramInt &= (i ^ 0xFFFFFFFF); + if (localStringBuilder.length() > 1) { + localStringBuilder.append(", "); + } + switch (i) + { + default: + break; + case 1: + localStringBuilder.append("FEEDBACK_SPOKEN"); + break; + case 4: + localStringBuilder.append("FEEDBACK_AUDIBLE"); + break; + case 2: + localStringBuilder.append("FEEDBACK_HAPTIC"); + break; + case 16: + localStringBuilder.append("FEEDBACK_GENERIC"); + break; + case 8: + localStringBuilder.append("FEEDBACK_VISUAL"); + } + } + localStringBuilder.append("]"); + return localStringBuilder.toString(); + } + + public static String flagToString(int paramInt) + { + switch (paramInt) + { + default: + return null; + } + return "DEFAULT"; + } + + public static boolean getCanRetrieveWindowContent(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return IMPL.getCanRetrieveWindowContent(paramAccessibilityServiceInfo); + } + + public static String getDescription(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return IMPL.getDescription(paramAccessibilityServiceInfo); + } + + public static String getId(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return IMPL.getId(paramAccessibilityServiceInfo); + } + + public static ResolveInfo getResolveInfo(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return IMPL.getResolveInfo(paramAccessibilityServiceInfo); + } + + public static String getSettingsActivityName(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return IMPL.getSettingsActivityName(paramAccessibilityServiceInfo); + } + + static class AccessibilityServiceInfoIcsImpl + extends AccessibilityServiceInfoCompat.AccessibilityServiceInfoStubImpl + { + public boolean getCanRetrieveWindowContent(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return AccessibilityServiceInfoCompatIcs.getCanRetrieveWindowContent(paramAccessibilityServiceInfo); + } + + public String getDescription(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return AccessibilityServiceInfoCompatIcs.getDescription(paramAccessibilityServiceInfo); + } + + public String getId(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return AccessibilityServiceInfoCompatIcs.getId(paramAccessibilityServiceInfo); + } + + public ResolveInfo getResolveInfo(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return AccessibilityServiceInfoCompatIcs.getResolveInfo(paramAccessibilityServiceInfo); + } + + public String getSettingsActivityName(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return AccessibilityServiceInfoCompatIcs.getSettingsActivityName(paramAccessibilityServiceInfo); + } + } + + static class AccessibilityServiceInfoStubImpl + implements AccessibilityServiceInfoCompat.AccessibilityServiceInfoVersionImpl + { + public boolean getCanRetrieveWindowContent(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return false; + } + + public String getDescription(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return null; + } + + public String getId(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return null; + } + + public ResolveInfo getResolveInfo(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return null; + } + + public String getSettingsActivityName(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return null; + } + } + + static abstract interface AccessibilityServiceInfoVersionImpl + { + public abstract boolean getCanRetrieveWindowContent(AccessibilityServiceInfo paramAccessibilityServiceInfo); + + public abstract String getDescription(AccessibilityServiceInfo paramAccessibilityServiceInfo); + + public abstract String getId(AccessibilityServiceInfo paramAccessibilityServiceInfo); + + public abstract ResolveInfo getResolveInfo(AccessibilityServiceInfo paramAccessibilityServiceInfo); + + public abstract String getSettingsActivityName(AccessibilityServiceInfo paramAccessibilityServiceInfo); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs.java new file mode 100755 index 00000000000..1e23049d8a9 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs.java @@ -0,0 +1,38 @@ +package android.support.v4.accessibilityservice; + +import android.accessibilityservice.AccessibilityServiceInfo; +import android.content.pm.ResolveInfo; + +class AccessibilityServiceInfoCompatIcs +{ + public static boolean getCanRetrieveWindowContent(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return paramAccessibilityServiceInfo.getCanRetrieveWindowContent(); + } + + public static String getDescription(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return paramAccessibilityServiceInfo.getDescription(); + } + + public static String getId(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return paramAccessibilityServiceInfo.getId(); + } + + public static ResolveInfo getResolveInfo(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return paramAccessibilityServiceInfo.getResolveInfo(); + } + + public static String getSettingsActivityName(AccessibilityServiceInfo paramAccessibilityServiceInfo) + { + return paramAccessibilityServiceInfo.getSettingsActivityName(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggle.java b/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggle.java new file mode 100755 index 00000000000..60a2470062a --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggle.java @@ -0,0 +1,409 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.PorterDuff.Mode; +import android.graphics.Rect; +import android.graphics.Region; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.Drawable.Callback; +import android.graphics.drawable.Drawable.ConstantState; +import android.os.Build.VERSION; +import android.support.v4.widget.DrawerLayout; +import android.support.v4.widget.DrawerLayout.DrawerListener; +import android.view.MenuItem; +import android.view.View; + +public class ActionBarDrawerToggle + implements DrawerLayout.DrawerListener +{ + private static final int ID_HOME = 16908332; + private static final ActionBarDrawerToggleImpl IMPL = new ActionBarDrawerToggleImplBase(null); + private final Activity mActivity; + private final int mCloseDrawerContentDescRes; + private Drawable mDrawerImage; + private final int mDrawerImageResource; + private boolean mDrawerIndicatorEnabled = true; + private final DrawerLayout mDrawerLayout; + private final int mOpenDrawerContentDescRes; + private Object mSetIndicatorInfo; + private SlideDrawable mSlider; + private Drawable mThemeImage; + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new ActionBarDrawerToggleImplHC(null); + return; + } + } + + public ActionBarDrawerToggle(Activity paramActivity, DrawerLayout paramDrawerLayout, int paramInt1, int paramInt2, int paramInt3) + { + this.mActivity = paramActivity; + this.mDrawerLayout = paramDrawerLayout; + this.mDrawerImageResource = paramInt1; + this.mOpenDrawerContentDescRes = paramInt2; + this.mCloseDrawerContentDescRes = paramInt3; + this.mThemeImage = IMPL.getThemeUpIndicator(paramActivity); + this.mDrawerImage = paramActivity.getResources().getDrawable(paramInt1); + this.mSlider = new SlideDrawable(this.mDrawerImage); + this.mSlider.setOffsetBy(0.3333333F); + } + + public boolean isDrawerIndicatorEnabled() + { + return this.mDrawerIndicatorEnabled; + } + + public void onConfigurationChanged(Configuration paramConfiguration) + { + this.mThemeImage = IMPL.getThemeUpIndicator(this.mActivity); + this.mDrawerImage = this.mActivity.getResources().getDrawable(this.mDrawerImageResource); + syncState(); + } + + public void onDrawerClosed(View paramView) + { + this.mSlider.setOffset(0.0F); + if (this.mDrawerIndicatorEnabled) { + this.mSetIndicatorInfo = IMPL.setActionBarDescription(this.mSetIndicatorInfo, this.mActivity, this.mCloseDrawerContentDescRes); + } + } + + public void onDrawerOpened(View paramView) + { + this.mSlider.setOffset(1.0F); + if (this.mDrawerIndicatorEnabled) { + this.mSetIndicatorInfo = IMPL.setActionBarDescription(this.mSetIndicatorInfo, this.mActivity, this.mOpenDrawerContentDescRes); + } + } + + public void onDrawerSlide(View paramView, float paramFloat) + { + float f = this.mSlider.getOffset(); + if (paramFloat > 0.5F) {} + for (paramFloat = Math.max(f, Math.max(0.0F, paramFloat - 0.5F) * 2.0F);; paramFloat = Math.min(f, paramFloat * 2.0F)) + { + this.mSlider.setOffset(paramFloat); + return; + } + } + + public void onDrawerStateChanged(int paramInt) {} + + public boolean onOptionsItemSelected(MenuItem paramMenuItem) + { + if ((paramMenuItem != null) && (paramMenuItem.getItemId() == 16908332) && (this.mDrawerIndicatorEnabled)) + { + if (!this.mDrawerLayout.isDrawerVisible(8388611)) { + break label45; + } + this.mDrawerLayout.closeDrawer(8388611); + } + for (;;) + { + return false; + label45: + this.mDrawerLayout.openDrawer(8388611); + } + } + + public void setDrawerIndicatorEnabled(boolean paramBoolean) + { + ActionBarDrawerToggleImpl localActionBarDrawerToggleImpl; + Object localObject; + Activity localActivity; + SlideDrawable localSlideDrawable; + int i; + if (paramBoolean != this.mDrawerIndicatorEnabled) + { + if (!paramBoolean) { + break label82; + } + localActionBarDrawerToggleImpl = IMPL; + localObject = this.mSetIndicatorInfo; + localActivity = this.mActivity; + localSlideDrawable = this.mSlider; + if (!this.mDrawerLayout.isDrawerOpen(8388611)) { + break label74; + } + i = this.mOpenDrawerContentDescRes; + } + label74: + label82: + for (this.mSetIndicatorInfo = localActionBarDrawerToggleImpl.setActionBarUpIndicator(localObject, localActivity, localSlideDrawable, i);; this.mSetIndicatorInfo = IMPL.setActionBarUpIndicator(this.mSetIndicatorInfo, this.mActivity, this.mThemeImage, 0)) + { + this.mDrawerIndicatorEnabled = paramBoolean; + return; + i = this.mCloseDrawerContentDescRes; + break; + } + } + + public void syncState() + { + ActionBarDrawerToggleImpl localActionBarDrawerToggleImpl; + Object localObject; + Activity localActivity; + SlideDrawable localSlideDrawable; + if (this.mDrawerLayout.isDrawerOpen(8388611)) + { + this.mSlider.setOffset(1.0F); + if (this.mDrawerIndicatorEnabled) + { + localActionBarDrawerToggleImpl = IMPL; + localObject = this.mSetIndicatorInfo; + localActivity = this.mActivity; + localSlideDrawable = this.mSlider; + if (!this.mDrawerLayout.isDrawerOpen(8388611)) { + break label93; + } + } + } + label93: + for (int i = this.mOpenDrawerContentDescRes;; i = this.mCloseDrawerContentDescRes) + { + this.mSetIndicatorInfo = localActionBarDrawerToggleImpl.setActionBarUpIndicator(localObject, localActivity, localSlideDrawable, i); + return; + this.mSlider.setOffset(0.0F); + break; + } + } + + private static abstract interface ActionBarDrawerToggleImpl + { + public abstract Drawable getThemeUpIndicator(Activity paramActivity); + + public abstract Object setActionBarDescription(Object paramObject, Activity paramActivity, int paramInt); + + public abstract Object setActionBarUpIndicator(Object paramObject, Activity paramActivity, Drawable paramDrawable, int paramInt); + } + + private static class ActionBarDrawerToggleImplBase + implements ActionBarDrawerToggle.ActionBarDrawerToggleImpl + { + public Drawable getThemeUpIndicator(Activity paramActivity) + { + return null; + } + + public Object setActionBarDescription(Object paramObject, Activity paramActivity, int paramInt) + { + return paramObject; + } + + public Object setActionBarUpIndicator(Object paramObject, Activity paramActivity, Drawable paramDrawable, int paramInt) + { + return paramObject; + } + } + + private static class ActionBarDrawerToggleImplHC + implements ActionBarDrawerToggle.ActionBarDrawerToggleImpl + { + public Drawable getThemeUpIndicator(Activity paramActivity) + { + return ActionBarDrawerToggleHoneycomb.getThemeUpIndicator(paramActivity); + } + + public Object setActionBarDescription(Object paramObject, Activity paramActivity, int paramInt) + { + return ActionBarDrawerToggleHoneycomb.setActionBarDescription(paramObject, paramActivity, paramInt); + } + + public Object setActionBarUpIndicator(Object paramObject, Activity paramActivity, Drawable paramDrawable, int paramInt) + { + return ActionBarDrawerToggleHoneycomb.setActionBarUpIndicator(paramObject, paramActivity, paramDrawable, paramInt); + } + } + + private static class SlideDrawable + extends Drawable + implements Drawable.Callback + { + private float mOffset; + private float mOffsetBy; + private final Rect mTmpRect = new Rect(); + private Drawable mWrapped; + + public SlideDrawable(Drawable paramDrawable) + { + this.mWrapped = paramDrawable; + } + + public void clearColorFilter() + { + this.mWrapped.clearColorFilter(); + } + + public void draw(Canvas paramCanvas) + { + this.mWrapped.copyBounds(this.mTmpRect); + paramCanvas.save(); + paramCanvas.translate(this.mOffsetBy * this.mTmpRect.width() * -this.mOffset, 0.0F); + this.mWrapped.draw(paramCanvas); + paramCanvas.restore(); + } + + public int getChangingConfigurations() + { + return this.mWrapped.getChangingConfigurations(); + } + + public Drawable.ConstantState getConstantState() + { + return super.getConstantState(); + } + + public Drawable getCurrent() + { + return this.mWrapped.getCurrent(); + } + + public int getIntrinsicHeight() + { + return this.mWrapped.getIntrinsicHeight(); + } + + public int getIntrinsicWidth() + { + return this.mWrapped.getIntrinsicWidth(); + } + + public int getMinimumHeight() + { + return this.mWrapped.getMinimumHeight(); + } + + public int getMinimumWidth() + { + return this.mWrapped.getMinimumWidth(); + } + + public float getOffset() + { + return this.mOffset; + } + + public int getOpacity() + { + return this.mWrapped.getOpacity(); + } + + public boolean getPadding(Rect paramRect) + { + return this.mWrapped.getPadding(paramRect); + } + + public int[] getState() + { + return this.mWrapped.getState(); + } + + public Region getTransparentRegion() + { + return this.mWrapped.getTransparentRegion(); + } + + public void invalidateDrawable(Drawable paramDrawable) + { + if (paramDrawable == this.mWrapped) { + invalidateSelf(); + } + } + + public boolean isStateful() + { + return this.mWrapped.isStateful(); + } + + protected void onBoundsChange(Rect paramRect) + { + super.onBoundsChange(paramRect); + this.mWrapped.setBounds(paramRect); + } + + protected boolean onStateChange(int[] paramArrayOfInt) + { + this.mWrapped.setState(paramArrayOfInt); + return super.onStateChange(paramArrayOfInt); + } + + public void scheduleDrawable(Drawable paramDrawable, Runnable paramRunnable, long paramLong) + { + if (paramDrawable == this.mWrapped) { + scheduleSelf(paramRunnable, paramLong); + } + } + + public void setAlpha(int paramInt) + { + this.mWrapped.setAlpha(paramInt); + } + + public void setChangingConfigurations(int paramInt) + { + this.mWrapped.setChangingConfigurations(paramInt); + } + + public void setColorFilter(int paramInt, PorterDuff.Mode paramMode) + { + this.mWrapped.setColorFilter(paramInt, paramMode); + } + + public void setColorFilter(ColorFilter paramColorFilter) + { + this.mWrapped.setColorFilter(paramColorFilter); + } + + public void setDither(boolean paramBoolean) + { + this.mWrapped.setDither(paramBoolean); + } + + public void setFilterBitmap(boolean paramBoolean) + { + this.mWrapped.setFilterBitmap(paramBoolean); + } + + public void setOffset(float paramFloat) + { + this.mOffset = paramFloat; + invalidateSelf(); + } + + public void setOffsetBy(float paramFloat) + { + this.mOffsetBy = paramFloat; + invalidateSelf(); + } + + public boolean setState(int[] paramArrayOfInt) + { + return this.mWrapped.setState(paramArrayOfInt); + } + + public boolean setVisible(boolean paramBoolean1, boolean paramBoolean2) + { + return super.setVisible(paramBoolean1, paramBoolean2); + } + + public void unscheduleDrawable(Drawable paramDrawable, Runnable paramRunnable) + { + if (paramDrawable == this.mWrapped) { + unscheduleSelf(paramRunnable); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActionBarDrawerToggle + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggleHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggleHoneycomb.java new file mode 100755 index 00000000000..a72697c19b8 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActionBarDrawerToggleHoneycomb.java @@ -0,0 +1,126 @@ +package android.support.v4.app; + +import android.app.ActionBar; +import android.app.Activity; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import java.lang.reflect.Method; + +class ActionBarDrawerToggleHoneycomb +{ + private static final String TAG = "ActionBarDrawerToggleHoneycomb"; + private static final int[] THEME_ATTRS = { 16843531 }; + + public static Drawable getThemeUpIndicator(Activity paramActivity) + { + paramActivity = paramActivity.obtainStyledAttributes(THEME_ATTRS); + Drawable localDrawable = paramActivity.getDrawable(0); + paramActivity.recycle(); + return localDrawable; + } + + public static Object setActionBarDescription(Object paramObject, Activity paramActivity, int paramInt) + { + Object localObject = paramObject; + if (paramObject == null) { + localObject = new SetIndicatorInfo(paramActivity); + } + paramObject = (SetIndicatorInfo)localObject; + if (paramObject.setHomeAsUpIndicator != null) {} + try + { + paramActivity = paramActivity.getActionBar(); + paramObject.setHomeActionContentDescription.invoke(paramActivity, new Object[] { Integer.valueOf(paramInt) }); + return localObject; + } + catch (Exception paramObject) + { + Log.w("ActionBarDrawerToggleHoneycomb", "Couldn't set content description via JB-MR2 API", paramObject); + } + return localObject; + } + + public static Object setActionBarUpIndicator(Object paramObject, Activity paramActivity, Drawable paramDrawable, int paramInt) + { + Object localObject = paramObject; + if (paramObject == null) { + localObject = new SetIndicatorInfo(paramActivity); + } + paramObject = (SetIndicatorInfo)localObject; + if (paramObject.setHomeAsUpIndicator != null) { + try + { + paramActivity = paramActivity.getActionBar(); + paramObject.setHomeAsUpIndicator.invoke(paramActivity, new Object[] { paramDrawable }); + paramObject.setHomeActionContentDescription.invoke(paramActivity, new Object[] { Integer.valueOf(paramInt) }); + return localObject; + } + catch (Exception paramObject) + { + Log.w("ActionBarDrawerToggleHoneycomb", "Couldn't set home-as-up indicator via JB-MR2 API", paramObject); + return localObject; + } + } + if (paramObject.upIndicatorView != null) + { + paramObject.upIndicatorView.setImageDrawable(paramDrawable); + return localObject; + } + Log.w("ActionBarDrawerToggleHoneycomb", "Couldn't set home-as-up indicator"); + return localObject; + } + + private static class SetIndicatorInfo + { + public Method setHomeActionContentDescription; + public Method setHomeAsUpIndicator; + public ImageView upIndicatorView; + + SetIndicatorInfo(Activity paramActivity) + { + for (;;) + { + Object localObject; + try + { + this.setHomeAsUpIndicator = ActionBar.class.getDeclaredMethod("setHomeAsUpIndicator", new Class[] { Drawable.class }); + this.setHomeActionContentDescription = ActionBar.class.getDeclaredMethod("setHomeActionContentDescription", new Class[] { Integer.TYPE }); + return; + } + catch (NoSuchMethodException localNoSuchMethodException) + { + paramActivity = paramActivity.findViewById(16908332); + if (paramActivity == null) { + continue; + } + localObject = (ViewGroup)paramActivity.getParent(); + if (((ViewGroup)localObject).getChildCount() != 2) { + continue; + } + paramActivity = ((ViewGroup)localObject).getChildAt(0); + localObject = ((ViewGroup)localObject).getChildAt(1); + if (paramActivity.getId() != 16908332) { + break label113; + } + } + paramActivity = (Activity)localObject; + label113: + while ((paramActivity instanceof ImageView)) + { + this.upIndicatorView = ((ImageView)paramActivity); + return; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActionBarDrawerToggleHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompat.java b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompat.java new file mode 100755 index 00000000000..0805237fa05 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompat.java @@ -0,0 +1,47 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.Intent; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.support.v4.content.ContextCompat; + +public class ActivityCompat + extends ContextCompat +{ + public static boolean invalidateOptionsMenu(Activity paramActivity) + { + if (Build.VERSION.SDK_INT >= 11) + { + ActivityCompatHoneycomb.invalidateOptionsMenu(paramActivity); + return true; + } + return false; + } + + public static void startActivity(Activity paramActivity, Intent paramIntent, Bundle paramBundle) + { + if (Build.VERSION.SDK_INT >= 16) + { + ActivityCompatJB.startActivity(paramActivity, paramIntent, paramBundle); + return; + } + paramActivity.startActivity(paramIntent); + } + + public static void startActivityForResult(Activity paramActivity, Intent paramIntent, int paramInt, Bundle paramBundle) + { + if (Build.VERSION.SDK_INT >= 16) + { + ActivityCompatJB.startActivityForResult(paramActivity, paramIntent, paramInt, paramBundle); + return; + } + paramActivity.startActivityForResult(paramIntent, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActivityCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatHoneycomb.java new file mode 100755 index 00000000000..5bdc7d7cb34 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatHoneycomb.java @@ -0,0 +1,24 @@ +package android.support.v4.app; + +import android.app.Activity; +import java.io.FileDescriptor; +import java.io.PrintWriter; + +class ActivityCompatHoneycomb +{ + static void dump(Activity paramActivity, String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + paramActivity.dump(paramString, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + + static void invalidateOptionsMenu(Activity paramActivity) + { + paramActivity.invalidateOptionsMenu(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActivityCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatJB.java b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatJB.java new file mode 100755 index 00000000000..985c7b4e799 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActivityCompatJB.java @@ -0,0 +1,25 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + +class ActivityCompatJB +{ + public static void startActivity(Context paramContext, Intent paramIntent, Bundle paramBundle) + { + paramContext.startActivity(paramIntent, paramBundle); + } + + public static void startActivityForResult(Activity paramActivity, Intent paramIntent, int paramInt, Bundle paramBundle) + { + paramActivity.startActivityForResult(paramIntent, paramInt, paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActivityCompatJB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompat.java b/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompat.java new file mode 100755 index 00000000000..975a5c54381 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompat.java @@ -0,0 +1,72 @@ +package android.support.v4.app; + +import android.content.Context; +import android.graphics.Bitmap; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.view.View; + +public class ActivityOptionsCompat +{ + public static ActivityOptionsCompat makeCustomAnimation(Context paramContext, int paramInt1, int paramInt2) + { + if (Build.VERSION.SDK_INT >= 16) { + return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeCustomAnimation(paramContext, paramInt1, paramInt2)); + } + return new ActivityOptionsCompat(); + } + + public static ActivityOptionsCompat makeScaleUpAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if (Build.VERSION.SDK_INT >= 16) { + return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeScaleUpAnimation(paramView, paramInt1, paramInt2, paramInt3, paramInt4)); + } + return new ActivityOptionsCompat(); + } + + public static ActivityOptionsCompat makeThumbnailScaleUpAnimation(View paramView, Bitmap paramBitmap, int paramInt1, int paramInt2) + { + if (Build.VERSION.SDK_INT >= 16) { + return new ActivityOptionsImplJB(ActivityOptionsCompatJB.makeThumbnailScaleUpAnimation(paramView, paramBitmap, paramInt1, paramInt2)); + } + return new ActivityOptionsCompat(); + } + + public Bundle toBundle() + { + return null; + } + + public void update(ActivityOptionsCompat paramActivityOptionsCompat) {} + + private static class ActivityOptionsImplJB + extends ActivityOptionsCompat + { + private final ActivityOptionsCompatJB mImpl; + + ActivityOptionsImplJB(ActivityOptionsCompatJB paramActivityOptionsCompatJB) + { + this.mImpl = paramActivityOptionsCompatJB; + } + + public Bundle toBundle() + { + return this.mImpl.toBundle(); + } + + public void update(ActivityOptionsCompat paramActivityOptionsCompat) + { + if ((paramActivityOptionsCompat instanceof ActivityOptionsImplJB)) + { + paramActivityOptionsCompat = (ActivityOptionsImplJB)paramActivityOptionsCompat; + this.mImpl.update(paramActivityOptionsCompat.mImpl); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActivityOptionsCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompatJB.java b/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompatJB.java new file mode 100755 index 00000000000..ce48622dee0 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ActivityOptionsCompatJB.java @@ -0,0 +1,48 @@ +package android.support.v4.app; + +import android.app.ActivityOptions; +import android.content.Context; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.view.View; + +class ActivityOptionsCompatJB +{ + private final ActivityOptions mActivityOptions; + + private ActivityOptionsCompatJB(ActivityOptions paramActivityOptions) + { + this.mActivityOptions = paramActivityOptions; + } + + public static ActivityOptionsCompatJB makeCustomAnimation(Context paramContext, int paramInt1, int paramInt2) + { + return new ActivityOptionsCompatJB(ActivityOptions.makeCustomAnimation(paramContext, paramInt1, paramInt2)); + } + + public static ActivityOptionsCompatJB makeScaleUpAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + return new ActivityOptionsCompatJB(ActivityOptions.makeScaleUpAnimation(paramView, paramInt1, paramInt2, paramInt3, paramInt4)); + } + + public static ActivityOptionsCompatJB makeThumbnailScaleUpAnimation(View paramView, Bitmap paramBitmap, int paramInt1, int paramInt2) + { + return new ActivityOptionsCompatJB(ActivityOptions.makeThumbnailScaleUpAnimation(paramView, paramBitmap, paramInt1, paramInt2)); + } + + public Bundle toBundle() + { + return this.mActivityOptions.toBundle(); + } + + public void update(ActivityOptionsCompatJB paramActivityOptionsCompatJB) + { + this.mActivityOptions.update(paramActivityOptionsCompatJB.mActivityOptions); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ActivityOptionsCompatJB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/BackStackRecord.java b/com.tencent.token/classes.jar/android/support/v4/app/BackStackRecord.java new file mode 100755 index 00000000000..6f20481d002 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/BackStackRecord.java @@ -0,0 +1,729 @@ +package android.support.v4.app; + +import android.support.v4.util.LogWriter; +import android.util.Log; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.ArrayList; + +final class BackStackRecord + extends FragmentTransaction + implements FragmentManager.BackStackEntry, Runnable +{ + static final int OP_ADD = 1; + static final int OP_ATTACH = 7; + static final int OP_DETACH = 6; + static final int OP_HIDE = 4; + static final int OP_NULL = 0; + static final int OP_REMOVE = 3; + static final int OP_REPLACE = 2; + static final int OP_SHOW = 5; + static final String TAG = "FragmentManager"; + boolean mAddToBackStack; + boolean mAllowAddToBackStack = true; + int mBreadCrumbShortTitleRes; + CharSequence mBreadCrumbShortTitleText; + int mBreadCrumbTitleRes; + CharSequence mBreadCrumbTitleText; + boolean mCommitted; + int mEnterAnim; + int mExitAnim; + Op mHead; + int mIndex = -1; + final FragmentManagerImpl mManager; + String mName; + int mNumOp; + int mPopEnterAnim; + int mPopExitAnim; + Op mTail; + int mTransition; + int mTransitionStyle; + + public BackStackRecord(FragmentManagerImpl paramFragmentManagerImpl) + { + this.mManager = paramFragmentManagerImpl; + } + + private void doAddOp(int paramInt1, Fragment paramFragment, String paramString, int paramInt2) + { + paramFragment.mFragmentManager = this.mManager; + if (paramString != null) + { + if ((paramFragment.mTag != null) && (!paramString.equals(paramFragment.mTag))) { + throw new IllegalStateException("Can't change tag of fragment " + paramFragment + ": was " + paramFragment.mTag + " now " + paramString); + } + paramFragment.mTag = paramString; + } + if (paramInt1 != 0) + { + if ((paramFragment.mFragmentId != 0) && (paramFragment.mFragmentId != paramInt1)) { + throw new IllegalStateException("Can't change container ID of fragment " + paramFragment + ": was " + paramFragment.mFragmentId + " now " + paramInt1); + } + paramFragment.mFragmentId = paramInt1; + paramFragment.mContainerId = paramInt1; + } + paramString = new Op(); + paramString.cmd = paramInt2; + paramString.fragment = paramFragment; + addOp(paramString); + } + + public FragmentTransaction add(int paramInt, Fragment paramFragment) + { + doAddOp(paramInt, paramFragment, null, 1); + return this; + } + + public FragmentTransaction add(int paramInt, Fragment paramFragment, String paramString) + { + doAddOp(paramInt, paramFragment, paramString, 1); + return this; + } + + public FragmentTransaction add(Fragment paramFragment, String paramString) + { + doAddOp(0, paramFragment, paramString, 1); + return this; + } + + void addOp(Op paramOp) + { + if (this.mHead == null) + { + this.mTail = paramOp; + this.mHead = paramOp; + } + for (;;) + { + paramOp.enterAnim = this.mEnterAnim; + paramOp.exitAnim = this.mExitAnim; + paramOp.popEnterAnim = this.mPopEnterAnim; + paramOp.popExitAnim = this.mPopExitAnim; + this.mNumOp += 1; + return; + paramOp.prev = this.mTail; + this.mTail.next = paramOp; + this.mTail = paramOp; + } + } + + public FragmentTransaction addToBackStack(String paramString) + { + if (!this.mAllowAddToBackStack) { + throw new IllegalStateException("This FragmentTransaction is not allowed to be added to the back stack."); + } + this.mAddToBackStack = true; + this.mName = paramString; + return this; + } + + public FragmentTransaction attach(Fragment paramFragment) + { + Op localOp = new Op(); + localOp.cmd = 7; + localOp.fragment = paramFragment; + addOp(localOp); + return this; + } + + void bumpBackStackNesting(int paramInt) + { + if (!this.mAddToBackStack) {} + for (;;) + { + return; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Bump nesting in " + this + " by " + paramInt); + } + for (Op localOp = this.mHead; localOp != null; localOp = localOp.next) + { + Fragment localFragment; + if (localOp.fragment != null) + { + localFragment = localOp.fragment; + localFragment.mBackStackNesting += paramInt; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Bump nesting of " + localOp.fragment + " to " + localOp.fragment.mBackStackNesting); + } + } + if (localOp.removed != null) + { + int i = localOp.removed.size() - 1; + while (i >= 0) + { + localFragment = (Fragment)localOp.removed.get(i); + localFragment.mBackStackNesting += paramInt; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Bump nesting of " + localFragment + " to " + localFragment.mBackStackNesting); + } + i -= 1; + } + } + } + } + } + + public int commit() + { + return commitInternal(false); + } + + public int commitAllowingStateLoss() + { + return commitInternal(true); + } + + int commitInternal(boolean paramBoolean) + { + if (this.mCommitted) { + throw new IllegalStateException("commit already called"); + } + if (FragmentManagerImpl.DEBUG) + { + Log.v("FragmentManager", "Commit: " + this); + dump(" ", null, new PrintWriter(new LogWriter("FragmentManager")), null); + } + this.mCommitted = true; + if (this.mAddToBackStack) {} + for (this.mIndex = this.mManager.allocBackStackIndex(this);; this.mIndex = -1) + { + this.mManager.enqueueAction(this, paramBoolean); + return this.mIndex; + } + } + + public FragmentTransaction detach(Fragment paramFragment) + { + Op localOp = new Op(); + localOp.cmd = 6; + localOp.fragment = paramFragment; + addOp(localOp); + return this; + } + + public FragmentTransaction disallowAddToBackStack() + { + if (this.mAddToBackStack) { + throw new IllegalStateException("This transaction is already being added to the back stack"); + } + this.mAllowAddToBackStack = false; + return this; + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + dump(paramString, paramPrintWriter, true); + } + + public void dump(String paramString, PrintWriter paramPrintWriter, boolean paramBoolean) + { + if (paramBoolean) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mName="); + paramPrintWriter.print(this.mName); + paramPrintWriter.print(" mIndex="); + paramPrintWriter.print(this.mIndex); + paramPrintWriter.print(" mCommitted="); + paramPrintWriter.println(this.mCommitted); + if (this.mTransition != 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mTransition=#"); + paramPrintWriter.print(Integer.toHexString(this.mTransition)); + paramPrintWriter.print(" mTransitionStyle=#"); + paramPrintWriter.println(Integer.toHexString(this.mTransitionStyle)); + } + if ((this.mEnterAnim != 0) || (this.mExitAnim != 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mEnterAnim=#"); + paramPrintWriter.print(Integer.toHexString(this.mEnterAnim)); + paramPrintWriter.print(" mExitAnim=#"); + paramPrintWriter.println(Integer.toHexString(this.mExitAnim)); + } + if ((this.mPopEnterAnim != 0) || (this.mPopExitAnim != 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mPopEnterAnim=#"); + paramPrintWriter.print(Integer.toHexString(this.mPopEnterAnim)); + paramPrintWriter.print(" mPopExitAnim=#"); + paramPrintWriter.println(Integer.toHexString(this.mPopExitAnim)); + } + if ((this.mBreadCrumbTitleRes != 0) || (this.mBreadCrumbTitleText != null)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mBreadCrumbTitleRes=#"); + paramPrintWriter.print(Integer.toHexString(this.mBreadCrumbTitleRes)); + paramPrintWriter.print(" mBreadCrumbTitleText="); + paramPrintWriter.println(this.mBreadCrumbTitleText); + } + if ((this.mBreadCrumbShortTitleRes != 0) || (this.mBreadCrumbShortTitleText != null)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mBreadCrumbShortTitleRes=#"); + paramPrintWriter.print(Integer.toHexString(this.mBreadCrumbShortTitleRes)); + paramPrintWriter.print(" mBreadCrumbShortTitleText="); + paramPrintWriter.println(this.mBreadCrumbShortTitleText); + } + } + if (this.mHead != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Operations:"); + String str2 = paramString + " "; + Op localOp = this.mHead; + int i = 0; + while (localOp != null) + { + String str1; + int j; + switch (localOp.cmd) + { + default: + str1 = "cmd=" + localOp.cmd; + paramPrintWriter.print(paramString); + paramPrintWriter.print(" Op #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.print(str1); + paramPrintWriter.print(" "); + paramPrintWriter.println(localOp.fragment); + if (paramBoolean) + { + if ((localOp.enterAnim != 0) || (localOp.exitAnim != 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("enterAnim=#"); + paramPrintWriter.print(Integer.toHexString(localOp.enterAnim)); + paramPrintWriter.print(" exitAnim=#"); + paramPrintWriter.println(Integer.toHexString(localOp.exitAnim)); + } + if ((localOp.popEnterAnim != 0) || (localOp.popExitAnim != 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("popEnterAnim=#"); + paramPrintWriter.print(Integer.toHexString(localOp.popEnterAnim)); + paramPrintWriter.print(" popExitAnim=#"); + paramPrintWriter.println(Integer.toHexString(localOp.popExitAnim)); + } + } + if ((localOp.removed == null) || (localOp.removed.size() <= 0)) { + break label807; + } + j = 0; + label641: + if (j >= localOp.removed.size()) { + break label807; + } + paramPrintWriter.print(str2); + if (localOp.removed.size() == 1) { + paramPrintWriter.print("Removed: "); + } + break; + } + for (;;) + { + paramPrintWriter.println(localOp.removed.get(j)); + j += 1; + break label641; + str1 = "NULL"; + break; + str1 = "ADD"; + break; + str1 = "REPLACE"; + break; + str1 = "REMOVE"; + break; + str1 = "HIDE"; + break; + str1 = "SHOW"; + break; + str1 = "DETACH"; + break; + str1 = "ATTACH"; + break; + if (j == 0) { + paramPrintWriter.println("Removed:"); + } + paramPrintWriter.print(str2); + paramPrintWriter.print(" #"); + paramPrintWriter.print(j); + paramPrintWriter.print(": "); + } + label807: + localOp = localOp.next; + i += 1; + } + } + } + + public CharSequence getBreadCrumbShortTitle() + { + if (this.mBreadCrumbShortTitleRes != 0) { + return this.mManager.mActivity.getText(this.mBreadCrumbShortTitleRes); + } + return this.mBreadCrumbShortTitleText; + } + + public int getBreadCrumbShortTitleRes() + { + return this.mBreadCrumbShortTitleRes; + } + + public CharSequence getBreadCrumbTitle() + { + if (this.mBreadCrumbTitleRes != 0) { + return this.mManager.mActivity.getText(this.mBreadCrumbTitleRes); + } + return this.mBreadCrumbTitleText; + } + + public int getBreadCrumbTitleRes() + { + return this.mBreadCrumbTitleRes; + } + + public int getId() + { + return this.mIndex; + } + + public String getName() + { + return this.mName; + } + + public int getTransition() + { + return this.mTransition; + } + + public int getTransitionStyle() + { + return this.mTransitionStyle; + } + + public FragmentTransaction hide(Fragment paramFragment) + { + Op localOp = new Op(); + localOp.cmd = 4; + localOp.fragment = paramFragment; + addOp(localOp); + return this; + } + + public boolean isAddToBackStackAllowed() + { + return this.mAllowAddToBackStack; + } + + public boolean isEmpty() + { + return this.mNumOp == 0; + } + + public void popFromBackStack(boolean paramBoolean) + { + if (FragmentManagerImpl.DEBUG) + { + Log.v("FragmentManager", "popFromBackStack: " + this); + dump(" ", null, new PrintWriter(new LogWriter("FragmentManager")), null); + } + bumpBackStackNesting(-1); + Op localOp = this.mTail; + if (localOp != null) + { + Fragment localFragment; + switch (localOp.cmd) + { + default: + throw new IllegalArgumentException("Unknown cmd: " + localOp.cmd); + case 1: + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popExitAnim; + this.mManager.removeFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + } + for (;;) + { + localOp = localOp.prev; + break; + localFragment = localOp.fragment; + if (localFragment != null) + { + localFragment.mNextAnim = localOp.popExitAnim; + this.mManager.removeFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + } + if (localOp.removed != null) + { + int i = 0; + while (i < localOp.removed.size()) + { + localFragment = (Fragment)localOp.removed.get(i); + localFragment.mNextAnim = localOp.popEnterAnim; + this.mManager.addFragment(localFragment, false); + i += 1; + } + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popEnterAnim; + this.mManager.addFragment(localFragment, false); + continue; + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popEnterAnim; + this.mManager.showFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + continue; + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popExitAnim; + this.mManager.hideFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + continue; + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popEnterAnim; + this.mManager.attachFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + continue; + localFragment = localOp.fragment; + localFragment.mNextAnim = localOp.popEnterAnim; + this.mManager.detachFragment(localFragment, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle); + } + } + } + if (paramBoolean) { + this.mManager.moveToState(this.mManager.mCurState, FragmentManagerImpl.reverseTransit(this.mTransition), this.mTransitionStyle, true); + } + if (this.mIndex >= 0) + { + this.mManager.freeBackStackIndex(this.mIndex); + this.mIndex = -1; + } + } + + public FragmentTransaction remove(Fragment paramFragment) + { + Op localOp = new Op(); + localOp.cmd = 3; + localOp.fragment = paramFragment; + addOp(localOp); + return this; + } + + public FragmentTransaction replace(int paramInt, Fragment paramFragment) + { + return replace(paramInt, paramFragment, null); + } + + public FragmentTransaction replace(int paramInt, Fragment paramFragment, String paramString) + { + if (paramInt == 0) { + throw new IllegalArgumentException("Must use non-zero containerViewId"); + } + doAddOp(paramInt, paramFragment, paramString, 2); + return this; + } + + public void run() + { + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Run: " + this); + } + if ((this.mAddToBackStack) && (this.mIndex < 0)) { + throw new IllegalStateException("addToBackStack() called after commit()"); + } + bumpBackStackNesting(1); + Op localOp = this.mHead; + if (localOp != null) + { + Object localObject1; + switch (localOp.cmd) + { + default: + throw new IllegalArgumentException("Unknown cmd: " + localOp.cmd); + case 1: + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.enterAnim; + this.mManager.addFragment((Fragment)localObject1, false); + } + for (;;) + { + localOp = localOp.next; + break; + localObject1 = localOp.fragment; + Object localObject2 = localObject1; + if (this.mManager.mAdded != null) + { + int i = 0; + localObject2 = localObject1; + if (i < this.mManager.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mManager.mAdded.get(i); + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "OP_REPLACE: adding=" + localObject1 + " old=" + localFragment); + } + if (localObject1 != null) + { + localObject2 = localObject1; + if (localFragment.mContainerId != ((Fragment)localObject1).mContainerId) {} + } + else + { + if (localFragment != localObject1) { + break label316; + } + localObject2 = null; + localOp.fragment = null; + } + for (;;) + { + i += 1; + localObject1 = localObject2; + break; + label316: + if (localOp.removed == null) { + localOp.removed = new ArrayList(); + } + localOp.removed.add(localFragment); + localFragment.mNextAnim = localOp.exitAnim; + if (this.mAddToBackStack) + { + localFragment.mBackStackNesting += 1; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Bump nesting of " + localFragment + " to " + localFragment.mBackStackNesting); + } + } + this.mManager.removeFragment(localFragment, this.mTransition, this.mTransitionStyle); + localObject2 = localObject1; + } + } + } + if (localObject2 != null) + { + localObject2.mNextAnim = localOp.enterAnim; + this.mManager.addFragment(localObject2, false); + continue; + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.exitAnim; + this.mManager.removeFragment((Fragment)localObject1, this.mTransition, this.mTransitionStyle); + continue; + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.exitAnim; + this.mManager.hideFragment((Fragment)localObject1, this.mTransition, this.mTransitionStyle); + continue; + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.enterAnim; + this.mManager.showFragment((Fragment)localObject1, this.mTransition, this.mTransitionStyle); + continue; + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.exitAnim; + this.mManager.detachFragment((Fragment)localObject1, this.mTransition, this.mTransitionStyle); + continue; + localObject1 = localOp.fragment; + ((Fragment)localObject1).mNextAnim = localOp.enterAnim; + this.mManager.attachFragment((Fragment)localObject1, this.mTransition, this.mTransitionStyle); + } + } + } + this.mManager.moveToState(this.mManager.mCurState, this.mTransition, this.mTransitionStyle, true); + if (this.mAddToBackStack) { + this.mManager.addBackStackState(this); + } + } + + public FragmentTransaction setBreadCrumbShortTitle(int paramInt) + { + this.mBreadCrumbShortTitleRes = paramInt; + this.mBreadCrumbShortTitleText = null; + return this; + } + + public FragmentTransaction setBreadCrumbShortTitle(CharSequence paramCharSequence) + { + this.mBreadCrumbShortTitleRes = 0; + this.mBreadCrumbShortTitleText = paramCharSequence; + return this; + } + + public FragmentTransaction setBreadCrumbTitle(int paramInt) + { + this.mBreadCrumbTitleRes = paramInt; + this.mBreadCrumbTitleText = null; + return this; + } + + public FragmentTransaction setBreadCrumbTitle(CharSequence paramCharSequence) + { + this.mBreadCrumbTitleRes = 0; + this.mBreadCrumbTitleText = paramCharSequence; + return this; + } + + public FragmentTransaction setCustomAnimations(int paramInt1, int paramInt2) + { + return setCustomAnimations(paramInt1, paramInt2, 0, 0); + } + + public FragmentTransaction setCustomAnimations(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + this.mEnterAnim = paramInt1; + this.mExitAnim = paramInt2; + this.mPopEnterAnim = paramInt3; + this.mPopExitAnim = paramInt4; + return this; + } + + public FragmentTransaction setTransition(int paramInt) + { + this.mTransition = paramInt; + return this; + } + + public FragmentTransaction setTransitionStyle(int paramInt) + { + this.mTransitionStyle = paramInt; + return this; + } + + public FragmentTransaction show(Fragment paramFragment) + { + Op localOp = new Op(); + localOp.cmd = 5; + localOp.fragment = paramFragment; + addOp(localOp); + return this; + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(128); + localStringBuilder.append("BackStackEntry{"); + localStringBuilder.append(Integer.toHexString(System.identityHashCode(this))); + if (this.mIndex >= 0) + { + localStringBuilder.append(" #"); + localStringBuilder.append(this.mIndex); + } + if (this.mName != null) + { + localStringBuilder.append(" "); + localStringBuilder.append(this.mName); + } + localStringBuilder.append("}"); + return localStringBuilder.toString(); + } + + static final class Op + { + int cmd; + int enterAnim; + int exitAnim; + Fragment fragment; + Op next; + int popEnterAnim; + int popExitAnim; + Op prev; + ArrayList removed; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.BackStackRecord + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/BackStackState.java b/com.tencent.token/classes.jar/android/support/v4/app/BackStackState.java new file mode 100755 index 00000000000..9cbd4a9b729 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/BackStackState.java @@ -0,0 +1,222 @@ +package android.support.v4.app; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.text.TextUtils; +import android.util.Log; +import java.util.ArrayList; + +final class BackStackState + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public BackStackState createFromParcel(Parcel paramAnonymousParcel) + { + return new BackStackState(paramAnonymousParcel); + } + + public BackStackState[] newArray(int paramAnonymousInt) + { + return new BackStackState[paramAnonymousInt]; + } + }; + final int mBreadCrumbShortTitleRes; + final CharSequence mBreadCrumbShortTitleText; + final int mBreadCrumbTitleRes; + final CharSequence mBreadCrumbTitleText; + final int mIndex; + final String mName; + final int[] mOps; + final int mTransition; + final int mTransitionStyle; + + public BackStackState(Parcel paramParcel) + { + this.mOps = paramParcel.createIntArray(); + this.mTransition = paramParcel.readInt(); + this.mTransitionStyle = paramParcel.readInt(); + this.mName = paramParcel.readString(); + this.mIndex = paramParcel.readInt(); + this.mBreadCrumbTitleRes = paramParcel.readInt(); + this.mBreadCrumbTitleText = ((CharSequence)TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(paramParcel)); + this.mBreadCrumbShortTitleRes = paramParcel.readInt(); + this.mBreadCrumbShortTitleText = ((CharSequence)TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(paramParcel)); + } + + public BackStackState(FragmentManagerImpl paramFragmentManagerImpl, BackStackRecord paramBackStackRecord) + { + int i = 0; + paramFragmentManagerImpl = paramBackStackRecord.mHead; + int j; + while (paramFragmentManagerImpl != null) + { + j = i; + if (paramFragmentManagerImpl.removed != null) { + j = i + paramFragmentManagerImpl.removed.size(); + } + paramFragmentManagerImpl = paramFragmentManagerImpl.next; + i = j; + } + this.mOps = new int[paramBackStackRecord.mNumOp * 7 + i]; + if (!paramBackStackRecord.mAddToBackStack) { + throw new IllegalStateException("Not on back stack"); + } + paramFragmentManagerImpl = paramBackStackRecord.mHead; + i = 0; + if (paramFragmentManagerImpl != null) + { + int[] arrayOfInt = this.mOps; + j = i + 1; + arrayOfInt[i] = paramFragmentManagerImpl.cmd; + arrayOfInt = this.mOps; + int k = j + 1; + if (paramFragmentManagerImpl.fragment != null) {} + int m; + for (i = paramFragmentManagerImpl.fragment.mIndex;; i = -1) + { + arrayOfInt[j] = i; + arrayOfInt = this.mOps; + i = k + 1; + arrayOfInt[k] = paramFragmentManagerImpl.enterAnim; + arrayOfInt = this.mOps; + j = i + 1; + arrayOfInt[i] = paramFragmentManagerImpl.exitAnim; + arrayOfInt = this.mOps; + i = j + 1; + arrayOfInt[j] = paramFragmentManagerImpl.popEnterAnim; + arrayOfInt = this.mOps; + m = i + 1; + arrayOfInt[i] = paramFragmentManagerImpl.popExitAnim; + if (paramFragmentManagerImpl.removed == null) { + break label307; + } + k = paramFragmentManagerImpl.removed.size(); + this.mOps[m] = k; + j = 0; + i = m + 1; + while (j < k) + { + this.mOps[i] = ((Fragment)paramFragmentManagerImpl.removed.get(j)).mIndex; + j += 1; + i += 1; + } + } + for (;;) + { + paramFragmentManagerImpl = paramFragmentManagerImpl.next; + break; + label307: + arrayOfInt = this.mOps; + i = m + 1; + arrayOfInt[m] = 0; + } + } + this.mTransition = paramBackStackRecord.mTransition; + this.mTransitionStyle = paramBackStackRecord.mTransitionStyle; + this.mName = paramBackStackRecord.mName; + this.mIndex = paramBackStackRecord.mIndex; + this.mBreadCrumbTitleRes = paramBackStackRecord.mBreadCrumbTitleRes; + this.mBreadCrumbTitleText = paramBackStackRecord.mBreadCrumbTitleText; + this.mBreadCrumbShortTitleRes = paramBackStackRecord.mBreadCrumbShortTitleRes; + this.mBreadCrumbShortTitleText = paramBackStackRecord.mBreadCrumbShortTitleText; + } + + public int describeContents() + { + return 0; + } + + public BackStackRecord instantiate(FragmentManagerImpl paramFragmentManagerImpl) + { + BackStackRecord localBackStackRecord = new BackStackRecord(paramFragmentManagerImpl); + int i = 0; + int k = 0; + while (i < this.mOps.length) + { + BackStackRecord.Op localOp = new BackStackRecord.Op(); + Object localObject = this.mOps; + int j = i + 1; + localOp.cmd = localObject[i]; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Instantiate " + localBackStackRecord + " op #" + k + " base fragment #" + this.mOps[j]); + } + localObject = this.mOps; + i = j + 1; + j = localObject[j]; + if (j >= 0) {} + for (localOp.fragment = ((Fragment)paramFragmentManagerImpl.mActive.get(j));; localOp.fragment = null) + { + localObject = this.mOps; + j = i + 1; + localOp.enterAnim = localObject[i]; + localObject = this.mOps; + i = j + 1; + localOp.exitAnim = localObject[j]; + localObject = this.mOps; + j = i + 1; + localOp.popEnterAnim = localObject[i]; + localObject = this.mOps; + int m = j + 1; + localOp.popExitAnim = localObject[j]; + localObject = this.mOps; + i = m + 1; + int n = localObject[m]; + j = i; + if (n <= 0) { + break; + } + localOp.removed = new ArrayList(n); + m = 0; + for (;;) + { + j = i; + if (m >= n) { + break; + } + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Instantiate " + localBackStackRecord + " set remove fragment #" + this.mOps[i]); + } + localObject = (Fragment)paramFragmentManagerImpl.mActive.get(this.mOps[i]); + localOp.removed.add(localObject); + m += 1; + i += 1; + } + } + i = j; + localBackStackRecord.addOp(localOp); + k += 1; + } + localBackStackRecord.mTransition = this.mTransition; + localBackStackRecord.mTransitionStyle = this.mTransitionStyle; + localBackStackRecord.mName = this.mName; + localBackStackRecord.mIndex = this.mIndex; + localBackStackRecord.mAddToBackStack = true; + localBackStackRecord.mBreadCrumbTitleRes = this.mBreadCrumbTitleRes; + localBackStackRecord.mBreadCrumbTitleText = this.mBreadCrumbTitleText; + localBackStackRecord.mBreadCrumbShortTitleRes = this.mBreadCrumbShortTitleRes; + localBackStackRecord.mBreadCrumbShortTitleText = this.mBreadCrumbShortTitleText; + localBackStackRecord.bumpBackStackNesting(1); + return localBackStackRecord; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeIntArray(this.mOps); + paramParcel.writeInt(this.mTransition); + paramParcel.writeInt(this.mTransitionStyle); + paramParcel.writeString(this.mName); + paramParcel.writeInt(this.mIndex); + paramParcel.writeInt(this.mBreadCrumbTitleRes); + TextUtils.writeToParcel(this.mBreadCrumbTitleText, paramParcel, 0); + paramParcel.writeInt(this.mBreadCrumbShortTitleRes); + TextUtils.writeToParcel(this.mBreadCrumbShortTitleText, paramParcel, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.BackStackState + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/DialogFragment.java b/com.tencent.token/classes.jar/android/support/v4/app/DialogFragment.java new file mode 100755 index 00000000000..d0a893a96ca --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/DialogFragment.java @@ -0,0 +1,295 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.DialogInterface.OnDismissListener; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.Window; + +public class DialogFragment + extends Fragment + implements DialogInterface.OnCancelListener, DialogInterface.OnDismissListener +{ + private static final String SAVED_BACK_STACK_ID = "android:backStackId"; + private static final String SAVED_CANCELABLE = "android:cancelable"; + private static final String SAVED_DIALOG_STATE_TAG = "android:savedDialogState"; + private static final String SAVED_SHOWS_DIALOG = "android:showsDialog"; + private static final String SAVED_STYLE = "android:style"; + private static final String SAVED_THEME = "android:theme"; + public static final int STYLE_NORMAL = 0; + public static final int STYLE_NO_FRAME = 2; + public static final int STYLE_NO_INPUT = 3; + public static final int STYLE_NO_TITLE = 1; + int mBackStackId = -1; + boolean mCancelable = true; + Dialog mDialog; + boolean mDismissed; + boolean mShownByMe; + boolean mShowsDialog = true; + int mStyle = 0; + int mTheme = 0; + boolean mViewDestroyed; + + public void dismiss() + { + dismissInternal(false); + } + + public void dismissAllowingStateLoss() + { + dismissInternal(true); + } + + void dismissInternal(boolean paramBoolean) + { + if (this.mDismissed) { + return; + } + this.mDismissed = true; + this.mShownByMe = false; + if (this.mDialog != null) + { + this.mDialog.dismiss(); + this.mDialog = null; + } + this.mViewDestroyed = true; + if (this.mBackStackId >= 0) + { + getFragmentManager().popBackStack(this.mBackStackId, 1); + this.mBackStackId = -1; + return; + } + FragmentTransaction localFragmentTransaction = getFragmentManager().beginTransaction(); + localFragmentTransaction.remove(this); + if (paramBoolean) + { + localFragmentTransaction.commitAllowingStateLoss(); + return; + } + localFragmentTransaction.commit(); + } + + public Dialog getDialog() + { + return this.mDialog; + } + + public LayoutInflater getLayoutInflater(Bundle paramBundle) + { + if (!this.mShowsDialog) { + return super.getLayoutInflater(paramBundle); + } + this.mDialog = onCreateDialog(paramBundle); + switch (this.mStyle) + { + } + while (this.mDialog != null) + { + return (LayoutInflater)this.mDialog.getContext().getSystemService("layout_inflater"); + this.mDialog.getWindow().addFlags(24); + this.mDialog.requestWindowFeature(1); + } + return (LayoutInflater)this.mActivity.getSystemService("layout_inflater"); + } + + public boolean getShowsDialog() + { + return this.mShowsDialog; + } + + public int getTheme() + { + return this.mTheme; + } + + public boolean isCancelable() + { + return this.mCancelable; + } + + public void onActivityCreated(Bundle paramBundle) + { + super.onActivityCreated(paramBundle); + if (!this.mShowsDialog) {} + do + { + do + { + return; + View localView = getView(); + if (localView != null) + { + if (localView.getParent() != null) { + throw new IllegalStateException("DialogFragment can not be attached to a container view"); + } + this.mDialog.setContentView(localView); + } + this.mDialog.setOwnerActivity(getActivity()); + this.mDialog.setCancelable(this.mCancelable); + this.mDialog.setOnCancelListener(this); + this.mDialog.setOnDismissListener(this); + } while (paramBundle == null); + paramBundle = paramBundle.getBundle("android:savedDialogState"); + } while (paramBundle == null); + this.mDialog.onRestoreInstanceState(paramBundle); + } + + public void onAttach(Activity paramActivity) + { + super.onAttach(paramActivity); + if (!this.mShownByMe) { + this.mDismissed = false; + } + } + + public void onCancel(DialogInterface paramDialogInterface) {} + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + if (this.mContainerId == 0) {} + for (boolean bool = true;; bool = false) + { + this.mShowsDialog = bool; + if (paramBundle != null) + { + this.mStyle = paramBundle.getInt("android:style", 0); + this.mTheme = paramBundle.getInt("android:theme", 0); + this.mCancelable = paramBundle.getBoolean("android:cancelable", true); + this.mShowsDialog = paramBundle.getBoolean("android:showsDialog", this.mShowsDialog); + this.mBackStackId = paramBundle.getInt("android:backStackId", -1); + } + return; + } + } + + public Dialog onCreateDialog(Bundle paramBundle) + { + return new Dialog(getActivity(), getTheme()); + } + + public void onDestroyView() + { + super.onDestroyView(); + if (this.mDialog != null) + { + this.mViewDestroyed = true; + this.mDialog.dismiss(); + this.mDialog = null; + } + } + + public void onDetach() + { + super.onDetach(); + if ((!this.mShownByMe) && (!this.mDismissed)) { + this.mDismissed = true; + } + } + + public void onDismiss(DialogInterface paramDialogInterface) + { + if (!this.mViewDestroyed) { + dismissInternal(true); + } + } + + public void onSaveInstanceState(Bundle paramBundle) + { + super.onSaveInstanceState(paramBundle); + if (this.mDialog != null) + { + Bundle localBundle = this.mDialog.onSaveInstanceState(); + if (localBundle != null) { + paramBundle.putBundle("android:savedDialogState", localBundle); + } + } + if (this.mStyle != 0) { + paramBundle.putInt("android:style", this.mStyle); + } + if (this.mTheme != 0) { + paramBundle.putInt("android:theme", this.mTheme); + } + if (!this.mCancelable) { + paramBundle.putBoolean("android:cancelable", this.mCancelable); + } + if (!this.mShowsDialog) { + paramBundle.putBoolean("android:showsDialog", this.mShowsDialog); + } + if (this.mBackStackId != -1) { + paramBundle.putInt("android:backStackId", this.mBackStackId); + } + } + + public void onStart() + { + super.onStart(); + if (this.mDialog != null) + { + this.mViewDestroyed = false; + this.mDialog.show(); + } + } + + public void onStop() + { + super.onStop(); + if (this.mDialog != null) { + this.mDialog.hide(); + } + } + + public void setCancelable(boolean paramBoolean) + { + this.mCancelable = paramBoolean; + if (this.mDialog != null) { + this.mDialog.setCancelable(paramBoolean); + } + } + + public void setShowsDialog(boolean paramBoolean) + { + this.mShowsDialog = paramBoolean; + } + + public void setStyle(int paramInt1, int paramInt2) + { + this.mStyle = paramInt1; + if ((this.mStyle == 2) || (this.mStyle == 3)) { + this.mTheme = 16973913; + } + if (paramInt2 != 0) { + this.mTheme = paramInt2; + } + } + + public int show(FragmentTransaction paramFragmentTransaction, String paramString) + { + this.mDismissed = false; + this.mShownByMe = true; + paramFragmentTransaction.add(this, paramString); + this.mViewDestroyed = false; + this.mBackStackId = paramFragmentTransaction.commit(); + return this.mBackStackId; + } + + public void show(FragmentManager paramFragmentManager, String paramString) + { + this.mDismissed = false; + this.mShownByMe = true; + paramFragmentManager = paramFragmentManager.beginTransaction(); + paramFragmentManager.add(this, paramString); + paramFragmentManager.commit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.DialogFragment + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/Fragment.java b/com.tencent.token/classes.jar/android/support/v4/app/Fragment.java new file mode 100755 index 00000000000..9689adeaa66 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/Fragment.java @@ -0,0 +1,1096 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.ComponentCallbacks; +import android.content.Context; +import android.content.Intent; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.support.v4.util.DebugUtils; +import android.util.AttributeSet; +import android.util.SparseArray; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnCreateContextMenuListener; +import android.view.ViewGroup; +import android.view.animation.Animation; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.HashMap; + +public class Fragment + implements ComponentCallbacks, View.OnCreateContextMenuListener +{ + static final int ACTIVITY_CREATED = 2; + static final int CREATED = 1; + static final int INITIALIZING = 0; + static final int RESUMED = 5; + static final int STARTED = 4; + static final int STOPPED = 3; + private static final HashMap> sClassMap = new HashMap(); + FragmentActivity mActivity; + boolean mAdded; + View mAnimatingAway; + Bundle mArguments; + int mBackStackNesting; + boolean mCalled; + boolean mCheckedForLoaderManager; + FragmentManagerImpl mChildFragmentManager; + ViewGroup mContainer; + int mContainerId; + boolean mDeferStart; + boolean mDetached; + int mFragmentId; + FragmentManagerImpl mFragmentManager; + boolean mFromLayout; + boolean mHasMenu; + boolean mHidden; + boolean mInLayout; + int mIndex = -1; + View mInnerView; + LoaderManagerImpl mLoaderManager; + boolean mLoadersStarted; + boolean mMenuVisible = true; + int mNextAnim; + Fragment mParentFragment; + boolean mRemoving; + boolean mRestored; + boolean mResumed; + boolean mRetainInstance; + boolean mRetaining; + Bundle mSavedFragmentState; + SparseArray mSavedViewState; + int mState = 0; + int mStateAfterAnimating; + String mTag; + Fragment mTarget; + int mTargetIndex = -1; + int mTargetRequestCode; + boolean mUserVisibleHint = true; + View mView; + String mWho; + + public static Fragment instantiate(Context paramContext, String paramString) + { + return instantiate(paramContext, paramString, null); + } + + public static Fragment instantiate(Context paramContext, String paramString, Bundle paramBundle) + { + Object localObject; + if ((paramContext instanceof FragmentActivity)) + { + localObject = ((FragmentActivity)paramContext).newFragment(paramString, paramBundle); + if (localObject != null) { + paramContext = (Context)localObject; + } + } + for (;;) + { + return paramContext; + try + { + Class localClass = (Class)sClassMap.get(paramString); + localObject = localClass; + if (localClass == null) + { + localObject = paramContext.getClassLoader().loadClass(paramString); + sClassMap.put(paramString, localObject); + } + localObject = (Fragment)((Class)localObject).newInstance(); + paramContext = (Context)localObject; + if (paramBundle == null) { + continue; + } + paramBundle.setClassLoader(localObject.getClass().getClassLoader()); + ((Fragment)localObject).mArguments = paramBundle; + return localObject; + } + catch (ClassNotFoundException paramContext) + { + throw new InstantiationException("Unable to instantiate fragment " + paramString + ": make sure class name exists, is public, and has an" + " empty constructor that is public", paramContext); + } + catch (InstantiationException paramContext) + { + throw new InstantiationException("Unable to instantiate fragment " + paramString + ": make sure class name exists, is public, and has an" + " empty constructor that is public", paramContext); + } + catch (IllegalAccessException paramContext) + { + throw new InstantiationException("Unable to instantiate fragment " + paramString + ": make sure class name exists, is public, and has an" + " empty constructor that is public", paramContext); + } + } + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mFragmentId=#"); + paramPrintWriter.print(Integer.toHexString(this.mFragmentId)); + paramPrintWriter.print(" mContainerId=#"); + paramPrintWriter.print(Integer.toHexString(this.mContainerId)); + paramPrintWriter.print(" mTag="); + paramPrintWriter.println(this.mTag); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mState="); + paramPrintWriter.print(this.mState); + paramPrintWriter.print(" mIndex="); + paramPrintWriter.print(this.mIndex); + paramPrintWriter.print(" mWho="); + paramPrintWriter.print(this.mWho); + paramPrintWriter.print(" mBackStackNesting="); + paramPrintWriter.println(this.mBackStackNesting); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mAdded="); + paramPrintWriter.print(this.mAdded); + paramPrintWriter.print(" mRemoving="); + paramPrintWriter.print(this.mRemoving); + paramPrintWriter.print(" mResumed="); + paramPrintWriter.print(this.mResumed); + paramPrintWriter.print(" mFromLayout="); + paramPrintWriter.print(this.mFromLayout); + paramPrintWriter.print(" mInLayout="); + paramPrintWriter.println(this.mInLayout); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mHidden="); + paramPrintWriter.print(this.mHidden); + paramPrintWriter.print(" mDetached="); + paramPrintWriter.print(this.mDetached); + paramPrintWriter.print(" mMenuVisible="); + paramPrintWriter.print(this.mMenuVisible); + paramPrintWriter.print(" mHasMenu="); + paramPrintWriter.println(this.mHasMenu); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mRetainInstance="); + paramPrintWriter.print(this.mRetainInstance); + paramPrintWriter.print(" mRetaining="); + paramPrintWriter.print(this.mRetaining); + paramPrintWriter.print(" mUserVisibleHint="); + paramPrintWriter.println(this.mUserVisibleHint); + if (this.mFragmentManager != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mFragmentManager="); + paramPrintWriter.println(this.mFragmentManager); + } + if (this.mActivity != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mActivity="); + paramPrintWriter.println(this.mActivity); + } + if (this.mParentFragment != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mParentFragment="); + paramPrintWriter.println(this.mParentFragment); + } + if (this.mArguments != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mArguments="); + paramPrintWriter.println(this.mArguments); + } + if (this.mSavedFragmentState != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mSavedFragmentState="); + paramPrintWriter.println(this.mSavedFragmentState); + } + if (this.mSavedViewState != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mSavedViewState="); + paramPrintWriter.println(this.mSavedViewState); + } + if (this.mTarget != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mTarget="); + paramPrintWriter.print(this.mTarget); + paramPrintWriter.print(" mTargetRequestCode="); + paramPrintWriter.println(this.mTargetRequestCode); + } + if (this.mNextAnim != 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mNextAnim="); + paramPrintWriter.println(this.mNextAnim); + } + if (this.mContainer != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mContainer="); + paramPrintWriter.println(this.mContainer); + } + if (this.mView != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mView="); + paramPrintWriter.println(this.mView); + } + if (this.mInnerView != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mInnerView="); + paramPrintWriter.println(this.mView); + } + if (this.mAnimatingAway != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mAnimatingAway="); + paramPrintWriter.println(this.mAnimatingAway); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mStateAfterAnimating="); + paramPrintWriter.println(this.mStateAfterAnimating); + } + if (this.mLoaderManager != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Loader Manager:"); + this.mLoaderManager.dump(paramString + " ", paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + if (this.mChildFragmentManager != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Child " + this.mChildFragmentManager + ":"); + this.mChildFragmentManager.dump(paramString + " ", paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + } + + public final boolean equals(Object paramObject) + { + return super.equals(paramObject); + } + + Fragment findFragmentByWho(String paramString) + { + if (paramString.equals(this.mWho)) { + return this; + } + if (this.mChildFragmentManager != null) { + return this.mChildFragmentManager.findFragmentByWho(paramString); + } + return null; + } + + public final FragmentActivity getActivity() + { + return this.mActivity; + } + + public final Bundle getArguments() + { + return this.mArguments; + } + + public final FragmentManager getChildFragmentManager() + { + if (this.mChildFragmentManager == null) + { + instantiateChildFragmentManager(); + if (this.mState < 5) { + break label31; + } + this.mChildFragmentManager.dispatchResume(); + } + for (;;) + { + return this.mChildFragmentManager; + label31: + if (this.mState >= 4) { + this.mChildFragmentManager.dispatchStart(); + } else if (this.mState >= 2) { + this.mChildFragmentManager.dispatchActivityCreated(); + } else if (this.mState >= 1) { + this.mChildFragmentManager.dispatchCreate(); + } + } + } + + public final FragmentManager getFragmentManager() + { + return this.mFragmentManager; + } + + public final int getId() + { + return this.mFragmentId; + } + + public LayoutInflater getLayoutInflater(Bundle paramBundle) + { + return this.mActivity.getLayoutInflater(); + } + + public LoaderManager getLoaderManager() + { + if (this.mLoaderManager != null) { + return this.mLoaderManager; + } + if (this.mActivity == null) { + throw new IllegalStateException("Fragment " + this + " not attached to Activity"); + } + this.mCheckedForLoaderManager = true; + this.mLoaderManager = this.mActivity.getLoaderManager(this.mWho, this.mLoadersStarted, true); + return this.mLoaderManager; + } + + public final Fragment getParentFragment() + { + return this.mParentFragment; + } + + public final Resources getResources() + { + if (this.mActivity == null) { + throw new IllegalStateException("Fragment " + this + " not attached to Activity"); + } + return this.mActivity.getResources(); + } + + public final boolean getRetainInstance() + { + return this.mRetainInstance; + } + + public final String getString(int paramInt) + { + return getResources().getString(paramInt); + } + + public final String getString(int paramInt, Object... paramVarArgs) + { + return getResources().getString(paramInt, paramVarArgs); + } + + public final String getTag() + { + return this.mTag; + } + + public final Fragment getTargetFragment() + { + return this.mTarget; + } + + public final int getTargetRequestCode() + { + return this.mTargetRequestCode; + } + + public final CharSequence getText(int paramInt) + { + return getResources().getText(paramInt); + } + + public boolean getUserVisibleHint() + { + return this.mUserVisibleHint; + } + + public View getView() + { + return this.mView; + } + + public final int hashCode() + { + return super.hashCode(); + } + + void initState() + { + this.mIndex = -1; + this.mWho = null; + this.mAdded = false; + this.mRemoving = false; + this.mResumed = false; + this.mFromLayout = false; + this.mInLayout = false; + this.mRestored = false; + this.mBackStackNesting = 0; + this.mFragmentManager = null; + this.mActivity = null; + this.mFragmentId = 0; + this.mContainerId = 0; + this.mTag = null; + this.mHidden = false; + this.mDetached = false; + this.mRetaining = false; + this.mLoaderManager = null; + this.mLoadersStarted = false; + this.mCheckedForLoaderManager = false; + } + + void instantiateChildFragmentManager() + { + this.mChildFragmentManager = new FragmentManagerImpl(); + this.mChildFragmentManager.attachActivity(this.mActivity, new FragmentContainer() + { + public View findViewById(int paramAnonymousInt) + { + if (Fragment.this.mView == null) { + throw new IllegalStateException("Fragment does not have a view"); + } + return Fragment.this.mView.findViewById(paramAnonymousInt); + } + }, this); + } + + public final boolean isAdded() + { + return (this.mActivity != null) && (this.mAdded); + } + + public final boolean isDetached() + { + return this.mDetached; + } + + public final boolean isHidden() + { + return this.mHidden; + } + + final boolean isInBackStack() + { + return this.mBackStackNesting > 0; + } + + public final boolean isInLayout() + { + return this.mInLayout; + } + + public final boolean isRemoving() + { + return this.mRemoving; + } + + public final boolean isResumed() + { + return this.mResumed; + } + + public final boolean isVisible() + { + return (isAdded()) && (!isHidden()) && (this.mView != null) && (this.mView.getWindowToken() != null) && (this.mView.getVisibility() == 0); + } + + public void onActivityCreated(Bundle paramBundle) + { + this.mCalled = true; + } + + public void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) {} + + public void onAttach(Activity paramActivity) + { + this.mCalled = true; + } + + public void onConfigurationChanged(Configuration paramConfiguration) + { + this.mCalled = true; + } + + public boolean onContextItemSelected(MenuItem paramMenuItem) + { + return false; + } + + public void onCreate(Bundle paramBundle) + { + this.mCalled = true; + } + + public Animation onCreateAnimation(int paramInt1, boolean paramBoolean, int paramInt2) + { + return null; + } + + public void onCreateContextMenu(ContextMenu paramContextMenu, View paramView, ContextMenu.ContextMenuInfo paramContextMenuInfo) + { + getActivity().onCreateContextMenu(paramContextMenu, paramView, paramContextMenuInfo); + } + + public void onCreateOptionsMenu(Menu paramMenu, MenuInflater paramMenuInflater) {} + + public View onCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle) + { + return null; + } + + public void onDestroy() + { + this.mCalled = true; + if (!this.mCheckedForLoaderManager) + { + this.mCheckedForLoaderManager = true; + this.mLoaderManager = this.mActivity.getLoaderManager(this.mWho, this.mLoadersStarted, false); + } + if (this.mLoaderManager != null) { + this.mLoaderManager.doDestroy(); + } + } + + public void onDestroyOptionsMenu() {} + + public void onDestroyView() + { + this.mCalled = true; + } + + public void onDetach() + { + this.mCalled = true; + } + + public void onHiddenChanged(boolean paramBoolean) {} + + public void onInflate(Activity paramActivity, AttributeSet paramAttributeSet, Bundle paramBundle) + { + this.mCalled = true; + } + + public void onLowMemory() + { + this.mCalled = true; + } + + public boolean onOptionsItemSelected(MenuItem paramMenuItem) + { + return false; + } + + public void onOptionsMenuClosed(Menu paramMenu) {} + + public void onPause() + { + this.mCalled = true; + } + + public void onPrepareOptionsMenu(Menu paramMenu) {} + + public void onResume() + { + this.mCalled = true; + } + + public void onSaveInstanceState(Bundle paramBundle) {} + + public void onStart() + { + this.mCalled = true; + if (!this.mLoadersStarted) + { + this.mLoadersStarted = true; + if (!this.mCheckedForLoaderManager) + { + this.mCheckedForLoaderManager = true; + this.mLoaderManager = this.mActivity.getLoaderManager(this.mWho, this.mLoadersStarted, false); + } + if (this.mLoaderManager != null) { + this.mLoaderManager.doStart(); + } + } + } + + public void onStop() + { + this.mCalled = true; + } + + public void onViewCreated(View paramView, Bundle paramBundle) {} + + public void onViewStateRestored(Bundle paramBundle) + { + this.mCalled = true; + } + + void performActivityCreated(Bundle paramBundle) + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.noteStateNotSaved(); + } + this.mCalled = false; + onActivityCreated(paramBundle); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onActivityCreated()"); + } + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchActivityCreated(); + } + } + + void performConfigurationChanged(Configuration paramConfiguration) + { + onConfigurationChanged(paramConfiguration); + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchConfigurationChanged(paramConfiguration); + } + } + + boolean performContextItemSelected(MenuItem paramMenuItem) + { + if (!this.mHidden) + { + if (onContextItemSelected(paramMenuItem)) {} + while ((this.mChildFragmentManager != null) && (this.mChildFragmentManager.dispatchContextItemSelected(paramMenuItem))) { + return true; + } + } + return false; + } + + void performCreate(Bundle paramBundle) + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.noteStateNotSaved(); + } + this.mCalled = false; + onCreate(paramBundle); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onCreate()"); + } + if (paramBundle != null) + { + paramBundle = paramBundle.getParcelable("android:support:fragments"); + if (paramBundle != null) + { + if (this.mChildFragmentManager == null) { + instantiateChildFragmentManager(); + } + this.mChildFragmentManager.restoreAllState(paramBundle, null); + this.mChildFragmentManager.dispatchCreate(); + } + } + } + + boolean performCreateOptionsMenu(Menu paramMenu, MenuInflater paramMenuInflater) + { + boolean bool2 = false; + boolean bool3 = false; + if (!this.mHidden) + { + boolean bool1 = bool3; + if (this.mHasMenu) + { + bool1 = bool3; + if (this.mMenuVisible) + { + bool1 = true; + onCreateOptionsMenu(paramMenu, paramMenuInflater); + } + } + bool2 = bool1; + if (this.mChildFragmentManager != null) { + bool2 = bool1 | this.mChildFragmentManager.dispatchCreateOptionsMenu(paramMenu, paramMenuInflater); + } + } + return bool2; + } + + View performCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle) + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.noteStateNotSaved(); + } + return onCreateView(paramLayoutInflater, paramViewGroup, paramBundle); + } + + void performDestroy() + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchDestroy(); + } + this.mCalled = false; + onDestroy(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onDestroy()"); + } + } + + void performDestroyView() + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchDestroyView(); + } + this.mCalled = false; + onDestroyView(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onDestroyView()"); + } + if (this.mLoaderManager != null) { + this.mLoaderManager.doReportNextStart(); + } + } + + void performLowMemory() + { + onLowMemory(); + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchLowMemory(); + } + } + + boolean performOptionsItemSelected(MenuItem paramMenuItem) + { + if (!this.mHidden) + { + if ((this.mHasMenu) && (this.mMenuVisible) && (onOptionsItemSelected(paramMenuItem))) {} + while ((this.mChildFragmentManager != null) && (this.mChildFragmentManager.dispatchOptionsItemSelected(paramMenuItem))) { + return true; + } + } + return false; + } + + void performOptionsMenuClosed(Menu paramMenu) + { + if (!this.mHidden) + { + if ((this.mHasMenu) && (this.mMenuVisible)) { + onOptionsMenuClosed(paramMenu); + } + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchOptionsMenuClosed(paramMenu); + } + } + } + + void performPause() + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchPause(); + } + this.mCalled = false; + onPause(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onPause()"); + } + } + + boolean performPrepareOptionsMenu(Menu paramMenu) + { + boolean bool2 = false; + boolean bool3 = false; + if (!this.mHidden) + { + boolean bool1 = bool3; + if (this.mHasMenu) + { + bool1 = bool3; + if (this.mMenuVisible) + { + bool1 = true; + onPrepareOptionsMenu(paramMenu); + } + } + bool2 = bool1; + if (this.mChildFragmentManager != null) { + bool2 = bool1 | this.mChildFragmentManager.dispatchPrepareOptionsMenu(paramMenu); + } + } + return bool2; + } + + void performReallyStop() + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchReallyStop(); + } + if (this.mLoadersStarted) + { + this.mLoadersStarted = false; + if (!this.mCheckedForLoaderManager) + { + this.mCheckedForLoaderManager = true; + this.mLoaderManager = this.mActivity.getLoaderManager(this.mWho, this.mLoadersStarted, false); + } + if (this.mLoaderManager != null) + { + if (this.mActivity.mRetaining) { + break label83; + } + this.mLoaderManager.doStop(); + } + } + return; + label83: + this.mLoaderManager.doRetain(); + } + + void performResume() + { + if (this.mChildFragmentManager != null) + { + this.mChildFragmentManager.noteStateNotSaved(); + this.mChildFragmentManager.execPendingActions(); + } + this.mCalled = false; + onResume(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onResume()"); + } + if (this.mChildFragmentManager != null) + { + this.mChildFragmentManager.dispatchResume(); + this.mChildFragmentManager.execPendingActions(); + } + } + + void performSaveInstanceState(Bundle paramBundle) + { + onSaveInstanceState(paramBundle); + if (this.mChildFragmentManager != null) + { + Parcelable localParcelable = this.mChildFragmentManager.saveAllState(); + if (localParcelable != null) { + paramBundle.putParcelable("android:support:fragments", localParcelable); + } + } + } + + void performStart() + { + if (this.mChildFragmentManager != null) + { + this.mChildFragmentManager.noteStateNotSaved(); + this.mChildFragmentManager.execPendingActions(); + } + this.mCalled = false; + onStart(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onStart()"); + } + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchStart(); + } + if (this.mLoaderManager != null) { + this.mLoaderManager.doReportStart(); + } + } + + void performStop() + { + if (this.mChildFragmentManager != null) { + this.mChildFragmentManager.dispatchStop(); + } + this.mCalled = false; + onStop(); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onStop()"); + } + } + + public void registerForContextMenu(View paramView) + { + paramView.setOnCreateContextMenuListener(this); + } + + final void restoreViewState(Bundle paramBundle) + { + if (this.mSavedViewState != null) + { + this.mInnerView.restoreHierarchyState(this.mSavedViewState); + this.mSavedViewState = null; + } + this.mCalled = false; + onViewStateRestored(paramBundle); + if (!this.mCalled) { + throw new SuperNotCalledException("Fragment " + this + " did not call through to super.onViewStateRestored()"); + } + } + + public void setArguments(Bundle paramBundle) + { + if (this.mIndex >= 0) { + throw new IllegalStateException("Fragment already active"); + } + this.mArguments = paramBundle; + } + + public void setHasOptionsMenu(boolean paramBoolean) + { + if (this.mHasMenu != paramBoolean) + { + this.mHasMenu = paramBoolean; + if ((isAdded()) && (!isHidden())) { + this.mActivity.supportInvalidateOptionsMenu(); + } + } + } + + final void setIndex(int paramInt, Fragment paramFragment) + { + this.mIndex = paramInt; + if (paramFragment != null) + { + this.mWho = (paramFragment.mWho + ":" + this.mIndex); + return; + } + this.mWho = ("android:fragment:" + this.mIndex); + } + + public void setInitialSavedState(SavedState paramSavedState) + { + if (this.mIndex >= 0) { + throw new IllegalStateException("Fragment already active"); + } + if ((paramSavedState != null) && (paramSavedState.mState != null)) {} + for (paramSavedState = paramSavedState.mState;; paramSavedState = null) + { + this.mSavedFragmentState = paramSavedState; + return; + } + } + + public void setMenuVisibility(boolean paramBoolean) + { + if (this.mMenuVisible != paramBoolean) + { + this.mMenuVisible = paramBoolean; + if ((this.mHasMenu) && (isAdded()) && (!isHidden())) { + this.mActivity.supportInvalidateOptionsMenu(); + } + } + } + + public void setRetainInstance(boolean paramBoolean) + { + if ((paramBoolean) && (this.mParentFragment != null)) { + throw new IllegalStateException("Can't retain fragements that are nested in other fragments"); + } + this.mRetainInstance = paramBoolean; + } + + public void setTargetFragment(Fragment paramFragment, int paramInt) + { + this.mTarget = paramFragment; + this.mTargetRequestCode = paramInt; + } + + public void setUserVisibleHint(boolean paramBoolean) + { + if ((!this.mUserVisibleHint) && (paramBoolean) && (this.mState < 4)) { + this.mFragmentManager.performPendingDeferredStart(this); + } + this.mUserVisibleHint = paramBoolean; + if (!paramBoolean) {} + for (paramBoolean = true;; paramBoolean = false) + { + this.mDeferStart = paramBoolean; + return; + } + } + + public void startActivity(Intent paramIntent) + { + if (this.mActivity == null) { + throw new IllegalStateException("Fragment " + this + " not attached to Activity"); + } + this.mActivity.startActivityFromFragment(this, paramIntent, -1); + } + + public void startActivityForResult(Intent paramIntent, int paramInt) + { + if (this.mActivity == null) { + throw new IllegalStateException("Fragment " + this + " not attached to Activity"); + } + this.mActivity.startActivityFromFragment(this, paramIntent, paramInt); + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(128); + DebugUtils.buildShortClassTag(this, localStringBuilder); + if (this.mIndex >= 0) + { + localStringBuilder.append(" #"); + localStringBuilder.append(this.mIndex); + } + if (this.mFragmentId != 0) + { + localStringBuilder.append(" id=0x"); + localStringBuilder.append(Integer.toHexString(this.mFragmentId)); + } + if (this.mTag != null) + { + localStringBuilder.append(" "); + localStringBuilder.append(this.mTag); + } + localStringBuilder.append('}'); + return localStringBuilder.toString(); + } + + public void unregisterForContextMenu(View paramView) + { + paramView.setOnCreateContextMenuListener(null); + } + + public static class InstantiationException + extends RuntimeException + { + public InstantiationException(String paramString, Exception paramException) + { + super(paramException); + } + } + + public static class SavedState + implements Parcelable + { + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public Fragment.SavedState createFromParcel(Parcel paramAnonymousParcel) + { + return new Fragment.SavedState(paramAnonymousParcel, null); + } + + public Fragment.SavedState[] newArray(int paramAnonymousInt) + { + return new Fragment.SavedState[paramAnonymousInt]; + } + }; + final Bundle mState; + + SavedState(Bundle paramBundle) + { + this.mState = paramBundle; + } + + SavedState(Parcel paramParcel, ClassLoader paramClassLoader) + { + this.mState = paramParcel.readBundle(); + if ((paramClassLoader != null) && (this.mState != null)) { + this.mState.setClassLoader(paramClassLoader); + } + } + + public int describeContents() + { + return 0; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeBundle(this.mState); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.Fragment + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentActivity.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentActivity.java new file mode 100755 index 00000000000..a69c3e859d9 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentActivity.java @@ -0,0 +1,846 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.content.res.Resources.NotFoundException; +import android.content.res.TypedArray; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.util.Log; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; + +public class FragmentActivity + extends Activity +{ + static final String FRAGMENTS_TAG = "android:support:fragments"; + private static final int HONEYCOMB = 11; + static final int MSG_REALLY_STOPPED = 1; + static final int MSG_RESUME_PENDING = 2; + private static final String TAG = "FragmentActivity"; + HashMap mAllLoaderManagers; + boolean mCheckedForLoaderManager; + final FragmentContainer mContainer = new FragmentContainer() + { + public View findViewById(int paramAnonymousInt) + { + return FragmentActivity.this.findViewById(paramAnonymousInt); + } + }; + boolean mCreated; + final FragmentManagerImpl mFragments = new FragmentManagerImpl(); + final Handler mHandler = new Handler() + { + public void handleMessage(Message paramAnonymousMessage) + { + switch (paramAnonymousMessage.what) + { + default: + super.handleMessage(paramAnonymousMessage); + case 1: + do + { + return; + } while (!FragmentActivity.this.mStopped); + FragmentActivity.this.doReallyStop(false); + return; + } + FragmentActivity.this.onResumeFragments(); + FragmentActivity.this.mFragments.execPendingActions(); + } + }; + LoaderManagerImpl mLoaderManager; + boolean mLoadersStarted; + boolean mOptionsMenuInvalidated; + boolean mReallyStopped; + boolean mResumed; + boolean mRetaining; + boolean mStopped; + + private void dumpViewHierarchy(String paramString, PrintWriter paramPrintWriter, View paramView) + { + paramPrintWriter.print(paramString); + if (paramView == null) { + paramPrintWriter.println("null"); + } + for (;;) + { + return; + paramPrintWriter.println(viewToString(paramView)); + if ((paramView instanceof ViewGroup)) + { + paramView = (ViewGroup)paramView; + int j = paramView.getChildCount(); + if (j > 0) + { + paramString = paramString + " "; + int i = 0; + while (i < j) + { + dumpViewHierarchy(paramString, paramPrintWriter, paramView.getChildAt(i)); + i += 1; + } + } + } + } + } + + private static String viewToString(View paramView) + { + char c3 = 'F'; + char c2 = '.'; + StringBuilder localStringBuilder = new StringBuilder(128); + localStringBuilder.append(paramView.getClass().getName()); + localStringBuilder.append('{'); + localStringBuilder.append(Integer.toHexString(System.identityHashCode(paramView))); + localStringBuilder.append(' '); + char c1; + label118: + int i; + label135: + label152: + label169: + label186: + label203: + label220: + label244: + Object localObject; + switch (paramView.getVisibility()) + { + default: + localStringBuilder.append('.'); + if (paramView.isFocusable()) + { + c1 = 'F'; + localStringBuilder.append(c1); + if (!paramView.isEnabled()) { + break label562; + } + c1 = 'E'; + localStringBuilder.append(c1); + if (!paramView.willNotDraw()) { + break label568; + } + c1 = '.'; + localStringBuilder.append(c1); + if (!paramView.isHorizontalScrollBarEnabled()) { + break label574; + } + c1 = 'H'; + localStringBuilder.append(c1); + if (!paramView.isVerticalScrollBarEnabled()) { + break label580; + } + c1 = 'V'; + localStringBuilder.append(c1); + if (!paramView.isClickable()) { + break label586; + } + c1 = 'C'; + localStringBuilder.append(c1); + if (!paramView.isLongClickable()) { + break label592; + } + c1 = 'L'; + localStringBuilder.append(c1); + localStringBuilder.append(' '); + if (!paramView.isFocused()) { + break label598; + } + c1 = c3; + localStringBuilder.append(c1); + if (!paramView.isSelected()) { + break label604; + } + c1 = 'S'; + label261: + localStringBuilder.append(c1); + c1 = c2; + if (paramView.isPressed()) { + c1 = 'P'; + } + localStringBuilder.append(c1); + localStringBuilder.append(' '); + localStringBuilder.append(paramView.getLeft()); + localStringBuilder.append(','); + localStringBuilder.append(paramView.getTop()); + localStringBuilder.append('-'); + localStringBuilder.append(paramView.getRight()); + localStringBuilder.append(','); + localStringBuilder.append(paramView.getBottom()); + i = paramView.getId(); + if (i != -1) + { + localStringBuilder.append(" #"); + localStringBuilder.append(Integer.toHexString(i)); + localObject = paramView.getResources(); + if ((i != 0) && (localObject != null)) { + switch (0xFF000000 & i) + { + } + } + } + } + break; + } + for (;;) + { + try + { + paramView = ((Resources)localObject).getResourcePackageName(i); + String str = ((Resources)localObject).getResourceTypeName(i); + localObject = ((Resources)localObject).getResourceEntryName(i); + localStringBuilder.append(" "); + localStringBuilder.append(paramView); + localStringBuilder.append(":"); + localStringBuilder.append(str); + localStringBuilder.append("/"); + localStringBuilder.append((String)localObject); + } + catch (Resources.NotFoundException paramView) + { + label562: + label568: + label574: + label580: + label586: + label592: + label598: + label604: + continue; + } + localStringBuilder.append("}"); + return localStringBuilder.toString(); + localStringBuilder.append('V'); + break; + localStringBuilder.append('I'); + break; + localStringBuilder.append('G'); + break; + c1 = '.'; + break label118; + c1 = '.'; + break label135; + c1 = 'D'; + break label152; + c1 = '.'; + break label169; + c1 = '.'; + break label186; + c1 = '.'; + break label203; + c1 = '.'; + break label220; + c1 = '.'; + break label244; + c1 = '.'; + break label261; + paramView = "app"; + continue; + paramView = "android"; + } + } + + void doReallyStop(boolean paramBoolean) + { + if (!this.mReallyStopped) + { + this.mReallyStopped = true; + this.mRetaining = paramBoolean; + this.mHandler.removeMessages(1); + onReallyStop(); + } + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + if (Build.VERSION.SDK_INT >= 11) {} + paramPrintWriter.print(paramString); + paramPrintWriter.print("Local FragmentActivity "); + paramPrintWriter.print(Integer.toHexString(System.identityHashCode(this))); + paramPrintWriter.println(" State:"); + String str = paramString + " "; + paramPrintWriter.print(str); + paramPrintWriter.print("mCreated="); + paramPrintWriter.print(this.mCreated); + paramPrintWriter.print("mResumed="); + paramPrintWriter.print(this.mResumed); + paramPrintWriter.print(" mStopped="); + paramPrintWriter.print(this.mStopped); + paramPrintWriter.print(" mReallyStopped="); + paramPrintWriter.println(this.mReallyStopped); + paramPrintWriter.print(str); + paramPrintWriter.print("mLoadersStarted="); + paramPrintWriter.println(this.mLoadersStarted); + if (this.mLoaderManager != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("Loader Manager "); + paramPrintWriter.print(Integer.toHexString(System.identityHashCode(this.mLoaderManager))); + paramPrintWriter.println(":"); + this.mLoaderManager.dump(paramString + " ", paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + this.mFragments.dump(paramString, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + paramPrintWriter.print(paramString); + paramPrintWriter.println("View Hierarchy:"); + dumpViewHierarchy(paramString + " ", paramPrintWriter, getWindow().getDecorView()); + } + + public Object getLastCustomNonConfigurationInstance() + { + NonConfigurationInstances localNonConfigurationInstances = (NonConfigurationInstances)getLastNonConfigurationInstance(); + if (localNonConfigurationInstances != null) { + return localNonConfigurationInstances.custom; + } + return null; + } + + LoaderManagerImpl getLoaderManager(String paramString, boolean paramBoolean1, boolean paramBoolean2) + { + if (this.mAllLoaderManagers == null) { + this.mAllLoaderManagers = new HashMap(); + } + LoaderManagerImpl localLoaderManagerImpl = (LoaderManagerImpl)this.mAllLoaderManagers.get(paramString); + if (localLoaderManagerImpl == null) + { + if (paramBoolean2) + { + localLoaderManagerImpl = new LoaderManagerImpl(paramString, this, paramBoolean1); + this.mAllLoaderManagers.put(paramString, localLoaderManagerImpl); + } + return localLoaderManagerImpl; + } + localLoaderManagerImpl.updateActivity(this); + return localLoaderManagerImpl; + } + + public FragmentManager getSupportFragmentManager() + { + return this.mFragments; + } + + public LoaderManager getSupportLoaderManager() + { + if (this.mLoaderManager != null) { + return this.mLoaderManager; + } + this.mCheckedForLoaderManager = true; + this.mLoaderManager = getLoaderManager(null, this.mLoadersStarted, true); + return this.mLoaderManager; + } + + void invalidateSupportFragment(String paramString) + { + if (this.mAllLoaderManagers != null) + { + LoaderManagerImpl localLoaderManagerImpl = (LoaderManagerImpl)this.mAllLoaderManagers.get(paramString); + if ((localLoaderManagerImpl != null) && (!localLoaderManagerImpl.mRetaining)) + { + localLoaderManagerImpl.doDestroy(); + this.mAllLoaderManagers.remove(paramString); + } + } + } + + protected Fragment newFragment(String paramString, Bundle paramBundle) + { + return null; + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + this.mFragments.noteStateNotSaved(); + int i = paramInt1 >> 16; + if (i != 0) + { + i -= 1; + if ((this.mFragments.mActive == null) || (i < 0) || (i >= this.mFragments.mActive.size())) + { + Log.w("FragmentActivity", "Activity result fragment index out of range: 0x" + Integer.toHexString(paramInt1)); + return; + } + Fragment localFragment = (Fragment)this.mFragments.mActive.get(i); + if (localFragment == null) + { + Log.w("FragmentActivity", "Activity result no fragment exists for index: 0x" + Integer.toHexString(paramInt1)); + return; + } + localFragment.onActivityResult(0xFFFF & paramInt1, paramInt2, paramIntent); + return; + } + super.onActivityResult(paramInt1, paramInt2, paramIntent); + } + + public void onAttachFragment(Fragment paramFragment) {} + + public void onBackPressed() + { + if (!this.mFragments.popBackStackImmediate()) { + finish(); + } + } + + public void onConfigurationChanged(Configuration paramConfiguration) + { + super.onConfigurationChanged(paramConfiguration); + this.mFragments.dispatchConfigurationChanged(paramConfiguration); + } + + protected void onCreate(Bundle paramBundle) + { + Object localObject = null; + this.mFragments.attachActivity(this, this.mContainer, null); + if (getLayoutInflater().getFactory() == null) { + getLayoutInflater().setFactory(this); + } + super.onCreate(paramBundle); + NonConfigurationInstances localNonConfigurationInstances = (NonConfigurationInstances)getLastNonConfigurationInstance(); + if (localNonConfigurationInstances != null) { + this.mAllLoaderManagers = localNonConfigurationInstances.loaders; + } + if (paramBundle != null) + { + Parcelable localParcelable = paramBundle.getParcelable("android:support:fragments"); + FragmentManagerImpl localFragmentManagerImpl = this.mFragments; + paramBundle = localObject; + if (localNonConfigurationInstances != null) { + paramBundle = localNonConfigurationInstances.fragments; + } + localFragmentManagerImpl.restoreAllState(localParcelable, paramBundle); + } + this.mFragments.dispatchCreate(); + } + + public boolean onCreatePanelMenu(int paramInt, Menu paramMenu) + { + if (paramInt == 0) + { + boolean bool1 = super.onCreatePanelMenu(paramInt, paramMenu); + boolean bool2 = this.mFragments.dispatchCreateOptionsMenu(paramMenu, getMenuInflater()); + if (Build.VERSION.SDK_INT >= 11) { + return bool1 | bool2; + } + return true; + } + return super.onCreatePanelMenu(paramInt, paramMenu); + } + + public View onCreateView(String paramString, Context paramContext, AttributeSet paramAttributeSet) + { + Object localObject = null; + if (!"fragment".equals(paramString)) { + return super.onCreateView(paramString, paramContext, paramAttributeSet); + } + paramString = paramAttributeSet.getAttributeValue(null, "class"); + paramContext = paramContext.obtainStyledAttributes(paramAttributeSet, FragmentTag.Fragment); + String str1 = paramString; + if (paramString == null) { + str1 = paramContext.getString(0); + } + int j = paramContext.getResourceId(1, -1); + String str2 = paramContext.getString(2); + paramContext.recycle(); + if (0 != 0) { + throw new NullPointerException(); + } + if ((-1 == 0) && (j == -1) && (str2 == null)) { + throw new IllegalArgumentException(paramAttributeSet.getPositionDescription() + ": Must specify unique android:id, android:tag, or have a parent with an id for " + str1); + } + paramContext = localObject; + if (j != -1) { + paramContext = this.mFragments.findFragmentById(j); + } + paramString = paramContext; + if (paramContext == null) + { + paramString = paramContext; + if (str2 != null) { + paramString = this.mFragments.findFragmentByTag(str2); + } + } + paramContext = paramString; + if (paramString == null) + { + paramContext = paramString; + if (-1 != 0) { + paramContext = this.mFragments.findFragmentById(0); + } + } + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentActivity", "onCreateView: id=0x" + Integer.toHexString(j) + " fname=" + str1 + " existing=" + paramContext); + } + int i; + if (paramContext == null) + { + paramContext = Fragment.instantiate(this, str1); + paramContext.mFromLayout = true; + if (j != 0) + { + i = j; + paramContext.mFragmentId = i; + paramContext.mContainerId = 0; + paramContext.mTag = str2; + paramContext.mInLayout = true; + paramContext.mFragmentManager = this.mFragments; + paramContext.onInflate(this, paramAttributeSet, paramContext.mSavedFragmentState); + this.mFragments.addFragment(paramContext, true); + } + } + for (;;) + { + if (paramContext.mView != null) { + break label497; + } + throw new IllegalStateException("Fragment " + str1 + " did not create a view."); + i = 0; + break; + if (paramContext.mInLayout) { + throw new IllegalArgumentException(paramAttributeSet.getPositionDescription() + ": Duplicate id 0x" + Integer.toHexString(j) + ", tag " + str2 + ", or parent id 0x" + Integer.toHexString(0) + " with another fragment for " + str1); + } + paramContext.mInLayout = true; + if (!paramContext.mRetaining) { + paramContext.onInflate(this, paramAttributeSet, paramContext.mSavedFragmentState); + } + this.mFragments.moveToState(paramContext); + } + label497: + if (j != 0) { + paramContext.mView.setId(j); + } + if (paramContext.mView.getTag() == null) { + paramContext.mView.setTag(str2); + } + return paramContext.mView; + } + + protected void onDestroy() + { + super.onDestroy(); + doReallyStop(false); + this.mFragments.dispatchDestroy(); + if (this.mLoaderManager != null) { + this.mLoaderManager.doDestroy(); + } + } + + public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) + { + if ((Build.VERSION.SDK_INT < 5) && (paramInt == 4) && (paramKeyEvent.getRepeatCount() == 0)) + { + onBackPressed(); + return true; + } + return super.onKeyDown(paramInt, paramKeyEvent); + } + + public void onLowMemory() + { + super.onLowMemory(); + this.mFragments.dispatchLowMemory(); + } + + public boolean onMenuItemSelected(int paramInt, MenuItem paramMenuItem) + { + if (super.onMenuItemSelected(paramInt, paramMenuItem)) { + return true; + } + switch (paramInt) + { + default: + return false; + case 0: + return this.mFragments.dispatchOptionsItemSelected(paramMenuItem); + } + return this.mFragments.dispatchContextItemSelected(paramMenuItem); + } + + protected void onNewIntent(Intent paramIntent) + { + super.onNewIntent(paramIntent); + this.mFragments.noteStateNotSaved(); + } + + public void onPanelClosed(int paramInt, Menu paramMenu) + { + switch (paramInt) + { + } + for (;;) + { + super.onPanelClosed(paramInt, paramMenu); + return; + this.mFragments.dispatchOptionsMenuClosed(paramMenu); + } + } + + protected void onPause() + { + super.onPause(); + this.mResumed = false; + if (this.mHandler.hasMessages(2)) + { + this.mHandler.removeMessages(2); + onResumeFragments(); + } + this.mFragments.dispatchPause(); + } + + protected void onPostResume() + { + super.onPostResume(); + this.mHandler.removeMessages(2); + onResumeFragments(); + this.mFragments.execPendingActions(); + } + + public boolean onPreparePanel(int paramInt, View paramView, Menu paramMenu) + { + boolean bool2 = false; + if ((paramInt == 0) && (paramMenu != null)) + { + if (this.mOptionsMenuInvalidated) + { + this.mOptionsMenuInvalidated = false; + paramMenu.clear(); + onCreatePanelMenu(paramInt, paramMenu); + } + boolean bool1 = bool2; + if ((super.onPreparePanel(paramInt, paramView, paramMenu) | this.mFragments.dispatchPrepareOptionsMenu(paramMenu))) + { + bool1 = bool2; + if (paramMenu.hasVisibleItems()) { + bool1 = true; + } + } + return bool1; + } + return super.onPreparePanel(paramInt, paramView, paramMenu); + } + + void onReallyStop() + { + if (this.mLoadersStarted) + { + this.mLoadersStarted = false; + if (this.mLoaderManager != null) + { + if (this.mRetaining) { + break label41; + } + this.mLoaderManager.doStop(); + } + } + for (;;) + { + this.mFragments.dispatchReallyStop(); + return; + label41: + this.mLoaderManager.doRetain(); + } + } + + protected void onResume() + { + super.onResume(); + this.mHandler.sendEmptyMessage(2); + this.mResumed = true; + this.mFragments.execPendingActions(); + } + + protected void onResumeFragments() + { + this.mFragments.dispatchResume(); + } + + public Object onRetainCustomNonConfigurationInstance() + { + return null; + } + + public final Object onRetainNonConfigurationInstance() + { + if (this.mStopped) { + doReallyStop(true); + } + Object localObject1 = onRetainCustomNonConfigurationInstance(); + ArrayList localArrayList = this.mFragments.retainNonConfig(); + int j = 0; + int i = 0; + int k = j; + if (this.mAllLoaderManagers != null) + { + localObject2 = new LoaderManagerImpl[this.mAllLoaderManagers.size()]; + this.mAllLoaderManagers.values().toArray((Object[])localObject2); + k = j; + if (localObject2 != null) + { + j = 0; + k = i; + if (j < localObject2.length) + { + Object localObject3 = localObject2[j]; + if (localObject3.mRetaining) { + i = 1; + } + for (;;) + { + j += 1; + break; + localObject3.doDestroy(); + this.mAllLoaderManagers.remove(localObject3.mWho); + } + } + } + } + if ((localArrayList == null) && (k == 0) && (localObject1 == null)) { + return null; + } + Object localObject2 = new NonConfigurationInstances(); + ((NonConfigurationInstances)localObject2).activity = null; + ((NonConfigurationInstances)localObject2).custom = localObject1; + ((NonConfigurationInstances)localObject2).children = null; + ((NonConfigurationInstances)localObject2).fragments = localArrayList; + ((NonConfigurationInstances)localObject2).loaders = this.mAllLoaderManagers; + return localObject2; + } + + protected void onSaveInstanceState(Bundle paramBundle) + { + super.onSaveInstanceState(paramBundle); + Parcelable localParcelable = this.mFragments.saveAllState(); + if (localParcelable != null) { + paramBundle.putParcelable("android:support:fragments", localParcelable); + } + } + + protected void onStart() + { + super.onStart(); + this.mStopped = false; + this.mReallyStopped = false; + this.mHandler.removeMessages(1); + if (!this.mCreated) + { + this.mCreated = true; + this.mFragments.dispatchActivityCreated(); + } + this.mFragments.noteStateNotSaved(); + this.mFragments.execPendingActions(); + if (!this.mLoadersStarted) + { + this.mLoadersStarted = true; + if (this.mLoaderManager == null) { + break label157; + } + this.mLoaderManager.doStart(); + } + for (;;) + { + this.mCheckedForLoaderManager = true; + this.mFragments.dispatchStart(); + if (this.mAllLoaderManagers == null) { + break; + } + LoaderManagerImpl[] arrayOfLoaderManagerImpl = new LoaderManagerImpl[this.mAllLoaderManagers.size()]; + this.mAllLoaderManagers.values().toArray(arrayOfLoaderManagerImpl); + if (arrayOfLoaderManagerImpl == null) { + break; + } + int i = 0; + while (i < arrayOfLoaderManagerImpl.length) + { + LoaderManagerImpl localLoaderManagerImpl = arrayOfLoaderManagerImpl[i]; + localLoaderManagerImpl.finishRetain(); + localLoaderManagerImpl.doReportStart(); + i += 1; + } + label157: + if (!this.mCheckedForLoaderManager) + { + this.mLoaderManager = getLoaderManager(null, this.mLoadersStarted, false); + if ((this.mLoaderManager != null) && (!this.mLoaderManager.mStarted)) { + this.mLoaderManager.doStart(); + } + } + } + } + + protected void onStop() + { + super.onStop(); + this.mStopped = true; + this.mHandler.sendEmptyMessage(1); + this.mFragments.dispatchStop(); + } + + public void startActivityForResult(Intent paramIntent, int paramInt) + { + if ((paramInt != -1) && ((0xFFFF0000 & paramInt) != 0)) { + throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); + } + super.startActivityForResult(paramIntent, paramInt); + } + + public void startActivityFromFragment(Fragment paramFragment, Intent paramIntent, int paramInt) + { + if (paramInt == -1) + { + super.startActivityForResult(paramIntent, -1); + return; + } + if ((0xFFFF0000 & paramInt) != 0) { + throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); + } + super.startActivityForResult(paramIntent, (paramFragment.mIndex + 1 << 16) + (0xFFFF & paramInt)); + } + + public void supportInvalidateOptionsMenu() + { + if (Build.VERSION.SDK_INT >= 11) + { + ActivityCompatHoneycomb.invalidateOptionsMenu(this); + return; + } + this.mOptionsMenuInvalidated = true; + } + + static class FragmentTag + { + public static final int[] Fragment = { 16842755, 16842960, 16842961 }; + public static final int Fragment_id = 1; + public static final int Fragment_name = 0; + public static final int Fragment_tag = 2; + } + + static final class NonConfigurationInstances + { + Object activity; + HashMap children; + Object custom; + ArrayList fragments; + HashMap loaders; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentContainer.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentContainer.java new file mode 100755 index 00000000000..967b7b6117b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentContainer.java @@ -0,0 +1,14 @@ +package android.support.v4.app; + +import android.view.View; + +abstract interface FragmentContainer +{ + public abstract View findViewById(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentContainer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentManager.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManager.java new file mode 100755 index 00000000000..dd5acc1c361 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManager.java @@ -0,0 +1,83 @@ +package android.support.v4.app; + +import android.os.Bundle; +import java.io.FileDescriptor; +import java.io.PrintWriter; + +public abstract class FragmentManager +{ + public static final int POP_BACK_STACK_INCLUSIVE = 1; + + public static void enableDebugLogging(boolean paramBoolean) + { + FragmentManagerImpl.DEBUG = paramBoolean; + } + + public abstract void addOnBackStackChangedListener(OnBackStackChangedListener paramOnBackStackChangedListener); + + public abstract FragmentTransaction beginTransaction(); + + public abstract void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString); + + public abstract boolean executePendingTransactions(); + + public abstract Fragment findFragmentById(int paramInt); + + public abstract Fragment findFragmentByTag(String paramString); + + public abstract BackStackEntry getBackStackEntryAt(int paramInt); + + public abstract int getBackStackEntryCount(); + + public abstract Fragment getFragment(Bundle paramBundle, String paramString); + + @Deprecated + public FragmentTransaction openTransaction() + { + return beginTransaction(); + } + + public abstract void popBackStack(); + + public abstract void popBackStack(int paramInt1, int paramInt2); + + public abstract void popBackStack(String paramString, int paramInt); + + public abstract boolean popBackStackImmediate(); + + public abstract boolean popBackStackImmediate(int paramInt1, int paramInt2); + + public abstract boolean popBackStackImmediate(String paramString, int paramInt); + + public abstract void putFragment(Bundle paramBundle, String paramString, Fragment paramFragment); + + public abstract void removeOnBackStackChangedListener(OnBackStackChangedListener paramOnBackStackChangedListener); + + public abstract Fragment.SavedState saveFragmentInstanceState(Fragment paramFragment); + + public static abstract interface BackStackEntry + { + public abstract CharSequence getBreadCrumbShortTitle(); + + public abstract int getBreadCrumbShortTitleRes(); + + public abstract CharSequence getBreadCrumbTitle(); + + public abstract int getBreadCrumbTitleRes(); + + public abstract int getId(); + + public abstract String getName(); + } + + public static abstract interface OnBackStackChangedListener + { + public abstract void onBackStackChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerImpl.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerImpl.java new file mode 100755 index 00000000000..c6c397c6830 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerImpl.java @@ -0,0 +1,2298 @@ +package android.support.v4.app; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Parcelable; +import android.support.v4.util.DebugUtils; +import android.support.v4.util.LogWriter; +import android.util.Log; +import android.util.SparseArray; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager.LayoutParams; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.view.animation.AnimationSet; +import android.view.animation.AnimationUtils; +import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; +import android.view.animation.ScaleAnimation; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Arrays; + +final class FragmentManagerImpl + extends FragmentManager +{ + static final Interpolator ACCELERATE_CUBIC = new AccelerateInterpolator(1.5F); + static final Interpolator ACCELERATE_QUINT; + static final int ANIM_DUR = 220; + public static final int ANIM_STYLE_CLOSE_ENTER = 3; + public static final int ANIM_STYLE_CLOSE_EXIT = 4; + public static final int ANIM_STYLE_FADE_ENTER = 5; + public static final int ANIM_STYLE_FADE_EXIT = 6; + public static final int ANIM_STYLE_OPEN_ENTER = 1; + public static final int ANIM_STYLE_OPEN_EXIT = 2; + static boolean DEBUG = false; + static final Interpolator DECELERATE_CUBIC; + static final Interpolator DECELERATE_QUINT; + static final boolean HONEYCOMB; + static final String TAG = "FragmentManager"; + static final String TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state"; + static final String TARGET_STATE_TAG = "android:target_state"; + static final String USER_VISIBLE_HINT_TAG = "android:user_visible_hint"; + static final String VIEW_STATE_TAG = "android:view_state"; + ArrayList mActive; + FragmentActivity mActivity; + ArrayList mAdded; + ArrayList mAvailBackStackIndices; + ArrayList mAvailIndices; + ArrayList mBackStack; + ArrayList mBackStackChangeListeners; + ArrayList mBackStackIndices; + FragmentContainer mContainer; + ArrayList mCreatedMenus; + int mCurState = 0; + boolean mDestroyed; + Runnable mExecCommit = new Runnable() + { + public void run() + { + FragmentManagerImpl.this.execPendingActions(); + } + }; + boolean mExecutingActions; + boolean mHavePendingDeferredStart; + boolean mNeedMenuInvalidate; + String mNoTransactionsBecause; + Fragment mParent; + ArrayList mPendingActions; + SparseArray mStateArray = null; + Bundle mStateBundle = null; + boolean mStateSaved; + Runnable[] mTmpActions; + + static + { + boolean bool = false; + DEBUG = false; + if (Build.VERSION.SDK_INT >= 11) { + bool = true; + } + HONEYCOMB = bool; + DECELERATE_QUINT = new DecelerateInterpolator(2.5F); + DECELERATE_CUBIC = new DecelerateInterpolator(1.5F); + ACCELERATE_QUINT = new AccelerateInterpolator(2.5F); + } + + private void checkStateLoss() + { + if (this.mStateSaved) { + throw new IllegalStateException("Can not perform this action after onSaveInstanceState"); + } + if (this.mNoTransactionsBecause != null) { + throw new IllegalStateException("Can not perform this action inside of " + this.mNoTransactionsBecause); + } + } + + static Animation makeFadeAnimation(Context paramContext, float paramFloat1, float paramFloat2) + { + paramContext = new AlphaAnimation(paramFloat1, paramFloat2); + paramContext.setInterpolator(DECELERATE_CUBIC); + paramContext.setDuration(220L); + return paramContext; + } + + static Animation makeOpenCloseAnimation(Context paramContext, float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4) + { + paramContext = new AnimationSet(false); + Object localObject = new ScaleAnimation(paramFloat1, paramFloat2, paramFloat1, paramFloat2, 1, 0.5F, 1, 0.5F); + ((ScaleAnimation)localObject).setInterpolator(DECELERATE_QUINT); + ((ScaleAnimation)localObject).setDuration(220L); + paramContext.addAnimation((Animation)localObject); + localObject = new AlphaAnimation(paramFloat3, paramFloat4); + ((AlphaAnimation)localObject).setInterpolator(DECELERATE_CUBIC); + ((AlphaAnimation)localObject).setDuration(220L); + paramContext.addAnimation((Animation)localObject); + return paramContext; + } + + public static int reverseTransit(int paramInt) + { + switch (paramInt) + { + default: + return 0; + case 4097: + return 8194; + case 8194: + return 4097; + } + return 4099; + } + + private void throwException(RuntimeException paramRuntimeException) + { + Log.e("FragmentManager", paramRuntimeException.getMessage()); + Log.e("FragmentManager", "Activity state:"); + PrintWriter localPrintWriter = new PrintWriter(new LogWriter("FragmentManager")); + if (this.mActivity != null) {} + for (;;) + { + try + { + this.mActivity.dump(" ", null, localPrintWriter, new String[0]); + throw paramRuntimeException; + } + catch (Exception localException1) + { + Log.e("FragmentManager", "Failed dumping state", localException1); + continue; + } + try + { + dump(" ", null, localException1, new String[0]); + } + catch (Exception localException2) + { + Log.e("FragmentManager", "Failed dumping state", localException2); + } + } + } + + public static int transitToStyleIndex(int paramInt, boolean paramBoolean) + { + switch (paramInt) + { + default: + return -1; + case 4097: + if (paramBoolean) { + return 1; + } + return 2; + case 8194: + if (paramBoolean) { + return 3; + } + return 4; + } + if (paramBoolean) { + return 5; + } + return 6; + } + + void addBackStackState(BackStackRecord paramBackStackRecord) + { + if (this.mBackStack == null) { + this.mBackStack = new ArrayList(); + } + this.mBackStack.add(paramBackStackRecord); + reportBackStackChanged(); + } + + public void addFragment(Fragment paramFragment, boolean paramBoolean) + { + if (this.mAdded == null) { + this.mAdded = new ArrayList(); + } + if (DEBUG) { + Log.v("FragmentManager", "add: " + paramFragment); + } + makeActive(paramFragment); + if (!paramFragment.mDetached) + { + if (this.mAdded.contains(paramFragment)) { + throw new IllegalStateException("Fragment already added: " + paramFragment); + } + this.mAdded.add(paramFragment); + paramFragment.mAdded = true; + paramFragment.mRemoving = false; + if ((paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + if (paramBoolean) { + moveToState(paramFragment); + } + } + } + + public void addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener paramOnBackStackChangedListener) + { + if (this.mBackStackChangeListeners == null) { + this.mBackStackChangeListeners = new ArrayList(); + } + this.mBackStackChangeListeners.add(paramOnBackStackChangedListener); + } + + public int allocBackStackIndex(BackStackRecord paramBackStackRecord) + { + try + { + if ((this.mAvailBackStackIndices == null) || (this.mAvailBackStackIndices.size() <= 0)) + { + if (this.mBackStackIndices == null) { + this.mBackStackIndices = new ArrayList(); + } + i = this.mBackStackIndices.size(); + if (DEBUG) { + Log.v("FragmentManager", "Setting back stack index " + i + " to " + paramBackStackRecord); + } + this.mBackStackIndices.add(paramBackStackRecord); + return i; + } + int i = ((Integer)this.mAvailBackStackIndices.remove(this.mAvailBackStackIndices.size() - 1)).intValue(); + if (DEBUG) { + Log.v("FragmentManager", "Adding back stack index " + i + " with " + paramBackStackRecord); + } + this.mBackStackIndices.set(i, paramBackStackRecord); + return i; + } + finally {} + } + + public void attachActivity(FragmentActivity paramFragmentActivity, FragmentContainer paramFragmentContainer, Fragment paramFragment) + { + if (this.mActivity != null) { + throw new IllegalStateException("Already attached"); + } + this.mActivity = paramFragmentActivity; + this.mContainer = paramFragmentContainer; + this.mParent = paramFragment; + } + + public void attachFragment(Fragment paramFragment, int paramInt1, int paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "attach: " + paramFragment); + } + if (paramFragment.mDetached) + { + paramFragment.mDetached = false; + if (!paramFragment.mAdded) + { + if (this.mAdded == null) { + this.mAdded = new ArrayList(); + } + if (this.mAdded.contains(paramFragment)) { + throw new IllegalStateException("Fragment already added: " + paramFragment); + } + if (DEBUG) { + Log.v("FragmentManager", "add from attach: " + paramFragment); + } + this.mAdded.add(paramFragment); + paramFragment.mAdded = true; + if ((paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + moveToState(paramFragment, this.mCurState, paramInt1, paramInt2, false); + } + } + } + + public FragmentTransaction beginTransaction() + { + return new BackStackRecord(this); + } + + public void detachFragment(Fragment paramFragment, int paramInt1, int paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "detach: " + paramFragment); + } + if (!paramFragment.mDetached) + { + paramFragment.mDetached = true; + if (paramFragment.mAdded) + { + if (this.mAdded != null) + { + if (DEBUG) { + Log.v("FragmentManager", "remove from detach: " + paramFragment); + } + this.mAdded.remove(paramFragment); + } + if ((paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + paramFragment.mAdded = false; + moveToState(paramFragment, 1, paramInt1, paramInt2, false); + } + } + } + + public void dispatchActivityCreated() + { + this.mStateSaved = false; + moveToState(2, false); + } + + public void dispatchConfigurationChanged(Configuration paramConfiguration) + { + if (this.mAdded != null) + { + int i = 0; + while (i < this.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mAdded.get(i); + if (localFragment != null) { + localFragment.performConfigurationChanged(paramConfiguration); + } + i += 1; + } + } + } + + public boolean dispatchContextItemSelected(MenuItem paramMenuItem) + { + if (this.mAdded != null) + { + int i = 0; + while (i < this.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mAdded.get(i); + if ((localFragment != null) && (localFragment.performContextItemSelected(paramMenuItem))) { + return true; + } + i += 1; + } + } + return false; + } + + public void dispatchCreate() + { + this.mStateSaved = false; + moveToState(1, false); + } + + public boolean dispatchCreateOptionsMenu(Menu paramMenu, MenuInflater paramMenuInflater) + { + boolean bool2 = false; + boolean bool1 = false; + Object localObject2 = null; + Object localObject1 = null; + int i; + if (this.mAdded != null) + { + i = 0; + for (;;) + { + localObject2 = localObject1; + bool2 = bool1; + if (i >= this.mAdded.size()) { + break; + } + Fragment localFragment = (Fragment)this.mAdded.get(i); + localObject2 = localObject1; + bool2 = bool1; + if (localFragment != null) + { + localObject2 = localObject1; + bool2 = bool1; + if (localFragment.performCreateOptionsMenu(paramMenu, paramMenuInflater)) + { + bool2 = true; + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = new ArrayList(); + } + ((ArrayList)localObject2).add(localFragment); + } + } + i += 1; + localObject1 = localObject2; + bool1 = bool2; + } + } + if (this.mCreatedMenus != null) + { + i = 0; + while (i < this.mCreatedMenus.size()) + { + paramMenu = (Fragment)this.mCreatedMenus.get(i); + if ((localObject2 == null) || (!((ArrayList)localObject2).contains(paramMenu))) { + paramMenu.onDestroyOptionsMenu(); + } + i += 1; + } + } + this.mCreatedMenus = ((ArrayList)localObject2); + return bool2; + } + + public void dispatchDestroy() + { + this.mDestroyed = true; + execPendingActions(); + moveToState(0, false); + this.mActivity = null; + this.mContainer = null; + this.mParent = null; + } + + public void dispatchDestroyView() + { + moveToState(1, false); + } + + public void dispatchLowMemory() + { + if (this.mAdded != null) + { + int i = 0; + while (i < this.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mAdded.get(i); + if (localFragment != null) { + localFragment.performLowMemory(); + } + i += 1; + } + } + } + + public boolean dispatchOptionsItemSelected(MenuItem paramMenuItem) + { + if (this.mAdded != null) + { + int i = 0; + while (i < this.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mAdded.get(i); + if ((localFragment != null) && (localFragment.performOptionsItemSelected(paramMenuItem))) { + return true; + } + i += 1; + } + } + return false; + } + + public void dispatchOptionsMenuClosed(Menu paramMenu) + { + if (this.mAdded != null) + { + int i = 0; + while (i < this.mAdded.size()) + { + Fragment localFragment = (Fragment)this.mAdded.get(i); + if (localFragment != null) { + localFragment.performOptionsMenuClosed(paramMenu); + } + i += 1; + } + } + } + + public void dispatchPause() + { + moveToState(4, false); + } + + public boolean dispatchPrepareOptionsMenu(Menu paramMenu) + { + boolean bool2 = false; + boolean bool1 = false; + if (this.mAdded != null) + { + int i = 0; + for (;;) + { + bool2 = bool1; + if (i >= this.mAdded.size()) { + break; + } + Fragment localFragment = (Fragment)this.mAdded.get(i); + bool2 = bool1; + if (localFragment != null) + { + bool2 = bool1; + if (localFragment.performPrepareOptionsMenu(paramMenu)) { + bool2 = true; + } + } + i += 1; + bool1 = bool2; + } + } + return bool2; + } + + public void dispatchReallyStop() + { + moveToState(2, false); + } + + public void dispatchResume() + { + this.mStateSaved = false; + moveToState(5, false); + } + + public void dispatchStart() + { + this.mStateSaved = false; + moveToState(4, false); + } + + public void dispatchStop() + { + this.mStateSaved = true; + moveToState(3, false); + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + String str = paramString + " "; + int j; + int i; + Object localObject; + if (this.mActive != null) + { + j = this.mActive.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("Active Fragments in "); + paramPrintWriter.print(Integer.toHexString(System.identityHashCode(this))); + paramPrintWriter.println(":"); + i = 0; + while (i < j) + { + localObject = (Fragment)this.mActive.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(localObject); + if (localObject != null) { + ((Fragment)localObject).dump(str, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + i += 1; + } + } + } + if (this.mAdded != null) + { + j = this.mAdded.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Added Fragments:"); + i = 0; + while (i < j) + { + localObject = (Fragment)this.mAdded.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(((Fragment)localObject).toString()); + i += 1; + } + } + } + if (this.mCreatedMenus != null) + { + j = this.mCreatedMenus.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Fragments Created Menus:"); + i = 0; + while (i < j) + { + localObject = (Fragment)this.mCreatedMenus.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(((Fragment)localObject).toString()); + i += 1; + } + } + } + if (this.mBackStack != null) + { + j = this.mBackStack.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Back Stack:"); + i = 0; + while (i < j) + { + localObject = (BackStackRecord)this.mBackStack.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(((BackStackRecord)localObject).toString()); + ((BackStackRecord)localObject).dump(str, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + i += 1; + } + } + } + try + { + if (this.mBackStackIndices != null) + { + j = this.mBackStackIndices.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Back Stack Indices:"); + i = 0; + while (i < j) + { + paramFileDescriptor = (BackStackRecord)this.mBackStackIndices.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(paramFileDescriptor); + i += 1; + } + } + } + if ((this.mAvailBackStackIndices != null) && (this.mAvailBackStackIndices.size() > 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mAvailBackStackIndices: "); + paramPrintWriter.println(Arrays.toString(this.mAvailBackStackIndices.toArray())); + } + if (this.mPendingActions != null) + { + j = this.mPendingActions.size(); + if (j > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Pending Actions:"); + i = 0; + while (i < j) + { + paramFileDescriptor = (Runnable)this.mPendingActions.get(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(i); + paramPrintWriter.print(": "); + paramPrintWriter.println(paramFileDescriptor); + i += 1; + } + } + } + paramPrintWriter.print(paramString); + } + finally {} + paramPrintWriter.println("FragmentManager misc state:"); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mActivity="); + paramPrintWriter.println(this.mActivity); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mContainer="); + paramPrintWriter.println(this.mContainer); + if (this.mParent != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mParent="); + paramPrintWriter.println(this.mParent); + } + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mCurState="); + paramPrintWriter.print(this.mCurState); + paramPrintWriter.print(" mStateSaved="); + paramPrintWriter.print(this.mStateSaved); + paramPrintWriter.print(" mDestroyed="); + paramPrintWriter.println(this.mDestroyed); + if (this.mNeedMenuInvalidate) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mNeedMenuInvalidate="); + paramPrintWriter.println(this.mNeedMenuInvalidate); + } + if (this.mNoTransactionsBecause != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mNoTransactionsBecause="); + paramPrintWriter.println(this.mNoTransactionsBecause); + } + if ((this.mAvailIndices != null) && (this.mAvailIndices.size() > 0)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print(" mAvailIndices: "); + paramPrintWriter.println(Arrays.toString(this.mAvailIndices.toArray())); + } + } + + public void enqueueAction(Runnable paramRunnable, boolean paramBoolean) + { + if (!paramBoolean) { + checkStateLoss(); + } + try + { + if (this.mActivity == null) { + throw new IllegalStateException("Activity has been destroyed"); + } + } + finally {} + if (this.mPendingActions == null) { + this.mPendingActions = new ArrayList(); + } + this.mPendingActions.add(paramRunnable); + if (this.mPendingActions.size() == 1) + { + this.mActivity.mHandler.removeCallbacks(this.mExecCommit); + this.mActivity.mHandler.post(this.mExecCommit); + } + } + + public boolean execPendingActions() + { + if (this.mExecutingActions) { + throw new IllegalStateException("Recursive entry to executePendingTransactions"); + } + if (Looper.myLooper() != this.mActivity.mHandler.getLooper()) { + throw new IllegalStateException("Must be called from main thread of process"); + } + int j; + for (boolean bool = false;; bool = true) { + try + { + if ((this.mPendingActions == null) || (this.mPendingActions.size() == 0)) + { + if (!this.mHavePendingDeferredStart) { + break label276; + } + j = 0; + i = 0; + while (i < this.mActive.size()) + { + Fragment localFragment = (Fragment)this.mActive.get(i); + int k = j; + int m; + if (localFragment != null) + { + k = j; + if (localFragment.mLoaderManager != null) { + m = j | localFragment.mLoaderManager.hasRunningLoaders(); + } + } + i += 1; + j = m; + } + } + j = this.mPendingActions.size(); + if ((this.mTmpActions == null) || (this.mTmpActions.length < j)) { + this.mTmpActions = new Runnable[j]; + } + this.mPendingActions.toArray(this.mTmpActions); + this.mPendingActions.clear(); + this.mActivity.mHandler.removeCallbacks(this.mExecCommit); + this.mExecutingActions = true; + int i = 0; + while (i < j) + { + this.mTmpActions[i].run(); + this.mTmpActions[i] = null; + i += 1; + } + this.mExecutingActions = false; + } + finally {} + } + if (j == 0) + { + this.mHavePendingDeferredStart = false; + startPendingDeferredFragments(); + } + label276: + return bool; + } + + public boolean executePendingTransactions() + { + return execPendingActions(); + } + + public Fragment findFragmentById(int paramInt) + { + int i; + Object localObject; + if (this.mAdded != null) + { + i = this.mAdded.size() - 1; + while (i >= 0) + { + localObject = (Fragment)this.mAdded.get(i); + if ((localObject != null) && (((Fragment)localObject).mFragmentId == paramInt)) { + return localObject; + } + i -= 1; + } + } + if (this.mActive != null) + { + i = this.mActive.size() - 1; + for (;;) + { + if (i < 0) { + break label112; + } + Fragment localFragment = (Fragment)this.mActive.get(i); + if (localFragment != null) + { + localObject = localFragment; + if (localFragment.mFragmentId == paramInt) { + break; + } + } + i -= 1; + } + } + label112: + return null; + } + + public Fragment findFragmentByTag(String paramString) + { + int i; + Object localObject; + if ((this.mAdded != null) && (paramString != null)) + { + i = this.mAdded.size() - 1; + while (i >= 0) + { + localObject = (Fragment)this.mAdded.get(i); + if ((localObject != null) && (paramString.equals(((Fragment)localObject).mTag))) { + return localObject; + } + i -= 1; + } + } + if ((this.mActive != null) && (paramString != null)) + { + i = this.mActive.size() - 1; + for (;;) + { + if (i < 0) { + break label126; + } + Fragment localFragment = (Fragment)this.mActive.get(i); + if (localFragment != null) + { + localObject = localFragment; + if (paramString.equals(localFragment.mTag)) { + break; + } + } + i -= 1; + } + } + label126: + return null; + } + + public Fragment findFragmentByWho(String paramString) + { + if ((this.mActive != null) && (paramString != null)) + { + int i = this.mActive.size() - 1; + while (i >= 0) + { + Fragment localFragment = (Fragment)this.mActive.get(i); + if (localFragment != null) + { + localFragment = localFragment.findFragmentByWho(paramString); + if (localFragment != null) { + return localFragment; + } + } + i -= 1; + } + } + return null; + } + + public void freeBackStackIndex(int paramInt) + { + try + { + this.mBackStackIndices.set(paramInt, null); + if (this.mAvailBackStackIndices == null) { + this.mAvailBackStackIndices = new ArrayList(); + } + if (DEBUG) { + Log.v("FragmentManager", "Freeing back stack index " + paramInt); + } + this.mAvailBackStackIndices.add(Integer.valueOf(paramInt)); + return; + } + finally {} + } + + public FragmentManager.BackStackEntry getBackStackEntryAt(int paramInt) + { + return (FragmentManager.BackStackEntry)this.mBackStack.get(paramInt); + } + + public int getBackStackEntryCount() + { + if (this.mBackStack != null) { + return this.mBackStack.size(); + } + return 0; + } + + public Fragment getFragment(Bundle paramBundle, String paramString) + { + int i = paramBundle.getInt(paramString, -1); + if (i == -1) { + paramBundle = null; + } + Fragment localFragment; + do + { + return paramBundle; + if (i >= this.mActive.size()) { + throwException(new IllegalStateException("Fragement no longer exists for key " + paramString + ": index " + i)); + } + localFragment = (Fragment)this.mActive.get(i); + paramBundle = localFragment; + } while (localFragment != null); + throwException(new IllegalStateException("Fragement no longer exists for key " + paramString + ": index " + i)); + return localFragment; + } + + public void hideFragment(Fragment paramFragment, int paramInt1, int paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "hide: " + paramFragment); + } + if (!paramFragment.mHidden) + { + paramFragment.mHidden = true; + if (paramFragment.mView != null) + { + Animation localAnimation = loadAnimation(paramFragment, paramInt1, true, paramInt2); + if (localAnimation != null) { + paramFragment.mView.startAnimation(localAnimation); + } + paramFragment.mView.setVisibility(8); + } + if ((paramFragment.mAdded) && (paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + paramFragment.onHiddenChanged(true); + } + } + + Animation loadAnimation(Fragment paramFragment, int paramInt1, boolean paramBoolean, int paramInt2) + { + Animation localAnimation = paramFragment.onCreateAnimation(paramInt1, paramBoolean, paramFragment.mNextAnim); + if (localAnimation != null) { + return localAnimation; + } + if (paramFragment.mNextAnim != 0) + { + paramFragment = AnimationUtils.loadAnimation(this.mActivity, paramFragment.mNextAnim); + if (paramFragment != null) { + return paramFragment; + } + } + if (paramInt1 == 0) { + return null; + } + paramInt1 = transitToStyleIndex(paramInt1, paramBoolean); + if (paramInt1 < 0) { + return null; + } + switch (paramInt1) + { + default: + paramInt1 = paramInt2; + if (paramInt2 == 0) + { + paramInt1 = paramInt2; + if (this.mActivity.getWindow() != null) { + paramInt1 = this.mActivity.getWindow().getAttributes().windowAnimations; + } + } + if (paramInt1 == 0) { + return null; + } + break; + case 1: + return makeOpenCloseAnimation(this.mActivity, 1.125F, 1.0F, 0.0F, 1.0F); + case 2: + return makeOpenCloseAnimation(this.mActivity, 1.0F, 0.975F, 1.0F, 0.0F); + case 3: + return makeOpenCloseAnimation(this.mActivity, 0.975F, 1.0F, 0.0F, 1.0F); + case 4: + return makeOpenCloseAnimation(this.mActivity, 1.0F, 1.075F, 1.0F, 0.0F); + case 5: + return makeFadeAnimation(this.mActivity, 0.0F, 1.0F); + case 6: + return makeFadeAnimation(this.mActivity, 1.0F, 0.0F); + } + return null; + } + + void makeActive(Fragment paramFragment) + { + if (paramFragment.mIndex >= 0) {} + for (;;) + { + return; + if ((this.mAvailIndices == null) || (this.mAvailIndices.size() <= 0)) + { + if (this.mActive == null) { + this.mActive = new ArrayList(); + } + paramFragment.setIndex(this.mActive.size(), this.mParent); + this.mActive.add(paramFragment); + } + while (DEBUG) + { + Log.v("FragmentManager", "Allocated fragment index " + paramFragment); + return; + paramFragment.setIndex(((Integer)this.mAvailIndices.remove(this.mAvailIndices.size() - 1)).intValue(), this.mParent); + this.mActive.set(paramFragment.mIndex, paramFragment); + } + } + } + + void makeInactive(Fragment paramFragment) + { + if (paramFragment.mIndex < 0) { + return; + } + if (DEBUG) { + Log.v("FragmentManager", "Freeing fragment index " + paramFragment); + } + this.mActive.set(paramFragment.mIndex, null); + if (this.mAvailIndices == null) { + this.mAvailIndices = new ArrayList(); + } + this.mAvailIndices.add(Integer.valueOf(paramFragment.mIndex)); + this.mActivity.invalidateSupportFragment(paramFragment.mWho); + paramFragment.initState(); + } + + void moveToState(int paramInt1, int paramInt2, int paramInt3, boolean paramBoolean) + { + if ((this.mActivity == null) && (paramInt1 != 0)) { + throw new IllegalStateException("No activity"); + } + if ((!paramBoolean) && (this.mCurState == paramInt1)) {} + do + { + do + { + return; + this.mCurState = paramInt1; + } while (this.mActive == null); + boolean bool1 = false; + int i = 0; + while (i < this.mActive.size()) + { + Fragment localFragment = (Fragment)this.mActive.get(i); + boolean bool2 = bool1; + if (localFragment != null) + { + moveToState(localFragment, paramInt1, paramInt2, paramInt3, false); + bool2 = bool1; + if (localFragment.mLoaderManager != null) { + bool2 = bool1 | localFragment.mLoaderManager.hasRunningLoaders(); + } + } + i += 1; + bool1 = bool2; + } + if (!bool1) { + startPendingDeferredFragments(); + } + } while ((!this.mNeedMenuInvalidate) || (this.mActivity == null) || (this.mCurState != 5)); + this.mActivity.supportInvalidateOptionsMenu(); + this.mNeedMenuInvalidate = false; + } + + void moveToState(int paramInt, boolean paramBoolean) + { + moveToState(paramInt, 0, 0, paramBoolean); + } + + void moveToState(Fragment paramFragment) + { + moveToState(paramFragment, this.mCurState, 0, 0, false); + } + + void moveToState(final Fragment paramFragment, int paramInt1, int paramInt2, int paramInt3, boolean paramBoolean) + { + int i; + if (paramFragment.mAdded) + { + i = paramInt1; + if (!paramFragment.mDetached) {} + } + else + { + i = paramInt1; + if (paramInt1 > 1) { + i = 1; + } + } + int j = i; + if (paramFragment.mRemoving) + { + j = i; + if (i > paramFragment.mState) { + j = paramFragment.mState; + } + } + paramInt1 = j; + if (paramFragment.mDeferStart) + { + paramInt1 = j; + if (paramFragment.mState < 4) + { + paramInt1 = j; + if (j > 3) { + paramInt1 = 3; + } + } + } + int k; + if (paramFragment.mState < paramInt1) + { + if ((paramFragment.mFromLayout) && (!paramFragment.mInLayout)) { + return; + } + if (paramFragment.mAnimatingAway != null) + { + paramFragment.mAnimatingAway = null; + moveToState(paramFragment, paramFragment.mStateAfterAnimating, 0, 0, true); + } + i = paramInt1; + k = paramInt1; + j = paramInt1; + switch (paramFragment.mState) + { + default: + i = paramInt1; + } + } + for (;;) + { + paramFragment.mState = i; + return; + if (DEBUG) { + Log.v("FragmentManager", "moveto CREATED: " + paramFragment); + } + j = paramInt1; + if (paramFragment.mSavedFragmentState != null) + { + paramFragment.mSavedViewState = paramFragment.mSavedFragmentState.getSparseParcelableArray("android:view_state"); + paramFragment.mTarget = getFragment(paramFragment.mSavedFragmentState, "android:target_state"); + if (paramFragment.mTarget != null) { + paramFragment.mTargetRequestCode = paramFragment.mSavedFragmentState.getInt("android:target_req_state", 0); + } + paramFragment.mUserVisibleHint = paramFragment.mSavedFragmentState.getBoolean("android:user_visible_hint", true); + j = paramInt1; + if (!paramFragment.mUserVisibleHint) + { + paramFragment.mDeferStart = true; + j = paramInt1; + if (paramInt1 > 3) { + j = 3; + } + } + } + paramFragment.mActivity = this.mActivity; + paramFragment.mParentFragment = this.mParent; + if (this.mParent != null) {} + for (Object localObject1 = this.mParent.mChildFragmentManager;; localObject1 = this.mActivity.mFragments) + { + paramFragment.mFragmentManager = ((FragmentManagerImpl)localObject1); + paramFragment.mCalled = false; + paramFragment.onAttach(this.mActivity); + if (paramFragment.mCalled) { + break; + } + throw new SuperNotCalledException("Fragment " + paramFragment + " did not call through to super.onAttach()"); + } + if (paramFragment.mParentFragment == null) { + this.mActivity.onAttachFragment(paramFragment); + } + if (!paramFragment.mRetaining) { + paramFragment.performCreate(paramFragment.mSavedFragmentState); + } + paramFragment.mRetaining = false; + i = j; + label553: + Object localObject2; + if (paramFragment.mFromLayout) + { + paramFragment.mView = paramFragment.performCreateView(paramFragment.getLayoutInflater(paramFragment.mSavedFragmentState), null, paramFragment.mSavedFragmentState); + if (paramFragment.mView != null) + { + paramFragment.mInnerView = paramFragment.mView; + paramFragment.mView = NoSaveStateFrameLayout.wrap(paramFragment.mView); + if (paramFragment.mHidden) { + paramFragment.mView.setVisibility(8); + } + paramFragment.onViewCreated(paramFragment.mView, paramFragment.mSavedFragmentState); + i = j; + } + } + else + { + k = i; + if (i > 1) + { + if (DEBUG) { + Log.v("FragmentManager", "moveto ACTIVITY_CREATED: " + paramFragment); + } + if (!paramFragment.mFromLayout) + { + localObject1 = null; + if (paramFragment.mContainerId != 0) + { + localObject2 = (ViewGroup)this.mContainer.findViewById(paramFragment.mContainerId); + localObject1 = localObject2; + if (localObject2 == null) + { + localObject1 = localObject2; + if (!paramFragment.mRestored) + { + throwException(new IllegalArgumentException("No view found for id 0x" + Integer.toHexString(paramFragment.mContainerId) + " (" + paramFragment.getResources().getResourceName(paramFragment.mContainerId) + ") for fragment " + paramFragment)); + localObject1 = localObject2; + } + } + } + paramFragment.mContainer = ((ViewGroup)localObject1); + paramFragment.mView = paramFragment.performCreateView(paramFragment.getLayoutInflater(paramFragment.mSavedFragmentState), (ViewGroup)localObject1, paramFragment.mSavedFragmentState); + if (paramFragment.mView == null) { + break label1004; + } + paramFragment.mInnerView = paramFragment.mView; + paramFragment.mView = NoSaveStateFrameLayout.wrap(paramFragment.mView); + if (localObject1 != null) + { + localObject2 = loadAnimation(paramFragment, paramInt2, true, paramInt3); + if (localObject2 != null) { + paramFragment.mView.startAnimation((Animation)localObject2); + } + ((ViewGroup)localObject1).addView(paramFragment.mView); + } + if (paramFragment.mHidden) { + paramFragment.mView.setVisibility(8); + } + paramFragment.onViewCreated(paramFragment.mView, paramFragment.mSavedFragmentState); + } + } + } + for (;;) + { + paramFragment.performActivityCreated(paramFragment.mSavedFragmentState); + if (paramFragment.mView != null) { + paramFragment.restoreViewState(paramFragment.mSavedFragmentState); + } + paramFragment.mSavedFragmentState = null; + k = i; + j = k; + if (k > 3) + { + if (DEBUG) { + Log.v("FragmentManager", "moveto STARTED: " + paramFragment); + } + paramFragment.performStart(); + j = k; + } + i = j; + if (j <= 4) { + break; + } + if (DEBUG) { + Log.v("FragmentManager", "moveto RESUMED: " + paramFragment); + } + paramFragment.mResumed = true; + paramFragment.performResume(); + paramFragment.mSavedFragmentState = null; + paramFragment.mSavedViewState = null; + i = j; + break; + paramFragment.mInnerView = null; + i = j; + break label553; + label1004: + paramFragment.mInnerView = null; + } + i = paramInt1; + if (paramFragment.mState > paramInt1) { + switch (paramFragment.mState) + { + default: + i = paramInt1; + break; + case 1: + case 5: + case 4: + case 3: + case 2: + for (;;) + { + i = paramInt1; + if (paramInt1 >= 1) { + break; + } + if ((this.mDestroyed) && (paramFragment.mAnimatingAway != null)) + { + localObject1 = paramFragment.mAnimatingAway; + paramFragment.mAnimatingAway = null; + ((View)localObject1).clearAnimation(); + } + if (paramFragment.mAnimatingAway == null) { + break label1440; + } + paramFragment.mStateAfterAnimating = paramInt1; + i = 1; + break; + if (paramInt1 < 5) + { + if (DEBUG) { + Log.v("FragmentManager", "movefrom RESUMED: " + paramFragment); + } + paramFragment.performPause(); + paramFragment.mResumed = false; + } + if (paramInt1 < 4) + { + if (DEBUG) { + Log.v("FragmentManager", "movefrom STARTED: " + paramFragment); + } + paramFragment.performStop(); + } + if (paramInt1 < 3) + { + if (DEBUG) { + Log.v("FragmentManager", "movefrom STOPPED: " + paramFragment); + } + paramFragment.performReallyStop(); + } + if (paramInt1 < 2) + { + if (DEBUG) { + Log.v("FragmentManager", "movefrom ACTIVITY_CREATED: " + paramFragment); + } + if ((paramFragment.mView != null) && (!this.mActivity.isFinishing()) && (paramFragment.mSavedViewState == null)) { + saveFragmentViewState(paramFragment); + } + paramFragment.performDestroyView(); + if ((paramFragment.mView != null) && (paramFragment.mContainer != null)) + { + localObject2 = null; + localObject1 = localObject2; + if (this.mCurState > 0) + { + localObject1 = localObject2; + if (!this.mDestroyed) { + localObject1 = loadAnimation(paramFragment, paramInt2, false, paramInt3); + } + } + if (localObject1 != null) + { + paramFragment.mAnimatingAway = paramFragment.mView; + paramFragment.mStateAfterAnimating = paramInt1; + ((Animation)localObject1).setAnimationListener(new Animation.AnimationListener() + { + public void onAnimationEnd(Animation paramAnonymousAnimation) + { + if (paramFragment.mAnimatingAway != null) + { + paramFragment.mAnimatingAway = null; + FragmentManagerImpl.this.moveToState(paramFragment, paramFragment.mStateAfterAnimating, 0, 0, false); + } + } + + public void onAnimationRepeat(Animation paramAnonymousAnimation) {} + + public void onAnimationStart(Animation paramAnonymousAnimation) {} + }); + paramFragment.mView.startAnimation((Animation)localObject1); + } + paramFragment.mContainer.removeView(paramFragment.mView); + } + paramFragment.mContainer = null; + paramFragment.mView = null; + paramFragment.mInnerView = null; + } + } + label1440: + if (DEBUG) { + Log.v("FragmentManager", "movefrom CREATED: " + paramFragment); + } + if (!paramFragment.mRetaining) { + paramFragment.performDestroy(); + } + paramFragment.mCalled = false; + paramFragment.onDetach(); + if (!paramFragment.mCalled) { + throw new SuperNotCalledException("Fragment " + paramFragment + " did not call through to super.onDetach()"); + } + i = paramInt1; + if (!paramBoolean) { + if (!paramFragment.mRetaining) + { + makeInactive(paramFragment); + i = paramInt1; + } + else + { + paramFragment.mActivity = null; + paramFragment.mFragmentManager = null; + i = paramInt1; + } + } + break; + } + } + } + } + + public void noteStateNotSaved() + { + this.mStateSaved = false; + } + + public void performPendingDeferredStart(Fragment paramFragment) + { + if (paramFragment.mDeferStart) + { + if (this.mExecutingActions) { + this.mHavePendingDeferredStart = true; + } + } + else { + return; + } + paramFragment.mDeferStart = false; + moveToState(paramFragment, this.mCurState, 0, 0, false); + } + + public void popBackStack() + { + enqueueAction(new Runnable() + { + public void run() + { + FragmentManagerImpl.this.popBackStackState(FragmentManagerImpl.this.mActivity.mHandler, null, -1, 0); + } + }, false); + } + + public void popBackStack(final int paramInt1, final int paramInt2) + { + if (paramInt1 < 0) { + throw new IllegalArgumentException("Bad id: " + paramInt1); + } + enqueueAction(new Runnable() + { + public void run() + { + FragmentManagerImpl.this.popBackStackState(FragmentManagerImpl.this.mActivity.mHandler, null, paramInt1, paramInt2); + } + }, false); + } + + public void popBackStack(final String paramString, final int paramInt) + { + enqueueAction(new Runnable() + { + public void run() + { + FragmentManagerImpl.this.popBackStackState(FragmentManagerImpl.this.mActivity.mHandler, paramString, -1, paramInt); + } + }, false); + } + + public boolean popBackStackImmediate() + { + checkStateLoss(); + executePendingTransactions(); + return popBackStackState(this.mActivity.mHandler, null, -1, 0); + } + + public boolean popBackStackImmediate(int paramInt1, int paramInt2) + { + checkStateLoss(); + executePendingTransactions(); + if (paramInt1 < 0) { + throw new IllegalArgumentException("Bad id: " + paramInt1); + } + return popBackStackState(this.mActivity.mHandler, null, paramInt1, paramInt2); + } + + public boolean popBackStackImmediate(String paramString, int paramInt) + { + checkStateLoss(); + executePendingTransactions(); + return popBackStackState(this.mActivity.mHandler, paramString, -1, paramInt); + } + + boolean popBackStackState(Handler paramHandler, String paramString, int paramInt1, int paramInt2) + { + if (this.mBackStack == null) { + break label114; + } + label7: + do + { + return false; + if ((paramString != null) || (paramInt1 >= 0) || ((paramInt2 & 0x1) != 0)) { + break; + } + paramInt1 = this.mBackStack.size() - 1; + } while (paramInt1 < 0); + ((BackStackRecord)this.mBackStack.remove(paramInt1)).popFromBackStack(true); + reportBackStackChanged(); + for (;;) + { + return true; + int i = -1; + if ((paramString != null) || (paramInt1 >= 0)) + { + int j = this.mBackStack.size() - 1; + for (;;) + { + if (j >= 0) + { + paramHandler = (BackStackRecord)this.mBackStack.get(j); + if ((paramString == null) || (!paramString.equals(paramHandler.getName()))) {} + } + else + { + label114: + if (j < 0) { + break label7; + } + i = j; + if ((paramInt2 & 0x1) == 0) { + break label223; + } + paramInt2 = j - 1; + for (;;) + { + i = paramInt2; + if (paramInt2 < 0) { + break; + } + paramHandler = (BackStackRecord)this.mBackStack.get(paramInt2); + if ((paramString == null) || (!paramString.equals(paramHandler.getName()))) + { + i = paramInt2; + if (paramInt1 < 0) { + break; + } + i = paramInt2; + if (paramInt1 != paramHandler.mIndex) { + break; + } + } + paramInt2 -= 1; + } + } + if ((paramInt1 >= 0) && (paramInt1 == paramHandler.mIndex)) { + break; + } + j -= 1; + } + } + label223: + if (i == this.mBackStack.size() - 1) { + break label7; + } + paramHandler = new ArrayList(); + paramInt1 = this.mBackStack.size() - 1; + while (paramInt1 > i) + { + paramHandler.add(this.mBackStack.remove(paramInt1)); + paramInt1 -= 1; + } + paramInt2 = paramHandler.size() - 1; + paramInt1 = 0; + if (paramInt1 <= paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "Popping back stack state: " + paramHandler.get(paramInt1)); + } + paramString = (BackStackRecord)paramHandler.get(paramInt1); + if (paramInt1 == paramInt2) {} + for (boolean bool = true;; bool = false) + { + paramString.popFromBackStack(bool); + paramInt1 += 1; + break; + } + } + reportBackStackChanged(); + } + } + + public void putFragment(Bundle paramBundle, String paramString, Fragment paramFragment) + { + if (paramFragment.mIndex < 0) { + throwException(new IllegalStateException("Fragment " + paramFragment + " is not currently in the FragmentManager")); + } + paramBundle.putInt(paramString, paramFragment.mIndex); + } + + public void removeFragment(Fragment paramFragment, int paramInt1, int paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "remove: " + paramFragment + " nesting=" + paramFragment.mBackStackNesting); + } + if (!paramFragment.isInBackStack()) + { + i = 1; + if ((!paramFragment.mDetached) || (i != 0)) + { + if (this.mAdded != null) { + this.mAdded.remove(paramFragment); + } + if ((paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + paramFragment.mAdded = false; + paramFragment.mRemoving = true; + if (i == 0) { + break label137; + } + } + } + label137: + for (int i = 0;; i = 1) + { + moveToState(paramFragment, i, paramInt1, paramInt2, false); + return; + i = 0; + break; + } + } + + public void removeOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener paramOnBackStackChangedListener) + { + if (this.mBackStackChangeListeners != null) { + this.mBackStackChangeListeners.remove(paramOnBackStackChangedListener); + } + } + + void reportBackStackChanged() + { + if (this.mBackStackChangeListeners != null) + { + int i = 0; + while (i < this.mBackStackChangeListeners.size()) + { + ((FragmentManager.OnBackStackChangedListener)this.mBackStackChangeListeners.get(i)).onBackStackChanged(); + i += 1; + } + } + } + + void restoreAllState(Parcelable paramParcelable, ArrayList paramArrayList) + { + if (paramParcelable == null) {} + for (;;) + { + return; + paramParcelable = (FragmentManagerState)paramParcelable; + if (paramParcelable.mActive != null) + { + Object localObject1; + Object localObject2; + if (paramArrayList != null) + { + i = 0; + while (i < paramArrayList.size()) + { + localObject1 = (Fragment)paramArrayList.get(i); + if (DEBUG) { + Log.v("FragmentManager", "restoreAllState: re-attaching retained " + localObject1); + } + localObject2 = paramParcelable.mActive[localObject1.mIndex]; + ((FragmentState)localObject2).mInstance = ((Fragment)localObject1); + ((Fragment)localObject1).mSavedViewState = null; + ((Fragment)localObject1).mBackStackNesting = 0; + ((Fragment)localObject1).mInLayout = false; + ((Fragment)localObject1).mAdded = false; + ((Fragment)localObject1).mTarget = null; + if (((FragmentState)localObject2).mSavedFragmentState != null) + { + ((FragmentState)localObject2).mSavedFragmentState.setClassLoader(this.mActivity.getClassLoader()); + ((Fragment)localObject1).mSavedViewState = ((FragmentState)localObject2).mSavedFragmentState.getSparseParcelableArray("android:view_state"); + } + i += 1; + } + } + this.mActive = new ArrayList(paramParcelable.mActive.length); + if (this.mAvailIndices != null) { + this.mAvailIndices.clear(); + } + int i = 0; + if (i < paramParcelable.mActive.length) + { + localObject1 = paramParcelable.mActive[i]; + if (localObject1 != null) + { + localObject2 = ((FragmentState)localObject1).instantiate(this.mActivity, this.mParent); + if (DEBUG) { + Log.v("FragmentManager", "restoreAllState: active #" + i + ": " + localObject2); + } + this.mActive.add(localObject2); + ((FragmentState)localObject1).mInstance = null; + } + for (;;) + { + i += 1; + break; + this.mActive.add(null); + if (this.mAvailIndices == null) { + this.mAvailIndices = new ArrayList(); + } + if (DEBUG) { + Log.v("FragmentManager", "restoreAllState: avail #" + i); + } + this.mAvailIndices.add(Integer.valueOf(i)); + } + } + if (paramArrayList != null) + { + i = 0; + if (i < paramArrayList.size()) + { + localObject1 = (Fragment)paramArrayList.get(i); + if (((Fragment)localObject1).mTargetIndex >= 0) { + if (((Fragment)localObject1).mTargetIndex >= this.mActive.size()) { + break label451; + } + } + for (((Fragment)localObject1).mTarget = ((Fragment)this.mActive.get(((Fragment)localObject1).mTargetIndex));; ((Fragment)localObject1).mTarget = null) + { + i += 1; + break; + label451: + Log.w("FragmentManager", "Re-attaching retained fragment " + localObject1 + " target no longer exists: " + ((Fragment)localObject1).mTargetIndex); + } + } + } + if (paramParcelable.mAdded != null) + { + this.mAdded = new ArrayList(paramParcelable.mAdded.length); + i = 0; + while (i < paramParcelable.mAdded.length) + { + paramArrayList = (Fragment)this.mActive.get(paramParcelable.mAdded[i]); + if (paramArrayList == null) { + throwException(new IllegalStateException("No instantiated fragment for index #" + paramParcelable.mAdded[i])); + } + paramArrayList.mAdded = true; + if (DEBUG) { + Log.v("FragmentManager", "restoreAllState: added #" + i + ": " + paramArrayList); + } + if (this.mAdded.contains(paramArrayList)) { + throw new IllegalStateException("Already added!"); + } + this.mAdded.add(paramArrayList); + i += 1; + } + } + this.mAdded = null; + if (paramParcelable.mBackStack == null) { + break; + } + this.mBackStack = new ArrayList(paramParcelable.mBackStack.length); + i = 0; + while (i < paramParcelable.mBackStack.length) + { + paramArrayList = paramParcelable.mBackStack[i].instantiate(this); + if (DEBUG) + { + Log.v("FragmentManager", "restoreAllState: back stack #" + i + " (index " + paramArrayList.mIndex + "): " + paramArrayList); + paramArrayList.dump(" ", new PrintWriter(new LogWriter("FragmentManager")), false); + } + this.mBackStack.add(paramArrayList); + if (paramArrayList.mIndex >= 0) { + setBackStackIndex(paramArrayList.mIndex, paramArrayList); + } + i += 1; + } + } + } + this.mBackStack = null; + } + + ArrayList retainNonConfig() + { + Object localObject2 = null; + Object localObject1 = null; + if (this.mActive != null) + { + int i = 0; + localObject2 = localObject1; + if (i < this.mActive.size()) + { + Fragment localFragment = (Fragment)this.mActive.get(i); + Object localObject3 = localObject1; + if (localFragment != null) + { + localObject3 = localObject1; + if (localFragment.mRetainInstance) + { + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = new ArrayList(); + } + ((ArrayList)localObject2).add(localFragment); + localFragment.mRetaining = true; + if (localFragment.mTarget == null) { + break label164; + } + } + } + label164: + for (int j = localFragment.mTarget.mIndex;; j = -1) + { + localFragment.mTargetIndex = j; + localObject3 = localObject2; + if (DEBUG) + { + Log.v("FragmentManager", "retainNonConfig: keeping retained " + localFragment); + localObject3 = localObject2; + } + i += 1; + localObject1 = localObject3; + break; + } + } + } + return localObject2; + } + + Parcelable saveAllState() + { + execPendingActions(); + if (HONEYCOMB) { + this.mStateSaved = true; + } + if ((this.mActive == null) || (this.mActive.size() <= 0)) {} + FragmentState[] arrayOfFragmentState; + int j; + int i; + label361: + do + { + return null; + int m = this.mActive.size(); + arrayOfFragmentState = new FragmentState[m]; + j = 0; + i = 0; + if (i < m) + { + localObject1 = (Fragment)this.mActive.get(i); + int k; + if (localObject1 != null) + { + if (((Fragment)localObject1).mIndex < 0) { + throwException(new IllegalStateException("Failure saving state: active " + localObject1 + " has cleared index: " + ((Fragment)localObject1).mIndex)); + } + k = 1; + localObject2 = new FragmentState((Fragment)localObject1); + arrayOfFragmentState[i] = localObject2; + if ((((Fragment)localObject1).mState <= 0) || (((FragmentState)localObject2).mSavedFragmentState != null)) { + break label361; + } + ((FragmentState)localObject2).mSavedFragmentState = saveFragmentBasicState((Fragment)localObject1); + if (((Fragment)localObject1).mTarget != null) + { + if (((Fragment)localObject1).mTarget.mIndex < 0) { + throwException(new IllegalStateException("Failure saving state: " + localObject1 + " has target not in fragment manager: " + ((Fragment)localObject1).mTarget)); + } + if (((FragmentState)localObject2).mSavedFragmentState == null) { + ((FragmentState)localObject2).mSavedFragmentState = new Bundle(); + } + putFragment(((FragmentState)localObject2).mSavedFragmentState, "android:target_state", ((Fragment)localObject1).mTarget); + if (((Fragment)localObject1).mTargetRequestCode != 0) { + ((FragmentState)localObject2).mSavedFragmentState.putInt("android:target_req_state", ((Fragment)localObject1).mTargetRequestCode); + } + } + } + for (;;) + { + j = k; + if (DEBUG) + { + Log.v("FragmentManager", "Saved state of " + localObject1 + ": " + ((FragmentState)localObject2).mSavedFragmentState); + j = k; + } + i += 1; + break; + ((FragmentState)localObject2).mSavedFragmentState = ((Fragment)localObject1).mSavedFragmentState; + } + } + if (j != 0) { + break; + } + } while (!DEBUG); + Log.v("FragmentManager", "saveAllState: no fragments!"); + return null; + Object localObject2 = null; + Object localObject3 = null; + Object localObject1 = localObject2; + if (this.mAdded != null) + { + j = this.mAdded.size(); + localObject1 = localObject2; + if (j > 0) + { + localObject2 = new int[j]; + i = 0; + for (;;) + { + localObject1 = localObject2; + if (i >= j) { + break; + } + localObject2[i] = ((Fragment)this.mAdded.get(i)).mIndex; + if (localObject2[i] < 0) { + throwException(new IllegalStateException("Failure saving state: active " + this.mAdded.get(i) + " has cleared index: " + localObject2[i])); + } + if (DEBUG) { + Log.v("FragmentManager", "saveAllState: adding fragment #" + i + ": " + this.mAdded.get(i)); + } + i += 1; + } + } + } + localObject2 = localObject3; + if (this.mBackStack != null) + { + j = this.mBackStack.size(); + localObject2 = localObject3; + if (j > 0) + { + localObject3 = new BackStackState[j]; + i = 0; + for (;;) + { + localObject2 = localObject3; + if (i >= j) { + break; + } + localObject3[i] = new BackStackState(this, (BackStackRecord)this.mBackStack.get(i)); + if (DEBUG) { + Log.v("FragmentManager", "saveAllState: adding back stack #" + i + ": " + this.mBackStack.get(i)); + } + i += 1; + } + } + } + localObject3 = new FragmentManagerState(); + ((FragmentManagerState)localObject3).mActive = arrayOfFragmentState; + ((FragmentManagerState)localObject3).mAdded = ((int[])localObject1); + ((FragmentManagerState)localObject3).mBackStack = ((BackStackState[])localObject2); + return localObject3; + } + + Bundle saveFragmentBasicState(Fragment paramFragment) + { + Object localObject2 = null; + if (this.mStateBundle == null) { + this.mStateBundle = new Bundle(); + } + paramFragment.performSaveInstanceState(this.mStateBundle); + if (!this.mStateBundle.isEmpty()) + { + localObject2 = this.mStateBundle; + this.mStateBundle = null; + } + if (paramFragment.mView != null) { + saveFragmentViewState(paramFragment); + } + Object localObject1 = localObject2; + if (paramFragment.mSavedViewState != null) + { + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = new Bundle(); + } + ((Bundle)localObject1).putSparseParcelableArray("android:view_state", paramFragment.mSavedViewState); + } + localObject2 = localObject1; + if (!paramFragment.mUserVisibleHint) + { + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = new Bundle(); + } + ((Bundle)localObject2).putBoolean("android:user_visible_hint", paramFragment.mUserVisibleHint); + } + return localObject2; + } + + public Fragment.SavedState saveFragmentInstanceState(Fragment paramFragment) + { + Object localObject2 = null; + if (paramFragment.mIndex < 0) { + throwException(new IllegalStateException("Fragment " + paramFragment + " is not currently in the FragmentManager")); + } + Object localObject1 = localObject2; + if (paramFragment.mState > 0) + { + paramFragment = saveFragmentBasicState(paramFragment); + localObject1 = localObject2; + if (paramFragment != null) { + localObject1 = new Fragment.SavedState(paramFragment); + } + } + return localObject1; + } + + void saveFragmentViewState(Fragment paramFragment) + { + if (paramFragment.mInnerView == null) { + return; + } + if (this.mStateArray == null) { + this.mStateArray = new SparseArray(); + } + for (;;) + { + paramFragment.mInnerView.saveHierarchyState(this.mStateArray); + if (this.mStateArray.size() <= 0) { + break; + } + paramFragment.mSavedViewState = this.mStateArray; + this.mStateArray = null; + return; + this.mStateArray.clear(); + } + } + + /* Error */ + public void setBackStackIndex(int paramInt, BackStackRecord paramBackStackRecord) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 6: ifnonnull +14 -> 20 + // 9: aload_0 + // 10: new 249 java/util/ArrayList + // 13: dup + // 14: invokespecial 250 java/util/ArrayList: ()V + // 17: putfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 20: aload_0 + // 21: getfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 24: invokevirtual 311 java/util/ArrayList:size ()I + // 27: istore 4 + // 29: iload 4 + // 31: istore_3 + // 32: iload_1 + // 33: iload 4 + // 35: if_icmpge +58 -> 93 + // 38: getstatic 95 android/support/v4/app/FragmentManagerImpl:DEBUG Z + // 41: ifeq +39 -> 80 + // 44: ldc 42 + // 46: new 149 java/lang/StringBuilder + // 49: dup + // 50: invokespecial 150 java/lang/StringBuilder: ()V + // 53: ldc_w 315 + // 56: invokevirtual 156 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 59: iload_1 + // 60: invokevirtual 318 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 63: ldc_w 320 + // 66: invokevirtual 156 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 69: aload_2 + // 70: invokevirtual 266 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 73: invokevirtual 160 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 76: invokestatic 269 android/util/Log:v (Ljava/lang/String;Ljava/lang/String;)I + // 79: pop + // 80: aload_0 + // 81: getfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 84: iload_1 + // 85: aload_2 + // 86: invokevirtual 337 java/util/ArrayList:set (ILjava/lang/Object;)Ljava/lang/Object; + // 89: pop + // 90: aload_0 + // 91: monitorexit + // 92: return + // 93: iload_3 + // 94: iload_1 + // 95: if_icmpge +81 -> 176 + // 98: aload_0 + // 99: getfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 102: aconst_null + // 103: invokevirtual 254 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 106: pop + // 107: aload_0 + // 108: getfield 307 android/support/v4/app/FragmentManagerImpl:mAvailBackStackIndices Ljava/util/ArrayList; + // 111: ifnonnull +14 -> 125 + // 114: aload_0 + // 115: new 249 java/util/ArrayList + // 118: dup + // 119: invokespecial 250 java/util/ArrayList: ()V + // 122: putfield 307 android/support/v4/app/FragmentManagerImpl:mAvailBackStackIndices Ljava/util/ArrayList; + // 125: getstatic 95 android/support/v4/app/FragmentManagerImpl:DEBUG Z + // 128: ifeq +29 -> 157 + // 131: ldc 42 + // 133: new 149 java/lang/StringBuilder + // 136: dup + // 137: invokespecial 150 java/lang/StringBuilder: ()V + // 140: ldc_w 1127 + // 143: invokevirtual 156 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 146: iload_3 + // 147: invokevirtual 318 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 150: invokevirtual 160 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 153: invokestatic 269 android/util/Log:v (Ljava/lang/String;Ljava/lang/String;)I + // 156: pop + // 157: aload_0 + // 158: getfield 307 android/support/v4/app/FragmentManagerImpl:mAvailBackStackIndices Ljava/util/ArrayList; + // 161: iload_3 + // 162: invokestatic 598 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 165: invokevirtual 254 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 168: pop + // 169: iload_3 + // 170: iconst_1 + // 171: iadd + // 172: istore_3 + // 173: goto -80 -> 93 + // 176: getstatic 95 android/support/v4/app/FragmentManagerImpl:DEBUG Z + // 179: ifeq +39 -> 218 + // 182: ldc 42 + // 184: new 149 java/lang/StringBuilder + // 187: dup + // 188: invokespecial 150 java/lang/StringBuilder: ()V + // 191: ldc_w 331 + // 194: invokevirtual 156 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 197: iload_1 + // 198: invokevirtual 318 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 201: ldc_w 333 + // 204: invokevirtual 156 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 207: aload_2 + // 208: invokevirtual 266 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 211: invokevirtual 160 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 214: invokestatic 269 android/util/Log:v (Ljava/lang/String;Ljava/lang/String;)I + // 217: pop + // 218: aload_0 + // 219: getfield 313 android/support/v4/app/FragmentManagerImpl:mBackStackIndices Ljava/util/ArrayList; + // 222: aload_2 + // 223: invokevirtual 254 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 226: pop + // 227: goto -137 -> 90 + // 230: astore_2 + // 231: aload_0 + // 232: monitorexit + // 233: aload_2 + // 234: athrow + // Local variable table: + // start length slot name signature + // 0 235 0 this FragmentManagerImpl + // 0 235 1 paramInt int + // 0 235 2 paramBackStackRecord BackStackRecord + // 31 142 3 i int + // 27 9 4 j int + // Exception table: + // from to target type + // 2 20 230 finally + // 20 29 230 finally + // 38 80 230 finally + // 80 90 230 finally + // 90 92 230 finally + // 98 125 230 finally + // 125 157 230 finally + // 157 169 230 finally + // 176 218 230 finally + // 218 227 230 finally + // 231 233 230 finally + } + + public void showFragment(Fragment paramFragment, int paramInt1, int paramInt2) + { + if (DEBUG) { + Log.v("FragmentManager", "show: " + paramFragment); + } + if (paramFragment.mHidden) + { + paramFragment.mHidden = false; + if (paramFragment.mView != null) + { + Animation localAnimation = loadAnimation(paramFragment, paramInt1, true, paramInt2); + if (localAnimation != null) { + paramFragment.mView.startAnimation(localAnimation); + } + paramFragment.mView.setVisibility(0); + } + if ((paramFragment.mAdded) && (paramFragment.mHasMenu) && (paramFragment.mMenuVisible)) { + this.mNeedMenuInvalidate = true; + } + paramFragment.onHiddenChanged(false); + } + } + + void startPendingDeferredFragments() + { + if (this.mActive == null) {} + for (;;) + { + return; + int i = 0; + while (i < this.mActive.size()) + { + Fragment localFragment = (Fragment)this.mActive.get(i); + if (localFragment != null) { + performPendingDeferredStart(localFragment); + } + i += 1; + } + } + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(128); + localStringBuilder.append("FragmentManager{"); + localStringBuilder.append(Integer.toHexString(System.identityHashCode(this))); + localStringBuilder.append(" in "); + if (this.mParent != null) { + DebugUtils.buildShortClassTag(this.mParent, localStringBuilder); + } + for (;;) + { + localStringBuilder.append("}}"); + return localStringBuilder.toString(); + DebugUtils.buildShortClassTag(this.mActivity, localStringBuilder); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentManagerImpl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerState.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerState.java new file mode 100755 index 00000000000..64b527a1107 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentManagerState.java @@ -0,0 +1,52 @@ +package android.support.v4.app; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; + +final class FragmentManagerState + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public FragmentManagerState createFromParcel(Parcel paramAnonymousParcel) + { + return new FragmentManagerState(paramAnonymousParcel); + } + + public FragmentManagerState[] newArray(int paramAnonymousInt) + { + return new FragmentManagerState[paramAnonymousInt]; + } + }; + FragmentState[] mActive; + int[] mAdded; + BackStackState[] mBackStack; + + public FragmentManagerState() {} + + public FragmentManagerState(Parcel paramParcel) + { + this.mActive = ((FragmentState[])paramParcel.createTypedArray(FragmentState.CREATOR)); + this.mAdded = paramParcel.createIntArray(); + this.mBackStack = ((BackStackState[])paramParcel.createTypedArray(BackStackState.CREATOR)); + } + + public int describeContents() + { + return 0; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeTypedArray(this.mActive, paramInt); + paramParcel.writeIntArray(this.mAdded); + paramParcel.writeTypedArray(this.mBackStack, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentManagerState + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentPagerAdapter.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentPagerAdapter.java new file mode 100755 index 00000000000..ce41768b69f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentPagerAdapter.java @@ -0,0 +1,114 @@ +package android.support.v4.app; + +import android.os.Parcelable; +import android.support.v4.view.PagerAdapter; +import android.view.View; +import android.view.ViewGroup; + +public abstract class FragmentPagerAdapter + extends PagerAdapter +{ + private static final boolean DEBUG = false; + private static final String TAG = "FragmentPagerAdapter"; + private FragmentTransaction mCurTransaction = null; + private Fragment mCurrentPrimaryItem = null; + private final FragmentManager mFragmentManager; + + public FragmentPagerAdapter(FragmentManager paramFragmentManager) + { + this.mFragmentManager = paramFragmentManager; + } + + private static String makeFragmentName(int paramInt, long paramLong) + { + return "android:switcher:" + paramInt + ":" + paramLong; + } + + public void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + if (this.mCurTransaction == null) { + this.mCurTransaction = this.mFragmentManager.beginTransaction(); + } + this.mCurTransaction.detach((Fragment)paramObject); + } + + public void finishUpdate(ViewGroup paramViewGroup) + { + if (this.mCurTransaction != null) + { + this.mCurTransaction.commitAllowingStateLoss(); + this.mCurTransaction = null; + this.mFragmentManager.executePendingTransactions(); + } + } + + public abstract Fragment getItem(int paramInt); + + public long getItemId(int paramInt) + { + return paramInt; + } + + public Object instantiateItem(ViewGroup paramViewGroup, int paramInt) + { + if (this.mCurTransaction == null) { + this.mCurTransaction = this.mFragmentManager.beginTransaction(); + } + long l = getItemId(paramInt); + Object localObject = makeFragmentName(paramViewGroup.getId(), l); + localObject = this.mFragmentManager.findFragmentByTag((String)localObject); + if (localObject != null) { + this.mCurTransaction.attach((Fragment)localObject); + } + for (paramViewGroup = (ViewGroup)localObject;; paramViewGroup = (ViewGroup)localObject) + { + if (paramViewGroup != this.mCurrentPrimaryItem) + { + paramViewGroup.setMenuVisibility(false); + paramViewGroup.setUserVisibleHint(false); + } + return paramViewGroup; + localObject = getItem(paramInt); + this.mCurTransaction.add(paramViewGroup.getId(), (Fragment)localObject, makeFragmentName(paramViewGroup.getId(), l)); + } + } + + public boolean isViewFromObject(View paramView, Object paramObject) + { + return ((Fragment)paramObject).getView() == paramView; + } + + public void restoreState(Parcelable paramParcelable, ClassLoader paramClassLoader) {} + + public Parcelable saveState() + { + return null; + } + + public void setPrimaryItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + paramViewGroup = (Fragment)paramObject; + if (paramViewGroup != this.mCurrentPrimaryItem) + { + if (this.mCurrentPrimaryItem != null) + { + this.mCurrentPrimaryItem.setMenuVisibility(false); + this.mCurrentPrimaryItem.setUserVisibleHint(false); + } + if (paramViewGroup != null) + { + paramViewGroup.setMenuVisibility(true); + paramViewGroup.setUserVisibleHint(true); + } + this.mCurrentPrimaryItem = paramViewGroup; + } + } + + public void startUpdate(ViewGroup paramViewGroup) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentPagerAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentState.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentState.java new file mode 100755 index 00000000000..3575c82c513 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentState.java @@ -0,0 +1,161 @@ +package android.support.v4.app; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.util.Log; + +final class FragmentState + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public FragmentState createFromParcel(Parcel paramAnonymousParcel) + { + return new FragmentState(paramAnonymousParcel); + } + + public FragmentState[] newArray(int paramAnonymousInt) + { + return new FragmentState[paramAnonymousInt]; + } + }; + final Bundle mArguments; + final String mClassName; + final int mContainerId; + final boolean mDetached; + final int mFragmentId; + final boolean mFromLayout; + final int mIndex; + Fragment mInstance; + final boolean mRetainInstance; + Bundle mSavedFragmentState; + final String mTag; + + public FragmentState(Parcel paramParcel) + { + this.mClassName = paramParcel.readString(); + this.mIndex = paramParcel.readInt(); + if (paramParcel.readInt() != 0) + { + bool1 = true; + this.mFromLayout = bool1; + this.mFragmentId = paramParcel.readInt(); + this.mContainerId = paramParcel.readInt(); + this.mTag = paramParcel.readString(); + if (paramParcel.readInt() == 0) { + break label110; + } + bool1 = true; + label69: + this.mRetainInstance = bool1; + if (paramParcel.readInt() == 0) { + break label115; + } + } + label110: + label115: + for (boolean bool1 = bool2;; bool1 = false) + { + this.mDetached = bool1; + this.mArguments = paramParcel.readBundle(); + this.mSavedFragmentState = paramParcel.readBundle(); + return; + bool1 = false; + break; + bool1 = false; + break label69; + } + } + + public FragmentState(Fragment paramFragment) + { + this.mClassName = paramFragment.getClass().getName(); + this.mIndex = paramFragment.mIndex; + this.mFromLayout = paramFragment.mFromLayout; + this.mFragmentId = paramFragment.mFragmentId; + this.mContainerId = paramFragment.mContainerId; + this.mTag = paramFragment.mTag; + this.mRetainInstance = paramFragment.mRetainInstance; + this.mDetached = paramFragment.mDetached; + this.mArguments = paramFragment.mArguments; + } + + public int describeContents() + { + return 0; + } + + public Fragment instantiate(FragmentActivity paramFragmentActivity, Fragment paramFragment) + { + if (this.mInstance != null) { + return this.mInstance; + } + if (this.mArguments != null) { + this.mArguments.setClassLoader(paramFragmentActivity.getClassLoader()); + } + this.mInstance = Fragment.instantiate(paramFragmentActivity, this.mClassName, this.mArguments); + if (this.mSavedFragmentState != null) + { + this.mSavedFragmentState.setClassLoader(paramFragmentActivity.getClassLoader()); + this.mInstance.mSavedFragmentState = this.mSavedFragmentState; + } + this.mInstance.setIndex(this.mIndex, paramFragment); + this.mInstance.mFromLayout = this.mFromLayout; + this.mInstance.mRestored = true; + this.mInstance.mFragmentId = this.mFragmentId; + this.mInstance.mContainerId = this.mContainerId; + this.mInstance.mTag = this.mTag; + this.mInstance.mRetainInstance = this.mRetainInstance; + this.mInstance.mDetached = this.mDetached; + this.mInstance.mFragmentManager = paramFragmentActivity.mFragments; + if (FragmentManagerImpl.DEBUG) { + Log.v("FragmentManager", "Instantiated fragment " + this.mInstance); + } + return this.mInstance; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + int i = 1; + paramParcel.writeString(this.mClassName); + paramParcel.writeInt(this.mIndex); + if (this.mFromLayout) + { + paramInt = 1; + paramParcel.writeInt(paramInt); + paramParcel.writeInt(this.mFragmentId); + paramParcel.writeInt(this.mContainerId); + paramParcel.writeString(this.mTag); + if (!this.mRetainInstance) { + break label106; + } + paramInt = 1; + label65: + paramParcel.writeInt(paramInt); + if (!this.mDetached) { + break label111; + } + } + label106: + label111: + for (paramInt = i;; paramInt = 0) + { + paramParcel.writeInt(paramInt); + paramParcel.writeBundle(this.mArguments); + paramParcel.writeBundle(this.mSavedFragmentState); + return; + paramInt = 0; + break; + paramInt = 0; + break label65; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentState + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentStatePagerAdapter.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentStatePagerAdapter.java new file mode 100755 index 00000000000..c2766d7e1a8 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentStatePagerAdapter.java @@ -0,0 +1,190 @@ +package android.support.v4.app; + +import android.os.Bundle; +import android.os.Parcelable; +import android.support.v4.view.PagerAdapter; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import java.util.ArrayList; +import java.util.Iterator; + +public abstract class FragmentStatePagerAdapter + extends PagerAdapter +{ + private static final boolean DEBUG = false; + private static final String TAG = "FragmentStatePagerAdapter"; + private FragmentTransaction mCurTransaction = null; + private Fragment mCurrentPrimaryItem = null; + private final FragmentManager mFragmentManager; + private ArrayList mFragments = new ArrayList(); + private ArrayList mSavedState = new ArrayList(); + + public FragmentStatePagerAdapter(FragmentManager paramFragmentManager) + { + this.mFragmentManager = paramFragmentManager; + } + + public void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + paramViewGroup = (Fragment)paramObject; + if (this.mCurTransaction == null) { + this.mCurTransaction = this.mFragmentManager.beginTransaction(); + } + while (this.mSavedState.size() <= paramInt) { + this.mSavedState.add(null); + } + this.mSavedState.set(paramInt, this.mFragmentManager.saveFragmentInstanceState(paramViewGroup)); + this.mFragments.set(paramInt, null); + this.mCurTransaction.remove(paramViewGroup); + } + + public void finishUpdate(ViewGroup paramViewGroup) + { + if (this.mCurTransaction != null) + { + this.mCurTransaction.commitAllowingStateLoss(); + this.mCurTransaction = null; + this.mFragmentManager.executePendingTransactions(); + } + } + + public abstract Fragment getItem(int paramInt); + + public Object instantiateItem(ViewGroup paramViewGroup, int paramInt) + { + if (this.mFragments.size() > paramInt) + { + localFragment = (Fragment)this.mFragments.get(paramInt); + if (localFragment != null) { + return localFragment; + } + } + if (this.mCurTransaction == null) { + this.mCurTransaction = this.mFragmentManager.beginTransaction(); + } + Fragment localFragment = getItem(paramInt); + if (this.mSavedState.size() > paramInt) + { + Fragment.SavedState localSavedState = (Fragment.SavedState)this.mSavedState.get(paramInt); + if (localSavedState != null) { + localFragment.setInitialSavedState(localSavedState); + } + } + while (this.mFragments.size() <= paramInt) { + this.mFragments.add(null); + } + localFragment.setMenuVisibility(false); + localFragment.setUserVisibleHint(false); + this.mFragments.set(paramInt, localFragment); + this.mCurTransaction.add(paramViewGroup.getId(), localFragment); + return localFragment; + } + + public boolean isViewFromObject(View paramView, Object paramObject) + { + return ((Fragment)paramObject).getView() == paramView; + } + + public void restoreState(Parcelable paramParcelable, ClassLoader paramClassLoader) + { + if (paramParcelable != null) + { + paramParcelable = (Bundle)paramParcelable; + paramParcelable.setClassLoader(paramClassLoader); + paramClassLoader = paramParcelable.getParcelableArray("states"); + this.mSavedState.clear(); + this.mFragments.clear(); + int i; + if (paramClassLoader != null) + { + i = 0; + while (i < paramClassLoader.length) + { + this.mSavedState.add((Fragment.SavedState)paramClassLoader[i]); + i += 1; + } + } + paramClassLoader = paramParcelable.keySet().iterator(); + while (paramClassLoader.hasNext()) + { + String str = (String)paramClassLoader.next(); + if (str.startsWith("f")) + { + i = Integer.parseInt(str.substring(1)); + Fragment localFragment = this.mFragmentManager.getFragment(paramParcelable, str); + if (localFragment != null) + { + while (this.mFragments.size() <= i) { + this.mFragments.add(null); + } + localFragment.setMenuVisibility(false); + this.mFragments.set(i, localFragment); + } + else + { + Log.w("FragmentStatePagerAdapter", "Bad fragment at key " + str); + } + } + } + } + } + + public Parcelable saveState() + { + Object localObject1 = null; + Object localObject2; + if (this.mSavedState.size() > 0) + { + localObject1 = new Bundle(); + localObject2 = new Fragment.SavedState[this.mSavedState.size()]; + this.mSavedState.toArray((Object[])localObject2); + ((Bundle)localObject1).putParcelableArray("states", (Parcelable[])localObject2); + } + int i = 0; + while (i < this.mFragments.size()) + { + Fragment localFragment = (Fragment)this.mFragments.get(i); + localObject2 = localObject1; + if (localFragment != null) + { + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = new Bundle(); + } + localObject1 = "f" + i; + this.mFragmentManager.putFragment((Bundle)localObject2, (String)localObject1, localFragment); + } + i += 1; + localObject1 = localObject2; + } + return localObject1; + } + + public void setPrimaryItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + paramViewGroup = (Fragment)paramObject; + if (paramViewGroup != this.mCurrentPrimaryItem) + { + if (this.mCurrentPrimaryItem != null) + { + this.mCurrentPrimaryItem.setMenuVisibility(false); + this.mCurrentPrimaryItem.setUserVisibleHint(false); + } + if (paramViewGroup != null) + { + paramViewGroup.setMenuVisibility(true); + paramViewGroup.setUserVisibleHint(true); + } + this.mCurrentPrimaryItem = paramViewGroup; + } + } + + public void startUpdate(ViewGroup paramViewGroup) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentStatePagerAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentTabHost.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentTabHost.java new file mode 100755 index 00000000000..91d403db35e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentTabHost.java @@ -0,0 +1,336 @@ +package android.support.v4.app; + +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.util.AttributeSet; +import android.view.View; +import android.view.View.BaseSavedState; +import android.widget.FrameLayout; +import android.widget.FrameLayout.LayoutParams; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.TabHost; +import android.widget.TabHost.OnTabChangeListener; +import android.widget.TabHost.TabContentFactory; +import android.widget.TabHost.TabSpec; +import android.widget.TabWidget; +import java.util.ArrayList; + +public class FragmentTabHost + extends TabHost + implements TabHost.OnTabChangeListener +{ + private boolean mAttached; + private int mContainerId; + private Context mContext; + private FragmentManager mFragmentManager; + private TabInfo mLastTab; + private TabHost.OnTabChangeListener mOnTabChangeListener; + private FrameLayout mRealTabContent; + private final ArrayList mTabs = new ArrayList(); + + public FragmentTabHost(Context paramContext) + { + super(paramContext, null); + initFragmentTabHost(paramContext, null); + } + + public FragmentTabHost(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + initFragmentTabHost(paramContext, paramAttributeSet); + } + + private FragmentTransaction doTabChanged(String paramString, FragmentTransaction paramFragmentTransaction) + { + Object localObject = null; + int i = 0; + while (i < this.mTabs.size()) + { + TabInfo localTabInfo = (TabInfo)this.mTabs.get(i); + if (localTabInfo.tag.equals(paramString)) { + localObject = localTabInfo; + } + i += 1; + } + if (localObject == null) { + throw new IllegalStateException("No tab known for tag " + paramString); + } + paramString = paramFragmentTransaction; + if (this.mLastTab != localObject) + { + paramString = paramFragmentTransaction; + if (paramFragmentTransaction == null) { + paramString = this.mFragmentManager.beginTransaction(); + } + if ((this.mLastTab != null) && (this.mLastTab.fragment != null)) { + paramString.detach(this.mLastTab.fragment); + } + if (localObject != null) + { + if (localObject.fragment != null) { + break label204; + } + TabInfo.access$102(localObject, Fragment.instantiate(this.mContext, localObject.clss.getName(), localObject.args)); + paramString.add(this.mContainerId, localObject.fragment, localObject.tag); + } + } + for (;;) + { + this.mLastTab = localObject; + return paramString; + label204: + paramString.attach(localObject.fragment); + } + } + + private void ensureContent() + { + if (this.mRealTabContent == null) + { + this.mRealTabContent = ((FrameLayout)findViewById(this.mContainerId)); + if (this.mRealTabContent == null) { + throw new IllegalStateException("No tab content FrameLayout found for id " + this.mContainerId); + } + } + } + + private void initFragmentTabHost(Context paramContext, AttributeSet paramAttributeSet) + { + paramAttributeSet = paramContext.obtainStyledAttributes(paramAttributeSet, new int[] { 16842995 }, 0, 0); + this.mContainerId = paramAttributeSet.getResourceId(0, 0); + paramAttributeSet.recycle(); + super.setOnTabChangedListener(this); + if (findViewById(16908307) == null) + { + paramAttributeSet = new LinearLayout(paramContext); + paramAttributeSet.setOrientation(1); + addView(paramAttributeSet, new FrameLayout.LayoutParams(-1, -1)); + Object localObject = new TabWidget(paramContext); + ((TabWidget)localObject).setId(16908307); + ((TabWidget)localObject).setOrientation(0); + paramAttributeSet.addView((View)localObject, new LinearLayout.LayoutParams(-1, -2, 0.0F)); + localObject = new FrameLayout(paramContext); + ((FrameLayout)localObject).setId(16908305); + paramAttributeSet.addView((View)localObject, new LinearLayout.LayoutParams(0, 0, 0.0F)); + paramContext = new FrameLayout(paramContext); + this.mRealTabContent = paramContext; + this.mRealTabContent.setId(this.mContainerId); + paramAttributeSet.addView(paramContext, new LinearLayout.LayoutParams(-1, 0, 1.0F)); + } + } + + public void addTab(TabHost.TabSpec paramTabSpec, Class paramClass, Bundle paramBundle) + { + paramTabSpec.setContent(new DummyTabFactory(this.mContext)); + String str = paramTabSpec.getTag(); + paramClass = new TabInfo(str, paramClass, paramBundle); + if (this.mAttached) + { + TabInfo.access$102(paramClass, this.mFragmentManager.findFragmentByTag(str)); + if ((paramClass.fragment != null) && (!paramClass.fragment.isDetached())) + { + paramBundle = this.mFragmentManager.beginTransaction(); + paramBundle.detach(paramClass.fragment); + paramBundle.commit(); + } + } + this.mTabs.add(paramClass); + addTab(paramTabSpec); + } + + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + String str = getCurrentTabTag(); + Object localObject1 = null; + int i = 0; + if (i < this.mTabs.size()) + { + TabInfo localTabInfo = (TabInfo)this.mTabs.get(i); + TabInfo.access$102(localTabInfo, this.mFragmentManager.findFragmentByTag(localTabInfo.tag)); + Object localObject2 = localObject1; + if (localTabInfo.fragment != null) + { + localObject2 = localObject1; + if (!localTabInfo.fragment.isDetached()) + { + if (!localTabInfo.tag.equals(str)) { + break label109; + } + this.mLastTab = localTabInfo; + localObject2 = localObject1; + } + } + for (;;) + { + i += 1; + localObject1 = localObject2; + break; + label109: + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = this.mFragmentManager.beginTransaction(); + } + ((FragmentTransaction)localObject2).detach(localTabInfo.fragment); + } + } + this.mAttached = true; + localObject1 = doTabChanged(str, (FragmentTransaction)localObject1); + if (localObject1 != null) + { + ((FragmentTransaction)localObject1).commit(); + this.mFragmentManager.executePendingTransactions(); + } + } + + protected void onDetachedFromWindow() + { + super.onDetachedFromWindow(); + this.mAttached = false; + } + + protected void onRestoreInstanceState(Parcelable paramParcelable) + { + paramParcelable = (SavedState)paramParcelable; + super.onRestoreInstanceState(paramParcelable.getSuperState()); + setCurrentTabByTag(paramParcelable.curTab); + } + + protected Parcelable onSaveInstanceState() + { + SavedState localSavedState = new SavedState(super.onSaveInstanceState()); + localSavedState.curTab = getCurrentTabTag(); + return localSavedState; + } + + public void onTabChanged(String paramString) + { + if (this.mAttached) + { + FragmentTransaction localFragmentTransaction = doTabChanged(paramString, null); + if (localFragmentTransaction != null) { + localFragmentTransaction.commit(); + } + } + if (this.mOnTabChangeListener != null) { + this.mOnTabChangeListener.onTabChanged(paramString); + } + } + + public void setOnTabChangedListener(TabHost.OnTabChangeListener paramOnTabChangeListener) + { + this.mOnTabChangeListener = paramOnTabChangeListener; + } + + @Deprecated + public void setup() + { + throw new IllegalStateException("Must call setup() that takes a Context and FragmentManager"); + } + + public void setup(Context paramContext, FragmentManager paramFragmentManager) + { + super.setup(); + this.mContext = paramContext; + this.mFragmentManager = paramFragmentManager; + ensureContent(); + } + + public void setup(Context paramContext, FragmentManager paramFragmentManager, int paramInt) + { + super.setup(); + this.mContext = paramContext; + this.mFragmentManager = paramFragmentManager; + this.mContainerId = paramInt; + ensureContent(); + this.mRealTabContent.setId(paramInt); + if (getId() == -1) { + setId(16908306); + } + } + + static class DummyTabFactory + implements TabHost.TabContentFactory + { + private final Context mContext; + + public DummyTabFactory(Context paramContext) + { + this.mContext = paramContext; + } + + public View createTabContent(String paramString) + { + paramString = new View(this.mContext); + paramString.setMinimumWidth(0); + paramString.setMinimumHeight(0); + return paramString; + } + } + + static class SavedState + extends View.BaseSavedState + { + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public FragmentTabHost.SavedState createFromParcel(Parcel paramAnonymousParcel) + { + return new FragmentTabHost.SavedState(paramAnonymousParcel, null); + } + + public FragmentTabHost.SavedState[] newArray(int paramAnonymousInt) + { + return new FragmentTabHost.SavedState[paramAnonymousInt]; + } + }; + String curTab; + + private SavedState(Parcel paramParcel) + { + super(); + this.curTab = paramParcel.readString(); + } + + SavedState(Parcelable paramParcelable) + { + super(); + } + + public String toString() + { + return "FragmentTabHost.SavedState{" + Integer.toHexString(System.identityHashCode(this)) + " curTab=" + this.curTab + "}"; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + super.writeToParcel(paramParcel, paramInt); + paramParcel.writeString(this.curTab); + } + } + + static final class TabInfo + { + private final Bundle args; + private final Class clss; + private Fragment fragment; + private final String tag; + + TabInfo(String paramString, Class paramClass, Bundle paramBundle) + { + this.tag = paramString; + this.clss = paramClass; + this.args = paramBundle; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentTabHost + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/FragmentTransaction.java b/com.tencent.token/classes.jar/android/support/v4/app/FragmentTransaction.java new file mode 100755 index 00000000000..e91a151cba5 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/FragmentTransaction.java @@ -0,0 +1,66 @@ +package android.support.v4.app; + +public abstract class FragmentTransaction +{ + public static final int TRANSIT_ENTER_MASK = 4096; + public static final int TRANSIT_EXIT_MASK = 8192; + public static final int TRANSIT_FRAGMENT_CLOSE = 8194; + public static final int TRANSIT_FRAGMENT_FADE = 4099; + public static final int TRANSIT_FRAGMENT_OPEN = 4097; + public static final int TRANSIT_NONE = 0; + public static final int TRANSIT_UNSET = -1; + + public abstract FragmentTransaction add(int paramInt, Fragment paramFragment); + + public abstract FragmentTransaction add(int paramInt, Fragment paramFragment, String paramString); + + public abstract FragmentTransaction add(Fragment paramFragment, String paramString); + + public abstract FragmentTransaction addToBackStack(String paramString); + + public abstract FragmentTransaction attach(Fragment paramFragment); + + public abstract int commit(); + + public abstract int commitAllowingStateLoss(); + + public abstract FragmentTransaction detach(Fragment paramFragment); + + public abstract FragmentTransaction disallowAddToBackStack(); + + public abstract FragmentTransaction hide(Fragment paramFragment); + + public abstract boolean isAddToBackStackAllowed(); + + public abstract boolean isEmpty(); + + public abstract FragmentTransaction remove(Fragment paramFragment); + + public abstract FragmentTransaction replace(int paramInt, Fragment paramFragment); + + public abstract FragmentTransaction replace(int paramInt, Fragment paramFragment, String paramString); + + public abstract FragmentTransaction setBreadCrumbShortTitle(int paramInt); + + public abstract FragmentTransaction setBreadCrumbShortTitle(CharSequence paramCharSequence); + + public abstract FragmentTransaction setBreadCrumbTitle(int paramInt); + + public abstract FragmentTransaction setBreadCrumbTitle(CharSequence paramCharSequence); + + public abstract FragmentTransaction setCustomAnimations(int paramInt1, int paramInt2); + + public abstract FragmentTransaction setCustomAnimations(int paramInt1, int paramInt2, int paramInt3, int paramInt4); + + public abstract FragmentTransaction setTransition(int paramInt); + + public abstract FragmentTransaction setTransitionStyle(int paramInt); + + public abstract FragmentTransaction show(Fragment paramFragment); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.FragmentTransaction + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ListFragment.java b/com.tencent.token/classes.jar/android/support/v4/app/ListFragment.java new file mode 100755 index 00000000000..288e0fa5d6b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ListFragment.java @@ -0,0 +1,279 @@ +package android.support.v4.app; + +import android.os.Bundle; +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AnimationUtils; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.FrameLayout; +import android.widget.FrameLayout.LayoutParams; +import android.widget.LinearLayout; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; + +public class ListFragment + extends Fragment +{ + static final int INTERNAL_EMPTY_ID = 16711681; + static final int INTERNAL_LIST_CONTAINER_ID = 16711683; + static final int INTERNAL_PROGRESS_CONTAINER_ID = 16711682; + ListAdapter mAdapter; + CharSequence mEmptyText; + View mEmptyView; + private final Handler mHandler = new Handler(); + ListView mList; + View mListContainer; + boolean mListShown; + private final AdapterView.OnItemClickListener mOnClickListener = new AdapterView.OnItemClickListener() + { + public void onItemClick(AdapterView paramAnonymousAdapterView, View paramAnonymousView, int paramAnonymousInt, long paramAnonymousLong) + { + ListFragment.this.onListItemClick((ListView)paramAnonymousAdapterView, paramAnonymousView, paramAnonymousInt, paramAnonymousLong); + } + }; + View mProgressContainer; + private final Runnable mRequestFocus = new Runnable() + { + public void run() + { + ListFragment.this.mList.focusableViewAvailable(ListFragment.this.mList); + } + }; + TextView mStandardEmptyView; + + private void ensureList() + { + if (this.mList != null) { + return; + } + Object localObject = getView(); + if (localObject == null) { + throw new IllegalStateException("Content view not yet created"); + } + if ((localObject instanceof ListView)) + { + this.mList = ((ListView)localObject); + this.mListShown = true; + this.mList.setOnItemClickListener(this.mOnClickListener); + if (this.mAdapter == null) { + break label254; + } + localObject = this.mAdapter; + this.mAdapter = null; + setListAdapter((ListAdapter)localObject); + } + for (;;) + { + this.mHandler.post(this.mRequestFocus); + return; + this.mStandardEmptyView = ((TextView)((View)localObject).findViewById(16711681)); + if (this.mStandardEmptyView == null) { + this.mEmptyView = ((View)localObject).findViewById(16908292); + } + for (;;) + { + this.mProgressContainer = ((View)localObject).findViewById(16711682); + this.mListContainer = ((View)localObject).findViewById(16711683); + localObject = ((View)localObject).findViewById(16908298); + if ((localObject instanceof ListView)) { + break label193; + } + if (localObject != null) { + break; + } + throw new RuntimeException("Your content must have a ListView whose id attribute is 'android.R.id.list'"); + this.mStandardEmptyView.setVisibility(8); + } + throw new RuntimeException("Content has view with id attribute 'android.R.id.list' that is not a ListView class"); + label193: + this.mList = ((ListView)localObject); + if (this.mEmptyView != null) + { + this.mList.setEmptyView(this.mEmptyView); + break; + } + if (this.mEmptyText == null) { + break; + } + this.mStandardEmptyView.setText(this.mEmptyText); + this.mList.setEmptyView(this.mStandardEmptyView); + break; + label254: + if (this.mProgressContainer != null) { + setListShown(false, false); + } + } + } + + private void setListShown(boolean paramBoolean1, boolean paramBoolean2) + { + ensureList(); + if (this.mProgressContainer == null) { + throw new IllegalStateException("Can't be used with a custom content view"); + } + if (this.mListShown == paramBoolean1) { + return; + } + this.mListShown = paramBoolean1; + if (paramBoolean1) + { + if (paramBoolean2) + { + this.mProgressContainer.startAnimation(AnimationUtils.loadAnimation(getActivity(), 17432577)); + this.mListContainer.startAnimation(AnimationUtils.loadAnimation(getActivity(), 17432576)); + } + for (;;) + { + this.mProgressContainer.setVisibility(8); + this.mListContainer.setVisibility(0); + return; + this.mProgressContainer.clearAnimation(); + this.mListContainer.clearAnimation(); + } + } + if (paramBoolean2) + { + this.mProgressContainer.startAnimation(AnimationUtils.loadAnimation(getActivity(), 17432576)); + this.mListContainer.startAnimation(AnimationUtils.loadAnimation(getActivity(), 17432577)); + } + for (;;) + { + this.mProgressContainer.setVisibility(0); + this.mListContainer.setVisibility(8); + return; + this.mProgressContainer.clearAnimation(); + this.mListContainer.clearAnimation(); + } + } + + public ListAdapter getListAdapter() + { + return this.mAdapter; + } + + public ListView getListView() + { + ensureList(); + return this.mList; + } + + public long getSelectedItemId() + { + ensureList(); + return this.mList.getSelectedItemId(); + } + + public int getSelectedItemPosition() + { + ensureList(); + return this.mList.getSelectedItemPosition(); + } + + public View onCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle) + { + paramViewGroup = getActivity(); + paramLayoutInflater = new FrameLayout(paramViewGroup); + paramBundle = new LinearLayout(paramViewGroup); + paramBundle.setId(16711682); + paramBundle.setOrientation(1); + paramBundle.setVisibility(8); + paramBundle.setGravity(17); + paramBundle.addView(new ProgressBar(paramViewGroup, null, 16842874), new FrameLayout.LayoutParams(-2, -2)); + paramLayoutInflater.addView(paramBundle, new FrameLayout.LayoutParams(-1, -1)); + paramViewGroup = new FrameLayout(paramViewGroup); + paramViewGroup.setId(16711683); + paramBundle = new TextView(getActivity()); + paramBundle.setId(16711681); + paramBundle.setGravity(17); + paramViewGroup.addView(paramBundle, new FrameLayout.LayoutParams(-1, -1)); + paramBundle = new ListView(getActivity()); + paramBundle.setId(16908298); + paramBundle.setDrawSelectorOnTop(false); + paramViewGroup.addView(paramBundle, new FrameLayout.LayoutParams(-1, -1)); + paramLayoutInflater.addView(paramViewGroup, new FrameLayout.LayoutParams(-1, -1)); + paramLayoutInflater.setLayoutParams(new FrameLayout.LayoutParams(-1, -1)); + return paramLayoutInflater; + } + + public void onDestroyView() + { + this.mHandler.removeCallbacks(this.mRequestFocus); + this.mList = null; + this.mListShown = false; + this.mListContainer = null; + this.mProgressContainer = null; + this.mEmptyView = null; + this.mStandardEmptyView = null; + super.onDestroyView(); + } + + public void onListItemClick(ListView paramListView, View paramView, int paramInt, long paramLong) {} + + public void onViewCreated(View paramView, Bundle paramBundle) + { + super.onViewCreated(paramView, paramBundle); + ensureList(); + } + + public void setEmptyText(CharSequence paramCharSequence) + { + ensureList(); + if (this.mStandardEmptyView == null) { + throw new IllegalStateException("Can't be used with a custom content view"); + } + this.mStandardEmptyView.setText(paramCharSequence); + if (this.mEmptyText == null) { + this.mList.setEmptyView(this.mStandardEmptyView); + } + this.mEmptyText = paramCharSequence; + } + + public void setListAdapter(ListAdapter paramListAdapter) + { + boolean bool = false; + if (this.mAdapter != null) {} + for (int i = 1;; i = 0) + { + this.mAdapter = paramListAdapter; + if (this.mList != null) + { + this.mList.setAdapter(paramListAdapter); + if ((!this.mListShown) && (i == 0)) + { + if (getView().getWindowToken() != null) { + bool = true; + } + setListShown(true, bool); + } + } + return; + } + } + + public void setListShown(boolean paramBoolean) + { + setListShown(paramBoolean, true); + } + + public void setListShownNoAnimation(boolean paramBoolean) + { + setListShown(paramBoolean, false); + } + + public void setSelection(int paramInt) + { + ensureList(); + this.mList.setSelection(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ListFragment + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/LoaderManager.java b/com.tencent.token/classes.jar/android/support/v4/app/LoaderManager.java new file mode 100755 index 00000000000..40964a0b12b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/LoaderManager.java @@ -0,0 +1,44 @@ +package android.support.v4.app; + +import android.os.Bundle; +import android.support.v4.content.Loader; +import java.io.FileDescriptor; +import java.io.PrintWriter; + +public abstract class LoaderManager +{ + public static void enableDebugLogging(boolean paramBoolean) + { + LoaderManagerImpl.DEBUG = paramBoolean; + } + + public abstract void destroyLoader(int paramInt); + + public abstract void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString); + + public abstract Loader getLoader(int paramInt); + + public boolean hasRunningLoaders() + { + return false; + } + + public abstract Loader initLoader(int paramInt, Bundle paramBundle, LoaderCallbacks paramLoaderCallbacks); + + public abstract Loader restartLoader(int paramInt, Bundle paramBundle, LoaderCallbacks paramLoaderCallbacks); + + public static abstract interface LoaderCallbacks + { + public abstract Loader onCreateLoader(int paramInt, Bundle paramBundle); + + public abstract void onLoadFinished(Loader paramLoader, D paramD); + + public abstract void onLoaderReset(Loader paramLoader); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.LoaderManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/LoaderManagerImpl.java b/com.tencent.token/classes.jar/android/support/v4/app/LoaderManagerImpl.java new file mode 100755 index 00000000000..f455fb34a3c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/LoaderManagerImpl.java @@ -0,0 +1,727 @@ +package android.support.v4.app; + +import android.os.Bundle; +import android.support.v4.content.Loader; +import android.support.v4.content.Loader.OnLoadCompleteListener; +import android.support.v4.util.DebugUtils; +import android.support.v4.util.SparseArrayCompat; +import android.util.Log; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.lang.reflect.Modifier; + +class LoaderManagerImpl + extends LoaderManager +{ + static boolean DEBUG = false; + static final String TAG = "LoaderManager"; + FragmentActivity mActivity; + boolean mCreatingLoader; + final SparseArrayCompat mInactiveLoaders = new SparseArrayCompat(); + final SparseArrayCompat mLoaders = new SparseArrayCompat(); + boolean mRetaining; + boolean mRetainingStarted; + boolean mStarted; + final String mWho; + + LoaderManagerImpl(String paramString, FragmentActivity paramFragmentActivity, boolean paramBoolean) + { + this.mWho = paramString; + this.mActivity = paramFragmentActivity; + this.mStarted = paramBoolean; + } + + private LoaderInfo createAndInstallLoader(int paramInt, Bundle paramBundle, LoaderManager.LoaderCallbacks paramLoaderCallbacks) + { + try + { + this.mCreatingLoader = true; + paramBundle = createLoader(paramInt, paramBundle, paramLoaderCallbacks); + installLoader(paramBundle); + return paramBundle; + } + finally + { + this.mCreatingLoader = false; + } + } + + private LoaderInfo createLoader(int paramInt, Bundle paramBundle, LoaderManager.LoaderCallbacks paramLoaderCallbacks) + { + LoaderInfo localLoaderInfo = new LoaderInfo(paramInt, paramBundle, paramLoaderCallbacks); + localLoaderInfo.mLoader = paramLoaderCallbacks.onCreateLoader(paramInt, paramBundle); + return localLoaderInfo; + } + + public void destroyLoader(int paramInt) + { + if (this.mCreatingLoader) { + throw new IllegalStateException("Called while creating a loader"); + } + if (DEBUG) { + Log.v("LoaderManager", "destroyLoader in " + this + " of " + paramInt); + } + int i = this.mLoaders.indexOfKey(paramInt); + LoaderInfo localLoaderInfo; + if (i >= 0) + { + localLoaderInfo = (LoaderInfo)this.mLoaders.valueAt(i); + this.mLoaders.removeAt(i); + localLoaderInfo.destroy(); + } + paramInt = this.mInactiveLoaders.indexOfKey(paramInt); + if (paramInt >= 0) + { + localLoaderInfo = (LoaderInfo)this.mInactiveLoaders.valueAt(paramInt); + this.mInactiveLoaders.removeAt(paramInt); + localLoaderInfo.destroy(); + } + if ((this.mActivity != null) && (!hasRunningLoaders())) { + this.mActivity.mFragments.startPendingDeferredFragments(); + } + } + + void doDestroy() + { + if (!this.mRetaining) + { + if (DEBUG) { + Log.v("LoaderManager", "Destroying Active in " + this); + } + i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).destroy(); + i -= 1; + } + } + if (DEBUG) { + Log.v("LoaderManager", "Destroying Inactive in " + this); + } + int i = this.mInactiveLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mInactiveLoaders.valueAt(i)).destroy(); + i -= 1; + } + this.mInactiveLoaders.clear(); + } + + void doReportNextStart() + { + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).mReportNextStart = true; + i -= 1; + } + } + + void doReportStart() + { + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).reportStart(); + i -= 1; + } + } + + void doRetain() + { + if (DEBUG) { + Log.v("LoaderManager", "Retaining in " + this); + } + if (!this.mStarted) + { + RuntimeException localRuntimeException = new RuntimeException("here"); + localRuntimeException.fillInStackTrace(); + Log.w("LoaderManager", "Called doRetain when not started: " + this, localRuntimeException); + } + for (;;) + { + return; + this.mRetaining = true; + this.mStarted = false; + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).retain(); + i -= 1; + } + } + } + + void doStart() + { + if (DEBUG) { + Log.v("LoaderManager", "Starting in " + this); + } + if (this.mStarted) + { + RuntimeException localRuntimeException = new RuntimeException("here"); + localRuntimeException.fillInStackTrace(); + Log.w("LoaderManager", "Called doStart when already started: " + this, localRuntimeException); + } + for (;;) + { + return; + this.mStarted = true; + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).start(); + i -= 1; + } + } + } + + void doStop() + { + if (DEBUG) { + Log.v("LoaderManager", "Stopping in " + this); + } + if (!this.mStarted) + { + RuntimeException localRuntimeException = new RuntimeException("here"); + localRuntimeException.fillInStackTrace(); + Log.w("LoaderManager", "Called doStop when not started: " + this, localRuntimeException); + return; + } + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).stop(); + i -= 1; + } + this.mStarted = false; + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + String str; + int i; + LoaderInfo localLoaderInfo; + if (this.mLoaders.size() > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Active Loaders:"); + str = paramString + " "; + i = 0; + while (i < this.mLoaders.size()) + { + localLoaderInfo = (LoaderInfo)this.mLoaders.valueAt(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(this.mLoaders.keyAt(i)); + paramPrintWriter.print(": "); + paramPrintWriter.println(localLoaderInfo.toString()); + localLoaderInfo.dump(str, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + i += 1; + } + } + if (this.mInactiveLoaders.size() > 0) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Inactive Loaders:"); + str = paramString + " "; + i = 0; + while (i < this.mInactiveLoaders.size()) + { + localLoaderInfo = (LoaderInfo)this.mInactiveLoaders.valueAt(i); + paramPrintWriter.print(paramString); + paramPrintWriter.print(" #"); + paramPrintWriter.print(this.mInactiveLoaders.keyAt(i)); + paramPrintWriter.print(": "); + paramPrintWriter.println(localLoaderInfo.toString()); + localLoaderInfo.dump(str, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + i += 1; + } + } + } + + void finishRetain() + { + if (this.mRetaining) + { + if (DEBUG) { + Log.v("LoaderManager", "Finished Retaining in " + this); + } + this.mRetaining = false; + int i = this.mLoaders.size() - 1; + while (i >= 0) + { + ((LoaderInfo)this.mLoaders.valueAt(i)).finishRetain(); + i -= 1; + } + } + } + + public Loader getLoader(int paramInt) + { + if (this.mCreatingLoader) { + throw new IllegalStateException("Called while creating a loader"); + } + LoaderInfo localLoaderInfo = (LoaderInfo)this.mLoaders.get(paramInt); + if (localLoaderInfo != null) + { + if (localLoaderInfo.mPendingLoader != null) { + return localLoaderInfo.mPendingLoader.mLoader; + } + return localLoaderInfo.mLoader; + } + return null; + } + + public boolean hasRunningLoaders() + { + boolean bool2 = false; + int j = this.mLoaders.size(); + int i = 0; + if (i < j) + { + LoaderInfo localLoaderInfo = (LoaderInfo)this.mLoaders.valueAt(i); + if ((localLoaderInfo.mStarted) && (!localLoaderInfo.mDeliveredData)) {} + for (boolean bool1 = true;; bool1 = false) + { + bool2 |= bool1; + i += 1; + break; + } + } + return bool2; + } + + public Loader initLoader(int paramInt, Bundle paramBundle, LoaderManager.LoaderCallbacks paramLoaderCallbacks) + { + if (this.mCreatingLoader) { + throw new IllegalStateException("Called while creating a loader"); + } + LoaderInfo localLoaderInfo = (LoaderInfo)this.mLoaders.get(paramInt); + if (DEBUG) { + Log.v("LoaderManager", "initLoader in " + this + ": args=" + paramBundle); + } + if (localLoaderInfo == null) + { + paramLoaderCallbacks = createAndInstallLoader(paramInt, paramBundle, paramLoaderCallbacks); + paramBundle = paramLoaderCallbacks; + if (DEBUG) { + Log.v("LoaderManager", " Created new loader " + paramLoaderCallbacks); + } + } + for (paramBundle = paramLoaderCallbacks;; paramBundle = localLoaderInfo) + { + if ((paramBundle.mHaveData) && (this.mStarted)) { + paramBundle.callOnLoadFinished(paramBundle.mLoader, paramBundle.mData); + } + return paramBundle.mLoader; + if (DEBUG) { + Log.v("LoaderManager", " Re-using existing loader " + localLoaderInfo); + } + localLoaderInfo.mCallbacks = paramLoaderCallbacks; + } + } + + void installLoader(LoaderInfo paramLoaderInfo) + { + this.mLoaders.put(paramLoaderInfo.mId, paramLoaderInfo); + if (this.mStarted) { + paramLoaderInfo.start(); + } + } + + public Loader restartLoader(int paramInt, Bundle paramBundle, LoaderManager.LoaderCallbacks paramLoaderCallbacks) + { + if (this.mCreatingLoader) { + throw new IllegalStateException("Called while creating a loader"); + } + LoaderInfo localLoaderInfo1 = (LoaderInfo)this.mLoaders.get(paramInt); + if (DEBUG) { + Log.v("LoaderManager", "restartLoader in " + this + ": args=" + paramBundle); + } + if (localLoaderInfo1 != null) + { + LoaderInfo localLoaderInfo2 = (LoaderInfo)this.mInactiveLoaders.get(paramInt); + if (localLoaderInfo2 == null) { + break label309; + } + if (!localLoaderInfo1.mHaveData) { + break label175; + } + if (DEBUG) { + Log.v("LoaderManager", " Removing last inactive loader: " + localLoaderInfo1); + } + localLoaderInfo2.mDeliveredData = false; + localLoaderInfo2.destroy(); + localLoaderInfo1.mLoader.abandon(); + this.mInactiveLoaders.put(paramInt, localLoaderInfo1); + } + for (;;) + { + return createAndInstallLoader(paramInt, paramBundle, paramLoaderCallbacks).mLoader; + label175: + if (!localLoaderInfo1.mStarted) + { + if (DEBUG) { + Log.v("LoaderManager", " Current loader is stopped; replacing"); + } + this.mLoaders.put(paramInt, null); + localLoaderInfo1.destroy(); + } + else + { + if (localLoaderInfo1.mPendingLoader != null) + { + if (DEBUG) { + Log.v("LoaderManager", " Removing pending loader: " + localLoaderInfo1.mPendingLoader); + } + localLoaderInfo1.mPendingLoader.destroy(); + localLoaderInfo1.mPendingLoader = null; + } + if (DEBUG) { + Log.v("LoaderManager", " Enqueuing as new pending loader"); + } + localLoaderInfo1.mPendingLoader = createLoader(paramInt, paramBundle, paramLoaderCallbacks); + return localLoaderInfo1.mPendingLoader.mLoader; + label309: + if (DEBUG) { + Log.v("LoaderManager", " Making last loader inactive: " + localLoaderInfo1); + } + localLoaderInfo1.mLoader.abandon(); + this.mInactiveLoaders.put(paramInt, localLoaderInfo1); + } + } + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(128); + localStringBuilder.append("LoaderManager{"); + localStringBuilder.append(Integer.toHexString(System.identityHashCode(this))); + localStringBuilder.append(" in "); + DebugUtils.buildShortClassTag(this.mActivity, localStringBuilder); + localStringBuilder.append("}}"); + return localStringBuilder.toString(); + } + + void updateActivity(FragmentActivity paramFragmentActivity) + { + this.mActivity = paramFragmentActivity; + } + + final class LoaderInfo + implements Loader.OnLoadCompleteListener + { + final Bundle mArgs; + LoaderManager.LoaderCallbacks mCallbacks; + Object mData; + boolean mDeliveredData; + boolean mDestroyed; + boolean mHaveData; + final int mId; + boolean mListenerRegistered; + Loader mLoader; + LoaderInfo mPendingLoader; + boolean mReportNextStart; + boolean mRetaining; + boolean mRetainingStarted; + boolean mStarted; + + public LoaderInfo(Bundle paramBundle, LoaderManager.LoaderCallbacks paramLoaderCallbacks) + { + this.mId = paramBundle; + this.mArgs = paramLoaderCallbacks; + Object localObject; + this.mCallbacks = localObject; + } + + void callOnLoadFinished(Loader paramLoader, Object paramObject) + { + String str; + if (this.mCallbacks != null) + { + str = null; + if (LoaderManagerImpl.this.mActivity != null) + { + str = LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause; + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = "onLoadFinished"; + } + } + try + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " onLoadFinished in " + paramLoader + ": " + paramLoader.dataToString(paramObject)); + } + this.mCallbacks.onLoadFinished(paramLoader, paramObject); + if (LoaderManagerImpl.this.mActivity != null) { + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = str; + } + this.mDeliveredData = true; + return; + } + finally + { + if (LoaderManagerImpl.this.mActivity != null) { + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = str; + } + } + } + + void destroy() + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Destroying: " + this); + } + this.mDestroyed = true; + boolean bool = this.mDeliveredData; + this.mDeliveredData = false; + String str; + if ((this.mCallbacks != null) && (this.mLoader != null) && (this.mHaveData) && (bool)) + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Reseting: " + this); + } + str = null; + if (LoaderManagerImpl.this.mActivity != null) + { + str = LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause; + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = "onLoaderReset"; + } + } + try + { + this.mCallbacks.onLoaderReset(this.mLoader); + if (LoaderManagerImpl.this.mActivity != null) { + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = str; + } + this.mCallbacks = null; + this.mData = null; + this.mHaveData = false; + if (this.mLoader != null) + { + if (this.mListenerRegistered) + { + this.mListenerRegistered = false; + this.mLoader.unregisterListener(this); + } + this.mLoader.reset(); + } + if (this.mPendingLoader != null) { + this.mPendingLoader.destroy(); + } + return; + } + finally + { + if (LoaderManagerImpl.this.mActivity != null) { + LoaderManagerImpl.this.mActivity.mFragments.mNoTransactionsBecause = str; + } + } + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mId="); + paramPrintWriter.print(this.mId); + paramPrintWriter.print(" mArgs="); + paramPrintWriter.println(this.mArgs); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mCallbacks="); + paramPrintWriter.println(this.mCallbacks); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mLoader="); + paramPrintWriter.println(this.mLoader); + if (this.mLoader != null) { + this.mLoader.dump(paramString + " ", paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + if ((this.mHaveData) || (this.mDeliveredData)) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mHaveData="); + paramPrintWriter.print(this.mHaveData); + paramPrintWriter.print(" mDeliveredData="); + paramPrintWriter.println(this.mDeliveredData); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mData="); + paramPrintWriter.println(this.mData); + } + paramPrintWriter.print(paramString); + paramPrintWriter.print("mStarted="); + paramPrintWriter.print(this.mStarted); + paramPrintWriter.print(" mReportNextStart="); + paramPrintWriter.print(this.mReportNextStart); + paramPrintWriter.print(" mDestroyed="); + paramPrintWriter.println(this.mDestroyed); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mRetaining="); + paramPrintWriter.print(this.mRetaining); + paramPrintWriter.print(" mRetainingStarted="); + paramPrintWriter.print(this.mRetainingStarted); + paramPrintWriter.print(" mListenerRegistered="); + paramPrintWriter.println(this.mListenerRegistered); + if (this.mPendingLoader != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.println("Pending Loader "); + paramPrintWriter.print(this.mPendingLoader); + paramPrintWriter.println(":"); + this.mPendingLoader.dump(paramString + " ", paramFileDescriptor, paramPrintWriter, paramArrayOfString); + } + } + + void finishRetain() + { + if (this.mRetaining) + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Finished Retaining: " + this); + } + this.mRetaining = false; + if ((this.mStarted != this.mRetainingStarted) && (!this.mStarted)) { + stop(); + } + } + if ((this.mStarted) && (this.mHaveData) && (!this.mReportNextStart)) { + callOnLoadFinished(this.mLoader, this.mData); + } + } + + public void onLoadComplete(Loader paramLoader, Object paramObject) + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", "onLoadComplete: " + this); + } + if (this.mDestroyed) { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Ignoring load complete -- destroyed"); + } + } + do + { + do + { + return; + if (LoaderManagerImpl.this.mLoaders.get(this.mId) == this) { + break; + } + } while (!LoaderManagerImpl.DEBUG); + Log.v("LoaderManager", " Ignoring load complete -- not active"); + return; + LoaderInfo localLoaderInfo = this.mPendingLoader; + if (localLoaderInfo != null) + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Switching to pending loader: " + localLoaderInfo); + } + this.mPendingLoader = null; + LoaderManagerImpl.this.mLoaders.put(this.mId, null); + destroy(); + LoaderManagerImpl.this.installLoader(localLoaderInfo); + return; + } + if ((this.mData != paramObject) || (!this.mHaveData)) + { + this.mData = paramObject; + this.mHaveData = true; + if (this.mStarted) { + callOnLoadFinished(paramLoader, paramObject); + } + } + paramLoader = (LoaderInfo)LoaderManagerImpl.this.mInactiveLoaders.get(this.mId); + if ((paramLoader != null) && (paramLoader != this)) + { + paramLoader.mDeliveredData = false; + paramLoader.destroy(); + LoaderManagerImpl.this.mInactiveLoaders.remove(this.mId); + } + } while ((LoaderManagerImpl.this.mActivity == null) || (LoaderManagerImpl.this.hasRunningLoaders())); + LoaderManagerImpl.this.mActivity.mFragments.startPendingDeferredFragments(); + } + + void reportStart() + { + if ((this.mStarted) && (this.mReportNextStart)) + { + this.mReportNextStart = false; + if (this.mHaveData) { + callOnLoadFinished(this.mLoader, this.mData); + } + } + } + + void retain() + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Retaining: " + this); + } + this.mRetaining = true; + this.mRetainingStarted = this.mStarted; + this.mStarted = false; + this.mCallbacks = null; + } + + void start() + { + if ((this.mRetaining) && (this.mRetainingStarted)) { + this.mStarted = true; + } + do + { + do + { + return; + } while (this.mStarted); + this.mStarted = true; + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Starting: " + this); + } + if ((this.mLoader == null) && (this.mCallbacks != null)) { + this.mLoader = this.mCallbacks.onCreateLoader(this.mId, this.mArgs); + } + } while (this.mLoader == null); + if ((this.mLoader.getClass().isMemberClass()) && (!Modifier.isStatic(this.mLoader.getClass().getModifiers()))) { + throw new IllegalArgumentException("Object returned from onCreateLoader must not be a non-static inner member class: " + this.mLoader); + } + if (!this.mListenerRegistered) + { + this.mLoader.registerListener(this.mId, this); + this.mListenerRegistered = true; + } + this.mLoader.startLoading(); + } + + void stop() + { + if (LoaderManagerImpl.DEBUG) { + Log.v("LoaderManager", " Stopping: " + this); + } + this.mStarted = false; + if ((!this.mRetaining) && (this.mLoader != null) && (this.mListenerRegistered)) + { + this.mListenerRegistered = false; + this.mLoader.unregisterListener(this); + this.mLoader.stopLoading(); + } + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(64); + localStringBuilder.append("LoaderInfo{"); + localStringBuilder.append(Integer.toHexString(System.identityHashCode(this))); + localStringBuilder.append(" #"); + localStringBuilder.append(this.mId); + localStringBuilder.append(" : "); + DebugUtils.buildShortClassTag(this.mLoader, localStringBuilder); + localStringBuilder.append("}}"); + return localStringBuilder.toString(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.LoaderManagerImpl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NavUtils.java b/com.tencent.token/classes.jar/android/support/v4/app/NavUtils.java new file mode 100755 index 00000000000..26368419bcc --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NavUtils.java @@ -0,0 +1,215 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.support.v4.content.IntentCompat; +import android.util.Log; + +public class NavUtils +{ + private static final NavUtilsImpl IMPL = new NavUtilsImplBase(); + public static final String PARENT_ACTIVITY = "android.support.PARENT_ACTIVITY"; + private static final String TAG = "NavUtils"; + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new NavUtilsImplJB(); + return; + } + } + + public static Intent getParentActivityIntent(Activity paramActivity) + { + return IMPL.getParentActivityIntent(paramActivity); + } + + public static Intent getParentActivityIntent(Context paramContext, ComponentName paramComponentName) + throws PackageManager.NameNotFoundException + { + String str = getParentActivityName(paramContext, paramComponentName); + if (str == null) { + return null; + } + paramComponentName = new ComponentName(paramComponentName.getPackageName(), str); + if (getParentActivityName(paramContext, paramComponentName) == null) { + return IntentCompat.makeMainActivity(paramComponentName); + } + return new Intent().setComponent(paramComponentName); + } + + public static Intent getParentActivityIntent(Context paramContext, Class paramClass) + throws PackageManager.NameNotFoundException + { + paramClass = getParentActivityName(paramContext, new ComponentName(paramContext, paramClass)); + if (paramClass == null) { + return null; + } + paramClass = new ComponentName(paramContext, paramClass); + if (getParentActivityName(paramContext, paramClass) == null) { + return IntentCompat.makeMainActivity(paramClass); + } + return new Intent().setComponent(paramClass); + } + + public static String getParentActivityName(Activity paramActivity) + { + try + { + paramActivity = getParentActivityName(paramActivity, paramActivity.getComponentName()); + return paramActivity; + } + catch (PackageManager.NameNotFoundException paramActivity) + { + throw new IllegalArgumentException(paramActivity); + } + } + + public static String getParentActivityName(Context paramContext, ComponentName paramComponentName) + throws PackageManager.NameNotFoundException + { + paramComponentName = paramContext.getPackageManager().getActivityInfo(paramComponentName, 128); + return IMPL.getParentActivityName(paramContext, paramComponentName); + } + + public static void navigateUpFromSameTask(Activity paramActivity) + { + Intent localIntent = getParentActivityIntent(paramActivity); + if (localIntent == null) { + throw new IllegalArgumentException("Activity " + paramActivity.getClass().getSimpleName() + " does not have a parent activity name specified." + " (Did you forget to add the android.support.PARENT_ACTIVITY " + " element in your manifest?)"); + } + navigateUpTo(paramActivity, localIntent); + } + + public static void navigateUpTo(Activity paramActivity, Intent paramIntent) + { + IMPL.navigateUpTo(paramActivity, paramIntent); + } + + public static boolean shouldUpRecreateTask(Activity paramActivity, Intent paramIntent) + { + return IMPL.shouldUpRecreateTask(paramActivity, paramIntent); + } + + static abstract interface NavUtilsImpl + { + public abstract Intent getParentActivityIntent(Activity paramActivity); + + public abstract String getParentActivityName(Context paramContext, ActivityInfo paramActivityInfo); + + public abstract void navigateUpTo(Activity paramActivity, Intent paramIntent); + + public abstract boolean shouldUpRecreateTask(Activity paramActivity, Intent paramIntent); + } + + static class NavUtilsImplBase + implements NavUtils.NavUtilsImpl + { + public Intent getParentActivityIntent(Activity paramActivity) + { + String str = NavUtils.getParentActivityName(paramActivity); + if (str == null) { + return null; + } + ComponentName localComponentName = new ComponentName(paramActivity, str); + try + { + if (NavUtils.getParentActivityName(paramActivity, localComponentName) == null) { + paramActivity = IntentCompat.makeMainActivity(localComponentName); + } else { + paramActivity = new Intent().setComponent(localComponentName); + } + } + catch (PackageManager.NameNotFoundException paramActivity) + { + Log.e("NavUtils", "getParentActivityIntent: bad parentActivityName '" + str + "' in manifest"); + return null; + } + return paramActivity; + } + + public String getParentActivityName(Context paramContext, ActivityInfo paramActivityInfo) + { + if (paramActivityInfo.metaData == null) { + paramActivityInfo = null; + } + String str; + do + { + return paramActivityInfo; + str = paramActivityInfo.metaData.getString("android.support.PARENT_ACTIVITY"); + if (str == null) { + return null; + } + paramActivityInfo = str; + } while (str.charAt(0) != '.'); + return paramContext.getPackageName() + str; + } + + public void navigateUpTo(Activity paramActivity, Intent paramIntent) + { + paramIntent.addFlags(67108864); + paramActivity.startActivity(paramIntent); + paramActivity.finish(); + } + + public boolean shouldUpRecreateTask(Activity paramActivity, Intent paramIntent) + { + paramActivity = paramActivity.getIntent().getAction(); + return (paramActivity != null) && (!paramActivity.equals("android.intent.action.MAIN")); + } + } + + static class NavUtilsImplJB + extends NavUtils.NavUtilsImplBase + { + public Intent getParentActivityIntent(Activity paramActivity) + { + Intent localIntent2 = NavUtilsJB.getParentActivityIntent(paramActivity); + Intent localIntent1 = localIntent2; + if (localIntent2 == null) { + localIntent1 = superGetParentActivityIntent(paramActivity); + } + return localIntent1; + } + + public String getParentActivityName(Context paramContext, ActivityInfo paramActivityInfo) + { + String str2 = NavUtilsJB.getParentActivityName(paramActivityInfo); + String str1 = str2; + if (str2 == null) { + str1 = super.getParentActivityName(paramContext, paramActivityInfo); + } + return str1; + } + + public void navigateUpTo(Activity paramActivity, Intent paramIntent) + { + NavUtilsJB.navigateUpTo(paramActivity, paramIntent); + } + + public boolean shouldUpRecreateTask(Activity paramActivity, Intent paramIntent) + { + return NavUtilsJB.shouldUpRecreateTask(paramActivity, paramIntent); + } + + Intent superGetParentActivityIntent(Activity paramActivity) + { + return super.getParentActivityIntent(paramActivity); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NavUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NavUtilsJB.java b/com.tencent.token/classes.jar/android/support/v4/app/NavUtilsJB.java new file mode 100755 index 00000000000..0e248ab8067 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NavUtilsJB.java @@ -0,0 +1,34 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.Intent; +import android.content.pm.ActivityInfo; + +class NavUtilsJB +{ + public static Intent getParentActivityIntent(Activity paramActivity) + { + return paramActivity.getParentActivityIntent(); + } + + public static String getParentActivityName(ActivityInfo paramActivityInfo) + { + return paramActivityInfo.parentActivityName; + } + + public static void navigateUpTo(Activity paramActivity, Intent paramIntent) + { + paramActivity.navigateUpTo(paramIntent); + } + + public static boolean shouldUpRecreateTask(Activity paramActivity, Intent paramIntent) + { + return paramActivity.shouldUpRecreateTask(paramIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NavUtilsJB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NoSaveStateFrameLayout.java b/com.tencent.token/classes.jar/android/support/v4/app/NoSaveStateFrameLayout.java new file mode 100755 index 00000000000..6d55a044d87 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NoSaveStateFrameLayout.java @@ -0,0 +1,47 @@ +package android.support.v4.app; + +import android.content.Context; +import android.os.Parcelable; +import android.util.SparseArray; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.widget.FrameLayout; +import android.widget.FrameLayout.LayoutParams; + +class NoSaveStateFrameLayout + extends FrameLayout +{ + public NoSaveStateFrameLayout(Context paramContext) + { + super(paramContext); + } + + static ViewGroup wrap(View paramView) + { + NoSaveStateFrameLayout localNoSaveStateFrameLayout = new NoSaveStateFrameLayout(paramView.getContext()); + ViewGroup.LayoutParams localLayoutParams = paramView.getLayoutParams(); + if (localLayoutParams != null) { + localNoSaveStateFrameLayout.setLayoutParams(localLayoutParams); + } + paramView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1)); + localNoSaveStateFrameLayout.addView(paramView); + return localNoSaveStateFrameLayout; + } + + protected void dispatchRestoreInstanceState(SparseArray paramSparseArray) + { + dispatchThawSelfOnly(paramSparseArray); + } + + protected void dispatchSaveInstanceState(SparseArray paramSparseArray) + { + dispatchFreezeSelfOnly(paramSparseArray); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NoSaveStateFrameLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompat.java b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompat.java new file mode 100755 index 00000000000..c8b7f674553 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompat.java @@ -0,0 +1,528 @@ +package android.support.v4.app; + +import android.app.Notification; +import android.app.PendingIntent; +import android.content.Context; +import android.graphics.Bitmap; +import android.net.Uri; +import android.os.Build.VERSION; +import android.widget.RemoteViews; +import java.util.ArrayList; +import java.util.Iterator; + +public class NotificationCompat +{ + public static final int FLAG_HIGH_PRIORITY = 128; + private static final NotificationCompatImpl IMPL = new NotificationCompatImplBase(); + public static final int PRIORITY_DEFAULT = 0; + public static final int PRIORITY_HIGH = 1; + public static final int PRIORITY_LOW = -1; + public static final int PRIORITY_MAX = 2; + public static final int PRIORITY_MIN = -2; + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new NotificationCompatImplJellybean(); + return; + } + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new NotificationCompatImplIceCreamSandwich(); + return; + } + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new NotificationCompatImplHoneycomb(); + return; + } + } + + public static class Action + { + public PendingIntent actionIntent; + public int icon; + public CharSequence title; + + public Action(int paramInt, CharSequence paramCharSequence, PendingIntent paramPendingIntent) + { + this.icon = paramInt; + this.title = paramCharSequence; + this.actionIntent = paramPendingIntent; + } + } + + public static class BigPictureStyle + extends NotificationCompat.Style + { + Bitmap mBigLargeIcon; + boolean mBigLargeIconSet; + Bitmap mPicture; + + public BigPictureStyle() {} + + public BigPictureStyle(NotificationCompat.Builder paramBuilder) + { + setBuilder(paramBuilder); + } + + public BigPictureStyle bigLargeIcon(Bitmap paramBitmap) + { + this.mBigLargeIcon = paramBitmap; + this.mBigLargeIconSet = true; + return this; + } + + public BigPictureStyle bigPicture(Bitmap paramBitmap) + { + this.mPicture = paramBitmap; + return this; + } + + public BigPictureStyle setBigContentTitle(CharSequence paramCharSequence) + { + this.mBigContentTitle = paramCharSequence; + return this; + } + + public BigPictureStyle setSummaryText(CharSequence paramCharSequence) + { + this.mSummaryText = paramCharSequence; + this.mSummaryTextSet = true; + return this; + } + } + + public static class BigTextStyle + extends NotificationCompat.Style + { + CharSequence mBigText; + + public BigTextStyle() {} + + public BigTextStyle(NotificationCompat.Builder paramBuilder) + { + setBuilder(paramBuilder); + } + + public BigTextStyle bigText(CharSequence paramCharSequence) + { + this.mBigText = paramCharSequence; + return this; + } + + public BigTextStyle setBigContentTitle(CharSequence paramCharSequence) + { + this.mBigContentTitle = paramCharSequence; + return this; + } + + public BigTextStyle setSummaryText(CharSequence paramCharSequence) + { + this.mSummaryText = paramCharSequence; + this.mSummaryTextSet = true; + return this; + } + } + + public static class Builder + { + ArrayList mActions = new ArrayList(); + CharSequence mContentInfo; + PendingIntent mContentIntent; + CharSequence mContentText; + CharSequence mContentTitle; + Context mContext; + PendingIntent mFullScreenIntent; + Bitmap mLargeIcon; + Notification mNotification = new Notification(); + int mNumber; + int mPriority; + int mProgress; + boolean mProgressIndeterminate; + int mProgressMax; + NotificationCompat.Style mStyle; + CharSequence mSubText; + RemoteViews mTickerView; + boolean mUseChronometer; + + public Builder(Context paramContext) + { + this.mContext = paramContext; + this.mNotification.when = System.currentTimeMillis(); + this.mNotification.audioStreamType = -1; + this.mPriority = 0; + } + + private void setFlag(int paramInt, boolean paramBoolean) + { + if (paramBoolean) + { + localNotification = this.mNotification; + localNotification.flags |= paramInt; + return; + } + Notification localNotification = this.mNotification; + localNotification.flags &= (paramInt ^ 0xFFFFFFFF); + } + + public Builder addAction(int paramInt, CharSequence paramCharSequence, PendingIntent paramPendingIntent) + { + this.mActions.add(new NotificationCompat.Action(paramInt, paramCharSequence, paramPendingIntent)); + return this; + } + + public Notification build() + { + return NotificationCompat.IMPL.build(this); + } + + @Deprecated + public Notification getNotification() + { + return NotificationCompat.IMPL.build(this); + } + + public Builder setAutoCancel(boolean paramBoolean) + { + setFlag(16, paramBoolean); + return this; + } + + public Builder setContent(RemoteViews paramRemoteViews) + { + this.mNotification.contentView = paramRemoteViews; + return this; + } + + public Builder setContentInfo(CharSequence paramCharSequence) + { + this.mContentInfo = paramCharSequence; + return this; + } + + public Builder setContentIntent(PendingIntent paramPendingIntent) + { + this.mContentIntent = paramPendingIntent; + return this; + } + + public Builder setContentText(CharSequence paramCharSequence) + { + this.mContentText = paramCharSequence; + return this; + } + + public Builder setContentTitle(CharSequence paramCharSequence) + { + this.mContentTitle = paramCharSequence; + return this; + } + + public Builder setDefaults(int paramInt) + { + this.mNotification.defaults = paramInt; + if ((paramInt & 0x4) != 0) + { + Notification localNotification = this.mNotification; + localNotification.flags |= 0x1; + } + return this; + } + + public Builder setDeleteIntent(PendingIntent paramPendingIntent) + { + this.mNotification.deleteIntent = paramPendingIntent; + return this; + } + + public Builder setFullScreenIntent(PendingIntent paramPendingIntent, boolean paramBoolean) + { + this.mFullScreenIntent = paramPendingIntent; + setFlag(128, paramBoolean); + return this; + } + + public Builder setLargeIcon(Bitmap paramBitmap) + { + this.mLargeIcon = paramBitmap; + return this; + } + + public Builder setLights(int paramInt1, int paramInt2, int paramInt3) + { + int i = 1; + this.mNotification.ledARGB = paramInt1; + this.mNotification.ledOnMS = paramInt2; + this.mNotification.ledOffMS = paramInt3; + Notification localNotification; + if ((this.mNotification.ledOnMS != 0) && (this.mNotification.ledOffMS != 0)) + { + paramInt1 = 1; + localNotification = this.mNotification; + paramInt2 = this.mNotification.flags; + if (paramInt1 == 0) { + break label88; + } + } + label88: + for (paramInt1 = i;; paramInt1 = 0) + { + localNotification.flags = (paramInt1 | paramInt2 & 0xFFFFFFFE); + return this; + paramInt1 = 0; + break; + } + } + + public Builder setNumber(int paramInt) + { + this.mNumber = paramInt; + return this; + } + + public Builder setOngoing(boolean paramBoolean) + { + setFlag(2, paramBoolean); + return this; + } + + public Builder setOnlyAlertOnce(boolean paramBoolean) + { + setFlag(8, paramBoolean); + return this; + } + + public Builder setPriority(int paramInt) + { + this.mPriority = paramInt; + return this; + } + + public Builder setProgress(int paramInt1, int paramInt2, boolean paramBoolean) + { + this.mProgressMax = paramInt1; + this.mProgress = paramInt2; + this.mProgressIndeterminate = paramBoolean; + return this; + } + + public Builder setSmallIcon(int paramInt) + { + this.mNotification.icon = paramInt; + return this; + } + + public Builder setSmallIcon(int paramInt1, int paramInt2) + { + this.mNotification.icon = paramInt1; + this.mNotification.iconLevel = paramInt2; + return this; + } + + public Builder setSound(Uri paramUri) + { + this.mNotification.sound = paramUri; + this.mNotification.audioStreamType = -1; + return this; + } + + public Builder setSound(Uri paramUri, int paramInt) + { + this.mNotification.sound = paramUri; + this.mNotification.audioStreamType = paramInt; + return this; + } + + public Builder setStyle(NotificationCompat.Style paramStyle) + { + if (this.mStyle != paramStyle) + { + this.mStyle = paramStyle; + if (this.mStyle != null) { + this.mStyle.setBuilder(this); + } + } + return this; + } + + public Builder setSubText(CharSequence paramCharSequence) + { + this.mSubText = paramCharSequence; + return this; + } + + public Builder setTicker(CharSequence paramCharSequence) + { + this.mNotification.tickerText = paramCharSequence; + return this; + } + + public Builder setTicker(CharSequence paramCharSequence, RemoteViews paramRemoteViews) + { + this.mNotification.tickerText = paramCharSequence; + this.mTickerView = paramRemoteViews; + return this; + } + + public Builder setUsesChronometer(boolean paramBoolean) + { + this.mUseChronometer = paramBoolean; + return this; + } + + public Builder setVibrate(long[] paramArrayOfLong) + { + this.mNotification.vibrate = paramArrayOfLong; + return this; + } + + public Builder setWhen(long paramLong) + { + this.mNotification.when = paramLong; + return this; + } + } + + public static class InboxStyle + extends NotificationCompat.Style + { + ArrayList mTexts = new ArrayList(); + + public InboxStyle() {} + + public InboxStyle(NotificationCompat.Builder paramBuilder) + { + setBuilder(paramBuilder); + } + + public InboxStyle addLine(CharSequence paramCharSequence) + { + this.mTexts.add(paramCharSequence); + return this; + } + + public InboxStyle setBigContentTitle(CharSequence paramCharSequence) + { + this.mBigContentTitle = paramCharSequence; + return this; + } + + public InboxStyle setSummaryText(CharSequence paramCharSequence) + { + this.mSummaryText = paramCharSequence; + this.mSummaryTextSet = true; + return this; + } + } + + static abstract interface NotificationCompatImpl + { + public abstract Notification build(NotificationCompat.Builder paramBuilder); + } + + static class NotificationCompatImplBase + implements NotificationCompat.NotificationCompatImpl + { + public Notification build(NotificationCompat.Builder paramBuilder) + { + Notification localNotification = paramBuilder.mNotification; + localNotification.setLatestEventInfo(paramBuilder.mContext, paramBuilder.mContentTitle, paramBuilder.mContentText, paramBuilder.mContentIntent); + if (paramBuilder.mPriority > 0) { + localNotification.flags |= 0x80; + } + return localNotification; + } + } + + static class NotificationCompatImplHoneycomb + implements NotificationCompat.NotificationCompatImpl + { + public Notification build(NotificationCompat.Builder paramBuilder) + { + return NotificationCompatHoneycomb.add(paramBuilder.mContext, paramBuilder.mNotification, paramBuilder.mContentTitle, paramBuilder.mContentText, paramBuilder.mContentInfo, paramBuilder.mTickerView, paramBuilder.mNumber, paramBuilder.mContentIntent, paramBuilder.mFullScreenIntent, paramBuilder.mLargeIcon); + } + } + + static class NotificationCompatImplIceCreamSandwich + implements NotificationCompat.NotificationCompatImpl + { + public Notification build(NotificationCompat.Builder paramBuilder) + { + return NotificationCompatIceCreamSandwich.add(paramBuilder.mContext, paramBuilder.mNotification, paramBuilder.mContentTitle, paramBuilder.mContentText, paramBuilder.mContentInfo, paramBuilder.mTickerView, paramBuilder.mNumber, paramBuilder.mContentIntent, paramBuilder.mFullScreenIntent, paramBuilder.mLargeIcon, paramBuilder.mProgressMax, paramBuilder.mProgress, paramBuilder.mProgressIndeterminate); + } + } + + static class NotificationCompatImplJellybean + implements NotificationCompat.NotificationCompatImpl + { + public Notification build(NotificationCompat.Builder paramBuilder) + { + NotificationCompatJellybean localNotificationCompatJellybean = new NotificationCompatJellybean(paramBuilder.mContext, paramBuilder.mNotification, paramBuilder.mContentTitle, paramBuilder.mContentText, paramBuilder.mContentInfo, paramBuilder.mTickerView, paramBuilder.mNumber, paramBuilder.mContentIntent, paramBuilder.mFullScreenIntent, paramBuilder.mLargeIcon, paramBuilder.mProgressMax, paramBuilder.mProgress, paramBuilder.mProgressIndeterminate, paramBuilder.mUseChronometer, paramBuilder.mPriority, paramBuilder.mSubText); + Iterator localIterator = paramBuilder.mActions.iterator(); + while (localIterator.hasNext()) + { + NotificationCompat.Action localAction = (NotificationCompat.Action)localIterator.next(); + localNotificationCompatJellybean.addAction(localAction.icon, localAction.title, localAction.actionIntent); + } + if (paramBuilder.mStyle != null) + { + if (!(paramBuilder.mStyle instanceof NotificationCompat.BigTextStyle)) { + break label172; + } + paramBuilder = (NotificationCompat.BigTextStyle)paramBuilder.mStyle; + localNotificationCompatJellybean.addBigTextStyle(paramBuilder.mBigContentTitle, paramBuilder.mSummaryTextSet, paramBuilder.mSummaryText, paramBuilder.mBigText); + } + for (;;) + { + return localNotificationCompatJellybean.build(); + label172: + if ((paramBuilder.mStyle instanceof NotificationCompat.InboxStyle)) + { + paramBuilder = (NotificationCompat.InboxStyle)paramBuilder.mStyle; + localNotificationCompatJellybean.addInboxStyle(paramBuilder.mBigContentTitle, paramBuilder.mSummaryTextSet, paramBuilder.mSummaryText, paramBuilder.mTexts); + } + else if ((paramBuilder.mStyle instanceof NotificationCompat.BigPictureStyle)) + { + paramBuilder = (NotificationCompat.BigPictureStyle)paramBuilder.mStyle; + localNotificationCompatJellybean.addBigPictureStyle(paramBuilder.mBigContentTitle, paramBuilder.mSummaryTextSet, paramBuilder.mSummaryText, paramBuilder.mPicture, paramBuilder.mBigLargeIcon, paramBuilder.mBigLargeIconSet); + } + } + } + } + + public static abstract class Style + { + CharSequence mBigContentTitle; + NotificationCompat.Builder mBuilder; + CharSequence mSummaryText; + boolean mSummaryTextSet = false; + + public Notification build() + { + Notification localNotification = null; + if (this.mBuilder != null) { + localNotification = this.mBuilder.build(); + } + return localNotification; + } + + public void setBuilder(NotificationCompat.Builder paramBuilder) + { + if (this.mBuilder != paramBuilder) + { + this.mBuilder = paramBuilder; + if (this.mBuilder != null) { + this.mBuilder.setStyle(this); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NotificationCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatHoneycomb.java new file mode 100755 index 00000000000..e3d7be52f32 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatHoneycomb.java @@ -0,0 +1,55 @@ +package android.support.v4.app; + +import android.app.Notification; +import android.app.Notification.Builder; +import android.app.PendingIntent; +import android.content.Context; +import android.graphics.Bitmap; +import android.widget.RemoteViews; + +class NotificationCompatHoneycomb +{ + static Notification add(Context paramContext, Notification paramNotification, CharSequence paramCharSequence1, CharSequence paramCharSequence2, CharSequence paramCharSequence3, RemoteViews paramRemoteViews, int paramInt, PendingIntent paramPendingIntent1, PendingIntent paramPendingIntent2, Bitmap paramBitmap) + { + paramContext = new Notification.Builder(paramContext).setWhen(paramNotification.when).setSmallIcon(paramNotification.icon, paramNotification.iconLevel).setContent(paramNotification.contentView).setTicker(paramNotification.tickerText, paramRemoteViews).setSound(paramNotification.sound, paramNotification.audioStreamType).setVibrate(paramNotification.vibrate).setLights(paramNotification.ledARGB, paramNotification.ledOnMS, paramNotification.ledOffMS); + if ((paramNotification.flags & 0x2) != 0) + { + bool = true; + paramContext = paramContext.setOngoing(bool); + if ((paramNotification.flags & 0x8) == 0) { + break label209; + } + bool = true; + label108: + paramContext = paramContext.setOnlyAlertOnce(bool); + if ((paramNotification.flags & 0x10) == 0) { + break label215; + } + bool = true; + label128: + paramContext = paramContext.setAutoCancel(bool).setDefaults(paramNotification.defaults).setContentTitle(paramCharSequence1).setContentText(paramCharSequence2).setContentInfo(paramCharSequence3).setContentIntent(paramPendingIntent1).setDeleteIntent(paramNotification.deleteIntent); + if ((paramNotification.flags & 0x80) == 0) { + break label221; + } + } + label209: + label215: + label221: + for (boolean bool = true;; bool = false) + { + return paramContext.setFullScreenIntent(paramPendingIntent2, bool).setLargeIcon(paramBitmap).setNumber(paramInt).getNotification(); + bool = false; + break; + bool = false; + break label108; + bool = false; + break label128; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NotificationCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatIceCreamSandwich.java b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatIceCreamSandwich.java new file mode 100755 index 00000000000..33f4eae0db1 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatIceCreamSandwich.java @@ -0,0 +1,55 @@ +package android.support.v4.app; + +import android.app.Notification; +import android.app.Notification.Builder; +import android.app.PendingIntent; +import android.content.Context; +import android.graphics.Bitmap; +import android.widget.RemoteViews; + +class NotificationCompatIceCreamSandwich +{ + static Notification add(Context paramContext, Notification paramNotification, CharSequence paramCharSequence1, CharSequence paramCharSequence2, CharSequence paramCharSequence3, RemoteViews paramRemoteViews, int paramInt1, PendingIntent paramPendingIntent1, PendingIntent paramPendingIntent2, Bitmap paramBitmap, int paramInt2, int paramInt3, boolean paramBoolean) + { + paramContext = new Notification.Builder(paramContext).setWhen(paramNotification.when).setSmallIcon(paramNotification.icon, paramNotification.iconLevel).setContent(paramNotification.contentView).setTicker(paramNotification.tickerText, paramRemoteViews).setSound(paramNotification.sound, paramNotification.audioStreamType).setVibrate(paramNotification.vibrate).setLights(paramNotification.ledARGB, paramNotification.ledOnMS, paramNotification.ledOffMS); + if ((paramNotification.flags & 0x2) != 0) + { + bool = true; + paramContext = paramContext.setOngoing(bool); + if ((paramNotification.flags & 0x8) == 0) { + break label218; + } + bool = true; + label108: + paramContext = paramContext.setOnlyAlertOnce(bool); + if ((paramNotification.flags & 0x10) == 0) { + break label224; + } + bool = true; + label128: + paramContext = paramContext.setAutoCancel(bool).setDefaults(paramNotification.defaults).setContentTitle(paramCharSequence1).setContentText(paramCharSequence2).setContentInfo(paramCharSequence3).setContentIntent(paramPendingIntent1).setDeleteIntent(paramNotification.deleteIntent); + if ((paramNotification.flags & 0x80) == 0) { + break label230; + } + } + label218: + label224: + label230: + for (boolean bool = true;; bool = false) + { + return paramContext.setFullScreenIntent(paramPendingIntent2, bool).setLargeIcon(paramBitmap).setNumber(paramInt1).setProgress(paramInt2, paramInt3, paramBoolean).getNotification(); + bool = false; + break; + bool = false; + break label108; + bool = false; + break label128; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NotificationCompatIceCreamSandwich + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatJellybean.java b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatJellybean.java new file mode 100755 index 00000000000..cc3c077ec25 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/NotificationCompatJellybean.java @@ -0,0 +1,104 @@ +package android.support.v4.app; + +import android.app.Notification; +import android.app.Notification.BigPictureStyle; +import android.app.Notification.BigTextStyle; +import android.app.Notification.Builder; +import android.app.Notification.InboxStyle; +import android.app.PendingIntent; +import android.content.Context; +import android.graphics.Bitmap; +import android.widget.RemoteViews; +import java.util.ArrayList; +import java.util.Iterator; + +class NotificationCompatJellybean +{ + private Notification.Builder b; + + public NotificationCompatJellybean(Context paramContext, Notification paramNotification, CharSequence paramCharSequence1, CharSequence paramCharSequence2, CharSequence paramCharSequence3, RemoteViews paramRemoteViews, int paramInt1, PendingIntent paramPendingIntent1, PendingIntent paramPendingIntent2, Bitmap paramBitmap, int paramInt2, int paramInt3, boolean paramBoolean1, boolean paramBoolean2, int paramInt4, CharSequence paramCharSequence4) + { + paramContext = new Notification.Builder(paramContext).setWhen(paramNotification.when).setSmallIcon(paramNotification.icon, paramNotification.iconLevel).setContent(paramNotification.contentView).setTicker(paramNotification.tickerText, paramRemoteViews).setSound(paramNotification.sound, paramNotification.audioStreamType).setVibrate(paramNotification.vibrate).setLights(paramNotification.ledARGB, paramNotification.ledOnMS, paramNotification.ledOffMS); + if ((paramNotification.flags & 0x2) != 0) + { + bool = true; + paramContext = paramContext.setOngoing(bool); + if ((paramNotification.flags & 0x8) == 0) { + break label239; + } + bool = true; + label112: + paramContext = paramContext.setOnlyAlertOnce(bool); + if ((paramNotification.flags & 0x10) == 0) { + break label245; + } + bool = true; + label132: + paramContext = paramContext.setAutoCancel(bool).setDefaults(paramNotification.defaults).setContentTitle(paramCharSequence1).setContentText(paramCharSequence2).setSubText(paramCharSequence4).setContentInfo(paramCharSequence3).setContentIntent(paramPendingIntent1).setDeleteIntent(paramNotification.deleteIntent); + if ((paramNotification.flags & 0x80) == 0) { + break label251; + } + } + label239: + label245: + label251: + for (boolean bool = true;; bool = false) + { + this.b = paramContext.setFullScreenIntent(paramPendingIntent2, bool).setLargeIcon(paramBitmap).setNumber(paramInt1).setUsesChronometer(paramBoolean2).setPriority(paramInt4).setProgress(paramInt2, paramInt3, paramBoolean1); + return; + bool = false; + break; + bool = false; + break label112; + bool = false; + break label132; + } + } + + public void addAction(int paramInt, CharSequence paramCharSequence, PendingIntent paramPendingIntent) + { + this.b.addAction(paramInt, paramCharSequence, paramPendingIntent); + } + + public void addBigPictureStyle(CharSequence paramCharSequence1, boolean paramBoolean1, CharSequence paramCharSequence2, Bitmap paramBitmap1, Bitmap paramBitmap2, boolean paramBoolean2) + { + paramCharSequence1 = new Notification.BigPictureStyle(this.b).setBigContentTitle(paramCharSequence1).bigPicture(paramBitmap1); + if (paramBoolean2) { + paramCharSequence1.bigLargeIcon(paramBitmap2); + } + if (paramBoolean1) { + paramCharSequence1.setSummaryText(paramCharSequence2); + } + } + + public void addBigTextStyle(CharSequence paramCharSequence1, boolean paramBoolean, CharSequence paramCharSequence2, CharSequence paramCharSequence3) + { + paramCharSequence1 = new Notification.BigTextStyle(this.b).setBigContentTitle(paramCharSequence1).bigText(paramCharSequence3); + if (paramBoolean) { + paramCharSequence1.setSummaryText(paramCharSequence2); + } + } + + public void addInboxStyle(CharSequence paramCharSequence1, boolean paramBoolean, CharSequence paramCharSequence2, ArrayList paramArrayList) + { + paramCharSequence1 = new Notification.InboxStyle(this.b).setBigContentTitle(paramCharSequence1); + if (paramBoolean) { + paramCharSequence1.setSummaryText(paramCharSequence2); + } + paramCharSequence2 = paramArrayList.iterator(); + while (paramCharSequence2.hasNext()) { + paramCharSequence1.addLine((CharSequence)paramCharSequence2.next()); + } + } + + public Notification build() + { + return this.b.build(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.NotificationCompatJellybean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ServiceCompat.java b/com.tencent.token/classes.jar/android/support/v4/app/ServiceCompat.java new file mode 100755 index 00000000000..6b42d095aad --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ServiceCompat.java @@ -0,0 +1,12 @@ +package android.support.v4.app; + +public class ServiceCompat +{ + public static final int START_STICKY = 1; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ServiceCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ShareCompat.java b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompat.java new file mode 100755 index 00000000000..ae54f3aa13f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompat.java @@ -0,0 +1,619 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.ComponentName; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Build.VERSION; +import android.os.Parcelable; +import android.text.Html; +import android.text.Spanned; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import java.util.ArrayList; + +public class ShareCompat +{ + public static final String EXTRA_CALLING_ACTIVITY = "android.support.v4.app.EXTRA_CALLING_ACTIVITY"; + public static final String EXTRA_CALLING_PACKAGE = "android.support.v4.app.EXTRA_CALLING_PACKAGE"; + private static ShareCompatImpl IMPL = new ShareCompatImplBase(); + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new ShareCompatImplJB(); + return; + } + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new ShareCompatImplICS(); + return; + } + } + + public static void configureMenuItem(Menu paramMenu, int paramInt, IntentBuilder paramIntentBuilder) + { + paramMenu = paramMenu.findItem(paramInt); + if (paramMenu == null) { + throw new IllegalArgumentException("Could not find menu item with id " + paramInt + " in the supplied menu"); + } + configureMenuItem(paramMenu, paramIntentBuilder); + } + + public static void configureMenuItem(MenuItem paramMenuItem, IntentBuilder paramIntentBuilder) + { + IMPL.configureMenuItem(paramMenuItem, paramIntentBuilder); + } + + public static ComponentName getCallingActivity(Activity paramActivity) + { + ComponentName localComponentName2 = paramActivity.getCallingActivity(); + ComponentName localComponentName1 = localComponentName2; + if (localComponentName2 == null) { + localComponentName1 = (ComponentName)paramActivity.getIntent().getParcelableExtra("android.support.v4.app.EXTRA_CALLING_ACTIVITY"); + } + return localComponentName1; + } + + public static String getCallingPackage(Activity paramActivity) + { + String str2 = paramActivity.getCallingPackage(); + String str1 = str2; + if (str2 == null) { + str1 = paramActivity.getIntent().getStringExtra("android.support.v4.app.EXTRA_CALLING_PACKAGE"); + } + return str1; + } + + public static class IntentBuilder + { + private Activity mActivity; + private ArrayList mBccAddresses; + private ArrayList mCcAddresses; + private CharSequence mChooserTitle; + private Intent mIntent; + private ArrayList mStreams; + private ArrayList mToAddresses; + + private IntentBuilder(Activity paramActivity) + { + this.mActivity = paramActivity; + this.mIntent = new Intent().setAction("android.intent.action.SEND"); + this.mIntent.putExtra("android.support.v4.app.EXTRA_CALLING_PACKAGE", paramActivity.getPackageName()); + this.mIntent.putExtra("android.support.v4.app.EXTRA_CALLING_ACTIVITY", paramActivity.getComponentName()); + this.mIntent.addFlags(524288); + } + + private void combineArrayExtra(String paramString, ArrayList paramArrayList) + { + String[] arrayOfString1 = this.mIntent.getStringArrayExtra(paramString); + if (arrayOfString1 != null) {} + for (int i = arrayOfString1.length;; i = 0) + { + String[] arrayOfString2 = new String[paramArrayList.size() + i]; + paramArrayList.toArray(arrayOfString2); + if (arrayOfString1 != null) { + System.arraycopy(arrayOfString1, 0, arrayOfString2, paramArrayList.size(), i); + } + this.mIntent.putExtra(paramString, arrayOfString2); + return; + } + } + + private void combineArrayExtra(String paramString, String[] paramArrayOfString) + { + Intent localIntent = getIntent(); + String[] arrayOfString1 = localIntent.getStringArrayExtra(paramString); + if (arrayOfString1 != null) {} + for (int i = arrayOfString1.length;; i = 0) + { + String[] arrayOfString2 = new String[paramArrayOfString.length + i]; + if (arrayOfString1 != null) { + System.arraycopy(arrayOfString1, 0, arrayOfString2, 0, i); + } + System.arraycopy(paramArrayOfString, 0, arrayOfString2, i, paramArrayOfString.length); + localIntent.putExtra(paramString, arrayOfString2); + return; + } + } + + public static IntentBuilder from(Activity paramActivity) + { + return new IntentBuilder(paramActivity); + } + + public IntentBuilder addEmailBcc(String paramString) + { + if (this.mBccAddresses == null) { + this.mBccAddresses = new ArrayList(); + } + this.mBccAddresses.add(paramString); + return this; + } + + public IntentBuilder addEmailBcc(String[] paramArrayOfString) + { + combineArrayExtra("android.intent.extra.BCC", paramArrayOfString); + return this; + } + + public IntentBuilder addEmailCc(String paramString) + { + if (this.mCcAddresses == null) { + this.mCcAddresses = new ArrayList(); + } + this.mCcAddresses.add(paramString); + return this; + } + + public IntentBuilder addEmailCc(String[] paramArrayOfString) + { + combineArrayExtra("android.intent.extra.CC", paramArrayOfString); + return this; + } + + public IntentBuilder addEmailTo(String paramString) + { + if (this.mToAddresses == null) { + this.mToAddresses = new ArrayList(); + } + this.mToAddresses.add(paramString); + return this; + } + + public IntentBuilder addEmailTo(String[] paramArrayOfString) + { + combineArrayExtra("android.intent.extra.EMAIL", paramArrayOfString); + return this; + } + + public IntentBuilder addStream(Uri paramUri) + { + Uri localUri = (Uri)this.mIntent.getParcelableExtra("android.intent.extra.STREAM"); + if (localUri == null) { + return setStream(paramUri); + } + if (this.mStreams == null) { + this.mStreams = new ArrayList(); + } + if (localUri != null) + { + this.mIntent.removeExtra("android.intent.extra.STREAM"); + this.mStreams.add(localUri); + } + this.mStreams.add(paramUri); + return this; + } + + public Intent createChooserIntent() + { + return Intent.createChooser(getIntent(), this.mChooserTitle); + } + + Activity getActivity() + { + return this.mActivity; + } + + public Intent getIntent() + { + int i = 1; + if (this.mToAddresses != null) + { + combineArrayExtra("android.intent.extra.EMAIL", this.mToAddresses); + this.mToAddresses = null; + } + if (this.mCcAddresses != null) + { + combineArrayExtra("android.intent.extra.CC", this.mCcAddresses); + this.mCcAddresses = null; + } + if (this.mBccAddresses != null) + { + combineArrayExtra("android.intent.extra.BCC", this.mBccAddresses); + this.mBccAddresses = null; + } + if ((this.mStreams != null) && (this.mStreams.size() > 1)) + { + boolean bool = this.mIntent.getAction().equals("android.intent.action.SEND_MULTIPLE"); + if ((i == 0) && (bool)) + { + this.mIntent.setAction("android.intent.action.SEND"); + if ((this.mStreams == null) || (this.mStreams.isEmpty())) { + break label219; + } + this.mIntent.putExtra("android.intent.extra.STREAM", (Parcelable)this.mStreams.get(0)); + label155: + this.mStreams = null; + } + if ((i != 0) && (!bool)) + { + this.mIntent.setAction("android.intent.action.SEND_MULTIPLE"); + if ((this.mStreams == null) || (this.mStreams.isEmpty())) { + break label231; + } + this.mIntent.putParcelableArrayListExtra("android.intent.extra.STREAM", this.mStreams); + } + } + for (;;) + { + return this.mIntent; + i = 0; + break; + label219: + this.mIntent.removeExtra("android.intent.extra.STREAM"); + break label155; + label231: + this.mIntent.removeExtra("android.intent.extra.STREAM"); + } + } + + public IntentBuilder setChooserTitle(int paramInt) + { + return setChooserTitle(this.mActivity.getText(paramInt)); + } + + public IntentBuilder setChooserTitle(CharSequence paramCharSequence) + { + this.mChooserTitle = paramCharSequence; + return this; + } + + public IntentBuilder setEmailBcc(String[] paramArrayOfString) + { + this.mIntent.putExtra("android.intent.extra.BCC", paramArrayOfString); + return this; + } + + public IntentBuilder setEmailCc(String[] paramArrayOfString) + { + this.mIntent.putExtra("android.intent.extra.CC", paramArrayOfString); + return this; + } + + public IntentBuilder setEmailTo(String[] paramArrayOfString) + { + if (this.mToAddresses != null) { + this.mToAddresses = null; + } + this.mIntent.putExtra("android.intent.extra.EMAIL", paramArrayOfString); + return this; + } + + public IntentBuilder setHtmlText(String paramString) + { + this.mIntent.putExtra("android.intent.extra.HTML_TEXT", paramString); + if (!this.mIntent.hasExtra("android.intent.extra.TEXT")) { + setText(Html.fromHtml(paramString)); + } + return this; + } + + public IntentBuilder setStream(Uri paramUri) + { + if (!this.mIntent.getAction().equals("android.intent.action.SEND")) { + this.mIntent.setAction("android.intent.action.SEND"); + } + this.mStreams = null; + this.mIntent.putExtra("android.intent.extra.STREAM", paramUri); + return this; + } + + public IntentBuilder setSubject(String paramString) + { + this.mIntent.putExtra("android.intent.extra.SUBJECT", paramString); + return this; + } + + public IntentBuilder setText(CharSequence paramCharSequence) + { + this.mIntent.putExtra("android.intent.extra.TEXT", paramCharSequence); + return this; + } + + public IntentBuilder setType(String paramString) + { + this.mIntent.setType(paramString); + return this; + } + + public void startChooser() + { + this.mActivity.startActivity(createChooserIntent()); + } + } + + public static class IntentReader + { + private static final String TAG = "IntentReader"; + private Activity mActivity; + private ComponentName mCallingActivity; + private String mCallingPackage; + private Intent mIntent; + private ArrayList mStreams; + + private IntentReader(Activity paramActivity) + { + this.mActivity = paramActivity; + this.mIntent = paramActivity.getIntent(); + this.mCallingPackage = ShareCompat.getCallingPackage(paramActivity); + this.mCallingActivity = ShareCompat.getCallingActivity(paramActivity); + } + + public static IntentReader from(Activity paramActivity) + { + return new IntentReader(paramActivity); + } + + public ComponentName getCallingActivity() + { + return this.mCallingActivity; + } + + public Drawable getCallingActivityIcon() + { + if (this.mCallingActivity == null) { + return null; + } + Object localObject = this.mActivity.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getActivityIcon(this.mCallingActivity); + return localObject; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + Log.e("IntentReader", "Could not retrieve icon for calling activity", localNameNotFoundException); + } + return null; + } + + public Drawable getCallingApplicationIcon() + { + if (this.mCallingPackage == null) { + return null; + } + Object localObject = this.mActivity.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getApplicationIcon(this.mCallingPackage); + return localObject; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + Log.e("IntentReader", "Could not retrieve icon for calling application", localNameNotFoundException); + } + return null; + } + + public CharSequence getCallingApplicationLabel() + { + if (this.mCallingPackage == null) { + return null; + } + Object localObject = this.mActivity.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getApplicationLabel(((PackageManager)localObject).getApplicationInfo(this.mCallingPackage, 0)); + return localObject; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + Log.e("IntentReader", "Could not retrieve label for calling application", localNameNotFoundException); + } + return null; + } + + public String getCallingPackage() + { + return this.mCallingPackage; + } + + public String[] getEmailBcc() + { + return this.mIntent.getStringArrayExtra("android.intent.extra.BCC"); + } + + public String[] getEmailCc() + { + return this.mIntent.getStringArrayExtra("android.intent.extra.CC"); + } + + public String[] getEmailTo() + { + return this.mIntent.getStringArrayExtra("android.intent.extra.EMAIL"); + } + + public String getHtmlText() + { + String str2 = this.mIntent.getStringExtra("android.intent.extra.HTML_TEXT"); + String str1 = str2; + CharSequence localCharSequence; + if (this.mIntent == null) + { + localCharSequence = getText(); + if (!(localCharSequence instanceof Spanned)) { + break label41; + } + str1 = Html.toHtml((Spanned)localCharSequence); + } + label41: + do + { + return str1; + str1 = str2; + } while (localCharSequence == null); + return ShareCompat.IMPL.escapeHtml(localCharSequence); + } + + public Uri getStream() + { + return (Uri)this.mIntent.getParcelableExtra("android.intent.extra.STREAM"); + } + + public Uri getStream(int paramInt) + { + if ((this.mStreams == null) && (isMultipleShare())) { + this.mStreams = this.mIntent.getParcelableArrayListExtra("android.intent.extra.STREAM"); + } + if (this.mStreams != null) { + return (Uri)this.mStreams.get(paramInt); + } + if (paramInt == 0) { + return (Uri)this.mIntent.getParcelableExtra("android.intent.extra.STREAM"); + } + throw new IndexOutOfBoundsException("Stream items available: " + getStreamCount() + " index requested: " + paramInt); + } + + public int getStreamCount() + { + if ((this.mStreams == null) && (isMultipleShare())) { + this.mStreams = this.mIntent.getParcelableArrayListExtra("android.intent.extra.STREAM"); + } + if (this.mStreams != null) { + return this.mStreams.size(); + } + if (this.mIntent.hasExtra("android.intent.extra.STREAM")) { + return 1; + } + return 0; + } + + public String getSubject() + { + return this.mIntent.getStringExtra("android.intent.extra.SUBJECT"); + } + + public CharSequence getText() + { + return this.mIntent.getCharSequenceExtra("android.intent.extra.TEXT"); + } + + public String getType() + { + return this.mIntent.getType(); + } + + public boolean isMultipleShare() + { + return "android.intent.action.SEND_MULTIPLE".equals(this.mIntent.getAction()); + } + + public boolean isShareIntent() + { + String str = this.mIntent.getAction(); + return ("android.intent.action.SEND".equals(str)) || ("android.intent.action.SEND_MULTIPLE".equals(str)); + } + + public boolean isSingleShare() + { + return "android.intent.action.SEND".equals(this.mIntent.getAction()); + } + } + + static abstract interface ShareCompatImpl + { + public abstract void configureMenuItem(MenuItem paramMenuItem, ShareCompat.IntentBuilder paramIntentBuilder); + + public abstract String escapeHtml(CharSequence paramCharSequence); + } + + static class ShareCompatImplBase + implements ShareCompat.ShareCompatImpl + { + private static void withinStyle(StringBuilder paramStringBuilder, CharSequence paramCharSequence, int paramInt1, int paramInt2) + { + if (paramInt1 < paramInt2) + { + char c = paramCharSequence.charAt(paramInt1); + if (c == '<') { + paramStringBuilder.append("<"); + } + for (;;) + { + paramInt1 += 1; + break; + if (c == '>') + { + paramStringBuilder.append(">"); + } + else if (c == '&') + { + paramStringBuilder.append("&"); + } + else if ((c > '~') || (c < ' ')) + { + paramStringBuilder.append("&#" + c + ";"); + } + else if (c == ' ') + { + while ((paramInt1 + 1 < paramInt2) && (paramCharSequence.charAt(paramInt1 + 1) == ' ')) + { + paramStringBuilder.append(" "); + paramInt1 += 1; + } + paramStringBuilder.append(' '); + } + else + { + paramStringBuilder.append(c); + } + } + } + } + + public void configureMenuItem(MenuItem paramMenuItem, ShareCompat.IntentBuilder paramIntentBuilder) + { + paramMenuItem.setIntent(paramIntentBuilder.createChooserIntent()); + } + + public String escapeHtml(CharSequence paramCharSequence) + { + StringBuilder localStringBuilder = new StringBuilder(); + withinStyle(localStringBuilder, paramCharSequence, 0, paramCharSequence.length()); + return localStringBuilder.toString(); + } + } + + static class ShareCompatImplICS + extends ShareCompat.ShareCompatImplBase + { + public void configureMenuItem(MenuItem paramMenuItem, ShareCompat.IntentBuilder paramIntentBuilder) + { + ShareCompatICS.configureMenuItem(paramMenuItem, paramIntentBuilder.getActivity(), paramIntentBuilder.getIntent()); + if (shouldAddChooserIntent(paramMenuItem)) { + paramMenuItem.setIntent(paramIntentBuilder.createChooserIntent()); + } + } + + boolean shouldAddChooserIntent(MenuItem paramMenuItem) + { + return !paramMenuItem.hasSubMenu(); + } + } + + static class ShareCompatImplJB + extends ShareCompat.ShareCompatImplICS + { + public String escapeHtml(CharSequence paramCharSequence) + { + return ShareCompatJB.escapeHtml(paramCharSequence); + } + + boolean shouldAddChooserIntent(MenuItem paramMenuItem) + { + return false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ShareCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatICS.java b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatICS.java new file mode 100755 index 00000000000..2637221cd9d --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatICS.java @@ -0,0 +1,31 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.content.Intent; +import android.view.ActionProvider; +import android.view.MenuItem; +import android.widget.ShareActionProvider; + +class ShareCompatICS +{ + private static final String HISTORY_FILENAME_PREFIX = ".sharecompat_"; + + public static void configureMenuItem(MenuItem paramMenuItem, Activity paramActivity, Intent paramIntent) + { + Object localObject = paramMenuItem.getActionProvider(); + if (!(localObject instanceof ShareActionProvider)) {} + for (localObject = new ShareActionProvider(paramActivity);; localObject = (ShareActionProvider)localObject) + { + ((ShareActionProvider)localObject).setShareHistoryFileName(".sharecompat_" + paramActivity.getClass().getName()); + ((ShareActionProvider)localObject).setShareIntent(paramIntent); + paramMenuItem.setActionProvider((ActionProvider)localObject); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ShareCompatICS + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatJB.java b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatJB.java new file mode 100755 index 00000000000..4d0f43a8c0c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/ShareCompatJB.java @@ -0,0 +1,17 @@ +package android.support.v4.app; + +import android.text.Html; + +class ShareCompatJB +{ + public static String escapeHtml(CharSequence paramCharSequence) + { + return Html.escapeHtml(paramCharSequence); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.ShareCompatJB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/SuperNotCalledException.java b/com.tencent.token/classes.jar/android/support/v4/app/SuperNotCalledException.java new file mode 100755 index 00000000000..98bc54b5cfb --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/SuperNotCalledException.java @@ -0,0 +1,18 @@ +package android.support.v4.app; + +import android.util.AndroidRuntimeException; + +final class SuperNotCalledException + extends AndroidRuntimeException +{ + public SuperNotCalledException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.SuperNotCalledException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilder.java b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilder.java new file mode 100755 index 00000000000..59bcccfc605 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilder.java @@ -0,0 +1,219 @@ +package android.support.v4.app; + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager.NameNotFoundException; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.support.v4.content.ContextCompat; +import android.util.Log; +import java.util.ArrayList; +import java.util.Iterator; + +public class TaskStackBuilder + implements Iterable +{ + private static final TaskStackBuilderImpl IMPL = new TaskStackBuilderImplBase(); + private static final String TAG = "TaskStackBuilder"; + private final ArrayList mIntents = new ArrayList(); + private final Context mSourceContext; + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new TaskStackBuilderImplHoneycomb(); + return; + } + } + + private TaskStackBuilder(Context paramContext) + { + this.mSourceContext = paramContext; + } + + public static TaskStackBuilder create(Context paramContext) + { + return new TaskStackBuilder(paramContext); + } + + public static TaskStackBuilder from(Context paramContext) + { + return create(paramContext); + } + + public TaskStackBuilder addNextIntent(Intent paramIntent) + { + this.mIntents.add(paramIntent); + return this; + } + + public TaskStackBuilder addNextIntentWithParentStack(Intent paramIntent) + { + ComponentName localComponentName2 = paramIntent.getComponent(); + ComponentName localComponentName1 = localComponentName2; + if (localComponentName2 == null) { + localComponentName1 = paramIntent.resolveActivity(this.mSourceContext.getPackageManager()); + } + if (localComponentName1 != null) { + addParentStack(localComponentName1); + } + addNextIntent(paramIntent); + return this; + } + + public TaskStackBuilder addParentStack(Activity paramActivity) + { + Intent localIntent = NavUtils.getParentActivityIntent(paramActivity); + if (localIntent != null) + { + ComponentName localComponentName = localIntent.getComponent(); + paramActivity = localComponentName; + if (localComponentName == null) { + paramActivity = localIntent.resolveActivity(this.mSourceContext.getPackageManager()); + } + addParentStack(paramActivity); + addNextIntent(localIntent); + } + return this; + } + + public TaskStackBuilder addParentStack(ComponentName paramComponentName) + { + int i = this.mIntents.size(); + try + { + for (paramComponentName = NavUtils.getParentActivityIntent(this.mSourceContext, paramComponentName); paramComponentName != null; paramComponentName = NavUtils.getParentActivityIntent(this.mSourceContext, paramComponentName.getComponent())) { + this.mIntents.add(i, paramComponentName); + } + return this; + } + catch (PackageManager.NameNotFoundException paramComponentName) + { + Log.e("TaskStackBuilder", "Bad ComponentName while traversing activity parent metadata"); + throw new IllegalArgumentException(paramComponentName); + } + } + + public TaskStackBuilder addParentStack(Class paramClass) + { + return addParentStack(new ComponentName(this.mSourceContext, paramClass)); + } + + public Intent editIntentAt(int paramInt) + { + return (Intent)this.mIntents.get(paramInt); + } + + public Intent getIntent(int paramInt) + { + return editIntentAt(paramInt); + } + + public int getIntentCount() + { + return this.mIntents.size(); + } + + public Intent[] getIntents() + { + Intent[] arrayOfIntent = new Intent[this.mIntents.size()]; + if (arrayOfIntent.length == 0) {} + for (;;) + { + return arrayOfIntent; + arrayOfIntent[0] = new Intent((Intent)this.mIntents.get(0)).addFlags(268484608); + int i = 1; + while (i < arrayOfIntent.length) + { + arrayOfIntent[i] = new Intent((Intent)this.mIntents.get(i)); + i += 1; + } + } + } + + public PendingIntent getPendingIntent(int paramInt1, int paramInt2) + { + return getPendingIntent(paramInt1, paramInt2, null); + } + + public PendingIntent getPendingIntent(int paramInt1, int paramInt2, Bundle paramBundle) + { + if (this.mIntents.isEmpty()) { + throw new IllegalStateException("No intents added to TaskStackBuilder; cannot getPendingIntent"); + } + Intent[] arrayOfIntent = (Intent[])this.mIntents.toArray(new Intent[this.mIntents.size()]); + arrayOfIntent[0] = new Intent(arrayOfIntent[0]).addFlags(268484608); + return IMPL.getPendingIntent(this.mSourceContext, arrayOfIntent, paramInt1, paramInt2, paramBundle); + } + + public Iterator iterator() + { + return this.mIntents.iterator(); + } + + public void startActivities() + { + startActivities(null); + } + + public void startActivities(Bundle paramBundle) + { + if (this.mIntents.isEmpty()) { + throw new IllegalStateException("No intents added to TaskStackBuilder; cannot startActivities"); + } + Intent[] arrayOfIntent = (Intent[])this.mIntents.toArray(new Intent[this.mIntents.size()]); + arrayOfIntent[0] = new Intent(arrayOfIntent[0]).addFlags(268484608); + if (!ContextCompat.startActivities(this.mSourceContext, arrayOfIntent, paramBundle)) + { + paramBundle = new Intent(arrayOfIntent[(arrayOfIntent.length - 1)]); + paramBundle.addFlags(268435456); + this.mSourceContext.startActivity(paramBundle); + } + } + + static abstract interface TaskStackBuilderImpl + { + public abstract PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle); + } + + static class TaskStackBuilderImplBase + implements TaskStackBuilder.TaskStackBuilderImpl + { + public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) + { + paramArrayOfIntent = new Intent(paramArrayOfIntent[(paramArrayOfIntent.length - 1)]); + paramArrayOfIntent.addFlags(268435456); + return PendingIntent.getActivity(paramContext, paramInt1, paramArrayOfIntent, paramInt2); + } + } + + static class TaskStackBuilderImplHoneycomb + implements TaskStackBuilder.TaskStackBuilderImpl + { + public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) + { + paramArrayOfIntent[0] = new Intent(paramArrayOfIntent[0]).addFlags(268484608); + return TaskStackBuilderHoneycomb.getActivitiesPendingIntent(paramContext, paramInt1, paramArrayOfIntent, paramInt2); + } + } + + static class TaskStackBuilderImplJellybean + implements TaskStackBuilder.TaskStackBuilderImpl + { + public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) + { + paramArrayOfIntent[0] = new Intent(paramArrayOfIntent[0]).addFlags(268484608); + return TaskStackBuilderJellybean.getActivitiesPendingIntent(paramContext, paramInt1, paramArrayOfIntent, paramInt2, paramBundle); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.TaskStackBuilder + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderHoneycomb.java new file mode 100755 index 00000000000..cc7f810619f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderHoneycomb.java @@ -0,0 +1,19 @@ +package android.support.v4.app; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; + +public class TaskStackBuilderHoneycomb +{ + public static PendingIntent getActivitiesPendingIntent(Context paramContext, int paramInt1, Intent[] paramArrayOfIntent, int paramInt2) + { + return PendingIntent.getActivities(paramContext, paramInt1, paramArrayOfIntent, paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.TaskStackBuilderHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderJellybean.java b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderJellybean.java new file mode 100755 index 00000000000..43393d4ddbb --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/app/TaskStackBuilderJellybean.java @@ -0,0 +1,20 @@ +package android.support.v4.app; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + +class TaskStackBuilderJellybean +{ + public static PendingIntent getActivitiesPendingIntent(Context paramContext, int paramInt1, Intent[] paramArrayOfIntent, int paramInt2, Bundle paramBundle) + { + return PendingIntent.getActivities(paramContext, paramInt1, paramArrayOfIntent, paramInt2, paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.app.TaskStackBuilderJellybean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/AsyncTaskLoader.java b/com.tencent.token/classes.jar/android/support/v4/content/AsyncTaskLoader.java new file mode 100755 index 00000000000..2b32da24986 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/AsyncTaskLoader.java @@ -0,0 +1,230 @@ +package android.support.v4.content; + +import android.content.Context; +import android.os.Handler; +import android.os.SystemClock; +import android.support.v4.util.TimeUtils; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.concurrent.CountDownLatch; + +public abstract class AsyncTaskLoader + extends Loader +{ + static final boolean DEBUG = false; + static final String TAG = "AsyncTaskLoader"; + volatile AsyncTaskLoader.LoadTask mCancellingTask; + Handler mHandler; + long mLastLoadCompleteTime = -10000L; + volatile AsyncTaskLoader.LoadTask mTask; + long mUpdateThrottle; + + public AsyncTaskLoader(Context paramContext) + { + super(paramContext); + } + + public boolean cancelLoad() + { + if (this.mTask != null) + { + if (this.mCancellingTask != null) + { + if (this.mTask.waiting) + { + this.mTask.waiting = false; + this.mHandler.removeCallbacks(this.mTask); + } + this.mTask = null; + } + } + else { + return false; + } + if (this.mTask.waiting) + { + this.mTask.waiting = false; + this.mHandler.removeCallbacks(this.mTask); + this.mTask = null; + return false; + } + boolean bool = this.mTask.cancel(false); + if (bool) { + this.mCancellingTask = this.mTask; + } + this.mTask = null; + return bool; + } + + void dispatchOnCancelled(AsyncTaskLoader.LoadTask paramAsyncTaskLoader, D paramD) + { + onCanceled(paramD); + if (this.mCancellingTask == paramAsyncTaskLoader) + { + this.mLastLoadCompleteTime = SystemClock.uptimeMillis(); + this.mCancellingTask = null; + executePendingTask(); + } + } + + void dispatchOnLoadComplete(AsyncTaskLoader.LoadTask paramAsyncTaskLoader, D paramD) + { + if (this.mTask != paramAsyncTaskLoader) + { + dispatchOnCancelled(paramAsyncTaskLoader, paramD); + return; + } + if (isAbandoned()) + { + onCanceled(paramD); + return; + } + this.mLastLoadCompleteTime = SystemClock.uptimeMillis(); + this.mTask = null; + deliverResult(paramD); + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + super.dump(paramString, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + if (this.mTask != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mTask="); + paramPrintWriter.print(this.mTask); + paramPrintWriter.print(" waiting="); + paramPrintWriter.println(this.mTask.waiting); + } + if (this.mCancellingTask != null) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mCancellingTask="); + paramPrintWriter.print(this.mCancellingTask); + paramPrintWriter.print(" waiting="); + paramPrintWriter.println(this.mCancellingTask.waiting); + } + if (this.mUpdateThrottle != 0L) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mUpdateThrottle="); + TimeUtils.formatDuration(this.mUpdateThrottle, paramPrintWriter); + paramPrintWriter.print(" mLastLoadCompleteTime="); + TimeUtils.formatDuration(this.mLastLoadCompleteTime, SystemClock.uptimeMillis(), paramPrintWriter); + paramPrintWriter.println(); + } + } + + void executePendingTask() + { + if ((this.mCancellingTask == null) && (this.mTask != null)) + { + if (this.mTask.waiting) + { + this.mTask.waiting = false; + this.mHandler.removeCallbacks(this.mTask); + } + if ((this.mUpdateThrottle > 0L) && (SystemClock.uptimeMillis() < this.mLastLoadCompleteTime + this.mUpdateThrottle)) + { + this.mTask.waiting = true; + this.mHandler.postAtTime(this.mTask, this.mLastLoadCompleteTime + this.mUpdateThrottle); + } + } + else + { + return; + } + this.mTask.executeOnExecutor(ModernAsyncTask.THREAD_POOL_EXECUTOR, (Void[])null); + } + + public abstract D loadInBackground(); + + public void onCanceled(D paramD) {} + + protected void onForceLoad() + { + super.onForceLoad(); + cancelLoad(); + this.mTask = new LoadTask(); + executePendingTask(); + } + + protected D onLoadInBackground() + { + return loadInBackground(); + } + + public void setUpdateThrottle(long paramLong) + { + this.mUpdateThrottle = paramLong; + if (paramLong != 0L) { + this.mHandler = new Handler(); + } + } + + public void waitForLoader() + { + LoadTask localLoadTask = this.mTask; + if (localLoadTask != null) {} + try + { + localLoadTask.done.await(); + return; + } + catch (InterruptedException localInterruptedException) {} + } + + final class LoadTask + extends ModernAsyncTask + implements Runnable + { + private CountDownLatch done = new CountDownLatch(1); + D result; + boolean waiting; + + LoadTask() {} + + protected D doInBackground(Void... paramVarArgs) + { + this.result = AsyncTaskLoader.this.onLoadInBackground(); + return this.result; + } + + protected void onCancelled() + { + try + { + AsyncTaskLoader.this.dispatchOnCancelled(this, this.result); + return; + } + finally + { + this.done.countDown(); + } + } + + protected void onPostExecute(D paramD) + { + try + { + AsyncTaskLoader.this.dispatchOnLoadComplete(this, paramD); + return; + } + finally + { + this.done.countDown(); + } + } + + public void run() + { + this.waiting = false; + AsyncTaskLoader.this.executePendingTask(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.AsyncTaskLoader + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/ContextCompat.java b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompat.java new file mode 100755 index 00000000000..13a61680d5c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompat.java @@ -0,0 +1,36 @@ +package android.support.v4.content; + +import android.content.Context; +import android.content.Intent; +import android.os.Build.VERSION; +import android.os.Bundle; + +public class ContextCompat +{ + public static boolean startActivities(Context paramContext, Intent[] paramArrayOfIntent) + { + return startActivities(paramContext, paramArrayOfIntent, null); + } + + public static boolean startActivities(Context paramContext, Intent[] paramArrayOfIntent, Bundle paramBundle) + { + int i = Build.VERSION.SDK_INT; + if (i >= 16) + { + ContextCompatJellybean.startActivities(paramContext, paramArrayOfIntent, paramBundle); + return true; + } + if (i >= 11) + { + ContextCompatHoneycomb.startActivities(paramContext, paramArrayOfIntent); + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.ContextCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatHoneycomb.java new file mode 100755 index 00000000000..22d8898bd2e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatHoneycomb.java @@ -0,0 +1,18 @@ +package android.support.v4.content; + +import android.content.Context; +import android.content.Intent; + +class ContextCompatHoneycomb +{ + static void startActivities(Context paramContext, Intent[] paramArrayOfIntent) + { + paramContext.startActivities(paramArrayOfIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.ContextCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatJellybean.java b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatJellybean.java new file mode 100755 index 00000000000..72d863907f0 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/ContextCompatJellybean.java @@ -0,0 +1,19 @@ +package android.support.v4.content; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + +class ContextCompatJellybean +{ + public static void startActivities(Context paramContext, Intent[] paramArrayOfIntent, Bundle paramBundle) + { + paramContext.startActivities(paramArrayOfIntent, paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.ContextCompatJellybean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/CursorLoader.java b/com.tencent.token/classes.jar/android/support/v4/content/CursorLoader.java new file mode 100755 index 00000000000..523b8dd1854 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/CursorLoader.java @@ -0,0 +1,187 @@ +package android.support.v4.content; + +import android.content.ContentResolver; +import android.content.Context; +import android.database.ContentObserver; +import android.database.Cursor; +import android.net.Uri; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.Arrays; + +public class CursorLoader + extends AsyncTaskLoader +{ + Cursor mCursor; + final Loader.ForceLoadContentObserver mObserver = new Loader.ForceLoadContentObserver(this); + String[] mProjection; + String mSelection; + String[] mSelectionArgs; + String mSortOrder; + Uri mUri; + + public CursorLoader(Context paramContext) + { + super(paramContext); + } + + public CursorLoader(Context paramContext, Uri paramUri, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2) + { + super(paramContext); + this.mUri = paramUri; + this.mProjection = paramArrayOfString1; + this.mSelection = paramString1; + this.mSelectionArgs = paramArrayOfString2; + this.mSortOrder = paramString2; + } + + public void deliverResult(Cursor paramCursor) + { + if (isReset()) { + if (paramCursor != null) { + paramCursor.close(); + } + } + Cursor localCursor; + do + { + return; + localCursor = this.mCursor; + this.mCursor = paramCursor; + if (isStarted()) { + super.deliverResult(paramCursor); + } + } while ((localCursor == null) || (localCursor == paramCursor) || (localCursor.isClosed())); + localCursor.close(); + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + super.dump(paramString, paramFileDescriptor, paramPrintWriter, paramArrayOfString); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mUri="); + paramPrintWriter.println(this.mUri); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mProjection="); + paramPrintWriter.println(Arrays.toString(this.mProjection)); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mSelection="); + paramPrintWriter.println(this.mSelection); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mSelectionArgs="); + paramPrintWriter.println(Arrays.toString(this.mSelectionArgs)); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mSortOrder="); + paramPrintWriter.println(this.mSortOrder); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mCursor="); + paramPrintWriter.println(this.mCursor); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mContentChanged="); + paramPrintWriter.println(this.mContentChanged); + } + + public String[] getProjection() + { + return this.mProjection; + } + + public String getSelection() + { + return this.mSelection; + } + + public String[] getSelectionArgs() + { + return this.mSelectionArgs; + } + + public String getSortOrder() + { + return this.mSortOrder; + } + + public Uri getUri() + { + return this.mUri; + } + + public Cursor loadInBackground() + { + Cursor localCursor = getContext().getContentResolver().query(this.mUri, this.mProjection, this.mSelection, this.mSelectionArgs, this.mSortOrder); + if (localCursor != null) + { + localCursor.getCount(); + registerContentObserver(localCursor, this.mObserver); + } + return localCursor; + } + + public void onCanceled(Cursor paramCursor) + { + if ((paramCursor != null) && (!paramCursor.isClosed())) { + paramCursor.close(); + } + } + + protected void onReset() + { + super.onReset(); + onStopLoading(); + if ((this.mCursor != null) && (!this.mCursor.isClosed())) { + this.mCursor.close(); + } + this.mCursor = null; + } + + protected void onStartLoading() + { + if (this.mCursor != null) { + deliverResult(this.mCursor); + } + if ((takeContentChanged()) || (this.mCursor == null)) { + forceLoad(); + } + } + + protected void onStopLoading() + { + cancelLoad(); + } + + void registerContentObserver(Cursor paramCursor, ContentObserver paramContentObserver) + { + paramCursor.registerContentObserver(this.mObserver); + } + + public void setProjection(String[] paramArrayOfString) + { + this.mProjection = paramArrayOfString; + } + + public void setSelection(String paramString) + { + this.mSelection = paramString; + } + + public void setSelectionArgs(String[] paramArrayOfString) + { + this.mSelectionArgs = paramArrayOfString; + } + + public void setSortOrder(String paramString) + { + this.mSortOrder = paramString; + } + + public void setUri(Uri paramUri) + { + this.mUri = paramUri; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.CursorLoader + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/FileProvider.java b/com.tencent.token/classes.jar/android/support/v4/content/FileProvider.java new file mode 100755 index 00000000000..a2b8ec174e5 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/FileProvider.java @@ -0,0 +1,373 @@ +package android.support.v4.content; + +import android.content.ContentProvider; +import android.content.ContentValues; +import android.content.Context; +import android.content.pm.PackageManager; +import android.content.pm.ProviderInfo; +import android.content.res.XmlResourceParser; +import android.database.Cursor; +import android.database.MatrixCursor; +import android.net.Uri; +import android.net.Uri.Builder; +import android.os.Environment; +import android.os.ParcelFileDescriptor; +import android.text.TextUtils; +import android.webkit.MimeTypeMap; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Set; +import org.xmlpull.v1.XmlPullParserException; + +public class FileProvider + extends ContentProvider +{ + private static final String ATTR_NAME = "name"; + private static final String ATTR_PATH = "path"; + private static final String[] COLUMNS = { "_display_name", "_size" }; + private static final File DEVICE_ROOT = new File("/"); + private static final String META_DATA_FILE_PROVIDER_PATHS = "android.support.FILE_PROVIDER_PATHS"; + private static final String TAG_CACHE_PATH = "cache-path"; + private static final String TAG_EXTERNAL = "external-path"; + private static final String TAG_FILES_PATH = "files-path"; + private static final String TAG_ROOT_PATH = "root-path"; + private static HashMap sCache = new HashMap(); + private PathStrategy mStrategy; + + private static File buildPath(File paramFile, String... paramVarArgs) + { + int j = paramVarArgs.length; + int i = 0; + if (i < j) + { + String str = paramVarArgs[i]; + if (str == null) { + break label40; + } + paramFile = new File(paramFile, str); + } + label40: + for (;;) + { + i += 1; + break; + return paramFile; + } + } + + private static Object[] copyOf(Object[] paramArrayOfObject, int paramInt) + { + Object[] arrayOfObject = new Object[paramInt]; + System.arraycopy(paramArrayOfObject, 0, arrayOfObject, 0, paramInt); + return arrayOfObject; + } + + private static String[] copyOf(String[] paramArrayOfString, int paramInt) + { + String[] arrayOfString = new String[paramInt]; + System.arraycopy(paramArrayOfString, 0, arrayOfString, 0, paramInt); + return arrayOfString; + } + + private static PathStrategy getPathStrategy(Context paramContext, String paramString) + { + PathStrategy localPathStrategy1; + synchronized (sCache) + { + PathStrategy localPathStrategy2 = (PathStrategy)sCache.get(paramString); + localPathStrategy1 = localPathStrategy2; + if (localPathStrategy2 != null) {} + } + try + { + localPathStrategy1 = parsePathStrategy(paramContext, paramString); + sCache.put(paramString, localPathStrategy1); + return localPathStrategy1; + } + catch (IOException paramContext) + { + throw new IllegalArgumentException("Failed to parse android.support.FILE_PROVIDER_PATHS meta-data", paramContext); + paramContext = finally; + throw paramContext; + } + catch (XmlPullParserException paramContext) + { + throw new IllegalArgumentException("Failed to parse android.support.FILE_PROVIDER_PATHS meta-data", paramContext); + } + } + + public static Uri getUriForFile(Context paramContext, String paramString, File paramFile) + { + return getPathStrategy(paramContext, paramString).getUriForFile(paramFile); + } + + private static int modeToMode(String paramString) + { + if ("r".equals(paramString)) { + return 268435456; + } + if (("w".equals(paramString)) || ("wt".equals(paramString))) { + return 738197504; + } + if ("wa".equals(paramString)) { + return 704643072; + } + if ("rw".equals(paramString)) { + return 939524096; + } + if ("rwt".equals(paramString)) { + return 1006632960; + } + throw new IllegalArgumentException("Invalid mode: " + paramString); + } + + private static PathStrategy parsePathStrategy(Context paramContext, String paramString) + throws IOException, XmlPullParserException + { + SimplePathStrategy localSimplePathStrategy = new SimplePathStrategy(paramString); + XmlResourceParser localXmlResourceParser = paramContext.getPackageManager().resolveContentProvider(paramString, 128).loadXmlMetaData(paramContext.getPackageManager(), "android.support.FILE_PROVIDER_PATHS"); + if (localXmlResourceParser == null) { + throw new IllegalArgumentException("Missing android.support.FILE_PROVIDER_PATHS meta-data"); + } + label226: + for (;;) + { + int i = localXmlResourceParser.next(); + if (i == 1) { + break; + } + if (i == 2) + { + String str2 = localXmlResourceParser.getName(); + String str1 = localXmlResourceParser.getAttributeValue(null, "name"); + String str3 = localXmlResourceParser.getAttributeValue(null, "path"); + paramString = null; + if ("root-path".equals(str2)) { + paramString = buildPath(DEVICE_ROOT, new String[] { str3 }); + } + for (;;) + { + if (paramString == null) { + break label226; + } + localSimplePathStrategy.addRoot(str1, paramString); + break; + if ("files-path".equals(str2)) { + paramString = buildPath(paramContext.getFilesDir(), new String[] { str3 }); + } else if ("cache-path".equals(str2)) { + paramString = buildPath(paramContext.getCacheDir(), new String[] { str3 }); + } else if ("external-path".equals(str2)) { + paramString = buildPath(Environment.getExternalStorageDirectory(), new String[] { str3 }); + } + } + } + } + return localSimplePathStrategy; + } + + public void attachInfo(Context paramContext, ProviderInfo paramProviderInfo) + { + super.attachInfo(paramContext, paramProviderInfo); + if (paramProviderInfo.exported) { + throw new SecurityException("Provider must not be exported"); + } + if (!paramProviderInfo.grantUriPermissions) { + throw new SecurityException("Provider must grant uri permissions"); + } + this.mStrategy = getPathStrategy(paramContext, paramProviderInfo.authority); + } + + public int delete(Uri paramUri, String paramString, String[] paramArrayOfString) + { + if (this.mStrategy.getFileForUri(paramUri).delete()) { + return 1; + } + return 0; + } + + public String getType(Uri paramUri) + { + paramUri = this.mStrategy.getFileForUri(paramUri); + int i = paramUri.getName().lastIndexOf('.'); + if (i >= 0) + { + paramUri = paramUri.getName().substring(i + 1); + paramUri = MimeTypeMap.getSingleton().getMimeTypeFromExtension(paramUri); + if (paramUri != null) { + return paramUri; + } + } + return "application/octet-stream"; + } + + public Uri insert(Uri paramUri, ContentValues paramContentValues) + { + throw new UnsupportedOperationException("No external inserts"); + } + + public boolean onCreate() + { + return true; + } + + public ParcelFileDescriptor openFile(Uri paramUri, String paramString) + throws FileNotFoundException + { + return ParcelFileDescriptor.open(this.mStrategy.getFileForUri(paramUri), modeToMode(paramString)); + } + + public Cursor query(Uri paramUri, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2) + { + paramString1 = this.mStrategy.getFileForUri(paramUri); + paramUri = paramArrayOfString1; + if (paramArrayOfString1 == null) { + paramUri = COLUMNS; + } + paramArrayOfString2 = new String[paramUri.length]; + paramArrayOfString1 = new Object[paramUri.length]; + int m = paramUri.length; + int j = 0; + int i = 0; + int k; + if (j < m) + { + paramString2 = paramUri[j]; + if ("_display_name".equals(paramString2)) + { + paramArrayOfString2[i] = "_display_name"; + k = i + 1; + paramArrayOfString1[i] = paramString1.getName(); + i = k; + } + } + for (;;) + { + j += 1; + break; + if ("_size".equals(paramString2)) + { + paramArrayOfString2[i] = "_size"; + k = i + 1; + paramArrayOfString1[i] = Long.valueOf(paramString1.length()); + i = k; + continue; + paramUri = copyOf(paramArrayOfString2, i); + paramArrayOfString1 = copyOf(paramArrayOfString1, i); + paramUri = new MatrixCursor(paramUri, 1); + paramUri.addRow(paramArrayOfString1); + return paramUri; + } + } + } + + public int update(Uri paramUri, ContentValues paramContentValues, String paramString, String[] paramArrayOfString) + { + throw new UnsupportedOperationException("No external updates"); + } + + static abstract interface PathStrategy + { + public abstract File getFileForUri(Uri paramUri); + + public abstract Uri getUriForFile(File paramFile); + } + + static class SimplePathStrategy + implements FileProvider.PathStrategy + { + private final String mAuthority; + private final HashMap mRoots = new HashMap(); + + public SimplePathStrategy(String paramString) + { + this.mAuthority = paramString; + } + + public void addRoot(String paramString, File paramFile) + { + if (TextUtils.isEmpty(paramString)) { + throw new IllegalArgumentException("Name must not be empty"); + } + try + { + File localFile = paramFile.getCanonicalFile(); + this.mRoots.put(paramString, localFile); + return; + } + catch (IOException paramString) + { + throw new IllegalArgumentException("Failed to resolve canonical path for " + paramFile, paramString); + } + } + + public File getFileForUri(Uri paramUri) + { + Object localObject2 = paramUri.getEncodedPath(); + int i = ((String)localObject2).indexOf('/', 1); + Object localObject1 = Uri.decode(((String)localObject2).substring(1, i)); + localObject2 = Uri.decode(((String)localObject2).substring(i + 1)); + localObject1 = (File)this.mRoots.get(localObject1); + if (localObject1 == null) { + throw new IllegalArgumentException("Unable to find configured root for " + paramUri); + } + paramUri = new File((File)localObject1, (String)localObject2); + try + { + localObject2 = paramUri.getCanonicalFile(); + if (!((File)localObject2).getPath().startsWith(((File)localObject1).getPath())) { + throw new SecurityException("Resolved path jumped beyond configured root"); + } + } + catch (IOException localIOException) + { + throw new IllegalArgumentException("Failed to resolve canonical path for " + paramUri); + } + return localObject2; + } + + public Uri getUriForFile(File paramFile) + { + String str2; + try + { + str2 = paramFile.getCanonicalPath(); + paramFile = null; + Iterator localIterator = this.mRoots.entrySet().iterator(); + while (localIterator.hasNext()) + { + Map.Entry localEntry = (Map.Entry)localIterator.next(); + String str3 = ((File)localEntry.getValue()).getPath(); + if ((str2.startsWith(str3)) && ((paramFile == null) || (str3.length() > ((File)paramFile.getValue()).getPath().length()))) { + paramFile = localEntry; + } + } + if (paramFile != null) { + break label156; + } + } + catch (IOException localIOException) + { + throw new IllegalArgumentException("Failed to resolve canonical path for " + paramFile); + } + throw new IllegalArgumentException("Failed to find configured root that contains " + str2); + label156: + String str1 = ((File)paramFile.getValue()).getPath(); + if (str1.endsWith("/")) {} + for (str1 = str2.substring(str1.length());; str1 = str2.substring(str1.length() + 1)) + { + paramFile = Uri.encode((String)paramFile.getKey()) + '/' + Uri.encode(str1, "/"); + return new Uri.Builder().scheme("content").authority(this.mAuthority).encodedPath(paramFile).build(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.FileProvider + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/IntentCompat.java b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompat.java new file mode 100755 index 00000000000..6e412fec9f4 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompat.java @@ -0,0 +1,111 @@ +package android.support.v4.content; + +import android.content.ComponentName; +import android.content.Intent; +import android.os.Build.VERSION; + +public class IntentCompat +{ + public static final String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"; + public static final String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"; + public static final String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list"; + public static final String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list"; + public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT"; + public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; + public static final int FLAG_ACTIVITY_TASK_ON_HOME = 16384; + private static final IntentCompatImpl IMPL = new IntentCompatImplBase(); + + static + { + int i = Build.VERSION.SDK_INT; + if (i >= 15) + { + IMPL = new IntentCompatImplIcsMr1(); + return; + } + if (i >= 11) + { + IMPL = new IntentCompatImplHC(); + return; + } + } + + public static Intent makeMainActivity(ComponentName paramComponentName) + { + return IMPL.makeMainActivity(paramComponentName); + } + + public static Intent makeMainSelectorActivity(String paramString1, String paramString2) + { + return IMPL.makeMainSelectorActivity(paramString1, paramString2); + } + + public static Intent makeRestartActivityTask(ComponentName paramComponentName) + { + return IMPL.makeRestartActivityTask(paramComponentName); + } + + static abstract interface IntentCompatImpl + { + public abstract Intent makeMainActivity(ComponentName paramComponentName); + + public abstract Intent makeMainSelectorActivity(String paramString1, String paramString2); + + public abstract Intent makeRestartActivityTask(ComponentName paramComponentName); + } + + static class IntentCompatImplBase + implements IntentCompat.IntentCompatImpl + { + public Intent makeMainActivity(ComponentName paramComponentName) + { + Intent localIntent = new Intent("android.intent.action.MAIN"); + localIntent.setComponent(paramComponentName); + localIntent.addCategory("android.intent.category.LAUNCHER"); + return localIntent; + } + + public Intent makeMainSelectorActivity(String paramString1, String paramString2) + { + paramString1 = new Intent(paramString1); + paramString1.addCategory(paramString2); + return paramString1; + } + + public Intent makeRestartActivityTask(ComponentName paramComponentName) + { + paramComponentName = makeMainActivity(paramComponentName); + paramComponentName.addFlags(268468224); + return paramComponentName; + } + } + + static class IntentCompatImplHC + extends IntentCompat.IntentCompatImplBase + { + public Intent makeMainActivity(ComponentName paramComponentName) + { + return IntentCompatHoneycomb.makeMainActivity(paramComponentName); + } + + public Intent makeRestartActivityTask(ComponentName paramComponentName) + { + return IntentCompatHoneycomb.makeRestartActivityTask(paramComponentName); + } + } + + static class IntentCompatImplIcsMr1 + extends IntentCompat.IntentCompatImplHC + { + public Intent makeMainSelectorActivity(String paramString1, String paramString2) + { + return IntentCompatIcsMr1.makeMainSelectorActivity(paramString1, paramString2); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.IntentCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatHoneycomb.java new file mode 100755 index 00000000000..46b57d23680 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatHoneycomb.java @@ -0,0 +1,23 @@ +package android.support.v4.content; + +import android.content.ComponentName; +import android.content.Intent; + +class IntentCompatHoneycomb +{ + public static Intent makeMainActivity(ComponentName paramComponentName) + { + return Intent.makeMainActivity(paramComponentName); + } + + public static Intent makeRestartActivityTask(ComponentName paramComponentName) + { + return Intent.makeRestartActivityTask(paramComponentName); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.IntentCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatIcsMr1.java b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatIcsMr1.java new file mode 100755 index 00000000000..69f8d6c0ec2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/IntentCompatIcsMr1.java @@ -0,0 +1,17 @@ +package android.support.v4.content; + +import android.content.Intent; + +class IntentCompatIcsMr1 +{ + public static Intent makeMainSelectorActivity(String paramString1, String paramString2) + { + return Intent.makeMainSelectorActivity(paramString1, paramString2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.IntentCompatIcsMr1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/Loader.java b/com.tencent.token/classes.jar/android/support/v4/content/Loader.java new file mode 100755 index 00000000000..d93c23fcab2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/Loader.java @@ -0,0 +1,203 @@ +package android.support.v4.content; + +import android.content.Context; +import android.database.ContentObserver; +import android.os.Handler; +import android.support.v4.util.DebugUtils; +import java.io.FileDescriptor; +import java.io.PrintWriter; + +public class Loader +{ + boolean mAbandoned = false; + boolean mContentChanged = false; + Context mContext; + int mId; + OnLoadCompleteListener mListener; + boolean mReset = true; + boolean mStarted = false; + + public Loader(Context paramContext) + { + this.mContext = paramContext.getApplicationContext(); + } + + public void abandon() + { + this.mAbandoned = true; + onAbandon(); + } + + public String dataToString(D paramD) + { + StringBuilder localStringBuilder = new StringBuilder(64); + DebugUtils.buildShortClassTag(paramD, localStringBuilder); + localStringBuilder.append("}"); + return localStringBuilder.toString(); + } + + public void deliverResult(D paramD) + { + if (this.mListener != null) { + this.mListener.onLoadComplete(this, paramD); + } + } + + public void dump(String paramString, FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString) + { + paramPrintWriter.print(paramString); + paramPrintWriter.print("mId="); + paramPrintWriter.print(this.mId); + paramPrintWriter.print(" mListener="); + paramPrintWriter.println(this.mListener); + paramPrintWriter.print(paramString); + paramPrintWriter.print("mStarted="); + paramPrintWriter.print(this.mStarted); + paramPrintWriter.print(" mContentChanged="); + paramPrintWriter.print(this.mContentChanged); + paramPrintWriter.print(" mAbandoned="); + paramPrintWriter.print(this.mAbandoned); + paramPrintWriter.print(" mReset="); + paramPrintWriter.println(this.mReset); + } + + public void forceLoad() + { + onForceLoad(); + } + + public Context getContext() + { + return this.mContext; + } + + public int getId() + { + return this.mId; + } + + public boolean isAbandoned() + { + return this.mAbandoned; + } + + public boolean isReset() + { + return this.mReset; + } + + public boolean isStarted() + { + return this.mStarted; + } + + protected void onAbandon() {} + + public void onContentChanged() + { + if (this.mStarted) + { + forceLoad(); + return; + } + this.mContentChanged = true; + } + + protected void onForceLoad() {} + + protected void onReset() {} + + protected void onStartLoading() {} + + protected void onStopLoading() {} + + public void registerListener(int paramInt, OnLoadCompleteListener paramOnLoadCompleteListener) + { + if (this.mListener != null) { + throw new IllegalStateException("There is already a listener registered"); + } + this.mListener = paramOnLoadCompleteListener; + this.mId = paramInt; + } + + public void reset() + { + onReset(); + this.mReset = true; + this.mStarted = false; + this.mAbandoned = false; + this.mContentChanged = false; + } + + public final void startLoading() + { + this.mStarted = true; + this.mReset = false; + this.mAbandoned = false; + onStartLoading(); + } + + public void stopLoading() + { + this.mStarted = false; + onStopLoading(); + } + + public boolean takeContentChanged() + { + boolean bool = this.mContentChanged; + this.mContentChanged = false; + return bool; + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(64); + DebugUtils.buildShortClassTag(this, localStringBuilder); + localStringBuilder.append(" id="); + localStringBuilder.append(this.mId); + localStringBuilder.append("}"); + return localStringBuilder.toString(); + } + + public void unregisterListener(OnLoadCompleteListener paramOnLoadCompleteListener) + { + if (this.mListener == null) { + throw new IllegalStateException("No listener register"); + } + if (this.mListener != paramOnLoadCompleteListener) { + throw new IllegalArgumentException("Attempting to unregister the wrong listener"); + } + this.mListener = null; + } + + public final class ForceLoadContentObserver + extends ContentObserver + { + public ForceLoadContentObserver() + { + super(); + } + + public boolean deliverSelfNotifications() + { + return true; + } + + public void onChange(boolean paramBoolean) + { + Loader.this.onContentChanged(); + } + } + + public static abstract interface OnLoadCompleteListener + { + public abstract void onLoadComplete(Loader paramLoader, D paramD); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.Loader + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/LocalBroadcastManager.java b/com.tencent.token/classes.jar/android/support/v4/content/LocalBroadcastManager.java new file mode 100755 index 00000000000..ead9e399492 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/LocalBroadcastManager.java @@ -0,0 +1,343 @@ +package android.support.v4.content; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.Uri; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.util.Log; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Set; + +public class LocalBroadcastManager +{ + private static final boolean DEBUG = false; + static final int MSG_EXEC_PENDING_BROADCASTS = 1; + private static final String TAG = "LocalBroadcastManager"; + private static LocalBroadcastManager mInstance; + private static final Object mLock = new Object(); + private final HashMap> mActions = new HashMap(); + private final Context mAppContext; + private final Handler mHandler; + private final ArrayList mPendingBroadcasts = new ArrayList(); + private final HashMap> mReceivers = new HashMap(); + + private LocalBroadcastManager(Context paramContext) + { + this.mAppContext = paramContext; + this.mHandler = new Handler(paramContext.getMainLooper()) + { + public void handleMessage(Message paramAnonymousMessage) + { + switch (paramAnonymousMessage.what) + { + default: + super.handleMessage(paramAnonymousMessage); + return; + } + LocalBroadcastManager.this.executePendingBroadcasts(); + } + }; + } + + private void executePendingBroadcasts() + { + for (;;) + { + int i; + synchronized (this.mReceivers) + { + i = this.mPendingBroadcasts.size(); + if (i <= 0) { + return; + } + BroadcastRecord[] arrayOfBroadcastRecord = new BroadcastRecord[i]; + this.mPendingBroadcasts.toArray(arrayOfBroadcastRecord); + this.mPendingBroadcasts.clear(); + i = 0; + if (i >= arrayOfBroadcastRecord.length) { + continue; + } + ??? = arrayOfBroadcastRecord[i]; + int j = 0; + if (j < ???.receivers.size()) + { + ((ReceiverRecord)???.receivers.get(j)).receiver.onReceive(this.mAppContext, ???.intent); + j += 1; + } + } + i += 1; + } + } + + public static LocalBroadcastManager getInstance(Context paramContext) + { + synchronized (mLock) + { + if (mInstance == null) { + mInstance = new LocalBroadcastManager(paramContext.getApplicationContext()); + } + paramContext = mInstance; + return paramContext; + } + } + + public void registerReceiver(BroadcastReceiver paramBroadcastReceiver, IntentFilter paramIntentFilter) + { + synchronized (this.mReceivers) + { + ReceiverRecord localReceiverRecord = new ReceiverRecord(paramIntentFilter, paramBroadcastReceiver); + Object localObject2 = (ArrayList)this.mReceivers.get(paramBroadcastReceiver); + Object localObject1 = localObject2; + if (localObject2 == null) + { + localObject1 = new ArrayList(1); + this.mReceivers.put(paramBroadcastReceiver, localObject1); + } + ((ArrayList)localObject1).add(paramIntentFilter); + int i = 0; + while (i < paramIntentFilter.countActions()) + { + localObject2 = paramIntentFilter.getAction(i); + localObject1 = (ArrayList)this.mActions.get(localObject2); + paramBroadcastReceiver = (BroadcastReceiver)localObject1; + if (localObject1 == null) + { + paramBroadcastReceiver = new ArrayList(1); + this.mActions.put(localObject2, paramBroadcastReceiver); + } + paramBroadcastReceiver.add(localReceiverRecord); + i += 1; + } + return; + } + } + + public boolean sendBroadcast(Intent paramIntent) + { + int i; + label161: + int j; + Object localObject2; + int k; + synchronized (this.mReceivers) + { + String str1 = paramIntent.getAction(); + String str2 = paramIntent.resolveTypeIfNeeded(this.mAppContext.getContentResolver()); + Uri localUri = paramIntent.getData(); + String str3 = paramIntent.getScheme(); + Set localSet = paramIntent.getCategories(); + if ((paramIntent.getFlags() & 0x8) == 0) { + break label521; + } + i = 1; + if (i != 0) { + Log.v("LocalBroadcastManager", "Resolving type " + str2 + " scheme " + str3 + " of intent " + paramIntent); + } + ArrayList localArrayList = (ArrayList)this.mActions.get(paramIntent.getAction()); + if (localArrayList == null) { + break label497; + } + if (i == 0) { + break label502; + } + Log.v("LocalBroadcastManager", "Action list: " + localArrayList); + break label502; + if (j >= localArrayList.size()) { + break label554; + } + ReceiverRecord localReceiverRecord = (ReceiverRecord)localArrayList.get(j); + if (i != 0) { + Log.v("LocalBroadcastManager", "Matching against filter " + localReceiverRecord.filter); + } + if (localReceiverRecord.broadcasting) + { + localObject1 = localObject2; + if (i != 0) + { + Log.v("LocalBroadcastManager", " Filter's target already added"); + localObject1 = localObject2; + } + } + else + { + k = localReceiverRecord.filter.match(str1, str2, str3, localUri, localSet, "LocalBroadcastManager"); + if (k >= 0) + { + if (i != 0) { + Log.v("LocalBroadcastManager", " Filter matched! match=0x" + Integer.toHexString(k)); + } + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = new ArrayList(); + } + ((ArrayList)localObject1).add(localReceiverRecord); + localReceiverRecord.broadcasting = true; + } + } + } + Object localObject1 = localObject2; + if (i != 0) { + switch (k) + { + default: + localObject1 = "unknown reason"; + label392: + Log.v("LocalBroadcastManager", " Filter did not match: " + (String)localObject1); + localObject1 = localObject2; + break; + } + } + for (;;) + { + if (i < ((ArrayList)localObject2).size()) + { + ((ReceiverRecord)((ArrayList)localObject2).get(i)).broadcasting = false; + i += 1; + } + else + { + this.mPendingBroadcasts.add(new BroadcastRecord(paramIntent, (ArrayList)localObject2)); + if (!this.mHandler.hasMessages(1)) { + this.mHandler.sendEmptyMessage(1); + } + return true; + label497: + label502: + do + { + return false; + localObject2 = null; + j = 0; + break label161; + j += 1; + localObject2 = localObject1; + break label161; + i = 0; + break; + localObject1 = "action"; + break label392; + localObject1 = "category"; + break label392; + localObject1 = "data"; + break label392; + localObject1 = "type"; + break label392; + } while (localObject2 == null); + label521: + label554: + i = 0; + } + } + } + + public void sendBroadcastSync(Intent paramIntent) + { + if (sendBroadcast(paramIntent)) { + executePendingBroadcasts(); + } + } + + public void unregisterReceiver(BroadcastReceiver paramBroadcastReceiver) + { + for (;;) + { + int k; + int m; + synchronized (this.mReceivers) + { + ArrayList localArrayList1 = (ArrayList)this.mReceivers.remove(paramBroadcastReceiver); + if (localArrayList1 == null) + { + return; + if (j < localArrayList1.size()) + { + IntentFilter localIntentFilter = (IntentFilter)localArrayList1.get(j); + k = 0; + if (k >= localIntentFilter.countActions()) { + break label190; + } + String str = localIntentFilter.getAction(k); + ArrayList localArrayList2 = (ArrayList)this.mActions.get(str); + if (localArrayList2 == null) { + break label181; + } + i = 0; + if (i < localArrayList2.size()) + { + m = i; + if (((ReceiverRecord)localArrayList2.get(i)).receiver != paramBroadcastReceiver) { + break label173; + } + localArrayList2.remove(i); + m = i - 1; + break label173; + } + if (localArrayList2.size() > 0) { + break label181; + } + this.mActions.remove(str); + break label181; + } + return; + } + } + int j = 0; + continue; + label173: + int i = m + 1; + continue; + label181: + k += 1; + continue; + label190: + j += 1; + } + } + + private static class BroadcastRecord + { + final Intent intent; + final ArrayList receivers; + + BroadcastRecord(Intent paramIntent, ArrayList paramArrayList) + { + this.intent = paramIntent; + this.receivers = paramArrayList; + } + } + + private static class ReceiverRecord + { + boolean broadcasting; + final IntentFilter filter; + final BroadcastReceiver receiver; + + ReceiverRecord(IntentFilter paramIntentFilter, BroadcastReceiver paramBroadcastReceiver) + { + this.filter = paramIntentFilter; + this.receiver = paramBroadcastReceiver; + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(128); + localStringBuilder.append("Receiver{"); + localStringBuilder.append(this.receiver); + localStringBuilder.append(" filter="); + localStringBuilder.append(this.filter); + localStringBuilder.append("}"); + return localStringBuilder.toString(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.LocalBroadcastManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/ModernAsyncTask.java b/com.tencent.token/classes.jar/android/support/v4/content/ModernAsyncTask.java new file mode 100755 index 00000000000..3738ab28ecd --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/ModernAsyncTask.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.ModernAsyncTask + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/content/pm/ActivityInfoCompat.java b/com.tencent.token/classes.jar/android/support/v4/content/pm/ActivityInfoCompat.java new file mode 100755 index 00000000000..cf4b644d52f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/content/pm/ActivityInfoCompat.java @@ -0,0 +1,12 @@ +package android.support.v4.content.pm; + +public class ActivityInfoCompat +{ + public static final int CONFIG_UI_MODE = 512; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.content.pm.ActivityInfoCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/database/DatabaseUtilsCompat.java b/com.tencent.token/classes.jar/android/support/v4/database/DatabaseUtilsCompat.java new file mode 100755 index 00000000000..207e205478f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/database/DatabaseUtilsCompat.java @@ -0,0 +1,34 @@ +package android.support.v4.database; + +import android.text.TextUtils; + +public class DatabaseUtilsCompat +{ + public static String[] appendSelectionArgs(String[] paramArrayOfString1, String[] paramArrayOfString2) + { + if ((paramArrayOfString1 == null) || (paramArrayOfString1.length == 0)) { + return paramArrayOfString2; + } + String[] arrayOfString = new String[paramArrayOfString1.length + paramArrayOfString2.length]; + System.arraycopy(paramArrayOfString1, 0, arrayOfString, 0, paramArrayOfString1.length); + System.arraycopy(paramArrayOfString2, 0, arrayOfString, paramArrayOfString1.length, paramArrayOfString2.length); + return arrayOfString; + } + + public static String concatenateWhere(String paramString1, String paramString2) + { + if (TextUtils.isEmpty(paramString1)) { + return paramString2; + } + if (TextUtils.isEmpty(paramString2)) { + return paramString1; + } + return "(" + paramString1 + ") AND (" + paramString2 + ")"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.database.DatabaseUtilsCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompat.java b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompat.java new file mode 100755 index 00000000000..1ea87d6064f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompat.java @@ -0,0 +1,97 @@ +package android.support.v4.net; + +import android.content.Intent; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.Build.VERSION; + +public class ConnectivityManagerCompat +{ + private static final ConnectivityManagerCompatImpl IMPL = new BaseConnectivityManagerCompatImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new JellyBeanConnectivityManagerCompatImpl(); + return; + } + if (Build.VERSION.SDK_INT >= 13) + { + IMPL = new HoneycombMR2ConnectivityManagerCompatImpl(); + return; + } + if (Build.VERSION.SDK_INT >= 8) + { + IMPL = new GingerbreadConnectivityManagerCompatImpl(); + return; + } + } + + public static NetworkInfo getNetworkInfoFromBroadcast(ConnectivityManager paramConnectivityManager, Intent paramIntent) + { + return paramConnectivityManager.getNetworkInfo(((NetworkInfo)paramIntent.getParcelableExtra("networkInfo")).getType()); + } + + public static boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + return IMPL.isActiveNetworkMetered(paramConnectivityManager); + } + + static class BaseConnectivityManagerCompatImpl + implements ConnectivityManagerCompat.ConnectivityManagerCompatImpl + { + public boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + paramConnectivityManager = paramConnectivityManager.getActiveNetworkInfo(); + if (paramConnectivityManager == null) { + return true; + } + switch (paramConnectivityManager.getType()) + { + case 0: + default: + return true; + } + return false; + } + } + + static abstract interface ConnectivityManagerCompatImpl + { + public abstract boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager); + } + + static class GingerbreadConnectivityManagerCompatImpl + implements ConnectivityManagerCompat.ConnectivityManagerCompatImpl + { + public boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + return ConnectivityManagerCompatGingerbread.isActiveNetworkMetered(paramConnectivityManager); + } + } + + static class HoneycombMR2ConnectivityManagerCompatImpl + implements ConnectivityManagerCompat.ConnectivityManagerCompatImpl + { + public boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + return ConnectivityManagerCompatHoneycombMR2.isActiveNetworkMetered(paramConnectivityManager); + } + } + + static class JellyBeanConnectivityManagerCompatImpl + implements ConnectivityManagerCompat.ConnectivityManagerCompatImpl + { + public boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + return ConnectivityManagerCompatJellyBean.isActiveNetworkMetered(paramConnectivityManager); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.ConnectivityManagerCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatGingerbread.java b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatGingerbread.java new file mode 100755 index 00000000000..585b607a760 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatGingerbread.java @@ -0,0 +1,33 @@ +package android.support.v4.net; + +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +class ConnectivityManagerCompatGingerbread +{ + public static boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + paramConnectivityManager = paramConnectivityManager.getActiveNetworkInfo(); + if (paramConnectivityManager == null) { + return true; + } + switch (paramConnectivityManager.getType()) + { + case 0: + case 2: + case 3: + case 4: + case 5: + case 6: + default: + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.ConnectivityManagerCompatGingerbread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatHoneycombMR2.java b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatHoneycombMR2.java new file mode 100755 index 00000000000..8fa4cbc2b7f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatHoneycombMR2.java @@ -0,0 +1,34 @@ +package android.support.v4.net; + +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +class ConnectivityManagerCompatHoneycombMR2 +{ + public static boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + paramConnectivityManager = paramConnectivityManager.getActiveNetworkInfo(); + if (paramConnectivityManager == null) { + return true; + } + switch (paramConnectivityManager.getType()) + { + case 0: + case 2: + case 3: + case 4: + case 5: + case 6: + case 8: + default: + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.ConnectivityManagerCompatHoneycombMR2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatJellyBean.java b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatJellyBean.java new file mode 100755 index 00000000000..87872808d2b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/ConnectivityManagerCompatJellyBean.java @@ -0,0 +1,17 @@ +package android.support.v4.net; + +import android.net.ConnectivityManager; + +class ConnectivityManagerCompatJellyBean +{ + public static boolean isActiveNetworkMetered(ConnectivityManager paramConnectivityManager) + { + return paramConnectivityManager.isActiveNetworkMetered(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.ConnectivityManagerCompatJellyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompat.java b/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompat.java new file mode 100755 index 00000000000..4ad75f2e78f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompat.java @@ -0,0 +1,159 @@ +package android.support.v4.net; + +import android.os.Build.VERSION; +import java.net.Socket; +import java.net.SocketException; + +public class TrafficStatsCompat +{ + private static final TrafficStatsCompatImpl IMPL = new BaseTrafficStatsCompatImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new IcsTrafficStatsCompatImpl(); + return; + } + } + + public static void clearThreadStatsTag() + { + IMPL.clearThreadStatsTag(); + } + + public static int getThreadStatsTag() + { + return IMPL.getThreadStatsTag(); + } + + public static void incrementOperationCount(int paramInt) + { + IMPL.incrementOperationCount(paramInt); + } + + public static void incrementOperationCount(int paramInt1, int paramInt2) + { + IMPL.incrementOperationCount(paramInt1, paramInt2); + } + + public static void setThreadStatsTag(int paramInt) + { + IMPL.setThreadStatsTag(paramInt); + } + + public static void tagSocket(Socket paramSocket) + throws SocketException + { + IMPL.tagSocket(paramSocket); + } + + public static void untagSocket(Socket paramSocket) + throws SocketException + { + IMPL.untagSocket(paramSocket); + } + + static class BaseTrafficStatsCompatImpl + implements TrafficStatsCompat.TrafficStatsCompatImpl + { + private ThreadLocal mThreadSocketTags = new ThreadLocal() + { + protected TrafficStatsCompat.BaseTrafficStatsCompatImpl.SocketTags initialValue() + { + return new TrafficStatsCompat.BaseTrafficStatsCompatImpl.SocketTags(null); + } + }; + + public void clearThreadStatsTag() + { + ((SocketTags)this.mThreadSocketTags.get()).statsTag = -1; + } + + public int getThreadStatsTag() + { + return ((SocketTags)this.mThreadSocketTags.get()).statsTag; + } + + public void incrementOperationCount(int paramInt) {} + + public void incrementOperationCount(int paramInt1, int paramInt2) {} + + public void setThreadStatsTag(int paramInt) + { + ((SocketTags)this.mThreadSocketTags.get()).statsTag = paramInt; + } + + public void tagSocket(Socket paramSocket) {} + + public void untagSocket(Socket paramSocket) {} + + private static class SocketTags + { + public int statsTag = -1; + } + } + + static class IcsTrafficStatsCompatImpl + implements TrafficStatsCompat.TrafficStatsCompatImpl + { + public void clearThreadStatsTag() {} + + public int getThreadStatsTag() + { + return TrafficStatsCompatIcs.getThreadStatsTag(); + } + + public void incrementOperationCount(int paramInt) + { + TrafficStatsCompatIcs.incrementOperationCount(paramInt); + } + + public void incrementOperationCount(int paramInt1, int paramInt2) + { + TrafficStatsCompatIcs.incrementOperationCount(paramInt1, paramInt2); + } + + public void setThreadStatsTag(int paramInt) + { + TrafficStatsCompatIcs.setThreadStatsTag(paramInt); + } + + public void tagSocket(Socket paramSocket) + throws SocketException + { + TrafficStatsCompatIcs.tagSocket(paramSocket); + } + + public void untagSocket(Socket paramSocket) + throws SocketException + { + TrafficStatsCompatIcs.untagSocket(paramSocket); + } + } + + static abstract interface TrafficStatsCompatImpl + { + public abstract void clearThreadStatsTag(); + + public abstract int getThreadStatsTag(); + + public abstract void incrementOperationCount(int paramInt); + + public abstract void incrementOperationCount(int paramInt1, int paramInt2); + + public abstract void setThreadStatsTag(int paramInt); + + public abstract void tagSocket(Socket paramSocket) + throws SocketException; + + public abstract void untagSocket(Socket paramSocket) + throws SocketException; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.TrafficStatsCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompatIcs.java new file mode 100755 index 00000000000..a7882bb2efb --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/net/TrafficStatsCompatIcs.java @@ -0,0 +1,48 @@ +package android.support.v4.net; + +import android.net.TrafficStats; +import java.net.Socket; +import java.net.SocketException; + +public class TrafficStatsCompatIcs +{ + public static void clearThreadStatsTag() {} + + public static int getThreadStatsTag() + { + return TrafficStats.getThreadStatsTag(); + } + + public static void incrementOperationCount(int paramInt) + { + TrafficStats.incrementOperationCount(paramInt); + } + + public static void incrementOperationCount(int paramInt1, int paramInt2) + { + TrafficStats.incrementOperationCount(paramInt1, paramInt2); + } + + public static void setThreadStatsTag(int paramInt) + { + TrafficStats.setThreadStatsTag(paramInt); + } + + public static void tagSocket(Socket paramSocket) + throws SocketException + { + TrafficStats.tagSocket(paramSocket); + } + + public static void untagSocket(Socket paramSocket) + throws SocketException + { + TrafficStats.untagSocket(paramSocket); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.net.TrafficStatsCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompat.java b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompat.java new file mode 100755 index 00000000000..1f9f69915fb --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompat.java @@ -0,0 +1,43 @@ +package android.support.v4.os; + +import android.os.Build.VERSION; +import android.os.Parcel; +import android.os.Parcelable.Creator; + +public class ParcelableCompat +{ + public static Parcelable.Creator newCreator(ParcelableCompatCreatorCallbacks paramParcelableCompatCreatorCallbacks) + { + if (Build.VERSION.SDK_INT >= 13) { + ParcelableCompatCreatorHoneycombMR2Stub.instantiate(paramParcelableCompatCreatorCallbacks); + } + return new CompatCreator(paramParcelableCompatCreatorCallbacks); + } + + static class CompatCreator + implements Parcelable.Creator + { + final ParcelableCompatCreatorCallbacks mCallbacks; + + public CompatCreator(ParcelableCompatCreatorCallbacks paramParcelableCompatCreatorCallbacks) + { + this.mCallbacks = paramParcelableCompatCreatorCallbacks; + } + + public T createFromParcel(Parcel paramParcel) + { + return this.mCallbacks.createFromParcel(paramParcel, null); + } + + public T[] newArray(int paramInt) + { + return this.mCallbacks.newArray(paramInt); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.os.ParcelableCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorCallbacks.java b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorCallbacks.java new file mode 100755 index 00000000000..f1f09d2983b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorCallbacks.java @@ -0,0 +1,16 @@ +package android.support.v4.os; + +import android.os.Parcel; + +public abstract interface ParcelableCompatCreatorCallbacks +{ + public abstract T createFromParcel(Parcel paramParcel, ClassLoader paramClassLoader); + + public abstract T[] newArray(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.os.ParcelableCompatCreatorCallbacks + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2.java b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2.java new file mode 100755 index 00000000000..116b659ba2c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2.java @@ -0,0 +1,36 @@ +package android.support.v4.os; + +import android.os.Parcel; +import android.os.Parcelable.ClassLoaderCreator; + +class ParcelableCompatCreatorHoneycombMR2 + implements Parcelable.ClassLoaderCreator +{ + private final ParcelableCompatCreatorCallbacks mCallbacks; + + public ParcelableCompatCreatorHoneycombMR2(ParcelableCompatCreatorCallbacks paramParcelableCompatCreatorCallbacks) + { + this.mCallbacks = paramParcelableCompatCreatorCallbacks; + } + + public T createFromParcel(Parcel paramParcel) + { + return this.mCallbacks.createFromParcel(paramParcel, null); + } + + public T createFromParcel(Parcel paramParcel, ClassLoader paramClassLoader) + { + return this.mCallbacks.createFromParcel(paramParcel, paramClassLoader); + } + + public T[] newArray(int paramInt) + { + return this.mCallbacks.newArray(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.os.ParcelableCompatCreatorHoneycombMR2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2Stub.java b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2Stub.java new file mode 100755 index 00000000000..b4fb6c4d906 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/os/ParcelableCompatCreatorHoneycombMR2Stub.java @@ -0,0 +1,17 @@ +package android.support.v4.os; + +import android.os.Parcelable.Creator; + +class ParcelableCompatCreatorHoneycombMR2Stub +{ + static Parcelable.Creator instantiate(ParcelableCompatCreatorCallbacks paramParcelableCompatCreatorCallbacks) + { + return new ParcelableCompatCreatorHoneycombMR2(paramParcelableCompatCreatorCallbacks); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.os.ParcelableCompatCreatorHoneycombMR2Stub + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/AtomicFile.java b/com.tencent.token/classes.jar/android/support/v4/util/AtomicFile.java new file mode 100755 index 00000000000..5e253b0f9af --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/AtomicFile.java @@ -0,0 +1,219 @@ +package android.support.v4.util; + +import android.util.Log; +import java.io.File; +import java.io.FileDescriptor; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +public class AtomicFile +{ + private final File mBackupName; + private final File mBaseName; + + public AtomicFile(File paramFile) + { + this.mBaseName = paramFile; + this.mBackupName = new File(paramFile.getPath() + ".bak"); + } + + static boolean sync(FileOutputStream paramFileOutputStream) + { + if (paramFileOutputStream != null) {} + try + { + paramFileOutputStream.getFD().sync(); + return true; + } + catch (IOException paramFileOutputStream) {} + return false; + } + + public void delete() + { + this.mBaseName.delete(); + this.mBackupName.delete(); + } + + public void failWrite(FileOutputStream paramFileOutputStream) + { + if (paramFileOutputStream != null) { + sync(paramFileOutputStream); + } + try + { + paramFileOutputStream.close(); + this.mBaseName.delete(); + this.mBackupName.renameTo(this.mBaseName); + return; + } + catch (IOException paramFileOutputStream) + { + Log.w("AtomicFile", "failWrite: Got exception:", paramFileOutputStream); + } + } + + public void finishWrite(FileOutputStream paramFileOutputStream) + { + if (paramFileOutputStream != null) { + sync(paramFileOutputStream); + } + try + { + paramFileOutputStream.close(); + this.mBackupName.delete(); + return; + } + catch (IOException paramFileOutputStream) + { + Log.w("AtomicFile", "finishWrite: Got exception:", paramFileOutputStream); + } + } + + public File getBaseFile() + { + return this.mBaseName; + } + + public FileInputStream openRead() + throws FileNotFoundException + { + if (this.mBackupName.exists()) + { + this.mBaseName.delete(); + this.mBackupName.renameTo(this.mBaseName); + } + return new FileInputStream(this.mBaseName); + } + + /* Error */ + public byte[] readFully() + throws IOException + { + // Byte code: + // 0: aload_0 + // 1: invokevirtual 98 android/support/v4/util/AtomicFile:openRead ()Ljava/io/FileInputStream; + // 4: astore 6 + // 6: iconst_0 + // 7: istore_1 + // 8: aload 6 + // 10: invokevirtual 102 java/io/FileInputStream:available ()I + // 13: newarray byte + // 15: astore 4 + // 17: aload 6 + // 19: aload 4 + // 21: iload_1 + // 22: aload 4 + // 24: arraylength + // 25: iload_1 + // 26: isub + // 27: invokevirtual 106 java/io/FileInputStream:read ([BII)I + // 30: istore_2 + // 31: iload_2 + // 32: ifgt +11 -> 43 + // 35: aload 6 + // 37: invokevirtual 107 java/io/FileInputStream:close ()V + // 40: aload 4 + // 42: areturn + // 43: iload_1 + // 44: iload_2 + // 45: iadd + // 46: istore_2 + // 47: aload 6 + // 49: invokevirtual 102 java/io/FileInputStream:available ()I + // 52: istore_3 + // 53: iload_2 + // 54: istore_1 + // 55: iload_3 + // 56: aload 4 + // 58: arraylength + // 59: iload_2 + // 60: isub + // 61: if_icmple -44 -> 17 + // 64: iload_2 + // 65: iload_3 + // 66: iadd + // 67: newarray byte + // 69: astore 5 + // 71: aload 4 + // 73: iconst_0 + // 74: aload 5 + // 76: iconst_0 + // 77: iload_2 + // 78: invokestatic 113 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 81: aload 5 + // 83: astore 4 + // 85: iload_2 + // 86: istore_1 + // 87: goto -70 -> 17 + // 90: astore 4 + // 92: aload 6 + // 94: invokevirtual 107 java/io/FileInputStream:close ()V + // 97: aload 4 + // 99: athrow + // Local variable table: + // start length slot name signature + // 0 100 0 this AtomicFile + // 7 80 1 i int + // 30 56 2 j int + // 52 15 3 k int + // 15 69 4 localObject1 Object + // 90 8 4 localObject2 Object + // 69 13 5 arrayOfByte byte[] + // 4 89 6 localFileInputStream FileInputStream + // Exception table: + // from to target type + // 8 17 90 finally + // 17 31 90 finally + // 47 53 90 finally + // 55 81 90 finally + } + + public FileOutputStream startWrite() + throws IOException + { + if (this.mBaseName.exists()) + { + if (this.mBackupName.exists()) { + break label88; + } + if (!this.mBaseName.renameTo(this.mBackupName)) { + Log.w("AtomicFile", "Couldn't rename file " + this.mBaseName + " to backup file " + this.mBackupName); + } + } + for (;;) + { + try + { + FileOutputStream localFileOutputStream1 = new FileOutputStream(this.mBaseName); + return localFileOutputStream1; + } + catch (FileNotFoundException localFileNotFoundException1) + { + label88: + if (this.mBaseName.getParentFile().mkdir()) { + continue; + } + throw new IOException("Couldn't create directory " + this.mBaseName); + try + { + FileOutputStream localFileOutputStream2 = new FileOutputStream(this.mBaseName); + return localFileOutputStream2; + } + catch (FileNotFoundException localFileNotFoundException2) + { + throw new IOException("Couldn't create " + this.mBaseName); + } + } + this.mBaseName.delete(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.AtomicFile + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/DebugUtils.java b/com.tencent.token/classes.jar/android/support/v4/util/DebugUtils.java new file mode 100755 index 00000000000..93988160bd7 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/DebugUtils.java @@ -0,0 +1,38 @@ +package android.support.v4.util; + +public class DebugUtils +{ + public static void buildShortClassTag(Object paramObject, StringBuilder paramStringBuilder) + { + if (paramObject == null) + { + paramStringBuilder.append("null"); + return; + } + String str2 = paramObject.getClass().getSimpleName(); + String str1; + if (str2 != null) + { + str1 = str2; + if (str2.length() > 0) {} + } + else + { + str2 = paramObject.getClass().getName(); + int i = str2.lastIndexOf('.'); + str1 = str2; + if (i > 0) { + str1 = str2.substring(i + 1); + } + } + paramStringBuilder.append(str1); + paramStringBuilder.append('{'); + paramStringBuilder.append(Integer.toHexString(System.identityHashCode(paramObject))); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.DebugUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/LogWriter.java b/com.tencent.token/classes.jar/android/support/v4/util/LogWriter.java new file mode 100755 index 00000000000..aca194463e8 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/LogWriter.java @@ -0,0 +1,59 @@ +package android.support.v4.util; + +import android.util.Log; +import java.io.Writer; + +public class LogWriter + extends Writer +{ + private StringBuilder mBuilder = new StringBuilder(128); + private final String mTag; + + public LogWriter(String paramString) + { + this.mTag = paramString; + } + + private void flushBuilder() + { + if (this.mBuilder.length() > 0) + { + Log.d(this.mTag, this.mBuilder.toString()); + this.mBuilder.delete(0, this.mBuilder.length()); + } + } + + public void close() + { + flushBuilder(); + } + + public void flush() + { + flushBuilder(); + } + + public void write(char[] paramArrayOfChar, int paramInt1, int paramInt2) + { + int i = 0; + if (i < paramInt2) + { + char c = paramArrayOfChar[(paramInt1 + i)]; + if (c == '\n') { + flushBuilder(); + } + for (;;) + { + i += 1; + break; + this.mBuilder.append(c); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.LogWriter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/LongSparseArray.java b/com.tencent.token/classes.jar/android/support/v4/util/LongSparseArray.java new file mode 100755 index 00000000000..caa2f372d49 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/LongSparseArray.java @@ -0,0 +1,301 @@ +package android.support.v4.util; + +public class LongSparseArray + implements Cloneable +{ + private static final Object DELETED = new Object(); + private boolean mGarbage = false; + private long[] mKeys; + private int mSize; + private Object[] mValues; + + public LongSparseArray() + { + this(10); + } + + public LongSparseArray(int paramInt) + { + paramInt = idealLongArraySize(paramInt); + this.mKeys = new long[paramInt]; + this.mValues = new Object[paramInt]; + this.mSize = 0; + } + + private static int binarySearch(long[] paramArrayOfLong, int paramInt1, int paramInt2, long paramLong) + { + int i = paramInt1 + paramInt2; + int j = paramInt1 - 1; + while (i - j > 1) + { + int k = (i + j) / 2; + if (paramArrayOfLong[k] < paramLong) { + j = k; + } else { + i = k; + } + } + if (i == paramInt1 + paramInt2) { + paramInt1 = paramInt1 + paramInt2 ^ 0xFFFFFFFF; + } + do + { + return paramInt1; + paramInt1 = i; + } while (paramArrayOfLong[i] == paramLong); + return i ^ 0xFFFFFFFF; + } + + private void gc() + { + int m = this.mSize; + int j = 0; + long[] arrayOfLong = this.mKeys; + Object[] arrayOfObject = this.mValues; + int i = 0; + while (i < m) + { + Object localObject = arrayOfObject[i]; + int k = j; + if (localObject != DELETED) + { + if (i != j) + { + arrayOfLong[j] = arrayOfLong[i]; + arrayOfObject[j] = localObject; + arrayOfObject[i] = null; + } + k = j + 1; + } + i += 1; + j = k; + } + this.mGarbage = false; + this.mSize = j; + } + + public static int idealByteArraySize(int paramInt) + { + int i = 4; + for (;;) + { + int j = paramInt; + if (i < 32) + { + if (paramInt <= (1 << i) - 12) { + j = (1 << i) - 12; + } + } + else { + return j; + } + i += 1; + } + } + + public static int idealLongArraySize(int paramInt) + { + return idealByteArraySize(paramInt * 8) / 8; + } + + public void append(long paramLong, E paramE) + { + if ((this.mSize != 0) && (paramLong <= this.mKeys[(this.mSize - 1)])) + { + put(paramLong, paramE); + return; + } + if ((this.mGarbage) && (this.mSize >= this.mKeys.length)) { + gc(); + } + int i = this.mSize; + if (i >= this.mKeys.length) + { + int j = idealLongArraySize(i + 1); + long[] arrayOfLong = new long[j]; + Object[] arrayOfObject = new Object[j]; + System.arraycopy(this.mKeys, 0, arrayOfLong, 0, this.mKeys.length); + System.arraycopy(this.mValues, 0, arrayOfObject, 0, this.mValues.length); + this.mKeys = arrayOfLong; + this.mValues = arrayOfObject; + } + this.mKeys[i] = paramLong; + this.mValues[i] = paramE; + this.mSize = (i + 1); + } + + public void clear() + { + int j = this.mSize; + Object[] arrayOfObject = this.mValues; + int i = 0; + while (i < j) + { + arrayOfObject[i] = null; + i += 1; + } + this.mSize = 0; + this.mGarbage = false; + } + + public LongSparseArray clone() + { + Object localObject = null; + try + { + LongSparseArray localLongSparseArray = (LongSparseArray)super.clone(); + localObject = localLongSparseArray; + localLongSparseArray.mKeys = ((long[])this.mKeys.clone()); + localObject = localLongSparseArray; + localLongSparseArray.mValues = ((Object[])this.mValues.clone()); + return localLongSparseArray; + } + catch (CloneNotSupportedException localCloneNotSupportedException) {} + return localObject; + } + + public void delete(long paramLong) + { + int i = binarySearch(this.mKeys, 0, this.mSize, paramLong); + if ((i >= 0) && (this.mValues[i] != DELETED)) + { + this.mValues[i] = DELETED; + this.mGarbage = true; + } + } + + public E get(long paramLong) + { + return get(paramLong, null); + } + + public E get(long paramLong, E paramE) + { + int i = binarySearch(this.mKeys, 0, this.mSize, paramLong); + if ((i < 0) || (this.mValues[i] == DELETED)) { + return paramE; + } + return this.mValues[i]; + } + + public int indexOfKey(long paramLong) + { + if (this.mGarbage) { + gc(); + } + return binarySearch(this.mKeys, 0, this.mSize, paramLong); + } + + public int indexOfValue(E paramE) + { + if (this.mGarbage) { + gc(); + } + int i = 0; + while (i < this.mSize) + { + if (this.mValues[i] == paramE) { + return i; + } + i += 1; + } + return -1; + } + + public long keyAt(int paramInt) + { + if (this.mGarbage) { + gc(); + } + return this.mKeys[paramInt]; + } + + public void put(long paramLong, E paramE) + { + int i = binarySearch(this.mKeys, 0, this.mSize, paramLong); + if (i >= 0) + { + this.mValues[i] = paramE; + return; + } + int j = i ^ 0xFFFFFFFF; + if ((j < this.mSize) && (this.mValues[j] == DELETED)) + { + this.mKeys[j] = paramLong; + this.mValues[j] = paramE; + return; + } + i = j; + if (this.mGarbage) + { + i = j; + if (this.mSize >= this.mKeys.length) + { + gc(); + i = binarySearch(this.mKeys, 0, this.mSize, paramLong) ^ 0xFFFFFFFF; + } + } + if (this.mSize >= this.mKeys.length) + { + j = idealLongArraySize(this.mSize + 1); + long[] arrayOfLong = new long[j]; + Object[] arrayOfObject = new Object[j]; + System.arraycopy(this.mKeys, 0, arrayOfLong, 0, this.mKeys.length); + System.arraycopy(this.mValues, 0, arrayOfObject, 0, this.mValues.length); + this.mKeys = arrayOfLong; + this.mValues = arrayOfObject; + } + if (this.mSize - i != 0) + { + System.arraycopy(this.mKeys, i, this.mKeys, i + 1, this.mSize - i); + System.arraycopy(this.mValues, i, this.mValues, i + 1, this.mSize - i); + } + this.mKeys[i] = paramLong; + this.mValues[i] = paramE; + this.mSize += 1; + } + + public void remove(long paramLong) + { + delete(paramLong); + } + + public void removeAt(int paramInt) + { + if (this.mValues[paramInt] != DELETED) + { + this.mValues[paramInt] = DELETED; + this.mGarbage = true; + } + } + + public void setValueAt(int paramInt, E paramE) + { + if (this.mGarbage) { + gc(); + } + this.mValues[paramInt] = paramE; + } + + public int size() + { + if (this.mGarbage) { + gc(); + } + return this.mSize; + } + + public E valueAt(int paramInt) + { + if (this.mGarbage) { + gc(); + } + return this.mValues[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.LongSparseArray + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/LruCache.java b/com.tencent.token/classes.jar/android/support/v4/util/LruCache.java new file mode 100755 index 00000000000..cd25f3b2ed1 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/LruCache.java @@ -0,0 +1,373 @@ +package android.support.v4.util; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class LruCache +{ + private int createCount; + private int evictionCount; + private int hitCount; + private final LinkedHashMap map; + private int maxSize; + private int missCount; + private int putCount; + private int size; + + public LruCache(int paramInt) + { + if (paramInt <= 0) { + throw new IllegalArgumentException("maxSize <= 0"); + } + this.maxSize = paramInt; + this.map = new LinkedHashMap(0, 0.75F, true); + } + + private int safeSizeOf(K paramK, V paramV) + { + int i = sizeOf(paramK, paramV); + if (i < 0) { + throw new IllegalStateException("Negative size: " + paramK + "=" + paramV); + } + return i; + } + + protected V create(K paramK) + { + return null; + } + + public final int createCount() + { + try + { + int i = this.createCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + protected void entryRemoved(boolean paramBoolean, K paramK, V paramV1, V paramV2) {} + + public final void evictAll() + { + trimToSize(-1); + } + + public final int evictionCount() + { + try + { + int i = this.evictionCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V get(K paramK) + { + if (paramK == null) { + throw new NullPointerException("key == null"); + } + Object localObject1; + try + { + localObject1 = this.map.get(paramK); + if (localObject1 != null) + { + this.hitCount += 1; + return localObject1; + } + this.missCount += 1; + localObject1 = create(paramK); + if (localObject1 == null) { + return null; + } + } + finally {} + try + { + this.createCount += 1; + Object localObject2 = this.map.put(paramK, localObject1); + if (localObject2 != null) { + this.map.put(paramK, localObject2); + } + for (;;) + { + if (localObject2 == null) { + break; + } + entryRemoved(false, paramK, localObject1, localObject2); + return localObject2; + this.size += safeSizeOf(paramK, localObject1); + } + trimToSize(this.maxSize); + } + finally {} + return localObject1; + } + + public final int hitCount() + { + try + { + int i = this.hitCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int maxSize() + { + try + { + int i = this.maxSize; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int missCount() + { + try + { + int i = this.missCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V put(K paramK, V paramV) + { + if ((paramK == null) || (paramV == null)) { + throw new NullPointerException("key == null || value == null"); + } + try + { + this.putCount += 1; + this.size += safeSizeOf(paramK, paramV); + Object localObject = this.map.put(paramK, paramV); + if (localObject != null) { + this.size -= safeSizeOf(paramK, localObject); + } + if (localObject != null) { + entryRemoved(false, paramK, localObject, paramV); + } + trimToSize(this.maxSize); + return localObject; + } + finally {} + } + + public final int putCount() + { + try + { + int i = this.putCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V remove(K paramK) + { + if (paramK == null) { + throw new NullPointerException("key == null"); + } + try + { + Object localObject = this.map.remove(paramK); + if (localObject != null) { + this.size -= safeSizeOf(paramK, localObject); + } + if (localObject != null) { + entryRemoved(false, paramK, localObject, null); + } + return localObject; + } + finally {} + } + + public final int size() + { + try + { + int i = this.size; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + protected int sizeOf(K paramK, V paramV) + { + return 1; + } + + public final Map snapshot() + { + try + { + LinkedHashMap localLinkedHashMap = new LinkedHashMap(this.map); + return localLinkedHashMap; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final String toString() + { + int i = 0; + try + { + int j = this.hitCount + this.missCount; + if (j != 0) { + i = this.hitCount * 100 / j; + } + String str = String.format("LruCache[maxSize=%d,hits=%d,misses=%d,hitRate=%d%%]", new Object[] { Integer.valueOf(this.maxSize), Integer.valueOf(this.hitCount), Integer.valueOf(this.missCount), Integer.valueOf(i) }); + return str; + } + finally {} + } + + /* Error */ + public void trimToSize(int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 104 android/support/v4/util/LruCache:size I + // 6: iflt +20 -> 26 + // 9: aload_0 + // 10: getfield 38 android/support/v4/util/LruCache:map Ljava/util/LinkedHashMap; + // 13: invokevirtual 138 java/util/LinkedHashMap:isEmpty ()Z + // 16: ifeq +48 -> 64 + // 19: aload_0 + // 20: getfield 104 android/support/v4/util/LruCache:size I + // 23: ifeq +41 -> 64 + // 26: new 46 java/lang/IllegalStateException + // 29: dup + // 30: new 48 java/lang/StringBuilder + // 33: dup + // 34: invokespecial 49 java/lang/StringBuilder: ()V + // 37: aload_0 + // 38: invokevirtual 142 java/lang/Object:getClass ()Ljava/lang/Class; + // 41: invokevirtual 147 java/lang/Class:getName ()Ljava/lang/String; + // 44: invokevirtual 55 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 47: ldc 149 + // 49: invokevirtual 55 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 52: invokevirtual 64 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 55: invokespecial 65 java/lang/IllegalStateException: (Ljava/lang/String;)V + // 58: athrow + // 59: astore_2 + // 60: aload_0 + // 61: monitorexit + // 62: aload_2 + // 63: athrow + // 64: aload_0 + // 65: getfield 104 android/support/v4/util/LruCache:size I + // 68: iload_1 + // 69: if_icmple +13 -> 82 + // 72: aload_0 + // 73: getfield 38 android/support/v4/util/LruCache:map Ljava/util/LinkedHashMap; + // 76: invokevirtual 138 java/util/LinkedHashMap:isEmpty ()Z + // 79: ifeq +6 -> 85 + // 82: aload_0 + // 83: monitorexit + // 84: return + // 85: aload_0 + // 86: getfield 38 android/support/v4/util/LruCache:map Ljava/util/LinkedHashMap; + // 89: invokevirtual 153 java/util/LinkedHashMap:entrySet ()Ljava/util/Set; + // 92: invokeinterface 159 1 0 + // 97: invokeinterface 165 1 0 + // 102: checkcast 167 java/util/Map$Entry + // 105: astore_3 + // 106: aload_3 + // 107: invokeinterface 170 1 0 + // 112: astore_2 + // 113: aload_3 + // 114: invokeinterface 173 1 0 + // 119: astore_3 + // 120: aload_0 + // 121: getfield 38 android/support/v4/util/LruCache:map Ljava/util/LinkedHashMap; + // 124: aload_2 + // 125: invokevirtual 114 java/util/LinkedHashMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 128: pop + // 129: aload_0 + // 130: aload_0 + // 131: getfield 104 android/support/v4/util/LruCache:size I + // 134: aload_0 + // 135: aload_2 + // 136: aload_3 + // 137: invokespecial 106 android/support/v4/util/LruCache:safeSizeOf (Ljava/lang/Object;Ljava/lang/Object;)I + // 140: isub + // 141: putfield 104 android/support/v4/util/LruCache:size I + // 144: aload_0 + // 145: aload_0 + // 146: getfield 82 android/support/v4/util/LruCache:evictionCount I + // 149: iconst_1 + // 150: iadd + // 151: putfield 82 android/support/v4/util/LruCache:evictionCount I + // 154: aload_0 + // 155: monitorexit + // 156: aload_0 + // 157: iconst_1 + // 158: aload_2 + // 159: aload_3 + // 160: aconst_null + // 161: invokevirtual 102 android/support/v4/util/LruCache:entryRemoved (ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V + // 164: goto -164 -> 0 + // Local variable table: + // start length slot name signature + // 0 167 0 this LruCache + // 0 167 1 paramInt int + // 59 4 2 localObject1 Object + // 112 47 2 localObject2 Object + // 105 55 3 localObject3 Object + // Exception table: + // from to target type + // 2 26 59 finally + // 26 59 59 finally + // 60 62 59 finally + // 64 82 59 finally + // 82 84 59 finally + // 85 156 59 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.LruCache + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/SparseArrayCompat.java b/com.tencent.token/classes.jar/android/support/v4/util/SparseArrayCompat.java new file mode 100755 index 00000000000..99fd3388520 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/SparseArrayCompat.java @@ -0,0 +1,293 @@ +package android.support.v4.util; + +public class SparseArrayCompat +{ + private static final Object DELETED = new Object(); + private boolean mGarbage = false; + private int[] mKeys; + private int mSize; + private Object[] mValues; + + public SparseArrayCompat() + { + this(10); + } + + public SparseArrayCompat(int paramInt) + { + paramInt = idealIntArraySize(paramInt); + this.mKeys = new int[paramInt]; + this.mValues = new Object[paramInt]; + this.mSize = 0; + } + + private static int binarySearch(int[] paramArrayOfInt, int paramInt1, int paramInt2, int paramInt3) + { + int i = paramInt1 + paramInt2; + int j = paramInt1 - 1; + while (i - j > 1) + { + int k = (i + j) / 2; + if (paramArrayOfInt[k] < paramInt3) { + j = k; + } else { + i = k; + } + } + if (i == paramInt1 + paramInt2) { + paramInt1 = paramInt1 + paramInt2 ^ 0xFFFFFFFF; + } + do + { + return paramInt1; + paramInt1 = i; + } while (paramArrayOfInt[i] == paramInt3); + return i ^ 0xFFFFFFFF; + } + + private void gc() + { + int m = this.mSize; + int j = 0; + int[] arrayOfInt = this.mKeys; + Object[] arrayOfObject = this.mValues; + int i = 0; + while (i < m) + { + Object localObject = arrayOfObject[i]; + int k = j; + if (localObject != DELETED) + { + if (i != j) + { + arrayOfInt[j] = arrayOfInt[i]; + arrayOfObject[j] = localObject; + } + k = j + 1; + } + i += 1; + j = k; + } + this.mGarbage = false; + this.mSize = j; + } + + static int idealByteArraySize(int paramInt) + { + int i = 4; + for (;;) + { + int j = paramInt; + if (i < 32) + { + if (paramInt <= (1 << i) - 12) { + j = (1 << i) - 12; + } + } + else { + return j; + } + i += 1; + } + } + + static int idealIntArraySize(int paramInt) + { + return idealByteArraySize(paramInt * 4) / 4; + } + + public void append(int paramInt, E paramE) + { + if ((this.mSize != 0) && (paramInt <= this.mKeys[(this.mSize - 1)])) + { + put(paramInt, paramE); + return; + } + if ((this.mGarbage) && (this.mSize >= this.mKeys.length)) { + gc(); + } + int i = this.mSize; + if (i >= this.mKeys.length) + { + int j = idealIntArraySize(i + 1); + int[] arrayOfInt = new int[j]; + Object[] arrayOfObject = new Object[j]; + System.arraycopy(this.mKeys, 0, arrayOfInt, 0, this.mKeys.length); + System.arraycopy(this.mValues, 0, arrayOfObject, 0, this.mValues.length); + this.mKeys = arrayOfInt; + this.mValues = arrayOfObject; + } + this.mKeys[i] = paramInt; + this.mValues[i] = paramE; + this.mSize = (i + 1); + } + + public void clear() + { + int j = this.mSize; + Object[] arrayOfObject = this.mValues; + int i = 0; + while (i < j) + { + arrayOfObject[i] = null; + i += 1; + } + this.mSize = 0; + this.mGarbage = false; + } + + public void delete(int paramInt) + { + paramInt = binarySearch(this.mKeys, 0, this.mSize, paramInt); + if ((paramInt >= 0) && (this.mValues[paramInt] != DELETED)) + { + this.mValues[paramInt] = DELETED; + this.mGarbage = true; + } + } + + public E get(int paramInt) + { + return get(paramInt, null); + } + + public E get(int paramInt, E paramE) + { + paramInt = binarySearch(this.mKeys, 0, this.mSize, paramInt); + if ((paramInt < 0) || (this.mValues[paramInt] == DELETED)) { + return paramE; + } + return this.mValues[paramInt]; + } + + public int indexOfKey(int paramInt) + { + if (this.mGarbage) { + gc(); + } + return binarySearch(this.mKeys, 0, this.mSize, paramInt); + } + + public int indexOfValue(E paramE) + { + if (this.mGarbage) { + gc(); + } + int i = 0; + while (i < this.mSize) + { + if (this.mValues[i] == paramE) { + return i; + } + i += 1; + } + return -1; + } + + public int keyAt(int paramInt) + { + if (this.mGarbage) { + gc(); + } + return this.mKeys[paramInt]; + } + + public void put(int paramInt, E paramE) + { + int i = binarySearch(this.mKeys, 0, this.mSize, paramInt); + if (i >= 0) + { + this.mValues[i] = paramE; + return; + } + int j = i ^ 0xFFFFFFFF; + if ((j < this.mSize) && (this.mValues[j] == DELETED)) + { + this.mKeys[j] = paramInt; + this.mValues[j] = paramE; + return; + } + i = j; + if (this.mGarbage) + { + i = j; + if (this.mSize >= this.mKeys.length) + { + gc(); + i = binarySearch(this.mKeys, 0, this.mSize, paramInt) ^ 0xFFFFFFFF; + } + } + if (this.mSize >= this.mKeys.length) + { + j = idealIntArraySize(this.mSize + 1); + int[] arrayOfInt = new int[j]; + Object[] arrayOfObject = new Object[j]; + System.arraycopy(this.mKeys, 0, arrayOfInt, 0, this.mKeys.length); + System.arraycopy(this.mValues, 0, arrayOfObject, 0, this.mValues.length); + this.mKeys = arrayOfInt; + this.mValues = arrayOfObject; + } + if (this.mSize - i != 0) + { + System.arraycopy(this.mKeys, i, this.mKeys, i + 1, this.mSize - i); + System.arraycopy(this.mValues, i, this.mValues, i + 1, this.mSize - i); + } + this.mKeys[i] = paramInt; + this.mValues[i] = paramE; + this.mSize += 1; + } + + public void remove(int paramInt) + { + delete(paramInt); + } + + public void removeAt(int paramInt) + { + if (this.mValues[paramInt] != DELETED) + { + this.mValues[paramInt] = DELETED; + this.mGarbage = true; + } + } + + public void removeAtRange(int paramInt1, int paramInt2) + { + paramInt2 = Math.min(this.mSize, paramInt1 + paramInt2); + while (paramInt1 < paramInt2) + { + removeAt(paramInt1); + paramInt1 += 1; + } + } + + public void setValueAt(int paramInt, E paramE) + { + if (this.mGarbage) { + gc(); + } + this.mValues[paramInt] = paramE; + } + + public int size() + { + if (this.mGarbage) { + gc(); + } + return this.mSize; + } + + public E valueAt(int paramInt) + { + if (this.mGarbage) { + gc(); + } + return this.mValues[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.SparseArrayCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/util/TimeUtils.java b/com.tencent.token/classes.jar/android/support/v4/util/TimeUtils.java new file mode 100755 index 00000000000..81a109a5d0d --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/util/TimeUtils.java @@ -0,0 +1,291 @@ +package android.support.v4.util; + +import java.io.PrintWriter; + +public class TimeUtils +{ + public static final int HUNDRED_DAY_FIELD_LEN = 19; + private static final int SECONDS_PER_DAY = 86400; + private static final int SECONDS_PER_HOUR = 3600; + private static final int SECONDS_PER_MINUTE = 60; + private static char[] sFormatStr = new char[24]; + private static final Object sFormatSync = new Object(); + + private static int accumField(int paramInt1, int paramInt2, boolean paramBoolean, int paramInt3) + { + if ((paramInt1 > 99) || ((paramBoolean) && (paramInt3 >= 3))) { + return paramInt2 + 3; + } + if ((paramInt1 > 9) || ((paramBoolean) && (paramInt3 >= 2))) { + return paramInt2 + 2; + } + if ((paramBoolean) || (paramInt1 > 0)) { + return paramInt2 + 1; + } + return 0; + } + + public static void formatDuration(long paramLong1, long paramLong2, PrintWriter paramPrintWriter) + { + if (paramLong1 == 0L) + { + paramPrintWriter.print("--"); + return; + } + formatDuration(paramLong1 - paramLong2, paramPrintWriter, 0); + } + + public static void formatDuration(long paramLong, PrintWriter paramPrintWriter) + { + formatDuration(paramLong, paramPrintWriter, 0); + } + + public static void formatDuration(long paramLong, PrintWriter paramPrintWriter, int paramInt) + { + synchronized (sFormatSync) + { + paramInt = formatDurationLocked(paramLong, paramInt); + paramPrintWriter.print(new String(sFormatStr, 0, paramInt)); + return; + } + } + + public static void formatDuration(long paramLong, StringBuilder paramStringBuilder) + { + synchronized (sFormatSync) + { + int i = formatDurationLocked(paramLong, 0); + paramStringBuilder.append(sFormatStr, 0, i); + return; + } + } + + private static int formatDurationLocked(long paramLong, int paramInt) + { + if (sFormatStr.length < paramInt) { + sFormatStr = new char[paramInt]; + } + char[] arrayOfChar = sFormatStr; + if (paramLong == 0L) + { + while (paramInt - 1 < 0) { + arrayOfChar[0] = ' '; + } + arrayOfChar[0] = '0'; + return 1; + } + int i; + int i5; + int n; + int i1; + int i2; + int m; + int i3; + int i4; + boolean bool; + if (paramLong > 0L) + { + i = 43; + i5 = (int)(paramLong % 1000L); + k = (int)Math.floor(paramLong / 1000L); + n = 0; + i1 = 0; + i2 = 0; + j = k; + if (k > 86400) + { + n = k / 86400; + j = k - 86400 * n; + } + k = j; + if (j > 3600) + { + i1 = j / 3600; + k = j - i1 * 3600; + } + m = k; + if (k > 60) + { + i2 = k / 60; + m = k - i2 * 60; + } + i3 = 0; + i4 = 0; + if (paramInt == 0) { + break label352; + } + j = accumField(n, 1, false, 0); + if (j <= 0) { + break label328; + } + bool = true; + label201: + j += accumField(i1, 1, bool, 2); + if (j <= 0) { + break label334; + } + bool = true; + label223: + j += accumField(i2, 1, bool, 2); + if (j <= 0) { + break label340; + } + bool = true; + label245: + k = j + accumField(m, 1, bool, 2); + if (k <= 0) { + break label346; + } + } + label328: + label334: + label340: + label346: + for (int j = 3;; j = 0) + { + k += accumField(i5, 2, true, j) + 1; + j = i4; + for (;;) + { + i3 = j; + if (k >= paramInt) { + break; + } + arrayOfChar[j] = ' '; + j += 1; + k += 1; + } + i = 45; + paramLong = -paramLong; + break; + bool = false; + break label201; + bool = false; + break label223; + bool = false; + break label245; + } + label352: + arrayOfChar[i3] = i; + int k = i3 + 1; + if (paramInt != 0) + { + paramInt = 1; + n = printField(arrayOfChar, n, 'd', k, false, 0); + if (n == k) { + break label529; + } + bool = true; + label395: + if (paramInt == 0) { + break label535; + } + j = 2; + label402: + n = printField(arrayOfChar, i1, 'h', n, bool, j); + if (n == k) { + break label541; + } + bool = true; + label429: + if (paramInt == 0) { + break label547; + } + j = 2; + label436: + n = printField(arrayOfChar, i2, 'm', n, bool, j); + if (n == k) { + break label553; + } + bool = true; + label463: + if (paramInt == 0) { + break label559; + } + j = 2; + label470: + j = printField(arrayOfChar, m, 's', n, bool, j); + if ((paramInt == 0) || (j == k)) { + break label565; + } + } + label529: + label535: + label541: + label547: + label553: + label559: + label565: + for (paramInt = 3;; paramInt = 0) + { + paramInt = printField(arrayOfChar, i5, 'm', j, true, paramInt); + arrayOfChar[paramInt] = 's'; + return paramInt + 1; + paramInt = 0; + break; + bool = false; + break label395; + j = 0; + break label402; + bool = false; + break label429; + j = 0; + break label436; + bool = false; + break label463; + j = 0; + break label470; + } + } + + private static int printField(char[] paramArrayOfChar, int paramInt1, char paramChar, int paramInt2, boolean paramBoolean, int paramInt3) + { + int i; + if (!paramBoolean) + { + i = paramInt2; + if (paramInt1 <= 0) {} + } + else + { + int j; + if ((!paramBoolean) || (paramInt3 < 3)) + { + i = paramInt1; + j = paramInt2; + if (paramInt1 <= 99) {} + } + else + { + i = paramInt1 / 100; + paramArrayOfChar[paramInt2] = ((char)(i + 48)); + j = paramInt2 + 1; + i = paramInt1 - i * 100; + } + if (((!paramBoolean) || (paramInt3 < 2)) && (i <= 9)) + { + paramInt3 = i; + paramInt1 = j; + if (paramInt2 == j) {} + } + else + { + paramInt2 = i / 10; + paramArrayOfChar[j] = ((char)(paramInt2 + 48)); + paramInt1 = j + 1; + paramInt3 = i - paramInt2 * 10; + } + paramArrayOfChar[paramInt1] = ((char)(paramInt3 + 48)); + paramInt1 += 1; + paramArrayOfChar[paramInt1] = paramChar; + i = paramInt1 + 1; + } + return i; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.util.TimeUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompat.java new file mode 100755 index 00000000000..d95a59692f1 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompat.java @@ -0,0 +1,316 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.os.Bundle; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.support.v4.view.accessibility.AccessibilityNodeProviderCompat; +import android.view.View; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; + +public class AccessibilityDelegateCompat +{ + private static final Object DEFAULT_DELEGATE; + private static final AccessibilityDelegateImpl IMPL; + final Object mBridge = IMPL.newAccessiblityDelegateBridge(this); + + static + { + if (Build.VERSION.SDK_INT >= 16) { + IMPL = new AccessibilityDelegateJellyBeanImpl(); + } + for (;;) + { + DEFAULT_DELEGATE = IMPL.newAccessiblityDelegateDefaultImpl(); + return; + if (Build.VERSION.SDK_INT >= 14) { + IMPL = new AccessibilityDelegateIcsImpl(); + } else { + IMPL = new AccessibilityDelegateStubImpl(); + } + } + } + + public boolean dispatchPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return IMPL.dispatchPopulateAccessibilityEvent(DEFAULT_DELEGATE, paramView, paramAccessibilityEvent); + } + + public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View paramView) + { + return IMPL.getAccessibilityNodeProvider(DEFAULT_DELEGATE, paramView); + } + + Object getBridge() + { + return this.mBridge; + } + + public void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + IMPL.onInitializeAccessibilityEvent(DEFAULT_DELEGATE, paramView, paramAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + IMPL.onInitializeAccessibilityNodeInfo(DEFAULT_DELEGATE, paramView, paramAccessibilityNodeInfoCompat); + } + + public void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + IMPL.onPopulateAccessibilityEvent(DEFAULT_DELEGATE, paramView, paramAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return IMPL.onRequestSendAccessibilityEvent(DEFAULT_DELEGATE, paramViewGroup, paramView, paramAccessibilityEvent); + } + + public boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + return IMPL.performAccessibilityAction(DEFAULT_DELEGATE, paramView, paramInt, paramBundle); + } + + public void sendAccessibilityEvent(View paramView, int paramInt) + { + IMPL.sendAccessibilityEvent(DEFAULT_DELEGATE, paramView, paramInt); + } + + public void sendAccessibilityEventUnchecked(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + IMPL.sendAccessibilityEventUnchecked(DEFAULT_DELEGATE, paramView, paramAccessibilityEvent); + } + + static class AccessibilityDelegateIcsImpl + extends AccessibilityDelegateCompat.AccessibilityDelegateStubImpl + { + public boolean dispatchPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return AccessibilityDelegateCompatIcs.dispatchPopulateAccessibilityEvent(paramObject, paramView, paramAccessibilityEvent); + } + + public Object newAccessiblityDelegateBridge(final AccessibilityDelegateCompat paramAccessibilityDelegateCompat) + { + AccessibilityDelegateCompatIcs.newAccessibilityDelegateBridge(new AccessibilityDelegateCompatIcs.AccessibilityDelegateBridge() + { + public boolean dispatchPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return paramAccessibilityDelegateCompat.dispatchPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.onInitializeAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramAnonymousView, Object paramAnonymousObject) + { + paramAccessibilityDelegateCompat.onInitializeAccessibilityNodeInfo(paramAnonymousView, new AccessibilityNodeInfoCompat(paramAnonymousObject)); + } + + public void onPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.onPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramAnonymousViewGroup, View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return paramAccessibilityDelegateCompat.onRequestSendAccessibilityEvent(paramAnonymousViewGroup, paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void sendAccessibilityEvent(View paramAnonymousView, int paramAnonymousInt) + { + paramAccessibilityDelegateCompat.sendAccessibilityEvent(paramAnonymousView, paramAnonymousInt); + } + + public void sendAccessibilityEventUnchecked(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.sendAccessibilityEventUnchecked(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + }); + } + + public Object newAccessiblityDelegateDefaultImpl() + { + return AccessibilityDelegateCompatIcs.newAccessibilityDelegateDefaultImpl(); + } + + public void onInitializeAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + AccessibilityDelegateCompatIcs.onInitializeAccessibilityEvent(paramObject, paramView, paramAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(Object paramObject, View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + AccessibilityDelegateCompatIcs.onInitializeAccessibilityNodeInfo(paramObject, paramView, paramAccessibilityNodeInfoCompat.getInfo()); + } + + public void onPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + AccessibilityDelegateCompatIcs.onPopulateAccessibilityEvent(paramObject, paramView, paramAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(Object paramObject, ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return AccessibilityDelegateCompatIcs.onRequestSendAccessibilityEvent(paramObject, paramViewGroup, paramView, paramAccessibilityEvent); + } + + public void sendAccessibilityEvent(Object paramObject, View paramView, int paramInt) + { + AccessibilityDelegateCompatIcs.sendAccessibilityEvent(paramObject, paramView, paramInt); + } + + public void sendAccessibilityEventUnchecked(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + AccessibilityDelegateCompatIcs.sendAccessibilityEventUnchecked(paramObject, paramView, paramAccessibilityEvent); + } + } + + static abstract interface AccessibilityDelegateImpl + { + public abstract boolean dispatchPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract AccessibilityNodeProviderCompat getAccessibilityNodeProvider(Object paramObject, View paramView); + + public abstract Object newAccessiblityDelegateBridge(AccessibilityDelegateCompat paramAccessibilityDelegateCompat); + + public abstract Object newAccessiblityDelegateDefaultImpl(); + + public abstract void onInitializeAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void onInitializeAccessibilityNodeInfo(Object paramObject, View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat); + + public abstract void onPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean onRequestSendAccessibilityEvent(Object paramObject, ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean performAccessibilityAction(Object paramObject, View paramView, int paramInt, Bundle paramBundle); + + public abstract void sendAccessibilityEvent(Object paramObject, View paramView, int paramInt); + + public abstract void sendAccessibilityEventUnchecked(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent); + } + + static class AccessibilityDelegateJellyBeanImpl + extends AccessibilityDelegateCompat.AccessibilityDelegateIcsImpl + { + public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(Object paramObject, View paramView) + { + paramObject = AccessibilityDelegateCompatJellyBean.getAccessibilityNodeProvider(paramObject, paramView); + if (paramObject != null) { + return new AccessibilityNodeProviderCompat(paramObject); + } + return null; + } + + public Object newAccessiblityDelegateBridge(final AccessibilityDelegateCompat paramAccessibilityDelegateCompat) + { + AccessibilityDelegateCompatJellyBean.newAccessibilityDelegateBridge(new AccessibilityDelegateCompatJellyBean.AccessibilityDelegateBridgeJellyBean() + { + public boolean dispatchPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return paramAccessibilityDelegateCompat.dispatchPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public Object getAccessibilityNodeProvider(View paramAnonymousView) + { + paramAnonymousView = paramAccessibilityDelegateCompat.getAccessibilityNodeProvider(paramAnonymousView); + if (paramAnonymousView != null) { + return paramAnonymousView.getProvider(); + } + return null; + } + + public void onInitializeAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.onInitializeAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramAnonymousView, Object paramAnonymousObject) + { + paramAccessibilityDelegateCompat.onInitializeAccessibilityNodeInfo(paramAnonymousView, new AccessibilityNodeInfoCompat(paramAnonymousObject)); + } + + public void onPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.onPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramAnonymousViewGroup, View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return paramAccessibilityDelegateCompat.onRequestSendAccessibilityEvent(paramAnonymousViewGroup, paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean performAccessibilityAction(View paramAnonymousView, int paramAnonymousInt, Bundle paramAnonymousBundle) + { + return paramAccessibilityDelegateCompat.performAccessibilityAction(paramAnonymousView, paramAnonymousInt, paramAnonymousBundle); + } + + public void sendAccessibilityEvent(View paramAnonymousView, int paramAnonymousInt) + { + paramAccessibilityDelegateCompat.sendAccessibilityEvent(paramAnonymousView, paramAnonymousInt); + } + + public void sendAccessibilityEventUnchecked(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + paramAccessibilityDelegateCompat.sendAccessibilityEventUnchecked(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + }); + } + + public boolean performAccessibilityAction(Object paramObject, View paramView, int paramInt, Bundle paramBundle) + { + return AccessibilityDelegateCompatJellyBean.performAccessibilityAction(paramObject, paramView, paramInt, paramBundle); + } + } + + static class AccessibilityDelegateStubImpl + implements AccessibilityDelegateCompat.AccessibilityDelegateImpl + { + public boolean dispatchPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return false; + } + + public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(Object paramObject, View paramView) + { + return null; + } + + public Object newAccessiblityDelegateBridge(AccessibilityDelegateCompat paramAccessibilityDelegateCompat) + { + return null; + } + + public Object newAccessiblityDelegateDefaultImpl() + { + return null; + } + + public void onInitializeAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) {} + + public void onInitializeAccessibilityNodeInfo(Object paramObject, View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) {} + + public void onPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) {} + + public boolean onRequestSendAccessibilityEvent(Object paramObject, ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return true; + } + + public boolean performAccessibilityAction(Object paramObject, View paramView, int paramInt, Bundle paramBundle) + { + return false; + } + + public void sendAccessibilityEvent(Object paramObject, View paramView, int paramInt) {} + + public void sendAccessibilityEventUnchecked(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.AccessibilityDelegateCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatIcs.java new file mode 100755 index 00000000000..d7486c7fc73 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatIcs.java @@ -0,0 +1,114 @@ +package android.support.v4.view; + +import android.view.View; +import android.view.View.AccessibilityDelegate; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; + +class AccessibilityDelegateCompatIcs +{ + public static boolean dispatchPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return ((View.AccessibilityDelegate)paramObject).dispatchPopulateAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public static Object newAccessibilityDelegateBridge(AccessibilityDelegateBridge paramAccessibilityDelegateBridge) + { + new View.AccessibilityDelegate() + { + public boolean dispatchPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return this.val$bridge.dispatchPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.onInitializeAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramAnonymousView, AccessibilityNodeInfo paramAnonymousAccessibilityNodeInfo) + { + this.val$bridge.onInitializeAccessibilityNodeInfo(paramAnonymousView, paramAnonymousAccessibilityNodeInfo); + } + + public void onPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.onPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramAnonymousViewGroup, View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return this.val$bridge.onRequestSendAccessibilityEvent(paramAnonymousViewGroup, paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void sendAccessibilityEvent(View paramAnonymousView, int paramAnonymousInt) + { + this.val$bridge.sendAccessibilityEvent(paramAnonymousView, paramAnonymousInt); + } + + public void sendAccessibilityEventUnchecked(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.sendAccessibilityEventUnchecked(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + }; + } + + public static Object newAccessibilityDelegateDefaultImpl() + { + return new View.AccessibilityDelegate(); + } + + public static void onInitializeAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + ((View.AccessibilityDelegate)paramObject).onInitializeAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public static void onInitializeAccessibilityNodeInfo(Object paramObject1, View paramView, Object paramObject2) + { + ((View.AccessibilityDelegate)paramObject1).onInitializeAccessibilityNodeInfo(paramView, (AccessibilityNodeInfo)paramObject2); + } + + public static void onPopulateAccessibilityEvent(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + ((View.AccessibilityDelegate)paramObject).onPopulateAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public static boolean onRequestSendAccessibilityEvent(Object paramObject, ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return ((View.AccessibilityDelegate)paramObject).onRequestSendAccessibilityEvent(paramViewGroup, paramView, paramAccessibilityEvent); + } + + public static void sendAccessibilityEvent(Object paramObject, View paramView, int paramInt) + { + ((View.AccessibilityDelegate)paramObject).sendAccessibilityEvent(paramView, paramInt); + } + + public static void sendAccessibilityEventUnchecked(Object paramObject, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + ((View.AccessibilityDelegate)paramObject).sendAccessibilityEventUnchecked(paramView, paramAccessibilityEvent); + } + + public static abstract interface AccessibilityDelegateBridge + { + public abstract boolean dispatchPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void onInitializeAccessibilityNodeInfo(View paramView, Object paramObject); + + public abstract void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void sendAccessibilityEvent(View paramView, int paramInt); + + public abstract void sendAccessibilityEventUnchecked(View paramView, AccessibilityEvent paramAccessibilityEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.AccessibilityDelegateCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatJellyBean.java b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatJellyBean.java new file mode 100755 index 00000000000..21fb8719de7 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/AccessibilityDelegateCompatJellyBean.java @@ -0,0 +1,100 @@ +package android.support.v4.view; + +import android.os.Bundle; +import android.view.View; +import android.view.View.AccessibilityDelegate; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; +import android.view.accessibility.AccessibilityNodeProvider; + +class AccessibilityDelegateCompatJellyBean +{ + public static Object getAccessibilityNodeProvider(Object paramObject, View paramView) + { + return ((View.AccessibilityDelegate)paramObject).getAccessibilityNodeProvider(paramView); + } + + public static Object newAccessibilityDelegateBridge(AccessibilityDelegateBridgeJellyBean paramAccessibilityDelegateBridgeJellyBean) + { + new View.AccessibilityDelegate() + { + public boolean dispatchPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return this.val$bridge.dispatchPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public AccessibilityNodeProvider getAccessibilityNodeProvider(View paramAnonymousView) + { + return (AccessibilityNodeProvider)this.val$bridge.getAccessibilityNodeProvider(paramAnonymousView); + } + + public void onInitializeAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.onInitializeAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramAnonymousView, AccessibilityNodeInfo paramAnonymousAccessibilityNodeInfo) + { + this.val$bridge.onInitializeAccessibilityNodeInfo(paramAnonymousView, paramAnonymousAccessibilityNodeInfo); + } + + public void onPopulateAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.onPopulateAccessibilityEvent(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramAnonymousViewGroup, View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + return this.val$bridge.onRequestSendAccessibilityEvent(paramAnonymousViewGroup, paramAnonymousView, paramAnonymousAccessibilityEvent); + } + + public boolean performAccessibilityAction(View paramAnonymousView, int paramAnonymousInt, Bundle paramAnonymousBundle) + { + return this.val$bridge.performAccessibilityAction(paramAnonymousView, paramAnonymousInt, paramAnonymousBundle); + } + + public void sendAccessibilityEvent(View paramAnonymousView, int paramAnonymousInt) + { + this.val$bridge.sendAccessibilityEvent(paramAnonymousView, paramAnonymousInt); + } + + public void sendAccessibilityEventUnchecked(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) + { + this.val$bridge.sendAccessibilityEventUnchecked(paramAnonymousView, paramAnonymousAccessibilityEvent); + } + }; + } + + public static boolean performAccessibilityAction(Object paramObject, View paramView, int paramInt, Bundle paramBundle) + { + return ((View.AccessibilityDelegate)paramObject).performAccessibilityAction(paramView, paramInt, paramBundle); + } + + public static abstract interface AccessibilityDelegateBridgeJellyBean + { + public abstract boolean dispatchPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract Object getAccessibilityNodeProvider(View paramView); + + public abstract void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void onInitializeAccessibilityNodeInfo(View paramView, Object paramObject); + + public abstract void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle); + + public abstract void sendAccessibilityEvent(View paramView, int paramInt); + + public abstract void sendAccessibilityEventUnchecked(View paramView, AccessibilityEvent paramAccessibilityEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.AccessibilityDelegateCompatJellyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/GestureDetectorCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/GestureDetectorCompat.java new file mode 100755 index 00000000000..1389bfc447e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/GestureDetectorCompat.java @@ -0,0 +1,522 @@ +package android.support.v4.view; + +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.view.GestureDetector; +import android.view.GestureDetector.OnDoubleTapListener; +import android.view.GestureDetector.OnGestureListener; +import android.view.MotionEvent; +import android.view.VelocityTracker; +import android.view.ViewConfiguration; + +public class GestureDetectorCompat +{ + private final GestureDetectorCompatImpl mImpl; + + public GestureDetectorCompat(Context paramContext, GestureDetector.OnGestureListener paramOnGestureListener) + { + this(paramContext, paramOnGestureListener, null); + } + + public GestureDetectorCompat(Context paramContext, GestureDetector.OnGestureListener paramOnGestureListener, Handler paramHandler) + { + if (Build.VERSION.SDK_INT > 17) + { + this.mImpl = new GestureDetectorCompatImplJellybeanMr2(paramContext, paramOnGestureListener, paramHandler); + return; + } + this.mImpl = new GestureDetectorCompatImplBase(paramContext, paramOnGestureListener, paramHandler); + } + + public boolean isLongpressEnabled() + { + return this.mImpl.isLongpressEnabled(); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + return this.mImpl.onTouchEvent(paramMotionEvent); + } + + public void setIsLongpressEnabled(boolean paramBoolean) + { + this.mImpl.setIsLongpressEnabled(paramBoolean); + } + + public void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener paramOnDoubleTapListener) + { + this.mImpl.setOnDoubleTapListener(paramOnDoubleTapListener); + } + + static abstract interface GestureDetectorCompatImpl + { + public abstract boolean isLongpressEnabled(); + + public abstract boolean onTouchEvent(MotionEvent paramMotionEvent); + + public abstract void setIsLongpressEnabled(boolean paramBoolean); + + public abstract void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener paramOnDoubleTapListener); + } + + static class GestureDetectorCompatImplBase + implements GestureDetectorCompat.GestureDetectorCompatImpl + { + private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout(); + private static final int LONGPRESS_TIMEOUT = ; + private static final int LONG_PRESS = 2; + private static final int SHOW_PRESS = 1; + private static final int TAP = 3; + private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout(); + private boolean mAlwaysInBiggerTapRegion; + private boolean mAlwaysInTapRegion; + private MotionEvent mCurrentDownEvent; + private boolean mDeferConfirmSingleTap; + private GestureDetector.OnDoubleTapListener mDoubleTapListener; + private int mDoubleTapSlopSquare; + private float mDownFocusX; + private float mDownFocusY; + private final Handler mHandler; + private boolean mInLongPress; + private boolean mIsDoubleTapping; + private boolean mIsLongpressEnabled; + private float mLastFocusX; + private float mLastFocusY; + private final GestureDetector.OnGestureListener mListener; + private int mMaximumFlingVelocity; + private int mMinimumFlingVelocity; + private MotionEvent mPreviousUpEvent; + private boolean mStillDown; + private int mTouchSlopSquare; + private VelocityTracker mVelocityTracker; + + public GestureDetectorCompatImplBase(Context paramContext, GestureDetector.OnGestureListener paramOnGestureListener, Handler paramHandler) + { + if (paramHandler != null) {} + for (this.mHandler = new GestureHandler(paramHandler);; this.mHandler = new GestureHandler()) + { + this.mListener = paramOnGestureListener; + if ((paramOnGestureListener instanceof GestureDetector.OnDoubleTapListener)) { + setOnDoubleTapListener((GestureDetector.OnDoubleTapListener)paramOnGestureListener); + } + init(paramContext); + return; + } + } + + private void cancel() + { + this.mHandler.removeMessages(1); + this.mHandler.removeMessages(2); + this.mHandler.removeMessages(3); + this.mVelocityTracker.recycle(); + this.mVelocityTracker = null; + this.mIsDoubleTapping = false; + this.mStillDown = false; + this.mAlwaysInTapRegion = false; + this.mAlwaysInBiggerTapRegion = false; + this.mDeferConfirmSingleTap = false; + if (this.mInLongPress) { + this.mInLongPress = false; + } + } + + private void cancelTaps() + { + this.mHandler.removeMessages(1); + this.mHandler.removeMessages(2); + this.mHandler.removeMessages(3); + this.mIsDoubleTapping = false; + this.mAlwaysInTapRegion = false; + this.mAlwaysInBiggerTapRegion = false; + this.mDeferConfirmSingleTap = false; + if (this.mInLongPress) { + this.mInLongPress = false; + } + } + + private void dispatchLongPress() + { + this.mHandler.removeMessages(3); + this.mDeferConfirmSingleTap = false; + this.mInLongPress = true; + this.mListener.onLongPress(this.mCurrentDownEvent); + } + + private void init(Context paramContext) + { + if (paramContext == null) { + throw new IllegalArgumentException("Context must not be null"); + } + if (this.mListener == null) { + throw new IllegalArgumentException("OnGestureListener must not be null"); + } + this.mIsLongpressEnabled = true; + paramContext = ViewConfiguration.get(paramContext); + int i = paramContext.getScaledTouchSlop(); + int j = paramContext.getScaledDoubleTapSlop(); + this.mMinimumFlingVelocity = paramContext.getScaledMinimumFlingVelocity(); + this.mMaximumFlingVelocity = paramContext.getScaledMaximumFlingVelocity(); + this.mTouchSlopSquare = (i * i); + this.mDoubleTapSlopSquare = (j * j); + } + + private boolean isConsideredDoubleTap(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, MotionEvent paramMotionEvent3) + { + if (!this.mAlwaysInBiggerTapRegion) {} + int i; + int j; + do + { + do + { + return false; + } while (paramMotionEvent3.getEventTime() - paramMotionEvent2.getEventTime() > DOUBLE_TAP_TIMEOUT); + i = (int)paramMotionEvent1.getX() - (int)paramMotionEvent3.getX(); + j = (int)paramMotionEvent1.getY() - (int)paramMotionEvent3.getY(); + } while (i * i + j * j >= this.mDoubleTapSlopSquare); + return true; + } + + public boolean isLongpressEnabled() + { + return this.mIsLongpressEnabled; + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + int i1 = paramMotionEvent.getAction(); + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + this.mVelocityTracker.addMovement(paramMotionEvent); + int i; + int k; + label53: + float f2; + float f1; + int n; + int m; + if ((i1 & 0xFF) == 6) + { + i = 1; + if (i == 0) { + break label95; + } + k = MotionEventCompat.getActionIndex(paramMotionEvent); + f2 = 0.0F; + f1 = 0.0F; + n = MotionEventCompat.getPointerCount(paramMotionEvent); + m = 0; + label66: + if (m >= n) { + break label122; + } + if (k != m) { + break label101; + } + } + for (;;) + { + m += 1; + break label66; + i = 0; + break; + label95: + k = -1; + break label53; + label101: + f2 += MotionEventCompat.getX(paramMotionEvent, m); + f1 += MotionEventCompat.getY(paramMotionEvent, m); + } + label122: + boolean bool4; + boolean bool5; + boolean bool2; + boolean bool3; + if (i != 0) + { + i = n - 1; + f2 /= i; + f1 /= i; + k = 0; + bool4 = false; + bool5 = false; + bool2 = false; + bool3 = bool2; + } + label637: + int j; + switch (i1 & 0xFF) + { + default: + bool3 = bool2; + case 4: + case 5: + case 6: + case 0: + case 2: + float f3; + float f4; + do + { + do + { + do + { + do + { + return bool3; + i = n; + break; + this.mLastFocusX = f2; + this.mDownFocusX = f2; + this.mLastFocusY = f1; + this.mDownFocusY = f1; + cancelTaps(); + return false; + this.mLastFocusX = f2; + this.mDownFocusX = f2; + this.mLastFocusY = f1; + this.mDownFocusY = f1; + this.mVelocityTracker.computeCurrentVelocity(1000, this.mMaximumFlingVelocity); + k = MotionEventCompat.getActionIndex(paramMotionEvent); + i = MotionEventCompat.getPointerId(paramMotionEvent, k); + f1 = VelocityTrackerCompat.getXVelocity(this.mVelocityTracker, i); + f2 = VelocityTrackerCompat.getYVelocity(this.mVelocityTracker, i); + i = 0; + bool3 = bool2; + } while (i >= n); + if (i == k) {} + do + { + i += 1; + break; + m = MotionEventCompat.getPointerId(paramMotionEvent, i); + } while (f1 * VelocityTrackerCompat.getXVelocity(this.mVelocityTracker, m) + f2 * VelocityTrackerCompat.getYVelocity(this.mVelocityTracker, m) >= 0.0F); + this.mVelocityTracker.clear(); + return false; + i = k; + if (this.mDoubleTapListener != null) + { + bool2 = this.mHandler.hasMessages(3); + if (bool2) { + this.mHandler.removeMessages(3); + } + if ((this.mCurrentDownEvent == null) || (this.mPreviousUpEvent == null) || (!bool2) || (!isConsideredDoubleTap(this.mCurrentDownEvent, this.mPreviousUpEvent, paramMotionEvent))) { + break label637; + } + this.mIsDoubleTapping = true; + } + for (boolean bool1 = false | this.mDoubleTapListener.onDoubleTap(this.mCurrentDownEvent) | this.mDoubleTapListener.onDoubleTapEvent(paramMotionEvent);; bool1 = k) + { + this.mLastFocusX = f2; + this.mDownFocusX = f2; + this.mLastFocusY = f1; + this.mDownFocusY = f1; + if (this.mCurrentDownEvent != null) { + this.mCurrentDownEvent.recycle(); + } + this.mCurrentDownEvent = MotionEvent.obtain(paramMotionEvent); + this.mAlwaysInTapRegion = true; + this.mAlwaysInBiggerTapRegion = true; + this.mStillDown = true; + this.mInLongPress = false; + this.mDeferConfirmSingleTap = false; + if (this.mIsLongpressEnabled) + { + this.mHandler.removeMessages(2); + this.mHandler.sendEmptyMessageAtTime(2, this.mCurrentDownEvent.getDownTime() + TAP_TIMEOUT + LONGPRESS_TIMEOUT); + } + this.mHandler.sendEmptyMessageAtTime(1, this.mCurrentDownEvent.getDownTime() + TAP_TIMEOUT); + return bool1 | this.mListener.onDown(paramMotionEvent); + this.mHandler.sendEmptyMessageDelayed(3, DOUBLE_TAP_TIMEOUT); + } + bool3 = bool2; + } while (this.mInLongPress); + f3 = this.mLastFocusX - f2; + f4 = this.mLastFocusY - f1; + if (this.mIsDoubleTapping) { + return false | this.mDoubleTapListener.onDoubleTapEvent(paramMotionEvent); + } + if (!this.mAlwaysInTapRegion) { + break label835; + } + j = (int)(f2 - this.mDownFocusX); + k = (int)(f1 - this.mDownFocusY); + j = j * j + k * k; + bool2 = bool4; + if (j > this.mTouchSlopSquare) + { + bool2 = this.mListener.onScroll(this.mCurrentDownEvent, paramMotionEvent, f3, f4); + this.mLastFocusX = f2; + this.mLastFocusY = f1; + this.mAlwaysInTapRegion = false; + this.mHandler.removeMessages(3); + this.mHandler.removeMessages(1); + this.mHandler.removeMessages(2); + } + bool3 = bool2; + } while (j <= this.mTouchSlopSquare); + this.mAlwaysInBiggerTapRegion = false; + return bool2; + if (Math.abs(f3) >= 1.0F) { + break label859; + } + bool3 = bool2; + } while (Math.abs(f4) < 1.0F); + bool2 = this.mListener.onScroll(this.mCurrentDownEvent, paramMotionEvent, f3, f4); + this.mLastFocusX = f2; + this.mLastFocusY = f1; + return bool2; + case 1: + label835: + label859: + this.mStillDown = false; + MotionEvent localMotionEvent = MotionEvent.obtain(paramMotionEvent); + if (this.mIsDoubleTapping) { + bool2 = false | this.mDoubleTapListener.onDoubleTapEvent(paramMotionEvent); + } + for (;;) + { + if (this.mPreviousUpEvent != null) { + this.mPreviousUpEvent.recycle(); + } + this.mPreviousUpEvent = localMotionEvent; + if (this.mVelocityTracker != null) + { + this.mVelocityTracker.recycle(); + this.mVelocityTracker = null; + } + this.mIsDoubleTapping = false; + this.mDeferConfirmSingleTap = false; + this.mHandler.removeMessages(1); + this.mHandler.removeMessages(2); + return bool2; + if (this.mInLongPress) + { + this.mHandler.removeMessages(3); + this.mInLongPress = false; + bool2 = bool5; + } + else if (this.mAlwaysInTapRegion) + { + bool3 = this.mListener.onSingleTapUp(paramMotionEvent); + bool2 = bool3; + if (this.mDeferConfirmSingleTap) + { + bool2 = bool3; + if (this.mDoubleTapListener != null) + { + this.mDoubleTapListener.onSingleTapConfirmed(paramMotionEvent); + bool2 = bool3; + } + } + } + else + { + VelocityTracker localVelocityTracker = this.mVelocityTracker; + j = MotionEventCompat.getPointerId(paramMotionEvent, 0); + localVelocityTracker.computeCurrentVelocity(1000, this.mMaximumFlingVelocity); + f1 = VelocityTrackerCompat.getYVelocity(localVelocityTracker, j); + f2 = VelocityTrackerCompat.getXVelocity(localVelocityTracker, j); + if (Math.abs(f1) <= this.mMinimumFlingVelocity) + { + bool2 = bool5; + if (Math.abs(f2) <= this.mMinimumFlingVelocity) {} + } + else + { + bool2 = this.mListener.onFling(this.mCurrentDownEvent, paramMotionEvent, f2, f1); + } + } + } + } + cancel(); + return false; + } + + public void setIsLongpressEnabled(boolean paramBoolean) + { + this.mIsLongpressEnabled = paramBoolean; + } + + public void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener paramOnDoubleTapListener) + { + this.mDoubleTapListener = paramOnDoubleTapListener; + } + + private class GestureHandler + extends Handler + { + GestureHandler() {} + + GestureHandler(Handler paramHandler) + { + super(); + } + + public void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + throw new RuntimeException("Unknown message " + paramMessage); + case 1: + GestureDetectorCompat.GestureDetectorCompatImplBase.this.mListener.onShowPress(GestureDetectorCompat.GestureDetectorCompatImplBase.this.mCurrentDownEvent); + } + do + { + return; + GestureDetectorCompat.GestureDetectorCompatImplBase.this.dispatchLongPress(); + return; + } while (GestureDetectorCompat.GestureDetectorCompatImplBase.this.mDoubleTapListener == null); + if (!GestureDetectorCompat.GestureDetectorCompatImplBase.this.mStillDown) + { + GestureDetectorCompat.GestureDetectorCompatImplBase.this.mDoubleTapListener.onSingleTapConfirmed(GestureDetectorCompat.GestureDetectorCompatImplBase.this.mCurrentDownEvent); + return; + } + GestureDetectorCompat.GestureDetectorCompatImplBase.access$502(GestureDetectorCompat.GestureDetectorCompatImplBase.this, true); + } + } + } + + static class GestureDetectorCompatImplJellybeanMr2 + implements GestureDetectorCompat.GestureDetectorCompatImpl + { + private final GestureDetector mDetector; + + public GestureDetectorCompatImplJellybeanMr2(Context paramContext, GestureDetector.OnGestureListener paramOnGestureListener, Handler paramHandler) + { + this.mDetector = new GestureDetector(paramContext, paramOnGestureListener, paramHandler); + } + + public boolean isLongpressEnabled() + { + return this.mDetector.isLongpressEnabled(); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + return this.mDetector.onTouchEvent(paramMotionEvent); + } + + public void setIsLongpressEnabled(boolean paramBoolean) + { + this.mDetector.setIsLongpressEnabled(paramBoolean); + } + + public void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener paramOnDoubleTapListener) + { + this.mDetector.setOnDoubleTapListener(paramOnDoubleTapListener); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.GestureDetectorCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/GravityCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/GravityCompat.java new file mode 100755 index 00000000000..1ff623f5d3e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/GravityCompat.java @@ -0,0 +1,108 @@ +package android.support.v4.view; + +import android.graphics.Rect; +import android.os.Build.VERSION; +import android.view.Gravity; + +public class GravityCompat +{ + public static final int END = 8388613; + static final GravityCompatImpl IMPL = new GravityCompatImplBase(); + public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; + public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; + public static final int START = 8388611; + + static + { + if (Build.VERSION.SDK_INT >= 17) + { + IMPL = new GravityCompatImplJellybeanMr1(); + return; + } + } + + public static void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, int paramInt4, int paramInt5, Rect paramRect2, int paramInt6) + { + IMPL.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramInt4, paramInt5, paramRect2, paramInt6); + } + + public static void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, Rect paramRect2, int paramInt4) + { + IMPL.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramRect2, paramInt4); + } + + public static void applyDisplay(int paramInt1, Rect paramRect1, Rect paramRect2, int paramInt2) + { + IMPL.applyDisplay(paramInt1, paramRect1, paramRect2, paramInt2); + } + + public static int getAbsoluteGravity(int paramInt1, int paramInt2) + { + return IMPL.getAbsoluteGravity(paramInt1, paramInt2); + } + + static abstract interface GravityCompatImpl + { + public abstract void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, int paramInt4, int paramInt5, Rect paramRect2, int paramInt6); + + public abstract void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, Rect paramRect2, int paramInt4); + + public abstract void applyDisplay(int paramInt1, Rect paramRect1, Rect paramRect2, int paramInt2); + + public abstract int getAbsoluteGravity(int paramInt1, int paramInt2); + } + + static class GravityCompatImplBase + implements GravityCompat.GravityCompatImpl + { + public void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, int paramInt4, int paramInt5, Rect paramRect2, int paramInt6) + { + Gravity.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramInt4, paramInt5, paramRect2); + } + + public void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, Rect paramRect2, int paramInt4) + { + Gravity.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramRect2); + } + + public void applyDisplay(int paramInt1, Rect paramRect1, Rect paramRect2, int paramInt2) + { + Gravity.applyDisplay(paramInt1, paramRect1, paramRect2); + } + + public int getAbsoluteGravity(int paramInt1, int paramInt2) + { + return 0xFF7FFFFF & paramInt1; + } + } + + static class GravityCompatImplJellybeanMr1 + implements GravityCompat.GravityCompatImpl + { + public void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, int paramInt4, int paramInt5, Rect paramRect2, int paramInt6) + { + GravityCompatJellybeanMr1.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramInt4, paramInt5, paramRect2, paramInt6); + } + + public void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, Rect paramRect2, int paramInt4) + { + GravityCompatJellybeanMr1.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramRect2, paramInt4); + } + + public void applyDisplay(int paramInt1, Rect paramRect1, Rect paramRect2, int paramInt2) + { + GravityCompatJellybeanMr1.applyDisplay(paramInt1, paramRect1, paramRect2, paramInt2); + } + + public int getAbsoluteGravity(int paramInt1, int paramInt2) + { + return GravityCompatJellybeanMr1.getAbsoluteGravity(paramInt1, paramInt2); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.GravityCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/GravityCompatJellybeanMr1.java b/com.tencent.token/classes.jar/android/support/v4/view/GravityCompatJellybeanMr1.java new file mode 100755 index 00000000000..0832089958c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/GravityCompatJellybeanMr1.java @@ -0,0 +1,33 @@ +package android.support.v4.view; + +import android.graphics.Rect; +import android.view.Gravity; + +class GravityCompatJellybeanMr1 +{ + public static void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, int paramInt4, int paramInt5, Rect paramRect2, int paramInt6) + { + Gravity.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramInt4, paramInt5, paramRect2, paramInt6); + } + + public static void apply(int paramInt1, int paramInt2, int paramInt3, Rect paramRect1, Rect paramRect2, int paramInt4) + { + Gravity.apply(paramInt1, paramInt2, paramInt3, paramRect1, paramRect2, paramInt4); + } + + public static void applyDisplay(int paramInt1, Rect paramRect1, Rect paramRect2, int paramInt2) + { + Gravity.applyDisplay(paramInt1, paramRect1, paramRect2, paramInt2); + } + + public static int getAbsoluteGravity(int paramInt1, int paramInt2) + { + return Gravity.getAbsoluteGravity(paramInt1, paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.GravityCompatJellybeanMr1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompat.java new file mode 100755 index 00000000000..035acf3685c --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompat.java @@ -0,0 +1,179 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.KeyEvent; + +public class KeyEventCompat +{ + static final KeyEventVersionImpl IMPL = new BaseKeyEventVersionImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new HoneycombKeyEventVersionImpl(); + return; + } + } + + public static boolean hasModifiers(KeyEvent paramKeyEvent, int paramInt) + { + return IMPL.metaStateHasModifiers(paramKeyEvent.getMetaState(), paramInt); + } + + public static boolean hasNoModifiers(KeyEvent paramKeyEvent) + { + return IMPL.metaStateHasNoModifiers(paramKeyEvent.getMetaState()); + } + + public static boolean isTracking(KeyEvent paramKeyEvent) + { + return IMPL.isTracking(paramKeyEvent); + } + + public static boolean metaStateHasModifiers(int paramInt1, int paramInt2) + { + return IMPL.metaStateHasModifiers(paramInt1, paramInt2); + } + + public static boolean metaStateHasNoModifiers(int paramInt) + { + return IMPL.metaStateHasNoModifiers(paramInt); + } + + public static int normalizeMetaState(int paramInt) + { + return IMPL.normalizeMetaState(paramInt); + } + + public static void startTracking(KeyEvent paramKeyEvent) + { + IMPL.startTracking(paramKeyEvent); + } + + static class BaseKeyEventVersionImpl + implements KeyEventCompat.KeyEventVersionImpl + { + private static final int META_ALL_MASK = 247; + private static final int META_MODIFIER_MASK = 247; + + private static int metaStateFilterDirectionalModifiers(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5) + { + int j = 1; + int i; + if ((paramInt2 & paramInt3) != 0) + { + i = 1; + paramInt4 |= paramInt5; + if ((paramInt2 & paramInt4) == 0) { + break label51; + } + paramInt2 = j; + } + for (;;) + { + if (i != 0) + { + if (paramInt2 != 0) + { + throw new IllegalArgumentException("bad arguments"); + i = 0; + break; + label51: + paramInt2 = 0; + continue; + } + paramInt4 = paramInt1 & (paramInt4 ^ 0xFFFFFFFF); + } + } + do + { + return paramInt4; + paramInt4 = paramInt1; + } while (paramInt2 == 0); + return paramInt1 & (paramInt3 ^ 0xFFFFFFFF); + } + + public boolean isTracking(KeyEvent paramKeyEvent) + { + return false; + } + + public boolean metaStateHasModifiers(int paramInt1, int paramInt2) + { + return metaStateFilterDirectionalModifiers(metaStateFilterDirectionalModifiers(normalizeMetaState(paramInt1) & 0xF7, paramInt2, 1, 64, 128), paramInt2, 2, 16, 32) == paramInt2; + } + + public boolean metaStateHasNoModifiers(int paramInt) + { + return (normalizeMetaState(paramInt) & 0xF7) == 0; + } + + public int normalizeMetaState(int paramInt) + { + int i = paramInt; + if ((paramInt & 0xC0) != 0) { + i = paramInt | 0x1; + } + paramInt = i; + if ((i & 0x30) != 0) { + paramInt = i | 0x2; + } + return paramInt & 0xF7; + } + + public void startTracking(KeyEvent paramKeyEvent) {} + } + + static class EclairKeyEventVersionImpl + extends KeyEventCompat.BaseKeyEventVersionImpl + { + public boolean isTracking(KeyEvent paramKeyEvent) + { + return KeyEventCompatEclair.isTracking(paramKeyEvent); + } + + public void startTracking(KeyEvent paramKeyEvent) + { + KeyEventCompatEclair.startTracking(paramKeyEvent); + } + } + + static class HoneycombKeyEventVersionImpl + extends KeyEventCompat.EclairKeyEventVersionImpl + { + public boolean metaStateHasModifiers(int paramInt1, int paramInt2) + { + return KeyEventCompatHoneycomb.metaStateHasModifiers(paramInt1, paramInt2); + } + + public boolean metaStateHasNoModifiers(int paramInt) + { + return KeyEventCompatHoneycomb.metaStateHasNoModifiers(paramInt); + } + + public int normalizeMetaState(int paramInt) + { + return KeyEventCompatHoneycomb.normalizeMetaState(paramInt); + } + } + + static abstract interface KeyEventVersionImpl + { + public abstract boolean isTracking(KeyEvent paramKeyEvent); + + public abstract boolean metaStateHasModifiers(int paramInt1, int paramInt2); + + public abstract boolean metaStateHasNoModifiers(int paramInt); + + public abstract int normalizeMetaState(int paramInt); + + public abstract void startTracking(KeyEvent paramKeyEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.KeyEventCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatEclair.java b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatEclair.java new file mode 100755 index 00000000000..ac468abf56d --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatEclair.java @@ -0,0 +1,22 @@ +package android.support.v4.view; + +import android.view.KeyEvent; + +class KeyEventCompatEclair +{ + public static boolean isTracking(KeyEvent paramKeyEvent) + { + return paramKeyEvent.isTracking(); + } + + public static void startTracking(KeyEvent paramKeyEvent) + { + paramKeyEvent.startTracking(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.KeyEventCompatEclair + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatHoneycomb.java new file mode 100755 index 00000000000..0e35cf35c91 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/KeyEventCompatHoneycomb.java @@ -0,0 +1,27 @@ +package android.support.v4.view; + +import android.view.KeyEvent; + +class KeyEventCompatHoneycomb +{ + public static boolean metaStateHasModifiers(int paramInt1, int paramInt2) + { + return KeyEvent.metaStateHasModifiers(paramInt1, paramInt2); + } + + public static boolean metaStateHasNoModifiers(int paramInt) + { + return KeyEvent.metaStateHasNoModifiers(paramInt); + } + + public static int normalizeMetaState(int paramInt) + { + return KeyEvent.normalizeMetaState(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.KeyEventCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/MenuCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/MenuCompat.java new file mode 100755 index 00000000000..d63c8f48af2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/MenuCompat.java @@ -0,0 +1,53 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.MenuItem; + +public class MenuCompat +{ + static final MenuVersionImpl IMPL = new BaseMenuVersionImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new HoneycombMenuVersionImpl(); + return; + } + } + + public static boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + return IMPL.setShowAsAction(paramMenuItem, paramInt); + } + + static class BaseMenuVersionImpl + implements MenuCompat.MenuVersionImpl + { + public boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + return false; + } + } + + static class HoneycombMenuVersionImpl + implements MenuCompat.MenuVersionImpl + { + public boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + MenuItemCompatHoneycomb.setShowAsAction(paramMenuItem, paramInt); + return true; + } + } + + static abstract interface MenuVersionImpl + { + public abstract boolean setShowAsAction(MenuItem paramMenuItem, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.MenuCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompat.java new file mode 100755 index 00000000000..d66ac540f1a --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompat.java @@ -0,0 +1,76 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.MenuItem; +import android.view.View; + +public class MenuItemCompat +{ + static final MenuVersionImpl IMPL = new BaseMenuVersionImpl(); + public static final int SHOW_AS_ACTION_ALWAYS = 2; + public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; + public static final int SHOW_AS_ACTION_IF_ROOM = 1; + public static final int SHOW_AS_ACTION_NEVER = 0; + public static final int SHOW_AS_ACTION_WITH_TEXT = 4; + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new HoneycombMenuVersionImpl(); + return; + } + } + + public static MenuItem setActionView(MenuItem paramMenuItem, View paramView) + { + return IMPL.setActionView(paramMenuItem, paramView); + } + + public static boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + return IMPL.setShowAsAction(paramMenuItem, paramInt); + } + + static class BaseMenuVersionImpl + implements MenuItemCompat.MenuVersionImpl + { + public MenuItem setActionView(MenuItem paramMenuItem, View paramView) + { + return paramMenuItem; + } + + public boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + return false; + } + } + + static class HoneycombMenuVersionImpl + implements MenuItemCompat.MenuVersionImpl + { + public MenuItem setActionView(MenuItem paramMenuItem, View paramView) + { + return MenuItemCompatHoneycomb.setActionView(paramMenuItem, paramView); + } + + public boolean setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + MenuItemCompatHoneycomb.setShowAsAction(paramMenuItem, paramInt); + return true; + } + } + + static abstract interface MenuVersionImpl + { + public abstract MenuItem setActionView(MenuItem paramMenuItem, View paramView); + + public abstract boolean setShowAsAction(MenuItem paramMenuItem, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.MenuItemCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompatHoneycomb.java new file mode 100755 index 00000000000..8817dd6791e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/MenuItemCompatHoneycomb.java @@ -0,0 +1,23 @@ +package android.support.v4.view; + +import android.view.MenuItem; +import android.view.View; + +class MenuItemCompatHoneycomb +{ + public static MenuItem setActionView(MenuItem paramMenuItem, View paramView) + { + return paramMenuItem.setActionView(paramView); + } + + public static void setShowAsAction(MenuItem paramMenuItem, int paramInt) + { + paramMenuItem.setShowAsAction(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.MenuItemCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompat.java new file mode 100755 index 00000000000..7b9cf8e6418 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompat.java @@ -0,0 +1,151 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.MotionEvent; + +public class MotionEventCompat +{ + public static final int ACTION_HOVER_ENTER = 9; + public static final int ACTION_HOVER_EXIT = 10; + public static final int ACTION_HOVER_MOVE = 7; + public static final int ACTION_MASK = 255; + public static final int ACTION_POINTER_DOWN = 5; + public static final int ACTION_POINTER_INDEX_MASK = 65280; + public static final int ACTION_POINTER_INDEX_SHIFT = 8; + public static final int ACTION_POINTER_UP = 6; + public static final int ACTION_SCROLL = 8; + static final MotionEventVersionImpl IMPL = new BaseMotionEventVersionImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 5) + { + IMPL = new EclairMotionEventVersionImpl(); + return; + } + } + + public static int findPointerIndex(MotionEvent paramMotionEvent, int paramInt) + { + return IMPL.findPointerIndex(paramMotionEvent, paramInt); + } + + public static int getActionIndex(MotionEvent paramMotionEvent) + { + return (paramMotionEvent.getAction() & 0xFF00) >> 8; + } + + public static int getActionMasked(MotionEvent paramMotionEvent) + { + return paramMotionEvent.getAction() & 0xFF; + } + + public static int getPointerCount(MotionEvent paramMotionEvent) + { + return IMPL.getPointerCount(paramMotionEvent); + } + + public static int getPointerId(MotionEvent paramMotionEvent, int paramInt) + { + return IMPL.getPointerId(paramMotionEvent, paramInt); + } + + public static float getX(MotionEvent paramMotionEvent, int paramInt) + { + return IMPL.getX(paramMotionEvent, paramInt); + } + + public static float getY(MotionEvent paramMotionEvent, int paramInt) + { + return IMPL.getY(paramMotionEvent, paramInt); + } + + static class BaseMotionEventVersionImpl + implements MotionEventCompat.MotionEventVersionImpl + { + public int findPointerIndex(MotionEvent paramMotionEvent, int paramInt) + { + if (paramInt == 0) { + return 0; + } + return -1; + } + + public int getPointerCount(MotionEvent paramMotionEvent) + { + return 1; + } + + public int getPointerId(MotionEvent paramMotionEvent, int paramInt) + { + if (paramInt == 0) { + return 0; + } + throw new IndexOutOfBoundsException("Pre-Eclair does not support multiple pointers"); + } + + public float getX(MotionEvent paramMotionEvent, int paramInt) + { + if (paramInt == 0) { + return paramMotionEvent.getX(); + } + throw new IndexOutOfBoundsException("Pre-Eclair does not support multiple pointers"); + } + + public float getY(MotionEvent paramMotionEvent, int paramInt) + { + if (paramInt == 0) { + return paramMotionEvent.getY(); + } + throw new IndexOutOfBoundsException("Pre-Eclair does not support multiple pointers"); + } + } + + static class EclairMotionEventVersionImpl + implements MotionEventCompat.MotionEventVersionImpl + { + public int findPointerIndex(MotionEvent paramMotionEvent, int paramInt) + { + return MotionEventCompatEclair.findPointerIndex(paramMotionEvent, paramInt); + } + + public int getPointerCount(MotionEvent paramMotionEvent) + { + return MotionEventCompatEclair.getPointerCount(paramMotionEvent); + } + + public int getPointerId(MotionEvent paramMotionEvent, int paramInt) + { + return MotionEventCompatEclair.getPointerId(paramMotionEvent, paramInt); + } + + public float getX(MotionEvent paramMotionEvent, int paramInt) + { + return MotionEventCompatEclair.getX(paramMotionEvent, paramInt); + } + + public float getY(MotionEvent paramMotionEvent, int paramInt) + { + return MotionEventCompatEclair.getY(paramMotionEvent, paramInt); + } + } + + static abstract interface MotionEventVersionImpl + { + public abstract int findPointerIndex(MotionEvent paramMotionEvent, int paramInt); + + public abstract int getPointerCount(MotionEvent paramMotionEvent); + + public abstract int getPointerId(MotionEvent paramMotionEvent, int paramInt); + + public abstract float getX(MotionEvent paramMotionEvent, int paramInt); + + public abstract float getY(MotionEvent paramMotionEvent, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.MotionEventCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompatEclair.java b/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompatEclair.java new file mode 100755 index 00000000000..335d0998c2b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/MotionEventCompatEclair.java @@ -0,0 +1,37 @@ +package android.support.v4.view; + +import android.view.MotionEvent; + +class MotionEventCompatEclair +{ + public static int findPointerIndex(MotionEvent paramMotionEvent, int paramInt) + { + return paramMotionEvent.findPointerIndex(paramInt); + } + + public static int getPointerCount(MotionEvent paramMotionEvent) + { + return paramMotionEvent.getPointerCount(); + } + + public static int getPointerId(MotionEvent paramMotionEvent, int paramInt) + { + return paramMotionEvent.getPointerId(paramInt); + } + + public static float getX(MotionEvent paramMotionEvent, int paramInt) + { + return paramMotionEvent.getX(paramInt); + } + + public static float getY(MotionEvent paramMotionEvent, int paramInt) + { + return paramMotionEvent.getY(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.MotionEventCompatEclair + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/PagerAdapter.java b/com.tencent.token/classes.jar/android/support/v4/view/PagerAdapter.java new file mode 100755 index 00000000000..edc28a4c743 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/PagerAdapter.java @@ -0,0 +1,102 @@ +package android.support.v4.view; + +import android.database.DataSetObservable; +import android.database.DataSetObserver; +import android.os.Parcelable; +import android.view.View; +import android.view.ViewGroup; + +public abstract class PagerAdapter +{ + public static final int POSITION_NONE = -2; + public static final int POSITION_UNCHANGED = -1; + private DataSetObservable mObservable = new DataSetObservable(); + + public void destroyItem(View paramView, int paramInt, Object paramObject) + { + throw new UnsupportedOperationException("Required method destroyItem was not overridden"); + } + + public void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + destroyItem(paramViewGroup, paramInt, paramObject); + } + + public void finishUpdate(View paramView) {} + + public void finishUpdate(ViewGroup paramViewGroup) + { + finishUpdate(paramViewGroup); + } + + public abstract int getCount(); + + public int getItemPosition(Object paramObject) + { + return -1; + } + + public CharSequence getPageTitle(int paramInt) + { + return null; + } + + public float getPageWidth(int paramInt) + { + return 1.0F; + } + + public Object instantiateItem(View paramView, int paramInt) + { + throw new UnsupportedOperationException("Required method instantiateItem was not overridden"); + } + + public Object instantiateItem(ViewGroup paramViewGroup, int paramInt) + { + return instantiateItem(paramViewGroup, paramInt); + } + + public abstract boolean isViewFromObject(View paramView, Object paramObject); + + public void notifyDataSetChanged() + { + this.mObservable.notifyChanged(); + } + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mObservable.registerObserver(paramDataSetObserver); + } + + public void restoreState(Parcelable paramParcelable, ClassLoader paramClassLoader) {} + + public Parcelable saveState() + { + return null; + } + + public void setPrimaryItem(View paramView, int paramInt, Object paramObject) {} + + public void setPrimaryItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) + { + setPrimaryItem(paramViewGroup, paramInt, paramObject); + } + + public void startUpdate(View paramView) {} + + public void startUpdate(ViewGroup paramViewGroup) + { + startUpdate(paramViewGroup); + } + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mObservable.unregisterObserver(paramDataSetObserver); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.PagerAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/PagerTabStrip.java b/com.tencent.token/classes.jar/android/support/v4/view/PagerTabStrip.java new file mode 100755 index 00000000000..f717bcbb207 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/PagerTabStrip.java @@ -0,0 +1,256 @@ +package android.support.v4.view; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewConfiguration; +import android.widget.TextView; + +public class PagerTabStrip + extends PagerTitleStrip +{ + private static final int FULL_UNDERLINE_HEIGHT = 1; + private static final int INDICATOR_HEIGHT = 3; + private static final int MIN_PADDING_BOTTOM = 6; + private static final int MIN_STRIP_HEIGHT = 32; + private static final int MIN_TEXT_SPACING = 64; + private static final int TAB_PADDING = 16; + private static final int TAB_SPACING = 32; + private static final String TAG = "PagerTabStrip"; + private boolean mDrawFullUnderline = false; + private boolean mDrawFullUnderlineSet = false; + private int mFullUnderlineHeight; + private boolean mIgnoreTap; + private int mIndicatorColor = this.mTextColor; + private int mIndicatorHeight; + private float mInitialMotionX; + private float mInitialMotionY; + private int mMinPaddingBottom; + private int mMinStripHeight; + private int mMinTextSpacing; + private int mTabAlpha = 255; + private int mTabPadding; + private final Paint mTabPaint = new Paint(); + private final Rect mTempRect = new Rect(); + private int mTouchSlop; + + public PagerTabStrip(Context paramContext) + { + this(paramContext, null); + } + + public PagerTabStrip(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.mTabPaint.setColor(this.mIndicatorColor); + float f = paramContext.getResources().getDisplayMetrics().density; + this.mIndicatorHeight = ((int)(3.0F * f + 0.5F)); + this.mMinPaddingBottom = ((int)(6.0F * f + 0.5F)); + this.mMinTextSpacing = ((int)(64.0F * f)); + this.mTabPadding = ((int)(16.0F * f + 0.5F)); + this.mFullUnderlineHeight = ((int)(1.0F * f + 0.5F)); + this.mMinStripHeight = ((int)(32.0F * f + 0.5F)); + this.mTouchSlop = ViewConfiguration.get(paramContext).getScaledTouchSlop(); + setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), getPaddingBottom()); + setTextSpacing(getTextSpacing()); + setWillNotDraw(false); + this.mPrevText.setFocusable(true); + this.mPrevText.setOnClickListener(new View.OnClickListener() + { + public void onClick(View paramAnonymousView) + { + PagerTabStrip.this.mPager.setCurrentItem(PagerTabStrip.this.mPager.getCurrentItem() - 1); + } + }); + this.mNextText.setFocusable(true); + this.mNextText.setOnClickListener(new View.OnClickListener() + { + public void onClick(View paramAnonymousView) + { + PagerTabStrip.this.mPager.setCurrentItem(PagerTabStrip.this.mPager.getCurrentItem() + 1); + } + }); + if (getBackground() == null) { + this.mDrawFullUnderline = true; + } + } + + public boolean getDrawFullUnderline() + { + return this.mDrawFullUnderline; + } + + int getMinHeight() + { + return Math.max(super.getMinHeight(), this.mMinStripHeight); + } + + public int getTabIndicatorColor() + { + return this.mIndicatorColor; + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + int i = getHeight(); + int j = this.mCurrText.getLeft(); + int k = this.mTabPadding; + int m = this.mCurrText.getRight(); + int n = this.mTabPadding; + int i1 = this.mIndicatorHeight; + this.mTabPaint.setColor(this.mTabAlpha << 24 | this.mIndicatorColor & 0xFFFFFF); + paramCanvas.drawRect(j - k, i - i1, m + n, i, this.mTabPaint); + if (this.mDrawFullUnderline) + { + this.mTabPaint.setColor(0xFF000000 | this.mIndicatorColor & 0xFFFFFF); + paramCanvas.drawRect(getPaddingLeft(), i - this.mFullUnderlineHeight, getWidth() - getPaddingRight(), i, this.mTabPaint); + } + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + int i = paramMotionEvent.getAction(); + if ((i != 0) && (this.mIgnoreTap)) { + return false; + } + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + switch (i) + { + } + for (;;) + { + return true; + this.mInitialMotionX = f1; + this.mInitialMotionY = f2; + this.mIgnoreTap = false; + continue; + if ((Math.abs(f1 - this.mInitialMotionX) > this.mTouchSlop) || (Math.abs(f2 - this.mInitialMotionY) > this.mTouchSlop)) + { + this.mIgnoreTap = true; + continue; + if (f1 < this.mCurrText.getLeft() - this.mTabPadding) { + this.mPager.setCurrentItem(this.mPager.getCurrentItem() - 1); + } else if (f1 > this.mCurrText.getRight() + this.mTabPadding) { + this.mPager.setCurrentItem(this.mPager.getCurrentItem() + 1); + } + } + } + } + + public void setBackgroundColor(int paramInt) + { + super.setBackgroundColor(paramInt); + if (!this.mDrawFullUnderlineSet) { + if ((0xFF000000 & paramInt) != 0) { + break label27; + } + } + label27: + for (boolean bool = true;; bool = false) + { + this.mDrawFullUnderline = bool; + return; + } + } + + public void setBackgroundDrawable(Drawable paramDrawable) + { + super.setBackgroundDrawable(paramDrawable); + if (!this.mDrawFullUnderlineSet) { + if (paramDrawable != null) { + break label24; + } + } + label24: + for (boolean bool = true;; bool = false) + { + this.mDrawFullUnderline = bool; + return; + } + } + + public void setBackgroundResource(int paramInt) + { + super.setBackgroundResource(paramInt); + if (!this.mDrawFullUnderlineSet) { + if (paramInt != 0) { + break label24; + } + } + label24: + for (boolean bool = true;; bool = false) + { + this.mDrawFullUnderline = bool; + return; + } + } + + public void setDrawFullUnderline(boolean paramBoolean) + { + this.mDrawFullUnderline = paramBoolean; + this.mDrawFullUnderlineSet = true; + invalidate(); + } + + public void setPadding(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int i = paramInt4; + if (paramInt4 < this.mMinPaddingBottom) { + i = this.mMinPaddingBottom; + } + super.setPadding(paramInt1, paramInt2, paramInt3, i); + } + + public void setTabIndicatorColor(int paramInt) + { + this.mIndicatorColor = paramInt; + this.mTabPaint.setColor(this.mIndicatorColor); + invalidate(); + } + + public void setTabIndicatorColorResource(int paramInt) + { + setTabIndicatorColor(getContext().getResources().getColor(paramInt)); + } + + public void setTextSpacing(int paramInt) + { + int i = paramInt; + if (paramInt < this.mMinTextSpacing) { + i = this.mMinTextSpacing; + } + super.setTextSpacing(i); + } + + void updateTextPositions(int paramInt, float paramFloat, boolean paramBoolean) + { + Rect localRect = this.mTempRect; + int i = getHeight(); + int j = this.mCurrText.getLeft(); + int k = this.mTabPadding; + int m = this.mCurrText.getRight(); + int n = this.mTabPadding; + int i1 = i - this.mIndicatorHeight; + localRect.set(j - k, i1, m + n, i); + super.updateTextPositions(paramInt, paramFloat, paramBoolean); + this.mTabAlpha = ((int)(Math.abs(paramFloat - 0.5F) * 2.0F * 255.0F)); + localRect.union(this.mCurrText.getLeft() - this.mTabPadding, i1, this.mCurrText.getRight() + this.mTabPadding, i); + invalidate(localRect); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.PagerTabStrip + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStrip.java b/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStrip.java new file mode 100755 index 00000000000..a74c8649e2e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStrip.java @@ -0,0 +1,490 @@ +package android.support.v4.view; + +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.database.DataSetObserver; +import android.graphics.drawable.Drawable; +import android.os.Build.VERSION; +import android.text.TextUtils.TruncateAt; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.View.MeasureSpec; +import android.view.ViewGroup; +import android.widget.TextView; +import java.lang.ref.WeakReference; + +public class PagerTitleStrip + extends ViewGroup + implements ViewPager.Decor +{ + private static final int[] ATTRS = { 16842804, 16842901, 16842904, 16842927 }; + private static final PagerTitleStripImpl IMPL = new PagerTitleStripImplBase(); + private static final float SIDE_ALPHA = 0.6F; + private static final String TAG = "PagerTitleStrip"; + private static final int[] TEXT_ATTRS = { 16843660 }; + private static final int TEXT_SPACING = 16; + TextView mCurrText; + private int mGravity; + private int mLastKnownCurrentPage = -1; + private float mLastKnownPositionOffset = -1.0F; + TextView mNextText; + private int mNonPrimaryAlpha; + private final PageListener mPageListener = new PageListener(null); + ViewPager mPager; + TextView mPrevText; + private int mScaledTextSpacing; + int mTextColor; + private boolean mUpdatingPositions; + private boolean mUpdatingText; + private WeakReference mWatchingAdapter; + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new PagerTitleStripImplIcs(); + return; + } + } + + public PagerTitleStrip(Context paramContext) + { + this(paramContext, null); + } + + public PagerTitleStrip(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + TextView localTextView = new TextView(paramContext); + this.mPrevText = localTextView; + addView(localTextView); + localTextView = new TextView(paramContext); + this.mCurrText = localTextView; + addView(localTextView); + localTextView = new TextView(paramContext); + this.mNextText = localTextView; + addView(localTextView); + paramAttributeSet = paramContext.obtainStyledAttributes(paramAttributeSet, ATTRS); + int i = paramAttributeSet.getResourceId(0, 0); + if (i != 0) + { + this.mPrevText.setTextAppearance(paramContext, i); + this.mCurrText.setTextAppearance(paramContext, i); + this.mNextText.setTextAppearance(paramContext, i); + } + int j = paramAttributeSet.getDimensionPixelSize(1, 0); + if (j != 0) { + setTextSize(0, j); + } + if (paramAttributeSet.hasValue(2)) + { + j = paramAttributeSet.getColor(2, 0); + this.mPrevText.setTextColor(j); + this.mCurrText.setTextColor(j); + this.mNextText.setTextColor(j); + } + this.mGravity = paramAttributeSet.getInteger(3, 80); + paramAttributeSet.recycle(); + this.mTextColor = this.mCurrText.getTextColors().getDefaultColor(); + setNonPrimaryAlpha(0.6F); + this.mPrevText.setEllipsize(TextUtils.TruncateAt.END); + this.mCurrText.setEllipsize(TextUtils.TruncateAt.END); + this.mNextText.setEllipsize(TextUtils.TruncateAt.END); + boolean bool = false; + if (i != 0) + { + paramAttributeSet = paramContext.obtainStyledAttributes(i, TEXT_ATTRS); + bool = paramAttributeSet.getBoolean(0, false); + paramAttributeSet.recycle(); + } + if (bool) + { + setSingleLineAllCaps(this.mPrevText); + setSingleLineAllCaps(this.mCurrText); + setSingleLineAllCaps(this.mNextText); + } + for (;;) + { + this.mScaledTextSpacing = ((int)(16.0F * paramContext.getResources().getDisplayMetrics().density)); + return; + this.mPrevText.setSingleLine(); + this.mCurrText.setSingleLine(); + this.mNextText.setSingleLine(); + } + } + + private static void setSingleLineAllCaps(TextView paramTextView) + { + IMPL.setSingleLineAllCaps(paramTextView); + } + + int getMinHeight() + { + int i = 0; + Drawable localDrawable = getBackground(); + if (localDrawable != null) { + i = localDrawable.getIntrinsicHeight(); + } + return i; + } + + public int getTextSpacing() + { + return this.mScaledTextSpacing; + } + + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + Object localObject = getParent(); + if (!(localObject instanceof ViewPager)) { + throw new IllegalStateException("PagerTitleStrip must be a direct child of a ViewPager."); + } + localObject = (ViewPager)localObject; + PagerAdapter localPagerAdapter = ((ViewPager)localObject).getAdapter(); + ((ViewPager)localObject).setInternalPageChangeListener(this.mPageListener); + ((ViewPager)localObject).setOnAdapterChangeListener(this.mPageListener); + this.mPager = ((ViewPager)localObject); + if (this.mWatchingAdapter != null) {} + for (localObject = (PagerAdapter)this.mWatchingAdapter.get();; localObject = null) + { + updateAdapter((PagerAdapter)localObject, localPagerAdapter); + return; + } + } + + protected void onDetachedFromWindow() + { + super.onDetachedFromWindow(); + if (this.mPager != null) + { + updateAdapter(this.mPager.getAdapter(), null); + this.mPager.setInternalPageChangeListener(null); + this.mPager.setOnAdapterChangeListener(null); + this.mPager = null; + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + float f = 0.0F; + if (this.mPager != null) + { + if (this.mLastKnownPositionOffset >= 0.0F) { + f = this.mLastKnownPositionOffset; + } + updateTextPositions(this.mLastKnownCurrentPage, f, true); + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + int j = View.MeasureSpec.getMode(paramInt1); + int i = View.MeasureSpec.getMode(paramInt2); + paramInt1 = View.MeasureSpec.getSize(paramInt1); + paramInt2 = View.MeasureSpec.getSize(paramInt2); + if (j != 1073741824) { + throw new IllegalStateException("Must measure with an exact width"); + } + j = getMinHeight(); + int k = getPaddingTop() + getPaddingBottom(); + int m = View.MeasureSpec.makeMeasureSpec((int)(paramInt1 * 0.8F), -2147483648); + int n = View.MeasureSpec.makeMeasureSpec(paramInt2 - k, -2147483648); + this.mPrevText.measure(m, n); + this.mCurrText.measure(m, n); + this.mNextText.measure(m, n); + if (i == 1073741824) + { + setMeasuredDimension(paramInt1, paramInt2); + return; + } + setMeasuredDimension(paramInt1, Math.max(j, this.mCurrText.getMeasuredHeight() + k)); + } + + public void requestLayout() + { + if (!this.mUpdatingText) { + super.requestLayout(); + } + } + + public void setGravity(int paramInt) + { + this.mGravity = paramInt; + requestLayout(); + } + + public void setNonPrimaryAlpha(float paramFloat) + { + this.mNonPrimaryAlpha = ((int)(255.0F * paramFloat) & 0xFF); + int i = this.mNonPrimaryAlpha << 24 | this.mTextColor & 0xFFFFFF; + this.mPrevText.setTextColor(i); + this.mNextText.setTextColor(i); + } + + public void setTextColor(int paramInt) + { + this.mTextColor = paramInt; + this.mCurrText.setTextColor(paramInt); + paramInt = this.mNonPrimaryAlpha << 24 | this.mTextColor & 0xFFFFFF; + this.mPrevText.setTextColor(paramInt); + this.mNextText.setTextColor(paramInt); + } + + public void setTextSize(int paramInt, float paramFloat) + { + this.mPrevText.setTextSize(paramInt, paramFloat); + this.mCurrText.setTextSize(paramInt, paramFloat); + this.mNextText.setTextSize(paramInt, paramFloat); + } + + public void setTextSpacing(int paramInt) + { + this.mScaledTextSpacing = paramInt; + requestLayout(); + } + + void updateAdapter(PagerAdapter paramPagerAdapter1, PagerAdapter paramPagerAdapter2) + { + if (paramPagerAdapter1 != null) + { + paramPagerAdapter1.unregisterDataSetObserver(this.mPageListener); + this.mWatchingAdapter = null; + } + if (paramPagerAdapter2 != null) + { + paramPagerAdapter2.registerDataSetObserver(this.mPageListener); + this.mWatchingAdapter = new WeakReference(paramPagerAdapter2); + } + if (this.mPager != null) + { + this.mLastKnownCurrentPage = -1; + this.mLastKnownPositionOffset = -1.0F; + updateText(this.mPager.getCurrentItem(), paramPagerAdapter2); + requestLayout(); + } + } + + void updateText(int paramInt, PagerAdapter paramPagerAdapter) + { + int i; + TextView localTextView; + if (paramPagerAdapter != null) + { + i = paramPagerAdapter.getCount(); + this.mUpdatingText = true; + localTextView = null; + localObject = localTextView; + if (paramInt >= 1) + { + localObject = localTextView; + if (paramPagerAdapter != null) { + localObject = paramPagerAdapter.getPageTitle(paramInt - 1); + } + } + this.mPrevText.setText((CharSequence)localObject); + localTextView = this.mCurrText; + if ((paramPagerAdapter == null) || (paramInt >= i)) { + break label255; + } + } + label255: + for (Object localObject = paramPagerAdapter.getPageTitle(paramInt);; localObject = null) + { + localTextView.setText((CharSequence)localObject); + localTextView = null; + localObject = localTextView; + if (paramInt + 1 < i) + { + localObject = localTextView; + if (paramPagerAdapter != null) { + localObject = paramPagerAdapter.getPageTitle(paramInt + 1); + } + } + this.mNextText.setText((CharSequence)localObject); + int m = getWidth(); + int n = getPaddingLeft(); + int i1 = getPaddingRight(); + i = getHeight(); + int j = getPaddingTop(); + int k = getPaddingBottom(); + m = View.MeasureSpec.makeMeasureSpec((int)((m - n - i1) * 0.8F), -2147483648); + i = View.MeasureSpec.makeMeasureSpec(i - j - k, -2147483648); + this.mPrevText.measure(m, i); + this.mCurrText.measure(m, i); + this.mNextText.measure(m, i); + this.mLastKnownCurrentPage = paramInt; + if (!this.mUpdatingPositions) { + updateTextPositions(paramInt, this.mLastKnownPositionOffset, false); + } + this.mUpdatingText = false; + return; + i = 0; + break; + } + } + + void updateTextPositions(int paramInt, float paramFloat, boolean paramBoolean) + { + int m; + int i4; + int k; + int i3; + int n; + int i; + int i2; + int i1; + int j; + int i5; + int i7; + int i6; + int i8; + if (paramInt != this.mLastKnownCurrentPage) + { + updateText(paramInt, this.mPager.getAdapter()); + this.mUpdatingPositions = true; + m = this.mPrevText.getMeasuredWidth(); + i4 = this.mCurrText.getMeasuredWidth(); + k = this.mNextText.getMeasuredWidth(); + i3 = i4 / 2; + n = getWidth(); + i = getHeight(); + i2 = getPaddingLeft(); + i1 = getPaddingRight(); + paramInt = getPaddingTop(); + j = getPaddingBottom(); + i5 = i1 + i3; + float f2 = paramFloat + 0.5F; + float f1 = f2; + if (f2 > 1.0F) { + f1 = f2 - 1.0F; + } + i3 = n - i5 - (int)((n - (i2 + i3) - i5) * f1) - i4 / 2; + i4 = i3 + i4; + i7 = this.mPrevText.getBaseline(); + i6 = this.mCurrText.getBaseline(); + i5 = this.mNextText.getBaseline(); + i8 = Math.max(Math.max(i7, i6), i5); + i7 = i8 - i7; + i6 = i8 - i6; + i5 = i8 - i5; + i8 = this.mPrevText.getMeasuredHeight(); + int i9 = this.mCurrText.getMeasuredHeight(); + int i10 = this.mNextText.getMeasuredHeight(); + i8 = Math.max(Math.max(i7 + i8, i6 + i9), i5 + i10); + switch (this.mGravity & 0x70) + { + default: + j = paramInt + i7; + i = paramInt + i6; + paramInt += i5; + } + } + for (;;) + { + this.mCurrText.layout(i3, i, i4, this.mCurrText.getMeasuredHeight() + i); + i = Math.min(i2, i3 - this.mScaledTextSpacing - m); + this.mPrevText.layout(i, j, i + m, this.mPrevText.getMeasuredHeight() + j); + i = Math.max(n - i1 - k, this.mScaledTextSpacing + i4); + this.mNextText.layout(i, paramInt, i + k, this.mNextText.getMeasuredHeight() + paramInt); + this.mLastKnownPositionOffset = paramFloat; + this.mUpdatingPositions = false; + return; + if ((paramBoolean) || (paramFloat != this.mLastKnownPositionOffset)) { + break; + } + return; + paramInt = (i - paramInt - j - i8) / 2; + j = paramInt + i7; + i = paramInt + i6; + paramInt += i5; + continue; + paramInt = i - j - i8; + j = paramInt + i7; + i = paramInt + i6; + paramInt += i5; + } + } + + private class PageListener + extends DataSetObserver + implements ViewPager.OnPageChangeListener, ViewPager.OnAdapterChangeListener + { + private int mScrollState; + + private PageListener() {} + + public void onAdapterChanged(PagerAdapter paramPagerAdapter1, PagerAdapter paramPagerAdapter2) + { + PagerTitleStrip.this.updateAdapter(paramPagerAdapter1, paramPagerAdapter2); + } + + public void onChanged() + { + float f = 0.0F; + PagerTitleStrip.this.updateText(PagerTitleStrip.this.mPager.getCurrentItem(), PagerTitleStrip.this.mPager.getAdapter()); + if (PagerTitleStrip.this.mLastKnownPositionOffset >= 0.0F) { + f = PagerTitleStrip.this.mLastKnownPositionOffset; + } + PagerTitleStrip.this.updateTextPositions(PagerTitleStrip.this.mPager.getCurrentItem(), f, true); + } + + public void onPageScrollStateChanged(int paramInt) + { + this.mScrollState = paramInt; + } + + public void onPageScrolled(int paramInt1, float paramFloat, int paramInt2) + { + paramInt2 = paramInt1; + if (paramFloat > 0.5F) { + paramInt2 = paramInt1 + 1; + } + PagerTitleStrip.this.updateTextPositions(paramInt2, paramFloat, false); + } + + public void onPageSelected(int paramInt) + { + float f = 0.0F; + if (this.mScrollState == 0) + { + PagerTitleStrip.this.updateText(PagerTitleStrip.this.mPager.getCurrentItem(), PagerTitleStrip.this.mPager.getAdapter()); + if (PagerTitleStrip.this.mLastKnownPositionOffset >= 0.0F) { + f = PagerTitleStrip.this.mLastKnownPositionOffset; + } + PagerTitleStrip.this.updateTextPositions(PagerTitleStrip.this.mPager.getCurrentItem(), f, true); + } + } + } + + static abstract interface PagerTitleStripImpl + { + public abstract void setSingleLineAllCaps(TextView paramTextView); + } + + static class PagerTitleStripImplBase + implements PagerTitleStrip.PagerTitleStripImpl + { + public void setSingleLineAllCaps(TextView paramTextView) + { + paramTextView.setSingleLine(); + } + } + + static class PagerTitleStripImplIcs + implements PagerTitleStrip.PagerTitleStripImpl + { + public void setSingleLineAllCaps(TextView paramTextView) + { + PagerTitleStripIcs.setSingleLineAllCaps(paramTextView); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.PagerTitleStrip + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStripIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStripIcs.java new file mode 100755 index 00000000000..412ab4f0e31 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/PagerTitleStripIcs.java @@ -0,0 +1,44 @@ +package android.support.v4.view; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.text.method.SingleLineTransformationMethod; +import android.view.View; +import android.widget.TextView; +import java.util.Locale; + +class PagerTitleStripIcs +{ + public static void setSingleLineAllCaps(TextView paramTextView) + { + paramTextView.setTransformationMethod(new SingleLineAllCapsTransform(paramTextView.getContext())); + } + + private static class SingleLineAllCapsTransform + extends SingleLineTransformationMethod + { + private static final String TAG = "SingleLineAllCapsTransform"; + private Locale mLocale; + + public SingleLineAllCapsTransform(Context paramContext) + { + this.mLocale = paramContext.getResources().getConfiguration().locale; + } + + public CharSequence getTransformation(CharSequence paramCharSequence, View paramView) + { + paramCharSequence = super.getTransformation(paramCharSequence, paramView); + if (paramCharSequence != null) { + return paramCharSequence.toString().toUpperCase(this.mLocale); + } + return null; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.PagerTitleStripIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompat.java new file mode 100755 index 00000000000..a4019dcb01e --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompat.java @@ -0,0 +1,69 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.VelocityTracker; + +public class VelocityTrackerCompat +{ + static final VelocityTrackerVersionImpl IMPL = new BaseVelocityTrackerVersionImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new HoneycombVelocityTrackerVersionImpl(); + return; + } + } + + public static float getXVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return IMPL.getXVelocity(paramVelocityTracker, paramInt); + } + + public static float getYVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return IMPL.getYVelocity(paramVelocityTracker, paramInt); + } + + static class BaseVelocityTrackerVersionImpl + implements VelocityTrackerCompat.VelocityTrackerVersionImpl + { + public float getXVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return paramVelocityTracker.getXVelocity(); + } + + public float getYVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return paramVelocityTracker.getYVelocity(); + } + } + + static class HoneycombVelocityTrackerVersionImpl + implements VelocityTrackerCompat.VelocityTrackerVersionImpl + { + public float getXVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return VelocityTrackerCompatHoneycomb.getXVelocity(paramVelocityTracker, paramInt); + } + + public float getYVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return VelocityTrackerCompatHoneycomb.getYVelocity(paramVelocityTracker, paramInt); + } + } + + static abstract interface VelocityTrackerVersionImpl + { + public abstract float getXVelocity(VelocityTracker paramVelocityTracker, int paramInt); + + public abstract float getYVelocity(VelocityTracker paramVelocityTracker, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.VelocityTrackerCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompatHoneycomb.java new file mode 100755 index 00000000000..27995d0952d --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/VelocityTrackerCompatHoneycomb.java @@ -0,0 +1,22 @@ +package android.support.v4.view; + +import android.view.VelocityTracker; + +class VelocityTrackerCompatHoneycomb +{ + public static float getXVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return paramVelocityTracker.getXVelocity(paramInt); + } + + public static float getYVelocity(VelocityTracker paramVelocityTracker, int paramInt) + { + return paramVelocityTracker.getYVelocity(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.VelocityTrackerCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompat.java new file mode 100755 index 00000000000..cbaabc88894 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompat.java @@ -0,0 +1,521 @@ +package android.support.v4.view; + +import android.graphics.Paint; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.support.v4.view.accessibility.AccessibilityNodeProviderCompat; +import android.view.View; +import android.view.ViewParent; +import android.view.accessibility.AccessibilityEvent; + +public class ViewCompat +{ + private static final long FAKE_FRAME_TIME = 10L; + static final ViewCompatImpl IMPL = new BaseViewCompatImpl(); + public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; + public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; + public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; + public static final int LAYER_TYPE_HARDWARE = 2; + public static final int LAYER_TYPE_NONE = 0; + public static final int LAYER_TYPE_SOFTWARE = 1; + public static final int LAYOUT_DIRECTION_INHERIT = 2; + public static final int LAYOUT_DIRECTION_LOCALE = 3; + public static final int LAYOUT_DIRECTION_LTR = 0; + public static final int LAYOUT_DIRECTION_RTL = 1; + public static final int OVER_SCROLL_ALWAYS = 0; + public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; + public static final int OVER_SCROLL_NEVER = 2; + + static + { + int i = Build.VERSION.SDK_INT; + if (i >= 17) + { + IMPL = new JbMr1ViewCompatImpl(); + return; + } + if (i >= 16) + { + IMPL = new JBViewCompatImpl(); + return; + } + if (i >= 14) + { + IMPL = new ICSViewCompatImpl(); + return; + } + if (i >= 11) + { + IMPL = new HCViewCompatImpl(); + return; + } + if (i >= 9) + { + IMPL = new GBViewCompatImpl(); + return; + } + } + + public static boolean canScrollHorizontally(View paramView, int paramInt) + { + return IMPL.canScrollHorizontally(paramView, paramInt); + } + + public static boolean canScrollVertically(View paramView, int paramInt) + { + return IMPL.canScrollVertically(paramView, paramInt); + } + + public static AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View paramView) + { + return IMPL.getAccessibilityNodeProvider(paramView); + } + + public static int getImportantForAccessibility(View paramView) + { + return IMPL.getImportantForAccessibility(paramView); + } + + public static int getLabelFor(View paramView) + { + return IMPL.getLabelFor(paramView); + } + + public static int getLayerType(View paramView) + { + return IMPL.getLayerType(paramView); + } + + public static int getLayoutDirection(View paramView) + { + return IMPL.getLayoutDirection(paramView); + } + + public static int getOverScrollMode(View paramView) + { + return IMPL.getOverScrollMode(paramView); + } + + public static ViewParent getParentForAccessibility(View paramView) + { + return IMPL.getParentForAccessibility(paramView); + } + + public static boolean hasTransientState(View paramView) + { + return IMPL.hasTransientState(paramView); + } + + public static void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + IMPL.onInitializeAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public static void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + IMPL.onInitializeAccessibilityNodeInfo(paramView, paramAccessibilityNodeInfoCompat); + } + + public static void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + IMPL.onPopulateAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public static boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + return IMPL.performAccessibilityAction(paramView, paramInt, paramBundle); + } + + public static void postInvalidateOnAnimation(View paramView) + { + IMPL.postInvalidateOnAnimation(paramView); + } + + public static void postInvalidateOnAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + IMPL.postInvalidateOnAnimation(paramView, paramInt1, paramInt2, paramInt3, paramInt4); + } + + public static void postOnAnimation(View paramView, Runnable paramRunnable) + { + IMPL.postOnAnimation(paramView, paramRunnable); + } + + public static void postOnAnimationDelayed(View paramView, Runnable paramRunnable, long paramLong) + { + IMPL.postOnAnimationDelayed(paramView, paramRunnable, paramLong); + } + + public static void setAccessibilityDelegate(View paramView, AccessibilityDelegateCompat paramAccessibilityDelegateCompat) + { + IMPL.setAccessibilityDelegate(paramView, paramAccessibilityDelegateCompat); + } + + public static void setHasTransientState(View paramView, boolean paramBoolean) + { + IMPL.setHasTransientState(paramView, paramBoolean); + } + + public static void setImportantForAccessibility(View paramView, int paramInt) + { + IMPL.setImportantForAccessibility(paramView, paramInt); + } + + public static void setLabelFor(View paramView, int paramInt) + { + IMPL.setLabelFor(paramView, paramInt); + } + + public static void setLayerPaint(View paramView, Paint paramPaint) + { + IMPL.setLayerPaint(paramView, paramPaint); + } + + public static void setLayerType(View paramView, int paramInt, Paint paramPaint) + { + IMPL.setLayerType(paramView, paramInt, paramPaint); + } + + public static void setLayoutDirection(View paramView, int paramInt) + { + IMPL.setLayoutDirection(paramView, paramInt); + } + + public static void setOverScrollMode(View paramView, int paramInt) + { + IMPL.setOverScrollMode(paramView, paramInt); + } + + static class BaseViewCompatImpl + implements ViewCompat.ViewCompatImpl + { + public boolean canScrollHorizontally(View paramView, int paramInt) + { + return false; + } + + public boolean canScrollVertically(View paramView, int paramInt) + { + return false; + } + + public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View paramView) + { + return null; + } + + long getFrameTime() + { + return 10L; + } + + public int getImportantForAccessibility(View paramView) + { + return 0; + } + + public int getLabelFor(View paramView) + { + return 0; + } + + public int getLayerType(View paramView) + { + return 0; + } + + public int getLayoutDirection(View paramView) + { + return 0; + } + + public int getOverScrollMode(View paramView) + { + return 2; + } + + public ViewParent getParentForAccessibility(View paramView) + { + return paramView.getParent(); + } + + public boolean hasTransientState(View paramView) + { + return false; + } + + public void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) {} + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) {} + + public void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) {} + + public boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + return false; + } + + public void postInvalidateOnAnimation(View paramView) + { + paramView.postInvalidateDelayed(getFrameTime()); + } + + public void postInvalidateOnAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramView.postInvalidateDelayed(getFrameTime(), paramInt1, paramInt2, paramInt3, paramInt4); + } + + public void postOnAnimation(View paramView, Runnable paramRunnable) + { + paramView.postDelayed(paramRunnable, getFrameTime()); + } + + public void postOnAnimationDelayed(View paramView, Runnable paramRunnable, long paramLong) + { + paramView.postDelayed(paramRunnable, getFrameTime() + paramLong); + } + + public void setAccessibilityDelegate(View paramView, AccessibilityDelegateCompat paramAccessibilityDelegateCompat) {} + + public void setHasTransientState(View paramView, boolean paramBoolean) {} + + public void setImportantForAccessibility(View paramView, int paramInt) {} + + public void setLabelFor(View paramView, int paramInt) {} + + public void setLayerPaint(View paramView, Paint paramPaint) {} + + public void setLayerType(View paramView, int paramInt, Paint paramPaint) {} + + public void setLayoutDirection(View paramView, int paramInt) {} + + public void setOverScrollMode(View paramView, int paramInt) {} + } + + static class GBViewCompatImpl + extends ViewCompat.BaseViewCompatImpl + { + public int getOverScrollMode(View paramView) + { + return ViewCompatGingerbread.getOverScrollMode(paramView); + } + + public void setOverScrollMode(View paramView, int paramInt) + { + ViewCompatGingerbread.setOverScrollMode(paramView, paramInt); + } + } + + static class HCViewCompatImpl + extends ViewCompat.GBViewCompatImpl + { + long getFrameTime() + { + return ViewCompatHC.getFrameTime(); + } + + public int getLayerType(View paramView) + { + return ViewCompatHC.getLayerType(paramView); + } + + public void setLayerPaint(View paramView, Paint paramPaint) + { + setLayerType(paramView, getLayerType(paramView), paramPaint); + paramView.invalidate(); + } + + public void setLayerType(View paramView, int paramInt, Paint paramPaint) + { + ViewCompatHC.setLayerType(paramView, paramInt, paramPaint); + } + } + + static class ICSViewCompatImpl + extends ViewCompat.HCViewCompatImpl + { + public boolean canScrollHorizontally(View paramView, int paramInt) + { + return ViewCompatICS.canScrollHorizontally(paramView, paramInt); + } + + public boolean canScrollVertically(View paramView, int paramInt) + { + return ViewCompatICS.canScrollVertically(paramView, paramInt); + } + + public void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + ViewCompatICS.onInitializeAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + ViewCompatICS.onInitializeAccessibilityNodeInfo(paramView, paramAccessibilityNodeInfoCompat.getInfo()); + } + + public void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + ViewCompatICS.onPopulateAccessibilityEvent(paramView, paramAccessibilityEvent); + } + + public void setAccessibilityDelegate(View paramView, AccessibilityDelegateCompat paramAccessibilityDelegateCompat) + { + ViewCompatICS.setAccessibilityDelegate(paramView, paramAccessibilityDelegateCompat.getBridge()); + } + } + + static class JBViewCompatImpl + extends ViewCompat.ICSViewCompatImpl + { + public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View paramView) + { + paramView = ViewCompatJB.getAccessibilityNodeProvider(paramView); + if (paramView != null) { + return new AccessibilityNodeProviderCompat(paramView); + } + return null; + } + + public int getImportantForAccessibility(View paramView) + { + return ViewCompatJB.getImportantForAccessibility(paramView); + } + + public ViewParent getParentForAccessibility(View paramView) + { + return ViewCompatJB.getParentForAccessibility(paramView); + } + + public boolean hasTransientState(View paramView) + { + return ViewCompatJB.hasTransientState(paramView); + } + + public boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + return ViewCompatJB.performAccessibilityAction(paramView, paramInt, paramBundle); + } + + public void postInvalidateOnAnimation(View paramView) + { + ViewCompatJB.postInvalidateOnAnimation(paramView); + } + + public void postInvalidateOnAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + ViewCompatJB.postInvalidateOnAnimation(paramView, paramInt1, paramInt2, paramInt3, paramInt4); + } + + public void postOnAnimation(View paramView, Runnable paramRunnable) + { + ViewCompatJB.postOnAnimation(paramView, paramRunnable); + } + + public void postOnAnimationDelayed(View paramView, Runnable paramRunnable, long paramLong) + { + ViewCompatJB.postOnAnimationDelayed(paramView, paramRunnable, paramLong); + } + + public void setHasTransientState(View paramView, boolean paramBoolean) + { + ViewCompatJB.setHasTransientState(paramView, paramBoolean); + } + + public void setImportantForAccessibility(View paramView, int paramInt) + { + ViewCompatJB.setImportantForAccessibility(paramView, paramInt); + } + } + + static class JbMr1ViewCompatImpl + extends ViewCompat.JBViewCompatImpl + { + public int getLabelFor(View paramView) + { + return ViewCompatJellybeanMr1.getLabelFor(paramView); + } + + public int getLayoutDirection(View paramView) + { + return ViewCompatJellybeanMr1.getLayoutDirection(paramView); + } + + public void setLabelFor(View paramView, int paramInt) + { + ViewCompatJellybeanMr1.setLabelFor(paramView, paramInt); + } + + public void setLayerPaint(View paramView, Paint paramPaint) + { + ViewCompatJellybeanMr1.setLayerPaint(paramView, paramPaint); + } + + public void setLayoutDirection(View paramView, int paramInt) + { + ViewCompatJellybeanMr1.setLayoutDirection(paramView, paramInt); + } + } + + static abstract interface ViewCompatImpl + { + public abstract boolean canScrollHorizontally(View paramView, int paramInt); + + public abstract boolean canScrollVertically(View paramView, int paramInt); + + public abstract AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View paramView); + + public abstract int getImportantForAccessibility(View paramView); + + public abstract int getLabelFor(View paramView); + + public abstract int getLayerType(View paramView); + + public abstract int getLayoutDirection(View paramView); + + public abstract int getOverScrollMode(View paramView); + + public abstract ViewParent getParentForAccessibility(View paramView); + + public abstract boolean hasTransientState(View paramView); + + public abstract void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat); + + public abstract void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle); + + public abstract void postInvalidateOnAnimation(View paramView); + + public abstract void postInvalidateOnAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4); + + public abstract void postOnAnimation(View paramView, Runnable paramRunnable); + + public abstract void postOnAnimationDelayed(View paramView, Runnable paramRunnable, long paramLong); + + public abstract void setAccessibilityDelegate(View paramView, AccessibilityDelegateCompat paramAccessibilityDelegateCompat); + + public abstract void setHasTransientState(View paramView, boolean paramBoolean); + + public abstract void setImportantForAccessibility(View paramView, int paramInt); + + public abstract void setLabelFor(View paramView, int paramInt); + + public abstract void setLayerPaint(View paramView, Paint paramPaint); + + public abstract void setLayerType(View paramView, int paramInt, Paint paramPaint); + + public abstract void setLayoutDirection(View paramView, int paramInt); + + public abstract void setOverScrollMode(View paramView, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatGingerbread.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatGingerbread.java new file mode 100755 index 00000000000..65de76c5f11 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatGingerbread.java @@ -0,0 +1,22 @@ +package android.support.v4.view; + +import android.view.View; + +class ViewCompatGingerbread +{ + public static int getOverScrollMode(View paramView) + { + return paramView.getOverScrollMode(); + } + + public static void setOverScrollMode(View paramView, int paramInt) + { + paramView.setOverScrollMode(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompatGingerbread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatHC.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatHC.java new file mode 100755 index 00000000000..7c224bec4a2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatHC.java @@ -0,0 +1,29 @@ +package android.support.v4.view; + +import android.animation.ValueAnimator; +import android.graphics.Paint; +import android.view.View; + +class ViewCompatHC +{ + static long getFrameTime() + { + return ValueAnimator.getFrameDelay(); + } + + public static int getLayerType(View paramView) + { + return paramView.getLayerType(); + } + + public static void setLayerType(View paramView, int paramInt, Paint paramPaint) + { + paramView.setLayerType(paramInt, paramPaint); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompatHC + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatICS.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatICS.java new file mode 100755 index 00000000000..43228441cd8 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatICS.java @@ -0,0 +1,45 @@ +package android.support.v4.view; + +import android.view.View; +import android.view.View.AccessibilityDelegate; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityNodeInfo; + +class ViewCompatICS +{ + public static boolean canScrollHorizontally(View paramView, int paramInt) + { + return paramView.canScrollHorizontally(paramInt); + } + + public static boolean canScrollVertically(View paramView, int paramInt) + { + return paramView.canScrollVertically(paramInt); + } + + public static void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + paramView.onInitializeAccessibilityEvent(paramAccessibilityEvent); + } + + public static void onInitializeAccessibilityNodeInfo(View paramView, Object paramObject) + { + paramView.onInitializeAccessibilityNodeInfo((AccessibilityNodeInfo)paramObject); + } + + public static void onPopulateAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + paramView.onPopulateAccessibilityEvent(paramAccessibilityEvent); + } + + public static void setAccessibilityDelegate(View paramView, Object paramObject) + { + paramView.setAccessibilityDelegate((View.AccessibilityDelegate)paramObject); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompatICS + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJB.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJB.java new file mode 100755 index 00000000000..c7c895bb9b9 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJB.java @@ -0,0 +1,69 @@ +package android.support.v4.view; + +import android.os.Bundle; +import android.view.View; +import android.view.ViewParent; + +public class ViewCompatJB +{ + public static Object getAccessibilityNodeProvider(View paramView) + { + return paramView.getAccessibilityNodeProvider(); + } + + public static int getImportantForAccessibility(View paramView) + { + return paramView.getImportantForAccessibility(); + } + + public static ViewParent getParentForAccessibility(View paramView) + { + return paramView.getParentForAccessibility(); + } + + public static boolean hasTransientState(View paramView) + { + return paramView.hasTransientState(); + } + + public static boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + return paramView.performAccessibilityAction(paramInt, paramBundle); + } + + public static void postInvalidateOnAnimation(View paramView) + { + paramView.postInvalidateOnAnimation(); + } + + public static void postInvalidateOnAnimation(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramView.postInvalidate(paramInt1, paramInt2, paramInt3, paramInt4); + } + + public static void postOnAnimation(View paramView, Runnable paramRunnable) + { + paramView.postOnAnimation(paramRunnable); + } + + public static void postOnAnimationDelayed(View paramView, Runnable paramRunnable, long paramLong) + { + paramView.postOnAnimationDelayed(paramRunnable, paramLong); + } + + public static void setHasTransientState(View paramView, boolean paramBoolean) + { + paramView.setHasTransientState(paramBoolean); + } + + public static void setImportantForAccessibility(View paramView, int paramInt) + { + paramView.setImportantForAccessibility(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompatJB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJellybeanMr1.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJellybeanMr1.java new file mode 100755 index 00000000000..34c8d02ee90 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewCompatJellybeanMr1.java @@ -0,0 +1,38 @@ +package android.support.v4.view; + +import android.graphics.Paint; +import android.view.View; + +class ViewCompatJellybeanMr1 +{ + public static int getLabelFor(View paramView) + { + return paramView.getLabelFor(); + } + + public static int getLayoutDirection(View paramView) + { + return paramView.getLayoutDirection(); + } + + public static void setLabelFor(View paramView, int paramInt) + { + paramView.setLabelFor(paramInt); + } + + public static void setLayerPaint(View paramView, Paint paramPaint) + { + paramView.setLayerPaint(paramPaint); + } + + public static void setLayoutDirection(View paramView, int paramInt) + { + paramView.setLayoutDirection(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewCompatJellybeanMr1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompat.java new file mode 100755 index 00000000000..4daac4c1afc --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompat.java @@ -0,0 +1,52 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.ViewConfiguration; + +public class ViewConfigurationCompat +{ + static final ViewConfigurationVersionImpl IMPL = new BaseViewConfigurationVersionImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new FroyoViewConfigurationVersionImpl(); + return; + } + } + + public static int getScaledPagingTouchSlop(ViewConfiguration paramViewConfiguration) + { + return IMPL.getScaledPagingTouchSlop(paramViewConfiguration); + } + + static class BaseViewConfigurationVersionImpl + implements ViewConfigurationCompat.ViewConfigurationVersionImpl + { + public int getScaledPagingTouchSlop(ViewConfiguration paramViewConfiguration) + { + return paramViewConfiguration.getScaledTouchSlop(); + } + } + + static class FroyoViewConfigurationVersionImpl + implements ViewConfigurationCompat.ViewConfigurationVersionImpl + { + public int getScaledPagingTouchSlop(ViewConfiguration paramViewConfiguration) + { + return ViewConfigurationCompatFroyo.getScaledPagingTouchSlop(paramViewConfiguration); + } + } + + static abstract interface ViewConfigurationVersionImpl + { + public abstract int getScaledPagingTouchSlop(ViewConfiguration paramViewConfiguration); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewConfigurationCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompatFroyo.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompatFroyo.java new file mode 100755 index 00000000000..b7439b8b1ac --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewConfigurationCompatFroyo.java @@ -0,0 +1,17 @@ +package android.support.v4.view; + +import android.view.ViewConfiguration; + +class ViewConfigurationCompatFroyo +{ + public static int getScaledPagingTouchSlop(ViewConfiguration paramViewConfiguration) + { + return paramViewConfiguration.getScaledPagingTouchSlop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewConfigurationCompatFroyo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompat.java new file mode 100755 index 00000000000..9701bdbbdeb --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompat.java @@ -0,0 +1,78 @@ +package android.support.v4.view; + +import android.os.Build.VERSION; +import android.view.View; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; + +public class ViewGroupCompat +{ + static final ViewGroupCompatImpl IMPL = new ViewGroupCompatStubImpl(); + + static + { + int i = Build.VERSION.SDK_INT; + if (i >= 14) + { + IMPL = new ViewGroupCompatIcsImpl(); + return; + } + if (i >= 11) + { + IMPL = new ViewGroupCompatHCImpl(); + return; + } + } + + public static boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return IMPL.onRequestSendAccessibilityEvent(paramViewGroup, paramView, paramAccessibilityEvent); + } + + public static void setMotionEventSplittingEnabled(ViewGroup paramViewGroup, boolean paramBoolean) + { + IMPL.setMotionEventSplittingEnabled(paramViewGroup, paramBoolean); + } + + static class ViewGroupCompatHCImpl + extends ViewGroupCompat.ViewGroupCompatStubImpl + { + public void setMotionEventSplittingEnabled(ViewGroup paramViewGroup, boolean paramBoolean) + { + ViewGroupCompatHC.setMotionEventSplittingEnabled(paramViewGroup, paramBoolean); + } + } + + static class ViewGroupCompatIcsImpl + extends ViewGroupCompat.ViewGroupCompatHCImpl + { + public boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return ViewGroupCompatIcs.onRequestSendAccessibilityEvent(paramViewGroup, paramView, paramAccessibilityEvent); + } + } + + static abstract interface ViewGroupCompatImpl + { + public abstract boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent); + + public abstract void setMotionEventSplittingEnabled(ViewGroup paramViewGroup, boolean paramBoolean); + } + + static class ViewGroupCompatStubImpl + implements ViewGroupCompat.ViewGroupCompatImpl + { + public boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return true; + } + + public void setMotionEventSplittingEnabled(ViewGroup paramViewGroup, boolean paramBoolean) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewGroupCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatHC.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatHC.java new file mode 100755 index 00000000000..0d0caa9fe82 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatHC.java @@ -0,0 +1,17 @@ +package android.support.v4.view; + +import android.view.ViewGroup; + +class ViewGroupCompatHC +{ + public static void setMotionEventSplittingEnabled(ViewGroup paramViewGroup, boolean paramBoolean) + { + paramViewGroup.setMotionEventSplittingEnabled(paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewGroupCompatHC + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatIcs.java new file mode 100755 index 00000000000..f53149251e6 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewGroupCompatIcs.java @@ -0,0 +1,19 @@ +package android.support.v4.view; + +import android.view.View; +import android.view.ViewGroup; +import android.view.accessibility.AccessibilityEvent; + +class ViewGroupCompatIcs +{ + public static boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + return paramViewGroup.onRequestSendAccessibilityEvent(paramView, paramAccessibilityEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewGroupCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/ViewPager.java b/com.tencent.token/classes.jar/android/support/v4/view/ViewPager.java new file mode 100755 index 00000000000..61d5e1bf150 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/ViewPager.java @@ -0,0 +1,2919 @@ +package android.support.v4.view; + +import android.content.Context; +import android.content.res.Resources; +import android.content.res.Resources.NotFoundException; +import android.content.res.TypedArray; +import android.database.DataSetObserver; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.os.SystemClock; +import android.support.v4.os.ParcelableCompat; +import android.support.v4.os.ParcelableCompatCreatorCallbacks; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.support.v4.widget.EdgeEffectCompat; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.FocusFinder; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.SoundEffectConstants; +import android.view.VelocityTracker; +import android.view.View; +import android.view.View.BaseSavedState; +import android.view.View.MeasureSpec; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.view.ViewParent; +import android.view.accessibility.AccessibilityEvent; +import android.view.animation.Interpolator; +import android.widget.Scroller; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; + +public class ViewPager + extends ViewGroup +{ + private static final int CLOSE_ENOUGH = 2; + private static final Comparator COMPARATOR = new Comparator() + { + public int compare(ViewPager.ItemInfo paramAnonymousItemInfo1, ViewPager.ItemInfo paramAnonymousItemInfo2) + { + return paramAnonymousItemInfo1.position - paramAnonymousItemInfo2.position; + } + }; + private static final boolean DEBUG = false; + private static final int DEFAULT_GUTTER_SIZE = 16; + private static final int DEFAULT_OFFSCREEN_PAGES = 1; + private static final int DRAW_ORDER_DEFAULT = 0; + private static final int DRAW_ORDER_FORWARD = 1; + private static final int DRAW_ORDER_REVERSE = 2; + private static final int INVALID_POINTER = -1; + private static final int[] LAYOUT_ATTRS = { 16842931 }; + private static final int MAX_SETTLE_DURATION = 600; + private static final int MIN_DISTANCE_FOR_FLING = 25; + private static final int MIN_FLING_VELOCITY = 400; + public static final int SCROLL_STATE_DRAGGING = 1; + public static final int SCROLL_STATE_IDLE = 0; + public static final int SCROLL_STATE_SETTLING = 2; + private static final String TAG = "ViewPager"; + private static final boolean USE_CACHE = false; + private static final Interpolator sInterpolator = new Interpolator() + { + public float getInterpolation(float paramAnonymousFloat) + { + paramAnonymousFloat -= 1.0F; + return paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat + 1.0F; + } + }; + private static final ViewPositionComparator sPositionComparator = new ViewPositionComparator(); + private int mActivePointerId = -1; + private PagerAdapter mAdapter; + private OnAdapterChangeListener mAdapterChangeListener; + private int mBottomPageBounds; + private boolean mCalledSuper; + private int mChildHeightMeasureSpec; + private int mChildWidthMeasureSpec; + private int mCloseEnough; + private int mCurItem; + private int mDecorChildCount; + private int mDefaultGutterSize; + private int mDrawingOrder; + private ArrayList mDrawingOrderedChildren; + private final Runnable mEndScrollRunnable = new Runnable() + { + public void run() + { + ViewPager.this.setScrollState(0); + ViewPager.this.populate(); + } + }; + private int mExpectedAdapterCount; + private long mFakeDragBeginTime; + private boolean mFakeDragging; + private boolean mFirstLayout = true; + private float mFirstOffset = -3.402824E+038F; + private int mFlingDistance; + private int mGutterSize; + private boolean mIgnoreGutter; + private boolean mInLayout; + private float mInitialMotionX; + private float mInitialMotionY; + private OnPageChangeListener mInternalPageChangeListener; + private boolean mIsBeingDragged; + private boolean mIsUnableToDrag; + private final ArrayList mItems = new ArrayList(); + private float mLastMotionX; + private float mLastMotionY; + private float mLastOffset = 3.4028235E+38F; + private EdgeEffectCompat mLeftEdge; + private Drawable mMarginDrawable; + private int mMaximumVelocity; + private int mMinimumVelocity; + private boolean mNeedCalculatePageOffsets = false; + private PagerObserver mObserver; + private int mOffscreenPageLimit = 1; + private OnPageChangeListener mOnPageChangeListener; + private int mPageMargin; + private PageTransformer mPageTransformer; + private boolean mPopulatePending; + private Parcelable mRestoredAdapterState = null; + private ClassLoader mRestoredClassLoader = null; + private int mRestoredCurItem = -1; + private EdgeEffectCompat mRightEdge; + private int mScrollState = 0; + private Scroller mScroller; + private boolean mScrollingCacheEnabled; + private Method mSetChildrenDrawingOrderEnabled; + private final ItemInfo mTempItem = new ItemInfo(); + private final Rect mTempRect = new Rect(); + private int mTopPageBounds; + private int mTouchSlop; + private VelocityTracker mVelocityTracker; + + public ViewPager(Context paramContext) + { + super(paramContext); + initViewPager(); + } + + public ViewPager(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + initViewPager(); + } + + private void calculatePageOffsets(ItemInfo paramItemInfo1, int paramInt, ItemInfo paramItemInfo2) + { + int m = this.mAdapter.getCount(); + int i = getClientWidth(); + float f2; + if (i > 0) + { + f2 = this.mPageMargin / i; + if (paramItemInfo2 == null) { + break label409; + } + i = paramItemInfo2.position; + if (i < paramItemInfo1.position) + { + j = 0; + f1 = paramItemInfo2.offset + paramItemInfo2.widthFactor + f2; + i += 1; + } + } + else + { + for (;;) + { + if ((i > paramItemInfo1.position) || (j >= this.mItems.size())) { + break label409; + } + for (paramItemInfo2 = (ItemInfo)this.mItems.get(j);; paramItemInfo2 = (ItemInfo)this.mItems.get(j)) + { + f3 = f1; + k = i; + if (i <= paramItemInfo2.position) { + break; + } + f3 = f1; + k = i; + if (j >= this.mItems.size() - 1) { + break; + } + j += 1; + } + f2 = 0.0F; + break; + while (k < paramItemInfo2.position) + { + f3 += this.mAdapter.getPageWidth(k) + f2; + k += 1; + } + paramItemInfo2.offset = f3; + f1 = f3 + (paramItemInfo2.widthFactor + f2); + i = k + 1; + } + } + if (i > paramItemInfo1.position) + { + j = this.mItems.size() - 1; + f1 = paramItemInfo2.offset; + i -= 1; + while ((i >= paramItemInfo1.position) && (j >= 0)) + { + for (paramItemInfo2 = (ItemInfo)this.mItems.get(j);; paramItemInfo2 = (ItemInfo)this.mItems.get(j)) + { + f3 = f1; + k = i; + if (i >= paramItemInfo2.position) { + break; + } + f3 = f1; + k = i; + if (j <= 0) { + break; + } + j -= 1; + } + while (k > paramItemInfo2.position) + { + f3 -= this.mAdapter.getPageWidth(k) + f2; + k -= 1; + } + f1 = f3 - (paramItemInfo2.widthFactor + f2); + paramItemInfo2.offset = f1; + i = k - 1; + } + } + label409: + int k = this.mItems.size(); + float f3 = paramItemInfo1.offset; + i = paramItemInfo1.position - 1; + if (paramItemInfo1.position == 0) + { + f1 = paramItemInfo1.offset; + this.mFirstOffset = f1; + if (paramItemInfo1.position != m - 1) { + break label550; + } + f1 = paramItemInfo1.offset + paramItemInfo1.widthFactor - 1.0F; + label475: + this.mLastOffset = f1; + j = paramInt - 1; + f1 = f3; + } + for (;;) + { + if (j < 0) { + break label603; + } + paramItemInfo2 = (ItemInfo)this.mItems.get(j); + for (;;) + { + if (i > paramItemInfo2.position) + { + f1 -= this.mAdapter.getPageWidth(i) + f2; + i -= 1; + continue; + f1 = -3.402824E+038F; + break; + label550: + f1 = 3.4028235E+38F; + break label475; + } + } + f1 -= paramItemInfo2.widthFactor + f2; + paramItemInfo2.offset = f1; + if (paramItemInfo2.position == 0) { + this.mFirstOffset = f1; + } + j -= 1; + i -= 1; + } + label603: + float f1 = paramItemInfo1.offset + paramItemInfo1.widthFactor + f2; + i = paramItemInfo1.position + 1; + int j = paramInt + 1; + paramInt = i; + i = j; + while (i < k) + { + paramItemInfo1 = (ItemInfo)this.mItems.get(i); + while (paramInt < paramItemInfo1.position) + { + f1 += this.mAdapter.getPageWidth(paramInt) + f2; + paramInt += 1; + } + if (paramItemInfo1.position == m - 1) { + this.mLastOffset = (paramItemInfo1.widthFactor + f1 - 1.0F); + } + paramItemInfo1.offset = f1; + f1 += paramItemInfo1.widthFactor + f2; + i += 1; + paramInt += 1; + } + this.mNeedCalculatePageOffsets = false; + } + + private void completeScroll(boolean paramBoolean) + { + if (this.mScrollState == 2) {} + int j; + for (int i = 1;; i = 0) + { + if (i != 0) + { + setScrollingCacheEnabled(false); + this.mScroller.abortAnimation(); + j = getScrollX(); + k = getScrollY(); + int m = this.mScroller.getCurrX(); + int n = this.mScroller.getCurrY(); + if ((j != m) || (k != n)) { + scrollTo(m, n); + } + } + this.mPopulatePending = false; + int k = 0; + j = i; + i = k; + while (i < this.mItems.size()) + { + ItemInfo localItemInfo = (ItemInfo)this.mItems.get(i); + if (localItemInfo.scrolling) + { + j = 1; + localItemInfo.scrolling = false; + } + i += 1; + } + } + if (j != 0) + { + if (paramBoolean) { + ViewCompat.postOnAnimation(this, this.mEndScrollRunnable); + } + } + else { + return; + } + this.mEndScrollRunnable.run(); + } + + private int determineTargetPage(int paramInt1, float paramFloat, int paramInt2, int paramInt3) + { + if ((Math.abs(paramInt3) > this.mFlingDistance) && (Math.abs(paramInt2) > this.mMinimumVelocity)) + { + if (paramInt2 > 0) {} + for (;;) + { + paramInt2 = paramInt1; + if (this.mItems.size() > 0) + { + ItemInfo localItemInfo1 = (ItemInfo)this.mItems.get(0); + ItemInfo localItemInfo2 = (ItemInfo)this.mItems.get(this.mItems.size() - 1); + paramInt2 = Math.max(localItemInfo1.position, Math.min(paramInt1, localItemInfo2.position)); + } + return paramInt2; + paramInt1 += 1; + } + } + if (paramInt1 >= this.mCurItem) {} + for (float f = 0.4F;; f = 0.6F) + { + paramInt1 = (int)(paramInt1 + paramFloat + f); + break; + } + } + + private void enableLayers(boolean paramBoolean) + { + int k = getChildCount(); + int i = 0; + if (i < k) + { + if (paramBoolean) {} + for (int j = 2;; j = 0) + { + ViewCompat.setLayerType(getChildAt(i), j, null); + i += 1; + break; + } + } + } + + private void endDrag() + { + this.mIsBeingDragged = false; + this.mIsUnableToDrag = false; + if (this.mVelocityTracker != null) + { + this.mVelocityTracker.recycle(); + this.mVelocityTracker = null; + } + } + + private Rect getChildRectInPagerCoordinates(Rect paramRect, View paramView) + { + Rect localRect = paramRect; + if (paramRect == null) { + localRect = new Rect(); + } + if (paramView == null) { + localRect.set(0, 0, 0, 0); + } + for (;;) + { + return localRect; + localRect.left = paramView.getLeft(); + localRect.right = paramView.getRight(); + localRect.top = paramView.getTop(); + localRect.bottom = paramView.getBottom(); + for (paramRect = paramView.getParent(); ((paramRect instanceof ViewGroup)) && (paramRect != this); paramRect = paramRect.getParent()) + { + paramRect = (ViewGroup)paramRect; + localRect.left += paramRect.getLeft(); + localRect.right += paramRect.getRight(); + localRect.top += paramRect.getTop(); + localRect.bottom += paramRect.getBottom(); + } + } + } + + private int getClientWidth() + { + return getMeasuredWidth() - getPaddingLeft() - getPaddingRight(); + } + + private ItemInfo infoForCurrentScrollPosition() + { + float f2 = 0.0F; + int i = getClientWidth(); + float f1; + int k; + float f3; + float f4; + int j; + Object localObject2; + if (i > 0) + { + f1 = getScrollX() / i; + if (i > 0) { + f2 = this.mPageMargin / i; + } + k = -1; + f3 = 0.0F; + f4 = 0.0F; + j = 1; + localObject2 = null; + i = 0; + } + for (;;) + { + Object localObject3 = localObject2; + int m; + Object localObject1; + if (i < this.mItems.size()) + { + localObject3 = (ItemInfo)this.mItems.get(i); + m = i; + localObject1 = localObject3; + if (j == 0) + { + m = i; + localObject1 = localObject3; + if (((ItemInfo)localObject3).position != k + 1) + { + localObject1 = this.mTempItem; + ((ItemInfo)localObject1).offset = (f3 + f4 + f2); + ((ItemInfo)localObject1).position = (k + 1); + ((ItemInfo)localObject1).widthFactor = this.mAdapter.getPageWidth(((ItemInfo)localObject1).position); + m = i - 1; + } + } + f3 = ((ItemInfo)localObject1).offset; + f4 = ((ItemInfo)localObject1).widthFactor; + if (j == 0) + { + localObject3 = localObject2; + if (f1 < f3) {} + } + else + { + if ((f1 >= f4 + f3 + f2) && (m != this.mItems.size() - 1)) { + break label232; + } + localObject3 = localObject1; + } + } + return localObject3; + f1 = 0.0F; + break; + label232: + j = 0; + k = ((ItemInfo)localObject1).position; + f4 = ((ItemInfo)localObject1).widthFactor; + i = m + 1; + localObject2 = localObject1; + } + } + + private boolean isGutterDrag(float paramFloat1, float paramFloat2) + { + return ((paramFloat1 < this.mGutterSize) && (paramFloat2 > 0.0F)) || ((paramFloat1 > getWidth() - this.mGutterSize) && (paramFloat2 < 0.0F)); + } + + private void onSecondaryPointerUp(MotionEvent paramMotionEvent) + { + int i = MotionEventCompat.getActionIndex(paramMotionEvent); + if (MotionEventCompat.getPointerId(paramMotionEvent, i) == this.mActivePointerId) { + if (i != 0) { + break label56; + } + } + label56: + for (i = 1;; i = 0) + { + this.mLastMotionX = MotionEventCompat.getX(paramMotionEvent, i); + this.mActivePointerId = MotionEventCompat.getPointerId(paramMotionEvent, i); + if (this.mVelocityTracker != null) { + this.mVelocityTracker.clear(); + } + return; + } + } + + private boolean pageScrolled(int paramInt) + { + boolean bool = false; + if (this.mItems.size() == 0) + { + this.mCalledSuper = false; + onPageScrolled(0, 0.0F, 0); + if (!this.mCalledSuper) { + throw new IllegalStateException("onPageScrolled did not call superclass implementation"); + } + } + else + { + ItemInfo localItemInfo = infoForCurrentScrollPosition(); + int j = getClientWidth(); + int k = this.mPageMargin; + float f = this.mPageMargin / j; + int i = localItemInfo.position; + f = (paramInt / j - localItemInfo.offset) / (localItemInfo.widthFactor + f); + paramInt = (int)((j + k) * f); + this.mCalledSuper = false; + onPageScrolled(i, f, paramInt); + if (!this.mCalledSuper) { + throw new IllegalStateException("onPageScrolled did not call superclass implementation"); + } + bool = true; + } + return bool; + } + + private boolean performDrag(float paramFloat) + { + boolean bool3 = false; + boolean bool2 = false; + boolean bool1 = false; + float f1 = this.mLastMotionX; + this.mLastMotionX = paramFloat; + float f2 = getScrollX() + (f1 - paramFloat); + int k = getClientWidth(); + paramFloat = k * this.mFirstOffset; + f1 = k * this.mLastOffset; + int i = 1; + int j = 1; + ItemInfo localItemInfo1 = (ItemInfo)this.mItems.get(0); + ItemInfo localItemInfo2 = (ItemInfo)this.mItems.get(this.mItems.size() - 1); + if (localItemInfo1.position != 0) + { + i = 0; + paramFloat = localItemInfo1.offset * k; + } + if (localItemInfo2.position != this.mAdapter.getCount() - 1) + { + j = 0; + f1 = localItemInfo2.offset * k; + } + if (f2 < paramFloat) { + if (i != 0) { + bool1 = this.mLeftEdge.onPull(Math.abs(paramFloat - f2) / k); + } + } + for (;;) + { + this.mLastMotionX += paramFloat - (int)paramFloat; + scrollTo((int)paramFloat, getScrollY()); + pageScrolled((int)paramFloat); + return bool1; + bool1 = bool3; + paramFloat = f2; + if (f2 > f1) + { + bool1 = bool2; + if (j != 0) { + bool1 = this.mRightEdge.onPull(Math.abs(f2 - f1) / k); + } + paramFloat = f1; + } + } + } + + private void recomputeScrollPosition(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if ((paramInt2 > 0) && (!this.mItems.isEmpty())) + { + int i = getPaddingLeft(); + int j = getPaddingRight(); + int k = getPaddingLeft(); + int m = getPaddingRight(); + f = getScrollX() / (paramInt2 - k - m + paramInt4); + paramInt2 = (int)((paramInt1 - i - j + paramInt3) * f); + scrollTo(paramInt2, getScrollY()); + if (!this.mScroller.isFinished()) + { + paramInt3 = this.mScroller.getDuration(); + paramInt4 = this.mScroller.timePassed(); + localItemInfo = infoForPosition(this.mCurItem); + this.mScroller.startScroll(paramInt2, 0, (int)(localItemInfo.offset * paramInt1), 0, paramInt3 - paramInt4); + } + return; + } + ItemInfo localItemInfo = infoForPosition(this.mCurItem); + if (localItemInfo != null) {} + for (float f = Math.min(localItemInfo.offset, this.mLastOffset);; f = 0.0F) + { + paramInt1 = (int)((paramInt1 - getPaddingLeft() - getPaddingRight()) * f); + if (paramInt1 == getScrollX()) { + break; + } + completeScroll(false); + scrollTo(paramInt1, getScrollY()); + return; + } + } + + private void removeNonDecorViews() + { + int j; + for (int i = 0; i < getChildCount(); i = j + 1) + { + j = i; + if (!((LayoutParams)getChildAt(i).getLayoutParams()).isDecor) + { + removeViewAt(i); + j = i - 1; + } + } + } + + private void scrollToItem(int paramInt1, boolean paramBoolean1, int paramInt2, boolean paramBoolean2) + { + ItemInfo localItemInfo = infoForPosition(paramInt1); + int i = 0; + if (localItemInfo != null) { + i = (int)(getClientWidth() * Math.max(this.mFirstOffset, Math.min(localItemInfo.offset, this.mLastOffset))); + } + if (paramBoolean1) + { + smoothScrollTo(i, 0, paramInt2); + if ((paramBoolean2) && (this.mOnPageChangeListener != null)) { + this.mOnPageChangeListener.onPageSelected(paramInt1); + } + if ((paramBoolean2) && (this.mInternalPageChangeListener != null)) { + this.mInternalPageChangeListener.onPageSelected(paramInt1); + } + return; + } + if ((paramBoolean2) && (this.mOnPageChangeListener != null)) { + this.mOnPageChangeListener.onPageSelected(paramInt1); + } + if ((paramBoolean2) && (this.mInternalPageChangeListener != null)) { + this.mInternalPageChangeListener.onPageSelected(paramInt1); + } + completeScroll(false); + scrollTo(i, 0); + } + + private void setScrollState(int paramInt) + { + if (this.mScrollState == paramInt) { + return; + } + this.mScrollState = paramInt; + if (this.mPageTransformer != null) { + if (paramInt == 0) { + break label50; + } + } + label50: + for (boolean bool = true;; bool = false) + { + enableLayers(bool); + if (this.mOnPageChangeListener == null) { + break; + } + this.mOnPageChangeListener.onPageScrollStateChanged(paramInt); + return; + } + } + + private void setScrollingCacheEnabled(boolean paramBoolean) + { + if (this.mScrollingCacheEnabled != paramBoolean) { + this.mScrollingCacheEnabled = paramBoolean; + } + } + + private void sortChildDrawingOrder() + { + if (this.mDrawingOrder != 0) + { + if (this.mDrawingOrderedChildren == null) { + this.mDrawingOrderedChildren = new ArrayList(); + } + for (;;) + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + View localView = getChildAt(i); + this.mDrawingOrderedChildren.add(localView); + i += 1; + } + this.mDrawingOrderedChildren.clear(); + } + Collections.sort(this.mDrawingOrderedChildren, sPositionComparator); + } + } + + public void addFocusables(ArrayList paramArrayList, int paramInt1, int paramInt2) + { + int j = paramArrayList.size(); + int k = getDescendantFocusability(); + if (k != 393216) + { + int i = 0; + while (i < getChildCount()) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 0) + { + ItemInfo localItemInfo = infoForChild(localView); + if ((localItemInfo != null) && (localItemInfo.position == this.mCurItem)) { + localView.addFocusables(paramArrayList, paramInt1, paramInt2); + } + } + i += 1; + } + } + if (((k == 262144) && (j != paramArrayList.size())) || (!isFocusable())) {} + while ((((paramInt2 & 0x1) == 1) && (isInTouchMode()) && (!isFocusableInTouchMode())) || (paramArrayList == null)) { + return; + } + paramArrayList.add(this); + } + + ItemInfo addNewItem(int paramInt1, int paramInt2) + { + ItemInfo localItemInfo = new ItemInfo(); + localItemInfo.position = paramInt1; + localItemInfo.object = this.mAdapter.instantiateItem(this, paramInt1); + localItemInfo.widthFactor = this.mAdapter.getPageWidth(paramInt1); + if ((paramInt2 < 0) || (paramInt2 >= this.mItems.size())) + { + this.mItems.add(localItemInfo); + return localItemInfo; + } + this.mItems.add(paramInt2, localItemInfo); + return localItemInfo; + } + + public void addTouchables(ArrayList paramArrayList) + { + int i = 0; + while (i < getChildCount()) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 0) + { + ItemInfo localItemInfo = infoForChild(localView); + if ((localItemInfo != null) && (localItemInfo.position == this.mCurItem)) { + localView.addTouchables(paramArrayList); + } + } + i += 1; + } + } + + public void addView(View paramView, int paramInt, ViewGroup.LayoutParams paramLayoutParams) + { + ViewGroup.LayoutParams localLayoutParams = paramLayoutParams; + if (!checkLayoutParams(paramLayoutParams)) { + localLayoutParams = generateLayoutParams(paramLayoutParams); + } + paramLayoutParams = (LayoutParams)localLayoutParams; + paramLayoutParams.isDecor |= paramView instanceof Decor; + if (this.mInLayout) + { + if ((paramLayoutParams != null) && (paramLayoutParams.isDecor)) { + throw new IllegalStateException("Cannot add pager decor view during layout"); + } + paramLayoutParams.needsMeasure = true; + addViewInLayout(paramView, paramInt, localLayoutParams); + return; + } + super.addView(paramView, paramInt, localLayoutParams); + } + + public boolean arrowScroll(int paramInt) + { + View localView = findFocus(); + Object localObject; + boolean bool; + int i; + int j; + if (localView == this) + { + localObject = null; + bool = false; + localView = FocusFinder.getInstance().findNextFocus(this, (View)localObject, paramInt); + if ((localView == null) || (localView == localObject)) { + break label343; + } + if (paramInt != 17) { + break label280; + } + i = getChildRectInPagerCoordinates(this.mTempRect, localView).left; + j = getChildRectInPagerCoordinates(this.mTempRect, (View)localObject).left; + if ((localObject == null) || (i < j)) { + break label270; + } + bool = pageLeft(); + } + for (;;) + { + if (bool) { + playSoundEffect(SoundEffectConstants.getContantForFocusDirection(paramInt)); + } + return bool; + localObject = localView; + if (localView == null) { + break; + } + j = 0; + StringBuilder localStringBuilder; + for (localObject = localView.getParent();; localObject = ((ViewParent)localObject).getParent()) + { + i = j; + if ((localObject instanceof ViewGroup)) + { + if (localObject == this) { + i = 1; + } + } + else + { + localObject = localView; + if (i != 0) { + break; + } + localStringBuilder = new StringBuilder(); + localStringBuilder.append(localView.getClass().getSimpleName()); + for (localObject = localView.getParent(); (localObject instanceof ViewGroup); localObject = ((ViewParent)localObject).getParent()) { + localStringBuilder.append(" => ").append(localObject.getClass().getSimpleName()); + } + } + } + Log.e("ViewPager", "arrowScroll tried to find focus based on non-child current focused view " + localStringBuilder.toString()); + localObject = null; + break; + label270: + bool = localView.requestFocus(); + continue; + label280: + if (paramInt == 66) + { + i = getChildRectInPagerCoordinates(this.mTempRect, localView).left; + j = getChildRectInPagerCoordinates(this.mTempRect, (View)localObject).left; + if ((localObject != null) && (i <= j)) + { + bool = pageRight(); + } + else + { + bool = localView.requestFocus(); + continue; + label343: + if ((paramInt == 17) || (paramInt == 1)) { + bool = pageLeft(); + } else if ((paramInt == 66) || (paramInt == 2)) { + bool = pageRight(); + } + } + } + } + } + + public boolean beginFakeDrag() + { + if (this.mIsBeingDragged) { + return false; + } + this.mFakeDragging = true; + setScrollState(1); + this.mLastMotionX = 0.0F; + this.mInitialMotionX = 0.0F; + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + for (;;) + { + long l = SystemClock.uptimeMillis(); + MotionEvent localMotionEvent = MotionEvent.obtain(l, l, 0, 0.0F, 0.0F, 0); + this.mVelocityTracker.addMovement(localMotionEvent); + localMotionEvent.recycle(); + this.mFakeDragBeginTime = l; + return true; + this.mVelocityTracker.clear(); + } + } + + protected boolean canScroll(View paramView, boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3) + { + if ((paramView instanceof ViewGroup)) + { + ViewGroup localViewGroup = (ViewGroup)paramView; + int j = paramView.getScrollX(); + int k = paramView.getScrollY(); + int i = localViewGroup.getChildCount() - 1; + while (i >= 0) + { + View localView = localViewGroup.getChildAt(i); + if ((paramInt2 + j >= localView.getLeft()) && (paramInt2 + j < localView.getRight()) && (paramInt3 + k >= localView.getTop()) && (paramInt3 + k < localView.getBottom()) && (canScroll(localView, true, paramInt1, paramInt2 + j - localView.getLeft(), paramInt3 + k - localView.getTop()))) { + return true; + } + i -= 1; + } + } + return (paramBoolean) && (ViewCompat.canScrollHorizontally(paramView, -paramInt1)); + } + + protected boolean checkLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + return ((paramLayoutParams instanceof LayoutParams)) && (super.checkLayoutParams(paramLayoutParams)); + } + + public void computeScroll() + { + if ((!this.mScroller.isFinished()) && (this.mScroller.computeScrollOffset())) + { + int i = getScrollX(); + int j = getScrollY(); + int k = this.mScroller.getCurrX(); + int m = this.mScroller.getCurrY(); + if ((i != k) || (j != m)) + { + scrollTo(k, m); + if (!pageScrolled(k)) + { + this.mScroller.abortAnimation(); + scrollTo(0, m); + } + } + ViewCompat.postInvalidateOnAnimation(this); + return; + } + completeScroll(true); + } + + void dataSetChanged() + { + int i4 = this.mAdapter.getCount(); + this.mExpectedAdapterCount = i4; + int i; + int j; + int k; + int m; + label57: + Object localObject; + int i3; + int n; + int i1; + int i2; + if ((this.mItems.size() < this.mOffscreenPageLimit * 2 + 1) && (this.mItems.size() < i4)) + { + i = 1; + j = this.mCurItem; + k = 0; + m = 0; + if (m >= this.mItems.size()) { + break label304; + } + localObject = (ItemInfo)this.mItems.get(m); + i3 = this.mAdapter.getItemPosition(((ItemInfo)localObject).object); + if (i3 != -1) { + break label133; + } + n = j; + i1 = k; + i2 = m; + } + for (;;) + { + m = i2 + 1; + k = i1; + j = n; + break label57; + i = 0; + break; + label133: + if (i3 == -2) + { + this.mItems.remove(m); + i3 = m - 1; + m = k; + if (k == 0) + { + this.mAdapter.startUpdate(this); + m = 1; + } + this.mAdapter.destroyItem(this, ((ItemInfo)localObject).position, ((ItemInfo)localObject).object); + i = 1; + i2 = i3; + i1 = m; + n = j; + if (this.mCurItem == ((ItemInfo)localObject).position) + { + n = Math.max(0, Math.min(this.mCurItem, i4 - 1)); + i = 1; + i2 = i3; + i1 = m; + } + } + else + { + i2 = m; + i1 = k; + n = j; + if (((ItemInfo)localObject).position != i3) + { + if (((ItemInfo)localObject).position == this.mCurItem) { + j = i3; + } + ((ItemInfo)localObject).position = i3; + i = 1; + i2 = m; + i1 = k; + n = j; + } + } + } + label304: + if (k != 0) { + this.mAdapter.finishUpdate(this); + } + Collections.sort(this.mItems, COMPARATOR); + if (i != 0) + { + k = getChildCount(); + i = 0; + while (i < k) + { + localObject = (LayoutParams)getChildAt(i).getLayoutParams(); + if (!((LayoutParams)localObject).isDecor) { + ((LayoutParams)localObject).widthFactor = 0.0F; + } + i += 1; + } + setCurrentItemInternal(j, false, true); + requestLayout(); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + return (super.dispatchKeyEvent(paramKeyEvent)) || (executeKeyEvent(paramKeyEvent)); + } + + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent paramAccessibilityEvent) + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 0) + { + ItemInfo localItemInfo = infoForChild(localView); + if ((localItemInfo != null) && (localItemInfo.position == this.mCurItem) && (localView.dispatchPopulateAccessibilityEvent(paramAccessibilityEvent))) { + return true; + } + } + i += 1; + } + return false; + } + + float distanceInfluenceForSnapDuration(float paramFloat) + { + return (float)Math.sin((float)((paramFloat - 0.5F) * 0.47123891676382D)); + } + + public void draw(Canvas paramCanvas) + { + super.draw(paramCanvas); + int k = 0; + int i = 0; + int m = ViewCompat.getOverScrollMode(this); + boolean bool; + if ((m == 0) || ((m == 1) && (this.mAdapter != null) && (this.mAdapter.getCount() > 1))) + { + int j; + if (!this.mLeftEdge.isFinished()) + { + k = paramCanvas.save(); + i = getHeight() - getPaddingTop() - getPaddingBottom(); + m = getWidth(); + paramCanvas.rotate(270.0F); + paramCanvas.translate(-i + getPaddingTop(), this.mFirstOffset * m); + this.mLeftEdge.setSize(i, m); + j = false | this.mLeftEdge.draw(paramCanvas); + paramCanvas.restoreToCount(k); + } + k = j; + if (!this.mRightEdge.isFinished()) + { + m = paramCanvas.save(); + k = getWidth(); + int n = getHeight(); + int i1 = getPaddingTop(); + int i2 = getPaddingBottom(); + paramCanvas.rotate(90.0F); + paramCanvas.translate(-getPaddingTop(), -(this.mLastOffset + 1.0F) * k); + this.mRightEdge.setSize(n - i1 - i2, k); + bool = j | this.mRightEdge.draw(paramCanvas); + paramCanvas.restoreToCount(m); + } + } + for (;;) + { + if (bool) { + ViewCompat.postInvalidateOnAnimation(this); + } + return; + this.mLeftEdge.finish(); + this.mRightEdge.finish(); + } + } + + protected void drawableStateChanged() + { + super.drawableStateChanged(); + Drawable localDrawable = this.mMarginDrawable; + if ((localDrawable != null) && (localDrawable.isStateful())) { + localDrawable.setState(getDrawableState()); + } + } + + public void endFakeDrag() + { + if (!this.mFakeDragging) { + throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first."); + } + Object localObject = this.mVelocityTracker; + ((VelocityTracker)localObject).computeCurrentVelocity(1000, this.mMaximumVelocity); + int i = (int)VelocityTrackerCompat.getXVelocity((VelocityTracker)localObject, this.mActivePointerId); + this.mPopulatePending = true; + int j = getClientWidth(); + int k = getScrollX(); + localObject = infoForCurrentScrollPosition(); + setCurrentItemInternal(determineTargetPage(((ItemInfo)localObject).position, (k / j - ((ItemInfo)localObject).offset) / ((ItemInfo)localObject).widthFactor, i, (int)(this.mLastMotionX - this.mInitialMotionX)), true, true, i); + endDrag(); + this.mFakeDragging = false; + } + + public boolean executeKeyEvent(KeyEvent paramKeyEvent) + { + if (paramKeyEvent.getAction() == 0) { + switch (paramKeyEvent.getKeyCode()) + { + } + } + do + { + do + { + return false; + return arrowScroll(17); + return arrowScroll(66); + } while (Build.VERSION.SDK_INT < 11); + if (KeyEventCompat.hasNoModifiers(paramKeyEvent)) { + return arrowScroll(2); + } + } while (!KeyEventCompat.hasModifiers(paramKeyEvent, 1)); + return arrowScroll(1); + } + + public void fakeDragBy(float paramFloat) + { + if (!this.mFakeDragging) { + throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first."); + } + this.mLastMotionX += paramFloat; + float f2 = getScrollX() - paramFloat; + int i = getClientWidth(); + paramFloat = i * this.mFirstOffset; + float f1 = i * this.mLastOffset; + Object localObject = (ItemInfo)this.mItems.get(0); + ItemInfo localItemInfo = (ItemInfo)this.mItems.get(this.mItems.size() - 1); + if (((ItemInfo)localObject).position != 0) { + paramFloat = ((ItemInfo)localObject).offset * i; + } + if (localItemInfo.position != this.mAdapter.getCount() - 1) { + f1 = localItemInfo.offset * i; + } + if (f2 < paramFloat) {} + for (;;) + { + this.mLastMotionX += paramFloat - (int)paramFloat; + scrollTo((int)paramFloat, getScrollY()); + pageScrolled((int)paramFloat); + long l = SystemClock.uptimeMillis(); + localObject = MotionEvent.obtain(this.mFakeDragBeginTime, l, 2, this.mLastMotionX, 0.0F, 0); + this.mVelocityTracker.addMovement((MotionEvent)localObject); + ((MotionEvent)localObject).recycle(); + return; + paramFloat = f2; + if (f2 > f1) { + paramFloat = f1; + } + } + } + + protected ViewGroup.LayoutParams generateDefaultLayoutParams() + { + return new LayoutParams(); + } + + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet paramAttributeSet) + { + return new LayoutParams(getContext(), paramAttributeSet); + } + + protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + return generateDefaultLayoutParams(); + } + + public PagerAdapter getAdapter() + { + return this.mAdapter; + } + + protected int getChildDrawingOrder(int paramInt1, int paramInt2) + { + if (this.mDrawingOrder == 2) {} + for (paramInt1 = paramInt1 - 1 - paramInt2;; paramInt1 = paramInt2) { + return ((LayoutParams)((View)this.mDrawingOrderedChildren.get(paramInt1)).getLayoutParams()).childIndex; + } + } + + public int getCurrentItem() + { + return this.mCurItem; + } + + public int getOffscreenPageLimit() + { + return this.mOffscreenPageLimit; + } + + public int getPageMargin() + { + return this.mPageMargin; + } + + ItemInfo infoForAnyChild(View paramView) + { + for (;;) + { + ViewParent localViewParent = paramView.getParent(); + if (localViewParent == this) { + break; + } + if ((localViewParent == null) || (!(localViewParent instanceof View))) { + return null; + } + paramView = (View)localViewParent; + } + return infoForChild(paramView); + } + + ItemInfo infoForChild(View paramView) + { + int i = 0; + while (i < this.mItems.size()) + { + ItemInfo localItemInfo = (ItemInfo)this.mItems.get(i); + if (this.mAdapter.isViewFromObject(paramView, localItemInfo.object)) { + return localItemInfo; + } + i += 1; + } + return null; + } + + ItemInfo infoForPosition(int paramInt) + { + int i = 0; + while (i < this.mItems.size()) + { + ItemInfo localItemInfo = (ItemInfo)this.mItems.get(i); + if (localItemInfo.position == paramInt) { + return localItemInfo; + } + i += 1; + } + return null; + } + + void initViewPager() + { + setWillNotDraw(false); + setDescendantFocusability(262144); + setFocusable(true); + Context localContext = getContext(); + this.mScroller = new Scroller(localContext, sInterpolator); + ViewConfiguration localViewConfiguration = ViewConfiguration.get(localContext); + float f = localContext.getResources().getDisplayMetrics().density; + this.mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(localViewConfiguration); + this.mMinimumVelocity = ((int)(400.0F * f)); + this.mMaximumVelocity = localViewConfiguration.getScaledMaximumFlingVelocity(); + this.mLeftEdge = new EdgeEffectCompat(localContext); + this.mRightEdge = new EdgeEffectCompat(localContext); + this.mFlingDistance = ((int)(25.0F * f)); + this.mCloseEnough = ((int)(2.0F * f)); + this.mDefaultGutterSize = ((int)(16.0F * f)); + ViewCompat.setAccessibilityDelegate(this, new MyAccessibilityDelegate()); + if (ViewCompat.getImportantForAccessibility(this) == 0) { + ViewCompat.setImportantForAccessibility(this, 1); + } + } + + public boolean isFakeDragging() + { + return this.mFakeDragging; + } + + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + this.mFirstLayout = true; + } + + protected void onDetachedFromWindow() + { + removeCallbacks(this.mEndScrollRunnable); + super.onDetachedFromWindow(); + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + int k; + int m; + float f3; + int j; + Object localObject; + float f1; + int n; + int i; + int i1; + if ((this.mPageMargin > 0) && (this.mMarginDrawable != null) && (this.mItems.size() > 0) && (this.mAdapter != null)) + { + k = getScrollX(); + m = getWidth(); + f3 = this.mPageMargin / m; + j = 0; + localObject = (ItemInfo)this.mItems.get(0); + f1 = ((ItemInfo)localObject).offset; + n = this.mItems.size(); + i = ((ItemInfo)localObject).position; + i1 = ((ItemInfo)this.mItems.get(n - 1)).position; + } + for (;;) + { + float f2; + if (i < i1) + { + while ((i > ((ItemInfo)localObject).position) && (j < n)) + { + localObject = this.mItems; + j += 1; + localObject = (ItemInfo)((ArrayList)localObject).get(j); + } + if (i != ((ItemInfo)localObject).position) { + break label271; + } + f2 = (((ItemInfo)localObject).offset + ((ItemInfo)localObject).widthFactor) * m; + } + label271: + float f4; + for (f1 = ((ItemInfo)localObject).offset + ((ItemInfo)localObject).widthFactor + f3;; f1 += f4 + f3) + { + if (this.mPageMargin + f2 > k) + { + this.mMarginDrawable.setBounds((int)f2, this.mTopPageBounds, (int)(this.mPageMargin + f2 + 0.5F), this.mBottomPageBounds); + this.mMarginDrawable.draw(paramCanvas); + } + if (f2 <= k + m) { + break; + } + return; + f4 = this.mAdapter.getPageWidth(i); + f2 = (f1 + f4) * m; + } + i += 1; + } + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int i = paramMotionEvent.getAction() & 0xFF; + if ((i == 3) || (i == 1)) + { + this.mIsBeingDragged = false; + this.mIsUnableToDrag = false; + this.mActivePointerId = -1; + if (this.mVelocityTracker != null) + { + this.mVelocityTracker.recycle(); + this.mVelocityTracker = null; + } + return false; + } + if (i != 0) + { + if (this.mIsBeingDragged) { + return true; + } + if (this.mIsUnableToDrag) { + return false; + } + } + switch (i) + { + } + for (;;) + { + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + this.mVelocityTracker.addMovement(paramMotionEvent); + return this.mIsBeingDragged; + i = this.mActivePointerId; + if (i != -1) + { + i = MotionEventCompat.findPointerIndex(paramMotionEvent, i); + float f2 = MotionEventCompat.getX(paramMotionEvent, i); + float f1 = f2 - this.mLastMotionX; + float f4 = Math.abs(f1); + float f3 = MotionEventCompat.getY(paramMotionEvent, i); + float f5 = Math.abs(f3 - this.mInitialMotionY); + if ((f1 != 0.0F) && (!isGutterDrag(this.mLastMotionX, f1)) && (canScroll(this, false, (int)f1, (int)f2, (int)f3))) + { + this.mLastMotionX = f2; + this.mLastMotionY = f3; + this.mIsUnableToDrag = true; + return false; + } + if ((f4 > this.mTouchSlop) && (0.5F * f4 > f5)) + { + this.mIsBeingDragged = true; + setScrollState(1); + if (f1 > 0.0F) + { + f1 = this.mInitialMotionX + this.mTouchSlop; + label305: + this.mLastMotionX = f1; + this.mLastMotionY = f3; + setScrollingCacheEnabled(true); + } + } + while ((this.mIsBeingDragged) && (performDrag(f2))) + { + ViewCompat.postInvalidateOnAnimation(this); + break; + f1 = this.mInitialMotionX - this.mTouchSlop; + break label305; + if (f5 > this.mTouchSlop) { + this.mIsUnableToDrag = true; + } + } + f1 = paramMotionEvent.getX(); + this.mInitialMotionX = f1; + this.mLastMotionX = f1; + f1 = paramMotionEvent.getY(); + this.mInitialMotionY = f1; + this.mLastMotionY = f1; + this.mActivePointerId = MotionEventCompat.getPointerId(paramMotionEvent, 0); + this.mIsUnableToDrag = false; + this.mScroller.computeScrollOffset(); + if ((this.mScrollState == 2) && (Math.abs(this.mScroller.getFinalX() - this.mScroller.getCurrX()) > this.mCloseEnough)) + { + this.mScroller.abortAnimation(); + this.mPopulatePending = false; + populate(); + this.mIsBeingDragged = true; + setScrollState(1); + } + else + { + completeScroll(false); + this.mIsBeingDragged = false; + continue; + onSecondaryPointerUp(paramMotionEvent); + } + } + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int i3 = getChildCount(); + int i5 = paramInt3 - paramInt1; + int i4 = paramInt4 - paramInt2; + paramInt2 = getPaddingLeft(); + paramInt1 = getPaddingTop(); + int i = getPaddingRight(); + paramInt4 = getPaddingBottom(); + int i6 = getScrollX(); + int k = 0; + int m = 0; + View localView; + int j; + LayoutParams localLayoutParams; + if (m < i3) + { + localView = getChildAt(m); + int i2 = k; + int i1 = paramInt4; + j = paramInt2; + int n = i; + paramInt3 = paramInt1; + if (localView.getVisibility() != 8) + { + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + i2 = k; + i1 = paramInt4; + j = paramInt2; + n = i; + paramInt3 = paramInt1; + if (localLayoutParams.isDecor) + { + paramInt3 = localLayoutParams.gravity; + n = localLayoutParams.gravity; + switch (paramInt3 & 0x7) + { + case 2: + case 4: + default: + paramInt3 = paramInt2; + j = paramInt2; + label190: + switch (n & 0x70) + { + default: + paramInt2 = paramInt1; + } + break; + } + } + } + for (;;) + { + paramInt3 += i6; + localView.layout(paramInt3, paramInt2, localView.getMeasuredWidth() + paramInt3, localView.getMeasuredHeight() + paramInt2); + i2 = k + 1; + paramInt3 = paramInt1; + n = i; + i1 = paramInt4; + m += 1; + k = i2; + paramInt4 = i1; + paramInt2 = j; + i = n; + paramInt1 = paramInt3; + break; + paramInt3 = paramInt2; + j = paramInt2 + localView.getMeasuredWidth(); + break label190; + paramInt3 = Math.max((i5 - localView.getMeasuredWidth()) / 2, paramInt2); + j = paramInt2; + break label190; + paramInt3 = i5 - i - localView.getMeasuredWidth(); + i += localView.getMeasuredWidth(); + j = paramInt2; + break label190; + paramInt2 = paramInt1; + paramInt1 += localView.getMeasuredHeight(); + continue; + paramInt2 = Math.max((i4 - localView.getMeasuredHeight()) / 2, paramInt1); + continue; + paramInt2 = i4 - paramInt4 - localView.getMeasuredHeight(); + paramInt4 += localView.getMeasuredHeight(); + } + } + i = i5 - paramInt2 - i; + paramInt3 = 0; + while (paramInt3 < i3) + { + localView = getChildAt(paramInt3); + if (localView.getVisibility() != 8) + { + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if (!localLayoutParams.isDecor) + { + ItemInfo localItemInfo = infoForChild(localView); + if (localItemInfo != null) + { + j = paramInt2 + (int)(i * localItemInfo.offset); + if (localLayoutParams.needsMeasure) + { + localLayoutParams.needsMeasure = false; + localView.measure(View.MeasureSpec.makeMeasureSpec((int)(i * localLayoutParams.widthFactor), 1073741824), View.MeasureSpec.makeMeasureSpec(i4 - paramInt1 - paramInt4, 1073741824)); + } + localView.layout(j, paramInt1, localView.getMeasuredWidth() + j, localView.getMeasuredHeight() + paramInt1); + } + } + } + paramInt3 += 1; + } + this.mTopPageBounds = paramInt1; + this.mBottomPageBounds = (i4 - paramInt4); + this.mDecorChildCount = k; + if (this.mFirstLayout) { + scrollToItem(this.mCurItem, false, 0, false); + } + this.mFirstLayout = false; + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + setMeasuredDimension(getDefaultSize(0, paramInt1), getDefaultSize(0, paramInt2)); + paramInt1 = getMeasuredWidth(); + this.mGutterSize = Math.min(paramInt1 / 10, this.mDefaultGutterSize); + paramInt1 = paramInt1 - getPaddingLeft() - getPaddingRight(); + paramInt2 = getMeasuredHeight() - getPaddingTop() - getPaddingBottom(); + int i5 = getChildCount(); + int k = 0; + View localView; + LayoutParams localLayoutParams; + if (k < i5) + { + localView = getChildAt(k); + i = paramInt2; + int j = paramInt1; + int m; + int i1; + label179: + int n; + if (localView.getVisibility() != 8) + { + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + i = paramInt2; + j = paramInt1; + if (localLayoutParams != null) + { + i = paramInt2; + j = paramInt1; + if (localLayoutParams.isDecor) + { + j = localLayoutParams.gravity & 0x7; + m = localLayoutParams.gravity & 0x70; + i1 = -2147483648; + i = -2147483648; + if ((m != 48) && (m != 80)) { + break label350; + } + m = 1; + if ((j != 3) && (j != 5)) { + break label356; + } + n = 1; + label194: + if (m == 0) { + break label362; + } + j = 1073741824; + label204: + int i3 = paramInt1; + i1 = paramInt2; + int i2 = i3; + int i4; + if (localLayoutParams.width != -2) + { + i4 = 1073741824; + j = i4; + i2 = i3; + if (localLayoutParams.width != -1) + { + i2 = localLayoutParams.width; + j = i4; + } + } + i3 = i1; + if (localLayoutParams.height != -2) + { + i4 = 1073741824; + i = i4; + i3 = i1; + if (localLayoutParams.height != -1) + { + i3 = localLayoutParams.height; + i = i4; + } + } + localView.measure(View.MeasureSpec.makeMeasureSpec(i2, j), View.MeasureSpec.makeMeasureSpec(i3, i)); + if (m == 0) { + break label382; + } + i = paramInt2 - localView.getMeasuredHeight(); + j = paramInt1; + } + } + } + for (;;) + { + k += 1; + paramInt2 = i; + paramInt1 = j; + break; + label350: + m = 0; + break label179; + label356: + n = 0; + break label194; + label362: + j = i1; + if (n == 0) { + break label204; + } + i = 1073741824; + j = i1; + break label204; + label382: + i = paramInt2; + j = paramInt1; + if (n != 0) + { + j = paramInt1 - localView.getMeasuredWidth(); + i = paramInt2; + } + } + } + this.mChildWidthMeasureSpec = View.MeasureSpec.makeMeasureSpec(paramInt1, 1073741824); + this.mChildHeightMeasureSpec = View.MeasureSpec.makeMeasureSpec(paramInt2, 1073741824); + this.mInLayout = true; + populate(); + this.mInLayout = false; + int i = getChildCount(); + paramInt2 = 0; + while (paramInt2 < i) + { + localView = getChildAt(paramInt2); + if (localView.getVisibility() != 8) + { + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if ((localLayoutParams == null) || (!localLayoutParams.isDecor)) { + localView.measure(View.MeasureSpec.makeMeasureSpec((int)(paramInt1 * localLayoutParams.widthFactor), 1073741824), this.mChildHeightMeasureSpec); + } + } + paramInt2 += 1; + } + } + + protected void onPageScrolled(int paramInt1, float paramFloat, int paramInt2) + { + int i; + View localView; + if (this.mDecorChildCount > 0) + { + int i1 = getScrollX(); + i = getPaddingLeft(); + int k = getPaddingRight(); + int i2 = getWidth(); + int i3 = getChildCount(); + int m = 0; + while (m < i3) + { + localView = getChildAt(m); + LayoutParams localLayoutParams = (LayoutParams)localView.getLayoutParams(); + int j; + int n; + if (!localLayoutParams.isDecor) + { + j = k; + n = i; + m += 1; + i = n; + k = j; + } + else + { + switch (localLayoutParams.gravity & 0x7) + { + case 2: + case 4: + default: + j = i; + } + for (;;) + { + int i4 = j + i1 - localView.getLeft(); + n = i; + j = k; + if (i4 == 0) { + break; + } + localView.offsetLeftAndRight(i4); + n = i; + j = k; + break; + j = i; + i += localView.getWidth(); + continue; + j = Math.max((i2 - localView.getMeasuredWidth()) / 2, i); + continue; + j = i2 - k - localView.getMeasuredWidth(); + k += localView.getMeasuredWidth(); + } + } + } + } + if (this.mOnPageChangeListener != null) { + this.mOnPageChangeListener.onPageScrolled(paramInt1, paramFloat, paramInt2); + } + if (this.mInternalPageChangeListener != null) { + this.mInternalPageChangeListener.onPageScrolled(paramInt1, paramFloat, paramInt2); + } + if (this.mPageTransformer != null) + { + paramInt2 = getScrollX(); + i = getChildCount(); + paramInt1 = 0; + if (paramInt1 < i) + { + localView = getChildAt(paramInt1); + if (((LayoutParams)localView.getLayoutParams()).isDecor) {} + for (;;) + { + paramInt1 += 1; + break; + paramFloat = (localView.getLeft() - paramInt2) / getClientWidth(); + this.mPageTransformer.transformPage(localView, paramFloat); + } + } + } + this.mCalledSuper = true; + } + + protected boolean onRequestFocusInDescendants(int paramInt, Rect paramRect) + { + int j = getChildCount(); + int i; + int k; + if ((paramInt & 0x2) != 0) + { + i = 0; + k = 1; + } + while (i != j) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 0) + { + ItemInfo localItemInfo = infoForChild(localView); + if ((localItemInfo != null) && (localItemInfo.position == this.mCurItem) && (localView.requestFocus(paramInt, paramRect))) + { + return true; + i = j - 1; + k = -1; + j = -1; + continue; + } + } + i += k; + } + return false; + } + + public void onRestoreInstanceState(Parcelable paramParcelable) + { + if (!(paramParcelable instanceof SavedState)) + { + super.onRestoreInstanceState(paramParcelable); + return; + } + paramParcelable = (SavedState)paramParcelable; + super.onRestoreInstanceState(paramParcelable.getSuperState()); + if (this.mAdapter != null) + { + this.mAdapter.restoreState(paramParcelable.adapterState, paramParcelable.loader); + setCurrentItemInternal(paramParcelable.position, false, true); + return; + } + this.mRestoredCurItem = paramParcelable.position; + this.mRestoredAdapterState = paramParcelable.adapterState; + this.mRestoredClassLoader = paramParcelable.loader; + } + + public Parcelable onSaveInstanceState() + { + SavedState localSavedState = new SavedState(super.onSaveInstanceState()); + localSavedState.position = this.mCurItem; + if (this.mAdapter != null) { + localSavedState.adapterState = this.mAdapter.saveState(); + } + return localSavedState; + } + + protected void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onSizeChanged(paramInt1, paramInt2, paramInt3, paramInt4); + if (paramInt1 != paramInt3) { + recomputeScrollPosition(paramInt1, paramInt3, this.mPageMargin, this.mPageMargin); + } + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + if (this.mFakeDragging) { + return true; + } + if ((paramMotionEvent.getAction() == 0) && (paramMotionEvent.getEdgeFlags() != 0)) { + return false; + } + if ((this.mAdapter == null) || (this.mAdapter.getCount() == 0)) { + return false; + } + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + this.mVelocityTracker.addMovement(paramMotionEvent); + int n = paramMotionEvent.getAction(); + int m = 0; + int i = m; + switch (n & 0xFF) + { + default: + i = m; + } + for (;;) + { + if (i != 0) { + ViewCompat.postInvalidateOnAnimation(this); + } + return true; + this.mScroller.abortAnimation(); + this.mPopulatePending = false; + populate(); + this.mIsBeingDragged = true; + setScrollState(1); + float f1 = paramMotionEvent.getX(); + this.mInitialMotionX = f1; + this.mLastMotionX = f1; + f1 = paramMotionEvent.getY(); + this.mInitialMotionY = f1; + this.mLastMotionY = f1; + this.mActivePointerId = MotionEventCompat.getPointerId(paramMotionEvent, 0); + i = m; + continue; + float f2; + if (!this.mIsBeingDragged) + { + i = MotionEventCompat.findPointerIndex(paramMotionEvent, this.mActivePointerId); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + float f3 = Math.abs(f1 - this.mLastMotionX); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + float f4 = Math.abs(f2 - this.mLastMotionY); + if ((f3 > this.mTouchSlop) && (f3 > f4)) + { + this.mIsBeingDragged = true; + if (f1 - this.mInitialMotionX <= 0.0F) { + break label368; + } + } + } + label368: + for (f1 = this.mInitialMotionX + this.mTouchSlop;; f1 = this.mInitialMotionX - this.mTouchSlop) + { + this.mLastMotionX = f1; + this.mLastMotionY = f2; + setScrollState(1); + setScrollingCacheEnabled(true); + i = m; + if (!this.mIsBeingDragged) { + break; + } + bool1 = false | performDrag(MotionEventCompat.getX(paramMotionEvent, MotionEventCompat.findPointerIndex(paramMotionEvent, this.mActivePointerId))); + break; + } + boolean bool1 = m; + if (this.mIsBeingDragged) + { + Object localObject = this.mVelocityTracker; + ((VelocityTracker)localObject).computeCurrentVelocity(1000, this.mMaximumVelocity); + int j = (int)VelocityTrackerCompat.getXVelocity((VelocityTracker)localObject, this.mActivePointerId); + this.mPopulatePending = true; + m = getClientWidth(); + n = getScrollX(); + localObject = infoForCurrentScrollPosition(); + setCurrentItemInternal(determineTargetPage(((ItemInfo)localObject).position, (n / m - ((ItemInfo)localObject).offset) / ((ItemInfo)localObject).widthFactor, j, (int)(MotionEventCompat.getX(paramMotionEvent, MotionEventCompat.findPointerIndex(paramMotionEvent, this.mActivePointerId)) - this.mInitialMotionX)), true, true, j); + this.mActivePointerId = -1; + endDrag(); + boolean bool2 = this.mLeftEdge.onRelease() | this.mRightEdge.onRelease(); + continue; + bool2 = m; + if (this.mIsBeingDragged) + { + scrollToItem(this.mCurItem, true, 0, false); + this.mActivePointerId = -1; + endDrag(); + bool2 = this.mLeftEdge.onRelease() | this.mRightEdge.onRelease(); + continue; + int k = MotionEventCompat.getActionIndex(paramMotionEvent); + this.mLastMotionX = MotionEventCompat.getX(paramMotionEvent, k); + this.mActivePointerId = MotionEventCompat.getPointerId(paramMotionEvent, k); + k = m; + continue; + onSecondaryPointerUp(paramMotionEvent); + this.mLastMotionX = MotionEventCompat.getX(paramMotionEvent, MotionEventCompat.findPointerIndex(paramMotionEvent, this.mActivePointerId)); + k = m; + } + } + } + } + + boolean pageLeft() + { + if (this.mCurItem > 0) + { + setCurrentItem(this.mCurItem - 1, true); + return true; + } + return false; + } + + boolean pageRight() + { + if ((this.mAdapter != null) && (this.mCurItem < this.mAdapter.getCount() - 1)) + { + setCurrentItem(this.mCurItem + 1, true); + return true; + } + return false; + } + + void populate() + { + populate(this.mCurItem); + } + + void populate(int paramInt) + { + Object localObject2 = null; + int j = 2; + int i; + if (this.mCurItem != paramInt) + { + if (this.mCurItem < paramInt) + { + i = 66; + localObject2 = infoForPosition(this.mCurItem); + this.mCurItem = paramInt; + j = i; + } + } + else + { + if (this.mAdapter != null) { + break label64; + } + sortChildDrawingOrder(); + } + label1292: + label1298: + for (;;) + { + return; + i = 17; + break; + label64: + if (this.mPopulatePending) + { + sortChildDrawingOrder(); + return; + } + if (getWindowToken() != null) + { + this.mAdapter.startUpdate(this); + paramInt = this.mOffscreenPageLimit; + int i3 = Math.max(0, this.mCurItem - paramInt); + int i1 = this.mAdapter.getCount(); + int i2 = Math.min(i1 - 1, this.mCurItem + paramInt); + if (i1 != this.mExpectedAdapterCount) { + try + { + String str = getResources().getResourceName(getId()); + throw new IllegalStateException("The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: " + this.mExpectedAdapterCount + ", found: " + i1 + " Pager id: " + str + " Pager class: " + getClass() + " Problematic adapter: " + this.mAdapter.getClass()); + } + catch (Resources.NotFoundException localNotFoundException) + { + for (;;) + { + localObject1 = Integer.toHexString(getId()); + } + } + } + Object localObject3 = null; + paramInt = 0; + Object localObject1 = localObject3; + Object localObject4; + if (paramInt < this.mItems.size()) + { + localObject4 = (ItemInfo)this.mItems.get(paramInt); + if (((ItemInfo)localObject4).position < this.mCurItem) { + break label681; + } + localObject1 = localObject3; + if (((ItemInfo)localObject4).position == this.mCurItem) { + localObject1 = localObject4; + } + } + localObject3 = localObject1; + if (localObject1 == null) + { + localObject3 = localObject1; + if (i1 > 0) { + localObject3 = addNewItem(this.mCurItem, paramInt); + } + } + float f2; + int n; + label375: + int m; + int k; + if (localObject3 != null) + { + f2 = 0.0F; + n = paramInt - 1; + if (n >= 0) + { + localObject1 = (ItemInfo)this.mItems.get(n); + float f3 = ((ItemInfo)localObject3).widthFactor; + float f4 = getPaddingLeft() / getClientWidth(); + m = this.mCurItem - 1; + localObject4 = localObject1; + k = paramInt; + if (m >= 0) + { + if ((f2 < 2.0F - f3 + f4) || (m >= i3)) { + break label825; + } + if (localObject4 != null) { + break label694; + } + } + f2 = ((ItemInfo)localObject3).widthFactor; + m = k + 1; + if (f2 < 2.0F) + { + if (m >= this.mItems.size()) { + break label938; + } + localObject1 = (ItemInfo)this.mItems.get(m); + label483: + f3 = getPaddingRight() / getClientWidth(); + i = this.mCurItem + 1; + localObject4 = localObject1; + if (i < i1) + { + if ((f2 < f3 + 2.0F) || (i <= i2)) { + break label1065; + } + if (localObject4 != null) { + break label944; + } + } + } + calculatePageOffsets((ItemInfo)localObject3, k, (ItemInfo)localObject2); + } + } + else + { + localObject2 = this.mAdapter; + paramInt = this.mCurItem; + if (localObject3 == null) { + break label1182; + } + } + label1182: + for (localObject1 = ((ItemInfo)localObject3).object;; localObject1 = null) + { + ((PagerAdapter)localObject2).setPrimaryItem(this, paramInt, localObject1); + this.mAdapter.finishUpdate(this); + i = getChildCount(); + paramInt = 0; + while (paramInt < i) + { + localObject2 = getChildAt(paramInt); + localObject1 = (LayoutParams)((View)localObject2).getLayoutParams(); + ((LayoutParams)localObject1).childIndex = paramInt; + if ((!((LayoutParams)localObject1).isDecor) && (((LayoutParams)localObject1).widthFactor == 0.0F)) + { + localObject2 = infoForChild((View)localObject2); + if (localObject2 != null) + { + ((LayoutParams)localObject1).widthFactor = ((ItemInfo)localObject2).widthFactor; + ((LayoutParams)localObject1).position = ((ItemInfo)localObject2).position; + } + } + paramInt += 1; + } + label681: + paramInt += 1; + break; + localObject1 = null; + break label375; + label694: + paramInt = k; + float f1 = f2; + localObject1 = localObject4; + i = n; + if (m == ((ItemInfo)localObject4).position) + { + paramInt = k; + f1 = f2; + localObject1 = localObject4; + i = n; + if (!((ItemInfo)localObject4).scrolling) + { + this.mItems.remove(n); + this.mAdapter.destroyItem(this, m, ((ItemInfo)localObject4).object); + i = n - 1; + paramInt = k - 1; + if (i < 0) { + break label817; + } + localObject1 = (ItemInfo)this.mItems.get(i); + } + } + for (f1 = f2;; f1 = f2) + { + m -= 1; + k = paramInt; + f2 = f1; + localObject4 = localObject1; + n = i; + break; + label817: + localObject1 = null; + } + label825: + if ((localObject4 != null) && (m == ((ItemInfo)localObject4).position)) + { + f1 = f2 + ((ItemInfo)localObject4).widthFactor; + i = n - 1; + if (i >= 0) {} + for (localObject1 = (ItemInfo)this.mItems.get(i);; localObject1 = null) + { + paramInt = k; + break; + } + } + f1 = f2 + addNewItem(m, n + 1).widthFactor; + paramInt = k + 1; + if (n >= 0) {} + for (localObject1 = (ItemInfo)this.mItems.get(n);; localObject1 = null) + { + i = n; + break; + } + label938: + localObject1 = null; + break label483; + label944: + f1 = f2; + localObject1 = localObject4; + paramInt = m; + if (i == ((ItemInfo)localObject4).position) + { + f1 = f2; + localObject1 = localObject4; + paramInt = m; + if (!((ItemInfo)localObject4).scrolling) + { + this.mItems.remove(m); + this.mAdapter.destroyItem(this, i, ((ItemInfo)localObject4).object); + if (m >= this.mItems.size()) { + break label1054; + } + localObject1 = (ItemInfo)this.mItems.get(m); + paramInt = m; + f1 = f2; + } + } + for (;;) + { + i += 1; + f2 = f1; + localObject4 = localObject1; + m = paramInt; + break; + label1054: + localObject1 = null; + f1 = f2; + paramInt = m; + } + label1065: + if ((localObject4 != null) && (i == ((ItemInfo)localObject4).position)) + { + f1 = f2 + ((ItemInfo)localObject4).widthFactor; + paramInt = m + 1; + if (paramInt < this.mItems.size()) {} + for (localObject1 = (ItemInfo)this.mItems.get(paramInt);; localObject1 = null) { + break; + } + } + localObject1 = addNewItem(i, m); + paramInt = m + 1; + f1 = f2 + ((ItemInfo)localObject1).widthFactor; + if (paramInt < this.mItems.size()) {} + for (localObject1 = (ItemInfo)this.mItems.get(paramInt);; localObject1 = null) { + break; + } + } + sortChildDrawingOrder(); + if (hasFocus()) + { + localObject1 = findFocus(); + if (localObject1 != null) {} + for (localObject1 = infoForAnyChild((View)localObject1);; localObject1 = null) + { + if ((localObject1 != null) && (((ItemInfo)localObject1).position == this.mCurItem)) { + break label1298; + } + paramInt = 0; + for (;;) + { + if (paramInt >= getChildCount()) { + break label1292; + } + localObject1 = getChildAt(paramInt); + localObject2 = infoForChild((View)localObject1); + if ((localObject2 != null) && (((ItemInfo)localObject2).position == this.mCurItem) && (((View)localObject1).requestFocus(j))) { + break; + } + paramInt += 1; + } + break; + } + } + } + } + } + + public void removeView(View paramView) + { + if (this.mInLayout) + { + removeViewInLayout(paramView); + return; + } + super.removeView(paramView); + } + + public void setAdapter(PagerAdapter paramPagerAdapter) + { + if (this.mAdapter != null) + { + this.mAdapter.unregisterDataSetObserver(this.mObserver); + this.mAdapter.startUpdate(this); + int i = 0; + while (i < this.mItems.size()) + { + localObject = (ItemInfo)this.mItems.get(i); + this.mAdapter.destroyItem(this, ((ItemInfo)localObject).position, ((ItemInfo)localObject).object); + i += 1; + } + this.mAdapter.finishUpdate(this); + this.mItems.clear(); + removeNonDecorViews(); + this.mCurItem = 0; + scrollTo(0, 0); + } + Object localObject = this.mAdapter; + this.mAdapter = paramPagerAdapter; + this.mExpectedAdapterCount = 0; + boolean bool; + if (this.mAdapter != null) + { + if (this.mObserver == null) { + this.mObserver = new PagerObserver(null); + } + this.mAdapter.registerDataSetObserver(this.mObserver); + this.mPopulatePending = false; + bool = this.mFirstLayout; + this.mFirstLayout = true; + this.mExpectedAdapterCount = this.mAdapter.getCount(); + if (this.mRestoredCurItem < 0) { + break label260; + } + this.mAdapter.restoreState(this.mRestoredAdapterState, this.mRestoredClassLoader); + setCurrentItemInternal(this.mRestoredCurItem, false, true); + this.mRestoredCurItem = -1; + this.mRestoredAdapterState = null; + this.mRestoredClassLoader = null; + } + for (;;) + { + if ((this.mAdapterChangeListener != null) && (localObject != paramPagerAdapter)) { + this.mAdapterChangeListener.onAdapterChanged((PagerAdapter)localObject, paramPagerAdapter); + } + return; + label260: + if (!bool) { + populate(); + } else { + requestLayout(); + } + } + } + + void setChildrenDrawingOrderEnabledCompat(boolean paramBoolean) + { + if ((Build.VERSION.SDK_INT < 7) || (this.mSetChildrenDrawingOrderEnabled == null)) {} + try + { + this.mSetChildrenDrawingOrderEnabled = ViewGroup.class.getDeclaredMethod("setChildrenDrawingOrderEnabled", new Class[] { Boolean.TYPE }); + } + catch (NoSuchMethodException localNoSuchMethodException) + { + for (;;) + { + try + { + this.mSetChildrenDrawingOrderEnabled.invoke(this, new Object[] { Boolean.valueOf(paramBoolean) }); + return; + } + catch (Exception localException) + { + Log.e("ViewPager", "Error changing children drawing order", localException); + } + localNoSuchMethodException = localNoSuchMethodException; + Log.e("ViewPager", "Can't find setChildrenDrawingOrderEnabled", localNoSuchMethodException); + } + } + } + + public void setCurrentItem(int paramInt) + { + this.mPopulatePending = false; + if (!this.mFirstLayout) {} + for (boolean bool = true;; bool = false) + { + setCurrentItemInternal(paramInt, bool, false); + return; + } + } + + public void setCurrentItem(int paramInt, boolean paramBoolean) + { + this.mPopulatePending = false; + setCurrentItemInternal(paramInt, paramBoolean, false); + } + + void setCurrentItemInternal(int paramInt, boolean paramBoolean1, boolean paramBoolean2) + { + setCurrentItemInternal(paramInt, paramBoolean1, paramBoolean2, 0); + } + + void setCurrentItemInternal(int paramInt1, boolean paramBoolean1, boolean paramBoolean2, int paramInt2) + { + boolean bool = true; + if ((this.mAdapter == null) || (this.mAdapter.getCount() <= 0)) + { + setScrollingCacheEnabled(false); + return; + } + if ((!paramBoolean2) && (this.mCurItem == paramInt1) && (this.mItems.size() != 0)) + { + setScrollingCacheEnabled(false); + return; + } + int i; + if (paramInt1 < 0) { + i = 0; + } + for (;;) + { + paramInt1 = this.mOffscreenPageLimit; + if ((i <= this.mCurItem + paramInt1) && (i >= this.mCurItem - paramInt1)) { + break; + } + paramInt1 = 0; + while (paramInt1 < this.mItems.size()) + { + ((ItemInfo)this.mItems.get(paramInt1)).scrolling = true; + paramInt1 += 1; + } + i = paramInt1; + if (paramInt1 >= this.mAdapter.getCount()) { + i = this.mAdapter.getCount() - 1; + } + } + if (this.mCurItem != i) {} + for (paramBoolean2 = bool; this.mFirstLayout; paramBoolean2 = false) + { + this.mCurItem = i; + if ((paramBoolean2) && (this.mOnPageChangeListener != null)) { + this.mOnPageChangeListener.onPageSelected(i); + } + if ((paramBoolean2) && (this.mInternalPageChangeListener != null)) { + this.mInternalPageChangeListener.onPageSelected(i); + } + requestLayout(); + return; + } + populate(i); + scrollToItem(i, paramBoolean1, paramInt2, paramBoolean2); + } + + OnPageChangeListener setInternalPageChangeListener(OnPageChangeListener paramOnPageChangeListener) + { + OnPageChangeListener localOnPageChangeListener = this.mInternalPageChangeListener; + this.mInternalPageChangeListener = paramOnPageChangeListener; + return localOnPageChangeListener; + } + + public void setOffscreenPageLimit(int paramInt) + { + int i = paramInt; + if (paramInt < 1) + { + Log.w("ViewPager", "Requested offscreen page limit " + paramInt + " too small; defaulting to " + 1); + i = 1; + } + if (i != this.mOffscreenPageLimit) + { + this.mOffscreenPageLimit = i; + populate(); + } + } + + void setOnAdapterChangeListener(OnAdapterChangeListener paramOnAdapterChangeListener) + { + this.mAdapterChangeListener = paramOnAdapterChangeListener; + } + + public void setOnPageChangeListener(OnPageChangeListener paramOnPageChangeListener) + { + this.mOnPageChangeListener = paramOnPageChangeListener; + } + + public void setPageMargin(int paramInt) + { + int i = this.mPageMargin; + this.mPageMargin = paramInt; + int j = getWidth(); + recomputeScrollPosition(j, j, paramInt, i); + requestLayout(); + } + + public void setPageMarginDrawable(int paramInt) + { + setPageMarginDrawable(getContext().getResources().getDrawable(paramInt)); + } + + public void setPageMarginDrawable(Drawable paramDrawable) + { + this.mMarginDrawable = paramDrawable; + if (paramDrawable != null) { + refreshDrawableState(); + } + if (paramDrawable == null) {} + for (boolean bool = true;; bool = false) + { + setWillNotDraw(bool); + invalidate(); + return; + } + } + + public void setPageTransformer(boolean paramBoolean, PageTransformer paramPageTransformer) + { + int j = 1; + boolean bool1; + boolean bool2; + label28: + int i; + if (Build.VERSION.SDK_INT >= 11) + { + if (paramPageTransformer == null) { + break label75; + } + bool1 = true; + if (this.mPageTransformer == null) { + break label81; + } + bool2 = true; + if (bool1 == bool2) { + break label87; + } + i = 1; + label37: + this.mPageTransformer = paramPageTransformer; + setChildrenDrawingOrderEnabledCompat(bool1); + if (!bool1) { + break label92; + } + if (paramBoolean) { + j = 2; + } + } + label75: + label81: + label87: + label92: + for (this.mDrawingOrder = j;; this.mDrawingOrder = 0) + { + if (i != 0) { + populate(); + } + return; + bool1 = false; + break; + bool2 = false; + break label28; + i = 0; + break label37; + } + } + + void smoothScrollTo(int paramInt1, int paramInt2) + { + smoothScrollTo(paramInt1, paramInt2, 0); + } + + void smoothScrollTo(int paramInt1, int paramInt2, int paramInt3) + { + if (getChildCount() == 0) + { + setScrollingCacheEnabled(false); + return; + } + int i = getScrollX(); + int j = getScrollY(); + int k = paramInt1 - i; + paramInt2 -= j; + if ((k == 0) && (paramInt2 == 0)) + { + completeScroll(false); + populate(); + setScrollState(0); + return; + } + setScrollingCacheEnabled(true); + setScrollState(2); + paramInt1 = getClientWidth(); + int m = paramInt1 / 2; + float f3 = Math.min(1.0F, 1.0F * Math.abs(k) / paramInt1); + float f1 = m; + float f2 = m; + f3 = distanceInfluenceForSnapDuration(f3); + paramInt3 = Math.abs(paramInt3); + if (paramInt3 > 0) {} + for (paramInt1 = Math.round(1000.0F * Math.abs((f1 + f2 * f3) / paramInt3)) * 4;; paramInt1 = (int)((1.0F + Math.abs(k) / (this.mPageMargin + f1 * f2)) * 100.0F)) + { + paramInt1 = Math.min(paramInt1, 600); + this.mScroller.startScroll(i, j, k, paramInt2, paramInt1); + ViewCompat.postInvalidateOnAnimation(this); + return; + f1 = paramInt1; + f2 = this.mAdapter.getPageWidth(this.mCurItem); + } + } + + protected boolean verifyDrawable(Drawable paramDrawable) + { + return (super.verifyDrawable(paramDrawable)) || (paramDrawable == this.mMarginDrawable); + } + + static abstract interface Decor {} + + static class ItemInfo + { + Object object; + float offset; + int position; + boolean scrolling; + float widthFactor; + } + + public static class LayoutParams + extends ViewGroup.LayoutParams + { + int childIndex; + public int gravity; + public boolean isDecor; + boolean needsMeasure; + int position; + float widthFactor = 0.0F; + + public LayoutParams() + { + super(-1); + } + + public LayoutParams(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramAttributeSet); + paramContext = paramContext.obtainStyledAttributes(paramAttributeSet, ViewPager.LAYOUT_ATTRS); + this.gravity = paramContext.getInteger(0, 48); + paramContext.recycle(); + } + } + + class MyAccessibilityDelegate + extends AccessibilityDelegateCompat + { + MyAccessibilityDelegate() {} + + public void onInitializeAccessibilityEvent(View paramView, AccessibilityEvent paramAccessibilityEvent) + { + super.onInitializeAccessibilityEvent(paramView, paramAccessibilityEvent); + paramAccessibilityEvent.setClassName(ViewPager.class.getName()); + } + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + boolean bool = true; + super.onInitializeAccessibilityNodeInfo(paramView, paramAccessibilityNodeInfoCompat); + paramAccessibilityNodeInfoCompat.setClassName(ViewPager.class.getName()); + if ((ViewPager.this.mAdapter != null) && (ViewPager.this.mAdapter.getCount() > 1)) {} + for (;;) + { + paramAccessibilityNodeInfoCompat.setScrollable(bool); + if ((ViewPager.this.mAdapter != null) && (ViewPager.this.mCurItem >= 0) && (ViewPager.this.mCurItem < ViewPager.this.mAdapter.getCount() - 1)) { + paramAccessibilityNodeInfoCompat.addAction(4096); + } + if ((ViewPager.this.mAdapter != null) && (ViewPager.this.mCurItem > 0) && (ViewPager.this.mCurItem < ViewPager.this.mAdapter.getCount())) { + paramAccessibilityNodeInfoCompat.addAction(8192); + } + return; + bool = false; + } + } + + public boolean performAccessibilityAction(View paramView, int paramInt, Bundle paramBundle) + { + if (super.performAccessibilityAction(paramView, paramInt, paramBundle)) { + return true; + } + switch (paramInt) + { + default: + return false; + case 4096: + if ((ViewPager.this.mAdapter != null) && (ViewPager.this.mCurItem >= 0) && (ViewPager.this.mCurItem < ViewPager.this.mAdapter.getCount() - 1)) + { + ViewPager.this.setCurrentItem(ViewPager.this.mCurItem + 1); + return true; + } + return false; + } + if ((ViewPager.this.mAdapter != null) && (ViewPager.this.mCurItem > 0) && (ViewPager.this.mCurItem < ViewPager.this.mAdapter.getCount())) + { + ViewPager.this.setCurrentItem(ViewPager.this.mCurItem - 1); + return true; + } + return false; + } + } + + static abstract interface OnAdapterChangeListener + { + public abstract void onAdapterChanged(PagerAdapter paramPagerAdapter1, PagerAdapter paramPagerAdapter2); + } + + public static abstract interface OnPageChangeListener + { + public abstract void onPageScrollStateChanged(int paramInt); + + public abstract void onPageScrolled(int paramInt1, float paramFloat, int paramInt2); + + public abstract void onPageSelected(int paramInt); + } + + public static abstract interface PageTransformer + { + public abstract void transformPage(View paramView, float paramFloat); + } + + private class PagerObserver + extends DataSetObserver + { + private PagerObserver() {} + + public void onChanged() + { + ViewPager.this.dataSetChanged(); + } + + public void onInvalidated() + { + ViewPager.this.dataSetChanged(); + } + } + + public static class SavedState + extends View.BaseSavedState + { + public static final Parcelable.Creator CREATOR = ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks() + { + public ViewPager.SavedState createFromParcel(Parcel paramAnonymousParcel, ClassLoader paramAnonymousClassLoader) + { + return new ViewPager.SavedState(paramAnonymousParcel, paramAnonymousClassLoader); + } + + public ViewPager.SavedState[] newArray(int paramAnonymousInt) + { + return new ViewPager.SavedState[paramAnonymousInt]; + } + }); + Parcelable adapterState; + ClassLoader loader; + int position; + + SavedState(Parcel paramParcel, ClassLoader paramClassLoader) + { + super(); + ClassLoader localClassLoader = paramClassLoader; + if (paramClassLoader == null) { + localClassLoader = getClass().getClassLoader(); + } + this.position = paramParcel.readInt(); + this.adapterState = paramParcel.readParcelable(localClassLoader); + this.loader = localClassLoader; + } + + public SavedState(Parcelable paramParcelable) + { + super(); + } + + public String toString() + { + return "FragmentPager.SavedState{" + Integer.toHexString(System.identityHashCode(this)) + " position=" + this.position + "}"; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + super.writeToParcel(paramParcel, paramInt); + paramParcel.writeInt(this.position); + paramParcel.writeParcelable(this.adapterState, paramInt); + } + } + + public static class SimpleOnPageChangeListener + implements ViewPager.OnPageChangeListener + { + public void onPageScrollStateChanged(int paramInt) {} + + public void onPageScrolled(int paramInt1, float paramFloat, int paramInt2) {} + + public void onPageSelected(int paramInt) {} + } + + static class ViewPositionComparator + implements Comparator + { + public int compare(View paramView1, View paramView2) + { + paramView1 = (ViewPager.LayoutParams)paramView1.getLayoutParams(); + paramView2 = (ViewPager.LayoutParams)paramView2.getLayoutParams(); + if (paramView1.isDecor != paramView2.isDecor) + { + if (paramView1.isDecor) { + return 1; + } + return -1; + } + return paramView1.position - paramView2.position; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.ViewPager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompat.java new file mode 100755 index 00000000000..22d3f3cc0c8 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompat.java @@ -0,0 +1,99 @@ +package android.support.v4.view.accessibility; + +import android.os.Build.VERSION; +import android.view.accessibility.AccessibilityEvent; + +public class AccessibilityEventCompat +{ + private static final AccessibilityEventVersionImpl IMPL = new AccessibilityEventStubImpl(); + public static final int TYPES_ALL_MASK = -1; + public static final int TYPE_ANNOUNCEMENT = 16384; + public static final int TYPE_GESTURE_DETECTION_END = 524288; + public static final int TYPE_GESTURE_DETECTION_START = 262144; + public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; + public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; + public static final int TYPE_TOUCH_INTERACTION_END = 2097152; + public static final int TYPE_TOUCH_INTERACTION_START = 1048576; + public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; + public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; + public static final int TYPE_VIEW_HOVER_ENTER = 128; + public static final int TYPE_VIEW_HOVER_EXIT = 256; + public static final int TYPE_VIEW_SCROLLED = 4096; + public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; + public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; + public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new AccessibilityEventIcsImpl(); + return; + } + } + + public static void appendRecord(AccessibilityEvent paramAccessibilityEvent, AccessibilityRecordCompat paramAccessibilityRecordCompat) + { + IMPL.appendRecord(paramAccessibilityEvent, paramAccessibilityRecordCompat.getImpl()); + } + + public static AccessibilityRecordCompat getRecord(AccessibilityEvent paramAccessibilityEvent, int paramInt) + { + return new AccessibilityRecordCompat(IMPL.getRecord(paramAccessibilityEvent, paramInt)); + } + + public static int getRecordCount(AccessibilityEvent paramAccessibilityEvent) + { + return IMPL.getRecordCount(paramAccessibilityEvent); + } + + static class AccessibilityEventIcsImpl + extends AccessibilityEventCompat.AccessibilityEventStubImpl + { + public void appendRecord(AccessibilityEvent paramAccessibilityEvent, Object paramObject) + { + AccessibilityEventCompatIcs.appendRecord(paramAccessibilityEvent, paramObject); + } + + public Object getRecord(AccessibilityEvent paramAccessibilityEvent, int paramInt) + { + return AccessibilityEventCompatIcs.getRecord(paramAccessibilityEvent, paramInt); + } + + public int getRecordCount(AccessibilityEvent paramAccessibilityEvent) + { + return AccessibilityEventCompatIcs.getRecordCount(paramAccessibilityEvent); + } + } + + static class AccessibilityEventStubImpl + implements AccessibilityEventCompat.AccessibilityEventVersionImpl + { + public void appendRecord(AccessibilityEvent paramAccessibilityEvent, Object paramObject) {} + + public Object getRecord(AccessibilityEvent paramAccessibilityEvent, int paramInt) + { + return null; + } + + public int getRecordCount(AccessibilityEvent paramAccessibilityEvent) + { + return 0; + } + } + + static abstract interface AccessibilityEventVersionImpl + { + public abstract void appendRecord(AccessibilityEvent paramAccessibilityEvent, Object paramObject); + + public abstract Object getRecord(AccessibilityEvent paramAccessibilityEvent, int paramInt); + + public abstract int getRecordCount(AccessibilityEvent paramAccessibilityEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityEventCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompatIcs.java new file mode 100755 index 00000000000..f131727b70b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityEventCompatIcs.java @@ -0,0 +1,28 @@ +package android.support.v4.view.accessibility; + +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityRecord; + +class AccessibilityEventCompatIcs +{ + public static void appendRecord(AccessibilityEvent paramAccessibilityEvent, Object paramObject) + { + paramAccessibilityEvent.appendRecord((AccessibilityRecord)paramObject); + } + + public static Object getRecord(AccessibilityEvent paramAccessibilityEvent, int paramInt) + { + return paramAccessibilityEvent.getRecord(paramInt); + } + + public static int getRecordCount(AccessibilityEvent paramAccessibilityEvent) + { + return paramAccessibilityEvent.getRecordCount(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityEventCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompat.java new file mode 100755 index 00000000000..9dd01bc45a3 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompat.java @@ -0,0 +1,148 @@ +package android.support.v4.view.accessibility; + +import android.accessibilityservice.AccessibilityServiceInfo; +import android.os.Build.VERSION; +import android.view.accessibility.AccessibilityManager; +import java.util.Collections; +import java.util.List; + +public class AccessibilityManagerCompat +{ + private static final AccessibilityManagerVersionImpl IMPL = new AccessibilityManagerStubImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new AccessibilityManagerIcsImpl(); + return; + } + } + + public static boolean addAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return IMPL.addAccessibilityStateChangeListener(paramAccessibilityManager, paramAccessibilityStateChangeListenerCompat); + } + + public static List getEnabledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager, int paramInt) + { + return IMPL.getEnabledAccessibilityServiceList(paramAccessibilityManager, paramInt); + } + + public static List getInstalledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager) + { + return IMPL.getInstalledAccessibilityServiceList(paramAccessibilityManager); + } + + public static boolean isTouchExplorationEnabled(AccessibilityManager paramAccessibilityManager) + { + return IMPL.isTouchExplorationEnabled(paramAccessibilityManager); + } + + public static boolean removeAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return IMPL.removeAccessibilityStateChangeListener(paramAccessibilityManager, paramAccessibilityStateChangeListenerCompat); + } + + static class AccessibilityManagerIcsImpl + extends AccessibilityManagerCompat.AccessibilityManagerStubImpl + { + public boolean addAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return AccessibilityManagerCompatIcs.addAccessibilityStateChangeListener(paramAccessibilityManager, paramAccessibilityStateChangeListenerCompat.mListener); + } + + public List getEnabledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager, int paramInt) + { + return AccessibilityManagerCompatIcs.getEnabledAccessibilityServiceList(paramAccessibilityManager, paramInt); + } + + public List getInstalledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager) + { + return AccessibilityManagerCompatIcs.getInstalledAccessibilityServiceList(paramAccessibilityManager); + } + + public boolean isTouchExplorationEnabled(AccessibilityManager paramAccessibilityManager) + { + return AccessibilityManagerCompatIcs.isTouchExplorationEnabled(paramAccessibilityManager); + } + + public Object newAccessiblityStateChangeListener(final AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + AccessibilityManagerCompatIcs.newAccessibilityStateChangeListener(new AccessibilityManagerCompatIcs.AccessibilityStateChangeListenerBridge() + { + public void onAccessibilityStateChanged(boolean paramAnonymousBoolean) + { + paramAccessibilityStateChangeListenerCompat.onAccessibilityStateChanged(paramAnonymousBoolean); + } + }); + } + + public boolean removeAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return AccessibilityManagerCompatIcs.removeAccessibilityStateChangeListener(paramAccessibilityManager, paramAccessibilityStateChangeListenerCompat.mListener); + } + } + + static class AccessibilityManagerStubImpl + implements AccessibilityManagerCompat.AccessibilityManagerVersionImpl + { + public boolean addAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return false; + } + + public List getEnabledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager, int paramInt) + { + return Collections.emptyList(); + } + + public List getInstalledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager) + { + return Collections.emptyList(); + } + + public boolean isTouchExplorationEnabled(AccessibilityManager paramAccessibilityManager) + { + return false; + } + + public Object newAccessiblityStateChangeListener(AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return null; + } + + public boolean removeAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat) + { + return false; + } + } + + static abstract interface AccessibilityManagerVersionImpl + { + public abstract boolean addAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat); + + public abstract List getEnabledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager, int paramInt); + + public abstract List getInstalledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager); + + public abstract boolean isTouchExplorationEnabled(AccessibilityManager paramAccessibilityManager); + + public abstract Object newAccessiblityStateChangeListener(AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat); + + public abstract boolean removeAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat paramAccessibilityStateChangeListenerCompat); + } + + public static abstract class AccessibilityStateChangeListenerCompat + { + final Object mListener = AccessibilityManagerCompat.IMPL.newAccessiblityStateChangeListener(this); + + public abstract void onAccessibilityStateChanged(boolean paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityManagerCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompatIcs.java new file mode 100755 index 00000000000..b3fe6c39411 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityManagerCompatIcs.java @@ -0,0 +1,56 @@ +package android.support.v4.view.accessibility; + +import android.accessibilityservice.AccessibilityServiceInfo; +import android.view.accessibility.AccessibilityManager; +import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener; +import java.util.List; + +class AccessibilityManagerCompatIcs +{ + public static boolean addAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, Object paramObject) + { + return paramAccessibilityManager.addAccessibilityStateChangeListener((AccessibilityManager.AccessibilityStateChangeListener)paramObject); + } + + public static List getEnabledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager, int paramInt) + { + return paramAccessibilityManager.getEnabledAccessibilityServiceList(paramInt); + } + + public static List getInstalledAccessibilityServiceList(AccessibilityManager paramAccessibilityManager) + { + return paramAccessibilityManager.getInstalledAccessibilityServiceList(); + } + + public static boolean isTouchExplorationEnabled(AccessibilityManager paramAccessibilityManager) + { + return paramAccessibilityManager.isTouchExplorationEnabled(); + } + + public static Object newAccessibilityStateChangeListener(AccessibilityStateChangeListenerBridge paramAccessibilityStateChangeListenerBridge) + { + new AccessibilityManager.AccessibilityStateChangeListener() + { + public void onAccessibilityStateChanged(boolean paramAnonymousBoolean) + { + this.val$bridge.onAccessibilityStateChanged(paramAnonymousBoolean); + } + }; + } + + public static boolean removeAccessibilityStateChangeListener(AccessibilityManager paramAccessibilityManager, Object paramObject) + { + return paramAccessibilityManager.removeAccessibilityStateChangeListener((AccessibilityManager.AccessibilityStateChangeListener)paramObject); + } + + static abstract interface AccessibilityStateChangeListenerBridge + { + public abstract void onAccessibilityStateChanged(boolean paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java new file mode 100755 index 00000000000..3cceb6215f6 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.java @@ -0,0 +1,1065 @@ +package android.support.v4.view.accessibility; + +import android.graphics.Rect; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.view.View; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class AccessibilityNodeInfoCompat +{ + public static final int ACTION_ACCESSIBILITY_FOCUS = 64; + public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; + public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; + public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; + public static final int ACTION_CLEAR_FOCUS = 2; + public static final int ACTION_CLEAR_SELECTION = 8; + public static final int ACTION_CLICK = 16; + public static final int ACTION_FOCUS = 1; + public static final int ACTION_LONG_CLICK = 32; + public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; + public static final int ACTION_NEXT_HTML_ELEMENT = 1024; + public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; + public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; + public static final int ACTION_SCROLL_BACKWARD = 8192; + public static final int ACTION_SCROLL_FORWARD = 4096; + public static final int ACTION_SELECT = 4; + public static final int FOCUS_ACCESSIBILITY = 2; + public static final int FOCUS_INPUT = 1; + private static final AccessibilityNodeInfoImpl IMPL = new AccessibilityNodeInfoStubImpl(); + public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; + public static final int MOVEMENT_GRANULARITY_LINE = 4; + public static final int MOVEMENT_GRANULARITY_PAGE = 16; + public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; + public static final int MOVEMENT_GRANULARITY_WORD = 2; + private final Object mInfo; + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new AccessibilityNodeInfoJellybeanImpl(); + return; + } + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new AccessibilityNodeInfoIcsImpl(); + return; + } + } + + public AccessibilityNodeInfoCompat(Object paramObject) + { + this.mInfo = paramObject; + } + + public static AccessibilityNodeInfoCompat obtain() + { + return wrapNonNullInstance(IMPL.obtain()); + } + + public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + return wrapNonNullInstance(IMPL.obtain(paramAccessibilityNodeInfoCompat.mInfo)); + } + + public static AccessibilityNodeInfoCompat obtain(View paramView) + { + return wrapNonNullInstance(IMPL.obtain(paramView)); + } + + public static AccessibilityNodeInfoCompat obtain(View paramView, int paramInt) + { + return wrapNonNullInstance(IMPL.obtain(paramView, paramInt)); + } + + static AccessibilityNodeInfoCompat wrapNonNullInstance(Object paramObject) + { + if (paramObject != null) { + return new AccessibilityNodeInfoCompat(paramObject); + } + return null; + } + + public void addAction(int paramInt) + { + IMPL.addAction(this.mInfo, paramInt); + } + + public void addChild(View paramView) + { + IMPL.addChild(this.mInfo, paramView); + } + + public void addChild(View paramView, int paramInt) + { + IMPL.addChild(this.mInfo, paramView, paramInt); + } + + public boolean equals(Object paramObject) + { + if (this == paramObject) {} + do + { + do + { + return true; + if (paramObject == null) { + return false; + } + if (getClass() != paramObject.getClass()) { + return false; + } + paramObject = (AccessibilityNodeInfoCompat)paramObject; + if (this.mInfo != null) { + break; + } + } while (paramObject.mInfo == null); + return false; + } while (this.mInfo.equals(paramObject.mInfo)); + return false; + } + + public List findAccessibilityNodeInfosByText(String paramString) + { + ArrayList localArrayList = new ArrayList(); + paramString = IMPL.findAccessibilityNodeInfosByText(this.mInfo, paramString); + int j = paramString.size(); + int i = 0; + while (i < j) + { + localArrayList.add(new AccessibilityNodeInfoCompat(paramString.get(i))); + i += 1; + } + return localArrayList; + } + + public AccessibilityNodeInfoCompat findFocus(int paramInt) + { + return wrapNonNullInstance(IMPL.findFocus(this.mInfo, paramInt)); + } + + public AccessibilityNodeInfoCompat focusSearch(int paramInt) + { + return wrapNonNullInstance(IMPL.focusSearch(this.mInfo, paramInt)); + } + + public int getActions() + { + return IMPL.getActions(this.mInfo); + } + + public void getBoundsInParent(Rect paramRect) + { + IMPL.getBoundsInParent(this.mInfo, paramRect); + } + + public void getBoundsInScreen(Rect paramRect) + { + IMPL.getBoundsInScreen(this.mInfo, paramRect); + } + + public AccessibilityNodeInfoCompat getChild(int paramInt) + { + return wrapNonNullInstance(IMPL.getChild(this.mInfo, paramInt)); + } + + public int getChildCount() + { + return IMPL.getChildCount(this.mInfo); + } + + public CharSequence getClassName() + { + return IMPL.getClassName(this.mInfo); + } + + public CharSequence getContentDescription() + { + return IMPL.getContentDescription(this.mInfo); + } + + public Object getInfo() + { + return this.mInfo; + } + + public int getMovementGranularities() + { + return IMPL.getMovementGranularities(this.mInfo); + } + + public CharSequence getPackageName() + { + return IMPL.getPackageName(this.mInfo); + } + + public AccessibilityNodeInfoCompat getParent() + { + return wrapNonNullInstance(IMPL.getParent(this.mInfo)); + } + + public CharSequence getText() + { + return IMPL.getText(this.mInfo); + } + + public int getWindowId() + { + return IMPL.getWindowId(this.mInfo); + } + + public int hashCode() + { + if (this.mInfo == null) { + return 0; + } + return this.mInfo.hashCode(); + } + + public boolean isAccessibilityFocused() + { + return IMPL.isAccessibilityFocused(this.mInfo); + } + + public boolean isCheckable() + { + return IMPL.isCheckable(this.mInfo); + } + + public boolean isChecked() + { + return IMPL.isChecked(this.mInfo); + } + + public boolean isClickable() + { + return IMPL.isClickable(this.mInfo); + } + + public boolean isEnabled() + { + return IMPL.isEnabled(this.mInfo); + } + + public boolean isFocusable() + { + return IMPL.isFocusable(this.mInfo); + } + + public boolean isFocused() + { + return IMPL.isFocused(this.mInfo); + } + + public boolean isLongClickable() + { + return IMPL.isLongClickable(this.mInfo); + } + + public boolean isPassword() + { + return IMPL.isPassword(this.mInfo); + } + + public boolean isScrollable() + { + return IMPL.isScrollable(this.mInfo); + } + + public boolean isSelected() + { + return IMPL.isSelected(this.mInfo); + } + + public boolean isVisibleToUser() + { + return IMPL.isVisibleToUser(this.mInfo); + } + + public boolean performAction(int paramInt) + { + return IMPL.performAction(this.mInfo, paramInt); + } + + public boolean performAction(int paramInt, Bundle paramBundle) + { + return IMPL.performAction(this.mInfo, paramInt, paramBundle); + } + + public void recycle() + { + IMPL.recycle(this.mInfo); + } + + public void setAccessibilityFocused(boolean paramBoolean) + { + IMPL.setAccessibilityFocused(this.mInfo, paramBoolean); + } + + public void setBoundsInParent(Rect paramRect) + { + IMPL.setBoundsInParent(this.mInfo, paramRect); + } + + public void setBoundsInScreen(Rect paramRect) + { + IMPL.setBoundsInScreen(this.mInfo, paramRect); + } + + public void setCheckable(boolean paramBoolean) + { + IMPL.setCheckable(this.mInfo, paramBoolean); + } + + public void setChecked(boolean paramBoolean) + { + IMPL.setChecked(this.mInfo, paramBoolean); + } + + public void setClassName(CharSequence paramCharSequence) + { + IMPL.setClassName(this.mInfo, paramCharSequence); + } + + public void setClickable(boolean paramBoolean) + { + IMPL.setClickable(this.mInfo, paramBoolean); + } + + public void setContentDescription(CharSequence paramCharSequence) + { + IMPL.setContentDescription(this.mInfo, paramCharSequence); + } + + public void setEnabled(boolean paramBoolean) + { + IMPL.setEnabled(this.mInfo, paramBoolean); + } + + public void setFocusable(boolean paramBoolean) + { + IMPL.setFocusable(this.mInfo, paramBoolean); + } + + public void setFocused(boolean paramBoolean) + { + IMPL.setFocused(this.mInfo, paramBoolean); + } + + public void setLongClickable(boolean paramBoolean) + { + IMPL.setLongClickable(this.mInfo, paramBoolean); + } + + public void setMovementGranularities(int paramInt) + { + IMPL.setMovementGranularities(this.mInfo, paramInt); + } + + public void setPackageName(CharSequence paramCharSequence) + { + IMPL.setPackageName(this.mInfo, paramCharSequence); + } + + public void setParent(View paramView) + { + IMPL.setParent(this.mInfo, paramView); + } + + public void setParent(View paramView, int paramInt) + { + IMPL.setParent(this.mInfo, paramView, paramInt); + } + + public void setPassword(boolean paramBoolean) + { + IMPL.setPassword(this.mInfo, paramBoolean); + } + + public void setScrollable(boolean paramBoolean) + { + IMPL.setScrollable(this.mInfo, paramBoolean); + } + + public void setSelected(boolean paramBoolean) + { + IMPL.setSelected(this.mInfo, paramBoolean); + } + + public void setSource(View paramView) + { + IMPL.setSource(this.mInfo, paramView); + } + + public void setSource(View paramView, int paramInt) + { + IMPL.setSource(this.mInfo, paramView, paramInt); + } + + public void setText(CharSequence paramCharSequence) + { + IMPL.setText(this.mInfo, paramCharSequence); + } + + public void setVisibleToUser(boolean paramBoolean) + { + IMPL.setVisibleToUser(this.mInfo, paramBoolean); + } + + static class AccessibilityNodeInfoIcsImpl + extends AccessibilityNodeInfoCompat.AccessibilityNodeInfoStubImpl + { + public void addAction(Object paramObject, int paramInt) + { + AccessibilityNodeInfoCompatIcs.addAction(paramObject, paramInt); + } + + public void addChild(Object paramObject, View paramView) + { + AccessibilityNodeInfoCompatIcs.addChild(paramObject, paramView); + } + + public List findAccessibilityNodeInfosByText(Object paramObject, String paramString) + { + return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(paramObject, paramString); + } + + public int getActions(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getActions(paramObject); + } + + public void getBoundsInParent(Object paramObject, Rect paramRect) + { + AccessibilityNodeInfoCompatIcs.getBoundsInParent(paramObject, paramRect); + } + + public void getBoundsInScreen(Object paramObject, Rect paramRect) + { + AccessibilityNodeInfoCompatIcs.getBoundsInScreen(paramObject, paramRect); + } + + public Object getChild(Object paramObject, int paramInt) + { + return AccessibilityNodeInfoCompatIcs.getChild(paramObject, paramInt); + } + + public int getChildCount(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getChildCount(paramObject); + } + + public CharSequence getClassName(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getClassName(paramObject); + } + + public CharSequence getContentDescription(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getContentDescription(paramObject); + } + + public CharSequence getPackageName(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getPackageName(paramObject); + } + + public Object getParent(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getParent(paramObject); + } + + public CharSequence getText(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getText(paramObject); + } + + public int getWindowId(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.getWindowId(paramObject); + } + + public boolean isCheckable(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isCheckable(paramObject); + } + + public boolean isChecked(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isChecked(paramObject); + } + + public boolean isClickable(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isClickable(paramObject); + } + + public boolean isEnabled(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isEnabled(paramObject); + } + + public boolean isFocusable(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isFocusable(paramObject); + } + + public boolean isFocused(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isFocused(paramObject); + } + + public boolean isLongClickable(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isLongClickable(paramObject); + } + + public boolean isPassword(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isPassword(paramObject); + } + + public boolean isScrollable(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isScrollable(paramObject); + } + + public boolean isSelected(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.isSelected(paramObject); + } + + public Object obtain() + { + return AccessibilityNodeInfoCompatIcs.obtain(); + } + + public Object obtain(View paramView) + { + return AccessibilityNodeInfoCompatIcs.obtain(paramView); + } + + public Object obtain(Object paramObject) + { + return AccessibilityNodeInfoCompatIcs.obtain(paramObject); + } + + public boolean performAction(Object paramObject, int paramInt) + { + return AccessibilityNodeInfoCompatIcs.performAction(paramObject, paramInt); + } + + public void recycle(Object paramObject) + { + AccessibilityNodeInfoCompatIcs.recycle(paramObject); + } + + public void setBoundsInParent(Object paramObject, Rect paramRect) + { + AccessibilityNodeInfoCompatIcs.setBoundsInParent(paramObject, paramRect); + } + + public void setBoundsInScreen(Object paramObject, Rect paramRect) + { + AccessibilityNodeInfoCompatIcs.setBoundsInScreen(paramObject, paramRect); + } + + public void setCheckable(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setCheckable(paramObject, paramBoolean); + } + + public void setChecked(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setChecked(paramObject, paramBoolean); + } + + public void setClassName(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityNodeInfoCompatIcs.setClassName(paramObject, paramCharSequence); + } + + public void setClickable(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setClickable(paramObject, paramBoolean); + } + + public void setContentDescription(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityNodeInfoCompatIcs.setContentDescription(paramObject, paramCharSequence); + } + + public void setEnabled(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setEnabled(paramObject, paramBoolean); + } + + public void setFocusable(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setFocusable(paramObject, paramBoolean); + } + + public void setFocused(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setFocused(paramObject, paramBoolean); + } + + public void setLongClickable(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setLongClickable(paramObject, paramBoolean); + } + + public void setPackageName(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityNodeInfoCompatIcs.setPackageName(paramObject, paramCharSequence); + } + + public void setParent(Object paramObject, View paramView) + { + AccessibilityNodeInfoCompatIcs.setParent(paramObject, paramView); + } + + public void setPassword(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setPassword(paramObject, paramBoolean); + } + + public void setScrollable(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setScrollable(paramObject, paramBoolean); + } + + public void setSelected(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatIcs.setSelected(paramObject, paramBoolean); + } + + public void setSource(Object paramObject, View paramView) + { + AccessibilityNodeInfoCompatIcs.setSource(paramObject, paramView); + } + + public void setText(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityNodeInfoCompatIcs.setText(paramObject, paramCharSequence); + } + } + + static abstract interface AccessibilityNodeInfoImpl + { + public abstract void addAction(Object paramObject, int paramInt); + + public abstract void addChild(Object paramObject, View paramView); + + public abstract void addChild(Object paramObject, View paramView, int paramInt); + + public abstract List findAccessibilityNodeInfosByText(Object paramObject, String paramString); + + public abstract Object findFocus(Object paramObject, int paramInt); + + public abstract Object focusSearch(Object paramObject, int paramInt); + + public abstract int getActions(Object paramObject); + + public abstract void getBoundsInParent(Object paramObject, Rect paramRect); + + public abstract void getBoundsInScreen(Object paramObject, Rect paramRect); + + public abstract Object getChild(Object paramObject, int paramInt); + + public abstract int getChildCount(Object paramObject); + + public abstract CharSequence getClassName(Object paramObject); + + public abstract CharSequence getContentDescription(Object paramObject); + + public abstract int getMovementGranularities(Object paramObject); + + public abstract CharSequence getPackageName(Object paramObject); + + public abstract Object getParent(Object paramObject); + + public abstract CharSequence getText(Object paramObject); + + public abstract int getWindowId(Object paramObject); + + public abstract boolean isAccessibilityFocused(Object paramObject); + + public abstract boolean isCheckable(Object paramObject); + + public abstract boolean isChecked(Object paramObject); + + public abstract boolean isClickable(Object paramObject); + + public abstract boolean isEnabled(Object paramObject); + + public abstract boolean isFocusable(Object paramObject); + + public abstract boolean isFocused(Object paramObject); + + public abstract boolean isLongClickable(Object paramObject); + + public abstract boolean isPassword(Object paramObject); + + public abstract boolean isScrollable(Object paramObject); + + public abstract boolean isSelected(Object paramObject); + + public abstract boolean isVisibleToUser(Object paramObject); + + public abstract Object obtain(); + + public abstract Object obtain(View paramView); + + public abstract Object obtain(View paramView, int paramInt); + + public abstract Object obtain(Object paramObject); + + public abstract boolean performAction(Object paramObject, int paramInt); + + public abstract boolean performAction(Object paramObject, int paramInt, Bundle paramBundle); + + public abstract void recycle(Object paramObject); + + public abstract void setAccessibilityFocused(Object paramObject, boolean paramBoolean); + + public abstract void setBoundsInParent(Object paramObject, Rect paramRect); + + public abstract void setBoundsInScreen(Object paramObject, Rect paramRect); + + public abstract void setCheckable(Object paramObject, boolean paramBoolean); + + public abstract void setChecked(Object paramObject, boolean paramBoolean); + + public abstract void setClassName(Object paramObject, CharSequence paramCharSequence); + + public abstract void setClickable(Object paramObject, boolean paramBoolean); + + public abstract void setContentDescription(Object paramObject, CharSequence paramCharSequence); + + public abstract void setEnabled(Object paramObject, boolean paramBoolean); + + public abstract void setFocusable(Object paramObject, boolean paramBoolean); + + public abstract void setFocused(Object paramObject, boolean paramBoolean); + + public abstract void setLongClickable(Object paramObject, boolean paramBoolean); + + public abstract void setMovementGranularities(Object paramObject, int paramInt); + + public abstract void setPackageName(Object paramObject, CharSequence paramCharSequence); + + public abstract void setParent(Object paramObject, View paramView); + + public abstract void setParent(Object paramObject, View paramView, int paramInt); + + public abstract void setPassword(Object paramObject, boolean paramBoolean); + + public abstract void setScrollable(Object paramObject, boolean paramBoolean); + + public abstract void setSelected(Object paramObject, boolean paramBoolean); + + public abstract void setSource(Object paramObject, View paramView); + + public abstract void setSource(Object paramObject, View paramView, int paramInt); + + public abstract void setText(Object paramObject, CharSequence paramCharSequence); + + public abstract void setVisibleToUser(Object paramObject, boolean paramBoolean); + } + + static class AccessibilityNodeInfoJellybeanImpl + extends AccessibilityNodeInfoCompat.AccessibilityNodeInfoIcsImpl + { + public void addChild(Object paramObject, View paramView, int paramInt) + { + AccessibilityNodeInfoCompatJellyBean.addChild(paramObject, paramView, paramInt); + } + + public Object findFocus(Object paramObject, int paramInt) + { + return AccessibilityNodeInfoCompatJellyBean.findFocus(paramObject, paramInt); + } + + public Object focusSearch(Object paramObject, int paramInt) + { + return AccessibilityNodeInfoCompatJellyBean.focusSearch(paramObject, paramInt); + } + + public int getMovementGranularities(Object paramObject) + { + return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(paramObject); + } + + public boolean isAccessibilityFocused(Object paramObject) + { + return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(paramObject); + } + + public boolean isVisibleToUser(Object paramObject) + { + return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(paramObject); + } + + public Object obtain(View paramView, int paramInt) + { + return AccessibilityNodeInfoCompatJellyBean.obtain(paramView, paramInt); + } + + public boolean performAction(Object paramObject, int paramInt, Bundle paramBundle) + { + return AccessibilityNodeInfoCompatJellyBean.performAction(paramObject, paramInt, paramBundle); + } + + public void setAccessibilityFocused(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(paramObject, paramBoolean); + } + + public void setMovementGranularities(Object paramObject, int paramInt) + { + AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(paramObject, paramInt); + } + + public void setParent(Object paramObject, View paramView, int paramInt) + { + AccessibilityNodeInfoCompatJellyBean.setParent(paramObject, paramView, paramInt); + } + + public void setSource(Object paramObject, View paramView, int paramInt) + { + AccessibilityNodeInfoCompatJellyBean.setSource(paramObject, paramView, paramInt); + } + + public void setVisibleToUser(Object paramObject, boolean paramBoolean) + { + AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(paramObject, paramBoolean); + } + } + + static class AccessibilityNodeInfoStubImpl + implements AccessibilityNodeInfoCompat.AccessibilityNodeInfoImpl + { + public void addAction(Object paramObject, int paramInt) {} + + public void addChild(Object paramObject, View paramView) {} + + public void addChild(Object paramObject, View paramView, int paramInt) {} + + public List findAccessibilityNodeInfosByText(Object paramObject, String paramString) + { + return Collections.emptyList(); + } + + public Object findFocus(Object paramObject, int paramInt) + { + return null; + } + + public Object focusSearch(Object paramObject, int paramInt) + { + return null; + } + + public int getActions(Object paramObject) + { + return 0; + } + + public void getBoundsInParent(Object paramObject, Rect paramRect) {} + + public void getBoundsInScreen(Object paramObject, Rect paramRect) {} + + public Object getChild(Object paramObject, int paramInt) + { + return null; + } + + public int getChildCount(Object paramObject) + { + return 0; + } + + public CharSequence getClassName(Object paramObject) + { + return null; + } + + public CharSequence getContentDescription(Object paramObject) + { + return null; + } + + public int getMovementGranularities(Object paramObject) + { + return 0; + } + + public CharSequence getPackageName(Object paramObject) + { + return null; + } + + public Object getParent(Object paramObject) + { + return null; + } + + public CharSequence getText(Object paramObject) + { + return null; + } + + public int getWindowId(Object paramObject) + { + return 0; + } + + public boolean isAccessibilityFocused(Object paramObject) + { + return false; + } + + public boolean isCheckable(Object paramObject) + { + return false; + } + + public boolean isChecked(Object paramObject) + { + return false; + } + + public boolean isClickable(Object paramObject) + { + return false; + } + + public boolean isEnabled(Object paramObject) + { + return false; + } + + public boolean isFocusable(Object paramObject) + { + return false; + } + + public boolean isFocused(Object paramObject) + { + return false; + } + + public boolean isLongClickable(Object paramObject) + { + return false; + } + + public boolean isPassword(Object paramObject) + { + return false; + } + + public boolean isScrollable(Object paramObject) + { + return false; + } + + public boolean isSelected(Object paramObject) + { + return false; + } + + public boolean isVisibleToUser(Object paramObject) + { + return false; + } + + public Object obtain() + { + return null; + } + + public Object obtain(View paramView) + { + return null; + } + + public Object obtain(View paramView, int paramInt) + { + return null; + } + + public Object obtain(Object paramObject) + { + return null; + } + + public boolean performAction(Object paramObject, int paramInt) + { + return false; + } + + public boolean performAction(Object paramObject, int paramInt, Bundle paramBundle) + { + return false; + } + + public void recycle(Object paramObject) {} + + public void setAccessibilityFocused(Object paramObject, boolean paramBoolean) {} + + public void setBoundsInParent(Object paramObject, Rect paramRect) {} + + public void setBoundsInScreen(Object paramObject, Rect paramRect) {} + + public void setCheckable(Object paramObject, boolean paramBoolean) {} + + public void setChecked(Object paramObject, boolean paramBoolean) {} + + public void setClassName(Object paramObject, CharSequence paramCharSequence) {} + + public void setClickable(Object paramObject, boolean paramBoolean) {} + + public void setContentDescription(Object paramObject, CharSequence paramCharSequence) {} + + public void setEnabled(Object paramObject, boolean paramBoolean) {} + + public void setFocusable(Object paramObject, boolean paramBoolean) {} + + public void setFocused(Object paramObject, boolean paramBoolean) {} + + public void setLongClickable(Object paramObject, boolean paramBoolean) {} + + public void setMovementGranularities(Object paramObject, int paramInt) {} + + public void setPackageName(Object paramObject, CharSequence paramCharSequence) {} + + public void setParent(Object paramObject, View paramView) {} + + public void setParent(Object paramObject, View paramView, int paramInt) {} + + public void setPassword(Object paramObject, boolean paramBoolean) {} + + public void setScrollable(Object paramObject, boolean paramBoolean) {} + + public void setSelected(Object paramObject, boolean paramBoolean) {} + + public void setSource(Object paramObject, View paramView) {} + + public void setSource(Object paramObject, View paramView, int paramInt) {} + + public void setText(Object paramObject, CharSequence paramCharSequence) {} + + public void setVisibleToUser(Object paramObject, boolean paramBoolean) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatIcs.java new file mode 100755 index 00000000000..47a6f52cdfc --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatIcs.java @@ -0,0 +1,250 @@ +package android.support.v4.view.accessibility; + +import android.graphics.Rect; +import android.view.View; +import android.view.accessibility.AccessibilityNodeInfo; +import java.util.List; + +class AccessibilityNodeInfoCompatIcs +{ + public static void addAction(Object paramObject, int paramInt) + { + ((AccessibilityNodeInfo)paramObject).addAction(paramInt); + } + + public static void addChild(Object paramObject, View paramView) + { + ((AccessibilityNodeInfo)paramObject).addChild(paramView); + } + + public static List findAccessibilityNodeInfosByText(Object paramObject, String paramString) + { + return (List)((AccessibilityNodeInfo)paramObject).findAccessibilityNodeInfosByText(paramString); + } + + public static int getActions(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getActions(); + } + + public static void getBoundsInParent(Object paramObject, Rect paramRect) + { + ((AccessibilityNodeInfo)paramObject).getBoundsInParent(paramRect); + } + + public static void getBoundsInScreen(Object paramObject, Rect paramRect) + { + ((AccessibilityNodeInfo)paramObject).getBoundsInScreen(paramRect); + } + + public static Object getChild(Object paramObject, int paramInt) + { + return ((AccessibilityNodeInfo)paramObject).getChild(paramInt); + } + + public static int getChildCount(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getChildCount(); + } + + public static CharSequence getClassName(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getClassName(); + } + + public static CharSequence getContentDescription(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getContentDescription(); + } + + public static CharSequence getPackageName(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getPackageName(); + } + + public static Object getParent(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getParent(); + } + + public static CharSequence getText(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getText(); + } + + public static int getWindowId(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getWindowId(); + } + + public static boolean isCheckable(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isCheckable(); + } + + public static boolean isChecked(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isChecked(); + } + + public static boolean isClickable(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isClickable(); + } + + public static boolean isEnabled(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isEnabled(); + } + + public static boolean isFocusable(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isFocusable(); + } + + public static boolean isFocused(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isFocused(); + } + + public static boolean isLongClickable(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isLongClickable(); + } + + public static boolean isPassword(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isPassword(); + } + + public static boolean isScrollable(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isScrollable(); + } + + public static boolean isSelected(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isSelected(); + } + + public static Object obtain() + { + return AccessibilityNodeInfo.obtain(); + } + + public static Object obtain(View paramView) + { + return AccessibilityNodeInfo.obtain(paramView); + } + + public static Object obtain(Object paramObject) + { + return AccessibilityNodeInfo.obtain((AccessibilityNodeInfo)paramObject); + } + + public static boolean performAction(Object paramObject, int paramInt) + { + return ((AccessibilityNodeInfo)paramObject).performAction(paramInt); + } + + public static void recycle(Object paramObject) + { + ((AccessibilityNodeInfo)paramObject).recycle(); + } + + public static void setBoundsInParent(Object paramObject, Rect paramRect) + { + ((AccessibilityNodeInfo)paramObject).setBoundsInParent(paramRect); + } + + public static void setBoundsInScreen(Object paramObject, Rect paramRect) + { + ((AccessibilityNodeInfo)paramObject).setBoundsInScreen(paramRect); + } + + public static void setCheckable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setCheckable(paramBoolean); + } + + public static void setChecked(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setChecked(paramBoolean); + } + + public static void setClassName(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityNodeInfo)paramObject).setClassName(paramCharSequence); + } + + public static void setClickable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setClickable(paramBoolean); + } + + public static void setContentDescription(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityNodeInfo)paramObject).setContentDescription(paramCharSequence); + } + + public static void setEnabled(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setEnabled(paramBoolean); + } + + public static void setFocusable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setFocusable(paramBoolean); + } + + public static void setFocused(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setFocused(paramBoolean); + } + + public static void setLongClickable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setLongClickable(paramBoolean); + } + + public static void setPackageName(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityNodeInfo)paramObject).setPackageName(paramCharSequence); + } + + public static void setParent(Object paramObject, View paramView) + { + ((AccessibilityNodeInfo)paramObject).setParent(paramView); + } + + public static void setPassword(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setPassword(paramBoolean); + } + + public static void setScrollable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setScrollable(paramBoolean); + } + + public static void setSelected(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setSelected(paramBoolean); + } + + public static void setSource(Object paramObject, View paramView) + { + ((AccessibilityNodeInfo)paramObject).setSource(paramView); + } + + public static void setText(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityNodeInfo)paramObject).setText(paramCharSequence); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityNodeInfoCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatJellyBean.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatJellyBean.java new file mode 100755 index 00000000000..1861d005762 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeInfoCompatJellyBean.java @@ -0,0 +1,79 @@ +package android.support.v4.view.accessibility; + +import android.os.Bundle; +import android.view.View; +import android.view.accessibility.AccessibilityNodeInfo; + +class AccessibilityNodeInfoCompatJellyBean +{ + public static void addChild(Object paramObject, View paramView, int paramInt) + { + ((AccessibilityNodeInfo)paramObject).addChild(paramView, paramInt); + } + + public static Object findFocus(Object paramObject, int paramInt) + { + return ((AccessibilityNodeInfo)paramObject).findFocus(paramInt); + } + + public static Object focusSearch(Object paramObject, int paramInt) + { + return ((AccessibilityNodeInfo)paramObject).focusSearch(paramInt); + } + + public static int getMovementGranularities(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).getMovementGranularities(); + } + + public static boolean isAccessibilityFocused(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isAccessibilityFocused(); + } + + public static boolean isVisibleToUser(Object paramObject) + { + return ((AccessibilityNodeInfo)paramObject).isVisibleToUser(); + } + + public static Object obtain(View paramView, int paramInt) + { + return AccessibilityNodeInfo.obtain(paramView, paramInt); + } + + public static boolean performAction(Object paramObject, int paramInt, Bundle paramBundle) + { + return ((AccessibilityNodeInfo)paramObject).performAction(paramInt, paramBundle); + } + + public static void setAccesibilityFocused(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setAccessibilityFocused(paramBoolean); + } + + public static void setMovementGranularities(Object paramObject, int paramInt) + { + ((AccessibilityNodeInfo)paramObject).setMovementGranularities(paramInt); + } + + public static void setParent(Object paramObject, View paramView, int paramInt) + { + ((AccessibilityNodeInfo)paramObject).setParent(paramView, paramInt); + } + + public static void setSource(Object paramObject, View paramView, int paramInt) + { + ((AccessibilityNodeInfo)paramObject).setSource(paramView, paramInt); + } + + public static void setVisibleToUser(Object paramObject, boolean paramBoolean) + { + ((AccessibilityNodeInfo)paramObject).setVisibleToUser(paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityNodeInfoCompatJellyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.java new file mode 100755 index 00000000000..f4894e564ec --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.java @@ -0,0 +1,109 @@ +package android.support.v4.view.accessibility; + +import android.os.Build.VERSION; +import android.os.Bundle; +import java.util.ArrayList; +import java.util.List; + +public class AccessibilityNodeProviderCompat +{ + private static final AccessibilityNodeProviderImpl IMPL = new AccessibilityNodeProviderStubImpl(); + private final Object mProvider; + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new AccessibilityNodeProviderJellyBeanImpl(); + return; + } + } + + public AccessibilityNodeProviderCompat() + { + this.mProvider = IMPL.newAccessibilityNodeProviderBridge(this); + } + + public AccessibilityNodeProviderCompat(Object paramObject) + { + this.mProvider = paramObject; + } + + public AccessibilityNodeInfoCompat createAccessibilityNodeInfo(int paramInt) + { + return null; + } + + public List findAccessibilityNodeInfosByText(String paramString, int paramInt) + { + return null; + } + + public Object getProvider() + { + return this.mProvider; + } + + public boolean performAction(int paramInt1, int paramInt2, Bundle paramBundle) + { + return false; + } + + static abstract interface AccessibilityNodeProviderImpl + { + public abstract Object newAccessibilityNodeProviderBridge(AccessibilityNodeProviderCompat paramAccessibilityNodeProviderCompat); + } + + static class AccessibilityNodeProviderJellyBeanImpl + extends AccessibilityNodeProviderCompat.AccessibilityNodeProviderStubImpl + { + public Object newAccessibilityNodeProviderBridge(final AccessibilityNodeProviderCompat paramAccessibilityNodeProviderCompat) + { + AccessibilityNodeProviderCompatJellyBean.newAccessibilityNodeProviderBridge(new AccessibilityNodeProviderCompatJellyBean.AccessibilityNodeInfoBridge() + { + public Object createAccessibilityNodeInfo(int paramAnonymousInt) + { + AccessibilityNodeInfoCompat localAccessibilityNodeInfoCompat = paramAccessibilityNodeProviderCompat.createAccessibilityNodeInfo(paramAnonymousInt); + if (localAccessibilityNodeInfoCompat == null) { + return null; + } + return localAccessibilityNodeInfoCompat.getInfo(); + } + + public List findAccessibilityNodeInfosByText(String paramAnonymousString, int paramAnonymousInt) + { + paramAnonymousString = paramAccessibilityNodeProviderCompat.findAccessibilityNodeInfosByText(paramAnonymousString, paramAnonymousInt); + ArrayList localArrayList = new ArrayList(); + int i = paramAnonymousString.size(); + paramAnonymousInt = 0; + while (paramAnonymousInt < i) + { + localArrayList.add(((AccessibilityNodeInfoCompat)paramAnonymousString.get(paramAnonymousInt)).getInfo()); + paramAnonymousInt += 1; + } + return localArrayList; + } + + public boolean performAction(int paramAnonymousInt1, int paramAnonymousInt2, Bundle paramAnonymousBundle) + { + return paramAccessibilityNodeProviderCompat.performAction(paramAnonymousInt1, paramAnonymousInt2, paramAnonymousBundle); + } + }); + } + } + + static class AccessibilityNodeProviderStubImpl + implements AccessibilityNodeProviderCompat.AccessibilityNodeProviderImpl + { + public Object newAccessibilityNodeProviderBridge(AccessibilityNodeProviderCompat paramAccessibilityNodeProviderCompat) + { + return null; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityNodeProviderCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean.java new file mode 100755 index 00000000000..bef529e97e4 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean.java @@ -0,0 +1,45 @@ +package android.support.v4.view.accessibility; + +import android.os.Bundle; +import android.view.accessibility.AccessibilityNodeInfo; +import android.view.accessibility.AccessibilityNodeProvider; +import java.util.List; + +class AccessibilityNodeProviderCompatJellyBean +{ + public static Object newAccessibilityNodeProviderBridge(AccessibilityNodeInfoBridge paramAccessibilityNodeInfoBridge) + { + new AccessibilityNodeProvider() + { + public AccessibilityNodeInfo createAccessibilityNodeInfo(int paramAnonymousInt) + { + return (AccessibilityNodeInfo)this.val$bridge.createAccessibilityNodeInfo(paramAnonymousInt); + } + + public List findAccessibilityNodeInfosByText(String paramAnonymousString, int paramAnonymousInt) + { + return this.val$bridge.findAccessibilityNodeInfosByText(paramAnonymousString, paramAnonymousInt); + } + + public boolean performAction(int paramAnonymousInt1, int paramAnonymousInt2, Bundle paramAnonymousBundle) + { + return this.val$bridge.performAction(paramAnonymousInt1, paramAnonymousInt2, paramAnonymousBundle); + } + }; + } + + static abstract interface AccessibilityNodeInfoBridge + { + public abstract Object createAccessibilityNodeInfo(int paramInt); + + public abstract List findAccessibilityNodeInfosByText(String paramString, int paramInt); + + public abstract boolean performAction(int paramInt1, int paramInt2, Bundle paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityNodeProviderCompatJellyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompat.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompat.java new file mode 100755 index 00000000000..d5d3ffcc527 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompat.java @@ -0,0 +1,815 @@ +package android.support.v4.view.accessibility; + +import android.os.Build.VERSION; +import android.os.Parcelable; +import android.view.View; +import java.util.Collections; +import java.util.List; + +public class AccessibilityRecordCompat +{ + private static final AccessibilityRecordImpl IMPL = new AccessibilityRecordStubImpl(); + private final Object mRecord; + + static + { + if (Build.VERSION.SDK_INT >= 16) + { + IMPL = new AccessibilityRecordJellyBeanImpl(); + return; + } + if (Build.VERSION.SDK_INT >= 15) + { + IMPL = new AccessibilityRecordIcsMr1Impl(); + return; + } + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new AccessibilityRecordIcsImpl(); + return; + } + } + + public AccessibilityRecordCompat(Object paramObject) + { + this.mRecord = paramObject; + } + + public static AccessibilityRecordCompat obtain() + { + return new AccessibilityRecordCompat(IMPL.obtain()); + } + + public static AccessibilityRecordCompat obtain(AccessibilityRecordCompat paramAccessibilityRecordCompat) + { + return new AccessibilityRecordCompat(IMPL.obtain(paramAccessibilityRecordCompat.mRecord)); + } + + public boolean equals(Object paramObject) + { + if (this == paramObject) {} + do + { + do + { + return true; + if (paramObject == null) { + return false; + } + if (getClass() != paramObject.getClass()) { + return false; + } + paramObject = (AccessibilityRecordCompat)paramObject; + if (this.mRecord != null) { + break; + } + } while (paramObject.mRecord == null); + return false; + } while (this.mRecord.equals(paramObject.mRecord)); + return false; + } + + public int getAddedCount() + { + return IMPL.getAddedCount(this.mRecord); + } + + public CharSequence getBeforeText() + { + return IMPL.getBeforeText(this.mRecord); + } + + public CharSequence getClassName() + { + return IMPL.getClassName(this.mRecord); + } + + public CharSequence getContentDescription() + { + return IMPL.getContentDescription(this.mRecord); + } + + public int getCurrentItemIndex() + { + return IMPL.getCurrentItemIndex(this.mRecord); + } + + public int getFromIndex() + { + return IMPL.getFromIndex(this.mRecord); + } + + public Object getImpl() + { + return this.mRecord; + } + + public int getItemCount() + { + return IMPL.getItemCount(this.mRecord); + } + + public int getMaxScrollX() + { + return IMPL.getMaxScrollX(this.mRecord); + } + + public int getMaxScrollY() + { + return IMPL.getMaxScrollY(this.mRecord); + } + + public Parcelable getParcelableData() + { + return IMPL.getParcelableData(this.mRecord); + } + + public int getRemovedCount() + { + return IMPL.getRemovedCount(this.mRecord); + } + + public int getScrollX() + { + return IMPL.getScrollX(this.mRecord); + } + + public int getScrollY() + { + return IMPL.getScrollY(this.mRecord); + } + + public AccessibilityNodeInfoCompat getSource() + { + return IMPL.getSource(this.mRecord); + } + + public List getText() + { + return IMPL.getText(this.mRecord); + } + + public int getToIndex() + { + return IMPL.getToIndex(this.mRecord); + } + + public int getWindowId() + { + return IMPL.getWindowId(this.mRecord); + } + + public int hashCode() + { + if (this.mRecord == null) { + return 0; + } + return this.mRecord.hashCode(); + } + + public boolean isChecked() + { + return IMPL.isChecked(this.mRecord); + } + + public boolean isEnabled() + { + return IMPL.isEnabled(this.mRecord); + } + + public boolean isFullScreen() + { + return IMPL.isFullScreen(this.mRecord); + } + + public boolean isPassword() + { + return IMPL.isPassword(this.mRecord); + } + + public boolean isScrollable() + { + return IMPL.isScrollable(this.mRecord); + } + + public void recycle() + { + IMPL.recycle(this.mRecord); + } + + public void setAddedCount(int paramInt) + { + IMPL.setAddedCount(this.mRecord, paramInt); + } + + public void setBeforeText(CharSequence paramCharSequence) + { + IMPL.setBeforeText(this.mRecord, paramCharSequence); + } + + public void setChecked(boolean paramBoolean) + { + IMPL.setChecked(this.mRecord, paramBoolean); + } + + public void setClassName(CharSequence paramCharSequence) + { + IMPL.setClassName(this.mRecord, paramCharSequence); + } + + public void setContentDescription(CharSequence paramCharSequence) + { + IMPL.setContentDescription(this.mRecord, paramCharSequence); + } + + public void setCurrentItemIndex(int paramInt) + { + IMPL.setCurrentItemIndex(this.mRecord, paramInt); + } + + public void setEnabled(boolean paramBoolean) + { + IMPL.setEnabled(this.mRecord, paramBoolean); + } + + public void setFromIndex(int paramInt) + { + IMPL.setFromIndex(this.mRecord, paramInt); + } + + public void setFullScreen(boolean paramBoolean) + { + IMPL.setFullScreen(this.mRecord, paramBoolean); + } + + public void setItemCount(int paramInt) + { + IMPL.setItemCount(this.mRecord, paramInt); + } + + public void setMaxScrollX(int paramInt) + { + IMPL.setMaxScrollX(this.mRecord, paramInt); + } + + public void setMaxScrollY(int paramInt) + { + IMPL.setMaxScrollY(this.mRecord, paramInt); + } + + public void setParcelableData(Parcelable paramParcelable) + { + IMPL.setParcelableData(this.mRecord, paramParcelable); + } + + public void setPassword(boolean paramBoolean) + { + IMPL.setPassword(this.mRecord, paramBoolean); + } + + public void setRemovedCount(int paramInt) + { + IMPL.setRemovedCount(this.mRecord, paramInt); + } + + public void setScrollX(int paramInt) + { + IMPL.setScrollX(this.mRecord, paramInt); + } + + public void setScrollY(int paramInt) + { + IMPL.setScrollY(this.mRecord, paramInt); + } + + public void setScrollable(boolean paramBoolean) + { + IMPL.setScrollable(this.mRecord, paramBoolean); + } + + public void setSource(View paramView) + { + IMPL.setSource(this.mRecord, paramView); + } + + public void setSource(View paramView, int paramInt) + { + IMPL.setSource(this.mRecord, paramView, paramInt); + } + + public void setToIndex(int paramInt) + { + IMPL.setToIndex(this.mRecord, paramInt); + } + + static class AccessibilityRecordIcsImpl + extends AccessibilityRecordCompat.AccessibilityRecordStubImpl + { + public int getAddedCount(Object paramObject) + { + return AccessibilityRecordCompatIcs.getAddedCount(paramObject); + } + + public CharSequence getBeforeText(Object paramObject) + { + return AccessibilityRecordCompatIcs.getBeforeText(paramObject); + } + + public CharSequence getClassName(Object paramObject) + { + return AccessibilityRecordCompatIcs.getClassName(paramObject); + } + + public CharSequence getContentDescription(Object paramObject) + { + return AccessibilityRecordCompatIcs.getContentDescription(paramObject); + } + + public int getCurrentItemIndex(Object paramObject) + { + return AccessibilityRecordCompatIcs.getCurrentItemIndex(paramObject); + } + + public int getFromIndex(Object paramObject) + { + return AccessibilityRecordCompatIcs.getFromIndex(paramObject); + } + + public int getItemCount(Object paramObject) + { + return AccessibilityRecordCompatIcs.getItemCount(paramObject); + } + + public Parcelable getParcelableData(Object paramObject) + { + return AccessibilityRecordCompatIcs.getParcelableData(paramObject); + } + + public int getRemovedCount(Object paramObject) + { + return AccessibilityRecordCompatIcs.getRemovedCount(paramObject); + } + + public int getScrollX(Object paramObject) + { + return AccessibilityRecordCompatIcs.getScrollX(paramObject); + } + + public int getScrollY(Object paramObject) + { + return AccessibilityRecordCompatIcs.getScrollY(paramObject); + } + + public AccessibilityNodeInfoCompat getSource(Object paramObject) + { + return AccessibilityNodeInfoCompat.wrapNonNullInstance(AccessibilityRecordCompatIcs.getSource(paramObject)); + } + + public List getText(Object paramObject) + { + return AccessibilityRecordCompatIcs.getText(paramObject); + } + + public int getToIndex(Object paramObject) + { + return AccessibilityRecordCompatIcs.getToIndex(paramObject); + } + + public int getWindowId(Object paramObject) + { + return AccessibilityRecordCompatIcs.getWindowId(paramObject); + } + + public boolean isChecked(Object paramObject) + { + return AccessibilityRecordCompatIcs.isChecked(paramObject); + } + + public boolean isEnabled(Object paramObject) + { + return AccessibilityRecordCompatIcs.isEnabled(paramObject); + } + + public boolean isFullScreen(Object paramObject) + { + return AccessibilityRecordCompatIcs.isFullScreen(paramObject); + } + + public boolean isPassword(Object paramObject) + { + return AccessibilityRecordCompatIcs.isPassword(paramObject); + } + + public boolean isScrollable(Object paramObject) + { + return AccessibilityRecordCompatIcs.isScrollable(paramObject); + } + + public Object obtain() + { + return AccessibilityRecordCompatIcs.obtain(); + } + + public Object obtain(Object paramObject) + { + return AccessibilityRecordCompatIcs.obtain(paramObject); + } + + public void recycle(Object paramObject) + { + AccessibilityRecordCompatIcs.recycle(paramObject); + } + + public void setAddedCount(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setAddedCount(paramObject, paramInt); + } + + public void setBeforeText(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityRecordCompatIcs.setBeforeText(paramObject, paramCharSequence); + } + + public void setChecked(Object paramObject, boolean paramBoolean) + { + AccessibilityRecordCompatIcs.setChecked(paramObject, paramBoolean); + } + + public void setClassName(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityRecordCompatIcs.setClassName(paramObject, paramCharSequence); + } + + public void setContentDescription(Object paramObject, CharSequence paramCharSequence) + { + AccessibilityRecordCompatIcs.setContentDescription(paramObject, paramCharSequence); + } + + public void setCurrentItemIndex(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setCurrentItemIndex(paramObject, paramInt); + } + + public void setEnabled(Object paramObject, boolean paramBoolean) + { + AccessibilityRecordCompatIcs.setEnabled(paramObject, paramBoolean); + } + + public void setFromIndex(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setFromIndex(paramObject, paramInt); + } + + public void setFullScreen(Object paramObject, boolean paramBoolean) + { + AccessibilityRecordCompatIcs.setFullScreen(paramObject, paramBoolean); + } + + public void setItemCount(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setItemCount(paramObject, paramInt); + } + + public void setParcelableData(Object paramObject, Parcelable paramParcelable) + { + AccessibilityRecordCompatIcs.setParcelableData(paramObject, paramParcelable); + } + + public void setPassword(Object paramObject, boolean paramBoolean) + { + AccessibilityRecordCompatIcs.setPassword(paramObject, paramBoolean); + } + + public void setRemovedCount(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setRemovedCount(paramObject, paramInt); + } + + public void setScrollX(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setScrollX(paramObject, paramInt); + } + + public void setScrollY(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setScrollY(paramObject, paramInt); + } + + public void setScrollable(Object paramObject, boolean paramBoolean) + { + AccessibilityRecordCompatIcs.setScrollable(paramObject, paramBoolean); + } + + public void setSource(Object paramObject, View paramView) + { + AccessibilityRecordCompatIcs.setSource(paramObject, paramView); + } + + public void setToIndex(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcs.setToIndex(paramObject, paramInt); + } + } + + static class AccessibilityRecordIcsMr1Impl + extends AccessibilityRecordCompat.AccessibilityRecordIcsImpl + { + public int getMaxScrollX(Object paramObject) + { + return AccessibilityRecordCompatIcsMr1.getMaxScrollX(paramObject); + } + + public int getMaxScrollY(Object paramObject) + { + return AccessibilityRecordCompatIcsMr1.getMaxScrollY(paramObject); + } + + public void setMaxScrollX(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcsMr1.setMaxScrollX(paramObject, paramInt); + } + + public void setMaxScrollY(Object paramObject, int paramInt) + { + AccessibilityRecordCompatIcsMr1.setMaxScrollY(paramObject, paramInt); + } + } + + static abstract interface AccessibilityRecordImpl + { + public abstract int getAddedCount(Object paramObject); + + public abstract CharSequence getBeforeText(Object paramObject); + + public abstract CharSequence getClassName(Object paramObject); + + public abstract CharSequence getContentDescription(Object paramObject); + + public abstract int getCurrentItemIndex(Object paramObject); + + public abstract int getFromIndex(Object paramObject); + + public abstract int getItemCount(Object paramObject); + + public abstract int getMaxScrollX(Object paramObject); + + public abstract int getMaxScrollY(Object paramObject); + + public abstract Parcelable getParcelableData(Object paramObject); + + public abstract int getRemovedCount(Object paramObject); + + public abstract int getScrollX(Object paramObject); + + public abstract int getScrollY(Object paramObject); + + public abstract AccessibilityNodeInfoCompat getSource(Object paramObject); + + public abstract List getText(Object paramObject); + + public abstract int getToIndex(Object paramObject); + + public abstract int getWindowId(Object paramObject); + + public abstract boolean isChecked(Object paramObject); + + public abstract boolean isEnabled(Object paramObject); + + public abstract boolean isFullScreen(Object paramObject); + + public abstract boolean isPassword(Object paramObject); + + public abstract boolean isScrollable(Object paramObject); + + public abstract Object obtain(); + + public abstract Object obtain(Object paramObject); + + public abstract void recycle(Object paramObject); + + public abstract void setAddedCount(Object paramObject, int paramInt); + + public abstract void setBeforeText(Object paramObject, CharSequence paramCharSequence); + + public abstract void setChecked(Object paramObject, boolean paramBoolean); + + public abstract void setClassName(Object paramObject, CharSequence paramCharSequence); + + public abstract void setContentDescription(Object paramObject, CharSequence paramCharSequence); + + public abstract void setCurrentItemIndex(Object paramObject, int paramInt); + + public abstract void setEnabled(Object paramObject, boolean paramBoolean); + + public abstract void setFromIndex(Object paramObject, int paramInt); + + public abstract void setFullScreen(Object paramObject, boolean paramBoolean); + + public abstract void setItemCount(Object paramObject, int paramInt); + + public abstract void setMaxScrollX(Object paramObject, int paramInt); + + public abstract void setMaxScrollY(Object paramObject, int paramInt); + + public abstract void setParcelableData(Object paramObject, Parcelable paramParcelable); + + public abstract void setPassword(Object paramObject, boolean paramBoolean); + + public abstract void setRemovedCount(Object paramObject, int paramInt); + + public abstract void setScrollX(Object paramObject, int paramInt); + + public abstract void setScrollY(Object paramObject, int paramInt); + + public abstract void setScrollable(Object paramObject, boolean paramBoolean); + + public abstract void setSource(Object paramObject, View paramView); + + public abstract void setSource(Object paramObject, View paramView, int paramInt); + + public abstract void setToIndex(Object paramObject, int paramInt); + } + + static class AccessibilityRecordJellyBeanImpl + extends AccessibilityRecordCompat.AccessibilityRecordIcsMr1Impl + { + public void setSource(Object paramObject, View paramView, int paramInt) + { + AccessibilityRecordCompatJellyBean.setSource(paramObject, paramView, paramInt); + } + } + + static class AccessibilityRecordStubImpl + implements AccessibilityRecordCompat.AccessibilityRecordImpl + { + public int getAddedCount(Object paramObject) + { + return 0; + } + + public CharSequence getBeforeText(Object paramObject) + { + return null; + } + + public CharSequence getClassName(Object paramObject) + { + return null; + } + + public CharSequence getContentDescription(Object paramObject) + { + return null; + } + + public int getCurrentItemIndex(Object paramObject) + { + return 0; + } + + public int getFromIndex(Object paramObject) + { + return 0; + } + + public int getItemCount(Object paramObject) + { + return 0; + } + + public int getMaxScrollX(Object paramObject) + { + return 0; + } + + public int getMaxScrollY(Object paramObject) + { + return 0; + } + + public Parcelable getParcelableData(Object paramObject) + { + return null; + } + + public int getRemovedCount(Object paramObject) + { + return 0; + } + + public int getScrollX(Object paramObject) + { + return 0; + } + + public int getScrollY(Object paramObject) + { + return 0; + } + + public AccessibilityNodeInfoCompat getSource(Object paramObject) + { + return null; + } + + public List getText(Object paramObject) + { + return Collections.emptyList(); + } + + public int getToIndex(Object paramObject) + { + return 0; + } + + public int getWindowId(Object paramObject) + { + return 0; + } + + public boolean isChecked(Object paramObject) + { + return false; + } + + public boolean isEnabled(Object paramObject) + { + return false; + } + + public boolean isFullScreen(Object paramObject) + { + return false; + } + + public boolean isPassword(Object paramObject) + { + return false; + } + + public boolean isScrollable(Object paramObject) + { + return false; + } + + public Object obtain() + { + return null; + } + + public Object obtain(Object paramObject) + { + return null; + } + + public void recycle(Object paramObject) {} + + public void setAddedCount(Object paramObject, int paramInt) {} + + public void setBeforeText(Object paramObject, CharSequence paramCharSequence) {} + + public void setChecked(Object paramObject, boolean paramBoolean) {} + + public void setClassName(Object paramObject, CharSequence paramCharSequence) {} + + public void setContentDescription(Object paramObject, CharSequence paramCharSequence) {} + + public void setCurrentItemIndex(Object paramObject, int paramInt) {} + + public void setEnabled(Object paramObject, boolean paramBoolean) {} + + public void setFromIndex(Object paramObject, int paramInt) {} + + public void setFullScreen(Object paramObject, boolean paramBoolean) {} + + public void setItemCount(Object paramObject, int paramInt) {} + + public void setMaxScrollX(Object paramObject, int paramInt) {} + + public void setMaxScrollY(Object paramObject, int paramInt) {} + + public void setParcelableData(Object paramObject, Parcelable paramParcelable) {} + + public void setPassword(Object paramObject, boolean paramBoolean) {} + + public void setRemovedCount(Object paramObject, int paramInt) {} + + public void setScrollX(Object paramObject, int paramInt) {} + + public void setScrollY(Object paramObject, int paramInt) {} + + public void setScrollable(Object paramObject, boolean paramBoolean) {} + + public void setSource(Object paramObject, View paramView) {} + + public void setSource(Object paramObject, View paramView, int paramInt) {} + + public void setToIndex(Object paramObject, int paramInt) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityRecordCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcs.java new file mode 100755 index 00000000000..924936bab52 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcs.java @@ -0,0 +1,220 @@ +package android.support.v4.view.accessibility; + +import android.os.Parcelable; +import android.view.View; +import android.view.accessibility.AccessibilityRecord; +import java.util.List; + +class AccessibilityRecordCompatIcs +{ + public static int getAddedCount(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getAddedCount(); + } + + public static CharSequence getBeforeText(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getBeforeText(); + } + + public static CharSequence getClassName(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getClassName(); + } + + public static CharSequence getContentDescription(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getContentDescription(); + } + + public static int getCurrentItemIndex(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getCurrentItemIndex(); + } + + public static int getFromIndex(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getFromIndex(); + } + + public static int getItemCount(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getItemCount(); + } + + public static Parcelable getParcelableData(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getParcelableData(); + } + + public static int getRemovedCount(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getRemovedCount(); + } + + public static int getScrollX(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getScrollX(); + } + + public static int getScrollY(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getScrollY(); + } + + public static Object getSource(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getSource(); + } + + public static List getText(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getText(); + } + + public static int getToIndex(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getToIndex(); + } + + public static int getWindowId(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getWindowId(); + } + + public static boolean isChecked(Object paramObject) + { + return ((AccessibilityRecord)paramObject).isChecked(); + } + + public static boolean isEnabled(Object paramObject) + { + return ((AccessibilityRecord)paramObject).isEnabled(); + } + + public static boolean isFullScreen(Object paramObject) + { + return ((AccessibilityRecord)paramObject).isFullScreen(); + } + + public static boolean isPassword(Object paramObject) + { + return ((AccessibilityRecord)paramObject).isPassword(); + } + + public static boolean isScrollable(Object paramObject) + { + return ((AccessibilityRecord)paramObject).isScrollable(); + } + + public static Object obtain() + { + return AccessibilityRecord.obtain(); + } + + public static Object obtain(Object paramObject) + { + return AccessibilityRecord.obtain((AccessibilityRecord)paramObject); + } + + public static void recycle(Object paramObject) + { + ((AccessibilityRecord)paramObject).recycle(); + } + + public static void setAddedCount(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setAddedCount(paramInt); + } + + public static void setBeforeText(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityRecord)paramObject).setBeforeText(paramCharSequence); + } + + public static void setChecked(Object paramObject, boolean paramBoolean) + { + ((AccessibilityRecord)paramObject).setChecked(paramBoolean); + } + + public static void setClassName(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityRecord)paramObject).setClassName(paramCharSequence); + } + + public static void setContentDescription(Object paramObject, CharSequence paramCharSequence) + { + ((AccessibilityRecord)paramObject).setContentDescription(paramCharSequence); + } + + public static void setCurrentItemIndex(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setCurrentItemIndex(paramInt); + } + + public static void setEnabled(Object paramObject, boolean paramBoolean) + { + ((AccessibilityRecord)paramObject).setEnabled(paramBoolean); + } + + public static void setFromIndex(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setFromIndex(paramInt); + } + + public static void setFullScreen(Object paramObject, boolean paramBoolean) + { + ((AccessibilityRecord)paramObject).setFullScreen(paramBoolean); + } + + public static void setItemCount(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setItemCount(paramInt); + } + + public static void setParcelableData(Object paramObject, Parcelable paramParcelable) + { + ((AccessibilityRecord)paramObject).setParcelableData(paramParcelable); + } + + public static void setPassword(Object paramObject, boolean paramBoolean) + { + ((AccessibilityRecord)paramObject).setPassword(paramBoolean); + } + + public static void setRemovedCount(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setRemovedCount(paramInt); + } + + public static void setScrollX(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setScrollX(paramInt); + } + + public static void setScrollY(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setScrollY(paramInt); + } + + public static void setScrollable(Object paramObject, boolean paramBoolean) + { + ((AccessibilityRecord)paramObject).setScrollable(paramBoolean); + } + + public static void setSource(Object paramObject, View paramView) + { + ((AccessibilityRecord)paramObject).setSource(paramView); + } + + public static void setToIndex(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setToIndex(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityRecordCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcsMr1.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcsMr1.java new file mode 100755 index 00000000000..7758f783a8b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatIcsMr1.java @@ -0,0 +1,32 @@ +package android.support.v4.view.accessibility; + +import android.view.accessibility.AccessibilityRecord; + +class AccessibilityRecordCompatIcsMr1 +{ + public static int getMaxScrollX(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getMaxScrollX(); + } + + public static int getMaxScrollY(Object paramObject) + { + return ((AccessibilityRecord)paramObject).getMaxScrollY(); + } + + public static void setMaxScrollX(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setMaxScrollX(paramInt); + } + + public static void setMaxScrollY(Object paramObject, int paramInt) + { + ((AccessibilityRecord)paramObject).setMaxScrollY(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityRecordCompatIcsMr1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatJellyBean.java b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatJellyBean.java new file mode 100755 index 00000000000..512e7d9c439 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/view/accessibility/AccessibilityRecordCompatJellyBean.java @@ -0,0 +1,18 @@ +package android.support.v4.view.accessibility; + +import android.view.View; +import android.view.accessibility.AccessibilityRecord; + +class AccessibilityRecordCompatJellyBean +{ + public static void setSource(Object paramObject, View paramView, int paramInt) + { + ((AccessibilityRecord)paramObject).setSource(paramView, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.view.accessibility.AccessibilityRecordCompatJellyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/CursorAdapter.java b/com.tencent.token/classes.jar/android/support/v4/widget/CursorAdapter.java new file mode 100755 index 00000000000..7fb5659dc0f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/CursorAdapter.java @@ -0,0 +1,331 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.database.ContentObserver; +import android.database.Cursor; +import android.database.DataSetObserver; +import android.os.Handler; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.Filter; +import android.widget.FilterQueryProvider; +import android.widget.Filterable; + +public abstract class CursorAdapter + extends BaseAdapter + implements Filterable, CursorFilter.CursorFilterClient +{ + @Deprecated + public static final int FLAG_AUTO_REQUERY = 1; + public static final int FLAG_REGISTER_CONTENT_OBSERVER = 2; + protected boolean mAutoRequery; + protected ChangeObserver mChangeObserver; + protected Context mContext; + protected Cursor mCursor; + protected CursorFilter mCursorFilter; + protected DataSetObserver mDataSetObserver; + protected boolean mDataValid; + protected FilterQueryProvider mFilterQueryProvider; + protected int mRowIDColumn; + + @Deprecated + public CursorAdapter(Context paramContext, Cursor paramCursor) + { + init(paramContext, paramCursor, 1); + } + + public CursorAdapter(Context paramContext, Cursor paramCursor, int paramInt) + { + init(paramContext, paramCursor, paramInt); + } + + public CursorAdapter(Context paramContext, Cursor paramCursor, boolean paramBoolean) + { + if (paramBoolean) {} + for (int i = 1;; i = 2) + { + init(paramContext, paramCursor, i); + return; + } + } + + public abstract void bindView(View paramView, Context paramContext, Cursor paramCursor); + + public void changeCursor(Cursor paramCursor) + { + paramCursor = swapCursor(paramCursor); + if (paramCursor != null) { + paramCursor.close(); + } + } + + public CharSequence convertToString(Cursor paramCursor) + { + if (paramCursor == null) { + return ""; + } + return paramCursor.toString(); + } + + public int getCount() + { + if ((this.mDataValid) && (this.mCursor != null)) { + return this.mCursor.getCount(); + } + return 0; + } + + public Cursor getCursor() + { + return this.mCursor; + } + + public View getDropDownView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (this.mDataValid) + { + this.mCursor.moveToPosition(paramInt); + if (paramView == null) { + paramView = newDropDownView(this.mContext, this.mCursor, paramViewGroup); + } + for (;;) + { + bindView(paramView, this.mContext, this.mCursor); + return paramView; + } + } + return null; + } + + public Filter getFilter() + { + if (this.mCursorFilter == null) { + this.mCursorFilter = new CursorFilter(this); + } + return this.mCursorFilter; + } + + public FilterQueryProvider getFilterQueryProvider() + { + return this.mFilterQueryProvider; + } + + public Object getItem(int paramInt) + { + if ((this.mDataValid) && (this.mCursor != null)) + { + this.mCursor.moveToPosition(paramInt); + return this.mCursor; + } + return null; + } + + public long getItemId(int paramInt) + { + long l2 = 0L; + long l1 = l2; + if (this.mDataValid) + { + l1 = l2; + if (this.mCursor != null) + { + l1 = l2; + if (this.mCursor.moveToPosition(paramInt)) { + l1 = this.mCursor.getLong(this.mRowIDColumn); + } + } + } + return l1; + } + + public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (!this.mDataValid) { + throw new IllegalStateException("this should only be called when the cursor is valid"); + } + if (!this.mCursor.moveToPosition(paramInt)) { + throw new IllegalStateException("couldn't move cursor to position " + paramInt); + } + if (paramView == null) { + paramView = newView(this.mContext, this.mCursor, paramViewGroup); + } + for (;;) + { + bindView(paramView, this.mContext, this.mCursor); + return paramView; + } + } + + public boolean hasStableIds() + { + return true; + } + + void init(Context paramContext, Cursor paramCursor, int paramInt) + { + boolean bool = true; + label23: + int i; + if ((paramInt & 0x1) == 1) + { + paramInt |= 0x2; + this.mAutoRequery = true; + if (paramCursor == null) { + break label140; + } + this.mCursor = paramCursor; + this.mDataValid = bool; + this.mContext = paramContext; + if (!bool) { + break label146; + } + i = paramCursor.getColumnIndexOrThrow("_id"); + label54: + this.mRowIDColumn = i; + if ((paramInt & 0x2) != 2) { + break label152; + } + this.mChangeObserver = new ChangeObserver(); + } + for (this.mDataSetObserver = new MyDataSetObserver(null);; this.mDataSetObserver = null) + { + if (bool) + { + if (this.mChangeObserver != null) { + paramCursor.registerContentObserver(this.mChangeObserver); + } + if (this.mDataSetObserver != null) { + paramCursor.registerDataSetObserver(this.mDataSetObserver); + } + } + return; + this.mAutoRequery = false; + break; + label140: + bool = false; + break label23; + label146: + i = -1; + break label54; + label152: + this.mChangeObserver = null; + } + } + + @Deprecated + protected void init(Context paramContext, Cursor paramCursor, boolean paramBoolean) + { + if (paramBoolean) {} + for (int i = 1;; i = 2) + { + init(paramContext, paramCursor, i); + return; + } + } + + public View newDropDownView(Context paramContext, Cursor paramCursor, ViewGroup paramViewGroup) + { + return newView(paramContext, paramCursor, paramViewGroup); + } + + public abstract View newView(Context paramContext, Cursor paramCursor, ViewGroup paramViewGroup); + + protected void onContentChanged() + { + if ((this.mAutoRequery) && (this.mCursor != null) && (!this.mCursor.isClosed())) { + this.mDataValid = this.mCursor.requery(); + } + } + + public Cursor runQueryOnBackgroundThread(CharSequence paramCharSequence) + { + if (this.mFilterQueryProvider != null) { + return this.mFilterQueryProvider.runQuery(paramCharSequence); + } + return this.mCursor; + } + + public void setFilterQueryProvider(FilterQueryProvider paramFilterQueryProvider) + { + this.mFilterQueryProvider = paramFilterQueryProvider; + } + + public Cursor swapCursor(Cursor paramCursor) + { + if (paramCursor == this.mCursor) { + return null; + } + Cursor localCursor = this.mCursor; + if (localCursor != null) + { + if (this.mChangeObserver != null) { + localCursor.unregisterContentObserver(this.mChangeObserver); + } + if (this.mDataSetObserver != null) { + localCursor.unregisterDataSetObserver(this.mDataSetObserver); + } + } + this.mCursor = paramCursor; + if (paramCursor != null) + { + if (this.mChangeObserver != null) { + paramCursor.registerContentObserver(this.mChangeObserver); + } + if (this.mDataSetObserver != null) { + paramCursor.registerDataSetObserver(this.mDataSetObserver); + } + this.mRowIDColumn = paramCursor.getColumnIndexOrThrow("_id"); + this.mDataValid = true; + notifyDataSetChanged(); + return localCursor; + } + this.mRowIDColumn = -1; + this.mDataValid = false; + notifyDataSetInvalidated(); + return localCursor; + } + + private class ChangeObserver + extends ContentObserver + { + public ChangeObserver() + { + super(); + } + + public boolean deliverSelfNotifications() + { + return true; + } + + public void onChange(boolean paramBoolean) + { + CursorAdapter.this.onContentChanged(); + } + } + + private class MyDataSetObserver + extends DataSetObserver + { + private MyDataSetObserver() {} + + public void onChanged() + { + CursorAdapter.this.mDataValid = true; + CursorAdapter.this.notifyDataSetChanged(); + } + + public void onInvalidated() + { + CursorAdapter.this.mDataValid = false; + CursorAdapter.this.notifyDataSetInvalidated(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.CursorAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/CursorFilter.java b/com.tencent.token/classes.jar/android/support/v4/widget/CursorFilter.java new file mode 100755 index 00000000000..3d27bc48261 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/CursorFilter.java @@ -0,0 +1,61 @@ +package android.support.v4.widget; + +import android.database.Cursor; +import android.widget.Filter; +import android.widget.Filter.FilterResults; + +class CursorFilter + extends Filter +{ + CursorFilterClient mClient; + + CursorFilter(CursorFilterClient paramCursorFilterClient) + { + this.mClient = paramCursorFilterClient; + } + + public CharSequence convertResultToString(Object paramObject) + { + return this.mClient.convertToString((Cursor)paramObject); + } + + protected Filter.FilterResults performFiltering(CharSequence paramCharSequence) + { + paramCharSequence = this.mClient.runQueryOnBackgroundThread(paramCharSequence); + Filter.FilterResults localFilterResults = new Filter.FilterResults(); + if (paramCharSequence != null) + { + localFilterResults.count = paramCharSequence.getCount(); + localFilterResults.values = paramCharSequence; + return localFilterResults; + } + localFilterResults.count = 0; + localFilterResults.values = null; + return localFilterResults; + } + + protected void publishResults(CharSequence paramCharSequence, Filter.FilterResults paramFilterResults) + { + paramCharSequence = this.mClient.getCursor(); + if ((paramFilterResults.values != null) && (paramFilterResults.values != paramCharSequence)) { + this.mClient.changeCursor((Cursor)paramFilterResults.values); + } + } + + static abstract interface CursorFilterClient + { + public abstract void changeCursor(Cursor paramCursor); + + public abstract CharSequence convertToString(Cursor paramCursor); + + public abstract Cursor getCursor(); + + public abstract Cursor runQueryOnBackgroundThread(CharSequence paramCharSequence); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.CursorFilter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/DrawerLayout.java b/com.tencent.token/classes.jar/android/support/v4/widget/DrawerLayout.java new file mode 100755 index 00000000000..d5dd971d212 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/DrawerLayout.java @@ -0,0 +1,1407 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.os.SystemClock; +import android.support.v4.view.AccessibilityDelegateCompat; +import android.support.v4.view.GravityCompat; +import android.support.v4.view.KeyEventCompat; +import android.support.v4.view.MotionEventCompat; +import android.support.v4.view.ViewCompat; +import android.support.v4.view.ViewGroupCompat; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.BaseSavedState; +import android.view.View.MeasureSpec; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.accessibility.AccessibilityEvent; + +public class DrawerLayout + extends ViewGroup +{ + private static final boolean ALLOW_EDGE_LOCK = false; + private static final int DEFAULT_SCRIM_COLOR = -1728053248; + private static final int[] LAYOUT_ATTRS = { 16842931 }; + public static final int LOCK_MODE_LOCKED_CLOSED = 1; + public static final int LOCK_MODE_LOCKED_OPEN = 2; + public static final int LOCK_MODE_UNLOCKED = 0; + private static final int MIN_DRAWER_MARGIN = 64; + private static final int MIN_FLING_VELOCITY = 400; + private static final int PEEK_DELAY = 160; + public static final int STATE_DRAGGING = 1; + public static final int STATE_IDLE = 0; + public static final int STATE_SETTLING = 2; + private static final String TAG = "DrawerLayout"; + private boolean mChildrenCanceledTouch; + private boolean mDisallowInterceptRequested; + private int mDrawerState; + private boolean mFirstLayout = true; + private boolean mInLayout; + private float mInitialMotionX; + private float mInitialMotionY; + private final ViewDragCallback mLeftCallback; + private final ViewDragHelper mLeftDragger; + private DrawerListener mListener; + private int mLockModeLeft; + private int mLockModeRight; + private int mMinDrawerMargin; + private final ViewDragCallback mRightCallback; + private final ViewDragHelper mRightDragger; + private int mScrimColor = -1728053248; + private float mScrimOpacity; + private Paint mScrimPaint = new Paint(); + private Drawable mShadowLeft; + private Drawable mShadowRight; + + public DrawerLayout(Context paramContext) + { + this(paramContext, null); + } + + public DrawerLayout(Context paramContext, AttributeSet paramAttributeSet) + { + this(paramContext, paramAttributeSet, 0); + } + + public DrawerLayout(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + float f = getResources().getDisplayMetrics().density; + this.mMinDrawerMargin = ((int)(64.0F * f + 0.5F)); + f = 400.0F * f; + this.mLeftCallback = new ViewDragCallback(3); + this.mRightCallback = new ViewDragCallback(5); + this.mLeftDragger = ViewDragHelper.create(this, 0.5F, this.mLeftCallback); + this.mLeftDragger.setEdgeTrackingEnabled(1); + this.mLeftDragger.setMinVelocity(f); + this.mLeftCallback.setDragger(this.mLeftDragger); + this.mRightDragger = ViewDragHelper.create(this, 0.5F, this.mRightCallback); + this.mRightDragger.setEdgeTrackingEnabled(2); + this.mRightDragger.setMinVelocity(f); + this.mRightCallback.setDragger(this.mRightDragger); + setFocusableInTouchMode(true); + ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate()); + ViewGroupCompat.setMotionEventSplittingEnabled(this, false); + } + + private View findVisibleDrawer() + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + View localView = getChildAt(i); + if ((isDrawerView(localView)) && (isDrawerVisible(localView))) { + return localView; + } + i += 1; + } + return null; + } + + static String gravityToString(int paramInt) + { + if ((paramInt & 0x3) == 3) { + return "LEFT"; + } + if ((paramInt & 0x5) == 5) { + return "RIGHT"; + } + return Integer.toHexString(paramInt); + } + + private static boolean hasOpaqueBackground(View paramView) + { + boolean bool2 = false; + paramView = paramView.getBackground(); + boolean bool1 = bool2; + if (paramView != null) + { + bool1 = bool2; + if (paramView.getOpacity() == -1) { + bool1 = true; + } + } + return bool1; + } + + private boolean hasPeekingDrawer() + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + if (((LayoutParams)getChildAt(i).getLayoutParams()).isPeeking) { + return true; + } + i += 1; + } + return false; + } + + private boolean hasVisibleDrawer() + { + return findVisibleDrawer() != null; + } + + void cancelChildViewTouch() + { + if (!this.mChildrenCanceledTouch) + { + long l = SystemClock.uptimeMillis(); + MotionEvent localMotionEvent = MotionEvent.obtain(l, l, 3, 0.0F, 0.0F, 0); + int j = getChildCount(); + int i = 0; + while (i < j) + { + getChildAt(i).dispatchTouchEvent(localMotionEvent); + i += 1; + } + localMotionEvent.recycle(); + this.mChildrenCanceledTouch = true; + } + } + + boolean checkDrawerViewGravity(View paramView, int paramInt) + { + return (getDrawerViewGravity(paramView) & paramInt) == paramInt; + } + + protected boolean checkLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + return ((paramLayoutParams instanceof LayoutParams)) && (super.checkLayoutParams(paramLayoutParams)); + } + + public void closeDrawer(int paramInt) + { + paramInt = GravityCompat.getAbsoluteGravity(paramInt, ViewCompat.getLayoutDirection(this)); + View localView = findDrawerWithGravity(paramInt); + if (localView == null) { + throw new IllegalArgumentException("No drawer view found with absolute gravity " + gravityToString(paramInt)); + } + closeDrawer(localView); + } + + public void closeDrawer(View paramView) + { + if (!isDrawerView(paramView)) { + throw new IllegalArgumentException("View " + paramView + " is not a sliding drawer"); + } + if (this.mFirstLayout) + { + paramView = (LayoutParams)paramView.getLayoutParams(); + paramView.onScreen = 0.0F; + paramView.knownOpen = false; + } + for (;;) + { + invalidate(); + return; + if (checkDrawerViewGravity(paramView, 3)) { + this.mLeftDragger.smoothSlideViewTo(paramView, -paramView.getWidth(), paramView.getTop()); + } else { + this.mRightDragger.smoothSlideViewTo(paramView, getWidth(), paramView.getTop()); + } + } + } + + public void closeDrawers() + { + closeDrawers(false); + } + + void closeDrawers(boolean paramBoolean) + { + int i = 0; + int n = getChildCount(); + int j = 0; + while (j < n) + { + View localView = getChildAt(j); + LayoutParams localLayoutParams = (LayoutParams)localView.getLayoutParams(); + int k = i; + if (isDrawerView(localView)) + { + if ((paramBoolean) && (!localLayoutParams.isPeeking)) { + k = i; + } + } + else + { + j += 1; + i = k; + continue; + } + int m = localView.getWidth(); + if (checkDrawerViewGravity(localView, 3)) { + i |= this.mLeftDragger.smoothSlideViewTo(localView, -m, localView.getTop()); + } + for (;;) + { + localLayoutParams.isPeeking = false; + m = i; + break; + i |= this.mRightDragger.smoothSlideViewTo(localView, getWidth(), localView.getTop()); + } + } + this.mLeftCallback.removeCallbacks(); + this.mRightCallback.removeCallbacks(); + if (i != 0) { + invalidate(); + } + } + + public void computeScroll() + { + int j = getChildCount(); + float f = 0.0F; + int i = 0; + while (i < j) + { + f = Math.max(f, ((LayoutParams)getChildAt(i).getLayoutParams()).onScreen); + i += 1; + } + this.mScrimOpacity = f; + if ((this.mLeftDragger.continueSettling(true) | this.mRightDragger.continueSettling(true))) { + ViewCompat.postInvalidateOnAnimation(this); + } + } + + void dispatchOnDrawerClosed(View paramView) + { + LayoutParams localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + if (localLayoutParams.knownOpen) + { + localLayoutParams.knownOpen = false; + if (this.mListener != null) { + this.mListener.onDrawerClosed(paramView); + } + sendAccessibilityEvent(32); + } + } + + void dispatchOnDrawerOpened(View paramView) + { + LayoutParams localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + if (!localLayoutParams.knownOpen) + { + localLayoutParams.knownOpen = true; + if (this.mListener != null) { + this.mListener.onDrawerOpened(paramView); + } + paramView.sendAccessibilityEvent(32); + } + } + + void dispatchOnDrawerSlide(View paramView, float paramFloat) + { + if (this.mListener != null) { + this.mListener.onDrawerSlide(paramView, paramFloat); + } + } + + protected boolean drawChild(Canvas paramCanvas, View paramView, long paramLong) + { + int i2 = getHeight(); + boolean bool1 = isContentView(paramView); + int i = 0; + int m = 0; + int j = getWidth(); + int i3 = paramCanvas.save(); + int k = j; + if (bool1) + { + int i4 = getChildCount(); + k = 0; + i = m; + if (k < i4) + { + View localView = getChildAt(k); + m = i; + int n = j; + if (localView != paramView) + { + m = i; + n = j; + if (localView.getVisibility() == 0) + { + m = i; + n = j; + if (hasOpaqueBackground(localView)) + { + m = i; + n = j; + if (isDrawerView(localView)) + { + if (localView.getHeight() >= i2) { + break label166; + } + n = j; + m = i; + } + } + } + } + for (;;) + { + k += 1; + i = m; + j = n; + break; + label166: + int i1; + if (checkDrawerViewGravity(localView, 3)) + { + i1 = localView.getRight(); + m = i; + n = j; + if (i1 > i) + { + m = i1; + n = j; + } + } + else + { + i1 = localView.getLeft(); + m = i; + n = j; + if (i1 < j) + { + n = i1; + m = i; + } + } + } + } + paramCanvas.clipRect(i, 0, j, getHeight()); + k = j; + } + boolean bool2 = super.drawChild(paramCanvas, paramView, paramLong); + paramCanvas.restoreToCount(i3); + if ((this.mScrimOpacity > 0.0F) && (bool1)) + { + j = (int)(((this.mScrimColor & 0xFF000000) >>> 24) * this.mScrimOpacity); + m = this.mScrimColor; + this.mScrimPaint.setColor(j << 24 | m & 0xFFFFFF); + paramCanvas.drawRect(i, 0.0F, k, getHeight(), this.mScrimPaint); + } + do + { + return bool2; + if ((this.mShadowLeft != null) && (checkDrawerViewGravity(paramView, 3))) + { + i = this.mShadowLeft.getIntrinsicWidth(); + j = paramView.getRight(); + k = this.mLeftDragger.getEdgeSize(); + f = Math.max(0.0F, Math.min(j / k, 1.0F)); + this.mShadowLeft.setBounds(j, paramView.getTop(), j + i, paramView.getBottom()); + this.mShadowLeft.setAlpha((int)(255.0F * f)); + this.mShadowLeft.draw(paramCanvas); + return bool2; + } + } while ((this.mShadowRight == null) || (!checkDrawerViewGravity(paramView, 5))); + i = this.mShadowRight.getIntrinsicWidth(); + j = paramView.getLeft(); + k = getWidth(); + m = this.mRightDragger.getEdgeSize(); + float f = Math.max(0.0F, Math.min((k - j) / m, 1.0F)); + this.mShadowRight.setBounds(j - i, paramView.getTop(), j, paramView.getBottom()); + this.mShadowRight.setAlpha((int)(255.0F * f)); + this.mShadowRight.draw(paramCanvas); + return bool2; + } + + View findDrawerWithGravity(int paramInt) + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + View localView = getChildAt(i); + if ((getDrawerViewGravity(localView) & 0x7) == (paramInt & 0x7)) { + return localView; + } + i += 1; + } + return null; + } + + View findOpenDrawer() + { + int j = getChildCount(); + int i = 0; + while (i < j) + { + View localView = getChildAt(i); + if (((LayoutParams)localView.getLayoutParams()).knownOpen) { + return localView; + } + i += 1; + } + return null; + } + + protected ViewGroup.LayoutParams generateDefaultLayoutParams() + { + return new LayoutParams(-1, -1); + } + + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet paramAttributeSet) + { + return new LayoutParams(getContext(), paramAttributeSet); + } + + protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + if ((paramLayoutParams instanceof LayoutParams)) { + return new LayoutParams((LayoutParams)paramLayoutParams); + } + if ((paramLayoutParams instanceof ViewGroup.MarginLayoutParams)) { + return new LayoutParams((ViewGroup.MarginLayoutParams)paramLayoutParams); + } + return new LayoutParams(paramLayoutParams); + } + + public int getDrawerLockMode(int paramInt) + { + paramInt = GravityCompat.getAbsoluteGravity(paramInt, ViewCompat.getLayoutDirection(this)); + if (paramInt == 3) { + return this.mLockModeLeft; + } + if (paramInt == 5) { + return this.mLockModeRight; + } + return 0; + } + + public int getDrawerLockMode(View paramView) + { + int i = getDrawerViewGravity(paramView); + if (i == 3) { + return this.mLockModeLeft; + } + if (i == 5) { + return this.mLockModeRight; + } + return 0; + } + + int getDrawerViewGravity(View paramView) + { + return GravityCompat.getAbsoluteGravity(((LayoutParams)paramView.getLayoutParams()).gravity, ViewCompat.getLayoutDirection(paramView)); + } + + float getDrawerViewOffset(View paramView) + { + return ((LayoutParams)paramView.getLayoutParams()).onScreen; + } + + boolean isContentView(View paramView) + { + return ((LayoutParams)paramView.getLayoutParams()).gravity == 0; + } + + public boolean isDrawerOpen(int paramInt) + { + View localView = findDrawerWithGravity(paramInt); + if (localView != null) { + return isDrawerOpen(localView); + } + return false; + } + + public boolean isDrawerOpen(View paramView) + { + if (!isDrawerView(paramView)) { + throw new IllegalArgumentException("View " + paramView + " is not a drawer"); + } + return ((LayoutParams)paramView.getLayoutParams()).knownOpen; + } + + boolean isDrawerView(View paramView) + { + return (GravityCompat.getAbsoluteGravity(((LayoutParams)paramView.getLayoutParams()).gravity, ViewCompat.getLayoutDirection(paramView)) & 0x7) != 0; + } + + public boolean isDrawerVisible(int paramInt) + { + View localView = findDrawerWithGravity(paramInt); + if (localView != null) { + return isDrawerVisible(localView); + } + return false; + } + + public boolean isDrawerVisible(View paramView) + { + if (!isDrawerView(paramView)) { + throw new IllegalArgumentException("View " + paramView + " is not a drawer"); + } + return ((LayoutParams)paramView.getLayoutParams()).onScreen > 0.0F; + } + + void moveDrawerToOffset(View paramView, float paramFloat) + { + float f = getDrawerViewOffset(paramView); + int i = paramView.getWidth(); + int j = (int)(i * f); + i = (int)(i * paramFloat) - j; + if (checkDrawerViewGravity(paramView, 3)) {} + for (;;) + { + paramView.offsetLeftAndRight(i); + setDrawerViewOffset(paramView, paramFloat); + return; + i = -i; + } + } + + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + this.mFirstLayout = true; + } + + protected void onDetachedFromWindow() + { + super.onDetachedFromWindow(); + this.mFirstLayout = true; + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + boolean bool1 = false; + int i = MotionEventCompat.getActionMasked(paramMotionEvent); + boolean bool2 = this.mLeftDragger.shouldInterceptTouchEvent(paramMotionEvent); + boolean bool3 = this.mRightDragger.shouldInterceptTouchEvent(paramMotionEvent); + int k = 0; + int j = 0; + switch (i) + { + default: + i = j; + } + for (;;) + { + if (((bool2 | bool3)) || (i != 0) || (hasPeekingDrawer()) || (this.mChildrenCanceledTouch)) { + bool1 = true; + } + return bool1; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + this.mInitialMotionX = f1; + this.mInitialMotionY = f2; + i = k; + if (this.mScrimOpacity > 0.0F) + { + i = k; + if (isContentView(this.mLeftDragger.findTopChildUnder((int)f1, (int)f2))) { + i = 1; + } + } + this.mDisallowInterceptRequested = false; + this.mChildrenCanceledTouch = false; + continue; + i = j; + if (this.mLeftDragger.checkTouchSlop(3)) + { + this.mLeftCallback.removeCallbacks(); + this.mRightCallback.removeCallbacks(); + i = j; + continue; + closeDrawers(true); + this.mDisallowInterceptRequested = false; + this.mChildrenCanceledTouch = false; + i = j; + } + } + } + + public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) + { + if ((paramInt == 4) && (hasVisibleDrawer())) + { + KeyEventCompat.startTracking(paramKeyEvent); + return true; + } + return super.onKeyDown(paramInt, paramKeyEvent); + } + + public boolean onKeyUp(int paramInt, KeyEvent paramKeyEvent) + { + if (paramInt == 4) + { + paramKeyEvent = findVisibleDrawer(); + if ((paramKeyEvent != null) && (getDrawerLockMode(paramKeyEvent) == 0)) { + closeDrawers(); + } + return paramKeyEvent != null; + } + return super.onKeyUp(paramInt, paramKeyEvent); + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + this.mInLayout = true; + int n = getChildCount(); + int j = 0; + if (j < n) + { + View localView = getChildAt(j); + if (localView.getVisibility() == 8) {} + LayoutParams localLayoutParams; + for (;;) + { + j += 1; + break; + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if (!isContentView(localView)) { + break label107; + } + localView.layout(localLayoutParams.leftMargin, localLayoutParams.topMargin, localLayoutParams.leftMargin + localView.getMeasuredWidth(), localLayoutParams.topMargin + localView.getMeasuredHeight()); + } + label107: + int i1 = localView.getMeasuredWidth(); + int i2 = localView.getMeasuredHeight(); + int k; + if (checkDrawerViewGravity(localView, 3)) { + k = -i1 + (int)(i1 * localLayoutParams.onScreen); + } + label147: + int i; + switch (localLayoutParams.gravity & 0x70) + { + default: + localView.layout(k, localLayoutParams.topMargin, k + i1, i2); + case 80: + while (localLayoutParams.onScreen == 0.0F) + { + localView.setVisibility(4); + break; + k = paramInt3 - paramInt1 - (int)(i1 * localLayoutParams.onScreen); + break label147; + i = paramInt4 - paramInt2; + localView.layout(k, i - localLayoutParams.bottomMargin - localView.getMeasuredHeight(), k + i1, i - localLayoutParams.bottomMargin); + } + } + int i3 = paramInt4 - paramInt2; + int m = (i3 - i2) / 2; + if (m < localLayoutParams.topMargin) { + i = localLayoutParams.topMargin; + } + for (;;) + { + localView.layout(k, i, k + i1, i + i2); + break; + i = m; + if (m + i2 > i3 - localLayoutParams.bottomMargin) { + i = i3 - localLayoutParams.bottomMargin - i2; + } + } + } + this.mInLayout = false; + this.mFirstLayout = false; + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + int i = View.MeasureSpec.getMode(paramInt1); + int m = View.MeasureSpec.getMode(paramInt2); + int j = View.MeasureSpec.getSize(paramInt1); + int k = View.MeasureSpec.getSize(paramInt2); + if ((i != 1073741824) || (m != 1073741824)) { + throw new IllegalArgumentException("DrawerLayout must be measured with MeasureSpec.EXACTLY."); + } + setMeasuredDimension(j, k); + m = getChildCount(); + i = 0; + if (i < m) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 8) {} + for (;;) + { + i += 1; + break; + LayoutParams localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if (isContentView(localView)) + { + localView.measure(View.MeasureSpec.makeMeasureSpec(j - localLayoutParams.leftMargin - localLayoutParams.rightMargin, 1073741824), View.MeasureSpec.makeMeasureSpec(k - localLayoutParams.topMargin - localLayoutParams.bottomMargin, 1073741824)); + } + else + { + if (!isDrawerView(localView)) { + break label297; + } + int n = getDrawerViewGravity(localView) & 0x7; + if ((0x0 & n) != 0) { + throw new IllegalStateException("Child drawer has absolute gravity " + gravityToString(n) + " but this " + "DrawerLayout" + " already has a " + "drawer view along that edge"); + } + localView.measure(getChildMeasureSpec(paramInt1, this.mMinDrawerMargin + localLayoutParams.leftMargin + localLayoutParams.rightMargin, localLayoutParams.width), getChildMeasureSpec(paramInt2, localLayoutParams.topMargin + localLayoutParams.bottomMargin, localLayoutParams.height)); + } + } + label297: + throw new IllegalStateException("Child " + localView + " at index " + i + " does not have a valid layout_gravity - must be Gravity.LEFT, " + "Gravity.RIGHT or Gravity.NO_GRAVITY"); + } + } + + protected void onRestoreInstanceState(Parcelable paramParcelable) + { + paramParcelable = (SavedState)paramParcelable; + super.onRestoreInstanceState(paramParcelable.getSuperState()); + if (paramParcelable.openDrawerGravity != 0) + { + View localView = findDrawerWithGravity(paramParcelable.openDrawerGravity); + if (localView != null) { + openDrawer(localView); + } + } + setDrawerLockMode(paramParcelable.lockModeLeft, 3); + setDrawerLockMode(paramParcelable.lockModeRight, 5); + } + + protected Parcelable onSaveInstanceState() + { + SavedState localSavedState = new SavedState(super.onSaveInstanceState()); + int j = getChildCount(); + int i = 0; + if (i < j) + { + Object localObject = getChildAt(i); + if (!isDrawerView((View)localObject)) {} + do + { + i += 1; + break; + localObject = (LayoutParams)((View)localObject).getLayoutParams(); + } while (!((LayoutParams)localObject).knownOpen); + localSavedState.openDrawerGravity = ((LayoutParams)localObject).gravity; + } + localSavedState.lockModeLeft = this.mLockModeLeft; + localSavedState.lockModeRight = this.mLockModeRight; + return localSavedState; + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + this.mLeftDragger.processTouchEvent(paramMotionEvent); + this.mRightDragger.processTouchEvent(paramMotionEvent); + float f1; + float f2; + switch (paramMotionEvent.getAction() & 0xFF) + { + case 2: + default: + return true; + case 0: + f1 = paramMotionEvent.getX(); + f2 = paramMotionEvent.getY(); + this.mInitialMotionX = f1; + this.mInitialMotionY = f2; + this.mDisallowInterceptRequested = false; + this.mChildrenCanceledTouch = false; + return true; + case 1: + f2 = paramMotionEvent.getX(); + f1 = paramMotionEvent.getY(); + boolean bool2 = true; + paramMotionEvent = this.mLeftDragger.findTopChildUnder((int)f2, (int)f1); + boolean bool1 = bool2; + if (paramMotionEvent != null) + { + bool1 = bool2; + if (isContentView(paramMotionEvent)) + { + f2 -= this.mInitialMotionX; + f1 -= this.mInitialMotionY; + int i = this.mLeftDragger.getTouchSlop(); + bool1 = bool2; + if (f2 * f2 + f1 * f1 < i * i) + { + paramMotionEvent = findOpenDrawer(); + bool1 = bool2; + if (paramMotionEvent != null) { + if (getDrawerLockMode(paramMotionEvent) != 2) { + break label217; + } + } + } + } + } + label217: + for (bool1 = true;; bool1 = false) + { + closeDrawers(bool1); + this.mDisallowInterceptRequested = false; + return true; + } + } + closeDrawers(true); + this.mDisallowInterceptRequested = false; + this.mChildrenCanceledTouch = false; + return true; + } + + public void openDrawer(int paramInt) + { + paramInt = GravityCompat.getAbsoluteGravity(paramInt, ViewCompat.getLayoutDirection(this)); + View localView = findDrawerWithGravity(paramInt); + if (localView == null) { + throw new IllegalArgumentException("No drawer view found with absolute gravity " + gravityToString(paramInt)); + } + openDrawer(localView); + } + + public void openDrawer(View paramView) + { + if (!isDrawerView(paramView)) { + throw new IllegalArgumentException("View " + paramView + " is not a sliding drawer"); + } + if (this.mFirstLayout) + { + paramView = (LayoutParams)paramView.getLayoutParams(); + paramView.onScreen = 1.0F; + paramView.knownOpen = true; + } + for (;;) + { + invalidate(); + return; + if (checkDrawerViewGravity(paramView, 3)) { + this.mLeftDragger.smoothSlideViewTo(paramView, 0, paramView.getTop()); + } else { + this.mRightDragger.smoothSlideViewTo(paramView, getWidth() - paramView.getWidth(), paramView.getTop()); + } + } + } + + public void requestDisallowInterceptTouchEvent(boolean paramBoolean) + { + if ((!this.mLeftDragger.isEdgeTouched(1)) && (!this.mRightDragger.isEdgeTouched(2))) { + super.requestDisallowInterceptTouchEvent(paramBoolean); + } + this.mDisallowInterceptRequested = paramBoolean; + if (paramBoolean) { + closeDrawers(true); + } + } + + public void requestLayout() + { + if (!this.mInLayout) { + super.requestLayout(); + } + } + + public void setDrawerListener(DrawerListener paramDrawerListener) + { + this.mListener = paramDrawerListener; + } + + public void setDrawerLockMode(int paramInt) + { + setDrawerLockMode(paramInt, 3); + setDrawerLockMode(paramInt, 5); + } + + public void setDrawerLockMode(int paramInt1, int paramInt2) + { + paramInt2 = GravityCompat.getAbsoluteGravity(paramInt2, ViewCompat.getLayoutDirection(this)); + Object localObject; + if (paramInt2 == 3) + { + this.mLockModeLeft = paramInt1; + if (paramInt1 != 0) + { + if (paramInt2 != 3) { + break label74; + } + localObject = this.mLeftDragger; + label33: + ((ViewDragHelper)localObject).cancel(); + } + switch (paramInt1) + { + } + } + label74: + do + { + do + { + return; + if (paramInt2 != 5) { + break; + } + this.mLockModeRight = paramInt1; + break; + localObject = this.mRightDragger; + break label33; + localObject = findDrawerWithGravity(paramInt2); + } while (localObject == null); + openDrawer((View)localObject); + return; + localObject = findDrawerWithGravity(paramInt2); + } while (localObject == null); + closeDrawer((View)localObject); + } + + public void setDrawerLockMode(int paramInt, View paramView) + { + if (!isDrawerView(paramView)) { + throw new IllegalArgumentException("View " + paramView + " is not a " + "drawer with appropriate layout_gravity"); + } + setDrawerLockMode(paramInt, getDrawerViewGravity(paramView)); + } + + public void setDrawerShadow(int paramInt1, int paramInt2) + { + setDrawerShadow(getResources().getDrawable(paramInt1), paramInt2); + } + + public void setDrawerShadow(Drawable paramDrawable, int paramInt) + { + paramInt = GravityCompat.getAbsoluteGravity(paramInt, ViewCompat.getLayoutDirection(this)); + if ((paramInt & 0x3) == 3) + { + this.mShadowLeft = paramDrawable; + invalidate(); + } + if ((paramInt & 0x5) == 5) + { + this.mShadowRight = paramDrawable; + invalidate(); + } + } + + void setDrawerViewOffset(View paramView, float paramFloat) + { + LayoutParams localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + if (paramFloat == localLayoutParams.onScreen) { + return; + } + localLayoutParams.onScreen = paramFloat; + dispatchOnDrawerSlide(paramView, paramFloat); + } + + public void setScrimColor(int paramInt) + { + this.mScrimColor = paramInt; + invalidate(); + } + + void updateDrawerState(int paramInt1, int paramInt2, View paramView) + { + paramInt1 = this.mLeftDragger.getViewDragState(); + int i = this.mRightDragger.getViewDragState(); + LayoutParams localLayoutParams; + if ((paramInt1 == 1) || (i == 1)) + { + paramInt1 = 1; + if ((paramView != null) && (paramInt2 == 0)) + { + localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + if (localLayoutParams.onScreen != 0.0F) { + break label114; + } + dispatchOnDrawerClosed(paramView); + } + } + for (;;) + { + if (paramInt1 != this.mDrawerState) + { + this.mDrawerState = paramInt1; + if (this.mListener != null) { + this.mListener.onDrawerStateChanged(paramInt1); + } + } + return; + if ((paramInt1 == 2) || (i == 2)) + { + paramInt1 = 2; + break; + } + paramInt1 = 0; + break; + label114: + if (localLayoutParams.onScreen == 1.0F) { + dispatchOnDrawerOpened(paramView); + } + } + } + + class AccessibilityDelegate + extends AccessibilityDelegateCompat + { + private final Rect mTmpRect = new Rect(); + + AccessibilityDelegate() {} + + private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat1, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat2) + { + Rect localRect = this.mTmpRect; + paramAccessibilityNodeInfoCompat2.getBoundsInParent(localRect); + paramAccessibilityNodeInfoCompat1.setBoundsInParent(localRect); + paramAccessibilityNodeInfoCompat2.getBoundsInScreen(localRect); + paramAccessibilityNodeInfoCompat1.setBoundsInScreen(localRect); + paramAccessibilityNodeInfoCompat1.setVisibleToUser(paramAccessibilityNodeInfoCompat2.isVisibleToUser()); + paramAccessibilityNodeInfoCompat1.setPackageName(paramAccessibilityNodeInfoCompat2.getPackageName()); + paramAccessibilityNodeInfoCompat1.setClassName(paramAccessibilityNodeInfoCompat2.getClassName()); + paramAccessibilityNodeInfoCompat1.setContentDescription(paramAccessibilityNodeInfoCompat2.getContentDescription()); + paramAccessibilityNodeInfoCompat1.setEnabled(paramAccessibilityNodeInfoCompat2.isEnabled()); + paramAccessibilityNodeInfoCompat1.setClickable(paramAccessibilityNodeInfoCompat2.isClickable()); + paramAccessibilityNodeInfoCompat1.setFocusable(paramAccessibilityNodeInfoCompat2.isFocusable()); + paramAccessibilityNodeInfoCompat1.setFocused(paramAccessibilityNodeInfoCompat2.isFocused()); + paramAccessibilityNodeInfoCompat1.setAccessibilityFocused(paramAccessibilityNodeInfoCompat2.isAccessibilityFocused()); + paramAccessibilityNodeInfoCompat1.setSelected(paramAccessibilityNodeInfoCompat2.isSelected()); + paramAccessibilityNodeInfoCompat1.setLongClickable(paramAccessibilityNodeInfoCompat2.isLongClickable()); + paramAccessibilityNodeInfoCompat1.addAction(paramAccessibilityNodeInfoCompat2.getActions()); + } + + public boolean filter(View paramView) + { + View localView = DrawerLayout.this.findOpenDrawer(); + return (localView != null) && (localView != paramView); + } + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + AccessibilityNodeInfoCompat localAccessibilityNodeInfoCompat = AccessibilityNodeInfoCompat.obtain(paramAccessibilityNodeInfoCompat); + super.onInitializeAccessibilityNodeInfo(paramView, localAccessibilityNodeInfoCompat); + paramAccessibilityNodeInfoCompat.setSource(paramView); + paramView = ViewCompat.getParentForAccessibility(paramView); + if ((paramView instanceof View)) { + paramAccessibilityNodeInfoCompat.setParent((View)paramView); + } + copyNodeInfoNoChildren(paramAccessibilityNodeInfoCompat, localAccessibilityNodeInfoCompat); + localAccessibilityNodeInfoCompat.recycle(); + int j = DrawerLayout.this.getChildCount(); + int i = 0; + while (i < j) + { + paramView = DrawerLayout.this.getChildAt(i); + if (!filter(paramView)) { + paramAccessibilityNodeInfoCompat.addChild(paramView); + } + i += 1; + } + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + if (!filter(paramView)) { + return super.onRequestSendAccessibilityEvent(paramViewGroup, paramView, paramAccessibilityEvent); + } + return false; + } + } + + public static abstract interface DrawerListener + { + public abstract void onDrawerClosed(View paramView); + + public abstract void onDrawerOpened(View paramView); + + public abstract void onDrawerSlide(View paramView, float paramFloat); + + public abstract void onDrawerStateChanged(int paramInt); + } + + public static class LayoutParams + extends ViewGroup.MarginLayoutParams + { + public int gravity = 0; + boolean isPeeking; + boolean knownOpen; + float onScreen; + + public LayoutParams(int paramInt1, int paramInt2) + { + super(paramInt2); + } + + public LayoutParams(int paramInt1, int paramInt2, int paramInt3) + { + this(paramInt1, paramInt2); + this.gravity = paramInt3; + } + + public LayoutParams(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramAttributeSet); + paramContext = paramContext.obtainStyledAttributes(paramAttributeSet, DrawerLayout.LAYOUT_ATTRS); + this.gravity = paramContext.getInt(0, 0); + paramContext.recycle(); + } + + public LayoutParams(LayoutParams paramLayoutParams) + { + super(); + this.gravity = paramLayoutParams.gravity; + } + + public LayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + super(); + } + + public LayoutParams(ViewGroup.MarginLayoutParams paramMarginLayoutParams) + { + super(); + } + } + + protected static class SavedState + extends View.BaseSavedState + { + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public DrawerLayout.SavedState createFromParcel(Parcel paramAnonymousParcel) + { + return new DrawerLayout.SavedState(paramAnonymousParcel); + } + + public DrawerLayout.SavedState[] newArray(int paramAnonymousInt) + { + return new DrawerLayout.SavedState[paramAnonymousInt]; + } + }; + int lockModeLeft = 0; + int lockModeRight = 0; + int openDrawerGravity = 0; + + public SavedState(Parcel paramParcel) + { + super(); + this.openDrawerGravity = paramParcel.readInt(); + } + + public SavedState(Parcelable paramParcelable) + { + super(); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + super.writeToParcel(paramParcel, paramInt); + paramParcel.writeInt(this.openDrawerGravity); + } + } + + public static abstract class SimpleDrawerListener + implements DrawerLayout.DrawerListener + { + public void onDrawerClosed(View paramView) {} + + public void onDrawerOpened(View paramView) {} + + public void onDrawerSlide(View paramView, float paramFloat) {} + + public void onDrawerStateChanged(int paramInt) {} + } + + private class ViewDragCallback + extends ViewDragHelper.Callback + { + private ViewDragHelper mDragger; + private final int mGravity; + private final Runnable mPeekRunnable = new Runnable() + { + public void run() + { + DrawerLayout.ViewDragCallback.this.peekDrawer(); + } + }; + + public ViewDragCallback(int paramInt) + { + this.mGravity = paramInt; + } + + private void closeOtherDrawer() + { + int i = 3; + if (this.mGravity == 3) { + i = 5; + } + View localView = DrawerLayout.this.findDrawerWithGravity(i); + if (localView != null) { + DrawerLayout.this.closeDrawer(localView); + } + } + + private void peekDrawer() + { + int j = 0; + int k = this.mDragger.getEdgeSize(); + int i; + View localView; + if (this.mGravity == 3) + { + i = 1; + if (i == 0) { + break label149; + } + localView = DrawerLayout.this.findDrawerWithGravity(3); + if (localView != null) { + j = -localView.getWidth(); + } + j += k; + } + for (;;) + { + if ((localView != null) && (((i != 0) && (localView.getLeft() < j)) || ((i == 0) && (localView.getLeft() > j) && (DrawerLayout.this.getDrawerLockMode(localView) == 0)))) + { + DrawerLayout.LayoutParams localLayoutParams = (DrawerLayout.LayoutParams)localView.getLayoutParams(); + this.mDragger.smoothSlideViewTo(localView, j, localView.getTop()); + localLayoutParams.isPeeking = true; + DrawerLayout.this.invalidate(); + closeOtherDrawer(); + DrawerLayout.this.cancelChildViewTouch(); + } + return; + i = 0; + break; + label149: + localView = DrawerLayout.this.findDrawerWithGravity(5); + j = DrawerLayout.this.getWidth() - k; + } + } + + public int clampViewPositionHorizontal(View paramView, int paramInt1, int paramInt2) + { + if (DrawerLayout.this.checkDrawerViewGravity(paramView, 3)) { + return Math.max(-paramView.getWidth(), Math.min(paramInt1, 0)); + } + paramInt2 = DrawerLayout.this.getWidth(); + return Math.max(paramInt2 - paramView.getWidth(), Math.min(paramInt1, paramInt2)); + } + + public int clampViewPositionVertical(View paramView, int paramInt1, int paramInt2) + { + return paramView.getTop(); + } + + public int getViewHorizontalDragRange(View paramView) + { + return paramView.getWidth(); + } + + public void onEdgeDragStarted(int paramInt1, int paramInt2) + { + if ((paramInt1 & 0x1) == 1) {} + for (View localView = DrawerLayout.this.findDrawerWithGravity(3);; localView = DrawerLayout.this.findDrawerWithGravity(5)) + { + if ((localView != null) && (DrawerLayout.this.getDrawerLockMode(localView) == 0)) { + this.mDragger.captureChildView(localView, paramInt2); + } + return; + } + } + + public boolean onEdgeLock(int paramInt) + { + return false; + } + + public void onEdgeTouched(int paramInt1, int paramInt2) + { + DrawerLayout.this.postDelayed(this.mPeekRunnable, 160L); + } + + public void onViewCaptured(View paramView, int paramInt) + { + ((DrawerLayout.LayoutParams)paramView.getLayoutParams()).isPeeking = false; + closeOtherDrawer(); + } + + public void onViewDragStateChanged(int paramInt) + { + DrawerLayout.this.updateDrawerState(this.mGravity, paramInt, this.mDragger.getCapturedView()); + } + + public void onViewPositionChanged(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramInt2 = paramView.getWidth(); + float f; + if (DrawerLayout.this.checkDrawerViewGravity(paramView, 3)) + { + f = (paramInt2 + paramInt1) / paramInt2; + DrawerLayout.this.setDrawerViewOffset(paramView, f); + if (f != 0.0F) { + break label76; + } + } + label76: + for (paramInt1 = 4;; paramInt1 = 0) + { + paramView.setVisibility(paramInt1); + DrawerLayout.this.invalidate(); + return; + f = (DrawerLayout.this.getWidth() - paramInt1) / paramInt2; + break; + } + } + + public void onViewReleased(View paramView, float paramFloat1, float paramFloat2) + { + paramFloat2 = DrawerLayout.this.getDrawerViewOffset(paramView); + int j = paramView.getWidth(); + if (DrawerLayout.this.checkDrawerViewGravity(paramView, 3)) + { + if ((paramFloat1 > 0.0F) || ((paramFloat1 == 0.0F) && (paramFloat2 > 0.5F))) {} + for (i = 0;; i = -j) + { + this.mDragger.settleCapturedViewAt(i, paramView.getTop()); + DrawerLayout.this.invalidate(); + return; + } + } + int i = DrawerLayout.this.getWidth(); + if ((paramFloat1 < 0.0F) || ((paramFloat1 == 0.0F) && (paramFloat2 < 0.5F))) { + i -= j; + } + for (;;) + { + break; + } + } + + public void removeCallbacks() + { + DrawerLayout.this.removeCallbacks(this.mPeekRunnable); + } + + public void setDragger(ViewDragHelper paramViewDragHelper) + { + this.mDragger = paramViewDragHelper; + } + + public boolean tryCaptureView(View paramView, int paramInt) + { + return (DrawerLayout.this.isDrawerView(paramView)) && (DrawerLayout.this.checkDrawerViewGravity(paramView, this.mGravity)) && (DrawerLayout.this.getDrawerLockMode(paramView) == 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.DrawerLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompat.java b/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompat.java new file mode 100755 index 00000000000..8870f5b51f2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompat.java @@ -0,0 +1,167 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.graphics.Canvas; +import android.os.Build.VERSION; + +public class EdgeEffectCompat +{ + private static final EdgeEffectImpl IMPL = new BaseEdgeEffectImpl(); + private Object mEdgeEffect; + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new EdgeEffectIcsImpl(); + return; + } + } + + public EdgeEffectCompat(Context paramContext) + { + this.mEdgeEffect = IMPL.newEdgeEffect(paramContext); + } + + public boolean draw(Canvas paramCanvas) + { + return IMPL.draw(this.mEdgeEffect, paramCanvas); + } + + public void finish() + { + IMPL.finish(this.mEdgeEffect); + } + + public boolean isFinished() + { + return IMPL.isFinished(this.mEdgeEffect); + } + + public boolean onAbsorb(int paramInt) + { + return IMPL.onAbsorb(this.mEdgeEffect, paramInt); + } + + public boolean onPull(float paramFloat) + { + return IMPL.onPull(this.mEdgeEffect, paramFloat); + } + + public boolean onRelease() + { + return IMPL.onRelease(this.mEdgeEffect); + } + + public void setSize(int paramInt1, int paramInt2) + { + IMPL.setSize(this.mEdgeEffect, paramInt1, paramInt2); + } + + static class BaseEdgeEffectImpl + implements EdgeEffectCompat.EdgeEffectImpl + { + public boolean draw(Object paramObject, Canvas paramCanvas) + { + return false; + } + + public void finish(Object paramObject) {} + + public boolean isFinished(Object paramObject) + { + return true; + } + + public Object newEdgeEffect(Context paramContext) + { + return null; + } + + public boolean onAbsorb(Object paramObject, int paramInt) + { + return false; + } + + public boolean onPull(Object paramObject, float paramFloat) + { + return false; + } + + public boolean onRelease(Object paramObject) + { + return false; + } + + public void setSize(Object paramObject, int paramInt1, int paramInt2) {} + } + + static class EdgeEffectIcsImpl + implements EdgeEffectCompat.EdgeEffectImpl + { + public boolean draw(Object paramObject, Canvas paramCanvas) + { + return EdgeEffectCompatIcs.draw(paramObject, paramCanvas); + } + + public void finish(Object paramObject) + { + EdgeEffectCompatIcs.finish(paramObject); + } + + public boolean isFinished(Object paramObject) + { + return EdgeEffectCompatIcs.isFinished(paramObject); + } + + public Object newEdgeEffect(Context paramContext) + { + return EdgeEffectCompatIcs.newEdgeEffect(paramContext); + } + + public boolean onAbsorb(Object paramObject, int paramInt) + { + return EdgeEffectCompatIcs.onAbsorb(paramObject, paramInt); + } + + public boolean onPull(Object paramObject, float paramFloat) + { + return EdgeEffectCompatIcs.onPull(paramObject, paramFloat); + } + + public boolean onRelease(Object paramObject) + { + return EdgeEffectCompatIcs.onRelease(paramObject); + } + + public void setSize(Object paramObject, int paramInt1, int paramInt2) + { + EdgeEffectCompatIcs.setSize(paramObject, paramInt1, paramInt2); + } + } + + static abstract interface EdgeEffectImpl + { + public abstract boolean draw(Object paramObject, Canvas paramCanvas); + + public abstract void finish(Object paramObject); + + public abstract boolean isFinished(Object paramObject); + + public abstract Object newEdgeEffect(Context paramContext); + + public abstract boolean onAbsorb(Object paramObject, int paramInt); + + public abstract boolean onPull(Object paramObject, float paramFloat); + + public abstract boolean onRelease(Object paramObject); + + public abstract void setSize(Object paramObject, int paramInt1, int paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.EdgeEffectCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompatIcs.java new file mode 100755 index 00000000000..7b027289de3 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/EdgeEffectCompatIcs.java @@ -0,0 +1,58 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.graphics.Canvas; +import android.widget.EdgeEffect; + +class EdgeEffectCompatIcs +{ + public static boolean draw(Object paramObject, Canvas paramCanvas) + { + return ((EdgeEffect)paramObject).draw(paramCanvas); + } + + public static void finish(Object paramObject) + { + ((EdgeEffect)paramObject).finish(); + } + + public static boolean isFinished(Object paramObject) + { + return ((EdgeEffect)paramObject).isFinished(); + } + + public static Object newEdgeEffect(Context paramContext) + { + return new EdgeEffect(paramContext); + } + + public static boolean onAbsorb(Object paramObject, int paramInt) + { + ((EdgeEffect)paramObject).onAbsorb(paramInt); + return true; + } + + public static boolean onPull(Object paramObject, float paramFloat) + { + ((EdgeEffect)paramObject).onPull(paramFloat); + return true; + } + + public static boolean onRelease(Object paramObject) + { + paramObject = (EdgeEffect)paramObject; + paramObject.onRelease(); + return paramObject.isFinished(); + } + + public static void setSize(Object paramObject, int paramInt1, int paramInt2) + { + ((EdgeEffect)paramObject).setSize(paramInt1, paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.EdgeEffectCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/ResourceCursorAdapter.java b/com.tencent.token/classes.jar/android/support/v4/widget/ResourceCursorAdapter.java new file mode 100755 index 00000000000..4a6ba16f656 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/ResourceCursorAdapter.java @@ -0,0 +1,66 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.database.Cursor; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public abstract class ResourceCursorAdapter + extends CursorAdapter +{ + private int mDropDownLayout; + private LayoutInflater mInflater; + private int mLayout; + + @Deprecated + public ResourceCursorAdapter(Context paramContext, int paramInt, Cursor paramCursor) + { + super(paramContext, paramCursor); + this.mDropDownLayout = paramInt; + this.mLayout = paramInt; + this.mInflater = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + } + + public ResourceCursorAdapter(Context paramContext, int paramInt1, Cursor paramCursor, int paramInt2) + { + super(paramContext, paramCursor, paramInt2); + this.mDropDownLayout = paramInt1; + this.mLayout = paramInt1; + this.mInflater = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + } + + public ResourceCursorAdapter(Context paramContext, int paramInt, Cursor paramCursor, boolean paramBoolean) + { + super(paramContext, paramCursor, paramBoolean); + this.mDropDownLayout = paramInt; + this.mLayout = paramInt; + this.mInflater = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + } + + public View newDropDownView(Context paramContext, Cursor paramCursor, ViewGroup paramViewGroup) + { + return this.mInflater.inflate(this.mDropDownLayout, paramViewGroup, false); + } + + public View newView(Context paramContext, Cursor paramCursor, ViewGroup paramViewGroup) + { + return this.mInflater.inflate(this.mLayout, paramViewGroup, false); + } + + public void setDropDownViewResource(int paramInt) + { + this.mDropDownLayout = paramInt; + } + + public void setViewResource(int paramInt) + { + this.mLayout = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.ResourceCursorAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompat.java b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompat.java new file mode 100755 index 00000000000..7522291dcb9 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompat.java @@ -0,0 +1,332 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.os.Build.VERSION; +import android.view.animation.Interpolator; +import android.widget.Scroller; + +public class ScrollerCompat +{ + static final ScrollerCompatImpl IMPL = new ScrollerCompatImplBase(); + Object mScroller; + + static + { + int i = Build.VERSION.SDK_INT; + if (i >= 14) + { + IMPL = new ScrollerCompatImplIcs(); + return; + } + if (i >= 9) + { + IMPL = new ScrollerCompatImplGingerbread(); + return; + } + } + + ScrollerCompat(Context paramContext, Interpolator paramInterpolator) + { + this.mScroller = IMPL.createScroller(paramContext, paramInterpolator); + } + + public static ScrollerCompat create(Context paramContext) + { + return create(paramContext, null); + } + + public static ScrollerCompat create(Context paramContext, Interpolator paramInterpolator) + { + return new ScrollerCompat(paramContext, paramInterpolator); + } + + public void abortAnimation() + { + IMPL.abortAnimation(this.mScroller); + } + + public boolean computeScrollOffset() + { + return IMPL.computeScrollOffset(this.mScroller); + } + + public void fling(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8) + { + IMPL.fling(this.mScroller, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + } + + public void fling(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10) + { + IMPL.fling(this.mScroller, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8, paramInt9, paramInt10); + } + + public float getCurrVelocity() + { + return IMPL.getCurrVelocity(this.mScroller); + } + + public int getCurrX() + { + return IMPL.getCurrX(this.mScroller); + } + + public int getCurrY() + { + return IMPL.getCurrY(this.mScroller); + } + + public int getFinalX() + { + return IMPL.getFinalX(this.mScroller); + } + + public int getFinalY() + { + return IMPL.getFinalY(this.mScroller); + } + + public boolean isFinished() + { + return IMPL.isFinished(this.mScroller); + } + + public boolean isOverScrolled() + { + return IMPL.isOverScrolled(this.mScroller); + } + + public void notifyHorizontalEdgeReached(int paramInt1, int paramInt2, int paramInt3) + { + IMPL.notifyHorizontalEdgeReached(this.mScroller, paramInt1, paramInt2, paramInt3); + } + + public void notifyVerticalEdgeReached(int paramInt1, int paramInt2, int paramInt3) + { + IMPL.notifyVerticalEdgeReached(this.mScroller, paramInt1, paramInt2, paramInt3); + } + + public void startScroll(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + IMPL.startScroll(this.mScroller, paramInt1, paramInt2, paramInt3, paramInt4); + } + + public void startScroll(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5) + { + IMPL.startScroll(this.mScroller, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5); + } + + static abstract interface ScrollerCompatImpl + { + public abstract void abortAnimation(Object paramObject); + + public abstract boolean computeScrollOffset(Object paramObject); + + public abstract Object createScroller(Context paramContext, Interpolator paramInterpolator); + + public abstract void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8); + + public abstract void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10); + + public abstract float getCurrVelocity(Object paramObject); + + public abstract int getCurrX(Object paramObject); + + public abstract int getCurrY(Object paramObject); + + public abstract int getFinalX(Object paramObject); + + public abstract int getFinalY(Object paramObject); + + public abstract boolean isFinished(Object paramObject); + + public abstract boolean isOverScrolled(Object paramObject); + + public abstract void notifyHorizontalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3); + + public abstract void notifyVerticalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3); + + public abstract void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4); + + public abstract void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5); + } + + static class ScrollerCompatImplBase + implements ScrollerCompat.ScrollerCompatImpl + { + public void abortAnimation(Object paramObject) + { + ((Scroller)paramObject).abortAnimation(); + } + + public boolean computeScrollOffset(Object paramObject) + { + return ((Scroller)paramObject).computeScrollOffset(); + } + + public Object createScroller(Context paramContext, Interpolator paramInterpolator) + { + if (paramInterpolator != null) { + return new Scroller(paramContext, paramInterpolator); + } + return new Scroller(paramContext); + } + + public void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8) + { + ((Scroller)paramObject).fling(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + } + + public void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10) + { + ((Scroller)paramObject).fling(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + } + + public float getCurrVelocity(Object paramObject) + { + return 0.0F; + } + + public int getCurrX(Object paramObject) + { + return ((Scroller)paramObject).getCurrX(); + } + + public int getCurrY(Object paramObject) + { + return ((Scroller)paramObject).getCurrY(); + } + + public int getFinalX(Object paramObject) + { + return ((Scroller)paramObject).getFinalX(); + } + + public int getFinalY(Object paramObject) + { + return ((Scroller)paramObject).getFinalY(); + } + + public boolean isFinished(Object paramObject) + { + return ((Scroller)paramObject).isFinished(); + } + + public boolean isOverScrolled(Object paramObject) + { + return false; + } + + public void notifyHorizontalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) {} + + public void notifyVerticalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) {} + + public void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + ((Scroller)paramObject).startScroll(paramInt1, paramInt2, paramInt3, paramInt4); + } + + public void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5) + { + ((Scroller)paramObject).startScroll(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5); + } + } + + static class ScrollerCompatImplGingerbread + implements ScrollerCompat.ScrollerCompatImpl + { + public void abortAnimation(Object paramObject) + { + ScrollerCompatGingerbread.abortAnimation(paramObject); + } + + public boolean computeScrollOffset(Object paramObject) + { + return ScrollerCompatGingerbread.computeScrollOffset(paramObject); + } + + public Object createScroller(Context paramContext, Interpolator paramInterpolator) + { + return ScrollerCompatGingerbread.createScroller(paramContext, paramInterpolator); + } + + public void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8) + { + ScrollerCompatGingerbread.fling(paramObject, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + } + + public void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10) + { + ScrollerCompatGingerbread.fling(paramObject, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8, paramInt9, paramInt10); + } + + public float getCurrVelocity(Object paramObject) + { + return 0.0F; + } + + public int getCurrX(Object paramObject) + { + return ScrollerCompatGingerbread.getCurrX(paramObject); + } + + public int getCurrY(Object paramObject) + { + return ScrollerCompatGingerbread.getCurrY(paramObject); + } + + public int getFinalX(Object paramObject) + { + return ScrollerCompatGingerbread.getFinalX(paramObject); + } + + public int getFinalY(Object paramObject) + { + return ScrollerCompatGingerbread.getFinalY(paramObject); + } + + public boolean isFinished(Object paramObject) + { + return ScrollerCompatGingerbread.isFinished(paramObject); + } + + public boolean isOverScrolled(Object paramObject) + { + return ScrollerCompatGingerbread.isOverScrolled(paramObject); + } + + public void notifyHorizontalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) + { + ScrollerCompatGingerbread.notifyHorizontalEdgeReached(paramObject, paramInt1, paramInt2, paramInt3); + } + + public void notifyVerticalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) + { + ScrollerCompatGingerbread.notifyVerticalEdgeReached(paramObject, paramInt1, paramInt2, paramInt3); + } + + public void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + ScrollerCompatGingerbread.startScroll(paramObject, paramInt1, paramInt2, paramInt3, paramInt4); + } + + public void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5) + { + ScrollerCompatGingerbread.startScroll(paramObject, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5); + } + } + + static class ScrollerCompatImplIcs + extends ScrollerCompat.ScrollerCompatImplGingerbread + { + public float getCurrVelocity(Object paramObject) + { + return ScrollerCompatIcs.getCurrVelocity(paramObject); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.ScrollerCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatGingerbread.java b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatGingerbread.java new file mode 100755 index 00000000000..1a3075520ea --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatGingerbread.java @@ -0,0 +1,92 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.view.animation.Interpolator; +import android.widget.OverScroller; + +class ScrollerCompatGingerbread +{ + public static void abortAnimation(Object paramObject) + { + ((OverScroller)paramObject).abortAnimation(); + } + + public static boolean computeScrollOffset(Object paramObject) + { + return ((OverScroller)paramObject).computeScrollOffset(); + } + + public static Object createScroller(Context paramContext, Interpolator paramInterpolator) + { + if (paramInterpolator != null) { + return new OverScroller(paramContext, paramInterpolator); + } + return new OverScroller(paramContext); + } + + public static void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8) + { + ((OverScroller)paramObject).fling(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + } + + public static void fling(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10) + { + ((OverScroller)paramObject).fling(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8, paramInt9, paramInt10); + } + + public static int getCurrX(Object paramObject) + { + return ((OverScroller)paramObject).getCurrX(); + } + + public static int getCurrY(Object paramObject) + { + return ((OverScroller)paramObject).getCurrY(); + } + + public static int getFinalX(Object paramObject) + { + return ((OverScroller)paramObject).getFinalX(); + } + + public static int getFinalY(Object paramObject) + { + return ((OverScroller)paramObject).getFinalY(); + } + + public static boolean isFinished(Object paramObject) + { + return ((OverScroller)paramObject).isFinished(); + } + + public static boolean isOverScrolled(Object paramObject) + { + return ((OverScroller)paramObject).isOverScrolled(); + } + + public static void notifyHorizontalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) + { + ((OverScroller)paramObject).notifyHorizontalEdgeReached(paramInt1, paramInt2, paramInt3); + } + + public static void notifyVerticalEdgeReached(Object paramObject, int paramInt1, int paramInt2, int paramInt3) + { + ((OverScroller)paramObject).notifyVerticalEdgeReached(paramInt1, paramInt2, paramInt3); + } + + public static void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + ((OverScroller)paramObject).startScroll(paramInt1, paramInt2, paramInt3, paramInt4); + } + + public static void startScroll(Object paramObject, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5) + { + ((OverScroller)paramObject).startScroll(paramInt1, paramInt2, paramInt3, paramInt4, paramInt5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.ScrollerCompatGingerbread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatIcs.java new file mode 100755 index 00000000000..788211e6b5b --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/ScrollerCompatIcs.java @@ -0,0 +1,17 @@ +package android.support.v4.widget; + +import android.widget.OverScroller; + +class ScrollerCompatIcs +{ + public static float getCurrVelocity(Object paramObject) + { + return ((OverScroller)paramObject).getCurrVelocity(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.ScrollerCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompat.java b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompat.java new file mode 100755 index 00000000000..6bc23a0765f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompat.java @@ -0,0 +1,358 @@ +package android.support.v4.widget; + +import android.content.ComponentName; +import android.content.Context; +import android.os.Build.VERSION; +import android.view.View; + +public class SearchViewCompat +{ + private static final SearchViewCompatImpl IMPL = new SearchViewCompatStubImpl(); + + static + { + if (Build.VERSION.SDK_INT >= 14) + { + IMPL = new SearchViewCompatIcsImpl(); + return; + } + if (Build.VERSION.SDK_INT >= 11) + { + IMPL = new SearchViewCompatHoneycombImpl(); + return; + } + } + + private SearchViewCompat(Context paramContext) {} + + public static CharSequence getQuery(View paramView) + { + return IMPL.getQuery(paramView); + } + + public static boolean isIconified(View paramView) + { + return IMPL.isIconified(paramView); + } + + public static boolean isQueryRefinementEnabled(View paramView) + { + return IMPL.isQueryRefinementEnabled(paramView); + } + + public static boolean isSubmitButtonEnabled(View paramView) + { + return IMPL.isSubmitButtonEnabled(paramView); + } + + public static View newSearchView(Context paramContext) + { + return IMPL.newSearchView(paramContext); + } + + public static void setIconified(View paramView, boolean paramBoolean) + { + IMPL.setIconified(paramView, paramBoolean); + } + + public static void setImeOptions(View paramView, int paramInt) + { + IMPL.setImeOptions(paramView, paramInt); + } + + public static void setInputType(View paramView, int paramInt) + { + IMPL.setInputType(paramView, paramInt); + } + + public static void setMaxWidth(View paramView, int paramInt) + { + IMPL.setMaxWidth(paramView, paramInt); + } + + public static void setOnCloseListener(View paramView, OnCloseListenerCompat paramOnCloseListenerCompat) + { + IMPL.setOnCloseListener(paramView, paramOnCloseListenerCompat.mListener); + } + + public static void setOnQueryTextListener(View paramView, OnQueryTextListenerCompat paramOnQueryTextListenerCompat) + { + IMPL.setOnQueryTextListener(paramView, paramOnQueryTextListenerCompat.mListener); + } + + public static void setQuery(View paramView, CharSequence paramCharSequence, boolean paramBoolean) + { + IMPL.setQuery(paramView, paramCharSequence, paramBoolean); + } + + public static void setQueryHint(View paramView, CharSequence paramCharSequence) + { + IMPL.setQueryHint(paramView, paramCharSequence); + } + + public static void setQueryRefinementEnabled(View paramView, boolean paramBoolean) + { + IMPL.setQueryRefinementEnabled(paramView, paramBoolean); + } + + public static void setSearchableInfo(View paramView, ComponentName paramComponentName) + { + IMPL.setSearchableInfo(paramView, paramComponentName); + } + + public static void setSubmitButtonEnabled(View paramView, boolean paramBoolean) + { + IMPL.setSubmitButtonEnabled(paramView, paramBoolean); + } + + public static abstract class OnCloseListenerCompat + { + final Object mListener = SearchViewCompat.IMPL.newOnCloseListener(this); + + public boolean onClose() + { + return false; + } + } + + public static abstract class OnQueryTextListenerCompat + { + final Object mListener = SearchViewCompat.IMPL.newOnQueryTextListener(this); + + public boolean onQueryTextChange(String paramString) + { + return false; + } + + public boolean onQueryTextSubmit(String paramString) + { + return false; + } + } + + static class SearchViewCompatHoneycombImpl + extends SearchViewCompat.SearchViewCompatStubImpl + { + public CharSequence getQuery(View paramView) + { + return SearchViewCompatHoneycomb.getQuery(paramView); + } + + public boolean isIconified(View paramView) + { + return SearchViewCompatHoneycomb.isIconified(paramView); + } + + public boolean isQueryRefinementEnabled(View paramView) + { + return SearchViewCompatHoneycomb.isQueryRefinementEnabled(paramView); + } + + public boolean isSubmitButtonEnabled(View paramView) + { + return SearchViewCompatHoneycomb.isSubmitButtonEnabled(paramView); + } + + public Object newOnCloseListener(final SearchViewCompat.OnCloseListenerCompat paramOnCloseListenerCompat) + { + SearchViewCompatHoneycomb.newOnCloseListener(new SearchViewCompatHoneycomb.OnCloseListenerCompatBridge() + { + public boolean onClose() + { + return paramOnCloseListenerCompat.onClose(); + } + }); + } + + public Object newOnQueryTextListener(final SearchViewCompat.OnQueryTextListenerCompat paramOnQueryTextListenerCompat) + { + SearchViewCompatHoneycomb.newOnQueryTextListener(new SearchViewCompatHoneycomb.OnQueryTextListenerCompatBridge() + { + public boolean onQueryTextChange(String paramAnonymousString) + { + return paramOnQueryTextListenerCompat.onQueryTextChange(paramAnonymousString); + } + + public boolean onQueryTextSubmit(String paramAnonymousString) + { + return paramOnQueryTextListenerCompat.onQueryTextSubmit(paramAnonymousString); + } + }); + } + + public View newSearchView(Context paramContext) + { + return SearchViewCompatHoneycomb.newSearchView(paramContext); + } + + public void setIconified(View paramView, boolean paramBoolean) + { + SearchViewCompatHoneycomb.setIconified(paramView, paramBoolean); + } + + public void setMaxWidth(View paramView, int paramInt) + { + SearchViewCompatHoneycomb.setMaxWidth(paramView, paramInt); + } + + public void setOnCloseListener(Object paramObject1, Object paramObject2) + { + SearchViewCompatHoneycomb.setOnCloseListener(paramObject1, paramObject2); + } + + public void setOnQueryTextListener(Object paramObject1, Object paramObject2) + { + SearchViewCompatHoneycomb.setOnQueryTextListener(paramObject1, paramObject2); + } + + public void setQuery(View paramView, CharSequence paramCharSequence, boolean paramBoolean) + { + SearchViewCompatHoneycomb.setQuery(paramView, paramCharSequence, paramBoolean); + } + + public void setQueryHint(View paramView, CharSequence paramCharSequence) + { + SearchViewCompatHoneycomb.setQueryHint(paramView, paramCharSequence); + } + + public void setQueryRefinementEnabled(View paramView, boolean paramBoolean) + { + SearchViewCompatHoneycomb.setQueryRefinementEnabled(paramView, paramBoolean); + } + + public void setSearchableInfo(View paramView, ComponentName paramComponentName) + { + SearchViewCompatHoneycomb.setSearchableInfo(paramView, paramComponentName); + } + + public void setSubmitButtonEnabled(View paramView, boolean paramBoolean) + { + SearchViewCompatHoneycomb.setSubmitButtonEnabled(paramView, paramBoolean); + } + } + + static class SearchViewCompatIcsImpl + extends SearchViewCompat.SearchViewCompatHoneycombImpl + { + public View newSearchView(Context paramContext) + { + return SearchViewCompatIcs.newSearchView(paramContext); + } + + public void setImeOptions(View paramView, int paramInt) + { + SearchViewCompatIcs.setImeOptions(paramView, paramInt); + } + + public void setInputType(View paramView, int paramInt) + { + SearchViewCompatIcs.setInputType(paramView, paramInt); + } + } + + static abstract interface SearchViewCompatImpl + { + public abstract CharSequence getQuery(View paramView); + + public abstract boolean isIconified(View paramView); + + public abstract boolean isQueryRefinementEnabled(View paramView); + + public abstract boolean isSubmitButtonEnabled(View paramView); + + public abstract Object newOnCloseListener(SearchViewCompat.OnCloseListenerCompat paramOnCloseListenerCompat); + + public abstract Object newOnQueryTextListener(SearchViewCompat.OnQueryTextListenerCompat paramOnQueryTextListenerCompat); + + public abstract View newSearchView(Context paramContext); + + public abstract void setIconified(View paramView, boolean paramBoolean); + + public abstract void setImeOptions(View paramView, int paramInt); + + public abstract void setInputType(View paramView, int paramInt); + + public abstract void setMaxWidth(View paramView, int paramInt); + + public abstract void setOnCloseListener(Object paramObject1, Object paramObject2); + + public abstract void setOnQueryTextListener(Object paramObject1, Object paramObject2); + + public abstract void setQuery(View paramView, CharSequence paramCharSequence, boolean paramBoolean); + + public abstract void setQueryHint(View paramView, CharSequence paramCharSequence); + + public abstract void setQueryRefinementEnabled(View paramView, boolean paramBoolean); + + public abstract void setSearchableInfo(View paramView, ComponentName paramComponentName); + + public abstract void setSubmitButtonEnabled(View paramView, boolean paramBoolean); + } + + static class SearchViewCompatStubImpl + implements SearchViewCompat.SearchViewCompatImpl + { + public CharSequence getQuery(View paramView) + { + return null; + } + + public boolean isIconified(View paramView) + { + return true; + } + + public boolean isQueryRefinementEnabled(View paramView) + { + return false; + } + + public boolean isSubmitButtonEnabled(View paramView) + { + return false; + } + + public Object newOnCloseListener(SearchViewCompat.OnCloseListenerCompat paramOnCloseListenerCompat) + { + return null; + } + + public Object newOnQueryTextListener(SearchViewCompat.OnQueryTextListenerCompat paramOnQueryTextListenerCompat) + { + return null; + } + + public View newSearchView(Context paramContext) + { + return null; + } + + public void setIconified(View paramView, boolean paramBoolean) {} + + public void setImeOptions(View paramView, int paramInt) {} + + public void setInputType(View paramView, int paramInt) {} + + public void setMaxWidth(View paramView, int paramInt) {} + + public void setOnCloseListener(Object paramObject1, Object paramObject2) {} + + public void setOnQueryTextListener(Object paramObject1, Object paramObject2) {} + + public void setQuery(View paramView, CharSequence paramCharSequence, boolean paramBoolean) {} + + public void setQueryHint(View paramView, CharSequence paramCharSequence) {} + + public void setQueryRefinementEnabled(View paramView, boolean paramBoolean) {} + + public void setSearchableInfo(View paramView, ComponentName paramComponentName) {} + + public void setSubmitButtonEnabled(View paramView, boolean paramBoolean) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.SearchViewCompat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatHoneycomb.java b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatHoneycomb.java new file mode 100755 index 00000000000..53d857ae166 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatHoneycomb.java @@ -0,0 +1,128 @@ +package android.support.v4.widget; + +import android.app.SearchManager; +import android.content.ComponentName; +import android.content.Context; +import android.view.View; +import android.widget.SearchView; +import android.widget.SearchView.OnCloseListener; +import android.widget.SearchView.OnQueryTextListener; + +class SearchViewCompatHoneycomb +{ + public static CharSequence getQuery(View paramView) + { + return ((SearchView)paramView).getQuery(); + } + + public static boolean isIconified(View paramView) + { + return ((SearchView)paramView).isIconified(); + } + + public static boolean isQueryRefinementEnabled(View paramView) + { + return ((SearchView)paramView).isQueryRefinementEnabled(); + } + + public static boolean isSubmitButtonEnabled(View paramView) + { + return ((SearchView)paramView).isSubmitButtonEnabled(); + } + + public static Object newOnCloseListener(OnCloseListenerCompatBridge paramOnCloseListenerCompatBridge) + { + new SearchView.OnCloseListener() + { + public boolean onClose() + { + return this.val$listener.onClose(); + } + }; + } + + public static Object newOnQueryTextListener(OnQueryTextListenerCompatBridge paramOnQueryTextListenerCompatBridge) + { + new SearchView.OnQueryTextListener() + { + public boolean onQueryTextChange(String paramAnonymousString) + { + return this.val$listener.onQueryTextChange(paramAnonymousString); + } + + public boolean onQueryTextSubmit(String paramAnonymousString) + { + return this.val$listener.onQueryTextSubmit(paramAnonymousString); + } + }; + } + + public static View newSearchView(Context paramContext) + { + return new SearchView(paramContext); + } + + public static void setIconified(View paramView, boolean paramBoolean) + { + ((SearchView)paramView).setIconified(paramBoolean); + } + + public static void setMaxWidth(View paramView, int paramInt) + { + ((SearchView)paramView).setMaxWidth(paramInt); + } + + public static void setOnCloseListener(Object paramObject1, Object paramObject2) + { + ((SearchView)paramObject1).setOnCloseListener((SearchView.OnCloseListener)paramObject2); + } + + public static void setOnQueryTextListener(Object paramObject1, Object paramObject2) + { + ((SearchView)paramObject1).setOnQueryTextListener((SearchView.OnQueryTextListener)paramObject2); + } + + public static void setQuery(View paramView, CharSequence paramCharSequence, boolean paramBoolean) + { + ((SearchView)paramView).setQuery(paramCharSequence, paramBoolean); + } + + public static void setQueryHint(View paramView, CharSequence paramCharSequence) + { + ((SearchView)paramView).setQueryHint(paramCharSequence); + } + + public static void setQueryRefinementEnabled(View paramView, boolean paramBoolean) + { + ((SearchView)paramView).setQueryRefinementEnabled(paramBoolean); + } + + public static void setSearchableInfo(View paramView, ComponentName paramComponentName) + { + paramView = (SearchView)paramView; + paramView.setSearchableInfo(((SearchManager)paramView.getContext().getSystemService("search")).getSearchableInfo(paramComponentName)); + } + + public static void setSubmitButtonEnabled(View paramView, boolean paramBoolean) + { + ((SearchView)paramView).setSubmitButtonEnabled(paramBoolean); + } + + static abstract interface OnCloseListenerCompatBridge + { + public abstract boolean onClose(); + } + + static abstract interface OnQueryTextListenerCompatBridge + { + public abstract boolean onQueryTextChange(String paramString); + + public abstract boolean onQueryTextSubmit(String paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.SearchViewCompatHoneycomb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatIcs.java b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatIcs.java new file mode 100755 index 00000000000..c1aa714bae5 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/SearchViewCompatIcs.java @@ -0,0 +1,44 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.view.View; +import android.widget.SearchView; + +class SearchViewCompatIcs +{ + public static View newSearchView(Context paramContext) + { + return new MySearchView(paramContext); + } + + public static void setImeOptions(View paramView, int paramInt) + { + ((SearchView)paramView).setImeOptions(paramInt); + } + + public static void setInputType(View paramView, int paramInt) + { + ((SearchView)paramView).setInputType(paramInt); + } + + public static class MySearchView + extends SearchView + { + public MySearchView(Context paramContext) + { + super(); + } + + public void onActionViewCollapsed() + { + setQuery("", false); + super.onActionViewCollapsed(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.SearchViewCompatIcs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/SimpleCursorAdapter.java b/com.tencent.token/classes.jar/android/support/v4/widget/SimpleCursorAdapter.java new file mode 100755 index 00000000000..7d70af23c8f --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/SimpleCursorAdapter.java @@ -0,0 +1,188 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +public class SimpleCursorAdapter + extends ResourceCursorAdapter +{ + private CursorToStringConverter mCursorToStringConverter; + protected int[] mFrom; + String[] mOriginalFrom; + private int mStringConversionColumn = -1; + protected int[] mTo; + private ViewBinder mViewBinder; + + @Deprecated + public SimpleCursorAdapter(Context paramContext, int paramInt, Cursor paramCursor, String[] paramArrayOfString, int[] paramArrayOfInt) + { + super(paramContext, paramInt, paramCursor); + this.mTo = paramArrayOfInt; + this.mOriginalFrom = paramArrayOfString; + findColumns(paramArrayOfString); + } + + public SimpleCursorAdapter(Context paramContext, int paramInt1, Cursor paramCursor, String[] paramArrayOfString, int[] paramArrayOfInt, int paramInt2) + { + super(paramContext, paramInt1, paramCursor, paramInt2); + this.mTo = paramArrayOfInt; + this.mOriginalFrom = paramArrayOfString; + findColumns(paramArrayOfString); + } + + private void findColumns(String[] paramArrayOfString) + { + if (this.mCursor != null) + { + int j = paramArrayOfString.length; + if ((this.mFrom == null) || (this.mFrom.length != j)) { + this.mFrom = new int[j]; + } + int i = 0; + while (i < j) + { + this.mFrom[i] = this.mCursor.getColumnIndexOrThrow(paramArrayOfString[i]); + i += 1; + } + } + this.mFrom = null; + } + + public void bindView(View paramView, Context paramContext, Cursor paramCursor) + { + ViewBinder localViewBinder = this.mViewBinder; + int j = this.mTo.length; + int[] arrayOfInt1 = this.mFrom; + int[] arrayOfInt2 = this.mTo; + int i = 0; + if (i < j) + { + View localView = paramView.findViewById(arrayOfInt2[i]); + if (localView != null) + { + boolean bool = false; + if (localViewBinder != null) { + bool = localViewBinder.setViewValue(localView, paramCursor, arrayOfInt1[i]); + } + if (!bool) + { + String str = paramCursor.getString(arrayOfInt1[i]); + paramContext = str; + if (str == null) { + paramContext = ""; + } + if (!(localView instanceof TextView)) { + break label132; + } + setViewText((TextView)localView, paramContext); + } + } + for (;;) + { + i += 1; + break; + label132: + if (!(localView instanceof ImageView)) { + break label153; + } + setViewImage((ImageView)localView, paramContext); + } + label153: + throw new IllegalStateException(localView.getClass().getName() + " is not a " + " view that can be bounds by this SimpleCursorAdapter"); + } + } + + public void changeCursorAndColumns(Cursor paramCursor, String[] paramArrayOfString, int[] paramArrayOfInt) + { + this.mOriginalFrom = paramArrayOfString; + this.mTo = paramArrayOfInt; + super.changeCursor(paramCursor); + findColumns(this.mOriginalFrom); + } + + public CharSequence convertToString(Cursor paramCursor) + { + if (this.mCursorToStringConverter != null) { + return this.mCursorToStringConverter.convertToString(paramCursor); + } + if (this.mStringConversionColumn > -1) { + return paramCursor.getString(this.mStringConversionColumn); + } + return super.convertToString(paramCursor); + } + + public CursorToStringConverter getCursorToStringConverter() + { + return this.mCursorToStringConverter; + } + + public int getStringConversionColumn() + { + return this.mStringConversionColumn; + } + + public ViewBinder getViewBinder() + { + return this.mViewBinder; + } + + public void setCursorToStringConverter(CursorToStringConverter paramCursorToStringConverter) + { + this.mCursorToStringConverter = paramCursorToStringConverter; + } + + public void setStringConversionColumn(int paramInt) + { + this.mStringConversionColumn = paramInt; + } + + public void setViewBinder(ViewBinder paramViewBinder) + { + this.mViewBinder = paramViewBinder; + } + + public void setViewImage(ImageView paramImageView, String paramString) + { + try + { + paramImageView.setImageResource(Integer.parseInt(paramString)); + return; + } + catch (NumberFormatException localNumberFormatException) + { + paramImageView.setImageURI(Uri.parse(paramString)); + } + } + + public void setViewText(TextView paramTextView, String paramString) + { + paramTextView.setText(paramString); + } + + public Cursor swapCursor(Cursor paramCursor) + { + paramCursor = super.swapCursor(paramCursor); + findColumns(this.mOriginalFrom); + return paramCursor; + } + + public static abstract interface CursorToStringConverter + { + public abstract CharSequence convertToString(Cursor paramCursor); + } + + public static abstract interface ViewBinder + { + public abstract boolean setViewValue(View paramView, Cursor paramCursor, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.SimpleCursorAdapter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/SlidingPaneLayout.java b/com.tencent.token/classes.jar/android/support/v4/widget/SlidingPaneLayout.java new file mode 100755 index 00000000000..7b6074366d2 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/SlidingPaneLayout.java @@ -0,0 +1,1418 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffColorFilter; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build.VERSION; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.support.v4.view.AccessibilityDelegateCompat; +import android.support.v4.view.MotionEventCompat; +import android.support.v4.view.ViewCompat; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.BaseSavedState; +import android.view.View.MeasureSpec; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.accessibility.AccessibilityEvent; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; + +public class SlidingPaneLayout + extends ViewGroup +{ + private static final int DEFAULT_FADE_COLOR = -858993460; + private static final int DEFAULT_OVERHANG_SIZE = 32; + static final SlidingPanelLayoutImpl IMPL = new SlidingPanelLayoutImplBase(); + private static final int MIN_FLING_VELOCITY = 400; + private static final String TAG = "SlidingPaneLayout"; + private boolean mCanSlide; + private int mCoveredFadeColor; + private final ViewDragHelper mDragHelper; + private boolean mFirstLayout = true; + private float mInitialMotionX; + private float mInitialMotionY; + private boolean mIsUnableToDrag; + private final int mOverhangSize; + private PanelSlideListener mPanelSlideListener; + private int mParallaxBy; + private float mParallaxOffset; + private final ArrayList mPostedRunnables = new ArrayList(); + private boolean mPreservedOpenState; + private Drawable mShadowDrawable; + private float mSlideOffset; + private int mSlideRange; + private View mSlideableView; + private int mSliderFadeColor = -858993460; + private final Rect mTmpRect = new Rect(); + + static + { + int i = Build.VERSION.SDK_INT; + if (i >= 17) + { + IMPL = new SlidingPanelLayoutImplJBMR1(); + return; + } + if (i >= 16) + { + IMPL = new SlidingPanelLayoutImplJB(); + return; + } + } + + public SlidingPaneLayout(Context paramContext) + { + this(paramContext, null); + } + + public SlidingPaneLayout(Context paramContext, AttributeSet paramAttributeSet) + { + this(paramContext, paramAttributeSet, 0); + } + + public SlidingPaneLayout(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + float f = paramContext.getResources().getDisplayMetrics().density; + this.mOverhangSize = ((int)(32.0F * f + 0.5F)); + ViewConfiguration.get(paramContext); + setWillNotDraw(false); + ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate()); + ViewCompat.setImportantForAccessibility(this, 1); + this.mDragHelper = ViewDragHelper.create(this, 0.5F, new DragHelperCallback(null)); + this.mDragHelper.setEdgeTrackingEnabled(1); + this.mDragHelper.setMinVelocity(400.0F * f); + } + + private boolean closePane(View paramView, int paramInt) + { + boolean bool = false; + if ((this.mFirstLayout) || (smoothSlideTo(0.0F, paramInt))) + { + this.mPreservedOpenState = false; + bool = true; + } + return bool; + } + + private void dimChildView(View paramView, float paramFloat, int paramInt) + { + LayoutParams localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + if ((paramFloat > 0.0F) && (paramInt != 0)) + { + i = (int)(((0xFF000000 & paramInt) >>> 24) * paramFloat); + if (localLayoutParams.dimPaint == null) { + localLayoutParams.dimPaint = new Paint(); + } + localLayoutParams.dimPaint.setColorFilter(new PorterDuffColorFilter(i << 24 | 0xFFFFFF & paramInt, PorterDuff.Mode.SRC_OVER)); + if (ViewCompat.getLayerType(paramView) != 2) { + ViewCompat.setLayerType(paramView, 2, localLayoutParams.dimPaint); + } + invalidateChildRegion(paramView); + } + while (ViewCompat.getLayerType(paramView) == 0) + { + int i; + return; + } + if (localLayoutParams.dimPaint != null) { + localLayoutParams.dimPaint.setColorFilter(null); + } + paramView = new DisableLayerRunnable(paramView); + this.mPostedRunnables.add(paramView); + ViewCompat.postOnAnimation(this, paramView); + } + + private static boolean hasOpaqueBackground(View paramView) + { + boolean bool2 = false; + paramView = paramView.getBackground(); + boolean bool1 = bool2; + if (paramView != null) + { + bool1 = bool2; + if (paramView.getOpacity() == -1) { + bool1 = true; + } + } + return bool1; + } + + private void invalidateChildRegion(View paramView) + { + IMPL.invalidateChildRegion(this, paramView); + } + + private void onPanelDragged(int paramInt) + { + LayoutParams localLayoutParams = (LayoutParams)this.mSlideableView.getLayoutParams(); + this.mSlideOffset = ((paramInt - (getPaddingLeft() + localLayoutParams.leftMargin)) / this.mSlideRange); + if (this.mParallaxBy != 0) { + parallaxOtherViews(this.mSlideOffset); + } + if (localLayoutParams.dimWhenOffset) { + dimChildView(this.mSlideableView, this.mSlideOffset, this.mSliderFadeColor); + } + dispatchOnPanelSlide(this.mSlideableView); + } + + private boolean openPane(View paramView, int paramInt) + { + if ((this.mFirstLayout) || (smoothSlideTo(1.0F, paramInt))) + { + this.mPreservedOpenState = true; + return true; + } + return false; + } + + private void parallaxOtherViews(float paramFloat) + { + Object localObject = (LayoutParams)this.mSlideableView.getLayoutParams(); + int i; + int j; + if ((((LayoutParams)localObject).dimWhenOffset) && (((LayoutParams)localObject).leftMargin <= 0)) + { + i = 1; + int k = getChildCount(); + j = 0; + label38: + if (j >= k) { + return; + } + localObject = getChildAt(j); + if (localObject != this.mSlideableView) { + break label72; + } + } + for (;;) + { + j += 1; + break label38; + i = 0; + break; + label72: + int m = (int)((1.0F - this.mParallaxOffset) * this.mParallaxBy); + this.mParallaxOffset = paramFloat; + ((View)localObject).offsetLeftAndRight(m - (int)((1.0F - paramFloat) * this.mParallaxBy)); + if (i != 0) { + dimChildView((View)localObject, 1.0F - this.mParallaxOffset, this.mCoveredFadeColor); + } + } + } + + protected boolean canScroll(View paramView, boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3) + { + if ((paramView instanceof ViewGroup)) + { + ViewGroup localViewGroup = (ViewGroup)paramView; + int j = paramView.getScrollX(); + int k = paramView.getScrollY(); + int i = localViewGroup.getChildCount() - 1; + while (i >= 0) + { + View localView = localViewGroup.getChildAt(i); + if ((paramInt2 + j >= localView.getLeft()) && (paramInt2 + j < localView.getRight()) && (paramInt3 + k >= localView.getTop()) && (paramInt3 + k < localView.getBottom()) && (canScroll(localView, true, paramInt1, paramInt2 + j - localView.getLeft(), paramInt3 + k - localView.getTop()))) { + return true; + } + i -= 1; + } + } + return (paramBoolean) && (ViewCompat.canScrollHorizontally(paramView, -paramInt1)); + } + + @Deprecated + public boolean canSlide() + { + return this.mCanSlide; + } + + protected boolean checkLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + return ((paramLayoutParams instanceof LayoutParams)) && (super.checkLayoutParams(paramLayoutParams)); + } + + public boolean closePane() + { + return closePane(this.mSlideableView, 0); + } + + public void computeScroll() + { + if (this.mDragHelper.continueSettling(true)) + { + if (!this.mCanSlide) { + this.mDragHelper.abort(); + } + } + else { + return; + } + ViewCompat.postInvalidateOnAnimation(this); + } + + void dispatchOnPanelClosed(View paramView) + { + if (this.mPanelSlideListener != null) { + this.mPanelSlideListener.onPanelClosed(paramView); + } + sendAccessibilityEvent(32); + } + + void dispatchOnPanelOpened(View paramView) + { + if (this.mPanelSlideListener != null) { + this.mPanelSlideListener.onPanelOpened(paramView); + } + sendAccessibilityEvent(32); + } + + void dispatchOnPanelSlide(View paramView) + { + if (this.mPanelSlideListener != null) { + this.mPanelSlideListener.onPanelSlide(paramView, this.mSlideOffset); + } + } + + public void draw(Canvas paramCanvas) + { + super.draw(paramCanvas); + if (getChildCount() > 1) {} + for (View localView = getChildAt(1); (localView == null) || (this.mShadowDrawable == null); localView = null) { + return; + } + int i = this.mShadowDrawable.getIntrinsicWidth(); + int j = localView.getLeft(); + int k = localView.getTop(); + int m = localView.getBottom(); + this.mShadowDrawable.setBounds(j - i, k, j, m); + this.mShadowDrawable.draw(paramCanvas); + } + + protected boolean drawChild(Canvas paramCanvas, View paramView, long paramLong) + { + LayoutParams localLayoutParams = (LayoutParams)paramView.getLayoutParams(); + int i = paramCanvas.save(2); + if ((this.mCanSlide) && (!localLayoutParams.slideable) && (this.mSlideableView != null)) + { + paramCanvas.getClipBounds(this.mTmpRect); + this.mTmpRect.right = Math.min(this.mTmpRect.right, this.mSlideableView.getLeft()); + paramCanvas.clipRect(this.mTmpRect); + } + boolean bool; + if (Build.VERSION.SDK_INT >= 11) { + bool = super.drawChild(paramCanvas, paramView, paramLong); + } + for (;;) + { + paramCanvas.restoreToCount(i); + return bool; + if ((localLayoutParams.dimWhenOffset) && (this.mSlideOffset > 0.0F)) + { + if (!paramView.isDrawingCacheEnabled()) { + paramView.setDrawingCacheEnabled(true); + } + Bitmap localBitmap = paramView.getDrawingCache(); + if (localBitmap != null) + { + paramCanvas.drawBitmap(localBitmap, paramView.getLeft(), paramView.getTop(), localLayoutParams.dimPaint); + bool = false; + } + else + { + Log.e("SlidingPaneLayout", "drawChild: child view " + paramView + " returned null drawing cache"); + bool = super.drawChild(paramCanvas, paramView, paramLong); + } + } + else + { + if (paramView.isDrawingCacheEnabled()) { + paramView.setDrawingCacheEnabled(false); + } + bool = super.drawChild(paramCanvas, paramView, paramLong); + } + } + } + + protected ViewGroup.LayoutParams generateDefaultLayoutParams() + { + return new LayoutParams(); + } + + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet paramAttributeSet) + { + return new LayoutParams(getContext(), paramAttributeSet); + } + + protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + if ((paramLayoutParams instanceof ViewGroup.MarginLayoutParams)) { + return new LayoutParams((ViewGroup.MarginLayoutParams)paramLayoutParams); + } + return new LayoutParams(paramLayoutParams); + } + + public int getCoveredFadeColor() + { + return this.mCoveredFadeColor; + } + + public int getParallaxDistance() + { + return this.mParallaxBy; + } + + public int getSliderFadeColor() + { + return this.mSliderFadeColor; + } + + boolean isDimmed(View paramView) + { + if (paramView == null) {} + do + { + return false; + paramView = (LayoutParams)paramView.getLayoutParams(); + } while ((!this.mCanSlide) || (!paramView.dimWhenOffset) || (this.mSlideOffset <= 0.0F)); + return true; + } + + public boolean isOpen() + { + return (!this.mCanSlide) || (this.mSlideOffset == 1.0F); + } + + public boolean isSlideable() + { + return this.mCanSlide; + } + + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + this.mFirstLayout = true; + } + + protected void onDetachedFromWindow() + { + super.onDetachedFromWindow(); + this.mFirstLayout = true; + int i = 0; + int j = this.mPostedRunnables.size(); + while (i < j) + { + ((DisableLayerRunnable)this.mPostedRunnables.get(i)).run(); + i += 1; + } + this.mPostedRunnables.clear(); + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int k = MotionEventCompat.getActionMasked(paramMotionEvent); + if ((!this.mCanSlide) && (k == 0) && (getChildCount() > 1)) + { + View localView = getChildAt(1); + if (localView != null) { + if (this.mDragHelper.isViewUnder(localView, (int)paramMotionEvent.getX(), (int)paramMotionEvent.getY())) { + break label101; + } + } + } + label101: + for (boolean bool = true;; bool = false) + { + this.mPreservedOpenState = bool; + if ((this.mCanSlide) && ((!this.mIsUnableToDrag) || (k == 0))) { + break; + } + this.mDragHelper.cancel(); + return super.onInterceptTouchEvent(paramMotionEvent); + } + if ((k == 3) || (k == 1)) + { + this.mDragHelper.cancel(); + return false; + } + int j = 0; + int i = j; + switch (k) + { + default: + i = j; + } + while ((this.mDragHelper.shouldInterceptTouchEvent(paramMotionEvent)) || (i != 0)) + { + return true; + this.mIsUnableToDrag = false; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + this.mInitialMotionX = f1; + this.mInitialMotionY = f2; + i = j; + if (this.mDragHelper.isViewUnder(this.mSlideableView, (int)f1, (int)f2)) + { + i = j; + if (isDimmed(this.mSlideableView)) + { + i = 1; + continue; + f2 = paramMotionEvent.getX(); + f1 = paramMotionEvent.getY(); + f2 = Math.abs(f2 - this.mInitialMotionX); + f1 = Math.abs(f1 - this.mInitialMotionY); + i = j; + if (f2 > this.mDragHelper.getTouchSlop()) + { + i = j; + if (f1 > f2) + { + this.mDragHelper.cancel(); + this.mIsUnableToDrag = true; + return false; + } + } + } + } + } + return false; + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int j = paramInt3 - paramInt1; + paramInt1 = getPaddingLeft(); + int k = getPaddingRight(); + int m = getPaddingTop(); + int i = getChildCount(); + paramInt3 = paramInt1; + if (this.mFirstLayout) { + if ((!this.mCanSlide) || (!this.mPreservedOpenState)) { + break label108; + } + } + View localView; + label108: + for (float f = 1.0F;; f = 0.0F) + { + this.mSlideOffset = f; + paramInt4 = 0; + paramInt2 = paramInt1; + paramInt1 = paramInt3; + paramInt3 = paramInt4; + for (;;) + { + if (paramInt3 >= i) { + break label318; + } + localView = getChildAt(paramInt3); + if (localView.getVisibility() != 8) { + break; + } + paramInt3 += 1; + } + } + LayoutParams localLayoutParams = (LayoutParams)localView.getLayoutParams(); + int n = localView.getMeasuredWidth(); + paramInt4 = 0; + if (localLayoutParams.slideable) + { + int i1 = localLayoutParams.leftMargin; + int i2 = localLayoutParams.rightMargin; + i1 = Math.min(paramInt1, j - k - this.mOverhangSize) - paramInt2 - (i1 + i2); + this.mSlideRange = i1; + if (localLayoutParams.leftMargin + paramInt2 + i1 + n / 2 > j - k) + { + paramBoolean = true; + label211: + localLayoutParams.dimWhenOffset = paramBoolean; + paramInt2 += (int)(i1 * this.mSlideOffset) + localLayoutParams.leftMargin; + } + } + for (;;) + { + paramInt4 = paramInt2 - paramInt4; + localView.layout(paramInt4, m, paramInt4 + n, m + localView.getMeasuredHeight()); + paramInt1 += localView.getWidth(); + break; + paramBoolean = false; + break label211; + if ((this.mCanSlide) && (this.mParallaxBy != 0)) + { + paramInt4 = (int)((1.0F - this.mSlideOffset) * this.mParallaxBy); + paramInt2 = paramInt1; + } + else + { + paramInt2 = paramInt1; + } + } + label318: + if (this.mFirstLayout) + { + if (!this.mCanSlide) { + break label393; + } + if (this.mParallaxBy != 0) { + parallaxOtherViews(this.mSlideOffset); + } + if (((LayoutParams)this.mSlideableView.getLayoutParams()).dimWhenOffset) { + dimChildView(this.mSlideableView, this.mSlideOffset, this.mSliderFadeColor); + } + } + for (;;) + { + updateObscuredViewsVisibility(this.mSlideableView); + this.mFirstLayout = false; + return; + label393: + paramInt1 = 0; + while (paramInt1 < i) + { + dimChildView(getChildAt(paramInt1), 0.0F, this.mSliderFadeColor); + paramInt1 += 1; + } + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + int i = View.MeasureSpec.getMode(paramInt1); + int i1 = View.MeasureSpec.getSize(paramInt1); + int i3 = View.MeasureSpec.getMode(paramInt2); + paramInt1 = View.MeasureSpec.getSize(paramInt2); + if (i != 1073741824) { + throw new IllegalStateException("Width must have an exact value or MATCH_PARENT"); + } + if (i3 == 0) { + throw new IllegalStateException("Height must not be UNSPECIFIED"); + } + i = 0; + paramInt2 = -1; + float f1; + boolean bool1; + int k; + int i2; + int m; + label140: + View localView; + LayoutParams localLayoutParams; + int n; + int j; + switch (i3) + { + default: + f1 = 0.0F; + bool1 = false; + k = i1 - getPaddingLeft() - getPaddingRight(); + i2 = getChildCount(); + if (i2 > 2) { + Log.e("SlidingPaneLayout", "onMeasure: More than two child views are not supported."); + } + this.mSlideableView = null; + m = 0; + if (m >= i2) { + break label549; + } + localView = getChildAt(m); + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if (localView.getVisibility() == 8) + { + localLayoutParams.dimWhenOffset = false; + n = k; + j = i; + bool2 = bool1; + } + break; + } + float f2; + do + { + m += 1; + bool1 = bool2; + i = j; + k = n; + break label140; + paramInt2 = paramInt1 - getPaddingTop() - getPaddingBottom(); + i = paramInt2; + break; + paramInt2 = paramInt1 - getPaddingTop() - getPaddingBottom(); + break; + f2 = f1; + if (localLayoutParams.weight <= 0.0F) { + break label292; + } + f2 = f1 + localLayoutParams.weight; + bool2 = bool1; + j = i; + f1 = f2; + n = k; + } while (localLayoutParams.width == 0); + label292: + paramInt1 = localLayoutParams.leftMargin + localLayoutParams.rightMargin; + if (localLayoutParams.width == -2) + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(i1 - paramInt1, -2147483648); + label325: + if (localLayoutParams.height != -2) { + break label506; + } + j = View.MeasureSpec.makeMeasureSpec(paramInt2, -2147483648); + label344: + localView.measure(paramInt1, j); + j = localView.getMeasuredWidth(); + n = localView.getMeasuredHeight(); + paramInt1 = i; + if (i3 == -2147483648) + { + paramInt1 = i; + if (n > i) { + paramInt1 = Math.min(n, paramInt2); + } + } + i = k - j; + if (i >= 0) { + break label543; + } + } + label543: + for (boolean bool2 = true;; bool2 = false) + { + localLayoutParams.slideable = bool2; + bool1 |= bool2; + bool2 = bool1; + j = paramInt1; + f1 = f2; + n = i; + if (!localLayoutParams.slideable) { + break; + } + this.mSlideableView = localView; + bool2 = bool1; + j = paramInt1; + f1 = f2; + n = i; + break; + if (localLayoutParams.width == -1) + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(i1 - paramInt1, 1073741824); + break label325; + } + paramInt1 = View.MeasureSpec.makeMeasureSpec(localLayoutParams.width, 1073741824); + break label325; + label506: + if (localLayoutParams.height == -1) + { + j = View.MeasureSpec.makeMeasureSpec(paramInt2, 1073741824); + break label344; + } + j = View.MeasureSpec.makeMeasureSpec(localLayoutParams.height, 1073741824); + break label344; + } + label549: + if ((bool1) || (f1 > 0.0F)) + { + n = i1 - this.mOverhangSize; + j = 0; + if (j < i2) + { + localView = getChildAt(j); + if (localView.getVisibility() == 8) {} + for (;;) + { + j += 1; + break; + localLayoutParams = (LayoutParams)localView.getLayoutParams(); + if ((localLayoutParams.width == 0) && (localLayoutParams.weight > 0.0F)) + { + paramInt1 = 1; + label636: + if (paramInt1 == 0) { + break label726; + } + m = 0; + if ((!bool1) || (localView == this.mSlideableView)) { + break label786; + } + if ((localLayoutParams.width >= 0) || ((m <= n) && (localLayoutParams.weight <= 0.0F))) { + continue; + } + if (paramInt1 == 0) { + break label771; + } + if (localLayoutParams.height != -2) { + break label736; + } + paramInt1 = View.MeasureSpec.makeMeasureSpec(paramInt2, -2147483648); + } + for (;;) + { + localView.measure(View.MeasureSpec.makeMeasureSpec(n, 1073741824), paramInt1); + break; + paramInt1 = 0; + break label636; + label726: + m = localView.getMeasuredWidth(); + break label643; + label736: + if (localLayoutParams.height == -1) + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(paramInt2, 1073741824); + } + else + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(localLayoutParams.height, 1073741824); + continue; + paramInt1 = View.MeasureSpec.makeMeasureSpec(localView.getMeasuredHeight(), 1073741824); + } + } + if (localLayoutParams.weight > 0.0F) + { + if (localLayoutParams.width == 0) { + if (localLayoutParams.height == -2) { + paramInt1 = View.MeasureSpec.makeMeasureSpec(paramInt2, -2147483648); + } + } + for (;;) + { + if (!bool1) { + break label921; + } + i3 = i1 - (localLayoutParams.leftMargin + localLayoutParams.rightMargin); + int i4 = View.MeasureSpec.makeMeasureSpec(i3, 1073741824); + if (m == i3) { + break; + } + localView.measure(i4, paramInt1); + break; + if (localLayoutParams.height == -1) + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(paramInt2, 1073741824); + } + else + { + paramInt1 = View.MeasureSpec.makeMeasureSpec(localLayoutParams.height, 1073741824); + continue; + paramInt1 = View.MeasureSpec.makeMeasureSpec(localView.getMeasuredHeight(), 1073741824); + } + } + i3 = Math.max(0, k); + localView.measure(View.MeasureSpec.makeMeasureSpec(m + (int)(localLayoutParams.weight * i3 / f1), 1073741824), paramInt1); + } + } + } + } + label643: + label786: + label921: + setMeasuredDimension(i1, i); + label771: + this.mCanSlide = bool1; + if ((this.mDragHelper.getViewDragState() != 0) && (!bool1)) { + this.mDragHelper.abort(); + } + } + + protected void onRestoreInstanceState(Parcelable paramParcelable) + { + paramParcelable = (SavedState)paramParcelable; + super.onRestoreInstanceState(paramParcelable.getSuperState()); + if (paramParcelable.isOpen) { + openPane(); + } + for (;;) + { + this.mPreservedOpenState = paramParcelable.isOpen; + return; + closePane(); + } + } + + protected Parcelable onSaveInstanceState() + { + SavedState localSavedState = new SavedState(super.onSaveInstanceState()); + if (isSlideable()) {} + for (boolean bool = isOpen();; bool = this.mPreservedOpenState) + { + localSavedState.isOpen = bool; + return localSavedState; + } + } + + protected void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onSizeChanged(paramInt1, paramInt2, paramInt3, paramInt4); + if (paramInt1 != paramInt3) { + this.mFirstLayout = true; + } + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + boolean bool1; + if (!this.mCanSlide) { + bool1 = super.onTouchEvent(paramMotionEvent); + } + float f1; + float f2; + do + { + int i; + boolean bool2; + float f3; + float f4; + do + { + do + { + return bool1; + this.mDragHelper.processTouchEvent(paramMotionEvent); + i = paramMotionEvent.getAction(); + bool2 = true; + switch (i & 0xFF) + { + default: + return true; + case 0: + f1 = paramMotionEvent.getX(); + f2 = paramMotionEvent.getY(); + this.mInitialMotionX = f1; + this.mInitialMotionY = f2; + return true; + } + bool1 = bool2; + } while (!isDimmed(this.mSlideableView)); + f1 = paramMotionEvent.getX(); + f2 = paramMotionEvent.getY(); + f3 = f1 - this.mInitialMotionX; + f4 = f2 - this.mInitialMotionY; + i = this.mDragHelper.getTouchSlop(); + bool1 = bool2; + } while (f3 * f3 + f4 * f4 >= i * i); + bool1 = bool2; + } while (!this.mDragHelper.isViewUnder(this.mSlideableView, (int)f1, (int)f2)); + closePane(this.mSlideableView, 0); + return true; + } + + public boolean openPane() + { + return openPane(this.mSlideableView, 0); + } + + public void requestChildFocus(View paramView1, View paramView2) + { + super.requestChildFocus(paramView1, paramView2); + if ((!isInTouchMode()) && (!this.mCanSlide)) { + if (paramView1 != this.mSlideableView) { + break label36; + } + } + label36: + for (boolean bool = true;; bool = false) + { + this.mPreservedOpenState = bool; + return; + } + } + + void setAllChildrenVisible() + { + int i = 0; + int j = getChildCount(); + while (i < j) + { + View localView = getChildAt(i); + if (localView.getVisibility() == 4) { + localView.setVisibility(0); + } + i += 1; + } + } + + public void setCoveredFadeColor(int paramInt) + { + this.mCoveredFadeColor = paramInt; + } + + public void setPanelSlideListener(PanelSlideListener paramPanelSlideListener) + { + this.mPanelSlideListener = paramPanelSlideListener; + } + + public void setParallaxDistance(int paramInt) + { + this.mParallaxBy = paramInt; + requestLayout(); + } + + public void setShadowDrawable(Drawable paramDrawable) + { + this.mShadowDrawable = paramDrawable; + } + + public void setShadowResource(int paramInt) + { + setShadowDrawable(getResources().getDrawable(paramInt)); + } + + public void setSliderFadeColor(int paramInt) + { + this.mSliderFadeColor = paramInt; + } + + @Deprecated + public void smoothSlideClosed() + { + closePane(); + } + + @Deprecated + public void smoothSlideOpen() + { + openPane(); + } + + boolean smoothSlideTo(float paramFloat, int paramInt) + { + if (!this.mCanSlide) {} + do + { + return false; + LayoutParams localLayoutParams = (LayoutParams)this.mSlideableView.getLayoutParams(); + paramInt = (int)(getPaddingLeft() + localLayoutParams.leftMargin + this.mSlideRange * paramFloat); + } while (!this.mDragHelper.smoothSlideViewTo(this.mSlideableView, paramInt, this.mSlideableView.getTop())); + setAllChildrenVisible(); + ViewCompat.postInvalidateOnAnimation(this); + return true; + } + + void updateObscuredViewsVisibility(View paramView) + { + int i2 = getPaddingLeft(); + int i3 = getWidth(); + int i4 = getPaddingRight(); + int i5 = getPaddingTop(); + int i6 = getHeight(); + int i7 = getPaddingBottom(); + int j; + int k; + int m; + int i; + if ((paramView != null) && (hasOpaqueBackground(paramView))) + { + j = paramView.getLeft(); + k = paramView.getRight(); + m = paramView.getTop(); + i = paramView.getBottom(); + } + int n; + View localView; + for (;;) + { + n = 0; + int i8 = getChildCount(); + if (n < i8) + { + localView = getChildAt(n); + if (localView != paramView) { + break; + } + } + return; + i = 0; + m = 0; + k = 0; + j = 0; + } + int i1 = Math.max(i2, localView.getLeft()); + int i9 = Math.max(i5, localView.getTop()); + int i10 = Math.min(i3 - i4, localView.getRight()); + int i11 = Math.min(i6 - i7, localView.getBottom()); + if ((i1 >= j) && (i9 >= m) && (i10 <= k) && (i11 <= i)) {} + for (i1 = 4;; i1 = 0) + { + localView.setVisibility(i1); + n += 1; + break; + } + } + + class AccessibilityDelegate + extends AccessibilityDelegateCompat + { + private final Rect mTmpRect = new Rect(); + + AccessibilityDelegate() {} + + private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat1, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat2) + { + Rect localRect = this.mTmpRect; + paramAccessibilityNodeInfoCompat2.getBoundsInParent(localRect); + paramAccessibilityNodeInfoCompat1.setBoundsInParent(localRect); + paramAccessibilityNodeInfoCompat2.getBoundsInScreen(localRect); + paramAccessibilityNodeInfoCompat1.setBoundsInScreen(localRect); + paramAccessibilityNodeInfoCompat1.setVisibleToUser(paramAccessibilityNodeInfoCompat2.isVisibleToUser()); + paramAccessibilityNodeInfoCompat1.setPackageName(paramAccessibilityNodeInfoCompat2.getPackageName()); + paramAccessibilityNodeInfoCompat1.setClassName(paramAccessibilityNodeInfoCompat2.getClassName()); + paramAccessibilityNodeInfoCompat1.setContentDescription(paramAccessibilityNodeInfoCompat2.getContentDescription()); + paramAccessibilityNodeInfoCompat1.setEnabled(paramAccessibilityNodeInfoCompat2.isEnabled()); + paramAccessibilityNodeInfoCompat1.setClickable(paramAccessibilityNodeInfoCompat2.isClickable()); + paramAccessibilityNodeInfoCompat1.setFocusable(paramAccessibilityNodeInfoCompat2.isFocusable()); + paramAccessibilityNodeInfoCompat1.setFocused(paramAccessibilityNodeInfoCompat2.isFocused()); + paramAccessibilityNodeInfoCompat1.setAccessibilityFocused(paramAccessibilityNodeInfoCompat2.isAccessibilityFocused()); + paramAccessibilityNodeInfoCompat1.setSelected(paramAccessibilityNodeInfoCompat2.isSelected()); + paramAccessibilityNodeInfoCompat1.setLongClickable(paramAccessibilityNodeInfoCompat2.isLongClickable()); + paramAccessibilityNodeInfoCompat1.addAction(paramAccessibilityNodeInfoCompat2.getActions()); + } + + public boolean filter(View paramView) + { + return SlidingPaneLayout.this.isDimmed(paramView); + } + + public void onInitializeAccessibilityNodeInfo(View paramView, AccessibilityNodeInfoCompat paramAccessibilityNodeInfoCompat) + { + AccessibilityNodeInfoCompat localAccessibilityNodeInfoCompat = AccessibilityNodeInfoCompat.obtain(paramAccessibilityNodeInfoCompat); + super.onInitializeAccessibilityNodeInfo(paramView, localAccessibilityNodeInfoCompat); + paramAccessibilityNodeInfoCompat.setSource(paramView); + paramView = ViewCompat.getParentForAccessibility(paramView); + if ((paramView instanceof View)) { + paramAccessibilityNodeInfoCompat.setParent((View)paramView); + } + copyNodeInfoNoChildren(paramAccessibilityNodeInfoCompat, localAccessibilityNodeInfoCompat); + localAccessibilityNodeInfoCompat.recycle(); + int j = SlidingPaneLayout.this.getChildCount(); + int i = 0; + while (i < j) + { + paramView = SlidingPaneLayout.this.getChildAt(i); + if (!filter(paramView)) { + paramAccessibilityNodeInfoCompat.addChild(paramView); + } + i += 1; + } + } + + public boolean onRequestSendAccessibilityEvent(ViewGroup paramViewGroup, View paramView, AccessibilityEvent paramAccessibilityEvent) + { + if (!filter(paramView)) { + return super.onRequestSendAccessibilityEvent(paramViewGroup, paramView, paramAccessibilityEvent); + } + return false; + } + } + + private class DisableLayerRunnable + implements Runnable + { + final View mChildView; + + DisableLayerRunnable(View paramView) + { + this.mChildView = paramView; + } + + public void run() + { + if (this.mChildView.getParent() == SlidingPaneLayout.this) + { + ViewCompat.setLayerType(this.mChildView, 0, null); + SlidingPaneLayout.this.invalidateChildRegion(this.mChildView); + } + SlidingPaneLayout.this.mPostedRunnables.remove(this); + } + } + + private class DragHelperCallback + extends ViewDragHelper.Callback + { + private DragHelperCallback() {} + + public int clampViewPositionHorizontal(View paramView, int paramInt1, int paramInt2) + { + paramView = (SlidingPaneLayout.LayoutParams)SlidingPaneLayout.this.mSlideableView.getLayoutParams(); + paramInt2 = SlidingPaneLayout.this.getPaddingLeft() + paramView.leftMargin; + int i = SlidingPaneLayout.this.mSlideRange; + return Math.min(Math.max(paramInt1, paramInt2), paramInt2 + i); + } + + public int getViewHorizontalDragRange(View paramView) + { + return SlidingPaneLayout.this.mSlideRange; + } + + public void onEdgeDragStarted(int paramInt1, int paramInt2) + { + SlidingPaneLayout.this.mDragHelper.captureChildView(SlidingPaneLayout.this.mSlideableView, paramInt2); + } + + public void onViewCaptured(View paramView, int paramInt) + { + SlidingPaneLayout.this.setAllChildrenVisible(); + } + + public void onViewDragStateChanged(int paramInt) + { + if (SlidingPaneLayout.this.mDragHelper.getViewDragState() == 0) + { + if (SlidingPaneLayout.this.mSlideOffset == 0.0F) + { + SlidingPaneLayout.this.updateObscuredViewsVisibility(SlidingPaneLayout.this.mSlideableView); + SlidingPaneLayout.this.dispatchOnPanelClosed(SlidingPaneLayout.this.mSlideableView); + SlidingPaneLayout.access$502(SlidingPaneLayout.this, false); + } + } + else { + return; + } + SlidingPaneLayout.this.dispatchOnPanelOpened(SlidingPaneLayout.this.mSlideableView); + SlidingPaneLayout.access$502(SlidingPaneLayout.this, true); + } + + public void onViewPositionChanged(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + SlidingPaneLayout.this.onPanelDragged(paramInt1); + SlidingPaneLayout.this.invalidate(); + } + + public void onViewReleased(View paramView, float paramFloat1, float paramFloat2) + { + SlidingPaneLayout.LayoutParams localLayoutParams = (SlidingPaneLayout.LayoutParams)paramView.getLayoutParams(); + int j = SlidingPaneLayout.this.getPaddingLeft() + localLayoutParams.leftMargin; + int i; + if (paramFloat1 <= 0.0F) + { + i = j; + if (paramFloat1 == 0.0F) + { + i = j; + if (SlidingPaneLayout.this.mSlideOffset <= 0.5F) {} + } + } + else + { + i = j + SlidingPaneLayout.this.mSlideRange; + } + SlidingPaneLayout.this.mDragHelper.settleCapturedViewAt(i, paramView.getTop()); + SlidingPaneLayout.this.invalidate(); + } + + public boolean tryCaptureView(View paramView, int paramInt) + { + if (SlidingPaneLayout.this.mIsUnableToDrag) { + return false; + } + return ((SlidingPaneLayout.LayoutParams)paramView.getLayoutParams()).slideable; + } + } + + public static class LayoutParams + extends ViewGroup.MarginLayoutParams + { + private static final int[] ATTRS = { 16843137 }; + Paint dimPaint; + boolean dimWhenOffset; + boolean slideable; + public float weight = 0.0F; + + public LayoutParams() + { + super(-1); + } + + public LayoutParams(int paramInt1, int paramInt2) + { + super(paramInt2); + } + + public LayoutParams(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramAttributeSet); + paramContext = paramContext.obtainStyledAttributes(paramAttributeSet, ATTRS); + this.weight = paramContext.getFloat(0, 0.0F); + paramContext.recycle(); + } + + public LayoutParams(LayoutParams paramLayoutParams) + { + super(); + this.weight = paramLayoutParams.weight; + } + + public LayoutParams(ViewGroup.LayoutParams paramLayoutParams) + { + super(); + } + + public LayoutParams(ViewGroup.MarginLayoutParams paramMarginLayoutParams) + { + super(); + } + } + + public static abstract interface PanelSlideListener + { + public abstract void onPanelClosed(View paramView); + + public abstract void onPanelOpened(View paramView); + + public abstract void onPanelSlide(View paramView, float paramFloat); + } + + static class SavedState + extends View.BaseSavedState + { + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public SlidingPaneLayout.SavedState createFromParcel(Parcel paramAnonymousParcel) + { + return new SlidingPaneLayout.SavedState(paramAnonymousParcel, null); + } + + public SlidingPaneLayout.SavedState[] newArray(int paramAnonymousInt) + { + return new SlidingPaneLayout.SavedState[paramAnonymousInt]; + } + }; + boolean isOpen; + + private SavedState(Parcel paramParcel) + { + super(); + if (paramParcel.readInt() != 0) {} + for (boolean bool = true;; bool = false) + { + this.isOpen = bool; + return; + } + } + + SavedState(Parcelable paramParcelable) + { + super(); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + super.writeToParcel(paramParcel, paramInt); + if (this.isOpen) {} + for (paramInt = 1;; paramInt = 0) + { + paramParcel.writeInt(paramInt); + return; + } + } + } + + public static class SimplePanelSlideListener + implements SlidingPaneLayout.PanelSlideListener + { + public void onPanelClosed(View paramView) {} + + public void onPanelOpened(View paramView) {} + + public void onPanelSlide(View paramView, float paramFloat) {} + } + + static abstract interface SlidingPanelLayoutImpl + { + public abstract void invalidateChildRegion(SlidingPaneLayout paramSlidingPaneLayout, View paramView); + } + + static class SlidingPanelLayoutImplBase + implements SlidingPaneLayout.SlidingPanelLayoutImpl + { + public void invalidateChildRegion(SlidingPaneLayout paramSlidingPaneLayout, View paramView) + { + ViewCompat.postInvalidateOnAnimation(paramSlidingPaneLayout, paramView.getLeft(), paramView.getTop(), paramView.getRight(), paramView.getBottom()); + } + } + + static class SlidingPanelLayoutImplJB + extends SlidingPaneLayout.SlidingPanelLayoutImplBase + { + private Method mGetDisplayList; + private Field mRecreateDisplayList; + + SlidingPanelLayoutImplJB() + { + try + { + this.mGetDisplayList = View.class.getDeclaredMethod("getDisplayList", (Class[])null); + } + catch (NoSuchMethodException localNoSuchMethodException) + { + for (;;) + { + try + { + this.mRecreateDisplayList = View.class.getDeclaredField("mRecreateDisplayList"); + this.mRecreateDisplayList.setAccessible(true); + return; + } + catch (NoSuchFieldException localNoSuchFieldException) + { + Log.e("SlidingPaneLayout", "Couldn't fetch mRecreateDisplayList field; dimming will be slow.", localNoSuchFieldException); + } + localNoSuchMethodException = localNoSuchMethodException; + Log.e("SlidingPaneLayout", "Couldn't fetch getDisplayList method; dimming won't work right.", localNoSuchMethodException); + } + } + } + + public void invalidateChildRegion(SlidingPaneLayout paramSlidingPaneLayout, View paramView) + { + if ((this.mGetDisplayList != null) && (this.mRecreateDisplayList != null)) { + try + { + this.mRecreateDisplayList.setBoolean(paramView, true); + this.mGetDisplayList.invoke(paramView, (Object[])null); + super.invalidateChildRegion(paramSlidingPaneLayout, paramView); + return; + } + catch (Exception localException) + { + for (;;) + { + Log.e("SlidingPaneLayout", "Error refreshing display list state", localException); + } + } + } + paramView.invalidate(); + } + } + + static class SlidingPanelLayoutImplJBMR1 + extends SlidingPaneLayout.SlidingPanelLayoutImplBase + { + public void invalidateChildRegion(SlidingPaneLayout paramSlidingPaneLayout, View paramView) + { + ViewCompat.setLayerPaint(paramView, ((SlidingPaneLayout.LayoutParams)paramView.getLayoutParams()).dimPaint); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.SlidingPaneLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/android/support/v4/widget/ViewDragHelper.java b/com.tencent.token/classes.jar/android/support/v4/widget/ViewDragHelper.java new file mode 100755 index 00000000000..b1be149ad04 --- /dev/null +++ b/com.tencent.token/classes.jar/android/support/v4/widget/ViewDragHelper.java @@ -0,0 +1,1031 @@ +package android.support.v4.widget; + +import android.content.Context; +import android.content.res.Resources; +import android.support.v4.view.MotionEventCompat; +import android.support.v4.view.VelocityTrackerCompat; +import android.support.v4.view.ViewCompat; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.VelocityTracker; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.animation.Interpolator; +import java.util.Arrays; + +public class ViewDragHelper +{ + private static final int BASE_SETTLE_DURATION = 256; + public static final int DIRECTION_ALL = 3; + public static final int DIRECTION_HORIZONTAL = 1; + public static final int DIRECTION_VERTICAL = 2; + public static final int EDGE_ALL = 15; + public static final int EDGE_BOTTOM = 8; + public static final int EDGE_LEFT = 1; + public static final int EDGE_RIGHT = 2; + private static final int EDGE_SIZE = 20; + public static final int EDGE_TOP = 4; + public static final int INVALID_POINTER = -1; + private static final int MAX_SETTLE_DURATION = 600; + public static final int STATE_DRAGGING = 1; + public static final int STATE_IDLE = 0; + public static final int STATE_SETTLING = 2; + private static final String TAG = "ViewDragHelper"; + private static final Interpolator sInterpolator = new Interpolator() + { + public float getInterpolation(float paramAnonymousFloat) + { + paramAnonymousFloat -= 1.0F; + return paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat * paramAnonymousFloat + 1.0F; + } + }; + private int mActivePointerId = -1; + private final Callback mCallback; + private View mCapturedView; + private int mDragState; + private int[] mEdgeDragsInProgress; + private int[] mEdgeDragsLocked; + private int mEdgeSize; + private int[] mInitialEdgesTouched; + private float[] mInitialMotionX; + private float[] mInitialMotionY; + private float[] mLastMotionX; + private float[] mLastMotionY; + private float mMaxVelocity; + private float mMinVelocity; + private final ViewGroup mParentView; + private int mPointersDown; + private boolean mReleaseInProgress; + private ScrollerCompat mScroller; + private final Runnable mSetIdleRunnable = new Runnable() + { + public void run() + { + ViewDragHelper.this.setDragState(0); + } + }; + private int mTouchSlop; + private int mTrackingEdges; + private VelocityTracker mVelocityTracker; + + private ViewDragHelper(Context paramContext, ViewGroup paramViewGroup, Callback paramCallback) + { + if (paramViewGroup == null) { + throw new IllegalArgumentException("Parent view may not be null"); + } + if (paramCallback == null) { + throw new IllegalArgumentException("Callback may not be null"); + } + this.mParentView = paramViewGroup; + this.mCallback = paramCallback; + paramViewGroup = ViewConfiguration.get(paramContext); + this.mEdgeSize = ((int)(20.0F * paramContext.getResources().getDisplayMetrics().density + 0.5F)); + this.mTouchSlop = paramViewGroup.getScaledTouchSlop(); + this.mMaxVelocity = paramViewGroup.getScaledMaximumFlingVelocity(); + this.mMinVelocity = paramViewGroup.getScaledMinimumFlingVelocity(); + this.mScroller = ScrollerCompat.create(paramContext, sInterpolator); + } + + private boolean checkNewEdgeDrag(float paramFloat1, float paramFloat2, int paramInt1, int paramInt2) + { + paramFloat1 = Math.abs(paramFloat1); + paramFloat2 = Math.abs(paramFloat2); + if (((this.mInitialEdgesTouched[paramInt1] & paramInt2) != paramInt2) || ((this.mTrackingEdges & paramInt2) == 0) || ((this.mEdgeDragsLocked[paramInt1] & paramInt2) == paramInt2) || ((this.mEdgeDragsInProgress[paramInt1] & paramInt2) == paramInt2) || ((paramFloat1 <= this.mTouchSlop) && (paramFloat2 <= this.mTouchSlop))) {} + do + { + return false; + if ((paramFloat1 < 0.5F * paramFloat2) && (this.mCallback.onEdgeLock(paramInt2))) + { + int[] arrayOfInt = this.mEdgeDragsLocked; + arrayOfInt[paramInt1] |= paramInt2; + return false; + } + } while (((this.mEdgeDragsInProgress[paramInt1] & paramInt2) != 0) || (paramFloat1 <= this.mTouchSlop)); + return true; + } + + private boolean checkTouchSlop(View paramView, float paramFloat1, float paramFloat2) + { + boolean bool = true; + if (paramView == null) { + bool = false; + } + label27: + label80: + label86: + do + { + int j; + do + { + return bool; + int i; + if (this.mCallback.getViewHorizontalDragRange(paramView) > 0) + { + i = 1; + if (this.mCallback.getViewVerticalDragRange(paramView) <= 0) { + break label80; + } + } + for (j = 1;; j = 0) + { + if ((i == 0) || (j == 0)) { + break label86; + } + if (paramFloat1 * paramFloat1 + paramFloat2 * paramFloat2 > this.mTouchSlop * this.mTouchSlop) { + break; + } + return false; + i = 0; + break label27; + } + if (i == 0) { + break; + } + } while (Math.abs(paramFloat1) > this.mTouchSlop); + return false; + if (j == 0) { + break; + } + } while (Math.abs(paramFloat2) > this.mTouchSlop); + return false; + return false; + } + + private float clampMag(float paramFloat1, float paramFloat2, float paramFloat3) + { + float f = Math.abs(paramFloat1); + if (f < paramFloat2) { + paramFloat2 = 0.0F; + } + do + { + return paramFloat2; + if (f <= paramFloat3) { + break; + } + paramFloat2 = paramFloat3; + } while (paramFloat1 > 0.0F); + return -paramFloat3; + return paramFloat1; + } + + private int clampMag(int paramInt1, int paramInt2, int paramInt3) + { + int i = Math.abs(paramInt1); + if (i < paramInt2) { + paramInt2 = 0; + } + do + { + return paramInt2; + if (i <= paramInt3) { + break; + } + paramInt2 = paramInt3; + } while (paramInt1 > 0); + return -paramInt3; + return paramInt1; + } + + private void clearMotionHistory() + { + if (this.mInitialMotionX == null) { + return; + } + Arrays.fill(this.mInitialMotionX, 0.0F); + Arrays.fill(this.mInitialMotionY, 0.0F); + Arrays.fill(this.mLastMotionX, 0.0F); + Arrays.fill(this.mLastMotionY, 0.0F); + Arrays.fill(this.mInitialEdgesTouched, 0); + Arrays.fill(this.mEdgeDragsInProgress, 0); + Arrays.fill(this.mEdgeDragsLocked, 0); + this.mPointersDown = 0; + } + + private void clearMotionHistory(int paramInt) + { + if (this.mInitialMotionX == null) { + return; + } + this.mInitialMotionX[paramInt] = 0.0F; + this.mInitialMotionY[paramInt] = 0.0F; + this.mLastMotionX[paramInt] = 0.0F; + this.mLastMotionY[paramInt] = 0.0F; + this.mInitialEdgesTouched[paramInt] = 0; + this.mEdgeDragsInProgress[paramInt] = 0; + this.mEdgeDragsLocked[paramInt] = 0; + this.mPointersDown &= (1 << paramInt ^ 0xFFFFFFFF); + } + + private int computeAxisDuration(int paramInt1, int paramInt2, int paramInt3) + { + if (paramInt1 == 0) { + return 0; + } + int i = this.mParentView.getWidth(); + int j = i / 2; + float f3 = Math.min(1.0F, Math.abs(paramInt1) / i); + float f1 = j; + float f2 = j; + f3 = distanceInfluenceForSnapDuration(f3); + paramInt2 = Math.abs(paramInt2); + if (paramInt2 > 0) {} + for (paramInt1 = Math.round(1000.0F * Math.abs((f1 + f2 * f3) / paramInt2)) * 4;; paramInt1 = (int)((Math.abs(paramInt1) / paramInt3 + 1.0F) * 256.0F)) { + return Math.min(paramInt1, 600); + } + } + + private int computeSettleDuration(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramInt3 = clampMag(paramInt3, (int)this.mMinVelocity, (int)this.mMaxVelocity); + paramInt4 = clampMag(paramInt4, (int)this.mMinVelocity, (int)this.mMaxVelocity); + int i = Math.abs(paramInt1); + int j = Math.abs(paramInt2); + int k = Math.abs(paramInt3); + int m = Math.abs(paramInt4); + int n = k + m; + int i1 = i + j; + float f1; + if (paramInt3 != 0) + { + f1 = k / n; + if (paramInt4 == 0) { + break label161; + } + } + label161: + for (float f2 = m / n;; f2 = j / i1) + { + paramInt1 = computeAxisDuration(paramInt1, paramInt3, this.mCallback.getViewHorizontalDragRange(paramView)); + paramInt2 = computeAxisDuration(paramInt2, paramInt4, this.mCallback.getViewVerticalDragRange(paramView)); + return (int)(paramInt1 * f1 + paramInt2 * f2); + f1 = i / i1; + break; + } + } + + public static ViewDragHelper create(ViewGroup paramViewGroup, float paramFloat, Callback paramCallback) + { + paramViewGroup = create(paramViewGroup, paramCallback); + paramViewGroup.mTouchSlop = ((int)(paramViewGroup.mTouchSlop * (1.0F / paramFloat))); + return paramViewGroup; + } + + public static ViewDragHelper create(ViewGroup paramViewGroup, Callback paramCallback) + { + return new ViewDragHelper(paramViewGroup.getContext(), paramViewGroup, paramCallback); + } + + private void dispatchViewReleased(float paramFloat1, float paramFloat2) + { + this.mReleaseInProgress = true; + this.mCallback.onViewReleased(this.mCapturedView, paramFloat1, paramFloat2); + this.mReleaseInProgress = false; + if (this.mDragState == 1) { + setDragState(0); + } + } + + private float distanceInfluenceForSnapDuration(float paramFloat) + { + return (float)Math.sin((float)((paramFloat - 0.5F) * 0.47123891676382D)); + } + + private void dragTo(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int j = paramInt1; + int i = paramInt2; + int k = this.mCapturedView.getLeft(); + int m = this.mCapturedView.getTop(); + if (paramInt3 != 0) + { + j = this.mCallback.clampViewPositionHorizontal(this.mCapturedView, paramInt1, paramInt3); + this.mCapturedView.offsetLeftAndRight(j - k); + } + if (paramInt4 != 0) + { + i = this.mCallback.clampViewPositionVertical(this.mCapturedView, paramInt2, paramInt4); + this.mCapturedView.offsetTopAndBottom(i - m); + } + if ((paramInt3 != 0) || (paramInt4 != 0)) { + this.mCallback.onViewPositionChanged(this.mCapturedView, j, i, j - k, i - m); + } + } + + private void ensureMotionHistorySizeForId(int paramInt) + { + if ((this.mInitialMotionX == null) || (this.mInitialMotionX.length <= paramInt)) + { + float[] arrayOfFloat1 = new float[paramInt + 1]; + float[] arrayOfFloat2 = new float[paramInt + 1]; + float[] arrayOfFloat3 = new float[paramInt + 1]; + float[] arrayOfFloat4 = new float[paramInt + 1]; + int[] arrayOfInt1 = new int[paramInt + 1]; + int[] arrayOfInt2 = new int[paramInt + 1]; + int[] arrayOfInt3 = new int[paramInt + 1]; + if (this.mInitialMotionX != null) + { + System.arraycopy(this.mInitialMotionX, 0, arrayOfFloat1, 0, this.mInitialMotionX.length); + System.arraycopy(this.mInitialMotionY, 0, arrayOfFloat2, 0, this.mInitialMotionY.length); + System.arraycopy(this.mLastMotionX, 0, arrayOfFloat3, 0, this.mLastMotionX.length); + System.arraycopy(this.mLastMotionY, 0, arrayOfFloat4, 0, this.mLastMotionY.length); + System.arraycopy(this.mInitialEdgesTouched, 0, arrayOfInt1, 0, this.mInitialEdgesTouched.length); + System.arraycopy(this.mEdgeDragsInProgress, 0, arrayOfInt2, 0, this.mEdgeDragsInProgress.length); + System.arraycopy(this.mEdgeDragsLocked, 0, arrayOfInt3, 0, this.mEdgeDragsLocked.length); + } + this.mInitialMotionX = arrayOfFloat1; + this.mInitialMotionY = arrayOfFloat2; + this.mLastMotionX = arrayOfFloat3; + this.mLastMotionY = arrayOfFloat4; + this.mInitialEdgesTouched = arrayOfInt1; + this.mEdgeDragsInProgress = arrayOfInt2; + this.mEdgeDragsLocked = arrayOfInt3; + } + } + + private boolean forceSettleCapturedViewAt(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int i = this.mCapturedView.getLeft(); + int j = this.mCapturedView.getTop(); + paramInt1 -= i; + paramInt2 -= j; + if ((paramInt1 == 0) && (paramInt2 == 0)) + { + this.mScroller.abortAnimation(); + setDragState(0); + return false; + } + paramInt3 = computeSettleDuration(this.mCapturedView, paramInt1, paramInt2, paramInt3, paramInt4); + this.mScroller.startScroll(i, j, paramInt1, paramInt2, paramInt3); + setDragState(2); + return true; + } + + private int getEdgesTouched(int paramInt1, int paramInt2) + { + int j = 0; + if (paramInt1 < this.mParentView.getLeft() + this.mEdgeSize) { + j = 0x0 | 0x1; + } + int i = j; + if (paramInt2 < this.mParentView.getTop() + this.mEdgeSize) { + i = j | 0x4; + } + j = i; + if (paramInt1 > this.mParentView.getRight() - this.mEdgeSize) { + j = i | 0x2; + } + paramInt1 = j; + if (paramInt2 > this.mParentView.getBottom() - this.mEdgeSize) { + paramInt1 = j | 0x8; + } + return paramInt1; + } + + private void releaseViewForPointerUp() + { + this.mVelocityTracker.computeCurrentVelocity(1000, this.mMaxVelocity); + dispatchViewReleased(clampMag(VelocityTrackerCompat.getXVelocity(this.mVelocityTracker, this.mActivePointerId), this.mMinVelocity, this.mMaxVelocity), clampMag(VelocityTrackerCompat.getYVelocity(this.mVelocityTracker, this.mActivePointerId), this.mMinVelocity, this.mMaxVelocity)); + } + + private void reportNewEdgeDrags(float paramFloat1, float paramFloat2, int paramInt) + { + int j = 0; + if (checkNewEdgeDrag(paramFloat1, paramFloat2, paramInt, 1)) { + j = 0x0 | 0x1; + } + int i = j; + if (checkNewEdgeDrag(paramFloat2, paramFloat1, paramInt, 4)) { + i = j | 0x4; + } + j = i; + if (checkNewEdgeDrag(paramFloat1, paramFloat2, paramInt, 2)) { + j = i | 0x2; + } + i = j; + if (checkNewEdgeDrag(paramFloat2, paramFloat1, paramInt, 8)) { + i = j | 0x8; + } + if (i != 0) + { + int[] arrayOfInt = this.mEdgeDragsInProgress; + arrayOfInt[paramInt] |= i; + this.mCallback.onEdgeDragStarted(i, paramInt); + } + } + + private void saveInitialMotion(float paramFloat1, float paramFloat2, int paramInt) + { + ensureMotionHistorySizeForId(paramInt); + float[] arrayOfFloat = this.mInitialMotionX; + this.mLastMotionX[paramInt] = paramFloat1; + arrayOfFloat[paramInt] = paramFloat1; + arrayOfFloat = this.mInitialMotionY; + this.mLastMotionY[paramInt] = paramFloat2; + arrayOfFloat[paramInt] = paramFloat2; + this.mInitialEdgesTouched[paramInt] = getEdgesTouched((int)paramFloat1, (int)paramFloat2); + this.mPointersDown |= 1 << paramInt; + } + + private void saveLastMotion(MotionEvent paramMotionEvent) + { + int j = MotionEventCompat.getPointerCount(paramMotionEvent); + int i = 0; + while (i < j) + { + int k = MotionEventCompat.getPointerId(paramMotionEvent, i); + float f1 = MotionEventCompat.getX(paramMotionEvent, i); + float f2 = MotionEventCompat.getY(paramMotionEvent, i); + this.mLastMotionX[k] = f1; + this.mLastMotionY[k] = f2; + i += 1; + } + } + + public void abort() + { + cancel(); + if (this.mDragState == 2) + { + int i = this.mScroller.getCurrX(); + int j = this.mScroller.getCurrY(); + this.mScroller.abortAnimation(); + int k = this.mScroller.getCurrX(); + int m = this.mScroller.getCurrY(); + this.mCallback.onViewPositionChanged(this.mCapturedView, k, m, k - i, m - j); + } + setDragState(0); + } + + protected boolean canScroll(View paramView, boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if ((paramView instanceof ViewGroup)) + { + ViewGroup localViewGroup = (ViewGroup)paramView; + int j = paramView.getScrollX(); + int k = paramView.getScrollY(); + int i = localViewGroup.getChildCount() - 1; + while (i >= 0) + { + View localView = localViewGroup.getChildAt(i); + if ((paramInt3 + j >= localView.getLeft()) && (paramInt3 + j < localView.getRight()) && (paramInt4 + k >= localView.getTop()) && (paramInt4 + k < localView.getBottom()) && (canScroll(localView, true, paramInt1, paramInt2, paramInt3 + j - localView.getLeft(), paramInt4 + k - localView.getTop()))) { + return true; + } + i -= 1; + } + } + return (paramBoolean) && ((ViewCompat.canScrollHorizontally(paramView, -paramInt1)) || (ViewCompat.canScrollVertically(paramView, -paramInt2))); + } + + public void cancel() + { + this.mActivePointerId = -1; + clearMotionHistory(); + if (this.mVelocityTracker != null) + { + this.mVelocityTracker.recycle(); + this.mVelocityTracker = null; + } + } + + public void captureChildView(View paramView, int paramInt) + { + if (paramView.getParent() != this.mParentView) { + throw new IllegalArgumentException("captureChildView: parameter must be a descendant of the ViewDragHelper's tracked parent view (" + this.mParentView + ")"); + } + this.mCapturedView = paramView; + this.mActivePointerId = paramInt; + this.mCallback.onViewCaptured(paramView, paramInt); + setDragState(1); + } + + public boolean checkTouchSlop(int paramInt) + { + int j = this.mInitialMotionX.length; + int i = 0; + while (i < j) + { + if (checkTouchSlop(paramInt, i)) { + return true; + } + i += 1; + } + return false; + } + + public boolean checkTouchSlop(int paramInt1, int paramInt2) + { + boolean bool = true; + if (!isPointerDown(paramInt2)) { + bool = false; + } + label27: + float f2; + label105: + label110: + do + { + float f1; + do + { + return bool; + int i; + if ((paramInt1 & 0x1) == 1) + { + i = 1; + if ((paramInt1 & 0x2) != 2) { + break label105; + } + } + for (paramInt1 = 1;; paramInt1 = 0) + { + f1 = this.mLastMotionX[paramInt2] - this.mInitialMotionX[paramInt2]; + f2 = this.mLastMotionY[paramInt2] - this.mInitialMotionY[paramInt2]; + if ((i == 0) || (paramInt1 == 0)) { + break label110; + } + if (f1 * f1 + f2 * f2 > this.mTouchSlop * this.mTouchSlop) { + break; + } + return false; + i = 0; + break label27; + } + if (i == 0) { + break; + } + } while (Math.abs(f1) > this.mTouchSlop); + return false; + if (paramInt1 == 0) { + break; + } + } while (Math.abs(f2) > this.mTouchSlop); + return false; + return false; + } + + public boolean continueSettling(boolean paramBoolean) + { + if (this.mDragState == 2) + { + boolean bool2 = this.mScroller.computeScrollOffset(); + int i = this.mScroller.getCurrX(); + int j = this.mScroller.getCurrY(); + int k = i - this.mCapturedView.getLeft(); + int m = j - this.mCapturedView.getTop(); + if (k != 0) { + this.mCapturedView.offsetLeftAndRight(k); + } + if (m != 0) { + this.mCapturedView.offsetTopAndBottom(m); + } + if ((k != 0) || (m != 0)) { + this.mCallback.onViewPositionChanged(this.mCapturedView, i, j, k, m); + } + boolean bool1 = bool2; + if (bool2) + { + bool1 = bool2; + if (i == this.mScroller.getFinalX()) + { + bool1 = bool2; + if (j == this.mScroller.getFinalY()) + { + this.mScroller.abortAnimation(); + bool1 = this.mScroller.isFinished(); + } + } + } + if (!bool1) + { + if (!paramBoolean) { + break label196; + } + this.mParentView.post(this.mSetIdleRunnable); + } + } + while (this.mDragState == 2) + { + return true; + label196: + setDragState(0); + } + return false; + } + + public View findTopChildUnder(int paramInt1, int paramInt2) + { + int i = this.mParentView.getChildCount() - 1; + while (i >= 0) + { + View localView = this.mParentView.getChildAt(this.mCallback.getOrderedChildIndex(i)); + if ((paramInt1 >= localView.getLeft()) && (paramInt1 < localView.getRight()) && (paramInt2 >= localView.getTop()) && (paramInt2 < localView.getBottom())) { + return localView; + } + i -= 1; + } + return null; + } + + public void flingCapturedView(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if (!this.mReleaseInProgress) { + throw new IllegalStateException("Cannot flingCapturedView outside of a call to Callback#onViewReleased"); + } + this.mScroller.fling(this.mCapturedView.getLeft(), this.mCapturedView.getTop(), (int)VelocityTrackerCompat.getXVelocity(this.mVelocityTracker, this.mActivePointerId), (int)VelocityTrackerCompat.getYVelocity(this.mVelocityTracker, this.mActivePointerId), paramInt1, paramInt3, paramInt2, paramInt4); + setDragState(2); + } + + public int getActivePointerId() + { + return this.mActivePointerId; + } + + public View getCapturedView() + { + return this.mCapturedView; + } + + public int getEdgeSize() + { + return this.mEdgeSize; + } + + public float getMinVelocity() + { + return this.mMinVelocity; + } + + public int getTouchSlop() + { + return this.mTouchSlop; + } + + public int getViewDragState() + { + return this.mDragState; + } + + public boolean isCapturedViewUnder(int paramInt1, int paramInt2) + { + return isViewUnder(this.mCapturedView, paramInt1, paramInt2); + } + + public boolean isEdgeTouched(int paramInt) + { + int j = this.mInitialEdgesTouched.length; + int i = 0; + while (i < j) + { + if (isEdgeTouched(paramInt, i)) { + return true; + } + i += 1; + } + return false; + } + + public boolean isEdgeTouched(int paramInt1, int paramInt2) + { + return (isPointerDown(paramInt2)) && ((this.mInitialEdgesTouched[paramInt2] & paramInt1) != 0); + } + + public boolean isPointerDown(int paramInt) + { + return (this.mPointersDown & 1 << paramInt) != 0; + } + + public boolean isViewUnder(View paramView, int paramInt1, int paramInt2) + { + if (paramView == null) {} + while ((paramInt1 < paramView.getLeft()) || (paramInt1 >= paramView.getRight()) || (paramInt2 < paramView.getTop()) || (paramInt2 >= paramView.getBottom())) { + return false; + } + return true; + } + + public void processTouchEvent(MotionEvent paramMotionEvent) + { + int j = MotionEventCompat.getActionMasked(paramMotionEvent); + int i = MotionEventCompat.getActionIndex(paramMotionEvent); + if (j == 0) { + cancel(); + } + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + this.mVelocityTracker.addMovement(paramMotionEvent); + float f1; + float f2; + int k; + switch (j) + { + case 4: + default: + case 0: + case 5: + do + { + do + { + do + { + return; + f1 = paramMotionEvent.getX(); + f2 = paramMotionEvent.getY(); + i = MotionEventCompat.getPointerId(paramMotionEvent, 0); + paramMotionEvent = findTopChildUnder((int)f1, (int)f2); + saveInitialMotion(f1, f2, i); + tryCaptureViewForDrag(paramMotionEvent, i); + j = this.mInitialEdgesTouched[i]; + } while ((this.mTrackingEdges & j) == 0); + this.mCallback.onEdgeTouched(this.mTrackingEdges & j, i); + return; + j = MotionEventCompat.getPointerId(paramMotionEvent, i); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + saveInitialMotion(f1, f2, j); + if (this.mDragState != 0) { + break; + } + tryCaptureViewForDrag(findTopChildUnder((int)f1, (int)f2), j); + i = this.mInitialEdgesTouched[j]; + } while ((this.mTrackingEdges & i) == 0); + this.mCallback.onEdgeTouched(this.mTrackingEdges & i, j); + return; + } while (!isCapturedViewUnder((int)f1, (int)f2)); + tryCaptureViewForDrag(this.mCapturedView, j); + return; + case 2: + if (this.mDragState == 1) + { + i = MotionEventCompat.findPointerIndex(paramMotionEvent, this.mActivePointerId); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + i = (int)(f1 - this.mLastMotionX[this.mActivePointerId]); + j = (int)(f2 - this.mLastMotionY[this.mActivePointerId]); + dragTo(this.mCapturedView.getLeft() + i, this.mCapturedView.getTop() + j, i, j); + saveLastMotion(paramMotionEvent); + return; + } + j = MotionEventCompat.getPointerCount(paramMotionEvent); + i = 0; + for (;;) + { + float f3; + float f4; + if (i < j) + { + k = MotionEventCompat.getPointerId(paramMotionEvent, i); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + f3 = f1 - this.mInitialMotionX[k]; + f4 = f2 - this.mInitialMotionY[k]; + reportNewEdgeDrags(f3, f4, k); + if (this.mDragState != 1) { + break label456; + } + } + View localView; + do + { + saveLastMotion(paramMotionEvent); + return; + localView = findTopChildUnder((int)f1, (int)f2); + } while ((checkTouchSlop(localView, f3, f4)) && (tryCaptureViewForDrag(localView, k))); + i += 1; + } + case 6: + int m = MotionEventCompat.getPointerId(paramMotionEvent, i); + if ((this.mDragState == 1) && (m == this.mActivePointerId)) + { + k = -1; + int n = MotionEventCompat.getPointerCount(paramMotionEvent); + i = 0; + j = k; + if (i < n) + { + j = MotionEventCompat.getPointerId(paramMotionEvent, i); + if (j == this.mActivePointerId) {} + do + { + i += 1; + break; + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + } while ((findTopChildUnder((int)f1, (int)f2) != this.mCapturedView) || (!tryCaptureViewForDrag(this.mCapturedView, j))); + j = this.mActivePointerId; + } + if (j == -1) { + releaseViewForPointerUp(); + } + } + clearMotionHistory(m); + return; + case 1: + label456: + if (this.mDragState == 1) { + releaseViewForPointerUp(); + } + cancel(); + return; + } + if (this.mDragState == 1) { + dispatchViewReleased(0.0F, 0.0F); + } + cancel(); + } + + void setDragState(int paramInt) + { + if (this.mDragState != paramInt) + { + this.mDragState = paramInt; + this.mCallback.onViewDragStateChanged(paramInt); + if (paramInt == 0) { + this.mCapturedView = null; + } + } + } + + public void setEdgeTrackingEnabled(int paramInt) + { + this.mTrackingEdges = paramInt; + } + + public void setMinVelocity(float paramFloat) + { + this.mMinVelocity = paramFloat; + } + + public boolean settleCapturedViewAt(int paramInt1, int paramInt2) + { + if (!this.mReleaseInProgress) { + throw new IllegalStateException("Cannot settleCapturedViewAt outside of a call to Callback#onViewReleased"); + } + return forceSettleCapturedViewAt(paramInt1, paramInt2, (int)VelocityTrackerCompat.getXVelocity(this.mVelocityTracker, this.mActivePointerId), (int)VelocityTrackerCompat.getYVelocity(this.mVelocityTracker, this.mActivePointerId)); + } + + public boolean shouldInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int j = MotionEventCompat.getActionMasked(paramMotionEvent); + int i = MotionEventCompat.getActionIndex(paramMotionEvent); + if (j == 0) { + cancel(); + } + if (this.mVelocityTracker == null) { + this.mVelocityTracker = VelocityTracker.obtain(); + } + this.mVelocityTracker.addMovement(paramMotionEvent); + switch (j) + { + } + while (this.mDragState == 1) + { + return true; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + i = MotionEventCompat.getPointerId(paramMotionEvent, 0); + saveInitialMotion(f1, f2, i); + paramMotionEvent = findTopChildUnder((int)f1, (int)f2); + if ((paramMotionEvent == this.mCapturedView) && (this.mDragState == 2)) { + tryCaptureViewForDrag(paramMotionEvent, i); + } + j = this.mInitialEdgesTouched[i]; + if ((this.mTrackingEdges & j) != 0) + { + this.mCallback.onEdgeTouched(this.mTrackingEdges & j, i); + continue; + j = MotionEventCompat.getPointerId(paramMotionEvent, i); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + saveInitialMotion(f1, f2, j); + if (this.mDragState == 0) + { + i = this.mInitialEdgesTouched[j]; + if ((this.mTrackingEdges & i) != 0) { + this.mCallback.onEdgeTouched(this.mTrackingEdges & i, j); + } + } + else if (this.mDragState == 2) + { + paramMotionEvent = findTopChildUnder((int)f1, (int)f2); + if (paramMotionEvent == this.mCapturedView) + { + tryCaptureViewForDrag(paramMotionEvent, j); + continue; + j = MotionEventCompat.getPointerCount(paramMotionEvent); + i = 0; + for (;;) + { + int k; + float f3; + float f4; + if (i < j) + { + k = MotionEventCompat.getPointerId(paramMotionEvent, i); + f1 = MotionEventCompat.getX(paramMotionEvent, i); + f2 = MotionEventCompat.getY(paramMotionEvent, i); + f3 = f1 - this.mInitialMotionX[k]; + f4 = f2 - this.mInitialMotionY[k]; + reportNewEdgeDrags(f3, f4, k); + if (this.mDragState != 1) { + break label391; + } + } + label391: + View localView; + do + { + saveLastMotion(paramMotionEvent); + break; + localView = findTopChildUnder((int)f1, (int)f2); + } while ((localView != null) && (checkTouchSlop(localView, f3, f4)) && (tryCaptureViewForDrag(localView, k))); + i += 1; + } + clearMotionHistory(MotionEventCompat.getPointerId(paramMotionEvent, i)); + continue; + cancel(); + } + } + } + } + return false; + } + + public boolean smoothSlideViewTo(View paramView, int paramInt1, int paramInt2) + { + this.mCapturedView = paramView; + this.mActivePointerId = -1; + return forceSettleCapturedViewAt(paramInt1, paramInt2, 0, 0); + } + + boolean tryCaptureViewForDrag(View paramView, int paramInt) + { + if ((paramView == this.mCapturedView) && (this.mActivePointerId == paramInt)) { + return true; + } + if ((paramView != null) && (this.mCallback.tryCaptureView(paramView, paramInt))) + { + this.mActivePointerId = paramInt; + captureChildView(paramView, paramInt); + return true; + } + return false; + } + + public static abstract class Callback + { + public int clampViewPositionHorizontal(View paramView, int paramInt1, int paramInt2) + { + return 0; + } + + public int clampViewPositionVertical(View paramView, int paramInt1, int paramInt2) + { + return 0; + } + + public int getOrderedChildIndex(int paramInt) + { + return paramInt; + } + + public int getViewHorizontalDragRange(View paramView) + { + return 0; + } + + public int getViewVerticalDragRange(View paramView) + { + return 0; + } + + public void onEdgeDragStarted(int paramInt1, int paramInt2) {} + + public boolean onEdgeLock(int paramInt) + { + return false; + } + + public void onEdgeTouched(int paramInt1, int paramInt2) {} + + public void onViewCaptured(View paramView, int paramInt) {} + + public void onViewDragStateChanged(int paramInt) {} + + public void onViewPositionChanged(View paramView, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {} + + public void onViewReleased(View paramView, float paramFloat1, float paramFloat2) {} + + public abstract boolean tryCaptureView(View paramView, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: android.support.v4.widget.ViewDragHelper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a.java b/com.tencent.token/classes.jar/b/a.java new file mode 100755 index 00000000000..5a4d4c323c1 --- /dev/null +++ b/com.tencent.token/classes.jar/b/a.java @@ -0,0 +1,52 @@ +package b; + +import java.io.Serializable; + +public final class a + implements Serializable +{ + public static final a a; + public static final a b; + public static final a c; + public static final a d; + public static final a e; + public static final a f; + private static a[] h; + private int i; + private String j = new String(); + + static + { + if (!a.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + g = bool; + h = new a[6]; + a = new a(0, 0, "CT_NONE"); + b = new a(1, 1, "CT_GPRS"); + c = new a(2, 2, "CT_WIFI"); + d = new a(3, 3, "CT_GPRS_WAP"); + e = new a(4, 4, "CT_GPRS_NET"); + f = new a(5, 5, "CT_3G_NET"); + return; + } + } + + private a(int paramInt1, int paramInt2, String paramString) + { + this.j = paramString; + this.i = paramInt2; + h[paramInt1] = this; + } + + public String toString() + { + return this.j; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/a.java b/com.tencent.token/classes.jar/b/a/a.java new file mode 100755 index 00000000000..d5a22935b2a --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/a.java @@ -0,0 +1,54 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class a + extends JceStruct +{ + static byte[] g; + static byte[] h; + public long a = 0L; + public long b = 0L; + public String c = ""; + public byte[] d = null; + public byte[] e = null; + public int f = 0; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + this.c = paramJceInputStream.readString(2, true); + if (g == null) + { + g = (byte[])new byte[1]; + ((byte[])g)[0] = 0; + } + this.d = ((byte[])paramJceInputStream.read(g, 3, true)); + if (h == null) + { + h = (byte[])new byte[1]; + ((byte[])h)[0] = 0; + } + this.e = ((byte[])paramJceInputStream.read(h, 4, true)); + this.f = paramJceInputStream.read(this.f, 5, true); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + paramJceOutputStream.write(this.d, 3); + paramJceOutputStream.write(this.e, 4); + paramJceOutputStream.write(this.f, 5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/b.java b/com.tencent.token/classes.jar/b/a/b.java new file mode 100755 index 00000000000..e6e3a3b93d4 --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/b.java @@ -0,0 +1,30 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class b + extends JceStruct +{ + public long a = 0L; + public long b = 0L; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/c.java b/com.tencent.token/classes.jar/b/a/c.java new file mode 100755 index 00000000000..49df8efc07a --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/c.java @@ -0,0 +1,55 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class c + extends JceStruct +{ + static byte[] h; + public long a = 0L; + public String b = ""; + public long c = 0L; + public byte[] d = null; + public String e = ""; + public String f = ""; + public String g = ""; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.readString(1, true); + this.c = paramJceInputStream.read(this.c, 2, true); + if (h == null) + { + h = (byte[])new byte[1]; + ((byte[])h)[0] = 0; + } + this.d = ((byte[])paramJceInputStream.read(h, 3, true)); + this.e = paramJceInputStream.readString(4, true); + this.f = paramJceInputStream.readString(5, false); + this.g = paramJceInputStream.readString(6, false); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + paramJceOutputStream.write(this.d, 3); + paramJceOutputStream.write(this.e, 4); + if (this.f != null) { + paramJceOutputStream.write(this.f, 5); + } + if (this.g != null) { + paramJceOutputStream.write(this.g, 6); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/d.java b/com.tencent.token/classes.jar/b/a/d.java new file mode 100755 index 00000000000..9a11e879796 --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/d.java @@ -0,0 +1,38 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class d + extends JceStruct +{ + public long a = 0L; + public long b = 0L; + + public d() {} + + public d(long paramLong1, long paramLong2) + { + this.a = paramLong1; + this.b = paramLong2; + } + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/e.java b/com.tencent.token/classes.jar/b/a/e.java new file mode 100755 index 00000000000..2ca584d93ee --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/e.java @@ -0,0 +1,42 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class e + extends JceStruct +{ + public long a = 0L; + public long b = 0L; + public String c = ""; + public int d = 0; + public int e = 0; + public String f = ""; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + this.c = paramJceInputStream.readString(2, true); + this.d = paramJceInputStream.read(this.d, 3, true); + this.e = paramJceInputStream.read(this.e, 4, true); + this.f = paramJceInputStream.readString(5, true); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + paramJceOutputStream.write(this.d, 3); + paramJceOutputStream.write(this.e, 4); + paramJceOutputStream.write(this.f, 5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/f.java b/com.tencent.token/classes.jar/b/a/f.java new file mode 100755 index 00000000000..3991c2f856d --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/f.java @@ -0,0 +1,33 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class f + extends JceStruct +{ + public long a = 0L; + public int b = 0; + public String c = ""; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + this.c = paramJceInputStream.readString(2, true); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/g.java b/com.tencent.token/classes.jar/b/a/g.java new file mode 100755 index 00000000000..ea56a12354e --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/g.java @@ -0,0 +1,33 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class g + extends JceStruct +{ + public long a = 0L; + public int b = 0; + public long c = 0L; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, false); + this.c = paramJceInputStream.read(this.c, 2, false); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/b/a/h.java b/com.tencent.token/classes.jar/b/a/h.java new file mode 100755 index 00000000000..acf987e6d89 --- /dev/null +++ b/com.tencent.token/classes.jar/b/a/h.java @@ -0,0 +1,77 @@ +package b.a; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public final class h + extends JceStruct +{ + static byte[] p; + public long a = 0L; + public long b = 0L; + public String c = ""; + public int d = 0; + public long e = 0L; + public int f = 0; + public String g = ""; + public String h = ""; + public String i = ""; + public String j = ""; + public byte[] k = null; + public String l = ""; + public long m = 0L; + public long n = 0L; + public String o = ""; + + public void readFrom(JceInputStream paramJceInputStream) + { + this.a = paramJceInputStream.read(this.a, 0, true); + this.b = paramJceInputStream.read(this.b, 1, true); + this.c = paramJceInputStream.readString(2, true); + this.d = paramJceInputStream.read(this.d, 3, true); + this.e = paramJceInputStream.read(this.e, 4, true); + this.f = paramJceInputStream.read(this.f, 5, true); + this.g = paramJceInputStream.readString(6, true); + this.h = paramJceInputStream.readString(7, true); + this.i = paramJceInputStream.readString(8, true); + this.j = paramJceInputStream.readString(9, true); + if (p == null) + { + p = (byte[])new byte[1]; + ((byte[])p)[0] = 0; + } + this.k = ((byte[])paramJceInputStream.read(p, 10, true)); + this.l = paramJceInputStream.readString(11, true); + this.m = paramJceInputStream.read(this.m, 12, false); + this.n = paramJceInputStream.read(this.n, 13, false); + this.o = paramJceInputStream.readString(14, false); + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.a, 0); + paramJceOutputStream.write(this.b, 1); + paramJceOutputStream.write(this.c, 2); + paramJceOutputStream.write(this.d, 3); + paramJceOutputStream.write(this.e, 4); + paramJceOutputStream.write(this.f, 5); + paramJceOutputStream.write(this.g, 6); + paramJceOutputStream.write(this.h, 7); + paramJceOutputStream.write(this.i, 8); + paramJceOutputStream.write(this.j, 9); + paramJceOutputStream.write(this.k, 10); + paramJceOutputStream.write(this.l, 11); + paramJceOutputStream.write(this.m, 12); + paramJceOutputStream.write(this.n, 13); + if (this.o != null) { + paramJceOutputStream.write(this.o, 14); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: b.a.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/a/a/a.java b/com.tencent.token/classes.jar/c/a/a/a.java new file mode 100755 index 00000000000..c332c20f7ee --- /dev/null +++ b/com.tencent.token/classes.jar/c/a/a/a.java @@ -0,0 +1,29 @@ +package c.a.a; + +public class a +{ + private static Object a = new Object(); + private static c.a.b.c.a b; + + public Object a(int paramInt) + { + if (5 == paramInt) + { + if (b == null) {} + synchronized (a) + { + if (b == null) { + b = new c.a.b.c.a(0L); + } + return b; + } + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.a.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/a/b/a/a.java b/com.tencent.token/classes.jar/c/a/b/a/a.java new file mode 100755 index 00000000000..9b6fe7b3bcd --- /dev/null +++ b/com.tencent.token/classes.jar/c/a/b/a/a.java @@ -0,0 +1,341 @@ +package c.a.b.a; + +import android.content.Context; +import android.text.TextUtils; +import tmsdk.common.c.a.h; + +public class a +{ + private Context a; + private h b; + + public a(Context paramContext) + { + this.a = paramContext; + this.b = new h("sk"); + } + + private void a(String paramString1, String paramString2) + { + paramString2 = d.c.a.a(this.a, paramString2); + if (paramString2 == null) { + return; + } + this.b.a(paramString1, paramString2, true); + } + + private String b(String paramString1, String paramString2) + { + paramString1 = this.b.a(paramString1, paramString2); + if (TextUtils.isEmpty(paramString1)) { + return null; + } + return d.c.a.b(this.a, paramString1); + } + + private long h(String paramString) + { + try + { + long l = Long.parseLong(paramString); + return l; + } + catch (Exception paramString) {} + return 0L; + } + + private int i(String paramString) + { + try + { + int i = Integer.parseInt(paramString); + return i; + } + catch (Exception paramString) {} + return 0; + } + + private boolean j(String paramString) + { + try + { + boolean bool = Boolean.parseBoolean(paramString); + return bool; + } + catch (Exception paramString) {} + return false; + } + + public String a() + { + return b("key_ek", ""); + } + + public void a(int paramInt) + { + String str = Integer.toString(paramInt); + if (str == null) { + return; + } + a("key_ha", str); + } + + public void a(long paramLong) + { + a("key_gd_ck_tm", Long.toString(paramLong)); + } + + public void a(a.e.a parama) + { + a("key_gd_1", parama.a); + a("key_gd_2", parama.b); + a("key_gd_3", parama.c); + a("key_gd_4", parama.d); + a("key_gd_5", parama.e); + a("key_gd_6", Integer.toString(parama.f)); + a("key_gd_7", parama.g); + a("key_gd_8", Integer.toString(parama.h)); + a("key_gd_9", parama.i); + a("key_gd_10", Integer.toString(parama.j)); + a("key_gd_11", Integer.toString(parama.k)); + a("key_gd_12", Boolean.toString(parama.l)); + a("key_gd_13", parama.m); + a("key_gd_14", parama.n); + a("key_gd_15", Integer.toString(parama.o)); + a("key_gd_16", parama.p); + a("key_gd_17", Integer.toString(parama.q)); + a("key_gd_18", Integer.toString(parama.r)); + a("key_gd_19", parama.s); + a("key_gd_20", parama.t); + a("key_gd_21", Integer.toString(parama.u)); + a("key_gd_22", parama.v); + a("key_gd_23", Long.toString(parama.w)); + a("key_gd_24", Long.toString(parama.x)); + a("key_gd_25", Long.toString(parama.y)); + a("key_gd_26", parama.z); + a("key_gd_27", parama.A); + a("key_gd_28", parama.B); + a("key_gd_29", parama.P); + a("key_gd_30", Integer.toString(parama.Q)); + } + + public void a(String paramString) + { + a("key_ek", paramString); + } + + public String b() + { + return b("key_sid", ""); + } + + public void b(int paramInt) + { + String str = Integer.toString(paramInt); + if (str == null) { + return; + } + a("key_ha_sq", str); + } + + public void b(long paramLong) + { + String str = Long.toString(paramLong); + if (str == null) { + return; + } + a("key_gd_tm", str); + } + + public void b(String paramString) + { + a("key_sid", paramString); + } + + public String c() + { + return b("key_gd", ""); + } + + public void c(int paramInt) + { + String str = Integer.toString(paramInt); + if (str == null) { + return; + } + a("key_itsc", str); + } + + public void c(long paramLong) + { + String str = Long.toString(paramLong); + if (str == null) { + return; + } + a("key_lt_tm", str); + } + + public void c(String paramString) + { + a("key_gd", paramString); + } + + public String d() + { + return null; + } + + public void d(String paramString) + { + a("key_pl", paramString); + } + + public long e() + { + String str = b("key_gd_ck_tm", ""); + try + { + long l = Long.parseLong(str); + return l; + } + catch (Exception localException) {} + return 0L; + } + + public void e(String paramString) + { + a("key_mc", paramString); + } + + public long f() + { + String str = b("key_gd_tm", ""); + try + { + long l = Long.parseLong(str); + return l; + } + catch (Exception localException) {} + return 0L; + } + + public void f(String paramString) + { + a("key_nu", paramString); + } + + public int g() + { + String str = b("key_ha", ""); + try + { + int i = Integer.parseInt(str); + return i; + } + catch (Exception localException) {} + return 0; + } + + public void g(String paramString) + { + a("key_tc", paramString); + } + + public int h() + { + String str = b("key_ha_sq", ""); + try + { + int i = Integer.parseInt(str); + return i; + } + catch (Exception localException) {} + return 0; + } + + public long i() + { + String str = b("key_lt_tm", ""); + try + { + long l = Long.parseLong(str); + return l; + } + catch (Exception localException) {} + return 0L; + } + + public a.e.a j() + { + a.e.a locala = new a.e.a(); + locala.a = b("key_gd_1", ""); + locala.b = b("key_gd_2", ""); + locala.c = b("key_gd_3", ""); + locala.d = b("key_gd_4", ""); + locala.e = b("key_gd_5", ""); + locala.f = i(b("key_gd_6", "")); + locala.g = b("key_gd_7", ""); + locala.h = i(b("key_gd_8", "")); + locala.i = b("key_gd_9", ""); + locala.j = i(b("key_gd_10", "")); + locala.k = i(b("key_gd_11", "")); + locala.l = j(b("key_gd_12", "")); + locala.m = b("key_gd_13", ""); + locala.n = b("key_gd_14", ""); + locala.o = i(b("key_gd_15", "")); + locala.p = b("key_gd_16", ""); + locala.q = ((short)i(b("key_gd_17", ""))); + locala.r = i(b("key_gd_18", "")); + locala.s = b("key_gd_19", ""); + locala.t = b("key_gd_20", ""); + locala.u = i(b("key_gd_21", "")); + locala.v = b("key_gd_22", ""); + locala.w = h(b("key_gd_23", "")); + locala.x = h(b("key_gd_24", "")); + locala.y = h(b("key_gd_25", "")); + locala.z = b("key_gd_26", ""); + locala.A = b("key_gd_27", ""); + locala.B = b("key_gd_28", ""); + locala.P = b("key_gd_29", ""); + locala.Q = i(b("key_gd_30", "")); + return locala; + } + + public int k() + { + String str = b("key_itsc", ""); + try + { + int i = Integer.parseInt(str); + return i; + } + catch (Exception localException) {} + return 0; + } + + public String l() + { + return b("key_pl", ""); + } + + public String m() + { + return b("key_mc", ""); + } + + public String n() + { + return b("key_nu", ""); + } + + public String o() + { + return b("key_tc", ""); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.a.b.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/a/b/a/b.java b/com.tencent.token/classes.jar/c/a/b/a/b.java new file mode 100755 index 00000000000..e7459b3bcd8 --- /dev/null +++ b/com.tencent.token/classes.jar/c/a/b/a/b.java @@ -0,0 +1,969 @@ +package c.a.b.a; + +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Environment; +import android.os.StatFs; +import android.text.TextUtils; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import tmsdk.common.e.h; +import tmsdk.common.e.i; + +public class b + implements tmsdk.common.d.a.b.g +{ + private final String a = "SharkOutlet"; + private a b; + private long c = -1L; + private int d; + private String e; + private int f; + + public b(Context paramContext) + { + this.b = new a(paramContext); + } + + public static void a(File paramFile, h paramh) + { + paramFile = new StatFs(paramFile.getPath()); + long l = paramFile.getBlockSize(); + paramh.a = (paramFile.getAvailableBlocks() * l); + paramh.b = (paramFile.getBlockCount() * l); + } + + private static void a(h paramh) + { + if (t()) + { + a(Environment.getExternalStorageDirectory(), paramh); + return; + } + paramh.a = 0L; + paramh.b = 0L; + } + + public static String[] a(Context paramContext) + { + String str2 = Build.MODEL; + String str3 = Build.VERSION.RELEASE; + Object localObject = ""; + try + { + String str1 = f("/proc/cpuinfo").split("\\n")[0]; + localObject = str1; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + return new String[] { str2, str3, localObject, Integer.toString(tmsdk.common.e.g.d(paramContext)) + "*" + Integer.toString(tmsdk.common.e.g.e(paramContext)) }; + } + + private String b(ArrayList paramArrayList) + { + if (paramArrayList == null) { + return null; + } + if (paramArrayList.size() <= 0) { + return ""; + } + StringBuilder localStringBuilder = new StringBuilder(); + int j = paramArrayList.size(); + int i = 0; + if (i < j) + { + String str = (String)paramArrayList.get(i); + if (TextUtils.isEmpty(str)) {} + for (;;) + { + i += 1; + break; + localStringBuilder.append(str); + if (j - 1 != i) { + localStringBuilder.append("|"); + } + } + } + return localStringBuilder.toString(); + } + + private void c(ArrayList paramArrayList) + { + if ((paramArrayList == null) || (paramArrayList.size() <= 0)) { + return; + } + int j = paramArrayList.size(); + int i = 0; + label19: + if (i < j) { + if (paramArrayList.get(i) != null) { + break label39; + } + } + for (;;) + { + i += 1; + break label19; + break; + label39: + new StringBuilder().append("printIpList() ipList[").append(i).append("]: ").append((String)paramArrayList.get(i)).toString(); + new StringBuilder().append("printIpList() ipList[").append(i).append("]: ").append((String)paramArrayList.get(i)).toString(); + } + } + + private String e(String paramString) + { + String str = paramString; + if (paramString == null) { + str = ""; + } + return str; + } + + /* Error */ + private static String f(String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore_2 + // 2: new 164 java/io/BufferedInputStream + // 5: dup + // 6: new 166 java/io/FileInputStream + // 9: dup + // 10: aload_0 + // 11: invokespecial 167 java/io/FileInputStream: (Ljava/lang/String;)V + // 14: invokespecial 170 java/io/BufferedInputStream: (Ljava/io/InputStream;)V + // 17: astore_0 + // 18: new 172 java/io/ByteArrayOutputStream + // 21: dup + // 22: invokespecial 173 java/io/ByteArrayOutputStream: ()V + // 25: astore_3 + // 26: aload_3 + // 27: astore 5 + // 29: aload_0 + // 30: astore 4 + // 32: sipush 1024 + // 35: newarray byte + // 37: astore_2 + // 38: aload_3 + // 39: astore 5 + // 41: aload_0 + // 42: astore 4 + // 44: aload_0 + // 45: aload_2 + // 46: invokevirtual 177 java/io/BufferedInputStream:read ([B)I + // 49: istore_1 + // 50: iload_1 + // 51: iconst_m1 + // 52: if_icmpeq +53 -> 105 + // 55: aload_3 + // 56: astore 5 + // 58: aload_0 + // 59: astore 4 + // 61: aload_3 + // 62: aload_2 + // 63: iconst_0 + // 64: iload_1 + // 65: invokevirtual 181 java/io/ByteArrayOutputStream:write ([BII)V + // 68: goto -30 -> 38 + // 71: astore 4 + // 73: aload_0 + // 74: astore_2 + // 75: aload_3 + // 76: astore_0 + // 77: aload 4 + // 79: astore_3 + // 80: aload_3 + // 81: invokevirtual 182 java/io/FileNotFoundException:printStackTrace ()V + // 84: aload_0 + // 85: ifnull +7 -> 92 + // 88: aload_0 + // 89: invokevirtual 185 java/io/ByteArrayOutputStream:close ()V + // 92: aload_2 + // 93: ifnull +7 -> 100 + // 96: aload_2 + // 97: invokevirtual 186 java/io/BufferedInputStream:close ()V + // 100: ldc 92 + // 102: astore_2 + // 103: aload_2 + // 104: areturn + // 105: aload_3 + // 106: astore 5 + // 108: aload_0 + // 109: astore 4 + // 111: new 101 java/lang/String + // 114: dup + // 115: aload_3 + // 116: invokevirtual 190 java/io/ByteArrayOutputStream:toByteArray ()[B + // 119: invokespecial 193 java/lang/String: ([B)V + // 122: astore 6 + // 124: aload_3 + // 125: ifnull +7 -> 132 + // 128: aload_3 + // 129: invokevirtual 185 java/io/ByteArrayOutputStream:close ()V + // 132: aload 6 + // 134: astore_2 + // 135: aload_0 + // 136: ifnull -33 -> 103 + // 139: aload_0 + // 140: invokevirtual 186 java/io/BufferedInputStream:close ()V + // 143: aload 6 + // 145: areturn + // 146: astore_0 + // 147: aload_0 + // 148: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 151: aload 6 + // 153: areturn + // 154: astore_2 + // 155: aload_2 + // 156: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 159: goto -27 -> 132 + // 162: astore_0 + // 163: aload_0 + // 164: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 167: goto -75 -> 92 + // 170: astore_0 + // 171: aload_0 + // 172: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 175: goto -75 -> 100 + // 178: astore 6 + // 180: aconst_null + // 181: astore_2 + // 182: aconst_null + // 183: astore_0 + // 184: aload_2 + // 185: astore 5 + // 187: aload_0 + // 188: astore 4 + // 190: aload 6 + // 192: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 195: aload_2 + // 196: ifnull +7 -> 203 + // 199: aload_2 + // 200: invokevirtual 185 java/io/ByteArrayOutputStream:close ()V + // 203: aload_0 + // 204: ifnull -104 -> 100 + // 207: aload_0 + // 208: invokevirtual 186 java/io/BufferedInputStream:close ()V + // 211: goto -111 -> 100 + // 214: astore_0 + // 215: aload_0 + // 216: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 219: goto -119 -> 100 + // 222: astore_2 + // 223: aload_2 + // 224: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 227: goto -24 -> 203 + // 230: astore_2 + // 231: aconst_null + // 232: astore_3 + // 233: aconst_null + // 234: astore_0 + // 235: aload_3 + // 236: ifnull +7 -> 243 + // 239: aload_3 + // 240: invokevirtual 185 java/io/ByteArrayOutputStream:close ()V + // 243: aload_0 + // 244: ifnull +7 -> 251 + // 247: aload_0 + // 248: invokevirtual 186 java/io/BufferedInputStream:close ()V + // 251: aload_2 + // 252: athrow + // 253: astore_3 + // 254: aload_3 + // 255: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 258: goto -15 -> 243 + // 261: astore_0 + // 262: aload_0 + // 263: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 266: goto -15 -> 251 + // 269: astore_2 + // 270: aconst_null + // 271: astore_3 + // 272: goto -37 -> 235 + // 275: astore_2 + // 276: aload 5 + // 278: astore_3 + // 279: aload 4 + // 281: astore_0 + // 282: goto -47 -> 235 + // 285: astore_3 + // 286: aload_2 + // 287: astore 4 + // 289: aload_3 + // 290: astore_2 + // 291: aload_0 + // 292: astore_3 + // 293: aload 4 + // 295: astore_0 + // 296: goto -61 -> 235 + // 299: astore 6 + // 301: aconst_null + // 302: astore_2 + // 303: goto -119 -> 184 + // 306: astore 6 + // 308: aload_3 + // 309: astore_2 + // 310: goto -126 -> 184 + // 313: astore_3 + // 314: aconst_null + // 315: astore_0 + // 316: goto -236 -> 80 + // 319: astore_3 + // 320: aconst_null + // 321: astore 4 + // 323: aload_0 + // 324: astore_2 + // 325: aload 4 + // 327: astore_0 + // 328: goto -248 -> 80 + // Local variable table: + // start length slot name signature + // 0 331 0 paramString String + // 49 16 1 i int + // 1 134 2 localObject1 Object + // 154 2 2 localIOException1 IOException + // 181 19 2 localObject2 Object + // 222 2 2 localIOException2 IOException + // 230 22 2 localObject3 Object + // 269 1 2 localObject4 Object + // 275 12 2 localObject5 Object + // 290 35 2 localObject6 Object + // 25 215 3 localObject7 Object + // 253 2 3 localIOException3 IOException + // 271 8 3 localObject8 Object + // 285 5 3 localObject9 Object + // 292 17 3 str1 String + // 313 1 3 localFileNotFoundException1 java.io.FileNotFoundException + // 319 1 3 localFileNotFoundException2 java.io.FileNotFoundException + // 30 30 4 str2 String + // 71 7 4 localFileNotFoundException3 java.io.FileNotFoundException + // 109 217 4 localObject10 Object + // 27 250 5 localObject11 Object + // 122 30 6 str3 String + // 178 13 6 localIOException4 IOException + // 299 1 6 localIOException5 IOException + // 306 1 6 localIOException6 IOException + // Exception table: + // from to target type + // 32 38 71 java/io/FileNotFoundException + // 44 50 71 java/io/FileNotFoundException + // 61 68 71 java/io/FileNotFoundException + // 111 124 71 java/io/FileNotFoundException + // 139 143 146 java/io/IOException + // 128 132 154 java/io/IOException + // 88 92 162 java/io/IOException + // 96 100 170 java/io/IOException + // 2 18 178 java/io/IOException + // 207 211 214 java/io/IOException + // 199 203 222 java/io/IOException + // 2 18 230 finally + // 239 243 253 java/io/IOException + // 247 251 261 java/io/IOException + // 18 26 269 finally + // 32 38 275 finally + // 44 50 275 finally + // 61 68 275 finally + // 111 124 275 finally + // 190 195 275 finally + // 80 84 285 finally + // 18 26 299 java/io/IOException + // 32 38 306 java/io/IOException + // 44 50 306 java/io/IOException + // 61 68 306 java/io/IOException + // 111 124 306 java/io/IOException + // 2 18 313 java/io/FileNotFoundException + // 18 26 319 java/io/FileNotFoundException + } + + private int g(String paramString) + { + try + { + int i = Integer.parseInt(paramString); + return i; + } + catch (Exception paramString) {} + return 0; + } + + private ArrayList h(String paramString) + { + if (TextUtils.isEmpty(paramString)) {} + do + { + return null; + new StringBuilder().append("getIpListFromStr() ipListStr: ").append(paramString).toString(); + new StringBuilder().append("getIpListFromStr() ipListStr: ").append(paramString).toString(); + paramString = paramString.split("\\|"); + } while ((paramString == null) || (paramString.length <= 0)); + ArrayList localArrayList = new ArrayList(); + Collections.addAll(localArrayList, paramString); + return localArrayList; + } + + public static String n() + { + return Build.VERSION.INCREMENTAL; + } + + public static String o() + { + return Build.VERSION.RELEASE; + } + + public static String p() + { + return Build.BRAND; + } + + private static long r() + { + StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath()); + long l = localStatFs.getBlockSize(); + return localStatFs.getBlockCount() * l; + } + + private static String s() + { + String str1 = ""; + try + { + InputStream localInputStream = new ProcessBuilder(new String[] { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" }).start().getInputStream(); + byte[] arrayOfByte = new byte[24]; + while (localInputStream.read(arrayOfByte) != -1) { + str1 = str1 + new String(arrayOfByte); + } + localInputStream.close(); + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + String str2 = "N/A"; + } + } + return str1.trim(); + } + + private static boolean t() + { + return Environment.getExternalStorageState().equals("mounted"); + } + + /* Error */ + private long u() + { + // Byte code: + // 0: aload_0 + // 1: getfield 29 c/a/b/a/b:c J + // 4: ldc2_w 26 + // 7: lcmp + // 8: ifne +76 -> 84 + // 11: new 41 java/io/File + // 14: dup + // 15: ldc_w 269 + // 18: invokespecial 270 java/io/File: (Ljava/lang/String;)V + // 21: astore_1 + // 22: aload_1 + // 23: invokevirtual 273 java/io/File:exists ()Z + // 26: ifeq +58 -> 84 + // 29: new 275 java/io/DataInputStream + // 32: dup + // 33: new 166 java/io/FileInputStream + // 36: dup + // 37: aload_1 + // 38: invokespecial 278 java/io/FileInputStream: (Ljava/io/File;)V + // 41: invokespecial 279 java/io/DataInputStream: (Ljava/io/InputStream;)V + // 44: astore_2 + // 45: aload_2 + // 46: astore_1 + // 47: aload_2 + // 48: invokevirtual 282 java/io/DataInputStream:readLine ()Ljava/lang/String; + // 51: astore_3 + // 52: aload_3 + // 53: ifnonnull +45 -> 98 + // 56: aload_2 + // 57: astore_1 + // 58: new 162 java/io/IOException + // 61: dup + // 62: ldc_w 284 + // 65: invokespecial 285 java/io/IOException: (Ljava/lang/String;)V + // 68: athrow + // 69: astore_3 + // 70: aload_2 + // 71: astore_1 + // 72: aload_3 + // 73: invokevirtual 182 java/io/FileNotFoundException:printStackTrace ()V + // 76: aload_2 + // 77: ifnull +7 -> 84 + // 80: aload_2 + // 81: invokevirtual 286 java/io/DataInputStream:close ()V + // 84: aload_0 + // 85: getfield 29 c/a/b/a/b:c J + // 88: lconst_0 + // 89: lcmp + // 90: ifle +133 -> 223 + // 93: aload_0 + // 94: getfield 29 c/a/b/a/b:c J + // 97: lreturn + // 98: aload_2 + // 99: astore_1 + // 100: aload_0 + // 101: aload_3 + // 102: invokevirtual 253 java/lang/String:trim ()Ljava/lang/String; + // 105: ldc_w 288 + // 108: invokevirtual 105 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 111: iconst_1 + // 112: aaload + // 113: invokestatic 294 java/lang/Long:parseLong (Ljava/lang/String;)J + // 116: putfield 29 c/a/b/a/b:c J + // 119: aload_2 + // 120: ifnull -36 -> 84 + // 123: aload_2 + // 124: invokevirtual 286 java/io/DataInputStream:close ()V + // 127: goto -43 -> 84 + // 130: astore_1 + // 131: aload_1 + // 132: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 135: goto -51 -> 84 + // 138: astore_1 + // 139: aload_1 + // 140: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 143: goto -59 -> 84 + // 146: astore_3 + // 147: aconst_null + // 148: astore_2 + // 149: aload_2 + // 150: astore_1 + // 151: aload_3 + // 152: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 155: aload_2 + // 156: ifnull -72 -> 84 + // 159: aload_2 + // 160: invokevirtual 286 java/io/DataInputStream:close ()V + // 163: goto -79 -> 84 + // 166: astore_1 + // 167: aload_1 + // 168: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 171: goto -87 -> 84 + // 174: astore_3 + // 175: aconst_null + // 176: astore_2 + // 177: aload_2 + // 178: astore_1 + // 179: aload_3 + // 180: invokevirtual 295 java/lang/NumberFormatException:printStackTrace ()V + // 183: aload_2 + // 184: ifnull -100 -> 84 + // 187: aload_2 + // 188: invokevirtual 286 java/io/DataInputStream:close ()V + // 191: goto -107 -> 84 + // 194: astore_1 + // 195: aload_1 + // 196: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 199: goto -115 -> 84 + // 202: astore_2 + // 203: aconst_null + // 204: astore_1 + // 205: aload_1 + // 206: ifnull +7 -> 213 + // 209: aload_1 + // 210: invokevirtual 286 java/io/DataInputStream:close ()V + // 213: aload_2 + // 214: athrow + // 215: astore_1 + // 216: aload_1 + // 217: invokevirtual 194 java/io/IOException:printStackTrace ()V + // 220: goto -7 -> 213 + // 223: lconst_1 + // 224: lreturn + // 225: astore_2 + // 226: goto -21 -> 205 + // 229: astore_3 + // 230: goto -53 -> 177 + // 233: astore_3 + // 234: goto -85 -> 149 + // 237: astore_3 + // 238: aconst_null + // 239: astore_2 + // 240: goto -170 -> 70 + // Local variable table: + // start length slot name signature + // 0 243 0 this b + // 21 79 1 localObject1 Object + // 130 2 1 localIOException1 IOException + // 138 2 1 localIOException2 IOException + // 150 1 1 localObject2 Object + // 166 2 1 localIOException3 IOException + // 178 1 1 localObject3 Object + // 194 2 1 localIOException4 IOException + // 204 6 1 localObject4 Object + // 215 2 1 localIOException5 IOException + // 44 144 2 localDataInputStream java.io.DataInputStream + // 202 12 2 localObject5 Object + // 225 1 2 localObject6 Object + // 239 1 2 localObject7 Object + // 51 2 3 str String + // 69 33 3 localFileNotFoundException1 java.io.FileNotFoundException + // 146 6 3 localIOException6 IOException + // 174 6 3 localNumberFormatException1 java.lang.NumberFormatException + // 229 1 3 localNumberFormatException2 java.lang.NumberFormatException + // 233 1 3 localIOException7 IOException + // 237 1 3 localFileNotFoundException2 java.io.FileNotFoundException + // Exception table: + // from to target type + // 47 52 69 java/io/FileNotFoundException + // 58 69 69 java/io/FileNotFoundException + // 100 119 69 java/io/FileNotFoundException + // 123 127 130 java/io/IOException + // 80 84 138 java/io/IOException + // 29 45 146 java/io/IOException + // 159 163 166 java/io/IOException + // 29 45 174 java/lang/NumberFormatException + // 187 191 194 java/io/IOException + // 29 45 202 finally + // 209 213 215 java/io/IOException + // 47 52 225 finally + // 58 69 225 finally + // 72 76 225 finally + // 100 119 225 finally + // 151 155 225 finally + // 179 183 225 finally + // 47 52 229 java/lang/NumberFormatException + // 58 69 229 java/lang/NumberFormatException + // 100 119 229 java/lang/NumberFormatException + // 47 52 233 java/io/IOException + // 58 69 233 java/io/IOException + // 100 119 233 java/io/IOException + // 29 45 237 java/io/FileNotFoundException + } + + public void a(int paramInt) + { + new StringBuilder().append("onSaveIntervalSecond() intervalSecond: ").append(paramInt).toString(); + new StringBuilder().append("onSaveIntervalSecond() intervalSecond: ").append(paramInt).toString(); + this.b.c(paramInt); + } + + public void a(int paramInt1, int paramInt2) + { + new StringBuilder().append("onSaveHash() hash: ").append(paramInt1).toString(); + new StringBuilder().append("onSaveHash() hash: ").append(paramInt1).toString(); + this.b.a(paramInt1); + this.b.b(paramInt2); + } + + public void a(int paramInt1, String paramString, int paramInt2) + { + this.d = paramInt1; + this.e = paramString; + if (TextUtils.isEmpty(paramString)) { + throw new RuntimeException("appVersion couldn't be null or empty"); + } + this.f = paramInt2; + } + + public void a(long paramLong) + { + new StringBuilder().append("onSaveGuidUpdateCheckTimeMillis() timeMillis: ").append(paramLong).toString(); + new StringBuilder().append("onSaveGuidUpdateCheckTimeMillis() timeMillis: ").append(paramLong).toString(); + this.b.a(paramLong); + } + + public void a(long paramLong, ArrayList paramArrayList1, ArrayList paramArrayList2, ArrayList paramArrayList3) + { + new StringBuilder().append("onSaveIpListInfo() validperiodLocalMillis: ").append(paramLong).toString(); + new StringBuilder().append("onSaveIpListInfo() validperiodLocalMillis: ").append(paramLong).toString(); + this.b.c(paramLong); + paramArrayList1 = b(paramArrayList1); + if (paramArrayList1 != null) + { + this.b.e(paramArrayList1); + new StringBuilder().append("onSaveIpListInfo() cmStr: ").append(paramArrayList1).toString(); + new StringBuilder().append("onSaveIpListInfo() cmStr: ").append(paramArrayList1).toString(); + } + paramArrayList1 = b(paramArrayList2); + if (paramArrayList1 != null) + { + this.b.f(paramArrayList1); + new StringBuilder().append("onSaveIpListInfo() unStr: ").append(paramArrayList1).toString(); + new StringBuilder().append("onSaveIpListInfo() unStr: ").append(paramArrayList1).toString(); + } + paramArrayList1 = b(paramArrayList3); + if (paramArrayList1 != null) + { + this.b.g(paramArrayList1); + new StringBuilder().append("onSaveIpListInfo() ctStr: ").append(paramArrayList1).toString(); + new StringBuilder().append("onSaveIpListInfo() ctStr: ").append(paramArrayList1).toString(); + } + } + + public void a(a.e.a parama) + { + this.b.a(parama); + } + + public void a(String paramString) + { + new StringBuilder().append("onSaveEncodeKey() encodeKey: ").append(paramString).toString(); + new StringBuilder().append("onSaveEncodeKey() encodeKey: ").append(paramString).toString(); + this.b.a(paramString); + } + + public void a(ArrayList paramArrayList) + { + int j = paramArrayList.size(); + if ((paramArrayList == null) || (j <= 0)) { + return; + } + StringBuilder localStringBuilder = new StringBuilder(); + int i = 0; + while (i < j) + { + localStringBuilder.append(paramArrayList.get(i)); + if (j - 1 != i) { + localStringBuilder.append("|"); + } + i += 1; + } + new StringBuilder().append("onSavePortList() portList: ").append(localStringBuilder.toString()).toString(); + new StringBuilder().append("onSavePortList() portList: ").append(localStringBuilder.toString()).toString(); + this.b.d(localStringBuilder.toString()); + } + + public void a(AtomicLong paramAtomicLong, AtomicReference paramAtomicReference1, AtomicReference paramAtomicReference2, AtomicReference paramAtomicReference3) + { + long l = this.b.i(); + new StringBuilder().append("onGetIpList() validperiodLocalMillis: ").append(l).toString(); + new StringBuilder().append("onGetIpList() validperiodLocalMillis: ").append(l).toString(); + if (paramAtomicLong != null) { + paramAtomicLong.set(l); + } + paramAtomicLong = this.b.m(); + String str1 = this.b.n(); + String str2 = this.b.o(); + if (!TextUtils.isEmpty(paramAtomicLong)) { + paramAtomicReference1.set(h(paramAtomicLong)); + } + if (!TextUtils.isEmpty(str1)) { + paramAtomicReference2.set(h(str1)); + } + if (!TextUtils.isEmpty(str2)) { + paramAtomicReference3.set(h(str2)); + } + c((ArrayList)paramAtomicReference1.get()); + c((ArrayList)paramAtomicReference2.get()); + c((ArrayList)paramAtomicReference3.get()); + } + + public boolean a() + { + return true; + } + + public int b() + { + return this.b.h(); + } + + public void b(long paramLong) + { + new StringBuilder().append("onSaveGuidCheckTimeMillis() timeMillis: ").append(paramLong).toString(); + new StringBuilder().append("onSaveGuidCheckTimeMillis() timeMillis: ").append(paramLong).toString(); + this.b.b(paramLong); + } + + public void b(String paramString) + { + new StringBuilder().append("onSaveSessionId() sessionId: ").append(paramString).toString(); + new StringBuilder().append("onSaveSessionId() sessionId: ").append(paramString).toString(); + this.b.b(paramString); + } + + public int c() + { + int i = this.b.g(); + new StringBuilder().append("onGetHash() hash: ").append(i).toString(); + new StringBuilder().append("onGetHash() hash: ").append(i).toString(); + return i; + } + + public void c(String paramString) + { + if (paramString == null) { + return; + } + new StringBuilder().append("onSaveGuidToPhone() guid: ").append(paramString).toString(); + new StringBuilder().append("onSaveGuidToPhone() guid: ").append(paramString).toString(); + this.b.c(paramString); + } + + public String d() + { + String str = this.b.a(); + new StringBuilder().append("onGetEncodeKey() encodeKey: ").append(str).toString(); + new StringBuilder().append("onGetEncodeKey() encodeKey: ").append(str).toString(); + return str; + } + + public void d(String paramString) + { + if (paramString == null) { + return; + } + new StringBuilder().append("onSaveGuidToSdCard() guid: ").append(paramString).toString(); + new StringBuilder().append("onSaveGuidToSdCard() guid: ").append(paramString).toString(); + paramString = this.b; + } + + public String e() + { + String str = this.b.b(); + new StringBuilder().append("onGetSessionId() sessionId: ").append(str).toString(); + new StringBuilder().append("onGetSessionId() sessionId: ").append(str).toString(); + return str; + } + + public String f() + { + String str = this.b.c(); + new StringBuilder().append("onGetGuidFromPhone() guid: ").append(str).toString(); + new StringBuilder().append("onGetGuidFromPhone() guid: ").append(str).toString(); + return str; + } + + public String g() + { + String str = this.b.d(); + new StringBuilder().append("onGetGuidFromSdCard() guid: ").append(str).toString(); + new StringBuilder().append("onGetGuidFromSdCard() guid: ").append(str).toString(); + return str; + } + + public a.e.a h() + { + return this.b.j(); + } + + public a.e.a i() + { + String[] arrayOfString = a(tmsdk.common.a.a()); + long l1 = u(); + Object localObject = new h(); + a((h)localObject); + long l2 = ((h)localObject).b; + localObject = tmsdk.common.e.g.c(tmsdk.common.a.a()); + a.e.a locala = new a.e.a(); + locala.a = tmsdk.common.e.g.a(tmsdk.common.a.a()); + locala.b = tmsdk.common.e.g.b(tmsdk.common.a.a()); + if (localObject != null) {} + for (;;) + { + locala.c = ((String)localObject); + locala.d = "0"; + locala.e = "0"; + locala.f = this.d; + locala.h = this.f; + locala.j = 2; + locala.l = false; + locala.m = tmsdk.common.a.a().getPackageName(); + locala.n = e(tmsdk.common.e.g.b()); + locala.o = i.a(); + locala.p = e(tmsdk.common.e.g.a()); + locala.q = 2052; + locala.r = 1; + locala.s = arrayOfString[2]; + locala.t = s(); + locala.u = Runtime.getRuntime().availableProcessors(); + locala.v = arrayOfString[3]; + locala.w = l1; + locala.x = r(); + locala.y = l2; + locala.z = e(p()); + locala.A = e(n()); + locala.B = e(o()); + locala.P = this.e; + locala.Q = 1; + return locala; + localObject = ""; + } + } + + public long j() + { + long l = this.b.e(); + new StringBuilder().append("onGetGuidUpdateCheckTimeMillis() tm: ").append(l).toString(); + new StringBuilder().append("onGetGuidUpdateCheckTimeMillis() tm: ").append(l).toString(); + return l; + } + + public long k() + { + long l = this.b.f(); + new StringBuilder().append("onGetGuidCheckTimeMillis() tm: ").append(l).toString(); + new StringBuilder().append("onGetGuidCheckTimeMillis() tm: ").append(l).toString(); + return l; + } + + public int l() + { + int i = this.b.k(); + new StringBuilder().append("onGetIntervalSecond() intervalSecond: ").append(i).toString(); + new StringBuilder().append("onGetIntervalSecond() intervalSecond: ").append(i).toString(); + return 0; + } + + public ArrayList m() + { + Object localObject = this.b.l(); + if (TextUtils.isEmpty((CharSequence)localObject)) {} + do + { + return null; + new StringBuilder().append("onGetPortList() portList: ").append((String)localObject).toString(); + new StringBuilder().append("onGetPortList() portList: ").append((String)localObject).toString(); + localObject = ((String)localObject).split("|"); + } while (localObject.length <= 0); + ArrayList localArrayList = new ArrayList(); + int i = 0; + if (i < localObject.length) + { + CharSequence localCharSequence = localObject[i]; + if (TextUtils.isEmpty(localCharSequence)) {} + for (;;) + { + i += 1; + break; + int j = g(localCharSequence); + new StringBuilder().append("onGetPortList() port[").append(i).append("]: ").append(j).toString(); + new StringBuilder().append("onGetPortList() port[").append(i).append("]: ").append(j).toString(); + localArrayList.add(Integer.valueOf(j)); + } + } + return localArrayList; + } + + public long q() + { + return 0L; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.a.b.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/a/b/b/a/a/a.java b/com.tencent.token/classes.jar/c/a/b/b/a/a/a.java new file mode 100755 index 00000000000..eddf8c8d562 --- /dev/null +++ b/com.tencent.token/classes.jar/c/a/b/b/a/a/a.java @@ -0,0 +1,31 @@ +package c.a.b.b.a.a; + +public class a +{ + private static Object a = new Object(); + private static a b; + private c.a.a.a c = new c.a.a.a(); + + public static a a() + { + if (b == null) {} + synchronized (a) + { + if (b == null) { + b = new a(); + } + return b; + } + } + + public c.a.a.a b() + { + return this.c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.a.b.b.a.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/a/b/c/a.java b/com.tencent.token/classes.jar/c/a/b/c/a.java new file mode 100755 index 00000000000..cb2f3927f7b --- /dev/null +++ b/com.tencent.token/classes.jar/c/a/b/c/a.java @@ -0,0 +1,64 @@ +package c.a.b.c; + +import com.qq.taf.jce.JceStruct; +import d.b.b; +import d.b.e; +import java.lang.ref.WeakReference; +import tmsdk.common.d.a.b.y; + +public class a + implements e +{ + private static y b; + private long a; + + public a(long paramLong) + { + this.a = paramLong; + if (b == null) {} + try + { + if (b == null) { + b = new y(paramLong); + } + return; + } + finally {} + } + + public b a(int paramInt1, int paramInt2) + { + return b.a(paramInt1, paramInt2); + } + + public WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, d.b.a parama) + { + return b.a(paramInt1, paramJceStruct1, paramJceStruct2, paramInt2, parama); + } + + public WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, d.b.a parama, long paramLong) + { + return b.a(paramInt1, paramJceStruct1, paramJceStruct2, paramInt2, parama, paramLong); + } + + public void a(int paramInt) + { + b.a(paramInt); + } + + public void a(int paramInt1, JceStruct paramJceStruct, int paramInt2, b paramb) + { + b.a(paramInt1, paramJceStruct, paramInt2, paramb); + } + + public void b(int paramInt) + { + b.b(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.a.b.c.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/b/a/a.java b/com.tencent.token/classes.jar/c/b/a/a.java new file mode 100755 index 00000000000..36c33f79454 --- /dev/null +++ b/com.tencent.token/classes.jar/c/b/a/a.java @@ -0,0 +1,37 @@ +package c.b.a; + +import tmsdk.common.c.a.g; + +public class a +{ + static Object a = new Object(); + static b b = null; + private static boolean c = false; + + public static b a() + { + if (b == null) {} + synchronized (a) + { + if (b == null) { + b = new b(); + } + return b; + } + } + + public static void b() + { + if (c) { + return; + } + g.a(tmsdk.common.a.a(), "TccCryptor"); + c = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.b.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/c/b/a/b.java b/com.tencent.token/classes.jar/c/b/a/b.java new file mode 100755 index 00000000000..0b16b0d73b0 --- /dev/null +++ b/com.tencent.token/classes.jar/c/b/a/b.java @@ -0,0 +1,20 @@ +package c.b.a; + +public class b +{ + public void a(Runnable paramRunnable, String paramString) + { + new Thread(paramRunnable, paramString).start(); + } + + public void b(Runnable paramRunnable, String paramString) + { + new Thread(paramRunnable, paramString).start(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: c.b.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/BasicClassTypeUtil.java b/com.tencent.token/classes.jar/com/qq/jce/wup/BasicClassTypeUtil.java new file mode 100755 index 00000000000..506f7860ad4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/BasicClassTypeUtil.java @@ -0,0 +1,459 @@ +package com.qq.jce.wup; + +import java.io.PrintStream; +import java.lang.reflect.Array; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public class BasicClassTypeUtil +{ + private static void addType(ArrayList paramArrayList, String paramString) + { + int i = paramString.length(); + int j; + do + { + j = i; + if (paramString.charAt(i - 1) != '>') { + break; + } + j = i - 1; + i = j; + } while (j != 0); + paramArrayList.add(0, uni2JavaType(paramString.substring(0, j))); + } + + public static Object createClassByName(String paramString) + throws ObjectCreateException + { + Object localObject; + if (paramString.equals("java.lang.Integer")) { + localObject = Integer.valueOf(0); + } + do + { + return localObject; + if (paramString.equals("java.lang.Boolean")) { + return Boolean.valueOf(false); + } + if (paramString.equals("java.lang.Byte")) { + return Byte.valueOf((byte)0); + } + if (paramString.equals("java.lang.Double")) { + return Double.valueOf(0.0D); + } + if (paramString.equals("java.lang.Float")) { + return Float.valueOf(0.0F); + } + if (paramString.equals("java.lang.Long")) { + return Long.valueOf(0L); + } + if (paramString.equals("java.lang.Short")) { + return Short.valueOf((short)0); + } + if (paramString.equals("java.lang.Character")) { + throw new IllegalArgumentException("can not support java.lang.Character"); + } + if (paramString.equals("java.lang.String")) { + return ""; + } + if (paramString.equals("java.util.List")) { + return new ArrayList(); + } + if (paramString.equals("java.util.Map")) { + return new HashMap(); + } + if (paramString.equals("Array")) { + return "Array"; + } + localObject = paramString; + } while (paramString.equals("?")); + try + { + paramString = Class.forName(paramString).getConstructor(new Class[0]).newInstance(new Object[0]); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + throw new ObjectCreateException(paramString); + } + } + + public static Object createClassByUni(String paramString) + throws ObjectCreateException + { + paramString = getTypeList(paramString); + Object localObject2 = null; + Iterator localIterator = paramString.iterator(); + paramString = null; + Object localObject1 = null; + Object localObject3; + if (localIterator.hasNext()) + { + localObject2 = createClassByName((String)localIterator.next()); + if ((localObject2 instanceof String)) { + if ("Array".equals((String)localObject2)) + { + if (localObject1 != null) { + break label308; + } + localObject2 = Array.newInstance(Byte.class, 0); + localObject3 = localObject1; + localObject1 = paramString; + paramString = (String)localObject3; + } + } + } + for (;;) + { + localObject3 = localObject1; + localObject1 = paramString; + paramString = (String)localObject3; + break; + if ("?".equals((String)localObject2)) + { + localObject3 = paramString; + paramString = (String)localObject1; + localObject1 = localObject3; + } + else if (localObject1 == null) + { + localObject1 = localObject2; + localObject3 = paramString; + paramString = (String)localObject1; + localObject1 = localObject3; + } + else + { + paramString = (String)localObject2; + continue; + if ((localObject2 instanceof List)) + { + if ((localObject1 != null) && ((localObject1 instanceof Byte))) + { + localObject3 = Array.newInstance(Byte.class, 1); + Array.set(localObject3, 0, localObject1); + localObject2 = paramString; + paramString = (String)localObject1; + localObject1 = localObject2; + localObject2 = localObject3; + } + else + { + if (localObject1 != null) { + ((List)localObject2).add(localObject1); + } + localObject3 = null; + localObject1 = paramString; + paramString = (String)localObject3; + } + } + else + { + if ((localObject2 instanceof Map)) + { + int i; + if (localObject1 != null) + { + i = 1; + label239: + if (paramString == null) { + break label276; + } + } + label276: + for (int j = 1;; j = 0) + { + if ((j & i) != 0) { + ((Map)localObject2).put(localObject1, paramString); + } + paramString = null; + localObject1 = null; + break; + i = 0; + break label239; + } + } + if (localObject1 == null) + { + localObject1 = localObject2; + localObject3 = paramString; + paramString = (String)localObject1; + localObject1 = localObject3; + } + else + { + paramString = (String)localObject2; + continue; + return localObject2; + label308: + localObject3 = paramString; + paramString = (String)localObject1; + localObject1 = localObject3; + } + } + } + } + } + + public static String getClassTransName(String paramString) + { + String str; + if (paramString.equals("int")) { + str = "Integer"; + } + do + { + return str; + if (paramString.equals("boolean")) { + return "Boolean"; + } + if (paramString.equals("byte")) { + return "Byte"; + } + if (paramString.equals("double")) { + return "Double"; + } + if (paramString.equals("float")) { + return "Float"; + } + if (paramString.equals("long")) { + return "Long"; + } + if (paramString.equals("short")) { + return "Short"; + } + str = paramString; + } while (!paramString.equals("char")); + return "Character"; + } + + public static ArrayList getTypeList(String paramString) + { + ArrayList localArrayList = new ArrayList(); + int m = 0; + int i = paramString.indexOf("<"); + while (m < i) + { + addType(localArrayList, paramString.substring(m, i)); + int n = i + 1; + i = paramString.indexOf("<", n); + int k = paramString.indexOf(",", n); + int j = i; + if (i == -1) { + j = k; + } + m = n; + i = j; + if (k != -1) + { + m = n; + i = j; + if (k < j) + { + i = k; + m = n; + } + } + } + addType(localArrayList, paramString.substring(m, paramString.length())); + return localArrayList; + } + + public static String getVariableInit(String paramString1, String paramString2) + { + if (paramString2.equals("int")) { + return paramString2 + " " + paramString1 + "=0 ;\n"; + } + if (paramString2.equals("boolean")) { + return paramString2 + " " + paramString1 + "=false ;\n"; + } + if (paramString2.equals("byte")) { + return paramString2 + " " + paramString1 + " ;\n"; + } + if (paramString2.equals("double")) { + return paramString2 + " " + paramString1 + "=0 ;\n"; + } + if (paramString2.equals("float")) { + return paramString2 + " " + paramString1 + "=0 ;\n"; + } + if (paramString2.equals("long")) { + return paramString2 + " " + paramString1 + "=0 ;\n"; + } + if (paramString2.equals("short")) { + return paramString2 + " " + paramString1 + "=0 ;\n"; + } + if (paramString2.equals("char")) { + return paramString2 + " " + paramString1 + " ;\n"; + } + return paramString2 + " " + paramString1 + " = null ;\n"; + } + + public static boolean isBasicType(String paramString) + { + if (paramString.equals("int")) {} + while ((paramString.equals("boolean")) || (paramString.equals("byte")) || (paramString.equals("double")) || (paramString.equals("float")) || (paramString.equals("long")) || (paramString.equals("short")) || (paramString.equals("char")) || (paramString.equals("Integer")) || (paramString.equals("Boolean")) || (paramString.equals("Byte")) || (paramString.equals("Double")) || (paramString.equals("Float")) || (paramString.equals("Long")) || (paramString.equals("Short")) || (paramString.equals("Char"))) { + return true; + } + return false; + } + + public static String java2UniType(String paramString) + { + String str; + if ((paramString.equals("java.lang.Integer")) || (paramString.equals("int"))) { + str = "int32"; + } + do + { + return str; + if ((paramString.equals("java.lang.Boolean")) || (paramString.equals("boolean"))) { + return "bool"; + } + if ((paramString.equals("java.lang.Byte")) || (paramString.equals("byte"))) { + return "char"; + } + if ((paramString.equals("java.lang.Double")) || (paramString.equals("double"))) { + return "double"; + } + if ((paramString.equals("java.lang.Float")) || (paramString.equals("float"))) { + return "float"; + } + if ((paramString.equals("java.lang.Long")) || (paramString.equals("long"))) { + return "int64"; + } + if ((paramString.equals("java.lang.Short")) || (paramString.equals("short"))) { + return "short"; + } + if (paramString.equals("java.lang.Character")) { + throw new IllegalArgumentException("can not support java.lang.Character"); + } + if (paramString.equals("java.lang.String")) { + return "string"; + } + if (paramString.equals("java.util.List")) { + return "list"; + } + str = paramString; + } while (!paramString.equals("java.util.Map")); + return "map"; + } + + public static void main(String[] paramArrayOfString) + { + paramArrayOfString = new ArrayList(); + paramArrayOfString.add("char"); + paramArrayOfString.add("list"); + paramArrayOfString.add("list>"); + paramArrayOfString.add("map"); + paramArrayOfString.add("map>>"); + paramArrayOfString.add("map>"); + paramArrayOfString.add("map"); + paramArrayOfString = paramArrayOfString.iterator(); + while (paramArrayOfString.hasNext()) + { + ArrayList localArrayList = getTypeList((String)paramArrayOfString.next()); + Iterator localIterator = localArrayList.iterator(); + while (localIterator.hasNext()) + { + String str = (String)localIterator.next(); + System.out.println(str); + } + Collections.reverse(localArrayList); + System.out.println("-------------finished " + transTypeList(localArrayList)); + } + } + + public static String transTypeList(ArrayList paramArrayList) + { + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < paramArrayList.size()) + { + paramArrayList.set(i, java2UniType((String)paramArrayList.get(i))); + i += 1; + } + Collections.reverse(paramArrayList); + i = 0; + if (i < paramArrayList.size()) + { + String str = (String)paramArrayList.get(i); + if (str.equals("list")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1)); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + for (;;) + { + i += 1; + break; + if (str.equals("map")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1) + ","); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + else if (str.equals("Array")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1)); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + } + } + Collections.reverse(paramArrayList); + paramArrayList = paramArrayList.iterator(); + while (paramArrayList.hasNext()) { + localStringBuffer.append((String)paramArrayList.next()); + } + return localStringBuffer.toString(); + } + + public static String uni2JavaType(String paramString) + { + String str; + if (paramString.equals("int32")) { + str = "java.lang.Integer"; + } + do + { + return str; + if (paramString.equals("bool")) { + return "java.lang.Boolean"; + } + if (paramString.equals("char")) { + return "java.lang.Byte"; + } + if (paramString.equals("double")) { + return "java.lang.Double"; + } + if (paramString.equals("float")) { + return "java.lang.Float"; + } + if (paramString.equals("int64")) { + return "java.lang.Long"; + } + if (paramString.equals("short")) { + return "java.lang.Short"; + } + if (paramString.equals("string")) { + return "java.lang.String"; + } + if (paramString.equals("list")) { + return "java.util.List"; + } + str = paramString; + } while (!paramString.equals("map")); + return "java.util.Map"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.BasicClassTypeUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/ObjectCreateException.java b/com.tencent.token/classes.jar/com/qq/jce/wup/ObjectCreateException.java new file mode 100755 index 00000000000..3dcc3fbb78b --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/ObjectCreateException.java @@ -0,0 +1,16 @@ +package com.qq.jce.wup; + +public class ObjectCreateException + extends RuntimeException +{ + public ObjectCreateException(Exception paramException) + { + super(paramException); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.ObjectCreateException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/OldUniAttribute.java b/com.tencent.token/classes.jar/com/qq/jce/wup/OldUniAttribute.java new file mode 100755 index 00000000000..be02c21cc3d --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/OldUniAttribute.java @@ -0,0 +1,309 @@ +package com.qq.jce.wup; + +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; +import com.qq.taf.jce.JceUtil; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +class OldUniAttribute +{ + protected HashMap> _data = new HashMap(); + JceInputStream _is = new JceInputStream(); + protected HashMap cachedClassName = new HashMap(); + private HashMap cachedData = new HashMap(); + protected String encodeName = "GBK"; + + private void checkObjectType(ArrayList paramArrayList, Object paramObject) + { + if (paramObject.getClass().isArray()) + { + if (!paramObject.getClass().getComponentType().toString().equals("byte")) { + throw new IllegalArgumentException("only byte[] is supported"); + } + if (Array.getLength(paramObject) > 0) + { + paramArrayList.add("java.util.List"); + checkObjectType(paramArrayList, Array.get(paramObject, 0)); + return; + } + paramArrayList.add("Array"); + paramArrayList.add("?"); + return; + } + if ((paramObject instanceof Array)) { + throw new IllegalArgumentException("can not support Array, please use List"); + } + if ((paramObject instanceof List)) + { + paramArrayList.add("java.util.List"); + paramObject = (List)paramObject; + if (paramObject.size() > 0) + { + checkObjectType(paramArrayList, paramObject.get(0)); + return; + } + paramArrayList.add("?"); + return; + } + if ((paramObject instanceof Map)) + { + paramArrayList.add("java.util.Map"); + Object localObject = (Map)paramObject; + if (((Map)localObject).size() > 0) + { + paramObject = ((Map)localObject).keySet().iterator().next(); + localObject = ((Map)localObject).get(paramObject); + paramArrayList.add(paramObject.getClass().getName()); + checkObjectType(paramArrayList, localObject); + return; + } + paramArrayList.add("?"); + paramArrayList.add("?"); + return; + } + paramArrayList.add(paramObject.getClass().getName()); + } + + private Object getCacheProxy(String paramString) + { + if (this.cachedClassName.containsKey(paramString)) { + return this.cachedClassName.get(paramString); + } + Object localObject = BasicClassTypeUtil.createClassByUni(paramString); + this.cachedClassName.put(paramString, localObject); + return localObject; + } + + private void saveDataCache(String paramString, Object paramObject) + { + this.cachedData.put(paramString, paramObject); + } + + public void clearCacheData() + { + this.cachedData.clear(); + } + + public boolean containsKey(String paramString) + { + return this._data.containsKey(paramString); + } + + public void decode(byte[] paramArrayOfByte) + { + this._is.warp(paramArrayOfByte); + this._is.setServerEncoding(this.encodeName); + paramArrayOfByte = new HashMap(1); + HashMap localHashMap = new HashMap(1); + localHashMap.put("", new byte[0]); + paramArrayOfByte.put("", localHashMap); + this._data = this._is.readMap(paramArrayOfByte, 0, false); + } + + public byte[] encode() + { + JceOutputStream localJceOutputStream = new JceOutputStream(0); + localJceOutputStream.setServerEncoding(this.encodeName); + localJceOutputStream.write(this._data, 0); + return JceUtil.getJceBufArray(localJceOutputStream.getByteBuffer()); + } + + public T get(String paramString) + throws ObjectCreateException + { + if (!this._data.containsKey(paramString)) { + return null; + } + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject3 = (HashMap)this._data.get(paramString); + Object localObject2 = null; + Object localObject1 = new byte[0]; + localObject3 = ((HashMap)localObject3).entrySet().iterator(); + if (((Iterator)localObject3).hasNext()) + { + localObject1 = (Map.Entry)((Iterator)localObject3).next(); + localObject2 = (String)((Map.Entry)localObject1).getKey(); + localObject1 = (byte[])((Map.Entry)localObject1).getValue(); + } + try + { + localObject2 = getCacheProxy((String)localObject2); + this._is.warp((byte[])localObject1); + this._is.setServerEncoding(this.encodeName); + localObject1 = this._is.read(localObject2, 0, true); + saveDataCache(paramString, localObject1); + return localObject1; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + throw new ObjectCreateException(paramString); + } + } + + public T get(String paramString, Object paramObject) + { + if (!this._data.containsKey(paramString)) { + return paramObject; + } + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject3 = (HashMap)this._data.get(paramString); + Object localObject2 = ""; + Object localObject1 = new byte[0]; + localObject3 = ((HashMap)localObject3).entrySet().iterator(); + if (((Iterator)localObject3).hasNext()) + { + localObject1 = (Map.Entry)((Iterator)localObject3).next(); + localObject2 = (String)((Map.Entry)localObject1).getKey(); + localObject1 = (byte[])((Map.Entry)localObject1).getValue(); + } + try + { + localObject2 = getCacheProxy((String)localObject2); + this._is.warp((byte[])localObject1); + this._is.setServerEncoding(this.encodeName); + localObject1 = this._is.read(localObject2, 0, true); + saveDataCache(paramString, localObject1); + return localObject1; + } + catch (Exception localException) + { + localException.printStackTrace(); + saveDataCache(paramString, paramObject); + } + return paramObject; + } + + public String getEncodeName() + { + return this.encodeName; + } + + public T getJceStruct(String paramString) + throws ObjectCreateException + { + if (!this._data.containsKey(paramString)) { + return null; + } + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject3 = (HashMap)this._data.get(paramString); + Object localObject2 = null; + Object localObject1 = new byte[0]; + localObject3 = ((HashMap)localObject3).entrySet().iterator(); + if (((Iterator)localObject3).hasNext()) + { + localObject1 = (Map.Entry)((Iterator)localObject3).next(); + localObject2 = (String)((Map.Entry)localObject1).getKey(); + localObject1 = (byte[])((Map.Entry)localObject1).getValue(); + } + try + { + localObject2 = getCacheProxy((String)localObject2); + this._is.warp((byte[])localObject1); + this._is.setServerEncoding(this.encodeName); + localObject1 = this._is.directRead((JceStruct)localObject2, 0, true); + saveDataCache(paramString, localObject1); + return localObject1; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + throw new ObjectCreateException(paramString); + } + } + + public Set getKeySet() + { + return Collections.unmodifiableSet(this._data.keySet()); + } + + public boolean isEmpty() + { + return this._data.isEmpty(); + } + + public void put(String paramString, T paramT) + { + if (paramString == null) { + throw new IllegalArgumentException("put key can not is null"); + } + if (paramT == null) { + throw new IllegalArgumentException("put value can not is null"); + } + if ((paramT instanceof Set)) { + throw new IllegalArgumentException("can not support Set"); + } + Object localObject = new JceOutputStream(); + ((JceOutputStream)localObject).setServerEncoding(this.encodeName); + ((JceOutputStream)localObject).write(paramT, 0); + localObject = JceUtil.getJceBufArray(((JceOutputStream)localObject).getByteBuffer()); + HashMap localHashMap = new HashMap(1); + ArrayList localArrayList = new ArrayList(1); + checkObjectType(localArrayList, paramT); + localHashMap.put(BasicClassTypeUtil.transTypeList(localArrayList), localObject); + this.cachedData.remove(paramString); + this._data.put(paramString, localHashMap); + } + + public T remove(String paramString) + throws ObjectCreateException + { + if (!this._data.containsKey(paramString)) { + return null; + } + Object localObject2 = (HashMap)this._data.remove(paramString); + Object localObject1 = ""; + paramString = new byte[0]; + localObject2 = ((HashMap)localObject2).entrySet().iterator(); + if (((Iterator)localObject2).hasNext()) + { + paramString = (Map.Entry)((Iterator)localObject2).next(); + localObject1 = (String)paramString.getKey(); + paramString = (byte[])paramString.getValue(); + } + try + { + localObject1 = BasicClassTypeUtil.createClassByUni((String)localObject1); + this._is.warp(paramString); + this._is.setServerEncoding(this.encodeName); + paramString = this._is.read(localObject1, 0, true); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + throw new ObjectCreateException(paramString); + } + } + + public void setEncodeName(String paramString) + { + this.encodeName = paramString; + } + + public int size() + { + return this._data.size(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.OldUniAttribute + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/TafUniPacket.java b/com.tencent.token/classes.jar/com/qq/jce/wup/TafUniPacket.java new file mode 100755 index 00000000000..3a7cd1be998 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/TafUniPacket.java @@ -0,0 +1,119 @@ +package com.qq.jce.wup; + +import com.qq.taf.RequestPacket; +import java.util.HashMap; +import java.util.Map; + +public class TafUniPacket + extends UniPacket +{ + private static final long serialVersionUID = 1L; + + public TafUniPacket() + { + this._package.iVersion = 2; + this._package.cPacketType = 0; + this._package.iMessageType = 0; + this._package.iTimeout = 0; + this._package.sBuffer = new byte[0]; + this._package.context = new HashMap(); + this._package.status = new HashMap(); + } + + public byte[] getTafBuffer() + { + return this._package.sBuffer; + } + + public Map getTafContext() + { + return this._package.context; + } + + public int getTafMessageType() + { + return this._package.iMessageType; + } + + public byte getTafPacketType() + { + return this._package.cPacketType; + } + + public int getTafResultCode() + { + String str = (String)this._package.status.get("STATUS_RESULT_CODE"); + if (str != null) { + return Integer.parseInt(str); + } + return 0; + } + + public String getTafResultDesc() + { + String str = (String)this._package.status.get("STATUS_RESULT_DESC"); + if (str != null) { + return str; + } + return ""; + } + + public Map getTafStatus() + { + return this._package.status; + } + + public int getTafTimeout() + { + return this._package.iTimeout; + } + + public short getTafVersion() + { + return this._package.iVersion; + } + + public void setTafBuffer(byte[] paramArrayOfByte) + { + this._package.sBuffer = paramArrayOfByte; + } + + public void setTafContext(Map paramMap) + { + this._package.context = paramMap; + } + + public void setTafMessageType(int paramInt) + { + this._package.iMessageType = paramInt; + } + + public void setTafPacketType(byte paramByte) + { + this._package.cPacketType = paramByte; + } + + public void setTafStatus(Map paramMap) + { + this._package.status = paramMap; + } + + public void setTafTimeout(int paramInt) + { + this._package.iTimeout = paramInt; + } + + public void setTafVersion(short paramShort) + { + this._package.iVersion = paramShort; + if (paramShort == 3) { + useVersion3(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.TafUniPacket + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/UniAttribute.java b/com.tencent.token/classes.jar/com/qq/jce/wup/UniAttribute.java new file mode 100755 index 00000000000..3758ead5190 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/UniAttribute.java @@ -0,0 +1,345 @@ +package com.qq.jce.wup; + +import TT;; +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceUtil; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Set; + +public class UniAttribute + extends OldUniAttribute +{ + JceInputStream _is = new JceInputStream(); + protected HashMap _newData = null; + private HashMap cachedData = new HashMap(); + + private Object decodeData(byte[] paramArrayOfByte, Object paramObject) + { + this._is.warp(paramArrayOfByte); + this._is.setServerEncoding(this.encodeName); + return this._is.read(paramObject, 0, true); + } + + private void saveDataCache(String paramString, Object paramObject) + { + this.cachedData.put(paramString, paramObject); + } + + public void clearCacheData() + { + this.cachedData.clear(); + } + + public boolean containsKey(String paramString) + { + if (this._newData != null) { + return this._newData.containsKey(paramString); + } + return this._data.containsKey(paramString); + } + + public void decode(byte[] paramArrayOfByte) + { + try + { + super.decode(paramArrayOfByte); + return; + } + catch (Exception localException) + { + this._is.warp(paramArrayOfByte); + this._is.setServerEncoding(this.encodeName); + paramArrayOfByte = new HashMap(1); + paramArrayOfByte.put("", new byte[0]); + this._newData = this._is.readMap(paramArrayOfByte, 0, false); + } + } + + public void decodeVersion2(byte[] paramArrayOfByte) + { + super.decode(paramArrayOfByte); + } + + public void decodeVersion3(byte[] paramArrayOfByte) + { + this._is.warp(paramArrayOfByte); + this._is.setServerEncoding(this.encodeName); + paramArrayOfByte = new HashMap(1); + paramArrayOfByte.put("", new byte[0]); + this._newData = this._is.readMap(paramArrayOfByte, 0, false); + } + + public byte[] encode() + { + if (this._newData != null) + { + JceOutputStream localJceOutputStream = new JceOutputStream(0); + localJceOutputStream.setServerEncoding(this.encodeName); + localJceOutputStream.write(this._newData, 0); + return JceUtil.getJceBufArray(localJceOutputStream.getByteBuffer()); + } + return super.encode(); + } + + public T get(String paramString) + throws ObjectCreateException + { + if (this._newData != null) { + throw new RuntimeException("data is encoded by new version, please use getByClass(String name, T proxy)"); + } + return super.get(paramString); + } + + public T get(String paramString, Object paramObject) + { + if (this._newData != null) { + throw new RuntimeException("data is encoded by new version, please use get(String name, T proxy, Object defaultValue)"); + } + return super.get(paramString, paramObject); + } + + public T get(String paramString, T paramT, Object paramObject) + { + if (!this._newData.containsKey(paramString)) { + return paramObject; + } + return getByClass(paramString, paramT); + } + + public T getByClass(String paramString, T paramT) + throws ObjectCreateException + { + Object localObject1 = null; + if (this._newData != null) { + if (this._newData.containsKey(paramString)) {} + } + while (!this._data.containsKey(paramString)) { + for (;;) + { + return localObject1; + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + localObject1 = (byte[])this._newData.get(paramString); + try + { + paramT = decodeData((byte[])localObject1, paramT); + localObject1 = paramT; + if (paramT != null) + { + saveDataCache(paramString, paramT); + return paramT; + } + } + catch (Exception paramString) + { + throw new ObjectCreateException(paramString); + } + } + } + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject2 = (HashMap)this._data.get(paramString); + localObject1 = new byte[0]; + localObject2 = ((HashMap)localObject2).entrySet().iterator(); + if (((Iterator)localObject2).hasNext()) + { + localObject1 = (Map.Entry)((Iterator)localObject2).next(); + localObject2 = (String)((Map.Entry)localObject1).getKey(); + localObject1 = (byte[])((Map.Entry)localObject1).getValue(); + } + try + { + this._is.warp((byte[])localObject1); + this._is.setServerEncoding(this.encodeName); + paramT = this._is.read(paramT, 0, true); + saveDataCache(paramString, paramT); + return paramT; + } + catch (Exception paramString) + { + throw new ObjectCreateException(paramString); + } + } + + public T getByClass(String paramString, T paramT1, T paramT2) + throws ObjectCreateException + { + if (this._newData != null) { + if (this._newData.containsKey(paramString)) {} + } + while (!this._data.containsKey(paramString)) + { + return paramT2; + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + paramT2 = (byte[])this._newData.get(paramString); + try + { + paramT1 = decodeData(paramT2, paramT1); + if (paramT1 != null) { + saveDataCache(paramString, paramT1); + } + return paramT1; + } + catch (Exception paramString) + { + throw new ObjectCreateException(paramString); + } + } + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject = (HashMap)this._data.get(paramString); + paramT2 = new byte[0]; + localObject = ((HashMap)localObject).entrySet().iterator(); + if (((Iterator)localObject).hasNext()) + { + paramT2 = (Map.Entry)((Iterator)localObject).next(); + localObject = (String)paramT2.getKey(); + paramT2 = (byte[])paramT2.getValue(); + } + try + { + this._is.warp(paramT2); + this._is.setServerEncoding(this.encodeName); + paramT1 = this._is.read(paramT1, 0, true); + saveDataCache(paramString, paramT1); + return paramT1; + } + catch (Exception paramString) + { + throw new ObjectCreateException(paramString); + } + } + + public T getJceStruct(String paramString) + throws ObjectCreateException + { + if (this._newData != null) { + throw new RuntimeException("data is encoded by new version, please use getJceStruct(String name,T proxy)"); + } + return super.getJceStruct(paramString); + } + + public T getJceStruct(String paramString, T paramT) + throws ObjectCreateException + { + if (!this._newData.containsKey(paramString)) { + paramT = null; + } + for (;;) + { + return paramT; + if (this.cachedData.containsKey(paramString)) { + return this.cachedData.get(paramString); + } + Object localObject = (byte[])this._newData.get(paramString); + try + { + localObject = decodeData((byte[])localObject, paramT); + paramT = (TT)localObject; + if (localObject == null) { + continue; + } + saveDataCache(paramString, localObject); + return localObject; + } + catch (Exception paramString) + { + throw new ObjectCreateException(paramString); + } + } + } + + public Set getKeySet() + { + if (this._newData != null) { + return Collections.unmodifiableSet(this._newData.keySet()); + } + return Collections.unmodifiableSet(this._data.keySet()); + } + + public boolean isEmpty() + { + if (this._newData != null) { + return this._newData.isEmpty(); + } + return this._data.isEmpty(); + } + + public void put(String paramString, T paramT) + { + if (this._newData != null) + { + if (paramString == null) { + throw new IllegalArgumentException("put key can not is null"); + } + if (paramT == null) { + throw new IllegalArgumentException("put value can not is null"); + } + if ((paramT instanceof Set)) { + throw new IllegalArgumentException("can not support Set"); + } + JceOutputStream localJceOutputStream = new JceOutputStream(); + localJceOutputStream.setServerEncoding(this.encodeName); + localJceOutputStream.write(paramT, 0); + paramT = JceUtil.getJceBufArray(localJceOutputStream.getByteBuffer()); + this._newData.put(paramString, paramT); + return; + } + super.put(paramString, paramT); + } + + public T remove(String paramString) + throws ObjectCreateException + { + if (this._newData != null) + { + if (!this._newData.containsKey(paramString)) { + return null; + } + this._newData.remove(paramString); + return null; + } + return super.remove(paramString); + } + + public T remove(String paramString, T paramT) + throws ObjectCreateException + { + if (!this._newData.containsKey(paramString)) { + return null; + } + if (paramT != null) { + return decodeData((byte[])this._newData.remove(paramString), paramT); + } + this._newData.remove(paramString); + return null; + } + + public int size() + { + if (this._newData != null) { + return this._newData.size(); + } + return this._data.size(); + } + + public void useVersion3() + { + this._newData = new HashMap(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.UniAttribute + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/UniPacket.java b/com.tencent.token/classes.jar/com/qq/jce/wup/UniPacket.java new file mode 100755 index 00000000000..f62359e97be --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/UniPacket.java @@ -0,0 +1,272 @@ +package com.qq.jce.wup; + +import com.qq.taf.RequestPacket; +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceUtil; +import java.nio.ByteBuffer; +import java.util.HashMap; + +public class UniPacket + extends UniAttribute +{ + public static final int UniPacketHeadSize = 4; + static HashMap> cache__tempdata = null; + static HashMap newCache__tempdata = null; + protected RequestPacket _package = new RequestPacket(); + private int oldRespIret = 0; + + public UniPacket() + { + this._package.iVersion = 2; + } + + public UniPacket(boolean paramBoolean) + { + if (paramBoolean) + { + useVersion3(); + return; + } + this._package.iVersion = 2; + } + + public byte[] createOldRespEncode() + { + Object localObject = new JceOutputStream(0); + ((JceOutputStream)localObject).setServerEncoding(this.encodeName); + ((JceOutputStream)localObject).write(this._data, 0); + localObject = JceUtil.getJceBufArray(((JceOutputStream)localObject).getByteBuffer()); + JceOutputStream localJceOutputStream = new JceOutputStream(0); + localJceOutputStream.setServerEncoding(this.encodeName); + localJceOutputStream.write(this._package.iVersion, 1); + localJceOutputStream.write(this._package.cPacketType, 2); + localJceOutputStream.write(this._package.iRequestId, 3); + localJceOutputStream.write(this._package.iMessageType, 4); + localJceOutputStream.write(this.oldRespIret, 5); + localJceOutputStream.write((byte[])localObject, 6); + localJceOutputStream.write(this._package.status, 7); + return JceUtil.getJceBufArray(localJceOutputStream.getByteBuffer()); + } + + public UniPacket createResponse() + { + UniPacket localUniPacket = new UniPacket(); + localUniPacket.setRequestId(getRequestId()); + localUniPacket.setServantName(getServantName()); + localUniPacket.setFuncName(getFuncName()); + localUniPacket.setEncodeName(this.encodeName); + return localUniPacket; + } + + public void decode(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length < 4) { + throw new IllegalArgumentException("decode package must include size head"); + } + try + { + paramArrayOfByte = new JceInputStream(paramArrayOfByte, 4); + paramArrayOfByte.setServerEncoding(this.encodeName); + readFrom(paramArrayOfByte); + if (this._package.iVersion == 3) + { + paramArrayOfByte = new JceInputStream(this._package.sBuffer); + paramArrayOfByte.setServerEncoding(this.encodeName); + if (newCache__tempdata == null) + { + newCache__tempdata = new HashMap(); + newCache__tempdata.put("", new byte[0]); + } + this._newData = paramArrayOfByte.readMap(newCache__tempdata, 0, false); + return; + } + paramArrayOfByte = new JceInputStream(this._package.sBuffer); + paramArrayOfByte.setServerEncoding(this.encodeName); + if (cache__tempdata == null) + { + cache__tempdata = new HashMap(); + HashMap localHashMap = new HashMap(); + localHashMap.put("", new byte[0]); + cache__tempdata.put("", localHashMap); + } + this._data = paramArrayOfByte.readMap(cache__tempdata, 0, false); + this.cachedClassName = new HashMap(); + return; + } + catch (Exception paramArrayOfByte) + { + throw new RuntimeException(paramArrayOfByte); + } + } + + public void decodeVersion2(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length < 4) { + throw new IllegalArgumentException("decode package must include size head"); + } + try + { + paramArrayOfByte = new JceInputStream(paramArrayOfByte, 4); + paramArrayOfByte.setServerEncoding(this.encodeName); + readFrom(paramArrayOfByte); + paramArrayOfByte = new JceInputStream(this._package.sBuffer); + paramArrayOfByte.setServerEncoding(this.encodeName); + if (cache__tempdata == null) + { + cache__tempdata = new HashMap(); + HashMap localHashMap = new HashMap(); + localHashMap.put("", new byte[0]); + cache__tempdata.put("", localHashMap); + } + this._data = paramArrayOfByte.readMap(cache__tempdata, 0, false); + this.cachedClassName = new HashMap(); + return; + } + catch (Exception paramArrayOfByte) + { + throw new RuntimeException(paramArrayOfByte); + } + } + + public void decodeVersion3(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length < 4) { + throw new IllegalArgumentException("decode package must include size head"); + } + try + { + paramArrayOfByte = new JceInputStream(paramArrayOfByte, 4); + paramArrayOfByte.setServerEncoding(this.encodeName); + readFrom(paramArrayOfByte); + paramArrayOfByte = new JceInputStream(this._package.sBuffer); + paramArrayOfByte.setServerEncoding(this.encodeName); + if (newCache__tempdata == null) + { + newCache__tempdata = new HashMap(); + newCache__tempdata.put("", new byte[0]); + } + this._newData = paramArrayOfByte.readMap(newCache__tempdata, 0, false); + return; + } + catch (Exception paramArrayOfByte) + { + throw new RuntimeException(paramArrayOfByte); + } + } + + public void display(StringBuilder paramStringBuilder, int paramInt) + { + this._package.display(paramStringBuilder, paramInt); + } + + public byte[] encode() + { + if (this._package.iVersion == 2) + { + if (this._package.sServantName.equals("")) { + throw new IllegalArgumentException("servantName can not is null"); + } + if (this._package.sFuncName.equals("")) { + throw new IllegalArgumentException("funcName can not is null"); + } + } + else + { + if (this._package.sServantName == null) { + this._package.sServantName = ""; + } + if (this._package.sFuncName == null) { + this._package.sFuncName = ""; + } + } + Object localObject = new JceOutputStream(0); + ((JceOutputStream)localObject).setServerEncoding(this.encodeName); + if (this._package.iVersion == 2) { + ((JceOutputStream)localObject).write(this._data, 0); + } + for (;;) + { + this._package.sBuffer = JceUtil.getJceBufArray(((JceOutputStream)localObject).getByteBuffer()); + localObject = new JceOutputStream(0); + ((JceOutputStream)localObject).setServerEncoding(this.encodeName); + writeTo((JceOutputStream)localObject); + localObject = JceUtil.getJceBufArray(((JceOutputStream)localObject).getByteBuffer()); + int i = localObject.length; + ByteBuffer localByteBuffer = ByteBuffer.allocate(i + 4); + localByteBuffer.putInt(i + 4).put((byte[])localObject).flip(); + return localByteBuffer.array(); + ((JceOutputStream)localObject).write(this._newData, 0); + } + } + + public String getFuncName() + { + return this._package.sFuncName; + } + + public int getOldRespIret() + { + return this.oldRespIret; + } + + public int getRequestId() + { + return this._package.iRequestId; + } + + public String getServantName() + { + return this._package.sServantName; + } + + public void put(String paramString, T paramT) + { + if (paramString.startsWith(".")) { + throw new IllegalArgumentException("put name can not startwith . , now is " + paramString); + } + super.put(paramString, paramT); + } + + public void readFrom(JceInputStream paramJceInputStream) + { + this._package.readFrom(paramJceInputStream); + } + + public void setFuncName(String paramString) + { + this._package.sFuncName = paramString; + } + + public void setOldRespIret(int paramInt) + { + this.oldRespIret = paramInt; + } + + public void setRequestId(int paramInt) + { + this._package.iRequestId = paramInt; + } + + public void setServantName(String paramString) + { + this._package.sServantName = paramString; + } + + public void useVersion3() + { + super.useVersion3(); + this._package.iVersion = 3; + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + this._package.writeTo(paramJceOutputStream); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.UniPacket + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/WupHexUtil.java b/com.tencent.token/classes.jar/com/qq/jce/wup/WupHexUtil.java new file mode 100755 index 00000000000..c178d4aeaad --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/WupHexUtil.java @@ -0,0 +1,116 @@ +package com.qq.jce.wup; + +import java.io.PrintStream; +import java.nio.ByteBuffer; + +public class WupHexUtil +{ + private static final char[] digits = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 }; + public static final byte[] emptybytes = new byte[0]; + + public static String byte2HexStr(byte paramByte) + { + int i = digits[(paramByte & 0xF)]; + paramByte = (byte)(paramByte >>> 4); + return new String(new char[] { digits[(paramByte & 0xF)], i }); + } + + public static String bytes2HexStr(ByteBuffer paramByteBuffer) + { + paramByteBuffer = paramByteBuffer.duplicate(); + paramByteBuffer.flip(); + byte[] arrayOfByte = new byte[paramByteBuffer.limit()]; + paramByteBuffer.get(arrayOfByte); + return bytes2HexStr(arrayOfByte); + } + + public static String bytes2HexStr(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return null; + } + char[] arrayOfChar = new char[paramArrayOfByte.length * 2]; + int i = 0; + while (i < paramArrayOfByte.length) + { + int j = paramArrayOfByte[i]; + arrayOfChar[(i * 2 + 1)] = digits[(j & 0xF)]; + j = (byte)(j >>> 4); + arrayOfChar[(i * 2 + 0)] = digits[(j & 0xF)]; + i += 1; + } + return new String(arrayOfChar); + } + + public static byte char2Byte(char paramChar) + { + if ((paramChar >= '0') && (paramChar <= '9')) { + return (byte)(paramChar - '0'); + } + if ((paramChar >= 'a') && (paramChar <= 'f')) { + return (byte)(paramChar - 'a' + 10); + } + if ((paramChar >= 'A') && (paramChar <= 'F')) { + return (byte)(paramChar - 'A' + 10); + } + return 0; + } + + public static byte hexStr2Byte(String paramString) + { + byte b2 = 0; + byte b1 = b2; + if (paramString != null) + { + b1 = b2; + if (paramString.length() == 1) { + b1 = char2Byte(paramString.charAt(0)); + } + } + return b1; + } + + public static byte[] hexStr2Bytes(String paramString) + { + Object localObject; + if ((paramString == null) || (paramString.equals(""))) + { + localObject = emptybytes; + return localObject; + } + byte[] arrayOfByte = new byte[paramString.length() / 2]; + int i = 0; + for (;;) + { + localObject = arrayOfByte; + if (i >= arrayOfByte.length) { + break; + } + char c1 = paramString.charAt(i * 2); + char c2 = paramString.charAt(i * 2 + 1); + arrayOfByte[i] = ((byte)(char2Byte(c1) * 16 + char2Byte(c2))); + i += 1; + } + } + + public static void main(String[] paramArrayOfString) + { + long l = System.currentTimeMillis(); + int i = 0; + while (i < 1000000) + { + paramArrayOfString = "234" + i; + if (!new String(hexStr2Bytes(bytes2HexStr(paramArrayOfString.getBytes()))).equals(paramArrayOfString)) { + System.out.println("error:" + paramArrayOfString); + } + i += 1; + } + System.out.println("use:" + (System.currentTimeMillis() - l)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.WupHexUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/jce/wup/WupInfo.java b/com.tencent.token/classes.jar/com/qq/jce/wup/WupInfo.java new file mode 100755 index 00000000000..023e65158ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/jce/wup/WupInfo.java @@ -0,0 +1,89 @@ +package com.qq.jce.wup; + +import java.io.InputStream; +import java.io.PrintStream; +import java.util.Properties; + +public class WupInfo +{ + private static String clientBuilt = null; + private static String clientInfo = null; + private static String clientNumber = null; + + static + { + try + { + InputStream localInputStream = WupInfo.class.getResourceAsStream("/com/qq/jce/wup/wup.properties"); + Properties localProperties = new Properties(); + localProperties.load(localInputStream); + localInputStream.close(); + clientInfo = localProperties.getProperty("client.info"); + clientBuilt = localProperties.getProperty("client.built"); + clientNumber = localProperties.getProperty("client.number"); + label64: + if (clientInfo == null) { + clientInfo = "Tencent Taf"; + } + if (clientBuilt == null) { + clientBuilt = "unknown"; + } + if (clientNumber == null) { + clientNumber = "unknown"; + } + return; + } + catch (Throwable localThrowable) + { + break label64; + } + } + + public static String getClientBuilt() + { + return clientBuilt; + } + + public static String getClientInfo() + { + return clientInfo; + } + + public static String getClientNumber() + { + return clientNumber; + } + + public static void main(String[] paramArrayOfString) + { + System.out.println(showString()); + System.out.println("Client version: " + getClientInfo()); + System.out.println("Client built: " + getClientBuilt()); + System.out.println("Client number: " + getClientNumber()); + System.out.println("OS Name: " + System.getProperty("os.name")); + System.out.println("OS Version: " + System.getProperty("os.version")); + System.out.println("Architecture: " + System.getProperty("os.arch")); + System.out.println("JVM Version: " + System.getProperty("java.runtime.version")); + System.out.println("JVM Vendor: " + System.getProperty("java.vm.vendor")); + } + + public static String showString() + { + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append("Client version: " + getClientInfo() + "\n"); + localStringBuffer.append("Client built: " + getClientBuilt() + "\n"); + localStringBuffer.append("Client number: " + getClientNumber() + "\n"); + localStringBuffer.append("OS Name: " + System.getProperty("os.name") + "\n"); + localStringBuffer.append("OS Version: " + System.getProperty("os.version") + "\n"); + localStringBuffer.append("Architecture: " + System.getProperty("os.arch") + "\n"); + localStringBuffer.append("JVM Version: " + System.getProperty("java.runtime.version") + "\n"); + localStringBuffer.append("JVM Vendor: " + System.getProperty("java.vm.vendor") + "\n"); + return localStringBuffer.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.jce.wup.WupInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/RequestPacket.java b/com.tencent.token/classes.jar/com/qq/taf/RequestPacket.java new file mode 100755 index 00000000000..09f5020177f --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/RequestPacket.java @@ -0,0 +1,150 @@ +package com.qq.taf; + +import com.qq.jce.wup.WupHexUtil; +import com.qq.taf.jce.JceDisplayer; +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; +import com.qq.taf.jce.JceUtil; +import java.io.PrintStream; +import java.util.HashMap; +import java.util.Map; + +public final class RequestPacket + extends JceStruct +{ + static Map cache_context; + static byte[] cache_sBuffer; + public byte cPacketType = 0; + public Map context; + public int iMessageType = 0; + public int iRequestId = 0; + public int iTimeout = 0; + public short iVersion = 0; + public byte[] sBuffer; + public String sFuncName = null; + public String sServantName = null; + public Map status; + + static + { + if (!RequestPacket.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + cache_sBuffer = null; + cache_context = null; + return; + } + } + + public RequestPacket() {} + + public RequestPacket(short paramShort, byte paramByte, int paramInt1, int paramInt2, String paramString1, String paramString2, byte[] paramArrayOfByte, int paramInt3, Map paramMap1, Map paramMap2) + { + this.iVersion = paramShort; + this.cPacketType = paramByte; + this.iMessageType = paramInt1; + this.iRequestId = paramInt2; + this.sServantName = paramString1; + this.sFuncName = paramString2; + this.sBuffer = paramArrayOfByte; + this.iTimeout = paramInt3; + this.context = paramMap1; + this.status = paramMap2; + } + + public Object clone() + { + Object localObject1 = null; + try + { + Object localObject2 = super.clone(); + localObject1 = localObject2; + } + catch (CloneNotSupportedException localCloneNotSupportedException) + { + while ($assertionsDisabled) {} + throw new AssertionError(); + } + return localObject1; + } + + public void display(StringBuilder paramStringBuilder, int paramInt) + { + paramStringBuilder = new JceDisplayer(paramStringBuilder, paramInt); + paramStringBuilder.display(this.iVersion, "iVersion"); + paramStringBuilder.display(this.cPacketType, "cPacketType"); + paramStringBuilder.display(this.iMessageType, "iMessageType"); + paramStringBuilder.display(this.iRequestId, "iRequestId"); + paramStringBuilder.display(this.sServantName, "sServantName"); + paramStringBuilder.display(this.sFuncName, "sFuncName"); + paramStringBuilder.display(this.sBuffer, "sBuffer"); + paramStringBuilder.display(this.iTimeout, "iTimeout"); + paramStringBuilder.display(this.context, "context"); + paramStringBuilder.display(this.status, "status"); + } + + public boolean equals(Object paramObject) + { + paramObject = (RequestPacket)paramObject; + return (JceUtil.equals(1, paramObject.iVersion)) && (JceUtil.equals(1, paramObject.cPacketType)) && (JceUtil.equals(1, paramObject.iMessageType)) && (JceUtil.equals(1, paramObject.iRequestId)) && (JceUtil.equals(Integer.valueOf(1), paramObject.sServantName)) && (JceUtil.equals(Integer.valueOf(1), paramObject.sFuncName)) && (JceUtil.equals(Integer.valueOf(1), paramObject.sBuffer)) && (JceUtil.equals(1, paramObject.iTimeout)) && (JceUtil.equals(Integer.valueOf(1), paramObject.context)) && (JceUtil.equals(Integer.valueOf(1), paramObject.status)); + } + + public void readFrom(JceInputStream paramJceInputStream) + { + try + { + this.iVersion = paramJceInputStream.read(this.iVersion, 1, true); + this.cPacketType = paramJceInputStream.read(this.cPacketType, 2, true); + this.iMessageType = paramJceInputStream.read(this.iMessageType, 3, true); + this.iRequestId = paramJceInputStream.read(this.iRequestId, 4, true); + this.sServantName = paramJceInputStream.readString(5, true); + this.sFuncName = paramJceInputStream.readString(6, true); + if (cache_sBuffer == null) { + cache_sBuffer = new byte[] { 0 }; + } + this.sBuffer = ((byte[])paramJceInputStream.read(cache_sBuffer, 7, true)); + this.iTimeout = paramJceInputStream.read(this.iTimeout, 8, true); + if (cache_context == null) + { + cache_context = new HashMap(); + cache_context.put("", ""); + } + this.context = ((Map)paramJceInputStream.read(cache_context, 9, true)); + if (cache_context == null) + { + cache_context = new HashMap(); + cache_context.put("", ""); + } + this.status = ((Map)paramJceInputStream.read(cache_context, 10, true)); + return; + } + catch (Exception paramJceInputStream) + { + paramJceInputStream.printStackTrace(); + System.out.println("RequestPacket decode error " + WupHexUtil.bytes2HexStr(this.sBuffer)); + throw new RuntimeException(paramJceInputStream); + } + } + + public void writeTo(JceOutputStream paramJceOutputStream) + { + paramJceOutputStream.write(this.iVersion, 1); + paramJceOutputStream.write(this.cPacketType, 2); + paramJceOutputStream.write(this.iMessageType, 3); + paramJceOutputStream.write(this.iRequestId, 4); + paramJceOutputStream.write(this.sServantName, 5); + paramJceOutputStream.write(this.sFuncName, 6); + paramJceOutputStream.write(this.sBuffer, 7); + paramJceOutputStream.write(this.iTimeout, 8); + paramJceOutputStream.write(this.context, 9); + paramJceOutputStream.write(this.status, 10); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.RequestPacket + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/HexUtil.java b/com.tencent.token/classes.jar/com/qq/taf/jce/HexUtil.java new file mode 100755 index 00000000000..bf5ccf0c10c --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/HexUtil.java @@ -0,0 +1,106 @@ +package com.qq.taf.jce; + +import java.io.PrintStream; + +public class HexUtil +{ + private static final char[] digits = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 }; + public static final byte[] emptybytes = new byte[0]; + + public static String byte2HexStr(byte paramByte) + { + int i = digits[(paramByte & 0xF)]; + paramByte = (byte)(paramByte >>> 4); + return new String(new char[] { digits[(paramByte & 0xF)], i }); + } + + public static String bytes2HexStr(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return null; + } + char[] arrayOfChar = new char[paramArrayOfByte.length * 2]; + int i = 0; + while (i < paramArrayOfByte.length) + { + int j = paramArrayOfByte[i]; + arrayOfChar[(i * 2 + 1)] = digits[(j & 0xF)]; + j = (byte)(j >>> 4); + arrayOfChar[(i * 2 + 0)] = digits[(j & 0xF)]; + i += 1; + } + return new String(arrayOfChar); + } + + public static byte char2Byte(char paramChar) + { + if ((paramChar >= '0') && (paramChar <= '9')) { + return (byte)(paramChar - '0'); + } + if ((paramChar >= 'a') && (paramChar <= 'f')) { + return (byte)(paramChar - 'a' + 10); + } + if ((paramChar >= 'A') && (paramChar <= 'F')) { + return (byte)(paramChar - 'A' + 10); + } + return 0; + } + + public static byte hexStr2Byte(String paramString) + { + byte b2 = 0; + byte b1 = b2; + if (paramString != null) + { + b1 = b2; + if (paramString.length() == 1) { + b1 = char2Byte(paramString.charAt(0)); + } + } + return b1; + } + + public static byte[] hexStr2Bytes(String paramString) + { + Object localObject; + if ((paramString == null) || (paramString.equals(""))) + { + localObject = emptybytes; + return localObject; + } + byte[] arrayOfByte = new byte[paramString.length() / 2]; + int i = 0; + for (;;) + { + localObject = arrayOfByte; + if (i >= arrayOfByte.length) { + break; + } + char c1 = paramString.charAt(i * 2); + char c2 = paramString.charAt(i * 2 + 1); + arrayOfByte[i] = ((byte)(char2Byte(c1) * 16 + char2Byte(c2))); + i += 1; + } + } + + public static void main(String[] paramArrayOfString) + { + long l = System.currentTimeMillis(); + int i = 0; + while (i < 1000000) + { + paramArrayOfString = "234" + i; + if (!new String(hexStr2Bytes(bytes2HexStr(paramArrayOfString.getBytes()))).equals(paramArrayOfString)) { + System.out.println("error:" + paramArrayOfString); + } + i += 1; + } + System.out.println("use:" + (System.currentTimeMillis() - l)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.HexUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceDecodeException.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceDecodeException.java new file mode 100755 index 00000000000..2d5afbdd7c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceDecodeException.java @@ -0,0 +1,16 @@ +package com.qq.taf.jce; + +public class JceDecodeException + extends RuntimeException +{ + public JceDecodeException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceDecodeException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceDisplayer.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceDisplayer.java new file mode 100755 index 00000000000..11ea8fdbde3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceDisplayer.java @@ -0,0 +1,492 @@ +package com.qq.taf.jce; + +import java.io.PrintStream; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class JceDisplayer +{ + private int _level = 0; + private StringBuilder sb; + + public JceDisplayer(StringBuilder paramStringBuilder) + { + this.sb = paramStringBuilder; + } + + public JceDisplayer(StringBuilder paramStringBuilder, int paramInt) + { + this.sb = paramStringBuilder; + this._level = paramInt; + } + + public static void main(String[] paramArrayOfString) + { + paramArrayOfString = new StringBuilder(); + paramArrayOfString.append(1.2D); + System.out.println(paramArrayOfString.toString()); + } + + private void ps(String paramString) + { + int i = 0; + while (i < this._level) + { + this.sb.append('\t'); + i += 1; + } + if (paramString != null) { + this.sb.append(paramString).append(": "); + } + } + + public JceDisplayer display(byte paramByte, String paramString) + { + ps(paramString); + this.sb.append(paramByte).append('\n'); + return this; + } + + public JceDisplayer display(char paramChar, String paramString) + { + ps(paramString); + this.sb.append(paramChar).append('\n'); + return this; + } + + public JceDisplayer display(double paramDouble, String paramString) + { + ps(paramString); + this.sb.append(paramDouble).append('\n'); + return this; + } + + public JceDisplayer display(float paramFloat, String paramString) + { + ps(paramString); + this.sb.append(paramFloat).append('\n'); + return this; + } + + public JceDisplayer display(int paramInt, String paramString) + { + ps(paramString); + this.sb.append(paramInt).append('\n'); + return this; + } + + public JceDisplayer display(long paramLong, String paramString) + { + ps(paramString); + this.sb.append(paramLong).append('\n'); + return this; + } + + public JceDisplayer display(JceStruct paramJceStruct, String paramString) + { + display('{', paramString); + if (paramJceStruct == null) { + this.sb.append('\t').append("null"); + } + for (;;) + { + display('}', null); + return this; + paramJceStruct.display(this.sb, this._level + 1); + } + } + + public JceDisplayer display(T paramT, String paramString) + { + if (paramT == null) + { + this.sb.append("null").append('\n'); + return this; + } + if ((paramT instanceof Byte)) + { + display(((Byte)paramT).byteValue(), paramString); + return this; + } + if ((paramT instanceof Boolean)) + { + display(((Boolean)paramT).booleanValue(), paramString); + return this; + } + if ((paramT instanceof Short)) + { + display(((Short)paramT).shortValue(), paramString); + return this; + } + if ((paramT instanceof Integer)) + { + display(((Integer)paramT).intValue(), paramString); + return this; + } + if ((paramT instanceof Long)) + { + display(((Long)paramT).longValue(), paramString); + return this; + } + if ((paramT instanceof Float)) + { + display(((Float)paramT).floatValue(), paramString); + return this; + } + if ((paramT instanceof Double)) + { + display(((Double)paramT).doubleValue(), paramString); + return this; + } + if ((paramT instanceof String)) + { + display((String)paramT, paramString); + return this; + } + if ((paramT instanceof Map)) + { + display((Map)paramT, paramString); + return this; + } + if ((paramT instanceof List)) + { + display((List)paramT, paramString); + return this; + } + if ((paramT instanceof JceStruct)) + { + display((JceStruct)paramT, paramString); + return this; + } + if ((paramT instanceof byte[])) + { + display((byte[])paramT, paramString); + return this; + } + if ((paramT instanceof boolean[])) + { + display((boolean[])paramT, paramString); + return this; + } + if ((paramT instanceof short[])) + { + display((short[])paramT, paramString); + return this; + } + if ((paramT instanceof int[])) + { + display((int[])paramT, paramString); + return this; + } + if ((paramT instanceof long[])) + { + display((long[])paramT, paramString); + return this; + } + if ((paramT instanceof float[])) + { + display((float[])paramT, paramString); + return this; + } + if ((paramT instanceof double[])) + { + display((double[])paramT, paramString); + return this; + } + if (paramT.getClass().isArray()) + { + display((Object[])paramT, paramString); + return this; + } + throw new JceEncodeException("write object error: unsupport type."); + } + + public JceDisplayer display(String paramString1, String paramString2) + { + ps(paramString2); + if (paramString1 == null) + { + this.sb.append("null").append('\n'); + return this; + } + this.sb.append(paramString1).append('\n'); + return this; + } + + public JceDisplayer display(Collection paramCollection, String paramString) + { + if (paramCollection == null) + { + ps(paramString); + this.sb.append("null").append('\t'); + return this; + } + return display(paramCollection.toArray(), paramString); + } + + public JceDisplayer display(Map paramMap, String paramString) + { + ps(paramString); + if (paramMap == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramMap.isEmpty()) + { + this.sb.append(paramMap.size()).append(", {}").append('\n'); + return this; + } + this.sb.append(paramMap.size()).append(", {").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + JceDisplayer localJceDisplayer = new JceDisplayer(this.sb, this._level + 2); + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + paramString.display('(', null); + localJceDisplayer.display(localEntry.getKey(), null); + localJceDisplayer.display(localEntry.getValue(), null); + paramString.display(')', null); + } + display('}', null); + return this; + } + + public JceDisplayer display(short paramShort, String paramString) + { + ps(paramString); + this.sb.append(paramShort).append('\n'); + return this; + } + + public JceDisplayer display(boolean paramBoolean, String paramString) + { + ps(paramString); + paramString = this.sb; + if (paramBoolean) {} + for (char c = 'T';; c = 'F') + { + paramString.append(c).append('\n'); + return this; + } + } + + public JceDisplayer display(byte[] paramArrayOfByte, String paramString) + { + ps(paramString); + if (paramArrayOfByte == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfByte.length == 0) + { + this.sb.append(paramArrayOfByte.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfByte.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfByte.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfByte[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(char[] paramArrayOfChar, String paramString) + { + ps(paramString); + if (paramArrayOfChar == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfChar.length == 0) + { + this.sb.append(paramArrayOfChar.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfChar.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfChar.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfChar[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(double[] paramArrayOfDouble, String paramString) + { + ps(paramString); + if (paramArrayOfDouble == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfDouble.length == 0) + { + this.sb.append(paramArrayOfDouble.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfDouble.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfDouble.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfDouble[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(float[] paramArrayOfFloat, String paramString) + { + ps(paramString); + if (paramArrayOfFloat == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfFloat.length == 0) + { + this.sb.append(paramArrayOfFloat.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfFloat.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfFloat.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfFloat[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(int[] paramArrayOfInt, String paramString) + { + ps(paramString); + if (paramArrayOfInt == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfInt.length == 0) + { + this.sb.append(paramArrayOfInt.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfInt.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfInt.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfInt[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(long[] paramArrayOfLong, String paramString) + { + ps(paramString); + if (paramArrayOfLong == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfLong.length == 0) + { + this.sb.append(paramArrayOfLong.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfLong.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfLong.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfLong[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(T[] paramArrayOfT, String paramString) + { + ps(paramString); + if (paramArrayOfT == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfT.length == 0) + { + this.sb.append(paramArrayOfT.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfT.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfT.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfT[i], null); + i += 1; + } + display(']', null); + return this; + } + + public JceDisplayer display(short[] paramArrayOfShort, String paramString) + { + ps(paramString); + if (paramArrayOfShort == null) + { + this.sb.append("null").append('\n'); + return this; + } + if (paramArrayOfShort.length == 0) + { + this.sb.append(paramArrayOfShort.length).append(", []").append('\n'); + return this; + } + this.sb.append(paramArrayOfShort.length).append(", [").append('\n'); + paramString = new JceDisplayer(this.sb, this._level + 1); + int j = paramArrayOfShort.length; + int i = 0; + while (i < j) + { + paramString.display(paramArrayOfShort[i], null); + i += 1; + } + display(']', null); + return this; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceDisplayer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceEncodeException.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceEncodeException.java new file mode 100755 index 00000000000..298afbacc35 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceEncodeException.java @@ -0,0 +1,16 @@ +package com.qq.taf.jce; + +public class JceEncodeException + extends RuntimeException +{ + public JceEncodeException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceEncodeException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceInputStream.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceInputStream.java new file mode 100755 index 00000000000..eaa95e31247 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceInputStream.java @@ -0,0 +1,1107 @@ +package com.qq.taf.jce; + +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Array; +import java.lang.reflect.Constructor; +import java.nio.BufferUnderflowException; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class JceInputStream +{ + private ByteBuffer bs; + protected String sServerEncoding = "GBK"; + + public JceInputStream() {} + + public JceInputStream(ByteBuffer paramByteBuffer) + { + this.bs = paramByteBuffer; + } + + public JceInputStream(byte[] paramArrayOfByte) + { + this.bs = ByteBuffer.wrap(paramArrayOfByte); + } + + public JceInputStream(byte[] paramArrayOfByte, int paramInt) + { + this.bs = ByteBuffer.wrap(paramArrayOfByte); + this.bs.position(paramInt); + } + + public static void main(String[] paramArrayOfString) {} + + private int peakHead(HeadData paramHeadData) + { + return readHead(paramHeadData, this.bs.duplicate()); + } + + private T[] readArrayImpl(T paramT, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localObject = new HeadData(); + readHead((HeadData)localObject); + switch (((HeadData)localObject).type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + Object[] arrayOfObject = (Object[])Array.newInstance(paramT.getClass(), i); + paramInt = 0; + for (;;) + { + localObject = arrayOfObject; + if (paramInt >= i) { + break; + } + arrayOfObject[paramInt] = read(paramT, 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + Object localObject = null; + return localObject; + } + + public static int readHead(HeadData paramHeadData, ByteBuffer paramByteBuffer) + { + int i = paramByteBuffer.get(); + paramHeadData.type = ((byte)(i & 0xF)); + paramHeadData.tag = ((i & 0xF0) >> 4); + if (paramHeadData.tag == 15) + { + paramHeadData.tag = paramByteBuffer.get(); + return 2; + } + return 1; + } + + private Map readMap(Map paramMap1, Map paramMap2, int paramInt, boolean paramBoolean) + { + if ((paramMap2 == null) || (paramMap2.isEmpty())) { + paramMap2 = new HashMap(); + } + do + { + return paramMap2; + paramMap2 = (Map.Entry)paramMap2.entrySet().iterator().next(); + Object localObject1 = paramMap2.getKey(); + Object localObject2 = paramMap2.getValue(); + if (skipToTag(paramInt)) + { + paramMap2 = new HeadData(); + readHead(paramMap2); + switch (paramMap2.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + paramInt = 0; + for (;;) + { + paramMap2 = paramMap1; + if (paramInt >= i) { + break; + } + paramMap1.put(read(localObject1, 0, true), read(localObject2, 1, true)); + paramInt += 1; + } + } + paramMap2 = paramMap1; + } while (!paramBoolean); + throw new JceDecodeException("require field not exist."); + } + + private void skip(int paramInt) + { + this.bs.position(this.bs.position() + paramInt); + } + + private void skipField() + { + HeadData localHeadData = new HeadData(); + readHead(localHeadData); + skipField(localHeadData.type); + } + + private void skipField(byte paramByte) + { + byte b; + switch (paramByte) + { + default: + throw new JceDecodeException("invalid type."); + case 0: + skip(1); + case 11: + case 12: + return; + case 1: + skip(2); + return; + case 2: + skip(4); + return; + case 3: + skip(8); + return; + case 4: + skip(4); + return; + case 5: + skip(8); + return; + case 6: + b = this.bs.get(); + paramByte = b; + if (b < 0) { + paramByte = b + 256; + } + skip(paramByte); + return; + case 7: + skip(this.bs.getInt()); + return; + case 8: + b = read(0, 0, true); + paramByte = 0; + while (paramByte < b * 2) + { + skipField(); + paramByte += 1; + } + case 9: + b = read(0, 0, true); + paramByte = 0; + while (paramByte < b) + { + skipField(); + paramByte += 1; + } + case 13: + HeadData localHeadData = new HeadData(); + readHead(localHeadData); + if (localHeadData.type != 0) { + throw new JceDecodeException("skipField with invalid type, type value: " + paramByte + ", " + localHeadData.type); + } + skip(read(0, 0, true)); + return; + } + skipToStructEnd(); + } + + public JceStruct directRead(JceStruct paramJceStruct, int paramInt, boolean paramBoolean) + { + HeadData localHeadData = null; + if (skipToTag(paramInt)) + { + try + { + paramJceStruct = paramJceStruct.newInit(); + localHeadData = new HeadData(); + readHead(localHeadData); + if (localHeadData.type != 10) { + throw new JceDecodeException("type mismatch."); + } + } + catch (Exception paramJceStruct) + { + throw new JceDecodeException(paramJceStruct.getMessage()); + } + paramJceStruct.readFrom(this); + skipToStructEnd(); + } + do + { + return paramJceStruct; + paramJceStruct = localHeadData; + } while (!paramBoolean); + throw new JceDecodeException("require field not exist."); + } + + public ByteBuffer getBs() + { + return this.bs; + } + + public byte read(byte paramByte, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramByte = 0; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramByte; + return this.bs.get(); + } + throw new JceDecodeException("require field not exist."); + } + + public double read(double paramDouble, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramDouble = 0.0D; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramDouble; + return this.bs.getFloat(); + return this.bs.getDouble(); + } + throw new JceDecodeException("require field not exist."); + } + + public float read(float paramFloat, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramFloat = 0.0F; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramFloat; + return this.bs.getFloat(); + } + throw new JceDecodeException("require field not exist."); + } + + public int read(int paramInt1, int paramInt2, boolean paramBoolean) + { + if (skipToTag(paramInt2)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramInt1 = 0; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramInt1; + return this.bs.get(); + return this.bs.getShort(); + return this.bs.getInt(); + } + throw new JceDecodeException("require field not exist."); + } + + public long read(long paramLong, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramLong = 0L; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramLong; + return this.bs.get(); + return this.bs.getShort(); + return this.bs.getInt(); + return this.bs.getLong(); + } + throw new JceDecodeException("require field not exist."); + } + + public JceStruct read(JceStruct paramJceStruct, int paramInt, boolean paramBoolean) + { + HeadData localHeadData = null; + if (skipToTag(paramInt)) + { + try + { + paramJceStruct = (JceStruct)paramJceStruct.getClass().newInstance(); + localHeadData = new HeadData(); + readHead(localHeadData); + if (localHeadData.type != 10) { + throw new JceDecodeException("type mismatch."); + } + } + catch (Exception paramJceStruct) + { + throw new JceDecodeException(paramJceStruct.getMessage()); + } + paramJceStruct.readFrom(this); + skipToStructEnd(); + } + do + { + return paramJceStruct; + paramJceStruct = localHeadData; + } while (!paramBoolean); + throw new JceDecodeException("require field not exist."); + } + + public Object read(T paramT, int paramInt, boolean paramBoolean) + { + if ((paramT instanceof Byte)) { + return Byte.valueOf(read((byte)0, paramInt, paramBoolean)); + } + if ((paramT instanceof Boolean)) { + return Boolean.valueOf(read(false, paramInt, paramBoolean)); + } + if ((paramT instanceof Short)) { + return Short.valueOf(read((short)0, paramInt, paramBoolean)); + } + if ((paramT instanceof Integer)) { + return Integer.valueOf(read(0, paramInt, paramBoolean)); + } + if ((paramT instanceof Long)) { + return Long.valueOf(read(0L, paramInt, paramBoolean)); + } + if ((paramT instanceof Float)) { + return Float.valueOf(read(0.0F, paramInt, paramBoolean)); + } + if ((paramT instanceof Double)) { + return Double.valueOf(read(0.0D, paramInt, paramBoolean)); + } + if ((paramT instanceof String)) { + return String.valueOf(readString(paramInt, paramBoolean)); + } + if ((paramT instanceof Map)) { + return readMap((Map)paramT, paramInt, paramBoolean); + } + if ((paramT instanceof List)) { + return readArray((List)paramT, paramInt, paramBoolean); + } + if ((paramT instanceof JceStruct)) { + return read((JceStruct)paramT, paramInt, paramBoolean); + } + if (paramT.getClass().isArray()) + { + if (((paramT instanceof byte[])) || ((paramT instanceof Byte[]))) { + return read((byte[])null, paramInt, paramBoolean); + } + if ((paramT instanceof boolean[])) { + return read((boolean[])null, paramInt, paramBoolean); + } + if ((paramT instanceof short[])) { + return read((short[])null, paramInt, paramBoolean); + } + if ((paramT instanceof int[])) { + return read((int[])null, paramInt, paramBoolean); + } + if ((paramT instanceof long[])) { + return read((long[])null, paramInt, paramBoolean); + } + if ((paramT instanceof float[])) { + return read((float[])null, paramInt, paramBoolean); + } + if ((paramT instanceof double[])) { + return read((double[])null, paramInt, paramBoolean); + } + return readArray((Object[])paramT, paramInt, paramBoolean); + } + throw new JceDecodeException("read object error: unsupport type."); + } + + public String read(String paramString, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + paramString = new HeadData(); + readHead(paramString); + switch (paramString.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 6: + i = this.bs.get(); + paramInt = i; + if (i < 0) { + paramInt = i + 256; + } + localObject = new byte[paramInt]; + this.bs.get((byte[])localObject); + } + } + while (!paramBoolean) + { + Object localObject; + try + { + int i; + paramString = new String((byte[])localObject, this.sServerEncoding); + return paramString; + } + catch (UnsupportedEncodingException paramString) + { + return new String((byte[])localObject); + } + paramInt = this.bs.getInt(); + if ((paramInt > 104857600) || (paramInt < 0)) { + throw new JceDecodeException("String too long: " + paramInt); + } + paramString = new byte[paramInt]; + this.bs.get(paramString); + try + { + localObject = new String(paramString, this.sServerEncoding); + return localObject; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + return new String(paramString); + } + } + throw new JceDecodeException("require field not exist."); + } + + public short read(short paramShort, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 12: + paramShort = 0; + } + } + while (!paramBoolean) + { + HeadData localHeadData; + return paramShort; + return (short)this.bs.get(); + return this.bs.getShort(); + } + throw new JceDecodeException("require field not exist."); + } + + public boolean read(boolean paramBoolean1, int paramInt, boolean paramBoolean2) + { + paramBoolean1 = false; + if (read((byte)0, paramInt, paramBoolean2) != 0) { + paramBoolean1 = true; + } + return paramBoolean1; + } + + public byte[] read(byte[] paramArrayOfByte, int paramInt, boolean paramBoolean) + { + paramArrayOfByte = null; + if (skipToTag(paramInt)) + { + paramArrayOfByte = new HeadData(); + readHead(paramArrayOfByte); + switch (paramArrayOfByte.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 13: + localObject = new HeadData(); + readHead((HeadData)localObject); + if (((HeadData)localObject).type != 0) { + throw new JceDecodeException("type mismatch, tag: " + paramInt + ", type: " + paramArrayOfByte.type + ", " + ((HeadData)localObject).type); + } + i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("invalid size, tag: " + paramInt + ", type: " + paramArrayOfByte.type + ", " + ((HeadData)localObject).type + ", size: " + i); + } + paramArrayOfByte = new byte[i]; + this.bs.get(paramArrayOfByte); + } + } + while (!paramBoolean) + { + return paramArrayOfByte; + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + Object localObject = new byte[i]; + paramInt = 0; + for (;;) + { + paramArrayOfByte = (byte[])localObject; + if (paramInt >= i) { + break; + } + localObject[paramInt] = read(localObject[0], 0, true); + paramInt += 1; + } + } + throw new JceDecodeException("require field not exist."); + } + + public double[] read(double[] paramArrayOfDouble, int paramInt, boolean paramBoolean) + { + paramArrayOfDouble = null; + if (skipToTag(paramInt)) + { + paramArrayOfDouble = new HeadData(); + readHead(paramArrayOfDouble); + switch (paramArrayOfDouble.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + double[] arrayOfDouble = new double[i]; + paramInt = 0; + for (;;) + { + paramArrayOfDouble = arrayOfDouble; + if (paramInt >= i) { + break; + } + arrayOfDouble[paramInt] = read(arrayOfDouble[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfDouble; + } + + public float[] read(float[] paramArrayOfFloat, int paramInt, boolean paramBoolean) + { + paramArrayOfFloat = null; + if (skipToTag(paramInt)) + { + paramArrayOfFloat = new HeadData(); + readHead(paramArrayOfFloat); + switch (paramArrayOfFloat.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + float[] arrayOfFloat = new float[i]; + paramInt = 0; + for (;;) + { + paramArrayOfFloat = arrayOfFloat; + if (paramInt >= i) { + break; + } + arrayOfFloat[paramInt] = read(arrayOfFloat[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfFloat; + } + + public int[] read(int[] paramArrayOfInt, int paramInt, boolean paramBoolean) + { + paramArrayOfInt = null; + if (skipToTag(paramInt)) + { + paramArrayOfInt = new HeadData(); + readHead(paramArrayOfInt); + switch (paramArrayOfInt.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + int[] arrayOfInt = new int[i]; + paramInt = 0; + for (;;) + { + paramArrayOfInt = arrayOfInt; + if (paramInt >= i) { + break; + } + arrayOfInt[paramInt] = read(arrayOfInt[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfInt; + } + + public long[] read(long[] paramArrayOfLong, int paramInt, boolean paramBoolean) + { + paramArrayOfLong = null; + if (skipToTag(paramInt)) + { + paramArrayOfLong = new HeadData(); + readHead(paramArrayOfLong); + switch (paramArrayOfLong.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + long[] arrayOfLong = new long[i]; + paramInt = 0; + for (;;) + { + paramArrayOfLong = arrayOfLong; + if (paramInt >= i) { + break; + } + arrayOfLong[paramInt] = read(arrayOfLong[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfLong; + } + + public JceStruct[] read(JceStruct[] paramArrayOfJceStruct, int paramInt, boolean paramBoolean) + { + return (JceStruct[])readArray(paramArrayOfJceStruct, paramInt, paramBoolean); + } + + public String[] read(String[] paramArrayOfString, int paramInt, boolean paramBoolean) + { + return (String[])readArray(paramArrayOfString, paramInt, paramBoolean); + } + + public short[] read(short[] paramArrayOfShort, int paramInt, boolean paramBoolean) + { + paramArrayOfShort = null; + if (skipToTag(paramInt)) + { + paramArrayOfShort = new HeadData(); + readHead(paramArrayOfShort); + switch (paramArrayOfShort.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + short[] arrayOfShort = new short[i]; + paramInt = 0; + for (;;) + { + paramArrayOfShort = arrayOfShort; + if (paramInt >= i) { + break; + } + arrayOfShort[paramInt] = read(arrayOfShort[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfShort; + } + + public boolean[] read(boolean[] paramArrayOfBoolean, int paramInt, boolean paramBoolean) + { + paramArrayOfBoolean = null; + if (skipToTag(paramInt)) + { + paramArrayOfBoolean = new HeadData(); + readHead(paramArrayOfBoolean); + switch (paramArrayOfBoolean.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + boolean[] arrayOfBoolean = new boolean[i]; + paramInt = 0; + for (;;) + { + paramArrayOfBoolean = arrayOfBoolean; + if (paramInt >= i) { + break; + } + arrayOfBoolean[paramInt] = read(arrayOfBoolean[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return paramArrayOfBoolean; + } + + public List readArray(List paramList, int paramInt, boolean paramBoolean) + { + if ((paramList == null) || (paramList.isEmpty())) + { + paramList = new ArrayList(); + return paramList; + } + Object[] arrayOfObject = readArrayImpl(paramList.get(0), paramInt, paramBoolean); + if (arrayOfObject == null) { + return null; + } + ArrayList localArrayList = new ArrayList(); + paramInt = 0; + for (;;) + { + paramList = localArrayList; + if (paramInt >= arrayOfObject.length) { + break; + } + localArrayList.add(arrayOfObject[paramInt]); + paramInt += 1; + } + } + + public T[] readArray(T[] paramArrayOfT, int paramInt, boolean paramBoolean) + { + if ((paramArrayOfT == null) || (paramArrayOfT.length == 0)) { + throw new JceDecodeException("unable to get type of key and value."); + } + return readArrayImpl(paramArrayOfT[0], paramInt, paramBoolean); + } + + public String readByteString(String paramString, int paramInt, boolean paramBoolean) + { + if (skipToTag(paramInt)) + { + paramString = new HeadData(); + readHead(paramString); + switch (paramString.type) + { + default: + throw new JceDecodeException("type mismatch."); + case 6: + i = this.bs.get(); + paramInt = i; + if (i < 0) { + paramInt = i + 256; + } + paramString = new byte[paramInt]; + this.bs.get(paramString); + paramString = HexUtil.bytes2HexStr(paramString); + } + } + while (!paramBoolean) + { + int i; + return paramString; + paramInt = this.bs.getInt(); + if ((paramInt > 104857600) || (paramInt < 0)) { + throw new JceDecodeException("String too long: " + paramInt); + } + paramString = new byte[paramInt]; + this.bs.get(paramString); + return HexUtil.bytes2HexStr(paramString); + } + throw new JceDecodeException("require field not exist."); + } + + public void readHead(HeadData paramHeadData) + { + readHead(paramHeadData, this.bs); + } + + public List readList(int paramInt, boolean paramBoolean) + { + ArrayList localArrayList = new ArrayList(); + if (skipToTag(paramInt)) + { + Object localObject = new HeadData(); + readHead((HeadData)localObject); + switch (((HeadData)localObject).type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int k = read(0, 0, true); + if (k < 0) { + throw new JceDecodeException("size invalid: " + k); + } + paramInt = 0; + if (paramInt < k) + { + localObject = new HeadData(); + readHead((HeadData)localObject); + switch (((HeadData)localObject).type) + { + case 11: + default: + throw new JceDecodeException("type mismatch."); + case 0: + skip(1); + } + for (;;) + { + paramInt += 1; + break; + skip(2); + continue; + skip(4); + continue; + skip(8); + continue; + skip(4); + continue; + skip(8); + continue; + int j = this.bs.get(); + int i = j; + if (j < 0) { + i = j + 256; + } + skip(i); + continue; + skip(this.bs.getInt()); + continue; + try + { + localObject = (JceStruct)Class.forName(JceStruct.class.getName()).getConstructor(new Class[0]).newInstance(new Object[0]); + ((JceStruct)localObject).readFrom(this); + skipToStructEnd(); + localArrayList.add(localObject); + } + catch (Exception localException) + { + localException.printStackTrace(); + throw new JceDecodeException("type mismatch." + localException); + } + localException.add(new Integer(0)); + } + } + } + else if (paramBoolean) + { + throw new JceDecodeException("require field not exist."); + } + return localException; + } + + public HashMap readMap(Map paramMap, int paramInt, boolean paramBoolean) + { + return (HashMap)readMap(new HashMap(), paramMap, paramInt, paramBoolean); + } + + public String readString(int paramInt, boolean paramBoolean) + { + Object localObject1 = null; + if (skipToTag(paramInt)) + { + localObject1 = new HeadData(); + readHead((HeadData)localObject1); + switch (((HeadData)localObject1).type) + { + default: + throw new JceDecodeException("type mismatch."); + case 6: + i = this.bs.get(); + paramInt = i; + if (i < 0) { + paramInt = i + 256; + } + localObject2 = new byte[paramInt]; + this.bs.get((byte[])localObject2); + } + } + while (!paramBoolean) + { + Object localObject2; + try + { + int i; + localObject1 = new String((byte[])localObject2, this.sServerEncoding); + return localObject1; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException1) + { + return new String((byte[])localObject2); + } + paramInt = this.bs.getInt(); + if ((paramInt > 104857600) || (paramInt < 0)) { + throw new JceDecodeException("String too long: " + paramInt); + } + byte[] arrayOfByte = new byte[paramInt]; + this.bs.get(arrayOfByte); + try + { + localObject2 = new String(arrayOfByte, this.sServerEncoding); + return localObject2; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException2) + { + return new String(arrayOfByte); + } + } + throw new JceDecodeException("require field not exist."); + } + + public Map readStringMap(int paramInt, boolean paramBoolean) + { + HashMap localHashMap = new HashMap(); + if (skipToTag(paramInt)) + { + HeadData localHeadData = new HeadData(); + readHead(localHeadData); + switch (localHeadData.type) + { + default: + throw new JceDecodeException("type mismatch."); + } + int i = read(0, 0, true); + if (i < 0) { + throw new JceDecodeException("size invalid: " + i); + } + paramInt = 0; + while (paramInt < i) + { + localHashMap.put(readString(0, true), readString(1, true)); + paramInt += 1; + } + } + if (paramBoolean) { + throw new JceDecodeException("require field not exist."); + } + return localHashMap; + } + + public int setServerEncoding(String paramString) + { + this.sServerEncoding = paramString; + return 0; + } + + public void skipToStructEnd() + { + HeadData localHeadData = new HeadData(); + do + { + readHead(localHeadData); + skipField(localHeadData.type); + } while (localHeadData.type != 11); + } + + public boolean skipToTag(int paramInt) + { + try + { + HeadData localHeadData = new HeadData(); + for (;;) + { + int i = peakHead(localHeadData); + if ((paramInt <= localHeadData.tag) || (localHeadData.type == 11)) + { + if (paramInt != localHeadData.tag) { + break; + } + return true; + } + skip(i); + skipField(localHeadData.type); + } + return false; + } + catch (JceDecodeException localJceDecodeException) + { + return false; + } + catch (BufferUnderflowException localBufferUnderflowException) {} + } + + public void warp(byte[] paramArrayOfByte) + { + if (this.bs != null) { + this.bs.clear(); + } + this.bs = ByteBuffer.wrap(paramArrayOfByte); + } + + public static class HeadData + { + public int tag; + public byte type; + + public void clear() + { + this.type = 0; + this.tag = 0; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceInputStream + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceOutputStream.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceOutputStream.java new file mode 100755 index 00000000000..abd5273f343 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceOutputStream.java @@ -0,0 +1,526 @@ +package com.qq.taf.jce; + +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class JceOutputStream +{ + private ByteBuffer bs; + protected String sServerEncoding = "GBK"; + + public JceOutputStream() + { + this(128); + } + + public JceOutputStream(int paramInt) + { + this.bs = ByteBuffer.allocate(paramInt); + } + + public JceOutputStream(ByteBuffer paramByteBuffer) + { + this.bs = paramByteBuffer; + } + + public static void main(String[] paramArrayOfString) + { + paramArrayOfString = new JceOutputStream(); + paramArrayOfString.write(1311768467283714885L, 0); + ByteBuffer localByteBuffer = paramArrayOfString.getByteBuffer(); + System.out.println(HexUtil.bytes2HexStr(localByteBuffer.array())); + System.out.println(Arrays.toString(paramArrayOfString.toByteArray())); + } + + private void writeArray(Object[] paramArrayOfObject, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfObject.length, 0); + int i = paramArrayOfObject.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfObject[paramInt], 0); + paramInt += 1; + } + } + + public ByteBuffer getByteBuffer() + { + return this.bs; + } + + public void reserve(int paramInt) + { + if (this.bs.remaining() < paramInt) + { + ByteBuffer localByteBuffer = ByteBuffer.allocate((this.bs.capacity() + paramInt) * 2); + localByteBuffer.put(this.bs.array(), 0, this.bs.position()); + this.bs = localByteBuffer; + } + } + + public int setServerEncoding(String paramString) + { + this.sServerEncoding = paramString; + return 0; + } + + public byte[] toByteArray() + { + byte[] arrayOfByte = new byte[this.bs.position()]; + System.arraycopy(this.bs.array(), 0, arrayOfByte, 0, this.bs.position()); + return arrayOfByte; + } + + public void write(byte paramByte, int paramInt) + { + reserve(3); + if (paramByte == 0) + { + writeHead((byte)12, paramInt); + return; + } + writeHead((byte)0, paramInt); + this.bs.put(paramByte); + } + + public void write(double paramDouble, int paramInt) + { + reserve(10); + writeHead((byte)5, paramInt); + this.bs.putDouble(paramDouble); + } + + public void write(float paramFloat, int paramInt) + { + reserve(6); + writeHead((byte)4, paramInt); + this.bs.putFloat(paramFloat); + } + + public void write(int paramInt1, int paramInt2) + { + reserve(6); + if ((paramInt1 >= -32768) && (paramInt1 <= 32767)) + { + write((short)paramInt1, paramInt2); + return; + } + writeHead((byte)2, paramInt2); + this.bs.putInt(paramInt1); + } + + public void write(long paramLong, int paramInt) + { + reserve(10); + if ((paramLong >= -2147483648L) && (paramLong <= 2147483647L)) + { + write((int)paramLong, paramInt); + return; + } + writeHead((byte)3, paramInt); + this.bs.putLong(paramLong); + } + + public void write(JceStruct paramJceStruct, int paramInt) + { + reserve(2); + writeHead((byte)10, paramInt); + paramJceStruct.writeTo(this); + reserve(2); + writeHead((byte)11, 0); + } + + public void write(Boolean paramBoolean, int paramInt) + { + write(paramBoolean.booleanValue(), paramInt); + } + + public void write(Byte paramByte, int paramInt) + { + write(paramByte.byteValue(), paramInt); + } + + public void write(Double paramDouble, int paramInt) + { + write(paramDouble.doubleValue(), paramInt); + } + + public void write(Float paramFloat, int paramInt) + { + write(paramFloat.floatValue(), paramInt); + } + + public void write(Integer paramInteger, int paramInt) + { + write(paramInteger.intValue(), paramInt); + } + + public void write(Long paramLong, int paramInt) + { + write(paramLong.longValue(), paramInt); + } + + public void write(Object paramObject, int paramInt) + { + if ((paramObject instanceof Byte)) + { + write(((Byte)paramObject).byteValue(), paramInt); + return; + } + if ((paramObject instanceof Boolean)) + { + write(((Boolean)paramObject).booleanValue(), paramInt); + return; + } + if ((paramObject instanceof Short)) + { + write(((Short)paramObject).shortValue(), paramInt); + return; + } + if ((paramObject instanceof Integer)) + { + write(((Integer)paramObject).intValue(), paramInt); + return; + } + if ((paramObject instanceof Long)) + { + write(((Long)paramObject).longValue(), paramInt); + return; + } + if ((paramObject instanceof Float)) + { + write(((Float)paramObject).floatValue(), paramInt); + return; + } + if ((paramObject instanceof Double)) + { + write(((Double)paramObject).doubleValue(), paramInt); + return; + } + if ((paramObject instanceof String)) + { + write((String)paramObject, paramInt); + return; + } + if ((paramObject instanceof Map)) + { + write((Map)paramObject, paramInt); + return; + } + if ((paramObject instanceof List)) + { + write((List)paramObject, paramInt); + return; + } + if ((paramObject instanceof JceStruct)) + { + write((JceStruct)paramObject, paramInt); + return; + } + if ((paramObject instanceof byte[])) + { + write((byte[])paramObject, paramInt); + return; + } + if ((paramObject instanceof boolean[])) + { + write((boolean[])paramObject, paramInt); + return; + } + if ((paramObject instanceof short[])) + { + write((short[])paramObject, paramInt); + return; + } + if ((paramObject instanceof int[])) + { + write((int[])paramObject, paramInt); + return; + } + if ((paramObject instanceof long[])) + { + write((long[])paramObject, paramInt); + return; + } + if ((paramObject instanceof float[])) + { + write((float[])paramObject, paramInt); + return; + } + if ((paramObject instanceof double[])) + { + write((double[])paramObject, paramInt); + return; + } + if (paramObject.getClass().isArray()) + { + writeArray((Object[])paramObject, paramInt); + return; + } + if ((paramObject instanceof Collection)) + { + write((Collection)paramObject, paramInt); + return; + } + throw new JceEncodeException("write object error: unsupport type. " + paramObject.getClass()); + } + + public void write(Short paramShort, int paramInt) + { + write(paramShort.shortValue(), paramInt); + } + + public void write(String paramString, int paramInt) + { + try + { + byte[] arrayOfByte = paramString.getBytes(this.sServerEncoding); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + paramString = paramString.getBytes(); + } + writeHead((byte)6, paramInt); + this.bs.put((byte)paramString.length); + this.bs.put(paramString); + } + reserve(paramString.length + 10); + if (paramString.length > 255) + { + writeHead((byte)7, paramInt); + this.bs.putInt(paramString.length); + this.bs.put(paramString); + return; + } + } + + public void write(Collection paramCollection, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + if (paramCollection == null) {} + for (paramInt = 0;; paramInt = paramCollection.size()) + { + write(paramInt, 0); + if (paramCollection == null) { + break; + } + paramCollection = paramCollection.iterator(); + while (paramCollection.hasNext()) { + write(paramCollection.next(), 0); + } + } + } + + public void write(Map paramMap, int paramInt) + { + reserve(8); + writeHead((byte)8, paramInt); + if (paramMap == null) {} + for (paramInt = 0;; paramInt = paramMap.size()) + { + write(paramInt, 0); + if (paramMap == null) { + break; + } + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + write(localEntry.getKey(), 0); + write(localEntry.getValue(), 1); + } + } + } + + public void write(short paramShort, int paramInt) + { + reserve(4); + if ((paramShort >= -128) && (paramShort <= 127)) + { + write((byte)paramShort, paramInt); + return; + } + writeHead((byte)1, paramInt); + this.bs.putShort(paramShort); + } + + public void write(boolean paramBoolean, int paramInt) + { + if (paramBoolean) {} + for (int i = 1;; i = 0) + { + write((byte)i, paramInt); + return; + } + } + + public void write(byte[] paramArrayOfByte, int paramInt) + { + reserve(paramArrayOfByte.length + 8); + writeHead((byte)13, paramInt); + writeHead((byte)0, 0); + write(paramArrayOfByte.length, 0); + this.bs.put(paramArrayOfByte); + } + + public void write(double[] paramArrayOfDouble, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfDouble.length, 0); + int i = paramArrayOfDouble.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfDouble[paramInt], 0); + paramInt += 1; + } + } + + public void write(float[] paramArrayOfFloat, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfFloat.length, 0); + int i = paramArrayOfFloat.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfFloat[paramInt], 0); + paramInt += 1; + } + } + + public void write(int[] paramArrayOfInt, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfInt.length, 0); + int i = paramArrayOfInt.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfInt[paramInt], 0); + paramInt += 1; + } + } + + public void write(long[] paramArrayOfLong, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfLong.length, 0); + int i = paramArrayOfLong.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfLong[paramInt], 0); + paramInt += 1; + } + } + + public void write(T[] paramArrayOfT, int paramInt) + { + writeArray(paramArrayOfT, paramInt); + } + + public void write(short[] paramArrayOfShort, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfShort.length, 0); + int i = paramArrayOfShort.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfShort[paramInt], 0); + paramInt += 1; + } + } + + public void write(boolean[] paramArrayOfBoolean, int paramInt) + { + reserve(8); + writeHead((byte)9, paramInt); + write(paramArrayOfBoolean.length, 0); + int i = paramArrayOfBoolean.length; + paramInt = 0; + while (paramInt < i) + { + write(paramArrayOfBoolean[paramInt], 0); + paramInt += 1; + } + } + + public void writeByteString(String paramString, int paramInt) + { + reserve(paramString.length() + 10); + paramString = HexUtil.hexStr2Bytes(paramString); + if (paramString.length > 255) + { + writeHead((byte)7, paramInt); + this.bs.putInt(paramString.length); + this.bs.put(paramString); + return; + } + writeHead((byte)6, paramInt); + this.bs.put((byte)paramString.length); + this.bs.put(paramString); + } + + public void writeHead(byte paramByte, int paramInt) + { + byte b; + if (paramInt < 15) + { + b = (byte)(paramInt << 4 | paramByte); + this.bs.put(b); + return; + } + if (paramInt < 256) + { + b = (byte)(paramByte | 0xF0); + this.bs.put(b); + this.bs.put((byte)paramInt); + return; + } + throw new JceEncodeException("tag is too large: " + paramInt); + } + + public void writeStringByte(String paramString, int paramInt) + { + paramString = HexUtil.hexStr2Bytes(paramString); + reserve(paramString.length + 10); + if (paramString.length > 255) + { + writeHead((byte)7, paramInt); + this.bs.putInt(paramString.length); + this.bs.put(paramString); + return; + } + writeHead((byte)6, paramInt); + this.bs.put((byte)paramString.length); + this.bs.put(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceOutputStream + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceStruct.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceStruct.java new file mode 100755 index 00000000000..6d141b63586 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceStruct.java @@ -0,0 +1,68 @@ +package com.qq.taf.jce; + +import java.io.Serializable; + +public abstract class JceStruct + implements Serializable +{ + public static final byte BYTE = 0; + public static final byte DOUBLE = 5; + public static final byte FLOAT = 4; + public static final byte INT = 2; + public static final int JCE_MAX_STRING_LENGTH = 104857600; + public static final byte LIST = 9; + public static final byte LONG = 3; + public static final byte MAP = 8; + public static final byte SHORT = 1; + public static final byte SIMPLE_LIST = 13; + public static final byte STRING1 = 6; + public static final byte STRING4 = 7; + public static final byte STRUCT_BEGIN = 10; + public static final byte STRUCT_END = 11; + public static final byte ZERO_TAG = 12; + + public boolean containField(String paramString) + { + return false; + } + + public abstract void display(StringBuilder paramStringBuilder, int paramInt); + + public Object getFieldByName(String paramString) + { + return null; + } + + public JceStruct newInit() + { + return null; + } + + public abstract void readFrom(JceInputStream paramJceInputStream); + + public void recyle() {} + + public void setFieldByName(String paramString, Object paramObject) {} + + public byte[] toByteArray() + { + JceOutputStream localJceOutputStream = new JceOutputStream(); + writeTo(localJceOutputStream); + return localJceOutputStream.toByteArray(); + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + display(localStringBuilder, 0); + return localStringBuilder.toString(); + } + + public abstract void writeTo(JceOutputStream paramJceOutputStream); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/JceUtil.java b/com.tencent.token/classes.jar/com/qq/taf/jce/JceUtil.java new file mode 100755 index 00000000000..1fa2a87092c --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/JceUtil.java @@ -0,0 +1,686 @@ +package com.qq.taf.jce; + +import java.nio.ByteBuffer; +import java.util.Iterator; +import java.util.List; + +public final class JceUtil +{ + private static final byte[] highDigits; + private static final int iConstant = 37; + private static final int iTotal = 17; + private static final byte[] lowDigits; + + static + { + byte[] arrayOfByte1 = new byte[16]; + byte[] tmp6_5 = arrayOfByte1; + tmp6_5[0] = 48; + byte[] tmp11_6 = tmp6_5; + tmp11_6[1] = 49; + byte[] tmp16_11 = tmp11_6; + tmp16_11[2] = 50; + byte[] tmp21_16 = tmp16_11; + tmp21_16[3] = 51; + byte[] tmp26_21 = tmp21_16; + tmp26_21[4] = 52; + byte[] tmp31_26 = tmp26_21; + tmp31_26[5] = 53; + byte[] tmp36_31 = tmp31_26; + tmp36_31[6] = 54; + byte[] tmp42_36 = tmp36_31; + tmp42_36[7] = 55; + byte[] tmp48_42 = tmp42_36; + tmp48_42[8] = 56; + byte[] tmp54_48 = tmp48_42; + tmp54_48[9] = 57; + byte[] tmp60_54 = tmp54_48; + tmp60_54[10] = 65; + byte[] tmp66_60 = tmp60_54; + tmp66_60[11] = 66; + byte[] tmp72_66 = tmp66_60; + tmp72_66[12] = 67; + byte[] tmp78_72 = tmp72_66; + tmp78_72[13] = 68; + byte[] tmp84_78 = tmp78_72; + tmp84_78[14] = 69; + byte[] tmp90_84 = tmp84_78; + tmp90_84[15] = 70; + tmp90_84; + byte[] arrayOfByte2 = new byte[256]; + byte[] arrayOfByte3 = new byte[256]; + int i = 0; + while (i < 256) + { + arrayOfByte2[i] = arrayOfByte1[(i >>> 4)]; + arrayOfByte3[i] = arrayOfByte1[(i & 0xF)]; + i += 1; + } + highDigits = arrayOfByte2; + lowDigits = arrayOfByte3; + } + + public static int compareTo(byte paramByte1, byte paramByte2) + { + if (paramByte1 < paramByte2) { + return -1; + } + if (paramByte1 > paramByte2) { + return 1; + } + return 0; + } + + public static int compareTo(char paramChar1, char paramChar2) + { + if (paramChar1 < paramChar2) { + return -1; + } + if (paramChar1 > paramChar2) { + return 1; + } + return 0; + } + + public static int compareTo(double paramDouble1, double paramDouble2) + { + if (paramDouble1 < paramDouble2) { + return -1; + } + if (paramDouble1 > paramDouble2) { + return 1; + } + return 0; + } + + public static int compareTo(float paramFloat1, float paramFloat2) + { + if (paramFloat1 < paramFloat2) { + return -1; + } + if (paramFloat1 > paramFloat2) { + return 1; + } + return 0; + } + + public static int compareTo(int paramInt1, int paramInt2) + { + if (paramInt1 < paramInt2) { + return -1; + } + if (paramInt1 > paramInt2) { + return 1; + } + return 0; + } + + public static int compareTo(long paramLong1, long paramLong2) + { + if (paramLong1 < paramLong2) { + return -1; + } + if (paramLong1 > paramLong2) { + return 1; + } + return 0; + } + + public static > int compareTo(T paramT1, T paramT2) + { + return paramT1.compareTo(paramT2); + } + + public static > int compareTo(List paramList1, List paramList2) + { + paramList1 = paramList1.iterator(); + paramList2 = paramList2.iterator(); + while ((paramList1.hasNext()) && (paramList2.hasNext())) + { + int i = ((Comparable)paramList1.next()).compareTo(paramList2.next()); + if (i != 0) { + return i; + } + } + return compareTo(paramList1.hasNext(), paramList2.hasNext()); + } + + public static int compareTo(short paramShort1, short paramShort2) + { + if (paramShort1 < paramShort2) { + return -1; + } + if (paramShort1 > paramShort2) { + return 1; + } + return 0; + } + + public static int compareTo(boolean paramBoolean1, boolean paramBoolean2) + { + int j = 1; + int i; + if (paramBoolean1) + { + i = 1; + if (!paramBoolean2) { + break label21; + } + } + for (;;) + { + return i - j; + i = 0; + break; + label21: + j = 0; + } + } + + public static int compareTo(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfByte1.length) && (i < paramArrayOfByte2.length)) + { + int k = compareTo(paramArrayOfByte1[j], paramArrayOfByte2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfByte1.length, paramArrayOfByte2.length); + } + + public static int compareTo(char[] paramArrayOfChar1, char[] paramArrayOfChar2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfChar1.length) && (i < paramArrayOfChar2.length)) + { + int k = compareTo(paramArrayOfChar1[j], paramArrayOfChar2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfChar1.length, paramArrayOfChar2.length); + } + + public static int compareTo(double[] paramArrayOfDouble1, double[] paramArrayOfDouble2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfDouble1.length) && (i < paramArrayOfDouble2.length)) + { + int k = compareTo(paramArrayOfDouble1[j], paramArrayOfDouble2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfDouble1.length, paramArrayOfDouble2.length); + } + + public static int compareTo(float[] paramArrayOfFloat1, float[] paramArrayOfFloat2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfFloat1.length) && (i < paramArrayOfFloat2.length)) + { + int k = compareTo(paramArrayOfFloat1[j], paramArrayOfFloat2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfFloat1.length, paramArrayOfFloat2.length); + } + + public static int compareTo(int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfInt1.length) && (i < paramArrayOfInt2.length)) + { + int k = compareTo(paramArrayOfInt1[j], paramArrayOfInt2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfInt1.length, paramArrayOfInt2.length); + } + + public static int compareTo(long[] paramArrayOfLong1, long[] paramArrayOfLong2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfLong1.length) && (i < paramArrayOfLong2.length)) + { + int k = compareTo(paramArrayOfLong1[j], paramArrayOfLong2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfLong1.length, paramArrayOfLong2.length); + } + + public static > int compareTo(T[] paramArrayOfT1, T[] paramArrayOfT2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfT1.length) && (i < paramArrayOfT2.length)) + { + int k = paramArrayOfT1[j].compareTo(paramArrayOfT2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfT1.length, paramArrayOfT2.length); + } + + public static int compareTo(short[] paramArrayOfShort1, short[] paramArrayOfShort2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfShort1.length) && (i < paramArrayOfShort2.length)) + { + int k = compareTo(paramArrayOfShort1[j], paramArrayOfShort2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfShort1.length, paramArrayOfShort2.length); + } + + public static int compareTo(boolean[] paramArrayOfBoolean1, boolean[] paramArrayOfBoolean2) + { + int j = 0; + int i = 0; + while ((j < paramArrayOfBoolean1.length) && (i < paramArrayOfBoolean2.length)) + { + int k = compareTo(paramArrayOfBoolean1[j], paramArrayOfBoolean2[i]); + if (k != 0) { + return k; + } + j += 1; + i += 1; + } + return compareTo(paramArrayOfBoolean1.length, paramArrayOfBoolean2.length); + } + + public static boolean equals(byte paramByte1, byte paramByte2) + { + return paramByte1 == paramByte2; + } + + public static boolean equals(char paramChar1, char paramChar2) + { + return paramChar1 == paramChar2; + } + + public static boolean equals(double paramDouble1, double paramDouble2) + { + return paramDouble1 == paramDouble2; + } + + public static boolean equals(float paramFloat1, float paramFloat2) + { + return paramFloat1 == paramFloat2; + } + + public static boolean equals(int paramInt1, int paramInt2) + { + return paramInt1 == paramInt2; + } + + public static boolean equals(long paramLong1, long paramLong2) + { + return paramLong1 == paramLong2; + } + + public static boolean equals(Object paramObject1, Object paramObject2) + { + return paramObject1.equals(paramObject2); + } + + public static boolean equals(short paramShort1, short paramShort2) + { + return paramShort1 == paramShort2; + } + + public static boolean equals(boolean paramBoolean1, boolean paramBoolean2) + { + return paramBoolean1 == paramBoolean2; + } + + public static String getHexdump(ByteBuffer paramByteBuffer) + { + int i = paramByteBuffer.remaining(); + if (i == 0) { + return "empty"; + } + StringBuffer localStringBuffer = new StringBuffer(paramByteBuffer.remaining() * 3 - 1); + int j = paramByteBuffer.position(); + int k = paramByteBuffer.get() & 0xFF; + localStringBuffer.append((char)highDigits[k]); + localStringBuffer.append((char)lowDigits[k]); + i -= 1; + while (i > 0) + { + localStringBuffer.append(' '); + k = paramByteBuffer.get() & 0xFF; + localStringBuffer.append((char)highDigits[k]); + localStringBuffer.append((char)lowDigits[k]); + i -= 1; + } + paramByteBuffer.position(j); + return localStringBuffer.toString(); + } + + public static String getHexdump(byte[] paramArrayOfByte) + { + return getHexdump(ByteBuffer.wrap(paramArrayOfByte)); + } + + public static byte[] getJceBufArray(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.position()]; + System.arraycopy(paramByteBuffer.array(), 0, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public static int hashCode(byte paramByte) + { + return paramByte + 629; + } + + public static int hashCode(char paramChar) + { + return paramChar + 'ɵ'; + } + + public static int hashCode(double paramDouble) + { + return hashCode(Double.doubleToLongBits(paramDouble)); + } + + public static int hashCode(float paramFloat) + { + return Float.floatToIntBits(paramFloat) + 629; + } + + public static int hashCode(int paramInt) + { + return paramInt + 629; + } + + public static int hashCode(long paramLong) + { + return (int)(paramLong >> 32 ^ paramLong) + 629; + } + + public static int hashCode(Object paramObject) + { + if (paramObject == null) { + return 629; + } + if (paramObject.getClass().isArray()) + { + if ((paramObject instanceof long[])) { + return hashCode((long[])paramObject); + } + if ((paramObject instanceof int[])) { + return hashCode((int[])paramObject); + } + if ((paramObject instanceof short[])) { + return hashCode((short[])paramObject); + } + if ((paramObject instanceof char[])) { + return hashCode((char[])paramObject); + } + if ((paramObject instanceof byte[])) { + return hashCode((byte[])paramObject); + } + if ((paramObject instanceof double[])) { + return hashCode((double[])paramObject); + } + if ((paramObject instanceof float[])) { + return hashCode((float[])paramObject); + } + if ((paramObject instanceof boolean[])) { + return hashCode((boolean[])paramObject); + } + if ((paramObject instanceof JceStruct[])) { + return hashCode((JceStruct[])paramObject); + } + return hashCode((Object[])paramObject); + } + if ((paramObject instanceof JceStruct)) { + return paramObject.hashCode(); + } + return paramObject.hashCode() + 629; + } + + public static int hashCode(short paramShort) + { + return paramShort + 629; + } + + public static int hashCode(boolean paramBoolean) + { + if (paramBoolean) {} + for (int i = 0;; i = 1) { + return i + 629; + } + } + + public static int hashCode(byte[] paramArrayOfByte) + { + int k; + if (paramArrayOfByte == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfByte.length) { + break; + } + i = i * 37 + paramArrayOfByte[j]; + j += 1; + } + } + + public static int hashCode(char[] paramArrayOfChar) + { + int k; + if (paramArrayOfChar == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfChar.length) { + break; + } + i = i * 37 + paramArrayOfChar[j]; + j += 1; + } + } + + public static int hashCode(double[] paramArrayOfDouble) + { + int k; + if (paramArrayOfDouble == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfDouble.length) { + break; + } + i = i * 37 + (int)(Double.doubleToLongBits(paramArrayOfDouble[j]) ^ Double.doubleToLongBits(paramArrayOfDouble[j]) >> 32); + j += 1; + } + } + + public static int hashCode(float[] paramArrayOfFloat) + { + int k; + if (paramArrayOfFloat == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfFloat.length) { + break; + } + i = i * 37 + Float.floatToIntBits(paramArrayOfFloat[j]); + j += 1; + } + } + + public static int hashCode(int[] paramArrayOfInt) + { + int k; + if (paramArrayOfInt == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfInt.length) { + break; + } + i = i * 37 + paramArrayOfInt[j]; + j += 1; + } + } + + public static int hashCode(long[] paramArrayOfLong) + { + int k; + if (paramArrayOfLong == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfLong.length) { + break; + } + i = i * 37 + (int)(paramArrayOfLong[j] ^ paramArrayOfLong[j] >> 32); + j += 1; + } + } + + public static int hashCode(JceStruct[] paramArrayOfJceStruct) + { + int k; + if (paramArrayOfJceStruct == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfJceStruct.length) { + break; + } + i = i * 37 + paramArrayOfJceStruct[j].hashCode(); + j += 1; + } + } + + public static int hashCode(short[] paramArrayOfShort) + { + int k; + if (paramArrayOfShort == null) + { + k = 629; + return k; + } + int i = 17; + int j = 0; + for (;;) + { + k = i; + if (j >= paramArrayOfShort.length) { + break; + } + i = i * 37 + paramArrayOfShort[j]; + j += 1; + } + } + + public static int hashCode(boolean[] paramArrayOfBoolean) + { + if (paramArrayOfBoolean == null) { + k = 629; + } + int i; + int j; + do + { + return k; + i = 17; + j = 0; + k = i; + } while (j >= paramArrayOfBoolean.length); + if (paramArrayOfBoolean[j] != 0) {} + for (int k = 0;; k = 1) + { + i = i * 37 + k; + j += 1; + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.JceUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteArrayField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteArrayField.java new file mode 100755 index 00000000000..680d505a19a --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteArrayField.java @@ -0,0 +1,29 @@ +package com.qq.taf.jce.dynamic; + +public class ByteArrayField + extends JceField +{ + private byte[] data; + + ByteArrayField(byte[] paramArrayOfByte, int paramInt) + { + super(paramInt); + this.data = paramArrayOfByte; + } + + public byte[] get() + { + return this.data; + } + + public void set(byte[] paramArrayOfByte) + { + this.data = paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.ByteArrayField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteField.java new file mode 100755 index 00000000000..9de6e820e75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ByteField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public final class ByteField + extends NumberField +{ + private byte data; + + ByteField(byte paramByte, int paramInt) + { + super(paramInt); + this.data = paramByte; + } + + public byte get() + { + return this.data; + } + + public Number getNumber() + { + return Byte.valueOf(this.data); + } + + public void set(byte paramByte) + { + this.data = paramByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.ByteField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DoubleField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DoubleField.java new file mode 100755 index 00000000000..e1bb43bced2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DoubleField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public class DoubleField + extends NumberField +{ + private double data; + + DoubleField(double paramDouble, int paramInt) + { + super(paramInt); + this.data = paramDouble; + } + + public double get() + { + return this.data; + } + + public Number getNumber() + { + return Double.valueOf(this.data); + } + + public void set(double paramDouble) + { + this.data = paramDouble; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.DoubleField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicInputStream.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicInputStream.java new file mode 100755 index 00000000000..4144f5da3cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicInputStream.java @@ -0,0 +1,144 @@ +package com.qq.taf.jce.dynamic; + +import com.qq.taf.jce.JceDecodeException; +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceInputStream.HeadData; +import java.io.UnsupportedEncodingException; +import java.nio.BufferUnderflowException; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; + +public final class DynamicInputStream +{ + private ByteBuffer bs; + private String sServerEncoding = "GBK"; + + public DynamicInputStream(ByteBuffer paramByteBuffer) + { + this.bs = paramByteBuffer; + } + + public DynamicInputStream(byte[] paramArrayOfByte) + { + this.bs = ByteBuffer.wrap(paramArrayOfByte); + } + + private JceField readString(JceInputStream.HeadData paramHeadData, int paramInt) + { + byte[] arrayOfByte = new byte[paramInt]; + this.bs.get(arrayOfByte); + try + { + String str1 = new String(arrayOfByte, this.sServerEncoding); + return JceField.create(str1, paramHeadData.tag); + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + String str2 = new String(arrayOfByte); + } + } + } + + public JceField read() + { + try + { + localObject1 = new JceInputStream.HeadData(); + JceInputStream.readHead((JceInputStream.HeadData)localObject1, this.bs); + switch (((JceInputStream.HeadData)localObject1).type) + { + case 0: + return JceField.create(this.bs.get(), ((JceInputStream.HeadData)localObject1).tag); + } + } + catch (BufferUnderflowException localBufferUnderflowException) + { + Object localObject1; + int j; + int i; + Object localObject2; + return null; + } + return JceField.create(this.bs.getShort(), ((JceInputStream.HeadData)localObject1).tag); + return JceField.create(this.bs.getInt(), ((JceInputStream.HeadData)localObject1).tag); + return JceField.create(this.bs.getLong(), ((JceInputStream.HeadData)localObject1).tag); + return JceField.create(this.bs.getFloat(), ((JceInputStream.HeadData)localObject1).tag); + return JceField.create(this.bs.getDouble(), ((JceInputStream.HeadData)localObject1).tag); + j = this.bs.get(); + i = j; + if (j < 0) { + i = j + 256; + } + return readString((JceInputStream.HeadData)localObject1, i); + return readString((JceInputStream.HeadData)localObject1, this.bs.getInt()); + j = ((NumberField)read()).intValue(); + localObject2 = new JceField[j]; + i = 0; + for (;;) + { + if (i < j) + { + localObject2[i] = read(); + i += 1; + } + else + { + return JceField.createList((JceField[])localObject2, ((JceInputStream.HeadData)localObject1).tag); + j = ((NumberField)read()).intValue(); + localObject2 = new JceField[j]; + Object localObject3 = new JceField[j]; + i = 0; + for (;;) + { + if (i < j) + { + localObject2[i] = read(); + localObject3[i] = read(); + i += 1; + } + else + { + return JceField.createMap((JceField[])localObject2, (JceField[])localObject3, ((JceInputStream.HeadData)localObject1).tag); + localObject2 = new ArrayList(); + for (;;) + { + localObject3 = read(); + if (localObject3 == null) { + return JceField.createStruct((JceField[])((List)localObject2).toArray(new JceField[0]), ((JceInputStream.HeadData)localObject1).tag); + } + ((List)localObject2).add(localObject3); + continue; + return JceField.createZero(((JceInputStream.HeadData)localObject1).tag); + i = ((JceInputStream.HeadData)localObject1).tag; + JceInputStream.readHead((JceInputStream.HeadData)localObject1, this.bs); + if (((JceInputStream.HeadData)localObject1).type != 0) { + throw new JceDecodeException("type mismatch, simple_list only support byte, tag: " + i + ", type: " + ((JceInputStream.HeadData)localObject1).type); + } + localObject1 = new byte[((NumberField)read()).intValue()]; + this.bs.get((byte[])localObject1); + localObject1 = JceField.create((byte[])localObject1, i); + return localObject1; + return null; + } + } + } + } + } + return null; + } + + public int setServerEncoding(String paramString) + { + this.sServerEncoding = paramString; + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.DynamicInputStream + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicOutputStream.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicOutputStream.java new file mode 100755 index 00000000000..9be1118a2d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/DynamicOutputStream.java @@ -0,0 +1,131 @@ +package com.qq.taf.jce.dynamic; + +import com.qq.taf.jce.JceDecodeException; +import com.qq.taf.jce.JceOutputStream; +import java.nio.ByteBuffer; + +public final class DynamicOutputStream + extends JceOutputStream +{ + public DynamicOutputStream() {} + + public DynamicOutputStream(int paramInt) + { + super(paramInt); + } + + public DynamicOutputStream(ByteBuffer paramByteBuffer) + { + super(paramByteBuffer); + } + + public void write(JceField paramJceField) + { + int i = paramJceField.getTag(); + if ((paramJceField instanceof ZeroField)) { + write(0, i); + } + int j; + for (;;) + { + return; + if ((paramJceField instanceof IntField)) + { + write(((IntField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof ShortField)) + { + write(((ShortField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof ByteField)) + { + write(((ByteField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof StringField)) + { + write(((StringField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof ByteArrayField)) + { + write(((ByteArrayField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof ListField)) + { + paramJceField = (ListField)paramJceField; + reserve(8); + writeHead((byte)9, i); + write(paramJceField.size(), 0); + paramJceField = paramJceField.get(); + j = paramJceField.length; + i = 0; + while (i < j) + { + write(paramJceField[i]); + i += 1; + } + } + else + { + if (!(paramJceField instanceof MapField)) { + break; + } + paramJceField = (MapField)paramJceField; + reserve(8); + writeHead((byte)8, i); + j = paramJceField.size(); + write(j, 0); + i = 0; + while (i < j) + { + write(paramJceField.getKey(i)); + write(paramJceField.getValue(i)); + i += 1; + } + } + } + if ((paramJceField instanceof StructField)) + { + paramJceField = (StructField)paramJceField; + reserve(2); + writeHead((byte)10, i); + paramJceField = paramJceField.get(); + j = paramJceField.length; + i = 0; + while (i < j) + { + write(paramJceField[i]); + i += 1; + } + reserve(2); + writeHead((byte)11, 0); + return; + } + if ((paramJceField instanceof LongField)) + { + write(((LongField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof FloatField)) + { + write(((FloatField)paramJceField).get(), i); + return; + } + if ((paramJceField instanceof DoubleField)) + { + write(((DoubleField)paramJceField).get(), i); + return; + } + throw new JceDecodeException("unknow JceField type: " + paramJceField.getClass().getName()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.DynamicOutputStream + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/FloatField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/FloatField.java new file mode 100755 index 00000000000..aea32b504a0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/FloatField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public class FloatField + extends NumberField +{ + private float data; + + FloatField(float paramFloat, int paramInt) + { + super(paramInt); + this.data = paramFloat; + } + + public float get() + { + return this.data; + } + + public Number getNumber() + { + return Float.valueOf(this.data); + } + + public void set(float paramFloat) + { + this.data = paramFloat; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.FloatField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/IntField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/IntField.java new file mode 100755 index 00000000000..8a4e5fa5234 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/IntField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public class IntField + extends NumberField +{ + private int data; + + IntField(int paramInt1, int paramInt2) + { + super(paramInt2); + this.data = paramInt1; + } + + public int get() + { + return this.data; + } + + public Number getNumber() + { + return Integer.valueOf(this.data); + } + + public void set(int paramInt) + { + this.data = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.IntField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/JceField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/JceField.java new file mode 100755 index 00000000000..e3c83631d0f --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/JceField.java @@ -0,0 +1,98 @@ +package com.qq.taf.jce.dynamic; + +import com.qq.taf.jce.JceDecodeException; + +public class JceField +{ + private static ZeroField[] zs = new ZeroField[256]; + private int tag; + + static + { + int i = 0; + while (i < zs.length) + { + zs[i] = new ZeroField(i); + i += 1; + } + } + + JceField(int paramInt) + { + this.tag = paramInt; + } + + public static JceField create(byte paramByte, int paramInt) + { + return new ByteField(paramByte, paramInt); + } + + public static JceField create(double paramDouble, int paramInt) + { + return new DoubleField(paramDouble, paramInt); + } + + public static JceField create(float paramFloat, int paramInt) + { + return new FloatField(paramFloat, paramInt); + } + + public static JceField create(int paramInt1, int paramInt2) + { + return new IntField(paramInt1, paramInt2); + } + + public static JceField create(long paramLong, int paramInt) + { + return new LongField(paramLong, paramInt); + } + + public static JceField create(String paramString, int paramInt) + { + return new StringField(paramString, paramInt); + } + + public static JceField create(short paramShort, int paramInt) + { + return new ShortField(paramShort, paramInt); + } + + public static JceField create(byte[] paramArrayOfByte, int paramInt) + { + return new ByteArrayField(paramArrayOfByte, paramInt); + } + + public static JceField createList(JceField[] paramArrayOfJceField, int paramInt) + { + return new ListField(paramArrayOfJceField, paramInt); + } + + public static JceField createMap(JceField[] paramArrayOfJceField1, JceField[] paramArrayOfJceField2, int paramInt) + { + return new MapField(paramArrayOfJceField1, paramArrayOfJceField2, paramInt); + } + + public static JceField createStruct(JceField[] paramArrayOfJceField, int paramInt) + { + return new StructField(paramArrayOfJceField, paramInt); + } + + public static JceField createZero(int paramInt) + { + if ((paramInt < 0) || (paramInt >= 255)) { + throw new JceDecodeException("invalid tag: " + paramInt); + } + return zs[paramInt]; + } + + public int getTag() + { + return this.tag; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.JceField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ListField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ListField.java new file mode 100755 index 00000000000..7414f1f2589 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ListField.java @@ -0,0 +1,44 @@ +package com.qq.taf.jce.dynamic; + +public final class ListField + extends JceField +{ + private JceField[] data; + + ListField(JceField[] paramArrayOfJceField, int paramInt) + { + super(paramInt); + this.data = paramArrayOfJceField; + } + + public JceField get(int paramInt) + { + return this.data[paramInt]; + } + + public JceField[] get() + { + return this.data; + } + + public void set(int paramInt, JceField paramJceField) + { + this.data[paramInt] = paramJceField; + } + + public void set(JceField[] paramArrayOfJceField) + { + this.data = paramArrayOfJceField; + } + + public int size() + { + return this.data.length; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.ListField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/LongField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/LongField.java new file mode 100755 index 00000000000..f0fa0137cc0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/LongField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public class LongField + extends NumberField +{ + private long data; + + LongField(long paramLong, int paramInt) + { + super(paramInt); + this.data = paramLong; + } + + public long get() + { + return this.data; + } + + public Number getNumber() + { + return Long.valueOf(this.data); + } + + public void set(long paramLong) + { + this.data = paramLong; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.LongField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/MapField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/MapField.java new file mode 100755 index 00000000000..50d8d88f82f --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/MapField.java @@ -0,0 +1,56 @@ +package com.qq.taf.jce.dynamic; + +public final class MapField + extends JceField +{ + private JceField[] keys; + private JceField[] values; + + MapField(JceField[] paramArrayOfJceField1, JceField[] paramArrayOfJceField2, int paramInt) + { + super(paramInt); + this.keys = paramArrayOfJceField1; + this.values = paramArrayOfJceField2; + } + + public JceField getKey(int paramInt) + { + return this.keys[paramInt]; + } + + public JceField[] getKeys() + { + return this.keys; + } + + public JceField getValue(int paramInt) + { + return this.values[paramInt]; + } + + public JceField[] getValues() + { + return this.values; + } + + public void setKey(int paramInt, JceField paramJceField) + { + this.keys[paramInt] = paramJceField; + } + + public void setValue(int paramInt, JceField paramJceField) + { + this.values[paramInt] = paramJceField; + } + + public int size() + { + return this.keys.length; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.MapField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/NumberField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/NumberField.java new file mode 100755 index 00000000000..298b7a98593 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/NumberField.java @@ -0,0 +1,48 @@ +package com.qq.taf.jce.dynamic; + +public abstract class NumberField + extends JceField +{ + NumberField(int paramInt) + { + super(paramInt); + } + + public byte byteValue() + { + return getNumber().byteValue(); + } + + public double doubleValue() + { + return getNumber().doubleValue(); + } + + public float floatValue() + { + return getNumber().floatValue(); + } + + public abstract Number getNumber(); + + public int intValue() + { + return getNumber().intValue(); + } + + public long longValue() + { + return getNumber().longValue(); + } + + public short shortValue() + { + return getNumber().shortValue(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.NumberField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ShortField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ShortField.java new file mode 100755 index 00000000000..78117662068 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ShortField.java @@ -0,0 +1,34 @@ +package com.qq.taf.jce.dynamic; + +public final class ShortField + extends NumberField +{ + private short data; + + ShortField(short paramShort, int paramInt) + { + super(paramInt); + this.data = paramShort; + } + + public short get() + { + return this.data; + } + + public Number getNumber() + { + return Short.valueOf(this.data); + } + + public void set(short paramShort) + { + this.data = paramShort; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.ShortField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StringField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StringField.java new file mode 100755 index 00000000000..d6fa818b03b --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StringField.java @@ -0,0 +1,29 @@ +package com.qq.taf.jce.dynamic; + +public class StringField + extends JceField +{ + private String data; + + StringField(String paramString, int paramInt) + { + super(paramInt); + this.data = paramString; + } + + public String get() + { + return this.data; + } + + public void set(String paramString) + { + this.data = paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.StringField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StructField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StructField.java new file mode 100755 index 00000000000..a24ce5f15d5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/StructField.java @@ -0,0 +1,69 @@ +package com.qq.taf.jce.dynamic; + +import java.util.Arrays; +import java.util.Comparator; + +public class StructField + extends JceField +{ + private static final Comparator tagComp = new Comparator() + { + public int compare(JceField paramAnonymousJceField1, JceField paramAnonymousJceField2) + { + return paramAnonymousJceField1.getTag() - paramAnonymousJceField2.getTag(); + } + }; + private JceField[] data; + + StructField(JceField[] paramArrayOfJceField, int paramInt) + { + super(paramInt); + this.data = paramArrayOfJceField; + } + + public JceField[] get() + { + return this.data; + } + + public JceField getFieldByTag(int paramInt) + { + paramInt = Arrays.binarySearch(this.data, JceField.createZero(paramInt), tagComp); + if (paramInt >= 0) { + return this.data[paramInt]; + } + return null; + } + + public boolean setByTag(int paramInt, JceField paramJceField) + { + paramInt = Arrays.binarySearch(this.data, JceField.createZero(paramInt), tagComp); + if (paramInt >= 0) + { + this.data[paramInt] = paramJceField; + return true; + } + int i = -paramInt - 1; + JceField[] arrayOfJceField = new JceField[this.data.length + 1]; + paramInt = 0; + while (paramInt < i) + { + arrayOfJceField[paramInt] = this.data[paramInt]; + paramInt += 1; + } + arrayOfJceField[i] = paramJceField; + paramInt = i; + while (paramInt < this.data.length) + { + arrayOfJceField[(paramInt + 1)] = this.data[paramInt]; + paramInt += 1; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.StructField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ZeroField.java b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ZeroField.java new file mode 100755 index 00000000000..5de470fb565 --- /dev/null +++ b/com.tencent.token/classes.jar/com/qq/taf/jce/dynamic/ZeroField.java @@ -0,0 +1,51 @@ +package com.qq.taf.jce.dynamic; + +public final class ZeroField + extends NumberField +{ + ZeroField(int paramInt) + { + super(paramInt); + } + + public byte byteValue() + { + return 0; + } + + public double doubleValue() + { + return 0.0D; + } + + public float floatValue() + { + return 0.0F; + } + + public Number getNumber() + { + return Integer.valueOf(0); + } + + public int intValue() + { + return 0; + } + + public long longValue() + { + return 0L; + } + + public short shortValue() + { + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.qq.taf.jce.dynamic.ZeroField + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/PrismCenter.java b/com.tencent.token/classes.jar/com/tencent/analysis/PrismCenter.java new file mode 100755 index 00000000000..5bff76f449b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/PrismCenter.java @@ -0,0 +1,57 @@ +package com.tencent.analysis; + +import android.content.Context; +import android.os.Bundle; +import javax.microedition.khronos.opengles.GL10; + +public class PrismCenter +{ + public static String INIT_CHANNEL_PATH = "init_channel_path"; + public static String USER_ID_FOR_QQ = "QQ"; + + public static String getChannel(Context paramContext) + { + a.a(); + return a.a(paramContext); + } + + public static String getQimei(Context paramContext) + { + return a.a().b(paramContext); + } + + public static void init(Context paramContext, Bundle paramBundle) + { + a.a(); + a.a(paramContext, paramBundle); + } + + public static void onPause(Context paramContext) + { + a.a(); + a.b(); + } + + public static void onResume(Context paramContext) + { + a.a().c(paramContext); + } + + public static void setOpenGl(Context paramContext, GL10 paramGL10) + { + a.a(); + a.a(paramContext, paramGL10); + } + + public static void setUserId(Context paramContext, String paramString1, String paramString2) + { + a.a(); + a.a(paramContext, paramString1, paramString2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.PrismCenter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/a.java new file mode 100755 index 00000000000..de07ce5493b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a.java @@ -0,0 +1,304 @@ +package com.tencent.analysis; + +import android.app.Activity; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.AssetManager; +import android.os.Bundle; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.Display; +import android.view.WindowManager; +import com.tencent.analysis.d.a.d; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; +import javax.microedition.khronos.opengles.GL10; + +public class a +{ + public static Context a; + private static a b; + private volatile boolean c = false; + + public static a a() + { + if (b == null) {} + try + { + if (b == null) { + b = new a(); + } + return b; + } + finally {} + } + + public static String a(Context paramContext) + { + if (paramContext == null) { + paramContext = "-1"; + } + for (;;) + { + return paramContext; + Object localObject5 = null; + AssetManager localAssetManager = paramContext.getAssets(); + Object localObject1 = localObject5; + try + { + String str3 = paramContext.getSharedPreferences("analysis_sdk", 0).getString("key_channelpath", ""); + Object localObject3 = str3; + localObject1 = localObject5; + if (str3.equals("")) { + localObject3 = "channel.ini"; + } + if (localObject3 != null) + { + localObject1 = localObject5; + localObject3 = localAssetManager.open((String)localObject3); + localObject1 = localObject3; + } + try + { + localObject5 = new Properties(); + localObject1 = localObject3; + ((Properties)localObject5).load((InputStream)localObject3); + localObject1 = localObject3; + localObject5 = ((Properties)localObject5).getProperty("CHANNEL", "-1"); + localObject1 = localObject5; + paramContext = localObject1; + if (localObject3 == null) { + continue; + } + try + { + ((InputStream)localObject3).close(); + return localObject1; + } + catch (IOException localIOException1) + { + paramContext = "-1"; + str1 = localIOException1.toString(); + } + if (!b.c) { + continue; + } + Log.i("ApplicationManager", str1); + return "-1"; + } + catch (Exception localException2) + { + for (;;) + { + String str1; + String str2; + Object localObject2 = localObject4; + Object localObject4 = localException2; + } + } + return "-1"; + } + catch (Exception localException1) + { + str1 = null; + } + finally + { + try + { + paramContext.getSharedPreferences("analysis_sdk", 0).edit().putString("key_channelpath", "").commit(); + paramContext = "-1"; + localObject4 = localException1.toString(); + if (b.c) { + Log.i("ApplicationManager", (String)localObject4); + } + if (str1 == null) { + continue; + } + try + { + str1.close(); + return "-1"; + } + catch (IOException localIOException2) + { + paramContext = "-1"; + str2 = localIOException2.toString(); + } + if (!b.c) { + continue; + } + Log.i("ApplicationManager", str2); + return "-1"; + } + finally + { + label226: + break label226; + } + paramContext = finally; + if (str2 != null) {} + try + { + str2.close(); + throw paramContext; + } + catch (IOException localIOException3) + { + for (;;) + { + localObject2 = localIOException3.toString(); + if (b.c) { + Log.i("ApplicationManager", (String)localObject2); + } + } + } + } + } + } + + public static void a(Context paramContext, Bundle paramBundle) + { + if (paramBundle == null) {} + do + { + return; + paramBundle = paramBundle.getString(PrismCenter.INIT_CHANNEL_PATH); + } while ((paramBundle == null) || (paramBundle.equals(""))); + paramContext.getSharedPreferences("analysis_sdk", 0).edit().putString("key_channelpath", paramBundle).commit(); + } + + public static void a(Context paramContext, String paramString1, String paramString2) + { + if ((paramString1 == null) || (paramString2 == null)) {} + do + { + return; + paramString1 = paramString1 + "#" + paramString2; + try + { + paramString1 = com.tencent.analysis.d.a.c.b().b.c(paramString1.getBytes()); + paramContext.getSharedPreferences("analysis_sdk", 0).edit().putString("key_user", paramString1).commit(); + return; + } + catch (Exception paramContext) + { + paramContext = "setUserId error" + paramContext.toString(); + } + } while (!b.c); + Log.i("ApplicationManager", paramContext); + } + + public static void a(Context paramContext, GL10 paramGL10) + { + if (paramGL10 == null) {} + do + { + return; + String str = paramGL10.glGetString(7937); + paramGL10.glGetString(7936); + paramGL10.glGetString(7938); + paramGL10.glGetString(7939); + try + { + paramGL10 = com.tencent.analysis.d.a.c.b().b.c(str.getBytes()); + paramContext.getSharedPreferences("analysis_sdk", 0).edit().putString("gpu_user", paramGL10).commit(); + return; + } + catch (Exception paramContext) + { + paramContext = "setUserId error" + paramContext.toString(); + } + } while (!b.c); + Log.i("ApplicationManager", paramContext); + } + + public static void b() + { + b.b = System.currentTimeMillis(); + String str = "onPause SdkConfig.timeStemp is " + b.b; + if (b.c) { + Log.i("ApplicationManager", str); + } + } + + public final String b(Context paramContext) + { + if (!this.c) { + throw new IllegalStateException("Function onResume() must be called before function getQimei() "); + } + if (paramContext == null) { + return "UNKNOWN"; + } + try + { + paramContext = paramContext.getSharedPreferences("analysis_sdk", 0).getString("key_qimei", "UNKNOWN"); + if (paramContext.equals("UNKNOWN")) { + return "UNKNOWN"; + } + paramContext = new String(com.tencent.analysis.d.a.c.b().b.a(com.tencent.analysis.d.a.b.a(paramContext)), "UTF-8"); + return paramContext; + } + catch (Exception paramContext) + { + paramContext = "getQimei Error :" + paramContext.toString(); + if (b.c) { + Log.i("ApplicationManager", paramContext); + } + } + return "UNKNOWN"; + } + + public final void c(Context paramContext) + { + this.c = true; + if (paramContext != null) { + a = paramContext.getApplicationContext(); + } + Object localObject = "onResume currentTimeMillis is " + System.currentTimeMillis(); + if (b.c) { + Log.i("ApplicationManager", (String)localObject); + } + localObject = "onResume SdkConfig.timeStemp is " + b.b; + if (b.c) { + Log.i("ApplicationManager", (String)localObject); + } + localObject = "onResume time space is " + (System.currentTimeMillis() - b.b); + if (b.c) { + Log.i("ApplicationManager", (String)localObject); + } + if (System.currentTimeMillis() - b.b > b.a) + { + if (b.c) { + Log.i("ApplicationManager", "startShakeHands "); + } + localObject = new com.tencent.analysis.c.b.a(); + com.tencent.analysis.c.a.a.a().a((com.tencent.analysis.c.a.c)localObject); + if ((paramContext == null) || (!paramContext.getSharedPreferences("analysis_sdk", 0).getString("key_resolution", "").equals(""))) {} + } + try + { + localObject = new DisplayMetrics(); + ((Activity)paramContext).getWindowManager().getDefaultDisplay().getMetrics((DisplayMetrics)localObject); + localObject = ((DisplayMetrics)localObject).widthPixels + "*" + ((DisplayMetrics)localObject).heightPixels; + paramContext.getSharedPreferences("analysis_sdk", 0).edit().putString("key_resolution", (String)localObject).commit(); + return; + } + catch (Exception paramContext) + { + do + { + paramContext = paramContext.toString(); + } while (!b.c); + Log.i("ApplicationManager", paramContext); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/a.java new file mode 100755 index 00000000000..6dfe54680f7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/a.java @@ -0,0 +1,150 @@ +package com.tencent.analysis.a; + +import com.tencent.analysis.d.a.c; +import com.tencent.analysis.d.a.d; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Random; +import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; + +public abstract class a +{ + private static AtomicInteger c = new AtomicInteger(new Random(System.currentTimeMillis() / 1000L).nextInt()); + protected int a = -10000; + int b = -1; + private int d; + private d e; + private Map f = new HashMap(); + + final DataOutputStream a(ByteArrayOutputStream paramByteArrayOutputStream) + { + paramByteArrayOutputStream = new DataOutputStream(paramByteArrayOutputStream); + paramByteArrayOutputStream.writeByte(7); + paramByteArrayOutputStream.writeShort(0); + paramByteArrayOutputStream.writeShort(0); + paramByteArrayOutputStream.writeShort(this.b); + if (this.e == null) { + this.e = c.a(); + } + paramByteArrayOutputStream.writeShort(this.e.a); + this.d = c.incrementAndGet(); + paramByteArrayOutputStream.writeInt(this.d); + paramByteArrayOutputStream.writeByte(0); + if (this.f.size() > 0) + { + Object localObject = new ByteArrayOutputStream(200); + DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream)localObject); + localDataOutputStream.writeShort(this.f.size()); + int i = 0; + while (i < this.f.size()) + { + Iterator localIterator = this.f.entrySet().iterator(); + while (localIterator.hasNext()) + { + Map.Entry localEntry = (Map.Entry)localIterator.next(); + localDataOutputStream.write(((b)localEntry.getKey()).a((String)localEntry.getValue())); + } + i += 1; + } + localObject = this.e.b.b(((ByteArrayOutputStream)localObject).toByteArray()); + paramByteArrayOutputStream.writeShort(localObject.length); + if (localObject.length != 0) { + paramByteArrayOutputStream.write((byte[])localObject); + } + return paramByteArrayOutputStream; + } + paramByteArrayOutputStream.writeShort(0); + return paramByteArrayOutputStream; + } + + public final Map a() + { + return this.f; + } + + public final void a(b paramb, String paramString) + { + if (paramb.b() != f.b) {} + while ((paramString == null) || (paramString.length() == 0)) { + return; + } + this.f.put(paramb, paramString); + } + + abstract void a(DataOutputStream paramDataOutputStream); + + abstract void a(ByteBuffer paramByteBuffer); + + public final d b() + { + return this.e; + } + + final void b(ByteBuffer paramByteBuffer) + { + int i = paramByteBuffer.get(); + if (i != 7) { + throw new RuntimeException("STX(2) invalid:" + i); + } + paramByteBuffer.getShort(); + paramByteBuffer.getShort(); + this.b = paramByteBuffer.getShort(); + i = paramByteBuffer.getShort() & 0xFFFF; + if (this.e == null) + { + this.e = c.a(i); + if (this.e == null) { + this.e = c.b(); + } + if (this.e.a != i) { + throw new RuntimeException("the keySerial [" + i + "] is unknow:" + c.c()); + } + } + this.d = paramByteBuffer.getInt(); + this.a = paramByteBuffer.get(); + i = paramByteBuffer.getShort() & 0xFFFF; + if (i != 0) + { + byte[] arrayOfByte = new byte[i]; + paramByteBuffer.get(arrayOfByte); + paramByteBuffer = ByteBuffer.wrap(this.e.b.a(arrayOfByte)); + int j = paramByteBuffer.getShort(); + i = 0; + for (;;) + { + if (i < (0xFFFF & j)) { + try + { + b.a(paramByteBuffer, this.f); + i += 1; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + } + } + } + + public String toString() + { + return "CMD [seq=" + this.d + ", key=" + this.e + ", confField=" + this.f + ", cmd=" + this.b + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/b.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/b.java new file mode 100755 index 00000000000..58db541f7fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/b.java @@ -0,0 +1,113 @@ +package com.tencent.analysis.a; + +import java.nio.ByteBuffer; +import java.util.Map; + +public enum b +{ + private short X = 0; + private final f Y; + + static + { + E = new b("_105", 5, 105); + f = new b("_106", 6, 106); + g = new b("_107", 7, 107); + h = new b("_108", 8, 108); + i = new b("_109", 9, 109); + j = new b("_110", 10, 110); + k = new b("_111", 11, 111); + l = new b("_112", 12, 112); + m = new b("_113", 13, 113); + n = new b("_114", 14, 114); + o = new b("_115", 15, 115); + p = new b("_116", 16, 116); + q = new b("_117", 17, 117); + r = new b("_118", 18, 118); + s = new b("_119", 19, 119); + t = new b("_120", 20, 120); + u = new b("_121", 21, 121); + v = new b("_122", 22, 122); + w = new b("_123", 23, 123); + x = new b("_124", 24, 124); + F = new b("_125", 25, 125); + G = new b("_126", 26, 126); + H = new b("_127", 27, 127); + I = new b("_128", 28, 128); + J = new b("_129", 29, 129); + y = new b("_130", 30, 130); + K = new b("_131", 31, 131); + L = new b("_132", 32, 132); + M = new b("_133", 33, 133); + N = new b("_134", 34, 134); + O = new b("_135", 35, 135); + P = new b("_136", 36, 136); + Q = new b("_137", 37, 137); + R = new b("_138", 38, 138); + S = new b("_139", 39, 139); + T = new b("_140", 40, 140); + U = new b("_141", 41, 141); + z = new b("_142", 42, 142); + A = new b("_143", 43, 143); + B = new c("_400", 44, 400, f.b); + C = new b("_401", 45, 401, f.b); + V = new d("_402", 46, 402, f.b); + W = new e("_403", 47, 403, f.b); + } + + private b(int paramInt) + { + this.X = ((short)paramInt); + this.Y = f.a; + } + + private b(int paramInt, f paramf) + { + this.X = ((short)paramInt); + this.Y = paramf; + } + + public static final void a(ByteBuffer paramByteBuffer, Map paramMap) + { + int i1 = paramByteBuffer.getShort(); + b localb = valueOf("_" + (i1 & 0xFFFF)); + paramMap.put(localb, localb.a(paramByteBuffer)); + } + + protected String a(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.getShort() & 0xFFFF]; + paramByteBuffer.get(arrayOfByte); + return new String(arrayOfByte, "UTF-8"); + } + + public final short a() + { + return this.X; + } + + public byte[] a(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) { + return null; + } + paramString = paramString.getBytes("UTF-8"); + byte[] arrayOfByte = new byte[paramString.length + 4]; + ByteBuffer localByteBuffer = ByteBuffer.wrap(arrayOfByte); + localByteBuffer.putShort(this.X); + localByteBuffer.putShort((short)paramString.length); + localByteBuffer.put(paramString); + return arrayOfByte; + } + + public final f b() + { + return this.Y; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/c.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/c.java new file mode 100755 index 00000000000..e3cd9895bbb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/c.java @@ -0,0 +1,37 @@ +package com.tencent.analysis.a; + +import java.nio.ByteBuffer; + + enum c +{ + c(int paramInt, f paramf) + { + super(???, 44, 400, paramf, (byte)0); + } + + protected final String a(ByteBuffer paramByteBuffer) + { + paramByteBuffer.getShort(); + return paramByteBuffer.getShort(); + } + + public final byte[] a(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) { + return null; + } + int i = Byte.valueOf(paramString).byteValue(); + paramString = new byte[6]; + ByteBuffer localByteBuffer = ByteBuffer.wrap(paramString); + localByteBuffer.putShort(a()); + localByteBuffer.putShort((short)1); + localByteBuffer.putShort((short)i); + return paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/d.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/d.java new file mode 100755 index 00000000000..75b4c7c6dce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/d.java @@ -0,0 +1,37 @@ +package com.tencent.analysis.a; + +import java.nio.ByteBuffer; + + enum d +{ + d(int paramInt, f paramf) + { + super(???, 46, 402, paramf, (byte)0); + } + + protected final String a(ByteBuffer paramByteBuffer) + { + paramByteBuffer.getShort(); + return paramByteBuffer.getShort(); + } + + public final byte[] a(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) { + return null; + } + short s = Short.valueOf(paramString).shortValue(); + paramString = new byte[6]; + ByteBuffer localByteBuffer = ByteBuffer.wrap(paramString); + localByteBuffer.putShort(a()); + localByteBuffer.putShort((short)2); + localByteBuffer.putShort(s); + return paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/e.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/e.java new file mode 100755 index 00000000000..3b22308fdc5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/e.java @@ -0,0 +1,37 @@ +package com.tencent.analysis.a; + +import java.nio.ByteBuffer; + + enum e +{ + e(int paramInt, f paramf) + { + super(???, 47, 403, paramf, (byte)0); + } + + protected final String a(ByteBuffer paramByteBuffer) + { + paramByteBuffer.getShort(); + return paramByteBuffer.getShort(); + } + + public final byte[] a(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) { + return null; + } + short s = Short.valueOf(paramString).shortValue(); + paramString = new byte[6]; + ByteBuffer localByteBuffer = ByteBuffer.wrap(paramString); + localByteBuffer.putShort(a()); + localByteBuffer.putShort((short)2); + localByteBuffer.putShort(s); + return paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/f.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/f.java new file mode 100755 index 00000000000..ae9da5ee65d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/f.java @@ -0,0 +1,9 @@ +package com.tencent.analysis.a; + +public enum f {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/g.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/g.java new file mode 100755 index 00000000000..77ef3fe8312 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/g.java @@ -0,0 +1,42 @@ +package com.tencent.analysis.a; + +import com.tencent.analysis.d.a.b; +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.zip.GZIPOutputStream; + +public abstract class g + extends a +{ + public String c() + { + Object localObject1 = new ByteArrayOutputStream(200); + a(a((ByteArrayOutputStream)localObject1)); + ((ByteArrayOutputStream)localObject1).write(112); + short s = (short)((ByteArrayOutputStream)localObject1).size(); + localObject1 = ((ByteArrayOutputStream)localObject1).toByteArray(); + Object localObject2 = ByteBuffer.wrap((byte[])localObject1); + ((ByteBuffer)localObject2).position(1); + ((ByteBuffer)localObject2).putShort(s); + if ((localObject1 == null) || (localObject1.length == 0)) { + return null; + } + localObject2 = new ByteArrayOutputStream(); + GZIPOutputStream localGZIPOutputStream = new GZIPOutputStream((OutputStream)localObject2); + localGZIPOutputStream.write((byte[])localObject1); + localGZIPOutputStream.close(); + return b.a(((ByteArrayOutputStream)localObject2).toByteArray()); + } + + public String toString() + { + return "Request [toString()=" + super.toString() + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/h.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/h.java new file mode 100755 index 00000000000..e73650b35a3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/h.java @@ -0,0 +1,63 @@ +package com.tencent.analysis.a; + +import com.tencent.analysis.d.a.b; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.nio.ByteBuffer; +import java.util.zip.GZIPInputStream; + +public abstract class h + extends a +{ + protected String c; + + public final void a(String paramString) + { + if ((paramString == null) || (paramString.length() < 21)) {} + ByteArrayOutputStream localByteArrayOutputStream; + for (paramString = null;; paramString = localByteArrayOutputStream.toByteArray()) + { + paramString = ByteBuffer.wrap(paramString); + b(paramString); + if (this.a >= 0) { + break; + } + c(paramString); + return; + localByteArrayOutputStream = new ByteArrayOutputStream(); + paramString = new GZIPInputStream(new ByteArrayInputStream(b.a(paramString))); + byte[] arrayOfByte = new byte[256]; + for (;;) + { + int i = paramString.read(arrayOfByte); + if (i < 0) { + break; + } + localByteArrayOutputStream.write(arrayOfByte, 0, i); + } + } + a(paramString); + } + + void c(ByteBuffer paramByteBuffer) {} + + public final boolean c() + { + return this.a == 0; + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder("Response [errorMsg=").append(this.c).append(", isSucess()="); + if (this.a == 0) {} + for (boolean bool = true;; bool = false) { + return bool + ", toString()=" + super.toString() + "]"; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/i.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/i.java new file mode 100755 index 00000000000..f587a656983 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/i.java @@ -0,0 +1,82 @@ +package com.tencent.analysis.a; + +import com.tencent.analysis.d.a.a; +import com.tencent.analysis.d.a.d; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class i + extends g +{ + private final Map c = new HashMap(); + + public i() + { + this.b = 256; + } + + final void a(DataOutputStream paramDataOutputStream) + { + Object localObject = new ByteArrayOutputStream(200); + DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream)localObject); + localDataOutputStream.writeShort(this.c.size()); + if (this.c.size() != 0) + { + Iterator localIterator = this.c.entrySet().iterator(); + while (localIterator.hasNext()) + { + Map.Entry localEntry = (Map.Entry)localIterator.next(); + localDataOutputStream.write(((b)localEntry.getKey()).a((String)localEntry.getValue())); + } + } + localObject = b().b.b(((ByteArrayOutputStream)localObject).toByteArray()); + paramDataOutputStream.writeShort(localObject.length); + paramDataOutputStream.write((byte[])localObject); + } + + final void a(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.getShort() & 0xFFFF]; + paramByteBuffer.get(arrayOfByte); + paramByteBuffer = ByteBuffer.wrap(b().b.a(arrayOfByte)); + int j = paramByteBuffer.getShort(); + int i = 0; + while (i < (0xFFFF & j)) + { + b.a(paramByteBuffer, this.c); + i += 1; + } + } + + public final void b(b paramb, String paramString) + { + if (paramb.b() != f.a) {} + while ((paramString == null) || (paramString.length() == 0)) { + return; + } + this.c.put(paramb, paramString); + } + + public final String c() + { + return super.c(); + } + + public final String toString() + { + return "ShakeHandsReq [field=" + this.c + ", toString()=" + super.toString() + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/a/j.java b/com.tencent.token/classes.jar/com/tencent/analysis/a/j.java new file mode 100755 index 00000000000..b49821532a2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/a/j.java @@ -0,0 +1,80 @@ +package com.tencent.analysis.a; + +import com.tencent.analysis.d.a.a; +import com.tencent.analysis.d.a.d; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class j + extends h +{ + private final Map d = new HashMap(); + + public j() + { + this.b = 256; + } + + final void a(DataOutputStream paramDataOutputStream) + { + Object localObject = new ByteArrayOutputStream(200); + DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream)localObject); + localDataOutputStream.writeShort(this.d.size()); + if (this.d.size() != 0) + { + Iterator localIterator = this.d.entrySet().iterator(); + while (localIterator.hasNext()) + { + Map.Entry localEntry = (Map.Entry)localIterator.next(); + localDataOutputStream.write(((b)localEntry.getKey()).a((String)localEntry.getValue())); + } + } + localObject = b().b.b(((ByteArrayOutputStream)localObject).toByteArray()); + paramDataOutputStream.writeShort(localObject.length); + paramDataOutputStream.write((byte[])localObject); + } + + final void a(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.getShort() & 0xFFFF]; + paramByteBuffer.get(arrayOfByte); + paramByteBuffer = ByteBuffer.wrap(b().b.a(arrayOfByte)); + int j = paramByteBuffer.getShort(); + int i = 0; + while (i < (0xFFFF & j)) + { + b.a(paramByteBuffer, this.d); + i += 1; + } + } + + final void c(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.get() & 0xFF]; + paramByteBuffer.get(arrayOfByte); + this.c = new String(arrayOfByte, "UTF-8"); + } + + public final Map d() + { + return this.d; + } + + public final String toString() + { + return "ShakeHandsRes [field=" + this.d + ", toString()=" + super.toString() + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.a.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/b.java b/com.tencent.token/classes.jar/com/tencent/analysis/b.java new file mode 100755 index 00000000000..b7cd72c8865 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/b.java @@ -0,0 +1,15 @@ +package com.tencent.analysis; + +public final class b +{ + public static long a = 300000L; + public static long b = 0L; + public static boolean c = true; + public static String d = "prism-1.1.1-201305141706"; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/b/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/b/a.java new file mode 100755 index 00000000000..ce07c5196ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/b/a.java @@ -0,0 +1,130 @@ +package com.tencent.analysis.b; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.Proxy; +import android.util.Log; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.apache.http.HttpHost; +import org.apache.http.HttpResponse; +import org.apache.http.ParseException; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.scheme.PlainSocketFactory; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpConnectionParams; +import org.apache.http.params.HttpParams; +import org.apache.http.params.HttpProtocolParams; +import org.apache.http.util.EntityUtils; + +public class a +{ + private static DefaultHttpClient a; + + public static String a(HttpResponse paramHttpResponse) + { + try + { + paramHttpResponse = EntityUtils.toString(paramHttpResponse.getEntity(), "utf-8"); + return paramHttpResponse; + } + catch (ParseException paramHttpResponse) + { + paramHttpResponse = paramHttpResponse.toString(); + if (com.tencent.analysis.b.c) { + Log.i("HttpHelper", paramHttpResponse); + } + return ""; + } + catch (IOException paramHttpResponse) + { + for (;;) + { + paramHttpResponse = paramHttpResponse.toString(); + if (com.tencent.analysis.b.c) { + Log.i("HttpHelper", paramHttpResponse); + } + } + } + } + + public static HttpResponse a(String paramString1, String paramString2) + { + if (paramString2 == null) { + return null; + } + ArrayList localArrayList = new ArrayList(); + localArrayList.add(new BasicNameValuePair("data", paramString2)); + paramString2 = a(); + paramString1 = new HttpPost(paramString1); + paramString1.setEntity(new UrlEncodedFormEntity(localArrayList, "UTF-8")); + paramString1.setHeader("prismClient", "prismClient"); + return paramString2.execute(paramString1); + } + + private static HttpClient a() + { + if (a == null) {} + for (;;) + { + Object localObject1; + Object localObject3; + int j; + try + { + if (a == null) + { + localObject1 = new BasicHttpParams(); + HttpConnectionParams.setStaleCheckingEnabled((HttpParams)localObject1, false); + HttpConnectionParams.setConnectionTimeout((HttpParams)localObject1, 5000); + HttpConnectionParams.setSoTimeout((HttpParams)localObject1, 15000); + HttpConnectionParams.setSocketBufferSize((HttpParams)localObject1, 8192); + localObject3 = new SchemeRegistry(); + HttpProtocolParams.setUserAgent((HttpParams)localObject1, "prismClient"); + ((SchemeRegistry)localObject3).register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); + a = new DefaultHttpClient(new ThreadSafeClientConnManager((HttpParams)localObject1, (SchemeRegistry)localObject3), (HttpParams)localObject1); + localObject1 = com.tencent.analysis.a.a; + if (localObject1 == null) {} + } + } + finally {} + try + { + localObject1 = Proxy.getDefaultHost(); + j = Proxy.getDefaultPort(); + localObject3 = ((ConnectivityManager)com.tencent.analysis.a.a.getSystemService("connectivity")).getActiveNetworkInfo(); + if (localObject3 != null) { + continue; + } + i = 0; + if ((i == 0) && (localObject1 != null) && (j != -1)) + { + localObject1 = new HttpHost((String)localObject1, j); + a.getParams().setParameter("http.route.default-proxy", localObject1); + } + } + catch (Exception localException) + { + continue; + } + a.setHttpRequestRetryHandler(new b()); + return a; + int i = ((NetworkInfo)localObject3).getType(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/b/b.java b/com.tencent.token/classes.jar/com/tencent/analysis/b/b.java new file mode 100755 index 00000000000..9a5e84eb94d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/b/b.java @@ -0,0 +1,30 @@ +package com.tencent.analysis.b; + +import java.io.IOException; +import javax.net.ssl.SSLHandshakeException; +import org.apache.http.NoHttpResponseException; +import org.apache.http.client.HttpRequestRetryHandler; +import org.apache.http.protocol.HttpContext; + +final class b + implements HttpRequestRetryHandler +{ + public final boolean retryRequest(IOException paramIOException, int paramInt, HttpContext paramHttpContext) + { + if (paramInt >= 3) {} + do + { + return false; + if ((paramIOException instanceof NoHttpResponseException)) { + return true; + } + } while (!(paramIOException instanceof SSLHandshakeException)); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/c/a/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/a.java new file mode 100755 index 00000000000..632844b02af --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/a.java @@ -0,0 +1,30 @@ +package com.tencent.analysis.c.a; + +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +public final class a +{ + private static a a = new a(); + private ThreadPoolExecutor b = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); + + public static a a() + { + return a; + } + + public final void a(c paramc) + { + if (paramc == null) { + return; + } + this.b.submit(paramc); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.c.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/c/a/b.java b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/b.java new file mode 100755 index 00000000000..86b11fc671b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/b.java @@ -0,0 +1,316 @@ +package com.tencent.analysis.c.a; + +public abstract class b + extends c +{ + private String a = ""; + private int b = 3; + private int c = 0; + private boolean d = false; + + /* Error */ + public final void a() + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: aload_0 + // 3: aload_0 + // 4: getfield 23 com/tencent/analysis/c/a/b:c I + // 7: iconst_1 + // 8: iadd + // 9: putfield 23 com/tencent/analysis/c/a/b:c I + // 12: aload_0 + // 13: getfield 19 com/tencent/analysis/c/a/b:a Ljava/lang/String; + // 16: ifnull +15 -> 31 + // 19: aload_0 + // 20: getfield 19 com/tencent/analysis/c/a/b:a Ljava/lang/String; + // 23: ldc 17 + // 25: invokevirtual 36 java/lang/String:equals (Ljava/lang/Object;)Z + // 28: ifeq +4 -> 32 + // 31: return + // 32: ldc 38 + // 34: aload_0 + // 35: getfield 19 com/tencent/analysis/c/a/b:a Ljava/lang/String; + // 38: invokestatic 43 com/tencent/analysis/b/a:a (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/http/HttpResponse; + // 41: astore 5 + // 43: aload 5 + // 45: ifnonnull +51 -> 96 + // 48: aload 5 + // 50: invokeinterface 49 1 0 + // 55: invokeinterface 54 1 0 + // 60: aload_0 + // 61: getfield 25 com/tencent/analysis/c/a/b:d Z + // 64: ifeq -33 -> 31 + // 67: aload_0 + // 68: getfield 23 com/tencent/analysis/c/a/b:c I + // 71: aload_0 + // 72: getfield 21 com/tencent/analysis/c/a/b:b I + // 75: if_icmpgt +16 -> 91 + // 78: aload_0 + // 79: invokevirtual 56 com/tencent/analysis/c/a/b:a ()V + // 82: return + // 83: astore_3 + // 84: aload_3 + // 85: invokevirtual 59 java/io/IOException:printStackTrace ()V + // 88: goto -28 -> 60 + // 91: aload_0 + // 92: invokevirtual 61 com/tencent/analysis/c/a/b:b ()V + // 95: return + // 96: aload 5 + // 98: astore_3 + // 99: aload 5 + // 101: astore 4 + // 103: aload 5 + // 105: invokeinterface 65 1 0 + // 110: invokeinterface 71 1 0 + // 115: istore_1 + // 116: iload_1 + // 117: sipush 200 + // 120: if_icmpne +183 -> 303 + // 123: aload 5 + // 125: astore_3 + // 126: aload 5 + // 128: astore 4 + // 130: aload 5 + // 132: ldc 73 + // 134: invokeinterface 77 2 0 + // 139: astore 6 + // 141: aload 6 + // 143: ifnull +95 -> 238 + // 146: aload 5 + // 148: astore_3 + // 149: aload 5 + // 151: astore 4 + // 153: aload 6 + // 155: arraylength + // 156: istore_2 + // 157: iconst_0 + // 158: istore_1 + // 159: iload_1 + // 160: iload_2 + // 161: if_icmpge +77 -> 238 + // 164: aload 5 + // 166: astore_3 + // 167: aload 5 + // 169: astore 4 + // 171: aload 6 + // 173: iload_1 + // 174: aaload + // 175: invokeinterface 83 1 0 + // 180: astore 7 + // 182: aload 7 + // 184: ifnull +306 -> 490 + // 187: aload 5 + // 189: astore_3 + // 190: aload 5 + // 192: astore 4 + // 194: aload 7 + // 196: ldc 85 + // 198: invokevirtual 89 java/lang/String:indexOf (Ljava/lang/String;)I + // 201: iconst_m1 + // 202: if_icmpne +21 -> 223 + // 205: aload 5 + // 207: astore_3 + // 208: aload 5 + // 210: astore 4 + // 212: aload 7 + // 214: ldc 91 + // 216: invokevirtual 89 java/lang/String:indexOf (Ljava/lang/String;)I + // 219: iconst_m1 + // 220: if_icmpeq +270 -> 490 + // 223: aload 5 + // 225: astore_3 + // 226: aload 5 + // 228: astore 4 + // 230: aload_0 + // 231: iconst_1 + // 232: putfield 25 com/tencent/analysis/c/a/b:d Z + // 235: goto +255 -> 490 + // 238: aload 5 + // 240: astore_3 + // 241: aload 5 + // 243: astore 4 + // 245: aload_0 + // 246: getfield 25 com/tencent/analysis/c/a/b:d Z + // 249: ifne +19 -> 268 + // 252: aload 5 + // 254: astore_3 + // 255: aload 5 + // 257: astore 4 + // 259: aload_0 + // 260: aload 5 + // 262: invokestatic 94 com/tencent/analysis/b/a:a (Lorg/apache/http/HttpResponse;)Ljava/lang/String; + // 265: invokevirtual 97 com/tencent/analysis/c/a/b:b (Ljava/lang/String;)V + // 268: aload 5 + // 270: invokeinterface 49 1 0 + // 275: invokeinterface 54 1 0 + // 280: aload_0 + // 281: getfield 25 com/tencent/analysis/c/a/b:d Z + // 284: ifeq -253 -> 31 + // 287: aload_0 + // 288: getfield 23 com/tencent/analysis/c/a/b:c I + // 291: aload_0 + // 292: getfield 21 com/tencent/analysis/c/a/b:b I + // 295: if_icmpgt +116 -> 411 + // 298: aload_0 + // 299: invokevirtual 56 com/tencent/analysis/c/a/b:a ()V + // 302: return + // 303: aload 5 + // 305: astore_3 + // 306: aload 5 + // 308: astore 4 + // 310: new 99 java/lang/StringBuilder + // 313: dup + // 314: ldc 101 + // 316: invokespecial 103 java/lang/StringBuilder: (Ljava/lang/String;)V + // 319: iload_1 + // 320: invokevirtual 107 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 323: invokevirtual 110 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 326: astore 6 + // 328: aload 5 + // 330: astore_3 + // 331: aload 5 + // 333: astore 4 + // 335: getstatic 114 com/tencent/analysis/b:c Z + // 338: ifeq -70 -> 268 + // 341: aload 5 + // 343: astore_3 + // 344: aload 5 + // 346: astore 4 + // 348: ldc 116 + // 350: aload 6 + // 352: invokestatic 122 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;)I + // 355: pop + // 356: goto -88 -> 268 + // 359: astore 4 + // 361: aload_3 + // 362: astore 4 + // 364: aload_0 + // 365: iconst_1 + // 366: putfield 25 com/tencent/analysis/c/a/b:d Z + // 369: aload_3 + // 370: invokeinterface 49 1 0 + // 375: invokeinterface 54 1 0 + // 380: aload_0 + // 381: getfield 25 com/tencent/analysis/c/a/b:d Z + // 384: ifeq -353 -> 31 + // 387: aload_0 + // 388: getfield 23 com/tencent/analysis/c/a/b:c I + // 391: aload_0 + // 392: getfield 21 com/tencent/analysis/c/a/b:b I + // 395: if_icmpgt +29 -> 424 + // 398: aload_0 + // 399: invokevirtual 56 com/tencent/analysis/c/a/b:a ()V + // 402: return + // 403: astore_3 + // 404: aload_3 + // 405: invokevirtual 59 java/io/IOException:printStackTrace ()V + // 408: goto -128 -> 280 + // 411: aload_0 + // 412: invokevirtual 61 com/tencent/analysis/c/a/b:b ()V + // 415: return + // 416: astore_3 + // 417: aload_3 + // 418: invokevirtual 59 java/io/IOException:printStackTrace ()V + // 421: goto -41 -> 380 + // 424: aload_0 + // 425: invokevirtual 61 com/tencent/analysis/c/a/b:b ()V + // 428: return + // 429: astore_3 + // 430: aconst_null + // 431: astore 4 + // 433: aload 4 + // 435: invokeinterface 49 1 0 + // 440: invokeinterface 54 1 0 + // 445: aload_0 + // 446: getfield 25 com/tencent/analysis/c/a/b:d Z + // 449: ifeq +18 -> 467 + // 452: aload_0 + // 453: getfield 23 com/tencent/analysis/c/a/b:c I + // 456: aload_0 + // 457: getfield 21 com/tencent/analysis/c/a/b:b I + // 460: if_icmpgt +19 -> 479 + // 463: aload_0 + // 464: invokevirtual 56 com/tencent/analysis/c/a/b:a ()V + // 467: aload_3 + // 468: athrow + // 469: astore 4 + // 471: aload 4 + // 473: invokevirtual 59 java/io/IOException:printStackTrace ()V + // 476: goto -31 -> 445 + // 479: aload_0 + // 480: invokevirtual 61 com/tencent/analysis/c/a/b:b ()V + // 483: goto -16 -> 467 + // 486: astore_3 + // 487: goto -54 -> 433 + // 490: iload_1 + // 491: iconst_1 + // 492: iadd + // 493: istore_1 + // 494: goto -335 -> 159 + // Local variable table: + // start length slot name signature + // 0 497 0 this b + // 115 379 1 i int + // 156 6 2 j int + // 1 1 3 localObject1 java.lang.Object + // 83 2 3 localIOException1 java.io.IOException + // 98 272 3 localObject2 java.lang.Object + // 403 2 3 localIOException2 java.io.IOException + // 416 2 3 localIOException3 java.io.IOException + // 429 39 3 localObject3 java.lang.Object + // 486 1 3 localObject4 java.lang.Object + // 101 246 4 localHttpResponse1 org.apache.http.HttpResponse + // 359 1 4 localException java.lang.Exception + // 362 72 4 localObject5 java.lang.Object + // 469 3 4 localIOException4 java.io.IOException + // 41 304 5 localHttpResponse2 org.apache.http.HttpResponse + // 139 212 6 localObject6 java.lang.Object + // 180 33 7 str String + // Exception table: + // from to target type + // 48 60 83 java/io/IOException + // 32 43 359 java/lang/Exception + // 103 116 359 java/lang/Exception + // 130 141 359 java/lang/Exception + // 153 157 359 java/lang/Exception + // 171 182 359 java/lang/Exception + // 194 205 359 java/lang/Exception + // 212 223 359 java/lang/Exception + // 230 235 359 java/lang/Exception + // 245 252 359 java/lang/Exception + // 259 268 359 java/lang/Exception + // 310 328 359 java/lang/Exception + // 335 341 359 java/lang/Exception + // 348 356 359 java/lang/Exception + // 268 280 403 java/io/IOException + // 369 380 416 java/io/IOException + // 32 43 429 finally + // 433 445 469 java/io/IOException + // 103 116 486 finally + // 130 141 486 finally + // 153 157 486 finally + // 171 182 486 finally + // 194 205 486 finally + // 212 223 486 finally + // 230 235 486 finally + // 245 252 486 finally + // 259 268 486 finally + // 310 328 486 finally + // 335 341 486 finally + // 348 356 486 finally + // 364 369 486 finally + } + + public final void a(String paramString) + { + this.a = paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.c.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/c/a/c.java b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/c.java new file mode 100755 index 00000000000..5e933e147c1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/c/a/c.java @@ -0,0 +1,25 @@ +package com.tencent.analysis.c.a; + +public abstract class c + implements Runnable +{ + public abstract void a(); + + public abstract void b(); + + public abstract void b(String paramString); + + public abstract void c(); + + public void run() + { + c(); + a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.c.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/c/b/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/c/b/a.java new file mode 100755 index 00000000000..717f1787d15 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/c/b/a.java @@ -0,0 +1,331 @@ +package com.tencent.analysis.c.b; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.util.Log; +import com.tencent.analysis.a.i; +import com.tencent.analysis.a.j; +import com.tencent.analysis.d.a.c; +import com.tencent.analysis.d.a.d; +import java.util.Map; + +public final class a + extends com.tencent.analysis.c.a.b +{ + private i a = new i(); + private j b = new j(); + + private String d() + { + Object localObject = new com.tencent.analysis.e.a(); + i locali = this.a; + if (locali != null) + { + String str; + if ((((com.tencent.analysis.e.a)localObject).a != null) && (!((com.tencent.analysis.e.a)localObject).a.equals(""))) + { + locali.b(com.tencent.analysis.a.b.a, ((com.tencent.analysis.e.a)localObject).a); + str = "sdkRequst_qimei:" + ((com.tencent.analysis.e.a)localObject).a; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).b != null) && (!((com.tencent.analysis.e.a)localObject).b.equals(""))) + { + locali.b(com.tencent.analysis.a.b.b, ((com.tencent.analysis.e.a)localObject).b); + str = "sdkRequst_imei:" + ((com.tencent.analysis.e.a)localObject).b; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).c != null) && (!((com.tencent.analysis.e.a)localObject).c.equals(""))) + { + locali.b(com.tencent.analysis.a.b.c, ((com.tencent.analysis.e.a)localObject).c); + str = "sdkRequst_mac:" + ((com.tencent.analysis.e.a)localObject).c; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).d != null) && (!((com.tencent.analysis.e.a)localObject).d.equals(""))) + { + locali.b(com.tencent.analysis.a.b.d, ((com.tencent.analysis.e.a)localObject).d); + str = "sdkRequst_imsi:" + ((com.tencent.analysis.e.a)localObject).d; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).e != null) && (!((com.tencent.analysis.e.a)localObject).e.equals(""))) + { + locali.b(com.tencent.analysis.a.b.e, ((com.tencent.analysis.e.a)localObject).e); + str = "sdkRequst_androidId:" + ((com.tencent.analysis.e.a)localObject).e; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).f != null) && (!((com.tencent.analysis.e.a)localObject).f.equals(""))) + { + locali.b(com.tencent.analysis.a.b.f, ((com.tencent.analysis.e.a)localObject).f); + str = "sdkRequst_model:" + ((com.tencent.analysis.e.a)localObject).f; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).g != null) && (!((com.tencent.analysis.e.a)localObject).g.equals(""))) + { + locali.b(com.tencent.analysis.a.b.g, ((com.tencent.analysis.e.a)localObject).g); + str = "sdkRequst_phonePlatform:" + ((com.tencent.analysis.e.a)localObject).g; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).h != null) && (!((com.tencent.analysis.e.a)localObject).h.equals(""))) + { + locali.b(com.tencent.analysis.a.b.h, ((com.tencent.analysis.e.a)localObject).h); + str = "sdkRequst_osVersion:" + ((com.tencent.analysis.e.a)localObject).h; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).i != null) && (!((com.tencent.analysis.e.a)localObject).i.equals(""))) + { + locali.b(com.tencent.analysis.a.b.i, ((com.tencent.analysis.e.a)localObject).i); + str = "sdkRequst_resolution:" + ((com.tencent.analysis.e.a)localObject).i; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).j != null) && (!((com.tencent.analysis.e.a)localObject).j.equals(""))) + { + locali.b(com.tencent.analysis.a.b.j, ((com.tencent.analysis.e.a)localObject).j); + str = "sdkRequst_cpu:" + ((com.tencent.analysis.e.a)localObject).j; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).k != null) && (!((com.tencent.analysis.e.a)localObject).k.equals(""))) + { + locali.b(com.tencent.analysis.a.b.k, ((com.tencent.analysis.e.a)localObject).k); + str = "sdkRequst_gpu:" + ((com.tencent.analysis.e.a)localObject).k; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).l != null) && (!((com.tencent.analysis.e.a)localObject).l.equals(""))) + { + locali.b(com.tencent.analysis.a.b.l, ((com.tencent.analysis.e.a)localObject).l); + str = "sdkRequst_romSize:" + ((com.tencent.analysis.e.a)localObject).l; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).m != null) && (!((com.tencent.analysis.e.a)localObject).m.equals(""))) + { + locali.b(com.tencent.analysis.a.b.m, ((com.tencent.analysis.e.a)localObject).m); + str = "sdkRequst_ramSize:" + ((com.tencent.analysis.e.a)localObject).m; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).n != null) && (!((com.tencent.analysis.e.a)localObject).n.equals(""))) + { + locali.b(com.tencent.analysis.a.b.n, ((com.tencent.analysis.e.a)localObject).n); + str = "sdkRequst_country:" + ((com.tencent.analysis.e.a)localObject).n; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).o != null) && (!((com.tencent.analysis.e.a)localObject).o.equals(""))) + { + locali.b(com.tencent.analysis.a.b.o, ((com.tencent.analysis.e.a)localObject).o); + str = "sdkRequst_language:" + ((com.tencent.analysis.e.a)localObject).o; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).p != null) && (!((com.tencent.analysis.e.a)localObject).p.equals(""))) + { + locali.b(com.tencent.analysis.a.b.p, ((com.tencent.analysis.e.a)localObject).p); + str = "sdkRequst_sensor:" + ((com.tencent.analysis.e.a)localObject).p; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).q != null) && (!((com.tencent.analysis.e.a)localObject).q.equals(""))) + { + locali.b(com.tencent.analysis.a.b.q, ((com.tencent.analysis.e.a)localObject).q); + str = "sdkRequst_appName:" + ((com.tencent.analysis.e.a)localObject).q; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).r != null) && (!((com.tencent.analysis.e.a)localObject).r.equals(""))) + { + locali.b(com.tencent.analysis.a.b.r, ((com.tencent.analysis.e.a)localObject).r); + str = "sdkRequst_appVersion:" + ((com.tencent.analysis.e.a)localObject).r; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).s != null) && (!((com.tencent.analysis.e.a)localObject).s.equals(""))) + { + locali.b(com.tencent.analysis.a.b.s, ((com.tencent.analysis.e.a)localObject).s); + str = "sdkRequst_sdkVersion:" + ((com.tencent.analysis.e.a)localObject).s; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).t != null) && (!((com.tencent.analysis.e.a)localObject).t.equals(""))) + { + locali.b(com.tencent.analysis.a.b.t, ((com.tencent.analysis.e.a)localObject).t); + str = "sdkRequst_channel:" + ((com.tencent.analysis.e.a)localObject).t; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).u != null) && (!((com.tencent.analysis.e.a)localObject).u.equals(""))) + { + locali.b(com.tencent.analysis.a.b.u, ((com.tencent.analysis.e.a)localObject).u); + str = "sdkRequst_brand:" + ((com.tencent.analysis.e.a)localObject).u; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).v != null) && (!((com.tencent.analysis.e.a)localObject).v.equals(""))) + { + locali.b(com.tencent.analysis.a.b.v, ((com.tencent.analysis.e.a)localObject).v); + str = "sdkRequst_inumeric:" + ((com.tencent.analysis.e.a)localObject).v; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).w != null) && (!((com.tencent.analysis.e.a)localObject).w.equals(""))) + { + locali.b(com.tencent.analysis.a.b.w, ((com.tencent.analysis.e.a)localObject).w); + str = "sdkRequst_uptimeMillis:" + ((com.tencent.analysis.e.a)localObject).w; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).x != null) && (!((com.tencent.analysis.e.a)localObject).x.equals(""))) + { + locali.b(com.tencent.analysis.a.b.x, ((com.tencent.analysis.e.a)localObject).x); + str = "sdkRequst_elapsedRealtime:" + ((com.tencent.analysis.e.a)localObject).x; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).y != null) && (!((com.tencent.analysis.e.a)localObject).y.equals(""))) + { + locali.b(com.tencent.analysis.a.b.y, ((com.tencent.analysis.e.a)localObject).y); + str = "sdkRequst_userID:" + ((com.tencent.analysis.e.a)localObject).y; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).z != null) && (!((com.tencent.analysis.e.a)localObject).z.equals(""))) + { + locali.b(com.tencent.analysis.a.b.z, ((com.tencent.analysis.e.a)localObject).z); + str = "sdkRequst_networkType:" + ((com.tencent.analysis.e.a)localObject).z; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", str); + } + } + if ((((com.tencent.analysis.e.a)localObject).A != null) && (!((com.tencent.analysis.e.a)localObject).A.equals(""))) + { + locali.b(com.tencent.analysis.a.b.A, ((com.tencent.analysis.e.a)localObject).A); + localObject = "sdkRequst_appVersionName:" + ((com.tencent.analysis.e.a)localObject).A; + if (com.tencent.analysis.b.c) { + Log.i("sdkRequst", (String)localObject); + } + } + } + this.a.a(com.tencent.analysis.a.b.B, c.a().a); + try + { + localObject = this.a.c(); + return localObject; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return null; + } + + public final void b() + { + if (com.tencent.analysis.b.c) { + Log.i("sdkResponse", "shakeHands resPonse fail"); + } + } + + public final void b(String paramString) + { + if ((paramString == null) || (paramString.equals(""))) {} + do + { + for (;;) + { + return; + try + { + this.b.a(paramString); + if (this.b.c()) + { + Object localObject; + if ((this.b.d().containsKey(com.tencent.analysis.a.b.a)) && (!((String)this.b.d().get(com.tencent.analysis.a.b.a)).equals(""))) + { + paramString = com.tencent.analysis.a.a; + localObject = c.b(); + String str = (String)this.b.d().get(com.tencent.analysis.a.b.a); + localObject = ((d)localObject).b.c(str.getBytes()); + paramString.getSharedPreferences("analysis_sdk", 0).edit().putString("key_qimei", (String)localObject).commit(); + paramString = "sdkResponse_qimei:" + (String)this.b.d().get(com.tencent.analysis.a.b.a); + if (com.tencent.analysis.b.c) { + Log.i("sdkResponse", paramString); + } + } + if ((this.b.a().containsKey(com.tencent.analysis.a.b.C)) && (this.b.a().containsKey(com.tencent.analysis.a.b.B))) { + c.a(Integer.parseInt((String)this.b.a().get(com.tencent.analysis.a.b.B)), (String)this.b.a().get(com.tencent.analysis.a.b.C)); + } + if (this.b.a().containsKey(com.tencent.analysis.a.b.D)) + { + paramString = (String)this.b.a().get(com.tencent.analysis.a.b.D); + localObject = "sdkResponse_locate_config:" + paramString; + if (com.tencent.analysis.b.c) { + Log.i("sdkResponse", (String)localObject); + } + if (paramString != null) + { + localObject = com.tencent.analysis.a.a; + paramString = c.b().b.c(paramString.getBytes()); + ((Context)localObject).getSharedPreferences("analysis_sdk", 0).edit().putString("local_gps", paramString).commit(); + return; + } + } + } + } + catch (Exception paramString) + { + paramString = paramString.toString(); + } + } + } while (!com.tencent.analysis.b.c); + Log.i("ShakeHandsTask", paramString); + } + + public final void c() + { + if (com.tencent.analysis.b.c) { + Log.i("ShakeHandsTask", "ShakeHandsTask preparestart"); + } + a(d()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.c.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/d/a/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/a.java new file mode 100755 index 00000000000..8cca81cb2c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/a.java @@ -0,0 +1,50 @@ +package com.tencent.analysis.d.a; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public final class a +{ + private byte[] a = null; + + a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length != 16) { + throw new RuntimeException("the keys's length must be 16!"); + } + this.a = paramArrayOfByte; + } + + public final byte[] a(byte[] paramArrayOfByte) + { + SecretKeySpec localSecretKeySpec = new SecretKeySpec(this.a, "AES"); + Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + localCipher.init(2, localSecretKeySpec, new IvParameterSpec("s(2L@f!.tencent*".getBytes())); + return localCipher.doFinal(paramArrayOfByte); + } + + public final byte[] b(byte[] paramArrayOfByte) + { + SecretKeySpec localSecretKeySpec = new SecretKeySpec(this.a, "AES"); + Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + localCipher.init(1, localSecretKeySpec, new IvParameterSpec("s(2L@f!.tencent*".getBytes())); + return localCipher.doFinal(paramArrayOfByte); + } + + public final String c(byte[] paramArrayOfByte) + { + return b.a(b(paramArrayOfByte)); + } + + public final String toString() + { + return "AESCoding [keyBytes=" + b.a(this.a) + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.d.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/d/a/b.java b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/b.java new file mode 100755 index 00000000000..d0959099008 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/b.java @@ -0,0 +1,69 @@ +package com.tencent.analysis.d.a; + +public final class b +{ + private static final char[] a = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 }; + private static byte[] b = new byte[0]; + + private static byte a(char paramChar) + { + if ((paramChar >= '0') && (paramChar <= '9')) { + return (byte)(paramChar - '0'); + } + if ((paramChar >= 'a') && (paramChar <= 'f')) { + return (byte)(paramChar - 'a' + 10); + } + if ((paramChar >= 'A') && (paramChar <= 'F')) { + return (byte)(paramChar - 'A' + 10); + } + return 0; + } + + public static String a(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) {} + int j; + do + { + return null; + j = paramArrayOfByte.length; + } while ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)); + if (j + 0 > paramArrayOfByte.length) { + throw new IllegalArgumentException("offset + length(" + 0 + j + ") > bytes.length(" + paramArrayOfByte.length + ")"); + } + char[] arrayOfChar = new char[j * 2]; + int i = 0; + while (i < j) + { + int k = paramArrayOfByte[i]; + arrayOfChar[(i * 2 + 1)] = a[(k & 0xF)]; + k = (byte)(k >>> 4); + arrayOfChar[(i * 2)] = a[(k & 0xF)]; + i += 1; + } + return new String(arrayOfChar); + } + + public static byte[] a(String paramString) + { + if ((paramString == null) || (paramString.equals(""))) { + return b; + } + byte[] arrayOfByte = new byte[paramString.length() / 2]; + int i = 0; + while (i < arrayOfByte.length) + { + char c1 = paramString.charAt(i << 1); + char c2 = paramString.charAt((i << 1) + 1); + arrayOfByte[i] = ((byte)((a(c1) << 4) + a(c2))); + i += 1; + } + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.d.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/d/a/c.java b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/c.java new file mode 100755 index 00000000000..421aa0b2e0f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/c.java @@ -0,0 +1,66 @@ +package com.tencent.analysis.d.a; + +import java.io.UnsupportedEncodingException; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public final class c +{ + private static final d a; + private static d b; + private static Map c = new ConcurrentHashMap(); + + static + { + d locald = new d(0, new byte[] { 37, 36, 35, 41, 64, 56, 72, 71, 80, 76, 62, 60, 78, 82, 77, 118 }); + a = locald; + b = locald; + locald = a; + } + + public static d a() + { + return b; + } + + public static d a(int paramInt) + { + return (d)c.get(Integer.valueOf(paramInt)); + } + + public static void a(int paramInt, String paramString) + { + try + { + localObject = paramString.getBytes("UTF-8"); + paramString = (String)localObject; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + Object localObject; + paramString = paramString.getBytes(); + } + } + localObject = b; + b = new d(paramInt, paramString); + c.put(Integer.valueOf(paramInt), b); + } + + public static d b() + { + return a; + } + + public static Map c() + { + return c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.d.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/d/a/d.java b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/d.java new file mode 100755 index 00000000000..ce37e043ce9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/d/a/d.java @@ -0,0 +1,24 @@ +package com.tencent.analysis.d.a; + +public final class d +{ + public int a; + public a b; + + public d(int paramInt, byte[] paramArrayOfByte) + { + this.a = paramInt; + this.b = new a(paramArrayOfByte); + } + + public final String toString() + { + return "Key [keySerial=" + this.a + ", aesCoding=" + this.b + "]"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.d.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/analysis/e/a.java b/com.tencent.token/classes.jar/com/tencent/analysis/e/a.java new file mode 100755 index 00000000000..207126711c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/analysis/e/a.java @@ -0,0 +1,1223 @@ +package com.tencent.analysis.e; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.hardware.SensorManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Environment; +import android.os.StatFs; +import android.os.SystemClock; +import android.provider.Settings.Secure; +import android.telephony.TelephonyManager; +import android.util.Log; +import com.tencent.analysis.d.a.c; +import com.tencent.analysis.d.a.d; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Locale; + +public class a +{ + public String A = ""; + private WifiManager B; + private TelephonyManager C; + public String a = ""; + public String b = ""; + public String c = ""; + public String d = ""; + public String e = ""; + public String f = ""; + public String g = "android"; + public String h = ""; + public String i = ""; + public String j = ""; + public String k = ""; + public String l = ""; + public String m = ""; + public String n = ""; + public String o = ""; + public String p = ""; + public String q = ""; + public String r = ""; + public String s = ""; + public String t = ""; + public String u = ""; + public String v = ""; + public String w = ""; + public String x = ""; + public String y = ""; + public String z = ""; + + public a() + { + if (com.tencent.analysis.a.a != null) + { + this.B = ((WifiManager)com.tencent.analysis.a.a.getSystemService("wifi")); + this.C = ((TelephonyManager)com.tencent.analysis.a.a.getSystemService("phone")); + } + if (com.tencent.analysis.a.a != null) + { + r(); + s(); + t(); + this.b = b(); + this.e = d(); + this.f = e(); + this.h = f(); + this.i = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("key_resolution", "UNKNOWN"); + this.j = q(); + g(); + this.l = h(); + this.m = i(); + this.n = j(); + this.o = k(); + this.p = l(); + this.q = com.tencent.analysis.a.a.getPackageName(); + this.r = m(); + com.tencent.analysis.a.a(); + this.t = com.tencent.analysis.a.a(com.tencent.analysis.a.a); + this.s = com.tencent.analysis.b.d; + this.u = n(); + this.v = o(); + this.w = SystemClock.uptimeMillis(); + this.x = SystemClock.elapsedRealtime(); + this.y = u(); + this.z = p(); + this.A = v(); + } + } + + private String a() + { + Object localObject3 = "UNKNOWN"; + try + { + Object localObject1; + if (a("android.permission.ACCESS_WIFI_STATE")) + { + localObject1 = localObject3; + if (this.B != null) + { + localObject4 = this.B.getConnectionInfo(); + localObject1 = localObject3; + if (localObject4 != null) { + localObject1 = ((WifiInfo)localObject4).getMacAddress(); + } + } + } + for (;;) + { + if ((localObject1 != null) && (!((String)localObject1).equals("NOPERMISSION"))) + { + boolean bool = ((String)localObject1).equals(""); + if (!bool) { + return localObject1; + } + } + try + { + localObject1 = new StringBuffer(1000); + localObject3 = new BufferedReader(new FileReader("/sys/class/net/eth0/address")); + localObject4 = new char[1024]; + for (;;) + { + int i1 = ((BufferedReader)localObject3).read((char[])localObject4); + if (i1 == -1) { + break; + } + ((StringBuffer)localObject1).append(String.valueOf((char[])localObject4, 0, i1)); + } + str = "NOPERMISSION"; + } + catch (Exception localException1) + { + return "UNKNOWN"; + } + } + ((BufferedReader)localObject3).close(); + String str = str.toString().toUpperCase().substring(0, 17); + return str; + } + catch (Exception localException2) + { + localObject3 = "EXCEPTION"; + Object localObject4 = localException2.toString(); + Object localObject2 = localObject3; + if (com.tencent.analysis.b.c) + { + Log.i("BaseInfoUtil", (String)localObject4); + localObject2 = localObject3; + } + return localObject2; + } + } + + private static boolean a(String paramString) + { + if (com.tencent.analysis.a.a == null) {} + for (;;) + { + return false; + Object localObject = com.tencent.analysis.a.a.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getPackageInfo(com.tencent.analysis.a.a.getPackageName(), 4096); + if ((localObject != null) && (((PackageInfo)localObject).requestedPermissions != null)) + { + localObject = ((PackageInfo)localObject).requestedPermissions; + int i2 = localObject.length; + int i1 = 0; + while (i1 < i2) + { + boolean bool = localObject[i1].equals(paramString); + if (bool) { + return true; + } + i1 += 1; + } + if (!com.tencent.analysis.b.c) {} + } + } + catch (Exception paramString) + { + paramString = paramString.toString(); + } + } + Log.i("BaseInfoUtil", paramString); + return false; + } + + private String b() + { + String str1 = "UNKNOWN"; + try + { + if (a("android.permission.READ_PHONE_STATE")) + { + if (this.C != null) { + return this.C.getDeviceId(); + } + } + else { + return "NOPERMISSION"; + } + } + catch (Exception localException) + { + String str2 = "EXCEPTION"; + String str3 = localException.toString(); + Object localObject = str2; + if (com.tencent.analysis.b.c) + { + Log.i("BaseInfoUtil", str3); + localObject = str2; + } + return localObject; + } + } + + private String c() + { + String str1 = "UNKNOWN"; + try + { + if (a("android.permission.READ_PHONE_STATE")) + { + if (this.C != null) { + return this.C.getSubscriberId(); + } + } + else { + return "NOPERMISSION"; + } + } + catch (Exception localException) + { + String str2 = "EXCEPTION"; + String str3 = localException.toString(); + Object localObject = str2; + if (com.tencent.analysis.b.c) + { + Log.i("BaseInfoUtil", str3); + localObject = str2; + } + return localObject; + } + } + + private static String d() + { + try + { + str1 = Settings.Secure.getString(com.tencent.analysis.a.a.getContentResolver(), "android_id"); + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private static String e() + { + try + { + str1 = Build.MODEL; + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private static String f() + { + try + { + str1 = Build.VERSION.RELEASE; + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private void g() + { + String str1 = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("gpu_user", "UNKNOWN"); + if (str1.equals("UNKNOWN")) { + this.k = "UNKNOWN"; + } + String str2; + do + { + return; + try + { + this.k = new String(c.b().b.a(com.tencent.analysis.d.a.b.a(str1)), "UTF-8"); + return; + } + catch (Exception localException) + { + str2 = "loadGpuInfo Error :" + localException.toString(); + } + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + + private static String h() + { + try + { + localObject = new StatFs(Environment.getDataDirectory().getPath()); + long l1 = ((StatFs)localObject).getBlockSize(); + long l2 = ((StatFs)localObject).getBlockCount(); + localObject = l2 * l1 / 1024L / 1024L; + return localObject; + } + catch (Exception localException) + { + String str; + do + { + Object localObject = "EXCEPTION"; + str = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str); + } + return "EXCEPTION"; + } + + /* Error */ + private static String i() + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: new 243 java/io/FileReader + // 5: dup + // 6: ldc_w 391 + // 9: invokespecial 248 java/io/FileReader: (Ljava/lang/String;)V + // 12: astore 4 + // 14: new 241 java/io/BufferedReader + // 17: dup + // 18: aload 4 + // 20: sipush 8192 + // 23: invokespecial 394 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 26: astore_2 + // 27: aload_2 + // 28: invokevirtual 397 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 31: ldc_w 399 + // 34: iconst_2 + // 35: invokevirtual 403 java/lang/String:split (Ljava/lang/String;I)[Ljava/lang/String; + // 38: iconst_1 + // 39: aaload + // 40: invokevirtual 406 java/lang/String:toLowerCase ()Ljava/lang/String; + // 43: ldc_w 408 + // 46: ldc 42 + // 48: invokevirtual 412 java/lang/String:replace (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; + // 51: invokevirtual 415 java/lang/String:trim ()Ljava/lang/String; + // 54: invokestatic 421 java/lang/Long:parseLong (Ljava/lang/String;)J + // 57: ldc2_w 386 + // 60: ldiv + // 61: lstore_0 + // 62: new 186 java/lang/StringBuilder + // 65: dup + // 66: invokespecial 187 java/lang/StringBuilder: ()V + // 69: lload_0 + // 70: invokevirtual 197 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 73: invokevirtual 200 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 76: astore_3 + // 77: aload_2 + // 78: invokevirtual 265 java/io/BufferedReader:close ()V + // 81: aload 4 + // 83: invokevirtual 422 java/io/FileReader:close ()V + // 86: aload_3 + // 87: astore_2 + // 88: aload_2 + // 89: areturn + // 90: astore_2 + // 91: aload_2 + // 92: invokevirtual 423 java/io/IOException:toString ()Ljava/lang/String; + // 95: astore_2 + // 96: getstatic 279 com/tencent/analysis/b:c Z + // 99: ifeq +11 -> 110 + // 102: ldc_w 281 + // 105: aload_2 + // 106: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 109: pop + // 110: ldc_w 275 + // 113: areturn + // 114: astore 4 + // 116: aconst_null + // 117: astore_2 + // 118: aload 4 + // 120: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 123: astore 4 + // 125: getstatic 279 com/tencent/analysis/b:c Z + // 128: ifeq +12 -> 140 + // 131: ldc_w 281 + // 134: aload 4 + // 136: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 139: pop + // 140: ldc_w 275 + // 143: astore 4 + // 145: aload_2 + // 146: ifnull +7 -> 153 + // 149: aload_2 + // 150: invokevirtual 265 java/io/BufferedReader:close ()V + // 153: aload 4 + // 155: astore_2 + // 156: aload_3 + // 157: ifnull -69 -> 88 + // 160: aload_3 + // 161: invokevirtual 422 java/io/FileReader:close ()V + // 164: ldc_w 275 + // 167: areturn + // 168: astore_2 + // 169: aload_2 + // 170: invokevirtual 423 java/io/IOException:toString ()Ljava/lang/String; + // 173: astore_2 + // 174: getstatic 279 com/tencent/analysis/b:c Z + // 177: ifeq +11 -> 188 + // 180: ldc_w 281 + // 183: aload_2 + // 184: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 187: pop + // 188: ldc_w 275 + // 191: areturn + // 192: astore_3 + // 193: aconst_null + // 194: astore_2 + // 195: aconst_null + // 196: astore 4 + // 198: aload_2 + // 199: ifnull +7 -> 206 + // 202: aload_2 + // 203: invokevirtual 265 java/io/BufferedReader:close ()V + // 206: aload 4 + // 208: ifnull +8 -> 216 + // 211: aload 4 + // 213: invokevirtual 422 java/io/FileReader:close ()V + // 216: aload_3 + // 217: athrow + // 218: astore_2 + // 219: aload_2 + // 220: invokevirtual 423 java/io/IOException:toString ()Ljava/lang/String; + // 223: astore_2 + // 224: getstatic 279 com/tencent/analysis/b:c Z + // 227: ifeq +11 -> 238 + // 230: ldc_w 281 + // 233: aload_2 + // 234: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 237: pop + // 238: ldc_w 275 + // 241: areturn + // 242: astore_3 + // 243: aconst_null + // 244: astore_2 + // 245: goto -47 -> 198 + // 248: astore_3 + // 249: goto -51 -> 198 + // 252: astore 5 + // 254: aload_3 + // 255: astore 4 + // 257: aload 5 + // 259: astore_3 + // 260: goto -62 -> 198 + // 263: astore 5 + // 265: aconst_null + // 266: astore_2 + // 267: aload 4 + // 269: astore_3 + // 270: aload 5 + // 272: astore 4 + // 274: goto -156 -> 118 + // 277: astore 5 + // 279: aload 4 + // 281: astore_3 + // 282: aload 5 + // 284: astore 4 + // 286: goto -168 -> 118 + // Local variable table: + // start length slot name signature + // 61 9 0 l1 long + // 26 63 2 localObject1 Object + // 90 2 2 localIOException1 java.io.IOException + // 95 61 2 localObject2 Object + // 168 2 2 localIOException2 java.io.IOException + // 173 30 2 str1 String + // 218 2 2 localIOException3 java.io.IOException + // 223 44 2 str2 String + // 1 160 3 str3 String + // 192 25 3 localObject3 Object + // 242 1 3 localObject4 Object + // 248 7 3 localObject5 Object + // 259 23 3 localObject6 Object + // 12 70 4 localFileReader FileReader + // 114 5 4 localException1 Exception + // 123 162 4 localObject7 Object + // 252 6 5 localObject8 Object + // 263 8 5 localException2 Exception + // 277 6 5 localException3 Exception + // Exception table: + // from to target type + // 77 86 90 java/io/IOException + // 2 14 114 java/lang/Exception + // 149 153 168 java/io/IOException + // 160 164 168 java/io/IOException + // 2 14 192 finally + // 202 206 218 java/io/IOException + // 211 216 218 java/io/IOException + // 14 27 242 finally + // 27 77 248 finally + // 118 140 252 finally + // 14 27 263 java/lang/Exception + // 27 77 277 java/lang/Exception + } + + private static String j() + { + try + { + str1 = Locale.getDefault().getCountry(); + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private static String k() + { + try + { + str1 = Locale.getDefault().getLanguage(); + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private static String l() + { + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", "getSensor start"); + } + StringBuffer localStringBuffer = new StringBuffer(); + if (Integer.parseInt(Build.VERSION.SDK) >= 10) {} + for (;;) + { + int i2; + int i3; + int i1; + label280: + int i5; + try + { + Class localClass = Class.forName("android.hardware.Camera"); + i2 = ((Integer)localClass.getMethod("getNumberOfCameras", new Class[0]).invoke(localClass, new Object[0])).intValue(); + String str1; + if (i2 == 0) + { + str1 = "N"; + localObject2 = "N"; + localObject4 = (SensorManager)com.tencent.analysis.a.a.getSystemService("sensor"); + if (((SensorManager)localObject4).getDefaultSensor(1) == null) { + break label487; + } + localObject3 = "Y"; + if (((SensorManager)localObject4).getDefaultSensor(4) != null) + { + localObject4 = "Y"; + localStringBuffer.append((String)localObject2).append(str1).append((String)localObject3).append((String)localObject4); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", "getSensor End"); + } + return localStringBuffer.toString(); + } + } + else + { + localObject2 = Class.forName("android.hardware.Camera$CameraInfo"); + Object localObject5 = ((Class)localObject2).newInstance(); + localObject3 = localClass.getMethods(); + str1 = null; + i3 = localObject3.length; + i1 = 0; + localObject4 = str1; + if (i1 < i3) + { + localObject4 = localObject3[i1]; + if (!((Method)localObject4).getName().equals("getCameraInfo")) { + break label440; + } + } + Field localField1 = ((Class)localObject2).getField("facing"); + Field localField2 = ((Class)localObject2).getField("CAMERA_FACING_BACK"); + Field localField3 = ((Class)localObject2).getField("CAMERA_FACING_FRONT"); + if (localObject4 == null) { + break label416; + } + localObject2 = "X"; + str1 = "X"; + i1 = 0; + if (i1 >= i2) { + break label401; + } + ((Method)localObject4).invoke(localClass, new Object[] { Integer.valueOf(i1), localObject5 }); + i3 = localField1.getInt(localObject5); + int i4 = localField2.getInt(localObject5); + i5 = localField3.getInt(localObject5); + if (i3 != i4) { + break label447; + } + str1 = "Y"; + localObject3 = str1; + if (i2 != 1) { + break label429; + } + localObject2 = "N"; + localObject3 = str1; + break label429; + } + Object localObject4 = "N"; + continue; + localObject3 = localObject1; + } + catch (Exception localException) + { + localObject1 = localException.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", (String)localObject1); + } + return "EXCEPTION"; + } + label401: + Object localObject1 = localObject2; + Object localObject2 = localObject3; + continue; + label416: + localObject2 = "X"; + localObject1 = "X"; + continue; + for (;;) + { + label429: + i1 += 1; + localObject1 = localObject3; + break label280; + label440: + i1 += 1; + break; + label447: + localObject3 = localObject1; + if (i3 == i5) + { + String str2 = "Y"; + localObject2 = str2; + localObject3 = localObject1; + if (i2 == 1) + { + localObject3 = "N"; + localObject2 = str2; + } + } + } + label487: + Object localObject3 = "N"; + } + } + + private static String m() + { + Object localObject = com.tencent.analysis.a.a.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getPackageInfo(com.tencent.analysis.a.a.getPackageName(), 0); + localObject = ((PackageInfo)localObject).versionCode; + return localObject; + } + catch (Exception localException) + { + String str = localException.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", str); + } + } + return "EXCEPTION"; + } + + private static String n() + { + try + { + str1 = Build.BRAND; + return str1; + } + catch (Exception localException) + { + String str2; + do + { + String str1 = "EXCEPTION"; + str2 = localException.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + return "EXCEPTION"; + } + + private String o() + { + String str = "UNKNOWN"; + try + { + if (this.C != null) { + str = this.C.getSimOperator(); + } + return str; + } + catch (Exception localException) {} + return "UNKNOWN"; + } + + private String p() + { + Object localObject2; + try + { + Object localObject1; + if (a("android.permission.ACCESS_NETWORK_STATE")) + { + localObject1 = ((ConnectivityManager)com.tencent.analysis.a.a.getSystemService("connectivity")).getActiveNetworkInfo(); + if (localObject1 == null) { + return "UNKNOWN"; + } + if (((NetworkInfo)localObject1).getType() == 1) + { + localObject1 = "wifi"; + break label163; + } + if ((((NetworkInfo)localObject1).getType() != 0) || (this.C == null)) {} + } + else + { + switch (this.C.getNetworkType()) + { + default: + localObject1 = "NOPERMISSION"; + } + } + } + catch (Exception localException) + { + String str1 = "EXCEPTION"; + String str2 = localException.toString(); + localObject2 = str1; + if (com.tencent.analysis.b.c) + { + Log.i("BaseInfoUtil", str2); + localObject2 = str1; + break label163; + localObject2 = "UNKNOWN"; + } + } + for (;;) + { + label163: + return localObject2; + localObject2 = "UNKNOWN"; + continue; + localObject2 = "GPRS"; + continue; + localObject2 = "EDGE"; + continue; + localObject2 = "UMTS"; + continue; + localObject2 = "HSDPA"; + continue; + localObject2 = "HSUPA"; + continue; + localObject2 = "HSPA"; + continue; + localObject2 = "CDMA"; + continue; + localObject2 = "CDMA - EvDo rev. 0"; + continue; + localObject2 = "CDMA - EvDo rev. A"; + continue; + localObject2 = "CDMA - 1xRTT"; + } + } + + /* Error */ + private static String q() + { + // Byte code: + // 0: aconst_null + // 1: astore_2 + // 2: aconst_null + // 3: astore_3 + // 4: aconst_null + // 5: astore 5 + // 7: new 243 java/io/FileReader + // 10: dup + // 11: ldc_w 573 + // 14: invokespecial 248 java/io/FileReader: (Ljava/lang/String;)V + // 17: astore_0 + // 18: aload_0 + // 19: astore_1 + // 20: aload_3 + // 21: astore_2 + // 22: new 241 java/io/BufferedReader + // 25: dup + // 26: aload_0 + // 27: invokespecial 251 java/io/BufferedReader: (Ljava/io/Reader;)V + // 30: astore_3 + // 31: aload_3 + // 32: invokevirtual 397 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 35: ldc_w 399 + // 38: iconst_2 + // 39: invokevirtual 403 java/lang/String:split (Ljava/lang/String;I)[Ljava/lang/String; + // 42: iconst_1 + // 43: aaload + // 44: astore_1 + // 45: aload_3 + // 46: invokevirtual 265 java/io/BufferedReader:close ()V + // 49: aload_0 + // 50: invokevirtual 422 java/io/FileReader:close ()V + // 53: aload_1 + // 54: areturn + // 55: astore_0 + // 56: aload_0 + // 57: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 60: astore_0 + // 61: getstatic 279 com/tencent/analysis/b:c Z + // 64: ifeq +11 -> 75 + // 67: ldc_w 281 + // 70: aload_0 + // 71: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 74: pop + // 75: ldc_w 275 + // 78: areturn + // 79: astore 4 + // 81: aconst_null + // 82: astore_0 + // 83: aload 5 + // 85: astore_3 + // 86: aload_0 + // 87: astore_1 + // 88: aload_3 + // 89: astore_2 + // 90: aload 4 + // 92: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 95: astore 4 + // 97: aload_0 + // 98: astore_1 + // 99: aload_3 + // 100: astore_2 + // 101: getstatic 279 com/tencent/analysis/b:c Z + // 104: ifeq +16 -> 120 + // 107: aload_0 + // 108: astore_1 + // 109: aload_3 + // 110: astore_2 + // 111: ldc_w 281 + // 114: aload 4 + // 116: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 119: pop + // 120: ldc_w 275 + // 123: astore_1 + // 124: aload_3 + // 125: ifnull +7 -> 132 + // 128: aload_3 + // 129: invokevirtual 265 java/io/BufferedReader:close ()V + // 132: aload_0 + // 133: ifnull -80 -> 53 + // 136: aload_0 + // 137: invokevirtual 422 java/io/FileReader:close ()V + // 140: ldc_w 275 + // 143: areturn + // 144: astore_0 + // 145: aload_0 + // 146: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 149: astore_0 + // 150: getstatic 279 com/tencent/analysis/b:c Z + // 153: ifeq +11 -> 164 + // 156: ldc_w 281 + // 159: aload_0 + // 160: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 163: pop + // 164: ldc_w 275 + // 167: areturn + // 168: astore_3 + // 169: aconst_null + // 170: astore_0 + // 171: aload_2 + // 172: ifnull +7 -> 179 + // 175: aload_2 + // 176: invokevirtual 265 java/io/BufferedReader:close ()V + // 179: aload_0 + // 180: ifnull +7 -> 187 + // 183: aload_0 + // 184: invokevirtual 422 java/io/FileReader:close ()V + // 187: aload_3 + // 188: athrow + // 189: astore_0 + // 190: aload_0 + // 191: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 194: astore_0 + // 195: getstatic 279 com/tencent/analysis/b:c Z + // 198: ifeq +11 -> 209 + // 201: ldc_w 281 + // 204: aload_0 + // 205: invokestatic 286 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 208: pop + // 209: ldc_w 275 + // 212: areturn + // 213: astore_3 + // 214: aload_1 + // 215: astore_0 + // 216: goto -45 -> 171 + // 219: astore_1 + // 220: aload_3 + // 221: astore_2 + // 222: aload_1 + // 223: astore_3 + // 224: goto -53 -> 171 + // 227: astore 4 + // 229: aload 5 + // 231: astore_3 + // 232: goto -146 -> 86 + // 235: astore 4 + // 237: goto -151 -> 86 + // Local variable table: + // start length slot name signature + // 17 33 0 localFileReader FileReader + // 55 2 0 localException1 Exception + // 60 77 0 str1 String + // 144 2 0 localException2 Exception + // 149 35 0 str2 String + // 189 2 0 localException3 Exception + // 194 22 0 localObject1 Object + // 19 196 1 localObject2 Object + // 219 4 1 localObject3 Object + // 1 221 2 localObject4 Object + // 3 126 3 localObject5 Object + // 168 20 3 localObject6 Object + // 213 8 3 localObject7 Object + // 223 9 3 localObject8 Object + // 79 12 4 localException4 Exception + // 95 20 4 str3 String + // 227 1 4 localException5 Exception + // 235 1 4 localException6 Exception + // 5 225 5 localObject9 Object + // Exception table: + // from to target type + // 45 53 55 java/lang/Exception + // 7 18 79 java/lang/Exception + // 128 132 144 java/lang/Exception + // 136 140 144 java/lang/Exception + // 7 18 168 finally + // 175 179 189 java/lang/Exception + // 183 187 189 java/lang/Exception + // 22 31 213 finally + // 90 97 213 finally + // 101 107 213 finally + // 111 120 213 finally + // 31 45 219 finally + // 22 31 227 java/lang/Exception + // 31 45 235 java/lang/Exception + } + + private void r() + { + String str1 = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("key_qimei", "UNKNOWN"); + if (str1.equals("UNKNOWN")) { + this.a = "UNKNOWN"; + } + String str2; + do + { + return; + try + { + this.a = new String(c.b().b.a(com.tencent.analysis.d.a.b.a(str1)), "UTF-8"); + return; + } + catch (Exception localException) + { + str2 = "getQimei Error :" + localException.toString(); + } + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + + private void s() + { + Object localObject1 = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("key_mac", "UNKNOWN"); + if (((String)localObject1).equals("UNKNOWN")) + { + this.c = a(); + if ((this.c == null) || (this.c.equals("")) || (this.c.equals("EXCEPTION")) || (this.c.equals("NOPERMISSION")) || (this.c.equals("UNKNOWN"))) {} + } + String str2; + do + { + Object localObject3; + String str3; + Object localObject2; + do + { + String str1; + try + { + localObject1 = com.tencent.analysis.a.a; + localObject3 = c.b(); + str3 = this.c; + localObject3 = ((d)localObject3).b.c(str3.getBytes()); + ((Context)localObject1).getSharedPreferences("analysis_sdk", 0).edit().putString("key_mac", (String)localObject3).commit(); + return; + } + catch (Exception localException1) + { + do + { + str1 = "getMac Error :" + localException1.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str1); + return; + } + try + { + this.c = new String(c.b().b.a(com.tencent.analysis.d.a.b.a(str1)), "UTF-8"); + return; + } + catch (Exception localException2) + { + localObject2 = "getQimei Error :" + localException2.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", (String)localObject2); + } + this.c = a(); + } + } while ((this.c == null) || (this.c.equals("")) || (this.c.equals("EXCEPTION")) || (this.c.equals("NOPERMISSION")) || (this.c.equals("UNKNOWN"))); + try + { + localObject2 = com.tencent.analysis.a.a; + localObject3 = c.b(); + str3 = this.c; + localObject3 = ((d)localObject3).b.c(str3.getBytes()); + ((Context)localObject2).getSharedPreferences("analysis_sdk", 0).edit().putString("key_mac", (String)localObject3).commit(); + return; + } + catch (Exception localException3) + { + str2 = "getMac Error :" + localException3.toString(); + } + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + + private void t() + { + Object localObject1 = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("key_imsi", "UNKNOWN"); + if (((String)localObject1).equals("UNKNOWN")) + { + this.d = c(); + if ((this.d == null) || (this.d.equals("")) || (this.d.equals("EXCEPTION")) || (this.d.equals("NOPERMISSION")) || (this.d.equals("UNKNOWN"))) {} + } + String str2; + do + { + Object localObject3; + String str3; + Object localObject2; + do + { + String str1; + try + { + localObject1 = com.tencent.analysis.a.a; + localObject3 = c.b(); + str3 = this.d; + localObject3 = ((d)localObject3).b.c(str3.getBytes()); + ((Context)localObject1).getSharedPreferences("analysis_sdk", 0).edit().putString("key_imsi", (String)localObject3).commit(); + return; + } + catch (Exception localException1) + { + do + { + str1 = "getIMsi Error :" + localException1.toString(); + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str1); + return; + } + try + { + this.d = new String(c.b().b.a(com.tencent.analysis.d.a.b.a(str1)), "UTF-8"); + return; + } + catch (Exception localException2) + { + localObject2 = "getQimei Error :" + localException2.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", (String)localObject2); + } + this.d = c(); + } + } while ((this.d == null) || (this.d.equals("")) || (this.d.equals("EXCEPTION")) || (this.d.equals("NOPERMISSION")) || (this.d.equals("UNKNOWN"))); + try + { + localObject2 = com.tencent.analysis.a.a; + localObject3 = c.b(); + str3 = this.d; + localObject3 = ((d)localObject3).b.c(str3.getBytes()); + ((Context)localObject2).getSharedPreferences("analysis_sdk", 0).edit().putString("key_imsi", (String)localObject3).commit(); + return; + } + catch (Exception localException3) + { + str2 = "getIMsi Error :" + localException3.toString(); + } + } while (!com.tencent.analysis.b.c); + Log.i("BaseInfoUtil", str2); + } + + private static String u() + { + String str1 = com.tencent.analysis.a.a.getSharedPreferences("analysis_sdk", 0).getString("key_user", ""); + if (!str1.equals("")) { + try + { + str1 = new String(c.b().b.a(com.tencent.analysis.d.a.b.a(str1)), "UTF-8"); + return str1; + } + catch (Exception localException) + { + String str2 = "getUserId Error :" + localException.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", str2); + } + } + } + return ""; + } + + private static String v() + { + Object localObject = com.tencent.analysis.a.a.getPackageManager(); + try + { + localObject = ((PackageManager)localObject).getPackageInfo(com.tencent.analysis.a.a.getPackageName(), 0).versionName; + return localObject; + } + catch (Exception localException) + { + String str = localException.toString(); + if (com.tencent.analysis.b.c) { + Log.i("BaseInfoUtil", str); + } + } + return "EXCEPTION"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.analysis.e.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/ANRReport.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/ANRReport.java new file mode 100755 index 00000000000..9e07a3fa74b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/ANRReport.java @@ -0,0 +1,64 @@ +package com.tencent.feedback.anr; + +import android.content.Context; +import com.tencent.feedback.eup.CrashReport; +import com.tencent.feedback.eup.CrashStrategyBean; + +public class ANRReport +{ + public static void startANRMonitor(Context paramContext) + { + c.a(paramContext).startWatching(); + } + + public static void stopANRMonitor() + { + if (c.a(null) != null) { + c.a(null).stopWatching(); + } + } + + public static boolean uploadANRInfo(Context paramContext, int paramInt, String paramString1, String paramString2, String paramString3, long paramLong) + { + com.tencent.feedback.common.c localc = com.tencent.feedback.common.c.a(paramContext); + if (localc == null) + { + com.tencent.feedback.common.e.d("commonInfo is null not init ?", new Object[0]); + return false; + } + CrashStrategyBean localCrashStrategyBean = CrashReport.getCrashRuntimeStrategy(); + if (localCrashStrategyBean == null) + { + com.tencent.feedback.common.e.d("crash strategy null,not init?", new Object[0]); + return false; + } + paramString1 = com.tencent.feedback.eup.b.a(paramContext, localc.g(), localc.h(), localc.j(), localc.y(), paramString1, "main", "", "ANR_RQD_EXCEPTION", "", paramString2, paramLong, paramString3, null); + paramString1.a((byte)3); + boolean bool = com.tencent.feedback.eup.c.a(paramContext).a(paramString1, localCrashStrategyBean); + com.tencent.feedback.common.e.b("sha1:%s %d", new Object[] { paramString1.o(), Integer.valueOf(paramString1.m()) }); + com.tencent.feedback.common.e.b("handle anr %b", new Object[] { Boolean.valueOf(bool) }); + return bool; + } + + public static void uploadANRInfoAsync(Context paramContext, final int paramInt, final String paramString1, final String paramString2, final String paramString3, final long paramLong) + { + if ((paramInt <= 0) || (paramString1 == null) || (paramLong <= 0L)) + { + com.tencent.feedback.common.e.d("anr args unright pid, procName ,anrTime should not be null", new Object[0]); + return; + } + com.tencent.feedback.common.b.b().a(new Runnable() + { + public final void run() + { + ANRReport.uploadANRInfo(this.a, paramInt, paramString1, paramString2, paramString3, paramLong); + } + }); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.ANRReport + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/a.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/a.java new file mode 100755 index 00000000000..57432f62a08 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/a.java @@ -0,0 +1,462 @@ +package com.tencent.feedback.anr; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class a +{ + public String a = null; + public Map b = null; + public long c = -1L; + public String d = null; + public String e = null; + public String f = null; + + public static f a(String paramString1, String paramString2, boolean paramBoolean) + { + if ((paramString1 == null) || (paramString2 == null)) { + paramString1 = null; + } + f localf; + do + { + return paramString1; + localf = new f(); + a(paramString2, new d(localf, true)); + if ((localf.a <= 0L) || (localf.c <= 0L)) { + break; + } + paramString1 = localf; + } while (localf.b != null); + return null; + } + + public static f a(String paramString, boolean paramBoolean) + { + if (paramString == null) + { + com.tencent.feedback.common.e.d("path:%s", new Object[] { paramString }); + return null; + } + f localf = new f(); + a(paramString, new e(localf, false)); + if ((localf.a > 0L) && (localf.c > 0L) && (localf.b != null)) { + return localf; + } + com.tencent.feedback.common.e.d("first dump error %s", new Object[] { localf.a + " " + localf.c + " " + localf.b }); + return null; + } + + protected static String a(BufferedReader paramBufferedReader) + throws IOException + { + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < 3) + { + String str = paramBufferedReader.readLine(); + if (str == null) { + return null; + } + localStringBuffer.append(str + "\n"); + i += 1; + } + return localStringBuffer.toString(); + } + + /* Error */ + public static void a(String paramString, g paramg) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +7 -> 8 + // 4: aload_1 + // 5: ifnonnull +4 -> 9 + // 8: return + // 9: new 101 java/io/File + // 12: dup + // 13: aload_0 + // 14: invokespecial 104 java/io/File: (Ljava/lang/String;)V + // 17: astore 7 + // 19: aload 7 + // 21: invokevirtual 108 java/io/File:exists ()Z + // 24: ifeq -16 -> 8 + // 27: aload 7 + // 29: invokevirtual 112 java/io/File:lastModified ()J + // 32: pop2 + // 33: aload 7 + // 35: invokevirtual 115 java/io/File:length ()J + // 38: pop2 + // 39: aconst_null + // 40: astore_0 + // 41: new 87 java/io/BufferedReader + // 44: dup + // 45: new 117 java/io/FileReader + // 48: dup + // 49: aload 7 + // 51: invokespecial 120 java/io/FileReader: (Ljava/io/File;)V + // 54: invokespecial 123 java/io/BufferedReader: (Ljava/io/Reader;)V + // 57: astore 7 + // 59: ldc 125 + // 61: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 64: astore_0 + // 65: ldc 133 + // 67: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 70: astore 8 + // 72: ldc 135 + // 74: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 77: astore 9 + // 79: ldc 137 + // 81: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 84: astore 10 + // 86: new 139 java/text/SimpleDateFormat + // 89: dup + // 90: ldc 141 + // 92: getstatic 147 java/util/Locale:US Ljava/util/Locale; + // 95: invokespecial 150 java/text/SimpleDateFormat: (Ljava/lang/String;Ljava/util/Locale;)V + // 98: astore 11 + // 100: aload 7 + // 102: iconst_1 + // 103: anewarray 127 java/util/regex/Pattern + // 106: dup + // 107: iconst_0 + // 108: aload_0 + // 109: aastore + // 110: invokestatic 153 com/tencent/feedback/anr/a:a (Ljava/io/BufferedReader;[Ljava/util/regex/Pattern;)[Ljava/lang/Object; + // 113: astore 12 + // 115: aload 12 + // 117: ifnull +414 -> 531 + // 120: aload 12 + // 122: iconst_1 + // 123: aaload + // 124: invokevirtual 154 java/lang/Object:toString ()Ljava/lang/String; + // 127: ldc 156 + // 129: invokevirtual 162 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 132: astore 12 + // 134: aload 12 + // 136: iconst_2 + // 137: aaload + // 138: invokestatic 168 java/lang/Long:parseLong (Ljava/lang/String;)J + // 141: lstore_2 + // 142: aload 11 + // 144: new 65 java/lang/StringBuilder + // 147: dup + // 148: invokespecial 66 java/lang/StringBuilder: ()V + // 151: aload 12 + // 153: iconst_4 + // 154: aaload + // 155: invokevirtual 75 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 158: ldc 72 + // 160: invokevirtual 75 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 163: aload 12 + // 165: iconst_5 + // 166: aaload + // 167: invokevirtual 75 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 170: invokevirtual 79 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 173: invokevirtual 172 java/text/SimpleDateFormat:parse (Ljava/lang/String;)Ljava/util/Date; + // 176: invokevirtual 177 java/util/Date:getTime ()J + // 179: lstore 4 + // 181: aload 7 + // 183: iconst_1 + // 184: anewarray 127 java/util/regex/Pattern + // 187: dup + // 188: iconst_0 + // 189: aload 9 + // 191: aastore + // 192: invokestatic 153 com/tencent/feedback/anr/a:a (Ljava/io/BufferedReader;[Ljava/util/regex/Pattern;)[Ljava/lang/Object; + // 195: astore 12 + // 197: aload 12 + // 199: ifnonnull +22 -> 221 + // 202: aload 7 + // 204: invokevirtual 180 java/io/BufferedReader:close ()V + // 207: return + // 208: astore_0 + // 209: aload_0 + // 210: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 213: ifne -205 -> 8 + // 216: aload_0 + // 217: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 220: return + // 221: aload 9 + // 223: aload 12 + // 225: iconst_1 + // 226: aaload + // 227: invokevirtual 154 java/lang/Object:toString ()Ljava/lang/String; + // 230: invokevirtual 190 java/util/regex/Pattern:matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; + // 233: astore 12 + // 235: aload 12 + // 237: invokevirtual 195 java/util/regex/Matcher:find ()Z + // 240: pop + // 241: aload 12 + // 243: iconst_1 + // 244: invokevirtual 199 java/util/regex/Matcher:group (I)Ljava/lang/String; + // 247: pop + // 248: aload_1 + // 249: lload_2 + // 250: lload 4 + // 252: aload 12 + // 254: iconst_1 + // 255: invokevirtual 199 java/util/regex/Matcher:group (I)Ljava/lang/String; + // 258: invokeinterface 204 6 0 + // 263: istore 6 + // 265: iload 6 + // 267: ifne +22 -> 289 + // 270: aload 7 + // 272: invokevirtual 180 java/io/BufferedReader:close ()V + // 275: return + // 276: astore_0 + // 277: aload_0 + // 278: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 281: ifne -273 -> 8 + // 284: aload_0 + // 285: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 288: return + // 289: aload 7 + // 291: iconst_2 + // 292: anewarray 127 java/util/regex/Pattern + // 295: dup + // 296: iconst_0 + // 297: aload 10 + // 299: aastore + // 300: dup + // 301: iconst_1 + // 302: aload 8 + // 304: aastore + // 305: invokestatic 153 com/tencent/feedback/anr/a:a (Ljava/io/BufferedReader;[Ljava/util/regex/Pattern;)[Ljava/lang/Object; + // 308: astore 12 + // 310: aload 12 + // 312: ifnull -212 -> 100 + // 315: aload 12 + // 317: iconst_0 + // 318: aaload + // 319: aload 10 + // 321: if_acmpne +161 -> 482 + // 324: aload 12 + // 326: iconst_1 + // 327: aaload + // 328: invokevirtual 154 java/lang/Object:toString ()Ljava/lang/String; + // 331: astore 12 + // 333: ldc 206 + // 335: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 338: aload 12 + // 340: invokevirtual 190 java/util/regex/Pattern:matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; + // 343: astore 13 + // 345: aload 13 + // 347: invokevirtual 195 java/util/regex/Matcher:find ()Z + // 350: pop + // 351: aload 13 + // 353: invokevirtual 208 java/util/regex/Matcher:group ()Ljava/lang/String; + // 356: astore 13 + // 358: aload 13 + // 360: iconst_1 + // 361: aload 13 + // 363: invokevirtual 211 java/lang/String:length ()I + // 366: iconst_1 + // 367: isub + // 368: invokevirtual 215 java/lang/String:substring (II)Ljava/lang/String; + // 371: astore 13 + // 373: aload 12 + // 375: ldc 217 + // 377: invokevirtual 221 java/lang/String:contains (Ljava/lang/CharSequence;)Z + // 380: pop + // 381: ldc 223 + // 383: invokestatic 131 java/util/regex/Pattern:compile (Ljava/lang/String;)Ljava/util/regex/Pattern; + // 386: aload 12 + // 388: invokevirtual 190 java/util/regex/Pattern:matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; + // 391: astore 12 + // 393: aload 12 + // 395: invokevirtual 195 java/util/regex/Matcher:find ()Z + // 398: pop + // 399: aload 12 + // 401: invokevirtual 208 java/util/regex/Matcher:group ()Ljava/lang/String; + // 404: astore 12 + // 406: aload_1 + // 407: aload 13 + // 409: aload 12 + // 411: aload 12 + // 413: ldc 225 + // 415: invokevirtual 229 java/lang/String:indexOf (Ljava/lang/String;)I + // 418: iconst_1 + // 419: iadd + // 420: invokevirtual 231 java/lang/String:substring (I)Ljava/lang/String; + // 423: invokestatic 236 java/lang/Integer:parseInt (Ljava/lang/String;)I + // 426: aload 7 + // 428: invokestatic 238 com/tencent/feedback/anr/a:a (Ljava/io/BufferedReader;)Ljava/lang/String; + // 431: aload 7 + // 433: invokestatic 240 com/tencent/feedback/anr/a:b (Ljava/io/BufferedReader;)Ljava/lang/String; + // 436: invokeinterface 243 5 0 + // 441: pop + // 442: goto -153 -> 289 + // 445: astore_1 + // 446: aload 7 + // 448: astore_0 + // 449: aload_1 + // 450: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 453: ifne +7 -> 460 + // 456: aload_1 + // 457: invokevirtual 244 java/lang/Exception:printStackTrace ()V + // 460: aload_0 + // 461: ifnull -453 -> 8 + // 464: aload_0 + // 465: invokevirtual 180 java/io/BufferedReader:close ()V + // 468: return + // 469: astore_0 + // 470: aload_0 + // 471: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 474: ifne -466 -> 8 + // 477: aload_0 + // 478: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 481: return + // 482: aload_1 + // 483: aload 12 + // 485: iconst_1 + // 486: aaload + // 487: invokevirtual 154 java/lang/Object:toString ()Ljava/lang/String; + // 490: ldc 156 + // 492: invokevirtual 162 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 495: iconst_2 + // 496: aaload + // 497: invokestatic 168 java/lang/Long:parseLong (Ljava/lang/String;)J + // 500: invokeinterface 247 3 0 + // 505: istore 6 + // 507: iload 6 + // 509: ifne -409 -> 100 + // 512: aload 7 + // 514: invokevirtual 180 java/io/BufferedReader:close ()V + // 517: return + // 518: astore_0 + // 519: aload_0 + // 520: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 523: ifne -515 -> 8 + // 526: aload_0 + // 527: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 530: return + // 531: aload 7 + // 533: invokevirtual 180 java/io/BufferedReader:close ()V + // 536: return + // 537: astore_0 + // 538: aload_0 + // 539: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 542: ifne -534 -> 8 + // 545: aload_0 + // 546: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 549: return + // 550: astore_0 + // 551: aconst_null + // 552: astore_1 + // 553: aload_1 + // 554: ifnull +7 -> 561 + // 557: aload_1 + // 558: invokevirtual 180 java/io/BufferedReader:close ()V + // 561: aload_0 + // 562: athrow + // 563: astore_1 + // 564: aload_1 + // 565: invokestatic 183 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 568: ifne -7 -> 561 + // 571: aload_1 + // 572: invokevirtual 186 java/io/IOException:printStackTrace ()V + // 575: goto -14 -> 561 + // 578: astore_0 + // 579: aload 7 + // 581: astore_1 + // 582: goto -29 -> 553 + // 585: astore 7 + // 587: aload_0 + // 588: astore_1 + // 589: aload 7 + // 591: astore_0 + // 592: goto -39 -> 553 + // 595: astore_1 + // 596: goto -147 -> 449 + // Local variable table: + // start length slot name signature + // 0 599 0 paramString String + // 0 599 1 paramg g + // 141 109 2 l1 long + // 179 72 4 l2 long + // 263 245 6 bool boolean + // 17 563 7 localObject1 Object + // 585 5 7 localObject2 Object + // 70 233 8 localPattern1 Pattern + // 77 145 9 localPattern2 Pattern + // 84 236 10 localPattern3 Pattern + // 98 45 11 localSimpleDateFormat java.text.SimpleDateFormat + // 113 371 12 localObject3 Object + // 343 65 13 localObject4 Object + // Exception table: + // from to target type + // 202 207 208 java/io/IOException + // 270 275 276 java/io/IOException + // 59 100 445 java/lang/Exception + // 100 115 445 java/lang/Exception + // 120 197 445 java/lang/Exception + // 221 265 445 java/lang/Exception + // 289 310 445 java/lang/Exception + // 324 442 445 java/lang/Exception + // 482 507 445 java/lang/Exception + // 464 468 469 java/io/IOException + // 512 517 518 java/io/IOException + // 531 536 537 java/io/IOException + // 41 59 550 finally + // 557 561 563 java/io/IOException + // 59 100 578 finally + // 100 115 578 finally + // 120 197 578 finally + // 221 265 578 finally + // 289 310 578 finally + // 324 442 578 finally + // 482 507 578 finally + // 449 460 585 finally + // 41 59 595 java/lang/Exception + } + + protected static Object[] a(BufferedReader paramBufferedReader, Pattern... paramVarArgs) + throws IOException + { + if ((paramBufferedReader == null) || (paramVarArgs == null)) { + return null; + } + for (;;) + { + String str = paramBufferedReader.readLine(); + if (str == null) { + break; + } + int j = paramVarArgs.length; + int i = 0; + while (i < j) + { + Pattern localPattern = paramVarArgs[i]; + if (localPattern.matcher(str).matches()) { + return new Object[] { localPattern, str }; + } + i += 1; + } + } + } + + protected static String b(BufferedReader paramBufferedReader) + throws IOException + { + StringBuffer localStringBuffer = new StringBuffer(); + for (;;) + { + String str = paramBufferedReader.readLine(); + if ((str == null) || (str.trim().length() <= 0)) { + break; + } + localStringBuffer.append(str + "\n"); + } + return localStringBuffer.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/b.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/b.java new file mode 100755 index 00000000000..ebfc1d22c6a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/b.java @@ -0,0 +1,931 @@ +package com.tencent.feedback.anr; + +import android.app.ActivityManager; +import android.app.ActivityManager.ProcessErrorStateInfo; +import android.content.Context; +import com.tencent.feedback.eup.CrashStrategyBean; +import com.tencent.feedback.eup.jni.d; +import com.tencent.feedback.proguard.t; +import java.io.File; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +public final class b +{ + private static b d = null; + private AtomicInteger a = new AtomicInteger(0); + private long b = -1L; + private Context c; + + private b(Context paramContext) + { + this.c = paramContext; + long l = com.tencent.feedback.proguard.a.c(); + t.a(paramContext).a(new d(paramContext, paramContext.getFilesDir().getAbsolutePath() + "/eup", l - 604800L, 10, "tomb_", ".txt")); + } + + private static ActivityManager.ProcessErrorStateInfo a(Context paramContext, long paramLong) + { + if (10000L < 0L) + { + paramLong = 0L; + com.tencent.feedback.common.e.b("to find!", new Object[0]); + paramContext = (ActivityManager)paramContext.getSystemService("activity"); + paramLong /= 500L; + } + for (;;) + { + com.tencent.feedback.common.e.b("waiting!", new Object[0]); + Object localObject = paramContext.getProcessesInErrorState(); + if (localObject != null) + { + localObject = ((List)localObject).iterator(); + for (;;) + { + if (((Iterator)localObject).hasNext()) + { + ActivityManager.ProcessErrorStateInfo localProcessErrorStateInfo = (ActivityManager.ProcessErrorStateInfo)((Iterator)localObject).next(); + if (localProcessErrorStateInfo.condition == 2) + { + com.tencent.feedback.common.e.b("found!", new Object[0]); + return localProcessErrorStateInfo; + paramLong = 10000L; + break; + } + } + } + } + try + { + Thread.sleep(500L); + if (0L < paramLong) { + continue; + } + com.tencent.feedback.common.e.b("end!", new Object[0]); + return null; + } + catch (InterruptedException localInterruptedException) + { + for (;;) + { + if (!com.tencent.feedback.common.e.a(localInterruptedException)) { + localInterruptedException.printStackTrace(); + } + } + } + } + } + + public static b a(Context paramContext) + { + try + { + if (d == null) { + d = new b(paramContext); + } + paramContext = d; + return paramContext; + } + finally {} + } + + private static boolean a(Context paramContext, a parama, com.tencent.feedback.common.c paramc, CrashStrategyBean paramCrashStrategyBean) + { + if ((paramContext == null) || (parama == null) || (paramc == null) || (paramCrashStrategyBean == null)) + { + com.tencent.feedback.common.e.d("args error %s %s %s %s ", new Object[] { paramContext, parama, paramc, paramCrashStrategyBean }); + return true; + } + if ((parama.b == null) || (parama.b.get("main") == null)) + { + com.tencent.feedback.common.e.d("error can't get stacks of anr %s ,drop this anr error", new Object[] { parama.b }); + return false; + } + for (;;) + { + try + { + String str2 = (String)parama.b.get("main"); + int i = str2.indexOf("\n"); + if (i > 0) + { + str1 = str2.substring(0, i); + paramc = com.tencent.feedback.eup.b.a(paramContext, paramc.g(), paramc.h(), paramc.j(), paramc.x(), parama.a, "main", str1, "ANR_RQD_EXCEPTION", parama.f, str2, parama.c, parama.e, null); + paramc.C().putAll(parama.b); + paramc.a((byte)3); + paramc.h(parama.d); + boolean bool = com.tencent.feedback.eup.c.a(paramContext).a(paramc, paramCrashStrategyBean); + com.tencent.feedback.common.e.b("sha1:%s %d", new Object[] { paramc.o(), Integer.valueOf(paramc.m()) }); + com.tencent.feedback.common.e.b("handle anr %b", new Object[] { Boolean.valueOf(bool) }); + return bool; + } + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + com.tencent.feedback.common.e.d("recordANR error %s", new Object[] { paramContext.getClass().getName() + ":" + paramContext.getMessage() }); + return false; + } + String str1 = "unknown"; + } + } + + /* Error */ + private static boolean a(String paramString1, String paramString2, String paramString3) + { + // Byte code: + // 0: aload_2 + // 1: aload_0 + // 2: iconst_1 + // 3: invokestatic 295 com/tencent/feedback/anr/a:a (Ljava/lang/String;Ljava/lang/String;Z)Lcom/tencent/feedback/anr/f; + // 6: astore_3 + // 7: aload_3 + // 8: ifnull +22 -> 30 + // 11: aload_3 + // 12: getfield 299 com/tencent/feedback/anr/f:d Ljava/util/Map; + // 15: ifnull +15 -> 30 + // 18: aload_3 + // 19: getfield 299 com/tencent/feedback/anr/f:d Ljava/util/Map; + // 22: invokeinterface 302 1 0 + // 27: ifgt +20 -> 47 + // 30: ldc_w 304 + // 33: iconst_1 + // 34: anewarray 4 java/lang/Object + // 37: dup + // 38: iconst_0 + // 39: aload_2 + // 40: aastore + // 41: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 44: pop + // 45: iconst_0 + // 46: ireturn + // 47: new 57 java/io/File + // 50: dup + // 51: aload_1 + // 52: invokespecial 306 java/io/File: (Ljava/lang/String;)V + // 55: astore_2 + // 56: aload_2 + // 57: invokevirtual 309 java/io/File:exists ()Z + // 60: ifne +26 -> 86 + // 63: aload_2 + // 64: invokevirtual 312 java/io/File:getParentFile ()Ljava/io/File; + // 67: invokevirtual 309 java/io/File:exists ()Z + // 70: ifne +11 -> 81 + // 73: aload_2 + // 74: invokevirtual 312 java/io/File:getParentFile ()Ljava/io/File; + // 77: invokevirtual 315 java/io/File:mkdirs ()Z + // 80: pop + // 81: aload_2 + // 82: invokevirtual 318 java/io/File:createNewFile ()Z + // 85: pop + // 86: aload_2 + // 87: invokevirtual 309 java/io/File:exists ()Z + // 90: ifeq +10 -> 100 + // 93: aload_2 + // 94: invokevirtual 321 java/io/File:canWrite ()Z + // 97: ifne +85 -> 182 + // 100: ldc_w 323 + // 103: iconst_1 + // 104: anewarray 4 java/lang/Object + // 107: dup + // 108: iconst_0 + // 109: aload_1 + // 110: aastore + // 111: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 114: pop + // 115: iconst_0 + // 116: ireturn + // 117: astore_0 + // 118: aload_0 + // 119: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 122: ifne +7 -> 129 + // 125: aload_0 + // 126: invokevirtual 324 java/lang/Exception:printStackTrace ()V + // 129: ldc_w 326 + // 132: iconst_2 + // 133: anewarray 4 java/lang/Object + // 136: dup + // 137: iconst_0 + // 138: new 48 java/lang/StringBuilder + // 141: dup + // 142: invokespecial 49 java/lang/StringBuilder: ()V + // 145: aload_0 + // 146: invokevirtual 275 java/lang/Object:getClass ()Ljava/lang/Class; + // 149: invokevirtual 280 java/lang/Class:getName ()Ljava/lang/String; + // 152: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 155: ldc_w 282 + // 158: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 161: aload_0 + // 162: invokevirtual 327 java/lang/Exception:getMessage ()Ljava/lang/String; + // 165: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 168: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 171: aastore + // 172: dup + // 173: iconst_1 + // 174: aload_1 + // 175: aastore + // 176: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 179: pop + // 180: iconst_0 + // 181: ireturn + // 182: aconst_null + // 183: astore_0 + // 184: new 329 java/io/BufferedWriter + // 187: dup + // 188: new 331 java/io/FileWriter + // 191: dup + // 192: aload_2 + // 193: iconst_0 + // 194: invokespecial 334 java/io/FileWriter: (Ljava/io/File;Z)V + // 197: invokespecial 337 java/io/BufferedWriter: (Ljava/io/Writer;)V + // 200: astore_1 + // 201: aload_3 + // 202: getfield 299 com/tencent/feedback/anr/f:d Ljava/util/Map; + // 205: ldc 168 + // 207: invokeinterface 174 2 0 + // 212: checkcast 339 [Ljava/lang/String; + // 215: astore 4 + // 217: aload 4 + // 219: ifnull +77 -> 296 + // 222: aload 4 + // 224: arraylength + // 225: iconst_3 + // 226: if_icmplt +70 -> 296 + // 229: aload 4 + // 231: iconst_0 + // 232: aaload + // 233: astore_0 + // 234: aload 4 + // 236: iconst_1 + // 237: aaload + // 238: astore_2 + // 239: aload 4 + // 241: iconst_2 + // 242: aaload + // 243: astore 4 + // 245: aload_1 + // 246: new 48 java/lang/StringBuilder + // 249: dup + // 250: ldc_w 341 + // 253: invokespecial 342 java/lang/StringBuilder: (Ljava/lang/String;)V + // 256: aload 4 + // 258: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 261: ldc_w 344 + // 264: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 267: aload_0 + // 268: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 271: ldc 180 + // 273: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 276: aload_2 + // 277: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 280: ldc_w 346 + // 283: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 286: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 289: invokevirtual 349 java/io/BufferedWriter:write (Ljava/lang/String;)V + // 292: aload_1 + // 293: invokevirtual 352 java/io/BufferedWriter:flush ()V + // 296: aload_3 + // 297: getfield 299 com/tencent/feedback/anr/f:d Ljava/util/Map; + // 300: invokeinterface 356 1 0 + // 305: invokeinterface 359 1 0 + // 310: astore_0 + // 311: aload_0 + // 312: invokeinterface 122 1 0 + // 317: ifeq +237 -> 554 + // 320: aload_0 + // 321: invokeinterface 126 1 0 + // 326: checkcast 361 java/util/Map$Entry + // 329: astore_2 + // 330: aload_2 + // 331: invokeinterface 364 1 0 + // 336: checkcast 178 java/lang/String + // 339: ldc 168 + // 341: invokevirtual 368 java/lang/String:equals (Ljava/lang/Object;)Z + // 344: ifne -33 -> 311 + // 347: aload_2 + // 348: invokeinterface 371 1 0 + // 353: ifnull -42 -> 311 + // 356: aload_2 + // 357: invokeinterface 371 1 0 + // 362: checkcast 339 [Ljava/lang/String; + // 365: arraylength + // 366: iconst_3 + // 367: if_icmplt -56 -> 311 + // 370: aload_2 + // 371: invokeinterface 371 1 0 + // 376: checkcast 339 [Ljava/lang/String; + // 379: iconst_0 + // 380: aaload + // 381: astore_3 + // 382: aload_2 + // 383: invokeinterface 371 1 0 + // 388: checkcast 339 [Ljava/lang/String; + // 391: iconst_1 + // 392: aaload + // 393: astore 4 + // 395: aload_2 + // 396: invokeinterface 371 1 0 + // 401: checkcast 339 [Ljava/lang/String; + // 404: iconst_2 + // 405: aaload + // 406: astore 5 + // 408: aload_1 + // 409: new 48 java/lang/StringBuilder + // 412: dup + // 413: ldc_w 373 + // 416: invokespecial 342 java/lang/StringBuilder: (Ljava/lang/String;)V + // 419: aload_2 + // 420: invokeinterface 364 1 0 + // 425: checkcast 178 java/lang/String + // 428: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 431: ldc_w 375 + // 434: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 437: aload 5 + // 439: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 442: ldc_w 344 + // 445: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 448: aload_3 + // 449: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 452: ldc 180 + // 454: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 457: aload 4 + // 459: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 462: ldc_w 346 + // 465: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 468: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 471: invokevirtual 349 java/io/BufferedWriter:write (Ljava/lang/String;)V + // 474: aload_1 + // 475: invokevirtual 352 java/io/BufferedWriter:flush ()V + // 478: goto -167 -> 311 + // 481: astore_2 + // 482: aload_1 + // 483: astore_0 + // 484: aload_2 + // 485: astore_1 + // 486: aload_1 + // 487: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 490: ifne +7 -> 497 + // 493: aload_1 + // 494: invokevirtual 376 java/io/IOException:printStackTrace ()V + // 497: ldc_w 378 + // 500: iconst_1 + // 501: anewarray 4 java/lang/Object + // 504: dup + // 505: iconst_0 + // 506: new 48 java/lang/StringBuilder + // 509: dup + // 510: invokespecial 49 java/lang/StringBuilder: ()V + // 513: aload_1 + // 514: invokevirtual 275 java/lang/Object:getClass ()Ljava/lang/Class; + // 517: invokevirtual 280 java/lang/Class:getName ()Ljava/lang/String; + // 520: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 523: ldc_w 282 + // 526: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 529: aload_1 + // 530: invokevirtual 379 java/io/IOException:getMessage ()Ljava/lang/String; + // 533: invokevirtual 65 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 536: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 539: aastore + // 540: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 543: pop + // 544: aload_0 + // 545: ifnull +7 -> 552 + // 548: aload_0 + // 549: invokevirtual 382 java/io/BufferedWriter:close ()V + // 552: iconst_0 + // 553: ireturn + // 554: aload_1 + // 555: invokevirtual 382 java/io/BufferedWriter:close ()V + // 558: iconst_1 + // 559: ireturn + // 560: astore_0 + // 561: aload_0 + // 562: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 565: ifne -7 -> 558 + // 568: aload_0 + // 569: invokevirtual 376 java/io/IOException:printStackTrace ()V + // 572: goto -14 -> 558 + // 575: astore_0 + // 576: aload_0 + // 577: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 580: ifne -28 -> 552 + // 583: aload_0 + // 584: invokevirtual 376 java/io/IOException:printStackTrace ()V + // 587: goto -35 -> 552 + // 590: astore_0 + // 591: aconst_null + // 592: astore_1 + // 593: aload_1 + // 594: ifnull +7 -> 601 + // 597: aload_1 + // 598: invokevirtual 382 java/io/BufferedWriter:close ()V + // 601: aload_0 + // 602: athrow + // 603: astore_1 + // 604: aload_1 + // 605: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 608: ifne -7 -> 601 + // 611: aload_1 + // 612: invokevirtual 376 java/io/IOException:printStackTrace ()V + // 615: goto -14 -> 601 + // 618: astore_0 + // 619: goto -26 -> 593 + // 622: astore_2 + // 623: aload_0 + // 624: astore_1 + // 625: aload_2 + // 626: astore_0 + // 627: goto -34 -> 593 + // 630: astore_1 + // 631: goto -145 -> 486 + // Local variable table: + // start length slot name signature + // 0 634 0 paramString1 String + // 0 634 1 paramString2 String + // 0 634 2 paramString3 String + // 6 443 3 localObject1 Object + // 215 243 4 localObject2 Object + // 406 32 5 str String + // Exception table: + // from to target type + // 56 81 117 java/lang/Exception + // 81 86 117 java/lang/Exception + // 201 217 481 java/io/IOException + // 222 229 481 java/io/IOException + // 245 296 481 java/io/IOException + // 296 311 481 java/io/IOException + // 311 478 481 java/io/IOException + // 554 558 560 java/io/IOException + // 548 552 575 java/io/IOException + // 184 201 590 finally + // 597 601 603 java/io/IOException + // 201 217 618 finally + // 222 229 618 finally + // 245 296 618 finally + // 296 311 618 finally + // 311 478 618 finally + // 486 497 622 finally + // 497 544 622 finally + // 184 201 630 java/io/IOException + } + + /* Error */ + public final void a(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 6: invokevirtual 384 java/util/concurrent/atomic/AtomicInteger:get ()I + // 9: ifeq +17 -> 26 + // 12: ldc_w 386 + // 15: iconst_0 + // 16: anewarray 4 java/lang/Object + // 19: invokestatic 94 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 22: pop + // 23: aload_0 + // 24: monitorexit + // 25: return + // 26: aload_0 + // 27: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 30: iconst_1 + // 31: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 34: aload_0 + // 35: monitorexit + // 36: aload_0 + // 37: getfield 34 com/tencent/feedback/anr/b:c Landroid/content/Context; + // 40: invokestatic 392 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 43: astore 7 + // 45: aload 7 + // 47: ifnonnull +28 -> 75 + // 50: ldc_w 394 + // 53: iconst_0 + // 54: anewarray 4 java/lang/Object + // 57: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 60: pop + // 61: aload_0 + // 62: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 65: iconst_0 + // 66: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 69: return + // 70: astore_1 + // 71: aload_0 + // 72: monitorexit + // 73: aload_1 + // 74: athrow + // 75: invokestatic 400 com/tencent/feedback/eup/CrashReport:getCrashRuntimeStrategy ()Lcom/tencent/feedback/eup/CrashStrategyBean; + // 78: astore 8 + // 80: aload 8 + // 82: ifnull +12 -> 94 + // 85: invokestatic 406 com/tencent/feedback/eup/f:l ()Lcom/tencent/feedback/eup/f; + // 88: invokevirtual 408 com/tencent/feedback/eup/f:a ()Z + // 91: ifne +23 -> 114 + // 94: ldc_w 410 + // 97: iconst_0 + // 98: anewarray 4 java/lang/Object + // 101: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 104: pop + // 105: aload_0 + // 106: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 109: iconst_0 + // 110: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 113: return + // 114: ldc_w 412 + // 117: iconst_0 + // 118: anewarray 4 java/lang/Object + // 121: invokestatic 94 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 124: pop + // 125: aload_1 + // 126: iconst_0 + // 127: invokestatic 415 com/tencent/feedback/anr/a:a (Ljava/lang/String;Z)Lcom/tencent/feedback/anr/f; + // 130: astore 9 + // 132: aload 9 + // 134: ifnull +623 -> 757 + // 137: aload 9 + // 139: getfield 416 com/tencent/feedback/anr/f:c J + // 142: lstore_3 + // 143: lload_3 + // 144: lstore 5 + // 146: lload_3 + // 147: ldc2_w 29 + // 150: lcmp + // 151: ifne +26 -> 177 + // 154: ldc_w 418 + // 157: iconst_0 + // 158: anewarray 4 java/lang/Object + // 161: invokestatic 420 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 164: pop + // 165: new 422 java/util/Date + // 168: dup + // 169: invokespecial 423 java/util/Date: ()V + // 172: invokevirtual 426 java/util/Date:getTime ()J + // 175: lstore 5 + // 177: lload 5 + // 179: aload_0 + // 180: getfield 32 com/tencent/feedback/anr/b:b J + // 183: lsub + // 184: invokestatic 432 java/lang/Math:abs (J)J + // 187: ldc2_w 86 + // 190: lcmp + // 191: ifge +32 -> 223 + // 194: ldc_w 434 + // 197: iconst_1 + // 198: anewarray 4 java/lang/Object + // 201: dup + // 202: iconst_0 + // 203: sipush 10000 + // 206: invokestatic 261 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 209: aastore + // 210: invokestatic 420 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 213: pop + // 214: aload_0 + // 215: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 218: iconst_0 + // 219: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 222: return + // 223: aload_0 + // 224: lload 5 + // 226: putfield 32 com/tencent/feedback/anr/b:b J + // 229: aload_0 + // 230: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 233: iconst_1 + // 234: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 237: invokestatic 436 com/tencent/feedback/proguard/a:b ()Ljava/util/Map; + // 240: astore 10 + // 242: aload 10 + // 244: ifnull +13 -> 257 + // 247: aload 10 + // 249: invokeinterface 302 1 0 + // 254: ifgt +49 -> 303 + // 257: ldc_w 438 + // 260: iconst_0 + // 261: anewarray 4 java/lang/Object + // 264: invokestatic 420 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 267: pop + // 268: aload_0 + // 269: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 272: iconst_0 + // 273: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 276: return + // 277: astore_1 + // 278: aload_1 + // 279: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 282: pop + // 283: ldc_w 440 + // 286: iconst_0 + // 287: anewarray 4 java/lang/Object + // 290: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 293: pop + // 294: aload_0 + // 295: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 298: iconst_0 + // 299: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 302: return + // 303: aload_0 + // 304: getfield 34 com/tencent/feedback/anr/b:c Landroid/content/Context; + // 307: ldc2_w 86 + // 310: invokestatic 442 com/tencent/feedback/anr/b:a (Landroid/content/Context;J)Landroid/app/ActivityManager$ProcessErrorStateInfo; + // 313: astore 11 + // 315: aload 11 + // 317: ifnonnull +23 -> 340 + // 320: ldc_w 444 + // 323: iconst_0 + // 324: anewarray 4 java/lang/Object + // 327: invokestatic 94 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 330: pop + // 331: aload_0 + // 332: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 335: iconst_0 + // 336: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 339: return + // 340: aload 11 + // 342: getfield 447 android/app/ActivityManager$ProcessErrorStateInfo:pid I + // 345: invokestatic 452 android/os/Process:myPid ()I + // 348: if_icmpeq +31 -> 379 + // 351: ldc_w 454 + // 354: iconst_1 + // 355: anewarray 4 java/lang/Object + // 358: dup + // 359: iconst_0 + // 360: aload 11 + // 362: getfield 457 android/app/ActivityManager$ProcessErrorStateInfo:processName Ljava/lang/String; + // 365: aastore + // 366: invokestatic 94 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 369: pop + // 370: aload_0 + // 371: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 374: iconst_0 + // 375: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 378: return + // 379: ldc_w 459 + // 382: iconst_0 + // 383: anewarray 4 java/lang/Object + // 386: invokestatic 461 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 389: pop + // 390: new 57 java/io/File + // 393: dup + // 394: aload_0 + // 395: getfield 34 com/tencent/feedback/anr/b:c Landroid/content/Context; + // 398: invokevirtual 55 android/content/Context:getFilesDir ()Ljava/io/File; + // 401: new 48 java/lang/StringBuilder + // 404: dup + // 405: ldc_w 463 + // 408: invokespecial 342 java/lang/StringBuilder: (Ljava/lang/String;)V + // 411: lload 5 + // 413: invokevirtual 466 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 416: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 419: invokespecial 469 java/io/File: (Ljava/io/File;Ljava/lang/String;)V + // 422: astore 12 + // 424: new 163 com/tencent/feedback/anr/a + // 427: dup + // 428: invokespecial 470 com/tencent/feedback/anr/a: ()V + // 431: astore 9 + // 433: aload 9 + // 435: lload 5 + // 437: putfield 213 com/tencent/feedback/anr/a:c J + // 440: aload 9 + // 442: aload 12 + // 444: invokevirtual 61 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 447: putfield 235 com/tencent/feedback/anr/a:d Ljava/lang/String; + // 450: aload 9 + // 452: aload 11 + // 454: getfield 457 android/app/ActivityManager$ProcessErrorStateInfo:processName Ljava/lang/String; + // 457: putfield 206 com/tencent/feedback/anr/a:a Ljava/lang/String; + // 460: aload 9 + // 462: aload 11 + // 464: getfield 473 android/app/ActivityManager$ProcessErrorStateInfo:shortMsg Ljava/lang/String; + // 467: putfield 211 com/tencent/feedback/anr/a:f Ljava/lang/String; + // 470: aload 9 + // 472: aload 11 + // 474: getfield 476 android/app/ActivityManager$ProcessErrorStateInfo:longMsg Ljava/lang/String; + // 477: putfield 216 com/tencent/feedback/anr/a:e Ljava/lang/String; + // 480: aload 9 + // 482: aload 10 + // 484: putfield 166 com/tencent/feedback/anr/a:b Ljava/util/Map; + // 487: aload 9 + // 489: getfield 213 com/tencent/feedback/anr/a:c J + // 492: lstore_3 + // 493: aload 9 + // 495: getfield 235 com/tencent/feedback/anr/a:d Ljava/lang/String; + // 498: astore 10 + // 500: aload 9 + // 502: getfield 206 com/tencent/feedback/anr/a:a Ljava/lang/String; + // 505: astore 11 + // 507: aload 9 + // 509: getfield 211 com/tencent/feedback/anr/a:f Ljava/lang/String; + // 512: astore 12 + // 514: aload 9 + // 516: getfield 216 com/tencent/feedback/anr/a:e Ljava/lang/String; + // 519: astore 13 + // 521: aload 9 + // 523: getfield 166 com/tencent/feedback/anr/a:b Ljava/util/Map; + // 526: ifnonnull +87 -> 613 + // 529: iconst_0 + // 530: istore_2 + // 531: ldc_w 478 + // 534: bipush 6 + // 536: anewarray 4 java/lang/Object + // 539: dup + // 540: iconst_0 + // 541: lload_3 + // 542: invokestatic 483 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 545: aastore + // 546: dup + // 547: iconst_1 + // 548: aload 10 + // 550: aastore + // 551: dup + // 552: iconst_2 + // 553: aload 11 + // 555: aastore + // 556: dup + // 557: iconst_3 + // 558: aload 12 + // 560: aastore + // 561: dup + // 562: iconst_4 + // 563: aload 13 + // 565: aastore + // 566: dup + // 567: iconst_5 + // 568: iload_2 + // 569: invokestatic 261 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 572: aastore + // 573: invokestatic 94 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 576: pop + // 577: aload_0 + // 578: getfield 34 com/tencent/feedback/anr/b:c Landroid/content/Context; + // 581: aload 9 + // 583: aload 7 + // 585: aload 8 + // 587: invokestatic 485 com/tencent/feedback/anr/b:a (Landroid/content/Context;Lcom/tencent/feedback/anr/a;Lcom/tencent/feedback/common/c;Lcom/tencent/feedback/eup/CrashStrategyBean;)Z + // 590: ifne +37 -> 627 + // 593: ldc_w 487 + // 596: iconst_0 + // 597: anewarray 4 java/lang/Object + // 600: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 603: pop + // 604: aload_0 + // 605: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 608: iconst_0 + // 609: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 612: return + // 613: aload 9 + // 615: getfield 166 com/tencent/feedback/anr/a:b Ljava/util/Map; + // 618: invokeinterface 302 1 0 + // 623: istore_2 + // 624: goto -93 -> 531 + // 627: aload_0 + // 628: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 631: iconst_3 + // 632: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 635: aload_1 + // 636: aload 9 + // 638: getfield 235 com/tencent/feedback/anr/a:d Ljava/lang/String; + // 641: aload 9 + // 643: getfield 206 com/tencent/feedback/anr/a:a Ljava/lang/String; + // 646: invokestatic 489 com/tencent/feedback/anr/b:a (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z + // 649: ifne +27 -> 676 + // 652: ldc_w 491 + // 655: iconst_1 + // 656: anewarray 4 java/lang/Object + // 659: dup + // 660: iconst_0 + // 661: aload_1 + // 662: aastore + // 663: invokestatic 420 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 666: pop + // 667: aload_0 + // 668: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 671: iconst_0 + // 672: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 675: return + // 676: ldc_w 493 + // 679: iconst_1 + // 680: anewarray 4 java/lang/Object + // 683: dup + // 684: iconst_0 + // 685: aload 9 + // 687: getfield 235 com/tencent/feedback/anr/a:d Ljava/lang/String; + // 690: aastore + // 691: invokestatic 461 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 694: pop + // 695: aload_0 + // 696: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 699: iconst_0 + // 700: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 703: return + // 704: astore_1 + // 705: aload_1 + // 706: invokestatic 145 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 709: ifne +7 -> 716 + // 712: aload_1 + // 713: invokevirtual 269 java/lang/Throwable:printStackTrace ()V + // 716: ldc_w 495 + // 719: iconst_1 + // 720: anewarray 4 java/lang/Object + // 723: dup + // 724: iconst_0 + // 725: aload_1 + // 726: invokevirtual 275 java/lang/Object:getClass ()Ljava/lang/Class; + // 729: invokevirtual 496 java/lang/Class:toString ()Ljava/lang/String; + // 732: aastore + // 733: invokestatic 161 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 736: pop + // 737: aload_0 + // 738: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 741: iconst_0 + // 742: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 745: return + // 746: astore_1 + // 747: aload_0 + // 748: getfield 28 com/tencent/feedback/anr/b:a Ljava/util/concurrent/atomic/AtomicInteger; + // 751: iconst_0 + // 752: invokevirtual 389 java/util/concurrent/atomic/AtomicInteger:set (I)V + // 755: aload_1 + // 756: athrow + // 757: ldc2_w 29 + // 760: lstore_3 + // 761: goto -618 -> 143 + // Local variable table: + // start length slot name signature + // 0 764 0 this b + // 0 764 1 paramString String + // 530 94 2 i int + // 142 619 3 l1 long + // 144 292 5 l2 long + // 43 541 7 localc com.tencent.feedback.common.c + // 78 508 8 localCrashStrategyBean CrashStrategyBean + // 130 556 9 localObject1 Object + // 240 309 10 localObject2 Object + // 313 241 11 localObject3 Object + // 422 137 12 localObject4 Object + // 519 45 13 str String + // Exception table: + // from to target type + // 2 25 70 finally + // 26 36 70 finally + // 237 242 277 java/lang/Throwable + // 36 45 704 java/lang/Throwable + // 50 61 704 java/lang/Throwable + // 75 80 704 java/lang/Throwable + // 85 94 704 java/lang/Throwable + // 94 105 704 java/lang/Throwable + // 114 132 704 java/lang/Throwable + // 137 143 704 java/lang/Throwable + // 154 177 704 java/lang/Throwable + // 177 214 704 java/lang/Throwable + // 223 237 704 java/lang/Throwable + // 247 257 704 java/lang/Throwable + // 257 268 704 java/lang/Throwable + // 278 294 704 java/lang/Throwable + // 303 315 704 java/lang/Throwable + // 320 331 704 java/lang/Throwable + // 340 370 704 java/lang/Throwable + // 379 529 704 java/lang/Throwable + // 531 604 704 java/lang/Throwable + // 613 624 704 java/lang/Throwable + // 627 667 704 java/lang/Throwable + // 676 695 704 java/lang/Throwable + // 36 45 746 finally + // 50 61 746 finally + // 75 80 746 finally + // 85 94 746 finally + // 94 105 746 finally + // 114 132 746 finally + // 137 143 746 finally + // 154 177 746 finally + // 177 214 746 finally + // 223 237 746 finally + // 237 242 746 finally + // 247 257 746 finally + // 257 268 746 finally + // 278 294 746 finally + // 303 315 746 finally + // 320 331 746 finally + // 340 370 746 finally + // 379 529 746 finally + // 531 604 746 finally + // 613 624 746 finally + // 627 667 746 finally + // 676 695 746 finally + // 705 716 746 finally + // 716 737 746 finally + } + + public final boolean a() + { + return this.a.get() != 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/c.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/c.java new file mode 100755 index 00000000000..484f3e12bc8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/c.java @@ -0,0 +1,125 @@ +package com.tencent.feedback.anr; + +import android.content.Context; +import android.os.FileObserver; +import android.os.Process; +import com.tencent.feedback.common.e; +import com.tencent.feedback.eup.CrashReport; +import com.tencent.feedback.eup.CrashStrategyBean; + +public class c + extends FileObserver +{ + private static c b = null; + private Context a; + + private c(Context paramContext) + { + super("/data/anr/", 8); + com.tencent.feedback.common.c.a(paramContext).E(); + Process.myPid(); + if (paramContext == null) {} + for (;;) + { + this.a = paramContext; + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + /* Error */ + public static c a(Context paramContext) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 12 com/tencent/feedback/anr/c:b Lcom/tencent/feedback/anr/c; + // 6: ifnonnull +18 -> 24 + // 9: aload_0 + // 10: ifnonnull +23 -> 33 + // 13: new 2 com/tencent/feedback/anr/c + // 16: dup + // 17: aload_0 + // 18: invokespecial 46 com/tencent/feedback/anr/c: (Landroid/content/Context;)V + // 21: putstatic 12 com/tencent/feedback/anr/c:b Lcom/tencent/feedback/anr/c; + // 24: getstatic 12 com/tencent/feedback/anr/c:b Lcom/tencent/feedback/anr/c; + // 27: astore_0 + // 28: ldc 2 + // 30: monitorexit + // 31: aload_0 + // 32: areturn + // 33: aload_0 + // 34: invokevirtual 43 android/content/Context:getApplicationContext ()Landroid/content/Context; + // 37: astore_1 + // 38: aload_1 + // 39: ifnull -26 -> 13 + // 42: aload_1 + // 43: astore_0 + // 44: goto -31 -> 13 + // 47: astore_0 + // 48: ldc 2 + // 50: monitorexit + // 51: aload_0 + // 52: athrow + // Local variable table: + // start length slot name signature + // 0 53 0 paramContext Context + // 37 6 1 localContext Context + // Exception table: + // from to target type + // 3 9 47 finally + // 13 24 47 finally + // 24 28 47 finally + // 33 38 47 finally + } + + public void onEvent(int paramInt, String paramString) + { + e.c("received event %d %s", new Object[] { Integer.valueOf(paramInt), paramString }); + paramString = "/data/anr/" + paramString; + if (!paramString.contains("trace")) + { + e.c("not anr file %s", new Object[] { paramString }); + return; + } + CrashStrategyBean localCrashStrategyBean = CrashReport.getCrashRuntimeStrategy(); + if (localCrashStrategyBean == null) + { + e.d("magic! no crash stategy,no anr return ?", new Object[0]); + return; + } + if (!localCrashStrategyBean.isOpenANR()) + { + e.a("close anr!", new Object[0]); + return; + } + b.a(this.a).a(paramString); + } + + public void startWatching() + { + super.startWatching(); + e.a("start watching", new Object[0]); + } + + public void stopWatching() + { + try + { + b = null; + super.stopWatching(); + e.a("stop watching", new Object[0]); + return; + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/d.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/d.java new file mode 100755 index 00000000000..321cbd73e25 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/d.java @@ -0,0 +1,54 @@ +package com.tencent.feedback.anr; + +import com.tencent.feedback.common.e; +import java.util.HashMap; +import java.util.Map; + +final class d + implements g +{ + d(f paramf, boolean paramBoolean) {} + + public final boolean a(long paramLong) + { + boolean bool = false; + e.b("process end %d", new Object[] { Long.valueOf(paramLong) }); + if ((this.a.a <= 0L) || (this.a.c <= 0L) || (this.a.b == null)) { + bool = true; + } + return bool; + } + + public final boolean a(long paramLong1, long paramLong2, String paramString) + { + e.b("new process %s", new Object[] { paramString }); + if (!paramString.equals(paramString)) {} + do + { + return true; + this.a.a = paramLong1; + this.a.b = paramString; + this.a.c = paramLong2; + } while (this.b); + return false; + } + + public final boolean a(String paramString1, int paramInt, String paramString2, String paramString3) + { + e.b("new thread %s", new Object[] { paramString1 }); + if ((this.a.a <= 0L) || (this.a.c <= 0L) || (this.a.b == null)) { + return true; + } + if (this.a.d == null) { + this.a.d = new HashMap(); + } + this.a.d.put(paramString1, new String[] { paramString2, paramString3, paramInt }); + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/e.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/e.java new file mode 100755 index 00000000000..d27f649a96b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/e.java @@ -0,0 +1,41 @@ +package com.tencent.feedback.anr; + +import java.util.HashMap; +import java.util.Map; + +final class e + implements g +{ + e(f paramf, boolean paramBoolean) {} + + public final boolean a(long paramLong) + { + com.tencent.feedback.common.e.b("process end %d", new Object[] { Long.valueOf(paramLong) }); + return false; + } + + public final boolean a(long paramLong1, long paramLong2, String paramString) + { + com.tencent.feedback.common.e.b("new process %s", new Object[] { paramString }); + this.a.a = paramLong1; + this.a.b = paramString; + this.a.c = paramLong2; + return this.b; + } + + public final boolean a(String paramString1, int paramInt, String paramString2, String paramString3) + { + com.tencent.feedback.common.e.b("new thread %s", new Object[] { paramString1 }); + if (this.a.d == null) { + this.a.d = new HashMap(); + } + this.a.d.put(paramString1, new String[] { paramString2, paramString3, paramInt }); + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/f.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/f.java new file mode 100755 index 00000000000..f16899232ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/f.java @@ -0,0 +1,17 @@ +package com.tencent.feedback.anr; + +import java.util.Map; + +public final class f +{ + public long a; + public String b; + public long c; + public Map d; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/anr/g.java b/com.tencent.token/classes.jar/com/tencent/feedback/anr/g.java new file mode 100755 index 00000000000..5341042f590 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/anr/g.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.anr; + +public abstract interface g +{ + public abstract boolean a(long paramLong); + + public abstract boolean a(long paramLong1, long paramLong2, String paramString); + + public abstract boolean a(String paramString1, int paramInt, String paramString2, String paramString3); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.anr.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/PlugInInfo.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/PlugInInfo.java new file mode 100755 index 00000000000..45963a2bb88 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/PlugInInfo.java @@ -0,0 +1,53 @@ +package com.tencent.feedback.common; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.io.Serializable; + +public class PlugInInfo + implements Parcelable, Serializable +{ + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {}; + private static final long serialVersionUID = 1L; + public final String plugInId; + public final String plugInUUID; + public final String plugInVersion; + + public PlugInInfo(Parcel paramParcel) + { + this.plugInId = paramParcel.readString(); + this.plugInVersion = paramParcel.readString(); + this.plugInUUID = paramParcel.readString(); + } + + public PlugInInfo(String paramString1, String paramString2, String paramString3) + { + this.plugInId = paramString1; + this.plugInVersion = paramString2; + this.plugInUUID = paramString3; + } + + public int describeContents() + { + return 0; + } + + public String toString() + { + return "plid:" + this.plugInId + " plV:" + this.plugInVersion + " plUUID:" + this.plugInUUID; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeString(this.plugInId); + paramParcel.writeString(this.plugInVersion); + paramParcel.writeString(this.plugInUUID); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.PlugInInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/a.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/a.java new file mode 100755 index 00000000000..f7a0bb95daf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/a.java @@ -0,0 +1,558 @@ +package com.tencent.feedback.common; + +import android.app.ActivityManager; +import android.app.ActivityManager.MemoryInfo; +import android.app.ActivityManager.RunningAppProcessInfo; +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.os.Bundle; +import android.os.Process; +import android.util.Log; +import java.util.Iterator; +import java.util.List; + +public final class a +{ + private static String a = null; + private static Boolean b = null; + private static Boolean c = null; + private static boolean d = false; + private static ActivityManager e; + + /* Error */ + public static String a(int paramInt) + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: new 29 java/io/FileReader + // 5: dup + // 6: new 31 java/lang/StringBuilder + // 9: dup + // 10: ldc 33 + // 12: invokespecial 37 java/lang/StringBuilder: (Ljava/lang/String;)V + // 15: iload_0 + // 16: invokevirtual 41 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 19: ldc 43 + // 21: invokevirtual 46 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 24: invokevirtual 50 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 27: invokespecial 51 java/io/FileReader: (Ljava/lang/String;)V + // 30: astore_3 + // 31: aload_3 + // 32: astore_2 + // 33: sipush 128 + // 36: newarray char + // 38: astore 4 + // 40: aload_3 + // 41: astore_2 + // 42: aload_3 + // 43: aload 4 + // 45: invokevirtual 55 java/io/FileReader:read ([C)I + // 48: pop + // 49: aload_3 + // 50: astore_2 + // 51: iload_1 + // 52: aload 4 + // 54: arraylength + // 55: if_icmpge +17 -> 72 + // 58: aload 4 + // 60: iload_1 + // 61: caload + // 62: ifeq +10 -> 72 + // 65: iload_1 + // 66: iconst_1 + // 67: iadd + // 68: istore_1 + // 69: goto -20 -> 49 + // 72: aload_3 + // 73: astore_2 + // 74: new 57 java/lang/String + // 77: dup + // 78: aload 4 + // 80: invokespecial 60 java/lang/String: ([C)V + // 83: iconst_0 + // 84: iload_1 + // 85: invokevirtual 64 java/lang/String:substring (II)Ljava/lang/String; + // 88: astore 4 + // 90: aload 4 + // 92: astore_2 + // 93: aload_3 + // 94: invokevirtual 67 java/io/FileReader:close ()V + // 97: aload_2 + // 98: areturn + // 99: astore 4 + // 101: aconst_null + // 102: astore_3 + // 103: aload_3 + // 104: astore_2 + // 105: aload 4 + // 107: invokestatic 72 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 110: ifne +10 -> 120 + // 113: aload_3 + // 114: astore_2 + // 115: aload 4 + // 117: invokevirtual 75 java/lang/Throwable:printStackTrace ()V + // 120: iload_0 + // 121: invokestatic 78 java/lang/String:valueOf (I)Ljava/lang/String; + // 124: astore 4 + // 126: aload 4 + // 128: astore_2 + // 129: aload_3 + // 130: ifnull -33 -> 97 + // 133: aload_3 + // 134: invokevirtual 67 java/io/FileReader:close ()V + // 137: aload 4 + // 139: areturn + // 140: astore_2 + // 141: aload 4 + // 143: areturn + // 144: astore_3 + // 145: aconst_null + // 146: astore_2 + // 147: aload_2 + // 148: ifnull +7 -> 155 + // 151: aload_2 + // 152: invokevirtual 67 java/io/FileReader:close ()V + // 155: aload_3 + // 156: athrow + // 157: astore_3 + // 158: aload_2 + // 159: areturn + // 160: astore_2 + // 161: goto -6 -> 155 + // 164: astore_3 + // 165: goto -18 -> 147 + // 168: astore 4 + // 170: goto -67 -> 103 + // Local variable table: + // start length slot name signature + // 0 173 0 paramInt int + // 1 84 1 i int + // 32 97 2 localObject1 Object + // 140 1 2 localThrowable1 Throwable + // 146 13 2 str1 String + // 160 1 2 localThrowable2 Throwable + // 30 104 3 localFileReader java.io.FileReader + // 144 12 3 localObject2 Object + // 157 1 3 localThrowable3 Throwable + // 164 1 3 localObject3 Object + // 38 53 4 localObject4 Object + // 99 17 4 localThrowable4 Throwable + // 124 18 4 str2 String + // 168 1 4 localThrowable5 Throwable + // Exception table: + // from to target type + // 2 31 99 java/lang/Throwable + // 133 137 140 java/lang/Throwable + // 2 31 144 finally + // 93 97 157 java/lang/Throwable + // 151 155 160 java/lang/Throwable + // 33 40 164 finally + // 42 49 164 finally + // 51 58 164 finally + // 74 90 164 finally + // 105 113 164 finally + // 115 120 164 finally + // 33 40 168 java/lang/Throwable + // 42 49 168 java/lang/Throwable + // 51 58 168 java/lang/Throwable + // 74 90 168 java/lang/Throwable + } + + public static String a(Context paramContext) + { + if (paramContext == null) { + return ""; + } + try + { + paramContext = paramContext.getPackageManager().getApplicationInfo(paramContext.getPackageName(), 128).metaData.get("APPKEY_DENGTA"); + if (paramContext != null) + { + paramContext = paramContext.toString(); + return paramContext; + } + } + catch (Throwable paramContext) + { + e.a("rqdp{ no appkey !!}", new Object[0]); + } + return ""; + } + + public static String a(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null)) {} + do + { + for (;;) + { + return null; + try + { + paramContext = paramContext.getPackageManager().getApplicationInfo(paramString, 0); + if (paramContext != null) + { + paramContext = paramContext.sourceDir; + return paramContext; + } + } + catch (Throwable paramContext) {} + } + } while (e.a(paramContext)); + paramContext.printStackTrace(); + return null; + } + + public static String b(Context paramContext) + { + if (paramContext == null) { + return null; + } + return paramContext.getPackageName(); + } + + public static boolean b(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null) || (paramString.trim().length() <= 0)) { + return false; + } + try + { + paramContext = ((ActivityManager)paramContext.getSystemService("activity")).getRunningAppProcesses(); + if ((paramContext == null) || (paramContext.size() == 0)) + { + e.b("rqdp{ no running proc}", new Object[0]); + return false; + } + paramContext = paramContext.iterator(); + while (paramContext.hasNext()) + { + ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)paramContext.next(); + if (localRunningAppProcessInfo.importance == 100) + { + String[] arrayOfString = localRunningAppProcessInfo.pkgList; + int j = arrayOfString.length; + int i = 0; + while (i < j) + { + if (paramString.equals(arrayOfString[i])) + { + e.b("rqdp{ current seen pn:}%s", new Object[] { localRunningAppProcessInfo.processName }); + return true; + } + i += 1; + } + } + } + return false; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + e.b("rqdp{ current unseen pn:}%s", new Object[] { paramString }); + } + } + + public static String c(Context paramContext) + { + int j = 0; + Object localObject; + if (paramContext == null) { + localObject = null; + } + int i; + for (;;) + { + try + { + localObject = paramContext.getPackageManager().getPackageInfo((String)localObject, 0); + paramContext = ((PackageInfo)localObject).versionName; + m = ((PackageInfo)localObject).versionCode; + if ((paramContext != null) && (paramContext.trim().length() > 0)) { + continue; + } + paramContext = ""; + } + catch (Throwable paramContext) + { + int m; + if (e.a(paramContext)) { + continue; + } + paramContext.printStackTrace(); + paramContext = null; + continue; + } + finally {} + return paramContext; + localObject = paramContext.getPackageName(); + continue; + localObject = paramContext.toCharArray(); + i = 0; + } + for (;;) + { + int k; + if (i < localObject.length) + { + k = j; + if (localObject[i] == '.') { + k = j + 1; + } + } + else + { + if (j < 3) { + paramContext = paramContext + "." + m; + } + for (;;) + { + e.a("rqdp{ version:} %s", new Object[] { paramContext }); + break; + } + } + i += 1; + j = k; + } + } + + private static boolean c(Context paramContext, String paramString) + { + e.b("rqdp{ AppInfo.isContainReadLogPermission() start}", new Object[0]); + if ((paramContext == null) || (paramString == null) || (paramString.trim().length() <= 0)) { + return false; + } + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramContext.getPackageName(), 4096).requestedPermissions; + if (paramContext != null) + { + int j = paramContext.length; + int i = 0; + while (i < j) + { + boolean bool = paramString.equals(paramContext[i]); + if (bool) { + return true; + } + i += 1; + } + } + return false; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + return false; + } + finally + { + e.b("rqdp{ AppInfo.isContainReadLogPermission() end}", new Object[0]); + } + } + + public static String d(Context paramContext) + { + e.b("rqdp{AppInfo.getUUID() Start}", new Object[0]); + if (paramContext == null) + { + e.d("context == null", new Object[0]); + return ""; + } + for (;;) + { + try + { + paramContext = paramContext.getPackageManager().getApplicationInfo(paramContext.getPackageName(), 128); + if ((paramContext == null) || (paramContext.metaData == null)) + { + e.d("appInfo == null || appInfo.metaData == null", new Object[0]); + return ""; + } + paramContext = paramContext.metaData.get("com.tencent.rdm.uuid"); + if (paramContext != null) + { + paramContext = paramContext.toString(); + Log.d("rqdp{ RDMUUID }:%s", paramContext); + return paramContext; + } + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + e.d(paramContext.toString(), new Object[0]); + return ""; + } + paramContext = ""; + } + } + + /* Error */ + public static boolean e(Context paramContext) + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: ldc 2 + // 4: monitorenter + // 5: ldc 233 + // 7: iconst_0 + // 8: anewarray 4 java/lang/Object + // 11: invokestatic 148 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 14: pop + // 15: aload_0 + // 16: ifnonnull +8 -> 24 + // 19: ldc 2 + // 21: monitorexit + // 22: iload_1 + // 23: ireturn + // 24: getstatic 19 com/tencent/feedback/common/a:b Ljava/lang/Boolean; + // 27: ifnonnull +15 -> 42 + // 30: aload_0 + // 31: ldc 235 + // 33: invokestatic 237 com/tencent/feedback/common/a:c (Landroid/content/Context;Ljava/lang/String;)Z + // 36: invokestatic 242 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 39: putstatic 19 com/tencent/feedback/common/a:b Ljava/lang/Boolean; + // 42: getstatic 19 com/tencent/feedback/common/a:b Ljava/lang/Boolean; + // 45: invokevirtual 245 java/lang/Boolean:booleanValue ()Z + // 48: istore_1 + // 49: goto -30 -> 19 + // 52: astore_0 + // 53: ldc 2 + // 55: monitorexit + // 56: aload_0 + // 57: athrow + // Local variable table: + // start length slot name signature + // 0 58 0 paramContext Context + // 1 48 1 bool boolean + // Exception table: + // from to target type + // 5 15 52 finally + // 24 42 52 finally + // 42 49 52 finally + } + + /* Error */ + public static boolean f(Context paramContext) + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: ldc 2 + // 4: monitorenter + // 5: ldc 248 + // 7: iconst_0 + // 8: anewarray 4 java/lang/Object + // 11: invokestatic 148 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 14: pop + // 15: aload_0 + // 16: ifnonnull +8 -> 24 + // 19: ldc 2 + // 21: monitorexit + // 22: iload_1 + // 23: ireturn + // 24: getstatic 21 com/tencent/feedback/common/a:c Ljava/lang/Boolean; + // 27: ifnonnull +15 -> 42 + // 30: aload_0 + // 31: ldc 250 + // 33: invokestatic 237 com/tencent/feedback/common/a:c (Landroid/content/Context;Ljava/lang/String;)Z + // 36: invokestatic 242 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 39: putstatic 21 com/tencent/feedback/common/a:c Ljava/lang/Boolean; + // 42: getstatic 21 com/tencent/feedback/common/a:c Ljava/lang/Boolean; + // 45: invokevirtual 245 java/lang/Boolean:booleanValue ()Z + // 48: istore_1 + // 49: goto -30 -> 19 + // 52: astore_0 + // 53: ldc 2 + // 55: monitorexit + // 56: aload_0 + // 57: athrow + // Local variable table: + // start length slot name signature + // 0 58 0 paramContext Context + // 1 48 1 bool boolean + // Exception table: + // from to target type + // 5 15 52 finally + // 24 42 52 finally + // 42 49 52 finally + } + + public static boolean g(Context paramContext) + { + return b(paramContext, paramContext.getPackageName()); + } + + public static String h(Context paramContext) + { + if (paramContext == null) { + return null; + } + paramContext = a(paramContext, paramContext.getPackageName()); + if (paramContext == null) + { + e.d("rqdp{ No found the apk file on the device,please check it!}", new Object[0]); + return null; + } + return com.tencent.feedback.proguard.a.b(paramContext); + } + + public static String i(Context paramContext) + { + int i = -1; + try + { + int j = Process.myPid(); + i = j; + paramContext = a(j); + return paramContext; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return i + ":" + paramContext.getClass().getName() + ":" + paramContext.getMessage(); + } + + public static boolean j(Context paramContext) + { + if (paramContext == null) { + return false; + } + if (e == null) { + e = (ActivityManager)paramContext.getSystemService("activity"); + } + try + { + paramContext = new ActivityManager.MemoryInfo(); + e.getMemoryInfo(paramContext); + boolean bool = paramContext.lowMemory; + return bool; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/b.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/b.java new file mode 100755 index 00000000000..3f5e7a31249 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/b.java @@ -0,0 +1,235 @@ +package com.tencent.feedback.common; + +import android.util.SparseArray; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +public abstract class b +{ + private static b a; + + public static b a(ScheduledExecutorService paramScheduledExecutorService) + { + return new a(paramScheduledExecutorService); + } + + public static void a(b paramb) + { + try + { + e.a("rqdp{ AsyncTaskHandlerAbs setInstance} " + paramb, new Object[0]); + if ((a != null) && (a != paramb)) { + a.a(); + } + a = paramb; + e.a("rqdp{ AsyncTaskHandlerAbs setInstance end}", new Object[0]); + return; + } + finally {} + } + + public static b b() + { + try + { + if (a == null) { + a = new a(); + } + b localb = a; + return localb; + } + finally {} + } + + public abstract boolean a(); + + public abstract boolean a(Runnable paramRunnable); + + public abstract boolean a(Runnable paramRunnable, long paramLong); + + static final class a + extends b + { + private ScheduledExecutorService a = null; + private SparseArray> b = null; + + public a() + { + this(Executors.newScheduledThreadPool(3)); + } + + public a(ScheduledExecutorService paramScheduledExecutorService) + { + if ((paramScheduledExecutorService == null) || (paramScheduledExecutorService.isShutdown())) { + throw new IllegalArgumentException("ScheduledExecutorService is not valiable!"); + } + this.a = paramScheduledExecutorService; + this.b = new SparseArray(); + } + + /* Error */ + private boolean c() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 25 com/tencent/feedback/common/b$a:a Ljava/util/concurrent/ScheduledExecutorService; + // 6: ifnull +23 -> 29 + // 9: aload_0 + // 10: getfield 25 com/tencent/feedback/common/b$a:a Ljava/util/concurrent/ScheduledExecutorService; + // 13: invokeinterface 33 1 0 + // 18: istore_1 + // 19: iload_1 + // 20: ifne +9 -> 29 + // 23: iconst_1 + // 24: istore_1 + // 25: aload_0 + // 26: monitorexit + // 27: iload_1 + // 28: ireturn + // 29: iconst_0 + // 30: istore_1 + // 31: goto -6 -> 25 + // 34: astore_2 + // 35: aload_0 + // 36: monitorexit + // 37: aload_2 + // 38: athrow + // Local variable table: + // start length slot name signature + // 0 39 0 this a + // 18 13 1 bool boolean + // 34 4 2 localObject Object + // Exception table: + // from to target type + // 2 19 34 finally + } + + /* Error */ + public final boolean a() + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: aload_0 + // 3: monitorenter + // 4: ldc 46 + // 6: iconst_0 + // 7: anewarray 48 java/lang/Object + // 10: invokestatic 53 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 13: pop + // 14: aload_0 + // 15: invokespecial 55 com/tencent/feedback/common/b$a:c ()Z + // 18: ifne +17 -> 35 + // 21: ldc 57 + // 23: iconst_0 + // 24: anewarray 48 java/lang/Object + // 27: invokestatic 60 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 30: pop + // 31: aload_0 + // 32: monitorexit + // 33: iload_1 + // 34: ireturn + // 35: ldc 62 + // 37: iconst_0 + // 38: anewarray 48 java/lang/Object + // 41: invokestatic 64 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 44: pop + // 45: aload_0 + // 46: getfield 25 com/tencent/feedback/common/b$a:a Ljava/util/concurrent/ScheduledExecutorService; + // 49: invokeinterface 67 1 0 + // 54: aload_0 + // 55: aconst_null + // 56: putfield 25 com/tencent/feedback/common/b$a:a Ljava/util/concurrent/ScheduledExecutorService; + // 59: aload_0 + // 60: getfield 27 com/tencent/feedback/common/b$a:b Landroid/util/SparseArray; + // 63: invokevirtual 70 android/util/SparseArray:clear ()V + // 66: aload_0 + // 67: aconst_null + // 68: putfield 27 com/tencent/feedback/common/b$a:b Landroid/util/SparseArray; + // 71: ldc 72 + // 73: iconst_0 + // 74: anewarray 48 java/lang/Object + // 77: invokestatic 53 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 80: pop + // 81: iconst_1 + // 82: istore_1 + // 83: goto -52 -> 31 + // 86: astore_2 + // 87: aload_0 + // 88: monitorexit + // 89: aload_2 + // 90: athrow + // Local variable table: + // start length slot name signature + // 0 91 0 this a + // 1 82 1 bool boolean + // 86 4 2 localObject Object + // Exception table: + // from to target type + // 4 31 86 finally + // 35 81 86 finally + } + + public final boolean a(Runnable paramRunnable) + { + boolean bool = false; + for (;;) + { + try + { + if (!c()) + { + e.d("rqdp{ ScheduleTaskHandlerImp was closed , should not post!}", new Object[0]); + return bool; + } + if (paramRunnable == null) + { + e.d("rqdp{ task runner should not be null}", new Object[0]); + continue; + } + this.a.execute(paramRunnable); + } + finally {} + bool = true; + } + } + + public final boolean a(Runnable paramRunnable, long paramLong) + { + boolean bool = false; + try + { + if (!c()) { + e.d("rqdp{ ScheduleTaskHandlerImp was closed , should not post!}", new Object[0]); + } + for (;;) + { + return bool; + if (paramRunnable != null) { + break; + } + e.d("rqdp{ task runner should not be null}", new Object[0]); + } + if (paramLong <= 0L) {} + } + finally {} + for (;;) + { + this.a.schedule(paramRunnable, paramLong, TimeUnit.MILLISECONDS); + bool = true; + break; + paramLong = 0L; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/c.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/c.java new file mode 100755 index 00000000000..5bd2a7b40ee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/c.java @@ -0,0 +1,1370 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import com.tencent.feedback.proguard.o; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public final class c +{ + private static c E = null; + private boolean A = true; + private String B = null; + private List C; + private Boolean D = null; + private final long F; + private int G = -1; + private int H = -1; + private Map I = new HashMap(); + private Map J = new HashMap(); + private final Context a; + private final byte b; + private String c; + private String d; + private final String e; + private final String f; + private final String g; + private final String h; + private final String i; + private String j = "10000"; + private String k = "unknown"; + private long l = 0L; + private String m = ""; + private String n = null; + private String o = null; + private String p = null; + private String q = null; + private String r = null; + private String s = null; + private String t = null; + private long u = -1L; + private long v = -1L; + private long w = -1L; + private String x = null; + private String y = null; + private Map z = null; + + private c(Context paramContext) + { + e.b("rqdp{ init cominfo}", new Object[0]); + Object localObject; + if (paramContext == null) { + localObject = paramContext; + } + for (;;) + { + this.a = ((Context)localObject); + d.a(this.a); + this.b = 1; + this.c = a.b(paramContext); + this.d = a.c(paramContext); + this.e = "1.9.9"; + this.f = d.l(); + this.g = d.a(); + this.h = ("Android " + d.b() + ",level " + d.c()); + new StringBuilder().append(this.g).append(";").append(this.h).toString(); + this.F = new Date().getTime(); + this.i = a.i(this.a); + return; + Context localContext = paramContext.getApplicationContext(); + localObject = localContext; + if (localContext == null) { + localObject = paramContext; + } + } + } + + private boolean O() + { + try + { + boolean bool = this.A; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static c a(Context paramContext) + { + try + { + if (E == null) { + E = new c(paramContext); + } + paramContext = E; + return paramContext; + } + finally {} + } + + private void b(boolean paramBoolean) + { + try + { + this.A = false; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final List A() + { + try + { + List localList = this.C; + return localList; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final String B() + { + try + { + String str = this.d; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean C() + { + try + { + if (this.D == null) { + this.D = Boolean.valueOf(h.a(this.a).a()); + } + boolean bool = this.D.booleanValue(); + return bool; + } + finally {} + } + + public final long D() + { + return this.F; + } + + public final String E() + { + return this.i; + } + + public final int F() + { + try + { + int i1 = this.G; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int G() + { + try + { + int i1 = this.H; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final Map H() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 116 com/tencent/feedback/common/c:I Ljava/util/Map; + // 6: invokeinterface 236 1 0 + // 11: istore_1 + // 12: iload_1 + // 13: ifgt +9 -> 22 + // 16: aconst_null + // 17: astore_2 + // 18: aload_0 + // 19: monitorexit + // 20: aload_2 + // 21: areturn + // 22: new 113 java/util/HashMap + // 25: dup + // 26: aload_0 + // 27: getfield 116 com/tencent/feedback/common/c:I Ljava/util/Map; + // 30: invokespecial 239 java/util/HashMap: (Ljava/util/Map;)V + // 33: astore_2 + // 34: goto -16 -> 18 + // 37: astore_2 + // 38: aload_0 + // 39: monitorexit + // 40: aload_2 + // 41: athrow + // Local variable table: + // start length slot name signature + // 0 42 0 this c + // 11 2 1 i1 int + // 17 17 2 localObject1 Object + // 37 4 2 localObject2 Object + // Exception table: + // from to target type + // 2 12 37 finally + // 22 34 37 finally + } + + public final int I() + { + try + { + int i1 = this.I.size(); + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final Set J() + { + try + { + Set localSet = this.I.keySet(); + return localSet; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final Map K() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 118 com/tencent/feedback/common/c:J Ljava/util/Map; + // 6: invokeinterface 236 1 0 + // 11: istore_1 + // 12: iload_1 + // 13: ifgt +9 -> 22 + // 16: aconst_null + // 17: astore_2 + // 18: aload_0 + // 19: monitorexit + // 20: aload_2 + // 21: areturn + // 22: new 113 java/util/HashMap + // 25: dup + // 26: aload_0 + // 27: getfield 118 com/tencent/feedback/common/c:J Ljava/util/Map; + // 30: invokespecial 239 java/util/HashMap: (Ljava/util/Map;)V + // 33: astore_2 + // 34: goto -16 -> 18 + // 37: astore_2 + // 38: aload_0 + // 39: monitorexit + // 40: aload_2 + // 41: athrow + // Local variable table: + // start length slot name signature + // 0 42 0 this c + // 11 2 1 i1 int + // 17 17 2 localObject1 Object + // 37 4 2 localObject2 Object + // Exception table: + // from to target type + // 2 12 37 finally + // 22 34 37 finally + } + + public final int L() + { + try + { + int i1 = this.J.size(); + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final Set M() + { + try + { + Set localSet = this.J.keySet(); + return localSet; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean N() + { + try + { + boolean bool = a.j(this.a); + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final byte a() + { + return 1; + } + + public final void a(int paramInt) + { + try + { + int i1 = this.G; + if (i1 != paramInt) + { + this.G = paramInt; + e.a("user scene tag %d changed to tag %d", new Object[] { Integer.valueOf(i1), Integer.valueOf(this.G) }); + } + return; + } + finally {} + } + + public final void a(long paramLong) + { + try + { + this.l = paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final void a(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: ifnull +24 -> 27 + // 6: aload_1 + // 7: invokevirtual 269 java/lang/String:trim ()Ljava/lang/String; + // 10: invokevirtual 272 java/lang/String:length ()I + // 13: ifeq +14 -> 27 + // 16: aload_1 + // 17: ldc 61 + // 19: invokevirtual 276 java/lang/String:equals (Ljava/lang/Object;)Z + // 22: istore_2 + // 23: iload_2 + // 24: ifeq +6 -> 30 + // 27: aload_0 + // 28: monitorexit + // 29: return + // 30: aload_0 + // 31: aload_1 + // 32: putfield 63 com/tencent/feedback/common/c:j Ljava/lang/String; + // 35: goto -8 -> 27 + // 38: astore_1 + // 39: aload_0 + // 40: monitorexit + // 41: aload_1 + // 42: athrow + // Local variable table: + // start length slot name signature + // 0 43 0 this c + // 0 43 1 paramString String + // 22 2 2 bool boolean + // Exception table: + // from to target type + // 6 23 38 finally + // 30 35 38 finally + } + + public final void a(String paramString1, String paramString2) + { + int i2 = 0; + if (paramString1 != null) {} + for (;;) + { + int i1; + try + { + if (paramString1.trim().length() > 0) + { + i1 = 0; + if (i1 == 0) + { + if ((paramString2 != null) && (paramString2.trim().length() > 0)) + { + i1 = i2; + break label123; + } + } + else { + e.c("key&value should not be empty %s %s", new Object[] { paramString1, paramString2 }); + } + } + else + { + i1 = 1; + continue; + } + i1 = 1; + } + finally {} + this.I.put(paramString1, paramString2); + continue; + label123: + if (i1 == 0) {} + } + } + + public final void a(List paramList) + { + try + { + this.C = paramList; + return; + } + finally + { + paramList = finally; + throw paramList; + } + } + + public final void a(boolean paramBoolean) + { + try + { + this.D = Boolean.valueOf(paramBoolean); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean a(String paramString1, String paramString2, String paramString3) + { + boolean bool = true; + if ((paramString1 == null) || (paramString2 == null) || (paramString3 == null)) { + bool = false; + } + for (;;) + { + return bool; + try + { + if (this.z == null) { + this.z = new HashMap(); + } + this.z.put(paramString1, new PlugInInfo(paramString1, paramString2, paramString3)); + e.a("add %s %s %s", new Object[] { paramString1, paramString2, paramString3 }); + } + finally {} + } + } + + public final String b() + { + try + { + String str = this.c; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void b(String paramString) + { + try + { + this.m = paramString; + if (paramString != null) { + b(false); + } + return; + } + finally {} + } + + public final String c() + { + return this.e; + } + + public final void c(String paramString) + { + try + { + this.k = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final String d() + { + return this.f; + } + + public final void d(String paramString) + { + try + { + this.p = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final String e() + { + return this.g; + } + + public final void e(String paramString) + { + try + { + this.q = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final String f() + { + return this.h; + } + + /* Error */ + public final void f(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: ifnull +12 -> 15 + // 6: aload_0 + // 7: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 10: astore_2 + // 11: aload_2 + // 12: ifnonnull +6 -> 18 + // 15: aload_0 + // 16: monitorexit + // 17: return + // 18: aload_0 + // 19: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 22: aload_1 + // 23: invokeinterface 301 2 0 + // 28: pop + // 29: goto -14 -> 15 + // 32: astore_1 + // 33: aload_0 + // 34: monitorexit + // 35: aload_1 + // 36: athrow + // Local variable table: + // start length slot name signature + // 0 37 0 this c + // 0 37 1 paramString String + // 10 2 2 localMap Map + // Exception table: + // from to target type + // 6 11 32 finally + // 18 29 32 finally + } + + public final String g() + { + try + { + String str = this.j; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void g(String paramString) + { + this.B = paramString; + } + + /* Error */ + public final String h() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 73 com/tencent/feedback/common/c:m Ljava/lang/String; + // 6: ifnull +13 -> 19 + // 9: aload_0 + // 10: getfield 73 com/tencent/feedback/common/c:m Ljava/lang/String; + // 13: invokevirtual 272 java/lang/String:length ()I + // 16: ifne +12 -> 28 + // 19: aload_0 + // 20: invokevirtual 303 com/tencent/feedback/common/c:o ()Ljava/lang/String; + // 23: astore_1 + // 24: aload_0 + // 25: monitorexit + // 26: aload_1 + // 27: areturn + // 28: aload_0 + // 29: getfield 73 com/tencent/feedback/common/c:m Ljava/lang/String; + // 32: astore_1 + // 33: goto -9 -> 24 + // 36: astore_1 + // 37: aload_0 + // 38: monitorexit + // 39: aload_1 + // 40: athrow + // Local variable table: + // start length slot name signature + // 0 41 0 this c + // 23 10 1 str String + // 36 4 1 localObject Object + // Exception table: + // from to target type + // 2 19 36 finally + // 19 24 36 finally + // 28 33 36 finally + } + + public final void h(String paramString) + { + try + { + this.d = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final String i() + { + try + { + String str = this.k; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void i(String paramString) + { + try + { + this.c = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final long j() + { + try + { + long l1 = this.l; + return l1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final String j(String paramString) + { + // Byte code: + // 0: iconst_0 + // 1: istore_2 + // 2: aload_0 + // 3: monitorenter + // 4: aload_1 + // 5: ifnull +51 -> 56 + // 8: aload_1 + // 9: invokevirtual 269 java/lang/String:trim ()Ljava/lang/String; + // 12: invokevirtual 272 java/lang/String:length ()I + // 15: ifle +41 -> 56 + // 18: iload_2 + // 19: ifeq +42 -> 61 + // 22: ldc_w 306 + // 25: iconst_1 + // 26: anewarray 4 java/lang/Object + // 29: dup + // 30: iconst_0 + // 31: new 160 java/lang/StringBuilder + // 34: dup + // 35: invokespecial 181 java/lang/StringBuilder: ()V + // 38: aload_1 + // 39: invokevirtual 171 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 42: invokevirtual 178 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 45: aastore + // 46: invokestatic 281 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 49: pop + // 50: aconst_null + // 51: astore_1 + // 52: aload_0 + // 53: monitorexit + // 54: aload_1 + // 55: areturn + // 56: iconst_1 + // 57: istore_2 + // 58: goto -40 -> 18 + // 61: aload_0 + // 62: getfield 116 com/tencent/feedback/common/c:I Ljava/util/Map; + // 65: aload_1 + // 66: invokeinterface 301 2 0 + // 71: checkcast 266 java/lang/String + // 74: astore_1 + // 75: goto -23 -> 52 + // 78: astore_1 + // 79: aload_0 + // 80: monitorexit + // 81: aload_1 + // 82: athrow + // Local variable table: + // start length slot name signature + // 0 83 0 this c + // 0 83 1 paramString String + // 1 57 2 i1 int + // Exception table: + // from to target type + // 8 18 78 finally + // 22 50 78 finally + // 61 75 78 finally + } + + public final String k() + { + try + { + if (this.n == null) { + this.n = a.d(this.a); + } + String str = this.n; + return str; + } + finally {} + } + + /* Error */ + public final String k(String paramString) + { + // Byte code: + // 0: iconst_0 + // 1: istore_2 + // 2: aload_0 + // 3: monitorenter + // 4: aload_1 + // 5: ifnull +51 -> 56 + // 8: aload_1 + // 9: invokevirtual 269 java/lang/String:trim ()Ljava/lang/String; + // 12: invokevirtual 272 java/lang/String:length ()I + // 15: ifle +41 -> 56 + // 18: iload_2 + // 19: ifeq +42 -> 61 + // 22: ldc_w 306 + // 25: iconst_1 + // 26: anewarray 4 java/lang/Object + // 29: dup + // 30: iconst_0 + // 31: new 160 java/lang/StringBuilder + // 34: dup + // 35: invokespecial 181 java/lang/StringBuilder: ()V + // 38: aload_1 + // 39: invokevirtual 171 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 42: invokevirtual 178 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 45: aastore + // 46: invokestatic 281 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 49: pop + // 50: aconst_null + // 51: astore_1 + // 52: aload_0 + // 53: monitorexit + // 54: aload_1 + // 55: areturn + // 56: iconst_1 + // 57: istore_2 + // 58: goto -40 -> 18 + // 61: aload_0 + // 62: getfield 116 com/tencent/feedback/common/c:I Ljava/util/Map; + // 65: aload_1 + // 66: invokeinterface 311 2 0 + // 71: checkcast 266 java/lang/String + // 74: astore_1 + // 75: goto -23 -> 52 + // 78: astore_1 + // 79: aload_0 + // 80: monitorexit + // 81: aload_1 + // 82: athrow + // Local variable table: + // start length slot name signature + // 0 83 0 this c + // 0 83 1 paramString String + // 1 57 2 i1 int + // Exception table: + // from to target type + // 8 18 78 finally + // 22 50 78 finally + // 61 75 78 finally + } + + public final String l() + { + try + { + if (this.p == null) { + this.p = a.h(this.a); + } + String str = this.p; + return str; + } + finally {} + } + + /* Error */ + public final String l(String paramString) + { + // Byte code: + // 0: iconst_0 + // 1: istore_2 + // 2: aload_0 + // 3: monitorenter + // 4: aload_1 + // 5: ifnull +51 -> 56 + // 8: aload_1 + // 9: invokevirtual 269 java/lang/String:trim ()Ljava/lang/String; + // 12: invokevirtual 272 java/lang/String:length ()I + // 15: ifle +41 -> 56 + // 18: iload_2 + // 19: ifeq +42 -> 61 + // 22: ldc_w 306 + // 25: iconst_1 + // 26: anewarray 4 java/lang/Object + // 29: dup + // 30: iconst_0 + // 31: new 160 java/lang/StringBuilder + // 34: dup + // 35: invokespecial 181 java/lang/StringBuilder: ()V + // 38: aload_1 + // 39: invokevirtual 171 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 42: invokevirtual 178 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 45: aastore + // 46: invokestatic 281 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 49: pop + // 50: aconst_null + // 51: astore_1 + // 52: aload_0 + // 53: monitorexit + // 54: aload_1 + // 55: areturn + // 56: iconst_1 + // 57: istore_2 + // 58: goto -40 -> 18 + // 61: aload_0 + // 62: getfield 118 com/tencent/feedback/common/c:J Ljava/util/Map; + // 65: aload_1 + // 66: invokeinterface 311 2 0 + // 71: checkcast 266 java/lang/String + // 74: astore_1 + // 75: goto -23 -> 52 + // 78: astore_1 + // 79: aload_0 + // 80: monitorexit + // 81: aload_1 + // 82: athrow + // Local variable table: + // start length slot name signature + // 0 83 0 this c + // 0 83 1 paramString String + // 1 57 2 i1 int + // Exception table: + // from to target type + // 8 18 78 finally + // 22 50 78 finally + // 61 75 78 finally + } + + /* Error */ + public final boolean m() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 79 com/tencent/feedback/common/c:p Ljava/lang/String; + // 6: astore_2 + // 7: aload_2 + // 8: ifnull +9 -> 17 + // 11: iconst_1 + // 12: istore_1 + // 13: aload_0 + // 14: monitorexit + // 15: iload_1 + // 16: ireturn + // 17: iconst_0 + // 18: istore_1 + // 19: goto -6 -> 13 + // 22: astore_2 + // 23: aload_0 + // 24: monitorexit + // 25: aload_2 + // 26: athrow + // Local variable table: + // start length slot name signature + // 0 27 0 this c + // 12 7 1 bool boolean + // 6 2 2 str String + // 22 4 2 localObject Object + // Exception table: + // from to target type + // 2 7 22 finally + } + + public final String n() + { + try + { + if (this.q == null) + { + this.q = a.a(this.a); + if ((this.q == null) || (this.q.equals(""))) { + this.q = this.c; + } + } + String str = this.q; + return str; + } + finally {} + } + + /* Error */ + public final String o() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokespecial 317 com/tencent/feedback/common/c:O ()Z + // 6: ifne +10 -> 16 + // 9: ldc 71 + // 11: astore_1 + // 12: aload_0 + // 13: monitorexit + // 14: aload_1 + // 15: areturn + // 16: aload_0 + // 17: getfield 77 com/tencent/feedback/common/c:o Ljava/lang/String; + // 20: ifnonnull +22 -> 42 + // 23: aload_0 + // 24: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 27: invokestatic 132 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 30: pop + // 31: aload_0 + // 32: aload_0 + // 33: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 36: invokestatic 318 com/tencent/feedback/common/d:b (Landroid/content/Context;)Ljava/lang/String; + // 39: putfield 77 com/tencent/feedback/common/c:o Ljava/lang/String; + // 42: aload_0 + // 43: getfield 77 com/tencent/feedback/common/c:o Ljava/lang/String; + // 46: astore_1 + // 47: goto -35 -> 12 + // 50: astore_1 + // 51: aload_0 + // 52: monitorexit + // 53: aload_1 + // 54: athrow + // Local variable table: + // start length slot name signature + // 0 55 0 this c + // 11 36 1 str String + // 50 4 1 localObject Object + // Exception table: + // from to target type + // 2 9 50 finally + // 16 42 50 finally + // 42 47 50 finally + } + + /* Error */ + public final String p() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokespecial 317 com/tencent/feedback/common/c:O ()Z + // 6: ifne +10 -> 16 + // 9: ldc 71 + // 11: astore_1 + // 12: aload_0 + // 13: monitorexit + // 14: aload_1 + // 15: areturn + // 16: aload_0 + // 17: getfield 83 com/tencent/feedback/common/c:r Ljava/lang/String; + // 20: ifnonnull +22 -> 42 + // 23: aload_0 + // 24: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 27: invokestatic 132 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 30: pop + // 31: aload_0 + // 32: aload_0 + // 33: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 36: invokestatic 320 com/tencent/feedback/common/d:e (Landroid/content/Context;)Ljava/lang/String; + // 39: putfield 83 com/tencent/feedback/common/c:r Ljava/lang/String; + // 42: aload_0 + // 43: getfield 83 com/tencent/feedback/common/c:r Ljava/lang/String; + // 46: astore_1 + // 47: goto -35 -> 12 + // 50: astore_1 + // 51: aload_0 + // 52: monitorexit + // 53: aload_1 + // 54: athrow + // Local variable table: + // start length slot name signature + // 0 55 0 this c + // 11 36 1 str String + // 50 4 1 localObject Object + // Exception table: + // from to target type + // 2 9 50 finally + // 16 42 50 finally + // 42 47 50 finally + } + + /* Error */ + public final String q() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokespecial 317 com/tencent/feedback/common/c:O ()Z + // 6: ifne +10 -> 16 + // 9: ldc 71 + // 11: astore_1 + // 12: aload_0 + // 13: monitorexit + // 14: aload_1 + // 15: areturn + // 16: aload_0 + // 17: getfield 85 com/tencent/feedback/common/c:s Ljava/lang/String; + // 20: ifnonnull +22 -> 42 + // 23: aload_0 + // 24: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 27: invokestatic 132 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 30: pop + // 31: aload_0 + // 32: aload_0 + // 33: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 36: invokestatic 321 com/tencent/feedback/common/d:c (Landroid/content/Context;)Ljava/lang/String; + // 39: putfield 85 com/tencent/feedback/common/c:s Ljava/lang/String; + // 42: aload_0 + // 43: getfield 85 com/tencent/feedback/common/c:s Ljava/lang/String; + // 46: astore_1 + // 47: goto -35 -> 12 + // 50: astore_1 + // 51: aload_0 + // 52: monitorexit + // 53: aload_1 + // 54: athrow + // Local variable table: + // start length slot name signature + // 0 55 0 this c + // 11 36 1 str String + // 50 4 1 localObject Object + // Exception table: + // from to target type + // 2 9 50 finally + // 16 42 50 finally + // 42 47 50 finally + } + + /* Error */ + public final String r() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokespecial 317 com/tencent/feedback/common/c:O ()Z + // 6: ifne +10 -> 16 + // 9: ldc 71 + // 11: astore_1 + // 12: aload_0 + // 13: monitorexit + // 14: aload_1 + // 15: areturn + // 16: aload_0 + // 17: getfield 87 com/tencent/feedback/common/c:t Ljava/lang/String; + // 20: ifnonnull +22 -> 42 + // 23: aload_0 + // 24: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 27: invokestatic 132 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 30: pop + // 31: aload_0 + // 32: aload_0 + // 33: getfield 127 com/tencent/feedback/common/c:a Landroid/content/Context; + // 36: invokestatic 322 com/tencent/feedback/common/d:d (Landroid/content/Context;)Ljava/lang/String; + // 39: putfield 87 com/tencent/feedback/common/c:t Ljava/lang/String; + // 42: aload_0 + // 43: getfield 87 com/tencent/feedback/common/c:t Ljava/lang/String; + // 46: astore_1 + // 47: goto -35 -> 12 + // 50: astore_1 + // 51: aload_0 + // 52: monitorexit + // 53: aload_1 + // 54: athrow + // Local variable table: + // start length slot name signature + // 0 55 0 this c + // 11 36 1 str String + // 50 4 1 localObject Object + // Exception table: + // from to target type + // 2 9 50 finally + // 16 42 50 finally + // 42 47 50 finally + } + + public final long s() + { + try + { + if (this.u <= 0L) + { + d.a(this.a); + this.u = d.e(); + } + long l1 = this.u; + return l1; + } + finally {} + } + + public final long t() + { + try + { + if (this.v <= 0L) + { + d.a(this.a); + this.v = d.g(); + } + long l1 = this.v; + return l1; + } + finally {} + } + + public final long u() + { + try + { + if (this.w <= 0L) { + this.w = d.a(this.a).i(); + } + long l1 = this.w; + return l1; + } + finally {} + } + + public final String v() + { + try + { + if (this.x == null) + { + d.a(this.a); + this.x = d.d(); + } + String str = this.x; + return str; + } + finally {} + } + + public final String w() + { + try + { + if (this.y == null) { + this.y = d.a(this.a).m(); + } + String str = this.y; + return str; + } + finally {} + } + + public final Map x() + { + try + { + Map localMap = this.z; + return localMap; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final Map y() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 6: ifnull +17 -> 23 + // 9: aload_0 + // 10: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 13: invokeinterface 236 1 0 + // 18: istore_1 + // 19: iload_1 + // 20: ifgt +9 -> 29 + // 23: aconst_null + // 24: astore_2 + // 25: aload_0 + // 26: monitorexit + // 27: aload_2 + // 28: areturn + // 29: new 113 java/util/HashMap + // 32: dup + // 33: aload_0 + // 34: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 37: invokeinterface 236 1 0 + // 42: invokespecial 335 java/util/HashMap: (I)V + // 45: astore_2 + // 46: aload_2 + // 47: aload_0 + // 48: getfield 101 com/tencent/feedback/common/c:z Ljava/util/Map; + // 51: invokeinterface 338 2 0 + // 56: goto -31 -> 25 + // 59: astore_2 + // 60: aload_0 + // 61: monitorexit + // 62: aload_2 + // 63: athrow + // Local variable table: + // start length slot name signature + // 0 64 0 this c + // 18 2 1 i1 int + // 24 23 2 localObject1 Object + // 59 4 2 localObject2 Object + // Exception table: + // from to target type + // 2 19 59 finally + // 29 56 59 finally + } + + public final String z() + { + if (this.B == null) + { + d.a(this.a); + this.B = d.k(); + } + return this.B; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/d.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/d.java new file mode 100755 index 00000000000..ceb307d62d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/d.java @@ -0,0 +1,1514 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Environment; +import android.os.StatFs; +import android.telephony.TelephonyManager; +import com.tencent.feedback.proguard.a; +import java.io.File; +import java.util.Locale; + +public final class d +{ + private static d a; + private Context b; + + private d(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + this.b = paramContext; + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + /* Error */ + public static d a(Context paramContext) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 25 com/tencent/feedback/common/d:a Lcom/tencent/feedback/common/d; + // 6: ifnonnull +22 -> 28 + // 9: aload_0 + // 10: ifnull +18 -> 28 + // 13: aload_0 + // 14: ifnonnull +23 -> 37 + // 17: new 2 com/tencent/feedback/common/d + // 20: dup + // 21: aload_0 + // 22: invokespecial 27 com/tencent/feedback/common/d: (Landroid/content/Context;)V + // 25: putstatic 25 com/tencent/feedback/common/d:a Lcom/tencent/feedback/common/d; + // 28: getstatic 25 com/tencent/feedback/common/d:a Lcom/tencent/feedback/common/d; + // 31: astore_0 + // 32: ldc 2 + // 34: monitorexit + // 35: aload_0 + // 36: areturn + // 37: aload_0 + // 38: invokevirtual 21 android/content/Context:getApplicationContext ()Landroid/content/Context; + // 41: astore_1 + // 42: aload_1 + // 43: ifnull -26 -> 17 + // 46: aload_1 + // 47: astore_0 + // 48: goto -31 -> 17 + // 51: astore_0 + // 52: ldc 2 + // 54: monitorexit + // 55: aload_0 + // 56: athrow + // Local variable table: + // start length slot name signature + // 0 57 0 paramContext Context + // 41 6 1 localContext Context + // Exception table: + // from to target type + // 3 9 51 finally + // 17 28 51 finally + // 28 32 51 finally + // 37 42 51 finally + } + + public static String a() + { + try + { + String str = Build.MODEL; + return str; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ getDeviceName error}", new Object[0]); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return "fail"; + } + + public static String b() + { + try + { + String str = Build.VERSION.RELEASE; + return str; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ getVersion error}", new Object[0]); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return "fail"; + } + + public static String b(Context paramContext) + { + String str = "fail"; + Object localObject2; + if (paramContext == null) + { + e.d("rqdp{ getImei but context == null!}", new Object[0]); + localObject2 = "fail"; + return localObject2; + } + for (;;) + { + try + { + paramContext = ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId(); + if (paramContext != null) { + continue; + } + paramContext = "null"; + try + { + e.a("rqdp{ IMEI:}" + paramContext, new Object[0]); + return paramContext; + } + catch (Throwable localThrowable1) {} + } + catch (Throwable localThrowable2) + { + paramContext = (Context)localObject1; + Object localObject1 = localThrowable2; + continue; + } + e.d("rqdp{ getImei error!}", new Object[0]); + localObject2 = paramContext; + if (e.a(localThrowable1)) { + break; + } + localThrowable1.printStackTrace(); + return paramContext; + localObject1 = paramContext; + paramContext = paramContext.toLowerCase(); + } + } + + public static String c() + { + try + { + String str = Build.VERSION.SDK; + return str; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ getApiLevel error}", new Object[0]); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return "fail"; + } + + public static String c(Context paramContext) + { + Object localObject = "fail"; + if (paramContext == null) + { + e.d("rqdp{ getImsi but context == null!}", new Object[0]); + paramContext = "fail"; + } + do + { + return paramContext; + try + { + paramContext = ((TelephonyManager)paramContext.getSystemService("phone")).getSubscriberId(); + if (paramContext == null) { + return "null"; + } + localObject = paramContext; + paramContext = paramContext.toLowerCase(); + return paramContext; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ getImsi error!}", new Object[0]); + paramContext = (Context)localObject; + } + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + return localObject; + } + + public static String d() + { + Object localObject2 = null; + try + { + localObject1 = Build.CPU_ABI; + if (localObject1 != null) + { + localObject2 = localObject1; + if (((String)localObject1).trim().length() != 0) {} + } + else + { + localObject2 = System.getProperty("os.arch"); + } + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = "fail"; + } + return localObject1; + } + catch (Throwable localThrowable) + { + for (;;) + { + e.c("rqdp{ ge cuabi fa!}", new Object[0]); + Object localObject1 = localObject2; + if (!e.a(localThrowable)) + { + localThrowable.printStackTrace(); + localObject1 = localObject2; + } + } + } + } + + /* Error */ + public static String d(Context paramContext) + { + // Byte code: + // 0: ldc 52 + // 2: astore_1 + // 3: aload_0 + // 4: ifnonnull +15 -> 19 + // 7: ldc 135 + // 9: iconst_0 + // 10: anewarray 4 java/lang/Object + // 13: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 16: pop + // 17: aload_1 + // 18: areturn + // 19: aload_0 + // 20: invokevirtual 139 android/content/Context:getContentResolver ()Landroid/content/ContentResolver; + // 23: ldc 141 + // 25: invokestatic 147 android/provider/Settings$Secure:getString (Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; + // 28: astore_0 + // 29: aload_0 + // 30: ifnonnull +6 -> 36 + // 33: ldc 75 + // 35: areturn + // 36: aload_0 + // 37: invokevirtual 98 java/lang/String:toLowerCase ()Ljava/lang/String; + // 40: astore_1 + // 41: aload_1 + // 42: areturn + // 43: astore_2 + // 44: aload_1 + // 45: astore_0 + // 46: ldc 149 + // 48: iconst_0 + // 49: anewarray 4 java/lang/Object + // 52: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 55: pop + // 56: aload_0 + // 57: astore_1 + // 58: aload_2 + // 59: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 62: ifne -45 -> 17 + // 65: aload_2 + // 66: invokevirtual 50 java/lang/Throwable:printStackTrace ()V + // 69: aload_0 + // 70: areturn + // 71: astore_2 + // 72: goto -26 -> 46 + // Local variable table: + // start length slot name signature + // 0 75 0 paramContext Context + // 2 56 1 localObject Object + // 43 23 2 localThrowable1 Throwable + // 71 1 2 localThrowable2 Throwable + // Exception table: + // from to target type + // 19 29 43 java/lang/Throwable + // 36 41 71 java/lang/Throwable + } + + public static long e() + { + long l1 = -1L; + try + { + StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath()); + long l2 = localStatFs.getBlockSize(); + int i = localStatFs.getBlockCount(); + l1 = i * l2; + } + catch (Throwable localThrowable) + { + do + { + e.d("rqdp{ getDisplayMetrics error!}", new Object[0]); + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + return l1; + return -1L; + } + + public static String e(Context paramContext) + { + Object localObject = "fail"; + if (paramContext == null) + { + e.d("rqdp{ getMacAddress but context == null!}", new Object[0]); + return "fail"; + } + try + { + paramContext = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo().getMacAddress(); + if (paramContext == null) { + return "null"; + } + localObject = paramContext; + paramContext = paramContext.toLowerCase(); + return paramContext; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + e.d("rqdp{ getMacAddress error!}", new Object[0]); + } + return localObject; + } + + public static long f() + { + long l1 = -1L; + try + { + StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath()); + long l2 = localStatFs.getBlockSize(); + int i = localStatFs.getAvailableBlocks(); + l1 = i * l2; + } + catch (Throwable localThrowable) + { + do + { + e.d("rqdp{ getDisplayMetrics error!}", new Object[0]); + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + return l1; + return -1L; + } + + public static String f(Context paramContext) + { + try + { + NetworkInfo localNetworkInfo = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (localNetworkInfo == null) { + return "unknown"; + } + if (localNetworkInfo.getType() == 1) { + return "wifi"; + } + if (localNetworkInfo.getType() == 0) + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext != null) { + switch (paramContext.getNetworkType()) + { + case 15: + return "HSPA+"; + } + } + } + } + catch (Exception paramContext) + { + if (!e.a(paramContext)) + { + paramContext.printStackTrace(); + return "unknown"; + } + else + { + return "unknown"; + } + } + return "unknown"; + return "GPRS"; + return "EDGE"; + return "UMTS"; + return "HSDPA"; + return "HSUPA"; + return "HSPA"; + return "CDMA"; + return "EVDO_0"; + return "EVDO_A"; + return "1xRTT"; + return "iDen"; + return "EVDO_B"; + return "LTE"; + return "eHRPD"; + } + + /* Error */ + public static long g() + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: new 252 java/io/FileReader + // 6: dup + // 7: ldc 254 + // 9: invokespecial 255 java/io/FileReader: (Ljava/lang/String;)V + // 12: astore 4 + // 14: new 257 java/io/BufferedReader + // 17: dup + // 18: aload 4 + // 20: sipush 2048 + // 23: invokespecial 260 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 26: astore_3 + // 27: aload_3 + // 28: invokevirtual 263 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 31: ldc_w 265 + // 34: iconst_2 + // 35: invokevirtual 269 java/lang/String:split (Ljava/lang/String;I)[Ljava/lang/String; + // 38: iconst_1 + // 39: aaload + // 40: invokevirtual 98 java/lang/String:toLowerCase ()Ljava/lang/String; + // 43: ldc_w 271 + // 46: ldc_w 273 + // 49: invokevirtual 277 java/lang/String:replace (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; + // 52: invokevirtual 117 java/lang/String:trim ()Ljava/lang/String; + // 55: invokestatic 283 java/lang/Long:parseLong (Ljava/lang/String;)J + // 58: lstore_0 + // 59: lload_0 + // 60: ldc2_w 284 + // 63: lmul + // 64: lstore_0 + // 65: aload_3 + // 66: invokevirtual 288 java/io/BufferedReader:close ()V + // 69: aload 4 + // 71: invokevirtual 289 java/io/FileReader:close ()V + // 74: lload_0 + // 75: lreturn + // 76: astore_2 + // 77: aload_2 + // 78: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 81: ifne -12 -> 69 + // 84: aload_2 + // 85: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 88: goto -19 -> 69 + // 91: astore_2 + // 92: aload_2 + // 93: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 96: ifne -22 -> 74 + // 99: aload_2 + // 100: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 103: lload_0 + // 104: lreturn + // 105: astore 4 + // 107: aconst_null + // 108: astore_2 + // 109: aload 5 + // 111: astore_3 + // 112: ldc_w 292 + // 115: iconst_0 + // 116: anewarray 4 java/lang/Object + // 119: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 122: pop + // 123: aload 4 + // 125: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 128: ifne +8 -> 136 + // 131: aload 4 + // 133: invokevirtual 50 java/lang/Throwable:printStackTrace ()V + // 136: aload_3 + // 137: ifnull +7 -> 144 + // 140: aload_3 + // 141: invokevirtual 288 java/io/BufferedReader:close ()V + // 144: aload_2 + // 145: ifnull +7 -> 152 + // 148: aload_2 + // 149: invokevirtual 289 java/io/FileReader:close ()V + // 152: ldc2_w 293 + // 155: lreturn + // 156: astore_3 + // 157: aload_3 + // 158: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 161: ifne -17 -> 144 + // 164: aload_3 + // 165: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 168: goto -24 -> 144 + // 171: astore_2 + // 172: aload_2 + // 173: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 176: ifne -24 -> 152 + // 179: aload_2 + // 180: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 183: goto -31 -> 152 + // 186: astore_2 + // 187: aconst_null + // 188: astore_3 + // 189: aconst_null + // 190: astore 4 + // 192: aload_3 + // 193: ifnull +7 -> 200 + // 196: aload_3 + // 197: invokevirtual 288 java/io/BufferedReader:close ()V + // 200: aload 4 + // 202: ifnull +8 -> 210 + // 205: aload 4 + // 207: invokevirtual 289 java/io/FileReader:close ()V + // 210: aload_2 + // 211: athrow + // 212: astore_3 + // 213: aload_3 + // 214: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 217: ifne -17 -> 200 + // 220: aload_3 + // 221: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 224: goto -24 -> 200 + // 227: astore_3 + // 228: aload_3 + // 229: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 232: ifne -22 -> 210 + // 235: aload_3 + // 236: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 239: goto -29 -> 210 + // 242: astore_2 + // 243: aconst_null + // 244: astore_3 + // 245: goto -53 -> 192 + // 248: astore_2 + // 249: goto -57 -> 192 + // 252: astore 5 + // 254: aload_2 + // 255: astore 4 + // 257: aload 5 + // 259: astore_2 + // 260: goto -68 -> 192 + // 263: astore_3 + // 264: aload 4 + // 266: astore_2 + // 267: aload_3 + // 268: astore 4 + // 270: aload 5 + // 272: astore_3 + // 273: goto -161 -> 112 + // 276: astore 5 + // 278: aload 4 + // 280: astore_2 + // 281: aload 5 + // 283: astore 4 + // 285: goto -173 -> 112 + // Local variable table: + // start length slot name signature + // 58 46 0 l long + // 76 9 2 localIOException1 java.io.IOException + // 91 9 2 localIOException2 java.io.IOException + // 108 41 2 localObject1 Object + // 171 9 2 localIOException3 java.io.IOException + // 186 25 2 localObject2 Object + // 242 1 2 localObject3 Object + // 248 7 2 localObject4 Object + // 259 22 2 localObject5 Object + // 26 115 3 localObject6 Object + // 156 9 3 localIOException4 java.io.IOException + // 188 9 3 localObject7 Object + // 212 9 3 localIOException5 java.io.IOException + // 227 9 3 localIOException6 java.io.IOException + // 244 1 3 localObject8 Object + // 263 5 3 localThrowable1 Throwable + // 272 1 3 localObject9 Object + // 12 58 4 localFileReader java.io.FileReader + // 105 27 4 localThrowable2 Throwable + // 190 94 4 localObject10 Object + // 1 109 5 localObject11 Object + // 252 19 5 localObject12 Object + // 276 6 5 localThrowable3 Throwable + // Exception table: + // from to target type + // 65 69 76 java/io/IOException + // 69 74 91 java/io/IOException + // 3 14 105 java/lang/Throwable + // 140 144 156 java/io/IOException + // 148 152 171 java/io/IOException + // 3 14 186 finally + // 196 200 212 java/io/IOException + // 205 210 227 java/io/IOException + // 14 27 242 finally + // 27 59 248 finally + // 112 136 252 finally + // 14 27 263 java/lang/Throwable + // 27 59 276 java/lang/Throwable + } + + /* Error */ + public static long h() + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: new 252 java/io/FileReader + // 6: dup + // 7: ldc 254 + // 9: invokespecial 255 java/io/FileReader: (Ljava/lang/String;)V + // 12: astore 4 + // 14: new 257 java/io/BufferedReader + // 17: dup + // 18: aload 4 + // 20: sipush 2048 + // 23: invokespecial 260 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 26: astore_3 + // 27: aload_3 + // 28: invokevirtual 263 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 31: pop + // 32: aload_3 + // 33: invokevirtual 263 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 36: ldc_w 265 + // 39: iconst_2 + // 40: invokevirtual 269 java/lang/String:split (Ljava/lang/String;I)[Ljava/lang/String; + // 43: iconst_1 + // 44: aaload + // 45: invokevirtual 98 java/lang/String:toLowerCase ()Ljava/lang/String; + // 48: ldc_w 271 + // 51: ldc_w 273 + // 54: invokevirtual 277 java/lang/String:replace (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; + // 57: invokevirtual 117 java/lang/String:trim ()Ljava/lang/String; + // 60: invokestatic 283 java/lang/Long:parseLong (Ljava/lang/String;)J + // 63: lstore_0 + // 64: lload_0 + // 65: ldc2_w 284 + // 68: lmul + // 69: lstore_0 + // 70: aload_3 + // 71: invokevirtual 288 java/io/BufferedReader:close ()V + // 74: aload 4 + // 76: invokevirtual 289 java/io/FileReader:close ()V + // 79: lload_0 + // 80: lreturn + // 81: astore_2 + // 82: aload_2 + // 83: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 86: ifne -12 -> 74 + // 89: aload_2 + // 90: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 93: goto -19 -> 74 + // 96: astore_2 + // 97: aload_2 + // 98: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 101: ifne -22 -> 79 + // 104: aload_2 + // 105: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 108: lload_0 + // 109: lreturn + // 110: astore 4 + // 112: aconst_null + // 113: astore_2 + // 114: aload 5 + // 116: astore_3 + // 117: ldc_w 292 + // 120: iconst_0 + // 121: anewarray 4 java/lang/Object + // 124: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 127: pop + // 128: aload 4 + // 130: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 133: ifne +8 -> 141 + // 136: aload 4 + // 138: invokevirtual 50 java/lang/Throwable:printStackTrace ()V + // 141: aload_3 + // 142: ifnull +7 -> 149 + // 145: aload_3 + // 146: invokevirtual 288 java/io/BufferedReader:close ()V + // 149: aload_2 + // 150: ifnull +7 -> 157 + // 153: aload_2 + // 154: invokevirtual 289 java/io/FileReader:close ()V + // 157: ldc2_w 293 + // 160: lreturn + // 161: astore_3 + // 162: aload_3 + // 163: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 166: ifne -17 -> 149 + // 169: aload_3 + // 170: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 173: goto -24 -> 149 + // 176: astore_2 + // 177: aload_2 + // 178: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 181: ifne -24 -> 157 + // 184: aload_2 + // 185: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 188: goto -31 -> 157 + // 191: astore_2 + // 192: aconst_null + // 193: astore_3 + // 194: aconst_null + // 195: astore 4 + // 197: aload_3 + // 198: ifnull +7 -> 205 + // 201: aload_3 + // 202: invokevirtual 288 java/io/BufferedReader:close ()V + // 205: aload 4 + // 207: ifnull +8 -> 215 + // 210: aload 4 + // 212: invokevirtual 289 java/io/FileReader:close ()V + // 215: aload_2 + // 216: athrow + // 217: astore_3 + // 218: aload_3 + // 219: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 222: ifne -17 -> 205 + // 225: aload_3 + // 226: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 229: goto -24 -> 205 + // 232: astore_3 + // 233: aload_3 + // 234: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 237: ifne -22 -> 215 + // 240: aload_3 + // 241: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 244: goto -29 -> 215 + // 247: astore_2 + // 248: aconst_null + // 249: astore_3 + // 250: goto -53 -> 197 + // 253: astore_2 + // 254: goto -57 -> 197 + // 257: astore 5 + // 259: aload_2 + // 260: astore 4 + // 262: aload 5 + // 264: astore_2 + // 265: goto -68 -> 197 + // 268: astore_3 + // 269: aload 4 + // 271: astore_2 + // 272: aload_3 + // 273: astore 4 + // 275: aload 5 + // 277: astore_3 + // 278: goto -161 -> 117 + // 281: astore 5 + // 283: aload 4 + // 285: astore_2 + // 286: aload 5 + // 288: astore 4 + // 290: goto -173 -> 117 + // Local variable table: + // start length slot name signature + // 63 46 0 l long + // 81 9 2 localIOException1 java.io.IOException + // 96 9 2 localIOException2 java.io.IOException + // 113 41 2 localObject1 Object + // 176 9 2 localIOException3 java.io.IOException + // 191 25 2 localObject2 Object + // 247 1 2 localObject3 Object + // 253 7 2 localObject4 Object + // 264 22 2 localObject5 Object + // 26 120 3 localObject6 Object + // 161 9 3 localIOException4 java.io.IOException + // 193 9 3 localObject7 Object + // 217 9 3 localIOException5 java.io.IOException + // 232 9 3 localIOException6 java.io.IOException + // 249 1 3 localObject8 Object + // 268 5 3 localThrowable1 Throwable + // 277 1 3 localObject9 Object + // 12 63 4 localFileReader java.io.FileReader + // 110 27 4 localThrowable2 Throwable + // 195 94 4 localObject10 Object + // 1 114 5 localObject11 Object + // 257 19 5 localObject12 Object + // 281 6 5 localThrowable3 Throwable + // Exception table: + // from to target type + // 70 74 81 java/io/IOException + // 74 79 96 java/io/IOException + // 3 14 110 java/lang/Throwable + // 145 149 161 java/io/IOException + // 153 157 176 java/io/IOException + // 3 14 191 finally + // 201 205 217 java/io/IOException + // 210 215 232 java/io/IOException + // 14 27 247 finally + // 27 64 253 finally + // 117 141 257 finally + // 14 27 268 java/lang/Throwable + // 27 64 281 java/lang/Throwable + } + + public static String k() + { + Object localObject = "fail"; + try + { + String str = Locale.getDefault().getCountry(); + localObject = str; + } + catch (Throwable localThrowable) + { + do + { + e.d("rqdp{ getCountry error!}", new Object[0]); + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + return localObject; + return "fail"; + } + + public static String l() + { + Object localObject = "fail"; + try + { + String str = Build.BRAND; + localObject = str; + } + catch (Throwable localThrowable) + { + do + { + e.d("rqdp{ getBrand error!}", new Object[0]); + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + return localObject; + return "fail"; + } + + /* Error */ + public static long n() + { + // Byte code: + // 0: aconst_null + // 1: astore 7 + // 3: aconst_null + // 4: astore 6 + // 6: new 77 java/lang/StringBuilder + // 9: dup + // 10: ldc_w 316 + // 13: invokespecial 82 java/lang/StringBuilder: (Ljava/lang/String;)V + // 16: invokestatic 321 android/os/Process:myPid ()I + // 19: invokevirtual 324 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 22: ldc_w 326 + // 25: invokevirtual 86 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 28: invokevirtual 89 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 31: astore_3 + // 32: ldc_w 328 + // 35: invokestatic 334 java/lang/Thread:currentThread ()Ljava/lang/Thread; + // 38: invokevirtual 337 java/lang/Thread:getName ()Ljava/lang/String; + // 41: invokevirtual 341 java/lang/String:equals (Ljava/lang/Object;)Z + // 44: ifeq +178 -> 222 + // 47: ldc_w 343 + // 50: astore 5 + // 52: ldc_w 345 + // 55: iconst_1 + // 56: anewarray 4 java/lang/Object + // 59: dup + // 60: iconst_0 + // 61: aload 5 + // 63: aastore + // 64: invokestatic 347 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 67: pop + // 68: new 252 java/io/FileReader + // 71: dup + // 72: aload_3 + // 73: invokespecial 255 java/io/FileReader: (Ljava/lang/String;)V + // 76: astore 4 + // 78: new 257 java/io/BufferedReader + // 81: dup + // 82: aload 4 + // 84: sipush 2048 + // 87: invokespecial 260 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 90: astore_3 + // 91: aload_3 + // 92: invokevirtual 263 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 95: astore 6 + // 97: aload 6 + // 99: ifnull +188 -> 287 + // 102: aload 6 + // 104: aload 5 + // 106: invokevirtual 351 java/lang/String:contains (Ljava/lang/CharSequence;)Z + // 109: ifeq -18 -> 91 + // 112: aload 6 + // 114: ldc_w 353 + // 117: invokevirtual 356 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 120: astore 6 + // 122: aload 6 + // 124: arraylength + // 125: ifle -34 -> 91 + // 128: aload 6 + // 130: iconst_0 + // 131: aaload + // 132: ldc_w 358 + // 135: invokevirtual 362 java/lang/String:indexOf (Ljava/lang/String;)I + // 138: istore_0 + // 139: iload_0 + // 140: ifle -49 -> 91 + // 143: aload 6 + // 145: iconst_0 + // 146: aaload + // 147: invokevirtual 121 java/lang/String:length ()I + // 150: iload_0 + // 151: if_icmple -60 -> 91 + // 154: aload 6 + // 156: iconst_0 + // 157: aaload + // 158: iconst_0 + // 159: iload_0 + // 160: invokevirtual 366 java/lang/String:substring (II)Ljava/lang/String; + // 163: bipush 16 + // 165: invokestatic 369 java/lang/Long:parseLong (Ljava/lang/String;I)J + // 168: lstore_1 + // 169: aload 6 + // 171: iconst_0 + // 172: aaload + // 173: iload_0 + // 174: iconst_1 + // 175: iadd + // 176: invokevirtual 372 java/lang/String:substring (I)Ljava/lang/String; + // 179: bipush 16 + // 181: invokestatic 369 java/lang/Long:parseLong (Ljava/lang/String;I)J + // 184: lload_1 + // 185: lsub + // 186: lstore_1 + // 187: ldc_w 374 + // 190: iconst_1 + // 191: anewarray 4 java/lang/Object + // 194: dup + // 195: iconst_0 + // 196: lload_1 + // 197: invokestatic 378 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 200: aastore + // 201: invokestatic 347 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 204: pop + // 205: lload_1 + // 206: lconst_0 + // 207: lcmp + // 208: ifle +44 -> 252 + // 211: aload_3 + // 212: invokevirtual 288 java/io/BufferedReader:close ()V + // 215: aload 4 + // 217: invokevirtual 289 java/io/FileReader:close ()V + // 220: lload_1 + // 221: lreturn + // 222: new 77 java/lang/StringBuilder + // 225: dup + // 226: ldc_w 380 + // 229: invokespecial 82 java/lang/StringBuilder: (Ljava/lang/String;)V + // 232: invokestatic 383 android/os/Process:myTid ()I + // 235: invokevirtual 324 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 238: ldc_w 385 + // 241: invokevirtual 86 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 244: invokevirtual 89 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 247: astore 5 + // 249: goto -197 -> 52 + // 252: lload_1 + // 253: lneg + // 254: lstore_1 + // 255: goto -44 -> 211 + // 258: astore_3 + // 259: aload_3 + // 260: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 263: ifne -48 -> 215 + // 266: aload_3 + // 267: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 270: goto -55 -> 215 + // 273: astore_3 + // 274: aload_3 + // 275: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 278: ifne -58 -> 220 + // 281: aload_3 + // 282: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 285: lload_1 + // 286: lreturn + // 287: aload_3 + // 288: invokevirtual 288 java/io/BufferedReader:close ()V + // 291: aload 4 + // 293: invokevirtual 289 java/io/FileReader:close ()V + // 296: ldc2_w 152 + // 299: lreturn + // 300: astore_3 + // 301: aload_3 + // 302: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 305: ifne -14 -> 291 + // 308: aload_3 + // 309: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 312: goto -21 -> 291 + // 315: astore_3 + // 316: aload_3 + // 317: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 320: ifne -24 -> 296 + // 323: aload_3 + // 324: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 327: goto -31 -> 296 + // 330: astore 5 + // 332: aconst_null + // 333: astore_3 + // 334: aload 6 + // 336: astore 4 + // 338: ldc_w 292 + // 341: iconst_0 + // 342: anewarray 4 java/lang/Object + // 345: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 348: pop + // 349: aload 5 + // 351: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 354: ifne +8 -> 362 + // 357: aload 5 + // 359: invokevirtual 50 java/lang/Throwable:printStackTrace ()V + // 362: aload 4 + // 364: ifnull +8 -> 372 + // 367: aload 4 + // 369: invokevirtual 288 java/io/BufferedReader:close ()V + // 372: aload_3 + // 373: ifnull +7 -> 380 + // 376: aload_3 + // 377: invokevirtual 289 java/io/FileReader:close ()V + // 380: ldc2_w 293 + // 383: lreturn + // 384: astore 4 + // 386: aload 4 + // 388: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 391: ifne -19 -> 372 + // 394: aload 4 + // 396: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 399: goto -27 -> 372 + // 402: astore_3 + // 403: aload_3 + // 404: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 407: ifne -27 -> 380 + // 410: aload_3 + // 411: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 414: goto -34 -> 380 + // 417: astore_3 + // 418: aconst_null + // 419: astore 4 + // 421: aload 7 + // 423: astore 5 + // 425: aload 5 + // 427: ifnull +8 -> 435 + // 430: aload 5 + // 432: invokevirtual 288 java/io/BufferedReader:close ()V + // 435: aload 4 + // 437: ifnull +8 -> 445 + // 440: aload 4 + // 442: invokevirtual 289 java/io/FileReader:close ()V + // 445: aload_3 + // 446: athrow + // 447: astore 5 + // 449: aload 5 + // 451: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 454: ifne -19 -> 435 + // 457: aload 5 + // 459: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 462: goto -27 -> 435 + // 465: astore 4 + // 467: aload 4 + // 469: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 472: ifne -27 -> 445 + // 475: aload 4 + // 477: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 480: goto -35 -> 445 + // 483: astore_3 + // 484: aload 7 + // 486: astore 5 + // 488: goto -63 -> 425 + // 491: astore 6 + // 493: aload_3 + // 494: astore 5 + // 496: aload 6 + // 498: astore_3 + // 499: goto -74 -> 425 + // 502: astore 5 + // 504: aload_3 + // 505: astore 6 + // 507: aload 5 + // 509: astore_3 + // 510: aload 4 + // 512: astore 5 + // 514: aload 6 + // 516: astore 4 + // 518: goto -93 -> 425 + // 521: astore 5 + // 523: aload 4 + // 525: astore_3 + // 526: aload 6 + // 528: astore 4 + // 530: goto -192 -> 338 + // 533: astore 5 + // 535: aload 4 + // 537: astore 6 + // 539: aload_3 + // 540: astore 4 + // 542: aload 6 + // 544: astore_3 + // 545: goto -207 -> 338 + // Local variable table: + // start length slot name signature + // 138 38 0 i int + // 168 118 1 l long + // 31 181 3 localObject1 Object + // 258 9 3 localIOException1 java.io.IOException + // 273 15 3 localIOException2 java.io.IOException + // 300 9 3 localIOException3 java.io.IOException + // 315 9 3 localIOException4 java.io.IOException + // 333 44 3 localObject2 Object + // 402 9 3 localIOException5 java.io.IOException + // 417 29 3 localObject3 Object + // 483 11 3 localObject4 Object + // 498 47 3 localObject5 Object + // 76 292 4 localObject6 Object + // 384 11 4 localIOException6 java.io.IOException + // 419 22 4 localObject7 Object + // 465 46 4 localIOException7 java.io.IOException + // 516 25 4 localObject8 Object + // 50 198 5 str String + // 330 28 5 localThrowable1 Throwable + // 423 8 5 localObject9 Object + // 447 11 5 localIOException8 java.io.IOException + // 486 9 5 localObject10 Object + // 502 6 5 localObject11 Object + // 512 1 5 localObject12 Object + // 521 1 5 localThrowable2 Throwable + // 533 1 5 localThrowable3 Throwable + // 4 331 6 localObject13 Object + // 491 6 6 localObject14 Object + // 505 38 6 localObject15 Object + // 1 484 7 localObject16 Object + // Exception table: + // from to target type + // 211 215 258 java/io/IOException + // 215 220 273 java/io/IOException + // 287 291 300 java/io/IOException + // 291 296 315 java/io/IOException + // 32 47 330 java/lang/Throwable + // 52 78 330 java/lang/Throwable + // 222 249 330 java/lang/Throwable + // 367 372 384 java/io/IOException + // 376 380 402 java/io/IOException + // 32 47 417 finally + // 52 78 417 finally + // 222 249 417 finally + // 430 435 447 java/io/IOException + // 440 445 465 java/io/IOException + // 78 91 483 finally + // 91 97 491 finally + // 102 139 491 finally + // 143 205 491 finally + // 338 362 502 finally + // 78 91 521 java/lang/Throwable + // 91 97 533 java/lang/Throwable + // 102 139 533 java/lang/Throwable + // 143 205 533 java/lang/Throwable + } + + /* Error */ + public static long o() + { + // Byte code: + // 0: aconst_null + // 1: astore 8 + // 3: new 77 java/lang/StringBuilder + // 6: dup + // 7: ldc_w 316 + // 10: invokespecial 82 java/lang/StringBuilder: (Ljava/lang/String;)V + // 13: invokestatic 321 android/os/Process:myPid ()I + // 16: invokevirtual 324 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 19: ldc_w 326 + // 22: invokevirtual 86 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 25: invokevirtual 89 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 28: astore 5 + // 30: new 252 java/io/FileReader + // 33: dup + // 34: aload 5 + // 36: invokespecial 255 java/io/FileReader: (Ljava/lang/String;)V + // 39: astore 7 + // 41: new 257 java/io/BufferedReader + // 44: dup + // 45: aload 7 + // 47: sipush 2048 + // 50: invokespecial 260 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 53: astore 6 + // 55: lconst_0 + // 56: lstore_1 + // 57: aload 6 + // 59: invokevirtual 263 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 62: astore 5 + // 64: aload 5 + // 66: ifnull +126 -> 192 + // 69: aload 5 + // 71: ldc_w 388 + // 74: invokevirtual 351 java/lang/String:contains (Ljava/lang/CharSequence;)Z + // 77: ifeq -20 -> 57 + // 80: aload 5 + // 82: ldc_w 353 + // 85: invokevirtual 356 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 88: astore 5 + // 90: aload 5 + // 92: arraylength + // 93: ifle +374 -> 467 + // 96: aload 5 + // 98: iconst_0 + // 99: aaload + // 100: ldc_w 358 + // 103: invokevirtual 362 java/lang/String:indexOf (Ljava/lang/String;)I + // 106: istore_0 + // 107: iload_0 + // 108: ifle +359 -> 467 + // 111: aload 5 + // 113: iconst_0 + // 114: aaload + // 115: invokevirtual 121 java/lang/String:length ()I + // 118: iload_0 + // 119: if_icmple +348 -> 467 + // 122: aload 5 + // 124: iconst_0 + // 125: aaload + // 126: iconst_0 + // 127: iload_0 + // 128: invokevirtual 366 java/lang/String:substring (II)Ljava/lang/String; + // 131: bipush 16 + // 133: invokestatic 369 java/lang/Long:parseLong (Ljava/lang/String;I)J + // 136: lstore_3 + // 137: aload 5 + // 139: iconst_0 + // 140: aaload + // 141: iload_0 + // 142: iconst_1 + // 143: iadd + // 144: invokevirtual 372 java/lang/String:substring (I)Ljava/lang/String; + // 147: bipush 16 + // 149: invokestatic 369 java/lang/Long:parseLong (Ljava/lang/String;I)J + // 152: lload_3 + // 153: lsub + // 154: lstore_3 + // 155: ldc_w 390 + // 158: iconst_1 + // 159: anewarray 4 java/lang/Object + // 162: dup + // 163: iconst_0 + // 164: lload_3 + // 165: invokestatic 378 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 168: aastore + // 169: invokestatic 347 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 172: pop + // 173: lload_3 + // 174: lconst_0 + // 175: lcmp + // 176: ifle +10 -> 186 + // 179: lload_3 + // 180: lload_1 + // 181: ladd + // 182: lstore_1 + // 183: goto -126 -> 57 + // 186: lload_3 + // 187: lneg + // 188: lstore_3 + // 189: goto -10 -> 179 + // 192: aload 6 + // 194: invokevirtual 288 java/io/BufferedReader:close ()V + // 197: aload 7 + // 199: invokevirtual 289 java/io/FileReader:close ()V + // 202: lload_1 + // 203: lreturn + // 204: astore 5 + // 206: aload 5 + // 208: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 211: ifne -14 -> 197 + // 214: aload 5 + // 216: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 219: goto -22 -> 197 + // 222: astore 5 + // 224: aload 5 + // 226: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 229: ifne -27 -> 202 + // 232: aload 5 + // 234: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 237: lload_1 + // 238: lreturn + // 239: astore 6 + // 241: aconst_null + // 242: astore 5 + // 244: aload 8 + // 246: astore 7 + // 248: ldc_w 292 + // 251: iconst_0 + // 252: anewarray 4 java/lang/Object + // 255: invokestatic 44 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 258: pop + // 259: aload 6 + // 261: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 264: ifne +8 -> 272 + // 267: aload 6 + // 269: invokevirtual 50 java/lang/Throwable:printStackTrace ()V + // 272: aload 7 + // 274: ifnull +8 -> 282 + // 277: aload 7 + // 279: invokevirtual 288 java/io/BufferedReader:close ()V + // 282: aload 5 + // 284: ifnull +8 -> 292 + // 287: aload 5 + // 289: invokevirtual 289 java/io/FileReader:close ()V + // 292: ldc2_w 293 + // 295: lreturn + // 296: astore 6 + // 298: aload 6 + // 300: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 303: ifne -21 -> 282 + // 306: aload 6 + // 308: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 311: goto -29 -> 282 + // 314: astore 5 + // 316: aload 5 + // 318: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 321: ifne -29 -> 292 + // 324: aload 5 + // 326: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 329: goto -37 -> 292 + // 332: astore 5 + // 334: aconst_null + // 335: astore 6 + // 337: aconst_null + // 338: astore 7 + // 340: aload 6 + // 342: ifnull +8 -> 350 + // 345: aload 6 + // 347: invokevirtual 288 java/io/BufferedReader:close ()V + // 350: aload 7 + // 352: ifnull +8 -> 360 + // 355: aload 7 + // 357: invokevirtual 289 java/io/FileReader:close ()V + // 360: aload 5 + // 362: athrow + // 363: astore 6 + // 365: aload 6 + // 367: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 370: ifne -20 -> 350 + // 373: aload 6 + // 375: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 378: goto -28 -> 350 + // 381: astore 6 + // 383: aload 6 + // 385: invokestatic 47 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 388: ifne -28 -> 360 + // 391: aload 6 + // 393: invokevirtual 290 java/io/IOException:printStackTrace ()V + // 396: goto -36 -> 360 + // 399: astore 5 + // 401: aconst_null + // 402: astore 6 + // 404: goto -64 -> 340 + // 407: astore 5 + // 409: goto -69 -> 340 + // 412: astore 8 + // 414: aload 7 + // 416: astore 6 + // 418: aload 5 + // 420: astore 7 + // 422: aload 8 + // 424: astore 5 + // 426: goto -86 -> 340 + // 429: astore 6 + // 431: aload 7 + // 433: astore 5 + // 435: aload 8 + // 437: astore 7 + // 439: goto -191 -> 248 + // 442: astore 9 + // 444: aload 6 + // 446: astore 5 + // 448: aload 7 + // 450: astore 8 + // 452: aload 9 + // 454: astore 6 + // 456: aload 5 + // 458: astore 7 + // 460: aload 8 + // 462: astore 5 + // 464: goto -216 -> 248 + // 467: goto -284 -> 183 + // Local variable table: + // start length slot name signature + // 106 38 0 i int + // 56 182 1 l1 long + // 136 53 3 l2 long + // 28 110 5 localObject1 Object + // 204 11 5 localIOException1 java.io.IOException + // 222 11 5 localIOException2 java.io.IOException + // 242 46 5 localObject2 Object + // 314 11 5 localIOException3 java.io.IOException + // 332 29 5 localObject3 Object + // 399 1 5 localObject4 Object + // 407 12 5 localObject5 Object + // 424 39 5 localObject6 Object + // 53 140 6 localBufferedReader java.io.BufferedReader + // 239 29 6 localThrowable1 Throwable + // 296 11 6 localIOException4 java.io.IOException + // 335 11 6 localObject7 Object + // 363 11 6 localIOException5 java.io.IOException + // 381 11 6 localIOException6 java.io.IOException + // 402 15 6 localObject8 Object + // 429 16 6 localThrowable2 Throwable + // 454 1 6 localObject9 Object + // 39 420 7 localObject10 Object + // 1 244 8 localObject11 Object + // 412 24 8 localObject12 Object + // 450 11 8 localObject13 Object + // 442 11 9 localThrowable3 Throwable + // Exception table: + // from to target type + // 192 197 204 java/io/IOException + // 197 202 222 java/io/IOException + // 30 41 239 java/lang/Throwable + // 277 282 296 java/io/IOException + // 287 292 314 java/io/IOException + // 30 41 332 finally + // 345 350 363 java/io/IOException + // 355 360 381 java/io/IOException + // 41 55 399 finally + // 57 64 407 finally + // 69 107 407 finally + // 111 173 407 finally + // 248 272 412 finally + // 41 55 429 java/lang/Throwable + // 57 64 442 java/lang/Throwable + // 69 107 442 java/lang/Throwable + // 111 173 442 java/lang/Throwable + } + + public final long i() + { + if (Environment.getExternalStorageState().equals("mounted")) {} + for (int i = 1; i == 0; i = 0) { + return 0L; + } + try + { + StatFs localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + i = localStatFs.getBlockSize(); + int j = localStatFs.getBlockCount(); + return j * i; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ get total sd error %s}", new Object[] { localThrowable.toString() }); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return -2L; + } + + public final long j() + { + if (Environment.getExternalStorageState().equals("mounted")) {} + for (int i = 1; i == 0; i = 0) { + return 0L; + } + try + { + StatFs localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + i = localStatFs.getBlockSize(); + int j = localStatFs.getAvailableBlocks(); + return j * i; + } + catch (Throwable localThrowable) + { + e.d("rqdp{ get free sd error %s}", new Object[] { localThrowable.toString() }); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return -2L; + } + + public final String m() + { + return a.a(this.b, "ro.board.platform"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/e.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/e.java new file mode 100755 index 00000000000..4e27d9d7074 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/e.java @@ -0,0 +1,160 @@ +package com.tencent.feedback.common; + +import android.util.Log; +import com.tencent.feedback.proguard.a; +import java.util.Locale; + +public final class e +{ + private static a a = null; + + private static a a() + { + try + { + a locala = a; + return locala; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static void a(a parama) + { + try + { + a = parama; + return; + } + finally + { + parama = finally; + throw parama; + } + } + + private static boolean a(int paramInt, String paramString, Object... paramVarArgs) + { + a locala = a(); + if (locala == null) { + return false; + } + String str; + if (paramString == null) { + str = "null"; + } + for (;;) + { + switch (paramInt) + { + default: + return false; + case 0: + locala.a(str); + return true; + str = paramString; + if (paramVarArgs != null) + { + str = paramString; + if (paramVarArgs.length != 0) { + str = String.format(Locale.US, paramString, paramVarArgs); + } + } + break; + } + } + locala.b(str); + return true; + locala.c(str); + return true; + locala.d(str); + return true; + } + + private static boolean a(int paramInt, Throwable paramThrowable) + { + a locala = a(); + if (locala == null) { + return false; + } + paramThrowable = a.a(paramThrowable); + switch (paramInt) + { + default: + return false; + case 0: + locala.a(paramThrowable); + return true; + case 1: + locala.b(paramThrowable); + return true; + case 2: + locala.c(paramThrowable); + return true; + } + locala.d(paramThrowable); + return true; + } + + public static boolean a(String paramString, Object... paramVarArgs) + { + return a(0, paramString, paramVarArgs); + } + + public static boolean a(Throwable paramThrowable) + { + return a(2, paramThrowable); + } + + public static boolean b(String paramString, Object... paramVarArgs) + { + return a(1, paramString, paramVarArgs); + } + + public static boolean b(Throwable paramThrowable) + { + return a(3, paramThrowable); + } + + public static boolean c(String paramString, Object... paramVarArgs) + { + return a(2, paramString, paramVarArgs); + } + + public static boolean d(String paramString, Object... paramVarArgs) + { + return a(3, paramString, paramVarArgs); + } + + public static class a + { + public void a(String paramString) + { + Log.i("eup", paramString); + } + + public void b(String paramString) + { + Log.d("eup", paramString); + } + + public void c(String paramString) + { + Log.w("eup", paramString); + } + + public void d(String paramString) + { + Log.e("eup", paramString); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/f.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/f.java new file mode 100755 index 00000000000..04f8dd8bdc4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/f.java @@ -0,0 +1,248 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.p; +import com.tencent.feedback.upload.UploadHandleListener; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +public final class f + implements UploadHandleListener +{ + private static f d = null; + private p a; + private p b; + private Context c = null; + + private f(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + this.c = paramContext; + com.tencent.feedback.upload.f.a(this.c).a(this); + c(); + if (d() > 0) { + e(); + } + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + public static f a(Context paramContext) + { + try + { + if (d == null) { + d = new f(paramContext); + } + paramContext = d; + return paramContext; + } + finally {} + } + + private p a() + { + try + { + p localp = this.a; + return localp; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void a(long paramLong1, long paramLong2, boolean paramBoolean) + { + for (;;) + { + long l3; + long l2; + long l1; + try + { + l3 = new Date().getTime(); + l2 = paramLong1 + paramLong2; + if (paramBoolean) + { + l1 = l2; + break label277; + if (this.b == null) + { + this.b = new p(1, l3, 1L, l1, l2, paramLong1, paramLong2); + if (this.a != null) { + break label190; + } + this.a = new p(0, l3, 1L, l1, l2, paramLong1, paramLong2); + } + } + else + { + l1 = 0L; + break label277; + } + long l4 = this.b.a(); + this.b = new p(1, this.b.b, 1L + this.b.c, this.b.d + l1, this.b.e + l2, this.b.f + paramLong1, this.b.g + paramLong2); + this.b.a(l4); + continue; + l3 = this.a.a(); + } + finally {} + label190: + this.a = new p(0, this.a.b, this.a.c + 1L, l1 + this.a.d, l2 + this.a.e, this.a.f + paramLong1, this.a.g + paramLong2); + this.a.a(l3); + continue; + label277: + if (paramBoolean) { + l2 = 0L; + } + } + } + + private void a(p paramp) + { + try + { + this.a = paramp; + return; + } + finally + { + paramp = finally; + throw paramp; + } + } + + private p b() + { + try + { + d(); + p localp = this.b; + return localp; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static p b(Context paramContext) + { + return a(paramContext).a(); + } + + private void b(p paramp) + { + try + { + this.b = paramp; + return; + } + finally + { + paramp = finally; + throw paramp; + } + } + + private void c() + { + Object localObject = a.a(this.c); + if (localObject != null) + { + localObject = ((List)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + p localp = (p)((Iterator)localObject).next(); + if (localp.a == 0) { + a(localp); + } else if (localp.a == 1) { + b(localp); + } + } + } + } + + public static void c(Context paramContext) + { + paramContext = a(paramContext); + long l = new Date().getTime(); + p localp = paramContext.a(); + if ((localp != null) && (localp.a() >= 0L)) { + a.b(paramContext.c, new p[] { localp }); + } + paramContext.a(new p(0, l, 0L, 0L, 0L, 0L, 0L)); + } + + private int d() + { + for (;;) + { + try + { + long l1 = a.c(); + long l2 = new Date().getTime(); + int i = 0; + if ((this.b == null) || (this.b.b < l1)) + { + this.b = new p(1, l2, 0L, 0L, 0L, 0L, 0L); + i = 1; + } + if (this.a == null) + { + this.a = new p(0, l2, 0L, 0L, 0L, 0L, 0L); + i += 1; + return i; + } + } + finally {} + } + } + + private void e() + { + ArrayList localArrayList = new ArrayList(); + p localp = a(); + if (localp != null) { + localArrayList.add(localp); + } + localp = b(); + if (localp != null) { + localArrayList.add(localp); + } + if (localArrayList.size() > 0) { + a.a(this.c, (p[])localArrayList.toArray(new p[localArrayList.size()])); + } + } + + public final void onUploadEnd(int paramInt1, int paramInt2, long paramLong1, long paramLong2, boolean paramBoolean, String paramString) + { + e.a("rqdp{ req:}%d rqdp{ res:}%d rqdp{ send:}%d rqdp{ recv:}%d rqdp{ result:}%b rqdp{ msg:}%s", new Object[] { Integer.valueOf(paramInt1), Integer.valueOf(paramInt2), Long.valueOf(paramLong1), Long.valueOf(paramLong2), Boolean.valueOf(paramBoolean), paramString }); + c(); + d(); + a(paramLong1, paramLong2, g.a(this.c)); + e(); + e.b("rqdp{ [total:}%s]rqdp{ \n[today:}%s]", new Object[] { a(), b() }); + } + + public final void onUploadStart(int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/g.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/g.java new file mode 100755 index 00000000000..f7070ab73f0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/g.java @@ -0,0 +1,70 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +public final class g +{ + private static boolean a = false; + private static boolean b = false; + + public static boolean a(Context paramContext) + { + paramContext = d(paramContext); + return (paramContext != null) && (paramContext.getType() == 1); + } + + public static boolean b(Context paramContext) + { + paramContext = d(paramContext); + return (paramContext != null) && (paramContext.isConnected()); + } + + public static String c(Context paramContext) + { + paramContext = d(paramContext); + if (paramContext == null) { + return "unknown"; + } + if (paramContext.getType() == 1) { + return "wifi"; + } + String str = paramContext.getExtraInfo(); + paramContext = str; + if (str != null) + { + paramContext = str; + if (str.length() > 64) { + paramContext = str.substring(0, 64); + } + } + return paramContext; + } + + private static NetworkInfo d(Context paramContext) + { + try + { + paramContext = (ConnectivityManager)paramContext.getSystemService("connectivity"); + if (paramContext == null) { + return null; + } + paramContext = paramContext.getActiveNetworkInfo(); + return paramContext; + } + catch (Throwable paramContext) + { + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/h.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/h.java new file mode 100755 index 00000000000..2e3112d3092 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/h.java @@ -0,0 +1,103 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import android.os.Build; +import com.tencent.feedback.proguard.a; +import java.io.File; +import java.util.ArrayList; +import java.util.Iterator; + +public final class h +{ + private static h b = null; + private static Context c; + private boolean a = false; + + protected h() + { + String str = Build.TAGS; + if ((str != null) && (str.contains("test-keys"))) { + e.b("rqdp{ test-keys}", new Object[0]); + } + for (;;) + { + if ((i == 0) && (!b()) && (!c())) { + this.a = false; + } + return; + i = 0; + } + } + + public static h a(Context paramContext) + { + try + { + if (b == null) + { + b = new h(); + c = paramContext; + } + paramContext = b; + return paramContext; + } + finally {} + } + + private static boolean b() + { + boolean bool = false; + try + { + if (new File("/system/app/Superuser.apk").exists()) + { + e.b("rqdp{ super_apk}", new Object[0]); + bool = true; + } + return bool; + } + catch (Exception localException) {} + return false; + } + + private static boolean c() + { + Object localObject = a.a(c, new String[] { "/system/bin/sh", "-c", "type su" }); + if ((localObject != null) && (((ArrayList)localObject).size() > 0)) + { + localObject = ((ArrayList)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + String str = (String)((Iterator)localObject).next(); + e.b(str, new Object[0]); + if (str.contains("not found")) { + return false; + } + } + e.b("rqdp{ sufile}", new Object[0]); + return true; + } + e.b("rqdp{ no response}", new Object[0]); + return false; + } + + public final boolean a() + { + try + { + boolean bool = this.a; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/common/i.java b/com.tencent.token/classes.jar/com/tencent/feedback/common/i.java new file mode 100755 index 00000000000..3d2d6eaf68b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/common/i.java @@ -0,0 +1,364 @@ +package com.tencent.feedback.common; + +import android.content.Context; +import com.tencent.feedback.proguard.s; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.w; +import com.tencent.feedback.proguard.w.a; +import com.tencent.feedback.proguard.x; +import com.tencent.feedback.proguard.z; +import com.tencent.feedback.upload.UploadHandleListener; +import com.tencent.feedback.upload.d; + +public class i + implements s, x +{ + protected final Context a; + private int b; + private int c; + private int d; + private boolean e; + private boolean f; + private com.tencent.feedback.upload.e g; + private d h; + private int i = 0; + + public i(Context paramContext, String paramString, int paramInt1, int paramInt2, int paramInt3, com.tencent.feedback.upload.e parame, d paramd, UploadHandleListener paramUploadHandleListener) + { + if (paramContext == null) {} + for (;;) + { + this.a = paramContext; + paramContext = c.a(this.a); + if ((paramString != null) && (paramString.trim().length() > 0)) { + paramContext.a(paramString); + } + this.b = 3; + this.c = 530; + this.d = 510; + this.g = parame; + this.h = paramd; + if (parame != null) + { + parame.a(paramd); + parame.a(paramUploadHandleListener); + } + paramContext = t.a(this.a); + paramContext.a(this); + paramContext.a(this); + paramContext.a(3, parame); + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + private void a(int paramInt) + { + try + { + this.i = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void c(boolean paramBoolean) + { + try + { + this.f = true; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private d l() + { + try + { + d locald = this.h; + return locald; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(w paramw) + { + e.b("rqdp{ com strateyg changed }%s", new Object[] { getClass().toString() }); + if (paramw != null) + { + paramw = paramw.c(this.b); + if (paramw != null) { + if ((!paramw.c()) || (!paramw.b())) { + break label94; + } + } + } + label94: + for (boolean bool = true;; bool = false) + { + if (a() != bool) + { + e.a("rqdp{ module} %d rqdp{ able changed }%b", new Object[] { Integer.valueOf(this.b), Boolean.valueOf(bool) }); + b(bool); + } + return; + } + } + + public final void a(boolean paramBoolean) + { + boolean bool = true; + Object localObject = t.a(this.a); + if (localObject != null) + { + localObject = ((t)localObject).b().c(this.b); + if ((localObject != null) && (((w.a)localObject).b() != paramBoolean)) + { + e.a("rqdp{ mid:}%d rqdp{ change user switch} %b", new Object[] { Integer.valueOf(this.b), Boolean.valueOf(paramBoolean) }); + ((w.a)localObject).a(paramBoolean); + if ((!((w.a)localObject).b()) || (!((w.a)localObject).c())) { + break label100; + } + } + } + label100: + for (paramBoolean = bool;; paramBoolean = false) + { + if (paramBoolean != a()) { + b(paramBoolean); + } + return; + } + } + + public final boolean a() + { + try + { + boolean bool = this.e; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void b(boolean paramBoolean) + { + try + { + this.e = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean b() + { + try + { + boolean bool = this.f; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final com.tencent.feedback.upload.e c() + { + try + { + com.tencent.feedback.upload.e locale = this.g; + return locale; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void d() + { + e.b("rqdp{ com query start }%s", new Object[] { getClass().toString() }); + a(k() + 1); + } + + public void e() + { + e.b("rqdp{ com query end }%s", new Object[] { getClass().toString() }); + if (!b()) + { + e.b("rqdp{ step after query}", new Object[0]); + c(true); + } + for (;;) + { + try + { + w localw = t.a(this.a).b(); + w.a locala = localw.c(this.b); + if ((a()) && (locala != null)) + { + e.b("rqdp{ isable}", new Object[0]); + bool1 = locala.d(); + boolean bool2 = localw.g(); + if (!bool1) { + break label360; + } + if (bool2) + { + bool1 = true; + e.b("rqdp{ needDetail} %b rqdp{ allQ:}%b rqdp{ result:}%b", new Object[] { Boolean.valueOf(locala.d()), Boolean.valueOf(localw.g()), Boolean.valueOf(bool1) }); + if (g() <= 0) { + break label365; + } + j = 1; + if (j != 0) + { + e.b("rqdp{ asyn up module} %d", new Object[] { Integer.valueOf(this.b) }); + b.b().a(new Runnable() + { + public final void run() + { + i.this.h(); + } + }); + } + } + else + { + if (i()) { + break label360; + } + z localz = com.tencent.feedback.proguard.a.a(this.a, this.d); + if (localz != null) + { + d locald = l(); + if (locald == null) + { + e.c("rqdp{ imposiable eup reshandler not ready}", new Object[0]); + break label360; + } + locald.a(this.d, localz.c(), false); + } + if (i()) { + break label360; + } + bool1 = true; + continue; + } + if (!bool1) { + break label359; + } + e.b("rqdp{ asyn query module }%d", new Object[] { Integer.valueOf(this.b) }); + b.b().a(new Runnable() + { + public final void run() + { + i.this.j(); + } + }); + return; + } + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + e.d("rqdp{ common query end error} %s", new Object[] { localThrowable.toString() }); + return; + } + e.b("rqdp{ disable}", new Object[0]); + label359: + return; + label360: + boolean bool1 = false; + continue; + label365: + int j = 0; + } + } + + public void f() + { + e.a("rqdp{ app first start} %s", new Object[] { getClass().toString() }); + } + + public int g() + { + if (!a()) { + return -1; + } + return 0; + } + + public boolean h() + { + return a(); + } + + public boolean i() + { + return true; + } + + public final boolean j() + { + if (!a()) {} + com.tencent.feedback.upload.e locale; + do + { + return false; + locale = c(); + } while (locale == null); + locale.a(new com.tencent.feedback.upload.a(this.a, this.b, this.c)); + return true; + } + + public final int k() + { + try + { + int j = this.i; + return j; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.common.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/BuglyBroadcastRecevier.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/BuglyBroadcastRecevier.java new file mode 100755 index 00000000000..92c755310fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/BuglyBroadcastRecevier.java @@ -0,0 +1,554 @@ +package com.tencent.feedback.eup; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.os.Process; +import android.util.Log; +import com.tencent.feedback.common.c; +import java.io.UnsupportedEncodingException; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class BuglyBroadcastRecevier + extends BroadcastReceiver +{ + public static final String ACTION_ENCRY_KEY = "feedback"; + public static final int ACTION_ENCRY_TYPE = 1; + public static final String ACTION_PROCESS_CRASHED = "com.tencent.feedback.A02"; + public static final String ACTION_PROCESS_LAUNCHED = "com.tencent.feedback.A01"; + public static final String BUNDLE_APPINFO = "com.tencent.feedback.B01"; + public static final String BUNDLE_CRASHINFO = "com.tencent.feedback.B02"; + public static final String PARAM_AVAIL_RAM = "com.tencent.feedback.P07"; + public static final String PARAM_AVAIL_ROM = "com.tencent.feedback.P13"; + public static final String PARAM_AVAIL_SDCARD = "com.tencent.feedback.P06"; + public static final String PARAM_CRASH_TYPE = "com.tencent.feedback.P05"; + public static final String PARAM_ENCRY_PKG_NAME = "com.tencent.feedback.P12"; + public static final String PARAM_EXP_MESSAGE = "com.tencent.feedback.P09"; + public static final String PARAM_EXP_STACK = "com.tencent.feedback.P010"; + public static final String PARAM_EXP_TYPE_NAME = "com.tencent.feedback.P08"; + public static final String PARAM_IS_FRONT_PROCESS = "com.tencent.feedback.P03"; + public static final String PARAM_PKG_NAME = "com.tencent.feedback.P01"; + public static final String PARAM_PROCESS_NAME = "com.tencent.feedback.P02"; + public static final String PARAM_SERVER_KEY_VALUE = "com.tencent.feedback.P17"; + public static final String PARAM_SERVER_SCENE_TAG = "com.tencent.feedback.P15"; + public static final String PARAM_SURVIVAL_TIME = "com.tencent.feedback.P011"; + public static final String PARAM_THREAD_NAME = "com.tencent.feedback.P04"; + public static final String PARAM_USER_KEY_VALUE = "com.tencent.feedback.P16"; + public static final String PARAM_USER_SCENE_TAG = "com.tencent.feedback.P14"; + public static final long UPLOADLIMITED = 60000L; + private static BuglyBroadcastRecevier instance = null; + private String lastAPN; + private Context mContext; + private IntentFilter mFilter = new IntentFilter(); + private final ProcessMoniterHandler monierHandler; + + public BuglyBroadcastRecevier() + { + this.monierHandler = null; + } + + public BuglyBroadcastRecevier(ProcessMoniterHandler paramProcessMoniterHandler) + { + this.monierHandler = paramProcessMoniterHandler; + } + + public static void brocastCrash(Context paramContext, e parame) + { + if ((paramContext == null) || (parame == null)) {} + do + { + return; + try + { + localObject1 = CrashReport.getCrashRuntimeStrategy(); + if (localObject1 != null) { + break; + } + com.tencent.feedback.common.e.d("magic! no crash stategy,no notify return ?", new Object[0]); + return; + } + catch (Throwable paramContext) {} + } while (com.tencent.feedback.common.e.a(paramContext)); + Log.w("eup", "something error " + paramContext.getClass().getName()); + return; + if (!((CrashStrategyBean)localObject1).isBroadcast()) + { + com.tencent.feedback.common.e.a("close brocast!", new Object[0]); + return; + } + com.tencent.feedback.common.e.a("notify crash !", new Object[0]); + Object localObject1 = com.tencent.feedback.common.a.b(paramContext); + Object localObject2 = com.tencent.feedback.proguard.a.a(((String)localObject1).getBytes("utf8"), 1, "feedback"); + Intent localIntent = new Intent("com.tencent.feedback.A02"); + localIntent.putExtra("com.tencent.feedback.P12", (byte[])localObject2); + localObject2 = new Bundle(); + ((Bundle)localObject2).putString("com.tencent.feedback.P01", (String)localObject1); + ((Bundle)localObject2).putString("com.tencent.feedback.P02", parame.q()); + ((Bundle)localObject2).putString("com.tencent.feedback.P04", parame.r()); + ((Bundle)localObject2).putByte("com.tencent.feedback.P05", parame.P()); + ((Bundle)localObject2).putLong("com.tencent.feedback.P13", parame.G()); + ((Bundle)localObject2).putLong("com.tencent.feedback.P06", parame.H()); + ((Bundle)localObject2).putLong("com.tencent.feedback.P07", parame.F()); + ((Bundle)localObject2).putString("com.tencent.feedback.P08", parame.e()); + ((Bundle)localObject2).putString("com.tencent.feedback.P09", parame.f()); + ((Bundle)localObject2).putString("com.tencent.feedback.P010", parame.h()); + ((Bundle)localObject2).putBoolean("com.tencent.feedback.P03", com.tencent.feedback.common.a.g(paramContext)); + ((Bundle)localObject2).putLong("com.tencent.feedback.P011", parame.Q()); + ((Bundle)localObject2).putInt("com.tencent.feedback.P14", parame.R()); + ((Bundle)localObject2).putInt("com.tencent.feedback.P15", parame.S()); + ((Bundle)localObject2).putBundle("com.tencent.feedback.P16", getBundleFromMap(parame.T())); + ((Bundle)localObject2).putBundle("com.tencent.feedback.P17", getBundleFromMap(parame.U())); + localIntent.putExtra("com.tencent.feedback.B02", (Bundle)localObject2); + paramContext.sendBroadcast(localIntent); + } + + protected static void brocastProcessLaunch(Context paramContext) + { + if (paramContext == null) {} + do + { + return; + try + { + localObject1 = CrashReport.getCrashRuntimeStrategy(); + if (localObject1 != null) { + break; + } + com.tencent.feedback.common.e.d("magic! no crash stategy,no notify return ?", new Object[0]); + return; + } + catch (Throwable paramContext) {} + } while (com.tencent.feedback.common.e.a(paramContext)); + Log.w("eup", "something error " + paramContext.getClass().getName()); + return; + if (!((CrashStrategyBean)localObject1).isBroadcast()) + { + com.tencent.feedback.common.e.a("close brocast!", new Object[0]); + return; + } + com.tencent.feedback.common.e.a("notify launch !", new Object[0]); + Object localObject1 = com.tencent.feedback.common.a.b(paramContext); + Object localObject2 = com.tencent.feedback.proguard.a.a(((String)localObject1).getBytes("utf8"), 1, "feedback"); + Intent localIntent = new Intent("com.tencent.feedback.A01"); + localIntent.putExtra("com.tencent.feedback.P12", (byte[])localObject2); + localObject2 = new Bundle(); + ((Bundle)localObject2).putString("com.tencent.feedback.P01", (String)localObject1); + ((Bundle)localObject2).putString("com.tencent.feedback.P02", com.tencent.feedback.common.a.a(Process.myPid())); + ((Bundle)localObject2).putBoolean("com.tencent.feedback.P03", com.tencent.feedback.common.a.g(paramContext)); + localIntent.putExtra("com.tencent.feedback.B01", (Bundle)localObject2); + paramContext.sendBroadcast(localIntent); + } + + private static Bundle getBundleFromMap(Map paramMap) + { + Bundle localBundle = new Bundle(); + if ((paramMap != null) && (paramMap.size() > 0)) + { + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + localBundle.putString((String)localEntry.getKey(), (String)localEntry.getValue()); + } + } + return localBundle; + } + + public static BuglyBroadcastRecevier getInstance() + { + try + { + if (instance == null) { + instance = new BuglyBroadcastRecevier(); + } + BuglyBroadcastRecevier localBuglyBroadcastRecevier = instance; + return localBuglyBroadcastRecevier; + } + finally {} + } + + public void addFilter(String paramString) + { + try + { + if (!this.mFilter.hasAction(paramString)) { + this.mFilter.addAction(paramString); + } + com.tencent.feedback.common.e.b("add action %s", new Object[] { paramString }); + return; + } + finally {} + } + + protected void finalize() + throws Throwable + { + super.finalize(); + if (this.mContext != null) { + this.mContext.unregisterReceiver(this); + } + } + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if (processConnectedBroadCast(paramContext, paramIntent)) {} + do + { + return; + CrashStrategyBean localCrashStrategyBean = CrashReport.getCrashRuntimeStrategy(); + if (localCrashStrategyBean == null) + { + com.tencent.feedback.common.e.d("magic! no crash stategy,no notify return ?", new Object[0]); + return; + } + if (!localCrashStrategyBean.isReceiveBroadcast()) + { + com.tencent.feedback.common.e.a("close proc receiver!", new Object[0]); + return; + } + } while ((processOtherProcessLaunched(paramContext, paramIntent)) || (!processOtherProcessCrashed(paramContext, paramIntent))); + } + + protected final boolean processConnectedBroadCast(Context paramContext, Intent paramIntent) + { + return false; + } + + /* Error */ + public final boolean processOtherProcessCrashed(Context paramContext, Intent paramIntent) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: ifnull +21 -> 24 + // 6: aload_2 + // 7: ifnull +17 -> 24 + // 10: aload_2 + // 11: invokevirtual 383 android/content/Intent:getAction ()Ljava/lang/String; + // 14: ldc 14 + // 16: invokevirtual 387 java/lang/String:equals (Ljava/lang/Object;)Z + // 19: istore_3 + // 20: iload_3 + // 21: ifne +9 -> 30 + // 24: iconst_0 + // 25: istore_3 + // 26: aload_0 + // 27: monitorexit + // 28: iload_3 + // 29: ireturn + // 30: aload_0 + // 31: getfield 102 com/tencent/feedback/eup/BuglyBroadcastRecevier:monierHandler Lcom/tencent/feedback/eup/ProcessMoniterHandler; + // 34: ifnonnull +19 -> 53 + // 37: ldc_w 389 + // 40: iconst_0 + // 41: anewarray 117 java/lang/Object + // 44: invokestatic 169 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 47: pop + // 48: iconst_1 + // 49: istore_3 + // 50: goto -24 -> 26 + // 53: aload_1 + // 54: invokevirtual 392 android/content/Context:getPackageName ()Ljava/lang/String; + // 57: astore 4 + // 59: aload_1 + // 60: invokestatic 397 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 63: invokevirtual 400 com/tencent/feedback/common/c:E ()Ljava/lang/String; + // 66: astore_1 + // 67: aload_2 + // 68: ldc 38 + // 70: invokevirtual 403 android/content/Intent:getByteArrayExtra (Ljava/lang/String;)[B + // 73: astore 5 + // 75: aload_2 + // 76: ldc 23 + // 78: invokevirtual 407 android/content/Intent:getBundleExtra (Ljava/lang/String;)Landroid/os/Bundle; + // 81: astore_2 + // 82: aload 5 + // 84: ifnull +7 -> 91 + // 87: aload_2 + // 88: ifnonnull +54 -> 142 + // 91: ldc_w 409 + // 94: iconst_2 + // 95: anewarray 117 java/lang/Object + // 98: dup + // 99: iconst_0 + // 100: new 131 java/lang/StringBuilder + // 103: dup + // 104: invokespecial 201 java/lang/StringBuilder: ()V + // 107: aload 5 + // 109: invokevirtual 412 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 112: invokevirtual 153 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 115: aastore + // 116: dup + // 117: iconst_1 + // 118: new 131 java/lang/StringBuilder + // 121: dup + // 122: invokespecial 201 java/lang/StringBuilder: ()V + // 125: aload_2 + // 126: invokevirtual 412 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 129: invokevirtual 153 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 132: aastore + // 133: invokestatic 415 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 136: pop + // 137: iconst_1 + // 138: istore_3 + // 139: goto -113 -> 26 + // 142: new 181 java/lang/String + // 145: dup + // 146: aload 5 + // 148: iconst_1 + // 149: ldc 8 + // 151: invokestatic 417 com/tencent/feedback/proguard/a:b ([BILjava/lang/String;)[B + // 154: ldc 179 + // 156: invokespecial 420 java/lang/String: ([BLjava/lang/String;)V + // 159: astore 5 + // 161: aload 5 + // 163: aload_2 + // 164: ldc 53 + // 166: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 169: invokevirtual 387 java/lang/String:equals (Ljava/lang/Object;)Z + // 172: ifne +46 -> 218 + // 175: ldc_w 426 + // 178: iconst_2 + // 179: anewarray 117 java/lang/Object + // 182: dup + // 183: iconst_0 + // 184: aload 5 + // 186: aastore + // 187: dup + // 188: iconst_1 + // 189: new 131 java/lang/StringBuilder + // 192: dup + // 193: invokespecial 201 java/lang/StringBuilder: ()V + // 196: aload_2 + // 197: ldc 53 + // 199: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 202: invokevirtual 150 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 205: invokevirtual 153 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 208: aastore + // 209: invokestatic 415 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 212: pop + // 213: iconst_1 + // 214: istore_3 + // 215: goto -189 -> 26 + // 218: new 131 java/lang/StringBuilder + // 221: dup + // 222: invokespecial 201 java/lang/StringBuilder: ()V + // 225: aload 5 + // 227: invokevirtual 150 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 230: aload_2 + // 231: ldc 56 + // 233: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 236: invokevirtual 150 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 239: invokevirtual 153 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 242: new 131 java/lang/StringBuilder + // 245: dup + // 246: invokespecial 201 java/lang/StringBuilder: ()V + // 249: aload 4 + // 251: invokevirtual 150 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 254: aload_1 + // 255: invokevirtual 150 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 258: invokevirtual 153 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 261: invokevirtual 387 java/lang/String:equals (Ljava/lang/Object;)Z + // 264: ifeq +19 -> 283 + // 267: ldc_w 428 + // 270: iconst_0 + // 271: anewarray 117 java/lang/Object + // 274: invokestatic 169 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 277: pop + // 278: iconst_1 + // 279: istore_3 + // 280: goto -254 -> 26 + // 283: ldc_w 430 + // 286: iconst_1 + // 287: anewarray 117 java/lang/Object + // 290: dup + // 291: iconst_0 + // 292: aload 5 + // 294: aastore + // 295: invokestatic 169 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 298: pop + // 299: aload_0 + // 300: getfield 102 com/tencent/feedback/eup/BuglyBroadcastRecevier:monierHandler Lcom/tencent/feedback/eup/ProcessMoniterHandler; + // 303: aload 5 + // 305: aload_2 + // 306: ldc 56 + // 308: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 311: aload_2 + // 312: ldc 68 + // 314: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 317: aload_2 + // 318: ldc 35 + // 320: invokevirtual 434 android/os/Bundle:getByte (Ljava/lang/String;)B + // 323: aload_2 + // 324: ldc 29 + // 326: invokevirtual 438 android/os/Bundle:getLong (Ljava/lang/String;)J + // 329: aload_2 + // 330: ldc 32 + // 332: invokevirtual 438 android/os/Bundle:getLong (Ljava/lang/String;)J + // 335: aload_2 + // 336: ldc 26 + // 338: invokevirtual 438 android/os/Bundle:getLong (Ljava/lang/String;)J + // 341: aload_2 + // 342: ldc 47 + // 344: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 347: aload_2 + // 348: ldc 41 + // 350: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 353: aload_2 + // 354: ldc 44 + // 356: invokevirtual 424 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 359: aload_2 + // 360: ldc 50 + // 362: invokevirtual 441 android/os/Bundle:getBoolean (Ljava/lang/String;)Z + // 365: aload_2 + // 366: ldc 65 + // 368: invokevirtual 438 android/os/Bundle:getLong (Ljava/lang/String;)J + // 371: aload_2 + // 372: invokeinterface 447 18 0 + // 377: ldc_w 449 + // 380: iconst_1 + // 381: anewarray 117 java/lang/Object + // 384: dup + // 385: iconst_0 + // 386: aload 5 + // 388: aastore + // 389: invokestatic 169 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 392: pop + // 393: iconst_1 + // 394: istore_3 + // 395: goto -369 -> 26 + // 398: astore_1 + // 399: aload_1 + // 400: invokevirtual 452 java/io/UnsupportedEncodingException:printStackTrace ()V + // 403: goto -10 -> 393 + // 406: astore_1 + // 407: aload_0 + // 408: monitorexit + // 409: aload_1 + // 410: athrow + // Local variable table: + // start length slot name signature + // 0 411 0 this BuglyBroadcastRecevier + // 0 411 1 paramContext Context + // 0 411 2 paramIntent Intent + // 19 376 3 bool boolean + // 57 193 4 str String + // 73 314 5 localObject Object + // Exception table: + // from to target type + // 53 82 398 java/io/UnsupportedEncodingException + // 91 137 398 java/io/UnsupportedEncodingException + // 142 213 398 java/io/UnsupportedEncodingException + // 218 278 398 java/io/UnsupportedEncodingException + // 283 393 398 java/io/UnsupportedEncodingException + // 10 20 406 finally + // 30 48 406 finally + // 53 82 406 finally + // 91 137 406 finally + // 142 213 406 finally + // 218 278 406 finally + // 283 393 406 finally + // 399 403 406 finally + } + + protected final boolean processOtherProcessLaunched(Context paramContext, Intent paramIntent) + { + boolean bool1 = true; + if ((paramContext != null) && (paramIntent != null)) {} + for (;;) + { + try + { + boolean bool2 = paramIntent.getAction().equals("com.tencent.feedback.A01"); + if (!bool2) + { + bool1 = false; + return bool1; + } + if (this.monierHandler == null) + { + com.tencent.feedback.common.e.a("no moniter handler", new Object[0]); + continue; + } + try + { + str = paramContext.getPackageName(); + paramContext = c.a(paramContext).E(); + localObject = paramIntent.getByteArrayExtra("com.tencent.feedback.P12"); + paramIntent = paramIntent.getBundleExtra("com.tencent.feedback.B01"); + if ((localObject != null) && (paramIntent != null)) { + break label155; + } + com.tencent.feedback.common.e.c("args fail other proc launch %s %s", new Object[] { localObject, paramIntent }); + } + catch (UnsupportedEncodingException paramContext) + { + paramContext.printStackTrace(); + } + } + finally {} + String str; + continue; + label155: + Object localObject = new String(com.tencent.feedback.proguard.a.b((byte[])localObject, 1, "feedback"), "utf8"); + if (!((String)localObject).equals(paramIntent.getString("com.tencent.feedback.P01"))) + { + com.tencent.feedback.common.e.c("args fail other proc launch inner %s %s", new Object[] { localObject, paramIntent.getString("com.tencent.feedback.P01") }); + } + else if (((String)localObject + paramIntent.getString("com.tencent.feedback.P02")).equals(str + paramContext)) + { + com.tencent.feedback.common.e.a("current proc not need to notify", new Object[0]); + } + else + { + com.tencent.feedback.common.e.a("notify other app lau %s", new Object[] { localObject }); + this.monierHandler.onOtherAppProcessLaunched((String)localObject, paramIntent.getString("com.tencent.feedback.P02"), paramIntent.getBoolean("com.tencent.feedback.P03"), paramIntent); + com.tencent.feedback.common.e.a("notify other app lau %s end", new Object[] { localObject }); + } + } + } + + public void regist(Context paramContext) + { + try + { + com.tencent.feedback.common.e.a("regis BC", new Object[0]); + paramContext.registerReceiver(this, this.mFilter); + this.mContext = paramContext; + return; + } + finally + { + paramContext = finally; + throw paramContext; + } + } + + public void unregist(Context paramContext) + { + try + { + com.tencent.feedback.common.e.a("unregis BC", new Object[0]); + paramContext.unregisterReceiver(this); + this.mContext = paramContext; + return; + } + finally + { + paramContext = finally; + throw paramContext; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.BuglyBroadcastRecevier + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashHandleListener.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashHandleListener.java new file mode 100755 index 00000000000..07a5183b1b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashHandleListener.java @@ -0,0 +1,20 @@ +package com.tencent.feedback.eup; + +public abstract interface CrashHandleListener +{ + public abstract byte[] getCrashExtraData(boolean paramBoolean, String paramString1, String paramString2, String paramString3, int paramInt, long paramLong); + + public abstract String getCrashExtraMessage(boolean paramBoolean, String paramString1, String paramString2, String paramString3, int paramInt, long paramLong); + + public abstract boolean onCrashHandleEnd(boolean paramBoolean); + + public abstract void onCrashHandleStart(boolean paramBoolean); + + public abstract boolean onCrashSaving(boolean paramBoolean, String paramString1, String paramString2, String paramString3, int paramInt, long paramLong, String paramString4, String paramString5, String paramString6); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.CrashHandleListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashReport.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashReport.java new file mode 100755 index 00000000000..2616d6ad847 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashReport.java @@ -0,0 +1,457 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import com.tencent.feedback.common.c; +import com.tencent.feedback.common.e; +import com.tencent.feedback.common.e.a; +import com.tencent.feedback.eup.jni.NativeExceptionHandler; +import com.tencent.feedback.eup.jni.NativeExceptionUpload; +import com.tencent.feedback.proguard.o; +import com.tencent.feedback.proguard.p; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.u; +import com.tencent.feedback.proguard.y; +import com.tencent.feedback.upload.AbstractUploadDatas; +import com.tencent.feedback.upload.UploadHandleListener; +import java.io.File; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ScheduledExecutorService; + +public class CrashReport +{ + public static boolean addPlugin(Context paramContext, String paramString1, String paramString2, String paramString3) + { + if ((paramString1 == null) || (paramString2 == null)) { + return false; + } + c localc = c.a(paramContext); + paramContext = paramString3; + if (paramString3 == null) { + paramContext = ""; + } + return localc.a(paramString1, paramString2, paramContext); + } + + public static void clearSDKTotalConsume(Context paramContext) + { + com.tencent.feedback.common.f.c(paramContext); + } + + public static int countExceptionDatas(Context paramContext) + { + if (!f.o()) { + return -1; + } + paramContext = f.l(); + if (paramContext == null) + { + e.c("rqdp{ instance == null}", new Object[0]); + return -1; + } + return paramContext.g(); + } + + public static int countStoredRecord(Context paramContext) + { + return b.b(paramContext); + } + + public static boolean doUploadExceptionDatas() + { + return f.n(); + } + + public static Set getAllUserDataKeys(Context paramContext) + { + if (paramContext == null) { + e.c("getAllUserDataKeys args context should not be null", new Object[0]); + } + return c.a(paramContext).J(); + } + + public static CrashStrategyBean getCrashRuntimeStrategy() + { + try + { + CrashStrategyBean localCrashStrategyBean = f.l().s(); + return localCrashStrategyBean; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return null; + } + + public static byte[] getExceptionDatas(Context paramContext) + { + paramContext = f.m(); + if (paramContext != null) + { + byte[] arrayOfByte = paramContext.a(true); + if (arrayOfByte != null) { + paramContext.done(true); + } + return arrayOfByte; + } + return null; + } + + public static long getSDKTotalConsume(Context paramContext, boolean paramBoolean) + { + paramContext = com.tencent.feedback.common.f.b(paramContext); + if (paramContext != null) + { + if (paramBoolean) { + return paramContext.e; + } + return paramContext.d + paramContext.e; + } + return -1L; + } + + public static String getUserData(Context paramContext, String paramString) + { + if (paramContext == null) {} + for (;;) + { + return null; + if ((paramString != null) && (paramString.trim().length() > 0)) {} + for (int i = 0; i == 0; i = 1) { + return c.a(paramContext).k(paramString); + } + } + } + + public static int getUserDatasSize(Context paramContext) + { + if (paramContext == null) { + e.c("getUserDatasSize args context should not be null", new Object[0]); + } + return c.a(paramContext).I(); + } + + public static int getUserSceneTagId(Context paramContext) + { + if (paramContext == null) + { + e.c("get user scene tag context is null", new Object[0]); + return -1; + } + return c.a(paramContext).F(); + } + + public static boolean handleCatchException(Thread paramThread, Throwable paramThrowable, String paramString, byte[] paramArrayOfByte) + { + return f.a(paramThread, paramThrowable, paramString, paramArrayOfByte); + } + + public static void initCrashReport(Context paramContext) + { + initCrashReport(paramContext, null, null, true, null); + } + + public static void initCrashReport(Context paramContext, CrashHandleListener paramCrashHandleListener, UploadHandleListener paramUploadHandleListener, boolean paramBoolean, CrashStrategyBean paramCrashStrategyBean) + { + f.a(paramContext, "10000", false, f.a(paramContext, paramBoolean), paramUploadHandleListener, paramCrashHandleListener, paramCrashStrategyBean); + } + + public static void initCrashReport(Context paramContext, CrashHandleListener paramCrashHandleListener, UploadHandleListener paramUploadHandleListener, boolean paramBoolean, CrashStrategyBean paramCrashStrategyBean, long paramLong) + { + if (paramLong > 0L) + { + long l = paramLong; + if (paramLong > 10000L) { + l = 10000L; + } + u.a(l); + } + f.a(paramContext, null, false, f.a(paramContext, paramBoolean), paramUploadHandleListener, paramCrashHandleListener, paramCrashStrategyBean); + } + + public static void initCrashReport(Context paramContext, boolean paramBoolean) + { + f.a(paramContext, "10000", false, f.a(paramContext, paramBoolean), null, null, null); + } + + public static void initNativeCrashReport(Context paramContext, String paramString, boolean paramBoolean) + { + initNativeCrashReport(paramContext, paramString, paramBoolean, null, null); + } + + public static void initNativeCrashReport(Context paramContext, String paramString, boolean paramBoolean, List paramList) + { + initNativeCrashReport(paramContext, paramString, paramBoolean, paramList, null); + } + + public static void initNativeCrashReport(Context paramContext, String paramString, boolean paramBoolean, List paramList, File paramFile) + { + if (com.tencent.feedback.eup.jni.b.a() != null) + { + e.a("already inited Native", new Object[0]); + return; + } + Object localObject; + if (paramFile != null) + { + if (!NativeExceptionUpload.loadRQDNativeLib(paramFile)) + { + e.d("load lib fail %s close native return!", new Object[] { paramFile.getAbsoluteFile() }); + return; + } + e.a("load lib sucess from specify!", new Object[0]); + localObject = com.tencent.feedback.eup.jni.b.a(paramContext); + ((com.tencent.feedback.eup.jni.b)localObject).a(paramString); + NativeExceptionUpload.setmHandler((NativeExceptionHandler)localObject); + localObject = paramList; + if (paramFile != null) + { + localObject = paramList; + if (paramList == null) { + localObject = new ArrayList(); + } + ((List)localObject).add(paramFile); + } + if ((paramContext != null) && (paramString != null)) { + break label197; + } + e.c("rqdp{ nreg param!}", new Object[0]); + } + for (;;) + { + com.tencent.feedback.common.d.a(paramContext); + paramList = com.tencent.feedback.common.d.d(); + com.tencent.feedback.common.d.a(paramContext); + NativeExceptionUpload.registEUP(paramString, paramList, Integer.parseInt(com.tencent.feedback.common.d.c())); + NativeExceptionUpload.enableNativeEUP(true); + if (!paramBoolean) { + break label342; + } + NativeExceptionUpload.setNativeLogMode(3); + return; + if (!NativeExceptionUpload.loadRQDNativeLib()) + { + e.d("load lib fail default close native return!", new Object[0]); + return; + } + e.a("load lib sucess default!", new Object[0]); + break; + label197: + paramList = f.l().s(); + long l1 = com.tencent.feedback.proguard.a.c(); + long l2 = paramList.getRecordOverDays() * 24 * 3600 * 1000; + int i = paramList.getMaxStoredNum(); + t.a(paramContext).a(new com.tencent.feedback.eup.jni.d(paramContext, paramString, l1 - l2, i, "tomb_", ".txt")); + e.a("add clean task to query listener", new Object[0]); + paramList = "/data/data/" + paramContext.getPackageName() + "/lib/"; + if (c.a(paramContext).A() == null) + { + e.b("no setted SO , query so!", new Object[0]); + com.tencent.feedback.common.b.b().a(new com.tencent.feedback.eup.jni.a(paramContext, paramList, (List)localObject)); + } + } + label342: + NativeExceptionUpload.setNativeLogMode(5); + } + + public static void putUserData(Context paramContext, String paramString1, String paramString2) + { + if (paramContext == null) + { + e.c("putUserData args context should not be null", new Object[0]); + return; + } + if ((paramString1 != null) && (paramString1.trim().length() > 0)) {} + for (int i = 0; i != 0; i = 1) + { + e.c("putUserData args key should not be null", new Object[0]); + return; + } + if (!paramString1.matches("[a-zA-Z[0-9]]+")) + { + e.c("putUserData args key should match [a-zA-Z[0-9]]+ {" + paramString1 + "}", new Object[0]); + return; + } + Object localObject = paramString2; + paramString2 = (String)localObject; + if (((String)localObject).length() > 200) + { + e.c("user data value length over limit %d , has been cutted!", new Object[] { Integer.valueOf(200) }); + paramString2 = ((String)localObject).substring(0, 200); + } + localObject = c.a(paramContext); + if (((c)localObject).J().contains(paramString1)) + { + c.a(paramContext).a(paramString1, paramString2); + e.b("replace KV %s %s", new Object[] { paramString1, paramString2 }); + return; + } + if (((c)localObject).I() >= 10) + { + e.c("user data size is over limit %d , will drop this new key %s", new Object[] { Integer.valueOf(10), paramString1 }); + return; + } + if (paramString1.length() > 50) + { + e.c("user data key length over limit %d , will drop this new key %s", new Object[] { Integer.valueOf(50), paramString1 }); + return; + } + c.a(paramContext).a(paramString1, paramString2); + e.b("added KV %s %s", new Object[] { paramString1, paramString2 }); + } + + public static void removePlugin(Context paramContext, String paramString) + { + if (paramString != null) { + c.a(paramContext).f(paramString); + } + } + + public static String removeUserData(Context paramContext, String paramString) + { + int i = 0; + if (paramContext == null) { + e.c("removeUserData args context should not be null", new Object[0]); + } + if ((paramString != null) && (paramString.trim().length() > 0)) {} + while (i != 0) + { + return null; + i = 1; + } + return c.a(paramContext).j(paramString); + } + + public static void setAPKSHa1(Context paramContext, String paramString) + { + c.a(paramContext).d(paramString); + e.b("set sha1 %s", new Object[] { paramString }); + } + + public static void setCountryName(Context paramContext, String paramString) + { + c.a(paramContext).g(paramString); + } + + public static void setCrashReportAble(boolean paramBoolean) + { + f localf = f.l(); + if (localf != null) { + localf.a(paramBoolean); + } + } + + public static void setDengta_AppKey(Context paramContext, String paramString) + { + c.a(paramContext).e(paramString); + e.b("setted beacon appkey %s", new Object[] { paramString }); + } + + public static void setDeviceId(Context paramContext, String paramString) + { + c.a(paramContext).b(paramString); + } + + public static void setDeviceRooted(Context paramContext, boolean paramBoolean) + { + c.a(paramContext).a(paramBoolean); + e.b("setted isRT %s", new Object[] { paramBoolean }); + } + + public static void setLogAble(boolean paramBoolean1, boolean paramBoolean2) + { + if (paramBoolean1) {} + for (e.a locala = new e.a();; locala = null) + { + e.a(locala); + if (paramBoolean1) { + e.c("'setLogAble(boolean)' is true , so running in debug model , close it when you release!", new Object[0]); + } + return; + } + } + + public static void setNativeCrashReportAble(boolean paramBoolean) + { + NativeExceptionUpload.enableNativeEUP(paramBoolean); + } + + public static void setProductID(Context paramContext, String paramString) + { + c.a(paramContext).i(paramString); + e.b("setted ProductID %s", new Object[] { paramString }); + } + + public static void setProductVersion(Context paramContext, String paramString) + { + c.a(paramContext).h(paramString); + e.b("setted version %s", new Object[] { paramString }); + } + + public static void setSOFile(Context paramContext, List paramList) + { + if (paramList != null) + { + ArrayList localArrayList = new ArrayList(); + paramContext = c.a(paramContext); + paramList = paramList.iterator(); + while (paramList.hasNext()) + { + SOFile localSOFile = (SOFile)paramList.next(); + o localo = new o(); + localo.a(localSOFile.fileName); + localo.c(localSOFile.arch); + localo.b(localSOFile.sha1); + e.b("setsofile %s %s %s", new Object[] { localo.a(), localo.f(), localo.d() }); + localArrayList.add(localo); + } + if (localArrayList.size() > 0) + { + paramContext.a(localArrayList); + e.b("setted so count %d", new Object[] { Integer.valueOf(localArrayList.size()) }); + } + } + } + + public static void setThreadPoolService(ScheduledExecutorService paramScheduledExecutorService) + { + com.tencent.feedback.common.b.a(com.tencent.feedback.common.b.a(paramScheduledExecutorService)); + } + + public static void setUserId(Context paramContext, String paramString) + { + c.a(paramContext).a(paramString); + paramContext = y.a(); + if (paramContext != null) + { + e.b("record uidstate async", new Object[0]); + paramContext.c(); + } + } + + public static void setUserSceneTag(Context paramContext, int paramInt) + { + if (paramContext == null) + { + e.c("setTag args context should not be null", new Object[0]); + return; + } + if (paramInt <= 0) + { + e.c("setTag args tagId should > 0", new Object[0]); + return; + } + c.a(paramContext).a(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.CrashReport + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashStrategyBean.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashStrategyBean.java new file mode 100755 index 00000000000..72df569ce38 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/CrashStrategyBean.java @@ -0,0 +1,657 @@ +package com.tencent.feedback.eup; + +import com.tencent.feedback.common.e; +import java.util.Locale; + +public class CrashStrategyBean + implements Cloneable +{ + public static final String format = "[MSNum:%d ,Wifi:%d,GPRS:%d,ODay:%d,isMerged:%b,AfQ:%b,Silent:%b,mLog:%d,tag:%s,assert:%s, interval:%s, limit:%s]"; + private int a = 10; + private int b = 10; + private int c = 3; + private int d = 10; + private boolean e = true; + private boolean f = false; + private boolean g = true; + private int h = 100; + private String i = null; + private boolean j = false; + private String k = null; + private int l = 5000; + private int m = 3; + private int n = 100; + private boolean o = false; + private int p = 60; + private int q = 50; + private boolean r = true; + private boolean s = false; + private boolean t = false; + + public CrashStrategyBean clone() + throws CloneNotSupportedException + { + try + { + CrashStrategyBean localCrashStrategyBean = new CrashStrategyBean(); + localCrashStrategyBean.setEnableAfterQuery(this.f); + localCrashStrategyBean.setMaxStoredNum(this.a); + localCrashStrategyBean.setMaxUploadNum_GPRS(this.c); + localCrashStrategyBean.setMaxUploadNum_Wifi(this.b); + localCrashStrategyBean.setMerged(this.e); + localCrashStrategyBean.setRecordOverDays(this.d); + localCrashStrategyBean.setSilentUpload(this.g); + localCrashStrategyBean.setMaxLogRow(this.h); + localCrashStrategyBean.setOnlyLogTag(this.i); + localCrashStrategyBean.setAssertEnable(this.o); + localCrashStrategyBean.setAssertTaskInterval(this.p); + localCrashStrategyBean.setAssertLimitCount(this.q); + return localCrashStrategyBean; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getAssertLimitCount() + { + try + { + int i1 = this.q; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getAssertTaskInterval() + { + try + { + int i1 = this.p; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getCrashSdcardMaxSize() + { + try + { + int i1 = this.l; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxLogRow() + { + try + { + int i1 = this.h; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxStackFrame() + { + try + { + int i1 = this.m; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxStackLine() + { + try + { + int i1 = this.n; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxStoredNum() + { + try + { + int i1 = this.a; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxUploadNum_GPRS() + { + try + { + int i1 = this.c; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getMaxUploadNum_Wifi() + { + try + { + int i1 = this.b; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public String getOnlyLogTag() + { + try + { + String str = this.i; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public int getRecordOverDays() + { + try + { + int i1 = this.d; + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public String getStoreDirectoryPath() + { + try + { + String str = this.k; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isAssertOn() + { + try + { + boolean bool = this.o; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isBroadcast() + { + try + { + boolean bool = this.s; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isEnableAfterQuery() + { + try + { + boolean bool = this.f; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isMerged() + { + try + { + boolean bool = this.e; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isOpenANR() + { + try + { + boolean bool = this.r; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isReceiveBroadcast() + { + try + { + boolean bool = this.t; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isSilentUpload() + { + try + { + boolean bool = this.g; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean isStoreCrashSdcard() + { + try + { + boolean bool = this.j; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setAssertEnable(boolean paramBoolean) + { + try + { + this.o = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setAssertLimitCount(int paramInt) + { + if (paramInt < 50) {} + for (;;) + { + try + { + e.a("rqdp{The trigger count of the assert store is smaller than the default count.} [%s]", new Object[] { Integer.valueOf(paramInt) }); + } + finally {} + this.q = paramInt; + return; + paramInt = 50; + continue; + if (paramInt <= 0) {} + } + } + + public void setAssertTaskInterval(int paramInt) + { + if (paramInt < 60) {} + for (;;) + { + try + { + e.a("rqdp{The interval of assert check task is smaller than the default time.} [%s s]", new Object[] { Integer.valueOf(paramInt) }); + } + finally {} + this.p = paramInt; + return; + paramInt = 60; + continue; + if (paramInt <= 0) {} + } + } + + public void setBroadcast(boolean paramBoolean) + { + try + { + this.s = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setCrashSdcardMaxSize(int paramInt) + { + if (paramInt > 0) {} + try + { + this.l = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setEnableAfterQuery(boolean paramBoolean) + { + try + { + this.f = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxLogRow(int paramInt) + { + if (paramInt > 0) {} + try + { + this.h = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxStackFrame(int paramInt) + { + try + { + this.m = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxStackLine(int paramInt) + { + try + { + this.n = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxStoredNum(int paramInt) + { + if ((paramInt > 0) && (paramInt <= 20)) {} + try + { + this.a = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxUploadNum_GPRS(int paramInt) + { + if (paramInt > 0) {} + try + { + this.c = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMaxUploadNum_Wifi(int paramInt) + { + if (paramInt > 0) {} + try + { + this.b = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setMerged(boolean paramBoolean) + { + try + { + this.e = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setOnlyLogTag(String paramString) + { + try + { + this.i = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public void setOpenANR(boolean paramBoolean) + { + try + { + this.r = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setReceiveBroadcast(boolean paramBoolean) + { + try + { + this.t = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setRecordOverDays(int paramInt) + { + if (paramInt > 0) {} + try + { + this.d = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setSilentUpload(boolean paramBoolean) + { + try + { + this.g = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setStoreCrashSdcard(boolean paramBoolean) + { + try + { + this.j = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void setStoreDirectoryPath(String paramString) + { + try + { + this.k = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public String toString() + { + try + { + String str1 = String.format(Locale.US, "[MSNum:%d ,Wifi:%d,GPRS:%d,ODay:%d,isMerged:%b,AfQ:%b,Silent:%b,mLog:%d,tag:%s,assert:%s, interval:%s, limit:%s]", new Object[] { Integer.valueOf(this.a), Integer.valueOf(this.b), Integer.valueOf(this.c), Integer.valueOf(this.d), Boolean.valueOf(this.e), Boolean.valueOf(this.f), Boolean.valueOf(this.g), Integer.valueOf(this.h), this.i, Boolean.valueOf(this.o), Integer.valueOf(this.q), Integer.valueOf(this.p) }); + return str1; + } + catch (Throwable localThrowable) + { + for (;;) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + String str2 = "error"; + } + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.CrashStrategyBean + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/ProcessMoniterHandler.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/ProcessMoniterHandler.java new file mode 100755 index 00000000000..94b74efe647 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/ProcessMoniterHandler.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.eup; + +import android.os.Bundle; + +public abstract interface ProcessMoniterHandler +{ + public abstract void onOtherAppProcessCrash(String paramString1, String paramString2, String paramString3, int paramInt, long paramLong1, long paramLong2, long paramLong3, String paramString4, String paramString5, String paramString6, boolean paramBoolean, long paramLong4, Bundle paramBundle); + + public abstract void onOtherAppProcessLaunched(String paramString1, String paramString2, boolean paramBoolean, Bundle paramBundle); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.ProcessMoniterHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/SOFile.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/SOFile.java new file mode 100755 index 00000000000..c4666ebab42 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/SOFile.java @@ -0,0 +1,24 @@ +package com.tencent.feedback.eup; + +public class SOFile +{ + public final String arch; + public final String fileName; + public final String sha1; + + public SOFile(String paramString1, String paramString2, String paramString3) + { + if ((paramString1 == null) || (paramString2 == null) || (paramString3 == null)) { + throw new RuntimeException("SOFile args should not be null!"); + } + this.fileName = paramString1; + this.arch = paramString2; + this.sha1 = paramString3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.SOFile + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/a.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/a.java new file mode 100755 index 00000000000..22aa0d1af33 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/a.java @@ -0,0 +1,74 @@ +package com.tencent.feedback.eup; + +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; + +public final class a + extends LinkedList +{ + private int a = -1; + + public a() {} + + public a(int paramInt) + { + this.a = paramInt; + } + + public final void add(int paramInt, E paramE) + { + if (size() == this.a) { + removeFirst(); + } + super.add(paramInt, paramE); + } + + public final boolean add(E paramE) + { + if (size() == this.a) { + removeFirst(); + } + return super.add(paramE); + } + + public final boolean addAll(int paramInt, Collection paramCollection) + { + throw new UnsupportedOperationException(); + } + + public final boolean addAll(Collection paramCollection) + { + int i = size() + paramCollection.size() - this.a; + if (i > 0) { + removeRange(0, i); + } + return super.addAll(paramCollection); + } + + public final void addFirst(E paramE) + { + throw new UnsupportedOperationException(); + } + + public final void addLast(E paramE) + { + add(paramE); + } + + public final String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + Iterator localIterator = iterator(); + while (localIterator.hasNext()) { + localStringBuilder.append(localIterator.next().toString()); + } + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/b.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/b.java new file mode 100755 index 00000000000..f657a34feb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/b.java @@ -0,0 +1,1474 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import android.os.Environment; +import com.tencent.feedback.common.c; +import com.tencent.feedback.proguard.j; +import com.tencent.feedback.proguard.l; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class b +{ + private StringBuilder a; + private int b = 0; + + public b(StringBuilder paramStringBuilder, int paramInt) + { + this.a = paramStringBuilder; + this.b = paramInt; + } + + public static int a(Context paramContext, List paramList) + { + int i = 0; + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.deleteEupList() start}", new Object[0]); + if (paramContext == null) + { + com.tencent.feedback.common.e.c("rqdp{ deleteEupList() have null args!}", new Object[0]); + i = -1; + } + while (paramList.size() <= 0) { + return i; + } + Long[] arrayOfLong = new Long[paramList.size()]; + i = 0; + while (i < paramList.size()) + { + arrayOfLong[i] = Long.valueOf(((e)paramList.get(i)).a()); + i += 1; + } + return l.a(paramContext, arrayOfLong); + } + + /* Error */ + public static e a(Context paramContext, String paramString1, String paramString2, long paramLong1, Map paramMap, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7, String paramString8, long paramLong2, String paramString9, byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 49 com/tencent/feedback/eup/e + // 3: dup + // 4: invokespecial 67 com/tencent/feedback/eup/e: ()V + // 7: astore 18 + // 9: aload 18 + // 11: aload 6 + // 13: invokevirtual 71 com/tencent/feedback/eup/e:i (Ljava/lang/String;)V + // 16: aload 18 + // 18: aload 7 + // 20: invokevirtual 74 com/tencent/feedback/eup/e:j (Ljava/lang/String;)V + // 23: aload 18 + // 25: lload 12 + // 27: lload_3 + // 28: ladd + // 29: invokevirtual 77 com/tencent/feedback/eup/e:b (J)V + // 32: aload 14 + // 34: astore 6 + // 36: aload 14 + // 38: ifnull +39 -> 77 + // 41: aload 14 + // 43: astore 6 + // 45: aload 14 + // 47: invokevirtual 82 java/lang/String:length ()I + // 50: sipush 10000 + // 53: if_icmple +24 -> 77 + // 56: aload 14 + // 58: aload 14 + // 60: invokevirtual 82 java/lang/String:length ()I + // 63: sipush 10000 + // 66: isub + // 67: aload 14 + // 69: invokevirtual 82 java/lang/String:length ()I + // 72: invokevirtual 86 java/lang/String:substring (II)Ljava/lang/String; + // 75: astore 6 + // 77: aload 15 + // 79: astore 7 + // 81: aload 15 + // 83: ifnull +98 -> 181 + // 86: aload 15 + // 88: astore 7 + // 90: aload 15 + // 92: arraylength + // 93: sipush 10000 + // 96: if_icmple +85 -> 181 + // 99: sipush 10000 + // 102: newarray byte + // 104: astore 7 + // 106: aload 7 + // 108: arraylength + // 109: iconst_1 + // 110: isub + // 111: istore 17 + // 113: aload 15 + // 115: arraylength + // 116: iconst_1 + // 117: isub + // 118: istore 16 + // 120: iload 17 + // 122: iflt +59 -> 181 + // 125: iload 16 + // 127: iflt +54 -> 181 + // 130: aload 7 + // 132: iload 17 + // 134: aload 15 + // 136: iload 16 + // 138: baload + // 139: bastore + // 140: iload 17 + // 142: iconst_1 + // 143: isub + // 144: istore 17 + // 146: iload 16 + // 148: iconst_1 + // 149: isub + // 150: istore 16 + // 152: goto -32 -> 120 + // 155: astore 7 + // 157: aload 14 + // 159: astore 6 + // 161: aload 7 + // 163: invokestatic 89 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 166: ifne -89 -> 77 + // 169: aload 7 + // 171: invokevirtual 92 java/lang/Throwable:printStackTrace ()V + // 174: aload 14 + // 176: astore 6 + // 178: goto -101 -> 77 + // 181: aload 18 + // 183: aload 6 + // 185: invokevirtual 95 com/tencent/feedback/eup/e:k (Ljava/lang/String;)V + // 188: aload 18 + // 190: aload 7 + // 192: invokevirtual 98 com/tencent/feedback/eup/e:b ([B)V + // 195: aload 18 + // 197: aload 8 + // 199: invokevirtual 100 com/tencent/feedback/eup/e:c (Ljava/lang/String;)V + // 202: aload 10 + // 204: ifnull +14 -> 218 + // 207: aload 10 + // 209: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 212: invokevirtual 82 java/lang/String:length ()I + // 215: ifne +548 -> 763 + // 218: ldc 106 + // 220: astore 6 + // 222: aload 18 + // 224: aload 6 + // 226: invokevirtual 108 com/tencent/feedback/eup/e:b (Ljava/lang/String;)V + // 229: aload 18 + // 231: aload 9 + // 233: invokevirtual 110 com/tencent/feedback/eup/e:a (Ljava/lang/String;)V + // 236: aload 11 + // 238: ifnull +18 -> 256 + // 241: aload 11 + // 243: astore 6 + // 245: aload 11 + // 247: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 250: invokevirtual 82 java/lang/String:length ()I + // 253: ifne +7 -> 260 + // 256: ldc 112 + // 258: astore 6 + // 260: aload 18 + // 262: aload 6 + // 264: invokevirtual 115 com/tencent/feedback/eup/e:d (Ljava/lang/String;)V + // 267: aload 18 + // 269: ldc 116 + // 271: invokevirtual 119 com/tencent/feedback/eup/e:a (F)V + // 274: aload_0 + // 275: invokestatic 124 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 278: astore 6 + // 280: aload 18 + // 282: invokestatic 127 com/tencent/feedback/common/d:h ()J + // 285: invokevirtual 129 com/tencent/feedback/eup/e:c (J)V + // 288: aload 18 + // 290: aload 6 + // 292: invokevirtual 131 com/tencent/feedback/common/d:j ()J + // 295: invokevirtual 134 com/tencent/feedback/eup/e:e (J)V + // 298: aload 18 + // 300: invokestatic 137 com/tencent/feedback/common/d:f ()J + // 303: invokevirtual 139 com/tencent/feedback/eup/e:d (J)V + // 306: aload 18 + // 308: invokestatic 142 com/tencent/feedback/common/d:n ()J + // 311: invokevirtual 144 com/tencent/feedback/eup/e:i (J)V + // 314: aload 18 + // 316: invokestatic 147 com/tencent/feedback/common/d:o ()J + // 319: invokevirtual 149 com/tencent/feedback/eup/e:j (J)V + // 322: ldc 151 + // 324: iconst_5 + // 325: anewarray 4 java/lang/Object + // 328: dup + // 329: iconst_0 + // 330: aload 18 + // 332: invokevirtual 154 com/tencent/feedback/eup/e:F ()J + // 335: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 338: aastore + // 339: dup + // 340: iconst_1 + // 341: aload 18 + // 343: invokevirtual 157 com/tencent/feedback/eup/e:H ()J + // 346: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 349: aastore + // 350: dup + // 351: iconst_2 + // 352: aload 18 + // 354: invokevirtual 160 com/tencent/feedback/eup/e:G ()J + // 357: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 360: aastore + // 361: dup + // 362: iconst_3 + // 363: aload 18 + // 365: invokevirtual 163 com/tencent/feedback/eup/e:L ()J + // 368: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 371: aastore + // 372: dup + // 373: iconst_4 + // 374: aload 18 + // 376: invokevirtual 166 com/tencent/feedback/eup/e:M ()J + // 379: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 382: aastore + // 383: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 386: pop + // 387: aload_0 + // 388: invokestatic 171 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 391: astore 6 + // 393: aload 18 + // 395: aload 6 + // 397: invokevirtual 174 com/tencent/feedback/common/c:t ()J + // 400: invokevirtual 176 com/tencent/feedback/eup/e:f (J)V + // 403: aload 18 + // 405: aload 6 + // 407: invokevirtual 179 com/tencent/feedback/common/c:s ()J + // 410: invokevirtual 182 com/tencent/feedback/eup/e:g (J)V + // 413: aload 18 + // 415: aload 6 + // 417: invokevirtual 185 com/tencent/feedback/common/c:u ()J + // 420: invokevirtual 187 com/tencent/feedback/eup/e:h (J)V + // 423: aload 18 + // 425: aload 6 + // 427: invokevirtual 190 com/tencent/feedback/common/c:B ()Ljava/lang/String; + // 430: invokevirtual 193 com/tencent/feedback/eup/e:r (Ljava/lang/String;)V + // 433: aload 18 + // 435: aload 6 + // 437: invokevirtual 196 com/tencent/feedback/common/c:z ()Ljava/lang/String; + // 440: invokevirtual 198 com/tencent/feedback/eup/e:s (Ljava/lang/String;)V + // 443: ldc 200 + // 445: iconst_5 + // 446: anewarray 4 java/lang/Object + // 449: dup + // 450: iconst_0 + // 451: aload 18 + // 453: invokevirtual 202 com/tencent/feedback/eup/e:I ()J + // 456: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 459: aastore + // 460: dup + // 461: iconst_1 + // 462: aload 18 + // 464: invokevirtual 205 com/tencent/feedback/eup/e:J ()J + // 467: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 470: aastore + // 471: dup + // 472: iconst_2 + // 473: aload 18 + // 475: invokevirtual 208 com/tencent/feedback/eup/e:K ()J + // 478: invokestatic 56 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 481: aastore + // 482: dup + // 483: iconst_3 + // 484: aload 18 + // 486: invokevirtual 211 com/tencent/feedback/eup/e:N ()Ljava/lang/String; + // 489: aastore + // 490: dup + // 491: iconst_4 + // 492: aload 18 + // 494: invokevirtual 214 com/tencent/feedback/eup/e:O ()Ljava/lang/String; + // 497: aastore + // 498: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 501: pop + // 502: aload 18 + // 504: aload_1 + // 505: invokevirtual 216 com/tencent/feedback/eup/e:e (Ljava/lang/String;)V + // 508: aload 18 + // 510: aload_2 + // 511: invokevirtual 219 com/tencent/feedback/eup/e:q (Ljava/lang/String;)V + // 514: aload 18 + // 516: aload 5 + // 518: invokevirtual 222 com/tencent/feedback/eup/e:a (Ljava/util/Map;)V + // 521: aload 18 + // 523: new 224 java/lang/StringBuilder + // 526: dup + // 527: invokespecial 225 java/lang/StringBuilder: ()V + // 530: invokestatic 229 com/tencent/feedback/proguard/a:d ()Ljava/lang/String; + // 533: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 536: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 539: invokevirtual 239 com/tencent/feedback/eup/e:l (Ljava/lang/String;)V + // 542: new 224 java/lang/StringBuilder + // 545: dup + // 546: invokespecial 225 java/lang/StringBuilder: ()V + // 549: astore_1 + // 550: aload_0 + // 551: ldc 241 + // 553: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 556: astore_2 + // 557: aload_2 + // 558: ifnull +234 -> 792 + // 561: aload_2 + // 562: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 565: invokevirtual 82 java/lang/String:length ()I + // 568: ifle +224 -> 792 + // 571: iconst_0 + // 572: istore 16 + // 574: iload 16 + // 576: ifne +222 -> 798 + // 579: aload_2 + // 580: ldc 246 + // 582: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 585: ifne +213 -> 798 + // 588: new 224 java/lang/StringBuilder + // 591: dup + // 592: ldc 252 + // 594: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 597: aload_2 + // 598: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 601: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 604: astore_0 + // 605: aload 18 + // 607: aload_1 + // 608: aload_0 + // 609: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 612: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 615: invokevirtual 257 com/tencent/feedback/eup/e:m (Ljava/lang/String;)V + // 618: aload 18 + // 620: aload 18 + // 622: invokevirtual 259 com/tencent/feedback/eup/e:i ()J + // 625: aload 6 + // 627: invokevirtual 262 com/tencent/feedback/common/c:D ()J + // 630: lsub + // 631: invokevirtual 264 com/tencent/feedback/eup/e:k (J)V + // 634: ldc_w 266 + // 637: iconst_1 + // 638: anewarray 4 java/lang/Object + // 641: dup + // 642: iconst_0 + // 643: aload 18 + // 645: invokevirtual 269 com/tencent/feedback/eup/e:v ()Ljava/lang/String; + // 648: aastore + // 649: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 652: pop + // 653: ldc_w 271 + // 656: iconst_1 + // 657: anewarray 4 java/lang/Object + // 660: dup + // 661: iconst_0 + // 662: aload 18 + // 664: invokevirtual 274 com/tencent/feedback/eup/e:y ()Ljava/lang/String; + // 667: aastore + // 668: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 671: pop + // 672: aload 18 + // 674: aload 6 + // 676: invokevirtual 276 com/tencent/feedback/common/c:F ()I + // 679: invokevirtual 279 com/tencent/feedback/eup/e:c (I)V + // 682: aload 18 + // 684: aload 6 + // 686: invokevirtual 281 com/tencent/feedback/common/c:G ()I + // 689: invokevirtual 283 com/tencent/feedback/eup/e:d (I)V + // 692: aload 18 + // 694: aload 6 + // 696: invokevirtual 286 com/tencent/feedback/common/c:H ()Ljava/util/Map; + // 699: invokevirtual 288 com/tencent/feedback/eup/e:b (Ljava/util/Map;)V + // 702: aload 18 + // 704: aload 6 + // 706: invokevirtual 290 com/tencent/feedback/common/c:K ()Ljava/util/Map; + // 709: invokevirtual 292 com/tencent/feedback/eup/e:c (Ljava/util/Map;)V + // 712: ldc_w 294 + // 715: iconst_1 + // 716: anewarray 4 java/lang/Object + // 719: dup + // 720: iconst_0 + // 721: aload 18 + // 723: invokevirtual 297 com/tencent/feedback/eup/e:R ()I + // 726: invokestatic 302 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 729: aastore + // 730: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 733: pop + // 734: aload 18 + // 736: areturn + // 737: astore 14 + // 739: aload 15 + // 741: astore 7 + // 743: aload 14 + // 745: invokestatic 89 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 748: ifne -567 -> 181 + // 751: aload 14 + // 753: invokevirtual 92 java/lang/Throwable:printStackTrace ()V + // 756: aload 15 + // 758: astore 7 + // 760: goto -579 -> 181 + // 763: aload 10 + // 765: astore 6 + // 767: aload 10 + // 769: invokevirtual 82 java/lang/String:length ()I + // 772: sipush 1000 + // 775: if_icmple -553 -> 222 + // 778: aload 10 + // 780: iconst_0 + // 781: sipush 1000 + // 784: invokevirtual 86 java/lang/String:substring (II)Ljava/lang/String; + // 787: astore 6 + // 789: goto -567 -> 222 + // 792: iconst_1 + // 793: istore 16 + // 795: goto -221 -> 574 + // 798: aload_0 + // 799: ldc_w 304 + // 802: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 805: astore_2 + // 806: aload_2 + // 807: ifnull +51 -> 858 + // 810: aload_2 + // 811: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 814: invokevirtual 82 java/lang/String:length ()I + // 817: ifle +41 -> 858 + // 820: iconst_0 + // 821: istore 16 + // 823: iload 16 + // 825: ifne +39 -> 864 + // 828: aload_2 + // 829: ldc 246 + // 831: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 834: ifne +30 -> 864 + // 837: new 224 java/lang/StringBuilder + // 840: dup + // 841: ldc_w 306 + // 844: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 847: aload_2 + // 848: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 851: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 854: astore_0 + // 855: goto -250 -> 605 + // 858: iconst_1 + // 859: istore 16 + // 861: goto -38 -> 823 + // 864: aload_0 + // 865: ldc_w 308 + // 868: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 871: astore_2 + // 872: aload_2 + // 873: ifnull +59 -> 932 + // 876: aload_2 + // 877: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 880: invokevirtual 82 java/lang/String:length ()I + // 883: ifle +49 -> 932 + // 886: iconst_0 + // 887: istore 16 + // 889: iload 16 + // 891: ifne +47 -> 938 + // 894: aload_2 + // 895: ldc 246 + // 897: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 900: ifne +38 -> 938 + // 903: aload_0 + // 904: ldc_w 310 + // 907: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 910: astore_0 + // 911: new 224 java/lang/StringBuilder + // 914: dup + // 915: ldc_w 312 + // 918: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 921: aload_0 + // 922: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 925: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 928: astore_0 + // 929: goto -324 -> 605 + // 932: iconst_1 + // 933: istore 16 + // 935: goto -46 -> 889 + // 938: aload_0 + // 939: ldc_w 314 + // 942: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 945: astore_2 + // 946: aload_2 + // 947: ifnull +67 -> 1014 + // 950: aload_2 + // 951: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 954: invokevirtual 82 java/lang/String:length ()I + // 957: ifle +57 -> 1014 + // 960: iconst_0 + // 961: istore 16 + // 963: iload 16 + // 965: ifne +55 -> 1020 + // 968: aload_2 + // 969: ldc 246 + // 971: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 974: ifne +46 -> 1020 + // 977: new 224 java/lang/StringBuilder + // 980: dup + // 981: ldc_w 316 + // 984: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 987: aload_2 + // 988: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 991: ldc_w 318 + // 994: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 997: aload_0 + // 998: ldc_w 320 + // 1001: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 1004: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1007: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1010: astore_0 + // 1011: goto -406 -> 605 + // 1014: iconst_1 + // 1015: istore 16 + // 1017: goto -54 -> 963 + // 1020: aload_0 + // 1021: ldc_w 322 + // 1024: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 1027: astore_2 + // 1028: aload_2 + // 1029: ifnull +57 -> 1086 + // 1032: aload_2 + // 1033: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 1036: invokevirtual 82 java/lang/String:length ()I + // 1039: ifle +47 -> 1086 + // 1042: iconst_0 + // 1043: istore 16 + // 1045: iload 16 + // 1047: ifne +45 -> 1092 + // 1050: aload_2 + // 1051: ldc 246 + // 1053: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 1056: ifne +36 -> 1092 + // 1059: new 224 java/lang/StringBuilder + // 1062: dup + // 1063: ldc_w 324 + // 1066: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1069: aload_0 + // 1070: ldc_w 326 + // 1073: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 1076: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1079: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1082: astore_0 + // 1083: goto -478 -> 605 + // 1086: iconst_1 + // 1087: istore 16 + // 1089: goto -44 -> 1045 + // 1092: aload_0 + // 1093: ldc_w 328 + // 1096: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 1099: astore_2 + // 1100: aload_2 + // 1101: ifnull +51 -> 1152 + // 1104: aload_2 + // 1105: invokevirtual 104 java/lang/String:trim ()Ljava/lang/String; + // 1108: invokevirtual 82 java/lang/String:length ()I + // 1111: ifle +41 -> 1152 + // 1114: iconst_0 + // 1115: istore 16 + // 1117: iload 16 + // 1119: ifne +39 -> 1158 + // 1122: aload_2 + // 1123: ldc 246 + // 1125: invokevirtual 250 java/lang/String:equals (Ljava/lang/Object;)Z + // 1128: ifne +30 -> 1158 + // 1131: new 224 java/lang/StringBuilder + // 1134: dup + // 1135: ldc_w 330 + // 1138: invokespecial 254 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1141: aload_2 + // 1142: invokevirtual 233 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1145: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1148: astore_0 + // 1149: goto -544 -> 605 + // 1152: iconst_1 + // 1153: istore 16 + // 1155: goto -38 -> 1117 + // 1158: aload_0 + // 1159: ldc_w 332 + // 1162: invokestatic 244 com/tencent/feedback/proguard/a:a (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; + // 1165: astore_0 + // 1166: goto -561 -> 605 + // Local variable table: + // start length slot name signature + // 0 1169 0 paramContext Context + // 0 1169 1 paramString1 String + // 0 1169 2 paramString2 String + // 0 1169 3 paramLong1 long + // 0 1169 5 paramMap Map + // 0 1169 6 paramString3 String + // 0 1169 7 paramString4 String + // 0 1169 8 paramString5 String + // 0 1169 9 paramString6 String + // 0 1169 10 paramString7 String + // 0 1169 11 paramString8 String + // 0 1169 12 paramLong2 long + // 0 1169 14 paramString9 String + // 0 1169 15 paramArrayOfByte byte[] + // 118 1036 16 i int + // 111 34 17 j int + // 7 728 18 locale e + // Exception table: + // from to target type + // 56 77 155 java/lang/Throwable + // 99 120 737 java/lang/Throwable + } + + protected static l a(e parame) + { + if (parame == null) { + return null; + } + for (;;) + { + try + { + if (parame.P() != 1) + { + i = 1; + l locall = new l(i, 0, parame.i(), com.tencent.feedback.proguard.a.a(parame)); + locall.b(parame.j()); + locall.a(parame.m()); + locall.a(parame.o()); + locall.a(parame.a()); + if (!parame.w()) { + break label106; + } + i = 1; + locall.c(i); + return locall; + } + } + catch (Throwable parame) + { + if (!com.tencent.feedback.common.e.a(parame)) { + parame.printStackTrace(); + } + return null; + } + int i = 2; + continue; + label106: + i = 0; + } + } + + protected static String a(Throwable paramThrowable, CrashStrategyBean paramCrashStrategyBean) + { + int i = 100; + int j = 3; + if (paramCrashStrategyBean != null) + { + j = Math.max(3, paramCrashStrategyBean.getMaxStackFrame()); + i = Math.max(100, paramCrashStrategyBean.getMaxStackLine()); + com.tencent.feedback.common.e.b("change frame:%d line:%d", new Object[] { Integer.valueOf(j), Integer.valueOf(i) }); + } + paramCrashStrategyBean = new ArrayList(); + a(paramCrashStrategyBean, paramThrowable, 0, j, i); + if (paramCrashStrategyBean.size() > 0) + { + paramThrowable = new StringBuilder(paramCrashStrategyBean.size()); + paramCrashStrategyBean = paramCrashStrategyBean.iterator(); + while (paramCrashStrategyBean.hasNext()) { + paramThrowable.append((String)paramCrashStrategyBean.next()).append("\n"); + } + return paramThrowable.toString(); + } + return ""; + } + + public static List a(Context paramContext, int paramInt1, String paramString1, int paramInt2, String paramString2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, long paramLong1, long paramLong2, Boolean paramBoolean) + { + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.queryEupRecent() start}", new Object[0]); + if ((paramContext == null) || (paramInt1 == 0) || ((paramLong2 > 0L) && (paramLong1 > paramLong2)) || ((paramInt4 > 0) && (paramInt3 > paramInt4))) + { + com.tencent.feedback.common.e.c("rqdp{ context == null || limitNum == 0 || (timeEnd > 0 && timeStart > timeEnd) || (maxCount > 0 && miniCount > maxCount ,pls check}", new Object[0]); + return null; + } + int i; + if ("asc".equals(paramString1)) + { + i = 1; + paramString1 = null; + if (paramInt2 != 2) { + break label143; + } + paramString1 = new int[1]; + paramString1[0] = 2; + label87: + if (paramBoolean != null) { + break label194; + } + paramInt2 = -1; + } + for (;;) + { + paramString1 = l.a(paramContext, paramString1, -1, i, -1L, paramInt1, paramString2, paramInt3, paramInt4, paramInt5, paramInt6, paramLong1, paramLong2, paramInt2); + if ((paramString1 != null) && (paramString1.size() > 0)) { + break label212; + } + return null; + i = 2; + break; + label143: + if (paramInt2 == 1) + { + paramString1 = new int[1]; + paramString1[0] = 1; + break label87; + } + if (paramInt2 < 0) + { + paramString1 = new int[2]; + String tmp168_167 = paramString1; + tmp168_167[0] = 1; + String tmp172_168 = tmp168_167; + tmp172_168[1] = 2; + tmp172_168; + break label87; + } + com.tencent.feedback.common.e.c("rqdp{ queryEupRecent() seletedRecordType unaccepted}", new Object[0]); + break label87; + label194: + if (paramBoolean.booleanValue()) { + paramInt2 = 1; + } else { + paramInt2 = 0; + } + } + label212: + paramString2 = new ArrayList(); + paramBoolean = paramString1.iterator(); + while (paramBoolean.hasNext()) + { + l locall = (l)paramBoolean.next(); + try + { + Object localObject = com.tencent.feedback.proguard.a.b(locall.b()); + if ((localObject != null) && (e.class.isInstance(localObject))) + { + localObject = (e)e.class.cast(localObject); + ((e)localObject).a(locall.a()); + paramString2.add(localObject); + paramBoolean.remove(); + } + } + catch (Throwable localThrowable) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ query have error!}", new Object[0]); + } + } + if (paramString1.size() > 0) + { + com.tencent.feedback.common.e.b("rqdp{ there are error datas ,should be remove }" + paramString1.size(), new Object[0]); + paramBoolean = new Long[paramString1.size()]; + paramInt1 = 0; + while (paramInt1 < paramString1.size()) + { + paramBoolean[paramInt1] = Long.valueOf(((l)paramString1.get(paramInt1)).a()); + paramInt1 += 1; + } + l.a(paramContext, paramBoolean); + } + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.queryEupRecent() end}", new Object[0]); + return paramString2; + } + + private void a(String paramString) + { + int i = 0; + while (i < this.b) + { + this.a.append('\t'); + i += 1; + } + if (paramString != null) { + this.a.append(paramString).append(": "); + } + } + + private static void a(ArrayList paramArrayList, Throwable paramThrowable, int paramInt1, int paramInt2, int paramInt3) + { + for (;;) + { + if ((paramArrayList == null) || (paramThrowable == null) || (paramInt1 > paramInt2) || (paramArrayList.size() > paramInt3)) {} + int i; + do + { + return; + i = paramInt1 + 1; + StackTraceElement[] arrayOfStackTraceElement = paramThrowable.getStackTrace(); + if (arrayOfStackTraceElement != null) + { + int j = arrayOfStackTraceElement.length; + paramInt1 = 0; + while (paramInt1 < j) + { + paramArrayList.add(arrayOfStackTraceElement[paramInt1].toString()); + paramInt1 += 1; + } + } + } while (paramThrowable.getCause() == null); + paramArrayList.add("cause by:"); + paramArrayList.add(paramThrowable.getCause().getClass().getName() + ": " + paramThrowable.getCause().getMessage()); + paramThrowable = paramThrowable.getCause(); + paramInt1 = i; + } + } + + public static boolean a(Context paramContext) + { + if (com.tencent.feedback.proguard.a.c() < 0L) + { + com.tencent.feedback.common.e.d("rqdp{ today fail?}", new Object[0]); + new Date().getTime(); + } + paramContext = g.a(paramContext).a(paramContext, 1); + return (paramContext != null) && (paramContext.size() > 0); + } + + public static boolean a(Context paramContext, e parame) + { + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.insertEUP() start}", new Object[0]); + if ((paramContext == null) || (parame == null)) + { + com.tencent.feedback.common.e.c("rqdp{ EUPDAO.insertEUP() have null args}", new Object[0]); + return false; + } + try + { + l locall = a(parame); + if ((paramContext == null) || (locall == null)) { + com.tencent.feedback.common.e.a("rqdp{ AnalyticsDAO.insert() have null args}", new Object[0]); + } + ArrayList localArrayList; + for (boolean bool = false; bool; bool = l.a(paramContext, localArrayList)) + { + parame.a(locall.a()); + return true; + localArrayList = new ArrayList(); + localArrayList.add(locall); + } + return false; + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ insert fail!}", new Object[0]); + return false; + } + finally + { + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.insertEUP() end}", new Object[0]); + } + } + + protected static boolean a(Context paramContext, e parame, CrashStrategyBean paramCrashStrategyBean) + { + boolean bool2 = false; + boolean bool1 = bool2; + if (paramCrashStrategyBean != null) + { + bool1 = bool2; + if (paramCrashStrategyBean.isStoreCrashSdcard()) { + try + { + com.tencent.feedback.common.e.b("save eup logs", new Object[0]); + localObject = c.a(paramContext); + String str1 = ((c)localObject).b(); + String str2 = ((c)localObject).B(); + String str3 = parame.q(); + Locale localLocale = Locale.US; + String str4 = ((c)localObject).c(); + localObject = new Date(parame.i()); + if (localObject == null) {} + for (localObject = null;; localObject = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).format((Date)localObject)) + { + localObject = String.format(localLocale, "#--------\npackage:%s\nversion:%s\nsdk:%s\nprocess:%s\ndate:%s\ntype:%s\nmessage:%s\nstack:\n%s\neupID:%s\n", new Object[] { str1, str2, str4, str3, localObject, parame.e(), parame.f(), parame.h(), parame.v() }); + if (paramCrashStrategyBean.getStoreDirectoryPath() != null) { + break label344; + } + if (com.tencent.feedback.common.a.f(paramContext)) { + break; + } + return false; + } + int i = paramCrashStrategyBean.getCrashSdcardMaxSize(); + com.tencent.feedback.common.e.b("rqdp{ sv sd start}", new Object[0]); + if ((localObject == null) || (((String)localObject).trim().length() <= 0)) { + break label399; + } + if (Environment.getExternalStorageState().equals("mounted")) { + com.tencent.feedback.proguard.a.a(new File(Environment.getExternalStorageDirectory(), "/Tencent/" + com.tencent.feedback.common.a.b(paramContext) + "/euplog.txt").getAbsolutePath(), (String)localObject, i); + } + com.tencent.feedback.common.e.b("rqdp{ sv sd end}", new Object[0]); + } + catch (Throwable paramContext) + { + Object localObject; + com.tencent.feedback.common.e.c("rqdp{ save error} %s", new Object[] { paramContext.toString() }); + bool1 = bool2; + if (!com.tencent.feedback.common.e.a(paramContext)) + { + paramContext.printStackTrace(); + return false; + label344: + parame = new File(paramCrashStrategyBean.getStoreDirectoryPath()); + paramContext = parame; + if (!parame.isFile()) { + paramContext = parame.getParentFile(); + } + com.tencent.feedback.proguard.a.a(new File(paramContext, "euplog.txt").getAbsolutePath(), (String)localObject, paramCrashStrategyBean.getCrashSdcardMaxSize()); + bool1 = true; + } + } + } + } + return bool1; + label399: + return true; + } + + public static int b(Context paramContext) + { + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.querySum() start}", new Object[0]); + if (paramContext == null) + { + com.tencent.feedback.common.e.c("rqdp{ querySum() context is null arg}", new Object[0]); + return -1; + } + return l.a(paramContext, new int[] { 2, 1 }, -1L, 9223372036854775807L, null); + } + + /* Error */ + public static boolean b(Context paramContext, List paramList) + { + // Byte code: + // 0: ldc_w 641 + // 3: iconst_0 + // 4: anewarray 4 java/lang/Object + // 7: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 10: pop + // 11: aload_0 + // 12: ifnull +16 -> 28 + // 15: aload_1 + // 16: ifnull +12 -> 28 + // 19: aload_1 + // 20: invokeinterface 41 1 0 + // 25: ifgt +16 -> 41 + // 28: ldc_w 643 + // 31: iconst_0 + // 32: anewarray 4 java/lang/Object + // 35: invokestatic 35 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 38: pop + // 39: iconst_0 + // 40: ireturn + // 41: new 386 java/util/ArrayList + // 44: dup + // 45: invokespecial 387 java/util/ArrayList: ()V + // 48: astore_3 + // 49: aload_1 + // 50: invokeinterface 430 1 0 + // 55: astore_1 + // 56: aload_1 + // 57: invokeinterface 402 1 0 + // 62: ifeq +68 -> 130 + // 65: aload_1 + // 66: invokeinterface 406 1 0 + // 71: checkcast 49 com/tencent/feedback/eup/e + // 74: invokestatic 521 com/tencent/feedback/eup/b:a (Lcom/tencent/feedback/eup/e;)Lcom/tencent/feedback/proguard/l; + // 77: astore 4 + // 79: aload 4 + // 81: ifnull -25 -> 56 + // 84: aload_3 + // 85: aload 4 + // 87: invokevirtual 451 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 90: pop + // 91: goto -35 -> 56 + // 94: astore_0 + // 95: aload_0 + // 96: invokestatic 89 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 99: ifne +7 -> 106 + // 102: aload_0 + // 103: invokevirtual 92 java/lang/Throwable:printStackTrace ()V + // 106: ldc_w 532 + // 109: iconst_0 + // 110: anewarray 4 java/lang/Object + // 113: invokestatic 458 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 116: pop + // 117: ldc_w 645 + // 120: iconst_0 + // 121: anewarray 4 java/lang/Object + // 124: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 127: pop + // 128: iconst_0 + // 129: ireturn + // 130: aload_0 + // 131: aload_3 + // 132: invokestatic 647 com/tencent/feedback/proguard/l:b (Landroid/content/Context;Ljava/util/List;)Z + // 135: istore_2 + // 136: ldc_w 645 + // 139: iconst_0 + // 140: anewarray 4 java/lang/Object + // 143: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 146: pop + // 147: iload_2 + // 148: ireturn + // 149: astore_0 + // 150: ldc_w 645 + // 153: iconst_0 + // 154: anewarray 4 java/lang/Object + // 157: invokestatic 30 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 160: pop + // 161: aload_0 + // 162: athrow + // Local variable table: + // start length slot name signature + // 0 163 0 paramContext Context + // 0 163 1 paramList List + // 135 13 2 bool boolean + // 48 84 3 localArrayList ArrayList + // 77 9 4 locall l + // Exception table: + // from to target type + // 41 56 94 java/lang/Throwable + // 56 79 94 java/lang/Throwable + // 84 91 94 java/lang/Throwable + // 130 136 94 java/lang/Throwable + // 41 56 149 finally + // 56 79 149 finally + // 84 91 149 finally + // 95 106 149 finally + // 106 117 149 finally + // 130 136 149 finally + } + + public b a(byte paramByte, String paramString) + { + a(paramString); + this.a.append(paramByte).append('\n'); + return this; + } + + public b a(char paramChar, String paramString) + { + a(paramString); + this.a.append(paramChar).append('\n'); + return this; + } + + public b a(double paramDouble, String paramString) + { + a(paramString); + this.a.append(paramDouble).append('\n'); + return this; + } + + public b a(float paramFloat, String paramString) + { + a(paramString); + this.a.append(paramFloat).append('\n'); + return this; + } + + public b a(int paramInt, String paramString) + { + a(paramString); + this.a.append(paramInt).append('\n'); + return this; + } + + public b a(long paramLong, String paramString) + { + a(paramString); + this.a.append(paramLong).append('\n'); + return this; + } + + public b a(j paramj, String paramString) + { + a('{', paramString); + if (paramj == null) { + this.a.append('\t').append("null"); + } + for (;;) + { + a('}', null); + return this; + paramj.a(this.a, this.b + 1); + } + } + + public b a(T paramT, String paramString) + { + if (paramT == null) + { + this.a.append("null\n"); + return this; + } + if ((paramT instanceof Byte)) + { + a(((Byte)paramT).byteValue(), paramString); + return this; + } + if ((paramT instanceof Boolean)) + { + a(((Boolean)paramT).booleanValue(), paramString); + return this; + } + if ((paramT instanceof Short)) + { + a(((Short)paramT).shortValue(), paramString); + return this; + } + if ((paramT instanceof Integer)) + { + a(((Integer)paramT).intValue(), paramString); + return this; + } + if ((paramT instanceof Long)) + { + a(((Long)paramT).longValue(), paramString); + return this; + } + if ((paramT instanceof Float)) + { + a(((Float)paramT).floatValue(), paramString); + return this; + } + if ((paramT instanceof Double)) + { + a(((Double)paramT).doubleValue(), paramString); + return this; + } + if ((paramT instanceof String)) + { + a((String)paramT, paramString); + return this; + } + if ((paramT instanceof Map)) + { + a((Map)paramT, paramString); + return this; + } + if ((paramT instanceof List)) + { + a((List)paramT, paramString); + return this; + } + if ((paramT instanceof j)) + { + a((j)paramT, paramString); + return this; + } + if ((paramT instanceof byte[])) + { + a((byte[])paramT, paramString); + return this; + } + if ((paramT instanceof boolean[])) + { + a((boolean[])paramT, paramString); + return this; + } + if ((paramT instanceof short[])) + { + a((short[])paramT, paramString); + return this; + } + if ((paramT instanceof int[])) + { + a((int[])paramT, paramString); + return this; + } + if ((paramT instanceof long[])) + { + a((long[])paramT, paramString); + return this; + } + if ((paramT instanceof float[])) + { + a((float[])paramT, paramString); + return this; + } + if ((paramT instanceof double[])) + { + a((double[])paramT, paramString); + return this; + } + if (paramT.getClass().isArray()) + { + a((Object[])paramT, paramString); + return this; + } + throw new com.tencent.feedback.proguard.b("write object error: unsupport type."); + } + + public b a(String paramString1, String paramString2) + { + a(paramString2); + if (paramString1 == null) + { + this.a.append("null\n"); + return this; + } + this.a.append(paramString1).append('\n'); + return this; + } + + public b a(Collection paramCollection, String paramString) + { + if (paramCollection == null) + { + a(paramString); + this.a.append("null\t"); + return this; + } + return a(paramCollection.toArray(), paramString); + } + + public b a(Map paramMap, String paramString) + { + a(paramString); + if (paramMap == null) + { + this.a.append("null\n"); + return this; + } + if (paramMap.isEmpty()) + { + this.a.append(paramMap.size()).append(", {}\n"); + return this; + } + this.a.append(paramMap.size()).append(", {\n"); + paramString = new b(this.a, this.b + 1); + b localb = new b(this.a, this.b + 2); + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + paramString.a('(', null); + localb.a(localEntry.getKey(), null); + localb.a(localEntry.getValue(), null); + paramString.a(')', null); + } + a('}', null); + return this; + } + + public b a(short paramShort, String paramString) + { + a(paramString); + this.a.append(paramShort).append('\n'); + return this; + } + + public b a(boolean paramBoolean, String paramString) + { + a(paramString); + paramString = this.a; + if (paramBoolean) {} + for (char c = 'T';; c = 'F') + { + paramString.append(c).append('\n'); + return this; + } + } + + public b a(byte[] paramArrayOfByte, String paramString) + { + a(paramString); + if (paramArrayOfByte == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfByte.length == 0) + { + this.a.append(paramArrayOfByte.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfByte.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfByte.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfByte[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(double[] paramArrayOfDouble, String paramString) + { + a(paramString); + if (paramArrayOfDouble == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfDouble.length == 0) + { + this.a.append(paramArrayOfDouble.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfDouble.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfDouble.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfDouble[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(float[] paramArrayOfFloat, String paramString) + { + a(paramString); + if (paramArrayOfFloat == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfFloat.length == 0) + { + this.a.append(paramArrayOfFloat.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfFloat.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfFloat.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfFloat[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(int[] paramArrayOfInt, String paramString) + { + a(paramString); + if (paramArrayOfInt == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfInt.length == 0) + { + this.a.append(paramArrayOfInt.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfInt.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfInt.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfInt[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(long[] paramArrayOfLong, String paramString) + { + a(paramString); + if (paramArrayOfLong == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfLong.length == 0) + { + this.a.append(paramArrayOfLong.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfLong.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfLong.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfLong[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(T[] paramArrayOfT, String paramString) + { + a(paramString); + if (paramArrayOfT == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfT.length == 0) + { + this.a.append(paramArrayOfT.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfT.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfT.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfT[i], null); + i += 1; + } + a(']', null); + return this; + } + + public b a(short[] paramArrayOfShort, String paramString) + { + a(paramString); + if (paramArrayOfShort == null) + { + this.a.append("null\n"); + return this; + } + if (paramArrayOfShort.length == 0) + { + this.a.append(paramArrayOfShort.length).append(", []\n"); + return this; + } + this.a.append(paramArrayOfShort.length).append(", [\n"); + paramString = new b(this.a, this.b + 1); + int j = paramArrayOfShort.length; + int i = 0; + while (i < j) + { + paramString.a(paramArrayOfShort[i], null); + i += 1; + } + a(']', null); + return this; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/c.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/c.java new file mode 100755 index 00000000000..696a9e8ac21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/c.java @@ -0,0 +1,756 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +public final class c + implements Thread.UncaughtExceptionHandler +{ + private static c c = null; + private Thread.UncaughtExceptionHandler a = null; + private Context b = null; + + private c(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + this.b = paramContext; + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + private int a(List paramList, int paramInt, boolean paramBoolean) + { + Context localContext = this.b; + if ((paramList == null) || (paramInt <= 0)) { + return 0; + } + ArrayList localArrayList = new ArrayList(); + Collections.sort(paramList, new b.2()); + paramList = paramList.iterator(); + while ((paramList.hasNext()) && (paramInt > localArrayList.size())) + { + e locale = (e)paramList.next(); + if ((locale.b()) && (!paramBoolean)) { + break; + } + localArrayList.add(locale); + paramList.remove(); + } + if (localArrayList.size() > 0) { + return b.a(localContext, localArrayList); + } + return 0; + } + + public static c a(Context paramContext) + { + try + { + if ((c == null) && (paramContext != null)) { + c = new c(paramContext); + } + paramContext = c; + return paramContext; + } + finally {} + } + + /* Error */ + private void a(Thread paramThread, Throwable paramThrowable) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 23 com/tencent/feedback/eup/c:a Ljava/lang/Thread$UncaughtExceptionHandler; + // 6: ifnull +27 -> 33 + // 9: ldc 88 + // 11: iconst_0 + // 12: anewarray 4 java/lang/Object + // 15: invokestatic 93 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 18: pop + // 19: aload_0 + // 20: getfield 23 com/tencent/feedback/eup/c:a Ljava/lang/Thread$UncaughtExceptionHandler; + // 23: aload_1 + // 24: aload_2 + // 25: invokeinterface 96 3 0 + // 30: aload_0 + // 31: monitorexit + // 32: return + // 33: ldc 98 + // 35: iconst_0 + // 36: anewarray 4 java/lang/Object + // 39: invokestatic 93 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 42: pop + // 43: invokestatic 103 android/os/Process:myPid ()I + // 46: invokestatic 107 android/os/Process:killProcess (I)V + // 49: iconst_1 + // 50: invokestatic 112 java/lang/System:exit (I)V + // 53: goto -23 -> 30 + // 56: astore_1 + // 57: aload_0 + // 58: monitorexit + // 59: aload_1 + // 60: athrow + // Local variable table: + // start length slot name signature + // 0 61 0 this c + // 0 61 1 paramThread Thread + // 0 61 2 paramThrowable Throwable + // Exception table: + // from to target type + // 2 30 56 finally + // 33 53 56 finally + } + + private static void c() + { + b.1 local1 = new b.1(); + local1.setName("ImmediateEUP"); + local1.start(); + try + { + local1.join(3000L); + return; + } + catch (InterruptedException localInterruptedException) + { + while (com.tencent.feedback.common.e.a(localInterruptedException)) {} + localInterruptedException.printStackTrace(); + } + } + + public final void a() + { + try + { + com.tencent.feedback.common.e.a("rqdp{ eup regist}", new Object[0]); + Thread.UncaughtExceptionHandler localUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler(); + if (localUncaughtExceptionHandler != this) + { + this.a = localUncaughtExceptionHandler; + Thread.setDefaultUncaughtExceptionHandler(this); + } + return; + } + finally {} + } + + public final boolean a(e parame, CrashStrategyBean paramCrashStrategyBean) + { + if ((parame == null) && (paramCrashStrategyBean == null)) + { + com.tencent.feedback.common.e.c("handler exception data params error", new Object[0]); + return false; + } + Object localObject1; + boolean bool; + Object localObject3; + if (paramCrashStrategyBean.isMerged()) + { + localObject1 = this.b; + if (parame == null) { + localObject1 = null; + } + while (localObject1 != null) + { + com.tencent.feedback.common.e.a("merge success return", new Object[0]); + if ((!((e)localObject1).w()) && (((e)localObject1).m() >= 2)) + { + com.tencent.feedback.common.e.a("rqdp{ may be crash too frequent! do immediate upload in merge!}", new Object[0]); + c(); + } + return true; + localObject2 = com.tencent.feedback.proguard.a.c((parame.P() + "\n" + parame.e() + "\n" + parame.h()).getBytes()); + if (localObject2 == null) + { + com.tencent.feedback.common.e.c("rqdp{ md5 error!}", new Object[0]); + localObject1 = null; + } + else + { + parame.g((String)localObject2); + parame.a(true); + parame.b(1); + parame.a(0); + localObject2 = b.a((Context)localObject1, 1, "desc", -1, (String)localObject2, -1, -1, -1, -1, -1L, -1L, null); + if ((localObject2 == null) || (((List)localObject2).size() <= 0)) + { + com.tencent.feedback.common.e.b("rqdp{ new one ,no merged!}", new Object[0]); + localObject1 = null; + } + else + { + localObject2 = (e)((List)localObject2).get(0); + if ((((e)localObject2).l() != null) && (((e)localObject2).l().contains(parame.i()))) + { + com.tencent.feedback.common.e.b("rqdp{ already merged} %d", new Object[] { Long.valueOf(parame.i()) }); + localObject1 = localObject2; + } + else + { + ((e)localObject2).b(((e)localObject2).m() + 1); + if (((e)localObject2).l() == null) { + ((e)localObject2).f(""); + } + ((e)localObject2).f(((e)localObject2).l() + parame.i() + "\n"); + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.insertOrUpdateEUP() start}", new Object[0]); + if ((localObject1 == null) || (localObject2 == null)) { + com.tencent.feedback.common.e.c("rqdp{ context == null || bean == null,pls check}", new Object[0]); + } + for (bool = false;; bool = b.b((Context)localObject1, (List)localObject3)) + { + localObject1 = localObject2; + if (!bool) { + break; + } + com.tencent.feedback.common.e.a("rqdp{ eupMeg update success} %b , c:%d , at:%s up:%d", new Object[] { Boolean.valueOf(bool), Integer.valueOf(((e)localObject2).m()), ((e)localObject2).l(), Integer.valueOf(((e)localObject2).j()) }); + localObject1 = localObject2; + if (parame.p() == null) { + break; + } + localObject3 = new File(parame.p()); + localObject1 = localObject2; + if (!((File)localObject3).exists()) { + break; + } + localObject1 = localObject2; + if (!((File)localObject3).isFile()) { + break; + } + ((File)localObject3).delete(); + localObject1 = localObject2; + break; + localObject3 = new ArrayList(); + ((List)localObject3).add(localObject2); + } + } + } + } + } + } + int i = paramCrashStrategyBean.getMaxStoredNum(); + Object localObject2 = b.a(this.b, i + 1, "asc", -1, null, -1, -1, -1, -1, -1L, -1L, null); + if ((localObject2 != null) && (((List)localObject2).size() > 0)) + { + i = ((List)localObject2).size() - i + 1; + if ((i > 0) && (a((List)localObject2, i, parame.b()) < i)) + { + com.tencent.feedback.common.e.c("can't add more eup!", new Object[0]); + return false; + } + } + if ((localObject2 != null) && (((List)localObject2).size() > 1)) + { + localObject1 = (e)((List)localObject2).get(0); + localObject3 = ((List)localObject2).iterator(); + if (((Iterator)localObject3).hasNext()) + { + localObject2 = (e)((Iterator)localObject3).next(); + if ((((e)localObject1).i() >= ((e)localObject2).i()) || (!((e)localObject2).b())) { + break label890; + } + localObject1 = localObject2; + } + } + label890: + for (;;) + { + break; + if ((((e)localObject1).b()) && (parame.i() - ((e)localObject1).i() < 60000L)) + { + com.tencent.feedback.common.e.c("rqdp{ may be crash too frequent! do immediate upload in not merge!}", new Object[0]); + c(); + } + b.a(this.b, parame, paramCrashStrategyBean); + if (com.tencent.feedback.common.a.e(this.b)) + { + com.tencent.feedback.common.e.b("save log", new Object[0]); + parame.a(com.tencent.feedback.proguard.a.a(paramCrashStrategyBean.getOnlyLogTag(), paramCrashStrategyBean.getMaxLogRow())); + } + for (;;) + { + bool = b.a(this.b, parame); + com.tencent.feedback.common.e.a("store new eup pn:%s, isMe:%b , isNa:%b , res:%b ", new Object[] { parame.q(), Boolean.valueOf(parame.c()), Boolean.valueOf(parame.b()), Boolean.valueOf(bool) }); + return bool; + parame.a(null); + } + } + } + + /* Error */ + public final boolean a(String paramString1, Throwable paramThrowable, String paramString2, byte[] paramArrayOfByte, boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: getfield 25 com/tencent/feedback/eup/c:b Landroid/content/Context; + // 4: invokestatic 354 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 7: invokevirtual 357 com/tencent/feedback/common/c:E ()Ljava/lang/String; + // 10: astore 16 + // 12: ldc_w 260 + // 15: astore 15 + // 17: ldc_w 260 + // 20: astore 11 + // 22: aload_2 + // 23: ifnull +463 -> 486 + // 26: aload_2 + // 27: invokevirtual 360 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 30: astore 12 + // 32: aload_2 + // 33: ifnull +461 -> 494 + // 36: aload_2 + // 37: invokevirtual 364 java/lang/Object:getClass ()Ljava/lang/Class; + // 40: invokevirtual 369 java/lang/Class:getName ()Ljava/lang/String; + // 43: astore 10 + // 45: invokestatic 374 com/tencent/feedback/eup/f:l ()Lcom/tencent/feedback/eup/f; + // 48: astore 13 + // 50: aload 13 + // 52: ifnonnull +450 -> 502 + // 55: ldc_w 376 + // 58: iconst_0 + // 59: anewarray 4 java/lang/Object + // 62: invokestatic 157 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 65: pop + // 66: aconst_null + // 67: astore 13 + // 69: new 378 java/util/Date + // 72: dup + // 73: invokespecial 379 java/util/Date: ()V + // 76: invokevirtual 382 java/util/Date:getTime ()J + // 79: lstore 8 + // 81: aload_2 + // 82: invokestatic 388 com/tencent/feedback/eup/CrashReport:getCrashRuntimeStrategy ()Lcom/tencent/feedback/eup/CrashStrategyBean; + // 85: invokestatic 391 com/tencent/feedback/eup/b:a (Ljava/lang/Throwable;Lcom/tencent/feedback/eup/CrashStrategyBean;)Ljava/lang/String; + // 88: astore 14 + // 90: aload 11 + // 92: astore 15 + // 94: aload 14 + // 96: ifnull +32 -> 128 + // 99: aload 11 + // 101: astore 15 + // 103: aload 14 + // 105: ldc 187 + // 107: invokevirtual 250 java/lang/String:contains (Ljava/lang/CharSequence;)Z + // 110: ifeq +18 -> 128 + // 113: aload 14 + // 115: iconst_0 + // 116: aload 14 + // 118: ldc 187 + // 120: invokevirtual 395 java/lang/String:indexOf (Ljava/lang/String;)I + // 123: invokevirtual 399 java/lang/String:substring (II)Ljava/lang/String; + // 126: astore 15 + // 128: ldc_w 401 + // 131: iconst_1 + // 132: anewarray 4 java/lang/Object + // 135: dup + // 136: iconst_0 + // 137: aload 14 + // 139: aastore + // 140: invokestatic 93 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 143: pop + // 144: aload_3 + // 145: astore 11 + // 147: iload 5 + // 149: ifeq +474 -> 623 + // 152: aload_3 + // 153: astore 11 + // 155: aload 13 + // 157: ifnull +466 -> 623 + // 160: ldc_w 403 + // 163: iconst_0 + // 164: anewarray 4 java/lang/Object + // 167: invokestatic 93 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 170: pop + // 171: aload_3 + // 172: astore_2 + // 173: aload 13 + // 175: ifnull +34 -> 209 + // 178: ldc_w 405 + // 181: iconst_0 + // 182: anewarray 4 java/lang/Object + // 185: invokestatic 144 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 188: pop + // 189: aload 13 + // 191: iconst_0 + // 192: aload 10 + // 194: aload 15 + // 196: aload 14 + // 198: sipush -10000 + // 201: lload 8 + // 203: invokeinterface 411 8 0 + // 208: astore_2 + // 209: aload_2 + // 210: astore 11 + // 212: aload 13 + // 214: ifnull +409 -> 623 + // 217: ldc_w 413 + // 220: iconst_0 + // 221: anewarray 4 java/lang/Object + // 224: invokestatic 144 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 227: pop + // 228: aload 13 + // 230: iconst_0 + // 231: aload 10 + // 233: aload 15 + // 235: aload 14 + // 237: sipush -10000 + // 240: lload 8 + // 242: invokeinterface 417 8 0 + // 247: astore_3 + // 248: aload_0 + // 249: getfield 25 com/tencent/feedback/eup/c:b Landroid/content/Context; + // 252: invokestatic 354 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 255: astore 4 + // 257: aload_0 + // 258: getfield 25 com/tencent/feedback/eup/c:b Landroid/content/Context; + // 261: aload 4 + // 263: invokevirtual 419 com/tencent/feedback/common/c:g ()Ljava/lang/String; + // 266: aload 4 + // 268: invokevirtual 420 com/tencent/feedback/common/c:h ()Ljava/lang/String; + // 271: aload 4 + // 273: invokevirtual 422 com/tencent/feedback/common/c:j ()J + // 276: aload 4 + // 278: invokevirtual 426 com/tencent/feedback/common/c:y ()Ljava/util/Map; + // 281: aload 16 + // 283: aload_1 + // 284: aload 15 + // 286: aload 10 + // 288: aload 12 + // 290: aload 14 + // 292: lload 8 + // 294: aload_2 + // 295: aload_3 + // 296: invokestatic 429 com/tencent/feedback/eup/b:a (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JLjava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;[B)Lcom/tencent/feedback/eup/e; + // 299: astore_2 + // 300: iload 5 + // 302: ifeq +330 -> 632 + // 305: iconst_0 + // 306: istore 6 + // 308: aload_2 + // 309: iload 6 + // 311: invokevirtual 432 com/tencent/feedback/eup/e:a (B)V + // 314: invokestatic 434 com/tencent/feedback/proguard/a:b ()Ljava/util/Map; + // 317: astore_3 + // 318: aload_3 + // 319: ifnull +38 -> 357 + // 322: aload_2 + // 323: invokevirtual 437 com/tencent/feedback/eup/e:C ()Ljava/util/Map; + // 326: aload_3 + // 327: invokeinterface 443 2 0 + // 332: aload_1 + // 333: ifnull +24 -> 357 + // 336: aload_1 + // 337: invokevirtual 446 java/lang/String:trim ()Ljava/lang/String; + // 340: invokevirtual 449 java/lang/String:length ()I + // 343: ifle +14 -> 357 + // 346: aload_2 + // 347: invokevirtual 437 com/tencent/feedback/eup/e:C ()Ljava/util/Map; + // 350: aload_1 + // 351: invokeinterface 452 2 0 + // 356: pop + // 357: iload 5 + // 359: ifeq +335 -> 694 + // 362: aload 13 + // 364: ifnull +330 -> 694 + // 367: ldc_w 454 + // 370: iconst_0 + // 371: anewarray 4 java/lang/Object + // 374: invokestatic 144 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 377: pop + // 378: aload 10 + // 380: astore_1 + // 381: aload 12 + // 383: ifnull +44 -> 427 + // 386: aload 10 + // 388: astore_1 + // 389: aload 12 + // 391: invokevirtual 446 java/lang/String:trim ()Ljava/lang/String; + // 394: invokevirtual 449 java/lang/String:length ()I + // 397: ifle +30 -> 427 + // 400: new 176 java/lang/StringBuilder + // 403: dup + // 404: invokespecial 177 java/lang/StringBuilder: ()V + // 407: aload 10 + // 409: invokevirtual 190 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 412: ldc_w 456 + // 415: invokevirtual 190 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 418: aload 12 + // 420: invokevirtual 190 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 423: invokevirtual 200 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 426: astore_1 + // 427: aload 13 + // 429: iconst_0 + // 430: aload_1 + // 431: aload 15 + // 433: aload 14 + // 435: sipush -10000 + // 438: lload 8 + // 440: aload_2 + // 441: invokevirtual 459 com/tencent/feedback/eup/e:k ()Ljava/lang/String; + // 444: aload_2 + // 445: invokevirtual 462 com/tencent/feedback/eup/e:D ()Ljava/lang/String; + // 448: aload_2 + // 449: invokevirtual 465 com/tencent/feedback/eup/e:v ()Ljava/lang/String; + // 452: invokeinterface 469 11 0 + // 457: istore 7 + // 459: iload 5 + // 461: ifeq +11 -> 472 + // 464: aload_0 + // 465: getfield 25 com/tencent/feedback/eup/c:b Landroid/content/Context; + // 468: aload_2 + // 469: invokestatic 475 com/tencent/feedback/eup/BuglyBroadcastRecevier:brocastCrash (Landroid/content/Context;Lcom/tencent/feedback/eup/e;)V + // 472: iload 7 + // 474: ifeq +226 -> 700 + // 477: aload_0 + // 478: aload_2 + // 479: invokestatic 388 com/tencent/feedback/eup/CrashReport:getCrashRuntimeStrategy ()Lcom/tencent/feedback/eup/CrashStrategyBean; + // 482: invokevirtual 477 com/tencent/feedback/eup/c:a (Lcom/tencent/feedback/eup/e;Lcom/tencent/feedback/eup/CrashStrategyBean;)Z + // 485: ireturn + // 486: ldc_w 260 + // 489: astore 12 + // 491: goto -459 -> 32 + // 494: ldc_w 260 + // 497: astore 10 + // 499: goto -454 -> 45 + // 502: aload 13 + // 504: invokevirtual 481 com/tencent/feedback/eup/f:r ()Lcom/tencent/feedback/eup/CrashHandleListener; + // 507: astore 13 + // 509: goto -440 -> 69 + // 512: astore_2 + // 513: ldc_w 483 + // 516: iconst_0 + // 517: anewarray 4 java/lang/Object + // 520: invokestatic 486 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 523: pop + // 524: aload 15 + // 526: astore 14 + // 528: aload_2 + // 529: invokestatic 137 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 532: ifne -442 -> 90 + // 535: aload_2 + // 536: invokevirtual 487 java/lang/Throwable:printStackTrace ()V + // 539: aload 15 + // 541: astore 14 + // 543: goto -453 -> 90 + // 546: astore 11 + // 548: ldc_w 489 + // 551: iconst_1 + // 552: anewarray 4 java/lang/Object + // 555: dup + // 556: iconst_0 + // 557: aload 11 + // 559: invokevirtual 490 java/lang/Throwable:toString ()Ljava/lang/String; + // 562: aastore + // 563: invokestatic 486 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 566: pop + // 567: aload_3 + // 568: astore_2 + // 569: aload 11 + // 571: invokestatic 137 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 574: ifne -365 -> 209 + // 577: aload 11 + // 579: invokevirtual 487 java/lang/Throwable:printStackTrace ()V + // 582: aload_3 + // 583: astore_2 + // 584: goto -375 -> 209 + // 587: astore_3 + // 588: ldc_w 489 + // 591: iconst_1 + // 592: anewarray 4 java/lang/Object + // 595: dup + // 596: iconst_0 + // 597: aload_3 + // 598: invokevirtual 490 java/lang/Throwable:toString ()Ljava/lang/String; + // 601: aastore + // 602: invokestatic 486 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 605: pop + // 606: aload_2 + // 607: astore 11 + // 609: aload_3 + // 610: invokestatic 137 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 613: ifne +10 -> 623 + // 616: aload_3 + // 617: invokevirtual 487 java/lang/Throwable:printStackTrace ()V + // 620: aload_2 + // 621: astore 11 + // 623: aload 4 + // 625: astore_3 + // 626: aload 11 + // 628: astore_2 + // 629: goto -381 -> 248 + // 632: iconst_1 + // 633: istore 6 + // 635: goto -327 -> 308 + // 638: astore_1 + // 639: ldc_w 492 + // 642: iconst_0 + // 643: anewarray 4 java/lang/Object + // 646: invokestatic 486 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 649: pop + // 650: aload_1 + // 651: invokestatic 137 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 654: ifne -297 -> 357 + // 657: aload_1 + // 658: invokevirtual 487 java/lang/Throwable:printStackTrace ()V + // 661: goto -304 -> 357 + // 664: astore_1 + // 665: ldc_w 489 + // 668: iconst_1 + // 669: anewarray 4 java/lang/Object + // 672: dup + // 673: iconst_0 + // 674: aload_1 + // 675: invokevirtual 490 java/lang/Throwable:toString ()Ljava/lang/String; + // 678: aastore + // 679: invokestatic 486 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 682: pop + // 683: aload_1 + // 684: invokestatic 137 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 687: ifne +7 -> 694 + // 690: aload_1 + // 691: invokevirtual 487 java/lang/Throwable:printStackTrace ()V + // 694: iconst_1 + // 695: istore 7 + // 697: goto -238 -> 459 + // 700: ldc_w 494 + // 703: iconst_0 + // 704: anewarray 4 java/lang/Object + // 707: invokestatic 157 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 710: pop + // 711: iconst_0 + // 712: ireturn + // Local variable table: + // start length slot name signature + // 0 713 0 this c + // 0 713 1 paramString1 String + // 0 713 2 paramThrowable Throwable + // 0 713 3 paramString2 String + // 0 713 4 paramArrayOfByte byte[] + // 0 713 5 paramBoolean boolean + // 306 328 6 b1 byte + // 457 239 7 bool boolean + // 79 360 8 l long + // 43 455 10 str1 String + // 20 191 11 localObject1 Object + // 546 32 11 localThrowable1 Throwable + // 607 20 11 localThrowable2 Throwable + // 30 460 12 str2 String + // 48 460 13 localObject2 Object + // 88 454 14 localObject3 Object + // 15 525 15 localObject4 Object + // 10 272 16 str3 String + // Exception table: + // from to target type + // 81 90 512 java/lang/Throwable + // 178 209 546 java/lang/Throwable + // 217 248 587 java/lang/Throwable + // 314 318 638 java/lang/Throwable + // 322 332 638 java/lang/Throwable + // 336 357 638 java/lang/Throwable + // 367 378 664 java/lang/Throwable + // 389 427 664 java/lang/Throwable + // 427 459 664 java/lang/Throwable + } + + public final void b() + { + try + { + com.tencent.feedback.common.e.a("rqdp{ eup unregister}", new Object[0]); + if (Thread.getDefaultUncaughtExceptionHandler() == this) + { + Thread.setDefaultUncaughtExceptionHandler(this.a); + this.a = null; + } + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void uncaughtException(Thread paramThread, Throwable paramThrowable) + { + if (paramThrowable != null) {} + for (;;) + { + try + { + if (!com.tencent.feedback.common.e.a(paramThrowable)) { + paramThrowable.printStackTrace(); + } + Object localObject = f.l(); + if (localObject == null) + { + com.tencent.feedback.common.e.c("rqdp{ instance == null}", new Object[0]); + localObject = null; + if (localObject == null) {} + } + try + { + com.tencent.feedback.common.e.a("your crhandler start", new Object[0]); + ((CrashHandleListener)localObject).onCrashHandleStart(false); + if (paramThread == null) + { + String str1 = ""; + com.tencent.feedback.common.e.b("rqdp{ handle eup result} %b", new Object[] { Boolean.valueOf(a(str1, paramThrowable, null, null, true)) }); + if (localObject == null) { + break label234; + } + } + try + { + com.tencent.feedback.common.e.a("your crhandler end", new Object[0]); + bool = ((CrashHandleListener)localObject).onCrashHandleEnd(false); + if (bool) { + a(paramThread, paramThrowable); + } + return; + } + catch (Throwable localThrowable1) + { + String str2; + com.tencent.feedback.common.e.d("rqdp{ your crash handle end error} %s", new Object[] { localThrowable1.toString() }); + if (com.tencent.feedback.common.e.a(localThrowable1)) { + break label234; + } + localThrowable1.printStackTrace(); + } + localObject = ((f)localObject).r(); + } + catch (Throwable localThrowable2) + { + com.tencent.feedback.common.e.d("rqdp{ handle start error} %s", new Object[] { localThrowable2.toString() }); + if (com.tencent.feedback.common.e.a(localThrowable2)) { + continue; + } + localThrowable2.printStackTrace(); + continue; + } + str2 = paramThread.getName(); + } + finally {} + continue; + label234: + boolean bool = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/d.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/d.java new file mode 100755 index 00000000000..b3d69c73d49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/d.java @@ -0,0 +1,260 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import com.tencent.feedback.common.e; +import com.tencent.feedback.proguard.Q; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.h; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +public final class d + implements com.tencent.feedback.upload.d +{ + private Context a; + + public d(Context paramContext) + { + this.a = paramContext; + } + + private static boolean a(Q paramQ, CrashStrategyBean paramCrashStrategyBean) + { + if ((paramQ == null) || (paramCrashStrategyBean == null) || (paramQ.b == null) || (paramQ.b.size() == 0)) { + return false; + } + Object localObject = paramQ.b.keySet().iterator(); + while (((Iterator)localObject).hasNext()) { + e.b("key %s", new Object[] { (String)((Iterator)localObject).next() }); + } + String str1 = (String)paramQ.b.get("B11"); + String str2 = (String)paramQ.b.get("B12"); + String str3 = (String)paramQ.b.get("B13"); + String str4 = (String)paramQ.b.get("B21"); + String str5 = (String)paramQ.b.get("B22"); + String str6 = (String)paramQ.b.get(Integer.valueOf(60)); + localObject = (String)paramQ.b.get(Integer.valueOf(50)); + boolean bool1; + if (str1 != null) { + if (str1.equals("0")) + { + bool1 = false; + e.b("%b", new Object[] { Boolean.valueOf(bool1) }); + } + } + for (boolean bool3 = bool1;; bool3 = true) + { + if (str2 != null) { + if (str2.equals("0")) + { + bool1 = false; + label253: + e.b("%b", new Object[] { Boolean.valueOf(bool1) }); + } + } + for (boolean bool4 = bool1;; bool4 = false) + { + if (str3 != null) { + if (str3.equals("0")) + { + bool1 = false; + label290: + e.b("%b", new Object[] { Boolean.valueOf(bool1) }); + } + } + for (boolean bool5 = bool1;; bool5 = false) + { + if (str4 != null) { + if (str4.equals("0")) + { + bool1 = false; + label327: + if (paramCrashStrategyBean.isMerged() == bool1) { + break label711; + } + e.b("rqdp{ is merged changed} %b", new Object[] { Boolean.valueOf(bool1) }); + paramCrashStrategyBean.setMerged(bool1); + } + } + label655: + label670: + label702: + label705: + label711: + for (bool1 = true;; bool1 = false) + { + if (str5 != null) { + if (str5.equals("0")) + { + bool2 = false; + label377: + if (paramCrashStrategyBean.isAssertOn() == bool2) { + break label705; + } + paramCrashStrategyBean.setAssertEnable(bool2); + e.b("rqdp{ Assert enable changed: } %s", new Object[] { Boolean.valueOf(bool2) }); + } + } + for (boolean bool2 = true;; bool2 = bool1) + { + bool1 = bool2; + if (str6 != null) {} + try + { + i = Integer.valueOf(str6).intValue(); + bool1 = bool2; + if (paramCrashStrategyBean.getAssertTaskInterval() != i) { + paramCrashStrategyBean.setAssertTaskInterval(i); + } + } + catch (Exception paramQ) + { + for (;;) + { + int i; + bool1 = bool2; + if (!e.a(paramQ)) { + paramQ.printStackTrace(); + } + } + } + for (;;) + { + try + { + e.b("rqdp{ Assert task interval changed: } %s", new Object[] { Integer.valueOf(i) }); + bool1 = true; + bool2 = bool1; + if (localObject == null) { + break; + } + } + catch (Exception paramQ) + { + bool1 = true; + break label655; + } + try + { + i = Integer.valueOf((String)localObject).intValue(); + bool2 = bool1; + if (paramCrashStrategyBean.getAssertLimitCount() != i) { + paramCrashStrategyBean.setAssertLimitCount(i); + } + } + catch (Exception paramQ) + { + bool2 = bool1; + if (e.a(paramQ)) { + break; + } + paramQ.printStackTrace(); + bool2 = bool1; + break; + } + } + try + { + e.b("rqdp{ Assert task interval changed: } %s", new Object[] { Integer.valueOf(i) }); + bool2 = true; + if (paramCrashStrategyBean.isOpenANR() != bool3) + { + paramCrashStrategyBean.setOpenANR(bool3); + e.b("rqdp{ anr changed: } %b", new Object[] { Boolean.valueOf(bool3) }); + bool2 = true; + } + if (paramCrashStrategyBean.isBroadcast() != bool4) + { + paramCrashStrategyBean.setBroadcast(bool4); + e.b("rqdp{ broad changed: } %b", new Object[] { Boolean.valueOf(bool4) }); + bool2 = true; + } + if (paramCrashStrategyBean.isReceiveBroadcast() == bool5) { + break label702; + } + paramCrashStrategyBean.setReceiveBroadcast(bool5); + e.b("rqdp{ receiver changed: } %b", new Object[] { Boolean.valueOf(bool5) }); + return true; + } + catch (Exception paramQ) + { + bool1 = true; + break label670; + } + bool1 = true; + break; + bool1 = true; + break label253; + bool1 = true; + break label290; + bool1 = true; + break label327; + bool2 = true; + break label377; + return bool2; + } + } + } + } + } + } + + public final void a(int paramInt, byte[] paramArrayOfByte, boolean paramBoolean) + { + if ((paramInt == 510) && (paramArrayOfByte != null)) { + for (;;) + { + try + { + f localf = f.l(); + if (localf == null) + { + e.c("rqdp{ imposiable handle response ,but no eup instance!}", new Object[0]); + return; + } + Q localQ = new Q(); + localQ.a(new h(paramArrayOfByte)); + CrashStrategyBean localCrashStrategyBean2 = localf.q(); + localCrashStrategyBean1 = localCrashStrategyBean2; + if (localCrashStrategyBean2 == null) + { + localCrashStrategyBean1 = localf.p(); + if (localCrashStrategyBean1 == null) + { + e.b("rqdp{ init eup sStrategy by default}", new Object[0]); + localCrashStrategyBean1 = new CrashStrategyBean(); + localf.a(localCrashStrategyBean1); + } + } + else + { + if ((a(localQ, localCrashStrategyBean1)) && (paramBoolean)) + { + e.b("rqdp{ save eup strategy}", new Object[0]); + a.a(this.a, paramInt, paramArrayOfByte); + } + e.b("rqdp{ crashStrategy}[%s]", new Object[] { localQ }); + return; + } + } + catch (Throwable paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + e.d("rqdp{ process crash strategy error} %s", new Object[] { paramArrayOfByte.toString() }); + return; + } + e.b("rqdp{ init eup sStrategy by uStrategy}", new Object[0]); + CrashStrategyBean localCrashStrategyBean1 = localCrashStrategyBean1.clone(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/e.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/e.java new file mode 100755 index 00000000000..747125a0df6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/e.java @@ -0,0 +1,530 @@ +package com.tencent.feedback.eup; + +import com.tencent.feedback.common.PlugInInfo; +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +public class e + implements Serializable +{ + private long A = -1L; + private long B = -1L; + private long C = -1L; + private long D = -1L; + private String E; + private byte[] F; + private Map G; + private String H; + private boolean I; + private String J; + private String K = ""; + private String L = ""; + private String M = "unknown"; + private String N = ""; + private String O = ""; + private String P = ""; + private final Map Q = new HashMap(); + private long R = -1L; + public int a = -1; + public int b = -1; + public Map c = null; + public Map d = null; + private long e = -1L; + private byte f = 0; + private boolean g = false; + private boolean h = false; + private int i = 0; + private String j = ""; + private String k; + private String l; + private String m; + private String n; + private long o; + private String p; + private int q; + private byte[] r; + private String s; + private String t; + private String u; + private String v; + private long w = -1L; + private long x = -1L; + private long y = -1L; + private long z = -1L; + + public e() + { + try + { + this.H = UUID.randomUUID().toString(); + return; + } + catch (Throwable localThrowable) + { + if ((!com.tencent.feedback.common.e.a(localThrowable)) && (!com.tencent.feedback.common.e.a(localThrowable))) { + localThrowable.printStackTrace(); + } + this.H = "unknown"; + } + } + + public final String A() + { + return this.L; + } + + public final String B() + { + return this.M; + } + + public final Map C() + { + return this.Q; + } + + public final String D() + { + return this.N; + } + + public final boolean E() + { + return this.h; + } + + public final long F() + { + return this.w; + } + + public final long G() + { + return this.x; + } + + public final long H() + { + return this.y; + } + + public final long I() + { + return this.z; + } + + public final long J() + { + return this.A; + } + + public final long K() + { + return this.B; + } + + public final long L() + { + return this.C; + } + + public final long M() + { + return this.D; + } + + public final String N() + { + return this.O; + } + + public final String O() + { + return this.P; + } + + public final byte P() + { + return this.f; + } + + public final long Q() + { + return this.R; + } + + public final int R() + { + return this.a; + } + + public final int S() + { + return this.b; + } + + public final Map T() + { + return this.c; + } + + public final Map U() + { + return this.d; + } + + public final long a() + { + return this.e; + } + + public final void a(byte paramByte) + { + this.f = paramByte; + } + + public final void a(float paramFloat) {} + + public final void a(int paramInt) + { + this.i = paramInt; + } + + public final void a(long paramLong) + { + this.e = paramLong; + } + + public final void a(String paramString) + { + this.k = paramString; + } + + public final void a(Map paramMap) + { + this.G = paramMap; + } + + public final void a(boolean paramBoolean) + { + this.g = true; + } + + public final void a(byte[] paramArrayOfByte) + { + this.r = paramArrayOfByte; + } + + public final void b(int paramInt) + { + this.q = paramInt; + } + + public final void b(long paramLong) + { + this.o = paramLong; + } + + public final void b(String paramString) + { + this.l = paramString; + } + + public final void b(Map paramMap) + { + this.c = paramMap; + } + + public final void b(boolean paramBoolean) + { + this.I = true; + } + + public final void b(byte[] paramArrayOfByte) + { + this.F = paramArrayOfByte; + } + + public final boolean b() + { + return this.f == 0; + } + + public final void c(int paramInt) + { + this.a = paramInt; + } + + public final void c(long paramLong) + { + this.w = paramLong; + } + + public final void c(String paramString) + { + this.m = paramString; + } + + public final void c(Map paramMap) + { + this.d = paramMap; + } + + public final void c(boolean paramBoolean) + { + this.h = true; + } + + public final boolean c() + { + return this.g; + } + + public final void d(int paramInt) + { + this.b = paramInt; + } + + public final void d(long paramLong) + { + this.x = paramLong; + } + + public final void d(String paramString) + { + this.n = paramString; + } + + public final boolean d() + { + return this.f == 2; + } + + public final String e() + { + return this.k; + } + + public final void e(long paramLong) + { + this.y = paramLong; + } + + public final void e(String paramString) + { + this.j = paramString; + } + + public final String f() + { + return this.l; + } + + public final void f(long paramLong) + { + this.z = paramLong; + } + + public final void f(String paramString) + { + this.p = paramString; + } + + public final String g() + { + return this.m; + } + + public final void g(long paramLong) + { + this.A = paramLong; + } + + public final void g(String paramString) + { + this.s = paramString; + } + + public final String h() + { + return this.n; + } + + public final void h(long paramLong) + { + this.B = paramLong; + } + + public final void h(String paramString) + { + this.t = paramString; + } + + public final long i() + { + return this.o; + } + + public final void i(long paramLong) + { + this.C = paramLong; + } + + public final void i(String paramString) + { + this.u = paramString; + } + + public final int j() + { + return this.i; + } + + public final void j(long paramLong) + { + this.D = paramLong; + } + + public final void j(String paramString) + { + this.v = paramString; + } + + public final String k() + { + return this.j; + } + + public final void k(long paramLong) + { + this.R = paramLong; + } + + public final void k(String paramString) + { + this.E = paramString; + } + + public final String l() + { + return this.p; + } + + public final void l(String paramString) + { + this.H = paramString; + } + + public final int m() + { + return this.q; + } + + public final void m(String paramString) + { + this.J = paramString; + } + + public final void n(String paramString) + { + this.K = paramString; + } + + public final byte[] n() + { + return this.r; + } + + public final String o() + { + return this.s; + } + + public final void o(String paramString) + { + this.L = paramString; + } + + public final String p() + { + return this.t; + } + + public final void p(String paramString) + { + this.M = paramString; + } + + public final String q() + { + return this.u; + } + + public final void q(String paramString) + { + this.N = paramString; + } + + public final String r() + { + return this.v; + } + + public final void r(String paramString) + { + this.O = paramString; + } + + public final String s() + { + return this.E; + } + + public final void s(String paramString) + { + this.P = paramString; + } + + public final byte[] t() + { + return this.F; + } + + public final Map u() + { + return this.G; + } + + public final String v() + { + return this.H; + } + + public final boolean w() + { + return this.I; + } + + public final boolean x() + { + return this.f == 3; + } + + public final String y() + { + return this.J; + } + + public final String z() + { + return this.K; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/f.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/f.java new file mode 100755 index 00000000000..0c22c7cff12 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/f.java @@ -0,0 +1,418 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import com.tencent.feedback.common.i; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.l; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.w; +import com.tencent.feedback.upload.AbstractUploadDatas; +import com.tencent.feedback.upload.UploadHandleListener; + +public final class f + extends i +{ + private static f b; + private CrashStrategyBean c; + private CrashStrategyBean d; + private c e; + private CrashHandleListener f; + private final boolean g; + + private f(Context paramContext, String paramString, boolean paramBoolean, com.tencent.feedback.upload.e parame, UploadHandleListener paramUploadHandleListener, CrashHandleListener paramCrashHandleListener, CrashStrategyBean paramCrashStrategyBean) {} + + public static f a(Context paramContext, String paramString, boolean paramBoolean, com.tencent.feedback.upload.e parame, UploadHandleListener paramUploadHandleListener, CrashHandleListener paramCrashHandleListener, CrashStrategyBean paramCrashStrategyBean) + { + try + { + if (b == null) + { + com.tencent.feedback.common.e.a("rqdp{ eup create instance}", new Object[0]); + paramContext = new f(paramContext, paramString, false, parame, paramUploadHandleListener, paramCrashHandleListener, paramCrashStrategyBean); + b = paramContext; + paramContext.a(true); + } + paramContext = b; + return paramContext; + } + finally {} + } + + public static com.tencent.feedback.upload.e a(Context paramContext, boolean paramBoolean) + { + try + { + paramContext = com.tencent.feedback.upload.f.a(paramContext, paramBoolean); + return paramContext; + } + finally + { + paramContext = finally; + throw paramContext; + } + } + + public static boolean a(Thread paramThread, Throwable paramThrowable, String paramString, byte[] paramArrayOfByte) + { + com.tencent.feedback.common.e.a("rqdp{ handleCatchException}", new Object[0]); + if (!o()) { + return false; + } + Object localObject = l(); + if (localObject == null) + { + com.tencent.feedback.common.e.c("rqdp{ instance == null}", new Object[0]); + return false; + } + if (((f)localObject).a()) {} + for (;;) + { + try + { + localObject = ((f)localObject).u(); + if (localObject != null) { + break label122; + } + com.tencent.feedback.common.e.c("rqdp{ imposiable chandler null!}", new Object[0]); + return false; + } + catch (Throwable paramThread) + { + if (com.tencent.feedback.common.e.a(paramThread)) { + continue; + } + paramThread.printStackTrace(); + com.tencent.feedback.common.e.d("rqdp{ handleCatchException error} %s", new Object[] { paramThread.toString() }); + } + return ((c)localObject).a(paramThread, paramThrowable, paramString, paramArrayOfByte, false); + paramThread = paramThread.getName(); + continue; + return false; + label122: + if (paramThread == null) { + paramThread = null; + } + } + } + + public static f l() + { + try + { + f localf = b; + return localf; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static AbstractUploadDatas m() + { + AbstractUploadDatas localAbstractUploadDatas = null; + for (;;) + { + try + { + boolean bool = o(); + if (!bool) { + return localAbstractUploadDatas; + } + if (b == null) + { + com.tencent.feedback.common.e.c("rqdp{ instance == null}", new Object[0]); + continue; + } + if (!b.a()) { + continue; + } + } + finally {} + g localg = g.a(b.a); + } + } + + public static boolean n() + { + if (!o()) { + return false; + } + com.tencent.feedback.common.e.a("rqdp{ doUploadExceptionDatas}", new Object[0]); + f localf = l(); + if (localf == null) + { + com.tencent.feedback.common.e.c("rqdp{ instance == null}", new Object[0]); + return false; + } + return localf.h(); + } + + public static boolean o() + { + boolean bool1 = false; + f localf = l(); + if (localf == null) { + com.tencent.feedback.common.e.d("rqdp{ not init eup}", new Object[0]); + } + do + { + boolean bool2; + do + { + return bool1; + bool2 = localf.a(); + bool1 = bool2; + } while (!bool2); + bool1 = bool2; + } while (!localf.t()); + return localf.b(); + } + + private boolean t() + { + try + { + boolean bool = this.g; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private c u() + { + try + { + c localc = this.e; + return localc; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(CrashStrategyBean paramCrashStrategyBean) + { + try + { + this.d = paramCrashStrategyBean; + return; + } + finally + { + paramCrashStrategyBean = finally; + throw paramCrashStrategyBean; + } + } + + /* Error */ + public final void b(boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: iload_1 + // 4: invokespecial 155 com/tencent/feedback/common/i:b (Z)V + // 7: aload_0 + // 8: invokevirtual 104 com/tencent/feedback/eup/f:a ()Z + // 11: ifeq +13 -> 24 + // 14: aload_0 + // 15: getfield 31 com/tencent/feedback/eup/f:e Lcom/tencent/feedback/eup/c; + // 18: invokevirtual 157 com/tencent/feedback/eup/c:a ()V + // 21: aload_0 + // 22: monitorexit + // 23: return + // 24: aload_0 + // 25: getfield 31 com/tencent/feedback/eup/f:e Lcom/tencent/feedback/eup/c; + // 28: invokevirtual 159 com/tencent/feedback/eup/c:b ()V + // 31: goto -10 -> 21 + // 34: astore_2 + // 35: aload_0 + // 36: monitorexit + // 37: aload_2 + // 38: athrow + // Local variable table: + // start length slot name signature + // 0 39 0 this f + // 0 39 1 paramBoolean boolean + // 34 4 2 localObject Object + // Exception table: + // from to target type + // 2 21 34 finally + // 24 31 34 finally + } + + public final void e() + { + int i = -1; + super.e(); + Context localContext = this.a; + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.deleteEup() start}", new Object[0]); + if (localContext == null) { + com.tencent.feedback.common.e.c("rqdp{ deleteEup() context is null arg}", new Object[0]); + } + for (;;) + { + com.tencent.feedback.common.e.b("remove fail updata num :%d", new Object[] { Integer.valueOf(i) }); + if (k() == 1) { + BuglyBroadcastRecevier.brocastProcessLaunch(this.a); + } + return; + i = l.a(localContext, new int[] { 1, 2 }, -1L, 9223372036854775807L, 3, -1); + } + } + + public final void f() + { + int i = -1; + super.f(); + Context localContext = this.a; + com.tencent.feedback.common.e.b("rqdp{ EUPDAO.deleteEup() start}", new Object[0]); + if (localContext == null) { + com.tencent.feedback.common.e.c("rqdp{ deleteEup() context is null arg}", new Object[0]); + } + for (;;) + { + com.tencent.feedback.common.e.b("rqdp{ eup clear} %d ", new Object[] { Integer.valueOf(i) }); + com.tencent.feedback.common.e.b("rqdp{ eup strategy clear} %d ", new Object[] { Integer.valueOf(a.b(this.a, 510)) }); + return; + i = l.a(localContext, new int[] { 1, 2 }, -1L, 9223372036854775807L, -1, -1); + } + } + + public final int g() + { + int i = 0; + CrashStrategyBean localCrashStrategyBean = s(); + if ((localCrashStrategyBean != null) && (super.g() >= 0)) + { + if (!localCrashStrategyBean.isMerged()) + { + com.tencent.feedback.common.e.b("rqdp{ in no merge}", new Object[0]); + i = b.b(this.a); + } + do + { + return i; + com.tencent.feedback.common.e.b("rqdp{ in merge}", new Object[0]); + } while (!b.a(this.a)); + return 1; + } + return -1; + } + + public final boolean h() + { + if (super.h()) + { + g localg = g.a(this.a); + com.tencent.feedback.upload.e locale = c(); + if ((localg == null) || (locale == null)) + { + com.tencent.feedback.common.e.c("rqdp{ upDatas or uphandler null!}", new Object[0]); + return false; + } + try + { + locale.a(localg); + return true; + } + catch (Throwable localThrowable) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ upload eupdata error} %s", new Object[] { localThrowable.toString() }); + } + } + return false; + } + + public final boolean i() + { + return q() != null; + } + + public final CrashStrategyBean p() + { + try + { + CrashStrategyBean localCrashStrategyBean = this.c; + return localCrashStrategyBean; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final CrashStrategyBean q() + { + try + { + CrashStrategyBean localCrashStrategyBean = this.d; + return localCrashStrategyBean; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final CrashHandleListener r() + { + try + { + CrashHandleListener localCrashHandleListener = this.f; + return localCrashHandleListener; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final CrashStrategyBean s() + { + for (;;) + { + try + { + if (t.a(this.a).b().f()) + { + CrashStrategyBean localCrashStrategyBean1 = q(); + CrashStrategyBean localCrashStrategyBean2 = localCrashStrategyBean1; + if (localCrashStrategyBean1 == null) { + localCrashStrategyBean2 = p(); + } + return localCrashStrategyBean2; + } + } + catch (Throwable localThrowable) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + return null; + } + Object localObject = null; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/g.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/g.java new file mode 100755 index 00000000000..8256a767873 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/g.java @@ -0,0 +1,1035 @@ +package com.tencent.feedback.eup; + +import android.content.Context; +import com.tencent.feedback.common.PlugInInfo; +import com.tencent.feedback.common.c; +import com.tencent.feedback.proguard.I; +import com.tencent.feedback.proguard.K; +import com.tencent.feedback.proguard.L; +import com.tencent.feedback.proguard.M; +import com.tencent.feedback.proguard.N; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.j; +import com.tencent.feedback.proguard.l; +import com.tencent.feedback.proguard.o; +import com.tencent.feedback.upload.AbstractUploadDatas; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class g + extends AbstractUploadDatas +{ + private static g d = null; + private N e = null; + private List f = null; + + private g(Context paramContext) + { + super(paramContext, 3, 530); + } + + public static g a(Context paramContext) + { + if (paramContext != null) {} + try + { + if (d == null) { + d = new g(paramContext); + } + paramContext = d; + return paramContext; + } + finally {} + } + + /* Error */ + private static K a(String paramString1, Context paramContext, String paramString2) + { + // Byte code: + // 0: aload_2 + // 1: ifnull +7 -> 8 + // 4: aload_1 + // 5: ifnonnull +15 -> 20 + // 8: ldc 36 + // 10: iconst_0 + // 11: anewarray 38 java/lang/Object + // 14: invokestatic 44 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 17: pop + // 18: aconst_null + // 19: areturn + // 20: ldc 46 + // 22: iconst_1 + // 23: anewarray 38 java/lang/Object + // 26: dup + // 27: iconst_0 + // 28: aload_2 + // 29: aastore + // 30: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 33: pop + // 34: new 51 java/io/File + // 37: dup + // 38: aload_2 + // 39: invokespecial 54 java/io/File: (Ljava/lang/String;)V + // 42: astore_2 + // 43: new 51 java/io/File + // 46: dup + // 47: aload_1 + // 48: invokevirtual 60 android/content/Context:getCacheDir ()Ljava/io/File; + // 51: aload_0 + // 52: invokespecial 63 java/io/File: (Ljava/io/File;Ljava/lang/String;)V + // 55: astore 4 + // 57: aload_2 + // 58: aload 4 + // 60: sipush 5000 + // 63: invokestatic 68 com/tencent/feedback/proguard/a:a (Ljava/io/File;Ljava/io/File;I)Z + // 66: ifne +15 -> 81 + // 69: ldc 70 + // 71: iconst_0 + // 72: anewarray 38 java/lang/Object + // 75: invokestatic 44 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 78: pop + // 79: aconst_null + // 80: areturn + // 81: new 72 java/io/ByteArrayOutputStream + // 84: dup + // 85: invokespecial 74 java/io/ByteArrayOutputStream: ()V + // 88: astore_2 + // 89: new 76 java/io/FileInputStream + // 92: dup + // 93: aload 4 + // 95: invokespecial 79 java/io/FileInputStream: (Ljava/io/File;)V + // 98: astore_1 + // 99: aload_1 + // 100: astore_0 + // 101: sipush 1000 + // 104: newarray byte + // 106: astore 5 + // 108: aload_1 + // 109: astore_0 + // 110: aload_1 + // 111: aload 5 + // 113: invokevirtual 83 java/io/FileInputStream:read ([B)I + // 116: istore_3 + // 117: iload_3 + // 118: ifle +72 -> 190 + // 121: aload_1 + // 122: astore_0 + // 123: aload_2 + // 124: aload 5 + // 126: iconst_0 + // 127: iload_3 + // 128: invokevirtual 87 java/io/ByteArrayOutputStream:write ([BII)V + // 131: aload_1 + // 132: astore_0 + // 133: aload_2 + // 134: invokevirtual 90 java/io/ByteArrayOutputStream:flush ()V + // 137: goto -29 -> 108 + // 140: astore_2 + // 141: aload_1 + // 142: astore_0 + // 143: aload_2 + // 144: invokestatic 93 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 147: ifne +9 -> 156 + // 150: aload_1 + // 151: astore_0 + // 152: aload_2 + // 153: invokevirtual 96 java/lang/Throwable:printStackTrace ()V + // 156: aload_1 + // 157: ifnull +7 -> 164 + // 160: aload_1 + // 161: invokevirtual 99 java/io/FileInputStream:close ()V + // 164: aload 4 + // 166: invokevirtual 103 java/io/File:exists ()Z + // 169: ifeq -151 -> 18 + // 172: ldc 105 + // 174: iconst_0 + // 175: anewarray 38 java/lang/Object + // 178: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 181: pop + // 182: aload 4 + // 184: invokevirtual 108 java/io/File:delete ()Z + // 187: pop + // 188: aconst_null + // 189: areturn + // 190: aload_1 + // 191: astore_0 + // 192: aload_2 + // 193: invokevirtual 112 java/io/ByteArrayOutputStream:toByteArray ()[B + // 196: astore_2 + // 197: aload_1 + // 198: astore_0 + // 199: ldc 114 + // 201: iconst_1 + // 202: anewarray 38 java/lang/Object + // 205: dup + // 206: iconst_0 + // 207: aload_2 + // 208: arraylength + // 209: invokestatic 120 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 212: aastore + // 213: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 216: pop + // 217: aload_1 + // 218: astore_0 + // 219: new 122 com/tencent/feedback/proguard/K + // 222: dup + // 223: iconst_2 + // 224: aload 4 + // 226: invokevirtual 126 java/io/File:getName ()Ljava/lang/String; + // 229: aload_2 + // 230: invokespecial 129 com/tencent/feedback/proguard/K: (BLjava/lang/String;[B)V + // 233: astore_2 + // 234: aload_1 + // 235: invokevirtual 99 java/io/FileInputStream:close ()V + // 238: aload 4 + // 240: invokevirtual 103 java/io/File:exists ()Z + // 243: ifeq +19 -> 262 + // 246: ldc 105 + // 248: iconst_0 + // 249: anewarray 38 java/lang/Object + // 252: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 255: pop + // 256: aload 4 + // 258: invokevirtual 108 java/io/File:delete ()Z + // 261: pop + // 262: aload_2 + // 263: areturn + // 264: astore_0 + // 265: aload_0 + // 266: invokestatic 93 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 269: ifne -31 -> 238 + // 272: aload_0 + // 273: invokevirtual 130 java/io/IOException:printStackTrace ()V + // 276: goto -38 -> 238 + // 279: astore_0 + // 280: aload_0 + // 281: invokestatic 93 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 284: ifne -120 -> 164 + // 287: aload_0 + // 288: invokevirtual 130 java/io/IOException:printStackTrace ()V + // 291: goto -127 -> 164 + // 294: astore_1 + // 295: aconst_null + // 296: astore_0 + // 297: aload_0 + // 298: ifnull +7 -> 305 + // 301: aload_0 + // 302: invokevirtual 99 java/io/FileInputStream:close ()V + // 305: aload 4 + // 307: invokevirtual 103 java/io/File:exists ()Z + // 310: ifeq +19 -> 329 + // 313: ldc 105 + // 315: iconst_0 + // 316: anewarray 38 java/lang/Object + // 319: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 322: pop + // 323: aload 4 + // 325: invokevirtual 108 java/io/File:delete ()Z + // 328: pop + // 329: aload_1 + // 330: athrow + // 331: astore_0 + // 332: aload_0 + // 333: invokestatic 93 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 336: ifne -31 -> 305 + // 339: aload_0 + // 340: invokevirtual 130 java/io/IOException:printStackTrace ()V + // 343: goto -38 -> 305 + // 346: astore_1 + // 347: goto -50 -> 297 + // 350: astore_2 + // 351: aconst_null + // 352: astore_1 + // 353: goto -212 -> 141 + // Local variable table: + // start length slot name signature + // 0 356 0 paramString1 String + // 0 356 1 paramContext Context + // 0 356 2 paramString2 String + // 116 12 3 i int + // 55 269 4 localFile java.io.File + // 106 19 5 arrayOfByte byte[] + // Exception table: + // from to target type + // 101 108 140 java/lang/Throwable + // 110 117 140 java/lang/Throwable + // 123 131 140 java/lang/Throwable + // 133 137 140 java/lang/Throwable + // 192 197 140 java/lang/Throwable + // 199 217 140 java/lang/Throwable + // 219 234 140 java/lang/Throwable + // 234 238 264 java/io/IOException + // 160 164 279 java/io/IOException + // 89 99 294 finally + // 301 305 331 java/io/IOException + // 101 108 346 finally + // 110 117 346 finally + // 123 131 346 finally + // 133 137 346 finally + // 143 150 346 finally + // 152 156 346 finally + // 192 197 346 finally + // 199 217 346 finally + // 219 234 346 finally + // 89 99 350 java/lang/Throwable + } + + private static K a(byte[] paramArrayOfByte, String paramString) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 0) || (paramString == null) || (paramString.trim().length() <= 0)) { + return null; + } + try + { + K localK = new K(); + localK.a = 1; + localK.b = paramString; + localK.c = paramArrayOfByte; + return localK; + } + catch (Throwable paramArrayOfByte) + { + if (!com.tencent.feedback.common.e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + } + return null; + } + + private L a(Context paramContext, e parame) + { + if (parame == null) + { + com.tencent.feedback.common.e.c("rqdp{ params!}", new Object[0]); + return null; + } + com.tencent.feedback.common.e.b("rqdp{ pack n:}%s , rqdp{ iM:}%b , rqdp{ tp:}%d", new Object[] { parame.f(), Boolean.valueOf(parame.c()), Byte.valueOf(parame.P()) }); + for (;;) + { + Object localObject1; + L localL; + int i; + Object localObject2; + try + { + if (!parame.d()) { + break label395; + } + if (parame.c()) + { + localObject1 = "201"; + localL = new L(); + localL.a = ((String)localObject1); + localL.b = parame.i(); + localL.c = parame.e(); + localL.d = parame.f(); + localL.e = parame.g(); + localL.h = parame.C(); + localL.g = parame.h(); + localL.i = parame.v(); + localL.k = parame.k(); + localL.l = parame.D(); + localL.f = parame.r(); + localObject1 = parame.u(); + if (localObject1 != null) { + break label454; + } + i = 0; + com.tencent.feedback.common.e.b("plugin size :%d", new Object[] { Integer.valueOf(i) }); + if ((localObject1 == null) || (((Map)localObject1).size() <= 0)) { + break label465; + } + localL.n = new ArrayList(); + localObject1 = ((Map)localObject1).entrySet().iterator(); + if (!((Iterator)localObject1).hasNext()) { + break label465; + } + localObject2 = (Map.Entry)((Iterator)localObject1).next(); + I localI = new I(); + localI.a = ((PlugInInfo)((Map.Entry)localObject2).getValue()).plugInId; + localI.c = ((PlugInInfo)((Map.Entry)localObject2).getValue()).plugInUUID; + localI.d = ((PlugInInfo)((Map.Entry)localObject2).getValue()).plugInVersion; + localL.n.add(localI); + continue; + } + localObject1 = "101"; + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + return null; + } + continue; + label395: + if (parame.x()) + { + if (parame.c()) { + localObject1 = "203"; + } + } + else + { + if (parame.b()) + { + if (!parame.c()) { + break label2043; + } + localObject1 = "200"; + continue; + } + if (!parame.c()) { + break label2051; + } + localObject1 = "202"; + continue; + label454: + i = ((Map)localObject1).size(); + continue; + label465: + if ((parame.c()) && (parame.m() > 1)) + { + localL.j = parame.m(); + if ((parame.l() != null) && (parame.l().length() > 0)) + { + if (localL.o == null) { + localL.o = new ArrayList(); + } + localL.o.add(new K((byte)1, "alltimes.txt", parame.l().getBytes("utf-8"))); + } + } + if (parame.n() != null) + { + if (localL.o == null) { + localL.o = new ArrayList(); + } + localL.o.add(new K((byte)1, "log.txt", parame.n())); + } + if ((parame.s() != null) && (!parame.x())) + { + localObject1 = a(parame.s().getBytes("utf8"), "extraMessage.txt"); + if (localObject1 != null) + { + if (localL.o == null) { + localL.o = new ArrayList(); + } + com.tencent.feedback.common.e.b("rqdp{ attach extra msg}", new Object[0]); + localL.o.add(localObject1); + } + } + if (parame.t() != null) + { + localObject1 = a(parame.t(), "extraDatas.txt"); + if (localObject1 != null) + { + com.tencent.feedback.common.e.b("rqdp{ attach extra datas}", new Object[0]); + if (localL.o == null) { + localL.o = new ArrayList(); + } + localL.o.add(localObject1); + } + } + if ((parame.x()) && (parame.p() != null)) { + if (localL.o == null) { + localL.o = new ArrayList(); + } + } + try + { + localL.o.add(new K((byte)1, "anrMessage.txt", parame.s().getBytes("utf8"))); + com.tencent.feedback.common.e.b("attach anr message", new Object[0]); + localObject1 = a("trace.zip", paramContext, parame.p()); + if (localObject1 != null) + { + com.tencent.feedback.common.e.b("attach traces", new Object[0]); + localL.o.add(localObject1); + } + localObject1 = c.a(paramContext); + localL.p = new HashMap(); + localL.p.put("A9", parame.F()); + localL.p.put("A11", parame.G()); + localL.p.put("A10", parame.H()); + localL.p.put("A23", parame.N()); + localL.p.put("A7", ((c)localObject1).d()); + localL.p.put("A6", ((c)localObject1).w()); + localL.p.put("A5", ((c)localObject1).v()); + localL.p.put("A22", ((c)localObject1).h()); + localL.p.put("A2", parame.J()); + localL.p.put("A1", parame.I()); + localL.p.put("A24", ((c)localObject1).f()); + localL.p.put("A17", parame.K()); + localL.p.put("A3", ((c)localObject1).o()); + localL.p.put("A16", ((c)localObject1).q()); + localL.p.put("A25", ((c)localObject1).r()); + localL.p.put("A14", ((c)localObject1).p()); + localL.p.put("A15", ((c)localObject1).z()); + localL.p.put("A13", ((c)localObject1).C()); + localL.p.put("A34", parame.q()); + localL.p.put("A30", parame.B()); + localObject2 = localL.p; + if (((c)localObject1).k().trim().length() > 0) + { + localObject1 = ((c)localObject1).k(); + ((Map)localObject2).put("productIdentify", localObject1); + if (parame.d()) + { + localL.p.put("A27", parame.A()); + localL.p.put("A28", parame.z()); + localL.p.put("A29", parame.E()); + } + paramContext = b(paramContext); + if ((paramContext != null) && (paramContext.size() > 0)) { + localL.m = paramContext; + } + } + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + try + { + localL.p.put("A26", URLEncoder.encode(parame.y(), "utf-8")); + if (parame.a >= 0) { + localL.p.put("C01", parame.a); + } + if (parame.b >= 0) { + localL.p.put("C02", parame.b); + } + if ((parame.c == null) || (parame.c.size() <= 0)) { + break; + } + paramContext = parame.c.entrySet().iterator(); + if (!paramContext.hasNext()) { + break; + } + localObject1 = (Map.Entry)paramContext.next(); + localL.p.put("C03_" + (String)((Map.Entry)localObject1).getKey(), ((Map.Entry)localObject1).getValue()); + continue; + localUnsupportedEncodingException = localUnsupportedEncodingException; + localUnsupportedEncodingException.printStackTrace(); + localL.o = null; + } + catch (UnsupportedEncodingException paramContext) + { + if (com.tencent.feedback.common.e.a(paramContext)) { + break label2059; + } + } + str = localUnsupportedEncodingException.l(); + } + } + paramContext.printStackTrace(); + break; + if ((parame.d != null) && (parame.d.size() > 0)) + { + paramContext = parame.d.entrySet().iterator(); + while (paramContext.hasNext()) + { + parame = (Map.Entry)paramContext.next(); + localL.p.put("C04_" + (String)parame.getKey(), parame.getValue()); + } + } + return localL; + } + String str = "103"; + continue; + label2043: + str = "100"; + continue; + label2051: + str = "102"; + } + label2059: + return null; + } + + private M a(Context paramContext, List paramList) + { + Object localObject1; + if ((paramContext == null) || (paramList == null) || (paramList.size() <= 0)) + { + com.tencent.feedback.common.e.c("rqdp{ params!}", new Object[0]); + localObject1 = null; + } + ArrayList localArrayList; + Object localObject2; + do + { + return localObject1; + for (;;) + { + e locale; + try + { + localObject1 = new ArrayList(); + localArrayList = new ArrayList(); + localObject2 = paramList.iterator(); + if (!((Iterator)localObject2).hasNext()) { + break; + } + locale = (e)((Iterator)localObject2).next(); + if (!c.a(paramContext).B().equals(locale.N())) + { + com.tencent.feedback.common.e.c("updated drop it", new Object[0]); + localArrayList.add(locale); + continue; + } + localL = a(paramContext, locale); + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + return null; + } + L localL; + if (localL != null) { + ((ArrayList)localObject1).add(localL); + } else { + localArrayList.add(locale); + } + } + localObject2 = new M(); + ((M)localObject2).a = ((ArrayList)localObject1); + localObject1 = localObject2; + } while (localArrayList.size() <= 0); + com.tencent.feedback.common.e.c("rqdp{ delete error eup} %d", new Object[] { Integer.valueOf(b.a(paramContext, localArrayList)) }); + paramList.removeAll(localArrayList); + return localObject2; + } + + private static void a(List paramList) + { + if (paramList != null) + { + paramList = paramList.iterator(); + while (paramList.hasNext()) + { + e locale = (e)paramList.next(); + locale.a(locale.j() + 1); + } + } + } + + private static ArrayList b(Context paramContext) + { + try + { + Object localObject2 = c.a(paramContext).A(); + Object localObject1 = localObject2; + if (localObject2 == null) + { + com.tencent.feedback.common.e.b("no setted solist from db", new Object[0]); + localObject1 = l.a(paramContext, null, 1, 50); + } + if ((localObject1 != null) && (((List)localObject1).size() > 0)) + { + paramContext = new ArrayList(); + localObject1 = ((List)localObject1).iterator(); + } + while (((Iterator)localObject1).hasNext()) + { + localObject2 = (o)((Iterator)localObject1).next(); + I localI = new I(); + localI.b = ((o)localObject2).f(); + localI.a = ((o)localObject2).a(); + localI.c = ((o)localObject2).d(); + paramContext.add(localI); + com.tencent.feedback.common.e.b("up %s %s %s", new Object[] { localI.b, localI.a, localI.c }); + continue; + return null; + } + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ Error: lb pack fail!}", new Object[0]); + } + return paramContext; + } + + private List b(Context paramContext, int paramInt) + { + com.tencent.feedback.common.e.b("rqdp{ get MN:}%d", new Object[] { Integer.valueOf(paramInt) }); + if ((paramContext == null) || (paramInt <= 0)) + { + com.tencent.feedback.common.e.c("rqdp{ params!}", new Object[0]); + return null; + } + try + { + List localList = b.a(paramContext, paramInt, "desc", 1, null, -1, -1, -1, 3, -1L, -1L, null); + Object localObject = localList; + if (localList == null) { + localObject = new ArrayList(); + } + if (((List)localObject).size() < paramInt) + { + localList = b.a(paramContext, paramInt - ((List)localObject).size(), "desc", 2, null, -1, -1, -1, 3, -1L, -1L, null); + if ((localList != null) && (localList.size() > 0)) { + ((List)localObject).addAll(localList); + } + } + a((List)localObject); + b.b(paramContext, (List)localObject); + return localObject; + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return null; + } + + public final N a() + { + Object localObject5 = null; + for (;;) + { + boolean bool; + try + { + if (this.e != null) + { + localObject1 = this.e; + return localObject1; + } + localObject6 = f.l(); + localObject1 = localObject5; + if (localObject6 == null) { + continue; + } + bool = ((f)localObject6).a(); + localObject1 = localObject5; + if (!bool) { + continue; + } + } + finally + { + try + { + Object localObject1 = f.l().s(); + this.f = null; + try + { + bool = ((CrashStrategyBean)localObject1).isMerged(); + if (!com.tencent.feedback.common.g.a(this.c)) { + break label260; + } + i = ((CrashStrategyBean)localObject1).getMaxUploadNum_Wifi(); + if (bool) { + break label268; + } + com.tencent.feedback.common.e.b("rqdp{ not merge:}", new Object[0]); + this.f = b(this.c, i); + if ((this.f != null) && (this.f.size() > 0)) { + break label295; + } + com.tencent.feedback.common.e.c("rqdp{ empty eup!}", new Object[0]); + localObject1 = localObject5; + } + catch (Throwable localThrowable1) + { + if (!com.tencent.feedback.common.e.a(localThrowable1)) { + localThrowable1.printStackTrace(); + } + localObject2 = localObject5; + } + if (this.f == null) { + continue; + } + Object localObject2 = localObject5; + if (this.f.size() <= 0) { + continue; + } + com.tencent.feedback.common.e.c("rqdp{ eup error remove} %d", new Object[] { Integer.valueOf(b.a(this.c, this.f)) }); + this.f = null; + localObject2 = localObject5; + } + catch (Throwable localThrowable2) + { + if (com.tencent.feedback.common.e.a(localThrowable2)) { + break label236; + } + localThrowable2.printStackTrace(); + com.tencent.feedback.common.e.d("rqdp{ imposiable} %s", new Object[] { localThrowable2.toString() }); + localObject4 = localObject5; + } + localObject3 = finally; + } + label236: + continue; + label260: + int i = ((CrashStrategyBean)localObject4).getMaxUploadNum_GPRS(); + continue; + label268: + com.tencent.feedback.common.e.b("rqdp{ in merge:}", new Object[0]); + this.f = a(this.c, i); + continue; + label295: + com.tencent.feedback.common.e.b("rqdp{ pack n:}%d ,isM:%b", new Object[] { Integer.valueOf(this.f.size()), Boolean.valueOf(bool) }); + Object localObject6 = a(this.c, this.f); + Object localObject4 = localObject5; + if (localObject6 != null) + { + localObject4 = a.a((j)localObject6); + if (localObject4 == null) + { + com.tencent.feedback.common.e.c("rqdp{ empty edatas!}", new Object[0]); + localObject4 = localObject5; + } + else + { + this.e = a(this.c, this.a, (byte[])localObject4); + localObject4 = this.e; + } + } + } + } + + protected final List a(Context paramContext, int paramInt) + { + com.tencent.feedback.common.e.b("rqdp{ getEupInMe}", new Object[0]); + if ((paramContext == null) || (paramInt <= 0)) + { + com.tencent.feedback.common.e.d("rqdp{ params!}", new Object[0]); + return null; + } + try + { + long l = a.c(); + ArrayList localArrayList = new ArrayList(); + List localList = b.a(paramContext, paramInt, "desc", -1, null, -1, -1, -1, 3, l, -1L, Boolean.valueOf(false)); + if ((localList != null) && (localList.size() > 0)) + { + com.tencent.feedback.common.e.b("rqdp{ tdeup ge c=1, n:}%d", new Object[] { Integer.valueOf(localList.size()) }); + localArrayList.addAll(localList); + localList.clear(); + } + if (localArrayList.size() < paramInt) + { + localList = b.a(paramContext, paramInt, "desc", -1, null, 2, -1, -1, 3, -1L, l, null); + if ((localList != null) && (localList.size() > 0)) + { + com.tencent.feedback.common.e.b("rqdp{ yeseup c>=2,n:}%d" + localList.size(), new Object[0]); + localArrayList.addAll(localList); + localList.clear(); + } + } + if (localArrayList.size() < paramInt) + { + localList = b.a(paramContext, paramInt, "desc", -1, null, 0, 1, -1, -1, 3L, l, Boolean.valueOf(false)); + if ((localList != null) && (localList.size() > 0)) + { + com.tencent.feedback.common.e.b("rqdp{ yeseup c>=2,n:}%d" + localList.size(), new Object[0]); + localArrayList.addAll(localList); + localList.clear(); + } + } + a(localArrayList); + b.b(paramContext, localArrayList); + return localArrayList; + } + catch (Throwable paramContext) + { + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return null; + } + + /* Error */ + public final void done(boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: iload_1 + // 3: ifeq +148 -> 151 + // 6: ldc_w 699 + // 9: astore 5 + // 11: ldc_w 701 + // 14: iconst_1 + // 15: anewarray 38 java/lang/Object + // 18: dup + // 19: iconst_0 + // 20: aload 5 + // 22: aastore + // 23: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 26: pop + // 27: aload_0 + // 28: getfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 31: astore 5 + // 33: aload 5 + // 35: ifnull +213 -> 248 + // 38: iload_1 + // 39: ifeq +209 -> 248 + // 42: invokestatic 630 com/tencent/feedback/eup/f:l ()Lcom/tencent/feedback/eup/f; + // 45: invokevirtual 635 com/tencent/feedback/eup/f:s ()Lcom/tencent/feedback/eup/CrashStrategyBean; + // 48: invokevirtual 640 com/tencent/feedback/eup/CrashStrategyBean:isMerged ()Z + // 51: istore_1 + // 52: iload_1 + // 53: ifeq +208 -> 261 + // 56: invokestatic 686 com/tencent/feedback/proguard/a:c ()J + // 59: lstore_3 + // 60: aload_0 + // 61: getfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 64: invokeinterface 548 1 0 + // 69: astore 5 + // 71: new 259 java/util/ArrayList + // 74: dup + // 75: invokespecial 260 java/util/ArrayList: ()V + // 78: astore 6 + // 80: aload 5 + // 82: invokeinterface 279 1 0 + // 87: ifeq +90 -> 177 + // 90: aload 5 + // 92: invokeinterface 283 1 0 + // 97: checkcast 159 com/tencent/feedback/eup/e + // 100: astore 7 + // 102: aload 7 + // 104: invokevirtual 190 com/tencent/feedback/eup/e:i ()J + // 107: lload_3 + // 108: lcmp + // 109: ifle -29 -> 80 + // 112: aload 7 + // 114: iconst_1 + // 115: invokevirtual 703 com/tencent/feedback/eup/e:b (Z)V + // 118: aload 7 + // 120: iconst_0 + // 121: invokevirtual 580 com/tencent/feedback/eup/e:a (I)V + // 124: aload 6 + // 126: aload 7 + // 128: invokeinterface 704 2 0 + // 133: pop + // 134: aload 5 + // 136: invokeinterface 707 1 0 + // 141: goto -61 -> 80 + // 144: astore 5 + // 146: aload_0 + // 147: monitorexit + // 148: aload 5 + // 150: athrow + // 151: ldc_w 709 + // 154: astore 5 + // 156: goto -145 -> 11 + // 159: astore 5 + // 161: aload 5 + // 163: invokestatic 93 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 166: ifne +135 -> 301 + // 169: aload 5 + // 171: invokevirtual 96 java/lang/Throwable:printStackTrace ()V + // 174: goto +127 -> 301 + // 177: aload_0 + // 178: getfield 643 com/tencent/feedback/eup/g:c Landroid/content/Context; + // 181: aload 6 + // 183: invokestatic 623 com/tencent/feedback/eup/b:b (Landroid/content/Context;Ljava/util/List;)Z + // 186: istore_1 + // 187: ldc_w 711 + // 190: iconst_2 + // 191: anewarray 38 java/lang/Object + // 194: dup + // 195: iconst_0 + // 196: aload_0 + // 197: getfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 200: invokeinterface 547 1 0 + // 205: invokestatic 120 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 208: aastore + // 209: dup + // 210: iconst_1 + // 211: iload_1 + // 212: invokestatic 168 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 215: aastore + // 216: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 219: pop + // 220: ldc_w 713 + // 223: iconst_1 + // 224: anewarray 38 java/lang/Object + // 227: dup + // 228: iconst_0 + // 229: aload_0 + // 230: getfield 643 com/tencent/feedback/eup/g:c Landroid/content/Context; + // 233: aload_0 + // 234: getfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 237: invokestatic 568 com/tencent/feedback/eup/b:a (Landroid/content/Context;Ljava/util/List;)I + // 240: invokestatic 120 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 243: aastore + // 244: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 247: pop + // 248: aload_0 + // 249: aconst_null + // 250: putfield 23 com/tencent/feedback/eup/g:e Lcom/tencent/feedback/proguard/N; + // 253: aload_0 + // 254: aconst_null + // 255: putfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 258: aload_0 + // 259: monitorexit + // 260: return + // 261: aload_0 + // 262: getfield 643 com/tencent/feedback/eup/g:c Landroid/content/Context; + // 265: aload_0 + // 266: getfield 25 com/tencent/feedback/eup/g:f Ljava/util/List; + // 269: invokestatic 568 com/tencent/feedback/eup/b:a (Landroid/content/Context;Ljava/util/List;)I + // 272: istore_2 + // 273: new 195 java/lang/StringBuilder + // 276: dup + // 277: ldc_w 715 + // 280: invokespecial 528 java/lang/StringBuilder: (Ljava/lang/String;)V + // 283: iload_2 + // 284: invokevirtual 519 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 287: invokevirtual 205 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 290: iconst_0 + // 291: anewarray 38 java/lang/Object + // 294: invokestatic 49 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 297: pop + // 298: goto -50 -> 248 + // 301: iconst_0 + // 302: istore_1 + // 303: goto -251 -> 52 + // Local variable table: + // start length slot name signature + // 0 306 0 this g + // 0 306 1 paramBoolean boolean + // 272 12 2 i int + // 59 49 3 l long + // 9 126 5 localObject1 Object + // 144 5 5 localObject2 Object + // 154 1 5 str String + // 159 11 5 localThrowable Throwable + // 78 104 6 localArrayList ArrayList + // 100 27 7 locale e + // Exception table: + // from to target type + // 11 33 144 finally + // 42 52 144 finally + // 56 80 144 finally + // 80 141 144 finally + // 161 174 144 finally + // 177 248 144 finally + // 248 258 144 finally + // 261 298 144 finally + // 42 52 159 java/lang/Throwable + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionHandler.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionHandler.java new file mode 100755 index 00000000000..1d9f61aa0bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionHandler.java @@ -0,0 +1,14 @@ +package com.tencent.feedback.eup.jni; + +public abstract interface NativeExceptionHandler +{ + public abstract void handleNativeException(int paramInt1, int paramInt2, long paramLong1, long paramLong2, String paramString1, String paramString2, String paramString3, String paramString4); + + public abstract void handleNativeException(int paramInt1, int paramInt2, long paramLong1, long paramLong2, String paramString1, String paramString2, String paramString3, String paramString4, int paramInt3, String paramString5, int paramInt4, int paramInt5, int paramInt6, String paramString6, String paramString7); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.NativeExceptionHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionUpload.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionUpload.java new file mode 100755 index 00000000000..41a2084d1b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/NativeExceptionUpload.java @@ -0,0 +1,274 @@ +package com.tencent.feedback.eup.jni; + +import com.tencent.feedback.common.e; +import java.io.File; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +public class NativeExceptionUpload +{ + public static final int ANDROID_LOG_DEBUG = 3; + public static final int ANDROID_LOG_ERROR = 6; + public static final int ANDROID_LOG_INFO = 4; + public static final int ANDROID_LOG_WARN = 5; + public static final int JAR_JNI_VERSION = 1; + private static AtomicBoolean a = new AtomicBoolean(false); + private static NativeExceptionHandler b = null; + + protected static native void doNativeCrashForTest(); + + protected static native void enableHandler(boolean paramBoolean); + + public static void enableNativeEUP(boolean paramBoolean) + { + if (!a.get()) { + e.c("rqdp{ n enable disable!!}", new Object[0]); + } + do + { + return; + try + { + enableHandler(paramBoolean); + return; + } + catch (Throwable localThrowable) {} + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + + public static NativeExceptionHandler getmHandler() + { + try + { + NativeExceptionHandler localNativeExceptionHandler = b; + return localNativeExceptionHandler; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static boolean loadRQDNativeLib() + { + boolean bool = true; + try + { + System.loadLibrary("NativeRQD"); + a.set(true); + return bool; + } + catch (Throwable localThrowable) + { + for (;;) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + e.d("rqdp{ load library fail! see detail ,will turn off native eup function!}", new Object[0]); + bool = false; + } + } + finally {} + } + + /* Error */ + public static boolean loadRQDNativeLib(File paramFile) + { + // Byte code: + // 0: iconst_1 + // 1: istore_1 + // 2: ldc 2 + // 4: monitorenter + // 5: aload_0 + // 6: ifnull +82 -> 88 + // 9: aload_0 + // 10: invokevirtual 84 java/io/File:exists ()Z + // 13: ifeq +75 -> 88 + // 16: aload_0 + // 17: invokevirtual 87 java/io/File:canRead ()Z + // 20: istore_2 + // 21: iload_2 + // 22: ifeq +66 -> 88 + // 25: ldc 89 + // 27: iconst_1 + // 28: anewarray 4 java/lang/Object + // 31: dup + // 32: iconst_0 + // 33: aload_0 + // 34: invokevirtual 93 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 37: aastore + // 38: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 41: pop + // 42: aload_0 + // 43: invokevirtual 93 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 46: invokestatic 98 java/lang/System:load (Ljava/lang/String;)V + // 49: getstatic 29 com/tencent/feedback/eup/jni/NativeExceptionUpload:a Ljava/util/concurrent/atomic/AtomicBoolean; + // 52: iconst_1 + // 53: invokevirtual 73 java/util/concurrent/atomic/AtomicBoolean:set (Z)V + // 56: ldc 2 + // 58: monitorexit + // 59: iload_1 + // 60: ireturn + // 61: astore_0 + // 62: aload_0 + // 63: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 66: ifne +7 -> 73 + // 69: aload_0 + // 70: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 73: ldc 75 + // 75: iconst_0 + // 76: anewarray 4 java/lang/Object + // 79: invokestatic 78 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 82: pop + // 83: iconst_0 + // 84: istore_1 + // 85: goto -29 -> 56 + // 88: iconst_0 + // 89: istore_1 + // 90: goto -34 -> 56 + // 93: astore_0 + // 94: ldc 2 + // 96: monitorexit + // 97: aload_0 + // 98: athrow + // Local variable table: + // start length slot name signature + // 0 99 0 paramFile File + // 1 89 1 bool1 boolean + // 20 2 2 bool2 boolean + // Exception table: + // from to target type + // 25 56 61 java/lang/Throwable + // 9 21 93 finally + // 25 56 93 finally + // 62 73 93 finally + // 73 83 93 finally + } + + public static boolean loadRQDNativeLib(List paramList) + { + if (paramList != null) {} + for (;;) + { + try + { + Iterator localIterator = paramList.iterator(); + if (localIterator.hasNext()) + { + paramList = (File)localIterator.next(); + if ((paramList.exists()) && (paramList.isFile()) && (paramList.getName().equals("libNativeRQD.so"))) + { + if (paramList != null) + { + bool = loadRQDNativeLib(paramList); + return bool; + } + boolean bool = false; + } + } + else + { + paramList = null; + } + } + finally {} + } + } + + public static boolean registEUP(String paramString1, String paramString2, int paramInt) + { + if (!a.get()) { + e.c("rqdp{ nreg disable!}", new Object[0]); + } + do + { + return false; + if ((paramString1 == null) || (paramString1.trim().length() <= 0)) + { + e.c("rqdp{ nreg param!}", new Object[0]); + return false; + } + try + { + e.a("jarV:%d nativeV:%s", new Object[] { Integer.valueOf(1), registNativeExceptionHandler2(paramString1, paramString2, paramInt, 1) }); + return true; + } + catch (Throwable localThrowable) + { + e.c("regist fail:%s , try old regist", new Object[] { localThrowable.getMessage() }); + try + { + boolean bool = registNativeExceptionHandler(paramString1, paramString2, paramInt); + return bool; + } + catch (Throwable paramString1) + { + e.c("regist fail:%s , try old regist", new Object[] { paramString1.getMessage() }); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + } + } while (e.a(paramString1)); + paramString1.printStackTrace(); + return false; + } + + protected static native boolean registNativeExceptionHandler(String paramString1, String paramString2, int paramInt); + + protected static native String registNativeExceptionHandler2(String paramString1, String paramString2, int paramInt1, int paramInt2); + + protected static native void setLogMode(int paramInt); + + public static void setNativeLogMode(int paramInt) + { + if (!a.get()) { + e.c("rqdp{ n sNL disable!!}", new Object[0]); + } + do + { + return; + try + { + setLogMode(paramInt); + return; + } + catch (Throwable localThrowable) {} + } while (e.a(localThrowable)); + localThrowable.printStackTrace(); + } + + public static void setmHandler(NativeExceptionHandler paramNativeExceptionHandler) + { + try + { + b = paramNativeExceptionHandler; + return; + } + finally + { + paramNativeExceptionHandler = finally; + throw paramNativeExceptionHandler; + } + } + + public static void testNativeCrash() + { + if (!a.get()) + { + e.c("rqdp{ n testNC disable!!}", new Object[0]); + return; + } + doNativeCrashForTest(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.NativeExceptionUpload + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/a.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/a.java new file mode 100755 index 00000000000..e13eb5f3dbd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/a.java @@ -0,0 +1,126 @@ +package com.tencent.feedback.eup.jni; + +import android.content.Context; +import com.tencent.feedback.common.d; +import com.tencent.feedback.common.e; +import com.tencent.feedback.proguard.l; +import com.tencent.feedback.proguard.o; +import java.io.File; +import java.io.FilenameFilter; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public final class a + implements Runnable +{ + private Context a; + private String b; + private List c; + + public a(Context paramContext, String paramString, List paramList) + { + this.a = paramContext; + this.b = paramString; + this.c = paramList; + } + + public final void run() + { + Object localObject3 = new ArrayList(); + if ((this.c != null) && (this.c.size() > 0)) { + ((List)localObject3).addAll(this.c); + } + Object localObject1 = new File(this.b); + int i; + if ((((File)localObject1).exists()) && (((File)localObject1).isDirectory())) + { + localObject1 = ((File)localObject1).listFiles(new FilenameFilter() + { + public final boolean accept(File paramAnonymousFile, String paramAnonymousString) + { + return paramAnonymousString.endsWith("so"); + } + }); + if (localObject1 != null) + { + int j = localObject1.length; + i = 0; + while (i < j) + { + localObject2 = localObject1[i]; + if (!((List)localObject3).contains(localObject2)) { + ((List)localObject3).add(localObject2); + } + i += 1; + } + } + } + localObject1 = l.a(this.a, null, 1, -1); + Object localObject2 = new ArrayList(); + localObject3 = ((List)localObject3).iterator(); + label595: + label598: + for (;;) + { + File localFile; + Object localObject4; + o localo; + if (((Iterator)localObject3).hasNext()) + { + localFile = (File)((Iterator)localObject3).next(); + if (localObject1 == null) { + break label595; + } + localObject4 = ((List)localObject1).iterator(); + while (((Iterator)localObject4).hasNext()) + { + localo = (o)((Iterator)localObject4).next(); + if ((localFile.getAbsolutePath().equals(localo.a())) && (localFile.lastModified() == localo.b()) && (localFile.length() == localo.c()) && (localo.d() != null)) + { + ((Iterator)localObject4).remove(); + ((List)localObject2).add(localo); + e.b("rqdp{ BufFB existed n:}%s ,ar:%s, md:%s ,ut:%d", new Object[] { localo.a(), localo.f(), localo.d(), Long.valueOf(localFile.lastModified()) }); + } + } + } + for (i = 1;; i = 0) + { + if (i != 0) { + break label598; + } + long l = System.currentTimeMillis(); + localObject4 = com.tencent.feedback.proguard.a.b(localFile.getAbsolutePath()); + l = System.currentTimeMillis() - l; + if (localObject4 != null) + { + localo = new o(); + localo.a(1); + localo.a(localFile.getAbsolutePath()); + StringBuilder localStringBuilder = new StringBuilder(); + d.a(this.a); + localo.c(d.d()); + localo.c(localFile.length()); + localo.b(localFile.lastModified()); + localo.b((String)localObject4); + e.b("rqdp{ BufFB new }n:%s , ar:%s , md:%s , cs:%d", new Object[] { localo.a(), localo.f(), localo.d(), Long.valueOf(l) }); + ((List)localObject2).add(localo); + break; + } + e.b("rqdp{ Error BufFB md fail! pth:}%s , rqdp{ cs:}%d", new Object[] { localFile.getAbsolutePath(), Long.valueOf(l) }); + break; + e.b("rqdp{ LBFTask del n: }%d", new Object[] { Integer.valueOf(l.a(this.a, 1)) }); + if (((List)localObject2).size() > 0) { + e.b("rqdp{ LBFTask ins n: }%d", new Object[] { Integer.valueOf(l.c(this.a, (List)localObject2)) }); + } + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/b.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/b.java new file mode 100755 index 00000000000..eb977a05630 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/b.java @@ -0,0 +1,316 @@ +package com.tencent.feedback.eup.jni; + +import android.content.Context; +import android.util.Log; +import com.tencent.feedback.eup.BuglyBroadcastRecevier; +import com.tencent.feedback.eup.CrashHandleListener; +import com.tencent.feedback.eup.CrashReport; +import com.tencent.feedback.eup.f; +import java.util.Map; + +public final class b + implements NativeExceptionHandler +{ + private static b b; + private Context a; + private String c; + + private b(Context paramContext) + { + this.a = paramContext; + } + + protected static com.tencent.feedback.eup.e a(Context paramContext, long paramLong, String paramString1, String paramString2, String paramString3, String paramString4, int paramInt1, String paramString5, int paramInt2, String paramString6, byte[] paramArrayOfByte, String paramString7, String paramString8) + { + if (paramString3 == null) { + paramString3 = null; + } + for (;;) + { + Object localObject = com.tencent.feedback.common.c.a(paramContext); + String str1 = ((com.tencent.feedback.common.c)localObject).E(); + String str2 = Thread.currentThread().getName(); + paramContext = com.tencent.feedback.eup.b.a(paramContext, ((com.tencent.feedback.common.c)localObject).g(), ((com.tencent.feedback.common.c)localObject).h(), ((com.tencent.feedback.common.c)localObject).j(), ((com.tencent.feedback.common.c)localObject).y(), str1, str2, paramString2, paramString1, paramString6, paramString3, paramLong, paramString7, paramArrayOfByte); + if (paramContext != null) { + break; + } + return null; + int i = paramString3.indexOf("java.lang.Thread.getStackTrace"); + if (i >= 0) + { + int j = paramString3.indexOf("\n", i); + if (j >= 0) + { + localObject = paramString3.substring(0, i); + paramString3 = paramString3.substring(j); + paramString3 = (String)localObject + paramString3; + } + } + } + if (paramInt1 > 0) + { + paramContext.a(paramContext.e() + "(" + paramString5 + ")"); + paramContext.o("kernel"); + } + for (;;) + { + com.tencent.feedback.common.e.a("etype:%s,sType:%s,sPN:%s", new Object[] { paramContext.e(), paramContext.A(), paramContext.z() }); + paramContext.a((byte)2); + paramContext.h(paramString4); + paramContext.p(paramString8); + return paramContext; + paramContext.o(paramString5); + if ((paramInt2 > 0) && (!paramString1.equalsIgnoreCase("SIGABRT"))) { + paramContext.n(com.tencent.feedback.common.a.a(paramInt2)); + } else { + paramContext.n("unknown" + paramInt2); + } + } + } + + public static b a() + { + try + { + b localb = b; + return localb; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static b a(Context paramContext) + { + try + { + if (b == null) { + b = new b(paramContext); + } + paramContext = b; + return paramContext; + } + finally {} + } + + private String b() + { + try + { + String str = this.c; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(String paramString) + { + try + { + this.c = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final void handleNativeException(int paramInt1, int paramInt2, long paramLong1, long paramLong2, String paramString1, String paramString2, String paramString3, String paramString4) + { + handleNativeException(paramInt1, paramInt2, paramLong1, paramLong2, paramString1, paramString2, paramString3, paramString4, -1234567890, "", -1, -1, -1, "", "unknown"); + } + + public final void handleNativeException(int paramInt1, int paramInt2, long paramLong1, long paramLong2, String paramString1, String paramString2, String paramString3, String paramString4, int paramInt3, String paramString5, int paramInt4, int paramInt5, int paramInt6, String paramString6, String paramString7) + { + com.tencent.feedback.common.e.b("rqdp{ na eup p:} %d , t:%d , exT:%d ,exTMS: %d, exTP:%s ,exADD:%s ,parsed exSTA:%s, TMB:%s , si_code:%d , si_CodeType:%s , sPid:%d ,sUid:%d,siErr:%d,siErrMsg:%s,naVersion:%s", new Object[] { Integer.valueOf(paramInt1), Integer.valueOf(paramInt2), Long.valueOf(paramLong1), Long.valueOf(paramLong2), paramString1, paramString2, paramString3, paramString4, Integer.valueOf(paramInt3), paramString5, Integer.valueOf(paramInt4), Integer.valueOf(paramInt5), Integer.valueOf(paramInt6), paramString6, paramString7 }); + Log.e("eup", "native crash happen:" + paramString1); + Log.e("eup", paramString3); + bool = com.tencent.feedback.anr.b.a(this.a).a(); + String str1; + String str2; + Object localObject3; + Object localObject2; + CrashHandleListener localCrashHandleListener; + label226: + Object localObject1; + if (bool) + { + str1 = "This Crash Caused By ANR , PLS To Fix ANR , This Trace May Be Not Useful!"; + if (bool) { + Log.e("eup", "This Crash Caused By ANR , PLS To Fix ANR , This Trace May Be Not Useful!"); + } + str2 = null; + localObject3 = null; + localObject2 = null; + paramLong1 = 1000L * paramLong1 + paramLong2 / 1000L; + paramString6 = f.l(); + if (paramString6 != null) { + break label370; + } + com.tencent.feedback.common.e.c("rqdp{ instance == null}", new Object[0]); + localCrashHandleListener = null; + localObject1 = localObject2; + if (localCrashHandleListener == null) {} + } + label370: + do + { + do + { + try + { + com.tencent.feedback.common.e.b("your crhanlde start", new Object[0]); + localCrashHandleListener.onCrashHandleStart(true); + } + catch (Throwable paramString6) + { + try + { + for (;;) + { + com.tencent.feedback.common.e.b("your crdata", new Object[0]); + paramString6 = localCrashHandleListener.getCrashExtraData(true, paramString1, paramString2, paramString3, paramInt3, paramLong1); + try + { + com.tencent.feedback.common.e.b("your crmsg", new Object[0]); + localObject1 = localCrashHandleListener.getCrashExtraMessage(true, paramString1, paramString2, paramString3, paramInt3, paramLong1); + str2 = paramString6; + } + catch (Throwable localThrowable2) + { + for (;;) + { + com.tencent.feedback.common.e.d("get extra msg error %s", new Object[] { localThrowable2.toString() }); + str3 = paramString6; + localObject1 = localObject2; + if (!com.tencent.feedback.common.e.a(localThrowable2)) + { + localThrowable2.printStackTrace(); + str3 = paramString6; + localObject1 = localObject2; + } + } + } + paramString4 = a(this.a, paramLong1, paramString1, paramString2, paramString3, paramString4, paramInt3, paramString5, paramInt4, str1, str2, (String)localObject1, paramString7); + if (paramString4 != null) { + break label512; + } + com.tencent.feedback.common.e.c("rqdp{ cr eup msg fail!}", new Object[0]); + return; + str1 = ""; + break; + localCrashHandleListener = paramString6.r(); + break label226; + paramString6 = paramString6; + com.tencent.feedback.common.e.d("on native hanlde start throw %s", new Object[] { paramString6.toString() }); + if (!com.tencent.feedback.common.e.a(paramString6)) { + paramString6.printStackTrace(); + } + } + } + catch (Throwable localThrowable1) + { + for (;;) + { + com.tencent.feedback.common.e.d("get extra data error %s", new Object[] { localThrowable1.toString() }); + paramString6 = localObject3; + if (!com.tencent.feedback.common.e.a(localThrowable1)) + { + localThrowable1.printStackTrace(); + paramString6 = localObject3; + } + } + } + } + try + { + String str3; + com.tencent.feedback.common.e.c("rqdp{ get other stack}", new Object[0]); + paramString5 = com.tencent.feedback.proguard.a.b(); + if (paramString5 != null) { + paramString4.C().putAll(paramString5); + } + } + catch (Throwable paramString5) + { + for (;;) + { + com.tencent.feedback.common.e.d("get all threads stack fail", new Object[0]); + if (!com.tencent.feedback.common.e.a(paramString5)) + { + paramString5.printStackTrace(); + continue; + bool = true; + continue; + com.tencent.feedback.common.e.c("the eup no need to save!", new Object[0]); + } + } + } + if (localCrashHandleListener == null) { + break label781; + } + com.tencent.feedback.common.e.b("your ask2save", new Object[0]); + try + { + bool = localCrashHandleListener.onCrashSaving(true, paramString1, paramString2, paramString3, paramInt3, paramLong1, paramString4.k(), paramString4.D(), paramString4.v()); + BuglyBroadcastRecevier.brocastCrash(this.a, paramString4); + if (!bool) { + break label824; + } + } + catch (Throwable paramString1) + { + com.tencent.feedback.common.e.d("on Crash Saving error %s", new Object[] { paramString1.toString() }); + if (!com.tencent.feedback.common.e.a(paramString1)) { + paramString1.printStackTrace(); + } + } + try + { + paramString1 = com.tencent.feedback.eup.c.a(this.a); + if (paramString1 != null) + { + com.tencent.feedback.common.e.b("rqdp{ eup save} %b", new Object[] { Boolean.valueOf(paramString1.a(paramString4, CrashReport.getCrashRuntimeStrategy())) }); + c.a(b()); + } + } + catch (Throwable paramString1) + { + com.tencent.feedback.common.e.d("your crash handle happen error %s", new Object[] { paramString1.toString() }); + if (com.tencent.feedback.common.e.a(paramString1)) { + break label657; + } + paramString1.printStackTrace(); + break label657; + } + } while (localCrashHandleListener == null); + try + { + com.tencent.feedback.common.e.b("your crhanlde end", new Object[0]); + localCrashHandleListener.onCrashHandleEnd(true); + return; + } + catch (Throwable paramString1) + { + com.tencent.feedback.common.e.d("on native hanlde end throw %s", new Object[] { paramString1.toString() }); + } + } while (com.tencent.feedback.common.e.a(paramString1)); + label512: + label657: + paramString1.printStackTrace(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/c.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/c.java new file mode 100755 index 00000000000..6e263803f3a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/c.java @@ -0,0 +1,431 @@ +package com.tencent.feedback.eup.jni; + +import android.content.Context; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; +import java.util.Map; + +public class c +{ + public byte a; + public int b; + + /* Error */ + public static com.tencent.feedback.eup.e a(Context paramContext, String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: new 18 java/io/File + // 6: dup + // 7: aload_1 + // 8: ldc 20 + // 10: invokespecial 23 java/io/File: (Ljava/lang/String;Ljava/lang/String;)V + // 13: astore_2 + // 14: aload 4 + // 16: astore_1 + // 17: aload_2 + // 18: invokevirtual 27 java/io/File:exists ()Z + // 21: ifeq +13 -> 34 + // 24: aload_2 + // 25: invokevirtual 30 java/io/File:canRead ()Z + // 28: ifne +8 -> 36 + // 31: aload 4 + // 33: astore_1 + // 34: aload_1 + // 35: areturn + // 36: new 32 java/io/FileInputStream + // 39: dup + // 40: aload_2 + // 41: invokespecial 35 java/io/FileInputStream: (Ljava/io/File;)V + // 44: astore_3 + // 45: aload_3 + // 46: astore_1 + // 47: aload_3 + // 48: invokestatic 38 com/tencent/feedback/eup/jni/c:a (Ljava/io/InputStream;)Ljava/lang/String; + // 51: astore_2 + // 52: aload_2 + // 53: ifnull +14 -> 67 + // 56: aload_3 + // 57: astore_1 + // 58: aload_2 + // 59: ldc 40 + // 61: invokevirtual 46 java/lang/String:equals (Ljava/lang/Object;)Z + // 64: ifne +42 -> 106 + // 67: aload_3 + // 68: astore_1 + // 69: ldc 48 + // 71: iconst_1 + // 72: anewarray 4 java/lang/Object + // 75: dup + // 76: iconst_0 + // 77: aload_2 + // 78: aastore + // 79: invokestatic 54 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 82: pop + // 83: aload_3 + // 84: invokevirtual 57 java/io/FileInputStream:close ()V + // 87: aconst_null + // 88: areturn + // 89: astore_0 + // 90: aload 4 + // 92: astore_1 + // 93: aload_0 + // 94: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 97: ifne -63 -> 34 + // 100: aload_0 + // 101: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 104: aconst_null + // 105: areturn + // 106: aload_3 + // 107: astore_1 + // 108: new 65 java/util/HashMap + // 111: dup + // 112: invokespecial 66 java/util/HashMap: ()V + // 115: astore 6 + // 117: aconst_null + // 118: astore_2 + // 119: aload_3 + // 120: astore_1 + // 121: aload_3 + // 122: invokestatic 38 com/tencent/feedback/eup/jni/c:a (Ljava/io/InputStream;)Ljava/lang/String; + // 125: astore 5 + // 127: aload 5 + // 129: ifnull +31 -> 160 + // 132: aload_2 + // 133: ifnonnull +9 -> 142 + // 136: aload 5 + // 138: astore_2 + // 139: goto -20 -> 119 + // 142: aload_3 + // 143: astore_1 + // 144: aload 6 + // 146: aload_2 + // 147: aload 5 + // 149: invokeinterface 72 3 0 + // 154: pop + // 155: aconst_null + // 156: astore_2 + // 157: goto -38 -> 119 + // 160: aload_2 + // 161: ifnull +42 -> 203 + // 164: aload_3 + // 165: astore_1 + // 166: ldc 74 + // 168: iconst_1 + // 169: anewarray 4 java/lang/Object + // 172: dup + // 173: iconst_0 + // 174: aload_2 + // 175: aastore + // 176: invokestatic 54 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 179: pop + // 180: aload_3 + // 181: invokevirtual 57 java/io/FileInputStream:close ()V + // 184: aconst_null + // 185: areturn + // 186: astore_0 + // 187: aload 4 + // 189: astore_1 + // 190: aload_0 + // 191: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 194: ifne -160 -> 34 + // 197: aload_0 + // 198: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 201: aconst_null + // 202: areturn + // 203: aload_3 + // 204: astore_1 + // 205: aload_0 + // 206: aload 6 + // 208: invokestatic 77 com/tencent/feedback/eup/jni/c:a (Landroid/content/Context;Ljava/util/Map;)Lcom/tencent/feedback/eup/e; + // 211: astore_0 + // 212: aload_3 + // 213: invokevirtual 57 java/io/FileInputStream:close ()V + // 216: aload_0 + // 217: areturn + // 218: astore_2 + // 219: aload_0 + // 220: astore_1 + // 221: aload_2 + // 222: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 225: ifne -191 -> 34 + // 228: aload_2 + // 229: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 232: aload_0 + // 233: areturn + // 234: astore_2 + // 235: aconst_null + // 236: astore_0 + // 237: aload_0 + // 238: astore_1 + // 239: aload_2 + // 240: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 243: ifne +9 -> 252 + // 246: aload_0 + // 247: astore_1 + // 248: aload_2 + // 249: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 252: aload 4 + // 254: astore_1 + // 255: aload_0 + // 256: ifnull -222 -> 34 + // 259: aload_0 + // 260: invokevirtual 57 java/io/FileInputStream:close ()V + // 263: aconst_null + // 264: areturn + // 265: astore_0 + // 266: aload 4 + // 268: astore_1 + // 269: aload_0 + // 270: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 273: ifne -239 -> 34 + // 276: aload_0 + // 277: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 280: aconst_null + // 281: areturn + // 282: astore_0 + // 283: aconst_null + // 284: astore_1 + // 285: aload_1 + // 286: ifnull +7 -> 293 + // 289: aload_1 + // 290: invokevirtual 57 java/io/FileInputStream:close ()V + // 293: aload_0 + // 294: athrow + // 295: astore_1 + // 296: aload_1 + // 297: invokestatic 60 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 300: ifne -7 -> 293 + // 303: aload_1 + // 304: invokevirtual 63 java/io/IOException:printStackTrace ()V + // 307: goto -14 -> 293 + // 310: astore_0 + // 311: goto -26 -> 285 + // 314: astore_2 + // 315: aload_3 + // 316: astore_0 + // 317: goto -80 -> 237 + // Local variable table: + // start length slot name signature + // 0 320 0 paramContext Context + // 0 320 1 paramString String + // 13 162 2 localObject1 Object + // 218 11 2 localIOException1 IOException + // 234 15 2 localIOException2 IOException + // 314 1 2 localIOException3 IOException + // 44 272 3 localFileInputStream java.io.FileInputStream + // 1 266 4 localObject2 Object + // 125 23 5 str String + // 115 92 6 localHashMap HashMap + // Exception table: + // from to target type + // 83 87 89 java/io/IOException + // 180 184 186 java/io/IOException + // 212 216 218 java/io/IOException + // 36 45 234 java/io/IOException + // 259 263 265 java/io/IOException + // 36 45 282 finally + // 289 293 295 java/io/IOException + // 47 52 310 finally + // 58 67 310 finally + // 69 83 310 finally + // 108 117 310 finally + // 121 127 310 finally + // 144 155 310 finally + // 166 180 310 finally + // 205 212 310 finally + // 239 246 310 finally + // 248 252 310 finally + // 47 52 314 java/io/IOException + // 58 67 314 java/io/IOException + // 69 83 314 java/io/IOException + // 108 117 314 java/io/IOException + // 121 127 314 java/io/IOException + // 144 155 314 java/io/IOException + // 166 180 314 java/io/IOException + // 205 212 314 java/io/IOException + } + + private static com.tencent.feedback.eup.e a(Context paramContext, Map paramMap) + { + if (paramMap == null) + { + paramContext = null; + return paramContext; + } + if (com.tencent.feedback.common.c.a(paramContext) == null) + { + com.tencent.feedback.common.e.d("abnormal com info not created", new Object[0]); + return null; + } + Object localObject = (String)paramMap.get("intStateStr"); + if ((localObject == null) || (((String)localObject).trim().length() <= 0)) + { + com.tencent.feedback.common.e.d("no intStateStr", new Object[0]); + return null; + } + localObject = b((String)localObject); + if (localObject == null) + { + com.tencent.feedback.common.e.d("parse intSateMap fail", new Object[] { Integer.valueOf(paramMap.size()) }); + return null; + } + label512: + label515: + label518: + label521: + for (;;) + { + try + { + ((Integer)((Map)localObject).get("ep")).intValue(); + ((Integer)((Map)localObject).get("et")).intValue(); + ((Integer)((Map)localObject).get("sino")).intValue(); + int i = ((Integer)((Map)localObject).get("sico")).intValue(); + int j = ((Integer)((Map)localObject).get("spd")).intValue(); + ((Integer)((Map)localObject).get("sud")).intValue(); + long l1 = ((Integer)((Map)localObject).get("ets")).intValue(); + long l2 = ((Integer)((Map)localObject).get("etms")).intValue(); + String str5 = (String)paramMap.get("soVersion"); + if (str5 == null) + { + com.tencent.feedback.common.e.d("error format at version", new Object[0]); + return null; + } + String str1 = (String)paramMap.get("errorAddr"); + if (str1 == null) + { + str1 = "unknown2"; + String str2 = (String)paramMap.get("codeMsg"); + if (str2 != null) { + break label512; + } + str2 = "unknown2"; + String str3 = (String)paramMap.get("tombPath"); + if (str3 != null) { + break label515; + } + str3 = "unknown2"; + String str4 = (String)paramMap.get("signalName"); + if (str4 != null) { + break label518; + } + str4 = "unknown2"; + String str6 = (String)paramMap.get("errnoMsg"); + localObject = (String)paramMap.get("stack"); + if (localObject != null) { + break label521; + } + localObject = "unknown2"; + String str7 = (String)paramMap.get("jstack"); + paramMap = (Map)localObject; + if (str7 != null) { + paramMap = (String)localObject + "java:\n" + str7; + } + paramMap = b.a(paramContext, l1 * 1000L + l2 / 1000L, str4, str1, paramMap, str3, i, str2, -j, str6, null, null, str5); + paramContext = paramMap; + if (paramMap == null) { + break; + } + paramMap.c(true); + return paramMap; + } + } + catch (Throwable paramContext) + { + com.tencent.feedback.common.e.d("error format", new Object[0]); + if (!com.tencent.feedback.common.e.a(paramContext)) { + paramContext.printStackTrace(); + } + return null; + } + continue; + continue; + continue; + } + } + + private static String a(InputStream paramInputStream) + throws IOException + { + if (paramInputStream == null) { + return null; + } + StringBuilder localStringBuilder = new StringBuilder(); + for (;;) + { + int i = paramInputStream.read(); + if (i == -1) { + break; + } + if (i == 0) { + return localStringBuilder.toString(); + } + localStringBuilder.append((char)i); + } + } + + public static void a(String paramString) + { + paramString = new File(paramString, "rqd_record.eup"); + if ((!paramString.exists()) || (!paramString.canWrite())) { + return; + } + paramString.delete(); + com.tencent.feedback.common.e.b("delete record file %s", new Object[] { paramString.getAbsoluteFile() }); + } + + private static Map b(String paramString) + { + if (paramString == null) { + return null; + } + for (;;) + { + int i; + String[] arrayOfString2; + try + { + HashMap localHashMap = new HashMap(); + String[] arrayOfString1 = paramString.split(","); + int j = arrayOfString1.length; + i = 0; + if (i >= j) { + break label135; + } + String str = arrayOfString1[i]; + arrayOfString2 = str.split(":"); + if (arrayOfString2.length == 2) { + break label104; + } + com.tencent.feedback.common.e.d("error format at %s", new Object[] { str }); + return null; + } + catch (Exception localException) + { + com.tencent.feedback.common.e.d("error format intStateStr %s", new Object[] { paramString }); + } + if (com.tencent.feedback.common.e.a(localException)) { + break; + } + localException.printStackTrace(); + return null; + label104: + int k = Integer.parseInt(arrayOfString2[1]); + localException.put(arrayOfString2[0], Integer.valueOf(k)); + i += 1; + } + label135: + return localException; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/d.java b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/d.java new file mode 100755 index 00000000000..67f61fa90fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/eup/jni/d.java @@ -0,0 +1,188 @@ +package com.tencent.feedback.eup.jni; + +import android.content.Context; +import com.tencent.feedback.eup.b; +import com.tencent.feedback.proguard.s; +import com.tencent.feedback.proguard.t; +import java.io.File; +import java.io.FilenameFilter; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +public final class d + implements s +{ + public final String a; + private String b; + private File c; + private long d; + private int e; + private int f; + private Context g; + + public d(Context paramContext, String paramString1, long paramLong, int paramInt, String paramString2, String paramString3) + { + this.c = new File(paramString1); + this.d = paramLong; + this.e = paramInt; + this.g = paramContext; + this.a = paramString2; + this.b = paramString3; + } + + private static void a(String paramString, String[] paramArrayOfString) + { + if ((paramArrayOfString == null) || (paramArrayOfString.length <= 0)) { + com.tencent.feedback.common.e.c("rqdp{ fileNameList == null || fileNameList.length <= 0}", new Object[0]); + } + for (;;) + { + return; + int j = paramArrayOfString.length; + int i = 0; + while (i < j) + { + File localFile = new File(paramString, paramArrayOfString[i]); + if ((localFile.exists()) && (localFile.canWrite())) + { + com.tencent.feedback.common.e.b("rqdp{ file delete} %s", new Object[] { localFile.getPath() }); + localFile.delete(); + } + i += 1; + } + } + } + + public final void d() {} + + public final void e() + { + com.tencent.feedback.common.e.a("on query end clear", new Object[0]); + this.f = 0; + if ((this.c == null) || (!this.c.exists()) || (!this.c.isDirectory())) + { + if (this.c == null) {} + for (localObject = "null";; localObject = this.c.getAbsolutePath()) + { + com.tencent.feedback.common.e.c("rqdp{ TombFilesCleanTask end for dir not avaliable %s}", new Object[] { localObject }); + return; + } + } + com.tencent.feedback.common.e.a("rqdp{ start to find native record}", new Object[0]); + Object localObject = c.a(this.g, this.c.getAbsolutePath()); + final int i; + final int j; + String[] arrayOfString; + if (localObject != null) + { + com.tencent.feedback.common.e.a("found a record insert %s", new Object[] { ((com.tencent.feedback.eup.e)localObject).e() }); + ((com.tencent.feedback.eup.e)localObject).c(true); + if (((com.tencent.feedback.eup.e)localObject).i() > this.d) + { + com.tencent.feedback.common.e.a("avail add", new Object[0]); + b.a(this.g, (com.tencent.feedback.eup.e)localObject); + } + } + else + { + c.a(this.c.getAbsolutePath()); + com.tencent.feedback.common.e.a("rqdp{ start to clean} %s.* rqdp{ in dir} %s rqdp{ which time <} %s rqdp{ and max file nums should <} %s", new Object[] { this.a, this.c.getAbsolutePath(), Long.valueOf(this.d), Integer.valueOf(this.e) }); + localObject = new LinkedList(); + i = this.a.length(); + j = this.b.length(); + arrayOfString = this.c.list(new FilenameFilter() + { + public final boolean accept(File paramAnonymousFile, String paramAnonymousString) + { + com.tencent.feedback.common.e.b("rqdp{ check dir} %s rqdp{ , filename} %s", new Object[] { paramAnonymousFile, paramAnonymousString }); + if (paramAnonymousString.startsWith(d.this.a)) + { + d.a(d.this); + com.tencent.feedback.common.e.b("rqdp{ accept }%s", new Object[] { paramAnonymousString }); + } + try + { + long l = Long.parseLong(paramAnonymousString.substring(i, paramAnonymousString.length() - j)); + com.tencent.feedback.common.e.b("rqdp{ mRemoveBeforeDate }%d", new Object[] { Long.valueOf(d.b(d.this)) }); + if (l <= d.b(d.this)) + { + com.tencent.feedback.common.e.b("rqdp{ recordTime} %d rqdp{ is old}", new Object[] { Long.valueOf(l) }); + return true; + } + com.tencent.feedback.common.e.b("rqdp{ newFileTimeList add} %d", new Object[] { Long.valueOf(l) }); + this.c.add(Long.valueOf(l)); + return false; + } + catch (Throwable paramAnonymousFile) + { + com.tencent.feedback.common.e.c("rqdp{ filename is not formatted ,shoud do delete! \n path:}%s", new Object[] { paramAnonymousString }); + if (!com.tencent.feedback.common.e.a(paramAnonymousFile)) { + paramAnonymousFile.printStackTrace(); + } + } + return true; + } + }); + if (arrayOfString == null) { + break label462; + } + i = arrayOfString.length; + label270: + if (i > 0) + { + com.tencent.feedback.common.e.b("rqdp{ delete old num} %d", new Object[] { Integer.valueOf(i) }); + a(this.c.getAbsolutePath(), arrayOfString); + } + i = this.f - i - this.e; + j = ((List)localObject).size(); + if ((i <= 0) || (j <= 0)) { + break label503; + } + com.tencent.feedback.common.e.a("rqdp{ should delete not too old file num} %d", new Object[] { Integer.valueOf(i) }); + Collections.sort((List)localObject); + if (j <= i) { + break label467; + } + } + for (;;) + { + arrayOfString = new String[i]; + StringBuffer localStringBuffer = new StringBuffer(); + i = 0; + while ((i < ((List)localObject).size()) && (i < arrayOfString.length)) + { + localStringBuffer.append(this.a); + localStringBuffer.append(((List)localObject).get(i)); + localStringBuffer.append(".txt"); + arrayOfString[i] = localStringBuffer.toString(); + localStringBuffer.delete(0, localStringBuffer.length()); + i += 1; + } + com.tencent.feedback.common.e.a("unavail drop", new Object[0]); + break; + label462: + i = 0; + break label270; + label467: + i = j; + } + com.tencent.feedback.common.e.b("rqdp{ delete not too old files} %d", new Object[] { Integer.valueOf(arrayOfString.length) }); + a(this.c.getAbsolutePath(), arrayOfString); + label503: + t.a(this.g).b(this); + com.tencent.feedback.common.e.a("rqdp{ clean end!}", new Object[0]); + } + + public final void f() + { + com.tencent.feedback.common.e.a("on app first run delete record file", new Object[0]); + c.a(this.c.getAbsolutePath()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.eup.jni.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/A.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/A.java new file mode 100755 index 00000000000..a77e78d349d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/A.java @@ -0,0 +1,171 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import com.tencent.feedback.common.c; +import com.tencent.feedback.common.e; +import com.tencent.feedback.upload.AbstractUploadDatas; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +public final class A + extends AbstractUploadDatas +{ + private y d = null; + private byte e = -1; + + public A(Context paramContext, y paramy, byte paramByte) + { + super(paramContext, 1111, 520); + this.d = paramy; + this.e = paramByte; + } + + public static S a(Context paramContext, y paramy, byte paramByte) + { + if ((paramy == null) || (paramContext == null)) { + return null; + } + paramContext = c.a(paramContext); + String str1 = paramContext.E(); + Object localObject1 = paramy.a(str1); + if ((localObject1 == null) || (localObject1.length <= 0)) { + return null; + } + paramy.a((q[])localObject1); + paramy = new ArrayList(localObject1.length); + int j = localObject1.length; + int i = 0; + if (i < j) + { + Object localObject2 = localObject1[i]; + R localR = new R(); + localR.a = localObject2.a(); + localR.d = localObject2.c(); + localR.c = localObject2.e(); + switch (localObject2.b()) + { + default: + e.c("rqdp{ unknown app state :%d ,drop it}", new Object[] { Integer.valueOf(localObject2.b()) }); + } + for (;;) + { + i += 1; + break; + localR.b = 1; + Iterator localIterator; + String str2; + for (;;) + { + localR.e = new HashMap(); + if (paramContext.F() >= 0) { + localR.e.put("C01", paramContext.F()); + } + if (paramContext.G() >= 0) { + localR.e.put("C02", paramContext.G()); + } + if (paramContext.I() <= 0) { + break; + } + localIterator = paramContext.J().iterator(); + while (localIterator.hasNext()) + { + str2 = (String)localIterator.next(); + localR.e.put("C03_" + str2, paramContext.k(str2)); + } + localR.b = 2; + continue; + localR.b = 3; + continue; + localR.b = 4; + } + if (paramContext.L() > 0) + { + localIterator = paramContext.M().iterator(); + while (localIterator.hasNext()) + { + str2 = (String)localIterator.next(); + localR.e.put("C04_" + str2, paramContext.l(str2)); + } + } + paramy.add(localR); + e.b("rqdp{ loc st :%s , uid:%s , tm:%d , st:%d }", new Object[] { localObject2.c(), localObject2.e(), Long.valueOf(localObject2.a()), Integer.valueOf(localObject2.b()) }); + } + } + if (paramy.size() > 0) + { + localObject1 = new S(); + ((S)localObject1).b = str1; + ((S)localObject1).d = paramy; + ((S)localObject1).a = paramByte; + ((S)localObject1).c = paramContext.h(); + ((S)localObject1).e = new HashMap(); + ((S)localObject1).e.put("A7", paramContext.d()); + ((S)localObject1).e.put("A6", paramContext.w()); + ((S)localObject1).e.put("A5", paramContext.v()); + ((S)localObject1).e.put("A2", paramContext.t()); + ((S)localObject1).e.put("A1", paramContext.t()); + ((S)localObject1).e.put("A24", paramContext.f()); + ((S)localObject1).e.put("A17", paramContext.u()); + ((S)localObject1).e.put("A15", paramContext.z()); + ((S)localObject1).e.put("A13", paramContext.C()); + ((S)localObject1).e.put("A3", paramContext.o()); + ((S)localObject1).e.put("A22", paramContext.h()); + return localObject1; + } + return null; + } + + private N e() + { + localObject3 = null; + for (;;) + { + try + { + localObject1 = a(this.c, this.d, this.e); + if (localObject1 != null) { + continue; + } + localObject1 = localObject3; + } + catch (Throwable localThrowable) + { + Object localObject1 = localObject3; + if (e.a(localThrowable)) { + continue; + } + localThrowable.printStackTrace(); + localObject1 = localObject3; + continue; + } + finally {} + return localObject1; + localObject1 = a(this.c, this.a, ((S)localObject1).a()); + } + } + + public final N a() + { + try + { + N localN = e(); + return localN; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void done(boolean paramBoolean) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.A + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/B.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/B.java new file mode 100755 index 00000000000..6d724fd8450 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/B.java @@ -0,0 +1,22 @@ +package com.tencent.feedback.proguard; + +public final class B +{ + public static C a(int paramInt) + { + E localE = null; + if (paramInt == 1) { + localE = new E(); + } + while (paramInt != 2) { + return localE; + } + return new D(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.B + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/C.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/C.java new file mode 100755 index 00000000000..cd9ba3446b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/C.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.proguard; + +public abstract interface C +{ + public abstract byte[] a(byte[] paramArrayOfByte) + throws Exception; + + public abstract byte[] b(byte[] paramArrayOfByte) + throws Exception; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.C + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/D.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/D.java new file mode 100755 index 00000000000..33c0cefc2d4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/D.java @@ -0,0 +1,52 @@ +package com.tencent.feedback.proguard; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +public final class D + implements C +{ + public final byte[] a(byte[] paramArrayOfByte) + throws Exception + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + GZIPOutputStream localGZIPOutputStream = new GZIPOutputStream(localByteArrayOutputStream); + localGZIPOutputStream.write(paramArrayOfByte); + localGZIPOutputStream.finish(); + localGZIPOutputStream.close(); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.close(); + return paramArrayOfByte; + } + + public final byte[] b(byte[] paramArrayOfByte) + throws Exception + { + paramArrayOfByte = new ByteArrayInputStream(paramArrayOfByte); + GZIPInputStream localGZIPInputStream = new GZIPInputStream(paramArrayOfByte); + byte[] arrayOfByte = new byte[1024]; + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + for (;;) + { + int i = localGZIPInputStream.read(arrayOfByte, 0, arrayOfByte.length); + if (i == -1) { + break; + } + localByteArrayOutputStream.write(arrayOfByte, 0, i); + } + arrayOfByte = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.flush(); + localByteArrayOutputStream.close(); + localGZIPInputStream.close(); + paramArrayOfByte.close(); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.D + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/E.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/E.java new file mode 100755 index 00000000000..9c8a253dfff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/E.java @@ -0,0 +1,61 @@ +package com.tencent.feedback.proguard; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +public final class E + implements C +{ + public final byte[] a(byte[] paramArrayOfByte) + throws Exception + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + ZipOutputStream localZipOutputStream = new ZipOutputStream(localByteArrayOutputStream); + ZipEntry localZipEntry = new ZipEntry("zip"); + localZipEntry.setSize(paramArrayOfByte.length); + localZipOutputStream.putNextEntry(localZipEntry); + localZipOutputStream.write(paramArrayOfByte); + localZipOutputStream.closeEntry(); + localZipOutputStream.close(); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.close(); + return paramArrayOfByte; + } + + public final byte[] b(byte[] paramArrayOfByte) + throws Exception + { + ByteArrayOutputStream localByteArrayOutputStream = null; + ByteArrayInputStream localByteArrayInputStream = new ByteArrayInputStream(paramArrayOfByte); + ZipInputStream localZipInputStream = new ZipInputStream(localByteArrayInputStream); + paramArrayOfByte = localByteArrayOutputStream; + while (localZipInputStream.getNextEntry() != null) + { + paramArrayOfByte = new byte[1024]; + localByteArrayOutputStream = new ByteArrayOutputStream(); + for (;;) + { + int i = localZipInputStream.read(paramArrayOfByte, 0, paramArrayOfByte.length); + if (i == -1) { + break; + } + localByteArrayOutputStream.write(paramArrayOfByte, 0, i); + } + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.flush(); + localByteArrayOutputStream.close(); + } + localZipInputStream.close(); + localByteArrayInputStream.close(); + return paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.E + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/F.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/F.java new file mode 100755 index 00000000000..9b36fac3243 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/F.java @@ -0,0 +1,107 @@ +package com.tencent.feedback.proguard; + +import java.security.Key; +import java.security.NoSuchAlgorithmException; +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public final class F + implements H +{ + private String a = null; + + public final void a(String paramString) + { + if (paramString != null) + { + int i = paramString.length(); + while (i < 16) + { + paramString = paramString + "0"; + i += 1; + } + this.a = paramString.substring(0, 16); + } + } + + public final byte[] a(byte[] paramArrayOfByte) + throws Exception + { + int j = 0; + if ((this.a == null) || (paramArrayOfByte == null)) + { + paramArrayOfByte = null; + return paramArrayOfByte; + } + Object localObject1 = new StringBuffer(); + int k = paramArrayOfByte.length; + int i = 0; + while (i < k) + { + int m = paramArrayOfByte[i]; + ((StringBuffer)localObject1).append(m + " "); + i += 1; + } + localObject1 = new SecretKeySpec(this.a.getBytes(), "AES"); + Object localObject2 = Cipher.getInstance("AES/CBC/PKCS5Padding"); + ((Cipher)localObject2).init(2, (Key)localObject1, new IvParameterSpec(this.a.getBytes())); + localObject1 = ((Cipher)localObject2).doFinal(paramArrayOfByte); + localObject2 = new StringBuffer(); + k = localObject1.length; + i = j; + for (;;) + { + paramArrayOfByte = (byte[])localObject1; + if (i >= k) { + break; + } + j = localObject1[i]; + ((StringBuffer)localObject2).append(j + " "); + i += 1; + } + } + + public final byte[] b(byte[] paramArrayOfByte) + throws Exception, NoSuchAlgorithmException + { + int j = 0; + if ((this.a == null) || (paramArrayOfByte == null)) + { + paramArrayOfByte = null; + return paramArrayOfByte; + } + Object localObject1 = new StringBuffer(); + int k = paramArrayOfByte.length; + int i = 0; + while (i < k) + { + int m = paramArrayOfByte[i]; + ((StringBuffer)localObject1).append(m + " "); + i += 1; + } + localObject1 = new SecretKeySpec(this.a.getBytes(), "AES"); + Object localObject2 = Cipher.getInstance("AES/CBC/PKCS5Padding"); + ((Cipher)localObject2).init(1, (Key)localObject1, new IvParameterSpec(this.a.getBytes())); + localObject1 = ((Cipher)localObject2).doFinal(paramArrayOfByte); + localObject2 = new StringBuffer(); + k = localObject1.length; + i = j; + for (;;) + { + paramArrayOfByte = (byte[])localObject1; + if (i >= k) { + break; + } + j = localObject1[i]; + ((StringBuffer)localObject2).append(j + " "); + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.F + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/G.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/G.java new file mode 100755 index 00000000000..faa4bb4c2e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/G.java @@ -0,0 +1,50 @@ +package com.tencent.feedback.proguard; + +import java.security.NoSuchAlgorithmException; +import javax.crypto.Cipher; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; + +public final class G + implements H +{ + private String a = null; + + public final void a(String paramString) + { + if (paramString != null) { + this.a = paramString; + } + } + + public final byte[] a(byte[] paramArrayOfByte) + throws Exception + { + if ((this.a == null) || (paramArrayOfByte == null)) { + return null; + } + Cipher localCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); + DESKeySpec localDESKeySpec = new DESKeySpec(this.a.getBytes("UTF-8")); + localCipher.init(2, SecretKeyFactory.getInstance("DES").generateSecret(localDESKeySpec), new IvParameterSpec(this.a.getBytes("UTF-8"))); + return localCipher.doFinal(paramArrayOfByte); + } + + public final byte[] b(byte[] paramArrayOfByte) + throws Exception, NoSuchAlgorithmException + { + if ((this.a == null) || (paramArrayOfByte == null)) { + return null; + } + Cipher localCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); + DESKeySpec localDESKeySpec = new DESKeySpec(this.a.getBytes("UTF-8")); + localCipher.init(1, SecretKeyFactory.getInstance("DES").generateSecret(localDESKeySpec), new IvParameterSpec(this.a.getBytes("UTF-8"))); + return localCipher.doFinal(paramArrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.G + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/H.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/H.java new file mode 100755 index 00000000000..eb3f0cbcfb1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/H.java @@ -0,0 +1,20 @@ +package com.tencent.feedback.proguard; + +import java.security.NoSuchAlgorithmException; + +public abstract interface H +{ + public abstract void a(String paramString); + + public abstract byte[] a(byte[] paramArrayOfByte) + throws Exception; + + public abstract byte[] b(byte[] paramArrayOfByte) + throws Exception, NoSuchAlgorithmException; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.H + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/I.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/I.java new file mode 100755 index 00000000000..d621f20d8c4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/I.java @@ -0,0 +1,46 @@ +package com.tencent.feedback.proguard; + +public final class I + extends j + implements Cloneable +{ + public String a = ""; + public String b = ""; + public String c = ""; + public String d = ""; + private String e = ""; + + public final void a(h paramh) + { + this.a = paramh.b(0, true); + this.b = paramh.b(1, false); + this.c = paramh.b(2, false); + this.e = paramh.b(3, false); + this.d = paramh.b(4, false); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + if (this.b != null) { + parami.a(this.b, 1); + } + if (this.c != null) { + parami.a(this.c, 2); + } + if (this.e != null) { + parami.a(this.e, 3); + } + if (this.d != null) { + parami.a(this.d, 4); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.I + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/J_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/J_1.java new file mode 100755 index 00000000000..b2197c9e4b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/J_1.java @@ -0,0 +1,39 @@ +package com.tencent.feedback.proguard; + +import java.util.ArrayList; + +public final class J + extends j + implements Cloneable +{ + private static ArrayList c; + private String a = ""; + private ArrayList b = null; + + public final void a(h paramh) + { + this.a = paramh.b(0, true); + if (c == null) + { + c = new ArrayList(); + c.add(""); + } + this.b = ((ArrayList)paramh.a(c, 1, false)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + if (this.b != null) { + parami.a(this.b, 1); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.J + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/K.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/K.java new file mode 100755 index 00000000000..21c0df6fbf1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/K.java @@ -0,0 +1,51 @@ +package com.tencent.feedback.proguard; + +public final class K + extends j + implements Cloneable +{ + private static byte[] d; + public byte a = 0; + public String b = ""; + public byte[] c = null; + + public K() {} + + public K(byte paramByte, String paramString, byte[] paramArrayOfByte) + { + this.a = paramByte; + this.b = paramString; + this.c = paramArrayOfByte; + } + + public final void a(h paramh) + { + this.a = paramh.a(this.a, 0, true); + this.b = paramh.b(1, true); + if (d == null) + { + arrayOfByte = (byte[])new byte[1]; + d = arrayOfByte; + ((byte[])arrayOfByte)[0] = 0; + } + byte[] arrayOfByte = d; + this.c = ((byte[])paramh.c(2, false)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + if (this.c != null) { + parami.a(this.c, 2); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.K + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/L.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/L.java new file mode 100755 index 00000000000..2224b0a50b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/L.java @@ -0,0 +1,162 @@ +package com.tencent.feedback.proguard; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public final class L + extends j + implements Cloneable +{ + private static Map A; + private static Map t; + private static J u; + private static I v; + private static ArrayList w; + private static ArrayList x; + private static ArrayList y; + private static Map z; + public String a = ""; + public long b = 0L; + public String c = ""; + public String d = ""; + public String e = ""; + public String f = ""; + public String g = ""; + public Map h = null; + public String i = ""; + public int j = 0; + public String k = ""; + public String l = ""; + public ArrayList m = null; + public ArrayList n = null; + public ArrayList o = null; + public Map p = null; + private J q = null; + private I r = null; + private Map s = null; + + public final void a(h paramh) + { + this.a = paramh.b(0, true); + this.b = paramh.a(this.b, 1, true); + this.c = paramh.b(2, true); + this.d = paramh.b(3, false); + this.e = paramh.b(4, false); + this.f = paramh.b(5, false); + this.g = paramh.b(6, false); + if (t == null) + { + t = new HashMap(); + t.put("", ""); + } + this.h = ((Map)paramh.a(t, 7, false)); + this.i = paramh.b(8, false); + if (u == null) { + u = new J(); + } + this.q = ((J)paramh.a(u, 9, false)); + this.j = paramh.a(this.j, 10, false); + this.k = paramh.b(11, false); + this.l = paramh.b(12, false); + if (v == null) { + v = new I(); + } + this.r = ((I)paramh.a(v, 13, false)); + Object localObject; + if (w == null) + { + w = new ArrayList(); + localObject = new I(); + w.add(localObject); + } + this.m = ((ArrayList)paramh.a(w, 14, false)); + if (x == null) + { + x = new ArrayList(); + localObject = new I(); + x.add(localObject); + } + this.n = ((ArrayList)paramh.a(x, 15, false)); + if (y == null) + { + y = new ArrayList(); + localObject = new K(); + y.add(localObject); + } + this.o = ((ArrayList)paramh.a(y, 16, false)); + if (z == null) + { + z = new HashMap(); + z.put("", ""); + } + this.p = ((Map)paramh.a(z, 17, false)); + if (A == null) + { + A = new HashMap(); + A.put("", ""); + } + this.s = ((Map)paramh.a(A, 18, false)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + parami.a(this.c, 2); + if (this.d != null) { + parami.a(this.d, 3); + } + if (this.e != null) { + parami.a(this.e, 4); + } + if (this.f != null) { + parami.a(this.f, 5); + } + if (this.g != null) { + parami.a(this.g, 6); + } + if (this.h != null) { + parami.a(this.h, 7); + } + if (this.i != null) { + parami.a(this.i, 8); + } + if (this.q != null) { + parami.a(this.q, 9); + } + parami.a(this.j, 10); + if (this.k != null) { + parami.a(this.k, 11); + } + if (this.l != null) { + parami.a(this.l, 12); + } + if (this.r != null) { + parami.a(this.r, 13); + } + if (this.m != null) { + parami.a(this.m, 14); + } + if (this.n != null) { + parami.a(this.n, 15); + } + if (this.o != null) { + parami.a(this.o, 16); + } + if (this.p != null) { + parami.a(this.p, 17); + } + if (this.s != null) { + parami.a(this.s, 18); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.L + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/M.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/M.java new file mode 100755 index 00000000000..1778abe3857 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/M.java @@ -0,0 +1,35 @@ +package com.tencent.feedback.proguard; + +import java.util.ArrayList; + +public final class M + extends j + implements Cloneable +{ + private static ArrayList b; + public ArrayList a = null; + + public final void a(h paramh) + { + if (b == null) + { + b = new ArrayList(); + L localL = new L(); + b.add(localL); + } + this.a = ((ArrayList)paramh.a(b, 0, true)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.M + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/N.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/N.java new file mode 100755 index 00000000000..86584e817a4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/N.java @@ -0,0 +1,86 @@ +package com.tencent.feedback.proguard; + +import java.util.HashMap; +import java.util.Map; + +public final class N + extends j + implements Cloneable +{ + private static byte[] m; + private static Map n; + public int a = 0; + public String b = ""; + public String c = ""; + public String d = ""; + public String e = ""; + public String f = ""; + public int g = 0; + public byte[] h = null; + public String i = ""; + public String j = ""; + private Map k = null; + private String l = ""; + + public final void a(h paramh) + { + this.a = paramh.a(this.a, 0, true); + this.b = paramh.b(1, true); + this.c = paramh.b(2, true); + this.d = paramh.b(3, true); + this.e = paramh.b(4, false); + this.f = paramh.b(5, true); + this.g = paramh.a(this.g, 6, true); + if (m == null) + { + arrayOfByte = (byte[])new byte[1]; + m = arrayOfByte; + ((byte[])arrayOfByte)[0] = 0; + } + byte[] arrayOfByte = m; + this.h = ((byte[])paramh.c(7, true)); + this.i = paramh.b(8, false); + this.j = paramh.b(9, false); + if (n == null) + { + n = new HashMap(); + n.put("", ""); + } + this.k = ((Map)paramh.a(n, 10, false)); + this.l = paramh.b(11, false); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + parami.a(this.c, 2); + parami.a(this.d, 3); + if (this.e != null) { + parami.a(this.e, 4); + } + parami.a(this.f, 5); + parami.a(this.g, 6); + parami.a(this.h, 7); + if (this.i != null) { + parami.a(this.i, 8); + } + if (this.j != null) { + parami.a(this.j, 9); + } + if (this.k != null) { + parami.a(this.k, 10); + } + if (this.l != null) { + parami.a(this.l, 11); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.N + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/O.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/O.java new file mode 100755 index 00000000000..10ebbbab15d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/O.java @@ -0,0 +1,50 @@ +package com.tencent.feedback.proguard; + +public final class O + extends j + implements Cloneable +{ + private static byte[] f; + public byte a = 0; + public int b = 0; + public byte[] c = null; + public String d = ""; + public long e = 0L; + + public final void a(h paramh) + { + this.a = paramh.a(this.a, 0, true); + this.b = paramh.a(this.b, 1, true); + if (f == null) + { + arrayOfByte = (byte[])new byte[1]; + f = arrayOfByte; + ((byte[])arrayOfByte)[0] = 0; + } + byte[] arrayOfByte = f; + this.c = ((byte[])paramh.c(2, false)); + this.d = paramh.b(3, false); + this.e = paramh.a(this.e, 4, false); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + if (this.c != null) { + parami.a(this.c, 2); + } + if (this.d != null) { + parami.a(this.d, 3); + } + parami.a(this.e, 4); + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.O + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/P.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/P.java new file mode 100755 index 00000000000..202edf6ec7d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/P.java @@ -0,0 +1,29 @@ +package com.tencent.feedback.proguard; + +public final class P + extends j + implements Cloneable +{ + private String a = ""; + private String b = ""; + + public final void a(h paramh) + { + this.a = paramh.b(0, true); + this.b = paramh.b(1, true); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.P + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/Q.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/Q.java new file mode 100755 index 00000000000..546a2e4b178 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/Q.java @@ -0,0 +1,68 @@ +package com.tencent.feedback.proguard; + +import java.util.HashMap; +import java.util.Map; + +public final class Q + extends j + implements Cloneable +{ + private static P h; + private static Map i; + public String a = ""; + public Map b = null; + private boolean c = true; + private boolean d = true; + private boolean e = true; + private String f = ""; + private P g = null; + + public final void a(h paramh) + { + boolean bool = this.c; + this.c = paramh.a(0, true); + bool = this.d; + this.d = paramh.a(1, true); + bool = this.e; + this.e = paramh.a(2, true); + this.a = paramh.b(3, false); + this.f = paramh.b(4, false); + if (h == null) { + h = new P(); + } + this.g = ((P)paramh.a(h, 5, false)); + if (i == null) + { + i = new HashMap(); + i.put("", ""); + } + this.b = ((Map)paramh.a(i, 6, false)); + } + + public final void a(i parami) + { + parami.a(this.c, 0); + parami.a(this.d, 1); + parami.a(this.e, 2); + if (this.a != null) { + parami.a(this.a, 3); + } + if (this.f != null) { + parami.a(this.f, 4); + } + if (this.g != null) { + parami.a(this.g, 5); + } + if (this.b != null) { + parami.a(this.b, 6); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.Q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/R.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/R.java new file mode 100755 index 00000000000..dad8bc32a7a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/R.java @@ -0,0 +1,58 @@ +package com.tencent.feedback.proguard; + +import java.util.HashMap; +import java.util.Map; + +public final class R + extends j + implements Cloneable +{ + private static Map g = new HashMap(); + public long a = 0L; + public byte b = 0; + public String c = ""; + public String d = ""; + public Map e = null; + private String f = ""; + + static + { + g.put("", ""); + } + + public final void a(h paramh) + { + this.a = paramh.a(this.a, 0, true); + this.b = paramh.a(this.b, 1, true); + this.c = paramh.b(2, false); + this.d = paramh.b(3, false); + this.f = paramh.b(4, false); + this.e = ((Map)paramh.a(g, 5, false)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + parami.a(this.b, 1); + if (this.c != null) { + parami.a(this.c, 2); + } + if (this.d != null) { + parami.a(this.d, 3); + } + if (this.f != null) { + parami.a(this.f, 4); + } + if (this.e != null) { + parami.a(this.e, 5); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.R + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/S_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/S_1.java new file mode 100755 index 00000000000..174178a7f75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/S_1.java @@ -0,0 +1,63 @@ +package com.tencent.feedback.proguard; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public final class S + extends j + implements Cloneable +{ + private static ArrayList f; + private static Map g; + public byte a = 0; + public String b = ""; + public String c = ""; + public ArrayList d = null; + public Map e = null; + + public final void a(h paramh) + { + this.a = paramh.a(this.a, 0, true); + this.b = paramh.b(1, false); + this.c = paramh.b(2, false); + if (f == null) + { + f = new ArrayList(); + R localR = new R(); + f.add(localR); + } + this.d = ((ArrayList)paramh.a(f, 3, false)); + if (g == null) + { + g = new HashMap(); + g.put("", ""); + } + this.e = ((Map)paramh.a(g, 4, false)); + } + + public final void a(i parami) + { + parami.a(this.a, 0); + if (this.b != null) { + parami.a(this.b, 1); + } + if (this.c != null) { + parami.a(this.c, 2); + } + if (this.d != null) { + parami.a(this.d, 3); + } + if (this.e != null) { + parami.a(this.e, 4); + } + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.S + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/a_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/a_1.java new file mode 100755 index 00000000000..b663fa077d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/a_1.java @@ -0,0 +1,3418 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import com.tencent.feedback.common.e; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.Array; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.UUID; + +public class a +{ + protected HashMap> a = new HashMap(); + protected String b; + h c; + private HashMap d; + + a() + { + new HashMap(); + this.d = new HashMap(); + this.b = "GBK"; + this.c = new h(); + } + + public static int a(Context paramContext, p[] paramArrayOfp) + { + int j = 0; + int i; + if ((paramContext == null) || (paramArrayOfp == null) || (paramArrayOfp.length <= 0)) { + i = -1; + } + ArrayList localArrayList; + do + { + return i; + localArrayList = new ArrayList(paramArrayOfp.length); + int k = paramArrayOfp.length; + i = 0; + while (i < k) + { + p localp = paramArrayOfp[i]; + Object localObject = a(localp); + if (localObject != null) + { + localObject = new l(7, 0, 0L, (byte[])localObject); + ((l)localObject).a(localp.a()); + localArrayList.add(localObject); + } + i += 1; + } + i = j; + } while (localArrayList.size() <= 0); + if (l.b(paramContext, localArrayList)) { + return localArrayList.size(); + } + return -1; + } + + public static int a(Context paramContext, q[] paramArrayOfq) + { + if ((paramContext != null) && (paramArrayOfq != null)) {} + for (;;) + { + int i; + ArrayList localArrayList; + try + { + if (paramArrayOfq.length <= 0) + { + e.c("rqdp{ args error}", new Object[0]); + i = 0; + return i; + } + localArrayList = new ArrayList(paramArrayOfq.length); + int j = paramArrayOfq.length; + i = 0; + if (i < j) + { + q localq = paramArrayOfq[i]; + Object localObject = a(localq); + if (localObject == null) + { + e.c("rqdp{ getSerData error }", new Object[0]); + } + else + { + localObject = new l(9, 0, localq.a(), (byte[])localObject); + ((l)localObject).a(localq.c()); + localArrayList.add(localObject); + } + } + } + finally {} + if ((localArrayList.size() > 0) && (l.a(paramContext, localArrayList))) + { + i = localArrayList.size(); + } + else + { + i = 0; + continue; + i += 1; + } + } + } + + /* Error */ + public static N a(int paramInt, com.tencent.feedback.common.c paramc, byte[] paramArrayOfByte, byte paramByte1, byte paramByte2, String paramString) + { + // Byte code: + // 0: ldc 93 + // 2: iconst_0 + // 3: anewarray 4 java/lang/Object + // 6: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 9: pop + // 10: aload_1 + // 11: ifnonnull +15 -> 26 + // 14: ldc 97 + // 16: iconst_0 + // 17: anewarray 4 java/lang/Object + // 20: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 23: pop + // 24: aconst_null + // 25: areturn + // 26: new 101 com/tencent/feedback/proguard/N + // 29: dup + // 30: invokespecial 102 com/tencent/feedback/proguard/N: ()V + // 33: astore 7 + // 35: aload_1 + // 36: monitorenter + // 37: aload 7 + // 39: aload_1 + // 40: invokevirtual 107 com/tencent/feedback/common/c:a ()B + // 43: putfield 110 com/tencent/feedback/proguard/N:a I + // 46: aload 7 + // 48: aload_1 + // 49: invokevirtual 113 com/tencent/feedback/common/c:n ()Ljava/lang/String; + // 52: putfield 114 com/tencent/feedback/proguard/N:b Ljava/lang/String; + // 55: aload 7 + // 57: aload_1 + // 58: invokevirtual 116 com/tencent/feedback/common/c:b ()Ljava/lang/String; + // 61: putfield 118 com/tencent/feedback/proguard/N:c Ljava/lang/String; + // 64: aload 7 + // 66: aload_1 + // 67: invokevirtual 121 com/tencent/feedback/common/c:B ()Ljava/lang/String; + // 70: putfield 123 com/tencent/feedback/proguard/N:d Ljava/lang/String; + // 73: aload 7 + // 75: ldc 125 + // 77: putfield 128 com/tencent/feedback/proguard/N:e Ljava/lang/String; + // 80: aload 7 + // 82: aload_1 + // 83: invokevirtual 129 com/tencent/feedback/common/c:c ()Ljava/lang/String; + // 86: putfield 132 com/tencent/feedback/proguard/N:f Ljava/lang/String; + // 89: aload 7 + // 91: iload_0 + // 92: putfield 135 com/tencent/feedback/proguard/N:g I + // 95: aload_2 + // 96: ifnonnull +93 -> 189 + // 99: ldc 125 + // 101: invokevirtual 141 java/lang/String:getBytes ()[B + // 104: astore 6 + // 106: aload 7 + // 108: aload 6 + // 110: putfield 145 com/tencent/feedback/proguard/N:h [B + // 113: aload 7 + // 115: aload_1 + // 116: invokevirtual 147 com/tencent/feedback/common/c:e ()Ljava/lang/String; + // 119: putfield 150 com/tencent/feedback/proguard/N:i Ljava/lang/String; + // 122: aload 7 + // 124: aload_1 + // 125: invokevirtual 152 com/tencent/feedback/common/c:f ()Ljava/lang/String; + // 128: putfield 155 com/tencent/feedback/proguard/N:j Ljava/lang/String; + // 131: aload_1 + // 132: monitorexit + // 133: aload_2 + // 134: ifnull +66 -> 200 + // 137: aload 7 + // 139: aload 7 + // 141: getfield 145 com/tencent/feedback/proguard/N:h [B + // 144: iload_3 + // 145: iload 4 + // 147: aload 5 + // 149: invokestatic 158 com/tencent/feedback/proguard/a:a ([BIILjava/lang/String;)[B + // 152: putfield 145 com/tencent/feedback/proguard/N:h [B + // 155: aload 7 + // 157: getfield 145 com/tencent/feedback/proguard/N:h [B + // 160: ifnonnull +40 -> 200 + // 163: ldc 160 + // 165: iconst_0 + // 166: anewarray 4 java/lang/Object + // 169: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 172: pop + // 173: aconst_null + // 174: areturn + // 175: astore_1 + // 176: aload_1 + // 177: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 180: ifne -156 -> 24 + // 183: aload_1 + // 184: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 187: aconst_null + // 188: areturn + // 189: aload_2 + // 190: astore 6 + // 192: goto -86 -> 106 + // 195: astore_2 + // 196: aload_1 + // 197: monitorexit + // 198: aload_2 + // 199: athrow + // 200: aload 7 + // 202: areturn + // Local variable table: + // start length slot name signature + // 0 203 0 paramInt int + // 0 203 1 paramc com.tencent.feedback.common.c + // 0 203 2 paramArrayOfByte byte[] + // 0 203 3 paramByte1 byte + // 0 203 4 paramByte2 byte + // 0 203 5 paramString String + // 104 87 6 arrayOfByte byte[] + // 33 168 7 localN N + // Exception table: + // from to target type + // 26 37 175 java/lang/Throwable + // 137 173 175 java/lang/Throwable + // 196 200 175 java/lang/Throwable + // 37 95 195 finally + // 99 106 195 finally + // 106 133 195 finally + } + + /* Error */ + public static z a(Context paramContext, int paramInt) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: aload_0 + // 4: ifnonnull +15 -> 19 + // 7: ldc 169 + // 9: iconst_0 + // 10: anewarray 4 java/lang/Object + // 13: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 16: pop + // 17: aconst_null + // 18: areturn + // 19: new 171 com/tencent/feedback/proguard/n + // 22: dup + // 23: aload_0 + // 24: invokespecial 174 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 27: astore_3 + // 28: aload_3 + // 29: invokevirtual 178 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 32: astore_0 + // 33: aload_0 + // 34: ifnonnull +34 -> 68 + // 37: ldc 180 + // 39: iconst_0 + // 40: anewarray 4 java/lang/Object + // 43: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 46: pop + // 47: aload_0 + // 48: ifnull +14 -> 62 + // 51: aload_0 + // 52: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 55: ifeq +7 -> 62 + // 58: aload_0 + // 59: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 62: aload_3 + // 63: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 66: aconst_null + // 67: areturn + // 68: aload_0 + // 69: ldc 192 + // 71: aconst_null + // 72: getstatic 198 java/util/Locale:US Ljava/util/Locale; + // 75: ldc 200 + // 77: iconst_2 + // 78: anewarray 4 java/lang/Object + // 81: dup + // 82: iconst_0 + // 83: ldc 202 + // 85: aastore + // 86: dup + // 87: iconst_1 + // 88: iload_1 + // 89: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 92: aastore + // 93: invokestatic 212 java/lang/String:format (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; + // 96: aconst_null + // 97: aconst_null + // 98: aconst_null + // 99: aconst_null + // 100: invokevirtual 216 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 103: astore_2 + // 104: aload_2 + // 105: ifnull +290 -> 395 + // 108: aload_2 + // 109: invokeinterface 221 1 0 + // 114: ifeq +281 -> 395 + // 117: aload_2 + // 118: ifnull +442 -> 560 + // 121: aload_2 + // 122: invokeinterface 224 1 0 + // 127: ifne +433 -> 560 + // 130: aload_2 + // 131: invokeinterface 227 1 0 + // 136: ifeq +73 -> 209 + // 139: goto +421 -> 560 + // 142: aload 4 + // 144: ifnull +251 -> 395 + // 147: ldc 229 + // 149: iconst_1 + // 150: anewarray 4 java/lang/Object + // 153: dup + // 154: iconst_0 + // 155: aload 4 + // 157: invokevirtual 233 com/tencent/feedback/proguard/z:b ()I + // 160: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 163: aastore + // 164: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 167: pop + // 168: aload_2 + // 169: ifnull +18 -> 187 + // 172: aload_2 + // 173: invokeinterface 236 1 0 + // 178: ifne +9 -> 187 + // 181: aload_2 + // 182: invokeinterface 237 1 0 + // 187: aload_0 + // 188: ifnull +14 -> 202 + // 191: aload_0 + // 192: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 195: ifeq +7 -> 202 + // 198: aload_0 + // 199: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 202: aload_3 + // 203: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 206: aload 4 + // 208: areturn + // 209: ldc 239 + // 211: iconst_0 + // 212: anewarray 4 java/lang/Object + // 215: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 218: pop + // 219: new 231 com/tencent/feedback/proguard/z + // 222: dup + // 223: invokespecial 240 com/tencent/feedback/proguard/z: ()V + // 226: astore 4 + // 228: aload 4 + // 230: aload_2 + // 231: aload_2 + // 232: ldc 242 + // 234: invokeinterface 246 2 0 + // 239: invokeinterface 250 2 0 + // 244: invokevirtual 253 com/tencent/feedback/proguard/z:a (J)V + // 247: aload 4 + // 249: aload_2 + // 250: aload_2 + // 251: ldc 202 + // 253: invokeinterface 246 2 0 + // 258: invokeinterface 257 2 0 + // 263: invokevirtual 259 com/tencent/feedback/proguard/z:a (I)V + // 266: aload 4 + // 268: aload_2 + // 269: aload_2 + // 270: ldc_w 261 + // 273: invokeinterface 246 2 0 + // 278: invokeinterface 250 2 0 + // 283: invokevirtual 263 com/tencent/feedback/proguard/z:b (J)V + // 286: aload 4 + // 288: aload_2 + // 289: aload_2 + // 290: ldc_w 265 + // 293: invokeinterface 246 2 0 + // 298: invokeinterface 269 2 0 + // 303: invokevirtual 272 com/tencent/feedback/proguard/z:a ([B)V + // 306: goto -164 -> 142 + // 309: astore 4 + // 311: aload_2 + // 312: astore 5 + // 314: aload_0 + // 315: astore_2 + // 316: aload 5 + // 318: astore_0 + // 319: aload 4 + // 321: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 324: ifne +8 -> 332 + // 327: aload 4 + // 329: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 332: ldc_w 274 + // 335: iconst_1 + // 336: anewarray 4 java/lang/Object + // 339: dup + // 340: iconst_0 + // 341: aload 4 + // 343: invokevirtual 277 java/lang/Throwable:toString ()Ljava/lang/String; + // 346: aastore + // 347: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 350: pop + // 351: aload_0 + // 352: ifnull +18 -> 370 + // 355: aload_0 + // 356: invokeinterface 236 1 0 + // 361: ifne +9 -> 370 + // 364: aload_0 + // 365: invokeinterface 237 1 0 + // 370: aload_2 + // 371: ifnull +14 -> 385 + // 374: aload_2 + // 375: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 378: ifeq +7 -> 385 + // 381: aload_2 + // 382: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 385: aload_3 + // 386: ifnull +7 -> 393 + // 389: aload_3 + // 390: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 393: aconst_null + // 394: areturn + // 395: aload_2 + // 396: ifnull +18 -> 414 + // 399: aload_2 + // 400: invokeinterface 236 1 0 + // 405: ifne +9 -> 414 + // 408: aload_2 + // 409: invokeinterface 237 1 0 + // 414: aload_0 + // 415: ifnull +14 -> 429 + // 418: aload_0 + // 419: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 422: ifeq +7 -> 429 + // 425: aload_0 + // 426: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 429: aload_3 + // 430: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 433: goto -40 -> 393 + // 436: astore_0 + // 437: aconst_null + // 438: astore_2 + // 439: aconst_null + // 440: astore_3 + // 441: aload_2 + // 442: ifnull +18 -> 460 + // 445: aload_2 + // 446: invokeinterface 236 1 0 + // 451: ifne +9 -> 460 + // 454: aload_2 + // 455: invokeinterface 237 1 0 + // 460: aload 4 + // 462: ifnull +16 -> 478 + // 465: aload 4 + // 467: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 470: ifeq +8 -> 478 + // 473: aload 4 + // 475: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 478: aload_3 + // 479: ifnull +7 -> 486 + // 482: aload_3 + // 483: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 486: aload_0 + // 487: athrow + // 488: astore_0 + // 489: aconst_null + // 490: astore_2 + // 491: goto -50 -> 441 + // 494: astore 5 + // 496: aconst_null + // 497: astore_2 + // 498: aload_0 + // 499: astore 4 + // 501: aload 5 + // 503: astore_0 + // 504: goto -63 -> 441 + // 507: astore 5 + // 509: aload_0 + // 510: astore 4 + // 512: aload 5 + // 514: astore_0 + // 515: goto -74 -> 441 + // 518: astore 5 + // 520: aload_2 + // 521: astore 4 + // 523: aload_0 + // 524: astore_2 + // 525: aload 5 + // 527: astore_0 + // 528: goto -87 -> 441 + // 531: astore 4 + // 533: aconst_null + // 534: astore_0 + // 535: aconst_null + // 536: astore_2 + // 537: aconst_null + // 538: astore_3 + // 539: goto -220 -> 319 + // 542: astore 4 + // 544: aconst_null + // 545: astore_0 + // 546: aconst_null + // 547: astore_2 + // 548: goto -229 -> 319 + // 551: astore 4 + // 553: aload_0 + // 554: astore_2 + // 555: aconst_null + // 556: astore_0 + // 557: goto -238 -> 319 + // 560: aconst_null + // 561: astore 4 + // 563: goto -421 -> 142 + // Local variable table: + // start length slot name signature + // 0 566 0 paramContext Context + // 0 566 1 paramInt int + // 103 452 2 localObject1 Object + // 27 512 3 localn n + // 1 286 4 localz z + // 309 165 4 localThrowable1 Throwable + // 499 23 4 localObject2 Object + // 531 1 4 localThrowable2 Throwable + // 542 1 4 localThrowable3 Throwable + // 551 1 4 localThrowable4 Throwable + // 561 1 4 localObject3 Object + // 312 5 5 localObject4 Object + // 494 8 5 localObject5 Object + // 507 6 5 localObject6 Object + // 518 8 5 localObject7 Object + // Exception table: + // from to target type + // 108 117 309 java/lang/Throwable + // 121 139 309 java/lang/Throwable + // 147 168 309 java/lang/Throwable + // 209 306 309 java/lang/Throwable + // 19 28 436 finally + // 28 33 488 finally + // 37 47 494 finally + // 68 104 494 finally + // 108 117 507 finally + // 121 139 507 finally + // 147 168 507 finally + // 209 306 507 finally + // 319 332 518 finally + // 332 351 518 finally + // 19 28 531 java/lang/Throwable + // 28 33 542 java/lang/Throwable + // 37 47 551 java/lang/Throwable + // 68 104 551 java/lang/Throwable + } + + public static String a(Context paramContext, String paramString) + { + if ((paramString == null) || (paramString.trim().equals(""))) { + return ""; + } + paramContext = a(paramContext, new String[] { "/system/bin/sh", "-c", "getprop " + paramString }); + if ((paramContext != null) && (paramContext.size() > 0)) { + return (String)paramContext.get(0); + } + return "fail"; + } + + public static String a(Throwable paramThrowable) + { + if (paramThrowable == null) { + return ""; + } + try + { + StringWriter localStringWriter = new StringWriter(); + paramThrowable.printStackTrace(new PrintWriter(localStringWriter)); + paramThrowable = localStringWriter.getBuffer().toString(); + return paramThrowable; + } + catch (Throwable paramThrowable) + { + if ((!e.a(paramThrowable)) && (!e.a(paramThrowable))) { + paramThrowable.printStackTrace(); + } + } + return "fail"; + } + + public static String a(ArrayList paramArrayList) + { + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + String str1; + if (i < paramArrayList.size()) + { + String str2 = (String)paramArrayList.get(i); + if ((str2.equals("java.lang.Integer")) || (str2.equals("int"))) { + str1 = "int32"; + } + for (;;) + { + paramArrayList.set(i, str1); + i += 1; + break; + if ((str2.equals("java.lang.Boolean")) || (str2.equals("boolean"))) + { + str1 = "bool"; + } + else if ((str2.equals("java.lang.Byte")) || (str2.equals("byte"))) + { + str1 = "char"; + } + else if ((str2.equals("java.lang.Double")) || (str2.equals("double"))) + { + str1 = "double"; + } + else if ((str2.equals("java.lang.Float")) || (str2.equals("float"))) + { + str1 = "float"; + } + else if ((str2.equals("java.lang.Long")) || (str2.equals("long"))) + { + str1 = "int64"; + } + else if ((str2.equals("java.lang.Short")) || (str2.equals("short"))) + { + str1 = "short"; + } + else + { + if (str2.equals("java.lang.Character")) { + throw new IllegalArgumentException("can not support java.lang.Character"); + } + if (str2.equals("java.lang.String")) + { + str1 = "string"; + } + else if (str2.equals("java.util.List")) + { + str1 = "list"; + } + else + { + str1 = str2; + if (str2.equals("java.util.Map")) { + str1 = "map"; + } + } + } + } + } + Collections.reverse(paramArrayList); + i = 0; + if (i < paramArrayList.size()) + { + str1 = (String)paramArrayList.get(i); + if (str1.equals("list")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1)); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + for (;;) + { + i += 1; + break; + if (str1.equals("map")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1) + ","); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + else if (str1.equals("Array")) + { + paramArrayList.set(i - 1, "<" + (String)paramArrayList.get(i - 1)); + paramArrayList.set(0, (String)paramArrayList.get(0) + ">"); + } + } + } + Collections.reverse(paramArrayList); + paramArrayList = paramArrayList.iterator(); + while (paramArrayList.hasNext()) { + localStringBuffer.append((String)paramArrayList.next()); + } + return localStringBuffer.toString(); + } + + /* Error */ + public static ArrayList a(Context paramContext, String[] paramArrayOfString) + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: new 37 java/util/ArrayList + // 5: dup + // 6: invokespecial 429 java/util/ArrayList: ()V + // 9: astore 4 + // 11: aload_0 + // 12: invokestatic 432 com/tencent/feedback/common/c:a (Landroid/content/Context;)Lcom/tencent/feedback/common/c; + // 15: invokevirtual 435 com/tencent/feedback/common/c:N ()Z + // 18: ifeq +28 -> 46 + // 21: new 37 java/util/ArrayList + // 24: dup + // 25: invokespecial 429 java/util/ArrayList: ()V + // 28: astore_0 + // 29: aload_0 + // 30: new 137 java/lang/String + // 33: dup + // 34: ldc_w 437 + // 37: invokespecial 438 java/lang/String: (Ljava/lang/String;)V + // 40: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 43: pop + // 44: aload_0 + // 45: areturn + // 46: invokestatic 444 java/lang/Runtime:getRuntime ()Ljava/lang/Runtime; + // 49: aload_1 + // 50: invokevirtual 448 java/lang/Runtime:exec ([Ljava/lang/String;)Ljava/lang/Process; + // 53: astore_0 + // 54: new 450 java/io/BufferedReader + // 57: dup + // 58: new 452 java/io/InputStreamReader + // 61: dup + // 62: aload_0 + // 63: invokevirtual 458 java/lang/Process:getInputStream ()Ljava/io/InputStream; + // 66: invokespecial 461 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 69: invokespecial 464 java/io/BufferedReader: (Ljava/io/Reader;)V + // 72: astore_1 + // 73: aload_1 + // 74: invokevirtual 467 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 77: astore_2 + // 78: aload_2 + // 79: ifnull +56 -> 135 + // 82: aload 4 + // 84: aload_2 + // 85: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 88: pop + // 89: goto -16 -> 73 + // 92: astore 4 + // 94: aconst_null + // 95: astore_0 + // 96: aload_0 + // 97: astore_3 + // 98: aload_1 + // 99: astore_2 + // 100: aload 4 + // 102: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 105: ifne +12 -> 117 + // 108: aload_0 + // 109: astore_3 + // 110: aload_1 + // 111: astore_2 + // 112: aload 4 + // 114: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 117: aload_1 + // 118: ifnull +7 -> 125 + // 121: aload_1 + // 122: invokevirtual 468 java/io/BufferedReader:close ()V + // 125: aload_0 + // 126: ifnull +7 -> 133 + // 129: aload_0 + // 130: invokevirtual 468 java/io/BufferedReader:close ()V + // 133: aconst_null + // 134: areturn + // 135: new 450 java/io/BufferedReader + // 138: dup + // 139: new 452 java/io/InputStreamReader + // 142: dup + // 143: aload_0 + // 144: invokevirtual 471 java/lang/Process:getErrorStream ()Ljava/io/InputStream; + // 147: invokespecial 461 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 150: invokespecial 464 java/io/BufferedReader: (Ljava/io/Reader;)V + // 153: astore_0 + // 154: aload_0 + // 155: astore_3 + // 156: aload_1 + // 157: astore_2 + // 158: aload_0 + // 159: invokevirtual 467 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 162: astore 5 + // 164: aload 5 + // 166: ifnull +23 -> 189 + // 169: aload_0 + // 170: astore_3 + // 171: aload_1 + // 172: astore_2 + // 173: aload 4 + // 175: aload 5 + // 177: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 180: pop + // 181: goto -27 -> 154 + // 184: astore 4 + // 186: goto -90 -> 96 + // 189: aload_1 + // 190: invokevirtual 468 java/io/BufferedReader:close ()V + // 193: aload_0 + // 194: invokevirtual 468 java/io/BufferedReader:close ()V + // 197: aload 4 + // 199: areturn + // 200: astore_1 + // 201: aload 4 + // 203: astore_0 + // 204: aload_1 + // 205: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 208: ifne -164 -> 44 + // 211: aload_1 + // 212: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 215: aload 4 + // 217: areturn + // 218: astore_1 + // 219: aload_1 + // 220: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 223: ifne -30 -> 193 + // 226: aload_1 + // 227: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 230: goto -37 -> 193 + // 233: astore_1 + // 234: aload_1 + // 235: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 238: ifne -113 -> 125 + // 241: aload_1 + // 242: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 245: goto -120 -> 125 + // 248: astore_0 + // 249: aload_0 + // 250: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 253: ifne -120 -> 133 + // 256: aload_0 + // 257: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 260: goto -127 -> 133 + // 263: astore_0 + // 264: aconst_null + // 265: astore_1 + // 266: aload_1 + // 267: ifnull +7 -> 274 + // 270: aload_1 + // 271: invokevirtual 468 java/io/BufferedReader:close ()V + // 274: aload_3 + // 275: ifnull +7 -> 282 + // 278: aload_3 + // 279: invokevirtual 468 java/io/BufferedReader:close ()V + // 282: aload_0 + // 283: athrow + // 284: astore_1 + // 285: aload_1 + // 286: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 289: ifne -15 -> 274 + // 292: aload_1 + // 293: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 296: goto -22 -> 274 + // 299: astore_1 + // 300: aload_1 + // 301: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 304: ifne -22 -> 282 + // 307: aload_1 + // 308: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 311: goto -29 -> 282 + // 314: astore_0 + // 315: goto -49 -> 266 + // 318: astore_0 + // 319: aload_2 + // 320: astore_1 + // 321: goto -55 -> 266 + // 324: astore 4 + // 326: aconst_null + // 327: astore_0 + // 328: aconst_null + // 329: astore_1 + // 330: goto -234 -> 96 + // Local variable table: + // start length slot name signature + // 0 333 0 paramContext Context + // 0 333 1 paramArrayOfString String[] + // 77 243 2 localObject Object + // 1 278 3 localContext Context + // 9 74 4 localArrayList ArrayList + // 92 82 4 localThrowable1 Throwable + // 184 32 4 localThrowable2 Throwable + // 324 1 4 localThrowable3 Throwable + // 162 14 5 str String + // Exception table: + // from to target type + // 73 78 92 java/lang/Throwable + // 82 89 92 java/lang/Throwable + // 135 154 92 java/lang/Throwable + // 158 164 184 java/lang/Throwable + // 173 181 184 java/lang/Throwable + // 193 197 200 java/io/IOException + // 189 193 218 java/io/IOException + // 121 125 233 java/io/IOException + // 129 133 248 java/io/IOException + // 46 73 263 finally + // 270 274 284 java/io/IOException + // 278 282 299 java/io/IOException + // 73 78 314 finally + // 82 89 314 finally + // 135 154 314 finally + // 100 108 318 finally + // 112 117 318 finally + // 158 164 318 finally + // 173 181 318 finally + // 46 73 324 java/lang/Throwable + } + + public static List

a(Context paramContext) + { + if (paramContext == null) { + return null; + } + Object localObject = l.a(paramContext, new int[] { 7 }, -1, -1, 9223372036854775807L, 5, null, -1, -1, -1, -1, -1L, 9223372036854775807L); + if ((localObject == null) || (((List)localObject).size() <= 0)) { + return null; + } + paramContext = new ArrayList(((List)localObject).size()); + localObject = ((List)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + l locall = (l)((Iterator)localObject).next(); + try + { + p localp = (p)p.class.cast(b(locall.b())); + localp.a(locall.a()); + paramContext.add(localp); + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + e.d("rqdp{ netconsume error }%s", new Object[] { localThrowable.toString() }); + } + } + return paramContext; + } + + public static void a(Context paramContext, int paramInt, byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return; + } + z localz = new z(); + localz.a(paramInt); + localz.a(paramArrayOfByte); + localz.b(new Date().getTime()); + a(paramContext, localz); + } + + /* Error */ + public static void a(String paramString1, String paramString2, int paramInt) + { + // Byte code: + // 0: ldc_w 512 + // 3: iconst_1 + // 4: anewarray 4 java/lang/Object + // 7: dup + // 8: iconst_0 + // 9: aload_0 + // 10: aastore + // 11: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 14: pop + // 15: aload_1 + // 16: ifnull +13 -> 29 + // 19: aload_1 + // 20: invokevirtual 281 java/lang/String:trim ()Ljava/lang/String; + // 23: invokevirtual 515 java/lang/String:length ()I + // 26: ifgt +4 -> 30 + // 29: return + // 30: new 517 java/io/File + // 33: dup + // 34: aload_0 + // 35: invokespecial 518 java/io/File: (Ljava/lang/String;)V + // 38: astore 6 + // 40: aload 6 + // 42: invokevirtual 521 java/io/File:exists ()Z + // 45: ifne +26 -> 71 + // 48: aload 6 + // 50: invokevirtual 525 java/io/File:getParentFile ()Ljava/io/File; + // 53: ifnull +12 -> 65 + // 56: aload 6 + // 58: invokevirtual 525 java/io/File:getParentFile ()Ljava/io/File; + // 61: invokevirtual 528 java/io/File:mkdirs ()Z + // 64: pop + // 65: aload 6 + // 67: invokevirtual 531 java/io/File:createNewFile ()Z + // 70: pop + // 71: aconst_null + // 72: astore 5 + // 74: aconst_null + // 75: astore_0 + // 76: aload_0 + // 77: astore 4 + // 79: aload 5 + // 81: astore_3 + // 82: aload 6 + // 84: invokevirtual 533 java/io/File:length ()J + // 87: iload_2 + // 88: i2l + // 89: lcmp + // 90: iflt +61 -> 151 + // 93: aload_0 + // 94: astore 4 + // 96: aload 5 + // 98: astore_3 + // 99: new 535 java/io/FileOutputStream + // 102: dup + // 103: aload 6 + // 105: iconst_0 + // 106: invokespecial 538 java/io/FileOutputStream: (Ljava/io/File;Z)V + // 109: astore_0 + // 110: aload_0 + // 111: astore 4 + // 113: aload_0 + // 114: astore_3 + // 115: aload_0 + // 116: aload_1 + // 117: ldc_w 540 + // 120: invokevirtual 543 java/lang/String:getBytes (Ljava/lang/String;)[B + // 123: invokevirtual 546 java/io/FileOutputStream:write ([B)V + // 126: aload_0 + // 127: astore 4 + // 129: aload_0 + // 130: astore_3 + // 131: aload_0 + // 132: invokevirtual 549 java/io/FileOutputStream:flush ()V + // 135: aload_0 + // 136: invokevirtual 550 java/io/FileOutputStream:close ()V + // 139: ldc_w 552 + // 142: iconst_0 + // 143: anewarray 4 java/lang/Object + // 146: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 149: pop + // 150: return + // 151: aload_0 + // 152: astore 4 + // 154: aload 5 + // 156: astore_3 + // 157: new 535 java/io/FileOutputStream + // 160: dup + // 161: aload 6 + // 163: iconst_1 + // 164: invokespecial 538 java/io/FileOutputStream: (Ljava/io/File;Z)V + // 167: astore_0 + // 168: goto -58 -> 110 + // 171: astore_0 + // 172: aload 4 + // 174: astore_3 + // 175: aload_0 + // 176: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 179: ifne +10 -> 189 + // 182: aload 4 + // 184: astore_3 + // 185: aload_0 + // 186: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 189: aload 4 + // 191: astore_3 + // 192: ldc_w 554 + // 195: iconst_0 + // 196: anewarray 4 java/lang/Object + // 199: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 202: pop + // 203: aload 4 + // 205: ifnull -66 -> 139 + // 208: aload 4 + // 210: invokevirtual 550 java/io/FileOutputStream:close ()V + // 213: goto -74 -> 139 + // 216: astore_0 + // 217: aload_0 + // 218: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 221: ifne -82 -> 139 + // 224: aload_0 + // 225: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 228: goto -89 -> 139 + // 231: astore_0 + // 232: aload_3 + // 233: ifnull +7 -> 240 + // 236: aload_3 + // 237: invokevirtual 550 java/io/FileOutputStream:close ()V + // 240: aload_0 + // 241: athrow + // Local variable table: + // start length slot name signature + // 0 242 0 paramString1 String + // 0 242 1 paramString2 String + // 0 242 2 paramInt int + // 81 156 3 localObject1 Object + // 77 132 4 str String + // 72 83 5 localObject2 Object + // 38 124 6 localFile java.io.File + // Exception table: + // from to target type + // 82 93 171 java/lang/Throwable + // 99 110 171 java/lang/Throwable + // 115 126 171 java/lang/Throwable + // 131 135 171 java/lang/Throwable + // 157 168 171 java/lang/Throwable + // 40 65 216 java/lang/Throwable + // 65 71 216 java/lang/Throwable + // 135 139 216 java/lang/Throwable + // 208 213 216 java/lang/Throwable + // 236 240 216 java/lang/Throwable + // 240 242 216 java/lang/Throwable + // 82 93 231 finally + // 99 110 231 finally + // 115 126 231 finally + // 131 135 231 finally + // 157 168 231 finally + // 175 182 231 finally + // 185 189 231 finally + // 192 203 231 finally + } + + private void a(ArrayList paramArrayList, Object paramObject) + { + if (paramObject.getClass().isArray()) + { + if (!paramObject.getClass().getComponentType().toString().equals("byte")) { + throw new IllegalArgumentException("only byte[] is supported"); + } + if (Array.getLength(paramObject) > 0) + { + paramArrayList.add("java.util.List"); + a(paramArrayList, Array.get(paramObject, 0)); + return; + } + paramArrayList.add("Array"); + paramArrayList.add("?"); + return; + } + if ((paramObject instanceof Array)) { + throw new IllegalArgumentException("can not support Array, please use List"); + } + if ((paramObject instanceof List)) + { + paramArrayList.add("java.util.List"); + paramObject = (List)paramObject; + if (paramObject.size() > 0) + { + a(paramArrayList, paramObject.get(0)); + return; + } + paramArrayList.add("?"); + return; + } + if ((paramObject instanceof Map)) + { + paramArrayList.add("java.util.Map"); + Object localObject = (Map)paramObject; + if (((Map)localObject).size() > 0) + { + paramObject = ((Map)localObject).keySet().iterator().next(); + localObject = ((Map)localObject).get(paramObject); + paramArrayList.add(paramObject.getClass().getName()); + a(paramArrayList, localObject); + return; + } + paramArrayList.add("?"); + paramArrayList.add("?"); + return; + } + paramArrayList.add(paramObject.getClass().getName()); + } + + /* Error */ + public static boolean a(Context paramContext, z paramz) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore 6 + // 6: aload_0 + // 7: ifnull +7 -> 14 + // 10: aload_1 + // 11: ifnonnull +16 -> 27 + // 14: ldc_w 601 + // 17: iconst_0 + // 18: anewarray 4 java/lang/Object + // 21: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 24: pop + // 25: iconst_0 + // 26: ireturn + // 27: new 171 com/tencent/feedback/proguard/n + // 30: dup + // 31: aload_0 + // 32: invokespecial 174 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 35: astore 4 + // 37: aload 4 + // 39: invokevirtual 178 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 42: astore_0 + // 43: aload_0 + // 44: ifnonnull +36 -> 80 + // 47: ldc_w 603 + // 50: iconst_0 + // 51: anewarray 4 java/lang/Object + // 54: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 57: pop + // 58: aload_0 + // 59: ifnull +14 -> 73 + // 62: aload_0 + // 63: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 66: ifeq +7 -> 73 + // 69: aload_0 + // 70: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 73: aload 4 + // 75: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 78: iconst_0 + // 79: ireturn + // 80: aload_1 + // 81: ifnonnull +62 -> 143 + // 84: aload 6 + // 86: astore 5 + // 88: aload 5 + // 90: ifnull +243 -> 333 + // 93: aload_0 + // 94: ldc 192 + // 96: ldc 242 + // 98: aload 5 + // 100: invokevirtual 607 android/database/sqlite/SQLiteDatabase:replace (Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J + // 103: lstore_2 + // 104: lload_2 + // 105: lconst_0 + // 106: lcmp + // 107: ifge +178 -> 285 + // 110: ldc_w 609 + // 113: iconst_0 + // 114: anewarray 4 java/lang/Object + // 117: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 120: pop + // 121: aload_0 + // 122: ifnull +14 -> 136 + // 125: aload_0 + // 126: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 129: ifeq +7 -> 136 + // 132: aload_0 + // 133: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 136: aload 4 + // 138: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 141: iconst_0 + // 142: ireturn + // 143: new 611 android/content/ContentValues + // 146: dup + // 147: invokespecial 612 android/content/ContentValues: ()V + // 150: astore 5 + // 152: aload_1 + // 153: invokevirtual 613 com/tencent/feedback/proguard/z:a ()J + // 156: lconst_0 + // 157: lcmp + // 158: iflt +17 -> 175 + // 161: aload 5 + // 163: ldc 242 + // 165: aload_1 + // 166: invokevirtual 613 com/tencent/feedback/proguard/z:a ()J + // 169: invokestatic 618 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 172: invokevirtual 622 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 175: aload 5 + // 177: ldc 202 + // 179: aload_1 + // 180: invokevirtual 233 com/tencent/feedback/proguard/z:b ()I + // 183: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 186: invokevirtual 625 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Integer;)V + // 189: aload 5 + // 191: ldc_w 265 + // 194: aload_1 + // 195: invokevirtual 627 com/tencent/feedback/proguard/z:c ()[B + // 198: invokevirtual 630 android/content/ContentValues:put (Ljava/lang/String;[B)V + // 201: aload 5 + // 203: ldc_w 261 + // 206: aload_1 + // 207: invokevirtual 632 com/tencent/feedback/proguard/z:d ()J + // 210: invokestatic 618 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 213: invokevirtual 622 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 216: goto -128 -> 88 + // 219: astore 5 + // 221: aload 4 + // 223: astore_1 + // 224: aload 5 + // 226: astore 4 + // 228: ldc_w 634 + // 231: iconst_1 + // 232: anewarray 4 java/lang/Object + // 235: dup + // 236: iconst_0 + // 237: aload 4 + // 239: invokevirtual 277 java/lang/Throwable:toString ()Ljava/lang/String; + // 242: aastore + // 243: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 246: pop + // 247: aload 4 + // 249: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 252: ifne +8 -> 260 + // 255: aload 4 + // 257: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 260: aload_0 + // 261: ifnull +14 -> 275 + // 264: aload_0 + // 265: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 268: ifeq +7 -> 275 + // 271: aload_0 + // 272: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 275: aload_1 + // 276: ifnull -251 -> 25 + // 279: aload_1 + // 280: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 283: iconst_0 + // 284: ireturn + // 285: aload_1 + // 286: lload_2 + // 287: invokevirtual 253 com/tencent/feedback/proguard/z:a (J)V + // 290: ldc_w 636 + // 293: iconst_1 + // 294: anewarray 4 java/lang/Object + // 297: dup + // 298: iconst_0 + // 299: aload_1 + // 300: invokevirtual 233 com/tencent/feedback/proguard/z:b ()I + // 303: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 306: aastore + // 307: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 310: pop + // 311: aload_0 + // 312: ifnull +14 -> 326 + // 315: aload_0 + // 316: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 319: ifeq +7 -> 326 + // 322: aload_0 + // 323: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 326: aload 4 + // 328: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 331: iconst_1 + // 332: ireturn + // 333: aload_0 + // 334: ifnull +14 -> 348 + // 337: aload_0 + // 338: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 341: ifeq +7 -> 348 + // 344: aload_0 + // 345: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 348: aload 4 + // 350: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 353: iconst_0 + // 354: ireturn + // 355: astore_1 + // 356: aconst_null + // 357: astore_0 + // 358: aconst_null + // 359: astore 4 + // 361: aload_0 + // 362: ifnull +14 -> 376 + // 365: aload_0 + // 366: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 369: ifeq +7 -> 376 + // 372: aload_0 + // 373: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 376: aload 4 + // 378: ifnull +8 -> 386 + // 381: aload 4 + // 383: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 386: aload_1 + // 387: athrow + // 388: astore_1 + // 389: aconst_null + // 390: astore_0 + // 391: goto -30 -> 361 + // 394: astore_1 + // 395: goto -34 -> 361 + // 398: astore 5 + // 400: aload_1 + // 401: astore 4 + // 403: aload 5 + // 405: astore_1 + // 406: goto -45 -> 361 + // 409: astore 4 + // 411: aconst_null + // 412: astore_0 + // 413: aload 5 + // 415: astore_1 + // 416: goto -188 -> 228 + // 419: astore 5 + // 421: aconst_null + // 422: astore_0 + // 423: aload 4 + // 425: astore_1 + // 426: aload 5 + // 428: astore 4 + // 430: goto -202 -> 228 + // Local variable table: + // start length slot name signature + // 0 433 0 paramContext Context + // 0 433 1 paramz z + // 103 184 2 l long + // 35 367 4 localObject1 Object + // 409 15 4 localThrowable1 Throwable + // 428 1 4 localThrowable2 Throwable + // 1 201 5 localObject2 Object + // 219 6 5 localThrowable3 Throwable + // 398 16 5 localObject3 Object + // 419 8 5 localThrowable4 Throwable + // 4 81 6 localObject4 Object + // Exception table: + // from to target type + // 47 58 219 java/lang/Throwable + // 93 104 219 java/lang/Throwable + // 110 121 219 java/lang/Throwable + // 143 175 219 java/lang/Throwable + // 175 216 219 java/lang/Throwable + // 285 311 219 java/lang/Throwable + // 27 37 355 finally + // 37 43 388 finally + // 47 58 394 finally + // 93 104 394 finally + // 110 121 394 finally + // 143 175 394 finally + // 175 216 394 finally + // 285 311 394 finally + // 228 260 398 finally + // 27 37 409 java/lang/Throwable + // 37 43 419 java/lang/Throwable + } + + /* Error */ + public static boolean a(java.io.File paramFile1, java.io.File paramFile2, int paramInt) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: ldc_w 639 + // 6: iconst_0 + // 7: anewarray 4 java/lang/Object + // 10: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 13: pop + // 14: aload_0 + // 15: ifnull +15 -> 30 + // 18: aload_1 + // 19: ifnull +11 -> 30 + // 22: aload_0 + // 23: aload_1 + // 24: invokevirtual 640 java/io/File:equals (Ljava/lang/Object;)Z + // 27: ifeq +16 -> 43 + // 30: ldc_w 642 + // 33: iconst_0 + // 34: anewarray 4 java/lang/Object + // 37: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 40: pop + // 41: iconst_0 + // 42: ireturn + // 43: aload_0 + // 44: invokevirtual 521 java/io/File:exists ()Z + // 47: ifeq +10 -> 57 + // 50: aload_0 + // 51: invokevirtual 645 java/io/File:canRead ()Z + // 54: ifne +16 -> 70 + // 57: ldc_w 647 + // 60: iconst_0 + // 61: anewarray 4 java/lang/Object + // 64: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 67: pop + // 68: iconst_0 + // 69: ireturn + // 70: aload_1 + // 71: invokevirtual 525 java/io/File:getParentFile ()Ljava/io/File; + // 74: ifnull +21 -> 95 + // 77: aload_1 + // 78: invokevirtual 525 java/io/File:getParentFile ()Ljava/io/File; + // 81: invokevirtual 521 java/io/File:exists ()Z + // 84: ifne +11 -> 95 + // 87: aload_1 + // 88: invokevirtual 525 java/io/File:getParentFile ()Ljava/io/File; + // 91: invokevirtual 528 java/io/File:mkdirs ()Z + // 94: pop + // 95: aload_1 + // 96: invokevirtual 521 java/io/File:exists ()Z + // 99: ifne +8 -> 107 + // 102: aload_1 + // 103: invokevirtual 531 java/io/File:createNewFile ()Z + // 106: pop + // 107: aload_1 + // 108: invokevirtual 521 java/io/File:exists ()Z + // 111: ifeq -70 -> 41 + // 114: aload_1 + // 115: invokevirtual 645 java/io/File:canRead ()Z + // 118: ifeq -77 -> 41 + // 121: new 649 java/io/FileInputStream + // 124: dup + // 125: aload_0 + // 126: invokespecial 652 java/io/FileInputStream: (Ljava/io/File;)V + // 129: astore_3 + // 130: new 654 java/util/zip/ZipOutputStream + // 133: dup + // 134: new 535 java/io/FileOutputStream + // 137: dup + // 138: aload_1 + // 139: invokespecial 655 java/io/FileOutputStream: (Ljava/io/File;)V + // 142: invokespecial 658 java/util/zip/ZipOutputStream: (Ljava/io/OutputStream;)V + // 145: astore 4 + // 147: aload 4 + // 149: bipush 8 + // 151: invokevirtual 661 java/util/zip/ZipOutputStream:setMethod (I)V + // 154: aload 4 + // 156: new 663 java/util/zip/ZipEntry + // 159: dup + // 160: aload_0 + // 161: invokevirtual 664 java/io/File:getName ()Ljava/lang/String; + // 164: invokespecial 665 java/util/zip/ZipEntry: (Ljava/lang/String;)V + // 167: invokevirtual 669 java/util/zip/ZipOutputStream:putNextEntry (Ljava/util/zip/ZipEntry;)V + // 170: sipush 5000 + // 173: newarray byte + // 175: astore_0 + // 176: aload_3 + // 177: aload_0 + // 178: invokevirtual 673 java/io/FileInputStream:read ([B)I + // 181: istore_2 + // 182: iload_2 + // 183: ifle +78 -> 261 + // 186: aload 4 + // 188: aload_0 + // 189: iconst_0 + // 190: iload_2 + // 191: invokevirtual 676 java/util/zip/ZipOutputStream:write ([BII)V + // 194: goto -18 -> 176 + // 197: astore 5 + // 199: aload_3 + // 200: astore_1 + // 201: aload 4 + // 203: astore_0 + // 204: aload 5 + // 206: astore_3 + // 207: aload_3 + // 208: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 211: ifne +7 -> 218 + // 214: aload_3 + // 215: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 218: aload_1 + // 219: ifnull +7 -> 226 + // 222: aload_1 + // 223: invokevirtual 677 java/io/FileInputStream:close ()V + // 226: aload_0 + // 227: ifnull +7 -> 234 + // 230: aload_0 + // 231: invokevirtual 678 java/util/zip/ZipOutputStream:close ()V + // 234: ldc_w 680 + // 237: iconst_0 + // 238: anewarray 4 java/lang/Object + // 241: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 244: pop + // 245: iconst_0 + // 246: ireturn + // 247: astore_0 + // 248: aload_0 + // 249: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 252: ifne -211 -> 41 + // 255: aload_0 + // 256: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 259: iconst_0 + // 260: ireturn + // 261: aload 4 + // 263: invokevirtual 681 java/util/zip/ZipOutputStream:flush ()V + // 266: aload 4 + // 268: invokevirtual 684 java/util/zip/ZipOutputStream:closeEntry ()V + // 271: aload_3 + // 272: invokevirtual 677 java/io/FileInputStream:close ()V + // 275: aload 4 + // 277: invokevirtual 678 java/util/zip/ZipOutputStream:close ()V + // 280: ldc_w 680 + // 283: iconst_0 + // 284: anewarray 4 java/lang/Object + // 287: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 290: pop + // 291: iconst_1 + // 292: ireturn + // 293: astore_0 + // 294: aload_0 + // 295: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 298: ifne -23 -> 275 + // 301: aload_0 + // 302: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 305: goto -30 -> 275 + // 308: astore_0 + // 309: aload_0 + // 310: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 313: ifne -33 -> 280 + // 316: aload_0 + // 317: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 320: goto -40 -> 280 + // 323: astore_1 + // 324: aload_1 + // 325: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 328: ifne -102 -> 226 + // 331: aload_1 + // 332: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 335: goto -109 -> 226 + // 338: astore_0 + // 339: aload_0 + // 340: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 343: ifne -109 -> 234 + // 346: aload_0 + // 347: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 350: goto -116 -> 234 + // 353: astore_1 + // 354: aconst_null + // 355: astore_0 + // 356: aconst_null + // 357: astore_3 + // 358: aload_3 + // 359: ifnull +7 -> 366 + // 362: aload_3 + // 363: invokevirtual 677 java/io/FileInputStream:close ()V + // 366: aload_0 + // 367: ifnull +7 -> 374 + // 370: aload_0 + // 371: invokevirtual 678 java/util/zip/ZipOutputStream:close ()V + // 374: ldc_w 680 + // 377: iconst_0 + // 378: anewarray 4 java/lang/Object + // 381: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 384: pop + // 385: aload_1 + // 386: athrow + // 387: astore_3 + // 388: aload_3 + // 389: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 392: ifne -26 -> 366 + // 395: aload_3 + // 396: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 399: goto -33 -> 366 + // 402: astore_0 + // 403: aload_0 + // 404: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 407: ifne -33 -> 374 + // 410: aload_0 + // 411: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 414: goto -40 -> 374 + // 417: astore_1 + // 418: aconst_null + // 419: astore_0 + // 420: goto -62 -> 358 + // 423: astore_1 + // 424: aload 4 + // 426: astore_0 + // 427: goto -69 -> 358 + // 430: astore 4 + // 432: aload_1 + // 433: astore_3 + // 434: aload 4 + // 436: astore_1 + // 437: goto -79 -> 358 + // 440: astore_3 + // 441: aconst_null + // 442: astore_0 + // 443: aload 4 + // 445: astore_1 + // 446: goto -239 -> 207 + // 449: astore 4 + // 451: aconst_null + // 452: astore_0 + // 453: aload_3 + // 454: astore_1 + // 455: aload 4 + // 457: astore_3 + // 458: goto -251 -> 207 + // Local variable table: + // start length slot name signature + // 0 461 0 paramFile1 java.io.File + // 0 461 1 paramFile2 java.io.File + // 0 461 2 paramInt int + // 129 234 3 localObject1 Object + // 387 9 3 localIOException java.io.IOException + // 433 1 3 localFile java.io.File + // 440 14 3 localThrowable1 Throwable + // 457 1 3 localThrowable2 Throwable + // 1 424 4 localZipOutputStream java.util.zip.ZipOutputStream + // 430 14 4 localObject2 Object + // 449 7 4 localThrowable3 Throwable + // 197 8 5 localThrowable4 Throwable + // Exception table: + // from to target type + // 147 176 197 java/lang/Throwable + // 176 182 197 java/lang/Throwable + // 186 194 197 java/lang/Throwable + // 261 271 197 java/lang/Throwable + // 70 95 247 java/lang/Throwable + // 95 107 247 java/lang/Throwable + // 271 275 293 java/io/IOException + // 275 280 308 java/io/IOException + // 222 226 323 java/io/IOException + // 230 234 338 java/io/IOException + // 121 130 353 finally + // 362 366 387 java/io/IOException + // 370 374 402 java/io/IOException + // 130 147 417 finally + // 147 176 423 finally + // 176 182 423 finally + // 186 194 423 finally + // 261 271 423 finally + // 207 218 430 finally + // 121 130 440 java/lang/Throwable + // 130 147 449 java/lang/Throwable + } + + /* Error */ + public static boolean a(String[] paramArrayOfString, com.tencent.feedback.eup.a parama) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +8 -> 9 + // 4: aload_0 + // 5: arraylength + // 6: ifgt +5 -> 11 + // 9: iconst_0 + // 10: ireturn + // 11: aconst_null + // 12: astore_3 + // 13: aconst_null + // 14: astore_2 + // 15: invokestatic 444 java/lang/Runtime:getRuntime ()Ljava/lang/Runtime; + // 18: aload_0 + // 19: invokevirtual 448 java/lang/Runtime:exec ([Ljava/lang/String;)Ljava/lang/Process; + // 22: astore_0 + // 23: aload_1 + // 24: ifnull +164 -> 188 + // 27: aload_0 + // 28: astore_2 + // 29: aload_0 + // 30: astore_3 + // 31: new 450 java/io/BufferedReader + // 34: dup + // 35: new 452 java/io/InputStreamReader + // 38: dup + // 39: aload_0 + // 40: invokevirtual 458 java/lang/Process:getInputStream ()Ljava/io/InputStream; + // 43: invokespecial 461 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 46: invokespecial 464 java/io/BufferedReader: (Ljava/io/Reader;)V + // 49: astore 4 + // 51: aload_0 + // 52: astore_2 + // 53: aload_0 + // 54: astore_3 + // 55: aload 4 + // 57: invokevirtual 467 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 60: astore 5 + // 62: aload 5 + // 64: ifnull +88 -> 152 + // 67: aload_0 + // 68: astore_2 + // 69: aload_0 + // 70: astore_3 + // 71: aload_1 + // 72: aload 5 + // 74: invokevirtual 688 com/tencent/feedback/eup/a:add (Ljava/lang/Object;)Z + // 77: pop + // 78: goto -27 -> 51 + // 81: astore_0 + // 82: aload_2 + // 83: astore_3 + // 84: aload_0 + // 85: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 88: ifne +9 -> 97 + // 91: aload_2 + // 92: astore_3 + // 93: aload_0 + // 94: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 97: aload_2 + // 98: astore_3 + // 99: aload_0 + // 100: invokevirtual 691 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 103: iconst_0 + // 104: anewarray 4 java/lang/Object + // 107: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 110: pop + // 111: aload_2 + // 112: ifnull -103 -> 9 + // 115: aload_2 + // 116: invokevirtual 695 java/lang/Process:getOutputStream ()Ljava/io/OutputStream; + // 119: invokevirtual 698 java/io/OutputStream:close ()V + // 122: aload_2 + // 123: invokevirtual 458 java/lang/Process:getInputStream ()Ljava/io/InputStream; + // 126: invokevirtual 701 java/io/InputStream:close ()V + // 129: aload_2 + // 130: invokevirtual 471 java/lang/Process:getErrorStream ()Ljava/io/InputStream; + // 133: invokevirtual 701 java/io/InputStream:close ()V + // 136: iconst_0 + // 137: ireturn + // 138: astore_0 + // 139: aload_0 + // 140: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 143: ifne -134 -> 9 + // 146: aload_0 + // 147: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 150: iconst_0 + // 151: ireturn + // 152: aload_0 + // 153: astore_2 + // 154: aload_0 + // 155: astore_3 + // 156: aload 4 + // 158: invokevirtual 468 java/io/BufferedReader:close ()V + // 161: aload_0 + // 162: ifnull +24 -> 186 + // 165: aload_0 + // 166: invokevirtual 695 java/lang/Process:getOutputStream ()Ljava/io/OutputStream; + // 169: invokevirtual 698 java/io/OutputStream:close ()V + // 172: aload_0 + // 173: invokevirtual 458 java/lang/Process:getInputStream ()Ljava/io/InputStream; + // 176: invokevirtual 701 java/io/InputStream:close ()V + // 179: aload_0 + // 180: invokevirtual 471 java/lang/Process:getErrorStream ()Ljava/io/InputStream; + // 183: invokevirtual 701 java/io/InputStream:close ()V + // 186: iconst_1 + // 187: ireturn + // 188: aload_0 + // 189: astore_2 + // 190: aload_0 + // 191: astore_3 + // 192: aload_0 + // 193: invokevirtual 704 java/lang/Process:waitFor ()I + // 196: pop + // 197: goto -36 -> 161 + // 200: astore_0 + // 201: aload_3 + // 202: ifnull +24 -> 226 + // 205: aload_3 + // 206: invokevirtual 695 java/lang/Process:getOutputStream ()Ljava/io/OutputStream; + // 209: invokevirtual 698 java/io/OutputStream:close ()V + // 212: aload_3 + // 213: invokevirtual 458 java/lang/Process:getInputStream ()Ljava/io/InputStream; + // 216: invokevirtual 701 java/io/InputStream:close ()V + // 219: aload_3 + // 220: invokevirtual 471 java/lang/Process:getErrorStream ()Ljava/io/InputStream; + // 223: invokevirtual 701 java/io/InputStream:close ()V + // 226: aload_0 + // 227: athrow + // 228: astore_1 + // 229: aload_1 + // 230: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 233: ifne -61 -> 172 + // 236: aload_1 + // 237: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 240: goto -68 -> 172 + // 243: astore_1 + // 244: aload_1 + // 245: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 248: ifne -69 -> 179 + // 251: aload_1 + // 252: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 255: goto -76 -> 179 + // 258: astore_0 + // 259: aload_0 + // 260: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 263: ifne -77 -> 186 + // 266: aload_0 + // 267: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 270: goto -84 -> 186 + // 273: astore_0 + // 274: aload_0 + // 275: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 278: ifne -156 -> 122 + // 281: aload_0 + // 282: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 285: goto -163 -> 122 + // 288: astore_0 + // 289: aload_0 + // 290: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 293: ifne -164 -> 129 + // 296: aload_0 + // 297: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 300: goto -171 -> 129 + // 303: astore_1 + // 304: aload_1 + // 305: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 308: ifne -96 -> 212 + // 311: aload_1 + // 312: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 315: goto -103 -> 212 + // 318: astore_1 + // 319: aload_1 + // 320: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 323: ifne -104 -> 219 + // 326: aload_1 + // 327: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 330: goto -111 -> 219 + // 333: astore_1 + // 334: aload_1 + // 335: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 338: ifne -112 -> 226 + // 341: aload_1 + // 342: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 345: goto -119 -> 226 + // Local variable table: + // start length slot name signature + // 0 348 0 paramArrayOfString String[] + // 0 348 1 parama com.tencent.feedback.eup.a + // 14 176 2 arrayOfString String[] + // 12 208 3 localObject Object + // 49 108 4 localBufferedReader java.io.BufferedReader + // 60 13 5 str String + // Exception table: + // from to target type + // 15 23 81 java/lang/Throwable + // 31 51 81 java/lang/Throwable + // 55 62 81 java/lang/Throwable + // 71 78 81 java/lang/Throwable + // 156 161 81 java/lang/Throwable + // 192 197 81 java/lang/Throwable + // 129 136 138 java/io/IOException + // 15 23 200 finally + // 31 51 200 finally + // 55 62 200 finally + // 71 78 200 finally + // 84 91 200 finally + // 93 97 200 finally + // 99 111 200 finally + // 156 161 200 finally + // 192 197 200 finally + // 165 172 228 java/io/IOException + // 172 179 243 java/io/IOException + // 179 186 258 java/io/IOException + // 115 122 273 java/io/IOException + // 122 129 288 java/io/IOException + // 205 212 303 java/io/IOException + // 212 219 318 java/io/IOException + // 219 226 333 java/io/IOException + } + + public static byte[] a(j paramj) + { + try + { + i locali = new i(); + locali.a("utf-8"); + paramj.a(locali); + paramj = locali.b(); + return paramj; + } + catch (Throwable paramj) + { + if (!e.b(paramj)) { + paramj.printStackTrace(); + } + } + return null; + } + + /* Error */ + public static byte[] a(Object paramObject) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: ldc_w 723 + // 6: iconst_0 + // 7: anewarray 4 java/lang/Object + // 10: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 13: pop + // 14: aload_0 + // 15: ifnull +13 -> 28 + // 18: ldc_w 725 + // 21: aload_0 + // 22: invokevirtual 728 java/lang/Class:isInstance (Ljava/lang/Object;)Z + // 25: ifne +19 -> 44 + // 28: ldc_w 730 + // 31: iconst_0 + // 32: anewarray 4 java/lang/Object + // 35: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 38: pop + // 39: aload 4 + // 41: astore_1 + // 42: aload_1 + // 43: areturn + // 44: new 732 java/io/ByteArrayOutputStream + // 47: dup + // 48: invokespecial 733 java/io/ByteArrayOutputStream: ()V + // 51: astore 5 + // 53: new 735 java/io/ObjectOutputStream + // 56: dup + // 57: aload 5 + // 59: invokespecial 736 java/io/ObjectOutputStream: (Ljava/io/OutputStream;)V + // 62: astore_2 + // 63: aload_2 + // 64: astore_1 + // 65: aload_2 + // 66: aload_0 + // 67: invokevirtual 740 java/io/ObjectOutputStream:writeObject (Ljava/lang/Object;)V + // 70: aload_2 + // 71: astore_1 + // 72: aload_2 + // 73: invokevirtual 741 java/io/ObjectOutputStream:flush ()V + // 76: aload_2 + // 77: astore_1 + // 78: aload 5 + // 80: invokevirtual 744 java/io/ByteArrayOutputStream:toByteArray ()[B + // 83: astore_0 + // 84: aload_2 + // 85: invokevirtual 745 java/io/ObjectOutputStream:close ()V + // 88: aload 5 + // 90: invokevirtual 746 java/io/ByteArrayOutputStream:close ()V + // 93: aload_0 + // 94: areturn + // 95: astore_2 + // 96: aload_0 + // 97: astore_1 + // 98: aload_2 + // 99: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 102: ifne -60 -> 42 + // 105: aload_2 + // 106: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 109: aload_0 + // 110: areturn + // 111: astore_1 + // 112: aload_1 + // 113: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 116: ifne -28 -> 88 + // 119: aload_1 + // 120: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 123: goto -35 -> 88 + // 126: astore_3 + // 127: aconst_null + // 128: astore_0 + // 129: aload_0 + // 130: astore_1 + // 131: aload_3 + // 132: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 135: ifne +9 -> 144 + // 138: aload_0 + // 139: astore_1 + // 140: aload_3 + // 141: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 144: aload_0 + // 145: astore_1 + // 146: aload_3 + // 147: invokevirtual 691 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 150: iconst_0 + // 151: anewarray 4 java/lang/Object + // 154: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 157: pop + // 158: aload_0 + // 159: ifnull +7 -> 166 + // 162: aload_0 + // 163: invokevirtual 745 java/io/ObjectOutputStream:close ()V + // 166: aload 5 + // 168: invokevirtual 746 java/io/ByteArrayOutputStream:close ()V + // 171: aconst_null + // 172: areturn + // 173: astore_0 + // 174: aload 4 + // 176: astore_1 + // 177: aload_0 + // 178: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 181: ifne -139 -> 42 + // 184: aload_0 + // 185: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 188: aconst_null + // 189: areturn + // 190: astore_0 + // 191: aload_0 + // 192: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 195: ifne -29 -> 166 + // 198: aload_0 + // 199: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 202: goto -36 -> 166 + // 205: astore_0 + // 206: aconst_null + // 207: astore_1 + // 208: aload_1 + // 209: ifnull +7 -> 216 + // 212: aload_1 + // 213: invokevirtual 745 java/io/ObjectOutputStream:close ()V + // 216: aload 5 + // 218: invokevirtual 746 java/io/ByteArrayOutputStream:close ()V + // 221: aload_0 + // 222: athrow + // 223: astore_1 + // 224: aload_1 + // 225: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 228: ifne -12 -> 216 + // 231: aload_1 + // 232: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 235: goto -19 -> 216 + // 238: astore_1 + // 239: aload_1 + // 240: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 243: ifne -22 -> 221 + // 246: aload_1 + // 247: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 250: goto -29 -> 221 + // 253: astore_0 + // 254: goto -46 -> 208 + // 257: astore_3 + // 258: aload_2 + // 259: astore_0 + // 260: goto -131 -> 129 + // Local variable table: + // start length slot name signature + // 0 263 0 paramObject Object + // 41 57 1 localObject1 Object + // 111 9 1 localIOException1 java.io.IOException + // 130 83 1 localObject2 Object + // 223 9 1 localIOException2 java.io.IOException + // 238 9 1 localIOException3 java.io.IOException + // 62 23 2 localObjectOutputStream java.io.ObjectOutputStream + // 95 164 2 localIOException4 java.io.IOException + // 126 21 3 localThrowable1 Throwable + // 257 1 3 localThrowable2 Throwable + // 1 174 4 localObject3 Object + // 51 166 5 localByteArrayOutputStream java.io.ByteArrayOutputStream + // Exception table: + // from to target type + // 88 93 95 java/io/IOException + // 84 88 111 java/io/IOException + // 53 63 126 java/lang/Throwable + // 166 171 173 java/io/IOException + // 162 166 190 java/io/IOException + // 53 63 205 finally + // 212 216 223 java/io/IOException + // 216 221 238 java/io/IOException + // 65 70 253 finally + // 72 76 253 finally + // 78 84 253 finally + // 131 138 253 finally + // 140 144 253 finally + // 146 158 253 finally + // 65 70 257 java/lang/Throwable + // 72 76 257 java/lang/Throwable + // 78 84 257 java/lang/Throwable + } + + /* Error */ + public static byte[] a(String paramString, int paramInt) + { + // Byte code: + // 0: new 290 java/lang/StringBuilder + // 3: dup + // 4: ldc_w 749 + // 7: invokespecial 295 java/lang/StringBuilder: (Ljava/lang/String;)V + // 10: iload_1 + // 11: invokevirtual 752 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 14: invokevirtual 300 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 17: iconst_0 + // 18: anewarray 4 java/lang/Object + // 21: invokestatic 754 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 24: pop + // 25: new 37 java/util/ArrayList + // 28: dup + // 29: invokespecial 429 java/util/ArrayList: ()V + // 32: astore_2 + // 33: aload_2 + // 34: invokevirtual 757 java/util/ArrayList:clear ()V + // 37: aload_2 + // 38: ldc_w 759 + // 41: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 44: pop + // 45: aload_2 + // 46: ldc_w 761 + // 49: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 52: pop + // 53: aload_2 + // 54: ldc_w 763 + // 57: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 60: pop + // 61: aload_2 + // 62: ldc_w 765 + // 65: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 68: pop + // 69: aload_0 + // 70: ifnull +24 -> 94 + // 73: aload_0 + // 74: invokevirtual 515 java/lang/String:length ()I + // 77: ifle +17 -> 94 + // 80: aload_2 + // 81: ldc_w 767 + // 84: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 87: pop + // 88: aload_2 + // 89: aload_0 + // 90: invokevirtual 60 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 93: pop + // 94: aload_2 + // 95: invokevirtual 64 java/util/ArrayList:size ()I + // 98: anewarray 137 java/lang/String + // 101: astore_3 + // 102: aload_2 + // 103: aload_3 + // 104: invokevirtual 771 java/util/ArrayList:toArray ([Ljava/lang/Object;)[Ljava/lang/Object; + // 107: pop + // 108: new 687 com/tencent/feedback/eup/a + // 111: dup + // 112: iload_1 + // 113: invokespecial 772 com/tencent/feedback/eup/a: (I)V + // 116: astore_0 + // 117: aload_3 + // 118: aload_0 + // 119: invokestatic 774 com/tencent/feedback/proguard/a:a ([Ljava/lang/String;Lcom/tencent/feedback/eup/a;)Z + // 122: pop + // 123: aload_0 + // 124: invokevirtual 775 com/tencent/feedback/eup/a:size ()I + // 127: ifgt +5 -> 132 + // 130: aconst_null + // 131: areturn + // 132: new 290 java/lang/StringBuilder + // 135: dup + // 136: ldc_w 777 + // 139: invokespecial 295 java/lang/StringBuilder: (Ljava/lang/String;)V + // 142: aload_0 + // 143: invokevirtual 775 com/tencent/feedback/eup/a:size ()I + // 146: invokevirtual 752 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 149: invokevirtual 300 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 152: iconst_0 + // 153: anewarray 4 java/lang/Object + // 156: invokestatic 754 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 159: pop + // 160: new 330 java/lang/StringBuffer + // 163: dup + // 164: invokespecial 333 java/lang/StringBuffer: ()V + // 167: astore_2 + // 168: aload_0 + // 169: invokevirtual 778 com/tencent/feedback/eup/a:iterator ()Ljava/util/Iterator; + // 172: astore_3 + // 173: aload_3 + // 174: invokeinterface 417 1 0 + // 179: ifeq +75 -> 254 + // 182: aload_2 + // 183: new 290 java/lang/StringBuilder + // 186: dup + // 187: invokespecial 402 java/lang/StringBuilder: ()V + // 190: aload_3 + // 191: invokeinterface 421 1 0 + // 196: checkcast 137 java/lang/String + // 199: invokevirtual 299 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 202: ldc_w 780 + // 205: invokevirtual 299 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 208: invokevirtual 300 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 211: invokevirtual 424 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 214: pop + // 215: goto -42 -> 173 + // 218: astore_0 + // 219: aload_0 + // 220: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 223: ifne +7 -> 230 + // 226: aload_0 + // 227: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 230: ldc_w 782 + // 233: iconst_0 + // 234: anewarray 4 java/lang/Object + // 237: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 240: pop + // 241: ldc_w 784 + // 244: iconst_0 + // 245: anewarray 4 java/lang/Object + // 248: invokestatic 754 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 251: pop + // 252: aconst_null + // 253: areturn + // 254: aload_0 + // 255: invokevirtual 785 com/tencent/feedback/eup/a:clear ()V + // 258: aload_2 + // 259: invokevirtual 331 java/lang/StringBuffer:toString ()Ljava/lang/String; + // 262: ldc_w 711 + // 265: invokevirtual 543 java/lang/String:getBytes (Ljava/lang/String;)[B + // 268: astore_0 + // 269: aload_2 + // 270: iconst_0 + // 271: invokevirtual 788 java/lang/StringBuffer:setLength (I)V + // 274: ldc_w 784 + // 277: iconst_0 + // 278: anewarray 4 java/lang/Object + // 281: invokestatic 754 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 284: pop + // 285: aload_0 + // 286: areturn + // 287: astore_0 + // 288: ldc_w 784 + // 291: iconst_0 + // 292: anewarray 4 java/lang/Object + // 295: invokestatic 754 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 298: pop + // 299: aload_0 + // 300: athrow + // Local variable table: + // start length slot name signature + // 0 301 0 paramString String + // 0 301 1 paramInt int + // 32 238 2 localObject1 Object + // 101 90 3 localObject2 Object + // Exception table: + // from to target type + // 160 173 218 java/lang/Throwable + // 173 215 218 java/lang/Throwable + // 254 274 218 java/lang/Throwable + // 160 173 287 finally + // 173 215 287 finally + // 219 230 287 finally + // 230 241 287 finally + // 254 274 287 finally + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt) + { + if ((paramArrayOfByte == null) || (paramInt == -1)) { + return paramArrayOfByte; + } + e.b("rqdp{ zp:} %s rqdp{ len:} %s", new Object[] { Integer.valueOf(paramInt), Integer.valueOf(paramArrayOfByte.length) }); + try + { + C localC = B.a(paramInt); + if (localC == null) { + return null; + } + paramArrayOfByte = localC.a(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + e.d("rqdp{ err zp :} %s", new Object[] { paramArrayOfByte.toString() }); + } + return null; + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, String paramString) + { + if (paramArrayOfByte == null) {} + do + { + return null; + try + { + paramArrayOfByte = a(a(paramArrayOfByte, paramInt1), paramInt2, paramString); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) {} + } while (e.a(paramArrayOfByte)); + paramArrayOfByte.printStackTrace(); + return null; + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt, String paramString) + { + if ((paramArrayOfByte == null) || (paramInt == -1)) { + return paramArrayOfByte; + } + e.b("rqdp{ enD:} %d %d", new Object[] { Integer.valueOf(paramArrayOfByte.length), Integer.valueOf(paramInt) }); + if (paramInt == 1) {} + Object localObject; + try + { + localObject = new G(); + } + catch (Throwable paramArrayOfByte) + { + if (e.a(paramArrayOfByte)) { + break label81; + } + paramArrayOfByte.printStackTrace(); + label81: + e.d("rqdp{ err enD: }%s", new Object[] { paramArrayOfByte.toString() }); + return null; + } + if (paramInt == 3) { + localObject = new F(); + } else { + localObject = null; + } + while (localObject != null) + { + ((H)localObject).a(paramString); + paramArrayOfByte = ((H)localObject).b(paramArrayOfByte); + return paramArrayOfByte; + } + return null; + } + + public static Long[] a(LinkedHashMap paramLinkedHashMap, long paramLong) + { + if ((paramLinkedHashMap == null) || (paramLinkedHashMap.size() <= 0) || (paramLong <= 0L)) { + return null; + } + ArrayList localArrayList = new ArrayList(); + Iterator localIterator = paramLinkedHashMap.keySet().iterator(); + long l1 = 0L; + if ((localIterator.hasNext()) && (l1 < paramLong)) + { + long l2 = ((Long)localIterator.next()).longValue(); + long l3 = ((Long)paramLinkedHashMap.get(Long.valueOf(l2))).longValue(); + if (l1 + l3 > paramLong) { + break label140; + } + localArrayList.add(Long.valueOf(l2)); + l1 += l3; + } + label140: + for (;;) + { + break; + if (localArrayList.size() > 0) { + return (Long[])localArrayList.toArray(new Long[1]); + } + return null; + } + } + + /* Error */ + public static int b(Context paramContext, int paramInt) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore_2 + // 5: aconst_null + // 6: astore 6 + // 8: aconst_null + // 9: astore_3 + // 10: aload_0 + // 11: ifnonnull +16 -> 27 + // 14: ldc_w 839 + // 17: iconst_0 + // 18: anewarray 4 java/lang/Object + // 21: invokestatic 75 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 24: pop + // 25: iconst_0 + // 26: ireturn + // 27: new 171 com/tencent/feedback/proguard/n + // 30: dup + // 31: aload_0 + // 32: invokespecial 174 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 35: astore 4 + // 37: aload_2 + // 38: astore_0 + // 39: aload 4 + // 41: astore_2 + // 42: aload 6 + // 44: astore_3 + // 45: aload 4 + // 47: invokevirtual 178 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 50: astore 5 + // 52: aload 5 + // 54: ifnonnull +48 -> 102 + // 57: aload 5 + // 59: astore_0 + // 60: aload 4 + // 62: astore_2 + // 63: aload 5 + // 65: astore_3 + // 66: ldc_w 603 + // 69: iconst_0 + // 70: anewarray 4 java/lang/Object + // 73: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 76: pop + // 77: aload 5 + // 79: ifnull +16 -> 95 + // 82: aload 5 + // 84: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 87: ifeq +8 -> 95 + // 90: aload 5 + // 92: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 95: aload 4 + // 97: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 100: iconst_0 + // 101: ireturn + // 102: aload 5 + // 104: astore_0 + // 105: aload 4 + // 107: astore_2 + // 108: aload 5 + // 110: astore_3 + // 111: aload 5 + // 113: ldc 192 + // 115: ldc_w 841 + // 118: iconst_2 + // 119: anewarray 4 java/lang/Object + // 122: dup + // 123: iconst_0 + // 124: ldc 202 + // 126: aastore + // 127: dup + // 128: iconst_1 + // 129: sipush 510 + // 132: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 135: aastore + // 136: invokestatic 844 java/lang/String:format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; + // 139: aconst_null + // 140: invokevirtual 848 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 143: istore_1 + // 144: aload 5 + // 146: astore_0 + // 147: aload 4 + // 149: astore_2 + // 150: aload 5 + // 152: astore_3 + // 153: ldc_w 850 + // 156: iconst_2 + // 157: anewarray 4 java/lang/Object + // 160: dup + // 161: iconst_0 + // 162: sipush 510 + // 165: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 168: aastore + // 169: dup + // 170: iconst_1 + // 171: iload_1 + // 172: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 175: aastore + // 176: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 179: pop + // 180: aload 5 + // 182: ifnull +16 -> 198 + // 185: aload 5 + // 187: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 190: ifeq +8 -> 198 + // 193: aload 5 + // 195: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 198: aload 4 + // 200: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 203: iload_1 + // 204: ireturn + // 205: astore 5 + // 207: aconst_null + // 208: astore 4 + // 210: aload_3 + // 211: astore_0 + // 212: aload 4 + // 214: astore_2 + // 215: aload 5 + // 217: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 220: ifne +13 -> 233 + // 223: aload_3 + // 224: astore_0 + // 225: aload 4 + // 227: astore_2 + // 228: aload 5 + // 230: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 233: aload_3 + // 234: astore_0 + // 235: aload 4 + // 237: astore_2 + // 238: ldc_w 852 + // 241: iconst_1 + // 242: anewarray 4 java/lang/Object + // 245: dup + // 246: iconst_0 + // 247: aload 5 + // 249: invokevirtual 277 java/lang/Throwable:toString ()Ljava/lang/String; + // 252: aastore + // 253: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 256: pop + // 257: aload_3 + // 258: ifnull +14 -> 272 + // 261: aload_3 + // 262: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 265: ifeq +7 -> 272 + // 268: aload_3 + // 269: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 272: aload 4 + // 274: ifnull -249 -> 25 + // 277: aload 4 + // 279: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 282: iconst_0 + // 283: ireturn + // 284: astore_3 + // 285: aconst_null + // 286: astore_2 + // 287: aload 5 + // 289: astore_0 + // 290: aload_0 + // 291: ifnull +14 -> 305 + // 294: aload_0 + // 295: invokevirtual 186 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 298: ifeq +7 -> 305 + // 301: aload_0 + // 302: invokevirtual 189 android/database/sqlite/SQLiteDatabase:close ()V + // 305: aload_2 + // 306: ifnull +7 -> 313 + // 309: aload_2 + // 310: invokevirtual 190 com/tencent/feedback/proguard/n:close ()V + // 313: aload_3 + // 314: athrow + // 315: astore_3 + // 316: goto -26 -> 290 + // 319: astore 5 + // 321: goto -111 -> 210 + // Local variable table: + // start length slot name signature + // 0 324 0 paramContext Context + // 0 324 1 paramInt int + // 4 306 2 localObject1 Object + // 9 260 3 localObject2 Object + // 284 30 3 localObject3 Object + // 315 1 3 localObject4 Object + // 35 243 4 localn n + // 1 193 5 localSQLiteDatabase android.database.sqlite.SQLiteDatabase + // 205 83 5 localThrowable1 Throwable + // 319 1 5 localThrowable2 Throwable + // 6 37 6 localObject5 Object + // Exception table: + // from to target type + // 27 37 205 java/lang/Throwable + // 27 37 284 finally + // 45 52 315 finally + // 66 77 315 finally + // 111 144 315 finally + // 153 180 315 finally + // 215 223 315 finally + // 228 233 315 finally + // 238 257 315 finally + // 45 52 319 java/lang/Throwable + // 66 77 319 java/lang/Throwable + // 111 144 319 java/lang/Throwable + // 153 180 319 java/lang/Throwable + } + + public static int b(Context paramContext, p[] paramArrayOfp) + { + int j = 0; + int i; + if (paramContext == null) { + i = -1; + } + ArrayList localArrayList; + do + { + return i; + if (paramArrayOfp == null) { + return l.a(paramContext, new int[] { 7 }, -1L, 9223372036854775807L); + } + localArrayList = new ArrayList(); + int k = paramArrayOfp.length; + i = 0; + while (i < k) + { + p localp = paramArrayOfp[i]; + if (localp.a() >= 0L) { + localArrayList.add(Long.valueOf(localp.a())); + } + i += 1; + } + i = j; + } while (localArrayList.size() <= 0); + return l.a(paramContext, (Long[])localArrayList.toArray(new Long[0])); + } + + public static int b(Context paramContext, q[] paramArrayOfq) + { + int j = 0; + if ((paramContext != null) && (paramArrayOfq != null)) {} + for (;;) + { + try + { + if (paramArrayOfq.length <= 0) + { + e.c("rqdp{ args error}", new Object[0]); + i = j; + return i; + } + ArrayList localArrayList = new ArrayList(paramArrayOfq.length); + int k = paramArrayOfq.length; + int i = 0; + if (i < k) + { + q localq = paramArrayOfq[i]; + if (localq.d() >= 0L) { + localArrayList.add(Long.valueOf(localq.d())); + } + } + else + { + i = j; + if (localArrayList.size() <= 0) { + continue; + } + i = l.a(paramContext, (Long[])localArrayList.toArray(new Long[0])); + continue; + } + i += 1; + } + finally {} + } + } + + /* Error */ + public static Object b(byte[] paramArrayOfByte) + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: ldc_w 862 + // 5: iconst_0 + // 6: anewarray 4 java/lang/Object + // 9: invokestatic 95 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 12: pop + // 13: aload_3 + // 14: astore_1 + // 15: aload_0 + // 16: ifnull +10 -> 26 + // 19: aload_0 + // 20: arraylength + // 21: ifge +7 -> 28 + // 24: aload_3 + // 25: astore_1 + // 26: aload_1 + // 27: areturn + // 28: new 864 java/io/ByteArrayInputStream + // 31: dup + // 32: aload_0 + // 33: invokespecial 866 java/io/ByteArrayInputStream: ([B)V + // 36: astore 4 + // 38: new 868 java/io/ObjectInputStream + // 41: dup + // 42: aload 4 + // 44: invokespecial 869 java/io/ObjectInputStream: (Ljava/io/InputStream;)V + // 47: astore_1 + // 48: aload_1 + // 49: astore_0 + // 50: aload_1 + // 51: invokevirtual 872 java/io/ObjectInputStream:readObject ()Ljava/lang/Object; + // 54: astore_2 + // 55: aload_2 + // 56: astore_0 + // 57: aload_1 + // 58: invokevirtual 873 java/io/ObjectInputStream:close ()V + // 61: aload 4 + // 63: invokevirtual 874 java/io/ByteArrayInputStream:close ()V + // 66: aload_0 + // 67: areturn + // 68: astore_2 + // 69: aload_0 + // 70: astore_1 + // 71: aload_2 + // 72: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 75: ifne -49 -> 26 + // 78: aload_2 + // 79: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 82: aload_0 + // 83: areturn + // 84: astore_1 + // 85: aload_1 + // 86: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 89: ifne -28 -> 61 + // 92: aload_1 + // 93: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 96: goto -35 -> 61 + // 99: astore_2 + // 100: aconst_null + // 101: astore_1 + // 102: aload_1 + // 103: astore_0 + // 104: aload_2 + // 105: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 108: ifne +9 -> 117 + // 111: aload_1 + // 112: astore_0 + // 113: aload_2 + // 114: invokevirtual 166 java/lang/Throwable:printStackTrace ()V + // 117: aload_1 + // 118: astore_0 + // 119: aload_2 + // 120: invokevirtual 691 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 123: iconst_0 + // 124: anewarray 4 java/lang/Object + // 127: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 130: pop + // 131: aload_1 + // 132: ifnull +7 -> 139 + // 135: aload_1 + // 136: invokevirtual 873 java/io/ObjectInputStream:close ()V + // 139: aload 4 + // 141: invokevirtual 874 java/io/ByteArrayInputStream:close ()V + // 144: aconst_null + // 145: areturn + // 146: astore_0 + // 147: aload_3 + // 148: astore_1 + // 149: aload_0 + // 150: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 153: ifne -127 -> 26 + // 156: aload_0 + // 157: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 160: aconst_null + // 161: areturn + // 162: astore_0 + // 163: aload_0 + // 164: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 167: ifne -28 -> 139 + // 170: aload_0 + // 171: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 174: goto -35 -> 139 + // 177: astore_1 + // 178: aconst_null + // 179: astore_0 + // 180: aload_0 + // 181: ifnull +7 -> 188 + // 184: aload_0 + // 185: invokevirtual 873 java/io/ObjectInputStream:close ()V + // 188: aload 4 + // 190: invokevirtual 874 java/io/ByteArrayInputStream:close ()V + // 193: aload_1 + // 194: athrow + // 195: astore_0 + // 196: aload_0 + // 197: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 200: ifne -12 -> 188 + // 203: aload_0 + // 204: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 207: goto -19 -> 188 + // 210: astore_0 + // 211: aload_0 + // 212: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 215: ifne -22 -> 193 + // 218: aload_0 + // 219: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 222: goto -29 -> 193 + // 225: astore_1 + // 226: goto -46 -> 180 + // 229: astore_2 + // 230: goto -128 -> 102 + // Local variable table: + // start length slot name signature + // 0 233 0 paramArrayOfByte byte[] + // 14 57 1 localObject1 Object + // 84 9 1 localIOException1 java.io.IOException + // 101 48 1 localObject2 Object + // 177 17 1 localObject3 Object + // 225 1 1 localObject4 Object + // 54 2 2 localObject5 Object + // 68 11 2 localIOException2 java.io.IOException + // 99 21 2 localThrowable1 Throwable + // 229 1 2 localThrowable2 Throwable + // 1 147 3 localObject6 Object + // 36 153 4 localByteArrayInputStream java.io.ByteArrayInputStream + // Exception table: + // from to target type + // 61 66 68 java/io/IOException + // 57 61 84 java/io/IOException + // 38 48 99 java/lang/Throwable + // 139 144 146 java/io/IOException + // 135 139 162 java/io/IOException + // 38 48 177 finally + // 184 188 195 java/io/IOException + // 188 193 210 java/io/IOException + // 50 55 225 finally + // 104 111 225 finally + // 113 117 225 finally + // 119 131 225 finally + // 50 55 229 java/lang/Throwable + } + + /* Error */ + public static String b(String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: aload 4 + // 5: astore_3 + // 6: aload_0 + // 7: ifnull +13 -> 20 + // 10: aload_0 + // 11: invokevirtual 515 java/lang/String:length ()I + // 14: ifne +8 -> 22 + // 17: aload 4 + // 19: astore_3 + // 20: aload_3 + // 21: areturn + // 22: new 517 java/io/File + // 25: dup + // 26: aload_0 + // 27: invokespecial 518 java/io/File: (Ljava/lang/String;)V + // 30: astore_0 + // 31: aload 4 + // 33: astore_3 + // 34: aload_0 + // 35: invokevirtual 521 java/io/File:exists ()Z + // 38: ifeq -18 -> 20 + // 41: aload 4 + // 43: astore_3 + // 44: aload_0 + // 45: invokevirtual 645 java/io/File:canRead ()Z + // 48: ifeq -28 -> 20 + // 51: new 649 java/io/FileInputStream + // 54: dup + // 55: aload_0 + // 56: invokespecial 652 java/io/FileInputStream: (Ljava/io/File;)V + // 59: astore_2 + // 60: aload_2 + // 61: astore_0 + // 62: ldc_w 879 + // 65: invokestatic 885 java/security/MessageDigest:getInstance (Ljava/lang/String;)Ljava/security/MessageDigest; + // 68: astore_3 + // 69: aload_2 + // 70: astore_0 + // 71: sipush 4096 + // 74: newarray byte + // 76: astore 5 + // 78: aload_2 + // 79: astore_0 + // 80: aload_2 + // 81: aload 5 + // 83: invokevirtual 673 java/io/FileInputStream:read ([B)I + // 86: istore_1 + // 87: iload_1 + // 88: iconst_m1 + // 89: if_icmpeq +76 -> 165 + // 92: aload_2 + // 93: astore_0 + // 94: aload_3 + // 95: aload 5 + // 97: iconst_0 + // 98: iload_1 + // 99: invokevirtual 888 java/security/MessageDigest:update ([BII)V + // 102: goto -24 -> 78 + // 105: astore_3 + // 106: aload_2 + // 107: astore_0 + // 108: aload_3 + // 109: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 112: ifne +9 -> 121 + // 115: aload_2 + // 116: astore_0 + // 117: aload_3 + // 118: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 121: aload_2 + // 122: astore_0 + // 123: aload_3 + // 124: invokevirtual 889 java/io/IOException:getMessage ()Ljava/lang/String; + // 127: iconst_0 + // 128: anewarray 4 java/lang/Object + // 131: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 134: pop + // 135: aload 4 + // 137: astore_3 + // 138: aload_2 + // 139: ifnull -119 -> 20 + // 142: aload_2 + // 143: invokevirtual 677 java/io/FileInputStream:close ()V + // 146: aconst_null + // 147: areturn + // 148: astore_0 + // 149: aload 4 + // 151: astore_3 + // 152: aload_0 + // 153: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 156: ifne -136 -> 20 + // 159: aload_0 + // 160: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 163: aconst_null + // 164: areturn + // 165: aload_2 + // 166: astore_0 + // 167: aload_3 + // 168: invokevirtual 892 java/security/MessageDigest:digest ()[B + // 171: invokestatic 895 com/tencent/feedback/proguard/a:e ([B)Ljava/lang/String; + // 174: astore_3 + // 175: aload_3 + // 176: astore_0 + // 177: aload_2 + // 178: invokevirtual 677 java/io/FileInputStream:close ()V + // 181: aload_0 + // 182: areturn + // 183: astore_2 + // 184: aload_0 + // 185: astore_3 + // 186: aload_2 + // 187: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 190: ifne -170 -> 20 + // 193: aload_2 + // 194: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 197: aload_0 + // 198: areturn + // 199: astore_3 + // 200: aconst_null + // 201: astore_2 + // 202: aload_2 + // 203: astore_0 + // 204: aload_3 + // 205: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 208: ifne +9 -> 217 + // 211: aload_2 + // 212: astore_0 + // 213: aload_3 + // 214: invokevirtual 896 java/security/NoSuchAlgorithmException:printStackTrace ()V + // 217: aload_2 + // 218: astore_0 + // 219: aload_3 + // 220: invokevirtual 897 java/security/NoSuchAlgorithmException:getMessage ()Ljava/lang/String; + // 223: iconst_0 + // 224: anewarray 4 java/lang/Object + // 227: invokestatic 99 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 230: pop + // 231: aload 4 + // 233: astore_3 + // 234: aload_2 + // 235: ifnull -215 -> 20 + // 238: aload_2 + // 239: invokevirtual 677 java/io/FileInputStream:close ()V + // 242: aconst_null + // 243: areturn + // 244: astore_0 + // 245: aload 4 + // 247: astore_3 + // 248: aload_0 + // 249: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 252: ifne -232 -> 20 + // 255: aload_0 + // 256: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 259: aconst_null + // 260: areturn + // 261: astore_2 + // 262: aconst_null + // 263: astore_0 + // 264: aload_0 + // 265: ifnull +7 -> 272 + // 268: aload_0 + // 269: invokevirtual 677 java/io/FileInputStream:close ()V + // 272: aload_2 + // 273: athrow + // 274: astore_0 + // 275: aload_0 + // 276: invokestatic 163 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 279: ifne -7 -> 272 + // 282: aload_0 + // 283: invokevirtual 472 java/io/IOException:printStackTrace ()V + // 286: goto -14 -> 272 + // 289: astore_2 + // 290: goto -26 -> 264 + // 293: astore_3 + // 294: goto -92 -> 202 + // 297: astore_3 + // 298: aconst_null + // 299: astore_2 + // 300: goto -194 -> 106 + // Local variable table: + // start length slot name signature + // 0 303 0 paramString String + // 86 13 1 i int + // 59 119 2 localFileInputStream java.io.FileInputStream + // 183 11 2 localIOException1 java.io.IOException + // 201 38 2 localObject1 Object + // 261 12 2 localObject2 Object + // 289 1 2 localObject3 Object + // 299 1 2 localObject4 Object + // 5 90 3 localObject5 Object + // 105 19 3 localIOException2 java.io.IOException + // 137 49 3 localObject6 Object + // 199 21 3 localNoSuchAlgorithmException1 NoSuchAlgorithmException + // 233 15 3 localObject7 Object + // 293 1 3 localNoSuchAlgorithmException2 NoSuchAlgorithmException + // 297 1 3 localIOException3 java.io.IOException + // 1 245 4 localObject8 Object + // 76 20 5 arrayOfByte byte[] + // Exception table: + // from to target type + // 62 69 105 java/io/IOException + // 71 78 105 java/io/IOException + // 80 87 105 java/io/IOException + // 94 102 105 java/io/IOException + // 167 175 105 java/io/IOException + // 142 146 148 java/io/IOException + // 177 181 183 java/io/IOException + // 51 60 199 java/security/NoSuchAlgorithmException + // 238 242 244 java/io/IOException + // 51 60 261 finally + // 268 272 274 java/io/IOException + // 62 69 289 finally + // 71 78 289 finally + // 80 87 289 finally + // 94 102 289 finally + // 108 115 289 finally + // 117 121 289 finally + // 123 135 289 finally + // 167 175 289 finally + // 204 211 289 finally + // 213 217 289 finally + // 219 231 289 finally + // 62 69 293 java/security/NoSuchAlgorithmException + // 71 78 293 java/security/NoSuchAlgorithmException + // 80 87 293 java/security/NoSuchAlgorithmException + // 94 102 293 java/security/NoSuchAlgorithmException + // 167 175 293 java/security/NoSuchAlgorithmException + // 51 60 297 java/io/IOException + } + + public static Map b() + { + Object localObject = Thread.getAllStackTraces(); + HashMap localHashMap; + if (localObject != null) + { + localHashMap = new HashMap(); + StringBuilder localStringBuilder = new StringBuilder(); + try + { + localObject = ((Map)localObject).entrySet().iterator(); + for (;;) + { + if (((Iterator)localObject).hasNext()) + { + Map.Entry localEntry = (Map.Entry)((Iterator)localObject).next(); + localStringBuilder.setLength(0); + try + { + StackTraceElement[] arrayOfStackTraceElement = (StackTraceElement[])localEntry.getValue(); + int j = arrayOfStackTraceElement.length; + int i = 0; + while (i < j) + { + localStringBuilder.append(arrayOfStackTraceElement[i].toString()).append("\n"); + i += 1; + } + } + catch (Throwable localThrowable2) + { + e.d("add frame error %s", new Object[] { localThrowable2.getClass().getName() + ":" + localThrowable2.getMessage() }); + localHashMap.put(((Thread)localEntry.getKey()).getName(), localStringBuilder.toString()); + } + } + } + return localHashMap; + } + catch (Throwable localThrowable1) + { + e.d("add all thread error", new Object[0]); + if (!e.a(localThrowable1)) { + localThrowable1.printStackTrace(); + } + } + } + return null; + } + + public static byte[] b(byte[] paramArrayOfByte, int paramInt) + { + if ((paramArrayOfByte == null) || (paramInt == -1)) { + return paramArrayOfByte; + } + e.b("rqdp{ unzp:} %s rqdp{ len:} %s", new Object[] { Integer.valueOf(paramInt), Integer.valueOf(paramArrayOfByte.length) }); + try + { + C localC = B.a(paramInt); + if (localC == null) { + return null; + } + paramArrayOfByte = localC.b(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + e.d("rqdp{ err unzp}" + paramArrayOfByte.toString(), new Object[0]); + } + return null; + } + + public static byte[] b(byte[] paramArrayOfByte, int paramInt1, int paramInt2, String paramString) + { + try + { + paramArrayOfByte = b(b(paramArrayOfByte, 1, paramString), 2); + return paramArrayOfByte; + } + catch (Exception paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + } + return null; + } + + public static byte[] b(byte[] paramArrayOfByte, int paramInt, String paramString) + { + if ((paramArrayOfByte == null) || (paramInt == -1)) { + return paramArrayOfByte; + } + if (paramInt == 1) {} + Object localObject; + try + { + localObject = new G(); + } + catch (Throwable paramArrayOfByte) + { + if (e.a(paramArrayOfByte)) { + break label55; + } + paramArrayOfByte.printStackTrace(); + label55: + e.d("rqdp{ err unD:} %s", new Object[] { paramArrayOfByte.toString() }); + return null; + } + if (paramInt == 3) { + localObject = new F(); + } else { + localObject = null; + } + while (localObject != null) + { + ((H)localObject).a(paramString); + paramArrayOfByte = ((H)localObject).a(paramArrayOfByte); + return paramArrayOfByte; + } + return null; + } + + public static q[] b(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null)) {} + for (;;) + { + try + { + e.c("rqdp{ args error}", new Object[0]); + paramContext = null; + return paramContext; + } + finally {} + paramString = l.a(paramContext, new int[] { 9 }, -1, -1, 10000L, -1, paramString, -1, -1, -1, -1, -1L, 9223372036854775807L); + if ((paramString != null) && (paramString.size() > 0)) + { + paramContext = new ArrayList(paramString.size()); + paramString = paramString.iterator(); + if (paramString.hasNext()) + { + l locall = (l)paramString.next(); + Object localObject = b(locall.b()); + if ((localObject != null) && (q.class.isInstance(localObject))) + { + localObject = (q)q.class.cast(localObject); + ((q)localObject).b(locall.a()); + paramContext.add(localObject); + } + } + else if (paramContext.size() > 0) + { + paramContext = (q[])paramContext.toArray(new q[0]); + } + else + { + paramContext = null; + } + } + else + { + paramContext = null; + } + } + } + + public static int c(Context paramContext, String paramString) + { + int i = 0; + if ((paramContext == null) || (paramString == null)) {} + for (;;) + { + try + { + e.c("rqdp{ args error}", new Object[0]); + return i; + } + finally {} + i = l.a(paramContext, new int[] { 9 }, -1L, 9223372036854775807L, paramString); + } + } + + public static long c() + { + try + { + SimpleDateFormat localSimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.US); + long l = localSimpleDateFormat.parse(localSimpleDateFormat.format(new Date())).getTime(); + return l; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return -1L; + } + + public static String c(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return "NULL"; + } + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance("SHA-1"); + localMessageDigest.update(paramArrayOfByte); + paramArrayOfByte = e(localMessageDigest.digest()); + return paramArrayOfByte; + } + catch (NoSuchAlgorithmException paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + e.d(paramArrayOfByte.getMessage(), new Object[0]); + } + return null; + } + + public static Q d(byte[] paramArrayOfByte) + { + try + { + Q localQ = new Q(); + paramArrayOfByte = new h(paramArrayOfByte); + paramArrayOfByte.a("utf-8"); + localQ.a(paramArrayOfByte); + return localQ; + } + catch (Throwable paramArrayOfByte) + { + if (!e.b(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + } + return null; + } + + public static String d() + { + try + { + String str = UUID.randomUUID().toString(); + return str; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return null; + } + + private static String e(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return ""; + } + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < paramArrayOfByte.length) + { + String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF); + if (str.length() == 1) { + localStringBuffer.append("0"); + } + localStringBuffer.append(str); + i += 1; + } + return localStringBuffer.toString().toUpperCase(); + } + + public void a(String paramString) + { + this.b = paramString; + } + + public void a(String paramString, T paramT) + { + if (paramString == null) { + throw new IllegalArgumentException("put key can not is null"); + } + if (paramT == null) { + throw new IllegalArgumentException("put value can not is null"); + } + if ((paramT instanceof Set)) { + throw new IllegalArgumentException("can not support Set"); + } + Object localObject = new i(); + ((i)localObject).a(this.b); + ((i)localObject).a(paramT, 0); + localObject = k.a(((i)localObject).a()); + HashMap localHashMap = new HashMap(1); + ArrayList localArrayList = new ArrayList(1); + a(localArrayList, paramT); + localHashMap.put(a(localArrayList), localObject); + this.d.remove(paramString); + this.a.put(paramString, localHashMap); + } + + public void a(byte[] paramArrayOfByte) + { + this.c.a(paramArrayOfByte); + this.c.a(this.b); + paramArrayOfByte = new HashMap(1); + HashMap localHashMap = new HashMap(1); + localHashMap.put("", new byte[0]); + paramArrayOfByte.put("", localHashMap); + this.a = this.c.a(paramArrayOfByte, 0, false); + } + + public byte[] a() + { + i locali = new i(0); + locali.a(this.b); + locali.a(this.a, 0); + return k.a(locali.a()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/b_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/b_1.java new file mode 100755 index 00000000000..ec5b0fbde52 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/b_1.java @@ -0,0 +1,21 @@ +package com.tencent.feedback.proguard; + +public class b + extends RuntimeException +{ + public b(Exception paramException) + { + super(paramException); + } + + public b(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/c_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/c_1.java new file mode 100755 index 00000000000..70eea3784e8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/c_1.java @@ -0,0 +1,135 @@ +package com.tencent.feedback.proguard; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Set; + +public class c + extends a +{ + protected HashMap d = null; + private HashMap e = new HashMap(); + private h f = new h(); + + public void a(String paramString, T paramT) + { + if (this.d != null) + { + if (paramString == null) { + throw new IllegalArgumentException("put key can not is null"); + } + if (paramT == null) { + throw new IllegalArgumentException("put value can not is null"); + } + if ((paramT instanceof Set)) { + throw new IllegalArgumentException("can not support Set"); + } + i locali = new i(); + locali.a(this.b); + locali.a(paramT, 0); + paramT = k.a(locali.a()); + this.d.put(paramString, paramT); + return; + } + super.a(paramString, paramT); + } + + public void a(byte[] paramArrayOfByte) + { + try + { + super.a(paramArrayOfByte); + return; + } + catch (Exception localException) + { + this.f.a(paramArrayOfByte); + this.f.a(this.b); + paramArrayOfByte = new HashMap(1); + paramArrayOfByte.put("", new byte[0]); + this.d = this.f.a(paramArrayOfByte, 0, false); + } + } + + public byte[] a() + { + if (this.d != null) + { + i locali = new i(0); + locali.a(this.b); + locali.a(this.d, 0); + return k.a(locali.a()); + } + return super.a(); + } + + public final T b(String paramString, T paramT) + throws b + { + Object localObject = null; + if (this.d != null) { + if (this.d.containsKey(paramString)) {} + } + while (!this.a.containsKey(paramString)) { + for (;;) + { + return localObject; + if (this.e.containsKey(paramString)) { + return this.e.get(paramString); + } + localObject = (byte[])this.d.get(paramString); + try + { + this.f.a((byte[])localObject); + this.f.a(this.b); + paramT = this.f.a(paramT, 0, true); + localObject = paramT; + if (paramT != null) + { + this.e.put(paramString, paramT); + return paramT; + } + } + catch (Exception paramString) + { + throw new b(paramString); + } + } + } + if (this.e.containsKey(paramString)) { + return this.e.get(paramString); + } + localObject = ((HashMap)this.a.get(paramString)).entrySet().iterator(); + if (((Iterator)localObject).hasNext()) + { + localObject = (Map.Entry)((Iterator)localObject).next(); + ((Map.Entry)localObject).getKey(); + } + for (localObject = (byte[])((Map.Entry)localObject).getValue();; localObject = new byte[0]) { + try + { + this.f.a((byte[])localObject); + this.f.a(this.b); + paramT = this.f.a(paramT, 0, true); + this.e.put(paramString, paramT); + return paramT; + } + catch (Exception paramString) + { + throw new b(paramString); + } + } + } + + public void e() + { + this.d = new HashMap(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/d_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/d_1.java new file mode 100755 index 00000000000..0774c8ee8da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/d_1.java @@ -0,0 +1,135 @@ +package com.tencent.feedback.proguard; + +import java.nio.ByteBuffer; +import java.util.HashMap; + +public final class d + extends c +{ + private static HashMap f = null; + private static HashMap> g = null; + private f e = new f(); + + public d() + { + this.e.a = 2; + } + + public final void a(int paramInt) + { + this.e.b = 1; + } + + public final void a(String paramString, T paramT) + { + if (paramString.startsWith(".")) { + throw new IllegalArgumentException("put name can not startwith . , now is " + paramString); + } + super.a(paramString, paramT); + } + + public final void a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length < 4) { + throw new IllegalArgumentException("decode package must include size head"); + } + try + { + paramArrayOfByte = new h(paramArrayOfByte, 4); + paramArrayOfByte.a(this.b); + this.e.a(paramArrayOfByte); + HashMap localHashMap; + if (this.e.a == 3) + { + paramArrayOfByte = new h(this.e.e); + paramArrayOfByte.a(this.b); + if (f == null) + { + localHashMap = new HashMap(); + f = localHashMap; + localHashMap.put("", new byte[0]); + } + this.d = paramArrayOfByte.a(f, 0, false); + return; + } + paramArrayOfByte = new h(this.e.e); + paramArrayOfByte.a(this.b); + if (g == null) + { + g = new HashMap(); + localHashMap = new HashMap(); + localHashMap.put("", new byte[0]); + g.put("", localHashMap); + } + this.a = paramArrayOfByte.a(g, 0, false); + new HashMap(); + return; + } + catch (Exception paramArrayOfByte) + { + throw new RuntimeException(paramArrayOfByte); + } + } + + public final byte[] a() + { + if (this.e.a == 2) + { + if (this.e.c.equals("")) { + throw new IllegalArgumentException("servantName can not is null"); + } + if (this.e.d.equals("")) { + throw new IllegalArgumentException("funcName can not is null"); + } + } + else + { + if (this.e.c == null) { + this.e.c = ""; + } + if (this.e.d == null) { + this.e.d = ""; + } + } + Object localObject = new i(0); + ((i)localObject).a(this.b); + if (this.e.a == 2) { + ((i)localObject).a(this.a, 0); + } + for (;;) + { + this.e.e = k.a(((i)localObject).a()); + localObject = new i(0); + ((i)localObject).a(this.b); + this.e.a((i)localObject); + localObject = k.a(((i)localObject).a()); + int i = localObject.length; + ByteBuffer localByteBuffer = ByteBuffer.allocate(i + 4); + localByteBuffer.putInt(i + 4).put((byte[])localObject).flip(); + return localByteBuffer.array(); + ((i)localObject).a(this.d, 0); + } + } + + public final void c(String paramString) + { + this.e.c = paramString; + } + + public final void d(String paramString) + { + this.e.d = paramString; + } + + public final void e() + { + super.e(); + this.e.a = 3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/e_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/e_1.java new file mode 100755 index 00000000000..33f41d1027e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/e_1.java @@ -0,0 +1,30 @@ +package com.tencent.feedback.proguard; + +public final class e +{ + private static final char[] a = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 }; + + public static String a(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return null; + } + char[] arrayOfChar = new char[paramArrayOfByte.length * 2]; + int i = 0; + while (i < paramArrayOfByte.length) + { + int j = paramArrayOfByte[i]; + arrayOfChar[(i * 2 + 1)] = a[(j & 0xF)]; + j = (byte)(j >>> 4); + arrayOfChar[(i * 2)] = a[(j & 0xF)]; + i += 1; + } + return new String(arrayOfChar); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/f_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/f_1.java new file mode 100755 index 00000000000..cfddabd6164 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/f_1.java @@ -0,0 +1,132 @@ +package com.tencent.feedback.proguard; + +import com.tencent.feedback.eup.b; +import java.io.PrintStream; +import java.util.HashMap; +import java.util.Map; + +public final class f + extends j +{ + private static byte[] k; + private static Map l; + public short a = 0; + public int b = 0; + public String c = null; + public String d = null; + public byte[] e; + private byte f = 0; + private int g = 0; + private int h = 0; + private Map i; + private Map j; + + static + { + if (!f.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + m = bool; + k = null; + l = null; + return; + } + } + + public final void a(h paramh) + { + try + { + this.a = paramh.a(this.a, 1, true); + this.f = paramh.a(this.f, 2, true); + this.g = paramh.a(this.g, 3, true); + this.b = paramh.a(this.b, 4, true); + this.c = paramh.b(5, true); + this.d = paramh.b(6, true); + if (k == null) { + k = new byte[] { 0 }; + } + Object localObject = k; + this.e = ((byte[])paramh.c(7, true)); + this.h = paramh.a(this.h, 8, true); + if (l == null) + { + localObject = new HashMap(); + l = (Map)localObject; + ((Map)localObject).put("", ""); + } + this.i = ((Map)paramh.a(l, 9, true)); + if (l == null) + { + localObject = new HashMap(); + l = (Map)localObject; + ((Map)localObject).put("", ""); + } + this.j = ((Map)paramh.a(l, 10, true)); + return; + } + catch (Exception paramh) + { + paramh.printStackTrace(); + System.out.println("RequestPacket decode error " + e.a(this.e)); + throw new RuntimeException(paramh); + } + } + + public final void a(i parami) + { + parami.a(this.a, 1); + parami.a(this.f, 2); + parami.a(this.g, 3); + parami.a(this.b, 4); + parami.a(this.c, 5); + parami.a(this.d, 6); + parami.a(this.e, 7); + parami.a(this.h, 8); + parami.a(this.i, 9); + parami.a(this.j, 10); + } + + public final void a(StringBuilder paramStringBuilder, int paramInt) + { + paramStringBuilder = new b(paramStringBuilder, paramInt); + paramStringBuilder.a(this.a, "iVersion"); + paramStringBuilder.a(this.f, "cPacketType"); + paramStringBuilder.a(this.g, "iMessageType"); + paramStringBuilder.a(this.b, "iRequestId"); + paramStringBuilder.a(this.c, "sServantName"); + paramStringBuilder.a(this.d, "sFuncName"); + paramStringBuilder.a(this.e, "sBuffer"); + paramStringBuilder.a(this.h, "iTimeout"); + paramStringBuilder.a(this.i, "context"); + paramStringBuilder.a(this.j, "status"); + } + + public final Object clone() + { + Object localObject1 = null; + try + { + Object localObject2 = super.clone(); + localObject1 = localObject2; + } + catch (CloneNotSupportedException localCloneNotSupportedException) + { + while (m) {} + throw new AssertionError(); + } + return localObject1; + } + + public final boolean equals(Object paramObject) + { + paramObject = (f)paramObject; + return (k.a(1, paramObject.a)) && (k.a(1, paramObject.f)) && (k.a(1, paramObject.g)) && (k.a(1, paramObject.b)) && (k.a(Integer.valueOf(1), paramObject.c)) && (k.a(Integer.valueOf(1), paramObject.d)) && (k.a(Integer.valueOf(1), paramObject.e)) && (k.a(1, paramObject.h)) && (k.a(Integer.valueOf(1), paramObject.i)) && (k.a(Integer.valueOf(1), paramObject.j)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/g_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/g_1.java new file mode 100755 index 00000000000..675465ff6b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/g_1.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.proguard; + +public final class g + extends RuntimeException +{ + public g(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/h_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/h_1.java new file mode 100755 index 00000000000..1e8d7a592ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/h_1.java @@ -0,0 +1,841 @@ +package com.tencent.feedback.proguard; + +import com.tencent.feedback.eup.jni.c; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Array; +import java.nio.BufferUnderflowException; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class h +{ + private ByteBuffer a; + private String b = "GBK"; + + public h() {} + + public h(byte[] paramArrayOfByte) + { + this.a = ByteBuffer.wrap(paramArrayOfByte); + } + + public h(byte[] paramArrayOfByte, int paramInt) + { + this.a = ByteBuffer.wrap(paramArrayOfByte); + this.a.position(4); + } + + private double a(double paramDouble, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramDouble = 0.0D; + } + } + while (!paramBoolean) + { + c localc; + return paramDouble; + return this.a.getFloat(); + return this.a.getDouble(); + } + throw new g("require field not exist."); + } + + private float a(float paramFloat, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramFloat = 0.0F; + } + } + while (!paramBoolean) + { + c localc; + return paramFloat; + return this.a.getFloat(); + } + throw new g("require field not exist."); + } + + private static int a(c paramc, ByteBuffer paramByteBuffer) + { + int i = paramByteBuffer.get(); + paramc.a = ((byte)(i & 0xF)); + paramc.b = ((i & 0xF0) >> 4); + if (paramc.b == 15) + { + paramc.b = paramByteBuffer.get(); + return 2; + } + return 1; + } + + private Map a(Map paramMap1, Map paramMap2, int paramInt, boolean paramBoolean) + { + if ((paramMap2 == null) || (paramMap2.isEmpty())) { + paramMap2 = new HashMap(); + } + do + { + return paramMap2; + paramMap2 = (Map.Entry)paramMap2.entrySet().iterator().next(); + Object localObject1 = paramMap2.getKey(); + Object localObject2 = paramMap2.getValue(); + if (a(paramInt)) + { + paramMap2 = new c(); + a(paramMap2, this.a); + switch (paramMap2.a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + paramInt = 0; + for (;;) + { + paramMap2 = paramMap1; + if (paramInt >= i) { + break; + } + paramMap1.put(a(localObject1, 0, true), a(localObject2, 1, true)); + paramInt += 1; + } + } + paramMap2 = paramMap1; + } while (!paramBoolean); + throw new g("require field not exist."); + } + + private void a() + { + c localc = new c(); + do + { + a(localc, this.a); + a(localc.a); + } while (localc.a != 11); + } + + private void a(byte paramByte) + { + byte b2 = 0; + byte b1 = 0; + c localc; + switch (paramByte) + { + default: + throw new g("invalid type."); + case 0: + this.a.position(this.a.position() + 1); + case 11: + case 12: + return; + case 1: + this.a.position(2 + this.a.position()); + return; + case 2: + this.a.position(this.a.position() + 4); + return; + case 3: + this.a.position(this.a.position() + 8); + return; + case 4: + this.a.position(this.a.position() + 4); + return; + case 5: + this.a.position(this.a.position() + 8); + return; + case 6: + b1 = this.a.get(); + paramByte = b1; + if (b1 < 0) { + paramByte = b1 + 256; + } + this.a.position(paramByte + this.a.position()); + return; + case 7: + paramByte = this.a.getInt(); + this.a.position(paramByte + this.a.position()); + return; + case 8: + b2 = a(0, 0, true); + paramByte = b1; + while (paramByte < b2 << 1) + { + localc = new c(); + a(localc, this.a); + a(localc.a); + paramByte += 1; + } + case 9: + b1 = a(0, 0, true); + paramByte = b2; + while (paramByte < b1) + { + localc = new c(); + a(localc, this.a); + a(localc.a); + paramByte += 1; + } + case 13: + localc = new c(); + a(localc, this.a); + if (localc.a != 0) { + throw new g("skipField with invalid type, type value: " + paramByte + ", " + localc.a); + } + paramByte = a(0, 0, true); + this.a.position(paramByte + this.a.position()); + return; + } + a(); + } + + private boolean a(int paramInt) + { + try + { + c localc = new c(); + for (;;) + { + int i = a(localc, this.a.duplicate()); + if ((paramInt <= localc.b) || (localc.a == 11)) + { + if (paramInt != localc.b) { + break; + } + return true; + } + this.a.position(i + this.a.position()); + a(localc.a); + } + return false; + } + catch (g localg) + { + return false; + } + catch (BufferUnderflowException localBufferUnderflowException) {} + } + + private T[] a(T[] paramArrayOfT, int paramInt, boolean paramBoolean) + { + if ((paramArrayOfT == null) || (paramArrayOfT.length == 0)) { + throw new g("unable to get type of key and value."); + } + return b(paramArrayOfT[0], paramInt, paramBoolean); + } + + private T[] b(T paramT, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + Object[] arrayOfObject = (Object[])Array.newInstance(paramT.getClass(), i); + paramInt = 0; + for (;;) + { + localObject = arrayOfObject; + if (paramInt >= i) { + break; + } + arrayOfObject[paramInt] = a(paramT, 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + Object localObject = null; + return localObject; + } + + private boolean[] d(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + localObject = new boolean[i]; + paramInt = 0; + if (paramInt < i) + { + if (a((byte)0, 0, true) != 0) {} + for (paramBoolean = true;; paramBoolean = false) + { + localObject[paramInt] = paramBoolean; + paramInt += 1; + break; + } + } + } + while (!paramBoolean) + { + int i; + return localObject; + } + throw new g("require field not exist."); + } + + private short[] e(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + short[] arrayOfShort = new short[i]; + paramInt = 0; + for (;;) + { + localObject = arrayOfShort; + if (paramInt >= i) { + break; + } + arrayOfShort[paramInt] = a(arrayOfShort[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + return localObject; + } + + private int[] f(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + int[] arrayOfInt = new int[i]; + paramInt = 0; + for (;;) + { + localObject = arrayOfInt; + if (paramInt >= i) { + break; + } + arrayOfInt[paramInt] = a(arrayOfInt[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + return localObject; + } + + private long[] g(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + long[] arrayOfLong = new long[i]; + paramInt = 0; + for (;;) + { + localObject = arrayOfLong; + if (paramInt >= i) { + break; + } + arrayOfLong[paramInt] = a(arrayOfLong[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + return localObject; + } + + private float[] h(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + float[] arrayOfFloat = new float[i]; + paramInt = 0; + for (;;) + { + localObject = arrayOfFloat; + if (paramInt >= i) { + break; + } + arrayOfFloat[paramInt] = a(arrayOfFloat[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + return localObject; + } + + private double[] i(int paramInt, boolean paramBoolean) + { + Object localObject = null; + if (a(paramInt)) + { + localObject = new c(); + a((c)localObject, this.a); + switch (((c)localObject).a) + { + default: + throw new g("type mismatch."); + } + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + double[] arrayOfDouble = new double[i]; + paramInt = 0; + for (;;) + { + localObject = arrayOfDouble; + if (paramInt >= i) { + break; + } + arrayOfDouble[paramInt] = a(arrayOfDouble[0], 0, true); + paramInt += 1; + } + } + if (paramBoolean) { + throw new g("require field not exist."); + } + return localObject; + } + + public final byte a(byte paramByte, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramByte = 0; + } + } + while (!paramBoolean) + { + c localc; + return paramByte; + return this.a.get(); + } + throw new g("require field not exist."); + } + + public final int a(int paramInt1, int paramInt2, boolean paramBoolean) + { + if (a(paramInt2)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramInt1 = 0; + } + } + while (!paramBoolean) + { + c localc; + return paramInt1; + return this.a.get(); + return this.a.getShort(); + return this.a.getInt(); + } + throw new g("require field not exist."); + } + + public final int a(String paramString) + { + this.b = paramString; + return 0; + } + + public final long a(long paramLong, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramLong = 0L; + } + } + while (!paramBoolean) + { + c localc; + return paramLong; + return this.a.get(); + return this.a.getShort(); + return this.a.getInt(); + return this.a.getLong(); + } + throw new g("require field not exist."); + } + + public final j a(j paramj, int paramInt, boolean paramBoolean) + { + c localc = null; + if (a(paramInt)) + { + try + { + paramj = (j)paramj.getClass().newInstance(); + localc = new c(); + a(localc, this.a); + if (localc.a != 10) { + throw new g("type mismatch."); + } + } + catch (Exception paramj) + { + throw new g(paramj.getMessage()); + } + paramj.a(this); + a(); + } + do + { + return paramj; + paramj = localc; + } while (!paramBoolean); + throw new g("require field not exist."); + } + + public final Object a(T paramT, int paramInt, boolean paramBoolean) + { + int i = 0; + boolean bool = false; + if ((paramT instanceof Byte)) { + return Byte.valueOf(a((byte)0, paramInt, paramBoolean)); + } + if ((paramT instanceof Boolean)) + { + if (a((byte)0, paramInt, paramBoolean) != 0) { + bool = true; + } + return Boolean.valueOf(bool); + } + if ((paramT instanceof Short)) { + return Short.valueOf(a((short)0, paramInt, paramBoolean)); + } + if ((paramT instanceof Integer)) { + return Integer.valueOf(a(0, paramInt, paramBoolean)); + } + if ((paramT instanceof Long)) { + return Long.valueOf(a(0L, paramInt, paramBoolean)); + } + if ((paramT instanceof Float)) { + return Float.valueOf(a(0.0F, paramInt, paramBoolean)); + } + if ((paramT instanceof Double)) { + return Double.valueOf(a(0.0D, paramInt, paramBoolean)); + } + if ((paramT instanceof String)) { + return String.valueOf(b(paramInt, paramBoolean)); + } + if ((paramT instanceof Map)) + { + paramT = (Map)paramT; + return (HashMap)a(new HashMap(), paramT, paramInt, paramBoolean); + } + if ((paramT instanceof List)) + { + paramT = (List)paramT; + if ((paramT == null) || (paramT.isEmpty())) { + return new ArrayList(); + } + paramT = b(paramT.get(0), paramInt, paramBoolean); + if (paramT == null) { + return null; + } + ArrayList localArrayList = new ArrayList(); + paramInt = i; + while (paramInt < paramT.length) + { + localArrayList.add(paramT[paramInt]); + paramInt += 1; + } + return localArrayList; + } + if ((paramT instanceof j)) { + return a((j)paramT, paramInt, paramBoolean); + } + if (paramT.getClass().isArray()) + { + if (((paramT instanceof byte[])) || ((paramT instanceof Byte[]))) { + return c(paramInt, paramBoolean); + } + if ((paramT instanceof boolean[])) { + return d(paramInt, paramBoolean); + } + if ((paramT instanceof short[])) { + return e(paramInt, paramBoolean); + } + if ((paramT instanceof int[])) { + return f(paramInt, paramBoolean); + } + if ((paramT instanceof long[])) { + return g(paramInt, paramBoolean); + } + if ((paramT instanceof float[])) { + return h(paramInt, paramBoolean); + } + if ((paramT instanceof double[])) { + return i(paramInt, paramBoolean); + } + return a((Object[])paramT, paramInt, paramBoolean); + } + throw new g("read object error: unsupport type."); + } + + public final HashMap a(Map paramMap, int paramInt, boolean paramBoolean) + { + return (HashMap)a(new HashMap(), paramMap, paramInt, paramBoolean); + } + + public final short a(short paramShort, int paramInt, boolean paramBoolean) + { + if (a(paramInt)) + { + localc = new c(); + a(localc, this.a); + switch (localc.a) + { + default: + throw new g("type mismatch."); + case 12: + paramShort = 0; + } + } + while (!paramBoolean) + { + c localc; + return paramShort; + return (short)this.a.get(); + return this.a.getShort(); + } + throw new g("require field not exist."); + } + + public final void a(byte[] paramArrayOfByte) + { + if (this.a != null) { + this.a.clear(); + } + this.a = ByteBuffer.wrap(paramArrayOfByte); + } + + public final boolean a(int paramInt, boolean paramBoolean) + { + boolean bool = false; + if (a((byte)0, paramInt, paramBoolean) != 0) { + bool = true; + } + return bool; + } + + public final String b(int paramInt, boolean paramBoolean) + { + Object localObject1 = null; + if (a(paramInt)) + { + localObject1 = new c(); + a((c)localObject1, this.a); + switch (((c)localObject1).a) + { + default: + throw new g("type mismatch."); + case 6: + i = this.a.get(); + paramInt = i; + if (i < 0) { + paramInt = i + 256; + } + localObject2 = new byte[paramInt]; + this.a.get((byte[])localObject2); + } + } + while (!paramBoolean) + { + Object localObject2; + try + { + int i; + localObject1 = new String((byte[])localObject2, this.b); + return localObject1; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException1) + { + return new String((byte[])localObject2); + } + paramInt = this.a.getInt(); + if ((paramInt > 104857600) || (paramInt < 0)) { + throw new g("String too long: " + paramInt); + } + byte[] arrayOfByte = new byte[paramInt]; + this.a.get(arrayOfByte); + try + { + localObject2 = new String(arrayOfByte, this.b); + return localObject2; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException2) + { + return new String(arrayOfByte); + } + } + throw new g("require field not exist."); + } + + public final byte[] c(int paramInt, boolean paramBoolean) + { + Object localObject1 = null; + if (a(paramInt)) + { + localObject1 = new c(); + a((c)localObject1, this.a); + switch (((c)localObject1).a) + { + default: + throw new g("type mismatch."); + case 13: + localObject2 = new c(); + a((c)localObject2, this.a); + if (((c)localObject2).a != 0) { + throw new g("type mismatch, tag: " + paramInt + ", type: " + ((c)localObject1).a + ", " + ((c)localObject2).a); + } + i = a(0, 0, true); + if (i < 0) { + throw new g("invalid size, tag: " + paramInt + ", type: " + ((c)localObject1).a + ", " + ((c)localObject2).a + ", size: " + i); + } + localObject1 = new byte[i]; + this.a.get((byte[])localObject1); + } + } + while (!paramBoolean) + { + return localObject1; + int i = a(0, 0, true); + if (i < 0) { + throw new g("size invalid: " + i); + } + Object localObject2 = new byte[i]; + paramInt = 0; + for (;;) + { + localObject1 = localObject2; + if (paramInt >= i) { + break; + } + localObject2[paramInt] = a(localObject2[0], 0, true); + paramInt += 1; + } + } + throw new g("require field not exist."); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/i_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/i_1.java new file mode 100755 index 00000000000..f390934557c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/i_1.java @@ -0,0 +1,428 @@ +package com.tencent.feedback.proguard; + +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public final class i +{ + private ByteBuffer a; + private String b = "GBK"; + + public i() + { + this(128); + } + + public i(int paramInt) + { + this.a = ByteBuffer.allocate(paramInt); + } + + private void a(int paramInt) + { + if (this.a.remaining() < paramInt) + { + ByteBuffer localByteBuffer = ByteBuffer.allocate(this.a.capacity() + paramInt << 1); + localByteBuffer.put(this.a.array(), 0, this.a.position()); + this.a = localByteBuffer; + } + } + + private void b(byte paramByte, int paramInt) + { + byte b1; + if (paramInt < 15) + { + b1 = (byte)(paramInt << 4 | paramByte); + this.a.put(b1); + return; + } + if (paramInt < 256) + { + b1 = (byte)(paramByte | 0xF0); + this.a.put(b1); + this.a.put((byte)paramInt); + return; + } + throw new b("tag is too large: " + paramInt); + } + + public final int a(String paramString) + { + this.b = paramString; + return 0; + } + + public final ByteBuffer a() + { + return this.a; + } + + public final void a(byte paramByte, int paramInt) + { + a(3); + if (paramByte == 0) + { + b((byte)12, paramInt); + return; + } + b((byte)0, paramInt); + this.a.put(paramByte); + } + + public final void a(int paramInt1, int paramInt2) + { + a(6); + if ((paramInt1 >= -32768) && (paramInt1 <= 32767)) + { + a((short)paramInt1, paramInt2); + return; + } + b((byte)2, paramInt2); + this.a.putInt(paramInt1); + } + + public final void a(long paramLong, int paramInt) + { + a(10); + if ((paramLong >= -2147483648L) && (paramLong <= 2147483647L)) + { + a((int)paramLong, paramInt); + return; + } + b((byte)3, paramInt); + this.a.putLong(paramLong); + } + + public final void a(j paramj, int paramInt) + { + a(2); + b((byte)10, paramInt); + paramj.a(this); + a(2); + b((byte)11, 0); + } + + public final void a(Object paramObject, int paramInt) + { + int i = 1; + if ((paramObject instanceof Byte)) { + a(((Byte)paramObject).byteValue(), paramInt); + } + for (;;) + { + return; + if ((paramObject instanceof Boolean)) + { + if (((Boolean)paramObject).booleanValue()) {} + for (;;) + { + a((byte)i, paramInt); + return; + i = 0; + } + } + if ((paramObject instanceof Short)) + { + a(((Short)paramObject).shortValue(), paramInt); + return; + } + if ((paramObject instanceof Integer)) + { + a(((Integer)paramObject).intValue(), paramInt); + return; + } + if ((paramObject instanceof Long)) + { + a(((Long)paramObject).longValue(), paramInt); + return; + } + float f; + if ((paramObject instanceof Float)) + { + f = ((Float)paramObject).floatValue(); + a(6); + b((byte)4, paramInt); + this.a.putFloat(f); + return; + } + double d; + if ((paramObject instanceof Double)) + { + d = ((Double)paramObject).doubleValue(); + a(10); + b((byte)5, paramInt); + this.a.putDouble(d); + return; + } + if ((paramObject instanceof String)) + { + a((String)paramObject, paramInt); + return; + } + if ((paramObject instanceof Map)) + { + a((Map)paramObject, paramInt); + return; + } + if ((paramObject instanceof List)) + { + a((List)paramObject, paramInt); + return; + } + if ((paramObject instanceof j)) + { + paramObject = (j)paramObject; + a(2); + b((byte)10, paramInt); + paramObject.a(this); + a(2); + b((byte)11, 0); + return; + } + if ((paramObject instanceof byte[])) + { + a((byte[])paramObject, paramInt); + return; + } + if ((paramObject instanceof boolean[])) + { + paramObject = (boolean[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + int j = paramObject.length; + paramInt = 0; + label339: + if (paramInt < j) { + if (paramObject[paramInt] == 0) { + break label369; + } + } + label369: + for (i = 1;; i = 0) + { + a((byte)i, 0); + paramInt += 1; + break label339; + break; + } + } + if ((paramObject instanceof short[])) + { + paramObject = (short[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + a(paramObject[paramInt], 0); + paramInt += 1; + } + } + else if ((paramObject instanceof int[])) + { + paramObject = (int[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + a(paramObject[paramInt], 0); + paramInt += 1; + } + } + else if ((paramObject instanceof long[])) + { + paramObject = (long[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + a(paramObject[paramInt], 0); + paramInt += 1; + } + } + else if ((paramObject instanceof float[])) + { + paramObject = (float[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + f = paramObject[paramInt]; + a(6); + b((byte)4, 0); + this.a.putFloat(f); + paramInt += 1; + } + } + else if ((paramObject instanceof double[])) + { + paramObject = (double[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + d = paramObject[paramInt]; + a(10); + b((byte)5, 0); + this.a.putDouble(d); + paramInt += 1; + } + } + else + { + if (!paramObject.getClass().isArray()) { + break; + } + paramObject = (Object[])paramObject; + a(8); + b((byte)9, paramInt); + a(paramObject.length, 0); + i = paramObject.length; + paramInt = 0; + while (paramInt < i) + { + a(paramObject[paramInt], 0); + paramInt += 1; + } + } + } + if ((paramObject instanceof Collection)) + { + a((Collection)paramObject, paramInt); + return; + } + throw new b("write object error: unsupport type. " + paramObject.getClass()); + } + + public final void a(String paramString, int paramInt) + { + try + { + byte[] arrayOfByte = paramString.getBytes(this.b); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + paramString = paramString.getBytes(); + } + b((byte)6, paramInt); + this.a.put((byte)paramString.length); + this.a.put(paramString); + } + a(paramString.length + 10); + if (paramString.length > 255) + { + b((byte)7, paramInt); + this.a.putInt(paramString.length); + this.a.put(paramString); + return; + } + } + + public final void a(Collection paramCollection, int paramInt) + { + a(8); + b((byte)9, paramInt); + if (paramCollection == null) {} + for (paramInt = 0;; paramInt = paramCollection.size()) + { + a(paramInt, 0); + if (paramCollection == null) { + break; + } + paramCollection = paramCollection.iterator(); + while (paramCollection.hasNext()) { + a(paramCollection.next(), 0); + } + } + } + + public final void a(Map paramMap, int paramInt) + { + a(8); + b((byte)8, paramInt); + if (paramMap == null) {} + for (paramInt = 0;; paramInt = paramMap.size()) + { + a(paramInt, 0); + if (paramMap == null) { + break; + } + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + a(localEntry.getKey(), 0); + a(localEntry.getValue(), 1); + } + } + } + + public final void a(short paramShort, int paramInt) + { + a(4); + if ((paramShort >= -128) && (paramShort <= 127)) + { + a((byte)paramShort, paramInt); + return; + } + b((byte)1, paramInt); + this.a.putShort(paramShort); + } + + public final void a(boolean paramBoolean, int paramInt) + { + if (paramBoolean) {} + for (int i = 1;; i = 0) + { + a((byte)i, paramInt); + return; + } + } + + public final void a(byte[] paramArrayOfByte, int paramInt) + { + a(paramArrayOfByte.length + 8); + b((byte)13, paramInt); + b((byte)0, 0); + a(paramArrayOfByte.length, 0); + this.a.put(paramArrayOfByte); + } + + public final byte[] b() + { + byte[] arrayOfByte = new byte[this.a.position()]; + System.arraycopy(this.a.array(), 0, arrayOfByte, 0, this.a.position()); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/j.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/j.java new file mode 100755 index 00000000000..c8843eb924f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/j.java @@ -0,0 +1,33 @@ +package com.tencent.feedback.proguard; + +import java.io.Serializable; + +public abstract class j + implements Serializable +{ + public abstract void a(h paramh); + + public abstract void a(i parami); + + public abstract void a(StringBuilder paramStringBuilder, int paramInt); + + public final byte[] a() + { + i locali = new i(); + a(locali); + return locali.b(); + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + a(localStringBuilder, 0); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/k_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/k_1.java new file mode 100755 index 00000000000..f74c69d2d77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/k_1.java @@ -0,0 +1,76 @@ +package com.tencent.feedback.proguard; + +import java.nio.ByteBuffer; + +public final class k +{ + static + { + byte[] arrayOfByte1 = new byte[16]; + byte[] tmp6_5 = arrayOfByte1; + tmp6_5[0] = 48; + byte[] tmp11_6 = tmp6_5; + tmp11_6[1] = 49; + byte[] tmp16_11 = tmp11_6; + tmp16_11[2] = 50; + byte[] tmp21_16 = tmp16_11; + tmp21_16[3] = 51; + byte[] tmp26_21 = tmp21_16; + tmp26_21[4] = 52; + byte[] tmp31_26 = tmp26_21; + tmp31_26[5] = 53; + byte[] tmp36_31 = tmp31_26; + tmp36_31[6] = 54; + byte[] tmp42_36 = tmp36_31; + tmp42_36[7] = 55; + byte[] tmp48_42 = tmp42_36; + tmp48_42[8] = 56; + byte[] tmp54_48 = tmp48_42; + tmp54_48[9] = 57; + byte[] tmp60_54 = tmp54_48; + tmp60_54[10] = 65; + byte[] tmp66_60 = tmp60_54; + tmp66_60[11] = 66; + byte[] tmp72_66 = tmp66_60; + tmp72_66[12] = 67; + byte[] tmp78_72 = tmp72_66; + tmp78_72[13] = 68; + byte[] tmp84_78 = tmp78_72; + tmp84_78[14] = 69; + byte[] tmp90_84 = tmp84_78; + tmp90_84[15] = 70; + tmp90_84; + byte[] arrayOfByte2 = new byte[256]; + byte[] arrayOfByte3 = new byte[256]; + int i = 0; + while (i < 256) + { + arrayOfByte2[i] = arrayOfByte1[(i >>> 4)]; + arrayOfByte3[i] = arrayOfByte1[(i & 0xF)]; + i += 1; + } + } + + public static boolean a(int paramInt1, int paramInt2) + { + return 1 == paramInt2; + } + + public static boolean a(Object paramObject1, Object paramObject2) + { + return paramObject1.equals(paramObject2); + } + + public static byte[] a(ByteBuffer paramByteBuffer) + { + byte[] arrayOfByte = new byte[paramByteBuffer.position()]; + System.arraycopy(paramByteBuffer.array(), 0, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/l_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/l_1.java new file mode 100755 index 00000000000..9164caf9b95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/l_1.java @@ -0,0 +1,4707 @@ +package com.tencent.feedback.proguard; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import com.tencent.feedback.common.e; +import java.util.ArrayList; +import java.util.List; + +public class l +{ + private long a = -1L; + private int b = -1; + private int c = -1; + private long d = -1L; + private byte[] e = null; + private long f = 0L; + private String g = null; + private int h = 0; + private int i = 0; + private int j = -1; + + public l() {} + + public l(int paramInt1, int paramInt2, long paramLong, byte[] paramArrayOfByte) + { + this.b = paramInt1; + this.c = 0; + this.d = paramLong; + this.e = paramArrayOfByte; + if (paramArrayOfByte != null) { + this.f = paramArrayOfByte.length; + } + } + + /* Error */ + public static int a(Context paramContext, int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: ifnonnull +15 -> 16 + // 4: ldc 51 + // 6: iconst_0 + // 7: anewarray 4 java/lang/Object + // 10: invokestatic 56 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 13: pop + // 14: iconst_m1 + // 15: ireturn + // 16: ldc 58 + // 18: iconst_1 + // 19: anewarray 4 java/lang/Object + // 22: dup + // 23: iconst_0 + // 24: iconst_1 + // 25: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 28: aastore + // 29: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 32: pop + // 33: new 68 com/tencent/feedback/proguard/n + // 36: dup + // 37: aload_0 + // 38: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 41: astore 4 + // 43: aload 4 + // 45: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 48: astore_0 + // 49: aload_0 + // 50: ifnonnull +62 -> 112 + // 53: ldc 77 + // 55: iconst_0 + // 56: anewarray 4 java/lang/Object + // 59: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 62: pop + // 63: ldc 81 + // 65: iconst_0 + // 66: anewarray 4 java/lang/Object + // 69: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 72: pop + // 73: aload_0 + // 74: ifnull +14 -> 88 + // 77: aload_0 + // 78: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 81: ifeq +7 -> 88 + // 84: aload_0 + // 85: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 88: aload 4 + // 90: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 93: ldc 93 + // 95: iconst_1 + // 96: anewarray 4 java/lang/Object + // 99: dup + // 100: iconst_0 + // 101: iconst_0 + // 102: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 105: aastore + // 106: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 109: pop + // 110: iconst_m1 + // 111: ireturn + // 112: new 95 java/lang/StringBuilder + // 115: dup + // 116: ldc 97 + // 118: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 121: iconst_1 + // 122: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 125: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 128: astore 5 + // 130: aload_0 + // 131: ldc 110 + // 133: aload 5 + // 135: aconst_null + // 136: invokevirtual 114 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 139: istore_1 + // 140: aload 5 + // 142: astore_3 + // 143: aload 5 + // 145: ifnonnull +6 -> 151 + // 148: ldc 116 + // 150: astore_3 + // 151: iload_1 + // 152: istore_2 + // 153: aload_0 + // 154: astore 6 + // 156: aload 4 + // 158: astore 5 + // 160: ldc 118 + // 162: iconst_2 + // 163: anewarray 4 java/lang/Object + // 166: dup + // 167: iconst_0 + // 168: iload_1 + // 169: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 172: aastore + // 173: dup + // 174: iconst_1 + // 175: aload_3 + // 176: aastore + // 177: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 180: pop + // 181: aload_0 + // 182: ifnull +14 -> 196 + // 185: aload_0 + // 186: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 189: ifeq +7 -> 196 + // 192: aload_0 + // 193: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 196: aload 4 + // 198: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 201: ldc 93 + // 203: iconst_1 + // 204: anewarray 4 java/lang/Object + // 207: dup + // 208: iconst_0 + // 209: iload_1 + // 210: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 213: aastore + // 214: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 217: pop + // 218: iload_1 + // 219: ireturn + // 220: astore_3 + // 221: aconst_null + // 222: astore_0 + // 223: aconst_null + // 224: astore 4 + // 226: iconst_0 + // 227: istore_1 + // 228: iload_1 + // 229: istore_2 + // 230: aload_0 + // 231: astore 6 + // 233: aload 4 + // 235: astore 5 + // 237: ldc 120 + // 239: iconst_0 + // 240: anewarray 4 java/lang/Object + // 243: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 246: pop + // 247: iload_1 + // 248: istore_2 + // 249: aload_0 + // 250: astore 6 + // 252: aload 4 + // 254: astore 5 + // 256: ldc 122 + // 258: iconst_1 + // 259: anewarray 4 java/lang/Object + // 262: dup + // 263: iconst_0 + // 264: aload_3 + // 265: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 268: aastore + // 269: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 272: pop + // 273: iload_1 + // 274: istore_2 + // 275: aload_0 + // 276: astore 6 + // 278: aload 4 + // 280: astore 5 + // 282: aload_3 + // 283: invokestatic 128 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 286: ifne +16 -> 302 + // 289: iload_1 + // 290: istore_2 + // 291: aload_0 + // 292: astore 6 + // 294: aload 4 + // 296: astore 5 + // 298: aload_3 + // 299: invokevirtual 131 java/lang/Throwable:printStackTrace ()V + // 302: aload_0 + // 303: ifnull +14 -> 317 + // 306: aload_0 + // 307: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 310: ifeq +7 -> 317 + // 313: aload_0 + // 314: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 317: aload 4 + // 319: ifnull +8 -> 327 + // 322: aload 4 + // 324: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 327: ldc 93 + // 329: iconst_1 + // 330: anewarray 4 java/lang/Object + // 333: dup + // 334: iconst_0 + // 335: iload_1 + // 336: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 339: aastore + // 340: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 343: pop + // 344: iload_1 + // 345: ireturn + // 346: astore_3 + // 347: aconst_null + // 348: astore_0 + // 349: aconst_null + // 350: astore 4 + // 352: iconst_0 + // 353: istore_1 + // 354: aload_0 + // 355: ifnull +14 -> 369 + // 358: aload_0 + // 359: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 362: ifeq +7 -> 369 + // 365: aload_0 + // 366: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 369: aload 4 + // 371: ifnull +8 -> 379 + // 374: aload 4 + // 376: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 379: ldc 93 + // 381: iconst_1 + // 382: anewarray 4 java/lang/Object + // 385: dup + // 386: iconst_0 + // 387: iload_1 + // 388: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 391: aastore + // 392: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 395: pop + // 396: aload_3 + // 397: athrow + // 398: astore_3 + // 399: aconst_null + // 400: astore_0 + // 401: iconst_0 + // 402: istore_1 + // 403: goto -49 -> 354 + // 406: astore_3 + // 407: iconst_0 + // 408: istore_1 + // 409: goto -55 -> 354 + // 412: astore_3 + // 413: iload_2 + // 414: istore_1 + // 415: aload 6 + // 417: astore_0 + // 418: aload 5 + // 420: astore 4 + // 422: goto -68 -> 354 + // 425: astore_3 + // 426: aconst_null + // 427: astore_0 + // 428: iconst_0 + // 429: istore_1 + // 430: goto -202 -> 228 + // 433: astore_3 + // 434: iconst_0 + // 435: istore_1 + // 436: goto -208 -> 228 + // 439: astore_3 + // 440: goto -212 -> 228 + // Local variable table: + // start length slot name signature + // 0 443 0 paramContext Context + // 0 443 1 paramInt int + // 152 262 2 k int + // 142 34 3 localObject1 Object + // 220 79 3 localThrowable1 Throwable + // 346 51 3 localObject2 Object + // 398 1 3 localObject3 Object + // 406 1 3 localObject4 Object + // 412 1 3 localObject5 Object + // 425 1 3 localThrowable2 Throwable + // 433 1 3 localThrowable3 Throwable + // 439 1 3 localThrowable4 Throwable + // 41 380 4 localObject6 Object + // 128 291 5 localObject7 Object + // 154 262 6 localContext Context + // Exception table: + // from to target type + // 33 43 220 java/lang/Throwable + // 33 43 346 finally + // 43 49 398 finally + // 53 73 406 finally + // 112 140 406 finally + // 160 181 412 finally + // 237 247 412 finally + // 256 273 412 finally + // 282 289 412 finally + // 298 302 412 finally + // 43 49 425 java/lang/Throwable + // 53 73 433 java/lang/Throwable + // 112 140 433 java/lang/Throwable + // 160 181 439 java/lang/Throwable + } + + public static int a(Context paramContext, int[] paramArrayOfInt, long paramLong1, long paramLong2) + { + return a(paramContext, paramArrayOfInt, paramLong1, paramLong2, -1, -1); + } + + /* Error */ + public static int a(Context paramContext, int[] paramArrayOfInt, long paramLong1, long paramLong2, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aconst_null + // 1: astore 11 + // 3: iconst_0 + // 4: istore 8 + // 6: ldc 137 + // 8: iconst_0 + // 9: anewarray 4 java/lang/Object + // 12: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 15: pop + // 16: aload_0 + // 17: ifnonnull +19 -> 36 + // 20: ldc 139 + // 22: iconst_0 + // 23: anewarray 4 java/lang/Object + // 26: invokestatic 141 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 29: pop + // 30: iconst_m1 + // 31: istore 8 + // 33: iload 8 + // 35: ireturn + // 36: lload_2 + // 37: lload 4 + // 39: lcmp + // 40: ifgt -7 -> 33 + // 43: new 95 java/lang/StringBuilder + // 46: dup + // 47: ldc 143 + // 49: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 52: lload_2 + // 53: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 56: ldc 148 + // 58: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 61: ldc 153 + // 63: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 66: lload 4 + // 68: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 71: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 74: astore 9 + // 76: aload 9 + // 78: astore 10 + // 80: iload 6 + // 82: iflt +30 -> 112 + // 85: new 95 java/lang/StringBuilder + // 88: dup + // 89: invokespecial 154 java/lang/StringBuilder: ()V + // 92: aload 9 + // 94: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 97: ldc 156 + // 99: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 102: iload 6 + // 104: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 107: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 110: astore 10 + // 112: aload 10 + // 114: astore 9 + // 116: iload 7 + // 118: iflt +30 -> 148 + // 121: new 95 java/lang/StringBuilder + // 124: dup + // 125: invokespecial 154 java/lang/StringBuilder: ()V + // 128: aload 10 + // 130: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 133: ldc 158 + // 135: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 138: iload 7 + // 140: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 143: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 146: astore 9 + // 148: aload_1 + // 149: ifnull +350 -> 499 + // 152: aload_1 + // 153: arraylength + // 154: ifle +345 -> 499 + // 157: ldc 160 + // 159: astore 10 + // 161: iconst_0 + // 162: istore 6 + // 164: iload 6 + // 166: aload_1 + // 167: arraylength + // 168: if_icmpge +41 -> 209 + // 171: new 95 java/lang/StringBuilder + // 174: dup + // 175: invokespecial 154 java/lang/StringBuilder: ()V + // 178: aload 10 + // 180: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 183: ldc 162 + // 185: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 188: aload_1 + // 189: iload 6 + // 191: iaload + // 192: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 195: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 198: astore 10 + // 200: iload 6 + // 202: iconst_1 + // 203: iadd + // 204: istore 6 + // 206: goto -42 -> 164 + // 209: aload 10 + // 211: iconst_4 + // 212: invokevirtual 168 java/lang/String:substring (I)Ljava/lang/String; + // 215: astore_1 + // 216: new 95 java/lang/StringBuilder + // 219: dup + // 220: invokespecial 154 java/lang/StringBuilder: ()V + // 223: aload 9 + // 225: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 228: ldc 170 + // 230: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 233: aload_1 + // 234: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 237: ldc 172 + // 239: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 242: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 245: astore_1 + // 246: new 95 java/lang/StringBuilder + // 249: dup + // 250: ldc 174 + // 252: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 255: aload_1 + // 256: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 259: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 262: iconst_0 + // 263: anewarray 4 java/lang/Object + // 266: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 269: pop + // 270: new 68 com/tencent/feedback/proguard/n + // 273: dup + // 274: aload_0 + // 275: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 278: astore 9 + // 280: aload 9 + // 282: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 285: astore_0 + // 286: aload_0 + // 287: ldc 176 + // 289: aload_1 + // 290: aconst_null + // 291: invokevirtual 114 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 294: istore 6 + // 296: new 95 java/lang/StringBuilder + // 299: dup + // 300: ldc 178 + // 302: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 305: iload 6 + // 307: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 310: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 313: iconst_0 + // 314: anewarray 4 java/lang/Object + // 317: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 320: pop + // 321: aload_0 + // 322: ifnull +14 -> 336 + // 325: aload_0 + // 326: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 329: ifeq +7 -> 336 + // 332: aload_0 + // 333: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 336: aload 9 + // 338: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 341: ldc 180 + // 343: iconst_0 + // 344: anewarray 4 java/lang/Object + // 347: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 350: pop + // 351: iload 6 + // 353: ireturn + // 354: astore 9 + // 356: aconst_null + // 357: astore_0 + // 358: aload 11 + // 360: astore_1 + // 361: aload 9 + // 363: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 366: iconst_0 + // 367: anewarray 4 java/lang/Object + // 370: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 373: pop + // 374: aload_0 + // 375: ifnull +14 -> 389 + // 378: aload_0 + // 379: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 382: ifeq +7 -> 389 + // 385: aload_0 + // 386: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 389: aload_1 + // 390: ifnull +7 -> 397 + // 393: aload_1 + // 394: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 397: ldc 180 + // 399: iconst_0 + // 400: anewarray 4 java/lang/Object + // 403: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 406: pop + // 407: iconst_m1 + // 408: ireturn + // 409: astore_1 + // 410: aconst_null + // 411: astore_0 + // 412: aconst_null + // 413: astore 9 + // 415: aload_0 + // 416: ifnull +14 -> 430 + // 419: aload_0 + // 420: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 423: ifeq +7 -> 430 + // 426: aload_0 + // 427: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 430: aload 9 + // 432: ifnull +8 -> 440 + // 435: aload 9 + // 437: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 440: ldc 180 + // 442: iconst_0 + // 443: anewarray 4 java/lang/Object + // 446: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 449: pop + // 450: aload_1 + // 451: athrow + // 452: astore_1 + // 453: aconst_null + // 454: astore_0 + // 455: goto -40 -> 415 + // 458: astore_1 + // 459: goto -44 -> 415 + // 462: astore 10 + // 464: aload_1 + // 465: astore 9 + // 467: aload 10 + // 469: astore_1 + // 470: goto -55 -> 415 + // 473: astore 10 + // 475: aconst_null + // 476: astore_0 + // 477: aload 9 + // 479: astore_1 + // 480: aload 10 + // 482: astore 9 + // 484: goto -123 -> 361 + // 487: astore 10 + // 489: aload 9 + // 491: astore_1 + // 492: aload 10 + // 494: astore 9 + // 496: goto -135 -> 361 + // 499: aload 9 + // 501: astore_1 + // 502: goto -256 -> 246 + // Local variable table: + // start length slot name signature + // 0 505 0 paramContext Context + // 0 505 1 paramArrayOfInt int[] + // 0 505 2 paramLong1 long + // 0 505 4 paramLong2 long + // 0 505 6 paramInt1 int + // 0 505 7 paramInt2 int + // 4 30 8 k int + // 74 263 9 localObject1 Object + // 354 8 9 localThrowable1 Throwable + // 413 87 9 localObject2 Object + // 78 132 10 localObject3 Object + // 462 6 10 localObject4 Object + // 473 8 10 localThrowable2 Throwable + // 487 6 10 localThrowable3 Throwable + // 1 358 11 localObject5 Object + // Exception table: + // from to target type + // 270 280 354 java/lang/Throwable + // 270 280 409 finally + // 280 286 452 finally + // 286 321 458 finally + // 361 374 462 finally + // 280 286 473 java/lang/Throwable + // 286 321 487 java/lang/Throwable + } + + /* Error */ + public static int a(Context paramContext, int[] paramArrayOfInt, long paramLong1, long paramLong2, String paramString) + { + // Byte code: + // 0: ldc 183 + // 2: iconst_0 + // 3: anewarray 4 java/lang/Object + // 6: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 9: pop + // 10: aload_0 + // 11: ifnonnull +15 -> 26 + // 14: ldc 185 + // 16: iconst_0 + // 17: anewarray 4 java/lang/Object + // 20: invokestatic 141 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 23: pop + // 24: iconst_m1 + // 25: ireturn + // 26: lload_2 + // 27: lload 4 + // 29: lcmp + // 30: ifle +5 -> 35 + // 33: iconst_0 + // 34: ireturn + // 35: new 95 java/lang/StringBuilder + // 38: dup + // 39: ldc 143 + // 41: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 44: lload_2 + // 45: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 48: ldc 148 + // 50: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 53: ldc 153 + // 55: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 58: lload 4 + // 60: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 63: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 66: astore 9 + // 68: aload 9 + // 70: astore 8 + // 72: aload_1 + // 73: ifnull +102 -> 175 + // 76: aload 9 + // 78: astore 8 + // 80: aload_1 + // 81: arraylength + // 82: ifle +93 -> 175 + // 85: ldc 160 + // 87: astore 8 + // 89: iconst_0 + // 90: istore 7 + // 92: iload 7 + // 94: aload_1 + // 95: arraylength + // 96: if_icmpge +41 -> 137 + // 99: new 95 java/lang/StringBuilder + // 102: dup + // 103: invokespecial 154 java/lang/StringBuilder: ()V + // 106: aload 8 + // 108: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 111: ldc 162 + // 113: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 116: aload_1 + // 117: iload 7 + // 119: iaload + // 120: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 123: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 126: astore 8 + // 128: iload 7 + // 130: iconst_1 + // 131: iadd + // 132: istore 7 + // 134: goto -42 -> 92 + // 137: aload 8 + // 139: iconst_4 + // 140: invokevirtual 168 java/lang/String:substring (I)Ljava/lang/String; + // 143: astore_1 + // 144: new 95 java/lang/StringBuilder + // 147: dup + // 148: invokespecial 154 java/lang/StringBuilder: ()V + // 151: aload 9 + // 153: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 156: ldc 170 + // 158: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 161: aload_1 + // 162: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 165: ldc 172 + // 167: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 170: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 173: astore 8 + // 175: aload 8 + // 177: astore_1 + // 178: aload 6 + // 180: ifnull +34 -> 214 + // 183: new 95 java/lang/StringBuilder + // 186: dup + // 187: invokespecial 154 java/lang/StringBuilder: ()V + // 190: aload 8 + // 192: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 195: ldc 187 + // 197: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 200: aload 6 + // 202: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 205: ldc 189 + // 207: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 210: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 213: astore_1 + // 214: new 95 java/lang/StringBuilder + // 217: dup + // 218: ldc 191 + // 220: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 223: aload_1 + // 224: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 227: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 230: iconst_0 + // 231: anewarray 4 java/lang/Object + // 234: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 237: pop + // 238: aconst_null + // 239: astore 10 + // 241: aconst_null + // 242: astore 8 + // 244: aconst_null + // 245: astore 9 + // 247: new 68 com/tencent/feedback/proguard/n + // 250: dup + // 251: aload_0 + // 252: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 255: astore 6 + // 257: aload 6 + // 259: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 262: astore_0 + // 263: aload_0 + // 264: ldc 176 + // 266: iconst_1 + // 267: anewarray 164 java/lang/String + // 270: dup + // 271: iconst_0 + // 272: ldc 193 + // 274: aastore + // 275: aload_1 + // 276: aconst_null + // 277: aconst_null + // 278: aconst_null + // 279: aconst_null + // 280: invokevirtual 197 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 283: astore_1 + // 284: aload_1 + // 285: invokeinterface 202 1 0 + // 290: pop + // 291: aload_1 + // 292: aload_1 + // 293: ldc 204 + // 295: invokeinterface 208 2 0 + // 300: invokeinterface 212 2 0 + // 305: istore 7 + // 307: new 95 java/lang/StringBuilder + // 310: dup + // 311: ldc 214 + // 313: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 316: iload 7 + // 318: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 321: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 324: iconst_0 + // 325: anewarray 4 java/lang/Object + // 328: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 331: pop + // 332: aload_1 + // 333: ifnull +18 -> 351 + // 336: aload_1 + // 337: invokeinterface 217 1 0 + // 342: ifne +9 -> 351 + // 345: aload_1 + // 346: invokeinterface 218 1 0 + // 351: aload_0 + // 352: ifnull +14 -> 366 + // 355: aload_0 + // 356: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 359: ifeq +7 -> 366 + // 362: aload_0 + // 363: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 366: aload 6 + // 368: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 371: ldc 220 + // 373: iconst_0 + // 374: anewarray 4 java/lang/Object + // 377: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 380: pop + // 381: iload 7 + // 383: ireturn + // 384: astore 8 + // 386: aconst_null + // 387: astore_1 + // 388: aload 10 + // 390: astore_0 + // 391: aload 9 + // 393: astore 6 + // 395: aload 8 + // 397: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 400: iconst_0 + // 401: anewarray 4 java/lang/Object + // 404: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 407: pop + // 408: aload_1 + // 409: ifnull +18 -> 427 + // 412: aload_1 + // 413: invokeinterface 217 1 0 + // 418: ifne +9 -> 427 + // 421: aload_1 + // 422: invokeinterface 218 1 0 + // 427: aload 6 + // 429: ifnull +16 -> 445 + // 432: aload 6 + // 434: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 437: ifeq +8 -> 445 + // 440: aload 6 + // 442: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 445: aload_0 + // 446: ifnull +7 -> 453 + // 449: aload_0 + // 450: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 453: ldc 220 + // 455: iconst_0 + // 456: anewarray 4 java/lang/Object + // 459: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 462: pop + // 463: iconst_m1 + // 464: ireturn + // 465: astore_0 + // 466: aconst_null + // 467: astore 6 + // 469: aconst_null + // 470: astore_1 + // 471: aload_1 + // 472: ifnull +18 -> 490 + // 475: aload_1 + // 476: invokeinterface 217 1 0 + // 481: ifne +9 -> 490 + // 484: aload_1 + // 485: invokeinterface 218 1 0 + // 490: aload 8 + // 492: ifnull +16 -> 508 + // 495: aload 8 + // 497: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 500: ifeq +8 -> 508 + // 503: aload 8 + // 505: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 508: aload 6 + // 510: ifnull +8 -> 518 + // 513: aload 6 + // 515: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 518: ldc 220 + // 520: iconst_0 + // 521: anewarray 4 java/lang/Object + // 524: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 527: pop + // 528: aload_0 + // 529: athrow + // 530: astore_0 + // 531: aconst_null + // 532: astore_1 + // 533: goto -62 -> 471 + // 536: astore_1 + // 537: aconst_null + // 538: astore 9 + // 540: aload_0 + // 541: astore 8 + // 543: aload_1 + // 544: astore_0 + // 545: aload 9 + // 547: astore_1 + // 548: goto -77 -> 471 + // 551: astore 9 + // 553: aload_0 + // 554: astore 8 + // 556: aload 9 + // 558: astore_0 + // 559: goto -88 -> 471 + // 562: astore 8 + // 564: aload_0 + // 565: astore 9 + // 567: aload 8 + // 569: astore_0 + // 570: aload 6 + // 572: astore 8 + // 574: aload 9 + // 576: astore 6 + // 578: goto -107 -> 471 + // 581: astore 8 + // 583: aload 6 + // 585: astore_0 + // 586: aconst_null + // 587: astore_1 + // 588: aload 9 + // 590: astore 6 + // 592: goto -197 -> 395 + // 595: astore 8 + // 597: aload 6 + // 599: astore_1 + // 600: aconst_null + // 601: astore 9 + // 603: aload_0 + // 604: astore 6 + // 606: aload_1 + // 607: astore_0 + // 608: aload 9 + // 610: astore_1 + // 611: goto -216 -> 395 + // 614: astore 8 + // 616: aload 6 + // 618: astore 9 + // 620: aload_0 + // 621: astore 6 + // 623: aload 9 + // 625: astore_0 + // 626: goto -231 -> 395 + // Local variable table: + // start length slot name signature + // 0 629 0 paramContext Context + // 0 629 1 paramArrayOfInt int[] + // 0 629 2 paramLong1 long + // 0 629 4 paramLong2 long + // 0 629 6 paramString String + // 90 292 7 k int + // 70 173 8 str1 String + // 384 120 8 localThrowable1 Throwable + // 541 14 8 localContext Context + // 562 6 8 localObject1 Object + // 572 1 8 str2 String + // 581 1 8 localThrowable2 Throwable + // 595 1 8 localThrowable3 Throwable + // 614 1 8 localThrowable4 Throwable + // 66 480 9 str3 String + // 551 6 9 localObject2 Object + // 565 59 9 localObject3 Object + // 239 150 10 localObject4 Object + // Exception table: + // from to target type + // 247 257 384 java/lang/Throwable + // 247 257 465 finally + // 257 263 530 finally + // 263 284 536 finally + // 284 332 551 finally + // 395 408 562 finally + // 257 263 581 java/lang/Throwable + // 263 284 595 java/lang/Throwable + // 284 332 614 java/lang/Throwable + } + + /* Error */ + public static int a(Context paramContext, Long[] paramArrayOfLong) + { + // Byte code: + // 0: aconst_null + // 1: astore 10 + // 3: aconst_null + // 4: astore 7 + // 6: aconst_null + // 7: astore 11 + // 9: aconst_null + // 10: astore 8 + // 12: ldc 223 + // 14: iconst_0 + // 15: anewarray 4 java/lang/Object + // 18: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 21: pop + // 22: aload_0 + // 23: ifnonnull +15 -> 38 + // 26: ldc 225 + // 28: iconst_0 + // 29: anewarray 4 java/lang/Object + // 32: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 35: pop + // 36: iconst_m1 + // 37: ireturn + // 38: aload_1 + // 39: ifnull +8 -> 47 + // 42: aload_1 + // 43: arraylength + // 44: ifgt +5 -> 49 + // 47: iconst_0 + // 48: ireturn + // 49: new 68 com/tencent/feedback/proguard/n + // 52: dup + // 53: aload_0 + // 54: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 57: astore 9 + // 59: aload 7 + // 61: astore_0 + // 62: aload 9 + // 64: astore 7 + // 66: aload 11 + // 68: astore 8 + // 70: aload 9 + // 72: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 75: astore 10 + // 77: aload 10 + // 79: astore_0 + // 80: aload 9 + // 82: astore 7 + // 84: aload 10 + // 86: astore 8 + // 88: new 227 java/lang/StringBuffer + // 91: dup + // 92: invokespecial 228 java/lang/StringBuffer: ()V + // 95: astore 11 + // 97: iconst_0 + // 98: istore_2 + // 99: iconst_0 + // 100: istore_3 + // 101: aload 10 + // 103: astore_0 + // 104: aload 9 + // 106: astore 7 + // 108: aload 10 + // 110: astore 8 + // 112: iload_3 + // 113: aload_1 + // 114: arraylength + // 115: if_icmpge +193 -> 308 + // 118: aload 10 + // 120: astore_0 + // 121: aload 9 + // 123: astore 7 + // 125: aload 10 + // 127: astore 8 + // 129: aload_1 + // 130: iload_3 + // 131: aaload + // 132: invokevirtual 234 java/lang/Long:longValue ()J + // 135: lstore 5 + // 137: aload 10 + // 139: astore_0 + // 140: aload 9 + // 142: astore 7 + // 144: aload 10 + // 146: astore 8 + // 148: aload 11 + // 150: new 95 java/lang/StringBuilder + // 153: dup + // 154: ldc 236 + // 156: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 159: lload 5 + // 161: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 164: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 167: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 170: pop + // 171: iload_2 + // 172: istore 4 + // 174: iload_3 + // 175: ifle +389 -> 564 + // 178: iload_2 + // 179: istore 4 + // 181: iload_3 + // 182: bipush 50 + // 184: irem + // 185: ifne +379 -> 564 + // 188: aload 10 + // 190: astore_0 + // 191: aload 9 + // 193: astore 7 + // 195: aload 10 + // 197: astore 8 + // 199: new 95 java/lang/StringBuilder + // 202: dup + // 203: ldc 241 + // 205: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 208: iload_3 + // 209: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 212: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 215: iconst_0 + // 216: anewarray 4 java/lang/Object + // 219: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 222: pop + // 223: aload 10 + // 225: astore_0 + // 226: aload 9 + // 228: astore 7 + // 230: aload 10 + // 232: astore 8 + // 234: iload_2 + // 235: aload 10 + // 237: ldc 176 + // 239: aload 11 + // 241: iconst_4 + // 242: invokevirtual 242 java/lang/StringBuffer:substring (I)Ljava/lang/String; + // 245: aconst_null + // 246: invokevirtual 114 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 249: iadd + // 250: istore 4 + // 252: aload 10 + // 254: astore_0 + // 255: aload 9 + // 257: astore 7 + // 259: aload 10 + // 261: astore 8 + // 263: aload 11 + // 265: iconst_0 + // 266: invokevirtual 246 java/lang/StringBuffer:setLength (I)V + // 269: aload 10 + // 271: astore_0 + // 272: aload 9 + // 274: astore 7 + // 276: aload 10 + // 278: astore 8 + // 280: new 95 java/lang/StringBuilder + // 283: dup + // 284: ldc 248 + // 286: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 289: iload 4 + // 291: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 294: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 297: iconst_0 + // 298: anewarray 4 java/lang/Object + // 301: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 304: pop + // 305: goto +259 -> 564 + // 308: iload_2 + // 309: istore_3 + // 310: aload 10 + // 312: astore_0 + // 313: aload 9 + // 315: astore 7 + // 317: aload 10 + // 319: astore 8 + // 321: aload 11 + // 323: invokevirtual 252 java/lang/StringBuffer:length ()I + // 326: ifle +48 -> 374 + // 329: aload 10 + // 331: astore_0 + // 332: aload 9 + // 334: astore 7 + // 336: aload 10 + // 338: astore 8 + // 340: iload_2 + // 341: aload 10 + // 343: ldc 176 + // 345: aload 11 + // 347: iconst_4 + // 348: invokevirtual 242 java/lang/StringBuffer:substring (I)Ljava/lang/String; + // 351: aconst_null + // 352: invokevirtual 114 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 355: iadd + // 356: istore_3 + // 357: aload 10 + // 359: astore_0 + // 360: aload 9 + // 362: astore 7 + // 364: aload 10 + // 366: astore 8 + // 368: aload 11 + // 370: iconst_0 + // 371: invokevirtual 246 java/lang/StringBuffer:setLength (I)V + // 374: aload 10 + // 376: astore_0 + // 377: aload 9 + // 379: astore 7 + // 381: aload 10 + // 383: astore 8 + // 385: new 95 java/lang/StringBuilder + // 388: dup + // 389: ldc 254 + // 391: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 394: iload_3 + // 395: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 398: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 401: iconst_0 + // 402: anewarray 4 java/lang/Object + // 405: invokestatic 141 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 408: pop + // 409: aload 10 + // 411: ifnull +16 -> 427 + // 414: aload 10 + // 416: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 419: ifeq +8 -> 427 + // 422: aload 10 + // 424: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 427: aload 9 + // 429: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 432: ldc_w 256 + // 435: iconst_0 + // 436: anewarray 4 java/lang/Object + // 439: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 442: pop + // 443: iload_3 + // 444: ireturn + // 445: astore 10 + // 447: aconst_null + // 448: astore_1 + // 449: aload 8 + // 451: astore_0 + // 452: aload_1 + // 453: astore 7 + // 455: aload 10 + // 457: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 460: iconst_0 + // 461: anewarray 4 java/lang/Object + // 464: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 467: pop + // 468: aload 8 + // 470: ifnull +16 -> 486 + // 473: aload 8 + // 475: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 478: ifeq +8 -> 486 + // 481: aload 8 + // 483: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 486: aload_1 + // 487: ifnull +7 -> 494 + // 490: aload_1 + // 491: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 494: ldc_w 256 + // 497: iconst_0 + // 498: anewarray 4 java/lang/Object + // 501: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 504: pop + // 505: iconst_m1 + // 506: ireturn + // 507: astore_1 + // 508: aconst_null + // 509: astore 7 + // 511: aload 10 + // 513: astore_0 + // 514: aload_0 + // 515: ifnull +14 -> 529 + // 518: aload_0 + // 519: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 522: ifeq +7 -> 529 + // 525: aload_0 + // 526: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 529: aload 7 + // 531: ifnull +8 -> 539 + // 534: aload 7 + // 536: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 539: ldc_w 256 + // 542: iconst_0 + // 543: anewarray 4 java/lang/Object + // 546: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 549: pop + // 550: aload_1 + // 551: athrow + // 552: astore_1 + // 553: goto -39 -> 514 + // 556: astore 10 + // 558: aload 9 + // 560: astore_1 + // 561: goto -112 -> 449 + // 564: iload_3 + // 565: iconst_1 + // 566: iadd + // 567: istore_3 + // 568: iload 4 + // 570: istore_2 + // 571: goto -470 -> 101 + // Local variable table: + // start length slot name signature + // 0 574 0 paramContext Context + // 0 574 1 paramArrayOfLong Long[] + // 98 473 2 k int + // 100 468 3 m int + // 172 397 4 n int + // 135 25 5 l long + // 4 531 7 localObject1 Object + // 10 472 8 localObject2 Object + // 57 502 9 localn n + // 1 422 10 localSQLiteDatabase android.database.sqlite.SQLiteDatabase + // 445 67 10 localThrowable1 Throwable + // 556 1 10 localThrowable2 Throwable + // 7 362 11 localStringBuffer java.lang.StringBuffer + // Exception table: + // from to target type + // 49 59 445 java/lang/Throwable + // 49 59 507 finally + // 70 77 552 finally + // 88 97 552 finally + // 112 118 552 finally + // 129 137 552 finally + // 148 171 552 finally + // 199 223 552 finally + // 234 252 552 finally + // 263 269 552 finally + // 280 305 552 finally + // 321 329 552 finally + // 340 357 552 finally + // 368 374 552 finally + // 385 409 552 finally + // 455 468 552 finally + // 70 77 556 java/lang/Throwable + // 88 97 556 java/lang/Throwable + // 112 118 556 java/lang/Throwable + // 129 137 556 java/lang/Throwable + // 148 171 556 java/lang/Throwable + // 199 223 556 java/lang/Throwable + // 234 252 556 java/lang/Throwable + // 263 269 556 java/lang/Throwable + // 280 305 556 java/lang/Throwable + // 321 329 556 java/lang/Throwable + // 340 357 556 java/lang/Throwable + // 368 374 556 java/lang/Throwable + // 385 409 556 java/lang/Throwable + } + + public static ContentValues a(l paraml) + { + ContentValues localContentValues = new ContentValues(); + if (paraml.a > 0L) { + localContentValues.put("_id", Long.valueOf(paraml.a)); + } + localContentValues.put("_prority", Integer.valueOf(paraml.c)); + localContentValues.put("_time", Long.valueOf(paraml.d)); + localContentValues.put("_type", Integer.valueOf(paraml.b)); + localContentValues.put("_datas", paraml.e); + localContentValues.put("_length", Long.valueOf(paraml.f)); + localContentValues.put("_key", paraml.g); + localContentValues.put("_count", Integer.valueOf(paraml.c())); + localContentValues.put("_upCounts", Integer.valueOf(paraml.d())); + localContentValues.put("_state", Integer.valueOf(paraml.e())); + return localContentValues; + } + + /* Error */ + public static List a(Context paramContext, String paramString, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +7 -> 8 + // 4: iload_3 + // 5: ifne +23 -> 28 + // 8: ldc_w 305 + // 11: iconst_1 + // 12: anewarray 4 java/lang/Object + // 15: dup + // 16: iconst_0 + // 17: iload_3 + // 18: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 21: aastore + // 22: invokestatic 56 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 25: pop + // 26: aconst_null + // 27: areturn + // 28: aload_1 + // 29: ifnonnull +144 -> 173 + // 32: ldc_w 307 + // 35: astore 4 + // 37: ldc_w 309 + // 40: iconst_3 + // 41: anewarray 4 java/lang/Object + // 44: dup + // 45: iconst_0 + // 46: aload 4 + // 48: aastore + // 49: dup + // 50: iconst_1 + // 51: iload_2 + // 52: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 55: aastore + // 56: dup + // 57: iconst_2 + // 58: iload_3 + // 59: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 62: aastore + // 63: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 66: pop + // 67: aconst_null + // 68: astore 7 + // 70: aconst_null + // 71: astore 8 + // 73: new 68 com/tencent/feedback/proguard/n + // 76: dup + // 77: aload_0 + // 78: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 81: astore 4 + // 83: aload 4 + // 85: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 88: astore_0 + // 89: aload_0 + // 90: ifnonnull +89 -> 179 + // 93: ldc_w 311 + // 96: iconst_0 + // 97: anewarray 4 java/lang/Object + // 100: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 103: pop + // 104: ldc_w 313 + // 107: iconst_0 + // 108: anewarray 4 java/lang/Object + // 111: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 114: pop + // 115: aload_0 + // 116: ifnull +14 -> 130 + // 119: aload_0 + // 120: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 123: ifeq +7 -> 130 + // 126: aload_0 + // 127: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 130: aload 4 + // 132: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 135: ldc_w 315 + // 138: iconst_1 + // 139: anewarray 4 java/lang/Object + // 142: dup + // 143: iconst_0 + // 144: iconst_m1 + // 145: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 148: aastore + // 149: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 152: pop + // 153: ldc_w 317 + // 156: iconst_1 + // 157: anewarray 4 java/lang/Object + // 160: dup + // 161: iconst_0 + // 162: iconst_m1 + // 163: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 166: aastore + // 167: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 170: pop + // 171: aconst_null + // 172: areturn + // 173: aload_1 + // 174: astore 4 + // 176: goto -139 -> 37 + // 179: new 227 java/lang/StringBuffer + // 182: dup + // 183: invokespecial 228 java/lang/StringBuffer: ()V + // 186: astore 5 + // 188: aload_1 + // 189: ifnull +54 -> 243 + // 192: aload 5 + // 194: invokevirtual 252 java/lang/StringBuffer:length ()I + // 197: ifle +12 -> 209 + // 200: aload 5 + // 202: ldc_w 319 + // 205: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 208: pop + // 209: aload 5 + // 211: ldc_w 321 + // 214: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 217: pop + // 218: aload 5 + // 220: ldc_w 323 + // 223: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 226: pop + // 227: aload 5 + // 229: aload_1 + // 230: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 233: pop + // 234: aload 5 + // 236: ldc_w 325 + // 239: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 242: pop + // 243: iload_2 + // 244: iflt +45 -> 289 + // 247: aload 5 + // 249: invokevirtual 252 java/lang/StringBuffer:length ()I + // 252: ifle +12 -> 264 + // 255: aload 5 + // 257: ldc_w 319 + // 260: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 263: pop + // 264: aload 5 + // 266: ldc_w 327 + // 269: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 272: pop + // 273: aload 5 + // 275: ldc_w 329 + // 278: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 281: pop + // 282: aload 5 + // 284: iload_2 + // 285: invokevirtual 332 java/lang/StringBuffer:append (I)Ljava/lang/StringBuffer; + // 288: pop + // 289: aload 5 + // 291: invokevirtual 252 java/lang/StringBuffer:length ()I + // 294: ifle +279 -> 573 + // 297: aload 5 + // 299: invokevirtual 333 java/lang/StringBuffer:toString ()Ljava/lang/String; + // 302: astore_1 + // 303: iload_3 + // 304: ifle +274 -> 578 + // 307: new 95 java/lang/StringBuilder + // 310: dup + // 311: invokespecial 154 java/lang/StringBuilder: ()V + // 314: iload_3 + // 315: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 318: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 321: astore 5 + // 323: aload_0 + // 324: ldc 110 + // 326: aconst_null + // 327: aload_1 + // 328: aconst_null + // 329: aconst_null + // 330: aconst_null + // 331: aconst_null + // 332: aload 5 + // 334: invokevirtual 336 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 337: astore 6 + // 339: aload 6 + // 341: ifnull +591 -> 932 + // 344: new 338 java/util/ArrayList + // 347: dup + // 348: invokespecial 339 java/util/ArrayList: ()V + // 351: astore_1 + // 352: aload 6 + // 354: invokeinterface 202 1 0 + // 359: ifeq +225 -> 584 + // 362: aload 6 + // 364: invokestatic 342 com/tencent/feedback/proguard/l:b (Landroid/database/Cursor;)Lcom/tencent/feedback/proguard/o; + // 367: astore 5 + // 369: aload 5 + // 371: ifnull +213 -> 584 + // 374: ldc_w 344 + // 377: iconst_4 + // 378: anewarray 4 java/lang/Object + // 381: dup + // 382: iconst_0 + // 383: aload 5 + // 385: invokevirtual 348 com/tencent/feedback/proguard/o:a ()Ljava/lang/String; + // 388: aastore + // 389: dup + // 390: iconst_1 + // 391: aload 5 + // 393: invokevirtual 350 com/tencent/feedback/proguard/o:d ()Ljava/lang/String; + // 396: aastore + // 397: dup + // 398: iconst_2 + // 399: aload 5 + // 401: invokevirtual 351 com/tencent/feedback/proguard/o:e ()I + // 404: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 407: aastore + // 408: dup + // 409: iconst_3 + // 410: aload 5 + // 412: invokevirtual 353 com/tencent/feedback/proguard/o:f ()Ljava/lang/String; + // 415: aastore + // 416: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 419: pop + // 420: aload_1 + // 421: aload 5 + // 423: invokeinterface 359 2 0 + // 428: pop + // 429: goto -77 -> 352 + // 432: astore 5 + // 434: aload_1 + // 435: astore 7 + // 437: aload_0 + // 438: astore_1 + // 439: aload 7 + // 441: astore_0 + // 442: ldc_w 361 + // 445: iconst_0 + // 446: anewarray 4 java/lang/Object + // 449: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 452: pop + // 453: ldc_w 313 + // 456: iconst_0 + // 457: anewarray 4 java/lang/Object + // 460: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 463: pop + // 464: aload 5 + // 466: invokestatic 128 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 469: ifne +8 -> 477 + // 472: aload 5 + // 474: invokevirtual 131 java/lang/Throwable:printStackTrace ()V + // 477: aload 6 + // 479: ifnull +20 -> 499 + // 482: aload 6 + // 484: invokeinterface 217 1 0 + // 489: ifne +10 -> 499 + // 492: aload 6 + // 494: invokeinterface 218 1 0 + // 499: aload_1 + // 500: ifnull +14 -> 514 + // 503: aload_1 + // 504: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 507: ifeq +7 -> 514 + // 510: aload_1 + // 511: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 514: aload 4 + // 516: ifnull +8 -> 524 + // 519: aload 4 + // 521: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 524: aload_0 + // 525: ifnull +155 -> 680 + // 528: aload_0 + // 529: invokeinterface 364 1 0 + // 534: istore_2 + // 535: ldc_w 315 + // 538: iconst_1 + // 539: anewarray 4 java/lang/Object + // 542: dup + // 543: iconst_0 + // 544: iload_2 + // 545: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 548: aastore + // 549: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 552: pop + // 553: ldc_w 317 + // 556: iconst_1 + // 557: anewarray 4 java/lang/Object + // 560: dup + // 561: iconst_0 + // 562: iload_2 + // 563: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 566: aastore + // 567: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 570: pop + // 571: aload_0 + // 572: areturn + // 573: aconst_null + // 574: astore_1 + // 575: goto -272 -> 303 + // 578: aconst_null + // 579: astore 5 + // 581: goto -258 -> 323 + // 584: aload 6 + // 586: ifnull +20 -> 606 + // 589: aload 6 + // 591: invokeinterface 217 1 0 + // 596: ifne +10 -> 606 + // 599: aload 6 + // 601: invokeinterface 218 1 0 + // 606: aload_0 + // 607: ifnull +14 -> 621 + // 610: aload_0 + // 611: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 614: ifeq +7 -> 621 + // 617: aload_0 + // 618: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 621: aload 4 + // 623: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 626: aload_1 + // 627: ifnull +48 -> 675 + // 630: aload_1 + // 631: invokeinterface 364 1 0 + // 636: istore_2 + // 637: ldc_w 315 + // 640: iconst_1 + // 641: anewarray 4 java/lang/Object + // 644: dup + // 645: iconst_0 + // 646: iload_2 + // 647: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 650: aastore + // 651: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 654: pop + // 655: ldc_w 317 + // 658: iconst_1 + // 659: anewarray 4 java/lang/Object + // 662: dup + // 663: iconst_0 + // 664: iload_2 + // 665: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 668: aastore + // 669: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 672: pop + // 673: aload_1 + // 674: areturn + // 675: iconst_m1 + // 676: istore_2 + // 677: goto -40 -> 637 + // 680: iconst_m1 + // 681: istore_2 + // 682: goto -147 -> 535 + // 685: astore_0 + // 686: aconst_null + // 687: astore 4 + // 689: aconst_null + // 690: astore_1 + // 691: aload 7 + // 693: astore 6 + // 695: aload 8 + // 697: astore 5 + // 699: aload 5 + // 701: ifnull +20 -> 721 + // 704: aload 5 + // 706: invokeinterface 217 1 0 + // 711: ifne +10 -> 721 + // 714: aload 5 + // 716: invokeinterface 218 1 0 + // 721: aload_1 + // 722: ifnull +14 -> 736 + // 725: aload_1 + // 726: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 729: ifeq +7 -> 736 + // 732: aload_1 + // 733: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 736: aload 4 + // 738: ifnull +8 -> 746 + // 741: aload 4 + // 743: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 746: aload 6 + // 748: ifnull +49 -> 797 + // 751: aload 6 + // 753: invokeinterface 364 1 0 + // 758: istore_2 + // 759: ldc_w 315 + // 762: iconst_1 + // 763: anewarray 4 java/lang/Object + // 766: dup + // 767: iconst_0 + // 768: iload_2 + // 769: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 772: aastore + // 773: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 776: pop + // 777: ldc_w 317 + // 780: iconst_1 + // 781: anewarray 4 java/lang/Object + // 784: dup + // 785: iconst_0 + // 786: iload_2 + // 787: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 790: aastore + // 791: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 794: pop + // 795: aload_0 + // 796: athrow + // 797: iconst_m1 + // 798: istore_2 + // 799: goto -40 -> 759 + // 802: astore_0 + // 803: aconst_null + // 804: astore_1 + // 805: aload 8 + // 807: astore 5 + // 809: aload 7 + // 811: astore 6 + // 813: goto -114 -> 699 + // 816: astore 5 + // 818: aload_0 + // 819: astore_1 + // 820: aload 5 + // 822: astore_0 + // 823: aload 8 + // 825: astore 5 + // 827: aload 7 + // 829: astore 6 + // 831: goto -132 -> 699 + // 834: astore 8 + // 836: aload 6 + // 838: astore 5 + // 840: aload_0 + // 841: astore_1 + // 842: aload 8 + // 844: astore_0 + // 845: aload 7 + // 847: astore 6 + // 849: goto -150 -> 699 + // 852: astore 7 + // 854: aload 6 + // 856: astore 5 + // 858: aload_1 + // 859: astore 6 + // 861: aload_0 + // 862: astore_1 + // 863: aload 7 + // 865: astore_0 + // 866: goto -167 -> 699 + // 869: astore 7 + // 871: aload 6 + // 873: astore 5 + // 875: aload_0 + // 876: astore 6 + // 878: aload 7 + // 880: astore_0 + // 881: goto -182 -> 699 + // 884: astore 5 + // 886: aconst_null + // 887: astore_1 + // 888: aconst_null + // 889: astore 4 + // 891: aconst_null + // 892: astore 6 + // 894: aconst_null + // 895: astore_0 + // 896: goto -454 -> 442 + // 899: astore 5 + // 901: aconst_null + // 902: astore 6 + // 904: aconst_null + // 905: astore_1 + // 906: aconst_null + // 907: astore_0 + // 908: goto -466 -> 442 + // 911: astore 5 + // 913: aconst_null + // 914: astore 6 + // 916: aload_0 + // 917: astore_1 + // 918: aconst_null + // 919: astore_0 + // 920: goto -478 -> 442 + // 923: astore 5 + // 925: aload_0 + // 926: astore_1 + // 927: aconst_null + // 928: astore_0 + // 929: goto -487 -> 442 + // 932: aconst_null + // 933: astore_1 + // 934: goto -350 -> 584 + // Local variable table: + // start length slot name signature + // 0 937 0 paramContext Context + // 0 937 1 paramString String + // 0 937 2 paramInt1 int + // 0 937 3 paramInt2 int + // 35 855 4 localObject1 Object + // 186 236 5 localObject2 Object + // 432 41 5 localThrowable1 Throwable + // 579 229 5 localObject3 Object + // 816 5 5 localObject4 Object + // 825 49 5 localObject5 Object + // 884 1 5 localThrowable2 Throwable + // 899 1 5 localThrowable3 Throwable + // 911 1 5 localThrowable4 Throwable + // 923 1 5 localThrowable5 Throwable + // 337 578 6 localObject6 Object + // 68 778 7 str String + // 852 12 7 localObject7 Object + // 869 10 7 localObject8 Object + // 71 753 8 localObject9 Object + // 834 9 8 localObject10 Object + // Exception table: + // from to target type + // 352 369 432 java/lang/Throwable + // 374 429 432 java/lang/Throwable + // 73 83 685 finally + // 83 89 802 finally + // 93 115 816 finally + // 179 188 816 finally + // 192 209 816 finally + // 209 243 816 finally + // 247 264 816 finally + // 264 289 816 finally + // 289 303 816 finally + // 307 323 816 finally + // 323 339 816 finally + // 344 352 834 finally + // 352 369 852 finally + // 374 429 852 finally + // 442 477 869 finally + // 73 83 884 java/lang/Throwable + // 83 89 899 java/lang/Throwable + // 93 115 911 java/lang/Throwable + // 179 188 911 java/lang/Throwable + // 192 209 911 java/lang/Throwable + // 209 243 911 java/lang/Throwable + // 247 264 911 java/lang/Throwable + // 264 289 911 java/lang/Throwable + // 289 303 911 java/lang/Throwable + // 307 323 911 java/lang/Throwable + // 323 339 911 java/lang/Throwable + // 344 352 923 java/lang/Throwable + } + + public static List a(Context paramContext, int[] paramArrayOfInt, int paramInt1, int paramInt2, long paramLong1, int paramInt3, String paramString, int paramInt4, int paramInt5, int paramInt6, int paramInt7, long paramLong2, long paramLong3) + { + return a(paramContext, paramArrayOfInt, -1, -1, paramLong1, paramInt3, paramString, -1, -1, -1, -1, -1L, 9223372036854775807L, -1); + } + + /* Error */ + public static List a(Context paramContext, int[] paramArrayOfInt, int paramInt1, int paramInt2, long paramLong1, int paramInt3, String paramString, int paramInt4, int paramInt5, int paramInt6, int paramInt7, long paramLong2, long paramLong3, int paramInt8) + { + // Byte code: + // 0: ldc_w 375 + // 3: iconst_0 + // 4: anewarray 4 java/lang/Object + // 7: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 10: pop + // 11: aload_0 + // 12: ifnull +49 -> 61 + // 15: lload 4 + // 17: lconst_0 + // 18: lcmp + // 19: ifeq +42 -> 61 + // 22: lload 14 + // 24: lconst_0 + // 25: lcmp + // 26: ifle +11 -> 37 + // 29: lload 12 + // 31: lload 14 + // 33: lcmp + // 34: ifgt +27 -> 61 + // 37: iload 9 + // 39: ifle +10 -> 49 + // 42: iload 8 + // 44: iload 9 + // 46: if_icmpgt +15 -> 61 + // 49: iload 11 + // 51: ifle +23 -> 74 + // 54: iload 10 + // 56: iload 11 + // 58: if_icmple +16 -> 74 + // 61: ldc_w 377 + // 64: iconst_0 + // 65: anewarray 4 java/lang/Object + // 68: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 71: pop + // 72: aconst_null + // 73: areturn + // 74: lload 4 + // 76: lstore 18 + // 78: lload 4 + // 80: lconst_0 + // 81: lcmp + // 82: ifge +8 -> 90 + // 85: ldc2_w 368 + // 88: lstore 18 + // 90: aload_1 + // 91: ifnull +2100 -> 2191 + // 94: aload_1 + // 95: arraylength + // 96: ifle +2095 -> 2191 + // 99: ldc 160 + // 101: astore 20 + // 103: iconst_0 + // 104: istore 17 + // 106: iload 17 + // 108: aload_1 + // 109: arraylength + // 110: if_icmpge +41 -> 151 + // 113: new 95 java/lang/StringBuilder + // 116: dup + // 117: invokespecial 154 java/lang/StringBuilder: ()V + // 120: aload 20 + // 122: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 125: ldc 162 + // 127: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 130: aload_1 + // 131: iload 17 + // 133: iaload + // 134: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 137: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 140: astore 20 + // 142: iload 17 + // 144: iconst_1 + // 145: iadd + // 146: istore 17 + // 148: goto -42 -> 106 + // 151: new 95 java/lang/StringBuilder + // 154: dup + // 155: invokespecial 154 java/lang/StringBuilder: ()V + // 158: ldc 160 + // 160: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 163: aload 20 + // 165: iconst_4 + // 166: invokevirtual 168 java/lang/String:substring (I)Ljava/lang/String; + // 169: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 172: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 175: astore_1 + // 176: aload_1 + // 177: invokevirtual 378 java/lang/String:length ()I + // 180: ifle +938 -> 1118 + // 183: new 95 java/lang/StringBuilder + // 186: dup + // 187: ldc_w 380 + // 190: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 193: aload_1 + // 194: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 197: ldc_w 382 + // 200: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 203: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 206: astore 20 + // 208: aload 20 + // 210: astore_1 + // 211: aload 7 + // 213: ifnull +56 -> 269 + // 216: new 95 java/lang/StringBuilder + // 219: dup + // 220: invokespecial 154 java/lang/StringBuilder: ()V + // 223: aload 20 + // 225: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 228: astore 21 + // 230: aload 20 + // 232: invokevirtual 378 java/lang/String:length ()I + // 235: ifle +890 -> 1125 + // 238: ldc_w 319 + // 241: astore_1 + // 242: aload 21 + // 244: aload_1 + // 245: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 248: ldc_w 384 + // 251: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 254: aload 7 + // 256: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 259: ldc_w 325 + // 262: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 265: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 268: astore_1 + // 269: aload_1 + // 270: astore 7 + // 272: iload 8 + // 274: iflt +55 -> 329 + // 277: new 95 java/lang/StringBuilder + // 280: dup + // 281: invokespecial 154 java/lang/StringBuilder: ()V + // 284: aload_1 + // 285: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 288: astore 7 + // 290: aload_1 + // 291: invokevirtual 378 java/lang/String:length ()I + // 294: ifle +837 -> 1131 + // 297: ldc_w 319 + // 300: astore_1 + // 301: aload 7 + // 303: aload_1 + // 304: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 307: ldc_w 386 + // 310: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 313: iload 8 + // 315: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 318: ldc_w 388 + // 321: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 324: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 327: astore 7 + // 329: aload 7 + // 331: astore_1 + // 332: iload 9 + // 334: iflt +56 -> 390 + // 337: new 95 java/lang/StringBuilder + // 340: dup + // 341: invokespecial 154 java/lang/StringBuilder: ()V + // 344: aload 7 + // 346: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 349: astore 20 + // 351: aload 7 + // 353: invokevirtual 378 java/lang/String:length ()I + // 356: ifle +781 -> 1137 + // 359: ldc_w 319 + // 362: astore_1 + // 363: aload 20 + // 365: aload_1 + // 366: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 369: ldc_w 390 + // 372: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 375: iload 9 + // 377: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 380: ldc_w 388 + // 383: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 386: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 389: astore_1 + // 390: aload_1 + // 391: astore 7 + // 393: iload 10 + // 395: iflt +55 -> 450 + // 398: new 95 java/lang/StringBuilder + // 401: dup + // 402: invokespecial 154 java/lang/StringBuilder: ()V + // 405: aload_1 + // 406: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 409: astore 7 + // 411: aload_1 + // 412: invokevirtual 378 java/lang/String:length ()I + // 415: ifle +728 -> 1143 + // 418: ldc_w 319 + // 421: astore_1 + // 422: aload 7 + // 424: aload_1 + // 425: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 428: ldc_w 392 + // 431: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 434: iload 10 + // 436: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 439: ldc_w 388 + // 442: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 445: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 448: astore 7 + // 450: aload 7 + // 452: astore_1 + // 453: iload 11 + // 455: iflt +56 -> 511 + // 458: new 95 java/lang/StringBuilder + // 461: dup + // 462: invokespecial 154 java/lang/StringBuilder: ()V + // 465: aload 7 + // 467: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 470: astore 20 + // 472: aload 7 + // 474: invokevirtual 378 java/lang/String:length ()I + // 477: ifle +672 -> 1149 + // 480: ldc_w 319 + // 483: astore_1 + // 484: aload 20 + // 486: aload_1 + // 487: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 490: ldc_w 394 + // 493: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 496: iload 11 + // 498: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 501: ldc_w 388 + // 504: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 507: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 510: astore_1 + // 511: aload_1 + // 512: astore 7 + // 514: lload 12 + // 516: lconst_0 + // 517: lcmp + // 518: iflt +54 -> 572 + // 521: new 95 java/lang/StringBuilder + // 524: dup + // 525: invokespecial 154 java/lang/StringBuilder: ()V + // 528: aload_1 + // 529: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 532: astore 7 + // 534: aload_1 + // 535: invokevirtual 378 java/lang/String:length ()I + // 538: ifle +617 -> 1155 + // 541: ldc_w 319 + // 544: astore_1 + // 545: aload 7 + // 547: aload_1 + // 548: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 551: ldc 143 + // 553: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 556: lload 12 + // 558: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 561: ldc_w 388 + // 564: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 567: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 570: astore 7 + // 572: aload 7 + // 574: astore_1 + // 575: lload 14 + // 577: lconst_0 + // 578: lcmp + // 579: iflt +56 -> 635 + // 582: new 95 java/lang/StringBuilder + // 585: dup + // 586: invokespecial 154 java/lang/StringBuilder: ()V + // 589: aload 7 + // 591: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 594: astore 20 + // 596: aload 7 + // 598: invokevirtual 378 java/lang/String:length ()I + // 601: ifle +560 -> 1161 + // 604: ldc_w 319 + // 607: astore_1 + // 608: aload 20 + // 610: aload_1 + // 611: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 614: ldc_w 396 + // 617: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 620: lload 14 + // 622: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 625: ldc_w 388 + // 628: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 631: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 634: astore_1 + // 635: aload_1 + // 636: astore 7 + // 638: iload 16 + // 640: iflt +55 -> 695 + // 643: new 95 java/lang/StringBuilder + // 646: dup + // 647: invokespecial 154 java/lang/StringBuilder: ()V + // 650: aload_1 + // 651: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 654: astore 7 + // 656: aload_1 + // 657: invokevirtual 378 java/lang/String:length ()I + // 660: ifle +507 -> 1167 + // 663: ldc_w 319 + // 666: astore_1 + // 667: aload 7 + // 669: aload_1 + // 670: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 673: ldc_w 398 + // 676: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 679: iload 16 + // 681: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 684: ldc_w 388 + // 687: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 690: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 693: astore 7 + // 695: ldc 160 + // 697: astore_1 + // 698: iload_2 + // 699: tableswitch default:+21 -> 720, 1:+474->1173, 2:+499->1198 + // 721: tableswitch default:+23 -> 744, 1:+502->1223, 2:+526->1247 + // 745: ldc_w 400 + // 748: invokevirtual 404 java/lang/String:endsWith (Ljava/lang/String;)Z + // 751: ifeq +1437 -> 2188 + // 754: aload_1 + // 755: iconst_0 + // 756: aload_1 + // 757: invokevirtual 378 java/lang/String:length ()I + // 760: iconst_3 + // 761: isub + // 762: invokevirtual 407 java/lang/String:substring (II)Ljava/lang/String; + // 765: astore_1 + // 766: ldc_w 409 + // 769: iconst_1 + // 770: anewarray 4 java/lang/Object + // 773: dup + // 774: iconst_0 + // 775: aload 7 + // 777: aastore + // 778: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 781: pop + // 782: aconst_null + // 783: astore 23 + // 785: aconst_null + // 786: astore 20 + // 788: aconst_null + // 789: astore 22 + // 791: new 338 java/util/ArrayList + // 794: dup + // 795: invokespecial 339 java/util/ArrayList: ()V + // 798: astore 24 + // 800: new 68 com/tencent/feedback/proguard/n + // 803: dup + // 804: aload_0 + // 805: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 808: astore 21 + // 810: aload 21 + // 812: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 815: astore_0 + // 816: lload 18 + // 818: lconst_0 + // 819: lcmp + // 820: ifle +1100 -> 1920 + // 823: aload_1 + // 824: astore 20 + // 826: aload_1 + // 827: invokevirtual 378 java/lang/String:length ()I + // 830: ifle +25 -> 855 + // 833: new 95 java/lang/StringBuilder + // 836: dup + // 837: invokespecial 154 java/lang/StringBuilder: ()V + // 840: aload_1 + // 841: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 844: ldc_w 400 + // 847: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 850: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 853: astore 20 + // 855: new 95 java/lang/StringBuilder + // 858: dup + // 859: invokespecial 154 java/lang/StringBuilder: ()V + // 862: aload 20 + // 864: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 867: ldc_w 411 + // 870: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 873: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 876: astore 23 + // 878: iload 6 + // 880: iflt +391 -> 1271 + // 883: new 95 java/lang/StringBuilder + // 886: dup + // 887: invokespecial 154 java/lang/StringBuilder: ()V + // 890: iload 6 + // 892: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 895: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 898: astore_1 + // 899: aload_0 + // 900: ldc 176 + // 902: iconst_2 + // 903: anewarray 164 java/lang/String + // 906: dup + // 907: iconst_0 + // 908: ldc_w 262 + // 911: aastore + // 912: dup + // 913: iconst_1 + // 914: ldc_w 285 + // 917: aastore + // 918: aload 7 + // 920: aconst_null + // 921: aconst_null + // 922: aconst_null + // 923: aload 23 + // 925: aload_1 + // 926: invokevirtual 336 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 929: astore 20 + // 931: aload 20 + // 933: astore 7 + // 935: aload 20 + // 937: astore_1 + // 938: aload 20 + // 940: ldc_w 262 + // 943: invokeinterface 208 2 0 + // 948: istore_2 + // 949: aload 20 + // 951: astore 7 + // 953: aload 20 + // 955: astore_1 + // 956: aload 20 + // 958: ldc_w 285 + // 961: invokeinterface 208 2 0 + // 966: istore_3 + // 967: aload 20 + // 969: astore 7 + // 971: aload 20 + // 973: astore_1 + // 974: new 413 java/util/LinkedHashMap + // 977: dup + // 978: invokespecial 414 java/util/LinkedHashMap: ()V + // 981: astore 22 + // 983: aload 20 + // 985: astore 7 + // 987: aload 20 + // 989: astore_1 + // 990: aload 20 + // 992: invokeinterface 202 1 0 + // 997: ifeq +279 -> 1276 + // 1000: aload 20 + // 1002: astore 7 + // 1004: aload 20 + // 1006: astore_1 + // 1007: aload 22 + // 1009: aload 20 + // 1011: iload_2 + // 1012: invokeinterface 418 2 0 + // 1017: invokestatic 265 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 1020: aload 20 + // 1022: iload_3 + // 1023: invokeinterface 418 2 0 + // 1028: invokestatic 265 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 1031: invokevirtual 421 java/util/LinkedHashMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 1034: pop + // 1035: goto -52 -> 983 + // 1038: astore_1 + // 1039: aload_0 + // 1040: astore 20 + // 1042: aload 21 + // 1044: astore_0 + // 1045: aload_1 + // 1046: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 1049: iconst_0 + // 1050: anewarray 4 java/lang/Object + // 1053: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1056: pop + // 1057: aload 7 + // 1059: ifnull +20 -> 1079 + // 1062: aload 7 + // 1064: invokeinterface 217 1 0 + // 1069: ifne +10 -> 1079 + // 1072: aload 7 + // 1074: invokeinterface 218 1 0 + // 1079: aload 20 + // 1081: ifnull +16 -> 1097 + // 1084: aload 20 + // 1086: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 1089: ifeq +8 -> 1097 + // 1092: aload 20 + // 1094: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 1097: aload_0 + // 1098: ifnull +7 -> 1105 + // 1101: aload_0 + // 1102: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 1105: ldc_w 423 + // 1108: iconst_0 + // 1109: anewarray 4 java/lang/Object + // 1112: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1115: pop + // 1116: aconst_null + // 1117: areturn + // 1118: ldc 160 + // 1120: astore 20 + // 1122: goto -914 -> 208 + // 1125: ldc 160 + // 1127: astore_1 + // 1128: goto -886 -> 242 + // 1131: ldc 160 + // 1133: astore_1 + // 1134: goto -833 -> 301 + // 1137: ldc 160 + // 1139: astore_1 + // 1140: goto -777 -> 363 + // 1143: ldc 160 + // 1145: astore_1 + // 1146: goto -724 -> 422 + // 1149: ldc 160 + // 1151: astore_1 + // 1152: goto -668 -> 484 + // 1155: ldc 160 + // 1157: astore_1 + // 1158: goto -613 -> 545 + // 1161: ldc 160 + // 1163: astore_1 + // 1164: goto -556 -> 608 + // 1167: ldc 160 + // 1169: astore_1 + // 1170: goto -503 -> 667 + // 1173: new 95 java/lang/StringBuilder + // 1176: dup + // 1177: invokespecial 154 java/lang/StringBuilder: ()V + // 1180: ldc 160 + // 1182: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1185: ldc_w 425 + // 1188: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1191: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1194: astore_1 + // 1195: goto -475 -> 720 + // 1198: new 95 java/lang/StringBuilder + // 1201: dup + // 1202: invokespecial 154 java/lang/StringBuilder: ()V + // 1205: ldc 160 + // 1207: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1210: ldc_w 427 + // 1213: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1216: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1219: astore_1 + // 1220: goto -500 -> 720 + // 1223: new 95 java/lang/StringBuilder + // 1226: dup + // 1227: invokespecial 154 java/lang/StringBuilder: ()V + // 1230: aload_1 + // 1231: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1234: ldc_w 429 + // 1237: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1240: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1243: astore_1 + // 1244: goto -500 -> 744 + // 1247: new 95 java/lang/StringBuilder + // 1250: dup + // 1251: invokespecial 154 java/lang/StringBuilder: ()V + // 1254: aload_1 + // 1255: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1258: ldc_w 431 + // 1261: invokevirtual 151 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1264: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1267: astore_1 + // 1268: goto -524 -> 744 + // 1271: aconst_null + // 1272: astore_1 + // 1273: goto -374 -> 899 + // 1276: aload 20 + // 1278: astore 7 + // 1280: aload 20 + // 1282: astore_1 + // 1283: aload 20 + // 1285: invokeinterface 218 1 0 + // 1290: aload 20 + // 1292: astore 7 + // 1294: aload 20 + // 1296: astore_1 + // 1297: aload 22 + // 1299: lload 18 + // 1301: invokestatic 436 com/tencent/feedback/proguard/a:a (Ljava/util/LinkedHashMap;J)[Ljava/lang/Long; + // 1304: astore 22 + // 1306: aload 22 + // 1308: ifnull +557 -> 1865 + // 1311: aload 20 + // 1313: astore 7 + // 1315: aload 20 + // 1317: astore_1 + // 1318: aload 22 + // 1320: arraylength + // 1321: ifle +544 -> 1865 + // 1324: aload 20 + // 1326: astore 7 + // 1328: aload 20 + // 1330: astore_1 + // 1331: new 95 java/lang/StringBuilder + // 1334: dup + // 1335: ldc_w 438 + // 1338: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1341: aload 22 + // 1343: arraylength + // 1344: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1347: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1350: iconst_0 + // 1351: anewarray 4 java/lang/Object + // 1354: invokestatic 141 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1357: pop + // 1358: aload 20 + // 1360: astore 7 + // 1362: aload 20 + // 1364: astore_1 + // 1365: new 227 java/lang/StringBuffer + // 1368: dup + // 1369: invokespecial 228 java/lang/StringBuffer: ()V + // 1372: astore 25 + // 1374: iconst_0 + // 1375: istore_2 + // 1376: aload 20 + // 1378: astore 7 + // 1380: aload 20 + // 1382: astore_1 + // 1383: iload_2 + // 1384: aload 22 + // 1386: arraylength + // 1387: if_icmpge +217 -> 1604 + // 1390: aload 20 + // 1392: astore 7 + // 1394: aload 20 + // 1396: astore_1 + // 1397: aload 22 + // 1399: iload_2 + // 1400: aaload + // 1401: invokevirtual 234 java/lang/Long:longValue ()J + // 1404: lstore 4 + // 1406: aload 20 + // 1408: astore 7 + // 1410: aload 20 + // 1412: astore_1 + // 1413: aload 25 + // 1415: new 95 java/lang/StringBuilder + // 1418: dup + // 1419: ldc 236 + // 1421: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1424: lload 4 + // 1426: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1429: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1432: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 1435: pop + // 1436: iload_2 + // 1437: ifle +745 -> 2182 + // 1440: iload_2 + // 1441: bipush 50 + // 1443: irem + // 1444: ifne +738 -> 2182 + // 1447: aload 20 + // 1449: astore 7 + // 1451: aload 20 + // 1453: astore_1 + // 1454: new 95 java/lang/StringBuilder + // 1457: dup + // 1458: ldc 241 + // 1460: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1463: iload_2 + // 1464: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1467: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1470: iconst_0 + // 1471: anewarray 4 java/lang/Object + // 1474: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1477: pop + // 1478: aload 20 + // 1480: astore 7 + // 1482: aload 20 + // 1484: astore_1 + // 1485: aload 25 + // 1487: iconst_4 + // 1488: invokevirtual 242 java/lang/StringBuffer:substring (I)Ljava/lang/String; + // 1491: astore 26 + // 1493: aload 20 + // 1495: astore 7 + // 1497: aload 20 + // 1499: astore_1 + // 1500: aload 25 + // 1502: iconst_0 + // 1503: invokevirtual 246 java/lang/StringBuffer:setLength (I)V + // 1506: aload 20 + // 1508: astore 7 + // 1510: aload 20 + // 1512: astore_1 + // 1513: aload_0 + // 1514: ldc 176 + // 1516: aconst_null + // 1517: aload 26 + // 1519: aconst_null + // 1520: aconst_null + // 1521: aconst_null + // 1522: aload 23 + // 1524: invokevirtual 197 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 1527: astore 20 + // 1529: aload 20 + // 1531: astore_1 + // 1532: aload_1 + // 1533: invokestatic 441 com/tencent/feedback/proguard/l:a (Landroid/database/Cursor;)Ljava/util/List; + // 1536: astore 7 + // 1538: aload 7 + // 1540: ifnull +48 -> 1588 + // 1543: aload 7 + // 1545: invokeinterface 364 1 0 + // 1550: ifle +38 -> 1588 + // 1553: aload 24 + // 1555: aload 7 + // 1557: invokeinterface 445 2 0 + // 1562: pop + // 1563: new 95 java/lang/StringBuilder + // 1566: dup + // 1567: ldc_w 447 + // 1570: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1573: iconst_0 + // 1574: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1577: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1580: iconst_0 + // 1581: anewarray 4 java/lang/Object + // 1584: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1587: pop + // 1588: aload_1 + // 1589: invokeinterface 218 1 0 + // 1594: iload_2 + // 1595: iconst_1 + // 1596: iadd + // 1597: istore_2 + // 1598: aload_1 + // 1599: astore 20 + // 1601: goto -225 -> 1376 + // 1604: aload 20 + // 1606: astore 7 + // 1608: aload 20 + // 1610: astore 22 + // 1612: aload 20 + // 1614: astore_1 + // 1615: aload 25 + // 1617: invokevirtual 252 java/lang/StringBuffer:length ()I + // 1620: ifle +151 -> 1771 + // 1623: aload 20 + // 1625: astore 7 + // 1627: aload 20 + // 1629: astore_1 + // 1630: aload 25 + // 1632: iconst_4 + // 1633: invokevirtual 242 java/lang/StringBuffer:substring (I)Ljava/lang/String; + // 1636: astore 22 + // 1638: aload 20 + // 1640: astore 7 + // 1642: aload 20 + // 1644: astore_1 + // 1645: aload 25 + // 1647: iconst_0 + // 1648: invokevirtual 246 java/lang/StringBuffer:setLength (I)V + // 1651: aload 20 + // 1653: astore 7 + // 1655: aload 20 + // 1657: astore_1 + // 1658: aload_0 + // 1659: ldc 176 + // 1661: aconst_null + // 1662: aload 22 + // 1664: aconst_null + // 1665: aconst_null + // 1666: aconst_null + // 1667: aload 23 + // 1669: invokevirtual 197 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 1672: astore 20 + // 1674: aload 20 + // 1676: astore 7 + // 1678: aload 20 + // 1680: astore_1 + // 1681: aload 20 + // 1683: invokestatic 441 com/tencent/feedback/proguard/l:a (Landroid/database/Cursor;)Ljava/util/List; + // 1686: astore 23 + // 1688: aload 20 + // 1690: astore 22 + // 1692: aload 23 + // 1694: ifnull +77 -> 1771 + // 1697: aload 20 + // 1699: astore 7 + // 1701: aload 20 + // 1703: astore 22 + // 1705: aload 20 + // 1707: astore_1 + // 1708: aload 23 + // 1710: invokeinterface 364 1 0 + // 1715: ifle +56 -> 1771 + // 1718: aload 20 + // 1720: astore 7 + // 1722: aload 20 + // 1724: astore_1 + // 1725: aload 24 + // 1727: aload 23 + // 1729: invokeinterface 445 2 0 + // 1734: pop + // 1735: aload 20 + // 1737: astore 7 + // 1739: aload 20 + // 1741: astore_1 + // 1742: new 95 java/lang/StringBuilder + // 1745: dup + // 1746: ldc_w 447 + // 1749: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1752: iconst_0 + // 1753: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1756: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1759: iconst_0 + // 1760: anewarray 4 java/lang/Object + // 1763: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1766: pop + // 1767: aload 20 + // 1769: astore 22 + // 1771: aload 22 + // 1773: astore 7 + // 1775: aload 22 + // 1777: astore_1 + // 1778: new 95 java/lang/StringBuilder + // 1781: dup + // 1782: ldc_w 449 + // 1785: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 1788: aload 24 + // 1790: invokeinterface 364 1 0 + // 1795: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1798: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1801: iconst_0 + // 1802: anewarray 4 java/lang/Object + // 1805: invokestatic 141 com/tencent/feedback/common/e:a (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1808: pop + // 1809: aload 22 + // 1811: ifnull +20 -> 1831 + // 1814: aload 22 + // 1816: invokeinterface 217 1 0 + // 1821: ifne +10 -> 1831 + // 1824: aload 22 + // 1826: invokeinterface 218 1 0 + // 1831: aload_0 + // 1832: ifnull +14 -> 1846 + // 1835: aload_0 + // 1836: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 1839: ifeq +7 -> 1846 + // 1842: aload_0 + // 1843: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 1846: aload 21 + // 1848: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 1851: ldc_w 423 + // 1854: iconst_0 + // 1855: anewarray 4 java/lang/Object + // 1858: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1861: pop + // 1862: aload 24 + // 1864: areturn + // 1865: aload 20 + // 1867: ifnull +20 -> 1887 + // 1870: aload 20 + // 1872: invokeinterface 217 1 0 + // 1877: ifne +10 -> 1887 + // 1880: aload 20 + // 1882: invokeinterface 218 1 0 + // 1887: aload_0 + // 1888: ifnull +14 -> 1902 + // 1891: aload_0 + // 1892: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 1895: ifeq +7 -> 1902 + // 1898: aload_0 + // 1899: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 1902: aload 21 + // 1904: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 1907: ldc_w 423 + // 1910: iconst_0 + // 1911: anewarray 4 java/lang/Object + // 1914: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 1917: pop + // 1918: aconst_null + // 1919: areturn + // 1920: aload_0 + // 1921: ldc 176 + // 1923: aconst_null + // 1924: aload 7 + // 1926: aconst_null + // 1927: aconst_null + // 1928: aconst_null + // 1929: aload_1 + // 1930: invokevirtual 197 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 1933: astore 20 + // 1935: aload 20 + // 1937: astore 7 + // 1939: aload 20 + // 1941: astore_1 + // 1942: aload 20 + // 1944: invokestatic 441 com/tencent/feedback/proguard/l:a (Landroid/database/Cursor;)Ljava/util/List; + // 1947: astore 22 + // 1949: aload 20 + // 1951: ifnull +20 -> 1971 + // 1954: aload 20 + // 1956: invokeinterface 217 1 0 + // 1961: ifne +10 -> 1971 + // 1964: aload 20 + // 1966: invokeinterface 218 1 0 + // 1971: aload_0 + // 1972: ifnull +14 -> 1986 + // 1975: aload_0 + // 1976: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 1979: ifeq +7 -> 1986 + // 1982: aload_0 + // 1983: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 1986: aload 21 + // 1988: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 1991: ldc_w 423 + // 1994: iconst_0 + // 1995: anewarray 4 java/lang/Object + // 1998: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 2001: pop + // 2002: aload 22 + // 2004: areturn + // 2005: astore_0 + // 2006: aconst_null + // 2007: astore 21 + // 2009: aconst_null + // 2010: astore_1 + // 2011: aload_1 + // 2012: ifnull +18 -> 2030 + // 2015: aload_1 + // 2016: invokeinterface 217 1 0 + // 2021: ifne +9 -> 2030 + // 2024: aload_1 + // 2025: invokeinterface 218 1 0 + // 2030: aload 20 + // 2032: ifnull +16 -> 2048 + // 2035: aload 20 + // 2037: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 2040: ifeq +8 -> 2048 + // 2043: aload 20 + // 2045: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 2048: aload 21 + // 2050: ifnull +8 -> 2058 + // 2053: aload 21 + // 2055: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 2058: ldc_w 423 + // 2061: iconst_0 + // 2062: anewarray 4 java/lang/Object + // 2065: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 2068: pop + // 2069: aload_0 + // 2070: athrow + // 2071: astore_0 + // 2072: aconst_null + // 2073: astore_1 + // 2074: goto -63 -> 2011 + // 2077: astore 7 + // 2079: aconst_null + // 2080: astore_1 + // 2081: aload_0 + // 2082: astore 20 + // 2084: aload 7 + // 2086: astore_0 + // 2087: goto -76 -> 2011 + // 2090: astore 7 + // 2092: aload_0 + // 2093: astore 20 + // 2095: aload 7 + // 2097: astore_0 + // 2098: goto -87 -> 2011 + // 2101: astore 7 + // 2103: aload_0 + // 2104: astore 20 + // 2106: aload 7 + // 2108: astore_0 + // 2109: goto -98 -> 2011 + // 2112: astore_1 + // 2113: aload_0 + // 2114: astore 21 + // 2116: aload_1 + // 2117: astore_0 + // 2118: aload 7 + // 2120: astore_1 + // 2121: goto -110 -> 2011 + // 2124: astore_1 + // 2125: aconst_null + // 2126: astore 7 + // 2128: aload 23 + // 2130: astore_0 + // 2131: aload 22 + // 2133: astore 20 + // 2135: goto -1090 -> 1045 + // 2138: astore_1 + // 2139: aload 21 + // 2141: astore_0 + // 2142: aconst_null + // 2143: astore 7 + // 2145: aload 22 + // 2147: astore 20 + // 2149: goto -1104 -> 1045 + // 2152: astore_1 + // 2153: aconst_null + // 2154: astore 7 + // 2156: aload_0 + // 2157: astore 20 + // 2159: aload 21 + // 2161: astore_0 + // 2162: goto -1117 -> 1045 + // 2165: astore 22 + // 2167: aload_1 + // 2168: astore 7 + // 2170: aload_0 + // 2171: astore 20 + // 2173: aload 22 + // 2175: astore_1 + // 2176: aload 21 + // 2178: astore_0 + // 2179: goto -1134 -> 1045 + // 2182: aload 20 + // 2184: astore_1 + // 2185: goto -591 -> 1594 + // 2188: goto -1422 -> 766 + // 2191: ldc 160 + // 2193: astore_1 + // 2194: goto -2018 -> 176 + // Local variable table: + // start length slot name signature + // 0 2197 0 paramContext Context + // 0 2197 1 paramArrayOfInt int[] + // 0 2197 2 paramInt1 int + // 0 2197 3 paramInt2 int + // 0 2197 4 paramLong1 long + // 0 2197 6 paramInt3 int + // 0 2197 7 paramString String + // 0 2197 8 paramInt4 int + // 0 2197 9 paramInt5 int + // 0 2197 10 paramInt6 int + // 0 2197 11 paramInt7 int + // 0 2197 12 paramLong2 long + // 0 2197 14 paramLong3 long + // 0 2197 16 paramInt8 int + // 104 43 17 k int + // 76 1224 18 l long + // 101 2082 20 localObject1 Object + // 228 1949 21 localObject2 Object + // 789 1357 22 localObject3 Object + // 2165 9 22 localThrowable Throwable + // 783 1346 23 localObject4 Object + // 798 1065 24 localArrayList ArrayList + // 1372 274 25 localStringBuffer java.lang.StringBuffer + // 1491 27 26 str String + // Exception table: + // from to target type + // 938 949 1038 java/lang/Throwable + // 956 967 1038 java/lang/Throwable + // 974 983 1038 java/lang/Throwable + // 990 1000 1038 java/lang/Throwable + // 1007 1035 1038 java/lang/Throwable + // 1283 1290 1038 java/lang/Throwable + // 1297 1306 1038 java/lang/Throwable + // 1318 1324 1038 java/lang/Throwable + // 1331 1358 1038 java/lang/Throwable + // 1365 1374 1038 java/lang/Throwable + // 1383 1390 1038 java/lang/Throwable + // 1397 1406 1038 java/lang/Throwable + // 1413 1436 1038 java/lang/Throwable + // 1454 1478 1038 java/lang/Throwable + // 1485 1493 1038 java/lang/Throwable + // 1500 1506 1038 java/lang/Throwable + // 1513 1529 1038 java/lang/Throwable + // 1615 1623 1038 java/lang/Throwable + // 1630 1638 1038 java/lang/Throwable + // 1645 1651 1038 java/lang/Throwable + // 1658 1674 1038 java/lang/Throwable + // 1681 1688 1038 java/lang/Throwable + // 1708 1718 1038 java/lang/Throwable + // 1725 1735 1038 java/lang/Throwable + // 1742 1767 1038 java/lang/Throwable + // 1778 1809 1038 java/lang/Throwable + // 1942 1949 1038 java/lang/Throwable + // 800 810 2005 finally + // 810 816 2071 finally + // 826 855 2077 finally + // 855 878 2077 finally + // 883 899 2077 finally + // 899 931 2077 finally + // 1920 1935 2077 finally + // 938 949 2090 finally + // 956 967 2090 finally + // 974 983 2090 finally + // 990 1000 2090 finally + // 1007 1035 2090 finally + // 1283 1290 2090 finally + // 1297 1306 2090 finally + // 1318 1324 2090 finally + // 1331 1358 2090 finally + // 1365 1374 2090 finally + // 1383 1390 2090 finally + // 1397 1406 2090 finally + // 1413 1436 2090 finally + // 1454 1478 2090 finally + // 1485 1493 2090 finally + // 1500 1506 2090 finally + // 1513 1529 2090 finally + // 1615 1623 2090 finally + // 1630 1638 2090 finally + // 1645 1651 2090 finally + // 1658 1674 2090 finally + // 1681 1688 2090 finally + // 1708 1718 2090 finally + // 1725 1735 2090 finally + // 1742 1767 2090 finally + // 1778 1809 2090 finally + // 1942 1949 2090 finally + // 1532 1538 2101 finally + // 1543 1588 2101 finally + // 1588 1594 2101 finally + // 1045 1057 2112 finally + // 800 810 2124 java/lang/Throwable + // 810 816 2138 java/lang/Throwable + // 826 855 2152 java/lang/Throwable + // 855 878 2152 java/lang/Throwable + // 883 899 2152 java/lang/Throwable + // 899 931 2152 java/lang/Throwable + // 1920 1935 2152 java/lang/Throwable + // 1532 1538 2165 java/lang/Throwable + // 1543 1588 2165 java/lang/Throwable + // 1588 1594 2165 java/lang/Throwable + } + + protected static List a(Cursor paramCursor) + { + e.b("rqdp{ in AnalyticsDAO.paserCursor() start}", new Object[0]); + if (paramCursor == null) { + return null; + } + ArrayList localArrayList = new ArrayList(); + int k = paramCursor.getColumnIndex("_id"); + int m = paramCursor.getColumnIndex("_prority"); + int n = paramCursor.getColumnIndex("_time"); + int i1 = paramCursor.getColumnIndex("_type"); + int i2 = paramCursor.getColumnIndex("_datas"); + int i3 = paramCursor.getColumnIndex("_length"); + int i4 = paramCursor.getColumnIndex("_key"); + int i5 = paramCursor.getColumnIndex("_count"); + int i6 = paramCursor.getColumnIndex("_upCounts"); + int i7 = paramCursor.getColumnIndex("_state"); + while (paramCursor.moveToNext()) + { + l locall = new l(); + locall.a = paramCursor.getLong(k); + locall.e = paramCursor.getBlob(i2); + locall.c = paramCursor.getInt(m); + locall.d = paramCursor.getLong(n); + locall.b = paramCursor.getInt(i1); + locall.f = paramCursor.getLong(i3); + locall.g = paramCursor.getString(i4); + locall.a(paramCursor.getInt(i5)); + locall.b(paramCursor.getInt(i6)); + locall.c(paramCursor.getInt(i7)); + localArrayList.add(locall); + } + e.b("rqdp{ in AnalyticsDAO.paserCursor() end}", new Object[0]); + return localArrayList; + } + + /* Error */ + public static boolean a(Context paramContext, List paramList) + { + // Byte code: + // 0: aconst_null + // 1: astore 6 + // 3: ldc_w 473 + // 6: iconst_0 + // 7: anewarray 4 java/lang/Object + // 10: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 13: pop + // 14: aload_0 + // 15: ifnull +7 -> 22 + // 18: aload_1 + // 19: ifnonnull +16 -> 35 + // 22: ldc_w 475 + // 25: iconst_0 + // 26: anewarray 4 java/lang/Object + // 29: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 32: pop + // 33: iconst_0 + // 34: ireturn + // 35: aload_1 + // 36: invokeinterface 364 1 0 + // 41: ifgt +16 -> 57 + // 44: ldc_w 477 + // 47: iconst_0 + // 48: anewarray 4 java/lang/Object + // 51: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 54: pop + // 55: iconst_1 + // 56: ireturn + // 57: new 68 com/tencent/feedback/proguard/n + // 60: dup + // 61: aload_0 + // 62: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 65: astore 5 + // 67: aload 5 + // 69: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 72: astore_0 + // 73: aload_0 + // 74: astore 6 + // 76: iconst_0 + // 77: istore_2 + // 78: iload_2 + // 79: aload_1 + // 80: invokeinterface 364 1 0 + // 85: if_icmpge +94 -> 179 + // 88: aload_1 + // 89: iload_2 + // 90: invokeinterface 481 2 0 + // 95: checkcast 2 com/tencent/feedback/proguard/l + // 98: astore_0 + // 99: aload 6 + // 101: ldc 176 + // 103: ldc_w 262 + // 106: aload_0 + // 107: invokestatic 483 com/tencent/feedback/proguard/l:a (Lcom/tencent/feedback/proguard/l;)Landroid/content/ContentValues; + // 110: invokevirtual 487 android/database/sqlite/SQLiteDatabase:insert (Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J + // 113: lstore_3 + // 114: lload_3 + // 115: lconst_0 + // 116: lcmp + // 117: ifge +50 -> 167 + // 120: ldc_w 489 + // 123: iconst_0 + // 124: anewarray 4 java/lang/Object + // 127: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 130: pop + // 131: aload 6 + // 133: ifnull +16 -> 149 + // 136: aload 6 + // 138: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 141: ifeq +8 -> 149 + // 144: aload 6 + // 146: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 149: aload 5 + // 151: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 154: ldc_w 491 + // 157: iconst_0 + // 158: anewarray 4 java/lang/Object + // 161: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 164: pop + // 165: iconst_0 + // 166: ireturn + // 167: aload_0 + // 168: lload_3 + // 169: putfield 26 com/tencent/feedback/proguard/l:a J + // 172: iload_2 + // 173: iconst_1 + // 174: iadd + // 175: istore_2 + // 176: goto -98 -> 78 + // 179: aload 6 + // 181: ifnull +16 -> 197 + // 184: aload 6 + // 186: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 189: ifeq +8 -> 197 + // 192: aload 6 + // 194: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 197: aload 5 + // 199: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 202: ldc_w 491 + // 205: iconst_0 + // 206: anewarray 4 java/lang/Object + // 209: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 212: pop + // 213: iconst_1 + // 214: ireturn + // 215: astore_0 + // 216: aconst_null + // 217: astore_0 + // 218: aload 6 + // 220: astore_1 + // 221: ldc_w 493 + // 224: iconst_0 + // 225: anewarray 4 java/lang/Object + // 228: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 231: pop + // 232: aload_1 + // 233: ifnull +14 -> 247 + // 236: aload_1 + // 237: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 240: ifeq +7 -> 247 + // 243: aload_1 + // 244: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 247: aload_0 + // 248: ifnull +7 -> 255 + // 251: aload_0 + // 252: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 255: ldc_w 491 + // 258: iconst_0 + // 259: anewarray 4 java/lang/Object + // 262: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 265: pop + // 266: iconst_0 + // 267: ireturn + // 268: astore_0 + // 269: aconst_null + // 270: astore_1 + // 271: aconst_null + // 272: astore 5 + // 274: aload_1 + // 275: ifnull +14 -> 289 + // 278: aload_1 + // 279: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 282: ifeq +7 -> 289 + // 285: aload_1 + // 286: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 289: aload 5 + // 291: ifnull +8 -> 299 + // 294: aload 5 + // 296: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 299: ldc_w 491 + // 302: iconst_0 + // 303: anewarray 4 java/lang/Object + // 306: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 309: pop + // 310: aload_0 + // 311: athrow + // 312: astore_0 + // 313: aconst_null + // 314: astore_1 + // 315: goto -41 -> 274 + // 318: astore_0 + // 319: aload 6 + // 321: astore_1 + // 322: goto -48 -> 274 + // 325: astore 6 + // 327: aload_0 + // 328: astore 5 + // 330: aload 6 + // 332: astore_0 + // 333: goto -59 -> 274 + // 336: astore_0 + // 337: aload 5 + // 339: astore_0 + // 340: aload 6 + // 342: astore_1 + // 343: goto -122 -> 221 + // 346: astore_0 + // 347: aload 6 + // 349: astore_1 + // 350: aload 5 + // 352: astore_0 + // 353: goto -132 -> 221 + // Local variable table: + // start length slot name signature + // 0 356 0 paramContext Context + // 0 356 1 paramList List + // 77 99 2 k int + // 113 56 3 l long + // 65 286 5 localObject1 Object + // 1 319 6 localContext Context + // 325 23 6 localObject2 Object + // Exception table: + // from to target type + // 57 67 215 java/lang/Throwable + // 57 67 268 finally + // 67 73 312 finally + // 78 114 318 finally + // 120 131 318 finally + // 167 172 318 finally + // 221 232 325 finally + // 67 73 336 java/lang/Throwable + // 78 114 346 java/lang/Throwable + // 120 131 346 java/lang/Throwable + // 167 172 346 java/lang/Throwable + } + + protected static o b(Cursor paramCursor) + { + if ((paramCursor == null) || (paramCursor.isBeforeFirst()) || (paramCursor.isAfterLast())) { + return null; + } + o localo = new o(); + try + { + localo.a(paramCursor.getString(paramCursor.getColumnIndex("_n"))); + localo.b(paramCursor.getString(paramCursor.getColumnIndex("_sa"))); + localo.a(paramCursor.getInt(paramCursor.getColumnIndex("_id"))); + localo.a(paramCursor.getInt(paramCursor.getColumnIndex("_t"))); + localo.c(paramCursor.getLong(paramCursor.getColumnIndex("_sz"))); + localo.b(paramCursor.getLong(paramCursor.getColumnIndex("_ut"))); + localo.c(paramCursor.getString(paramCursor.getColumnIndex("_ac"))); + return localo; + } + catch (Throwable paramCursor) + { + if (!e.a(paramCursor)) { + paramCursor.printStackTrace(); + } + e.d("rqdp{ Error:getFileBean fail!}", new Object[0]); + e.d("rqdp{ Error: getFileBean fail!}", new Object[0]); + } + return null; + } + + /* Error */ + public static boolean b(Context paramContext, List paramList) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore 7 + // 6: aconst_null + // 7: astore 4 + // 9: aconst_null + // 10: astore 8 + // 12: ldc_w 530 + // 15: iconst_0 + // 16: anewarray 4 java/lang/Object + // 19: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 22: pop + // 23: aload_0 + // 24: ifnull +16 -> 40 + // 27: aload_1 + // 28: ifnull +12 -> 40 + // 31: aload_1 + // 32: invokeinterface 364 1 0 + // 37: ifgt +16 -> 53 + // 40: ldc_w 532 + // 43: iconst_0 + // 44: anewarray 4 java/lang/Object + // 47: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 50: pop + // 51: iconst_0 + // 52: ireturn + // 53: new 68 com/tencent/feedback/proguard/n + // 56: dup + // 57: aload_0 + // 58: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 61: astore 6 + // 63: aload 8 + // 65: astore 5 + // 67: aload 4 + // 69: astore_0 + // 70: aload 6 + // 72: astore 4 + // 74: aload 6 + // 76: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 79: astore 7 + // 81: aload 7 + // 83: astore 5 + // 85: aload 7 + // 87: astore_0 + // 88: aload 6 + // 90: astore 4 + // 92: aload_1 + // 93: invokeinterface 536 1 0 + // 98: astore_1 + // 99: aload 7 + // 101: astore 5 + // 103: aload 7 + // 105: astore_0 + // 106: aload 6 + // 108: astore 4 + // 110: aload_1 + // 111: invokeinterface 541 1 0 + // 116: ifeq +299 -> 415 + // 119: aload 7 + // 121: astore 5 + // 123: aload 7 + // 125: astore_0 + // 126: aload 6 + // 128: astore 4 + // 130: aload_1 + // 131: invokeinterface 545 1 0 + // 136: checkcast 2 com/tencent/feedback/proguard/l + // 139: astore 8 + // 141: aload 7 + // 143: astore 5 + // 145: aload 7 + // 147: astore_0 + // 148: aload 6 + // 150: astore 4 + // 152: aload 8 + // 154: invokestatic 483 com/tencent/feedback/proguard/l:a (Lcom/tencent/feedback/proguard/l;)Landroid/content/ContentValues; + // 157: astore 9 + // 159: aload 9 + // 161: ifnonnull +39 -> 200 + // 164: aload 7 + // 166: ifnull +16 -> 182 + // 169: aload 7 + // 171: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 174: ifeq +8 -> 182 + // 177: aload 7 + // 179: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 182: aload 6 + // 184: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 187: ldc_w 547 + // 190: iconst_0 + // 191: anewarray 4 java/lang/Object + // 194: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 197: pop + // 198: iconst_0 + // 199: ireturn + // 200: aload 7 + // 202: astore 5 + // 204: aload 7 + // 206: astore_0 + // 207: aload 6 + // 209: astore 4 + // 211: aload 7 + // 213: ldc 176 + // 215: ldc_w 262 + // 218: aload 9 + // 220: invokevirtual 550 android/database/sqlite/SQLiteDatabase:replace (Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J + // 223: lstore_2 + // 224: lload_2 + // 225: lconst_0 + // 226: lcmp + // 227: ifge +61 -> 288 + // 230: aload 7 + // 232: astore 5 + // 234: aload 7 + // 236: astore_0 + // 237: aload 6 + // 239: astore 4 + // 241: ldc_w 552 + // 244: iconst_0 + // 245: anewarray 4 java/lang/Object + // 248: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 251: pop + // 252: aload 7 + // 254: ifnull +16 -> 270 + // 257: aload 7 + // 259: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 262: ifeq +8 -> 270 + // 265: aload 7 + // 267: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 270: aload 6 + // 272: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 275: ldc_w 547 + // 278: iconst_0 + // 279: anewarray 4 java/lang/Object + // 282: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 285: pop + // 286: iconst_0 + // 287: ireturn + // 288: aload 7 + // 290: astore 5 + // 292: aload 7 + // 294: astore_0 + // 295: aload 6 + // 297: astore 4 + // 299: new 95 java/lang/StringBuilder + // 302: dup + // 303: ldc_w 554 + // 306: invokespecial 100 java/lang/StringBuilder: (Ljava/lang/String;)V + // 309: lload_2 + // 310: invokevirtual 146 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 313: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 316: iconst_0 + // 317: anewarray 4 java/lang/Object + // 320: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 323: pop + // 324: aload 7 + // 326: astore 5 + // 328: aload 7 + // 330: astore_0 + // 331: aload 6 + // 333: astore 4 + // 335: aload 8 + // 337: lload_2 + // 338: putfield 26 com/tencent/feedback/proguard/l:a J + // 341: goto -242 -> 99 + // 344: astore_0 + // 345: aload 6 + // 347: astore_1 + // 348: aload_0 + // 349: astore 6 + // 351: aload 5 + // 353: astore_0 + // 354: aload_1 + // 355: astore 4 + // 357: aload 6 + // 359: invokestatic 128 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 362: ifne +14 -> 376 + // 365: aload 5 + // 367: astore_0 + // 368: aload_1 + // 369: astore 4 + // 371: aload 6 + // 373: invokevirtual 131 java/lang/Throwable:printStackTrace ()V + // 376: aload 5 + // 378: ifnull +16 -> 394 + // 381: aload 5 + // 383: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 386: ifeq +8 -> 394 + // 389: aload 5 + // 391: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 394: aload_1 + // 395: ifnull +7 -> 402 + // 398: aload_1 + // 399: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 402: ldc_w 547 + // 405: iconst_0 + // 406: anewarray 4 java/lang/Object + // 409: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 412: pop + // 413: iconst_0 + // 414: ireturn + // 415: aload 7 + // 417: ifnull +16 -> 433 + // 420: aload 7 + // 422: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 425: ifeq +8 -> 433 + // 428: aload 7 + // 430: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 433: aload 6 + // 435: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 438: ldc_w 547 + // 441: iconst_0 + // 442: anewarray 4 java/lang/Object + // 445: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 448: pop + // 449: iconst_1 + // 450: ireturn + // 451: astore_1 + // 452: aconst_null + // 453: astore 4 + // 455: aload 7 + // 457: astore_0 + // 458: aload_0 + // 459: ifnull +14 -> 473 + // 462: aload_0 + // 463: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 466: ifeq +7 -> 473 + // 469: aload_0 + // 470: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 473: aload 4 + // 475: ifnull +8 -> 483 + // 478: aload 4 + // 480: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 483: ldc_w 547 + // 486: iconst_0 + // 487: anewarray 4 java/lang/Object + // 490: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 493: pop + // 494: aload_1 + // 495: athrow + // 496: astore_1 + // 497: goto -39 -> 458 + // 500: astore 6 + // 502: aconst_null + // 503: astore_1 + // 504: goto -153 -> 351 + // Local variable table: + // start length slot name signature + // 0 507 0 paramContext Context + // 0 507 1 paramList List + // 223 115 2 l long + // 7 472 4 localObject1 Object + // 1 389 5 localObject2 Object + // 61 373 6 localObject3 Object + // 500 1 6 localThrowable Throwable + // 4 452 7 localSQLiteDatabase android.database.sqlite.SQLiteDatabase + // 10 326 8 locall l + // 157 62 9 localContentValues ContentValues + // Exception table: + // from to target type + // 74 81 344 java/lang/Throwable + // 92 99 344 java/lang/Throwable + // 110 119 344 java/lang/Throwable + // 130 141 344 java/lang/Throwable + // 152 159 344 java/lang/Throwable + // 211 224 344 java/lang/Throwable + // 241 252 344 java/lang/Throwable + // 299 324 344 java/lang/Throwable + // 335 341 344 java/lang/Throwable + // 53 63 451 finally + // 74 81 496 finally + // 92 99 496 finally + // 110 119 496 finally + // 130 141 496 finally + // 152 159 496 finally + // 211 224 496 finally + // 241 252 496 finally + // 299 324 496 finally + // 335 341 496 finally + // 357 365 496 finally + // 371 376 496 finally + // 53 63 500 java/lang/Throwable + } + + /* Error */ + public static int c(Context paramContext, List paramList) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +16 -> 17 + // 4: aload_1 + // 5: ifnull +12 -> 17 + // 8: aload_1 + // 9: invokeinterface 364 1 0 + // 14: ifne +51 -> 65 + // 17: aload_1 + // 18: ifnonnull +24 -> 42 + // 21: ldc_w 557 + // 24: astore_0 + // 25: ldc_w 559 + // 28: iconst_1 + // 29: anewarray 4 java/lang/Object + // 32: dup + // 33: iconst_0 + // 34: aload_0 + // 35: aastore + // 36: invokestatic 56 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 39: pop + // 40: iconst_m1 + // 41: ireturn + // 42: new 95 java/lang/StringBuilder + // 45: dup + // 46: invokespecial 154 java/lang/StringBuilder: ()V + // 49: aload_1 + // 50: invokeinterface 364 1 0 + // 55: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 58: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 61: astore_0 + // 62: goto -37 -> 25 + // 65: ldc_w 561 + // 68: iconst_1 + // 69: anewarray 4 java/lang/Object + // 72: dup + // 73: iconst_0 + // 74: aload_1 + // 75: invokeinterface 364 1 0 + // 80: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 83: aastore + // 84: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 87: pop + // 88: aconst_null + // 89: astore 11 + // 91: aconst_null + // 92: astore 13 + // 94: aconst_null + // 95: astore 10 + // 97: aconst_null + // 98: astore 14 + // 100: iconst_0 + // 101: istore 5 + // 103: iconst_0 + // 104: istore 4 + // 106: iconst_0 + // 107: istore_2 + // 108: iconst_0 + // 109: istore 6 + // 111: iconst_0 + // 112: istore_3 + // 113: new 68 com/tencent/feedback/proguard/n + // 116: dup + // 117: aload_0 + // 118: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 121: astore 12 + // 123: iload 5 + // 125: istore 4 + // 127: aload 14 + // 129: astore 11 + // 131: iload 6 + // 133: istore_2 + // 134: aload 10 + // 136: astore_0 + // 137: aload 12 + // 139: astore 10 + // 141: aload 12 + // 143: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 146: astore 13 + // 148: aload 13 + // 150: ifnonnull +104 -> 254 + // 153: iload 5 + // 155: istore 4 + // 157: aload 13 + // 159: astore 11 + // 161: iload 6 + // 163: istore_2 + // 164: aload 13 + // 166: astore_0 + // 167: aload 12 + // 169: astore 10 + // 171: ldc_w 311 + // 174: iconst_0 + // 175: anewarray 4 java/lang/Object + // 178: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 181: pop + // 182: iload 5 + // 184: istore 4 + // 186: aload 13 + // 188: astore 11 + // 190: iload 6 + // 192: istore_2 + // 193: aload 13 + // 195: astore_0 + // 196: aload 12 + // 198: astore 10 + // 200: ldc_w 563 + // 203: iconst_0 + // 204: anewarray 4 java/lang/Object + // 207: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 210: pop + // 211: aload 13 + // 213: ifnull +16 -> 229 + // 216: aload 13 + // 218: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 221: ifeq +8 -> 229 + // 224: aload 13 + // 226: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 229: aload 12 + // 231: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 234: ldc_w 565 + // 237: iconst_1 + // 238: anewarray 4 java/lang/Object + // 241: dup + // 242: iconst_0 + // 243: iconst_0 + // 244: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 247: aastore + // 248: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 251: pop + // 252: iconst_m1 + // 253: ireturn + // 254: iload 5 + // 256: istore 4 + // 258: aload 13 + // 260: astore 11 + // 262: iload 6 + // 264: istore_2 + // 265: aload 13 + // 267: astore_0 + // 268: aload 12 + // 270: astore 10 + // 272: aload_1 + // 273: invokeinterface 536 1 0 + // 278: astore 14 + // 280: iload_3 + // 281: istore 4 + // 283: aload 13 + // 285: astore 11 + // 287: iload_3 + // 288: istore_2 + // 289: aload 13 + // 291: astore_0 + // 292: aload 12 + // 294: astore 10 + // 296: aload 14 + // 298: invokeinterface 541 1 0 + // 303: ifeq +533 -> 836 + // 306: iload_3 + // 307: istore 4 + // 309: aload 13 + // 311: astore 11 + // 313: iload_3 + // 314: istore_2 + // 315: aload 13 + // 317: astore_0 + // 318: aload 12 + // 320: astore 10 + // 322: aload 14 + // 324: invokeinterface 545 1 0 + // 329: checkcast 346 com/tencent/feedback/proguard/o + // 332: astore 15 + // 334: aload 15 + // 336: ifnonnull +152 -> 488 + // 339: aconst_null + // 340: astore_1 + // 341: iload_3 + // 342: istore_2 + // 343: aload_1 + // 344: ifnull +598 -> 942 + // 347: iload_3 + // 348: istore 4 + // 350: aload 13 + // 352: astore 11 + // 354: iload_3 + // 355: istore_2 + // 356: aload 13 + // 358: astore_0 + // 359: aload 12 + // 361: astore 10 + // 363: aload 13 + // 365: ldc 110 + // 367: ldc_w 262 + // 370: aload_1 + // 371: invokevirtual 487 android/database/sqlite/SQLiteDatabase:insert (Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J + // 374: lstore 7 + // 376: iload_3 + // 377: istore 4 + // 379: aload 13 + // 381: astore 11 + // 383: iload_3 + // 384: istore_2 + // 385: aload 13 + // 387: astore_0 + // 388: aload 12 + // 390: astore 10 + // 392: aload 15 + // 394: lload 7 + // 396: invokevirtual 510 com/tencent/feedback/proguard/o:a (J)V + // 399: lload 7 + // 401: lconst_0 + // 402: lcmp + // 403: iflt +422 -> 825 + // 406: iconst_1 + // 407: istore_2 + // 408: iload_3 + // 409: iload_2 + // 410: iadd + // 411: istore_3 + // 412: iload_3 + // 413: istore 4 + // 415: aload 13 + // 417: astore 11 + // 419: iload_3 + // 420: istore_2 + // 421: aload 13 + // 423: astore_0 + // 424: aload 12 + // 426: astore 10 + // 428: aload 15 + // 430: invokevirtual 348 com/tencent/feedback/proguard/o:a ()Ljava/lang/String; + // 433: astore_1 + // 434: lload 7 + // 436: lconst_0 + // 437: lcmp + // 438: iflt +392 -> 830 + // 441: iconst_1 + // 442: istore 9 + // 444: iload_3 + // 445: istore 4 + // 447: aload 13 + // 449: astore 11 + // 451: iload_3 + // 452: istore_2 + // 453: aload 13 + // 455: astore_0 + // 456: aload 12 + // 458: astore 10 + // 460: ldc_w 567 + // 463: iconst_2 + // 464: anewarray 4 java/lang/Object + // 467: dup + // 468: iconst_0 + // 469: aload_1 + // 470: aastore + // 471: dup + // 472: iconst_1 + // 473: iload 9 + // 475: invokestatic 572 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 478: aastore + // 479: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 482: pop + // 483: iload_3 + // 484: istore_2 + // 485: goto +457 -> 942 + // 488: iload_3 + // 489: istore 4 + // 491: aload 13 + // 493: astore 11 + // 495: iload_3 + // 496: istore_2 + // 497: aload 13 + // 499: astore_0 + // 500: aload 12 + // 502: astore 10 + // 504: new 259 android/content/ContentValues + // 507: dup + // 508: invokespecial 260 android/content/ContentValues: ()V + // 511: astore_1 + // 512: iload_3 + // 513: istore 4 + // 515: aload 13 + // 517: astore 11 + // 519: iload_3 + // 520: istore_2 + // 521: aload 13 + // 523: astore_0 + // 524: aload 12 + // 526: astore 10 + // 528: aload_1 + // 529: ldc_w 321 + // 532: aload 15 + // 534: invokevirtual 348 com/tencent/feedback/proguard/o:a ()Ljava/lang/String; + // 537: invokevirtual 290 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 540: iload_3 + // 541: istore 4 + // 543: aload 13 + // 545: astore 11 + // 547: iload_3 + // 548: istore_2 + // 549: aload 13 + // 551: astore_0 + // 552: aload 12 + // 554: astore 10 + // 556: aload_1 + // 557: ldc_w 505 + // 560: aload 15 + // 562: invokevirtual 350 com/tencent/feedback/proguard/o:d ()Ljava/lang/String; + // 565: invokevirtual 290 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 568: iload_3 + // 569: istore 4 + // 571: aload 13 + // 573: astore 11 + // 575: iload_3 + // 576: istore_2 + // 577: aload 13 + // 579: astore_0 + // 580: aload 12 + // 582: astore 10 + // 584: aload_1 + // 585: ldc_w 514 + // 588: aload 15 + // 590: invokevirtual 574 com/tencent/feedback/proguard/o:c ()J + // 593: invokestatic 265 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 596: invokevirtual 269 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 599: iload_3 + // 600: istore 4 + // 602: aload 13 + // 604: astore 11 + // 606: iload_3 + // 607: istore_2 + // 608: aload 13 + // 610: astore_0 + // 611: aload 12 + // 613: astore 10 + // 615: aload_1 + // 616: ldc_w 518 + // 619: aload 15 + // 621: invokevirtual 576 com/tencent/feedback/proguard/o:b ()J + // 624: invokestatic 265 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 627: invokevirtual 269 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 630: iload_3 + // 631: istore 4 + // 633: aload 13 + // 635: astore 11 + // 637: iload_3 + // 638: istore_2 + // 639: aload 13 + // 641: astore_0 + // 642: aload 12 + // 644: astore 10 + // 646: aload_1 + // 647: ldc_w 327 + // 650: aload 15 + // 652: invokevirtual 351 com/tencent/feedback/proguard/o:e ()I + // 655: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 658: invokevirtual 274 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Integer;)V + // 661: iload_3 + // 662: istore 4 + // 664: aload 13 + // 666: astore 11 + // 668: iload_3 + // 669: istore_2 + // 670: aload 13 + // 672: astore_0 + // 673: aload 12 + // 675: astore 10 + // 677: aload_1 + // 678: ldc_w 522 + // 681: aload 15 + // 683: invokevirtual 353 com/tencent/feedback/proguard/o:f ()Ljava/lang/String; + // 686: invokevirtual 290 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 689: goto -348 -> 341 + // 692: astore_0 + // 693: aload 12 + // 695: astore_1 + // 696: aload_0 + // 697: astore 12 + // 699: iload 4 + // 701: istore_2 + // 702: aload 11 + // 704: astore_0 + // 705: aload_1 + // 706: astore 10 + // 708: ldc 120 + // 710: iconst_0 + // 711: anewarray 4 java/lang/Object + // 714: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 717: pop + // 718: iload 4 + // 720: istore_2 + // 721: aload 11 + // 723: astore_0 + // 724: aload_1 + // 725: astore 10 + // 727: ldc_w 578 + // 730: iconst_1 + // 731: anewarray 4 java/lang/Object + // 734: dup + // 735: iconst_0 + // 736: aload 12 + // 738: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 741: aastore + // 742: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 745: pop + // 746: iload 4 + // 748: istore_2 + // 749: aload 11 + // 751: astore_0 + // 752: aload_1 + // 753: astore 10 + // 755: aload 12 + // 757: invokestatic 128 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 760: ifne +17 -> 777 + // 763: iload 4 + // 765: istore_2 + // 766: aload 11 + // 768: astore_0 + // 769: aload_1 + // 770: astore 10 + // 772: aload 12 + // 774: invokevirtual 131 java/lang/Throwable:printStackTrace ()V + // 777: aload 11 + // 779: ifnull +16 -> 795 + // 782: aload 11 + // 784: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 787: ifeq +8 -> 795 + // 790: aload 11 + // 792: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 795: aload_1 + // 796: ifnull +7 -> 803 + // 799: aload_1 + // 800: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 803: ldc_w 565 + // 806: iconst_1 + // 807: anewarray 4 java/lang/Object + // 810: dup + // 811: iconst_0 + // 812: iload 4 + // 814: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 817: aastore + // 818: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 821: pop + // 822: iload 4 + // 824: ireturn + // 825: iconst_0 + // 826: istore_2 + // 827: goto -419 -> 408 + // 830: iconst_0 + // 831: istore 9 + // 833: goto -389 -> 444 + // 836: aload 13 + // 838: ifnull +16 -> 854 + // 841: aload 13 + // 843: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 846: ifeq +8 -> 854 + // 849: aload 13 + // 851: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 854: aload 12 + // 856: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 859: ldc_w 565 + // 862: iconst_1 + // 863: anewarray 4 java/lang/Object + // 866: dup + // 867: iconst_0 + // 868: iload_3 + // 869: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 872: aastore + // 873: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 876: pop + // 877: iload_3 + // 878: ireturn + // 879: astore_1 + // 880: aconst_null + // 881: astore 10 + // 883: aload 13 + // 885: astore_0 + // 886: aload_0 + // 887: ifnull +14 -> 901 + // 890: aload_0 + // 891: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 894: ifeq +7 -> 901 + // 897: aload_0 + // 898: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 901: aload 10 + // 903: ifnull +8 -> 911 + // 906: aload 10 + // 908: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 911: ldc_w 565 + // 914: iconst_1 + // 915: anewarray 4 java/lang/Object + // 918: dup + // 919: iconst_0 + // 920: iload_2 + // 921: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 924: aastore + // 925: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 928: pop + // 929: aload_1 + // 930: athrow + // 931: astore_1 + // 932: goto -46 -> 886 + // 935: astore 12 + // 937: aconst_null + // 938: astore_1 + // 939: goto -240 -> 699 + // 942: iload_2 + // 943: istore_3 + // 944: goto -664 -> 280 + // Local variable table: + // start length slot name signature + // 0 947 0 paramContext Context + // 0 947 1 paramList List + // 107 836 2 k int + // 112 832 3 m int + // 104 719 4 n int + // 101 154 5 i1 int + // 109 154 6 i2 int + // 374 61 7 l long + // 442 390 9 bool boolean + // 95 812 10 localObject1 Object + // 89 702 11 localObject2 Object + // 121 734 12 localObject3 Object + // 935 1 12 localThrowable Throwable + // 92 792 13 localSQLiteDatabase android.database.sqlite.SQLiteDatabase + // 98 225 14 localIterator java.util.Iterator + // 332 350 15 localo o + // Exception table: + // from to target type + // 141 148 692 java/lang/Throwable + // 171 182 692 java/lang/Throwable + // 200 211 692 java/lang/Throwable + // 272 280 692 java/lang/Throwable + // 296 306 692 java/lang/Throwable + // 322 334 692 java/lang/Throwable + // 363 376 692 java/lang/Throwable + // 392 399 692 java/lang/Throwable + // 428 434 692 java/lang/Throwable + // 460 483 692 java/lang/Throwable + // 504 512 692 java/lang/Throwable + // 528 540 692 java/lang/Throwable + // 556 568 692 java/lang/Throwable + // 584 599 692 java/lang/Throwable + // 615 630 692 java/lang/Throwable + // 646 661 692 java/lang/Throwable + // 677 689 692 java/lang/Throwable + // 113 123 879 finally + // 141 148 931 finally + // 171 182 931 finally + // 200 211 931 finally + // 272 280 931 finally + // 296 306 931 finally + // 322 334 931 finally + // 363 376 931 finally + // 392 399 931 finally + // 428 434 931 finally + // 460 483 931 finally + // 504 512 931 finally + // 528 540 931 finally + // 556 568 931 finally + // 584 599 931 finally + // 615 630 931 finally + // 646 661 931 finally + // 677 689 931 finally + // 708 718 931 finally + // 727 746 931 finally + // 755 763 931 finally + // 772 777 931 finally + // 113 123 935 java/lang/Throwable + } + + /* Error */ + public static int d(Context paramContext, List paramList) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore 6 + // 6: aconst_null + // 7: astore 7 + // 9: aconst_null + // 10: astore 8 + // 12: aload_0 + // 13: ifnull +16 -> 29 + // 16: aload_1 + // 17: ifnull +12 -> 29 + // 20: aload_1 + // 21: invokeinterface 364 1 0 + // 26: ifne +51 -> 77 + // 29: aload_1 + // 30: ifnonnull +24 -> 54 + // 33: ldc_w 557 + // 36: astore_0 + // 37: ldc_w 581 + // 40: iconst_1 + // 41: anewarray 4 java/lang/Object + // 44: dup + // 45: iconst_0 + // 46: aload_0 + // 47: aastore + // 48: invokestatic 56 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 51: pop + // 52: iconst_m1 + // 53: ireturn + // 54: new 95 java/lang/StringBuilder + // 57: dup + // 58: invokespecial 154 java/lang/StringBuilder: ()V + // 61: aload_1 + // 62: invokeinterface 364 1 0 + // 67: invokevirtual 104 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 70: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 73: astore_0 + // 74: goto -37 -> 37 + // 77: ldc_w 583 + // 80: iconst_1 + // 81: anewarray 4 java/lang/Object + // 84: dup + // 85: iconst_0 + // 86: aload_1 + // 87: invokeinterface 364 1 0 + // 92: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 95: aastore + // 96: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 99: pop + // 100: new 68 com/tencent/feedback/proguard/n + // 103: dup + // 104: aload_0 + // 105: invokespecial 71 com/tencent/feedback/proguard/n: (Landroid/content/Context;)V + // 108: astore 4 + // 110: aload 8 + // 112: astore 5 + // 114: aload 7 + // 116: astore 6 + // 118: aload 4 + // 120: invokevirtual 75 com/tencent/feedback/proguard/n:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 123: astore_0 + // 124: aload_0 + // 125: ifnonnull +76 -> 201 + // 128: aload_0 + // 129: astore 5 + // 131: aload_0 + // 132: astore 6 + // 134: ldc 77 + // 136: iconst_0 + // 137: anewarray 4 java/lang/Object + // 140: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 143: pop + // 144: aload_0 + // 145: astore 5 + // 147: aload_0 + // 148: astore 6 + // 150: ldc_w 585 + // 153: iconst_0 + // 154: anewarray 4 java/lang/Object + // 157: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 160: pop + // 161: aload_0 + // 162: ifnull +14 -> 176 + // 165: aload_0 + // 166: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 169: ifeq +7 -> 176 + // 172: aload_0 + // 173: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 176: aload 4 + // 178: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 181: ldc_w 587 + // 184: iconst_1 + // 185: anewarray 4 java/lang/Object + // 188: dup + // 189: iconst_0 + // 190: iconst_0 + // 191: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 194: aastore + // 195: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 198: pop + // 199: iconst_m1 + // 200: ireturn + // 201: aload_0 + // 202: astore 5 + // 204: aload_0 + // 205: astore 6 + // 207: new 227 java/lang/StringBuffer + // 210: dup + // 211: invokespecial 228 java/lang/StringBuffer: ()V + // 214: astore 7 + // 216: aload_0 + // 217: astore 5 + // 219: aload_0 + // 220: astore 6 + // 222: aload_1 + // 223: invokeinterface 536 1 0 + // 228: astore_1 + // 229: aload_0 + // 230: astore 5 + // 232: aload_0 + // 233: astore 6 + // 235: aload_1 + // 236: invokeinterface 541 1 0 + // 241: ifeq +289 -> 530 + // 244: aload_0 + // 245: astore 5 + // 247: aload_0 + // 248: astore 6 + // 250: aload_1 + // 251: invokeinterface 545 1 0 + // 256: checkcast 346 com/tencent/feedback/proguard/o + // 259: astore 8 + // 261: aload_0 + // 262: astore 5 + // 264: aload_0 + // 265: astore 6 + // 267: aload 7 + // 269: ldc_w 589 + // 272: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 275: pop + // 276: aload_0 + // 277: astore 5 + // 279: aload_0 + // 280: astore 6 + // 282: aload 7 + // 284: ldc_w 321 + // 287: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 290: pop + // 291: aload_0 + // 292: astore 5 + // 294: aload_0 + // 295: astore 6 + // 297: aload 7 + // 299: ldc_w 323 + // 302: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 305: pop + // 306: aload_0 + // 307: astore 5 + // 309: aload_0 + // 310: astore 6 + // 312: aload 7 + // 314: aload 8 + // 316: invokevirtual 348 com/tencent/feedback/proguard/o:a ()Ljava/lang/String; + // 319: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 322: pop + // 323: aload_0 + // 324: astore 5 + // 326: aload_0 + // 327: astore 6 + // 329: aload 7 + // 331: ldc_w 591 + // 334: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 337: pop + // 338: aload_0 + // 339: astore 5 + // 341: aload_0 + // 342: astore 6 + // 344: aload 7 + // 346: ldc_w 327 + // 349: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 352: pop + // 353: aload_0 + // 354: astore 5 + // 356: aload_0 + // 357: astore 6 + // 359: aload 7 + // 361: ldc_w 329 + // 364: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 367: pop + // 368: aload_0 + // 369: astore 5 + // 371: aload_0 + // 372: astore 6 + // 374: aload 7 + // 376: aload 8 + // 378: invokevirtual 351 com/tencent/feedback/proguard/o:e ()I + // 381: invokevirtual 332 java/lang/StringBuffer:append (I)Ljava/lang/StringBuffer; + // 384: pop + // 385: aload_0 + // 386: astore 5 + // 388: aload_0 + // 389: astore 6 + // 391: aload 7 + // 393: ldc_w 382 + // 396: invokevirtual 239 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 399: pop + // 400: goto -171 -> 229 + // 403: astore 6 + // 405: iconst_0 + // 406: istore_2 + // 407: aload 5 + // 409: astore_0 + // 410: iload_2 + // 411: istore_3 + // 412: aload_0 + // 413: astore 5 + // 415: aload 4 + // 417: astore_1 + // 418: aload 6 + // 420: invokestatic 128 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 423: ifne +16 -> 439 + // 426: iload_2 + // 427: istore_3 + // 428: aload_0 + // 429: astore 5 + // 431: aload 4 + // 433: astore_1 + // 434: aload 6 + // 436: invokevirtual 131 java/lang/Throwable:printStackTrace ()V + // 439: iload_2 + // 440: istore_3 + // 441: aload_0 + // 442: astore 5 + // 444: aload 4 + // 446: astore_1 + // 447: ldc_w 593 + // 450: iconst_0 + // 451: anewarray 4 java/lang/Object + // 454: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 457: pop + // 458: iload_2 + // 459: istore_3 + // 460: aload_0 + // 461: astore 5 + // 463: aload 4 + // 465: astore_1 + // 466: ldc_w 595 + // 469: iconst_1 + // 470: anewarray 4 java/lang/Object + // 473: dup + // 474: iconst_0 + // 475: aload 6 + // 477: invokevirtual 125 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 480: aastore + // 481: invokestatic 79 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 484: pop + // 485: aload_0 + // 486: ifnull +14 -> 500 + // 489: aload_0 + // 490: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 493: ifeq +7 -> 500 + // 496: aload_0 + // 497: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 500: aload 4 + // 502: ifnull +8 -> 510 + // 505: aload 4 + // 507: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 510: ldc_w 587 + // 513: iconst_1 + // 514: anewarray 4 java/lang/Object + // 517: dup + // 518: iconst_0 + // 519: iload_2 + // 520: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 523: aastore + // 524: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 527: pop + // 528: iload_2 + // 529: ireturn + // 530: aload_0 + // 531: astore 5 + // 533: aload_0 + // 534: astore 6 + // 536: aload 7 + // 538: iconst_2 + // 539: invokevirtual 242 java/lang/StringBuffer:substring (I)Ljava/lang/String; + // 542: astore 7 + // 544: aload_0 + // 545: astore 5 + // 547: aload_0 + // 548: astore 6 + // 550: aload_0 + // 551: ldc 110 + // 553: aload 7 + // 555: aconst_null + // 556: invokevirtual 114 android/database/sqlite/SQLiteDatabase:delete (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 559: istore_2 + // 560: iload_2 + // 561: istore_3 + // 562: aload_0 + // 563: astore 5 + // 565: aload 4 + // 567: astore_1 + // 568: ldc_w 597 + // 571: iconst_2 + // 572: anewarray 4 java/lang/Object + // 575: dup + // 576: iconst_0 + // 577: iload_2 + // 578: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 581: aastore + // 582: dup + // 583: iconst_1 + // 584: aload 7 + // 586: aastore + // 587: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 590: pop + // 591: aload_0 + // 592: ifnull +14 -> 606 + // 595: aload_0 + // 596: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 599: ifeq +7 -> 606 + // 602: aload_0 + // 603: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 606: aload 4 + // 608: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 611: ldc_w 587 + // 614: iconst_1 + // 615: anewarray 4 java/lang/Object + // 618: dup + // 619: iconst_0 + // 620: iload_2 + // 621: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 624: aastore + // 625: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 628: pop + // 629: iload_2 + // 630: ireturn + // 631: astore_0 + // 632: iconst_0 + // 633: istore_2 + // 634: aconst_null + // 635: astore_1 + // 636: aload 6 + // 638: astore 5 + // 640: aload 5 + // 642: ifnull +16 -> 658 + // 645: aload 5 + // 647: invokevirtual 87 android/database/sqlite/SQLiteDatabase:isOpen ()Z + // 650: ifeq +8 -> 658 + // 653: aload 5 + // 655: invokevirtual 90 android/database/sqlite/SQLiteDatabase:close ()V + // 658: aload_1 + // 659: ifnull +7 -> 666 + // 662: aload_1 + // 663: invokevirtual 91 com/tencent/feedback/proguard/n:close ()V + // 666: ldc_w 587 + // 669: iconst_1 + // 670: anewarray 4 java/lang/Object + // 673: dup + // 674: iconst_0 + // 675: iload_2 + // 676: invokestatic 64 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 679: aastore + // 680: invokestatic 66 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 683: pop + // 684: aload_0 + // 685: athrow + // 686: astore_0 + // 687: iconst_0 + // 688: istore_2 + // 689: aload 6 + // 691: astore 5 + // 693: aload 4 + // 695: astore_1 + // 696: goto -56 -> 640 + // 699: astore_0 + // 700: iload_3 + // 701: istore_2 + // 702: goto -62 -> 640 + // 705: astore 6 + // 707: aconst_null + // 708: astore 4 + // 710: iconst_0 + // 711: istore_2 + // 712: aload 5 + // 714: astore_0 + // 715: goto -305 -> 410 + // 718: astore 6 + // 720: goto -310 -> 410 + // Local variable table: + // start length slot name signature + // 0 723 0 paramContext Context + // 0 723 1 paramList List + // 406 306 2 k int + // 411 290 3 m int + // 108 601 4 localn n + // 1 712 5 localObject1 Object + // 4 386 6 localObject2 Object + // 403 73 6 localThrowable1 Throwable + // 534 156 6 localContext Context + // 705 1 6 localThrowable2 Throwable + // 718 1 6 localThrowable3 Throwable + // 7 578 7 localObject3 Object + // 10 367 8 localo o + // Exception table: + // from to target type + // 118 124 403 java/lang/Throwable + // 134 144 403 java/lang/Throwable + // 150 161 403 java/lang/Throwable + // 207 216 403 java/lang/Throwable + // 222 229 403 java/lang/Throwable + // 235 244 403 java/lang/Throwable + // 250 261 403 java/lang/Throwable + // 267 276 403 java/lang/Throwable + // 282 291 403 java/lang/Throwable + // 297 306 403 java/lang/Throwable + // 312 323 403 java/lang/Throwable + // 329 338 403 java/lang/Throwable + // 344 353 403 java/lang/Throwable + // 359 368 403 java/lang/Throwable + // 374 385 403 java/lang/Throwable + // 391 400 403 java/lang/Throwable + // 536 544 403 java/lang/Throwable + // 550 560 403 java/lang/Throwable + // 100 110 631 finally + // 118 124 686 finally + // 134 144 686 finally + // 150 161 686 finally + // 207 216 686 finally + // 222 229 686 finally + // 235 244 686 finally + // 250 261 686 finally + // 267 276 686 finally + // 282 291 686 finally + // 297 306 686 finally + // 312 323 686 finally + // 329 338 686 finally + // 344 353 686 finally + // 359 368 686 finally + // 374 385 686 finally + // 391 400 686 finally + // 536 544 686 finally + // 550 560 686 finally + // 418 426 699 finally + // 434 439 699 finally + // 447 458 699 finally + // 466 485 699 finally + // 568 591 699 finally + // 100 110 705 java/lang/Throwable + // 568 591 718 java/lang/Throwable + } + + public final long a() + { + return this.a; + } + + public final l a(int paramInt) + { + try + { + this.h = paramInt; + return this; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final l a(long paramLong) + { + this.a = paramLong; + return this; + } + + public final l a(String paramString) + { + this.g = paramString; + return this; + } + + public final l b(int paramInt) + { + try + { + this.i = paramInt; + return this; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final byte[] b() + { + return this.e; + } + + public final int c() + { + try + { + int k = this.h; + return k; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final l c(int paramInt) + { + try + { + this.j = paramInt; + return this; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int d() + { + try + { + int k = this.i; + return k; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int e() + { + try + { + int k = this.j; + return k; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/m_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/m_1.java new file mode 100755 index 00000000000..476e0760f5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/m_1.java @@ -0,0 +1,23 @@ +package com.tencent.feedback.proguard; + +import java.util.Locale; + +public final class m +{ + public static final String[][] a = new String[5][]; + + static + { + a[0] = { "ao", String.format(Locale.US, "CREATE TABLE %s ( %s INTEGER PRIMARY KEY , %s int , %s int , %s int , %s int , %s blob , %s text , %s int ,%s int , %s int)", new Object[] { "ao", "_id", "_time", "_type", "_prority", "_length", "_datas", "_key", "_upCounts", "_count", "_state" }) }; + a[1] = { "count", String.format(Locale.US, "CREATE TABLE %s ( %s INTEGER PRIMARY KEY , %s text unique , %s int , %s int , %s int , %s int , %s int , %s text)", new Object[] { "count", "_id", "_countid", "_prority", "_local", "_stime", "_utime", "_ctime", "_cparams" }) }; + a[2] = { "gray", String.format(Locale.US, "CREATE TABLE %s ( %s INTEGER PRIMARY KEY , %s int , %s text unique )", new Object[] { "gray", "_id", "_time", "_uid" }) }; + a[3] = { "file", String.format(Locale.US, "CREATE TABLE %s ( %s INTEGER PRIMARY KEY , %s text , %s int , %s int , %s text , %s int , %s text )", new Object[] { "file", "_id", "_n", "_ut", "_sz", "_sa", "_t", "_ac" }) }; + a[4] = { "strategy", String.format(Locale.US, "CREATE TABLE %s ( %s INTEGER PRIMARY KEY , %s int unique , %s int , %s blob)", new Object[] { "strategy", "_id", "_key", "_ut", "_datas" }) }; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/n_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/n_1.java new file mode 100755 index 00000000000..cb2ecb14a6f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/n_1.java @@ -0,0 +1,468 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import com.tencent.feedback.common.e; + +public final class n + extends SQLiteOpenHelper +{ + private Context a; + + public n(Context paramContext) + { + super(paramContext, "eup_db", null, 14); + this.a = paramContext; + } + + /* Error */ + private boolean a(SQLiteDatabase paramSQLiteDatabase) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: new 21 java/util/ArrayList + // 5: dup + // 6: invokespecial 24 java/util/ArrayList: ()V + // 9: astore 5 + // 11: aload_1 + // 12: ldc 26 + // 14: iconst_1 + // 15: anewarray 28 java/lang/String + // 18: dup + // 19: iconst_0 + // 20: ldc 30 + // 22: aastore + // 23: ldc 32 + // 25: aconst_null + // 26: aconst_null + // 27: aconst_null + // 28: aconst_null + // 29: invokevirtual 38 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 32: astore 4 + // 34: aload 4 + // 36: ifnull +84 -> 120 + // 39: aload 4 + // 41: astore_3 + // 42: aload 4 + // 44: invokeinterface 44 1 0 + // 49: ifeq +71 -> 120 + // 52: aload 4 + // 54: astore_3 + // 55: aload 5 + // 57: aload 4 + // 59: iconst_0 + // 60: invokeinterface 48 2 0 + // 65: invokeinterface 54 2 0 + // 70: pop + // 71: goto -32 -> 39 + // 74: astore_1 + // 75: aload 4 + // 77: astore_3 + // 78: aload_1 + // 79: invokestatic 59 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 82: ifne +10 -> 92 + // 85: aload 4 + // 87: astore_3 + // 88: aload_1 + // 89: invokevirtual 62 java/lang/Throwable:printStackTrace ()V + // 92: aload 4 + // 94: ifnull +20 -> 114 + // 97: aload 4 + // 99: invokeinterface 65 1 0 + // 104: ifne +10 -> 114 + // 107: aload 4 + // 109: invokeinterface 68 1 0 + // 114: iconst_0 + // 115: istore_2 + // 116: aload_0 + // 117: monitorexit + // 118: iload_2 + // 119: ireturn + // 120: aload 4 + // 122: astore_3 + // 123: aload 5 + // 125: invokeinterface 72 1 0 + // 130: ifle +115 -> 245 + // 133: aload 4 + // 135: astore_3 + // 136: aload 5 + // 138: invokeinterface 76 1 0 + // 143: astore 5 + // 145: aload 4 + // 147: astore_3 + // 148: aload 5 + // 150: invokeinterface 81 1 0 + // 155: ifeq +90 -> 245 + // 158: aload 4 + // 160: astore_3 + // 161: aload 5 + // 163: invokeinterface 85 1 0 + // 168: checkcast 28 java/lang/String + // 171: astore 6 + // 173: aload 4 + // 175: astore_3 + // 176: aload_1 + // 177: getstatic 91 java/util/Locale:US Ljava/util/Locale; + // 180: ldc 93 + // 182: iconst_1 + // 183: anewarray 95 java/lang/Object + // 186: dup + // 187: iconst_0 + // 188: aload 6 + // 190: aastore + // 191: invokestatic 99 java/lang/String:format (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; + // 194: invokevirtual 103 android/database/sqlite/SQLiteDatabase:execSQL (Ljava/lang/String;)V + // 197: aload 4 + // 199: astore_3 + // 200: ldc 105 + // 202: iconst_1 + // 203: anewarray 95 java/lang/Object + // 206: dup + // 207: iconst_0 + // 208: aload 6 + // 210: aastore + // 211: invokestatic 109 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 214: pop + // 215: goto -70 -> 145 + // 218: astore_1 + // 219: aload_3 + // 220: ifnull +18 -> 238 + // 223: aload_3 + // 224: invokeinterface 65 1 0 + // 229: ifne +9 -> 238 + // 232: aload_3 + // 233: invokeinterface 68 1 0 + // 238: aload_1 + // 239: athrow + // 240: astore_1 + // 241: aload_0 + // 242: monitorexit + // 243: aload_1 + // 244: athrow + // 245: aload 4 + // 247: ifnull +20 -> 267 + // 250: aload 4 + // 252: invokeinterface 65 1 0 + // 257: ifne +10 -> 267 + // 260: aload 4 + // 262: invokeinterface 68 1 0 + // 267: iconst_1 + // 268: istore_2 + // 269: goto -153 -> 116 + // 272: astore_1 + // 273: aconst_null + // 274: astore_3 + // 275: goto -56 -> 219 + // 278: astore_1 + // 279: aconst_null + // 280: astore 4 + // 282: goto -207 -> 75 + // Local variable table: + // start length slot name signature + // 0 285 0 this n + // 0 285 1 paramSQLiteDatabase SQLiteDatabase + // 115 154 2 bool boolean + // 41 234 3 localCursor1 android.database.Cursor + // 32 249 4 localCursor2 android.database.Cursor + // 9 153 5 localObject Object + // 171 38 6 str String + // Exception table: + // from to target type + // 42 52 74 java/lang/Throwable + // 55 71 74 java/lang/Throwable + // 123 133 74 java/lang/Throwable + // 136 145 74 java/lang/Throwable + // 148 158 74 java/lang/Throwable + // 161 173 74 java/lang/Throwable + // 176 197 74 java/lang/Throwable + // 200 215 74 java/lang/Throwable + // 42 52 218 finally + // 55 71 218 finally + // 78 85 218 finally + // 88 92 218 finally + // 123 133 218 finally + // 136 145 218 finally + // 148 158 218 finally + // 161 173 218 finally + // 176 197 218 finally + // 200 215 218 finally + // 97 114 240 finally + // 223 238 240 finally + // 238 240 240 finally + // 250 267 240 finally + // 2 34 272 finally + // 2 34 278 java/lang/Throwable + } + + public final SQLiteDatabase getReadableDatabase() + { + int i = 0; + Object localObject = null; + while ((localObject == null) && (i < 5)) + { + int j = i + 1; + try + { + SQLiteDatabase localSQLiteDatabase2 = super.getReadableDatabase(); + localObject = localSQLiteDatabase2; + i = j; + } + catch (Throwable localThrowable) + { + e.c("rqdp{ getReadableDatabase error count} %d", new Object[] { Integer.valueOf(j) }); + if (j == 5) { + e.d("rqdp{ error get DB failed}", new Object[0]); + } + try + { + Thread.sleep(200L); + i = j; + } + catch (InterruptedException localInterruptedException) + { + i = j; + } + if (!e.a(localThrowable)) + { + localThrowable.printStackTrace(); + i = j; + } + } + finally {} + } + return localSQLiteDatabase1; + } + + public final SQLiteDatabase getWritableDatabase() + { + int i = 0; + Object localObject = null; + while ((localObject == null) && (i < 5)) + { + int j = i + 1; + try + { + SQLiteDatabase localSQLiteDatabase2 = super.getWritableDatabase(); + localObject = localSQLiteDatabase2; + i = j; + } + catch (Exception localException) + { + e.c("rqdp{ getWritableDatabase error count} %d", new Object[] { Integer.valueOf(j) }); + if (j == 5) { + e.d("rqdp{ error get DB failed}", new Object[0]); + } + try + { + Thread.sleep(200L); + i = j; + } + catch (InterruptedException localInterruptedException) + { + i = j; + } + if (!e.a(localException)) + { + localException.printStackTrace(); + i = j; + } + } + finally {} + } + return localSQLiteDatabase1; + } + + public final void onCreate(SQLiteDatabase paramSQLiteDatabase) + { + int i = 0; + if (paramSQLiteDatabase != null) {} + try + { + if (m.a != null) + { + String[][] arrayOfString = m.a; + int j = arrayOfString.length; + while (i < j) + { + String[] arrayOfString1 = arrayOfString[i]; + e.b("rqdp{ table:}%s %s", new Object[] { arrayOfString1[0], arrayOfString1[1] }); + paramSQLiteDatabase.execSQL(arrayOfString1[1]); + i += 1; + } + } + return; + } + finally {} + } + + /* Error */ + @android.annotation.TargetApi(11) + public final void onDowngrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 15 com/tencent/feedback/proguard/n:a Landroid/content/Context; + // 6: invokestatic 166 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 9: pop + // 10: invokestatic 169 com/tencent/feedback/common/d:c ()Ljava/lang/String; + // 13: invokestatic 173 java/lang/Integer:parseInt (Ljava/lang/String;)I + // 16: bipush 11 + // 18: if_icmplt +55 -> 73 + // 21: ldc 175 + // 23: iconst_3 + // 24: anewarray 95 java/lang/Object + // 27: dup + // 28: iconst_0 + // 29: ldc 10 + // 31: aastore + // 32: dup + // 33: iconst_1 + // 34: iload_2 + // 35: invokestatic 123 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 38: aastore + // 39: dup + // 40: iconst_2 + // 41: iload_3 + // 42: invokestatic 123 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 45: aastore + // 46: invokestatic 109 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 49: pop + // 50: aload_0 + // 51: aload_1 + // 52: invokespecial 177 com/tencent/feedback/proguard/n:a (Landroid/database/sqlite/SQLiteDatabase;)Z + // 55: ifeq +21 -> 76 + // 58: ldc 179 + // 60: iconst_0 + // 61: anewarray 95 java/lang/Object + // 64: invokestatic 109 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 67: pop + // 68: aload_0 + // 69: aload_1 + // 70: invokevirtual 181 com/tencent/feedback/proguard/n:onCreate (Landroid/database/sqlite/SQLiteDatabase;)V + // 73: aload_0 + // 74: monitorexit + // 75: return + // 76: ldc 183 + // 78: iconst_0 + // 79: anewarray 95 java/lang/Object + // 82: invokestatic 131 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 85: pop + // 86: aload_0 + // 87: getfield 15 com/tencent/feedback/proguard/n:a Landroid/content/Context; + // 90: ldc 10 + // 92: invokevirtual 189 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 95: astore_1 + // 96: aload_1 + // 97: ifnull -24 -> 73 + // 100: aload_1 + // 101: invokevirtual 194 java/io/File:canWrite ()Z + // 104: ifeq -31 -> 73 + // 107: aload_1 + // 108: invokevirtual 197 java/io/File:delete ()Z + // 111: pop + // 112: goto -39 -> 73 + // 115: astore_1 + // 116: aload_0 + // 117: monitorexit + // 118: aload_1 + // 119: athrow + // Local variable table: + // start length slot name signature + // 0 120 0 this n + // 0 120 1 paramSQLiteDatabase SQLiteDatabase + // 0 120 2 paramInt1 int + // 0 120 3 paramInt2 int + // Exception table: + // from to target type + // 2 73 115 finally + // 76 96 115 finally + // 100 112 115 finally + } + + /* Error */ + public final void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: ldc 201 + // 4: iconst_3 + // 5: anewarray 95 java/lang/Object + // 8: dup + // 9: iconst_0 + // 10: ldc 10 + // 12: aastore + // 13: dup + // 14: iconst_1 + // 15: iload_2 + // 16: invokestatic 123 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 19: aastore + // 20: dup + // 21: iconst_2 + // 22: iload_3 + // 23: invokestatic 123 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 26: aastore + // 27: invokestatic 109 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 30: pop + // 31: aload_0 + // 32: aload_1 + // 33: invokespecial 177 com/tencent/feedback/proguard/n:a (Landroid/database/sqlite/SQLiteDatabase;)Z + // 36: ifeq +21 -> 57 + // 39: ldc 179 + // 41: iconst_0 + // 42: anewarray 95 java/lang/Object + // 45: invokestatic 109 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 48: pop + // 49: aload_0 + // 50: aload_1 + // 51: invokevirtual 181 com/tencent/feedback/proguard/n:onCreate (Landroid/database/sqlite/SQLiteDatabase;)V + // 54: aload_0 + // 55: monitorexit + // 56: return + // 57: ldc 183 + // 59: iconst_0 + // 60: anewarray 95 java/lang/Object + // 63: invokestatic 131 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 66: pop + // 67: aload_0 + // 68: getfield 15 com/tencent/feedback/proguard/n:a Landroid/content/Context; + // 71: ldc 10 + // 73: invokevirtual 189 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 76: astore_1 + // 77: aload_1 + // 78: ifnull -24 -> 54 + // 81: aload_1 + // 82: invokevirtual 194 java/io/File:canWrite ()Z + // 85: ifeq -31 -> 54 + // 88: aload_1 + // 89: invokevirtual 197 java/io/File:delete ()Z + // 92: pop + // 93: goto -39 -> 54 + // 96: astore_1 + // 97: aload_0 + // 98: monitorexit + // 99: aload_1 + // 100: athrow + // Local variable table: + // start length slot name signature + // 0 101 0 this n + // 0 101 1 paramSQLiteDatabase SQLiteDatabase + // 0 101 2 paramInt1 int + // 0 101 3 paramInt2 int + // Exception table: + // from to target type + // 2 54 96 finally + // 57 77 96 finally + // 81 93 96 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/o_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/o_1.java new file mode 100755 index 00000000000..6201ff54d45 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/o_1.java @@ -0,0 +1,105 @@ +package com.tencent.feedback.proguard; + +public final class o +{ + private long a; + private int b; + private String c; + private long d; + private long e; + private String f; + private String g; + + public final String a() + { + return this.c; + } + + public final void a(int paramInt) + { + this.b = paramInt; + } + + public final void a(long paramLong) + { + this.a = paramLong; + } + + public final void a(String paramString) + { + this.c = paramString; + } + + public final long b() + { + return this.d; + } + + public final void b(long paramLong) + { + this.d = paramLong; + } + + public final void b(String paramString) + { + this.f = paramString; + } + + public final long c() + { + return this.e; + } + + public final void c(long paramLong) + { + this.e = paramLong; + } + + public final void c(String paramString) + { + this.g = paramString; + } + + public final String d() + { + return this.f; + } + + public final int e() + { + return this.b; + } + + public final String f() + { + return this.g; + } + + public final String toString() + { + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append("rqdp{ fT:}"); + localStringBuffer.append(this.b); + localStringBuffer.append("rqdp{ cid:}"); + localStringBuffer.append(this.a); + localStringBuffer.append("rqdp{ fN:}"); + localStringBuffer.append(this.c); + localStringBuffer.append("rqdp{ UT:}"); + localStringBuffer.append(this.d); + localStringBuffer.append("rqdp{ size:}"); + localStringBuffer.append(this.e); + localStringBuffer.append("rqdp{ SID:}"); + localStringBuffer.append(this.f); + localStringBuffer.append("rqdp{ ARCH:}"); + localStringBuffer.append(this.g); + String str = localStringBuffer.toString(); + localStringBuffer.setLength(0); + return str; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/p_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/p_1.java new file mode 100755 index 00000000000..20600d59ec8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/p_1.java @@ -0,0 +1,79 @@ +package com.tencent.feedback.proguard; + +import com.tencent.feedback.common.e; +import java.io.Serializable; +import java.util.Locale; + +public class p + implements Serializable +{ + public final int a; + public final long b; + public final long c; + public final long d; + public final long e; + public final long f; + public final long g; + private long h = -1L; + + public p(int paramInt, long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6) + { + this.a = paramInt; + this.b = paramLong1; + this.c = paramLong2; + this.d = paramLong3; + this.e = paramLong4; + this.f = paramLong5; + this.g = paramLong6; + } + + public final long a() + { + try + { + long l = this.h; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(long paramLong) + { + try + { + this.h = paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public String toString() + { + try + { + String str = String.format(Locale.US, "[tp:%d , st:%d ,counts:%d, wifi:%d , notWifi:%d , up:%d , dn:%d]", new Object[] { Integer.valueOf(this.a), Long.valueOf(this.b), Long.valueOf(this.c), Long.valueOf(this.d), Long.valueOf(this.e), Long.valueOf(this.f), Long.valueOf(this.g) }); + return str; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/q_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/q_1.java new file mode 100755 index 00000000000..b8f0a79b583 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/q_1.java @@ -0,0 +1,175 @@ +package com.tencent.feedback.proguard; + +import java.io.Serializable; + +public class q + implements Serializable, Comparable +{ + private long a; + private long b; + private int c; + private String d; + private String e; + + private int a(q paramq) + { + try + { + long l1 = this.b; + long l2 = paramq.b; + int i = (int)(l1 - l2); + return i; + } + finally + { + paramq = finally; + throw paramq; + } + } + + public final long a() + { + try + { + long l = this.b; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(int paramInt) + { + try + { + this.c = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(long paramLong) + { + try + { + this.b = paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(String paramString) + { + try + { + this.d = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final int b() + { + try + { + int i = this.c; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void b(long paramLong) + { + try + { + this.a = paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void b(String paramString) + { + try + { + this.e = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final String c() + { + try + { + String str = this.d; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final long d() + { + try + { + long l = this.a; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final String e() + { + try + { + String str = this.e; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/r_1.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/r_1.java new file mode 100755 index 00000000000..aafa0842f79 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/r_1.java @@ -0,0 +1,196 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import com.tencent.feedback.common.e; +import com.tencent.feedback.upload.d; +import java.util.Map; + +public final class r + implements d +{ + private Context a = null; + + public r(Context paramContext) + { + this.a = paramContext; + } + + private static boolean a(Q paramQ, w paramw) + { + if ((paramQ == null) || (paramw == null) || (paramQ.b == null)) + { + bool1 = false; + return bool1; + } + String str = (String)paramQ.b.get("B17"); + if (str != null) { + if (str.equals("1")) + { + bool1 = true; + label52: + if (bool1 == paramw.f()) { + break label433; + } + e.b("rqdp{ useStrategy changed to} %b", new Object[] { Boolean.valueOf(bool1) }); + paramw.a(bool1); + } + } + boolean bool2; + label133: + label298: + label433: + for (boolean bool1 = true;; bool1 = false) + { + if ((paramQ.a != null) && (!paramQ.a.equals(paramw.a()))) + { + e.b("rqdp{ url changed to} %s", new Object[] { paramQ.a }); + paramw.a(paramQ.a); + bool2 = true; + str = (String)paramQ.b.get("B18"); + bool1 = bool2; + if (str == null) {} + } + for (;;) + { + for (;;) + { + int i; + boolean bool3; + try + { + i = Integer.parseInt(str); + bool1 = bool2; + if (i != paramw.b()) { + e.b("rqdp{ upStrategy changed to} %d", new Object[] { Integer.valueOf(i) }); + } + } + catch (Exception localException1) {} + for (;;) + { + try + { + paramw.a(i); + bool1 = true; + str = (String)paramQ.b.get("B19"); + bool2 = bool1; + if (str == null) { + break; + } + } + catch (Exception localException4) + { + bool2 = true; + continue; + } + try + { + i = Integer.parseInt(str); + bool2 = bool1; + if (i != paramw.c()) { + e.b("rqdp{ QueryPeriod changed to} %d", new Object[] { Integer.valueOf(i) }); + } + } + catch (Exception localException2) + { + bool2 = bool1; + if (e.a(localException2)) { + break; + } + localException2.printStackTrace(); + bool2 = bool1; + break; + bool3 = true; + break label298; + } + } + try + { + paramw.b(i); + bool2 = true; + paramQ = (String)paramQ.b.get("B20"); + bool1 = bool2; + if (paramQ == null) { + break; + } + if (!paramQ.equals("0")) { + break label412; + } + bool3 = false; + bool1 = bool2; + if (bool3 == paramw.g()) { + break; + } + e.b("rqdp{ enforceQuery changed to} %b", new Object[] { Boolean.valueOf(bool3) }); + paramw.b(bool3); + return true; + } + catch (Exception localException3) + { + bool1 = true; + break label390; + } + } + bool1 = false; + break label52; + e.b("rqdp{ url same to} %s", new Object[] { paramQ.a }); + bool2 = bool1; + break label133; + bool1 = bool2; + if (!e.a(localException1)) + { + localException1.printStackTrace(); + bool1 = bool2; + } + } + } + } + + public final void a(int paramInt, byte[] paramArrayOfByte, boolean paramBoolean) + { + if (paramInt != 510) { + e.c("rqdp{ com strategy unmatch key:}%d", new Object[] { Integer.valueOf(paramInt) }); + } + for (;;) + { + return; + if (paramArrayOfByte != null) + { + w localw = t.a(this.a).b(); + if (localw == null) + { + e.c("rqdp{ imposible! common strategy null!}", new Object[0]); + return; + } + try + { + Q localQ = a.d(paramArrayOfByte); + localQ.a(new h(paramArrayOfByte)); + if (a(localQ, localw)) + { + if (paramBoolean) + { + e.b("rqdp{ update common strategy should save}", new Object[0]); + a.a(this.a, paramInt, paramArrayOfByte); + } + e.b("rqdp{ com strategy changed notify!}", new Object[0]); + t.a(this.a).a(localw); + return; + } + } + catch (Throwable paramArrayOfByte) + { + if (!e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + e.d("rqdp{ error to common strategy!}", new Object[0]); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/s.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/s.java new file mode 100755 index 00000000000..2a797077aba --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/s.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.proguard; + +public abstract interface s +{ + public abstract void d(); + + public abstract void e(); + + public abstract void f(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/t.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/t.java new file mode 100755 index 00000000000..7302b4c7296 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/t.java @@ -0,0 +1,476 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import android.util.SparseArray; +import com.tencent.feedback.common.b; +import com.tencent.feedback.upload.d; +import java.util.ArrayList; +import java.util.List; + +public final class t +{ + private static t a = null; + private w b = null; + private boolean c = false; + private int d = 0; + private d e = null; + private Runnable f = null; + private List g = new ArrayList(5); + private SparseArray h = new SparseArray(5); + private List i = new ArrayList(5); + + private t(Context paramContext) + { + this.e = new r(paramContext); + this.f = new u(paramContext); + b.b().a(this.f); + } + + public static t a(Context paramContext) + { + try + { + if ((a == null) && (paramContext != null)) { + a = new t(paramContext); + } + paramContext = a; + return paramContext; + } + finally {} + } + + /* Error */ + public static com.tencent.feedback.upload.e a() + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 32 com/tencent/feedback/proguard/t:a Lcom/tencent/feedback/proguard/t; + // 6: ifnull +15 -> 21 + // 9: getstatic 32 com/tencent/feedback/proguard/t:a Lcom/tencent/feedback/proguard/t; + // 12: invokespecial 84 com/tencent/feedback/proguard/t:f ()Lcom/tencent/feedback/upload/e; + // 15: astore_0 + // 16: ldc 2 + // 18: monitorexit + // 19: aload_0 + // 20: areturn + // 21: aconst_null + // 22: astore_0 + // 23: goto -7 -> 16 + // 26: astore_0 + // 27: ldc 2 + // 29: monitorexit + // 30: aload_0 + // 31: athrow + // Local variable table: + // start length slot name signature + // 15 8 0 locale com.tencent.feedback.upload.e + // 26 5 0 localObject Object + // Exception table: + // from to target type + // 3 16 26 finally + } + + /* Error */ + private com.tencent.feedback.upload.e f() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 6: ifnull +29 -> 35 + // 9: aload_0 + // 10: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 13: invokevirtual 88 android/util/SparseArray:size ()I + // 16: ifle +19 -> 35 + // 19: aload_0 + // 20: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 23: iconst_0 + // 24: invokevirtual 92 android/util/SparseArray:valueAt (I)Ljava/lang/Object; + // 27: checkcast 94 com/tencent/feedback/upload/e + // 30: astore_1 + // 31: aload_0 + // 32: monitorexit + // 33: aload_1 + // 34: areturn + // 35: aconst_null + // 36: astore_1 + // 37: goto -6 -> 31 + // 40: astore_1 + // 41: aload_0 + // 42: monitorexit + // 43: aload_1 + // 44: athrow + // Local variable table: + // start length slot name signature + // 0 45 0 this t + // 30 7 1 locale com.tencent.feedback.upload.e + // 40 4 1 localObject Object + // Exception table: + // from to target type + // 2 31 40 finally + } + + private boolean g() + { + try + { + boolean bool = this.c; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + private x[] h() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 61 com/tencent/feedback/proguard/t:i Ljava/util/List; + // 6: ifnull +36 -> 42 + // 9: aload_0 + // 10: getfield 61 com/tencent/feedback/proguard/t:i Ljava/util/List; + // 13: invokeinterface 99 1 0 + // 18: ifle +24 -> 42 + // 21: aload_0 + // 22: getfield 61 com/tencent/feedback/proguard/t:i Ljava/util/List; + // 25: iconst_0 + // 26: anewarray 101 com/tencent/feedback/proguard/x + // 29: invokeinterface 105 2 0 + // 34: checkcast 107 [Lcom/tencent/feedback/proguard/x; + // 37: astore_1 + // 38: aload_0 + // 39: monitorexit + // 40: aload_1 + // 41: areturn + // 42: aconst_null + // 43: astore_1 + // 44: goto -6 -> 38 + // 47: astore_1 + // 48: aload_0 + // 49: monitorexit + // 50: aload_1 + // 51: athrow + // Local variable table: + // start length slot name signature + // 0 52 0 this t + // 37 7 1 arrayOfx x[] + // 47 4 1 localObject Object + // Exception table: + // from to target type + // 2 38 47 finally + } + + public final void a(int paramInt) + { + try + { + this.d = paramInt; + com.tencent.feedback.common.e.b("rqdp{ step }%d", new Object[] { Integer.valueOf(paramInt) }); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final void a(int paramInt, com.tencent.feedback.upload.e parame) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 6: ifnull +15 -> 21 + // 9: aload_2 + // 10: ifnonnull +14 -> 24 + // 13: aload_0 + // 14: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 17: iload_1 + // 18: invokevirtual 124 android/util/SparseArray:remove (I)V + // 21: aload_0 + // 22: monitorexit + // 23: return + // 24: aload_0 + // 25: getfield 59 com/tencent/feedback/proguard/t:h Landroid/util/SparseArray; + // 28: iload_1 + // 29: aload_2 + // 30: invokevirtual 128 android/util/SparseArray:put (ILjava/lang/Object;)V + // 33: aload_2 + // 34: aload_0 + // 35: invokevirtual 131 com/tencent/feedback/proguard/t:c ()Lcom/tencent/feedback/upload/d; + // 38: invokeinterface 134 2 0 + // 43: pop + // 44: goto -23 -> 21 + // 47: astore_2 + // 48: aload_0 + // 49: monitorexit + // 50: aload_2 + // 51: athrow + // Local variable table: + // start length slot name signature + // 0 52 0 this t + // 0 52 1 paramInt int + // 0 52 2 parame com.tencent.feedback.upload.e + // Exception table: + // from to target type + // 2 9 47 finally + // 13 21 47 finally + // 24 44 47 finally + } + + public final void a(final s params) + { + if (params == null) {} + for (;;) + { + return; + try + { + if (this.g == null) { + this.g = new ArrayList(); + } + if (this.g.contains(params)) { + continue; + } + this.g.add(params); + final int j = e(); + if (g()) + { + com.tencent.feedback.common.e.b("rqdp{ add listener should notify app first run! }%s", new Object[] { params.toString() }); + b.b().a(new Runnable() + { + public final void run() + { + params.f(); + } + }); + } + if (j < 2) { + continue; + } + com.tencent.feedback.common.e.b("rqdp{ add listener should notify app start query!} %s", new Object[] { params.toString() }); + b.b().a(new Runnable() + { + public final void run() + { + params.d(); + if (j >= 3) + { + com.tencent.feedback.common.e.b("rqdp{ query finished should notify}", new Object[0]); + params.e(); + } + } + }); + } + finally {} + } + } + + public final void a(w paramw) + { + x[] arrayOfx = h(); + if (arrayOfx != null) + { + int k = arrayOfx.length; + int j = 0; + for (;;) + { + if (j < k) + { + x localx = arrayOfx[j]; + try + { + localx.a(paramw); + j += 1; + } + catch (Throwable localThrowable) + { + for (;;) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ com strategy changed error }%s", new Object[] { localThrowable.toString() }); + } + } + } + } + } + } + + public final void a(x paramx) + { + if (paramx != null) {} + try + { + if ((this.i != null) && (!this.i.contains(paramx))) { + this.i.add(paramx); + } + return; + } + finally + { + paramx = finally; + throw paramx; + } + } + + protected final void a(boolean paramBoolean) + { + try + { + this.c = true; + com.tencent.feedback.common.e.b("rqdp{ isFirst }%b", new Object[] { Boolean.valueOf(true) }); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final w b() + { + try + { + w localw = this.b; + return localw; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final void b(s params) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 6: astore_2 + // 7: aload_2 + // 8: ifnull +7 -> 15 + // 11: aload_1 + // 12: ifnonnull +6 -> 18 + // 15: aload_0 + // 16: monitorexit + // 17: return + // 18: aload_0 + // 19: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 22: aload_1 + // 23: invokeinterface 140 2 0 + // 28: ifeq -13 -> 15 + // 31: aload_0 + // 32: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 35: aload_1 + // 36: invokeinterface 191 2 0 + // 41: pop + // 42: goto -27 -> 15 + // 45: astore_1 + // 46: aload_0 + // 47: monitorexit + // 48: aload_1 + // 49: athrow + // Local variable table: + // start length slot name signature + // 0 50 0 this t + // 0 50 1 params s + // 6 2 2 localList List + // Exception table: + // from to target type + // 2 7 45 finally + // 18 42 45 finally + } + + public final d c() + { + try + { + d locald = this.e; + return locald; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final s[] d() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 6: ifnull +36 -> 42 + // 9: aload_0 + // 10: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 13: invokeinterface 99 1 0 + // 18: ifle +24 -> 42 + // 21: aload_0 + // 22: getfield 54 com/tencent/feedback/proguard/t:g Ljava/util/List; + // 25: iconst_0 + // 26: anewarray 194 com/tencent/feedback/proguard/s + // 29: invokeinterface 105 2 0 + // 34: checkcast 196 [Lcom/tencent/feedback/proguard/s; + // 37: astore_1 + // 38: aload_0 + // 39: monitorexit + // 40: aload_1 + // 41: areturn + // 42: aconst_null + // 43: astore_1 + // 44: goto -6 -> 38 + // 47: astore_1 + // 48: aload_0 + // 49: monitorexit + // 50: aload_1 + // 51: athrow + // Local variable table: + // start length slot name signature + // 0 52 0 this t + // 37 7 1 arrayOfs s[] + // 47 4 1 localObject Object + // Exception table: + // from to target type + // 2 38 47 finally + } + + public final int e() + { + try + { + int j = this.d; + return j; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/u.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/u.java new file mode 100755 index 00000000000..2e8d0faa1bc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/u.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/v.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/v.java new file mode 100755 index 00000000000..1cc301396de --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/v.java @@ -0,0 +1,45 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import com.tencent.feedback.common.e; +import com.tencent.feedback.upload.AbstractUploadDatas; + +public final class v + extends AbstractUploadDatas +{ + private S d = null; + + public v(Context paramContext, int paramInt1, int paramInt2, S paramS) + { + super(paramContext, 1111, 540); + this.d = paramS; + } + + public final N a() + { + try + { + Context localContext = this.c; + int i = this.a; + if (this.d == null) {} + for (byte[] arrayOfByte = null;; arrayOfByte = this.d.a()) { + return a(localContext, i, arrayOfByte); + } + return null; + } + catch (Exception localException) + { + if (!e.a(localException)) { + localException.printStackTrace(); + } + } + } + + public final void done(boolean paramBoolean) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/w.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/w.java new file mode 100755 index 00000000000..0bb03879932 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/w.java @@ -0,0 +1,312 @@ +package com.tencent.feedback.proguard; + +import android.util.SparseArray; + +public final class w +{ + public static boolean a = false; + private SparseArray b = null; + private String c = "http://monitor.uu.qq.com/analytics/rqdsync"; + private int d = -1; + private int e = 6; + private String f = ""; + private String g = ""; + private boolean h = true; + private boolean i = false; + + public w() + { + this.b.append(3, new a(3)); + this.b = this.b; + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("S(@L@L").append("@)"); + this.g = localStringBuilder.toString(); + localStringBuilder.setLength(0); + localStringBuilder.append("*^@K#K").append("@!"); + this.f = localStringBuilder.toString(); + } + + public final String a() + { + try + { + String str = this.c; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(int paramInt) + { + try + { + this.d = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(String paramString) + { + try + { + this.c = paramString; + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final void a(boolean paramBoolean) + { + try + { + this.h = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int b() + { + try + { + int j = this.d; + return j; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void b(int paramInt) + { + if (paramInt > 0) {} + try + { + this.e = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void b(boolean paramBoolean) + { + try + { + this.i = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int c() + { + try + { + int j = this.e; + return j; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final a c(int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 30 com/tencent/feedback/proguard/w:b Landroid/util/SparseArray; + // 6: ifnull +19 -> 25 + // 9: aload_0 + // 10: getfield 30 com/tencent/feedback/proguard/w:b Landroid/util/SparseArray; + // 13: iload_1 + // 14: invokevirtual 87 android/util/SparseArray:get (I)Ljava/lang/Object; + // 17: checkcast 6 com/tencent/feedback/proguard/w$a + // 20: astore_2 + // 21: aload_0 + // 22: monitorexit + // 23: aload_2 + // 24: areturn + // 25: aconst_null + // 26: astore_2 + // 27: goto -6 -> 21 + // 30: astore_2 + // 31: aload_0 + // 32: monitorexit + // 33: aload_2 + // 34: athrow + // Local variable table: + // start length slot name signature + // 0 35 0 this w + // 0 35 1 paramInt int + // 20 7 2 locala a + // 30 4 2 localObject Object + // Exception table: + // from to target type + // 2 21 30 finally + } + + public final String d() + { + try + { + String str = this.f; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final String e() + { + try + { + String str = this.g; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean f() + { + try + { + boolean bool = this.h; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean g() + { + try + { + boolean bool = this.i; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public static final class a + { + private String a = "http://monitor.uu.qq.com/analytics/rqdsync"; + private boolean b = false; + private boolean c = true; + private boolean d = false; + + public a(int paramInt) {} + + public final String a() + { + try + { + String str = this.a; + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(boolean paramBoolean) + { + try + { + this.b = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean b() + { + try + { + boolean bool = this.b; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean c() + { + try + { + boolean bool = this.c; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean d() + { + return false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/x.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/x.java new file mode 100755 index 00000000000..8ee629b9b47 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/x.java @@ -0,0 +1,12 @@ +package com.tencent.feedback.proguard; + +public abstract interface x +{ + public abstract void a(w paramw); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/y.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/y.java new file mode 100755 index 00000000000..cae72cf90cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/y.java @@ -0,0 +1,472 @@ +package com.tencent.feedback.proguard; + +import android.content.Context; +import com.tencent.feedback.common.b; +import com.tencent.feedback.common.c; +import java.util.Calendar; +import java.util.Date; + +public final class y + implements Runnable +{ + private static y a; + private Context b; + private b c; + private com.tencent.feedback.upload.e d; + private boolean e = false; + private long f = 60000L; + private int g = 10; + private final String h; + private int i = 0; + private long j = 0L; + + private y(Context paramContext, b paramb, com.tencent.feedback.upload.e parame) + { + this.b = paramContext; + this.c = paramb; + this.d = parame; + this.h = c.a(paramContext).E(); + this.j = e(); + } + + public static y a() + { + try + { + y localy = a; + return localy; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public static y a(Context paramContext, b paramb, com.tencent.feedback.upload.e parame) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 74 com/tencent/feedback/proguard/y:a Lcom/tencent/feedback/proguard/y; + // 6: ifnonnull +20 -> 26 + // 9: aload_0 + // 10: ifnonnull +25 -> 35 + // 13: new 2 com/tencent/feedback/proguard/y + // 16: dup + // 17: aload_0 + // 18: aload_1 + // 19: aload_2 + // 20: invokespecial 77 com/tencent/feedback/proguard/y: (Landroid/content/Context;Lcom/tencent/feedback/common/b;Lcom/tencent/feedback/upload/e;)V + // 23: putstatic 74 com/tencent/feedback/proguard/y:a Lcom/tencent/feedback/proguard/y; + // 26: getstatic 74 com/tencent/feedback/proguard/y:a Lcom/tencent/feedback/proguard/y; + // 29: astore_0 + // 30: ldc 2 + // 32: monitorexit + // 33: aload_0 + // 34: areturn + // 35: aload_0 + // 36: invokevirtual 83 android/content/Context:getApplicationContext ()Landroid/content/Context; + // 39: astore_3 + // 40: aload_3 + // 41: ifnull -28 -> 13 + // 44: aload_3 + // 45: astore_0 + // 46: goto -33 -> 13 + // 49: astore_0 + // 50: ldc 2 + // 52: monitorexit + // 53: aload_0 + // 54: athrow + // Local variable table: + // start length slot name signature + // 0 55 0 paramContext Context + // 0 55 1 paramb b + // 0 55 2 parame com.tencent.feedback.upload.e + // 39 6 3 localContext Context + // Exception table: + // from to target type + // 3 9 49 finally + // 13 26 49 finally + // 26 30 49 finally + // 35 40 49 finally + } + + private void b(int paramInt) + { + try + { + this.i = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private boolean i() + { + try + { + boolean bool = a(1); + com.tencent.feedback.common.e.b("rqdp{ launch state record %b}", new Object[] { Boolean.valueOf(bool) }); + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private int j() + { + try + { + int k = this.i; + return k; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int a(q[] paramArrayOfq) + { + try + { + int k = a.b(this.b, paramArrayOfq); + return k; + } + finally + { + paramArrayOfq = finally; + throw paramArrayOfq; + } + } + + protected final boolean a(int paramInt) + { + boolean bool2 = true; + for (;;) + { + try + { + Object localObject1 = c.a(this.b); + if (localObject1 != null) + { + q localq = new q(); + localq.a(paramInt); + localq.a(new Date().getTime()); + localq.a(this.h); + localq.b(((c)localObject1).g()); + if (a.a(this.b, new q[] { localq }) > 0) + { + bool1 = bool2; + if (b(this.h) >= this.g) + { + com.tencent.feedback.common.e.b("rqdp{ state max upload}", new Object[0]); + localObject1 = g(); + bool1 = bool2; + if (localObject1 != null) + { + if (0L > 0L) { + continue; + } + ((b)localObject1).a(new Runnable() + { + public final void run() + { + com.tencent.feedback.upload.e locale = y.this.h(); + if (locale != null) { + locale.a(new A(y.a(y.this), y.a(), this.a)); + } + } + }); + bool1 = bool2; + } + } + return bool1; + bool1 = bool2; + if (0L <= 0L) { + continue; + } + ((b)localObject1).a(new Runnable() + { + public final void run() + { + com.tencent.feedback.upload.e locale = y.this.h(); + if (locale != null) { + locale.a(new A(y.a(y.this), y.a(), this.a)); + } + } + }, 0L); + bool1 = bool2; + continue; + } + } + boolean bool1 = false; + } + finally {} + } + } + + public final boolean a(long paramLong) + { + boolean bool2 = true; + for (;;) + { + try + { + if (this.c != null) + { + if (60000L > 30000L) + { + paramLong = 60000L; + if (!this.e) + { + this.f = paramLong; + this.e = true; + this.c.a(this, 0L); + long l1 = f(); + long l2 = new Date().getTime(); + paramLong = l1; + if (l1 <= l2) + { + b(e()); + paramLong = f(); + } + bool1 = bool2; + if (paramLong > l2) + { + this.c.a(new Runnable() + { + public final void run() + { + long l2 = y.this.f(); + long l1 = new Date().getTime(); + l2 -= l1; + b localb = y.this.g(); + if (localb != null) + { + if (l2 > 0L) { + localb.a(this, l2 + 1000L); + } + } + else { + return; + } + com.tencent.feedback.common.e.b("rqdp{ next day to upload}", new Object[0]); + y.this.d(); + l2 = y.this.e(); + y.this.b(l2); + localb.a(this, l2 - l1); + com.tencent.feedback.common.e.b("rqdp{ next day %d}", new Object[] { Long.valueOf(l2 - l1) }); + } + }, paramLong - l2); + com.tencent.feedback.common.e.b("rqdp{ next day %d}", new Object[] { Long.valueOf(paramLong - l2) }); + bool1 = bool2; + } + return bool1; + } + } + else + { + paramLong = 30000L; + continue; + } + bool1 = bool2; + if (paramLong == this.f) { + continue; + } + this.f = paramLong; + bool1 = bool2; + continue; + } + boolean bool1 = false; + } + finally {} + } + } + + public final q[] a(String paramString) + { + try + { + paramString = a.b(this.b, paramString); + return paramString; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public final int b(String paramString) + { + try + { + int k = a.c(this.b, paramString); + return k; + } + finally + { + paramString = finally; + throw paramString; + } + } + + protected final void b(long paramLong) + { + try + { + this.j = paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean b() + { + try + { + boolean bool = this.e; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean c() + { + try + { + boolean bool = b.b().a(new Runnable() + { + public final void run() + { + com.tencent.feedback.common.e.b("rqdp{ login state record %b}", new Object[] { Boolean.valueOf(y.this.a(4)) }); + } + }); + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean d() + { + try + { + boolean bool = a(3); + com.tencent.feedback.common.e.b("rqdp{ next day state record %b}", new Object[] { Boolean.valueOf(bool) }); + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final long e() + { + try + { + Calendar localCalendar = Calendar.getInstance(); + localCalendar.set(11, 0); + localCalendar.set(12, 0); + localCalendar.set(13, 0); + localCalendar.add(6, 1); + l = localCalendar.getTime().getTime(); + return l; + } + catch (Throwable localThrowable) + { + for (;;) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + long l = new Date().getTime(); + l += 86400000L; + } + } + finally {} + } + + public final long f() + { + try + { + long l = this.j; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final b g() + { + try + { + b localb = this.c; + return localb; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final com.tencent.feedback.upload.e h() + { + try + { + com.tencent.feedback.upload.e locale = this.d; + return locale; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void run() + { + int k = j() + 1; + b(k); + if (k == 1) + { + com.tencent.feedback.common.a.b(this.b, this.h); + i(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/proguard/z.java b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/z.java new file mode 100755 index 00000000000..7b134f6df3c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/proguard/z.java @@ -0,0 +1,55 @@ +package com.tencent.feedback.proguard; + +public final class z +{ + private long a = -1L; + private int b = -1; + private byte[] c = null; + private long d = -1L; + + public final long a() + { + return this.a; + } + + public final void a(int paramInt) + { + this.b = paramInt; + } + + public final void a(long paramLong) + { + this.a = paramLong; + } + + public final void a(byte[] paramArrayOfByte) + { + this.c = paramArrayOfByte; + } + + public final int b() + { + return this.b; + } + + public final void b(long paramLong) + { + this.d = paramLong; + } + + public final byte[] c() + { + return this.c; + } + + public final long d() + { + return this.d; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.proguard.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/AbstractUploadDatas.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/AbstractUploadDatas.java new file mode 100755 index 00000000000..b13dae5a7ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/AbstractUploadDatas.java @@ -0,0 +1,103 @@ +package com.tencent.feedback.upload; + +import android.content.Context; +import com.tencent.feedback.common.c; +import com.tencent.feedback.common.e; +import com.tencent.feedback.proguard.N; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.w; +import com.tencent.feedback.proguard.w.a; + +public abstract class AbstractUploadDatas +{ + protected final int a; + protected final int b; + protected Context c; + + public AbstractUploadDatas(Context paramContext, int paramInt1, int paramInt2) + { + this.c = paramContext; + this.a = paramInt2; + this.b = paramInt1; + } + + public static N a(Context paramContext, int paramInt, byte[] paramArrayOfByte) + { + try + { + String str = t.a(paramContext).b().d(); + paramContext = a.a(paramInt, c.a(paramContext), paramArrayOfByte, (byte)2, (byte)1, str); + return paramContext; + } + catch (Throwable paramContext) + { + e.c("rqdp{ imposiable comStrategy error} %s", new Object[] { paramContext.toString() }); + if (!e.a(paramContext)) { + paramContext.printStackTrace(); + } + } + return null; + } + + public static void d() + { + e.c("rqdp{ encode failed, clear db data}", new Object[0]); + } + + public abstract N a(); + + public final byte[] a(boolean paramBoolean) + { + byte[] arrayOfByte = null; + try + { + N localN = a(); + if (localN != null) { + arrayOfByte = localN.a(); + } + return arrayOfByte; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + e.d("rqdp{ encode to bytes failed}", new Object[0]); + } + return null; + } + + public final int b() + { + return this.a; + } + + public final String c() + { + try + { + if (this.b == 1111) { + return t.a(this.c).b().a(); + } + String str = t.a(this.c).b().c(this.b).a(); + return str; + } + catch (Throwable localThrowable) + { + e.c("rqdp{ imposiable comStrategy error }%s", new Object[] { localThrowable.toString() }); + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + } + return null; + } + + public abstract void done(boolean paramBoolean); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.AbstractUploadDatas + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/UploadHandleListener.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/UploadHandleListener.java new file mode 100755 index 00000000000..ac215e0a669 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/UploadHandleListener.java @@ -0,0 +1,14 @@ +package com.tencent.feedback.upload; + +public abstract interface UploadHandleListener +{ + public abstract void onUploadEnd(int paramInt1, int paramInt2, long paramLong1, long paramLong2, boolean paramBoolean, String paramString); + + public abstract void onUploadStart(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.UploadHandleListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/a.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/a.java new file mode 100755 index 00000000000..498b08622dc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/a.java @@ -0,0 +1,48 @@ +package com.tencent.feedback.upload; + +import android.content.Context; +import com.tencent.feedback.common.c; +import com.tencent.feedback.common.e; +import com.tencent.feedback.proguard.N; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.w; + +public final class a + extends AbstractUploadDatas +{ + public a(Context paramContext, int paramInt1, int paramInt2) + { + super(paramContext, paramInt1, paramInt2); + } + + public final N a() + { + Object localObject = c.a(this.c); + byte[] arrayOfByte = "".getBytes(); + String str = t.a(this.c).b().d(); + try + { + localObject = com.tencent.feedback.proguard.a.a(b(), (c)localObject, arrayOfByte, (byte)-1, (byte)-1, str); + if (localObject != null) { + return localObject; + } + return null; + } + catch (Throwable localThrowable) + { + if (!e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + e.d("rqdp{ encode2RequestPackage failed}", new Object[0]); + } + return null; + } + + public final void done(boolean paramBoolean) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/b.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/b.java new file mode 100755 index 00000000000..ef003477c95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/b.java @@ -0,0 +1,75 @@ +package com.tencent.feedback.upload; + +import com.tencent.feedback.common.e; + +public class b +{ + private long a = 0L; + private long b = 0L; + private int c = 0; + + public long a() + { + try + { + long l = this.a; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void a(long paramLong) + { + try + { + e.b("rqdp{ recevied:}%d", new Object[] { Long.valueOf(paramLong) }); + this.b += paramLong; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void a(String paramString1, long paramLong, String paramString2) + { + try + { + e.b("rqdp{ send:}%s rqdp{ sz:}%d rqdp{ apn:}%s", new Object[] { paramString1, Long.valueOf(paramLong), paramString2 }); + this.c += 1; + this.a += paramLong; + return; + } + finally + { + paramString1 = finally; + throw paramString1; + } + } + + public long b() + { + try + { + long l = this.b; + return l; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/c.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/c.java new file mode 100755 index 00000000000..1b0a1b0610c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/c.java @@ -0,0 +1,696 @@ +package com.tencent.feedback.upload; + +import android.content.Context; +import android.net.Proxy; +import com.tencent.feedback.common.e; +import com.tencent.feedback.common.g; +import java.io.IOException; +import java.util.Locale; +import java.util.Map; +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.HttpHost; +import org.apache.http.HttpResponse; +import org.apache.http.StatusLine; +import org.apache.http.client.HttpClient; +import org.apache.http.client.HttpRequestRetryHandler; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpConnectionParams; +import org.apache.http.params.HttpParams; +import org.apache.http.protocol.HttpContext; + +public abstract class c +{ + private static c a = null; + + /* Error */ + public static c a(Context paramContext) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 14 com/tencent/feedback/upload/c:a Lcom/tencent/feedback/upload/c; + // 6: ifnonnull +18 -> 24 + // 9: aload_0 + // 10: ifnonnull +23 -> 33 + // 13: new 6 com/tencent/feedback/upload/c$a + // 16: dup + // 17: aload_0 + // 18: invokespecial 22 com/tencent/feedback/upload/c$a: (Landroid/content/Context;)V + // 21: putstatic 14 com/tencent/feedback/upload/c:a Lcom/tencent/feedback/upload/c; + // 24: getstatic 14 com/tencent/feedback/upload/c:a Lcom/tencent/feedback/upload/c; + // 27: astore_0 + // 28: ldc 2 + // 30: monitorexit + // 31: aload_0 + // 32: areturn + // 33: aload_0 + // 34: invokevirtual 28 android/content/Context:getApplicationContext ()Landroid/content/Context; + // 37: astore_1 + // 38: aload_1 + // 39: ifnull -26 -> 13 + // 42: aload_1 + // 43: astore_0 + // 44: goto -31 -> 13 + // 47: astore_0 + // 48: ldc 2 + // 50: monitorexit + // 51: aload_0 + // 52: athrow + // Local variable table: + // start length slot name signature + // 0 53 0 paramContext Context + // 37 6 1 localContext Context + // Exception table: + // from to target type + // 3 9 47 finally + // 13 24 47 finally + // 24 28 47 finally + // 33 38 47 finally + } + + public abstract byte[] a(String paramString, byte[] paramArrayOfByte, b paramb, Map paramMap); + + public static final class a + extends c + { + private Context a; + + public a(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + this.a = paramContext; + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + /* Error */ + private HttpResponse a(String paramString1, byte[] paramArrayOfByte, String paramString2, Map paramMap) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aload_1 + // 4: ifnonnull +17 -> 21 + // 7: ldc 27 + // 9: iconst_0 + // 10: anewarray 29 java/lang/Object + // 13: invokestatic 35 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 16: pop + // 17: aconst_null + // 18: astore_3 + // 19: aload_3 + // 20: areturn + // 21: aload_2 + // 22: ifnull +36 -> 58 + // 25: new 37 org/apache/http/entity/ByteArrayEntity + // 28: dup + // 29: aload_2 + // 30: invokespecial 40 org/apache/http/entity/ByteArrayEntity: ([B)V + // 33: astore_2 + // 34: aload_0 + // 35: aload_3 + // 36: invokespecial 43 com/tencent/feedback/upload/c$a:a (Ljava/lang/String;)Lorg/apache/http/client/HttpClient; + // 39: astore 6 + // 41: aload 6 + // 43: ifnonnull +77 -> 120 + // 46: ldc 45 + // 48: iconst_0 + // 49: anewarray 29 java/lang/Object + // 52: invokestatic 35 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 55: pop + // 56: aconst_null + // 57: areturn + // 58: new 37 org/apache/http/entity/ByteArrayEntity + // 61: dup + // 62: ldc 47 + // 64: invokevirtual 53 java/lang/String:getBytes ()[B + // 67: invokespecial 40 org/apache/http/entity/ByteArrayEntity: ([B)V + // 70: astore_2 + // 71: goto -37 -> 34 + // 74: astore_3 + // 75: aconst_null + // 76: astore_1 + // 77: aload 5 + // 79: astore_2 + // 80: aload_3 + // 81: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 84: ifne +7 -> 91 + // 87: aload_3 + // 88: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 91: ldc 61 + // 93: iconst_1 + // 94: anewarray 29 java/lang/Object + // 97: dup + // 98: iconst_0 + // 99: aload_3 + // 100: invokevirtual 65 java/lang/Throwable:toString ()Ljava/lang/String; + // 103: aastore + // 104: invokestatic 35 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 107: pop + // 108: aload_1 + // 109: astore_3 + // 110: aload_2 + // 111: ifnull -92 -> 19 + // 114: aload_2 + // 115: invokevirtual 70 org/apache/http/client/methods/HttpPost:abort ()V + // 118: aload_1 + // 119: areturn + // 120: new 67 org/apache/http/client/methods/HttpPost + // 123: dup + // 124: aload_1 + // 125: invokespecial 73 org/apache/http/client/methods/HttpPost: (Ljava/lang/String;)V + // 128: astore_1 + // 129: aload_1 + // 130: ldc 75 + // 132: ldc 77 + // 134: invokevirtual 81 org/apache/http/client/methods/HttpPost:setHeader (Ljava/lang/String;Ljava/lang/String;)V + // 137: aload_1 + // 138: aload_2 + // 139: invokevirtual 85 org/apache/http/client/methods/HttpPost:setEntity (Lorg/apache/http/HttpEntity;)V + // 142: aload 4 + // 144: ifnull +116 -> 260 + // 147: aload 4 + // 149: invokeinterface 91 1 0 + // 154: ifle +106 -> 260 + // 157: aload 4 + // 159: invokeinterface 95 1 0 + // 164: invokeinterface 101 1 0 + // 169: astore_2 + // 170: aload_2 + // 171: invokeinterface 107 1 0 + // 176: ifeq +41 -> 217 + // 179: aload_2 + // 180: invokeinterface 111 1 0 + // 185: checkcast 113 java/util/Map$Entry + // 188: astore 4 + // 190: aload_1 + // 191: aload 4 + // 193: invokeinterface 116 1 0 + // 198: checkcast 49 java/lang/String + // 201: aload 4 + // 203: invokeinterface 119 1 0 + // 208: checkcast 49 java/lang/String + // 211: invokevirtual 81 org/apache/http/client/methods/HttpPost:setHeader (Ljava/lang/String;Ljava/lang/String;)V + // 214: goto -44 -> 170 + // 217: aload_1 + // 218: ldc 121 + // 220: aload_3 + // 221: invokevirtual 81 org/apache/http/client/methods/HttpPost:setHeader (Ljava/lang/String;Ljava/lang/String;)V + // 224: new 123 java/lang/StringBuilder + // 227: dup + // 228: invokespecial 124 java/lang/StringBuilder: ()V + // 231: astore_2 + // 232: aload_0 + // 233: getfield 15 com/tencent/feedback/upload/c$a:a Landroid/content/Context; + // 236: invokestatic 129 com/tencent/feedback/common/d:a (Landroid/content/Context;)Lcom/tencent/feedback/common/d; + // 239: pop + // 240: aload_1 + // 241: ldc 131 + // 243: aload_2 + // 244: aload_0 + // 245: getfield 15 com/tencent/feedback/upload/c$a:a Landroid/content/Context; + // 248: invokestatic 135 com/tencent/feedback/common/d:f (Landroid/content/Context;)Ljava/lang/String; + // 251: invokevirtual 139 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 254: invokevirtual 140 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 257: invokevirtual 81 org/apache/http/client/methods/HttpPost:setHeader (Ljava/lang/String;Ljava/lang/String;)V + // 260: new 142 org/apache/http/protocol/BasicHttpContext + // 263: dup + // 264: invokespecial 143 org/apache/http/protocol/BasicHttpContext: ()V + // 267: astore_2 + // 268: aload 6 + // 270: aload_1 + // 271: aload_2 + // 272: invokeinterface 149 3 0 + // 277: astore 4 + // 279: ldc 151 + // 281: iconst_1 + // 282: anewarray 29 java/lang/Object + // 285: dup + // 286: iconst_0 + // 287: aload_2 + // 288: ldc 153 + // 290: invokeinterface 159 2 0 + // 295: checkcast 161 org/apache/http/HttpRequest + // 298: invokeinterface 165 1 0 + // 303: invokevirtual 166 java/lang/Object:toString ()Ljava/lang/String; + // 306: aastore + // 307: invokestatic 169 com/tencent/feedback/common/e:b (Ljava/lang/String;[Ljava/lang/Object;)Z + // 310: pop + // 311: aload_1 + // 312: invokevirtual 70 org/apache/http/client/methods/HttpPost:abort ()V + // 315: aload 4 + // 317: areturn + // 318: astore_2 + // 319: aconst_null + // 320: astore_1 + // 321: aload_1 + // 322: ifnull +7 -> 329 + // 325: aload_1 + // 326: invokevirtual 70 org/apache/http/client/methods/HttpPost:abort ()V + // 329: aload_2 + // 330: athrow + // 331: astore_2 + // 332: goto -11 -> 321 + // 335: astore_3 + // 336: aload_2 + // 337: astore_1 + // 338: aload_3 + // 339: astore_2 + // 340: goto -19 -> 321 + // 343: astore_3 + // 344: aload_1 + // 345: astore_2 + // 346: aload 4 + // 348: astore_1 + // 349: goto -269 -> 80 + // 352: astore_3 + // 353: aconst_null + // 354: astore 4 + // 356: aload_1 + // 357: astore_2 + // 358: aload 4 + // 360: astore_1 + // 361: goto -281 -> 80 + // Local variable table: + // start length slot name signature + // 0 364 0 this a + // 0 364 1 paramString1 String + // 0 364 2 paramArrayOfByte byte[] + // 0 364 3 paramString2 String + // 0 364 4 paramMap Map + // 1 77 5 localObject Object + // 39 230 6 localHttpClient HttpClient + // Exception table: + // from to target type + // 25 34 74 java/lang/Throwable + // 34 41 74 java/lang/Throwable + // 46 56 74 java/lang/Throwable + // 58 71 74 java/lang/Throwable + // 120 129 74 java/lang/Throwable + // 25 34 318 finally + // 34 41 318 finally + // 46 56 318 finally + // 58 71 318 finally + // 120 129 318 finally + // 129 142 331 finally + // 147 170 331 finally + // 170 214 331 finally + // 217 260 331 finally + // 260 279 331 finally + // 279 311 331 finally + // 80 91 335 finally + // 91 108 335 finally + // 279 311 343 java/lang/Throwable + // 129 142 352 java/lang/Throwable + // 147 170 352 java/lang/Throwable + // 170 214 352 java/lang/Throwable + // 217 260 352 java/lang/Throwable + // 260 279 352 java/lang/Throwable + } + + private HttpClient a(String paramString) + { + try + { + Object localObject = new BasicHttpParams(); + HttpConnectionParams.setConnectionTimeout((HttpParams)localObject, 30000); + HttpConnectionParams.setSoTimeout((HttpParams)localObject, 10000); + HttpConnectionParams.setSocketBufferSize((HttpParams)localObject, 2000); + ((BasicHttpParams)localObject).setBooleanParameter("http.protocol.handle-redirects", false); + localObject = new DefaultHttpClient((HttpParams)localObject); + ((DefaultHttpClient)localObject).setHttpRequestRetryHandler(new HttpRequestRetryHandler() + { + public final boolean retryRequest(IOException paramAnonymousIOException, int paramAnonymousInt, HttpContext paramAnonymousHttpContext) + { + return false; + } + }); + if ((paramString != null) && (paramString.toLowerCase(Locale.US).contains("wap"))) + { + e.a("rqdp{ use proxy} %s", new Object[] { paramString }); + paramString = new HttpHost(Proxy.getDefaultHost(), Proxy.getDefaultPort()); + ((DefaultHttpClient)localObject).getParams().setParameter("http.route.default-proxy", paramString); + return localObject; + } + ((DefaultHttpClient)localObject).getParams().removeParameter("http.route.default-proxy"); + return localObject; + } + catch (Throwable paramString) + { + if (!e.a(paramString)) { + paramString.printStackTrace(); + } + e.d("rqdp{ httpclient error!}", new Object[0]); + } + return null; + } + + /* Error */ + private static byte[] a(HttpResponse paramHttpResponse) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: aload_0 + // 4: ifnonnull +8 -> 12 + // 7: aload 4 + // 9: astore_0 + // 10: aload_0 + // 11: areturn + // 12: aload_0 + // 13: invokeinterface 262 1 0 + // 18: invokeinterface 267 1 0 + // 23: istore_1 + // 24: iload_1 + // 25: sipush 200 + // 28: if_icmpeq +32 -> 60 + // 31: ldc_w 269 + // 34: iconst_2 + // 35: anewarray 29 java/lang/Object + // 38: dup + // 39: iconst_0 + // 40: iload_1 + // 41: invokestatic 275 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 44: aastore + // 45: dup + // 46: iconst_1 + // 47: aload_0 + // 48: invokeinterface 262 1 0 + // 53: aastore + // 54: invokestatic 278 com/tencent/feedback/common/e:c (Ljava/lang/String;[Ljava/lang/Object;)Z + // 57: pop + // 58: aconst_null + // 59: areturn + // 60: aload_0 + // 61: invokeinterface 282 1 0 + // 66: astore_0 + // 67: aload_0 + // 68: ifnonnull +16 -> 84 + // 71: ldc_w 284 + // 74: iconst_0 + // 75: anewarray 29 java/lang/Object + // 78: invokestatic 35 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 81: pop + // 82: aconst_null + // 83: areturn + // 84: new 286 java/io/BufferedInputStream + // 87: dup + // 88: new 288 java/io/DataInputStream + // 91: dup + // 92: aload_0 + // 93: invokeinterface 294 1 0 + // 98: invokespecial 297 java/io/DataInputStream: (Ljava/io/InputStream;)V + // 101: invokespecial 298 java/io/BufferedInputStream: (Ljava/io/InputStream;)V + // 104: astore_2 + // 105: aload_2 + // 106: astore_0 + // 107: new 300 java/io/ByteArrayOutputStream + // 110: dup + // 111: invokespecial 301 java/io/ByteArrayOutputStream: ()V + // 114: astore_3 + // 115: aload_2 + // 116: astore_0 + // 117: aload_2 + // 118: invokevirtual 304 java/io/BufferedInputStream:read ()I + // 121: istore_1 + // 122: iload_1 + // 123: iconst_m1 + // 124: if_icmpeq +79 -> 203 + // 127: aload_2 + // 128: astore_0 + // 129: aload_3 + // 130: iload_1 + // 131: invokevirtual 308 java/io/ByteArrayOutputStream:write (I)V + // 134: goto -19 -> 115 + // 137: astore_3 + // 138: aload_2 + // 139: astore_0 + // 140: aload_3 + // 141: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 144: ifne +9 -> 153 + // 147: aload_2 + // 148: astore_0 + // 149: aload_3 + // 150: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 153: aload_2 + // 154: astore_0 + // 155: ldc_w 310 + // 158: iconst_1 + // 159: anewarray 29 java/lang/Object + // 162: dup + // 163: iconst_0 + // 164: aload_3 + // 165: invokevirtual 65 java/lang/Throwable:toString ()Ljava/lang/String; + // 168: aastore + // 169: invokestatic 35 com/tencent/feedback/common/e:d (Ljava/lang/String;[Ljava/lang/Object;)Z + // 172: pop + // 173: aload 4 + // 175: astore_0 + // 176: aload_2 + // 177: ifnull -167 -> 10 + // 180: aload_2 + // 181: invokevirtual 313 java/io/BufferedInputStream:close ()V + // 184: aconst_null + // 185: areturn + // 186: astore_2 + // 187: aload 4 + // 189: astore_0 + // 190: aload_2 + // 191: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 194: ifne -184 -> 10 + // 197: aload_2 + // 198: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 201: aconst_null + // 202: areturn + // 203: aload_2 + // 204: astore_0 + // 205: aload_3 + // 206: invokevirtual 316 java/io/ByteArrayOutputStream:flush ()V + // 209: aload_2 + // 210: astore_0 + // 211: aload_3 + // 212: invokevirtual 319 java/io/ByteArrayOutputStream:toByteArray ()[B + // 215: astore_3 + // 216: aload_2 + // 217: invokevirtual 313 java/io/BufferedInputStream:close ()V + // 220: aload_3 + // 221: areturn + // 222: astore_2 + // 223: aload_3 + // 224: astore_0 + // 225: aload_2 + // 226: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 229: ifne -219 -> 10 + // 232: aload_2 + // 233: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 236: aload_3 + // 237: areturn + // 238: astore_2 + // 239: aconst_null + // 240: astore_0 + // 241: aload_0 + // 242: ifnull +7 -> 249 + // 245: aload_0 + // 246: invokevirtual 313 java/io/BufferedInputStream:close ()V + // 249: aload_2 + // 250: athrow + // 251: astore_0 + // 252: aload_0 + // 253: invokestatic 56 com/tencent/feedback/common/e:a (Ljava/lang/Throwable;)Z + // 256: ifne -7 -> 249 + // 259: aload_0 + // 260: invokevirtual 59 java/lang/Throwable:printStackTrace ()V + // 263: goto -14 -> 249 + // 266: astore_2 + // 267: goto -26 -> 241 + // 270: astore_3 + // 271: aconst_null + // 272: astore_2 + // 273: goto -135 -> 138 + // Local variable table: + // start length slot name signature + // 0 276 0 paramHttpResponse HttpResponse + // 23 108 1 i int + // 104 77 2 localBufferedInputStream java.io.BufferedInputStream + // 186 31 2 localThrowable1 Throwable + // 222 11 2 localThrowable2 Throwable + // 238 12 2 localObject1 Object + // 266 1 2 localObject2 Object + // 272 1 2 localObject3 Object + // 114 16 3 localByteArrayOutputStream java.io.ByteArrayOutputStream + // 137 75 3 localThrowable3 Throwable + // 215 22 3 arrayOfByte byte[] + // 270 1 3 localThrowable4 Throwable + // 1 187 4 localObject4 Object + // Exception table: + // from to target type + // 107 115 137 java/lang/Throwable + // 117 122 137 java/lang/Throwable + // 129 134 137 java/lang/Throwable + // 205 209 137 java/lang/Throwable + // 211 216 137 java/lang/Throwable + // 180 184 186 java/lang/Throwable + // 216 220 222 java/lang/Throwable + // 84 105 238 finally + // 245 249 251 java/lang/Throwable + // 107 115 266 finally + // 117 122 266 finally + // 129 134 266 finally + // 140 147 266 finally + // 149 153 266 finally + // 155 173 266 finally + // 205 209 266 finally + // 211 216 266 finally + // 84 105 270 java/lang/Throwable + } + + public final byte[] a(String paramString, byte[] paramArrayOfByte, b paramb, Map paramMap) + { + if (paramString == null) + { + e.d("rqdp{ no destUrl!}", new Object[0]); + return null; + } + int j = 0; + int i = 0; + long l2; + int k; + int m; + label81: + HttpResponse localHttpResponse; + int n; + if (paramArrayOfByte == null) + { + l2 = 0L; + e.b("rqdp{ start req} %s rqdp{ sz:}%d", new Object[] { paramString, Long.valueOf(l2) }); + k = 0; + m = j + 1; + if ((j >= 3) || (i >= 2)) { + break label480; + } + if (k == 0) { + break label184; + } + j = 0; + Object localObject = g.c(this.a); + if (paramb != null) { + paramb.a(paramString, l2, (String)localObject); + } + localHttpResponse = a(paramString, paramArrayOfByte, (String)localObject, paramMap); + if (localHttpResponse == null) { + break label460; + } + localObject = localHttpResponse.getEntity(); + n = localHttpResponse.getStatusLine().getStatusCode(); + if (n != 200) { + break label267; + } + paramString = a(localHttpResponse); + if (paramb != null) { + if (paramString != null) { + break label259; + } + } + } + label259: + for (long l1 = 0L;; l1 = paramString.length) + { + for (;;) + { + paramb.a(l1); + return paramString; + l2 = paramArrayOfByte.length; + break; + label184: + j = k; + if (m <= 1) { + break label81; + } + e.b("rqdp{ try time} " + m, new Object[0]); + try + { + Thread.sleep(10000L); + j = k; + } + catch (InterruptedException localInterruptedException) + { + j = k; + } + } + if (e.a(localInterruptedException)) { + break label81; + } + localInterruptedException.printStackTrace(); + j = k; + break label81; + } + label267: + if ((n == 301) || (n == 302) || (n == 303) || (n == 307)) { + k = 1; + } + while (k != 0) + { + k = 1; + paramString = localHttpResponse.getFirstHeader("Location"); + if (paramString == null) + { + e.d("rqdp{ redirect code:}" + n + "rqdp{ Location is null! return}", new Object[0]); + return null; + k = 0; + } + else + { + j = i + 1; + i = 0; + paramString = paramString.getValue(); + e.b("rqdp{ redirect code:}%d rqdp{ , to:}%s", new Object[] { Integer.valueOf(n), paramString }); + } + } + for (;;) + { + l1 = 0L; + if (localInterruptedException != null) + { + long l3 = localInterruptedException.getContentLength(); + l1 = l3; + if (l3 < 0L) { + l1 = 0L; + } + } + if (paramb != null) { + paramb.a(l1); + } + m = i; + i = j; + j = m; + break; + label460: + if (paramb != null) { + paramb.a(0L); + } + k = j; + j = m; + break; + label480: + return null; + k = j; + j = i; + i = m; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/d.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/d.java new file mode 100755 index 00000000000..225c920464b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/d.java @@ -0,0 +1,12 @@ +package com.tencent.feedback.upload; + +public abstract interface d +{ + public abstract void a(int paramInt, byte[] paramArrayOfByte, boolean paramBoolean); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/e.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/e.java new file mode 100755 index 00000000000..7f30263a580 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/e.java @@ -0,0 +1,16 @@ +package com.tencent.feedback.upload; + +public abstract interface e +{ + public abstract void a(AbstractUploadDatas paramAbstractUploadDatas); + + public abstract boolean a(UploadHandleListener paramUploadHandleListener); + + public abstract boolean a(d paramd); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/feedback/upload/f.java b/com.tencent.token/classes.jar/com/tencent/feedback/upload/f.java new file mode 100755 index 00000000000..56401b165e9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/feedback/upload/f.java @@ -0,0 +1,688 @@ +package com.tencent.feedback.upload; + +import android.content.Context; +import com.tencent.feedback.common.g; +import com.tencent.feedback.proguard.N; +import com.tencent.feedback.proguard.O; +import com.tencent.feedback.proguard.a; +import com.tencent.feedback.proguard.t; +import com.tencent.feedback.proguard.w; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public final class f + implements e +{ + private static f a = null; + private List b = new ArrayList(2); + private List c = new ArrayList(5); + private c d; + private Context e = null; + private boolean f = true; + private int g = 0; + + private f(Context paramContext, boolean paramBoolean) + { + if (paramContext == null) {} + for (;;) + { + this.e = paramContext; + this.f = paramBoolean; + this.d = c.a(this.e); + return; + Context localContext = paramContext.getApplicationContext(); + if (localContext != null) { + paramContext = localContext; + } + } + } + + private int a() + { + try + { + int i = this.g; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private O a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte != null) {} + for (;;) + { + try + { + Object localObject = new com.tencent.feedback.proguard.d(); + ((com.tencent.feedback.proguard.d)localObject).e(); + ((com.tencent.feedback.proguard.d)localObject).a("utf-8"); + ((com.tencent.feedback.proguard.d)localObject).a(paramArrayOfByte); + paramArrayOfByte = ((com.tencent.feedback.proguard.d)localObject).b("detail", new O()); + if (!O.class.isInstance(paramArrayOfByte)) { + break label179; + } + com.tencent.feedback.common.e.b("rqdp{ covert to ResponsePackage}", new Object[0]); + paramArrayOfByte = (O)O.class.cast(paramArrayOfByte); + localObject = paramArrayOfByte; + if (paramArrayOfByte != null) + { + localObject = paramArrayOfByte; + if (paramArrayOfByte.c != null) + { + localObject = paramArrayOfByte; + if (paramArrayOfByte.c.length > 0) + { + com.tencent.feedback.common.e.b("resp buf %d", new Object[] { Integer.valueOf(paramArrayOfByte.c.length) }); + paramArrayOfByte.c = a.b(paramArrayOfByte.c, 2, 1, t.a(this.e).b().e()); + localObject = paramArrayOfByte; + if (paramArrayOfByte.c == null) + { + com.tencent.feedback.common.e.d("resp sbuffer error!", new Object[0]); + localObject = null; + } + } + } + } + return localObject; + } + catch (Throwable paramArrayOfByte) + { + if (!com.tencent.feedback.common.e.a(paramArrayOfByte)) { + paramArrayOfByte.printStackTrace(); + } + } + return null; + label179: + paramArrayOfByte = null; + } + } + + public static f a(Context paramContext) + { + try + { + if (a == null) + { + a = new f(paramContext, true); + com.tencent.feedback.common.e.b("rqdp{ create uphandler up:true}", new Object[0]); + } + paramContext = a; + return paramContext; + } + finally {} + } + + public static f a(Context paramContext, boolean paramBoolean) + { + try + { + if (a == null) + { + a = new f(paramContext, paramBoolean); + com.tencent.feedback.common.e.b("rqdp{ create uphandler up:}%b", new Object[] { Boolean.valueOf(paramBoolean) }); + } + if (a.e() != paramBoolean) + { + a.a(paramBoolean); + com.tencent.feedback.common.e.b("rqdp{ change uphandler up:}%b", new Object[] { Boolean.valueOf(paramBoolean) }); + } + paramContext = a; + return paramContext; + } + finally {} + } + + private void a(int paramInt) + { + try + { + this.g = paramInt; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void a(int paramInt1, int paramInt2, long paramLong1, long paramLong2, boolean paramBoolean, String paramString) + { + UploadHandleListener[] arrayOfUploadHandleListener = b(); + if (arrayOfUploadHandleListener != null) + { + int j = arrayOfUploadHandleListener.length; + int i = 0; + while (i < j) + { + arrayOfUploadHandleListener[i].onUploadEnd(paramInt1, paramInt2, paramLong1, paramLong2, paramBoolean, paramString); + i += 1; + } + } + } + + private static void a(List paramList, int paramInt, byte[] paramArrayOfByte) + { + if ((paramList == null) || (paramArrayOfByte == null)) {} + for (;;) + { + return; + paramList = paramList.iterator(); + while (paramList.hasNext()) + { + d locald = (d)paramList.next(); + if (locald != null) { + try + { + com.tencent.feedback.common.e.b("rqdp{ key:}%d rqdp{ handler: }%s", new Object[] { Integer.valueOf(paramInt), locald.getClass().toString() }); + locald.a(paramInt, paramArrayOfByte, true); + } + catch (Throwable localThrowable) + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + com.tencent.feedback.common.e.d("rqdp{ handle error key:}%d", new Object[] { Integer.valueOf(paramInt) }); + } + } + } + } + } + + private void a(boolean paramBoolean) + { + try + { + this.f = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private static byte[] b(AbstractUploadDatas paramAbstractUploadDatas) + { + if (paramAbstractUploadDatas != null) { + try + { + paramAbstractUploadDatas = paramAbstractUploadDatas.a(); + if (paramAbstractUploadDatas != null) + { + com.tencent.feedback.common.e.b("rqdp{ [pid:}%s rqdp{ \nbid:}%s_%s rqdp{ \nsv:}%s \n]", new Object[] { paramAbstractUploadDatas.c, paramAbstractUploadDatas.c, paramAbstractUploadDatas.d, paramAbstractUploadDatas.f }); + com.tencent.feedback.proguard.d locald = new com.tencent.feedback.proguard.d(); + locald.e(); + locald.a("utf-8"); + locald.a(1); + locald.c("RqdServer"); + locald.d("sync"); + locald.a("detail", paramAbstractUploadDatas); + paramAbstractUploadDatas = locald.a(); + return paramAbstractUploadDatas; + } + } + catch (Throwable paramAbstractUploadDatas) + { + if (!com.tencent.feedback.common.e.a(paramAbstractUploadDatas)) { + paramAbstractUploadDatas.printStackTrace(); + } + AbstractUploadDatas.d(); + } + } + return null; + } + + /* Error */ + private UploadHandleListener[] b() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 39 com/tencent/feedback/upload/f:c Ljava/util/List; + // 6: ifnull +36 -> 42 + // 9: aload_0 + // 10: getfield 39 com/tencent/feedback/upload/f:c Ljava/util/List; + // 13: invokeinterface 241 1 0 + // 18: ifle +24 -> 42 + // 21: aload_0 + // 22: getfield 39 com/tencent/feedback/upload/f:c Ljava/util/List; + // 25: iconst_0 + // 26: anewarray 166 com/tencent/feedback/upload/UploadHandleListener + // 29: invokeinterface 245 2 0 + // 34: checkcast 247 [Lcom/tencent/feedback/upload/UploadHandleListener; + // 37: astore_1 + // 38: aload_0 + // 39: monitorexit + // 40: aload_1 + // 41: areturn + // 42: aconst_null + // 43: astore_1 + // 44: goto -6 -> 38 + // 47: astore_1 + // 48: aload_0 + // 49: monitorexit + // 50: aload_1 + // 51: athrow + // Local variable table: + // start length slot name signature + // 0 52 0 this f + // 37 7 1 arrayOfUploadHandleListener UploadHandleListener[] + // 47 4 1 localObject Object + // Exception table: + // from to target type + // 2 38 47 finally + } + + private c c() + { + try + { + c localc = this.d; + return localc; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + private List d() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 37 com/tencent/feedback/upload/f:b Ljava/util/List; + // 6: ifnull +31 -> 37 + // 9: aload_0 + // 10: getfield 37 com/tencent/feedback/upload/f:b Ljava/util/List; + // 13: invokeinterface 241 1 0 + // 18: ifle +19 -> 37 + // 21: new 32 java/util/ArrayList + // 24: dup + // 25: aload_0 + // 26: getfield 37 com/tencent/feedback/upload/f:b Ljava/util/List; + // 29: invokespecial 252 java/util/ArrayList: (Ljava/util/Collection;)V + // 32: astore_1 + // 33: aload_0 + // 34: monitorexit + // 35: aload_1 + // 36: areturn + // 37: aconst_null + // 38: astore_1 + // 39: goto -6 -> 33 + // 42: astore_1 + // 43: aload_0 + // 44: monitorexit + // 45: aload_1 + // 46: athrow + // Local variable table: + // start length slot name signature + // 0 47 0 this f + // 32 7 1 localArrayList ArrayList + // 42 4 1 localObject Object + // Exception table: + // from to target type + // 2 33 42 finally + } + + private boolean e() + { + try + { + boolean bool = this.f; + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(AbstractUploadDatas paramAbstractUploadDatas) + { + if (!e()) + { + if (paramAbstractUploadDatas.b != 1111) + { + com.tencent.feedback.common.e.b("rqdp{ Not UpProc not req }%d", new Object[] { Integer.valueOf(paramAbstractUploadDatas.b()) }); + return; + } + com.tencent.feedback.common.e.b("rqdp{ NotUpProc com req start}", new Object[0]); + } + if (!g.b(this.e)) + { + com.tencent.feedback.common.e.c("rqdp{ doUpload network is disabled!}", new Object[0]); + return; + } + a(com.tencent.feedback.common.f.a(this.e)); + if (paramAbstractUploadDatas == null) + { + com.tencent.feedback.common.e.d("rqdp{ upData == null?}", new Object[0]); + return; + } + int m = paramAbstractUploadDatas.b(); + long l4 = 0L; + long l3 = 0L; + boolean bool5 = false; + boolean bool1 = false; + boolean bool4 = false; + int k = -1; + Object localObject1 = b(); + int j; + if (localObject1 != null) + { + j = localObject1.length; + i = 0; + while (i < j) + { + localObject1[i].onUploadStart(m); + i += 1; + } + } + localObject1 = paramAbstractUploadDatas.c(); + if (localObject1 == null) + { + com.tencent.feedback.common.e.d("rqdp{ url error}", new Object[0]); + a(m, -1, 0L, 0L, false, "url error"); + return; + } + com.tencent.feedback.common.e.b("rqdp{ start upload cmd:}%d rqdp{ url:}%s rqdp{ datas:}%s", new Object[] { Integer.valueOf(m), localObject1, paramAbstractUploadDatas.getClass().toString() }); + Object localObject4 = b(paramAbstractUploadDatas); + if (localObject4 == null) + { + com.tencent.feedback.common.e.d("rqdp{ sData error}", new Object[0]); + a(m, -1, 0L, 0L, false, "sData error"); + return; + } + Object localObject5 = c(); + if (localObject5 == null) + { + com.tencent.feedback.common.e.d("rqdp{ reqH error}", new Object[0]); + a(m, -1, 0L, 0L, false, "reqH error"); + return; + } + Object localObject6 = com.tencent.feedback.common.c.a(this.e); + HashMap localHashMap = new HashMap(); + localHashMap.put("pid", ((com.tencent.feedback.common.c)localObject6).b()); + localHashMap.put("bid", ((com.tencent.feedback.common.c)localObject6).b()); + localHashMap.put("pver", ((com.tencent.feedback.common.c)localObject6).B()); + int i = k; + long l1 = l4; + long l2 = l3; + boolean bool2 = bool4; + boolean bool3 = bool5; + try + { + localObject6 = new b(); + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + localObject1 = ((c)localObject5).a((String)localObject1, (byte[])localObject4, (b)localObject6, localHashMap); + if (localObject1 != null) { + break label703; + } + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + a(a() + 1); + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + l4 = ((b)localObject6).a(); + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + l3 = ((b)localObject6).b(); + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + localObject1 = a((byte[])localObject1); + j = k; + if (localObject1 == null) { + break label1226; + } + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + j = ((O)localObject1).b; + i = j; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + if (((O)localObject1).a != 0) { + break label788; + } + bool1 = true; + } + catch (Throwable localThrowable) + { + for (;;) + { + try + { + if (!com.tencent.feedback.common.e.a(localThrowable)) { + localThrowable.printStackTrace(); + } + a(m, i, l1, l2, false, localThrowable.toString()); + com.tencent.feedback.common.e.d("rqdp{ req error} %s", new Object[] { localThrowable.toString() }); + return; + } + finally + { + bool3 = bool2; + continue; + } + bool1 = false; + continue; + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + localObject4 = com.tencent.feedback.common.c.a(this.e); + if (localObject4 != null) + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + ((com.tencent.feedback.common.c)localObject4).c(localThrowable.d); + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + localObject5 = new Date(); + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + ((com.tencent.feedback.common.c)localObject4).a(localThrowable.e - ((Date)localObject5).getTime()); + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + com.tencent.feedback.common.e.a("rqdp{ fix ip:}%s rqdp{ tmgap:}%d", new Object[] { ((com.tencent.feedback.common.c)localObject4).i(), Long.valueOf(((com.tencent.feedback.common.c)localObject4).j()) }); + } + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + localObject4 = localThrowable.c; + if (localObject4 != null) { + continue; + } + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + com.tencent.feedback.common.e.c("rqdp{ no response}", new Object[0]); + } + } + finally + { + paramAbstractUploadDatas.done(bool3); + } + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + com.tencent.feedback.common.e.b("[req] request finish: result=%b requestCmd=%d, responseCmd=%d", new Object[] { Boolean.valueOf(bool1), Integer.valueOf(m), Integer.valueOf(j) }); + for (;;) + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + a(m, j, l4, l3, bool1, null); + paramAbstractUploadDatas.done(bool1); + return; + label703: + i = k; + l1 = l4; + l2 = l3; + bool2 = bool4; + bool3 = bool5; + a(0); + break; + label788: + label1226: + do + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + localObject5 = d(); + if (localObject5 != null) + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + if (((List)localObject5).size() > 0) {} + } + else + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + com.tencent.feedback.common.e.b("rqdp{ no handler!}", new Object[0]); + break; + } + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + k = localObject2.b; + if (k == 0) + { + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + com.tencent.feedback.common.e.a("rqdp{ response no datas}", new Object[0]); + break; + } + i = j; + l1 = l4; + l2 = l3; + bool2 = bool1; + bool3 = bool1; + a((List)localObject5, k, (byte[])localObject4); + break; + if (paramAbstractUploadDatas == null) { + break; + } + } while (localObject3 != null); + } + } + + public final boolean a(UploadHandleListener paramUploadHandleListener) + { + boolean bool; + if (paramUploadHandleListener == null) { + bool = false; + } + for (;;) + { + return bool; + try + { + if (!this.c.contains(paramUploadHandleListener)) { + this.c.add(paramUploadHandleListener); + } + bool = true; + } + finally {} + } + } + + public final boolean a(d paramd) + { + boolean bool; + if (paramd == null) { + bool = false; + } + for (;;) + { + return bool; + try + { + if (!this.b.contains(paramd)) { + this.b.add(paramd); + } + bool = true; + } + finally {} + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.feedback.upload.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/imageboost/ImgProcessScan.java b/com.tencent.token/classes.jar/com/tencent/imageboost/ImgProcessScan.java new file mode 100755 index 00000000000..6be01afa94f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/imageboost/ImgProcessScan.java @@ -0,0 +1,25 @@ +package com.tencent.imageboost; + +public class ImgProcessScan +{ + static + { + System.loadLibrary("ImgProcessScan"); + } + + public static int a(byte[] paramArrayOfByte1, int[] paramArrayOfInt, byte[] paramArrayOfByte2, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null)) { + return -1; + } + return nativeGrayRotateCropSub(paramArrayOfByte2, paramInt1, paramInt2, paramInt3, paramInt4, paramInt5, paramInt6, paramArrayOfByte1, paramArrayOfInt, 0, 0); + } + + private static native int nativeGrayRotateCropSub(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, byte[] paramArrayOfByte2, int[] paramArrayOfInt, int paramInt7, int paramInt8); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.imageboost.ImgProcessScan + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/DirectionInfo.java b/com.tencent.token/classes.jar/com/tencent/jni/DirectionInfo.java new file mode 100755 index 00000000000..a54ce701c7d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/DirectionInfo.java @@ -0,0 +1,33 @@ +package com.tencent.jni; + +public class DirectionInfo +{ + double mAngle; + public int mDirection; + + public double angle() + { + return this.mAngle; + } + + public int direction() + { + return this.mDirection; + } + + public void setAngle(double paramDouble) + { + this.mAngle = paramDouble; + } + + public void setDirection(int paramInt) + { + this.mDirection = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.DirectionInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/Face$ALG_MODE.java b/com.tencent.token/classes.jar/com/tencent/jni/Face$ALG_MODE.java new file mode 100755 index 00000000000..b8a50f87bda --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/Face$ALG_MODE.java @@ -0,0 +1,12 @@ +package com.tencent.jni; + +public enum Face$ALG_MODE +{ + V1, V2; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.Face.ALG_MODE + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/Face$ERROR_CODE.java b/com.tencent.token/classes.jar/com/tencent/jni/Face$ERROR_CODE.java new file mode 100755 index 00000000000..d524dafc693 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/Face$ERROR_CODE.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.Face.ERROR_CODE + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/Face$ImgData.java b/com.tencent.token/classes.jar/com/tencent/jni/Face$ImgData.java new file mode 100755 index 00000000000..54ad3d03369 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/Face$ImgData.java @@ -0,0 +1,18 @@ +package com.tencent.jni; + +public class Face$ImgData +{ + public int[] face_pos; + public byte[] img_data; + public int img_height; + public int img_width; + public int isdark_flag; + + public Face$ImgData(Face paramFace) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.Face.ImgData + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/Face.java b/com.tencent.token/classes.jar/com/tencent/jni/Face.java new file mode 100755 index 00000000000..ebcc49be399 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/Face.java @@ -0,0 +1,285 @@ +package com.tencent.jni; + +public class Face +{ + static final int Register = 1; + static final int Vaildation = 2; + private boolean detectflag; + private long facedetector = 0L; + int[] framedata; + + static + { + System.loadLibrary("FaceAlgClinetOld"); + } + + public static byte[] EncodeData(Face.ImgData[] paramArrayOfImgData) + { + int k = paramArrayOfImgData.length; + int j = k * 4 + 4; + int i = 0; + while (i < k) + { + j += paramArrayOfImgData[i].img_data.length; + i += 1; + } + byte[] arrayOfByte = new byte[j]; + System.arraycopy(intToByteArray(k), 0, arrayOfByte, 0, 4); + i = 0; + while (i < k) + { + System.arraycopy(intToByteArray(paramArrayOfImgData[i].img_data.length), 0, arrayOfByte, i * 4 + 4, 4); + i += 1; + } + j = k * 4 + 4; + i = 0; + while (i < k) + { + int m = paramArrayOfImgData[i].img_data.length; + System.arraycopy(paramArrayOfImgData[i].img_data, 0, arrayOfByte, j, m); + j += m; + i += 1; + } + return arrayOfByte; + } + + public static Boolean IsSupportNeon() + { + if (1 == NativeIsSupportNeon()) { + return Boolean.valueOf(true); + } + return Boolean.valueOf(false); + } + + private static native long NativeDestroy(long paramLong); + + private static native byte[] NativeFaceDetect(long paramLong, int[] paramArrayOfInt1, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt2, float[] paramArrayOfFloat, int paramInt4); + + private static native int NativeFaceLightDetect(long paramLong, int[] paramArrayOfInt1, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt2, float[] paramArrayOfFloat); + + private static native byte[] NativeGetFaceImg(); + + private static native int[] NativeGetFacePos(); + + private static native long NativeInitial(String paramString1, String paramString2); + + private static native long NativeInitialMode(String paramString1, String paramString2, int paramInt); + + private static native int NativeIsSupportNeon(); + + private static native long NativeTest(); + + private void decodeYUV420RGB(int[] paramArrayOfInt, byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + int i = 0; + int i3 = 0; + int j; + int k; + int i4; + int m; + int n; + if (i3 < paramInt2) + { + j = paramInt1 * paramInt2 + (i3 >> 1) * paramInt1; + k = 0; + i4 = 0; + m = 0; + if (i4 < paramInt1) + { + n = (paramArrayOfByte[i] & 0xFF) - 16; + if (n >= 0) { + break label340; + } + n = 0; + } + } + label173: + label181: + label340: + for (;;) + { + if ((i4 & 0x1) == 0) + { + m = j + 1; + k = paramArrayOfByte[j]; + j = paramArrayOfByte[m]; + k = (k & 0xFF) - 128; + j = (j & 0xFF) - 128; + m += 1; + } + for (;;) + { + n *= 1192; + int i1 = n + k * 1634; + int i2 = n - k * 833 - j * 400; + int i5 = n + j * 2066; + if (i1 < 0) + { + n = 0; + if (i2 >= 0) { + break label271; + } + i1 = 0; + if (i5 >= 0) { + break label289; + } + i2 = 0; + } + for (;;) + { + paramArrayOfInt[i] = (i2 >> 10 & 0xFF | i1 >> 2 & 0xFF00 | n << 6 & 0xFF0000 | 0xFF000000); + i4 += 1; + n = m; + i += 1; + m = k; + k = j; + j = n; + break; + n = i1; + if (i1 <= 262143) { + break label173; + } + n = 262143; + break label173; + i1 = i2; + if (i2 <= 262143) { + break label181; + } + i1 = 262143; + break label181; + i2 = i5; + if (i5 > 262143) { + i2 = 262143; + } + } + i3 += 1; + break; + return; + i1 = k; + i2 = j; + k = m; + j = i1; + m = i2; + } + } + } + + public static byte[] intToByteArray(int paramInt) + { + return new byte[] { (byte)(paramInt >> 24 & 0xFF), (byte)(paramInt >> 16 & 0xFF), (byte)(paramInt >> 8 & 0xFF), (byte)(paramInt & 0xFF) }; + } + + public long Destroy() + { + NativeDestroy(this.facedetector); + this.facedetector = 0L; + return 0L; + } + + public Face.ImgData FaceDetect_register(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + Face.ImgData localImgData = new Face.ImgData(this); + if (this.framedata == null) { + this.framedata = new int[paramInt1 * paramInt2]; + } + decodeYUV420RGB(this.framedata, paramArrayOfByte, paramInt1, paramInt2); + paramArrayOfByte = NativeFaceDetect(this.facedetector, this.framedata, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat, 1); + localImgData.img_width = paramInt1; + localImgData.img_height = paramInt2; + paramArrayOfInt = NativeGetFacePos(); + localImgData.face_pos = new int[4]; + localImgData.face_pos[0] = paramArrayOfInt[0]; + localImgData.face_pos[1] = paramArrayOfInt[1]; + localImgData.face_pos[2] = paramArrayOfInt[2]; + localImgData.face_pos[3] = paramArrayOfInt[3]; + localImgData.isdark_flag = paramArrayOfInt[4]; + if (paramArrayOfByte.length > 0) + { + localImgData.img_data = NativeGetFaceImg(); + return localImgData; + } + localImgData.img_data = new byte[0]; + return localImgData; + } + + public Face.ImgData FaceDetect_validate(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + Face.ImgData localImgData = new Face.ImgData(this); + if (this.framedata == null) { + this.framedata = new int[paramInt1 * paramInt2]; + } + decodeYUV420RGB(this.framedata, paramArrayOfByte, paramInt1, paramInt2); + paramArrayOfByte = NativeFaceDetect(this.facedetector, this.framedata, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat, 0); + localImgData.img_width = paramInt1; + localImgData.img_height = paramInt2; + paramArrayOfInt = NativeGetFacePos(); + localImgData.face_pos = new int[4]; + localImgData.face_pos[0] = paramArrayOfInt[0]; + localImgData.face_pos[1] = paramArrayOfInt[1]; + localImgData.face_pos[2] = paramArrayOfInt[2]; + localImgData.face_pos[3] = paramArrayOfInt[3]; + localImgData.isdark_flag = paramArrayOfInt[4]; + if (paramArrayOfByte.length > 0) + { + localImgData.img_data = NativeGetFaceImg(); + return localImgData; + } + localImgData.img_data = new byte[0]; + return localImgData; + } + + public Face.ERROR_CODE FaceLightDetect(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + if (paramArrayOfByte.length < paramInt1 * paramInt2 * 3) { + return Face.ERROR_CODE.BAD_PARAM; + } + if (this.framedata == null) { + this.framedata = new int[paramInt1 * paramInt2]; + } + decodeYUV420RGB(this.framedata, paramArrayOfByte, paramInt1, paramInt2); + paramInt1 = NativeFaceLightDetect(this.facedetector, this.framedata, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat); + if (paramInt1 == 0) { + return Face.ERROR_CODE.NO_ERROR; + } + if (paramInt1 == -1) { + return Face.ERROR_CODE.NO_LIGHT; + } + if (paramInt1 == -2) { + return Face.ERROR_CODE.NO_FACE; + } + if (paramInt1 == -3) { + return Face.ERROR_CODE.BAD_PARAM; + } + return Face.ERROR_CODE.UNKNOW; + } + + public long Initial(String paramString1, String paramString2) + { + Destroy(); + this.facedetector = NativeInitial(paramString1, paramString2); + this.detectflag = false; + return 0L; + } + + public long Initial(String paramString1, String paramString2, Face.ALG_MODE paramALG_MODE) + { + Destroy(); + if (Face.ALG_MODE.V1 == paramALG_MODE) {} + for (this.facedetector = NativeInitialMode(paramString1, paramString2, 0);; this.facedetector = NativeInitialMode(paramString1, paramString2, 1)) + { + this.detectflag = false; + return 0L; + } + } + + public long Test() + { + return NativeTest(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.Face + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceData.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceData.java new file mode 100755 index 00000000000..9ce97e6edfd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceData.java @@ -0,0 +1,13 @@ +package com.tencent.jni; + +public class FaceData +{ + public String mOriginDataPath; + public byte[] mUploadData; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceData + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$AlgMode.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$AlgMode.java new file mode 100755 index 00000000000..ad26c40b40a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$AlgMode.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector.AlgMode + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$ErrorCode.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$ErrorCode.java new file mode 100755 index 00000000000..34fbba52323 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$ErrorCode.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector.ErrorCode + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$IdCardDirection.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$IdCardDirection.java new file mode 100755 index 00000000000..35d35bea8c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$IdCardDirection.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector.IdCardDirection + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveAction.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveAction.java new file mode 100755 index 00000000000..7c1f9db092b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveAction.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector.LiveAction + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveDirection.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveDirection.java new file mode 100755 index 00000000000..17e83389366 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector$LiveDirection.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector.LiveDirection + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector.java new file mode 100755 index 00000000000..d7350d55bc4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceDetector.java @@ -0,0 +1,140 @@ +package com.tencent.jni; + +public class FaceDetector +{ + private FaceInfo mFaceInfo; + private boolean mIdle = true; + private long mNativeDetector = 0L; + + static + { + System.loadLibrary("FaceAlgClinet"); + } + + public static void IdCardDestroy() {} + + public static int IdCardDetect(IdCardInfo paramIdCardInfo, FaceDetector.IdCardDirection paramIdCardDirection, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3) + { + return NativeIdCardDetect(paramIdCardInfo, paramIdCardDirection.ordinal(), paramArrayOfByte, paramInt1, paramInt2, paramInt3); + } + + public static boolean IdCardDetectInitial(String paramString) + { + return NativeIdCardInitial(paramString); + } + + public static boolean IsSupportNeon() + { + return NativeIsSupportNeon(); + } + + public static int LiveActionDetect(LiveRectInfo paramLiveRectInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, FaceDetector.LiveAction paramLiveAction) + { + return NativeLiveActionDetect(paramLiveRectInfo, paramArrayOfByte, paramInt1, paramInt2, paramInt3, paramLiveAction.ordinal()); + } + + public static void LiveDestroy() {} + + public static boolean LiveDetectInitial(String paramString) + { + return NativeLiveDetectInitial(paramString); + } + + public static void LiveDetectReset() {} + + public static int LiveDirectionDetect(DirectionInfo paramDirectionInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3) + { + return NativeLiveDirectionDetect(paramDirectionInfo, paramArrayOfByte, paramInt1, paramInt2, paramInt3); + } + + private static native void NativeDestroy(long paramLong); + + private static native int NativeFaceDetect(FaceInfo paramFaceInfo, long paramLong, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat, int paramInt4); + + private static native int NativeFaceLightDetect(long paramLong, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat); + + private static native void NativeIdCardDestroy(); + + private static native int NativeIdCardDetect(IdCardInfo paramIdCardInfo, int paramInt1, byte[] paramArrayOfByte, int paramInt2, int paramInt3, int paramInt4); + + private static native boolean NativeIdCardInitial(String paramString); + + private static native long NativeInitial(String paramString); + + private static native long NativeInitialMode(String paramString, int paramInt); + + private static native boolean NativeIsSupportNeon(); + + private static native int NativeLiveActionDetect(LiveRectInfo paramLiveRectInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int paramInt4); + + private static native void NativeLiveDetectDestroy(); + + private static native boolean NativeLiveDetectInitial(String paramString); + + private static native void NativeLiveDetectReset(); + + private static native int NativeLiveDirectionDetect(DirectionInfo paramDirectionInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3); + + public long Destroy() + { + NativeDestroy(this.mNativeDetector); + this.mNativeDetector = 0L; + return 0L; + } + + public FaceDetector.ErrorCode FaceLightDetect(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + switch (NativeFaceLightDetect(this.mNativeDetector, paramArrayOfByte, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat)) + { + default: + return FaceDetector.ErrorCode.UNKNOW; + case 0: + return FaceDetector.ErrorCode.NO_ERROR; + case -1: + return FaceDetector.ErrorCode.NO_LIGHT; + case -2: + return FaceDetector.ErrorCode.NO_FACE; + } + return FaceDetector.ErrorCode.BAD_PARAM; + } + + public int FaceRegister(FaceInfo paramFaceInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + return NativeFaceDetect(paramFaceInfo, this.mNativeDetector, paramArrayOfByte, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat, 1); + } + + public int FaceValidate(FaceInfo paramFaceInfo, byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + return NativeFaceDetect(paramFaceInfo, this.mNativeDetector, paramArrayOfByte, paramInt1, paramInt2, paramInt3, paramArrayOfInt, paramArrayOfFloat, 0); + } + + public long Initial(String paramString, FaceDetector.AlgMode paramAlgMode) + { + if (FaceDetector.AlgMode.ALG_OPENCV == paramAlgMode) {} + for (this.mNativeDetector = NativeInitialMode(paramString, 0);; this.mNativeDetector = NativeInitialMode(paramString, 1)) { + return 0L; + } + } + + public boolean Initial(String paramString) + { + this.mNativeDetector = NativeInitial(paramString); + return 0L != this.mNativeDetector; + } + + public boolean idle() + { + return this.mIdle; + } + + public void setIdle(boolean paramBoolean) + { + this.mIdle = paramBoolean; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceDetector + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/FaceInfo.java b/com.tencent.token/classes.jar/com/tencent/jni/FaceInfo.java new file mode 100755 index 00000000000..dfe551b30fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/FaceInfo.java @@ -0,0 +1,44 @@ +package com.tencent.jni; + +public class FaceInfo +{ + byte[] mFaceData; + boolean mIsBright = true; + float mQualityScore; + + public byte[] faceData() + { + return this.mFaceData; + } + + public boolean isBright() + { + return this.mIsBright; + } + + public float qualityScore() + { + return this.mQualityScore; + } + + public void setFaceData(byte[] paramArrayOfByte) + { + this.mFaceData = paramArrayOfByte; + } + + public void setIsBright(boolean paramBoolean) + { + this.mIsBright = paramBoolean; + } + + public void setQualityScore(float paramFloat) + { + this.mQualityScore = paramFloat; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.FaceInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/IdCardInfo.java b/com.tencent.token/classes.jar/com/tencent/jni/IdCardInfo.java new file mode 100755 index 00000000000..b12d5786948 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/IdCardInfo.java @@ -0,0 +1,33 @@ +package com.tencent.jni; + +public class IdCardInfo +{ + byte[] mData; + byte[] mInfo; + + public byte[] data() + { + return this.mData; + } + + public byte[] info() + { + return this.mInfo; + } + + public void setData(byte[] paramArrayOfByte) + { + this.mData = paramArrayOfByte; + } + + public void setInfo(byte[] paramArrayOfByte) + { + this.mInfo = paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.IdCardInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/jni/LiveRectInfo.java b/com.tencent.token/classes.jar/com/tencent/jni/LiveRectInfo.java new file mode 100755 index 00000000000..219dce0a5a7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/jni/LiveRectInfo.java @@ -0,0 +1,63 @@ +package com.tencent.jni; + +public class LiveRectInfo +{ + int mHeight; + int mWidth; + int mX; + int mY; + + public int height() + { + return this.mHeight; + } + + public void reset() + { + this.mX = 0; + this.mY = 0; + this.mWidth = 0; + this.mHeight = 0; + } + + public void setHeight(int paramInt) + { + this.mHeight = paramInt; + } + + public void setWidth(int paramInt) + { + this.mWidth = paramInt; + } + + public void setX(int paramInt) + { + this.mX = paramInt; + } + + public void setY(int paramInt) + { + this.mY = paramInt; + } + + public int width() + { + return this.mWidth; + } + + public int x() + { + return this.mX; + } + + public int y() + { + return this.mY; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.jni.LiveRectInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractCursor.java new file mode 100755 index 00000000000..b903249b7f2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractCursor.java @@ -0,0 +1,408 @@ +package com.tencent.kingkong; + +import android.content.ContentResolver; +import android.net.Uri; +import android.os.Bundle; +import android.util.Log; +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.Map; + +public abstract class AbstractCursor + implements CrossProcessCursor +{ + private static final String TAG = "Cursor"; + protected boolean mClosed; + private final ContentObservable mContentObservable = new ContentObservable(); + protected ContentResolver mContentResolver; + @Deprecated + protected Long mCurrentRowID = null; + private final DataSetObservable mDataSetObservable = new DataSetObservable(); + private Bundle mExtras = Bundle.EMPTY; + private Uri mNotifyUri; + protected int mPos = -1; + @Deprecated + protected int mRowIdColumnIndex = -1; + private ContentObserver mSelfObserver; + private final Object mSelfObserverLock = new Object(); + private boolean mSelfObserverRegistered; + @Deprecated + protected HashMap> mUpdatedRows = new HashMap(); + + protected void checkPosition() + { + if ((-1 == this.mPos) || (getCount() == this.mPos)) { + throw new CursorIndexOutOfBoundsException(this.mPos, getCount()); + } + } + + public void close() + { + this.mClosed = true; + this.mContentObservable.unregisterAll(); + onDeactivateOrClose(); + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) + { + String str = getString(paramInt); + if (str != null) + { + char[] arrayOfChar = paramCharArrayBuffer.data; + if ((arrayOfChar == null) || (arrayOfChar.length < str.length())) { + paramCharArrayBuffer.data = str.toCharArray(); + } + for (;;) + { + paramCharArrayBuffer.sizeCopied = str.length(); + return; + str.getChars(0, str.length(), arrayOfChar, 0); + } + } + paramCharArrayBuffer.sizeCopied = 0; + } + + public void deactivate() + { + onDeactivateOrClose(); + } + + public void fillWindow(int paramInt, CursorWindow paramCursorWindow) + { + DatabaseUtils.cursorFillWindow(this, paramInt, paramCursorWindow); + } + + protected void finalize() + { + if ((this.mSelfObserver != null) && (this.mSelfObserverRegistered == true)) { + this.mContentResolver.unregisterContentObserver(this.mSelfObserver); + } + try + { + if (!this.mClosed) { + close(); + } + return; + } + catch (Exception localException) {} + } + + public byte[] getBlob(int paramInt) + { + throw new UnsupportedOperationException("getBlob is not supported"); + } + + public int getColumnCount() + { + return getColumnNames().length; + } + + public int getColumnIndex(String paramString) + { + int i = paramString.lastIndexOf('.'); + Object localObject = paramString; + if (i != -1) + { + localObject = new Exception(); + Log.e("Cursor", "requesting column name with table name -- " + paramString, (Throwable)localObject); + localObject = paramString.substring(i + 1); + } + paramString = getColumnNames(); + int j = paramString.length; + i = 0; + while (i < j) + { + if (paramString[i].equalsIgnoreCase((String)localObject)) { + return i; + } + i += 1; + } + return -1; + } + + public int getColumnIndexOrThrow(String paramString) + { + int i = getColumnIndex(paramString); + if (i < 0) { + throw new IllegalArgumentException("column '" + paramString + "' does not exist"); + } + return i; + } + + public String getColumnName(int paramInt) + { + return getColumnNames()[paramInt]; + } + + public abstract String[] getColumnNames(); + + public abstract int getCount(); + + public abstract double getDouble(int paramInt); + + public Bundle getExtras() + { + return this.mExtras; + } + + public abstract float getFloat(int paramInt); + + public abstract int getInt(int paramInt); + + public abstract long getLong(int paramInt); + + public Uri getNotificationUri() + { + return this.mNotifyUri; + } + + public final int getPosition() + { + return this.mPos; + } + + public abstract short getShort(int paramInt); + + public abstract String getString(int paramInt); + + public int getType(int paramInt) + { + return 3; + } + + @Deprecated + protected Object getUpdatedField(int paramInt) + { + return null; + } + + public boolean getWantsAllOnMoveCalls() + { + return false; + } + + public CursorWindow getWindow() + { + return null; + } + + public final boolean isAfterLast() + { + if (getCount() == 0) {} + while (this.mPos == getCount()) { + return true; + } + return false; + } + + public final boolean isBeforeFirst() + { + if (getCount() == 0) {} + while (this.mPos == -1) { + return true; + } + return false; + } + + public boolean isClosed() + { + return this.mClosed; + } + + @Deprecated + protected boolean isFieldUpdated(int paramInt) + { + return false; + } + + public final boolean isFirst() + { + return (this.mPos == 0) && (getCount() != 0); + } + + public final boolean isLast() + { + int i = getCount(); + return (this.mPos == i - 1) && (i != 0); + } + + public abstract boolean isNull(int paramInt); + + public final boolean move(int paramInt) + { + return moveToPosition(this.mPos + paramInt); + } + + public final boolean moveToFirst() + { + return moveToPosition(0); + } + + public final boolean moveToLast() + { + return moveToPosition(getCount() - 1); + } + + public final boolean moveToNext() + { + return moveToPosition(this.mPos + 1); + } + + public final boolean moveToPosition(int paramInt) + { + boolean bool1 = false; + int i = getCount(); + if (paramInt >= i) { + this.mPos = i; + } + boolean bool2; + do + { + return bool1; + if (paramInt < 0) + { + this.mPos = -1; + return false; + } + if (paramInt == this.mPos) { + return true; + } + bool2 = onMove(this.mPos, paramInt); + if (!bool2) + { + this.mPos = -1; + return bool2; + } + this.mPos = paramInt; + bool1 = bool2; + } while (this.mRowIdColumnIndex == -1); + this.mCurrentRowID = Long.valueOf(getLong(this.mRowIdColumnIndex)); + return bool2; + } + + public final boolean moveToPrevious() + { + return moveToPosition(this.mPos - 1); + } + + protected void onChange(boolean paramBoolean) + { + synchronized (this.mSelfObserverLock) + { + this.mContentObservable.dispatchChange(paramBoolean, null); + if ((this.mNotifyUri != null) && (paramBoolean)) { + this.mContentResolver.notifyChange(this.mNotifyUri, this.mSelfObserver); + } + return; + } + } + + protected void onDeactivateOrClose() + { + if (this.mSelfObserver != null) + { + this.mContentResolver.unregisterContentObserver(this.mSelfObserver); + this.mSelfObserverRegistered = false; + } + this.mDataSetObservable.notifyInvalidated(); + } + + public boolean onMove(int paramInt1, int paramInt2) + { + return true; + } + + public void registerContentObserver(ContentObserver paramContentObserver) + { + this.mContentObservable.registerObserver(paramContentObserver); + } + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mDataSetObservable.registerObserver(paramDataSetObserver); + } + + public boolean requery() + { + if ((this.mSelfObserver != null) && (!this.mSelfObserverRegistered)) + { + this.mContentResolver.registerContentObserver(this.mNotifyUri, true, this.mSelfObserver); + this.mSelfObserverRegistered = true; + } + this.mDataSetObservable.notifyChanged(); + return true; + } + + public Bundle respond(Bundle paramBundle) + { + return Bundle.EMPTY; + } + + public void setExtras(Bundle paramBundle) + { + Bundle localBundle = paramBundle; + if (paramBundle == null) { + localBundle = Bundle.EMPTY; + } + this.mExtras = localBundle; + } + + public void setNotificationUri(ContentResolver paramContentResolver, Uri paramUri) + { + synchronized (this.mSelfObserverLock) + { + this.mNotifyUri = paramUri; + this.mContentResolver = paramContentResolver; + if (this.mSelfObserver != null) { + this.mContentResolver.unregisterContentObserver(this.mSelfObserver); + } + this.mSelfObserver = new SelfContentObserver(this); + this.mContentResolver.registerContentObserver(this.mNotifyUri, true, this.mSelfObserver); + this.mSelfObserverRegistered = true; + return; + } + } + + public void unregisterContentObserver(ContentObserver paramContentObserver) + { + if (!this.mClosed) { + this.mContentObservable.unregisterObserver(paramContentObserver); + } + } + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mDataSetObservable.unregisterObserver(paramDataSetObserver); + } + + protected static class SelfContentObserver + extends ContentObserver + { + WeakReference mCursor; + + public SelfContentObserver(AbstractCursor paramAbstractCursor) + { + super(); + this.mCursor = new WeakReference(paramAbstractCursor); + } + + public boolean deliverSelfNotifications() + { + return false; + } + + public void onChange(boolean paramBoolean) + { + AbstractCursor localAbstractCursor = (AbstractCursor)this.mCursor.get(); + if (localAbstractCursor != null) { + localAbstractCursor.onChange(false); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.AbstractCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractWindowedCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractWindowedCursor.java new file mode 100755 index 00000000000..8569ba7ef6f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/AbstractWindowedCursor.java @@ -0,0 +1,149 @@ +package com.tencent.kingkong; + +public abstract class AbstractWindowedCursor + extends AbstractCursor +{ + protected CursorWindow mWindow; + + protected void checkPosition() + { + super.checkPosition(); + if (this.mWindow == null) { + throw new StaleDataException("Attempting to access a closed CursorWindow.Most probable cause: cursor is deactivated prior to calling this method."); + } + } + + protected void clearOrCreateWindow(String paramString) + { + if (this.mWindow == null) + { + this.mWindow = new CursorWindow(paramString); + return; + } + this.mWindow.clear(); + } + + protected void closeWindow() + { + if (this.mWindow != null) + { + this.mWindow.close(); + this.mWindow = null; + } + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) + { + checkPosition(); + this.mWindow.copyStringToBuffer(this.mPos, paramInt, paramCharArrayBuffer); + } + + public byte[] getBlob(int paramInt) + { + checkPosition(); + return this.mWindow.getBlob(this.mPos, paramInt); + } + + public double getDouble(int paramInt) + { + checkPosition(); + return this.mWindow.getDouble(this.mPos, paramInt); + } + + public float getFloat(int paramInt) + { + checkPosition(); + return this.mWindow.getFloat(this.mPos, paramInt); + } + + public int getInt(int paramInt) + { + checkPosition(); + return this.mWindow.getInt(this.mPos, paramInt); + } + + public long getLong(int paramInt) + { + checkPosition(); + return this.mWindow.getLong(this.mPos, paramInt); + } + + public short getShort(int paramInt) + { + checkPosition(); + return this.mWindow.getShort(this.mPos, paramInt); + } + + public String getString(int paramInt) + { + checkPosition(); + return this.mWindow.getString(this.mPos, paramInt); + } + + public int getType(int paramInt) + { + checkPosition(); + return this.mWindow.getType(this.mPos, paramInt); + } + + public CursorWindow getWindow() + { + return this.mWindow; + } + + public boolean hasWindow() + { + return this.mWindow != null; + } + + @Deprecated + public boolean isBlob(int paramInt) + { + return getType(paramInt) == 4; + } + + @Deprecated + public boolean isFloat(int paramInt) + { + return getType(paramInt) == 2; + } + + @Deprecated + public boolean isLong(int paramInt) + { + return getType(paramInt) == 1; + } + + public boolean isNull(int paramInt) + { + checkPosition(); + return this.mWindow.getType(this.mPos, paramInt) == 0; + } + + @Deprecated + public boolean isString(int paramInt) + { + return getType(paramInt) == 3; + } + + protected void onDeactivateOrClose() + { + super.onDeactivateOrClose(); + closeWindow(); + } + + public void setWindow(CursorWindow paramCursorWindow) + { + if (paramCursorWindow != this.mWindow) + { + closeWindow(); + this.mWindow = paramCursorWindow; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.AbstractWindowedCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorDescriptor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorDescriptor.java new file mode 100755 index 00000000000..3472108dbd0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorDescriptor.java @@ -0,0 +1,96 @@ +package com.tencent.kingkong; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; + +public final class BulkCursorDescriptor + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + { + public BulkCursorDescriptor createFromParcel(Parcel paramAnonymousParcel) + { + BulkCursorDescriptor localBulkCursorDescriptor = new BulkCursorDescriptor(); + localBulkCursorDescriptor.readFromParcel(paramAnonymousParcel); + return localBulkCursorDescriptor; + } + + public BulkCursorDescriptor[] newArray(int paramAnonymousInt) + { + return new BulkCursorDescriptor[paramAnonymousInt]; + } + }; + public String[] columnNames; + public int count; + public IBulkCursor cursor; + public boolean wantsAllOnMoveCalls; + public CursorWindow window; + + public int describeContents() + { + return 0; + } + + public void readFromParcel(Parcel paramParcel) + { + this.cursor = BulkCursorNative.asInterface(paramParcel.readStrongBinder()); + this.columnNames = readStringArray(paramParcel); + if (paramParcel.readInt() != 0) {} + for (boolean bool = true;; bool = false) + { + this.wantsAllOnMoveCalls = bool; + this.count = paramParcel.readInt(); + if (paramParcel.readInt() != 0) { + this.window = ((CursorWindow)CursorWindow.CREATOR.createFromParcel(paramParcel)); + } + return; + } + } + + public final String[] readStringArray(Parcel paramParcel) + { + Object localObject = null; + int j = paramParcel.readInt(); + if (j >= 0) + { + String[] arrayOfString = new String[j]; + int i = 0; + for (;;) + { + localObject = arrayOfString; + if (i >= j) { + break; + } + arrayOfString[i] = paramParcel.readString(); + i += 1; + } + } + return localObject; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeStrongBinder(this.cursor.asBinder()); + paramParcel.writeStringArray(this.columnNames); + if (this.wantsAllOnMoveCalls) {} + for (int i = 1;; i = 0) + { + paramParcel.writeInt(i); + paramParcel.writeInt(this.count); + if (this.window == null) { + break; + } + paramParcel.writeInt(1); + this.window.writeToParcel(paramParcel, paramInt); + return; + } + paramParcel.writeInt(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.BulkCursorDescriptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorNative.java b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorNative.java new file mode 100755 index 00000000000..7d66555e388 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorNative.java @@ -0,0 +1,106 @@ +package com.tencent.kingkong; + +import android.os.Binder; +import android.os.IBinder; +import android.os.Parcel; +import android.os.RemoteException; + +public abstract class BulkCursorNative + extends Binder + implements IBulkCursor +{ + public BulkCursorNative() + { + attachInterface(this, "android.content.IBulkCursor"); + } + + public static IBulkCursor asInterface(IBinder paramIBinder) + { + Object localObject; + if (paramIBinder == null) { + localObject = null; + } + IBulkCursor localIBulkCursor; + do + { + return localObject; + localIBulkCursor = (IBulkCursor)paramIBinder.queryLocalInterface("android.content.IBulkCursor"); + localObject = localIBulkCursor; + } while (localIBulkCursor != null); + return new BulkCursorProxy(paramIBinder); + } + + public IBinder asBinder() + { + return this; + } + + public boolean onTransact(int paramInt1, Parcel paramParcel1, Parcel paramParcel2, int paramInt2) + throws RemoteException + { + switch (paramInt1) + { + default: + return super.onTransact(paramInt1, paramParcel1, paramParcel2, paramInt2); + case 1: + try + { + paramParcel1.enforceInterface("android.content.IBulkCursor"); + paramParcel1 = getWindow(paramParcel1.readInt()); + paramParcel2.writeNoException(); + if (paramParcel1 == null) + { + paramParcel2.writeInt(0); + return true; + } + } + catch (Exception paramParcel1) + { + DatabaseUtils.writeExceptionToParcel(paramParcel2, paramParcel1); + return true; + } + paramParcel2.writeInt(1); + paramParcel1.writeToParcel(paramParcel2, 1); + return true; + case 2: + paramParcel1.enforceInterface("android.content.IBulkCursor"); + deactivate(); + paramParcel2.writeNoException(); + return true; + case 7: + paramParcel1.enforceInterface("android.content.IBulkCursor"); + close(); + paramParcel2.writeNoException(); + return true; + case 3: + paramParcel1.enforceInterface("android.content.IBulkCursor"); + paramInt1 = requery(IContentObserver.Stub.asInterface(paramParcel1.readStrongBinder())); + paramParcel2.writeNoException(); + paramParcel2.writeInt(paramInt1); + paramParcel2.writeBundle(getExtras()); + return true; + case 4: + paramParcel1.enforceInterface("android.content.IBulkCursor"); + onMove(paramParcel1.readInt()); + paramParcel2.writeNoException(); + return true; + case 5: + paramParcel1.enforceInterface("android.content.IBulkCursor"); + paramParcel1 = getExtras(); + paramParcel2.writeNoException(); + paramParcel2.writeBundle(paramParcel1); + return true; + } + paramParcel1.enforceInterface("android.content.IBulkCursor"); + paramParcel1 = respond(paramParcel1.readBundle()); + paramParcel2.writeNoException(); + paramParcel2.writeBundle(paramParcel1); + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.BulkCursorNative + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorProxy.java b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorProxy.java new file mode 100755 index 00000000000..1ffa2f342a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorProxy.java @@ -0,0 +1,222 @@ +package com.tencent.kingkong; + +import android.os.Bundle; +import android.os.IBinder; +import android.os.Parcel; +import android.os.RemoteException; + +final class BulkCursorProxy + implements IBulkCursor +{ + private Bundle mExtras; + private IBinder mRemote; + + public BulkCursorProxy(IBinder paramIBinder) + { + this.mRemote = paramIBinder; + this.mExtras = null; + } + + public IBinder asBinder() + { + return this.mRemote; + } + + public void close() + throws RemoteException + { + Parcel localParcel1 = Parcel.obtain(); + Parcel localParcel2 = Parcel.obtain(); + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + this.mRemote.transact(7, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + return; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } + + public void deactivate() + throws RemoteException + { + Parcel localParcel1 = Parcel.obtain(); + Parcel localParcel2 = Parcel.obtain(); + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + this.mRemote.transact(2, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + return; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } + + public Bundle getExtras() + throws RemoteException + { + Parcel localParcel1; + Parcel localParcel2; + if (this.mExtras == null) + { + localParcel1 = Parcel.obtain(); + localParcel2 = Parcel.obtain(); + } + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + this.mRemote.transact(5, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + this.mExtras = localParcel2.readBundle(); + return this.mExtras; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } + + public CursorWindow getWindow(int paramInt) + throws RemoteException + { + Parcel localParcel1 = Parcel.obtain(); + Parcel localParcel2 = Parcel.obtain(); + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + localParcel1.writeInt(paramInt); + this.mRemote.transact(1, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + CursorWindow localCursorWindow = null; + if (localParcel2.readInt() == 1) { + localCursorWindow = CursorWindow.newFromParcel(localParcel2); + } + return localCursorWindow; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } + + public void onMove(int paramInt) + throws RemoteException + { + Parcel localParcel1 = Parcel.obtain(); + Parcel localParcel2 = Parcel.obtain(); + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + localParcel1.writeInt(paramInt); + this.mRemote.transact(4, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + return; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } + + /* Error */ + public int requery(IContentObserver paramIContentObserver) + throws RemoteException + { + // Byte code: + // 0: invokestatic 31 android/os/Parcel:obtain ()Landroid/os/Parcel; + // 3: astore 4 + // 5: invokestatic 31 android/os/Parcel:obtain ()Landroid/os/Parcel; + // 8: astore 5 + // 10: aload 4 + // 12: ldc 33 + // 14: invokevirtual 37 android/os/Parcel:writeInterfaceToken (Ljava/lang/String;)V + // 17: aload 4 + // 19: aload_1 + // 20: invokevirtual 82 android/os/Parcel:writeStrongInterface (Landroid/os/IInterface;)V + // 23: aload_0 + // 24: getfield 17 com/tencent/kingkong/BulkCursorProxy:mRemote Landroid/os/IBinder; + // 27: iconst_3 + // 28: aload 4 + // 30: aload 5 + // 32: iconst_0 + // 33: invokeinterface 43 5 0 + // 38: istore_3 + // 39: aload 5 + // 41: invokestatic 49 com/tencent/kingkong/DatabaseUtils:readExceptionFromParcel (Landroid/os/Parcel;)V + // 44: iload_3 + // 45: ifne +17 -> 62 + // 48: iconst_m1 + // 49: istore_2 + // 50: aload 4 + // 52: invokevirtual 52 android/os/Parcel:recycle ()V + // 55: aload 5 + // 57: invokevirtual 52 android/os/Parcel:recycle ()V + // 60: iload_2 + // 61: ireturn + // 62: aload 5 + // 64: invokevirtual 69 android/os/Parcel:readInt ()I + // 67: istore_2 + // 68: aload_0 + // 69: aload 5 + // 71: invokevirtual 59 android/os/Parcel:readBundle ()Landroid/os/Bundle; + // 74: putfield 19 com/tencent/kingkong/BulkCursorProxy:mExtras Landroid/os/Bundle; + // 77: goto -27 -> 50 + // 80: astore_1 + // 81: aload 4 + // 83: invokevirtual 52 android/os/Parcel:recycle ()V + // 86: aload 5 + // 88: invokevirtual 52 android/os/Parcel:recycle ()V + // 91: aload_1 + // 92: athrow + // Local variable table: + // start length slot name signature + // 0 93 0 this BulkCursorProxy + // 0 93 1 paramIContentObserver IContentObserver + // 49 19 2 i int + // 38 7 3 bool boolean + // 3 79 4 localParcel1 Parcel + // 8 79 5 localParcel2 Parcel + // Exception table: + // from to target type + // 10 44 80 finally + // 62 77 80 finally + } + + public Bundle respond(Bundle paramBundle) + throws RemoteException + { + Parcel localParcel1 = Parcel.obtain(); + Parcel localParcel2 = Parcel.obtain(); + try + { + localParcel1.writeInterfaceToken("android.content.IBulkCursor"); + localParcel1.writeBundle(paramBundle); + this.mRemote.transact(6, localParcel1, localParcel2, 0); + DatabaseUtils.readExceptionFromParcel(localParcel2); + paramBundle = localParcel2.readBundle(); + return paramBundle; + } + finally + { + localParcel1.recycle(); + localParcel2.recycle(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.BulkCursorProxy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorToCursorAdaptor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorToCursorAdaptor.java new file mode 100755 index 00000000000..ab105c08f13 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/BulkCursorToCursorAdaptor.java @@ -0,0 +1,183 @@ +package com.tencent.kingkong; + +import android.database.CharArrayBuffer; +import android.database.ContentObserver; +import android.database.DataSetObserver; +import android.os.Bundle; +import android.os.RemoteException; +import android.util.Log; + +public final class BulkCursorToCursorAdaptor + extends AbstractWindowedCursor +{ + private static final String TAG = "BulkCursor"; + private IBulkCursor mBulkCursor; + private String[] mColumns; + private int mCount; + private AbstractCursor.SelfContentObserver mObserverBridge = new AbstractCursor.SelfContentObserver(this); + private boolean mWantsAllOnMoveCalls; + + private void throwIfCursorIsClosed() + { + if (this.mBulkCursor == null) { + throw new StaleDataException("Attempted to access a cursor after it has been closed."); + } + } + + public void close() + { + super.close(); + if (this.mBulkCursor != null) {} + try + { + this.mBulkCursor.close(); + return; + } + catch (RemoteException localRemoteException) + { + Log.w("BulkCursor", "Remote process exception when closing"); + return; + } + finally + { + this.mBulkCursor = null; + } + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) {} + + public void deactivate() + { + super.deactivate(); + if (this.mBulkCursor != null) {} + try + { + this.mBulkCursor.deactivate(); + return; + } + catch (RemoteException localRemoteException) + { + Log.w("BulkCursor", "Remote process exception when deactivating"); + } + } + + public String[] getColumnNames() + { + throwIfCursorIsClosed(); + return this.mColumns; + } + + public int getCount() + { + throwIfCursorIsClosed(); + return this.mCount; + } + + public Bundle getExtras() + { + throwIfCursorIsClosed(); + try + { + Bundle localBundle = this.mBulkCursor.getExtras(); + return localBundle; + } + catch (RemoteException localRemoteException) + { + throw new RuntimeException(localRemoteException); + } + } + + public IContentObserver getObserver() + { + return this.mObserverBridge.getContentObserver(); + } + + public void initialize(BulkCursorDescriptor paramBulkCursorDescriptor) + { + this.mBulkCursor = paramBulkCursorDescriptor.cursor; + this.mColumns = paramBulkCursorDescriptor.columnNames; + this.mRowIdColumnIndex = DatabaseUtils.findRowIdColumnIndex(this.mColumns); + this.mWantsAllOnMoveCalls = paramBulkCursorDescriptor.wantsAllOnMoveCalls; + this.mCount = paramBulkCursorDescriptor.count; + if (paramBulkCursorDescriptor.window != null) { + setWindow(paramBulkCursorDescriptor.window); + } + } + + public boolean onMove(int paramInt1, int paramInt2) + { + throwIfCursorIsClosed(); + try + { + if ((this.mWindow == null) || (paramInt2 < this.mWindow.getStartPosition()) || (paramInt2 >= this.mWindow.getStartPosition() + this.mWindow.getNumRows())) { + setWindow(this.mBulkCursor.getWindow(paramInt2)); + } + while (this.mWindow == null) + { + return false; + if (this.mWantsAllOnMoveCalls) { + this.mBulkCursor.onMove(paramInt2); + } + } + return true; + } + catch (RemoteException localRemoteException) + { + Log.e("BulkCursor", "Unable to get window because the remote process is dead"); + return false; + } + } + + public void registerContentObserver(ContentObserver paramContentObserver) {} + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) {} + + public boolean requery() + { + throwIfCursorIsClosed(); + try + { + this.mCount = this.mBulkCursor.requery(getObserver()); + if (this.mCount != -1) + { + this.mPos = -1; + closeWindow(); + super.requery(); + return true; + } + deactivate(); + return false; + } + catch (Exception localException) + { + Log.e("BulkCursor", "Unable to requery because the remote process exception " + localException.getMessage()); + deactivate(); + } + return false; + } + + public Bundle respond(Bundle paramBundle) + { + throwIfCursorIsClosed(); + try + { + paramBundle = this.mBulkCursor.respond(paramBundle); + return paramBundle; + } + catch (RemoteException paramBundle) + { + Log.w("BulkCursor", "respond() threw RemoteException, returning an empty bundle.", paramBundle); + } + return Bundle.EMPTY; + } + + public void unregisterContentObserver(ContentObserver paramContentObserver) {} + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.BulkCursorToCursorAdaptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CharArrayBuffer.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CharArrayBuffer.java new file mode 100755 index 00000000000..acf669b2a49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CharArrayBuffer.java @@ -0,0 +1,23 @@ +package com.tencent.kingkong; + +public final class CharArrayBuffer +{ + public char[] data; + public int sizeCopied; + + public CharArrayBuffer(int paramInt) + { + this.data = new char[paramInt]; + } + + public CharArrayBuffer(char[] paramArrayOfChar) + { + this.data = paramArrayOfChar; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CharArrayBuffer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Common.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Common.java new file mode 100755 index 00000000000..bd89f67af6c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Common.java @@ -0,0 +1,776 @@ +package com.tencent.kingkong; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.os.Build; +import android.os.Build.VERSION; +import android.text.TextUtils; +import android.util.Log; +import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; + +public class Common +{ + public static final int FAIL_REASON_CALCULATE_PARAM_ERROR = 4; + public static final int FAIL_REASON_INVALID_FINGERPRINT = 1; + public static final int FAIL_REASON_INVALID_HOOK_POINT = 6; + public static final int FAIL_REASON_INVALID_JUMPER_POINT = 7; + public static final int FAIL_REASON_NATIVE_DO_PATCH_ERROR = 5; + public static final int FAIL_REASON_NO_FINGERPRINT_MATCH = 2; + public static final int FAIL_REASON_VERIFY_PARAM_ERROR = 3; + public static final int FINGERPRINT_TYPE_FUNCTION = 0; + public static final int FINGERPRINT_TYPE_OFFSET_TO_FILE = 1; + public static final int FINGERPRINT_TYPE_OFFSET_TO_FUNCTION = 2; + public static final int HOOKPOINT_TYPE_FUNCTION = 0; + public static final int HOOKPOINT_TYPE_OFFSET_TO_FILE = 1; + public static final int HOOKPOINT_TYPE_OFFSET_TO_FUNCTION = 2; + public static final String LOG_TAG = "KingKongCommon"; + public static final String MAIN_INTERPROCESS_LOCK_FILE = "KingkongPatchInterprocess.Lock"; + public static final int PARAM_TYPE_ARBITRARY_VALUE = 3; + public static final int PARAM_TYPE_MAX = 5; + public static final int PARAM_TYPE_MIN = 0; + public static final int PARAM_TYPE_OFFSET_TO_FILE = 2; + public static final int PARAM_TYPE_OFFSET_TO_FUNCTION = 1; + public static final int PARAM_TYPE_SYMBOL_ADDRESS = 4; + public static final String PATCH_DOWNLOAD_FOLDER = "download"; + public static final String PATCH_FOLDER = "patches"; + public static final String PATCH_ROOT_FOLDER = "kingkong"; + public static final String SHARED_PREFERENCE_DO_PATCH_REPORT_PREFIX = "DO_PATCH"; + public static final String SHARED_PREFERENCE_DPC_STATUS = "DPC_STATUS"; + public static final String SHARED_PREFERENCE_FINGERPRINT_LIB = "FINGERPRINT_LIB"; + public static final String SHARED_PREFERENCE_FINGERPRINT_LIB_COUNT = "FINGERPRINT_LIB_COUNT"; + public static final String SHARED_PREFERENCE_FINGERPRINT_LIB_SHA1 = "FINGERPRINT_LIB_SHA1"; + public static final String SHARED_PREFERENCE_GOTHOOK_POINT = "GOTHOOK"; + public static final String SHARED_PREFERENCE_HOOKPOINT_COUNT = "HOOKPOINT_COUNT"; + public static final String SHARED_PREFERENCE_INITIALIZE_STATUS = "INITIALIZE_STATUS"; + public static final String SHARED_PREFERENCE_INITIAL_FAIL_REPORT = "INITIAL_FAILED"; + public static final String SHARED_PREFERENCE_JUMPER_POINT = "JUMPER"; + public static final String SHARED_PREFERENCE_LAST_UPDATE_TIME = "LAST_UPDATE_TIME"; + public static final String SHARED_PREFERENCE_NAME = "SHARED_PREFERENCE_KINGKONG_PATCH"; + public static final String SHARED_PREFERENCE_PATCH_STATUS = "PATCH_STATUS"; + public static final String SHARED_PREFERENCE_POINT_LOG = "POINT_LOG"; + public static final String SHARED_PREFERENCE_POINT_LOG_CONTINUOUS_COUNT = "POINT_LOG_CONTINUOUS_COUNT"; + public static final String SHARED_PREFERENCE_POINT_LOG_CRASH_COUNT = "POINT_LOG_CRASH_COUNT"; + public static final String SHARED_PREFERENCE_QQUni = "QQUni"; + public static final String SHARED_PREFERENCE_SUBPATCH_INDEX = "SUBPATCH_INDEX"; + public static final String SHARED_PREFERENCE_UPDATE_STATUS = "UPDATE_STATUS"; + public static final int STATUS_INITIALIZED_PATCH_MANAGER = 1; + public static final int STATUS_INITIALIZE_PATCH_MANAGER_FAILED = 2; + public static final int STATUS_INITIALIZE_UPDATE_MANAGER_FAILED = 3; + public static final int STATUS_UNINITIALIZED = 0; + public static final String UPDATE_INTERPROCESS_LOCK_FILE = "KingkongUpdateInterprocess.Lock"; + public static boolean isCheckedDeviceSupport; + public static boolean isDeviceSupportable; + public static Context mContext = null; + public static String mFilesDir; + public static boolean mInitFileFolderStatus; + public static Utils.InterProcessLock mInterProcessLock; + public static String mMainInterProcessFileName = ""; + public static String mPatchDownloadFolder; + public static String mPatchFolder; + public static String mPathSeparator; + public static ReportThread mReportThread = null; + public static SharedPreferences mSharedPref; + public static SharedPreferences.Editor mSharedPrefEditor; + public static boolean mStatus = false; + public static boolean mThreadStatus = false; + public static String mUpdateInterProcessFileName = ""; + + static + { + mInitFileFolderStatus = false; + mSharedPref = null; + mSharedPrefEditor = null; + mInterProcessLock = null; + isCheckedDeviceSupport = false; + isDeviceSupportable = false; + mFilesDir = ""; + mPatchDownloadFolder = ""; + mPatchFolder = ""; + mPathSeparator = File.separator; + } + + public static void EvilReportFromNative(int paramInt, String paramString1, String paramString2) + { + Log.d("KingKongCommon", "Evil Report " + paramString1 + ", " + paramString2); + if (mReportThread != null) + { + paramString1 = "&str1=" + paramString1 + "&str2=" + paramString2; + mReportThread.report(paramInt, 0, 0, paramString1); + } + } + + public static String GetDownloadFolder() + { + return mPatchDownloadFolder; + } + + public static int GetInitializeStatus() + { + return mSharedPref.getInt("INITIALIZE_STATUS", 0); + } + + public static String GetLastUpdateTime() + { + return mSharedPref.getString("LAST_UPDATE_TIME", ""); + } + + public static String GetMainInterProcessLockFile() + { + return mMainInterProcessFileName; + } + + public static String GetPatchFolder() + { + return mPatchFolder; + } + + public static String GetUpdateInterProcessLockFile() + { + return mUpdateInterProcessFileName; + } + + public static String GetUpdateStatus() + { + return mSharedPref.getString("UPDATE_STATUS", ""); + } + + public static void NotificationFromNative(int paramInt1, int paramInt2, int paramInt3) + { + Log.d("KingKongCommon", "Notification From Native " + paramInt1 + ", " + paramInt2 + ", " + paramInt3); + if (mReportThread != null) { + mReportThread.report(paramInt1, paramInt2, paramInt3, ""); + } + } + + /* Error */ + public static void OnLogin(Context paramContext, String paramString) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: aload_0 + // 4: invokestatic 250 com/tencent/kingkong/Common:SetContext (Landroid/content/Context;)V + // 7: getstatic 145 com/tencent/kingkong/Common:mContext Landroid/content/Context; + // 10: astore_0 + // 11: aload_0 + // 12: ifnonnull +7 -> 19 + // 15: ldc 2 + // 17: monitorexit + // 18: return + // 19: aload_1 + // 20: invokestatic 253 com/tencent/kingkong/Common:SetQQUni (Ljava/lang/String;)V + // 23: getstatic 147 com/tencent/kingkong/Common:mReportThread Lcom/tencent/kingkong/ReportThread; + // 26: ifnonnull +19 -> 45 + // 29: new 215 com/tencent/kingkong/ReportThread + // 32: dup + // 33: invokespecial 254 com/tencent/kingkong/ReportThread: ()V + // 36: putstatic 147 com/tencent/kingkong/Common:mReportThread Lcom/tencent/kingkong/ReportThread; + // 39: getstatic 147 com/tencent/kingkong/Common:mReportThread Lcom/tencent/kingkong/ReportThread; + // 42: invokevirtual 257 com/tencent/kingkong/ReportThread:start ()V + // 45: new 6 com/tencent/kingkong/Common$1 + // 48: dup + // 49: invokespecial 258 com/tencent/kingkong/Common$1: ()V + // 52: invokevirtual 259 com/tencent/kingkong/Common$1:start ()V + // 55: goto -40 -> 15 + // 58: astore_0 + // 59: ldc 2 + // 61: monitorexit + // 62: aload_0 + // 63: athrow + // Local variable table: + // start length slot name signature + // 0 64 0 paramContext Context + // 0 64 1 paramString String + // Exception table: + // from to target type + // 3 11 58 finally + // 19 45 58 finally + // 45 55 58 finally + } + + public static void SetContext(Context paramContext) + { + if ((paramContext != null) && (mContext == null)) + { + mContext = paramContext.getApplicationContext(); + DataReport.setContext(mContext); + } + } + + public static void SetDPCStatus(Context paramContext, boolean paramBoolean) + { + paramContext = paramContext.getSharedPreferences("SHARED_PREFERENCE_KINGKONG_PATCH", 0).edit(); + paramContext.putBoolean("DPC_STATUS", paramBoolean); + paramContext.commit(); + } + + public static void SetInitializeStatus(int paramInt) + { + mSharedPrefEditor.putInt("INITIALIZE_STATUS", paramInt); + mSharedPrefEditor.commit(); + } + + public static void SetLastUpdateTime(String paramString) + { + mSharedPrefEditor.putString("LAST_UPDATE_TIME", paramString); + mSharedPrefEditor.commit(); + } + + public static void SetQQUni(String paramString) + { + DataReport.setQQUni(paramString); + } + + /* Error */ + public static void SetSafeStatus(boolean paramBoolean) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: invokestatic 309 com/tencent/kingkong/Common:shouldLoadSecureLibrary ()Z + // 6: istore_1 + // 7: iload_1 + // 8: ifne +7 -> 15 + // 11: ldc 2 + // 13: monitorexit + // 14: return + // 15: getstatic 145 com/tencent/kingkong/Common:mContext Landroid/content/Context; + // 18: ifnull -7 -> 11 + // 21: iload_0 + // 22: ifeq -11 -> 11 + // 25: getstatic 149 com/tencent/kingkong/Common:mStatus Z + // 28: ifne -17 -> 11 + // 31: getstatic 151 com/tencent/kingkong/Common:mThreadStatus Z + // 34: ifne -23 -> 11 + // 37: iconst_1 + // 38: putstatic 151 com/tencent/kingkong/Common:mThreadStatus Z + // 41: invokestatic 312 com/tencent/kingkong/Common:initFileFolder ()V + // 44: new 8 com/tencent/kingkong/Common$2 + // 47: dup + // 48: invokespecial 313 com/tencent/kingkong/Common$2: ()V + // 51: invokevirtual 314 com/tencent/kingkong/Common$2:start ()V + // 54: goto -43 -> 11 + // 57: astore_2 + // 58: ldc 2 + // 60: monitorexit + // 61: aload_2 + // 62: athrow + // Local variable table: + // start length slot name signature + // 0 63 0 paramBoolean boolean + // 6 2 1 bool boolean + // 57 5 2 localObject Object + // Exception table: + // from to target type + // 3 7 57 finally + // 15 21 57 finally + // 25 54 57 finally + } + + public static void SetUpdateStatus(String paramString) + { + mSharedPrefEditor.putString("UPDATE_STATUS", paramString); + mSharedPrefEditor.commit(); + } + + public static boolean SystemReady() + { + return mStatus; + } + + private static boolean checkPatchStatus() + { + int i = getPointLogCount(); + if (i >= 0) + { + if (getPointLog() == 0) { + break label46; + } + setPointLogCount(i + 1); + i = getPointLogContinuousCrashCount(); + if (i >= 2) + { + setPatchStatus(false); + reportPointLog(); + return false; + } + setPointLogContinuousCrashCount(i + 1); + } + for (;;) + { + return true; + label46: + setPointLogContinuousCrashCount(0); + } + } + + private static String concat(String paramString1, String paramString2) + { + return paramString1 + "_" + paramString2; + } + + private static String concat(String paramString1, String paramString2, int paramInt) + { + return paramString1 + "_" + paramString2 + "_" + paramInt; + } + + private static boolean getDPCStatus() + { + return true; + } + + public static int[] getPatchGotHookPoints(String paramString) + { + int j = mSharedPref.getInt(concat("HOOKPOINT_COUNT", paramString), -1); + Object localObject; + if (j == -1) + { + localObject = null; + return localObject; + } + int[] arrayOfInt = new int[j]; + int i = 0; + for (;;) + { + localObject = arrayOfInt; + if (i >= j) { + break; + } + arrayOfInt[i] = mSharedPref.getInt(concat("GOTHOOK", paramString, i), -1); + if (arrayOfInt[i] == -1) { + return null; + } + i += 1; + } + } + + public static int[] getPatchJumperPoints(String paramString) + { + int j = mSharedPref.getInt(concat("HOOKPOINT_COUNT", paramString), -1); + Object localObject; + if (j == -1) + { + localObject = null; + return localObject; + } + int[] arrayOfInt = new int[j]; + int i = 0; + for (;;) + { + localObject = arrayOfInt; + if (i >= j) { + break; + } + arrayOfInt[i] = mSharedPref.getInt(concat("JUMPER", paramString, i), -1); + if (arrayOfInt[i] == -1) { + return null; + } + i += 1; + } + } + + private static boolean getPatchStatus() + { + return mSharedPref.getBoolean("PATCH_STATUS", true); + } + + private static int getPointLog() + { + return mSharedPref.getInt("POINT_LOG", 0); + } + + private static int getPointLogContinuousCrashCount() + { + return mSharedPref.getInt("POINT_LOG_CONTINUOUS_COUNT", 0); + } + + private static int getPointLogCount() + { + return mSharedPref.getInt("POINT_LOG_CRASH_COUNT", 0); + } + + public static int getSubPatchIndex(String paramString, ArrayList paramArrayList) + { + int j = mSharedPref.getInt(concat("FINGERPRINT_LIB_COUNT", paramString), -1); + if ((j == -1) || (j != paramArrayList.size())) + { + Log.d("KingKongCommon", "Library count mismatch " + j + ", " + paramArrayList.size()); + return -1; + } + int i = 0; + for (;;) + { + if (i >= j) { + return mSharedPref.getInt(concat("SUBPATCH_INDEX", paramString), -1); + } + String str1 = mSharedPref.getString(concat("FINGERPRINT_LIB", paramString, i), ""); + if (!((String)paramArrayList.get(i)).equals(str1)) + { + Log.d("KingKongCommon", "Library name mismatch " + str1 + ", " + (String)paramArrayList.get(i)); + return -1; + } + String str2 = Utils.getFileSHA1String(str1); + if (TextUtils.isEmpty(str2)) + { + Log.d("KingKongCommon", "Unable to get file SHA1 " + str1); + return -1; + } + String str3 = mSharedPref.getString(concat("FINGERPRINT_LIB_SHA1", paramString, i), ""); + if (!str3.equals(str2)) + { + Log.d("KingKongCommon", "Library SHA1 mismatch " + str1 + ", " + str3 + ", " + str2); + return -1; + } + i += 1; + } + } + + /* Error */ + public static void initFileFolder() + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: getstatic 153 com/tencent/kingkong/Common:mInitFileFolderStatus Z + // 6: istore_0 + // 7: iload_0 + // 8: ifeq +7 -> 15 + // 11: ldc 2 + // 13: monitorexit + // 14: return + // 15: iconst_1 + // 16: putstatic 153 com/tencent/kingkong/Common:mInitFileFolderStatus Z + // 19: getstatic 145 com/tencent/kingkong/Common:mContext Landroid/content/Context; + // 22: ldc 91 + // 24: iconst_0 + // 25: invokevirtual 276 android/content/Context:getSharedPreferences (Ljava/lang/String;I)Landroid/content/SharedPreferences; + // 28: putstatic 155 com/tencent/kingkong/Common:mSharedPref Landroid/content/SharedPreferences; + // 31: getstatic 155 com/tencent/kingkong/Common:mSharedPref Landroid/content/SharedPreferences; + // 34: invokeinterface 280 1 0 + // 39: putstatic 157 com/tencent/kingkong/Common:mSharedPrefEditor Landroid/content/SharedPreferences$Editor; + // 42: getstatic 145 com/tencent/kingkong/Common:mContext Landroid/content/Context; + // 45: invokevirtual 411 android/content/Context:getFilesDir ()Ljava/io/File; + // 48: invokevirtual 414 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 51: putstatic 167 com/tencent/kingkong/Common:mFilesDir Ljava/lang/String; + // 54: new 190 java/lang/StringBuilder + // 57: dup + // 58: getstatic 167 com/tencent/kingkong/Common:mFilesDir Ljava/lang/String; + // 61: invokestatic 356 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 64: invokespecial 195 java/lang/StringBuilder: (Ljava/lang/String;)V + // 67: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 70: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 73: ldc 55 + // 75: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 78: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 81: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 84: ldc 49 + // 86: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 89: invokevirtual 205 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 92: putstatic 169 com/tencent/kingkong/Common:mPatchDownloadFolder Ljava/lang/String; + // 95: new 190 java/lang/StringBuilder + // 98: dup + // 99: getstatic 167 com/tencent/kingkong/Common:mFilesDir Ljava/lang/String; + // 102: invokestatic 356 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 105: invokespecial 195 java/lang/StringBuilder: (Ljava/lang/String;)V + // 108: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 111: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 114: ldc 55 + // 116: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 119: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 122: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 125: ldc 52 + // 127: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 130: invokevirtual 205 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 133: putstatic 171 com/tencent/kingkong/Common:mPatchFolder Ljava/lang/String; + // 136: new 190 java/lang/StringBuilder + // 139: dup + // 140: getstatic 167 com/tencent/kingkong/Common:mFilesDir Ljava/lang/String; + // 143: invokestatic 356 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 146: invokespecial 195 java/lang/StringBuilder: (Ljava/lang/String;)V + // 149: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 152: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 155: ldc 40 + // 157: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 160: invokevirtual 205 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 163: putstatic 180 com/tencent/kingkong/Common:mMainInterProcessFileName Ljava/lang/String; + // 166: new 190 java/lang/StringBuilder + // 169: dup + // 170: getstatic 167 com/tencent/kingkong/Common:mFilesDir Ljava/lang/String; + // 173: invokestatic 356 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 176: invokespecial 195 java/lang/StringBuilder: (Ljava/lang/String;)V + // 179: getstatic 178 com/tencent/kingkong/Common:mPathSeparator Ljava/lang/String; + // 182: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 185: ldc 119 + // 187: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 190: invokevirtual 205 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 193: putstatic 182 com/tencent/kingkong/Common:mUpdateInterProcessFileName Ljava/lang/String; + // 196: new 416 com/tencent/kingkong/Utils$InterProcessLock + // 199: dup + // 200: getstatic 180 com/tencent/kingkong/Common:mMainInterProcessFileName Ljava/lang/String; + // 203: invokespecial 417 com/tencent/kingkong/Utils$InterProcessLock: (Ljava/lang/String;)V + // 206: putstatic 159 com/tencent/kingkong/Common:mInterProcessLock Lcom/tencent/kingkong/Utils$InterProcessLock; + // 209: goto -198 -> 11 + // 212: astore_1 + // 213: ldc 2 + // 215: monitorexit + // 216: aload_1 + // 217: athrow + // Local variable table: + // start length slot name signature + // 6 2 0 bool boolean + // 212 5 1 localObject Object + // Exception table: + // from to target type + // 3 7 212 finally + // 15 209 212 finally + } + + public static String makeDownloadName(String paramString) + { + return mPatchDownloadFolder + mPathSeparator + paramString; + } + + public static String makeInstallName(String paramString) + { + return mPatchFolder + mPathSeparator + paramString; + } + + public static boolean removePatchSPs(String paramString) + { + int i = 0; + if (i >= 13) { + i = 0; + } + for (;;) + { + if (i >= 15) + { + mSharedPrefEditor.remove(concat("FINGERPRINT_LIB_COUNT", paramString)); + mSharedPrefEditor.remove(concat("SUBPATCH_INDEX", paramString)); + mSharedPrefEditor.remove(concat("HOOKPOINT_COUNT", paramString)); + mSharedPrefEditor.commit(); + return true; + String str = concat("DO_PATCH", paramString, i); + mSharedPrefEditor.remove(str); + i += 1; + break; + } + mSharedPrefEditor.remove(concat("FINGERPRINT_LIB", paramString, i)); + mSharedPrefEditor.remove(concat("FINGERPRINT_LIB_SHA1", paramString, i)); + mSharedPrefEditor.remove(concat("GOTHOOK", paramString, i)); + mSharedPrefEditor.remove(concat("JUMPER", paramString, i)); + i += 1; + } + } + + public static void reportByType(int paramInt, String paramString1, String paramString2) + { + if (mReportThread != null) {} + try + { + mReportThread.report(paramInt, 0, 0, "&str1=" + URLEncoder.encode(paramString1, "UTF-8") + "&str3=" + URLEncoder.encode(paramString2, "UTF-8")); + return; + } + catch (UnsupportedEncodingException paramString1) + { + paramString1.printStackTrace(); + } + } + + public static void reportDoPatch(int paramInt, String paramString1, String paramString2, String paramString3, String paramString4) + { + Log.d("KingKongCommon", "Do patch " + paramInt + ", " + paramString1 + ", " + paramString2 + ", " + paramString3 + ", " + paramString4); + String str = concat("DO_PATCH", paramString1, paramInt); + if ((!mSharedPref.getBoolean(str, false)) && (mReportThread != null)) {} + try + { + mReportThread.report(2081, paramInt, 0, "&str1=" + URLEncoder.encode(paramString1, "UTF-8") + "&str2=" + URLEncoder.encode(paramString2, "UTF-8") + "&str3=" + URLEncoder.encode(paramString3, "UTF-8") + "&v1=" + URLEncoder.encode(paramString4, "UTF-8")); + mSharedPrefEditor.putBoolean(str, true); + mSharedPrefEditor.commit(); + return; + } + catch (UnsupportedEncodingException paramString1) + { + paramString1.printStackTrace(); + } + } + + public static void reportEvilCatched(int paramInt, String paramString1, String paramString2, String paramString3, String paramString4) + { + Log.d("KingKongCommon", "evil catched " + paramInt + ", " + paramString1 + ", " + paramString2 + ", " + paramString3 + ", " + paramString4); + if (mReportThread != null) {} + try + { + mReportThread.report(2082, paramInt, 0, "&str1=" + URLEncoder.encode(paramString1, "UTF-8") + "&str2=" + URLEncoder.encode(paramString2, "UTF-8") + "&str3=" + URLEncoder.encode(paramString3, "UTF-8") + "&v1=" + URLEncoder.encode(paramString4, "UTF-8")); + return; + } + catch (UnsupportedEncodingException paramString1) + { + paramString1.printStackTrace(); + } + } + + public static void reportFingerprint(String paramString, int[] paramArrayOfInt) + { + String str; + int i; + if (mReportThread != null) + { + Log.d("KingKongCommon", "Report fingerprint : " + paramString); + str = ""; + i = 0; + } + for (;;) + { + if (i >= paramArrayOfInt.length) {} + try + { + paramString = new StringBuilder(String.valueOf("")).append("&str1=").append(URLEncoder.encode(paramString, "UTF-8")).toString() + str; + mReportThread.report(2086, 0, 0, paramString); + return; + } + catch (UnsupportedEncodingException paramString) + { + paramString.printStackTrace(); + } + str = str + "&v" + (i + 1) + "=" + paramArrayOfInt[i]; + i += 1; + } + } + + public static void reportPointLog() + { + int i = getPointLogCount(); + StringBuffer localStringBuffer = new StringBuffer(); + int j = getPointLog(); + try + { + localStringBuffer.append("&str1=").append(URLEncoder.encode(Integer.toString(i), "UTF-8")).append("&str2=").append(URLEncoder.encode(Integer.toString(j), "UTF-8")); + if (mReportThread != null) { + mReportThread.report(2087, 0, 0, localStringBuffer.toString()); + } + return; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + localUnsupportedEncodingException.printStackTrace(); + } + } + } + + public static void savePointLog(boolean paramBoolean) + { + if (paramBoolean) {} + for (Constant.LogPoint += 1;; Constant.LogPoint = 0) + { + setPointLog(Constant.LogPoint); + return; + } + } + + public static void setPatchStatus(boolean paramBoolean) + { + mSharedPrefEditor.putBoolean("PATCH_STATUS", paramBoolean); + mSharedPrefEditor.commit(); + } + + private static void setPointLog(int paramInt) + { + mSharedPrefEditor.putInt("POINT_LOG", paramInt); + mSharedPrefEditor.commit(); + } + + private static void setPointLogContinuousCrashCount(int paramInt) + { + mSharedPrefEditor.putInt("POINT_LOG_CONTINUOUS_COUNT", paramInt); + mSharedPrefEditor.commit(); + } + + private static void setPointLogCount(int paramInt) + { + mSharedPrefEditor.putInt("POINT_LOG_CRASH_COUNT", paramInt); + mSharedPrefEditor.commit(); + } + + public static boolean shouldLoadSecureLibrary() + { + if (Build.VERSION.SDK_INT < 14) { + return false; + } + return Build.CPU_ABI.contains("armeabi"); + } + + public static void storePatchHookParams(String paramString, int paramInt, int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + if ((paramArrayOfInt1.length != paramArrayOfInt2.length) || (paramArrayOfInt1.length > 15) || (paramArrayOfInt1.length != paramInt)) + { + Log.d("KingKongCommon", "Params count mismatch : " + paramArrayOfInt1.length + ", " + paramArrayOfInt2.length + ", " + paramInt); + return; + } + int i = 0; + for (;;) + { + if (i >= paramInt) + { + mSharedPrefEditor.putInt(concat("HOOKPOINT_COUNT", paramString), paramInt); + mSharedPrefEditor.commit(); + return; + } + mSharedPrefEditor.putInt(concat("JUMPER", paramString, i), paramArrayOfInt1[i]); + mSharedPrefEditor.putInt(concat("GOTHOOK", paramString, i), paramArrayOfInt2[i]); + i += 1; + } + } + + public static void storeSubPatchIndex(String paramString, int paramInt, ArrayList paramArrayList) + { + int j = paramArrayList.size(); + if (j > 15) { + return; + } + int i = 0; + for (;;) + { + if (i >= j) + { + mSharedPrefEditor.putInt(concat("FINGERPRINT_LIB_COUNT", paramString), j); + mSharedPrefEditor.putInt(concat("SUBPATCH_INDEX", paramString), paramInt); + mSharedPrefEditor.commit(); + return; + } + String str1 = (String)paramArrayList.get(i); + String str2 = Utils.getFileSHA1String(str1); + if (TextUtils.isEmpty(str2)) { + break; + } + mSharedPrefEditor.putString(concat("FINGERPRINT_LIB_SHA1", paramString, i), str2); + mSharedPrefEditor.putString(concat("FINGERPRINT_LIB", paramString, i), str1); + i += 1; + } + } + + public static class Log + { + public static void d(String paramString1, String paramString2) + { + Log.d("KingKong", paramString1 + " || " + paramString2); + } + + public static void v(String paramString1, String paramString2) + { + Log.d("KingKong", paramString1 + " || " + paramString2); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Common + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Constant.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Constant.java new file mode 100755 index 00000000000..f86e127d8e4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Constant.java @@ -0,0 +1,65 @@ +package com.tencent.kingkong; + +public abstract class Constant +{ + public static final boolean ENABLE_DEBUG_LOG = true; + public static final boolean ENABLE_DEBUG_PACKAGE_NAME = true; + public static final boolean ENABLE_DPC_STATUS_CONTROL = false; + public static final boolean ENABLE_ERROR_LOG = false; + public static final boolean ENABLE_MIN_UPDATE_INTERVAL = true; + public static final boolean ENABLE_OFFLINE_TEST = false; + public static final boolean ENABLE_RSA_DECRYPT = false; + public static final boolean ENABLE_TEST_ENVIRONMENT = false; + public static final int LOG_POINT_DO_PATCH = 300; + public static final int LOG_POINT_INSTALL = 200; + public static final int LOG_POINT_UPDATE = 100; + public static final String LOG_TAG = "KingKong"; + public static int LogPoint = 0; + public static String MAIN_CONFIG_URL = "http://zyjc.sec.qq.com/config?b="; + public static String MAIN_CONFIG_URL_OFFLINE; + public static final long MAX_FORCE_REUPDATE_TIME = 900000L; + public static final long MAX_UPDATE_INTERVAL = 180000L; + public static final int NOTIFICATION_TYPE_DELETE = 2084; + public static final int NOTIFICATION_TYPE_DO_PATCH = 2081; + public static final int NOTIFICATION_TYPE_EVIL_CATCHED = 2082; + public static final int NOTIFICATION_TYPE_KINGKONG_PATCH = 2080; + public static final int NOTIFICATION_TYPE_NATIVE_ERROR = 2083; + public static final int NOTIFICATION_TYPE_REPORT_FINGERPRINT = 2086; + public static final int NOTIFICATION_TYPE_REPORT_LOGIN = 2088; + public static final int NOTIFICATION_TYPE_REPORT_POINT_LOG = 2087; + public static final int NOTIFICATION_TYPE_UPDATE = 2085; + public static final String PATCH_DRIVER_VERSION = "2.0"; + public static final int PATCH_HOOKPOINT_MAX = 15; + public static final int PATCH_LIB_SHA1_MAX = 15; + public static final boolean RELEASE_TO_MOBILE_QQ = false; + public static String REPORT_CGI_URL = "http://zyjc.sec.qq.com/reportFixer.php"; + public static final int REPORT_DO_PATCH_FAIL_CALC_HOOKPIONT = 7; + public static final int REPORT_DO_PATCH_FAIL_CALC_JUMPERPIONT = 8; + public static final int REPORT_DO_PATCH_FAIL_CONTEXT_NULL = 1; + public static final int REPORT_DO_PATCH_FAIL_GET_PARAMETERS = 6; + public static final int REPORT_DO_PATCH_FAIL_INIT_NATIVE = 4; + public static final int REPORT_DO_PATCH_FAIL_INVALID_PATCH = 11; + public static final int REPORT_DO_PATCH_FAIL_LOAD_CLASS = 5; + public static final int REPORT_DO_PATCH_FAIL_LOAD_SO = 3; + public static final int REPORT_DO_PATCH_FAIL_NATIVE_DO_PATCH = 10; + public static final int REPORT_DO_PATCH_FAIL_NOT_SUPPORT = 12; + public static final int REPORT_DO_PATCH_FAIL_VALUE_EMPTY = 2; + public static final int REPORT_DO_PATCH_FAIL_VERIFY_PARAMETERS = 9; + public static final int REPORT_DO_PATCH_MAX = 13; + public static final int REPORT_DO_PATCH_OK = 0; + public static final int REPORT_INIT_PATCHMANAGER_FAIL_CONTEXT_NULL = 1; + public static final int REPORT_INIT_PATCHMANAGER_FAIL_INIT_PATCH_FILES = 2; + public static final int REPORT_INIT_PATCHMANAGER_FAIL_LOAD_SO = 3; + public static final int REPORT_INIT_PATCHMANAGER_OK = 0; + + static + { + MAIN_CONFIG_URL_OFFLINE = "/sdcard/"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Constant + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObservable.java b/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObservable.java new file mode 100755 index 00000000000..5ef855c8003 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObservable.java @@ -0,0 +1,53 @@ +package com.tencent.kingkong; + +import android.net.Uri; +import java.util.ArrayList; +import java.util.Iterator; + +public class ContentObservable + extends Observable +{ + @Deprecated + public void dispatchChange(boolean paramBoolean) + { + dispatchChange(paramBoolean, null); + } + + public void dispatchChange(boolean paramBoolean, Uri paramUri) + { + synchronized (this.mObservers) + { + Iterator localIterator = this.mObservers.iterator(); + while (localIterator.hasNext()) + { + ContentObserver localContentObserver = (ContentObserver)localIterator.next(); + if ((!paramBoolean) || (localContentObserver.deliverSelfNotifications())) { + localContentObserver.dispatchChanges(paramBoolean, paramUri); + } + } + } + } + + @Deprecated + public void notifyChange(boolean paramBoolean) + { + synchronized (this.mObservers) + { + Iterator localIterator = this.mObservers.iterator(); + if (localIterator.hasNext()) { + ((ContentObserver)localIterator.next()).onChange(paramBoolean, null); + } + } + } + + public void registerObserver(ContentObserver paramContentObserver) + { + super.registerObserver(paramContentObserver); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.ContentObservable + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObserver.java b/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObserver.java new file mode 100755 index 00000000000..9968f810755 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/ContentObserver.java @@ -0,0 +1,114 @@ +package com.tencent.kingkong; + +import android.net.Uri; +import android.os.Handler; + +public abstract class ContentObserver + extends android.database.ContentObserver +{ + Handler mHandler; + private final Object mLock = new Object(); + private Transport mTransport; + + public ContentObserver(Handler paramHandler) + { + super(paramHandler); + this.mHandler = paramHandler; + } + + public boolean deliverSelfNotifications() + { + return false; + } + + public final void dispatchChanges(boolean paramBoolean, Uri paramUri) + { + if (this.mHandler == null) + { + onChange(paramBoolean, paramUri); + return; + } + this.mHandler.post(new NotificationRunnable(paramBoolean, paramUri)); + } + + public IContentObserver getContentObserver() + { + synchronized (this.mLock) + { + if (this.mTransport == null) { + this.mTransport = new Transport(this); + } + Transport localTransport = this.mTransport; + return localTransport; + } + } + + public void onChange(boolean paramBoolean) {} + + public void onChange(boolean paramBoolean, Uri paramUri) + { + onChange(paramBoolean); + } + + public IContentObserver releaseContentObserver() + { + synchronized (this.mLock) + { + Transport localTransport = this.mTransport; + if (localTransport != null) + { + localTransport.releaseContentObserver(); + this.mTransport = null; + } + return localTransport; + } + } + + private final class NotificationRunnable + implements Runnable + { + private final boolean mSelfChange; + private final Uri mUri; + + public NotificationRunnable(boolean paramBoolean, Uri paramUri) + { + this.mSelfChange = paramBoolean; + this.mUri = paramUri; + } + + public void run() + { + ContentObserver.this.onChange(this.mSelfChange, this.mUri); + } + } + + private static final class Transport + extends IContentObserver.Stub + { + private ContentObserver mContentObserver; + + public Transport(ContentObserver paramContentObserver) + { + this.mContentObserver = paramContentObserver; + } + + public void onChange(boolean paramBoolean, Uri paramUri) + { + ContentObserver localContentObserver = this.mContentObserver; + if (localContentObserver != null) { + localContentObserver.dispatchChanges(paramBoolean, paramUri); + } + } + + public void releaseContentObserver() + { + this.mContentObserver = null; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.ContentObserver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursor.java new file mode 100755 index 00000000000..e1fe37a5d67 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursor.java @@ -0,0 +1,17 @@ +package com.tencent.kingkong; + +public abstract interface CrossProcessCursor + extends Cursor +{ + public abstract void fillWindow(int paramInt, CursorWindow paramCursorWindow); + + public abstract CursorWindow getWindow(); + + public abstract boolean onMove(int paramInt1, int paramInt2); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CrossProcessCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursorWrapper.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursorWrapper.java new file mode 100755 index 00000000000..4fd2bd8827a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CrossProcessCursorWrapper.java @@ -0,0 +1,43 @@ +package com.tencent.kingkong; + +public class CrossProcessCursorWrapper + extends CursorWrapper + implements CrossProcessCursor +{ + public CrossProcessCursorWrapper(Cursor paramCursor) + { + super(paramCursor); + } + + public void fillWindow(int paramInt, CursorWindow paramCursorWindow) + { + if ((this.mCursor instanceof CrossProcessCursor)) + { + ((CrossProcessCursor)this.mCursor).fillWindow(paramInt, paramCursorWindow); + return; + } + DatabaseUtils.cursorFillWindow(this.mCursor, paramInt, paramCursorWindow); + } + + public CursorWindow getWindow() + { + if ((this.mCursor instanceof CrossProcessCursor)) { + return ((CrossProcessCursor)this.mCursor).getWindow(); + } + return null; + } + + public boolean onMove(int paramInt1, int paramInt2) + { + if ((this.mCursor instanceof CrossProcessCursor)) { + return ((CrossProcessCursor)this.mCursor).onMove(paramInt1, paramInt2); + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CrossProcessCursorWrapper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Cursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Cursor.java new file mode 100755 index 00000000000..9d653fc2b41 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Cursor.java @@ -0,0 +1,101 @@ +package com.tencent.kingkong; + +import android.content.ContentResolver; +import android.net.Uri; +import android.os.Bundle; + +public abstract interface Cursor + extends android.database.Cursor +{ + public static final int FIELD_TYPE_BLOB = 4; + public static final int FIELD_TYPE_FLOAT = 2; + public static final int FIELD_TYPE_INTEGER = 1; + public static final int FIELD_TYPE_NULL = 0; + public static final int FIELD_TYPE_STRING = 3; + + public abstract void close(); + + public abstract void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer); + + public abstract void deactivate(); + + public abstract byte[] getBlob(int paramInt); + + public abstract int getColumnCount(); + + public abstract int getColumnIndex(String paramString); + + public abstract int getColumnIndexOrThrow(String paramString) + throws IllegalArgumentException; + + public abstract String getColumnName(int paramInt); + + public abstract String[] getColumnNames(); + + public abstract int getCount(); + + public abstract double getDouble(int paramInt); + + public abstract Bundle getExtras(); + + public abstract float getFloat(int paramInt); + + public abstract int getInt(int paramInt); + + public abstract long getLong(int paramInt); + + public abstract int getPosition(); + + public abstract short getShort(int paramInt); + + public abstract String getString(int paramInt); + + public abstract int getType(int paramInt); + + public abstract boolean getWantsAllOnMoveCalls(); + + public abstract boolean isAfterLast(); + + public abstract boolean isBeforeFirst(); + + public abstract boolean isClosed(); + + public abstract boolean isFirst(); + + public abstract boolean isLast(); + + public abstract boolean isNull(int paramInt); + + public abstract boolean move(int paramInt); + + public abstract boolean moveToFirst(); + + public abstract boolean moveToLast(); + + public abstract boolean moveToNext(); + + public abstract boolean moveToPosition(int paramInt); + + public abstract boolean moveToPrevious(); + + public abstract void registerContentObserver(ContentObserver paramContentObserver); + + public abstract void registerDataSetObserver(DataSetObserver paramDataSetObserver); + + @Deprecated + public abstract boolean requery(); + + public abstract Bundle respond(Bundle paramBundle); + + public abstract void setNotificationUri(ContentResolver paramContentResolver, Uri paramUri); + + public abstract void unregisterContentObserver(ContentObserver paramContentObserver); + + public abstract void unregisterDataSetObserver(DataSetObserver paramDataSetObserver); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Cursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorIndexOutOfBoundsException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorIndexOutOfBoundsException.java new file mode 100755 index 00000000000..753ef8f0cfe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorIndexOutOfBoundsException.java @@ -0,0 +1,21 @@ +package com.tencent.kingkong; + +public class CursorIndexOutOfBoundsException + extends IndexOutOfBoundsException +{ + public CursorIndexOutOfBoundsException(int paramInt1, int paramInt2) + { + super("Index " + paramInt1 + " requested, with a size of " + paramInt2); + } + + public CursorIndexOutOfBoundsException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorIndexOutOfBoundsException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorJoiner.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorJoiner.java new file mode 100755 index 00000000000..20066500f53 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorJoiner.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorJoiner + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorToBulkCursorAdaptor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorToBulkCursorAdaptor.java new file mode 100755 index 00000000000..9ef947f0e30 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorToBulkCursorAdaptor.java @@ -0,0 +1,274 @@ +package com.tencent.kingkong; + +import android.net.Uri; +import android.os.Bundle; +import android.os.IBinder; +import android.os.IBinder.DeathRecipient; +import android.os.RemoteException; + +public final class CursorToBulkCursorAdaptor + extends BulkCursorNative + implements IBinder.DeathRecipient +{ + private static final String TAG = "Cursor"; + private CrossProcessCursor mCursor; + private CursorWindow mFilledWindow; + private final Object mLock = new Object(); + private ContentObserverProxy mObserver; + private final String mProviderName; + + public CursorToBulkCursorAdaptor(Cursor arg1, IContentObserver paramIContentObserver, String paramString) + { + if ((??? instanceof CrossProcessCursor)) { + this.mCursor = ((CrossProcessCursor)???); + } + for (;;) + { + this.mProviderName = paramString; + synchronized (this.mLock) + { + createAndRegisterObserverProxyLocked(paramIContentObserver); + return; + this.mCursor = new CrossProcessCursorWrapper(???); + } + } + } + + private void closeFilledWindowLocked() + { + if (this.mFilledWindow != null) + { + this.mFilledWindow.close(); + this.mFilledWindow = null; + } + } + + private void createAndRegisterObserverProxyLocked(IContentObserver paramIContentObserver) + { + if (this.mObserver != null) { + throw new IllegalStateException("an observer is already registered"); + } + this.mObserver = new ContentObserverProxy(paramIContentObserver, this); + this.mCursor.registerContentObserver(this.mObserver); + } + + private void disposeLocked() + { + if (this.mCursor != null) + { + unregisterObserverProxyLocked(); + this.mCursor.close(); + this.mCursor = null; + } + closeFilledWindowLocked(); + } + + private void throwIfCursorIsClosed() + { + if (this.mCursor == null) { + throw new StaleDataException("Attempted to access a cursor after it has been closed."); + } + } + + private void unregisterObserverProxyLocked() + { + if (this.mObserver != null) + { + this.mCursor.unregisterContentObserver(this.mObserver); + this.mObserver.unlinkToDeath(this); + this.mObserver = null; + } + } + + public void binderDied() + { + synchronized (this.mLock) + { + disposeLocked(); + return; + } + } + + public void close() + { + synchronized (this.mLock) + { + disposeLocked(); + return; + } + } + + public void deactivate() + { + synchronized (this.mLock) + { + if (this.mCursor != null) + { + unregisterObserverProxyLocked(); + this.mCursor.deactivate(); + } + closeFilledWindowLocked(); + return; + } + } + + public BulkCursorDescriptor getBulkCursorDescriptor() + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + BulkCursorDescriptor localBulkCursorDescriptor = new BulkCursorDescriptor(); + localBulkCursorDescriptor.cursor = this; + localBulkCursorDescriptor.columnNames = this.mCursor.getColumnNames(); + localBulkCursorDescriptor.wantsAllOnMoveCalls = this.mCursor.getWantsAllOnMoveCalls(); + localBulkCursorDescriptor.count = this.mCursor.getCount(); + localBulkCursorDescriptor.window = this.mCursor.getWindow(); + if (localBulkCursorDescriptor.window != null) { + localBulkCursorDescriptor.window.acquireReference(); + } + return localBulkCursorDescriptor; + } + } + + public Bundle getExtras() + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + Bundle localBundle = this.mCursor.getExtras(); + return localBundle; + } + } + + public CursorWindow getWindow(int paramInt) + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + if (!this.mCursor.moveToPosition(paramInt)) + { + closeFilledWindowLocked(); + return null; + } + CursorWindow localCursorWindow1 = this.mCursor.getWindow(); + if (localCursorWindow1 != null) + { + closeFilledWindowLocked(); + if (localCursorWindow1 != null) { + localCursorWindow1.acquireReference(); + } + return localCursorWindow1; + } + } + CursorWindow localCursorWindow2 = this.mFilledWindow; + Object localObject2; + if (localCursorWindow2 == null) + { + this.mFilledWindow = new CursorWindow(this.mProviderName); + localObject2 = this.mFilledWindow; + } + for (;;) + { + this.mCursor.fillWindow(paramInt, (CursorWindow)localObject2); + break; + if (paramInt >= localCursorWindow2.getStartPosition()) + { + localObject2 = localCursorWindow2; + if (paramInt < localCursorWindow2.getStartPosition() + localCursorWindow2.getNumRows()) {} + } + else + { + localCursorWindow2.clear(); + localObject2 = localCursorWindow2; + } + } + } + + public void onMove(int paramInt) + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + this.mCursor.onMove(this.mCursor.getPosition(), paramInt); + return; + } + } + + public int requery(IContentObserver paramIContentObserver) + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + closeFilledWindowLocked(); + try + { + boolean bool = this.mCursor.requery(); + if (!bool) { + return -1; + } + } + catch (IllegalStateException paramIContentObserver) + { + throw new IllegalStateException(this.mProviderName + " Requery misuse db, mCursor isClosed:" + this.mCursor.isClosed(), paramIContentObserver); + } + } + unregisterObserverProxyLocked(); + createAndRegisterObserverProxyLocked(paramIContentObserver); + int i = this.mCursor.getCount(); + return i; + } + + public Bundle respond(Bundle paramBundle) + { + synchronized (this.mLock) + { + throwIfCursorIsClosed(); + paramBundle = this.mCursor.respond(paramBundle); + return paramBundle; + } + } + + private static final class ContentObserverProxy + extends ContentObserver + { + protected IContentObserver mRemote; + + public ContentObserverProxy(IContentObserver paramIContentObserver, IBinder.DeathRecipient paramDeathRecipient) + { + super(); + this.mRemote = paramIContentObserver; + try + { + paramIContentObserver.asBinder().linkToDeath(paramDeathRecipient, 0); + return; + } + catch (RemoteException paramIContentObserver) {} + } + + public boolean deliverSelfNotifications() + { + return false; + } + + public void onChange(boolean paramBoolean, Uri paramUri) + { + try + { + this.mRemote.onChange(paramBoolean, paramUri); + return; + } + catch (RemoteException paramUri) {} + } + + public boolean unlinkToDeath(IBinder.DeathRecipient paramDeathRecipient) + { + return this.mRemote.asBinder().unlinkToDeath(paramDeathRecipient, 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorToBulkCursorAdaptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindow.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindow.java new file mode 100755 index 00000000000..be8673145de --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindow.java @@ -0,0 +1,554 @@ +package com.tencent.kingkong; + +import android.content.res.Resources; +import android.os.Binder; +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import android.os.Process; +import android.util.Log; +import android.util.SparseIntArray; +import com.tencent.kingkong.database.SQLiteClosable; + +public class CursorWindow + extends SQLiteClosable + implements Parcelable +{ + public static final Parcelable.Creator CREATOR; + private static final String STATS_TAG = "CursorWindowStats"; + private static int sCursorWindowSize = Resources.getSystem().getIdentifier("config_cursorWindowSize", "integer", "android"); + private static final SparseIntArray sWindowToPidMap; + private final String mName; + private int mStartPos; + public int mWindowPtr; + + static + { + if (sCursorWindowSize != 0) {} + for (sCursorWindowSize = Resources.getSystem().getInteger(sCursorWindowSize);; sCursorWindowSize = 2048) + { + sCursorWindowSize *= 1024; + CREATOR = new Parcelable.Creator() + { + public CursorWindow createFromParcel(Parcel paramAnonymousParcel) + { + return new CursorWindow(paramAnonymousParcel, null); + } + + public CursorWindow[] newArray(int paramAnonymousInt) + { + return new CursorWindow[paramAnonymousInt]; + } + }; + sWindowToPidMap = new SparseIntArray(); + return; + } + } + + private CursorWindow(Parcel paramParcel) + { + this.mStartPos = paramParcel.readInt(); + this.mWindowPtr = nativeCreateFromParcel(paramParcel); + if (this.mWindowPtr == 0) { + throw new CursorWindowAllocationException("Cursor window could not be created from binder."); + } + this.mName = nativeGetName(this.mWindowPtr); + } + + public CursorWindow(String paramString) + { + this.mStartPos = 0; + if ((paramString != null) && (paramString.length() != 0)) {} + for (;;) + { + this.mName = paramString; + this.mWindowPtr = nativeCreate(this.mName, sCursorWindowSize); + if (this.mWindowPtr != 0) { + break; + } + throw new CursorWindowAllocationException("Cursor window allocation of " + sCursorWindowSize / 1024 + " kb failed. " + printStats()); + paramString = ""; + } + recordNewWindow(Binder.getCallingPid(), this.mWindowPtr); + } + + @Deprecated + public CursorWindow(boolean paramBoolean) + { + this((String)null); + } + + private void dispose() + { + if (this.mWindowPtr != 0) + { + recordClosingOfWindow(this.mWindowPtr); + nativeDispose(this.mWindowPtr); + this.mWindowPtr = 0; + } + } + + private static native boolean nativeAllocRow(int paramInt); + + private static native void nativeClear(int paramInt); + + private static native void nativeCopyStringToBuffer(int paramInt1, int paramInt2, int paramInt3, CharArrayBuffer paramCharArrayBuffer); + + private static native int nativeCreate(String paramString, int paramInt); + + private static native int nativeCreateFromParcel(Parcel paramParcel); + + private static native void nativeDispose(int paramInt); + + private static native void nativeFreeLastRow(int paramInt); + + private static native byte[] nativeGetBlob(int paramInt1, int paramInt2, int paramInt3); + + private static native double nativeGetDouble(int paramInt1, int paramInt2, int paramInt3); + + private static native long nativeGetLong(int paramInt1, int paramInt2, int paramInt3); + + private static native String nativeGetName(int paramInt); + + private static native int nativeGetNumRows(int paramInt); + + private static native String nativeGetString(int paramInt1, int paramInt2, int paramInt3); + + private static native int nativeGetType(int paramInt1, int paramInt2, int paramInt3); + + private static native boolean nativePutBlob(int paramInt1, byte[] paramArrayOfByte, int paramInt2, int paramInt3); + + private static native boolean nativePutDouble(int paramInt1, double paramDouble, int paramInt2, int paramInt3); + + private static native boolean nativePutLong(int paramInt1, long paramLong, int paramInt2, int paramInt3); + + private static native boolean nativePutNull(int paramInt1, int paramInt2, int paramInt3); + + private static native boolean nativePutString(int paramInt1, String paramString, int paramInt2, int paramInt3); + + private static native boolean nativeSetNumColumns(int paramInt1, int paramInt2); + + private static native void nativeWriteToParcel(int paramInt, Parcel paramParcel); + + public static CursorWindow newFromParcel(Parcel paramParcel) + { + return (CursorWindow)CREATOR.createFromParcel(paramParcel); + } + + private String printStats() + { + StringBuilder localStringBuilder = new StringBuilder(); + int k = Process.myPid(); + int j = 0; + SparseIntArray localSparseIntArray = new SparseIntArray(); + for (;;) + { + int n; + synchronized (sWindowToPidMap) + { + int m = sWindowToPidMap.size(); + if (m != 0) { + break label283; + } + return ""; + if (i < m) + { + n = sWindowToPidMap.valueAt(i); + localSparseIntArray.put(n, localSparseIntArray.get(n) + 1); + i += 1; + continue; + } + m = localSparseIntArray.size(); + i = 0; + if (i >= m) { + break label226; + } + localStringBuilder.append(" (# cursors opened by "); + n = localSparseIntArray.keyAt(i); + if (n == k) + { + localStringBuilder.append("this proc="); + n = localSparseIntArray.get(n); + localStringBuilder.append(n + ")"); + j += n; + i += 1; + } + } + localObject2.append("pid " + n + "="); + continue; + label226: + if (localObject2.length() > 980) {} + for (??? = localObject2.substring(0, 980);; ??? = localObject2.toString()) { + return "# Open Cursors=" + j + (String)???; + } + label283: + int i = 0; + } + } + + private void recordClosingOfWindow(int paramInt) + { + synchronized (sWindowToPidMap) + { + if (sWindowToPidMap.size() == 0) { + return; + } + sWindowToPidMap.delete(paramInt); + return; + } + } + + private void recordNewWindow(int paramInt1, int paramInt2) + { + synchronized (sWindowToPidMap) + { + sWindowToPidMap.put(paramInt2, paramInt1); + if (Log.isLoggable("CursorWindowStats", 2)) { + Log.i("CursorWindowStats", "Created a new Cursor. " + printStats()); + } + return; + } + } + + public boolean allocRow() + { + acquireReference(); + try + { + boolean bool = nativeAllocRow(this.mWindowPtr); + return bool; + } + finally + { + releaseReference(); + } + } + + public void clear() + { + acquireReference(); + try + { + this.mStartPos = 0; + nativeClear(this.mWindowPtr); + return; + } + finally + { + releaseReference(); + } + } + + public void copyStringToBuffer(int paramInt1, int paramInt2, CharArrayBuffer paramCharArrayBuffer) + { + if (paramCharArrayBuffer == null) { + throw new IllegalArgumentException("CharArrayBuffer should not be null"); + } + acquireReference(); + try + { + nativeCopyStringToBuffer(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2, paramCharArrayBuffer); + return; + } + finally + { + releaseReference(); + } + } + + public int describeContents() + { + return 0; + } + + protected void finalize() + throws Throwable + { + try + { + dispose(); + return; + } + finally + { + super.finalize(); + } + } + + public void freeLastRow() + { + acquireReference(); + try + { + nativeFreeLastRow(this.mWindowPtr); + return; + } + finally + { + releaseReference(); + } + } + + public byte[] getBlob(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + byte[] arrayOfByte = nativeGetBlob(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return arrayOfByte; + } + finally + { + releaseReference(); + } + } + + public double getDouble(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + double d = nativeGetDouble(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return d; + } + finally + { + releaseReference(); + } + } + + public float getFloat(int paramInt1, int paramInt2) + { + return (float)getDouble(paramInt1, paramInt2); + } + + public int getInt(int paramInt1, int paramInt2) + { + return (int)getLong(paramInt1, paramInt2); + } + + public long getLong(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + long l = nativeGetLong(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return l; + } + finally + { + releaseReference(); + } + } + + public String getName() + { + return this.mName; + } + + public int getNumRows() + { + acquireReference(); + try + { + int i = nativeGetNumRows(this.mWindowPtr); + return i; + } + finally + { + releaseReference(); + } + } + + public short getShort(int paramInt1, int paramInt2) + { + return (short)(int)getLong(paramInt1, paramInt2); + } + + public int getStartPosition() + { + return this.mStartPos; + } + + public String getString(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + String str = nativeGetString(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return str; + } + finally + { + releaseReference(); + } + } + + public int getType(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + paramInt1 = nativeGetType(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return paramInt1; + } + finally + { + releaseReference(); + } + } + + @Deprecated + public boolean isBlob(int paramInt1, int paramInt2) + { + paramInt1 = getType(paramInt1, paramInt2); + return (paramInt1 == 4) || (paramInt1 == 0); + } + + @Deprecated + public boolean isFloat(int paramInt1, int paramInt2) + { + return getType(paramInt1, paramInt2) == 2; + } + + @Deprecated + public boolean isLong(int paramInt1, int paramInt2) + { + return getType(paramInt1, paramInt2) == 1; + } + + @Deprecated + public boolean isNull(int paramInt1, int paramInt2) + { + return getType(paramInt1, paramInt2) == 0; + } + + @Deprecated + public boolean isString(int paramInt1, int paramInt2) + { + paramInt1 = getType(paramInt1, paramInt2); + return (paramInt1 == 3) || (paramInt1 == 0); + } + + protected void onAllReferencesReleased() + { + dispose(); + } + + public boolean putBlob(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + acquireReference(); + try + { + boolean bool = nativePutBlob(this.mWindowPtr, paramArrayOfByte, paramInt1 - this.mStartPos, paramInt2); + return bool; + } + finally + { + releaseReference(); + } + } + + public boolean putDouble(double paramDouble, int paramInt1, int paramInt2) + { + acquireReference(); + try + { + boolean bool = nativePutDouble(this.mWindowPtr, paramDouble, paramInt1 - this.mStartPos, paramInt2); + return bool; + } + finally + { + releaseReference(); + } + } + + public boolean putLong(long paramLong, int paramInt1, int paramInt2) + { + acquireReference(); + try + { + boolean bool = nativePutLong(this.mWindowPtr, paramLong, paramInt1 - this.mStartPos, paramInt2); + return bool; + } + finally + { + releaseReference(); + } + } + + public boolean putNull(int paramInt1, int paramInt2) + { + acquireReference(); + try + { + boolean bool = nativePutNull(this.mWindowPtr, paramInt1 - this.mStartPos, paramInt2); + return bool; + } + finally + { + releaseReference(); + } + } + + public boolean putString(String paramString, int paramInt1, int paramInt2) + { + acquireReference(); + try + { + boolean bool = nativePutString(this.mWindowPtr, paramString, paramInt1 - this.mStartPos, paramInt2); + return bool; + } + finally + { + releaseReference(); + } + } + + public boolean setNumColumns(int paramInt) + { + acquireReference(); + try + { + boolean bool = nativeSetNumColumns(this.mWindowPtr, paramInt); + return bool; + } + finally + { + releaseReference(); + } + } + + public void setStartPosition(int paramInt) + { + this.mStartPos = paramInt; + } + + public String toString() + { + return getName() + " {" + Integer.toHexString(this.mWindowPtr) + "}"; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + acquireReference(); + try + { + paramParcel.writeInt(this.mStartPos); + nativeWriteToParcel(this.mWindowPtr, paramParcel); + releaseReference(); + if ((paramInt & 0x1) != 0) {} + return; + } + finally + { + releaseReference(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorWindow + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindowAllocationException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindowAllocationException.java new file mode 100755 index 00000000000..9448a04883c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWindowAllocationException.java @@ -0,0 +1,16 @@ +package com.tencent.kingkong; + +public class CursorWindowAllocationException + extends RuntimeException +{ + public CursorWindowAllocationException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorWindowAllocationException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWrapper.java b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWrapper.java new file mode 100755 index 00000000000..1f60bf17a4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/CursorWrapper.java @@ -0,0 +1,233 @@ +package com.tencent.kingkong; + +import android.content.ContentResolver; +import android.net.Uri; +import android.os.Bundle; + +public class CursorWrapper + implements Cursor +{ + protected final Cursor mCursor; + + public CursorWrapper(Cursor paramCursor) + { + this.mCursor = paramCursor; + } + + public void close() + { + this.mCursor.close(); + } + + public void copyStringToBuffer(int paramInt, android.database.CharArrayBuffer paramCharArrayBuffer) {} + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) + { + this.mCursor.copyStringToBuffer(paramInt, paramCharArrayBuffer); + } + + public void deactivate() + { + this.mCursor.deactivate(); + } + + public byte[] getBlob(int paramInt) + { + return this.mCursor.getBlob(paramInt); + } + + public int getColumnCount() + { + return this.mCursor.getColumnCount(); + } + + public int getColumnIndex(String paramString) + { + return this.mCursor.getColumnIndex(paramString); + } + + public int getColumnIndexOrThrow(String paramString) + throws IllegalArgumentException + { + return this.mCursor.getColumnIndexOrThrow(paramString); + } + + public String getColumnName(int paramInt) + { + return this.mCursor.getColumnName(paramInt); + } + + public String[] getColumnNames() + { + return this.mCursor.getColumnNames(); + } + + public int getCount() + { + return this.mCursor.getCount(); + } + + public double getDouble(int paramInt) + { + return this.mCursor.getDouble(paramInt); + } + + public Bundle getExtras() + { + return this.mCursor.getExtras(); + } + + public float getFloat(int paramInt) + { + return this.mCursor.getFloat(paramInt); + } + + public int getInt(int paramInt) + { + return this.mCursor.getInt(paramInt); + } + + public long getLong(int paramInt) + { + return this.mCursor.getLong(paramInt); + } + + public int getPosition() + { + return this.mCursor.getPosition(); + } + + public short getShort(int paramInt) + { + return this.mCursor.getShort(paramInt); + } + + public String getString(int paramInt) + { + return this.mCursor.getString(paramInt); + } + + public int getType(int paramInt) + { + return this.mCursor.getType(paramInt); + } + + public boolean getWantsAllOnMoveCalls() + { + return this.mCursor.getWantsAllOnMoveCalls(); + } + + public Cursor getWrappedCursor() + { + return this.mCursor; + } + + public boolean isAfterLast() + { + return this.mCursor.isAfterLast(); + } + + public boolean isBeforeFirst() + { + return this.mCursor.isBeforeFirst(); + } + + public boolean isClosed() + { + return this.mCursor.isClosed(); + } + + public boolean isFirst() + { + return this.mCursor.isFirst(); + } + + public boolean isLast() + { + return this.mCursor.isLast(); + } + + public boolean isNull(int paramInt) + { + return this.mCursor.isNull(paramInt); + } + + public boolean move(int paramInt) + { + return this.mCursor.move(paramInt); + } + + public boolean moveToFirst() + { + return this.mCursor.moveToFirst(); + } + + public boolean moveToLast() + { + return this.mCursor.moveToLast(); + } + + public boolean moveToNext() + { + return this.mCursor.moveToNext(); + } + + public boolean moveToPosition(int paramInt) + { + return this.mCursor.moveToPosition(paramInt); + } + + public boolean moveToPrevious() + { + return this.mCursor.moveToPrevious(); + } + + public void registerContentObserver(android.database.ContentObserver paramContentObserver) {} + + public void registerContentObserver(ContentObserver paramContentObserver) + { + this.mCursor.registerContentObserver(paramContentObserver); + } + + public void registerDataSetObserver(android.database.DataSetObserver paramDataSetObserver) {} + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mCursor.registerDataSetObserver(paramDataSetObserver); + } + + public boolean requery() + { + return this.mCursor.requery(); + } + + public Bundle respond(Bundle paramBundle) + { + return this.mCursor.respond(paramBundle); + } + + public void setNotificationUri(ContentResolver paramContentResolver, Uri paramUri) + { + this.mCursor.setNotificationUri(paramContentResolver, paramUri); + } + + public void unregisterContentObserver(android.database.ContentObserver paramContentObserver) {} + + public void unregisterContentObserver(ContentObserver paramContentObserver) + { + this.mCursor.unregisterContentObserver(paramContentObserver); + } + + public void unregisterDataSetObserver(android.database.DataSetObserver paramDataSetObserver) {} + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) + { + this.mCursor.unregisterDataSetObserver(paramDataSetObserver); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.CursorWrapper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DataReport.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DataReport.java new file mode 100755 index 00000000000..c22d443950d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DataReport.java @@ -0,0 +1,1041 @@ +package com.tencent.kingkong; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.hardware.Sensor; +import android.hardware.SensorManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.Proxy; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Environment; +import android.os.StatFs; +import android.provider.Settings.Secure; +import android.telephony.CellIdentityCdma; +import android.telephony.CellIdentityGsm; +import android.telephony.CellIdentityLte; +import android.telephony.CellIdentityWcdma; +import android.telephony.CellInfo; +import android.telephony.CellInfoCdma; +import android.telephony.CellInfoGsm; +import android.telephony.CellInfoLte; +import android.telephony.CellInfoWcdma; +import android.telephony.TelephonyManager; +import android.telephony.cdma.CdmaCellLocation; +import android.telephony.gsm.GsmCellLocation; +import android.text.TextUtils; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.WindowManager; +import java.io.File; +import java.lang.reflect.Method; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.Enumeration; +import java.util.List; + +@SuppressLint({"NewApi"}) +public class DataReport +{ + private static ConnectivityManager mConnectivetyManager; + private static Context mContext; + private static PackageManager mPackageManager = null; + private static String mQQUni = "0"; + private static SensorManager mSensorManager = null; + private static TelephonyManager mTelephonyManager = null; + private static WifiManager mWifiManager; + + static + { + mConnectivetyManager = null; + mWifiManager = null; + } + + private static String formatCellInfo(String paramString) + { + String str = null; + Object localObject = null; + if (paramString != null) + { + str = paramString.trim(); + paramString = localObject; + if (str.length() != 0) { + paramString = str; + } + if (paramString.charAt(0) == '"') { + return paramString; + } + if (paramString.charAt(0) == '[') { + return paramString; + } + if (paramString.charAt(0) == '{') { + return paramString; + } + str = "\"" + paramString + "\""; + } + return str; + } + + public static String getAccelerometerName() + { + Object localObject2 = null; + try + { + Object localObject3 = getSensorManager(); + Object localObject1 = localObject2; + if (localObject3 != null) + { + localObject3 = ((SensorManager)localObject3).getDefaultSensor(1); + localObject1 = localObject2; + if (localObject3 != null) { + localObject1 = ((Sensor)localObject3).getName(); + } + } + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getAccelerometerVendor() + { + Object localObject2 = null; + try + { + Object localObject3 = getSensorManager(); + Object localObject1 = localObject2; + if (localObject3 != null) + { + localObject3 = ((SensorManager)localObject3).getDefaultSensor(1); + localObject1 = localObject2; + if (localObject3 != null) { + localObject1 = ((Sensor)localObject3).getVendor(); + } + } + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getAccessSubtype() + { + try + { + TelephonyManager localTelephonyManager = getTelephonyManager(); + int i; + if (localTelephonyManager != null) { + i = localTelephonyManager.getNetworkType(); + } + switch (i) + { + default: + return "unknown"; + case 1: + case 2: + case 4: + case 7: + case 11: + return "2G"; + case 13: + return "4G"; + } + return "3G"; + } + catch (Exception localException) {} + return null; + } + + public static String getAndroidID() + { + if (mContext == null) { + return null; + } + try + { + String str = Settings.Secure.getString(mContext.getContentResolver(), "android_id"); + return str; + } + catch (Exception localException) {} + return null; + } + + public static String getAppVersion() + { + Object localObject; + if (mContext == null) { + localObject = null; + } + for (;;) + { + return localObject; + try + { + localObject = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0); + if (localObject != null) + { + localObject = ((PackageInfo)localObject).versionName; + boolean bool = TextUtils.isEmpty((CharSequence)localObject); + if (!bool) {} + } + else + { + return null; + } + } + catch (Exception localException) {} + } + return null; + } + + public static int getBatteryLevel() + { + int j = -1; + int i = j; + try + { + if (mContext != null) + { + Intent localIntent = mContext.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED")); + i = j; + if (localIntent != null) { + i = localIntent.getIntExtra("level", -1); + } + } + return i; + } + catch (Exception localException) {} + return -1; + } + + public static int getBatteryTemp() + { + int j = -1; + int i = j; + try + { + if (mContext != null) + { + Intent localIntent = mContext.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED")); + i = j; + if (localIntent != null) { + i = localIntent.getIntExtra("temperature", -1); + } + } + return i; + } + catch (Exception localException) {} + return -1; + } + + public static int getBatteryVoltage() + { + int j = -1; + int i = j; + try + { + if (mContext != null) + { + Intent localIntent = mContext.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED")); + i = j; + if (localIntent != null) { + i = localIntent.getIntExtra("voltage", -1); + } + } + return i; + } + catch (Exception localException) {} + return -1; + } + + public static String getBrand() + { + return Build.BRAND; + } + + public static String getCarrier() + { + try + { + Object localObject = getTelephonyManager(); + if (localObject != null) + { + localObject = ((TelephonyManager)localObject).getNetworkOperatorName(); + boolean bool = TextUtils.isEmpty((CharSequence)localObject); + if (!bool) { + return localObject; + } + } + } + catch (Exception localException) + { + return null; + } + return null; + } + + private static String getCellIdentity(CellInfo paramCellInfo) + { + Object localObject2 = null; + Object localObject1; + if ((paramCellInfo instanceof CellInfoCdma)) + { + paramCellInfo = ((CellInfoCdma)paramCellInfo).getCellIdentity(); + localObject1 = localObject2; + if (paramCellInfo != null) + { + i = paramCellInfo.getBasestationId(); + localObject1 = String.format("{\"cellType\":\"%s\", \"param\":{\"lat\":%d, \"lon\":%d, \"bid\":%d, \"nid\":%d, \"sid\":%d}}", new Object[] { "CDMA", Integer.valueOf(paramCellInfo.getLatitude()), Integer.valueOf(paramCellInfo.getLongitude()), Integer.valueOf(i), Integer.valueOf(paramCellInfo.getNetworkId()), Integer.valueOf(paramCellInfo.getSystemId()) }); + } + } + do + { + do + { + do + { + do + { + return localObject1; + if ((Build.VERSION.SDK_INT < 18) || (!(paramCellInfo instanceof CellInfoWcdma))) { + break; + } + paramCellInfo = ((CellInfoWcdma)paramCellInfo).getCellIdentity(); + localObject1 = localObject2; + } while (paramCellInfo == null); + i = paramCellInfo.getCid(); + return String.format("{\"cellType\":\"%s\", \"param\":{\"lac\":%d, \"cid\":%d, \"mnc\":%d, \"mcc\":%d}}", new Object[] { "WCDMA", Integer.valueOf(paramCellInfo.getLac()), Integer.valueOf(i), Integer.valueOf(paramCellInfo.getMnc()), Integer.valueOf(paramCellInfo.getMcc()) }); + if (!(paramCellInfo instanceof CellInfoGsm)) { + break; + } + paramCellInfo = ((CellInfoGsm)paramCellInfo).getCellIdentity(); + localObject1 = localObject2; + } while (paramCellInfo == null); + i = paramCellInfo.getCid(); + return String.format("{\"cellType\":\"%s\", \"param\":{\"lac\":%d, \"cid\":%d, \"mnc\":%d, \"mcc\":%d}}", new Object[] { "GSM", Integer.valueOf(paramCellInfo.getLac()), Integer.valueOf(i), Integer.valueOf(paramCellInfo.getMnc()), Integer.valueOf(paramCellInfo.getMcc()) }); + localObject1 = localObject2; + } while (!(paramCellInfo instanceof CellInfoLte)); + paramCellInfo = ((CellInfoLte)paramCellInfo).getCellIdentity(); + localObject1 = localObject2; + } while (paramCellInfo == null); + int i = paramCellInfo.getCi(); + return String.format("{\"cellType\":\"%s\", \"param\":{\"tac\":%d, \"cid\":%d, \"mnc\":%d, \"mcc\":%d}}", new Object[] { "LTE", Integer.valueOf(paramCellInfo.getTac()), Integer.valueOf(i), Integer.valueOf(paramCellInfo.getMnc()), Integer.valueOf(paramCellInfo.getMcc()) }); + } + + public static String getCellInfo() + { + Object localObject3 = null; + label256: + label266: + label268: + label273: + for (;;) + { + int j; + int i; + try + { + TelephonyManager localTelephonyManager = getTelephonyManager(); + if (localTelephonyManager != null) + { + Object localObject1 = localObject3; + List localList; + if (Build.VERSION.SDK_INT >= 17) + { + localList = localTelephonyManager.getAllCellInfo(); + localObject1 = localObject3; + if (localList != null) + { + localObject1 = localObject3; + if (localList.size() != 0) + { + j = localList.size(); + i = 0; + break label256; + } + } + } + if (localObject1 != null) { + break label266; + } + localObject1 = localTelephonyManager.getCellLocation(); + if (localObject1 == null) + { + return null; + localObject1 = (CellInfo)localList.get(i); + if (!((CellInfo)localObject1).isRegistered()) { + break label268; + } + localObject1 = formatCellInfo(getCellIdentity((CellInfo)localObject1)); + continue; + } + if ((localObject1 instanceof GsmCellLocation)) + { + localObject1 = String.format("{\"cellType\":\"GSM\", \"param\":{\"lac\":%d, \"cid\":%d}}", new Object[] { Integer.valueOf(((GsmCellLocation)localObject1).getLac()), Integer.valueOf(((GsmCellLocation)localObject1).getCid()) }); + return formatCellInfo((String)localObject1); + } + if ((localObject1 instanceof CdmaCellLocation)) + { + localObject1 = String.format("{\"cellType\":\"CDMA\", \"param\":{\"lat\":%d, \"lon\":%d, \"bid\":%d, \"nid\":%d, \"sid\":%d}}", new Object[] { Integer.valueOf(((CdmaCellLocation)localObject1).getBaseStationLatitude()), Integer.valueOf(((CdmaCellLocation)localObject1).getBaseStationLongitude()), Integer.valueOf(((CdmaCellLocation)localObject1).getBaseStationId()), Integer.valueOf(((CdmaCellLocation)localObject1).getNetworkId()), Integer.valueOf(((CdmaCellLocation)localObject1).getSystemId()) }); + continue; + } + localObject1 = null; + continue; + } + else + { + return null; + } + } + catch (Exception localException) + { + localException.printStackTrace(); + return null; + } + for (;;) + { + if (i < j) { + break label273; + } + Object localObject2 = localObject3; + break; + return localObject2; + i += 1; + } + } + } + + private static ConnectivityManager getConnectivityManager() + { + try + { + if ((mContext != null) && (mConnectivetyManager == null)) { + mConnectivetyManager = (ConnectivityManager)mContext.getSystemService("connectivity"); + } + ConnectivityManager localConnectivityManager = mConnectivetyManager; + return localConnectivityManager; + } + finally {} + } + + public static String getDeviceId() + { + try + { + Object localObject = getTelephonyManager(); + if (localObject != null) + { + localObject = ((TelephonyManager)localObject).getDeviceId(); + boolean bool = TextUtils.isEmpty((CharSequence)localObject); + if (!bool) { + return localObject; + } + } + } + catch (Exception localException) + { + return null; + } + return null; + } + + public static String getGravityName() + { + Object localObject2 = null; + try + { + Object localObject3 = getSensorManager(); + Object localObject1 = localObject2; + if (localObject3 != null) + { + localObject3 = ((SensorManager)localObject3).getDefaultSensor(9); + localObject1 = localObject2; + if (localObject3 != null) { + localObject1 = ((Sensor)localObject3).getName(); + } + } + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getGravityVendor() + { + Object localObject2 = null; + try + { + Object localObject3 = getSensorManager(); + Object localObject1 = localObject2; + if (localObject3 != null) + { + localObject3 = ((SensorManager)localObject3).getDefaultSensor(9); + localObject1 = localObject2; + if (localObject3 != null) { + localObject1 = ((Sensor)localObject3).getVendor(); + } + } + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getHardware() + { + return Build.HARDWARE; + } + + public static String getImsi() + { + try + { + Object localObject = getTelephonyManager(); + if (localObject != null) + { + localObject = ((TelephonyManager)localObject).getSubscriberId(); + boolean bool = TextUtils.isEmpty((CharSequence)localObject); + if (!bool) { + return localObject; + } + } + } + catch (Exception localException) + { + return null; + } + return null; + } + + public static String getIpAddr() + { + try + { + Object localObject1 = getConnectivityManager(); + if (localObject1 != null) + { + Object localObject2 = ((ConnectivityManager)localObject1).getActiveNetworkInfo(); + if ((localObject2 != null) && (((NetworkInfo)localObject2).isAvailable())) + { + localObject2 = ((ConnectivityManager)localObject1).getNetworkInfo(1); + if ((localObject2 != null) && (((NetworkInfo)localObject2).isAvailable())) + { + localObject2 = getWifiManager(); + if ((localObject2 != null) && (((WifiManager)localObject2).isWifiEnabled())) + { + int i = ((WifiManager)localObject2).getConnectionInfo().getIpAddress(); + return (i & 0xFF) + "." + (i >> 8 & 0xFF) + "." + (i >> 16 & 0xFF) + "." + (i >> 24 & 0xFF); + } + } + localObject1 = ((ConnectivityManager)localObject1).getNetworkInfo(0); + if ((localObject1 != null) && (((NetworkInfo)localObject1).isAvailable())) + { + InetAddress localInetAddress; + do + { + localObject1 = NetworkInterface.getNetworkInterfaces(); + while (!((Enumeration)localObject2).hasMoreElements()) + { + if (!((Enumeration)localObject1).hasMoreElements()) { + break; + } + localObject2 = ((NetworkInterface)((Enumeration)localObject1).nextElement()).getInetAddresses(); + } + localInetAddress = (InetAddress)((Enumeration)localObject2).nextElement(); + } while (localInetAddress.isLoopbackAddress()); + localObject1 = localInetAddress.getHostAddress().toString(); + return localObject1; + } + } + } + } + catch (Exception localException) {} + return null; + } + + public static String getLocalMacAddress() + { + Object localObject2 = null; + try + { + Object localObject3 = getWifiManager(); + Object localObject1 = localObject2; + if (localObject3 != null) + { + localObject3 = ((WifiManager)localObject3).getConnectionInfo(); + localObject1 = localObject2; + if (localObject3 != null) { + localObject1 = ((WifiInfo)localObject3).getMacAddress(); + } + } + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getModel() + { + return Build.MODEL; + } + + public static String getNetworkType() + { + try + { + localObject = getConnectivityManager(); + if (localObject == null) { + break label67; + } + localObject = ((ConnectivityManager)localObject).getActiveNetworkInfo(); + if ((localObject == null) || (!((NetworkInfo)localObject).isConnected())) { + break label67; + } + switch (((NetworkInfo)localObject).getType()) + { + case 1: + return ((NetworkInfo)localObject).getTypeName(); + } + } + catch (Exception localException) + { + Object localObject; + return null; + } + localObject = ((NetworkInfo)localObject).getSubtypeName(); + return localObject; + label67: + return null; + } + + public static int getOSSDK() + { + return Build.VERSION.SDK_INT; + } + + public static String getOSVersion() + { + return Build.VERSION.RELEASE; + } + + private static PackageManager getPackageManager() + { + try + { + if ((mContext != null) && (mPackageManager == null)) { + mPackageManager = mContext.getPackageManager(); + } + PackageManager localPackageManager = mPackageManager; + return localPackageManager; + } + finally {} + } + + public static String getPackageName() + { + if (mContext == null) { + return null; + } + try + { + if (!TextUtils.isEmpty(mContext.getPackageName())) { + return "com.tencent.token"; + } + } + catch (Exception localException) + { + return null; + } + return null; + } + + public static String getQQUin() + { + if (!mQQUni.equals("0")) { + return mQQUni; + } + if (mContext != null) { + return mContext.getSharedPreferences("SHARED_PREFERENCE_KINGKONG_PATCH", 0).getString("QQUni", "0"); + } + return mQQUni; + } + + public static String getResolution() + { + try + { + if (mContext == null) { + return null; + } + Object localObject1 = (WindowManager)mContext.getSystemService("window"); + Object localObject2 = new DisplayMetrics(); + localObject1 = ((WindowManager)localObject1).getDefaultDisplay(); + if (Build.VERSION.SDK_INT >= 17) + { + ((Display)localObject1).getRealMetrics((DisplayMetrics)localObject2); + return ((DisplayMetrics)localObject2).heightPixels + "*" + ((DisplayMetrics)localObject2).widthPixels; + } + localObject2 = Display.class.getMethod("getRawWidth", new Class[0]); + Method localMethod = Display.class.getMethod("getRawHeight", new Class[0]); + localObject1 = localMethod.invoke(localObject1, new Object[0]) + "*" + ((Method)localObject2).invoke(localObject1, new Object[0]); + return localObject1; + } + catch (Exception localException) {} + return null; + } + + public static String getRomTotal() + { + try + { + Object localObject = Environment.getDataDirectory(); + if (localObject != null) + { + if (((File)localObject).getAbsolutePath().length() == 0) { + return null; + } + localObject = new StatFs(((File)localObject).getPath()); + if (Build.VERSION.SDK_INT < 18) { + return ((StatFs)localObject).getBlockCount() * ((StatFs)localObject).getBlockSize(); + } + localObject = localObject.getClass().getDeclaredMethod("getTotalBytes", new Class[0]).invoke(localObject, new Object[0]); + if (localObject != null) + { + localObject = ((Long)localObject).toString(); + return localObject; + } + } + } + catch (Exception localException) {} + return null; + } + + public static String getSDCardTotal() + { + try + { + if (!"mounted".equals(Environment.getExternalStorageState())) { + return null; + } + Object localObject = Environment.getExternalStorageDirectory(); + if ((localObject != null) && (((File)localObject).getAbsolutePath().length() != 0)) + { + localObject = new StatFs(((File)localObject).getPath()); + if (Build.VERSION.SDK_INT < 18) { + return ((StatFs)localObject).getBlockCount() * ((StatFs)localObject).getBlockSize(); + } + localObject = localObject.getClass().getDeclaredMethod("getTotalBytes", new Class[0]).invoke(localObject, new Object[0]); + if (localObject != null) + { + localObject = ((Long)localObject).toString(); + return localObject; + } + } + } + catch (Exception localException) {} + return null; + } + + private static SensorManager getSensorManager() + { + try + { + if ((mContext != null) && (mSensorManager == null)) { + mSensorManager = (SensorManager)mContext.getSystemService("sensor"); + } + SensorManager localSensorManager = mSensorManager; + return localSensorManager; + } + finally {} + } + + private static TelephonyManager getTelephonyManager() + { + try + { + if ((mContext != null) && (mTelephonyManager == null)) { + mTelephonyManager = (TelephonyManager)mContext.getSystemService("phone"); + } + TelephonyManager localTelephonyManager = mTelephonyManager; + return localTelephonyManager; + } + finally {} + } + + private static WifiManager getWifiManager() + { + try + { + if ((mContext != null) && (mWifiManager == null)) { + mWifiManager = (WifiManager)mContext.getSystemService("wifi"); + } + WifiManager localWifiManager = mWifiManager; + return localWifiManager; + } + finally {} + } + + public static boolean isAccelerometerSupported() + { + try + { + Object localObject = getSensorManager(); + if (localObject != null) + { + localObject = ((SensorManager)localObject).getDefaultSensor(1); + if (localObject != null) { + return true; + } + } + } + catch (Exception localException) + { + return false; + } + return false; + } + + public static boolean isBlueToothLeSupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.bluetooth_le"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isBlueToothSupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.bluetooth"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isGpsLocationSupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.location.gps"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isGravitySupported() + { + boolean bool2 = false; + try + { + Object localObject = getSensorManager(); + boolean bool1 = bool2; + if (localObject != null) + { + localObject = ((SensorManager)localObject).getDefaultSensor(9); + bool1 = bool2; + if (localObject != null) { + bool1 = true; + } + } + return bool1; + } + catch (Exception localException) {} + return false; + } + + public static boolean isGyroscopeSupported() + { + boolean bool2 = false; + try + { + Object localObject = getSensorManager(); + boolean bool1 = bool2; + if (localObject != null) + { + localObject = ((SensorManager)localObject).getDefaultSensor(4); + bool1 = bool2; + if (localObject != null) { + bool1 = true; + } + } + return bool1; + } + catch (Exception localException) {} + return false; + } + + public static boolean isNfcSupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.nfc"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isProxyEnabled() + { + String str = null; + try + { + if (Build.VERSION.SDK_INT > 14) { + str = System.getProperty("http.proxyHost"); + } + while (!TextUtils.isEmpty(str)) + { + return true; + if (mContext != null) { + str = Proxy.getHost(mContext); + } + } + return false; + } + catch (Exception localException) {} + } + + public static boolean isRoot() + { + boolean bool3 = true; + try + { + Object localObject1 = Class.forName("android.os.SystemProperties").getMethod("get", new Class[] { String.class }).invoke(null, new Object[] { "ro.secure" }); + if ((localObject1 != null) && ("1".equals(localObject1))) + { + bool1 = bool3; + if (!new File("/system/bin/su").exists()) + { + bool1 = bool3; + if (!new File("/system/xbin/su").exists()) { + bool1 = false; + } + } + return bool1; + } + } + catch (Exception localException) + { + boolean bool2; + do + { + do + { + Object localObject2; + for (;;) + { + localObject2 = null; + } + if ((localObject2 != null) && ("0".equals(localObject2))) {} + for (bool2 = true; bool2; bool2 = false) { + return bool2; + } + bool1 = bool3; + } while (new File("/system/bin/su").exists()); + boolean bool1 = bool3; + } while (new File("/system/xbin/su").exists()); + return bool2; + } + } + + public static boolean isTelephonySupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.telephony"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isUsbAccessorySupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.usb.accessory"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static boolean isWifiSupported() + { + boolean bool = false; + try + { + PackageManager localPackageManager = getPackageManager(); + if (localPackageManager != null) { + bool = localPackageManager.hasSystemFeature("android.hardware.wifi"); + } + return bool; + } + catch (Exception localException) {} + return false; + } + + public static void setContext(Context paramContext) + { + mContext = paramContext; + } + + public static void setQQUni(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + if (mContext != null) + { + SharedPreferences.Editor localEditor = mContext.getSharedPreferences("SHARED_PREFERENCE_KINGKONG_PATCH", 0).edit(); + localEditor.putString("QQUni", paramString); + localEditor.commit(); + } + mQQUni = paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DataReport + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObservable.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObservable.java new file mode 100755 index 00000000000..4605a20b3a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObservable.java @@ -0,0 +1,41 @@ +package com.tencent.kingkong; + +import java.util.ArrayList; + +public class DataSetObservable + extends Observable +{ + public void notifyChanged() + { + synchronized (this.mObservers) + { + int i = this.mObservers.size() - 1; + while (i >= 0) + { + ((DataSetObserver)this.mObservers.get(i)).onChanged(); + i -= 1; + } + return; + } + } + + public void notifyInvalidated() + { + synchronized (this.mObservers) + { + int i = this.mObservers.size() - 1; + while (i >= 0) + { + ((DataSetObserver)this.mObservers.get(i)).onInvalidated(); + i -= 1; + } + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DataSetObservable + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObserver.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObserver.java new file mode 100755 index 00000000000..b02c9e0c161 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DataSetObserver.java @@ -0,0 +1,15 @@ +package com.tencent.kingkong; + +public abstract class DataSetObserver + extends android.database.DataSetObserver +{ + public void onChanged() {} + + public void onInvalidated() {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DataSetObserver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseErrorHandler.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseErrorHandler.java new file mode 100755 index 00000000000..b6b2d52ac5c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseErrorHandler.java @@ -0,0 +1,14 @@ +package com.tencent.kingkong; + +import com.tencent.kingkong.database.SQLiteDatabase; + +public abstract interface DatabaseErrorHandler +{ + public abstract void onCorruption(SQLiteDatabase paramSQLiteDatabase); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DatabaseErrorHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseUtils.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseUtils.java new file mode 100755 index 00000000000..2fce688c747 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DatabaseUtils.java @@ -0,0 +1,1204 @@ +package com.tencent.kingkong; + +import android.content.ContentValues; +import android.content.OperationApplicationException; +import android.os.Parcel; +import android.os.ParcelFileDescriptor; +import android.text.TextUtils; +import android.util.Log; +import com.tencent.kingkong.database.SQLiteAbortException; +import com.tencent.kingkong.database.SQLiteConstraintException; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.kingkong.database.SQLiteDatabase.Arithmetic; +import com.tencent.kingkong.database.SQLiteDatabase.LockedDevice; +import com.tencent.kingkong.database.SQLiteDatabaseCorruptException; +import com.tencent.kingkong.database.SQLiteDiskIOException; +import com.tencent.kingkong.database.SQLiteException; +import com.tencent.kingkong.database.SQLiteFullException; +import com.tencent.kingkong.database.SQLiteProgram; +import com.tencent.kingkong.database.SQLiteStatement; +import com.tencent.kingkong.support.OperationCanceledException; +import java.io.FileNotFoundException; +import java.io.PrintStream; +import java.text.CollationKey; +import java.text.Collator; +import java.util.HashMap; +import java.util.Locale; + +public class DatabaseUtils +{ + private static final boolean DEBUG = false; + private static final char[] DIGITS = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102 }; + private static final int EX_HAS_REPLY_HEADER = -128; + private static final Locale ROOT = new Locale("", "", ""); + public static final int STATEMENT_ABORT = 6; + public static final int STATEMENT_ATTACH = 3; + public static final int STATEMENT_BEGIN = 4; + public static final int STATEMENT_COMMIT = 5; + public static final int STATEMENT_DDL = 8; + public static final int STATEMENT_OTHER = 99; + public static final int STATEMENT_PRAGMA = 7; + public static final int STATEMENT_SELECT = 1; + public static final int STATEMENT_UNPREPARED = 9; + public static final int STATEMENT_UPDATE = 2; + private static final String TAG = "DatabaseUtils"; + private static Collator mColl = null; + + public static void appendEscapedSQLString(StringBuilder paramStringBuilder, String paramString) + { + paramStringBuilder.append('\''); + if (paramString.indexOf('\'') != -1) + { + int j = paramString.length(); + int i = 0; + while (i < j) + { + char c = paramString.charAt(i); + if (c == '\'') { + paramStringBuilder.append('\''); + } + paramStringBuilder.append(c); + i += 1; + } + } + paramStringBuilder.append(paramString); + paramStringBuilder.append('\''); + } + + public static String[] appendSelectionArgs(String[] paramArrayOfString1, String[] paramArrayOfString2) + { + if ((paramArrayOfString1 == null) || (paramArrayOfString1.length == 0)) { + return paramArrayOfString2; + } + String[] arrayOfString = new String[paramArrayOfString1.length + paramArrayOfString2.length]; + System.arraycopy(paramArrayOfString1, 0, arrayOfString, 0, paramArrayOfString1.length); + System.arraycopy(paramArrayOfString2, 0, arrayOfString, paramArrayOfString1.length, paramArrayOfString2.length); + return arrayOfString; + } + + public static final void appendValueToSql(StringBuilder paramStringBuilder, Object paramObject) + { + if (paramObject == null) + { + paramStringBuilder.append("NULL"); + return; + } + if ((paramObject instanceof Boolean)) + { + if (((Boolean)paramObject).booleanValue()) + { + paramStringBuilder.append('1'); + return; + } + paramStringBuilder.append('0'); + return; + } + appendEscapedSQLString(paramStringBuilder, paramObject.toString()); + } + + public static void bindObjectToProgram(SQLiteProgram paramSQLiteProgram, int paramInt, Object paramObject) + { + if (paramObject == null) + { + paramSQLiteProgram.bindNull(paramInt); + return; + } + if (((paramObject instanceof Double)) || ((paramObject instanceof Float))) + { + paramSQLiteProgram.bindDouble(paramInt, ((Number)paramObject).doubleValue()); + return; + } + if ((paramObject instanceof Number)) + { + paramSQLiteProgram.bindLong(paramInt, ((Number)paramObject).longValue()); + return; + } + if ((paramObject instanceof Boolean)) + { + if (((Boolean)paramObject).booleanValue()) + { + paramSQLiteProgram.bindLong(paramInt, 1L); + return; + } + paramSQLiteProgram.bindLong(paramInt, 0L); + return; + } + if ((paramObject instanceof byte[])) + { + paramSQLiteProgram.bindBlob(paramInt, (byte[])paramObject); + return; + } + paramSQLiteProgram.bindString(paramInt, paramObject.toString()); + } + + public static ParcelFileDescriptor blobFileDescriptorForQuery(SQLiteDatabase paramSQLiteDatabase, String paramString, String[] paramArrayOfString) + { + paramSQLiteDatabase = paramSQLiteDatabase.compileStatement(paramString); + try + { + paramString = blobFileDescriptorForQuery(paramSQLiteDatabase, paramArrayOfString); + return paramString; + } + finally + { + paramSQLiteDatabase.close(); + } + } + + public static ParcelFileDescriptor blobFileDescriptorForQuery(SQLiteStatement paramSQLiteStatement, String[] paramArrayOfString) + { + paramSQLiteStatement.bindAllArgsAsStrings(paramArrayOfString); + return paramSQLiteStatement.simpleQueryForBlobFileDescriptor(); + } + + public static String concatenateWhere(String paramString1, String paramString2) + { + if (TextUtils.isEmpty(paramString1)) { + return paramString2; + } + if (TextUtils.isEmpty(paramString2)) { + return paramString1; + } + return "(" + paramString1 + ") AND (" + paramString2 + ")"; + } + + public static void createDbFromSqlStatements(android.content.Context paramContext, String paramString1, int paramInt, String paramString2) + { + createDbFromSqlStatements(paramContext, paramString1, SQLiteDatabase.LockedDevice.DEFAULT, null, SQLiteDatabase.Arithmetic.UNKNOWN, paramInt, paramString2); + } + + public static void createDbFromSqlStatements(android.content.Context paramContext, String paramString1, SQLiteDatabase.LockedDevice paramLockedDevice, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, int paramInt, String paramString3) + { + paramContext = com.tencent.kingkong.support.Context.openOrCreateDatabase(paramContext, paramString1, paramLockedDevice, paramString2, paramArithmetic, 0, null, false); + paramString1 = TextUtils.split(paramString3, ";\n"); + int j = paramString1.length; + int i = 0; + if (i < j) + { + paramLockedDevice = paramString1[i]; + if (TextUtils.isEmpty(paramLockedDevice)) {} + for (;;) + { + i += 1; + break; + paramContext.execSQL(paramLockedDevice); + } + } + paramContext.setVersion(paramInt); + paramContext.close(); + } + + public static void cursorDoubleToContentValues(Cursor paramCursor, String paramString1, ContentValues paramContentValues, String paramString2) + { + int i = paramCursor.getColumnIndex(paramString1); + if (!paramCursor.isNull(i)) + { + paramContentValues.put(paramString2, Double.valueOf(paramCursor.getDouble(i))); + return; + } + paramContentValues.put(paramString2, (Double)null); + } + + public static void cursorDoubleToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, Double.valueOf(paramCursor.getDouble(i))); + } + } + + public static void cursorDoubleToCursorValues(Cursor paramCursor, String paramString, ContentValues paramContentValues) + { + cursorDoubleToContentValues(paramCursor, paramString, paramContentValues, paramString); + } + + public static void cursorFillWindow(Cursor paramCursor, int paramInt, CursorWindow paramCursorWindow) + { + if ((paramInt < 0) || (paramInt >= paramCursor.getCount())) { + return; + } + int j = paramCursor.getPosition(); + int k = paramCursor.getColumnCount(); + paramCursorWindow.clear(); + paramCursorWindow.setStartPosition(paramInt); + paramCursorWindow.setNumColumns(k); + if (paramCursor.moveToPosition(paramInt)) + { + if (paramCursorWindow.allocRow()) {} + } + else + { + label64: + paramCursor.moveToPosition(j); + return; + } + int i = 0; + for (;;) + { + Object localObject; + boolean bool; + if (i < k) { + switch (paramCursor.getType(i)) + { + case 3: + default: + localObject = paramCursor.getString(i); + if (localObject != null) { + bool = paramCursorWindow.putString((String)localObject, paramInt, i); + } + break; + } + } + for (;;) + { + if (bool) { + break label269; + } + paramCursorWindow.freeLastRow(); + paramInt += 1; + if (paramCursor.moveToNext()) { + break; + } + break label64; + bool = paramCursorWindow.putNull(paramInt, i); + continue; + bool = paramCursorWindow.putLong(paramCursor.getLong(i), paramInt, i); + continue; + bool = paramCursorWindow.putDouble(paramCursor.getDouble(i), paramInt, i); + continue; + localObject = paramCursor.getBlob(i); + if (localObject != null) {} + for (bool = paramCursorWindow.putBlob((byte[])localObject, paramInt, i);; bool = paramCursorWindow.putNull(paramInt, i)) { + break; + } + bool = paramCursorWindow.putNull(paramInt, i); + } + label269: + i += 1; + } + } + + public static void cursorFloatToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, Float.valueOf(paramCursor.getFloat(i))); + } + } + + public static void cursorIntToContentValues(Cursor paramCursor, String paramString, ContentValues paramContentValues) + { + cursorIntToContentValues(paramCursor, paramString, paramContentValues, paramString); + } + + public static void cursorIntToContentValues(Cursor paramCursor, String paramString1, ContentValues paramContentValues, String paramString2) + { + int i = paramCursor.getColumnIndex(paramString1); + if (!paramCursor.isNull(i)) + { + paramContentValues.put(paramString2, Integer.valueOf(paramCursor.getInt(i))); + return; + } + paramContentValues.put(paramString2, (Integer)null); + } + + public static void cursorIntToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, Integer.valueOf(paramCursor.getInt(i))); + } + } + + public static void cursorLongToContentValues(Cursor paramCursor, String paramString, ContentValues paramContentValues) + { + cursorLongToContentValues(paramCursor, paramString, paramContentValues, paramString); + } + + public static void cursorLongToContentValues(Cursor paramCursor, String paramString1, ContentValues paramContentValues, String paramString2) + { + int i = paramCursor.getColumnIndex(paramString1); + if (!paramCursor.isNull(i)) + { + paramContentValues.put(paramString2, Long.valueOf(paramCursor.getLong(i))); + return; + } + paramContentValues.put(paramString2, (Long)null); + } + + public static void cursorLongToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, Long.valueOf(paramCursor.getLong(i))); + } + } + + public static int cursorPickFillWindowStartPosition(int paramInt1, int paramInt2) + { + return Math.max(paramInt1 - paramInt2 / 3, 0); + } + + public static void cursorRowToContentValues(Cursor paramCursor, ContentValues paramContentValues) + { + AbstractWindowedCursor localAbstractWindowedCursor; + String[] arrayOfString; + int i; + if ((paramCursor instanceof AbstractWindowedCursor)) + { + localAbstractWindowedCursor = (AbstractWindowedCursor)paramCursor; + arrayOfString = paramCursor.getColumnNames(); + int j = arrayOfString.length; + i = 0; + label27: + if (i >= j) { + return; + } + if ((localAbstractWindowedCursor == null) || (!localAbstractWindowedCursor.isBlob(i))) { + break label74; + } + paramContentValues.put(arrayOfString[i], paramCursor.getBlob(i)); + } + for (;;) + { + i += 1; + break label27; + localAbstractWindowedCursor = null; + break; + label74: + paramContentValues.put(arrayOfString[i], paramCursor.getString(i)); + } + } + + public static void cursorShortToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, Short.valueOf(paramCursor.getShort(i))); + } + } + + public static void cursorStringToContentValues(Cursor paramCursor, String paramString, ContentValues paramContentValues) + { + cursorStringToContentValues(paramCursor, paramString, paramContentValues, paramString); + } + + public static void cursorStringToContentValues(Cursor paramCursor, String paramString1, ContentValues paramContentValues, String paramString2) + { + paramContentValues.put(paramString2, paramCursor.getString(paramCursor.getColumnIndexOrThrow(paramString1))); + } + + public static void cursorStringToContentValuesIfPresent(Cursor paramCursor, ContentValues paramContentValues, String paramString) + { + int i = paramCursor.getColumnIndex(paramString); + if ((i != -1) && (!paramCursor.isNull(i))) { + paramContentValues.put(paramString, paramCursor.getString(i)); + } + } + + public static void cursorStringToInsertHelper(Cursor paramCursor, String paramString, InsertHelper paramInsertHelper, int paramInt) + { + paramInsertHelper.bind(paramInt, paramCursor.getString(paramCursor.getColumnIndexOrThrow(paramString))); + } + + public static void dumpCurrentRow(Cursor paramCursor) + { + dumpCurrentRow(paramCursor, System.out); + } + + public static void dumpCurrentRow(Cursor paramCursor, PrintStream paramPrintStream) + { + String[] arrayOfString = paramCursor.getColumnNames(); + paramPrintStream.println("" + paramCursor.getPosition() + " {"); + int j = arrayOfString.length; + int i = 0; + for (;;) + { + if (i < j) { + try + { + String str1 = paramCursor.getString(i); + paramPrintStream.println(" " + arrayOfString[i] + '=' + str1); + i += 1; + } + catch (SQLiteException localSQLiteException) + { + for (;;) + { + String str2 = ""; + } + } + } + } + paramPrintStream.println("}"); + } + + public static void dumpCurrentRow(Cursor paramCursor, StringBuilder paramStringBuilder) + { + String[] arrayOfString = paramCursor.getColumnNames(); + paramStringBuilder.append("" + paramCursor.getPosition() + " {\n"); + int j = arrayOfString.length; + int i = 0; + for (;;) + { + if (i < j) { + try + { + String str1 = paramCursor.getString(i); + paramStringBuilder.append(" " + arrayOfString[i] + '=' + str1 + "\n"); + i += 1; + } + catch (SQLiteException localSQLiteException) + { + for (;;) + { + String str2 = ""; + } + } + } + } + paramStringBuilder.append("}\n"); + } + + public static String dumpCurrentRowToString(Cursor paramCursor) + { + StringBuilder localStringBuilder = new StringBuilder(); + dumpCurrentRow(paramCursor, localStringBuilder); + return localStringBuilder.toString(); + } + + public static void dumpCursor(Cursor paramCursor) + { + dumpCursor(paramCursor, System.out); + } + + public static void dumpCursor(Cursor paramCursor, PrintStream paramPrintStream) + { + paramPrintStream.println(">>>>> Dumping cursor " + paramCursor); + if (paramCursor != null) + { + int i = paramCursor.getPosition(); + paramCursor.moveToPosition(-1); + while (paramCursor.moveToNext()) { + dumpCurrentRow(paramCursor, paramPrintStream); + } + paramCursor.moveToPosition(i); + } + paramPrintStream.println("<<<<<"); + } + + public static void dumpCursor(Cursor paramCursor, StringBuilder paramStringBuilder) + { + paramStringBuilder.append(">>>>> Dumping cursor " + paramCursor + "\n"); + if (paramCursor != null) + { + int i = paramCursor.getPosition(); + paramCursor.moveToPosition(-1); + while (paramCursor.moveToNext()) { + dumpCurrentRow(paramCursor, paramStringBuilder); + } + paramCursor.moveToPosition(i); + } + paramStringBuilder.append("<<<<<\n"); + } + + public static String dumpCursorToString(Cursor paramCursor) + { + StringBuilder localStringBuilder = new StringBuilder(); + dumpCursor(paramCursor, localStringBuilder); + return localStringBuilder.toString(); + } + + private static char[] encodeHex(byte[] paramArrayOfByte) + { + int k = paramArrayOfByte.length; + char[] arrayOfChar = new char[k << 1]; + int i = 0; + int j = 0; + while (i < k) + { + int m = j + 1; + arrayOfChar[j] = DIGITS[((paramArrayOfByte[i] & 0xF0) >>> 4)]; + j = m + 1; + arrayOfChar[m] = DIGITS[(paramArrayOfByte[i] & 0xF)]; + i += 1; + } + return arrayOfChar; + } + + public static int findRowIdColumnIndex(String[] paramArrayOfString) + { + int j = paramArrayOfString.length; + int i = 0; + while (i < j) + { + if (paramArrayOfString[i].equals("_id")) { + return i; + } + i += 1; + } + return -1; + } + + public static String getCollationKey(String paramString) + { + paramString = getCollationKeyInBytes(paramString); + try + { + paramString = new String(paramString, 0, getKeyLen(paramString), "ISO8859_1"); + return paramString; + } + catch (Exception paramString) {} + return ""; + } + + private static byte[] getCollationKeyInBytes(String paramString) + { + if (mColl == null) + { + mColl = Collator.getInstance(); + mColl.setStrength(0); + } + return mColl.getCollationKey(paramString).toByteArray(); + } + + public static String getHexCollationKey(String paramString) + { + paramString = getCollationKeyInBytes(paramString); + return new String(encodeHex(paramString), 0, getKeyLen(paramString) * 2); + } + + private static int getKeyLen(byte[] paramArrayOfByte) + { + if (paramArrayOfByte[(paramArrayOfByte.length - 1)] != 0) { + return paramArrayOfByte.length; + } + return paramArrayOfByte.length - 1; + } + + public static int getSqlStatementType(String paramString) + { + paramString = paramString.trim(); + if (paramString.length() < 3) {} + do + { + return 99; + paramString = paramString.substring(0, 3).toUpperCase(ROOT); + if (paramString.equals("SEL")) { + return 1; + } + if ((paramString.equals("INS")) || (paramString.equals("UPD")) || (paramString.equals("REP")) || (paramString.equals("DEL"))) { + return 2; + } + if (paramString.equals("ATT")) { + return 3; + } + if (paramString.equals("COM")) { + return 5; + } + if (paramString.equals("END")) { + return 5; + } + if (paramString.equals("ROL")) { + return 6; + } + if (paramString.equals("BEG")) { + return 4; + } + if (paramString.equals("PRA")) { + return 7; + } + if ((paramString.equals("CRE")) || (paramString.equals("DRO")) || (paramString.equals("ALT"))) { + return 8; + } + } while ((!paramString.equals("ANA")) && (!paramString.equals("DET"))); + return 9; + } + + public static int getTypeOfObject(Object paramObject) + { + if (paramObject == null) { + return 0; + } + if ((paramObject instanceof byte[])) { + return 4; + } + if (((paramObject instanceof Float)) || ((paramObject instanceof Double))) { + return 2; + } + if (((paramObject instanceof Long)) || ((paramObject instanceof Integer)) || ((paramObject instanceof Short)) || ((paramObject instanceof Byte))) { + return 1; + } + return 3; + } + + public static long longForQuery(SQLiteDatabase paramSQLiteDatabase, String paramString, String[] paramArrayOfString) + { + paramSQLiteDatabase = paramSQLiteDatabase.compileStatement(paramString); + try + { + long l = longForQuery(paramSQLiteDatabase, paramArrayOfString); + return l; + } + finally + { + paramSQLiteDatabase.close(); + } + } + + public static long longForQuery(SQLiteStatement paramSQLiteStatement, String[] paramArrayOfString) + { + paramSQLiteStatement.bindAllArgsAsStrings(paramArrayOfString); + return paramSQLiteStatement.simpleQueryForLong(); + } + + public static boolean queryIsEmpty(SQLiteDatabase paramSQLiteDatabase, String paramString) + { + return longForQuery(paramSQLiteDatabase, "select exists(select 1 from " + paramString + ")", null) == 0L; + } + + public static long queryNumEntries(SQLiteDatabase paramSQLiteDatabase, String paramString) + { + return queryNumEntries(paramSQLiteDatabase, paramString, null, null); + } + + public static long queryNumEntries(SQLiteDatabase paramSQLiteDatabase, String paramString1, String paramString2) + { + return queryNumEntries(paramSQLiteDatabase, paramString1, paramString2, null); + } + + public static long queryNumEntries(SQLiteDatabase paramSQLiteDatabase, String paramString1, String paramString2, String[] paramArrayOfString) + { + if (!TextUtils.isEmpty(paramString2)) {} + for (paramString2 = " where " + paramString2;; paramString2 = "") { + return longForQuery(paramSQLiteDatabase, "select count(*) from " + paramString1 + paramString2, paramArrayOfString); + } + } + + private static final int readExceptionCode(Parcel paramParcel) + { + int j = paramParcel.readInt(); + int i = j; + if (j == -128) + { + if (paramParcel.readInt() == 0) { + Log.e("DatabaseUtils", "Unexpected zero-sized Parcel reply header."); + } + i = 0; + } + return i; + } + + public static final void readExceptionFromParcel(Parcel paramParcel) + { + int i = readExceptionCode(paramParcel); + if (i == 0) { + return; + } + readExceptionFromParcel(paramParcel, paramParcel.readString(), i); + } + + private static final void readExceptionFromParcel(Parcel paramParcel, String paramString, int paramInt) + { + switch (paramInt) + { + case 10: + default: + paramParcel.readException(paramInt, paramString); + return; + case 2: + throw new IllegalArgumentException(paramString); + case 3: + throw new UnsupportedOperationException(paramString); + case 4: + throw new SQLiteAbortException(paramString); + case 5: + throw new SQLiteConstraintException(paramString); + case 6: + throw new SQLiteDatabaseCorruptException(paramString); + case 7: + throw new SQLiteFullException(paramString); + case 8: + throw new SQLiteDiskIOException(paramString); + case 9: + throw new SQLiteException(paramString); + } + throw new OperationCanceledException(paramString); + } + + public static void readExceptionWithFileNotFoundExceptionFromParcel(Parcel paramParcel) + throws FileNotFoundException + { + int i = readExceptionCode(paramParcel); + if (i == 0) { + return; + } + String str = paramParcel.readString(); + if (i == 1) { + throw new FileNotFoundException(str); + } + readExceptionFromParcel(paramParcel, str, i); + } + + public static void readExceptionWithOperationApplicationExceptionFromParcel(Parcel paramParcel) + throws OperationApplicationException + { + int i = readExceptionCode(paramParcel); + if (i == 0) { + return; + } + String str = paramParcel.readString(); + if (i == 10) { + throw new OperationApplicationException(str); + } + readExceptionFromParcel(paramParcel, str, i); + } + + public static String sqlEscapeString(String paramString) + { + StringBuilder localStringBuilder = new StringBuilder(); + appendEscapedSQLString(localStringBuilder, paramString); + return localStringBuilder.toString(); + } + + public static String stringForQuery(SQLiteDatabase paramSQLiteDatabase, String paramString, String[] paramArrayOfString) + { + paramSQLiteDatabase = paramSQLiteDatabase.compileStatement(paramString); + try + { + paramString = stringForQuery(paramSQLiteDatabase, paramArrayOfString); + return paramString; + } + finally + { + paramSQLiteDatabase.close(); + } + } + + public static String stringForQuery(SQLiteStatement paramSQLiteStatement, String[] paramArrayOfString) + { + paramSQLiteStatement.bindAllArgsAsStrings(paramArrayOfString); + return paramSQLiteStatement.simpleQueryForString(); + } + + public static final void writeExceptionToParcel(Parcel paramParcel, Exception paramException) + { + int j = 1; + int i; + if ((paramException instanceof FileNotFoundException)) + { + i = 1; + j = 0; + } + for (;;) + { + paramParcel.writeInt(i); + paramParcel.writeString(paramException.getMessage()); + if (j != 0) { + Log.e("DatabaseUtils", "Writing exception to parcel", paramException); + } + return; + if ((paramException instanceof IllegalArgumentException)) + { + i = 2; + } + else if ((paramException instanceof UnsupportedOperationException)) + { + i = 3; + } + else if ((paramException instanceof SQLiteAbortException)) + { + i = 4; + } + else if ((paramException instanceof SQLiteConstraintException)) + { + i = 5; + } + else if ((paramException instanceof SQLiteDatabaseCorruptException)) + { + i = 6; + } + else if ((paramException instanceof SQLiteFullException)) + { + i = 7; + } + else if ((paramException instanceof SQLiteDiskIOException)) + { + i = 8; + } + else if ((paramException instanceof SQLiteException)) + { + i = 9; + } + else if ((paramException instanceof OperationApplicationException)) + { + i = 10; + } + else + { + if (!(paramException instanceof OperationCanceledException)) { + break; + } + i = 11; + j = 0; + } + } + paramParcel.writeException(paramException); + Log.e("DatabaseUtils", "Writing exception to parcel", paramException); + } + + @Deprecated + public static class InsertHelper + { + public static final int TABLE_INFO_PRAGMA_COLUMNNAME_INDEX = 1; + public static final int TABLE_INFO_PRAGMA_DEFAULT_INDEX = 4; + private HashMap mColumns; + private final SQLiteDatabase mDb; + private String mInsertSQL = null; + private SQLiteStatement mInsertStatement = null; + private SQLiteStatement mPreparedStatement = null; + private SQLiteStatement mReplaceStatement = null; + private final String mTableName; + + public InsertHelper(SQLiteDatabase paramSQLiteDatabase, String paramString) + { + this.mDb = paramSQLiteDatabase; + this.mTableName = paramString; + } + + private void buildSQL() + throws SQLException + { + StringBuilder localStringBuilder1 = new StringBuilder(128); + localStringBuilder1.append("INSERT INTO "); + localStringBuilder1.append(this.mTableName); + localStringBuilder1.append(" ("); + StringBuilder localStringBuilder2 = new StringBuilder(128); + localStringBuilder2.append("VALUES ("); + int i = 1; + Object localObject1 = null; + Cursor localCursor; + for (;;) + { + try + { + localCursor = this.mDb.rawQuery("PRAGMA table_info(" + this.mTableName + ")", null); + localObject1 = localCursor; + this.mColumns = new HashMap(localCursor.getCount()); + localObject1 = localCursor; + if (!localCursor.moveToNext()) { + break; + } + localObject1 = localCursor; + String str1 = localCursor.getString(1); + localObject1 = localCursor; + String str3 = localCursor.getString(4); + localObject1 = localCursor; + this.mColumns.put(str1, Integer.valueOf(i)); + localObject1 = localCursor; + localStringBuilder1.append("'"); + localObject1 = localCursor; + localStringBuilder1.append(str1); + localObject1 = localCursor; + localStringBuilder1.append("'"); + if (str3 == null) + { + localObject1 = localCursor; + localStringBuilder2.append("?"); + localObject1 = localCursor; + if (i == localCursor.getCount()) + { + str1 = ") "; + localObject1 = localCursor; + localStringBuilder1.append(str1); + localObject1 = localCursor; + if (i != localCursor.getCount()) { + break label338; + } + str1 = ");"; + localObject1 = localCursor; + localStringBuilder2.append(str1); + i += 1; + } + } + else + { + localObject1 = localCursor; + localStringBuilder2.append("COALESCE(?, "); + localObject1 = localCursor; + localStringBuilder2.append(str3); + localObject1 = localCursor; + localStringBuilder2.append(")"); + continue; + } + str2 = ", "; + } + finally + { + if (localObject1 != null) { + localObject1.close(); + } + } + continue; + label338: + String str2 = ", "; + } + if (localCursor != null) { + localCursor.close(); + } + localStringBuilder1.append(localStringBuilder2); + this.mInsertSQL = localStringBuilder1.toString(); + } + + private SQLiteStatement getStatement(boolean paramBoolean) + throws SQLException + { + if (paramBoolean) + { + if (this.mReplaceStatement == null) + { + if (this.mInsertSQL == null) { + buildSQL(); + } + String str = "INSERT OR REPLACE" + this.mInsertSQL.substring(6); + this.mReplaceStatement = this.mDb.compileStatement(str); + } + return this.mReplaceStatement; + } + if (this.mInsertStatement == null) + { + if (this.mInsertSQL == null) { + buildSQL(); + } + this.mInsertStatement = this.mDb.compileStatement(this.mInsertSQL); + } + return this.mInsertStatement; + } + + /* Error */ + private long insertInternal(ContentValues paramContentValues, boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: getfield 40 com/tencent/kingkong/DatabaseUtils$InsertHelper:mDb Lcom/tencent/kingkong/database/SQLiteDatabase; + // 4: invokevirtual 144 com/tencent/kingkong/database/SQLiteDatabase:beginTransactionNonExclusive ()V + // 7: aload_0 + // 8: iload_2 + // 9: invokespecial 146 com/tencent/kingkong/DatabaseUtils$InsertHelper:getStatement (Z)Lcom/tencent/kingkong/database/SQLiteStatement; + // 12: astore 5 + // 14: aload 5 + // 16: invokevirtual 151 com/tencent/kingkong/database/SQLiteStatement:clearBindings ()V + // 19: aload_1 + // 20: invokevirtual 157 android/content/ContentValues:valueSet ()Ljava/util/Set; + // 23: invokeinterface 163 1 0 + // 28: astore 6 + // 30: aload 6 + // 32: invokeinterface 168 1 0 + // 37: ifeq +96 -> 133 + // 40: aload 6 + // 42: invokeinterface 172 1 0 + // 47: checkcast 174 java/util/Map$Entry + // 50: astore 7 + // 52: aload 5 + // 54: aload_0 + // 55: aload 7 + // 57: invokeinterface 177 1 0 + // 62: checkcast 132 java/lang/String + // 65: invokevirtual 181 com/tencent/kingkong/DatabaseUtils$InsertHelper:getColumnIndex (Ljava/lang/String;)I + // 68: aload 7 + // 70: invokeinterface 184 1 0 + // 75: invokestatic 188 com/tencent/kingkong/DatabaseUtils:bindObjectToProgram (Lcom/tencent/kingkong/database/SQLiteProgram;ILjava/lang/Object;)V + // 78: goto -48 -> 30 + // 81: astore 5 + // 83: ldc 190 + // 85: new 48 java/lang/StringBuilder + // 88: dup + // 89: invokespecial 62 java/lang/StringBuilder: ()V + // 92: ldc 192 + // 94: invokevirtual 57 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 97: aload_1 + // 98: invokevirtual 195 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 101: ldc 197 + // 103: invokevirtual 57 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 106: aload_0 + // 107: getfield 42 com/tencent/kingkong/DatabaseUtils$InsertHelper:mTableName Ljava/lang/String; + // 110: invokevirtual 57 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 113: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 116: aload 5 + // 118: invokestatic 203 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + // 121: pop + // 122: aload_0 + // 123: getfield 40 com/tencent/kingkong/DatabaseUtils$InsertHelper:mDb Lcom/tencent/kingkong/database/SQLiteDatabase; + // 126: invokevirtual 206 com/tencent/kingkong/database/SQLiteDatabase:endTransaction ()V + // 129: ldc2_w 207 + // 132: lreturn + // 133: aload 5 + // 135: invokevirtual 212 com/tencent/kingkong/database/SQLiteStatement:executeInsert ()J + // 138: lstore_3 + // 139: aload_0 + // 140: getfield 40 com/tencent/kingkong/DatabaseUtils$InsertHelper:mDb Lcom/tencent/kingkong/database/SQLiteDatabase; + // 143: invokevirtual 215 com/tencent/kingkong/database/SQLiteDatabase:setTransactionSuccessful ()V + // 146: aload_0 + // 147: getfield 40 com/tencent/kingkong/DatabaseUtils$InsertHelper:mDb Lcom/tencent/kingkong/database/SQLiteDatabase; + // 150: invokevirtual 206 com/tencent/kingkong/database/SQLiteDatabase:endTransaction ()V + // 153: lload_3 + // 154: lreturn + // 155: astore_1 + // 156: aload_0 + // 157: getfield 40 com/tencent/kingkong/DatabaseUtils$InsertHelper:mDb Lcom/tencent/kingkong/database/SQLiteDatabase; + // 160: invokevirtual 206 com/tencent/kingkong/database/SQLiteDatabase:endTransaction ()V + // 163: aload_1 + // 164: athrow + // Local variable table: + // start length slot name signature + // 0 165 0 this InsertHelper + // 0 165 1 paramContentValues ContentValues + // 0 165 2 paramBoolean boolean + // 138 16 3 l long + // 12 41 5 localSQLiteStatement SQLiteStatement + // 81 53 5 localSQLException SQLException + // 28 13 6 localIterator java.util.Iterator + // 50 19 7 localEntry java.util.Map.Entry + // Exception table: + // from to target type + // 7 30 81 com/tencent/kingkong/SQLException + // 30 78 81 com/tencent/kingkong/SQLException + // 133 146 81 com/tencent/kingkong/SQLException + // 7 30 155 finally + // 30 78 155 finally + // 83 122 155 finally + // 133 146 155 finally + } + + public void bind(int paramInt, double paramDouble) + { + this.mPreparedStatement.bindDouble(paramInt, paramDouble); + } + + public void bind(int paramInt, float paramFloat) + { + this.mPreparedStatement.bindDouble(paramInt, paramFloat); + } + + public void bind(int paramInt1, int paramInt2) + { + this.mPreparedStatement.bindLong(paramInt1, paramInt2); + } + + public void bind(int paramInt, long paramLong) + { + this.mPreparedStatement.bindLong(paramInt, paramLong); + } + + public void bind(int paramInt, String paramString) + { + if (paramString == null) + { + this.mPreparedStatement.bindNull(paramInt); + return; + } + this.mPreparedStatement.bindString(paramInt, paramString); + } + + public void bind(int paramInt, boolean paramBoolean) + { + SQLiteStatement localSQLiteStatement = this.mPreparedStatement; + if (paramBoolean) {} + for (long l = 1L;; l = 0L) + { + localSQLiteStatement.bindLong(paramInt, l); + return; + } + } + + public void bind(int paramInt, byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) + { + this.mPreparedStatement.bindNull(paramInt); + return; + } + this.mPreparedStatement.bindBlob(paramInt, paramArrayOfByte); + } + + public void bindNull(int paramInt) + { + this.mPreparedStatement.bindNull(paramInt); + } + + public void close() + { + if (this.mInsertStatement != null) + { + this.mInsertStatement.close(); + this.mInsertStatement = null; + } + if (this.mReplaceStatement != null) + { + this.mReplaceStatement.close(); + this.mReplaceStatement = null; + } + this.mInsertSQL = null; + this.mColumns = null; + } + + public long execute() + { + if (this.mPreparedStatement == null) { + throw new IllegalStateException("you must prepare this inserter before calling execute"); + } + try + { + long l = this.mPreparedStatement.executeInsert(); + return l; + } + catch (SQLException localSQLException) + { + Log.e("DatabaseUtils", "Error executing InsertHelper with table " + this.mTableName, localSQLException); + return -1L; + } + finally + { + this.mPreparedStatement = null; + } + } + + public int getColumnIndex(String paramString) + { + getStatement(false); + Integer localInteger = (Integer)this.mColumns.get(paramString); + if (localInteger == null) { + throw new IllegalArgumentException("column '" + paramString + "' is invalid"); + } + return localInteger.intValue(); + } + + public long insert(ContentValues paramContentValues) + { + return insertInternal(paramContentValues, false); + } + + public void prepareForInsert() + { + this.mPreparedStatement = getStatement(false); + this.mPreparedStatement.clearBindings(); + } + + public void prepareForReplace() + { + this.mPreparedStatement = getStatement(true); + this.mPreparedStatement.clearBindings(); + } + + public long replace(ContentValues paramContentValues) + { + return insertInternal(paramContentValues, true); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DatabaseUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DefaultDatabaseErrorHandler.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DefaultDatabaseErrorHandler.java new file mode 100755 index 00000000000..2d7652dc945 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DefaultDatabaseErrorHandler.java @@ -0,0 +1,137 @@ +package com.tencent.kingkong; + +import android.util.Log; +import com.tencent.kingkong.database.SQLiteDatabase; +import java.io.File; + +public final class DefaultDatabaseErrorHandler + implements DatabaseErrorHandler +{ + private static final String TAG = "DefaultDatabaseErrorHandler"; + + private void deleteDatabaseFile(String paramString) + { + if ((paramString.equalsIgnoreCase(":memory:")) || (paramString.trim().length() == 0)) { + return; + } + Log.e("DefaultDatabaseErrorHandler", "deleting the database file: " + paramString); + try + { + SQLiteDatabase.deleteDatabase(new File(paramString)); + return; + } + catch (Exception paramString) + { + Log.w("DefaultDatabaseErrorHandler", "delete failed: " + paramString.getMessage()); + } + } + + /* Error */ + public void onCorruption(SQLiteDatabase paramSQLiteDatabase) + { + // Byte code: + // 0: ldc 10 + // 2: new 37 java/lang/StringBuilder + // 5: dup + // 6: invokespecial 38 java/lang/StringBuilder: ()V + // 9: ldc 77 + // 11: invokevirtual 44 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 14: aload_1 + // 15: invokevirtual 80 com/tencent/kingkong/database/SQLiteDatabase:getPath ()Ljava/lang/String; + // 18: invokevirtual 44 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 21: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 24: invokestatic 53 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;)I + // 27: pop + // 28: aload_1 + // 29: invokevirtual 84 com/tencent/kingkong/database/SQLiteDatabase:isOpen ()Z + // 32: ifne +12 -> 44 + // 35: aload_0 + // 36: aload_1 + // 37: invokevirtual 80 com/tencent/kingkong/database/SQLiteDatabase:getPath ()Ljava/lang/String; + // 40: invokespecial 86 com/tencent/kingkong/DefaultDatabaseErrorHandler:deleteDatabaseFile (Ljava/lang/String;)V + // 43: return + // 44: aconst_null + // 45: astore_3 + // 46: aconst_null + // 47: astore_2 + // 48: aload_1 + // 49: invokevirtual 90 com/tencent/kingkong/database/SQLiteDatabase:getAttachedDbs ()Ljava/util/List; + // 52: astore 4 + // 54: aload 4 + // 56: astore_2 + // 57: aload_2 + // 58: astore_3 + // 59: aload_1 + // 60: invokevirtual 93 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 63: aload_2 + // 64: ifnull +41 -> 105 + // 67: aload_2 + // 68: invokeinterface 99 1 0 + // 73: astore_1 + // 74: aload_1 + // 75: invokeinterface 104 1 0 + // 80: ifeq -37 -> 43 + // 83: aload_0 + // 84: aload_1 + // 85: invokeinterface 108 1 0 + // 90: checkcast 110 android/util/Pair + // 93: getfield 114 android/util/Pair:second Ljava/lang/Object; + // 96: checkcast 23 java/lang/String + // 99: invokespecial 86 com/tencent/kingkong/DefaultDatabaseErrorHandler:deleteDatabaseFile (Ljava/lang/String;)V + // 102: goto -28 -> 74 + // 105: aload_0 + // 106: aload_1 + // 107: invokevirtual 80 com/tencent/kingkong/database/SQLiteDatabase:getPath ()Ljava/lang/String; + // 110: invokespecial 86 com/tencent/kingkong/DefaultDatabaseErrorHandler:deleteDatabaseFile (Ljava/lang/String;)V + // 113: return + // 114: astore_2 + // 115: aload_3 + // 116: ifnull +41 -> 157 + // 119: aload_3 + // 120: invokeinterface 99 1 0 + // 125: astore_1 + // 126: aload_1 + // 127: invokeinterface 104 1 0 + // 132: ifeq +33 -> 165 + // 135: aload_0 + // 136: aload_1 + // 137: invokeinterface 108 1 0 + // 142: checkcast 110 android/util/Pair + // 145: getfield 114 android/util/Pair:second Ljava/lang/Object; + // 148: checkcast 23 java/lang/String + // 151: invokespecial 86 com/tencent/kingkong/DefaultDatabaseErrorHandler:deleteDatabaseFile (Ljava/lang/String;)V + // 154: goto -28 -> 126 + // 157: aload_0 + // 158: aload_1 + // 159: invokevirtual 80 com/tencent/kingkong/database/SQLiteDatabase:getPath ()Ljava/lang/String; + // 162: invokespecial 86 com/tencent/kingkong/DefaultDatabaseErrorHandler:deleteDatabaseFile (Ljava/lang/String;)V + // 165: aload_2 + // 166: athrow + // 167: astore_3 + // 168: goto -111 -> 57 + // 171: astore_3 + // 172: goto -109 -> 63 + // Local variable table: + // start length slot name signature + // 0 175 0 this DefaultDatabaseErrorHandler + // 0 175 1 paramSQLiteDatabase SQLiteDatabase + // 47 21 2 localObject1 Object + // 114 52 2 localObject2 Object + // 45 75 3 localObject3 Object + // 167 1 3 localSQLiteException1 com.tencent.kingkong.database.SQLiteException + // 171 1 3 localSQLiteException2 com.tencent.kingkong.database.SQLiteException + // 52 3 4 localList java.util.List + // Exception table: + // from to target type + // 48 54 114 finally + // 59 63 114 finally + // 48 54 167 com/tencent/kingkong/database/SQLiteException + // 59 63 171 com/tencent/kingkong/database/SQLiteException + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DefaultDatabaseErrorHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/DvmPatch.java b/com.tencent.token/classes.jar/com/tencent/kingkong/DvmPatch.java new file mode 100755 index 00000000000..bb6e9c7be05 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/DvmPatch.java @@ -0,0 +1,320 @@ +package com.tencent.kingkong; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.os.Build.VERSION; +import com.tencent.kingkong.xposed.XposedBridge; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Scanner; +import org.json.JSONException; +import org.json.JSONObject; + +public class DvmPatch + extends Patch +{ + private static final String LOG_TAG = "KingKongDvmPatch"; + private static final String TAG_BASIC_CONFIG = "basic_config"; + private static final String TAG_CLASS_NAME = "class_name"; + private static final String TAG_PATCH_NAME = "name"; + private static final String TAG_TYPE = "type"; + private static final String TAG_VERSION = "ver"; + private static boolean isCheckedDeviceSupport = false; + private static boolean isDeviceSupportDVM = false; + private String mClassName = ""; + + public DvmPatch(String paramString1, String paramString2) + { + this.mPath = paramString1; + this.mPatchName = paramString2; + } + + public static Patch CreatePatch(String paramString, PatchInfo paramPatchInfo) + { + paramString = new DvmPatch(paramString, paramPatchInfo.mPatchName); + if (paramString.parseConfig(paramString.getConfigFileName())) { + return paramString; + } + return null; + } + + public static String getProperty(String paramString) + throws IOException + { + Object localObject1 = new ProcessBuilder(new String[] { "getprop", paramString }).start(); + paramString = null; + try + { + localObject1 = new Scanner(((Process)localObject1).getInputStream()); + if (paramString == null) { + break label62; + } + } + finally + { + try + { + paramString = ((Scanner)localObject1).nextLine(); + if (localObject1 != null) { + ((Scanner)localObject1).close(); + } + return paramString; + } + finally + { + paramString = localObject2; + Object localObject3 = localObject4; + } + localObject2 = finally; + } + paramString.close(); + label62: + throw localObject2; + } + + private static boolean isArm64CPU() + { + try + { + getProperty("ro.product.cpu.abi"); + return false; + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + } + } + } + + private static boolean isArtandkk() + { + if (Build.VERSION.SDK_INT == 19) { + try + { + boolean bool = getProperty("persist.sys.dalvik.vm.lib").contains("art"); + if (bool) { + return true; + } + } + catch (IOException localIOException) + { + localIOException.printStackTrace(); + } + } + return false; + } + + /* Error */ + public static boolean isDeviceSupportDVM() + { + // Byte code: + // 0: getstatic 31 com/tencent/kingkong/DvmPatch:isCheckedDeviceSupport Z + // 3: ifeq +36 -> 39 + // 6: getstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 9: istore_0 + // 10: ldc 8 + // 12: new 124 java/lang/StringBuilder + // 15: dup + // 16: ldc 126 + // 18: invokespecial 129 java/lang/StringBuilder: (Ljava/lang/String;)V + // 21: getstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 24: invokevirtual 133 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 27: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 30: invokestatic 141 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 33: iconst_1 + // 34: putstatic 31 com/tencent/kingkong/DvmPatch:isCheckedDeviceSupport Z + // 37: iload_0 + // 38: ireturn + // 39: invokestatic 143 com/tencent/kingkong/DvmPatch:isArtandkk ()Z + // 42: ifne +50 -> 92 + // 45: invokestatic 146 com/tencent/kingkong/DvmPatch:isX86CPU ()Z + // 48: ifne +44 -> 92 + // 51: invokestatic 149 com/tencent/kingkong/DvmPatch:isYunOS ()Z + // 54: ifne +38 -> 92 + // 57: iconst_1 + // 58: putstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 61: ldc 8 + // 63: new 124 java/lang/StringBuilder + // 66: dup + // 67: ldc 126 + // 69: invokespecial 129 java/lang/StringBuilder: (Ljava/lang/String;)V + // 72: getstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 75: invokevirtual 133 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 78: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 81: invokestatic 141 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 84: iconst_1 + // 85: putstatic 31 com/tencent/kingkong/DvmPatch:isCheckedDeviceSupport Z + // 88: getstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 91: ireturn + // 92: iconst_0 + // 93: putstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 96: goto -35 -> 61 + // 99: astore_1 + // 100: ldc 8 + // 102: new 124 java/lang/StringBuilder + // 105: dup + // 106: ldc 126 + // 108: invokespecial 129 java/lang/StringBuilder: (Ljava/lang/String;)V + // 111: getstatic 33 com/tencent/kingkong/DvmPatch:isDeviceSupportDVM Z + // 114: invokevirtual 133 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 117: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 120: invokestatic 141 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 123: iconst_1 + // 124: putstatic 31 com/tencent/kingkong/DvmPatch:isCheckedDeviceSupport Z + // 127: aload_1 + // 128: athrow + // Local variable table: + // start length slot name signature + // 9 29 0 bool boolean + // 99 29 1 localObject Object + // Exception table: + // from to target type + // 0 10 99 finally + // 39 61 99 finally + // 92 96 99 finally + } + + private static boolean isX86CPU() + { + try + { + boolean bool = getProperty("ro.product.cpu.abi").contains("x86"); + if (bool) { + return true; + } + } + catch (IOException localIOException) + { + localIOException.printStackTrace(); + } + return false; + } + + @SuppressLint({"DefaultLocale"}) + private static boolean isYunOS() + { + String str2 = null; + Object localObject10 = null; + Object localObject11 = null; + String str1 = null; + localObject9 = null; + localObject5 = str1; + localObject6 = str2; + localObject7 = localObject10; + localObject8 = localObject11; + try + { + Method localMethod = Class.forName("android.os.SystemProperties").getMethod("get", new Class[] { String.class }); + localObject5 = str1; + localObject6 = str2; + localObject7 = localObject10; + localObject8 = localObject11; + str1 = (String)localMethod.invoke(null, new Object[] { "ro.yunos.version" }); + localObject5 = str1; + localObject6 = str1; + localObject7 = str1; + localObject8 = str1; + str2 = (String)localMethod.invoke(null, new Object[] { "java.vm.name" }); + localObject5 = str2; + } + catch (InvocationTargetException localInvocationTargetException) + { + for (;;) + { + Object localObject1 = localObject5; + localObject5 = localObject9; + } + } + catch (IllegalAccessException localIllegalAccessException) + { + for (;;) + { + Object localObject2 = localObject6; + localObject5 = localObject9; + } + } + catch (ClassNotFoundException localClassNotFoundException) + { + for (;;) + { + Object localObject3 = localObject7; + localObject5 = localObject9; + } + } + catch (NoSuchMethodException localNoSuchMethodException) + { + for (;;) + { + Object localObject4 = localObject8; + localObject5 = localObject9; + } + } + localObject7 = new StringBuilder("isYunOS-s1 = "); + if (str1 == null) + { + localObject6 = ""; + Common.Log.d("KingKongDvmPatch", (String)localObject6); + localObject7 = new StringBuilder("isYunOS-s2 = "); + if (localObject5 != null) { + break label207; + } + } + label207: + for (localObject6 = "";; localObject6 = localObject5) + { + Common.Log.d("KingKongDvmPatch", (String)localObject6); + if (((localObject5 == null) || (!((String)localObject5).toLowerCase().contains("lemur"))) && ((str1 == null) || (str1.trim().length() <= 0))) { + break label212; + } + return true; + localObject6 = str1; + break; + } + label212: + return false; + } + + private boolean parseConfig(String paramString) + { + paramString = Utils.ReadFileToString(paramString); + try + { + paramString = new JSONObject(paramString); + this.mPatchName = paramString.getString("name"); + this.mPatchVersion = paramString.getString("ver"); + this.mPatchType = paramString.getString("type"); + this.mClassName = paramString.getJSONObject("basic_config").getString("class_name").trim(); + Common.Log.d("KingKongDvmPatch", "--> Hookpoint Class Name : " + this.mClassName); + return true; + } + catch (JSONException paramString) + { + Common.Log.d("KingKongDvmPatch", "Parse dvm config failed : " + paramString); + } + return false; + } + + public int doPatch(Context paramContext) + { + return XposedBridge.doPatch(paramContext, this.mPath, this.mPatchName, this.mPatchType, this.mPatchVersion, this.mClassName); + } + + public boolean generateInstallFiles() + { + return true; + } + + public boolean initPatch() + { + return XposedBridge.initPatch(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.DvmPatch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtils.java b/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtils.java new file mode 100755 index 00000000000..66e63d489ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtils.java @@ -0,0 +1,130 @@ +package com.tencent.kingkong; + +import android.util.Base64; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import javax.crypto.Cipher; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; + +public class EncryptUtils +{ + public static final String ALGORITHM_DES = "DES/CBC/NoPadding"; + public static final String LOG_TAG = "EncryptUtils"; + public static String RsaPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzW1ktT6zQrCG1K9H2V8X\rrW/A/ZplyeZy+RQG7loQ4/B/HlbrqBz4w4SwqMG89p/RiFP0Eh+/D4mYyMtWr9QK\rp6fNDcp1L4FMHxxNSlJhtgz+zC+nc812xqDmPa3+AI9yrpUdCBoUvcL85j7Q4glC\rmIHDU62G7qrnBW39YwRIN+P7ocSbR0/y/0DECEAwGFN+kxfHl23ZvrPYRIo7tjCX\rhAUXajP4SOfz/ej2rV17mf5+GDSwMdaJPTTCaFzFwcAMUvcFzVwiiSElzPmzj4GC\rT1Ckjc4oXvYNRuVunsGO9lL6Cdd046Z10XRIIc6FeuMHsxOndMlokOrZb+aCZhv1\rGwIDAQAB\r"; + + public static byte[] DesDecrypt(String paramString1, String paramString2) + throws Exception + { + return DesDecrypt(paramString1.getBytes(), Base64.decode(paramString2, 0)); + } + + public static byte[] DesDecrypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + throws Exception + { + try + { + paramArrayOfByte1 = new DESKeySpec(paramArrayOfByte1); + paramArrayOfByte1 = SecretKeyFactory.getInstance("DES").generateSecret(paramArrayOfByte1); + Cipher localCipher = Cipher.getInstance("DES/CBC/NoPadding"); + localCipher.init(2, paramArrayOfByte1, new IvParameterSpec("12345678".getBytes())); + paramArrayOfByte1 = localCipher.doFinal(paramArrayOfByte2); + return paramArrayOfByte1; + } + catch (Exception paramArrayOfByte1) + { + throw new Exception(paramArrayOfByte1); + } + } + + public static String DesEncrypt(String paramString1, String paramString2) + throws Exception + { + return Base64.encodeToString(DesEncrypt(paramString1, paramString2.getBytes()), 0); + } + + public static byte[] DesEncrypt(String paramString, byte[] paramArrayOfByte) + throws Exception + { + try + { + paramString = new DESKeySpec(paramString.getBytes()); + paramString = SecretKeyFactory.getInstance("DES").generateSecret(paramString); + Cipher localCipher = Cipher.getInstance("DES/CBC/NoPadding"); + localCipher.init(1, paramString, new IvParameterSpec("12345678".getBytes())); + paramString = localCipher.doFinal(paramArrayOfByte); + return paramString; + } + catch (Exception paramString) + { + throw new Exception(paramString); + } + } + + public static byte[] RsaDecryptData(String paramString) + throws Exception + { + return RsaDecryptData(Base64.decode(paramString, 0)); + } + + public static byte[] RsaDecryptData(byte[] paramArrayOfByte) + throws Exception + { + return new byte[0]; + } + + public static byte[] RsaDecryptData(byte[] paramArrayOfByte, PrivateKey paramPrivateKey) + throws Exception + { + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(2, paramPrivateKey); + return localCipher.doFinal(paramArrayOfByte); + } + + public static String RsaEncryptData(String paramString) + throws Exception + { + PublicKey localPublicKey = loadPublicKey(RsaPublicKey); + return Base64.encodeToString(RsaEncryptData(paramString.getBytes(), localPublicKey), 0); + } + + public static byte[] RsaEncryptData(byte[] paramArrayOfByte, PublicKey paramPublicKey) + throws Exception + { + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(1, paramPublicKey); + return localCipher.doFinal(paramArrayOfByte); + } + + public static String RsaEncryptDataPrivateKey(String paramString) + throws Exception + { + return ""; + } + + private static PrivateKey loadPrivateKey(String paramString) + throws Exception + { + paramString = new PKCS8EncodedKeySpec(Base64.decode(paramString, 0)); + return (RSAPrivateKey)KeyFactory.getInstance("RSA").generatePrivate(paramString); + } + + private static PublicKey loadPublicKey(String paramString) + throws Exception + { + paramString = Base64.decode(paramString, 0); + return (RSAPublicKey)KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(paramString)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.EncryptUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtilsForQQ.java b/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtilsForQQ.java new file mode 100755 index 00000000000..a3d8368cfd5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/EncryptUtilsForQQ.java @@ -0,0 +1,69 @@ +package com.tencent.kingkong; + +import android.util.Base64; +import java.security.Key; +import java.security.KeyFactory; +import java.security.spec.X509EncodedKeySpec; +import javax.crypto.Cipher; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; + +public class EncryptUtilsForQQ +{ + public static final String ALGORITHM_DES = "DES/CBC/NoPadding"; + public static final String ALGORITHM_RSA = "RSA/ECB/PKCS1Padding"; + public static final String LOG_TAG = "EncryptUtils"; + public static String RsaPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3ywzb5M1Acw/gPd4869if4PlW\rhH8ekZvuoW3JYzxzeI1Rb5ENlEErZFUFvQrdTtapycinwjtQUHpgJBkAYxe8fI8k\ralWhJxQAOJZxIVPiZcPzGl4kaPkGHonKhT1md+FwoFGfosNbccQ4RcvUT/iSuqPh\rFd9e4fbNnLf9pPf5LQIDAQAB"; + + public static String DesEncrypt(String paramString1, String paramString2) + throws Exception + { + paramString1 = new DESKeySpec(paramString1.getBytes()); + paramString1 = SecretKeyFactory.getInstance("DES").generateSecret(paramString1); + Cipher localCipher = Cipher.getInstance("DES/CBC/NoPadding"); + localCipher.init(1, paramString1, new IvParameterSpec("12345678".getBytes())); + return Base64.encodeToString(localCipher.doFinal(padding(paramString2, localCipher.getBlockSize()).getBytes()), 2); + } + + public static String RsaDecryptData(String paramString) + throws Exception + { + paramString = Base64.decode(paramString, 0); + Object localObject = Base64.decode(RsaPublicKey, 0); + localObject = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec((byte[])localObject)); + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(2, (Key)localObject); + return Base64.encodeToString(localCipher.doFinal(paramString), 2); + } + + public static String RsaEncryptData(String paramString) + throws Exception + { + Object localObject = Base64.decode(RsaPublicKey, 0); + localObject = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec((byte[])localObject)); + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(1, (Key)localObject); + return Base64.encodeToString(localCipher.doFinal(paramString.getBytes()), 2); + } + + public static String padding(String paramString, int paramInt) + { + int j = paramString.length(); + int i = 0; + for (;;) + { + if (i >= paramInt - j % paramInt) { + return paramString; + } + paramString = paramString + " "; + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.EncryptUtilsForQQ + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/FileUtils.java b/com.tencent.token/classes.jar/com/tencent/kingkong/FileUtils.java new file mode 100755 index 00000000000..65012dc495d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/FileUtils.java @@ -0,0 +1,391 @@ +package com.tencent.kingkong; + +import android.util.Log; +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileDescriptor; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.util.Arrays; +import java.util.Comparator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class FileUtils +{ + private static final Pattern SAFE_FILENAME_PATTERN = Pattern.compile("[\\w%+,./=_-]+"); + public static final int S_IRGRP = 32; + public static final int S_IROTH = 4; + public static final int S_IRUSR = 256; + public static final int S_IRWXG = 56; + public static final int S_IRWXO = 7; + public static final int S_IRWXU = 448; + public static final int S_IWGRP = 16; + public static final int S_IWOTH = 2; + public static final int S_IWUSR = 128; + public static final int S_IXGRP = 8; + public static final int S_IXOTH = 1; + public static final int S_IXUSR = 64; + private static final String TAG = "FileUtils"; + + /* Error */ + public static long checksumCrc32(File paramFile) + throws java.io.FileNotFoundException, IOException + { + // Byte code: + // 0: new 61 java/util/zip/CRC32 + // 3: dup + // 4: invokespecial 62 java/util/zip/CRC32: ()V + // 7: astore 4 + // 9: aconst_null + // 10: astore_3 + // 11: new 64 java/util/zip/CheckedInputStream + // 14: dup + // 15: new 66 java/io/FileInputStream + // 18: dup + // 19: aload_0 + // 20: invokespecial 69 java/io/FileInputStream: (Ljava/io/File;)V + // 23: aload 4 + // 25: invokespecial 72 java/util/zip/CheckedInputStream: (Ljava/io/InputStream;Ljava/util/zip/Checksum;)V + // 28: astore_0 + // 29: sipush 128 + // 32: newarray byte + // 34: astore_3 + // 35: aload_0 + // 36: aload_3 + // 37: invokevirtual 76 java/util/zip/CheckedInputStream:read ([B)I + // 40: ifge -5 -> 35 + // 43: aload 4 + // 45: invokevirtual 80 java/util/zip/CRC32:getValue ()J + // 48: lstore_1 + // 49: aload_0 + // 50: ifnull +7 -> 57 + // 53: aload_0 + // 54: invokevirtual 83 java/util/zip/CheckedInputStream:close ()V + // 57: lload_1 + // 58: lreturn + // 59: astore_0 + // 60: aload_3 + // 61: ifnull +7 -> 68 + // 64: aload_3 + // 65: invokevirtual 83 java/util/zip/CheckedInputStream:close ()V + // 68: aload_0 + // 69: athrow + // 70: astore_0 + // 71: lload_1 + // 72: lreturn + // 73: astore_3 + // 74: goto -6 -> 68 + // 77: astore 4 + // 79: aload_0 + // 80: astore_3 + // 81: aload 4 + // 83: astore_0 + // 84: goto -24 -> 60 + // Local variable table: + // start length slot name signature + // 0 87 0 paramFile File + // 48 24 1 l long + // 10 55 3 arrayOfByte byte[] + // 73 1 3 localIOException IOException + // 80 1 3 localFile File + // 7 37 4 localCRC32 java.util.zip.CRC32 + // 77 5 4 localObject Object + // Exception table: + // from to target type + // 11 29 59 finally + // 53 57 70 java/io/IOException + // 64 68 73 java/io/IOException + // 29 35 77 finally + // 35 49 77 finally + } + + public static boolean copyFile(File paramFile1, File paramFile2) + { + try + { + paramFile1 = new FileInputStream(paramFile1); + try + { + boolean bool = copyToFile(paramFile1, paramFile2); + return bool; + } + finally + { + paramFile1.close(); + } + return false; + } + catch (IOException paramFile1) {} + } + + /* Error */ + public static boolean copyToFile(InputStream paramInputStream, File paramFile) + { + // Byte code: + // 0: aload_1 + // 1: invokevirtual 99 java/io/File:exists ()Z + // 4: ifeq +8 -> 12 + // 7: aload_1 + // 8: invokevirtual 102 java/io/File:delete ()Z + // 11: pop + // 12: new 104 java/io/FileOutputStream + // 15: dup + // 16: aload_1 + // 17: invokespecial 105 java/io/FileOutputStream: (Ljava/io/File;)V + // 20: astore_1 + // 21: sipush 4096 + // 24: newarray byte + // 26: astore_3 + // 27: aload_0 + // 28: aload_3 + // 29: invokevirtual 106 java/io/InputStream:read ([B)I + // 32: istore_2 + // 33: iload_2 + // 34: iflt +31 -> 65 + // 37: aload_1 + // 38: aload_3 + // 39: iconst_0 + // 40: iload_2 + // 41: invokevirtual 110 java/io/FileOutputStream:write ([BII)V + // 44: goto -17 -> 27 + // 47: astore_0 + // 48: aload_1 + // 49: invokevirtual 113 java/io/FileOutputStream:flush ()V + // 52: aload_1 + // 53: invokevirtual 117 java/io/FileOutputStream:getFD ()Ljava/io/FileDescriptor; + // 56: invokevirtual 122 java/io/FileDescriptor:sync ()V + // 59: aload_1 + // 60: invokevirtual 123 java/io/FileOutputStream:close ()V + // 63: aload_0 + // 64: athrow + // 65: aload_1 + // 66: invokevirtual 113 java/io/FileOutputStream:flush ()V + // 69: aload_1 + // 70: invokevirtual 117 java/io/FileOutputStream:getFD ()Ljava/io/FileDescriptor; + // 73: invokevirtual 122 java/io/FileDescriptor:sync ()V + // 76: aload_1 + // 77: invokevirtual 123 java/io/FileOutputStream:close ()V + // 80: iconst_1 + // 81: ireturn + // 82: astore_3 + // 83: goto -24 -> 59 + // 86: astore_0 + // 87: goto -11 -> 76 + // 90: astore_0 + // 91: iconst_0 + // 92: ireturn + // Local variable table: + // start length slot name signature + // 0 93 0 paramInputStream InputStream + // 0 93 1 paramFile File + // 32 9 2 i int + // 26 13 3 arrayOfByte byte[] + // 82 1 3 localIOException IOException + // Exception table: + // from to target type + // 21 27 47 finally + // 27 33 47 finally + // 37 44 47 finally + // 52 59 82 java/io/IOException + // 69 76 86 java/io/IOException + // 0 12 90 java/io/IOException + // 12 21 90 java/io/IOException + // 48 52 90 java/io/IOException + // 59 65 90 java/io/IOException + // 65 69 90 java/io/IOException + // 76 80 90 java/io/IOException + } + + public static void deleteOlderFiles(File paramFile, int paramInt, long paramLong) + { + if ((paramInt < 0) || (paramLong < 0L)) { + throw new IllegalArgumentException("Constraints must be positive or 0"); + } + paramFile = paramFile.listFiles(); + if (paramFile == null) {} + for (;;) + { + return; + Arrays.sort(paramFile, new Comparator() + { + public int compare(File paramAnonymousFile1, File paramAnonymousFile2) + { + return (int)(paramAnonymousFile2.lastModified() - paramAnonymousFile1.lastModified()); + } + }); + while (paramInt < paramFile.length) + { + Object localObject = paramFile[paramInt]; + if (System.currentTimeMillis() - localObject.lastModified() > paramLong) + { + Log.d("FileUtils", "Deleting old file " + localObject); + localObject.delete(); + } + paramInt += 1; + } + } + } + + public static boolean isFilenameSafe(File paramFile) + { + return SAFE_FILENAME_PATTERN.matcher(paramFile.getPath()).matches(); + } + + public static String readTextFile(File paramFile, int paramInt, String paramString) + throws IOException + { + FileInputStream localFileInputStream = new FileInputStream(paramFile); + BufferedInputStream localBufferedInputStream = new BufferedInputStream(localFileInputStream); + for (;;) + { + long l; + try + { + l = paramFile.length(); + if (paramInt <= 0) { + if ((l > 0L) && (paramInt == 0)) + { + break label465; + paramFile = new byte[i + 1]; + paramInt = localBufferedInputStream.read(paramFile); + if (paramInt <= 0) { + return ""; + } + if (paramInt <= i) + { + paramFile = new String(paramFile, 0, paramInt); + return paramFile; + } + if (paramString == null) + { + paramFile = new String(paramFile, 0, i); + return paramFile; + } + paramFile = new String(paramFile, 0, i) + paramString; + return paramFile; + } + else + { + if (paramInt < 0) + { + int j = 0; + Object localObject2 = null; + paramFile = null; + i = j; + if (localObject2 != null) { + i = 1; + } + File localFile = paramFile; + Object localObject1 = localObject2; + if (localObject2 == null) + { + j = -paramInt; + localObject1 = new byte[j]; + } + int k = localBufferedInputStream.read((byte[])localObject1); + paramFile = (File)localObject1; + localObject2 = localFile; + j = i; + if (k == localObject1.length) { + continue; + } + if ((localFile == null) && (k <= 0)) { + return ""; + } + if (localFile == null) + { + paramFile = new String((byte[])localObject1, 0, k); + return paramFile; + } + if (k <= 0) { + break label495; + } + i = 1; + System.arraycopy(localFile, k, localFile, 0, localFile.length - k); + System.arraycopy(localObject1, 0, localFile, localFile.length - k, k); + break label495; + paramFile = new String(localFile); + return paramFile; + paramFile = paramString + new String(localFile); + return paramFile; + } + paramFile = new ByteArrayOutputStream(); + paramString = new byte[1024]; + paramInt = localBufferedInputStream.read(paramString); + if (paramInt > 0) { + paramFile.write(paramString, 0, paramInt); + } + if (paramInt == paramString.length) { + continue; + } + paramFile = paramFile.toString(); + return paramFile; + } + } + } + finally + { + localBufferedInputStream.close(); + localFileInputStream.close(); + } + label465: + int i = paramInt; + if (l > 0L) { + if (paramInt != 0) + { + i = paramInt; + if (l >= paramInt) {} + } + else + { + i = (int)l; + continue; + label495: + if (paramString != null) { + if (i != 0) {} + } + } + } + } + } + + public static native int setPermissions(String paramString, int paramInt1, int paramInt2, int paramInt3); + + public static void stringToFile(String paramString1, String paramString2) + throws IOException + { + paramString1 = new FileWriter(paramString1); + try + { + paramString1.write(paramString2); + return; + } + finally + { + paramString1.close(); + } + } + + public static boolean sync(FileOutputStream paramFileOutputStream) + { + if (paramFileOutputStream != null) {} + try + { + paramFileOutputStream.getFD().sync(); + return true; + } + catch (IOException paramFileOutputStream) {} + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.FileUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/IBulkCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/IBulkCursor.java new file mode 100755 index 00000000000..30c89a23832 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/IBulkCursor.java @@ -0,0 +1,45 @@ +package com.tencent.kingkong; + +import android.os.Bundle; +import android.os.IInterface; +import android.os.RemoteException; + +public abstract interface IBulkCursor + extends IInterface +{ + public static final int CLOSE_TRANSACTION = 7; + public static final int DEACTIVATE_TRANSACTION = 2; + public static final int GET_CURSOR_WINDOW_TRANSACTION = 1; + public static final int GET_EXTRAS_TRANSACTION = 5; + public static final int ON_MOVE_TRANSACTION = 4; + public static final int REQUERY_TRANSACTION = 3; + public static final int RESPOND_TRANSACTION = 6; + public static final String descriptor = "android.content.IBulkCursor"; + + public abstract void close() + throws RemoteException; + + public abstract void deactivate() + throws RemoteException; + + public abstract Bundle getExtras() + throws RemoteException; + + public abstract CursorWindow getWindow(int paramInt) + throws RemoteException; + + public abstract void onMove(int paramInt) + throws RemoteException; + + public abstract int requery(IContentObserver paramIContentObserver) + throws RemoteException; + + public abstract Bundle respond(Bundle paramBundle) + throws RemoteException; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.IBulkCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/IContentObserver.java b/com.tencent.token/classes.jar/com/tencent/kingkong/IContentObserver.java new file mode 100755 index 00000000000..752eee931c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/IContentObserver.java @@ -0,0 +1,168 @@ +package com.tencent.kingkong; + +import android.net.Uri; +import android.os.Binder; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.Parcelable.Creator; +import android.os.RemoteException; + +public abstract interface IContentObserver + extends IInterface +{ + public abstract void onChange(boolean paramBoolean, Uri paramUri) + throws RemoteException; + + public static abstract class Stub + extends Binder + implements IContentObserver + { + private static final String DESCRIPTOR = "com.tencent.kingkong.IContentObserver"; + static final int TRANSACTION_onChange = 1; + + public Stub() + { + attachInterface(this, "com.tencent.kingkong.IContentObserver"); + } + + public static IContentObserver asInterface(IBinder paramIBinder) + { + if (paramIBinder == null) { + return null; + } + IInterface localIInterface = paramIBinder.queryLocalInterface("com.tencent.kingkong.IContentObserver"); + if ((localIInterface != null) && ((localIInterface instanceof IContentObserver))) { + return (IContentObserver)localIInterface; + } + return new Proxy(paramIBinder); + } + + public IBinder asBinder() + { + return this; + } + + public boolean onTransact(int paramInt1, Parcel paramParcel1, Parcel paramParcel2, int paramInt2) + throws RemoteException + { + switch (paramInt1) + { + default: + return super.onTransact(paramInt1, paramParcel1, paramParcel2, paramInt2); + case 1598968902: + paramParcel2.writeString("com.tencent.kingkong.IContentObserver"); + return true; + } + paramParcel1.enforceInterface("com.tencent.kingkong.IContentObserver"); + boolean bool; + if (paramParcel1.readInt() != 0) + { + bool = true; + if (paramParcel1.readInt() == 0) { + break label97; + } + } + label97: + for (paramParcel1 = (Uri)Uri.CREATOR.createFromParcel(paramParcel1);; paramParcel1 = null) + { + onChange(bool, paramParcel1); + return true; + bool = false; + break; + } + } + + private static class Proxy + implements IContentObserver + { + private IBinder mRemote; + + Proxy(IBinder paramIBinder) + { + this.mRemote = paramIBinder; + } + + public IBinder asBinder() + { + return this.mRemote; + } + + public String getInterfaceDescriptor() + { + return "com.tencent.kingkong.IContentObserver"; + } + + /* Error */ + public void onChange(boolean paramBoolean, Uri paramUri) + throws RemoteException + { + // Byte code: + // 0: iconst_1 + // 1: istore_3 + // 2: invokestatic 36 android/os/Parcel:obtain ()Landroid/os/Parcel; + // 5: astore 4 + // 7: aload 4 + // 9: ldc 26 + // 11: invokevirtual 40 android/os/Parcel:writeInterfaceToken (Ljava/lang/String;)V + // 14: iload_1 + // 15: ifeq +47 -> 62 + // 18: aload 4 + // 20: iload_3 + // 21: invokevirtual 44 android/os/Parcel:writeInt (I)V + // 24: aload_2 + // 25: ifnull +42 -> 67 + // 28: aload 4 + // 30: iconst_1 + // 31: invokevirtual 44 android/os/Parcel:writeInt (I)V + // 34: aload_2 + // 35: aload 4 + // 37: iconst_0 + // 38: invokevirtual 50 android/net/Uri:writeToParcel (Landroid/os/Parcel;I)V + // 41: aload_0 + // 42: getfield 19 com/tencent/kingkong/IContentObserver$Stub$Proxy:mRemote Landroid/os/IBinder; + // 45: iconst_1 + // 46: aload 4 + // 48: aconst_null + // 49: iconst_1 + // 50: invokeinterface 56 5 0 + // 55: pop + // 56: aload 4 + // 58: invokevirtual 59 android/os/Parcel:recycle ()V + // 61: return + // 62: iconst_0 + // 63: istore_3 + // 64: goto -46 -> 18 + // 67: aload 4 + // 69: iconst_0 + // 70: invokevirtual 44 android/os/Parcel:writeInt (I)V + // 73: goto -32 -> 41 + // 76: astore_2 + // 77: aload 4 + // 79: invokevirtual 59 android/os/Parcel:recycle ()V + // 82: aload_2 + // 83: athrow + // Local variable table: + // start length slot name signature + // 0 84 0 this Proxy + // 0 84 1 paramBoolean boolean + // 0 84 2 paramUri Uri + // 1 63 3 i int + // 5 73 4 localParcel Parcel + // Exception table: + // from to target type + // 7 14 76 finally + // 18 24 76 finally + // 28 41 76 finally + // 41 56 76 finally + // 67 73 76 finally + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.IContentObserver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/MainConfig.java b/com.tencent.token/classes.jar/com/tencent/kingkong/MainConfig.java new file mode 100755 index 00000000000..c1858aed7eb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/MainConfig.java @@ -0,0 +1,219 @@ +package com.tencent.kingkong; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.text.TextUtils; +import java.util.ArrayList; +import java.util.Iterator; +import org.json.JSONArray; +import org.json.JSONObject; + +public class MainConfig +{ + private static final String LOG_TAG = "KingKongMainConfig"; + private static final String SHARED_PREFERENCE_PATCH_LIST = "PATCH_LIST"; + public static final String STATUS_DISABLED = "disabled"; + public static final String STATUS_ENABLED = "enabled"; + public static final String STATUS_INSTALL = "install"; + public static final String STATUS_UPDATE = "update"; + private static final String TAG_APP_NAME = "app"; + private static final String TAG_PATCHES = "patches"; + private static MainConfig mMainConfig = null; + public String mAppName = ""; + private ArrayList mPatches = new ArrayList(); + private SharedPreferences mSharedPref = null; + private SharedPreferences.Editor mSharedPrefEditor = null; + + private MainConfig() {} + + private MainConfig(Context paramContext) + { + this.mSharedPref = paramContext.getSharedPreferences("SHARED_PREFERENCE_KINGKONG_PATCH", 0); + this.mSharedPrefEditor = this.mSharedPref.edit(); + paramContext = this.mSharedPref.getString("PATCH_LIST", "").split(";"); + int j = paramContext.length; + for (;;) + { + if (i >= j) { + return; + } + Object localObject = paramContext[i]; + if (!((String)localObject).equals("")) + { + localObject = new PatchInfo(this.mSharedPref, (String)localObject); + Common.Log.d("KingKongMainConfig", "--> " + localObject); + this.mPatches.add(localObject); + } + i += 1; + } + } + + public static MainConfig getMainConfig(Context paramContext) + { + if (mMainConfig != null) { + return mMainConfig; + } + try + { + if (mMainConfig != null) + { + paramContext = mMainConfig; + return paramContext; + } + } + finally {} + mMainConfig = new MainConfig(paramContext); + paramContext = mMainConfig; + return paramContext; + } + + public static MainConfig parseFromFile(String paramString) + { + Common.Log.d("KingKongMainConfig", "Analysing Config File " + paramString); + if (DataReport.getPackageName() == null) + { + Common.Log.d("KingKongMainConfig", "Unable to get application name"); + paramString = null; + } + for (;;) + { + return paramString; + MainConfig localMainConfig = new MainConfig(); + try + { + paramString = Utils.ReadFileToString(paramString); + Common.Log.d("KingKongMainConfig", "Main config : " + paramString); + if (TextUtils.isEmpty(paramString)) { + return null; + } + JSONArray localJSONArray = new JSONObject(paramString).getJSONArray("patches"); + int i = 0; + for (;;) + { + paramString = localMainConfig; + if (i >= localJSONArray.length()) { + break; + } + paramString = PatchInfo.parseFromJSON(localJSONArray.getJSONObject(i)); + if (paramString == null) { + return null; + } + Common.Log.d("KingKongMainConfig", "-->" + paramString); + localMainConfig.mPatches.add(paramString); + i += 1; + } + return null; + } + catch (Exception paramString) + { + Common.Log.d("KingKongMainConfig", "Parse main config exception " + paramString); + } + } + } + + private void updatePatchNames() + { + String str = ""; + Iterator localIterator = this.mPatches.iterator(); + for (;;) + { + if (!localIterator.hasNext()) + { + this.mSharedPrefEditor.putString("PATCH_LIST", str); + this.mSharedPrefEditor.commit(); + return; + } + PatchInfo localPatchInfo = (PatchInfo)localIterator.next(); + str = str + localPatchInfo.mPatchName + ";"; + } + } + + public PatchInfo findPatch(String paramString) + { + Iterator localIterator = this.mPatches.iterator(); + PatchInfo localPatchInfo; + do + { + if (!localIterator.hasNext()) { + return null; + } + localPatchInfo = (PatchInfo)localIterator.next(); + } while (!localPatchInfo.mPatchName.equals(paramString)); + return localPatchInfo; + } + + public ArrayList getPatchList() + { + return this.mPatches; + } + + public void removePatch(PatchInfo paramPatchInfo) + { + String str = paramPatchInfo.mPatchName; + Iterator localIterator = this.mPatches.iterator(); + if (!localIterator.hasNext()) {} + for (;;) + { + paramPatchInfo.removeConfig(this.mSharedPrefEditor); + updatePatchNames(); + return; + PatchInfo localPatchInfo = (PatchInfo)localIterator.next(); + if (!localPatchInfo.mPatchName.equals(str)) { + break; + } + this.mPatches.remove(localPatchInfo); + } + } + + public void removePatch(String paramString) + { + Iterator localIterator = this.mPatches.iterator(); + if (!localIterator.hasNext()) {} + for (;;) + { + updatePatchNames(); + return; + PatchInfo localPatchInfo = (PatchInfo)localIterator.next(); + if (!localPatchInfo.mPatchName.equals(paramString)) { + break; + } + localPatchInfo.removeConfig(this.mSharedPrefEditor); + this.mPatches.remove(localPatchInfo); + } + } + + public void updatePatch(PatchInfo paramPatchInfo) + { + int j = -1; + int i = 0; + if (i >= this.mPatches.size()) + { + i = j; + label17: + if (i == -1) { + break label75; + } + this.mPatches.set(i, paramPatchInfo); + } + for (;;) + { + paramPatchInfo.updateConfig(this.mSharedPrefEditor); + return; + if (((PatchInfo)this.mPatches.get(i)).mPatchName.equals(paramPatchInfo.mPatchName)) { + break label17; + } + i += 1; + break; + label75: + this.mPatches.add(paramPatchInfo); + updatePatchNames(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.MainConfig + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/MatrixCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/MatrixCursor.java new file mode 100755 index 00000000000..e214f6d9208 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/MatrixCursor.java @@ -0,0 +1,258 @@ +package com.tencent.kingkong; + +import android.database.CharArrayBuffer; +import android.database.ContentObserver; +import android.database.DataSetObserver; +import java.util.ArrayList; +import java.util.Iterator; + +public class MatrixCursor + extends AbstractCursor +{ + private final int columnCount; + private final String[] columnNames; + private Object[] data; + private int rowCount = 0; + + public MatrixCursor(String[] paramArrayOfString) + { + this(paramArrayOfString, 16); + } + + public MatrixCursor(String[] paramArrayOfString, int paramInt) + { + this.columnNames = paramArrayOfString; + this.columnCount = paramArrayOfString.length; + int i = paramInt; + if (paramInt < 1) { + i = 1; + } + this.data = new Object[this.columnCount * i]; + } + + private void addRow(ArrayList paramArrayList, int paramInt) + { + int j = paramArrayList.size(); + if (j != this.columnCount) { + throw new IllegalArgumentException("columnNames.length = " + this.columnCount + ", columnValues.size() = " + j); + } + this.rowCount += 1; + Object[] arrayOfObject = this.data; + int i = 0; + while (i < j) + { + arrayOfObject[(paramInt + i)] = paramArrayList.get(i); + i += 1; + } + } + + private void ensureCapacity(int paramInt) + { + if (paramInt > this.data.length) + { + Object[] arrayOfObject = this.data; + int j = this.data.length * 2; + int i = j; + if (j < paramInt) { + i = paramInt; + } + this.data = new Object[i]; + System.arraycopy(arrayOfObject, 0, this.data, 0, arrayOfObject.length); + } + } + + private Object get(int paramInt) + { + if ((paramInt < 0) || (paramInt >= this.columnCount)) { + throw new CursorIndexOutOfBoundsException("Requested column: " + paramInt + ", # of columns: " + this.columnCount); + } + if (this.mPos < 0) { + throw new CursorIndexOutOfBoundsException("Before first row."); + } + if (this.mPos >= this.rowCount) { + throw new CursorIndexOutOfBoundsException("After last row."); + } + return this.data[(this.mPos * this.columnCount + paramInt)]; + } + + public void addRow(Iterable paramIterable) + { + int i = this.rowCount * this.columnCount; + int j = i + this.columnCount; + ensureCapacity(j); + if ((paramIterable instanceof ArrayList)) + { + addRow((ArrayList)paramIterable, i); + return; + } + Object[] arrayOfObject = this.data; + paramIterable = paramIterable.iterator(); + while (paramIterable.hasNext()) + { + Object localObject = paramIterable.next(); + if (i == j) { + throw new IllegalArgumentException("columnValues.size() > columnNames.length"); + } + arrayOfObject[i] = localObject; + i += 1; + } + if (i != j) { + throw new IllegalArgumentException("columnValues.size() < columnNames.length"); + } + this.rowCount += 1; + } + + public void addRow(Object[] paramArrayOfObject) + { + if (paramArrayOfObject.length != this.columnCount) { + throw new IllegalArgumentException("columnNames.length = " + this.columnCount + ", columnValues.length = " + paramArrayOfObject.length); + } + int i = this.rowCount; + this.rowCount = (i + 1); + i *= this.columnCount; + ensureCapacity(this.columnCount + i); + System.arraycopy(paramArrayOfObject, 0, this.data, i, this.columnCount); + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) {} + + public byte[] getBlob(int paramInt) + { + return (byte[])get(paramInt); + } + + public String[] getColumnNames() + { + return this.columnNames; + } + + public int getCount() + { + return this.rowCount; + } + + public double getDouble(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return 0.0D; + } + if ((localObject instanceof Number)) { + return ((Number)localObject).doubleValue(); + } + return Double.parseDouble(localObject.toString()); + } + + public float getFloat(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return 0.0F; + } + if ((localObject instanceof Number)) { + return ((Number)localObject).floatValue(); + } + return Float.parseFloat(localObject.toString()); + } + + public int getInt(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return 0; + } + if ((localObject instanceof Number)) { + return ((Number)localObject).intValue(); + } + return Integer.parseInt(localObject.toString()); + } + + public long getLong(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return 0L; + } + if ((localObject instanceof Number)) { + return ((Number)localObject).longValue(); + } + return Long.parseLong(localObject.toString()); + } + + public short getShort(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return 0; + } + if ((localObject instanceof Number)) { + return ((Number)localObject).shortValue(); + } + return Short.parseShort(localObject.toString()); + } + + public String getString(int paramInt) + { + Object localObject = get(paramInt); + if (localObject == null) { + return null; + } + return localObject.toString(); + } + + public int getType(int paramInt) + { + return DatabaseUtils.getTypeOfObject(get(paramInt)); + } + + public boolean isNull(int paramInt) + { + return get(paramInt) == null; + } + + public RowBuilder newRow() + { + this.rowCount += 1; + int i = this.rowCount * this.columnCount; + ensureCapacity(i); + return new RowBuilder(i - this.columnCount, i); + } + + public void registerContentObserver(ContentObserver paramContentObserver) {} + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) {} + + public void unregisterContentObserver(ContentObserver paramContentObserver) {} + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) {} + + public class RowBuilder + { + private final int endIndex; + private int index; + + RowBuilder(int paramInt1, int paramInt2) + { + this.index = paramInt1; + this.endIndex = paramInt2; + } + + public RowBuilder add(Object paramObject) + { + if (this.index == this.endIndex) { + throw new CursorIndexOutOfBoundsException("No more columns left."); + } + Object[] arrayOfObject = MatrixCursor.this.data; + int i = this.index; + this.index = (i + 1); + arrayOfObject[i] = paramObject; + return this; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.MatrixCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/MergeCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/MergeCursor.java new file mode 100755 index 00000000000..85cda6c4a44 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/MergeCursor.java @@ -0,0 +1,252 @@ +package com.tencent.kingkong; + +import android.database.CharArrayBuffer; + +public class MergeCursor + extends AbstractCursor +{ + private Cursor mCursor; + private Cursor[] mCursors; + private DataSetObserver mObserver = new DataSetObserver() + { + public void onChanged() + { + MergeCursor.this.mPos = -1; + } + + public void onInvalidated() + { + MergeCursor.this.mPos = -1; + } + }; + + public MergeCursor(Cursor[] paramArrayOfCursor) + { + this.mCursors = paramArrayOfCursor; + this.mCursor = paramArrayOfCursor[0]; + int i = 0; + if (i < this.mCursors.length) + { + if (this.mCursors[i] == null) {} + for (;;) + { + i += 1; + break; + this.mCursors[i].registerDataSetObserver(this.mObserver); + } + } + } + + public void close() + { + int j = this.mCursors.length; + int i = 0; + if (i < j) + { + if (this.mCursors[i] == null) {} + for (;;) + { + i += 1; + break; + this.mCursors[i].close(); + } + } + super.close(); + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) {} + + public void deactivate() + { + int j = this.mCursors.length; + int i = 0; + while (i < j) + { + if (this.mCursors[i] != null) { + this.mCursors[i].deactivate(); + } + i += 1; + } + super.deactivate(); + } + + public byte[] getBlob(int paramInt) + { + return this.mCursor.getBlob(paramInt); + } + + public String[] getColumnNames() + { + if (this.mCursor != null) { + return this.mCursor.getColumnNames(); + } + return new String[0]; + } + + public int getCount() + { + int j = 0; + int m = this.mCursors.length; + int i = 0; + while (i < m) + { + int k = j; + if (this.mCursors[i] != null) { + k = j + this.mCursors[i].getCount(); + } + i += 1; + j = k; + } + return j; + } + + public double getDouble(int paramInt) + { + return this.mCursor.getDouble(paramInt); + } + + public float getFloat(int paramInt) + { + return this.mCursor.getFloat(paramInt); + } + + public int getInt(int paramInt) + { + return this.mCursor.getInt(paramInt); + } + + public long getLong(int paramInt) + { + return this.mCursor.getLong(paramInt); + } + + public short getShort(int paramInt) + { + return this.mCursor.getShort(paramInt); + } + + public String getString(int paramInt) + { + return this.mCursor.getString(paramInt); + } + + public int getType(int paramInt) + { + return this.mCursor.getType(paramInt); + } + + public boolean isNull(int paramInt) + { + return this.mCursor.isNull(paramInt); + } + + public boolean onMove(int paramInt1, int paramInt2) + { + this.mCursor = null; + int i = 0; + int j = this.mCursors.length; + paramInt1 = 0; + if (paramInt1 < j) { + if (this.mCursors[paramInt1] != null) {} + } + for (;;) + { + paramInt1 += 1; + break; + if (paramInt2 < this.mCursors[paramInt1].getCount() + i) + { + this.mCursor = this.mCursors[paramInt1]; + if (this.mCursor == null) { + break label102; + } + return this.mCursor.moveToPosition(paramInt2 - i); + } + i += this.mCursors[paramInt1].getCount(); + } + label102: + return false; + } + + public void registerContentObserver(android.database.ContentObserver paramContentObserver) {} + + public void registerContentObserver(ContentObserver paramContentObserver) + { + int j = this.mCursors.length; + int i = 0; + while (i < j) + { + if (this.mCursors[i] != null) { + this.mCursors[i].registerContentObserver(paramContentObserver); + } + i += 1; + } + } + + public void registerDataSetObserver(android.database.DataSetObserver paramDataSetObserver) {} + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) + { + int j = this.mCursors.length; + int i = 0; + while (i < j) + { + if (this.mCursors[i] != null) { + this.mCursors[i].registerDataSetObserver(paramDataSetObserver); + } + i += 1; + } + } + + public boolean requery() + { + int j = this.mCursors.length; + int i = 0; + if (i < j) + { + if (this.mCursors[i] == null) {} + while (this.mCursors[i].requery()) + { + i += 1; + break; + } + return false; + } + return true; + } + + public void unregisterContentObserver(android.database.ContentObserver paramContentObserver) {} + + public void unregisterContentObserver(ContentObserver paramContentObserver) + { + int j = this.mCursors.length; + int i = 0; + while (i < j) + { + if (this.mCursors[i] != null) { + this.mCursors[i].unregisterContentObserver(paramContentObserver); + } + i += 1; + } + } + + public void unregisterDataSetObserver(android.database.DataSetObserver paramDataSetObserver) {} + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) + { + int j = this.mCursors.length; + int i = 0; + while (i < j) + { + if (this.mCursors[i] != null) { + this.mCursors[i].unregisterDataSetObserver(paramDataSetObserver); + } + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.MergeCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/NativePatch.java b/com.tencent.token/classes.jar/com/tencent/kingkong/NativePatch.java new file mode 100755 index 00000000000..3de37b143ef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/NativePatch.java @@ -0,0 +1,526 @@ +package com.tencent.kingkong; + +import android.content.Context; +import java.io.File; +import java.util.ArrayList; +import org.json.JSONException; +import org.json.JSONObject; + +public class NativePatch + extends Patch +{ + private static final String LOG_TAG = "KingKongNativePatch"; + private static final String TAG_BASIC_GROUP = "basic_group"; + private static final String TAG_FINGERPRINT_COUNT = "fingerprint_count"; + private static final String TAG_FINGERPRINT_DEFINE = "fingerprint_definition"; + private static final String TAG_FINGERPRINT_FUNCTION_NAME = "func_name"; + private static final String TAG_FINGERPRINT_LIBRARY_NAME = "lib_name"; + private static final String TAG_FINGERPRINT_TYPE = "type"; + private static final String TAG_HOOKPOINT_COUNT = "hookpoint_count"; + private static final String TAG_HOOKPOINT_DEFINE = "hookpoint_definition"; + private static final String TAG_HOOKPOINT_FUNCTION_NAME = "hookpoint_func_name"; + private static final String TAG_HOOKPOINT_LIBRARY_NAME = "hookpoint_lib_name"; + private static final String TAG_HOOKPOINT_TYPE = "hookpoint_type"; + private static final String TAG_PARAMETER_COUNT = "param_count"; + private static final String TAG_PARAMETER_DEFINE = "parameter_definition"; + private static final String TAG_PARAM_INDEX = "param_index"; + private static final String TAG_PARAM_TYPE = "param_type"; + private static final String TAG_PARAM_VALUE1 = "param_value1"; + private static final String TAG_PARAM_VALUE2 = "param_value2"; + private static final String TAG_PATCH_NAME = "name"; + private static final String TAG_TYPE = "type"; + private static final String TAG_VERSION = "ver"; + private static String mPathSeparator = File.separator; + private int mFingerprintCount = 0; + private ArrayList mFingerprintDefines = new ArrayList(); + private int mHookPointCount = 0; + private ArrayList mHookPointDefines = new ArrayList(); + private ArrayList mNativeSubPatches = new ArrayList(); + private int mParameterCount = 0; + private ArrayList mParameterDefines = new ArrayList(); + private NativeSubPatch mValidSubPatch = null; + + public NativePatch(String paramString1, String paramString2) + { + this.mPath = paramString1; + this.mPatchName = paramString2; + } + + public static Patch CreatePatch(String paramString, PatchInfo paramPatchInfo) + { + paramString = new NativePatch(paramString, paramPatchInfo.mPatchName); + if ((paramString.parseConfig(paramString.getConfigFileName())) && (paramString.parseSubPatches())) { + return paramString; + } + return null; + } + + public static String getFingerprint(String paramString1, String paramString2, int paramInt) + { + paramString1 = PatchManager.nativeGetFingerprint(paramString1, paramString2, 0, paramInt); + if ((paramString1 != null) && (paramString1.length != 0)) { + return Utils.getSHA1String(paramString1); + } + return ""; + } + + public static String getFingerprint(String paramString1, String paramString2, int paramInt1, int paramInt2) + { + paramString1 = PatchManager.nativeGetFingerprint(paramString1, paramString2, paramInt1, paramInt2); + if ((paramString1 != null) && (paramString1.length != 0)) { + return Utils.getSHA1String(paramString1); + } + return ""; + } + + private ArrayList getFingerprintLibraries() + { + ArrayList localArrayList = new ArrayList(); + int i = 0; + for (;;) + { + if (i >= this.mFingerprintDefines.size()) { + return localArrayList; + } + localArrayList.add(((FingerprintDef)this.mFingerprintDefines.get(i)).libName); + i += 1; + } + } + + private int[] getGotHookPoints() + { + int[] arrayOfInt2 = Common.getPatchGotHookPoints(this.mPatchName); + Object localObject; + if (arrayOfInt2 == null) + { + Common.Log.d("KingKongNativePatch", "No GOT Hookpoint found"); + localObject = null; + return localObject; + } + if (arrayOfInt2.length != this.mHookPointCount) + { + Common.Log.d("KingKongNativePatch", "Got Hookpoint length mismatch " + this.mHookPointCount + ", " + arrayOfInt2.length); + return null; + } + int[] arrayOfInt1 = new int[this.mHookPointCount]; + int i = 0; + for (;;) + { + localObject = arrayOfInt1; + if (i >= this.mHookPointCount) { + break; + } + arrayOfInt1[i] = PatchManager.nativeCalcParameter(2, ((HookPointDef)this.mHookPointDefines.get(i)).libName, "", arrayOfInt2[i]); + if (arrayOfInt1[i] == -1) + { + Common.Log.d("KingKongNativePatch", "Calculate GOT Hookpoint failed " + i); + return null; + } + i += 1; + } + } + + private int[] getJumperPoints() + { + int[] arrayOfInt2 = Common.getPatchJumperPoints(this.mPatchName); + Object localObject; + if (arrayOfInt2 == null) + { + Common.Log.d("KingKongNativePatch", "No Jumper point found"); + localObject = null; + return localObject; + } + if (arrayOfInt2.length != this.mHookPointCount) + { + Common.Log.d("KingKongNativePatch", "Jumper point length mismatch " + this.mHookPointCount + ", " + arrayOfInt2.length); + return null; + } + int[] arrayOfInt1 = new int[this.mHookPointCount]; + int i = 0; + for (;;) + { + localObject = arrayOfInt1; + if (i >= this.mHookPointCount) { + break; + } + arrayOfInt1[i] = PatchManager.nativeCalcParameter(2, ((HookPointDef)this.mHookPointDefines.get(i)).libName, "", arrayOfInt2[i]); + if (arrayOfInt1[i] == -1) + { + Common.Log.d("KingKongNativePatch", "Calculate Jumper point failed " + i); + return null; + } + i += 1; + } + } + + private String getSubPatchFileName() + { + return this.mPath + mPathSeparator + this.mPatchName + ".subpatch"; + } + + private int getValidPatchIndex() + { + int i = 0; + if (i >= this.mNativeSubPatches.size()) + { + Common.Log.d("KingKongNativePatch", "Unable to get valid subpatch by offset!"); + return -1; + } + NativeSubPatch localNativeSubPatch = (NativeSubPatch)this.mNativeSubPatches.get(i); + if ((localNativeSubPatch.fingerprints.size() != this.mFingerprintCount) || (localNativeSubPatch.hookPoints.size() != this.mHookPointCount) || (localNativeSubPatch.fingerprints_value.size() != this.mFingerprintCount)) { + Common.Log.d("KingKongNativePatch", "Skip fingerprint/hookpoint count mismatch subpatch " + i); + } + label303: + for (;;) + { + i += 1; + break; + int j = 0; + for (;;) + { + if (j >= this.mFingerprintCount) { + break label303; + } + Object localObject = (FingerprintDef)this.mFingerprintDefines.get(j); + String str1 = ((FingerprintDef)localObject).libName; + String str2 = ((FingerprintDef)localObject).funcName; + int k = ((FingerprintDef)localObject).type; + int m = ((Integer)localNativeSubPatch.fingerprints_value.get(j)).intValue(); + localObject = (String)localNativeSubPatch.fingerprints.get(j); + if ((m == -1) || ("null".equals(localObject))) + { + Common.Log.d("KingKongNativePatch", "Skip null fingerprint "); + if (j == this.mFingerprintCount - 1) + { + Common.Log.d("KingKongNativePatch", "Well done, all fingerprints matched!"); + return i; + } + } + else + { + str1 = getFingerprint(str1, str2, m, k); + if ((str1 == null) || (!str1.equals(localObject))) { + break; + } + Common.Log.d("KingKongNativePatch", "Matches fingerprint " + str1); + if (j == this.mFingerprintCount - 1) + { + Common.Log.d("KingKongNativePatch", "Well done, all fingerprints matched!"); + return i; + } + } + j += 1; + } + } + } + + private int hookpointTypeToParamType(int paramInt) + { + int i = 1; + if (paramInt == 1) { + i = 2; + } + return i; + } + + private boolean parseConfig(String paramString) + { + paramString = Utils.ReadFileToString(paramString); + try + { + paramString = new JSONObject(paramString); + this.mPatchName = paramString.getString("name"); + this.mPatchVersion = paramString.getString("ver"); + this.mPatchType = paramString.getString("type"); + JSONObject localJSONObject = paramString.getJSONObject("basic_group"); + this.mFingerprintCount = localJSONObject.getInt("fingerprint_count"); + this.mParameterCount = localJSONObject.getInt("param_count"); + this.mHookPointCount = localJSONObject.getInt("hookpoint_count"); + Common.Log.d("KingKongNativePatch", "--> Fingerprint count : " + this.mFingerprintCount); + Common.Log.d("KingKongNativePatch", "--> Parameter count : " + this.mParameterCount); + Common.Log.d("KingKongNativePatch", "--> HookPoint count : " + this.mHookPointCount); + int i = 0; + if (i >= this.mHookPointCount) + { + i = 0; + label168: + if (i < this.mFingerprintCount) { + break label274; + } + i = 0; + } + for (;;) + { + if (i >= this.mParameterCount) + { + return true; + localJSONObject = paramString.getJSONObject("hookpoint_definition_" + String.valueOf(i + 1)); + localObject = new HookPointDef(); + if (!((HookPointDef)localObject).parse(localJSONObject)) { + break label492; + } + Common.Log.d("KingKongNativePatch", "--> HookPoint : " + localObject); + this.mHookPointDefines.add(localObject); + i += 1; + break; + label274: + localJSONObject = paramString.getJSONObject("fingerprint_definition_" + String.valueOf(i + 1)); + localObject = new FingerprintDef(); + if (!((FingerprintDef)localObject).parse(localJSONObject)) { + break label494; + } + this.mFingerprintDefines.add(localObject); + Common.Log.d("KingKongNativePatch", "--> Fingerprint " + localObject); + i += 1; + break label168; + } + localJSONObject = paramString.getJSONObject("parameter_definition_" + String.valueOf(i + 1)); + Object localObject = new ParameterDef(); + if (!((ParameterDef)localObject).parse(localJSONObject)) { + break label465; + } + if (((ParameterDef)localObject).index != i) + { + Common.Log.d("KingKongNativePatch", "Parameter index error!"); + return false; + } + Common.Log.d("KingKongNativePatch", "--> Parameter definition : " + localObject); + this.mParameterDefines.add(localObject); + i += 1; + } + label465: + return false; + } + catch (JSONException paramString) + { + Common.Log.d("KingKongNativePatch", "Parse sub patches failed : " + paramString); + return false; + } + label492: + return false; + label494: + return false; + } + + private boolean parseSubPatches() + { + this.mNativeSubPatches = NativeSubPatch.parseSubPatchesFromFile(getSubPatchFileName()); + return this.mNativeSubPatches != null; + } + + public int[] calcParameters(ArrayList paramArrayList, ArrayList paramArrayList1) + { + int[] arrayOfInt = new int[paramArrayList.size()]; + int i = 0; + for (;;) + { + if (i >= paramArrayList.size()) { + return arrayOfInt; + } + ParameterDef localParameterDef = (ParameterDef)paramArrayList.get(i); + int j = ((Integer)paramArrayList1.get(i)).intValue(); + arrayOfInt[i] = PatchManager.nativeCalcParameter(localParameterDef.type, localParameterDef.value1, localParameterDef.value2, j); + if (arrayOfInt[i] == -1) + { + Common.Log.d("KingKongNativePatch", "Calculate parameter failed " + i); + return null; + } + i += 1; + } + } + + public int doPatch(Context paramContext) + { + Common.Log.d("KingKongNativePatch", "---> Patching " + this.mPatchName + " <-------"); + int i = Common.getSubPatchIndex(this.mPatchName, getFingerprintLibraries()); + if ((i == -1) || (i >= this.mNativeSubPatches.size())) + { + Common.Log.d("KingKongNativePatch", "Unable to find valid subpatch index " + i); + return 12; + } + paramContext = (NativeSubPatch)this.mNativeSubPatches.get(i); + if ((paramContext.hookPoints.size() != this.mHookPointCount) || (this.mHookPointDefines.size() != this.mHookPointCount)) + { + Common.Log.d("KingKongNativePatch", "SubPatch Hookpoint count mismatch "); + return 11; + } + int[] arrayOfInt1 = getGotHookPoints(); + int[] arrayOfInt2 = getJumperPoints(); + if ((arrayOfInt1 == null) || (arrayOfInt2 == null)) + { + Common.Log.d("KingKongNativePatch", "Unable to get GOT HookPoint or Jumper point"); + return 8; + } + int j = paramContext.isThumb2; + i = 0; + if (i >= this.mHookPointCount) + { + Common.Log.d("KingKongNativePatch", "---> Do patch OK <----"); + return 0; + } + Object localObject2 = (HookPointDef)this.mHookPointDefines.get(i); + Object localObject1 = paramContext.parameters; + int n = ((Integer)paramContext.hookPoints.get(i)).intValue(); + int k = arrayOfInt2[i]; + int m = arrayOfInt1[i]; + int i1 = ((HookPointDef)localObject2).type; + String str = ((HookPointDef)localObject2).libName; + localObject2 = ((HookPointDef)localObject2).funcName; + if (n == -1) { + Common.Log.d("KingKongNativePatch", "Skip empty hook point " + i); + } + do + { + i += 1; + break; + n = PatchManager.nativeCalcParameter(hookpointTypeToParamType(i1), str, (String)localObject2, n); + if (n == -1) + { + Common.Log.d("KingKongNativePatch", "Calculate hookPoint failed"); + return 7; + } + localObject1 = calcParameters(this.mParameterDefines, (ArrayList)localObject1); + if (localObject1 == null) { + return 6; + } + } while (PatchManager.nativeDoPatch(Common.makeInstallName("lib" + this.mPatchName + ".so"), str, (String)localObject2, n, k, m, (int[])localObject1, this.mParameterCount, j)); + Common.Log.d("KingKongNativePatch", "Native do patch failed"); + return 10; + } + + public NativeSubPatch getNativeSubPatch() + { + return this.mValidSubPatch; + } + + public boolean initPatch() + { + int j = getValidPatchIndex(); + if (j == -1) { + return false; + } + Common.Log.d("KingKongNativePatch", "Valid subpatch index : " + this.mPatchName + " : " + j); + int[] arrayOfInt1 = new int[this.mHookPointCount]; + int[] arrayOfInt2 = new int[this.mHookPointCount]; + int i = 0; + for (;;) + { + if (i >= this.mHookPointCount) + { + Common.storePatchHookParams(this.mPatchName, this.mHookPointCount, arrayOfInt1, arrayOfInt2); + Common.storeSubPatchIndex(this.mPatchName, j, getFingerprintLibraries()); + return true; + } + String str = ((HookPointDef)this.mHookPointDefines.get(i)).libName; + int k = PatchManager.nativeCalcJumperPoint(str); + int m = PatchManager.nativeCalcGotHookPoint(str); + if ((k == -1) || (m == -1)) + { + Common.Log.d("KingKongNativePatch", "Calculate jumper/got point failed"); + return false; + } + Common.Log.d("KingKongNativePatch", "Patch params " + i + ", " + str + ", " + k + ", " + m); + arrayOfInt1[i] = k; + arrayOfInt2[i] = m; + i += 1; + } + } + + public class FingerprintDef + { + public String funcName; + public String libName; + public int type; + + public FingerprintDef() {} + + public boolean parse(JSONObject paramJSONObject) + { + try + { + this.type = Integer.parseInt(paramJSONObject.getString("type")); + this.libName = paramJSONObject.getString("lib_name").trim(); + this.funcName = paramJSONObject.getString("func_name").trim(); + return true; + } + catch (Exception paramJSONObject) + { + Common.Log.d("KingKongNativePatch", "Parse fingerprint error!"); + } + return false; + } + + public String toString() + { + return this.type + ", " + this.libName + ", " + this.funcName; + } + } + + public class HookPointDef + { + public String funcName; + public String libName; + public int type; + + public HookPointDef() {} + + public boolean parse(JSONObject paramJSONObject) + { + try + { + this.type = Integer.parseInt(paramJSONObject.getString("hookpoint_type")); + this.libName = paramJSONObject.getString("hookpoint_lib_name").trim(); + this.funcName = paramJSONObject.getString("hookpoint_func_name").trim(); + return true; + } + catch (Exception paramJSONObject) + { + Common.Log.d("KingKongNativePatch", "Parse HookPoint error!"); + } + return false; + } + + public String toString() + { + return this.type + ", " + this.libName + ", " + this.funcName; + } + } + + public class ParameterDef + { + public int index; + public int type; + public String value1; + public String value2; + + public ParameterDef() {} + + public boolean parse(JSONObject paramJSONObject) + { + try + { + this.index = Integer.parseInt(paramJSONObject.getString("param_index")); + this.type = Integer.parseInt(paramJSONObject.getString("param_type")); + this.value1 = paramJSONObject.getString("param_value1").trim(); + this.value2 = paramJSONObject.getString("param_value2").trim(); + return true; + } + catch (Exception paramJSONObject) + { + Common.Log.d("KingKongNativePatch", "Parse parameter error!"); + } + return false; + } + + public String toString() + { + return "Index " + this.index + ": " + this.type + ", " + this.value1 + ", " + this.value2; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.NativePatch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/NativeSubPatch.java b/com.tencent.token/classes.jar/com/tencent/kingkong/NativeSubPatch.java new file mode 100755 index 00000000000..8719fd3c2da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/NativeSubPatch.java @@ -0,0 +1,152 @@ +package com.tencent.kingkong; + +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class NativeSubPatch +{ + private static final String LOG_TAG = "KingKongSubPatch"; + private static final String TAG_FINGERPRINTS = "fingerprints"; + private static final String TAG_FINGERPRINTS_VALUE = "fingerprints_value"; + private static final String TAG_HOOK_POINT = "hook_point"; + private static final String TAG_IS_THUMB2 = "isThumb2"; + private static final String TAG_PARAMETERS = "parameters"; + private static final String TAG_PATCH_FILE = "patch_file"; + public ArrayList fingerprints = new ArrayList(); + public ArrayList fingerprints_value = new ArrayList(); + public ArrayList hookPoints = new ArrayList(); + public int isThumb2 = 1; + public ArrayList parameters = new ArrayList(); + public String patchFileName; + + public static ArrayList parseSubPatchesFromFile(String paramString) + { + ArrayList localArrayList = new ArrayList(); + try + { + paramString = new JSONArray(Utils.ReadFileToString(paramString)); + int i = 0; + for (;;) + { + if (i >= paramString.length()) { + return localArrayList; + } + Common.Log.v("KingKongSubPatch", "Parsing sub patch " + i); + NativeSubPatch localNativeSubPatch = new NativeSubPatch(); + if (!localNativeSubPatch.parseFromJSON(paramString.getJSONObject(i))) { + break; + } + localNativeSubPatch.print(); + localArrayList.add(localNativeSubPatch); + i += 1; + } + Common.Log.d("KingKongSubPatch", "Parse sub patch failed, give up"); + return null; + } + catch (Exception paramString) + { + Common.Log.d("KingKongSubPatch", "Parse SubPatch List exception : " + paramString); + } + return null; + } + + public boolean parseFromJSON(JSONObject paramJSONObject) + { + for (;;) + { + int k; + int i; + try + { + this.patchFileName = paramJSONObject.getString("patch_file").trim(); + JSONArray localJSONArray1 = paramJSONObject.getJSONArray("parameters"); + JSONArray localJSONArray2 = paramJSONObject.getJSONArray("fingerprints"); + JSONArray localJSONArray3 = paramJSONObject.getJSONArray("hook_point"); + JSONArray localJSONArray4 = paramJSONObject.getJSONArray("fingerprints_value"); + int m = localJSONArray1.length(); + k = localJSONArray2.length(); + int n = localJSONArray4.length(); + int j = localJSONArray3.length(); + i = 0; + if (i >= m) + { + if (n != k) + { + Common.Log.d("KingKongSubPatch", "Fingerprint value count mismatch " + n + ", " + k); + return false; + } + } + else + { + this.parameters.add(Integer.valueOf(localJSONArray1.getInt(i))); + i += 1; + continue; + if (i >= j) + { + this.isThumb2 = paramJSONObject.optInt("isThumb2", 1); + return true; + this.fingerprints.add(localJSONArray2.getString(i).trim()); + this.fingerprints_value.add(Integer.valueOf(localJSONArray4.getInt(i))); + i += 1; + break label257; + } + this.hookPoints.add(Integer.valueOf(localJSONArray3.getInt(i))); + i += 1; + continue; + } + i = 0; + } + catch (JSONException paramJSONObject) + { + Common.Log.d("KingKongSubPatch", "Parse SubPatch error : " + paramJSONObject); + return false; + } + catch (Exception paramJSONObject) + { + return false; + } + label257: + if (i >= k) { + i = 0; + } + } + } + + public void print() + { + int i = 0; + if (i >= this.hookPoints.size()) + { + i = 0; + label15: + if (i < this.parameters.size()) { + break label75; + } + i = 0; + } + for (;;) + { + if (i >= this.fingerprints.size()) + { + return; + Common.Log.v("KingKongSubPatch", "--> HookPoints : " + this.hookPoints.get(i)); + i += 1; + break; + label75: + Common.Log.v("KingKongSubPatch", "--> Parameters : " + ((Integer)this.parameters.get(i)).toString()); + i += 1; + break label15; + } + Common.Log.v("KingKongSubPatch", "--> FingerPrint : " + (String)this.fingerprints.get(i) + ", " + this.fingerprints_value.get(i)); + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.NativeSubPatch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Observable.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Observable.java new file mode 100755 index 00000000000..f7e4ece2d1d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Observable.java @@ -0,0 +1,53 @@ +package com.tencent.kingkong; + +import java.util.ArrayList; + +public abstract class Observable +{ + protected final ArrayList mObservers = new ArrayList(); + + public void registerObserver(T paramT) + { + if (paramT == null) { + throw new IllegalArgumentException("The observer is null."); + } + synchronized (this.mObservers) + { + if (this.mObservers.contains(paramT)) { + throw new IllegalStateException("Observer " + paramT + " is already registered."); + } + } + this.mObservers.add(paramT); + } + + public void unregisterAll() + { + synchronized (this.mObservers) + { + this.mObservers.clear(); + return; + } + } + + public void unregisterObserver(T paramT) + { + if (paramT == null) { + throw new IllegalArgumentException("The observer is null."); + } + int i; + synchronized (this.mObservers) + { + i = this.mObservers.indexOf(paramT); + if (i == -1) { + throw new IllegalStateException("Observer " + paramT + " was not registered."); + } + } + this.mObservers.remove(i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Observable + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/ParcelFileDescriptor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/ParcelFileDescriptor.java new file mode 100755 index 00000000000..c27d29482e9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/ParcelFileDescriptor.java @@ -0,0 +1,33 @@ +package com.tencent.kingkong; + +import java.io.FileDescriptor; + +public class ParcelFileDescriptor + extends android.os.ParcelFileDescriptor +{ + private final FileDescriptor mFileDescriptor; + private final ParcelFileDescriptor mWrapped; + + public ParcelFileDescriptor(FileDescriptor paramFileDescriptor) + { + super(null); + if (paramFileDescriptor == null) { + throw new NullPointerException("descriptor must not be null"); + } + this.mWrapped = null; + this.mFileDescriptor = paramFileDescriptor; + } + + public static ParcelFileDescriptor adoptFd(int paramInt) + { + return new ParcelFileDescriptor(getFileDescriptorFromFdNoDup(paramInt)); + } + + private static native FileDescriptor getFileDescriptorFromFdNoDup(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.ParcelFileDescriptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Patch.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Patch.java new file mode 100755 index 00000000000..6a9bd9d576e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Patch.java @@ -0,0 +1,106 @@ +package com.tencent.kingkong; + +import android.content.Context; +import java.io.File; +import java.util.ArrayList; + +public abstract class Patch +{ + public static final String LOG_TAG = "KingKongPatchInfo"; + public static final String PATCH_TYPE_ARBITRARY = "arbitrary"; + public static final String PATCH_TYPE_ART = "ART"; + public static final String PATCH_TYPE_DVM = "DVM"; + public static final String PATCH_TYPE_JAVA = "java"; + public static final String PATCH_TYPE_NATIVE = "Native"; + public static String mPathSeparator = File.separator; + public PatchInfo mPatchInfo = null; + public String mPatchName = ""; + public String mPatchType = ""; + public String mPatchVersion = ""; + public String mPath = ""; + + public static Patch CreatePatch(String paramString, PatchInfo paramPatchInfo) + { + String str = paramPatchInfo.mType; + if (str.equals("Native")) { + paramString = NativePatch.CreatePatch(paramString, paramPatchInfo); + } + while (paramString == null) + { + return null; + if ((str.equals("DVM")) || (str.equals("ART"))) + { + paramString = DvmPatch.CreatePatch(paramString, paramPatchInfo); + } + else + { + Common.Log.d("KingKongPatchInfo", "Unsupported patch type : " + str); + return null; + } + } + if ((!paramString.mPatchName.equals(paramPatchInfo.mPatchName)) || (!paramString.mPatchVersion.equals(paramPatchInfo.mVer)) || (!paramString.mPatchType.equals(paramPatchInfo.mType))) + { + Common.Log.d("KingKongPatchInfo", "Patch name, version or type mismatch : " + paramString.mPatchName + ", " + paramString.mPatchVersion + ", " + paramString.mPatchType); + return null; + } + paramString.mPatchInfo = paramPatchInfo; + return paramString; + } + + public static ArrayList getFileList(String paramString1, String paramString2) + { + ArrayList localArrayList = new ArrayList(); + if (paramString2.equals("Native")) + { + localArrayList.add(paramString1 + ".cfg"); + localArrayList.add("lib" + paramString1 + ".so"); + localArrayList.add(paramString1 + ".subpatch"); + return localArrayList; + } + if ((paramString2.equals("DVM")) || (paramString2.equals("ART"))) + { + localArrayList.add(paramString1 + ".cfg"); + localArrayList.add(paramString1 + ".jar"); + return localArrayList; + } + return null; + } + + public static ArrayList getFilesFileList(String paramString1, String paramString2) + { + ArrayList localArrayList = new ArrayList(); + if (paramString2.equals("Native")) + { + localArrayList.add(paramString1 + ".cfg"); + localArrayList.add("lib" + paramString1 + ".so"); + localArrayList.add(paramString1 + ".subpatch"); + } + while ((!paramString2.equals("DVM")) && (!paramString2.equals("ART"))) { + return localArrayList; + } + localArrayList.add(paramString1 + ".cfg"); + localArrayList.add(paramString1 + ".jar"); + localArrayList.add(paramString1 + ".dex"); + return localArrayList; + } + + public abstract int doPatch(Context paramContext); + + public String getConfigFileName() + { + return this.mPath + mPathSeparator + this.mPatchName + ".cfg"; + } + + public ArrayList getFileList() + { + return getFileList(this.mPatchName, this.mPatchType); + } + + public abstract boolean initPatch(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Patch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/PatchInfo.java b/com.tencent.token/classes.jar/com/tencent/kingkong/PatchInfo.java new file mode 100755 index 00000000000..d88fa633ce2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/PatchInfo.java @@ -0,0 +1,176 @@ +package com.tencent.kingkong; + +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import org.json.JSONException; +import org.json.JSONObject; + +public class PatchInfo +{ + private static final String LOG_TAG = "PatchInfo"; + public static final String STATUS_DISABLED = "DISABLED"; + public static final String STATUS_READY = "READY"; + public static final String STATUS_UPDATED = "UPDATED"; + public static final String STATUS_UPDATING = "UPDATING"; + private static final String TAG_DRIVER_VERSION = "driver"; + private static final String TAG_ENABLED = "enabled"; + private static final String TAG_PATCH_NAME = "name"; + private static final String TAG_PREVIOUS_PATCH = "pre_patch"; + private static final String TAG_STATUS = "status"; + private static final String TAG_SYSTEM_VERSION = "system"; + private static final String TAG_TYPE = "type"; + private static final String TAG_URL = "url"; + private static final String TAG_VERSION = "ver"; + public String mAllowDelayLoad; + public String mDriver; + public String mEnabled; + public String mIsCritical; + public String mPatchName; + public String mPreviousPatch; + public String mStatus; + public String mSystem; + public String mType; + public String mUrl; + public String mVer; + + public PatchInfo() {} + + public PatchInfo(SharedPreferences paramSharedPreferences, String paramString) + { + String str1 = concat("ver", paramString); + String str2 = concat("system", paramString); + String str3 = concat("driver", paramString); + String str4 = concat("url", paramString); + String str5 = concat("type", paramString); + String str6 = concat("status", paramString); + String str7 = concat("pre_patch", paramString); + String str8 = concat("enabled", paramString); + this.mVer = paramSharedPreferences.getString(str1, ""); + this.mSystem = paramSharedPreferences.getString(str2, ""); + this.mDriver = paramSharedPreferences.getString(str3, ""); + this.mUrl = paramSharedPreferences.getString(str4, ""); + this.mType = paramSharedPreferences.getString(str5, ""); + this.mStatus = paramSharedPreferences.getString(str6, ""); + this.mPreviousPatch = paramSharedPreferences.getString(str7, "").trim(); + this.mPatchName = paramString; + this.mEnabled = paramSharedPreferences.getString(str8, "").trim(); + } + + public PatchInfo(JSONObject paramJSONObject) {} + + private String concat(String paramString1, String paramString2) + { + return paramString1 + "_" + paramString2; + } + + public static PatchInfo parseFromJSON(JSONObject paramJSONObject) + { + PatchInfo localPatchInfo = new PatchInfo(); + try + { + localPatchInfo.mPatchName = paramJSONObject.getString("name").trim(); + localPatchInfo.mVer = paramJSONObject.getString("ver").trim(); + localPatchInfo.mSystem = paramJSONObject.getString("system").trim(); + localPatchInfo.mDriver = paramJSONObject.getString("driver").trim(); + localPatchInfo.mUrl = paramJSONObject.getString("url").trim(); + localPatchInfo.mType = paramJSONObject.getString("type").trim(); + localPatchInfo.mEnabled = paramJSONObject.getString("enabled").trim(); + localPatchInfo.mPreviousPatch = paramJSONObject.optString("pre_patch", "").trim(); + return localPatchInfo; + } + catch (Exception paramJSONObject) + { + Common.Log.d("PatchInfo", "Parse PatchInfo from JSON exception " + paramJSONObject); + } + return null; + } + + public JSONObject getJSONObject() + { + try + { + JSONObject localJSONObject = new JSONObject(); + localJSONObject.put("name", this.mPatchName); + localJSONObject.put("ver", this.mVer); + localJSONObject.put("system", this.mSystem); + localJSONObject.put("driver", this.mDriver); + localJSONObject.put("url", this.mUrl); + localJSONObject.put("type", this.mType); + localJSONObject.put("enabled", this.mEnabled); + localJSONObject.put("pre_patch", this.mPreviousPatch); + return localJSONObject; + } + catch (JSONException localJSONException) + { + Common.Log.d("PatchInfo", "Get JSON String failed " + localJSONException); + } + return new JSONObject(); + } + + public boolean isEnabled() + { + return this.mEnabled.equals("true"); + } + + public boolean isSupported() + { + if ((!Utils.isSupportSystem(this.mSystem)) || (!Utils.isSupportDriver(this.mDriver))) {} + while ((this.mType.equals("DVM")) && (!DvmPatch.isDeviceSupportDVM())) { + return false; + } + return true; + } + + public void removeConfig(SharedPreferences.Editor paramEditor) + { + String str1 = concat("ver", this.mPatchName); + String str2 = concat("system", this.mPatchName); + String str3 = concat("driver", this.mPatchName); + String str4 = concat("url", this.mPatchName); + String str5 = concat("type", this.mPatchName); + String str6 = concat("status", this.mPatchName); + String str7 = concat("pre_patch", this.mPatchName); + String str8 = concat("enabled", this.mPatchName); + paramEditor.remove(str1); + paramEditor.remove(str2); + paramEditor.remove(str3); + paramEditor.remove(str4); + paramEditor.remove(str5); + paramEditor.remove(str6); + paramEditor.remove(str7); + paramEditor.remove(str8); + paramEditor.commit(); + } + + public String toString() + { + return "I'm Patch " + this.mPatchName + "," + this.mEnabled + "," + this.mType + "," + this.mUrl + "," + this.mIsCritical + "," + this.mPreviousPatch + "," + this.mAllowDelayLoad + "," + this.mStatus; + } + + public void updateConfig(SharedPreferences.Editor paramEditor) + { + String str1 = concat("ver", this.mPatchName); + String str2 = concat("system", this.mPatchName); + String str3 = concat("driver", this.mPatchName); + String str4 = concat("url", this.mPatchName); + String str5 = concat("type", this.mPatchName); + String str6 = concat("status", this.mPatchName); + String str7 = concat("pre_patch", this.mPatchName); + String str8 = concat("enabled", this.mPatchName); + paramEditor.putString(str1, this.mVer); + paramEditor.putString(str2, this.mSystem); + paramEditor.putString(str3, this.mDriver); + paramEditor.putString(str4, this.mUrl); + paramEditor.putString(str5, this.mType); + paramEditor.putString(str6, this.mStatus); + paramEditor.putString(str7, this.mPreviousPatch); + paramEditor.putString(str8, this.mEnabled); + paramEditor.commit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.PatchInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/PatchManager.java b/com.tencent.token/classes.jar/com/tencent/kingkong/PatchManager.java new file mode 100755 index 00000000000..a67dd89c83a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/PatchManager.java @@ -0,0 +1,283 @@ +package com.tencent.kingkong; + +import android.content.Context; +import android.os.Build.VERSION; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; + +public class PatchManager +{ + private static final String LOG_TAG = "KingKongPatchManager"; + private static final String PATCH_ART50_LIBRARY_FILE = "libxposed_art50.so"; + private static final String PATCH_ART51_LIBRARY_FILE = "libxposed_art51.so"; + private static final String PATCH_ART60_LIBRARY_FILE = "libxposed_art60.so"; + private static final String PATCH_ASSET_FILE = "KingkongPatch.apk"; + private static final String PATCH_DALVIK_LIBRARY_FILE = "libxposed_dalvik.so"; + private static final String PATCH_DISPATCHER_LIBRARY_FILE = "libPatchDispatcher.so"; + private static final String PATCH_DRIVER_LIBRARY_FILE = "libkkfixerdriver.so"; + private static final String PATCH_LIST_FILE = ".cfg"; + private static Context mContext = null; + private static String mPatchDownloadFolder = ""; + private static String mPatchFolder = ""; + private static String mPathSeparator = "/"; + + public static void DoPatches() + { + Common.savePointLog(true); + Object localObject1 = createPatches(); + Common.savePointLog(true); + HashMap localHashMap = new HashMap(); + localObject1 = ((ArrayList)localObject1).iterator(); + for (;;) + { + if (!((Iterator)localObject1).hasNext()) { + return; + } + Patch localPatch = (Patch)((Iterator)localObject1).next(); + Object localObject2 = localPatch.mPatchInfo; + String str = ((PatchInfo)localObject2).mPreviousPatch; + localObject2 = ((PatchInfo)localObject2).mPatchName; + if ((!str.equals("")) && ((!localHashMap.containsKey(str)) || (((Integer)localHashMap.get(str)).intValue() != 0))) + { + Common.Log.d("KingKongPatchManager", "Previouse patch " + str + " of " + (String)localObject2 + " failed"); + } + else + { + int i = localPatch.doPatch(mContext); + localHashMap.put(localObject2, Integer.valueOf(i)); + Common.reportDoPatch(i, localPatch.mPatchName, localPatch.mPatchType, localPatch.mPatchVersion, ""); + } + } + } + + public static boolean InitPatchManager(Context paramContext) + { + boolean bool1 = true; + if (paramContext == null) {} + for (;;) + { + return bool1; + try + { + mContext = paramContext.getApplicationContext(); + mPatchDownloadFolder = Common.GetDownloadFolder(); + mPatchFolder = Common.GetPatchFolder(); + Common.savePointLog(true); + if (!initPatchFiles()) + { + bool1 = false; + continue; + } + Common.savePointLog(true); + boolean bool2 = loadSecureLibrary(); + if (bool2) { + continue; + } + bool1 = false; + } + finally {} + } + } + + private static ArrayList createPatches() + { + ArrayList localArrayList1 = new ArrayList(); + ArrayList localArrayList2 = new ArrayList(); + Object localObject1 = MainConfig.getMainConfig(mContext).getPatchList().iterator(); + int i; + for (;;) + { + if (!((Iterator)localObject1).hasNext()) + { + localObject1 = new ArrayList(); + i = 0; + if (i < localArrayList1.size()) { + break; + } + label56: + return localArrayList2; + } + localObject2 = (PatchInfo)((Iterator)localObject1).next(); + if (((PatchInfo)localObject2).mStatus.equals("READY")) + { + localObject2 = Patch.CreatePatch(mPatchFolder, (PatchInfo)localObject2); + if (localObject2 != null) { + localArrayList1.add(localObject2); + } + } + } + Object localObject2 = localArrayList1.iterator(); + for (;;) + { + if (!((Iterator)localObject2).hasNext()) + { + if (localArrayList2.size() == localArrayList1.size()) { + break label56; + } + i += 1; + break; + } + Patch localPatch = (Patch)((Iterator)localObject2).next(); + if (!localArrayList2.contains(localPatch)) + { + String str1 = localPatch.mPatchInfo.mPreviousPatch; + String str2 = localPatch.mPatchInfo.mPatchName; + if (str1.equals("")) + { + Common.Log.d("KingKongPatchManager", "Patch is ready -->" + str2); + localArrayList2.add(localPatch); + ((ArrayList)localObject1).add(str2); + } + else if (((ArrayList)localObject1).contains(str1)) + { + Common.Log.d("KingKongPatchManager", "Patch is ready -->" + str2 + ", previous patch is " + str1); + localArrayList2.add(localPatch); + ((ArrayList)localObject1).add(str2); + } + } + } + } + + public static boolean initPatchFiles() + { + if (Common.GetInitializeStatus() == 1) { + return true; + } + try + { + Object localObject = new File(mPatchDownloadFolder); + if (!((File)localObject).exists()) + { + if (((File)localObject).mkdirs()) { + Common.Log.d("KingKongPatchManager", "Create patch download folder : " + mPatchDownloadFolder + " OK"); + } + } + else + { + localObject = new File(mPatchFolder); + if (!((File)localObject).exists()) + { + if (!((File)localObject).mkdirs()) { + break label203; + } + Common.Log.d("KingKongPatchManager", "Create patch folder : " + mPatchFolder + " OK"); + } + localObject = new File(mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"); + if ((!((File)localObject).exists()) || (((File)localObject).delete())) { + break label233; + } + Common.Log.d("KingKongPatchManager", "Delete asset file failed"); + return false; + } + Common.Log.d("KingKongPatchManager", "Create patch download folder : " + mPatchDownloadFolder + " failed"); + return false; + label203: + Common.Log.d("KingKongPatchManager", "Create patch folder : " + mPatchFolder + " failed"); + return false; + label233: + if (!((File)localObject).exists()) + { + if (!Utils.copyAssetToFile(mContext, "KingkongPatch.apk", ((File)localObject).getAbsolutePath())) + { + Common.Log.d("KingKongPatchManager", "Copy KingkongPatch.apk from asset failed"); + return false; + } + Common.Log.d("KingKongPatchManager", "Copy KingkongPatch.apk from asset OK"); + } + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libkkfixerdriver.so", (String)localObject, "libkkfixerdriver.so", false)) { + return false; + } + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libPatchDispatcher.so", (String)localObject, "libPatchDispatcher.so", false)) { + return false; + } + if (Build.VERSION.SDK_INT == 23) + { + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libxposed_art60.so", (String)localObject, "libxposed_art60.so", false)) { + return false; + } + } + else if (Build.VERSION.SDK_INT == 22) + { + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libxposed_art51.so", (String)localObject, "libxposed_art51.so", false)) { + return false; + } + } + else if (Build.VERSION.SDK_INT == 21) + { + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libxposed_art50.so", (String)localObject, "libxposed_art50.so", false)) { + return false; + } + } + else if (Build.VERSION.SDK_INT >= 14) + { + localObject = mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"; + if (!Utils.reloadFile(mPatchFolder + mPathSeparator + "libxposed_dalvik.so", (String)localObject, "libxposed_dalvik.so", false)) { + return false; + } + } + localObject = new File(mPatchDownloadFolder + mPathSeparator + "KingkongPatch.apk"); + if ((((File)localObject).exists()) && (!((File)localObject).delete())) + { + Common.Log.d("KingKongPatchManager", "Delete asset file failed"); + return false; + } + Common.SetInitializeStatus(1); + return true; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return false; + } + + private static boolean loadSecureLibrary() + { + String str1 = mPatchFolder + mPathSeparator + "libkkfixerdriver.so"; + String str2 = mPatchFolder + mPathSeparator + "libPatchDispatcher.so"; + try + { + System.load(str2); + System.load(str1); + Common.Log.d("KingKongPatchManager", "Load library " + str1 + " OK"); + return true; + } + catch (Exception localException) + { + Common.Log.d("KingKongPatchManager", "Load library " + str1 + " failed : " + localException); + return false; + } + catch (Throwable localThrowable) + { + Common.Log.d("KingKongPatchManager", "Load library " + str1 + " failed : " + localThrowable); + } + return false; + } + + public static native int nativeCalcGotHookPoint(String paramString); + + public static native int nativeCalcJumperPoint(String paramString); + + public static native int nativeCalcParameter(int paramInt1, String paramString1, String paramString2, int paramInt2); + + public static native boolean nativeDoPatch(String paramString1, String paramString2, String paramString3, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, int paramInt4, int paramInt5); + + public static native byte[] nativeGetFingerprint(String paramString1, String paramString2, int paramInt1, int paramInt2); + + public static native boolean nativeHoldLibStrongRef(String paramString); + + public static native boolean nativeVerifyPatchParams(String paramString, int paramInt1, int paramInt2, int[] paramArrayOfInt, int paramInt3); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.PatchManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/ReportThread.java b/com.tencent.token/classes.jar/com/tencent/kingkong/ReportThread.java new file mode 100755 index 00000000000..d241ebd4e51 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/ReportThread.java @@ -0,0 +1,670 @@ +package com.tencent.kingkong; + +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.os.Process; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + +public class ReportThread + extends Thread +{ + private static final boolean ENABLE_RSA_ENCRYPT = true; + public static final String KEY_EXTRAINFO = "KEY_EXTRAINFO"; + public static final String KEY_INDEX = "KEY_INDEX"; + public static final String KEY_SUBINDEX = "KEY_SUBINDEX"; + public static final String KEY_TYPE = "KEY_TYPE"; + public static final String LOG_TAG = "KingKongReportThread"; + public static final int MSG_CONSOLE = 0; + public static final int MSG_WEBVIEW = 1; + public ReportHandler mHandler = null; + public Object mLock = new Object(); + public Looper mLooper = null; + + private static String RsaEncrypt(String paramString) + { + try + { + String str2 = Utils.getRandomString(16); + String str1 = EncryptUtilsForQQ.RsaEncryptData(new String(str2)); + paramString = new String(EncryptUtilsForQQ.DesEncrypt(str2, paramString)); + paramString = "paramStr=" + URLEncoder.encode(paramString, "UTF-8") + "&key=" + URLEncoder.encode(str1, "UTF-8") + "&visibility=2"; + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return ""; + } + + public static String addDeviceInfoToUrl(String paramString) + { + StringBuilder localStringBuilder1; + int i; + label552: + label579: + label606: + label633: + try + { + localStringBuilder1 = Utils.obtainStringBuild(); + localStringBuilder1.append(paramString); + } + finally {} + try + { + paramString = Build.HARDWARE; + if (paramString != null) { + localStringBuilder1.append("&hardware=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = Build.BRAND; + if (paramString != null) { + localStringBuilder1.append("&pb=").append(URLEncoder.encode(paramString, "UTF-8")); + } + i = Build.VERSION.SDK_INT; + if (i != -1) { + localStringBuilder1.append("&ps=").append(URLEncoder.encode(Integer.toString(i), "UTF-8")); + } + paramString = DataReport.getAppVersion(); + if (paramString != null) { + localStringBuilder1.append("&av=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getPackageName(); + if (paramString != null) { + localStringBuilder1.append("&pn=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getAccelerometerName(); + if (paramString != null) { + localStringBuilder1.append("&amn=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getAccelerometerVendor(); + if (paramString != null) { + localStringBuilder1.append("&amv=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getAccessSubtype(); + if (paramString != null) { + localStringBuilder1.append("&nm=").append(URLEncoder.encode(paramString, "UTF-8")); + } + i = DataReport.getBatteryLevel(); + if (i != -1) { + localStringBuilder1.append("&bl=").append(URLEncoder.encode(Integer.toString(i), "UTF-8")); + } + i = DataReport.getBatteryTemp(); + if (i != -1) { + localStringBuilder1.append("&bt=").append(URLEncoder.encode(Integer.toString(i), "UTF-8")); + } + i = DataReport.getBatteryVoltage(); + if (i != -1) { + localStringBuilder1.append("&bv=").append(URLEncoder.encode(Integer.toString(i), "UTF-8")); + } + paramString = DataReport.getCarrier(); + if (paramString != null) { + localStringBuilder1.append("&cr=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getCellInfo(); + if (paramString != null) { + localStringBuilder1.append("&cl=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getGravityName(); + if (paramString != null) { + localStringBuilder1.append("&gn=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getGravityVendor(); + if (paramString != null) { + localStringBuilder1.append("&gv=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getImsi(); + if (paramString != null) { + localStringBuilder1.append("&imsi=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getIpAddr(); + if (paramString != null) { + localStringBuilder1.append("&ip_addr=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getResolution(); + if (paramString != null) { + localStringBuilder1.append("&re=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getRomTotal(); + if (paramString != null) { + localStringBuilder1.append("&rt=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getSDCardTotal(); + if (paramString != null) { + localStringBuilder1.append("&st=").append(URLEncoder.encode(paramString, "UTF-8")); + } + localStringBuilder2 = localStringBuilder1.append("&root="); + if (!DataReport.isRoot()) { + break label1024; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&ams="); + if (!DataReport.isAccelerometerSupported()) { + break label1060; + } + paramString = "1"; + } + catch (Exception paramString) + { + break label1014; + } + catch (NoClassDefFoundError paramString) + { + break label1014; + } + catch (NoSuchMethodError paramString) + { + break label1014; + } + catch (UnsupportedEncodingException paramString) + { + label660: + label688: + label716: + label744: + label1014: + break label1014; + label772: + label800: + paramString = "0"; + label1024: + break label552; + paramString = "0"; + break label579; + paramString = "0"; + break label606; + paramString = "0"; + break label633; + paramString = "0"; + break label660; + paramString = "0"; + break label688; + paramString = "0"; + break label716; + paramString = "0"; + break label744; + paramString = "0"; + break label772; + paramString = "0"; + break label800; + } + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + StringBuilder localStringBuilder2 = localStringBuilder1.append("&btls="); + if (DataReport.isBlueToothLeSupported()) + { + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&bts="); + if (!DataReport.isBlueToothSupported()) { + break label1074; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&gls="); + if (!DataReport.isGpsLocationSupported()) { + break label1081; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&gs="); + if (!DataReport.isGravitySupported()) { + break label1088; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&gss="); + if (!DataReport.isGyroscopeSupported()) { + break label1095; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&ns="); + if (!DataReport.isNfcSupported()) { + break label1102; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&pe="); + if (!DataReport.isProxyEnabled()) { + break label1109; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&ts="); + if (!DataReport.isTelephonySupported()) { + break label1116; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&uas="); + if (!DataReport.isUsbAccessorySupported()) { + break label1123; + } + paramString = "1"; + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + localStringBuilder2 = localStringBuilder1.append("&ws="); + if (DataReport.isWifiSupported()) {} + for (paramString = "1";; paramString = "0") + { + localStringBuilder2.append(URLEncoder.encode(paramString, "UTF-8")); + paramString = DataReport.getQQUin(); + if (paramString != null) { + localStringBuilder1.append("&qu=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getAndroidID(); + if (paramString != null) { + localStringBuilder1.append("&android_id=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = Build.MODEL; + if (paramString != null) { + localStringBuilder1.append("&pm=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = Build.VERSION.RELEASE; + if (paramString != null) { + localStringBuilder1.append("&pr=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getLocalMacAddress(); + if (paramString != null) { + localStringBuilder1.append("&mac=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getDeviceId(); + if (paramString != null) { + localStringBuilder1.append("&device_id=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = DataReport.getNetworkType(); + if (paramString != null) { + localStringBuilder1.append("&nt=").append(URLEncoder.encode(paramString, "UTF-8")); + } + paramString = localStringBuilder1.toString(); + return paramString; + paramString = "0"; + break; + } + } + } + + public void report(int paramInt1, int paramInt2, int paramInt3, String paramString) + { + if (this.mHandler == null) { + return; + } + synchronized (this.mLock) + { + if (this.mHandler != null) + { + Message localMessage = this.mHandler.obtainMessage(); + Bundle localBundle = new Bundle(); + localBundle.putInt("KEY_TYPE", paramInt1); + localBundle.putInt("KEY_INDEX", paramInt2); + localBundle.putInt("KEY_SUBINDEX", paramInt3); + localBundle.putString("KEY_EXTRAINFO", paramString); + localMessage.setData(localBundle); + this.mHandler.sendMessage(localMessage); + } + return; + } + } + + public void run() + { + Looper.prepare(); + this.mHandler = new ReportHandler(); + this.mLooper = Looper.myLooper(); + Process.setThreadPriority(11); + Common.Log.d("KingKongReportThread", "ReportThread " + Process.myTid() + " priority : " + Process.getThreadPriority(Process.myTid())); + Looper.loop(); + } + + public void stopThread() + { + if (this.mLooper != null) { + synchronized (this.mLock) + { + if (this.mLooper != null) + { + this.mLooper.quit(); + this.mHandler.removeCallbacksAndMessages(null); + this.mHandler = null; + this.mLooper = null; + } + return; + } + } + } + + static class ReportHandler + extends Handler + { + /* Error */ + public void handleMessage(Message paramMessage) + { + // Byte code: + // 0: aload_1 + // 1: invokevirtual 24 android/os/Message:getData ()Landroid/os/Bundle; + // 4: astore_1 + // 5: aload_1 + // 6: ldc 26 + // 8: invokevirtual 32 android/os/Bundle:getInt (Ljava/lang/String;)I + // 11: istore_2 + // 12: aload_1 + // 13: ldc 34 + // 15: invokevirtual 32 android/os/Bundle:getInt (Ljava/lang/String;)I + // 18: istore_3 + // 19: aload_1 + // 20: ldc 36 + // 22: invokevirtual 32 android/os/Bundle:getInt (Ljava/lang/String;)I + // 25: istore 4 + // 27: aload_1 + // 28: ldc 38 + // 30: invokevirtual 42 android/os/Bundle:getString (Ljava/lang/String;)Ljava/lang/String; + // 33: astore 5 + // 35: getstatic 48 com/tencent/kingkong/Constant:REPORT_CGI_URL Ljava/lang/String; + // 38: astore_1 + // 39: new 50 java/lang/StringBuilder + // 42: dup + // 43: ldc 52 + // 45: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 48: iload_2 + // 49: invokestatic 61 java/lang/String:valueOf (I)Ljava/lang/String; + // 52: ldc 63 + // 54: invokestatic 69 java/net/URLEncoder:encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + // 57: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 60: ldc 75 + // 62: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 65: iload_3 + // 66: invokestatic 61 java/lang/String:valueOf (I)Ljava/lang/String; + // 69: ldc 63 + // 71: invokestatic 69 java/net/URLEncoder:encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + // 74: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 77: ldc 77 + // 79: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 82: iload 4 + // 84: invokestatic 61 java/lang/String:valueOf (I)Ljava/lang/String; + // 87: ldc 63 + // 89: invokestatic 69 java/net/URLEncoder:encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + // 92: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 95: aload 5 + // 97: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 100: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 103: invokestatic 84 com/tencent/kingkong/ReportThread:addDeviceInfoToUrl (Ljava/lang/String;)Ljava/lang/String; + // 106: astore 5 + // 108: aload 5 + // 110: invokestatic 87 com/tencent/kingkong/ReportThread:access$0 (Ljava/lang/String;)Ljava/lang/String; + // 113: astore 6 + // 115: ldc 89 + // 117: new 50 java/lang/StringBuilder + // 120: dup + // 121: ldc 91 + // 123: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 126: aload 5 + // 128: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 131: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 134: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 137: ldc 89 + // 139: new 50 java/lang/StringBuilder + // 142: dup + // 143: ldc 99 + // 145: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 148: aload 6 + // 150: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 153: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 156: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 159: new 50 java/lang/StringBuilder + // 162: dup + // 163: aload_1 + // 164: invokestatic 102 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 167: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 170: ldc 104 + // 172: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 175: aload 6 + // 177: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 180: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 183: astore 5 + // 185: ldc 89 + // 187: aload 5 + // 189: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 192: aconst_null + // 193: astore_1 + // 194: aconst_null + // 195: astore 7 + // 197: aconst_null + // 198: astore 8 + // 200: aconst_null + // 201: astore 9 + // 203: aload 8 + // 205: astore 6 + // 207: new 106 java/net/URL + // 210: dup + // 211: aload 5 + // 213: invokespecial 107 java/net/URL: (Ljava/lang/String;)V + // 216: invokevirtual 111 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 219: checkcast 113 java/net/HttpURLConnection + // 222: astore 5 + // 224: aload 5 + // 226: astore 7 + // 228: aload 5 + // 230: astore_1 + // 231: aload 8 + // 233: astore 6 + // 235: new 115 java/io/InputStreamReader + // 238: dup + // 239: aload 5 + // 241: invokevirtual 119 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 244: invokespecial 122 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 247: astore 8 + // 249: new 124 java/io/BufferedReader + // 252: dup + // 253: aload 8 + // 255: invokespecial 127 java/io/BufferedReader: (Ljava/io/Reader;)V + // 258: astore_1 + // 259: aload_1 + // 260: invokevirtual 130 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 263: astore 6 + // 265: aload 6 + // 267: ifnonnull -8 -> 259 + // 270: aload 5 + // 272: ifnull +8 -> 280 + // 275: aload 5 + // 277: invokevirtual 133 java/net/HttpURLConnection:disconnect ()V + // 280: aload 8 + // 282: ifnull +316 -> 598 + // 285: aload 8 + // 287: invokevirtual 136 java/io/InputStreamReader:close ()V + // 290: ldc 89 + // 292: ldc 138 + // 294: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 297: return + // 298: astore_1 + // 299: ldc 140 + // 301: new 50 java/lang/StringBuilder + // 304: dup + // 305: ldc 142 + // 307: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 310: aload_1 + // 311: invokevirtual 145 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 314: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 317: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 320: return + // 321: astore_1 + // 322: aload 9 + // 324: astore 8 + // 326: aload_1 + // 327: astore 9 + // 329: aload 7 + // 331: astore 5 + // 333: aload 5 + // 335: astore_1 + // 336: aload 8 + // 338: astore 6 + // 340: new 147 java/io/StringWriter + // 343: dup + // 344: invokespecial 148 java/io/StringWriter: ()V + // 347: astore 7 + // 349: aload 5 + // 351: astore_1 + // 352: aload 8 + // 354: astore 6 + // 356: aload 9 + // 358: new 150 java/io/PrintWriter + // 361: dup + // 362: aload 7 + // 364: invokespecial 153 java/io/PrintWriter: (Ljava/io/Writer;)V + // 367: invokevirtual 157 java/lang/Throwable:printStackTrace (Ljava/io/PrintWriter;)V + // 370: aload 5 + // 372: astore_1 + // 373: aload 8 + // 375: astore 6 + // 377: ldc 89 + // 379: new 50 java/lang/StringBuilder + // 382: dup + // 383: ldc 159 + // 385: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 388: aload 7 + // 390: invokevirtual 160 java/io/StringWriter:toString ()Ljava/lang/String; + // 393: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 396: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 399: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 402: aload 5 + // 404: ifnull +8 -> 412 + // 407: aload 5 + // 409: invokevirtual 133 java/net/HttpURLConnection:disconnect ()V + // 412: aload 8 + // 414: ifnull -124 -> 290 + // 417: aload 8 + // 419: invokevirtual 136 java/io/InputStreamReader:close ()V + // 422: goto -132 -> 290 + // 425: astore_1 + // 426: new 147 java/io/StringWriter + // 429: dup + // 430: invokespecial 148 java/io/StringWriter: ()V + // 433: astore 5 + // 435: aload_1 + // 436: new 150 java/io/PrintWriter + // 439: dup + // 440: aload 5 + // 442: invokespecial 153 java/io/PrintWriter: (Ljava/io/Writer;)V + // 445: invokevirtual 157 java/lang/Throwable:printStackTrace (Ljava/io/PrintWriter;)V + // 448: ldc 89 + // 450: new 50 java/lang/StringBuilder + // 453: dup + // 454: ldc 162 + // 456: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 459: aload 5 + // 461: invokevirtual 160 java/io/StringWriter:toString ()Ljava/lang/String; + // 464: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 467: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 470: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 473: goto -183 -> 290 + // 476: astore 5 + // 478: aload_1 + // 479: ifnull +7 -> 486 + // 482: aload_1 + // 483: invokevirtual 133 java/net/HttpURLConnection:disconnect ()V + // 486: aload 6 + // 488: ifnull +8 -> 496 + // 491: aload 6 + // 493: invokevirtual 136 java/io/InputStreamReader:close ()V + // 496: aload 5 + // 498: athrow + // 499: astore_1 + // 500: new 147 java/io/StringWriter + // 503: dup + // 504: invokespecial 148 java/io/StringWriter: ()V + // 507: astore 6 + // 509: aload_1 + // 510: new 150 java/io/PrintWriter + // 513: dup + // 514: aload 6 + // 516: invokespecial 153 java/io/PrintWriter: (Ljava/io/Writer;)V + // 519: invokevirtual 157 java/lang/Throwable:printStackTrace (Ljava/io/PrintWriter;)V + // 522: ldc 89 + // 524: new 50 java/lang/StringBuilder + // 527: dup + // 528: ldc 162 + // 530: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 533: aload 6 + // 535: invokevirtual 160 java/io/StringWriter:toString ()Ljava/lang/String; + // 538: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 541: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 544: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 547: goto -51 -> 496 + // 550: astore_1 + // 551: new 147 java/io/StringWriter + // 554: dup + // 555: invokespecial 148 java/io/StringWriter: ()V + // 558: astore 5 + // 560: aload_1 + // 561: new 150 java/io/PrintWriter + // 564: dup + // 565: aload 5 + // 567: invokespecial 153 java/io/PrintWriter: (Ljava/io/Writer;)V + // 570: invokevirtual 157 java/lang/Throwable:printStackTrace (Ljava/io/PrintWriter;)V + // 573: ldc 89 + // 575: new 50 java/lang/StringBuilder + // 578: dup + // 579: ldc 162 + // 581: invokespecial 55 java/lang/StringBuilder: (Ljava/lang/String;)V + // 584: aload 5 + // 586: invokevirtual 160 java/io/StringWriter:toString ()Ljava/lang/String; + // 589: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 592: invokevirtual 81 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 595: invokestatic 97 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 598: goto -308 -> 290 + // 601: astore 7 + // 603: aload 8 + // 605: astore 6 + // 607: aload 5 + // 609: astore_1 + // 610: aload 7 + // 612: astore 5 + // 614: goto -136 -> 478 + // 617: astore 9 + // 619: goto -286 -> 333 + // Local variable table: + // start length slot name signature + // 0 622 0 this ReportHandler + // 0 622 1 paramMessage Message + // 11 38 2 i int + // 18 48 3 j int + // 25 58 4 k int + // 33 427 5 localObject1 Object + // 476 21 5 localObject2 Object + // 558 55 5 localObject3 Object + // 113 493 6 localObject4 Object + // 195 194 7 localObject5 Object + // 601 10 7 localObject6 Object + // 198 406 8 localObject7 Object + // 201 156 9 localMessage Message + // 617 1 9 localThrowable java.lang.Throwable + // Exception table: + // from to target type + // 39 159 298 java/lang/Exception + // 207 224 321 java/lang/Throwable + // 235 249 321 java/lang/Throwable + // 417 422 425 java/lang/Throwable + // 207 224 476 finally + // 235 249 476 finally + // 340 349 476 finally + // 356 370 476 finally + // 377 402 476 finally + // 491 496 499 java/lang/Throwable + // 285 290 550 java/lang/Throwable + // 249 259 601 finally + // 259 265 601 finally + // 249 259 617 java/lang/Throwable + // 259 265 617 java/lang/Throwable + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.ReportThread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/SQLException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/SQLException.java new file mode 100755 index 00000000000..26260969fcb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/SQLException.java @@ -0,0 +1,23 @@ +package com.tencent.kingkong; + +public class SQLException + extends RuntimeException +{ + public SQLException() {} + + public SQLException(String paramString) + { + super(paramString); + } + + public SQLException(String paramString, Throwable paramThrowable) + { + super(paramString, paramThrowable); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.SQLException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/SelfUpdateInterface.java b/com.tencent.token/classes.jar/com/tencent/kingkong/SelfUpdateInterface.java new file mode 100755 index 00000000000..db9e1266ae5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/SelfUpdateInterface.java @@ -0,0 +1,220 @@ +package com.tencent.kingkong; + +import android.content.Context; +import java.io.File; +import java.net.URLEncoder; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import org.json.JSONObject; + +public class SelfUpdateInterface +{ + public static final String LOG_TAG = "SelfUpdateInterface"; + public static final String MAIN_CONFIG_FILE_NAME = "main.config"; + private static final String STATUS_IDLE = "IDLE"; + private static final String STATUS_INSTALLING = "INSTALLING"; + private static final String STATUS_UPDATE_FAILED = "MAYDAY"; + private static final String STATUS_UPDATING = "UPDATING"; + public static final String TAG_COUNT = "count"; + public static final String TAG_PATCHES = "patches"; + public static final String TAG_SIGNATURE = "sign"; + public static Context mContext = null; + public static String mPathSeparator = File.separator; + + public static void DoUpdate() + { + setUpdateStatus("UPDATING"); + String str1 = Common.GetDownloadFolder() + mPathSeparator + "main.config"; + int j = 0; + int i = j; + try + { + if (updateMainConfig(str1)) + { + localObject = MainConfig.parseFromFile(str1); + if (localObject != null) { + break label84; + } + Common.Log.d("SelfUpdateInterface", "Update got malformed mainconfig"); + i = j; + } + } + catch (Exception localException) + { + for (;;) + { + Object localObject; + Iterator localIterator; + Common.Log.d("SelfUpdateInterface", "Update exception : " + localException); + i = j; + continue; + UpdateManager.Update((PatchInfo)localException.next(), false); + } + setUpdateStatus("MAYDAY"); + } + new File(str1).delete(); + if (i != 0) + { + setUpdateStatus("IDLE"); + return; + label84: + localIterator = MainConfig.getMainConfig(mContext).getPatchList().iterator(); + for (;;) + { + if (!localIterator.hasNext()) + { + localObject = ((MainConfig)localObject).getPatchList().iterator(); + if (((Iterator)localObject).hasNext()) { + break label223; + } + i = 1; + break; + } + PatchInfo localPatchInfo = (PatchInfo)localIterator.next(); + String str2 = localPatchInfo.mPatchName; + if (((MainConfig)localObject).findPatch(str2) == null) + { + Common.Log.d("SelfUpdateInterface", "Patch has been removed : " + str2); + localPatchInfo.mEnabled = "false"; + UpdateManager.Update(localPatchInfo, true); + } + } + } + label223: + } + + public static boolean ShouldDoUpdate() + { + if (!Utils.getCurrentProcessName(mContext).equals(Utils.getPackageName(mContext))) + { + Common.Log.d("SelfUpdateInterface", "Don't do update in sub-process"); + return false; + } + String str1 = Common.GetUpdateStatus(); + String str2 = Common.GetLastUpdateTime(); + if (str2.equals("")) + { + Common.Log.d("SelfUpdateInterface", "Never do update yet"); + return true; + } + Date localDate2; + long l; + for (;;) + { + Date localDate1; + try + { + localDate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str2); + localDate2 = new Date(); + if (localDate2.getTime() > localDate1.getTime()) + { + l = localDate2.getTime() - localDate1.getTime(); + if (!str1.equals("UPDATING")) { + break; + } + if (l <= 900000L) { + break label225; + } + Common.Log.d("SelfUpdateInterface", "Force re-update :" + l); + return true; + } + } + catch (ParseException localParseException) + { + return true; + } + l = localDate1.getTime() - localDate2.getTime(); + } + if (localParseException.equals("MAYDAY")) + { + Common.Log.d("SelfUpdateInterface", "Force do update"); + return true; + } + if ((!localParseException.equals("IDLE")) && (!localParseException.equals("INSTALLING"))) + { + Common.Log.d("SelfUpdateInterface", "Illegal status : " + localParseException + ", force update!"); + return true; + } + label225: + if (l > 180000L) + { + Common.Log.d("SelfUpdateInterface", "Need update. Last update time : " + str2 + ", current time : " + localDate2.toString()); + return true; + } + Common.Log.d("SelfUpdateInterface", "Don't need update. Last update time : " + str2 + ", current time : " + localDate2.toString()); + return false; + } + + public static void initSelfUpdateInterface(Context paramContext) + { + mContext = paramContext; + } + + private static void setUpdateStatus(String paramString) + { + Common.SetLastUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + Common.SetUpdateStatus(paramString); + } + + public static boolean updateMainConfig(String paramString) + throws Exception + { + String str2 = DataReport.getQQUin(); + String str1 = Utils.getRandomString(16); + str2 = "&k=" + URLEncoder.encode(str1, "UTF-8") + "&u=" + URLEncoder.encode(str2, "UTF-8") + "&v=" + "2.0"; + str2 = Constant.MAIN_CONFIG_URL + str2; + Common.Log.d("SelfUpdateInterface", "MainConfig url : " + str2); + if (Utils.download(str2, paramString)) + { + paramString = Utils.ReadFileToStringEx(paramString); + Common.Log.d("SelfUpdateInterface", "MainConfig : " + paramString); + if (verifyMainConfig(paramString, str1)) + { + Common.Log.d("SelfUpdateInterface", "Verify mainconfig OK"); + return true; + } + Common.Log.d("SelfUpdateInterface", "Verify mainconfig failed "); + return false; + } + Common.Log.d("SelfUpdateInterface", "Download mainconfig failed"); + return false; + } + + public static boolean verifyMainConfig(String paramString1, String paramString2) + { + try + { + Object localObject = new JSONObject(paramString1); + String str = ((JSONObject)localObject).getString("sign"); + localObject = String.format("],\"count\":%d,\"sign\":\"%s\"}", new Object[] { Integer.valueOf(((JSONObject)localObject).getInt("count")), str }); + if ((paramString1.indexOf("[") != paramString1.lastIndexOf("[")) || (paramString1.indexOf("]") != paramString1.lastIndexOf("]")) || (!paramString1.startsWith("{\"patches\":[")) || (!paramString1.endsWith((String)localObject))) + { + Common.Log.d("SelfUpdateInterface", "Unexpected content format : " + paramString1); + return false; + } + paramString1 = paramString1.substring(paramString1.indexOf("["), paramString1.indexOf("]") + 1) + paramString2; + Common.Log.d("SelfUpdateInterface", "Signature : " + str); + Common.Log.d("SelfUpdateInterface", "Payload : " + paramString1); + paramString2 = EncryptUtilsForQQ.RsaDecryptData(str); + Common.Log.d("SelfUpdateInterface", "Decrypted signature : " + paramString2); + paramString1 = Utils.getSHA1String(paramString1.getBytes()); + Common.Log.d("SelfUpdateInterface", "Current signature : " + paramString1); + boolean bool = paramString1.equals(paramString2); + return bool; + } + catch (Exception paramString1) + { + Common.Log.d("SelfUpdateInterface", "Verify mainconfig error : " + paramString1); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.SelfUpdateInterface + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/StaleDataException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/StaleDataException.java new file mode 100755 index 00000000000..51f104bc707 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/StaleDataException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong; + +public class StaleDataException + extends RuntimeException +{ + public StaleDataException() {} + + public StaleDataException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.StaleDataException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatch.java b/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatch.java new file mode 100755 index 00000000000..409db9de497 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatch.java @@ -0,0 +1,104 @@ +package com.tencent.kingkong; + +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class SubPatch +{ + private static final String LOG_TAG = "SubPatch"; + private static final String TAG_FINGERPRINTS = "fingerprints"; + private static final String TAG_HOOK_POINT = "hook_point"; + private static final String TAG_JUMPER_POINT = "jumper_point"; + private static final String TAG_PARAMETERS = "parameters"; + private static final String TAG_PATCH_FILE = "patch_file"; + public ArrayList fingerprints = new ArrayList(); + public int hookPoint; + public int jumperPoint; + public ArrayList parameters = new ArrayList(); + public String patchFileName; + + public boolean parse(SubPatches paramSubPatches, JSONObject paramJSONObject) + { + int j; + int i; + try + { + this.patchFileName = paramJSONObject.getString("patch_file").trim(); + this.hookPoint = paramJSONObject.getInt("hook_point"); + this.jumperPoint = paramJSONObject.getInt("jumper_point"); + k = paramSubPatches.parameterCount; + j = paramSubPatches.fingerprintCount; + paramSubPatches = paramJSONObject.getJSONArray("parameters"); + paramJSONObject = paramJSONObject.getJSONArray("fingerprints"); + if (paramSubPatches.length() == k) { + break label178; + } + Common.Log.d("SubPatch", "Parameter count error!"); + return false; + } + catch (JSONException paramSubPatches) + { + for (;;) + { + int k; + Common.Log.d("SubPatch", "Parse subpatch error : " + paramSubPatches); + return false; + int m = paramSubPatches.getInt(i); + this.parameters.add(Integer.valueOf(m)); + i += 1; + } + this.fingerprints.add(paramJSONObject.getString(i).trim()); + i += 1; + } + catch (Exception paramSubPatches) + { + return false; + } + if (i >= k) + { + if (paramJSONObject.length() == j) { + break label183; + } + Common.Log.d("SubPatch", "Fingerprint count error!"); + return false; + } + label178: + label183: + while (i < j) + { + i = 0; + break; + i = 0; + } + return true; + } + + public void print() + { + Common.Log.d("SubPatch", "--> HookPoint : " + this.hookPoint + " ; JumperPoint : " + this.jumperPoint + "\n"); + int i = 0; + if (i >= this.parameters.size()) { + i = 0; + } + for (;;) + { + if (i >= this.fingerprints.size()) + { + return; + Common.Log.d("SubPatch", "--> Parameters : " + ((Integer)this.parameters.get(i)).toString()); + i += 1; + break; + } + Common.Log.d("SubPatch", "--> FingerPrint : " + (String)this.fingerprints.get(i)); + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.SubPatch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatches.java b/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatches.java new file mode 100755 index 00000000000..581de244eb1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/SubPatches.java @@ -0,0 +1,283 @@ +package com.tencent.kingkong; + +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class SubPatches +{ + private static final String LOG_TAG = "SubPatches"; + private static final String TAG_FINGERPRINT_COUNT = "fingerprint_count"; + private static final String TAG_FINGERPRINT_DEFINITION = "fingerprint_definition"; + private static final String TAG_FUNCTION_NAME = "func_name"; + private static final String TAG_HOOKPOINT_FUNCTION_NAME = "hookpoint_func_name"; + private static final String TAG_HOOKPOINT_LIBRARY_NAME = "hookpoint_lib_name"; + private static final String TAG_LIBRARY_NAME = "lib_name"; + private static final String TAG_PARAMETER_COUNT = "param_count"; + private static final String TAG_PARAMETER_DEFINE = "parameter_definition"; + private static final String TAG_PARAM_INDEX = "param_index"; + private static final String TAG_PARAM_TYPE = "param_type"; + private static final String TAG_PARAM_VALUE1 = "param_value1"; + private static final String TAG_PARAM_VALUE2 = "param_value2"; + private static final String TAG_SUBPATCH_COUNT = "subpatch_count"; + private static final String TAG_SUBPATCH_HEAD = "subpatches"; + public int fingerprintCount = 0; + public ArrayList functionNames = new ArrayList(); + public String hookpointFuncName = ""; + public String hookpointLibName = ""; + public ArrayList libraryNames = new ArrayList(); + public int parameterCount = 0; + public ArrayList parameterDefines = new ArrayList(); + public int subPatchCount = 0; + public ArrayList subPatches = new ArrayList(); + + /* Error */ + private static String getJsonString(String paramString) + { + // Byte code: + // 0: new 101 java/lang/StringBuilder + // 3: dup + // 4: invokespecial 102 java/lang/StringBuilder: ()V + // 7: astore_3 + // 8: aconst_null + // 9: astore_1 + // 10: aconst_null + // 11: astore_2 + // 12: new 104 java/io/BufferedReader + // 15: dup + // 16: new 106 java/io/InputStreamReader + // 19: dup + // 20: new 108 java/io/FileInputStream + // 23: dup + // 24: aload_0 + // 25: invokespecial 111 java/io/FileInputStream: (Ljava/lang/String;)V + // 28: invokespecial 114 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 31: sipush 8192 + // 34: invokespecial 117 java/io/BufferedReader: (Ljava/io/Reader;I)V + // 37: astore_0 + // 38: aload_0 + // 39: invokevirtual 121 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 42: astore_1 + // 43: aload_1 + // 44: ifnonnull +16 -> 60 + // 47: aload_0 + // 48: ifnull +78 -> 126 + // 51: aload_0 + // 52: invokevirtual 124 java/io/BufferedReader:close ()V + // 55: aload_3 + // 56: invokevirtual 127 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 59: areturn + // 60: aload_3 + // 61: aload_1 + // 62: invokevirtual 131 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 65: pop + // 66: goto -28 -> 38 + // 69: astore_2 + // 70: aload_0 + // 71: astore_1 + // 72: aload_2 + // 73: invokevirtual 134 java/io/IOException:printStackTrace ()V + // 76: aload_0 + // 77: ifnull -22 -> 55 + // 80: aload_0 + // 81: invokevirtual 124 java/io/BufferedReader:close ()V + // 84: goto -29 -> 55 + // 87: astore_0 + // 88: goto -33 -> 55 + // 91: astore_0 + // 92: aload_1 + // 93: ifnull +7 -> 100 + // 96: aload_1 + // 97: invokevirtual 124 java/io/BufferedReader:close ()V + // 100: aload_0 + // 101: athrow + // 102: astore_0 + // 103: goto -48 -> 55 + // 106: astore_1 + // 107: goto -7 -> 100 + // 110: astore_2 + // 111: aload_0 + // 112: astore_1 + // 113: aload_2 + // 114: astore_0 + // 115: goto -23 -> 92 + // 118: astore_1 + // 119: aload_2 + // 120: astore_0 + // 121: aload_1 + // 122: astore_2 + // 123: goto -53 -> 70 + // 126: goto -71 -> 55 + // Local variable table: + // start length slot name signature + // 0 129 0 paramString String + // 9 88 1 str1 String + // 106 1 1 localIOException1 java.io.IOException + // 112 1 1 str2 String + // 118 4 1 localIOException2 java.io.IOException + // 11 1 2 localObject1 Object + // 69 4 2 localIOException3 java.io.IOException + // 110 10 2 localObject2 Object + // 122 1 2 localIOException4 java.io.IOException + // 7 54 3 localStringBuilder java.lang.StringBuilder + // Exception table: + // from to target type + // 38 43 69 java/io/IOException + // 60 66 69 java/io/IOException + // 80 84 87 java/io/IOException + // 12 38 91 finally + // 72 76 91 finally + // 51 55 102 java/io/IOException + // 96 100 106 java/io/IOException + // 38 43 110 finally + // 60 66 110 finally + // 12 38 118 java/io/IOException + } + + public boolean parseFromFile(String paramString) + { + paramString = getJsonString(paramString); + int i; + for (;;) + { + try + { + paramString = new JSONObject(paramString); + } + catch (JSONException paramString) + { + Object localObject1; + Object localObject3; + Object localObject2; + label489: + Common.Log.d("SubPatches", "Parse sub patches failed : " + paramString); + return false; + } + try + { + this.fingerprintCount = paramString.getInt("fingerprint_count"); + localObject1 = paramString.getJSONArray("fingerprint_definition"); + if (((JSONArray)localObject1).length() == this.fingerprintCount) { + break label528; + } + Common.Log.d("SubPatches", "Fingerprint count mismatch!"); + return false; + } + catch (JSONException paramString) + { + continue; + i = 0; + continue; + i = 0; + continue; + } + if (i >= this.fingerprintCount) + { + this.parameterCount = paramString.getInt("param_count"); + localObject1 = paramString.getJSONArray("parameter_definition"); + if (this.parameterCount == ((JSONArray)localObject1).length()) { + break label533; + } + Common.Log.d("SubPatches", "Parameter count mismatch :" + this.parameterCount + ", " + ((JSONArray)localObject1).length()); + return false; + } + localObject3 = ((JSONArray)localObject1).getJSONObject(i); + localObject2 = ((JSONObject)localObject3).getString("lib_name").trim(); + localObject3 = ((JSONObject)localObject3).getString("func_name").trim(); + this.libraryNames.add(localObject2); + this.functionNames.add(localObject3); + Common.Log.d("SubPatches", "--> Fingerprint Library Name : " + (String)localObject2 + " ; Function Name : " + (String)localObject3); + i += 1; + continue; + if (i >= this.parameterCount) + { + this.hookpointFuncName = paramString.getString("hookpoint_func_name").trim(); + this.hookpointLibName = paramString.getString("hookpoint_lib_name").trim(); + Common.Log.d("SubPatches", "--> Hookpoint library Name : " + this.hookpointLibName); + Common.Log.d("SubPatches", "--> Hookpoint function Name : " + this.hookpointFuncName); + this.subPatchCount = paramString.getInt("subpatch_count"); + paramString = paramString.getJSONArray("subpatches"); + i = 0; + } + for (;;) + { + if (i >= paramString.length()) + { + if (this.subPatchCount == this.subPatches.size()) { + break label522; + } + Common.Log.d("SubPatches", "Sub patch count mismatch, give up"); + return false; + localObject2 = new ParameterDef(); + if (!((ParameterDef)localObject2).parse(((JSONArray)localObject1).getJSONObject(i))) { + break label538; + } + if (((ParameterDef)localObject2).index != i) + { + Common.Log.d("SubPatches", "Parameter index error!"); + return false; + } + Common.Log.d("SubPatches", "--> Parameter definition : " + localObject2); + this.parameterDefines.add(localObject2); + i += 1; + break; + } + Common.Log.d("SubPatches", "Parseing sub patch " + i); + localObject1 = new SubPatch(); + if (!((SubPatch)localObject1).parse(this, paramString.getJSONObject(i))) { + break label489; + } + ((SubPatch)localObject1).print(); + this.subPatches.add(localObject1); + i += 1; + } + Common.Log.d("SubPatches", "Parse sub patch failed, give up"); + return false; + } + label522: + return true; + label528: + label533: + label538: + return false; + } + + public class ParameterDef + { + public int index; + public int type; + public String value1; + public String value2; + + public ParameterDef() {} + + public boolean parse(JSONObject paramJSONObject) + { + try + { + this.index = Integer.parseInt(paramJSONObject.getString("param_index")); + this.type = Integer.parseInt(paramJSONObject.getString("param_type")); + this.value1 = paramJSONObject.getString("param_value1").trim(); + this.value2 = paramJSONObject.getString("param_value2").trim(); + return true; + } + catch (Exception paramJSONObject) + { + Common.Log.d("SubPatches", "Parse parameter error!"); + } + return false; + } + + public String toString() + { + return "Index " + this.index + ": " + this.type + ", " + this.value1 + ", " + this.value2; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.SubPatches + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/UpdateManager.java b/com.tencent.token/classes.jar/com/tencent/kingkong/UpdateManager.java new file mode 100755 index 00000000000..a32dcc9428e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/UpdateManager.java @@ -0,0 +1,418 @@ +package com.tencent.kingkong; + +import android.content.Context; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import java.io.File; +import java.util.ArrayList; +import java.util.Iterator; +import org.json.JSONObject; + +public class UpdateManager +{ + public static final String LOG_TAG = "KingKongUpdateManager"; + public static Context mContext = null; + public static String mPackageName = ""; + public static String mPatchDownloadFolder = ""; + public static final String mSignature = "30820254308201bda00302010202044c5eafe7300d06092a864886f70d01010b0500305d310b300906035504061302434e310b3009060355040813024744310b300906035504071302535a3110300e060355040a130754656e63656e743110300e060355040b130754656e63656e743110300e0603550403130754656e63656e74301e170d3134313033313038333935345a170d3135313033313038333935345a305d310b300906035504061302434e310b3009060355040813024744310b300906035504071302535a3110300e060355040a130754656e63656e743110300e060355040b130754656e63656e743110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100b293a98fe569b7f9ba099e041c25038d8230e6fcbcee332499723e7d3c635795f6f8c04cdb25683080390119c4e5575bdf9d94b1969caeae09927ee38eb8e3ad9a5003a3dcc9055196341a50f5b06a6ec6e8c415ea8e42dee8d8838096022c3b54b299aafe3d2f934b65864506b379210382f826103476087d47c5191fb00e4b0203010001a321301f301d0603551d0e04160414b049af36c79e57278b3fda5ff8b1152ede6c83ca300d06092a864886f70d01010b0500038181003820e8817688a08d8bfef1cc3c5e7fe3343fa5786db96680d55a6d89145498fa1ae7f2de349e9deecd8ae9499e95a870f5810a1d9d81662f41ff29c23c0ddb51878b6926943fd5771d0e3dc463a7f0deb881355df3a45a206508ae5bc2c818038b0cd8fff3f52aeac3c70464c886917c67bc391fdae70a79fe02b9657190e6d4"; + public static UpdateThread mUpdateThread = null; + + public static void ContinueUpdate() + { + Iterator localIterator = MainConfig.getMainConfig(mContext).getPatchList().iterator(); + for (;;) + { + if (!localIterator.hasNext()) { + return; + } + PatchInfo localPatchInfo = (PatchInfo)localIterator.next(); + if (localPatchInfo.mStatus.equals("UPDATING")) + { + Common.Log.d("KingKongUpdateManager", "Continue udpating " + localPatchInfo.mPatchName); + Update(localPatchInfo, true); + } + } + } + + private static boolean InitPatch(Patch paramPatch) + { + return paramPatch.initPatch(); + } + + public static void InitUpdateManager(Context paramContext) + { + mContext = paramContext; + mPatchDownloadFolder = Common.GetDownloadFolder(); + mPackageName = DataReport.getPackageName(); + Constant.MAIN_CONFIG_URL += mPackageName; + Constant.MAIN_CONFIG_URL_OFFLINE = Constant.MAIN_CONFIG_URL_OFFLINE + mPackageName + ".apk"; + mUpdateThread = new UpdateThread(); + mUpdateThread.start(); + } + + public static void InstallUpdates() + { + Object localObject1 = MainConfig.getMainConfig(mContext); + Common.savePointLog(true); + Object localObject2 = ((MainConfig)localObject1).getPatchList(); + localObject1 = new ArrayList(); + localObject2 = ((ArrayList)localObject2).iterator(); + if (!((Iterator)localObject2).hasNext()) + { + if ((removeObsoletedPatches((ArrayList)localObject1)) && (installPatches((ArrayList)localObject1))) { + break label117; + } + Common.Log.d("KingKongUpdateManager", "Do Install updates failed"); + label59: + localObject1 = ((ArrayList)localObject1).iterator(); + } + for (;;) + { + if (!((Iterator)localObject1).hasNext()) + { + return; + PatchInfo localPatchInfo = (PatchInfo)((Iterator)localObject2).next(); + if ((!localPatchInfo.mStatus.equals("UPDATED")) && (!localPatchInfo.mStatus.equals("DISABLED"))) { + break; + } + ((ArrayList)localObject1).add(localPatchInfo); + break; + label117: + Common.Log.d("KingKongUpdateManager", "Install updates success!"); + break label59; + } + clearPatchDownloadFiles((PatchInfo)((Iterator)localObject1).next()); + } + } + + public static boolean ShouldContinueUpdate() + { + return Utils.getCurrentProcessName(mContext).equals(Utils.getPackageName(mContext)); + } + + public static boolean ShouldInstallUpdates() + { + if (!Utils.getCurrentProcessName(mContext).equals(Utils.getPackageName(mContext))) {} + String str; + do + { + Iterator localIterator; + while (!localIterator.hasNext()) + { + return false; + localIterator = MainConfig.getMainConfig(mContext).getPatchList().iterator(); + } + str = ((PatchInfo)localIterator.next()).mStatus; + } while ((!str.equals("DISABLED")) && (!str.equals("UPDATED"))); + return true; + } + + public static void Update(Context paramContext, JSONObject paramJSONObject, boolean paramBoolean) + { + if (!Common.shouldLoadSecureLibrary()) {} + do + { + return; + if ((mUpdateThread != null) && (mUpdateThread.mHandler != null)) { + break; + } + Common.Log.d("KingKongUpdateManager", "System or Update Thread not ready yet"); + Common.SetContext(paramContext); + Common.initFileFolder(); + } while (!Common.mInterProcessLock.lock()); + try + { + paramJSONObject = PatchInfo.parseFromJSON(new JSONObject(paramJSONObject.toString())); + paramContext = MainConfig.getMainConfig(paramContext); + if (shouldDoUpdate(paramContext, paramJSONObject, paramBoolean)) + { + Common.Log.d("KingKongUpdateManager", "--> Updating patch : " + paramJSONObject); + paramContext.updatePatch(paramJSONObject); + } + Common.mInterProcessLock.unlock(); + return; + } + catch (Exception paramContext) + { + for (;;) + { + Common.Log.d("KingKongUpdateManager", "Update Exception : " + paramContext); + } + } + paramContext = paramJSONObject.toString(); + paramJSONObject = mUpdateThread.mHandler.obtainMessage(); + Bundle localBundle = new Bundle(); + localBundle.putString("PATCH_JSON_STRING", paramContext); + localBundle.putBoolean("PATCH_FORCE_UPDATE", paramBoolean); + paramJSONObject.setData(localBundle); + mUpdateThread.mHandler.sendMessage(paramJSONObject); + } + + public static void Update(PatchInfo paramPatchInfo, boolean paramBoolean) + { + MainConfig localMainConfig = MainConfig.getMainConfig(mContext); + String str = paramPatchInfo.mPatchName; + if (shouldDoUpdate(localMainConfig, paramPatchInfo, paramBoolean)) + { + Common.Log.d("KingKongUpdateManager", "--> Updating patch : " + paramPatchInfo); + localMainConfig.updatePatch(paramPatchInfo); + if ("DISABLED".equals(paramPatchInfo.mStatus)) { + localMainConfig.updatePatch(paramPatchInfo); + } + } + else + { + return; + } + if (!downloadPatch(paramPatchInfo)) + { + localMainConfig.updatePatch(paramPatchInfo); + clearPatchDownloadFiles(paramPatchInfo); + Common.Log.d("KingKongUpdateManager", "--> Download patch exception : " + str); + return; + } + if ((!extractPatchFiles(paramPatchInfo)) || (Patch.CreatePatch(mPatchDownloadFolder, paramPatchInfo) == null)) + { + Common.Log.d("KingKongUpdateManager", "--> Update got damaged patch, disable " + str); + paramPatchInfo.mStatus = "DISABLED"; + localMainConfig.updatePatch(paramPatchInfo); + return; + } + paramPatchInfo.mStatus = "UPDATED"; + localMainConfig.updatePatch(paramPatchInfo); + Common.Log.d("KingKongUpdateManager", "--> Updated " + str); + } + + public static void clearPatchDownloadFiles(PatchInfo paramPatchInfo) + { + Object localObject = paramPatchInfo.mPatchName; + paramPatchInfo = paramPatchInfo.mType; + Common.Log.d("KingKongUpdateManager", "Clear update patch files " + (String)localObject); + paramPatchInfo = Patch.getFilesFileList((String)localObject, paramPatchInfo).iterator(); + if (!paramPatchInfo.hasNext()) + { + paramPatchInfo = Common.makeDownloadName(localObject + ".apk"); + localObject = new File(paramPatchInfo); + if (((File)localObject).exists()) { + break label151; + } + } + label151: + while (((File)localObject).delete()) + { + return; + String str = Common.makeDownloadName((String)paramPatchInfo.next()); + File localFile = new File(str); + if ((!localFile.exists()) || (localFile.delete())) { + break; + } + Common.Log.d("KingKongUpdateManager", "Delete file failed " + str); + break; + } + Common.Log.d("KingKongUpdateManager", "Delete file failed " + paramPatchInfo); + } + + public static void clearPatchInstallFiles(PatchInfo paramPatchInfo) + { + String str = paramPatchInfo.mPatchName; + paramPatchInfo = paramPatchInfo.mType; + Common.Log.d("KingKongUpdateManager", "Clear update patch files " + str); + paramPatchInfo = Patch.getFilesFileList(str, paramPatchInfo).iterator(); + for (;;) + { + if (!paramPatchInfo.hasNext()) { + return; + } + str = Common.makeInstallName((String)paramPatchInfo.next()); + File localFile = new File(str); + if ((localFile.exists()) && (!localFile.delete())) { + Common.Log.d("KingKongUpdateManager", "Delete file failed " + str); + } + } + } + + public static boolean downloadPatch(PatchInfo paramPatchInfo) + { + String str1 = paramPatchInfo.mUrl; + String str2 = Common.makeDownloadName(paramPatchInfo.mPatchName + ".apk"); + if (!Utils.download(str1, str2)) {} + while (!Utils.checkFileSignature(str2, "30820254308201bda00302010202044c5eafe7300d06092a864886f70d01010b0500305d310b300906035504061302434e310b3009060355040813024744310b300906035504071302535a3110300e060355040a130754656e63656e743110300e060355040b130754656e63656e743110300e0603550403130754656e63656e74301e170d3134313033313038333935345a170d3135313033313038333935345a305d310b300906035504061302434e310b3009060355040813024744310b300906035504071302535a3110300e060355040a130754656e63656e743110300e060355040b130754656e63656e743110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100b293a98fe569b7f9ba099e041c25038d8230e6fcbcee332499723e7d3c635795f6f8c04cdb25683080390119c4e5575bdf9d94b1969caeae09927ee38eb8e3ad9a5003a3dcc9055196341a50f5b06a6ec6e8c415ea8e42dee8d8838096022c3b54b299aafe3d2f934b65864506b379210382f826103476087d47c5191fb00e4b0203010001a321301f301d0603551d0e04160414b049af36c79e57278b3fda5ff8b1152ede6c83ca300d06092a864886f70d01010b0500038181003820e8817688a08d8bfef1cc3c5e7fe3343fa5786db96680d55a6d89145498fa1ae7f2de349e9deecd8ae9499e95a870f5810a1d9d81662f41ff29c23c0ddb51878b6926943fd5771d0e3dc463a7f0deb881355df3a45a206508ae5bc2c818038b0cd8fff3f52aeac3c70464c886917c67bc391fdae70a79fe02b9657190e6d4")) { + return false; + } + Common.reportByType(2085, paramPatchInfo.mPatchName, paramPatchInfo.mVer); + return true; + } + + private static boolean extractPatchFiles(PatchInfo paramPatchInfo) + { + String str1 = paramPatchInfo.mPatchName; + paramPatchInfo = Patch.getFileList(str1, paramPatchInfo.mType); + if ((paramPatchInfo == null) || (paramPatchInfo.size() == 0)) + { + Common.Log.d("KingKongUpdateManager", "Empty file list in " + str1); + return false; + } + int i = 0; + for (;;) + { + if (i >= paramPatchInfo.size()) { + return true; + } + String str2 = (String)paramPatchInfo.get(i); + String str3 = Common.makeDownloadName(str2); + if (!Utils.extractFile(Common.makeDownloadName(str1 + ".apk"), str2, str3)) { + break; + } + i += 1; + } + } + + private static boolean installPatches(ArrayList paramArrayList) + { + Common.Log.d("KingKongUpdateManager", "Installing updated patches"); + MainConfig localMainConfig = MainConfig.getMainConfig(mContext); + paramArrayList = paramArrayList.iterator(); + PatchInfo localPatchInfo; + String str1; + for (;;) + { + if (!paramArrayList.hasNext()) { + return true; + } + localPatchInfo = (PatchInfo)paramArrayList.next(); + localObject = localPatchInfo.mStatus; + str1 = localPatchInfo.mPatchName; + if (!((String)localObject).equals("DISABLED")) { + break; + } + Common.Log.d("KingKongUpdateManager", "Removed " + str1); + } + Common.Log.d("KingKongUpdateManager", "--> Installing " + str1); + Object localObject = Patch.getFileList(str1, localPatchInfo.mType).iterator(); + String str3; + String str2; + do + { + if (!((Iterator)localObject).hasNext()) + { + localObject = Patch.CreatePatch(mPatchDownloadFolder, localPatchInfo); + if ((localObject == null) || (!InitPatch((Patch)localObject))) { + Common.Log.d("KingKongUpdateManager", "Init patch failed " + str1); + } + localPatchInfo.mStatus = "READY"; + localMainConfig.updatePatch(localPatchInfo); + Common.Log.d("KingKongUpdateManager", "Installed " + str1); + break; + } + str3 = (String)((Iterator)localObject).next(); + str2 = Common.makeDownloadName(str3); + str3 = Common.makeInstallName(str3); + } while (Utils.copyFile(str3, str2)); + Common.Log.d("KingKongUpdateManager", "Install patch failed : " + str1 + ", " + str3 + " <-- " + str2); + localPatchInfo.mStatus = "UPDATING"; + localMainConfig.updatePatch(localPatchInfo); + return false; + } + + private static boolean removeObsoletedPatches(ArrayList paramArrayList) + { + Common.Log.d("KingKongUpdateManager", "Removing obsoleted patches"); + MainConfig localMainConfig = MainConfig.getMainConfig(mContext); + paramArrayList = paramArrayList.iterator(); + for (;;) + { + if (!paramArrayList.hasNext()) { + return true; + } + PatchInfo localPatchInfo = (PatchInfo)paramArrayList.next(); + String str = localPatchInfo.mPatchName; + clearPatchInstallFiles(localPatchInfo); + Common.removePatchSPs(str); + localMainConfig.removePatch(str); + } + } + + public static boolean shouldDoUpdate(MainConfig paramMainConfig, PatchInfo paramPatchInfo, boolean paramBoolean) + { + PatchInfo localPatchInfo = paramMainConfig.findPatch(paramPatchInfo.mPatchName); + StringBuilder localStringBuilder1 = Utils.obtainStringBuild(); + StringBuilder localStringBuilder2 = localStringBuilder1.append("Check update : ").append(" forceUpdate " + paramBoolean).append(", enabled " + paramPatchInfo.isEnabled()).append(", support " + paramPatchInfo.isSupported()); + StringBuilder localStringBuilder3 = new StringBuilder(", old version "); + if (localPatchInfo == null) + { + paramMainConfig = "None"; + localStringBuilder2.append(paramMainConfig).append(", new version " + paramPatchInfo.mVer); + if ((!paramBoolean) && (paramPatchInfo.isEnabled()) && (paramPatchInfo.isSupported()) && (localPatchInfo != null) && (localPatchInfo.mVer.equals(paramPatchInfo.mVer))) { + break label377; + } + if ((paramPatchInfo.isEnabled()) && (paramPatchInfo.isSupported())) { + break label286; + } + if (localPatchInfo != null) + { + Common.Log.d("KingKongUpdateManager", "close old patch : " + localPatchInfo.mPatchName + " , " + localPatchInfo.mVer); + Common.reportByType(2084, localPatchInfo.mPatchName, localPatchInfo.mVer); + } + } + for (paramPatchInfo.mStatus = "DISABLED";; paramPatchInfo.mStatus = "UPDATING") + { + Common.Log.d("KingKongUpdateManager", " --> Passed"); + return true; + paramMainConfig = localPatchInfo.mVer; + break; + label286: + if ((localPatchInfo != null) && (!localPatchInfo.mVer.equals(paramPatchInfo.mVer))) { + Common.Log.d("KingKongUpdateManager", "upgrade patch : from " + localPatchInfo.mPatchName + " , " + localPatchInfo.mVer + " to " + paramPatchInfo.mPatchName + " , " + paramPatchInfo.mVer); + } + } + label377: + Common.Log.d("KingKongUpdateManager", " --> Refused"); + return false; + } + + static class UpdateHandler + extends Handler + { + public void handleMessage(Message paramMessage) + { + paramMessage = paramMessage.getData(); + try + { + String str = paramMessage.getString("PATCH_JSON_STRING"); + boolean bool = paramMessage.getBoolean("PATCH_FORCE_UPDATE"); + paramMessage = PatchInfo.parseFromJSON(new JSONObject(str)); + if (paramMessage != null) { + UpdateManager.Update(paramMessage, bool); + } + return; + } + catch (Exception paramMessage) + { + Common.Log.d("KingKongUpdateManager", "Update patch exception : " + paramMessage); + } + } + } + + public static class UpdateThread + extends Thread + { + public static final String KEY_PATCH_FORCE_UPDATE = "PATCH_FORCE_UPDATE"; + public static final String KEY_PATCH_JSON_STRING = "PATCH_JSON_STRING"; + private UpdateManager.UpdateHandler mHandler = null; + + public void run() + { + Looper.prepare(); + this.mHandler = new UpdateManager.UpdateHandler(); + Looper.loop(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.UpdateManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/Utils.java b/com.tencent.token/classes.jar/com/tencent/kingkong/Utils.java new file mode 100755 index 00000000000..a0c6ff5022d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/Utils.java @@ -0,0 +1,1186 @@ +package com.tencent.kingkong; + +import android.app.ActivityManager; +import android.app.ActivityManager.RunningAppProcessInfo; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.Signature; +import android.os.Build.VERSION; +import android.os.Process; +import android.text.TextUtils; +import android.util.Base64; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.RandomAccessFile; +import java.nio.channels.FileChannel; +import java.nio.channels.FileLock; +import java.security.MessageDigest; +import java.security.SecureRandom; +import java.security.cert.Certificate; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +public class Utils +{ + private static final String LOG_TAG = "KingKongUtils"; + + /* Error */ + public static String ReadFileToString(String paramString) + { + // Byte code: + // 0: new 22 java/io/File + // 3: dup + // 4: aload_0 + // 5: invokespecial 25 java/io/File: (Ljava/lang/String;)V + // 8: invokevirtual 29 java/io/File:exists ()Z + // 11: ifne +32 -> 43 + // 14: ldc 11 + // 16: new 31 java/lang/StringBuilder + // 19: dup + // 20: ldc 33 + // 22: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 25: aload_0 + // 26: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 29: ldc 40 + // 31: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 34: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 37: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 40: ldc 52 + // 42: areturn + // 43: new 31 java/lang/StringBuilder + // 46: dup + // 47: invokespecial 53 java/lang/StringBuilder: ()V + // 50: astore_3 + // 51: aconst_null + // 52: astore_1 + // 53: aconst_null + // 54: astore_2 + // 55: new 55 java/io/BufferedReader + // 58: dup + // 59: new 57 java/io/InputStreamReader + // 62: dup + // 63: new 59 java/io/FileInputStream + // 66: dup + // 67: aload_0 + // 68: invokespecial 60 java/io/FileInputStream: (Ljava/lang/String;)V + // 71: invokespecial 63 java/io/InputStreamReader: (Ljava/io/InputStream;)V + // 74: invokespecial 66 java/io/BufferedReader: (Ljava/io/Reader;)V + // 77: astore_0 + // 78: aload_0 + // 79: invokevirtual 69 java/io/BufferedReader:readLine ()Ljava/lang/String; + // 82: astore_1 + // 83: aload_1 + // 84: ifnonnull +16 -> 100 + // 87: aload_0 + // 88: ifnull +78 -> 166 + // 91: aload_0 + // 92: invokevirtual 72 java/io/BufferedReader:close ()V + // 95: aload_3 + // 96: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 99: areturn + // 100: aload_3 + // 101: aload_1 + // 102: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 105: pop + // 106: goto -28 -> 78 + // 109: astore_2 + // 110: aload_0 + // 111: astore_1 + // 112: aload_2 + // 113: invokevirtual 75 java/io/IOException:printStackTrace ()V + // 116: aload_0 + // 117: ifnull -22 -> 95 + // 120: aload_0 + // 121: invokevirtual 72 java/io/BufferedReader:close ()V + // 124: goto -29 -> 95 + // 127: astore_0 + // 128: goto -33 -> 95 + // 131: astore_0 + // 132: aload_1 + // 133: ifnull +7 -> 140 + // 136: aload_1 + // 137: invokevirtual 72 java/io/BufferedReader:close ()V + // 140: aload_0 + // 141: athrow + // 142: astore_0 + // 143: goto -48 -> 95 + // 146: astore_1 + // 147: goto -7 -> 140 + // 150: astore_2 + // 151: aload_0 + // 152: astore_1 + // 153: aload_2 + // 154: astore_0 + // 155: goto -23 -> 132 + // 158: astore_1 + // 159: aload_2 + // 160: astore_0 + // 161: aload_1 + // 162: astore_2 + // 163: goto -53 -> 110 + // 166: goto -71 -> 95 + // Local variable table: + // start length slot name signature + // 0 169 0 paramString String + // 52 85 1 str1 String + // 146 1 1 localIOException1 IOException + // 152 1 1 str2 String + // 158 4 1 localIOException2 IOException + // 54 1 2 localObject1 Object + // 109 4 2 localIOException3 IOException + // 150 10 2 localObject2 Object + // 162 1 2 localIOException4 IOException + // 50 51 3 localStringBuilder StringBuilder + // Exception table: + // from to target type + // 78 83 109 java/io/IOException + // 100 106 109 java/io/IOException + // 120 124 127 java/io/IOException + // 55 78 131 finally + // 112 116 131 finally + // 91 95 142 java/io/IOException + // 136 140 146 java/io/IOException + // 78 83 150 finally + // 100 106 150 finally + // 55 78 158 java/io/IOException + } + + public static String ReadFileToStringEx(String paramString) + { + Object localObject = new File(paramString); + if (!((File)localObject).exists()) + { + Common.Log.d("KingKongUtils", "file " + paramString + " does not exist."); + return ""; + } + paramString = new byte[Long.valueOf(((File)localObject).length()).intValue()]; + try + { + localObject = new FileInputStream((File)localObject); + ((FileInputStream)localObject).read(paramString); + ((FileInputStream)localObject).close(); + return new String(paramString); + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + } + } + } + + public static boolean ZapFolder(File paramFile) + { + if (!paramFile.exists()) {} + while (!paramFile.isDirectory()) { + return false; + } + paramFile = paramFile.listFiles(); + int i = 0; + for (;;) + { + if (i >= paramFile.length) { + return true; + } + File localFile = paramFile[i]; + if (((localFile.isDirectory()) && (!ZapFolder(localFile))) || (!localFile.delete())) { + break; + } + i += 1; + } + } + + public static boolean checkFileSHA1(String paramString1, String paramString2) + { + return getFileSHA1String(paramString1).equals(paramString2); + } + + /* Error */ + public static boolean checkFileSignature(String paramString1, String paramString2) + { + // Byte code: + // 0: new 131 java/util/jar/JarFile + // 3: dup + // 4: aload_0 + // 5: invokespecial 132 java/util/jar/JarFile: (Ljava/lang/String;)V + // 8: astore_3 + // 9: aload_3 + // 10: invokevirtual 136 java/util/jar/JarFile:entries ()Ljava/util/Enumeration; + // 13: astore 4 + // 15: aload 4 + // 17: invokeinterface 141 1 0 + // 22: istore_2 + // 23: iload_2 + // 24: ifne +26 -> 50 + // 27: ldc 11 + // 29: new 31 java/lang/StringBuilder + // 32: dup + // 33: ldc 143 + // 35: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 38: aload_0 + // 39: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 42: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 45: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 48: iconst_1 + // 49: ireturn + // 50: aload 4 + // 52: invokeinterface 147 1 0 + // 57: checkcast 149 java/util/jar/JarEntry + // 60: astore 5 + // 62: aload 5 + // 64: invokevirtual 150 java/util/jar/JarEntry:isDirectory ()Z + // 67: ifne -52 -> 15 + // 70: aload 5 + // 72: invokevirtual 153 java/util/jar/JarEntry:getName ()Ljava/lang/String; + // 75: ldc 155 + // 77: invokevirtual 159 java/lang/String:startsWith (Ljava/lang/String;)Z + // 80: ifne -65 -> 15 + // 83: aload_3 + // 84: aload 5 + // 86: invokestatic 163 com/tencent/kingkong/Utils:loadCertificates (Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)[Ljava/security/cert/Certificate; + // 89: astore 5 + // 91: aload 5 + // 93: ifnonnull +5 -> 98 + // 96: iconst_0 + // 97: ireturn + // 98: aload 5 + // 100: arraylength + // 101: iconst_1 + // 102: if_icmpeq +5 -> 107 + // 105: iconst_0 + // 106: ireturn + // 107: new 165 android/content/pm/Signature + // 110: dup + // 111: aload 5 + // 113: iconst_0 + // 114: aaload + // 115: invokevirtual 171 java/security/cert/Certificate:getEncoded ()[B + // 118: invokespecial 172 android/content/pm/Signature: ([B)V + // 121: new 165 android/content/pm/Signature + // 124: dup + // 125: aload_1 + // 126: invokespecial 173 android/content/pm/Signature: (Ljava/lang/String;)V + // 129: invokevirtual 174 android/content/pm/Signature:equals (Ljava/lang/Object;)Z + // 132: ifne -117 -> 15 + // 135: ldc 11 + // 137: new 31 java/lang/StringBuilder + // 140: dup + // 141: ldc 176 + // 143: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 146: aload_0 + // 147: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 150: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 153: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 156: iconst_0 + // 157: ireturn + // 158: astore_0 + // 159: ldc 11 + // 161: new 31 java/lang/StringBuilder + // 164: dup + // 165: ldc 178 + // 167: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 170: aload_0 + // 171: invokevirtual 181 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 174: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 177: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 180: iconst_0 + // 181: ireturn + // 182: astore_0 + // 183: ldc 11 + // 185: new 31 java/lang/StringBuilder + // 188: dup + // 189: ldc 178 + // 191: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 194: aload_0 + // 195: invokevirtual 181 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 198: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 201: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 204: iconst_0 + // 205: ireturn + // 206: astore_0 + // 207: goto -24 -> 183 + // 210: astore_0 + // 211: goto -52 -> 159 + // Local variable table: + // start length slot name signature + // 0 214 0 paramString1 String + // 0 214 1 paramString2 String + // 22 2 2 bool boolean + // 8 76 3 localJarFile JarFile + // 13 38 4 localEnumeration Enumeration + // 60 52 5 localObject Object + // Exception table: + // from to target type + // 0 9 158 java/io/IOException + // 0 9 182 java/security/cert/CertificateEncodingException + // 9 15 206 java/security/cert/CertificateEncodingException + // 15 23 206 java/security/cert/CertificateEncodingException + // 50 91 206 java/security/cert/CertificateEncodingException + // 98 105 206 java/security/cert/CertificateEncodingException + // 107 156 206 java/security/cert/CertificateEncodingException + // 9 15 210 java/io/IOException + // 15 23 210 java/io/IOException + // 50 91 210 java/io/IOException + // 98 105 210 java/io/IOException + // 107 156 210 java/io/IOException + } + + public static void clearPatchConfig(Context paramContext) + { + SharedPreferences.Editor localEditor = paramContext.getSharedPreferences("SHARED_PREFERENCE_KINGKONG_PATCH", 0).edit(); + localEditor.clear(); + localEditor.commit(); + ZapFolder(new File(paramContext.getFilesDir().getAbsolutePath() + Common.mPathSeparator + "kingkong" + Common.mPathSeparator + "download")); + ZapFolder(new File(paramContext.getFilesDir().getAbsolutePath() + Common.mPathSeparator + "kingkong" + Common.mPathSeparator + "patches")); + } + + /* Error */ + public static boolean copyAssetToFile(Context paramContext, String paramString1, String paramString2) + { + // Byte code: + // 0: iconst_0 + // 1: istore 4 + // 3: aconst_null + // 4: astore 5 + // 6: aconst_null + // 7: astore 9 + // 9: aconst_null + // 10: astore 7 + // 12: aconst_null + // 13: astore 6 + // 15: aconst_null + // 16: astore 8 + // 18: new 230 java/io/FileOutputStream + // 21: dup + // 22: aload_2 + // 23: invokespecial 231 java/io/FileOutputStream: (Ljava/lang/String;)V + // 26: astore_2 + // 27: new 233 java/io/BufferedInputStream + // 30: dup + // 31: aload_0 + // 32: invokevirtual 237 android/content/Context:getAssets ()Landroid/content/res/AssetManager; + // 35: aload_1 + // 36: invokevirtual 243 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 39: invokespecial 244 java/io/BufferedInputStream: (Ljava/io/InputStream;)V + // 42: astore_0 + // 43: sipush 8192 + // 46: newarray byte + // 48: astore_1 + // 49: aload_0 + // 50: aload_1 + // 51: invokevirtual 245 java/io/BufferedInputStream:read ([B)I + // 54: istore_3 + // 55: iload_3 + // 56: iconst_m1 + // 57: if_icmpne +25 -> 82 + // 60: aload_0 + // 61: ifnull +7 -> 68 + // 64: aload_0 + // 65: invokevirtual 246 java/io/BufferedInputStream:close ()V + // 68: aload_2 + // 69: ifnull +7 -> 76 + // 72: aload_2 + // 73: invokevirtual 249 java/io/OutputStream:close ()V + // 76: iconst_1 + // 77: istore 4 + // 79: iload 4 + // 81: ireturn + // 82: aload_2 + // 83: aload_1 + // 84: iconst_0 + // 85: iload_3 + // 86: invokevirtual 253 java/io/OutputStream:write ([BII)V + // 89: goto -40 -> 49 + // 92: astore 5 + // 94: aload_0 + // 95: astore_1 + // 96: aload_2 + // 97: astore_0 + // 98: aload_1 + // 99: astore_2 + // 100: aload 5 + // 102: astore_1 + // 103: aload_2 + // 104: astore 5 + // 106: aload_0 + // 107: astore 6 + // 109: ldc 11 + // 111: aload_1 + // 112: invokevirtual 256 java/io/IOException:getMessage ()Ljava/lang/String; + // 115: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 118: aload_2 + // 119: ifnull +7 -> 126 + // 122: aload_2 + // 123: invokevirtual 246 java/io/BufferedInputStream:close ()V + // 126: aload_0 + // 127: ifnull -48 -> 79 + // 130: aload_0 + // 131: invokevirtual 249 java/io/OutputStream:close ()V + // 134: iconst_0 + // 135: ireturn + // 136: astore_0 + // 137: iconst_0 + // 138: ireturn + // 139: astore_0 + // 140: aload 5 + // 142: ifnull +8 -> 150 + // 145: aload 5 + // 147: invokevirtual 246 java/io/BufferedInputStream:close ()V + // 150: aload 6 + // 152: ifnull +8 -> 160 + // 155: aload 6 + // 157: invokevirtual 249 java/io/OutputStream:close ()V + // 160: aload_0 + // 161: athrow + // 162: astore_0 + // 163: goto -95 -> 68 + // 166: astore_0 + // 167: goto -91 -> 76 + // 170: astore_1 + // 171: goto -45 -> 126 + // 174: astore_1 + // 175: goto -25 -> 150 + // 178: astore_1 + // 179: goto -19 -> 160 + // 182: astore_0 + // 183: aload 9 + // 185: astore 5 + // 187: aload_2 + // 188: astore 6 + // 190: goto -50 -> 140 + // 193: astore_1 + // 194: aload_0 + // 195: astore 5 + // 197: aload_2 + // 198: astore 6 + // 200: aload_1 + // 201: astore_0 + // 202: goto -62 -> 140 + // 205: astore_1 + // 206: aload 7 + // 208: astore_2 + // 209: aload 8 + // 211: astore_0 + // 212: goto -109 -> 103 + // 215: astore_1 + // 216: aload_2 + // 217: astore_0 + // 218: aload 7 + // 220: astore_2 + // 221: goto -118 -> 103 + // Local variable table: + // start length slot name signature + // 0 224 0 paramContext Context + // 0 224 1 paramString1 String + // 0 224 2 paramString2 String + // 54 32 3 i int + // 1 79 4 bool boolean + // 4 1 5 localObject1 Object + // 92 9 5 localIOException IOException + // 104 92 5 localObject2 Object + // 13 186 6 localObject3 Object + // 10 209 7 localObject4 Object + // 16 194 8 localObject5 Object + // 7 177 9 localObject6 Object + // Exception table: + // from to target type + // 43 49 92 java/io/IOException + // 49 55 92 java/io/IOException + // 82 89 92 java/io/IOException + // 130 134 136 java/io/IOException + // 18 27 139 finally + // 109 118 139 finally + // 64 68 162 java/io/IOException + // 72 76 166 java/io/IOException + // 122 126 170 java/io/IOException + // 145 150 174 java/io/IOException + // 155 160 178 java/io/IOException + // 27 43 182 finally + // 43 49 193 finally + // 49 55 193 finally + // 82 89 193 finally + // 18 27 205 java/io/IOException + // 27 43 215 java/io/IOException + } + + public static boolean copyFile(String paramString1, String paramString2) + { + Object localObject = new File(paramString1); + if (((File)localObject).exists()) { + ((File)localObject).delete(); + } + try + { + localObject = new FileOutputStream(paramString1, false); + FileInputStream localFileInputStream = new FileInputStream(paramString2); + byte[] arrayOfByte = new byte[8192]; + for (;;) + { + int i = localFileInputStream.read(arrayOfByte); + if (i <= 0) + { + ((FileOutputStream)localObject).close(); + localFileInputStream.close(); + Common.Log.d("KingKongUtils", "Copy file " + paramString2 + " to " + paramString1 + " OK"); + return true; + } + ((FileOutputStream)localObject).write(arrayOfByte, 0, i); + } + return false; + } + catch (IOException localIOException) + { + Common.Log.d("KingKongUtils", "Copy file " + paramString2 + " to " + paramString1 + " failed:" + localIOException); + localIOException.printStackTrace(); + } + } + + /* Error */ + public static boolean download(String paramString1, String paramString2) + { + // Byte code: + // 0: aconst_null + // 1: astore 12 + // 3: aconst_null + // 4: astore 6 + // 6: aconst_null + // 7: astore 10 + // 9: aconst_null + // 10: astore 11 + // 12: aconst_null + // 13: astore 9 + // 15: aconst_null + // 16: astore 4 + // 18: aload 10 + // 20: astore 7 + // 22: aload 6 + // 24: astore 5 + // 26: aload 12 + // 28: astore 8 + // 30: new 274 java/net/URL + // 33: dup + // 34: aload_0 + // 35: invokespecial 275 java/net/URL: (Ljava/lang/String;)V + // 38: invokevirtual 279 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 41: checkcast 281 java/net/HttpURLConnection + // 44: astore_3 + // 45: aload_3 + // 46: astore 4 + // 48: aload 10 + // 50: astore 7 + // 52: aload 6 + // 54: astore 5 + // 56: aload_3 + // 57: astore 9 + // 59: aload 12 + // 61: astore 8 + // 63: aload_3 + // 64: invokevirtual 285 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 67: astore 6 + // 69: aload_3 + // 70: astore 4 + // 72: aload 10 + // 74: astore 7 + // 76: aload 6 + // 78: astore 5 + // 80: aload_3 + // 81: astore 9 + // 83: aload 6 + // 85: astore 8 + // 87: new 230 java/io/FileOutputStream + // 90: dup + // 91: aload_1 + // 92: iconst_0 + // 93: invokespecial 260 java/io/FileOutputStream: (Ljava/lang/String;Z)V + // 96: astore 10 + // 98: aload_3 + // 99: sipush 300 + // 102: invokevirtual 289 java/net/HttpURLConnection:setConnectTimeout (I)V + // 105: aload_3 + // 106: sipush 300 + // 109: invokevirtual 292 java/net/HttpURLConnection:setReadTimeout (I)V + // 112: aload_3 + // 113: invokevirtual 295 java/net/HttpURLConnection:connect ()V + // 116: sipush 1024 + // 119: newarray byte + // 121: astore 4 + // 123: aload 6 + // 125: aload 4 + // 127: invokevirtual 298 java/io/InputStream:read ([B)I + // 130: istore_2 + // 131: iload_2 + // 132: ifgt +65 -> 197 + // 135: ldc 11 + // 137: new 31 java/lang/StringBuilder + // 140: dup + // 141: ldc_w 300 + // 144: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 147: aload_0 + // 148: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 151: ldc_w 302 + // 154: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 157: aload_1 + // 158: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 161: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 164: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 167: aload 6 + // 169: ifnull +8 -> 177 + // 172: aload 6 + // 174: invokevirtual 303 java/io/InputStream:close ()V + // 177: aload 10 + // 179: ifnull +8 -> 187 + // 182: aload 10 + // 184: invokevirtual 261 java/io/FileOutputStream:close ()V + // 187: aload_3 + // 188: ifnull +7 -> 195 + // 191: aload_3 + // 192: invokevirtual 306 java/net/HttpURLConnection:disconnect ()V + // 195: iconst_1 + // 196: ireturn + // 197: aload 10 + // 199: aload 4 + // 201: iconst_0 + // 202: iload_2 + // 203: invokevirtual 268 java/io/FileOutputStream:write ([BII)V + // 206: goto -83 -> 123 + // 209: astore 9 + // 211: aload 6 + // 213: astore 8 + // 215: aload 10 + // 217: astore 6 + // 219: aload_3 + // 220: astore 4 + // 222: aload 6 + // 224: astore 7 + // 226: aload 8 + // 228: astore 5 + // 230: ldc 11 + // 232: new 31 java/lang/StringBuilder + // 235: dup + // 236: ldc_w 308 + // 239: invokespecial 34 java/lang/StringBuilder: (Ljava/lang/String;)V + // 242: aload_0 + // 243: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 246: ldc_w 302 + // 249: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 252: aload_1 + // 253: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 256: ldc_w 310 + // 259: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 262: aload 9 + // 264: invokevirtual 181 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 267: invokevirtual 44 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 270: invokestatic 50 com/tencent/kingkong/Common$Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 273: aload 8 + // 275: ifnull +8 -> 283 + // 278: aload 8 + // 280: invokevirtual 303 java/io/InputStream:close ()V + // 283: aload 6 + // 285: ifnull +8 -> 293 + // 288: aload 6 + // 290: invokevirtual 261 java/io/FileOutputStream:close ()V + // 293: aload_3 + // 294: ifnull +7 -> 301 + // 297: aload_3 + // 298: invokevirtual 306 java/net/HttpURLConnection:disconnect ()V + // 301: iconst_0 + // 302: ireturn + // 303: astore_0 + // 304: aload 4 + // 306: astore_3 + // 307: aload 5 + // 309: ifnull +8 -> 317 + // 312: aload 5 + // 314: invokevirtual 303 java/io/InputStream:close ()V + // 317: aload 7 + // 319: ifnull +8 -> 327 + // 322: aload 7 + // 324: invokevirtual 261 java/io/FileOutputStream:close ()V + // 327: aload_3 + // 328: ifnull +7 -> 335 + // 331: aload_3 + // 332: invokevirtual 306 java/net/HttpURLConnection:disconnect ()V + // 335: aload_0 + // 336: athrow + // 337: astore_0 + // 338: goto -161 -> 177 + // 341: astore_0 + // 342: goto -155 -> 187 + // 345: astore_0 + // 346: goto -63 -> 283 + // 349: astore_0 + // 350: goto -57 -> 293 + // 353: astore_1 + // 354: goto -37 -> 317 + // 357: astore_1 + // 358: goto -31 -> 327 + // 361: astore_0 + // 362: aload 10 + // 364: astore 7 + // 366: aload 6 + // 368: astore 5 + // 370: goto -63 -> 307 + // 373: astore 4 + // 375: aload 9 + // 377: astore_3 + // 378: aload 4 + // 380: astore 9 + // 382: aload 11 + // 384: astore 6 + // 386: goto -167 -> 219 + // Local variable table: + // start length slot name signature + // 0 389 0 paramString1 String + // 0 389 1 paramString2 String + // 130 73 2 i int + // 44 334 3 localObject1 Object + // 16 289 4 localObject2 Object + // 373 6 4 localThrowable1 Throwable + // 24 345 5 localObject3 Object + // 4 381 6 localObject4 Object + // 20 345 7 localObject5 Object + // 28 251 8 localObject6 Object + // 13 69 9 localObject7 Object + // 209 167 9 localThrowable2 Throwable + // 380 1 9 localObject8 Object + // 7 356 10 localFileOutputStream FileOutputStream + // 10 373 11 localObject9 Object + // 1 59 12 localObject10 Object + // Exception table: + // from to target type + // 98 123 209 java/lang/Throwable + // 123 131 209 java/lang/Throwable + // 135 167 209 java/lang/Throwable + // 197 206 209 java/lang/Throwable + // 30 45 303 finally + // 63 69 303 finally + // 87 98 303 finally + // 230 273 303 finally + // 172 177 337 java/io/IOException + // 182 187 341 java/io/IOException + // 278 283 345 java/io/IOException + // 288 293 349 java/io/IOException + // 312 317 353 java/io/IOException + // 322 327 357 java/io/IOException + // 98 123 361 finally + // 123 131 361 finally + // 135 167 361 finally + // 197 206 361 finally + // 30 45 373 java/lang/Throwable + // 63 69 373 java/lang/Throwable + // 87 98 373 java/lang/Throwable + } + + public static boolean extractFile(String paramString1, String paramString2, String paramString3) + { + return extractFile(paramString1, paramString2, paramString3, false, ""); + } + + public static boolean extractFile(String paramString1, String paramString2, String paramString3, boolean paramBoolean, String paramString4) + { + JarFile localJarFile; + JarEntry localJarEntry; + try + { + localJarFile = new JarFile(paramString1); + Enumeration localEnumeration = localJarFile.entries(); + Certificate[] arrayOfCertificate; + do + { + do + { + if (!localEnumeration.hasMoreElements()) + { + Common.Log.d("KingKongUtils", "Extract " + paramString2 + " from " + paramString1 + " failed : No such file in Apk"); + return false; + } + localJarEntry = (JarEntry)localEnumeration.nextElement(); + } while ((localJarEntry.isDirectory()) || (!localJarEntry.getName().equals(paramString2))); + if (!paramBoolean) { + break; + } + arrayOfCertificate = loadCertificates(localJarFile, localJarEntry); + } while ((arrayOfCertificate == null) || (arrayOfCertificate.length != 1)); + if (!new Signature(arrayOfCertificate[0].getEncoded()).equals(new Signature(paramString4))) + { + Common.Log.d("KingKongUtils", "Extract " + paramString2 + " from " + paramString1 + " failed : Signature mismatch!"); + return false; + } + } + catch (Exception paramString3) + { + Common.Log.d("KingKongUtils", "Extract " + paramString2 + " from " + paramString1 + " failed : Exception " + paramString3); + return false; + } + if (readJarFile(localJarFile, localJarEntry, paramString3)) + { + Common.Log.d("KingKongUtils", "Extract " + paramString2 + " from " + paramString1 + " OK"); + return true; + } + Common.Log.d("KingKongUtils", "Extract " + paramString2 + " from " + paramString1 + " failed : Read error"); + return false; + } + + public static String getCurrentProcessName(Context paramContext) + { + if (paramContext == null) { + return ""; + } + int i = Process.myPid(); + paramContext = ((ActivityManager)paramContext.getSystemService("activity")).getRunningAppProcesses().iterator(); + ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo; + do + { + if (!paramContext.hasNext()) + { + Common.Log.d("KingKongUtils", "Unable to get current process name!"); + return ""; + } + localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)paramContext.next(); + } while (localRunningAppProcessInfo.pid != i); + return localRunningAppProcessInfo.processName; + } + + public static String getFileSHA1String(String paramString) + { + try + { + paramString = getSHA1String(new FileInputStream(paramString)); + return paramString; + } + catch (FileNotFoundException paramString) {} + return ""; + } + + public static String getFileSHA1StringInApk(String paramString1, String paramString2) + throws IOException + { + JarFile localJarFile = new JarFile(paramString1); + Enumeration localEnumeration = localJarFile.entries(); + paramString1 = ""; + if (!localEnumeration.hasMoreElements()) {} + for (;;) + { + localJarFile.close(); + return paramString1; + JarEntry localJarEntry = (JarEntry)localEnumeration.nextElement(); + if ((localJarEntry.isDirectory()) || (!localJarEntry.getName().equals(paramString2))) { + break; + } + paramString1 = getSHA1String(localJarFile.getInputStream(localJarEntry)); + } + } + + public static String getPackageName(Context paramContext) + { + if (paramContext == null) { + paramContext = ""; + } + for (;;) + { + return paramContext; + try + { + paramContext = paramContext.getPackageName(); + boolean bool = TextUtils.isEmpty(paramContext); + if (bool) { + return ""; + } + } + catch (Exception paramContext) {} + } + return ""; + } + + public static String getRandomString(int paramInt) + { + SecureRandom localSecureRandom = new SecureRandom(); + byte[] arrayOfByte = new byte[paramInt]; + localSecureRandom.nextBytes(arrayOfByte); + return Base64.encodeToString(arrayOfByte, 0); + } + + public static String getSHA1String(InputStream paramInputStream) + { + try + { + BufferedInputStream localBufferedInputStream = new BufferedInputStream(paramInputStream); + MessageDigest localMessageDigest = MessageDigest.getInstance("SHA1"); + localMessageDigest.reset(); + byte[] arrayOfByte = new byte[8192]; + for (;;) + { + int i = localBufferedInputStream.read(arrayOfByte); + if (i <= 0) + { + localBufferedInputStream.close(); + paramInputStream.close(); + return Base64.encodeToString(localMessageDigest.digest(), 2).trim(); + } + localMessageDigest.update(arrayOfByte, 0, i); + } + return ""; + } + catch (Throwable paramInputStream) {} + } + + public static String getSHA1String(byte[] paramArrayOfByte) + { + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance("SHA1"); + localMessageDigest.reset(); + localMessageDigest.update(paramArrayOfByte, 0, paramArrayOfByte.length); + paramArrayOfByte = Base64.encodeToString(localMessageDigest.digest(), 2); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + Common.Log.d("Lynn", "Unable to calculate SHA1"); + } + return ""; + } + + public static boolean isSupportDriver(String paramString) + { + paramString = paramString.split(","); + int j = paramString.length; + int i = 0; + for (;;) + { + if (i >= j) { + return false; + } + if ("2.0".equals(paramString[i].trim())) { + return true; + } + i += 1; + } + } + + public static boolean isSupportSystem(String paramString) + { + paramString = paramString.split(","); + int j = Build.VERSION.SDK_INT; + int k = paramString.length; + int i = 0; + for (;;) + { + if (i >= k) { + return false; + } + if (String.valueOf(j).equals(paramString[i].trim())) { + return true; + } + i += 1; + } + } + + private static Certificate[] loadCertificates(JarFile paramJarFile, JarEntry paramJarEntry) + { + Object localObject = null; + try + { + byte[] arrayOfByte = new byte[8192]; + paramJarFile = new BufferedInputStream(paramJarFile.getInputStream(paramJarEntry)); + while (paramJarFile.read(arrayOfByte, 0, arrayOfByte.length) != -1) {} + paramJarFile.close(); + paramJarFile = localObject; + if (paramJarEntry != null) { + paramJarFile = paramJarEntry.getCertificates(); + } + return paramJarFile; + } + catch (RuntimeException paramJarFile) + { + return null; + } + catch (IOException paramJarFile) {} + return null; + } + + public static StringBuilder obtainStringBuild() + { + return new StringBuilder(); + } + + private static boolean readJarFile(JarFile paramJarFile, JarEntry paramJarEntry, String paramString) + { + try + { + byte[] arrayOfByte = new byte[8192]; + paramJarFile = new BufferedInputStream(paramJarFile.getInputStream(paramJarEntry)); + paramJarEntry = new FileOutputStream(paramString, false); + for (;;) + { + int i = paramJarFile.read(arrayOfByte, 0, arrayOfByte.length); + if (i == -1) { + break; + } + paramJarEntry.write(arrayOfByte, 0, i); + } + paramJarFile.close(); + paramJarEntry.close(); + return true; + } + catch (RuntimeException paramJarFile) + { + return false; + } + catch (IOException paramJarFile) {} + return false; + } + + public static boolean reloadFile(String paramString1, String paramString2, String paramString3, boolean paramBoolean) + { + if (paramString3.startsWith("META-INF/")) + { + Common.Log.d("KingKongUtils", "Reload file with unexpected name : " + paramString3); + return false; + } + if (!paramBoolean) { + try + { + if (extractFile(paramString2, paramString3, paramString1)) + { + Common.Log.d("KingKongUtils", "Current file changed, reload OK : " + paramString1 + ", " + paramString2); + return true; + } + Common.Log.d("KingKongUtils", "Current file changed and unable to be reloaded : " + paramString1 + ", " + paramString2); + return false; + } + catch (Exception paramString2) + { + Common.Log.d("KingKongUtils", "Error occurred while reload file " + paramString1 + " : " + paramString2); + return false; + } + } + if (copyFile(paramString1, paramString2)) + { + Common.Log.d("KingKongUtils", "Current file changed, copy OK : " + paramString1); + return true; + } + Common.Log.d("KingKongUtils", "Current file changed and unable to be repaired : " + paramString1); + return false; + } + + public static boolean verifyAndExtractFile(String paramString1, String paramString2, String paramString3, String paramString4) + { + return extractFile(paramString1, paramString2, paramString3, true, paramString4); + } + + public static class InterProcessLock + { + private FileChannel mFileChannel = null; + private FileLock mFileLock = null; + private boolean mInitialized = false; + private String mLockFileName = ""; + private boolean mLocked = false; + + InterProcessLock(String paramString) + { + this.mLockFileName = paramString; + try + { + this.mInitialized = true; + return; + } + catch (Exception paramString) + { + Common.Log.d("KingKongUtils", "Initial FileChannel exception : " + paramString); + this.mInitialized = false; + } + } + + public boolean lock() + { + if ((!this.mInitialized) || (this.mLocked)) { + return false; + } + Common.Log.d("KingKongUtils", "Do Inter-Process Lock " + this.mLockFileName); + try + { + this.mFileChannel = new RandomAccessFile(new File(this.mLockFileName), "rw").getChannel(); + this.mFileLock = this.mFileChannel.lock(); + this.mLocked = true; + Common.Log.d("KingKongUtils", "Do Inter-Process Lock OK " + this.mLockFileName); + return true; + } + catch (Exception localException) + { + Common.Log.d("KingKongUtils", "Do Inter-Process Lock " + this.mLockFileName + " exception : " + localException); + if (this.mFileLock == null) {} + } + try + { + this.mFileLock.release(); + label157: + if (this.mFileChannel != null) {} + try + { + this.mFileChannel.close(); + label171: + Common.Log.d("KingKongUtils", "Do Inter-Process Lock failed " + this.mLockFileName); + return false; + } + catch (IOException localIOException1) + { + break label171; + } + } + catch (IOException localIOException2) + { + break label157; + } + } + + public void unlock() + { + if (!this.mLocked) { + return; + } + Common.Log.d("KingKongUtils", "Release Inter-Process Lock " + this.mLockFileName); + if (this.mFileLock != null) {} + try + { + this.mFileLock.release(); + if (this.mFileChannel == null) {} + } + catch (IOException localIOException1) + { + try + { + this.mFileChannel.close(); + this.mLocked = false; + return; + localIOException1 = localIOException1; + Common.Log.d("KingKongUtils", "Release Inter-Process Lock " + this.mLockFileName + " exception : " + localIOException1); + localIOException1.printStackTrace(); + } + catch (IOException localIOException2) + { + for (;;) + { + Common.Log.d("KingKongUtils", "Release Inter-Process Lock " + this.mLockFileName + " exception : " + localIOException2); + } + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.Utils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/DatabaseObjectNotClosedException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/DatabaseObjectNotClosedException.java new file mode 100755 index 00000000000..bb0a34dce77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/DatabaseObjectNotClosedException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class DatabaseObjectNotClosedException + extends RuntimeException +{ + private static final String s = "Application did not close the cursor or database object that was opened here"; + + public DatabaseObjectNotClosedException() + { + super("Application did not close the cursor or database object that was opened here"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.DatabaseObjectNotClosedException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAbortException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAbortException.java new file mode 100755 index 00000000000..5896f4af67c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAbortException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteAbortException + extends SQLiteException +{ + public SQLiteAbortException() {} + + public SQLiteAbortException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteAbortException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAccessPermException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAccessPermException.java new file mode 100755 index 00000000000..32c8e189691 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteAccessPermException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteAccessPermException + extends SQLiteException +{ + public SQLiteAccessPermException() {} + + public SQLiteAccessPermException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteAccessPermException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBindOrColumnIndexOutOfRangeException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBindOrColumnIndexOutOfRangeException.java new file mode 100755 index 00000000000..53fb620d1de --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBindOrColumnIndexOutOfRangeException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteBindOrColumnIndexOutOfRangeException + extends SQLiteException +{ + public SQLiteBindOrColumnIndexOutOfRangeException() {} + + public SQLiteBindOrColumnIndexOutOfRangeException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteBindOrColumnIndexOutOfRangeException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBlobTooBigException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBlobTooBigException.java new file mode 100755 index 00000000000..9b070095497 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteBlobTooBigException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteBlobTooBigException + extends SQLiteException +{ + public SQLiteBlobTooBigException() {} + + public SQLiteBlobTooBigException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteBlobTooBigException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCantOpenDatabaseException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCantOpenDatabaseException.java new file mode 100755 index 00000000000..dc2d411e04b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCantOpenDatabaseException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteCantOpenDatabaseException + extends SQLiteException +{ + public SQLiteCantOpenDatabaseException() {} + + public SQLiteCantOpenDatabaseException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteCantOpenDatabaseException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteClosable.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteClosable.java new file mode 100755 index 00000000000..6c0bceefa0d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteClosable.java @@ -0,0 +1,131 @@ +package com.tencent.kingkong.database; + +import java.io.Closeable; + +public abstract class SQLiteClosable + implements Closeable +{ + private int mReferenceCount = 1; + + public void acquireReference() + { + try + { + if (this.mReferenceCount <= 0) { + throw new IllegalStateException("attempt to re-open an already-closed object: " + this); + } + } + finally {} + this.mReferenceCount += 1; + } + + public void close() + { + releaseReference(); + } + + protected abstract void onAllReferencesReleased(); + + @Deprecated + protected void onAllReferencesReleasedFromContainer() + { + onAllReferencesReleased(); + } + + /* Error */ + public void releaseReference() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 14 com/tencent/kingkong/database/SQLiteClosable:mReferenceCount I + // 6: iconst_1 + // 7: isub + // 8: istore_1 + // 9: aload_0 + // 10: iload_1 + // 11: putfield 14 com/tencent/kingkong/database/SQLiteClosable:mReferenceCount I + // 14: iload_1 + // 15: ifne +16 -> 31 + // 18: iconst_1 + // 19: istore_1 + // 20: aload_0 + // 21: monitorexit + // 22: iload_1 + // 23: ifeq +7 -> 30 + // 26: aload_0 + // 27: invokevirtual 46 com/tencent/kingkong/database/SQLiteClosable:onAllReferencesReleased ()V + // 30: return + // 31: iconst_0 + // 32: istore_1 + // 33: goto -13 -> 20 + // 36: astore_2 + // 37: aload_0 + // 38: monitorexit + // 39: aload_2 + // 40: athrow + // Local variable table: + // start length slot name signature + // 0 41 0 this SQLiteClosable + // 8 25 1 i int + // 36 4 2 localObject Object + // Exception table: + // from to target type + // 2 14 36 finally + // 20 22 36 finally + // 37 39 36 finally + } + + /* Error */ + @Deprecated + public void releaseReferenceFromContainer() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 14 com/tencent/kingkong/database/SQLiteClosable:mReferenceCount I + // 6: iconst_1 + // 7: isub + // 8: istore_1 + // 9: aload_0 + // 10: iload_1 + // 11: putfield 14 com/tencent/kingkong/database/SQLiteClosable:mReferenceCount I + // 14: iload_1 + // 15: ifne +16 -> 31 + // 18: iconst_1 + // 19: istore_1 + // 20: aload_0 + // 21: monitorexit + // 22: iload_1 + // 23: ifeq +7 -> 30 + // 26: aload_0 + // 27: invokevirtual 50 com/tencent/kingkong/database/SQLiteClosable:onAllReferencesReleasedFromContainer ()V + // 30: return + // 31: iconst_0 + // 32: istore_1 + // 33: goto -13 -> 20 + // 36: astore_2 + // 37: aload_0 + // 38: monitorexit + // 39: aload_2 + // 40: athrow + // Local variable table: + // start length slot name signature + // 0 41 0 this SQLiteClosable + // 8 25 1 i int + // 36 4 2 localObject Object + // Exception table: + // from to target type + // 2 14 36 finally + // 20 22 36 finally + // 37 39 36 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteClosable + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnection.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnection.java new file mode 100755 index 00000000000..bebb69cce6b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnection.java @@ -0,0 +1,2514 @@ +package com.tencent.kingkong.database; + +import android.util.Log; +import android.util.Printer; +import com.tencent.kingkong.DatabaseUtils; +import com.tencent.kingkong.support.CancellationSignal; +import com.tencent.kingkong.support.CancellationSignal.OnCancelListener; +import com.tencent.kingkong.support.LruCache; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class SQLiteConnection + implements CancellationSignal.OnCancelListener +{ + private static final boolean DEBUG = false; + private static final byte[] EMPTY_BYTE_ARRAY; + private static final String[] EMPTY_STRING_ARRAY; + private static final String TAG = "SQLiteConnection"; + private static final Pattern TRIM_SQL_PATTERN; + private int mArithmetic; + private int mCancellationSignalAttachCount; + private final SQLiteDatabaseConfiguration mConfiguration; + private final int mConnectionId; + private int mConnectionPtr; + private boolean mIsInitWaited; + private final boolean mIsPrimaryConnection; + private final boolean mIsReadOnlyConnection; + private boolean mOnlyAllowReadOnlyOperations; + private String mPassword; + private final SQLiteConnectionPool mPool; + private final PreparedStatementCache mPreparedStatementCache; + private PreparedStatement mPreparedStatementPool; + private final OperationLog mRecentOperations = new OperationLog(null); + private int mlockedDevice; + + static + { + if (!SQLiteConnection.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + EMPTY_STRING_ARRAY = new String[0]; + EMPTY_BYTE_ARRAY = new byte[0]; + TRIM_SQL_PATTERN = Pattern.compile("[\\s]*\\n+[\\s]*"); + return; + } + } + + private SQLiteConnection(SQLiteConnectionPool paramSQLiteConnectionPool, SQLiteDatabaseConfiguration paramSQLiteDatabaseConfiguration, int paramInt1, boolean paramBoolean1, int paramInt2, String paramString, int paramInt3, boolean paramBoolean2) + { + this.mIsInitWaited = paramBoolean2; + this.mPassword = paramString; + this.mArithmetic = paramInt3; + this.mlockedDevice = paramInt2; + this.mPool = paramSQLiteConnectionPool; + this.mConfiguration = new SQLiteDatabaseConfiguration(paramSQLiteDatabaseConfiguration); + this.mConnectionId = paramInt1; + this.mIsPrimaryConnection = paramBoolean1; + if ((paramSQLiteDatabaseConfiguration.openFlags & 0x1) != 0) {} + for (paramBoolean1 = true;; paramBoolean1 = false) + { + this.mIsReadOnlyConnection = paramBoolean1; + this.mPreparedStatementCache = new PreparedStatementCache(this.mConfiguration.maxSqlCacheSize); + return; + } + } + + private PreparedStatement acquirePreparedStatement(String paramString) + { + PreparedStatement localPreparedStatement2 = (PreparedStatement)this.mPreparedStatementCache.get(paramString); + int i = 0; + if (localPreparedStatement2 != null) + { + if (!localPreparedStatement2.mInUse) { + return localPreparedStatement2; + } + i = 1; + } + int j = nativePrepareStatement(this.mConnectionPtr, paramString); + PreparedStatement localPreparedStatement1 = localPreparedStatement2; + try + { + int k = nativeGetParameterCount(this.mConnectionPtr, j); + localPreparedStatement1 = localPreparedStatement2; + int m = DatabaseUtils.getSqlStatementType(paramString); + localPreparedStatement1 = localPreparedStatement2; + localPreparedStatement2 = obtainPreparedStatement(paramString, j, k, m, nativeIsReadOnly(this.mConnectionPtr, j)); + if (i == 0) + { + localPreparedStatement1 = localPreparedStatement2; + if (isCacheable(m)) + { + localPreparedStatement1 = localPreparedStatement2; + this.mPreparedStatementCache.put(paramString, localPreparedStatement2); + localPreparedStatement1 = localPreparedStatement2; + localPreparedStatement2.mInCache = true; + } + } + localPreparedStatement2.mInUse = true; + return localPreparedStatement2; + } + catch (RuntimeException paramString) + { + if ((localPreparedStatement1 == null) || (!localPreparedStatement1.mInCache)) { + nativeFinalizeStatement(this.mConnectionPtr, j); + } + throw paramString; + } + } + + private void applyBlockGuardPolicy(PreparedStatement paramPreparedStatement) + { + if (!this.mConfiguration.isInMemoryDb()) {} + } + + private void attachCancellationSignal(CancellationSignal paramCancellationSignal) + { + if (paramCancellationSignal != null) + { + paramCancellationSignal.throwIfCanceled(); + this.mCancellationSignalAttachCount += 1; + if (this.mCancellationSignalAttachCount == 1) + { + nativeResetCancel(this.mConnectionPtr, true); + paramCancellationSignal.setOnCancelListener(this); + } + } + } + + private void bindArguments(PreparedStatement paramPreparedStatement, Object[] paramArrayOfObject) + { + if (paramArrayOfObject != null) {} + for (int i = paramArrayOfObject.length; i != paramPreparedStatement.mNumParameters; i = 0) { + throw new SQLiteBindOrColumnIndexOutOfRangeException("Expected " + paramPreparedStatement.mNumParameters + " bind arguments but " + i + " were provided."); + } + if (i == 0) {} + int k; + int j; + do + { + return; + k = paramPreparedStatement.mStatementPtr; + j = 0; + } while (j >= i); + paramPreparedStatement = paramArrayOfObject[j]; + long l; + switch (DatabaseUtils.getTypeOfObject(paramPreparedStatement)) + { + case 3: + default: + if ((paramPreparedStatement instanceof Boolean)) + { + int m = this.mConnectionPtr; + if (((Boolean)paramPreparedStatement).booleanValue()) + { + l = 1L; + label154: + nativeBindLong(m, k, j + 1, l); + } + } + break; + } + for (;;) + { + j += 1; + break; + nativeBindNull(this.mConnectionPtr, k, j + 1); + continue; + nativeBindLong(this.mConnectionPtr, k, j + 1, ((Number)paramPreparedStatement).longValue()); + continue; + nativeBindDouble(this.mConnectionPtr, k, j + 1, ((Number)paramPreparedStatement).doubleValue()); + continue; + nativeBindBlob(this.mConnectionPtr, k, j + 1, (byte[])paramPreparedStatement); + continue; + l = 0L; + break label154; + nativeBindString(this.mConnectionPtr, k, j + 1, paramPreparedStatement.toString()); + } + } + + private static String canonicalizeSyncMode(String paramString) + { + String str; + if (paramString.equals("0")) { + str = "OFF"; + } + do + { + return str; + if (paramString.equals("1")) { + return "NORMAL"; + } + str = paramString; + } while (!paramString.equals("2")); + return "FULL"; + } + + private void detachCancellationSignal(CancellationSignal paramCancellationSignal) + { + if (paramCancellationSignal != null) + { + assert (this.mCancellationSignalAttachCount > 0); + this.mCancellationSignalAttachCount -= 1; + if (this.mCancellationSignalAttachCount == 0) + { + paramCancellationSignal.setOnCancelListener(null); + nativeResetCancel(this.mConnectionPtr, false); + } + } + } + + private void dispose(boolean paramBoolean) + { + int i; + if (this.mConnectionPtr != 0) { + i = this.mRecentOperations.beginOperation("close", null, null); + } + try + { + this.mPreparedStatementCache.evictAll(); + nativeClose(this.mConnectionPtr); + this.mConnectionPtr = 0; + return; + } + finally + { + this.mRecentOperations.endOperation(i); + } + } + + private void finalizePreparedStatement(PreparedStatement paramPreparedStatement) + { + nativeFinalizeStatement(this.mConnectionPtr, paramPreparedStatement.mStatementPtr); + recyclePreparedStatement(paramPreparedStatement); + } + + private SQLiteDebug.DbStats getMainDbStatsUnsafe(int paramInt, long paramLong1, long paramLong2) + { + String str2 = this.mConfiguration.path; + String str1 = str2; + if (!this.mIsPrimaryConnection) { + str1 = str2 + " (" + this.mConnectionId + ")"; + } + return new SQLiteDebug.DbStats(str1, paramLong1, paramLong2, paramInt, this.mPreparedStatementCache.hitCount(), this.mPreparedStatementCache.missCount(), this.mPreparedStatementCache.size()); + } + + private void initDb() + { + setForeignKeyModeFromConfiguration(); + setWalModeFromConfiguration(); + setJournalSizeLimit(); + setAutoCheckpointInterval(); + setLocaleFromConfiguration(); + int j = this.mConfiguration.customFunctions.size(); + int i = 0; + while (i < j) + { + SQLiteCustomFunction localSQLiteCustomFunction = (SQLiteCustomFunction)this.mConfiguration.customFunctions.get(i); + nativeRegisterCustomFunction(this.mConnectionPtr, localSQLiteCustomFunction); + i += 1; + } + } + + private static boolean isCacheable(int paramInt) + { + return (paramInt == 2) || (paramInt == 1); + } + + private static native void nativeBindBlob(int paramInt1, int paramInt2, int paramInt3, byte[] paramArrayOfByte); + + private static native void nativeBindDouble(int paramInt1, int paramInt2, int paramInt3, double paramDouble); + + private static native void nativeBindLong(int paramInt1, int paramInt2, int paramInt3, long paramLong); + + private static native void nativeBindNull(int paramInt1, int paramInt2, int paramInt3); + + private static native void nativeBindString(int paramInt1, int paramInt2, int paramInt3, String paramString); + + private static native void nativeCancel(int paramInt); + + private static native void nativeClose(int paramInt); + + private static native void nativeExecute(int paramInt1, int paramInt2); + + private static native int nativeExecuteForBlobFileDescriptor(int paramInt1, int paramInt2); + + private static native int nativeExecuteForChangedRowCount(int paramInt1, int paramInt2); + + private static native long nativeExecuteForCursorWindow(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, boolean paramBoolean); + + private static native long nativeExecuteForLastInsertedRowId(int paramInt1, int paramInt2); + + private static native long nativeExecuteForLong(int paramInt1, int paramInt2); + + private static native String nativeExecuteForString(int paramInt1, int paramInt2); + + private static native void nativeFinalizeStatement(int paramInt1, int paramInt2); + + private static native int nativeGetColumnCount(int paramInt1, int paramInt2); + + private static native String nativeGetColumnName(int paramInt1, int paramInt2, int paramInt3); + + private static native int nativeGetDbLookaside(int paramInt); + + private static native int nativeGetParameterCount(int paramInt1, int paramInt2); + + private static native boolean nativeIsReadOnly(int paramInt1, int paramInt2); + + private static native int nativeOpen(String paramString1, int paramInt, String paramString2, boolean paramBoolean1, boolean paramBoolean2); + + private static native int nativePrepareStatement(int paramInt, String paramString); + + private static native void nativeRegisterCustomFunction(int paramInt, SQLiteCustomFunction paramSQLiteCustomFunction); + + private static native void nativeRegisterLocalizedCollators(int paramInt, String paramString); + + private static native void nativeResetCancel(int paramInt, boolean paramBoolean); + + private static native void nativeResetStatementAndClearBindings(int paramInt1, int paramInt2); + + private static native void nativeSetKey(int paramInt1, int paramInt2, String paramString, int paramInt3); + + private PreparedStatement obtainPreparedStatement(String paramString, int paramInt1, int paramInt2, int paramInt3, boolean paramBoolean) + { + PreparedStatement localPreparedStatement = this.mPreparedStatementPool; + if (localPreparedStatement != null) + { + this.mPreparedStatementPool = localPreparedStatement.mPoolNext; + localPreparedStatement.mPoolNext = null; + localPreparedStatement.mInCache = false; + } + for (;;) + { + localPreparedStatement.mSql = paramString; + localPreparedStatement.mStatementPtr = paramInt1; + localPreparedStatement.mNumParameters = paramInt2; + localPreparedStatement.mType = paramInt3; + localPreparedStatement.mReadOnly = paramBoolean; + return localPreparedStatement; + localPreparedStatement = new PreparedStatement(null); + } + } + + static SQLiteConnection open(SQLiteConnectionPool paramSQLiteConnectionPool, SQLiteDatabaseConfiguration paramSQLiteDatabaseConfiguration, int paramInt1, boolean paramBoolean1, int paramInt2, String paramString, int paramInt3, boolean paramBoolean2) + { + paramSQLiteConnectionPool = new SQLiteConnection(paramSQLiteConnectionPool, paramSQLiteDatabaseConfiguration, paramInt1, paramBoolean1, paramInt2, paramString, paramInt3, paramBoolean2); + try + { + paramSQLiteConnectionPool.open(); + return paramSQLiteConnectionPool; + } + catch (SQLiteException paramSQLiteDatabaseConfiguration) + { + paramSQLiteConnectionPool.dispose(false); + throw paramSQLiteDatabaseConfiguration; + } + } + + private void open() + { + this.mConnectionPtr = nativeOpen(this.mConfiguration.path, this.mConfiguration.openFlags, this.mConfiguration.label, SQLiteDebug.DEBUG_SQL_STATEMENTS, SQLiteDebug.DEBUG_SQL_TIME); + setPageSize(); + nativeSetKey(this.mConnectionPtr, this.mlockedDevice, this.mPassword, this.mArithmetic); + if (!this.mIsInitWaited) { + initDb(); + } + } + + private void recyclePreparedStatement(PreparedStatement paramPreparedStatement) + { + paramPreparedStatement.mSql = null; + paramPreparedStatement.mPoolNext = this.mPreparedStatementPool; + this.mPreparedStatementPool = paramPreparedStatement; + } + + private void releasePreparedStatement(PreparedStatement paramPreparedStatement) + { + paramPreparedStatement.mInUse = false; + if (paramPreparedStatement.mInCache) { + try + { + nativeResetStatementAndClearBindings(this.mConnectionPtr, paramPreparedStatement.mStatementPtr); + return; + } + catch (SQLiteException localSQLiteException) + { + this.mPreparedStatementCache.remove(paramPreparedStatement.mSql); + return; + } + } + finalizePreparedStatement(paramPreparedStatement); + } + + private void setAutoCheckpointInterval() + { + if ((!this.mConfiguration.isInMemoryDb()) && (!this.mIsReadOnlyConnection)) + { + long l = SQLiteGlobal.getWALAutoCheckpoint(); + if (executeForLong("PRAGMA wal_autocheckpoint", null, null) != l) { + executeForLong("PRAGMA wal_autocheckpoint=" + l, null, null); + } + } + } + + private void setForeignKeyModeFromConfiguration() + { + if (!this.mIsReadOnlyConnection) { + if (!this.mConfiguration.foreignKeyConstraintsEnabled) { + break label60; + } + } + label60: + for (long l = 1L;; l = 0L) + { + if (executeForLong("PRAGMA foreign_keys", null, null) != l) { + execute("PRAGMA foreign_keys=" + l, null, null); + } + return; + } + } + + private void setJournalMode(String paramString) + { + String str = executeForString("PRAGMA journal_mode", null, null); + if (!str.equalsIgnoreCase(paramString)) {} + try + { + boolean bool = executeForString("PRAGMA journal_mode=" + paramString, null, null).equalsIgnoreCase(paramString); + if (bool) { + return; + } + } + catch (SQLiteDatabaseLockedException localSQLiteDatabaseLockedException) + { + Log.w("SQLiteConnection", "Could not change the database journal mode of '" + this.mConfiguration.label + "' from '" + str + "' to '" + paramString + "' because the database is locked. This usually means that " + "there are other open connections to the database which prevents " + "the database from enabling or disabling write-ahead logging mode. " + "Proceeding without changing the journal mode."); + } + } + + private void setJournalSizeLimit() + { + if ((!this.mConfiguration.isInMemoryDb()) && (!this.mIsReadOnlyConnection)) + { + long l = SQLiteGlobal.getJournalSizeLimit(); + if (executeForLong("PRAGMA journal_size_limit", null, null) != l) { + executeForLong("PRAGMA journal_size_limit=" + l, null, null); + } + } + } + + /* Error */ + private void setLocaleFromConfiguration() + { + // Byte code: + // 0: aload_0 + // 1: getfield 108 com/tencent/kingkong/database/SQLiteConnection:mConfiguration Lcom/tencent/kingkong/database/SQLiteDatabaseConfiguration; + // 4: astore_1 + // 5: aload_1 + // 6: aload_1 + // 7: getfield 115 com/tencent/kingkong/database/SQLiteDatabaseConfiguration:openFlags I + // 10: bipush 16 + // 12: ior + // 13: putfield 115 com/tencent/kingkong/database/SQLiteDatabaseConfiguration:openFlags I + // 16: aload_0 + // 17: getfield 108 com/tencent/kingkong/database/SQLiteConnection:mConfiguration Lcom/tencent/kingkong/database/SQLiteDatabaseConfiguration; + // 20: getfield 115 com/tencent/kingkong/database/SQLiteDatabaseConfiguration:openFlags I + // 23: bipush 16 + // 25: iand + // 26: ifeq +4 -> 30 + // 29: return + // 30: aload_0 + // 31: getfield 108 com/tencent/kingkong/database/SQLiteConnection:mConfiguration Lcom/tencent/kingkong/database/SQLiteDatabaseConfiguration; + // 34: getfield 528 com/tencent/kingkong/database/SQLiteDatabaseConfiguration:locale Ljava/util/Locale; + // 37: invokevirtual 531 java/util/Locale:toString ()Ljava/lang/String; + // 40: astore_2 + // 41: aload_0 + // 42: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 45: aload_2 + // 46: invokestatic 533 com/tencent/kingkong/database/SQLiteConnection:nativeRegisterLocalizedCollators (ILjava/lang/String;)V + // 49: aload_0 + // 50: getfield 117 com/tencent/kingkong/database/SQLiteConnection:mIsReadOnlyConnection Z + // 53: ifne -24 -> 29 + // 56: aload_0 + // 57: ldc_w 535 + // 60: aconst_null + // 61: aconst_null + // 62: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 65: aload_0 + // 66: ldc_w 537 + // 69: aconst_null + // 70: aconst_null + // 71: invokevirtual 491 com/tencent/kingkong/database/SQLiteConnection:executeForString (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)Ljava/lang/String; + // 74: astore_1 + // 75: aload_1 + // 76: ifnull +11 -> 87 + // 79: aload_1 + // 80: aload_2 + // 81: invokevirtual 290 java/lang/String:equals (Ljava/lang/Object;)Z + // 84: ifne -55 -> 29 + // 87: aload_0 + // 88: ldc_w 539 + // 91: aconst_null + // 92: aconst_null + // 93: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 96: aload_0 + // 97: ldc_w 541 + // 100: aconst_null + // 101: aconst_null + // 102: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 105: aload_0 + // 106: ldc_w 543 + // 109: iconst_1 + // 110: anewarray 4 java/lang/Object + // 113: dup + // 114: iconst_0 + // 115: aload_2 + // 116: aastore + // 117: aconst_null + // 118: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 121: aload_0 + // 122: ldc_w 545 + // 125: aconst_null + // 126: aconst_null + // 127: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 130: iconst_1 + // 131: ifeq +67 -> 198 + // 134: ldc_w 547 + // 137: astore_1 + // 138: aload_0 + // 139: aload_1 + // 140: aconst_null + // 141: aconst_null + // 142: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 145: return + // 146: astore_1 + // 147: new 423 com/tencent/kingkong/database/SQLiteException + // 150: dup + // 151: new 218 java/lang/StringBuilder + // 154: dup + // 155: invokespecial 219 java/lang/StringBuilder: ()V + // 158: ldc_w 549 + // 161: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 164: aload_0 + // 165: getfield 108 com/tencent/kingkong/database/SQLiteConnection:mConfiguration Lcom/tencent/kingkong/database/SQLiteDatabaseConfiguration; + // 168: getfield 432 com/tencent/kingkong/database/SQLiteDatabaseConfiguration:label Ljava/lang/String; + // 171: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 174: ldc_w 503 + // 177: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 180: aload_2 + // 181: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 184: ldc_w 551 + // 187: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 190: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 193: aload_1 + // 194: invokespecial 554 com/tencent/kingkong/database/SQLiteException: (Ljava/lang/String;Ljava/lang/Throwable;)V + // 197: athrow + // 198: ldc_w 556 + // 201: astore_1 + // 202: goto -64 -> 138 + // 205: aload_0 + // 206: aload_1 + // 207: aconst_null + // 208: aconst_null + // 209: invokevirtual 482 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 212: aload_3 + // 213: athrow + // 214: ldc_w 556 + // 217: astore_1 + // 218: goto -13 -> 205 + // 221: astore_3 + // 222: iconst_0 + // 223: ifeq -9 -> 214 + // 226: ldc_w 547 + // 229: astore_1 + // 230: goto -25 -> 205 + // Local variable table: + // start length slot name signature + // 0 233 0 this SQLiteConnection + // 4 136 1 localObject1 Object + // 146 48 1 localRuntimeException RuntimeException + // 201 29 1 str1 String + // 40 141 2 str2 String + // 212 1 3 localObject2 Object + // 221 1 3 localObject3 Object + // Exception table: + // from to target type + // 56 75 146 java/lang/RuntimeException + // 79 87 146 java/lang/RuntimeException + // 87 96 146 java/lang/RuntimeException + // 138 145 146 java/lang/RuntimeException + // 205 214 146 java/lang/RuntimeException + // 96 130 221 finally + } + + private void setPageSize() + { + if ((!this.mConfiguration.isInMemoryDb()) && (!this.mIsReadOnlyConnection)) + { + long l = SQLiteGlobal.getDefaultPageSize(); + if (executeForLong("PRAGMA page_size", null, null) != l) { + execute("PRAGMA page_size=" + l, null, null); + } + } + } + + private void setSyncMode(String paramString) + { + if (!canonicalizeSyncMode(executeForString("PRAGMA synchronous", null, null)).equalsIgnoreCase(canonicalizeSyncMode(paramString))) { + execute("PRAGMA synchronous=" + paramString, null, null); + } + } + + private void setWalModeFromConfiguration() + { + if ((!this.mConfiguration.isInMemoryDb()) && (!this.mIsReadOnlyConnection)) + { + if ((this.mConfiguration.openFlags & 0x20000000) != 0) + { + setJournalMode("WAL"); + setSyncMode(SQLiteGlobal.getWALSyncMode()); + } + } + else { + return; + } + setJournalMode(SQLiteGlobal.getDefaultJournalMode()); + setSyncMode(SQLiteGlobal.getDefaultSyncMode()); + } + + private void throwIfStatementForbidden(PreparedStatement paramPreparedStatement) + { + if ((this.mOnlyAllowReadOnlyOperations) && (!paramPreparedStatement.mReadOnly)) { + throw new SQLiteException("Cannot execute this statement because it might modify the database but the connection is read-only."); + } + } + + private static String trimSqlForDisplay(String paramString) + { + return TRIM_SQL_PATTERN.matcher(paramString).replaceAll(" "); + } + + void OverInitWaitedDefault() + { + if (this.mIsInitWaited) + { + boolean bool = this.mOnlyAllowReadOnlyOperations; + if (bool) { + this.mOnlyAllowReadOnlyOperations = false; + } + initDb(); + if (bool) { + this.mOnlyAllowReadOnlyOperations = bool; + } + } + } + + void close() + { + dispose(false); + } + + /* Error */ + void collectDbStats(ArrayList paramArrayList) + { + // Byte code: + // 0: aload_0 + // 1: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 4: invokestatic 608 com/tencent/kingkong/database/SQLiteConnection:nativeGetDbLookaside (I)I + // 7: istore_2 + // 8: lconst_0 + // 9: lstore_3 + // 10: lconst_0 + // 11: lstore 7 + // 13: aload_0 + // 14: ldc_w 610 + // 17: aconst_null + // 18: aconst_null + // 19: invokevirtual 466 com/tencent/kingkong/database/SQLiteConnection:executeForLong (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)J + // 22: lstore 5 + // 24: lload 5 + // 26: lstore_3 + // 27: aload_0 + // 28: ldc_w 612 + // 31: aconst_null + // 32: aconst_null + // 33: invokevirtual 466 com/tencent/kingkong/database/SQLiteConnection:executeForLong (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)J + // 36: lstore 9 + // 38: lload 9 + // 40: lstore 7 + // 42: lload 5 + // 44: lstore_3 + // 45: aload_1 + // 46: aload_0 + // 47: iload_2 + // 48: lload_3 + // 49: lload 7 + // 51: invokespecial 614 com/tencent/kingkong/database/SQLiteConnection:getMainDbStatsUnsafe (IJJ)Lcom/tencent/kingkong/database/SQLiteDebug$DbStats; + // 54: invokevirtual 617 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 57: pop + // 58: new 619 com/tencent/kingkong/CursorWindow + // 61: dup + // 62: ldc_w 620 + // 65: invokespecial 621 com/tencent/kingkong/CursorWindow: (Ljava/lang/String;)V + // 68: astore 13 + // 70: aload_0 + // 71: ldc_w 623 + // 74: aconst_null + // 75: aload 13 + // 77: iconst_0 + // 78: iconst_0 + // 79: iconst_0 + // 80: aconst_null + // 81: invokevirtual 627 com/tencent/kingkong/database/SQLiteConnection:executeForCursorWindow (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/CursorWindow;IIZLcom/tencent/kingkong/support/CancellationSignal;)I + // 84: pop + // 85: iconst_1 + // 86: istore_2 + // 87: iload_2 + // 88: aload 13 + // 90: invokevirtual 630 com/tencent/kingkong/CursorWindow:getNumRows ()I + // 93: if_icmpge +197 -> 290 + // 96: aload 13 + // 98: iload_2 + // 99: iconst_1 + // 100: invokevirtual 633 com/tencent/kingkong/CursorWindow:getString (II)Ljava/lang/String; + // 103: astore 11 + // 105: aload 13 + // 107: iload_2 + // 108: iconst_2 + // 109: invokevirtual 633 com/tencent/kingkong/CursorWindow:getString (II)Ljava/lang/String; + // 112: astore 14 + // 114: lconst_0 + // 115: lstore_3 + // 116: lconst_0 + // 117: lstore 7 + // 119: aload_0 + // 120: new 218 java/lang/StringBuilder + // 123: dup + // 124: invokespecial 219 java/lang/StringBuilder: ()V + // 127: ldc_w 635 + // 130: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 133: aload 11 + // 135: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 138: ldc_w 637 + // 141: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 144: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 147: aconst_null + // 148: aconst_null + // 149: invokevirtual 466 com/tencent/kingkong/database/SQLiteConnection:executeForLong (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)J + // 152: lstore 5 + // 154: lload 5 + // 156: lstore_3 + // 157: aload_0 + // 158: new 218 java/lang/StringBuilder + // 161: dup + // 162: invokespecial 219 java/lang/StringBuilder: ()V + // 165: ldc_w 635 + // 168: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 171: aload 11 + // 173: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 176: ldc_w 639 + // 179: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 182: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 185: aconst_null + // 186: aconst_null + // 187: invokevirtual 466 com/tencent/kingkong/database/SQLiteConnection:executeForLong (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)J + // 190: lstore 9 + // 192: lload 9 + // 194: lstore 7 + // 196: lload 5 + // 198: lstore_3 + // 199: new 218 java/lang/StringBuilder + // 202: dup + // 203: invokespecial 219 java/lang/StringBuilder: ()V + // 206: ldc_w 641 + // 209: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 212: aload 11 + // 214: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 217: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 220: astore 12 + // 222: aload 12 + // 224: astore 11 + // 226: aload 14 + // 228: invokevirtual 644 java/lang/String:length ()I + // 231: ifeq +31 -> 262 + // 234: new 218 java/lang/StringBuilder + // 237: dup + // 238: invokespecial 219 java/lang/StringBuilder: ()V + // 241: aload 12 + // 243: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 246: ldc_w 646 + // 249: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 252: aload 14 + // 254: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 257: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 260: astore 11 + // 262: aload_1 + // 263: new 336 com/tencent/kingkong/database/SQLiteDebug$DbStats + // 266: dup + // 267: aload 11 + // 269: lload_3 + // 270: lload 7 + // 272: iconst_0 + // 273: iconst_0 + // 274: iconst_0 + // 275: iconst_0 + // 276: invokespecial 349 com/tencent/kingkong/database/SQLiteDebug$DbStats: (Ljava/lang/String;JJIIII)V + // 279: invokevirtual 617 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 282: pop + // 283: iload_2 + // 284: iconst_1 + // 285: iadd + // 286: istore_2 + // 287: goto -200 -> 87 + // 290: aload 13 + // 292: invokevirtual 648 com/tencent/kingkong/CursorWindow:close ()V + // 295: return + // 296: astore_1 + // 297: aload 13 + // 299: invokevirtual 648 com/tencent/kingkong/CursorWindow:close ()V + // 302: return + // 303: astore_1 + // 304: aload 13 + // 306: invokevirtual 648 com/tencent/kingkong/CursorWindow:close ()V + // 309: aload_1 + // 310: athrow + // 311: astore 12 + // 313: goto -114 -> 199 + // 316: astore 11 + // 318: goto -273 -> 45 + // Local variable table: + // start length slot name signature + // 0 321 0 this SQLiteConnection + // 0 321 1 paramArrayList ArrayList + // 7 280 2 i int + // 9 261 3 l1 long + // 22 175 5 l2 long + // 11 260 7 l3 long + // 36 157 9 l4 long + // 103 165 11 localObject Object + // 316 1 11 localSQLiteException1 SQLiteException + // 220 22 12 str1 String + // 311 1 12 localSQLiteException2 SQLiteException + // 68 237 13 localCursorWindow com.tencent.kingkong.CursorWindow + // 112 141 14 str2 String + // Exception table: + // from to target type + // 70 85 296 com/tencent/kingkong/database/SQLiteException + // 87 114 296 com/tencent/kingkong/database/SQLiteException + // 199 222 296 com/tencent/kingkong/database/SQLiteException + // 226 262 296 com/tencent/kingkong/database/SQLiteException + // 262 283 296 com/tencent/kingkong/database/SQLiteException + // 70 85 303 finally + // 87 114 303 finally + // 119 154 303 finally + // 157 192 303 finally + // 199 222 303 finally + // 226 262 303 finally + // 262 283 303 finally + // 119 154 311 com/tencent/kingkong/database/SQLiteException + // 157 192 311 com/tencent/kingkong/database/SQLiteException + // 13 24 316 com/tencent/kingkong/database/SQLiteException + // 27 38 316 com/tencent/kingkong/database/SQLiteException + } + + void collectDbStatsUnsafe(ArrayList paramArrayList) + { + paramArrayList.add(getMainDbStatsUnsafe(0, 0L, 0L)); + } + + String describeCurrentOperationUnsafe() + { + return this.mRecentOperations.describeCurrentOperation(); + } + + public void dump(Printer paramPrinter, boolean paramBoolean) + { + dumpUnsafe(paramPrinter, paramBoolean); + } + + void dumpUnsafe(Printer paramPrinter, boolean paramBoolean) + { + paramPrinter.println("Connection #" + this.mConnectionId + ":"); + if (paramBoolean) { + paramPrinter.println(" connectionPtr: 0x" + Integer.toHexString(this.mConnectionPtr)); + } + paramPrinter.println(" isPrimaryConnection: " + this.mIsPrimaryConnection); + paramPrinter.println(" onlyAllowReadOnlyOperations: " + this.mOnlyAllowReadOnlyOperations); + this.mRecentOperations.dump(paramPrinter, paramBoolean); + if (paramBoolean) { + this.mPreparedStatementCache.dump(paramPrinter); + } + } + + /* Error */ + public void execute(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 695 + // 22: aload_1 + // 23: aload_2 + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore_1 + // 35: aload_0 + // 36: aload_1 + // 37: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 40: aload_0 + // 41: aload_1 + // 42: aload_2 + // 43: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 46: aload_0 + // 47: aload_1 + // 48: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 51: aload_0 + // 52: aload_3 + // 53: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 56: aload_0 + // 57: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 60: aload_1 + // 61: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 64: invokestatic 707 com/tencent/kingkong/database/SQLiteConnection:nativeExecute (II)V + // 67: aload_0 + // 68: aload_3 + // 69: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 72: aload_0 + // 73: aload_1 + // 74: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 77: aload_0 + // 78: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 81: iload 4 + // 83: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 86: return + // 87: astore_2 + // 88: aload_0 + // 89: aload_3 + // 90: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 93: aload_2 + // 94: athrow + // 95: astore_2 + // 96: aload_0 + // 97: aload_1 + // 98: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 101: aload_2 + // 102: athrow + // 103: astore_1 + // 104: aload_0 + // 105: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 108: iload 4 + // 110: aload_1 + // 111: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 114: aload_1 + // 115: athrow + // 116: astore_1 + // 117: aload_0 + // 118: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 121: iload 4 + // 123: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 126: aload_1 + // 127: athrow + // Local variable table: + // start length slot name signature + // 0 128 0 this SQLiteConnection + // 0 128 1 paramString String + // 0 128 2 paramArrayOfObject Object[] + // 0 128 3 paramCancellationSignal CancellationSignal + // 27 95 4 i int + // Exception table: + // from to target type + // 56 67 87 finally + // 35 56 95 finally + // 67 72 95 finally + // 88 95 95 finally + // 29 35 103 java/lang/RuntimeException + // 72 77 103 java/lang/RuntimeException + // 96 103 103 java/lang/RuntimeException + // 29 35 116 finally + // 72 77 116 finally + // 96 103 116 finally + // 104 116 116 finally + } + + /* Error */ + public com.tencent.kingkong.ParcelFileDescriptor executeForBlobFileDescriptor(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 718 + // 22: aload_1 + // 23: aload_2 + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore 6 + // 36: aload_0 + // 37: aload 6 + // 39: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 42: aload_0 + // 43: aload 6 + // 45: aload_2 + // 46: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 49: aload_0 + // 50: aload 6 + // 52: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 55: aload_0 + // 56: aload_3 + // 57: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 60: aload_0 + // 61: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 64: aload 6 + // 66: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 69: invokestatic 720 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForBlobFileDescriptor (II)I + // 72: istore 5 + // 74: iload 5 + // 76: iflt +31 -> 107 + // 79: iload 5 + // 81: invokestatic 726 com/tencent/kingkong/ParcelFileDescriptor:adoptFd (I)Lcom/tencent/kingkong/ParcelFileDescriptor; + // 84: astore_1 + // 85: aload_0 + // 86: aload_3 + // 87: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 90: aload_0 + // 91: aload 6 + // 93: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 96: aload_0 + // 97: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 100: iload 4 + // 102: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 105: aload_1 + // 106: areturn + // 107: aconst_null + // 108: astore_1 + // 109: goto -24 -> 85 + // 112: astore_1 + // 113: aload_0 + // 114: aload_3 + // 115: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 118: aload_1 + // 119: athrow + // 120: astore_1 + // 121: aload_0 + // 122: aload 6 + // 124: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 127: aload_1 + // 128: athrow + // 129: astore_1 + // 130: aload_0 + // 131: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 134: iload 4 + // 136: aload_1 + // 137: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 140: aload_1 + // 141: athrow + // 142: astore_1 + // 143: aload_0 + // 144: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 147: iload 4 + // 149: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 152: aload_1 + // 153: athrow + // Local variable table: + // start length slot name signature + // 0 154 0 this SQLiteConnection + // 0 154 1 paramString String + // 0 154 2 paramArrayOfObject Object[] + // 0 154 3 paramCancellationSignal CancellationSignal + // 27 121 4 i int + // 72 8 5 j int + // 34 89 6 localPreparedStatement PreparedStatement + // Exception table: + // from to target type + // 60 74 112 finally + // 79 85 112 finally + // 36 60 120 finally + // 85 90 120 finally + // 113 120 120 finally + // 29 36 129 java/lang/RuntimeException + // 90 96 129 java/lang/RuntimeException + // 121 129 129 java/lang/RuntimeException + // 29 36 142 finally + // 90 96 142 finally + // 121 129 142 finally + // 130 142 142 finally + } + + /* Error */ + public int executeForChangedRowCount(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: iconst_0 + // 16: istore 4 + // 18: iconst_0 + // 19: istore 6 + // 21: iconst_0 + // 22: istore 7 + // 24: aload_0 + // 25: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 28: ldc_w 729 + // 31: aload_1 + // 32: aload_2 + // 33: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 36: istore 8 + // 38: aload_0 + // 39: aload_1 + // 40: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 43: astore_1 + // 44: iload 7 + // 46: istore 5 + // 48: aload_0 + // 49: aload_1 + // 50: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 53: iload 7 + // 55: istore 5 + // 57: aload_0 + // 58: aload_1 + // 59: aload_2 + // 60: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 63: iload 7 + // 65: istore 5 + // 67: aload_0 + // 68: aload_1 + // 69: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 72: iload 7 + // 74: istore 5 + // 76: aload_0 + // 77: aload_3 + // 78: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 81: aload_0 + // 82: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 85: aload_1 + // 86: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 89: invokestatic 731 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForChangedRowCount (II)I + // 92: istore 4 + // 94: iload 4 + // 96: istore 7 + // 98: iload 7 + // 100: istore 5 + // 102: aload_0 + // 103: aload_3 + // 104: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 107: iload 7 + // 109: istore 4 + // 111: iload 7 + // 113: istore 6 + // 115: aload_0 + // 116: aload_1 + // 117: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 120: aload_0 + // 121: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 124: iload 8 + // 126: invokevirtual 734 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperationDeferLog (I)Z + // 129: ifeq +33 -> 162 + // 132: aload_0 + // 133: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 136: iload 8 + // 138: new 218 java/lang/StringBuilder + // 141: dup + // 142: invokespecial 219 java/lang/StringBuilder: ()V + // 145: ldc_w 736 + // 148: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 151: iload 7 + // 153: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 156: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 159: invokevirtual 739 com/tencent/kingkong/database/SQLiteConnection$OperationLog:logOperation (ILjava/lang/String;)V + // 162: iload 7 + // 164: ireturn + // 165: astore_2 + // 166: iload 7 + // 168: istore 5 + // 170: aload_0 + // 171: aload_3 + // 172: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 175: iload 7 + // 177: istore 5 + // 179: aload_2 + // 180: athrow + // 181: astore_2 + // 182: iload 5 + // 184: istore 4 + // 186: iload 5 + // 188: istore 6 + // 190: aload_0 + // 191: aload_1 + // 192: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 195: iload 5 + // 197: istore 4 + // 199: iload 5 + // 201: istore 6 + // 203: aload_2 + // 204: athrow + // 205: astore_1 + // 206: iload 4 + // 208: istore 6 + // 210: aload_0 + // 211: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 214: iload 8 + // 216: aload_1 + // 217: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 220: iload 4 + // 222: istore 6 + // 224: aload_1 + // 225: athrow + // 226: astore_1 + // 227: aload_0 + // 228: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 231: iload 8 + // 233: invokevirtual 734 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperationDeferLog (I)Z + // 236: ifeq +33 -> 269 + // 239: aload_0 + // 240: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 243: iload 8 + // 245: new 218 java/lang/StringBuilder + // 248: dup + // 249: invokespecial 219 java/lang/StringBuilder: ()V + // 252: ldc_w 736 + // 255: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 258: iload 6 + // 260: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 263: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 266: invokevirtual 739 com/tencent/kingkong/database/SQLiteConnection$OperationLog:logOperation (ILjava/lang/String;)V + // 269: aload_1 + // 270: athrow + // Local variable table: + // start length slot name signature + // 0 271 0 this SQLiteConnection + // 0 271 1 paramString String + // 0 271 2 paramArrayOfObject Object[] + // 0 271 3 paramCancellationSignal CancellationSignal + // 16 205 4 i int + // 46 154 5 j int + // 19 240 6 k int + // 22 154 7 m int + // 36 208 8 n int + // Exception table: + // from to target type + // 81 94 165 finally + // 48 53 181 finally + // 57 63 181 finally + // 67 72 181 finally + // 76 81 181 finally + // 102 107 181 finally + // 170 175 181 finally + // 179 181 181 finally + // 38 44 205 java/lang/RuntimeException + // 115 120 205 java/lang/RuntimeException + // 190 195 205 java/lang/RuntimeException + // 203 205 205 java/lang/RuntimeException + // 38 44 226 finally + // 115 120 226 finally + // 190 195 226 finally + // 203 205 226 finally + // 210 220 226 finally + // 224 226 226 finally + } + + /* Error */ + public int executeForCursorWindow(String paramString, Object[] paramArrayOfObject, com.tencent.kingkong.CursorWindow paramCursorWindow, int paramInt1, int paramInt2, boolean paramBoolean, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_3 + // 16: ifnonnull +14 -> 30 + // 19: new 691 java/lang/IllegalArgumentException + // 22: dup + // 23: ldc_w 741 + // 26: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 29: athrow + // 30: aload_3 + // 31: invokevirtual 744 com/tencent/kingkong/CursorWindow:acquireReference ()V + // 34: iconst_m1 + // 35: istore 19 + // 37: iconst_m1 + // 38: istore 12 + // 40: iconst_m1 + // 41: istore 11 + // 43: aload_0 + // 44: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 47: ldc_w 745 + // 50: aload_1 + // 51: aload_2 + // 52: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 55: istore 20 + // 57: iload 19 + // 59: istore 13 + // 61: iload 12 + // 63: istore 14 + // 65: iload 11 + // 67: istore 15 + // 69: iload 19 + // 71: istore 16 + // 73: iload 12 + // 75: istore 17 + // 77: iload 11 + // 79: istore 18 + // 81: aload_0 + // 82: aload_1 + // 83: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 86: astore_1 + // 87: iload 19 + // 89: istore 8 + // 91: iload 12 + // 93: istore 9 + // 95: iload 11 + // 97: istore 10 + // 99: aload_0 + // 100: aload_1 + // 101: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 104: iload 19 + // 106: istore 8 + // 108: iload 12 + // 110: istore 9 + // 112: iload 11 + // 114: istore 10 + // 116: aload_0 + // 117: aload_1 + // 118: aload_2 + // 119: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 122: iload 19 + // 124: istore 8 + // 126: iload 12 + // 128: istore 9 + // 130: iload 11 + // 132: istore 10 + // 134: aload_0 + // 135: aload_1 + // 136: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 139: iload 19 + // 141: istore 8 + // 143: iload 12 + // 145: istore 9 + // 147: iload 11 + // 149: istore 10 + // 151: aload_0 + // 152: aload 7 + // 154: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 157: iload 12 + // 159: istore 13 + // 161: iload 11 + // 163: istore 14 + // 165: aload_0 + // 166: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 169: aload_1 + // 170: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 173: aload_3 + // 174: getfield 748 com/tencent/kingkong/CursorWindow:mWindowPtr I + // 177: iload 4 + // 179: iload 5 + // 181: iload 6 + // 183: invokestatic 750 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForCursorWindow (IIIIIZ)J + // 186: lstore 21 + // 188: lload 21 + // 190: bipush 32 + // 192: lshr + // 193: l2i + // 194: istore 5 + // 196: lload 21 + // 198: l2i + // 199: istore 12 + // 201: iload 5 + // 203: istore 19 + // 205: iload 12 + // 207: istore 13 + // 209: iload 11 + // 211: istore 14 + // 213: aload_3 + // 214: invokevirtual 630 com/tencent/kingkong/CursorWindow:getNumRows ()I + // 217: istore 11 + // 219: iload 5 + // 221: istore 19 + // 223: iload 12 + // 225: istore 13 + // 227: iload 11 + // 229: istore 14 + // 231: aload_3 + // 232: iload 5 + // 234: invokevirtual 753 com/tencent/kingkong/CursorWindow:setStartPosition (I)V + // 237: iload 5 + // 239: istore 8 + // 241: iload 12 + // 243: istore 9 + // 245: iload 11 + // 247: istore 10 + // 249: aload_0 + // 250: aload 7 + // 252: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 255: iload 5 + // 257: istore 13 + // 259: iload 12 + // 261: istore 14 + // 263: iload 11 + // 265: istore 15 + // 267: iload 5 + // 269: istore 16 + // 271: iload 12 + // 273: istore 17 + // 275: iload 11 + // 277: istore 18 + // 279: aload_0 + // 280: aload_1 + // 281: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 284: aload_0 + // 285: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 288: iload 20 + // 290: invokevirtual 734 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperationDeferLog (I)Z + // 293: ifeq +76 -> 369 + // 296: aload_0 + // 297: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 300: iload 20 + // 302: new 218 java/lang/StringBuilder + // 305: dup + // 306: invokespecial 219 java/lang/StringBuilder: ()V + // 309: ldc_w 755 + // 312: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 315: aload_3 + // 316: invokevirtual 758 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 319: ldc_w 760 + // 322: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 325: iload 4 + // 327: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 330: ldc_w 762 + // 333: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 336: iload 5 + // 338: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 341: ldc_w 764 + // 344: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 347: iload 11 + // 349: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 352: ldc_w 766 + // 355: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 358: iload 12 + // 360: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 363: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 366: invokevirtual 739 com/tencent/kingkong/database/SQLiteConnection$OperationLog:logOperation (ILjava/lang/String;)V + // 369: aload_3 + // 370: invokevirtual 769 com/tencent/kingkong/CursorWindow:releaseReference ()V + // 373: iload 12 + // 375: ireturn + // 376: astore_2 + // 377: iload 19 + // 379: istore 8 + // 381: iload 13 + // 383: istore 9 + // 385: iload 14 + // 387: istore 10 + // 389: aload_0 + // 390: aload 7 + // 392: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 395: iload 19 + // 397: istore 8 + // 399: iload 13 + // 401: istore 9 + // 403: iload 14 + // 405: istore 10 + // 407: aload_2 + // 408: athrow + // 409: astore_2 + // 410: iload 8 + // 412: istore 13 + // 414: iload 9 + // 416: istore 14 + // 418: iload 10 + // 420: istore 15 + // 422: iload 8 + // 424: istore 16 + // 426: iload 9 + // 428: istore 17 + // 430: iload 10 + // 432: istore 18 + // 434: aload_0 + // 435: aload_1 + // 436: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 439: iload 8 + // 441: istore 13 + // 443: iload 9 + // 445: istore 14 + // 447: iload 10 + // 449: istore 15 + // 451: iload 8 + // 453: istore 16 + // 455: iload 9 + // 457: istore 17 + // 459: iload 10 + // 461: istore 18 + // 463: aload_2 + // 464: athrow + // 465: astore_1 + // 466: iload 13 + // 468: istore 16 + // 470: iload 14 + // 472: istore 17 + // 474: iload 15 + // 476: istore 18 + // 478: aload_0 + // 479: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 482: iload 20 + // 484: aload_1 + // 485: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 488: iload 13 + // 490: istore 16 + // 492: iload 14 + // 494: istore 17 + // 496: iload 15 + // 498: istore 18 + // 500: aload_1 + // 501: athrow + // 502: astore_1 + // 503: aload_0 + // 504: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 507: iload 20 + // 509: invokevirtual 734 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperationDeferLog (I)Z + // 512: ifeq +76 -> 588 + // 515: aload_0 + // 516: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 519: iload 20 + // 521: new 218 java/lang/StringBuilder + // 524: dup + // 525: invokespecial 219 java/lang/StringBuilder: ()V + // 528: ldc_w 755 + // 531: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 534: aload_3 + // 535: invokevirtual 758 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 538: ldc_w 760 + // 541: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 544: iload 4 + // 546: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 549: ldc_w 762 + // 552: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 555: iload 16 + // 557: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 560: ldc_w 764 + // 563: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 566: iload 18 + // 568: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 571: ldc_w 766 + // 574: invokevirtual 225 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 577: iload 17 + // 579: invokevirtual 228 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 582: invokevirtual 236 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 585: invokevirtual 739 com/tencent/kingkong/database/SQLiteConnection$OperationLog:logOperation (ILjava/lang/String;)V + // 588: aload_1 + // 589: athrow + // 590: astore_1 + // 591: aload_3 + // 592: invokevirtual 769 com/tencent/kingkong/CursorWindow:releaseReference ()V + // 595: aload_1 + // 596: athrow + // Local variable table: + // start length slot name signature + // 0 597 0 this SQLiteConnection + // 0 597 1 paramString String + // 0 597 2 paramArrayOfObject Object[] + // 0 597 3 paramCursorWindow com.tencent.kingkong.CursorWindow + // 0 597 4 paramInt1 int + // 0 597 5 paramInt2 int + // 0 597 6 paramBoolean boolean + // 0 597 7 paramCancellationSignal CancellationSignal + // 89 363 8 i int + // 93 363 9 j int + // 97 363 10 k int + // 41 307 11 m int + // 38 336 12 n int + // 59 430 13 i1 int + // 63 430 14 i2 int + // 67 430 15 i3 int + // 71 485 16 i4 int + // 75 503 17 i5 int + // 79 488 18 i6 int + // 35 361 19 i7 int + // 55 465 20 i8 int + // 186 11 21 l long + // Exception table: + // from to target type + // 165 188 376 finally + // 213 219 376 finally + // 231 237 376 finally + // 99 104 409 finally + // 116 122 409 finally + // 134 139 409 finally + // 151 157 409 finally + // 249 255 409 finally + // 389 395 409 finally + // 407 409 409 finally + // 81 87 465 java/lang/RuntimeException + // 279 284 465 java/lang/RuntimeException + // 434 439 465 java/lang/RuntimeException + // 463 465 465 java/lang/RuntimeException + // 81 87 502 finally + // 279 284 502 finally + // 434 439 502 finally + // 463 465 502 finally + // 478 488 502 finally + // 500 502 502 finally + // 43 57 590 finally + // 284 369 590 finally + // 503 588 590 finally + // 588 590 590 finally + } + + /* Error */ + public long executeForLastInsertedRowId(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 771 + // 22: aload_1 + // 23: aload_2 + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore_1 + // 35: aload_0 + // 36: aload_1 + // 37: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 40: aload_0 + // 41: aload_1 + // 42: aload_2 + // 43: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 46: aload_0 + // 47: aload_1 + // 48: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 51: aload_0 + // 52: aload_3 + // 53: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 56: aload_0 + // 57: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 60: aload_1 + // 61: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 64: invokestatic 773 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForLastInsertedRowId (II)J + // 67: lstore 5 + // 69: aload_0 + // 70: aload_3 + // 71: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 74: aload_0 + // 75: aload_1 + // 76: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 79: aload_0 + // 80: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 83: iload 4 + // 85: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 88: lload 5 + // 90: lreturn + // 91: astore_2 + // 92: aload_0 + // 93: aload_3 + // 94: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 97: aload_2 + // 98: athrow + // 99: astore_2 + // 100: aload_0 + // 101: aload_1 + // 102: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 105: aload_2 + // 106: athrow + // 107: astore_1 + // 108: aload_0 + // 109: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 112: iload 4 + // 114: aload_1 + // 115: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 118: aload_1 + // 119: athrow + // 120: astore_1 + // 121: aload_0 + // 122: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 125: iload 4 + // 127: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 130: aload_1 + // 131: athrow + // Local variable table: + // start length slot name signature + // 0 132 0 this SQLiteConnection + // 0 132 1 paramString String + // 0 132 2 paramArrayOfObject Object[] + // 0 132 3 paramCancellationSignal CancellationSignal + // 27 99 4 i int + // 67 22 5 l long + // Exception table: + // from to target type + // 56 69 91 finally + // 35 56 99 finally + // 69 74 99 finally + // 92 99 99 finally + // 29 35 107 java/lang/RuntimeException + // 74 79 107 java/lang/RuntimeException + // 100 107 107 java/lang/RuntimeException + // 29 35 120 finally + // 74 79 120 finally + // 100 107 120 finally + // 108 120 120 finally + } + + /* Error */ + public long executeForLong(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 774 + // 22: aload_1 + // 23: aload_2 + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore_1 + // 35: aload_0 + // 36: aload_1 + // 37: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 40: aload_0 + // 41: aload_1 + // 42: aload_2 + // 43: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 46: aload_0 + // 47: aload_1 + // 48: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 51: aload_0 + // 52: aload_3 + // 53: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 56: aload_0 + // 57: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 60: aload_1 + // 61: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 64: invokestatic 776 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForLong (II)J + // 67: lstore 5 + // 69: aload_0 + // 70: aload_3 + // 71: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 74: aload_0 + // 75: aload_1 + // 76: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 79: aload_0 + // 80: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 83: iload 4 + // 85: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 88: lload 5 + // 90: lreturn + // 91: astore_2 + // 92: aload_0 + // 93: aload_3 + // 94: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 97: aload_2 + // 98: athrow + // 99: astore_2 + // 100: aload_0 + // 101: aload_1 + // 102: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 105: aload_2 + // 106: athrow + // 107: astore_1 + // 108: aload_0 + // 109: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 112: iload 4 + // 114: aload_1 + // 115: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 118: aload_1 + // 119: athrow + // 120: astore_1 + // 121: aload_0 + // 122: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 125: iload 4 + // 127: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 130: aload_1 + // 131: athrow + // Local variable table: + // start length slot name signature + // 0 132 0 this SQLiteConnection + // 0 132 1 paramString String + // 0 132 2 paramArrayOfObject Object[] + // 0 132 3 paramCancellationSignal CancellationSignal + // 27 99 4 i int + // 67 22 5 l long + // Exception table: + // from to target type + // 56 69 91 finally + // 35 56 99 finally + // 69 74 99 finally + // 92 99 99 finally + // 29 35 107 java/lang/RuntimeException + // 74 79 107 java/lang/RuntimeException + // 100 107 107 java/lang/RuntimeException + // 29 35 120 finally + // 74 79 120 finally + // 100 107 120 finally + // 108 120 120 finally + } + + /* Error */ + public String executeForString(String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 777 + // 22: aload_1 + // 23: aload_2 + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore_1 + // 35: aload_0 + // 36: aload_1 + // 37: invokespecial 699 com/tencent/kingkong/database/SQLiteConnection:throwIfStatementForbidden (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 40: aload_0 + // 41: aload_1 + // 42: aload_2 + // 43: invokespecial 701 com/tencent/kingkong/database/SQLiteConnection:bindArguments (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V + // 46: aload_0 + // 47: aload_1 + // 48: invokespecial 703 com/tencent/kingkong/database/SQLiteConnection:applyBlockGuardPolicy (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 51: aload_0 + // 52: aload_3 + // 53: invokespecial 705 com/tencent/kingkong/database/SQLiteConnection:attachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 56: aload_0 + // 57: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 60: aload_1 + // 61: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 64: invokestatic 779 com/tencent/kingkong/database/SQLiteConnection:nativeExecuteForString (II)Ljava/lang/String; + // 67: astore_2 + // 68: aload_0 + // 69: aload_3 + // 70: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 73: aload_0 + // 74: aload_1 + // 75: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 78: aload_0 + // 79: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 82: iload 4 + // 84: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 87: aload_2 + // 88: areturn + // 89: astore_2 + // 90: aload_0 + // 91: aload_3 + // 92: invokespecial 709 com/tencent/kingkong/database/SQLiteConnection:detachCancellationSignal (Lcom/tencent/kingkong/support/CancellationSignal;)V + // 95: aload_2 + // 96: athrow + // 97: astore_2 + // 98: aload_0 + // 99: aload_1 + // 100: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 103: aload_2 + // 104: athrow + // 105: astore_1 + // 106: aload_0 + // 107: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 110: iload 4 + // 112: aload_1 + // 113: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 116: aload_1 + // 117: athrow + // 118: astore_1 + // 119: aload_0 + // 120: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 123: iload 4 + // 125: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 128: aload_1 + // 129: athrow + // Local variable table: + // start length slot name signature + // 0 130 0 this SQLiteConnection + // 0 130 1 paramString String + // 0 130 2 paramArrayOfObject Object[] + // 0 130 3 paramCancellationSignal CancellationSignal + // 27 97 4 i int + // Exception table: + // from to target type + // 56 68 89 finally + // 35 56 97 finally + // 68 73 97 finally + // 90 97 97 finally + // 29 35 105 java/lang/RuntimeException + // 73 78 105 java/lang/RuntimeException + // 98 105 105 java/lang/RuntimeException + // 29 35 118 finally + // 73 78 118 finally + // 98 105 118 finally + // 106 118 118 finally + } + + protected void finalize() + throws Throwable + { + try + { + if ((this.mPool != null) && (this.mConnectionPtr != 0)) { + this.mPool.onConnectionLeaked(); + } + dispose(true); + return; + } + finally + { + super.finalize(); + } + } + + public int getConnectionId() + { + return this.mConnectionId; + } + + boolean isPreparedStatementInCache(String paramString) + { + return this.mPreparedStatementCache.get(paramString) != null; + } + + public boolean isPrimaryConnection() + { + return this.mIsPrimaryConnection; + } + + public void onCancel() + { + nativeCancel(this.mConnectionPtr); + } + + /* Error */ + public void prepare(String paramString, SQLiteStatementInfo paramSQLiteStatementInfo) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +14 -> 15 + // 4: new 691 java/lang/IllegalArgumentException + // 7: dup + // 8: ldc_w 693 + // 11: invokespecial 694 java/lang/IllegalArgumentException: (Ljava/lang/String;)V + // 14: athrow + // 15: aload_0 + // 16: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 19: ldc_w 799 + // 22: aload_1 + // 23: aconst_null + // 24: invokevirtual 312 com/tencent/kingkong/database/SQLiteConnection$OperationLog:beginOperation (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I + // 27: istore 4 + // 29: aload_0 + // 30: aload_1 + // 31: invokespecial 697 com/tencent/kingkong/database/SQLiteConnection:acquirePreparedStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement; + // 34: astore_1 + // 35: aload_2 + // 36: ifnull +44 -> 80 + // 39: aload_2 + // 40: aload_1 + // 41: getfield 214 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mNumParameters I + // 44: putfield 804 com/tencent/kingkong/database/SQLiteStatementInfo:numParameters I + // 47: aload_2 + // 48: aload_1 + // 49: getfield 418 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mReadOnly Z + // 52: putfield 807 com/tencent/kingkong/database/SQLiteStatementInfo:readOnly Z + // 55: aload_0 + // 56: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 59: aload_1 + // 60: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 63: invokestatic 809 com/tencent/kingkong/database/SQLiteConnection:nativeGetColumnCount (II)I + // 66: istore 5 + // 68: iload 5 + // 70: ifne +25 -> 95 + // 73: aload_2 + // 74: getstatic 69 com/tencent/kingkong/database/SQLiteConnection:EMPTY_STRING_ARRAY [Ljava/lang/String; + // 77: putfield 812 com/tencent/kingkong/database/SQLiteStatementInfo:columnNames [Ljava/lang/String; + // 80: aload_0 + // 81: aload_1 + // 82: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 85: aload_0 + // 86: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 89: iload 4 + // 91: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 94: return + // 95: aload_2 + // 96: iload 5 + // 98: anewarray 67 java/lang/String + // 101: putfield 812 com/tencent/kingkong/database/SQLiteStatementInfo:columnNames [Ljava/lang/String; + // 104: iconst_0 + // 105: istore_3 + // 106: iload_3 + // 107: iload 5 + // 109: if_icmpge -29 -> 80 + // 112: aload_2 + // 113: getfield 812 com/tencent/kingkong/database/SQLiteStatementInfo:columnNames [Ljava/lang/String; + // 116: iload_3 + // 117: aload_0 + // 118: getfield 151 com/tencent/kingkong/database/SQLiteConnection:mConnectionPtr I + // 121: aload_1 + // 122: getfield 242 com/tencent/kingkong/database/SQLiteConnection$PreparedStatement:mStatementPtr I + // 125: iload_3 + // 126: invokestatic 814 com/tencent/kingkong/database/SQLiteConnection:nativeGetColumnName (III)Ljava/lang/String; + // 129: aastore + // 130: iload_3 + // 131: iconst_1 + // 132: iadd + // 133: istore_3 + // 134: goto -28 -> 106 + // 137: astore_2 + // 138: aload_0 + // 139: aload_1 + // 140: invokespecial 711 com/tencent/kingkong/database/SQLiteConnection:releasePreparedStatement (Lcom/tencent/kingkong/database/SQLiteConnection$PreparedStatement;)V + // 143: aload_2 + // 144: athrow + // 145: astore_1 + // 146: aload_0 + // 147: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 150: iload 4 + // 152: aload_1 + // 153: invokevirtual 715 com/tencent/kingkong/database/SQLiteConnection$OperationLog:failOperation (ILjava/lang/Exception;)V + // 156: aload_1 + // 157: athrow + // 158: astore_1 + // 159: aload_0 + // 160: getfield 91 com/tencent/kingkong/database/SQLiteConnection:mRecentOperations Lcom/tencent/kingkong/database/SQLiteConnection$OperationLog; + // 163: iload 4 + // 165: invokevirtual 322 com/tencent/kingkong/database/SQLiteConnection$OperationLog:endOperation (I)V + // 168: aload_1 + // 169: athrow + // Local variable table: + // start length slot name signature + // 0 170 0 this SQLiteConnection + // 0 170 1 paramString String + // 0 170 2 paramSQLiteStatementInfo SQLiteStatementInfo + // 105 29 3 i int + // 27 137 4 j int + // 66 44 5 k int + // Exception table: + // from to target type + // 39 68 137 finally + // 73 80 137 finally + // 95 104 137 finally + // 112 130 137 finally + // 29 35 145 java/lang/RuntimeException + // 80 85 145 java/lang/RuntimeException + // 138 145 145 java/lang/RuntimeException + // 29 35 158 finally + // 80 85 158 finally + // 138 145 158 finally + // 146 158 158 finally + } + + void reconfigure(SQLiteDatabaseConfiguration paramSQLiteDatabaseConfiguration) + { + this.mOnlyAllowReadOnlyOperations = false; + int j = paramSQLiteDatabaseConfiguration.customFunctions.size(); + int i = 0; + while (i < j) + { + SQLiteCustomFunction localSQLiteCustomFunction = (SQLiteCustomFunction)paramSQLiteDatabaseConfiguration.customFunctions.get(i); + if (!this.mConfiguration.customFunctions.contains(localSQLiteCustomFunction)) { + nativeRegisterCustomFunction(this.mConnectionPtr, localSQLiteCustomFunction); + } + i += 1; + } + if (paramSQLiteDatabaseConfiguration.foreignKeyConstraintsEnabled != this.mConfiguration.foreignKeyConstraintsEnabled) + { + i = 1; + if (((paramSQLiteDatabaseConfiguration.openFlags ^ this.mConfiguration.openFlags) & 0x20000000) == 0) { + break label171; + } + j = 1; + label101: + if (paramSQLiteDatabaseConfiguration.locale.equals(this.mConfiguration.locale)) { + break label176; + } + } + label171: + label176: + for (int k = 1;; k = 0) + { + this.mConfiguration.updateParametersFrom(paramSQLiteDatabaseConfiguration); + this.mPreparedStatementCache.resize(paramSQLiteDatabaseConfiguration.maxSqlCacheSize); + if (i != 0) { + setForeignKeyModeFromConfiguration(); + } + if (j != 0) { + setWalModeFromConfiguration(); + } + if (k != 0) { + setLocaleFromConfiguration(); + } + return; + i = 0; + break; + j = 0; + break label101; + } + } + + void setOnlyAllowReadOnlyOperations(boolean paramBoolean) + { + this.mOnlyAllowReadOnlyOperations = paramBoolean; + } + + public String toString() + { + return "SQLiteConnection: " + this.mConfiguration.path + " (" + this.mConnectionId + ")"; + } + + private static final class Operation + { + private static final SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + public ArrayList mBindArgs; + public int mCookie; + public long mEndTime; + public Exception mException; + public boolean mFinished; + public String mKind; + public String mSql; + public long mStartTime; + + private String getFormattedStartTime() + { + return sDateFormat.format(new Date(this.mStartTime)); + } + + private String getStatus() + { + if (!this.mFinished) { + return "running"; + } + if (this.mException != null) { + return "failed"; + } + return "succeeded"; + } + + public void describe(StringBuilder paramStringBuilder, boolean paramBoolean) + { + paramStringBuilder.append(this.mKind); + int i; + label122: + Object localObject; + if (this.mFinished) + { + paramStringBuilder.append(" took ").append(this.mEndTime - this.mStartTime).append("ms"); + paramStringBuilder.append(" - ").append(getStatus()); + if (this.mSql != null) { + paramStringBuilder.append(", sql=\"").append(SQLiteConnection.trimSqlForDisplay(this.mSql)).append("\""); + } + if ((!paramBoolean) || (this.mBindArgs == null) || (this.mBindArgs.size() == 0)) { + break label260; + } + paramStringBuilder.append(", bindArgs=["); + int j = this.mBindArgs.size(); + i = 0; + if (i >= j) { + break label253; + } + localObject = this.mBindArgs.get(i); + if (i != 0) { + paramStringBuilder.append(", "); + } + if (localObject != null) { + break label194; + } + paramStringBuilder.append("null"); + } + for (;;) + { + i += 1; + break label122; + paramStringBuilder.append(" started ").append(System.currentTimeMillis() - this.mStartTime).append("ms ago"); + break; + label194: + if ((localObject instanceof byte[])) { + paramStringBuilder.append(""); + } else if ((localObject instanceof String)) { + paramStringBuilder.append("\"").append((String)localObject).append("\""); + } else { + paramStringBuilder.append(localObject); + } + } + label253: + paramStringBuilder.append("]"); + label260: + if (this.mException != null) { + paramStringBuilder.append(", exception=\"").append(this.mException.getMessage()).append("\""); + } + } + } + + private static final class OperationLog + { + private static final int COOKIE_GENERATION_SHIFT = 8; + private static final int COOKIE_INDEX_MASK = 255; + private static final int MAX_RECENT_OPERATIONS = 20; + private int mGeneration; + private int mIndex; + private final SQLiteConnection.Operation[] mOperations = new SQLiteConnection.Operation[20]; + + private boolean endOperationDeferLogLocked(int paramInt) + { + SQLiteConnection.Operation localOperation = getOperationLocked(paramInt); + if (localOperation != null) + { + localOperation.mEndTime = System.currentTimeMillis(); + localOperation.mFinished = true; + return (SQLiteDebug.DEBUG_LOG_SLOW_QUERIES) && (SQLiteDebug.shouldLogSlowQuery(localOperation.mEndTime - localOperation.mStartTime)); + } + return false; + } + + private SQLiteConnection.Operation getOperationLocked(int paramInt) + { + SQLiteConnection.Operation localOperation = this.mOperations[(paramInt & 0xFF)]; + if (localOperation.mCookie == paramInt) { + return localOperation; + } + return null; + } + + private void logOperationLocked(int paramInt, String paramString) + { + SQLiteConnection.Operation localOperation = getOperationLocked(paramInt); + StringBuilder localStringBuilder = new StringBuilder(); + localOperation.describe(localStringBuilder, false); + if (paramString != null) { + localStringBuilder.append(", ").append(paramString); + } + Log.d("SQLiteConnection", localStringBuilder.toString()); + } + + private int newOperationCookieLocked(int paramInt) + { + int i = this.mGeneration; + this.mGeneration = (i + 1); + return i << 8 | paramInt; + } + + public int beginOperation(String paramString1, String paramString2, Object[] paramArrayOfObject) + { + for (;;) + { + int j; + SQLiteConnection.Operation localOperation1; + synchronized (this.mOperations) + { + j = (this.mIndex + 1) % 20; + SQLiteConnection.Operation localOperation2 = this.mOperations[j]; + if (localOperation2 == null) + { + localOperation1 = new SQLiteConnection.Operation(null); + this.mOperations[j] = localOperation1; + localOperation1.mStartTime = System.currentTimeMillis(); + localOperation1.mKind = paramString1; + localOperation1.mSql = paramString2; + if (paramArrayOfObject == null) { + break label207; + } + if (localOperation1.mBindArgs == null) + { + localOperation1.mBindArgs = new ArrayList(); + break label237; + if (i >= paramArrayOfObject.length) { + break label207; + } + paramString1 = paramArrayOfObject[i]; + if ((paramString1 == null) || (!(paramString1 instanceof byte[]))) { + break label194; + } + localOperation1.mBindArgs.add(SQLiteConnection.EMPTY_BYTE_ARRAY); + break label243; + } + } + else + { + localOperation2.mFinished = false; + localOperation2.mException = null; + localOperation1 = localOperation2; + if (localOperation2.mBindArgs == null) { + continue; + } + localOperation2.mBindArgs.clear(); + localOperation1 = localOperation2; + } + } + localOperation1.mBindArgs.clear(); + break label237; + label194: + localOperation1.mBindArgs.add(paramString1); + break label243; + label207: + localOperation1.mCookie = newOperationCookieLocked(j); + this.mIndex = j; + int i = localOperation1.mCookie; + return i; + label237: + i = 0; + continue; + label243: + i += 1; + } + } + + public String describeCurrentOperation() + { + synchronized (this.mOperations) + { + Object localObject1 = this.mOperations[this.mIndex]; + if ((localObject1 != null) && (!((SQLiteConnection.Operation)localObject1).mFinished)) + { + StringBuilder localStringBuilder = new StringBuilder(); + ((SQLiteConnection.Operation)localObject1).describe(localStringBuilder, false); + localObject1 = localStringBuilder.toString(); + return localObject1; + } + return null; + } + } + + public void dump(Printer paramPrinter, boolean paramBoolean) + { + for (;;) + { + synchronized (this.mOperations) + { + paramPrinter.println(" Most recently executed operations:"); + i = this.mIndex; + SQLiteConnection.Operation localOperation = this.mOperations[i]; + if (localOperation != null) + { + int j = 0; + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append(" ").append(j).append(": ["); + localStringBuilder.append(localOperation.getFormattedStartTime()); + localStringBuilder.append("] "); + localOperation.describe(localStringBuilder, paramBoolean); + paramPrinter.println(localStringBuilder.toString()); + if (i > 0) + { + i -= 1; + int k = j + 1; + localOperation = this.mOperations[i]; + if (localOperation != null) + { + j = k; + if (k < 20) { + continue; + } + } + } + } + else + { + paramPrinter.println(" "); + } + } + int i = 19; + } + } + + public void endOperation(int paramInt) + { + synchronized (this.mOperations) + { + if (endOperationDeferLogLocked(paramInt)) { + logOperationLocked(paramInt, null); + } + return; + } + } + + public boolean endOperationDeferLog(int paramInt) + { + synchronized (this.mOperations) + { + boolean bool = endOperationDeferLogLocked(paramInt); + return bool; + } + } + + public void failOperation(int paramInt, Exception paramException) + { + synchronized (this.mOperations) + { + SQLiteConnection.Operation localOperation = getOperationLocked(paramInt); + if (localOperation != null) { + localOperation.mException = paramException; + } + return; + } + } + + public void logOperation(int paramInt, String paramString) + { + synchronized (this.mOperations) + { + logOperationLocked(paramInt, paramString); + return; + } + } + } + + private static final class PreparedStatement + { + public boolean mInCache; + public boolean mInUse; + public int mNumParameters; + public PreparedStatement mPoolNext; + public boolean mReadOnly; + public String mSql; + public int mStatementPtr; + public int mType; + } + + private final class PreparedStatementCache + extends LruCache + { + public PreparedStatementCache(int paramInt) + { + super(); + } + + public void dump(Printer paramPrinter) + { + paramPrinter.println(" Prepared statement cache:"); + Object localObject1 = snapshot(); + if (!((Map)localObject1).isEmpty()) + { + int i = 0; + localObject1 = ((Map)localObject1).entrySet().iterator(); + while (((Iterator)localObject1).hasNext()) + { + Object localObject2 = (Map.Entry)((Iterator)localObject1).next(); + SQLiteConnection.PreparedStatement localPreparedStatement = (SQLiteConnection.PreparedStatement)((Map.Entry)localObject2).getValue(); + if (localPreparedStatement.mInCache) + { + localObject2 = (String)((Map.Entry)localObject2).getKey(); + paramPrinter.println(" " + i + ": statementPtr=0x" + Integer.toHexString(localPreparedStatement.mStatementPtr) + ", numParameters=" + localPreparedStatement.mNumParameters + ", type=" + localPreparedStatement.mType + ", readOnly=" + localPreparedStatement.mReadOnly + ", sql=\"" + SQLiteConnection.trimSqlForDisplay((String)localObject2) + "\""); + } + i += 1; + } + } + paramPrinter.println(" "); + } + + protected void entryRemoved(boolean paramBoolean, String paramString, SQLiteConnection.PreparedStatement paramPreparedStatement1, SQLiteConnection.PreparedStatement paramPreparedStatement2) + { + paramPreparedStatement1.mInCache = false; + if (!paramPreparedStatement1.mInUse) { + SQLiteConnection.this.finalizePreparedStatement(paramPreparedStatement1); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteConnection + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnectionPool.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnectionPool.java new file mode 100755 index 00000000000..0d796f9e8a2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConnectionPool.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteConnectionPool + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConstraintException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConstraintException.java new file mode 100755 index 00000000000..a6d681410e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteConstraintException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteConstraintException + extends SQLiteException +{ + public SQLiteConstraintException() {} + + public SQLiteConstraintException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteConstraintException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursor.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursor.java new file mode 100755 index 00000000000..db6254ba627 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursor.java @@ -0,0 +1,223 @@ +package com.tencent.kingkong.database; + +import android.database.CharArrayBuffer; +import android.database.ContentObserver; +import android.database.DataSetObserver; +import android.util.Log; +import com.tencent.kingkong.AbstractWindowedCursor; +import com.tencent.kingkong.CursorWindow; +import com.tencent.kingkong.DatabaseUtils; +import java.util.HashMap; +import java.util.Map; + +public class SQLiteCursor + extends AbstractWindowedCursor +{ + static final int NO_COUNT = -1; + static final String TAG = "SQLiteCursor"; + private Map mColumnNameMap; + private final String[] mColumns; + private int mCount = -1; + private int mCursorWindowCapacity; + private final SQLiteCursorDriver mDriver; + private final String mEditTable; + private final SQLiteQuery mQuery; + private final Throwable mStackTrace; + + public SQLiteCursor(SQLiteCursorDriver paramSQLiteCursorDriver, String paramString, SQLiteQuery paramSQLiteQuery) + { + if (paramSQLiteQuery == null) { + throw new IllegalArgumentException("query object cannot be null"); + } + this.mStackTrace = null; + this.mDriver = paramSQLiteCursorDriver; + this.mEditTable = paramString; + this.mColumnNameMap = null; + this.mQuery = paramSQLiteQuery; + this.mColumns = paramSQLiteQuery.getColumnNames(); + this.mRowIdColumnIndex = DatabaseUtils.findRowIdColumnIndex(this.mColumns); + } + + @Deprecated + public SQLiteCursor(SQLiteDatabase paramSQLiteDatabase, SQLiteCursorDriver paramSQLiteCursorDriver, String paramString, SQLiteQuery paramSQLiteQuery) + { + this(paramSQLiteCursorDriver, paramString, paramSQLiteQuery); + } + + private void fillWindow(int paramInt) + { + clearOrCreateWindow(getDatabase().getPath()); + try + { + int i; + if (this.mCount == -1) + { + i = DatabaseUtils.cursorPickFillWindowStartPosition(paramInt, 0); + this.mCount = this.mQuery.fillWindow(this.mWindow, i, paramInt, true); + this.mCursorWindowCapacity = this.mWindow.getNumRows(); + if (Log.isLoggable("SQLiteCursor", 3)) { + Log.d("SQLiteCursor", "received count(*) from native_fill_window: " + this.mCount); + } + } + else + { + i = DatabaseUtils.cursorPickFillWindowStartPosition(paramInt, this.mCursorWindowCapacity); + this.mQuery.fillWindow(this.mWindow, i, paramInt, false); + return; + } + } + catch (RuntimeException localRuntimeException) + { + closeWindow(); + throw localRuntimeException; + } + } + + public void close() + { + super.close(); + try + { + this.mQuery.close(); + this.mDriver.cursorClosed(); + return; + } + finally {} + } + + public void copyStringToBuffer(int paramInt, CharArrayBuffer paramCharArrayBuffer) {} + + public void deactivate() + { + super.deactivate(); + this.mDriver.cursorDeactivated(); + } + + protected void finalize() + { + try + { + if (this.mWindow != null) { + close(); + } + return; + } + finally + { + super.finalize(); + } + } + + public int getColumnIndex(String paramString) + { + int j = -1; + if (this.mColumnNameMap == null) + { + localObject = this.mColumns; + int k = localObject.length; + HashMap localHashMap = new HashMap(k, 1.0F); + i = 0; + while (i < k) + { + localHashMap.put(localObject[i], Integer.valueOf(i)); + i += 1; + } + this.mColumnNameMap = localHashMap; + } + int i = paramString.lastIndexOf('.'); + Object localObject = paramString; + if (i != -1) + { + localObject = new Exception(); + Log.e("SQLiteCursor", "requesting column name with table name -- " + paramString, (Throwable)localObject); + localObject = paramString.substring(i + 1); + } + paramString = (Integer)this.mColumnNameMap.get(localObject); + i = j; + if (paramString != null) { + i = paramString.intValue(); + } + return i; + } + + public String[] getColumnNames() + { + return this.mColumns; + } + + public int getCount() + { + if (this.mCount == -1) { + fillWindow(0); + } + return this.mCount; + } + + public SQLiteDatabase getDatabase() + { + return this.mQuery.getDatabase(); + } + + public boolean onMove(int paramInt1, int paramInt2) + { + if ((this.mWindow == null) || (paramInt2 < this.mWindow.getStartPosition()) || (paramInt2 >= this.mWindow.getStartPosition() + this.mWindow.getNumRows())) { + fillWindow(paramInt2); + } + return true; + } + + public void registerContentObserver(ContentObserver paramContentObserver) {} + + public void registerDataSetObserver(DataSetObserver paramDataSetObserver) {} + + public boolean requery() + { + if (isClosed()) { + return false; + } + try + { + if (!this.mQuery.getDatabase().isOpen()) { + return false; + } + } + finally {} + if (this.mWindow != null) { + this.mWindow.clear(); + } + this.mPos = -1; + this.mCount = -1; + this.mDriver.cursorRequeried(this); + try + { + boolean bool = super.requery(); + return bool; + } + catch (IllegalStateException localIllegalStateException) + { + Log.w("SQLiteCursor", "requery() failed " + localIllegalStateException.getMessage(), localIllegalStateException); + } + return false; + } + + public void setSelectionArguments(String[] paramArrayOfString) + { + this.mDriver.setBindArguments(paramArrayOfString); + } + + public void setWindow(CursorWindow paramCursorWindow) + { + super.setWindow(paramCursorWindow); + this.mCount = -1; + } + + public void unregisterContentObserver(ContentObserver paramContentObserver) {} + + public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteCursor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursorDriver.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursorDriver.java new file mode 100755 index 00000000000..929d009d7e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCursorDriver.java @@ -0,0 +1,22 @@ +package com.tencent.kingkong.database; + +import com.tencent.kingkong.Cursor; + +public abstract interface SQLiteCursorDriver +{ + public abstract void cursorClosed(); + + public abstract void cursorDeactivated(); + + public abstract void cursorRequeried(Cursor paramCursor); + + public abstract Cursor query(SQLiteDatabase.CursorFactory paramCursorFactory, String[] paramArrayOfString); + + public abstract void setBindArguments(String[] paramArrayOfString); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteCursorDriver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCustomFunction.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCustomFunction.java new file mode 100755 index 00000000000..bda0ec8f583 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteCustomFunction.java @@ -0,0 +1,29 @@ +package com.tencent.kingkong.database; + +public final class SQLiteCustomFunction +{ + public final SQLiteDatabase.CustomFunction callback; + public final String name; + public final int numArgs; + + public SQLiteCustomFunction(String paramString, int paramInt, SQLiteDatabase.CustomFunction paramCustomFunction) + { + if (paramString == null) { + throw new IllegalArgumentException("name must not be null."); + } + this.name = paramString; + this.numArgs = paramInt; + this.callback = paramCustomFunction; + } + + private void dispatchCallback(String[] paramArrayOfString) + { + this.callback.callback(paramArrayOfString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteCustomFunction + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabase.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabase.java new file mode 100755 index 00000000000..28d4a4ca45c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabase.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDatabase + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseConfiguration.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseConfiguration.java new file mode 100755 index 00000000000..0b35b6e6718 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseConfiguration.java @@ -0,0 +1,76 @@ +package com.tencent.kingkong.database; + +import java.util.ArrayList; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class SQLiteDatabaseConfiguration +{ + private static final Pattern EMAIL_IN_DB_PATTERN = Pattern.compile("[\\w\\.\\-]+@[\\w\\.\\-]+"); + public static final String MEMORY_DB_PATH = ":memory:"; + public final ArrayList customFunctions = new ArrayList(); + public boolean foreignKeyConstraintsEnabled; + public final String label; + public Locale locale; + public int maxSqlCacheSize; + public int openFlags; + public final String path; + + public SQLiteDatabaseConfiguration(SQLiteDatabaseConfiguration paramSQLiteDatabaseConfiguration) + { + if (paramSQLiteDatabaseConfiguration == null) { + throw new IllegalArgumentException("other must not be null."); + } + this.path = paramSQLiteDatabaseConfiguration.path; + this.label = paramSQLiteDatabaseConfiguration.label; + updateParametersFrom(paramSQLiteDatabaseConfiguration); + } + + public SQLiteDatabaseConfiguration(String paramString, int paramInt) + { + if (paramString == null) { + throw new IllegalArgumentException("path must not be null."); + } + this.path = paramString; + this.label = stripPathForLogs(paramString); + this.openFlags = paramInt; + this.maxSqlCacheSize = 25; + this.locale = Locale.getDefault(); + } + + private static String stripPathForLogs(String paramString) + { + if (paramString.indexOf('@') == -1) { + return paramString; + } + return EMAIL_IN_DB_PATTERN.matcher(paramString).replaceAll("XX@YY"); + } + + public boolean isInMemoryDb() + { + return this.path.equalsIgnoreCase(":memory:"); + } + + public void updateParametersFrom(SQLiteDatabaseConfiguration paramSQLiteDatabaseConfiguration) + { + if (paramSQLiteDatabaseConfiguration == null) { + throw new IllegalArgumentException("other must not be null."); + } + if (!this.path.equals(paramSQLiteDatabaseConfiguration.path)) { + throw new IllegalArgumentException("other configuration must refer to the same database."); + } + this.openFlags = paramSQLiteDatabaseConfiguration.openFlags; + this.maxSqlCacheSize = paramSQLiteDatabaseConfiguration.maxSqlCacheSize; + this.locale = paramSQLiteDatabaseConfiguration.locale; + this.foreignKeyConstraintsEnabled = paramSQLiteDatabaseConfiguration.foreignKeyConstraintsEnabled; + this.customFunctions.clear(); + this.customFunctions.addAll(paramSQLiteDatabaseConfiguration.customFunctions); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDatabaseConfiguration + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseCorruptException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseCorruptException.java new file mode 100755 index 00000000000..d021946281c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseCorruptException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteDatabaseCorruptException + extends SQLiteException +{ + public SQLiteDatabaseCorruptException() {} + + public SQLiteDatabaseCorruptException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDatabaseCorruptException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseLockedException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseLockedException.java new file mode 100755 index 00000000000..2a9e30d36cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatabaseLockedException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteDatabaseLockedException + extends SQLiteException +{ + public SQLiteDatabaseLockedException() {} + + public SQLiteDatabaseLockedException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDatabaseLockedException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatatypeMismatchException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatatypeMismatchException.java new file mode 100755 index 00000000000..b77d975876f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDatatypeMismatchException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteDatatypeMismatchException + extends SQLiteException +{ + public SQLiteDatatypeMismatchException() {} + + public SQLiteDatatypeMismatchException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDatatypeMismatchException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDebug.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDebug.java new file mode 100755 index 00000000000..c172465a055 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDebug.java @@ -0,0 +1,115 @@ +package com.tencent.kingkong.database; + +import android.util.Log; +import android.util.Printer; +import java.lang.reflect.Method; +import java.util.ArrayList; + +public final class SQLiteDebug +{ + public static final boolean DEBUG_LOG_SLOW_QUERIES; + public static final boolean DEBUG_SQL_LOG; + public static final boolean DEBUG_SQL_STATEMENTS; + public static final boolean DEBUG_SQL_TIME; + + static + { + boolean bool = true; + DEBUG_SQL_LOG = Log.isLoggable("SQLiteLog", 2); + DEBUG_SQL_STATEMENTS = Log.isLoggable("SQLiteStatements", 2); + DEBUG_SQL_TIME = Log.isLoggable("SQLiteTime", 2); + if (getSystemDebuggable() == 1) {} + for (;;) + { + DEBUG_LOG_SLOW_QUERIES = bool; + return; + bool = false; + } + } + + public static void dump(Printer paramPrinter, String[] paramArrayOfString) + { + boolean bool = false; + int j = paramArrayOfString.length; + int i = 0; + while (i < j) + { + if (paramArrayOfString[i].equals("-v")) { + bool = true; + } + i += 1; + } + SQLiteDatabase.dumpAll(paramPrinter, bool); + } + + public static PagerStats getDatabaseInfo() + { + PagerStats localPagerStats = new PagerStats(); + nativeGetPagerStats(localPagerStats); + localPagerStats.dbStats = SQLiteDatabase.getDbStats(); + return localPagerStats; + } + + private static final int getSystemDebuggable() + { + try + { + Class localClass = Class.forName("android.os.SystemProperties"); + int i = ((Integer)localClass.getMethod("getInt", new Class[] { String.class, Integer.TYPE }).invoke(localClass, new Object[] { "ro.debuggable", Integer.valueOf(0) })).intValue(); + return i; + } + catch (Exception localException) {} + return 0; + } + + private static native void nativeGetPagerStats(PagerStats paramPagerStats); + + public static final boolean shouldLogSlowQuery(long paramLong) + { + int i = -1; + try + { + Class localClass = Class.forName("android.os.SystemProperties"); + int j = ((Integer)localClass.getMethod("getInt", new Class[] { String.class, Integer.TYPE }).invoke(localClass, new Object[] { "db.log.slow_query_threshold", Integer.valueOf(-1) })).intValue(); + i = j; + } + catch (Exception localException) + { + label61: + break label61; + } + return (i >= 0) && (paramLong >= i); + } + + public static class DbStats + { + public String cache; + public String dbName; + public long dbSize; + public int lookaside; + public long pageSize; + + public DbStats(String paramString, long paramLong1, long paramLong2, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + this.dbName = paramString; + this.pageSize = (paramLong2 / 1024L); + this.dbSize = (paramLong1 * paramLong2 / 1024L); + this.lookaside = paramInt1; + this.cache = (paramInt2 + "/" + paramInt3 + "/" + paramInt4); + } + } + + public static class PagerStats + { + public ArrayList dbStats; + public int largestMemAlloc; + public int memoryUsed; + public int pageCacheOverflow; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDebug + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDirectCursorDriver.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDirectCursorDriver.java new file mode 100755 index 00000000000..f14bc58be95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDirectCursorDriver.java @@ -0,0 +1,104 @@ +package com.tencent.kingkong.database; + +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.support.CancellationSignal; + +public final class SQLiteDirectCursorDriver + implements SQLiteCursorDriver +{ + private final CancellationSignal mCancellationSignal; + private final SQLiteDatabase mDatabase; + private final String mEditTable; + private SQLiteQuery mQuery; + private final String mSql; + + public SQLiteDirectCursorDriver(SQLiteDatabase paramSQLiteDatabase, String paramString1, String paramString2, CancellationSignal paramCancellationSignal) + { + this.mDatabase = paramSQLiteDatabase; + this.mEditTable = paramString2; + this.mSql = paramString1; + this.mCancellationSignal = paramCancellationSignal; + } + + public void cursorClosed() {} + + public void cursorDeactivated() {} + + public void cursorRequeried(Cursor paramCursor) {} + + /* Error */ + public Cursor query(SQLiteDatabase.CursorFactory paramCursorFactory, String[] paramArrayOfString) + { + // Byte code: + // 0: new 39 com/tencent/kingkong/database/SQLiteQuery + // 3: dup + // 4: aload_0 + // 5: getfield 22 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 8: aload_0 + // 9: getfield 26 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mSql Ljava/lang/String; + // 12: aload_0 + // 13: getfield 28 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mCancellationSignal Lcom/tencent/kingkong/support/CancellationSignal; + // 16: invokespecial 42 com/tencent/kingkong/database/SQLiteQuery: (Lcom/tencent/kingkong/database/SQLiteDatabase;Ljava/lang/String;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 19: astore_3 + // 20: aload_3 + // 21: aload_2 + // 22: invokevirtual 46 com/tencent/kingkong/database/SQLiteQuery:bindAllArgsAsStrings ([Ljava/lang/String;)V + // 25: aload_1 + // 26: ifnonnull +24 -> 50 + // 29: new 48 com/tencent/kingkong/database/SQLiteCursor + // 32: dup + // 33: aload_0 + // 34: aload_0 + // 35: getfield 24 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mEditTable Ljava/lang/String; + // 38: aload_3 + // 39: invokespecial 51 com/tencent/kingkong/database/SQLiteCursor: (Lcom/tencent/kingkong/database/SQLiteCursorDriver;Ljava/lang/String;Lcom/tencent/kingkong/database/SQLiteQuery;)V + // 42: astore_1 + // 43: aload_0 + // 44: aload_3 + // 45: putfield 53 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mQuery Lcom/tencent/kingkong/database/SQLiteQuery; + // 48: aload_1 + // 49: areturn + // 50: aload_1 + // 51: aload_0 + // 52: getfield 22 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 55: aload_0 + // 56: aload_0 + // 57: getfield 24 com/tencent/kingkong/database/SQLiteDirectCursorDriver:mEditTable Ljava/lang/String; + // 60: aload_3 + // 61: invokeinterface 59 5 0 + // 66: astore_1 + // 67: goto -24 -> 43 + // 70: astore_1 + // 71: aload_3 + // 72: invokevirtual 62 com/tencent/kingkong/database/SQLiteQuery:close ()V + // 75: aload_1 + // 76: athrow + // Local variable table: + // start length slot name signature + // 0 77 0 this SQLiteDirectCursorDriver + // 0 77 1 paramCursorFactory SQLiteDatabase.CursorFactory + // 0 77 2 paramArrayOfString String[] + // 19 53 3 localSQLiteQuery SQLiteQuery + // Exception table: + // from to target type + // 20 25 70 java/lang/RuntimeException + // 29 43 70 java/lang/RuntimeException + // 50 67 70 java/lang/RuntimeException + } + + public void setBindArguments(String[] paramArrayOfString) + { + this.mQuery.bindAllArgsAsStrings(paramArrayOfString); + } + + public String toString() + { + return "SQLiteDirectCursorDriver: " + this.mSql; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDirectCursorDriver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDiskIOException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDiskIOException.java new file mode 100755 index 00000000000..45f6f2e9bb1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDiskIOException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteDiskIOException + extends SQLiteException +{ + public SQLiteDiskIOException() {} + + public SQLiteDiskIOException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDiskIOException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDoneException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDoneException.java new file mode 100755 index 00000000000..27026b2e1a0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteDoneException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteDoneException + extends SQLiteException +{ + public SQLiteDoneException() {} + + public SQLiteDoneException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteDoneException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteException.java new file mode 100755 index 00000000000..795b7caf5d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteException.java @@ -0,0 +1,25 @@ +package com.tencent.kingkong.database; + +import com.tencent.kingkong.SQLException; + +public class SQLiteException + extends SQLException +{ + public SQLiteException() {} + + public SQLiteException(String paramString) + { + super(paramString); + } + + public SQLiteException(String paramString, Throwable paramThrowable) + { + super(paramString, paramThrowable); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteFullException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteFullException.java new file mode 100755 index 00000000000..77ffcdc537d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteFullException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteFullException + extends SQLiteException +{ + public SQLiteFullException() {} + + public SQLiteFullException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteFullException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteGlobal.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteGlobal.java new file mode 100755 index 00000000000..f140de4850a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteGlobal.java @@ -0,0 +1,149 @@ +package com.tencent.kingkong.database; + +import android.content.res.Resources; +import android.os.StatFs; +import java.lang.reflect.Method; + +public final class SQLiteGlobal +{ + private static final String TAG = "SQLiteGlobal"; + private static boolean forceOptimization = false; + private static boolean optimization = false; + private static int sDefaultPageSize; + private static final Object sLock = new Object(); + + public static void disableForceOptimization() + { + forceOptimization = false; + } + + public static void disableOptimization() + { + optimization = false; + } + + public static void enableForceOptimization() + { + forceOptimization = true; + } + + public static void enableOptimization() + { + optimization = true; + } + + public static String getDefaultJournalMode() + { + return getStringAndroidSystemProperties("db_default_journal_mode", "debug.sqlite.journalmode", "MEMORY"); + } + + public static int getDefaultPageSize() + { + synchronized (sLock) + { + if (sDefaultPageSize == 0) { + sDefaultPageSize = new StatFs("/data").getBlockSize(); + } + int i = sDefaultPageSize; + try + { + Class localClass = Class.forName("android.os.SystemProperties"); + int j = ((Integer)localClass.getMethod("getInt", new Class[] { String.class, Integer.TYPE }).invoke(localClass, new Object[] { "debug.sqlite.pagesize", Integer.valueOf(i) })).intValue(); + i = j; + } + catch (Exception localException) + { + label87: + break label87; + } + return i; + } + } + + public static String getDefaultSyncMode() + { + if (optimization) { + return "OFF"; + } + return getStringAndroidSystemProperties("db_default_sync_mode", "debug.sqlite.syncmode", "OFF"); + } + + private static int getIntAndroidSystemProperties(String paramString1, String paramString2, int paramInt) + { + int i = Resources.getSystem().getIdentifier(paramString1, "integer", "android"); + if (i != 0) { + paramInt = Resources.getSystem().getInteger(i); + } + for (;;) + { + try + { + paramString1 = Class.forName("android.os.SystemProperties"); + i = ((Integer)paramString1.getMethod("getInt", new Class[] { String.class, Integer.TYPE }).invoke(paramString1, new Object[] { paramString2, Integer.valueOf(paramInt) })).intValue(); + return i; + } + catch (Exception paramString1) {} + } + return paramInt; + } + + public static int getJournalSizeLimit() + { + return getIntAndroidSystemProperties("db_journal_size_limit", "debug.sqlite.journalsizelimit", 524288); + } + + private static String getStringAndroidSystemProperties(String paramString1, String paramString2, String paramString3) + { + if (forceOptimization) { + return paramString3; + } + int i = Resources.getSystem().getIdentifier(paramString1, "string", "android"); + if (i != 0) {} + for (paramString1 = Resources.getSystem().getString(i);; paramString1 = paramString3) + { + try + { + paramString3 = Class.forName("android.os.SystemProperties"); + paramString2 = (String)paramString3.getMethod("get", new Class[] { String.class, String.class }).invoke(paramString3, new Object[] { paramString2, paramString1 }); + paramString1 = paramString2; + } + catch (Exception paramString2) + { + label80: + break label80; + } + return paramString1; + } + } + + public static int getWALAutoCheckpoint() + { + return Math.max(1, getIntAndroidSystemProperties("db_wal_autocheckpoint", "debug.sqlite.wal.autocheckpoint", 100)); + } + + public static int getWALConnectionPoolSize() + { + return Math.max(2, getIntAndroidSystemProperties("db_connection_pool_size", "debug.sqlite.wal.poolsize", 1)); + } + + public static String getWALSyncMode() + { + if (optimization) { + return "OFF"; + } + return getStringAndroidSystemProperties("db_wal_sync_mode", "debug.sqlite.wal.syncmode", "OFF"); + } + + private static native int nativeReleaseMemory(); + + public static int releaseMemory() + { + return nativeReleaseMemory(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteGlobal + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteMisuseException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteMisuseException.java new file mode 100755 index 00000000000..6d422b7b602 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteMisuseException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteMisuseException + extends SQLiteException +{ + public SQLiteMisuseException() {} + + public SQLiteMisuseException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteMisuseException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOpenHelper.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOpenHelper.java new file mode 100755 index 00000000000..5d829565473 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOpenHelper.java @@ -0,0 +1,376 @@ +package com.tencent.kingkong.database; + +import android.util.Log; +import com.tencent.kingkong.DatabaseErrorHandler; +import java.io.File; + +public abstract class SQLiteOpenHelper +{ + private static final boolean DEBUG_STRICT_READONLY = false; + private static final String TAG = SQLiteOpenHelper.class.getSimpleName(); + private SQLiteDatabase.Arithmetic mArithmeticl; + private final android.content.Context mContext; + private SQLiteDatabase mDatabase; + private boolean mEnableWriteAheadLogging; + private final DatabaseErrorHandler mErrorHandler; + private final SQLiteDatabase.CursorFactory mFactory; + private boolean mIsInitWaited; + private boolean mIsInitializing; + private int mMode; + private final String mName; + private boolean mNeedMode; + private final int mNewVersion; + private String mPassword; + private SQLiteDatabase.LockedDevice mlockedDevice; + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString, SQLiteDatabase.Arithmetic paramArithmetic, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString, SQLiteDatabase.LockedDevice.DEFAULT, paramArithmetic, paramCursorFactory, paramInt, paramDatabaseErrorHandler); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt) + { + this(paramContext, paramString, paramCursorFactory, paramInt, null); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString, SQLiteDatabase.LockedDevice.DEFAULT, null, SQLiteDatabase.Arithmetic.UNKNOWN, paramCursorFactory, paramInt, paramDatabaseErrorHandler, false); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString, SQLiteDatabase.LockedDevice paramLockedDevice, SQLiteDatabase.Arithmetic paramArithmetic, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString, paramLockedDevice, null, paramArithmetic, paramCursorFactory, paramInt, paramDatabaseErrorHandler, true); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString1, SQLiteDatabase.LockedDevice paramLockedDevice, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString1, paramLockedDevice, paramString2, paramArithmetic, paramCursorFactory, paramInt, paramDatabaseErrorHandler, false); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString1, SQLiteDatabase.LockedDevice paramLockedDevice, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler, boolean paramBoolean) + { + if (paramInt < 1) { + throw new IllegalArgumentException("Version must be >= 1, was " + paramInt); + } + this.mContext = paramContext; + this.mName = paramString1; + this.mFactory = paramCursorFactory; + this.mNewVersion = paramInt; + this.mErrorHandler = paramDatabaseErrorHandler; + this.mPassword = paramString2; + this.mArithmeticl = paramArithmetic; + this.mIsInitWaited = paramBoolean; + this.mlockedDevice = paramLockedDevice; + this.mNeedMode = false; + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString1, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString1, SQLiteDatabase.LockedDevice.DEFAULT, paramString2, paramArithmetic, paramCursorFactory, paramInt, paramDatabaseErrorHandler); + } + + public SQLiteOpenHelper(android.content.Context paramContext, String paramString1, String paramString2, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt, DatabaseErrorHandler paramDatabaseErrorHandler) + { + this(paramContext, paramString1, paramString2, SQLiteDatabase.Arithmetic.DEFAULT, paramCursorFactory, paramInt, paramDatabaseErrorHandler); + } + + private SQLiteDatabase getDatabaseLocked(boolean paramBoolean) + { + if (this.mDatabase != null) + { + if (this.mDatabase.isOpen()) { + break label39; + } + this.mDatabase = null; + } + while (this.mIsInitializing) + { + throw new IllegalStateException("getDatabase called recursively"); + label39: + if ((!paramBoolean) || (!this.mDatabase.isReadOnly())) + { + localObject = this.mDatabase; + return localObject; + } + } + SQLiteDatabase localSQLiteDatabase3 = this.mDatabase; + Object localObject = localSQLiteDatabase3; + label324: + SQLiteDatabase localSQLiteDatabase2; + for (;;) + { + try + { + this.mIsInitializing = true; + SQLiteDatabase localSQLiteDatabase1; + if (localSQLiteDatabase3 != null) + { + localSQLiteDatabase1 = localSQLiteDatabase3; + if (paramBoolean) + { + localSQLiteDatabase1 = localSQLiteDatabase3; + localObject = localSQLiteDatabase3; + if (localSQLiteDatabase3.isReadOnly()) + { + localObject = localSQLiteDatabase3; + localSQLiteDatabase3.reopenReadWrite(); + localSQLiteDatabase1 = localSQLiteDatabase3; + } + } + localObject = localSQLiteDatabase1; + if (!this.mIsInitWaited) { + break label413; + } + localObject = localSQLiteDatabase1; + this.mDatabase = localSQLiteDatabase1; + this.mIsInitializing = false; + localObject = localSQLiteDatabase1; + if (localSQLiteDatabase1 == null) { + break; + } + localObject = localSQLiteDatabase1; + if (localSQLiteDatabase1 == this.mDatabase) { + break; + } + localSQLiteDatabase1.close(); + return localSQLiteDatabase1; + } + localObject = localSQLiteDatabase3; + if (this.mName == null) + { + localObject = localSQLiteDatabase3; + localSQLiteDatabase1 = SQLiteDatabase.create(null, this.mlockedDevice, this.mPassword, this.mArithmeticl, this.mIsInitWaited); + continue; + } + localObject = localSQLiteDatabase3; + try + { + this.mNeedMode = true; + localObject = localSQLiteDatabase3; + if (this.mEnableWriteAheadLogging) + { + i = 8; + localObject = localSQLiteDatabase3; + this.mMode = i; + localObject = localSQLiteDatabase3; + localSQLiteDatabase1 = com.tencent.kingkong.support.Context.openOrCreateDatabase(this.mContext, this.mName, this.mlockedDevice, this.mPassword, this.mArithmeticl, this.mMode, this.mFactory, this.mErrorHandler, this.mIsInitWaited); + continue; + } + int i = 0; + continue; + localObject = localSQLiteDatabase3; + } + catch (SQLiteException localSQLiteException) + { + if (!paramBoolean) { + break label324; + } + } + throw localSQLiteException; + } + finally + { + this.mIsInitializing = false; + if ((localObject != null) && (localObject != this.mDatabase)) { + ((SQLiteDatabase)localObject).close(); + } + } + localObject = localSQLiteDatabase3; + Log.e(TAG, "Couldn't open " + this.mName + " for writing (will try read-only):", localThrowable); + localObject = localSQLiteDatabase3; + localSQLiteDatabase2 = SQLiteDatabase.openDatabase(this.mContext.getDatabasePath(this.mName).getPath(), this.mlockedDevice, this.mPassword, this.mArithmeticl, this.mFactory, 1, this.mErrorHandler, this.mIsInitWaited); + } + label413: + localObject = localSQLiteDatabase2; + localSQLiteDatabase3 = getDatabaseLockedLast(localSQLiteDatabase2); + this.mIsInitializing = false; + if ((localSQLiteDatabase2 != null) && (localSQLiteDatabase2 != this.mDatabase)) { + localSQLiteDatabase2.close(); + } + return localSQLiteDatabase3; + } + + private SQLiteDatabase getDatabaseLockedLast(SQLiteDatabase paramSQLiteDatabase) + { + onConfigure(paramSQLiteDatabase); + int i = paramSQLiteDatabase.getVersion(); + if (i != this.mNewVersion) + { + if (paramSQLiteDatabase.isReadOnly()) { + throw new SQLiteException("Can't upgrade read-only database from version " + paramSQLiteDatabase.getVersion() + " to " + this.mNewVersion + ": " + this.mName); + } + paramSQLiteDatabase.beginTransaction(); + if (i != 0) { + break label161; + } + } + for (;;) + { + try + { + onCreate(paramSQLiteDatabase); + paramSQLiteDatabase.setVersion(this.mNewVersion); + paramSQLiteDatabase.setTransactionSuccessful(); + paramSQLiteDatabase.endTransaction(); + onOpen(paramSQLiteDatabase); + if (paramSQLiteDatabase.isReadOnly()) { + Log.w(TAG, "Opened " + this.mName + " in read-only mode"); + } + this.mDatabase = paramSQLiteDatabase; + return paramSQLiteDatabase; + } + finally + { + label161: + paramSQLiteDatabase.endTransaction(); + } + if (i > this.mNewVersion) { + onDowngrade(paramSQLiteDatabase, i, this.mNewVersion); + } else { + onUpgrade(paramSQLiteDatabase, i, this.mNewVersion); + } + } + } + + public void OverInitWaitedDefault() + { + try + { + this.mDatabase.OverInitWaitedDefault(); + if (this.mNeedMode) { + com.tencent.kingkong.support.Context.OverInitWaitedDefault(this.mContext, this.mName, this.mMode); + } + SQLiteDatabase localSQLiteDatabase = getDatabaseLockedLast(this.mDatabase); + this.mIsInitializing = false; + if ((localSQLiteDatabase != null) && (localSQLiteDatabase != this.mDatabase)) { + localSQLiteDatabase.close(); + } + return; + } + finally + { + this.mIsInitializing = false; + if ((0 != 0) && (this.mDatabase != null)) { + throw new NullPointerException(); + } + } + } + + public void close() + { + try + { + if (this.mIsInitializing) { + throw new IllegalStateException("Closed during initialization"); + } + } + finally {} + if ((this.mDatabase != null) && (this.mDatabase.isOpen())) + { + this.mDatabase.close(); + this.mDatabase = null; + } + } + + public String getDatabaseName() + { + return this.mName; + } + + public SQLiteDatabase getReadableDatabase() + { + try + { + SQLiteDatabase localSQLiteDatabase = getDatabaseLocked(false); + return localSQLiteDatabase; + } + finally {} + } + + public SQLiteDatabase getWritableDatabase() + { + try + { + SQLiteDatabase localSQLiteDatabase = getDatabaseLocked(true); + return localSQLiteDatabase; + } + finally {} + } + + public void onConfigure(SQLiteDatabase paramSQLiteDatabase) {} + + public abstract void onCreate(SQLiteDatabase paramSQLiteDatabase); + + public void onDowngrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) + { + throw new SQLiteException("Can't downgrade database from version " + paramInt1 + " to " + paramInt2); + } + + public void onOpen(SQLiteDatabase paramSQLiteDatabase) {} + + public abstract void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2); + + /* Error */ + public void setWriteAheadLoggingEnabled(boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 148 com/tencent/kingkong/database/SQLiteOpenHelper:mEnableWriteAheadLogging Z + // 6: iload_1 + // 7: if_icmpeq +47 -> 54 + // 10: aload_0 + // 11: getfield 120 com/tencent/kingkong/database/SQLiteOpenHelper:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 14: ifnull +35 -> 49 + // 17: aload_0 + // 18: getfield 120 com/tencent/kingkong/database/SQLiteOpenHelper:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 21: invokevirtual 126 com/tencent/kingkong/database/SQLiteDatabase:isOpen ()Z + // 24: ifeq +25 -> 49 + // 27: aload_0 + // 28: getfield 120 com/tencent/kingkong/database/SQLiteOpenHelper:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 31: invokevirtual 136 com/tencent/kingkong/database/SQLiteDatabase:isReadOnly ()Z + // 34: ifne +15 -> 49 + // 37: iload_1 + // 38: ifeq +19 -> 57 + // 41: aload_0 + // 42: getfield 120 com/tencent/kingkong/database/SQLiteOpenHelper:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 45: invokevirtual 258 com/tencent/kingkong/database/SQLiteDatabase:enableWriteAheadLogging ()Z + // 48: pop + // 49: aload_0 + // 50: iload_1 + // 51: putfield 148 com/tencent/kingkong/database/SQLiteOpenHelper:mEnableWriteAheadLogging Z + // 54: aload_0 + // 55: monitorexit + // 56: return + // 57: aload_0 + // 58: getfield 120 com/tencent/kingkong/database/SQLiteOpenHelper:mDatabase Lcom/tencent/kingkong/database/SQLiteDatabase; + // 61: invokevirtual 261 com/tencent/kingkong/database/SQLiteDatabase:disableWriteAheadLogging ()V + // 64: goto -15 -> 49 + // 67: astore_2 + // 68: aload_0 + // 69: monitorexit + // 70: aload_2 + // 71: athrow + // Local variable table: + // start length slot name signature + // 0 72 0 this SQLiteOpenHelper + // 0 72 1 paramBoolean boolean + // 67 4 2 localObject Object + // Exception table: + // from to target type + // 2 37 67 finally + // 41 49 67 finally + // 49 54 67 finally + // 54 56 67 finally + // 57 64 67 finally + // 68 70 67 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteOpenHelper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOutOfMemoryException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOutOfMemoryException.java new file mode 100755 index 00000000000..ac4d99e5347 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteOutOfMemoryException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteOutOfMemoryException + extends SQLiteException +{ + public SQLiteOutOfMemoryException() {} + + public SQLiteOutOfMemoryException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteOutOfMemoryException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteProgram.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteProgram.java new file mode 100755 index 00000000000..a22978dbac1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteProgram.java @@ -0,0 +1,165 @@ +package com.tencent.kingkong.database; + +import com.tencent.kingkong.DatabaseUtils; +import com.tencent.kingkong.support.CancellationSignal; +import java.util.Arrays; + +public abstract class SQLiteProgram + extends SQLiteClosable +{ + private static final String[] EMPTY_STRING_ARRAY = new String[0]; + private final Object[] mBindArgs; + private final String[] mColumnNames; + private final SQLiteDatabase mDatabase; + private final int mNumParameters; + private final boolean mReadOnly; + private final String mSql; + + SQLiteProgram(SQLiteDatabase paramSQLiteDatabase, String paramString, Object[] paramArrayOfObject, CancellationSignal paramCancellationSignal) + { + this.mDatabase = paramSQLiteDatabase; + this.mSql = paramString.trim(); + int i = DatabaseUtils.getSqlStatementType(this.mSql); + switch (i) + { + default: + if (i != 1) { + break; + } + } + for (;;) + { + paramString = new SQLiteStatementInfo(); + paramSQLiteDatabase.getThreadSession().prepare(this.mSql, paramSQLiteDatabase.getThreadDefaultConnectionFlags(bool), paramCancellationSignal, paramString); + this.mReadOnly = paramString.readOnly; + this.mColumnNames = paramString.columnNames; + for (this.mNumParameters = paramString.numParameters; (paramArrayOfObject != null) && (paramArrayOfObject.length > this.mNumParameters); this.mNumParameters = 0) + { + throw new IllegalArgumentException("Too many bind arguments. " + paramArrayOfObject.length + " arguments were provided but the statement needs " + this.mNumParameters + " arguments."); + this.mReadOnly = false; + this.mColumnNames = EMPTY_STRING_ARRAY; + } + bool = false; + } + if (this.mNumParameters != 0) + { + this.mBindArgs = new Object[this.mNumParameters]; + if (paramArrayOfObject != null) { + System.arraycopy(paramArrayOfObject, 0, this.mBindArgs, 0, paramArrayOfObject.length); + } + return; + } + this.mBindArgs = null; + } + + private void bind(int paramInt, Object paramObject) + { + if ((paramInt < 1) || (paramInt > this.mNumParameters)) { + throw new IllegalArgumentException("Cannot bind argument at index " + paramInt + " because the index is out of range. " + "The statement has " + this.mNumParameters + " parameters."); + } + this.mBindArgs[(paramInt - 1)] = paramObject; + } + + public void bindAllArgsAsStrings(String[] paramArrayOfString) + { + if (paramArrayOfString != null) + { + int i = paramArrayOfString.length; + while (i != 0) + { + bindString(i, paramArrayOfString[(i - 1)]); + i -= 1; + } + } + } + + public void bindBlob(int paramInt, byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + throw new IllegalArgumentException("the bind value at index " + paramInt + " is null"); + } + bind(paramInt, paramArrayOfByte); + } + + public void bindDouble(int paramInt, double paramDouble) + { + bind(paramInt, Double.valueOf(paramDouble)); + } + + public void bindLong(int paramInt, long paramLong) + { + bind(paramInt, Long.valueOf(paramLong)); + } + + public void bindNull(int paramInt) + { + bind(paramInt, null); + } + + public void bindString(int paramInt, String paramString) + { + if (paramString == null) { + throw new IllegalArgumentException("the bind value at index " + paramInt + " is null"); + } + bind(paramInt, paramString); + } + + public void clearBindings() + { + if (this.mBindArgs != null) { + Arrays.fill(this.mBindArgs, null); + } + } + + final Object[] getBindArgs() + { + return this.mBindArgs; + } + + final String[] getColumnNames() + { + return this.mColumnNames; + } + + protected final int getConnectionFlags() + { + return this.mDatabase.getThreadDefaultConnectionFlags(this.mReadOnly); + } + + final SQLiteDatabase getDatabase() + { + return this.mDatabase; + } + + protected final SQLiteSession getSession() + { + return this.mDatabase.getThreadSession(); + } + + final String getSql() + { + return this.mSql; + } + + @Deprecated + public final int getUniqueId() + { + return -1; + } + + protected void onAllReferencesReleased() + { + clearBindings(); + } + + protected final void onCorruption() + { + this.mDatabase.onCorruption(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteProgram + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQuery.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQuery.java new file mode 100755 index 00000000000..8ac38c928fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQuery.java @@ -0,0 +1,114 @@ +package com.tencent.kingkong.database; + +import com.tencent.kingkong.support.CancellationSignal; + +public final class SQLiteQuery + extends SQLiteProgram +{ + private static final String TAG = "SQLiteQuery"; + private final CancellationSignal mCancellationSignal; + + SQLiteQuery(SQLiteDatabase paramSQLiteDatabase, String paramString, CancellationSignal paramCancellationSignal) + { + super(paramSQLiteDatabase, paramString, null, paramCancellationSignal); + this.mCancellationSignal = paramCancellationSignal; + } + + /* Error */ + int fillWindow(com.tencent.kingkong.CursorWindow paramCursorWindow, int paramInt1, int paramInt2, boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: invokevirtual 28 com/tencent/kingkong/database/SQLiteQuery:acquireReference ()V + // 4: aload_1 + // 5: invokevirtual 31 com/tencent/kingkong/CursorWindow:acquireReference ()V + // 8: aload_0 + // 9: invokevirtual 35 com/tencent/kingkong/database/SQLiteQuery:getSession ()Lcom/tencent/kingkong/database/SQLiteSession; + // 12: aload_0 + // 13: invokevirtual 39 com/tencent/kingkong/database/SQLiteQuery:getSql ()Ljava/lang/String; + // 16: aload_0 + // 17: invokevirtual 43 com/tencent/kingkong/database/SQLiteQuery:getBindArgs ()[Ljava/lang/Object; + // 20: aload_1 + // 21: iload_2 + // 22: iload_3 + // 23: iload 4 + // 25: aload_0 + // 26: invokevirtual 47 com/tencent/kingkong/database/SQLiteQuery:getConnectionFlags ()I + // 29: aload_0 + // 30: getfield 17 com/tencent/kingkong/database/SQLiteQuery:mCancellationSignal Lcom/tencent/kingkong/support/CancellationSignal; + // 33: invokevirtual 53 com/tencent/kingkong/database/SQLiteSession:executeForCursorWindow (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/CursorWindow;IIZILcom/tencent/kingkong/support/CancellationSignal;)I + // 36: istore_2 + // 37: aload_1 + // 38: invokevirtual 56 com/tencent/kingkong/CursorWindow:releaseReference ()V + // 41: aload_0 + // 42: invokevirtual 57 com/tencent/kingkong/database/SQLiteQuery:releaseReference ()V + // 45: iload_2 + // 46: ireturn + // 47: astore 5 + // 49: aload_0 + // 50: invokevirtual 60 com/tencent/kingkong/database/SQLiteQuery:onCorruption ()V + // 53: aload 5 + // 55: athrow + // 56: astore 5 + // 58: aload_1 + // 59: invokevirtual 56 com/tencent/kingkong/CursorWindow:releaseReference ()V + // 62: aload 5 + // 64: athrow + // 65: astore_1 + // 66: aload_0 + // 67: invokevirtual 57 com/tencent/kingkong/database/SQLiteQuery:releaseReference ()V + // 70: aload_1 + // 71: athrow + // 72: astore 5 + // 74: ldc 8 + // 76: new 62 java/lang/StringBuilder + // 79: dup + // 80: invokespecial 64 java/lang/StringBuilder: ()V + // 83: ldc 66 + // 85: invokevirtual 70 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 88: aload 5 + // 90: invokevirtual 73 com/tencent/kingkong/database/SQLiteException:getMessage ()Ljava/lang/String; + // 93: invokevirtual 70 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 96: ldc 75 + // 98: invokevirtual 70 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 101: aload_0 + // 102: invokevirtual 39 com/tencent/kingkong/database/SQLiteQuery:getSql ()Ljava/lang/String; + // 105: invokevirtual 70 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 108: invokevirtual 78 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 111: invokestatic 84 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;)I + // 114: pop + // 115: aload 5 + // 117: athrow + // Local variable table: + // start length slot name signature + // 0 118 0 this SQLiteQuery + // 0 118 1 paramCursorWindow com.tencent.kingkong.CursorWindow + // 0 118 2 paramInt1 int + // 0 118 3 paramInt2 int + // 0 118 4 paramBoolean boolean + // 47 7 5 localSQLiteDatabaseCorruptException SQLiteDatabaseCorruptException + // 56 7 5 localObject java.lang.Object + // 72 44 5 localSQLiteException SQLiteException + // Exception table: + // from to target type + // 8 37 47 com/tencent/kingkong/database/SQLiteDatabaseCorruptException + // 8 37 56 finally + // 49 56 56 finally + // 74 118 56 finally + // 4 8 65 finally + // 37 41 65 finally + // 58 65 65 finally + // 8 37 72 com/tencent/kingkong/database/SQLiteException + } + + public String toString() + { + return "SQLiteQuery: " + getSql(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteQuery + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQueryBuilder.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQueryBuilder.java new file mode 100755 index 00000000000..be3b935a4b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteQueryBuilder.java @@ -0,0 +1,317 @@ +package com.tencent.kingkong.database; + +import android.text.TextUtils; +import android.util.Log; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.DatabaseUtils; +import com.tencent.kingkong.support.CancellationSignal; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class SQLiteQueryBuilder +{ + private static final String TAG = "SQLiteQueryBuilder"; + private static final Pattern sLimitPattern = Pattern.compile("\\s*\\d+\\s*(,\\s*\\d+\\s*)?"); + private boolean mDistinct = false; + private SQLiteDatabase.CursorFactory mFactory = null; + private Map mProjectionMap = null; + private boolean mStrict; + private String mTables = ""; + private StringBuilder mWhereClause = null; + + private static void appendClause(StringBuilder paramStringBuilder, String paramString1, String paramString2) + { + if (!TextUtils.isEmpty(paramString2)) + { + paramStringBuilder.append(paramString1); + paramStringBuilder.append(paramString2); + } + } + + public static void appendColumns(StringBuilder paramStringBuilder, String[] paramArrayOfString) + { + int j = paramArrayOfString.length; + int i = 0; + while (i < j) + { + String str = paramArrayOfString[i]; + if (str != null) + { + if (i > 0) { + paramStringBuilder.append(", "); + } + paramStringBuilder.append(str); + } + i += 1; + } + paramStringBuilder.append(' '); + } + + public static String buildQueryString(boolean paramBoolean, String paramString1, String[] paramArrayOfString, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6) + { + if ((TextUtils.isEmpty(paramString3)) && (!TextUtils.isEmpty(paramString4))) { + throw new IllegalArgumentException("HAVING clauses are only permitted when using a groupBy clause"); + } + if ((!TextUtils.isEmpty(paramString6)) && (!sLimitPattern.matcher(paramString6).matches())) { + throw new IllegalArgumentException("invalid LIMIT clauses:" + paramString6); + } + StringBuilder localStringBuilder = new StringBuilder(120); + localStringBuilder.append("SELECT "); + if (paramBoolean) { + localStringBuilder.append("DISTINCT "); + } + if ((paramArrayOfString != null) && (paramArrayOfString.length != 0)) { + appendColumns(localStringBuilder, paramArrayOfString); + } + for (;;) + { + localStringBuilder.append("FROM "); + localStringBuilder.append(paramString1); + appendClause(localStringBuilder, " WHERE ", paramString2); + appendClause(localStringBuilder, " GROUP BY ", paramString3); + appendClause(localStringBuilder, " HAVING ", paramString4); + appendClause(localStringBuilder, " ORDER BY ", paramString5); + appendClause(localStringBuilder, " LIMIT ", paramString6); + return localStringBuilder.toString(); + localStringBuilder.append("* "); + } + } + + private String[] computeProjection(String[] paramArrayOfString) + { + Object localObject2; + int i; + Object localObject1; + if ((paramArrayOfString != null) && (paramArrayOfString.length > 0)) + { + if (this.mProjectionMap != null) + { + localObject2 = new String[paramArrayOfString.length]; + int j = paramArrayOfString.length; + i = 0; + localObject1 = localObject2; + if (i < j) + { + localObject1 = paramArrayOfString[i]; + String str = (String)this.mProjectionMap.get(localObject1); + if (str != null) { + localObject2[i] = str; + } + for (;;) + { + i += 1; + break; + if ((this.mStrict) || ((!((String)localObject1).contains(" AS ")) && (!((String)localObject1).contains(" as ")))) { + break label112; + } + localObject2[i] = localObject1; + } + label112: + throw new IllegalArgumentException("Invalid column " + paramArrayOfString[i]); + } + } + else + { + localObject1 = paramArrayOfString; + } + return localObject1; + } + if (this.mProjectionMap != null) + { + localObject1 = this.mProjectionMap.entrySet(); + paramArrayOfString = new String[((Set)localObject1).size()]; + localObject2 = ((Set)localObject1).iterator(); + i = 0; + for (;;) + { + localObject1 = paramArrayOfString; + if (!((Iterator)localObject2).hasNext()) { + break; + } + localObject1 = (Map.Entry)((Iterator)localObject2).next(); + if (!((String)((Map.Entry)localObject1).getKey()).equals("_count")) + { + paramArrayOfString[i] = ((String)((Map.Entry)localObject1).getValue()); + i += 1; + } + } + } + return null; + } + + private void validateQuerySql(SQLiteDatabase paramSQLiteDatabase, String paramString, CancellationSignal paramCancellationSignal) + { + paramSQLiteDatabase.getThreadSession().prepare(paramString, paramSQLiteDatabase.getThreadDefaultConnectionFlags(true), paramCancellationSignal, null); + } + + public void appendWhere(CharSequence paramCharSequence) + { + if (this.mWhereClause == null) { + this.mWhereClause = new StringBuilder(paramCharSequence.length() + 16); + } + if (this.mWhereClause.length() == 0) { + this.mWhereClause.append('('); + } + this.mWhereClause.append(paramCharSequence); + } + + public void appendWhereEscapeString(String paramString) + { + if (this.mWhereClause == null) { + this.mWhereClause = new StringBuilder(paramString.length() + 16); + } + if (this.mWhereClause.length() == 0) { + this.mWhereClause.append('('); + } + DatabaseUtils.appendEscapedSQLString(this.mWhereClause, paramString); + } + + public String buildQuery(String[] paramArrayOfString, String paramString1, String paramString2, String paramString3, String paramString4, String paramString5) + { + paramArrayOfString = computeProjection(paramArrayOfString); + StringBuilder localStringBuilder = new StringBuilder(); + if ((this.mWhereClause != null) && (this.mWhereClause.length() > 0)) {} + for (int i = 1;; i = 0) + { + if (i != 0) + { + localStringBuilder.append(this.mWhereClause.toString()); + localStringBuilder.append(')'); + } + if ((paramString1 != null) && (paramString1.length() > 0)) + { + if (i != 0) { + localStringBuilder.append(" AND "); + } + localStringBuilder.append('('); + localStringBuilder.append(paramString1); + localStringBuilder.append(')'); + } + return buildQueryString(this.mDistinct, this.mTables, paramArrayOfString, localStringBuilder.toString(), paramString2, paramString3, paramString4, paramString5); + } + } + + @Deprecated + public String buildQuery(String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2, String paramString3, String paramString4, String paramString5) + { + return buildQuery(paramArrayOfString1, paramString1, paramString2, paramString3, paramString4, paramString5); + } + + public String buildUnionQuery(String[] paramArrayOfString, String paramString1, String paramString2) + { + StringBuilder localStringBuilder = new StringBuilder(128); + int j = paramArrayOfString.length; + if (this.mDistinct) {} + for (String str = " UNION ";; str = " UNION ALL ") + { + int i = 0; + while (i < j) + { + if (i > 0) { + localStringBuilder.append(str); + } + localStringBuilder.append(paramArrayOfString[i]); + i += 1; + } + } + appendClause(localStringBuilder, " ORDER BY ", paramString1); + appendClause(localStringBuilder, " LIMIT ", paramString2); + return localStringBuilder.toString(); + } + + public String buildUnionSubQuery(String paramString1, String[] paramArrayOfString, Set paramSet, int paramInt, String paramString2, String paramString3, String paramString4, String paramString5) + { + int j = paramArrayOfString.length; + String[] arrayOfString = new String[j]; + int i = 0; + if (i < j) + { + String str = paramArrayOfString[i]; + if (str.equals(paramString1)) { + arrayOfString[i] = ("'" + paramString2 + "' AS " + paramString1); + } + for (;;) + { + i += 1; + break; + if ((i <= paramInt) || (paramSet.contains(str))) { + arrayOfString[i] = str; + } else { + arrayOfString[i] = ("NULL AS " + str); + } + } + } + return buildQuery(arrayOfString, paramString3, paramString4, paramString5, null, null); + } + + @Deprecated + public String buildUnionSubQuery(String paramString1, String[] paramArrayOfString1, Set paramSet, int paramInt, String paramString2, String paramString3, String[] paramArrayOfString2, String paramString4, String paramString5) + { + return buildUnionSubQuery(paramString1, paramArrayOfString1, paramSet, paramInt, paramString2, paramString3, paramString4, paramString5); + } + + public String getTables() + { + return this.mTables; + } + + public Cursor query(SQLiteDatabase paramSQLiteDatabase, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2, String paramString3, String paramString4) + { + return query(paramSQLiteDatabase, paramArrayOfString1, paramString1, paramArrayOfString2, paramString2, paramString3, paramString4, null, null); + } + + public Cursor query(SQLiteDatabase paramSQLiteDatabase, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2, String paramString3, String paramString4, String paramString5) + { + return query(paramSQLiteDatabase, paramArrayOfString1, paramString1, paramArrayOfString2, paramString2, paramString3, paramString4, paramString5, null); + } + + public Cursor query(SQLiteDatabase paramSQLiteDatabase, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2, String paramString3, String paramString4, String paramString5, CancellationSignal paramCancellationSignal) + { + if (this.mTables == null) { + return null; + } + if ((this.mStrict) && (paramString1 != null) && (paramString1.length() > 0)) { + validateQuerySql(paramSQLiteDatabase, buildQuery(paramArrayOfString1, "(" + paramString1 + ")", paramString2, paramString3, paramString4, paramString5), paramCancellationSignal); + } + paramArrayOfString1 = buildQuery(paramArrayOfString1, paramString1, paramString2, paramString3, paramString4, paramString5); + if (Log.isLoggable("SQLiteQueryBuilder", 3)) { + Log.d("SQLiteQueryBuilder", "Performing query: " + paramArrayOfString1); + } + return paramSQLiteDatabase.rawQueryWithFactory(this.mFactory, paramArrayOfString1, paramArrayOfString2, SQLiteDatabase.findEditTable(this.mTables), paramCancellationSignal); + } + + public void setCursorFactory(SQLiteDatabase.CursorFactory paramCursorFactory) + { + this.mFactory = paramCursorFactory; + } + + public void setDistinct(boolean paramBoolean) + { + this.mDistinct = paramBoolean; + } + + public void setProjectionMap(Map paramMap) + { + this.mProjectionMap = paramMap; + } + + public void setStrict(boolean paramBoolean) + { + this.mStrict = paramBoolean; + } + + public void setTables(String paramString) + { + this.mTables = paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteQueryBuilder + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteReadOnlyDatabaseException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteReadOnlyDatabaseException.java new file mode 100755 index 00000000000..4f93f5cfe91 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteReadOnlyDatabaseException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteReadOnlyDatabaseException + extends SQLiteException +{ + public SQLiteReadOnlyDatabaseException() {} + + public SQLiteReadOnlyDatabaseException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteReadOnlyDatabaseException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteSession.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteSession.java new file mode 100755 index 00000000000..3a6a3c8579b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteSession.java @@ -0,0 +1,570 @@ +package com.tencent.kingkong.database; + +import android.os.ParcelFileDescriptor; +import com.tencent.kingkong.CursorWindow; +import com.tencent.kingkong.DatabaseUtils; +import com.tencent.kingkong.support.CancellationSignal; + +public final class SQLiteSession +{ + public static final int TRANSACTION_MODE_DEFERRED = 0; + public static final int TRANSACTION_MODE_EXCLUSIVE = 2; + public static final int TRANSACTION_MODE_IMMEDIATE = 1; + private SQLiteConnection mConnection; + private int mConnectionFlags; + private final SQLiteConnectionPool mConnectionPool; + private int mConnectionUseCount; + private Transaction mTransactionPool; + private Transaction mTransactionStack; + + static + { + if (!SQLiteSession.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + return; + } + } + + public SQLiteSession(SQLiteConnectionPool paramSQLiteConnectionPool) + { + if (paramSQLiteConnectionPool == null) { + throw new IllegalArgumentException("connectionPool must not be null"); + } + this.mConnectionPool = paramSQLiteConnectionPool; + } + + private void acquireConnection(String paramString, int paramInt, CancellationSignal paramCancellationSignal) + { + if (this.mConnection == null) + { + assert (this.mConnectionUseCount == 0); + this.mConnection = this.mConnectionPool.acquireConnection(paramString, paramInt, paramCancellationSignal); + this.mConnectionFlags = paramInt; + } + this.mConnectionUseCount += 1; + } + + /* Error */ + private void beginTransactionUnchecked(int paramInt1, SQLiteTransactionListener paramSQLiteTransactionListener, int paramInt2, CancellationSignal paramCancellationSignal) + { + // Byte code: + // 0: aload 4 + // 2: ifnull +8 -> 10 + // 5: aload 4 + // 7: invokevirtual 76 com/tencent/kingkong/support/CancellationSignal:throwIfCanceled ()V + // 10: aload_0 + // 11: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 14: ifnonnull +11 -> 25 + // 17: aload_0 + // 18: aconst_null + // 19: iload_3 + // 20: aload 4 + // 22: invokespecial 80 com/tencent/kingkong/database/SQLiteSession:acquireConnection (Ljava/lang/String;ILcom/tencent/kingkong/support/CancellationSignal;)V + // 25: aload_0 + // 26: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 29: ifnonnull +39 -> 68 + // 32: iload_1 + // 33: tableswitch default:+143 -> 176, 1:+77->110, 2:+106->139 + // 57: getfield 55 com/tencent/kingkong/database/SQLiteSession:mConnection Lcom/tencent/kingkong/database/SQLiteConnection; + // 60: ldc 82 + // 62: aconst_null + // 63: aload 4 + // 65: invokevirtual 88 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 68: aload_2 + // 69: ifnull +9 -> 78 + // 72: aload_2 + // 73: invokeinterface 93 1 0 + // 78: aload_0 + // 79: iload_1 + // 80: aload_2 + // 81: invokespecial 97 com/tencent/kingkong/database/SQLiteSession:obtainTransaction (ILcom/tencent/kingkong/database/SQLiteTransactionListener;)Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 84: astore_2 + // 85: aload_2 + // 86: aload_0 + // 87: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 90: putfield 100 com/tencent/kingkong/database/SQLiteSession$Transaction:mParent Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 93: aload_0 + // 94: aload_2 + // 95: putfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 98: aload_0 + // 99: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 102: ifnonnull +7 -> 109 + // 105: aload_0 + // 106: invokespecial 103 com/tencent/kingkong/database/SQLiteSession:releaseConnection ()V + // 109: return + // 110: aload_0 + // 111: getfield 55 com/tencent/kingkong/database/SQLiteSession:mConnection Lcom/tencent/kingkong/database/SQLiteConnection; + // 114: ldc 105 + // 116: aconst_null + // 117: aload 4 + // 119: invokevirtual 88 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 122: goto -54 -> 68 + // 125: astore_2 + // 126: aload_0 + // 127: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 130: ifnonnull +7 -> 137 + // 133: aload_0 + // 134: invokespecial 103 com/tencent/kingkong/database/SQLiteSession:releaseConnection ()V + // 137: aload_2 + // 138: athrow + // 139: aload_0 + // 140: getfield 55 com/tencent/kingkong/database/SQLiteSession:mConnection Lcom/tencent/kingkong/database/SQLiteConnection; + // 143: ldc 107 + // 145: aconst_null + // 146: aload 4 + // 148: invokevirtual 88 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 151: goto -83 -> 68 + // 154: astore_2 + // 155: aload_0 + // 156: getfield 78 com/tencent/kingkong/database/SQLiteSession:mTransactionStack Lcom/tencent/kingkong/database/SQLiteSession$Transaction; + // 159: ifnonnull +15 -> 174 + // 162: aload_0 + // 163: getfield 55 com/tencent/kingkong/database/SQLiteSession:mConnection Lcom/tencent/kingkong/database/SQLiteConnection; + // 166: ldc 109 + // 168: aconst_null + // 169: aload 4 + // 171: invokevirtual 88 com/tencent/kingkong/database/SQLiteConnection:execute (Ljava/lang/String;[Ljava/lang/Object;Lcom/tencent/kingkong/support/CancellationSignal;)V + // 174: aload_2 + // 175: athrow + // 176: goto -120 -> 56 + // Local variable table: + // start length slot name signature + // 0 179 0 this SQLiteSession + // 0 179 1 paramInt1 int + // 0 179 2 paramSQLiteTransactionListener SQLiteTransactionListener + // 0 179 3 paramInt2 int + // 0 179 4 paramCancellationSignal CancellationSignal + // Exception table: + // from to target type + // 25 32 125 finally + // 56 68 125 finally + // 72 78 125 finally + // 78 98 125 finally + // 110 122 125 finally + // 139 151 125 finally + // 155 174 125 finally + // 174 176 125 finally + // 72 78 154 java/lang/RuntimeException + } + + private void endTransactionUnchecked(CancellationSignal paramCancellationSignal, boolean paramBoolean) + { + if (paramCancellationSignal != null) { + paramCancellationSignal.throwIfCanceled(); + } + Transaction localTransaction = this.mTransactionStack; + int i; + Object localObject2; + SQLiteTransactionListener localSQLiteTransactionListener; + Object localObject1; + int j; + if (((localTransaction.mMarkedSuccessful) || (paramBoolean)) && (!localTransaction.mChildFailed)) + { + i = 1; + localObject2 = null; + localSQLiteTransactionListener = localTransaction.mListener; + localObject1 = localObject2; + j = i; + if ((localSQLiteTransactionListener != null) && (i == 0)) { + break label124; + } + } + for (;;) + { + try + { + localSQLiteTransactionListener.onCommit(); + j = i; + localObject1 = localObject2; + } + catch (RuntimeException localRuntimeException) + { + label124: + j = 0; + continue; + if (j == 0) { + continue; + } + try + { + this.mConnection.execute("COMMIT;", null, paramCancellationSignal); + releaseConnection(); + continue; + } + finally + { + releaseConnection(); + } + this.mConnection.execute("ROLLBACK;", null, paramCancellationSignal); + continue; + } + this.mTransactionStack = localTransaction.mParent; + recycleTransaction(localTransaction); + if (this.mTransactionStack == null) { + continue; + } + if (j == 0) { + this.mTransactionStack.mChildFailed = true; + } + if (localObject1 == null) { + return; + } + throw localObject1; + i = 0; + break; + localSQLiteTransactionListener.onRollback(); + localObject1 = localObject2; + j = i; + } + } + + private boolean executeSpecial(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramCancellationSignal != null) { + paramCancellationSignal.throwIfCanceled(); + } + switch (DatabaseUtils.getSqlStatementType(paramString)) + { + default: + return false; + case 4: + beginTransaction(2, null, paramInt, paramCancellationSignal); + return true; + case 5: + setTransactionSuccessful(); + endTransaction(paramCancellationSignal); + return true; + } + endTransaction(paramCancellationSignal); + return true; + } + + private Transaction obtainTransaction(int paramInt, SQLiteTransactionListener paramSQLiteTransactionListener) + { + Transaction localTransaction = this.mTransactionPool; + if (localTransaction != null) + { + this.mTransactionPool = localTransaction.mParent; + localTransaction.mParent = null; + localTransaction.mMarkedSuccessful = false; + localTransaction.mChildFailed = false; + } + for (;;) + { + localTransaction.mMode = paramInt; + localTransaction.mListener = paramSQLiteTransactionListener; + return localTransaction; + localTransaction = new Transaction(null); + } + } + + private void recycleTransaction(Transaction paramTransaction) + { + paramTransaction.mParent = this.mTransactionPool; + paramTransaction.mListener = null; + this.mTransactionPool = paramTransaction; + } + + private void releaseConnection() + { + assert (this.mConnection != null); + assert (this.mConnectionUseCount > 0); + int i = this.mConnectionUseCount - 1; + this.mConnectionUseCount = i; + if (i == 0) {} + try + { + this.mConnectionPool.releaseConnection(this.mConnection); + return; + } + finally + { + this.mConnection = null; + } + } + + private void throwIfNestedTransaction() + { + if (hasNestedTransaction()) { + throw new IllegalStateException("Cannot perform this operation because a nested transaction is in progress."); + } + } + + private void throwIfNoTransaction() + { + if (this.mTransactionStack == null) { + throw new IllegalStateException("Cannot perform this operation because there is no current transaction."); + } + } + + private void throwIfTransactionMarkedSuccessful() + { + if ((this.mTransactionStack != null) && (this.mTransactionStack.mMarkedSuccessful)) { + throw new IllegalStateException("Cannot perform this operation because the transaction has already been marked successful. The only thing you can do now is call endTransaction()."); + } + } + + private boolean yieldTransactionUnchecked(long paramLong, CancellationSignal paramCancellationSignal) + { + if (paramCancellationSignal != null) { + paramCancellationSignal.throwIfCanceled(); + } + if (!this.mConnectionPool.shouldYieldConnection(this.mConnection, this.mConnectionFlags)) { + return false; + } + int i = this.mTransactionStack.mMode; + SQLiteTransactionListener localSQLiteTransactionListener = this.mTransactionStack.mListener; + int j = this.mConnectionFlags; + endTransactionUnchecked(paramCancellationSignal, true); + if (paramLong > 0L) {} + try + { + Thread.sleep(paramLong); + label68: + beginTransactionUnchecked(i, localSQLiteTransactionListener, j, paramCancellationSignal); + return true; + } + catch (InterruptedException localInterruptedException) + { + break label68; + } + } + + public void beginTransaction(int paramInt1, SQLiteTransactionListener paramSQLiteTransactionListener, int paramInt2, CancellationSignal paramCancellationSignal) + { + throwIfTransactionMarkedSuccessful(); + beginTransactionUnchecked(paramInt1, paramSQLiteTransactionListener, paramInt2, paramCancellationSignal); + } + + public void endTransaction(CancellationSignal paramCancellationSignal) + { + throwIfNoTransaction(); + assert (this.mConnection != null); + endTransactionUnchecked(paramCancellationSignal, false); + } + + public void execute(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + this.mConnection.execute(paramString, paramArrayOfObject, paramCancellationSignal); + return; + } + finally + { + releaseConnection(); + } + } + + public ParcelFileDescriptor executeForBlobFileDescriptor(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return null; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + paramString = this.mConnection.executeForBlobFileDescriptor(paramString, paramArrayOfObject, paramCancellationSignal); + return paramString; + } + finally + { + releaseConnection(); + } + } + + public int executeForChangedRowCount(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return 0; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + paramInt = this.mConnection.executeForChangedRowCount(paramString, paramArrayOfObject, paramCancellationSignal); + return paramInt; + } + finally + { + releaseConnection(); + } + } + + public int executeForCursorWindow(String paramString, Object[] paramArrayOfObject, CursorWindow paramCursorWindow, int paramInt1, int paramInt2, boolean paramBoolean, int paramInt3, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (paramCursorWindow == null) { + throw new IllegalArgumentException("window must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt3, paramCancellationSignal)) + { + paramCursorWindow.clear(); + return 0; + } + acquireConnection(paramString, paramInt3, paramCancellationSignal); + try + { + paramInt1 = this.mConnection.executeForCursorWindow(paramString, paramArrayOfObject, paramCursorWindow, paramInt1, paramInt2, paramBoolean, paramCancellationSignal); + return paramInt1; + } + finally + { + releaseConnection(); + } + } + + public long executeForLastInsertedRowId(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return 0L; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + long l = this.mConnection.executeForLastInsertedRowId(paramString, paramArrayOfObject, paramCancellationSignal); + return l; + } + finally + { + releaseConnection(); + } + } + + public long executeForLong(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return 0L; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + long l = this.mConnection.executeForLong(paramString, paramArrayOfObject, paramCancellationSignal); + return l; + } + finally + { + releaseConnection(); + } + } + + public String executeForString(String paramString, Object[] paramArrayOfObject, int paramInt, CancellationSignal paramCancellationSignal) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (executeSpecial(paramString, paramArrayOfObject, paramInt, paramCancellationSignal)) { + return null; + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + paramString = this.mConnection.executeForString(paramString, paramArrayOfObject, paramCancellationSignal); + return paramString; + } + finally + { + releaseConnection(); + } + } + + public boolean hasConnection() + { + return this.mConnection != null; + } + + public boolean hasNestedTransaction() + { + return (this.mTransactionStack != null) && (this.mTransactionStack.mParent != null); + } + + public boolean hasTransaction() + { + return this.mTransactionStack != null; + } + + public void prepare(String paramString, int paramInt, CancellationSignal paramCancellationSignal, SQLiteStatementInfo paramSQLiteStatementInfo) + { + if (paramString == null) { + throw new IllegalArgumentException("sql must not be null."); + } + if (paramCancellationSignal != null) { + paramCancellationSignal.throwIfCanceled(); + } + acquireConnection(paramString, paramInt, paramCancellationSignal); + try + { + this.mConnection.prepare(paramString, paramSQLiteStatementInfo); + return; + } + finally + { + releaseConnection(); + } + } + + public void setTransactionSuccessful() + { + throwIfNoTransaction(); + throwIfTransactionMarkedSuccessful(); + this.mTransactionStack.mMarkedSuccessful = true; + } + + public boolean yieldTransaction(long paramLong, boolean paramBoolean, CancellationSignal paramCancellationSignal) + { + if (paramBoolean) + { + throwIfNoTransaction(); + throwIfTransactionMarkedSuccessful(); + throwIfNestedTransaction(); + } + while ((this.mTransactionStack != null) && (!this.mTransactionStack.mMarkedSuccessful) && (this.mTransactionStack.mParent == null)) + { + if (($assertionsDisabled) || (this.mConnection != null)) { + break; + } + throw new AssertionError(); + } + while (this.mTransactionStack.mChildFailed) { + return false; + } + return yieldTransactionUnchecked(paramLong, paramCancellationSignal); + } + + private static final class Transaction + { + public boolean mChildFailed; + public SQLiteTransactionListener mListener; + public boolean mMarkedSuccessful; + public int mMode; + public Transaction mParent; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteSession + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatement.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatement.java new file mode 100755 index 00000000000..13e1f873d2d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatement.java @@ -0,0 +1,131 @@ +package com.tencent.kingkong.database; + +import android.os.ParcelFileDescriptor; + +public final class SQLiteStatement + extends SQLiteProgram +{ + SQLiteStatement(SQLiteDatabase paramSQLiteDatabase, String paramString, Object[] paramArrayOfObject) + { + super(paramSQLiteDatabase, paramString, paramArrayOfObject, null); + } + + public void execute() + { + acquireReference(); + try + { + getSession().execute(getSql(), getBindArgs(), getConnectionFlags(), null); + return; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public long executeInsert() + { + acquireReference(); + try + { + long l = getSession().executeForLastInsertedRowId(getSql(), getBindArgs(), getConnectionFlags(), null); + return l; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public int executeUpdateDelete() + { + acquireReference(); + try + { + int i = getSession().executeForChangedRowCount(getSql(), getBindArgs(), getConnectionFlags(), null); + return i; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public ParcelFileDescriptor simpleQueryForBlobFileDescriptor() + { + acquireReference(); + try + { + ParcelFileDescriptor localParcelFileDescriptor = getSession().executeForBlobFileDescriptor(getSql(), getBindArgs(), getConnectionFlags(), null); + return localParcelFileDescriptor; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public long simpleQueryForLong() + { + acquireReference(); + try + { + long l = getSession().executeForLong(getSql(), getBindArgs(), getConnectionFlags(), null); + return l; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public String simpleQueryForString() + { + acquireReference(); + try + { + String str = getSession().executeForString(getSql(), getBindArgs(), getConnectionFlags(), null); + return str; + } + catch (SQLiteDatabaseCorruptException localSQLiteDatabaseCorruptException) + { + throw localSQLiteDatabaseCorruptException; + } + finally + { + releaseReference(); + } + } + + public String toString() + { + return "SQLiteProgram: " + getSql(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteStatement + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatementInfo.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatementInfo.java new file mode 100755 index 00000000000..522d575f6f7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteStatementInfo.java @@ -0,0 +1,14 @@ +package com.tencent.kingkong.database; + +public final class SQLiteStatementInfo +{ + public String[] columnNames; + public int numParameters; + public boolean readOnly; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteStatementInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTableLockedException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTableLockedException.java new file mode 100755 index 00000000000..dafe837984a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTableLockedException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.database; + +public class SQLiteTableLockedException + extends SQLiteException +{ + public SQLiteTableLockedException() {} + + public SQLiteTableLockedException(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteTableLockedException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTransactionListener.java b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTransactionListener.java new file mode 100755 index 00000000000..47b40f19cc0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/database/SQLiteTransactionListener.java @@ -0,0 +1,16 @@ +package com.tencent.kingkong.database; + +public abstract interface SQLiteTransactionListener +{ + public abstract void onBegin(); + + public abstract void onCommit(); + + public abstract void onRollback(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.database.SQLiteTransactionListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/CancellationSignal.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/CancellationSignal.java new file mode 100755 index 00000000000..ca5c39efbd0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/CancellationSignal.java @@ -0,0 +1,211 @@ +package com.tencent.kingkong.support; + +import android.os.RemoteException; + +public final class CancellationSignal +{ + private boolean mCancelInProgress; + private boolean mIsCanceled; + private OnCancelListener mOnCancelListener; + private ICancellationSignal mRemote; + + public static ICancellationSignal createTransport() + { + return new Transport(null); + } + + public static CancellationSignal fromTransport(ICancellationSignal paramICancellationSignal) + { + if ((paramICancellationSignal instanceof Transport)) { + return ((Transport)paramICancellationSignal).mCancellationSignal; + } + return null; + } + + private void waitForCancelFinishedLocked() + { + while (this.mCancelInProgress) { + try + { + wait(); + } + catch (InterruptedException localInterruptedException) {} + } + } + + /* Error */ + public void cancel() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 48 com/tencent/kingkong/support/CancellationSignal:mIsCanceled Z + // 6: ifeq +6 -> 12 + // 9: aload_0 + // 10: monitorexit + // 11: return + // 12: aload_0 + // 13: iconst_1 + // 14: putfield 48 com/tencent/kingkong/support/CancellationSignal:mIsCanceled Z + // 17: aload_0 + // 18: iconst_1 + // 19: putfield 40 com/tencent/kingkong/support/CancellationSignal:mCancelInProgress Z + // 22: aload_0 + // 23: getfield 50 com/tencent/kingkong/support/CancellationSignal:mOnCancelListener Lcom/tencent/kingkong/support/CancellationSignal$OnCancelListener; + // 26: astore_1 + // 27: aload_0 + // 28: getfield 52 com/tencent/kingkong/support/CancellationSignal:mRemote Lcom/tencent/kingkong/support/ICancellationSignal; + // 31: astore_2 + // 32: aload_0 + // 33: monitorexit + // 34: aload_1 + // 35: ifnull +9 -> 44 + // 38: aload_1 + // 39: invokeinterface 55 1 0 + // 44: aload_2 + // 45: ifnull +9 -> 54 + // 48: aload_2 + // 49: invokeinterface 59 1 0 + // 54: aload_0 + // 55: monitorenter + // 56: aload_0 + // 57: iconst_0 + // 58: putfield 40 com/tencent/kingkong/support/CancellationSignal:mCancelInProgress Z + // 61: aload_0 + // 62: invokevirtual 62 java/lang/Object:notifyAll ()V + // 65: aload_0 + // 66: monitorexit + // 67: return + // 68: astore_1 + // 69: aload_0 + // 70: monitorexit + // 71: aload_1 + // 72: athrow + // 73: astore_1 + // 74: aload_0 + // 75: monitorexit + // 76: aload_1 + // 77: athrow + // 78: astore_1 + // 79: aload_0 + // 80: monitorenter + // 81: aload_0 + // 82: iconst_0 + // 83: putfield 40 com/tencent/kingkong/support/CancellationSignal:mCancelInProgress Z + // 86: aload_0 + // 87: invokevirtual 62 java/lang/Object:notifyAll ()V + // 90: aload_0 + // 91: monitorexit + // 92: aload_1 + // 93: athrow + // 94: astore_1 + // 95: aload_0 + // 96: monitorexit + // 97: aload_1 + // 98: athrow + // 99: astore_1 + // 100: goto -46 -> 54 + // Local variable table: + // start length slot name signature + // 0 103 0 this CancellationSignal + // 26 13 1 localOnCancelListener OnCancelListener + // 68 4 1 localObject1 Object + // 73 4 1 localObject2 Object + // 78 15 1 localObject3 Object + // 94 4 1 localObject4 Object + // 99 1 1 localRemoteException RemoteException + // 31 18 2 localICancellationSignal ICancellationSignal + // Exception table: + // from to target type + // 56 67 68 finally + // 69 71 68 finally + // 2 11 73 finally + // 12 34 73 finally + // 74 76 73 finally + // 38 44 78 finally + // 48 54 78 finally + // 81 92 94 finally + // 95 97 94 finally + // 48 54 99 android/os/RemoteException + } + + public boolean isCanceled() + { + try + { + boolean bool = this.mIsCanceled; + return bool; + } + finally {} + } + + public void setOnCancelListener(OnCancelListener paramOnCancelListener) + { + try + { + waitForCancelFinishedLocked(); + if (this.mOnCancelListener == paramOnCancelListener) { + return; + } + this.mOnCancelListener = paramOnCancelListener; + if ((!this.mIsCanceled) || (paramOnCancelListener == null)) { + return; + } + } + finally {} + paramOnCancelListener.onCancel(); + } + + public void setRemote(ICancellationSignal paramICancellationSignal) + { + try + { + waitForCancelFinishedLocked(); + if (this.mRemote == paramICancellationSignal) { + return; + } + this.mRemote = paramICancellationSignal; + if ((!this.mIsCanceled) || (paramICancellationSignal == null)) { + return; + } + } + finally {} + try + { + paramICancellationSignal.cancel(); + return; + } + catch (RemoteException paramICancellationSignal) {} + } + + public void throwIfCanceled() + { + if (isCanceled()) { + throw new OperationCanceledException(); + } + } + + public static abstract interface OnCancelListener + { + public abstract void onCancel(); + } + + private static final class Transport + extends ICancellationSignal.Stub + { + final CancellationSignal mCancellationSignal = new CancellationSignal(); + + public void cancel() + throws RemoteException + { + this.mCancellationSignal.cancel(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.CancellationSignal + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/Context.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/Context.java new file mode 100755 index 00000000000..c3b38e1db1c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/Context.java @@ -0,0 +1,105 @@ +package com.tencent.kingkong.support; + +import android.content.pm.ApplicationInfo; +import com.tencent.kingkong.DatabaseErrorHandler; +import com.tencent.kingkong.FileUtils; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.kingkong.database.SQLiteDatabase.Arithmetic; +import com.tencent.kingkong.database.SQLiteDatabase.CursorFactory; +import com.tencent.kingkong.database.SQLiteDatabase.LockedDevice; +import java.io.File; + +public final class Context +{ + public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; + + public static void OverInitWaitedDefault(android.content.Context paramContext, String paramString, int paramInt) + { + setFilePermissionsFromMode(validateFilePath(paramContext, paramString, true).getPath(), paramInt, 0); + } + + private static File getDataDirFile(android.content.Context paramContext) + { + if (paramContext != null) + { + paramContext = paramContext.getApplicationInfo().dataDir; + if (paramContext != null) { + return new File(paramContext); + } + return null; + } + throw new RuntimeException("Not supported in system context"); + } + + private static File getDatabasesDir(android.content.Context paramContext) + { + File localFile = new File(getDataDirFile(paramContext), "databases"); + paramContext = localFile; + if (localFile.getPath().equals("databases")) { + paramContext = new File("/data/system"); + } + return paramContext; + } + + private static File makeFilename(File paramFile, String paramString) + { + if (paramString.indexOf(File.separatorChar) < 0) { + return new File(paramFile, paramString); + } + throw new IllegalArgumentException("File " + paramString + " contains a path separator"); + } + + public static SQLiteDatabase openOrCreateDatabase(android.content.Context paramContext, String paramString1, SQLiteDatabase.LockedDevice paramLockedDevice, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, int paramInt, SQLiteDatabase.CursorFactory paramCursorFactory, DatabaseErrorHandler paramDatabaseErrorHandler, boolean paramBoolean) + { + paramContext = validateFilePath(paramContext, paramString1, true); + int i = 268435456; + if ((paramInt & 0x8) != 0) { + i = 0x10000000 | 0x20000000; + } + paramString1 = SQLiteDatabase.openDatabase(paramContext.getPath(), paramLockedDevice, paramString2, paramArithmetic, paramCursorFactory, i, paramDatabaseErrorHandler, paramBoolean); + if (!paramBoolean) { + setFilePermissionsFromMode(paramContext.getPath(), paramInt, 0); + } + return paramString1; + } + + public static SQLiteDatabase openOrCreateDatabase(android.content.Context paramContext, String paramString1, SQLiteDatabase.LockedDevice paramLockedDevice, String paramString2, SQLiteDatabase.Arithmetic paramArithmetic, int paramInt, SQLiteDatabase.CursorFactory paramCursorFactory, boolean paramBoolean) + { + return openOrCreateDatabase(paramContext, paramString1, paramLockedDevice, paramString2, paramArithmetic, paramInt, paramCursorFactory, null, paramBoolean); + } + + private static void setFilePermissionsFromMode(String paramString, int paramInt1, int paramInt2) + { + int i = paramInt2 | 0x1B0; + paramInt2 = i; + if ((paramInt1 & 0x1) != 0) { + paramInt2 = i | 0x4; + } + i = paramInt2; + if ((paramInt1 & 0x2) != 0) { + i = paramInt2 | 0x2; + } + FileUtils.setPermissions(paramString, i, -1, -1); + } + + private static File validateFilePath(android.content.Context paramContext, String paramString, boolean paramBoolean) + { + if (paramString.charAt(0) == File.separatorChar) { + paramContext = new File(paramString.substring(0, paramString.lastIndexOf(File.separatorChar))); + } + for (paramString = new File(paramContext, paramString.substring(paramString.lastIndexOf(File.separatorChar)));; paramString = makeFilename(paramContext, paramString)) + { + if ((paramBoolean) && (!paramContext.isDirectory()) && (paramContext.mkdir())) { + FileUtils.setPermissions(paramContext.getPath(), 505, -1, -1); + } + return paramString; + paramContext = getDatabasesDir(paramContext); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.Context + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/ICancellationSignal.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/ICancellationSignal.java new file mode 100755 index 00000000000..65d731a2f77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/ICancellationSignal.java @@ -0,0 +1,103 @@ +package com.tencent.kingkong.support; + +import android.os.Binder; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.RemoteException; + +public abstract interface ICancellationSignal + extends IInterface +{ + public abstract void cancel() + throws RemoteException; + + public static abstract class Stub + extends Binder + implements ICancellationSignal + { + private static final String DESCRIPTOR = "com.tencent.kingkong.support.ICancellationSignal"; + static final int TRANSACTION_cancel = 1; + + public Stub() + { + attachInterface(this, "com.tencent.kingkong.support.ICancellationSignal"); + } + + public static ICancellationSignal asInterface(IBinder paramIBinder) + { + if (paramIBinder == null) { + return null; + } + IInterface localIInterface = paramIBinder.queryLocalInterface("com.tencent.kingkong.support.ICancellationSignal"); + if ((localIInterface != null) && ((localIInterface instanceof ICancellationSignal))) { + return (ICancellationSignal)localIInterface; + } + return new Proxy(paramIBinder); + } + + public IBinder asBinder() + { + return this; + } + + public boolean onTransact(int paramInt1, Parcel paramParcel1, Parcel paramParcel2, int paramInt2) + throws RemoteException + { + switch (paramInt1) + { + default: + return super.onTransact(paramInt1, paramParcel1, paramParcel2, paramInt2); + case 1598968902: + paramParcel2.writeString("com.tencent.kingkong.support.ICancellationSignal"); + return true; + } + paramParcel1.enforceInterface("com.tencent.kingkong.support.ICancellationSignal"); + cancel(); + return true; + } + + private static class Proxy + implements ICancellationSignal + { + private IBinder mRemote; + + Proxy(IBinder paramIBinder) + { + this.mRemote = paramIBinder; + } + + public IBinder asBinder() + { + return this.mRemote; + } + + public void cancel() + throws RemoteException + { + Parcel localParcel = Parcel.obtain(); + try + { + localParcel.writeInterfaceToken("com.tencent.kingkong.support.ICancellationSignal"); + this.mRemote.transact(1, localParcel, null, 1); + return; + } + finally + { + localParcel.recycle(); + } + } + + public String getInterfaceDescriptor() + { + return "com.tencent.kingkong.support.ICancellationSignal"; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.ICancellationSignal + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/LruCache.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/LruCache.java new file mode 100755 index 00000000000..8f189091327 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/LruCache.java @@ -0,0 +1,402 @@ +package com.tencent.kingkong.support; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class LruCache +{ + private int createCount; + private int evictionCount; + private int hitCount; + private final LinkedHashMap map; + private int maxSize; + private int missCount; + private int putCount; + private int size; + + public LruCache(int paramInt) + { + if (paramInt <= 0) { + throw new IllegalArgumentException("maxSize <= 0"); + } + this.maxSize = paramInt; + this.map = new LinkedHashMap(0, 0.75F, true); + } + + private int safeSizeOf(K paramK, V paramV) + { + int i = sizeOf(paramK, paramV); + if (i < 0) { + throw new IllegalStateException("Negative size: " + paramK + "=" + paramV); + } + return i; + } + + protected V create(K paramK) + { + return null; + } + + public final int createCount() + { + try + { + int i = this.createCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + protected void entryRemoved(boolean paramBoolean, K paramK, V paramV1, V paramV2) {} + + public final void evictAll() + { + trimToSize(-1); + } + + public final int evictionCount() + { + try + { + int i = this.evictionCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V get(K paramK) + { + if (paramK == null) { + throw new NullPointerException("key == null"); + } + Object localObject1; + try + { + localObject1 = this.map.get(paramK); + if (localObject1 != null) + { + this.hitCount += 1; + return localObject1; + } + this.missCount += 1; + localObject1 = create(paramK); + if (localObject1 == null) { + return null; + } + } + finally {} + try + { + this.createCount += 1; + Object localObject2 = this.map.put(paramK, localObject1); + if (localObject2 != null) { + this.map.put(paramK, localObject2); + } + for (;;) + { + if (localObject2 == null) { + break; + } + entryRemoved(false, paramK, localObject1, localObject2); + return localObject2; + this.size += safeSizeOf(paramK, localObject1); + } + trimToSize(this.maxSize); + } + finally {} + return localObject1; + } + + public final int hitCount() + { + try + { + int i = this.hitCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int maxSize() + { + try + { + int i = this.maxSize; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final int missCount() + { + try + { + int i = this.missCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V put(K paramK, V paramV) + { + if ((paramK == null) || (paramV == null)) { + throw new NullPointerException("key == null || value == null"); + } + try + { + this.putCount += 1; + this.size += safeSizeOf(paramK, paramV); + Object localObject = this.map.put(paramK, paramV); + if (localObject != null) { + this.size -= safeSizeOf(paramK, localObject); + } + if (localObject != null) { + entryRemoved(false, paramK, localObject, paramV); + } + trimToSize(this.maxSize); + return localObject; + } + finally {} + } + + public final int putCount() + { + try + { + int i = this.putCount; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final V remove(K paramK) + { + if (paramK == null) { + throw new NullPointerException("key == null"); + } + try + { + Object localObject = this.map.remove(paramK); + if (localObject != null) { + this.size -= safeSizeOf(paramK, localObject); + } + if (localObject != null) { + entryRemoved(false, paramK, localObject, null); + } + return localObject; + } + finally {} + } + + public void resize(int paramInt) + { + if (paramInt <= 0) { + throw new IllegalArgumentException("maxSize <= 0"); + } + try + { + this.maxSize = paramInt; + trimToSize(paramInt); + return; + } + finally {} + } + + public final int size() + { + try + { + int i = this.size; + return i; + } + finally + { + localObject = finally; + throw localObject; + } + } + + protected int sizeOf(K paramK, V paramV) + { + return 1; + } + + public final Map snapshot() + { + try + { + LinkedHashMap localLinkedHashMap = new LinkedHashMap(this.map); + return localLinkedHashMap; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final String toString() + { + int i = 0; + try + { + int j = this.hitCount + this.missCount; + if (j != 0) { + i = this.hitCount * 100 / j; + } + String str = String.format("LruCache[maxSize=%d,hits=%d,misses=%d,hitRate=%d%%]", new Object[] { Integer.valueOf(this.maxSize), Integer.valueOf(this.hitCount), Integer.valueOf(this.missCount), Integer.valueOf(i) }); + return str; + } + finally {} + } + + /* Error */ + public void trimToSize(int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 104 com/tencent/kingkong/support/LruCache:size I + // 6: iflt +20 -> 26 + // 9: aload_0 + // 10: getfield 38 com/tencent/kingkong/support/LruCache:map Ljava/util/LinkedHashMap; + // 13: invokevirtual 139 java/util/LinkedHashMap:isEmpty ()Z + // 16: ifeq +48 -> 64 + // 19: aload_0 + // 20: getfield 104 com/tencent/kingkong/support/LruCache:size I + // 23: ifeq +41 -> 64 + // 26: new 46 java/lang/IllegalStateException + // 29: dup + // 30: new 48 java/lang/StringBuilder + // 33: dup + // 34: invokespecial 49 java/lang/StringBuilder: ()V + // 37: aload_0 + // 38: invokevirtual 143 java/lang/Object:getClass ()Ljava/lang/Class; + // 41: invokevirtual 148 java/lang/Class:getName ()Ljava/lang/String; + // 44: invokevirtual 55 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 47: ldc 150 + // 49: invokevirtual 55 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 52: invokevirtual 64 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 55: invokespecial 65 java/lang/IllegalStateException: (Ljava/lang/String;)V + // 58: athrow + // 59: astore_2 + // 60: aload_0 + // 61: monitorexit + // 62: aload_2 + // 63: athrow + // 64: aload_0 + // 65: getfield 104 com/tencent/kingkong/support/LruCache:size I + // 68: iload_1 + // 69: if_icmple +13 -> 82 + // 72: aload_0 + // 73: getfield 38 com/tencent/kingkong/support/LruCache:map Ljava/util/LinkedHashMap; + // 76: invokevirtual 139 java/util/LinkedHashMap:isEmpty ()Z + // 79: ifeq +6 -> 85 + // 82: aload_0 + // 83: monitorexit + // 84: return + // 85: aconst_null + // 86: astore_2 + // 87: aload_0 + // 88: getfield 38 com/tencent/kingkong/support/LruCache:map Ljava/util/LinkedHashMap; + // 91: invokevirtual 154 java/util/LinkedHashMap:entrySet ()Ljava/util/Set; + // 94: invokeinterface 160 1 0 + // 99: invokeinterface 165 1 0 + // 104: ifeq +24 -> 128 + // 107: aload_0 + // 108: getfield 38 com/tencent/kingkong/support/LruCache:map Ljava/util/LinkedHashMap; + // 111: invokevirtual 154 java/util/LinkedHashMap:entrySet ()Ljava/util/Set; + // 114: invokeinterface 160 1 0 + // 119: invokeinterface 169 1 0 + // 124: checkcast 171 java/util/Map$Entry + // 127: astore_2 + // 128: aload_2 + // 129: ifnonnull +6 -> 135 + // 132: aload_0 + // 133: monitorexit + // 134: return + // 135: aload_2 + // 136: invokeinterface 174 1 0 + // 141: astore_3 + // 142: aload_2 + // 143: invokeinterface 177 1 0 + // 148: astore_2 + // 149: aload_0 + // 150: getfield 38 com/tencent/kingkong/support/LruCache:map Ljava/util/LinkedHashMap; + // 153: aload_3 + // 154: invokevirtual 114 java/util/LinkedHashMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 157: pop + // 158: aload_0 + // 159: aload_0 + // 160: getfield 104 com/tencent/kingkong/support/LruCache:size I + // 163: aload_0 + // 164: aload_3 + // 165: aload_2 + // 166: invokespecial 106 com/tencent/kingkong/support/LruCache:safeSizeOf (Ljava/lang/Object;Ljava/lang/Object;)I + // 169: isub + // 170: putfield 104 com/tencent/kingkong/support/LruCache:size I + // 173: aload_0 + // 174: aload_0 + // 175: getfield 82 com/tencent/kingkong/support/LruCache:evictionCount I + // 178: iconst_1 + // 179: iadd + // 180: putfield 82 com/tencent/kingkong/support/LruCache:evictionCount I + // 183: aload_0 + // 184: monitorexit + // 185: aload_0 + // 186: iconst_1 + // 187: aload_3 + // 188: aload_2 + // 189: aconst_null + // 190: invokevirtual 102 com/tencent/kingkong/support/LruCache:entryRemoved (ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V + // 193: goto -193 -> 0 + // Local variable table: + // start length slot name signature + // 0 196 0 this LruCache + // 0 196 1 paramInt int + // 59 4 2 localObject1 Object + // 86 103 2 localObject2 Object + // 141 47 3 localObject3 Object + // Exception table: + // from to target type + // 2 26 59 finally + // 26 59 59 finally + // 60 62 59 finally + // 64 82 59 finally + // 82 84 59 finally + // 87 128 59 finally + // 132 134 59 finally + // 135 185 59 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.LruCache + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/OperationCanceledException.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/OperationCanceledException.java new file mode 100755 index 00000000000..6ac95d9842f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/OperationCanceledException.java @@ -0,0 +1,18 @@ +package com.tencent.kingkong.support; + +public class OperationCanceledException + extends RuntimeException +{ + public OperationCanceledException() + { + this(null); + } + + public OperationCanceledException(String paramString) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.OperationCanceledException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/support/PrefixPrinter.java b/com.tencent.token/classes.jar/com/tencent/kingkong/support/PrefixPrinter.java new file mode 100755 index 00000000000..579c83e62f1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/support/PrefixPrinter.java @@ -0,0 +1,35 @@ +package com.tencent.kingkong.support; + +import android.util.Printer; + +public class PrefixPrinter + implements Printer +{ + private final String mPrefix; + private final Printer mPrinter; + + private PrefixPrinter(Printer paramPrinter, String paramString) + { + this.mPrinter = paramPrinter; + this.mPrefix = paramString; + } + + public static Printer create(Printer paramPrinter, String paramString) + { + if ((paramString == null) || (paramString.equals(""))) { + return paramPrinter; + } + return new PrefixPrinter(paramPrinter, paramString); + } + + public void println(String paramString) + { + this.mPrinter.println(this.mPrefix + paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.support.PrefixPrinter + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/ClassUtils.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/ClassUtils.java new file mode 100755 index 00000000000..a0ff472f314 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/ClassUtils.java @@ -0,0 +1,444 @@ +package com.tencent.kingkong.xposed; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ClassUtils +{ + public static final String INNER_CLASS_SEPARATOR; + public static final char INNER_CLASS_SEPARATOR_CHAR = '$'; + public static final String PACKAGE_SEPARATOR = String.valueOf('.'); + public static final char PACKAGE_SEPARATOR_CHAR = '.'; + public static final String STRING_EMPTY = ""; + private static final Map abbreviationMap; + private static final Map, Class> primitiveWrapperMap; + private static final Map reverseAbbreviationMap; + private static final Map, Class> wrapperPrimitiveMap; + + static + { + INNER_CLASS_SEPARATOR = String.valueOf('$'); + primitiveWrapperMap = new HashMap(); + primitiveWrapperMap.put(Boolean.TYPE, Boolean.class); + primitiveWrapperMap.put(Byte.TYPE, Byte.class); + primitiveWrapperMap.put(Character.TYPE, Character.class); + primitiveWrapperMap.put(Short.TYPE, Short.class); + primitiveWrapperMap.put(Integer.TYPE, Integer.class); + primitiveWrapperMap.put(Long.TYPE, Long.class); + primitiveWrapperMap.put(Double.TYPE, Double.class); + primitiveWrapperMap.put(Float.TYPE, Float.class); + primitiveWrapperMap.put(Void.TYPE, Void.TYPE); + wrapperPrimitiveMap = new HashMap(); + Iterator localIterator = primitiveWrapperMap.keySet().iterator(); + for (;;) + { + if (!localIterator.hasNext()) + { + abbreviationMap = new HashMap(); + reverseAbbreviationMap = new HashMap(); + addAbbreviation("int", "I"); + addAbbreviation("boolean", "Z"); + addAbbreviation("float", "F"); + addAbbreviation("long", "J"); + addAbbreviation("short", "S"); + addAbbreviation("byte", "B"); + addAbbreviation("double", "D"); + addAbbreviation("char", "C"); + return; + } + Class localClass1 = (Class)localIterator.next(); + Class localClass2 = (Class)primitiveWrapperMap.get(localClass1); + if (!localClass1.equals(localClass2)) { + wrapperPrimitiveMap.put(localClass2, localClass1); + } + } + } + + private static void addAbbreviation(String paramString1, String paramString2) + { + abbreviationMap.put(paramString1, paramString2); + reverseAbbreviationMap.put(paramString2, paramString1); + } + + public static List> convertClassNamesToClasses(List paramList) + { + if (paramList == null) + { + paramList = null; + return paramList; + } + ArrayList localArrayList = new ArrayList(paramList.size()); + Iterator localIterator = paramList.iterator(); + for (;;) + { + paramList = localArrayList; + if (!localIterator.hasNext()) { + break; + } + paramList = (String)localIterator.next(); + try + { + localArrayList.add(Class.forName(paramList)); + } + catch (Exception paramList) + { + localArrayList.add(null); + } + } + } + + public static List convertClassesToClassNames(List> paramList) + { + if (paramList == null) + { + paramList = null; + return paramList; + } + ArrayList localArrayList = new ArrayList(paramList.size()); + Iterator localIterator = paramList.iterator(); + for (;;) + { + paramList = localArrayList; + if (!localIterator.hasNext()) { + break; + } + paramList = (Class)localIterator.next(); + if (paramList == null) { + localArrayList.add(null); + } else { + localArrayList.add(paramList.getName()); + } + } + } + + public static String deleteWhitespace(String paramString) + { + if (isEmpty(paramString)) {} + int m; + char[] arrayOfChar; + int j; + int i; + do + { + return paramString; + m = paramString.length(); + arrayOfChar = new char[m]; + j = 0; + i = 0; + if (j < m) { + break; + } + } while (i == m); + return new String(arrayOfChar, 0, i); + if (!Character.isWhitespace(paramString.charAt(j))) + { + int k = i + 1; + arrayOfChar[i] = paramString.charAt(j); + i = k; + } + for (;;) + { + j += 1; + break; + } + } + + public static List> getAllInterfaces(Class paramClass) + { + if (paramClass == null) { + return null; + } + LinkedHashSet localLinkedHashSet = new LinkedHashSet(); + getAllInterfaces(paramClass, localLinkedHashSet); + return new ArrayList(localLinkedHashSet); + } + + private static void getAllInterfaces(Class paramClass, HashSet> paramHashSet) + { + if (paramClass == null) { + return; + } + Class[] arrayOfClass = paramClass.getInterfaces(); + int j = arrayOfClass.length; + int i = 0; + for (;;) + { + if (i >= j) + { + paramClass = paramClass.getSuperclass(); + break; + } + Class localClass = arrayOfClass[i]; + if (paramHashSet.add(localClass)) { + getAllInterfaces(localClass, paramHashSet); + } + i += 1; + } + } + + public static List> getAllSuperclasses(Class paramClass) + { + if (paramClass == null) + { + paramClass = null; + return paramClass; + } + ArrayList localArrayList = new ArrayList(); + for (Class localClass = paramClass.getSuperclass();; localClass = localClass.getSuperclass()) + { + paramClass = localArrayList; + if (localClass == null) { + break; + } + localArrayList.add(localClass); + } + } + + public static Class getClass(ClassLoader paramClassLoader, String paramString) + throws ClassNotFoundException + { + return getClass(paramClassLoader, paramString, true); + } + + public static Class getClass(ClassLoader paramClassLoader, String paramString, boolean paramBoolean) + throws ClassNotFoundException + { + try + { + if (abbreviationMap.containsKey(paramString)) { + return Class.forName("[" + (String)abbreviationMap.get(paramString), paramBoolean, paramClassLoader).getComponentType(); + } + Class localClass = Class.forName(toCanonicalName(paramString), paramBoolean, paramClassLoader); + return localClass; + } + catch (ClassNotFoundException localClassNotFoundException) + { + int i = paramString.lastIndexOf('.'); + if (i != -1) { + try + { + paramClassLoader = getClass(paramClassLoader, paramString.substring(0, i) + '$' + paramString.substring(i + 1), paramBoolean); + return paramClassLoader; + } + catch (ClassNotFoundException paramClassLoader) {} + } + throw localClassNotFoundException; + } + } + + public static Class getClass(String paramString) + throws ClassNotFoundException + { + return getClass(paramString, true); + } + + public static Class getClass(String paramString, boolean paramBoolean) + throws ClassNotFoundException + { + ClassLoader localClassLoader = Thread.currentThread().getContextClassLoader(); + if (localClassLoader == null) { + localClassLoader = ClassUtils.class.getClassLoader(); + } + for (;;) + { + return getClass(localClassLoader, paramString, paramBoolean); + } + } + + public static String getPackageName(Class paramClass) + { + if (paramClass == null) { + return ""; + } + return getPackageName(paramClass.getName()); + } + + public static String getPackageName(Object paramObject, String paramString) + { + if (paramObject == null) { + return paramString; + } + return getPackageName(paramObject.getClass()); + } + + public static String getPackageName(String paramString) + { + String str; + if (paramString != null) + { + str = paramString; + if (paramString.length() != 0) {} + } + else + { + return ""; + } + while (str.charAt(0) == '[') { + str = str.substring(1); + } + paramString = str; + if (str.charAt(0) == 'L') + { + paramString = str; + if (str.charAt(str.length() - 1) == ';') { + paramString = str.substring(1); + } + } + int i = paramString.lastIndexOf('.'); + if (i == -1) { + return ""; + } + return paramString.substring(0, i); + } + + public static String getShortClassName(Class paramClass) + { + if (paramClass == null) { + return ""; + } + return getShortClassName(paramClass.getName()); + } + + public static String getShortClassName(Object paramObject, String paramString) + { + if (paramObject == null) { + return paramString; + } + return getShortClassName(paramObject.getClass()); + } + + public static String getShortClassName(String paramString) + { + int i = 0; + if (paramString == null) { + return ""; + } + if (paramString.length() == 0) { + return ""; + } + StringBuilder localStringBuilder = new StringBuilder(); + String str = paramString; + if (paramString.startsWith("[")) + { + if (paramString.charAt(0) == '[') { + break label181; + } + str = paramString; + if (paramString.charAt(0) == 'L') + { + str = paramString; + if (paramString.charAt(paramString.length() - 1) == ';') { + str = paramString.substring(1, paramString.length() - 1); + } + } + } + paramString = str; + if (reverseAbbreviationMap.containsKey(str)) { + paramString = (String)reverseAbbreviationMap.get(str); + } + int j = paramString.lastIndexOf('.'); + if (j == -1) {} + for (;;) + { + i = paramString.indexOf('$', i); + str = paramString.substring(j + 1); + paramString = str; + if (i != -1) { + paramString = str.replace('$', '.'); + } + return paramString + localStringBuilder; + label181: + paramString = paramString.substring(1); + localStringBuilder.append("[]"); + break; + i = j + 1; + } + } + + public static String getSimpleName(Class paramClass) + { + if (paramClass == null) { + return ""; + } + return paramClass.getSimpleName(); + } + + public static String getSimpleName(Object paramObject, String paramString) + { + if (paramObject == null) { + return paramString; + } + return getSimpleName(paramObject.getClass()); + } + + public static boolean isEmpty(CharSequence paramCharSequence) + { + return (paramCharSequence == null) || (paramCharSequence.length() == 0); + } + + private static String toCanonicalName(String paramString) + { + paramString = deleteWhitespace(paramString); + if (paramString == null) { + throw new NullPointerException("className must not be null."); + } + Object localObject = paramString; + if (paramString.endsWith("[]")) + { + localObject = new StringBuilder(); + if (paramString.endsWith("[]")) { + break label80; + } + String str = (String)abbreviationMap.get(paramString); + if (str == null) { + break label102; + } + ((StringBuilder)localObject).append(str); + } + for (;;) + { + localObject = ((StringBuilder)localObject).toString(); + return localObject; + label80: + paramString = paramString.substring(0, paramString.length() - 2); + ((StringBuilder)localObject).append("["); + break; + label102: + ((StringBuilder)localObject).append("L").append(paramString).append(";"); + } + } + + public static Class[] toClass(Object... paramVarArgs) + { + if (paramVarArgs == null) { + return null; + } + if (paramVarArgs.length == 0) { + return new Class[0]; + } + Class[] arrayOfClass = new Class[paramVarArgs.length]; + int i = 0; + if (i >= paramVarArgs.length) { + return arrayOfClass; + } + if (paramVarArgs[i] == null) {} + for (Class localClass = null;; localClass = paramVarArgs[i].getClass()) + { + arrayOfClass[i] = localClass; + i += 1; + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.ClassUtils + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/DvmPatchInterface.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/DvmPatchInterface.java new file mode 100755 index 00000000000..907dd6658e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/DvmPatchInterface.java @@ -0,0 +1,38 @@ +package com.tencent.kingkong.xposed; + +import android.content.Context; +import android.text.TextUtils; +import com.tencent.kingkong.Common; + +public class DvmPatchInterface +{ + protected int index = 0; + protected String patchName = ""; + protected String patchType = ""; + protected String patchVersion = ""; + + public DvmPatchInterface(int paramInt, String paramString1, String paramString2, String paramString3) + { + this.index = paramInt; + this.patchName = paramString1; + this.patchType = paramString2; + this.patchVersion = paramString3; + } + + protected void onLoad() {} + + protected void onLoad(Context paramContext) {} + + protected void report(int paramInt, String paramString1, String paramString2, String paramString3) + { + if ((!TextUtils.isEmpty(paramString1)) && (!TextUtils.isEmpty(paramString2)) && (!TextUtils.isEmpty(paramString3))) { + Common.reportDoPatch(paramInt, paramString1, paramString2, paramString3, ""); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.DvmPatchInterface + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/IXUnhook.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/IXUnhook.java new file mode 100755 index 00000000000..7a53cbccf7c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/IXUnhook.java @@ -0,0 +1,12 @@ +package com.tencent.kingkong.xposed; + +public abstract interface IXUnhook +{ + public abstract void unhook(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.IXUnhook + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodHook.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodHook.java new file mode 100755 index 00000000000..fe611f17209 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodHook.java @@ -0,0 +1,114 @@ +package com.tencent.kingkong.xposed; + +import java.lang.reflect.Member; + +public abstract class XC_MethodHook + extends XCallback +{ + public XC_MethodHook() {} + + public XC_MethodHook(int paramInt) + { + super(paramInt); + } + + protected void afterHookedMethod(MethodHookParam paramMethodHookParam) + throws Throwable + {} + + protected void beforeHookedMethod(MethodHookParam paramMethodHookParam) + throws Throwable + {} + + public static class MethodHookParam + extends XCallback.Param + { + public Object[] args; + public Member method; + private Object result = null; + boolean returnEarly = false; + public Object thisObject; + private Throwable throwable = null; + + public Object getResult() + { + return this.result; + } + + public Object getResultOrThrowable() + throws Throwable + { + if (this.throwable != null) { + throw this.throwable; + } + return this.result; + } + + public Throwable getThrowable() + { + return this.throwable; + } + + public boolean hasThrowable() + { + return this.throwable != null; + } + + public void setResult(Object paramObject) + { + this.result = paramObject; + this.throwable = null; + this.returnEarly = true; + } + + public void setThrowable(Throwable paramThrowable) + { + this.throwable = paramThrowable; + this.result = null; + this.returnEarly = true; + } + } + + public class Unhook + implements IXUnhook + { + private final Member hookMethod; + + public Unhook(Member paramMember) + { + this.hookMethod = paramMember; + } + + public XC_MethodHook getCallback() + { + return XC_MethodHook.this; + } + + public Member getHookedMethod() + { + return this.hookMethod; + } + + public void unhook() + { + XposedBridge.unhookMethod(this.hookMethod, XC_MethodHook.this); + } + } + + public abstract class XC_MethodKeepHook + extends XC_MethodHook + { + public XC_MethodKeepHook() {} + + public XC_MethodKeepHook(int paramInt) + { + super(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.XC_MethodHook + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodReplacement.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodReplacement.java new file mode 100755 index 00000000000..c824c74cc1e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XC_MethodReplacement.java @@ -0,0 +1,76 @@ +package com.tencent.kingkong.xposed; + +public abstract class XC_MethodReplacement + extends XC_MethodHook +{ + public static final XC_MethodReplacement DO_NOTHING = new XC_MethodReplacement(20000) + { + protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam paramAnonymousMethodHookParam) + throws Throwable + { + return null; + } + }; + + public XC_MethodReplacement() {} + + public XC_MethodReplacement(int paramInt) + { + super(paramInt); + } + + public static XC_MethodReplacement returnConstant(int paramInt, final Object paramObject) + { + new XC_MethodReplacement(paramInt) + { + protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam paramAnonymousMethodHookParam) + throws Throwable + { + return paramObject; + } + }; + } + + public static XC_MethodReplacement returnConstant(Object paramObject) + { + return returnConstant(50, paramObject); + } + + protected final void afterHookedMethod(XC_MethodHook.MethodHookParam paramMethodHookParam) + throws Throwable + {} + + protected final void beforeHookedMethod(XC_MethodHook.MethodHookParam paramMethodHookParam) + throws Throwable + { + try + { + paramMethodHookParam.setResult(replaceHookedMethod(paramMethodHookParam)); + return; + } + catch (Throwable localThrowable) + { + paramMethodHookParam.setThrowable(localThrowable); + } + } + + protected abstract Object replaceHookedMethod(XC_MethodHook.MethodHookParam paramMethodHookParam) + throws Throwable; + + public abstract class XC_MethodKeepReplacement + extends XC_MethodReplacement + { + public XC_MethodKeepReplacement() {} + + public XC_MethodKeepReplacement(int paramInt) + { + super(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.XC_MethodReplacement + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XCallback.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XCallback.java new file mode 100755 index 00000000000..9b5a6042b91 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XCallback.java @@ -0,0 +1,128 @@ +package com.tencent.kingkong.xposed; + +import android.os.Bundle; +import java.io.Serializable; + +public abstract class XCallback + implements Comparable +{ + public static final int PRIORITY_DEFAULT = 50; + public static final int PRIORITY_HIGHEST = 10000; + public static final int PRIORITY_LOWEST = -10000; + public final int priority; + + public XCallback() + { + this.priority = 50; + } + + public XCallback(int paramInt) + { + this.priority = paramInt; + } + + public static final void callAll(Param paramParam) + { + if (paramParam.callbacks == null) { + throw new IllegalStateException("This object was not created for use with callAll"); + } + int i = 0; + for (;;) + { + if (i >= paramParam.callbacks.length) { + return; + } + try + { + ((XCallback)paramParam.callbacks[i]).call(paramParam); + i += 1; + } + catch (Throwable localThrowable) + { + for (;;) + { + XposedBridge.log(localThrowable); + } + } + } + } + + protected void call(Param paramParam) + throws Throwable + {} + + public int compareTo(XCallback paramXCallback) + { + if (this == paramXCallback) { + return 0; + } + if (paramXCallback.priority != this.priority) { + return paramXCallback.priority - this.priority; + } + if (System.identityHashCode(this) < System.identityHashCode(paramXCallback)) { + return -1; + } + return 1; + } + + public static class Param + { + public final Object[] callbacks; + private Bundle extra; + + protected Param() + { + this.callbacks = null; + } + + protected Param(XposedBridge.CopyOnWriteSortedSet paramCopyOnWriteSortedSet) + { + this.callbacks = paramCopyOnWriteSortedSet.getSnapshot(); + } + + public Bundle getExtra() + { + try + { + if (this.extra == null) { + this.extra = new Bundle(); + } + Bundle localBundle = this.extra; + return localBundle; + } + finally {} + } + + public Object getObjectExtra(String paramString) + { + paramString = getExtra().getSerializable(paramString); + if ((paramString instanceof SerializeWrapper)) { + return ((SerializeWrapper)paramString).object; + } + return null; + } + + public void setObjectExtra(String paramString, Object paramObject) + { + getExtra().putSerializable(paramString, new SerializeWrapper(paramObject)); + } + + private static class SerializeWrapper + implements Serializable + { + private static final long serialVersionUID = 1L; + private Object object; + + public SerializeWrapper(Object paramObject) + { + this.object = paramObject; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.XCallback + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedBridge.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedBridge.java new file mode 100755 index 00000000000..dff52de4615 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedBridge.java @@ -0,0 +1,784 @@ +package com.tencent.kingkong.xposed; + +import android.content.Context; +import android.os.Build.VERSION; +import android.text.TextUtils; +import android.util.Log; +import com.tencent.kingkong.Common; +import com.tencent.kingkong.DvmPatch; +import dalvik.system.DexClassLoader; +import java.io.File; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Member; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +public final class XposedBridge +{ + public static final ClassLoader BOOTCLASSLOADER; + private static final Object[] EMPTY_ARRAY; + private static final String LOG_TAG = "KingKongXposedBridge"; + private static final int RUNTIME_ART = 2; + private static final int RUNTIME_DALVIK = 1; + private static final int RUNTIME_UNKNOW = 0; + private static final ArrayList allUnhookCallbacks = new ArrayList(); + private static Map builtInMap = new HashMap() {}; + private static DexClassLoader cl; + private static Class dexClass; + private static boolean disableHooks; + private static int runtime = 0; + private static final Map> sHookedMethodCallbacks; + + static + { + cl = null; + dexClass = null; + disableHooks = false; + EMPTY_ARRAY = new Object[0]; + BOOTCLASSLOADER = ClassLoader.getSystemClassLoader(); + sHookedMethodCallbacks = new HashMap(); + } + + public static int doPatch(Context paramContext, String paramString1, String paramString2, String paramString3, String paramString4, String paramString5) + { + if (!DvmPatch.isDeviceSupportDVM()) { + return 12; + } + if (paramContext == null) + { + Log.d("KingKongXposedBridge", "DvmPatch doPath context is null"); + return 1; + } + if ((TextUtils.isEmpty(paramString1)) || (TextUtils.isEmpty(paramString2)) || (TextUtils.isEmpty(paramString3)) || (TextUtils.isEmpty(paramString4)) || (TextUtils.isEmpty(paramString5))) + { + Log.d("KingKongXposedBridge", "DvmPatch doPath value is empty"); + return 2; + } + Log.d("KingKongXposedBridge", "doPatch"); + Object localObject; + for (;;) + { + try + { + localObject = Common.GetPatchFolder(); + if (Build.VERSION.SDK_INT == 23) + { + System.load(localObject + "/" + "libxposed_art60.so"); + if (initNative()) { + break; + } + Log.d("KingKongXposedBridge", "Xposed init native fail"); + return 4; + } + if (Build.VERSION.SDK_INT == 22) + { + System.load(localObject + "/" + "libxposed_art51.so"); + continue; + } + } + catch (Exception paramContext) + { + Log.d("KingKongXposedBridge", "Load library failed : " + paramContext); + return 3; + if (Build.VERSION.SDK_INT == 21) + { + System.load(localObject + "/" + "libxposed_art50.so"); + continue; + } + } + catch (Throwable paramContext) + { + Log.d("KingKongXposedBridge", "Load library failed : " + paramContext); + return 3; + } + if (Build.VERSION.SDK_INT >= 14) { + System.load(localObject + "/" + "libxposed_dalvik.so"); + } + } + try + { + localObject = new File(paramString1 + "/" + paramString2 + ".jar"); + paramString1 = new File(paramString1); + cl = new DexClassLoader(((File)localObject).getAbsolutePath(), paramString1.getAbsolutePath(), null, paramContext.getClassLoader()); + dexClass = cl.loadClass(paramString5); + paramContext = Integer.TYPE; + ((DvmPatchInterface)dexClass.getConstructor(new Class[] { paramContext, String.class, String.class, String.class }).newInstance(new Object[] { Integer.valueOf(0), paramString2, paramString3, paramString4 })).onLoad(); + return 0; + } + catch (Exception paramContext) + { + Log.d("KingKongXposedBridge", "Dex load fail"); + log(paramContext); + } + return 5; + } + + private static int extractIntPart(String paramString) + { + int j = 0; + int k = paramString.length(); + int i = 0; + for (;;) + { + if (i >= k) {} + int m; + do + { + return j; + m = paramString.charAt(i); + } while ((48 > m) || (m > 57)); + j = j * 10 + (m - 48); + i += 1; + } + } + + public static XC_MethodHook.Unhook findAndHookMethod(Class paramClass, String arg1, Object... paramVarArgs) + { + if ((paramVarArgs.length == 0) || (!(paramVarArgs[(paramVarArgs.length - 1)] instanceof XC_MethodHook))) { + throw new IllegalArgumentException("no callback defined"); + } + XC_MethodHook localXC_MethodHook = (XC_MethodHook)paramVarArgs[(paramVarArgs.length - 1)]; + paramClass = hookMethod(XposedHelpers.findMethodExact(paramClass, ???, paramVarArgs), localXC_MethodHook); + if ((!(localXC_MethodHook instanceof XC_MethodHook.XC_MethodKeepHook)) && (!(localXC_MethodHook instanceof XC_MethodReplacement.XC_MethodKeepReplacement))) { + synchronized (allUnhookCallbacks) + { + allUnhookCallbacks.add(paramClass); + return paramClass; + } + } + return paramClass; + } + + private static int getRuntime() + { + if (Build.VERSION.SDK_INT >= 21) {} + do + { + return 2; + if (Build.VERSION.SDK_INT < 20) { + break; + } + } while (System.getProperty("persist.sys.dalvik.vm.lib", "").contains("art")); + return 1; + return 1; + } + + /* Error */ + private static Object handleHookedMethod(Member paramMember, int paramInt, Object paramObject1, Object paramObject2, Object[] paramArrayOfObject) + throws Throwable + { + // Byte code: + // 0: aload_2 + // 1: checkcast 8 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo + // 4: astore 9 + // 6: getstatic 52 com/tencent/kingkong/xposed/XposedBridge:disableHooks Z + // 9: ifeq +30 -> 39 + // 12: aload_0 + // 13: iload_1 + // 14: aload 9 + // 16: getfield 280 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:parameterTypes [Ljava/lang/Class; + // 19: aload 9 + // 21: getfield 283 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:returnType Ljava/lang/Class; + // 24: aload_3 + // 25: aload 4 + // 27: invokestatic 287 com/tencent/kingkong/xposed/XposedBridge:invokeOriginalMethodNative (Ljava/lang/reflect/Member;I[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; + // 30: astore_0 + // 31: aload_0 + // 32: areturn + // 33: astore_0 + // 34: aload_0 + // 35: invokevirtual 291 java/lang/reflect/InvocationTargetException:getCause ()Ljava/lang/Throwable; + // 38: athrow + // 39: aload 9 + // 41: getfield 295 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:callbacks Lcom/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet; + // 44: invokevirtual 298 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:getSnapshot ()[Ljava/lang/Object; + // 47: astore_2 + // 48: aload_2 + // 49: arraylength + // 50: istore 7 + // 52: iload 7 + // 54: ifne +30 -> 84 + // 57: aload_0 + // 58: iload_1 + // 59: aload 9 + // 61: getfield 280 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:parameterTypes [Ljava/lang/Class; + // 64: aload 9 + // 66: getfield 283 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:returnType Ljava/lang/Class; + // 69: aload_3 + // 70: aload 4 + // 72: invokestatic 287 com/tencent/kingkong/xposed/XposedBridge:invokeOriginalMethodNative (Ljava/lang/reflect/Member;I[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; + // 75: astore_0 + // 76: aload_0 + // 77: areturn + // 78: astore_0 + // 79: aload_0 + // 80: invokevirtual 291 java/lang/reflect/InvocationTargetException:getCause ()Ljava/lang/Throwable; + // 83: athrow + // 84: new 300 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam + // 87: dup + // 88: invokespecial 301 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam: ()V + // 91: astore 8 + // 93: aload 8 + // 95: aload_0 + // 96: putfield 305 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:method Ljava/lang/reflect/Member; + // 99: aload 8 + // 101: aload_3 + // 102: putfield 309 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:thisObject Ljava/lang/Object; + // 105: aload 8 + // 107: aload 4 + // 109: putfield 312 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:args [Ljava/lang/Object; + // 112: iconst_0 + // 113: istore 5 + // 115: aload_2 + // 116: iload 5 + // 118: aaload + // 119: checkcast 233 com/tencent/kingkong/xposed/XC_MethodHook + // 122: aload 8 + // 124: invokevirtual 316 com/tencent/kingkong/xposed/XC_MethodHook:beforeHookedMethod (Lcom/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam;)V + // 127: aload 8 + // 129: getfield 319 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:returnEarly Z + // 132: ifeq +119 -> 251 + // 135: iload 5 + // 137: iconst_1 + // 138: iadd + // 139: istore 6 + // 141: aload 8 + // 143: getfield 319 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:returnEarly Z + // 146: ifne +33 -> 179 + // 149: aload 8 + // 151: aload_0 + // 152: iload_1 + // 153: aload 9 + // 155: getfield 280 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:parameterTypes [Ljava/lang/Class; + // 158: aload 9 + // 160: getfield 283 com/tencent/kingkong/xposed/XposedBridge$AdditionalHookInfo:returnType Ljava/lang/Class; + // 163: aload 8 + // 165: getfield 309 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:thisObject Ljava/lang/Object; + // 168: aload 8 + // 170: getfield 312 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:args [Ljava/lang/Object; + // 173: invokestatic 287 com/tencent/kingkong/xposed/XposedBridge:invokeOriginalMethodNative (Ljava/lang/reflect/Member;I[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; + // 176: invokevirtual 323 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:setResult (Ljava/lang/Object;)V + // 179: iload 6 + // 181: iconst_1 + // 182: isub + // 183: istore_1 + // 184: aload 8 + // 186: invokevirtual 327 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:getResult ()Ljava/lang/Object; + // 189: astore_0 + // 190: aload 8 + // 192: invokevirtual 330 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:getThrowable ()Ljava/lang/Throwable; + // 195: astore_3 + // 196: aload_2 + // 197: iload_1 + // 198: aaload + // 199: checkcast 233 com/tencent/kingkong/xposed/XC_MethodHook + // 202: aload 8 + // 204: invokevirtual 333 com/tencent/kingkong/xposed/XC_MethodHook:afterHookedMethod (Lcom/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam;)V + // 207: iload_1 + // 208: iconst_1 + // 209: isub + // 210: istore 5 + // 212: iload 5 + // 214: istore_1 + // 215: iload 5 + // 217: ifge -33 -> 184 + // 220: aload 8 + // 222: invokevirtual 336 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:hasThrowable ()Z + // 225: ifeq +88 -> 313 + // 228: aload 8 + // 230: invokevirtual 330 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:getThrowable ()Ljava/lang/Throwable; + // 233: athrow + // 234: astore_3 + // 235: aload_3 + // 236: invokestatic 219 com/tencent/kingkong/xposed/XposedBridge:log (Ljava/lang/Throwable;)V + // 239: aload 8 + // 241: aconst_null + // 242: invokevirtual 323 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:setResult (Ljava/lang/Object;)V + // 245: aload 8 + // 247: iconst_0 + // 248: putfield 319 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:returnEarly Z + // 251: iload 5 + // 253: iconst_1 + // 254: iadd + // 255: istore 6 + // 257: iload 6 + // 259: istore 5 + // 261: iload 6 + // 263: iload 7 + // 265: if_icmplt -150 -> 115 + // 268: goto -127 -> 141 + // 271: astore_0 + // 272: aload 8 + // 274: aload_0 + // 275: invokevirtual 291 java/lang/reflect/InvocationTargetException:getCause ()Ljava/lang/Throwable; + // 278: invokevirtual 339 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:setThrowable (Ljava/lang/Throwable;)V + // 281: goto -102 -> 179 + // 284: astore 4 + // 286: aload 4 + // 288: invokestatic 219 com/tencent/kingkong/xposed/XposedBridge:log (Ljava/lang/Throwable;)V + // 291: aload_3 + // 292: ifnonnull +12 -> 304 + // 295: aload 8 + // 297: aload_0 + // 298: invokevirtual 323 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:setResult (Ljava/lang/Object;)V + // 301: goto -94 -> 207 + // 304: aload 8 + // 306: aload_3 + // 307: invokevirtual 339 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:setThrowable (Ljava/lang/Throwable;)V + // 310: goto -103 -> 207 + // 313: aload 8 + // 315: invokevirtual 327 com/tencent/kingkong/xposed/XC_MethodHook$MethodHookParam:getResult ()Ljava/lang/Object; + // 318: areturn + // Local variable table: + // start length slot name signature + // 0 319 0 paramMember Member + // 0 319 1 paramInt int + // 0 319 2 paramObject1 Object + // 0 319 3 paramObject2 Object + // 0 319 4 paramArrayOfObject Object[] + // 113 147 5 i int + // 139 127 6 j int + // 50 216 7 k int + // 91 223 8 localMethodHookParam XC_MethodHook.MethodHookParam + // 4 155 9 localAdditionalHookInfo AdditionalHookInfo + // Exception table: + // from to target type + // 12 31 33 java/lang/reflect/InvocationTargetException + // 57 76 78 java/lang/reflect/InvocationTargetException + // 115 127 234 java/lang/Throwable + // 149 179 271 java/lang/reflect/InvocationTargetException + // 196 207 284 java/lang/Throwable + } + + public static Set hookAllConstructors(Class paramClass, XC_MethodHook paramXC_MethodHook) + { + HashSet localHashSet = new HashSet(); + paramClass = paramClass.getDeclaredConstructors(); + int j = paramClass.length; + int i = 0; + for (;;) + { + if (i >= j) { + return localHashSet; + } + localHashSet.add(hookMethod(paramClass[i], paramXC_MethodHook)); + i += 1; + } + } + + public static Set hookAllMethods(Class paramClass, String paramString, XC_MethodHook paramXC_MethodHook) + { + HashSet localHashSet = new HashSet(); + paramClass = paramClass.getDeclaredMethods(); + int j = paramClass.length; + int i = 0; + for (;;) + { + if (i >= j) { + return localHashSet; + } + Member localMember = paramClass[i]; + if (localMember.getName().equals(paramString)) { + localHashSet.add(hookMethod(localMember, paramXC_MethodHook)); + } + i += 1; + } + } + + public static XC_MethodHook.Unhook hookMethod(Member paramMember, XC_MethodHook paramXC_MethodHook) + { + if ((!(paramMember instanceof Method)) && (!(paramMember instanceof Constructor))) { + throw new IllegalArgumentException("Only methods and constructors can be hooked: " + paramMember.toString()); + } + int i = 0; + for (;;) + { + synchronized (sHookedMethodCallbacks) + { + localObject2 = (CopyOnWriteSortedSet)sHookedMethodCallbacks.get(paramMember); + Object localObject1 = localObject2; + if (localObject2 == null) + { + localObject1 = new CopyOnWriteSortedSet(); + sHookedMethodCallbacks.put(paramMember, localObject1); + i = 1; + } + ((CopyOnWriteSortedSet)localObject1).add(paramXC_MethodHook); + if (i != 0) + { + Class localClass = paramMember.getDeclaringClass(); + if (runtime == 0) { + runtime = getRuntime(); + } + if (runtime == 1) + { + i = XposedHelpers.getIntField(paramMember, "slot"); + if (!(paramMember instanceof Method)) { + break label214; + } + localObject2 = ((Method)paramMember).getParameterTypes(); + ??? = ((Method)paramMember).getReturnType(); + hookMethodNative(paramMember, localClass, i, new AdditionalHookInfo((CopyOnWriteSortedSet)localObject1, (Class[])localObject2, (Class)???, null)); + } + } + else + { + paramXC_MethodHook.getClass(); + return new XC_MethodHook.Unhook(paramXC_MethodHook, paramMember); + } + } + i = 0; + continue; + label214: + Object localObject2 = ((Constructor)paramMember).getParameterTypes(); + ??? = null; + } + } + + private static synchronized native void hookMethodNative(Member paramMember, Class paramClass, int paramInt, Object paramObject); + + private static native boolean initNative(); + + public static boolean initPatch() + { + return true; + } + + public static Object invokeOriginalMethod(Member paramMember, Object paramObject, Object[] paramArrayOfObject) + throws NullPointerException, IllegalAccessException, IllegalArgumentException, InvocationTargetException + { + Object[] arrayOfObject = paramArrayOfObject; + if (paramArrayOfObject == null) { + arrayOfObject = EMPTY_ARRAY; + } + if ((paramMember instanceof Method)) { + paramArrayOfObject = ((Method)paramMember).getParameterTypes(); + } + for (Class localClass = ((Method)paramMember).getReturnType();; localClass = null) + { + return invokeOriginalMethodNative(paramMember, 0, paramArrayOfObject, localClass, paramObject, arrayOfObject); + if (!(paramMember instanceof Constructor)) { + break; + } + paramArrayOfObject = ((Constructor)paramMember).getParameterTypes(); + } + throw new IllegalArgumentException("method must be of type Method or Constructor"); + } + + private static native Object invokeOriginalMethodNative(Member paramMember, int paramInt, Class[] paramArrayOfClass, Class paramClass, Object paramObject, Object[] paramArrayOfObject) + throws IllegalAccessException, IllegalArgumentException, InvocationTargetException; + + public static void log(String paramString) + { + try + { + Log.d("Xposed", paramString); + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public static void log(Throwable paramThrowable) + { + try + { + log(Log.getStackTraceString(paramThrowable)); + return; + } + finally + { + paramThrowable = finally; + throw paramThrowable; + } + } + + /* Error */ + public static void unhookAllMethods() + { + // Byte code: + // 0: getstatic 74 com/tencent/kingkong/xposed/XposedBridge:allUnhookCallbacks Ljava/util/ArrayList; + // 3: astore_1 + // 4: aload_1 + // 5: monitorenter + // 6: iconst_0 + // 7: istore_0 + // 8: iload_0 + // 9: getstatic 74 com/tencent/kingkong/xposed/XposedBridge:allUnhookCallbacks Ljava/util/ArrayList; + // 12: invokevirtual 441 java/util/ArrayList:size ()I + // 15: if_icmplt +12 -> 27 + // 18: getstatic 74 com/tencent/kingkong/xposed/XposedBridge:allUnhookCallbacks Ljava/util/ArrayList; + // 21: invokevirtual 444 java/util/ArrayList:clear ()V + // 24: aload_1 + // 25: monitorexit + // 26: return + // 27: getstatic 74 com/tencent/kingkong/xposed/XposedBridge:allUnhookCallbacks Ljava/util/ArrayList; + // 30: iload_0 + // 31: invokevirtual 447 java/util/ArrayList:get (I)Ljava/lang/Object; + // 34: checkcast 416 com/tencent/kingkong/xposed/XC_MethodHook$Unhook + // 37: invokevirtual 450 com/tencent/kingkong/xposed/XC_MethodHook$Unhook:unhook ()V + // 40: iload_0 + // 41: iconst_1 + // 42: iadd + // 43: istore_0 + // 44: goto -36 -> 8 + // 47: astore_2 + // 48: aload_1 + // 49: monitorexit + // 50: aload_2 + // 51: athrow + // Local variable table: + // start length slot name signature + // 7 37 0 i int + // 3 46 1 localArrayList ArrayList + // 47 4 2 localObject Object + // Exception table: + // from to target type + // 8 26 47 finally + // 27 40 47 finally + // 48 50 47 finally + } + + public static void unhookMethod(Member paramMember, XC_MethodHook paramXC_MethodHook) + { + synchronized (sHookedMethodCallbacks) + { + paramMember = (CopyOnWriteSortedSet)sHookedMethodCallbacks.get(paramMember); + if (paramMember == null) { + return; + } + paramMember.remove(paramXC_MethodHook); + return; + } + } + + private static class AdditionalHookInfo + { + final XposedBridge.CopyOnWriteSortedSet callbacks; + final Class[] parameterTypes; + final Class returnType; + String shorty; + + private AdditionalHookInfo(XposedBridge.CopyOnWriteSortedSet paramCopyOnWriteSortedSet, Class[] paramArrayOfClass, Class paramClass) + { + this.callbacks = paramCopyOnWriteSortedSet; + this.parameterTypes = paramArrayOfClass; + this.returnType = paramClass; + paramCopyOnWriteSortedSet = new StringBuilder(64); + paramCopyOnWriteSortedSet.append(Class2Shorty(paramClass)); + int j = paramArrayOfClass.length; + int i = 0; + for (;;) + { + if (i >= j) + { + this.shorty = paramCopyOnWriteSortedSet.toString(); + return; + } + paramCopyOnWriteSortedSet.append(Class2Shorty(paramArrayOfClass[i])); + i += 1; + } + } + + String Class2Shorty(Class paramClass) + { + if (paramClass.isPrimitive()) { + return (String)XposedBridge.builtInMap.get(paramClass); + } + return "L"; + } + } + + public static class CopyOnWriteSortedSet + { + private volatile transient Object[] elements = XposedBridge.EMPTY_ARRAY; + + private int indexOf(Object paramObject) + { + int i = 0; + for (;;) + { + int j; + if (i >= this.elements.length) { + j = -1; + } + do + { + return j; + j = i; + } while (paramObject.equals(this.elements[i])); + i += 1; + } + } + + /* Error */ + public boolean add(E paramE) + { + // Byte code: + // 0: iconst_0 + // 1: istore_3 + // 2: aload_0 + // 3: monitorenter + // 4: aload_0 + // 5: aload_1 + // 6: invokespecial 30 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:indexOf (Ljava/lang/Object;)I + // 9: istore_2 + // 10: iload_2 + // 11: iflt +7 -> 18 + // 14: aload_0 + // 15: monitorexit + // 16: iload_3 + // 17: ireturn + // 18: aload_0 + // 19: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 22: arraylength + // 23: iconst_1 + // 24: iadd + // 25: anewarray 5 java/lang/Object + // 28: astore 4 + // 30: aload_0 + // 31: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 34: iconst_0 + // 35: aload 4 + // 37: iconst_0 + // 38: aload_0 + // 39: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 42: arraylength + // 43: invokestatic 36 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 46: aload 4 + // 48: aload_0 + // 49: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 52: arraylength + // 53: aload_1 + // 54: aastore + // 55: aload 4 + // 57: invokestatic 42 java/util/Arrays:sort ([Ljava/lang/Object;)V + // 60: aload_0 + // 61: aload 4 + // 63: putfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 66: iconst_1 + // 67: istore_3 + // 68: goto -54 -> 14 + // 71: astore_1 + // 72: aload_0 + // 73: monitorexit + // 74: aload_1 + // 75: athrow + // Local variable table: + // start length slot name signature + // 0 76 0 this CopyOnWriteSortedSet + // 0 76 1 paramE E + // 9 2 2 i int + // 1 67 3 bool boolean + // 28 34 4 arrayOfObject Object[] + // Exception table: + // from to target type + // 4 10 71 finally + // 18 66 71 finally + } + + public void clear() + { + try + { + this.elements = XposedBridge.EMPTY_ARRAY; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public Object[] getSnapshot() + { + return this.elements; + } + + /* Error */ + public boolean remove(E paramE) + { + // Byte code: + // 0: iconst_0 + // 1: istore_3 + // 2: aload_0 + // 3: monitorenter + // 4: aload_0 + // 5: aload_1 + // 6: invokespecial 30 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:indexOf (Ljava/lang/Object;)I + // 9: istore_2 + // 10: iload_2 + // 11: iconst_m1 + // 12: if_icmpne +7 -> 19 + // 15: aload_0 + // 16: monitorexit + // 17: iload_3 + // 18: ireturn + // 19: aload_0 + // 20: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 23: arraylength + // 24: iconst_1 + // 25: isub + // 26: anewarray 5 java/lang/Object + // 29: astore_1 + // 30: aload_0 + // 31: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 34: iconst_0 + // 35: aload_1 + // 36: iconst_0 + // 37: iload_2 + // 38: invokestatic 36 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 41: aload_0 + // 42: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 45: iload_2 + // 46: iconst_1 + // 47: iadd + // 48: aload_1 + // 49: iload_2 + // 50: aload_0 + // 51: getfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 54: arraylength + // 55: iload_2 + // 56: isub + // 57: iconst_1 + // 58: isub + // 59: invokestatic 36 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 62: aload_0 + // 63: aload_1 + // 64: putfield 20 com/tencent/kingkong/xposed/XposedBridge$CopyOnWriteSortedSet:elements [Ljava/lang/Object; + // 67: iconst_1 + // 68: istore_3 + // 69: goto -54 -> 15 + // 72: astore_1 + // 73: aload_0 + // 74: monitorexit + // 75: aload_1 + // 76: athrow + // Local variable table: + // start length slot name signature + // 0 77 0 this CopyOnWriteSortedSet + // 0 77 1 paramE E + // 9 48 2 i int + // 1 68 3 bool boolean + // Exception table: + // from to target type + // 4 10 72 finally + // 19 67 72 finally + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.XposedBridge + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedHelpers.java b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedHelpers.java new file mode 100755 index 00000000000..8a89ae9a25d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/kingkong/xposed/XposedHelpers.java @@ -0,0 +1,1459 @@ +package com.tencent.kingkong.xposed; + +import android.content.res.AssetManager; +import android.content.res.Resources; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.WeakHashMap; + +public class XposedHelpers +{ + private static final String LOG_TAG = "KingKongXposedHelpers"; + private static final WeakHashMap> additionalFields = new WeakHashMap(); + private static final HashMap> constructorCache; + private static final HashMap fieldCache = new HashMap(); + private static final HashMap methodCache = new HashMap(); + + static + { + constructorCache = new HashMap(); + } + + public static byte[] assetAsByteArray(Resources paramResources, String paramString) + throws IOException + { + paramResources = paramResources.getAssets().open(paramString); + paramString = new ByteArrayOutputStream(); + byte[] arrayOfByte = new byte[1024]; + for (;;) + { + int i = paramResources.read(arrayOfByte); + if (i <= 0) + { + paramResources.close(); + return paramString.toByteArray(); + } + paramString.write(arrayOfByte, 0, i); + } + } + + public static Object callMethod(Object paramObject, String paramString, Class[] paramArrayOfClass, Object... paramVarArgs) + { + try + { + paramObject = findMethodBestMatch(paramObject.getClass(), paramString, paramArrayOfClass, paramVarArgs).invoke(paramObject, paramVarArgs); + return paramObject; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + catch (InvocationTargetException paramObject) + { + throw new InvocationTargetError(paramObject.getCause()); + } + } + + public static Object callMethod(Object paramObject, String paramString, Object... paramVarArgs) + { + try + { + paramObject = findMethodBestMatch(paramObject.getClass(), paramString, paramVarArgs).invoke(paramObject, paramVarArgs); + return paramObject; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + catch (InvocationTargetException paramObject) + { + throw new InvocationTargetError(paramObject.getCause()); + } + } + + public static Object callStaticMethod(Class paramClass, String paramString, Class[] paramArrayOfClass, Object... paramVarArgs) + { + try + { + paramClass = findMethodBestMatch(paramClass, paramString, paramArrayOfClass, paramVarArgs).invoke(null, paramVarArgs); + return paramClass; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + catch (InvocationTargetException paramClass) + { + throw new InvocationTargetError(paramClass.getCause()); + } + } + + public static Object callStaticMethod(Class paramClass, String paramString, Object... paramVarArgs) + { + try + { + paramClass = findMethodBestMatch(paramClass, paramString, paramVarArgs).invoke(null, paramVarArgs); + return paramClass; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + catch (InvocationTargetException paramClass) + { + throw new InvocationTargetError(paramClass.getCause()); + } + } + + public static XC_MethodHook.Unhook findAndHookMethod(Class paramClass, String paramString, Object... paramVarArgs) + { + return XposedBridge.findAndHookMethod(paramClass, paramString, paramVarArgs); + } + + public static Class findClass(String paramString, ClassLoader paramClassLoader) + { + ClassLoader localClassLoader = paramClassLoader; + if (paramClassLoader == null) { + localClassLoader = XposedBridge.BOOTCLASSLOADER; + } + try + { + paramString = ClassUtils.getClass(localClassLoader, paramString, false); + return paramString; + } + catch (ClassNotFoundException paramString) + { + throw new ClassNotFoundError(paramString); + } + } + + public static Constructor findConstructorBestMatch(Class paramClass, Class... paramVarArgs) + { + Object localObject = new StringBuilder(paramClass.getName()); + ((StringBuilder)localObject).append(getParametersString(paramVarArgs)); + ((StringBuilder)localObject).append("#bestmatch"); + localObject = ((StringBuilder)localObject).toString(); + if (constructorCache.containsKey(localObject)) + { + paramVarArgs = (Constructor)constructorCache.get(localObject); + paramClass = paramVarArgs; + if (paramVarArgs != null) { + break label95; + } + throw new NoSuchMethodError((String)localObject); + } + try + { + paramVarArgs = findConstructorExact(paramClass, paramVarArgs); + constructorCache.put(localObject, paramVarArgs); + paramClass = paramVarArgs; + label95: + return paramClass; + } + catch (NoSuchMethodError paramVarArgs) + { + paramVarArgs = paramClass.getDeclaredConstructors(); + int j = paramVarArgs.length; + int i = 0; + for (;;) + { + if (i >= j) + { + if (0 == 0) { + break; + } + throw new NullPointerException(); + } + paramClass = paramVarArgs[i]; + i += 1; + } + paramClass = new NoSuchMethodError((String)localObject); + constructorCache.put(localObject, null); + throw paramClass; + } + } + + public static Constructor findConstructorBestMatch(Class paramClass, Class[] paramArrayOfClass, Object[] paramArrayOfObject) + { + Object localObject1 = null; + int i = 0; + if (i >= paramArrayOfClass.length) { + return findConstructorBestMatch(paramClass, paramArrayOfClass); + } + if (paramArrayOfClass[i] != null) {} + for (;;) + { + i += 1; + break; + Object localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = getParameterTypes(paramArrayOfObject); + } + paramArrayOfClass[i] = localObject2[i]; + localObject1 = localObject2; + } + } + + public static Constructor findConstructorBestMatch(Class paramClass, Object... paramVarArgs) + { + return findConstructorBestMatch(paramClass, getParameterTypes(paramVarArgs)); + } + + public static Constructor findConstructorExact(Class paramClass, Class... paramVarArgs) + { + Object localObject = new StringBuilder(paramClass.getName()); + ((StringBuilder)localObject).append(getParametersString(paramVarArgs)); + ((StringBuilder)localObject).append("#exact"); + localObject = ((StringBuilder)localObject).toString(); + if (constructorCache.containsKey(localObject)) + { + paramClass = (Constructor)constructorCache.get(localObject); + if (paramClass == null) { + throw new NoSuchMethodError((String)localObject); + } + return paramClass; + } + try + { + paramClass = paramClass.getDeclaredConstructor(paramVarArgs); + paramClass.setAccessible(true); + constructorCache.put(localObject, paramClass); + return paramClass; + } + catch (NoSuchMethodException paramClass) + { + constructorCache.put(localObject, null); + throw new NoSuchMethodError((String)localObject); + } + } + + public static Field findField(Class paramClass, String paramString) + { + Object localObject = new StringBuilder(paramClass.getName()); + ((StringBuilder)localObject).append('#'); + ((StringBuilder)localObject).append(paramString); + localObject = ((StringBuilder)localObject).toString(); + if (fieldCache.containsKey(localObject)) + { + paramClass = (Field)fieldCache.get(localObject); + if (paramClass == null) { + throw new NoSuchFieldError((String)localObject); + } + return paramClass; + } + try + { + paramClass = findFieldRecursiveImpl(paramClass, paramString); + paramClass.setAccessible(true); + fieldCache.put(localObject, paramClass); + return paramClass; + } + catch (NoSuchFieldException paramClass) + { + fieldCache.put(localObject, null); + throw new NoSuchFieldError((String)localObject); + } + } + + private static Field findFieldRecursiveImpl(Class paramClass, String paramString) + throws NoSuchFieldException + { + try + { + Field localField1 = paramClass.getDeclaredField(paramString); + return localField1; + } + catch (NoSuchFieldException localNoSuchFieldException1) {} + for (;;) + { + paramClass = paramClass.getSuperclass(); + if ((paramClass == null) || (paramClass.equals(Object.class))) { + throw localNoSuchFieldException1; + } + try + { + Field localField2 = paramClass.getDeclaredField(paramString); + return localField2; + } + catch (NoSuchFieldException localNoSuchFieldException2) {} + } + } + + public static Field findFirstFieldByExactType(Class paramClass1, Class paramClass2) + { + Object localObject1 = paramClass1; + Object localObject2 = ((Class)localObject1).getDeclaredFields(); + int j = localObject2.length; + int i = 0; + for (;;) + { + if (i >= j) + { + localObject2 = ((Class)localObject1).getSuperclass(); + localObject1 = localObject2; + if (localObject2 != null) { + break; + } + throw new NoSuchFieldError("Field of type " + paramClass2.getName() + " in class " + paramClass1.getName()); + } + Field localField = localObject2[i]; + if (localField.getType() == paramClass2) + { + localField.setAccessible(true); + return localField; + } + i += 1; + } + } + + public static Method findMethodBestMatch(Class paramClass, String paramString, Class... paramVarArgs) + { + Object localObject = new StringBuilder(paramClass.getName()); + ((StringBuilder)localObject).append('#'); + ((StringBuilder)localObject).append(paramString); + ((StringBuilder)localObject).append(getParametersString(paramVarArgs)); + ((StringBuilder)localObject).append("#bestmatch"); + localObject = ((StringBuilder)localObject).toString(); + if (methodCache.containsKey(localObject)) + { + paramString = (Method)methodCache.get(localObject); + paramClass = paramString; + if (paramString != null) { + break label111; + } + throw new NoSuchMethodError((String)localObject); + } + try + { + paramString = findMethodExact(paramClass, paramString, paramVarArgs); + methodCache.put(localObject, paramString); + paramClass = paramString; + label111: + return paramClass; + } + catch (NoSuchMethodError paramString) + { + int i = 1; + paramVarArgs = paramClass.getDeclaredMethods(); + int k = paramVarArgs.length; + int j = 0; + for (;;) + { + if (j >= k) + { + i = 0; + paramString = paramClass.getSuperclass(); + paramClass = paramString; + if (paramString != null) { + break; + } + if (0 == 0) { + break label188; + } + throw new NullPointerException(); + } + paramString = paramVarArgs[j]; + if ((i == 0) && (Modifier.isPrivate(paramString.getModifiers()))) {} + j += 1; + } + label188: + paramClass = new NoSuchMethodError((String)localObject); + methodCache.put(localObject, null); + throw paramClass; + } + } + + public static Method findMethodBestMatch(Class paramClass, String paramString, Class[] paramArrayOfClass, Object[] paramArrayOfObject) + { + Object localObject1 = null; + int i = 0; + if (i >= paramArrayOfClass.length) { + return findMethodBestMatch(paramClass, paramString, paramArrayOfClass); + } + if (paramArrayOfClass[i] != null) {} + for (;;) + { + i += 1; + break; + Object localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = getParameterTypes(paramArrayOfObject); + } + paramArrayOfClass[i] = localObject2[i]; + localObject1 = localObject2; + } + } + + public static Method findMethodBestMatch(Class paramClass, String paramString, Object... paramVarArgs) + { + return findMethodBestMatch(paramClass, paramString, getParameterTypes(paramVarArgs)); + } + + public static Method findMethodExact(Class paramClass, String paramString, Class... paramVarArgs) + { + Object localObject = new StringBuilder(paramClass.getName()); + ((StringBuilder)localObject).append('#'); + ((StringBuilder)localObject).append(paramString); + ((StringBuilder)localObject).append(getParametersString(paramVarArgs)); + ((StringBuilder)localObject).append("#exact"); + localObject = ((StringBuilder)localObject).toString(); + if (methodCache.containsKey(localObject)) + { + paramClass = (Method)methodCache.get(localObject); + if (paramClass == null) { + throw new NoSuchMethodError((String)localObject); + } + return paramClass; + } + try + { + paramClass = paramClass.getDeclaredMethod(paramString, paramVarArgs); + paramClass.setAccessible(true); + methodCache.put(localObject, paramClass); + return paramClass; + } + catch (NoSuchMethodException paramClass) + { + methodCache.put(localObject, null); + throw new NoSuchMethodError((String)localObject); + } + } + + public static Method findMethodExact(Class paramClass, String paramString, Object... paramVarArgs) + { + Object localObject1 = null; + int i = paramVarArgs.length - 1; + if (i < 0) + { + paramVarArgs = localObject1; + if (localObject1 == null) { + paramVarArgs = new Class[0]; + } + return findMethodExact(paramClass, paramString, paramVarArgs); + } + Object localObject3 = paramVarArgs[i]; + if (localObject3 == null) { + throw new ClassNotFoundError("parameter type must not be null", null); + } + if ((localObject3 instanceof XC_MethodHook)) {} + for (;;) + { + i -= 1; + break; + Object localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = new Class[i + 1]; + } + if ((localObject3 instanceof Class)) + { + localObject2[i] = ((Class)localObject3); + localObject1 = localObject2; + } + else + { + if (!(localObject3 instanceof String)) { + break label141; + } + localObject2[i] = findClass((String)localObject3, paramClass.getClassLoader()); + localObject1 = localObject2; + } + } + label141: + throw new ClassNotFoundError("parameter type must either be specified as Class or String", null); + } + + public static Method findMethodExact(String paramString1, ClassLoader paramClassLoader, String paramString2, Object... paramVarArgs) + { + return findMethodExact(findClass(paramString1, paramClassLoader), paramString2, paramVarArgs); + } + + public static Method[] findMethodsByExactParameters(Class paramClass1, Class paramClass2, Class... paramVarArgs) + { + LinkedList localLinkedList = new LinkedList(); + paramClass1 = paramClass1.getDeclaredMethods(); + int m = paramClass1.length; + int i = 0; + if (i >= m) { + return (Method[])localLinkedList.toArray(new Method[localLinkedList.size()]); + } + Object localObject = paramClass1[i]; + if ((paramClass2 != null) && (paramClass2 != localObject.getReturnType())) {} + Class[] arrayOfClass; + do + { + i += 1; + break; + arrayOfClass = localObject.getParameterTypes(); + } while (paramVarArgs.length != arrayOfClass.length); + int k = 1; + int j = 0; + for (;;) + { + if (j >= paramVarArgs.length) {} + for (j = k;; j = 0) + { + if (j == 0) { + break label144; + } + localObject.setAccessible(true); + localLinkedList.add(localObject); + break; + if (paramVarArgs[j] == arrayOfClass[j]) { + break label146; + } + } + label144: + break; + label146: + j += 1; + } + } + + public static Object getAdditionalInstanceField(Object paramObject, String paramString) + { + if (paramObject == null) { + throw new NullPointerException("object must not be null"); + } + if (paramString == null) { + throw new NullPointerException("key must not be null"); + } + synchronized (additionalFields) + { + paramObject = (HashMap)additionalFields.get(paramObject); + if (paramObject == null) { + return null; + } + try + { + paramString = paramObject.get(paramString); + return paramString; + } + finally {} + } + } + + public static Object getAdditionalStaticField(Class paramClass, String paramString) + { + return getAdditionalInstanceField(paramClass, paramString); + } + + public static Object getAdditionalStaticField(Object paramObject, String paramString) + { + return getAdditionalInstanceField(paramObject.getClass(), paramString); + } + + public static boolean getBooleanField(Object paramObject, String paramString) + { + try + { + boolean bool = findField(paramObject.getClass(), paramString).getBoolean(paramObject); + return bool; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static byte getByteField(Object paramObject, String paramString) + { + try + { + byte b = findField(paramObject.getClass(), paramString).getByte(paramObject); + return b; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static char getCharField(Object paramObject, String paramString) + { + try + { + char c = findField(paramObject.getClass(), paramString).getChar(paramObject); + return c; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static Class[] getClassesAsArray(Class... paramVarArgs) + { + return paramVarArgs; + } + + public static double getDoubleField(Object paramObject, String paramString) + { + try + { + double d = findField(paramObject.getClass(), paramString).getDouble(paramObject); + return d; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static float getFloatField(Object paramObject, String paramString) + { + try + { + float f = findField(paramObject.getClass(), paramString).getFloat(paramObject); + return f; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static int getIntField(Object paramObject, String paramString) + { + try + { + int i = findField(paramObject.getClass(), paramString).getInt(paramObject); + return i; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static long getLongField(Object paramObject, String paramString) + { + try + { + long l = findField(paramObject.getClass(), paramString).getLong(paramObject); + return l; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static String getMD5Sum(String paramString) + throws IOException + { + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); + paramString = new FileInputStream(paramString); + byte[] arrayOfByte = new byte[8192]; + for (;;) + { + int i = paramString.read(arrayOfByte); + if (i <= 0) + { + paramString.close(); + return new BigInteger(1, localMessageDigest.digest()).toString(16); + } + localMessageDigest.update(arrayOfByte, 0, i); + } + return ""; + } + catch (NoSuchAlgorithmException paramString) {} + } + + public static Object getObjectField(Object paramObject, String paramString) + { + try + { + paramObject = findField(paramObject.getClass(), paramString).get(paramObject); + return paramObject; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static Class[] getParameterTypes(Object... paramVarArgs) + { + Class[] arrayOfClass = new Class[paramVarArgs.length]; + int i = 0; + if (i >= paramVarArgs.length) { + return arrayOfClass; + } + if (paramVarArgs[i] != null) {} + for (Class localClass = paramVarArgs[i].getClass();; localClass = null) + { + arrayOfClass[i] = localClass; + i += 1; + break; + } + } + + private static String getParametersString(Class... paramVarArgs) + { + StringBuilder localStringBuilder = new StringBuilder("("); + int j = 1; + int k = paramVarArgs.length; + int i = 0; + if (i >= k) + { + localStringBuilder.append(")"); + return localStringBuilder.toString(); + } + Class localClass = paramVarArgs[i]; + if (j != 0) + { + j = 0; + label50: + if (localClass == null) { + break label85; + } + localStringBuilder.append(localClass.getCanonicalName()); + } + for (;;) + { + i += 1; + break; + localStringBuilder.append(","); + break label50; + label85: + localStringBuilder.append("null"); + } + } + + public static short getShortField(Object paramObject, String paramString) + { + try + { + short s = findField(paramObject.getClass(), paramString).getShort(paramObject); + return s; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static boolean getStaticBooleanField(Class paramClass, String paramString) + { + try + { + boolean bool = findField(paramClass, paramString).getBoolean(null); + return bool; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static byte getStaticByteField(Class paramClass, String paramString) + { + try + { + byte b = findField(paramClass, paramString).getByte(null); + return b; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static char getStaticCharField(Class paramClass, String paramString) + { + try + { + char c = findField(paramClass, paramString).getChar(null); + return c; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static double getStaticDoubleField(Class paramClass, String paramString) + { + try + { + double d = findField(paramClass, paramString).getDouble(null); + return d; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static float getStaticFloatField(Class paramClass, String paramString) + { + try + { + float f = findField(paramClass, paramString).getFloat(null); + return f; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static int getStaticIntField(Class paramClass, String paramString) + { + try + { + int i = findField(paramClass, paramString).getInt(null); + return i; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static long getStaticLongField(Class paramClass, String paramString) + { + try + { + long l = findField(paramClass, paramString).getLong(null); + return l; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static Object getStaticObjectField(Class paramClass, String paramString) + { + try + { + paramClass = findField(paramClass, paramString).get(null); + return paramClass; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static short getStaticShortField(Class paramClass, String paramString) + { + try + { + short s = findField(paramClass, paramString).getShort(null); + return s; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static Object getSurroundingThis(Object paramObject) + { + return getObjectField(paramObject, "this$0"); + } + + public static Object newInstance(Class paramClass, Class[] paramArrayOfClass, Object... paramVarArgs) + { + try + { + paramClass = findConstructorBestMatch(paramClass, paramArrayOfClass, paramVarArgs).newInstance(paramVarArgs); + return paramClass; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + catch (InvocationTargetException paramClass) + { + throw new InvocationTargetError(paramClass.getCause()); + } + catch (InstantiationException paramClass) + { + throw new InstantiationError(paramClass.getMessage()); + } + } + + public static Object newInstance(Class paramClass, Object... paramVarArgs) + { + try + { + paramClass = findConstructorBestMatch(paramClass, paramVarArgs).newInstance(paramVarArgs); + return paramClass; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + catch (InvocationTargetException paramClass) + { + throw new InvocationTargetError(paramClass.getCause()); + } + catch (InstantiationException paramClass) + { + throw new InstantiationError(paramClass.getMessage()); + } + } + + public static Object removeAdditionalInstanceField(Object paramObject, String paramString) + { + if (paramObject == null) { + throw new NullPointerException("object must not be null"); + } + if (paramString == null) { + throw new NullPointerException("key must not be null"); + } + synchronized (additionalFields) + { + paramObject = (HashMap)additionalFields.get(paramObject); + if (paramObject == null) { + return null; + } + try + { + paramString = paramObject.remove(paramString); + return paramString; + } + finally {} + } + } + + public static Object removeAdditionalStaticField(Class paramClass, String paramString) + { + return removeAdditionalInstanceField(paramClass, paramString); + } + + public static Object removeAdditionalStaticField(Object paramObject, String paramString) + { + return removeAdditionalInstanceField(paramObject.getClass(), paramString); + } + + public static Object setAdditionalInstanceField(Object paramObject1, String paramString, Object paramObject2) + { + if (paramObject1 == null) { + throw new NullPointerException("object must not be null"); + } + if (paramString == null) { + throw new NullPointerException("key must not be null"); + } + synchronized (additionalFields) + { + HashMap localHashMap2 = (HashMap)additionalFields.get(paramObject1); + localHashMap1 = localHashMap2; + if (localHashMap2 == null) + { + localHashMap1 = new HashMap(); + additionalFields.put(paramObject1, localHashMap1); + } + } + } + + public static Object setAdditionalStaticField(Class paramClass, String paramString, Object paramObject) + { + return setAdditionalInstanceField(paramClass, paramString, paramObject); + } + + public static Object setAdditionalStaticField(Object paramObject1, String paramString, Object paramObject2) + { + return setAdditionalInstanceField(paramObject1.getClass(), paramString, paramObject2); + } + + public static void setBooleanField(Object paramObject, String paramString, boolean paramBoolean) + { + try + { + findField(paramObject.getClass(), paramString).setBoolean(paramObject, paramBoolean); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setByteField(Object paramObject, String paramString, byte paramByte) + { + try + { + findField(paramObject.getClass(), paramString).setByte(paramObject, paramByte); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setCharField(Object paramObject, String paramString, char paramChar) + { + try + { + findField(paramObject.getClass(), paramString).setChar(paramObject, paramChar); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setDoubleField(Object paramObject, String paramString, double paramDouble) + { + try + { + findField(paramObject.getClass(), paramString).setDouble(paramObject, paramDouble); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setFloatField(Object paramObject, String paramString, float paramFloat) + { + try + { + findField(paramObject.getClass(), paramString).setFloat(paramObject, paramFloat); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setIntField(Object paramObject, String paramString, int paramInt) + { + try + { + findField(paramObject.getClass(), paramString).setInt(paramObject, paramInt); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setLongField(Object paramObject, String paramString, long paramLong) + { + try + { + findField(paramObject.getClass(), paramString).setLong(paramObject, paramLong); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setObjectField(Object paramObject1, String paramString, Object paramObject2) + { + try + { + findField(paramObject1.getClass(), paramString).set(paramObject1, paramObject2); + return; + } + catch (IllegalAccessException paramObject1) + { + XposedBridge.log(paramObject1); + throw new IllegalAccessError(paramObject1.getMessage()); + } + catch (IllegalArgumentException paramObject1) + { + throw paramObject1; + } + } + + public static void setShortField(Object paramObject, String paramString, short paramShort) + { + try + { + findField(paramObject.getClass(), paramString).setShort(paramObject, paramShort); + return; + } + catch (IllegalAccessException paramObject) + { + XposedBridge.log(paramObject); + throw new IllegalAccessError(paramObject.getMessage()); + } + catch (IllegalArgumentException paramObject) + { + throw paramObject; + } + } + + public static void setStaticBooleanField(Class paramClass, String paramString, boolean paramBoolean) + { + try + { + findField(paramClass, paramString).setBoolean(null, paramBoolean); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticByteField(Class paramClass, String paramString, byte paramByte) + { + try + { + findField(paramClass, paramString).setByte(null, paramByte); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticCharField(Class paramClass, String paramString, char paramChar) + { + try + { + findField(paramClass, paramString).setChar(null, paramChar); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticDoubleField(Class paramClass, String paramString, double paramDouble) + { + try + { + findField(paramClass, paramString).setDouble(null, paramDouble); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticFloatField(Class paramClass, String paramString, float paramFloat) + { + try + { + findField(paramClass, paramString).setFloat(null, paramFloat); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticIntField(Class paramClass, String paramString, int paramInt) + { + try + { + findField(paramClass, paramString).setInt(null, paramInt); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticLongField(Class paramClass, String paramString, long paramLong) + { + try + { + findField(paramClass, paramString).setLong(null, paramLong); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticObjectField(Class paramClass, String paramString, Object paramObject) + { + try + { + findField(paramClass, paramString).set(null, paramObject); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static void setStaticShortField(Class paramClass, String paramString, short paramShort) + { + try + { + findField(paramClass, paramString).setShort(null, paramShort); + return; + } + catch (IllegalAccessException paramClass) + { + XposedBridge.log(paramClass); + throw new IllegalAccessError(paramClass.getMessage()); + } + catch (IllegalArgumentException paramClass) + { + throw paramClass; + } + } + + public static class ClassNotFoundError + extends Error + { + private static final long serialVersionUID = -1070936889459514628L; + + public ClassNotFoundError(String paramString, Throwable paramThrowable) + { + super(paramThrowable); + } + + public ClassNotFoundError(Throwable paramThrowable) + { + super(); + } + } + + public static class InvocationTargetError + extends Error + { + private static final long serialVersionUID = -1070936889459514628L; + + public InvocationTargetError(String paramString, Throwable paramThrowable) + { + super(paramThrowable); + } + + public InvocationTargetError(Throwable paramThrowable) + { + super(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.kingkong.xposed.XposedHelpers + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/BuildConfig.java b/com.tencent.token/classes.jar/com/tencent/mm/BuildConfig.java new file mode 100755 index 00000000000..5c3cf43157a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/BuildConfig.java @@ -0,0 +1,12 @@ +package com.tencent.mm; + +public final class BuildConfig +{ + public static final boolean DEBUG = false; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.BuildConfig + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/Base64.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/Base64.java new file mode 100755 index 00000000000..0c42aa8c07e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/Base64.java @@ -0,0 +1,822 @@ +package com.tencent.mm.algorithm; + +import java.util.Arrays; + +public class Base64 +{ + private static final char[] a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray(); + private static final int[] b; + + static + { + int[] arrayOfInt = new int[256]; + b = arrayOfInt; + Arrays.fill(arrayOfInt, -1); + int j = a.length; + int i = 0; + while (i < j) + { + b[a[i]] = i; + i += 1; + } + b[61] = 0; + } + + public static final byte[] decode(String paramString) + { + if (paramString != null) {} + for (int i = paramString.length(); i == 0; i = 0) { + return new byte[0]; + } + int k = 0; + for (int j = 0; k < i; j = m) + { + m = j; + if (b[paramString.charAt(k)] < 0) { + m = j + 1; + } + k += 1; + } + if ((i - j) % 4 != 0) { + return null; + } + k = i; + int m = 0; + int n; + while (k > 1) + { + localObject = b; + n = k - 1; + if (localObject[paramString.charAt(n)] > 0) { + break; + } + k = n; + if (paramString.charAt(n) == '=') + { + m += 1; + k = n; + } + } + int i1 = ((i - j) * 6 >> 3) - m; + Object localObject = new byte[i1]; + k = 0; + i = 0; + if (k < i1) + { + m = 0; + n = 0; + j = i; + i = n; + if (i < 4) + { + n = b[paramString.charAt(j)]; + if (n >= 0) { + m |= n << 18 - i * 6; + } + for (;;) + { + i += 1; + j += 1; + break; + i -= 1; + } + } + n = k + 1; + localObject[k] = ((byte)(m >> 16)); + i = n; + if (n < i1) + { + i = n + 1; + localObject[n] = ((byte)(m >> 8)); + if (i >= i1) { + break label293; + } + k = i + 1; + localObject[i] = ((byte)m); + i = k; + } + } + label293: + for (;;) + { + k = i; + i = j; + break; + return localObject; + } + } + + public static final byte[] decode(byte[] paramArrayOfByte) + { + int m = paramArrayOfByte.length; + int j = 0; + for (int i = 0; j < m; i = k) + { + k = i; + if (b[(paramArrayOfByte[j] & 0xFF)] < 0) { + k = i + 1; + } + j += 1; + } + if ((m - i) % 4 != 0) { + return null; + } + j = m; + int k = 0; + int n; + while (j > 1) + { + localObject = b; + n = j - 1; + if (localObject[(paramArrayOfByte[n] & 0xFF)] > 0) { + break; + } + j = n; + if (paramArrayOfByte[n] == 61) + { + k += 1; + j = n; + } + } + int i1 = ((m - i) * 6 >> 3) - k; + Object localObject = new byte[i1]; + k = 0; + i = 0; + if (k < i1) + { + m = 0; + n = 0; + j = i; + i = n; + if (i < 4) + { + n = b[(paramArrayOfByte[j] & 0xFF)]; + if (n >= 0) { + m |= n << 18 - i * 6; + } + for (;;) + { + i += 1; + j += 1; + break; + i -= 1; + } + } + n = k + 1; + localObject[k] = ((byte)(m >> 16)); + i = n; + if (n < i1) + { + i = n + 1; + localObject[n] = ((byte)(m >> 8)); + if (i >= i1) { + break label276; + } + k = i + 1; + localObject[i] = ((byte)m); + i = k; + } + } + label276: + for (;;) + { + k = i; + i = j; + break; + return localObject; + } + } + + public static final byte[] decode(char[] paramArrayOfChar) + { + if (paramArrayOfChar != null) {} + for (int i = paramArrayOfChar.length; i == 0; i = 0) { + return new byte[0]; + } + int k = 0; + for (int j = 0; k < i; j = m) + { + m = j; + if (b[paramArrayOfChar[k]] < 0) { + m = j + 1; + } + k += 1; + } + if ((i - j) % 4 != 0) { + return null; + } + k = i; + int m = 0; + int n; + while (k > 1) + { + localObject = b; + n = k - 1; + if (localObject[paramArrayOfChar[n]] > 0) { + break; + } + k = n; + if (paramArrayOfChar[n] == '=') + { + m += 1; + k = n; + } + } + int i1 = ((i - j) * 6 >> 3) - m; + Object localObject = new byte[i1]; + k = 0; + i = 0; + if (k < i1) + { + m = 0; + n = 0; + j = i; + i = n; + if (i < 4) + { + n = b[paramArrayOfChar[j]]; + if (n >= 0) { + m |= n << 18 - i * 6; + } + for (;;) + { + i += 1; + j += 1; + break; + i -= 1; + } + } + n = k + 1; + localObject[k] = ((byte)(m >> 16)); + i = n; + if (n < i1) + { + i = n + 1; + localObject[n] = ((byte)(m >> 8)); + if (i >= i1) { + break label283; + } + k = i + 1; + localObject[i] = ((byte)m); + i = k; + } + } + label283: + for (;;) + { + k = i; + i = j; + break; + return localObject; + } + } + + public static final byte[] decodeFast(String paramString) + { + int i2 = 0; + int k = paramString.length(); + if (k == 0) { + return new byte[0]; + } + int n = k - 1; + int i = 0; + while ((i < n) && (b[(paramString.charAt(i) & 0xFF)] < 0)) { + i += 1; + } + for (;;) + { + if ((n > 0) && (b[(paramString.charAt(n) & 0xFF)] < 0)) + { + n -= 1; + } + else + { + int j; + int m; + if (paramString.charAt(n) == '=') { + if (paramString.charAt(n - 1) == '=') + { + j = 2; + m = n - i + 1; + if (k <= 76) { + break label388; + } + if (paramString.charAt(76) != '\r') { + break label383; + } + k = m / 78; + } + } + label140: + int i6; + byte[] arrayOfByte; + int i3; + label388: + for (int i1 = k << 1;; i1 = 0) + { + i6 = ((m - i1) * 6 >> 3) - j; + arrayOfByte = new byte[i6]; + int i7 = i6 / 3; + m = 0; + k = 0; + while (k < i7 * 3) + { + int[] arrayOfInt = b; + int i4 = i + 1; + i = arrayOfInt[paramString.charAt(i)]; + arrayOfInt = b; + i3 = i4 + 1; + i4 = arrayOfInt[paramString.charAt(i4)]; + arrayOfInt = b; + int i5 = i3 + 1; + int i8 = arrayOfInt[paramString.charAt(i3)]; + arrayOfInt = b; + i3 = i5 + 1; + i = i8 << 6 | i << 18 | i4 << 12 | arrayOfInt[paramString.charAt(i5)]; + i4 = k + 1; + arrayOfByte[k] = ((byte)(i >> 16)); + k = i4 + 1; + arrayOfByte[i4] = ((byte)(i >> 8)); + i4 = k + 1; + arrayOfByte[k] = ((byte)i); + i = i3; + k = i4; + if (i1 > 0) + { + i5 = m + 1; + m = i5; + i = i3; + k = i4; + if (i5 == 19) + { + i = i3 + 2; + m = 0; + k = i4; + } + } + } + j = 1; + break; + j = 0; + break; + label383: + k = 0; + break label140; + } + if (k < i6) + { + i1 = i; + m = 0; + i = i2; + for (;;) + { + i2 = i; + if (i1 > n - j) { + break; + } + i3 = b[paramString.charAt(i1)]; + i = i2 + 1; + m = i3 << 18 - i2 * 6 | m; + i1 += 1; + } + j = 16; + i = k; + while (i < i6) + { + arrayOfByte[i] = ((byte)(m >> j)); + j -= 8; + i += 1; + } + } + return arrayOfByte; + } + } + } + + public static final byte[] decodeFast(byte[] paramArrayOfByte) + { + int i2 = 0; + int k = paramArrayOfByte.length; + if (k == 0) { + return new byte[0]; + } + int n = k - 1; + int i = 0; + while ((i < n) && (b[(paramArrayOfByte[i] & 0xFF)] < 0)) { + i += 1; + } + for (;;) + { + if ((n > 0) && (b[(paramArrayOfByte[n] & 0xFF)] < 0)) + { + n -= 1; + } + else + { + int j; + int m; + if (paramArrayOfByte[n] == 61) { + if (paramArrayOfByte[(n - 1)] == 61) + { + j = 2; + m = n - i + 1; + if (k <= 76) { + break label368; + } + if (paramArrayOfByte[76] != 13) { + break label363; + } + k = m / 78; + } + } + label128: + int i6; + byte[] arrayOfByte; + int i3; + label363: + label368: + for (int i1 = k << 1;; i1 = 0) + { + i6 = ((m - i1) * 6 >> 3) - j; + arrayOfByte = new byte[i6]; + int i7 = i6 / 3; + m = 0; + k = 0; + while (k < i7 * 3) + { + int[] arrayOfInt = b; + int i4 = i + 1; + i = arrayOfInt[paramArrayOfByte[i]]; + arrayOfInt = b; + i3 = i4 + 1; + i4 = arrayOfInt[paramArrayOfByte[i4]]; + arrayOfInt = b; + int i5 = i3 + 1; + int i8 = arrayOfInt[paramArrayOfByte[i3]]; + arrayOfInt = b; + i3 = i5 + 1; + i = i8 << 6 | i << 18 | i4 << 12 | arrayOfInt[paramArrayOfByte[i5]]; + i4 = k + 1; + arrayOfByte[k] = ((byte)(i >> 16)); + k = i4 + 1; + arrayOfByte[i4] = ((byte)(i >> 8)); + i4 = k + 1; + arrayOfByte[k] = ((byte)i); + i = i3; + k = i4; + if (i1 > 0) + { + i5 = m + 1; + m = i5; + i = i3; + k = i4; + if (i5 == 19) + { + i = i3 + 2; + m = 0; + k = i4; + } + } + } + j = 1; + break; + j = 0; + break; + k = 0; + break label128; + } + if (k < i6) + { + i1 = i; + m = 0; + i = i2; + for (;;) + { + i2 = i; + if (i1 > n - j) { + break; + } + i3 = b[paramArrayOfByte[i1]]; + i = i2 + 1; + m = i3 << 18 - i2 * 6 | m; + i1 += 1; + } + j = 16; + i = k; + while (i < i6) + { + arrayOfByte[i] = ((byte)(m >> j)); + j -= 8; + i += 1; + } + } + return arrayOfByte; + } + } + } + + public static final byte[] decodeFast(char[] paramArrayOfChar) + { + int i2 = 0; + int k = paramArrayOfChar.length; + if (k == 0) { + return new byte[0]; + } + int n = k - 1; + int i = 0; + while ((i < n) && (b[paramArrayOfChar[i]] < 0)) { + i += 1; + } + for (;;) + { + if ((n > 0) && (b[paramArrayOfChar[n]] < 0)) + { + n -= 1; + } + else + { + int j; + int m; + if (paramArrayOfChar[n] == '=') { + if (paramArrayOfChar[(n - 1)] == '=') + { + j = 2; + m = n - i + 1; + if (k <= 76) { + break label360; + } + if (paramArrayOfChar[76] != '\r') { + break label355; + } + k = m / 78; + } + } + label120: + int i6; + byte[] arrayOfByte; + int i3; + label355: + label360: + for (int i1 = k << 1;; i1 = 0) + { + i6 = ((m - i1) * 6 >> 3) - j; + arrayOfByte = new byte[i6]; + int i7 = i6 / 3; + m = 0; + k = 0; + while (k < i7 * 3) + { + int[] arrayOfInt = b; + int i4 = i + 1; + i = arrayOfInt[paramArrayOfChar[i]]; + arrayOfInt = b; + i3 = i4 + 1; + i4 = arrayOfInt[paramArrayOfChar[i4]]; + arrayOfInt = b; + int i5 = i3 + 1; + int i8 = arrayOfInt[paramArrayOfChar[i3]]; + arrayOfInt = b; + i3 = i5 + 1; + i = i8 << 6 | i << 18 | i4 << 12 | arrayOfInt[paramArrayOfChar[i5]]; + i4 = k + 1; + arrayOfByte[k] = ((byte)(i >> 16)); + k = i4 + 1; + arrayOfByte[i4] = ((byte)(i >> 8)); + i4 = k + 1; + arrayOfByte[k] = ((byte)i); + i = i3; + k = i4; + if (i1 > 0) + { + i5 = m + 1; + m = i5; + i = i3; + k = i4; + if (i5 == 19) + { + i = i3 + 2; + m = 0; + k = i4; + } + } + } + j = 1; + break; + j = 0; + break; + k = 0; + break label120; + } + if (k < i6) + { + i1 = i; + m = 0; + i = i2; + for (;;) + { + i2 = i; + if (i1 > n - j) { + break; + } + i3 = b[paramArrayOfChar[i1]]; + i = i2 + 1; + m = i3 << 18 - i2 * 6 | m; + i1 += 1; + } + j = 16; + i = k; + while (i < i6) + { + arrayOfByte[i] = ((byte)(m >> j)); + j -= 8; + i += 1; + } + } + return arrayOfByte; + } + } + } + + public static final byte[] encodeToByte(byte[] paramArrayOfByte, boolean paramBoolean) + { + int i1 = 0; + if (paramArrayOfByte != null) {} + for (int m = paramArrayOfByte.length; m == 0; m = 0) { + return new byte[0]; + } + int i5 = m / 3 * 3; + int k = (m - 1) / 3 + 1 << 2; + if (paramBoolean) {} + int i6; + byte[] arrayOfByte; + int n; + for (int j = (k - 1) / 76 << 1;; j = 0) + { + i6 = k + j; + arrayOfByte = new byte[i6]; + j = 0; + k = 0; + n = 0; + while (n < i5) + { + int i2 = n + 1; + n = paramArrayOfByte[n]; + int i3 = i2 + 1; + int i4 = paramArrayOfByte[i2]; + i2 = i3 + 1; + n = (i4 & 0xFF) << 8 | (n & 0xFF) << 16 | paramArrayOfByte[i3] & 0xFF; + i3 = k + 1; + arrayOfByte[k] = ((byte)a[(n >>> 18 & 0x3F)]); + k = i3 + 1; + arrayOfByte[i3] = ((byte)a[(n >>> 12 & 0x3F)]); + i4 = k + 1; + arrayOfByte[k] = ((byte)a[(n >>> 6 & 0x3F)]); + i3 = i4 + 1; + arrayOfByte[i4] = ((byte)a[(n & 0x3F)]); + k = i3; + n = i2; + if (paramBoolean) + { + i4 = j + 1; + j = i4; + k = i3; + n = i2; + if (i4 == 19) + { + j = i4; + k = i3; + n = i2; + if (i3 < i6 - 2) + { + j = i3 + 1; + arrayOfByte[i3] = 13; + arrayOfByte[j] = 10; + k = j + 1; + j = 0; + n = i2; + } + } + } + } + } + k = m - i5; + if (k > 0) + { + n = paramArrayOfByte[i5]; + j = i1; + if (k == 2) { + j = (paramArrayOfByte[(m - 1)] & 0xFF) << 2; + } + j |= (n & 0xFF) << 10; + arrayOfByte[(i6 - 4)] = ((byte)a[(j >> 12)]); + arrayOfByte[(i6 - 3)] = ((byte)a[(j >>> 6 & 0x3F)]); + if (k != 2) { + break label455; + } + } + label455: + for (int i = (byte)a[(j & 0x3F)];; i = 61) + { + arrayOfByte[(i6 - 2)] = i; + arrayOfByte[(i6 - 1)] = 61; + return arrayOfByte; + } + } + + public static final char[] encodeToChar(byte[] paramArrayOfByte, boolean paramBoolean) + { + int i1 = 0; + if (paramArrayOfByte != null) {} + for (int m = paramArrayOfByte.length; m == 0; m = 0) { + return new char[0]; + } + int i5 = m / 3 * 3; + int k = (m - 1) / 3 + 1 << 2; + if (paramBoolean) {} + int i6; + char[] arrayOfChar; + int n; + for (int j = (k - 1) / 76 << 1;; j = 0) + { + i6 = k + j; + arrayOfChar = new char[i6]; + j = 0; + k = 0; + n = 0; + while (n < i5) + { + int i2 = n + 1; + n = paramArrayOfByte[n]; + int i3 = i2 + 1; + int i4 = paramArrayOfByte[i2]; + i2 = i3 + 1; + n = (i4 & 0xFF) << 8 | (n & 0xFF) << 16 | paramArrayOfByte[i3] & 0xFF; + i3 = k + 1; + arrayOfChar[k] = a[(n >>> 18 & 0x3F)]; + k = i3 + 1; + arrayOfChar[i3] = a[(n >>> 12 & 0x3F)]; + i4 = k + 1; + arrayOfChar[k] = a[(n >>> 6 & 0x3F)]; + i3 = i4 + 1; + arrayOfChar[i4] = a[(n & 0x3F)]; + k = i3; + n = i2; + if (paramBoolean) + { + i4 = j + 1; + j = i4; + k = i3; + n = i2; + if (i4 == 19) + { + j = i4; + k = i3; + n = i2; + if (i3 < i6 - 2) + { + j = i3 + 1; + arrayOfChar[i3] = '\r'; + arrayOfChar[j] = '\n'; + k = j + 1; + j = 0; + n = i2; + } + } + } + } + } + k = m - i5; + if (k > 0) + { + n = paramArrayOfByte[i5]; + j = i1; + if (k == 2) { + j = (paramArrayOfByte[(m - 1)] & 0xFF) << 2; + } + j |= (n & 0xFF) << 10; + arrayOfChar[(i6 - 4)] = a[(j >> 12)]; + arrayOfChar[(i6 - 3)] = a[(j >>> 6 & 0x3F)]; + if (k != 2) { + break label448; + } + } + label448: + for (int i = a[(j & 0x3F)];; i = 61) + { + arrayOfChar[(i6 - 2)] = i; + arrayOfChar[(i6 - 1)] = '='; + return arrayOfChar; + } + } + + public static final String encodeToString(byte[] paramArrayOfByte, boolean paramBoolean) + { + return new String(encodeToChar(paramArrayOfByte, paramBoolean)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.Base64 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap$1.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap$1.java new file mode 100755 index 00000000000..04b6cbf0537 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap$1.java @@ -0,0 +1,21 @@ +package com.tencent.mm.algorithm; + +import java.util.Comparator; +import java.util.Map.Entry; + +class LRUMap$1 + implements Comparator.TimeVal>> +{ + LRUMap$1(LRUMap paramLRUMap) {} + + public int compare(Map.Entry.TimeVal> paramEntry1, Map.Entry.TimeVal> paramEntry2) + { + return ((LRUMap.TimeVal)paramEntry1.getValue()).t.compareTo(((LRUMap.TimeVal)paramEntry2.getValue()).t); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.LRUMap.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap.java new file mode 100755 index 00000000000..239e1310503 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/LRUMap.java @@ -0,0 +1,189 @@ +package com.tencent.mm.algorithm; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class LRUMap +{ + private Map.TimeVal> c = null; + private int d; + private int e; + private PreRemoveCallback f = null; + + public LRUMap(int paramInt) + { + this(paramInt, null); + } + + public LRUMap(int paramInt, PreRemoveCallback paramPreRemoveCallback) + { + this.d = paramInt; + this.e = 0; + this.f = paramPreRemoveCallback; + this.c = new HashMap(); + } + + public boolean check(K paramK) + { + return this.c.containsKey(paramK); + } + + public boolean checkAndUpTime(K paramK) + { + if (this.c.containsKey(paramK)) + { + ((TimeVal)this.c.get(paramK)).UpTime(); + return true; + } + return false; + } + + public void clear() + { + this.c.clear(); + } + + public void clear(OnClearListener paramOnClearListener) + { + if (this.c != null) + { + if (paramOnClearListener != null) + { + Iterator localIterator = this.c.entrySet().iterator(); + while (localIterator.hasNext()) + { + Map.Entry localEntry = (Map.Entry)localIterator.next(); + paramOnClearListener.onClear(localEntry.getKey(), ((TimeVal)localEntry.getValue()).obj); + } + } + this.c.clear(); + } + } + + public O get(K paramK) + { + return getAndUptime(paramK); + } + + public O getAndUptime(K paramK) + { + paramK = (TimeVal)this.c.get(paramK); + if (paramK == null) { + return null; + } + paramK.UpTime(); + return paramK.obj; + } + + public void remove(K paramK) + { + if (!this.c.containsKey(paramK)) { + return; + } + if (this.f != null) { + this.f.preRemoveCallback(paramK, ((TimeVal)this.c.get(paramK)).obj); + } + this.c.remove(paramK); + } + + public void setMaxSize(int paramInt) + { + if (paramInt > 0) { + this.d = paramInt; + } + } + + public void setPerDeleteSize(int paramInt) + { + if (paramInt > 0) { + this.e = paramInt; + } + } + + public int size() + { + return this.c.size(); + } + + public void update(K paramK, O paramO) + { + int i; + if ((TimeVal)this.c.get(paramK) == null) + { + paramO = new TimeVal(paramO); + this.c.put(paramK, paramO); + if (this.c.size() > this.d) + { + paramK = new ArrayList(this.c.entrySet()); + Collections.sort(paramK, new LRUMap.1(this)); + if (this.e > 0) { + break label150; + } + int j = this.d / 10; + i = j; + if (j <= 0) { + i = 1; + } + paramK = paramK.iterator(); + } + } + for (;;) + { + if (paramK.hasNext()) + { + remove(((Map.Entry)paramK.next()).getKey()); + i -= 1; + if (i > 0) {} + } + else + { + return; + label150: + i = this.e; + break; + ((TimeVal)this.c.get(paramK)).UpTime(); + ((TimeVal)this.c.get(paramK)).obj = paramO; + return; + } + } + } + + public static abstract interface OnClearListener + { + public abstract void onClear(K paramK, O paramO); + } + + public static abstract interface PreRemoveCallback + { + public abstract void preRemoveCallback(K paramK, O paramO); + } + + public class TimeVal + { + public OO obj; + public Long t; + + public TimeVal() + { + Object localObject; + this.obj = localObject; + UpTime(); + } + + public void UpTime() + { + this.t = Long.valueOf(System.currentTimeMillis()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.LRUMap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/MD5.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/MD5.java new file mode 100755 index 00000000000..516defd67d6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/MD5.java @@ -0,0 +1,385 @@ +package com.tencent.mm.algorithm; + +import java.io.File; +import java.io.FileInputStream; +import java.security.MessageDigest; + +public final class MD5 +{ + public static String getMD5(File paramFile) + { + return getMD5(paramFile, 102400); + } + + /* Error */ + public static String getMD5(File paramFile, int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +14 -> 15 + // 4: iload_1 + // 5: ifle +10 -> 15 + // 8: aload_0 + // 9: invokevirtual 25 java/io/File:exists ()Z + // 12: ifne +5 -> 17 + // 15: aconst_null + // 16: areturn + // 17: new 27 java/io/FileInputStream + // 20: dup + // 21: aload_0 + // 22: invokespecial 30 java/io/FileInputStream: (Ljava/io/File;)V + // 25: astore 4 + // 27: iload_1 + // 28: i2l + // 29: lstore_2 + // 30: lload_2 + // 31: aload_0 + // 32: invokevirtual 34 java/io/File:length ()J + // 35: lcmp + // 36: ifgt +30 -> 66 + // 39: iload_1 + // 40: i2l + // 41: lstore_2 + // 42: aload 4 + // 44: lload_2 + // 45: l2i + // 46: invokestatic 37 com/tencent/mm/algorithm/MD5:getMD5 (Ljava/io/FileInputStream;I)Ljava/lang/String; + // 49: astore_0 + // 50: aload 4 + // 52: invokevirtual 40 java/io/FileInputStream:close ()V + // 55: aload 4 + // 57: invokevirtual 40 java/io/FileInputStream:close ()V + // 60: aload_0 + // 61: areturn + // 62: astore 4 + // 64: aload_0 + // 65: areturn + // 66: aload_0 + // 67: invokevirtual 34 java/io/File:length ()J + // 70: lstore_2 + // 71: goto -29 -> 42 + // 74: astore_0 + // 75: aconst_null + // 76: astore_0 + // 77: aload_0 + // 78: ifnull +7 -> 85 + // 81: aload_0 + // 82: invokevirtual 40 java/io/FileInputStream:close ()V + // 85: aconst_null + // 86: areturn + // 87: astore_0 + // 88: aconst_null + // 89: astore 4 + // 91: aload 4 + // 93: ifnull +8 -> 101 + // 96: aload 4 + // 98: invokevirtual 40 java/io/FileInputStream:close ()V + // 101: aload_0 + // 102: athrow + // 103: astore_0 + // 104: goto -19 -> 85 + // 107: astore 4 + // 109: goto -8 -> 101 + // 112: astore_0 + // 113: goto -22 -> 91 + // 116: astore_0 + // 117: aload 4 + // 119: astore_0 + // 120: goto -43 -> 77 + // Local variable table: + // start length slot name signature + // 0 123 0 paramFile File + // 0 123 1 paramInt int + // 29 42 2 l long + // 25 31 4 localFileInputStream FileInputStream + // 62 1 4 localIOException1 java.io.IOException + // 89 8 4 localObject Object + // 107 11 4 localIOException2 java.io.IOException + // Exception table: + // from to target type + // 55 60 62 java/io/IOException + // 17 27 74 java/lang/Exception + // 17 27 87 finally + // 81 85 103 java/io/IOException + // 96 101 107 java/io/IOException + // 30 39 112 finally + // 42 55 112 finally + // 66 71 112 finally + // 30 39 116 java/lang/Exception + // 42 55 116 java/lang/Exception + // 66 71 116 java/lang/Exception + } + + /* Error */ + public static String getMD5(File paramFile, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +18 -> 19 + // 4: aload_0 + // 5: invokevirtual 25 java/io/File:exists ()Z + // 8: ifeq +11 -> 19 + // 11: iload_1 + // 12: iflt +7 -> 19 + // 15: iload_2 + // 16: ifgt +5 -> 21 + // 19: aconst_null + // 20: areturn + // 21: new 27 java/io/FileInputStream + // 24: dup + // 25: aload_0 + // 26: invokespecial 30 java/io/FileInputStream: (Ljava/io/File;)V + // 29: astore_0 + // 30: aload_0 + // 31: ldc 12 + // 33: iload_1 + // 34: iload_2 + // 35: invokestatic 44 com/tencent/mm/algorithm/MD5:getMD5 (Ljava/io/FileInputStream;III)Ljava/lang/String; + // 38: astore_3 + // 39: aload_0 + // 40: invokevirtual 40 java/io/FileInputStream:close ()V + // 43: aload_0 + // 44: invokevirtual 40 java/io/FileInputStream:close ()V + // 47: aload_3 + // 48: areturn + // 49: astore_0 + // 50: aload_3 + // 51: areturn + // 52: astore_0 + // 53: aconst_null + // 54: astore_0 + // 55: aload_0 + // 56: ifnull +7 -> 63 + // 59: aload_0 + // 60: invokevirtual 40 java/io/FileInputStream:close ()V + // 63: aconst_null + // 64: areturn + // 65: astore_3 + // 66: aconst_null + // 67: astore_0 + // 68: aload_0 + // 69: ifnull +7 -> 76 + // 72: aload_0 + // 73: invokevirtual 40 java/io/FileInputStream:close ()V + // 76: aload_3 + // 77: athrow + // 78: astore_0 + // 79: goto -16 -> 63 + // 82: astore_0 + // 83: goto -7 -> 76 + // 86: astore_3 + // 87: goto -19 -> 68 + // 90: astore_3 + // 91: goto -36 -> 55 + // Local variable table: + // start length slot name signature + // 0 94 0 paramFile File + // 0 94 1 paramInt1 int + // 0 94 2 paramInt2 int + // 38 13 3 str String + // 65 12 3 localObject1 Object + // 86 1 3 localObject2 Object + // 90 1 3 localException Exception + // Exception table: + // from to target type + // 43 47 49 java/io/IOException + // 21 30 52 java/lang/Exception + // 21 30 65 finally + // 59 63 78 java/io/IOException + // 72 76 82 java/io/IOException + // 30 43 86 finally + // 30 43 90 java/lang/Exception + } + + public static final String getMD5(FileInputStream paramFileInputStream, int paramInt) + { + int i = 0; + if ((paramFileInputStream == null) || (paramInt <= 0)) { + return null; + } + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); + StringBuilder localStringBuilder = new StringBuilder(32); + byte[] arrayOfByte = new byte[paramInt]; + for (;;) + { + paramInt = paramFileInputStream.read(arrayOfByte); + if (paramInt == -1) { + break; + } + localMessageDigest.update(arrayOfByte, 0, paramInt); + } + paramFileInputStream = localMessageDigest.digest(); + paramInt = i; + while (paramInt < paramFileInputStream.length) + { + localStringBuilder.append(Integer.toString((paramFileInputStream[paramInt] & 0xFF) + 256, 16).substring(1)); + paramInt += 1; + } + paramFileInputStream = localStringBuilder.toString(); + return paramFileInputStream; + } + catch (Exception paramFileInputStream) {} + return null; + } + + public static final String getMD5(FileInputStream paramFileInputStream, int paramInt1, int paramInt2, int paramInt3) + { + int i = 0; + if ((paramFileInputStream == null) || (paramInt1 <= 0) || (paramInt2 < 0) || (paramInt3 <= 0)) {} + for (;;) + { + return null; + long l = paramInt2; + try + { + if (paramFileInputStream.skip(l) >= paramInt2) + { + MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); + StringBuilder localStringBuilder = new StringBuilder(32); + byte[] arrayOfByte = new byte[paramInt1]; + paramInt1 = 0; + for (;;) + { + paramInt2 = paramFileInputStream.read(arrayOfByte); + if ((paramInt2 == -1) || (paramInt1 >= paramInt3)) { + break; + } + if (paramInt1 + paramInt2 <= paramInt3) + { + localMessageDigest.update(arrayOfByte, 0, paramInt2); + paramInt1 += paramInt2; + } + else + { + localMessageDigest.update(arrayOfByte, 0, paramInt3 - paramInt1); + paramInt1 = paramInt3; + } + } + paramFileInputStream = localMessageDigest.digest(); + paramInt1 = i; + while (paramInt1 < paramFileInputStream.length) + { + localStringBuilder.append(Integer.toString((paramFileInputStream[paramInt1] & 0xFF) + 256, 16).substring(1)); + paramInt1 += 1; + } + paramFileInputStream = localStringBuilder.toString(); + return paramFileInputStream; + } + } + catch (Exception paramFileInputStream) {} + } + return null; + } + + public static String getMD5(String paramString) + { + if (paramString == null) {} + do + { + return null; + paramString = new File(paramString); + } while (!paramString.exists()); + return getMD5(paramString, 102400); + } + + public static String getMD5(String paramString, int paramInt1, int paramInt2) + { + if (paramString == null) {} + do + { + return null; + paramString = new File(paramString); + } while (!paramString.exists()); + return getMD5(paramString, paramInt1, paramInt2); + } + + public static final String getMessageDigest(byte[] paramArrayOfByte) + { + int i = 0; + char[] arrayOfChar = new char[16]; + char[] tmp10_8 = arrayOfChar; + tmp10_8[0] = 48; + char[] tmp15_10 = tmp10_8; + tmp15_10[1] = 49; + char[] tmp20_15 = tmp15_10; + tmp20_15[2] = 50; + char[] tmp25_20 = tmp20_15; + tmp25_20[3] = 51; + char[] tmp30_25 = tmp25_20; + tmp30_25[4] = 52; + char[] tmp35_30 = tmp30_25; + tmp35_30[5] = 53; + char[] tmp40_35 = tmp35_30; + tmp40_35[6] = 54; + char[] tmp46_40 = tmp40_35; + tmp46_40[7] = 55; + char[] tmp52_46 = tmp46_40; + tmp52_46[8] = 56; + char[] tmp58_52 = tmp52_46; + tmp58_52[9] = 57; + char[] tmp64_58 = tmp58_52; + tmp64_58[10] = 97; + char[] tmp70_64 = tmp64_58; + tmp70_64[11] = 98; + char[] tmp76_70 = tmp70_64; + tmp76_70[12] = 99; + char[] tmp82_76 = tmp76_70; + tmp82_76[13] = 100; + char[] tmp88_82 = tmp82_76; + tmp88_82[14] = 101; + char[] tmp94_88 = tmp88_82; + tmp94_88[15] = 102; + tmp94_88; + for (;;) + { + Object localObject; + int k; + int j; + try + { + localObject = MessageDigest.getInstance("MD5"); + ((MessageDigest)localObject).update(paramArrayOfByte); + paramArrayOfByte = ((MessageDigest)localObject).digest(); + k = paramArrayOfByte.length; + localObject = new char[k * 2]; + j = 0; + } + catch (Exception paramArrayOfByte) + { + return null; + } + paramArrayOfByte = new String((char[])localObject); + return paramArrayOfByte; + while (i < k) + { + int m = paramArrayOfByte[i]; + int n = j + 1; + localObject[j] = arrayOfChar[(m >>> 4 & 0xF)]; + j = n + 1; + localObject[n] = arrayOfChar[(m & 0xF)]; + i += 1; + } + } + } + + public static final byte[] getRawDigest(byte[] paramArrayOfByte) + { + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); + localMessageDigest.update(paramArrayOfByte); + paramArrayOfByte = localMessageDigest.digest(); + return paramArrayOfByte; + } + catch (Exception paramArrayOfByte) {} + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.MD5 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/TypeTransform.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/TypeTransform.java new file mode 100755 index 00000000000..b33f37358ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/TypeTransform.java @@ -0,0 +1,97 @@ +package com.tencent.mm.algorithm; + +public final class TypeTransform +{ + private static byte[] a(byte[] paramArrayOfByte) + { + int j = paramArrayOfByte.length; + byte[] arrayOfByte = new byte[j]; + int i = 0; + while (i < j) + { + arrayOfByte[i] = paramArrayOfByte[(j - 1 - i)]; + i += 1; + } + return arrayOfByte; + } + + public static int byteArrayHLToInt(byte[] paramArrayOfByte) + { + return byteArrayHLToInt(paramArrayOfByte, 0); + } + + public static int byteArrayHLToInt(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[paramInt] & 0xFF) << 24 | (paramArrayOfByte[(paramInt + 1)] & 0xFF) << 16 | (paramArrayOfByte[(paramInt + 2)] & 0xFF) << 8 | (paramArrayOfByte[(paramInt + 3)] & 0xFF) << 0; + } + + public static long byteArrayHLToLong(byte[] paramArrayOfByte) + { + return byteArrayHLToLong(paramArrayOfByte, 0); + } + + public static long byteArrayHLToLong(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[paramInt] & 0xFF) << 56 | (paramArrayOfByte[(paramInt + 1)] & 0xFF) << 48 | (paramArrayOfByte[(paramInt + 2)] & 0xFF) << 40 | (paramArrayOfByte[(paramInt + 3)] & 0xFF) << 32 | (paramArrayOfByte[(paramInt + 4)] & 0xFF) << 24 | (paramArrayOfByte[(paramInt + 5)] & 0xFF) << 16 | (paramArrayOfByte[(paramInt + 6)] & 0xFF) << 8 | (paramArrayOfByte[(paramInt + 7)] & 0xFF) << 0; + } + + public static int byteArrayLHToInt(byte[] paramArrayOfByte) + { + return byteArrayLHToInt(paramArrayOfByte, 0); + } + + public static int byteArrayLHToInt(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[(paramInt + 3)] & 0xFF) << 24 | (paramArrayOfByte[(paramInt + 2)] & 0xFF) << 16 | (paramArrayOfByte[(paramInt + 1)] & 0xFF) << 8 | (paramArrayOfByte[paramInt] & 0xFF) << 0; + } + + public static long byteArrayLHToLong(byte[] paramArrayOfByte) + { + return byteArrayLHToLong(paramArrayOfByte, 0); + } + + public static long byteArrayLHToLong(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[(paramInt + 7)] & 0xFF) << 56 | (paramArrayOfByte[(paramInt + 6)] & 0xFF) << 48 | (paramArrayOfByte[5] & 0xFF) << 40 | (paramArrayOfByte[(paramInt + 4)] & 0xFF) << 32 | (paramArrayOfByte[(paramInt + 3)] & 0xFF) << 24 | (paramArrayOfByte[(paramInt + 2)] & 0xFF) << 16 | (paramArrayOfByte[(paramInt + 1)] & 0xFF) << 8 | (paramArrayOfByte[paramInt] & 0xFF) << 0; + } + + public static byte[] intToByteArrayHL(int paramInt) + { + return a(intToByteArrayLH(paramInt)); + } + + public static byte[] intToByteArrayLH(int paramInt) + { + byte[] arrayOfByte = new byte[4]; + int i = 0; + while (i < 4) + { + arrayOfByte[i] = ((byte)(paramInt >> i * 8 & 0xFF)); + i += 1; + } + return arrayOfByte; + } + + public static byte[] longToByteArrayHL(long paramLong) + { + return a(longToByteArrayLH(paramLong)); + } + + public static byte[] longToByteArrayLH(long paramLong) + { + byte[] arrayOfByte = new byte[8]; + int i = 0; + while (i < 8) + { + arrayOfByte[i] = ((byte)(int)(paramLong >> i * 8)); + i += 1; + } + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.TypeTransform + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/algorithm/UIN.java b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/UIN.java new file mode 100755 index 00000000000..de066d3ecc2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/algorithm/UIN.java @@ -0,0 +1,64 @@ +package com.tencent.mm.algorithm; + +public class UIN + extends Number +{ + private int h = 0; + + public UIN(int paramInt) + { + this.h = paramInt; + } + + public UIN(long paramLong) + { + this.h = ((int)(0xFFFFFFFF & paramLong)); + } + + public static int valueOf(String paramString) + { + try + { + int i = new UIN(Long.valueOf(paramString).longValue()).intValue(); + return i; + } + catch (Exception paramString) {} + return 0; + } + + public double doubleValue() + { + return (this.h | 0L) + 0.0D; + } + + public float floatValue() + { + return (float)((this.h | 0L) + 0.0D); + } + + public int intValue() + { + return this.h; + } + + public long longValue() + { + return this.h & 0xFFFFFFFF; + } + + public String toString() + { + return String.valueOf(this.h & 0xFFFFFFFF); + } + + public int value() + { + return this.h; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.algorithm.UIN + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/platformtools/CnToSpell.java b/com.tencent.token/classes.jar/com/tencent/mm/platformtools/CnToSpell.java new file mode 100755 index 00000000000..c791719aab0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/platformtools/CnToSpell.java @@ -0,0 +1,53 @@ +package com.tencent.mm.platformtools; + +public class CnToSpell +{ + public static String getFullSpell(String paramString) + { + if ((paramString == null) || ("".equals(paramString.trim()))) { + return paramString; + } + paramString = paramString.toCharArray(); + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + int j = paramString.length; + while (i < j) + { + String str = SpellMap.getSpell(paramString[i]); + if (str != null) { + localStringBuffer.append(str); + } + i += 1; + } + return localStringBuffer.toString(); + } + + public static String getInitial(String paramString) + { + if ((paramString == null) || ("".equals(paramString.trim()))) { + return paramString; + } + paramString = paramString.toCharArray(); + StringBuffer localStringBuffer = new StringBuffer(); + int j = paramString.length; + int i = 0; + while (i < j) + { + if (!Character.isSpace(paramString[i])) + { + String str = SpellMap.getSpell(paramString[i]); + if ((str != null) && (str.length() > 0)) { + localStringBuffer.append(str.charAt(0)); + } + } + i += 1; + } + return localStringBuffer.toString().toUpperCase(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.platformtools.CnToSpell + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/platformtools/SpellMap.java b/com.tencent.token/classes.jar/com/tencent/mm/platformtools/SpellMap.java new file mode 100755 index 00000000000..e3906c75c35 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/platformtools/SpellMap.java @@ -0,0 +1,73 @@ +package com.tencent.mm.platformtools; + +import java.io.UnsupportedEncodingException; + +public class SpellMap +{ + private static int a(char paramChar) + { + if (paramChar <= '€') { + return paramChar; + } + try + { + byte[] arrayOfByte = String.valueOf(paramChar).getBytes("GBK"); + if ((arrayOfByte == null) || (arrayOfByte.length > 2) || (arrayOfByte.length <= 0)) { + return 0; + } + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + return 0; + } + if (localUnsupportedEncodingException.length == 1) { + return localUnsupportedEncodingException[0]; + } + if (localUnsupportedEncodingException.length == 2) { + return (localUnsupportedEncodingException[0] + 256 << 16) + (localUnsupportedEncodingException[1] + 256); + } + return 0; + } + + public static String getSpell(char paramChar) + { + Object localObject = null; + int j = a(paramChar); + if (j < 65536) { + localObject = String.valueOf(paramChar); + } + for (;;) + { + return localObject; + int i = j >> 16; + j &= 0xFF; + String str; + if ((i < 129) || (i > 253)) { + str = null; + } + while (str != null) + { + localObject = str.split(","); + if ((localObject != null) && (localObject.length >= 2)) { + break label110; + } + return str; + if ((j < 63) || (j > 254)) { + str = null; + } else { + str = spellGetJni(i - 129, j - 63); + } + } + } + label110: + return localObject[0]; + } + + public static native String spellGetJni(int paramInt1, int paramInt2); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.platformtools.SpellMap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/Build.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/Build.java new file mode 100755 index 00000000000..50d771e557e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/Build.java @@ -0,0 +1,16 @@ +package com.tencent.mm.sdk; + +public final class Build +{ + public static final int EMOJI_SUPPORTED_SDK_INT = 553844737; + public static final int MUSIC_DATA_URL_SUPPORTED_SDK_INT = 553910273; + public static final int SDK_INT = 553910273; + public static final String SDK_VERSION_NAME = "android 1.4.1 rev 1"; + public static final int TIMELINE_SUPPORTED_SDK_INT = 553779201; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.Build + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/ConstantsUI.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/ConstantsUI.java new file mode 100755 index 00000000000..5c1ef320f5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/ConstantsUI.java @@ -0,0 +1,17 @@ +package com.tencent.mm.sdk; + +public final class ConstantsUI +{ + public static final String PREF_FILE_PATH = ""; + + public static final class Contact + { + public static final String KUser = "Contact_User"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.ConstantsUI + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMAppMgr.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMAppMgr.java new file mode 100755 index 00000000000..05f92cf009b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMAppMgr.java @@ -0,0 +1,27 @@ +package com.tencent.mm.sdk; + +import android.content.Context; +import android.content.SharedPreferences; +import com.tencent.mm.sdk.plugin.IMMPluginAPI; +import com.tencent.mm.sdk.plugin.MMPluginUtil; + +public final class MMAppMgr +{ + public static void activate(boolean paramBoolean) {} + + public static IMMPluginAPI getPluginMgr(Context paramContext) + { + return MMPluginUtil.queryPluginMgr(paramContext); + } + + public static SharedPreferences getSharedPreferences(Context paramContext, int paramInt) + { + return new MMSharedPreferences(paramContext); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.MMAppMgr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMSharedPreferences.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMSharedPreferences.java new file mode 100755 index 00000000000..1905b58da67 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/MMSharedPreferences.java @@ -0,0 +1,273 @@ +package com.tencent.mm.sdk; + +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.database.Cursor; +import com.tencent.mm.sdk.plugin.MMPluginProviderConstants.Resolver; +import com.tencent.mm.sdk.plugin.MMPluginProviderConstants.SharedPref; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class MMSharedPreferences + implements SharedPreferences +{ + private final String[] columns = { "_id", "key", "type", "value" }; + private final ContentResolver i; + private final HashMap j = new HashMap(); + private REditor k = null; + + public MMSharedPreferences(Context paramContext) + { + this.i = paramContext.getContentResolver(); + } + + private Object getValue(String paramString) + { + for (;;) + { + try + { + Cursor localCursor = this.i.query(MMPluginProviderConstants.SharedPref.CONTENT_URI, this.columns, "key = ?", new String[] { paramString }, null); + if (localCursor == null) { + return null; + } + int m = localCursor.getColumnIndex("type"); + int n = localCursor.getColumnIndex("value"); + if (localCursor.moveToFirst()) + { + paramString = MMPluginProviderConstants.Resolver.resolveObj(localCursor.getInt(m), localCursor.getString(n)); + localCursor.close(); + return paramString; + } + } + catch (Exception paramString) + { + paramString.printStackTrace(); + return null; + } + paramString = null; + } + } + + public boolean contains(String paramString) + { + return getValue(paramString) != null; + } + + public SharedPreferences.Editor edit() + { + if (this.k == null) { + this.k = new REditor(this.i); + } + return this.k; + } + + public Map getAll() + { + try + { + Cursor localCursor = this.i.query(MMPluginProviderConstants.SharedPref.CONTENT_URI, this.columns, null, null, null); + if (localCursor == null) { + return null; + } + int m = localCursor.getColumnIndex("key"); + int n = localCursor.getColumnIndex("type"); + int i1 = localCursor.getColumnIndex("value"); + while (localCursor.moveToNext()) + { + Object localObject = MMPluginProviderConstants.Resolver.resolveObj(localCursor.getInt(n), localCursor.getString(i1)); + this.j.put(localCursor.getString(m), localObject); + } + localException.close(); + } + catch (Exception localException) + { + localException.printStackTrace(); + return this.j; + } + HashMap localHashMap = this.j; + return localHashMap; + } + + public boolean getBoolean(String paramString, boolean paramBoolean) + { + paramString = getValue(paramString); + boolean bool = paramBoolean; + if (paramString != null) + { + bool = paramBoolean; + if ((paramString instanceof Boolean)) { + bool = ((Boolean)paramString).booleanValue(); + } + } + return bool; + } + + public float getFloat(String paramString, float paramFloat) + { + paramString = getValue(paramString); + float f = paramFloat; + if (paramString != null) + { + f = paramFloat; + if ((paramString instanceof Float)) { + f = ((Float)paramString).floatValue(); + } + } + return f; + } + + public int getInt(String paramString, int paramInt) + { + paramString = getValue(paramString); + int m = paramInt; + if (paramString != null) + { + m = paramInt; + if ((paramString instanceof Integer)) { + m = ((Integer)paramString).intValue(); + } + } + return m; + } + + public long getLong(String paramString, long paramLong) + { + paramString = getValue(paramString); + long l = paramLong; + if (paramString != null) + { + l = paramLong; + if ((paramString instanceof Long)) { + l = ((Long)paramString).longValue(); + } + } + return l; + } + + public String getString(String paramString1, String paramString2) + { + paramString1 = getValue(paramString1); + if ((paramString1 != null) && ((paramString1 instanceof String))) { + return (String)paramString1; + } + return paramString2; + } + + public Set getStringSet(String paramString, Set paramSet) + { + return null; + } + + public void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener paramOnSharedPreferenceChangeListener) {} + + public void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener paramOnSharedPreferenceChangeListener) {} + + private static class REditor + implements SharedPreferences.Editor + { + private ContentResolver i; + private Map l = new HashMap(); + private Set m = new HashSet(); + private boolean n = false; + + public REditor(ContentResolver paramContentResolver) + { + this.i = paramContentResolver; + } + + public void apply() {} + + public SharedPreferences.Editor clear() + { + this.n = true; + return this; + } + + public boolean commit() + { + ContentValues localContentValues = new ContentValues(); + if (this.n) + { + this.i.delete(MMPluginProviderConstants.SharedPref.CONTENT_URI, null, null); + this.n = false; + } + Iterator localIterator = this.m.iterator(); + Object localObject; + while (localIterator.hasNext()) + { + localObject = (String)localIterator.next(); + this.i.delete(MMPluginProviderConstants.SharedPref.CONTENT_URI, "key = ?", new String[] { localObject }); + } + localIterator = this.l.entrySet().iterator(); + while (localIterator.hasNext()) + { + localObject = (Map.Entry)localIterator.next(); + if (MMPluginProviderConstants.Resolver.unresolveObj(localContentValues, ((Map.Entry)localObject).getValue())) { + this.i.update(MMPluginProviderConstants.SharedPref.CONTENT_URI, localContentValues, "key = ?", new String[] { (String)((Map.Entry)localObject).getKey() }); + } + } + return true; + } + + public SharedPreferences.Editor putBoolean(String paramString, boolean paramBoolean) + { + this.l.put(paramString, Boolean.valueOf(paramBoolean)); + this.m.remove(paramString); + return this; + } + + public SharedPreferences.Editor putFloat(String paramString, float paramFloat) + { + this.l.put(paramString, Float.valueOf(paramFloat)); + this.m.remove(paramString); + return this; + } + + public SharedPreferences.Editor putInt(String paramString, int paramInt) + { + this.l.put(paramString, Integer.valueOf(paramInt)); + this.m.remove(paramString); + return this; + } + + public SharedPreferences.Editor putLong(String paramString, long paramLong) + { + this.l.put(paramString, Long.valueOf(paramLong)); + this.m.remove(paramString); + return this; + } + + public SharedPreferences.Editor putString(String paramString1, String paramString2) + { + this.l.put(paramString1, paramString2); + this.m.remove(paramString1); + return this; + } + + public SharedPreferences.Editor putStringSet(String paramString, Set paramSet) + { + return null; + } + + public SharedPreferences.Editor remove(String paramString) + { + this.m.add(paramString); + return this; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.MMSharedPreferences + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/ConstantsMMessage.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/ConstantsMMessage.java new file mode 100755 index 00000000000..0630d0bb5aa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/ConstantsMMessage.java @@ -0,0 +1,16 @@ +package com.tencent.mm.sdk.channel; + +public class ConstantsMMessage +{ + public static final String ACTION_MESSAGE = "com.tencent.mm.sdk.channel.Intent.ACTION_MESSAGE"; + public static final String APP_PACKAGE = "_mmessage_appPackage"; + public static final String CHECK_SUM = "_mmessage_checksum"; + public static final String CONTENT = "_mmessage_content"; + public static final String SDK_VERSION = "_mmessage_sdkVersion"; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.channel.ConstantsMMessage + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessage.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessage.java new file mode 100755 index 00000000000..291854717f4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessage.java @@ -0,0 +1,94 @@ +package com.tencent.mm.sdk.channel; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.util.HashMap; +import java.util.Map; + +public class MMessage +{ + public static void send(Context paramContext, String paramString1, String paramString2) + { + send(paramContext, paramString1, "com.tencent.mm.sdk.channel.Intent.ACTION_MESSAGE", paramString2); + } + + public static void send(Context paramContext, String paramString1, String paramString2, String paramString3) + { + send(paramContext, paramString1, paramString2, paramString3, null); + } + + public static boolean send(Context paramContext, String paramString1, String paramString2, String paramString3, Bundle paramBundle) + { + paramString1 = paramString1 + ".permission.MM_MESSAGE"; + paramString2 = new Intent(paramString2); + if (paramBundle != null) { + paramString2.putExtras(paramBundle); + } + paramBundle = paramContext.getPackageName(); + paramString2.putExtra("_mmessage_sdkVersion", 553910273); + paramString2.putExtra("_mmessage_appPackage", paramBundle); + paramString2.putExtra("_mmessage_content", paramString3); + paramString2.putExtra("_mmessage_checksum", MMessageUtil.a(paramString3, paramBundle)); + paramContext.sendBroadcast(paramString2, paramString1); + Log.d("MicroMsg.SDK.MMessage", "send mm message, intent=" + paramString2 + ", perm=" + paramString1); + return true; + } + + public static abstract interface CallBack + { + public abstract void handleMessage(Intent paramIntent); + } + + public static final class Receiver + extends BroadcastReceiver + { + public static final Map callbacks = new HashMap(); + private final MMessage.CallBack o; + + public Receiver() + { + this(null); + } + + public Receiver(MMessage.CallBack paramCallBack) + { + this.o = paramCallBack; + } + + public static void registerCallBack(String paramString, MMessage.CallBack paramCallBack) + { + callbacks.put(paramString, paramCallBack); + } + + public static void unregisterCallBack(String paramString) + { + callbacks.remove(paramString); + } + + public final void onReceive(Context paramContext, Intent paramIntent) + { + Log.d("MicroMsg.SDK.MMessage", "receive intent=" + paramIntent); + if (this.o != null) + { + this.o.handleMessage(paramIntent); + Log.d("MicroMsg.SDK.MMessage", "mm message self-handled"); + } + do + { + return; + paramContext = (MMessage.CallBack)callbacks.get(paramIntent.getAction()); + } while (paramContext == null); + paramContext.handleMessage(paramIntent); + Log.d("MicroMsg.SDK.MMessage", "mm message handled"); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.channel.MMessage + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageAct.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageAct.java new file mode 100755 index 00000000000..f567039a2f2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageAct.java @@ -0,0 +1,67 @@ +package com.tencent.mm.sdk.channel; + +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class MMessageAct +{ + public static boolean send(Context paramContext, String paramString1, String paramString2) + { + return send(paramContext, paramString1, paramString1 + ".wxapi.WXEntryActivity", paramString2, null); + } + + public static boolean send(Context paramContext, String paramString1, String paramString2, Bundle paramBundle) + { + return send(paramContext, paramString1, paramString1 + ".wxapi.WXEntryActivity", paramString2, paramBundle); + } + + public static boolean send(Context paramContext, String paramString1, String paramString2, String paramString3, Bundle paramBundle) + { + if ((paramContext == null) || (paramString1 == null) || (paramString1.length() == 0) || (paramString2 == null) || (paramString2.length() == 0)) + { + Log.e("MicroMsg.SDK.MMessageAct", "send fail, invalid arguments"); + return false; + } + Intent localIntent = new Intent(); + localIntent.setClassName(paramString1, paramString2); + if (paramBundle != null) { + localIntent.putExtras(paramBundle); + } + paramString1 = paramContext.getPackageName(); + localIntent.putExtra("_mmessage_sdkVersion", 553910273); + localIntent.putExtra("_mmessage_appPackage", paramString1); + localIntent.putExtra("_mmessage_content", paramString3); + localIntent.putExtra("_mmessage_checksum", MMessageUtil.a(paramString3, paramString1)); + localIntent.addFlags(268435456).addFlags(134217728); + try + { + paramContext.startActivity(localIntent); + Log.d("MicroMsg.SDK.MMessageAct", "send mm message, intent=" + localIntent); + return true; + } + catch (ActivityNotFoundException paramContext) + { + Log.e("MicroMsg.SDK.MMessageAct", "send fail, target ActivityNotFound"); + } + return false; + } + + public static boolean sendToWx(Context paramContext, String paramString) + { + return send(paramContext, "com.tencent.mm", "com.tencent.mm.plugin.base.stub.WXEntryActivity", paramString, null); + } + + public static boolean sendToWx(Context paramContext, String paramString, Bundle paramBundle) + { + return send(paramContext, "com.tencent.mm", "com.tencent.mm.plugin.base.stub.WXEntryActivity", paramString, paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.channel.MMessageAct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageUtil.java new file mode 100755 index 00000000000..973eb9944e8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/MMessageUtil.java @@ -0,0 +1,24 @@ +package com.tencent.mm.sdk.channel; + +import com.tencent.mm.algorithm.MD5; + +class MMessageUtil +{ + static byte[] a(String paramString1, String paramString2) + { + StringBuffer localStringBuffer = new StringBuffer(); + if (paramString1 != null) { + localStringBuffer.append(paramString1); + } + localStringBuffer.append(553910273); + localStringBuffer.append(paramString2); + localStringBuffer.append("mMcShCsTr"); + return MD5.getMessageDigest(localStringBuffer.toString().substring(1, 9).getBytes()).getBytes(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.channel.MMessageUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/package-info.java new file mode 100755 index 00000000000..670bde18a55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/channel/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk.channel; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.channel.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/EventPoolFactory.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/EventPoolFactory.java new file mode 100755 index 00000000000..05f09374e55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/EventPoolFactory.java @@ -0,0 +1,39 @@ +package com.tencent.mm.sdk.event; + +import android.os.Looper; + +public final class EventPoolFactory +{ + public static IEventPool impl = null; + + public static final IEventPool getImpl() + { + return impl; + } + + public static final void setImpl(IEventPool paramIEventPool) + { + impl = paramIEventPool; + } + + public static abstract interface IEventPool + { + public abstract boolean add(String paramString, IListener paramIListener); + + public abstract void asyncPublish(IEvent paramIEvent); + + public abstract void asyncPublish(IEvent paramIEvent, Looper paramLooper); + + public abstract void publish(IEvent paramIEvent); + + public abstract void release(int paramInt); + + public abstract boolean remove(String paramString, IListener paramIListener); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.event.EventPoolFactory + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IEvent.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IEvent.java new file mode 100755 index 00000000000..da61b4aa151 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IEvent.java @@ -0,0 +1,22 @@ +package com.tencent.mm.sdk.event; + +public abstract interface IEvent +{ + public static final int EVENT_SCOPE_APPLICATION = 2; + public static final int EVENT_SCOPE_SESSION = 1; + public static final int EVENT_SCOPE_TEMPL = 0; + + public abstract String getId(); + + public abstract String getScope(); + + public abstract boolean isOrder(); + + public abstract void oncomplete(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.event.IEvent + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IListener.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IListener.java new file mode 100755 index 00000000000..2143b009046 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/event/IListener.java @@ -0,0 +1,24 @@ +package com.tencent.mm.sdk.event; + +public abstract class IListener +{ + private final int priority; + + public IListener(int paramInt) + { + this.priority = paramInt; + } + + public abstract boolean callback(IEvent paramIEvent); + + public int getPriority() + { + return this.priority; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.event.IListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseReq.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseReq.java new file mode 100755 index 00000000000..035a9ce0236 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseReq.java @@ -0,0 +1,29 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; + +public abstract class BaseReq +{ + public String transaction; + + abstract boolean checkArgs(); + + public void fromBundle(Bundle paramBundle) + { + this.transaction = paramBundle.getString("_wxapi_basereq_transaction"); + } + + public abstract int getType(); + + public void toBundle(Bundle paramBundle) + { + paramBundle.putInt("_wxapi_command_type", getType()); + paramBundle.putString("_wxapi_basereq_transaction", this.transaction); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.BaseReq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseResp.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseResp.java new file mode 100755 index 00000000000..dab9e5907f6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/BaseResp.java @@ -0,0 +1,45 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; + +public abstract class BaseResp +{ + public int errCode; + public String errStr; + public String transaction; + + abstract boolean checkArgs(); + + public void fromBundle(Bundle paramBundle) + { + this.errCode = paramBundle.getInt("_wxapi_baseresp_errcode"); + this.errStr = paramBundle.getString("_wxapi_baseresp_errstr"); + this.transaction = paramBundle.getString("_wxapi_baseresp_transaction"); + } + + public abstract int getType(); + + public void toBundle(Bundle paramBundle) + { + paramBundle.putInt("_wxapi_command_type", getType()); + paramBundle.putInt("_wxapi_baseresp_errcode", this.errCode); + paramBundle.putString("_wxapi_baseresp_errstr", this.errStr); + paramBundle.putString("_wxapi_baseresp_transaction", this.transaction); + } + + public static abstract interface ErrCode + { + public static final int ERR_AUTH_DENIED = -4; + public static final int ERR_COMM = -1; + public static final int ERR_OK = 0; + public static final int ERR_SENT_FAILED = -3; + public static final int ERR_UNSUPPORT = -5; + public static final int ERR_USER_CANCEL = -2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.BaseResp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ConstantsAPI.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ConstantsAPI.java new file mode 100755 index 00000000000..df07b7c3d8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ConstantsAPI.java @@ -0,0 +1,21 @@ +package com.tencent.mm.sdk.openapi; + +public abstract interface ConstantsAPI +{ + public static final String ACTION_HANDLE_APP_REGISTER = "com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER"; + public static final String ACTION_HANDLE_APP_UNREGISTER = "com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER"; + public static final String ACTION_REFRESH_WXAPP = "com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP"; + public static final int COMMAND_GETMESSAGE_FROM_WX = 3; + public static final int COMMAND_SENDAUTH = 1; + public static final int COMMAND_SENDMESSAGE_TO_WX = 2; + public static final int COMMAND_SHOWMESSAGE_FROM_WX = 4; + public static final int COMMAND_UNKNOWN = 0; + public static final String WX_TOKEN_KEY = "wx_token_key"; + public static final String WX_TOKEN_VALUE = "com.tencent.mm.openapi.token"; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.ConstantsAPI + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/GetMessageFromWX.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/GetMessageFromWX.java new file mode 100755 index 00000000000..3eca872f211 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/GetMessageFromWX.java @@ -0,0 +1,86 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public final class GetMessageFromWX +{ + public static class Req + extends BaseReq + { + public String username; + + public Req() {} + + public Req(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + return true; + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + } + + public int getType() + { + return 3; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + } + } + + public static class Resp + extends BaseResp + { + public WXMediaMessage message; + + public Resp() {} + + public Resp(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + if (this.message == null) + { + Log.e("MicroMsg.SDK.GetMessageFromWX.Resp", "checkArgs fail, message is null"); + return false; + } + return this.message.checkArgs(); + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + this.message = WXMediaMessage.Builder.fromBundle(paramBundle); + } + + public int getType() + { + return 3; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + paramBundle.putAll(WXMediaMessage.Builder.toBundle(this.message)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.GetMessageFromWX + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPI.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPI.java new file mode 100755 index 00000000000..707b35fb0b7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPI.java @@ -0,0 +1,30 @@ +package com.tencent.mm.sdk.openapi; + +import android.content.Intent; + +public abstract interface IWXAPI +{ + public abstract int getWXAppSupportAPI(); + + public abstract boolean handleIntent(Intent paramIntent, IWXAPIEventHandler paramIWXAPIEventHandler); + + public abstract boolean isWXAppInstalled(); + + public abstract boolean isWXAppSupportAPI(); + + public abstract boolean openWXApp(); + + public abstract boolean registerApp(String paramString); + + public abstract boolean sendReq(BaseReq paramBaseReq); + + public abstract boolean sendResp(BaseResp paramBaseResp); + + public abstract void unregisterApp(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.IWXAPI + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPIEventHandler.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPIEventHandler.java new file mode 100755 index 00000000000..54b1cf3367b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/IWXAPIEventHandler.java @@ -0,0 +1,14 @@ +package com.tencent.mm.sdk.openapi; + +public abstract interface IWXAPIEventHandler +{ + public abstract void onReq(BaseReq paramBaseReq); + + public abstract void onResp(BaseResp paramBaseResp); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.IWXAPIEventHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendAuth.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendAuth.java new file mode 100755 index 00000000000..9c54cbb6521 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendAuth.java @@ -0,0 +1,111 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public final class SendAuth +{ + public static class Req + extends BaseReq + { + public String scope; + public String state; + + public Req() {} + + public Req(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + if ((this.scope == null) || (this.scope.length() == 0) || (this.scope.length() > 1024)) + { + Log.e("MicroMsg.SDK.SendAuth.Req", "checkArgs fail, scope is invalid"); + return false; + } + if ((this.state != null) && (this.state.length() > 1024)) + { + Log.e("MicroMsg.SDK.SendAuth.Req", "checkArgs fail, state is invalid"); + return false; + } + return true; + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + this.scope = paramBundle.getString("_wxapi_sendauth_req_scope"); + this.state = paramBundle.getString("_wxapi_sendauth_req_state"); + } + + public int getType() + { + return 1; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + paramBundle.putString("_wxapi_sendauth_req_scope", this.scope); + paramBundle.putString("_wxapi_sendauth_req_state", this.state); + } + } + + public static class Resp + extends BaseResp + { + public int expireDate; + public String resultUrl; + public String state; + public String token; + public String userName; + + public Resp() {} + + public Resp(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + if ((this.state != null) && (this.state.length() > 1024)) + { + Log.e("MicroMsg.SDK.SendAuth.Resp", "checkArgs fail, state is invalid"); + return false; + } + return true; + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + this.userName = paramBundle.getString("_wxapi_sendauth_resp_userName"); + this.token = paramBundle.getString("_wxapi_sendauth_resp_token"); + this.expireDate = paramBundle.getInt("_wxapi_sendauth_resp_expireDate", 0); + this.state = paramBundle.getString("_wxapi_sendauth_resp_state"); + } + + public int getType() + { + return 1; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + paramBundle.putString("_wxapi_sendauth_resp_userName", this.userName); + paramBundle.putString("_wxapi_sendauth_resp_token", this.token); + paramBundle.putInt("_wxapi_sendauth_resp_expireDate", this.expireDate); + paramBundle.putString("_wxapi_sendauth_resp_state", this.state); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.SendAuth + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendMessageToWX.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendMessageToWX.java new file mode 100755 index 00000000000..257315ef4f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/SendMessageToWX.java @@ -0,0 +1,89 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class SendMessageToWX +{ + public static class Req + extends BaseReq + { + public static final int WXSceneSession = 0; + public static final int WXSceneTimeline = 1; + public WXMediaMessage message; + public int scene; + + public Req() {} + + public Req(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + if (this.message == null) + { + Log.e("MicroMsg.SDK.SendMessageToWX.Req", "checkArgs fail ,message is null"); + return false; + } + return this.message.checkArgs(); + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + this.message = WXMediaMessage.Builder.fromBundle(paramBundle); + this.scene = paramBundle.getInt("_wxapi_sendmessagetowx_req_scene"); + } + + public int getType() + { + return 2; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + paramBundle.putAll(WXMediaMessage.Builder.toBundle(this.message)); + paramBundle.putInt("_wxapi_sendmessagetowx_req_scene", this.scene); + } + } + + public static class Resp + extends BaseResp + { + public Resp() {} + + public Resp(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + return true; + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + } + + public int getType() + { + return 2; + } + + public void toBundle(Bundle paramBundle) + { + super.toBundle(paramBundle); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.SendMessageToWX + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ShowMessageFromWX.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ShowMessageFromWX.java new file mode 100755 index 00000000000..98dc59419f1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/ShowMessageFromWX.java @@ -0,0 +1,72 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; + +public class ShowMessageFromWX +{ + public static class Req + extends BaseReq + { + public WXMediaMessage message; + + public Req() {} + + public Req(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + if (this.message == null) { + return false; + } + return this.message.checkArgs(); + } + + public void fromBundle(Bundle paramBundle) + { + super.fromBundle(paramBundle); + this.message = WXMediaMessage.Builder.fromBundle(paramBundle); + } + + public int getType() + { + return 4; + } + + public void toBundle(Bundle paramBundle) + { + Bundle localBundle = WXMediaMessage.Builder.toBundle(this.message); + super.toBundle(localBundle); + paramBundle.putAll(localBundle); + } + } + + public static class Resp + extends BaseResp + { + public Resp() {} + + public Resp(Bundle paramBundle) + { + fromBundle(paramBundle); + } + + final boolean checkArgs() + { + return true; + } + + public int getType() + { + return 4; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.ShowMessageFromWX + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAPIFactory.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAPIFactory.java new file mode 100755 index 00000000000..3c7d17113cb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAPIFactory.java @@ -0,0 +1,30 @@ +package com.tencent.mm.sdk.openapi; + +import android.content.Context; + +public class WXAPIFactory +{ + private static WXAPIFactory p = null; + + public static IWXAPI createWXAPI(Context paramContext, String paramString) + { + if (p == null) { + p = new WXAPIFactory(); + } + return new WXApiImplV10(paramContext, paramString); + } + + public static IWXAPI createWXAPI(Context paramContext, String paramString, boolean paramBoolean) + { + if (p == null) { + p = new WXAPIFactory(); + } + return new WXApiImplV10(paramContext, paramString, paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXAPIFactory + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXApiImplV10.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXApiImplV10.java new file mode 100755 index 00000000000..47b38f4ee9c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXApiImplV10.java @@ -0,0 +1,274 @@ +package com.tencent.mm.sdk.openapi; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.Signature; +import android.os.Bundle; +import com.tencent.mm.algorithm.MD5; +import com.tencent.mm.sdk.MMSharedPreferences; +import com.tencent.mm.sdk.channel.MMessage; +import com.tencent.mm.sdk.channel.MMessageAct; +import com.tencent.mm.sdk.platformtools.Log; + +final class WXApiImplV10 + implements IWXAPI +{ + private Context q; + private String r; + private boolean s = false; + + protected WXApiImplV10(Context paramContext, String paramString) + { + this(paramContext, paramString, false); + } + + protected WXApiImplV10(Context paramContext, String paramString, boolean paramBoolean) + { + this.q = paramContext; + this.r = paramString; + this.s = paramBoolean; + } + + private boolean a(String paramString) + { + if (!this.s) + { + Log.d("MicroMsg.SDK.WXApiImplV10", "ignore wechat app signature validation"); + return true; + } + try + { + paramString = this.q.getPackageManager().getPackageInfo(paramString, 64); + return a(paramString.signatures); + } + catch (PackageManager.NameNotFoundException paramString) {} + return false; + } + + private static boolean a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0) || (paramArrayOfByte2 == null) || (paramArrayOfByte2.length == 0)) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "checkSumConsistent fail, invalid arguments"); + return false; + } + if (paramArrayOfByte1.length != paramArrayOfByte2.length) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "checkSumConsistent fail, length is different"); + return false; + } + int i = 0; + for (;;) + { + if (i >= paramArrayOfByte1.length) { + break label67; + } + if (paramArrayOfByte1[i] != paramArrayOfByte2[i]) { + break; + } + i += 1; + } + label67: + return true; + } + + private boolean a(Signature[] paramArrayOfSignature) + { + if (!this.s) + { + Log.d("MicroMsg.SDK.WXApiImplV10", "ignore wechat app signature validation"); + return true; + } + int j = paramArrayOfSignature.length; + int i = 0; + while (i < j) + { + String str = paramArrayOfSignature[i].toCharsString(); + Log.d("MicroMsg.SDK.WXApiImplV10", "check signature:" + str); + if (str.equals("308202eb30820254a00302010202044d36f7a4300d06092a864886f70d01010505003081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e74301e170d3131303131393134333933325a170d3431303131313134333933325a3081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100c05f34b231b083fb1323670bfbe7bdab40c0c0a6efc87ef2072a1ff0d60cc67c8edb0d0847f210bea6cbfaa241be70c86daf56be08b723c859e52428a064555d80db448cdcacc1aea2501eba06f8bad12a4fa49d85cacd7abeb68945a5cb5e061629b52e3254c373550ee4e40cb7c8ae6f7a8151ccd8df582d446f39ae0c5e930203010001300d06092a864886f70d0101050500038181009c8d9d7f2f908c42081b4c764c377109a8b2c70582422125ce545842d5f520aea69550b6bd8bfd94e987b75a3077eb04ad341f481aac266e89d3864456e69fba13df018acdc168b9a19dfd7ad9d9cc6f6ace57c746515f71234df3a053e33ba93ece5cd0fc15f3e389a3f365588a9fcb439e069d3629cd7732a13fff7b891499")) + { + Log.d("MicroMsg.SDK.WXApiImplV10", "pass"); + return true; + } + i += 1; + } + return false; + } + + public final int getWXAppSupportAPI() + { + if (!isWXAppInstalled()) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "open wx app failed, not installed or signature check failed"); + return 0; + } + return new MMSharedPreferences(this.q).getInt("_build_info_sdk_int_", 0); + } + + public final boolean handleIntent(Intent paramIntent, IWXAPIEventHandler paramIWXAPIEventHandler) + { + if (paramIntent == null) { + i = 0; + } + while (i == 0) + { + return false; + str1 = paramIntent.getStringExtra("wx_token_key"); + if ((str1 == null) || (!str1.equals("com.tencent.mm.openapi.token"))) { + i = 0; + } else { + i = 1; + } + } + String str1 = paramIntent.getStringExtra("_mmessage_content"); + int i = paramIntent.getIntExtra("_mmessage_sdkVersion", 0); + String str2 = paramIntent.getStringExtra("_mmessage_appPackage"); + if ((str2 == null) || (str2.length() == 0)) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "invalid argument"); + return false; + } + byte[] arrayOfByte = paramIntent.getByteArrayExtra("_mmessage_checksum"); + StringBuffer localStringBuffer = new StringBuffer(); + if (str1 != null) { + localStringBuffer.append(str1); + } + localStringBuffer.append(i); + localStringBuffer.append(str2); + localStringBuffer.append("mMcShCsTr"); + if (!a(arrayOfByte, MD5.getMessageDigest(localStringBuffer.toString().substring(1, 9).getBytes()).getBytes())) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "checksum fail"); + return false; + } + switch (paramIntent.getIntExtra("_wxapi_command_type", 0)) + { + default: + return false; + case 1: + paramIWXAPIEventHandler.onResp(new SendAuth.Resp(paramIntent.getExtras())); + return true; + case 2: + paramIWXAPIEventHandler.onResp(new SendMessageToWX.Resp(paramIntent.getExtras())); + return true; + case 3: + paramIWXAPIEventHandler.onReq(new GetMessageFromWX.Req(paramIntent.getExtras())); + return true; + } + paramIWXAPIEventHandler.onReq(new ShowMessageFromWX.Req(paramIntent.getExtras())); + return true; + } + + public final boolean isWXAppInstalled() + { + try + { + PackageInfo localPackageInfo = this.q.getPackageManager().getPackageInfo("com.tencent.mm", 64); + if (localPackageInfo == null) { + return false; + } + boolean bool = a(localPackageInfo.signatures); + return bool; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) {} + return false; + } + + public final boolean isWXAppSupportAPI() + { + return getWXAppSupportAPI() >= 553910273; + } + + public final boolean openWXApp() + { + if (!isWXAppInstalled()) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "open wx app failed, not installed or signature check failed"); + return false; + } + try + { + this.q.startActivity(this.q.getPackageManager().getLaunchIntentForPackage("com.tencent.mm")); + return true; + } + catch (Exception localException) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "startActivity fail, exception = " + localException.getMessage()); + } + return false; + } + + public final boolean registerApp(String paramString) + { + if (!a("com.tencent.mm")) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "register app failed for wechat app signature check failed"); + return false; + } + if (paramString != null) { + this.r = paramString; + } + Log.d("MicroMsg.SDK.WXApiImplV10", "register app " + this.q.getPackageName()); + MMessage.send(this.q, "com.tencent.mm", "com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER", "weixin://registerapp?appid=" + this.r); + return true; + } + + public final boolean sendReq(BaseReq paramBaseReq) + { + if (!a("com.tencent.mm")) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "sendReq failed for wechat app signature check failed"); + return false; + } + if (!paramBaseReq.checkArgs()) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "sendReq checkArgs fail"); + return false; + } + Bundle localBundle = new Bundle(); + paramBaseReq.toBundle(localBundle); + return MMessageAct.sendToWx(this.q, "weixin://sendreq?appid=" + this.r, localBundle); + } + + public final boolean sendResp(BaseResp paramBaseResp) + { + if (!a("com.tencent.mm")) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "sendResp failed for wechat app signature check failed"); + return false; + } + if (!paramBaseResp.checkArgs()) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "sendResp checkArgs fail"); + return false; + } + Bundle localBundle = new Bundle(); + paramBaseResp.toBundle(localBundle); + return MMessageAct.sendToWx(this.q, "weixin://sendresp?appid=" + this.r, localBundle); + } + + public final void unregisterApp() + { + if (!a("com.tencent.mm")) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "unregister app failed for wechat app signature check failed"); + return; + } + if ((this.r == null) || (this.r.length() == 0)) + { + Log.e("MicroMsg.SDK.WXApiImplV10", "unregisterApp fail, appId is empty"); + return; + } + Log.d("MicroMsg.SDK.WXApiImplV10", "unregister app " + this.q.getPackageName()); + MMessage.send(this.q, "com.tencent.mm", "com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER", "weixin://unregisterapp?appid=" + this.r); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXApiImplV10 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppExtendObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppExtendObject.java new file mode 100755 index 00000000000..446613511ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppExtendObject.java @@ -0,0 +1,96 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.io.File; + +public class WXAppExtendObject + implements WXMediaMessage.IMediaObject +{ + public String extInfo; + public byte[] fileData; + public String filePath; + + public WXAppExtendObject() {} + + public WXAppExtendObject(String paramString1, String paramString2) + { + this.extInfo = paramString1; + this.filePath = paramString2; + } + + public WXAppExtendObject(String paramString, byte[] paramArrayOfByte) + { + this.extInfo = paramString; + this.fileData = paramArrayOfByte; + } + + public boolean checkArgs() + { + if (((this.extInfo == null) || (this.extInfo.length() == 0)) && ((this.filePath == null) || (this.filePath.length() == 0)) && ((this.fileData == null) || (this.fileData.length == 0))) + { + Log.e("MicroMsg.SDK.WXAppExtendObject", "checkArgs fail, all arguments is null"); + return false; + } + if ((this.extInfo != null) && (this.extInfo.length() > 2048)) + { + Log.e("MicroMsg.SDK.WXAppExtendObject", "checkArgs fail, extInfo is invalid"); + return false; + } + if ((this.filePath != null) && (this.filePath.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXAppExtendObject", "checkArgs fail, filePath is invalid"); + return false; + } + if (this.filePath != null) + { + Object localObject = this.filePath; + int i; + if ((localObject == null) || (((String)localObject).length() == 0)) { + i = 0; + } + while (i > 10485760) + { + Log.e("MicroMsg.SDK.WXAppExtendObject", "checkArgs fail, fileSize is too large"); + return false; + localObject = new File((String)localObject); + if (!((File)localObject).exists()) { + i = 0; + } else { + i = (int)((File)localObject).length(); + } + } + } + if ((this.fileData != null) && (this.fileData.length > 10485760)) + { + Log.e("MicroMsg.SDK.WXAppExtendObject", "checkArgs fail, fileData is too large"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putString("_wxappextendobject_extInfo", this.extInfo); + paramBundle.putByteArray("_wxappextendobject_fileData", this.fileData); + paramBundle.putString("_wxappextendobject_filePath", this.filePath); + } + + public int type() + { + return 7; + } + + public void unserialize(Bundle paramBundle) + { + this.extInfo = paramBundle.getString("_wxappextendobject_extInfo"); + this.fileData = paramBundle.getByteArray("_wxappextendobject_fileData"); + this.filePath = paramBundle.getString("_wxappextendobject_filePath"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXAppExtendObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppLaunchData.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppLaunchData.java new file mode 100755 index 00000000000..f48a4819bd9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXAppLaunchData.java @@ -0,0 +1,37 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; + +public final class WXAppLaunchData +{ + public static final String ACTION_HANDLE_WXAPPLAUNCH = ".ACTION_HANDLE_WXAPPLAUNCH"; + public static final String ACTION_HANDLE_WXAPP_RESULT = ".ACTION_HANDLE_WXAPP_RESULT"; + public static final String ACTION_HANDLE_WXAPP_SHOW = ".ACTION_HANDLE_WXAPP_SHOW"; + public int launchType; + public String message; + + public static class Builder + { + public static WXAppLaunchData fromBundle(Bundle paramBundle) + { + WXAppLaunchData localWXAppLaunchData = new WXAppLaunchData(); + localWXAppLaunchData.launchType = paramBundle.getInt("_wxapplaunchdata_launchType"); + localWXAppLaunchData.message = paramBundle.getString("_wxapplaunchdata_message"); + return localWXAppLaunchData; + } + + public static Bundle toBundle(WXAppLaunchData paramWXAppLaunchData) + { + Bundle localBundle = new Bundle(); + localBundle.putInt("_wxapplaunchdata_launchType", paramWXAppLaunchData.launchType); + localBundle.putString("_wxapplaunchdata_message", paramWXAppLaunchData.message); + return localBundle; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXAppLaunchData + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXEmojiObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXEmojiObject.java new file mode 100755 index 00000000000..5f68c705bf4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXEmojiObject.java @@ -0,0 +1,95 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.io.File; + +public class WXEmojiObject + implements WXMediaMessage.IMediaObject +{ + public byte[] emojiData; + public String emojiPath; + + public WXEmojiObject() + { + this.emojiData = null; + this.emojiPath = null; + } + + public WXEmojiObject(String paramString) + { + this.emojiPath = paramString; + } + + public WXEmojiObject(byte[] paramArrayOfByte) + { + this.emojiData = paramArrayOfByte; + } + + public boolean checkArgs() + { + if (((this.emojiData == null) || (this.emojiData.length == 0)) && ((this.emojiPath == null) || (this.emojiPath.length() == 0))) + { + Log.e("MicroMsg.SDK.WXEmojiObject", "checkArgs fail, both arguments is null"); + return false; + } + if ((this.emojiData != null) && (this.emojiData.length > 10485760)) + { + Log.e("MicroMsg.SDK.WXEmojiObject", "checkArgs fail, emojiData is too large"); + return false; + } + if (this.emojiPath != null) + { + Object localObject = this.emojiPath; + int i; + if ((localObject == null) || (((String)localObject).length() == 0)) { + i = 0; + } + while (i > 10485760) + { + Log.e("MicroMsg.SDK.WXEmojiObject", "checkArgs fail, emojiSize is too large"); + return false; + localObject = new File((String)localObject); + if (!((File)localObject).exists()) { + i = 0; + } else { + i = (int)((File)localObject).length(); + } + } + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putByteArray("_wxemojiobject_emojiData", this.emojiData); + paramBundle.putString("_wxemojiobject_emojiPath", this.emojiPath); + } + + public void setEmojiData(byte[] paramArrayOfByte) + { + this.emojiData = paramArrayOfByte; + } + + public void setEmojiPath(String paramString) + { + this.emojiPath = paramString; + } + + public int type() + { + return 8; + } + + public void unserialize(Bundle paramBundle) + { + this.emojiData = paramBundle.getByteArray("_wxemojiobject_emojiData"); + this.emojiPath = paramBundle.getString("_wxemojiobject_emojiPath"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXEmojiObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXFileObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXFileObject.java new file mode 100755 index 00000000000..99414a01eae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXFileObject.java @@ -0,0 +1,95 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.io.File; + +public class WXFileObject + implements WXMediaMessage.IMediaObject +{ + public byte[] fileData; + public String filePath; + + public WXFileObject() + { + this.fileData = null; + this.filePath = null; + } + + public WXFileObject(String paramString) + { + this.filePath = paramString; + } + + public WXFileObject(byte[] paramArrayOfByte) + { + this.fileData = paramArrayOfByte; + } + + public boolean checkArgs() + { + if (((this.fileData == null) || (this.fileData.length == 0)) && ((this.filePath == null) || (this.filePath.length() == 0))) + { + Log.e("MicroMsg.SDK.WXFileObject", "checkArgs fail, both arguments is null"); + return false; + } + if ((this.fileData != null) && (this.fileData.length > 10485760)) + { + Log.e("MicroMsg.SDK.WXFileObject", "checkArgs fail, fileData is too large"); + return false; + } + if (this.filePath != null) + { + Object localObject = this.filePath; + int i; + if ((localObject == null) || (((String)localObject).length() == 0)) { + i = 0; + } + while (i > 10485760) + { + Log.e("MicroMsg.SDK.WXFileObject", "checkArgs fail, fileSize is too large"); + return false; + localObject = new File((String)localObject); + if (!((File)localObject).exists()) { + i = 0; + } else { + i = (int)((File)localObject).length(); + } + } + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putByteArray("_wxfileobject_fileData", this.fileData); + paramBundle.putString("_wxfileobject_filePath", this.filePath); + } + + public void setFileData(byte[] paramArrayOfByte) + { + this.fileData = paramArrayOfByte; + } + + public void setFilePath(String paramString) + { + this.filePath = paramString; + } + + public int type() + { + return 6; + } + + public void unserialize(Bundle paramBundle) + { + this.fileData = paramBundle.getByteArray("_wxfileobject_fileData"); + this.filePath = paramBundle.getString("_wxfileobject_filePath"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXFileObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXImageObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXImageObject.java new file mode 100755 index 00000000000..37e9ba4bb8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXImageObject.java @@ -0,0 +1,113 @@ +package com.tencent.mm.sdk.openapi; + +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.io.ByteArrayOutputStream; +import java.io.File; + +public class WXImageObject + implements WXMediaMessage.IMediaObject +{ + public byte[] imageData; + public String imagePath; + public String imageUrl; + + public WXImageObject() {} + + public WXImageObject(Bitmap paramBitmap) + { + try + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + paramBitmap.compress(Bitmap.CompressFormat.JPEG, 85, localByteArrayOutputStream); + this.imageData = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.close(); + return; + } + catch (Exception paramBitmap) + { + paramBitmap.printStackTrace(); + } + } + + public WXImageObject(byte[] paramArrayOfByte) + { + this.imageData = paramArrayOfByte; + } + + public boolean checkArgs() + { + if (((this.imageData == null) || (this.imageData.length == 0)) && ((this.imagePath == null) || (this.imagePath.length() == 0)) && ((this.imageUrl == null) || (this.imageUrl.length() == 0))) + { + Log.e("MicroMsg.SDK.WXImageObject", "checkArgs fail, all arguments are null"); + return false; + } + if ((this.imageData != null) && (this.imageData.length > 10485760)) + { + Log.e("MicroMsg.SDK.WXImageObject", "checkArgs fail, content is too large"); + return false; + } + if ((this.imagePath != null) && (this.imagePath.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXImageObject", "checkArgs fail, path is invalid"); + return false; + } + if (this.imagePath != null) + { + Object localObject = this.imagePath; + int i; + if ((localObject == null) || (((String)localObject).length() == 0)) { + i = 0; + } + while (i > 10485760) + { + Log.e("MicroMsg.SDK.WXImageObject", "checkArgs fail, image content is too large"); + return false; + localObject = new File((String)localObject); + if (!((File)localObject).exists()) { + i = 0; + } else { + i = (int)((File)localObject).length(); + } + } + } + if ((this.imageUrl != null) && (this.imageUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXImageObject", "checkArgs fail, url is invalid"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putByteArray("_wximageobject_imageData", this.imageData); + paramBundle.putString("_wximageobject_imagePath", this.imagePath); + paramBundle.putString("_wximageobject_imageUrl", this.imageUrl); + } + + public void setImagePath(String paramString) + { + this.imagePath = paramString; + } + + public int type() + { + return 2; + } + + public void unserialize(Bundle paramBundle) + { + this.imageData = paramBundle.getByteArray("_wximageobject_imageData"); + this.imagePath = paramBundle.getString("_wximageobject_imagePath"); + this.imageUrl = paramBundle.getString("_wximageobject_imageUrl"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXImageObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMediaMessage.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMediaMessage.java new file mode 100755 index 00000000000..be83bdffbb4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMediaMessage.java @@ -0,0 +1,154 @@ +package com.tencent.mm.sdk.openapi; + +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; +import java.io.ByteArrayOutputStream; + +public final class WXMediaMessage +{ + public static final String ACTION_WXAPPMESSAGE = "com.tencent.mm.sdk.openapi.Intent.ACTION_WXAPPMESSAGE"; + public String description; + public IMediaObject mediaObject; + public int sdkVer; + public byte[] thumbData; + public String title; + + public WXMediaMessage() + { + this(null); + } + + public WXMediaMessage(IMediaObject paramIMediaObject) + { + this.mediaObject = paramIMediaObject; + } + + final boolean checkArgs() + { + if ((getType() == 8) && ((this.thumbData == null) || (this.thumbData.length == 0))) + { + Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, thumbData should not be null when send emoji"); + return false; + } + if ((this.thumbData != null) && (this.thumbData.length > 32768)) + { + Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, thumbData is invalid"); + return false; + } + if ((this.title != null) && (this.title.length() > 512)) + { + Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, title is invalid"); + return false; + } + if ((this.description != null) && (this.description.length() > 1024)) + { + Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, description is invalid"); + return false; + } + if (this.mediaObject == null) + { + Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, mediaObject is null"); + return false; + } + return this.mediaObject.checkArgs(); + } + + public final int getType() + { + if (this.mediaObject == null) { + return 0; + } + return this.mediaObject.type(); + } + + public final void setThumbImage(Bitmap paramBitmap) + { + try + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + paramBitmap.compress(Bitmap.CompressFormat.JPEG, 85, localByteArrayOutputStream); + this.thumbData = localByteArrayOutputStream.toByteArray(); + localByteArrayOutputStream.close(); + return; + } + catch (Exception paramBitmap) + { + paramBitmap.printStackTrace(); + Log.e("MicroMsg.SDK.WXMediaMessage", "put thumb failed"); + } + } + + public static class Builder + { + public static final String KEY_IDENTIFIER = "_wxobject_identifier_"; + + public static WXMediaMessage fromBundle(Bundle paramBundle) + { + WXMediaMessage localWXMediaMessage = new WXMediaMessage(); + localWXMediaMessage.sdkVer = paramBundle.getInt("_wxobject_sdkVer"); + localWXMediaMessage.title = paramBundle.getString("_wxobject_title"); + localWXMediaMessage.description = paramBundle.getString("_wxobject_description"); + localWXMediaMessage.thumbData = paramBundle.getByteArray("_wxobject_thumbdata"); + String str = paramBundle.getString("_wxobject_identifier_"); + if ((str == null) || (str.length() <= 0)) { + return localWXMediaMessage; + } + try + { + localWXMediaMessage.mediaObject = ((WXMediaMessage.IMediaObject)Class.forName(str).newInstance()); + localWXMediaMessage.mediaObject.unserialize(paramBundle); + return localWXMediaMessage; + } + catch (Exception paramBundle) + { + paramBundle.printStackTrace(); + Log.e("MicroMsg.SDK.WXMediaMessage", "get media object from bundle failed: unknown ident " + str); + } + return localWXMediaMessage; + } + + public static Bundle toBundle(WXMediaMessage paramWXMediaMessage) + { + Bundle localBundle = new Bundle(); + localBundle.putInt("_wxobject_sdkVer", paramWXMediaMessage.sdkVer); + localBundle.putString("_wxobject_title", paramWXMediaMessage.title); + localBundle.putString("_wxobject_description", paramWXMediaMessage.description); + localBundle.putByteArray("_wxobject_thumbdata", paramWXMediaMessage.thumbData); + if (paramWXMediaMessage.mediaObject != null) + { + localBundle.putString("_wxobject_identifier_", paramWXMediaMessage.mediaObject.getClass().getName()); + paramWXMediaMessage.mediaObject.serialize(localBundle); + } + return localBundle; + } + } + + public static abstract interface IMediaObject + { + public static final int TYPE_APPDATA = 7; + public static final int TYPE_EMOJI = 8; + public static final int TYPE_FILE = 6; + public static final int TYPE_IMAGE = 2; + public static final int TYPE_MUSIC = 3; + public static final int TYPE_TEXT = 1; + public static final int TYPE_UNKNOWN = 0; + public static final int TYPE_URL = 5; + public static final int TYPE_VIDEO = 4; + + public abstract boolean checkArgs(); + + public abstract void serialize(Bundle paramBundle); + + public abstract int type(); + + public abstract void unserialize(Bundle paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXMediaMessage + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMusicObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMusicObject.java new file mode 100755 index 00000000000..7f233336a8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXMusicObject.java @@ -0,0 +1,60 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class WXMusicObject + implements WXMediaMessage.IMediaObject +{ + public String musicDataUrl; + public String musicLowBandDataUrl; + public String musicLowBandUrl; + public String musicUrl; + + public boolean checkArgs() + { + if (((this.musicUrl == null) || (this.musicUrl.length() == 0)) && ((this.musicLowBandUrl == null) || (this.musicLowBandUrl.length() == 0))) + { + Log.e("MicroMsg.SDK.WXMusicObject", "both arguments are null"); + return false; + } + if ((this.musicUrl != null) && (this.musicUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXMusicObject", "checkArgs fail, musicUrl is too long"); + return false; + } + if ((this.musicLowBandUrl != null) && (this.musicLowBandUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXMusicObject", "checkArgs fail, musicLowBandUrl is too long"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putString("_wxmusicobject_musicUrl", this.musicUrl); + paramBundle.putString("_wxmusicobject_musicLowBandUrl", this.musicLowBandUrl); + paramBundle.putString("_wxmusicobject_musicDataUrl", this.musicDataUrl); + paramBundle.putString("_wxmusicobject_musicLowBandDataUrl", this.musicLowBandDataUrl); + } + + public int type() + { + return 3; + } + + public void unserialize(Bundle paramBundle) + { + this.musicUrl = paramBundle.getString("_wxmusicobject_musicUrl"); + this.musicLowBandUrl = paramBundle.getString("_wxmusicobject_musicLowBandUrl"); + this.musicDataUrl = paramBundle.getString("_wxmusicobject_musicDataUrl"); + this.musicLowBandDataUrl = paramBundle.getString("_wxmusicobject_musicLowBandDataUrl"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXMusicObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXTextObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXTextObject.java new file mode 100755 index 00000000000..873e80e4142 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXTextObject.java @@ -0,0 +1,51 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class WXTextObject + implements WXMediaMessage.IMediaObject +{ + public String text; + + public WXTextObject() + { + this(null); + } + + public WXTextObject(String paramString) + { + this.text = paramString; + } + + public boolean checkArgs() + { + if ((this.text == null) || (this.text.length() == 0) || (this.text.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXTextObject", "checkArgs fail, text is invalid"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putString("_wxtextobject_text", this.text); + } + + public int type() + { + return 1; + } + + public void unserialize(Bundle paramBundle) + { + this.text = paramBundle.getString("_wxtextobject_text"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXTextObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXVideoObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXVideoObject.java new file mode 100755 index 00000000000..97e1e4ea31b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXVideoObject.java @@ -0,0 +1,54 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class WXVideoObject + implements WXMediaMessage.IMediaObject +{ + public String videoLowBandUrl; + public String videoUrl; + + public boolean checkArgs() + { + if (((this.videoUrl == null) || (this.videoUrl.length() == 0)) && ((this.videoLowBandUrl == null) || (this.videoLowBandUrl.length() == 0))) + { + Log.e("MicroMsg.SDK.WXVideoObject", "both arguments are null"); + return false; + } + if ((this.videoUrl != null) && (this.videoUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXVideoObject", "checkArgs fail, videoUrl is too long"); + return false; + } + if ((this.videoLowBandUrl != null) && (this.videoLowBandUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXVideoObject", "checkArgs fail, videoLowBandUrl is too long"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putString("_wxvideoobject_videoUrl", this.videoUrl); + paramBundle.putString("_wxvideoobject_videoLowBandUrl", this.videoLowBandUrl); + } + + public int type() + { + return 4; + } + + public void unserialize(Bundle paramBundle) + { + this.videoUrl = paramBundle.getString("_wxvideoobject_videoUrl"); + this.videoLowBandUrl = paramBundle.getString("_wxvideoobject_videoLowBandUrl"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXVideoObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXWebpageObject.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXWebpageObject.java new file mode 100755 index 00000000000..7266c80932e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/WXWebpageObject.java @@ -0,0 +1,48 @@ +package com.tencent.mm.sdk.openapi; + +import android.os.Bundle; +import com.tencent.mm.sdk.platformtools.Log; + +public class WXWebpageObject + implements WXMediaMessage.IMediaObject +{ + public String webpageUrl; + + public WXWebpageObject() {} + + public WXWebpageObject(String paramString) + { + this.webpageUrl = paramString; + } + + public boolean checkArgs() + { + if ((this.webpageUrl == null) || (this.webpageUrl.length() == 0) || (this.webpageUrl.length() > 10240)) + { + Log.e("MicroMsg.SDK.WXWebpageObject", "checkArgs fail, webpageUrl is invalid"); + return false; + } + return true; + } + + public void serialize(Bundle paramBundle) + { + paramBundle.putString("_wxwebpageobject_webpageUrl", this.webpageUrl); + } + + public int type() + { + return 5; + } + + public void unserialize(Bundle paramBundle) + { + this.webpageUrl = paramBundle.getString("_wxwebpageobject_webpageUrl"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.WXWebpageObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/package-info.java new file mode 100755 index 00000000000..93ab48cb9ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/openapi/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk.openapi; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.openapi.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/package-info.java new file mode 100755 index 00000000000..96d23f50327 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl21below.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl21below.java new file mode 100755 index 00000000000..f281c34a2f1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl21below.java @@ -0,0 +1,21 @@ +package com.tencent.mm.sdk.platformtools; + +import android.view.View; +import android.view.animation.Animation; + +class AnimationHelperImpl21below + implements BackwardSupportUtil.AnimationHelper.IHelper +{ + public void cancelAnimation(View paramView, Animation paramAnimation) + { + if (paramView != null) { + paramView.setAnimation(null); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.AnimationHelperImpl21below + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl22.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl22.java new file mode 100755 index 00000000000..853d03868da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/AnimationHelperImpl22.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.platformtools; + +import android.view.View; +import android.view.animation.Animation; + +class AnimationHelperImpl22 + implements BackwardSupportUtil.AnimationHelper.IHelper +{ + public void cancelAnimation(View paramView, Animation paramAnimation) + { + paramAnimation.cancel(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.AnimationHelperImpl22 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BackwardSupportUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BackwardSupportUtil.java new file mode 100755 index 00000000000..a6653988b6a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BackwardSupportUtil.java @@ -0,0 +1,209 @@ +package com.tencent.mm.sdk.platformtools; + +import android.app.Activity; +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Bitmap.Config; +import android.graphics.BitmapFactory; +import android.graphics.BitmapFactory.Options; +import android.media.ExifInterface; +import android.os.Build.VERSION; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.WindowManager; +import android.view.animation.Animation; +import android.widget.ListView; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; + +public class BackwardSupportUtil +{ + public static final int ANDROID_API_LEVEL_16 = 16; + + public static class AnimationHelper + { + public static void cancelAnimation(View paramView, Animation paramAnimation) + { + if (Build.VERSION.SDK_INT >= 8) + { + new AnimationHelperImpl22().cancelAnimation(paramView, paramAnimation); + return; + } + new AnimationHelperImpl21below().cancelAnimation(paramView, paramAnimation); + } + + public static void overridePendingTransition(Activity paramActivity, int paramInt1, int paramInt2) + { + paramActivity.overridePendingTransition(paramInt1, paramInt2); + } + + public static abstract interface IHelper + { + public abstract void cancelAnimation(View paramView, Animation paramAnimation); + } + } + + public static class BitmapFactory + { + public static Bitmap decodeFile(String paramString, float paramFloat) + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + paramFloat = 160.0F * paramFloat; + localOptions.inDensity = ((int)paramFloat); + paramString = BitmapFactory.decodeFile(paramString, localOptions); + if (paramString != null) { + paramString.setDensity((int)paramFloat); + } + return paramString; + } + + public static Bitmap decodeStream(InputStream paramInputStream) + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + localOptions.inDensity = 160; + localOptions.inPreferredConfig = Bitmap.Config.ARGB_8888; + return BitmapFactory.decodeStream(paramInputStream, null, localOptions); + } + + public static Bitmap decodeStream(InputStream paramInputStream, float paramFloat) + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + localOptions.inDensity = ((int)(160.0F * paramFloat)); + localOptions.inPreferredConfig = Bitmap.Config.ARGB_8888; + return BitmapFactory.decodeStream(paramInputStream, null, localOptions); + } + + public static int fromDPToPix(Context paramContext, float paramFloat) + { + DisplayMetrics localDisplayMetrics = new DisplayMetrics(); + ((WindowManager)paramContext.getSystemService("window")).getDefaultDisplay().getMetrics(localDisplayMetrics); + return Math.round(localDisplayMetrics.densityDpi * paramFloat / 160.0F); + } + + public static Bitmap getBitmapFromURL(String paramString) + { + try + { + Log.d("MicroMsg.SDK.BackwardSupportUtil", "get bitmap from url:" + paramString); + paramString = (HttpURLConnection)new URL(paramString).openConnection(); + paramString.setDoInput(true); + paramString.connect(); + paramString = paramString.getInputStream(); + Bitmap localBitmap = decodeStream(paramString); + paramString.close(); + return localBitmap; + } + catch (IOException paramString) + { + paramString = paramString; + Log.e("MicroMsg.SDK.BackwardSupportUtil", "get bitmap from url failed"); + paramString.printStackTrace(); + return null; + } + finally {} + } + + public static String getDisplayDensityType(Context paramContext) + { + Object localObject = paramContext.getResources().getDisplayMetrics(); + Configuration localConfiguration = paramContext.getResources().getConfiguration(); + if (((DisplayMetrics)localObject).density < 1.0F) + { + paramContext = "" + "LDPI"; + localObject = new StringBuilder().append(paramContext); + if (localConfiguration.orientation != 2) { + break label136; + } + } + label136: + for (paramContext = "_L";; paramContext = "_P") + { + return paramContext; + if (((DisplayMetrics)localObject).density >= 1.5F) + { + paramContext = "" + "HDPI"; + break; + } + paramContext = "" + "MDPI"; + break; + } + } + } + + public static class ExifHelper + { + public static int getExifOrientation(String paramString) + { + try + { + paramString = new ExifInterface(paramString); + int i; + if (paramString != null) + { + i = paramString.getAttributeInt("Orientation", -1); + if (i == -1) {} + } + switch (i) + { + case 4: + case 5: + case 7: + default: + return 0; + } + } + catch (IOException paramString) + { + for (;;) + { + Log.e("MicroMsg.SDK.BackwardSupportUtil", "cannot read exif" + paramString); + paramString = null; + } + return 90; + } + return 180; + return 270; + } + } + + public static class SmoothScrollFactory + { + public static void scrollTo(ListView paramListView, int paramInt) + { + if (Build.VERSION.SDK_INT >= 8) + { + new SmoothScrollToPosition22().doScroll(paramListView, paramInt); + return; + } + new SmoothScrollToPosition21below().doScroll(paramListView, paramInt); + } + + public static void scrollToTop(ListView paramListView) + { + if (Build.VERSION.SDK_INT >= 8) + { + new SmoothScrollToPosition22().doScroll(paramListView); + return; + } + new SmoothScrollToPosition21below().doScroll(paramListView); + } + + public static abstract interface IScroll + { + public abstract void doScroll(ListView paramListView); + + public abstract void doScroll(ListView paramListView, int paramInt); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.BackwardSupportUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BluetoothUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BluetoothUtil.java new file mode 100755 index 00000000000..831ace689ef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/BluetoothUtil.java @@ -0,0 +1,34 @@ +package com.tencent.mm.sdk.platformtools; + +import android.media.AudioManager; +import android.os.Build.VERSION; + +public class BluetoothUtil +{ + public static boolean startBluetooth(AudioManager paramAudioManager) + { + if (Integer.valueOf(Build.VERSION.SDK).intValue() >= 8) + { + if ((!paramAudioManager.isBluetoothScoAvailableOffCall()) || (PhoneStatusWatcher.isCalling())) { + return false; + } + paramAudioManager.startBluetoothSco(); + paramAudioManager.setBluetoothScoOn(true); + return true; + } + return false; + } + + public static void stopBluetooth(AudioManager paramAudioManager) + { + if ((Integer.valueOf(Build.VERSION.SDK).intValue() >= 8) && (!PhoneStatusWatcher.isCalling())) { + paramAudioManager.stopBluetoothSco(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.BluetoothUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ChannelUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ChannelUtil.java new file mode 100755 index 00000000000..db7aba52e24 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ChannelUtil.java @@ -0,0 +1,124 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.res.AssetManager; +import android.net.Uri; +import android.os.Build.VERSION; +import java.util.Map; + +public final class ChannelUtil +{ + public static final int FLAG_NULL = 0; + public static final int FLAG_UPDATE_EXTERNAL = 1; + public static final int FLAG_UPDATE_NOTIP = 2; + public static int buildRev; + public static int channelId = 0; + public static boolean fullVersionInfo = false; + public static String marketURL; + public static String profileDeviceType = Build.VERSION.SDK_INT; + public static boolean shouldShowGprsAlert = false; + public static int updateMode = 0; + + static + { + buildRev = 0; + marketURL = "market://details?id=" + MMApplicationContext.getPackageName(); + } + + public static String formatVersion(Context paramContext, int paramInt) + { + int i = paramInt >> 8 & 0xFF; + if (i == 0) {} + for (str1 = (paramInt >> 24 & 0xF) + "." + (paramInt >> 16 & 0xFF);; str1 = (paramInt >> 24 & 0xF) + "." + (paramInt >> 16 & 0xFF) + "." + i) + { + Log.d("MicroMsg.SDK.ChannelUtil", "minminor " + i); + i = 0xFFFFFFF & paramInt; + str2 = str1; + paramInt = i; + if (paramContext != null) { + paramInt = i; + } + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramContext.getPackageName(), 128); + str2 = str1; + paramInt = i; + if (paramContext != null) + { + paramInt = i; + i = paramContext.versionCode; + paramInt = i; + str2 = paramContext.versionName; + paramInt = i; + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + str2 = str1; + } + } + paramContext = str2; + if (fullVersionInfo) + { + paramContext = str2 + " r" + paramInt + "(build." + buildRev + ")"; + Log.d("MicroMsg.SDK.ChannelUtil", "full version: " + paramContext); + } + return paramContext; + } + } + + public static void loadProfile(Context paramContext) + { + try + { + paramContext = KVConfig.parseIni(Util.convertStreamToString(paramContext.getAssets().open("profile.ini"))); + String str = Util.nullAsNil((String)paramContext.get("PROFILE_DEVICE_TYPE")); + profileDeviceType = str; + if (str.length() <= 0) { + profileDeviceType = Build.VERSION.SDK_INT; + } + updateMode = Integer.parseInt((String)paramContext.get("UPDATE_MODE")); + buildRev = Integer.parseInt((String)paramContext.get("BUILD_REVISION")); + shouldShowGprsAlert = Boolean.parseBoolean((String)paramContext.get("GPRS_ALERT")); + android.util.Log.w("MicroMsg.SDK.ChannelUtil", "profileDeviceType=" + profileDeviceType); + android.util.Log.w("MicroMsg.SDK.ChannelUtil", "updateMode=" + updateMode); + android.util.Log.w("MicroMsg.SDK.ChannelUtil", "shouldShowGprsAlert=" + shouldShowGprsAlert); + paramContext = (String)paramContext.get("MARKET_URL"); + if ((paramContext != null) && (paramContext.trim().length() != 0) && (Uri.parse(paramContext) != null)) { + marketURL = paramContext; + } + android.util.Log.w("MicroMsg.SDK.ChannelUtil", "marketURL=" + marketURL); + return; + } + catch (Exception paramContext) + { + android.util.Log.e("MicroMsg.SDK.ChannelUtil", "setup profile from profile.ini failed"); + paramContext.printStackTrace(); + } + } + + public static void setupChannelId(Context paramContext) + { + try + { + channelId = Integer.parseInt((String)KVConfig.parseIni(Util.convertStreamToString(paramContext.getAssets().open("channel.ini"))).get("CHANNEL")); + return; + } + catch (Exception paramContext) + { + Log.e("MicroMsg.SDK.ChannelUtil", "setup channel id from channel.ini failed"); + paramContext.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.ChannelUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$1.java new file mode 100755 index 00000000000..ba6b002e1f7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$1.java @@ -0,0 +1,33 @@ +package com.tencent.mm.sdk.platformtools; + +final class CharSequences$1 + implements CharSequence +{ + CharSequences$1(byte[] paramArrayOfByte) {} + + public final char charAt(int paramInt) + { + return (char)this.u[paramInt]; + } + + public final int length() + { + return this.u.length; + } + + public final CharSequence subSequence(int paramInt1, int paramInt2) + { + return CharSequences.forAsciiBytes(this.u, paramInt1, paramInt2); + } + + public final String toString() + { + return new String(this.u); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.CharSequences.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$2.java new file mode 100755 index 00000000000..0edd658ed59 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences$2.java @@ -0,0 +1,36 @@ +package com.tencent.mm.sdk.platformtools; + +final class CharSequences$2 + implements CharSequence +{ + CharSequences$2(byte[] paramArrayOfByte, int paramInt1, int paramInt2) {} + + public final char charAt(int paramInt) + { + return (char)this.u[(this.v + paramInt)]; + } + + public final int length() + { + return this.w - this.v; + } + + public final CharSequence subSequence(int paramInt1, int paramInt2) + { + paramInt1 -= this.v; + paramInt2 -= this.v; + CharSequences.a(paramInt1, paramInt2, length()); + return CharSequences.forAsciiBytes(this.u, paramInt1, paramInt2); + } + + public final String toString() + { + return new String(this.u, this.v, length()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.CharSequences.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences.java new file mode 100755 index 00000000000..8c6e39b0c54 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/CharSequences.java @@ -0,0 +1,89 @@ +package com.tencent.mm.sdk.platformtools; + +public class CharSequences +{ + static void a(int paramInt1, int paramInt2, int paramInt3) + { + if (paramInt1 < 0) { + throw new IndexOutOfBoundsException(); + } + if (paramInt2 < 0) { + throw new IndexOutOfBoundsException(); + } + if (paramInt2 > paramInt3) { + throw new IndexOutOfBoundsException(); + } + if (paramInt1 > paramInt2) { + throw new IndexOutOfBoundsException(); + } + } + + public static int compareToIgnoreCase(CharSequence paramCharSequence1, CharSequence paramCharSequence2) + { + int k = 0; + int m = paramCharSequence1.length(); + int n = paramCharSequence2.length(); + int i; + int j; + if (m < n) + { + i = m; + j = 0; + } + for (;;) + { + if (j < i) + { + int i1 = Character.toLowerCase(paramCharSequence1.charAt(j)) - Character.toLowerCase(paramCharSequence2.charAt(k)); + if (i1 == 0) { + break label80; + } + return i1; + i = n; + break; + } + return m - n; + label80: + k += 1; + j += 1; + } + } + + public static boolean equals(CharSequence paramCharSequence1, CharSequence paramCharSequence2) + { + if (paramCharSequence1.length() != paramCharSequence2.length()) { + return false; + } + int j = paramCharSequence1.length(); + int i = 0; + for (;;) + { + if (i >= j) { + break label55; + } + if (paramCharSequence1.charAt(i) != paramCharSequence2.charAt(i)) { + break; + } + i += 1; + } + label55: + return true; + } + + public static CharSequence forAsciiBytes(byte[] paramArrayOfByte) + { + return new CharSequences.1(paramArrayOfByte); + } + + public static CharSequence forAsciiBytes(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + a(paramInt1, paramInt2, paramArrayOfByte.length); + return new CharSequences.2(paramArrayOfByte, paramInt1, paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.CharSequences + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilePathGenerator.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilePathGenerator.java new file mode 100755 index 00000000000..027bbf67fd2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilePathGenerator.java @@ -0,0 +1,119 @@ +package com.tencent.mm.sdk.platformtools; + +import com.tencent.mm.algorithm.MD5; +import java.io.File; +import java.io.IOException; + +public class FilePathGenerator +{ + public static final String ANDROID_DIR_SEP = "/"; + public static final int HASH_TYPE_ALL_MD5 = 2; + public static final int HASH_TYPE_HEAD_2_BYTE = 1; + public static final String NO_MEDIA_FILENAME = ".nomedia"; + + private static String b(String paramString) + { + if (Util.isNullOrNil(paramString)) {} + while (paramString.length() <= 4) { + return null; + } + return paramString.substring(0, 2) + "/" + paramString.substring(2, 4) + "/"; + } + + private static boolean c(String paramString) + { + try + { + File localFile = new File(paramString); + if (!localFile.exists()) + { + localFile.mkdirs(); + paramString = new File(paramString + ".nomedia"); + boolean bool = paramString.exists(); + if (bool) {} + } + try + { + paramString.createNewFile(); + return true; + } + catch (IOException paramString) + { + for (;;) + { + paramString.printStackTrace(); + } + } + return false; + } + catch (Exception paramString) {} + } + + public static String defGenPathWithOld(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, int paramInt) + { + String str = paramString1 + paramString3 + paramString4 + paramString5; + paramString2 = genPath(paramString2, paramString3, paramString4, paramString5, paramInt); + if ((Util.isNullOrNil(str)) || (Util.isNullOrNil(paramString2))) { + paramString1 = null; + } + do + { + do + { + return paramString1; + paramString3 = new File(paramString2); + paramString4 = new File(str); + paramString1 = paramString2; + } while (paramString3.exists()); + paramString1 = paramString2; + } while (!paramString4.exists()); + FilesCopy.copy(str, paramString2, false); + return paramString2; + } + + public static String genPath(String paramString1, String paramString2, String paramString3, String paramString4, int paramInt) + { + if (Util.isNullOrNil(paramString1)) {} + label134: + for (;;) + { + return null; + if (paramString1.endsWith("/")) + { + String str = ""; + if (paramInt == 1) { + str = b(paramString3); + } + for (;;) + { + if (Util.isNullOrNil(str)) { + break label134; + } + paramString1 = paramString1 + str; + if (!c(paramString1)) { + break; + } + return paramString1 + Util.nullAsNil(paramString2) + paramString3 + Util.nullAsNil(paramString4); + if (paramInt == 2) { + if (Util.isNullOrNil(paramString3)) { + str = null; + } else { + str = b(MD5.getMessageDigest(paramString3.getBytes())); + } + } + } + } + } + } + + public static enum DIR_HASH_TYPE + { + private DIR_HASH_TYPE() {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.FilePathGenerator + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilesCopy.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilesCopy.java new file mode 100755 index 00000000000..e04a0672e7b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/FilesCopy.java @@ -0,0 +1,400 @@ +package com.tencent.mm.sdk.platformtools; + +import java.io.File; + +public final class FilesCopy +{ + public static boolean copy(String paramString1, String paramString2, boolean paramBoolean) + { + int i = 0; + Object localObject = new File(paramString1); + if (!((File)localObject).exists()) {} + File localFile; + do + { + return false; + localFile = new File(paramString2); + if (!((File)localObject).isFile()) { + break; + } + } while ((!localFile.isFile()) && (localFile.exists())); + copyFile(paramString1, paramString2); + if (paramBoolean) { + ((File)localObject).delete(); + } + for (;;) + { + return true; + if (((File)localObject).isDirectory()) + { + if (!localFile.exists()) { + localFile.mkdir(); + } + if (!localFile.isDirectory()) { + break; + } + localObject = ((File)localObject).list(); + while (i < localObject.length) + { + copy(paramString1 + "/" + localObject[i], paramString2 + "/" + localObject[i], paramBoolean); + i += 1; + } + } + } + } + + /* Error */ + public static boolean copyAssets(android.content.Context paramContext, String paramString1, String paramString2) + { + // Byte code: + // 0: aload_0 + // 1: invokevirtual 67 android/content/Context:getAssets ()Landroid/content/res/AssetManager; + // 4: aload_1 + // 5: invokevirtual 73 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 8: astore 11 + // 10: new 75 java/io/FileOutputStream + // 13: dup + // 14: aload_2 + // 15: invokespecial 76 java/io/FileOutputStream: (Ljava/lang/String;)V + // 18: astore 10 + // 20: aload 10 + // 22: astore 9 + // 24: sipush 16384 + // 27: newarray byte + // 29: astore 12 + // 31: aload 10 + // 33: astore 9 + // 35: aload 11 + // 37: aload 12 + // 39: invokevirtual 82 java/io/InputStream:read ([B)I + // 42: istore_3 + // 43: iload_3 + // 44: iconst_m1 + // 45: if_icmpeq +40 -> 85 + // 48: aload 10 + // 50: astore 9 + // 52: aload 10 + // 54: aload 12 + // 56: iconst_0 + // 57: iload_3 + // 58: invokevirtual 86 java/io/FileOutputStream:write ([BII)V + // 61: goto -30 -> 31 + // 64: astore_1 + // 65: aload 10 + // 67: astore_0 + // 68: aload_0 + // 69: astore 9 + // 71: aload_1 + // 72: invokevirtual 89 java/lang/Exception:printStackTrace ()V + // 75: aload_0 + // 76: ifnull +175 -> 251 + // 79: aload_0 + // 80: invokevirtual 92 java/io/FileOutputStream:close ()V + // 83: iconst_0 + // 84: ireturn + // 85: aload 10 + // 87: astore 9 + // 89: new 13 java/io/File + // 92: dup + // 93: aload_2 + // 94: invokespecial 16 java/io/File: (Ljava/lang/String;)V + // 97: astore_2 + // 98: aload 10 + // 100: astore 9 + // 102: aload 11 + // 104: invokevirtual 93 java/io/InputStream:close ()V + // 107: aload 10 + // 109: astore 9 + // 111: aload_0 + // 112: invokevirtual 67 android/content/Context:getAssets ()Landroid/content/res/AssetManager; + // 115: aload_1 + // 116: invokevirtual 73 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 119: invokevirtual 97 java/io/InputStream:available ()I + // 122: istore_3 + // 123: aload 10 + // 125: astore 9 + // 127: aload_2 + // 128: invokevirtual 20 java/io/File:exists ()Z + // 131: ifeq +53 -> 184 + // 134: iload_3 + // 135: i2l + // 136: lstore 4 + // 138: aload 10 + // 140: astore 9 + // 142: aload_2 + // 143: invokevirtual 101 java/io/File:length ()J + // 146: lstore 6 + // 148: lload 4 + // 150: lload 6 + // 152: lcmp + // 153: ifne +31 -> 184 + // 156: iconst_1 + // 157: istore 8 + // 159: aload 10 + // 161: invokevirtual 92 java/io/FileOutputStream:close ()V + // 164: iload 8 + // 166: ireturn + // 167: astore_0 + // 168: ldc 103 + // 170: aconst_null + // 171: iconst_1 + // 172: anewarray 4 java/lang/Object + // 175: dup + // 176: iconst_0 + // 177: aload_0 + // 178: aastore + // 179: invokestatic 109 com/tencent/mm/sdk/platformtools/Log:e (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 182: iconst_0 + // 183: ireturn + // 184: iconst_0 + // 185: istore 8 + // 187: goto -28 -> 159 + // 190: astore_0 + // 191: ldc 103 + // 193: aconst_null + // 194: iconst_1 + // 195: anewarray 4 java/lang/Object + // 198: dup + // 199: iconst_0 + // 200: aload_0 + // 201: aastore + // 202: invokestatic 109 com/tencent/mm/sdk/platformtools/Log:e (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 205: iconst_0 + // 206: ireturn + // 207: astore_0 + // 208: aconst_null + // 209: astore 9 + // 211: aload 9 + // 213: ifnull +8 -> 221 + // 216: aload 9 + // 218: invokevirtual 92 java/io/FileOutputStream:close ()V + // 221: aload_0 + // 222: athrow + // 223: astore_1 + // 224: ldc 103 + // 226: aconst_null + // 227: iconst_1 + // 228: anewarray 4 java/lang/Object + // 231: dup + // 232: iconst_0 + // 233: aload_1 + // 234: aastore + // 235: invokestatic 109 com/tencent/mm/sdk/platformtools/Log:e (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 238: goto -17 -> 221 + // 241: astore_0 + // 242: goto -31 -> 211 + // 245: astore_1 + // 246: aconst_null + // 247: astore_0 + // 248: goto -180 -> 68 + // 251: iconst_0 + // 252: ireturn + // Local variable table: + // start length slot name signature + // 0 253 0 paramContext android.content.Context + // 0 253 1 paramString1 String + // 0 253 2 paramString2 String + // 42 93 3 i int + // 136 13 4 l1 long + // 146 5 6 l2 long + // 157 29 8 bool boolean + // 22 195 9 localObject Object + // 18 142 10 localFileOutputStream java.io.FileOutputStream + // 8 95 11 localInputStream java.io.InputStream + // 29 26 12 arrayOfByte byte[] + // Exception table: + // from to target type + // 24 31 64 java/lang/Exception + // 35 43 64 java/lang/Exception + // 52 61 64 java/lang/Exception + // 89 98 64 java/lang/Exception + // 102 107 64 java/lang/Exception + // 111 123 64 java/lang/Exception + // 127 134 64 java/lang/Exception + // 142 148 64 java/lang/Exception + // 159 164 167 java/io/IOException + // 79 83 190 java/io/IOException + // 0 20 207 finally + // 216 221 223 java/io/IOException + // 24 31 241 finally + // 35 43 241 finally + // 52 61 241 finally + // 71 75 241 finally + // 89 98 241 finally + // 102 107 241 finally + // 111 123 241 finally + // 127 134 241 finally + // 142 148 241 finally + // 0 20 245 java/lang/Exception + } + + /* Error */ + public static boolean copyFile(String paramString1, String paramString2) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: new 111 java/io/FileInputStream + // 6: dup + // 7: aload_0 + // 8: invokespecial 112 java/io/FileInputStream: (Ljava/lang/String;)V + // 11: astore 4 + // 13: new 75 java/io/FileOutputStream + // 16: dup + // 17: aload_1 + // 18: invokespecial 76 java/io/FileOutputStream: (Ljava/lang/String;)V + // 21: astore_0 + // 22: sipush 16384 + // 25: newarray byte + // 27: astore_1 + // 28: aload 4 + // 30: aload_1 + // 31: invokevirtual 113 java/io/FileInputStream:read ([B)I + // 34: istore_2 + // 35: iload_2 + // 36: iconst_m1 + // 37: if_icmpeq +45 -> 82 + // 40: aload_0 + // 41: aload_1 + // 42: iconst_0 + // 43: iload_2 + // 44: invokevirtual 86 java/io/FileOutputStream:write ([BII)V + // 47: goto -19 -> 28 + // 50: astore 5 + // 52: aload 4 + // 54: astore_1 + // 55: aload 5 + // 57: astore 4 + // 59: aload 4 + // 61: invokevirtual 89 java/lang/Exception:printStackTrace ()V + // 64: aload_1 + // 65: ifnull +7 -> 72 + // 68: aload_1 + // 69: invokevirtual 114 java/io/FileInputStream:close ()V + // 72: aload_0 + // 73: ifnull +143 -> 216 + // 76: aload_0 + // 77: invokevirtual 92 java/io/FileOutputStream:close ()V + // 80: iconst_0 + // 81: ireturn + // 82: iconst_1 + // 83: istore_3 + // 84: aload 4 + // 86: invokevirtual 114 java/io/FileInputStream:close ()V + // 89: aload_0 + // 90: invokevirtual 92 java/io/FileOutputStream:close ()V + // 93: iload_3 + // 94: ireturn + // 95: astore_0 + // 96: aload_0 + // 97: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 100: iconst_0 + // 101: ireturn + // 102: astore_1 + // 103: aload_1 + // 104: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 107: iconst_0 + // 108: istore_3 + // 109: goto -20 -> 89 + // 112: astore_1 + // 113: aload_1 + // 114: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 117: goto -45 -> 72 + // 120: astore_0 + // 121: aload_0 + // 122: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 125: iconst_0 + // 126: ireturn + // 127: astore_1 + // 128: aconst_null + // 129: astore_0 + // 130: aconst_null + // 131: astore 4 + // 133: aload 4 + // 135: ifnull +8 -> 143 + // 138: aload 4 + // 140: invokevirtual 114 java/io/FileInputStream:close ()V + // 143: aload_0 + // 144: ifnull +7 -> 151 + // 147: aload_0 + // 148: invokevirtual 92 java/io/FileOutputStream:close ()V + // 151: aload_1 + // 152: athrow + // 153: astore 4 + // 155: aload 4 + // 157: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 160: goto -17 -> 143 + // 163: astore_0 + // 164: aload_0 + // 165: invokevirtual 115 java/io/IOException:printStackTrace ()V + // 168: goto -17 -> 151 + // 171: astore_1 + // 172: aconst_null + // 173: astore_0 + // 174: goto -41 -> 133 + // 177: astore_1 + // 178: goto -45 -> 133 + // 181: astore 5 + // 183: aload_1 + // 184: astore 4 + // 186: aload 5 + // 188: astore_1 + // 189: goto -56 -> 133 + // 192: astore 4 + // 194: aconst_null + // 195: astore_0 + // 196: aload 5 + // 198: astore_1 + // 199: goto -140 -> 59 + // 202: astore 5 + // 204: aconst_null + // 205: astore_0 + // 206: aload 4 + // 208: astore_1 + // 209: aload 5 + // 211: astore 4 + // 213: goto -154 -> 59 + // 216: iconst_0 + // 217: ireturn + // Local variable table: + // start length slot name signature + // 0 218 0 paramString1 String + // 0 218 1 paramString2 String + // 34 10 2 i int + // 83 26 3 bool boolean + // 11 128 4 localObject1 Object + // 153 3 4 localIOException java.io.IOException + // 184 1 4 str String + // 192 15 4 localException1 java.lang.Exception + // 211 1 4 localException2 java.lang.Exception + // 1 1 5 localObject2 Object + // 50 6 5 localException3 java.lang.Exception + // 181 16 5 localObject3 Object + // 202 8 5 localException4 java.lang.Exception + // Exception table: + // from to target type + // 22 28 50 java/lang/Exception + // 28 35 50 java/lang/Exception + // 40 47 50 java/lang/Exception + // 89 93 95 java/io/IOException + // 84 89 102 java/io/IOException + // 68 72 112 java/io/IOException + // 76 80 120 java/io/IOException + // 3 13 127 finally + // 138 143 153 java/io/IOException + // 147 151 163 java/io/IOException + // 13 22 171 finally + // 22 28 177 finally + // 28 35 177 finally + // 40 47 177 finally + // 59 64 181 finally + // 3 13 192 java/lang/Exception + // 13 22 202 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.FilesCopy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/InetUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/InetUtil.java new file mode 100755 index 00000000000..c084b3f0ce4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/InetUtil.java @@ -0,0 +1,50 @@ +package com.tencent.mm.sdk.platformtools; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class InetUtil +{ + private static final Pattern A = Pattern.compile("^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$"); + private static final Pattern y = Pattern.compile("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$"); + private static final Pattern z = Pattern.compile("^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$"); + + public static InetAddress getByDottedAddress(String paramString) + { + if (isIPv4Address(paramString)) { + return InetAddress.getByName(paramString); + } + if (isIPv6Address(paramString)) { + return InetAddress.getByName(paramString); + } + throw new UnknownHostException("invalid ipv4 or ipv6 dotted string"); + } + + public static boolean isIPv4Address(String paramString) + { + return y.matcher(paramString).matches(); + } + + public static boolean isIPv6Address(String paramString) + { + return (isIPv6StdAddress(paramString)) || (isIPv6HexCompressedAddress(paramString)); + } + + public static boolean isIPv6HexCompressedAddress(String paramString) + { + return A.matcher(paramString).matches(); + } + + public static boolean isIPv6StdAddress(String paramString) + { + return z.matcher(paramString).matches(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.InetUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/JpegTools.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/JpegTools.java new file mode 100755 index 00000000000..21c02aa6f9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/JpegTools.java @@ -0,0 +1,262 @@ +package com.tencent.mm.sdk.platformtools; + +import java.nio.ByteBuffer; + +public class JpegTools +{ + public static final int ORIENTATION_FLIP_HORIZONTAL = 2; + public static final int ORIENTATION_FLIP_VERTICAL = 4; + public static final int ORIENTATION_NORMAL = 1; + public static final int ORIENTATION_ROTATE_180 = 3; + public static final int ORIENTATION_ROTATE_270 = 8; + public static final int ORIENTATION_ROTATE_90 = 6; + public static final int ORIENTATION_TRANSPOSE = 5; + public static final int ORIENTATION_TRANSVERSE = 7; + public static final int ORIENTATION_UNDEFINED = 0; + public static final String TAG = "MicroMsg.JpegTools"; + private MBuf B = null; + private int C = -1; + private boolean D = true; + + public JpegTools(byte[] paramArrayOfByte) + { + this.B.setBuffer(paramArrayOfByte); + } + + private void a(int paramInt) + { + int i = this.B.getBuffer().position(); + this.B.getBuffer().position(i + paramInt); + } + + public static String byte2HexString(byte paramByte) + { + String str2 = Integer.toHexString(paramByte & 0xFF); + String str1 = str2; + if (str2.length() == 1) { + str1 = "0" + str2; + } + return "" + str1.toUpperCase(); + } + + public int getOreiValue() + { + if (this.C != -1) {} + switch (this.C) + { + case 2: + case 4: + case 5: + case 7: + default: + return -1; + case 6: + return 90; + case 3: + return 180; + case 8: + return 270; + } + return 0; + } + + public int parserJpeg() + { + int k = 0; + try + { + b1 = this.B.getBuffer().get(); + b2 = this.B.getBuffer().get(); + if ((!byte2HexString(b1).equals("FF")) || (!byte2HexString(b2).equals("D8"))) { + break label892; + } + i = 1; + if (i != 0) { + break label897; + } + Log.w("MicroMsg.JpegTools", "this is not jpeg or no exif data!!!"); + return -1; + } + catch (Exception localException) + { + byte b1; + byte b2; + label64: + int n; + String str1; + boolean bool; + Log.e("MicroMsg.JpegTools", "parser jpeg error"); + return -1; + } + b1 = this.B.getBuffer().get(); + b2 = this.B.getBuffer().get(); + this.B.getBuffer().get(); + int j = this.B.getBuffer().get(); + if (!byte2HexString(b1).equals("FF")) { + i = -1; + } + for (;;) + { + if (i >= 0) { + break label255; + } + Log.w("MicroMsg.JpegTools", "datalen is error "); + return -1; + if ((byte2HexString(b1).equals("FF")) && (byte2HexString(b2).equals("E1"))) + { + i = (j & 0xFF) - 2; + } + else if ((byte2HexString(b1).equals("FF")) && (byte2HexString(b2).equals("D9"))) + { + i = -1; + } + else + { + m = this.B.getOffset(); + this.B.getBuffer().position(m + j - 2); + j = i + 1; + i = j; + if (j <= 100) { + break; + } + Log.e("MicroMsg.JpegTools", "error while!"); + i = -1; + } + } + label255: + int i = this.B.getBuffer().get(); + j = this.B.getBuffer().get(); + int m = this.B.getBuffer().get(); + n = this.B.getBuffer().get(); + if (((char)i + (char)j + (char)m + (char)n).equals("Exif")) + { + i = 1; + label345: + if (i == 0) + { + Log.w("MicroMsg.JpegTools", "checkExifTag is error"); + return -1; + } + a(2); + i = this.B.getBuffer().get(); + j = this.B.getBuffer().get(); + if (((char)i != 'M') || ((char)j != 'M')) { + break label907; + } + str1 = "MM"; + label405: + if ((!str1.equals("MM")) && (!str1.equals("II"))) + { + Log.w("MicroMsg.JpegTools", "byteOrder is error " + str1); + return -1; + } + this.D = str1.equals("MM"); + bool = this.D; + b1 = this.B.getBuffer().get(); + b2 = this.B.getBuffer().get(); + if ((bool) && (byte2HexString(b1).equals("00")) && (byte2HexString(b2).equals("2A"))) { + i = 1; + } + while (i == 0) + { + Log.w("MicroMsg.JpegTools", "checkTiffTag is error "); + return -1; + if ((byte2HexString(b1).equals("2A")) && (byte2HexString(b2).equals("00"))) + { + i = 1; + } + else + { + Log.w("MicroMsg.JpegTools", "checkTiffTag: " + byte2HexString(b1) + " " + byte2HexString(b2)); + i = 0; + } + } + a(4); + j = this.B.getBuffer().get(); + i = this.B.getBuffer().get(); + j &= 0xFF; + if (!this.D) { + break label936; + } + j = i & 0xFF; + break label936; + label655: + if ((m < j) && (m < 255)) + { + b1 = this.B.getBuffer().get(); + b2 = this.B.getBuffer().get(); + if ((!this.D) || (!byte2HexString(b1).equals("01")) || (!byte2HexString(b2).equals("12"))) { + break label819; + } + i = 1; + label725: + a(2); + a(4); + if (i == 0) { + break label864; + } + bool = this.D; + i = this.B.getBuffer().get(); + j = this.B.getBuffer().get(); + a(2); + if (!bool) { + break label942; + } + i = j & 0xFF; + } + } + for (;;) + { + this.C = i; + Log.d("MicroMsg.JpegTools", "orei " + this.C); + return getOreiValue(); + label819: + i = k; + if (this.D) { + break label725; + } + i = k; + if (!byte2HexString(b1).equals("12")) { + break label725; + } + i = k; + if (!byte2HexString(b2).equals("01")) { + break label725; + } + i = 1; + break label725; + label864: + a(4); + m += 1; + k = i; + break label655; + label892: + i = 0; + break; + label897: + i = 0; + break label64; + i = 0; + break label345; + label907: + if (((char)i == 'I') && ((char)j == 'I')) + { + str2 = "II"; + break label405; + } + String str2 = ""; + break label405; + label936: + m = 0; + break label655; + label942: + i &= 0xFF; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.JpegTools + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/KVConfig.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/KVConfig.java new file mode 100755 index 00000000000..8af2c4047e7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/KVConfig.java @@ -0,0 +1,245 @@ +package com.tencent.mm.sdk.platformtools; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.w3c.dom.DOMException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +public class KVConfig +{ + private static boolean E = false; + + private static void a(Map paramMap) + { + if ((paramMap == null) || (paramMap.size() <= 0)) { + Log.v("MicroMsg.SDK.KVConfig", "empty values"); + } + for (;;) + { + return; + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramMap.next(); + Log.v("MicroMsg.SDK.KVConfig", "key=" + (String)localEntry.getKey() + " value=" + (String)localEntry.getValue()); + } + } + } + + private static void a(Map paramMap, String paramString, Node paramNode, int paramInt) + { + int i = 0; + if (paramNode.getNodeName().equals("#text")) { + paramMap.put(paramString, paramNode.getNodeValue()); + } + for (;;) + { + return; + if (paramNode.getNodeName().equals("#cdata-section")) + { + paramMap.put(paramString, paramNode.getNodeValue()); + return; + } + Object localObject = new StringBuilder().append(paramString).append(".").append(paramNode.getNodeName()); + if (paramInt > 0) {} + Node localNode; + for (paramString = Integer.valueOf(paramInt);; paramString = "") + { + paramString = paramString; + paramMap.put(paramString, paramNode.getNodeValue()); + localObject = paramNode.getAttributes(); + if (localObject == null) { + break; + } + paramInt = 0; + while (paramInt < ((NamedNodeMap)localObject).getLength()) + { + localNode = ((NamedNodeMap)localObject).item(paramInt); + paramMap.put(paramString + ".$" + localNode.getNodeName(), localNode.getNodeValue()); + paramInt += 1; + } + } + localObject = new HashMap(); + paramNode = paramNode.getChildNodes(); + paramInt = i; + while (paramInt < paramNode.getLength()) + { + localNode = paramNode.item(paramInt); + i = Util.nullAsNil((Integer)((HashMap)localObject).get(localNode.getNodeName())); + a(paramMap, paramString, localNode, i); + ((HashMap)localObject).put(localNode.getNodeName(), Integer.valueOf(i + 1)); + paramInt += 1; + } + } + } + + public static Map parseIni(String paramString) + { + if ((paramString == null) || (paramString.length() <= 0)) { + paramString = null; + } + HashMap localHashMap; + do + { + return paramString; + localHashMap = new HashMap(); + paramString = paramString.split("\n"); + int j = paramString.length; + int i = 0; + while (i < j) + { + Object localObject1 = paramString[i]; + if ((localObject1 != null) && (localObject1.length() > 0)) + { + Object localObject2 = localObject1.trim().split("=", 2); + if ((localObject2 != null) && (localObject2.length >= 2)) + { + localObject1 = localObject2[0]; + localObject2 = localObject2[1]; + if ((localObject1 != null) && (localObject1.length() > 0) && (localObject1.matches("^[a-zA-Z0-9_]*"))) { + localHashMap.put(localObject1, localObject2); + } + } + } + i += 1; + } + paramString = localHashMap; + } while (!E); + a(localHashMap); + return localHashMap; + } + + public static Map parseXml(String paramString1, String paramString2, String paramString3) + { + int i; + if (paramString1 == null) + { + i = -1; + if (i >= 0) { + break label29; + } + Log.e("MicroMsg.SDK.KVConfig", "text not in xml format"); + } + label29: + Object localObject; + do + { + return null; + i = paramString1.indexOf('<'); + break; + localObject = paramString1; + if (i > 0) + { + Log.w("MicroMsg.SDK.KVConfig", "fix xml header from + %d", new Object[] { Integer.valueOf(i) }); + localObject = paramString1.substring(i); + } + } while ((localObject == null) || (((String)localObject).length() <= 0)); + HashMap localHashMap = new HashMap(); + paramString1 = DocumentBuilderFactory.newInstance(); + try + { + paramString1 = paramString1.newDocumentBuilder(); + if (paramString1 == null) + { + Log.e("MicroMsg.SDK.KVConfig", "new Document Builder failed"); + return null; + } + } + catch (ParserConfigurationException paramString1) + { + paramString1.printStackTrace(); + return null; + } + try + { + localObject = new InputSource(new ByteArrayInputStream(((String)localObject).getBytes())); + if (paramString3 != null) { + ((InputSource)localObject).setEncoding(paramString3); + } + paramString1 = paramString1.parse((InputSource)localObject); + paramString1 = paramString1.getDocumentElement(); + } + catch (DOMException paramString3) + { + for (;;) + { + try + { + paramString1.normalize(); + if (paramString1 != null) { + continue; + } + Log.e("MicroMsg.SDK.KVConfig", "new Document failed"); + return null; + } + catch (DOMException paramString3) + { + continue; + } + paramString3 = paramString3; + paramString1 = null; + paramString3.printStackTrace(); + } + } + catch (SAXException paramString1) + { + paramString1.printStackTrace(); + return null; + } + catch (IOException paramString1) + { + paramString1.printStackTrace(); + return null; + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + return null; + } + if (paramString1 == null) + { + Log.e("MicroMsg.SDK.KVConfig", "getDocumentElement failed"); + return null; + } + if ((paramString2 != null) && (paramString2.equals(paramString1.getNodeName()))) { + a(localHashMap, "", paramString1, 0); + } + for (;;) + { + if (E) { + a(localHashMap); + } + return localHashMap; + paramString1 = paramString1.getElementsByTagName(paramString2); + if (paramString1.getLength() <= 0) + { + Log.e("MicroMsg.SDK.KVConfig", "parse item null"); + return null; + } + if (paramString1.getLength() > 1) { + Log.w("MicroMsg.SDK.KVConfig", "parse items more than one"); + } + a(localHashMap, "", paramString1.item(0), 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.KVConfig + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager$1.java new file mode 100755 index 00000000000..8d55f8fca4f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager$1.java @@ -0,0 +1,22 @@ +package com.tencent.mm.sdk.platformtools; + +class LBSManager$1 + implements MTimerHandler.CallBack +{ + LBSManager$1(LBSManager paramLBSManager) {} + + public boolean onTimerExpired() + { + Log.v("MicroMsg.LBSManager", "get location by GPS failed."); + this.P.K = true; + this.P.start(); + LBSManager.a(this.P); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.LBSManager.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager.java new file mode 100755 index 00000000000..618b5221dcb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LBSManager.java @@ -0,0 +1,343 @@ +package com.tencent.mm.sdk.platformtools; + +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.location.Location; +import android.location.LocationManager; +import android.net.wifi.ScanResult; +import android.net.wifi.WifiManager; +import android.os.Bundle; +import java.util.LinkedList; +import java.util.List; + +public class LBSManager + extends BroadcastReceiver +{ + private static LocationCache F; + public static final String FILTER_GPS = "filter_gps"; + public static final int INVALID_ACC = -1000; + public static final float INVALID_LAT = -1000.0F; + public static final float INVALID_LNG = -1000.0F; + public static final int MM_SOURCE_HARDWARE = 0; + public static final int MM_SOURCE_NET = 1; + public static final int MM_SOURCE_REPORT_HARWARE = 3; + public static final int MM_SOURCE_REPORT_NETWORK = 4; + private OnLocationGotListener G; + private LocationManager H; + private PendingIntent I; + private boolean J = false; + boolean K; + boolean L = false; + boolean M = false; + int N; + private MTimerHandler O = new MTimerHandler(new LBSManager.1(this), false); + private Context q; + + public LBSManager(Context paramContext, OnLocationGotListener paramOnLocationGotListener) + { + this.G = paramOnLocationGotListener; + this.K = false; + this.N = 0; + this.q = paramContext; + PhoneUtil.getSignalStrength(paramContext); + this.H = ((LocationManager)paramContext.getSystemService("location")); + a(); + this.I = PendingIntent.getBroadcast(paramContext, 0, new Intent("filter_gps"), 134217728); + } + + private boolean a() + { + boolean bool = false; + if (this.H != null) {} + try + { + this.H.sendExtraCommand("gps", "force_xtra_injection", null); + this.H.sendExtraCommand("gps", "force_time_injection", null); + bool = true; + return bool; + } + catch (Exception localException) {} + return false; + } + + private void b() + { + this.O.stopTimer(); + this.K = true; + } + + public static void setLocationCache(float paramFloat1, float paramFloat2, int paramInt1, int paramInt2) + { + if (paramInt1 == 0) { + return; + } + Log.v("MicroMsg.LBSManager", "setLocationCache [" + paramFloat1 + "," + paramFloat2 + "] acc:" + paramInt1 + " source:" + paramInt2); + if (F == null) { + F = new LocationCache(); + } + F.Q = paramFloat1; + F.R = paramFloat2; + F.S = paramInt1; + F.time = System.currentTimeMillis(); + F.T = paramInt2; + } + + public String getTelLocation() + { + return PhoneUtil.getCellXml(PhoneUtil.getCellInfoList(this.q)); + } + + public String getWIFILocation() + { + Object localObject = (WifiManager)this.q.getSystemService("wifi"); + if (localObject == null) + { + Log.e("MicroMsg.LBSManager", "no wifi service"); + return ""; + } + if (((WifiManager)localObject).getConnectionInfo() == null) + { + Log.e("MicroMsg.LBSManager", "WIFILocation wifi info null"); + return ""; + } + LinkedList localLinkedList = new LinkedList(); + localObject = ((WifiManager)localObject).getScanResults(); + if (localObject != null) + { + int i = 0; + while (i < ((List)localObject).size()) + { + localLinkedList.add(new PhoneUtil.MacInfo(((ScanResult)((List)localObject).get(i)).BSSID, ((ScanResult)((List)localObject).get(i)).level)); + i += 1; + } + } + return PhoneUtil.getMacXml(localLinkedList); + } + + public boolean isGpsEnable() + { + try + { + boolean bool = this.H.isProviderEnabled("gps"); + return bool; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return false; + } + + public boolean isNetworkPrividerEnable() + { + try + { + boolean bool = this.H.isProviderEnabled("network"); + return bool; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return false; + } + + public void onReceive(Context paramContext, Intent paramIntent) + { + paramContext = (Location)paramIntent.getExtras().get("location"); + this.N += 1; + boolean bool; + int i; + String str; + if (paramContext != null) + { + bool = "gps".equals(paramContext.getProvider()); + if (((bool) && (paramContext.getAccuracy() <= 200.0F)) || ((!bool) && (paramContext.getAccuracy() <= 1000.0F) && (paramContext.getAccuracy() > 0.0F))) + { + if (!bool) { + break label271; + } + i = 0; + setLocationCache((float)paramContext.getLatitude(), (float)paramContext.getLongitude(), (int)paramContext.getAccuracy(), i); + if ((this.G != null) && ((!this.K) || (!this.L) || (!this.M))) + { + paramIntent = Util.nullAsNil(getWIFILocation()); + str = Util.nullAsNil(getTelLocation()); + if (this.K) { + break label276; + } + b(); + this.K = true; + Log.v("MicroMsg.LBSManager", "location by provider ok:[" + paramContext.getLatitude() + " , " + paramContext.getLongitude() + "] accuracy:" + paramContext.getAccuracy() + " retry count:" + this.N + " isGpsProvider:" + bool); + this.G.onLocationGot((float)paramContext.getLatitude(), (float)paramContext.getLongitude(), (int)paramContext.getAccuracy(), i, paramIntent, str, true); + } + } + } + label271: + label276: + do + { + return; + i = 1; + break; + if ((!this.L) && (i == 0)) + { + this.L = true; + Log.v("MicroMsg.LBSManager", "report location by GPS ok:[" + paramContext.getLatitude() + " , " + paramContext.getLongitude() + "] accuracy:" + paramContext.getAccuracy() + " retry count:" + this.N + " isGpsProvider:" + bool); + this.G.onLocationGot((float)paramContext.getLatitude(), (float)paramContext.getLongitude(), (int)paramContext.getAccuracy(), 3, paramIntent, str, true); + return; + } + } while ((this.M) || (i != 1)); + this.M = true; + Log.v("MicroMsg.LBSManager", "report location by Network ok:[" + paramContext.getLatitude() + " , " + paramContext.getLongitude() + "] accuracy:" + paramContext.getAccuracy() + " retry count:" + this.N + " isGpsProvider:" + bool); + this.G.onLocationGot((float)paramContext.getLatitude(), (float)paramContext.getLongitude(), (int)paramContext.getAccuracy(), 4, paramIntent, str, true); + } + + public void removeGpsUpdate() + { + Log.v("MicroMsg.LBSManager", "removed gps update"); + if (this.H != null) { + this.H.removeUpdates(this.I); + } + try + { + this.q.unregisterReceiver(this); + return; + } + catch (Exception localException) + { + Log.v("MicroMsg.LBSManager", "location receiver has already unregistered"); + } + } + + public void removeListener() + { + Log.v("MicroMsg.LBSManager", "removed gps update on destroy"); + removeGpsUpdate(); + if (this.O != null) { + b(); + } + this.G = null; + this.q = null; + this.O = null; + this.H = null; + } + + public void requestGpsUpdate() + { + requestGpsUpdate(500); + } + + public void requestGpsUpdate(int paramInt) + { + if ((!isGpsEnable()) && (!isNetworkPrividerEnable())) { + return; + } + if (paramInt > 0) {} + for (;;) + { + Log.v("MicroMsg.LBSManager", "requested gps update"); + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("filter_gps"); + this.q.registerReceiver(this, localIntentFilter); + if (isGpsEnable()) { + this.H.requestLocationUpdates("gps", paramInt, 0.0F, this.I); + } + if (!isNetworkPrividerEnable()) { + break; + } + this.H.requestLocationUpdates("network", paramInt, 0.0F, this.I); + return; + paramInt = 500; + } + } + + public void resetForContinueGetLocation() + { + this.L = false; + this.M = false; + } + + public void start() + { + String str1 = Util.nullAsNil(getWIFILocation()); + String str2 = Util.nullAsNil(getTelLocation()); + int i; + if ((isGpsEnable()) || (isNetworkPrividerEnable())) + { + i = 1; + if ((i == 0) || (this.J)) { + break label73; + } + this.J = true; + this.N = 0; + requestGpsUpdate(); + this.O.startTimer(3000L); + } + label73: + label241: + do + { + do + { + return; + i = 0; + break; + if (F == null) { + i = 0; + } + for (;;) + { + if (i == 0) { + break label241; + } + if (this.G == null) { + break; + } + this.K = true; + Log.v("MicroMsg.LBSManager", "location by GPS cache ok:[" + F.Q + " , " + F.R + "] accuracy:" + F.S + " source:" + F.T); + this.G.onLocationGot(F.Q, F.R, F.S, F.T, str1, str2, true); + return; + if ((System.currentTimeMillis() - F.time > 180000L) || (F.S <= 0)) { + i = 0; + } else { + i = 1; + } + } + this.K = true; + if ((!str1.equals("")) || (!str2.equals(""))) { + break label302; + } + Log.v("MicroMsg.LBSManager", "get location by network failed"); + } while (this.G == null); + this.G.onLocationGot(-1000.0F, -1000.0F, -1000, 0, "", "", false); + return; + Log.v("MicroMsg.LBSManager", "get location by network ok, macs : " + str1 + " cell ids :" + str2); + } while (this.G == null); + label302: + this.G.onLocationGot(-1000.0F, -1000.0F, -1000, 0, str1, str2, true); + } + + static class LocationCache + { + float Q = -1000.0F; + float R = -1000.0F; + int S = -1000; + int T = 1; + long time; + } + + public static abstract interface OnLocationGotListener + { + public abstract void onLocationGot(float paramFloat1, float paramFloat2, int paramInt1, int paramInt2, String paramString1, String paramString2, boolean paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.LBSManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LVBuffer.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LVBuffer.java new file mode 100755 index 00000000000..884b2084759 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LVBuffer.java @@ -0,0 +1,156 @@ +package com.tencent.mm.sdk.platformtools; + +import java.nio.ByteBuffer; + +public class LVBuffer +{ + public static final int LENGTH_ALLOC_PER_NEW = 4096; + public static final int MAX_STRING_LENGTH = 2048; + private ByteBuffer U; + private boolean V; + + private int b(int paramInt) + { + if (this.U.limit() - this.U.position() > paramInt) { + return 0; + } + ByteBuffer localByteBuffer = ByteBuffer.allocate(this.U.limit() + 4096); + localByteBuffer.put(this.U.array(), 0, this.U.position()); + this.U = localByteBuffer; + return 0; + } + + public byte[] buildFinish() + { + if (!this.V) { + throw new Exception("Buffer For Parse"); + } + b(1); + this.U.put((byte)125); + byte[] arrayOfByte = new byte[this.U.position()]; + System.arraycopy(this.U.array(), 0, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public boolean checkGetFinish() + { + return this.U.limit() - this.U.position() <= 1; + } + + public int getInt() + { + if (this.V) { + throw new Exception("Buffer For Build"); + } + return this.U.getInt(); + } + + public long getLong() + { + if (this.V) { + throw new Exception("Buffer For Build"); + } + return this.U.getLong(); + } + + public String getString() + { + if (this.V) { + throw new Exception("Buffer For Build"); + } + int i = this.U.getShort(); + if (i > 2048) + { + this.U = null; + throw new Exception("Buffer String Length Error"); + } + if (i == 0) { + return ""; + } + byte[] arrayOfByte = new byte[i]; + this.U.get(arrayOfByte, 0, i); + return new String(arrayOfByte); + } + + public int initBuild() + { + this.U = ByteBuffer.allocate(4096); + this.U.put((byte)123); + this.V = true; + return 0; + } + + public int initParse(byte[] paramArrayOfByte) + { + int i; + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + i = -1; + } + while (i != 0) + { + this.U = null; + return -1; + if (paramArrayOfByte[0] != 123) { + i = -2; + } else if (paramArrayOfByte[(paramArrayOfByte.length - 1)] != 125) { + i = -3; + } else { + i = 0; + } + } + this.U = ByteBuffer.wrap(paramArrayOfByte); + this.U.position(1); + this.V = false; + return 0; + } + + public int putInt(int paramInt) + { + if (!this.V) { + throw new Exception("Buffer For Parse"); + } + b(4); + this.U.putInt(paramInt); + return 0; + } + + public int putLong(long paramLong) + { + if (!this.V) { + throw new Exception("Buffer For Parse"); + } + b(8); + this.U.putLong(paramLong); + return 0; + } + + public int putString(String paramString) + { + if (!this.V) { + throw new Exception("Buffer For Parse"); + } + byte[] arrayOfByte = null; + if (paramString != null) { + arrayOfByte = paramString.getBytes(); + } + paramString = arrayOfByte; + if (arrayOfByte == null) { + paramString = new byte[0]; + } + if (paramString.length > 2048) { + throw new Exception("Buffer String Length Error"); + } + b(paramString.length + 2); + this.U.putShort((short)paramString.length); + if (paramString.length > 0) { + this.U.put(paramString); + } + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.LVBuffer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LocaleUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LocaleUtil.java new file mode 100755 index 00000000000..de870e45d1d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LocaleUtil.java @@ -0,0 +1,231 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.util.DisplayMetrics; +import java.util.Locale; + +public final class LocaleUtil +{ + public static final String ARABIC = "ar"; + public static final String CHINA = "zh_CN"; + public static final String ENGLISH = "en"; + public static final String HEBREW = "iw"; + public static final String HINDI = "hi"; + public static final String HONGKONG = "zh_HK"; + public static final String INDONESIAN = "id"; + public static final String ITALIAN = "it"; + public static final String JAPANESE = "ja"; + public static final String KOREAN = "ko"; + public static final String LANGUAGE_DEFAULT = "language_default"; + public static final String LANGUAGE_KEY = "language_key"; + public static final String MALAY = "ms"; + public static final String POLISH = "pl"; + public static final String PORTUGUESE = "pt"; + public static final String RUSSIAN = "ru"; + public static final String SPANISH = "es"; + public static final String TAIWAN = "zh_TW"; + public static final String THAI = "th"; + public static final String TURKEY = "tr"; + public static final String VIETNAMESE = "vi"; + + private static String d(String paramString) + { + String str = Locale.getDefault().getLanguage().trim(); + if (str.equals("en")) { + paramString = str; + } + do + { + return paramString; + str = Locale.getDefault().getLanguage().trim() + "_" + Locale.getDefault().getCountry().trim(); + if ((str.equals("zh_TW")) || (str.equals("zh_HK"))) { + return "zh_TW"; + } + if ((Locale.getDefault().getLanguage().trim() + "_" + Locale.getDefault().getCountry().trim()).equals("zh_CN")) { + return "zh_CN"; + } + if (Locale.getDefault().getLanguage().trim().equals("th")) { + return "th"; + } + if (Locale.getDefault().getLanguage().trim().equals("id")) { + return "id"; + } + if (Locale.getDefault().getLanguage().trim().equals("vi")) { + return "vi"; + } + if (Locale.getDefault().getLanguage().trim().equals("pt")) { + return "pt"; + } + if (Locale.getDefault().getLanguage().trim().equals("es")) { + return "es"; + } + if (Locale.getDefault().getLanguage().trim().equals("ru")) { + return "ru"; + } + if (Locale.getDefault().getLanguage().trim().equals("ar")) { + return "ar"; + } + if (Locale.getDefault().getLanguage().trim().equals("iw")) { + return "iw"; + } + if (Locale.getDefault().getLanguage().trim().equals("pl")) { + return "pl"; + } + if (Locale.getDefault().getLanguage().trim().equals("hi")) { + return "hi"; + } + if (Locale.getDefault().getLanguage().trim().equals("ja")) { + return "ja"; + } + if (Locale.getDefault().getLanguage().trim().equals("it")) { + return "it"; + } + if (Locale.getDefault().getLanguage().trim().equals("ko")) { + return "ko"; + } + if (Locale.getDefault().getLanguage().trim().equals("ms")) { + return "ms"; + } + } while (!Locale.getDefault().getLanguage().trim().equals("tr")); + return "tr"; + } + + public static String getApplicationLanguage() + { + String str = Util.nullAsNil(SystemProperty.getProperty("language_key")); + if ((str.length() > 0) && (!str.equals("language_default"))) { + return str; + } + return d("en"); + } + + public static String getCurrentCountryCode() + { + return Locale.getDefault().getCountry().trim(); + } + + public static boolean isLanguageSupported(String paramString) + { + if (Util.isNullOrNil(paramString)) {} + while ((!paramString.equalsIgnoreCase("zh_TW")) && (!paramString.equalsIgnoreCase("zh_HK")) && (!paramString.equalsIgnoreCase("zh_CN")) && (!paramString.equalsIgnoreCase("en")) && (!paramString.equalsIgnoreCase("th")) && (!paramString.equals("id")) && (!paramString.equals("vi")) && (!paramString.equalsIgnoreCase("pt")) && (!paramString.equalsIgnoreCase("es")) && (!paramString.equalsIgnoreCase("ru")) && (!paramString.equalsIgnoreCase("ar")) && (!paramString.equalsIgnoreCase("iw")) && (!paramString.equalsIgnoreCase("pl")) && (!paramString.equalsIgnoreCase("hi")) && (!paramString.equalsIgnoreCase("ja")) && (!paramString.equalsIgnoreCase("it")) && (!paramString.equalsIgnoreCase("ko")) && (!paramString.equalsIgnoreCase("ms")) && (!paramString.equalsIgnoreCase("tr"))) { + return false; + } + return true; + } + + public static String loadApplicationLanguage(SharedPreferences paramSharedPreferences, Context paramContext) + { + paramSharedPreferences = Util.nullAsNil(paramSharedPreferences.getString("language_key", null)); + if ((paramSharedPreferences.length() > 0) && (!paramSharedPreferences.equals("language_default"))) + { + SystemProperty.setProperty("language_key", paramSharedPreferences); + return paramSharedPreferences; + } + paramSharedPreferences = d("en"); + SystemProperty.setProperty("language_key", paramSharedPreferences); + return paramSharedPreferences; + } + + public static String loadApplicationLanguageSettings(SharedPreferences paramSharedPreferences, Context paramContext) + { + paramSharedPreferences = Util.nullAsNil(paramSharedPreferences.getString("language_key", null)); + if (!Util.isNullOrNil(paramSharedPreferences)) { + return paramSharedPreferences; + } + return "language_default"; + } + + public static void saveApplicationLanguage(SharedPreferences paramSharedPreferences, Context paramContext, String paramString) + { + if (paramSharedPreferences.edit().putString("language_key", paramString).commit()) + { + SystemProperty.setProperty("language_key", paramString); + Log.w("MicroMsg.LocaleUtil", "save application lang as:" + paramString); + return; + } + Log.e("MicroMsg.LocaleUtil", "saving application lang failed"); + } + + public static Locale transLanguageToLocale(String paramString) + { + if ((paramString.equals("zh_TW")) || (paramString.equals("zh_HK"))) { + return Locale.TAIWAN; + } + if (paramString.equals("en")) { + return Locale.ENGLISH; + } + if (paramString.equals("zh_CN")) { + return Locale.CHINA; + } + if (paramString.equalsIgnoreCase("th")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("id")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("vi")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("pt")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("es")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("ru")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("ar")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("iw")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("pl")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("hi")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("ja")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("it")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("ko")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("ms")) { + return new Locale(paramString); + } + if (paramString.equalsIgnoreCase("tr")) { + return new Locale(paramString); + } + Log.e("MicroMsg.LocaleUtil", "transLanguageToLocale country = " + paramString); + return Locale.ENGLISH; + } + + public static void updateApplicationResourceLocale(Context paramContext, Locale paramLocale) + { + paramContext = paramContext.getResources(); + Configuration localConfiguration = paramContext.getConfiguration(); + if (localConfiguration.locale.equals(paramLocale)) { + return; + } + DisplayMetrics localDisplayMetrics = paramContext.getDisplayMetrics(); + localConfiguration.locale = paramLocale; + paramContext.updateConfiguration(localConfiguration, localDisplayMetrics); + Resources.getSystem().updateConfiguration(localConfiguration, localDisplayMetrics); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.LocaleUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log$1.java new file mode 100755 index 00000000000..98b4a9c1f36 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log$1.java @@ -0,0 +1,20 @@ +package com.tencent.mm.sdk.platformtools; + +import android.widget.Toast; + +final class Log$1 + implements Runnable +{ + Log$1(String paramString) {} + + public final void run() + { + Toast.makeText(MMApplicationContext.getContext(), this.Z, 1).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.Log.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log.java new file mode 100755 index 00000000000..8a82ab9cd5f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Log.java @@ -0,0 +1,281 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Build; +import android.os.Build.VERSION; +import com.tencent.mm.algorithm.MD5; +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintStream; + +public class Log +{ + public static final int LEVEL_DEBUG = 1; + public static final int LEVEL_ERROR = 4; + public static final int LEVEL_FATAL = 5; + public static final int LEVEL_INFO = 2; + public static final int LEVEL_NONE = 6; + public static final int LEVEL_VERBOSE = 0; + public static final int LEVEL_WARNING = 3; + private static PrintStream W; + private static byte[] X; + private static final String Y; + private static int level = 6; + + static + { + X = null; + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("VERSION.RELEASE:[" + Build.VERSION.RELEASE); + localStringBuilder.append("] VERSION.CODENAME:[" + Build.VERSION.CODENAME); + localStringBuilder.append("] VERSION.INCREMENTAL:[" + Build.VERSION.INCREMENTAL); + localStringBuilder.append("] BOARD:[" + Build.BOARD); + localStringBuilder.append("] DEVICE:[" + Build.DEVICE); + localStringBuilder.append("] DISPLAY:[" + Build.DISPLAY); + localStringBuilder.append("] FINGERPRINT:[" + Build.FINGERPRINT); + localStringBuilder.append("] HOST:[" + Build.HOST); + localStringBuilder.append("] MANUFACTURER:[" + Build.MANUFACTURER); + localStringBuilder.append("] MODEL:[" + Build.MODEL); + localStringBuilder.append("] PRODUCT:[" + Build.PRODUCT); + localStringBuilder.append("] TAGS:[" + Build.TAGS); + localStringBuilder.append("] TYPE:[" + Build.TYPE); + localStringBuilder.append("] USER:[" + Build.USER + "]"); + Y = localStringBuilder.toString(); + } + + public static void d(String paramString1, String paramString2) + { + d(paramString1, paramString2, null); + } + + public static void d(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 1) { + if (paramVarArgs != null) { + break label44; + } + } + for (;;) + { + android.util.Log.d(paramString1, paramString2); + LogHelper.writeToStream(W, X, "D/" + paramString1, paramString2); + return; + label44: + paramString2 = String.format(paramString2, paramVarArgs); + } + } + + public static void e(String paramString1, String paramString2) + { + e(paramString1, paramString2, null); + } + + public static void e(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 4) { + if (paramVarArgs != null) { + break label44; + } + } + for (;;) + { + android.util.Log.e(paramString1, paramString2); + LogHelper.writeToStream(W, X, "E/" + paramString1, paramString2); + return; + label44: + paramString2 = String.format(paramString2, paramVarArgs); + } + } + + public static void f(String paramString1, String paramString2) + { + f(paramString1, paramString2, null); + } + + public static void f(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 5) { + if (paramVarArgs != null) { + break label55; + } + } + for (;;) + { + android.util.Log.e(paramString1, paramString2); + LogHelper.writeToStream(W, X, "F/" + paramString1, paramString2); + MMHandlerThread.postToMainThread(new Log.1(paramString2)); + return; + label55: + paramString2 = String.format(paramString2, paramVarArgs); + } + } + + public static int getLevel() + { + return level; + } + + public static String getSysInfo() + { + return Y; + } + + public static void i(String paramString1, String paramString2) + { + i(paramString1, paramString2, null); + } + + public static void i(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 2) { + if (paramVarArgs != null) { + break label44; + } + } + for (;;) + { + android.util.Log.i(paramString1, paramString2); + LogHelper.writeToStream(W, X, "I/" + paramString1, paramString2); + return; + label44: + paramString2 = String.format(paramString2, paramVarArgs); + } + } + + public static void reset() + { + W = null; + X = null; + } + + public static void setLevel(int paramInt, boolean paramBoolean) + { + level = paramInt; + android.util.Log.w("MicroMsg.SDK.Log", "new log level: " + paramInt); + if (paramBoolean) { + android.util.Log.e("MicroMsg.SDK.Log", "no jni log level support"); + } + } + + public static void setOutputPath(String paramString1, String paramString2, String paramString3, int paramInt) + { + if ((paramString1 == null) || (paramString1.length() == 0) || (paramString3 == null) || (paramString3.length() == 0)) { + return; + } + for (;;) + { + try + { + localObject = new File(paramString1); + if (!((File)localObject).exists()) { + break; + } + if (((File)localObject).length() > 0L) + { + localObject = new FileInputStream(paramString1); + setOutputStream((InputStream)localObject, new FileOutputStream(paramString1, true), paramString2, paramString3, paramInt); + if (localObject == null) { + break; + } + ((InputStream)localObject).close(); + return; + } + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + return; + } + Object localObject = null; + } + } + + public static void setOutputStream(InputStream paramInputStream, OutputStream paramOutputStream, String paramString1, String paramString2, int paramInt) + { + try + { + W = new PrintStream(new BufferedOutputStream(paramOutputStream)); + long l; + if (paramInputStream != null) + { + paramInputStream = new BufferedReader(new InputStreamReader(paramInputStream)); + paramOutputStream = Util.nullAsNil(paramInputStream.readLine()).substring(2).trim(); + paramString2 = Util.nullAsNil(paramInputStream.readLine()).substring(2).trim(); + l = Util.getLong(Util.nullAsNil(paramInputStream.readLine()).trim().substring(2), 0L); + d("MicroMsg.SDK.Log", "using provided info, type=%s, user=%s, createtime=%d", new Object[] { paramOutputStream, paramString2, Long.valueOf(l) }); + } + for (;;) + { + paramInputStream = new StringBuffer(); + paramInputStream.append(paramString2); + paramInputStream.append(l); + paramInputStream.append("dfdhgc"); + X = MD5.getMessageDigest(paramInputStream.toString().getBytes()).substring(7, 21).getBytes(); + android.util.Log.d("MicroMsg.SDK.Log", "set up out put stream"); + return; + l = System.currentTimeMillis(); + LogHelper.initLogHeader(W, paramString1, paramString2, l, paramInt); + } + return; + } + catch (Exception paramInputStream) + { + paramInputStream.printStackTrace(); + } + } + + public static void v(String paramString1, String paramString2) + { + v(paramString1, paramString2, null); + } + + public static void v(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 0) { + if (paramVarArgs != null) { + break label44; + } + } + for (;;) + { + android.util.Log.v(paramString1, paramString2); + LogHelper.writeToStream(W, X, "V/" + paramString1, paramString2); + return; + label44: + paramString2 = String.format(paramString2, paramVarArgs); + } + } + + public static void w(String paramString1, String paramString2) + { + w(paramString1, paramString2, null); + } + + public static void w(String paramString1, String paramString2, Object... paramVarArgs) + { + if (level <= 3) { + if (paramVarArgs != null) { + break label45; + } + } + for (;;) + { + android.util.Log.w(paramString1, paramString2); + LogHelper.writeToStream(W, X, "W/" + paramString1, paramString2); + return; + label45: + paramString2 = String.format(paramString2, paramVarArgs); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.Log + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LogHelper.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LogHelper.java new file mode 100755 index 00000000000..8e72ceadfe2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/LogHelper.java @@ -0,0 +1,150 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Build; +import android.os.Build.VERSION; +import java.io.PrintStream; +import java.text.SimpleDateFormat; + +final class LogHelper +{ + private static final SimpleDateFormat aa = new SimpleDateFormat("MM-dd HH:mm:ss SSS"); + private static final byte[] ab = { 4, 0, 0, 0, -1, -1, -1, 0 }; + + public static void initLogHeader(PrintStream paramPrintStream, String paramString1, String paramString2, long paramLong, int paramInt) + { + if ((paramPrintStream == null) || (Util.isNullOrNil(paramString2)) || (paramLong == 0L)) { + return; + } + paramPrintStream.println("1 " + paramString1); + paramPrintStream.println("2 " + paramString2); + paramPrintStream.println("3 " + paramLong); + paramPrintStream.println("4 " + Integer.toHexString(paramInt)); + paramPrintStream.println("5 " + Build.VERSION.RELEASE); + paramPrintStream.println("6 " + Build.VERSION.CODENAME); + paramPrintStream.println("7 " + Build.VERSION.INCREMENTAL); + paramPrintStream.println("8 " + Build.BOARD); + paramPrintStream.println("9 " + Build.DEVICE); + paramPrintStream.println("10 " + Build.DISPLAY); + paramPrintStream.println("11 " + Build.FINGERPRINT); + paramPrintStream.println("12 " + Build.HOST); + paramPrintStream.println("13 " + Build.MANUFACTURER); + paramPrintStream.println("14 " + Build.MODEL); + paramPrintStream.println("15 " + Build.PRODUCT); + paramPrintStream.println("16 " + Build.TAGS); + paramPrintStream.println("17 " + Build.TYPE); + paramPrintStream.println("18 " + Build.USER); + paramPrintStream.println(); + paramPrintStream.flush(); + } + + /* Error */ + public static void writeToStream(PrintStream paramPrintStream, byte[] paramArrayOfByte, String paramString1, String paramString2) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +24 -> 25 + // 4: aload_1 + // 5: invokestatic 156 com/tencent/mm/sdk/platformtools/Util:isNullOrNil ([B)Z + // 8: ifne +17 -> 25 + // 11: aload_2 + // 12: invokestatic 36 com/tencent/mm/sdk/platformtools/Util:isNullOrNil (Ljava/lang/String;)Z + // 15: ifne +10 -> 25 + // 18: aload_3 + // 19: invokestatic 36 com/tencent/mm/sdk/platformtools/Util:isNullOrNil (Ljava/lang/String;)Z + // 22: ifeq +4 -> 26 + // 25: return + // 26: aload_0 + // 27: monitorenter + // 28: new 158 java/lang/StringBuffer + // 31: dup + // 32: invokespecial 159 java/lang/StringBuffer: ()V + // 35: astore 4 + // 37: aload 4 + // 39: getstatic 20 com/tencent/mm/sdk/platformtools/LogHelper:aa Ljava/text/SimpleDateFormat; + // 42: invokestatic 165 java/lang/System:currentTimeMillis ()J + // 45: invokestatic 171 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 48: invokevirtual 175 java/text/SimpleDateFormat:format (Ljava/lang/Object;)Ljava/lang/String; + // 51: invokevirtual 178 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 54: pop + // 55: aload 4 + // 57: ldc 180 + // 59: invokevirtual 178 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 62: aload_2 + // 63: invokevirtual 178 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 66: ldc 180 + // 68: invokevirtual 178 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 71: aload_3 + // 72: invokevirtual 178 java/lang/StringBuffer:append (Ljava/lang/String;)Ljava/lang/StringBuffer; + // 75: pop + // 76: aload 4 + // 78: invokevirtual 181 java/lang/StringBuffer:toString ()Ljava/lang/String; + // 81: astore_2 + // 82: new 183 javax/crypto/spec/DESKeySpec + // 85: dup + // 86: aload_1 + // 87: invokespecial 186 javax/crypto/spec/DESKeySpec: ([B)V + // 90: astore_1 + // 91: ldc 188 + // 93: invokestatic 194 javax/crypto/SecretKeyFactory:getInstance (Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory; + // 96: aload_1 + // 97: invokevirtual 198 javax/crypto/SecretKeyFactory:generateSecret (Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey; + // 100: astore_1 + // 101: ldc 188 + // 103: invokestatic 203 javax/crypto/Cipher:getInstance (Ljava/lang/String;)Ljavax/crypto/Cipher; + // 106: astore_3 + // 107: aload_3 + // 108: iconst_1 + // 109: aload_1 + // 110: invokevirtual 207 javax/crypto/Cipher:init (ILjava/security/Key;)V + // 113: aload_3 + // 114: aload_2 + // 115: invokevirtual 213 java/lang/String:getBytes ()[B + // 118: invokevirtual 217 javax/crypto/Cipher:doFinal ([B)[B + // 121: astore_1 + // 122: aload_0 + // 123: aload_1 + // 124: arraylength + // 125: invokestatic 223 com/tencent/mm/algorithm/TypeTransform:intToByteArrayLH (I)[B + // 128: invokevirtual 226 java/io/PrintStream:write ([B)V + // 131: aload_0 + // 132: aload_1 + // 133: invokevirtual 226 java/io/PrintStream:write ([B)V + // 136: aload_0 + // 137: getstatic 25 com/tencent/mm/sdk/platformtools/LogHelper:ab [B + // 140: invokevirtual 226 java/io/PrintStream:write ([B)V + // 143: aload_0 + // 144: invokevirtual 149 java/io/PrintStream:flush ()V + // 147: aload_0 + // 148: monitorexit + // 149: return + // 150: astore_1 + // 151: aload_0 + // 152: monitorexit + // 153: aload_1 + // 154: athrow + // 155: astore_1 + // 156: aload_1 + // 157: invokevirtual 229 java/lang/Exception:printStackTrace ()V + // 160: goto -17 -> 143 + // Local variable table: + // start length slot name signature + // 0 163 0 paramPrintStream PrintStream + // 0 163 1 paramArrayOfByte byte[] + // 0 163 2 paramString1 String + // 0 163 3 paramString2 String + // 35 42 4 localStringBuffer java.lang.StringBuffer + // Exception table: + // from to target type + // 28 82 150 finally + // 82 143 150 finally + // 143 149 150 finally + // 156 160 150 finally + // 82 143 155 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.LogHelper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MAlarmHandler.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MAlarmHandler.java new file mode 100755 index 00000000000..7652e32b30d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MAlarmHandler.java @@ -0,0 +1,183 @@ +package com.tencent.mm.sdk.platformtools; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import junit.framework.Assert; + +public class MAlarmHandler +{ + public static final long NEXT_FIRE_INTERVAL = 9223372036854775807L; + private static int ac; + private static Map ah = new HashMap(); + private static IBumper aj; + private static boolean ak = false; + private final int ad; + private final boolean ae; + private long af = 0L; + private long ag = 0L; + private final CallBack ai; + + public MAlarmHandler(CallBack paramCallBack, boolean paramBoolean) + { + Assert.assertTrue("bumper not initialized", ak); + this.ai = paramCallBack; + this.ae = paramBoolean; + if (ac >= 8192) { + ac = 0; + } + int i = ac + 1; + ac = i; + this.ad = i; + } + + public static long fire() + { + LinkedList localLinkedList = new LinkedList(); + Object localObject = new HashSet(); + ((Set)localObject).addAll(ah.keySet()); + localObject = ((Set)localObject).iterator(); + long l1 = 9223372036854775807L; + if (((Iterator)localObject).hasNext()) + { + Integer localInteger = (Integer)((Iterator)localObject).next(); + MAlarmHandler localMAlarmHandler = (MAlarmHandler)ah.get(localInteger); + if (localMAlarmHandler == null) { + break label263; + } + long l3 = Util.ticksToNow(localMAlarmHandler.af); + long l2 = l3; + if (l3 < 0L) { + l2 = 0L; + } + if (l2 > localMAlarmHandler.ag) + { + if ((!localMAlarmHandler.ai.onTimerExpired()) || (!localMAlarmHandler.ae)) { + localLinkedList.add(localInteger); + } + for (;;) + { + localMAlarmHandler.af = Util.currentTicks(); + break; + l1 = localMAlarmHandler.ag; + } + } + if (localMAlarmHandler.ag - l2 >= l1) { + break label263; + } + l1 = localMAlarmHandler.ag - l2; + } + label263: + for (;;) + { + break; + int i = 0; + while (i < localLinkedList.size()) + { + ah.remove(localLinkedList.get(i)); + i += 1; + } + if ((l1 == 9223372036854775807L) && (aj != null)) + { + aj.cancel(); + Log.v("MicroMsg.MAlarmHandler", "cancel bumper for no more handler"); + } + return l1; + } + } + + public static void initAlarmBumper(IBumper paramIBumper) + { + ak = true; + aj = paramIBumper; + } + + protected void finalize() + { + stopTimer(); + super.finalize(); + } + + public void startTimer(long paramLong) + { + this.ag = paramLong; + this.af = Util.currentTicks(); + long l3 = this.ag; + Log.d("MicroMsg.MAlarmHandler", "check need prepare: check=" + l3); + Iterator localIterator = ah.entrySet().iterator(); + paramLong = 9223372036854775807L; + while (localIterator.hasNext()) + { + MAlarmHandler localMAlarmHandler = (MAlarmHandler)((Map.Entry)localIterator.next()).getValue(); + if (localMAlarmHandler == null) { + break label224; + } + long l2 = Util.ticksToNow(localMAlarmHandler.af); + long l1 = l2; + if (l2 < 0L) { + l1 = 0L; + } + if (l1 > localMAlarmHandler.ag) + { + paramLong = localMAlarmHandler.ag; + } + else + { + if (localMAlarmHandler.ag - l1 >= paramLong) { + break label224; + } + paramLong = localMAlarmHandler.ag - l1; + } + } + label224: + for (;;) + { + break; + if (paramLong > l3) {} + for (int i = 1;; i = 0) + { + stopTimer(); + ah.put(Integer.valueOf(this.ad), this); + if ((aj != null) && (i != 0)) + { + Log.v("MicroMsg.MAlarmHandler", "prepare bumper"); + aj.prepare(); + } + return; + } + } + } + + public void stopTimer() + { + ah.remove(Integer.valueOf(this.ad)); + } + + public boolean stopped() + { + return !ah.containsKey(Integer.valueOf(this.ad)); + } + + public static abstract interface CallBack + { + public abstract boolean onTimerExpired(); + } + + public static abstract interface IBumper + { + public abstract void cancel(); + + public abstract void prepare(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MAlarmHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MBuf.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MBuf.java new file mode 100755 index 00000000000..84e68746a3c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MBuf.java @@ -0,0 +1,38 @@ +package com.tencent.mm.sdk.platformtools; + +import java.nio.ByteBuffer; + +class MBuf +{ + private ByteBuffer al = null; + + public ByteBuffer getBuffer() + { + return this.al; + } + + public int getLen() + { + return this.al.capacity(); + } + + public int getOffset() + { + return this.al.position(); + } + + public void setBuffer(byte[] paramArrayOfByte) + { + int i = paramArrayOfByte.length; + this.al = ByteBuffer.allocateDirect(i); + this.al.position(0); + this.al.put(paramArrayOfByte, 0, i); + this.al.position(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MBuf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMApplicationContext.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMApplicationContext.java new file mode 100755 index 00000000000..4d9197693d1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMApplicationContext.java @@ -0,0 +1,37 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; + +public final class MMApplicationContext +{ + private static String am = "com.tencent.mm"; + private static Context q = null; + + public static Context getContext() + { + return q; + } + + public static String getDefaultPreferencePath() + { + return am + "_preferences"; + } + + public static String getPackageName() + { + return am; + } + + public static void setContext(Context paramContext) + { + q = paramContext; + am = paramContext.getPackageName(); + Log.d("MicroMsg.MMApplicationContext", "setup application context for package: " + am); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMApplicationContext + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMEntryLock.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMEntryLock.java new file mode 100755 index 00000000000..f3bad5b1c39 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMEntryLock.java @@ -0,0 +1,37 @@ +package com.tencent.mm.sdk.platformtools; + +import java.util.HashSet; +import java.util.Set; + +public final class MMEntryLock +{ + private static Set an = new HashSet(); + + public static boolean isLocked(String paramString) + { + return an.contains(paramString); + } + + public static boolean lock(String paramString) + { + if (isLocked(paramString)) + { + Log.d("MicroMsg.MMEntryLock", "locked-" + paramString); + return false; + } + Log.d("MicroMsg.MMEntryLock", "lock-" + paramString); + return an.add(paramString); + } + + public static void unlock(String paramString) + { + an.remove(paramString); + Log.d("MicroMsg.MMEntryLock", "unlock-" + paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMEntryLock + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$1.java new file mode 100755 index 00000000000..f188a8adc78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$1.java @@ -0,0 +1,33 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.HandlerThread; + +class MMHandlerThread$1 + implements MMHandlerThread.IWaitWorkThread +{ + MMHandlerThread$1(MMHandlerThread paramMMHandlerThread, MMHandlerThread.IWaitWorkThread paramIWaitWorkThread) {} + + public boolean doInBackground() + { + if (this.aq != null) { + return this.aq.doInBackground(); + } + MMHandlerThread.a(this.ar).quit(); + MMHandlerThread.b(this.ar); + return true; + } + + public boolean onPostExecute() + { + if (this.aq != null) { + return this.aq.onPostExecute(); + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMHandlerThread.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$2.java new file mode 100755 index 00000000000..113b86df6bb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$2.java @@ -0,0 +1,36 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.HandlerThread; + +class MMHandlerThread$2 + implements MMHandlerThread.IWaitWorkThread +{ + MMHandlerThread$2(MMHandlerThread paramMMHandlerThread, MMHandlerThread.ResetCallback paramResetCallback, Object paramObject) {} + + public boolean doInBackground() + { + Log.d("MicroMsg.MMHandlerThread", "syncReset doInBackground"); + MMHandlerThread.a(this.ar).quit(); + if (this.as != null) { + this.as.callback(); + } + MMHandlerThread.b(this.ar); + synchronized (this.at) + { + this.at.notify(); + return true; + } + } + + public boolean onPostExecute() + { + Log.d("MicroMsg.MMHandlerThread", "syncReset onPostExecute"); + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMHandlerThread.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3$1.java new file mode 100755 index 00000000000..8fe6cda6d1f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3$1.java @@ -0,0 +1,18 @@ +package com.tencent.mm.sdk.platformtools; + +class MMHandlerThread$3$1 + implements Runnable +{ + MMHandlerThread$3$1(MMHandlerThread.3 param3) {} + + public void run() + { + this.au.aq.onPostExecute(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMHandlerThread.3.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3.java new file mode 100755 index 00000000000..a3193f5e5ba --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread$3.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.platformtools; + +class MMHandlerThread$3 + implements Runnable +{ + MMHandlerThread$3(MMHandlerThread paramMMHandlerThread, MMHandlerThread.IWaitWorkThread paramIWaitWorkThread) {} + + public void run() + { + this.aq.doInBackground(); + MMHandlerThread.a(new MMHandlerThread.3.1(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMHandlerThread.3 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread.java new file mode 100755 index 00000000000..e7a3b42d80d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MMHandlerThread.java @@ -0,0 +1,171 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; +import junit.framework.Assert; + +public class MMHandlerThread +{ + public static long mainThreadID = -1L; + private HandlerThread ao = null; + private Handler ap = null; + + public MMHandlerThread() + { + c(); + } + + private void c() + { + Log.d("MicroMsg.MMHandlerThread", "MMHandlerThread init [%s]", new Object[] { Util.getStack() }); + this.ap = null; + this.ao = new HandlerThread("MMHandlerThread", 1); + this.ao.start(); + } + + public static boolean isMainThread() + { + if (mainThreadID == -1L) {} + for (boolean bool = true;; bool = false) + { + Assert.assertFalse("mainThreadID not init ", bool); + if (Thread.currentThread().getId() != mainThreadID) { + break; + } + return true; + } + return false; + } + + public static void postToMainThread(Runnable paramRunnable) + { + if (paramRunnable == null) { + return; + } + new Handler(Looper.getMainLooper()).post(paramRunnable); + } + + public static void postToMainThreadDelayed(Runnable paramRunnable, long paramLong) + { + if (paramRunnable == null) { + return; + } + new Handler(Looper.getMainLooper()).postDelayed(paramRunnable, paramLong); + } + + public static void setMainThreadID(long paramLong) + { + if ((mainThreadID < 0L) && (paramLong > 0L)) { + mainThreadID = paramLong; + } + } + + public Looper getLooper() + { + return this.ao.getLooper(); + } + + public Handler getWorkerHandler() + { + if (this.ap == null) { + this.ap = new Handler(this.ao.getLooper()); + } + return this.ap; + } + + public int postAtFrontOfWorker(IWaitWorkThread paramIWaitWorkThread) + { + if (paramIWaitWorkThread == null) { + return -1; + } + if (new Handler(getLooper()).postAtFrontOfQueue(new MMHandlerThread.3(this, paramIWaitWorkThread))) { + return 0; + } + return -2; + } + + public int postToWorker(Runnable paramRunnable) + { + if (paramRunnable == null) { + return -1; + } + getWorkerHandler().post(paramRunnable); + return 0; + } + + public int reset(IWaitWorkThread paramIWaitWorkThread) + { + return postAtFrontOfWorker(new MMHandlerThread.1(this, paramIWaitWorkThread)); + } + + /* Error */ + public int syncReset(ResetCallback paramResetCallback) + { + // Byte code: + // 0: ldc 140 + // 2: invokestatic 142 com/tencent/mm/sdk/platformtools/MMHandlerThread:isMainThread ()Z + // 5: invokestatic 145 junit/framework/Assert:assertTrue (Ljava/lang/String;Z)V + // 8: iconst_0 + // 9: newarray byte + // 11: astore_3 + // 12: new 147 com/tencent/mm/sdk/platformtools/MMHandlerThread$2 + // 15: dup + // 16: aload_0 + // 17: aload_1 + // 18: aload_3 + // 19: invokespecial 150 com/tencent/mm/sdk/platformtools/MMHandlerThread$2: (Lcom/tencent/mm/sdk/platformtools/MMHandlerThread;Lcom/tencent/mm/sdk/platformtools/MMHandlerThread$ResetCallback;Ljava/lang/Object;)V + // 22: astore_1 + // 23: aload_3 + // 24: monitorenter + // 25: aload_0 + // 26: aload_1 + // 27: invokevirtual 134 com/tencent/mm/sdk/platformtools/MMHandlerThread:postAtFrontOfWorker (Lcom/tencent/mm/sdk/platformtools/MMHandlerThread$IWaitWorkThread;)I + // 30: istore_2 + // 31: iload_2 + // 32: ifne +7 -> 39 + // 35: aload_3 + // 36: invokevirtual 153 java/lang/Object:wait ()V + // 39: aload_3 + // 40: monitorexit + // 41: iload_2 + // 42: ireturn + // 43: astore_1 + // 44: aload_3 + // 45: monitorexit + // 46: aload_1 + // 47: athrow + // 48: astore_1 + // 49: goto -10 -> 39 + // Local variable table: + // start length slot name signature + // 0 52 0 this MMHandlerThread + // 0 52 1 paramResetCallback ResetCallback + // 30 12 2 i int + // 11 34 3 arrayOfByte byte[] + // Exception table: + // from to target type + // 25 31 43 finally + // 35 39 43 finally + // 39 41 43 finally + // 35 39 48 java/lang/Exception + } + + public static abstract interface IWaitWorkThread + { + public abstract boolean doInBackground(); + + public abstract boolean onPostExecute(); + } + + public static abstract interface ResetCallback + { + public abstract void callback(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MMHandlerThread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MTimerHandler.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MTimerHandler.java new file mode 100755 index 00000000000..291739dbf5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/MTimerHandler.java @@ -0,0 +1,83 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; + +public class MTimerHandler + extends Handler +{ + private static int ac; + private final int ad; + private final boolean av; + private long aw = 0L; + private final CallBack ax; + + public MTimerHandler(Looper paramLooper, CallBack paramCallBack, boolean paramBoolean) + { + super(paramLooper); + this.ax = paramCallBack; + this.ad = d(); + this.av = paramBoolean; + } + + public MTimerHandler(CallBack paramCallBack, boolean paramBoolean) + { + this.ax = paramCallBack; + this.ad = d(); + this.av = paramBoolean; + } + + private static int d() + { + if (ac >= 8192) { + ac = 0; + } + int i = ac + 1; + ac = i; + return i; + } + + protected void finalize() + { + stopTimer(); + super.finalize(); + } + + public void handleMessage(Message paramMessage) + { + if ((paramMessage.what != this.ad) || (this.ax == null)) {} + while ((!this.ax.onTimerExpired()) || (!this.av)) { + return; + } + sendEmptyMessageDelayed(this.ad, this.aw); + } + + public void startTimer(long paramLong) + { + this.aw = paramLong; + stopTimer(); + sendEmptyMessageDelayed(this.ad, paramLong); + } + + public void stopTimer() + { + removeMessages(this.ad); + } + + public boolean stopped() + { + return !hasMessages(this.ad); + } + + public static abstract interface CallBack + { + public abstract boolean onTimerExpired(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.MTimerHandler + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/NetStatusUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/NetStatusUtil.java new file mode 100755 index 00000000000..58bb2bf50d0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/NetStatusUtil.java @@ -0,0 +1,729 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.Build.VERSION; +import android.provider.Settings.System; +import android.telephony.TelephonyManager; +import java.io.File; +import java.io.FileInputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.List; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +public class NetStatusUtil +{ + public static final int CMNET = 6; + public static final int CMWAP = 5; + public static final int CTNET = 8; + public static final int CTWAP = 7; + public static final int LTE = 10; + public static final int MOBILE = 9; + public static final int NET_3G = 4; + public static final int NON_NETWORK = -1; + public static final int NO_SIM_OPERATOR = 0; + public static final int POLICY_NONE = 0; + public static final int POLICY_REJECT_METERED_BACKGROUND = 1; + public static final int TBACKGROUND_DATA_LIMITED = 2; + public static final int TBACKGROUND_NOT_LIMITED = 0; + public static final int TBACKGROUND_PROCESS_LIMITED = 1; + public static final int TBACKGROUND_WIFI_LIMITED = 3; + public static final int UNINET = 1; + public static final int UNIWAP = 2; + public static final int WAP_3G = 3; + public static final int WIFI = 0; + + private static Intent a(Context paramContext, String paramString) + { + try + { + PackageManager localPackageManager = paramContext.getPackageManager(); + List localList = localPackageManager.getInstalledPackages(0); + if ((localList != null) && (localList.size() > 0)) + { + Log.e("MicroMsg.NetStatusUtil", "package size" + localList.size()); + int i = 0; + for (;;) + { + int j = localList.size(); + if (i >= j) { + break label314; + } + try + { + Log.e("MicroMsg.NetStatusUtil", "package " + ((PackageInfo)localList.get(i)).packageName); + Object localObject1 = new Intent(); + ((Intent)localObject1).setPackage(((PackageInfo)localList.get(i)).packageName); + Object localObject2 = localPackageManager.queryIntentActivities((Intent)localObject1, 0); + if (localObject2 != null) { + j = ((List)localObject2).size(); + } + for (;;) + { + if (j > 0) { + try + { + Log.e("MicroMsg.NetStatusUtil", "activityName count " + j); + int k = 0; + for (;;) + { + if (k >= j) { + break label292; + } + localObject1 = ((ResolveInfo)((List)localObject2).get(k)).activityInfo; + if (((ActivityInfo)localObject1).name.contains(paramString)) + { + localObject2 = new Intent("/"); + ((Intent)localObject2).setComponent(new ComponentName(((ActivityInfo)localObject1).packageName, ((ActivityInfo)localObject1).name)); + ((Intent)localObject2).setAction("android.intent.action.VIEW"); + paramContext.startActivity((Intent)localObject2); + return localObject2; + j = 0; + break; + } + k += 1; + } + i += 1; + } + catch (Exception localException1) + { + localException1.printStackTrace(); + } + } + } + } + catch (Exception localException2) + { + for (;;) + { + label292: + localException2.printStackTrace(); + } + } + } + } + return null; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + } + + public static boolean checkFromXml(int paramInt) + { + try + { + runRootCommand(); + NodeList localNodeList = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new FileInputStream(new File("/data/system/netpolicy.xml"))).getDocumentElement().getElementsByTagName("uid-policy"); + int i = 0; + while (i < localNodeList.getLength()) + { + Object localObject = (Element)localNodeList.item(i); + String str = ((Element)localObject).getAttribute("uid"); + localObject = ((Element)localObject).getAttribute("policy"); + Log.e("MicroMsg.NetStatusUtil", "uid is " + str + " policy is " + (String)localObject); + if (str.equals(Integer.toString(paramInt))) + { + if (Integer.parseInt((String)localObject) == 1) { + return true; + } + int j = Integer.parseInt((String)localObject); + if (j == 0) { + return false; + } + } + i += 1; + } + return false; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + + public static void dumpNetStatus(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + Log.e("MicroMsg.NetStatusUtil", "isAvailable " + paramContext.isAvailable()); + Log.e("MicroMsg.NetStatusUtil", "isConnected " + paramContext.isConnected()); + Log.e("MicroMsg.NetStatusUtil", "isRoaming " + paramContext.isRoaming()); + Log.e("MicroMsg.NetStatusUtil", "isFailover " + paramContext.isFailover()); + Log.e("MicroMsg.NetStatusUtil", "getSubtypeName " + paramContext.getSubtypeName()); + Log.e("MicroMsg.NetStatusUtil", "getExtraInfo " + paramContext.getExtraInfo()); + Log.e("MicroMsg.NetStatusUtil", "activeNetInfo " + paramContext.toString()); + return; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + } + + public static int getBackgroundLimitType(Context paramContext) + { + int i; + if (Build.VERSION.SDK_INT >= 14) { + try + { + Object localObject = Class.forName("android.app.ActivityManagerNative"); + localObject = ((Class)localObject).getMethod("getDefault", new Class[0]).invoke(localObject, new Object[0]); + i = ((Integer)localObject.getClass().getMethod("getProcessLimit", new Class[0]).invoke(localObject, new Object[0])).intValue(); + if (i == 0) { + return 1; + } + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + try + { + i = getWifiSleeepPolicy(paramContext); + if (i != 2) + { + int j = getNetType(paramContext); + if (j == 0) {} + } + else + { + return 0; + } + if ((i == 1) || (i == 0)) { + return 3; + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return 0; + } + + public static int getISPCode(Context paramContext) + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext == null) { + return 0; + } + paramContext = paramContext.getSimOperator(); + if ((paramContext == null) || (paramContext.length() < 5)) { + return 0; + } + paramContext = paramContext.substring(0, 5); + Log.d("MicroMsg.NetStatusUtil", "getISPCode MCC_MNC=%s", new Object[] { paramContext }); + return Integer.valueOf(paramContext).intValue(); + } + + public static String getISPName(Context paramContext) + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext == null) { + return ""; + } + Log.d("MicroMsg.NetStatusUtil", "getISPName ISPName=%s", new Object[] { paramContext.getSimOperatorName() }); + if (paramContext.getSimOperatorName().length() <= 100) { + return paramContext.getSimOperatorName(); + } + return paramContext.getSimOperatorName().substring(0, 100); + } + + public static int getNetType(Context paramContext) + { + paramContext = (ConnectivityManager)paramContext.getSystemService("connectivity"); + if (paramContext == null) { + return -1; + } + paramContext = paramContext.getActiveNetworkInfo(); + if (paramContext == null) { + return -1; + } + if (paramContext.getType() == 1) { + return 0; + } + Log.d("MicroMsg.NetStatusUtil", "activeNetInfo extra=%s, type=%d", new Object[] { paramContext.getExtraInfo(), Integer.valueOf(paramContext.getType()) }); + if (paramContext.getExtraInfo() != null) + { + if (paramContext.getExtraInfo().equalsIgnoreCase("uninet")) { + return 1; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("uniwap")) { + return 2; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("3gwap")) { + return 3; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("3gnet")) { + return 4; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("cmwap")) { + return 5; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("cmnet")) { + return 6; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("ctwap")) { + return 7; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("ctnet")) { + return 8; + } + if (paramContext.getExtraInfo().equalsIgnoreCase("LTE")) { + return 10; + } + } + return 9; + } + + public static String getNetTypeString(Context paramContext) + { + paramContext = (ConnectivityManager)paramContext.getSystemService("connectivity"); + if (paramContext == null) { + return "NON_NETWORK"; + } + paramContext = paramContext.getActiveNetworkInfo(); + if (paramContext == null) { + return "NON_NETWORK"; + } + if (paramContext.getType() == 1) { + return "WIFI"; + } + Log.d("MicroMsg.NetStatusUtil", "activeNetInfo extra=%s, type=%d", new Object[] { paramContext.getExtraInfo(), Integer.valueOf(paramContext.getType()) }); + if (paramContext.getExtraInfo() != null) { + return paramContext.getExtraInfo(); + } + return "MOBILE"; + } + + public static int getWifiSleeepPolicy(Context paramContext) + { + return Settings.System.getInt(paramContext.getContentResolver(), "wifi_sleep_policy", 2); + } + + public static int guessNetSpeed(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (paramContext.getType() == 1) { + return 102400; + } + int i = paramContext.getSubtype(); + switch (i) + { + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + } + } + return 102400; + return 4096; + return 8192; + return 102400; + } + + public static boolean is2G(int paramInt) + { + return (paramInt == 1) || (paramInt == 2) || (paramInt == 5) || (paramInt == 6) || (paramInt == 7) || (paramInt == 8); + } + + public static boolean is2G(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (paramContext.getType() == 1) { + return false; + } + if (paramContext.getSubtype() != 2) + { + int i = paramContext.getSubtype(); + if (i != 1) {} + } + else + { + return true; + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return false; + } + + public static boolean is3G(int paramInt) + { + return (paramInt == 3) || (paramInt == 4); + } + + public static boolean is3G(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (paramContext.getType() == 1) { + return false; + } + if (paramContext.getSubtype() >= 5) + { + int i = paramContext.getSubtype(); + if (i < 13) { + return true; + } + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return false; + } + + public static boolean is4G(int paramInt) + { + return paramInt == 10; + } + + public static boolean is4G(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (paramContext.getType() == 1) { + return false; + } + int i = paramContext.getSubtype(); + if (i >= 13) { + return true; + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return false; + } + + public static boolean isConnected(Context paramContext) + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + try + { + boolean bool = paramContext.isConnected(); + return bool; + } + catch (Exception paramContext) {} + return false; + } + + public static boolean isImmediatelyDestroyActivities(Context paramContext) + { + boolean bool = false; + if (Settings.System.getInt(paramContext.getContentResolver(), "always_finish_activities", 0) != 0) { + bool = true; + } + return bool; + } + + public static boolean isLimited(int paramInt) + { + return (paramInt == 2) || (paramInt == 1) || (paramInt == 3); + } + + public static boolean isMobile(int paramInt) + { + return (is3G(paramInt)) || (is2G(paramInt)) || (is4G(paramInt)); + } + + public static boolean isMobile(Context paramContext) + { + int i = getNetType(paramContext); + return (is3G(i)) || (is2G(i)) || (is4G(i)); + } + + public static boolean isRestrictBacground(Context paramContext) + { + int i = paramContext.getApplicationInfo().uid; + try + { + Object localObject = Class.forName("android.net.NetworkPolicyManager"); + paramContext = ((Class)localObject).getMethod("getSystemService", new Class[] { Context.class }).invoke(localObject, new Object[] { paramContext }); + localObject = ((Class)localObject).getDeclaredField("mService"); + ((Field)localObject).setAccessible(true); + paramContext = ((Field)localObject).get(paramContext); + int j = ((Integer)paramContext.getClass().getMethod("getUidPolicy", new Class[] { Integer.TYPE }).invoke(paramContext, new Object[] { Integer.valueOf(i) })).intValue(); + Log.e("MicroMsg.NetStatusUtil", "policy is " + j); + if (j == 1) { + return true; + } + if (j == 0) { + return false; + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return checkFromXml(i); + } + + public static boolean isWap(int paramInt) + { + return (paramInt == 2) || (paramInt == 5) || (paramInt == 7) || (paramInt == 3); + } + + public static boolean isWap(Context paramContext) + { + return isWap(getNetType(paramContext)); + } + + public static boolean isWifi(int paramInt) + { + return paramInt == 0; + } + + public static boolean isWifi(Context paramContext) + { + return isWifi(getNetType(paramContext)); + } + + /* Error */ + public static boolean runRootCommand() + { + // Byte code: + // 0: aconst_null + // 1: astore_1 + // 2: aconst_null + // 3: astore_2 + // 4: invokestatic 477 java/lang/Runtime:getRuntime ()Ljava/lang/Runtime; + // 7: ldc_w 479 + // 10: invokevirtual 483 java/lang/Runtime:exec (Ljava/lang/String;)Ljava/lang/Process; + // 13: astore_0 + // 14: new 485 java/io/DataOutputStream + // 17: dup + // 18: aload_0 + // 19: invokevirtual 491 java/lang/Process:getOutputStream ()Ljava/io/OutputStream; + // 22: invokespecial 494 java/io/DataOutputStream: (Ljava/io/OutputStream;)V + // 25: astore_1 + // 26: aload_1 + // 27: ldc_w 496 + // 30: invokevirtual 499 java/io/DataOutputStream:writeBytes (Ljava/lang/String;)V + // 33: aload_1 + // 34: invokevirtual 502 java/io/DataOutputStream:flush ()V + // 37: aload_0 + // 38: invokevirtual 505 java/lang/Process:waitFor ()I + // 41: pop + // 42: aload_1 + // 43: invokevirtual 508 java/io/DataOutputStream:close ()V + // 46: aload_0 + // 47: ifnull +7 -> 54 + // 50: aload_0 + // 51: invokevirtual 511 java/lang/Process:destroy ()V + // 54: iconst_1 + // 55: ireturn + // 56: astore_0 + // 57: aload_0 + // 58: invokevirtual 155 java/lang/Exception:printStackTrace ()V + // 61: goto -7 -> 54 + // 64: astore_0 + // 65: aconst_null + // 66: astore_1 + // 67: ldc 65 + // 69: new 67 java/lang/StringBuilder + // 72: dup + // 73: ldc_w 513 + // 76: invokespecial 72 java/lang/StringBuilder: (Ljava/lang/String;)V + // 79: aload_0 + // 80: invokevirtual 516 java/lang/Exception:getMessage ()Ljava/lang/String; + // 83: invokevirtual 101 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 86: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 89: invokestatic 518 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 92: aload_1 + // 93: ifnull +7 -> 100 + // 96: aload_1 + // 97: invokevirtual 508 java/io/DataOutputStream:close ()V + // 100: aload_2 + // 101: ifnull +7 -> 108 + // 104: aload_2 + // 105: invokevirtual 511 java/lang/Process:destroy ()V + // 108: iconst_0 + // 109: ireturn + // 110: astore_0 + // 111: aload_0 + // 112: invokevirtual 155 java/lang/Exception:printStackTrace ()V + // 115: goto -7 -> 108 + // 118: astore_0 + // 119: aconst_null + // 120: astore_3 + // 121: aload_1 + // 122: astore_2 + // 123: aload_3 + // 124: astore_1 + // 125: aload_1 + // 126: ifnull +7 -> 133 + // 129: aload_1 + // 130: invokevirtual 508 java/io/DataOutputStream:close ()V + // 133: aload_2 + // 134: ifnull +7 -> 141 + // 137: aload_2 + // 138: invokevirtual 511 java/lang/Process:destroy ()V + // 141: aload_0 + // 142: athrow + // 143: astore_1 + // 144: aload_1 + // 145: invokevirtual 155 java/lang/Exception:printStackTrace ()V + // 148: goto -7 -> 141 + // 151: astore_3 + // 152: aconst_null + // 153: astore_1 + // 154: aload_0 + // 155: astore_2 + // 156: aload_3 + // 157: astore_0 + // 158: goto -33 -> 125 + // 161: astore_3 + // 162: aload_0 + // 163: astore_2 + // 164: aload_3 + // 165: astore_0 + // 166: goto -41 -> 125 + // 169: astore_0 + // 170: goto -45 -> 125 + // 173: astore_3 + // 174: aconst_null + // 175: astore_1 + // 176: aload_0 + // 177: astore_2 + // 178: aload_3 + // 179: astore_0 + // 180: goto -113 -> 67 + // 183: astore_3 + // 184: aload_0 + // 185: astore_2 + // 186: aload_3 + // 187: astore_0 + // 188: goto -121 -> 67 + // Local variable table: + // start length slot name signature + // 13 38 0 localProcess java.lang.Process + // 56 2 0 localException1 Exception + // 64 16 0 localException2 Exception + // 110 2 0 localException3 Exception + // 118 37 0 localObject1 Object + // 157 9 0 localObject2 Object + // 169 8 0 localObject3 Object + // 179 9 0 localObject4 Object + // 1 129 1 localObject5 Object + // 143 2 1 localException4 Exception + // 153 23 1 localObject6 Object + // 3 183 2 localObject7 Object + // 120 4 3 localObject8 Object + // 151 6 3 localObject9 Object + // 161 4 3 localObject10 Object + // 173 6 3 localException5 Exception + // 183 4 3 localException6 Exception + // Exception table: + // from to target type + // 42 46 56 java/lang/Exception + // 50 54 56 java/lang/Exception + // 4 14 64 java/lang/Exception + // 96 100 110 java/lang/Exception + // 104 108 110 java/lang/Exception + // 4 14 118 finally + // 129 133 143 java/lang/Exception + // 137 141 143 java/lang/Exception + // 14 26 151 finally + // 26 42 161 finally + // 67 92 169 finally + // 14 26 173 java/lang/Exception + // 26 42 183 java/lang/Exception + } + + public static void startSettingItent(Context paramContext, int paramInt) + { + switch (paramInt) + { + case 0: + default: + return; + case 2: + try + { + Intent localIntent1 = new Intent("/"); + localIntent1.setComponent(new ComponentName("com.android.providers.subscribedfeeds", "com.android.settings.ManageAccountsSettings")); + localIntent1.setAction("android.intent.action.VIEW"); + paramContext.startActivity(localIntent1); + return; + } + catch (Exception localException1) + { + try + { + Intent localIntent2 = new Intent("/"); + localIntent2.setComponent(new ComponentName("com.htc.settings.accountsync", "com.htc.settings.accountsync.ManageAccountsSettings")); + localIntent2.setAction("android.intent.action.VIEW"); + paramContext.startActivity(localIntent2); + return; + } + catch (Exception localException2) + { + a(paramContext, "ManageAccountsSettings"); + return; + } + } + case 1: + try + { + Intent localIntent3 = new Intent("/"); + localIntent3.setComponent(new ComponentName("com.android.settings", "com.android.settings.DevelopmentSettings")); + localIntent3.setAction("android.intent.action.VIEW"); + paramContext.startActivity(localIntent3); + return; + } + catch (Exception localException3) + { + a(paramContext, "DevelopmentSettings"); + return; + } + } + try + { + Intent localIntent4 = new Intent(); + localIntent4.setAction("android.settings.WIFI_IP_SETTINGS"); + paramContext.startActivity(localIntent4); + return; + } + catch (Exception localException4) + { + a(paramContext, "AdvancedSettings"); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.NetStatusUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$1.java new file mode 100755 index 00000000000..8dafbbcaadd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$1.java @@ -0,0 +1,20 @@ +package com.tencent.mm.sdk.platformtools; + +import java.util.Comparator; + +class ObserverPool$1 + implements Comparator +{ + ObserverPool$1(ObserverPool paramObserverPool) {} + + public int compare(ObserverPool.Listener paramListener1, ObserverPool.Listener paramListener2) + { + return ObserverPool.Listener.a(paramListener2) - ObserverPool.Listener.a(paramListener1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.ObserverPool.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$2.java new file mode 100755 index 00000000000..92bf84fd081 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool$2.java @@ -0,0 +1,18 @@ +package com.tencent.mm.sdk.platformtools; + +class ObserverPool$2 + implements Runnable +{ + ObserverPool$2(ObserverPool paramObserverPool, ObserverPool.Event paramEvent) {} + + public void run() + { + this.az.publish(this.aA); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.ObserverPool.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool.java new file mode 100755 index 00000000000..9cd4d772c7d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/ObserverPool.java @@ -0,0 +1,278 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Set; +import junit.framework.Assert; + +public final class ObserverPool +{ + private final HashMap> ay = new HashMap(); + + /* Error */ + public final boolean add(String paramString, Listener paramListener) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_2 + // 3: invokestatic 31 junit/framework/Assert:assertNotNull (Ljava/lang/Object;)V + // 6: aload_0 + // 7: getfield 22 com/tencent/mm/sdk/platformtools/ObserverPool:ay Ljava/util/HashMap; + // 10: aload_1 + // 11: invokevirtual 35 java/util/HashMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 14: checkcast 37 java/util/LinkedList + // 17: astore 5 + // 19: aload 5 + // 21: astore 4 + // 23: aload 5 + // 25: ifnonnull +23 -> 48 + // 28: new 37 java/util/LinkedList + // 31: dup + // 32: invokespecial 38 java/util/LinkedList: ()V + // 35: astore 4 + // 37: aload_0 + // 38: getfield 22 com/tencent/mm/sdk/platformtools/ObserverPool:ay Ljava/util/HashMap; + // 41: aload_1 + // 42: aload 4 + // 44: invokevirtual 42 java/util/HashMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 47: pop + // 48: aload 4 + // 50: aload_2 + // 51: invokevirtual 46 java/util/LinkedList:contains (Ljava/lang/Object;)Z + // 54: ifeq +30 -> 84 + // 57: ldc 48 + // 59: ldc 50 + // 61: iconst_2 + // 62: anewarray 4 java/lang/Object + // 65: dup + // 66: iconst_0 + // 67: aload_1 + // 68: aastore + // 69: dup + // 70: iconst_1 + // 71: invokestatic 56 com/tencent/mm/sdk/platformtools/Util:getStack ()Ljava/lang/String; + // 74: aastore + // 75: invokestatic 62 com/tencent/mm/sdk/platformtools/Log:e (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 78: iconst_0 + // 79: istore_3 + // 80: aload_0 + // 81: monitorexit + // 82: iload_3 + // 83: ireturn + // 84: aload 4 + // 86: aload_2 + // 87: invokevirtual 64 java/util/LinkedList:add (Ljava/lang/Object;)Z + // 90: istore_3 + // 91: goto -11 -> 80 + // 94: astore_1 + // 95: aload_0 + // 96: monitorexit + // 97: aload_1 + // 98: athrow + // Local variable table: + // start length slot name signature + // 0 99 0 this ObserverPool + // 0 99 1 paramString String + // 0 99 2 paramListener Listener + // 79 12 3 bool boolean + // 21 64 4 localLinkedList1 LinkedList + // 17 7 5 localLinkedList2 LinkedList + // Exception table: + // from to target type + // 2 19 94 finally + // 28 48 94 finally + // 48 78 94 finally + // 84 91 94 finally + } + + public final void asyncPublish(Event paramEvent) + { + asyncPublish(paramEvent, Looper.myLooper()); + } + + public final void asyncPublish(Event paramEvent, Looper paramLooper) + { + Assert.assertNotNull(paramLooper); + new Handler(paramLooper).post(new ObserverPool.2(this, paramEvent)); + } + + public final boolean publish(Event paramEvent) + { + int i = 0; + Assert.assertNotNull(paramEvent); + Object localObject = paramEvent.getId(); + LinkedList localLinkedList = (LinkedList)this.ay.get(localObject); + if (localLinkedList == null) + { + Log.w("MicroMsg.ObserverPool", "No listener for this event %s, Stack: %s.", new Object[] { localObject, Util.getStack() }); + return false; + } + if ((paramEvent.getFlag() & 0x1) != 0) { + i = 1; + } + if (i != 0) { + Collections.sort(localLinkedList, new ObserverPool.1(this)); + } + localObject = localLinkedList.iterator(); + while ((((Iterator)localObject).hasNext()) && ((!((Listener)((Iterator)localObject).next()).callback(paramEvent)) || (i == 0))) {} + paramEvent.onComplete(); + return true; + } + + public final void release() + { + try + { + this.ay.clear(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final boolean remove(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: invokestatic 31 junit/framework/Assert:assertNotNull (Ljava/lang/Object;)V + // 6: aload_0 + // 7: getfield 22 com/tencent/mm/sdk/platformtools/ObserverPool:ay Ljava/util/HashMap; + // 10: aload_1 + // 11: invokevirtual 142 java/util/HashMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 14: astore_1 + // 15: aload_1 + // 16: ifnull +9 -> 25 + // 19: iconst_1 + // 20: istore_2 + // 21: aload_0 + // 22: monitorexit + // 23: iload_2 + // 24: ireturn + // 25: iconst_0 + // 26: istore_2 + // 27: goto -6 -> 21 + // 30: astore_1 + // 31: aload_0 + // 32: monitorexit + // 33: aload_1 + // 34: athrow + // Local variable table: + // start length slot name signature + // 0 35 0 this ObserverPool + // 0 35 1 paramString String + // 20 7 2 bool boolean + // Exception table: + // from to target type + // 2 15 30 finally + } + + public final boolean remove(String paramString, Listener paramListener) + { + for (;;) + { + try + { + Assert.assertNotNull(paramListener); + LinkedList localLinkedList = (LinkedList)this.ay.get(paramString); + if (localLinkedList != null) + { + bool = localLinkedList.remove(paramListener); + if (!bool) { + Log.e("MicroMsg.ObserverPool", "Listener isnot existed in the map. EventId: %s, Stack: %s.", new Object[] { paramString, Util.getStack() }); + } + return bool; + } + } + finally {} + boolean bool = false; + } + } + + public final String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("ObserverPool profile:\n"); + localStringBuilder.append("\tEvent number: ").append(this.ay.size()).append("\n"); + localStringBuilder.append("\tDetail:\n"); + Iterator localIterator = this.ay.keySet().iterator(); + while (localIterator.hasNext()) + { + String str = (String)localIterator.next(); + localStringBuilder.append("\t").append(str).append(" : ").append(((LinkedList)this.ay.get(str)).size()).append("\n"); + } + localStringBuilder.append("End..."); + return localStringBuilder.toString(); + } + + public static class Event + { + public static final int FLAG_ORDER_EXE = 1; + private final String aB; + private int aC; + public final Bundle data = new Bundle(); + + public Event(String paramString) + { + Assert.assertNotNull(paramString); + this.aB = paramString; + } + + public int getFlag() + { + return this.aC; + } + + public String getId() + { + return this.aB; + } + + public void onComplete() {} + + public Event setFlag(int paramInt) + { + this.aC = paramInt; + return this; + } + } + + public static abstract class Listener + { + private final int priority; + + public Listener() + { + this.priority = 0; + } + + public Listener(int paramInt) + { + this.priority = paramInt; + } + + public abstract boolean callback(ObserverPool.Event paramEvent); + + public int getPriority() + { + return this.priority; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.ObserverPool + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher$1.java new file mode 100755 index 00000000000..12b32d4c0d8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher$1.java @@ -0,0 +1,35 @@ +package com.tencent.mm.sdk.platformtools; + +import android.telephony.PhoneStateListener; +import java.util.Iterator; +import java.util.List; + +class PhoneStatusWatcher$1 + extends PhoneStateListener +{ + PhoneStatusWatcher$1(PhoneStatusWatcher paramPhoneStatusWatcher) {} + + public void onCallStateChanged(int paramInt, String paramString) + { + Iterator localIterator = PhoneStatusWatcher.a(this.aH).iterator(); + while (localIterator.hasNext()) { + ((PhoneStatusWatcher.PhoneCallListener)localIterator.next()).onPhoneCall(paramInt); + } + super.onCallStateChanged(paramInt, paramString); + switch (paramInt) + { + default: + return; + case 0: + PhoneStatusWatcher.a(false); + return; + } + PhoneStatusWatcher.a(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneStatusWatcher.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher.java new file mode 100755 index 00000000000..93882df8711 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneStatusWatcher.java @@ -0,0 +1,66 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.telephony.PhoneStateListener; +import android.telephony.TelephonyManager; +import java.util.LinkedList; +import java.util.List; + +public class PhoneStatusWatcher +{ + private static boolean aD; + private TelephonyManager aE; + private PhoneStateListener aF; + private List aG = new LinkedList(); + + public static boolean isCalling() + { + return aD; + } + + public void addPhoneCallListener(PhoneCallListener paramPhoneCallListener) + { + this.aG.add(paramPhoneCallListener); + } + + public void begin(Context paramContext) + { + if (this.aE == null) { + this.aE = ((TelephonyManager)paramContext.getSystemService("phone")); + } + if (this.aF == null) { + this.aF = new PhoneStatusWatcher.1(this); + } + this.aE.listen(this.aF, 32); + } + + public void clearPhoneCallListener() + { + this.aG.clear(); + } + + public void end() + { + if (this.aE != null) + { + this.aE.listen(this.aF, 0); + this.aF = null; + } + } + + public void removePhoneCallListener(PhoneCallListener paramPhoneCallListener) + { + this.aG.remove(paramPhoneCallListener); + } + + public static abstract interface PhoneCallListener + { + public abstract void onPhoneCall(int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneStatusWatcher + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil.java new file mode 100755 index 00000000000..1e1d4009d6d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil.java @@ -0,0 +1,137 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.os.Build.VERSION; +import java.util.List; + +public final class PhoneUtil +{ + public static final String CELL_CDMA = "cdma"; + public static final String CELL_GSM = "gsm"; + private static final int aI = 17; + + public static List getCellInfoList(Context paramContext) + { + if (Build.VERSION.SDK_INT >= 5) { + return new PhoneUtil20Impl().getCellInfoList(paramContext); + } + return new PhoneUtil16Impl().getCellInfoList(paramContext); + } + + public static String getCellXml(List paramList) + { + Object localObject; + if ((paramList == null) || (paramList.size() <= 0)) + { + localObject = ""; + return localObject; + } + String str = ""; + int i = 0; + for (;;) + { + localObject = str; + if (i >= paramList.size()) { + break; + } + str = str + ""; + str = str + ((CellInfo)paramList.get(i)).cellid; + str = str + ""; + i += 1; + } + } + + public static String getMacXml(List paramList) + { + String str1 = ""; + String str2; + if ((paramList == null) || (paramList.size() <= 0)) { + str2 = ""; + } + int i; + do + { + return str2; + i = 0; + str2 = str1; + } while (i >= paramList.size()); + if ((paramList.get(i) != null) && (((MacInfo)paramList.get(i)).mac.length() == aI)) + { + str1 = str1 + ""; + str1 = str1 + ((MacInfo)paramList.get(i)).mac; + str1 = str1 + ""; + } + for (;;) + { + i += 1; + break; + } + } + + public static void getSignalStrength(Context paramContext) + { + if (Build.VERSION.SDK_INT >= 5) + { + new PhoneUtil20Impl().getSignalStrength(paramContext); + return; + } + new PhoneUtil16Impl().getSignalStrength(paramContext); + } + + public static class CellInfo + { + public static final int MAX_CID = 65535; + public static final int MAX_LAC = 65535; + public String cellid; + public String dbm; + public String lac; + public String mcc; + public String mnc; + public String networkId; + public String stationId; + public String systemId; + public String type; + + public CellInfo(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7, String paramString8, String paramString9) + { + this.mcc = paramString1; + this.mnc = paramString2; + this.lac = paramString3; + this.type = paramString6; + this.cellid = paramString4; + this.stationId = paramString7; + this.networkId = paramString8; + this.systemId = paramString9; + this.dbm = paramString5; + } + } + + public static class MacInfo + { + public String dbm; + public String mac; + + public MacInfo(String paramString1, String paramString2) + { + this.mac = paramString1; + this.dbm = paramString2; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl$1.java new file mode 100755 index 00000000000..1c9acc4ff32 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl$1.java @@ -0,0 +1,25 @@ +package com.tencent.mm.sdk.platformtools; + +import android.telephony.PhoneStateListener; +import android.telephony.TelephonyManager; + +class PhoneUtil16Impl$1 + extends PhoneStateListener +{ + PhoneUtil16Impl$1(PhoneUtil16Impl paramPhoneUtil16Impl) {} + + public void onSignalStrengthChanged(int paramInt) + { + super.onSignalStrengthChanged(paramInt); + PhoneUtil16Impl.c(paramInt * 2 - 113); + if (PhoneUtil16Impl.a(this.aN) != null) { + PhoneUtil16Impl.a(this.aN).listen(PhoneUtil16Impl.b(this.aN), 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneUtil16Impl.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl.java new file mode 100755 index 00000000000..d699393ed8e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil16Impl.java @@ -0,0 +1,97 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.telephony.NeighboringCellInfo; +import android.telephony.PhoneStateListener; +import android.telephony.TelephonyManager; +import android.telephony.gsm.GsmCellLocation; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +class PhoneUtil16Impl +{ + private static int aJ = 10000; + private static int aK = 10000; + private TelephonyManager aL; + private PhoneStateListener aM = new PhoneUtil16Impl.1(this); + + public List getCellInfoList(Context paramContext) + { + LinkedList localLinkedList = new LinkedList(); + TelephonyManager localTelephonyManager = (TelephonyManager)paramContext.getSystemService("phone"); + Object localObject3 = localTelephonyManager.getNetworkOperator(); + if ((localObject3 == null) || (((String)localObject3).equals(""))) { + return localLinkedList; + } + paramContext = "460"; + Object localObject1 = ""; + try + { + localObject2 = ((String)localObject3).substring(0, 3); + paramContext = (Context)localObject2; + localObject3 = ((String)localObject3).substring(3); + localObject1 = localObject3; + paramContext = (Context)localObject2; + } + catch (Exception localException1) + { + for (;;) + { + Object localObject2; + label171: + localException1.printStackTrace(); + continue; + String str = aK; + } + } + try + { + localObject2 = (GsmCellLocation)localTelephonyManager.getCellLocation(); + if (localObject2 != null) + { + int i = ((GsmCellLocation)localObject2).getCid(); + int j = ((GsmCellLocation)localObject2).getLac(); + if ((j < 65535) && (j != -1) && (i != -1)) + { + if (aK != aJ) { + break label294; + } + localObject2 = ""; + localLinkedList.add(new PhoneUtil.CellInfo(paramContext, (String)localObject1, String.valueOf(j), String.valueOf(i), (String)localObject2, "gsm", "", "", "")); + } + } + } + catch (Exception localException2) + { + localException2.printStackTrace(); + break label171; + } + localObject2 = localTelephonyManager.getNeighboringCellInfo(); + if ((localObject2 != null) && (((List)localObject2).size() > 0)) + { + localObject2 = ((List)localObject2).iterator(); + while (((Iterator)localObject2).hasNext()) + { + localObject3 = (NeighboringCellInfo)((Iterator)localObject2).next(); + if (((NeighboringCellInfo)localObject3).getCid() != -1) { + localLinkedList.add(new PhoneUtil.CellInfo(paramContext, (String)localObject1, "", ((NeighboringCellInfo)localObject3).getCid(), "", "gsm", "", "", "")); + } + } + } + label294: + return localLinkedList; + } + + public void getSignalStrength(Context paramContext) + { + this.aL = ((TelephonyManager)paramContext.getSystemService("phone")); + this.aL.listen(this.aM, 256); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneUtil16Impl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl$1.java new file mode 100755 index 00000000000..c2c57012765 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl$1.java @@ -0,0 +1,31 @@ +package com.tencent.mm.sdk.platformtools; + +import android.telephony.PhoneStateListener; +import android.telephony.SignalStrength; +import android.telephony.TelephonyManager; + +class PhoneUtil20Impl$1 + extends PhoneStateListener +{ + PhoneUtil20Impl$1(PhoneUtil20Impl paramPhoneUtil20Impl) {} + + public void onSignalStrengthsChanged(SignalStrength paramSignalStrength) + { + super.onSignalStrengthsChanged(paramSignalStrength); + if (PhoneUtil20Impl.a(this.aP) == 2) { + PhoneUtil20Impl.d(paramSignalStrength.getCdmaDbm()); + } + if (PhoneUtil20Impl.a(this.aP) == 1) { + PhoneUtil20Impl.d(paramSignalStrength.getGsmSignalStrength() * 2 - 113); + } + if (PhoneUtil20Impl.b(this.aP) != null) { + PhoneUtil20Impl.b(this.aP).listen(PhoneUtil20Impl.c(this.aP), 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneUtil20Impl.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl.java new file mode 100755 index 00000000000..e76b2866fbe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/PhoneUtil20Impl.java @@ -0,0 +1,456 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.Context; +import android.telephony.PhoneStateListener; +import android.telephony.TelephonyManager; + +class PhoneUtil20Impl +{ + private static int aJ = 10000; + private static int aK = 10000; + private TelephonyManager aL; + private PhoneStateListener aM = new PhoneUtil20Impl.1(this); + private int aO; + + /* Error */ + public java.util.List getCellInfoList(Context paramContext) + { + // Byte code: + // 0: aload_1 + // 1: ldc 47 + // 3: invokevirtual 53 android/content/Context:getSystemService (Ljava/lang/String;)Ljava/lang/Object; + // 6: checkcast 55 android/telephony/TelephonyManager + // 9: astore 8 + // 11: new 57 java/util/LinkedList + // 14: dup + // 15: invokespecial 58 java/util/LinkedList: ()V + // 18: astore 7 + // 20: ldc 60 + // 22: astore 5 + // 24: ldc 62 + // 26: astore 6 + // 28: aload 8 + // 30: invokevirtual 66 android/telephony/TelephonyManager:getNetworkOperator ()Ljava/lang/String; + // 33: astore 4 + // 35: aload 4 + // 37: ifnull +177 -> 214 + // 40: aload 4 + // 42: ldc 62 + // 44: invokevirtual 72 java/lang/String:equals (Ljava/lang/Object;)Z + // 47: ifne +167 -> 214 + // 50: aload 4 + // 52: iconst_0 + // 53: iconst_3 + // 54: invokevirtual 76 java/lang/String:substring (II)Ljava/lang/String; + // 57: astore_1 + // 58: aload 4 + // 60: iconst_3 + // 61: iconst_5 + // 62: invokevirtual 76 java/lang/String:substring (II)Ljava/lang/String; + // 65: astore 4 + // 67: aload 8 + // 69: invokevirtual 80 android/telephony/TelephonyManager:getPhoneType ()I + // 72: iconst_2 + // 73: if_icmpne +490 -> 563 + // 76: aload 8 + // 78: invokevirtual 84 android/telephony/TelephonyManager:getCellLocation ()Landroid/telephony/CellLocation; + // 81: checkcast 86 android/telephony/cdma/CdmaCellLocation + // 84: astore 6 + // 86: aload 6 + // 88: ifnull +123 -> 211 + // 91: getstatic 18 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aK I + // 94: getstatic 16 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aJ I + // 97: if_icmpne +181 -> 278 + // 100: ldc 62 + // 102: astore 5 + // 104: aload 6 + // 106: invokevirtual 89 android/telephony/cdma/CdmaCellLocation:getBaseStationId ()I + // 109: iconst_m1 + // 110: if_icmpeq +101 -> 211 + // 113: aload 6 + // 115: invokevirtual 92 android/telephony/cdma/CdmaCellLocation:getNetworkId ()I + // 118: iconst_m1 + // 119: if_icmpeq +92 -> 211 + // 122: aload 6 + // 124: invokevirtual 95 android/telephony/cdma/CdmaCellLocation:getSystemId ()I + // 127: iconst_m1 + // 128: if_icmpeq +83 -> 211 + // 131: aload 7 + // 133: new 97 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo + // 136: dup + // 137: aload_1 + // 138: aload 4 + // 140: ldc 62 + // 142: ldc 62 + // 144: aload 5 + // 146: ldc 99 + // 148: new 101 java/lang/StringBuilder + // 151: dup + // 152: invokespecial 102 java/lang/StringBuilder: ()V + // 155: aload 6 + // 157: invokevirtual 89 android/telephony/cdma/CdmaCellLocation:getBaseStationId ()I + // 160: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 163: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 166: new 101 java/lang/StringBuilder + // 169: dup + // 170: invokespecial 102 java/lang/StringBuilder: ()V + // 173: aload 6 + // 175: invokevirtual 92 android/telephony/cdma/CdmaCellLocation:getNetworkId ()I + // 178: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 181: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 184: new 101 java/lang/StringBuilder + // 187: dup + // 188: invokespecial 102 java/lang/StringBuilder: ()V + // 191: aload 6 + // 193: invokevirtual 95 android/telephony/cdma/CdmaCellLocation:getSystemId ()I + // 196: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 199: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 202: invokespecial 112 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + // 205: invokeinterface 117 2 0 + // 210: pop + // 211: aload 7 + // 213: areturn + // 214: aload 8 + // 216: invokevirtual 120 android/telephony/TelephonyManager:getSimOperator ()Ljava/lang/String; + // 219: astore 9 + // 221: aload 6 + // 223: astore 4 + // 225: aload 5 + // 227: astore_1 + // 228: aload 9 + // 230: ifnull +37 -> 267 + // 233: aload 6 + // 235: astore 4 + // 237: aload 5 + // 239: astore_1 + // 240: aload 9 + // 242: ldc 62 + // 244: invokevirtual 72 java/lang/String:equals (Ljava/lang/Object;)Z + // 247: ifne +20 -> 267 + // 250: aload 9 + // 252: iconst_0 + // 253: iconst_3 + // 254: invokevirtual 76 java/lang/String:substring (II)Ljava/lang/String; + // 257: astore_1 + // 258: aload 9 + // 260: iconst_3 + // 261: iconst_5 + // 262: invokevirtual 76 java/lang/String:substring (II)Ljava/lang/String; + // 265: astore 4 + // 267: goto -200 -> 67 + // 270: astore_1 + // 271: aload_1 + // 272: invokevirtual 123 java/lang/Exception:printStackTrace ()V + // 275: aload 7 + // 277: areturn + // 278: new 101 java/lang/StringBuilder + // 281: dup + // 282: invokespecial 102 java/lang/StringBuilder: ()V + // 285: getstatic 18 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aK I + // 288: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 291: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 294: astore 5 + // 296: goto -192 -> 104 + // 299: astore 5 + // 301: aload 8 + // 303: invokevirtual 84 android/telephony/TelephonyManager:getCellLocation ()Landroid/telephony/CellLocation; + // 306: checkcast 125 android/telephony/gsm/GsmCellLocation + // 309: astore 5 + // 311: aload 5 + // 313: ifnull +67 -> 380 + // 316: aload 5 + // 318: invokevirtual 128 android/telephony/gsm/GsmCellLocation:getCid ()I + // 321: istore_2 + // 322: aload 5 + // 324: invokevirtual 131 android/telephony/gsm/GsmCellLocation:getLac ()I + // 327: istore_3 + // 328: iload_3 + // 329: ldc 132 + // 331: if_icmpge +49 -> 380 + // 334: iload_3 + // 335: iconst_m1 + // 336: if_icmpeq +44 -> 380 + // 339: iload_2 + // 340: iconst_m1 + // 341: if_icmpeq +39 -> 380 + // 344: aload 7 + // 346: new 97 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo + // 349: dup + // 350: aload_1 + // 351: aload 4 + // 353: iload_3 + // 354: invokestatic 136 java/lang/String:valueOf (I)Ljava/lang/String; + // 357: iload_2 + // 358: invokestatic 136 java/lang/String:valueOf (I)Ljava/lang/String; + // 361: ldc 62 + // 363: ldc 138 + // 365: ldc 62 + // 367: ldc 62 + // 369: ldc 62 + // 371: invokespecial 112 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + // 374: invokeinterface 117 2 0 + // 379: pop + // 380: aload 8 + // 382: invokevirtual 142 android/telephony/TelephonyManager:getNeighboringCellInfo ()Ljava/util/List; + // 385: astore 5 + // 387: aload 5 + // 389: ifnull -178 -> 211 + // 392: aload 5 + // 394: invokeinterface 145 1 0 + // 399: ifle -188 -> 211 + // 402: aload 5 + // 404: invokeinterface 149 1 0 + // 409: astore 5 + // 411: aload 5 + // 413: invokeinterface 155 1 0 + // 418: ifeq -207 -> 211 + // 421: aload 5 + // 423: invokeinterface 159 1 0 + // 428: checkcast 161 android/telephony/NeighboringCellInfo + // 431: astore 6 + // 433: aload 6 + // 435: invokevirtual 162 android/telephony/NeighboringCellInfo:getCid ()I + // 438: iconst_m1 + // 439: if_icmpeq -28 -> 411 + // 442: aload 6 + // 444: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 447: ldc 132 + // 449: if_icmpgt -38 -> 411 + // 452: aload 6 + // 454: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 457: iconst_m1 + // 458: if_icmpeq -47 -> 411 + // 461: new 101 java/lang/StringBuilder + // 464: dup + // 465: invokespecial 102 java/lang/StringBuilder: ()V + // 468: aload 6 + // 470: invokevirtual 166 android/telephony/NeighboringCellInfo:getRssi ()I + // 473: iconst_2 + // 474: imul + // 475: bipush 113 + // 477: isub + // 478: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 481: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 484: astore 8 + // 486: aload 7 + // 488: new 97 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo + // 491: dup + // 492: aload_1 + // 493: aload 4 + // 495: new 101 java/lang/StringBuilder + // 498: dup + // 499: invokespecial 102 java/lang/StringBuilder: ()V + // 502: aload 6 + // 504: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 507: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 510: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 513: new 101 java/lang/StringBuilder + // 516: dup + // 517: invokespecial 102 java/lang/StringBuilder: ()V + // 520: aload 6 + // 522: invokevirtual 162 android/telephony/NeighboringCellInfo:getCid ()I + // 525: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 528: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 531: aload 8 + // 533: ldc 138 + // 535: ldc 62 + // 537: ldc 62 + // 539: ldc 62 + // 541: invokespecial 112 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + // 544: invokeinterface 117 2 0 + // 549: pop + // 550: goto -139 -> 411 + // 553: astore 5 + // 555: aload 5 + // 557: invokevirtual 123 java/lang/Exception:printStackTrace ()V + // 560: goto -180 -> 380 + // 563: aload 8 + // 565: invokevirtual 84 android/telephony/TelephonyManager:getCellLocation ()Landroid/telephony/CellLocation; + // 568: checkcast 125 android/telephony/gsm/GsmCellLocation + // 571: astore 5 + // 573: aload 5 + // 575: ifnull +80 -> 655 + // 578: aload 5 + // 580: invokevirtual 128 android/telephony/gsm/GsmCellLocation:getCid ()I + // 583: istore_2 + // 584: aload 5 + // 586: invokevirtual 131 android/telephony/gsm/GsmCellLocation:getLac ()I + // 589: istore_3 + // 590: iload_3 + // 591: ldc 132 + // 593: if_icmpge +62 -> 655 + // 596: iload_3 + // 597: iconst_m1 + // 598: if_icmpeq +57 -> 655 + // 601: iload_2 + // 602: iconst_m1 + // 603: if_icmpeq +52 -> 655 + // 606: getstatic 18 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aK I + // 609: getstatic 16 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aJ I + // 612: if_icmpne +255 -> 867 + // 615: ldc 62 + // 617: astore 5 + // 619: aload 7 + // 621: new 97 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo + // 624: dup + // 625: aload_1 + // 626: aload 4 + // 628: iload_3 + // 629: invokestatic 136 java/lang/String:valueOf (I)Ljava/lang/String; + // 632: iload_2 + // 633: invokestatic 136 java/lang/String:valueOf (I)Ljava/lang/String; + // 636: aload 5 + // 638: ldc 138 + // 640: ldc 62 + // 642: ldc 62 + // 644: ldc 62 + // 646: invokespecial 112 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + // 649: invokeinterface 117 2 0 + // 654: pop + // 655: aload 8 + // 657: invokevirtual 142 android/telephony/TelephonyManager:getNeighboringCellInfo ()Ljava/util/List; + // 660: astore 5 + // 662: aload 5 + // 664: ifnull -453 -> 211 + // 667: aload 5 + // 669: invokeinterface 145 1 0 + // 674: ifle -463 -> 211 + // 677: aload 5 + // 679: invokeinterface 149 1 0 + // 684: astore 5 + // 686: aload 5 + // 688: invokeinterface 155 1 0 + // 693: ifeq -482 -> 211 + // 696: aload 5 + // 698: invokeinterface 159 1 0 + // 703: checkcast 161 android/telephony/NeighboringCellInfo + // 706: astore 6 + // 708: aload 6 + // 710: invokevirtual 162 android/telephony/NeighboringCellInfo:getCid ()I + // 713: iconst_m1 + // 714: if_icmpeq -28 -> 686 + // 717: aload 6 + // 719: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 722: ldc 132 + // 724: if_icmpgt -38 -> 686 + // 727: new 101 java/lang/StringBuilder + // 730: dup + // 731: invokespecial 102 java/lang/StringBuilder: ()V + // 734: aload 6 + // 736: invokevirtual 166 android/telephony/NeighboringCellInfo:getRssi ()I + // 739: iconst_2 + // 740: imul + // 741: bipush 113 + // 743: isub + // 744: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 747: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 750: astore 8 + // 752: ldc 168 + // 754: new 101 java/lang/StringBuilder + // 757: dup + // 758: ldc 170 + // 760: invokespecial 173 java/lang/StringBuilder: (Ljava/lang/String;)V + // 763: aload 6 + // 765: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 768: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 771: ldc 175 + // 773: invokevirtual 178 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 776: aload 6 + // 778: invokevirtual 162 android/telephony/NeighboringCellInfo:getCid ()I + // 781: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 784: ldc 180 + // 786: invokevirtual 178 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 789: aload 8 + // 791: invokevirtual 178 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 794: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 797: invokestatic 186 com/tencent/mm/sdk/platformtools/Log:v (Ljava/lang/String;Ljava/lang/String;)V + // 800: aload 7 + // 802: new 97 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo + // 805: dup + // 806: aload_1 + // 807: aload 4 + // 809: new 101 java/lang/StringBuilder + // 812: dup + // 813: invokespecial 102 java/lang/StringBuilder: ()V + // 816: aload 6 + // 818: invokevirtual 163 android/telephony/NeighboringCellInfo:getLac ()I + // 821: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 824: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 827: new 101 java/lang/StringBuilder + // 830: dup + // 831: invokespecial 102 java/lang/StringBuilder: ()V + // 834: aload 6 + // 836: invokevirtual 162 android/telephony/NeighboringCellInfo:getCid ()I + // 839: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 842: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 845: aload 8 + // 847: ldc 138 + // 849: ldc 62 + // 851: ldc 62 + // 853: ldc 62 + // 855: invokespecial 112 com/tencent/mm/sdk/platformtools/PhoneUtil$CellInfo: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + // 858: invokeinterface 117 2 0 + // 863: pop + // 864: goto -178 -> 686 + // 867: new 101 java/lang/StringBuilder + // 870: dup + // 871: invokespecial 102 java/lang/StringBuilder: ()V + // 874: getstatic 18 com/tencent/mm/sdk/platformtools/PhoneUtil20Impl:aK I + // 877: invokevirtual 106 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 880: invokevirtual 109 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 883: astore 5 + // 885: goto -266 -> 619 + // 888: astore 5 + // 890: aload 5 + // 892: invokevirtual 123 java/lang/Exception:printStackTrace ()V + // 895: goto -240 -> 655 + // Local variable table: + // start length slot name signature + // 0 898 0 this PhoneUtil20Impl + // 0 898 1 paramContext Context + // 321 312 2 i int + // 327 302 3 j int + // 33 775 4 localObject1 Object + // 22 273 5 str1 java.lang.String + // 299 1 5 localException1 java.lang.Exception + // 309 113 5 localObject2 Object + // 553 3 5 localException2 java.lang.Exception + // 571 313 5 localObject3 Object + // 888 3 5 localException3 java.lang.Exception + // 26 809 6 localObject4 Object + // 18 783 7 localLinkedList java.util.LinkedList + // 9 837 8 localObject5 Object + // 219 40 9 str2 java.lang.String + // Exception table: + // from to target type + // 28 35 270 java/lang/Exception + // 40 67 270 java/lang/Exception + // 214 221 270 java/lang/Exception + // 240 267 270 java/lang/Exception + // 76 86 299 java/lang/Exception + // 91 100 299 java/lang/Exception + // 104 211 299 java/lang/Exception + // 278 296 299 java/lang/Exception + // 301 311 553 java/lang/Exception + // 316 328 553 java/lang/Exception + // 344 380 553 java/lang/Exception + // 563 573 888 java/lang/Exception + // 578 590 888 java/lang/Exception + // 606 615 888 java/lang/Exception + // 619 655 888 java/lang/Exception + // 867 885 888 java/lang/Exception + } + + public void getSignalStrength(Context paramContext) + { + this.aL = ((TelephonyManager)paramContext.getSystemService("phone")); + this.aL.listen(this.aM, 256); + this.aO = this.aL.getPhoneType(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.PhoneUtil20Impl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread$1.java new file mode 100755 index 00000000000..d4d995cd491 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread$1.java @@ -0,0 +1,23 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Handler; +import android.os.Message; + +class QueueWorkerThread$1 + extends Handler +{ + QueueWorkerThread$1(QueueWorkerThread paramQueueWorkerThread) {} + + public void handleMessage(Message paramMessage) + { + if ((paramMessage != null) && (paramMessage.obj != null)) { + ((QueueWorkerThread.ThreadObject)paramMessage.obj).onPostExecute(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.QueueWorkerThread.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread.java new file mode 100755 index 00000000000..e2a87a3d9c7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/QueueWorkerThread.java @@ -0,0 +1,235 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Handler; +import java.util.Vector; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; + +public class QueueWorkerThread +{ + private LinkedBlockingQueue aQ = new LinkedBlockingQueue(); + private boolean aR = false; + private int aS = 1; + private Vector aT = new Vector(); + private Handler aU = new QueueWorkerThread.1(this); + private Object lock = new byte[0]; + private String name = ""; + private int priority = 1; + + public QueueWorkerThread(int paramInt, String paramString) + { + this(paramInt, paramString, 1); + } + + public QueueWorkerThread(int paramInt1, String paramString, int paramInt2) + { + this.aS = paramInt2; + this.name = paramString; + this.priority = paramInt1; + } + + public int add(ThreadObject paramThreadObject) + { + int j = 0; + int i; + if (paramThreadObject == null) + { + Log.e("QueueWorkerThread.QueueWorkerThread", "add empty thread object"); + i = -1; + } + do + { + do + { + return i; + try + { + if (!this.aQ.offer(paramThreadObject, 1L, TimeUnit.MILLISECONDS)) + { + Log.e("QueueWorkerThread.QueueWorkerThread", "add To Queue failed"); + return -2; + } + } + catch (Exception paramThreadObject) + { + Log.e("QueueWorkerThread.QueueWorkerThread", "add To Queue failed :" + paramThreadObject.getMessage()); + paramThreadObject.printStackTrace(); + return -3; + } + if (this.aT.size() == 0) { + break; + } + i = j; + } while (this.aQ.size() <= 0); + i = j; + } while (this.aS <= this.aT.size()); + new WorkerThread((byte)0).start(); + return 0; + } + + public int getQueueSize() + { + return this.aQ.size(); + } + + public boolean isDead() + { + return (this.aT == null) || (this.aT.size() == 0); + } + + public void pause(boolean paramBoolean) + { + synchronized (this.lock) + { + this.aR = paramBoolean; + if (!paramBoolean) {} + synchronized (this.lock) + { + this.lock.notifyAll(); + return; + } + } + } + + public static abstract interface ThreadObject + { + public abstract boolean doInBackground(); + + public abstract boolean onPostExecute(); + } + + final class WorkerThread + extends Thread + { + private int aW = 60; + + private WorkerThread() + { + super(); + setPriority(QueueWorkerThread.b(QueueWorkerThread.this)); + QueueWorkerThread.c(QueueWorkerThread.this).add(this); + } + + /* Error */ + public final void run() + { + // Byte code: + // 0: aload_0 + // 1: getfield 24 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aW I + // 4: ifle +136 -> 140 + // 7: aload_0 + // 8: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 11: invokestatic 54 com/tencent/mm/sdk/platformtools/QueueWorkerThread:d (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/lang/Object; + // 14: astore_1 + // 15: aload_1 + // 16: monitorenter + // 17: aload_0 + // 18: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 21: invokestatic 58 com/tencent/mm/sdk/platformtools/QueueWorkerThread:e (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Z + // 24: ifeq +13 -> 37 + // 27: aload_0 + // 28: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 31: invokestatic 54 com/tencent/mm/sdk/platformtools/QueueWorkerThread:d (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/lang/Object; + // 34: invokevirtual 63 java/lang/Object:wait ()V + // 37: aload_1 + // 38: monitorexit + // 39: aload_0 + // 40: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 43: invokestatic 67 com/tencent/mm/sdk/platformtools/QueueWorkerThread:f (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/util/concurrent/LinkedBlockingQueue; + // 46: ldc2_w 68 + // 49: getstatic 75 java/util/concurrent/TimeUnit:MILLISECONDS Ljava/util/concurrent/TimeUnit; + // 52: invokevirtual 81 java/util/concurrent/LinkedBlockingQueue:poll (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; + // 55: checkcast 83 com/tencent/mm/sdk/platformtools/QueueWorkerThread$ThreadObject + // 58: astore_1 + // 59: aload_1 + // 60: ifnonnull +39 -> 99 + // 63: aload_0 + // 64: aload_0 + // 65: getfield 24 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aW I + // 68: iconst_1 + // 69: isub + // 70: putfield 24 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aW I + // 73: goto -73 -> 0 + // 76: astore_2 + // 77: aload_2 + // 78: invokevirtual 86 java/lang/Exception:printStackTrace ()V + // 81: goto -44 -> 37 + // 84: astore_2 + // 85: aload_1 + // 86: monitorexit + // 87: aload_2 + // 88: athrow + // 89: astore_1 + // 90: aload_1 + // 91: invokevirtual 86 java/lang/Exception:printStackTrace ()V + // 94: aconst_null + // 95: astore_1 + // 96: goto -37 -> 59 + // 99: aload_0 + // 100: bipush 60 + // 102: putfield 24 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aW I + // 105: aload_1 + // 106: invokeinterface 90 1 0 + // 111: ifeq -111 -> 0 + // 114: aload_0 + // 115: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 118: invokestatic 94 com/tencent/mm/sdk/platformtools/QueueWorkerThread:g (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Landroid/os/Handler; + // 121: aload_0 + // 122: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 125: invokestatic 94 com/tencent/mm/sdk/platformtools/QueueWorkerThread:g (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Landroid/os/Handler; + // 128: iconst_0 + // 129: aload_1 + // 130: invokevirtual 100 android/os/Handler:obtainMessage (ILjava/lang/Object;)Landroid/os/Message; + // 133: invokevirtual 104 android/os/Handler:sendMessage (Landroid/os/Message;)Z + // 136: pop + // 137: goto -137 -> 0 + // 140: aload_0 + // 141: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 144: invokestatic 36 com/tencent/mm/sdk/platformtools/QueueWorkerThread:c (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/util/Vector; + // 147: aload_0 + // 148: invokevirtual 107 java/util/Vector:remove (Ljava/lang/Object;)Z + // 151: pop + // 152: ldc 109 + // 154: new 111 java/lang/StringBuilder + // 157: dup + // 158: ldc 113 + // 160: invokespecial 114 java/lang/StringBuilder: (Ljava/lang/String;)V + // 163: aload_0 + // 164: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 167: invokestatic 67 com/tencent/mm/sdk/platformtools/QueueWorkerThread:f (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/util/concurrent/LinkedBlockingQueue; + // 170: invokevirtual 118 java/util/concurrent/LinkedBlockingQueue:size ()I + // 173: invokevirtual 122 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 176: ldc 124 + // 178: invokevirtual 127 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 181: aload_0 + // 182: getfield 15 com/tencent/mm/sdk/platformtools/QueueWorkerThread$WorkerThread:aV Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread; + // 185: invokestatic 36 com/tencent/mm/sdk/platformtools/QueueWorkerThread:c (Lcom/tencent/mm/sdk/platformtools/QueueWorkerThread;)Ljava/util/Vector; + // 188: invokevirtual 128 java/util/Vector:size ()I + // 191: invokevirtual 122 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 194: invokevirtual 132 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 197: invokestatic 137 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 200: return + // Local variable table: + // start length slot name signature + // 0 201 0 this WorkerThread + // 14 72 1 localObject1 Object + // 89 2 1 localException1 Exception + // 95 35 1 localObject2 Object + // 76 2 2 localException2 Exception + // 84 4 2 localObject3 Object + // Exception table: + // from to target type + // 17 37 76 java/lang/Exception + // 17 37 84 finally + // 37 39 84 finally + // 77 81 84 finally + // 39 59 89 java/lang/Exception + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.QueueWorkerThread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SemiXml.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SemiXml.java new file mode 100755 index 00000000000..4721f4063c5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SemiXml.java @@ -0,0 +1,80 @@ +package com.tencent.mm.sdk.platformtools; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +public class SemiXml +{ + public static final String MAGIC_HEAD = "~SEMI_XML~"; + + public static Map decode(String paramString) + { + if ((paramString == null) || (!paramString.startsWith("~SEMI_XML~"))) + { + paramString = null; + return paramString; + } + String str = paramString.substring(10); + HashMap localHashMap = new HashMap(); + int i = 0; + int j = str.length(); + for (;;) + { + paramString = localHashMap; + if (i >= j - 4) { + break; + } + int k = i + 1; + try + { + int m = str.charAt(i); + i = k + 1; + k = (m << 16) + str.charAt(k) + i; + paramString = str.substring(i, k); + i = k + 1; + m = str.charAt(k); + k = i + 1; + i = (m << 16) + str.charAt(i) + k; + localHashMap.put(paramString, str.substring(k, i)); + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + } + return localHashMap; + } + + public static String encode(Map paramMap) + { + if (paramMap == null) { + return null; + } + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("~SEMI_XML~"); + paramMap = paramMap.entrySet().iterator(); + while (paramMap.hasNext()) + { + Object localObject = (Map.Entry)paramMap.next(); + String str = (String)((Map.Entry)localObject).getKey(); + localObject = (String)((Map.Entry)localObject).getValue(); + if (localObject != null) + { + int i = str.length(); + int j = ((String)localObject).length(); + localStringBuilder.append((char)(i >> 16)).append((char)i).append(str); + localStringBuilder.append((char)(j >> 16)).append((char)j).append((String)localObject); + } + } + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SemiXml + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SensorController.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SensorController.java new file mode 100755 index 00000000000..b4238b3c3e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SensorController.java @@ -0,0 +1,124 @@ +package com.tencent.mm.sdk.platformtools; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; + +public class SensorController + extends BroadcastReceiver + implements SensorEventListener +{ + private static float aX = 4.294967E+009F; + private static float ba = 0.5F; + private SensorManager aY; + private float aZ; + private SensorEventCallBack bb; + private Sensor bc; + private final boolean bd; + private boolean be = false; + private boolean bf = false; + + public SensorController(Context paramContext) + { + this.aY = ((SensorManager)paramContext.getSystemService("sensor")); + this.bc = this.aY.getDefaultSensor(8); + if (this.bc != null) {} + for (boolean bool = true;; bool = false) + { + this.bd = bool; + this.aZ = (ba + 1.0F); + return; + } + } + + public boolean isSensorEnable() + { + return this.bd; + } + + public void onAccuracyChanged(Sensor paramSensor, int paramInt) {} + + public void onReceive(Context paramContext, Intent paramIntent) + { + if (paramIntent.getAction().equals("android.intent.action.HEADSET_PLUG")) + { + int i = paramIntent.getIntExtra("state", 0); + if (i == 1) { + this.be = true; + } + if (i == 0) { + this.be = false; + } + } + } + + public void onSensorChanged(SensorEvent paramSensorEvent) + { + if (this.be) { + return; + } + float f = paramSensorEvent.values[0]; + switch (paramSensorEvent.sensor.getType()) + { + default: + return; + } + if (f < aX) + { + aX = f; + ba = 0.5F + f; + } + if ((this.aZ >= ba) && (f < ba)) { + if (this.bb != null) + { + Log.v("MicroMsg.SensorController", "sensor event false"); + this.bb.onSensorEvent(false); + } + } + for (;;) + { + this.aZ = f; + return; + if ((this.aZ <= ba) && (f > ba) && (this.bb != null)) + { + Log.v("MicroMsg.SensorController", "sensor event true"); + this.bb.onSensorEvent(true); + } + } + } + + public void removeSensorCallBack() + { + Log.v("MicroMsg.SensorController", "sensor callback removed"); + this.aY.unregisterListener(this, this.bc); + this.aY.unregisterListener(this); + this.bf = false; + this.bb = null; + } + + public void setSensorCallBack(SensorEventCallBack paramSensorEventCallBack) + { + Log.v("MicroMsg.SensorController", "sensor callback set"); + if (!this.bf) + { + this.aY.registerListener(this, this.bc, 2); + this.bf = true; + } + this.bb = paramSensorEventCallBack; + } + + public static abstract interface SensorEventCallBack + { + public abstract void onSensorEvent(boolean paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SensorController + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition21below.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition21below.java new file mode 100755 index 00000000000..5be516dc3c4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition21below.java @@ -0,0 +1,23 @@ +package com.tencent.mm.sdk.platformtools; + +import android.widget.ListView; + +class SmoothScrollToPosition21below + implements BackwardSupportUtil.SmoothScrollFactory.IScroll +{ + public void doScroll(ListView paramListView) + { + paramListView.setSelection(0); + } + + public void doScroll(ListView paramListView, int paramInt) + { + paramListView.setSelection(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SmoothScrollToPosition21below + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition22.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition22.java new file mode 100755 index 00000000000..98f1a5449ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SmoothScrollToPosition22.java @@ -0,0 +1,37 @@ +package com.tencent.mm.sdk.platformtools; + +import android.widget.ListView; + +class SmoothScrollToPosition22 + implements BackwardSupportUtil.SmoothScrollFactory.IScroll +{ + public void doScroll(ListView paramListView) + { + if (paramListView.getFirstVisiblePosition() > 10) { + paramListView.setSelection(10); + } + paramListView.smoothScrollToPosition(0); + } + + public void doScroll(ListView paramListView, int paramInt) + { + int i = paramListView.getFirstVisiblePosition(); + if ((i > paramInt) && (i - paramInt > 10)) { + paramListView.setSelection(paramInt + 10); + } + for (;;) + { + paramListView.smoothScrollToPosition(paramInt); + return; + if ((i < paramInt) && (paramInt - i > 10)) { + paramListView.setSelection(paramInt - 10); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SmoothScrollToPosition22 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SpecilApiUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SpecilApiUtil.java new file mode 100755 index 00000000000..21ea22a7c87 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SpecilApiUtil.java @@ -0,0 +1,36 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Build; +import android.os.Build.VERSION; + +public class SpecilApiUtil +{ + public static final String LINE_SEP = "\n"; + public static final String LINE_SEP_W = "\r\n"; + public static final String LINE_TRIM = " "; + public static final String TAG = "MicroMsg.SpecilApiUtil"; + + public static CharSequence fixInAPI16(CharSequence paramCharSequence) + { + if (paramCharSequence == null) {} + while ((Build.VERSION.SDK_INT != 16) || (!paramCharSequence.toString().contains("\n")) || (Util.nullAs(Build.MANUFACTURER, "").toLowerCase().indexOf("meizu".toLowerCase()) > 0)) { + return paramCharSequence; + } + return paramCharSequence.toString().replace("\n", " "); + } + + public static String killsplitAPI16(String paramString) + { + if (paramString == null) {} + while ((Build.VERSION.SDK_INT != 16) || (!paramString.toString().contains("\n")) || (Util.nullAs(Build.MANUFACTURER, "").toLowerCase().indexOf("meizu".toLowerCase()) > 0)) { + return paramString; + } + return paramString.toString().replace("\n", " "); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SpecilApiUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask$1.java new file mode 100755 index 00000000000..f7ee9481bf3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask$1.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.platformtools; + +class SyncTask$1 + implements Runnable +{ + SyncTask$1(SyncTask paramSyncTask) {} + + public void run() + { + SyncTask.a(this.bk, Util.ticksToNow(SyncTask.a(this.bk))); + this.bk.setResult(this.bk.run()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SyncTask.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask.java new file mode 100755 index 00000000000..7ed54214146 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SyncTask.java @@ -0,0 +1,148 @@ +package com.tencent.mm.sdk.platformtools; + +public abstract class SyncTask +{ + private final long bg; + private long bh; + private long bi; + private Runnable bj = new SyncTask.1(this); + private Object lock = new Object(); + private R result; + + public SyncTask() + { + this(0L, null); + } + + public SyncTask(long paramLong, R paramR) + { + this.bg = paramLong; + this.result = paramR; + } + + /* Error */ + public R exec(android.os.Handler paramHandler) + { + // Byte code: + // 0: aload_1 + // 1: ifnonnull +15 -> 16 + // 4: ldc 51 + // 6: ldc 53 + // 8: invokestatic 59 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 11: aload_0 + // 12: invokevirtual 63 com/tencent/mm/sdk/platformtools/SyncTask:run ()Ljava/lang/Object; + // 15: areturn + // 16: invokestatic 69 java/lang/Thread:currentThread ()Ljava/lang/Thread; + // 19: invokevirtual 73 java/lang/Thread:getId ()J + // 22: aload_1 + // 23: invokevirtual 79 android/os/Handler:getLooper ()Landroid/os/Looper; + // 26: invokevirtual 84 android/os/Looper:getThread ()Ljava/lang/Thread; + // 29: invokevirtual 73 java/lang/Thread:getId ()J + // 32: lcmp + // 33: ifne +15 -> 48 + // 36: ldc 51 + // 38: ldc 86 + // 40: invokestatic 59 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 43: aload_0 + // 44: invokevirtual 63 com/tencent/mm/sdk/platformtools/SyncTask:run ()Ljava/lang/Object; + // 47: areturn + // 48: aload_0 + // 49: invokestatic 91 com/tencent/mm/sdk/platformtools/Util:currentTicks ()J + // 52: putfield 42 com/tencent/mm/sdk/platformtools/SyncTask:bh J + // 55: aload_0 + // 56: getfield 25 com/tencent/mm/sdk/platformtools/SyncTask:lock Ljava/lang/Object; + // 59: astore 4 + // 61: aload 4 + // 63: monitorenter + // 64: aload_1 + // 65: aload_0 + // 66: getfield 32 com/tencent/mm/sdk/platformtools/SyncTask:bj Ljava/lang/Runnable; + // 69: invokevirtual 95 android/os/Handler:post (Ljava/lang/Runnable;)Z + // 72: pop + // 73: aload_0 + // 74: getfield 25 com/tencent/mm/sdk/platformtools/SyncTask:lock Ljava/lang/Object; + // 77: aload_0 + // 78: getfield 34 com/tencent/mm/sdk/platformtools/SyncTask:bg J + // 81: invokevirtual 99 java/lang/Object:wait (J)V + // 84: aload 4 + // 86: monitorexit + // 87: aload_0 + // 88: getfield 42 com/tencent/mm/sdk/platformtools/SyncTask:bh J + // 91: invokestatic 103 com/tencent/mm/sdk/platformtools/Util:ticksToNow (J)J + // 94: lstore_2 + // 95: ldc 51 + // 97: ldc 105 + // 99: iconst_4 + // 100: anewarray 5 java/lang/Object + // 103: dup + // 104: iconst_0 + // 105: new 107 java/lang/StringBuilder + // 108: dup + // 109: invokespecial 108 java/lang/StringBuilder: ()V + // 112: aload_0 + // 113: getfield 36 com/tencent/mm/sdk/platformtools/SyncTask:result Ljava/lang/Object; + // 116: invokevirtual 112 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 119: invokevirtual 116 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 122: aastore + // 123: dup + // 124: iconst_1 + // 125: lload_2 + // 126: invokestatic 122 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 129: aastore + // 130: dup + // 131: iconst_2 + // 132: aload_0 + // 133: getfield 45 com/tencent/mm/sdk/platformtools/SyncTask:bi J + // 136: invokestatic 122 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 139: aastore + // 140: dup + // 141: iconst_3 + // 142: lload_2 + // 143: aload_0 + // 144: getfield 45 com/tencent/mm/sdk/platformtools/SyncTask:bi J + // 147: lsub + // 148: invokestatic 122 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 151: aastore + // 152: invokestatic 126 com/tencent/mm/sdk/platformtools/Log:v (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 155: aload_0 + // 156: getfield 36 com/tencent/mm/sdk/platformtools/SyncTask:result Ljava/lang/Object; + // 159: areturn + // 160: astore_1 + // 161: aload 4 + // 163: monitorexit + // 164: aload_1 + // 165: athrow + // 166: astore_1 + // 167: aload_1 + // 168: invokevirtual 129 java/lang/InterruptedException:printStackTrace ()V + // 171: goto -84 -> 87 + // Local variable table: + // start length slot name signature + // 0 174 0 this SyncTask + // 0 174 1 paramHandler android.os.Handler + // 94 49 2 l long + // Exception table: + // from to target type + // 64 87 160 finally + // 55 64 166 java/lang/InterruptedException + // 161 166 166 java/lang/InterruptedException + } + + protected abstract R run(); + + public void setResult(R arg1) + { + this.result = ???; + synchronized (this.lock) + { + this.lock.notify(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SyncTask + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SystemProperty.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SystemProperty.java new file mode 100755 index 00000000000..ef1e20d3761 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/SystemProperty.java @@ -0,0 +1,24 @@ +package com.tencent.mm.sdk.platformtools; + +import java.util.HashMap; + +public final class SystemProperty +{ + private static final HashMap bl = new HashMap(); + + public static String getProperty(String paramString) + { + return (String)bl.get(paramString); + } + + public static void setProperty(String paramString1, String paramString2) + { + bl.put(paramString1, paramString2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.SystemProperty + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TimeLogger.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TimeLogger.java new file mode 100755 index 00000000000..fb0565c8a82 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TimeLogger.java @@ -0,0 +1,81 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.SystemClock; +import java.util.ArrayList; + +public class TimeLogger +{ + private String bm; + private String bn; + private boolean bo; + ArrayList bp; + ArrayList bq; + + public TimeLogger(String paramString1, String paramString2) + { + reset(paramString1, paramString2); + } + + public void addSplit(String paramString) + { + if (this.bo) { + return; + } + long l = SystemClock.elapsedRealtime(); + this.bp.add(Long.valueOf(l)); + this.bq.add(paramString); + } + + public void dumpToLog() + { + if (this.bo) { + return; + } + Log.d(this.bm, this.bn + ": begin"); + long l2 = ((Long)this.bp.get(0)).longValue(); + int i = 1; + long l1 = l2; + while (i < this.bp.size()) + { + l1 = ((Long)this.bp.get(i)).longValue(); + String str = (String)this.bq.get(i); + long l3 = ((Long)this.bp.get(i - 1)).longValue(); + Log.d(this.bm, this.bn + ": " + (l1 - l3) + " ms, " + str); + i += 1; + } + Log.d(this.bm, this.bn + ": end, " + (l1 - l2) + " ms"); + } + + public void reset() + { + this.bo = false; + if (this.bo) { + return; + } + if (this.bp == null) + { + this.bp = new ArrayList(); + this.bq = new ArrayList(); + } + for (;;) + { + addSplit(null); + return; + this.bp.clear(); + this.bq.clear(); + } + } + + public void reset(String paramString1, String paramString2) + { + this.bm = paramString1; + this.bn = paramString2; + reset(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.TimeLogger + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TrafficStats.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TrafficStats.java new file mode 100755 index 00000000000..33420b79838 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/TrafficStats.java @@ -0,0 +1,223 @@ +package com.tencent.mm.sdk.platformtools; + +import android.os.Process; +import java.io.File; +import java.util.Scanner; + +public final class TrafficStats +{ + public static final String DEV_FILE = "/proc/self/net/dev"; + public static final String GPRSLINE = "rmnet0"; + public static final String WIFILINE = "tiwlan0"; + private static long br; + private static long bs; + private static long bt; + private static long bu; + private static long bv; + private static long bw; + private static long bx; + private static long by; + + public static long getMobileRx(long paramLong) + { + long l = paramLong; + if (bw > paramLong) { + l = bw; + } + return l; + } + + public static long getMobileTx(long paramLong) + { + long l = paramLong; + if (bv > paramLong) { + l = bv; + } + return l; + } + + public static long getWifiRx(long paramLong) + { + long l = paramLong; + if (by > paramLong) { + l = by; + } + return l; + } + + public static long getWifiTx(long paramLong) + { + long l = paramLong; + if (bx > paramLong) { + l = bx; + } + return l; + } + + public static void reset() + { + br = -1L; + bs = -1L; + bt = -1L; + bu = -1L; + update(); + } + + public static void update() + { + long l4 = 0L; + long l3 = 0L; + long l2 = 0L; + long l1 = 0L; + for (;;) + { + try + { + localScanner = new Scanner(new File("/proc/" + Process.myPid() + "/net/dev")); + localScanner.nextLine(); + localScanner.nextLine(); + if (!localScanner.hasNext()) { + continue; + } + arrayOfString = localScanner.nextLine().split("[ :\t]+"); + if (arrayOfString[0].length() != 0) { + continue; + } + i = 1; + } + catch (Exception localException) + { + Scanner localScanner; + String[] arrayOfString; + long l6; + long l5; + localException.printStackTrace(); + continue; + int i = 0; + continue; + } + l6 = l3; + l5 = l4; + if (!arrayOfString[0].equals("lo")) + { + l6 = l3; + l5 = l4; + if (arrayOfString[(i + 0)].startsWith("rmnet")) + { + l5 = l4 + Long.parseLong(arrayOfString[(i + 9)]); + l6 = l3 + Long.parseLong(arrayOfString[(i + 1)]); + } + } + l3 = l6; + l4 = l5; + if (!arrayOfString[(i + 0)].equals("lo")) + { + l3 = l6; + l4 = l5; + if (!arrayOfString[(i + 0)].startsWith("rmnet")) + { + l2 += Long.parseLong(arrayOfString[(i + 9)]); + l1 += Long.parseLong(arrayOfString[(i + 1)]); + l3 = l6; + l4 = l5; + } + } + } + localScanner.close(); + if (br < 0L) + { + br = l4; + Log.v("MicroMsg.SDK.TrafficStats", "fix loss newMobileTx %d", new Object[] { Long.valueOf(l4) }); + } + if (bs < 0L) + { + bs = l3; + Log.v("MicroMsg.SDK.TrafficStats", "fix loss newMobileRx %d", new Object[] { Long.valueOf(l3) }); + } + if (bt < 0L) + { + bt = l2; + Log.v("MicroMsg.SDK.TrafficStats", "fix loss newWifiTx %d", new Object[] { Long.valueOf(l2) }); + } + if (bu < 0L) + { + bu = l1; + Log.v("MicroMsg.SDK.TrafficStats", "fix loss newWifiRx %d", new Object[] { Long.valueOf(l1) }); + } + if (l1 - bu < 0L) { + Log.v("MicroMsg.SDK.TrafficStats", "minu %d", new Object[] { Long.valueOf(l1 - bu) }); + } + if (l2 - bt < 0L) { + Log.v("MicroMsg.SDK.TrafficStats", "minu %d", new Object[] { Long.valueOf(l2 - bt) }); + } + if (l4 >= br) + { + l5 = l4 - br; + bv = l5; + if (l3 < bs) { + break label594; + } + l5 = l3 - bs; + label476: + bw = l5; + if (l2 < bt) { + break label601; + } + l5 = l2 - bt; + label496: + bx = l5; + if (l1 < bu) { + break label607; + } + } + label594: + label601: + label607: + for (l5 = l1 - bu;; l5 = l1) + { + by = l5; + br = l4; + bs = l3; + bt = l2; + bu = l1; + Log.d("MicroMsg.SDK.TrafficStats", "current system traffic: wifi rx/tx=%d/%d, mobile rx/tx=%d/%d", new Object[] { Long.valueOf(by), Long.valueOf(bx), Long.valueOf(bw), Long.valueOf(bv) }); + return; + l5 = l4; + break; + l5 = l3; + break label476; + l5 = l2; + break label496; + } + } + + public static long updateMobileRx(long paramLong) + { + update(); + return getMobileRx(paramLong); + } + + public static long updateMobileTx(long paramLong) + { + update(); + return getMobileTx(paramLong); + } + + public static long updateWifiRx(long paramLong) + { + update(); + return getWifiRx(paramLong); + } + + public static long updateWifiTx(long paramLong) + { + update(); + return getWifiTx(paramLong); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.TrafficStats + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$1.java new file mode 100755 index 00000000000..186c091e32e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$1.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.platformtools; + +import android.media.MediaPlayer; +import android.media.MediaPlayer.OnCompletionListener; + +final class Util$1 + implements MediaPlayer.OnCompletionListener +{ + public final void onCompletion(MediaPlayer paramMediaPlayer) + { + paramMediaPlayer.release(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.Util.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$2.java new file mode 100755 index 00000000000..5e5af38c92e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util$2.java @@ -0,0 +1,36 @@ +package com.tencent.mm.sdk.platformtools; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; + +final class Util$2 + implements View.OnTouchListener +{ + Util$2(View paramView1, View paramView2) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + switch (paramMotionEvent.getAction()) + { + default: + return false; + case 0: + this.bD.setSelected(true); + return false; + case 1: + case 3: + case 4: + this.bD.setSelected(false); + return false; + } + this.bD.setSelected(this.bE.isPressed()); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.Util.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util.java new file mode 100755 index 00000000000..be67c5b0a8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/Util.java @@ -0,0 +1,2272 @@ +package com.tencent.mm.sdk.platformtools; + +import android.app.Activity; +import android.app.ActivityManager; +import android.app.ActivityManager.RunningAppProcessInfo; +import android.app.ActivityManager.RunningServiceInfo; +import android.app.ActivityManager.RunningTaskInfo; +import android.app.KeyguardManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.res.AssetFileDescriptor; +import android.content.res.AssetManager; +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.graphics.Bitmap.Config; +import android.graphics.BitmapFactory; +import android.graphics.BitmapFactory.Options; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffXfermode; +import android.graphics.Rect; +import android.graphics.RectF; +import android.media.MediaPlayer; +import android.media.MediaPlayer.OnCompletionListener; +import android.net.Uri; +import android.os.Build.VERSION; +import android.os.Environment; +import android.os.StatFs; +import android.os.SystemClock; +import android.os.Vibrator; +import android.provider.Settings.System; +import android.telephony.TelephonyManager; +import android.view.View; +import com.tencent.mm.algorithm.MD5; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Random; +import java.util.Set; +import java.util.TimeZone; +import java.util.UUID; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import junit.framework.Assert; +import org.w3c.dom.DOMException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +public final class Util +{ + public static final int BEGIN_TIME = 22; + public static final int BIT_OF_KB = 10; + public static final int BIT_OF_MB = 20; + public static final int BYTE_OF_KB = 1024; + public static final int BYTE_OF_MB = 1048576; + public static final String CHINA = "zh_CN"; + public static final int DAY = 0; + public static final int END_TIME = 8; + public static final String ENGLISH = "en"; + private static final TimeZone GMT = TimeZone.getTimeZone("GMT"); + public static final String HONGKONG = "zh_HK"; + public static final String LANGUAGE_DEFAULT = "language_default"; + public static final int MASK_16BIT = 65535; + public static final int MASK_32BIT = -1; + public static final int MASK_4BIT = 15; + public static final int MASK_8BIT = 255; + public static final long MAX_32BIT_VALUE = 4294967295L; + public static final int MAX_ACCOUNT_LENGTH = 20; + public static final int MAX_DECODE_PICTURE_SIZE = 2764800; + public static final int MAX_PASSWORD_LENGTH = 9; + public static final long MILLSECONDS_OF_DAY = 86400000L; + public static final long MILLSECONDS_OF_HOUR = 3600000L; + public static final long MILLSECONDS_OF_MINUTE = 60000L; + public static final long MILLSECONDS_OF_SECOND = 1000L; + public static final long MINUTE_OF_HOUR = 60L; + public static final int MIN_ACCOUNT_LENGTH = 6; + public static final int MIN_PASSWORD_LENGTH = 4; + public static final String PHOTO_DEFAULT_EXT = ".jpg"; + public static final long SECOND_OF_MINUTE = 60L; + public static final String TAIWAN = "zh_TW"; + private static final char[] bA = { 9, 10, 13 }; + private static final char[] bB = { 60, 62, 34, 39, 38 }; + private static final String[] bC = { "<", ">", """, "'", "&" }; + private static final long[] bz = { 300L, 200L, 300L, 200L }; + + public static String GetHostIp() + { + try + { + InetAddress localInetAddress; + do + { + localObject = NetworkInterface.getNetworkInterfaces(); + Enumeration localEnumeration; + while (!localEnumeration.hasMoreElements()) + { + if (!((Enumeration)localObject).hasMoreElements()) { + break; + } + localEnumeration = ((NetworkInterface)((Enumeration)localObject).nextElement()).getInetAddresses(); + } + localInetAddress = (InetAddress)localEnumeration.nextElement(); + } while (localInetAddress.isLoopbackAddress()); + Object localObject = localInetAddress.getHostAddress(); + return localObject; + } + catch (Exception localException) + { + return null; + } + catch (SocketException localSocketException) + { + label60: + break label60; + } + } + + public static int UnZipFolder(String paramString1, String paramString2) + { + for (;;) + { + try + { + android.util.Log.v("XZip", "UnZipFolder(String, String)"); + paramString1 = new ZipInputStream(new FileInputStream(paramString1)); + Object localObject1 = paramString1.getNextEntry(); + if (localObject1 == null) { + break; + } + Object localObject2 = ((ZipEntry)localObject1).getName(); + if (((ZipEntry)localObject1).isDirectory()) + { + localObject1 = ((String)localObject2).substring(0, ((String)localObject2).length() - 1); + new File(paramString2 + File.separator + (String)localObject1).mkdirs(); + } + else + { + int i; + ((FileOutputStream)localObject1).close(); + } + } + catch (FileNotFoundException paramString1) + { + paramString1.printStackTrace(); + return -1; + localObject1 = new File(paramString2 + File.separator + (String)localObject2); + ((File)localObject1).createNewFile(); + localObject1 = new FileOutputStream((File)localObject1); + localObject2 = new byte[1024]; + i = paramString1.read((byte[])localObject2); + if (i != -1) + { + ((FileOutputStream)localObject1).write((byte[])localObject2, 0, i); + ((FileOutputStream)localObject1).flush(); + } + } + catch (IOException paramString1) + { + paramString1.printStackTrace(); + return -2; + } + } + paramString1.close(); + return 0; + } + + private static int a(char[] paramArrayOfChar, int paramInt1, int paramInt2) + { + if (paramInt2 <= 0) { + return 0; + } + if ((paramArrayOfChar[paramInt1] != '#') || ((paramInt2 > 1) && ((paramArrayOfChar[(paramInt1 + 1)] == 'x') || (paramArrayOfChar[(paramInt1 + 1)] == 'X')))) {} + for (;;) + { + try + { + paramInt1 = Integer.parseInt(new String(paramArrayOfChar, paramInt1 + 2, paramInt2 - 2), 16); + return paramInt1; + } + catch (NumberFormatException paramArrayOfChar) {} + try + { + paramInt1 = Integer.parseInt(new String(paramArrayOfChar, paramInt1 + 1, paramInt2 - 1), 10); + return paramInt1; + } + catch (NumberFormatException paramArrayOfChar) + { + return 0; + } + } + new String(paramArrayOfChar, paramInt1, paramInt2); + return 0; + return 0; + } + + private static void a(Map paramMap, String paramString, Node paramNode, int paramInt) + { + int i = 0; + if (paramNode.getNodeName().equals("#text")) { + paramMap.put(paramString, paramNode.getNodeValue()); + } + for (;;) + { + return; + if (paramNode.getNodeName().equals("#cdata-section")) + { + paramMap.put(paramString, paramNode.getNodeValue()); + return; + } + Object localObject = new StringBuilder().append(paramString).append(".").append(paramNode.getNodeName()); + if (paramInt > 0) {} + Node localNode; + for (paramString = Integer.valueOf(paramInt);; paramString = "") + { + paramString = paramString; + paramMap.put(paramString, paramNode.getNodeValue()); + localObject = paramNode.getAttributes(); + if (localObject == null) { + break; + } + paramInt = 0; + while (paramInt < ((NamedNodeMap)localObject).getLength()) + { + localNode = ((NamedNodeMap)localObject).item(paramInt); + paramMap.put(paramString + ".$" + localNode.getNodeName(), localNode.getNodeValue()); + paramInt += 1; + } + } + localObject = new HashMap(); + paramNode = paramNode.getChildNodes(); + paramInt = i; + while (paramInt < paramNode.getLength()) + { + localNode = paramNode.item(paramInt); + i = nullAsNil((Integer)((HashMap)localObject).get(localNode.getNodeName())); + a(paramMap, paramString, localNode, i); + ((HashMap)localObject).put(localNode.getNodeName(), Integer.valueOf(i + 1)); + paramInt += 1; + } + } + } + + public static byte[] bmpToByteArray(Bitmap paramBitmap, boolean paramBoolean) + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + paramBitmap.compress(Bitmap.CompressFormat.JPEG, 100, localByteArrayOutputStream); + if (paramBoolean) { + paramBitmap.recycle(); + } + paramBitmap = localByteArrayOutputStream.toByteArray(); + try + { + localByteArrayOutputStream.close(); + return paramBitmap; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return paramBitmap; + } + + public static boolean checkPermission(Context paramContext, String paramString) + { + Assert.assertNotNull(paramContext); + Object localObject = paramContext.getPackageName(); + boolean bool; + if (paramContext.getPackageManager().checkPermission(paramString, (String)localObject) == 0) + { + bool = true; + localObject = new StringBuilder().append((String)localObject).append(" has "); + if (!bool) { + break label74; + } + } + label74: + for (paramContext = "permission ";; paramContext = "no permission ") + { + Log.d("MicroMsg.Util", paramContext + paramString); + return bool; + bool = false; + break; + } + } + + public static boolean checkSDCardFull() + { + if (!"mounted".equals(Environment.getExternalStorageState())) {} + int i; + long l3; + do + { + StatFs localStatFs; + long l1; + long l2; + do + { + return false; + localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + l1 = localStatFs.getBlockCount(); + l2 = localStatFs.getAvailableBlocks(); + } while ((l1 <= 0L) || (l1 - l2 < 0L)); + i = (int)((l1 - l2) * 100L / l1); + l3 = localStatFs.getBlockSize() * localStatFs.getFreeBlocks(); + Log.d("MicroMsg.Util", "checkSDCardFull per:" + i + " blockCount:" + l1 + " availCount:" + l2 + " availSize:" + l3); + } while ((95 > i) || (l3 > 52428800L)); + return true; + } + + public static String convertStreamToString(InputStream paramInputStream) + { + BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(paramInputStream)); + StringBuilder localStringBuilder = new StringBuilder(); + try + { + for (;;) + { + String str = localBufferedReader.readLine(); + if (str == null) { + break; + } + localStringBuilder.append(str + "\n"); + } + try + { + paramInputStream.close(); + throw localObject; + } + catch (IOException paramInputStream) + { + for (;;) + { + paramInputStream.printStackTrace(); + } + } + } + catch (IOException localIOException) + { + localIOException = localIOException; + localIOException.printStackTrace(); + try + { + paramInputStream.close(); + for (;;) + { + return localStringBuilder.toString(); + try + { + paramInputStream.close(); + } + catch (IOException paramInputStream) + { + paramInputStream.printStackTrace(); + } + } + } + catch (IOException paramInputStream) + { + for (;;) + { + paramInputStream.printStackTrace(); + } + } + } + finally {} + } + + public static long currentDayInMills() + { + return nowMilliSecond() / 86400000L * 86400000L; + } + + public static long currentMonthInMills() + { + GregorianCalendar localGregorianCalendar = new GregorianCalendar(); + localGregorianCalendar = new GregorianCalendar(localGregorianCalendar.get(1), localGregorianCalendar.get(2), 1); + localGregorianCalendar.setTimeZone(GMT); + return localGregorianCalendar.getTimeInMillis(); + } + + public static long currentTicks() + { + return SystemClock.elapsedRealtime(); + } + + public static long currentWeekInMills() + { + GregorianCalendar localGregorianCalendar1 = new GregorianCalendar(); + GregorianCalendar localGregorianCalendar2 = new GregorianCalendar(localGregorianCalendar1.get(1), localGregorianCalendar1.get(2), localGregorianCalendar1.get(5)); + localGregorianCalendar2.setTimeZone(GMT); + localGregorianCalendar2.add(6, -(localGregorianCalendar1.get(7) - localGregorianCalendar1.getFirstDayOfWeek())); + return localGregorianCalendar2.getTimeInMillis(); + } + + public static long currentYearInMills() + { + GregorianCalendar localGregorianCalendar = new GregorianCalendar(new GregorianCalendar().get(1), 1, 1); + localGregorianCalendar.setTimeZone(GMT); + return localGregorianCalendar.getTimeInMillis(); + } + + public static byte[] decodeHexString(String paramString) + { + Object localObject; + if ((paramString == null) || (paramString.length() <= 0)) { + localObject = new byte[0]; + } + for (;;) + { + return localObject; + try + { + byte[] arrayOfByte = new byte[paramString.length() / 2]; + int i = 0; + for (;;) + { + localObject = arrayOfByte; + if (i >= arrayOfByte.length) { + break; + } + arrayOfByte[i] = ((byte)(Integer.parseInt(paramString.substring(i * 2, i * 2 + 2), 16) & 0xFF)); + i += 1; + } + return new byte[0]; + } + catch (NumberFormatException paramString) + { + paramString.printStackTrace(); + } + } + } + + public static boolean deleteFile(String paramString) + { + if (isNullOrNil(paramString)) {} + do + { + return false; + paramString = new File(paramString); + if (!paramString.exists()) { + return true; + } + } while (paramString.isDirectory()); + return paramString.delete(); + } + + public static void deleteOutOfDateFile(String paramString1, String paramString2, long paramLong) + { + if (isNullOrNil(paramString1)) {} + for (;;) + { + return; + paramString1 = new File(paramString1); + if ((paramString1.exists()) && (paramString1.isDirectory())) + { + paramString1 = paramString1.listFiles(); + int j = paramString1.length; + int i = 0; + while (i < j) + { + Object localObject = paramString1[i]; + if ((localObject.isFile()) && (localObject.getName().startsWith(paramString2)) && (nowMilliSecond() - localObject.lastModified() - paramLong >= 0L)) { + localObject.delete(); + } + i += 1; + } + } + } + } + + public static String dumpArray(Object[] paramArrayOfObject) + { + StringBuilder localStringBuilder = new StringBuilder(); + int j = paramArrayOfObject.length; + int i = 0; + while (i < j) + { + localStringBuilder.append(paramArrayOfObject[i]); + localStringBuilder.append(","); + i += 1; + } + return localStringBuilder.toString(); + } + + public static String dumpHex(byte[] paramArrayOfByte) + { + int i = 0; + if (paramArrayOfByte == null) { + return "(null)"; + } + char[] arrayOfChar1 = new char[16]; + char[] tmp18_16 = arrayOfChar1; + tmp18_16[0] = 48; + char[] tmp24_18 = tmp18_16; + tmp24_18[1] = 49; + char[] tmp30_24 = tmp24_18; + tmp30_24[2] = 50; + char[] tmp36_30 = tmp30_24; + tmp36_30[3] = 51; + char[] tmp42_36 = tmp36_30; + tmp42_36[4] = 52; + char[] tmp48_42 = tmp42_36; + tmp48_42[5] = 53; + char[] tmp54_48 = tmp48_42; + tmp54_48[6] = 54; + char[] tmp61_54 = tmp54_48; + tmp61_54[7] = 55; + char[] tmp68_61 = tmp61_54; + tmp68_61[8] = 56; + char[] tmp75_68 = tmp68_61; + tmp75_68[9] = 57; + char[] tmp82_75 = tmp75_68; + tmp82_75[10] = 97; + char[] tmp89_82 = tmp82_75; + tmp89_82[11] = 98; + char[] tmp96_89 = tmp89_82; + tmp96_89[12] = 99; + char[] tmp103_96 = tmp96_89; + tmp103_96[13] = 100; + char[] tmp110_103 = tmp103_96; + tmp110_103[14] = 101; + char[] tmp117_110 = tmp110_103; + tmp117_110[15] = 102; + tmp117_110; + int k = paramArrayOfByte.length; + char[] arrayOfChar2 = new char[k * 3]; + int j = 0; + while (i < k) + { + int m = paramArrayOfByte[i]; + int n = j + 1; + arrayOfChar2[j] = ' '; + int i1 = n + 1; + arrayOfChar2[n] = arrayOfChar1[(m >>> 4 & 0xF)]; + j = i1 + 1; + arrayOfChar2[i1] = arrayOfChar1[(m & 0xF)]; + i += 1; + } + return new String(arrayOfChar2); + } + + public static String encodeHexString(byte[] paramArrayOfByte) + { + StringBuilder localStringBuilder = new StringBuilder(""); + if (paramArrayOfByte != null) + { + int i = 0; + while (i < paramArrayOfByte.length) + { + localStringBuilder.append(String.format("%02x", new Object[] { Integer.valueOf(paramArrayOfByte[i] & 0xFF) })); + i += 1; + } + } + return localStringBuilder.toString(); + } + + public static String escapeSqlValue(String paramString) + { + String str = paramString; + if (paramString != null) { + str = paramString.replace("\\[", "[[]").replace("%", "").replace("\\^", "").replace("'", "").replace("\\{", "").replace("\\}", "").replace("\"", ""); + } + return str; + } + + public static String escapeStringForXml(String paramString) + { + if (paramString == null) { + return ""; + } + StringBuffer localStringBuffer = new StringBuffer(); + int k = paramString.length(); + int i = 0; + char c; + if (i < k) + { + c = paramString.charAt(i); + if (((c < ' ') && (c != bA[0]) && (c != bA[1]) && (c != bA[2])) || (c > '')) + { + localStringBuffer.append("&#"); + localStringBuffer.append(Integer.toString(c)); + localStringBuffer.append(';'); + } + } + label173: + for (;;) + { + i += 1; + break; + int j = bB.length - 1; + label117: + if (j >= 0) { + if (bB[j] == c) { + localStringBuffer.append(bC[j]); + } + } + for (j = 0;; j = 1) + { + if (j == 0) { + break label173; + } + localStringBuffer.append(c); + break; + j -= 1; + break label117; + return localStringBuffer.toString(); + } + } + } + + public static String expandEntities(String paramString) + { + int i1 = paramString.length(); + char[] arrayOfChar = new char[i1]; + int n = 0; + int i = 0; + int j = -1; + int k; + int m; + if (n < i1) + { + char c = paramString.charAt(n); + k = i + 1; + arrayOfChar[i] = c; + if ((c == '&') && (j == -1)) + { + i = k; + m = k; + } + do + { + do + { + do + { + do + { + n += 1; + j = i; + i = m; + break; + i = j; + m = k; + } while (j == -1); + i = j; + m = k; + } while (Character.isLetter(c)); + i = j; + m = k; + } while (Character.isDigit(c)); + i = j; + m = k; + } while (c == '#'); + if (c == ';') + { + i = a(arrayOfChar, j, k - j - 1); + if (i > 65535) + { + i -= 65536; + arrayOfChar[(j - 1)] = ((char)((i >> 10) + 55296)); + arrayOfChar[j] = ((char)((i & 0x3FF) + 56320)); + i = j + 1; + } + } + } + for (;;) + { + m = i; + i = -1; + break; + if (i != 0) + { + arrayOfChar[(j - 1)] = ((char)i); + i = j; + continue; + i = -1; + m = k; + break; + return new String(arrayOfChar, 0, i); + } + i = k; + } + } + + public static String formatSecToMin(int paramInt) + { + return String.format("%d:%02d", new Object[] { Long.valueOf(paramInt / 60L), Long.valueOf(paramInt % 60L) }); + } + + public static String formatUnixTime(long paramLong) + { + return new SimpleDateFormat("[yy-MM-dd HH:mm:ss]").format(new java.util.Date(1000L * paramLong)); + } + + public static void freeBitmapMap(Map paramMap) + { + Iterator localIterator = paramMap.entrySet().iterator(); + while (localIterator.hasNext()) + { + Bitmap localBitmap = (Bitmap)((Map.Entry)localIterator.next()).getValue(); + if (localBitmap != null) { + localBitmap.recycle(); + } + } + paramMap.clear(); + } + + public static String getCutPasswordMD5(String paramString) + { + String str = paramString; + if (paramString == null) { + str = ""; + } + if (str.length() <= 16) { + return getFullPasswordMD5(str); + } + return getFullPasswordMD5(str.substring(0, 16)); + } + + public static String getDeviceId(Context paramContext) + { + if (paramContext == null) { + return null; + } + try + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext == null) { + return null; + } + paramContext = paramContext.getDeviceId(); + if (paramContext == null) { + return null; + } + paramContext = paramContext.trim(); + return paramContext; + } + catch (SecurityException paramContext) + { + Log.e("MicroMsg.Util", "getDeviceId failed, security exception"); + return null; + } + catch (Exception paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + } + } + } + + public static String getFullPasswordMD5(String paramString) + { + return MD5.getMessageDigest(paramString.getBytes()); + } + + public static int getHex(String paramString, int paramInt) + { + if (paramString == null) { + return paramInt; + } + try + { + long l = Long.decode(paramString).longValue(); + return (int)(l & 0xFFFFFFFF); + } + catch (NumberFormatException paramString) + { + paramString.printStackTrace(); + } + return paramInt; + } + + public static BitmapFactory.Options getImageOptions(String paramString) + { + if ((paramString != null) && (!paramString.equals(""))) {} + BitmapFactory.Options localOptions; + for (boolean bool = true;; bool = false) + { + Assert.assertTrue(bool); + localOptions = new BitmapFactory.Options(); + localOptions.inJustDecodeBounds = true; + try + { + paramString = BitmapFactory.decodeFile(paramString, localOptions); + if (paramString != null) { + paramString.recycle(); + } + return localOptions; + } + catch (OutOfMemoryError paramString) + { + Log.e("MicroMsg.Util", "decode bitmap failed: " + paramString.getMessage()); + } + } + return localOptions; + } + + public static Intent getInstallPackIntent(String paramString, Context paramContext) + { + if ((paramString != null) && (!paramString.equals(""))) {} + for (boolean bool = true;; bool = false) + { + Assert.assertTrue(bool); + paramContext = new Intent("android.intent.action.VIEW"); + paramContext.addFlags(268435456); + paramContext.setDataAndType(Uri.fromFile(new File(paramString)), "application/vnd.android.package-archive"); + return paramContext; + } + } + + public static int getInt(String paramString, int paramInt) + { + if (paramString == null) { + return paramInt; + } + try + { + int i = Integer.parseInt(paramString); + return i; + } + catch (NumberFormatException paramString) + { + paramString.printStackTrace(); + } + return paramInt; + } + + public static int getIntRandom(int paramInt1, int paramInt2) + { + if (paramInt1 > paramInt2) {} + for (boolean bool = true;; bool = false) + { + Assert.assertTrue(bool); + return new Random(System.currentTimeMillis()).nextInt(paramInt1 - paramInt2 + 1) + paramInt2; + } + } + + public static String getLine1Number(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + return null; + try + { + if ((TelephonyManager)paramContext.getSystemService("phone") == null) + { + Log.e("MicroMsg.Util", "get line1 number failed, null tm"); + return null; + } + } + catch (SecurityException paramContext) + { + Log.e("MicroMsg.Util", "getLine1Number failed, security exception"); + return null; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + } + return null; + } + + public static long getLong(String paramString, long paramLong) + { + if (paramString == null) { + return paramLong; + } + try + { + long l = Long.parseLong(paramString); + return l; + } + catch (NumberFormatException paramString) + { + paramString.printStackTrace(); + } + return paramLong; + } + + public static Element getRootElementFromXML(byte[] paramArrayOfByte) + { + Object localObject = DocumentBuilderFactory.newInstance(); + try + { + localObject = ((DocumentBuilderFactory)localObject).newDocumentBuilder(); + if (localObject == null) + { + Log.e("MicroMsg.Util", "new Document Builder failed"); + return null; + } + } + catch (ParserConfigurationException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + try + { + paramArrayOfByte = ((DocumentBuilder)localObject).parse(new ByteArrayInputStream(paramArrayOfByte)); + if (paramArrayOfByte == null) + { + Log.e("MicroMsg.Util", "new Document failed"); + return null; + } + } + catch (SAXException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + catch (IOException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + return paramArrayOfByte.getDocumentElement(); + } + + public static Bitmap getRoundedCornerBitmap(Bitmap paramBitmap, boolean paramBoolean, float paramFloat) + { + Assert.assertNotNull(paramBitmap); + Bitmap localBitmap = Bitmap.createBitmap(paramBitmap.getWidth(), paramBitmap.getHeight(), Bitmap.Config.ARGB_8888); + Canvas localCanvas = new Canvas(localBitmap); + Paint localPaint = new Paint(); + Rect localRect = new Rect(0, 0, paramBitmap.getWidth(), paramBitmap.getHeight()); + RectF localRectF = new RectF(localRect); + localPaint.setAntiAlias(true); + localPaint.setDither(true); + localPaint.setFilterBitmap(true); + localCanvas.drawARGB(0, 0, 0, 0); + localPaint.setColor(-4144960); + localCanvas.drawRoundRect(localRectF, paramFloat, paramFloat, localPaint); + localPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + localCanvas.drawBitmap(paramBitmap, localRect, localRect, localPaint); + if (paramBoolean) { + paramBitmap.recycle(); + } + return localBitmap; + } + + public static int getSeconds(String paramString, int paramInt) + { + try + { + long l = new SimpleDateFormat("yyyy-MM-dd").parse(paramString).getTime() / 1000L; + return (int)l; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return paramInt; + } + + public static String getSizeKB(long paramLong) + { + if (paramLong >> 20 > 0L) { + return getSizeMB(paramLong); + } + if (paramLong >> 9 > 0L) + { + float f = Math.round((float)paramLong * 10.0F / 1024.0F) / 10.0F; + return f + "KB"; + } + return paramLong + "B"; + } + + public static String getSizeMB(long paramLong) + { + float f = Math.round((float)paramLong * 10.0F / 1048576.0F) / 10.0F; + return f + "MB"; + } + + public static String getStack() + { + StackTraceElement[] arrayOfStackTraceElement = new Throwable().getStackTrace(); + Object localObject; + if ((arrayOfStackTraceElement == null) || (arrayOfStackTraceElement.length < 2)) + { + localObject = ""; + return localObject; + } + String str = ""; + int i = 1; + for (;;) + { + localObject = str; + if (i >= arrayOfStackTraceElement.length) { + break; + } + localObject = str; + if (!arrayOfStackTraceElement[i].getClassName().contains("com.tencent.mm")) { + break; + } + str = str + "[" + arrayOfStackTraceElement[i].getClassName().substring(15) + ":" + arrayOfStackTraceElement[i].getMethodName() + "]"; + i += 1; + } + } + + public static int getSystemVersion(Context paramContext, int paramInt) + { + if (paramContext == null) { + return paramInt; + } + return Settings.System.getInt(paramContext.getContentResolver(), "sys.settings_system_version", paramInt); + } + + public static String getTimeZone() + { + Object localObject = getTimeZoneDef(); + int j = ((String)localObject).indexOf('+'); + int i = j; + if (j == -1) { + i = ((String)localObject).indexOf('-'); + } + if (i == -1) { + localObject = ""; + } + String str; + do + { + return localObject; + str = ((String)localObject).substring(i, i + 3); + localObject = str; + } while (str.charAt(1) != '0'); + return str.substring(0, 1) + str.substring(2, 3); + } + + public static String getTimeZoneDef() + { + int j = (int)(TimeZone.getDefault().getRawOffset() / 60000L); + char c = '+'; + int i = j; + if (j < 0) + { + c = '-'; + i = -j; + } + return String.format("GMT%s%02d:%02d", new Object[] { Character.valueOf(c), Long.valueOf(i / 60L), Long.valueOf(i % 60L) }); + } + + public static String getTimeZoneOffset() + { + TimeZone localTimeZone = TimeZone.getDefault(); + int j = localTimeZone.getRawOffset() / 1000; + if ((localTimeZone.useDaylightTime()) && (localTimeZone.inDaylightTime(new java.sql.Date(System.currentTimeMillis())))) {} + for (int i = 1;; i = 0) { + return String.format("%.2f", new Object[] { Double.valueOf(j / 3600.0D + i) }); + } + } + + public static String getTopActivityName(Context paramContext) + { + try + { + paramContext = ((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService("activity")).getRunningTasks(1).get(0)).topActivity.getClassName(); + return paramContext; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return "(null)"; + } + + public static byte[] getUuidRandom() + { + return MD5.getRawDigest(UUID.randomUUID().toString().getBytes()); + } + + public static int guessHttpContinueRecvLength(int paramInt) + { + return ((paramInt - 1) / 1462 + 1) * 52 + 52 + paramInt; + } + + public static int guessHttpRecvLength(int paramInt) + { + return ((paramInt - 1) / 1462 + 1) * 52 + 208 + paramInt; + } + + public static int guessHttpSendLength(int paramInt) + { + return ((paramInt - 1) / 1462 + 1) * 52 + 224 + paramInt; + } + + public static int guessTcpConnectLength() + { + return 172; + } + + public static int guessTcpDisconnectLength() + { + return 156; + } + + public static int guessTcpRecvLength(int paramInt) + { + return ((paramInt - 1) / 1462 + 1) * 52 + 40 + paramInt; + } + + public static int guessTcpSendLength(int paramInt) + { + return ((paramInt - 1) / 1462 + 1) * 52 + 40 + paramInt; + } + + public static void installPack(String paramString, Context paramContext) + { + paramContext.startActivity(getInstallPackIntent(paramString, paramContext)); + } + + public static boolean isAlpha(char paramChar) + { + return ((paramChar >= 'a') && (paramChar <= 'z')) || ((paramChar >= 'A') && (paramChar <= 'Z')); + } + + public static boolean isChinese(char paramChar) + { + Character.UnicodeBlock localUnicodeBlock = Character.UnicodeBlock.of(paramChar); + return (localUnicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS) || (localUnicodeBlock == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS) || (localUnicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A) || (localUnicodeBlock == Character.UnicodeBlock.GENERAL_PUNCTUATION) || (localUnicodeBlock == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION) || (localUnicodeBlock == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS); + } + + public static boolean isDayTimeNow() + { + int i = new GregorianCalendar().get(11); + return (i >= 6L) && (i < 18L); + } + + public static boolean isImgFile(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) { + Log.e("MicroMsg.Util", "isImgFile, invalid argument"); + } + BitmapFactory.Options localOptions; + do + { + do + { + return false; + } while ((paramString.length() < 3) || (!new File(paramString).exists())); + localOptions = new BitmapFactory.Options(); + localOptions.inJustDecodeBounds = true; + BitmapFactory.decodeFile(paramString, localOptions); + } while ((localOptions.outWidth <= 0) || (localOptions.outHeight <= 0)); + return true; + } + + public static boolean isIntentAvailable(Context paramContext, Intent paramIntent) + { + return paramContext.getPackageManager().queryIntentActivities(paramIntent, 65536).size() > 0; + } + + public static boolean isLockScreen(Context paramContext) + { + try + { + boolean bool = ((KeyguardManager)paramContext.getSystemService("keyguard")).inKeyguardRestrictedInputMode(); + return bool; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return false; + } + + public static boolean isNightTime(int paramInt1, int paramInt2, int paramInt3) + { + boolean bool2 = false; + boolean bool1; + if (paramInt2 > paramInt3) { + if (paramInt1 < paramInt2) + { + bool1 = bool2; + if (paramInt1 > paramInt3) {} + } + else + { + bool1 = true; + } + } + do + { + do + { + return bool1; + if (paramInt2 >= paramInt3) { + break; + } + bool1 = bool2; + } while (paramInt1 > paramInt3); + bool1 = bool2; + } while (paramInt1 < paramInt2); + return true; + return true; + } + + public static boolean isNullOrNil(String paramString) + { + return (paramString == null) || (paramString.length() <= 0); + } + + public static boolean isNullOrNil(byte[] paramArrayOfByte) + { + return (paramArrayOfByte == null) || (paramArrayOfByte.length <= 0); + } + + public static boolean isNum(char paramChar) + { + return (paramChar >= '0') && (paramChar <= '9'); + } + + public static boolean isProcessRunning(Context paramContext, String paramString) + { + paramContext = ((ActivityManager)paramContext.getSystemService("activity")).getRunningAppProcesses().iterator(); + while (paramContext.hasNext()) + { + ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)paramContext.next(); + if ((localRunningAppProcessInfo != null) && (localRunningAppProcessInfo.processName != null) && (localRunningAppProcessInfo.processName.equals(paramString))) + { + Log.w("MicroMsg.Util", "process " + paramString + " is running"); + return true; + } + } + Log.w("MicroMsg.Util", "process " + paramString + " is not running"); + return false; + } + + public static boolean isSDCardAvail() + { + boolean bool2 = false; + boolean bool1 = bool2; + try + { + if (Environment.getExternalStorageState().equals("mounted")) + { + boolean bool3 = new File(Environment.getExternalStorageDirectory().getAbsolutePath()).canWrite(); + bool1 = bool2; + if (bool3) { + bool1 = true; + } + } + return bool1; + } + catch (Exception localException) {} + return false; + } + + public static boolean isSDCardHaveEnoughSpace(long paramLong) + { + if (!"mounted".equals(Environment.getExternalStorageState())) {} + StatFs localStatFs; + long l1; + do + { + long l2; + do + { + return false; + localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + l1 = localStatFs.getBlockCount(); + l2 = localStatFs.getAvailableBlocks(); + } while ((l1 <= 0L) || (l1 - l2 < 0L)); + l1 = localStatFs.getBlockSize(); + } while (localStatFs.getFreeBlocks() * l1 < paramLong); + return true; + } + + public static boolean isServiceRunning(Context paramContext, String paramString) + { + paramContext = ((ActivityManager)paramContext.getSystemService("activity")).getRunningServices(2147483647).iterator(); + while (paramContext.hasNext()) + { + ActivityManager.RunningServiceInfo localRunningServiceInfo = (ActivityManager.RunningServiceInfo)paramContext.next(); + if ((localRunningServiceInfo != null) && (localRunningServiceInfo.service != null) && (localRunningServiceInfo.service.getClassName().toString().equals(paramString))) + { + Log.w("MicroMsg.Util", "service " + paramString + " is running"); + return true; + } + } + Log.w("MicroMsg.Util", "service " + paramString + " is not running"); + return false; + } + + public static boolean isTopActivity(Context paramContext) + { + String str = paramContext.getClass().getName(); + paramContext = getTopActivityName(paramContext); + Log.d("MicroMsg.Util", "top activity=" + paramContext + ", context=" + str); + return paramContext.equalsIgnoreCase(str); + } + + public static boolean isTopApplication(Context paramContext) + { + try + { + String str = ((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService("activity")).getRunningTasks(1).get(0)).topActivity.getClassName(); + paramContext = paramContext.getPackageName(); + Log.d("MicroMsg.Util", "top activity=" + str + ", context=" + paramContext); + boolean bool = str.contains(paramContext); + return bool; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return false; + } + + public static boolean isValidAccount(String paramString) + { + if (paramString == null) {} + do + { + return false; + paramString = paramString.trim(); + } while ((paramString.length() < 6) || (paramString.length() > 20) || (!isAlpha(paramString.charAt(0)))); + int i = 0; + for (;;) + { + if (i >= paramString.length()) { + break label89; + } + char c = paramString.charAt(i); + if ((!isAlpha(c)) && (!isNum(c)) && (c != '-') && (c != '_')) { + break; + } + i += 1; + } + label89: + return true; + } + + public static boolean isValidEmail(String paramString) + { + if ((paramString == null) || (paramString.length() <= 0)) { + return false; + } + return paramString.trim().matches("^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$"); + } + + public static boolean isValidPassword(String paramString) + { + if (paramString == null) {} + while (paramString.length() < 4) { + return false; + } + if (paramString.length() >= 9) { + return true; + } + try + { + Integer.parseInt(paramString); + return false; + } + catch (NumberFormatException paramString) {} + return true; + } + + public static boolean isValidQQNum(String paramString) + { + if ((paramString == null) || (paramString.length() <= 0)) {} + for (;;) + { + return false; + paramString = paramString.trim(); + try + { + long l = Long.valueOf(paramString).longValue(); + if ((l > 0L) && (l <= 4294967295L)) { + return true; + } + } + catch (NumberFormatException paramString) + { + paramString.printStackTrace(); + } + } + return false; + } + + public static boolean jump(Context paramContext, String paramString) + { + Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse(paramString)); + if (!isIntentAvailable(paramContext, localIntent)) + { + Log.e("MicroMsg.Util", "jump to url failed, " + paramString); + return false; + } + paramContext.startActivity(localIntent); + return true; + } + + public static String listToString(List paramList, String paramString) + { + if (paramList == null) { + return ""; + } + StringBuilder localStringBuilder = new StringBuilder(""); + int i = 0; + if (i < paramList.size()) + { + if (i == paramList.size() - 1) { + localStringBuilder.append(((String)paramList.get(i)).trim()); + } + for (;;) + { + i += 1; + break; + localStringBuilder.append(((String)paramList.get(i)).trim() + paramString); + } + } + return localStringBuilder.toString(); + } + + public static String mapToXml(String paramString, LinkedHashMap paramLinkedHashMap) + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append(""); + Iterator localIterator = paramLinkedHashMap.entrySet().iterator(); + while (localIterator.hasNext()) + { + paramString = (Map.Entry)localIterator.next(); + paramLinkedHashMap = paramString.getKey(); + Object localObject = paramString.getValue(); + paramString = paramLinkedHashMap; + if (paramLinkedHashMap == null) { + paramString = "unknow"; + } + paramLinkedHashMap = localObject; + if (localObject == null) { + paramLinkedHashMap = "unknow"; + } + localStringBuilder.append("<" + paramString + ">"); + localStringBuilder.append(paramLinkedHashMap); + localStringBuilder.append(""); + } + localStringBuilder.append(""); + return localStringBuilder.toString(); + } + + public static long milliSecondsToNow(long paramLong) + { + return System.currentTimeMillis() - paramLong; + } + + public static long nowMilliSecond() + { + return System.currentTimeMillis(); + } + + public static long nowSecond() + { + return System.currentTimeMillis() / 1000L; + } + + public static int nullAs(Integer paramInteger, int paramInt) + { + if (paramInteger == null) { + return paramInt; + } + return paramInteger.intValue(); + } + + public static long nullAs(Long paramLong, long paramLong1) + { + if (paramLong == null) { + return paramLong1; + } + return paramLong.longValue(); + } + + public static String nullAs(String paramString1, String paramString2) + { + if (paramString1 == null) { + return paramString2; + } + return paramString1; + } + + public static boolean nullAs(Boolean paramBoolean, boolean paramBoolean1) + { + if (paramBoolean == null) { + return paramBoolean1; + } + return paramBoolean.booleanValue(); + } + + public static boolean nullAsFalse(Boolean paramBoolean) + { + if (paramBoolean == null) { + return false; + } + return paramBoolean.booleanValue(); + } + + public static int nullAsInt(Object paramObject, int paramInt) + { + if (paramObject == null) {} + do + { + return paramInt; + if ((paramObject instanceof Integer)) { + return ((Integer)paramObject).intValue(); + } + } while (!(paramObject instanceof Long)); + return ((Long)paramObject).intValue(); + } + + public static int nullAsNil(Integer paramInteger) + { + if (paramInteger == null) { + return 0; + } + return paramInteger.intValue(); + } + + public static long nullAsNil(Long paramLong) + { + if (paramLong == null) { + return 0L; + } + return paramLong.longValue(); + } + + public static String nullAsNil(String paramString) + { + String str = paramString; + if (paramString == null) { + str = ""; + } + return str; + } + + public static boolean nullAsTrue(Boolean paramBoolean) + { + if (paramBoolean == null) { + return true; + } + return paramBoolean.booleanValue(); + } + + public static Map parseIni(String paramString) + { + if ((paramString == null) || (paramString.length() <= 0)) + { + paramString = null; + return paramString; + } + HashMap localHashMap = new HashMap(); + String[] arrayOfString = paramString.split("\n"); + int j = arrayOfString.length; + int i = 0; + for (;;) + { + paramString = localHashMap; + if (i >= j) { + break; + } + paramString = arrayOfString[i]; + if ((paramString != null) && (paramString.length() > 0)) + { + Object localObject = paramString.trim().split("=", 2); + if ((localObject != null) && (localObject.length >= 2)) + { + paramString = localObject[0]; + localObject = localObject[1]; + if ((paramString != null) && (paramString.length() > 0) && (paramString.matches("^[a-zA-Z0-9_]*"))) { + localHashMap.put(paramString, localObject); + } + } + } + i += 1; + } + } + + public static Map parseXml(String paramString1, String paramString2, String paramString3) + { + if ((paramString1 == null) || (paramString1.length() <= 0)) { + return null; + } + HashMap localHashMap = new HashMap(); + Object localObject = DocumentBuilderFactory.newInstance(); + try + { + localObject = ((DocumentBuilderFactory)localObject).newDocumentBuilder(); + if (localObject == null) + { + Log.e("MicroMsg.Util", "new Document Builder failed"); + return null; + } + } + catch (ParserConfigurationException paramString1) + { + paramString1.printStackTrace(); + return null; + } + try + { + paramString1 = new InputSource(new ByteArrayInputStream(paramString1.getBytes())); + if (paramString3 != null) { + paramString1.setEncoding(paramString3); + } + paramString1 = ((DocumentBuilder)localObject).parse(paramString1); + paramString1 = paramString1.getDocumentElement(); + } + catch (DOMException paramString3) + { + for (;;) + { + try + { + paramString1.normalize(); + if (paramString1 != null) { + continue; + } + Log.e("MicroMsg.Util", "new Document failed"); + return null; + } + catch (DOMException paramString3) + { + continue; + } + paramString3 = paramString3; + paramString1 = null; + paramString3.printStackTrace(); + } + } + catch (SAXException paramString1) + { + paramString1.printStackTrace(); + return null; + } + catch (IOException paramString1) + { + paramString1.printStackTrace(); + return null; + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + return null; + } + if (paramString1 == null) + { + Log.e("MicroMsg.Util", "getDocumentElement failed"); + return null; + } + if ((paramString2 != null) && (paramString2.equals(paramString1.getNodeName()))) { + a(localHashMap, "", paramString1, 0); + } + for (;;) + { + paramString1 = localHashMap.entrySet().iterator(); + while (paramString1.hasNext()) + { + paramString2 = (Map.Entry)paramString1.next(); + Log.v("MicroMsg.Util", "key=" + (String)paramString2.getKey() + " value=" + (String)paramString2.getValue()); + } + paramString1 = paramString1.getElementsByTagName(paramString2); + if (paramString1.getLength() <= 0) + { + Log.e("MicroMsg.Util", "parse item null"); + return null; + } + if (paramString1.getLength() > 1) { + Log.w("MicroMsg.Util", "parse items more than one"); + } + a(localHashMap, "", paramString1.item(0), 0); + } + return localHashMap; + } + + public static MediaPlayer playSound(Context paramContext, int paramInt, MediaPlayer.OnCompletionListener paramOnCompletionListener) + { + return playSound(paramContext, paramInt, false, paramOnCompletionListener); + } + + public static MediaPlayer playSound(Context paramContext, int paramInt, boolean paramBoolean, MediaPlayer.OnCompletionListener paramOnCompletionListener) + { + try + { + Object localObject = paramContext.getString(paramInt); + paramContext = paramContext.getAssets().openFd((String)localObject); + localObject = new MediaPlayer(); + ((MediaPlayer)localObject).setDataSource(paramContext.getFileDescriptor(), paramContext.getStartOffset(), paramContext.getLength()); + paramContext.close(); + ((MediaPlayer)localObject).prepare(); + ((MediaPlayer)localObject).setLooping(paramBoolean); + ((MediaPlayer)localObject).start(); + ((MediaPlayer)localObject).setOnCompletionListener(paramOnCompletionListener); + return localObject; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + return null; + } + + public static void playSound(Context paramContext, int paramInt) + { + playSound(paramContext, paramInt, new Util.1()); + } + + public static String processXml(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) {} + while (Build.VERSION.SDK_INT >= 8) { + return paramString; + } + return expandEntities(paramString); + } + + /* Error */ + public static byte[] readFromFile(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: invokestatic 512 com/tencent/mm/sdk/platformtools/Util:isNullOrNil (Ljava/lang/String;)Z + // 4: ifeq +14 -> 18 + // 7: ldc_w 392 + // 10: ldc_w 1389 + // 13: invokestatic 1156 com/tencent/mm/sdk/platformtools/Log:w (Ljava/lang/String;Ljava/lang/String;)V + // 16: aconst_null + // 17: areturn + // 18: new 209 java/io/File + // 21: dup + // 22: aload_0 + // 23: invokespecial 223 java/io/File: (Ljava/lang/String;)V + // 26: astore_3 + // 27: aload_3 + // 28: invokevirtual 515 java/io/File:exists ()Z + // 31: ifne +22 -> 53 + // 34: ldc_w 392 + // 37: ldc_w 1391 + // 40: iconst_1 + // 41: anewarray 4 java/lang/Object + // 44: dup + // 45: iconst_0 + // 46: aload_0 + // 47: aastore + // 48: invokestatic 1394 com/tencent/mm/sdk/platformtools/Log:w (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 51: aconst_null + // 52: areturn + // 53: aload_3 + // 54: invokevirtual 1396 java/io/File:length ()J + // 57: l2i + // 58: istore_1 + // 59: new 181 java/io/FileInputStream + // 62: dup + // 63: aload_3 + // 64: invokespecial 1397 java/io/FileInputStream: (Ljava/io/File;)V + // 67: astore 4 + // 69: aload 4 + // 71: astore_3 + // 72: iload_1 + // 73: newarray byte + // 75: astore 5 + // 77: aload 4 + // 79: astore_3 + // 80: aload 4 + // 82: aload 5 + // 84: invokevirtual 1398 java/io/FileInputStream:read ([B)I + // 87: istore_2 + // 88: iload_2 + // 89: iload_1 + // 90: if_icmpeq +51 -> 141 + // 93: aload 4 + // 95: astore_3 + // 96: ldc_w 392 + // 99: ldc_w 1400 + // 102: iconst_3 + // 103: anewarray 4 java/lang/Object + // 106: dup + // 107: iconst_0 + // 108: aload_0 + // 109: aastore + // 110: dup + // 111: iconst_1 + // 112: iload_1 + // 113: invokestatic 295 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 116: aastore + // 117: dup + // 118: iconst_2 + // 119: iload_2 + // 120: invokestatic 295 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 123: aastore + // 124: invokestatic 1394 com/tencent/mm/sdk/platformtools/Log:w (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V + // 127: aload 4 + // 129: invokevirtual 1401 java/io/FileInputStream:close ()V + // 132: aconst_null + // 133: areturn + // 134: astore_0 + // 135: aload_0 + // 136: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 139: aconst_null + // 140: areturn + // 141: aload 4 + // 143: astore_3 + // 144: ldc_w 392 + // 147: ldc_w 1403 + // 150: invokestatic 398 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 153: aload 4 + // 155: invokevirtual 1401 java/io/FileInputStream:close ()V + // 158: aload 5 + // 160: areturn + // 161: astore_0 + // 162: aload_0 + // 163: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 166: goto -8 -> 158 + // 169: astore 5 + // 171: aconst_null + // 172: astore_0 + // 173: aload_0 + // 174: astore_3 + // 175: aload 5 + // 177: invokevirtual 365 java/lang/Exception:printStackTrace ()V + // 180: aload_0 + // 181: ifnull -165 -> 16 + // 184: aload_0 + // 185: invokevirtual 1401 java/io/FileInputStream:close ()V + // 188: aconst_null + // 189: areturn + // 190: astore_0 + // 191: aload_0 + // 192: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 195: aconst_null + // 196: areturn + // 197: astore_0 + // 198: aconst_null + // 199: astore_3 + // 200: aload_3 + // 201: ifnull +7 -> 208 + // 204: aload_3 + // 205: invokevirtual 1401 java/io/FileInputStream:close ()V + // 208: aload_0 + // 209: athrow + // 210: astore_3 + // 211: aload_3 + // 212: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 215: goto -7 -> 208 + // 218: astore_0 + // 219: goto -19 -> 200 + // 222: astore 5 + // 224: aload 4 + // 226: astore_0 + // 227: goto -54 -> 173 + // Local variable table: + // start length slot name signature + // 0 230 0 paramString String + // 58 55 1 i int + // 87 33 2 j int + // 26 179 3 localObject Object + // 210 2 3 localIOException IOException + // 67 158 4 localFileInputStream FileInputStream + // 75 84 5 arrayOfByte byte[] + // 169 7 5 localException1 Exception + // 222 1 5 localException2 Exception + // Exception table: + // from to target type + // 127 132 134 java/io/IOException + // 153 158 161 java/io/IOException + // 53 69 169 java/lang/Exception + // 184 188 190 java/io/IOException + // 53 69 197 finally + // 204 208 210 java/io/IOException + // 72 77 218 finally + // 80 88 218 finally + // 96 127 218 finally + // 144 153 218 finally + // 175 180 218 finally + // 72 77 222 java/lang/Exception + // 80 88 222 java/lang/Exception + // 96 127 222 java/lang/Exception + // 144 153 222 java/lang/Exception + } + + public static void saveBitmapToImage(Bitmap paramBitmap, int paramInt, Bitmap.CompressFormat paramCompressFormat, String paramString1, String paramString2, boolean paramBoolean) + { + if ((paramString1 != null) && (paramString2 != null)) {} + for (paramBoolean = true;; paramBoolean = false) + { + Assert.assertTrue(paramBoolean); + Log.d("MicroMsg.Util", "saving to " + paramString1 + paramString2); + paramString1 = new File(paramString1 + paramString2); + paramString1.createNewFile(); + try + { + paramString1 = new FileOutputStream(paramString1); + paramBitmap.compress(paramCompressFormat, paramInt, paramString1); + paramString1.flush(); + return; + } + catch (FileNotFoundException paramBitmap) + { + paramBitmap.printStackTrace(); + } + } + } + + /* Error */ + public static void saveBitmapToImage(Bitmap paramBitmap, int paramInt, Bitmap.CompressFormat paramCompressFormat, String paramString, boolean paramBoolean) + { + // Byte code: + // 0: aload_3 + // 1: invokestatic 512 com/tencent/mm/sdk/platformtools/Util:isNullOrNil (Ljava/lang/String;)Z + // 4: ifne +84 -> 88 + // 7: iconst_1 + // 8: istore 4 + // 10: iload 4 + // 12: invokestatic 728 junit/framework/Assert:assertTrue (Z)V + // 15: ldc_w 392 + // 18: new 211 java/lang/StringBuilder + // 21: dup + // 22: ldc_w 1407 + // 25: invokespecial 435 java/lang/StringBuilder: (Ljava/lang/String;)V + // 28: aload_3 + // 29: invokevirtual 216 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 32: invokevirtual 222 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 35: invokestatic 398 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 38: new 209 java/io/File + // 41: dup + // 42: aload_3 + // 43: invokespecial 223 java/io/File: (Ljava/lang/String;)V + // 46: astore_3 + // 47: aload_3 + // 48: invokevirtual 232 java/io/File:createNewFile ()Z + // 51: pop + // 52: new 234 java/io/FileOutputStream + // 55: dup + // 56: aload_3 + // 57: invokespecial 237 java/io/FileOutputStream: (Ljava/io/File;)V + // 60: astore 5 + // 62: aload 5 + // 64: astore_3 + // 65: aload_0 + // 66: aload_2 + // 67: iload_1 + // 68: aload 5 + // 70: invokevirtual 356 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 73: pop + // 74: aload 5 + // 76: astore_3 + // 77: aload 5 + // 79: invokevirtual 248 java/io/FileOutputStream:flush ()V + // 82: aload 5 + // 84: invokevirtual 252 java/io/FileOutputStream:close ()V + // 87: return + // 88: iconst_0 + // 89: istore 4 + // 91: goto -81 -> 10 + // 94: astore_2 + // 95: aconst_null + // 96: astore_0 + // 97: aload_0 + // 98: astore_3 + // 99: aload_2 + // 100: invokevirtual 229 java/io/FileNotFoundException:printStackTrace ()V + // 103: aload_0 + // 104: ifnull -17 -> 87 + // 107: aload_0 + // 108: invokevirtual 252 java/io/FileOutputStream:close ()V + // 111: return + // 112: astore_0 + // 113: aconst_null + // 114: astore_3 + // 115: aload_3 + // 116: ifnull +7 -> 123 + // 119: aload_3 + // 120: invokevirtual 252 java/io/FileOutputStream:close ()V + // 123: aload_0 + // 124: athrow + // 125: astore_0 + // 126: goto -11 -> 115 + // 129: astore_2 + // 130: aload 5 + // 132: astore_0 + // 133: goto -36 -> 97 + // Local variable table: + // start length slot name signature + // 0 136 0 paramBitmap Bitmap + // 0 136 1 paramInt int + // 0 136 2 paramCompressFormat Bitmap.CompressFormat + // 0 136 3 paramString String + // 0 136 4 paramBoolean boolean + // 60 71 5 localFileOutputStream FileOutputStream + // Exception table: + // from to target type + // 52 62 94 java/io/FileNotFoundException + // 52 62 112 finally + // 65 74 125 finally + // 77 82 125 finally + // 99 103 125 finally + // 65 74 129 java/io/FileNotFoundException + // 77 82 129 java/io/FileNotFoundException + } + + public static long secondsToMilliSeconds(int paramInt) + { + return paramInt * 1000L; + } + + public static long secondsToNow(long paramLong) + { + return System.currentTimeMillis() / 1000L - paramLong; + } + + public static void selectPicture(Context paramContext, int paramInt) + { + Intent localIntent = new Intent("android.intent.action.GET_CONTENT"); + localIntent.setType("image/*"); + localIntent = Intent.createChooser(localIntent, null); + ((Activity)paramContext).startActivityForResult(localIntent, paramInt); + } + + public static void shake(Context paramContext, boolean paramBoolean) + { + paramContext = (Vibrator)paramContext.getSystemService("vibrator"); + if (paramContext == null) { + return; + } + if (paramBoolean) + { + paramContext.vibrate(bz, -1); + return; + } + paramContext.cancel(); + } + + public static int[] splitToIntArray(String paramString) + { + if (paramString == null) { + return null; + } + Object localObject = paramString.split(":"); + paramString = new ArrayList(); + int j = localObject.length; + int i = 0; + for (;;) + { + if (i < j) + { + String str = localObject[i]; + if ((str != null) && (str.length() > 0)) {} + try + { + paramString.add(Integer.valueOf(Integer.valueOf(str).intValue())); + i += 1; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + Log.e("MicroMsg.Util", "invalid port num, ignore"); + } + } + } + } + localObject = new int[paramString.size()]; + i = 0; + while (i < localObject.length) + { + localObject[i] = ((Integer)paramString.get(i)).intValue(); + i += 1; + } + return localObject; + } + + public static List stringsToList(String[] paramArrayOfString) + { + if ((paramArrayOfString == null) || (paramArrayOfString.length == 0)) { + return null; + } + ArrayList localArrayList = new ArrayList(); + int i = 0; + while (i < paramArrayOfString.length) + { + localArrayList.add(paramArrayOfString[i]); + i += 1; + } + return localArrayList; + } + + public static long ticksToNow(long paramLong) + { + return SystemClock.elapsedRealtime() - paramLong; + } + + public static void transClickToSelect(View paramView1, View paramView2) + { + paramView1.setOnTouchListener(new Util.2(paramView2, paramView1)); + } + + public static void writeToFile(String paramString1, String paramString2) + { + if ((isNullOrNil(paramString1)) && (isNullOrNil(paramString2))) + { + File localFile = new File("/sdcard/Tencent/"); + if (!localFile.exists()) { + localFile.mkdir(); + } + paramString2 = new File("/sdcard/Tencent/" + paramString2); + if (paramString2.exists()) {} + } + try + { + paramString2.createNewFile(); + try + { + label74: + paramString2 = new FileOutputStream(paramString2); + paramString2.write(paramString1.getBytes()); + paramString2.close(); + return; + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + return; + } + } + catch (IOException localIOException) + { + break label74; + } + } + + /* Error */ + public static boolean writeToFile(String paramString, byte[] paramArrayOfByte) + { + // Byte code: + // 0: aload_0 + // 1: invokestatic 512 com/tencent/mm/sdk/platformtools/Util:isNullOrNil (Ljava/lang/String;)Z + // 4: ifne +10 -> 14 + // 7: aload_1 + // 8: invokestatic 1482 com/tencent/mm/sdk/platformtools/Util:isNullOrNil ([B)Z + // 11: ifeq +14 -> 25 + // 14: ldc_w 392 + // 17: ldc_w 1484 + // 20: invokestatic 1156 com/tencent/mm/sdk/platformtools/Log:w (Ljava/lang/String;Ljava/lang/String;)V + // 23: iconst_0 + // 24: ireturn + // 25: new 234 java/io/FileOutputStream + // 28: dup + // 29: aload_0 + // 30: invokespecial 1485 java/io/FileOutputStream: (Ljava/lang/String;)V + // 33: astore_2 + // 34: aload_2 + // 35: astore_0 + // 36: aload_2 + // 37: aload_1 + // 38: invokevirtual 1479 java/io/FileOutputStream:write ([B)V + // 41: aload_2 + // 42: astore_0 + // 43: aload_2 + // 44: invokevirtual 248 java/io/FileOutputStream:flush ()V + // 47: aload_2 + // 48: invokevirtual 252 java/io/FileOutputStream:close ()V + // 51: ldc_w 392 + // 54: ldc_w 1487 + // 57: invokestatic 398 com/tencent/mm/sdk/platformtools/Log:d (Ljava/lang/String;Ljava/lang/String;)V + // 60: iconst_1 + // 61: ireturn + // 62: astore_0 + // 63: aload_0 + // 64: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 67: goto -16 -> 51 + // 70: astore_3 + // 71: aconst_null + // 72: astore_1 + // 73: aload_1 + // 74: astore_0 + // 75: aload_3 + // 76: invokevirtual 365 java/lang/Exception:printStackTrace ()V + // 79: aload_1 + // 80: astore_0 + // 81: ldc_w 392 + // 84: ldc_w 1489 + // 87: invokestatic 1156 com/tencent/mm/sdk/platformtools/Log:w (Ljava/lang/String;Ljava/lang/String;)V + // 90: aload_1 + // 91: ifnull -68 -> 23 + // 94: aload_1 + // 95: invokevirtual 252 java/io/FileOutputStream:close ()V + // 98: iconst_0 + // 99: ireturn + // 100: astore_0 + // 101: aload_0 + // 102: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 105: iconst_0 + // 106: ireturn + // 107: astore_1 + // 108: aconst_null + // 109: astore_0 + // 110: aload_0 + // 111: ifnull +7 -> 118 + // 114: aload_0 + // 115: invokevirtual 252 java/io/FileOutputStream:close ()V + // 118: aload_1 + // 119: athrow + // 120: astore_0 + // 121: aload_0 + // 122: invokevirtual 249 java/io/IOException:printStackTrace ()V + // 125: goto -7 -> 118 + // 128: astore_1 + // 129: goto -19 -> 110 + // 132: astore_3 + // 133: aload_2 + // 134: astore_1 + // 135: goto -62 -> 73 + // Local variable table: + // start length slot name signature + // 0 138 0 paramString String + // 0 138 1 paramArrayOfByte byte[] + // 33 101 2 localFileOutputStream FileOutputStream + // 70 6 3 localException1 Exception + // 132 1 3 localException2 Exception + // Exception table: + // from to target type + // 47 51 62 java/io/IOException + // 25 34 70 java/lang/Exception + // 94 98 100 java/io/IOException + // 25 34 107 finally + // 114 118 120 java/io/IOException + // 36 41 128 finally + // 43 47 128 finally + // 75 79 128 finally + // 81 90 128 finally + // 36 41 132 java/lang/Exception + // 43 47 132 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.Util + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/package-info.java new file mode 100755 index 00000000000..48b50d27525 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/platformtools/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk.platformtools; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.platformtools.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/BaseProfile.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/BaseProfile.java new file mode 100755 index 00000000000..7e667896523 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/BaseProfile.java @@ -0,0 +1,171 @@ +package com.tencent.mm.sdk.plugin; + +import android.content.ContentValues; +import android.database.Cursor; +import com.tencent.mm.sdk.storage.IAutoDBItem; +import com.tencent.mm.sdk.storage.IAutoDBItem.MAutoDBInfo; +import java.lang.reflect.Field; +import java.util.Map; + +public abstract class BaseProfile + extends IAutoDBItem +{ + public static final String COL_ALIAS = "alias"; + public static final String COL_AVATAR = "avatar"; + public static final String COL_BINDEMAIL = "bindemail"; + public static final String COL_BINDMOBILE = "bindmobile"; + public static final String COL_BINDQQ = "bindqq"; + public static final String COL_CITY = "city"; + public static final String COL_NICKNAME = "nickname"; + public static final String COL_PROVINCE = "province"; + public static final String COL_SIGNATURE = "signature"; + public static final String COL_USERNAME = "username"; + public static final String COL_WEIBO = "weibo"; + public static final String[] INDEX_CREATE = new String[0]; + public static final String TABLE_NAME = "Profile"; + public String field_alias; + public String field_avatar; + public String field_bindemail; + public String field_bindmobile; + public long field_bindqq; + public String field_city; + public String field_nickname; + public String field_province; + public String field_signature; + public String field_username; + public String field_weibo; + + public static IAutoDBItem.MAutoDBInfo initAutoDBInfo(Class paramClass) + { + paramClass = new IAutoDBItem.MAutoDBInfo(); + paramClass.fields = new Field[11]; + paramClass.columns = new String[12]; + StringBuilder localStringBuilder = new StringBuilder(); + paramClass.columns[0] = "username"; + paramClass.colsMap.put("username", "TEXT"); + localStringBuilder.append(" username TEXT"); + localStringBuilder.append(", "); + paramClass.columns[1] = "bindqq"; + paramClass.colsMap.put("bindqq", "LONG"); + localStringBuilder.append(" bindqq LONG"); + localStringBuilder.append(", "); + paramClass.columns[2] = "bindmobile"; + paramClass.colsMap.put("bindmobile", "TEXT"); + localStringBuilder.append(" bindmobile TEXT"); + localStringBuilder.append(", "); + paramClass.columns[3] = "bindemail"; + paramClass.colsMap.put("bindemail", "TEXT"); + localStringBuilder.append(" bindemail TEXT"); + localStringBuilder.append(", "); + paramClass.columns[4] = "alias"; + paramClass.colsMap.put("alias", "TEXT"); + localStringBuilder.append(" alias TEXT"); + localStringBuilder.append(", "); + paramClass.columns[5] = "nickname"; + paramClass.colsMap.put("nickname", "TEXT"); + localStringBuilder.append(" nickname TEXT"); + localStringBuilder.append(", "); + paramClass.columns[6] = "signature"; + paramClass.colsMap.put("signature", "TEXT"); + localStringBuilder.append(" signature TEXT"); + localStringBuilder.append(", "); + paramClass.columns[7] = "province"; + paramClass.colsMap.put("province", "TEXT"); + localStringBuilder.append(" province TEXT"); + localStringBuilder.append(", "); + paramClass.columns[8] = "city"; + paramClass.colsMap.put("city", "TEXT"); + localStringBuilder.append(" city TEXT"); + localStringBuilder.append(", "); + paramClass.columns[9] = "weibo"; + paramClass.colsMap.put("weibo", "TEXT"); + localStringBuilder.append(" weibo TEXT"); + localStringBuilder.append(", "); + paramClass.columns[10] = "avatar"; + paramClass.colsMap.put("avatar", "TEXT"); + localStringBuilder.append(" avatar TEXT"); + paramClass.columns[11] = "rowid"; + paramClass.sql = localStringBuilder.toString(); + return paramClass; + } + + public void convertFrom(Cursor paramCursor) + { + int i = paramCursor.getColumnIndex("username"); + if (i >= 0) { + this.field_username = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("bindqq"); + if (i >= 0) { + this.field_bindqq = paramCursor.getLong(i); + } + i = paramCursor.getColumnIndex("bindmobile"); + if (i >= 0) { + this.field_bindmobile = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("bindemail"); + if (i >= 0) { + this.field_bindemail = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("alias"); + if (i >= 0) { + this.field_alias = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("nickname"); + if (i >= 0) { + this.field_nickname = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("signature"); + if (i >= 0) { + this.field_signature = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("province"); + if (i >= 0) { + this.field_province = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("city"); + if (i >= 0) { + this.field_city = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("weibo"); + if (i >= 0) { + this.field_weibo = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("avatar"); + if (i >= 0) { + this.field_avatar = paramCursor.getString(i); + } + i = paramCursor.getColumnIndex("rowid"); + if (i >= 0) { + this.systemRowid = paramCursor.getLong(i); + } + } + + public ContentValues convertTo() + { + ContentValues localContentValues = new ContentValues(); + localContentValues.put("username", this.field_username); + localContentValues.put("bindqq", Long.valueOf(this.field_bindqq)); + localContentValues.put("bindmobile", this.field_bindmobile); + localContentValues.put("bindemail", this.field_bindemail); + localContentValues.put("alias", this.field_alias); + localContentValues.put("nickname", this.field_nickname); + localContentValues.put("signature", this.field_signature); + localContentValues.put("province", this.field_province); + localContentValues.put("city", this.field_city); + localContentValues.put("weibo", this.field_weibo); + localContentValues.put("avatar", this.field_avatar); + if (this.systemRowid > 0L) { + localContentValues.put("rowid", Long.valueOf(this.systemRowid)); + } + return localContentValues; + } + + public void reset() {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.BaseProfile + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/IMMPluginAPI.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/IMMPluginAPI.java new file mode 100755 index 00000000000..77e83a7cd5b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/IMMPluginAPI.java @@ -0,0 +1,52 @@ +package com.tencent.mm.sdk.plugin; + +import com.tencent.mm.sdk.channel.MMessage.CallBack; + +public abstract interface IMMPluginAPI +{ + public abstract boolean appendNetStat(int paramInt1, int paramInt2, int paramInt3); + + public abstract void createMsgController(String paramString); + + public abstract void createQRCodeController(String paramString); + + public abstract void createQRCodeController(String paramString, MMessage.CallBack paramCallBack); + + public abstract void createQRCodeController(String paramString1, MMessage.CallBack paramCallBack, String paramString2); + + public abstract Profile getCurrentProfile(String paramString); + + public abstract String getPluginKey(String paramString); + + public abstract boolean installPlugin(String paramString); + + public abstract boolean isPluginInstalled(String paramString); + + public abstract void jumpToBindEmail(String paramString); + + public abstract void jumpToBindMobile(String paramString); + + public abstract void jumpToBindQQ(String paramString); + + public abstract void jumpToChattingUI(String paramString1, String paramString2); + + public abstract void jumpToSettingView(String paramString1, String paramString2); + + public abstract boolean registerAutoMsg(String paramString1, String paramString2); + + public abstract boolean registerPattern(String paramString1, MMessage.CallBack paramCallBack, String paramString2); + + public abstract boolean registerQRCodePattern(String paramString1, MMessage.CallBack paramCallBack, String paramString2); + + public abstract void release(); + + public abstract boolean sendMsgNotify(String paramString1, String paramString2, int paramInt, String paramString3, Class paramClass); + + public abstract boolean unregisterAutoMsg(String paramString1, String paramString2); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.IMMPluginAPI + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginAPIImpl.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginAPIImpl.java new file mode 100755 index 00000000000..b29fc77e155 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginAPIImpl.java @@ -0,0 +1,185 @@ +package com.tencent.mm.sdk.plugin; + +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.database.Cursor; +import com.tencent.mm.algorithm.Base64; +import com.tencent.mm.sdk.channel.MMessage.CallBack; +import com.tencent.mm.sdk.channel.MMessage.Receiver; +import com.tencent.mm.sdk.platformtools.Log; +import com.tencent.mm.sdk.platformtools.Util; + +public class MMPluginAPIImpl + implements IMMPluginAPI +{ + private static final String[] columns = { "key", "type", "value" }; + private String am; + private MMessage.Receiver bF; + private final Context q; + + public MMPluginAPIImpl(Context paramContext) + { + this.q = paramContext; + this.am = paramContext.getPackageName(); + } + + private void a(String paramString1, String paramString2, Intent paramIntent) + { + paramString2 = new Intent(paramString2); + paramString2.setClassName("com.tencent.mm", "com.tencent.mm.plugin.PluginProxyUI"); + if (paramIntent != null) { + paramString2.putExtras(paramIntent); + } + paramString2.putExtra("com.tencent.mm.sdk.plugin.Intent.ACCESS_TOKEN", paramString1); + this.q.startActivity(paramString2); + } + + private Object e(String paramString) + { + Object localObject = null; + Cursor localCursor = this.q.getContentResolver().query(MMPluginProviderConstants.PluginDB.CONTENT_URI, columns, null, new String[] { paramString }, null); + if (localCursor == null) { + return null; + } + int i = localCursor.getColumnIndex("type"); + int j = localCursor.getColumnIndex("value"); + paramString = localObject; + if (localCursor.moveToFirst()) { + paramString = MMPluginProviderConstants.Resolver.resolveObj(localCursor.getInt(i), localCursor.getString(j)); + } + localCursor.close(); + return paramString; + } + + public boolean appendNetStat(int paramInt1, int paramInt2, int paramInt3) + { + return Util.nullAsFalse((Boolean)e("plugindb://" + this.am + "/action.appnetstat?recv=" + paramInt1 + "&send=" + paramInt2 + "&type=" + paramInt3)); + } + + public void createMsgController(String paramString) {} + + public void createQRCodeController(String paramString) + { + a(paramString, "qrcode", null); + } + + public void createQRCodeController(String paramString, MMessage.CallBack paramCallBack) + { + createQRCodeController(paramString, paramCallBack, "*"); + } + + public void createQRCodeController(String paramString1, MMessage.CallBack paramCallBack, String paramString2) + { + a(paramString1, "qrcode", new Intent().putExtra("qrcode_pattern", paramString2)); + } + + public Profile getCurrentProfile(String paramString) + { + Object localObject = null; + Cursor localCursor = this.q.getContentResolver().query(Profile.CONTENT_URI, Profile.columns, null, new String[] { paramString }, null); + if (localCursor == null) + { + Log.e("MicroMsg.SDK.MMPluginMgrImpl", "get current profile failed"); + return null; + } + paramString = localObject; + if (localCursor.moveToFirst()) + { + paramString = new Profile(); + paramString.convertFrom(localCursor); + } + localCursor.close(); + return paramString; + } + + public String getPluginKey(String paramString) + { + return (String)e("plugindb://" + paramString + "/comm.pluginkey"); + } + + public boolean installPlugin(String paramString) + { + return Util.nullAsFalse((Boolean)e("plugindb://" + paramString + "/action.install")); + } + + public boolean isPluginInstalled(String paramString) + { + return Util.nullAsFalse((Boolean)e("plugindb://" + paramString + "/comm.installed")); + } + + public void jumpToBindEmail(String paramString) + { + a(paramString, "bindemail", new Intent()); + } + + public void jumpToBindMobile(String paramString) + { + a(paramString, "bindmobile", new Intent()); + } + + public void jumpToBindQQ(String paramString) + { + a(paramString, "bindqq", new Intent()); + } + + public void jumpToChattingUI(String paramString1, String paramString2) + { + a(paramString1, "chatting", new Intent().putExtra("Contact_User", paramString2).setFlags(67108864)); + } + + public void jumpToSettingView(String paramString1, String paramString2) + { + a(paramString1, "profile", new Intent().putExtra("Contact_User", paramString2).setFlags(67108864)); + } + + public boolean registerAutoMsg(String paramString1, String paramString2) + { + return Util.nullAsFalse((Boolean)e("plugindb://" + this.am + "/action.automsg?pluginMsgUsername=" + paramString1 + "&pluginUsername=" + paramString2)); + } + + public boolean registerPattern(String paramString1, MMessage.CallBack paramCallBack, String paramString2) + { + return false; + } + + public boolean registerQRCodePattern(String paramString1, MMessage.CallBack paramCallBack, String paramString2) + { + if (this.bF != null) { + this.q.unregisterReceiver(this.bF); + } + this.bF = new MMessage.Receiver(paramCallBack); + this.q.registerReceiver(this.bF, new IntentFilter("com.tencent.mm.sdk.plugin.Intent.ACTION_QRCODE_SCANNED")); + return Util.nullAsFalse((Boolean)e("plugindb://" + paramString1 + "/action.register_qrcode_result?pattern=" + paramString2)); + } + + public void release() + { + Log.d("MicroMsg.SDK.MMPluginMgrImpl", "release plugin mgr implemetation"); + if (this.bF != null) + { + this.q.unregisterReceiver(this.bF); + Log.d("MicroMsg.SDK.MMPluginMgrImpl", "unregister qrcode scan result receiver"); + } + } + + public boolean sendMsgNotify(String paramString1, String paramString2, int paramInt, String paramString3, Class paramClass) + { + if (paramClass == null) { + return false; + } + return Util.nullAsFalse((Boolean)e("plugindb://" + this.am + "/action.msgnotify?username=" + paramString1 + "&msgContent=" + paramString2 + "&msgType=" + paramInt + "&customNotify=" + paramString3 + "&intentUri=" + Base64.encodeToString(new Intent(this.q, paramClass).toUri(0).getBytes(), false))); + } + + public boolean unregisterAutoMsg(String paramString1, String paramString2) + { + return Util.nullAsFalse((Boolean)e("plugindb://" + this.am + "/action.unautomsg?pluginMsgUsername=" + paramString1 + "&pluginUsername=" + paramString2)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginAPIImpl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginMsg.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginMsg.java new file mode 100755 index 00000000000..c446f903add --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginMsg.java @@ -0,0 +1,141 @@ +package com.tencent.mm.sdk.plugin; + +import android.content.Context; +import android.content.Intent; +import com.tencent.mm.sdk.openapi.BaseReq; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXAPIFactory; +import com.tencent.mm.sdk.openapi.WXAppExtendObject; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXMediaMessage.IMediaObject; +import com.tencent.mm.sdk.platformtools.Util; + +public class MMPluginMsg +{ + public static final String ACTION_AUTO_MSG = "ACTION_AUTO_MSG"; + public static final String RECV_MSG = "recv_msg"; + public static final String RECV_PKG = "recv_pkg"; + public static final String RECV_THUMB = "recv_thumb"; + public static final String SEND_ERR_CODE = "send_err_code"; + public static final String SEND_ERR_TYPE = "send_err_type"; + public static final String SEND_ID = "send_id"; + public static final String TYPE = "type"; + public static final int TYPE_RECV_MSG = 2; + public static final int TYPE_SEND_RET = 1; + public String content; + public long msgClientId; + + public static MMPluginMsg WXAppExtentObjectToPluginMsg(WXAppExtendObject paramWXAppExtendObject) + { + if (paramWXAppExtendObject == null) {} + MMPluginMsg localMMPluginMsg; + do + { + do + { + return null; + localMMPluginMsg = new MMPluginMsg(); + localMMPluginMsg.msgClientId = Util.getLong(paramWXAppExtendObject.extInfo, -1L); + } while ((localMMPluginMsg.msgClientId == -1L) || (Util.isNullOrNil(paramWXAppExtendObject.fileData))); + localMMPluginMsg.content = new String(paramWXAppExtendObject.fileData); + } while (Util.isNullOrNil(localMMPluginMsg.content)); + return localMMPluginMsg; + } + + public static WXAppExtendObject pluginMsgToWXAppExtendObject(MMPluginMsg paramMMPluginMsg) + { + if (paramMMPluginMsg == null) { + return null; + } + WXAppExtendObject localWXAppExtendObject = new WXAppExtendObject(); + localWXAppExtendObject.extInfo = paramMMPluginMsg.msgClientId; + localWXAppExtendObject.fileData = paramMMPluginMsg.content.getBytes(); + return localWXAppExtendObject; + } + + public static long sendMessage(Context paramContext, String paramString) + { + if (Util.isNullOrNil(paramString)) { + return -1L; + } + MMPluginMsg localMMPluginMsg = new MMPluginMsg(); + localMMPluginMsg.msgClientId = Util.nowMilliSecond(); + localMMPluginMsg.content = paramString; + Object localObject = pluginMsgToWXAppExtendObject(localMMPluginMsg); + paramString = new WXMediaMessage(); + paramString.mediaObject = ((WXMediaMessage.IMediaObject)localObject); + paramString.description = ""; + paramContext = WXAPIFactory.createWXAPI(paramContext, null); + if (paramContext == null) { + return -2L; + } + localObject = new SendMessageToWX.Req(); + ((SendMessageToWX.Req)localObject).transaction = ("appdata" + localMMPluginMsg.msgClientId); + ((SendMessageToWX.Req)localObject).message = paramString; + if (!paramContext.sendReq((BaseReq)localObject)) { + return -3L; + } + return localMMPluginMsg.msgClientId; + } + + public static class ReceiverHelper + { + Intent intent; + int type; + + public ReceiverHelper(Intent paramIntent) + { + this.type = paramIntent.getIntExtra("type", 0); + this.intent = paramIntent; + } + + public String getMsgContent() + { + if (isRecvNew()) { + return this.intent.getStringExtra("recv_msg"); + } + return null; + } + + public Integer getSendErrCode() + { + if (isSendRet()) { + return Integer.valueOf(this.intent.getIntExtra("send_err_code", 0)); + } + return null; + } + + public Integer getSendErrType() + { + if (isSendRet()) { + return Integer.valueOf(this.intent.getIntExtra("send_err_type", 0)); + } + return null; + } + + public Long getSendMsgId() + { + if (isSendRet()) { + return Long.valueOf(this.intent.getLongExtra("send_id", 0L)); + } + return null; + } + + public boolean isRecvNew() + { + return this.type == 2; + } + + public boolean isSendRet() + { + return this.type == 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginMsg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$1.java new file mode 100755 index 00000000000..d73f22c43c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$1.java @@ -0,0 +1,20 @@ +package com.tencent.mm.sdk.plugin; + +class MMPluginOAuth$1 + implements Runnable +{ + MMPluginOAuth$1(MMPluginOAuth paramMMPluginOAuth) {} + + public void run() + { + if (MMPluginOAuth.b(this.bJ) != null) { + MMPluginOAuth.b(this.bJ).onResult(this.bJ); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginOAuth.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$Receiver$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$Receiver$1.java new file mode 100755 index 00000000000..626c1a90138 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth$Receiver$1.java @@ -0,0 +1,18 @@ +package com.tencent.mm.sdk.plugin; + +class MMPluginOAuth$Receiver$1 + implements Runnable +{ + MMPluginOAuth$Receiver$1(MMPluginOAuth.Receiver paramReceiver, MMPluginOAuth paramMMPluginOAuth, String paramString) {} + + public void run() + { + MMPluginOAuth.a(this.bL, this.bM); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginOAuth.Receiver.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth.java new file mode 100755 index 00000000000..15454710cce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginOAuth.java @@ -0,0 +1,153 @@ +package com.tencent.mm.sdk.plugin; + +import android.app.Activity; +import android.content.BroadcastReceiver; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.os.Handler; +import com.tencent.mm.sdk.platformtools.Log; +import java.util.HashMap; +import java.util.Map; + +public class MMPluginOAuth +{ + private final IResult bG; + private String bH; + private String bI; + private Handler handler; + private final Context q; + + public MMPluginOAuth(Context paramContext, IResult paramIResult) + { + this.q = paramContext; + this.bG = paramIResult; + } + + public String getAccessToken() + { + return this.bH; + } + + public String getRequestToken() + { + return this.bI; + } + + public void start() + { + start(null); + } + + public boolean start(Handler paramHandler) + { + Handler localHandler = paramHandler; + if (paramHandler == null) { + localHandler = new Handler(); + } + this.handler = localHandler; + paramHandler = this.q.getContentResolver().query(MMPluginProviderConstants.OAuth.CONTENT_URI, null, null, new String[] { this.q.getPackageName(), "request_token" }, null); + if (paramHandler != null) + { + if ((paramHandler.moveToFirst()) && (paramHandler.getColumnCount() >= 2)) + { + this.bI = paramHandler.getString(0); + this.bH = paramHandler.getString(1); + } + paramHandler.close(); + } + Log.i("MicroMsg.SDK.MMPluginOAuth", "request token = " + this.bI); + if (this.bI == null) + { + Log.e("MicroMsg.SDK.MMPluginOAuth", "request token failed"); + return false; + } + if (this.bH != null) + { + this.handler.post(new MMPluginOAuth.1(this)); + return true; + } + Log.d("MicroMsg.SDK.MMPluginOAuth", "begin to show user oauth page"); + paramHandler = new Intent(); + paramHandler.setClassName("com.tencent.mm", "com.tencent.mm.plugin.PluginOAuthUI"); + paramHandler.putExtra("com.tencent.mm.sdk.plugin.Intent.REQUEST_TOKEN", this.bI); + paramHandler.putExtra("com.tencent.mm.sdk.plugin.Intent.PACKAGE", this.q.getPackageName()); + if (this.q.getPackageManager().resolveActivity(paramHandler, 65536) == null) { + Log.e("MicroMsg.SDK.MMPluginOAuth", "show oauth page failed, activity not found"); + } + for (int i = 0; i != 0; i = 1) + { + Receiver.register(this.bI, this); + return true; + if (!(this.q instanceof Activity)) { + paramHandler.setFlags(268435456); + } + this.q.startActivity(paramHandler); + } + return false; + } + + public static abstract interface IResult + { + public abstract void onResult(MMPluginOAuth paramMMPluginOAuth); + + public abstract void onSessionTimeOut(); + } + + public static class Receiver + extends BroadcastReceiver + { + private static final Map ah = new HashMap(); + private final MMPluginOAuth bK; + + public Receiver() + { + this(null); + } + + public Receiver(MMPluginOAuth paramMMPluginOAuth) + { + this.bK = paramMMPluginOAuth; + } + + public static void register(String paramString, MMPluginOAuth paramMMPluginOAuth) + { + ah.put(paramString, paramMMPluginOAuth); + } + + public static void unregister(String paramString) + { + ah.remove(paramString); + } + + public void onReceive(Context paramContext, Intent paramIntent) + { + Log.d("MicroMsg.SDK.MMPluginOAuth", "receive oauth result"); + String str = paramIntent.getStringExtra("com.tencent.mm.sdk.plugin.Intent.REQUEST_TOKEN"); + paramIntent = paramIntent.getStringExtra("com.tencent.mm.sdk.plugin.Intent.ACCESS_TOKEN"); + if (this.bK != null) { + paramContext = this.bK; + } + for (;;) + { + new Handler().post(new MMPluginOAuth.Receiver.1(this, paramContext, paramIntent)); + return; + paramContext = (MMPluginOAuth)ah.get(str); + if (paramContext == null) + { + Log.e("MicroMsg.SDK.MMPluginOAuth", "oauth unregistered, request token = " + str); + return; + } + unregister(MMPluginOAuth.a(paramContext)); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginOAuth + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginProviderConstants.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginProviderConstants.java new file mode 100755 index 00000000000..a6c6623d6cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginProviderConstants.java @@ -0,0 +1,142 @@ +package com.tencent.mm.sdk.plugin; + +import android.content.ContentValues; +import android.net.Uri; +import android.provider.BaseColumns; +import com.tencent.mm.sdk.platformtools.Log; + +public class MMPluginProviderConstants +{ + public static final String AUTHORITY = "com.tencent.mm.sdk.plugin.provider"; + public static final String PLUGIN_PACKAGE_PATTERN = "com.tencent.mm.plugin"; + public static final int TYPE_BOOLEAN = 4; + public static final int TYPE_DOUBLE = 6; + public static final int TYPE_FLOAT = 5; + public static final int TYPE_INT = 1; + public static final int TYPE_LONG = 2; + public static final int TYPE_STRING = 3; + public static final int TYPE_UNKNOWN = 0; + + public static final class OAuth + implements BaseColumns + { + public static final String ACCESS_TOKEN = "accessToken"; + public static final String ACTION_REQUEST_TOKEN = "request_token"; + public static final String API_KEY = "apiKey"; + public static final Uri CONTENT_URI = Uri.parse("content://com.tencent.mm.sdk.plugin.provider/oauth"); + public static final String REQUEST_TOKEN = "requestToken"; + public static final String SECRET = "secret"; + } + + public static final class PluginDB + implements BaseColumns + { + public static final Uri CONTENT_URI = Uri.parse("content://com.tencent.mm.sdk.plugin.provider/plugindb"); + public static final String KEY = "key"; + public static final String TYPE = "type"; + public static final String VALUE = "value"; + } + + public static class PluginIntent + { + public static final String ACCESS_TOKEN = "com.tencent.mm.sdk.plugin.Intent.ACCESS_TOKEN"; + public static final String ACTION_QRCODE_SCANNED = "com.tencent.mm.sdk.plugin.Intent.ACTION_QRCODE_SCANNED"; + public static final String ACTION_REQUEST_TOKEN = "com.tencent.mm.sdk.plugin.Intent.ACTION_REQUEST_TOKEN"; + public static final String ACTION_RESPONSE = "com.tencent.mm.sdk.plugin.Intent.ACTION_RESPONSE"; + public static final String APP_PACKAGE_PATTERN = "com.tencent.mm"; + public static final String AUTH_KEY = "com.tencent.mm.sdk.plugin.Intent.AUTHKEY"; + public static final String NAME = "com.tencent.mm.sdk.plugin.Intent.NAME"; + public static final String PACKAGE = "com.tencent.mm.sdk.plugin.Intent.PACKAGE"; + public static final String PERMISSIONS = "com.tencent.mm.sdk.plugin.Intent.PERMISSIONS"; + public static final String PLUGIN_PACKAGE_PATTERN = "com.tencent.mm.plugin"; + public static final String REQUEST_TOKEN = "com.tencent.mm.sdk.plugin.Intent.REQUEST_TOKEN"; + } + + public static final class Resolver + { + public static int getType(Object paramObject) + { + if (paramObject == null) + { + Log.e("MicroMsg.SDK.PluginProvider.Resolver", "unresolve failed, null value"); + return 0; + } + if ((paramObject instanceof Integer)) { + return 1; + } + if ((paramObject instanceof Long)) { + return 2; + } + if ((paramObject instanceof String)) { + return 3; + } + if ((paramObject instanceof Boolean)) { + return 4; + } + if ((paramObject instanceof Float)) { + return 5; + } + if ((paramObject instanceof Double)) { + return 6; + } + Log.e("MicroMsg.SDK.PluginProvider.Resolver", "unresolve failed, unknown type=" + paramObject.getClass().toString()); + return 0; + } + + public static Object resolveObj(int paramInt, String paramString) + { + String str = paramString; + switch (paramInt) + { + default: + case 1: + case 2: + case 4: + case 5: + case 6: + try + { + Log.e("MicroMsg.SDK.PluginProvider.Resolver", "unknown type"); + } + catch (Exception paramString) + { + paramString.printStackTrace(); + str = null; + } + return Integer.valueOf(paramString); + return Long.valueOf(paramString); + return Boolean.valueOf(paramString); + return Float.valueOf(paramString); + paramString = Double.valueOf(paramString); + return paramString; + } + return str; + } + + public static boolean unresolveObj(ContentValues paramContentValues, Object paramObject) + { + int i = getType(paramObject); + if (i == 0) { + return false; + } + paramContentValues.put("type", Integer.valueOf(i)); + paramContentValues.put("value", paramObject.toString()); + return true; + } + } + + public static final class SharedPref + implements BaseColumns + { + public static final Uri CONTENT_URI = Uri.parse("content://com.tencent.mm.sdk.plugin.provider/sharedpref"); + public static final String KEY = "key"; + public static final String TYPE = "type"; + public static final String VALUE = "value"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginProviderConstants + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginUtil.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginUtil.java new file mode 100755 index 00000000000..08a02c70f89 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/MMPluginUtil.java @@ -0,0 +1,17 @@ +package com.tencent.mm.sdk.plugin; + +import android.content.Context; + +public class MMPluginUtil +{ + public static IMMPluginAPI queryPluginMgr(Context paramContext) + { + return new MMPluginAPIImpl(paramContext); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.MMPluginUtil + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/Profile.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/Profile.java new file mode 100755 index 00000000000..4550f3220a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/Profile.java @@ -0,0 +1,23 @@ +package com.tencent.mm.sdk.plugin; + +import android.net.Uri; +import com.tencent.mm.sdk.storage.IAutoDBItem.MAutoDBInfo; + +public class Profile + extends BaseProfile +{ + public static final Uri CONTENT_URI = Uri.parse("content://com.tencent.mm.sdk.plugin.provider/profile"); + protected static IAutoDBItem.MAutoDBInfo bO = BaseProfile.initAutoDBInfo(Profile.class); + public static String[] columns = { "username", "bindqq", "bindmobile", "bindemail", "alias", "nickname", "signature", "province", "city", "weibo", "avatar" }; + + protected IAutoDBItem.MAutoDBInfo getDBInfo() + { + return bO; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.Profile + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/package-info.java new file mode 100755 index 00000000000..180390c31cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/plugin/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk.plugin; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.plugin.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ContentProviderDB.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ContentProviderDB.java new file mode 100755 index 00000000000..b82705e757d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ContentProviderDB.java @@ -0,0 +1,97 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.database.MatrixCursor; +import android.net.Uri; +import com.tencent.mm.sdk.platformtools.Log; + +public abstract class ContentProviderDB + implements ISQLiteDatabase +{ + private final Context q; + + public ContentProviderDB(Context paramContext) + { + this.q = paramContext; + } + + public int delete(String paramString1, String paramString2, String[] paramArrayOfString) + { + Uri localUri = getUriFromTable(paramString1); + if (localUri == null) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "get uri from table failed, table=" + paramString1); + return 0; + } + return this.q.getContentResolver().delete(localUri, paramString2, paramArrayOfString); + } + + public boolean execSQL(String paramString1, String paramString2) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "do not support, execSQL sql=" + paramString2); + return false; + } + + public abstract Uri getUriFromTable(String paramString); + + public long insert(String paramString1, String paramString2, ContentValues paramContentValues) + { + paramString2 = getUriFromTable(paramString1); + if (paramString2 == null) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "get uri from table failed, table=" + paramString1); + return -1L; + } + return ContentUris.parseId(this.q.getContentResolver().insert(paramString2, paramContentValues)); + } + + public Cursor query(String paramString1, String[] paramArrayOfString1, String paramString2, String[] paramArrayOfString2, String paramString3, String paramString4, String paramString5) + { + paramString3 = getUriFromTable(paramString1); + if (paramString3 == null) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "get uri from table failed, table=" + paramString1); + paramString1 = new MatrixCursor(paramArrayOfString1); + } + do + { + return paramString1; + paramString2 = this.q.getContentResolver().query(paramString3, paramArrayOfString1, paramString2, paramArrayOfString2, paramString5); + paramString1 = paramString2; + } while (paramString2 != null); + return new MatrixCursor(paramArrayOfString1); + } + + public Cursor rawQuery(String paramString, String[] paramArrayOfString) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "do not support, rawQuery sql=" + paramString); + return null; + } + + public long replace(String paramString1, String paramString2, ContentValues paramContentValues) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "do not support, replace table=" + paramString1); + return 0L; + } + + public int update(String paramString1, ContentValues paramContentValues, String paramString2, String[] paramArrayOfString) + { + Uri localUri = getUriFromTable(paramString1); + if (localUri == null) + { + Log.e("MicroMsg.SDK.MContentProviderDB", "get uri from table failed, table=" + paramString1); + return 0; + } + return this.q.getContentResolver().update(localUri, paramContentValues, paramString2, paramArrayOfString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.ContentProviderDB + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$1.java new file mode 100755 index 00000000000..5d87ca1d406 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$1.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$1 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setBlob(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$10.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$10.java new file mode 100755 index 00000000000..88d42712eed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$10.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$10 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setDouble(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.10 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$11.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$11.java new file mode 100755 index 00000000000..6c0aaf9de78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$11.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$11 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setDouble(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.11 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$12.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$12.java new file mode 100755 index 00000000000..b58af7929d0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$12.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$12 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setLong(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.12 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$13.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$13.java new file mode 100755 index 00000000000..f38484fa0d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$13.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$13 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setLong(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.13 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$14.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$14.java new file mode 100755 index 00000000000..e2a65202d75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$14.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$14 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setString(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.14 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$15.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$15.java new file mode 100755 index 00000000000..4adf8fb54fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$15.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$15 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getBlob(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.15 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$16.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$16.java new file mode 100755 index 00000000000..0ee665e9284 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$16.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$16 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getShort(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.16 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$17.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$17.java new file mode 100755 index 00000000000..49f1ea83596 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$17.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$17 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getShort(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.17 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$18.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$18.java new file mode 100755 index 00000000000..740455ecd4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$18.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$18 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getBoolean(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.18 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$19.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$19.java new file mode 100755 index 00000000000..f75b6ab06b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$19.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$19 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getBoolean(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.19 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$2.java new file mode 100755 index 00000000000..5b1c309294a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$2.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$2 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setShort(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$20.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$20.java new file mode 100755 index 00000000000..f21f6e3e4fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$20.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$20 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getInt(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.20 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$21.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$21.java new file mode 100755 index 00000000000..f72f9bfa214 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$21.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$21 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getInt(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.21 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$22.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$22.java new file mode 100755 index 00000000000..764e6b9b59c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$22.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$22 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getFloat(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.22 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$23.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$23.java new file mode 100755 index 00000000000..708fbfd63c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$23.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$23 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getFloat(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.23 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$24.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$24.java new file mode 100755 index 00000000000..c8d55f26274 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$24.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$24 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getDouble(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.24 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$25.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$25.java new file mode 100755 index 00000000000..06ad1c6e82f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$25.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$25 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getDouble(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.25 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$26.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$26.java new file mode 100755 index 00000000000..0fe9c8650da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$26.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$26 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getLong(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.26 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$27.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$27.java new file mode 100755 index 00000000000..9879bcd3b66 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$27.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$27 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getLong(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.27 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$28.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$28.java new file mode 100755 index 00000000000..85eb5661226 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$28.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import java.lang.reflect.Field; + +final class CursorFieldHelper$28 + implements CursorFieldHelper.IGetMethod +{ + public final void invoke(Field paramField, Object paramObject, ContentValues paramContentValues) + { + CursorFieldHelper.keep_getString(paramField, paramObject, paramContentValues); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.28 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$3.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$3.java new file mode 100755 index 00000000000..e513cb1009e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$3.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$3 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setShort(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.3 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$4.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$4.java new file mode 100755 index 00000000000..4628778dec1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$4.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$4 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setBoolean(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.4 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$5.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$5.java new file mode 100755 index 00000000000..13f267fc38a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$5.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$5 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setBoolean(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.5 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$6.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$6.java new file mode 100755 index 00000000000..a35b7b067a8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$6.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$6 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setInt(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.6 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$7.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$7.java new file mode 100755 index 00000000000..cf1faf0f426 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$7.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$7 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setInt(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.7 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$8.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$8.java new file mode 100755 index 00000000000..1a24d8f5d26 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$8.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$8 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setFloat(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.8 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$9.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$9.java new file mode 100755 index 00000000000..389bccfec17 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper$9.java @@ -0,0 +1,19 @@ +package com.tencent.mm.sdk.storage; + +import android.database.Cursor; +import java.lang.reflect.Field; + +final class CursorFieldHelper$9 + implements CursorFieldHelper.ISetMethod +{ + public final void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + CursorFieldHelper.keep_setFloat(paramField, paramObject, paramCursor, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper.9 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper.java new file mode 100755 index 00000000000..74eff6e049d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/CursorFieldHelper.java @@ -0,0 +1,374 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +class CursorFieldHelper +{ + private static final Map, ISetMethod> bP = new HashMap(); + private static final Map, IGetMethod> bQ = new HashMap(); + private static final Map, String> bR = new HashMap(); + + static + { + try + { + bP.put([B.class, new CursorFieldHelper.1()); + bP.put(Short.TYPE, new CursorFieldHelper.2()); + bP.put(Short.class, new CursorFieldHelper.3()); + bP.put(Boolean.TYPE, new CursorFieldHelper.4()); + bP.put(Boolean.class, new CursorFieldHelper.5()); + bP.put(Integer.TYPE, new CursorFieldHelper.6()); + bP.put(Integer.class, new CursorFieldHelper.7()); + bP.put(Float.TYPE, new CursorFieldHelper.8()); + bP.put(Float.class, new CursorFieldHelper.9()); + bP.put(Double.TYPE, new CursorFieldHelper.10()); + bP.put(Double.class, new CursorFieldHelper.11()); + bP.put(Long.TYPE, new CursorFieldHelper.12()); + bP.put(Long.class, new CursorFieldHelper.13()); + bP.put(String.class, new CursorFieldHelper.14()); + bQ.put([B.class, new CursorFieldHelper.15()); + bQ.put(Short.TYPE, new CursorFieldHelper.16()); + bQ.put(Short.class, new CursorFieldHelper.17()); + bQ.put(Boolean.TYPE, new CursorFieldHelper.18()); + bQ.put(Boolean.class, new CursorFieldHelper.19()); + bQ.put(Integer.TYPE, new CursorFieldHelper.20()); + bQ.put(Integer.class, new CursorFieldHelper.21()); + bQ.put(Float.TYPE, new CursorFieldHelper.22()); + bQ.put(Float.class, new CursorFieldHelper.23()); + bQ.put(Double.TYPE, new CursorFieldHelper.24()); + bQ.put(Double.class, new CursorFieldHelper.25()); + bQ.put(Long.TYPE, new CursorFieldHelper.26()); + bQ.put(Long.class, new CursorFieldHelper.27()); + bQ.put(String.class, new CursorFieldHelper.28()); + bR.put([B.class, "BLOB"); + bR.put(Short.TYPE, "SHORT"); + bR.put(Short.class, "SHORT"); + bR.put(Boolean.TYPE, "INTEGER"); + bR.put(Boolean.class, "INTEGER"); + bR.put(Integer.TYPE, "INTEGER"); + bR.put(Integer.class, "INTEGER"); + bR.put(Float.TYPE, "FLOAT"); + bR.put(Float.class, "FLOAT"); + bR.put(Double.TYPE, "DOUBLE"); + bR.put(Double.class, "DOUBLE"); + bR.put(Long.TYPE, "LONG"); + bR.put(Long.class, "LONG"); + bR.put(String.class, "TEXT"); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + + public static IGetMethod getter(Class paramClass) + { + return (IGetMethod)bQ.get(paramClass); + } + + public static void keep_getBlob(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (byte[])paramField.get(paramObject)); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getBoolean(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + String str = MAutoDBItem.getColName(paramField); + if (paramField.getBoolean(paramObject)) {} + for (int i = 1;; i = 0) + { + paramContentValues.put(str, Integer.valueOf(i)); + return; + } + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getDouble(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + if (!paramField.getType().equals(Double.TYPE)) + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (Double)paramField.get(paramObject)); + return; + } + paramContentValues.put(MAutoDBItem.getColName(paramField), Double.valueOf(paramField.getDouble(paramObject))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getFloat(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + if (!paramField.getType().equals(Float.TYPE)) + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (Float)paramField.get(paramObject)); + return; + } + paramContentValues.put(MAutoDBItem.getColName(paramField), Float.valueOf(paramField.getFloat(paramObject))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getInt(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + if (!paramField.getType().equals(Integer.TYPE)) + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (Integer)paramField.get(paramObject)); + return; + } + paramContentValues.put(MAutoDBItem.getColName(paramField), Integer.valueOf(paramField.getInt(paramObject))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getLong(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + if (!paramField.getType().equals(Long.TYPE)) + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (Long)paramField.get(paramObject)); + return; + } + paramContentValues.put(MAutoDBItem.getColName(paramField), Long.valueOf(paramField.getLong(paramObject))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getShort(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + paramContentValues.put(MAutoDBItem.getColName(paramField), Short.valueOf(paramField.getShort(paramObject))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_getString(Field paramField, Object paramObject, ContentValues paramContentValues) + { + try + { + paramContentValues.put(MAutoDBItem.getColName(paramField), (String)paramField.get(paramObject)); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setBlob(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + paramField.set(paramObject, paramCursor.getBlob(paramInt)); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setBoolean(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + for (;;) + { + try + { + if (paramField.getType().equals(Boolean.TYPE)) + { + if (paramCursor.getInt(paramInt) != 0) + { + bool = true; + paramField.setBoolean(paramObject, bool); + } + } + else + { + paramField.set(paramObject, Integer.valueOf(paramCursor.getInt(paramInt))); + return; + } + } + catch (Exception paramField) + { + paramField.printStackTrace(); + return; + } + boolean bool = false; + } + } + + public static void keep_setDouble(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + if (paramField.getType().equals(Double.TYPE)) + { + paramField.setDouble(paramObject, paramCursor.getDouble(paramInt)); + return; + } + paramField.set(paramObject, Double.valueOf(paramCursor.getDouble(paramInt))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setFloat(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + if (paramField.getType().equals(Float.TYPE)) + { + paramField.setFloat(paramObject, paramCursor.getFloat(paramInt)); + return; + } + paramField.set(paramObject, Float.valueOf(paramCursor.getFloat(paramInt))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setInt(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + if (paramField.getType().equals(Integer.TYPE)) + { + paramField.setInt(paramObject, paramCursor.getInt(paramInt)); + return; + } + paramField.set(paramObject, Integer.valueOf(paramCursor.getInt(paramInt))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setLong(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + if (paramField.getType().equals(Long.TYPE)) + { + paramField.setLong(paramObject, paramCursor.getLong(paramInt)); + return; + } + paramField.set(paramObject, Long.valueOf(paramCursor.getLong(paramInt))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setShort(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + if (paramField.getType().equals(Short.TYPE)) + { + paramField.setShort(paramObject, paramCursor.getShort(paramInt)); + return; + } + paramField.set(paramObject, Short.valueOf(paramCursor.getShort(paramInt))); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static void keep_setString(Field paramField, Object paramObject, Cursor paramCursor, int paramInt) + { + try + { + paramField.set(paramObject, paramCursor.getString(paramInt)); + return; + } + catch (Exception paramField) + { + paramField.printStackTrace(); + } + } + + public static ISetMethod setter(Class paramClass) + { + return (ISetMethod)bP.get(paramClass); + } + + public static String type(Class paramClass) + { + return (String)bR.get(paramClass); + } + + public static abstract interface IGetMethod + { + public abstract void invoke(Field paramField, Object paramObject, ContentValues paramContentValues); + } + + public static abstract interface ISetMethod + { + public abstract void invoke(Field paramField, Object paramObject, Cursor paramCursor, int paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.CursorFieldHelper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/IAutoDBItem.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/IAutoDBItem.java new file mode 100755 index 00000000000..2d6f55e4bb6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/IAutoDBItem.java @@ -0,0 +1,339 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; +import android.database.MatrixCursor; +import com.tencent.mm.sdk.platformtools.Log; +import com.tencent.mm.sdk.platformtools.Util; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import junit.framework.Assert; + +public abstract class IAutoDBItem + implements MDBItem +{ + public static final String COL_ROWID = "rowid"; + public static final String FIELD_PREFIX = "field_"; + public static final String SYSTEM_ROWID_FIELD = "rowid"; + public long systemRowid = -1L; + + private static String[] a(Field[] paramArrayOfField) + { + String[] arrayOfString = new String[paramArrayOfField.length + 1]; + int i = 0; + if (i < paramArrayOfField.length) + { + arrayOfString[i] = getColName(paramArrayOfField[i]); + String str = "getFullColumns failed:" + paramArrayOfField[i].getName(); + if (!Util.isNullOrNil(arrayOfString[i])) {} + for (boolean bool = true;; bool = false) + { + Assert.assertTrue(str, bool); + i += 1; + break; + } + } + arrayOfString[paramArrayOfField.length] = "rowid"; + return arrayOfString; + } + + private static Map b(Field[] paramArrayOfField) + { + HashMap localHashMap = new HashMap(); + int i = 0; + if (i < paramArrayOfField.length) + { + Object localObject = paramArrayOfField[i]; + String str = CursorFieldHelper.type(((Field)localObject).getType()); + if (str == null) { + Log.e("MicroMsg.SDK.IAutoDBItem", "failed identify on column: " + ((Field)localObject).getName() + ", skipped"); + } + for (;;) + { + i += 1; + break; + localObject = getColName((Field)localObject); + if (!Util.isNullOrNil((String)localObject)) { + localHashMap.put(localObject, str); + } + } + } + return localHashMap; + } + + private static String c(Field[] paramArrayOfField) + { + StringBuilder localStringBuilder = new StringBuilder(); + int i = 0; + Field localField; + Object localObject; + String str2; + String str1; + if (i < paramArrayOfField.length) + { + localField = paramArrayOfField[i]; + localObject = CursorFieldHelper.type(localField.getType()); + if (localObject == null) { + Log.e("MicroMsg.SDK.IAutoDBItem", "failed identify on column: " + localField.getName() + ", skipped"); + } + do + { + i += 1; + break; + str2 = getColName(localField); + } while (Util.isNullOrNil(str2)); + if (!localField.isAnnotationPresent(MAutoDBFieldAnnotation.class)) { + break label241; + } + str1 = " default '" + ((MAutoDBFieldAnnotation)localField.getAnnotation(MAutoDBFieldAnnotation.class)).defValue() + "' "; + } + for (int j = ((MAutoDBFieldAnnotation)localField.getAnnotation(MAutoDBFieldAnnotation.class)).primaryKey();; j = 0) + { + localObject = new StringBuilder().append(str2).append(" ").append((String)localObject).append(str1); + if (j == 1) + { + str1 = " PRIMARY KEY "; + label187: + localStringBuilder.append(str1); + if (i != paramArrayOfField.length - 1) { + break label229; + } + } + label229: + for (str1 = "";; str1 = ", ") + { + localStringBuilder.append(str1); + break; + str1 = ""; + break label187; + } + return localStringBuilder.toString(); + label241: + str1 = ""; + } + } + + public static boolean checkIOEqual(ContentValues paramContentValues, Cursor paramCursor) + { + if (paramContentValues == null) { + return paramCursor == null; + } + if ((paramCursor == null) || (paramCursor.getCount() != 1)) { + return false; + } + paramCursor.moveToFirst(); + int k = paramCursor.getColumnCount(); + int j = paramContentValues.size(); + int i = j; + if (paramContentValues.containsKey("rowid")) { + i = j - 1; + } + j = k; + if (paramCursor.getColumnIndex("rowid") != -1) { + j = k - 1; + } + if (i != j) { + return false; + } + label216: + label346: + label353: + label356: + for (;;) + { + Object localObject; + byte[] arrayOfByte; + try + { + Iterator localIterator = paramContentValues.valueSet().iterator(); + if (localIterator.hasNext()) + { + localObject = (String)((Map.Entry)localIterator.next()).getKey(); + if (((String)localObject).equals("rowid")) { + continue; + } + i = paramCursor.getColumnIndex((String)localObject); + if (i == -1) { + return false; + } + if ((paramContentValues.get((String)localObject) instanceof byte[])) + { + localObject = (byte[])paramContentValues.get((String)localObject); + arrayOfByte = paramCursor.getBlob(i); + if (localObject != null) { + break label308; + } + if (arrayOfByte == null) { + break label353; + } + break label308; + if (localObject.length == arrayOfByte.length) { + break label341; + } + i = 0; + break label320; + if (i >= localObject.length) { + break label353; + } + if (localObject[i] == arrayOfByte[i]) { + break label346; + } + i = 0; + break label320; + } + if ((paramCursor.getString(i) == null) && (paramContentValues.get((String)localObject) != null)) { + return false; + } + if (paramContentValues.get((String)localObject) == null) { + return false; + } + boolean bool = paramContentValues.get((String)localObject).toString().equals(paramCursor.getString(i)); + if (bool) { + continue; + } + return false; + } + } + catch (Exception paramContentValues) + { + paramContentValues.printStackTrace(); + return false; + } + return true; + if ((localObject == null) && (arrayOfByte != null)) { + i = 0; + } + for (;;) + { + if (i != 0) { + break label356; + } + return false; + if ((localObject == null) || (arrayOfByte != null)) { + break; + } + i = 0; + continue; + i = 0; + break label216; + i += 1; + break label216; + i = 1; + } + } + } + + public static String getColName(Field paramField) + { + if (paramField == null) {} + do + { + return null; + paramField = paramField.getName(); + } while ((paramField == null) || (paramField.length() <= 0)); + if (paramField.startsWith("field_")) { + return paramField.substring(6); + } + return paramField; + } + + public static Cursor getCursorForProjection(ContentValues paramContentValues, String[] paramArrayOfString) + { + Object[] arrayOfObject = new Object[paramArrayOfString.length]; + int i = 0; + while (i < arrayOfObject.length) + { + arrayOfObject[i] = paramContentValues.get(paramArrayOfString[i]); + i += 1; + } + paramContentValues = new MatrixCursor(paramArrayOfString); + paramContentValues.addRow(arrayOfObject); + return paramContentValues; + } + + public static Field[] getValidFields(Class paramClass) + { + return initAutoDBInfo(paramClass).fields; + } + + public static MAutoDBInfo initAutoDBInfo(Class paramClass) + { + MAutoDBInfo localMAutoDBInfo = new MAutoDBInfo(); + LinkedList localLinkedList = new LinkedList(); + Field[] arrayOfField = paramClass.getDeclaredFields(); + int j = arrayOfField.length; + int i = 0; + if (i < j) + { + Field localField = arrayOfField[i]; + int k = localField.getModifiers(); + String str = localField.getName(); + if ((str != null) && (Modifier.isPublic(k)) && (!Modifier.isFinal(k))) + { + if (!str.startsWith("field_")) { + break label166; + } + paramClass = str.substring(6); + label91: + if (!localField.isAnnotationPresent(MAutoDBFieldAnnotation.class)) { + break label172; + } + if (((MAutoDBFieldAnnotation)localField.getAnnotation(MAutoDBFieldAnnotation.class)).primaryKey() == 1) { + localMAutoDBInfo.primaryKey = paramClass; + } + } + for (;;) + { + if (!Util.isNullOrNil(paramClass)) + { + if (paramClass.equals("rowid")) { + Assert.assertTrue("field_rowid reserved by MAutoDBItem, change now!", false); + } + localLinkedList.add(localField); + } + label166: + label172: + do + { + i += 1; + break; + paramClass = str; + break label91; + } while (!str.startsWith("field_")); + } + } + localMAutoDBInfo.fields = ((Field[])localLinkedList.toArray(new Field[0])); + localMAutoDBInfo.columns = a(localMAutoDBInfo.fields); + localMAutoDBInfo.colsMap = b(localMAutoDBInfo.fields); + localMAutoDBInfo.sql = c(localMAutoDBInfo.fields); + return localMAutoDBInfo; + } + + public abstract void convertFrom(Cursor paramCursor); + + public abstract ContentValues convertTo(); + + protected abstract MAutoDBInfo getDBInfo(); + + public static class MAutoDBInfo + { + public Map colsMap = new HashMap(); + public String[] columns; + public Field[] fields; + public String primaryKey; + public String sql; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.IAutoDBItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ISQLiteDatabase.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ISQLiteDatabase.java new file mode 100755 index 00000000000..21329cae0e2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/ISQLiteDatabase.java @@ -0,0 +1,27 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; + +public abstract interface ISQLiteDatabase +{ + public abstract int delete(String paramString1, String paramString2, String[] paramArrayOfString); + + public abstract boolean execSQL(String paramString1, String paramString2); + + public abstract long insert(String paramString1, String paramString2, ContentValues paramContentValues); + + public abstract Cursor query(String paramString1, String[] paramArrayOfString1, String paramString2, String[] paramArrayOfString2, String paramString3, String paramString4, String paramString5); + + public abstract Cursor rawQuery(String paramString, String[] paramArrayOfString); + + public abstract long replace(String paramString1, String paramString2, ContentValues paramContentValues); + + public abstract int update(String paramString1, ContentValues paramContentValues, String paramString2, String[] paramArrayOfString); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.ISQLiteDatabase + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBFieldAnnotation.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBFieldAnnotation.java new file mode 100755 index 00000000000..10550d99ed1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBFieldAnnotation.java @@ -0,0 +1,16 @@ +package com.tencent.mm.sdk.storage; + +import java.lang.annotation.Annotation; + +public @interface MAutoDBFieldAnnotation +{ + String defValue(); + + int primaryKey(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MAutoDBFieldAnnotation + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBItem.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBItem.java new file mode 100755 index 00000000000..88d6648cc29 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoDBItem.java @@ -0,0 +1,100 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; +import com.tencent.mm.sdk.platformtools.Log; +import com.tencent.mm.sdk.platformtools.Util; +import java.lang.reflect.Field; +import java.util.HashMap; + +public abstract class MAutoDBItem + extends IAutoDBItem +{ + public void convertFrom(Cursor paramCursor) + { + int j = 0; + Object localObject = paramCursor.getColumnNames(); + if (localObject == null) { + Log.e("MicroMsg.SDK.MAutoDBItem", "convertFrom: get column names failed"); + } + int i; + do + { + return; + HashMap localHashMap = new HashMap(); + i = 0; + while (i < localObject.length) + { + localHashMap.put(localObject[i], Integer.valueOf(i)); + i += 1; + } + localObject = getDBInfo().fields; + int k = localObject.length; + i = j; + for (;;) + { + if (i < k) + { + Field localField = localObject[i]; + String str = getColName(localField); + if (!Util.isNullOrNil(str)) + { + j = Util.nullAs((Integer)localHashMap.get(str), -1); + if (j < 0) {} + } + try + { + CursorFieldHelper.setter(localField.getType()).invoke(localField, this, paramCursor, j); + i += 1; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + } + i = Util.nullAs((Integer)localHashMap.get("rowid"), -1); + } while (i < 0); + this.systemRowid = paramCursor.getLong(i); + } + + public ContentValues convertTo() + { + ContentValues localContentValues = new ContentValues(); + Field[] arrayOfField = getDBInfo().fields; + int j = arrayOfField.length; + int i = 0; + for (;;) + { + if (i < j) + { + Field localField = arrayOfField[i]; + try + { + CursorFieldHelper.getter(localField.getType()).invoke(localField, this, localContentValues); + i += 1; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + } + if (this.systemRowid > 0L) { + localContentValues.put("rowid", Long.valueOf(this.systemRowid)); + } + return localContentValues; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MAutoDBItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoStorage.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoStorage.java new file mode 100755 index 00000000000..8c8143556d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MAutoStorage.java @@ -0,0 +1,424 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; +import com.tencent.mm.sdk.platformtools.Log; +import com.tencent.mm.sdk.platformtools.Util; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import junit.framework.Assert; + +public abstract class MAutoStorage + extends MStorage +{ + private final ISQLiteDatabase bS; + private final IAutoDBItem.MAutoDBInfo bT; + private final String bU; + + public MAutoStorage(ISQLiteDatabase paramISQLiteDatabase, IAutoDBItem.MAutoDBInfo paramMAutoDBInfo, String paramString, String[] paramArrayOfString) + { + this.bS = paramISQLiteDatabase; + this.bT = paramMAutoDBInfo; + paramMAutoDBInfo = this.bT; + if (Util.isNullOrNil(this.bT.primaryKey)) {} + int i; + for (paramISQLiteDatabase = "rowid";; paramISQLiteDatabase = this.bT.primaryKey) + { + paramMAutoDBInfo.primaryKey = paramISQLiteDatabase; + this.bU = paramString; + paramISQLiteDatabase = getUpdateSQLs(this.bT, getTableName(), this.bS); + i = 0; + while (i < paramISQLiteDatabase.size()) + { + this.bS.execSQL(this.bU, (String)paramISQLiteDatabase.get(i)); + i += 1; + } + } + if ((paramArrayOfString != null) && (paramArrayOfString.length > 0)) + { + i = j; + while (i < paramArrayOfString.length) + { + this.bS.execSQL(this.bU, paramArrayOfString[i]); + i += 1; + } + } + } + + private static StringBuilder a(ContentValues paramContentValues, String... paramVarArgs) + { + StringBuilder localStringBuilder = new StringBuilder(); + int j = paramVarArgs.length; + int i = 0; + while (i < j) + { + String str = paramVarArgs[i]; + localStringBuilder.append(str + " = ? AND "); + if (paramContentValues.get(str) == null) { + return null; + } + i += 1; + } + localStringBuilder.append(" 1=1"); + return localStringBuilder; + } + + private boolean a(ContentValues paramContentValues) + { + Cursor localCursor = this.bS.query(getTableName(), this.bT.columns, this.bT.primaryKey + " = ?", new String[] { Util.nullAsNil(paramContentValues.getAsString(this.bT.primaryKey)) }, null, null, null); + boolean bool = IAutoDBItem.checkIOEqual(paramContentValues, localCursor); + localCursor.close(); + return bool; + } + + private static String[] a(String[] paramArrayOfString, ContentValues paramContentValues) + { + String[] arrayOfString = new String[paramArrayOfString.length]; + int i = 0; + while (i < arrayOfString.length) + { + arrayOfString[i] = Util.nullAsNil(paramContentValues.getAsString(paramArrayOfString[i])); + i += 1; + } + return arrayOfString; + } + + private void f(String paramString) + { + Log.d("MicroMsg.SDK.MAutoStorage", getTableName() + ":" + paramString); + } + + private void g(String paramString) + { + Log.e("MicroMsg.SDK.MAutoStorage", getTableName() + ":" + paramString); + } + + public static String getCreateSQLs(IAutoDBItem.MAutoDBInfo paramMAutoDBInfo, String paramString) + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("CREATE TABLE IF NOT EXISTS " + paramString + " ( "); + localStringBuilder.append(paramMAutoDBInfo.sql); + localStringBuilder.append(");"); + return localStringBuilder.toString(); + } + + public static List getUpdateSQLs(IAutoDBItem.MAutoDBInfo paramMAutoDBInfo, String paramString, ISQLiteDatabase paramISQLiteDatabase) + { + LinkedList localLinkedList = new LinkedList(); + HashMap localHashMap = new HashMap(); + paramISQLiteDatabase = paramISQLiteDatabase.rawQuery("PRAGMA table_info( " + paramString + " )", new String[0]); + if (paramISQLiteDatabase == null) { + return localLinkedList; + } + while (paramISQLiteDatabase.moveToNext()) { + localHashMap.put(paramISQLiteDatabase.getString(paramISQLiteDatabase.getColumnIndex("name")), paramISQLiteDatabase.getString(paramISQLiteDatabase.getColumnIndex("type"))); + } + paramISQLiteDatabase.close(); + paramMAutoDBInfo = paramMAutoDBInfo.colsMap.entrySet().iterator(); + while (paramMAutoDBInfo.hasNext()) + { + Object localObject = (Map.Entry)paramMAutoDBInfo.next(); + paramISQLiteDatabase = (String)((Map.Entry)localObject).getValue(); + localObject = (String)((Map.Entry)localObject).getKey(); + if ((paramISQLiteDatabase != null) && (paramISQLiteDatabase.length() > 0)) + { + String str = (String)localHashMap.get(localObject); + if (str == null) + { + localLinkedList.add("ALTER TABLE " + paramString + " ADD COLUMN " + (String)localObject + " " + paramISQLiteDatabase + ";"); + localHashMap.remove(localObject); + } + else if (!str.equalsIgnoreCase(paramISQLiteDatabase)) + { + Log.e("MicroMsg.SDK.MAutoStorage", "conflicting alter table on column: " + (String)localObject + ", " + str + "" + paramISQLiteDatabase); + localHashMap.remove(localObject); + } + } + } + return localLinkedList; + } + + public boolean delete(long paramLong) + { + boolean bool = true; + if (this.bS.delete(getTableName(), "rowid = ?", new String[] { String.valueOf(paramLong) }) > 0) {} + for (;;) + { + if (bool) { + notify(); + } + return bool; + bool = false; + } + } + + public boolean delete(T paramT, String... paramVarArgs) + { + boolean bool1 = false; + boolean bool2 = false; + paramT = paramT.convertTo(); + if ((paramT == null) || (paramT.size() <= 0)) { + g("delete failed, value.size <= 0"); + } + do + { + return bool2; + if ((paramVarArgs != null) && (paramVarArgs.length > 0)) { + break; + } + f("delete with primary key"); + if (this.bS.delete(getTableName(), this.bT.primaryKey + " = ?", new String[] { Util.nullAsNil(paramT.getAsString(this.bT.primaryKey)) }) > 0) { + bool1 = true; + } + bool2 = bool1; + } while (!bool1); + doNotify(); + return bool1; + StringBuilder localStringBuilder = a(paramT, paramVarArgs); + if (localStringBuilder == null) + { + g("delete failed, check keys failed"); + return false; + } + if (this.bS.delete(getTableName(), localStringBuilder.toString(), a(paramVarArgs, paramT)) > 0) + { + doNotify(this.bT.primaryKey); + return true; + } + g("delete failed"); + return false; + } + + public boolean get(long paramLong, T paramT) + { + Cursor localCursor = this.bS.query(getTableName(), this.bT.columns, "rowid = ?", new String[] { String.valueOf(paramLong) }, null, null, null); + if (localCursor.moveToFirst()) + { + paramT.convertFrom(localCursor); + localCursor.close(); + return true; + } + localCursor.close(); + return false; + } + + public boolean get(T paramT, String... paramVarArgs) + { + ContentValues localContentValues = paramT.convertTo(); + if ((localContentValues == null) || (localContentValues.size() <= 0)) + { + g("get failed, value.size <= 0"); + return false; + } + if ((paramVarArgs == null) || (paramVarArgs.length <= 0)) + { + f("get with primary key"); + paramVarArgs = this.bS.query(getTableName(), this.bT.columns, this.bT.primaryKey + " = ?", new String[] { Util.nullAsNil(localContentValues.getAsString(this.bT.primaryKey)) }, null, null, null); + if (paramVarArgs.moveToFirst()) + { + paramT.convertFrom(paramVarArgs); + paramVarArgs.close(); + return true; + } + paramVarArgs.close(); + return false; + } + StringBuilder localStringBuilder = a(localContentValues, paramVarArgs); + if (localStringBuilder == null) + { + g("get failed, check keys failed"); + return false; + } + paramVarArgs = this.bS.query(getTableName(), this.bT.columns, localStringBuilder.toString(), a(paramVarArgs, localContentValues), null, null, null); + if (paramVarArgs.moveToFirst()) + { + paramT.convertFrom(paramVarArgs); + paramVarArgs.close(); + return true; + } + paramVarArgs.close(); + f("get failed, not found"); + return false; + } + + public Cursor getAll() + { + return this.bS.query(getTableName(), this.bT.columns, null, null, null, null, null); + } + + public int getCount() + { + int i = 0; + Cursor localCursor = rawQuery("select count(*) from " + getTableName(), new String[0]); + if (localCursor != null) + { + localCursor.moveToFirst(); + i = localCursor.getInt(0); + localCursor.close(); + } + return i; + } + + public String getPrimaryKey() + { + return this.bT.primaryKey; + } + + public String getTableName() + { + return this.bU; + } + + public boolean insert(T paramT) + { + ContentValues localContentValues = paramT.convertTo(); + if ((localContentValues == null) || (localContentValues.size() <= 0)) + { + g("insert failed, value.size <= 0"); + return false; + } + paramT.systemRowid = this.bS.insert(getTableName(), this.bT.primaryKey, localContentValues); + if (paramT.systemRowid <= 0L) + { + g("insert failed"); + return false; + } + localContentValues.put("rowid", Long.valueOf(paramT.systemRowid)); + doNotify(localContentValues.getAsString(this.bT.primaryKey)); + return true; + } + + public Cursor rawQuery(String paramString, String... paramVarArgs) + { + return this.bS.rawQuery(paramString, paramVarArgs); + } + + public boolean replace(T paramT) + { + boolean bool; + ContentValues localContentValues; + int j; + int k; + if (!Util.isNullOrNil(this.bT.primaryKey)) + { + bool = true; + Assert.assertTrue("replace primaryKey == null", bool); + localContentValues = paramT.convertTo(); + if (localContentValues != null) + { + j = localContentValues.size(); + k = paramT.getDBInfo().fields.length; + if (!localContentValues.containsKey("rowid")) { + break label86; + } + } + } + label86: + for (int i = 1;; i = 0) + { + if (j == i + k) { + break label91; + } + g("replace failed, cv.size() != item.fields().length"); + return false; + bool = false; + break; + } + label91: + if (a(localContentValues)) + { + f("no need replace , fields no change"); + return true; + } + if (this.bS.replace(getTableName(), this.bT.primaryKey, localContentValues) > 0L) + { + doNotify(this.bT.primaryKey); + return true; + } + g("replace failed"); + return false; + } + + public boolean update(long paramLong, T paramT) + { + paramT = paramT.convertTo(); + boolean bool2; + if ((paramT == null) || (paramT.size() <= 0)) + { + g("update failed, value.size <= 0"); + bool2 = false; + return bool2; + } + Cursor localCursor = this.bS.query(getTableName(), this.bT.columns, "rowid = ?", new String[] { String.valueOf(paramLong) }, null, null, null); + if (IAutoDBItem.checkIOEqual(paramT, localCursor)) + { + localCursor.close(); + f("no need replace , fields no change"); + return true; + } + localCursor.close(); + if (this.bS.update(getTableName(), paramT, "rowid = ?", new String[] { String.valueOf(paramLong) }) > 0) {} + for (boolean bool1 = true;; bool1 = false) + { + bool2 = bool1; + if (!bool1) { + break; + } + doNotify(); + return bool1; + } + } + + public boolean update(T paramT, String... paramVarArgs) + { + boolean bool1 = false; + boolean bool2 = false; + paramT = paramT.convertTo(); + if ((paramT == null) || (paramT.size() <= 0)) { + g("update failed, value.size <= 0"); + } + do + { + return bool2; + if ((paramVarArgs != null) && (paramVarArgs.length > 0)) { + break; + } + f("update with primary key"); + if (a(paramT)) + { + f("no need replace , fields no change"); + return true; + } + if (this.bS.update(getTableName(), paramT, this.bT.primaryKey + " = ?", new String[] { Util.nullAsNil(paramT.getAsString(this.bT.primaryKey)) }) > 0) { + bool1 = true; + } + bool2 = bool1; + } while (!bool1); + doNotify(); + return bool1; + StringBuilder localStringBuilder = a(paramT, paramVarArgs); + if (localStringBuilder == null) + { + g("update failed, check keys failed"); + return false; + } + if (this.bS.update(getTableName(), paramT, localStringBuilder.toString(), a(paramVarArgs, paramT)) > 0) + { + doNotify(this.bT.primaryKey); + return true; + } + g("update failed"); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MAutoStorage + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MDBItem.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MDBItem.java new file mode 100755 index 00000000000..fe04ba3ba61 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MDBItem.java @@ -0,0 +1,17 @@ +package com.tencent.mm.sdk.storage; + +import android.content.ContentValues; +import android.database.Cursor; + +public abstract interface MDBItem +{ + public abstract void convertFrom(Cursor paramCursor); + + public abstract ContentValues convertTo(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MDBItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$1.java new file mode 100755 index 00000000000..eae1d675a4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$1.java @@ -0,0 +1,13 @@ +package com.tencent.mm.sdk.storage; + +class MStorage$1 + extends MStorageEvent +{ + MStorage$1(MStorage paramMStorage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MStorage.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$2.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$2.java new file mode 100755 index 00000000000..edb999f15a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage$2.java @@ -0,0 +1,13 @@ +package com.tencent.mm.sdk.storage; + +class MStorage$2 + extends MStorageEvent +{ + MStorage$2(MStorage paramMStorage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MStorage.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage.java new file mode 100755 index 00000000000..1a62c44bf9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorage.java @@ -0,0 +1,67 @@ +package com.tencent.mm.sdk.storage; + +import android.os.Looper; + +public abstract class MStorage +{ + private final MStorageEvent bV = new MStorage.1(this); + private final MStorageEvent bW = new MStorage.2(this); + + public void add(IOnStorageChange paramIOnStorageChange) + { + this.bV.add(paramIOnStorageChange, Looper.getMainLooper()); + } + + public void addLoadedListener(IOnStorageLoaded paramIOnStorageLoaded) + { + this.bW.add(paramIOnStorageLoaded, Looper.getMainLooper()); + } + + public void doNotify() + { + this.bV.event("*"); + this.bV.doNotify(); + } + + public void doNotify(String paramString) + { + this.bV.event(paramString); + this.bV.doNotify(); + } + + public void lock() + { + this.bV.lock(); + } + + public void remove(IOnStorageChange paramIOnStorageChange) + { + this.bV.remove(paramIOnStorageChange); + } + + public void removeLoadedListener(IOnStorageLoaded paramIOnStorageLoaded) + { + this.bW.remove(paramIOnStorageLoaded); + } + + public void unlock() + { + this.bV.unlock(); + } + + public static abstract interface IOnStorageChange + { + public abstract void onNotifyChange(String paramString); + } + + public static abstract interface IOnStorageLoaded + { + public abstract void onNotifyLoaded(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MStorage + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent$1.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent$1.java new file mode 100755 index 00000000000..d43bc09adc3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent$1.java @@ -0,0 +1,18 @@ +package com.tencent.mm.sdk.storage; + +class MStorageEvent$1 + implements Runnable +{ + MStorageEvent$1(MStorageEvent paramMStorageEvent, Object paramObject1, Object paramObject2) {} + + public void run() + { + this.cd.processEvent(this.cb, this.cc); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MStorageEvent.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent.java new file mode 100755 index 00000000000..6b0d07b8fc8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/MStorageEvent.java @@ -0,0 +1,187 @@ +package com.tencent.mm.sdk.storage; + +import android.os.Handler; +import android.os.Looper; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.Vector; +import java.util.concurrent.CopyOnWriteArraySet; + +public abstract class MStorageEvent +{ + private int bY = 0; + private final Hashtable bZ = new Hashtable(); + private final CopyOnWriteArraySet ca = new CopyOnWriteArraySet(); + + private Vector e() + { + try + { + Vector localVector = new Vector(); + localVector.addAll(this.bZ.keySet()); + return localVector; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void f() + { + Object localObject1 = e(); + if ((localObject1 == null) || (((Vector)localObject1).size() <= 0)) { + return; + } + HashMap localHashMap = new HashMap(); + Iterator localIterator1 = ((Vector)localObject1).iterator(); + while (localIterator1.hasNext()) + { + Object localObject2 = localIterator1.next(); + Object localObject3 = this.bZ.get(localObject2); + Iterator localIterator2 = this.ca.iterator(); + while (localIterator2.hasNext()) + { + Object localObject4 = localIterator2.next(); + if ((localObject4 != null) && (localObject3 != null)) { + if ((localObject3 instanceof Looper)) + { + Looper localLooper = (Looper)localObject3; + Handler localHandler = (Handler)localHashMap.get(localLooper); + localObject1 = localHandler; + if (localHandler == null) + { + localObject1 = new Handler(localLooper); + localHashMap.put(localLooper, localObject1); + } + ((Handler)localObject1).post(new MStorageEvent.1(this, localObject2, localObject4)); + } + else + { + processEvent(localObject2, localObject4); + } + } + } + } + this.ca.clear(); + } + + /* Error */ + public void add(T paramT, Looper paramLooper) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 24 com/tencent/mm/sdk/storage/MStorageEvent:bZ Ljava/util/Hashtable; + // 6: aload_1 + // 7: invokevirtual 110 java/util/Hashtable:containsKey (Ljava/lang/Object;)Z + // 10: ifne +17 -> 27 + // 13: aload_2 + // 14: ifnull +16 -> 30 + // 17: aload_0 + // 18: getfield 24 com/tencent/mm/sdk/storage/MStorageEvent:bZ Ljava/util/Hashtable; + // 21: aload_1 + // 22: aload_2 + // 23: invokevirtual 111 java/util/Hashtable:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 26: pop + // 27: aload_0 + // 28: monitorexit + // 29: return + // 30: aload_0 + // 31: getfield 24 com/tencent/mm/sdk/storage/MStorageEvent:bZ Ljava/util/Hashtable; + // 34: aload_1 + // 35: new 5 java/lang/Object + // 38: dup + // 39: invokespecial 17 java/lang/Object: ()V + // 42: invokevirtual 111 java/util/Hashtable:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 45: pop + // 46: goto -19 -> 27 + // 49: astore_1 + // 50: aload_0 + // 51: monitorexit + // 52: aload_1 + // 53: athrow + // Local variable table: + // start length slot name signature + // 0 54 0 this MStorageEvent + // 0 54 1 paramT T + // 0 54 2 paramLooper Looper + // Exception table: + // from to target type + // 2 13 49 finally + // 17 27 49 finally + // 30 46 49 finally + } + + public void doNotify() + { + if (!isLocked()) { + f(); + } + } + + public boolean event(E paramE) + { + return this.ca.add(paramE); + } + + public boolean isLocked() + { + return this.bY > 0; + } + + public void lock() + { + this.bY += 1; + } + + protected abstract void processEvent(T paramT, E paramE); + + public void remove(T paramT) + { + try + { + this.bZ.remove(paramT); + return; + } + finally + { + paramT = finally; + throw paramT; + } + } + + public void removeAll() + { + try + { + this.bZ.clear(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void unlock() + { + this.bY -= 1; + if (this.bY <= 0) + { + this.bY = 0; + f(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.MStorageEvent + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/package-info.java b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/package-info.java new file mode 100755 index 00000000000..53228c16c38 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/mm/sdk/storage/package-info.java @@ -0,0 +1,9 @@ +package com.tencent.mm.sdk.storage; + +interface package-info {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.mm.sdk.storage.package-info + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative$QbarArea.java b/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative$QbarArea.java new file mode 100755 index 00000000000..c59465eab4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative$QbarArea.java @@ -0,0 +1,16 @@ +package com.tencent.qbar; + +class QbarNative$QbarArea +{ + public int height = 0; + public int typeID = 0; + public int width = 0; + public int x = 0; + public int y = 0; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbar.QbarNative.QbarArea + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative.java b/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative.java new file mode 100755 index 00000000000..12e5f0d6509 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbar/QbarNative.java @@ -0,0 +1,153 @@ +package com.tencent.qbar; + +import android.graphics.Point; +import java.io.UnsupportedEncodingException; + +public class QbarNative +{ + public static final int ALL_BARCODE = 10; + public static final int AZTEC = 1; + public static final int CODABAR = 2; + public static final int CODE_128 = 5; + public static final int CODE_39 = 3; + public static final int CODE_93 = 4; + public static final int DATA_MATRIX = 6; + public static final int EAN_13 = 8; + public static final int EAN_8 = 7; + public static final int FAST = 0; + public static final int GRAY = 0; + public static final int H = 3; + public static final int ITF = 9; + public static final int L = 0; + public static final int M = 1; + public static final int MAXICODE = 10; + public static final int NORMAL = 1; + public static final int ONED_BARCODE = 0; + public static final int PDF_417 = 11; + public static final int PRODUCT_BARCODE = 3; + public static final int Q = 2; + public static final int QRCODE = 2; + public static final int QR_CODE = 0; + public static final int RGB = 1; + public static final int RGBA = 2; + public static final int RSS_14 = 12; + public static final int RSS_EXPANDED = 13; + public static final int SCAN_FILE = 1; + public static final int SCAN_VIDEO = 0; + public static final int SEARCH_MULTI = 1; + public static final int SEARCH_ONE = 0; + public static final int TRYHARDER = 2; + public static final int TWOD_BARCODE = 1; + public static final int UPC_A = 14; + public static final int UPC_E = 15; + public static final int UPC_EAN_EXTENSION = 16; + public static QbarNative.QbarArea area = new QbarNative.QbarArea(); + public static byte[] charset = new byte[100]; + public static byte[] data; + public static int height; + public static int pointNum; + public static int[] sizeArr = new int[4]; + public static byte[] type; + public static int typeID; + public static int width; + public static int x; + public static int y; + + static + { + System.loadLibrary("stlport_shared"); + System.loadLibrary("QrMod"); + type = new byte[100]; + data = new byte[3000]; + } + + public static native int Encode(byte[] paramArrayOfByte, int[] paramArrayOfInt, String paramString1, int paramInt1, int paramInt2, String paramString2); + + public static int GetOneResult(StringBuilder paramStringBuilder1, StringBuilder paramStringBuilder2) + { + int i = GetOneResult(type, data, charset, sizeArr); + try + { + String str = new String(charset, 0, sizeArr[2], "UTF-8"); + if (str.equals("ANY")) + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], "UTF-8")); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], "UTF-8")); + if (paramStringBuilder2.length() == 0) + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], "ASCII")); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], "ASCII")); + return i; + } + } + else + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], str)); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], str)); + return i; + } + } + catch (UnsupportedEncodingException paramStringBuilder1) + { + paramStringBuilder1.printStackTrace(); + } + return i; + } + + public static int GetOneResult(StringBuilder paramStringBuilder1, StringBuilder paramStringBuilder2, Point[] paramArrayOfPoint) + { + int i = GetResults(type, data, charset, paramArrayOfPoint, sizeArr, area); + typeID = area.typeID; + x = area.x; + y = area.y; + width = area.width; + height = area.height; + pointNum = sizeArr[3]; + try + { + paramArrayOfPoint = new String(charset, 0, sizeArr[2], "UTF-8"); + if (paramArrayOfPoint.equals("ANY")) + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], "UTF-8")); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], "UTF-8")); + if (paramStringBuilder2.length() == 0) + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], "ASCII")); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], "ASCII")); + return i; + } + } + else + { + paramStringBuilder1.append(new String(type, 0, sizeArr[0], paramArrayOfPoint)); + paramStringBuilder2.append(new String(data, 0, sizeArr[1], paramArrayOfPoint)); + return i; + } + } + catch (UnsupportedEncodingException paramStringBuilder1) + { + paramStringBuilder1.printStackTrace(); + } + return i; + } + + private static native int GetOneResult(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int[] paramArrayOfInt); + + private static native int GetResults(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, Point[] paramArrayOfPoint, int[] paramArrayOfInt, QbarNative.QbarArea paramQbarArea); + + public static native String GetVersion(); + + public static native int Init(int paramInt1, int paramInt2, int paramInt3, String paramString1, String paramString2); + + public static native int Release(); + + public static native int ScanImage(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3); + + public static native int SetReaders(int[] paramArrayOfInt, int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbar.QbarNative + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$1.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$1.java new file mode 100755 index 00000000000..ab9cdac6b76 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$1.java @@ -0,0 +1,80 @@ +package com.tencent.qbardemo; + +import android.content.Intent; +import android.graphics.Paint; +import android.hardware.Camera; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.p; +import com.tencent.token.ui.GetOtherBarcodeActivity; + +class MainActivity$1 + extends Handler +{ + MainActivity$1(MainActivity paramMainActivity) {} + + public void handleMessage(Message paramMessage) + { + int i = 0; + switch (paramMessage.what) + { + case 4: + default: + return; + case 1: + switch (paramMessage.arg1) + { + default: + return; + case 0: + MainActivity.access$002(this.this$0, false); + if (MainActivity.access$100(this.this$0) > 0) + { + MainActivity.access$200(this.this$0).getPen().setColor(-65536); + MainActivity.access$200(this.this$0).invalidate(); + } + while (MainActivity.access$300(this.this$0) != null) + { + MainActivity.access$300(this.this$0).setOneShotPreviewCallback(MainActivity.access$400(this.this$0)); + return; + MainActivity.access$108(this.this$0); + MainActivity.access$200(this.this$0).getPen().setColor(-256); + MainActivity.access$200(this.this$0).invalidate(); + } + case 1: + MainActivity.access$102(this.this$0, 0); + MainActivity.access$200(this.this$0).setDrawLineImage(false); + MainActivity.access$200(this.this$0).invalidate(); + this.this$0.showResult(paramMessage.getData()); + return; + } + this.this$0.showResult(paramMessage.getData()); + return; + case 2: + this.this$0.doFocus(); + return; + } + String str = ""; + if (paramMessage.arg1 == 0) + { + i = paramMessage.arg2; + str = (String)paramMessage.obj; + } + paramMessage = new Intent(this.this$0, GetOtherBarcodeActivity.class); + Bundle localBundle = new Bundle(); + localBundle.putString("barcode_result", MainActivity.access$500(this.this$0)); + localBundle.putInt("url_id", i); + localBundle.putString("url_txt", str); + paramMessage.putExtra("com.tencent.input_param", localBundle); + this.this$0.startActivityForResult(paramMessage, 1); + p.a().a(System.currentTimeMillis(), 10); + this.this$0.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$2.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$2.java new file mode 100755 index 00000000000..caa9a23212b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$2.java @@ -0,0 +1,22 @@ +package com.tencent.qbardemo; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +class MainActivity$2 + implements View.OnClickListener +{ + MainActivity$2(MainActivity paramMainActivity) {} + + public void onClick(View paramView) + { + s.b(this.this$0, this.this$0.getString(2131361987)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$3.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$3.java new file mode 100755 index 00000000000..88b49c193d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$3.java @@ -0,0 +1,21 @@ +package com.tencent.qbardemo; + +import android.view.View; +import android.view.View.OnClickListener; + +class MainActivity$3 + implements View.OnClickListener +{ + MainActivity$3(MainActivity paramMainActivity) {} + + public void onClick(View paramView) + { + this.this$0.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity.3 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$4.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$4.java new file mode 100755 index 00000000000..faab6c3273a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$4.java @@ -0,0 +1,24 @@ +package com.tencent.qbardemo; + +import android.os.Handler; +import android.os.Message; +import java.util.TimerTask; + +class MainActivity$4 + extends TimerTask +{ + MainActivity$4(MainActivity paramMainActivity) {} + + public void run() + { + Message localMessage = new Message(); + localMessage.what = 2; + this.this$0.uiHandler.sendMessage(localMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity.4 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$5.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$5.java new file mode 100755 index 00000000000..b852bd6cc6e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity$5.java @@ -0,0 +1,26 @@ +package com.tencent.qbardemo; + +import java.util.TimerTask; + +class MainActivity$5 + extends TimerTask +{ + MainActivity$5(MainActivity paramMainActivity) {} + + public void run() + { + if (!MainActivity.access$000(this.this$0)) + { + MainActivity.access$002(this.this$0, true); + ProcessThread localProcessThread = new ProcessThread(this.this$0.uiHandler, this.this$0.previewData, this.this$0.outData, this.this$0.inData, MainActivity.access$600(this.this$0), MainActivity.access$700(this.this$0), this.this$0.path); + localProcessThread.setPriority(10); + localProcessThread.start(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity.5 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity.java new file mode 100755 index 00000000000..c0826adec34 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/MainActivity.java @@ -0,0 +1,758 @@ +package com.tencent.qbardemo; + +import android.app.Activity; +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.drawable.AnimationDrawable; +import android.hardware.Camera; +import android.hardware.Camera.AutoFocusCallback; +import android.hardware.Camera.Parameters; +import android.hardware.Camera.PreviewCallback; +import android.os.Bundle; +import android.os.Environment; +import android.os.Handler; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.KeyEvent; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import android.view.SurfaceView; +import android.view.View; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.qbar.QbarNative; +import com.tencent.token.af; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.r; +import com.tencent.token.ui.GetBarcodeVerifyMsgActivity; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.ui.ScanLoginAccountListActivity; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import com.tencent.token.x; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.Timer; +import java.util.TimerTask; + +public class MainActivity + extends Activity + implements Camera.AutoFocusCallback, Camera.PreviewCallback, SurfaceHolder.Callback +{ + public static final double ASPECT_RATIO = 1.0D; + private static final String BARCODE_URL_PREFIX = "aq.qq.com/sao?"; + public static final int D_DELAY = 1000; + public static final int D_PERIOD = 200; + public static final int F_DELAY = 500; + public static final int F_PERIOD = 2500; + public static final double RECT_RATIO = 0.6D; + public static final int THRESHOLD = 1; + private Camera camera; + private Camera.PreviewCallback cb; + private int detectCounter = 1; + private TimerTask detectTask; + private Timer detectTimer; + private boolean flag = false; + private TimerTask focusTask; + private Timer focusTimer; + private SurfaceHolder holder; + public byte[] inData; + private String mBarcodeResult; + private int mSource = 0; + private TextView mTitleText; + public byte[] outData; + private Camera.Parameters parameters; + public String path; + private int preHeight; + private int preWidth; + public byte[] previewData; + private int screenHeight; + private int screenWidth; + private SurfaceView surfaceView; + public Handler uiHandler = new MainActivity.1(this); + private RectView view; + + private static String findSettableValue(Collection paramCollection, String... paramVarArgs) + { + int i; + String str; + if (paramCollection != null) + { + int j = paramVarArgs.length; + i = 0; + if (i < j) + { + str = paramVarArgs[i]; + if (!paramCollection.contains(str)) {} + } + } + for (paramCollection = str;; paramCollection = null) + { + e.b("resolution Settable value: " + paramCollection); + return paramCollection; + i += 1; + break; + } + } + + private void finishActivity() + { + if (isFinishing()) { + return; + } + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.addFlags(4194304); + IndexActivity.CAM_ERR = true; + startActivity(localIntent); + finish(); + } + + private String parseBarcode(String paramString) + { + if ((paramString != null) && (paramString.indexOf("aq.qq.com/sao?") != -1)) + { + int i = paramString.indexOf('?'); + e.a("scan string: " + paramString.substring(i + 1)); + return paramString.substring(i + 1); + } + return null; + } + + public void createUI() + { + this.path = (Environment.getExternalStorageDirectory() + File.separator + "test"); + new File(this.path).mkdir(); + Object localObject = getResources().getDisplayMetrics(); + this.screenWidth = ((DisplayMetrics)localObject).heightPixels; + this.screenHeight = ((DisplayMetrics)localObject).widthPixels; + this.surfaceView = ((SurfaceView)findViewById(2131296416)); + this.mTitleText = ((TextView)findViewById(2131296419)); + localObject = (RelativeLayout)findViewById(2131296415); + this.view = new RectView(this, this.screenHeight, this.screenWidth); + this.view.invalidate(); + ((RelativeLayout)localObject).addView(this.view); + if (this.mSource == 0) + { + this.mTitleText.setText(getResources().getString(2131362111)); + return; + } + this.mTitleText.setText(getResources().getString(2131362756)); + } + + public void detectStart() + { + this.detectTimer = new Timer(false); + this.detectTask = new MainActivity.5(this); + try + { + this.detectTimer.schedule(this.detectTask, 1000L, 200L); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + + public void doFocus() + { + if (this.camera == null) { + return; + } + try + { + this.camera.autoFocus(this); + return; + } + catch (RuntimeException localRuntimeException) + { + localRuntimeException.printStackTrace(); + e.d("camera auto focus " + localRuntimeException.toString()); + finishActivity(); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.d("camera auto focus " + localException.toString()); + finishActivity(); + } + } + + public void focusStart() + { + this.focusTimer = new Timer(false); + this.focusTask = new MainActivity.4(this); + this.focusTimer.schedule(this.focusTask, 500L, 2500L); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt1 == 1) { + this.flag = false; + } + } + + public void onAutoFocus(boolean paramBoolean, Camera paramCamera) {} + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + t.a(true); + requestWindowFeature(1); + if (getIntent() != null) { + this.mSource = getIntent().getIntExtra("source_from", 0); + } + setContentView(2130903054); + createUI(); + this.cb = this; + this.holder = this.surfaceView.getHolder(); + this.holder.addCallback(this); + this.holder.setType(3); + findViewById(2131296422).setOnClickListener(new MainActivity.2(this)); + findViewById(2131296420).setOnClickListener(new MainActivity.3(this)); + } + + public boolean onKeyUp(int paramInt, KeyEvent paramKeyEvent) + { + if (paramInt == 4) + { + Log.i("TAG", "exit"); + QbarNative.Release(); + finish(); + return true; + } + return super.onKeyUp(paramInt, paramKeyEvent); + } + + public void onPreviewFrame(byte[] paramArrayOfByte, Camera paramCamera) + { + this.previewData = paramArrayOfByte; + } + + protected void onResume() + { + super.onResume(); + } + + protected void setDisplayOrientation(Camera paramCamera, int paramInt) + { + try + { + Method localMethod = paramCamera.getClass().getMethod("setDisplayOrientation", new Class[] { Integer.TYPE }); + if (localMethod != null) { + localMethod.invoke(paramCamera, new Object[] { Integer.valueOf(paramInt) }); + } + return; + } + catch (Exception paramCamera) + { + Log.e("MainActivity", "setDisplayOrientation: " + paramCamera.getMessage()); + } + } + + public void showResult(Bundle paramBundle) + { + this.mBarcodeResult = paramBundle.getString("dataInfo"); + paramBundle = paramBundle.getString("dataInfo"); + Object localObject1 = x.a(getApplicationContext()); + if (((x)localObject1).a(paramBundle)) + { + ((x)localObject1).b(paramBundle); + localObject2 = new Intent(this, ScanLoginAccountListActivity.class); + int i = paramBundle.indexOf("?k=") + 3; + paramBundle = paramBundle.substring(i, i + 32); + ((Intent)localObject2).putExtra("scancode", s.a(paramBundle.getBytes(), paramBundle.length())); + startActivityForResult((Intent)localObject2, 1); + r.a(RqdApplication.i()).a(((x)localObject1).b()); + finish(); + return; + } + localObject1 = parseBarcode(paramBundle); + if (localObject1 == null) + { + localObject1 = (ImageView)findViewById(2131296417); + ((ImageView)localObject1).setImageResource(2130837713); + ((AnimationDrawable)((ImageView)localObject1).getDrawable()).start(); + af.a().c(paramBundle, this.uiHandler); + return; + } + paramBundle = new Intent(this, GetBarcodeVerifyMsgActivity.class); + Object localObject2 = new Bundle(); + ((Bundle)localObject2).putString("barcode_result", (String)localObject1); + paramBundle.putExtra("com.tencent.input_param", (Bundle)localObject2); + startActivityForResult(paramBundle, 1); + this.detectCounter = 0; + this.view.setDrawLineImage(true); + this.view.invalidate(); + } + + /* Error */ + public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) + { + // Byte code: + // 0: ldc_w 398 + // 3: ldc_w 579 + // 6: invokestatic 406 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I + // 9: pop + // 10: aload_0 + // 11: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 14: ifnonnull +4 -> 18 + // 17: return + // 18: aload_0 + // 19: aload_0 + // 20: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 23: invokevirtual 583 android/hardware/Camera:getParameters ()Landroid/hardware/Camera$Parameters; + // 26: putfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 29: aload_0 + // 30: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 33: invokevirtual 591 android/hardware/Camera$Parameters:getSupportedPreviewSizes ()Ljava/util/List; + // 36: astore 5 + // 38: aload_0 + // 39: aload 5 + // 41: iconst_0 + // 42: invokeinterface 597 2 0 + // 47: checkcast 599 android/hardware/Camera$Size + // 50: getfield 602 android/hardware/Camera$Size:width I + // 53: putfield 114 com/tencent/qbardemo/MainActivity:preWidth I + // 56: aload_0 + // 57: aload 5 + // 59: iconst_0 + // 60: invokeinterface 597 2 0 + // 65: checkcast 599 android/hardware/Camera$Size + // 68: getfield 605 android/hardware/Camera$Size:height I + // 71: putfield 117 com/tencent/qbardemo/MainActivity:preHeight I + // 74: new 127 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 128 java/lang/StringBuilder: ()V + // 81: ldc_w 607 + // 84: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 87: aload_0 + // 88: getfield 114 com/tencent/qbardemo/MainActivity:preWidth I + // 91: invokevirtual 610 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 94: ldc_w 612 + // 97: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 100: iload 4 + // 102: invokevirtual 610 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 105: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 108: invokestatic 614 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 111: iconst_1 + // 112: istore_2 + // 113: iload_2 + // 114: aload 5 + // 116: invokeinterface 617 1 0 + // 121: if_icmpge +154 -> 275 + // 124: aload_0 + // 125: getfield 114 com/tencent/qbardemo/MainActivity:preWidth I + // 128: i2d + // 129: aload_0 + // 130: getfield 117 com/tencent/qbardemo/MainActivity:preHeight I + // 133: i2d + // 134: ddiv + // 135: aload_0 + // 136: getfield 232 com/tencent/qbardemo/MainActivity:screenWidth I + // 139: i2d + // 140: aload_0 + // 141: getfield 237 com/tencent/qbardemo/MainActivity:screenHeight I + // 144: i2d + // 145: ddiv + // 146: dsub + // 147: invokestatic 623 java/lang/Math:abs (D)D + // 150: aload 5 + // 152: iload_2 + // 153: invokeinterface 597 2 0 + // 158: checkcast 599 android/hardware/Camera$Size + // 161: getfield 602 android/hardware/Camera$Size:width I + // 164: i2d + // 165: aload 5 + // 167: iload_2 + // 168: invokeinterface 597 2 0 + // 173: checkcast 599 android/hardware/Camera$Size + // 176: getfield 605 android/hardware/Camera$Size:height I + // 179: i2d + // 180: ddiv + // 181: aload_0 + // 182: getfield 232 com/tencent/qbardemo/MainActivity:screenWidth I + // 185: i2d + // 186: aload_0 + // 187: getfield 237 com/tencent/qbardemo/MainActivity:screenHeight I + // 190: i2d + // 191: ddiv + // 192: dsub + // 193: invokestatic 623 java/lang/Math:abs (D)D + // 196: dcmpl + // 197: iflt +39 -> 236 + // 200: aload_0 + // 201: aload 5 + // 203: iload_2 + // 204: invokeinterface 597 2 0 + // 209: checkcast 599 android/hardware/Camera$Size + // 212: getfield 602 android/hardware/Camera$Size:width I + // 215: putfield 114 com/tencent/qbardemo/MainActivity:preWidth I + // 218: aload_0 + // 219: aload 5 + // 221: iload_2 + // 222: invokeinterface 597 2 0 + // 227: checkcast 599 android/hardware/Camera$Size + // 230: getfield 605 android/hardware/Camera$Size:height I + // 233: putfield 117 com/tencent/qbardemo/MainActivity:preHeight I + // 236: iload_2 + // 237: iconst_1 + // 238: iadd + // 239: istore_2 + // 240: goto -127 -> 113 + // 243: astore_1 + // 244: aload_1 + // 245: invokevirtual 301 java/lang/Exception:printStackTrace ()V + // 248: new 127 java/lang/StringBuilder + // 251: dup + // 252: invokespecial 128 java/lang/StringBuilder: ()V + // 255: ldc_w 625 + // 258: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 261: aload_0 + // 262: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 265: invokevirtual 201 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 268: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 271: invokestatic 614 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 274: return + // 275: aload_0 + // 276: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 279: aload_0 + // 280: getfield 114 com/tencent/qbardemo/MainActivity:preWidth I + // 283: aload_0 + // 284: getfield 117 com/tencent/qbardemo/MainActivity:preHeight I + // 287: invokevirtual 629 android/hardware/Camera$Parameters:setPreviewSize (II)V + // 290: aload_0 + // 291: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 294: bipush 17 + // 296: invokevirtual 632 android/hardware/Camera$Parameters:setPreviewFormat (I)V + // 299: aload_0 + // 300: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 303: invokevirtual 635 android/hardware/Camera$Parameters:getSupportedFocusModes ()Ljava/util/List; + // 306: iconst_1 + // 307: anewarray 175 java/lang/String + // 310: dup + // 311: iconst_0 + // 312: ldc_w 637 + // 315: aastore + // 316: invokestatic 639 com/tencent/qbardemo/MainActivity:findSettableValue (Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; + // 319: astore 5 + // 321: aload 5 + // 323: ifnull +12 -> 335 + // 326: aload_0 + // 327: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 330: aload 5 + // 332: invokevirtual 642 android/hardware/Camera$Parameters:setFocusMode (Ljava/lang/String;)V + // 335: iconst_2 + // 336: iconst_0 + // 337: iconst_0 + // 338: ldc_w 644 + // 341: ldc_w 646 + // 344: invokestatic 650 com/tencent/qbar/QbarNative:Init (IIILjava/lang/String;Ljava/lang/String;)I + // 347: istore_2 + // 348: iconst_1 + // 349: newarray int + // 351: astore 5 + // 353: aload 5 + // 355: iconst_0 + // 356: iconst_2 + // 357: iastore + // 358: aload 5 + // 360: aload 5 + // 362: arraylength + // 363: invokestatic 654 com/tencent/qbar/QbarNative:SetReaders ([II)I + // 366: istore_3 + // 367: invokestatic 657 com/tencent/qbar/QbarNative:GetVersion ()Ljava/lang/String; + // 370: astore 5 + // 372: ldc_w 398 + // 375: new 127 java/lang/StringBuilder + // 378: dup + // 379: invokespecial 128 java/lang/StringBuilder: ()V + // 382: ldc_w 659 + // 385: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 388: iload_2 + // 389: invokevirtual 610 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 392: ldc_w 661 + // 395: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 398: iload_3 + // 399: invokevirtual 610 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 402: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 405: invokestatic 664 android/util/Log:v (Ljava/lang/String;Ljava/lang/String;)I + // 408: pop + // 409: ldc_w 398 + // 412: new 127 java/lang/StringBuilder + // 415: dup + // 416: invokespecial 128 java/lang/StringBuilder: ()V + // 419: ldc_w 666 + // 422: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 425: aload 5 + // 427: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 430: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 433: invokestatic 664 android/util/Log:v (Ljava/lang/String;Ljava/lang/String;)I + // 436: pop + // 437: aload_0 + // 438: aload_0 + // 439: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 442: bipush 90 + // 444: invokevirtual 668 com/tencent/qbardemo/MainActivity:setDisplayOrientation (Landroid/hardware/Camera;I)V + // 447: aload_0 + // 448: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 451: aload_0 + // 452: getfield 585 com/tencent/qbardemo/MainActivity:parameters Landroid/hardware/Camera$Parameters; + // 455: invokevirtual 672 android/hardware/Camera:setParameters (Landroid/hardware/Camera$Parameters;)V + // 458: aload_0 + // 459: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 462: aload_0 + // 463: invokevirtual 676 android/hardware/Camera:setOneShotPreviewCallback (Landroid/hardware/Camera$PreviewCallback;)V + // 466: aload_0 + // 467: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 470: aload_1 + // 471: invokevirtual 680 android/hardware/Camera:setPreviewDisplay (Landroid/view/SurfaceHolder;)V + // 474: aload_0 + // 475: getfield 117 com/tencent/qbardemo/MainActivity:preHeight I + // 478: i2d + // 479: ldc2_w 29 + // 482: dmul + // 483: d2i + // 484: istore_2 + // 485: aload_0 + // 486: iload_2 + // 487: iload_2 + // 488: imul + // 489: iconst_3 + // 490: imul + // 491: iconst_2 + // 492: idiv + // 493: newarray byte + // 495: putfield 682 com/tencent/qbardemo/MainActivity:outData [B + // 498: aload_0 + // 499: iload_2 + // 500: iload_2 + // 501: imul + // 502: newarray byte + // 504: putfield 684 com/tencent/qbardemo/MainActivity:inData [B + // 507: aload_0 + // 508: getfield 103 com/tencent/qbardemo/MainActivity:camera Landroid/hardware/Camera; + // 511: invokevirtual 687 android/hardware/Camera:startPreview ()V + // 514: aload_0 + // 515: invokevirtual 689 com/tencent/qbardemo/MainActivity:focusStart ()V + // 518: aload_0 + // 519: invokevirtual 691 com/tencent/qbardemo/MainActivity:detectStart ()V + // 522: return + // 523: astore_1 + // 524: aload_1 + // 525: invokevirtual 692 java/lang/ExceptionInInitializerError:printStackTrace ()V + // 528: new 127 java/lang/StringBuilder + // 531: dup + // 532: invokespecial 128 java/lang/StringBuilder: ()V + // 535: ldc_w 694 + // 538: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 541: aload_1 + // 542: invokevirtual 695 java/lang/ExceptionInInitializerError:toString ()Ljava/lang/String; + // 545: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 548: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 551: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 554: aload_0 + // 555: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 558: goto -84 -> 474 + // 561: astore_1 + // 562: aload_1 + // 563: invokevirtual 696 java/lang/UnsatisfiedLinkError:printStackTrace ()V + // 566: new 127 java/lang/StringBuilder + // 569: dup + // 570: invokespecial 128 java/lang/StringBuilder: ()V + // 573: ldc_w 694 + // 576: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 579: aload_1 + // 580: invokevirtual 697 java/lang/UnsatisfiedLinkError:toString ()Ljava/lang/String; + // 583: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 586: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 589: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 592: aload_0 + // 593: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 596: goto -122 -> 474 + // 599: astore_1 + // 600: aload_1 + // 601: invokevirtual 698 java/io/IOException:printStackTrace ()V + // 604: new 127 java/lang/StringBuilder + // 607: dup + // 608: invokespecial 128 java/lang/StringBuilder: ()V + // 611: ldc_w 700 + // 614: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 617: aload_1 + // 618: invokevirtual 701 java/io/IOException:toString ()Ljava/lang/String; + // 621: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 624: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 627: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 630: aload_0 + // 631: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 634: goto -160 -> 474 + // 637: astore_1 + // 638: aload_1 + // 639: invokevirtual 311 java/lang/RuntimeException:printStackTrace ()V + // 642: new 127 java/lang/StringBuilder + // 645: dup + // 646: invokespecial 128 java/lang/StringBuilder: ()V + // 649: ldc_w 700 + // 652: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 655: aload_1 + // 656: invokevirtual 314 java/lang/RuntimeException:toString ()Ljava/lang/String; + // 659: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 662: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 665: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 668: aload_0 + // 669: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 672: goto -198 -> 474 + // 675: astore_1 + // 676: aload_1 + // 677: invokevirtual 301 java/lang/Exception:printStackTrace ()V + // 680: new 127 java/lang/StringBuilder + // 683: dup + // 684: invokespecial 128 java/lang/StringBuilder: ()V + // 687: ldc_w 700 + // 690: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 693: aload_1 + // 694: invokevirtual 320 java/lang/Exception:toString ()Ljava/lang/String; + // 697: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 700: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 703: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 706: aload_0 + // 707: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 710: goto -236 -> 474 + // 713: astore_1 + // 714: aload_1 + // 715: invokevirtual 311 java/lang/RuntimeException:printStackTrace ()V + // 718: new 127 java/lang/StringBuilder + // 721: dup + // 722: invokespecial 128 java/lang/StringBuilder: ()V + // 725: ldc_w 703 + // 728: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 731: aload_1 + // 732: invokevirtual 314 java/lang/RuntimeException:toString ()Ljava/lang/String; + // 735: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 738: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 741: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 744: aload_0 + // 745: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 748: goto -234 -> 514 + // 751: astore_1 + // 752: aload_1 + // 753: invokevirtual 301 java/lang/Exception:printStackTrace ()V + // 756: new 127 java/lang/StringBuilder + // 759: dup + // 760: invokespecial 128 java/lang/StringBuilder: ()V + // 763: ldc_w 703 + // 766: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 769: aload_1 + // 770: invokevirtual 320 java/lang/Exception:toString ()Ljava/lang/String; + // 773: invokevirtual 134 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 776: invokevirtual 138 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 779: invokestatic 317 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 782: aload_0 + // 783: invokespecial 319 com/tencent/qbardemo/MainActivity:finishActivity ()V + // 786: goto -272 -> 514 + // Local variable table: + // start length slot name signature + // 0 789 0 this MainActivity + // 0 789 1 paramSurfaceHolder SurfaceHolder + // 0 789 2 paramInt1 int + // 0 789 3 paramInt2 int + // 0 789 4 paramInt3 int + // 36 390 5 localObject Object + // Exception table: + // from to target type + // 18 29 243 java/lang/Exception + // 335 353 523 java/lang/ExceptionInInitializerError + // 358 474 523 java/lang/ExceptionInInitializerError + // 335 353 561 java/lang/UnsatisfiedLinkError + // 358 474 561 java/lang/UnsatisfiedLinkError + // 335 353 599 java/io/IOException + // 358 474 599 java/io/IOException + // 335 353 637 java/lang/RuntimeException + // 358 474 637 java/lang/RuntimeException + // 335 353 675 java/lang/Exception + // 358 474 675 java/lang/Exception + // 507 514 713 java/lang/RuntimeException + // 507 514 751 java/lang/Exception + } + + public void surfaceCreated(SurfaceHolder paramSurfaceHolder) + { + try + { + if (this.camera == null) { + this.camera = Camera.open(); + } + this.camera.setPreviewDisplay(paramSurfaceHolder); + return; + } + catch (IOException paramSurfaceHolder) + { + this.camera = null; + paramSurfaceHolder.printStackTrace(); + e.c("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + e.d("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + finishActivity(); + return; + } + catch (RuntimeException paramSurfaceHolder) + { + this.camera = null; + paramSurfaceHolder.printStackTrace(); + e.c("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + e.d("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + finishActivity(); + return; + } + catch (Exception paramSurfaceHolder) + { + this.camera = null; + paramSurfaceHolder.printStackTrace(); + e.c("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + e.d("Unexpected error initializing camera" + paramSurfaceHolder.toString()); + finishActivity(); + } + } + + public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) + { + Log.i("TAG", "surfaceDestroyed"); + if (this.focusTimer != null) + { + this.focusTimer.cancel(); + this.focusTimer = null; + } + if (this.focusTask != null) + { + this.focusTask.cancel(); + this.focusTask = null; + } + if (this.detectTimer != null) + { + this.detectTimer.cancel(); + this.detectTimer = null; + } + if (this.detectTask != null) + { + this.detectTask.cancel(); + this.detectTask = null; + } + if (this.camera != null) + { + this.camera.setPreviewCallback(null); + this.camera.stopPreview(); + this.camera.release(); + } + this.camera = null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.MainActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/ProcessThread.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/ProcessThread.java new file mode 100755 index 00000000000..c789fab8ebb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/ProcessThread.java @@ -0,0 +1,130 @@ +package com.tencent.qbardemo; + +import android.content.Context; +import android.graphics.Point; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.os.Process; +import android.util.Log; +import com.tencent.imageboost.ImgProcessScan; +import com.tencent.qbar.QbarNative; + +public class ProcessThread + extends Thread +{ + public int[] Pixels; + public Bundle bundle; + public byte[] bytes; + public Context context; + public byte[] data; + private int height; + public byte[] inImg; + public byte[] outImg; + private String path; + public byte[] raw_data; + public int real_width; + private boolean save = true; + public int[] sizeArr; + public byte[] type; + public Handler uiHandler; + private int width; + + public ProcessThread(Handler paramHandler, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt1, int paramInt2, String paramString) + { + this.uiHandler = paramHandler; + this.width = paramInt1; + this.height = paramInt2; + this.raw_data = paramArrayOfByte1; + this.outImg = paramArrayOfByte2; + this.inImg = paramArrayOfByte3; + this.bundle = new Bundle(); + this.path = paramString; + this.real_width = ((int)(paramInt2 * 0.6D)); + this.type = new byte[3000]; + this.data = new byte[3000]; + this.sizeArr = new int[2]; + } + + public void destroy() + { + super.destroy(); + } + + public void run() + { + try + { + Process.setThreadPriority(-20); + label5: + Log.v("TAG", "detect start"); + long l = System.currentTimeMillis(); + Object localObject = new int[2]; + ImgProcessScan.a(this.outImg, (int[])localObject, this.raw_data, this.width, this.height, (this.width - this.real_width) / 2, (this.height - this.real_width) / 2, this.real_width, this.real_width); + System.arraycopy(this.outImg, 0, this.inImg, 0, this.inImg.length); + int j = QbarNative.ScanImage(this.inImg, this.real_width, this.real_width, 0); + double d1 = (System.currentTimeMillis() - l + 0.0D) / 2.0D; + Log.v("TAG", "average detect time:" + d1); + double d2; + if (j == 1) { + d2 = 0.0D; + } + for (;;) + { + Log.v("TAG", "average target time:" + d1); + Log.v("TAG", "average no target time:" + d2); + if (j != 1) { + break label331; + } + localObject = new Point[10]; + int i = 0; + while (i < localObject.length) + { + localObject[i] = new Point(); + i += 1; + } + d2 = d1; + d1 = 0.0D; + } + StringBuilder localStringBuilder1 = new StringBuilder(); + StringBuilder localStringBuilder2 = new StringBuilder(); + QbarNative.GetOneResult(localStringBuilder1, localStringBuilder2, (Point[])localObject); + this.bundle.putString("dataType", localStringBuilder1.toString()); + this.bundle.putString("dataInfo", localStringBuilder2.toString()); + System.currentTimeMillis(); + sendMsg(j, this.bundle); + return; + label331: + System.currentTimeMillis(); + sendMsg(j); + return; + } + catch (SecurityException localSecurityException) + { + break label5; + } + } + + public void sendMsg(int paramInt) + { + Message localMessage = new Message(); + localMessage.what = 1; + localMessage.arg1 = paramInt; + this.uiHandler.sendMessage(localMessage); + } + + public void sendMsg(int paramInt, Bundle paramBundle) + { + Message localMessage = new Message(); + localMessage.what = 1; + localMessage.arg1 = paramInt; + localMessage.setData(paramBundle); + this.uiHandler.sendMessage(localMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.ProcessThread + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/qbardemo/RectView.java b/com.tencent.token/classes.jar/com/tencent/qbardemo/RectView.java new file mode 100755 index 00000000000..8c6c2c5676a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/qbardemo/RectView.java @@ -0,0 +1,111 @@ +package com.tencent.qbardemo; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.view.View; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.t; + +public class RectView + extends View +{ + private static final long ANIMATION_DELAY = 20L; + private static final int K_ROUND_TIME = 5; + private int CORNER_HEIGHT = 12; + private int CORNER_WIDTH = 32; + private int bottom; + private int height; + private int left; + private final int mCornerColor; + private boolean mIsDrawLineImg = true; + private long mLastTime = 0L; + private final int mMaskColor; + private Bitmap mScanLine = null; + private Paint pen; + private int right; + private int top; + private int width; + + public RectView(Context paramContext, int paramInt1, int paramInt2) + { + super(paramContext); + this.width = ((int)(paramInt1 * 0.6D)); + this.height = ((int)(this.width * 1.0D)); + this.top = ((paramInt2 - this.height - IndexActivity.S_STATUS_HEIGHT - IndexActivity.S_TITLE_HEIGHT) / 2); + this.bottom = ((this.height + paramInt2 - IndexActivity.S_STATUS_HEIGHT - IndexActivity.S_TITLE_HEIGHT) / 2); + this.left = ((paramInt1 - this.width) / 2); + this.right = ((this.width + paramInt1) / 2); + this.pen = new Paint(); + paramContext = getResources(); + this.mMaskColor = paramContext.getColor(2131165231); + this.mCornerColor = paramContext.getColor(2131165232); + } + + public Paint getPen() + { + return this.pen; + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + int i = paramCanvas.getWidth(); + int j = paramCanvas.getHeight(); + this.pen.setColor(this.mMaskColor); + paramCanvas.drawRect(0.0F, 50.0F * IndexActivity.S_DENSITY, i, this.top, this.pen); + paramCanvas.drawRect(0.0F, this.top, this.left, this.bottom + 1, this.pen); + paramCanvas.drawRect(this.right + 1, this.top, i, this.bottom + 1, this.pen); + paramCanvas.drawRect(0.0F, this.bottom + 1, i, j, this.pen); + if (this.mScanLine == null) { + this.mScanLine = t.a(getResources(), 2130837879, this.width); + } + String str = getResources().getString(2131362112); + this.pen.setColor(getResources().getColor(2131165194)); + this.pen.setTextSize(getResources().getDimension(2131230728)); + float f = this.pen.measureText(str); + paramCanvas.drawText(str, (i - f) / 2.0F, this.bottom + 30.0F * IndexActivity.S_DENSITY, this.pen); + j = this.CORNER_HEIGHT / 2; + this.pen.setColor(this.mCornerColor); + paramCanvas.drawRect(this.left - j, this.top - j, this.left + this.CORNER_WIDTH - j, this.top + this.CORNER_HEIGHT - j, this.pen); + paramCanvas.drawRect(this.left - j, this.top - j, this.left + this.CORNER_HEIGHT - j, this.top + this.CORNER_WIDTH - j, this.pen); + paramCanvas.drawRect(this.left - j, this.bottom - this.CORNER_HEIGHT + j, this.left + this.CORNER_WIDTH - j, this.bottom + 1 + j, this.pen); + paramCanvas.drawRect(this.left - j, this.bottom - this.CORNER_WIDTH + j, this.left + this.CORNER_HEIGHT - j, this.bottom + 1 + j, this.pen); + paramCanvas.drawRect(this.right - this.CORNER_HEIGHT + j, this.top - j, this.right + 1 + j, this.top + this.CORNER_WIDTH - j, this.pen); + paramCanvas.drawRect(this.right - this.CORNER_WIDTH + j, this.top - j, this.right + 1 + j, this.top + this.CORNER_HEIGHT - j, this.pen); + paramCanvas.drawRect(this.right - this.CORNER_HEIGHT + j, this.bottom - this.CORNER_WIDTH + j, this.right + 1 + j, this.bottom + 1 + j, this.pen); + paramCanvas.drawRect(this.right - this.CORNER_WIDTH + j, this.bottom - this.CORNER_HEIGHT + j, this.right + 1 + j, this.bottom + 1 + j, this.pen); + long l; + if ((this.mScanLine != null) && (this.mIsDrawLineImg)) + { + l = System.currentTimeMillis(); + if (this.mLastTime != 0L) { + break label723; + } + this.mLastTime = l; + } + for (;;) + { + postInvalidateDelayed(20L, this.left, this.top, this.right, this.bottom); + return; + label723: + l -= this.mLastTime; + j = (int)(l / 1000L); + j = ((int)(l % 1000L) + j % 5 * 1000) * this.height / 5000; + paramCanvas.drawBitmap(this.mScanLine, (i - this.width) / 2, j + this.top - this.mScanLine.getHeight(), this.pen); + } + } + + public void setDrawLineImage(boolean paramBoolean) + { + this.mIsDrawLineImg = paramBoolean; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.qbardemo.RectView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/DetectType.java b/com.tencent.token/classes.jar/com/tencent/service/DetectType.java new file mode 100755 index 00000000000..d4b32fd5a05 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/DetectType.java @@ -0,0 +1,12 @@ +package com.tencent.service; + +public enum DetectType +{ + DT_REGISTER, DT_VALIDATE; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.DetectType + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate$FaceDetectErrorCode.java b/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate$FaceDetectErrorCode.java new file mode 100755 index 00000000000..4c2fb0d3400 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate$FaceDetectErrorCode.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.FaceServiceDelegate.FaceDetectErrorCode + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate.java b/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate.java new file mode 100755 index 00000000000..ad65cb57466 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/FaceServiceDelegate.java @@ -0,0 +1,14 @@ +package com.tencent.service; + +public abstract interface FaceServiceDelegate +{ + public abstract void a(FaceServiceDelegate.FaceDetectErrorCode paramFaceDetectErrorCode); + + public abstract void a(byte[] paramArrayOfByte, int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.FaceServiceDelegate + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/a.java b/com.tencent.token/classes.jar/com/tencent/service/a.java new file mode 100755 index 00000000000..c0653725715 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/a.java @@ -0,0 +1,18 @@ +package com.tencent.service; + +import com.tencent.jni.FaceDetector; +import com.tencent.jni.FaceInfo; + +public final class a +{ + public FaceDetector a; + public h b; + public int c; + public FaceInfo d; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/b.java b/com.tencent.token/classes.jar/com/tencent/service/b.java new file mode 100755 index 00000000000..c330f831282 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/b.java @@ -0,0 +1,53 @@ +package com.tencent.service; + +import com.tencent.jni.FaceDetector; +import com.tencent.jni.FaceInfo; +import com.tencent.token.global.e; + +public final class b + implements Runnable +{ + public long a = 0L; + private FaceDetector b; + private h c; + private a d; + private d e; + private DetectType f; + private long g = 0L; + + public b(d paramd, FaceDetector paramFaceDetector, h paramh, DetectType paramDetectType) + { + this.b = paramFaceDetector; + this.e = paramd; + this.c = paramh; + this.f = paramDetectType; + this.g = System.currentTimeMillis(); + } + + public final void run() + { + System.gc(); + this.d = new a(); + this.d.d = new FaceInfo(); + switch (c.a[this.f.ordinal()]) + { + default: + return; + } + for (int i = this.b.FaceRegister(this.d.d, this.c.a, this.c.b, this.c.c, this.c.d, this.c.e, this.c.f);; i = this.b.FaceValidate(this.d.d, this.c.a, this.c.b, this.c.c, this.c.d, this.c.e, this.c.f)) + { + this.d.a = this.b; + this.d.b = this.c; + this.d.c = i; + e.b("任务构建到结束时间: " + (System.currentTimeMillis() - this.g)); + this.e.a(this.d); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/c.java b/com.tencent.token/classes.jar/com/tencent/service/c.java new file mode 100755 index 00000000000..981e43402b1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/c.java @@ -0,0 +1,9 @@ +package com.tencent.service; + +final class c {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/d.java b/com.tencent.token/classes.jar/com/tencent/service/d.java new file mode 100755 index 00000000000..44bbd5b86b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/d.java @@ -0,0 +1,12 @@ +package com.tencent.service; + +public abstract interface d +{ + public abstract void a(a parama); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/e.java b/com.tencent.token/classes.jar/com/tencent/service/e.java new file mode 100755 index 00000000000..844af09ac6e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/e.java @@ -0,0 +1,160 @@ +package com.tencent.service; + +import android.content.Context; +import android.os.Looper; +import android.os.Message; +import com.tencent.jni.FaceDetector; +import java.util.ArrayList; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +public final class e + implements d +{ + private static final int a; + private static final int b; + private static final int c; + private ArrayList d = new ArrayList(); + private ArrayList e = new ArrayList(); + private a f = null; + private i g; + private ThreadPoolExecutor h; + private f i = null; + private Context j; + private FaceServiceDelegate k; + private String l; + private boolean m = false; + private long n = 0L; + private long o = 0L; + private int p = 0; + private int q = 0; + private boolean r = false; + + static + { + int i1 = Runtime.getRuntime().availableProcessors(); + a = i1; + b = i1; + c = i1; + } + + public e(Context paramContext, FaceServiceDelegate paramFaceServiceDelegate, String paramString) + { + this.j = paramContext; + this.k = paramFaceServiceDelegate; + this.l = paramString; + } + + public final void a() + { + this.g = new i(this.j); + this.g.a(); + int i1 = 0; + while (i1 < c) + { + FaceDetector localFaceDetector = new FaceDetector(); + localFaceDetector.Initial(this.l); + this.d.add(localFaceDetector); + i1 += 1; + } + this.i = new f(this, Looper.myLooper()); + this.h = new ThreadPoolExecutor(a, b, 3L, TimeUnit.MINUTES, new ArrayBlockingQueue(4), new g(this)); + this.m = false; + this.r = true; + } + + public final void a(a parama) + { + Message localMessage = new Message(); + localMessage.what = 36865; + localMessage.obj = parama; + if (this.i != null) { + this.i.sendMessage(localMessage); + } + } + + public final void a(h paramh, DetectType paramDetectType) + { + if (this.m) { + break label7; + } + for (;;) + { + label7: + return; + if (!this.g.a) + { + if (this.e.size() + this.q == 0) { + this.n = System.currentTimeMillis(); + } + if (this.e.size() + this.q == 4) { + break; + } + int i1 = 0; + while (i1 < this.d.size()) + { + FaceDetector localFaceDetector = (FaceDetector)this.d.get(i1); + if (localFaceDetector.idle()) + { + localFaceDetector.setIdle(false); + paramDetectType = new b(this, localFaceDetector, paramh, paramDetectType); + paramDetectType.a = this.n; + this.h.execute(paramDetectType); + this.e.add(paramh); + this.p += 1; + return; + } + i1 += 1; + } + } + } + } + + public final void b() + { + this.m = false; + if (this.r) { + this.g.b(); + } + this.g = null; + if (this.h != null) {} + try + { + this.h.shutdown(); + i1 = 0; + boolean bool; + do + { + com.tencent.token.global.e.b("awaitTermination before"); + bool = this.h.awaitTermination(100L, TimeUnit.MILLISECONDS); + StringBuilder localStringBuilder = new StringBuilder().append("awaitTermination after "); + i1 += 1; + com.tencent.token.global.e.b(i1); + } while (!bool); + } + catch (InterruptedException localInterruptedException) + { + int i1; + label91: + break label91; + } + i1 = 0; + while (i1 < c) + { + ((FaceDetector)this.d.get(i1)).Destroy(); + i1 += 1; + } + this.d.clear(); + this.m = false; + this.r = false; + this.j = null; + this.k = null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/f.java b/com.tencent.token/classes.jar/com/tencent/service/f.java new file mode 100755 index 00000000000..fb54935eeea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/f.java @@ -0,0 +1,73 @@ +package com.tencent.service; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.util.Log; +import com.tencent.jni.FaceDetector; +import com.tencent.jni.FaceInfo; +import java.util.ArrayList; + +final class f + extends Handler +{ + public f(e parame, Looper paramLooper) + { + super(paramLooper); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + Log.e("FaceService", "Unknown message type " + paramMessage.what); + } + do + { + return; + paramMessage = (a)paramMessage.obj; + paramMessage.a.setIdle(true); + if (!e.a(this.a).contains(paramMessage.b)) + { + com.tencent.token.global.e.b("Discard pic"); + return; + } + } while ((e.b(this.a) == null) || (e.c(this.a) == null)); + if (paramMessage.c == 0) { + if (e.d(this.a) == null) + { + e.a(this.a, paramMessage); + label138: + e.e(this.a); + } + } + for (;;) + { + e.a(this.a).remove(paramMessage.b); + if (e.f(this.a) != 4) { + break; + } + e.a(this.a, System.currentTimeMillis()); + com.tencent.token.global.e.b("检测了" + e.g(this.a) + "帧数据" + " 检测到" + 4 + "张人脸时间: " + (e.h(this.a) - e.i(this.a)) + " 最大分数: " + e.d(this.a).d.qualityScore()); + e.b(this.a).a(e.d(this.a).d.faceData(), e.g(this.a)); + e.a(this.a, null); + e.j(this.a); + e.k(this.a); + return; + if (paramMessage.d.qualityScore() <= e.d(this.a).d.qualityScore()) { + break label138; + } + e.a(this.a, paramMessage); + break label138; + FaceServiceDelegate.FaceDetectErrorCode localFaceDetectErrorCode = FaceServiceDelegate.FaceDetectErrorCode.values()[paramMessage.c]; + e.b(this.a).a(localFaceDetectErrorCode); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/g.java b/com.tencent.token/classes.jar/com/tencent/service/g.java new file mode 100755 index 00000000000..e9ea5a9d861 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/g.java @@ -0,0 +1,18 @@ +package com.tencent.service; + +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; + +final class g + implements RejectedExecutionHandler +{ + public g(e parame) {} + + public final void rejectedExecution(Runnable paramRunnable, ThreadPoolExecutor paramThreadPoolExecutor) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/h.java b/com.tencent.token/classes.jar/com/tencent/service/h.java new file mode 100755 index 00000000000..3492fa56c49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/h.java @@ -0,0 +1,27 @@ +package com.tencent.service; + +public final class h +{ + protected byte[] a; + protected int b = 0; + protected int c; + protected int d = 0; + protected int[] e; + protected float[] f; + + public h(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3, int[] paramArrayOfInt, float[] paramArrayOfFloat) + { + this.a = paramArrayOfByte; + this.b = paramInt1; + this.c = paramInt2; + this.d = paramInt3; + this.e = paramArrayOfInt; + this.f = paramArrayOfFloat; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/service/i.java b/com.tencent.token/classes.jar/com/tencent/service/i.java new file mode 100755 index 00000000000..92b215a084d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/service/i.java @@ -0,0 +1,198 @@ +package com.tencent.service; + +import android.content.Context; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.util.Log; +import java.util.ArrayList; + +public final class i + implements SensorEventListener +{ + boolean a = false; + protected SensorManager b; + private long c = 0L; + private double[] d = new double[3]; + private float[] e = new float[3]; + private float[] f = new float[3]; + private double g; + private ArrayList h = new ArrayList(); + private Context i; + private boolean j = false; + private boolean k = false; + private boolean l = false; + private int m = 0; + private int n = 0; + + i(Context paramContext) + { + this.i = paramContext; + } + + public final void a() + { + if (this.j) { + return; + } + this.b = ((SensorManager)this.i.getSystemService("sensor")); + Sensor localSensor = this.b.getDefaultSensor(4); + if (localSensor == null) + { + Log.d("error", "deveice not support TYPE_GYROSCOPE"); + this.l = false; + localSensor = this.b.getDefaultSensor(1); + if (localSensor != null) { + break label105; + } + Log.d("error", "deveice not support TYPE_ACCELEROMETER"); + this.k = false; + } + for (;;) + { + this.j = true; + return; + this.b.registerListener(this, localSensor, 0); + this.h.add(localSensor); + break; + label105: + this.h.add(localSensor); + this.b.registerListener(this, localSensor, 0); + } + } + + public final void b() + { + int i1 = 0; + while (i1 < this.h.size()) + { + this.b.unregisterListener(this, (Sensor)this.h.get(i1)); + i1 += 1; + } + this.a = false; + this.j = false; + } + + public final void onAccuracyChanged(Sensor paramSensor, int paramInt) {} + + public final void onSensorChanged(SensorEvent paramSensorEvent) + { + switch (paramSensorEvent.sensor.getType()) + { + case 2: + case 3: + default: + return; + case 4: + if (this.c != 0L) + { + double d1 = (paramSensorEvent.timestamp - this.c) * 9.999999717180685E-010D; + double[] arrayOfDouble = this.d; + arrayOfDouble[0] += paramSensorEvent.values[0] * d1; + arrayOfDouble = this.d; + arrayOfDouble[1] += paramSensorEvent.values[1] * d1; + arrayOfDouble = this.d; + double d2 = arrayOfDouble[2]; + arrayOfDouble[2] = (d1 * paramSensorEvent.values[2] + d2); + i3 = 0; + i1 = 0; + i2 = i3; + if (i1 < 3) + { + if ((paramSensorEvent.values[i1] <= 1.0D) && (paramSensorEvent.values[i1] >= -1.0D)) { + break label231; + } + i2 = 1; + } + if (i2 == 0) { + break label240; + } + this.l = true; + this.n = 0; + label199: + if ((!this.k) && (!this.l)) { + break label273; + } + } + label273: + for (bool = true;; bool = false) + { + this.a = bool; + this.c = paramSensorEvent.timestamp; + return; + label231: + i1 += 1; + break; + label240: + i1 = this.n + 1; + this.n = i1; + if (i1 != 1) { + break label199; + } + this.n = 0; + this.l = false; + break label199; + } + } + int i1 = 0; + while (i1 < 3) + { + this.e[i1] = ((float)(0.1D * paramSensorEvent.values[i1] + 0.9D * this.e[i1])); + this.f[i1] = (paramSensorEvent.values[i1] - this.e[i1]); + i1 += 1; + } + this.g = (this.e[1] / 9.80665F); + if (this.g > 1.0D) { + this.g = 1.0D; + } + if (this.g < -1.0D) { + this.g = -1.0D; + } + Math.toDegrees(Math.acos(this.g)); + int i3 = 0; + i1 = 0; + int i2 = i3; + if (i1 < 3) + { + if ((this.f[i1] > 1.0D) || (this.f[i1] < -1.0D)) { + i2 = 1; + } + } + else + { + if (i2 == 0) { + break label504; + } + this.m = 0; + this.k = true; + label471: + if ((!this.k) && (!this.l)) { + break label537; + } + } + label537: + for (boolean bool = true;; bool = false) + { + this.a = bool; + return; + i1 += 1; + break; + label504: + i1 = this.m + 1; + this.m = i1; + if (i1 != 1) { + break label471; + } + this.m = 0; + this.k = false; + break label471; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.service.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/a.java b/com.tencent.token/classes.jar/com/tencent/token/a.java new file mode 100755 index 00000000000..052f12ace60 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/a.java @@ -0,0 +1,593 @@ +package com.tencent.token; + +import android.content.Context; + +public final class a + extends i +{ + String a = "UTF-8"; + j b; + private Context c = null; + + public a(Context paramContext, String paramString) + { + this.c = paramContext; + try + { + this.b = new j(); + k.a(paramContext, paramString); + return; + } + catch (Throwable paramContext) + { + a(paramContext); + } + } + + /* Error */ + private byte[] b() + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore 4 + // 6: aload 4 + // 8: astore_2 + // 9: aload 5 + // 11: astore_3 + // 12: invokestatic 43 com/tencent/token/k:d ()Z + // 15: ifeq +5 -> 20 + // 18: aconst_null + // 19: areturn + // 20: aload 4 + // 22: astore_2 + // 23: aload 5 + // 25: astore_3 + // 26: invokestatic 45 com/tencent/token/k:c ()V + // 29: aload 4 + // 31: astore_2 + // 32: aload 5 + // 34: astore_3 + // 35: new 30 com/tencent/token/k + // 38: dup + // 39: invokespecial 46 com/tencent/token/k: ()V + // 42: astore 10 + // 44: aload 4 + // 46: astore_2 + // 47: aload 5 + // 49: astore_3 + // 50: new 48 com/tencent/token/c + // 53: dup + // 54: aload_0 + // 55: getfield 19 com/tencent/token/a:c Landroid/content/Context; + // 58: invokespecial 51 com/tencent/token/c: (Landroid/content/Context;)V + // 61: astore 6 + // 63: aload 4 + // 65: astore_2 + // 66: aload 5 + // 68: astore_3 + // 69: new 53 com/tencent/token/d + // 72: dup + // 73: aload_0 + // 74: getfield 19 com/tencent/token/a:c Landroid/content/Context; + // 77: invokespecial 54 com/tencent/token/d: (Landroid/content/Context;)V + // 80: astore 7 + // 82: aload 4 + // 84: astore_2 + // 85: aload 5 + // 87: astore_3 + // 88: new 56 com/tencent/token/b + // 91: dup + // 92: invokespecial 57 com/tencent/token/b: ()V + // 95: astore 8 + // 97: aload 4 + // 99: astore_2 + // 100: aload 5 + // 102: astore_3 + // 103: new 59 com/tencent/token/h + // 106: dup + // 107: aload_0 + // 108: getfield 19 com/tencent/token/a:c Landroid/content/Context; + // 111: invokespecial 60 com/tencent/token/h: (Landroid/content/Context;)V + // 114: astore 9 + // 116: aload 6 + // 118: invokevirtual 63 com/tencent/token/c:a ()Ljava/lang/String; + // 121: astore_2 + // 122: aload 7 + // 124: aload_2 + // 125: invokevirtual 66 com/tencent/token/d:b (Ljava/lang/String;)Ljava/security/PublicKey; + // 128: astore_1 + // 129: aload_1 + // 130: ifnull +449 -> 579 + // 133: aload_1 + // 134: invokevirtual 71 java/lang/Object:toString ()Ljava/lang/String; + // 137: astore_1 + // 138: aload 10 + // 140: aload 8 + // 142: aload_1 + // 143: invokevirtual 74 com/tencent/token/b:d (Ljava/lang/String;)Ljava/lang/String; + // 146: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 149: aload 7 + // 151: aload_2 + // 152: invokevirtual 79 com/tencent/token/d:c (Ljava/lang/String;)Ljava/security/PublicKey; + // 155: astore_1 + // 156: aload_1 + // 157: ifnull +623 -> 780 + // 160: aload_1 + // 161: invokevirtual 71 java/lang/Object:toString ()Ljava/lang/String; + // 164: astore_1 + // 165: aload 10 + // 167: aload 8 + // 169: aload_1 + // 170: invokevirtual 74 com/tencent/token/b:d (Ljava/lang/String;)Ljava/lang/String; + // 173: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 176: aload 7 + // 178: aload_2 + // 179: invokevirtual 81 com/tencent/token/d:d (Ljava/lang/String;)Ljava/security/PublicKey; + // 182: astore_1 + // 183: aload_1 + // 184: ifnull +602 -> 786 + // 187: aload_1 + // 188: invokevirtual 71 java/lang/Object:toString ()Ljava/lang/String; + // 191: astore_1 + // 192: aload 10 + // 194: aload 8 + // 196: aload_1 + // 197: invokevirtual 74 com/tencent/token/b:d (Ljava/lang/String;)Ljava/lang/String; + // 200: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 203: aload 7 + // 205: invokevirtual 84 com/tencent/token/d:a ()Ljava/security/PublicKey; + // 208: astore_1 + // 209: aload_1 + // 210: ifnull +582 -> 792 + // 213: aload_1 + // 214: invokevirtual 71 java/lang/Object:toString ()Ljava/lang/String; + // 217: astore_1 + // 218: aload 10 + // 220: aload 8 + // 222: aload_1 + // 223: invokevirtual 74 com/tencent/token/b:d (Ljava/lang/String;)Ljava/lang/String; + // 226: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 229: aload 7 + // 231: aload_2 + // 232: invokevirtual 86 com/tencent/token/d:a (Ljava/lang/String;)Ljava/security/PublicKey; + // 235: astore_1 + // 236: aload_1 + // 237: ifnull +348 -> 585 + // 240: aload_1 + // 241: invokevirtual 71 java/lang/Object:toString ()Ljava/lang/String; + // 244: astore_1 + // 245: aload 10 + // 247: aload 8 + // 249: aload_1 + // 250: invokevirtual 74 com/tencent/token/b:d (Ljava/lang/String;)Ljava/lang/String; + // 253: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 256: aload 10 + // 258: aload 8 + // 260: aload_2 + // 261: invokevirtual 88 com/tencent/token/b:a (Ljava/lang/String;)Ljava/lang/String; + // 264: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 267: aload 10 + // 269: aload 8 + // 271: aload_2 + // 272: invokevirtual 90 com/tencent/token/b:b (Ljava/lang/String;)Ljava/lang/String; + // 275: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 278: aload 10 + // 280: aload 8 + // 282: invokestatic 92 com/tencent/token/k:b ()Ljava/lang/String; + // 285: invokevirtual 94 com/tencent/token/b:c (Ljava/lang/String;)Ljava/lang/String; + // 288: invokevirtual 77 com/tencent/token/k:a (Ljava/lang/String;)V + // 291: aload 10 + // 293: aload 6 + // 295: invokevirtual 97 com/tencent/token/c:l ()Ljava/lang/String; + // 298: putfield 100 com/tencent/token/k:u Ljava/lang/String; + // 301: aload 10 + // 303: aload 6 + // 305: invokevirtual 103 com/tencent/token/c:k ()Ljava/lang/String; + // 308: putfield 106 com/tencent/token/k:t Ljava/lang/String; + // 311: aload 10 + // 313: aload 6 + // 315: invokevirtual 108 com/tencent/token/c:c ()Ljava/lang/String; + // 318: putfield 110 com/tencent/token/k:k Ljava/lang/String; + // 321: aload 10 + // 323: aload 6 + // 325: invokevirtual 113 com/tencent/token/c:h ()Ljava/lang/String; + // 328: putfield 116 com/tencent/token/k:q Ljava/lang/String; + // 331: aload 10 + // 333: aload 6 + // 335: invokevirtual 119 com/tencent/token/c:j ()Ljava/lang/String; + // 338: putfield 122 com/tencent/token/k:s Ljava/lang/String; + // 341: aload 10 + // 343: aload 6 + // 345: invokevirtual 125 com/tencent/token/c:m ()Ljava/lang/String; + // 348: putfield 128 com/tencent/token/k:v Ljava/lang/String; + // 351: aload 10 + // 353: aload 6 + // 355: invokevirtual 131 com/tencent/token/c:i ()Ljava/lang/String; + // 358: putfield 134 com/tencent/token/k:r Ljava/lang/String; + // 361: aload 10 + // 363: aload 6 + // 365: invokevirtual 137 com/tencent/token/c:n ()Ljava/lang/String; + // 368: putfield 140 com/tencent/token/k:w Ljava/lang/String; + // 371: aload 10 + // 373: aload 6 + // 375: invokevirtual 143 com/tencent/token/c:o ()Ljava/lang/String; + // 378: putfield 146 com/tencent/token/k:x Ljava/lang/String; + // 381: aload 10 + // 383: aload 6 + // 385: invokevirtual 149 com/tencent/token/c:e ()Ljava/lang/String; + // 388: putfield 151 com/tencent/token/k:n Ljava/lang/String; + // 391: aload 10 + // 393: aload 6 + // 395: invokevirtual 152 com/tencent/token/c:b ()Ljava/lang/String; + // 398: putfield 154 com/tencent/token/k:j Ljava/lang/String; + // 401: aload 10 + // 403: aload 6 + // 405: invokevirtual 158 com/tencent/token/c:f ()I + // 408: putfield 161 com/tencent/token/k:o I + // 411: aload 10 + // 413: aload 6 + // 415: invokevirtual 163 com/tencent/token/c:d ()Ljava/lang/String; + // 418: putfield 165 com/tencent/token/k:l Ljava/lang/String; + // 421: aload 10 + // 423: aload 6 + // 425: invokevirtual 168 com/tencent/token/c:p ()Ljava/lang/String; + // 428: putfield 171 com/tencent/token/k:y Ljava/lang/String; + // 431: aload 10 + // 433: iconst_1 + // 434: putfield 173 com/tencent/token/k:m I + // 437: aload 10 + // 439: aload 6 + // 441: invokevirtual 176 com/tencent/token/c:g ()Ljava/lang/String; + // 444: putfield 178 com/tencent/token/k:p Ljava/lang/String; + // 447: aload 10 + // 449: aload 6 + // 451: invokevirtual 180 com/tencent/token/c:q ()Ljava/lang/String; + // 454: putfield 183 com/tencent/token/k:z Ljava/lang/String; + // 457: aload 10 + // 459: aload 6 + // 461: invokevirtual 185 com/tencent/token/c:r ()Ljava/lang/String; + // 464: putfield 188 com/tencent/token/k:A Ljava/lang/String; + // 467: aload 10 + // 469: aload 9 + // 471: invokevirtual 189 com/tencent/token/h:b ()Ljava/lang/String; + // 474: putfield 191 com/tencent/token/k:g Ljava/lang/String; + // 477: aload 10 + // 479: getstatic 196 android/os/Build:MODEL Ljava/lang/String; + // 482: putfield 198 com/tencent/token/k:i Ljava/lang/String; + // 485: aload 10 + // 487: aload 9 + // 489: invokevirtual 199 com/tencent/token/h:a ()Ljava/lang/String; + // 492: putfield 201 com/tencent/token/k:f Ljava/lang/String; + // 495: aload 10 + // 497: getstatic 204 android/os/Build:PRODUCT Ljava/lang/String; + // 500: putfield 206 com/tencent/token/k:h Ljava/lang/String; + // 503: aload 8 + // 505: aload 8 + // 507: aload 10 + // 509: invokevirtual 208 com/tencent/token/k:a ()[B + // 512: invokevirtual 211 com/tencent/token/b:b ([B)[B + // 515: invokevirtual 213 com/tencent/token/b:c ([B)[B + // 518: astore_1 + // 519: aload_1 + // 520: astore_2 + // 521: aload_1 + // 522: astore_3 + // 523: aload_0 + // 524: new 215 java/lang/StringBuilder + // 527: dup + // 528: aload 6 + // 530: invokevirtual 217 com/tencent/token/c:s ()Ljava/lang/String; + // 533: invokestatic 223 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 536: invokespecial 225 java/lang/StringBuilder: (Ljava/lang/String;)V + // 539: aload 7 + // 541: invokevirtual 226 com/tencent/token/d:s ()Ljava/lang/String; + // 544: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 547: aload 8 + // 549: invokevirtual 231 com/tencent/token/b:s ()Ljava/lang/String; + // 552: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 555: aload 9 + // 557: invokevirtual 232 com/tencent/token/h:s ()Ljava/lang/String; + // 560: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 563: invokevirtual 233 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 566: invokevirtual 235 com/tencent/token/a:e (Ljava/lang/String;)V + // 569: aload_1 + // 570: areturn + // 571: astore_1 + // 572: aload_0 + // 573: aload_1 + // 574: invokevirtual 238 com/tencent/token/a:a (Ljava/lang/Exception;)V + // 577: aload_2 + // 578: areturn + // 579: ldc 240 + // 581: astore_1 + // 582: goto -444 -> 138 + // 585: ldc 240 + // 587: astore_1 + // 588: goto -343 -> 245 + // 591: astore_1 + // 592: aload_0 + // 593: aload_1 + // 594: invokevirtual 238 com/tencent/token/a:a (Ljava/lang/Exception;)V + // 597: aload 4 + // 599: astore_2 + // 600: aload 5 + // 602: astore_3 + // 603: aload_0 + // 604: new 215 java/lang/StringBuilder + // 607: dup + // 608: aload 6 + // 610: invokevirtual 217 com/tencent/token/c:s ()Ljava/lang/String; + // 613: invokestatic 223 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 616: invokespecial 225 java/lang/StringBuilder: (Ljava/lang/String;)V + // 619: aload 7 + // 621: invokevirtual 226 com/tencent/token/d:s ()Ljava/lang/String; + // 624: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 627: aload 8 + // 629: invokevirtual 231 com/tencent/token/b:s ()Ljava/lang/String; + // 632: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 635: aload 9 + // 637: invokevirtual 232 com/tencent/token/h:s ()Ljava/lang/String; + // 640: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 643: invokevirtual 233 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 646: invokevirtual 235 com/tencent/token/a:e (Ljava/lang/String;)V + // 649: aconst_null + // 650: areturn + // 651: astore_1 + // 652: aload_0 + // 653: aload_1 + // 654: invokevirtual 35 com/tencent/token/a:a (Ljava/lang/Throwable;)V + // 657: aload_3 + // 658: areturn + // 659: astore_1 + // 660: aload_0 + // 661: aload_1 + // 662: invokevirtual 35 com/tencent/token/a:a (Ljava/lang/Throwable;)V + // 665: aload 4 + // 667: astore_2 + // 668: aload 5 + // 670: astore_3 + // 671: aload_0 + // 672: new 215 java/lang/StringBuilder + // 675: dup + // 676: aload 6 + // 678: invokevirtual 217 com/tencent/token/c:s ()Ljava/lang/String; + // 681: invokestatic 223 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 684: invokespecial 225 java/lang/StringBuilder: (Ljava/lang/String;)V + // 687: aload 7 + // 689: invokevirtual 226 com/tencent/token/d:s ()Ljava/lang/String; + // 692: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 695: aload 8 + // 697: invokevirtual 231 com/tencent/token/b:s ()Ljava/lang/String; + // 700: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 703: aload 9 + // 705: invokevirtual 232 com/tencent/token/h:s ()Ljava/lang/String; + // 708: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 711: invokevirtual 233 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 714: invokevirtual 235 com/tencent/token/a:e (Ljava/lang/String;)V + // 717: aconst_null + // 718: areturn + // 719: astore_1 + // 720: aload 4 + // 722: astore_2 + // 723: aload 5 + // 725: astore_3 + // 726: aload_0 + // 727: new 215 java/lang/StringBuilder + // 730: dup + // 731: aload 6 + // 733: invokevirtual 217 com/tencent/token/c:s ()Ljava/lang/String; + // 736: invokestatic 223 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; + // 739: invokespecial 225 java/lang/StringBuilder: (Ljava/lang/String;)V + // 742: aload 7 + // 744: invokevirtual 226 com/tencent/token/d:s ()Ljava/lang/String; + // 747: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 750: aload 8 + // 752: invokevirtual 231 com/tencent/token/b:s ()Ljava/lang/String; + // 755: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 758: aload 9 + // 760: invokevirtual 232 com/tencent/token/h:s ()Ljava/lang/String; + // 763: invokevirtual 230 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 766: invokevirtual 233 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 769: invokevirtual 235 com/tencent/token/a:e (Ljava/lang/String;)V + // 772: aload 4 + // 774: astore_2 + // 775: aload 5 + // 777: astore_3 + // 778: aload_1 + // 779: athrow + // 780: ldc 240 + // 782: astore_1 + // 783: goto -618 -> 165 + // 786: ldc 240 + // 788: astore_1 + // 789: goto -597 -> 192 + // 792: ldc 240 + // 794: astore_1 + // 795: goto -577 -> 218 + // Local variable table: + // start length slot name signature + // 0 798 0 this a + // 128 442 1 localObject1 Object + // 571 3 1 localException1 java.lang.Exception + // 581 7 1 str1 String + // 591 3 1 localException2 java.lang.Exception + // 651 3 1 localThrowable1 Throwable + // 659 3 1 localThrowable2 Throwable + // 719 60 1 localObject2 Object + // 782 13 1 str2 String + // 8 767 2 localObject3 Object + // 11 767 3 localObject4 Object + // 4 769 4 localObject5 Object + // 1 775 5 localObject6 Object + // 61 671 6 localc c + // 80 663 7 locald d + // 95 656 8 localb b + // 114 645 9 localh h + // 42 466 10 localk k + // Exception table: + // from to target type + // 12 18 571 java/lang/Exception + // 26 29 571 java/lang/Exception + // 35 44 571 java/lang/Exception + // 50 63 571 java/lang/Exception + // 69 82 571 java/lang/Exception + // 88 97 571 java/lang/Exception + // 103 116 571 java/lang/Exception + // 523 569 571 java/lang/Exception + // 603 649 571 java/lang/Exception + // 671 717 571 java/lang/Exception + // 726 772 571 java/lang/Exception + // 778 780 571 java/lang/Exception + // 116 129 591 java/lang/Exception + // 133 138 591 java/lang/Exception + // 138 156 591 java/lang/Exception + // 160 165 591 java/lang/Exception + // 165 183 591 java/lang/Exception + // 187 192 591 java/lang/Exception + // 192 209 591 java/lang/Exception + // 213 218 591 java/lang/Exception + // 218 236 591 java/lang/Exception + // 240 245 591 java/lang/Exception + // 245 519 591 java/lang/Exception + // 12 18 651 java/lang/Throwable + // 26 29 651 java/lang/Throwable + // 35 44 651 java/lang/Throwable + // 50 63 651 java/lang/Throwable + // 69 82 651 java/lang/Throwable + // 88 97 651 java/lang/Throwable + // 103 116 651 java/lang/Throwable + // 523 569 651 java/lang/Throwable + // 603 649 651 java/lang/Throwable + // 671 717 651 java/lang/Throwable + // 726 772 651 java/lang/Throwable + // 778 780 651 java/lang/Throwable + // 116 129 659 java/lang/Throwable + // 133 138 659 java/lang/Throwable + // 138 156 659 java/lang/Throwable + // 160 165 659 java/lang/Throwable + // 165 183 659 java/lang/Throwable + // 187 192 659 java/lang/Throwable + // 192 209 659 java/lang/Throwable + // 213 218 659 java/lang/Throwable + // 218 236 659 java/lang/Throwable + // 240 245 659 java/lang/Throwable + // 245 519 659 java/lang/Throwable + // 116 129 719 finally + // 133 138 719 finally + // 138 156 719 finally + // 160 165 719 finally + // 165 183 719 finally + // 187 192 719 finally + // 192 209 719 finally + // 213 218 719 finally + // 218 236 719 finally + // 240 245 719 finally + // 245 519 719 finally + // 592 597 719 finally + // 660 665 719 finally + } + + public final String a() + { + int i = 0; + Object localObject1 = ""; + byte[] arrayOfByte = b(); + Object localObject4 = localObject1; + Object localObject3; + String str; + if (arrayOfByte != null) + { + localObject3 = localObject1; + try + { + localb = new b(); + localObject3 = localObject1; + str = s(); + localObject4 = localObject1; + localObject3 = localObject1; + if (str.length() > 1024) + { + localObject3 = localObject1; + i = str.length(); + i -= 1024; + localObject1 = ""; + } + } + catch (Throwable localThrowable1) + { + b localb; + int j; + label92: + a(localThrowable1); + return localObject3; + } + try + { + j = str.length() - i; + if (str != null) { + break label254; + } + localObject3 = ""; + } + catch (Throwable localThrowable2) + { + localObject3 = localThrowable1; + Object localObject2 = localThrowable2; + break label235; + localObject3 = str; + break label92; + } + localObject4 = localObject3; + if (((String)localObject3).length() > j) { + localObject4 = ((String)localObject3).substring(0, j); + } + localObject3 = localb.a(this.b.a(arrayOfByte, localb.b(((String)localObject4).getBytes(this.a)))); + localObject1 = localObject3; + localObject3 = localObject1; + if (i >= str.length()) + { + localObject3 = localObject1; + if (i == str.length()) + { + localObject3 = localObject1; + localObject4 = localObject1; + if (((String)localObject1).length() > 1024) { + return ""; + } + } + else + { + localObject3 = localObject1; + i = str.length(); + } + } + else + { + for (;;) + { + localObject3 = localObject1; + j = ((String)localObject1).length(); + localObject4 = localObject1; + if (j <= 1024) { + break label261; + } + localObject4 = localObject1; + localObject1 = localObject4; + break; + i += 10; + } + } + } + label235: + label254: + return localThrowable2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/aa.java b/com.tencent.token/classes.jar/com/tencent/token/aa.java new file mode 100755 index 00000000000..2bdc8a03d35 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/aa.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import java.util.TimerTask; +import oicq.wlogin_sdk.request.WtloginListener; +import oicq.wlogin_sdk.tools.ErrMsg; + +final class aa + extends TimerTask +{ + aa(x paramx) {} + + public final void run() + { + this.a.e.OnGetStWithPasswd(null, 0L, 0, 0L, null, null, 8192, new ErrMsg()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.aa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ab.java b/com.tencent.token/classes.jar/com/tencent/token/ab.java new file mode 100755 index 00000000000..ce5b8266756 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ab.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import java.util.TimerTask; +import oicq.wlogin_sdk.request.WtloginListener; +import oicq.wlogin_sdk.tools.ErrMsg; + +final class ab + extends TimerTask +{ + ab(x paramx) {} + + public final void run() + { + this.a.e.OnCheckPictureAndGetSt(null, null, null, 8192, new ErrMsg()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ac.java b/com.tencent.token/classes.jar/com/tencent/token/ac.java new file mode 100755 index 00000000000..5b6fa6e537d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ac.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import java.util.TimerTask; +import oicq.wlogin_sdk.request.WUserSigInfo; +import oicq.wlogin_sdk.request.WtloginListener; + +final class ac + extends TimerTask +{ + ac(x paramx) {} + + public final void run() + { + this.a.e.OnVerifyCode(null, null, 0L, null, new WUserSigInfo(), null, 8192); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ac + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ad.java b/com.tencent.token/classes.jar/com/tencent/token/ad.java new file mode 100755 index 00000000000..8659d5d5faa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ad.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import java.util.TimerTask; +import oicq.wlogin_sdk.request.WUserSigInfo; +import oicq.wlogin_sdk.request.WtloginListener; + +final class ad + extends TimerTask +{ + ad(x paramx) {} + + public final void run() + { + this.a.e.OnCloseCode(null, null, 0L, new WUserSigInfo(), null, 8192); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ad + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ae.java b/com.tencent.token/classes.jar/com/tencent/token/ae.java new file mode 100755 index 00000000000..39ce99138ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ae.java @@ -0,0 +1,20 @@ +package com.tencent.token; + +public final class ae +{ + private static ae a; + + public static ae a() + { + if (a == null) { + a = new ae(); + } + return a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ae + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/af.java b/com.tencent.token/classes.jar/com/tencent/token/af.java new file mode 100755 index 00000000000..4e34c9dde47 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/af.java @@ -0,0 +1,1879 @@ +package com.tencent.token; + +import android.app.Activity; +import android.content.ContentValues; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.WindowManager; +import com.tencent.jni.FaceDetector; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.ct; +import com.tencent.token.utils.b; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.io.File; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Random; +import org.json.JSONException; +import org.json.JSONObject; + +public final class af + implements bh +{ + public static int a = new Random().nextInt() >>> 1; + private static af b; + private bn c = new bn(); + + public static af a() + { + if (b == null) { + b = new af(); + } + return b; + } + + public static int b() + { + return a; + } + + public final int a(byte paramByte, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_get_dual_msg_list_v2", 2, paramHandler, 3069); + paramHandler.c.put("param.uinhash", Long.valueOf(0L)); + paramHandler.c.put("param.msg.source", Byte.valueOf(paramByte)); + this.c.a(paramHandler); + return 0; + } + + public final int a(int paramInt1, int paramInt2, int paramInt3, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_get_config_v2", 2, paramHandler, 3041); + paramHandler.c.put("param.config.width", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.config.height", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.config.dpi", Integer.valueOf(paramInt3)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt1, int paramInt2, int paramInt3, SafeMsgItem paramSafeMsgItem, Handler paramHandler) + { + Object localObject = ax.a().e(); + if (0L == 0L) + { + if (localObject == null) + { + paramSafeMsgItem = paramHandler.obtainMessage(3032); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramSafeMsgItem.arg1 = paramHandler.a; + paramSafeMsgItem.obj = paramHandler; + paramSafeMsgItem.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_report_location", 3, paramHandler, 3032); + if ((localObject != null) && (!((QQUser)localObject).mIsBinded)) { + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + } + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + localObject = new JSONObject(); + JSONObject localJSONObject1 = new JSONObject(); + JSONObject localJSONObject2 = new JSONObject(); + JSONObject localJSONObject3 = new JSONObject(); + try + { + localJSONObject1.put("type_a", paramSafeMsgItem.mTypea); + localJSONObject1.put("type_b", paramSafeMsgItem.mTypeb); + localJSONObject1.put("type_c", paramSafeMsgItem.mTypec); + int i = paramSafeMsgItem.a(); + localJSONObject2.put("ip", i); + localJSONObject2.put("country_id", paramSafeMsgItem.mLoc_country_id); + localJSONObject2.put("prov_id", paramSafeMsgItem.mLoc_prov_id); + localJSONObject2.put("city_id", paramSafeMsgItem.mLoc_city_id); + localJSONObject3.put("ip", i); + localJSONObject3.put("country_id", 1); + localJSONObject3.put("prov_id", paramInt1); + localJSONObject3.put("city_id", paramInt2); + ((JSONObject)localObject).put("msg_time", paramSafeMsgItem.mTime); + ((JSONObject)localObject).put("msg_type", localJSONObject1); + ((JSONObject)localObject).put("old_loc", localJSONObject2); + ((JSONObject)localObject).put("new_loc", localJSONObject3); + if ((paramInt3 == 1) || (paramInt3 == 2)) { + ((JSONObject)localObject).put("feed_priv_ip_type", paramInt3); + } + paramHandler.c.put("param.loginmsg.reportlocation", URLEncoder.encode(((JSONObject)localObject).toString())); + } + catch (Exception paramSafeMsgItem) + { + for (;;) + { + paramSafeMsgItem.printStackTrace(); + paramHandler.c.put("param.loginmsg.reportlocation", ""); + } + } + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt, Handler paramHandler) + { + Object localObject = ax.a().e(); + if (0L == 0L) + { + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3005); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_get_message_v2", 3, paramHandler, 3005); + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + du.a(paramHandler, paramLong, paramInt, 1, 1); + this.c.a(paramHandler); + return 0; + } + } + + public final int a(long paramLong1, int paramInt1, String paramString1, int paramInt2, int paramInt3, String paramString2, long paramLong2, long paramLong3, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3045); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong1 = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_jl_appeal", 3, paramHandler, 3045); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramHandler.c.put("param.jl_roleid", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.jl_rolename", paramString1); + paramHandler.c.put("param.jl_zoneid", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.jl_serverid", Integer.valueOf(paramInt3)); + paramHandler.c.put("param.jl_servername", paramString2); + paramHandler.c.put("param.jl_lastlogintime", Long.valueOf(paramLong2)); + paramHandler.c.put("param.jl_stealtime", Long.valueOf(paramLong3)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt, String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_verify_captcha_v2", 2, paramHandler, 3072); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.scene.id", Integer.valueOf(paramInt)); + paramHandler.c.put("param.captcha", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt, String paramString1, String paramString2, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3012); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_set_mod_mobile", 3, paramHandler, 3012); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbmobile.set", Integer.valueOf(paramInt)); + paramHandler.c.put("param.mbmobile.mobile", paramString1); + paramHandler.c.put("param.mbmoible.areacode", paramString2); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt, String paramString1, String paramString2, String paramString3, Handler paramHandler) + { + QQUser localQQUser = ax.a().e(); + if (0L == 0L) + { + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3005); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_get_message_v2", 3, paramHandler, 3005); + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(localQQUser.mRealUin)); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.msg.source", Integer.valueOf(paramInt)); + paramHandler.c.put("param.msg.type", Integer.valueOf(1)); + paramHandler.c.put("param.msg.num", Integer.valueOf(40)); + paramHandler.c.put("param.msg.filter", Integer.valueOf(0)); + paramHandler.c.put("param.device.lock.guid", paramString1); + paramHandler.c.put("param.device.lock.appid", Integer.valueOf(523005425)); + paramHandler.c.put("param.device.lock.subappid", Integer.valueOf(1)); + paramHandler.c.put("param.device.lock.appname", paramString2); + paramHandler.c.put("param.skey", paramString3); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, int paramInt, boolean paramBoolean, String paramString, Handler paramHandler) + { + QQUser localQQUser = ax.a().e(); + if (0L == 0L) + { + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3004); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_face_verify_on_off", 3, paramHandler, 4002); + int i = a + 1; + a = i; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.scene_id", Integer.valueOf(paramInt)); + paramHandler.c.put("param.verifyonoff", Boolean.valueOf(paramBoolean)); + paramHandler.c.put("param.wtlogin.a2", paramString); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong1, long paramLong2, int paramInt, Handler paramHandler) + { + Object localObject; + if (paramLong2 == 0L) + { + if (paramLong1 != 0L) { + break label191; + } + localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3068); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong1 = ((QQUser)localObject).mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_check_up_sms", 2, paramHandler, 3068); + a += 1; + cc.a(paramHandler, paramLong1, ((QQUser)localObject).mRealUin, paramInt, a); + this.c.a(paramHandler); + return 0; + paramHandler = new fs("mbtoken3_check_up_sms", 2, paramHandler, 3068); + a += 1; + cc.a(paramHandler, s.f(paramLong2), paramLong2, paramInt, a); + this.c.a(paramHandler); + return 0; + label191: + localObject = null; + } + } + + public final int a(long paramLong1, long paramLong2, int paramInt, String paramString, Handler paramHandler) + { + QQUser localQQUser; + if (paramLong2 == 0L) + { + if (paramLong1 != 0L) { + break label195; + } + localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3066); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + paramLong1 = localQQUser.mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_general_verify_mobile_code", 2, paramHandler, 3066); + a += 1; + dc.a(paramHandler, paramLong1, localQQUser.mRealUin, paramInt, a, paramString); + this.c.a(paramHandler); + return 0; + paramHandler = new fs("mbtoken3_general_verify_mobile_code", 2, paramHandler, 3066); + a += 1; + dc.a(paramHandler, s.f(paramLong2), paramLong2, paramInt, a, paramString); + this.c.a(paramHandler); + return 0; + label195: + localQQUser = null; + } + } + + public final int a(long paramLong1, long paramLong2, int paramInt, String paramString1, String paramString2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, Handler paramHandler) + { + long l; + int i; + label146: + Object localObject2; + if ((paramInt == 1) || (paramInt == 3)) + { + localObject1 = ax.a().e(); + l = paramLong2; + if (0L == 0L) + { + if (localObject1 == null) + { + paramString1 = paramHandler.obtainMessage(3067); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + if (paramLong2 == ((QQUser)localObject1).mRealUin) + { + paramLong1 = ((QQUser)localObject1).mUin; + l = ((QQUser)localObject1).mRealUin; + } + } + else + { + i = a + 1; + a = i; + if (paramInt != 1) { + break label1139; + } + paramHandler = new fs("mbtoken3_realname_reg", 3, paramHandler, 3067); + paramHandler.m = 1; + paramHandler.n = new ContentValues(3); + localObject2 = paramHandler.n; + ae.a(); + if (!ax.a().p()) { + break label1187; + } + ax.a(); + } + } + label1187: + for (Object localObject1 = ax.c;; localObject1 = null) + { + ((ContentValues)localObject2).put("aq_base_sid", (String)localObject1); + paramHandler.n.put("uin", Long.valueOf(paramLong1)); + localObject1 = new JSONObject(); + try + { + ((JSONObject)localObject1).put("real_uin", l); + ((JSONObject)localObject1).put("realname", paramString1); + ((JSONObject)localObject1).put("id_number", paramString2); + ((JSONObject)localObject1).put("op_type", paramInt); + e.a("doRealNameReg common_data=" + ((JSONObject)localObject1).toString()); + if (paramArrayOfByte1 != null) + { + localObject2 = b.a(paramArrayOfByte1); + ((JSONObject)localObject1).put("face_data", localObject2); + e.a("doRealNameReg face_data=" + ((String)localObject2).length()); + } + if (paramArrayOfByte2 != null) + { + localObject2 = b.a(paramArrayOfByte2); + ((JSONObject)localObject1).put("id_photo_front", localObject2); + e.a("doRealNameReg front_data=" + ((String)localObject2).length()); + } + if (paramArrayOfByte3 != null) + { + localObject2 = b.a(paramArrayOfByte3); + ((JSONObject)localObject1).put("id_photo_back", localObject2); + e.a("doRealNameReg back_data=" + ((String)localObject2).length()); + } + if (paramArrayOfByte4 != null) { + ((JSONObject)localObject1).put("id_photo_info_front", b.a(paramArrayOfByte4)); + } + if (paramArrayOfByte5 != null) { + ((JSONObject)localObject1).put("id_photo_info_back", b.a(paramArrayOfByte5)); + } + ((JSONObject)localObject1).put("token_seq", ag.c().k()); + ((JSONObject)localObject1).put("guid", s.a(x.a(RqdApplication.i()).c())); + ((JSONObject)localObject1).put("seq_id", i); + ((JSONObject)localObject1).put("op_time", (int)(ag.c().r() / 1000L)); + ((JSONObject)localObject1).put("vendor_id", Build.MANUFACTURER); + ((JSONObject)localObject1).put("android_id", s.a(RqdApplication.i())); + ((JSONObject)localObject1).put("imei", s.b(RqdApplication.i())); + ((JSONObject)localObject1).put("mac", s.c(RqdApplication.i())); + ((JSONObject)localObject1).put("device_model", Build.MODEL); + ((JSONObject)localObject1).put("sys_ver", Build.VERSION.RELEASE); + ((JSONObject)localObject1).put("face_detect_time", cv.e); + ((JSONObject)localObject1).put("face_detect_frame", cv.g); + ((JSONObject)localObject1).put("face_model_init_time", cv.f); + ((JSONObject)localObject1).put("vivo_model_init_time", cv.h); + ((JSONObject)localObject1).put("vivo_reg_action1_time", cv.i); + ((JSONObject)localObject1).put("vivo_reg_action2_time", cv.j); + ((JSONObject)localObject1).put("vivo_reg_action1_frame", cv.k); + ((JSONObject)localObject1).put("vivo_reg_action2_frame", cv.l); + ((JSONObject)localObject1).put("vivo_ver_action_time", cv.m); + ((JSONObject)localObject1).put("vivo_ver_action_frame", cv.n); + ((JSONObject)localObject1).put("vivo_reg_action1_type", ei.c); + ((JSONObject)localObject1).put("vivo_reg_action2_type", ei.d); + ((JSONObject)localObject1).put("vivo_ver_action_type", ei.e); + ((JSONObject)localObject1).put("id_photo_front_time", ct.b); + ((JSONObject)localObject1).put("id_photo_front_frame", ct.a); + ((JSONObject)localObject1).put("id_photo_back_time", ct.d); + ((JSONObject)localObject1).put("id_photo_back_frame", ct.c); + localObject2 = s.e(RqdApplication.i()); + if (!TextUtils.isEmpty((CharSequence)localObject2)) { + ((JSONObject)localObject1).put("route_name", localObject2); + } + localObject2 = s.d(RqdApplication.i()); + if (!TextUtils.isEmpty((CharSequence)localObject2)) { + ((JSONObject)localObject1).put("route_mac", localObject2); + } + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + localObject1 = b.a(s.c(((JSONObject)localObject1).toString().getBytes())).replace('+', '-').replace('=', '_'); + e.a("doRealNameReg data = " + ((String)localObject1).length()); + paramHandler.n.put("data", (String)localObject1); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramHandler.c.put("param.realuin", Long.valueOf(l)); + paramHandler.c.put("param.realname", paramString1); + paramHandler.c.put("param.idnumber", paramString2); + paramHandler.c.put("param.optype", Integer.valueOf(paramInt)); + paramHandler.c.put("param.facedata", paramArrayOfByte1); + paramHandler.c.put("param.frontdata", paramArrayOfByte2); + paramHandler.c.put("param.backdata", paramArrayOfByte3); + paramHandler.c.put("param.prontphotoinfo", paramArrayOfByte4); + paramHandler.c.put("param.backphotoinfo", paramArrayOfByte5); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + paramLong1 = s.f(paramLong2); + l = paramLong2; + break; + label1139: + if (paramInt == 3) + { + paramHandler = new fs("mbtoken3_realname_reg", 3, paramHandler, 3078); + break label146; + } + paramHandler = new fs("mbtoken3_realname_reg", 2, paramHandler, 3067); + break label146; + } + } + + public final int a(long paramLong1, long paramLong2, int paramInt1, byte[] paramArrayOfByte, int paramInt2, int paramInt3, Handler paramHandler) + { + Object localObject1 = null; + if (paramLong2 != 0L) { + localObject1 = ax.a().d(paramLong2); + } + if (localObject1 == null) { + localObject1 = ax.a().e(); + } + for (;;) + { + if (0L == 0L) + { + if (localObject1 == null) + { + paramArrayOfByte = paramHandler.obtainMessage(3058); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramArrayOfByte.arg1 = paramHandler.a; + paramArrayOfByte.obj = paramHandler; + paramArrayOfByte.sendToTarget(); + return -1; + } + paramLong1 = ((QQUser)localObject1).mUin; + } + for (;;) + { + long l; + int j; + label156: + Object localObject2; + if (paramLong2 != 0L) + { + l = s.f(paramLong2); + j = a + 1; + a = j; + if ((paramInt3 != 2) && (paramInt3 != 6)) { + break label1135; + } + paramHandler = new fs("mbtoken3_face_reg", 2, paramHandler, 3058); + paramHandler.m = 1; + paramHandler.n = new ContentValues(3); + ContentValues localContentValues = paramHandler.n; + ae.a(); + if (!ax.a().p()) { + break label1156; + } + ax.a(); + localObject2 = ax.c; + label204: + localContentValues.put("aq_base_sid", (String)localObject2); + paramHandler.n.put("uin", Long.valueOf(l)); + localObject2 = new JSONObject(); + if (paramInt1 == 2) { + break label1162; + } + } + for (;;) + { + try + { + ((JSONObject)localObject2).put("uin", ((QQUser)localObject1).mRealUin); + ((JSONObject)localObject2).put("op_type", paramInt1); + e.a("doFaceRecognition opType=" + paramInt1 + ",mRealUin=" + ((QQUser)localObject1).mRealUin + "," + "uin=" + paramLong2); + paramLong1 = System.currentTimeMillis(); + if (paramInt1 == 3) { + continue; + } + e.c("doFaceRecognition src data=" + paramArrayOfByte.length); + localObject1 = b.a(paramArrayOfByte); + ((JSONObject)localObject2).put("img_data", localObject1); + e.c("doFaceRecognition img_data=" + ((String)localObject1).length()); + ((JSONObject)localObject2).put("resolution", cv.c); + ((JSONObject)localObject2).put("so_code_time", cv.d); + ((JSONObject)localObject2).put("face_detect_time", cv.e); + ((JSONObject)localObject2).put("face_detect_frame", cv.g); + if (!FaceDetector.IsSupportNeon()) { + continue; + } + i = 1; + } + catch (Exception localException) + { + label1135: + paramHandler.k = true; + label1156: + label1162: + localException.printStackTrace(); + continue; + int i = 0; + continue; + i = paramInt3; + continue; + } + ((JSONObject)localObject2).put("is_neon", i); + ((JSONObject)localObject2).put("face_model_init_time", cv.f); + ((JSONObject)localObject2).put("vivo_model_init_time", cv.h); + ((JSONObject)localObject2).put("vivo_reg_action1_time", cv.i); + ((JSONObject)localObject2).put("vivo_reg_action2_time", cv.j); + ((JSONObject)localObject2).put("vivo_reg_action1_frame", cv.k); + ((JSONObject)localObject2).put("vivo_reg_action2_frame", cv.l); + ((JSONObject)localObject2).put("vivo_ver_action_time", cv.m); + ((JSONObject)localObject2).put("vivo_ver_action_frame", cv.n); + ((JSONObject)localObject2).put("vivo_reg_action1_type", ei.c); + ((JSONObject)localObject2).put("vivo_reg_action2_type", ei.d); + ((JSONObject)localObject2).put("vivo_ver_action_type", ei.e); + ((JSONObject)localObject2).put("mobile_os", "android:" + URLEncoder.encode(Build.VERSION.RELEASE)); + ((JSONObject)localObject2).put("algorithm", t.l()); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + ((JSONObject)localObject2).put("seq_id", j); + if (paramInt3 != 6) { + continue; + } + i = 1; + ((JSONObject)localObject2).put("scene", i); + e.a("doFaceRecognition scene=" + paramInt3); + if (paramInt1 == 5) { + ((JSONObject)localObject2).put("token_seq", ag.c().k()); + } + localObject1 = s.c(((JSONObject)localObject2).toString().getBytes()); + localObject2 = b.a((byte[])localObject1).replace('+', '-').replace('=', '_'); + i = (int)(System.currentTimeMillis() - paramLong1); + e.c("encodeTime=" + i); + paramHandler.n.put("data", (String)localObject2); + paramHandler.n.put("encode_time", Integer.valueOf(i)); + e.a("resolution=" + cv.c + ",so_code_time=" + cv.d + ",scan_time=" + cv.e + ",frame_cnt=" + cv.g + ",encode_time=" + i + ",seq=" + j); + e.a("doFaceRecognition data=" + localObject1.length); + e.a("doFaceRecognition base64 data=" + ((String)localObject2).length()); + paramHandler.c.put("param.uinhash", Long.valueOf(l)); + paramHandler.j = j; + e.c("reqdata.seq=" + j); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong2)); + paramHandler.c.put("param.optype", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.facedata", paramArrayOfByte); + paramHandler.c.put("param.lockstatus", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.scene.id", Integer.valueOf(paramInt3)); + this.c.a(paramHandler); + return 0; + l = paramLong1; + if (localObject1 == null) { + break; + } + paramLong2 = ((QQUser)localObject1).mRealUin; + l = paramLong1; + break; + paramHandler = new fs("mbtoken3_face_reg", 3, paramHandler, 3058); + break label156; + localObject2 = null; + break label204; + ((JSONObject)localObject2).put("uin", paramLong2); + if (paramInt2 > 0) { + ((JSONObject)localObject2).put("lock_status", paramInt2); + } + } + } + } + } + + public final int a(long paramLong1, long paramLong2, Handler paramHandler) + { + a += 1; + paramHandler = new fs("mbtoken3_unbind_token", 3, paramHandler, 4001); + int i = a; + paramHandler.c.put("param.realuin", Long.valueOf(paramLong2)); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramHandler.c.put("param.unbind.type", Integer.valueOf(1)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong1, long paramLong2, String paramString, Handler paramHandler) + { + long l2 = paramLong1; + long l1 = paramLong2; + if (0L == paramLong2) + { + QQUser localQQUser = ax.a().e(); + l2 = paramLong1; + l1 = paramLong2; + if (paramLong1 == 0L) + { + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3080); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + l1 = localQQUser.mRealUin; + l2 = localQQUser.mUin; + } + } + a += 1; + paramHandler = new fs("mbtoken3_card_check", 3, paramHandler, 3080); + int i = a; + paramHandler.c.put("param.uinhash", Long.valueOf(l2)); + paramHandler.c.put("param.realuin", Long.valueOf(l1)); + paramHandler.c.put("param.idnumber", paramString); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3000); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_get_ac_lock_status_v2", 3, paramHandler, 3000); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, Handler paramHandler, Activity paramActivity) + { + if (0L == 0L) + { + localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3048); + paramActivity = new d((byte)0); + paramActivity.a(110, null, null); + paramHandler.arg1 = paramActivity.a; + paramHandler.obj = paramActivity; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_query_jl_protection_info", 3, paramHandler, 3048); + int i = paramActivity.getWindowManager().getDefaultDisplay().getWidth(); + int j = paramActivity.getWindowManager().getDefaultDisplay().getHeight(); + Object localObject = new DisplayMetrics(); + paramActivity.getWindowManager().getDefaultDisplay().getMetrics((DisplayMetrics)localObject); + int k = ((DisplayMetrics)localObject).densityDpi; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.config.width", Integer.valueOf(i)); + paramHandler.c.put("param.config.height", Integer.valueOf(j)); + paramHandler.c.put("param.config.dpi", Integer.valueOf(k)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, Long paramLong1, int paramInt, Handler paramHandler) + { + if (paramLong1.longValue() == 0L) + { + if (0L != 0L) { + break label192; + } + paramLong1 = ax.a().e(); + if (paramLong1 == null) + { + paramLong1 = paramHandler.obtainMessage(3065); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramLong1.arg1 = paramHandler.a; + paramLong1.obj = paramHandler; + paramLong1.sendToTarget(); + return -1; + } + paramLong = paramLong1.mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_general_get_mobile_code", 2, paramHandler, 3065); + a += 1; + db.a(paramHandler, paramLong, paramLong1.mRealUin, paramInt, a); + this.c.a(paramHandler); + return 0; + paramHandler = new fs("mbtoken3_general_get_mobile_code", 2, paramHandler, 3065); + a += 1; + db.a(paramHandler, s.f(paramLong1.longValue()), paramLong1.longValue(), paramInt, a); + this.c.a(paramHandler); + return 0; + label192: + paramLong1 = null; + } + } + + public final int a(long paramLong, String paramString, int paramInt, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3052); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_modify_pwd", 3, paramHandler, 3052); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.qqpwd", paramString); + paramHandler.c.put("param.scene.id", Integer.valueOf(paramInt)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, String paramString, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3014); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_mbop_verify_mobile_code", 3, paramHandler, 3014); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbmobile.vrycode", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, String paramString1, String paramString2, int paramInt1, int paramInt2, String paramString3, int paramInt3, String paramString4, String paramString5, String paramString6, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3055); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + int i = a + 1; + a = i; + paramHandler = new fs("mbtoken3_device_lock_del_device_v2", 3, paramHandler, 3055); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.device.lock.dguid", paramString1); + paramHandler.c.put("param.device.lock.ddes", paramString2); + paramHandler.c.put("param.device.lock.dappid", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.device.lock.dsubappid", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.device.lock.dappname", paramString3); + paramHandler.c.put("param.device.lock.id", Integer.valueOf(paramInt3)); + paramHandler.c.put("param.device.lock.guid", paramString4); + paramHandler.c.put("param.device.lock.appid", Integer.valueOf(523005419)); + paramHandler.c.put("param.device.lock.subappid", Integer.valueOf(1)); + paramHandler.c.put("param.device.lock.appname", paramString5); + paramHandler.c.put("param.wtlogin.a2", paramString6); + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, String paramString1, String paramString2, int paramInt1, int paramInt2, String paramString3, String paramString4, String paramString5, String paramString6, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3056); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_kickoff", 3, paramHandler, 3056); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.device.lock.dguid", paramString1); + paramHandler.c.put("param.device.lock.ddes", paramString2); + paramHandler.c.put("param.device.lock.dappid", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.device.lock.dsubappid", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.device.lock.dappname", paramString3); + paramHandler.c.put("param.device.lock.guid", paramString4); + paramHandler.c.put("param.device.lock.appid", Integer.valueOf(523005425)); + paramHandler.c.put("param.device.lock.subappid", Integer.valueOf(1)); + paramHandler.c.put("param.device.lock.appname", paramString5); + paramHandler.c.put("param.skey", paramString6); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, List paramList, String[] paramArrayOfString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_vry_ques", 2, paramHandler, 3028); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.qqquestion", paramList); + paramHandler.c.put("param.qqquestionanswer", paramArrayOfString); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, byte[] paramArrayOfByte, Handler paramHandler) + { + int i = a + 1; + a = i; + paramHandler = new fs("mbtoken3_upgrade_determin_v3", 3, paramHandler, 3030); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.wtlogin.a2", paramArrayOfByte); + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(paramLong)); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, byte[] paramArrayOfByte, Handler paramHandler, int paramInt) + { + paramHandler = new fs("mbtoken3_vfy_wtlogin", 2, paramHandler, 3024); + cu.a(paramHandler, paramLong + "", paramArrayOfByte, paramInt); + this.c.a(paramHandler); + return 0; + } + + public final int a(long paramLong, byte[] paramArrayOfByte, Handler paramHandler, String paramString) + { + Object localObject1 = null; + Object localObject2 = ax.a().e(); + if (0L == 0L) + { + if (localObject2 == null) + { + paramArrayOfByte = paramHandler.obtainMessage(3059); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramArrayOfByte.arg1 = paramHandler.a; + paramArrayOfByte.obj = paramHandler; + paramArrayOfByte.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject2).mUin; + } + int i = a + 1; + a = i; + localObject2 = new fs("mbtoken3_face_pk", 3, paramHandler, 3059); + ((fs)localObject2).m = 1; + ((fs)localObject2).n = new ContentValues(3); + ContentValues localContentValues = ((fs)localObject2).n; + ae.a(); + paramHandler = localObject1; + if (ax.a().p()) + { + ax.a(); + paramHandler = ax.c; + } + localContentValues.put("aq_base_sid", paramHandler); + ((fs)localObject2).n.put("uin", Long.valueOf(paramLong)); + ((fs)localObject2).k = true; + e.c("path:" + paramString); + ((fs)localObject2).c.put("param.uinhash", Long.valueOf(paramLong)); + ((fs)localObject2).j = i; + ((fs)localObject2).c.put("param.facedata", paramArrayOfByte); + if (paramString != null) { + ((fs)localObject2).c.put("param.videopath", paramString); + } + this.c.a((fs)localObject2); + return 0; + } + + public final int a(long paramLong, int[] paramArrayOfInt1, int[] paramArrayOfInt2, String paramString, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramArrayOfInt1 = paramHandler.obtainMessage(3018); + paramArrayOfInt2 = new d((byte)0); + paramArrayOfInt2.a(110, null, null); + paramArrayOfInt1.arg1 = paramArrayOfInt2.a; + paramArrayOfInt1.obj = paramArrayOfInt2; + paramArrayOfInt1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_set_service_status", 3, paramHandler, 3018); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbinfo.id", paramArrayOfInt1); + paramHandler.c.put("param.mbinfo.val", paramArrayOfInt2); + paramHandler.c.put("param.skey", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int a(Handler paramHandler) + { + paramHandler = new fs("mbtoken3_exchange_key_v3", 1, paramHandler, 4000); + this.c.a(paramHandler); + return 0; + } + + public final int a(Handler paramHandler, int paramInt1, int paramInt2) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) {} + for (long l = 0L;; l = localQQUser.mRealUin) + { + a += 1; + paramHandler = new fs("mbtoken3_detector_report", 2, paramHandler, 0); + int i = a; + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + paramHandler.c.put("param.realuin", Long.valueOf(l)); + paramHandler.c.put("param.worm_type", Integer.valueOf(paramInt1)); + paramHandler.c.put("infected_cnt", Integer.valueOf(paramInt2)); + this.c.a(paramHandler); + return 0; + } + } + + public final int a(Handler paramHandler, File paramFile, String paramString) + { + QQUser localQQUser = ax.a().e(); + fs localfs = new fs("mbtoken3_log_upload", 2, paramHandler, 3063); + localfs.m = 2; + localfs.o = paramFile; + if (localQQUser == null) + { + localfs.p = ("0_" + paramString); + localfs.n = new ContentValues(2); + if (localQQUser != null) { + break label224; + } + localfs.n.put("uin", s.b(String.valueOf(0).getBytes())); + label106: + paramString = localfs.n; + ae.a(); + if (!ax.a().p()) { + break label252; + } + ax.a(); + } + label224: + label252: + for (paramHandler = ax.c;; paramHandler = null) + { + paramString.put("aq_base_sid", paramHandler); + paramHandler = localfs.n; + gb.a(); + paramHandler.put("log_date", Integer.valueOf(gb.g())); + ey.a(paramFile.getAbsolutePath()); + this.c.a(localfs); + return 0; + localfs.p = ("" + localQQUser.mUin + "_" + paramString); + break; + localfs.n.put("uin", s.b(String.valueOf(localQQUser.mRealUin).getBytes())); + break label106; + } + } + + public final int a(ConfigResult paramConfigResult, Handler paramHandler) + { + paramHandler = new fs("token.getstartupimg", 1, paramHandler, 3042); + paramHandler.c.put("param.startup.img.result", paramConfigResult); + this.c.a(paramHandler); + return 0; + } + + public final int a(String paramString) + { + return this.c.a(paramString); + } + + public final int a(String paramString1, long paramLong, int paramInt1, int paramInt2, String paramString2, Handler paramHandler) + { + long l = paramLong; + if (paramLong == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3019); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + l = localQQUser.mRealUin; + } + int i = a + 1; + a = i; + paramHandler = new fs("mbtoken3_get_sms_port_v2", 2, paramHandler, 3019); + paramHandler.c.put("param.realuin", Long.valueOf(l)); + paramHandler.c.put("param.mbmobile.mobile", paramString1); + paramHandler.c.put("param.mbmoible.ismobile", Integer.valueOf(paramInt1)); + paramHandler.c.put("param.scene.id", Integer.valueOf(paramInt2)); + paramHandler.c.put("param.mbmoible.areacode", paramString2); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int a(String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_feedback_v2", 2, paramHandler, 3022); + paramHandler.c.put("param.uinhash", Long.valueOf(0L)); + paramHandler.c.put("param.feedback.comment", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong, int paramInt, Handler paramHandler) + { + Object localObject = ax.a().e(); + if (0L == 0L) + { + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3006); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_get_message_v2", 3, paramHandler, 3006); + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + du.a(paramHandler, paramLong, paramInt, 2, 0); + this.c.a(paramHandler); + return 0; + } + } + + public final int b(long paramLong, int paramInt, String paramString1, String paramString2, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3013); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_mbop_get_mobile_code", 3, paramHandler, 3013); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbmobile.getcode", Integer.valueOf(paramInt)); + paramHandler.c.put("param.mbmobile.mobile", paramString1); + paramHandler.c.put("param.mbmoible.areacode", paramString2); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong, int paramInt, String paramString1, String paramString2, String paramString3, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramString1 = paramHandler.obtainMessage(3054); + paramString2 = new d((byte)0); + paramString2.a(110, null, null); + paramString1.arg1 = paramString2.a; + paramString1.obj = paramString2; + paramString1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + int i = a + 1; + a = i; + paramHandler = new fs("mbtoken3_get_device_lock_status_v2", 3, paramHandler, 3054); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.device.lock.id", Integer.valueOf(paramInt)); + paramHandler.c.put("param.device.lock.guid", paramString1); + paramHandler.c.put("param.device.lock.appid", Integer.valueOf(523005419)); + paramHandler.c.put("param.device.lock.subappid", Integer.valueOf(1)); + paramHandler.c.put("param.device.lock.appname", paramString2); + paramHandler.c.put("param.wtlogin.a2", paramString3); + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong1, long paramLong2, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3038); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong1 = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_feedback_abnormal_login", 3, paramHandler, 3038); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramHandler.c.put("param.feedback.msgid", Long.valueOf(paramLong2)); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3002); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_get_game_lock_status_v2", 3, paramHandler, 3002); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong, String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_verify_qqtoken", 2, paramHandler, 3027); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.qqtoken", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int b(long paramLong, int[] paramArrayOfInt1, int[] paramArrayOfInt2, String paramString, Handler paramHandler) + { + if (0L == 0L) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + paramArrayOfInt1 = paramHandler.obtainMessage(3061); + paramArrayOfInt2 = new d((byte)0); + paramArrayOfInt2.a(110, null, null); + paramArrayOfInt1.arg1 = paramArrayOfInt2.a; + paramArrayOfInt1.obj = paramArrayOfInt2; + paramArrayOfInt1.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + paramHandler = new fs("mbtoken3_set_service_status_v2", 3, paramHandler, 3061); + a += 1; + int i = a; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbinfo.id", paramArrayOfInt1); + paramHandler.c.put("param.mbinfo.val", paramArrayOfInt2); + paramHandler.c.put("param.wtlogin.a2", paramString); + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + this.c.a(paramHandler); + return 0; + } + + public final int b(Handler paramHandler) + { + paramHandler = new fs("mbtoken3_get_uin_list_v2", 2, paramHandler, 3003); + this.c.a(paramHandler); + return 0; + } + + public final int b(String paramString, Handler paramHandler) + { + paramHandler = new fs("token.getcommonimg", 1, paramHandler, 3050); + paramHandler.c.put("param.common.img.url", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int c(long paramLong, int paramInt, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3011); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_del_mbitem", 3, paramHandler, 3011); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.mbinfo.id", Integer.valueOf(paramInt)); + this.c.a(paramHandler); + return 0; + } + + public final int c(long paramLong, int paramInt, String paramString1, String paramString2, Handler paramHandler) + { + String str = paramString1; + if (paramString1 == null) { + str = ""; + } + paramString1 = new fs("mbtoken3_bind_token_by_app_v3", 2, paramHandler, 3026); + paramString1.c.put("param.realuin", Long.valueOf(paramLong)); + paramString1.c.put("param.bind.type", Integer.valueOf(paramInt)); + paramString1.c.put("param.bind.mobile", str); + paramString1.c.put("param.bind.areacode", paramString2); + this.c.a(paramString1); + return 0; + } + + public final int c(long paramLong1, long paramLong2, Handler paramHandler) + { + long l = paramLong1; + if (0L == paramLong2) + { + l = paramLong1; + if (paramLong1 == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3075); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + l = ((QQUser)localObject).mUin; + } + } + paramHandler = new fs("mbtoken3_qry_spec_verify", 3, paramHandler, 3075); + a += 1; + int i = a; + paramHandler.c.put("param.realuin", Long.valueOf(paramLong2)); + paramHandler.c.put("param.scene_id", Integer.valueOf(1)); + paramHandler.c.put("param.op_time", Long.valueOf(ag.c().r() / 1000L)); + paramHandler.c.put("param.uinhash", Long.valueOf(l)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int c(long paramLong, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3001); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_get_safe_protection_v2", 3, paramHandler, 3001); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int c(long paramLong, String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_verify_mobile_code", 2, paramHandler, 3029); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.smscode", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int c(Handler paramHandler) + { + fs localfs = new fs("mbtoken3_get_key_value_conf", 2, paramHandler, 3023); + Object localObject = bi.a(localfs.a); + if (localObject == null) {} + for (localObject = null;; localObject = ((bm)localObject).c()) + { + if ((localObject == null) || (((ft)localObject).a == null)) { + break label133; + } + try + { + NewConfigureCacheItem localNewConfigureCacheItem = ba.a().h.a("key_value"); + localObject = new JSONObject((String)((ft)localObject).a); + if (((JSONObject)localObject).getInt("key_value_version") < localNewConfigureCacheItem.mClientVersion) { + break label133; + } + localObject = ((JSONObject)localObject).getJSONObject("data"); + paramHandler = paramHandler.obtainMessage(3023); + paramHandler.arg1 = 0; + paramHandler.obj = ((JSONObject)localObject).toString(); + paramHandler.sendToTarget(); + return 0; + } + catch (JSONException paramHandler) + { + paramHandler.printStackTrace(); + } + } + label133: + this.c.a(localfs); + return 0; + } + + public final int c(String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_query_malicious_url", 2, paramHandler, 3053); + paramHandler.c.put("param.barcode.url", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int d(long paramLong, int paramInt, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3044); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_query_jl_role_list", 3, paramHandler, 3044); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.jl_worldid", Integer.valueOf(paramInt)); + this.c.a(paramHandler); + return 0; + } + + public final int d(long paramLong, Handler paramHandler) + { + Object localObject = ax.a().e(); + if (0L == 0L) + { + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3004); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_eval_account_v3", 3, paramHandler, 3004); + if ((localObject != null) && (!((QQUser)localObject).mIsBinded)) { + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + } + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + e.c("account page ProtoGetEvalAccountResult packet params: user =" + paramLong); + this.c.a(paramHandler); + return 0; + } + + public final int d(long paramLong, String paramString, Handler paramHandler) + { + QQUser localQQUser = ax.a().e(); + if (0L == 0L) + { + if (localQQUser == null) + { + paramString = paramHandler.obtainMessage(3060); + paramHandler = new d((byte)0); + paramHandler.a(110, null, null); + paramString.arg1 = paramHandler.a; + paramString.obj = paramHandler; + paramString.sendToTarget(); + return -1; + } + paramLong = localQQUser.mUin; + } + a += 1; + paramHandler = new fs("mbtoken3_get_login_prot", 3, paramHandler, 3060); + int i = a; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.wtlogin.a2", paramString); + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + this.c.a(paramHandler); + return 0; + } + + public final int d(Handler paramHandler) + { + paramHandler = new fs("mbtoken3_activate_token", 2, paramHandler, 3025); + this.c.a(paramHandler); + return 0; + } + + public final int d(String paramString, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_report_dns", 2, paramHandler, 3041); + paramHandler.c.put("param.reportdns.domain", paramString); + this.c.a(paramHandler); + return 0; + } + + public final int e(long paramLong, int paramInt, Handler paramHandler) + { + a += 1; + paramHandler = new fs("mbtoken3_login_v2", 2, paramHandler, 10002); + int i = a; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.loginv2.clearkick", Integer.valueOf(paramInt)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int e(long paramLong, Handler paramHandler) + { + Object localObject = ax.a().e(); + long l = paramLong; + if (paramLong == 0L) + { + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3010); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + l = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_get_mbinfo", 3, paramHandler, 3010); + if ((localObject != null) && (!((QQUser)localObject).mIsBinded)) { + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + } + paramHandler.c.put("param.uinhash", Long.valueOf(l)); + this.c.a(paramHandler); + return 0; + } + + public final int e(Handler paramHandler) + { + paramHandler = new fs("mbtoken3_qry_bind_notify_msg", 2, paramHandler, 3043); + this.c.a(paramHandler); + return 0; + } + + public final int f(long paramLong, int paramInt, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_query_captcha", 2, paramHandler, 3071); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.scene.id", Integer.valueOf(paramInt)); + this.c.a(paramHandler); + return 0; + } + + public final int f(long paramLong, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_get_mobile_code_v2", 2, paramHandler, 3031); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int f(Handler paramHandler) + { + if ((0L == 0L) && (ax.a().e() == null)) + { + paramHandler = paramHandler.obtainMessage(3049); + d locald = new d((byte)0); + locald.a(110, null, null); + paramHandler.arg1 = locald.a; + paramHandler.obj = locald; + paramHandler.sendToTarget(); + return -1; + } + paramHandler = new fs("mbtoken3_query_jl_zone_list", 2, paramHandler, 3049); + this.c.a(paramHandler); + return 0; + } + + public final int g(long paramLong, int paramInt, Handler paramHandler) + { + a += 1; + paramHandler = new fs("mbtoken3_bind_token_by_realname", 2, paramHandler, 3074); + int i = a; + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.c.put("param.type", Integer.valueOf(paramInt)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int g(long paramLong, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_query_real_uin_v2", 2, paramHandler, 1006); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int g(Handler paramHandler) + { + paramHandler = new fs("mbtoken3_get_domain", 2, paramHandler, 3062); + long l = 0L; + QQUser localQQUser = ax.a().e(); + if (localQQUser != null) { + l = localQQUser.mRealUin; + } + paramHandler.c.put("param.realuin", Long.valueOf(l)); + this.c.a(paramHandler); + return 0; + } + + public final int h(long paramLong, int paramInt, Handler paramHandler) + { + long l = paramLong; + if (paramLong == -1L) + { + QQUser localQQUser = ax.a().e(); + l = paramLong; + if (localQQUser != null) { + l = localQQUser.mRealUin; + } + } + paramHandler = new fs("mbtoken3_live_video_detect", 2, paramHandler, 3082); + ei.a(paramHandler, l, paramInt); + this.c.a(paramHandler); + return 0; + } + + public final int h(long paramLong, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_del_unvfy_uin", 2, paramHandler, 3036); + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int h(Handler paramHandler) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) {} + for (long l = 0L;; l = localQQUser.mRealUin) + { + a += 1; + paramHandler = new fs("mbtoken3_detector_info", 2, paramHandler, 3079); + int i = a; + paramHandler.c.put("param.common.seq", Integer.valueOf(i)); + paramHandler.c.put("param.realuin", Long.valueOf(l)); + this.c.a(paramHandler); + return 0; + } + } + + public final int i(long paramLong, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3037); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_feedback_mobile_using", 2, paramHandler, 3037); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int j(long paramLong, Handler paramHandler) + { + if (0L == 0L) + { + Object localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3046); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + paramHandler = new fs("mbtoken3_query_jl_appeal_list", 3, paramHandler, 3046); + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + this.c.a(paramHandler); + return 0; + } + + public final int k(long paramLong, Handler paramHandler) + { + Object localObject = ax.a().e(); + if (0L == 0L) + { + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3057); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + int i = a + 1; + a = i; + paramHandler = new fs("mbtoken3_security_reporter_v2", 3, paramHandler, 3057); + if ((localObject != null) && (!((QQUser)localObject).mIsBinded)) { + paramHandler.c.put("param.uin.wtlogin", Long.valueOf(((QQUser)localObject).mRealUin)); + } + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.type", Integer.valueOf(1)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int l(long paramLong, Handler paramHandler) + { + Object localObject; + if (0L == 0L) + { + localObject = ax.a().e(); + if (localObject == null) + { + paramHandler = paramHandler.obtainMessage(3064); + localObject = new d((byte)0); + ((d)localObject).a(110, null, null); + paramHandler.arg1 = ((d)localObject).a; + paramHandler.obj = localObject; + paramHandler.sendToTarget(); + return -1; + } + paramLong = ((QQUser)localObject).mUin; + } + for (;;) + { + paramHandler = new fs("mbtoken3_realname_status_v2", 3, paramHandler, 3064); + a += 1; + long l = ((QQUser)localObject).mRealUin; + int i = a; + paramHandler.c.put("param.uinhash", Long.valueOf(paramLong)); + paramHandler.c.put("param.realuin", Long.valueOf(l)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + localObject = null; + } + } + + public final int m(long paramLong, Handler paramHandler) + { + paramHandler = new fs("mbtoken3_realname_qry", 2, paramHandler, 3073); + a += 1; + int i = a; + paramHandler.c.put("param.realuin", Long.valueOf(paramLong)); + paramHandler.j = i; + this.c.a(paramHandler); + return 0; + } + + public final int n(long paramLong, Handler paramHandler) + { + long l = paramLong; + if (-1L == -1L) + { + QQUser localQQUser = ax.a().e(); + l = paramLong; + if (localQQUser != null) { + l = localQQUser.mRealUin; + } + } + paramHandler = new fs("mbtoken3_auto_idcard_detect", 2, paramHandler, 3083); + ca.a(paramHandler, l); + this.c.a(paramHandler); + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.af + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ag.java b/com.tencent.token/classes.jar/com/tencent/token/ag.java new file mode 100755 index 00000000000..4d2ee3f5b05 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ag.java @@ -0,0 +1,177 @@ +package com.tencent.token; + +import com.tencent.token.utils.encrypt.c; +import com.tencent.token.utils.q; + +public final class ag +{ + private static ag b = null; + private static String d = ""; + private static String e = "http://aq.qq.com"; + public as a = null; + private u c = null; + + static + { + if (q.c == 0) { + e = "http://test.aq.qq.com"; + } + } + + public static String a() + { + return e; + } + + public static void a(String paramString) + { + e = paramString; + } + + public static String b() + { + return d; + } + + public static void b(long paramLong) + { + paramLong = 1000L * paramLong; + if (paramLong > 0L) + { + long l = System.currentTimeMillis(); + if (b == null) { + b = new ag(); + } + b.c.a(paramLong - l); + if (b == null) { + b = new ag(); + } + b.c.a(); + if (b == null) { + b = new ag(); + } + b.c.g(); + } + } + + public static void b(String paramString) + { + String str = paramString; + if (paramString.length() > 15) { + str = paramString.substring(0, 15); + } + d = c.b(c.a(str.getBytes())); + } + + public static ag c() + { + if (b == null) { + b = new ag(); + } + return b; + } + + public static void d() + { + b = null; + } + + public final void a(long paramLong) + { + this.c.a(paramLong); + } + + public final void a(fu paramfu) + { + this.c.a = new fz().b(ap.a(paramfu.a())); + } + + public final void a(byte[] paramArrayOfByte) + { + this.c.a = paramArrayOfByte; + } + + public final void c(String paramString) + { + this.c.a(paramString); + } + + public final void e() + { + this.c.a = null; + } + + public final byte[] f() + { + return this.c.a; + } + + public final boolean g() + { + u localu = this.c; + return (localu.a == null) || (localu.a.length == 0); + } + + public final String h() + { + return this.c.c(); + } + + public final void i() + { + this.c.a(); + } + + public final String j() + { + return this.c.d(); + } + + public final long k() + { + return this.c.e(); + } + + public final int[] l() + { + int[] arrayOfInt = new int[6]; + System.arraycopy(this.c.b, 0, arrayOfInt, 0, 6); + return arrayOfInt; + } + + public final void m() + { + this.c.f(); + } + + public final void n() + { + this.c.g(); + } + + public final String o() + { + return this.c.h(); + } + + public final long p() + { + return this.c.i(); + } + + public final long q() + { + return 30000L - (System.currentTimeMillis() + this.c.i()) % 30000L; + } + + public final long r() + { + return System.currentTimeMillis() + this.c.i(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ag + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ah.java b/com.tencent.token/classes.jar/com/tencent/token/ah.java new file mode 100755 index 00000000000..0f2f0556385 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ah.java @@ -0,0 +1,222 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.c; + +public final class ah +{ + private static ah b = null; + public int a = 0; + private Context c = null; + private String d = null; + + public static ah a() + { + if (b == null) { + b = new ah(); + } + ah localah = b; + Object localObject = RqdApplication.i(); + boolean bool; + if (localah.c != localObject) + { + localah.c = ((Context)localObject); + if (localObject == null) { + break label120; + } + bool = true; + e.a(bool); + localObject = h(); + if (localObject == null) { + break label125; + } + bool = true; + label57: + e.a(bool); + localah.a = ((SharedPreferences)localObject).getInt("pwd_type", 0); + if (localah.a != 2) { + break label130; + } + } + label130: + for (localah.d = ((SharedPreferences)localObject).getString("pwd3g", null);; localah.d = ((SharedPreferences)localObject).getString("pwd", null)) + { + if (localah.a == 0) + { + localah.b(localah.d); + localah.a = 1; + } + return b; + label120: + bool = false; + break; + label125: + bool = false; + break label57; + } + } + + public static void a(int paramInt) + { + Object localObject = h(); + if (localObject != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + localObject = ((SharedPreferences)localObject).edit(); + ((SharedPreferences.Editor)localObject).putInt("lock_time", paramInt); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + } + + public static void b() + { + b = null; + } + + public static void d(String paramString) + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("startpwd_gesture_new_tip", 0).edit(); + localEditor.putBoolean(paramString, false); + localEditor.commit(); + } + + public static int g() + { + SharedPreferences localSharedPreferences = h(); + if (localSharedPreferences != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + return localSharedPreferences.getInt("lock_time", 0); + } + } + + public static SharedPreferences h() + { + switch () + { + default: + return RqdApplication.i().getSharedPreferences("token_pwd_file", 0); + case 0: + return RqdApplication.i().getSharedPreferences("token_pwd_file_test", 0); + case 1: + return RqdApplication.i().getSharedPreferences("token_pwd_file", 0); + case 2: + return RqdApplication.i().getSharedPreferences("token_pwd_file_exp", 0); + } + return RqdApplication.i().getSharedPreferences("token_pwd_file_gray", 0); + } + + public final boolean a(String paramString) + { + if ((paramString == null) || (this.d == null)) {} + while (this.a <= 0) { + return false; + } + return this.d.equals(c.b(c.a(paramString))); + } + + public final boolean b(String paramString) + { + Object localObject = h(); + boolean bool; + if (localObject != null) + { + bool = true; + e.a(bool); + localObject = ((SharedPreferences)localObject).edit(); + if ((paramString != null) && (paramString.length() > 0)) { + break label60; + } + this.d = null; + ((SharedPreferences.Editor)localObject).remove("pwd"); + } + for (;;) + { + ((SharedPreferences.Editor)localObject).commit(); + return true; + bool = false; + break; + label60: + this.d = c.b(c.a(paramString)); + ((SharedPreferences.Editor)localObject).putString("pwd", this.d); + ((SharedPreferences.Editor)localObject).putInt("pwd_type", 1); + this.a = 1; + } + } + + public final boolean c() + { + return (this.d != null) && (this.d.length() > 0); + } + + public final boolean c(String paramString) + { + Object localObject = h(); + boolean bool; + if (localObject != null) + { + bool = true; + e.a(bool); + localObject = ((SharedPreferences)localObject).edit(); + if ((paramString != null) && (paramString.length() > 0)) { + break label60; + } + this.d = null; + ((SharedPreferences.Editor)localObject).remove("pwd3g"); + } + for (;;) + { + ((SharedPreferences.Editor)localObject).commit(); + return true; + bool = false; + break; + label60: + if (this.a == 1) { + b(null); + } + this.d = c.b(c.a(paramString)); + this.a = 2; + ((SharedPreferences.Editor)localObject).putString("pwd3g", this.d); + ((SharedPreferences.Editor)localObject).putInt("pwd_type", 2); + } + } + + public final boolean d() + { + return (this.d != null) && (this.d.length() > 0) && (this.a == 2); + } + + public final int e() + { + return this.a; + } + + public final void f() + { + c(null); + Object localObject = h(); + if (localObject != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + localObject = ((SharedPreferences)localObject).edit(); + ((SharedPreferences.Editor)localObject).putLong("last_lock", 0L); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ah + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ai.java b/com.tencent.token/classes.jar/com/tencent/token/ai.java new file mode 100755 index 00000000000..590fa7b37c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ai.java @@ -0,0 +1,104 @@ +package com.tencent.token; + +import android.content.Context; +import android.media.AudioManager; +import android.media.SoundPool; +import android.os.AsyncTask; +import android.os.Handler; +import com.tencent.token.global.e; +import java.util.HashMap; + +public final class ai +{ + private static ai a = null; + private SoundPool b = null; + private Context c = null; + private HashMap d = null; + private boolean e = false; + private Handler f = null; + + public static ai a(Context paramContext) + { + int i = 1; + if (a == null) { + a = new ai(); + } + for (;;) + { + ai localai; + try + { + localai = a; + if (localai.c != paramContext) + { + localai.c = paramContext; + localai.b = new SoundPool(1, 3, 100); + localai.d = new HashMap(); + if (i > 10) { + break label148; + } + int j = localai.b.load(localai.c, 2131099650 + (i - 1), 1); + if (j == 0) { + e.c("load audio number=" + i + " fail"); + } else { + localai.d.put(Integer.valueOf(i), Integer.valueOf(j)); + } + } + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + } + for (;;) + { + return a; + label148: + i = localai.b.load(localai.c, 2131099649, 100); + if (i == 0) { + e.c("load audio door_open fail"); + } else { + localai.d.put(Integer.valueOf(11), Integer.valueOf(i)); + } + } + i += 1; + } + } + + public final int a(int paramInt) + { + AudioManager localAudioManager = (AudioManager)this.c.getSystemService("audio"); + float f1 = localAudioManager.getStreamVolume(3) / localAudioManager.getStreamMaxVolume(3); + return this.b.play(paramInt, f1, f1, 1, 0, 1.0F); + } + + public final void a() + { + if (!this.e) + { + this.e = true; + new aj(this).execute(new String[] { "" }); + } + } + + public final void a(int[] paramArrayOfInt) + { + e.a("start play token1"); + if (!this.e) + { + this.e = true; + e.a("start play token2"); + new ak(this, paramArrayOfInt).execute(new String[] { Integer.toString(0) }); + } + } + + public final void b() + { + this.b.release(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ai + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/aj.java b/com.tencent.token/classes.jar/com/tencent/token/aj.java new file mode 100755 index 00000000000..947f57b812d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/aj.java @@ -0,0 +1,35 @@ +package com.tencent.token; + +import android.media.SoundPool; +import android.os.AsyncTask; +import java.util.HashMap; + +final class aj + extends AsyncTask +{ + aj(ai paramai) {} + + private String a() + { + try + { + Integer localInteger = (Integer)ai.a(this.a).get(Integer.valueOf(11)); + if (localInteger == null) { + return null; + } + int i = this.a.a(localInteger.intValue()); + Thread.sleep(600L); + ai.b(this.a).stop(i); + ai.c(this.a); + return null; + } + catch (Exception localException) {} + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.aj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ak.java b/com.tencent.token/classes.jar/com/tencent/token/ak.java new file mode 100755 index 00000000000..4aeaef8d200 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ak.java @@ -0,0 +1,55 @@ +package com.tencent.token; + +import android.media.SoundPool; +import android.os.AsyncTask; +import com.tencent.token.global.e; +import java.util.HashMap; + +final class ak + extends AsyncTask +{ + private int c = 0; + + ak(ai paramai, int[] paramArrayOfInt) {} + + private String a(String... paramVarArgs) + { + try + { + if (paramVarArgs.length > 0) { + this.c = Integer.parseInt(paramVarArgs[0]); + } + e.a("start play token3"); + int i = 0; + while (i < this.a.length) + { + paramVarArgs = (Integer)ai.a(this.b).get(Integer.valueOf(this.a[i] + 1)); + if (paramVarArgs == null) + { + e.c("token number index=" + i + ",value=" + this.a[i] + " get sound error"); + return ""; + } + int j = this.b.a(paramVarArgs.intValue()); + Thread.sleep(600L); + ai.b(this.b).stop(j); + i += 1; + } + ai.c(this.b); + } + catch (Exception paramVarArgs) + { + for (;;) + { + paramVarArgs.printStackTrace(); + e.c("run exception msg=" + paramVarArgs.getMessage()); + } + } + return ""; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ak + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/al.java b/com.tencent.token/classes.jar/com/tencent/token/al.java new file mode 100755 index 00000000000..8a1f42650ec --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/al.java @@ -0,0 +1,28 @@ +package com.tencent.token; + +public abstract interface al +{ + public abstract void a(); + + public abstract void a(int paramInt); + + public abstract void a(int paramInt, String paramString); + + public abstract void a(String paramString); + + public abstract void b(); + + public abstract void b(int paramInt, String paramString); + + public abstract void b(String paramString); + + public abstract void c(); + + public abstract void c(String paramString); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.al + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/am.java b/com.tencent.token/classes.jar/com/tencent/token/am.java new file mode 100755 index 00000000000..90d214f47ab --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/am.java @@ -0,0 +1,13 @@ +package com.tencent.token; + +public final class am + extends an +{ + public String a = ""; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.am + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/an.java b/com.tencent.token/classes.jar/com/tencent/token/an.java new file mode 100755 index 00000000000..5233d4f7c78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/an.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +public class an + extends ao +{ + public int b; + public String c; + public int d; + public short e; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.an + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ao.java b/com.tencent.token/classes.jar/com/tencent/token/ao.java new file mode 100755 index 00000000000..9c22000a0ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ao.java @@ -0,0 +1,28 @@ +package com.tencent.token; + +import com.tencent.token.global.b; + +public class ao +{ + public byte[] f = null; + public long g; + public short h; + public byte i = 1; + public short j = 0; + public short k = 0; + public int l; + public int m; + public short n; + public short o = 4; + public short p = 2; + public short q = b.b(); + public String r = ""; + public byte[] s = new byte[32]; + public byte[] t = new byte[32]; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ao + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ap.java b/com.tencent.token/classes.jar/com/tencent/token/ap.java new file mode 100755 index 00000000000..ba4abc55942 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ap.java @@ -0,0 +1,322 @@ +package com.tencent.token; + +public final class ap +{ + public static long a(byte[] paramArrayOfByte, int paramInt) + { + return ((paramArrayOfByte[paramInt] & 0xFF) << 24) + ((paramArrayOfByte[(paramInt + 1)] & 0xFF) << 16) + ((paramArrayOfByte[(paramInt + 2)] & 0xFF) << 8) + ((paramArrayOfByte[(paramInt + 3)] & 0xFF) << 0); + } + + public static String a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return null; + } + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + if (i < paramArrayOfByte.length) + { + int k = paramArrayOfByte[i]; + int j = (k & 0xF0) >>> 4; + k &= 0xF; + char c1; + if (j > 9) + { + c1 = (char)(j - 10 + 65); + label62: + if (k <= 9) { + break label126; + } + } + label126: + for (char c2 = (char)(k - 10 + 65);; c2 = (char)(k + 48)) + { + localStringBuffer.append(String.valueOf(c1) + String.valueOf(c2)); + i += 1; + break; + c1 = (char)(j + 48); + break label62; + } + } + return localStringBuffer.toString(); + } + + public static String a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < paramInt2) + { + if (paramArrayOfByte[(paramInt1 + i)] == 0) { + j = 1; + } + } + else + { + if ((j == 0) || (i <= 0)) { + break; + } + return b(paramArrayOfByte, paramInt1, i); + } + i += 1; + } + return ""; + } + + public static void a(byte[] paramArrayOfByte, int paramInt, long paramLong) + { + paramArrayOfByte[paramInt] = ((byte)(int)(paramLong >> 24)); + paramArrayOfByte[(paramInt + 1)] = ((byte)(int)(paramLong >> 16)); + paramArrayOfByte[(paramInt + 2)] = ((byte)(int)(paramLong >> 8)); + paramArrayOfByte[(paramInt + 3)] = ((byte)(int)paramLong); + } + + public static byte[] a(String paramString) + { + int i = paramString.length(); + Object localObject = paramString.toUpperCase(); + if ((i % 2 != 0) || (i == 0)) { + return null; + } + int k = i / 2; + paramString = new byte[k]; + localObject = ((String)localObject).toCharArray(); + i = 0; + if (i < k) + { + int j = localObject[(i * 2)]; + int m = localObject[(i * 2 + 1)]; + if ((j >= 48) && (j <= 57)) + { + j = (j - 48 << 4) + 0; + label83: + if ((m < 48) || (m > 57)) { + break label146; + } + j += m - 48; + } + for (;;) + { + paramString[i] = ((byte)j); + i += 1; + break; + if ((j >= 65) && (j <= 70)) + { + j = (j - 65 + 10 << 4) + 0; + break label83; + } + return null; + label146: + if ((m < 65) || (m > 70)) { + break label174; + } + j += m - 65 + 10; + } + label174: + return null; + } + return paramString; + } + + /* Error */ + private static String b(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aconst_null + // 1: astore 6 + // 3: aconst_null + // 4: astore 5 + // 6: aconst_null + // 7: astore_3 + // 8: ldc 44 + // 10: astore 4 + // 12: iload_2 + // 13: iconst_2 + // 14: iadd + // 15: newarray byte + // 17: astore 7 + // 19: aload 7 + // 21: iconst_0 + // 22: iload_2 + // 23: bipush 8 + // 25: ishr + // 26: i2b + // 27: bastore + // 28: aload 7 + // 30: iconst_1 + // 31: iload_2 + // 32: i2b + // 33: bastore + // 34: aload_0 + // 35: iload_1 + // 36: aload 7 + // 38: iconst_2 + // 39: iload_2 + // 40: invokestatic 67 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 43: new 69 java/io/ByteArrayInputStream + // 46: dup + // 47: aload 7 + // 49: invokespecial 72 java/io/ByteArrayInputStream: ([B)V + // 52: astore_0 + // 53: new 74 java/io/DataInputStream + // 56: dup + // 57: aload_0 + // 58: invokespecial 77 java/io/DataInputStream: (Ljava/io/InputStream;)V + // 61: astore_3 + // 62: aload_3 + // 63: invokevirtual 80 java/io/DataInputStream:readUTF ()Ljava/lang/String; + // 66: astore 5 + // 68: aload 5 + // 70: astore 4 + // 72: aload_3 + // 73: invokevirtual 83 java/io/DataInputStream:close ()V + // 76: aload_0 + // 77: invokevirtual 84 java/io/ByteArrayInputStream:close ()V + // 80: aload 4 + // 82: areturn + // 83: astore_0 + // 84: aconst_null + // 85: astore 5 + // 87: aload_3 + // 88: astore_0 + // 89: aload 5 + // 91: astore_3 + // 92: aload_3 + // 93: ifnull +7 -> 100 + // 96: aload_3 + // 97: invokevirtual 83 java/io/DataInputStream:close ()V + // 100: aload_0 + // 101: ifnull -21 -> 80 + // 104: aload_0 + // 105: invokevirtual 84 java/io/ByteArrayInputStream:close ()V + // 108: ldc 44 + // 110: areturn + // 111: astore_0 + // 112: ldc 44 + // 114: areturn + // 115: astore_0 + // 116: aconst_null + // 117: astore_0 + // 118: aload 6 + // 120: astore_3 + // 121: aload_3 + // 122: ifnull +7 -> 129 + // 125: aload_3 + // 126: invokevirtual 83 java/io/DataInputStream:close ()V + // 129: aload_0 + // 130: ifnull -50 -> 80 + // 133: aload_0 + // 134: invokevirtual 84 java/io/ByteArrayInputStream:close ()V + // 137: ldc 44 + // 139: areturn + // 140: astore_0 + // 141: ldc 44 + // 143: areturn + // 144: astore_3 + // 145: aconst_null + // 146: astore_0 + // 147: aload 5 + // 149: astore 4 + // 151: aload 4 + // 153: ifnull +8 -> 161 + // 156: aload 4 + // 158: invokevirtual 83 java/io/DataInputStream:close ()V + // 161: aload_0 + // 162: ifnull +7 -> 169 + // 165: aload_0 + // 166: invokevirtual 84 java/io/ByteArrayInputStream:close ()V + // 169: aload_3 + // 170: athrow + // 171: astore_3 + // 172: goto -96 -> 76 + // 175: astore_0 + // 176: aload 4 + // 178: areturn + // 179: astore_3 + // 180: goto -80 -> 100 + // 183: astore_3 + // 184: goto -55 -> 129 + // 187: astore 4 + // 189: goto -28 -> 161 + // 192: astore_0 + // 193: goto -24 -> 169 + // 196: astore_3 + // 197: aload 5 + // 199: astore 4 + // 201: goto -50 -> 151 + // 204: astore 5 + // 206: aload_3 + // 207: astore 4 + // 209: aload 5 + // 211: astore_3 + // 212: goto -61 -> 151 + // 215: astore_3 + // 216: aload 6 + // 218: astore_3 + // 219: goto -98 -> 121 + // 222: astore 5 + // 224: goto -103 -> 121 + // 227: astore_3 + // 228: aconst_null + // 229: astore_3 + // 230: goto -138 -> 92 + // 233: astore 5 + // 235: goto -143 -> 92 + // Local variable table: + // start length slot name signature + // 0 238 0 paramArrayOfByte byte[] + // 0 238 1 paramInt1 int + // 0 238 2 paramInt2 int + // 7 119 3 localObject1 Object + // 144 26 3 localObject2 Object + // 171 1 3 localIOException1 java.io.IOException + // 179 1 3 localIOException2 java.io.IOException + // 183 1 3 localIOException3 java.io.IOException + // 196 11 3 localObject3 Object + // 211 1 3 localObject4 Object + // 215 1 3 localException1 java.lang.Exception + // 218 1 3 localObject5 Object + // 227 1 3 localIOException4 java.io.IOException + // 229 1 3 localObject6 Object + // 10 167 4 str1 String + // 187 1 4 localIOException5 java.io.IOException + // 199 9 4 localObject7 Object + // 4 194 5 str2 String + // 204 6 5 localObject8 Object + // 222 1 5 localException2 java.lang.Exception + // 233 1 5 localIOException6 java.io.IOException + // 1 216 6 localObject9 Object + // 17 31 7 arrayOfByte byte[] + // Exception table: + // from to target type + // 12 19 83 java/io/IOException + // 34 53 83 java/io/IOException + // 104 108 111 java/io/IOException + // 12 19 115 java/lang/Exception + // 34 53 115 java/lang/Exception + // 133 137 140 java/io/IOException + // 12 19 144 finally + // 34 53 144 finally + // 72 76 171 java/io/IOException + // 76 80 175 java/io/IOException + // 96 100 179 java/io/IOException + // 125 129 183 java/io/IOException + // 156 161 187 java/io/IOException + // 165 169 192 java/io/IOException + // 53 62 196 finally + // 62 68 204 finally + // 53 62 215 java/lang/Exception + // 62 68 222 java/lang/Exception + // 53 62 227 java/io/IOException + // 62 68 233 java/io/IOException + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/aq.java b/com.tencent.token/classes.jar/com/tencent/token/aq.java new file mode 100755 index 00000000000..6fec8394154 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/aq.java @@ -0,0 +1,216 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.e; + +public final class aq + implements gu +{ + private gr a = null; + private ar b = null; + private int c = 0; + private al d = null; + + public aq(al paramal) + { + this.d = paramal; + this.b = new ar(); + } + + private static String a(an paraman) + { + if ((paraman.c != null) && (paraman.c.length() != 0)) + { + str = paraman.c; + return str; + } + String str = "其它错误:" + paraman.b; + switch (paraman.b) + { + case 0: + default: + e.b("其它错误:" + paraman.b); + return "其它错误:" + paraman.b; + case 1: + e.b("短信没有到达"); + return "短信没有到达"; + case 2: + e.b("六位验证码验证错误"); + return "六位验证码验证错误"; + case 3: + e.b("该号码已经绑定令牌"); + return "该号码已经绑定令牌"; + case 4: + e.b("解除绑定时该号码还没有绑定qq"); + return "解除绑定时该号码还没有绑定qq"; + case 5: + e.b("密保手机不正确"); + return "密保手机不正确"; + case 6: + e.b("还没有密保手机"); + return "还没有密保手机"; + case 7: + e.b("客户端输入错误"); + return "客户端输入错误"; + case 8: + e.b("令牌序列号不存在"); + return "令牌序列号不存在"; + case 9: + e.b("已经到令牌的最大绑定个数"); + return "已经到令牌的最大绑定个数"; + case 100: + e.b("预留的错误码,如果客户端收到该错误码则无条件终止,并提示错误"); + return "预留的错误码,如果客户端收到该错误码则无条件终止,并提示错误"; + } + e.b("如果客户端收到此错误,测等待一段时间重新尝试请求。"); + return "如果客户端收到此错误,测等待一段时间重新尝试请求。"; + } + + public final void a() + { + int i = this.c; + Object localObject = new ao(); + int j = (int)(System.currentTimeMillis() / 1000L); + ((ao)localObject).g = 86630087L; + ((ao)localObject).l = i; + ((ao)localObject).m = j; + ((ao)localObject).n = 1; + ((ao)localObject).o = 4; + ((ao)localObject).p = 2; + ((ao)localObject).q = b.b(); + byte[] arrayOfByte1 = ((ao)localObject).r.getBytes(); + int k = arrayOfByte1.length; + if ((((ao)localObject).f != null) && (((ao)localObject).f.length > 0)) {} + for (i = ((ao)localObject).f.length;; i = 0) + { + j = ((ao)localObject).t.length + 92 + i + 32 + 1; + ((ao)localObject).h = ((short)j); + byte[] arrayOfByte2 = new byte[j]; + arrayOfByte2[0] = 2; + ap.a(arrayOfByte2, 1, ((ao)localObject).g); + j = ((ao)localObject).h; + arrayOfByte2[5] = ((byte)(j >> 8)); + arrayOfByte2[6] = ((byte)j); + arrayOfByte2[7] = ((ao)localObject).i; + j = ((ao)localObject).j; + arrayOfByte2[8] = ((byte)(j >> 8)); + arrayOfByte2[9] = ((byte)j); + j = ((ao)localObject).k; + arrayOfByte2[10] = ((byte)(j >> 8)); + arrayOfByte2[11] = ((byte)j); + ap.a(arrayOfByte2, 12, ((ao)localObject).l); + ap.a(arrayOfByte2, 16, ((ao)localObject).m); + j = ((ao)localObject).n; + arrayOfByte2[20] = ((byte)(j >> 8)); + arrayOfByte2[21] = ((byte)j); + j = ((ao)localObject).o; + arrayOfByte2[22] = ((byte)(j >> 8)); + arrayOfByte2[23] = ((byte)j); + j = ((ao)localObject).p; + arrayOfByte2[24] = ((byte)(j >> 8)); + arrayOfByte2[25] = ((byte)j); + j = ((ao)localObject).q; + arrayOfByte2[26] = ((byte)(j >> 8)); + arrayOfByte2[27] = ((byte)j); + byte[] arrayOfByte3 = new byte[64]; + if (k > 0) + { + j = k; + if (k > 64) { + j = 64; + } + System.arraycopy(arrayOfByte1, 0, arrayOfByte3, 0, j); + } + System.arraycopy(arrayOfByte3, 0, arrayOfByte2, 28, 64); + System.arraycopy(((ao)localObject).t, 0, arrayOfByte2, 92, ((ao)localObject).t.length); + j = ((ao)localObject).t.length + 92; + if (i > 0) + { + System.arraycopy(((ao)localObject).f, 0, arrayOfByte2, j, i); + i += j; + } + for (;;) + { + System.arraycopy(((ao)localObject).s, 0, arrayOfByte2, i, ((ao)localObject).s.length); + arrayOfByte2[(i + localObject.s.length)] = 3; + localObject = new gt(ag.a() + "/cn/manage/token/gprs_get_svr_time_req", arrayOfByte2, this); + ((gt)localObject).a("POST"); + this.a.a((gt)localObject); + this.c += 1; + return; + i = j; + } + } + } + + public final void a(gr paramgr) + { + this.a = paramgr; + } + + public final void a(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < 2) || (paramArrayOfByte[0] != 2) || (paramArrayOfByte[(paramArrayOfByte.length - 1)] != 3)) {} + for (int i = -1; i == -1; i = (short)(((paramArrayOfByte[20] & 0xFF) << 8) + ((paramArrayOfByte[21] & 0xFF) << 0))) { + return; + } + Object localObject = new an(); + switch (i) + { + case 103: + case 104: + default: + return; + case 101: + ar.a((an)localObject, paramArrayOfByte); + if (((an)localObject).b == 0) + { + e.b("服务器时间:" + ((an)localObject).d); + this.d.a(((an)localObject).d); + return; + } + this.d.a(a((an)localObject)); + return; + case 102: + localObject = new am(); + ar.a((an)localObject, paramArrayOfByte); + ((am)localObject).a = ap.a(((am)localObject).f, 0, 32); + if (((am)localObject).b == 0) + { + this.d.b(((am)localObject).a); + return; + } + this.d.c(a((an)localObject)); + return; + case 105: + ar.a((an)localObject, paramArrayOfByte); + if (((an)localObject).b == 0) + { + ax.a().n(); + this.d.a(); + return; + } + this.d.a(((an)localObject).b, a((an)localObject)); + return; + } + ar.a((an)localObject, paramArrayOfByte); + if (((an)localObject).b == 0) + { + ax.a().n(); + this.d.b(); + return; + } + this.d.b(((an)localObject).b, a((an)localObject)); + } + + public final void b() + { + this.d.c(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.aq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ar.java b/com.tencent.token/classes.jar/com/tencent/token/ar.java new file mode 100755 index 00000000000..19e2592f3dd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ar.java @@ -0,0 +1,44 @@ +package com.tencent.token; + +public final class ar +{ + public static void a(an paraman, byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < 2) || (paramArrayOfByte[0] != 2) || (paramArrayOfByte[(paramArrayOfByte.length - 1)] != 3)) { + return; + } + paraman.g = ap.a(paramArrayOfByte, 1); + paraman.h = ((short)(((paramArrayOfByte[5] & 0xFF) << 8) + ((paramArrayOfByte[6] & 0xFF) << 0))); + paraman.i = paramArrayOfByte[7]; + paraman.j = ((short)(((paramArrayOfByte[8] & 0xFF) << 8) + ((paramArrayOfByte[9] & 0xFF) << 0))); + paraman.k = ((short)(((paramArrayOfByte[10] & 0xFF) << 8) + ((paramArrayOfByte[11] & 0xFF) << 0))); + paraman.l = ((int)ap.a(paramArrayOfByte, 12)); + paraman.m = ((int)ap.a(paramArrayOfByte, 16)); + paraman.n = ((short)(((paramArrayOfByte[20] & 0xFF) << 8) + ((paramArrayOfByte[21] & 0xFF) << 0))); + paraman.o = ((short)(((paramArrayOfByte[22] & 0xFF) << 8) + ((paramArrayOfByte[23] & 0xFF) << 0))); + paraman.p = ((short)(((paramArrayOfByte[24] & 0xFF) << 8) + ((paramArrayOfByte[25] & 0xFF) << 0))); + paraman.q = ((short)(((paramArrayOfByte[26] & 0xFF) << 8) + ((paramArrayOfByte[27] & 0xFF) << 0))); + paraman.r = ap.a(paramArrayOfByte, 28, 64); + paraman.b = ((int)ap.a(paramArrayOfByte, 92)); + paraman.c = ap.a(paramArrayOfByte, 96, 256); + paraman.d = ((int)ap.a(paramArrayOfByte, 352)); + paraman.e = ((short)(((paramArrayOfByte[356] & 0xFF) << 8) + ((paramArrayOfByte[357] & 0xFF) << 0))); + System.arraycopy(paramArrayOfByte, 358, paraman.t, 0, paraman.t.length); + int j = paraman.t.length + 358; + int k = paramArrayOfByte.length - 1 - paraman.s.length - j; + int i = j; + if (k > 0) + { + paraman.f = new byte[k]; + System.arraycopy(paramArrayOfByte, j, paraman.f, 0, paraman.f.length); + i = j + paraman.f.length; + } + System.arraycopy(paramArrayOfByte, i, paraman.s, 0, paraman.s.length); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/as.java b/com.tencent.token/classes.jar/com/tencent/token/as.java new file mode 100755 index 00000000000..a28701ac741 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/as.java @@ -0,0 +1,181 @@ +package com.tencent.token; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.e; +import com.tencent.token.utils.o; + +public class as + implements al +{ + public long a = 0L; + public aq b = null; + public o c = null; + private Handler e = null; + private gr f = null; + + static + { + if (!as.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + d = bool; + return; + } + } + + public as() + { + try + { + this.f = gq.a(); + if ((!d) && (this.f == null)) { + throw new AssertionError(); + } + } + catch (Exception localException) + { + localException.printStackTrace(); + e.c("RESULT_ERROR!!!" + localException.getMessage()); + } + for (;;) + { + this.c = new o(this); + return; + this.b = new aq(this); + this.b.a(this.f); + } + } + + public final void a() + { + if (this.e == null) { + return; + } + this.e.sendEmptyMessage(10); + } + + public final void a(int paramInt) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putInt("serTime", paramInt); + localMessage.what = 13; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void a(int paramInt, String paramString) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putInt("errCode", paramInt); + localBundle.putString("error", paramString); + localMessage.what = 9; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void a(Handler paramHandler) + { + this.e = paramHandler; + } + + public final void a(String paramString) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putString("error", paramString); + localMessage.what = 14; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void b() + { + if (this.e == null) { + return; + } + this.e.sendEmptyMessage(12); + } + + public final void b(int paramInt, String paramString) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putInt("errCode", paramInt); + localBundle.putString("error", paramString); + localMessage.what = 11; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void b(String paramString) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putString("ucSmsPort", paramString); + localMessage.what = 1; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void c() + { + if (this.e == null) { + return; + } + this.e.sendEmptyMessage(15); + } + + public final void c(String paramString) + { + if (this.e == null) { + return; + } + Message localMessage = Message.obtain(); + Bundle localBundle = new Bundle(); + localBundle.putString("error", paramString); + localMessage.what = 2; + localMessage.setData(localBundle); + this.e.sendMessage(localMessage); + } + + public final void d() + { + if (this.e == null) { + return; + } + this.e.sendEmptyMessage(3); + } + + public final void e() + { + if (this.e == null) { + return; + } + this.e.sendEmptyMessage(4); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.as + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/at.java b/com.tencent.token/classes.jar/com/tencent/token/at.java new file mode 100755 index 00000000000..2c3655598f6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/at.java @@ -0,0 +1,167 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.List; +import org.json.JSONException; +import org.json.JSONObject; + +public final class at + extends au +{ + static at a; + private final String d = "/cn/mbtoken3/mbtoken3_scan_qrcode_v2"; + private String e; + private int f; + private int g; + + private at() + { + super(2); + } + + public static at a() + { + if (a == null) { + a = new at(); + } + return a; + } + + public final d a(String paramString) + { + this.b.clear(); + this.e = ""; + this.f = 0; + d locald = new d((byte)0); + Object localObject1 = ax.a(); + if ((localObject1 == null) || (((ax)localObject1).e() == null)) + { + locald.a(110, null, null); + return locald; + } + long l = ((ax)localObject1).f(); + if (l == 0L) + { + locald.a(10029, null, null); + return locald; + } + if (((ax)localObject1).e().mIsBinded) { + l = ((ax)localObject1).e().mUin; + } + gv localgv = new gv(); + try + { + localObject1 = new JSONObject(); + ((JSONObject)localObject1).put("uin", l); + i = af.a + 1; + af.a = i; + this.g = i; + ((JSONObject)localObject1).put("seq_id", this.g); + ((JSONObject)localObject1).put("op_time", ag.c().r() / 1000L); + if (paramString != null) { + ((JSONObject)localObject1).put("url_data", paramString); + } + localObject1 = ((JSONObject)localObject1).toString(); + e.a("plain:" + (String)localObject1); + localObject1 = s.b(((String)localObject1).getBytes()); + } + catch (JSONException localJSONException) + { + int i; + byte[] arrayOfByte; + Object localObject2; + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + localObject2 = null; + } + for (;;) + { + try + { + localObject2 = new JSONObject(new String(arrayOfByte)); + i = ((JSONObject)localObject2).getInt("err"); + if (i != 0) + { + paramString = ((JSONObject)localObject2).getString("info"); + locald.a(i, paramString, paramString); + break label845; + } + localObject2 = s.d(((JSONObject)localObject2).getString("data")); + if (localObject2 == null) { + break; + } + localObject2 = new JSONObject(new String((byte[])localObject2)); + i = ((JSONObject)localObject2).getInt("seq_id"); + if (i != this.g) + { + locald.a(10030, null, null); + paramString = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return locald; + } + this.f = ((JSONObject)localObject2).getInt("type"); + if (1 != this.f) { + break label774; + } + paramString = ((JSONObject)localObject2).getJSONObject("msg"); + localObject2 = new com.tencent.token.core.bean.b(); + if (((com.tencent.token.core.bean.b)localObject2).a(paramString)) { + continue; + } + e.c("object item parse failed "); + } + catch (JSONException paramString) + { + paramString.printStackTrace(); + e.c("parse json failed: " + paramString.toString()); + locald.a(10020, "JSONException:" + paramString.toString(), null); + break label845; + this.b.add(localObject2); + continue; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + e.c("unknown err: " + paramString.toString()); + locald.a(10021, "JSONException:" + paramString.toString(), null); + } + ax.a().m(); + locald.a = 0; + break label845; + if (2 == this.f) { + this.e = ((JSONObject)localObject2).getString("text"); + } else { + this.e = paramString; + } + } + e.c("parseJSON error decodeData=" + localObject2); + locald.a(10022, RqdApplication.i().getString(2131361799), null); + } + localObject1 = "?aq_base_sid=" + ax.g() + "&data=" + (String)localObject1; + localObject1 = com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_scan_qrcode_v2" + (String)localObject1; + arrayOfByte = localgv.a((String)localObject1); + if (arrayOfByte == null) + { + paramString = localgv.a(); + locald.a(paramString.a, paramString.b, paramString.c); + e.c("client request url: " + (String)localObject1 + " failed, reason: " + locald.a + ":" + locald.b); + return locald; + } + label774: + label845: + return locald; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.at + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/au.java b/com.tencent.token/classes.jar/com/tencent/token/au.java new file mode 100755 index 00000000000..b2a85051655 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/au.java @@ -0,0 +1,124 @@ +package com.tencent.token; + +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.ArrayList; +import java.util.List; +import org.json.JSONException; +import org.json.JSONObject; + +public class au +{ + private final String a = "/cn/mbtoken3/mbtoken3_update_dual_msg_status"; + protected List b = new ArrayList(); + protected long c; + private int d; + + protected au(int paramInt) + { + this.d = paramInt; + } + + private static String b(com.tencent.token.core.bean.b paramb, int paramInt) + { + try + { + JSONObject localJSONObject = new JSONObject(); + localJSONObject.put("app_id", paramb.b()); + localJSONObject.put("msg_type", paramb.d()); + localJSONObject.put("msg_id", paramb.a()); + localJSONObject.put("msg_status", paramInt); + paramb = localJSONObject.toString(); + e.a("palin: " + paramb); + paramb = s.b(paramb.getBytes()); + return paramb; + } + catch (JSONException paramb) + { + paramb.printStackTrace(); + } + return null; + } + + public final com.tencent.token.core.bean.b a(int paramInt) + { + if (this.b == null) {} + for (;;) + { + return null; + if (this.b == null) {} + for (int i = 0; (paramInt >= 0) && (paramInt < i); i = this.b.size()) { + return (com.tencent.token.core.bean.b)this.b.get(paramInt); + } + } + } + + public final d a(com.tencent.token.core.bean.b paramb, int paramInt) + { + d locald = new d((byte)0); + Object localObject1 = new gv(); + ax.a(); + if (paramb == null) + { + locald.a(10023, null, null); + return locald; + } + Object localObject2 = b(paramb, paramInt); + if (localObject2 == null) + { + locald.a(10000, "encrypt msg status failed", null); + return locald; + } + paramb = "?aq_base_sid=" + ax.g() + "&uin=" + paramb.c() + "&msg_uin=" + paramb.c() + "&data=" + (String)localObject2 + "&type=" + this.d; + paramb = com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_update_dual_msg_status" + paramb; + localObject2 = ((gv)localObject1).a(paramb); + if (localObject2 == null) + { + localObject1 = ((gv)localObject1).a(); + locald.a(((d)localObject1).a, ((d)localObject1).b, ((d)localObject1).c); + e.c("client request url: " + paramb + " failed, reason: " + locald.a + ":" + locald.b); + return locald; + } + try + { + paramb = new JSONObject(new String((byte[])localObject2)); + paramInt = paramb.getInt("err"); + if (paramInt != 0) + { + paramb = paramb.getString("info"); + locald.a(paramInt, paramb, paramb); + return locald; + } + } + catch (JSONException paramb) + { + e.c("parse json failed: " + paramb.toString()); + locald.a(10020, "JSONException:" + paramb.toString(), null); + return locald; + ax.a().m(); + locald.a = 0; + return locald; + } + catch (Exception paramb) + { + e.c("unknown err: " + paramb.toString()); + locald.a(10021, "JSONException:" + paramb.toString(), null); + } + return locald; + } + + public final int b() + { + if (this.b == null) { + return 0; + } + return this.b.size(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.au + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/av.java b/com.tencent.token/classes.jar/com/tencent/token/av.java new file mode 100755 index 00000000000..42403fc544f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/av.java @@ -0,0 +1,326 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class av + extends au +{ + public static byte a = 1; + public static byte d = 2; + public static byte e = 3; + public static byte f = 4; + static av g; + private final String h = "/cn/mbtoken3/mbtoken3_get_dual_msg_list_v2"; + private int i; + + private av() + { + super(1); + } + + public static av a() + { + if (g == null) { + g = new av(); + } + return g; + } + + private d b(byte paramByte, long paramLong) + { + int m = 1; + int j = 1; + int k = 0; + this.b.clear(); + Object localObject1 = new d((byte)0); + Object localObject4 = ax.a(); + Object localObject2; + if (!((ax)localObject4).o()) + { + if (!((ax)localObject4).p()) + { + localObject2 = ((ax)localObject4).q(); + if (((d)localObject2).a == 0) {} + for (;;) + { + localObject1 = localObject2; + if (j != 0) { + break; + } + return localObject2; + j = 0; + } + } + localObject2 = ((ax)localObject4).t(); + if (((d)localObject2).a == 0) {} + for (j = m;; j = 0) + { + localObject1 = localObject2; + if (j != 0) { + break; + } + return localObject2; + } + } + for (;;) + { + if (paramLong > 0L) + { + j = k; + while (j < ((ax)localObject4).d()) + { + localObject2 = ((ax)localObject4).a(j); + e.c("other app: hash=" + paramLong + ", uin=" + ((QQUser)localObject2).mUin + ", real=" + ((QQUser)localObject2).mRealUin + ", bind=" + ((QQUser)localObject2).mIsBinded); + if ((((QQUser)localObject2).mIsBinded) && (((QQUser)localObject2).mUin == paramLong)) { + break; + } + if ((!((QQUser)localObject2).mIsBinded) && (s.f(((QQUser)localObject2).mRealUin) == paramLong)) + { + ((d)localObject1).a(10029, null, null); + return localObject1; + } + j += 1; + } + if (j == ((ax)localObject4).d()) + { + ((d)localObject1).a(110, null, null); + return localObject1; + } + } + long l = ((ax)localObject4).f(); + if ((((ax)localObject4).e() == null) || (l == 0L)) + { + ((d)localObject1).a(110, null, null); + return localObject1; + } + if (((ax)localObject4).e().mIsBinded) { + l = ((ax)localObject4).e().mUin; + } + localObject4 = new gv(); + try + { + localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", l); + j = af.a + 1; + af.a = j; + this.i = j; + ((JSONObject)localObject2).put("seq_id", this.i); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject2).put("tkn_seq", ag.c().j().replaceAll("-", "")); + ((JSONObject)localObject2).put("source", paramByte); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject2 = "?aq_base_sid=" + ax.g() + "&data=" + (String)localObject2; + localObject2 = com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_get_dual_msg_list_v2" + (String)localObject2; + arrayOfByte = ((gv)localObject4).a((String)localObject2); + if (arrayOfByte == null) + { + localObject4 = ((gv)localObject4).a(); + ((d)localObject1).a(((d)localObject4).a, ((d)localObject4).b, ((d)localObject4).c); + e.c("client request url: " + (String)localObject2 + " failed, reason: " + ((d)localObject1).a + ":" + ((d)localObject1).b); + return localObject1; + } + } + catch (JSONException localJSONException1) + { + byte[] arrayOfByte; + Object localObject3; + for (;;) + { + e.c("JSONException:" + localJSONException1.getMessage()); + localObject3 = null; + } + try + { + localObject3 = new JSONObject(new String(arrayOfByte)); + paramByte = ((JSONObject)localObject3).getInt("err"); + if (paramByte != 0) + { + localObject3 = ((JSONObject)localObject3).getString("info"); + ((d)localObject1).a(paramByte, (String)localObject3, (String)localObject3); + } + else + { + localObject3 = s.d(((JSONObject)localObject3).getString("data")); + if (localObject3 != null) + { + localObject3 = new JSONObject(new String((byte[])localObject3)); + paramByte = ((JSONObject)localObject3).getInt("seq_id"); + if (paramByte != this.i) + { + ((d)localObject1).a(10030, null, null); + localObject3 = new StringBuilder().append("parseJSON error seq is wrong seq=").append(paramByte).append(",right = "); + af.a(); + e.c(af.b()); + return localObject1; + } + localObject3 = ((JSONObject)localObject3).getJSONArray("msgs"); + if (!a((JSONArray)localObject3, paramLong)) { + ((d)localObject1).a(10000, "update conf list failed:" + ((JSONArray)localObject3).toString(), null); + } + } + } + } + catch (JSONException localJSONException2) + { + e.c("parse json failed: " + localJSONException2.toString()); + ((d)localObject1).a(10020, "JSONException:" + localJSONException2.toString(), null); + break; + ax.a().m(); + ((d)localObject1).a = 0; + } + catch (Exception localException) + { + e.c("unknown err: " + localException.toString()); + ((d)localObject1).a(10021, "JSONException:" + localException.toString(), null); + } + e.c("parseJSON error decodeData=" + localException); + ((d)localObject1).a(10022, RqdApplication.i().getString(2131361799), null); + } + } + return localObject1; + } + + private static long d() + { + Context localContext = RqdApplication.i(); + try + { + l = localContext.getSharedPreferences("dualmsgtime", 0).getLong("time", 0L); + e.c("SharedPreferences msg " + localException1.getMessage()); + } + catch (Exception localException1) + { + try + { + e.c("load mLastItemTime=" + l); + return l; + } + catch (Exception localException2) + { + long l; + break label50; + } + localException1 = localException1; + l = 0L; + } + label50: + return l; + } + + public final d a(byte paramByte, long paramLong) + { + d locald = b(paramByte, paramLong); + int j; + if (locald.a == 0) + { + j = 1; + if (j == 0) { + break label33; + } + } + label33: + while (locald.a != 104) + { + return locald; + j = 0; + break; + } + ax.a().n(); + return b(paramByte, paramLong); + } + + public final boolean a(JSONArray paramJSONArray, long paramLong) + { + this.b.clear(); + if (paramJSONArray != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + if (paramJSONArray != null) {} + for (;;) + { + int j; + com.tencent.token.core.bean.b localb; + try + { + if (paramJSONArray.length() <= 0) { + break label331; + } + j = 0; + if (j >= paramJSONArray.length()) { + break label331; + } + Object localObject = paramJSONArray.getJSONObject(j); + localb = new com.tencent.token.core.bean.b(); + if (!localb.a((JSONObject)localObject)) { + e.c("object item parse failed: " + j); + } + e.c("server item time=" + localb.e()); + if (this.c < localb.e()) + { + this.c = localb.e(); + e.c("get mLastItemTime=" + this.c); + localObject = RqdApplication.i(); + } + try + { + localObject = ((Context)localObject).getSharedPreferences("dualmsgtime", 0).edit(); + ((SharedPreferences.Editor)localObject).putLong("time", this.c); + ((SharedPreferences.Editor)localObject).commit(); + e.c("save mLastItemTime=" + this.c); + if (paramLong == 0L) { + this.b.add(localb); + } + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + continue; + } + if (paramLong <= 0L) { + break label333; + } + } + catch (JSONException paramJSONArray) + { + paramJSONArray.printStackTrace(); + return false; + } + if (paramLong == localb.c()) + { + this.b.add(localb); + break label333; + label331: + return true; + } + label333: + j += 1; + } + } + } + + public final long c() + { + this.c = d(); + return this.c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.av + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/aw.java b/com.tencent.token/classes.jar/com/tencent/token/aw.java new file mode 100755 index 00000000000..63757e6f7d6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/aw.java @@ -0,0 +1,85 @@ +package com.tencent.token; + +import com.tencent.token.core.push.a; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class aw +{ + private static aw a = null; + private String b = "/cn/mbtoken3/mbtoken3_asec_push_getconn"; + + public static aw a() + { + if (a == null) { + a = new aw(); + } + return a; + } + + public final d b() + { + int i = 0; + d locald = new d((byte)0); + Object localObject2 = new gv(); + Object localObject1 = b.c() + this.b; + Object localObject3 = ((gv)localObject2).a((String)localObject1); + if (localObject3 == null) + { + localObject2 = ((gv)localObject2).a(); + locald.a(((d)localObject2).a, ((d)localObject2).b, ((d)localObject2).c); + e.c("client request url: " + (String)localObject1 + " failed, reason: " + locald.a + ":" + locald.b); + return locald; + } + try + { + localObject1 = new JSONObject(new String((byte[])localObject3)); + int j = ((JSONObject)localObject1).getInt("err"); + if (j != 0) + { + e.c("error" + ((JSONObject)localObject1).toString()); + localObject1 = ((JSONObject)localObject1).getString("info"); + locald.a(j, (String)localObject1, (String)localObject1); + } + else + { + j = ((JSONObject)localObject1).getInt("retry_cnt"); + int k = ((JSONObject)localObject1).getInt("retry_time"); + int m = ((JSONObject)localObject1).getInt("hb_time"); + localObject1 = ((JSONObject)localObject1).getJSONArray("conn"); + localObject2 = new String[((JSONArray)localObject1).length()]; + localObject3 = new int[((JSONArray)localObject1).length()]; + while (i < ((JSONArray)localObject1).length()) + { + JSONObject localJSONObject = ((JSONArray)localObject1).getJSONObject(i); + localObject2[i] = localJSONObject.getString("ip"); + localObject3[i] = localJSONObject.getInt("port"); + i += 1; + } + a.a().a((String[])localObject2, (int[])localObject3, j, k * 1000, m * 1000); + locald.a = 0; + } + } + catch (JSONException localJSONException) + { + e.c("parse json failed: " + localJSONException.toString()); + locald.a(10020, "JSONException:" + localJSONException.toString(), null); + } + catch (Exception localException) + { + e.c("unknown err: " + localException.toString()); + locald.a(10021, "JSONException:" + localException.toString(), null); + } + return locald; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.aw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ax.java b/com.tencent.token/classes.jar/com/tencent/token/ax.java new file mode 100755 index 00000000000..8f4b4f713e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ax.java @@ -0,0 +1,1346 @@ +package com.tencent.token; + +import android.graphics.Bitmap; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.text.TextUtils; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.encrypt.a; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ax +{ + public static final fu b = new fu("D87898D3A8B8FBB37DD9885F87E8817449FA1EBDBFCF7BDA2FA6DF721E7B99D2AF7A7368637009A6C6675A9180FB0F635400FEF6A64754186CDB72BF0A60B53257336A248A7F7AAF72F160894A60C68528E5FBCDF29D675F262400A656E34FA28C6D3D77357B4BA0B1CD928BFFAB90AA7948B862B167594027AF6DC0B4A16E53", 16); + public static String c = null; + public static String d = null; + public static String e = null; + public static String f = null; + public static String g = null; + private static ax o = null; + public byte[] a = null; + public long h = 0L; + public long i = 0L; + public boolean j = true; + public boolean k = false; + public gj l = null; + public long m = 0L; + private fu n = new fu("-1"); + private QQUser p = null; + private long q = 0L; + private long r = 0L; + private HashMap s = new HashMap(); + + public static ax a() + { + if (o == null) { + o = new ax(); + } + return o; + } + + public static String a(long paramLong, String paramString) + { + try + { + JSONObject localJSONObject = new JSONObject(); + localJSONObject.put("tkn_seq", String.valueOf(paramLong)); + localJSONObject.put("code", paramString); + localJSONObject.put("pm", URLEncoder.encode(Build.MODEL)); + localJSONObject.put("pb", URLEncoder.encode(Build.BRAND)); + localJSONObject.put("ps", Build.VERSION.SDK); + localJSONObject.put("pr", URLEncoder.encode(Build.VERSION.RELEASE)); + localJSONObject.put("net_type", s.i()); + paramString = s.d(RqdApplication.i()); + if (!TextUtils.isEmpty(paramString)) { + localJSONObject.put("router_id", paramString); + } + paramString = s.c(RqdApplication.i()); + if (!TextUtils.isEmpty(paramString)) { + localJSONObject.put("mac", paramString); + } + paramString = s.a(RqdApplication.i()); + if (!TextUtils.isEmpty(paramString)) { + localJSONObject.put("android_id", paramString); + } + paramString = s.b(RqdApplication.i()); + if (!TextUtils.isEmpty(paramString)) { + localJSONObject.put("device_id", paramString); + } + paramString = localJSONObject.toString(); + e.a("plain:" + paramString); + paramString = s.b(paramString.getBytes()); + return paramString; + } + catch (JSONException paramString) + { + e.c("JSONException:" + paramString.getMessage()); + } + return null; + } + + /* Error */ + public static String a(String paramString) + { + // Byte code: + // 0: getstatic 217 com/tencent/token/af:a I + // 3: iconst_1 + // 4: iadd + // 5: istore_2 + // 6: iload_2 + // 7: putstatic 217 com/tencent/token/af:a I + // 10: new 101 org/json/JSONObject + // 13: dup + // 14: invokespecial 102 org/json/JSONObject: ()V + // 17: astore_3 + // 18: aload_3 + // 19: ldc 219 + // 21: aload_0 + // 22: invokevirtual 114 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 25: pop + // 26: getstatic 217 com/tencent/token/af:a I + // 29: iconst_1 + // 30: iadd + // 31: istore_1 + // 32: iload_1 + // 33: putstatic 217 com/tencent/token/af:a I + // 36: aload_3 + // 37: ldc 221 + // 39: iload_1 + // 40: invokevirtual 224 org/json/JSONObject:put (Ljava/lang/String;I)Lorg/json/JSONObject; + // 43: pop + // 44: aload_3 + // 45: ldc 226 + // 47: invokestatic 231 com/tencent/token/ag:c ()Lcom/tencent/token/ag; + // 50: invokevirtual 234 com/tencent/token/ag:r ()J + // 53: ldc2_w 235 + // 56: ldiv + // 57: invokevirtual 239 org/json/JSONObject:put (Ljava/lang/String;J)Lorg/json/JSONObject; + // 60: pop + // 61: aload_3 + // 62: ldc 241 + // 64: aconst_null + // 65: invokevirtual 114 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 68: pop + // 69: aload_3 + // 70: invokevirtual 184 org/json/JSONObject:toString ()Ljava/lang/String; + // 73: astore_0 + // 74: new 186 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 187 java/lang/StringBuilder: ()V + // 81: ldc 189 + // 83: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 86: aload_0 + // 87: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 90: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 93: invokestatic 198 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 96: aload_0 + // 97: invokevirtual 202 java/lang/String:getBytes ()[B + // 100: invokestatic 205 com/tencent/token/utils/s:b ([B)Ljava/lang/String; + // 103: astore_0 + // 104: new 186 java/lang/StringBuilder + // 107: dup + // 108: invokespecial 187 java/lang/StringBuilder: ()V + // 111: ldc 243 + // 113: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 116: getstatic 46 com/tencent/token/ax:c Ljava/lang/String; + // 119: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 122: ldc 245 + // 124: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 127: aload_0 + // 128: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 131: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 134: astore_0 + // 135: new 186 java/lang/StringBuilder + // 138: dup + // 139: invokespecial 187 java/lang/StringBuilder: ()V + // 142: invokestatic 249 com/tencent/token/global/b:c ()Ljava/lang/String; + // 145: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 148: ldc 251 + // 150: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 153: aload_0 + // 154: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 157: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 160: astore_0 + // 161: new 253 com/tencent/token/gv + // 164: dup + // 165: invokespecial 254 com/tencent/token/gv: ()V + // 168: aload_0 + // 169: invokevirtual 257 com/tencent/token/gv:a (Ljava/lang/String;)[B + // 172: astore_0 + // 173: aload_0 + // 174: ifnonnull +38 -> 212 + // 177: aconst_null + // 178: areturn + // 179: astore_0 + // 180: iload_2 + // 181: istore_1 + // 182: new 186 java/lang/StringBuilder + // 185: dup + // 186: invokespecial 187 java/lang/StringBuilder: ()V + // 189: ldc 207 + // 191: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 194: aload_0 + // 195: invokevirtual 210 org/json/JSONException:getMessage ()Ljava/lang/String; + // 198: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 201: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 204: invokestatic 212 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 207: aconst_null + // 208: astore_0 + // 209: goto -105 -> 104 + // 212: new 106 java/lang/String + // 215: dup + // 216: aload_0 + // 217: invokespecial 260 java/lang/String: ([B)V + // 220: astore_0 + // 221: new 186 java/lang/StringBuilder + // 224: dup + // 225: invokespecial 187 java/lang/StringBuilder: ()V + // 228: ldc_w 262 + // 231: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 234: aload_0 + // 235: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 238: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 241: invokestatic 198 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 244: new 101 org/json/JSONObject + // 247: dup + // 248: aload_0 + // 249: invokespecial 263 org/json/JSONObject: (Ljava/lang/String;)V + // 252: astore_0 + // 253: aload_0 + // 254: ldc_w 265 + // 257: invokevirtual 269 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 260: ifne -83 -> 177 + // 263: aload_0 + // 264: ldc_w 271 + // 267: invokevirtual 274 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 270: invokestatic 276 com/tencent/token/utils/s:d (Ljava/lang/String;)[B + // 273: astore_0 + // 274: aload_0 + // 275: ifnull +80 -> 355 + // 278: new 101 org/json/JSONObject + // 281: dup + // 282: new 106 java/lang/String + // 285: dup + // 286: aload_0 + // 287: invokespecial 260 java/lang/String: ([B)V + // 290: invokespecial 263 org/json/JSONObject: (Ljava/lang/String;)V + // 293: astore_0 + // 294: aload_0 + // 295: ldc 221 + // 297: invokevirtual 269 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 300: istore_2 + // 301: iload_2 + // 302: iload_1 + // 303: if_icmpeq +44 -> 347 + // 306: new 186 java/lang/StringBuilder + // 309: dup + // 310: invokespecial 187 java/lang/StringBuilder: ()V + // 313: ldc_w 278 + // 316: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 319: iload_2 + // 320: invokevirtual 281 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 323: ldc_w 283 + // 326: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 329: astore_3 + // 330: invokestatic 286 com/tencent/token/af:a ()Lcom/tencent/token/af; + // 333: pop + // 334: aload_3 + // 335: invokestatic 289 com/tencent/token/af:b ()I + // 338: invokevirtual 281 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 341: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 344: invokestatic 212 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 347: aload_0 + // 348: ldc_w 291 + // 351: invokevirtual 274 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 354: areturn + // 355: new 186 java/lang/StringBuilder + // 358: dup + // 359: invokespecial 187 java/lang/StringBuilder: ()V + // 362: ldc_w 293 + // 365: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 368: aload_0 + // 369: invokevirtual 296 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 372: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 375: invokestatic 212 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 378: aconst_null + // 379: areturn + // 380: astore_0 + // 381: new 186 java/lang/StringBuilder + // 384: dup + // 385: invokespecial 187 java/lang/StringBuilder: ()V + // 388: ldc_w 298 + // 391: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 394: aload_0 + // 395: invokevirtual 299 org/json/JSONException:toString ()Ljava/lang/String; + // 398: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 401: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 404: invokestatic 212 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 407: aconst_null + // 408: areturn + // 409: astore_0 + // 410: goto -228 -> 182 + // Local variable table: + // start length slot name signature + // 0 413 0 paramString String + // 31 273 1 i1 int + // 5 315 2 i2 int + // 17 318 3 localObject Object + // Exception table: + // from to target type + // 10 36 179 org/json/JSONException + // 212 274 380 org/json/JSONException + // 278 301 380 org/json/JSONException + // 306 347 380 org/json/JSONException + // 347 355 380 org/json/JSONException + // 355 378 380 org/json/JSONException + // 36 104 409 org/json/JSONException + } + + public static void a(JSONObject paramJSONObject) + { + try + { + long l1 = paramJSONObject.getLong("server_time"); + ag.c(); + ag.b(l1); + return; + } + catch (Exception paramJSONObject) + { + e.c("correct time error"); + } + } + + public static Bitmap b(String paramString) + { + if (paramString == null) {} + do + { + return null; + paramString = new gv().a(paramString); + } while (paramString == null); + return t.a(paramString); + } + + public static QQUser b(d paramd) + { + boolean bool = true; + paramd.a = -1; + paramd.b = ""; + paramd.c = ""; + paramd.d = null; + if (o == null) { + o = new ax(); + } + ax localax = o; + if (localax.l.b() == null) + { + e.c("there is no user bind"); + paramd.a(110, "there is no user bind", null); + return null; + } + QQUser localQQUser = localax.k(); + if (localQQUser != null) + { + paramd.a = 0; + return localQQUser; + } + Object localObject = localQQUser; + if (localQQUser == null) + { + localObject = localax.r(); + if (((d)localObject).a == 0) {} + for (int i1 = 1; i1 == 0; i1 = 0) + { + e.c("user login failed:" + ((d)localObject).a + ((d)localObject).b); + paramd.a(((d)localObject).a, ((d)localObject).b, ((d)localObject).c); + return null; + } + localObject = localax.k(); + if (localObject == null) { + break label195; + } + } + for (;;) + { + e.a(bool); + return localObject; + label195: + bool = false; + } + } + + private static String b(String paramString, long paramLong) + { + ag localag = ag.c(); + localag.m(); + String str = localag.o(); + try + { + long l1 = Long.parseLong(paramString); + paramString = new JSONObject(); + paramString.put("uin", l1); + paramString.put("tkn_seq", String.valueOf(localag.k())); + paramString.put("tkn_code", str); + paramString.put("pt_appid", paramLong); + paramString = paramString.toString(); + e.a("plain: " + paramString); + paramString = s.b(paramString.getBytes()); + return paramString; + } + catch (JSONException paramString) + { + paramString.printStackTrace(); + return null; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return null; + } + + public static void b() + { + o = null; + } + + private d c(d paramd) + { + int i2 = 1; + int i1 = 1; + localObject1 = new d((byte)0); + paramd.a = -1; + paramd.b = ""; + paramd.c = ""; + paramd.d = null; + if (o == null) { + o = new ax(); + } + localObject3 = o; + if (!((ax)localObject3).o()) + { + if (!((ax)localObject3).p()) + { + localObject2 = ((ax)localObject3).q(); + if (((d)localObject2).a == 0) {} + for (;;) + { + localObject1 = localObject2; + if (i1 != 0) { + break; + } + return localObject2; + i1 = 0; + } + } + localObject1 = ((ax)localObject3).t(); + if (((d)localObject1).a != 0) { + break label158; + } + } + label158: + for (i1 = i2;; i1 = 0) + { + localObject2 = localObject1; + if (i1 == 0) { + break; + } + localObject2 = ((ax)localObject3).l.b(); + if (localObject2 != null) { + break label163; + } + ((d)localObject1).a(110, null, null); + return localObject1; + } + label163: + Object localObject5; + try + { + localObject3 = ag.c(); + localObject4 = ((ag)localObject3).o(); + localObject4 = "?uin=" + ((QQUser)localObject2).mUin + "&sess_id=" + c + "&tkn_code=" + (String)localObject4 + "&ksid=" + ((ag)localObject3).h(); + localObject5 = b.c() + "/cn/mbtoken3/mbtoken3_login" + (String)localObject4; + e.a((String)localObject5); + localObject4 = new gv(); + localObject5 = ((gv)localObject4).a((String)localObject5); + if (localObject5 == null) + { + paramd = ((gv)localObject4).a(); + ((d)localObject1).a(paramd.a, paramd.b, paramd.c); + return localObject1; + } + } + finally {} + for (;;) + { + try + { + localObject4 = new String((byte[])localObject5); + e.a("response: " + (String)localObject4); + localObject4 = new JSONObject((String)localObject4); + l1 = ((JSONObject)localObject4).getLong("uin"); + if (l1 != ((QQUser)localObject2).mUin) + { + ((d)localObject1).a(10000, "uin not match=" + l1 + ":" + ((QQUser)localObject2).mUin, null); + return localObject1; + } + } + catch (JSONException paramd) + { + long l1; + long l2; + e.c("parse json failed: " + paramd.toString()); + ((d)localObject1).a(10020, "JSONException:" + paramd.toString(), null); + continue; + if (o != null) { + continue; + } + o = new ax(); + o.h = (System.currentTimeMillis() / 1000L); + if (this.l.a(l1)) { + continue; + } + ((d)localObject1).a(10000, "mUserStorage.setCurrentUserByUin failed", null); + return localObject1; + this.p = ((QQUser)localObject2); + this.q = (System.currentTimeMillis() / 1000L); + this.r = ((JSONObject)localObject4).getInt("valid_time"); + if (((ag)localObject3).h().length() != 0) { + continue; + } + ((ag)localObject3).c(((JSONObject)localObject4).getString("ksid")); + ((d)localObject1).a = 0; + continue; + } + try + { + l2 = ((JSONObject)localObject4).getLong("server_time"); + ag.c(); + ag.b(l2); + } + catch (Exception localException) + { + e.c("correct time error"); + } + } + i1 = ((JSONObject)localObject4).getInt("err"); + if (i1 != 0) + { + localObject2 = ((JSONObject)localObject4).getString("info"); + ((d)localObject1).a(i1, (String)localObject2, (String)localObject2); + paramd.a(i1, null, null); + e.c("server errcode=" + i1); + return localObject1; + } + } + + private byte[] d(String paramString) + { + try + { + paramString = new a().a(ap.a(paramString), this.a); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return null; + } + + public static String g() + { + return c; + } + + private void v() + { + if (RqdApplication.g) { + switch (b.a()) + { + default: + e = null; + c = null; + } + } + for (;;) + { + c = null; + this.k = false; + this.h = 0L; + this.i = 0L; + this.p = null; + this.q = 0L; + this.r = 0L; + return; + d = null; + c = null; + continue; + e = null; + c = null; + continue; + f = null; + c = null; + continue; + g = null; + c = null; + } + } + + public final int a(Handler paramHandler) + { + new ay(this, paramHandler).a(new String[] { "" }); + return 0; + } + + public final QQUser a(int paramInt) + { + return this.l.a(paramInt); + } + + public final d a(String paramString, long paramLong) + { + d locald = new d((byte)0); + if (o == null) { + o = new ax(); + } + Object localObject = o; + ((ax)localObject).v(); + ((ax)localObject).j = true; + localObject = ((ax)localObject).s(); + if (((d)localObject).a == 0) {} + for (int i1 = 1; i1 == 0; i1 = 0) { + return localObject; + } + localObject = new gv(); + String str = b(paramString, paramLong); + if (str == null) + { + locald.a(10000, "encrypt get mibao info failed", null); + return locald; + } + str = "?aq_base_sid=" + c + "&data=" + str; + str = b.c() + "/cn/mbtoken3/mbtoken3_verify_mb_for_login" + str; + byte[] arrayOfByte = ((gv)localObject).a(str); + if (arrayOfByte == null) + { + paramString = ((gv)localObject).a(); + locald.a(paramString.a, paramString.b, paramString.c); + e.c("client request url: " + str + " failed, reasion: " + locald.a + ":" + locald.b); + return locald; + } + try + { + localObject = new JSONObject(new String(arrayOfByte)); + i1 = ((JSONObject)localObject).getInt("err"); + if (i1 != 0) { + if (102 == i1) + { + long l1 = System.currentTimeMillis() + ag.c().p(); + long l2 = 30 - (int)(l1 / 1000L % 30L) + 2L; + e.a("sleep " + l2 + "s for dyncode refresh:" + l1); + try + { + Thread.sleep(l2 * 1000L); + ag.c().m(); + return a(paramString, paramLong); + } + catch (Exception localException) + { + for (;;) + { + e.c(localException.getMessage()); + } + } + } + } + paramString = new JSONObject(new String(d(localException.getString("data")))); + } + catch (JSONException paramString) + { + e.c("parse json failed: " + paramString.toString()); + locald.a(10020, "JSONException:" + paramString.toString(), null); + return locald; + paramString = localException.getString("info"); + locald.a(i1, paramString, paramString); + return locald; + } + catch (Exception paramString) + { + e.c("unknown err: " + paramString.toString()); + locald.a(10021, "JSONException:" + paramString.toString(), null); + return locald; + } + e.a(true); + e.a("data hex: " + paramString); + az localaz = new az(this); + localaz.a = ("" + paramString.getLong("uin")); + localaz.b = paramString.getString("sig"); + if (paramString.getInt("is_login_prot_set") == 0) + { + bool = false; + localaz.c = bool; + if (paramString.getInt("is_game_prot_set") != 0) { + break label759; + } + } + label759: + for (boolean bool = false;; bool = true) + { + localaz.d = bool; + localaz.e = paramString.getInt("is_tkn_set"); + if (localaz.e == 2) { + localaz.f = paramString.getString("other_tkn_seq"); + } + this.s.put(localaz.a, localaz); + locald.a = 0; + return locald; + bool = true; + break; + } + } + + /* Error */ + public final d a(org.json.JSONArray paramJSONArray) + { + // Byte code: + // 0: new 322 com/tencent/token/global/d + // 3: dup + // 4: iconst_0 + // 5: invokespecial 375 com/tencent/token/global/d: (B)V + // 8: astore 4 + // 10: new 533 java/util/LinkedList + // 13: dup + // 14: invokespecial 534 java/util/LinkedList: ()V + // 17: astore 5 + // 19: iconst_0 + // 20: istore_2 + // 21: iload_2 + // 22: aload_1 + // 23: invokevirtual 537 org/json/JSONArray:length ()I + // 26: if_icmpge +180 -> 206 + // 29: aload_1 + // 30: iload_2 + // 31: invokevirtual 541 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 34: astore 7 + // 36: new 186 java/lang/StringBuilder + // 39: dup + // 40: invokespecial 187 java/lang/StringBuilder: ()V + // 43: ldc_w 543 + // 46: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 49: aload 7 + // 51: invokevirtual 184 org/json/JSONObject:toString ()Ljava/lang/String; + // 54: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 57: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 60: invokestatic 198 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 63: new 391 com/tencent/token/core/bean/QQUser + // 66: dup + // 67: invokespecial 544 com/tencent/token/core/bean/QQUser: ()V + // 70: astore 6 + // 72: aload 6 + // 74: aload 7 + // 76: ldc 219 + // 78: invokevirtual 308 org/json/JSONObject:getLong (Ljava/lang/String;)J + // 81: putfield 394 com/tencent/token/core/bean/QQUser:mUin J + // 84: aload 6 + // 86: aload 7 + // 88: ldc_w 546 + // 91: invokevirtual 274 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 94: putfield 549 com/tencent/token/core/bean/QQUser:mUinMask Ljava/lang/String; + // 97: aload 6 + // 99: aload 7 + // 101: ldc_w 551 + // 104: invokevirtual 274 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 107: putfield 554 com/tencent/token/core/bean/QQUser:mNickName Ljava/lang/String; + // 110: aload 6 + // 112: aload 7 + // 114: ldc_w 556 + // 117: invokevirtual 308 org/json/JSONObject:getLong (Ljava/lang/String;)J + // 120: putfield 559 com/tencent/token/core/bean/QQUser:mRealUin J + // 123: aload 7 + // 125: ldc_w 561 + // 128: invokevirtual 269 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 131: iconst_1 + // 132: if_icmpne +133 -> 265 + // 135: iconst_1 + // 136: istore_3 + // 137: aload 6 + // 139: iload_3 + // 140: putfield 564 com/tencent/token/core/bean/QQUser:mIsSupperQQ Z + // 143: aload 6 + // 145: iconst_1 + // 146: putfield 567 com/tencent/token/core/bean/QQUser:mIsBinded Z + // 149: aload 7 + // 151: ldc_w 569 + // 154: invokevirtual 269 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 157: iconst_1 + // 158: if_icmpne +112 -> 270 + // 161: iconst_1 + // 162: istore_3 + // 163: aload 6 + // 165: iload_3 + // 166: putfield 572 com/tencent/token/core/bean/QQUser:mIsRegisterFacePwd Z + // 169: aload 7 + // 171: ldc_w 574 + // 174: invokevirtual 269 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 177: iconst_1 + // 178: if_icmpne +97 -> 275 + // 181: iconst_1 + // 182: istore_3 + // 183: aload 6 + // 185: iload_3 + // 186: putfield 577 com/tencent/token/core/bean/QQUser:mIsZzb Z + // 189: aload 5 + // 191: aload 6 + // 193: invokeinterface 583 2 0 + // 198: pop + // 199: iload_2 + // 200: iconst_1 + // 201: iadd + // 202: istore_2 + // 203: goto -182 -> 21 + // 206: aload_0 + // 207: getfield 78 com/tencent/token/ax:l Lcom/tencent/token/gj; + // 210: aload 5 + // 212: invokevirtual 586 com/tencent/token/gj:a (Ljava/util/List;)V + // 215: aload 4 + // 217: iconst_0 + // 218: putfield 323 com/tencent/token/global/d:a I + // 221: aload 4 + // 223: areturn + // 224: astore_1 + // 225: aload 4 + // 227: sipush 10020 + // 230: new 186 java/lang/StringBuilder + // 233: dup + // 234: invokespecial 187 java/lang/StringBuilder: ()V + // 237: ldc_w 588 + // 240: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 243: aload_1 + // 244: invokevirtual 299 org/json/JSONException:toString ()Ljava/lang/String; + // 247: invokevirtual 193 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 250: invokevirtual 194 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 253: aconst_null + // 254: invokevirtual 339 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 257: aload 4 + // 259: areturn + // 260: astore 7 + // 262: goto -73 -> 189 + // 265: iconst_0 + // 266: istore_3 + // 267: goto -130 -> 137 + // 270: iconst_0 + // 271: istore_3 + // 272: goto -109 -> 163 + // 275: iconst_0 + // 276: istore_3 + // 277: goto -94 -> 183 + // Local variable table: + // start length slot name signature + // 0 280 0 this ax + // 0 280 1 paramJSONArray org.json.JSONArray + // 20 183 2 i1 int + // 136 141 3 bool boolean + // 8 250 4 locald d + // 17 194 5 localLinkedList java.util.LinkedList + // 70 122 6 localQQUser QQUser + // 34 136 7 localJSONObject JSONObject + // 260 1 7 localException Exception + // Exception table: + // from to target type + // 21 135 224 org/json/JSONException + // 137 149 224 org/json/JSONException + // 149 161 224 org/json/JSONException + // 163 181 224 org/json/JSONException + // 183 189 224 org/json/JSONException + // 189 199 224 org/json/JSONException + // 206 221 224 org/json/JSONException + // 149 161 260 java/lang/Exception + // 163 181 260 java/lang/Exception + // 183 189 260 java/lang/Exception + } + + public final void a(long paramLong1, long paramLong2) + { + QQUser localQQUser = this.l.c(paramLong1); + if (localQQUser != null) + { + this.p = localQQUser; + this.q = (System.currentTimeMillis() / 1000L); + this.r = paramLong2; + } + } + + public final void a(List paramList) + { + this.l.b(paramList); + } + + public final boolean a(long paramLong) + { + return this.l.a(paramLong); + } + + public final boolean a(QQUser paramQQUser) + { + return this.l.b(paramQQUser); + } + + public final boolean a(d paramd) + { + if (!o()) + { + d locald = q(); + if (locald.a == 0) {} + for (int i1 = 1; i1 == 0; i1 = 0) + { + paramd.a(locald.a, locald.b, locald.c); + return false; + } + e.a(o()); + } + return true; + } + + public final QQUser b(int paramInt) + { + return this.l.b(paramInt); + } + + public final boolean b(long paramLong) + { + return this.l.b(paramLong); + } + + public final boolean b(QQUser paramQQUser) + { + if ((paramQQUser == null) || (paramQQUser.mRealUin == 0L)) { + return false; + } + return this.l.c(paramQQUser); + } + + public final az c(String paramString) + { + return (az)this.s.get(paramString); + } + + public final QQUser c(long paramLong) + { + return this.l.c(paramLong); + } + + public final void c(QQUser paramQQUser) + { + if (paramQQUser == null) { + return; + } + this.l.a(paramQQUser); + } + + public final boolean c(int paramInt) + { + if (104 == paramInt) { + if (q().a == 0) + { + paramInt = 1; + if (paramInt != 0) { + break label29; + } + } + } + for (;;) + { + return false; + paramInt = 0; + break; + label29: + if (r().a == 0) {} + for (paramInt = 1; paramInt != 0; paramInt = 0) { + return true; + } + continue; + if (109 == paramInt) + { + if (r().a == 0) {} + for (paramInt = 1; paramInt != 0; paramInt = 0) { + return true; + } + } + } + } + + public final byte[] c() + { + return this.a; + } + + public final int d() + { + return this.l.a(); + } + + public final QQUser d(long paramLong) + { + return this.l.d(paramLong); + } + + public final QQUser e() + { + return this.l.b(); + } + + public final void e(long paramLong) + { + QQUser localQQUser = this.l.d(paramLong); + if (localQQUser != null) + { + this.p = localQQUser; + this.q = this.h; + this.r = this.i; + } + } + + public final long f() + { + return this.l.d(); + } + + public final void f(long paramLong) + { + this.k = false; + com.tencent.token.ui.AccountPageActivity.mNeedRefreshEval = true; + com.tencent.token.ui.SettingPageActivity.mNeedRefreshMbInfo = true; + this.m = paramLong; + } + + public final boolean h() + { + return this.l.e(); + } + + public final boolean i() + { + return this.l.c(); + } + + public final boolean j() + { + return this.l.f(); + } + + public final QQUser k() + { + if (!o()) + { + e.a("not prepare"); + return null; + } + QQUser localQQUser = this.l.b(); + if ((localQQUser != null) && (this.p == localQQUser)) + { + long l1 = System.currentTimeMillis() / 1000L; + e.a("mLoginTime =" + this.q + ",mLoginValidInterval= " + this.r + ",nowTime=" + l1); + if (this.q + this.r > l1) { + return this.p; + } + } + e.a("user not login, login_user=" + this.p + ",current_user=" + localQQUser); + this.p = null; + this.q = 0L; + this.r = 0L; + return null; + } + + public final QQUser l() + { + QQUser localQQUser = this.l.b(); + if ((localQQUser != null) && (this.p == localQQUser)) + { + long l1 = System.currentTimeMillis() / 1000L; + if (this.q + this.r > l1) { + return this.p; + } + } + e.a("user not login, login_user=" + this.p + ",current_user=" + localQQUser); + this.p = null; + this.q = 0L; + this.r = 0L; + return null; + } + + public final void m() + { + this.h = (System.currentTimeMillis() / 1000L); + } + + public final void n() + { + v(); + this.j = true; + } + + public final boolean o() + { + if (c == null) + { + e.a("sessId is null"); + return false; + } + long l1 = System.currentTimeMillis() / 1000L; + if (this.h + this.i <= l1) + { + e.a("session time is expire"); + return false; + } + if (!this.k) + { + e.a("uinlist not queryed"); + return false; + } + return true; + } + + public final boolean p() + { + if (c == null) + { + e.a("sessId is null"); + return false; + } + long l1 = System.currentTimeMillis() / 1000L; + if (this.h + this.i <= l1) + { + e.a("session time is expire"); + return false; + } + return true; + } + + public final d q() + { + int i2 = 1; + for (;;) + { + try + { + e.a("start syncPrepare process"); + v(); + int i1; + if (!p()) + { + locald = s(); + i1 = locald.a; + if (i1 == 0) + { + i1 = 1; + if (i1 == 0) { + return locald; + } + } + else + { + i1 = 0; + continue; + } + } + d locald = t(); + if (locald.a == 0) + { + i1 = i2; + if (i1 != 0) + { + e.a(o()); + locald = new d(); + } + } + else + { + i1 = 0; + } + } + finally {} + } + } + + public final d r() + { + int i1 = 1; + for (;;) + { + d locald3; + try + { + e.a("start syncLogin process"); + new d((byte)0); + locald3 = new d((byte)0); + d locald1 = c(locald3); + int i2 = locald1.a; + if (i2 == 0) + { + if (i1 != 0) { + return locald1; + } + } + else + { + i1 = 0; + continue; + } + if (locald3.a == 102) + { + long l1 = System.currentTimeMillis() + ag.c().p(); + long l2 = 30 - (int)(l1 / 1000L % 30L) + 2L; + e.a("sleep " + l2 + "s for dyncode refresh:" + l1); + try + { + Thread.sleep(l2 * 1000L); + locald1 = c(locald3); + } + catch (Exception localException) + { + e.c(localException.getMessage()); + continue; + } + } + if (locald3.a != 104) { + break label206; + } + } + finally {} + v(); + this.j = true; + d locald2 = c(locald3); + continue; + label206: + if (locald3.a == 112) { + locald2 = c(locald3); + } + } + } + + public final d s() + { + try + { + d locald = bi.a("mbtoken3_exchange_key_v3").c(new fs("mbtoken3_exchange_key_v3", 1, null, -1)); + return locald; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final d t() + { + int i1 = 1; + for (;;) + { + try + { + e.a("start syncQueryUinList process"); + d locald = new d((byte)0); + Object localObject2 = ag.c(); + ((ag)localObject2).m(); + Object localObject4 = ((ag)localObject2).o(); + if ((localObject4 == null) || (((String)localObject4).length() == 0) || (((String)localObject4).equals("0"))) + { + locald.a(106, "tokennull", null); + return locald; + } + localObject2 = a(((ag)localObject2).k(), (String)localObject4); + localObject2 = "?aq_base_sid=" + c + "&data=" + (String)localObject2; + localObject4 = b.c() + "/cn/mbtoken3/mbtoken3_get_uin_list_v2" + (String)localObject2; + localObject2 = new gv(); + localObject4 = ((gv)localObject2).a((String)localObject4); + if (localObject4 == null) + { + localObject2 = ((gv)localObject2).a(); + locald.a(((d)localObject2).a, ((d)localObject2).b, ((d)localObject2).c); + } + else + { + try + { + localObject2 = new JSONObject(new String((byte[])localObject4)); + int i2 = ((JSONObject)localObject2).getInt("err"); + if (i2 == 0) { + break; + } + if (i2 == 104) + { + v(); + this.j = true; + } + localObject2 = ((JSONObject)localObject2).getString("info"); + localObject1.a(i2, "server errcode=" + i2 + ":" + (String)localObject2, (String)localObject2); + } + catch (JSONException localJSONException) + { + e.c("parse json failed: " + localJSONException.toString()); + localObject1.a(10020, "JSONException:" + localJSONException.toString(), null); + } + } + } + finally {} + } + Object localObject3 = s.d(localJSONException.getString("data")); + if (localObject3 != null) + { + localObject3 = a(new JSONObject(new String((byte[])localObject3)).getJSONArray("uinlist")); + if (((d)localObject3).a != 0) { + break label553; + } + } + for (;;) + { + if (i1 != 0) + { + this.k = true; + if (this.m != 0L) + { + long l1 = this.m; + this.l.b(l1); + this.m = 0L; + } + localObject1.a = 0; + break; + } + localObject1.a(((d)localObject3).a, ((d)localObject3).b, ((d)localObject3).c); + break; + e.c("parseJSON error decodeData=" + localObject3); + localObject1.a(10022, "parseJSON error decodeData= " + localObject3, null); + break; + label553: + i1 = 0; + } + } + + public final void u() + { + this.p = null; + this.q = 0L; + this.r = 0L; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ax + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ay.java b/com.tencent.token/classes.jar/com/tencent/token/ay.java new file mode 100755 index 00000000000..3981827dc16 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ay.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.utils.UserTask; + +final class ay + extends UserTask +{ + ay(ax paramax, Handler paramHandler) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ay + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/az.java b/com.tencent.token/classes.jar/com/tencent/token/az.java new file mode 100755 index 00000000000..1165417db23 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/az.java @@ -0,0 +1,19 @@ +package com.tencent.token; + +public final class az +{ + public String a; + public String b; + public boolean c; + public boolean d; + public int e; + public String f; + + public az(ax paramax) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.az + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/b.java b/com.tencent.token/classes.jar/com/tencent/token/b.java new file mode 100755 index 00000000000..bf235481369 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/b.java @@ -0,0 +1,268 @@ +package com.tencent.token; + +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.security.MessageDigest; +import java.util.zip.GZIPOutputStream; +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +public final class b + extends i +{ + private String a = "AES"; + private String b = "MD5"; + private String c = "SHA1"; + private byte[] d = new byte[16]; + private String e; + + public b() + { + int i = 0; + for (;;) + { + if (i >= 16) + { + this.e = "UTF-8"; + return; + } + this.d[i] = ((byte)(i % 8)); + i += 1; + } + } + + private static String d(byte[] paramArrayOfByte) + { + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + if (i >= paramArrayOfByte.length) { + return localStringBuffer.toString(); + } + if (Integer.toHexString(paramArrayOfByte[i] & 0xFF).length() == 1) { + localStringBuffer.append("0").append(Integer.toHexString(paramArrayOfByte[i] & 0xFF)); + } + for (;;) + { + i += 1; + break; + localStringBuffer.append(Integer.toHexString(paramArrayOfByte[i] & 0xFF)); + } + } + + public final String a(String paramString) + { + if ((paramString != null) && (paramString.length() > 0)) { + try + { + if (paramString.length() > 0) + { + paramString = new FileInputStream(paramString); + BufferedInputStream localBufferedInputStream = new BufferedInputStream(paramString); + MessageDigest localMessageDigest = MessageDigest.getInstance(this.b); + localMessageDigest.reset(); + byte[] arrayOfByte = new byte[1024]; + for (;;) + { + int i = localBufferedInputStream.read(arrayOfByte); + if (i <= 0) + { + localBufferedInputStream.close(); + paramString.close(); + return d(localMessageDigest.digest()); + } + localMessageDigest.update(arrayOfByte, 0, i); + } + } + return ""; + } + catch (Throwable paramString) + { + a(paramString); + } + } + } + + public final String a(byte[] paramArrayOfByte) + { + try + { + paramArrayOfByte = e.a(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + a(paramArrayOfByte); + } + return ""; + } + + public final String b(String paramString) + { + if ((paramString != null) && (paramString.length() > 0)) { + try + { + if (paramString.length() > 0) + { + paramString = new FileInputStream(paramString); + BufferedInputStream localBufferedInputStream = new BufferedInputStream(paramString); + MessageDigest localMessageDigest = MessageDigest.getInstance(this.c); + localMessageDigest.reset(); + byte[] arrayOfByte = new byte[1024]; + for (;;) + { + int i = localBufferedInputStream.read(arrayOfByte); + if (i <= 0) + { + localBufferedInputStream.close(); + paramString.close(); + return d(localMessageDigest.digest()); + } + localMessageDigest.update(arrayOfByte, 0, i); + } + } + return ""; + } + catch (Throwable paramString) + { + a(paramString); + } + } + } + + public final byte[] b(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 0)) { + return null; + } + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + try + { + GZIPOutputStream localGZIPOutputStream = new GZIPOutputStream(localByteArrayOutputStream); + localGZIPOutputStream.write(paramArrayOfByte); + localGZIPOutputStream.close(); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + a(paramArrayOfByte); + } + return null; + } + + public final String c(String paramString) + { + if ((paramString != null) && (paramString.length() > 0)) { + try + { + MessageDigest localMessageDigest = MessageDigest.getInstance(this.b); + localMessageDigest.reset(); + localMessageDigest.update(paramString.getBytes(this.e)); + paramString = d(localMessageDigest.digest()); + return paramString; + } + catch (Throwable paramString) + { + a(paramString); + } + } + return ""; + } + + public final byte[] c(byte[] paramArrayOfByte) + { + try + { + SecretKeySpec localSecretKeySpec = new SecretKeySpec(this.d, this.a); + Cipher localCipher = Cipher.getInstance(this.a); + localCipher.init(1, localSecretKeySpec); + paramArrayOfByte = localCipher.doFinal(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) + { + a(paramArrayOfByte); + } + return null; + } + + public final String d(String paramString) + { + if ((paramString != null) && (paramString.length() > 0)) {} + for (;;) + { + int j; + int i; + char c1; + try + { + localObject = new StringBuffer(); + j = 0; + i = 0; + if (j >= paramString.length()) + { + paramString = ((StringBuffer)localObject).toString(); + if (paramString.length() <= 0) { + break label143; + } + localObject = MessageDigest.getInstance(this.b); + ((MessageDigest)localObject).reset(); + ((MessageDigest)localObject).update(paramString.getBytes(this.e)); + paramString = ((MessageDigest)localObject).digest(); + i = 0; + if (i < paramString.length) { + break label146; + } + return d(paramString); + } + c1 = paramString.charAt(j); + if (i != 0) { + break label183; + } + if (c1 != '=') { + break label171; + } + i = 61; + } + catch (Throwable paramString) + { + Object localObject; + a(paramString); + } + if (((StringBuffer)localObject).length() > 0) + { + continue; + ((StringBuffer)localObject).append(c1); + break label162; + label143: + return ""; + label146: + paramString[i] = ((byte)(paramString[i] + 1)); + i += 1; + continue; + } + for (;;) + { + label162: + j += 1; + break; + label171: + if (c1 == ':') { + i = 58; + } + } + label183: + if ((c1 >= '0') && (c1 <= 'f') && ((c1 <= '9') || (c1 >= 'A'))) { + if ((c1 <= 'F') || (c1 >= 'a')) {} + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ba.java b/com.tencent.token/classes.jar/com/tencent/token/ba.java new file mode 100755 index 00000000000..b1f2de7bc72 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ba.java @@ -0,0 +1,363 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ba +{ + static ba a = null; + private static boolean i = true; + public fc b = new fc(); + public fk c = new fk(); + public fl d = new fl(); + public fr e = new fr(); + public fm f = new fm(); + public fq g = new fq(); + public fp h = new fp(); + + private ba() + { + this.h.b(); + } + + public static ba a() + { + if (a == null) + { + ba localba = new ba(); + a = localba; + return localba; + } + if (i) { + i = false; + } + return a; + } + + public static d a(com.tencent.token.core.bean.g paramg, boolean paramBoolean) + { + int k = 1; + new d((byte)0); + d locald2 = new d((byte)0); + d locald1 = a(paramg, paramBoolean, locald2); + if (locald1.a == 0) + { + j = 1; + if (j != 0) { + paramg.c = paramBoolean; + } + if (locald1.a != 0) { + break label71; + } + j = 1; + label59: + if (j == 0) { + break label76; + } + } + label71: + label76: + while (!ax.a().c(locald2.a)) + { + return locald1; + j = 0; + break; + j = 0; + break label59; + } + locald2 = a(paramg, paramBoolean, locald2); + if (locald2.a == 0) {} + for (int j = k;; j = 0) + { + locald1 = locald2; + if (j == 0) { + break; + } + paramg.c = paramBoolean; + return locald2; + } + } + + private static d a(com.tencent.token.core.bean.g paramg, boolean paramBoolean, d paramd) + { + d locald = new d((byte)0); + ax.a(); + QQUser localQQUser = ax.b(locald); + if (localQQUser == null) { + return locald; + } + Object localObject1 = new StringBuilder().append("{\"conf_data\":[{\"id\":").append(paramg.a).append(",\"value\":"); + if (paramBoolean) {} + for (paramg = "1";; paramg = "0") + { + paramg = paramg + "}]}"; + e.a(paramg); + localObject1 = s.b(paramg.getBytes()); + if (localObject1 != null) { + break; + } + locald.a(10000, null, null); + e.c("encTransData failed: " + paramg); + return locald; + } + paramg = new gv(); + Object localObject2 = new StringBuilder().append("?uin=").append(localQQUser.mUin).append("&sess_id="); + ax.a(); + localObject1 = ax.c + "&data=" + (String)localObject1; + localObject1 = b.c() + "/cn/mbtoken3/mbtoken3_set_service_status" + (String)localObject1; + localObject2 = paramg.a((String)localObject1); + if (localObject2 == null) + { + paramg = paramg.a(); + locald.a(paramg.a, paramg.b, paramg.c); + e.c("client request url: " + (String)localObject1 + " failed, reason=" + locald.a + ":" + locald.b); + return locald; + } + try + { + paramg = new JSONObject(new String((byte[])localObject2)); + long l = paramg.getLong("uin"); + int j = paramg.getInt("err"); + if (l != localQQUser.mUin) + { + locald.a(10000, "uin not match=" + l + ":" + localQQUser.mUin, null); + return locald; + } + if (j != 0) + { + paramg = paramg.getString("info"); + locald.a(j, paramg, paramg); + paramd.a(j, null, null); + } + else + { + ax.a().m(); + locald.a = 0; + } + } + catch (JSONException paramg) + { + e.c("parse json failed: " + paramg.toString()); + locald.a(10020, "JSONException:" + paramg.toString(), null); + } + catch (Exception paramg) + { + e.c("unknown err: " + paramg.toString()); + locald.a(10021, "JSONException:" + paramg.toString(), null); + } + return locald; + } + + public final int a(boolean paramBoolean) + { + return this.b.b(paramBoolean); + } + + public final com.tencent.token.core.bean.g a(int paramInt) + { + Object localObject = this.c; + if ((paramInt < 0) || (paramInt >= ((fk)localObject).c())) {} + do + { + return null; + localObject = ((fk)localObject).a(); + } while (localObject == null); + return (com.tencent.token.core.bean.g)((List)localObject).get(paramInt); + } + + public final com.tencent.token.core.bean.g a(int paramInt, boolean paramBoolean) + { + Object localObject = this.b; + if ((paramInt < 0) || (paramInt >= ((fc)localObject).b(paramBoolean))) {} + do + { + return null; + localObject = ((fc)localObject).a(paramBoolean); + } while (localObject == null); + return (com.tencent.token.core.bean.g)((List)localObject).get(paramInt); + } + + public final boolean a(JSONArray paramJSONArray) + { + return this.b.a(paramJSONArray); + } + + public final boolean a(JSONObject paramJSONObject) + { + return this.g.a(paramJSONObject); + } + + public final com.tencent.token.core.bean.g b(int paramInt) + { + Object localObject = this.d; + List localList; + int j; + if (paramInt >= 0) + { + localList = ((fl)localObject).a(); + if (localList != null) { + break label29; + } + j = 0; + if (paramInt < j) { + break label40; + } + } + label29: + label40: + do + { + return null; + j = localList.size(); + break; + localObject = ((fl)localObject).a(); + } while (localObject == null); + return (com.tencent.token.core.bean.g)((List)localObject).get(paramInt); + } + + public final void b() + { + this.b.g = true; + } + + public final boolean b(JSONArray paramJSONArray) + { + return this.c.a(paramJSONArray); + } + + public final int c() + { + return this.c.d(); + } + + public final boolean c(JSONArray paramJSONArray) + { + return this.f.a(paramJSONArray); + } + + public final int d() + { + return this.c.c(); + } + + public final boolean d(JSONArray paramJSONArray) + { + return this.g.a(paramJSONArray); + } + + public final int e() + { + return this.d.c(); + } + + public final void e(JSONArray paramJSONArray) + { + Object localObject = null; + int k = 0; + int j = 0; + int m = 0; + if (k < paramJSONArray.length()) + { + JSONObject localJSONObject = paramJSONArray.getJSONObject(k); + if (4 == localJSONObject.getInt("id")) + { + com.tencent.token.core.bean.g localg = new com.tencent.token.core.bean.g(); + if (!localg.a(localJSONObject)) { + e.c("object item parse failed: "); + } + this.e.a(localg); + m = 1; + } + if (6 != localJSONObject.getInt("id")) { + break label189; + } + localObject = localJSONObject.getJSONArray("child"); + if (!this.d.a((JSONArray)localObject)) { + throw new JSONException("parse all services data failed"); + } + j = 1; + localObject = localJSONObject; + } + label189: + for (;;) + { + k += 1; + break; + if ((m == 0) || (j == 0)) { + throw new JSONException("parse all services data failed"); + } + this.d.e = true; + this.e.d = true; + this.d.f = false; + com.tencent.token.global.g.a("game_protect", ((JSONObject)localObject).toString()); + return; + } + } + + public final int f() + { + List localList = this.d.a(); + if (localList == null) { + return 0; + } + return localList.size(); + } + + public final com.tencent.token.core.bean.g g() + { + return this.e.a; + } + + public final com.tencent.token.core.bean.g h() + { + return this.f.a; + } + + public final com.tencent.token.core.bean.g i() + { + return this.g.a; + } + + public final boolean j() + { + return this.b.g; + } + + public final boolean k() + { + return this.c.f; + } + + public final boolean l() + { + return this.d.f; + } + + public final boolean m() + { + return this.b.a(); + } + + public final boolean n() + { + return this.c.b(); + } + + public final boolean o() + { + return this.d.b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ba + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bb.java b/com.tencent.token/classes.jar/com/tencent/token/bb.java new file mode 100755 index 00000000000..0861738d159 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bb.java @@ -0,0 +1,48 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.core.bean.OnlineDeviceResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; + +public final class bb + extends bc +{ + static bb a = null; + public OnlineDeviceResult b; + + private bb() + { + super("tbl_login_log"); + } + + public static bb a() + { + if (a == null) { + a = new bb(); + } + return a; + } + + public static void b() + { + a = null; + } + + public final void a(byte paramByte, String paramString, Handler paramHandler) + { + f(); + af.a().a(0L, paramByte, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", paramString, paramHandler); + } + + public final void c() + { + f(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bc.java b/com.tencent.token/classes.jar/com/tencent/token/bc.java new file mode 100755 index 00000000000..f44794521f7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bc.java @@ -0,0 +1,217 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import org.json.JSONException; +import org.json.JSONObject; + +public class bc +{ + public static byte c = 1; + public static byte d = 2; + public static byte e = 3; + public fo f = null; + + protected bc(String paramString) + { + this.f = new fo(paramString); + } + + private d b(byte paramByte) + { + Object localObject1 = new d((byte)0); + ax.a(); + QQUser localQQUser = ax.b((d)localObject1); + boolean bool; + if (localQQUser == null) + { + if (((d)localObject1).a == 0) + { + paramByte = 1; + if (paramByte != 0) { + break label54; + } + } + label54: + for (bool = true;; bool = false) + { + e.a(bool); + return localObject1; + paramByte = 0; + break; + } + } + gv localgv = new gv(); + long l1 = ag.c().r(); + long l2 = System.currentTimeMillis(); + if (l1 > l2) {} + Object localObject2; + byte b; + for (;;) + { + l1 = l1 / 1000L + 300L; + l2 = t.a(2, localQQUser.mUin); + localObject2 = null; + b = af.a + 1; + af.a = b; + try + { + localObject3 = new JSONObject(); + ((JSONObject)localObject3).put("uin", localQQUser.mUin); + ((JSONObject)localObject3).put("seq_id", b); + ((JSONObject)localObject3).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject3).put("msg_type", 2); + ((JSONObject)localObject3).put("req_msg_num", 40); + ((JSONObject)localObject3).put("start_time", l2); + ((JSONObject)localObject3).put("end_time", l1); + ((JSONObject)localObject3).put("source", l1); + ((JSONObject)localObject3).put("end_time", l1); + ((JSONObject)localObject3).put("source", paramByte); + localObject3 = ((JSONObject)localObject3).toString(); + e.a("plain:" + (String)localObject3); + localObject3 = s.b(((String)localObject3).getBytes()); + localObject2 = localObject3; + } + catch (JSONException localJSONException3) + { + for (;;) + { + Object localObject3; + e.c("JSONException:" + localJSONException3.getMessage()); + continue; + bool = false; + } + try + { + localObject2 = new JSONObject(new String(localJSONException3)); + paramByte = ((JSONObject)localObject2).getInt("err"); + if (paramByte == 0) { + break label581; + } + e.a("error = " + paramByte); + localObject2 = ((JSONObject)localObject2).getString("info"); + ((d)localObject1).a(paramByte, (String)localObject2, (String)localObject2); + break label901; + localObject2 = s.d(((JSONObject)localObject2).getString("data")); + if (localObject2 == null) { + break label853; + } + localObject2 = new JSONObject(new String((byte[])localObject2)); + paramByte = ((JSONObject)localObject2).getInt("seq_id"); + if (paramByte == b) { + break label710; + } + ((d)localObject1).a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + paramByte + ",right = " + b); + return localObject1; + } + catch (JSONException localJSONException1) + { + ((d)localObject1).a(10020, "JSONException:" + localJSONException1.toString(), null); + break label901; + l1 = localJSONException1.getLong("uin"); + if (l1 == localQQUser.mUin) { + break label812; + } + ((d)localObject1).a(10000, "uin not match=" + l1 + ":" + localQQUser.mUin, null); + return localObject1; + } + catch (Exception localException1) + { + for (;;) + { + ((d)localObject1).a(10021, "JSONException:" + localException1.toString(), null); + break; + this.f.b(l1); + d locald = this.f.a(localException1, l1, 2); + localObject1 = locald; + try + { + ax.a().m(); + } + catch (JSONException localJSONException2) + { + continue; + e.c("parseJSON error decodeData=" + localJSONException2); + ((d)localObject1).a(10022, RqdApplication.i().getString(2131361799), null); + } + catch (Exception localException2) {} + } + } + } + localObject3 = new StringBuilder().append("?aq_base_sid="); + ax.a(); + localObject2 = ax.c + "&data=" + (String)localObject2; + ax.a(); + if (ax.c == null) { + break; + } + bool = true; + e.a(bool); + localObject2 = b.c() + "/cn/mbtoken3/mbtoken3_get_message_v2" + (String)localObject2; + localObject3 = localgv.a((String)localObject2); + if (localObject3 != null) { + break label507; + } + localObject3 = localgv.a(); + ((d)localObject1).a(((d)localObject3).a, ((d)localObject3).b, ((d)localObject3).c); + e.c("client request url: " + (String)localObject2 + " failed, reason=" + ((d)localObject1).a + ":" + ((d)localObject1).b); + return localObject1; + l1 = l2; + } + label507: + return localObject1; + } + + protected final d a(byte paramByte) + { + int i = 0; + d locald1 = new d((byte)0); + d locald2 = b(paramByte); + if (locald2.a == 0) { + i = 1; + } + if (i != 0) {} + while (!ax.a().c(locald1.a)) { + return locald2; + } + return b(paramByte); + } + + public final void a(long paramLong) + { + this.f.b(paramLong); + } + + public final boolean d() + { + return this.f.j(); + } + + public final boolean e() + { + return this.f.k(); + } + + public final void f() + { + this.f.h(); + } + + public final int g() + { + return this.f.i(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bd.java b/com.tencent.token/classes.jar/com/tencent/token/bd.java new file mode 100755 index 00000000000..19b2643ea1d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bd.java @@ -0,0 +1,51 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.global.d; +import com.tencent.token.utils.UserTask; + +public final class bd + extends bc +{ + static bd a = null; + + private bd() + { + super("tbl_safe_msg"); + } + + public static bd a() + { + if (a == null) { + a = new bd(); + } + return a; + } + + public final void a(byte paramByte, Handler paramHandler) + { + new be(this, paramByte, paramHandler).a(new String[] { "" }); + } + + public final void a(Handler paramHandler) + { + f(); + af.a().b(0L, e, paramHandler); + } + + public final d b(byte paramByte) + { + return a(paramByte); + } + + public final void b() + { + f(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/be.java b/com.tencent.token/classes.jar/com/tencent/token/be.java new file mode 100755 index 00000000000..4378b3d2e47 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/be.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.utils.UserTask; + +final class be + extends UserTask +{ + be(bd parambd, byte paramByte, Handler paramHandler) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.be + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bf.java b/com.tencent.token/classes.jar/com/tencent/token/bf.java new file mode 100755 index 00000000000..d9b6829405b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bf.java @@ -0,0 +1,213 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.s; +import org.json.JSONException; +import org.json.JSONObject; + +public final class bf + extends n +{ + static bf a; + private final String b = "/cn/mbtoken3/mbtoken3_query_for_2nd_verify"; + private final String c = "/cn/mbtoken3/mbtoken3_perform_2nd_verify"; + private int d; + private String e; + private String f; + private String g; + private String h; + private int i; + + public static bf a() + { + if (a == null) { + a = new bf(); + } + return a; + } + + public final d a(int paramInt) + { + this.d = 0; + this.e = ""; + this.f = ""; + this.g = ""; + this.h = ""; + this.i = 0; + d locald = new d((byte)0); + Object localObject3 = ax.a(); + if (!((ax)localObject3).a(locald)) { + return locald; + } + if (((ax)localObject3).e() == null) + { + locald.a(103, null, null); + return locald; + } + Object localObject2 = ((ax)localObject3).k(); + Object localObject1 = localObject2; + if (localObject2 == null) + { + localObject1 = ((ax)localObject3).r(); + if (((d)localObject1).a == 0) {} + for (int j = 1; j == 0; j = 0) + { + locald.a(((d)localObject1).a, ((d)localObject1).b, ((d)localObject1).c); + return locald; + } + localObject2 = ((ax)localObject3).k(); + localObject1 = localObject2; + if (localObject2 == null) + { + locald.a(103, null, null); + return locald; + } + } + localObject3 = new gv(); + localObject2 = "?aq_base_sid=" + ax.g() + "&uin=" + ((QQUser)localObject1).mUin + "&action_type=" + paramInt; + boolean bool = s.a(RqdApplication.i(), "de.robv.android.xposed.installer"); + localObject1 = localObject2; + if (bool) { + localObject1 = (String)localObject2 + "&nosafe=1"; + } + e.b("&nosafe: " + bool); + localObject1 = b.c() + "/cn/mbtoken3/mbtoken3_query_for_2nd_verify" + (String)localObject1; + localObject2 = ((gv)localObject3).a((String)localObject1); + if (localObject2 == null) + { + localObject2 = ((gv)localObject3).a(); + locald.a(((d)localObject2).a, ((d)localObject2).b, ((d)localObject2).c); + e.c("client request url: " + (String)localObject1 + " failed, reason: " + locald.a + ":" + locald.b); + return locald; + } + try + { + localObject1 = new JSONObject(new String((byte[])localObject2)); + paramInt = ((JSONObject)localObject1).getInt("err"); + if (paramInt != 0) + { + localObject1 = ((JSONObject)localObject1).getString("info"); + locald.a(paramInt, (String)localObject1, (String)localObject1); + e.c("query2ndVerify, errcode: " + paramInt + ", info: " + (String)localObject1); + } + else + { + this.d = ((JSONObject)localObject1).getInt("need_2nd_verify"); + if (this.d == 1) + { + this.e = ((JSONObject)localObject1).getString("verify_tips"); + this.f = ((JSONObject)localObject1).getString("verify_input_tips"); + this.g = ((JSONObject)localObject1).getString("cancel_btn_text"); + this.h = ((JSONObject)localObject1).getString("confirm_btn_text"); + this.i = ((JSONObject)localObject1).getInt("verify_type"); + } + locald.a = 0; + } + } + catch (JSONException localJSONException) + { + e.c("parse json failed: " + localJSONException.toString()); + locald.a(10020, "JSONException:" + localJSONException.toString(), null); + } + catch (Exception localException) + { + e.c("unknown err: " + localException.toString()); + locald.a(10021, "JSONException:" + localException.toString(), null); + } + return locald; + } + + public final d a(String paramString, int paramInt) + { + d locald = new d((byte)0); + Object localObject1 = ax.a(); + if ((localObject1 == null) || (((ax)localObject1).e() == null)) + { + locald.a(110, null, null); + return locald; + } + Object localObject2 = a(ax.a().c(), new String[] { "input_data", paramString, "verify_type", Integer.toString(this.i), "action_type", Integer.toString(paramInt) }); + if (localObject2 == null) + { + locald.a(10000, "encrypt imei failed", null); + return locald; + } + paramString = new gv(); + localObject1 = "?aq_base_sid=" + ax.g() + "&uin=" + ((ax)localObject1).e().mUin + "&verify_data=" + (String)localObject2; + localObject1 = b.c() + "/cn/mbtoken3/mbtoken3_perform_2nd_verify" + (String)localObject1; + localObject2 = paramString.a((String)localObject1); + if (localObject2 == null) + { + paramString = paramString.a(); + locald.a(paramString.a, paramString.b, paramString.c); + e.c("client request url: " + (String)localObject1 + " failed, reason: " + locald.a + ":" + locald.b); + return locald; + } + try + { + paramString = new JSONObject(new String((byte[])localObject2)); + paramInt = paramString.getInt("err"); + if (paramInt != 0) + { + paramString = paramString.getString("info"); + locald.a(paramInt, paramString, paramString); + return locald; + } + } + catch (JSONException paramString) + { + e.c("parse json failed: " + paramString.toString()); + locald.a(10020, "JSONException:" + paramString.toString(), null); + return locald; + ax.a().m(); + locald.a = 0; + return locald; + } + catch (Exception paramString) + { + e.c("unknown err: " + paramString.toString()); + locald.a(10021, "JSONException:" + paramString.toString(), null); + } + return locald; + } + + public final void a(int paramInt, Handler paramHandler) + { + if (paramHandler == null) { + return; + } + new bg(this, paramInt, paramHandler).a(new String[] { "" }); + } + + public final String b() + { + return this.f; + } + + public final String c() + { + return this.e; + } + + public final String d() + { + return this.g; + } + + public final String e() + { + return this.h; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bg.java b/com.tencent.token/classes.jar/com/tencent/token/bg.java new file mode 100755 index 00000000000..cfad71dad08 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bg.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +import android.os.Handler; +import com.tencent.token.utils.UserTask; + +final class bg + extends UserTask +{ + bg(bf parambf, int paramInt, Handler paramHandler) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bh.java b/com.tencent.token/classes.jar/com/tencent/token/bh.java new file mode 100755 index 00000000000..6560092d27f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bh.java @@ -0,0 +1,169 @@ +package com.tencent.token; + +public abstract interface bh +{ + @bv(a=cc.class) + public static final String CMD_CHECK_UP_SMS = "mbtoken3_check_up_sms"; + @bv(a=cd.class) + public static final String CMD_DEL_DEVICE = "mbtoken3_device_lock_del_device_v2"; + @bv(a=ce.class) + public static final String CMD_DEL_MB_INFO = "mbtoken3_del_mbitem"; + @bv(a=cf.class) + public static final String CMD_DEL_UNVERIFYUIN = "mbtoken3_del_unvfy_uin"; + @bv(a=cg.class) + public static final String CMD_DO_ACTIVETOKEN = "mbtoken3_activate_token"; + @bv(a=ca.class) + public static final String CMD_DO_AUTO_IDCARD_DETECT = "mbtoken3_auto_idcard_detect"; + @bv(a=ch.class) + public static final String CMD_DO_BINDTOKEN = "mbtoken3_bind_token_by_app_v3"; + @bv(a=cb.class) + public static final String CMD_DO_BINDTOKENH5 = "mbtoken3_bind_token_h5"; + @bv(a=ci.class) + public static final String CMD_DO_BINDTOKEN_BYREALNAME = "mbtoken3_bind_token_by_realname"; + @bv(a=cj.class) + public static final String CMD_DO_EXCHANGEKEY = "mbtoken3_exchange_key_v3"; + @bv(a=cm.class) + public static final String CMD_DO_FEEDBACK_COMMENT = "mbtoken3_feedback_v2"; + @bv(a=ei.class) + public static final String CMD_DO_LIVE_VIDEO_DETECT = "mbtoken3_live_video_detect"; + @bv(a=ck.class) + public static final String CMD_DO_LOGIN = "mbtoken3_login"; + @bv(a=cl.class) + public static final String CMD_DO_LOGIN_V2 = "mbtoken3_login_v2"; + @bv(a=eq.class) + public static final String CMD_DO_REALNAME_CARD_CHECK = "mbtoken3_card_check"; + @bv(a=et.class) + public static final String CMD_DO_REPORT_LOCATION = "mbtoken3_report_location"; + @bv(a=cn.class) + public static final String CMD_DO_SEND_SMSCODE = "mbtoken3_get_mobile_code_v2"; + @bv(a=co.class) + public static final String CMD_DO_SESSIONINFO = "mbtoken3_session_info"; + @bv(a=cp.class) + public static final String CMD_DO_SHAKE = "mbtoken3_realname_activity"; + @bv(a=cq.class) + public static final String CMD_DO_UNBINDTOKEN = "mbtoken3_unbind_token"; + @bv(a=cr.class) + public static final String CMD_DO_VERIFYQQTOKEN = "mbtoken3_verify_qqtoken"; + @bv(a=cs.class) + public static final String CMD_DO_VERIFYQUESTION = "mbtoken3_vry_ques"; + @bv(a=ct.class) + public static final String CMD_DO_VERIFY_SMSCODE = "mbtoken3_verify_mobile_code"; + @bv(a=cu.class) + public static final String CMD_DO_WTLOGIN = "mbtoken3_vfy_wtlogin"; + @bv(a=cw.class) + public static final String CMD_FACEPK = "mbtoken3_face_pk"; + @bv(a=cv.class) + public static final String CMD_FACERECOGNITION = "mbtoken3_face_reg"; + @bv(a=cz.class) + public static final String CMD_FEEDBACK_ABNORMAL_LOGIN = "mbtoken3_feedback_abnormal_login"; + @bv(a=da.class) + public static final String CMD_FEEDBACK_MOBILE_USING = "mbtoken3_feedback_mobile_using"; + @bv(a=db.class) + public static final String CMD_GENERAL_GET_MOBILE_CODE = "mbtoken3_general_get_mobile_code"; + @bv(a=dc.class) + public static final String CMD_GENERAL_VRY_MOBILE_CODE = "mbtoken3_general_verify_mobile_code"; + @bv(a=ec.class) + public static final String CMD_GETSCANUTIL_DATA = "mbtoken3_detector_info"; + @bv(a=dd.class) + public static final String CMD_GET_ACCOUNT_LOCK_STATUS = "mbtoken3_get_ac_lock_status_v2"; + @bv(a=de.class) + public static final String CMD_GET_COMMON_IMG = "token.getcommonimg"; + @bv(a=df.class) + public static final String CMD_GET_CONFIG = "mbtoken3_get_config_v2"; + @bv(a=dg.class) + public static final String CMD_GET_DEVICE_LOCK = "mbtoken3_get_device_lock_status_v2"; + @bv(a=dh.class) + public static final String CMD_GET_DOMAIN = "mbtoken3_get_domain"; + @bv(a=di.class) + public static final String CMD_GET_DUAL_MSG_LIST = "mbtoken3_get_dual_msg_list_v2"; + @bv(a=dj.class) + public static final String CMD_GET_EVAL_ACCOUNT_RESULT = "mbtoken3_eval_account_v3"; + @bv(a=dk.class) + public static final String CMD_GET_GAME_LOCK_STATUS = "mbtoken3_get_game_lock_status_v2"; + @bv(a=dl.class) + public static final String CMD_GET_JL_APPEAL = "mbtoken3_jl_appeal"; + @bv(a=dm.class) + public static final String CMD_GET_JL_APPEAL_LIST = "mbtoken3_query_jl_appeal_list"; + @bv(a=dn.class) + public static final String CMD_GET_JL_APPEAL_RESULT = "token.getjlappealresult"; + @bv(a=do.class) + public static final String CMD_GET_JL_PROTECTION_INFO = "mbtoken3_query_jl_protection_info"; + @bv(a=dp.class) + public static final String CMD_GET_JL_ROLL_LIST = "mbtoken3_query_jl_role_list"; + @bv(a=dq.class) + public static final String CMD_GET_JL_ZONE_LIST = "mbtoken3_query_jl_zone_list"; + @bv(a=dr.class) + public static final String CMD_GET_LOGIN_PROTECT = "mbtoken3_get_login_prot"; + @bv(a=ds.class) + public static final String CMD_GET_MB_INFO = "mbtoken3_get_mbinfo"; + @bv(a=dt.class) + public static final String CMD_GET_MB_MOBILE_CODE = "mbtoken3_mbop_get_mobile_code"; + @bv(a=du.class) + public static final String CMD_GET_MESSAGE = "mbtoken3_get_message_v2"; + @bv(a=dv.class) + public static final String CMD_GET_OPERATEMSG = "mbtoken3_get_ads_info"; + @bv(a=dw.class) + public static final String CMD_GET_QQFACEURL = "mbtoken3_get_photo_v3"; + @bv(a=dy.class) + public static final String CMD_GET_REALNAME_VERIFY = "mbtoken3_realname_lip"; + @bv(a=dz.class) + public static final String CMD_GET_REALUIN = "mbtoken3_query_real_uin_v2"; + @bv(a=dx.class) + public static final String CMD_GET_REAL_NAME_STATUS = "mbtoken3_realname_status_v2"; + @bv(a=eb.class) + public static final String CMD_GET_SAFE_PROTECTION = "mbtoken3_get_safe_protection_v2"; + @bv(a=ea.class) + public static final String CMD_GET_SMS_CHANNEL = "mbtoken3_get_sms_port_v2"; + @bv(a=ed.class) + public static final String CMD_GET_STARTUP_IMG = "token.getstartupimg"; + @bv(a=ee.class) + public static final String CMD_GET_STR_CONFIG = "mbtoken3_get_key_value_conf"; + @bv(a=ef.class) + public static final String CMD_GET_UIN_LIST = "mbtoken3_get_uin_list_v2"; + @bv(a=eg.class) + public static final String CMD_GET_UPGRADEDETERMIN = "mbtoken3_upgrade_determin_v3"; + @bv(a=cy.class) + public static final String CMD_GET_VRY_ON_OFF = "mbtoken3_face_verify_on_off"; + @bv(a=eh.class) + public static final String CMD_KICK_ONLINE_DEVICE_OFF = "mbtoken3_kickoff"; + @bv(a=ej.class) + public static final String CMD_MOD_QQ_PWD = "mbtoken3_modify_pwd"; + @bv(a=ek.class) + public static final String CMD_QRY_BIND_NOTIFY_MSG = "mbtoken3_qry_bind_notify_msg"; + @bv(a=em.class) + public static final String CMD_QUERY_CAPTCHA = "mbtoken3_query_captcha"; + @bv(a=en.class) + public static final String CMD_QUERY_MALICIOUS_URL = "mbtoken3_query_malicious_url"; + @bv(a=eo.class) + public static final String CMD_QUERY_REALNAME = "mbtoken3_realname_qry"; + @bv(a=ep.class) + public static final String CMD_QUERY_SPE_VERIFY = "mbtoken3_qry_spec_verify"; + @bv(a=er.class) + public static final String CMD_REAL_NAME_REG = "mbtoken3_realname_reg"; + @bv(a=es.class) + public static final String CMD_REPORT_DNS_INFO = "mbtoken3_report_dns"; + @bv(a=eu.class) + public static final String CMD_REPORT_SCANUTIL_DATA = "mbtoken3_detector_report"; + @bv(a=ev.class) + public static final String CMD_SECURITY_REPORTER = "mbtoken3_security_reporter_v2"; + @bv(a=ew.class) + public static final String CMD_SET_MB_MOBILE = "mbtoken3_set_mod_mobile"; + @bv(a=ex.class) + public static final String CMD_SET_SERVICES_STATUS = "mbtoken3_set_service_status"; + @bv(a=bl.class) + public static final String CMD_SET_SERVICES_STATUS_V2 = "mbtoken3_set_service_status_v2"; + @bv(a=ey.class) + public static final String CMD_UPLOAD_LOGFILE = "mbtoken3_log_upload"; + @bv(a=ez.class) + public static final String CMD_UPLOAD_REALNAME_FILE = "mbtoken3_realname_check"; + @bv(a=fa.class) + public static final String CMD_VRY_CAPTCHA = "mbtoken3_verify_captcha_v2"; + @bv(a=fb.class) + public static final String CMD_VRY_MB_MOBILE_CODE = "mbtoken3_mbop_verify_mobile_code"; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bi.java b/com.tencent.token/classes.jar/com/tencent/token/bi.java new file mode 100755 index 00000000000..f17a52ba38e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bi.java @@ -0,0 +1,86 @@ +package com.tencent.token; + +import com.tencent.token.global.e; +import java.lang.reflect.Field; +import java.util.HashMap; + +public final class bi +{ + private static bi b; + private HashMap a = new HashMap(); + + private bi() + { + a(bh.class); + } + + public static bm a(String paramString) + { + if (b == null) { + b = new bi(); + } + return b.b(paramString); + } + + private void a(Class paramClass) + { + paramClass = paramClass.getDeclaredFields(); + if (paramClass == null) {} + for (;;) + { + return; + int j = paramClass.length; + int i = 0; + while (i < j) + { + Object localObject2 = paramClass[i]; + try + { + Object localObject1 = ((Field)localObject2).get(null); + if (!(localObject1 instanceof String)) { + break label135; + } + localObject1 = (String)localObject1; + localObject2 = (bv)((Field)localObject2).getAnnotation(bv.class); + if ((localObject1 == null) || (localObject2 == null)) { + break label135; + } + localObject2 = ((bv)localObject2).a(); + if (localObject2 == null) { + e.c("protocol mapping definition in ProtocolConstant is error:" + (String)localObject1); + } + } + catch (Exception localException) + { + localException.printStackTrace(); + } + this.a.put(localException, localObject2); + label135: + i += 1; + } + } + } + + private bm b(String paramString) + { + paramString = (Class)this.a.get(paramString); + if (paramString != null) { + try + { + paramString = (bm)paramString.newInstance(); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bj.java b/com.tencent.token/classes.jar/com/tencent/token/bj.java new file mode 100755 index 00000000000..887d5284607 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bj.java @@ -0,0 +1,298 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.HashMap; +import java.util.concurrent.Callable; + +public class bj +{ + public static int a = 0; + + public static d a(fs paramfs, String paramString) + { + int i = 1; + d locald = new d((byte)0); + Object localObject = (Long)paramfs.c.get("param.uinhash"); + if (localObject == null) + { + locald.a(10000, null, null); + return locald; + } + QQUser localQQUser; + Long localLong; + for (;;) + { + try + { + localQQUser = ax.a().l(); + e.c("login task: loginedUser" + localQQUser); + localLong = (Long)paramfs.c.get("param.uin.wtlogin"); + if ((localQQUser != null) && ((!localQQUser.mIsBinded) || (localQQUser.mUin == ((Long)localObject).longValue())) && ((localQQUser.mIsBinded) || (localLong == null) || (localQQUser.mRealUin == localLong.longValue()))) { + break; + } + paramfs = c(paramfs, paramString); + if (paramfs.a == 0) + { + if (i != 0) + { + ae.a(); + ax.a().m(); + } + return paramfs; + } + } + finally {} + i = 0; + } + localObject = bi.a(paramString); + if (localLong != null) { + paramfs.c.put("param.uinhash", Long.valueOf(localQQUser.mUin)); + } + if (localObject != null) + { + locald = ((bm)localObject).c(paramfs); + if (locald.a != 0) { + break label321; + } + } + label321: + for (i = 1;; i = 0) + { + if (i != 0) + { + return locald; + locald.a(10000, null, null); + return locald; + } + if ((locald.a == 109) || (locald.a == 104)) + { + paramfs = c(paramfs, paramString); + if (paramfs.a == 0) {} + for (i = 1;; i = 0) + { + if (i != 0) + { + ae.a(); + ax.a().m(); + } + return paramfs; + } + } + return locald; + } + } + + public static Callable a(fs paramfs) + { + return new bk(paramfs); + } + + private static d b(fs paramfs, String paramString) + { + Object localObject1 = new d((byte)0); + Object localObject2 = paramfs.c.get("param.uin.wtlogin"); + if (localObject2 == null) + { + ((d)localObject1).a(10000, null, null); + return localObject1; + } + long l = ((Long)localObject2).longValue(); + localObject2 = l + ""; + x localx1 = x.a(RqdApplication.i()); + e.a("st sync account=" + (String)localObject2 + ",appid=" + 523005425L); + x localx2 = x.a(RqdApplication.i()); + for (;;) + { + synchronized (x.c) + { + if (!localx2.b((String)localObject2, 523005425L)) + { + localx2.a(); + localx2.a((String)localObject2, null, 523005425L); + x.c.wait(); + ??? = localx1.b; + if (((d)???).a == 0) + { + i = 1; + if (i != 0) { + break; + } + paramfs = ((d)???).c + "(" + localx1.b.a + ")"; + e.c("wtlogin error for user: " + paramfs); + if ((((d)???).a != 15) && (((d)???).a != 16) && (((d)???).a != 1) && (((d)???).a != 2)) { + break label326; + } + ((d)localObject1).a(10027, paramfs, paramfs); + return localObject1; + } + } + else + { + localx2.b.a(15, null, null); + } + } + i = 0; + continue; + label326: + if (((d)???).a == -1000) { + ((d)localObject1).a(10003, paramfs + "(" + ((d)???).a + ")", paramfs + "(" + ((d)???).a + ")"); + } else { + ((d)localObject1).a(10028, paramfs + "(" + ((d)???).a + ")", paramfs + "(" + ((d)???).a + ")"); + } + } + cu.a(paramfs, (String)localObject2, (byte[])((d)???).d, 2); + localObject2 = bw.a(paramfs, "mbtoken3_vfy_wtlogin"); + if (((d)localObject2).a == 0) {} + for (int i = 1;; i = 0) + { + localObject1 = localObject2; + if (i == 0) { + break; + } + paramString = bi.a(paramString); + if (paramString == null) { + break label548; + } + return paramString.c(paramfs); + } + label548: + ((d)localObject2).a(10000, null, null); + return localObject2; + } + + private static d c(fs paramfs, String paramString) + { + new d((byte)0); + if (paramfs.c.get("param.uin.wtlogin") != null) { + return b(paramfs, paramString); + } + new d((byte)0); + if (paramfs.m == 1) { + paramfs.m = 0; + } + for (int i = 1;; i = -1) + { + paramfs.c.put("param.loginv2.clearkick", Integer.valueOf(a)); + Object localObject2 = bw.a(paramfs, "mbtoken3_login_v2"); + int j; + if (((d)localObject2).a == 0) { + j = 1; + } + Object localObject1; + while (j != 0) + { + a = 0; + paramString = bi.a(paramString); + if (paramString != null) + { + if (i != -1) + { + paramfs.m = 1; + paramfs.k = true; + } + return paramString.c(paramfs); + j = 0; + } + else + { + ((d)localObject2).a(10000, null, null); + localObject1 = localObject2; + } + } + for (;;) + { + return localObject1; + if (((d)localObject2).a == 0) + { + j = 1; + if ((j != 0) || (((d)localObject2).a != 102)) { + break label328; + } + long l1 = System.currentTimeMillis() + ag.c().p(); + long l2 = 30 - (int)(l1 / 1000L % 30L) + 1L; + e.a("sleep " + l2 + "s for dyncode refresh:" + l1); + Thread.sleep(1000L * l2); + localObject1 = bi.a("mbtoken3_login_v2").c(paramfs); + if (((d)localObject1).a != 0) { + break label310; + } + } + label310: + for (j = 1;; j = 0) + { + localObject2 = localObject1; + if (j == 0) { + break label446; + } + a = 0; + paramString = bi.a(paramString); + if (paramString == null) { + break label315; + } + if (i != -1) + { + paramfs.m = 1; + paramfs.k = true; + } + return paramString.c(paramfs); + j = 0; + break; + } + label315: + ((d)localObject1).a(10000, null, null); + continue; + label328: + if (((d)localObject2).a == 0) + { + j = 1; + localObject1 = localObject2; + if (j != 0) { + continue; + } + localObject1 = localObject2; + if (((d)localObject2).a != 112) { + continue; + } + localObject1 = bi.a("mbtoken3_login_v2").c(paramfs); + if (((d)localObject1).a != 0) { + break label428; + } + } + label428: + for (j = 1;; j = 0) + { + localObject2 = localObject1; + if (j == 0) { + break label446; + } + a = 0; + paramString = bi.a(paramString); + if (paramString == null) { + break label433; + } + if (i != -1) + { + paramfs.m = 1; + paramfs.k = true; + } + return paramString.c(paramfs); + j = 0; + break; + } + label433: + ((d)localObject1).a(10000, null, null); + } + label446: + return localObject2; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bk.java b/com.tencent.token/classes.jar/com/tencent/token/bk.java new file mode 100755 index 00000000000..b26cfb04f4a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bk.java @@ -0,0 +1,15 @@ +package com.tencent.token; + +import java.util.concurrent.Callable; + +final class bk + implements Callable +{ + bk(fs paramfs) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bl.java b/com.tencent.token/classes.jar/com/tencent/token/bl.java new file mode 100755 index 00000000000..551254f806f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bl.java @@ -0,0 +1,113 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class bl + extends bm +{ + private long c; + private int[] d; + private int[] e; + private String f; + private int g; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(10000, null, null); + return null; + } + Object localObject = new StringBuffer(""); + if ((this.d == null) || (this.e == null) || (this.d.length != this.e.length)) + { + this.a.a(10000, null, null); + return null; + } + int i = 0; + while (i < this.d.length) + { + ((StringBuffer)localObject).append("{\"id\":" + this.d[i] + ",\"value\":" + this.e[i] + "}"); + if (i < this.d.length - 1) { + ((StringBuffer)localObject).append(","); + } + i += 1; + } + localObject = "{\"conf_data\":[" + ((StringBuffer)localObject).toString() + "]" + ", \"A2\":\"" + this.f + "\", \"seq_id\":" + this.g + ", \"op_time\":" + (int)(ag.c().r() / 1000L) + "}"; + e.a((String)localObject); + localObject = s.b(((String)localObject).getBytes()); + if (localObject == null) + { + this.a.a(10000, null, null); + return null; + } + str = "?uin=" + this.c + "&sess_id=" + str + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_set_service_status_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((int[])paramfs.c.get("param.mbinfo.id")); + this.e = ((int[])paramfs.c.get("param.mbinfo.val")); + this.f = ((String)paramfs.c.get("param.wtlogin.a2")); + this.g = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.b("ProtoSetServiceStatusV2:" + paramJSONObject); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + long l = paramJSONObject.getLong("uin"); + if (paramJSONObject.getInt("seq_id") != this.g) + { + this.a.a(10000, "uin not match=" + l + ":" + this.c, null); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bm.java b/com.tencent.token/classes.jar/com/tencent/token/bm.java new file mode 100755 index 00000000000..76eab59d5b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bm.java @@ -0,0 +1,193 @@ +package com.tencent.token; + +import android.content.Context; +import android.text.TextUtils; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; +import java.io.Serializable; +import org.json.JSONException; +import org.json.JSONObject; + +public abstract class bm + implements fj +{ + protected d a = new d((byte)0); + protected fs b; + + private void e() + { + e.c("------------------------------\nhandler:" + this.b.d + " \nError=" + this.a.a + " \nstrdebug:" + this.a.b + " \nstruser:" + this.a.c); + } + + public ft a(Serializable paramSerializable) + { + return null; + } + + public Serializable a(ft paramft) + { + return null; + } + + protected abstract String a(); + + protected final void a(int paramInt, String paramString) + { + if (paramString != null) { + this.a.a(paramInt, paramString, paramString); + } + for (;;) + { + e(); + return; + this.a.a(paramInt, null, null); + } + } + + protected abstract void a(fs paramfs); + + protected abstract void a(JSONObject paramJSONObject); + + public fs b(fs paramfs) + { + return paramfs; + } + + protected void b() + { + e.b("------------------------------\nhandler:" + this.b.d); + } + + public ft c() + { + return null; + } + + public final d c(fs paramfs) + { + Object localObject2 = null; + int i = 1; + this.b = paramfs; + a(paramfs); + String str = a(); + if (str == null) + { + e(); + return this.a; + } + Object localObject3 = new gv(); + e.c("cmd:" + paramfs.a); + if (paramfs.m == 0) { + paramfs = ((gv)localObject3).a(str); + } + for (;;) + { + Object localObject1; + if (paramfs == null) + { + paramfs = this.a; + localObject1 = ((gv)localObject3).a(); + paramfs.a(((d)localObject1).a, ((d)localObject1).b, ((d)localObject1).c); + e(); + return this.a; + if (paramfs.m == 1) + { + if (paramfs.n != null) + { + localObject1 = paramfs; + if (paramfs.k) { + localObject1 = b(paramfs); + } + paramfs = ((gv)localObject3).a(str, ((fs)localObject1).n); + } + } + else if (paramfs.m == 2) + { + if ((paramfs.o != null) && (!TextUtils.isEmpty(paramfs.p))) { + paramfs = ((gv)localObject3).a(str, paramfs.o, paramfs.n, paramfs.p); + } + } + else if ((paramfs.m == 3) && (paramfs.q != null) && (!TextUtils.isEmpty(paramfs.p))) { + paramfs = ((gv)localObject3).a(str, paramfs.q, paramfs.n, paramfs.p); + } + } + else + { + for (;;) + { + try + { + if (!this.b.a.equals("token.getstartupimg")) { + continue; + } + e.a(this + "device config" + paramfs); + localObject3 = new JSONObject(); + ((JSONObject)localObject3).put("startup_img", t.a(paramfs)); + localObject1 = localObject2; + paramfs = (fs)localObject3; + } + catch (JSONException paramfs) + { + e.c(this + "\nPARSE JSON FAILED: \n" + paramfs.toString()); + this.a.a(10020, "JSONException:" + paramfs.toString(), b.e().getString(2131361951)); + e(); + continue; + localObject1 = new String(paramfs); + paramfs = new JSONObject((String)localObject1); + continue; + } + catch (Exception paramfs) + { + paramfs.printStackTrace(); + e.c(this + "\nE X C E P T I O N: \n" + paramfs.toString()); + this.a.a(10000, "Exception:" + paramfs.toString(), b.e().getString(2131361951)); + e(); + continue; + i = 0; + continue; + if (localObject1 == null) { + continue; + } + e.a(this + "\nR E S P O N S E: \n" + (String)localObject1); + b(); + continue; + } + a(paramfs); + if (this.a.a != 0) { + continue; + } + if (i != 0) { + continue; + } + if (localObject1 != null) { + e.c(this + "\nR E S P O N S E: \n" + (String)localObject1); + } + e(); + return this.a; + if (!this.b.a.equals("token.getcommonimg")) { + continue; + } + e.a(this + "device config" + paramfs); + localObject1 = new JSONObject(); + ((JSONObject)localObject1).put("img", t.a(paramfs)); + paramfs = (fs)localObject1; + localObject1 = localObject2; + } + } + paramfs = null; + } + } + + public String d() + { + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bn.java b/com.tencent.token/classes.jar/com/tencent/token/bn.java new file mode 100755 index 00000000000..bbc0bd65cc4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bn.java @@ -0,0 +1,30 @@ +package com.tencent.token; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public final class bn +{ + private ExecutorService a = Executors.newFixedThreadPool(5); + private bq b = new bq(this, ""); + private bp c = new bo(this); + + public final int a(fs paramfs) + { + paramfs.l = this.c; + this.b.a(paramfs); + return 0; + } + + public final int a(String paramString) + { + this.b.a(paramString); + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bo.java b/com.tencent.token/classes.jar/com/tencent/token/bo.java new file mode 100755 index 00000000000..81b78327154 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bo.java @@ -0,0 +1,63 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; + +final class bo + implements bp +{ + bo(bn parambn) {} + + public final void a(fs paramfs, d paramd) + { + int i; + if (paramd.a == 0) + { + i = 1; + if (i == 0) { + break label83; + } + v.a().a(System.currentTimeMillis(), 0, paramfs.a, 0, "", s.i()); + if (!paramfs.e) + { + paramd = paramfs.d.obtainMessage(paramfs.f); + paramd.arg1 = 0; + paramd.sendToTarget(); + paramfs.e = true; + } + } + label190: + for (;;) + { + bn.a(this.a).b(paramfs); + return; + i = 0; + break; + label83: + if (paramd.a < 10000) { + v.a().a(System.currentTimeMillis(), 0, paramfs.a, 0, "", s.i()); + } + for (;;) + { + if (paramfs.e) { + break label190; + } + Message localMessage = paramfs.d.obtainMessage(paramfs.f); + localMessage.arg1 = paramd.a; + localMessage.obj = paramd; + localMessage.sendToTarget(); + paramfs.e = true; + break; + v.a().a(System.currentTimeMillis(), v.a(paramd.a), paramfs.a, 1, paramd.b, s.i()); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bp.java b/com.tencent.token/classes.jar/com/tencent/token/bp.java new file mode 100755 index 00000000000..c1e11bfcfa5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bp.java @@ -0,0 +1,14 @@ +package com.tencent.token; + +import com.tencent.token.global.d; + +public abstract interface bp +{ + public abstract void a(fs paramfs, d paramd); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bq.java b/com.tencent.token/classes.jar/com/tencent/token/bq.java new file mode 100755 index 00000000000..12638c1df36 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bq.java @@ -0,0 +1,41 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.HandlerThread; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +final class bq + extends HandlerThread +{ + private Handler b = new Handler(); + private Map c = Collections.synchronizedMap(new HashMap()); + + public bq(bn parambn, String paramString) + { + super(paramString); + } + + public final void a(fs paramfs) + { + this.b.post(new br(this, paramfs)); + this.b.postDelayed(new bs(this, paramfs), paramfs.h); + } + + public final void a(String paramString) + { + this.b.post(new bt(this, paramString)); + } + + public final void b(fs paramfs) + { + this.b.post(new bu(this, paramfs)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/br.java b/com.tencent.token/classes.jar/com/tencent/token/br.java new file mode 100755 index 00000000000..3199d7afb58 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/br.java @@ -0,0 +1,39 @@ +package com.tencent.token; + +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; + +final class br + implements Runnable +{ + br(bq parambq, fs paramfs) {} + + public final void run() + { + Object localObject = null; + switch (this.a.b) + { + } + for (;;) + { + if (localObject != null) + { + localObject = bn.b(this.b.a).submit((Callable)localObject); + bq.a(this.b).put(this.a, localObject); + } + return; + localObject = new bz(this.a); + continue; + localObject = new bx(this.a); + continue; + localObject = bj.a(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.br + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bs.java b/com.tencent.token/classes.jar/com/tencent/token/bs.java new file mode 100755 index 00000000000..c9e4a9459ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bs.java @@ -0,0 +1,163 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.Map; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +final class bs + implements Runnable +{ + bs(bq parambq, fs paramfs) {} + + public final void run() + { + Object localObject2 = (Future)bq.a(this.b).remove(this.a); + if (localObject2 == null) {} + for (;;) + { + return; + ((Future)localObject2).cancel(true); + Object localObject1 = new d((byte)0); + try + { + localObject2 = (d)((Future)localObject2).get(); + try + { + if ((this.a.e) || (this.a.d == null)) { + continue; + } + localObject1 = this.a.d.obtainMessage(this.a.f); + ((Message)localObject1).arg1 = ((d)localObject2).a; + ((Message)localObject1).obj = localObject2; + ((Message)localObject1).sendToTarget(); + this.a.e = true; + return; + } + catch (Exception localException1) + { + return; + } + } + catch (InterruptedException localInterruptedException) + { + localInterruptedException = localInterruptedException; + e.b("task interrupted because timeout, tag=" + this.a.i); + localException1.a(200, null, null); + try + { + if ((this.a.e) || (this.a.d == null)) { + continue; + } + Message localMessage1 = this.a.d.obtainMessage(this.a.f); + localMessage1.arg1 = localException1.a; + localMessage1.obj = localException1; + localMessage1.sendToTarget(); + this.a.e = true; + return; + } + catch (Exception localException2) + { + return; + } + } + catch (ExecutionException localExecutionException) + { + localExecutionException = localExecutionException; + e.b("task interrupted because local bug, tag=" + this.a.i); + localException2.a(10000, "Exception:" + localExecutionException.toString(), null); + try + { + if ((this.a.e) || (this.a.d == null)) { + continue; + } + Message localMessage2 = this.a.d.obtainMessage(this.a.f); + localMessage2.arg1 = localException2.a; + localMessage2.obj = localException2; + localMessage2.sendToTarget(); + this.a.e = true; + return; + } + catch (Exception localException3) + { + return; + } + } + catch (CancellationException localCancellationException) + { + localCancellationException = localCancellationException; + e.b("task cancelled because timeout, tag=" + this.a.i); + localException3.a(200, null, null); + try + { + if ((this.a.e) || (this.a.d == null)) { + continue; + } + Message localMessage3 = this.a.d.obtainMessage(this.a.f); + localMessage3.arg1 = localException3.a; + localMessage3.obj = localException3; + localMessage3.sendToTarget(); + this.a.e = true; + return; + } + catch (Exception localException4) + { + return; + } + } + catch (Exception localException7) + { + localException7 = localException7; + e.b("task interrupted because local bug, tag=" + this.a.i); + localException4.a(10000, "Exception:" + localException7.toString(), null); + try + { + if ((this.a.e) || (this.a.d == null)) { + continue; + } + Message localMessage4 = this.a.d.obtainMessage(this.a.f); + localMessage4.arg1 = localException4.a; + localMessage4.obj = localException4; + localMessage4.sendToTarget(); + this.a.e = true; + return; + } + catch (Exception localException5) + { + return; + } + } + finally {} + try + { + if (!this.a.e) + { + if (this.a.d == null) { + continue; + } + Message localMessage5 = this.a.d.obtainMessage(this.a.f); + localMessage5.arg1 = localException5.a; + localMessage5.obj = localException5; + localMessage5.sendToTarget(); + this.a.e = true; + } + label640: + throw localObject3; + } + catch (Exception localException6) + { + break label640; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bt.java b/com.tencent.token/classes.jar/com/tencent/token/bt.java new file mode 100755 index 00000000000..e57599874fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bt.java @@ -0,0 +1,116 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +final class bt + implements Runnable +{ + bt(bq parambq, String paramString) {} + + public final void run() + { + Iterator localIterator = bq.a(this.b).entrySet().iterator(); + while (localIterator.hasNext()) + { + Object localObject1 = (Map.Entry)localIterator.next(); + Object localObject4 = (Future)((Map.Entry)localObject1).getValue(); + localObject1 = (fs)((Map.Entry)localObject1).getKey(); + if ((((fs)localObject1).i != null) && (this.a != null) && (((fs)localObject1).i.contains(this.a))) + { + localIterator.remove(); + ((Future)localObject4).cancel(true); + Object localObject3 = new d((byte)0); + try + { + localObject4 = (d)((Future)localObject4).get(); + if (!((fs)localObject1).e) + { + localObject3 = ((fs)localObject1).d.obtainMessage(2002); + ((Message)localObject3).arg1 = ((d)localObject4).a; + ((Message)localObject3).obj = localObject4; + ((Message)localObject3).sendToTarget(); + ((fs)localObject1).e = true; + } + } + catch (InterruptedException localInterruptedException) + { + e.b("task interrupted because cancel, tag=" + ((fs)localObject1).i); + ((d)localObject3).a(10024, null, null); + if (!((fs)localObject1).e) + { + Message localMessage1 = ((fs)localObject1).d.obtainMessage(2002); + localMessage1.arg1 = ((d)localObject3).a; + localMessage1.obj = localObject3; + localMessage1.sendToTarget(); + ((fs)localObject1).e = true; + } + } + catch (ExecutionException localExecutionException) + { + ((d)localObject3).a(10000, "Exception:" + localExecutionException.toString(), null); + if (!((fs)localObject1).e) + { + Message localMessage2 = ((fs)localObject1).d.obtainMessage(2002); + localMessage2.arg1 = ((d)localObject3).a; + localMessage2.obj = localObject3; + localMessage2.sendToTarget(); + ((fs)localObject1).e = true; + } + } + catch (CancellationException localCancellationException) + { + e.b("task cancelled because cancel, tag=" + ((fs)localObject1).i); + ((d)localObject3).a(10024, null, null); + if (!((fs)localObject1).e) + { + Message localMessage3 = ((fs)localObject1).d.obtainMessage(2002); + localMessage3.arg1 = ((d)localObject3).a; + localMessage3.obj = localObject3; + localMessage3.sendToTarget(); + ((fs)localObject1).e = true; + } + } + catch (Exception localException) + { + ((d)localObject3).a(10000, "Exception:" + localException.toString(), null); + if (!((fs)localObject1).e) + { + localMessage4 = ((fs)localObject1).d.obtainMessage(2002); + localMessage4.arg1 = ((d)localObject3).a; + localMessage4.obj = localObject3; + localMessage4.sendToTarget(); + ((fs)localObject1).e = true; + } + } + finally + { + Message localMessage4; + if (!((fs)localObject1).e) + { + localMessage4 = ((fs)localObject1).d.obtainMessage(2002); + localMessage4.arg1 = ((d)localObject3).a; + localMessage4.obj = localObject3; + localMessage4.sendToTarget(); + ((fs)localObject1).e = true; + } + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bu.java b/com.tencent.token/classes.jar/com/tencent/token/bu.java new file mode 100755 index 00000000000..366ceb1ea0b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bu.java @@ -0,0 +1,26 @@ +package com.tencent.token; + +import java.util.HashMap; +import java.util.Map; + +final class bu + implements Runnable +{ + bu(bq parambq, fs paramfs) {} + + public final void run() + { + bq.a(this.b).remove(this.a); + fs localfs = this.a; + localfs.d = null; + localfs.l = null; + localfs.c.clear(); + localfs.c = null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bv.java b/com.tencent.token/classes.jar/com/tencent/token/bv.java new file mode 100755 index 00000000000..5a18aef5d43 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bv.java @@ -0,0 +1,19 @@ +package com.tencent.token; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({java.lang.annotation.ElementType.FIELD}) +public @interface bv +{ + Class a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bw.java b/com.tencent.token/classes.jar/com/tencent/token/bw.java new file mode 100755 index 00000000000..908324b38fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bw.java @@ -0,0 +1,140 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +public class bw +{ + public static d a(fs paramfs, String paramString) + { + int i = 0; + Object localObject = null; + d locald = new d((byte)0); + try + { + ae.a(); + if (ax.a().p()) + { + ax.a(); + localObject = ax.c; + } + if (localObject == null) + { + paramfs = b(paramfs, paramString); + return paramfs; + } + localObject = bi.a(paramString); + if (localObject != null) + { + localObject = ((bm)localObject).c(paramfs); + if (((d)localObject).a == 0) { + i = 1; + } + if (i == 0) { + break label118; + } + ae.a(); + ax.a().m(); + return localObject; + } + } + finally {} + locald.a(10000, null, null); + return locald; + label118: + if (((d)localObject).a == 104) + { + paramfs = b(paramfs, paramString); + return paramfs; + } + return localObject; + } + + private static d b(fs paramfs, String paramString) + { + int m = 1; + int k = 1; + new d((byte)0); + e.c(paramString); + if (paramfs.m == 1) { + paramfs.m = 0; + } + for (int i = 1;; i = 0) + { + d locald = bi.a("mbtoken3_exchange_key_v3").c(paramfs); + if (locald.a == 0) {} + for (int j = 1; j == 0; j = 0) + { + paramfs = locald; + return paramfs; + } + locald = bi.a("mbtoken3_get_uin_list_v2").c(paramfs); + if (locald.a == 0) {} + for (j = 1; j == 0; j = 0) { + return locald; + } + if (paramString == "mbtoken3_get_uin_list_v2") { + return locald; + } + long l = ((Long)paramfs.n.get("uin")).longValue(); + if (ax.a().c(l) == null) + { + paramString = bi.a("mbtoken3_qry_bind_notify_msg"); + paramfs.e = true; + paramString = paramString.c(paramfs); + paramfs.e = false; + if (paramString.a == 0) {} + for (i = k;; i = 0) + { + paramfs = paramString; + if (i == 0) { + break; + } + if ((paramString.c == null) || (paramString.c.isEmpty())) { + break label213; + } + paramString.a(222, null, paramString.c); + return paramString; + } + label213: + paramString.a(222, null, RqdApplication.i().getString(2131362822)); + return paramString; + } + paramString = bi.a(paramString); + if (paramString != null) + { + if (i != 0) + { + paramfs.m = 1; + paramfs.k = true; + } + paramString = paramString.c(paramfs); + if (paramString.a != 0) { + break label301; + } + } + label301: + for (i = m;; i = 0) + { + paramfs = paramString; + if (i == 0) { + break; + } + ae.a(); + ax.a().m(); + return paramString; + locald.a(10000, null, null); + return locald; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bx.java b/com.tencent.token/classes.jar/com/tencent/token/bx.java new file mode 100755 index 00000000000..6467edaf189 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bx.java @@ -0,0 +1,15 @@ +package com.tencent.token; + +import java.util.concurrent.Callable; + +final class bx + implements Callable +{ + bx(fs paramfs) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/by.java b/com.tencent.token/classes.jar/com/tencent/token/by.java new file mode 100755 index 00000000000..76e50d30a63 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/by.java @@ -0,0 +1,9 @@ +package com.tencent.token; + +public final class by {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.by + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/bz.java b/com.tencent.token/classes.jar/com/tencent/token/bz.java new file mode 100755 index 00000000000..f0899db8420 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/bz.java @@ -0,0 +1,15 @@ +package com.tencent.token; + +import java.util.concurrent.Callable; + +final class bz + implements Callable +{ + bz(fs paramfs) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.bz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/c.java b/com.tencent.token/classes.jar/com/tencent/token/c.java new file mode 100755 index 00000000000..44d742f0137 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/c.java @@ -0,0 +1,274 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Build.VERSION; +import java.lang.reflect.Field; +import java.nio.charset.Charset; +import java.util.Locale; + +public final class c + extends i +{ + private Context a = null; + + public c(Context paramContext) + { + this.a = paramContext; + } + + private Object a(Class paramClass, String paramString) + { + try + { + paramClass = paramClass.getDeclaredField(paramString).get(paramClass); + return paramClass; + } + catch (Throwable paramClass) + { + a(paramClass); + } + return null; + } + + public final String a() + { + try + { + String str = this.a.getPackageManager().getPackageInfo(this.a.getPackageName(), 64).applicationInfo.sourceDir; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String b() + { + try + { + String str = Build.PRODUCT; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String c() + { + Object localObject = a(Build.class, "CPU_ABI"); + if (localObject == null) { + return ""; + } + return (String)localObject; + } + + public final String d() + { + try + { + String str = Build.TAGS; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String e() + { + try + { + String str = Build.MODEL; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final int f() + { + Object localObject = a(Build.VERSION.class, "SDK_INT"); + if (localObject == null) { + return 0; + } + return ((Integer)localObject).intValue(); + } + + public final String g() + { + try + { + String str = Build.VERSION.RELEASE; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String h() + { + try + { + String str = Build.DEVICE; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String i() + { + Object localObject = a(Build.class, "HARDWARE"); + if (localObject == null) { + return ""; + } + return (String)localObject; + } + + public final String j() + { + try + { + String str = Build.DISPLAY; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String k() + { + try + { + String str = Build.BRAND; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String l() + { + try + { + String str = Build.BOARD; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String m() + { + try + { + String str = Build.FINGERPRINT; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String n() + { + try + { + String str = Build.ID; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String o() + { + Object localObject = a(Build.class, "MANUFACTURER"); + if (localObject == null) { + return ""; + } + return (String)localObject; + } + + public final String p() + { + try + { + String str = Build.USER; + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String q() + { + try + { + String str = Locale.getDefault().toString(); + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String r() + { + try + { + String str = Charset.defaultCharset().name(); + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ca.java b/com.tencent.token/classes.jar/com/tencent/token/ca.java new file mode 100755 index 00000000000..6a45542e4e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ca.java @@ -0,0 +1,106 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.res.Resources; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.util.DisplayMetrics; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ca + extends bm +{ + public static int c = -1; + public static int d = -1; + private long e; + private int f; + + public static void a(fs paramfs, long paramLong) + { + paramfs.c.put("param.realuin", Long.valueOf(paramLong)); + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = RqdApplication.i().getResources().getDisplayMetrics(); + localObject = s.a(new Object[] { "real_uin", Long.valueOf(this.e), "scene_id", Integer.valueOf(1), "mobile_brand", URLEncoder.encode(Build.BRAND), "mobile_model", URLEncoder.encode(Build.MODEL), "mobile_sdk_int", Integer.valueOf(Integer.parseInt(Build.VERSION.SDK)), "mobile_sdk_str", URLEncoder.encode(Build.VERSION.RELEASE), "screen_witdh", Integer.valueOf(((DisplayMetrics)localObject).widthPixels), "screen_height", Integer.valueOf(((DisplayMetrics)localObject).heightPixels), "screen_dpi", Integer.valueOf(((DisplayMetrics)localObject).densityDpi), "cpu_count", Integer.valueOf(t.r()), "cpu_freq", Integer.valueOf(t.s()) }); + str = "?aq_base_sid=" + str + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_idcard_auto_detect" + str; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.realuin")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + this.f = paramJSONObject.getInt("need_idcard_detect"); + if (this.f == 1) {} + try + { + c = paramJSONObject.getInt("displayangle"); + d = paramJSONObject.getInt("imageangle"); + e.a("plain angle=" + c + ",angel2=" + d); + this.a.a = 0; + return; + } + catch (Exception paramJSONObject) + { + for (;;) + { + paramJSONObject.printStackTrace(); + } + } + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.arg2 = this.f; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ca + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cb.java b/com.tencent.token/classes.jar/com/tencent/token/cb.java new file mode 100755 index 00000000000..8d30123693e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cb.java @@ -0,0 +1,122 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cb + extends bm +{ + private long c; + private String d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str2 = ax.c; str2 == null; str2 = null) + { + this.a.a(104, null, null); + return null; + } + String str3 = ""; + String str1 = str3; + try + { + JSONObject localJSONObject = new JSONObject(); + str1 = str3; + localJSONObject.put("real_uin", this.c); + str1 = str3; + int i = af.a + 1; + str1 = str3; + af.a = i; + str1 = str3; + localJSONObject.put("seq_id", i); + str1 = str3; + localJSONObject.put("op_time", ag.c().r() / 1000L); + str1 = str3; + localJSONObject.put("token_seq", ag.c().k()); + str1 = str3; + localJSONObject.put("token_code", ag.c().o()); + str1 = str3; + localJSONObject.put("imei", s.b(RqdApplication.i())); + str1 = str3; + localJSONObject.put("signature", this.d); + str1 = str3; + str3 = localJSONObject.toString(); + str1 = str3; + e.a("plain:" + str3); + str1 = str3; + str3 = s.b(str3.getBytes()); + str1 = str3; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + e.c("JSONException:" + localException.getMessage()); + } + } + str1 = "?aq_base_sid=" + str2 + "&data=" + str1; + str1 = b.c() + "/cn/mbtoken3/mbtoken3_bind_token_h5" + str1; + e.c("url:" + str1); + return str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.d = ((String)paramfs.c.get("param.bind.sig")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, "server errcode=" + i + ":" + paramJSONObject, paramJSONObject); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + long l = paramJSONObject.getLong("server_time"); + ag.c(); + ag.b(l); + if (paramJSONObject.getInt("seed_available") == 1) + { + paramJSONObject = s.e(paramJSONObject.getString("seed")); + if (paramJSONObject != null) + { + ag.c().e(); + ag.c().a(paramJSONObject); + ag.c().i(); + } + } + paramJSONObject = ax.a().d(this.c); + if (paramJSONObject != null) { + ax.a().b(paramJSONObject); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cc.java b/com.tencent.token/classes.jar/com/tencent/token/cc.java new file mode 100755 index 00000000000..d606a1a2e7c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cc.java @@ -0,0 +1,83 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cc + extends bm +{ + private long c; + private long d; + private int e; + private int f; + private final String g = "/cn/mbtoken3/mbtoken3_check_up_sms"; + + public static void a(fs paramfs, long paramLong1, long paramLong2, int paramInt1, int paramInt2) + { + paramfs.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramfs.c.put("param.realuin", Long.valueOf(paramLong2)); + paramfs.c.put("param.general.mobilecode.sceneid", Integer.valueOf(paramInt1)); + paramfs.j = paramInt2; + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.d), "scene_id", Integer.valueOf(this.f), "seq_id", Integer.valueOf(this.e), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?uin=" + this.c + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_check_up_sms" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((Integer)paramfs.c.get("param.general.mobilecode.sceneid")).intValue(); + this.e = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + i = new JSONObject(new String(paramJSONObject)).getInt("seq_id"); + if (i != this.e) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.e); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cd.java b/com.tencent.token/classes.jar/com/tencent/token/cd.java new file mode 100755 index 00000000000..0c58c089ba4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cd.java @@ -0,0 +1,141 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class cd + extends bm +{ + private long c; + private int d; + private int e; + private int f; + private int g; + private int h; + private int i; + private String j; + private String k; + private String l; + private String m; + private String n; + private String o; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c;; str = null) + { + e.c("sessId=" + str); + if (str != null) { + break; + } + this.a.a(104, null, null); + return null; + } + Object localObject1 = ""; + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("dguid", this.j); + ((JSONObject)localObject2).put("ddes", this.k); + ((JSONObject)localObject2).put("dappid", this.g); + ((JSONObject)localObject2).put("dsubappid", this.h); + ((JSONObject)localObject2).put("dappname", this.o); + ((JSONObject)localObject2).put("id", this.d); + ((JSONObject)localObject2).put("guid", this.l); + ((JSONObject)localObject2).put("appid", this.e); + ((JSONObject)localObject2).put("subappid", this.f); + ((JSONObject)localObject2).put("appname", this.m); + ((JSONObject)localObject2).put("A2", this.n); + ((JSONObject)localObject2).put("seq_id", this.i); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + localObject2 = s.b(((JSONObject)localObject2).toString().getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&data=" + (String)localObject1; + str = b.c() + "/cn/mbtoken3/mbtoken3_device_lock_del_device_v2" + str; + e.c("del device url =" + str); + return str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.j = ((String)paramfs.c.get("param.device.lock.dguid")); + this.k = ((String)paramfs.c.get("param.device.lock.ddes")); + this.g = ((Integer)paramfs.c.get("param.device.lock.dappid")).intValue(); + this.h = ((Integer)paramfs.c.get("param.device.lock.dsubappid")).intValue(); + this.o = ((String)paramfs.c.get("param.device.lock.dappname")); + this.d = ((Integer)paramfs.c.get("param.device.lock.id")).intValue(); + this.l = ((String)paramfs.c.get("param.device.lock.guid")); + this.e = ((Integer)paramfs.c.get("param.device.lock.appid")).intValue(); + this.f = ((Integer)paramfs.c.get("param.device.lock.subappid")).intValue(); + this.m = ((String)paramfs.c.get("param.device.lock.appname")); + this.n = ((String)paramfs.c.get("param.wtlogin.a2")); + this.i = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + int i1 = paramJSONObject.getInt("seq_id"); + if (i1 != this.i) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i1).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + i1 = paramJSONObject.getInt("err"); + if (i1 != 0) + { + a(i1, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ce.java b/com.tencent.token/classes.jar/com/tencent/token/ce.java new file mode 100755 index 00000000000..88b4a5587f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ce.java @@ -0,0 +1,78 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ce + extends bm +{ + private long c; + private int d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = new JSONObject(); + try + { + ((JSONObject)localObject).put("item_id", this.d); + localObject = s.b(((JSONObject)localObject).toString().getBytes()); + if (localObject == null) + { + this.a.a(10000, null, null); + return null; + } + } + catch (JSONException localJSONException) + { + localJSONException.printStackTrace(); + this.a.a(10000, null, null); + return null; + } + finally + { + if (s.b(((JSONObject)localObject).toString().getBytes()) == null) + { + this.a.a(10000, null, null); + return null; + } + } + String str3 = "?uin=" + this.c + "&aq_base_sid=" + str2 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_del_mbitem" + str3; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Integer)paramfs.c.get("param.mbinfo.id")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ce + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cf.java b/com.tencent.token/classes.jar/com/tencent/token/cf.java new file mode 100755 index 00000000000..55c5dca7adb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cf.java @@ -0,0 +1,55 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cf + extends bm +{ + private String c; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + String str2; + for (String str1 = ax.c;; str1 = null) + { + str2 = s.a(new Object[] { "uin", this.c }); + if ((str1 != null) && (str2 != null)) { + break; + } + this.a.a(104, null, null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_del_unvfy_uin" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ("" + (Long)paramfs.c.get("param.realuin")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cg.java b/com.tencent.token/classes.jar/com/tencent/token/cg.java new file mode 100755 index 00000000000..50224b57fd7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cg.java @@ -0,0 +1,80 @@ +package com.tencent.token; + +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import org.json.JSONException; +import org.json.JSONObject; + +public final class cg + extends bm +{ + private static final fu d = new fu("B8008767A628A4F53BCB84C13C961A55BF87607DAA5BE0BA3AC2E0CB778E494579BD444F699885F4968CD9028BB3FC6FA657D532F1718F581669BDC333F83DC3", 16); + private final long c = 2L; + private fu e = new fu("-1"); + private ag f = ag.c(); + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "imei", ag.b() }); + if (str2 == null) + { + this.a.a(10000, "encrypt imei failed", null); + return null; + } + this.e = com.tencent.token.utils.encrypt.b.a(); + String str3 = com.tencent.token.utils.encrypt.b.a(this.e, d); + if ((this.e == null) || (str3 == null) || (str3.length() == 0)) + { + this.a.a(10025, null, null); + return null; + } + e.a("client_pub_key=" + str3 + ", length=" + str3.length()); + str1 = "?aq_base_sid=" + str1 + "&data=" + str2 + "&clt_pub_key=" + str3; + return com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_activate_token" + str1; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, "server errcode=" + i + ":" + paramJSONObject, paramJSONObject); + return; + } + Object localObject = paramJSONObject.getString("svc_pub_key"); + if (((String)localObject).length() <= 0) { + throw new JSONException(""); + } + this.f.e(); + localObject = new fu((String)localObject, 16); + localObject = com.tencent.token.utils.encrypt.b.a(this.e, (fu)localObject, d); + if (localObject == null) + { + this.a.a(10026, null, null); + return; + } + this.f.a((fu)localObject); + this.f.n(); + ag.b(paramJSONObject.getLong("server_time")); + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ch.java b/com.tencent.token/classes.jar/com/tencent/token/ch.java new file mode 100755 index 00000000000..850ea13487f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ch.java @@ -0,0 +1,141 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ch + extends bm +{ + private String c; + private String d; + private long e; + private int f; + private int g; + private ag h = ag.c(); + private int i; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = ag.c(); + ((ag)localObject).m(); + String str2 = ((ag)localObject).j().replaceAll("-", ""); + int j = af.a + 1; + af.a = j; + this.i = j; + localObject = s.a(new Object[] { "seq_id", Integer.valueOf(this.i), "op_time", Long.valueOf(ag.c().r() / 1000L), "uin", Long.valueOf(this.e), "mobile", this.c, "area_code", URLEncoder.encode(this.d), "imei", ag.b(), "token_seq", str2, "token_code", ((ag)localObject).o(), "bind_type", String.valueOf(this.f) }); + if (localObject == null) + { + this.a.a(10000, "encrypt imei failed", null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_bind_token_by_app_v3" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((Integer)paramfs.c.get("param.bind.type")).intValue(); + this.c = ((String)paramfs.c.get("param.bind.mobile")); + this.d = ((String)paramfs.c.get("param.bind.areacode")); + } + + protected final void a(JSONObject paramJSONObject) + { + int j = paramJSONObject.getInt("err"); + if (j != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(j, "server errcode=" + j + ":" + paramJSONObject, paramJSONObject); + return; + } + Object localObject = s.d(paramJSONObject.getString("data")); + if (localObject != null) + { + localObject = new JSONObject(new String((byte[])localObject)); + j = ((JSONObject)localObject).getInt("seq_id"); + if (j != this.i) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(j).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.g = ((JSONObject)localObject).getInt("bind_mobile_succ"); + if (1 != this.g) {} + try + { + d locald = this.a; + paramJSONObject = paramJSONObject.getString("info"); + locald.a = 0; + locald.c = paramJSONObject; + long l = ((JSONObject)localObject).getLong("server_time"); + ag.c(); + ag.b(l); + if (((JSONObject)localObject).getInt("seed_available") == 1) + { + paramJSONObject = s.e(((JSONObject)localObject).getString("seed")); + if (paramJSONObject != null) + { + this.h.e(); + this.h.a(paramJSONObject); + ag.c().i(); + } + } + paramJSONObject = ax.a().d(this.e); + if (paramJSONObject != null) { + ax.a().b(paramJSONObject); + } + this.a.a = 0; + return; + } + catch (Exception paramJSONObject) + { + for (;;) + { + paramJSONObject.printStackTrace(); + } + } + } + e.c("parseJSON error decodeData=" + localObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.a; + localMessage.arg2 = this.g; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ci.java b/com.tencent.token/classes.jar/com/tencent/token/ci.java new file mode 100755 index 00000000000..e920d8dde49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ci.java @@ -0,0 +1,107 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ci + extends bm +{ + private long c; + private int d; + private int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = ag.c(); + ((ag)localObject).m(); + String str2 = ((ag)localObject).j().replaceAll("-", ""); + localObject = s.a(new Object[] { "real_uin", Long.valueOf(this.c), "imei", ag.b(), "verify_type", Integer.valueOf(this.e), "token_seq", str2, "token_code", ((ag)localObject).o(), "seq_id", Integer.valueOf(this.d), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?aq_base_sid=" + str1 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_bind_token_by_realname" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.e = ((Integer)paramfs.c.get("param.type")).intValue(); + this.d = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.d); + return; + } + long l = paramJSONObject.getLong("server_time"); + ag.c(); + ag.b(l); + if (paramJSONObject.getInt("seed_available") == 1) + { + paramJSONObject = s.e(paramJSONObject.getString("seed")); + if (paramJSONObject != null) + { + ag.c().e(); + ag.c().a(paramJSONObject); + ag.c().i(); + } + } + paramJSONObject = ax.a().d(this.c); + if (paramJSONObject != null) { + ax.a().b(paramJSONObject); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + e.c("handleSuccess" + this.b.f); + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ci + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cj.java b/com.tencent.token/classes.jar/com/tencent/token/cj.java new file mode 100755 index 00000000000..a1ac93da007 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cj.java @@ -0,0 +1,95 @@ +package com.tencent.token; + +import android.os.Build.VERSION; +import com.tencent.token.core.bean.h; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.net.URLEncoder; +import oicq.wlogin_sdk.tools.MD5; +import org.json.JSONObject; + +public final class cj + extends bm +{ + private fu c; + private byte[] d; + private ag e = ag.c(); + + protected final String a() + { + this.c = com.tencent.token.utils.encrypt.b.a(); + String str1 = com.tencent.token.utils.encrypt.b.a(this.c, ax.b); + if ((this.c == null) || (str1 == null) || (str1.length() == 0)) + { + this.a.a(10025, null, null); + return null; + } + String str2 = "?mobile_type=" + 4 + "&client_type=" + 2 + "&client_ver=" + com.tencent.token.global.b.b() + "&local_id=0" + "&tkn_seq=" + String.valueOf(this.e.k()); + str1 = str2 + "&pub_key=" + str1; + str1 = str1 + "&sys_ver=" + URLEncoder.encode(Build.VERSION.RELEASE); + str1 = com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_exchange_key_v3" + str1; + e.b("exchange key len=" + str1.length() + str1); + return str1; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + h.b(); + ax.a(); + ax.a(paramJSONObject); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + this.a.a = 0; + return; + } + String str = paramJSONObject.getString("sess_id"); + i = paramJSONObject.getInt("valid_time"); + long l1 = System.currentTimeMillis() / 1000L; + paramJSONObject = new fu("1BB4632707784BB8836F564E3B48C20091D222C43ECD05CB17F8C29BDE18FEF1BEE828F9A5F18F80D50414B50315C5DBC2378410CCDD3565F1C7662F427A4801046CE59B4B1F214E65AB4F8B751622B2F7129989F740BC2BB4EF61230D6B77689CD8C7B59D238037194A6A810260E8AAE01A7F36693B21C68402B126F8A79248", 16); + paramJSONObject = com.tencent.token.utils.encrypt.b.a(this.c, paramJSONObject, ax.b); + label96: + long l2; + if (paramJSONObject == null) + { + paramJSONObject = null; + this.d = paramJSONObject; + ae.a(); + l2 = i; + paramJSONObject = this.d; + switch (com.tencent.token.global.b.a()) + { + default: + ax.e = str; + } + } + for (;;) + { + ax.c = str; + ax.a().i = l2; + ax.a().h = l1; + ax.a().a = paramJSONObject; + bi.a("mbtoken3_session_info").c(new fs("mbtoken3_exchange_key_v3", 1, null, -1)); + this.a.a = 0; + break; + paramJSONObject = MD5.toMD5Byte(ap.a(paramJSONObject.a())); + break label96; + ax.d = str; + continue; + ax.e = str; + continue; + ax.f = str; + continue; + ax.g = str; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ck.java b/com.tencent.token/classes.jar/com/tencent/token/ck.java new file mode 100755 index 00000000000..efad867b32c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ck.java @@ -0,0 +1,73 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ck + extends bm +{ + ag c = ag.c(); + gj d = ax.a().l; + private long e; + + protected final String a() + { + this.c.m(); + String str2 = this.c.o(); + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + str1 = "?uin=" + this.e + "&sess_id=" + str1 + "&tkn_code=" + str2 + "&ksid=" + this.c.h(); + str1 = str1 + "&channel_id=" + s.k(); + return b.c() + "/cn/mbtoken3/mbtoken3_login" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + long l = paramJSONObject.getLong("uin"); + ax.a(); + ax.a(paramJSONObject); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + if (l != this.e) + { + this.a.a(10000, "uin not match=" + l + ":" + this.e, null); + return; + } + ax.a().m(); + if (!this.d.a(l)) { + this.a.a(10000, "mUserStorage.setCurrentUserByUin failed", null); + } + System.currentTimeMillis(); + l = paramJSONObject.getInt("valid_time"); + ax.a().a(this.e, l); + if (this.c.h().length() == 0) { + this.c.c(paramJSONObject.getString("ksid")); + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ck + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cl.java b/com.tencent.token/classes.jar/com/tencent/token/cl.java new file mode 100755 index 00000000000..a7bb124f314 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cl.java @@ -0,0 +1,111 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cl + extends bm +{ + ag c = ag.c(); + gj d = ax.a().l; + private long e; + private int f; + private int g; + + protected final String a() + { + this.c.m(); + String str2 = this.c.o(); + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + str2 = s.a(new Object[] { "tkn_code", str2, "ksid", this.c.h(), "channel_id", s.k(), "clear_kick", Integer.valueOf(this.f), "seq_id", Integer.valueOf(this.g), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?uin=" + this.e + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_login_v2" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.f = ((Integer)paramfs.c.get("param.loginv2.clearkick")).intValue(); + this.g = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + if (i == 270) + { + Object localObject1 = s.d(paramJSONObject.getString("data")); + if (localObject1 != null) + { + Object localObject2 = new JSONObject(new String((byte[])localObject1)); + localObject1 = ((JSONObject)localObject2).optString("masked_mobile"); + localObject2 = ((JSONObject)localObject2).optString("mSmsPrefix"); + UpgradeDeterminResult localUpgradeDeterminResult = new UpgradeDeterminResult(); + localUpgradeDeterminResult.mMobileMask = ((String)localObject1); + localUpgradeDeterminResult.mSmsPrefix = ((String)localObject2); + this.a.d = localUpgradeDeterminResult; + } + } + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("login_v2 ret: " + paramJSONObject); + i = paramJSONObject.getInt("seq_id"); + if (i != this.g) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.g); + return; + } + long l = paramJSONObject.getLong("uin"); + ax.a(); + ax.a(paramJSONObject); + if (l != this.e) + { + this.a.a(10000, "uin not match=" + l + ":" + this.e, null); + return; + } + ax.a().m(); + if (!this.d.a(l)) { + this.a.a(10000, "mUserStorage.setCurrentUserByUin failed", null); + } + System.currentTimeMillis(); + l = paramJSONObject.getInt("valid_time"); + ax.a().a(this.e, l); + if (this.c.h().length() == 0) { + this.c.c(paramJSONObject.getString("ksid")); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cm.java b/com.tencent.token/classes.jar/com/tencent/token/cm.java new file mode 100755 index 00000000000..136a07e7082 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cm.java @@ -0,0 +1,79 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class cm + extends bm +{ + private String c; + private int d; + private long e; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject2).put("net_type", s.i()); + ((JSONObject)localObject2).put("comment", this.c); + ((JSONObject)localObject2).put("uin", this.e); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_feedback_v2" + str; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.c = ((String)paramfs.c.get("param.feedback.comment")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cn.java b/com.tencent.token/classes.jar/com/tencent/token/cn.java new file mode 100755 index 00000000000..0597594bd3b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cn.java @@ -0,0 +1,94 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class cn + extends bm +{ + public long c; + private int d; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_mobile_code_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + i = new JSONObject(new String(paramJSONObject)).getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/co.java b/com.tencent.token/classes.jar/com/tencent/token/co.java new file mode 100755 index 00000000000..8abe0e63dce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/co.java @@ -0,0 +1,126 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.h; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.net.URLEncoder; +import org.json.JSONObject; + +public final class co + extends bm +{ + protected final String a() + { + String str2 = ""; + String str1 = str2; + try + { + JSONObject localJSONObject = new JSONObject(); + str1 = str2; + int i = af.a + 1; + str1 = str2; + af.a = i; + str1 = str2; + localJSONObject.put("seq_id", i); + str1 = str2; + Object localObject = h.b(); + str1 = str2; + localJSONObject.put("rmd_ver", ((h)localObject).g); + str1 = str2; + localJSONObject.put("rmd_times", ((h)localObject).h); + str1 = str2; + localJSONObject.put("rmd_last_time", ((h)localObject).i); + str1 = str2; + localJSONObject.put("config_ver", ba.a().h.b); + str1 = str2; + localObject = RqdApplication.g(); + if (localObject != null) + { + str1 = str2; + localJSONObject.put("sec_sig", URLEncoder.encode((String)localObject)); + } + str1 = str2; + localJSONObject.put("channel_id", s.k()); + str1 = str2; + localJSONObject.put("wtsdk_guid", s.a(x.a(RqdApplication.i()).c())); + str1 = str2; + localJSONObject.put("device_name", URLEncoder.encode(t.q())); + str1 = str2; + localJSONObject.put("release_tag", b.a); + str1 = str2; + str2 = localJSONObject.toString(); + str1 = str2; + str2 = s.b(str2.getBytes()); + str1 = str2; + } + catch (Exception localException) + { + String str3; + for (;;) + { + localException.printStackTrace(); + e.c("JSONException:" + localException.getMessage()); + continue; + str3 = null; + } + label297: + str1 = "?aq_base_sid=" + str3 + "&data=" + str1; + str1 = b.c() + "/cn/mbtoken3/mbtoken3_session_info" + str1; + e.c("url:" + str1); + } + ae.a(); + if (ax.a().p()) + { + ax.a(); + str2 = ax.c; + if (str2 != null) { + break label297; + } + this.a.a(104, null, null); + return null; + } + return str1; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, "server errcode=" + i + ":" + paramJSONObject, paramJSONObject); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.c(paramJSONObject.toString()); + if (paramJSONObject.has("new_config")) + { + JSONObject localJSONObject = paramJSONObject.getJSONObject("new_config"); + ba.a().h.a(localJSONObject); + } + if (paramJSONObject.has("update")) { + h.b().a(paramJSONObject.getJSONObject("update")); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.co + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/AbnormalLoginMsgResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/AbnormalLoginMsgResult.java new file mode 100755 index 00000000000..d8f8616ab2f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/AbnormalLoginMsgResult.java @@ -0,0 +1,64 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class AbnormalLoginMsgResult + implements Serializable +{ + private static final long serialVersionUID = -5970917243977567223L; + public int mCnt; + public boolean mIsNeedAgain; + public List mMsgList = null; + + public AbnormalLoginMsgResult(JSONObject paramJSONObject) + { + int j = paramJSONObject.getInt("is_have_msg"); + this.mCnt = paramJSONObject.getInt("rsp_msg_num"); + boolean bool; + JSONArray localJSONArray; + if ((j > 0) && (this.mCnt > 0)) + { + bool = true; + this.mIsNeedAgain = bool; + localJSONArray = paramJSONObject.getJSONArray("msgs"); + if ((localJSONArray != null) && (localJSONArray.length() > 0)) { + this.mMsgList = new ArrayList(); + } + } + else + { + for (;;) + { + if (i >= localJSONArray.length()) { + break label184; + } + JSONObject localJSONObject = localJSONArray.getJSONObject(i); + SafeMsgItem localSafeMsgItem = new SafeMsgItem(); + localSafeMsgItem.mUin = paramJSONObject.getLong("uin"); + if (!localSafeMsgItem.a(localJSONObject)) + { + throw new JSONException("parse msg[" + i + "] error"); + bool = false; + break; + } + this.mMsgList.add(localSafeMsgItem); + i += 1; + } + label184: + if (this.mCnt != this.mMsgList.size()) { + throw new JSONException("cnt not equas msgs.size"); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.AbnormalLoginMsgResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/AppRecommendItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/AppRecommendItem.java new file mode 100755 index 00000000000..8839d0827b2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/AppRecommendItem.java @@ -0,0 +1,20 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class AppRecommendItem + implements Serializable +{ + private static final long serialVersionUID = 8839469629506434891L; + public int mAppId; + public String mAppUri; + public String mDownloadUrl; + public String mName; + public String mPicUrl; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.AppRecommendItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/CommonImgResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/CommonImgResult.java new file mode 100755 index 00000000000..055867f52cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/CommonImgResult.java @@ -0,0 +1,24 @@ +package com.tencent.token.core.bean; + +import android.graphics.Bitmap; +import java.io.Serializable; + +public class CommonImgResult + implements Serializable +{ + private static final long serialVersionUID = 4858996832142963048L; + public Bitmap mBmp; + public String mUrl; + + public CommonImgResult(String paramString, Bitmap paramBitmap) + { + this.mUrl = paramString; + this.mBmp = paramBitmap; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.CommonImgResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/ConfigResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/ConfigResult.java new file mode 100755 index 00000000000..5bcdf7afec7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/ConfigResult.java @@ -0,0 +1,146 @@ +package com.tencent.token.core.bean; + +import android.content.SharedPreferences.Editor; +import android.graphics.Bitmap; +import com.tencent.token.gb; +import com.tencent.token.global.e; +import com.tencent.token.utils.i; +import com.tencent.token.utils.p; +import java.io.File; +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class ConfigResult + implements Serializable +{ + private static final long serialVersionUID = 5361472330572016694L; + public ArrayList bannerItemlist; + public JSONArray bannerlist; + public int displayAngle; + public int face_algorithm; + public ArrayList fucntionItemlist; + public JSONArray fucntionlist; + public int headlineVersion; + public String headlinetip; + public String headlineurl; + public int imageAngle; + public int logLevel; + public String mActivityName; + public String mActivityUrl; + public int mActivityVersion; + public FaceRecognitionParamResult mFaceRecognitionParamResult; + public Bitmap mStartUpImg; + public long mStartUpImgEndTime; + public long mStartUpImgStartTime; + public String mStartUpImgUrl; + public String schemaKey; + public int schemaTimeout; + public int uploadDate; + public int utilsShowFlag; + + public ConfigResult() {} + + public ConfigResult(JSONObject paramJSONObject) + { + this.mStartUpImgUrl = paramJSONObject.getString("startup_img_url"); + this.mStartUpImgStartTime = paramJSONObject.getLong("startup_img_start_time"); + this.mStartUpImgEndTime = paramJSONObject.getLong("startup_img_end_time"); + this.schemaKey = paramJSONObject.getString("schema_key"); + this.schemaTimeout = paramJSONObject.getInt("schema_timeout"); + this.utilsShowFlag = paramJSONObject.getInt("icon_show_flag"); + e.b("ConfigResult mStartUpImgUrl=" + this.mStartUpImgUrl + "mStartUpImgStartTime=" + this.mStartUpImgStartTime + "mStartUpImgEndTime=" + "schemaKey=" + this.schemaKey + "schemaTimeout=" + this.schemaTimeout); + this.mActivityName = paramJSONObject.getString("my_activities_tip"); + this.mActivityUrl = paramJSONObject.getString("my_activities_url"); + this.mActivityVersion = paramJSONObject.getInt("my_activities_version"); + this.headlinetip = paramJSONObject.optString("headline_tip"); + this.headlineurl = paramJSONObject.optString("headline_url"); + this.headlineVersion = paramJSONObject.optInt("headline_version"); + this.mFaceRecognitionParamResult = new FaceRecognitionParamResult(paramJSONObject); + try + { + this.face_algorithm = paramJSONObject.getInt("face_algorithm"); + try + { + this.displayAngle = paramJSONObject.getInt("displayangle"); + this.imageAngle = paramJSONObject.getInt("imageangle"); + label234: + this.fucntionlist = paramJSONObject.optJSONArray("function_list"); + int i; + Object localObject; + if ((this.fucntionlist != null) && (this.fucntionlist.length() > 0)) + { + this.fucntionItemlist = new ArrayList(); + i = 0; + while (i < this.fucntionlist.length()) + { + localObject = new UtilFucntionItem(this.fucntionlist.getJSONObject(i)); + this.fucntionItemlist.add(localObject); + i += 1; + } + } + this.bannerlist = paramJSONObject.optJSONArray("banner"); + if ((this.bannerlist != null) && (this.bannerlist.length() > 0)) + { + this.bannerItemlist = new ArrayList(); + i = j; + while (i < this.bannerlist.length()) + { + localObject = new a(this.bannerlist.getJSONObject(i)); + this.bannerItemlist.add(localObject); + i += 1; + } + } + for (;;) + { + try + { + this.logLevel = paramJSONObject.getInt("log_level"); + switch (this.logLevel) + { + case 0: + gb.a(48); + this.uploadDate = paramJSONObject.getInt("upload_date"); + if (this.uploadDate < 0) { + return; + } + p.b("debug.file.uploadfiledate", this.uploadDate).commit(); + e.a("log file upload date=" + this.uploadDate); + paramJSONObject = new File(gb.b(), "upload.file"); + if (!paramJSONObject.exists()) { + return; + } + i.a(paramJSONObject); + return; + } + } + catch (Exception paramJSONObject) + { + paramJSONObject.printStackTrace(); + return; + } + gb.a(63); + continue; + gb.a(60); + continue; + gb.a(48); + } + } + catch (Exception localException1) + { + break label234; + } + } + catch (Exception localException2) + { + for (;;) {} + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.ConfigResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/DeviceInfo.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/DeviceInfo.java new file mode 100755 index 00000000000..9c3334f6874 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/DeviceInfo.java @@ -0,0 +1,22 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class DeviceInfo + implements Serializable +{ + private static final long serialVersionUID = 3778195991704185613L; + public int dappid; + public String dappname; + public String ddes; + public String dguid; + public String dname; + public int dsubappid; + public String dtype; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.DeviceInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$DetailItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$DetailItem.java new file mode 100755 index 00000000000..9a3bb88dad2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$DetailItem.java @@ -0,0 +1,30 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import org.json.JSONObject; + +public class EvalAccountResult$DetailItem + implements Serializable +{ + private static final long serialVersionUID = 5521091018833642724L; + public int mDegree; + public String mDesc; + public int mRecommendId; + public String mTitle; + + public EvalAccountResult$DetailItem(JSONObject paramJSONObject) + { + e.b("DetailItem:" + paramJSONObject.toString()); + this.mRecommendId = paramJSONObject.getInt("recommend_id"); + this.mDegree = paramJSONObject.getInt("degree"); + this.mTitle = paramJSONObject.getString("title"); + this.mDesc = paramJSONObject.getString("desc"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.EvalAccountResult.DetailItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$RecommendItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$RecommendItem.java new file mode 100755 index 00000000000..b9459ccf536 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult$RecommendItem.java @@ -0,0 +1,43 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class EvalAccountResult$RecommendItem + implements Serializable +{ + private static final long serialVersionUID = -7344683138244993145L; + public int mDegree; + public String mDesc; + public ArrayList mDetails = new ArrayList(); + public int mRecommendId; + public String mSubTitle; + public String mTitle; + + public EvalAccountResult$RecommendItem(JSONObject paramJSONObject) + { + this.mRecommendId = paramJSONObject.getInt("recommend_id"); + this.mDegree = paramJSONObject.getInt("degree"); + this.mTitle = paramJSONObject.getString("title"); + this.mSubTitle = paramJSONObject.getString("sub_title"); + this.mDesc = paramJSONObject.getString("desc"); + paramJSONObject = paramJSONObject.getJSONArray("detail_items"); + int i = 0; + while (i < paramJSONObject.length()) + { + e.b("二级推荐列表" + paramJSONObject.getJSONObject(i).toString()); + EvalAccountResult.DetailItem localDetailItem = new EvalAccountResult.DetailItem(paramJSONObject.getJSONObject(i)); + this.mDetails.add(localDetailItem); + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.EvalAccountResult.RecommendItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult.java new file mode 100755 index 00000000000..cb4e2af08bf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/EvalAccountResult.java @@ -0,0 +1,89 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class EvalAccountResult + implements Serializable +{ + public static final int RECOMMD_ITEM_ID_MY_FOOT = 1; + public static final int RECOMMD_ITEM_ID_MY_MB = 4; + public static final int RECOMMD_ITEM_ID_MY_PROT = 3; + public static final int RECOMMD_ITEM_ID_MY_PWD = 2; + public static final int RECOMMD_ITEM_ID_SUB_ACC_LOCK = 305; + public static final int RECOMMD_ITEM_ID_SUB_FACE_MB = 401; + public static final int RECOMMD_ITEM_ID_SUB_FINGER_MB = 402; + public static final int RECOMMD_ITEM_ID_SUB_GAME_LOCK = 306; + public static final int RECOMMD_ITEM_ID_SUB_GAME_PROT = 302; + public static final int RECOMMD_ITEM_ID_SUB_MAIL_PROT = 303; + public static final int RECOMMD_ITEM_ID_SUB_MOBILE_MB = 404; + public static final int RECOMMD_ITEM_ID_SUB_PWD = 201; + public static final int RECOMMD_ITEM_ID_SUB_PWD_ABNORMAL_LOGIN_TIMES = 202; + public static final int RECOMMD_ITEM_ID_SUB_QB_PROT = 304; + public static final int RECOMMD_ITEM_ID_SUB_QQ_PROT = 301; + public static final int RECOMMD_ITEM_ID_SUB_QUESTION_MB = 405; + public static final int RECOMMD_ITEM_ID_SUB_REALNAME_MB = 403; + public static final int RECOMMD_ITEM_ID_SUB_TOKEN_MB = 406; + private static final long serialVersionUID = -6565579543089831219L; + public int mActionId; + public int mDegree; + public String mDesc; + public String mMarketUrl; + public boolean mOutOfDate; + public ArrayList mRecommends = new ArrayList(); + public int mStatus; + public int mSubStatus; + public String mSummary; + public String mTitle; + public long mUin; + public long mUinHash; + public String mUpdateInfo; + public String mUrl; + + public EvalAccountResult(JSONObject paramJSONObject1, JSONObject paramJSONObject2) + { + JSONObject localJSONObject = paramJSONObject1.getJSONObject("check_result"); + e.b("check_result:" + localJSONObject.toString()); + this.mStatus = localJSONObject.getInt("status"); + this.mSubStatus = localJSONObject.getInt("sub_status"); + this.mTitle = localJSONObject.getString("title"); + this.mDegree = localJSONObject.getInt("urgency_degree"); + this.mActionId = localJSONObject.getInt("action_id"); + if (localJSONObject.has("url")) { + this.mUrl = localJSONObject.getString("url"); + } + if (localJSONObject.has("desc")) { + this.mDesc = localJSONObject.getString("desc"); + } + this.mSummary = paramJSONObject2.getString("summary"); + if (paramJSONObject2.getInt("out_of_date") == 0) {} + for (boolean bool = false;; bool = true) + { + this.mOutOfDate = bool; + if (this.mOutOfDate) + { + this.mUpdateInfo = paramJSONObject2.getString("update_note"); + if (paramJSONObject2.has("market_url")) { + this.mMarketUrl = paramJSONObject2.getString("market_url"); + } + } + paramJSONObject1 = paramJSONObject1.getJSONArray("recommends"); + while (i < paramJSONObject1.length()) + { + e.b("一级推荐列表" + paramJSONObject1.getJSONObject(i).toString()); + paramJSONObject2 = new EvalAccountResult.RecommendItem(paramJSONObject1.getJSONObject(i)); + this.mRecommends.add(paramJSONObject2); + i += 1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.EvalAccountResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/FaceRecognitionParamResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/FaceRecognitionParamResult.java new file mode 100755 index 00000000000..d66c4e836b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/FaceRecognitionParamResult.java @@ -0,0 +1,28 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class FaceRecognitionParamResult + implements Serializable +{ + private static final long serialVersionUID = -4652727647213939088L; + public float mDisparityThres; + public float mRegRayThres; + public float mVerifyRayThres; + + public FaceRecognitionParamResult() {} + + public FaceRecognitionParamResult(JSONObject paramJSONObject) + { + this.mRegRayThres = ((float)paramJSONObject.getDouble("face_reg_thres")); + this.mVerifyRayThres = ((float)paramJSONObject.getDouble("face_verify_thres")); + this.mDisparityThres = ((float)paramJSONObject.getDouble("face_disparity_thres")); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.FaceRecognitionParamResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLAppealInfo.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLAppealInfo.java new file mode 100755 index 00000000000..729c7939b0f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLAppealInfo.java @@ -0,0 +1,31 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONArray; +import org.json.JSONObject; + +public class JLAppealInfo + implements Serializable +{ + private static final long serialVersionUID = -4144237682312765693L; + public String desc; + public String id; + public String subTitle; + public String table; + public String title; + + public JLAppealInfo(JSONObject paramJSONObject) + { + this.id = paramJSONObject.getString("id"); + this.title = paramJSONObject.getString("title"); + this.subTitle = paramJSONObject.getString("subtitle"); + this.desc = paramJSONObject.getString("desc"); + this.table = paramJSONObject.getJSONArray("table").toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLAppealInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ActivityItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ActivityItem.java new file mode 100755 index 00000000000..5d65283729c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ActivityItem.java @@ -0,0 +1,24 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class JLProtectionInfo$ActivityItem + implements Serializable +{ + private static final long serialVersionUID = -7543733014347670018L; + public String jumpURL; + public String picURL; + + public JLProtectionInfo$ActivityItem(JSONObject paramJSONObject) + { + this.picURL = paramJSONObject.getString("pic_url"); + this.jumpURL = paramJSONObject.getString("jump_url"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLProtectionInfo.ActivityItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ProtectionInfoItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ProtectionInfoItem.java new file mode 100755 index 00000000000..5c62a4b1f14 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo$ProtectionInfoItem.java @@ -0,0 +1,35 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class JLProtectionInfo$ProtectionInfoItem + implements Serializable +{ + public static final int EM_SVC_TYPE_ACCOUNT_LOCK = 3; + public static final int EM_SVC_TYPE_GAME_LOCK = 2; + public static final int EM_SVC_TYPE_GAME_PROTECT = 1; + public static final int EM_SVC_TYPE_QBQD_PROTECT = 4; + private static final long serialVersionUID = 2797458695263568056L; + public boolean busy; + public String desc; + public int id; + public String name; + public int type; + public int value; + + public JLProtectionInfo$ProtectionInfoItem(JSONObject paramJSONObject) + { + this.id = paramJSONObject.getInt("id"); + this.name = paramJSONObject.getString("name"); + this.desc = paramJSONObject.getString("desc"); + this.value = paramJSONObject.getInt("value"); + this.type = paramJSONObject.getInt("type"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLProtectionInfo.ProtectionInfoItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo.java new file mode 100755 index 00000000000..d03f25147b2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLProtectionInfo.java @@ -0,0 +1,58 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class JLProtectionInfo + implements Serializable +{ + private static final long serialVersionUID = -5660582609249992294L; + public ArrayList activityItem = new ArrayList(); + public String appealDesc; + public String appealName; + public int detail_max; + public int detail_min; + public boolean is_xy; + public ArrayList protectionInfoItem = new ArrayList(); + public String recommandDesc; + public String recommandName; + + public JLProtectionInfo(JSONObject paramJSONObject) + { + JSONArray localJSONArray = paramJSONObject.getJSONArray("prot_list"); + int i = 0; + Object localObject; + while (i < localJSONArray.length()) + { + localObject = new JLProtectionInfo.ProtectionInfoItem(localJSONArray.getJSONObject(i)); + this.protectionInfoItem.add(localObject); + i += 1; + } + localJSONArray = paramJSONObject.getJSONArray("activity_list"); + i = 0; + while (i < localJSONArray.length()) + { + localObject = new JLProtectionInfo.ActivityItem(localJSONArray.getJSONObject(i)); + this.activityItem.add(localObject); + i += 1; + } + this.appealName = paramJSONObject.getString("appeal_name"); + this.appealDesc = paramJSONObject.getString("appeal_desc"); + this.recommandName = paramJSONObject.getString("recomd_name"); + this.recommandDesc = paramJSONObject.getString("recomd_desc"); + this.detail_max = paramJSONObject.getInt("detail_max"); + this.detail_min = paramJSONObject.getInt("detail_min"); + if (paramJSONObject.getInt("is_xy") == 1) { + bool = true; + } + this.is_xy = bool; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLProtectionInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLRoleInfo.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLRoleInfo.java new file mode 100755 index 00000000000..9465275f9d4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLRoleInfo.java @@ -0,0 +1,24 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class JLRoleInfo + implements Serializable +{ + private static final long serialVersionUID = -3263251584503260606L; + public int id; + public String name; + + public JLRoleInfo(JSONObject paramJSONObject) + { + this.id = paramJSONObject.getInt("role_id"); + this.name = paramJSONObject.getString("role_name"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLRoleInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone$JLZoneServer.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone$JLZoneServer.java new file mode 100755 index 00000000000..a2f744ce93c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone$JLZoneServer.java @@ -0,0 +1,23 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class JLZone$JLZoneServer + implements Serializable +{ + private static final long serialVersionUID = 6282670364777245762L; + public int serverID; + public String serverName; + + public JLZone$JLZoneServer(JLZone paramJLZone, String paramString, int paramInt) + { + this.serverName = paramString; + this.serverID = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLZone.JLZoneServer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone.java new file mode 100755 index 00000000000..900080570a4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/JLZone.java @@ -0,0 +1,19 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; + +public class JLZone + implements Serializable +{ + private static final long serialVersionUID = 7947348976125316715L; + public int id; + public String name; + public ArrayList serverList; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.JLZone + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/LoginProtectResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/LoginProtectResult.java new file mode 100755 index 00000000000..12b0ec953b3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/LoginProtectResult.java @@ -0,0 +1,43 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +public class LoginProtectResult + implements Serializable +{ + public static final int CONF_ID_DEVICE_LOCK = 71; + public static final int CONF_ID_GAME_PROTECT = 6; + public static final int CONF_ID_MAIL_PROTECT = 70; + public static final int CONF_ID_QQ_PROTECT = 80; + public static final int CONF_ID_QQ_PROTECT_1_0 = 81; + public static final int CONF_ID_WEB_PROTECT = 82; + private static final long serialVersionUID = 2427127947506109099L; + public List mLists = new ArrayList(); + + public LoginProtectResult(JSONObject paramJSONObject) + { + paramJSONObject = paramJSONObject.getJSONArray("list"); + int i = 0; + while (i < paramJSONObject.length()) + { + Object localObject = paramJSONObject.getJSONObject(i); + int j = ((JSONObject)localObject).getInt("id"); + if ((j == 80) || (j == 82)) + { + localObject = new e(this, (JSONObject)localObject); + this.mLists.add(localObject); + } + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.LoginProtectResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItem.java new file mode 100755 index 00000000000..336a9063a46 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItem.java @@ -0,0 +1,46 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONException; +import org.json.JSONObject; + +public class MbInfoResult$MbInfoItem + implements Serializable +{ + private static final long serialVersionUID = 5162164365673394343L; + public String mContent; + public String mDesc; + public MbInfoResult.MbInfoItemDetail mDetail; + public int mId; + public String mName; + public String mOpName; + public int mValue; + + public MbInfoResult$MbInfoItem(JSONObject paramJSONObject) + { + this.mId = paramJSONObject.getInt("id"); + this.mName = paramJSONObject.getString("name"); + this.mDesc = paramJSONObject.getString("desc"); + this.mValue = paramJSONObject.getInt("value"); + this.mOpName = paramJSONObject.getString("value_word"); + try + { + this.mContent = paramJSONObject.getString("content"); + this.mDetail = new MbInfoResult.MbInfoItemDetail(paramJSONObject.getJSONObject("detail_info")); + return; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.MbInfoResult.MbInfoItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItemDetail.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItemDetail.java new file mode 100755 index 00000000000..13d26130e6e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult$MbInfoItemDetail.java @@ -0,0 +1,43 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class MbInfoResult$MbInfoItemDetail + implements Serializable +{ + private static final long serialVersionUID = -909766217975577730L; + public int mBtnExtStatus; + public String mBtnExtText; + public int mBtnExtType; + public int mBtnStatus; + public String mBtnText; + public int mBtnType; + public String mDesc; + public String mTable; + + public MbInfoResult$MbInfoItemDetail(JSONObject paramJSONObject) + { + this.mDesc = paramJSONObject.getString("detail_word"); + this.mBtnType = paramJSONObject.getInt("btn_type"); + this.mBtnText = paramJSONObject.getString("btn_text"); + this.mBtnStatus = paramJSONObject.getInt("btn_status"); + this.mTable = paramJSONObject.getJSONArray("tab_info").toString(); + try + { + this.mBtnExtType = paramJSONObject.getInt("ex_btn_type"); + this.mBtnExtText = paramJSONObject.getString("ex_btn_text"); + this.mBtnExtStatus = paramJSONObject.getInt("ex_btn_status"); + return; + } + catch (JSONException paramJSONObject) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult.java new file mode 100755 index 00000000000..ecece835477 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/MbInfoResult.java @@ -0,0 +1,39 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class MbInfoResult + implements Serializable +{ + private static final long serialVersionUID = 1491530977583986061L; + public ArrayList mMbInfoItems = new ArrayList(); + + public MbInfoResult(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject == null) { + throw new JSONException("dec transdata error"); + } + paramJSONObject = new JSONArray(new String(paramJSONObject)); + e.c(paramJSONObject.toString()); + int i = 0; + while (i < paramJSONObject.length()) + { + MbInfoResult.MbInfoItem localMbInfoItem = new MbInfoResult.MbInfoItem(paramJSONObject.getJSONObject(i)); + this.mMbInfoItems.add(localMbInfoItem); + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.MbInfoResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/NewConfigureCacheItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/NewConfigureCacheItem.java new file mode 100755 index 00000000000..a4ec511bb8e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/NewConfigureCacheItem.java @@ -0,0 +1,39 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.ba; +import com.tencent.token.fp; +import java.io.Serializable; +import java.util.ArrayList; + +public class NewConfigureCacheItem + implements Serializable +{ + private static final long serialVersionUID = 1072983214720279022L; + public int mClickVersion = 0; + public int mClientVersion = 0; + public ArrayList mConfIDs = new ArrayList(); + public String mConfKey; + + public NewConfigureCacheItem(String paramString) + { + this.mConfKey = paramString; + } + + public final void a() + { + if (this.mClickVersion == this.mClientVersion) { + return; + } + this.mClickVersion = this.mClientVersion; + if (this.mConfIDs != null) { + this.mConfIDs.clear(); + } + ba.a().h.a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.NewConfigureCacheItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/OfficalMailResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/OfficalMailResult.java new file mode 100755 index 00000000000..69d98398d87 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/OfficalMailResult.java @@ -0,0 +1,18 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; + +public class OfficalMailResult + implements Serializable +{ + private static final long serialVersionUID = 8437486574837818710L; + public ArrayList mMailList; + public String mTitle; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.OfficalMailResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/OnlineDeviceResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/OnlineDeviceResult.java new file mode 100755 index 00000000000..fabfa295a59 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/OnlineDeviceResult.java @@ -0,0 +1,43 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class OnlineDeviceResult + implements Serializable +{ + private static final long serialVersionUID = 8266486502836044167L; + public ArrayList mDevicesList; + + public OnlineDeviceResult(JSONArray paramJSONArray) + { + if ((paramJSONArray != null) && (paramJSONArray.length() > 0)) + { + this.mDevicesList = new ArrayList(); + int i = 0; + while (i < paramJSONArray.length()) + { + JSONObject localJSONObject = paramJSONArray.getJSONObject(i); + f localf = new f(this); + localf.a = localJSONObject.getString("dguid"); + localf.b = localJSONObject.getString("dname"); + localf.c = localJSONObject.getString("dtype"); + localf.d = localJSONObject.getString("ddes"); + localf.e = localJSONObject.getInt("dappid"); + localf.f = localJSONObject.getInt("dsubappid"); + localf.g = localJSONObject.getString("dappname"); + localf.h = localJSONObject.getInt("dflag"); + this.mDevicesList.add(localf); + i += 1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.OnlineDeviceResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/QQUser.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/QQUser.java new file mode 100755 index 00000000000..7253eeae571 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/QQUser.java @@ -0,0 +1,28 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class QQUser + implements Serializable +{ + private static final long serialVersionUID = -191631782648221847L; + public String mEmail; + public long mHeadImageUpdateTime; + public boolean mIsBinded = false; + public boolean mIsCurrentUser; + public boolean mIsLoadingHeadImage = false; + public boolean mIsRegisterFacePwd = false; + public boolean mIsSupperQQ; + public boolean mIsZzb = false; + public String mMobileMask; + public String mNickName; + public long mRealUin; + public long mUin; + public String mUinMask; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.QQUser + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/QueryCaptchaResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/QueryCaptchaResult.java new file mode 100755 index 00000000000..dd6d259572b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/QueryCaptchaResult.java @@ -0,0 +1,39 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class QueryCaptchaResult + implements Serializable +{ + private static final long serialVersionUID = -3090433295861489742L; + public String mCaptchaUrl = ""; + public long mLastGetUrlTime; + public boolean mNeedCaptcha = false; + public long mRealUin; + public int mSceneId; + public int mUrlValidTimeSecs; + + public QueryCaptchaResult(JSONObject paramJSONObject) + { + if (paramJSONObject.getInt("need_captcha") == 1) {} + for (;;) + { + this.mNeedCaptcha = bool; + if (this.mNeedCaptcha) + { + this.mCaptchaUrl = paramJSONObject.getString("captcha_url"); + this.mUrlValidTimeSecs = paramJSONObject.getInt("url_valid_time"); + this.mLastGetUrlTime = (System.currentTimeMillis() / 1000L); + } + return; + bool = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.QueryCaptchaResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameQueryResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameQueryResult.java new file mode 100755 index 00000000000..f128ec1935d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameQueryResult.java @@ -0,0 +1,83 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class RealNameQueryResult + implements Serializable +{ + private static final long serialVersionUID = 8007253534094985809L; + private int is_auth_user; + private int is_h5_user; + private String mask_mobile; + private String sms_port; + private String sms_up_code; + private int zzb_rebind_type; + + public RealNameQueryResult(JSONObject paramJSONObject) + { + this.is_auth_user = paramJSONObject.getInt("is_auth_user"); + this.is_h5_user = paramJSONObject.optInt("is_h5_user", 0); + try + { + this.zzb_rebind_type = paramJSONObject.getInt("zzb_rebind_type"); + try + { + label35: + this.mask_mobile = paramJSONObject.getString("mobile_mask"); + try + { + label45: + this.sms_port = paramJSONObject.getString("sms_port"); + this.sms_up_code = paramJSONObject.getString("sms_up_code"); + return; + } + catch (Exception paramJSONObject) {} + } + catch (Exception localException1) + { + break label45; + } + } + catch (Exception localException2) + { + break label35; + } + } + + public final int a() + { + return this.is_auth_user; + } + + public final int b() + { + return this.zzb_rebind_type; + } + + public final String c() + { + return this.mask_mobile; + } + + public final String d() + { + return this.sms_port; + } + + public final String e() + { + return this.sms_up_code; + } + + public final int f() + { + return this.is_h5_user; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.RealNameQueryResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameRegResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameRegResult.java new file mode 100755 index 00000000000..9cb656cd611 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameRegResult.java @@ -0,0 +1,38 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import org.json.JSONObject; + +public class RealNameRegResult + implements Serializable +{ + private static final long serialVersionUID = 736958906972493428L; + public int chance_left; + public int complete_time; + public int daily_zzb_cnt; + public int dispatch_time; + public int submit_time; + public int time_left; + public String top_msg_text; + + public RealNameRegResult(JSONObject paramJSONObject) + { + this.time_left = paramJSONObject.getInt("time_left"); + this.submit_time = paramJSONObject.getInt("submit_time"); + this.complete_time = paramJSONObject.getInt("complete_time"); + this.chance_left = paramJSONObject.getInt("chance_left"); + e.a("chance_left:" + this.chance_left); + this.daily_zzb_cnt = paramJSONObject.getInt("daily_zzb_cnt"); + e.a("daily_zzb_cnt:" + this.daily_zzb_cnt); + this.top_msg_text = paramJSONObject.getString("top_msg_text"); + e.a("top_msg_text:" + this.top_msg_text); + this.dispatch_time = paramJSONObject.getInt("dispatch_time"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.RealNameRegResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameShakeResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameShakeResult.java new file mode 100755 index 00000000000..3daf6cef55c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameShakeResult.java @@ -0,0 +1,48 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import org.json.JSONObject; + +public class RealNameShakeResult + implements Serializable +{ + private static final long serialVersionUID = 341525324058326856L; + public int action1_id; + public String bottomText; + public String button1_text; + public int chanceLeft; + public int icon_id; + public String main_title; + public int shakeStatus; + public String sub_title; + public String target_url; + public String third_title; + public int totalLeft; + public String wx_share_text; + public String wx_share_title; + + public RealNameShakeResult(JSONObject paramJSONObject) + { + e.a("shake jsonObject=" + paramJSONObject); + this.icon_id = paramJSONObject.getInt("icon_id"); + this.main_title = paramJSONObject.getString("main_title"); + this.sub_title = paramJSONObject.getString("sub_title"); + this.third_title = paramJSONObject.getString("third_title"); + this.action1_id = paramJSONObject.getInt("action_id"); + this.button1_text = paramJSONObject.getString("button_text"); + this.bottomText = paramJSONObject.getString("bottom_text"); + this.target_url = paramJSONObject.getString("target_url"); + this.wx_share_title = paramJSONObject.getString("wx_share_title"); + this.wx_share_text = paramJSONObject.getString("wx_share_text"); + this.shakeStatus = paramJSONObject.getInt("shake_status"); + this.chanceLeft = paramJSONObject.getInt("chance_left"); + this.totalLeft = paramJSONObject.getInt("total_left"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.RealNameShakeResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameStatusResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameStatusResult.java new file mode 100755 index 00000000000..a267118793d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/RealNameStatusResult.java @@ -0,0 +1,112 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import org.json.JSONObject; + +public class RealNameStatusResult + implements Serializable +{ + public static final int STATUS_IS_REAL_NAME = 1; + public static final int STATUS_NOT_REAL_NAME_SUBMITTED_DATA = 2; + public static final int STATUS_NOT_REAL_NAME_WITHOUT_QUALIFICATION = 4; + public static final int STATUS_NOT_REAL_NAME_WITH_QUALIFICATION = 3; + private static final long serialVersionUID = -4162087501328710134L; + public int chanceLeft; + public long mApplyRefuseTime; + public long mCompleteTime; + public int mDailyZzbCnt; + public int mDispatchTime; + public long mLeftTime; + public String mMaskId; + public String mMaskMobile; + public String mMaskName; + public String mMsgText; + public int mRealStatus; + public long mSubmitTime; + public String mToastText; + public String mToastUrl; + public int realnameday; + public int regVersion; + public int reg_rank; + public String shareCircleText; + public String shareFriendText; + public String shareTitle; + public String subTitle; + public int totalLeft; + public String urlShare; + + public RealNameStatusResult() {} + + public RealNameStatusResult(JSONObject paramJSONObject) + { + this.mRealStatus = paramJSONObject.getInt("realname_status"); + e.a("real_name_status_result: " + paramJSONObject); + try + { + this.mToastText = paramJSONObject.getString("top_toast_text"); + this.mToastUrl = paramJSONObject.getString("top_toast_url"); + switch (this.mRealStatus) + { + default: + e.b("realname_status=" + this.mRealStatus + ", mobile=" + this.mMaskMobile); + return; + } + } + catch (Exception localException1) + { + for (;;) + { + e.c("json parse error: mToastText,mToastUrl"); + continue; + this.mMaskName = paramJSONObject.getString("masked_name"); + this.mMaskId = paramJSONObject.getString("masked_id"); + this.mMaskMobile = paramJSONObject.getString("masked_mobile"); + this.reg_rank = paramJSONObject.getInt("reg_rank"); + this.realnameday = paramJSONObject.getInt("protect_days"); + this.urlShare = paramJSONObject.getString("url_share"); + this.shareTitle = paramJSONObject.getString("share_title"); + this.shareCircleText = paramJSONObject.getString("share_circle_text"); + this.shareFriendText = paramJSONObject.getString("share_friend_text"); + continue; + this.regVersion = paramJSONObject.getInt("reg_version"); + if (this.regVersion == 1) + { + this.mLeftTime = paramJSONObject.getInt("time_left"); + this.mSubmitTime = paramJSONObject.getLong("submit_time"); + this.mCompleteTime = paramJSONObject.getLong("complete_time"); + } + for (;;) + { + this.mDailyZzbCnt = paramJSONObject.getInt("daily_zzb_cnt"); + this.mMaskMobile = paramJSONObject.getString("masked_mobile"); + this.mDispatchTime = paramJSONObject.getInt("dispatch_time"); + break; + this.chanceLeft = paramJSONObject.getInt("chance_left"); + this.mMsgText = paramJSONObject.getString("top_msg_text"); + } + this.mMaskMobile = paramJSONObject.getString("masked_mobile"); + this.mDailyZzbCnt = paramJSONObject.getInt("daily_zzb_cnt"); + try + { + this.mApplyRefuseTime = paramJSONObject.getLong("apply_refused_time"); + this.mDispatchTime = paramJSONObject.getInt("dispatch_time"); + } + catch (Exception localException2) + { + for (;;) + { + e.c("json parse error: apply_refused_time"); + } + } + this.subTitle = paramJSONObject.getString("subtitle_text"); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.RealNameStatusResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem$MsgAction.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem$MsgAction.java new file mode 100755 index 00000000000..22984823b42 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem$MsgAction.java @@ -0,0 +1,20 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class SafeMsgItem$MsgAction + implements Serializable +{ + private static final long serialVersionUID = -179518061041549637L; + public String mActionType; + public String mButtonText; + public String mTargetUrl; + + public SafeMsgItem$MsgAction(SafeMsgItem paramSafeMsgItem) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.SafeMsgItem.MsgAction + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem.java new file mode 100755 index 00000000000..c82d065e627 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SafeMsgItem.java @@ -0,0 +1,134 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class SafeMsgItem + implements Serializable +{ + public static final int QQ_MSG_FLAG_BIT_ABNORM = 7; + public static final int QQ_MSG_FLAG_BIT_FB = 0; + public static final int QQ_MSG_FLAG_BIT_IPC = 2; + public static final int QQ_MSG_FLAG_BIT_LONG_MSG = 2147483647; + public static final int QQ_MSG_FLAG_BIT_NORMAL_NORESIDENT_LOGIN = 8; + public static final int QQ_MSG_FLAG_BIT_PULL = 1; + public static final int QQ_MSG_TYPE_A_ABNORM = 4; + public static final int QQ_MSG_TYPE_A_INT = 3; + public static final int QQ_MSG_TYPE_A_LOGIN = 1; + public static final int QQ_MSG_TYPE_A_SENS = 2; + public static final int QQ_MSG_TYPE_B_CTLOGIN = 1; + public static final int QQ_MSG_TYPE_B_MOBILE_QQ = 3; + public static final int QQ_MSG_TYPE_B_PTLOGIN = 2; + public static final int QQ_MSG_TYPE_B_QB_INT = 1; + public static final int QQ_MSG_TYPE_B_WTLOGIN = 11; + private static final long serialVersionUID = -7664964646815479758L; + public SafeMsgItem.MsgAction mAction; + public String mContent; + public String mDetail; + public SafeMsgItem.MsgAction mFeedBack; + public int mFlag; + public String mIP; + public long mId; + public boolean mIsChecked; + public boolean mIsRead; + public int mLoc_city_id; + public int mLoc_country_id; + public int mLoc_prov_id; + public String mMsgVersion; + public String mTable; + public String mTextAfterTable; + public String mTextBeforeTable; + public long mTime; + public String mTitle; + public int mTypea; + public int mTypeb; + public int mTypec; + public long mUin; + public String mUri; + + private static int a(String paramString) + { + try + { + paramString = paramString.split("\\."); + int i = Integer.parseInt(paramString[0]); + int j = Integer.parseInt(paramString[1]); + int k = Integer.parseInt(paramString[2]); + int m = Integer.parseInt(paramString[3]); + return (m & 0xFF) + (((i & 0xFF) << 24) + ((j & 0xFF) << 16) + ((k & 0xFF) << 8)); + } + catch (Exception paramString) {} + return 0; + } + + public final int a() + { + return a(this.mIP); + } + + public final boolean a(JSONObject paramJSONObject) + { + try + { + this.mTitle = paramJSONObject.getString("title"); + this.mContent = paramJSONObject.getString("content"); + this.mTime = paramJSONObject.getInt("time"); + this.mFlag = paramJSONObject.getInt("flag"); + this.mTextBeforeTable = paramJSONObject.getString("text_before_table"); + this.mTextAfterTable = paramJSONObject.getString("text_after_table"); + JSONObject localJSONObject = paramJSONObject.getJSONObject("type"); + if (localJSONObject != null) + { + this.mTypea = localJSONObject.getInt("typea"); + this.mTypeb = localJSONObject.getInt("typeb"); + this.mTypec = localJSONObject.getInt("typec"); + } + localJSONObject = paramJSONObject.getJSONObject("action"); + if (localJSONObject != null) + { + this.mAction = new SafeMsgItem.MsgAction(this); + this.mAction.mActionType = localJSONObject.getString("action_type"); + this.mAction.mButtonText = localJSONObject.getString("btn_text"); + this.mAction.mTargetUrl = localJSONObject.getString("target"); + } + localJSONObject = paramJSONObject.getJSONObject("feedback"); + if (localJSONObject != null) + { + this.mFeedBack = new SafeMsgItem.MsgAction(this); + this.mFeedBack.mActionType = localJSONObject.getString("type"); + this.mFeedBack.mButtonText = localJSONObject.getString("btn_text"); + this.mFeedBack.mTargetUrl = localJSONObject.getString("target"); + } + this.mTextBeforeTable = paramJSONObject.getString("text_before_table"); + this.mTable = paramJSONObject.getJSONArray("table").toString(); + if (this.mTypea == 1) + { + this.mIP = paramJSONObject.getString("ip"); + localJSONObject = paramJSONObject.getJSONObject("location"); + if (localJSONObject != null) + { + this.mLoc_country_id = localJSONObject.getInt("country_id"); + this.mLoc_prov_id = localJSONObject.getInt("prov_id"); + this.mLoc_city_id = localJSONObject.getInt("city_id"); + } + } + this.mTextAfterTable = paramJSONObject.getString("text_after_table"); + this.mMsgVersion = "5"; + return true; + } + catch (JSONException paramJSONObject) + { + e.c("JSONException: " + paramJSONObject.getMessage()); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.SafeMsgItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/ScanDataResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/ScanDataResult.java new file mode 100755 index 00000000000..47a44b8102a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/ScanDataResult.java @@ -0,0 +1,66 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.utils.bugscanuitl.BugObject; +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class ScanDataResult + implements Serializable +{ + private static final long serialVersionUID = 7403688842799494496L; + private ArrayList app_list; + private String tip_text; + private String worm_desc; + private String worm_name; + private int worm_type; + + public ScanDataResult(JSONObject paramJSONObject) + { + this.worm_name = paramJSONObject.getString("worm_name"); + this.worm_type = paramJSONObject.getInt("worm_type"); + this.worm_desc = paramJSONObject.getString("worm_desc"); + this.tip_text = paramJSONObject.getString("result_subtitle"); + paramJSONObject = paramJSONObject.getJSONArray("app_list"); + this.app_list = new ArrayList(); + int i = 0; + while (i < paramJSONObject.length()) + { + BugObject localBugObject = new BugObject(paramJSONObject.getJSONObject(i)); + this.app_list.add(localBugObject); + i += 1; + } + } + + public final int a() + { + return this.worm_type; + } + + public final String b() + { + return this.worm_name; + } + + public final String c() + { + return this.worm_desc; + } + + public final String d() + { + return this.tip_text; + } + + public final ArrayList e() + { + return this.app_list; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.ScanDataResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult$ChartAreas.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult$ChartAreas.java new file mode 100755 index 00000000000..723c5e502bf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult$ChartAreas.java @@ -0,0 +1,21 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; + +public class SecurityReporterResult$ChartAreas + implements Serializable +{ + private static final long serialVersionUID = -2239427414631374725L; + public String subTtitle; + public String table; + public String title; + public int type; + + public SecurityReporterResult$ChartAreas(SecurityReporterResult paramSecurityReporterResult) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.SecurityReporterResult.ChartAreas + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult.java new file mode 100755 index 00000000000..e75b205317d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/SecurityReporterResult.java @@ -0,0 +1,54 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public class SecurityReporterResult + implements Serializable +{ + public static final int CHART_TYPE_BAR = 3; + public static final int CHART_TYPE_CITY = 6; + public static final int CHART_TYPE_MAP = 5; + public static final int CHART_TYPE_PIE = 4; + public static final int CHART_TYPE_PLAT = 7; + public static final int CHART_TYPE_TIME = 8; + public static final int REPORTER_TYPE_ALL = 1; + public static final int REPORTER_TYPE_USER_DESC = 2; + private static final long serialVersionUID = -7875994227423532556L; + public ArrayList chart = new ArrayList(); + public String noDataTip; + public int type; + public String userDesc; + + public SecurityReporterResult(JSONObject paramJSONObject) + { + this.type = paramJSONObject.getInt("type"); + this.userDesc = paramJSONObject.getString("user_desc"); + this.noDataTip = paramJSONObject.getString("no_data_tip"); + paramJSONObject = paramJSONObject.getJSONArray("chart"); + if ((paramJSONObject != null) && (paramJSONObject.length() > 0)) + { + this.chart.clear(); + int i = 0; + while (i < paramJSONObject.length()) + { + JSONObject localJSONObject = paramJSONObject.getJSONObject(i); + SecurityReporterResult.ChartAreas localChartAreas = new SecurityReporterResult.ChartAreas(this); + localChartAreas.type = localJSONObject.getInt("type"); + localChartAreas.title = localJSONObject.getString("title"); + localChartAreas.subTtitle = localJSONObject.getString("subtitle"); + localChartAreas.table = localJSONObject.getJSONArray("table").toString(); + this.chart.add(localChartAreas); + i += 1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.SecurityReporterResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult$QuesInfoItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult$QuesInfoItem.java new file mode 100755 index 00000000000..2e73739e085 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult$QuesInfoItem.java @@ -0,0 +1,26 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class UpgradeDeterminResult$QuesInfoItem + implements Serializable +{ + private static final long serialVersionUID = -6303479941324604162L; + public String mContent = null; + public int mId = 0; + public int mType = 0; + + public UpgradeDeterminResult$QuesInfoItem(UpgradeDeterminResult paramUpgradeDeterminResult, JSONObject paramJSONObject) + { + this.mId = paramJSONObject.getInt("ques_id"); + this.mContent = paramJSONObject.getString("ques_content"); + this.mType = paramJSONObject.getInt("ques_type"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.UpgradeDeterminResult.QuesInfoItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult.java new file mode 100755 index 00000000000..5c94922cdec --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UpgradeDeterminResult.java @@ -0,0 +1,85 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +public class UpgradeDeterminResult + implements Serializable +{ + public static final int BINDTYPE_APPEAL = 7; + public static final int BINDTYPE_DIR = 2; + public static final int BINDTYPE_DNA = 1; + public static final int BINDTYPE_NOCHECK_NOAUTH = 5; + public static final int BINDTYPE_NOCHECK_NONEPHONE = 3; + public static final int BINDTYPE_NOCHECK_VERFIYPHONE = 6; + public static final int BINDTYPE_NOCHECK_WITHAUTH = 4; + public static final int BINDTYPE_REALNAME = 8; + public static final int BINDTYPE_REALNAME_H5 = 9; + private static final long serialVersionUID = 1229246620832794524L; + private int bindType = 0; + public int mHaveMobile; + public int mMobileAppear; + public String mMobileMask = ""; + public int mQqtokenAppear; + public int mQuesAppear; + public List mQuesInfo = null; + public long mServerTime; + public String mSmsPort; + public String mSmsPrefix = ""; + public String mUin = ""; + + public UpgradeDeterminResult() + { + this.mHaveMobile = 0; + this.mQqtokenAppear = 0; + this.mQuesAppear = 0; + this.mMobileAppear = 0; + this.mQuesInfo = new ArrayList(); + } + + public UpgradeDeterminResult(JSONObject paramJSONObject) + { + this.bindType = paramJSONObject.getInt("bind_type"); + e.a("UpgradeDeterminResult jsonObject=" + paramJSONObject.toString()); + this.mHaveMobile = paramJSONObject.getInt("have_mobile"); + this.mMobileMask = paramJSONObject.getString("mobile_mask"); + this.mQqtokenAppear = paramJSONObject.getInt("qqtoken_appear"); + this.mQuesAppear = paramJSONObject.getInt("ques_appear"); + this.mMobileAppear = paramJSONObject.getInt("mobile_appear"); + this.mSmsPrefix = paramJSONObject.getString("mobile_sms_prefix"); + if (this.mQuesAppear == 1) + { + paramJSONObject = paramJSONObject.getJSONArray("ques_info"); + if ((paramJSONObject != null) && (paramJSONObject.length() != 0)) { + break label156; + } + } + for (;;) + { + return; + label156: + this.mQuesInfo = new ArrayList(); + while (i < paramJSONObject.length()) + { + UpgradeDeterminResult.QuesInfoItem localQuesInfoItem = new UpgradeDeterminResult.QuesInfoItem(this, paramJSONObject.getJSONObject(i)); + this.mQuesInfo.add(localQuesInfoItem); + i += 1; + } + } + } + + public final int a() + { + return this.bindType; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.UpgradeDeterminResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/UtilFucntionItem.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UtilFucntionItem.java new file mode 100755 index 00000000000..85f78ddd97c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/UtilFucntionItem.java @@ -0,0 +1,48 @@ +package com.tencent.token.core.bean; + +import java.io.Serializable; +import org.json.JSONObject; + +public class UtilFucntionItem + implements Serializable +{ + private static final long serialVersionUID = 1286682972544608251L; + private String id; + private String name; + private String url; + private int version; + + public UtilFucntionItem(JSONObject paramJSONObject) + { + this.id = paramJSONObject.optString("id"); + this.version = paramJSONObject.optInt("version"); + this.name = paramJSONObject.optString("name"); + this.url = paramJSONObject.optString("url"); + } + + public final String a() + { + return this.id; + } + + public final int b() + { + return this.version; + } + + public final String c() + { + return this.name; + } + + public final String d() + { + return this.url; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.UtilFucntionItem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/a.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/a.java new file mode 100755 index 00000000000..7643062cabe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/a.java @@ -0,0 +1,21 @@ +package com.tencent.token.core.bean; + +import org.json.JSONObject; + +public final class a +{ + public String a; + public String b; + + public a(JSONObject paramJSONObject) + { + this.a = paramJSONObject.optString("pic_url"); + this.b = paramJSONObject.optString("click_url"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/b.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/b.java new file mode 100755 index 00000000000..42beb008868 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/b.java @@ -0,0 +1,101 @@ +package com.tencent.token.core.bean; + +import com.tencent.token.global.e; +import org.json.JSONException; +import org.json.JSONObject; + +public final class b +{ + private long a; + private int b; + private long c; + private String d; + private int e; + private long f; + private int g; + private int h; + private String i; + private String j; + private String k; + private String l; + private String m; + private String n; + + public final long a() + { + return this.a; + } + + public final boolean a(JSONObject paramJSONObject) + { + try + { + this.a = paramJSONObject.getLong("msg_id"); + this.b = paramJSONObject.getInt("app_id"); + this.c = paramJSONObject.getLong("uin_hash"); + this.d = paramJSONObject.getString("uin_mask"); + this.e = paramJSONObject.getInt("msg_type"); + this.f = paramJSONObject.getLong("msg_create_time"); + this.g = paramJSONObject.getInt("msg_live_time"); + this.h = paramJSONObject.getInt("msg_status"); + this.i = paramJSONObject.getString("msg_head"); + this.j = paramJSONObject.getString("msg_body"); + this.k = paramJSONObject.getString("return_btn_label"); + this.l = paramJSONObject.getString("return_uri"); + this.m = paramJSONObject.getString("accept_btn"); + this.n = paramJSONObject.getString("reject_btn"); + return true; + } + catch (JSONException paramJSONObject) + { + e.c("JSONException: " + paramJSONObject.getMessage()); + } + return false; + } + + public final int b() + { + return this.b; + } + + public final long c() + { + return this.c; + } + + public final int d() + { + return this.e; + } + + public final long e() + { + return this.f; + } + + public final String f() + { + return this.i; + } + + public final String g() + { + return this.j; + } + + public final String h() + { + return this.m; + } + + public final String i() + { + return this.n; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/c.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/c.java new file mode 100755 index 00000000000..a44b9f36196 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/c.java @@ -0,0 +1,44 @@ +package com.tencent.token.core.bean; + +public final class c +{ + private String a; + private String b; + private boolean c; + + public final String a() + { + return this.a; + } + + public final void a(String paramString) + { + this.a = paramString; + } + + public final void a(boolean paramBoolean) + { + this.c = paramBoolean; + } + + public final String b() + { + return this.b; + } + + public final void b(String paramString) + { + this.b = paramString; + } + + public final boolean c() + { + return this.c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/d.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/d.java new file mode 100755 index 00000000000..9f53edc751b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/d.java @@ -0,0 +1,161 @@ +package com.tencent.token.core.bean; + +import android.content.Context; +import android.content.res.Resources; +import android.view.View.OnClickListener; +import android.view.animation.AnimationUtils; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +public final class d +{ + public static int[] a = { 2130837507, 2130837509, 2130837510 }; + public static int[] b = { 2131165335, 2131165344, 2131165345 }; + public static int[] c = { 2131165346, 2131165347, 2131165348 }; + private RelativeLayout d; + private TextView e; + private TextView f; + private ImageView g; + private EvalAccountResult.RecommendItem h; + private int i; + private int j; + private String k; + private Context l; + private View.OnClickListener m; + + public d(Context paramContext, RelativeLayout paramRelativeLayout, TextView paramTextView1, TextView paramTextView2, ImageView paramImageView) + { + this.d = paramRelativeLayout; + this.l = paramContext; + this.e = paramTextView1; + this.f = paramTextView2; + this.g = paramImageView; + } + + private String a() + { + String str = ""; + if (this.j == 2) { + str = this.l.getResources().getString(2131362312); + } + do + { + return str; + if (this.j == 3) { + return this.l.getResources().getString(2131362314); + } + } while (this.j != 4); + return this.l.getResources().getString(2131362317); + } + + public final void a(int paramInt) + { + this.j = paramInt; + this.i = 0; + this.k = a(); + this.g.setVisibility(4); + } + + public final void a(int paramInt, View.OnClickListener paramOnClickListener) + { + Object localObject; + switch (paramInt) + { + default: + return; + case 0: + TextView localTextView = this.e; + localObject = ""; + if (this.j == 2) { + localObject = this.l.getResources().getString(2131362311); + } + for (;;) + { + localTextView.setText((CharSequence)localObject); + this.e.setTextColor(this.l.getResources().getColor(c[2])); + this.f.setText(a()); + this.f.setTextColor(this.l.getResources().getColor(c[1])); + this.g.setVisibility(4); + this.g.clearAnimation(); + this.d.setEnabled(true); + if (paramOnClickListener == null) { + break; + } + this.d.setOnClickListener(paramOnClickListener); + return; + if (this.j == 3) { + localObject = this.l.getResources().getString(2131362313); + } else if (this.j == 4) { + localObject = this.l.getResources().getString(2131362316); + } + } + case 1: + this.e.setTextColor(this.l.getResources().getColor(c[1])); + this.f.setTextColor(this.l.getResources().getColor(c[0])); + this.g.setVisibility(4); + this.d.setEnabled(false); + return; + case 2: + this.e.setTextColor(this.l.getResources().getColor(c[2])); + localObject = this.f; + paramOnClickListener = ""; + if (this.j == 2) { + paramOnClickListener = this.l.getResources().getString(2131362323); + } + for (;;) + { + ((TextView)localObject).setText(paramOnClickListener); + this.f.setTextColor(this.l.getResources().getColor(c[1])); + this.g.setVisibility(0); + this.g.setImageDrawable(this.l.getResources().getDrawable(2130837508)); + this.g.startAnimation(AnimationUtils.loadAnimation(this.l, 2130968581)); + this.d.setEnabled(false); + return; + if (this.j == 3) { + paramOnClickListener = this.l.getResources().getString(2131362324); + } else if (this.j == 4) { + paramOnClickListener = this.l.getResources().getString(2131362325); + } + } + } + if ((this.i < 0) || (this.i > b.length - 1)) { + this.i = 0; + } + this.e.setTextColor(this.l.getResources().getColor(c[2])); + this.f.setText(this.k); + this.f.setTextColor(this.l.getResources().getColor(b[this.i])); + this.g.clearAnimation(); + this.g.setVisibility(0); + this.g.setImageDrawable(this.l.getResources().getDrawable(a[this.i])); + this.d.setEnabled(true); + this.d.setOnClickListener(this.m); + } + + public final void a(View.OnClickListener paramOnClickListener) + { + this.m = paramOnClickListener; + } + + public final void a(EvalAccountResult.RecommendItem paramRecommendItem) + { + if (paramRecommendItem == null) { + return; + } + this.h = paramRecommendItem; + this.i = paramRecommendItem.mDegree; + this.j = paramRecommendItem.mRecommendId; + this.k = paramRecommendItem.mDesc; + } + + public final void b(View.OnClickListener paramOnClickListener) + { + a(0, paramOnClickListener); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/e.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/e.java new file mode 100755 index 00000000000..0231fbdc773 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/e.java @@ -0,0 +1,42 @@ +package com.tencent.token.core.bean; + +import org.json.JSONObject; + +public final class e +{ + public int a; + public String b; + public boolean c; + public boolean d = false; + public boolean e; + + public e(LoginProtectResult paramLoginProtectResult, JSONObject paramJSONObject) + { + this.a = paramJSONObject.getInt("id"); + this.b = paramJSONObject.getString("title"); + if (paramJSONObject.getInt("is_set") == 1) + { + bool1 = true; + this.c = bool1; + if (this.a == 80) { + if (paramJSONObject.getInt("is_device_set") != 1) { + break label87; + } + } + } + label87: + for (boolean bool1 = bool2;; bool1 = false) + { + this.e = bool1; + return; + bool1 = false; + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/f.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/f.java new file mode 100755 index 00000000000..ee306637092 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/f.java @@ -0,0 +1,21 @@ +package com.tencent.token.core.bean; + +public final class f +{ + public String a; + public String b; + public String c; + public String d; + public int e; + public int f; + public String g; + public int h; + + public f(OnlineDeviceResult paramOnlineDeviceResult) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/g.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/g.java new file mode 100755 index 00000000000..f74dfafeaca --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/g.java @@ -0,0 +1,471 @@ +package com.tencent.token.core.bean; + +import java.util.List; + +public final class g +{ + public int a; + public String b; + public boolean c; + public int d; + public boolean e = false; + public boolean f = false; + public boolean g = false; + public Object h = null; + protected List i = null; + + /* Error */ + public final boolean a(org.json.JSONObject paramJSONObject) + { + // Byte code: + // 0: aload_0 + // 1: aload_1 + // 2: ldc 38 + // 4: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 7: putfield 46 com/tencent/token/core/bean/g:a I + // 10: aload_0 + // 11: aload_1 + // 12: ldc 48 + // 14: invokevirtual 52 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 17: putfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 20: aload_1 + // 21: ldc 56 + // 23: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 26: ifeq +118 -> 144 + // 29: iconst_1 + // 30: istore_3 + // 31: aload_0 + // 32: iload_3 + // 33: putfield 58 com/tencent/token/core/bean/g:c Z + // 36: aload_0 + // 37: aload_1 + // 38: ldc 60 + // 40: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 43: putfield 62 com/tencent/token/core/bean/g:d I + // 46: aload_1 + // 47: ldc 64 + // 49: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 52: ifne +97 -> 149 + // 55: iconst_0 + // 56: istore_3 + // 57: aload_0 + // 58: iload_3 + // 59: putfield 28 com/tencent/token/core/bean/g:g Z + // 62: aload_1 + // 63: ldc 66 + // 65: invokevirtual 70 org/json/JSONObject:getJSONArray (Ljava/lang/String;)Lorg/json/JSONArray; + // 68: astore_1 + // 69: aload_1 + // 70: ifnull +200 -> 270 + // 73: iconst_0 + // 74: istore_2 + // 75: iload_2 + // 76: aload_1 + // 77: invokevirtual 76 org/json/JSONArray:length ()I + // 80: if_icmpge +190 -> 270 + // 83: aload_1 + // 84: iload_2 + // 85: invokevirtual 80 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 88: astore 4 + // 90: aload 4 + // 92: ifnull +100 -> 192 + // 95: iconst_1 + // 96: istore_3 + // 97: iload_3 + // 98: invokestatic 85 com/tencent/token/global/e:a (Z)V + // 101: new 2 com/tencent/token/core/bean/g + // 104: dup + // 105: invokespecial 86 com/tencent/token/core/bean/g: ()V + // 108: astore 5 + // 110: aload 5 + // 112: aload 4 + // 114: invokevirtual 88 com/tencent/token/core/bean/g:a (Lorg/json/JSONObject;)Z + // 117: ifne +80 -> 197 + // 120: new 90 java/lang/StringBuilder + // 123: dup + // 124: invokespecial 91 java/lang/StringBuilder: ()V + // 127: ldc 93 + // 129: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 132: iload_2 + // 133: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 136: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 139: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 142: iconst_0 + // 143: ireturn + // 144: iconst_0 + // 145: istore_3 + // 146: goto -115 -> 31 + // 149: iconst_1 + // 150: istore_3 + // 151: goto -94 -> 57 + // 154: astore 4 + // 156: aload 4 + // 158: invokevirtual 110 org/json/JSONException:printStackTrace ()V + // 161: goto -99 -> 62 + // 164: astore_1 + // 165: new 90 java/lang/StringBuilder + // 168: dup + // 169: invokespecial 91 java/lang/StringBuilder: ()V + // 172: ldc 112 + // 174: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 177: aload_1 + // 178: invokevirtual 115 org/json/JSONException:getMessage ()Ljava/lang/String; + // 181: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 184: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 187: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 190: iconst_0 + // 191: ireturn + // 192: iconst_0 + // 193: istore_3 + // 194: goto -97 -> 97 + // 197: aload_0 + // 198: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 201: ifnonnull +14 -> 215 + // 204: aload_0 + // 205: new 117 java/util/ArrayList + // 208: dup + // 209: invokespecial 118 java/util/ArrayList: ()V + // 212: putfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 215: aload_0 + // 216: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 219: aload 5 + // 221: invokeinterface 124 2 0 + // 226: pop + // 227: new 90 java/lang/StringBuilder + // 230: dup + // 231: invokespecial 91 java/lang/StringBuilder: ()V + // 234: ldc 126 + // 236: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 239: iload_2 + // 240: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 243: ldc 128 + // 245: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 248: aload 5 + // 250: getfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 253: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 256: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 259: invokestatic 130 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 262: iload_2 + // 263: iconst_1 + // 264: iadd + // 265: istore_2 + // 266: goto -191 -> 75 + // 269: astore_1 + // 270: iconst_1 + // 271: ireturn + // Local variable table: + // start length slot name signature + // 0 272 0 this g + // 0 272 1 paramJSONObject org.json.JSONObject + // 74 192 2 j int + // 30 164 3 bool boolean + // 88 25 4 localJSONObject org.json.JSONObject + // 154 3 4 localJSONException org.json.JSONException + // 108 141 5 localg g + // Exception table: + // from to target type + // 46 55 154 org/json/JSONException + // 57 62 154 org/json/JSONException + // 0 29 164 org/json/JSONException + // 31 46 164 org/json/JSONException + // 156 161 164 org/json/JSONException + // 62 69 269 org/json/JSONException + // 75 90 269 org/json/JSONException + // 97 142 269 org/json/JSONException + // 197 215 269 org/json/JSONException + // 215 262 269 org/json/JSONException + } + + /* Error */ + public final boolean b(org.json.JSONObject paramJSONObject) + { + // Byte code: + // 0: aload_0 + // 1: aload_1 + // 2: ldc 38 + // 4: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 7: putfield 46 com/tencent/token/core/bean/g:a I + // 10: aload_0 + // 11: aload_1 + // 12: ldc 48 + // 14: invokevirtual 52 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 17: putfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 20: aload_1 + // 21: ldc 56 + // 23: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 26: ifeq +92 -> 118 + // 29: iconst_1 + // 30: istore_3 + // 31: aload_0 + // 32: iload_3 + // 33: putfield 58 com/tencent/token/core/bean/g:c Z + // 36: aload_1 + // 37: ldc 66 + // 39: invokevirtual 70 org/json/JSONObject:getJSONArray (Ljava/lang/String;)Lorg/json/JSONArray; + // 42: astore_1 + // 43: aload_1 + // 44: ifnull +185 -> 229 + // 47: iconst_0 + // 48: istore_2 + // 49: iload_2 + // 50: aload_1 + // 51: invokevirtual 76 org/json/JSONArray:length ()I + // 54: if_icmpge +175 -> 229 + // 57: aload_1 + // 58: iload_2 + // 59: invokevirtual 80 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 62: astore 4 + // 64: aload 4 + // 66: ifnull +85 -> 151 + // 69: iconst_1 + // 70: istore_3 + // 71: iload_3 + // 72: invokestatic 85 com/tencent/token/global/e:a (Z)V + // 75: new 2 com/tencent/token/core/bean/g + // 78: dup + // 79: invokespecial 86 com/tencent/token/core/bean/g: ()V + // 82: astore 5 + // 84: aload 5 + // 86: aload 4 + // 88: invokevirtual 132 com/tencent/token/core/bean/g:b (Lorg/json/JSONObject;)Z + // 91: ifne +65 -> 156 + // 94: new 90 java/lang/StringBuilder + // 97: dup + // 98: invokespecial 91 java/lang/StringBuilder: ()V + // 101: ldc 93 + // 103: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 106: iload_2 + // 107: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 110: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 113: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 116: iconst_0 + // 117: ireturn + // 118: iconst_0 + // 119: istore_3 + // 120: goto -89 -> 31 + // 123: astore_1 + // 124: new 90 java/lang/StringBuilder + // 127: dup + // 128: invokespecial 91 java/lang/StringBuilder: ()V + // 131: ldc 112 + // 133: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 136: aload_1 + // 137: invokevirtual 115 org/json/JSONException:getMessage ()Ljava/lang/String; + // 140: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 143: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 146: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 149: iconst_0 + // 150: ireturn + // 151: iconst_0 + // 152: istore_3 + // 153: goto -82 -> 71 + // 156: aload_0 + // 157: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 160: ifnonnull +14 -> 174 + // 163: aload_0 + // 164: new 117 java/util/ArrayList + // 167: dup + // 168: invokespecial 118 java/util/ArrayList: ()V + // 171: putfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 174: aload_0 + // 175: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 178: aload 5 + // 180: invokeinterface 124 2 0 + // 185: pop + // 186: new 90 java/lang/StringBuilder + // 189: dup + // 190: invokespecial 91 java/lang/StringBuilder: ()V + // 193: ldc 126 + // 195: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 198: iload_2 + // 199: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 202: ldc 128 + // 204: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 207: aload 5 + // 209: getfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 212: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 215: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 218: invokestatic 130 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 221: iload_2 + // 222: iconst_1 + // 223: iadd + // 224: istore_2 + // 225: goto -176 -> 49 + // 228: astore_1 + // 229: iconst_1 + // 230: ireturn + // Local variable table: + // start length slot name signature + // 0 231 0 this g + // 0 231 1 paramJSONObject org.json.JSONObject + // 48 177 2 j int + // 30 123 3 bool boolean + // 62 25 4 localJSONObject org.json.JSONObject + // 82 126 5 localg g + // Exception table: + // from to target type + // 0 29 123 org/json/JSONException + // 31 36 123 org/json/JSONException + // 36 43 228 org/json/JSONException + // 49 64 228 org/json/JSONException + // 71 116 228 org/json/JSONException + // 156 174 228 org/json/JSONException + // 174 221 228 org/json/JSONException + } + + /* Error */ + public final boolean c(org.json.JSONObject paramJSONObject) + { + // Byte code: + // 0: aload_0 + // 1: aload_1 + // 2: ldc 38 + // 4: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 7: putfield 46 com/tencent/token/core/bean/g:a I + // 10: aload_0 + // 11: aload_1 + // 12: ldc 48 + // 14: invokevirtual 52 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 17: putfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 20: aload_1 + // 21: ldc 56 + // 23: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 26: ifeq +108 -> 134 + // 29: iconst_1 + // 30: istore_3 + // 31: aload_0 + // 32: iload_3 + // 33: putfield 58 com/tencent/token/core/bean/g:c Z + // 36: aload_1 + // 37: ldc 64 + // 39: invokevirtual 44 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 42: ifne +97 -> 139 + // 45: iconst_0 + // 46: istore_3 + // 47: aload_0 + // 48: iload_3 + // 49: putfield 28 com/tencent/token/core/bean/g:g Z + // 52: aload_1 + // 53: ldc 66 + // 55: invokevirtual 70 org/json/JSONObject:getJSONArray (Ljava/lang/String;)Lorg/json/JSONArray; + // 58: astore_1 + // 59: aload_1 + // 60: ifnull +190 -> 250 + // 63: iconst_0 + // 64: istore_2 + // 65: iload_2 + // 66: aload_1 + // 67: invokevirtual 76 org/json/JSONArray:length ()I + // 70: if_icmpge +180 -> 250 + // 73: aload_1 + // 74: iload_2 + // 75: invokevirtual 80 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 78: astore 4 + // 80: aload 4 + // 82: ifnull +90 -> 172 + // 85: iconst_1 + // 86: istore_3 + // 87: iload_3 + // 88: invokestatic 85 com/tencent/token/global/e:a (Z)V + // 91: new 2 com/tencent/token/core/bean/g + // 94: dup + // 95: invokespecial 86 com/tencent/token/core/bean/g: ()V + // 98: astore 5 + // 100: aload 5 + // 102: aload 4 + // 104: invokevirtual 134 com/tencent/token/core/bean/g:c (Lorg/json/JSONObject;)Z + // 107: ifne +70 -> 177 + // 110: new 90 java/lang/StringBuilder + // 113: dup + // 114: invokespecial 91 java/lang/StringBuilder: ()V + // 117: ldc 93 + // 119: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 122: iload_2 + // 123: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 126: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 129: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 132: iconst_0 + // 133: ireturn + // 134: iconst_0 + // 135: istore_3 + // 136: goto -105 -> 31 + // 139: iconst_1 + // 140: istore_3 + // 141: goto -94 -> 47 + // 144: astore_1 + // 145: new 90 java/lang/StringBuilder + // 148: dup + // 149: invokespecial 91 java/lang/StringBuilder: ()V + // 152: ldc 112 + // 154: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 157: aload_1 + // 158: invokevirtual 115 org/json/JSONException:getMessage ()Ljava/lang/String; + // 161: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 164: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 167: invokestatic 107 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 170: iconst_0 + // 171: ireturn + // 172: iconst_0 + // 173: istore_3 + // 174: goto -87 -> 87 + // 177: aload_0 + // 178: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 181: ifnonnull +14 -> 195 + // 184: aload_0 + // 185: new 117 java/util/ArrayList + // 188: dup + // 189: invokespecial 118 java/util/ArrayList: ()V + // 192: putfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 195: aload_0 + // 196: getfield 32 com/tencent/token/core/bean/g:i Ljava/util/List; + // 199: aload 5 + // 201: invokeinterface 124 2 0 + // 206: pop + // 207: new 90 java/lang/StringBuilder + // 210: dup + // 211: invokespecial 91 java/lang/StringBuilder: ()V + // 214: ldc 126 + // 216: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 219: iload_2 + // 220: invokevirtual 100 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 223: ldc 128 + // 225: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 228: aload 5 + // 230: getfield 54 com/tencent/token/core/bean/g:b Ljava/lang/String; + // 233: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 236: invokevirtual 104 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 239: invokestatic 130 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 242: iload_2 + // 243: iconst_1 + // 244: iadd + // 245: istore_2 + // 246: goto -181 -> 65 + // 249: astore_1 + // 250: iconst_1 + // 251: ireturn + // Local variable table: + // start length slot name signature + // 0 252 0 this g + // 0 252 1 paramJSONObject org.json.JSONObject + // 64 182 2 j int + // 30 144 3 bool boolean + // 78 25 4 localJSONObject org.json.JSONObject + // 98 131 5 localg g + // Exception table: + // from to target type + // 0 29 144 org/json/JSONException + // 31 45 144 org/json/JSONException + // 47 52 144 org/json/JSONException + // 52 59 249 org/json/JSONException + // 65 80 249 org/json/JSONException + // 87 132 249 org/json/JSONException + // 177 195 249 org/json/JSONException + // 195 242 249 org/json/JSONException + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/bean/h.java b/com.tencent.token/classes.jar/com/tencent/token/core/bean/h.java new file mode 100755 index 00000000000..7327e844992 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/bean/h.java @@ -0,0 +1,259 @@ +package com.tencent.token.core.bean; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.Signature; +import com.tencent.token.ap; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.gv; +import com.tencent.token.utils.encrypt.c; +import java.net.URLEncoder; +import org.json.JSONException; +import org.json.JSONObject; + +public final class h +{ + private static h k = null; + public int a = 0; + public int b = 0; + public String c = ""; + public String d = ""; + public String e = ""; + public String f = ""; + public int g = 0; + public int h = 0; + public long i = 0L; + public boolean j = true; + private String l = ""; + private long m = 0L; + private long n = 0L; + + private h() + { + Object localObject = g(); + if (localObject != null) + { + this.g = ((SharedPreferences)localObject).getInt("remind_version", 0); + this.i = ((SharedPreferences)localObject).getLong("remind_lasttime", 0L); + this.h = ((SharedPreferences)localObject).getInt("remind_times", 0); + this.j = ((SharedPreferences)localObject).getBoolean("remind_start", true); + this.m = ((SharedPreferences)localObject).getLong("query_time", 0L); + e.c("loadUpdateInfo" + this.m); + this.a = ((SharedPreferences)localObject).getInt("update_type", 0); + this.b = ((SharedPreferences)localObject).getInt("vestion", 0); + this.c = ((SharedPreferences)localObject).getString("vestion_name", ""); + this.d = ((SharedPreferences)localObject).getString("downLoad_url", ""); + this.e = ((SharedPreferences)localObject).getString("market_url", ""); + this.f = ((SharedPreferences)localObject).getString("new_feature", ""); + this.n = System.currentTimeMillis(); + } + try + { + localObject = RqdApplication.i(); + if (localObject != null) { + this.l = ap.a(c.a(localObject.getPackageManager().getPackageInfo(localObject.getPackageName(), 64).signatures[0].toByteArray())); + } + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + for (;;) + { + e.c("NameNotFoundException:" + localNameNotFoundException.toString()); + } + } + catch (Exception localException) + { + for (;;) + { + e.c("Exception:" + localException.toString()); + } + } + e.a("remind his info:[remind_version]" + this.g + "[remind_lasttime]" + this.i + "[remind_times]" + this.h + "[signature]" + this.l); + } + + public static h b() + { + if (k == null) { + k = new h(); + } + return k; + } + + public static void f() + { + SharedPreferences.Editor localEditor = g().edit(); + localEditor.putBoolean("sp_new_key", false); + localEditor.commit(); + } + + private static SharedPreferences g() + { + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("com.tencent.token.com", 0); + return localSharedPreferences; + } + catch (Exception localException) {} + return null; + } + + private void h() + { + this.a = 0; + this.b = 0; + this.c = ""; + this.d = ""; + this.e = ""; + this.f = ""; + this.j = true; + } + + public final boolean a() + { + boolean bool = true; + if ((this.a == 0) || (1 == this.a) || ((this.j) && (3 != this.a)) || (this.b <= b.b())) { + bool = false; + } + do + { + return bool; + this.j = true; + int i1 = this.b; + if (this.g != i1) { + this.h = 0; + } + this.g = i1; + this.i = (System.currentTimeMillis() / 1000L); + this.h += 1; + localObject = g(); + } while (localObject == null); + Object localObject = ((SharedPreferences)localObject).edit(); + ((SharedPreferences.Editor)localObject).putInt("remind_version", this.g); + ((SharedPreferences.Editor)localObject).putLong("remind_lasttime", this.i); + ((SharedPreferences.Editor)localObject).putInt("remind_times", this.h); + ((SharedPreferences.Editor)localObject).putBoolean("remind_start", this.j); + ((SharedPreferences.Editor)localObject).commit(); + e.a("save reminder: " + this.g + "-" + this.i + "-" + this.h); + return true; + } + + public final boolean a(JSONObject paramJSONObject) + { + h(); + this.m = System.currentTimeMillis(); + e.c("parseUpdateInfo" + this.m); + try + { + this.a = paramJSONObject.getInt("type"); + this.b = paramJSONObject.getInt("version"); + this.c = paramJSONObject.getString("name"); + this.d = paramJSONObject.getString("url"); + this.e = paramJSONObject.getString("market_url"); + this.f = paramJSONObject.getString("feature"); + paramJSONObject = g(); + if (paramJSONObject == null) { + return false; + } + paramJSONObject = paramJSONObject.edit(); + paramJSONObject.putInt("update_type", this.a); + paramJSONObject.putInt("vestion", this.b); + paramJSONObject.putString("vestion_name", this.c); + paramJSONObject.putString("downLoad_url", this.d); + paramJSONObject.putString("market_url", this.e); + paramJSONObject.putString("new_feature", this.f); + paramJSONObject.putBoolean("remind_start", false); + this.j = false; + paramJSONObject.putLong("query_time", this.m); + paramJSONObject.commit(); + if ((this.a != 0) && (this.a != 1)) + { + paramJSONObject = g().edit(); + paramJSONObject.putBoolean("sp_new_key", true); + paramJSONObject.commit(); + } + e.a("update:[type]" + this.a + "[version]" + this.b + "[name]" + this.c + "[url]" + this.d + "[market_url]" + this.e + "[feature]" + this.f); + return true; + } + catch (JSONException paramJSONObject) + { + h(); + e.c("parseUpdate info json error: " + paramJSONObject.getMessage()); + } + return false; + } + + public final boolean c() + { + e.c("mNowTime" + this.n); + e.c("mLastQueryTime" + this.m); + return this.n - this.m > 7200000L; + } + + public final d d() + { + e.a("start getHttpUpdateInfo process"); + d locald = new d((byte)0); + Object localObject2 = "?mobile_type=" + 4 + "&client_type=" + 2 + "&client_ver=" + b.b() + "&local_id=0"; + Object localObject1 = localObject2; + if (this.g > 0) { + localObject1 = (String)localObject2 + "&rmd_ver=" + this.g + "&rmd_times=" + this.h + "&rmd_last_time=" + this.i; + } + String str = b.f(); + localObject2 = localObject1; + if (str != null) { + localObject2 = (String)localObject1 + "&ill_priv=" + URLEncoder.encode(str); + } + localObject1 = b.c() + "/cn/mbtoken3/mbtoken3_qry_update_info" + (String)localObject2; + e.a("url params=" + ((String)localObject2).length() + ":" + (String)localObject2); + localObject2 = new gv(); + localObject1 = ((gv)localObject2).a((String)localObject1); + if (localObject1 == null) + { + localObject1 = ((gv)localObject2).a(); + locald.a(((d)localObject1).a, ((d)localObject1).b, ((d)localObject1).c); + return locald; + } + try + { + localObject1 = new String((byte[])localObject1); + e.a("response: " + (String)localObject1); + localObject1 = new JSONObject((String)localObject1); + int i1 = ((JSONObject)localObject1).getInt("err"); + if (i1 != 0) + { + localObject1 = ((JSONObject)localObject1).getString("info"); + locald.a(i1, "server errcode=" + i1 + ":" + (String)localObject1, (String)localObject1); + } + else if (!a(((JSONObject)localObject1).getJSONObject("update"))) + { + e.c("parseUpdateInfo error"); + } + } + catch (JSONException localJSONException) + { + e.c("parse json failed: " + localJSONException.toString()); + locald.a(10020, "JSONException:" + localJSONException.toString(), null); + } + return locald; + } + + public final boolean e() + { + boolean bool = true; + if ((this.a == 0) || (1 == this.a)) { + bool = false; + } + return bool; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.bean.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/gamelogin/GameLoginService.java b/com.tencent.token/classes.jar/com/tencent/token/core/gamelogin/GameLoginService.java new file mode 100755 index 00000000000..12ae782a06d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/gamelogin/GameLoginService.java @@ -0,0 +1,71 @@ +package com.tencent.token.core.gamelogin; + +import android.app.AlarmManager; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Intent; +import android.os.Build.VERSION; +import android.os.IBinder; +import android.support.v4.app.NotificationCompat.Builder; +import com.tencent.token.ui.IndexActivity; + +public class GameLoginService + extends Service +{ + private AlarmManager a; + private PendingIntent b; + private Intent c; + private final int d = 3000; + private int e; + + public IBinder onBind(Intent paramIntent) + { + return null; + } + + public void onCreate() + { + super.onCreate(); + Object localObject = new Intent(this, GameLoginService.class); + this.a = ((AlarmManager)getSystemService("alarm")); + this.b = PendingIntent.getService(this, 0, (Intent)localObject, 0); + this.c = new Intent(this, IndexActivity.class); + if (Build.VERSION.SDK_INT < 18) + { + this.e = ((int)System.currentTimeMillis()); + localObject = PendingIntent.getActivity(this, 0, this.c, 134217728); + localObject = new NotificationCompat.Builder(this).setContentIntent((PendingIntent)localObject).setDefaults(1).setAutoCancel(true).build(); + startForeground(this.e, (Notification)localObject); + } + } + + public void onDestroy() + { + super.onDestroy(); + this.a.cancel(this.b); + if (Build.VERSION.SDK_INT < 18) { + ((NotificationManager)getSystemService("notification")).cancel(this.e); + } + } + + public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2) + { + if (paramInt1 != 1) + { + long l = System.currentTimeMillis(); + this.a.set(1, l + 3000L, this.b); + } + if (Build.VERSION.SDK_INT < 18) { + return super.onStartCommand(paramIntent, paramInt1, paramInt2); + } + return 3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.gamelogin.GameLoginService + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/BootBroadcastReceiver.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/BootBroadcastReceiver.java new file mode 100755 index 00000000000..8a19c1983a0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/BootBroadcastReceiver.java @@ -0,0 +1,25 @@ +package com.tencent.token.core.push; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +public class BootBroadcastReceiver + extends BroadcastReceiver +{ + public void onReceive(Context paramContext, Intent paramIntent) + { + e.c("android boot completed"); + if (paramIntent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { + s.g(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.BootBroadcastReceiver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/PushService.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/PushService.java new file mode 100755 index 00000000000..fb406f33378 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/PushService.java @@ -0,0 +1,261 @@ +package com.tencent.token.core.push; + +import android.app.AlarmManager; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Handler; +import android.os.IBinder; +import android.os.SystemClock; +import android.support.v4.app.NotificationCompat.Builder; +import android.support.v4.content.LocalBroadcastManager; +import android.telephony.SmsMessage; +import com.tencent.token.af; +import com.tencent.token.av; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.LoginMsgActivity; +import com.tencent.token.ui.OpreateMsgActivity; +import com.tencent.token.ui.PushTransitionActivity; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.concurrent.ConcurrentLinkedQueue; + +public class PushService + extends Service +{ + public Handler a = new f(this); + private AlarmManager b; + private PendingIntent c; + private Intent d; + private Intent e; + private Intent f; + private ConcurrentLinkedQueue g = new ConcurrentLinkedQueue(); + private boolean h = false; + private UserTask i; + private String j = "QQ安全中心"; + private final int k = 3000; + private Intent l; + private Intent m; + private int n; + private final int o = 300000; + private long p = 0L; + private BroadcastReceiver q = new e(this); + + private void a() + { + if ((this.p != 0L) && (SystemClock.elapsedRealtime() - this.p >= 300000L)) + { + this.p = 0L; + ((NotificationManager)getSystemService("notification")).cancel(2); + } + j localj = a.a().c(); + long l1; + if ((localj != null) && ((localj.d == 1) || (localj.d == 2))) + { + if ((localj.d != 2) || (localj.e != 1)) { + break label210; + } + com.tencent.token.global.e.c("recevie auto sms push = " + Long.parseLong(new String(localj.b))); + l1 = Long.parseLong(new String(localj.b)); + if (!this.h) + { + this.h = true; + this.i = new g(this, l1); + this.i.a(new String[] { "" }); + } + af.a().c(this.a); + } + for (;;) + { + l1 = System.currentTimeMillis(); + this.b.set(1, l1 + 3000L, this.c); + return; + label210: + if ((BaseActivity.getIsAppForeground()) && (localj.d == 2)) + { + af.a().a(av.d, this.a); + com.tencent.token.global.e.c("dualmsg::pushservice: query=true"); + } + else + { + NotificationManager localNotificationManager = (NotificationManager)getSystemService("notification"); + this.d.removeExtra("com.tencent.input_param"); + this.e.removeExtra("com.tencent.input_param"); + if (!s.b()) { + RqdApplication.b(); + } + Object localObject; + if (localj.d == 1) + { + if (localj.e == 32) + { + localObject = new Bundle(); + ((Bundle)localObject).putLong("uin", Long.parseLong(new String(localj.b))); + this.f.putExtra("com.tencent.input_param", (Bundle)localObject); + localObject = PendingIntent.getActivity(this, 0, this.f, 134217728); + localNotificationManager.notify(1, new NotificationCompat.Builder(this).setDefaults(1).setAutoCancel(true).setContentTitle(getResources().getString(2131361792)).setSmallIcon(2130837686).setContentIntent((PendingIntent)localObject).setContentText(new String(localj.h)).build()); + if (BaseActivity.getIsAppForeground()) + { + this.l.putExtra("uin", new String(localj.b)); + LocalBroadcastManager.getInstance(this).sendBroadcast(this.l); + } + else + { + com.tencent.token.ui.AccountPageActivity.mNeedShowIpcMsg = true; + s.a(new String(localj.b), true); + com.tencent.token.ui.IndexActivity.isShowAccountTip = true; + } + } + else if ((BaseActivity.getIsAppForeground()) && ("com.tencent.token.ui.IndexActivity".equals(t.a(RqdApplication.i())))) + { + LocalBroadcastManager.getInstance(this).sendBroadcast(this.m); + } + else + { + s.a(new String(localj.b), true); + com.tencent.token.ui.IndexActivity.isShowAccountTip = true; + localObject = new Bundle(); + ((Bundle)localObject).putLong("uin", Long.parseLong(new String(localj.b))); + this.d.putExtra("com.tencent.input_param", (Bundle)localObject); + localObject = PendingIntent.getActivity(this, 0, this.d, 134217728); + localNotificationManager.notify(1, new NotificationCompat.Builder(this).setDefaults(1).setAutoCancel(true).setContentTitle(getResources().getString(2131361792)).setSmallIcon(2130837686).setContentIntent((PendingIntent)localObject).setContentText(new String(localj.h)).build()); + } + } + else + { + com.tencent.token.global.e.c("push time=" + localj.f); + if (av.a().c() < localj.f) + { + localObject = PendingIntent.getActivity(this, 0, this.e, 134217728); + localNotificationManager.notify(2, new NotificationCompat.Builder(this).setDefaults(1).setAutoCancel(true).setContentTitle(getResources().getString(2131361792)).setSmallIcon(2130837686).setContentIntent((PendingIntent)localObject).setContentText(new String(localj.h)).build()); + this.p = SystemClock.elapsedRealtime(); + } + } + } + } + } + + private static SmsMessage[] a(Intent paramIntent) + { + Object[] arrayOfObject = (Object[])paramIntent.getSerializableExtra("pdus"); + if (arrayOfObject == null) { + return null; + } + int i2 = arrayOfObject.length; + paramIntent = new SmsMessage[i2]; + int i1 = 0; + for (;;) + { + if (i1 < i2) { + try + { + paramIntent[i1] = SmsMessage.createFromPdu((byte[])arrayOfObject[i1]); + i1 += 1; + } + catch (OutOfMemoryError localOutOfMemoryError) + { + localOutOfMemoryError.printStackTrace(); + } + } + } + return paramIntent; + } + + public IBinder onBind(Intent paramIntent) + { + return null; + } + + public void onCreate() + { + super.onCreate(); + this.l = new Intent("com.tencent.token.push_ipc_msg"); + this.m = new Intent("com.tencent.token.push_opr_msg"); + Object localObject = new Intent(this, PushService.class); + this.b = ((AlarmManager)getSystemService("alarm")); + this.c = PendingIntent.getService(this, 0, (Intent)localObject, 0); + this.d = new Intent(this, OpreateMsgActivity.class); + this.e = new Intent(this, PushTransitionActivity.class); + this.f = new Intent(this, LoginMsgActivity.class); + localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("android.net.conn.CONNECTIVITY_CHANGE"); + ((IntentFilter)localObject).addAction("android.provider.Telephony.SMS_RECEIVED"); + ((IntentFilter)localObject).addAction("com.tencent.token.action.dualsms"); + try + { + registerReceiver(this.q, (IntentFilter)localObject); + if (Build.VERSION.SDK_INT < 18) + { + this.n = ((int)System.currentTimeMillis()); + localObject = PendingIntent.getActivity(this, 0, this.e, 134217728); + localObject = new NotificationCompat.Builder(this).setContentIntent((PendingIntent)localObject).setAutoCancel(true).build(); + startForeground(this.n, (Notification)localObject); + } + return; + } + catch (SecurityException localSecurityException) + { + for (;;) + { + localSecurityException.printStackTrace(); + } + } + } + + public void onDestroy() + { + super.onDestroy(); + this.b.cancel(this.c); + try + { + unregisterReceiver(this.q); + a.a().d(); + if (Build.VERSION.SDK_INT < 18) { + ((NotificationManager)getSystemService("notification")).cancel(this.n); + } + return; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + + public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2) + { + if (paramInt1 != 1) {} + try + { + a(); + if (Build.VERSION.SDK_INT < 18) { + return super.onStartCommand(paramIntent, paramInt1, paramInt2); + } + } + catch (Exception localException) + { + for (;;) + { + com.tencent.token.global.e.c(localException.getMessage()); + } + } + return 3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.PushService + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/a.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/a.java new file mode 100755 index 00000000000..50ab02ab30f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/a.java @@ -0,0 +1,1158 @@ +package com.tencent.token.core.push; + +import com.tencent.token.ag; +import com.tencent.token.ap; +import com.tencent.token.fu; +import com.tencent.token.global.e; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import oicq.wlogin_sdk.tools.MD5; + +public final class a +{ + static a a = null; + private static int v = 0; + private static String[] y = null; + private static int[] z = null; + private int A = 10; + private int B = 300000; + private int C = 300000; + private int D = 0; + private final int[] E = { 1000, 5000, 10000, 20000, 30000, 60000, 90000, 120000, 180000, 300000 }; + private final int F = 3000; + private final int G = 3000; + public final byte b = 0; + public final byte c = 1; + byte[] d = null; + private final long e = 2L; + private final fu f = new fu("B8008767A628A4F53BCB84C13C961A55BF87607DAA5BE0BA3AC2E0CB778E494579BD444F699885F4968CD9028BB3FC6FA657D532F1718F581669BDC333F83DC3", 16); + private fu g = new fu("-1"); + private byte[] h; + private String i = ""; + private final int j = 0; + private final int k = 1; + private final int l = 101; + private final int m = 102; + private final int n = 103; + private final int o = 104; + private final int p = 105; + private final int q = 106; + private final int r = 107; + private final int s = 108; + private final int t = 109; + private Socket u = null; + private long w; + private long x; + + private int a(InputStream paramInputStream, boolean paramBoolean) + { + int i2; + if ((paramInputStream == null) || (this.u == null)) + { + v = 5; + h(); + i2 = -2; + return i2; + } + byte[] arrayOfByte; + int i3; + Object localObject; + int i1; + try + { + this.u.setSoTimeout(3000); + if (paramBoolean) { + paramInputStream.skip(paramInputStream.available()); + } + arrayOfByte = new byte[5]; + paramInputStream.read(arrayOfByte); + i3 = (short)(((arrayOfByte[1] & 0xFF) << 8) + ((arrayOfByte[2] & 0xFF) << 0)); + if (i3 <= 42) + { + e.c("socket rsp msg len not correct: " + i3); + return -1; + } + i2 = (short)(((arrayOfByte[3] & 0xFF) << 8) + ((arrayOfByte[4] & 0xFF) << 0)); + localObject = new byte[i3]; + i1 = 0; + } + catch (IOException paramInputStream) + { + paramInputStream.printStackTrace(); + e.c("socket decodeInputSream failed" + paramInputStream.toString()); + v = 5; + h(); + return -2; + paramInputStream = new i(); + i2 = d.a((byte[])localObject, i3, paramInputStream); + i1 = i2; + if (i2 != 0) { + break label1184; + } + if (i3 <= 434) { + break label386; + } + i2 = -4; + i1 = i2; + if (i2 != 0) { + break label1184; + } + paramInputStream = new fu(new String(paramInputStream.m), 16); + paramInputStream = com.tencent.token.utils.encrypt.b.a(this.g, paramInputStream, this.f); + if (paramInputStream != null) { + break label577; + } + for (paramInputStream = null;; paramInputStream = MD5.toMD5Byte(ap.a(paramInputStream.a()))) + { + this.h = paramInputStream; + i1 = i2; + if (this.h != null) { + break label1184; + } + i1 = 1; + break label1184; + paramInputStream.n = ap.a((byte[])localObject, 41); + i1 = (short)(((localObject[45] & 0xFF) << 8) + ((localObject[46] & 0xFF) << 0)); + paramInputStream.o = new byte[i1]; + System.arraycopy(localObject, 47, paramInputStream.o, 0, i1); + i1 += 47; + i2 = (short)(((localObject[i1] & 0xFF) << 8) + ((localObject[(i1 + 1)] & 0xFF) << 0)); + paramInputStream.m = new byte[i2]; + System.arraycopy(localObject, i1 + 2, paramInputStream.m, 0, i2); + e.a("socket parse exchange key: ret[" + paramInputStream.n + "]" + " spKeyLen[" + i2 + "]" + " spKey[" + new String(paramInputStream.m) + "]"); + i2 = (int)paramInputStream.n; + break; + } + paramInputStream = new l(); + i2 = d.a((byte[])localObject, i3, paramInputStream); + i1 = i2; + if (i2 != 0) { + break label1184; + } + if (i3 <= 434) { + break label748; + } + i2 = -4; + if ((i2 == 0) || (paramInputStream.n <= 0L)) { + break label678; + } + l1 = System.currentTimeMillis(); + l2 = paramInputStream.n; + localObject = ag.c(); + ((ag)localObject).a(l2 * 1000L - l1); + ((ag)localObject).i(); + i1 = i2; + if (i2 != 0) { + break label1184; + } + this.i = new String(paramInputStream.p); + i1 = i2; + break label1184; + } + catch (Exception paramInputStream) + { + paramInputStream.printStackTrace(); + e.c("socket decodeInputSream failed" + paramInputStream.toString()); + v = 5; + h(); + return -2; + } + paramInputStream.read((byte[])localObject, 5, i3 - 5); + e.a("socket pkg type: " + i2); + switch (i2) + { + } + for (;;) + { + h(); + v = 7; + return i1; + for (;;) + { + label386: + label577: + long l1; + long l2; + label678: + label748: + paramInputStream.m = ap.a((byte[])localObject, 41); + paramInputStream.n = ap.a((byte[])localObject, 45); + i1 = (short)(((localObject[49] & 0xFF) << 8) + ((localObject[50] & 0xFF) << 0)); + paramInputStream.o = new byte[i1]; + System.arraycopy(localObject, 51, paramInputStream.o, 0, i1); + i1 += 51; + i2 = (short)(((localObject[i1] & 0xFF) << 8) + ((localObject[(i1 + 1)] & 0xFF) << 0)); + paramInputStream.p = new byte[i2]; + System.arraycopy(localObject, i1 + 2, paramInputStream.p, 0, i2); + e.a("socket parse client verify: ret[" + paramInputStream.m + "]" + " server_time[" + paramInputStream.n + "]" + " sig_len[" + i2 + "]" + " sig[" + new String(paramInputStream.p) + "]"); + i2 = (int)paramInputStream.m; + } + paramInputStream = new k(); + i2 = d.a((byte[])localObject, i3, paramInputStream); + i1 = i2; + if (i2 == 0) + { + if (i3 > 1102) {} + for (i2 = -4;; i2 = 0) + { + i1 = i2; + if (i2 != 0) { + break label1184; + } + this.d = a(paramInputStream.n); + if (this.d == null) { + this.d = a(paramInputStream.n); + } + i1 = i2; + if (this.d != null) { + break label1184; + } + break; + paramInputStream.m = ((short)(((localObject[41] & 0xFF) << 8) + ((localObject[42] & 0xFF) << 0))); + paramInputStream.n = new byte[paramInputStream.m]; + System.arraycopy(localObject, 43, paramInputStream.n, 0, paramInputStream.m); + } + v = 5; + h(); + return i1; + h(); + v = 6; + this.x = System.currentTimeMillis(); + return i1; + h(); + v = 8; + return i1; + while (i1 < 5) + { + localObject[i1] = arrayOfByte[i1]; + i1 += 1; + } + i1 = 101; + } + label1184: + i2 = i1; + if (i1 == 0) { + break; + } + switch (i1) + { + } + } + } + + public static a a() + { + if (a == null) + { + a = new a(); + v = 0; + } + return a; + } + + private byte[] a(byte[] paramArrayOfByte) + { + try + { + paramArrayOfByte = new com.tencent.token.utils.encrypt.a().a(paramArrayOfByte, this.h); + return paramArrayOfByte; + } + catch (Exception paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + e.c(paramArrayOfByte.toString()); + } + return null; + } + + public static void b() + { + a = null; + } + + private void e() + { + if (this.u == null) + { + v = 5; + h(); + } + for (;;) + { + return; + this.g = com.tencent.token.utils.encrypt.b.a(); + Object localObject1 = com.tencent.token.utils.encrypt.b.a(this.g, this.f); + if ((this.g == null) || (localObject1 == null) || (((String)localObject1).length() == 0)) + { + h(); + v = 6; + this.x = System.currentTimeMillis(); + return; + } + Object localObject2 = new c((short)1, (byte)0); + int i1 = ((String)localObject1).length(); + e.a("socket make exchange key req pubkey: " + (String)localObject1 + ", len:" + ((String)localObject1).length()); + ((c)localObject2).l = new byte[i1 + 6]; + ((c)localObject2).l[0] = 4; + ((c)localObject2).l[1] = 2; + Object localObject3 = ((c)localObject2).l; + i1 = com.tencent.token.global.b.b(); + localObject3[2] = ((byte)(i1 >> 8)); + localObject3[3] = ((byte)i1); + localObject3 = ((c)localObject2).l; + i1 = (short)((String)localObject1).length(); + localObject3[4] = ((byte)(i1 >> 8)); + localObject3[5] = ((byte)i1); + localObject3 = ((c)localObject2).l; + System.arraycopy(((String)localObject1).getBytes(), 0, localObject3, 6, ((String)localObject1).length()); + localObject1 = ((c)localObject2).a(); + try + { + localObject2 = this.u.getOutputStream(); + localObject3 = this.u.getInputStream(); + ((OutputStream)localObject2).write((byte[])localObject1); + ((OutputStream)localObject2).flush(); + e.a("socket available: " + ((InputStream)localObject3).available()); + i1 = a((InputStream)localObject3, false); + if (i1 == 0) + { + v = 3; + f(); + return; + } + } + catch (IOException localIOException) + { + localIOException.printStackTrace(); + e.c("socket exchange key failed" + localIOException.toString()); + v = 5; + h(); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.c("socket exchange key failed" + localException.toString()); + v = 5; + h(); + } + } + } + + private void f() + { + if (this.u == null) + { + v = 5; + h(); + } + for (;;) + { + return; + Object localObject2 = ag.c(); + ((ag)localObject2).m(); + long l1 = ((ag)localObject2).k(); + Object localObject1 = ag.b(); + localObject2 = ((ag)localObject2).o(); + Object localObject3 = new byte[((String)localObject2).length() + 10 + 2 + ((String)localObject1).length() + 2 + this.i.length()]; + localObject3[0] = ((byte)(int)(l1 >> 56)); + localObject3[1] = ((byte)(int)(l1 >> 48)); + localObject3[2] = ((byte)(int)(l1 >> 40)); + localObject3[3] = ((byte)(int)(l1 >> 32)); + localObject3[4] = ((byte)(int)(l1 >> 24)); + localObject3[5] = ((byte)(int)(l1 >> 16)); + localObject3[6] = ((byte)(int)(l1 >> 8)); + localObject3[7] = ((byte)(int)l1); + int i1 = (short)((String)localObject2).length(); + localObject3[8] = ((byte)(i1 >> 8)); + localObject3[9] = ((byte)i1); + System.arraycopy(((String)localObject2).getBytes(), 0, localObject3, 10, ((String)localObject2).length()); + i1 = ((String)localObject2).length() + 10; + int i2 = (short)((String)localObject1).length(); + localObject3[i1] = ((byte)(i2 >> 8)); + localObject3[(i1 + 1)] = ((byte)i2); + i1 += 2; + System.arraycopy(((String)localObject1).getBytes(), 0, localObject3, i1, ((String)localObject1).length()); + i1 += ((String)localObject1).length(); + i2 = (short)this.i.length(); + localObject3[i1] = ((byte)(i2 >> 8)); + localObject3[(i1 + 1)] = ((byte)i2); + System.arraycopy(this.i.getBytes(), 0, localObject3, i1 + 2, this.i.length()); + localObject1 = new com.tencent.token.utils.encrypt.a().b((byte[])localObject3, this.h); + localObject2 = localObject1; + if (localObject1 == null) + { + e.c("encrypt data failed"); + localObject2 = null; + } + localObject1 = localObject2; + if (localObject2 == null) + { + localObject2 = new com.tencent.token.utils.encrypt.a().b((byte[])localObject3, this.h); + localObject1 = localObject2; + if (localObject2 == null) + { + e.c("encrypt data failed"); + localObject1 = null; + } + } + if (localObject1 == null) + { + h(); + v = 7; + return; + } + localObject2 = new c((short)2, (byte)1); + ((c)localObject2).l = new byte[localObject1.length + 2]; + localObject3 = ((c)localObject2).l; + i1 = (short)localObject1.length; + localObject3[0] = ((byte)(i1 >> 8)); + localObject3[1] = ((byte)i1); + System.arraycopy(localObject1, 0, ((c)localObject2).l, 2, localObject1.length); + localObject1 = ((c)localObject2).a(); + try + { + localObject2 = this.u.getOutputStream(); + localObject3 = this.u.getInputStream(); + ((OutputStream)localObject2).write((byte[])localObject1); + ((OutputStream)localObject2).flush(); + e.a("socket available: " + ((InputStream)localObject3).available()); + i1 = a((InputStream)localObject3, true); + if (i1 == 0) + { + v = 4; + return; + } + } + catch (IOException localIOException) + { + localIOException.printStackTrace(); + e.c("socket client verify failed" + localIOException.toString()); + v = 5; + h(); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.c("socket client verify failed" + localException.toString()); + v = 5; + h(); + } + } + } + + /* Error */ + private j g() + { + // Byte code: + // 0: aload_0 + // 1: getfield 112 com/tencent/token/core/push/a:u Ljava/net/Socket; + // 4: ifnonnull +13 -> 17 + // 7: iconst_5 + // 8: putstatic 52 com/tencent/token/core/push/a:v I + // 11: aload_0 + // 12: invokespecial 140 com/tencent/token/core/push/a:h ()V + // 15: aconst_null + // 16: areturn + // 17: aload_0 + // 18: aconst_null + // 19: putfield 114 com/tencent/token/core/push/a:d [B + // 22: aload_0 + // 23: getfield 112 com/tencent/token/core/push/a:u Ljava/net/Socket; + // 26: invokevirtual 344 java/net/Socket:getOutputStream ()Ljava/io/OutputStream; + // 29: astore 5 + // 31: aload_0 + // 32: getfield 112 com/tencent/token/core/push/a:u Ljava/net/Socket; + // 35: invokevirtual 348 java/net/Socket:getInputStream ()Ljava/io/InputStream; + // 38: astore 6 + // 40: invokestatic 260 java/lang/System:currentTimeMillis ()J + // 43: lstore_3 + // 44: lload_3 + // 45: aload_0 + // 46: getfield 381 com/tencent/token/core/push/a:w J + // 49: lsub + // 50: aload_0 + // 51: getfield 119 com/tencent/token/core/push/a:B I + // 54: i2l + // 55: lcmp + // 56: iflt +115 -> 171 + // 59: new 162 java/lang/StringBuilder + // 62: dup + // 63: invokespecial 163 java/lang/StringBuilder: ()V + // 66: ldc_w 383 + // 69: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 72: lload_3 + // 73: invokevirtual 235 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 76: invokevirtual 176 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 79: invokestatic 187 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 82: aload_0 + // 83: lload_3 + // 84: putfield 381 com/tencent/token/core/push/a:w J + // 87: new 320 com/tencent/token/core/push/c + // 90: dup + // 91: iconst_3 + // 92: iconst_0 + // 93: invokespecial 323 com/tencent/token/core/push/c: (SB)V + // 96: astore 7 + // 98: aload 7 + // 100: iconst_5 + // 101: newarray byte + // 103: putfield 329 com/tencent/token/core/push/c:l [B + // 106: aload 7 + // 108: getfield 329 com/tencent/token/core/push/c:l [B + // 111: iconst_0 + // 112: iconst_4 + // 113: bastore + // 114: aload 7 + // 116: getfield 329 com/tencent/token/core/push/c:l [B + // 119: iconst_1 + // 120: iconst_2 + // 121: bastore + // 122: aload 7 + // 124: getfield 329 com/tencent/token/core/push/c:l [B + // 127: astore 8 + // 129: invokestatic 334 com/tencent/token/global/b:b ()S + // 132: istore_1 + // 133: aload 8 + // 135: iconst_2 + // 136: iload_1 + // 137: bipush 8 + // 139: ishr + // 140: i2b + // 141: bastore + // 142: aload 8 + // 144: iconst_3 + // 145: iload_1 + // 146: i2b + // 147: bastore + // 148: aload 7 + // 150: getfield 329 com/tencent/token/core/push/c:l [B + // 153: iconst_4 + // 154: iconst_0 + // 155: bastore + // 156: aload 5 + // 158: aload 7 + // 160: invokevirtual 340 com/tencent/token/core/push/c:a ()[B + // 163: invokevirtual 353 java/io/OutputStream:write ([B)V + // 166: aload 5 + // 168: invokevirtual 356 java/io/OutputStream:flush ()V + // 171: aload 6 + // 173: invokevirtual 152 java/io/InputStream:available ()I + // 176: ifle +13 -> 189 + // 179: aload_0 + // 180: aload 6 + // 182: iconst_0 + // 183: invokespecial 360 com/tencent/token/core/push/a:a (Ljava/io/InputStream;Z)I + // 186: ifne -171 -> 15 + // 189: aload_0 + // 190: getfield 114 com/tencent/token/core/push/a:d [B + // 193: ifnull -178 -> 15 + // 196: new 162 java/lang/StringBuilder + // 199: dup + // 200: invokespecial 163 java/lang/StringBuilder: ()V + // 203: ldc_w 385 + // 206: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 209: aload_0 + // 210: getfield 114 com/tencent/token/core/push/a:d [B + // 213: arraylength + // 214: invokevirtual 172 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 217: invokevirtual 176 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 220: invokestatic 187 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 223: new 387 com/tencent/token/core/push/j + // 226: dup + // 227: invokespecial 388 com/tencent/token/core/push/j: ()V + // 230: astore 6 + // 232: aload_0 + // 233: getfield 114 com/tencent/token/core/push/a:d [B + // 236: astore 7 + // 238: aload 6 + // 240: aload 7 + // 242: iconst_4 + // 243: baload + // 244: i2l + // 245: ldc2_w 389 + // 248: land + // 249: bipush 56 + // 251: lshl + // 252: aload 7 + // 254: iconst_5 + // 255: baload + // 256: i2l + // 257: ldc2_w 389 + // 260: land + // 261: bipush 48 + // 263: lshl + // 264: ladd + // 265: aload 7 + // 267: bipush 6 + // 269: baload + // 270: i2l + // 271: ldc2_w 389 + // 274: land + // 275: bipush 40 + // 277: lshl + // 278: ladd + // 279: aload 7 + // 281: bipush 7 + // 283: baload + // 284: i2l + // 285: ldc2_w 389 + // 288: land + // 289: bipush 32 + // 291: lshl + // 292: ladd + // 293: aload 7 + // 295: iconst_0 + // 296: baload + // 297: i2l + // 298: ldc2_w 389 + // 301: land + // 302: bipush 24 + // 304: lshl + // 305: ladd + // 306: aload 7 + // 308: iconst_1 + // 309: baload + // 310: i2l + // 311: ldc2_w 389 + // 314: land + // 315: bipush 16 + // 317: lshl + // 318: ladd + // 319: aload 7 + // 321: iconst_2 + // 322: baload + // 323: i2l + // 324: ldc2_w 389 + // 327: land + // 328: bipush 8 + // 330: lshl + // 331: ladd + // 332: aload 7 + // 334: iconst_3 + // 335: baload + // 336: i2l + // 337: ldc2_w 389 + // 340: land + // 341: ladd + // 342: putfield 392 com/tencent/token/core/push/j:a J + // 345: aload_0 + // 346: getfield 114 com/tencent/token/core/push/a:d [B + // 349: astore 7 + // 351: aload 7 + // 353: bipush 8 + // 355: baload + // 356: istore_1 + // 357: aload 7 + // 359: bipush 9 + // 361: baload + // 362: sipush 255 + // 365: iand + // 366: iconst_0 + // 367: ishl + // 368: iload_1 + // 369: sipush 255 + // 372: iand + // 373: bipush 8 + // 375: ishl + // 376: iadd + // 377: i2s + // 378: istore_1 + // 379: aload 6 + // 381: iload_1 + // 382: newarray byte + // 384: putfield 394 com/tencent/token/core/push/j:b [B + // 387: aload_0 + // 388: getfield 114 com/tencent/token/core/push/a:d [B + // 391: bipush 10 + // 393: aload 6 + // 395: getfield 394 com/tencent/token/core/push/j:b [B + // 398: iconst_0 + // 399: iload_1 + // 400: invokestatic 230 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 403: iload_1 + // 404: bipush 10 + // 406: iadd + // 407: istore_1 + // 408: aload 6 + // 410: aload_0 + // 411: getfield 114 com/tencent/token/core/push/a:d [B + // 414: iload_1 + // 415: invokestatic 220 com/tencent/token/ap:a ([BI)J + // 418: putfield 396 com/tencent/token/core/push/j:c J + // 421: iload_1 + // 422: iconst_4 + // 423: iadd + // 424: istore_1 + // 425: aload 6 + // 427: aload_0 + // 428: getfield 114 com/tencent/token/core/push/a:d [B + // 431: iload_1 + // 432: baload + // 433: putfield 398 com/tencent/token/core/push/j:d B + // 436: iload_1 + // 437: iconst_1 + // 438: iadd + // 439: istore_1 + // 440: aload 6 + // 442: aload_0 + // 443: getfield 114 com/tencent/token/core/push/a:d [B + // 446: iload_1 + // 447: baload + // 448: putfield 400 com/tencent/token/core/push/j:e B + // 451: iload_1 + // 452: iconst_1 + // 453: iadd + // 454: istore_1 + // 455: aload 6 + // 457: aload_0 + // 458: getfield 114 com/tencent/token/core/push/a:d [B + // 461: iload_1 + // 462: invokestatic 220 com/tencent/token/ap:a ([BI)J + // 465: putfield 402 com/tencent/token/core/push/j:f J + // 468: iload_1 + // 469: iconst_4 + // 470: iadd + // 471: istore_1 + // 472: aload_0 + // 473: getfield 114 com/tencent/token/core/push/a:d [B + // 476: astore 7 + // 478: aload 7 + // 480: iload_1 + // 481: baload + // 482: istore_2 + // 483: aload 7 + // 485: iload_1 + // 486: iconst_1 + // 487: iadd + // 488: baload + // 489: sipush 255 + // 492: iand + // 493: iconst_0 + // 494: ishl + // 495: iload_2 + // 496: sipush 255 + // 499: iand + // 500: bipush 8 + // 502: ishl + // 503: iadd + // 504: i2s + // 505: istore_2 + // 506: iload_1 + // 507: iconst_2 + // 508: iadd + // 509: istore_1 + // 510: aload 6 + // 512: iload_2 + // 513: newarray byte + // 515: putfield 404 com/tencent/token/core/push/j:g [B + // 518: aload_0 + // 519: getfield 114 com/tencent/token/core/push/a:d [B + // 522: iload_1 + // 523: aload 6 + // 525: getfield 404 com/tencent/token/core/push/j:g [B + // 528: iconst_0 + // 529: iload_2 + // 530: invokestatic 230 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 533: iload_1 + // 534: iload_2 + // 535: iadd + // 536: istore_1 + // 537: aload_0 + // 538: getfield 114 com/tencent/token/core/push/a:d [B + // 541: astore 7 + // 543: aload 7 + // 545: iload_1 + // 546: baload + // 547: istore_2 + // 548: aload 7 + // 550: iload_1 + // 551: iconst_1 + // 552: iadd + // 553: baload + // 554: sipush 255 + // 557: iand + // 558: iconst_0 + // 559: ishl + // 560: iload_2 + // 561: sipush 255 + // 564: iand + // 565: bipush 8 + // 567: ishl + // 568: iadd + // 569: i2s + // 570: istore_2 + // 571: aload 6 + // 573: iload_2 + // 574: newarray byte + // 576: putfield 405 com/tencent/token/core/push/j:h [B + // 579: aload_0 + // 580: getfield 114 com/tencent/token/core/push/a:d [B + // 583: iload_1 + // 584: iconst_2 + // 585: iadd + // 586: aload 6 + // 588: getfield 405 com/tencent/token/core/push/j:h [B + // 591: iconst_0 + // 592: iload_2 + // 593: invokestatic 230 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 596: new 162 java/lang/StringBuilder + // 599: dup + // 600: invokespecial 163 java/lang/StringBuilder: ()V + // 603: ldc_w 407 + // 606: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 609: aload 6 + // 611: getfield 402 com/tencent/token/core/push/j:f J + // 614: invokevirtual 235 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 617: ldc_w 409 + // 620: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 623: aload 6 + // 625: getfield 396 com/tencent/token/core/push/j:c J + // 628: invokevirtual 235 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 631: ldc_w 411 + // 634: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 637: new 203 java/lang/String + // 640: dup + // 641: aload 6 + // 643: getfield 394 com/tencent/token/core/push/j:b [B + // 646: invokespecial 208 java/lang/String: ([B)V + // 649: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 652: ldc_w 413 + // 655: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 658: aload 6 + // 660: getfield 398 com/tencent/token/core/push/j:d B + // 663: invokevirtual 172 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 666: ldc_w 415 + // 669: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 672: aload 6 + // 674: getfield 400 com/tencent/token/core/push/j:e B + // 677: invokevirtual 172 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 680: ldc_w 417 + // 683: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 686: new 203 java/lang/String + // 689: dup + // 690: aload 6 + // 692: getfield 404 com/tencent/token/core/push/j:g [B + // 695: invokespecial 208 java/lang/String: ([B)V + // 698: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 701: ldc_w 419 + // 704: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 707: new 203 java/lang/String + // 710: dup + // 711: aload 6 + // 713: getfield 405 com/tencent/token/core/push/j:h [B + // 716: invokespecial 208 java/lang/String: ([B)V + // 719: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 722: invokevirtual 176 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 725: invokestatic 187 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 728: new 320 com/tencent/token/core/push/c + // 731: dup + // 732: sipush 203 + // 735: iconst_0 + // 736: invokespecial 323 com/tencent/token/core/push/c: (SB)V + // 739: astore 7 + // 741: aload 7 + // 743: bipush 6 + // 745: newarray byte + // 747: putfield 329 com/tencent/token/core/push/c:l [B + // 750: aload 7 + // 752: getfield 329 com/tencent/token/core/push/c:l [B + // 755: iconst_0 + // 756: lconst_0 + // 757: invokestatic 422 com/tencent/token/ap:a ([BIJ)V + // 760: aload 7 + // 762: getfield 329 com/tencent/token/core/push/c:l [B + // 765: astore 8 + // 767: aload 8 + // 769: iconst_4 + // 770: iconst_0 + // 771: bastore + // 772: aload 8 + // 774: iconst_5 + // 775: iconst_0 + // 776: bastore + // 777: aload 7 + // 779: getfield 329 com/tencent/token/core/push/c:l [B + // 782: astore 8 + // 784: ldc 82 + // 786: invokevirtual 338 java/lang/String:getBytes ()[B + // 789: iconst_0 + // 790: aload 8 + // 792: bipush 6 + // 794: iconst_0 + // 795: invokestatic 230 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V + // 798: aload 7 + // 800: invokevirtual 340 com/tencent/token/core/push/c:a ()[B + // 803: astore 7 + // 805: aload 5 + // 807: aload 7 + // 809: invokevirtual 353 java/io/OutputStream:write ([B)V + // 812: aload 5 + // 814: invokevirtual 356 java/io/OutputStream:flush ()V + // 817: aload 6 + // 819: areturn + // 820: astore 5 + // 822: aload 5 + // 824: invokevirtual 190 java/io/IOException:printStackTrace ()V + // 827: goto -10 -> 817 + // 830: astore 5 + // 832: aload 5 + // 834: invokevirtual 190 java/io/IOException:printStackTrace ()V + // 837: new 162 java/lang/StringBuilder + // 840: dup + // 841: invokespecial 163 java/lang/StringBuilder: ()V + // 844: ldc_w 424 + // 847: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 850: aload 5 + // 852: invokevirtual 193 java/io/IOException:toString ()Ljava/lang/String; + // 855: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 858: invokevirtual 176 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 861: invokestatic 180 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 864: iconst_5 + // 865: putstatic 52 com/tencent/token/core/push/a:v I + // 868: aload_0 + // 869: invokespecial 140 com/tencent/token/core/push/a:h ()V + // 872: aconst_null + // 873: areturn + // 874: astore 5 + // 876: aload 5 + // 878: invokevirtual 275 java/lang/Exception:printStackTrace ()V + // 881: goto -64 -> 817 + // 884: astore 5 + // 886: aload 5 + // 888: invokevirtual 275 java/lang/Exception:printStackTrace ()V + // 891: new 162 java/lang/StringBuilder + // 894: dup + // 895: invokespecial 163 java/lang/StringBuilder: ()V + // 898: ldc_w 426 + // 901: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 904: aload 5 + // 906: invokevirtual 276 java/lang/Exception:toString ()Ljava/lang/String; + // 909: invokevirtual 169 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 912: invokevirtual 176 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 915: invokestatic 180 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 918: iconst_5 + // 919: putstatic 52 com/tencent/token/core/push/a:v I + // 922: aload_0 + // 923: invokespecial 140 com/tencent/token/core/push/a:h ()V + // 926: aconst_null + // 927: areturn + // Local variable table: + // start length slot name signature + // 0 928 0 this a + // 132 454 1 i1 int + // 482 111 2 i2 int + // 43 41 3 l1 long + // 29 784 5 localOutputStream OutputStream + // 820 3 5 localIOException1 IOException + // 830 21 5 localIOException2 IOException + // 874 3 5 localException1 Exception + // 884 21 5 localException2 Exception + // 38 780 6 localObject1 Object + // 96 712 7 localObject2 Object + // 127 664 8 arrayOfByte byte[] + // Exception table: + // from to target type + // 805 817 820 java/io/IOException + // 22 133 830 java/io/IOException + // 148 171 830 java/io/IOException + // 171 189 830 java/io/IOException + // 189 351 830 java/io/IOException + // 379 403 830 java/io/IOException + // 408 421 830 java/io/IOException + // 425 436 830 java/io/IOException + // 440 451 830 java/io/IOException + // 455 468 830 java/io/IOException + // 472 478 830 java/io/IOException + // 510 533 830 java/io/IOException + // 537 543 830 java/io/IOException + // 571 767 830 java/io/IOException + // 777 805 830 java/io/IOException + // 822 827 830 java/io/IOException + // 876 881 830 java/io/IOException + // 805 817 874 java/lang/Exception + // 22 133 884 java/lang/Exception + // 148 171 884 java/lang/Exception + // 171 189 884 java/lang/Exception + // 189 351 884 java/lang/Exception + // 379 403 884 java/lang/Exception + // 408 421 884 java/lang/Exception + // 425 436 884 java/lang/Exception + // 440 451 884 java/lang/Exception + // 455 468 884 java/lang/Exception + // 472 478 884 java/lang/Exception + // 510 533 884 java/lang/Exception + // 537 543 884 java/lang/Exception + // 571 767 884 java/lang/Exception + // 777 805 884 java/lang/Exception + // 822 827 884 java/lang/Exception + // 876 881 884 java/lang/Exception + } + + private void h() + { + if (this.u == null) { + return; + } + try + { + this.u.close(); + return; + } + catch (IOException localIOException) + { + localIOException.printStackTrace(); + e.c("socket close connection failed" + localIOException.toString()); + return; + } + catch (Exception localException) + { + e.c("socket close connection failed" + localException.toString()); + localException.printStackTrace(); + } + } + + public final void a(int paramInt) + { + switch (paramInt) + { + } + do + { + return; + v = paramInt; + return; + h(); + v = paramInt; + return; + } while (v != 8); + v = 1; + } + + public final void a(String[] paramArrayOfString, int[] paramArrayOfInt, int paramInt1, int paramInt2, int paramInt3) + { + y = new String[paramArrayOfString.length]; + int i1 = 0; + while (i1 < paramArrayOfString.length) + { + y[i1] = paramArrayOfString[i1]; + e.a("socket server ip[" + i1 + "]=" + y[i1]); + i1 += 1; + } + z = new int[paramArrayOfInt.length]; + i1 = 0; + while (i1 < paramArrayOfInt.length) + { + z[i1] = paramArrayOfInt[i1]; + e.a("socket server port[" + i1 + "]=" + z[i1]); + i1 += 1; + } + this.A = paramInt1; + this.C = paramInt2; + this.B = paramInt3; + e.a("socket reconn params reconn_count: " + this.A + ", reconn_time_interval: " + this.C + ", heart_break_time: " + this.B); + this.D = 0; + } + + public final j c() + { + Object localObject4 = null; + Object localObject1 = localObject4; + switch (v) + { + case 4: + default: + case 7: + case 8: + case 0: + case 1: + case 5: + case 2: + case 3: + for (;;) + { + localObject1 = localObject4; + if (4 == v) { + localObject1 = g(); + } + return localObject1; + new b(this).a(new String[] { "" }); + continue; + h(); + if ((y == null) || (z == null) || (y.length == 0) || (z.length == 0)) + { + v = 0; + } + else if (this.D >= this.A) + { + v = 0; + this.D = 0; + } + else + { + try + { + i1 = this.D % y.length; + e.a("socket connect server ok [" + y[i1] + ", " + z[i1] + "]"); + this.w = 0L; + this.u = new Socket(); + localObject1 = new InetSocketAddress(y[i1], z[i1]); + this.u.connect((SocketAddress)localObject1, 3000); + this.u.setKeepAlive(true); + e.a("socket connect server ok [" + y[i1] + ", " + z[i1] + "]"); + this.D += 1; + v = 2; + e(); + continue; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.c(localException.toString()); + h(); + v = 6; + this.x = System.currentTimeMillis(); + this.D += 1; + continue; + } + finally + { + this.D += 1; + } + e(); + continue; + f(); + } + } + } + long l1 = System.currentTimeMillis(); + long l2 = this.x; + if (this.D < this.E.length) {} + for (int i1 = this.E[this.D];; i1 = this.E[(this.E.length - 1)]) + { + Object localObject3 = localObject4; + if (l1 - l2 <= i1) { + break; + } + v = 1; + return null; + } + } + + public final void d() + { + v = 5; + h(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/b.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/b.java new file mode 100755 index 00000000000..4979bc3b9fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/b.java @@ -0,0 +1,15 @@ +package com.tencent.token.core.push; + +import com.tencent.token.utils.UserTask; + +final class b + extends UserTask +{ + b(a parama) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/c.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/c.java new file mode 100755 index 00000000000..18daef466d2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/c.java @@ -0,0 +1,81 @@ +package com.tencent.token.core.push; + +import com.tencent.token.ap; +import com.tencent.token.global.e; + +public class c +{ + public static long d; + public static byte[] k = new byte[16]; + public short a; + public short b; + public long c; + public short e; + public short f; + public short g; + public long h; + public byte i; + public byte j; + public byte[] l = null; + + public c() {} + + public c(short paramShort, byte paramByte) + { + this.b = paramShort; + this.i = paramByte; + this.j = 0; + } + + public final byte[] a() + { + if ((this.l != null) && (this.l.length > 0)) {} + for (int m = this.l.length;; m = 0) + { + this.a = ((short)(m + 41 + 1)); + e.a("socket req msg total len: " + this.a); + this.h = System.currentTimeMillis(); + byte[] arrayOfByte = new byte[this.a]; + arrayOfByte[0] = 2; + int n = this.a; + arrayOfByte[1] = ((byte)(n >> 8)); + arrayOfByte[2] = ((byte)n); + n = this.b; + arrayOfByte[3] = ((byte)(n >> 8)); + arrayOfByte[4] = ((byte)n); + ap.a(arrayOfByte, 5, this.c); + ap.a(arrayOfByte, 9, d); + n = this.e; + arrayOfByte[13] = ((byte)(n >> 8)); + arrayOfByte[14] = ((byte)n); + n = this.f; + arrayOfByte[15] = ((byte)(n >> 8)); + arrayOfByte[16] = ((byte)n); + n = this.g; + arrayOfByte[17] = ((byte)(n >> 8)); + arrayOfByte[18] = ((byte)n); + ap.a(arrayOfByte, 19, this.h); + arrayOfByte[23] = this.i; + arrayOfByte[24] = this.j; + System.arraycopy(k, 0, arrayOfByte, 25, k.length); + n = k.length + 25; + if (m > 0) + { + System.arraycopy(this.l, 0, arrayOfByte, n, m); + m += n; + } + for (;;) + { + arrayOfByte[m] = 3; + return arrayOfByte; + m = n; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/d.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/d.java new file mode 100755 index 00000000000..ddbe639cced --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/d.java @@ -0,0 +1,39 @@ +package com.tencent.token.core.push; + +import com.tencent.token.ap; +import com.tencent.token.global.e; + +public final class d +{ + public static int a(byte[] paramArrayOfByte, int paramInt, c paramc) + { + if (paramInt <= 42) { + return -1; + } + if ((paramArrayOfByte[0] != 2) || (paramArrayOfByte[(paramInt - 1)] != 3)) { + return -2; + } + paramc.a = ((short)(((paramArrayOfByte[1] & 0xFF) << 8) + ((paramArrayOfByte[2] & 0xFF) << 0))); + if (paramc.a != paramInt) { + return -3; + } + paramc.b = ((short)(((paramArrayOfByte[3] & 0xFF) << 8) + ((paramArrayOfByte[4] & 0xFF) << 0))); + paramc.c = ap.a(paramArrayOfByte, 5); + c.d = ap.a(paramArrayOfByte, 9); + paramc.e = ((short)(((paramArrayOfByte[13] & 0xFF) << 8) + ((paramArrayOfByte[14] & 0xFF) << 0))); + paramc.f = ((short)(((paramArrayOfByte[15] & 0xFF) << 8) + ((paramArrayOfByte[16] & 0xFF) << 0))); + paramc.g = ((short)(((paramArrayOfByte[17] & 0xFF) << 8) + ((paramArrayOfByte[18] & 0xFF) << 0))); + paramc.h = ap.a(paramArrayOfByte, 19); + paramc.i = paramArrayOfByte[23]; + paramc.j = paramArrayOfByte[24]; + System.arraycopy(paramArrayOfByte, 25, c.k, 0, 16); + e.a("socket parse msg head: totallen[" + paramc.a + "]" + " msgtype[" + paramc.b + "]" + " seq[" + paramc.c + "]" + " traceID[" + c.d + "]" + " version[" + paramc.g + "]" + " echo[" + c.k + "]"); + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/e.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/e.java new file mode 100755 index 00000000000..c26494de03d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/e.java @@ -0,0 +1,187 @@ +package com.tencent.token.core.push; + +import android.content.BroadcastReceiver; + +final class e + extends BroadcastReceiver +{ + private boolean b = false; + + e(PushService paramPushService) {} + + /* Error */ + public final void onReceive(android.content.Context paramContext, android.content.Intent paramIntent) + { + // Byte code: + // 0: aload_2 + // 1: invokevirtual 28 android/content/Intent:getAction ()Ljava/lang/String; + // 4: ldc 30 + // 6: invokevirtual 36 java/lang/String:equals (Ljava/lang/Object;)Z + // 9: ifeq +141 -> 150 + // 12: aload_0 + // 13: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 16: ldc 38 + // 18: invokevirtual 44 com/tencent/token/core/push/PushService:getSystemService (Ljava/lang/String;)Ljava/lang/Object; + // 21: checkcast 46 android/net/ConnectivityManager + // 24: astore_1 + // 25: aload_1 + // 26: ifnonnull +4 -> 30 + // 29: return + // 30: aload_1 + // 31: invokevirtual 50 android/net/ConnectivityManager:getActiveNetworkInfo ()Landroid/net/NetworkInfo; + // 34: astore_1 + // 35: aload_1 + // 36: ifnull +83 -> 119 + // 39: aload_1 + // 40: invokevirtual 56 android/net/NetworkInfo:isConnected ()Z + // 43: ifeq +76 -> 119 + // 46: invokestatic 61 com/tencent/token/core/push/a:a ()Lcom/tencent/token/core/push/a; + // 49: iconst_1 + // 50: invokevirtual 64 com/tencent/token/core/push/a:a (I)V + // 53: aload_0 + // 54: getfield 17 com/tencent/token/core/push/e:b Z + // 57: istore 4 + // 59: iload 4 + // 61: ifeq +237 -> 298 + // 64: aload_0 + // 65: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 68: invokestatic 66 com/tencent/token/core/push/PushService:a (Lcom/tencent/token/core/push/PushService;)V + // 71: aload_0 + // 72: iconst_0 + // 73: putfield 17 com/tencent/token/core/push/e:b Z + // 76: return + // 77: astore_1 + // 78: aload_1 + // 79: invokevirtual 69 java/lang/Exception:printStackTrace ()V + // 82: new 71 java/lang/StringBuilder + // 85: dup + // 86: invokespecial 72 java/lang/StringBuilder: ()V + // 89: ldc 74 + // 91: invokevirtual 78 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 94: aload_1 + // 95: invokevirtual 81 java/lang/Exception:toString ()Ljava/lang/String; + // 98: invokevirtual 78 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 101: invokevirtual 82 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 104: invokestatic 88 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 107: return + // 108: astore_1 + // 109: aload_1 + // 110: invokevirtual 91 java/lang/Exception:getMessage ()Ljava/lang/String; + // 113: invokestatic 94 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 116: goto -45 -> 71 + // 119: aload_0 + // 120: iconst_1 + // 121: putfield 17 com/tencent/token/core/push/e:b Z + // 124: invokestatic 61 com/tencent/token/core/push/a:a ()Lcom/tencent/token/core/push/a; + // 127: bipush 7 + // 129: invokevirtual 64 com/tencent/token/core/push/a:a (I)V + // 132: aload_0 + // 133: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 136: invokestatic 97 com/tencent/token/core/push/PushService:c (Lcom/tencent/token/core/push/PushService;)Landroid/app/AlarmManager; + // 139: aload_0 + // 140: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 143: invokestatic 100 com/tencent/token/core/push/PushService:b (Lcom/tencent/token/core/push/PushService;)Landroid/app/PendingIntent; + // 146: invokevirtual 106 android/app/AlarmManager:cancel (Landroid/app/PendingIntent;)V + // 149: return + // 150: aload_2 + // 151: invokevirtual 28 android/content/Intent:getAction ()Ljava/lang/String; + // 154: ldc 108 + // 156: invokevirtual 36 java/lang/String:equals (Ljava/lang/Object;)Z + // 159: ifeq +89 -> 248 + // 162: ldc 110 + // 164: invokestatic 94 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 167: aload_0 + // 168: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 171: aload_2 + // 172: invokestatic 113 com/tencent/token/core/push/PushService:a (Lcom/tencent/token/core/push/PushService;Landroid/content/Intent;)Z + // 175: ifeq +123 -> 298 + // 178: aload_0 + // 179: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 182: invokestatic 116 com/tencent/token/core/push/PushService:d (Lcom/tencent/token/core/push/PushService;)Ljava/util/concurrent/ConcurrentLinkedQueue; + // 185: invokevirtual 122 java/util/concurrent/ConcurrentLinkedQueue:peek ()Ljava/lang/Object; + // 188: checkcast 124 com/tencent/token/core/bean/b + // 191: astore_1 + // 192: aload_1 + // 193: ifnull +105 -> 298 + // 196: new 24 android/content/Intent + // 199: dup + // 200: aload_0 + // 201: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 204: ldc 126 + // 206: invokespecial 129 android/content/Intent: (Landroid/content/Context;Ljava/lang/Class;)V + // 209: astore_2 + // 210: aload_2 + // 211: ldc 130 + // 213: invokevirtual 134 android/content/Intent:addFlags (I)Landroid/content/Intent; + // 216: pop + // 217: aload_2 + // 218: ldc 136 + // 220: aload_1 + // 221: invokevirtual 139 com/tencent/token/core/bean/b:f ()Ljava/lang/String; + // 224: invokevirtual 143 android/content/Intent:putExtra (Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; + // 227: pop + // 228: aload_2 + // 229: ldc 145 + // 231: aload_1 + // 232: invokevirtual 148 com/tencent/token/core/bean/b:g ()Ljava/lang/String; + // 235: invokevirtual 143 android/content/Intent:putExtra (Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; + // 238: pop + // 239: aload_0 + // 240: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 243: aload_2 + // 244: invokevirtual 152 com/tencent/token/core/push/PushService:startActivity (Landroid/content/Intent;)V + // 247: return + // 248: aload_2 + // 249: invokevirtual 28 android/content/Intent:getAction ()Ljava/lang/String; + // 252: ldc 154 + // 254: invokevirtual 36 java/lang/String:equals (Ljava/lang/Object;)Z + // 257: ifeq +41 -> 298 + // 260: ldc 156 + // 262: invokestatic 94 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 265: aload_2 + // 266: ldc 158 + // 268: iconst_3 + // 269: invokevirtual 162 android/content/Intent:getIntExtra (Ljava/lang/String;I)I + // 272: istore_3 + // 273: new 164 com/tencent/token/core/push/h + // 276: dup + // 277: aload_0 + // 278: getfield 12 com/tencent/token/core/push/e:a Lcom/tencent/token/core/push/PushService; + // 281: iload_3 + // 282: invokespecial 167 com/tencent/token/core/push/h: (Lcom/tencent/token/core/push/PushService;I)V + // 285: iconst_1 + // 286: anewarray 32 java/lang/String + // 289: dup + // 290: iconst_0 + // 291: ldc 169 + // 293: aastore + // 294: invokevirtual 174 com/tencent/token/utils/UserTask:a ([Ljava/lang/Object;)Lcom/tencent/token/utils/UserTask; + // 297: pop + // 298: return + // Local variable table: + // start length slot name signature + // 0 299 0 this e + // 0 299 1 paramContext android.content.Context + // 0 299 2 paramIntent android.content.Intent + // 272 10 3 i int + // 57 3 4 bool boolean + // Exception table: + // from to target type + // 0 25 77 java/lang/Exception + // 30 35 77 java/lang/Exception + // 39 59 77 java/lang/Exception + // 71 76 77 java/lang/Exception + // 109 116 77 java/lang/Exception + // 119 149 77 java/lang/Exception + // 150 192 77 java/lang/Exception + // 196 247 77 java/lang/Exception + // 248 298 77 java/lang/Exception + // 64 71 108 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/f.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/f.java new file mode 100755 index 00000000000..026686166cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/f.java @@ -0,0 +1,72 @@ +package com.tencent.token.core.push; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.av; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.ui.base.DualMsgShowDialog; +import org.json.JSONException; +import org.json.JSONObject; + +final class f + extends Handler +{ + f(PushService paramPushService) {} + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + do + { + do + { + return; + } while (paramMessage.arg1 != 0); + try + { + paramMessage = new JSONObject((String)paramMessage.obj); + PushService.a(this.a, paramMessage.getString("auto_fill_vfy_code_sms_prefix")); + e.b("auto sms prefrix" + PushService.e(this.a)); + return; + } + catch (JSONException paramMessage) + { + paramMessage.printStackTrace(); + return; + } + catch (Exception paramMessage) + { + paramMessage.printStackTrace(); + return; + } + } while ((paramMessage.arg1 != 0) || (av.a().b() <= 0)); + e.b("push:getIsAppForeground" + BaseActivity.getIsAppForeground()); + if (!BaseActivity.getIsAppForeground()) { + break; + } + } while (RqdApplication.b); + try + { + new DualMsgShowDialog(BaseActivity.sTopActivity, false, 0L).show(); + return; + } + catch (Exception paramMessage) + { + return; + } + IndexActivity.setFromWhere(19); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/g.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/g.java new file mode 100755 index 00000000000..1e94104dede --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/g.java @@ -0,0 +1,15 @@ +package com.tencent.token.core.push; + +import com.tencent.token.utils.UserTask; + +final class g + extends UserTask +{ + g(PushService paramPushService, long paramLong) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/h.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/h.java new file mode 100755 index 00000000000..ed5054e5ca1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/h.java @@ -0,0 +1,15 @@ +package com.tencent.token.core.push; + +import com.tencent.token.utils.UserTask; + +final class h + extends UserTask +{ + h(PushService paramPushService, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/i.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/i.java new file mode 100755 index 00000000000..e1d55bfae48 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/i.java @@ -0,0 +1,15 @@ +package com.tencent.token.core.push; + +public final class i + extends c +{ + byte[] m; + long n; + byte[] o; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/j.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/j.java new file mode 100755 index 00000000000..2f79b7c7e60 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/j.java @@ -0,0 +1,19 @@ +package com.tencent.token.core.push; + +public final class j +{ + long a; + byte[] b; + long c; + byte d; + byte e; + long f; + byte[] g; + byte[] h; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/k.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/k.java new file mode 100755 index 00000000000..6943c81a539 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/k.java @@ -0,0 +1,14 @@ +package com.tencent.token.core.push; + +public final class k + extends c +{ + public short m; + public byte[] n; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/core/push/l.java b/com.tencent.token/classes.jar/com/tencent/token/core/push/l.java new file mode 100755 index 00000000000..77172f8bfd0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/core/push/l.java @@ -0,0 +1,16 @@ +package com.tencent.token.core.push; + +public final class l + extends c +{ + long m; + long n; + byte[] o; + byte[] p; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.core.push.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cp.java b/com.tencent.token/classes.jar/com/tencent/token/cp.java new file mode 100755 index 00000000000..40c2b3be358 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cp.java @@ -0,0 +1,90 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.RealNameShakeResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cp + extends bm +{ + public long c; + public long d; + public RealNameShakeResult e; + private int f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.d), "token_seq", Long.valueOf(ag.c().k()), "guid", s.a(x.a(RqdApplication.i()).c()), "seq_id", Integer.valueOf(this.f), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?uin=" + this.c + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_realname_activity" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.f) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.f); + return; + } + this.e = new RealNameShakeResult(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.e; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cq.java b/com.tencent.token/classes.jar/com/tencent/token/cq.java new file mode 100755 index 00000000000..ce953414513 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cq.java @@ -0,0 +1,73 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cq + extends bm +{ + private long c; + private int d; + private int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject2 = ag.c(); + ((ag)localObject2).m(); + String str2 = ((ag)localObject2).j().replaceAll("-", ""); + Object localObject1 = ""; + try + { + localObject2 = s.a(new Object[] { "real_uin", Long.valueOf(this.c), "seq_id", Integer.valueOf(this.e), "op_time", Long.valueOf(ag.c().r() / 1000L), "token_seq", str2, "token_code", ((ag)localObject2).o(), "imei", ag.b(), "unbind_type", String.valueOf(this.d) }); + localObject1 = localObject2; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + e.c("encrypt data failed:" + localException.getMessage()); + } + } + str1 = "?aq_base_sid=" + str1 + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_unbind_token" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.d = ((Integer)paramfs.c.get("param.unbind.type")).intValue(); + this.e = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, "server errcode=" + i + ":" + paramJSONObject, paramJSONObject); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cr.java b/com.tencent.token/classes.jar/com/tencent/token/cr.java new file mode 100755 index 00000000000..f6cc78384b1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cr.java @@ -0,0 +1,59 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cr + extends bm +{ + public String c; + public long d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "qqtoken_code", this.c }); + if (str2 == null) + { + this.a.a(10000, "encrypt qqtoken code failed", null); + return null; + } + str1 = "?uin=" + this.d + "&sess_id=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_verify_qqtoken" + str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.c = ((String)paramfs.c.get("param.qqtoken")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cs.java b/com.tencent.token/classes.jar/com/tencent/token/cs.java new file mode 100755 index 00000000000..c6636a24d21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cs.java @@ -0,0 +1,62 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import java.util.List; +import org.json.JSONObject; + +public final class cs + extends bm +{ + public String[] c; + public long d; + public List e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(this.e, this.c); + if (str2 == null) + { + this.a.a(10000, "encrypt ques answer failed", null); + return null; + } + str1 = "?uin=" + this.d + "&sess_id=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_vry_ques" + str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.e = ((List)paramfs.c.get("param.qqquestion")); + this.c = ((String[])paramfs.c.get("param.qqquestionanswer")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ct.java b/com.tencent.token/classes.jar/com/tencent/token/ct.java new file mode 100755 index 00000000000..b5346fc0763 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ct.java @@ -0,0 +1,59 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ct + extends bm +{ + public String c; + public long d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "mobile_code", this.c }); + if (str2 == null) + { + this.a.a(10000, "encrypt qqtoken code failed", null); + return null; + } + str1 = "?uin=" + this.d + "&sess_id=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_verify_mobile_code" + str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.c = ((String)paramfs.c.get("param.smscode")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cu.java b/com.tencent.token/classes.jar/com/tencent/token/cu.java new file mode 100755 index 00000000000..0232010bcb5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cu.java @@ -0,0 +1,88 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cu + extends bm +{ + private String c; + private byte[] d; + private int e; + + public static void a(fs paramfs, String paramString, byte[] paramArrayOfByte, int paramInt) + { + paramfs.c.put("param.uin.wtlogin", paramString); + paramfs.c.put("param.wtlogin.a2", paramArrayOfByte); + paramfs.c.put("param.wtlogin.type", Integer.valueOf(paramInt)); + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.b(("{\"uin\":\"" + this.c + "\", \"wtlogin_sig\":\"" + s.a(this.d) + "\"" + ",\"wtlogin_type\":" + this.e + "}").getBytes()); + if (str2 == null) + { + this.a.a(10000, null, null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_vfy_wtlogin" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((String)paramfs.c.get("param.uin.wtlogin")); + this.d = ((byte[])paramfs.c.get("param.wtlogin.a2")); + this.e = ((Integer)paramfs.c.get("param.wtlogin.type")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + long l1 = Long.parseLong(paramJSONObject.getString("uin")); + paramJSONObject = paramJSONObject.getString("uin_mask"); + try + { + long l2 = Long.parseLong(this.c); + QQUser localQQUser = ax.a().d(l2); + if (localQQUser != null) + { + localQQUser.mUin = l1; + localQQUser.mUinMask = paramJSONObject; + } + this.b.c.put("param.uinhash", Long.valueOf(l1)); + this.b.c.put("param.wtlogin.a2", this.d); + ax.a().e(l2); + this.a.a = 0; + return; + } + catch (Exception paramJSONObject) + { + this.a.a(10000, null, null); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cv.java b/com.tencent.token/classes.jar/com/tencent/token/cv.java new file mode 100755 index 00000000000..2b9e82a3f2d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cv.java @@ -0,0 +1,236 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import com.tencent.jni.FaceDetector; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cv + extends bm +{ + public static String c; + public static int d; + public static int e; + public static int f; + public static int g; + public static int h; + public static int i; + public static int j; + public static int k; + public static int l; + public static int m; + public static int n; + public static boolean o; + public long p; + public int q; + private int r; + private long s; + private int t; + private byte[] u; + private int v; + private int w; + + public static void e() + { + c = ""; + d = 0; + e = 0; + g = 0; + f = 0; + h = 0; + i = 0; + j = 0; + k = 0; + l = 0; + m = 0; + n = 0; + ei.c = 0; + ei.d = 0; + ei.e = 0; + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + return com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_face_reg"; + } + + protected final void a(fs paramfs) + { + this.p = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.q = paramfs.j; + e.c("reqdata.seq=" + this.q); + this.s = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.t = ((Integer)paramfs.c.get("param.optype")).intValue(); + this.u = ((byte[])paramfs.c.get("param.facedata")); + this.v = ((Integer)paramfs.c.get("param.lockstatus")).intValue(); + this.w = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + int i1 = paramJSONObject.getInt("seq_id"); + e.c("reqdata.seq=" + i1 + ", json=" + paramJSONObject); + if (i1 != this.q) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i1 + ",right = " + this.q); + return; + } + i1 = paramJSONObject.getInt("err"); + if (i1 != 0) + { + String str = paramJSONObject.getString("info"); + this.r = paramJSONObject.getInt("op_type"); + this.a.d = Integer.valueOf(this.r); + a(i1, str); + return; + } + this.r = paramJSONObject.getInt("op_type"); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + public final fs b(fs paramfs) + { + int i2 = paramfs.j; + paramfs.m = 1; + paramfs.n = new ContentValues(3); + Object localObject3 = paramfs.n; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + label795: + Object localObject2; + for (Object localObject1 = ax.c;; localObject2 = null) + { + ((ContentValues)localObject3).put("aq_base_sid", (String)localObject1); + paramfs.n.put("uin", Long.valueOf(this.p)); + localObject1 = new JSONObject(); + for (;;) + { + try + { + if (this.t != 2) + { + ((JSONObject)localObject1).put("uin", this.s); + ((JSONObject)localObject1).put("op_type", this.t); + long l1 = System.currentTimeMillis(); + if (this.t != 3) + { + e.c("doFaceRecognition src data=" + this.u.length); + localObject3 = com.tencent.token.utils.b.a(this.u); + ((JSONObject)localObject1).put("img_data", localObject3); + e.c("doFaceRecognition img_data=" + ((String)localObject3).length()); + ((JSONObject)localObject1).put("resolution", c); + ((JSONObject)localObject1).put("so_code_time", d); + ((JSONObject)localObject1).put("face_detect_time", e); + ((JSONObject)localObject1).put("face_detect_frame", g); + if (FaceDetector.IsSupportNeon()) + { + i1 = 1; + ((JSONObject)localObject1).put("is_neon", i1); + ((JSONObject)localObject1).put("face_model_init_time", f); + ((JSONObject)localObject1).put("vivo_model_init_time", h); + ((JSONObject)localObject1).put("vivo_reg_action1_time", i); + ((JSONObject)localObject1).put("vivo_reg_action2_time", j); + ((JSONObject)localObject1).put("vivo_reg_action1_frame", k); + ((JSONObject)localObject1).put("vivo_reg_action2_frame", l); + ((JSONObject)localObject1).put("vivo_ver_action_time", m); + ((JSONObject)localObject1).put("vivo_ver_action_frame", n); + ((JSONObject)localObject1).put("vivo_reg_action1_type", ei.c); + ((JSONObject)localObject1).put("vivo_reg_action2_type", ei.d); + ((JSONObject)localObject1).put("vivo_ver_action_type", ei.e); + ((JSONObject)localObject1).put("mobile_os", "android:" + URLEncoder.encode(Build.VERSION.RELEASE)); + ((JSONObject)localObject1).put("algorithm", t.l()); + } + } + else + { + ((JSONObject)localObject1).put("op_time", (int)(ag.c().r() / 1000L)); + ((JSONObject)localObject1).put("seq_id", i2); + if (this.w != 6) { + break label795; + } + i1 = 1; + ((JSONObject)localObject1).put("scene", i1); + if (this.t == 5) { + ((JSONObject)localObject1).put("token_seq", ag.c().k()); + } + localObject3 = com.tencent.token.utils.b.a(s.c(((JSONObject)localObject1).toString().getBytes())).replace('+', '-').replace('=', '_'); + i1 = (int)(System.currentTimeMillis() - l1); + e.c("encodeTime=" + i1); + paramfs.n.put("data", (String)localObject3); + paramfs.n.put("encode_time", Integer.valueOf(i1)); + e.a("resolution=" + c + ",so_code_time=" + d + ",scan_time=" + e + ",frame_cnt=" + g + ",encode_time=" + i1 + ",seq=" + i2); + e.a("doFaceRecognition data=" + ((JSONObject)localObject1).toString()); + e.a("doFaceRecognition base64 data=" + ((String)localObject3).length()); + return paramfs; + } + } + else + { + ((JSONObject)localObject1).put("uin", this.s); + if (this.v <= 0) { + continue; + } + ((JSONObject)localObject1).put("lock_status", this.v); + continue; + } + i1 = 0; + } + catch (Exception localException) + { + localException.printStackTrace(); + return paramfs; + } + continue; + int i1 = this.w; + } + } + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.arg2 = this.r; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cw.java b/com.tencent.token/classes.jar/com/tencent/token/cw.java new file mode 100755 index 00000000000..d9cc394378c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cw.java @@ -0,0 +1,122 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cw + extends bm +{ + public long c; + public int d; + public String e; + private byte[] f; + private cx g = new cx(this); + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + return com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_face_pk"; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = paramfs.j; + this.f = ((byte[])paramfs.c.get("param.facedata")); + paramfs = paramfs.c.get("param.videopath"); + if (paramfs != null) { + this.e = paramfs.toString(); + } + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + int i = paramJSONObject.getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.d); + return; + } + i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.g.a = paramJSONObject.getString("share_page_url"); + this.g.c = paramJSONObject.getString("share_desc"); + this.g.b = paramJSONObject.getString("share_title"); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + public final fs b(fs paramfs) + { + int i = paramfs.j; + paramfs.m = 1; + paramfs.n = new ContentValues(3); + ContentValues localContentValues = paramfs.n; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c;; str = null) + { + localContentValues.put("aq_base_sid", str); + paramfs.n.put("uin", Long.valueOf(this.c)); + str = com.tencent.token.utils.b.a(s.c(this.f)).replace('+', '-').replace('=', '_'); + paramfs.n.put("img_data", str); + paramfs.n.put("op_time", Integer.valueOf((int)(ag.c().r() / 1000L))); + paramfs.n.put("seq_id", Integer.valueOf(i)); + if (this.e != null) + { + str = com.tencent.token.utils.b.a(s.c(t.b(this.e))).replace('+', '-').replace('=', '_'); + paramfs.n.put("live_video_data", str); + } + this.f = null; + return paramfs; + } + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.obj = this.g; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cx.java b/com.tencent.token/classes.jar/com/tencent/token/cx.java new file mode 100755 index 00000000000..5517d0ba72b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cx.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +public final class cx +{ + public String a; + public String b; + public String c; + + public cx(cw paramcw) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cy.java b/com.tencent.token/classes.jar/com/tencent/token/cy.java new file mode 100755 index 00000000000..97652ddf6c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cy.java @@ -0,0 +1,98 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cy + extends bm +{ + private long c; + private int d; + private int e; + private boolean f; + private String g; + private final String h = "/cn/mbtoken3/mbtoken3_face_verify_on_off"; + + protected final String a() + { + int j = 1; + int i = 1; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2; + if (this.e == 0) + { + l = this.c; + if (this.f) {} + for (;;) + { + str2 = s.a(new Object[] { "uin", Long.valueOf(l), "on_off", Integer.valueOf(i), "seq_id", Integer.valueOf(this.d), "A2", this.g }); + str1 = "?uin=" + this.c + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_face_verify_on_off" + str1; + i = 0; + } + } + long l = this.c; + if (this.f) {} + for (i = j;; i = 0) + { + str2 = s.a(new Object[] { "uin", Long.valueOf(l), "on_off", Integer.valueOf(i), "scene_id", Integer.valueOf(this.e), "seq_id", Integer.valueOf(this.d), "A2", this.g }); + break; + } + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Integer)paramfs.c.get("param.scene_id")).intValue(); + this.f = ((Boolean)paramfs.c.get("param.verifyonoff")).booleanValue(); + this.g = ((String)paramfs.c.get("param.wtlogin.a2")); + this.d = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("mbtoken3_general_verify_mobile_code ret: " + paramJSONObject); + i = paramJSONObject.getInt("seq_id"); + if (i != this.d) + { + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.d); + this.a.a(10030, null, null); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/cz.java b/com.tencent.token/classes.jar/com/tencent/token/cz.java new file mode 100755 index 00000000000..c30dca04f21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/cz.java @@ -0,0 +1,51 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.HashMap; +import org.json.JSONObject; + +public final class cz + extends bm +{ + private long c; + private long d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&msgid=" + this.d + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_feedback_abnormal_login" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Long)paramfs.c.get("param.feedback.msgid")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.cz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/d.java b/com.tencent.token/classes.jar/com/tencent/token/d.java new file mode 100755 index 00000000000..a7207449a5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/d.java @@ -0,0 +1,317 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.Signature; +import android.util.DisplayMetrics; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.security.PublicKey; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Collection; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +public final class d + extends i +{ + Context a = null; + private String b; + private String c; + private String d; + private String e; + private String f; + private String g; + private String h; + private String i; + private int j = 0; + private int k = 0; + + public d(Context paramContext) + { + this.a = paramContext; + this.k = new c(paramContext).f(); + this.b = "android.content.pm.PackageParser"; + this.c = "parsePackage"; + this.d = "collectCertificates"; + this.e = "mSignatures"; + this.f = "generatePackageInfo"; + this.g = "META-INF/"; + this.h = "X.509"; + this.i = ".RSA"; + this.j = 8192; + } + + private PublicKey a(InputStream paramInputStream) + { + try + { + paramInputStream = ((X509Certificate)CertificateFactory.getInstance("X.509").generateCertificate(paramInputStream)).getPublicKey(); + return paramInputStream; + } + catch (Throwable paramInputStream) + { + a(paramInputStream); + } + return null; + } + + private PublicKey b(InputStream paramInputStream) + { + for (;;) + { + try + { + paramInputStream = CertificateFactory.getInstance(this.h).generateCertificates(paramInputStream).iterator(); + if (paramInputStream.hasNext()) + { + paramInputStream = (X509Certificate)paramInputStream.next(); + paramInputStream = paramInputStream.getPublicKey(); + return paramInputStream; + } + } + catch (Throwable paramInputStream) + { + a(paramInputStream); + return null; + } + paramInputStream = null; + } + } + + private PackageInfo f(String paramString) + { + try + { + Class localClass = Class.forName(this.b); + Object localObject1 = localClass.getConstructor(new Class[] { String.class }).newInstance(new Object[] { paramString }); + Object localObject2 = new DisplayMetrics(); + ((DisplayMetrics)localObject2).setToDefaults(); + Object localObject3 = Integer.TYPE; + localObject2 = localClass.getDeclaredMethod(this.c, new Class[] { File.class, String.class, DisplayMetrics.class, localObject3 }).invoke(localObject1, new Object[] { new File(paramString), paramString, localObject2, Integer.valueOf(64) }); + paramString = localObject2.getClass(); + localObject3 = Integer.TYPE; + localObject3 = localClass.getDeclaredMethod(this.d, new Class[] { paramString, localObject3 }); + ((Method)localObject3).invoke(localObject1, new Object[] { localObject2, Integer.valueOf(64) }); + if (this.k > 8) + { + paramString = new Class[5]; + paramString[3] = Long.TYPE; + paramString[4] = Long.TYPE; + } + for (;;) + { + paramString[0] = localObject2.getClass(); + paramString[1] = [I.class; + paramString[2] = Integer.TYPE; + paramString = localClass.getDeclaredMethod(this.f, paramString); + if (localObject2 == null) { + break label362; + } + ((Method)localObject3).invoke(localObject1, new Object[] { localObject2, Integer.valueOf(0) }); + if (this.k <= 8) { + break; + } + return (PackageInfo)paramString.invoke(localObject1, new Object[] { localObject2, null, Integer.valueOf(65), Integer.valueOf(0), Integer.valueOf(0) }); + paramString = new Class[3]; + } + paramString = (PackageInfo)paramString.invoke(localObject1, new Object[] { localObject2, null, Integer.valueOf(65) }); + return paramString; + } + catch (Throwable paramString) + { + a(paramString); + } + label362: + return null; + } + + public final PublicKey a() + { + PublicKey localPublicKey = null; + try + { + Signature[] arrayOfSignature = this.a.getPackageManager().getPackageInfo(this.a.getPackageName(), 64).signatures; + if (arrayOfSignature != null) { + localPublicKey = a(new ByteArrayInputStream(arrayOfSignature[0].toByteArray())); + } + return localPublicKey; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return null; + } + + public final PublicKey a(String paramString) + { + try + { + if (this.k > 13) {} + for (paramString = this.a.getPackageManager().getPackageArchiveInfo(paramString, 65);; paramString = f(paramString)) + { + paramString = paramString.signatures; + if (paramString == null) { + break; + } + return a(new ByteArrayInputStream(paramString[0].toByteArray())); + } + return null; + } + catch (Throwable paramString) + { + a(paramString); + } + } + + public final PublicKey b(String paramString) + { + try + { + Class localClass1 = Class.forName(this.b); + Object localObject1 = localClass1.getConstructor(new Class[] { String.class }).newInstance(new Object[] { paramString }); + Object localObject2 = new DisplayMetrics(); + ((DisplayMetrics)localObject2).setToDefaults(); + Class localClass2 = Integer.TYPE; + paramString = localClass1.getDeclaredMethod(this.c, new Class[] { File.class, String.class, DisplayMetrics.class, localClass2 }).invoke(localObject1, new Object[] { new File(paramString), paramString, localObject2, Integer.valueOf(64) }); + localObject2 = paramString.getClass(); + localClass2 = Integer.TYPE; + localClass1.getDeclaredMethod(this.d, new Class[] { localObject2, localClass2 }).invoke(localObject1, new Object[] { paramString, Integer.valueOf(64) }); + paramString = a(new ByteArrayInputStream(((Signature[])paramString.getClass().getDeclaredField(this.e).get(paramString))[0].toByteArray())); + return paramString; + } + catch (Throwable paramString) + { + a(paramString); + } + return null; + } + + /* Error */ + public final PublicKey c(String paramString) + { + // Byte code: + // 0: new 228 java/util/jar/JarFile + // 3: dup + // 4: aload_1 + // 5: invokespecial 229 java/util/jar/JarFile: (Ljava/lang/String;)V + // 8: astore_3 + // 9: aload_3 + // 10: invokevirtual 233 java/util/jar/JarFile:entries ()Ljava/util/Enumeration; + // 13: astore_1 + // 14: aload_1 + // 15: invokeinterface 238 1 0 + // 20: istore_2 + // 21: iload_2 + // 22: ifne +11 -> 33 + // 25: aconst_null + // 26: astore_1 + // 27: aload_3 + // 28: invokevirtual 241 java/util/jar/JarFile:close ()V + // 31: aload_1 + // 32: areturn + // 33: aload_1 + // 34: invokeinterface 244 1 0 + // 39: checkcast 246 java/util/jar/JarEntry + // 42: astore 4 + // 44: aload 4 + // 46: invokevirtual 249 java/util/jar/JarEntry:isDirectory ()Z + // 49: ifne -35 -> 14 + // 52: aload 4 + // 54: invokevirtual 252 java/util/jar/JarEntry:getName ()Ljava/lang/String; + // 57: aload_0 + // 58: getfield 60 com/tencent/token/d:g Ljava/lang/String; + // 61: invokevirtual 256 java/lang/String:startsWith (Ljava/lang/String;)Z + // 64: ifeq -50 -> 14 + // 67: aload 4 + // 69: invokevirtual 252 java/util/jar/JarEntry:getName ()Ljava/lang/String; + // 72: invokevirtual 259 java/lang/String:toUpperCase ()Ljava/lang/String; + // 75: aload_0 + // 76: getfield 68 com/tencent/token/d:i Ljava/lang/String; + // 79: invokevirtual 262 java/lang/String:endsWith (Ljava/lang/String;)Z + // 82: ifeq -68 -> 14 + // 85: aload_3 + // 86: aload 4 + // 88: invokevirtual 266 java/util/jar/JarFile:getInputStream (Ljava/util/zip/ZipEntry;)Ljava/io/InputStream; + // 91: astore 4 + // 93: aload_0 + // 94: aload 4 + // 96: invokespecial 268 com/tencent/token/d:b (Ljava/io/InputStream;)Ljava/security/PublicKey; + // 99: astore_1 + // 100: aload 4 + // 102: invokevirtual 271 java/io/InputStream:close ()V + // 105: goto -78 -> 27 + // 108: astore_3 + // 109: aconst_null + // 110: astore_1 + // 111: aload_0 + // 112: aload_3 + // 113: invokevirtual 91 com/tencent/token/d:a (Ljava/lang/Throwable;)V + // 116: aload_1 + // 117: areturn + // 118: astore_3 + // 119: goto -8 -> 111 + // 122: astore_3 + // 123: goto -12 -> 111 + // Local variable table: + // start length slot name signature + // 0 126 0 this d + // 0 126 1 paramString String + // 20 2 2 bool boolean + // 8 78 3 localJarFile JarFile + // 108 5 3 localThrowable1 Throwable + // 118 1 3 localThrowable2 Throwable + // 122 1 3 localThrowable3 Throwable + // 42 59 4 localObject Object + // Exception table: + // from to target type + // 0 14 108 java/lang/Throwable + // 14 21 108 java/lang/Throwable + // 33 100 108 java/lang/Throwable + // 100 105 118 java/lang/Throwable + // 27 31 122 java/lang/Throwable + } + + public final PublicKey d(String paramString) + { + try + { + byte[] arrayOfByte = new byte[this.j]; + JarFile localJarFile = new JarFile(paramString); + Object localObject = localJarFile.entries(); + if (!((Enumeration)localObject).hasMoreElements()) {} + for (paramString = null;; paramString = paramString.getCertificates()) + { + localJarFile.close(); + return paramString[0].getPublicKey(); + paramString = (JarEntry)((Enumeration)localObject).nextElement(); + if ((paramString.isDirectory()) || (paramString.getName().startsWith(this.g))) { + break; + } + localObject = localJarFile.getInputStream(paramString); + while (((InputStream)localObject).read(arrayOfByte, 0, arrayOfByte.length) != -1) {} + ((InputStream)localObject).close(); + } + return null; + } + catch (Throwable paramString) + { + a(paramString); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/da.java b/com.tencent.token/classes.jar/com/tencent/token/da.java new file mode 100755 index 00000000000..fcb5c56ca7f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/da.java @@ -0,0 +1,49 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.HashMap; +import org.json.JSONObject; + +public final class da + extends bm +{ + private long c; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_feedback_mobile_using" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.da + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/db.java b/com.tencent.token/classes.jar/com/tencent/token/db.java new file mode 100755 index 00000000000..bbc001c27a9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/db.java @@ -0,0 +1,124 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class db + extends bm +{ + public static String c; + public static String d; + public static String e; + private long f; + private long g; + private int h; + private int i; + private final String j = "/cn/mbtoken3/mbtoken3_general_get_mobile_code"; + + public static void a(fs paramfs, long paramLong1, long paramLong2, int paramInt1, int paramInt2) + { + paramfs.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramfs.c.put("param.realuin", Long.valueOf(paramLong2)); + paramfs.c.put("param.general.mobilecode.sceneid", Integer.valueOf(paramInt1)); + paramfs.j = paramInt2; + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.g), "scene_id", Integer.valueOf(this.i), "seq_id", Integer.valueOf(this.h), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?uin=" + this.f + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_general_get_mobile_code" + str1; + } + + protected final void a(fs paramfs) + { + this.f = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.g = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.i = ((Integer)paramfs.c.get("param.general.mobilecode.sceneid")).intValue(); + this.h = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int k = paramJSONObject.getInt("err"); + if (k != 0) + { + String str = paramJSONObject.getString("info"); + if (k == 124) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + c = paramJSONObject.getString("sms_port"); + d = paramJSONObject.getString("sms_up_code"); + } + } + try + { + e = paramJSONObject.getString("mobile_sms_prefix"); + e.b("realname port=" + c + ", content=" + d); + a(k, str); + return; + } + catch (Exception paramJSONObject) + { + for (;;) + { + paramJSONObject.printStackTrace(); + } + } + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + k = paramJSONObject.getInt("seq_id"); + if (k != this.h) + { + e.c("parseJSON error seq is wrong seq=" + k + ",right = " + this.h); + this.a.a(10030, null, null); + return; + } + c = paramJSONObject.getString("sms_port"); + d = paramJSONObject.getString("sms_up_code"); + try + { + e = paramJSONObject.getString("mobile_sms_prefix"); + e.b("realname port=" + c + ", content=" + d); + this.a.a = 0; + return; + } + catch (Exception paramJSONObject) + { + for (;;) + { + paramJSONObject.printStackTrace(); + } + } + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.db + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dc.java b/com.tencent.token/classes.jar/com/tencent/token/dc.java new file mode 100755 index 00000000000..1b12fd15856 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dc.java @@ -0,0 +1,88 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class dc + extends bm +{ + private long c; + private long d; + private int e; + private int f; + private String g; + private final String h = "/cn/mbtoken3/mbtoken3_general_verify_mobile_code"; + + public static void a(fs paramfs, long paramLong1, long paramLong2, int paramInt1, int paramInt2, String paramString) + { + paramfs.c.put("param.uinhash", Long.valueOf(paramLong1)); + paramfs.c.put("param.realuin", Long.valueOf(paramLong2)); + paramfs.c.put("param.general.mobilecode.sceneid", Integer.valueOf(paramInt1)); + paramfs.c.put("param.mbmobile.vrycode", paramString); + paramfs.j = paramInt2; + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.d), "scene_id", Integer.valueOf(this.f), "seq_id", Integer.valueOf(this.e), "op_time", Long.valueOf(ag.c().r() / 1000L), "mobile_code", this.g }); + str1 = "?uin=" + this.c + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_general_verify_mobile_code" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((Integer)paramfs.c.get("param.general.mobilecode.sceneid")).intValue(); + this.g = ((String)paramfs.c.get("param.mbmobile.vrycode")); + this.e = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("mbtoken3_general_verify_mobile_code ret: " + paramJSONObject); + i = paramJSONObject.getInt("seq_id"); + if (i != this.e) + { + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.e); + this.a.a(10030, null, null); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dd.java b/com.tencent.token/classes.jar/com/tencent/token/dd.java new file mode 100755 index 00000000000..afa2c17ec64 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dd.java @@ -0,0 +1,112 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.global.g; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dd + extends bm +{ + private long c; + private int d; + private ba e = ba.a(); + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_ac_lock_status_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, null); + return; + } + Object localObject = s.d(paramJSONObject.getString("data")); + if (localObject != null) + { + localObject = new JSONObject(new String((byte[])localObject)); + i = ((JSONObject)localObject).getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + long l = ((JSONObject)localObject).getLong("uin"); + if (l != this.c) + { + this.a.a(10000, "uin not match=" + l + ":" + this.c, null); + return; + } + localObject = ((JSONObject)localObject).getJSONArray("result"); + if (!this.e.a((JSONArray)localObject)) + { + this.a.a(10000, "update conf list failed:" + ((JSONArray)localObject).toString(), null); + return; + } + g.a("account_lock", new String(paramJSONObject.toString())); + this.e.b.f = true; + this.e.b.g = false; + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + localObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/de.java b/com.tencent.token/classes.jar/com/tencent/token/de.java new file mode 100755 index 00000000000..41de370d1c0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/de.java @@ -0,0 +1,56 @@ +package com.tencent.token; + +import android.graphics.Bitmap; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.CommonImgResult; +import com.tencent.token.global.d; +import java.util.HashMap; +import org.json.JSONObject; + +public final class de + extends bm +{ + private String c; + private CommonImgResult d; + + protected final String a() + { + return this.c; + } + + protected final void a(fs paramfs) + { + this.c = ((String)paramfs.c.get("param.common.img.url")); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = (Bitmap)paramJSONObject.get("img"); + if ((paramJSONObject == null) || (paramJSONObject.getWidth() == 0) || (paramJSONObject.getHeight() == 0)) + { + this.a.a(104, null, null); + return; + } + this.a.a = 0; + this.d = new CommonImgResult(this.c, paramJSONObject); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.de + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/df.java b/com.tencent.token/classes.jar/com/tencent/token/df.java new file mode 100755 index 00000000000..193e979c886 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/df.java @@ -0,0 +1,139 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class df + extends bm +{ + private int c; + private int d; + private int e; + private ConfigResult f; + private int g; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + int i = af.a + 1; + af.a = i; + this.g = i; + ((JSONObject)localObject2).put("seq_id", this.g); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject2).put("mobile_brand", Build.BRAND); + ((JSONObject)localObject2).put("mobile_model", Build.MODEL); + ((JSONObject)localObject2).put("mobile_sys_version", Build.VERSION.RELEASE); + ((JSONObject)localObject2).put("screen_width", this.c); + ((JSONObject)localObject2).put("screen_height", this.d); + ((JSONObject)localObject2).put("screen_dpi", this.e); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_config_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Integer)paramfs.c.get("param.config.width")).intValue(); + this.d = ((Integer)paramfs.c.get("param.config.height")).intValue(); + this.e = ((Integer)paramfs.c.get("param.config.dpi")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) { + a(i, paramJSONObject.getString("info")); + } + do + { + return; + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject == null) { + break; + } + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("parseJSON decodeData=" + paramJSONObject.toString()); + i = paramJSONObject.getInt("seq_id"); + if (i != this.g) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.f = new ConfigResult(paramJSONObject); + this.a.a = 0; + t.c(this.f); + } while (TextUtils.isEmpty(this.f.schemaKey)); + try + { + paramJSONObject = new String(s.d(this.f.schemaKey)); + e.b("schemaKey=" + this.f.schemaKey + " save as=" + paramJSONObject); + t.a(paramJSONObject, this.f.schemaTimeout); + return; + } + catch (Exception paramJSONObject) + { + e.b("decode schemakey failed! schemaKey=" + this.f.schemaKey + " key=" + ap.a(ax.a().c())); + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.f; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.df + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dg.java b/com.tencent.token/classes.jar/com/tencent/token/dg.java new file mode 100755 index 00000000000..7582510b4fe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dg.java @@ -0,0 +1,154 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dg + extends bm +{ + private long c; + private int d; + private int e; + private int f; + private int g; + private String h; + private String i; + private String j; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c;; str = null) + { + e.c("sessId=" + str); + if (str != null) { + break; + } + this.a.a(104, null, null); + return null; + } + Object localObject1 = ""; + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("id", this.d); + ((JSONObject)localObject2).put("guid", this.h); + ((JSONObject)localObject2).put("appid", this.e); + ((JSONObject)localObject2).put("subappid", this.f); + ((JSONObject)localObject2).put("appname", this.i); + ((JSONObject)localObject2).put("A2", this.j); + ((JSONObject)localObject2).put("seq_id", this.g); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + localObject2 = s.b(((JSONObject)localObject2).toString().getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&data=" + (String)localObject1; + str = b.c() + "/cn/mbtoken3/mbtoken3_get_device_lock_status_v2" + str; + e.c("get device lock status url =" + str); + return str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Integer)paramfs.c.get("param.device.lock.id")).intValue(); + this.h = ((String)paramfs.c.get("param.device.lock.guid")); + this.e = ((Integer)paramfs.c.get("param.device.lock.appid")).intValue(); + this.f = ((Integer)paramfs.c.get("param.device.lock.subappid")).intValue(); + this.i = ((String)paramfs.c.get("param.device.lock.appname")); + this.j = ((String)paramfs.c.get("param.wtlogin.a2")); + this.g = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int k = 0; + paramJSONObject = s.d(paramJSONObject.getString("data")); + int n; + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + int m = paramJSONObject.getInt("seq_id"); + if (m != this.g) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(m).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + m = paramJSONObject.getInt("err"); + n = paramJSONObject.getInt("id"); + if (m != 0) + { + a(m, paramJSONObject.getString("info")); + return; + } + } + for (;;) + { + try + { + paramJSONObject = paramJSONObject.getJSONArray("result"); + if (n == 70) + { + ba.a().c(paramJSONObject); + this.a.a = 0; + return; + } + } + catch (JSONException paramJSONObject) + { + a(201, RqdApplication.i().getString(2131362290)); + paramJSONObject.printStackTrace(); + return; + } + if (n == 71) { + ba.a().d(paramJSONObject); + } else if ((n == 80) && (paramJSONObject != null) && (paramJSONObject.length() > 0)) { + while (k < paramJSONObject.length()) + { + JSONObject localJSONObject = paramJSONObject.getJSONObject(k); + if (localJSONObject.getInt("id") == 71) + { + ba.a().a(localJSONObject); + } + else + { + localJSONObject.getInt("id"); + break label308; + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + return; + } + label308: + k += 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dh.java b/com.tencent.token/classes.jar/com/tencent/token/dh.java new file mode 100755 index 00000000000..d53cada62f8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dh.java @@ -0,0 +1,82 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class dh + extends bm +{ + private long c; + private String d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_get_domain" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("domain name:" + paramJSONObject); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("domain_list"); + if (paramJSONObject.length() > 0) { + this.d = paramJSONObject.getString(0); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/di.java b/com.tencent.token/classes.jar/com/tencent/token/di.java new file mode 100755 index 00000000000..387a5c07fbc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/di.java @@ -0,0 +1,141 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class di + extends bm +{ + private long c; + private byte d; + private final String e = "/cn/mbtoken3/mbtoken3_get_dual_msg_list_v2"; + private int f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (Object localObject1 = ax.c; localObject1 == null; localObject1 = null) + { + this.a.a(104, null, null); + return null; + } + localObject1 = ax.a(); + int i; + if (this.c > 0L) + { + i = 0; + while (i < ((ax)localObject1).d()) + { + QQUser localQQUser = ((ax)localObject1).a(i); + e.c("getdualmsglist: hash=" + this.c + ", uin=" + localQQUser.mUin + ", real=" + localQQUser.mRealUin + ", bind=" + localQQUser.mIsBinded); + if ((localQQUser.mIsBinded) && (localQQUser.mUin == this.c)) { + break; + } + if ((!localQQUser.mIsBinded) && (s.f(localQQUser.mRealUin) == this.c)) + { + this.a.a(10029, null, null); + return null; + } + i += 1; + } + if (i == ((ax)localObject1).d()) + { + this.a.a(110, null, null); + return null; + } + } + long l = ((ax)localObject1).f(); + if ((((ax)localObject1).e() == null) || (l == 0L)) + { + this.a.a(110, null, null); + return null; + } + if (((ax)localObject1).e().mIsBinded) { + l = ((ax)localObject1).e().mUin; + } + try + { + localObject1 = new JSONObject(); + ((JSONObject)localObject1).put("uin", l); + i = af.a + 1; + af.a = i; + this.f = i; + ((JSONObject)localObject1).put("seq_id", this.f); + ((JSONObject)localObject1).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject1).put("tkn_seq", ag.c().j().replaceAll("-", "")); + ((JSONObject)localObject1).put("source", this.d); + localObject1 = ((JSONObject)localObject1).toString(); + e.a("plain:" + (String)localObject1); + localObject1 = s.b(((String)localObject1).getBytes()); + localObject1 = "?aq_base_sid=" + ax.g() + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_dual_msg_list_v2" + (String)localObject1; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + Object localObject2 = null; + } + } + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Byte)paramfs.c.get("param.msg.source")).byteValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.f) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("msgs"); + if (!av.a().a(paramJSONObject, this.c)) + { + this.a.a(10000, "update conf list failed:" + paramJSONObject.toString(), null); + return; + } + ax.a().m(); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.di + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dj.java b/com.tencent.token/classes.jar/com/tencent/token/dj.java new file mode 100755 index 00000000000..59f0dd03a29 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dj.java @@ -0,0 +1,119 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dj + extends bm +{ + EvalAccountResult c; + private long d; + private int e; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c;; str = null) + { + e.c("account page generateUrl sessId =" + str); + if (str != null) { + break; + } + this.a.a(104, null, null); + e.c("account page generateUrl sessId =" + str); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.d); + int i = af.a + 1; + af.a = i; + this.e = i; + ((JSONObject)localObject2).put("seq_id", this.e); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + str = b.c() + "/cn/mbtoken3/mbtoken3_eval_account_v3" + str; + e.c("account page generateUrl url =" + str); + return str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + e.c("account page ProtoGetEvalAccountResult unpacketParams: user =" + this.d); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.e) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.c = new EvalAccountResult(paramJSONObject.getJSONObject("result"), paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dk.java b/com.tencent.token/classes.jar/com/tencent/token/dk.java new file mode 100755 index 00000000000..779e6c7083a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dk.java @@ -0,0 +1,112 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.global.g; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dk + extends bm +{ + private long c; + private int d; + private ba e = ba.a(); + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_game_lock_status_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, null); + return; + } + Object localObject = s.d(paramJSONObject.getString("data")); + if (localObject != null) + { + localObject = new JSONObject(new String((byte[])localObject)); + i = ((JSONObject)localObject).getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + long l = ((JSONObject)localObject).getLong("uin"); + if (l != this.c) + { + this.a.a(10000, "uin not match=" + l + ":" + this.c, null); + return; + } + localObject = ((JSONObject)localObject).getJSONArray("result"); + if (!this.e.b((JSONArray)localObject)) + { + this.a.a(10000, "update conf list failed:" + ((JSONArray)localObject).toString(), null); + return; + } + g.a("game_lock", new String(paramJSONObject.toString())); + this.e.c.e = true; + this.e.c.f = false; + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + localObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dl.java b/com.tencent.token/classes.jar/com/tencent/token/dl.java new file mode 100755 index 00000000000..6c556449bc4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dl.java @@ -0,0 +1,91 @@ +package com.tencent.token; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class dl + extends bm +{ + private long c; + private Bundle d; + private int e; + private int f; + private int g; + private String h; + private String i; + private long j; + private long k; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&role_id=" + this.e + "&role_name=" + URLEncoder.encode(this.h) + "&area_id=" + this.f + "&world_id=" + this.g + "&world_name=" + URLEncoder.encode(this.i) + "&last_login_time=" + this.j / 1000L + "&stolen_time=" + this.k / 1000L; + str = b.c() + "/cn/mbtoken3/mbtoken3_jl_appeal" + str; + e.b(str); + return str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Integer)paramfs.c.get("param.jl_roleid")).intValue(); + this.h = ((String)paramfs.c.get("param.jl_rolename")); + this.f = ((Integer)paramfs.c.get("param.jl_zoneid")).intValue(); + this.g = ((Integer)paramfs.c.get("param.jl_serverid")).intValue(); + this.i = ((String)paramfs.c.get("param.jl_servername")); + this.j = ((Long)paramfs.c.get("param.jl_lastlogintime")).longValue(); + this.k = ((Long)paramfs.c.get("param.jl_stealtime")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int m = paramJSONObject.getInt("err"); + if (m != 0) + { + a(m, paramJSONObject.getString("info")); + return; + } + this.d = new Bundle(); + m = paramJSONObject.getInt("result"); + String str = paramJSONObject.getString("title"); + paramJSONObject = paramJSONObject.getString("desc"); + e.b("submit return result" + m + ",title =" + str + ",desc =" + paramJSONObject); + this.d.putInt("result", m); + this.d.putString("title", str); + this.d.putString("desc", paramJSONObject); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dm.java b/com.tencent.token/classes.jar/com/tencent/token/dm.java new file mode 100755 index 00000000000..ac5b02c6201 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dm.java @@ -0,0 +1,75 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.JLAppealInfo; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.ArrayList; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class dm + extends bm +{ + public ArrayList c = new ArrayList(); + private long d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.d + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_query_jl_appeal_list" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("appeal_list"); + i = 0; + while (i < paramJSONObject.length()) + { + JLAppealInfo localJLAppealInfo = new JLAppealInfo(paramJSONObject.getJSONObject(i)); + this.c.add(localJLAppealInfo); + i += 1; + } + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dn.java b/com.tencent.token/classes.jar/com/tencent/token/dn.java new file mode 100755 index 00000000000..8bb23ef4c7c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dn.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import org.json.JSONObject; + +public final class dn + extends bm +{ + protected final String a() + { + return null; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/do.java b/com.tencent.token/classes.jar/com/tencent/token/do.java new file mode 100755 index 00000000000..873d1cdbd14 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/do.java @@ -0,0 +1,75 @@ +package com.tencent.token; + +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.JLProtectionInfo; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class do + extends bm +{ + JLProtectionInfo c; + private long d; + private int e; + private int f; + private int g; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.d + "&aq_base_sid=" + str + "&mobile_brand=" + URLEncoder.encode(Build.BRAND) + "&mobile_model=" + URLEncoder.encode(Build.MODEL) + "&mobile_sys_version=" + URLEncoder.encode(Build.VERSION.RELEASE) + "&screen_width=" + this.e + "&screen_height=" + this.f + "&screen_dpi=" + this.g; + return b.c() + "/cn/mbtoken3/mbtoken3_query_jl_protection_info" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Integer)paramfs.c.get("param.config.width")).intValue(); + this.f = ((Integer)paramfs.c.get("param.config.height")).intValue(); + this.g = ((Integer)paramfs.c.get("param.config.dpi")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.c = new JLProtectionInfo(paramJSONObject); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.do + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dp.java b/com.tencent.token/classes.jar/com/tencent/token/dp.java new file mode 100755 index 00000000000..5654d1c2678 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dp.java @@ -0,0 +1,77 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.JLRoleInfo; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.ArrayList; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class dp + extends bm +{ + ArrayList c = new ArrayList(); + private long d; + private int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.d + "&world_id=" + this.e + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_query_jl_role_list" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Integer)paramfs.c.get("param.jl_worldid")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("role_list"); + i = 0; + while (i < paramJSONObject.length()) + { + JLRoleInfo localJLRoleInfo = new JLRoleInfo(paramJSONObject.getJSONObject(i)); + this.c.add(localJLRoleInfo); + i += 1; + } + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dq.java b/com.tencent.token/classes.jar/com/tencent/token/dq.java new file mode 100755 index 00000000000..dd52a544c8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dq.java @@ -0,0 +1,87 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.JLZone; +import com.tencent.token.core.bean.JLZone.JLZoneServer; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class dq + extends bm +{ + private ArrayList c = new ArrayList(); + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_query_jl_zone_list" + str; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("zone_list"); + i = 0; + while (i < paramJSONObject.length()) + { + int k = paramJSONObject.getJSONObject(i).getInt("area_id"); + String str1 = paramJSONObject.getJSONObject(i).getString("area_name"); + ArrayList localArrayList = new ArrayList(); + JSONArray localJSONArray = paramJSONObject.getJSONObject(i).getJSONArray("world_list"); + JLZone localJLZone = new JLZone(); + int j = 0; + while (j < localJSONArray.length()) + { + int m = localJSONArray.getJSONObject(j).getInt("world_id"); + String str2 = localJSONArray.getJSONObject(j).getString("world_name"); + localJLZone.getClass(); + localArrayList.add(new JLZone.JLZoneServer(localJLZone, str2, m)); + j += 1; + } + localJLZone.name = str1; + localJLZone.id = k; + localJLZone.serverList = localArrayList; + this.c.add(localJLZone); + i += 1; + } + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dr.java b/com.tencent.token/classes.jar/com/tencent/token/dr.java new file mode 100755 index 00000000000..fb3ac5b65a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dr.java @@ -0,0 +1,107 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.LoginProtectResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dr + extends bm +{ + private long c; + private LoginProtectResult d; + private String e; + private int f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject1 = ""; + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("A2", this.e); + ((JSONObject)localObject2).put("seq_id", this.f); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + localObject2 = s.b(((JSONObject)localObject2).toString().getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_login_prot" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((String)paramfs.c.get("param.wtlogin.a2")); + this.f = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("login protect: " + paramJSONObject); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + if (paramJSONObject.getInt("seq_id") != this.f) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + paramJSONObject.getInt("seq_id") + ",right = " + this.f); + return; + } + this.d = new LoginProtectResult(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ds.java b/com.tencent.token/classes.jar/com/tencent/token/ds.java new file mode 100755 index 00000000000..ea618b3a9ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ds.java @@ -0,0 +1,67 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ds + extends bm +{ + MbInfoResult c; + private long d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.d + "&aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_get_mbinfo" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.c = new MbInfoResult(paramJSONObject); + fn.a().a(this.c); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ds + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dt.java b/com.tencent.token/classes.jar/com/tencent/token/dt.java new file mode 100755 index 00000000000..2ea50a1fc9b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dt.java @@ -0,0 +1,100 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dt + extends bm +{ + private long c; + private String d = ""; + private int e; + private String f; + private String g; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = new JSONObject(); + try + { + ((JSONObject)localObject).put("new_mobile", this.f); + ((JSONObject)localObject).put("op_type", this.e); + ((JSONObject)localObject).put("area_code", this.g); + localObject = s.b(((JSONObject)localObject).toString().getBytes()); + if (localObject == null) + { + this.a.a(10000, null, null); + return null; + } + } + catch (JSONException localJSONException) + { + localJSONException.printStackTrace(); + this.a.a(10000, null, null); + return null; + } + finally + { + if (s.b(((JSONObject)localObject).toString().getBytes()) == null) + { + this.a.a(10000, null, null); + return null; + } + } + String str3 = "?uin=" + this.c + "&aq_base_sid=" + str2 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_mbop_get_mobile_code" + str3; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Integer)paramfs.c.get("param.mbmobile.getcode")).intValue(); + this.f = ((String)paramfs.c.get("param.mbmobile.mobile")); + this.g = ((String)paramfs.c.get("param.mbmoible.areacode")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.d = paramJSONObject.getString("sms_prefix"); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/du.java b/com.tencent.token/classes.jar/com/tencent/token/du.java new file mode 100755 index 00000000000..23699f191c3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/du.java @@ -0,0 +1,200 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.AbnormalLoginMsgResult; +import com.tencent.token.core.bean.OnlineDeviceResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class du + extends bm +{ + bb c = bb.a(); + bd d = bd.a(); + private long e; + private int f; + private int g; + private int h; + private int i; + private Object j; + private String k; + private int l; + private int m; + private String n; + private String o; + private int p; + + public static void a(fs paramfs, long paramLong, int paramInt1, int paramInt2, int paramInt3) + { + paramfs.c.put("param.uinhash", Long.valueOf(paramLong)); + paramfs.c.put("param.msg.source", Integer.valueOf(paramInt1)); + paramfs.c.put("param.msg.type", Integer.valueOf(paramInt2)); + paramfs.c.put("param.msg.num", Integer.valueOf(40)); + paramfs.c.put("param.msg.filter", Integer.valueOf(paramInt3)); + } + + protected final String a() + { + long l1 = ag.c().r(); + long l2 = System.currentTimeMillis(); + if (l1 > l2) + { + l2 = l1 / 1000L + 300L; + ae.a(); + if (!ax.a().p()) { + break label76; + } + ax.a(); + } + label76: + for (String str = ax.c;; str = null) + { + if (str != null) { + break label82; + } + this.a.a(104, null, null); + return null; + l1 = l2; + break; + } + label82: + l1 = 0L; + if (this.i != 1) { + l1 = t.a(this.h, this.e); + } + try + { + localObject1 = new JSONObject(); + ((JSONObject)localObject1).put("uin", this.e); + int i1 = af.a + 1; + af.a = i1; + this.p = i1; + ((JSONObject)localObject1).put("seq_id", this.p); + ((JSONObject)localObject1).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject1).put("msg_type", this.h); + ((JSONObject)localObject1).put("req_msg_num", this.g); + ((JSONObject)localObject1).put("start_time", l1); + ((JSONObject)localObject1).put("end_time", l2); + ((JSONObject)localObject1).put("source", l2); + ((JSONObject)localObject1).put("end_time", l2); + ((JSONObject)localObject1).put("source", this.f); + ((JSONObject)localObject1).put("filter_type", this.i); + ((JSONObject)localObject1).put("filter_type", this.i); + if ((this.i == 0) && (this.h == 1)) + { + ((JSONObject)localObject1).put("guid", this.k); + ((JSONObject)localObject1).put("appid", this.l); + ((JSONObject)localObject1).put("subappid", this.m); + ((JSONObject)localObject1).put("appname", this.n); + ((JSONObject)localObject1).put("A2", this.o); + } + localObject1 = ((JSONObject)localObject1).toString(); + e.a("plain:" + (String)localObject1); + localObject1 = s.b(((String)localObject1).getBytes()); + } + catch (JSONException localJSONException) + { + for (;;) + { + Object localObject1; + e.c("JSONException:" + localJSONException.getMessage()); + Object localObject2 = null; + } + } + str = "?aq_base_sid=" + str + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_message_v2" + str; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.f = ((Integer)paramfs.c.get("param.msg.source")).intValue(); + this.g = ((Integer)paramfs.c.get("param.msg.num")).intValue(); + this.h = ((Integer)paramfs.c.get("param.msg.type")).intValue(); + this.i = ((Integer)paramfs.c.get("param.msg.filter")).intValue(); + if ((this.i == 0) && (this.h == 1)) + { + this.k = ((String)paramfs.c.get("param.device.lock.guid")); + this.l = ((Integer)paramfs.c.get("param.device.lock.appid")).intValue(); + this.m = ((Integer)paramfs.c.get("param.device.lock.subappid")).intValue(); + this.n = ((String)paramfs.c.get("param.device.lock.appname")); + this.o = ((String)paramfs.c.get("param.skey")); + } + } + + protected final void a(JSONObject paramJSONObject) + { + int i1 = paramJSONObject.getInt("err"); + if (i1 != 0) + { + a(i1, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i1 = paramJSONObject.getInt("seq_id"); + if (i1 != this.p) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i1 + ",right = " + this.p); + return; + } + long l1 = paramJSONObject.getLong("uin"); + if (l1 != this.e) + { + this.a.a(10000, "uin not match=" + l1 + ":" + this.e, null); + return; + } + if (this.h == 1) + { + this.c.a(this.e); + if (this.i == 1) + { + this.j = new AbnormalLoginMsgResult(paramJSONObject); + this.a.a = 0; + return; + } + this.c.b = null; + if (paramJSONObject.has("devs")) { + this.c.b = new OnlineDeviceResult(paramJSONObject.getJSONArray("devs")); + } + this.a = this.c.f.a(paramJSONObject, l1, this.h); + return; + } + this.d.a(this.e); + this.a = this.d.f.a(paramJSONObject, l1, this.h); + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.j; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.du + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dv.java b/com.tencent.token/classes.jar/com/tencent/token/dv.java new file mode 100755 index 00000000000..973c81f12a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dv.java @@ -0,0 +1,65 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.util.HashMap; +import org.json.JSONObject; + +public final class dv + extends bm +{ + private long c; + private String d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?aq_base_sid=" + str + "&uin=" + this.c; + return b.c() + "/cn/mbtoken3/mbtoken3_get_ads_info" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, null); + return; + } + this.d = paramJSONObject.getString("ads_info"); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dw.java b/com.tencent.token/classes.jar/com/tencent/token/dw.java new file mode 100755 index 00000000000..04df3d2c574 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dw.java @@ -0,0 +1,107 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dw + extends bm +{ + private long c; + private String d; + private int e; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.e = i; + ((JSONObject)localObject2).put("seq_id", this.e); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_photo_v3" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + if (paramJSONObject.getInt("err") != 0) + { + this.d = null; + return; + } + byte[] arrayOfByte = s.d(paramJSONObject.getString("data")); + if (arrayOfByte != null) + { + int i = new JSONObject(new String(arrayOfByte)).getInt("seq_id"); + if (i != this.e) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.d = paramJSONObject.getString("photo_url"); + return; + } + e.c("parseJSON error decodeData=" + arrayOfByte); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dx.java b/com.tencent.token/classes.jar/com/tencent/token/dx.java new file mode 100755 index 00000000000..310cfe89ce8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dx.java @@ -0,0 +1,97 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class dx + extends bm +{ + RealNameStatusResult c; + private long d; + private long e; + private int f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = ag.c(); + ((ag)localObject).m(); + localObject = ((ag)localObject).j().replaceAll("-", ""); + if ((this.e == 0L) && (ax.a().e() != null)) { + this.e = ax.a().e().mRealUin; + } + localObject = s.a(new Object[] { "real_uin", Long.valueOf(this.e), "token_seq", localObject, "guid", s.a(x.a(RqdApplication.i()).c()), "seq_id", Integer.valueOf(this.f), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str = "?uin=" + this.d + "&aq_base_sid=" + str + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_realname_status_v2" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.e = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.f) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.f); + return; + } + this.c = new RealNameStatusResult(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dy.java b/com.tencent.token/classes.jar/com/tencent/token/dy.java new file mode 100755 index 00000000000..930d5b781d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dy.java @@ -0,0 +1,73 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class dy + extends bm +{ + public static String c; + public static int d; + private long e; + private long f; + private int g; + private int h; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.f), "seq_id", Integer.valueOf(this.g), "op_time", Long.valueOf(ag.c().r() / 1000L), "scene_id", Integer.valueOf(this.h) }); + str1 = "?uin=" + this.e + "&aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_realname_lip" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.f = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.h = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + this.g = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i == 0) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + c = paramJSONObject.getString("validate_code"); + d = paramJSONObject.getInt("validate_id"); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + return; + } + a(i, paramJSONObject.getString("info")); + e.a("ProtoGetRealNameVerify fail errCode=" + i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/dz.java b/com.tencent.token/classes.jar/com/tencent/token/dz.java new file mode 100755 index 00000000000..25f3afd26b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/dz.java @@ -0,0 +1,104 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class dz + extends bm +{ + private long c; + private int d; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_query_real_uin_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + this.a.a = 0; + QQUser localQQUser = ax.a().c(this.c); + if (localQQUser == null) + { + this.a.a(10000, null, null); + return; + } + localQQUser.mRealUin = paramJSONObject.getLong("real_uin"); + localQQUser.mMobileMask = paramJSONObject.getString("mobile"); + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.dz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/e.java b/com.tencent.token/classes.jar/com/tencent/token/e.java new file mode 100755 index 00000000000..a4f6f1317fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/e.java @@ -0,0 +1,87 @@ +package com.tencent.token; + +import java.io.UnsupportedEncodingException; + +public class e +{ + static + { + if (!e.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + a = bool; + return; + } + } + + public static String a(byte[] paramArrayOfByte) + { + int j; + int i; + int m; + label169: + for (;;) + { + int k; + g localg; + try + { + k = paramArrayOfByte.length; + localg = new g(); + j = k / 3 * 4; + if (!localg.d) { + break label120; + } + i = j; + if (k % 3 > 0) { + i = j + 4; + } + if ((!localg.e) || (k <= 0)) { + break label169; + } + m = (k - 1) / 57; + if (!localg.f) { + break; + } + j = 2; + } + catch (UnsupportedEncodingException paramArrayOfByte) + { + label71: + throw new AssertionError(paramArrayOfByte); + } + localg.a = new byte[i]; + localg.a(paramArrayOfByte, k); + if ((!a) && (localg.b != i)) + { + throw new AssertionError(); + label120: + i = j; + } + switch (k % 3) + { + case 0: + paramArrayOfByte = new String(localg.a, "US-ASCII"); + return paramArrayOfByte; + } + } + for (;;) + { + i = j * (m + 1) + i; + break label71; + i = j; + break; + i = j + 2; + break; + i = j + 3; + break; + j = 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ea.java b/com.tencent.token/classes.jar/com/tencent/token/ea.java new file mode 100755 index 00000000000..93f00e33d3a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ea.java @@ -0,0 +1,98 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ea + extends bm +{ + public static String c; + public static String d; + private long e; + private String f; + private int g; + private int h; + private String i; + private int j; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "seq_id", Integer.valueOf(this.j), "op_time", Long.valueOf(ag.c().r() / 1000L), "uin", Long.valueOf(this.e), "mobile", this.f, "area_code", this.i, "scene", Integer.valueOf(this.h), "is_mb_mobile", Integer.valueOf(this.g) }); + if (str2 == null) + { + this.a.a(10000, "encrypt data failed", null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_get_sms_port_v2" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((String)paramfs.c.get("param.mbmobile.mobile")); + this.g = ((Integer)paramfs.c.get("param.mbmoible.ismobile")).intValue(); + this.h = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + this.i = ((String)paramfs.c.get("param.mbmoible.areacode")); + this.j = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int k = paramJSONObject.getInt("err"); + if (k != 0) + { + a(k, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("ProtoGetSMSChannel result =" + paramJSONObject); + k = paramJSONObject.getInt("seq_id"); + if (k != this.j) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + k + ",right = " + this.j); + return; + } + c = paramJSONObject.getString("sms_port"); + } + try + { + d = paramJSONObject.getString("sms_up_code"); + label155: + this.a.a = 0; + return; + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + return; + } + catch (Exception paramJSONObject) + { + break label155; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ea + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eb.java b/com.tencent.token/classes.jar/com/tencent/token/eb.java new file mode 100755 index 00000000000..9710ae302aa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eb.java @@ -0,0 +1,103 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class eb + extends bm +{ + private long c; + private int d; + private ba e = ba.a(); + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.d = i; + ((JSONObject)localObject2).put("seq_id", this.d); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_get_safe_protection_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, null); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + long l = paramJSONObject.getLong("uin"); + if (l != this.c) + { + this.a.a(10000, "uin not match=" + l + ":" + this.c, null); + return; + } + paramJSONObject = paramJSONObject.getJSONArray("result"); + this.e.e(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ec.java b/com.tencent.token/classes.jar/com/tencent/token/ec.java new file mode 100755 index 00000000000..188f919bdfe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ec.java @@ -0,0 +1,111 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import com.tencent.token.core.bean.ScanDataResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ec + extends bm +{ + ScanDataResult c; + private long d; + private long e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject1 = ""; + try + { + Object localObject2 = new JSONObject(); + if (this.d != 0L) { + ((JSONObject)localObject2).put("real_uin", this.d); + } + ((JSONObject)localObject2).put("seq_id", this.e); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + String str2 = s.c(RqdApplication.i()); + if (!TextUtils.isEmpty(str2)) { + ((JSONObject)localObject2).put("mac", str2); + } + str2 = s.b(RqdApplication.i()); + if (!TextUtils.isEmpty(str2)) { + ((JSONObject)localObject2).put("imei", str2); + } + ((JSONObject)localObject2).put("sys_ver", URLEncoder.encode(Build.VERSION.RELEASE)); + ((JSONObject)localObject2).put("model", URLEncoder.encode(Build.MODEL)); + localObject2 = s.b(((JSONObject)localObject2).toString().getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + str1 = "?aq_base_sid=" + str1 + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_detector_info" + str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.e = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + this.c = new ScanDataResult(new JSONObject(new String(paramJSONObject))); + this.a.a = 0; + return; + } + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ec + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ed.java b/com.tencent.token/classes.jar/com/tencent/token/ed.java new file mode 100755 index 00000000000..1b18dc04094 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ed.java @@ -0,0 +1,45 @@ +package com.tencent.token; + +import android.graphics.Bitmap; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.global.d; +import com.tencent.token.utils.t; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ed + extends bm +{ + private ConfigResult c; + + protected final String a() + { + if (this.c == null) { + return null; + } + return this.c.mStartUpImgUrl; + } + + protected final void a(fs paramfs) + { + this.c = ((ConfigResult)paramfs.c.get("param.startup.img.result")); + } + + protected final void a(JSONObject paramJSONObject) + { + this.c.mStartUpImg = ((Bitmap)paramJSONObject.get("startup_img")); + if ((this.c.mStartUpImg == null) || (this.c.mStartUpImg.getWidth() == 0) || (this.c.mStartUpImg.getHeight() == 0)) + { + this.a.a(10000, null, null); + return; + } + this.a.a = 0; + t.a(this.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ed + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ee.java b/com.tencent.token/classes.jar/com/tencent/token/ee.java new file mode 100755 index 00000000000..fc14e20ed2d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ee.java @@ -0,0 +1,91 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.io.Serializable; +import org.json.JSONObject; + +public final class ee + extends bm +{ + private String c; + + public final ft a(Serializable paramSerializable) + { + ft localft = new ft(); + localft.a = paramSerializable; + return localft; + } + + public final Serializable a(ft paramft) + { + return (String)paramft.a; + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_get_key_value_conf" + str; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + ft localft = new ft(); + localft.a = paramJSONObject.toString(); + RqdApplication.h().a(this, localft); + this.c = paramJSONObject.getJSONObject("data").toString(); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } + + public final ft c() + { + fe localfe = RqdApplication.h().a(this); + if (localfe == null) { + return null; + } + return localfe.b; + } + + public final String d() + { + return getClass().toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ee + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ef.java b/com.tencent.token/classes.jar/com/tencent/token/ef.java new file mode 100755 index 00000000000..cd06f9effe4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ef.java @@ -0,0 +1,76 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import org.json.JSONObject; + +public final class ef + extends bm +{ + ag c = ag.c(); + ax d = ax.a(); + + protected final String a() + { + this.c.m(); + String str1 = this.c.o(); + String str2 = ax.a(this.c.k(), str1); + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_get_uin_list_v2" + str1; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + this.a.a(i, "server errcode=" + i + ":" + paramJSONObject, paramJSONObject); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.c("parseJSON =" + paramJSONObject.toString()); + paramJSONObject = this.d.a(paramJSONObject.getJSONArray("uinlist")); + if (paramJSONObject.a == 0) {} + for (i = 1; i != 0; i = 0) + { + this.d.k = true; + if (this.d.m != 0L) + { + this.d.b(this.d.m); + this.d.m = 0L; + } + this.a.a = 0; + return; + } + this.a.a(paramJSONObject.a, paramJSONObject.b, paramJSONObject.c); + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ef + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eg.java b/com.tencent.token/classes.jar/com/tencent/token/eg.java new file mode 100755 index 00000000000..61f09859f99 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eg.java @@ -0,0 +1,144 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class eg + extends bm +{ + public byte[] c; + public long d; + public UpgradeDeterminResult e; + private int f; + + protected final String a() + { + e.c("upgrade url: "); + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + e.c("upgrade url: "); + return null; + } + e.c("upgrade url: "); + String str3 = ag.c().j().replaceAll("-", ""); + String str2 = ""; + try + { + JSONObject localJSONObject = new JSONObject(); + localJSONObject.put("seq_id", this.f); + localJSONObject.put("op_time", (int)(ag.c().r() / 1000L)); + localJSONObject.put("tkn_seq", str3); + localJSONObject.put("wtlogin_sig", s.a(this.c)); + localJSONObject.put("wtlogin_type", Integer.toString(2)); + localJSONObject.put("guid", s.a(x.a(RqdApplication.i()).c())); + localJSONObject.put("android_id", s.a(RqdApplication.i())); + localJSONObject.put("mac", s.c(RqdApplication.i())); + localJSONObject.put("device_id", s.b(RqdApplication.i())); + localJSONObject.put("device_name", URLEncoder.encode(Build.MODEL)); + localJSONObject.put("imei", s.b(RqdApplication.i())); + localJSONObject.put("dev_model", URLEncoder.encode(Build.BRAND)); + localJSONObject.put("sys_ver", URLEncoder.encode(Build.VERSION.RELEASE)); + str3 = s.b(localJSONObject.toString().getBytes()); + str2 = str3; + } + catch (Exception localException) + { + for (;;) + { + e.c(localException.getMessage()); + localException.printStackTrace(); + } + this.a.a(10000, null, null); + e.c("upgradeDetermin url data is null "); + } + str1 = "?uin=" + this.d + "&aq_base_sid=" + str1; + if (!TextUtils.isEmpty(str2)) + { + str1 = str1 + "&data=" + str2; + str1 = b.c() + "/cn/mbtoken3/mbtoken3_upgrade_determin_v3" + str1; + e.c("upgrade url: " + str1); + return str1; + } + return null; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.c = ((byte[])paramfs.c.get("param.wtlogin.a2")); + this.f = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + paramJSONObject = paramJSONObject.getString("info"); + e.a("error" + paramJSONObject + ",error code =" + i); + this.a.a(i, paramJSONObject, paramJSONObject); + return; + } + if (paramJSONObject.getInt("seq_id") != this.f) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + paramJSONObject.getInt("seq_id") + ",right = " + this.f); + return; + } + long l = paramJSONObject.getLong("uin"); + if (this.d != l) + { + this.a.a(10000, "uin not match " + this.d + ":" + l, null); + return; + } + this.e = new UpgradeDeterminResult(paramJSONObject); + l = paramJSONObject.getLong("server_time"); + ag.c(); + ag.b(l); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.e; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eh.java b/com.tencent.token/classes.jar/com/tencent/token/eh.java new file mode 100755 index 00000000000..9c574d7b891 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eh.java @@ -0,0 +1,213 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; + +public final class eh + extends bm +{ + private long c; + private String d; + private String e; + private int f; + private int g; + private String h; + private String i; + private int j; + private int k; + private String l; + private String m; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&dguid=" + this.d + "&ddes=" + this.e + "&dappid=" + this.f + "&dsubappid=" + this.g + "&dappname=" + this.h + "&guid=" + this.i + "&appid=" + this.j + "&subappid=" + this.k + "&appname=" + this.l + "&encryptedA2=" + s.b(this.m.getBytes()); + e.c("A2A2:" + this.m); + return b.c() + "/cn/mbtoken3/mbtoken3_kickoff" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((String)paramfs.c.get("param.device.lock.dguid")); + this.e = ((String)paramfs.c.get("param.device.lock.ddes")); + this.f = ((Integer)paramfs.c.get("param.device.lock.dappid")).intValue(); + this.g = ((Integer)paramfs.c.get("param.device.lock.dsubappid")).intValue(); + this.h = ((String)paramfs.c.get("param.device.lock.dappname")); + this.i = ((String)paramfs.c.get("param.device.lock.guid")); + this.j = ((Integer)paramfs.c.get("param.device.lock.appid")).intValue(); + this.k = ((Integer)paramfs.c.get("param.device.lock.subappid")).intValue(); + this.l = ((String)paramfs.c.get("param.device.lock.appname")); + this.m = ((String)paramfs.c.get("param.skey")); + } + + /* Error */ + protected final void a(org.json.JSONObject paramJSONObject) + { + // Byte code: + // 0: aload_1 + // 1: ldc 185 + // 3: invokevirtual 191 org/json/JSONObject:getInt (Ljava/lang/String;)I + // 6: istore_2 + // 7: iload_2 + // 8: ifeq +15 -> 23 + // 11: aload_0 + // 12: iload_2 + // 13: aload_1 + // 14: ldc 193 + // 16: invokevirtual 197 org/json/JSONObject:getString (Ljava/lang/String;)Ljava/lang/String; + // 19: invokevirtual 200 com/tencent/token/eh:a (ILjava/lang/String;)V + // 22: return + // 23: invokestatic 205 com/tencent/token/bb:a ()Lcom/tencent/token/bb; + // 26: getfield 208 com/tencent/token/bb:b Lcom/tencent/token/core/bean/OnlineDeviceResult; + // 29: ifnull +205 -> 234 + // 32: aload_0 + // 33: monitorenter + // 34: invokestatic 205 com/tencent/token/bb:a ()Lcom/tencent/token/bb; + // 37: getfield 208 com/tencent/token/bb:b Lcom/tencent/token/core/bean/OnlineDeviceResult; + // 40: getfield 214 com/tencent/token/core/bean/OnlineDeviceResult:mDevicesList Ljava/util/ArrayList; + // 43: astore_1 + // 44: aload_1 + // 45: ifnull +187 -> 232 + // 48: iconst_0 + // 49: istore_2 + // 50: iload_2 + // 51: aload_1 + // 52: invokevirtual 219 java/util/ArrayList:size ()I + // 55: if_icmpge +177 -> 232 + // 58: aload_1 + // 59: iload_2 + // 60: invokevirtual 222 java/util/ArrayList:get (I)Ljava/lang/Object; + // 63: checkcast 224 com/tencent/token/core/bean/f + // 66: astore_3 + // 67: new 51 java/lang/StringBuilder + // 70: dup + // 71: invokespecial 52 java/lang/StringBuilder: ()V + // 74: ldc 226 + // 76: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 79: aload_3 + // 80: getfield 228 com/tencent/token/core/bean/f:e I + // 83: invokevirtual 80 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 86: ldc 230 + // 88: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 91: aload_0 + // 92: getfield 77 com/tencent/token/eh:f I + // 95: invokevirtual 80 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 98: ldc 232 + // 100: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 103: aload_3 + // 104: getfield 233 com/tencent/token/core/bean/f:f I + // 107: invokevirtual 80 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 110: ldc 230 + // 112: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 115: aload_0 + // 116: getfield 84 com/tencent/token/eh:g I + // 119: invokevirtual 80 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 122: ldc 235 + // 124: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 127: aload_3 + // 128: getfield 237 com/tencent/token/core/bean/f:g Ljava/lang/String; + // 131: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 134: ldc 230 + // 136: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 139: aload_0 + // 140: getfield 88 com/tencent/token/eh:h Ljava/lang/String; + // 143: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 146: ldc 239 + // 148: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 151: aload_3 + // 152: getfield 241 com/tencent/token/core/bean/f:a Ljava/lang/String; + // 155: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 158: ldc 230 + // 160: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 163: aload_0 + // 164: getfield 69 com/tencent/token/eh:d Ljava/lang/String; + // 167: invokevirtual 58 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 170: invokevirtual 123 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 173: invokestatic 243 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 176: aload_3 + // 177: getfield 228 com/tencent/token/core/bean/f:e I + // 180: aload_0 + // 181: getfield 77 com/tencent/token/eh:f I + // 184: if_icmpne +59 -> 243 + // 187: aload_3 + // 188: getfield 233 com/tencent/token/core/bean/f:f I + // 191: aload_0 + // 192: getfield 84 com/tencent/token/eh:g I + // 195: if_icmpne +48 -> 243 + // 198: aload_3 + // 199: getfield 237 com/tencent/token/core/bean/f:g Ljava/lang/String; + // 202: aload_0 + // 203: getfield 88 com/tencent/token/eh:h Ljava/lang/String; + // 206: invokevirtual 247 java/lang/String:equals (Ljava/lang/Object;)Z + // 209: ifeq +34 -> 243 + // 212: aload_3 + // 213: getfield 241 com/tencent/token/core/bean/f:a Ljava/lang/String; + // 216: aload_0 + // 217: getfield 69 com/tencent/token/eh:d Ljava/lang/String; + // 220: invokevirtual 247 java/lang/String:equals (Ljava/lang/Object;)Z + // 223: ifeq +20 -> 243 + // 226: aload_1 + // 227: iload_2 + // 228: invokevirtual 250 java/util/ArrayList:remove (I)Ljava/lang/Object; + // 231: pop + // 232: aload_0 + // 233: monitorexit + // 234: aload_0 + // 235: getfield 44 com/tencent/token/eh:a Lcom/tencent/token/global/d; + // 238: iconst_0 + // 239: putfield 252 com/tencent/token/global/d:a I + // 242: return + // 243: iload_2 + // 244: iconst_1 + // 245: iadd + // 246: istore_2 + // 247: goto -197 -> 50 + // 250: astore_1 + // 251: aload_0 + // 252: monitorexit + // 253: aload_1 + // 254: athrow + // Local variable table: + // start length slot name signature + // 0 255 0 this eh + // 0 255 1 paramJSONObject org.json.JSONObject + // 6 241 2 n int + // 66 147 3 localf com.tencent.token.core.bean.f + // Exception table: + // from to target type + // 34 44 250 finally + // 50 232 250 finally + // 232 234 250 finally + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ei.java b/com.tencent.token/classes.jar/com/tencent/token/ei.java new file mode 100755 index 00000000000..f2b96ad9575 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ei.java @@ -0,0 +1,143 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.res.Resources; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.util.DisplayMetrics; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class ei + extends bm +{ + public static int c; + public static int d; + public static int e; + public static int f = -1; + public static int g = -1; + private long h; + private int i; + private int j; + private int[] k; + + public static void a(fs paramfs, long paramLong, int paramInt) + { + paramfs.c.put("param.realuin", Long.valueOf(paramLong)); + paramfs.c.put("param.scene.id", Integer.valueOf(paramInt)); + } + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + c = 0; + d = 0; + e = 0; + Object localObject = RqdApplication.i().getResources().getDisplayMetrics(); + localObject = s.a(new Object[] { "real_uin", Long.valueOf(this.h), "scene_id", Integer.valueOf(this.i), "mobile_brand", URLEncoder.encode(Build.BRAND), "mobile_model", URLEncoder.encode(Build.MODEL), "mobile_sdk_int", Integer.valueOf(Integer.parseInt(Build.VERSION.SDK)), "mobile_sdk_str", URLEncoder.encode(Build.VERSION.RELEASE), "screen_witdh", Integer.valueOf(((DisplayMetrics)localObject).widthPixels), "screen_height", Integer.valueOf(((DisplayMetrics)localObject).heightPixels), "screen_dpi", Integer.valueOf(((DisplayMetrics)localObject).densityDpi), "cpu_count", Integer.valueOf(t.r()), "cpu_freq", Integer.valueOf(t.s()) }); + str = "?aq_base_sid=" + str + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_live_video_detect" + str; + } + + protected final void a(fs paramfs) + { + this.h = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.i = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int m = paramJSONObject.getInt("err"); + if (m != 0) + { + a(m, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + this.j = paramJSONObject.getInt("need_live_detect"); + if ((this.j == 1) && (paramJSONObject.getJSONArray("actions") != null) && (paramJSONObject.getJSONArray("actions").length() > 0)) + { + int n = paramJSONObject.getJSONArray("actions").length(); + this.k = new int[n]; + m = 0; + while (m < n) + { + this.k[m] = paramJSONObject.getJSONArray("actions").getInt(m); + m += 1; + } + if ((this.i != 2) && (this.i != 1)) { + break label248; + } + if (this.k.length >= 2) + { + c = this.k[0]; + d = this.k[1]; + } + } + try + { + for (;;) + { + f = paramJSONObject.getInt("displayangle"); + g = paramJSONObject.getInt("imageangle"); + e.a("plain angle=" + f + ",angel2=" + g); + this.a.a = 0; + return; + label248: + if (this.k.length > 0) { + e = this.k[0]; + } + } + } + catch (Exception paramJSONObject) + { + for (;;) + { + paramJSONObject.printStackTrace(); + } + } + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.arg2 = this.j; + localMessage.obj = this.k; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ei + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ej.java b/com.tencent.token/classes.jar/com/tencent/token/ej.java new file mode 100755 index 00000000000..3573ae743cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ej.java @@ -0,0 +1,60 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ej + extends bm +{ + public String c; + public long d; + public int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + if (this.e == 0) {} + for (String str2 = s.a(new Object[] { "pwd", this.c, "op_time", Long.valueOf(ag.c().r() / 1000L) }); str2 == null; str2 = s.a(new Object[] { "pwd", this.c, "op_time", Long.valueOf(ag.c().r() / 1000L), "scene_id", Integer.valueOf(this.e) })) + { + this.a.a(10000, "encrypt qqtoken code failed", null); + return null; + } + str1 = "?uin=" + this.d + "&sess_id=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_modify_pwd" + str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.c = ((String)paramfs.c.get("param.qqpwd")); + this.e = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ej + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ek.java b/com.tencent.token/classes.jar/com/tencent/token/ek.java new file mode 100755 index 00000000000..660268982b3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ek.java @@ -0,0 +1,78 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ek + extends bm +{ + private el c; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?aq_base_sid=" + str; + return b.c() + "/cn/mbtoken3/mbtoken3_qry_bind_notify_msg" + str; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.c = new el(this); + this.c.a = paramJSONObject.getInt("is_have_msg"); + if (this.c.a == 1) + { + this.c.b = paramJSONObject.getString("content"); + paramJSONObject = paramJSONObject.getString("data"); + localObject = s.d(paramJSONObject); + if (localObject == null) { + throw new JSONException("dec transdata error"); + } + this.c.c = new JSONObject(new String((byte[])localObject)).getLong("uin"); + e.b("qrybindnotifymsg: havemsg=" + this.c.a + ", content=" + this.c.b + ", uin=" + this.c.c + ", data=" + paramJSONObject + ", descdata=" + new String((byte[])localObject)); + } + paramJSONObject = this.a; + Object localObject = this.c.b; + paramJSONObject.a = 0; + paramJSONObject.c = ((String)localObject); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ek + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/el.java b/com.tencent.token/classes.jar/com/tencent/token/el.java new file mode 100755 index 00000000000..26b7e42fa49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/el.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +public final class el +{ + public int a; + public String b; + public long c; + + public el(ek paramek) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.el + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/em.java b/com.tencent.token/classes.jar/com/tencent/token/em.java new file mode 100755 index 00000000000..8e4936597ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/em.java @@ -0,0 +1,72 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.HashMap; +import org.json.JSONObject; + +public final class em + extends bm +{ + QueryCaptchaResult c; + private long d; + private int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.d + "&aq_base_sid=" + str + "&scenario_id=" + this.e; + e.c("params: " + str); + return b.c() + "/cn/mbtoken3/mbtoken3_query_captcha" + str; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.e = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.c = new QueryCaptchaResult(paramJSONObject); + this.c.mRealUin = this.d; + this.c.mSceneId = this.e; + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.em + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/en.java b/com.tencent.token/classes.jar/com/tencent/token/en.java new file mode 100755 index 00000000000..c0bf11b9fe6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/en.java @@ -0,0 +1,69 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONObject; + +public final class en + extends bm +{ + public String c; + private int d; + private String e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?sess_id=" + str + "&url=" + URLEncoder.encode(this.c); + return b.c() + "/cn/mbtoken3/mbtoken3_query_malicious_url" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((String)paramfs.c.get("param.barcode.url")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.d = paramJSONObject.getInt("malicious_id"); + this.e = paramJSONObject.getString("malicious_desc"); + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.arg2 = this.d; + localMessage.obj = this.e; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.en + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eo.java b/com.tencent.token/classes.jar/com/tencent/token/eo.java new file mode 100755 index 00000000000..387ca5cc772 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eo.java @@ -0,0 +1,92 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class eo + extends bm +{ + RealNameQueryResult c; + private long d; + private int e; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.d), "seq_id", Integer.valueOf(this.e), "op_time", Long.valueOf(ag.c().r() / 1000L) }); + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + str1 = b.c() + "/cn/mbtoken3/mbtoken3_realname_qry" + str1; + e.c("ProtoQueryRealName url: " + str1); + return str1; + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.e = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + e.c("ProtoQueryRealName parseJSON errCode: " + i); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.e) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.e); + return; + } + this.c = new RealNameQueryResult(paramJSONObject); + e.c("result rebind_type: " + this.c.b()); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.c; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ep.java b/com.tencent.token/classes.jar/com/tencent/token/ep.java new file mode 100755 index 00000000000..384a9c5bda6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ep.java @@ -0,0 +1,105 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ep + extends bm +{ + private long c; + private long d; + private int e; + private int f; + private long g; + private Integer h = Integer.valueOf(1); + private final String i = "/cn/mbtoken3/mbtoken3_qry_spec_verify"; + private final String j = "/cn/mbtoken3/mbtoken3_qry_face_verify_on_off"; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.d), "seq_id", Integer.valueOf(this.e), "op_time", Long.valueOf(this.g), "scene_id", Integer.valueOf(this.f) }); + str1 = "?uin=" + this.c + "&aq_base_sid=" + str1 + "&data=" + str2; + if (t.l() == 0) {} + for (str1 = b.c() + "/cn/mbtoken3/mbtoken3_qry_spec_verify" + str1;; str1 = b.c() + "/cn/mbtoken3/mbtoken3_qry_face_verify_on_off" + str1) + { + e.c("query special verify url:" + str1); + return str1; + } + } + + protected final void a(fs paramfs) + { + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((Integer)paramfs.c.get("param.scene_id")).intValue(); + this.g = ((Long)paramfs.c.get("param.op_time")).longValue(); + this.e = paramfs.j; + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + int k = paramJSONObject.getInt("err"); + if (k != 0) + { + a(k, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("mbtoken3_qry_face_verify_on_off ret: " + paramJSONObject); + k = paramJSONObject.getInt("seq_id"); + if (k != this.e) + { + e.c("parseJSON error seq is wrong seq=" + k + ",right = " + this.e); + this.a.a(10030, null, null); + return; + } + if (paramJSONObject.getInt("verify_type") == 0) {} + for (this.h = Integer.valueOf(0);; this.h = Integer.valueOf(1)) + { + this.a.a = 0; + return; + } + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.h; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ep + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eq.java b/com.tencent.token/classes.jar/com/tencent/token/eq.java new file mode 100755 index 00000000000..72ce2be0444 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eq.java @@ -0,0 +1,74 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class eq + extends bm +{ + private long c; + private int d; + private String e; + private long f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "real_uin", Long.valueOf(this.c), "seq_id", Integer.valueOf(this.d), "op_time", Long.valueOf(ag.c().r() / 1000L), "id_number", this.e }); + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_card_check" + str1; + } + + protected final void a(fs paramfs) + { + this.f = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.d = paramfs.j; + this.e = ((String)paramfs.c.get("param.idnumber")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + i = new JSONObject(new String(paramJSONObject)).getInt("seq_id"); + if (i != this.d) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.d); + return; + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/er.java b/com.tencent.token/classes.jar/com/tencent/token/er.java new file mode 100755 index 00000000000..c4b1d4cdbb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/er.java @@ -0,0 +1,223 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import com.tencent.token.core.bean.RealNameRegResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.ct; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class er + extends bm +{ + public static String h; + public static String i; + public long c; + public long d; + public int e; + public String f; + public String g; + private int j; + private byte[] k; + private byte[] l; + private byte[] m; + private byte[] n; + private byte[] o; + private RealNameRegResult p; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + return com.tencent.token.global.b.c() + "/cn/mbtoken3/mbtoken3_realname_reg"; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((String)paramfs.c.get("param.realname")); + this.g = ((String)paramfs.c.get("param.idnumber")); + this.j = ((Integer)paramfs.c.get("param.optype")).intValue(); + this.k = ((byte[])paramfs.c.get("param.facedata")); + this.l = ((byte[])paramfs.c.get("param.frontdata")); + this.m = ((byte[])paramfs.c.get("param.backdata")); + this.n = ((byte[])paramfs.c.get("param.prontphotoinfo")); + this.o = ((byte[])paramfs.c.get("param.backphotoinfo")); + this.e = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i1 = paramJSONObject.getInt("err"); + String str; + if (i1 != 0) + { + str = paramJSONObject.getString("info"); + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject == null) {} + } + try + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + h = paramJSONObject.getString("hint_title"); + i = paramJSONObject.getString("hint_content"); + label66: + a(i1, str); + return; + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.a("ProtoRealNameReg json=" + paramJSONObject); + i1 = paramJSONObject.getInt("seq_id"); + if (i1 != this.e) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i1 + ",right = " + this.e); + return; + } + this.p = new RealNameRegResult(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + return; + } + catch (Exception paramJSONObject) + { + break label66; + } + } + + public final fs b(fs paramfs) + { + int i1 = paramfs.j; + paramfs.m = 1; + paramfs.n = new ContentValues(3); + Object localObject2 = paramfs.n; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (Object localObject1 = ax.c;; localObject1 = null) + { + ((ContentValues)localObject2).put("aq_base_sid", (String)localObject1); + paramfs.n.put("uin", Long.valueOf(this.c)); + localObject1 = new JSONObject(); + try + { + ((JSONObject)localObject1).put("real_uin", this.d); + ((JSONObject)localObject1).put("realname", this.f); + ((JSONObject)localObject1).put("id_number", this.g); + ((JSONObject)localObject1).put("op_type", this.j); + e.a("doRealNameReg common_data=" + ((JSONObject)localObject1).toString()); + if (this.k != null) + { + localObject2 = com.tencent.token.utils.b.a(this.k); + ((JSONObject)localObject1).put("face_data", localObject2); + e.a("doRealNameReg face_data=" + ((String)localObject2).length()); + } + if (this.l != null) + { + localObject2 = com.tencent.token.utils.b.a(this.l); + ((JSONObject)localObject1).put("id_photo_front", localObject2); + e.a("doRealNameReg front_data=" + ((String)localObject2).length()); + } + if (this.m != null) + { + localObject2 = com.tencent.token.utils.b.a(this.m); + ((JSONObject)localObject1).put("id_photo_back", localObject2); + e.a("doRealNameReg back_data=" + ((String)localObject2).length()); + } + if (this.n != null) { + ((JSONObject)localObject1).put("id_photo_info_front", com.tencent.token.utils.b.a(this.n)); + } + if (this.o != null) { + ((JSONObject)localObject1).put("id_photo_info_back", com.tencent.token.utils.b.a(this.o)); + } + ((JSONObject)localObject1).put("token_seq", ag.c().k()); + ((JSONObject)localObject1).put("guid", s.a(x.a(RqdApplication.i()).c())); + ((JSONObject)localObject1).put("seq_id", i1); + ((JSONObject)localObject1).put("op_time", (int)(ag.c().r() / 1000L)); + ((JSONObject)localObject1).put("vendor_id", Build.MANUFACTURER); + ((JSONObject)localObject1).put("android_id", s.a(RqdApplication.i())); + ((JSONObject)localObject1).put("imei", s.b(RqdApplication.i())); + ((JSONObject)localObject1).put("mac", s.c(RqdApplication.i())); + ((JSONObject)localObject1).put("device_model", Build.MODEL); + ((JSONObject)localObject1).put("sys_ver", Build.VERSION.RELEASE); + ((JSONObject)localObject1).put("face_detect_time", cv.e); + ((JSONObject)localObject1).put("face_detect_frame", cv.g); + ((JSONObject)localObject1).put("face_model_init_time", cv.f); + ((JSONObject)localObject1).put("vivo_model_init_time", cv.h); + ((JSONObject)localObject1).put("vivo_reg_action1_time", cv.i); + ((JSONObject)localObject1).put("vivo_reg_action2_time", cv.j); + ((JSONObject)localObject1).put("vivo_reg_action1_frame", cv.k); + ((JSONObject)localObject1).put("vivo_reg_action2_frame", cv.l); + ((JSONObject)localObject1).put("vivo_ver_action_time", cv.m); + ((JSONObject)localObject1).put("vivo_ver_action_frame", cv.n); + ((JSONObject)localObject1).put("vivo_reg_action1_type", ei.c); + ((JSONObject)localObject1).put("vivo_reg_action2_type", ei.d); + ((JSONObject)localObject1).put("vivo_ver_action_type", ei.e); + ((JSONObject)localObject1).put("id_photo_front_time", ct.b); + ((JSONObject)localObject1).put("id_photo_front_frame", ct.a); + ((JSONObject)localObject1).put("id_photo_back_time", ct.d); + ((JSONObject)localObject1).put("id_photo_back_frame", ct.c); + localObject2 = s.e(RqdApplication.i()); + if (!TextUtils.isEmpty((CharSequence)localObject2)) { + ((JSONObject)localObject1).put("route_name", localObject2); + } + localObject2 = s.d(RqdApplication.i()); + if (!TextUtils.isEmpty((CharSequence)localObject2)) { + ((JSONObject)localObject1).put("route_mac", localObject2); + } + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + localObject1 = com.tencent.token.utils.b.a(s.c(((JSONObject)localObject1).toString().getBytes())).replace('+', '-').replace('=', '_'); + e.a("doRealNameReg data = " + ((String)localObject1).length()); + paramfs.n.put("data", (String)localObject1); + return paramfs; + } + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.p; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.er + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/es.java b/com.tencent.token/classes.jar/com/tencent/token/es.java new file mode 100755 index 00000000000..bc227d8b9e1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/es.java @@ -0,0 +1,118 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.util.HashMap; +import org.json.JSONObject; + +public final class es + extends bm +{ + private String c; + + protected final String a() + { + int i = 0; + String str3 = "mp.weixin.qq.com"; + String str1 = str3; + if (this.c != null) + { + str1 = str3; + if (this.c.length() > 0) { + str1 = this.c; + } + } + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (str3 = ax.c; str3 == null; str3 = null) + { + this.a.a(104, null, null); + return null; + } + try + { + localObject2 = new Process[2]; + localObject1 = new String[2]; + localObject2[0] = Runtime.getRuntime().exec("getprop net.dns1"); + localObject2[1] = Runtime.getRuntime().exec("getprop net.dns2"); + if (i < 2) + { + BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localObject2[i].getInputStream())); + localObject1[i] = ""; + for (;;) + { + String str4 = localBufferedReader.readLine(); + if (str4 == null) { + break; + } + localObject1[i] = (localObject1[i] + str4); + } + } + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + return null; + i += 1; + } + localObject2[0].destroy(); + localObject2[1].destroy(); + Object localObject2 = InetAddress.getByName(localIOException); + String str2 = s.a(new Object[] { "dns_ip1", localObject1[0], "dns_ip2", localObject1[1], "domain", localIOException, "ret_ip", ((InetAddress)localObject2).getHostAddress(), "net_type", s.i() }); + if (str2 == null) + { + this.a.a(10000, "encrypt imei failed", null); + return null; + } + long l = 0L; + Object localObject1 = ax.a().e(); + if (localObject1 != null) { + l = ((QQUser)localObject1).mRealUin; + } + str2 = "?aq_base_sid=" + str3 + "&data=" + str2 + "&uin=" + l; + str2 = b.c() + "/cn/mbtoken3/mbtoken3_report_dns" + str2; + return str2; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + + protected final void a(fs paramfs) + { + this.c = ((String)paramfs.c.get("param.reportdns.domain")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + t.a(System.currentTimeMillis() / 1000L); + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.es + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/et.java b/com.tencent.token/classes.jar/com/tencent/token/et.java new file mode 100755 index 00000000000..4297d0f9c1a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/et.java @@ -0,0 +1,82 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class et + extends bm +{ + private long c; + private String d; + private int e = -1; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + str = "?uin=" + this.c + "&aq_base_sid=" + str + "&data=" + this.d; + e.c("params: " + str); + return b.c() + "/cn/mbtoken3/mbtoken3_report_location" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((String)paramfs.c.get("param.loginmsg.reportlocation")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + try + { + this.e = paramJSONObject.getInt("is_priv_ip_user"); + this.a.a = 0; + return; + } + catch (JSONException paramJSONObject) + { + for (;;) + { + this.e = -1; + paramJSONObject.printStackTrace(); + } + } + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.arg2 = this.e; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.et + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/eu.java b/com.tencent.token/classes.jar/com/tencent/token/eu.java new file mode 100755 index 00000000000..902d0cb0a24 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/eu.java @@ -0,0 +1,88 @@ +package com.tencent.token; + +import android.os.Build; +import android.os.Build.VERSION; +import android.text.TextUtils; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.net.URLEncoder; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class eu + extends bm +{ + int c; + int d; + private long e; + private long f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject1 = ""; + try + { + Object localObject2 = new JSONObject(); + if (this.e != 0L) { + ((JSONObject)localObject2).put("real_uin", this.e); + } + ((JSONObject)localObject2).put("seq_id", this.f); + ((JSONObject)localObject2).put("op_time", (int)(ag.c().r() / 1000L)); + String str2 = s.c(RqdApplication.i()); + if (!TextUtils.isEmpty(str2)) { + ((JSONObject)localObject2).put("mac", str2); + } + str2 = s.b(RqdApplication.i()); + if (!TextUtils.isEmpty(str2)) { + ((JSONObject)localObject2).put("imei", str2); + } + ((JSONObject)localObject2).put("sys_ver", URLEncoder.encode(Build.VERSION.RELEASE)); + ((JSONObject)localObject2).put("model", URLEncoder.encode(Build.MODEL)); + ((JSONObject)localObject2).put("worm_type", this.c); + ((JSONObject)localObject2).put("infected_cnt", this.d); + localObject2 = s.b(((JSONObject)localObject2).toString().getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + str1 = "?aq_base_sid=" + str1 + "&data=" + (String)localObject1; + return b.c() + "/cn/mbtoken3/mbtoken3_detector_report" + str1; + } + + protected final void a(fs paramfs) + { + this.e = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.f = ((Integer)paramfs.c.get("param.common.seq")).intValue(); + this.c = ((Integer)paramfs.c.get("param.worm_type")).intValue(); + this.d = ((Integer)paramfs.c.get("infected_cnt")).intValue(); + } + + protected final void a(JSONObject paramJSONObject) + { + this.b.e = true; + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.eu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ev.java b/com.tencent.token/classes.jar/com/tencent/token/ev.java new file mode 100755 index 00000000000..39c0246b68f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ev.java @@ -0,0 +1,95 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ev + extends bm +{ + public long c; + public int d; + private SecurityReporterResult e; + private int f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + String str2 = s.a(new Object[] { "seq_id", Integer.valueOf(this.f), "op_time", Long.valueOf(ag.c().r() / 1000L), "uin", Long.valueOf(this.c), "type", Integer.valueOf(this.d) }); + if (str2 == null) + { + this.a.a(10000, "encrypt data failed", null); + return null; + } + str1 = "?aq_base_sid=" + str1 + "&data=" + str2; + return b.c() + "/cn/mbtoken3/mbtoken3_security_reporter_v2" + str1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((Integer)paramfs.c.get("param.type")).intValue(); + this.f = paramfs.j; + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.f) + { + this.a.a(10030, null, null); + e.c("parseJSON error seq is wrong seq=" + i + ",right = " + this.f); + return; + } + this.e = new SecurityReporterResult(paramJSONObject); + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.e; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ev + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ew.java b/com.tencent.token/classes.jar/com/tencent/token/ew.java new file mode 100755 index 00000000000..a551e2a64db --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ew.java @@ -0,0 +1,121 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class ew + extends bm +{ + private long c; + private String d; + private String e; + private String f; + private int g; + private String h; + private String i; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = new JSONObject(); + try + { + ((JSONObject)localObject).put("op_type", this.g); + ((JSONObject)localObject).put("new_mobile", this.h); + ((JSONObject)localObject).put("area_code", this.i); + localObject = s.b(((JSONObject)localObject).toString().getBytes()); + if (localObject == null) + { + this.a.a(10000, null, null); + return null; + } + } + catch (JSONException localJSONException) + { + localJSONException.printStackTrace(); + this.a.a(10000, null, null); + return null; + } + finally + { + if (s.b(((JSONObject)localObject).toString().getBytes()) == null) + { + this.a.a(10000, null, null); + return null; + } + } + String str3 = "?uin=" + this.c + "&aq_base_sid=" + str2 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_set_mod_mobile" + str3; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.g = ((Integer)paramfs.c.get("param.mbmobile.set")).intValue(); + this.h = ((String)paramfs.c.get("param.mbmobile.mobile")); + this.i = ((String)paramfs.c.get("param.mbmoible.areacode")); + } + + protected final void a(JSONObject paramJSONObject) + { + int j = paramJSONObject.getInt("err"); + String str = paramJSONObject.getString("info"); + this.d = str; + a(j, str); + if (j == 0) + { + this.a.a = 0; + this.e = paramJSONObject.getString("time1"); + this.f = paramJSONObject.getString("time2"); + } + } + + protected final void b() + { + Message localMessage; + JSONObject localJSONObject; + if (!this.b.e) + { + localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localJSONObject = new JSONObject(); + } + try + { + localJSONObject.put("info", this.d); + localJSONObject.put("time1", this.e); + localJSONObject.put("time2", this.f); + localMessage.obj = localJSONObject; + localMessage.sendToTarget(); + this.b.e = true; + return; + } + catch (JSONException localJSONException) + { + for (;;) + { + localJSONException.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ew + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ex.java b/com.tencent.token/classes.jar/com/tencent/token/ex.java new file mode 100755 index 00000000000..c7763dc2307 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ex.java @@ -0,0 +1,105 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONObject; + +public final class ex + extends bm +{ + private long c; + private int[] d; + private int[] e; + private String f; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (Object localObject1 = ax.c; localObject1 == null; localObject1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject2 = new StringBuffer(""); + if ((this.d == null) || (this.e == null) || (this.d.length != this.e.length)) + { + this.a.a(10000, null, null); + return null; + } + int i = 0; + while (i < this.d.length) + { + ((StringBuffer)localObject2).append("{\"id\":" + this.d[i] + ",\"value\":" + this.e[i] + "}"); + if (i < this.d.length - 1) { + ((StringBuffer)localObject2).append(","); + } + i += 1; + } + localObject2 = "{\"conf_data\":[" + ((StringBuffer)localObject2).toString() + "]}"; + e.a((String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + if (localObject2 == null) + { + this.a.a(10000, null, null); + return null; + } + localObject2 = "?uin=" + this.c + "&sess_id=" + (String)localObject1 + "&data=" + (String)localObject2; + localObject1 = localObject2; + if (!TextUtils.isEmpty(this.f)) { + localObject1 = (String)localObject2 + "&skey=" + this.f; + } + return b.c() + "/cn/mbtoken3/mbtoken3_set_service_status" + (String)localObject1; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((int[])paramfs.c.get("param.mbinfo.id")); + this.e = ((int[])paramfs.c.get("param.mbinfo.val")); + this.f = ((String)paramfs.c.get("param.skey")); + } + + protected final void a(JSONObject paramJSONObject) + { + long l = paramJSONObject.getLong("uin"); + int i = paramJSONObject.getInt("err"); + if (l != this.c) + { + this.a.a(10000, "uin not match=" + l + ":" + this.c, null); + return; + } + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.d; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ex + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ey.java b/com.tencent.token/classes.jar/com/tencent/token/ey.java new file mode 100755 index 00000000000..07fd7a28979 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ey.java @@ -0,0 +1,49 @@ +package com.tencent.token; + +import android.content.SharedPreferences.Editor; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.i; +import com.tencent.token.utils.p; +import java.io.File; +import org.json.JSONObject; + +public final class ey + extends bm +{ + private static String c; + + public static void a(String paramString) + { + c = paramString; + } + + protected final String a() + { + return b.c() + "/cn/mbtoken3/mbtoken3_log_upload"; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i == 0) + { + paramJSONObject = new File(c); + if ((paramJSONObject.exists()) && (paramJSONObject.isFile())) { + i.a(paramJSONObject); + } + p.b("debug.file.uploadfiledate").commit(); + e.a("log upload success"); + return; + } + e.a("log upload fail errCode=" + i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ey + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ez.java b/com.tencent.token/classes.jar/com/tencent/token/ez.java new file mode 100755 index 00000000000..d588464de93 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ez.java @@ -0,0 +1,78 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import org.json.JSONObject; + +public final class ez + extends bm +{ + public static String c = ""; + public static String d = ""; + public static long e; + public static long f; + public static int g; + private static int h; + + protected final String a() + { + return b.c() + "/cn/mbtoken3/mbtoken3_realname_check"; + } + + protected final void a(fs paramfs) {} + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i == 0) + { + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + e.c("parseJSON decodeData=" + paramJSONObject.toString()); + if (h == 1) { + if (paramJSONObject.getInt("live_result") == 0) { + a(i, paramJSONObject.getString("info")); + } + } + } + for (;;) + { + e.a("ProtoUploadRealNameFile upload success"); + return; + this.a.a = 0; + continue; + if (h == 2) + { + c = paramJSONObject.getString("ocr_name"); + d = paramJSONObject.getString("ocr_card"); + } + for (;;) + { + this.a.a = 0; + break; + if (h == 5) + { + e = paramJSONObject.getLong("submit_time"); + f = paramJSONObject.getLong("complete_time"); + g = paramJSONObject.getInt("time_left"); + } + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + } + a(i, paramJSONObject.getString("info")); + e.a("ProtoUploadRealNameFile upload fail errCode=" + i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ez + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/f.java b/com.tencent.token/classes.jar/com/tencent/token/f.java new file mode 100755 index 00000000000..3b7313d9ff5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/f.java @@ -0,0 +1,13 @@ +package com.tencent.token; + +abstract class f +{ + public byte[] a; + public int b; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fa.java b/com.tencent.token/classes.jar/com/tencent/token/fa.java new file mode 100755 index 00000000000..6c68f3bcfaf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fa.java @@ -0,0 +1,119 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fa + extends bm +{ + private long c; + private long d; + private String e; + private String f = ""; + private int g; + + protected final String a() + { + Object localObject1 = null; + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str = ax.c; str == null; str = null) + { + this.a.a(104, null, null); + return null; + } + try + { + Object localObject2 = new JSONObject(); + ((JSONObject)localObject2).put("uin", this.c); + int i = af.a + 1; + af.a = i; + this.g = i; + ((JSONObject)localObject2).put("seq_id", this.g); + ((JSONObject)localObject2).put("op_time", ag.c().r() / 1000L); + ((JSONObject)localObject2).put("scenario_id", this.d); + ((JSONObject)localObject2).put("captcha", this.e); + localObject2 = ((JSONObject)localObject2).toString(); + e.a("plain:" + (String)localObject2); + localObject2 = s.b(((String)localObject2).getBytes()); + localObject1 = localObject2; + } + catch (JSONException localJSONException) + { + for (;;) + { + e.c("JSONException:" + localJSONException.getMessage()); + } + } + str = "?aq_base_sid=" + str + "&data=" + localObject1; + e.c("params: " + str); + return b.c() + "/cn/mbtoken3/mbtoken3_verify_captcha_v2" + str; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.realuin")).longValue(); + this.d = ((Integer)paramfs.c.get("param.scene.id")).intValue(); + this.e = ((String)paramfs.c.get("param.captcha")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + paramJSONObject = s.d(paramJSONObject.getString("data")); + if (paramJSONObject != null) + { + paramJSONObject = new JSONObject(new String(paramJSONObject)); + i = paramJSONObject.getInt("seq_id"); + if (i != this.g) + { + this.a.a(10030, null, null); + paramJSONObject = new StringBuilder().append("parseJSON error seq is wrong seq=").append(i).append(",right = "); + af.a(); + e.c(af.b()); + return; + } + if (this.d == 5L) { + this.f = paramJSONObject.getString("captcha_sig"); + } + this.a.a = 0; + return; + } + e.c("parseJSON error decodeData=" + paramJSONObject); + a(10022, RqdApplication.i().getString(2131361799)); + } + + protected final void b() + { + if (!this.b.e) + { + Message localMessage = this.b.d.obtainMessage(this.b.f); + localMessage.arg1 = 0; + localMessage.obj = this.f; + localMessage.sendToTarget(); + this.b.e = true; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fb.java b/com.tencent.token/classes.jar/com/tencent/token/fb.java new file mode 100755 index 00000000000..187ed6274d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fb.java @@ -0,0 +1,78 @@ +package com.tencent.token; + +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.utils.s; +import java.util.HashMap; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fb + extends bm +{ + private long c; + private String d; + + protected final String a() + { + ae.a(); + if (ax.a().p()) { + ax.a(); + } + for (String str1 = ax.c; str1 == null; str1 = null) + { + this.a.a(104, null, null); + return null; + } + Object localObject = new JSONObject(); + try + { + ((JSONObject)localObject).put("mobile_code", this.d); + localObject = s.b(((JSONObject)localObject).toString().getBytes()); + if (localObject == null) + { + this.a.a(10000, null, null); + return null; + } + } + catch (JSONException localJSONException) + { + localJSONException.printStackTrace(); + this.a.a(10000, null, null); + return null; + } + finally + { + if (s.b(((JSONObject)localObject).toString().getBytes()) == null) + { + this.a.a(10000, null, null); + return null; + } + } + String str3 = "?uin=" + this.c + "&aq_base_sid=" + str2 + "&data=" + (String)localObject; + return b.c() + "/cn/mbtoken3/mbtoken3_mbop_verify_mobile_code" + str3; + } + + protected final void a(fs paramfs) + { + this.c = ((Long)paramfs.c.get("param.uinhash")).longValue(); + this.d = ((String)paramfs.c.get("param.mbmobile.vrycode")); + } + + protected final void a(JSONObject paramJSONObject) + { + int i = paramJSONObject.getInt("err"); + if (i != 0) + { + a(i, paramJSONObject.getString("info")); + return; + } + this.a.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fc.java b/com.tencent.token/classes.jar/com/tencent/token/fc.java new file mode 100755 index 00000000000..559485944f2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fc.java @@ -0,0 +1,210 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fc +{ + List a = Collections.synchronizedList(new ArrayList()); + List b = Collections.synchronizedList(new ArrayList()); + NewConfigureCacheItem c; + String d; + long e; + public boolean f; + public boolean g = false; + + private void a(List paramList, boolean paramBoolean) + { + Object localObject; + g localg; + try + { + if (this.c == null) { + this.c = ba.a().h.a("account_lock"); + } + if (this.c.mClientVersion <= this.c.mClickVersion) { + break label317; + } + if (this.c.mClickVersion == -1) + { + if (this.c.mConfIDs == null) { + break label317; + } + localObject = this.c.mConfIDs.iterator(); + while (((Iterator)localObject).hasNext()) + { + int i = ((Integer)((Iterator)localObject).next()).intValue(); + localIterator = paramList.iterator(); + while (localIterator.hasNext()) + { + localg = (g)localIterator.next(); + if (i == localg.a) { + localg.f = true; + } + } + } + } + localObject = new HashSet(); + } + finally {} + if (paramBoolean) + { + localIterator = this.a.iterator(); + while (localIterator.hasNext()) { + ((Set)localObject).add(Integer.valueOf(((g)localIterator.next()).a)); + } + } + Iterator localIterator = this.b.iterator(); + while (localIterator.hasNext()) { + ((Set)localObject).add(Integer.valueOf(((g)localIterator.next()).a)); + } + localIterator = paramList.iterator(); + while (localIterator.hasNext()) + { + localg = (g)localIterator.next(); + if (!((Set)localObject).contains(Integer.valueOf(localg.a))) { + localg.f = true; + } + } + label317: + if (paramBoolean) + { + this.a.clear(); + this.a.addAll(paramList); + } + for (;;) + { + ax.a(); + this.d = ax.c; + if (ax.a().e() != null) { + this.e = ax.a().e().mUin; + } + return; + this.b.clear(); + this.b.addAll(paramList); + } + } + + private boolean a(JSONArray paramJSONArray, boolean paramBoolean) + { + ArrayList localArrayList = new ArrayList(); + if (paramJSONArray != null) {} + try + { + if (paramJSONArray.length() > 0) + { + int i = 0; + if (i < paramJSONArray.length()) + { + JSONObject localJSONObject = paramJSONArray.getJSONObject(i); + if (localJSONObject != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + g localg = new g(); + if (!localg.b(localJSONObject)) { + e.c("object item parse failed: " + i); + } + localArrayList.add(localg); + i += 1; + break; + } + } + } + a(localArrayList, paramBoolean); + return true; + } + catch (JSONException paramJSONArray) {} + return false; + } + + public final List a(boolean paramBoolean) + { + if (paramBoolean) { + return this.a; + } + return this.b; + } + + public final boolean a() + { + QQUser localQQUser = ax.a().e(); + if ((this.d == null) || (localQQUser == null)) {} + String str; + do + { + return false; + str = this.d; + ax.a(); + } while ((!str.equals(ax.c)) || (this.e != localQQUser.mUin) || (!this.f)); + return true; + } + + public final boolean a(JSONArray paramJSONArray) + { + if (paramJSONArray.length() < 2) { + return false; + } + if (paramJSONArray != null) {} + for (boolean bool = true;; bool = false) { + for (;;) + { + e.a(bool); + try + { + if (!a(paramJSONArray.getJSONArray(0), true)) { + break; + } + bool = a(paramJSONArray.getJSONArray(1), false); + if (!bool) { + break; + } + return true; + } + catch (JSONException paramJSONArray) + { + paramJSONArray.printStackTrace(); + } + } + } + return false; + } + + public final int b(boolean paramBoolean) + { + if (paramBoolean) {} + for (List localList = this.a; localList == null; localList = this.b) { + return 0; + } + return localList.size(); + } + + public final void b() + { + Iterator localIterator = this.a.iterator(); + while (localIterator.hasNext()) { + ((g)localIterator.next()).f = false; + } + localIterator = this.b.iterator(); + while (localIterator.hasNext()) { + ((g)localIterator.next()).f = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fd.java b/com.tencent.token/classes.jar/com/tencent/token/fd.java new file mode 100755 index 00000000000..0f3e1adeb5b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fd.java @@ -0,0 +1,14 @@ +package com.tencent.token; + +public abstract interface fd +{ + public abstract fe a(fj paramfj); + + public abstract void a(fj paramfj, ft paramft); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fe.java b/com.tencent.token/classes.jar/com/tencent/token/fe.java new file mode 100755 index 00000000000..9671c3981a2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fe.java @@ -0,0 +1,16 @@ +package com.tencent.token; + +import java.io.Serializable; + +public final class fe +{ + public boolean a; + public ft b; + public Serializable c; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ff.java b/com.tencent.token/classes.jar/com/tencent/token/ff.java new file mode 100755 index 00000000000..941caaffdd7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ff.java @@ -0,0 +1,247 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.io.StreamCorruptedException; +import java.lang.ref.SoftReference; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Map; + +public final class ff + implements fd +{ + private static final Comparator a = new fh(); + private static final FilenameFilter b = new fi(); + private static final Object f = new Object(); + private final Context c; + private final Map d; + private int e; + + public ff(Context paramContext) + { + this.c = paramContext; + this.d = new HashMap(); + this.e = -1; + } + + private void a() + { + File[] arrayOfFile; + if ((this.e < 0) || (this.e > 100)) + { + arrayOfFile = this.c.getCacheDir().listFiles(b); + if (arrayOfFile != null) { + break label35; + } + } + for (;;) + { + return; + label35: + int j = arrayOfFile.length; + this.e = j; + if (j >= 100) + { + Arrays.sort(arrayOfFile, a); + int i = 0; + while ((i < j) && (this.e > 75)) + { + if (arrayOfFile[i].delete()) { + this.e -= 1; + } + i += 1; + } + } + } + } + + private fe b(fj paramfj) + { + for (;;) + { + synchronized (f) + { + String str = paramfj.d(); + localObject1 = (SoftReference)this.d.get(str); + if (localObject1 == null) { + break label170; + } + fg localfg = (fg)((SoftReference)localObject1).get(); + localObject1 = localfg; + if (localfg == null) + { + this.d.remove(str); + localObject1 = localfg; + } + if (localObject1 != null) { + break label164; + } + paramfj = c(paramfj); + if (paramfj == null) { + break label162; + } + localObject1 = new fe(); + long l = System.currentTimeMillis(); + if ((0L > 0L) && (l - paramfj.a > 0L)) + { + ((fe)localObject1).a = true; + return localObject1; + } + } + ((fe)localObject1).a = false; + ((fe)localObject1).b = paramfj.b; + ((fe)localObject1).c = paramfj.c; + return localObject1; + label162: + return null; + label164: + paramfj = (fj)localObject1; + continue; + label170: + Object localObject1 = null; + } + } + + private fg c(fj paramfj) + { + Object localObject = d(paramfj); + if (!((File)localObject).exists()) { + return null; + } + try + { + ObjectInputStream localObjectInputStream = new ObjectInputStream(new FileInputStream((File)localObject)); + if (localObjectInputStream.readInt() != 1) + { + ((File)localObject).delete(); + return null; + } + localObject = new fg(this); + ((fg)localObject).a = localObjectInputStream.readLong(); + if (localObjectInputStream.readBoolean()) { + ((fg)localObject).b = paramfj.a((Serializable)localObjectInputStream.readObject()); + } + if (localObjectInputStream.readBoolean()) { + ((fg)localObject).c = ((Serializable)localObjectInputStream.readObject()); + } + return localObject; + } + catch (StreamCorruptedException paramfj) + { + paramfj.printStackTrace(); + return null; + } + catch (FileNotFoundException paramfj) + { + for (;;) + { + paramfj.printStackTrace(); + } + } + catch (IOException paramfj) + { + for (;;) + { + paramfj.printStackTrace(); + } + } + catch (ClassNotFoundException paramfj) + { + for (;;) + { + paramfj.printStackTrace(); + } + } + } + + private File d(fj paramfj) + { + paramfj = s.c(paramfj.d()); + return new File(this.c.getCacheDir(), "TOKEN_" + paramfj); + } + + public final fe a(fj paramfj) + { + return b(paramfj); + } + + public final void a(fj paramfj, ft paramft) + { + synchronized (f) + { + fg localfg = new fg(this); + localfg.b = paramft; + localfg.c = null; + localfg.a = System.currentTimeMillis(); + paramft = paramfj.d(); + localObject2 = new SoftReference(localfg); + this.d.put(paramft, localObject2); + a(); + paramft = d(paramfj); + try + { + localObject2 = new ObjectOutputStream(new FileOutputStream(paramft)); + ((ObjectOutputStream)localObject2).writeInt(1); + ((ObjectOutputStream)localObject2).writeLong(localfg.a); + if (localfg.b == null) { + break label226; + } + Serializable localSerializable = paramfj.a(localfg.b); + if (localSerializable == null) { + break label181; + } + ((ObjectOutputStream)localObject2).writeBoolean(true); + ((ObjectOutputStream)localObject2).writeObject(localSerializable); + } + catch (FileNotFoundException paramft) + { + for (;;) + { + e.c(paramfj.d() + ": can't open cache file to write"); + continue; + paramfj = finally; + throw paramfj; + ((ObjectOutputStream)localObject2).writeBoolean(false); + } + } + catch (IOException localIOException) + { + for (;;) + { + label181: + localIOException.printStackTrace(); + paramft.delete(); + e.c(paramfj.d() + ": writting error:" + localIOException); + continue; + ((ObjectOutputStream)localObject2).writeBoolean(false); + } + } + if (localfg.c != null) + { + ((ObjectOutputStream)localObject2).writeBoolean(true); + ((ObjectOutputStream)localObject2).writeObject(localfg.c); + ((ObjectOutputStream)localObject2).flush(); + return; + ((ObjectOutputStream)localObject2).writeBoolean(false); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ff + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fg.java b/com.tencent.token/classes.jar/com/tencent/token/fg.java new file mode 100755 index 00000000000..0b088646f65 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fg.java @@ -0,0 +1,18 @@ +package com.tencent.token; + +import java.io.Serializable; + +final class fg +{ + public long a; + public ft b; + public Serializable c; + + fg(ff paramff) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fh.java b/com.tencent.token/classes.jar/com/tencent/token/fh.java new file mode 100755 index 00000000000..3565327a510 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fh.java @@ -0,0 +1,13 @@ +package com.tencent.token; + +import java.util.Comparator; + +final class fh + implements Comparator +{} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fi.java b/com.tencent.token/classes.jar/com/tencent/token/fi.java new file mode 100755 index 00000000000..56c843bb517 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fi.java @@ -0,0 +1,19 @@ +package com.tencent.token; + +import java.io.File; +import java.io.FilenameFilter; + +final class fi + implements FilenameFilter +{ + public final boolean accept(File paramFile, String paramString) + { + return paramString.startsWith("TOKEN_"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fj.java b/com.tencent.token/classes.jar/com/tencent/token/fj.java new file mode 100755 index 00000000000..c6a8435a29b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fj.java @@ -0,0 +1,18 @@ +package com.tencent.token; + +import java.io.Serializable; + +public abstract interface fj +{ + public abstract ft a(Serializable paramSerializable); + + public abstract Serializable a(ft paramft); + + public abstract String d(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fk.java b/com.tencent.token/classes.jar/com/tencent/token/fk.java new file mode 100755 index 00000000000..a018e86e1ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fk.java @@ -0,0 +1,220 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fk +{ + List a = Collections.synchronizedList(new ArrayList()); + NewConfigureCacheItem b; + String c; + long d; + public boolean e; + public boolean f = false; + + private void a(List paramList) + { + try + { + if (this.b == null) { + this.b = ba.a().h.a("game_lock"); + } + if ((this.b.mClientVersion > this.b.mClickVersion) && (this.b.mClickVersion == -1) && (this.b.mConfIDs != null)) + { + Iterator localIterator1 = this.b.mConfIDs.iterator(); + while (localIterator1.hasNext()) + { + int i = ((Integer)localIterator1.next()).intValue(); + Iterator localIterator2 = paramList.iterator(); + while (localIterator2.hasNext()) + { + g localg = (g)localIterator2.next(); + if (i == localg.a) { + localg.f = true; + } + } + } + } + this.a.clear(); + } + finally {} + this.a.addAll(paramList); + ax.a(); + this.c = ax.c; + if (ax.a().e() != null) { + this.d = ax.a().e().mUin; + } + } + + public final int a(int paramInt) + { + Iterator localIterator = this.a.iterator(); + int i = 0; + while (localIterator.hasNext()) + { + g localg = (g)localIterator.next(); + int j = i + 1; + i = j; + if (localg.a == paramInt) { + return j; + } + } + return -1; + } + + public final List a() + { + return this.a; + } + + public final boolean a(JSONArray paramJSONArray) + { + boolean bool; + ArrayList localArrayList1; + ArrayList localArrayList2; + if (paramJSONArray != null) + { + bool = true; + e.a(bool); + localArrayList1 = new ArrayList(); + localArrayList2 = new ArrayList(); + if (paramJSONArray == null) {} + } + for (;;) + { + try + { + if (paramJSONArray.length() > 0) + { + i = 0; + if (i >= paramJSONArray.length()) { + break label234; + } + JSONObject localJSONObject = paramJSONArray.getJSONObject(i); + if (localJSONObject == null) { + break label229; + } + bool = true; + e.a(bool); + g localg = new g(); + if (!localg.c(localJSONObject)) { + e.c("object item parse failed: " + i); + } + localArrayList1.add(localg); + i += 1; + continue; + if (i >= localArrayList1.size()) { + break label246; + } + paramJSONArray = (g)localArrayList1.get(i); + if (paramJSONArray.g) { + break label239; + } + localArrayList2.add(paramJSONArray); + break label239; + if (i < localArrayList1.size()) + { + paramJSONArray = (g)localArrayList1.get(i); + if (paramJSONArray.g) { + localArrayList2.add(paramJSONArray); + } + i += 1; + continue; + } + } + a(localArrayList2); + return true; + } + catch (JSONException paramJSONArray) + { + return false; + } + bool = false; + break; + label229: + bool = false; + continue; + label234: + int i = 0; + continue; + label239: + i += 1; + continue; + label246: + i = 0; + } + } + + public final boolean b() + { + Object localObject = ax.a().e(); + if ((this.c == null) || (localObject == null)) {} + do + { + return false; + localObject = this.c; + ax.a(); + } while ((!((String)localObject).equals(ax.c)) || (this.d != ax.a().e().mUin) || (!this.e)); + return true; + } + + public final int c() + { + List localList = this.a; + if (localList == null) { + return 0; + } + return localList.size(); + } + + public final int d() + { + int i = 0; + int k = 0; + try + { + List localList = this.a; + if (localList == null) {} + int j; + do + { + return k; + j = 0; + k = i; + } while (j >= localList.size()); + boolean bool = ((g)localList.get(j)).g; + if (!bool) { + i += 1; + } + for (;;) + { + j += 1; + break; + } + } + finally {} + } + + public final void e() + { + Iterator localIterator = this.a.iterator(); + while (localIterator.hasNext()) { + ((g)localIterator.next()).f = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fl.java b/com.tencent.token/classes.jar/com/tencent/token/fl.java new file mode 100755 index 00000000000..b66421d83ee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fl.java @@ -0,0 +1,244 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fl +{ + List a = Collections.synchronizedList(new ArrayList()); + NewConfigureCacheItem b; + String c; + long d; + public boolean e; + public boolean f = false; + + private void a(List paramList) + { + Object localObject; + g localg; + try + { + if (this.b == null) { + this.b = ba.a().h.a("account_prot"); + } + if (this.b.mClientVersion <= this.b.mClickVersion) { + break label259; + } + if (this.b.mClickVersion == -1) + { + if (this.b.mConfIDs == null) { + break label259; + } + localObject = this.b.mConfIDs.iterator(); + while (((Iterator)localObject).hasNext()) + { + int i = ((Integer)((Iterator)localObject).next()).intValue(); + localIterator = paramList.iterator(); + while (localIterator.hasNext()) + { + localg = (g)localIterator.next(); + if (i == localg.a) { + localg.f = true; + } + } + } + } + localObject = new HashSet(); + } + finally {} + Iterator localIterator = this.a.iterator(); + while (localIterator.hasNext()) { + ((Set)localObject).add(Integer.valueOf(((g)localIterator.next()).a)); + } + localIterator = paramList.iterator(); + while (localIterator.hasNext()) + { + localg = (g)localIterator.next(); + if (!((Set)localObject).contains(Integer.valueOf(localg.a))) { + localg.f = true; + } + } + label259: + this.a.clear(); + this.a = paramList; + ax.a(); + this.c = ax.c; + if (ax.a().e() != null) { + this.d = ax.a().e().mUin; + } + } + + public final int a(int paramInt) + { + Iterator localIterator = this.a.iterator(); + int i = 0; + while (localIterator.hasNext()) + { + g localg = (g)localIterator.next(); + int j = i + 1; + i = j; + if (localg.a == paramInt) { + return j; + } + } + return -1; + } + + public final List a() + { + try + { + List localList = this.a; + return localList; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final boolean a(JSONArray paramJSONArray) + { + boolean bool; + ArrayList localArrayList1; + ArrayList localArrayList2; + if (paramJSONArray != null) + { + bool = true; + e.a(bool); + localArrayList1 = new ArrayList(); + localArrayList2 = new ArrayList(); + if (paramJSONArray == null) {} + } + for (;;) + { + try + { + if (paramJSONArray.length() > 0) + { + i = 0; + if (i >= paramJSONArray.length()) { + break label234; + } + JSONObject localJSONObject = paramJSONArray.getJSONObject(i); + if (localJSONObject == null) { + break label229; + } + bool = true; + e.a(bool); + g localg = new g(); + if (!localg.a(localJSONObject)) { + e.c("object item parse failed: " + i); + } + localArrayList1.add(localg); + i += 1; + continue; + if (i >= localArrayList1.size()) { + break label246; + } + paramJSONArray = (g)localArrayList1.get(i); + if (paramJSONArray.g) { + break label239; + } + localArrayList2.add(paramJSONArray); + break label239; + if (i < localArrayList1.size()) + { + paramJSONArray = (g)localArrayList1.get(i); + if (paramJSONArray.g) { + localArrayList2.add(paramJSONArray); + } + i += 1; + continue; + } + } + a(localArrayList2); + return true; + } + catch (JSONException paramJSONArray) + { + return false; + } + bool = false; + break; + label229: + bool = false; + continue; + label234: + int i = 0; + continue; + label239: + i += 1; + continue; + label246: + i = 0; + } + } + + public final boolean b() + { + Object localObject = ax.a().e(); + if ((this.c == null) || (localObject == null)) {} + do + { + return false; + localObject = this.c; + ax.a(); + } while ((!((String)localObject).equals(ax.c)) || (this.d != ax.a().e().mUin) || (!this.e)); + return true; + } + + public final int c() + { + int i = 0; + int k = 0; + try + { + List localList = a(); + if (localList == null) {} + int j; + do + { + return k; + j = 0; + k = i; + } while (j >= localList.size()); + boolean bool = ((g)localList.get(j)).g; + if (!bool) { + i += 1; + } + for (;;) + { + j += 1; + break; + } + } + finally {} + } + + public final void d() + { + Iterator localIterator = this.a.iterator(); + while (localIterator.hasNext()) { + ((g)localIterator.next()).f = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fm.java b/com.tencent.token/classes.jar/com/tencent/token/fm.java new file mode 100755 index 00000000000..c2122d7cef1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fm.java @@ -0,0 +1,104 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class fm +{ + public g a = new g(); + public ArrayList b; + String c; + long d; + private ax e = ax.a(); + + private void a(g paramg) + { + try + { + this.a = paramg; + this.c = ax.c; + if (ax.a().e() != null) { + this.d = this.e.e().mUin; + } + return; + } + finally + { + paramg = finally; + throw paramg; + } + } + + public final boolean a(JSONArray paramJSONArray) + { + g localg = new g(); + if (paramJSONArray != null) {} + for (;;) + { + int i; + try + { + if (paramJSONArray.length() > 0) + { + i = 0; + if (i < paramJSONArray.length()) + { + Object localObject = paramJSONArray.getJSONObject(i); + localg.a = ((JSONObject)localObject).getInt("id"); + localg.b = ((JSONObject)localObject).getString("name"); + if (((JSONObject)localObject).getInt("value") == 0) { + break label267; + } + bool = true; + localg.c = bool; + localObject = ((JSONObject)localObject).getJSONArray("list"); + if (((JSONArray)localObject).length() > 0) + { + this.b = new ArrayList(); + int j = 0; + if (j >= ((JSONArray)localObject).length()) { + break label273; + } + JSONObject localJSONObject = ((JSONArray)localObject).getJSONObject(j); + DeviceInfo localDeviceInfo = new DeviceInfo(); + localDeviceInfo.dguid = localJSONObject.getString("dguid"); + localDeviceInfo.dname = localJSONObject.getString("dname"); + localDeviceInfo.dtype = localJSONObject.getString("dtype"); + localDeviceInfo.ddes = localJSONObject.getString("ddes"); + localDeviceInfo.dappid = localJSONObject.getInt("dappid"); + localDeviceInfo.dsubappid = localJSONObject.getInt("dsubappid"); + localDeviceInfo.dappname = localJSONObject.getString("dappname"); + this.b.add(localDeviceInfo); + j += 1; + continue; + } + this.b = new ArrayList(); + break label273; + } + } + a(localg); + return true; + } + catch (Exception paramJSONArray) + { + paramJSONArray.printStackTrace(); + return false; + } + label267: + boolean bool = false; + continue; + label273: + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fn.java b/com.tencent.token/classes.jar/com/tencent/token/fn.java new file mode 100755 index 00000000000..adfba4f866f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fn.java @@ -0,0 +1,181 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.QQUser; +import java.util.ArrayList; + +public final class fn +{ + static fn d = null; + public MbInfoResult a; + String b; + long c; + + public static fn a() + { + if (d == null) + { + fn localfn = new fn(); + d = localfn; + return localfn; + } + return d; + } + + public final int a(int paramInt) + { + for (;;) + { + try + { + MbInfoResult localMbInfoResult = c(); + if (localMbInfoResult == null) + { + paramInt = -1; + return paramInt; + } + int i; + if (this.a.mMbInfoItems == null) + { + paramInt = -1; + continue; + if (i < this.a.mMbInfoItems.size()) + { + int j = ((MbInfoResult.MbInfoItem)this.a.mMbInfoItems.get(i)).mId; + if (j == paramInt) { + paramInt = i; + } else { + i += 1; + } + } + else + { + paramInt = -1; + } + } + else + { + i = 0; + } + } + finally {} + } + } + + public final void a(MbInfoResult paramMbInfoResult) + { + try + { + this.a = paramMbInfoResult; + ax.a(); + this.b = ax.c; + if (ax.a().e() != null) { + this.c = ax.a().e().mUin; + } + return; + } + finally + { + paramMbInfoResult = finally; + throw paramMbInfoResult; + } + } + + public final void b() + { + try + { + this.a = null; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public final MbInfoResult c() + { + // Byte code: + // 0: aconst_null + // 1: astore_2 + // 2: aload_0 + // 3: monitorenter + // 4: invokestatic 56 com/tencent/token/ax:a ()Lcom/tencent/token/ax; + // 7: invokevirtual 64 com/tencent/token/ax:e ()Lcom/tencent/token/core/bean/QQUser; + // 10: astore_3 + // 11: aload_2 + // 12: astore_1 + // 13: aload_0 + // 14: getfield 60 com/tencent/token/fn:b Ljava/lang/String; + // 17: ifnull +20 -> 37 + // 20: aload_2 + // 21: astore_1 + // 22: aload_3 + // 23: ifnull +14 -> 37 + // 26: aload_0 + // 27: getfield 28 com/tencent/token/fn:a Lcom/tencent/token/core/bean/MbInfoResult; + // 30: astore_1 + // 31: aload_1 + // 32: ifnonnull +9 -> 41 + // 35: aload_2 + // 36: astore_1 + // 37: aload_0 + // 38: monitorexit + // 39: aload_1 + // 40: areturn + // 41: aload_0 + // 42: getfield 60 com/tencent/token/fn:b Ljava/lang/String; + // 45: astore 4 + // 47: invokestatic 56 com/tencent/token/ax:a ()Lcom/tencent/token/ax; + // 50: pop + // 51: aload_2 + // 52: astore_1 + // 53: aload 4 + // 55: getstatic 58 com/tencent/token/ax:c Ljava/lang/String; + // 58: invokevirtual 77 java/lang/String:equals (Ljava/lang/Object;)Z + // 61: ifeq -24 -> 37 + // 64: aload_2 + // 65: astore_1 + // 66: aload_0 + // 67: getfield 71 com/tencent/token/fn:c J + // 70: aload_3 + // 71: getfield 69 com/tencent/token/core/bean/QQUser:mUin J + // 74: lcmp + // 75: ifne -38 -> 37 + // 78: aload_0 + // 79: getfield 28 com/tencent/token/fn:a Lcom/tencent/token/core/bean/MbInfoResult; + // 82: astore_1 + // 83: goto -46 -> 37 + // 86: astore_1 + // 87: aload_0 + // 88: monitorexit + // 89: aload_1 + // 90: athrow + // Local variable table: + // start length slot name signature + // 0 91 0 this fn + // 12 71 1 localObject1 Object + // 86 4 1 localObject2 Object + // 1 64 2 localObject3 Object + // 10 61 3 localQQUser QQUser + // 45 9 4 str String + // Exception table: + // from to target type + // 4 11 86 finally + // 13 20 86 finally + // 26 31 86 finally + // 41 51 86 finally + // 53 64 86 finally + // 66 83 86 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fo.java b/com.tencent.token/classes.jar/com/tencent/token/fo.java new file mode 100755 index 00000000000..aec674b0259 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fo.java @@ -0,0 +1,378 @@ +package com.tencent.token; + +import android.os.Looper; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.LoginMsgActivity; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fo +{ + public gm a = null; + public boolean b; + long c = 0L; + public int d = -1; + public long e = 0L; + private List f = null; + private int g = 0; + private boolean h = false; + + public fo(String paramString) + { + this.a = new gm(paramString); + } + + public final int a(int paramInt) + { + this.b = false; + int i = paramInt; + if (this.d >= 0) { + i = Math.max(paramInt, this.d); + } + try + { + ArrayList localArrayList = new ArrayList(); + Object localObject = ax.a().e(); + if ((localObject == null) || (i <= 0)) + { + if (Thread.currentThread().getId() != Looper.getMainLooper().getThread().getId()) + { + e.c("should run in mainthread"); + e.d("should run in mainthread"); + } + this.f.clear(); + return 0; + } + long l2 = ((QQUser)localObject).mUin; + long l1 = l2; + if (!((QQUser)localObject).mIsBinded) + { + l1 = l2; + if (((QQUser)localObject).mUin == ((QQUser)localObject).mRealUin) { + l1 = s.f(((QQUser)localObject).mRealUin); + } + } + localObject = this.a.a(l1, i + 1); + if (localObject != null) + { + if (((List)localObject).size() > i) + { + this.b = true; + paramInt = 0; + while (paramInt < i) + { + localArrayList.add(((List)localObject).get(paramInt)); + paramInt += 1; + } + } + localArrayList.addAll((Collection)localObject); + } + if (Thread.currentThread().getId() != Looper.getMainLooper().getThread().getId()) + { + e.c("should run in mainthread"); + e.d("should run in mainthread"); + } + this.f.clear(); + this.f.addAll(localArrayList); + paramInt = this.f.size(); + return paramInt; + } + catch (Exception localException) + { + e.c("Exception:" + localException.toString()); + if (Thread.currentThread().getId() != Looper.getMainLooper().getThread().getId()) + { + e.c("should run in mainthread"); + e.d("should run in mainthread"); + } + this.f.clear(); + } + return 0; + } + + public final SafeMsgItem a() + { + try + { + Object localObject = ax.a().e(); + if (localObject == null) { + return null; + } + if ((this.e != 0L) && (this.e != ((QQUser)localObject).mRealUin)) + { + this.d = -1; + this.e = 0L; + com.tencent.token.ui.AccountPageActivity.mNeedShowIpcMsg = false; + } + long l2 = ((QQUser)localObject).mUin; + long l1 = l2; + if (!((QQUser)localObject).mIsBinded) + { + l1 = l2; + if (((QQUser)localObject).mUin == ((QQUser)localObject).mRealUin) { + l1 = s.f(((QQUser)localObject).mRealUin); + } + } + localObject = this.a.a(l1, 1); + if ((localObject != null) && (((List)localObject).size() > 0)) + { + localObject = (SafeMsgItem)((List)localObject).get(0); + return localObject; + } + return null; + } + catch (Exception localException) {} + return null; + } + + public final d a(JSONObject paramJSONObject, long paramLong, int paramInt) + { + d locald = new d((byte)0); + long l1 = t.a(paramInt, paramLong); + for (;;) + { + int i; + long l2; + try + { + i = paramJSONObject.getInt("is_have_msg"); + m = paramJSONObject.getInt("rsp_msg_num"); + JSONArray localJSONArray = paramJSONObject.getJSONArray("msgs"); + if ((i <= 0) || (m <= 0)) { + break label528; + } + bool = true; + this.h = bool; + e.a("is need again=" + i + ", msg cnt=" + m); + if ((m > 0) && (localJSONArray != null)) + { + this.g = m; + this.a.c(paramLong); + j = 0; + i = 0; + if (i >= localJSONArray.length()) { + continue; + } + JSONObject localJSONObject = localJSONArray.getJSONObject(i); + if (localJSONObject == null) { + break label534; + } + bool = true; + e.a(bool); + SafeMsgItem localSafeMsgItem = new SafeMsgItem(); + localSafeMsgItem.mUin = paramLong; + if (!localSafeMsgItem.a(localJSONObject)) { + e.c("object item parse failed: " + i); + } + if (this.d == -1) + { + if ((localSafeMsgItem.mFlag & 0x4) != 4) { + break label540; + } + k = 1; + if (k != 0) + { + k = LoginMsgActivity.mNewMsgCntSetByAccount; + l2 = ax.a().e().mRealUin; + this.d = (k + i + 1); + this.e = l2; + com.tencent.token.ui.AccountPageActivity.mNeedShowIpcMsg = true; + e.c("setlist got IPC msg,index = " + (LoginMsgActivity.mNewMsgCntSetByAccount + i + 1)); + } + } + if (this.a.a(localSafeMsgItem)) + { + k = j + 1; + j = k; + l2 = l1; + if (localSafeMsgItem.mTime + 1L > l1) + { + l2 = localSafeMsgItem.mTime + 1L; + j = k; + } + } + else + { + e.d("msg store to db is wrong" + localJSONObject); + l2 = l1; + } + } + } + catch (JSONException paramJSONObject) + { + int m; + int j; + locald.a(10020, "JSONException:" + paramJSONObject.toString(), null); + locald.a = 0; + return locald; + if (j != m) + { + this.g = j; + e.c("msg cnt is wrong"); + e.d("msg cnt is wrong" + paramJSONObject); + } + t.a(paramInt, paramLong, l1); + locald.a = 0; + return locald; + } + catch (Exception paramJSONObject) + { + locald.a(10021, "JSONException:" + paramJSONObject.toString(), null); + continue; + } + i += 1; + l1 = l2; + continue; + label528: + boolean bool = false; + continue; + label534: + bool = false; + continue; + label540: + int k = 0; + } + } + + public final void a(long paramLong) + { + if (Thread.currentThread().getId() != Looper.getMainLooper().getThread().getId()) + { + e.c("should run in mainthread"); + e.d("should run in mainthread"); + } + if (paramLong != 0L) + { + this.a.a(paramLong); + this.f.clear(); + } + } + + public final SafeMsgItem b(int paramInt) + { + int i = this.f.size(); + if ((paramInt < 0) || (paramInt >= i)) { + return null; + } + return (SafeMsgItem)this.f.get(paramInt); + } + + public final void b() + { + Iterator localIterator = this.f.iterator(); + while (localIterator.hasNext()) { + ((SafeMsgItem)localIterator.next()).mIsChecked = true; + } + } + + public final void b(long paramLong) + { + this.c = paramLong; + } + + public final void c() + { + Iterator localIterator = this.f.iterator(); + while (localIterator.hasNext()) { + ((SafeMsgItem)localIterator.next()).mIsChecked = false; + } + } + + public final boolean d() + { + Iterator localIterator = this.f.iterator(); + while (localIterator.hasNext()) { + if (!((SafeMsgItem)localIterator.next()).mIsChecked) { + return false; + } + } + return true; + } + + public final int e() + { + Iterator localIterator = this.f.iterator(); + int i = 0; + if (localIterator.hasNext()) + { + if (((SafeMsgItem)localIterator.next()).mIsChecked) { + i += 1; + } + for (;;) + { + break; + } + } + return i; + } + + public final void f() + { + if (Thread.currentThread().getId() != Looper.getMainLooper().getThread().getId()) + { + e.c("should run in mainthread"); + e.d("should run in mainthread"); + } + Iterator localIterator = this.f.iterator(); + while (localIterator.hasNext()) + { + SafeMsgItem localSafeMsgItem = (SafeMsgItem)localIterator.next(); + if ((localSafeMsgItem != null) && (localSafeMsgItem.mIsChecked)) + { + this.a.b(localSafeMsgItem.mId); + localIterator.remove(); + } + } + } + + public final int g() + { + return this.f.size(); + } + + public final void h() + { + this.g = 0; + } + + public final int i() + { + return this.g; + } + + public final boolean j() + { + boolean bool2 = false; + QQUser localQQUser = ax.a().e(); + boolean bool1 = bool2; + if (localQQUser != null) + { + bool1 = bool2; + if (localQQUser.mUin == this.c) { + bool1 = true; + } + } + return bool1; + } + + public final boolean k() + { + return this.h; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fp.java b/com.tencent.token/classes.jar/com/tencent/token/fp.java new file mode 100755 index 00000000000..074073e1b57 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fp.java @@ -0,0 +1,369 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.global.g; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Observable; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class fp + extends Observable + implements fj +{ + public static final String[] a = { "login_protect", "account_prot", "mail_protect", "qb_prot", "account_lock", "game_lock", "modify_pwd", "recover_friends", "real_name", "key_value" }; + public int b = 0; + private List c = Collections.synchronizedList(new ArrayList()); + + private void a(NewConfigureCacheItem paramNewConfigureCacheItem) + { + try + { + this.c.add(paramNewConfigureCacheItem); + return; + } + finally + { + paramNewConfigureCacheItem = finally; + throw paramNewConfigureCacheItem; + } + } + + private boolean a(JSONArray paramJSONArray) + { + if (paramJSONArray == null) { + return false; + } + int i = 0; + for (;;) + { + try + { + if (i < paramJSONArray.length()) + { + Object localObject = paramJSONArray.getJSONArray(i); + String str = (String)((JSONArray)localObject).get(0); + int j = ((Integer)((JSONArray)localObject).get(1)).intValue(); + localObject = a(str); + if (localObject == null) + { + localObject = new NewConfigureCacheItem(str); + a((NewConfigureCacheItem)localObject); + ((NewConfigureCacheItem)localObject).mClientVersion = j; + i += 1; + } + } + else + { + return true; + } + } + catch (JSONException paramJSONArray) + { + return false; + } + catch (Exception paramJSONArray) + { + return false; + } + } + } + + private boolean b(JSONObject paramJSONObject) + { + if (paramJSONObject == null) { + return false; + } + Object localObject; + int i; + try + { + localObject = paramJSONObject.getJSONArray("main_tab_new"); + paramJSONObject = paramJSONObject.getJSONArray("conf_id_new"); + if (localObject != null) + { + i = 0; + if (i < ((JSONArray)localObject).length()) + { + localNewConfigureCacheItem = a((String)((JSONArray)localObject).get(i)); + if (localNewConfigureCacheItem == null) { + break label230; + } + localNewConfigureCacheItem.mClickVersion = -1; + break label230; + } + } + localObject = this.c.iterator(); + while (((Iterator)localObject).hasNext()) + { + localNewConfigureCacheItem = (NewConfigureCacheItem)((Iterator)localObject).next(); + if (localNewConfigureCacheItem.mClickVersion != -1) { + localNewConfigureCacheItem.mClickVersion = localNewConfigureCacheItem.mClientVersion; + } + } + localObject = a("game_lock"); + } + catch (Exception paramJSONObject) + { + e.b(paramJSONObject.toString()); + return false; + } + if (((NewConfigureCacheItem)localObject).mConfIDs == null) { + ((NewConfigureCacheItem)localObject).mConfIDs = new ArrayList(); + } + NewConfigureCacheItem localNewConfigureCacheItem = a("account_prot"); + if (localNewConfigureCacheItem.mConfIDs == null) { + localNewConfigureCacheItem.mConfIDs = new ArrayList(); + } + for (;;) + { + if (i < paramJSONObject.length()) + { + ((NewConfigureCacheItem)localObject).mConfIDs.add(Integer.valueOf(paramJSONObject.getInt(i))); + localNewConfigureCacheItem.mConfIDs.add(Integer.valueOf(paramJSONObject.getInt(i))); + i += 1; + } + else + { + label230: + do + { + return true; + i += 1; + break; + } while (paramJSONObject == null); + i = 0; + } + } + } + + /* Error */ + public final NewConfigureCacheItem a(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 53 com/tencent/token/fp:c Ljava/util/List; + // 6: invokeinterface 116 1 0 + // 11: astore 4 + // 13: aload 4 + // 15: invokeinterface 122 1 0 + // 20: ifeq +33 -> 53 + // 23: aload 4 + // 25: invokeinterface 126 1 0 + // 30: checkcast 91 com/tencent/token/core/bean/NewConfigureCacheItem + // 33: astore_3 + // 34: aload_3 + // 35: getfield 151 com/tencent/token/core/bean/NewConfigureCacheItem:mConfKey Ljava/lang/String; + // 38: aload_1 + // 39: invokevirtual 154 java/lang/String:equals (Ljava/lang/Object;)Z + // 42: istore_2 + // 43: iload_2 + // 44: ifeq -31 -> 13 + // 47: aload_3 + // 48: astore_1 + // 49: aload_0 + // 50: monitorexit + // 51: aload_1 + // 52: areturn + // 53: aconst_null + // 54: astore_1 + // 55: goto -6 -> 49 + // 58: astore_1 + // 59: aload_0 + // 60: monitorexit + // 61: aload_1 + // 62: athrow + // Local variable table: + // start length slot name signature + // 0 63 0 this fp + // 0 63 1 paramString String + // 42 2 2 bool boolean + // 33 15 3 localNewConfigureCacheItem NewConfigureCacheItem + // 11 13 4 localIterator Iterator + // Exception table: + // from to target type + // 2 13 58 finally + // 13 43 58 finally + } + + public final ft a(Serializable paramSerializable) + { + ft localft = new ft(); + localft.a = paramSerializable; + return localft; + } + + public final Serializable a(ft paramft) + { + return (Serializable)paramft.a; + } + + public final void a() + { + ft localft = new ft(); + localft.a = this.c; + RqdApplication.h().a(this, localft); + } + + public final boolean a(JSONObject paramJSONObject) + { + bool2 = false; + bool1 = false; + if (paramJSONObject == null) { + bool2 = bool1; + } + for (;;) + { + return bool2; + e.c(paramJSONObject.toString()); + for (;;) + { + try + { + i = paramJSONObject.getInt("version"); + bool1 = bool2; + if (this.b < i) { + bool1 = a(paramJSONObject.getJSONArray("config_version")); + } + } + catch (Exception paramJSONObject) + { + int i; + SharedPreferences.Editor localEditor; + bool1 = bool2; + continue; + continue; + } + try + { + localEditor = RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit(); + localEditor.putInt("exchangeky_conf_ver", i); + localEditor.commit(); + if (this.b == 0) + { + bool1 = b(paramJSONObject.getJSONObject("install_new")); + this.b = i; + bool2 = bool1; + if (!bool1) { + break; + } + paramJSONObject = new ft(); + paramJSONObject.a = this.c; + RqdApplication.h().a(this, paramJSONObject); + setChanged(); + notifyObservers(); + return bool1; + } + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + } + } + + public final void b() + { + int k = 0; + this.b = g.a(); + Object localObject1 = RqdApplication.h().a(this); + int i; + label35: + int j; + if (localObject1 == null) + { + localObject1 = null; + if (localObject1 != null) { + break label70; + } + i = 0; + j = k; + if (i == 0) { + break label196; + } + this.c.addAll((Collection)localObject1); + } + for (;;) + { + return; + localObject1 = (List)((fe)localObject1).b.a; + break; + label70: + int m = ((List)localObject1).size(); + i = 0; + for (;;) + { + if (i >= a.length) { + break label151; + } + j = 0; + while (j < m) + { + localObject2 = (NewConfigureCacheItem)((List)localObject1).get(j); + if (a[i].equals(((NewConfigureCacheItem)localObject2).mConfKey)) { + break; + } + j += 1; + } + if (j == m) + { + i = 0; + break; + } + i += 1; + } + label151: + Object localObject2 = ((List)localObject1).iterator(); + for (;;) + { + if (((Iterator)localObject2).hasNext()) { + if (((NewConfigureCacheItem)((Iterator)localObject2).next()).mConfIDs == null) + { + i = 0; + break; + } + } + } + i = 1; + break label35; + label196: + while (j < a.length) + { + a(new NewConfigureCacheItem(a[j])); + j += 1; + } + } + } + + public final void c() + { + ft localft = new ft(); + localft.a = this.c; + RqdApplication.h().a(this, localft); + } + + public final String d() + { + return getClass().toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fq.java b/com.tencent.token/classes.jar/com/tencent/token/fq.java new file mode 100755 index 00000000000..67e67856702 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fq.java @@ -0,0 +1,155 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class fq +{ + public g a = new g(); + public ArrayList b; + String c; + long d; + + private void a(g paramg) + { + try + { + this.a = paramg; + ax.a(); + this.c = ax.c; + if (ax.a().e() != null) { + this.d = ax.a().e().mUin; + } + return; + } + finally + { + paramg = finally; + throw paramg; + } + } + + public final boolean a(JSONArray paramJSONArray) + { + g localg = new g(); + if (paramJSONArray != null) {} + for (;;) + { + int i; + try + { + if (paramJSONArray.length() > 0) + { + i = 0; + if (i < paramJSONArray.length()) + { + Object localObject = paramJSONArray.getJSONObject(i); + localg.a = ((JSONObject)localObject).getInt("id"); + localg.b = ((JSONObject)localObject).getString("name"); + if (((JSONObject)localObject).getInt("value") == 0) { + break label267; + } + bool = true; + localg.c = bool; + localObject = ((JSONObject)localObject).getJSONArray("list"); + if (((JSONArray)localObject).length() > 0) + { + this.b = new ArrayList(); + int j = 0; + if (j >= ((JSONArray)localObject).length()) { + break label273; + } + JSONObject localJSONObject = ((JSONArray)localObject).getJSONObject(j); + DeviceInfo localDeviceInfo = new DeviceInfo(); + localDeviceInfo.dguid = localJSONObject.getString("dguid"); + localDeviceInfo.dname = localJSONObject.getString("dname"); + localDeviceInfo.dtype = localJSONObject.getString("dtype"); + localDeviceInfo.ddes = localJSONObject.getString("ddes"); + localDeviceInfo.dappid = localJSONObject.getInt("dappid"); + localDeviceInfo.dsubappid = localJSONObject.getInt("dsubappid"); + localDeviceInfo.dappname = localJSONObject.getString("dappname"); + this.b.add(localDeviceInfo); + j += 1; + continue; + } + this.b = new ArrayList(); + break label273; + } + } + a(localg); + return true; + } + catch (Exception paramJSONArray) + { + paramJSONArray.printStackTrace(); + return false; + } + label267: + boolean bool = false; + continue; + label273: + i += 1; + } + } + + public final boolean a(JSONObject paramJSONObject) + { + g localg = new g(); + for (;;) + { + try + { + localg.a = paramJSONObject.getInt("id"); + localg.b = paramJSONObject.getString("name"); + if (paramJSONObject.getInt("value") != 0) + { + bool = true; + localg.c = bool; + paramJSONObject = paramJSONObject.getJSONArray("list"); + if (paramJSONObject.length() > 0) + { + this.b = new ArrayList(); + int i = 0; + if (i < paramJSONObject.length()) + { + JSONObject localJSONObject = paramJSONObject.getJSONObject(i); + DeviceInfo localDeviceInfo = new DeviceInfo(); + localDeviceInfo.dguid = localJSONObject.getString("dguid"); + localDeviceInfo.dname = localJSONObject.getString("dname"); + localDeviceInfo.dtype = localJSONObject.getString("dtype"); + localDeviceInfo.ddes = localJSONObject.getString("ddes"); + localDeviceInfo.dappid = localJSONObject.getInt("dappid"); + localDeviceInfo.dsubappid = localJSONObject.getInt("dsubappid"); + localDeviceInfo.dappname = localJSONObject.getString("dappname"); + this.b.add(localDeviceInfo); + i += 1; + continue; + } + } + else + { + this.b = new ArrayList(); + } + a(localg); + return true; + } + } + catch (Exception paramJSONObject) + { + paramJSONObject.printStackTrace(); + return false; + } + boolean bool = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fr.java b/com.tencent.token/classes.jar/com/tencent/token/fr.java new file mode 100755 index 00000000000..201bd94473e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fr.java @@ -0,0 +1,37 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; + +public final class fr +{ + public g a = new g(); + String b; + long c; + public boolean d; + + public final void a(g paramg) + { + try + { + this.a = paramg; + ax.a(); + this.b = ax.c; + if (ax.a().e() != null) { + this.c = ax.a().e().mUin; + } + return; + } + finally + { + paramg = finally; + throw paramg; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fs.java b/com.tencent.token/classes.jar/com/tencent/token/fs.java new file mode 100755 index 00000000000..d684559262e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fs.java @@ -0,0 +1,46 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.os.Handler; +import java.io.File; +import java.util.HashMap; + +public final class fs +{ + public String a; + public int b; + public HashMap c = new HashMap(); + public Handler d; + public boolean e = false; + public int f; + public boolean g = false; + public int h = 90000; + public String i; + public int j; + public boolean k; + public bp l; + public int m = 0; + public ContentValues n; + public File o; + public String p; + public byte[] q; + + public fs() {} + + public fs(String paramString, int paramInt1, Handler paramHandler, int paramInt2) + { + this.a = paramString; + this.b = paramInt1; + this.d = paramHandler; + this.f = paramInt2; + if (paramHandler != null) { + this.i = paramHandler.getClass().getName(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ft.java b/com.tencent.token/classes.jar/com/tencent/token/ft.java new file mode 100755 index 00000000000..3e85a08d11e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ft.java @@ -0,0 +1,12 @@ +package com.tencent.token; + +public final class ft +{ + public Object a; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ft + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fu.java b/com.tencent.token/classes.jar/com/tencent/token/fu.java new file mode 100755 index 00000000000..2dd1d8b174c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fu.java @@ -0,0 +1,1863 @@ +package com.tencent.token; + +public final class fu +{ + public static final fu c; + public static final fu d; + public static final fu e; + static int[] f; + static final byte[] g; + private static long[] m = { 0L, 0L, 1024L, 1624L, 2048L, 2378L, 2648L, 2875L, 3072L, 3247L, 3402L, 3543L, 3672L, 3790L, 3899L, 4001L, 4096L, 4186L, 4271L, 4350L, 4426L, 4498L, 4567L, 4633L, 4696L, 4756L, 4814L, 4870L, 4923L, 4975L, 5025L, 5074L, 5120L, 5166L, 5210L, 5253L, 5295L }; + private static final fu n = a(152125131763605L); + private static fu[] o = new fu[17]; + private static fu[] p = new fu[17]; + private static final fu q; + private static String[] r; + private static int[] s = { 0, 0, 62, 39, 31, 27, 24, 22, 20, 19, 18, 18, 17, 17, 16, 16, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12 }; + private static fu[] t = { null, null, a(4611686018427387904L), a(4052555153018976267L), a(4611686018427387904L), a(7450580596923828125L), a(4738381338321616896L), a(3909821048582988049L), a(1152921504606846976L), a(1350851717672992089L), a(1000000000000000000L), a(5559917313492231481L), a(2218611106740436992L), a(8650415919381337933L), a(2177953337809371136L), a(6568408355712890625L), a(1152921504606846976L), a(2862423051509815793L), a(6746640616477458432L), a(799006685782884121L), a(1638400000000000000L), a(3243919932521508681L), a(6221821273427820544L), a(504036361936467383L), a(876488338465357824L), a(1490116119384765625L), a(2481152873203736576L), a(4052555153018976267L), a(6502111422497947648L), a(353814783205469041L), a(531441000000000000L), a(787662783788549761L), a(1152921504606846976L), a(1667889514952984961L), a(2386420683693101056L), a(3379220508056640625L), a(4738381338321616896L) }; + private static int[] u = { 0, 0, 30, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5 }; + private static int[] v = { 0, 0, 1073741824, 1162261467, 1073741824, 1220703125, 362797056, 1977326743, 1073741824, 387420489, 1000000000, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 1280000000, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729000000, 887503681, 1073741824, 1291467969, 1544804416, 1838265625, 60466176 }; + int a; + int[] b; + private int h = -1; + private int i = -1; + private int j = -2; + private int k = -2; + private int l = -2; + + static + { + int i1 = 1; + while (i1 <= 16) + { + localObject = new int[1]; + localObject[0] = i1; + o[i1] = new fu((int[])localObject, 1); + p[i1] = new fu((int[])localObject, -1); + i1 += 1; + } + c = new fu(new int[0], 0); + d = a(1L); + q = a(2L); + e = a(10L); + f = new int[] { 7, 25, 81, 241, 673, 1793, 2147483647 }; + g = new byte[] { -25, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 }; + Object localObject = new String[64]; + r = (String[])localObject; + localObject[63] = "000000000000000000000000000000000000000000000000000000000000000"; + i1 = 0; + while (i1 < 63) + { + r[i1] = r[63].substring(0, i1); + i1 += 1; + } + } + + private fu(long paramLong) + { + if (paramLong < 0L) + { + this.a = -1; + paramLong = -paramLong; + } + int i1; + for (;;) + { + i1 = (int)(paramLong >>> 32); + if (i1 != 0) { + break; + } + this.b = new int[1]; + this.b[0] = ((int)paramLong); + return; + this.a = 1; + } + this.b = new int[2]; + this.b[0] = i1; + this.b[1] = ((int)paramLong); + } + + fu(fv paramfv, int paramInt) + { + int i1; + if ((paramfv.c > 0) || (paramfv.a.length != paramfv.b)) + { + this.b = new int[paramfv.b]; + i1 = 0; + } + while (i1 < paramfv.b) + { + this.b[i1] = paramfv.a[(paramfv.c + i1)]; + i1 += 1; + continue; + this.b = paramfv.a; + } + if (paramfv.b == 0) { + paramInt = i2; + } + for (;;) + { + this.a = paramInt; + return; + } + } + + public fu(String paramString) + { + this(paramString, 10); + } + + public fu(String paramString, int paramInt) + { + int i2 = paramString.length(); + if ((paramInt < 2) || (paramInt > 36)) { + throw new NumberFormatException("Radix out of range"); + } + if (paramString.length() == 0) { + throw new NumberFormatException("Zero length BigInteger"); + } + this.a = 1; + int i1 = paramString.lastIndexOf('-'); + if (i1 != -1) { + if (i1 == 0) + { + if (paramString.length() == 1) { + throw new NumberFormatException("Zero length BigInteger"); + } + this.a = -1; + i1 = 1; + } + } + for (;;) + { + if ((i1 < i2) && (Character.digit(paramString.charAt(i1), paramInt) == 0)) + { + i1 += 1; + continue; + throw new NumberFormatException("Illegal embedded minus sign"); + } + else + { + if (i1 == i2) + { + this.a = 0; + this.b = c.b; + return; + } + i2 -= i1; + this.b = new int[((int)((i2 * m[paramInt] >>> 10) + 1L) + 31) / 32]; + int i3 = i2 % u[paramInt]; + i2 = i3; + if (i3 == 0) { + i2 = u[paramInt]; + } + i2 += i1; + String str = paramString.substring(i1, i2); + this.b[(this.b.length - 1)] = Integer.parseInt(str, paramInt); + if (this.b[(this.b.length - 1)] < 0) { + throw new NumberFormatException("Illegal digit"); + } + i3 = v[paramInt]; + for (i1 = i2; i1 < paramString.length(); i1 = i2) + { + i2 = u[paramInt] + i1; + i1 = Integer.parseInt(paramString.substring(i1, i2), paramInt); + if (i1 < 0) { + throw new NumberFormatException("Illegal digit"); + } + b(this.b, i3, i1); + } + this.b = b(this.b); + return; + i1 = 0; + } + } + } + + public fu(byte[] paramArrayOfByte) + { + if (paramArrayOfByte.length == 0) { + throw new NumberFormatException("Zero length BigInteger"); + } + if (paramArrayOfByte[0] < 0) { + this.b = b(paramArrayOfByte); + } + for (;;) + { + this.a = i1; + return; + this.b = a(paramArrayOfByte); + if (this.b.length == 0) { + i1 = 0; + } else { + i1 = 1; + } + } + } + + private fu(int[] paramArrayOfInt) + { + this.b = a(paramArrayOfInt); + if (this.b.length == 0) + { + this.a = 0; + return; + } + this.a = 1; + } + + private fu(int[] paramArrayOfInt, int paramInt) + { + if (paramArrayOfInt.length == 0) { + paramInt = 0; + } + this.a = paramInt; + this.b = paramArrayOfInt; + } + + static int a(int paramInt) + { + if (paramInt < 32768) + { + if (paramInt < 128) + { + if (paramInt < 8) + { + if (paramInt < 2) + { + if (paramInt <= 0) + { + if (paramInt < 0) { + return 32; + } + return 0; + } + return 1; + } + if (paramInt < 4) { + return 2; + } + return 3; + } + if (paramInt < 32) + { + if (paramInt < 16) { + return 4; + } + return 5; + } + if (paramInt < 64) { + return 6; + } + return 7; + } + if (paramInt < 2048) + { + if (paramInt < 512) + { + if (paramInt < 256) { + return 8; + } + return 9; + } + if (paramInt < 1024) { + return 10; + } + return 11; + } + if (paramInt < 8192) + { + if (paramInt < 4096) { + return 12; + } + return 13; + } + if (paramInt < 16384) { + return 14; + } + return 15; + } + if (paramInt < 8388608) + { + if (paramInt < 524288) + { + if (paramInt < 131072) + { + if (paramInt < 65536) { + return 16; + } + return 17; + } + if (paramInt < 262144) { + return 18; + } + return 19; + } + if (paramInt < 2097152) + { + if (paramInt < 1048576) { + return 20; + } + return 21; + } + if (paramInt < 4194304) { + return 22; + } + return 23; + } + if (paramInt < 134217728) + { + if (paramInt < 33554432) + { + if (paramInt < 16777216) { + return 24; + } + return 25; + } + if (paramInt < 67108864) { + return 26; + } + return 27; + } + if (paramInt < 536870912) + { + if (paramInt < 268435456) { + return 28; + } + return 29; + } + if (paramInt < 1073741824) { + return 30; + } + return 31; + } + + private static int a(int[] paramArrayOfInt, int paramInt1, int paramInt2, int paramInt3) + { + paramInt1 = paramArrayOfInt.length - 1 - paramInt2 - paramInt1; + long l1 = (paramArrayOfInt[paramInt1] & 0xFFFFFFFF) + (paramInt3 & 0xFFFFFFFF); + paramArrayOfInt[paramInt1] = ((int)l1); + if (l1 >>> 32 == 0L) { + return 0; + } + do + { + paramInt2 -= 1; + if (paramInt2 < 0) { + break; + } + paramInt3 = paramInt1 - 1; + if (paramInt3 < 0) { + return 1; + } + paramArrayOfInt[paramInt3] += 1; + paramInt1 = paramInt3; + } while (paramArrayOfInt[paramInt3] == 0); + return 0; + return 1; + } + + private static int a(int[] paramArrayOfInt1, int[] paramArrayOfInt2, int paramInt) + { + long l1 = 0L; + for (;;) + { + paramInt -= 1; + if (paramInt < 0) { + break; + } + l1 = (l1 >> 32) + ((paramArrayOfInt1[paramInt] & 0xFFFFFFFF) - (paramArrayOfInt2[paramInt] & 0xFFFFFFFF)); + paramArrayOfInt1[paramInt] = ((int)l1); + } + return (int)(l1 >> 32); + } + + private static int a(int[] paramArrayOfInt1, int[] paramArrayOfInt2, int paramInt1, int paramInt2, int paramInt3) + { + long l2 = paramInt3; + long l1 = 0L; + paramInt1 = paramArrayOfInt1.length - paramInt1 - 1; + paramInt2 -= 1; + while (paramInt2 >= 0) + { + l1 += (paramArrayOfInt2[paramInt2] & 0xFFFFFFFF) * (l2 & 0xFFFFFFFF) + (paramArrayOfInt1[paramInt1] & 0xFFFFFFFF); + paramArrayOfInt1[paramInt1] = ((int)l1); + l1 >>>= 32; + paramInt2 -= 1; + paramInt1 -= 1; + } + return (int)l1; + } + + private static fu a(long paramLong) + { + if (paramLong == 0L) { + return c; + } + if ((paramLong > 0L) && (paramLong <= 16L)) { + return o[((int)paramLong)]; + } + if ((paramLong < 0L) && (paramLong >= -16L)) { + return p[((int)-paramLong)]; + } + return new fu(paramLong); + } + + private fu a(fu paramfu) + { + if (paramfu.a == 0) { + return this; + } + if (this.a == 0) { + return paramfu; + } + if (paramfu.a == this.a) { + return new fu(a(this.b, paramfu.b), this.a); + } + int i1 = c(this.b, paramfu.b); + if (i1 == 0) { + return c; + } + if (i1 > 0) {} + for (paramfu = b(this.b, paramfu.b);; paramfu = b(paramfu.b, this.b)) { + return new fu(b(paramfu), i1 * this.a); + } + } + + private fu a(fu paramfu, int paramInt) + { + fu localfu1 = a(1L); + fu localfu2 = c(paramInt); + int i2 = paramfu.c(); + int i1; + if (f(0)) + { + i1 = i2; + if (paramInt - 1 < i2) { + i1 = paramInt - 1; + } + i2 = i1; + i1 = 0; + } + for (;;) + { + if (i1 < i2) + { + if (!paramfu.f(i1)) { + break label145; + } + localfu1 = localfu1.b(localfu2).c(paramInt); + } + label145: + for (;;) + { + i1 += 1; + if (i1 < i2) + { + if (localfu2.a == 0) {} + for (localfu2 = c;; localfu2 = new fu(b(a(localfu2.b, localfu2.b.length, null)), 1)) + { + localfu2 = localfu2.c(paramInt); + break; + } + return localfu1; + } + break; + } + i1 = 0; + } + } + + static void a(int[] paramArrayOfInt, int paramInt1, int paramInt2) + { + if ((paramInt1 == 0) || (paramInt2 == 0)) { + return; + } + int i1 = paramArrayOfInt[0]; + int i2 = 0; + while (i2 < paramInt1 + 0 - 1) + { + int i3 = paramArrayOfInt[(i2 + 1)]; + paramArrayOfInt[i2] = (i1 << paramInt2 | i3 >>> 32 - paramInt2); + i2 += 1; + i1 = i3; + } + paramInt1 -= 1; + paramArrayOfInt[paramInt1] <<= paramInt2; + } + + private static int[] a(byte[] paramArrayOfByte) + { + int i1 = paramArrayOfByte.length; + int i2 = 0; + while ((i2 < paramArrayOfByte.length) && (paramArrayOfByte[i2] == 0)) { + i2 += 1; + } + int i3 = (i1 - i2 + 3) / 4; + int[] arrayOfInt = new int[i3]; + i3 -= 1; + i1 -= 1; + while (i3 >= 0) + { + int i4 = i1 - 1; + paramArrayOfByte[i1] &= 0xFF; + int i6 = Math.min(3, i4 - i2 + 1); + int i5 = 8; + i1 = i4; + i4 = i5; + while (i4 <= i6 * 8) + { + i5 = arrayOfInt[i3]; + arrayOfInt[i3] = ((paramArrayOfByte[i1] & 0xFF) << i4 | i5); + i4 += 8; + i1 -= 1; + } + i3 -= 1; + } + return arrayOfInt; + } + + private static int[] a(int[] paramArrayOfInt) + { + int i2 = 0; + int i1 = 0; + while ((i1 < paramArrayOfInt.length) && (paramArrayOfInt[i1] == 0)) { + i1 += 1; + } + int[] arrayOfInt = new int[paramArrayOfInt.length - i1]; + while (i2 < paramArrayOfInt.length - i1) + { + arrayOfInt[i2] = paramArrayOfInt[(i1 + i2)]; + i2 += 1; + } + return arrayOfInt; + } + + private static final int[] a(int[] paramArrayOfInt1, int paramInt, int[] paramArrayOfInt2) + { + int i2 = 0; + int i4 = paramInt << 1; + int[] arrayOfInt; + if (paramArrayOfInt2 != null) + { + arrayOfInt = paramArrayOfInt2; + if (paramArrayOfInt2.length >= i4) {} + } + else + { + arrayOfInt = new int[i4]; + } + int i1 = 0; + int i3 = 0; + while (i1 < paramInt) + { + long l1 = paramArrayOfInt1[i1] & 0xFFFFFFFF; + l1 *= l1; + arrayOfInt[i2] = ((int)(l1 >>> 33)); + arrayOfInt[i2] &= 0x7FFFFFFF; + arrayOfInt[i2] = (i3 << 31 | arrayOfInt[i2]); + i2 += 1; + arrayOfInt[i2] = ((int)(l1 >>> 1)); + i2 += 1; + i3 = (int)l1; + i1 += 1; + } + i1 = 1; + i2 = paramInt; + while (i2 > 0) + { + a(arrayOfInt, i1 - 1, i2, a(arrayOfInt, paramArrayOfInt1, i1, i2 - 1, paramArrayOfInt1[(i2 - 1)])); + i2 -= 1; + i1 += 2; + } + a(arrayOfInt, i4, 1); + i1 = i4 - 1; + arrayOfInt[i1] |= paramArrayOfInt1[(paramInt - 1)] & 0x1; + return arrayOfInt; + } + + private static int[] a(int[] paramArrayOfInt1, int paramInt1, int[] paramArrayOfInt2, int paramInt2, int[] paramArrayOfInt3) + { + int i2 = paramInt1 - 1; + int i1 = paramInt2 - 1; + int[] arrayOfInt; + if (paramArrayOfInt3 != null) + { + arrayOfInt = paramArrayOfInt3; + if (paramArrayOfInt3.length >= paramInt1 + paramInt2) {} + } + else + { + arrayOfInt = new int[paramInt1 + paramInt2]; + } + long l1 = 0L; + paramInt1 = i1 + 1 + i2; + paramInt2 = i1; + while (paramInt2 >= 0) + { + l1 += (paramArrayOfInt2[paramInt2] & 0xFFFFFFFF) * (paramArrayOfInt1[i2] & 0xFFFFFFFF); + arrayOfInt[paramInt1] = ((int)l1); + l1 >>>= 32; + paramInt2 -= 1; + paramInt1 -= 1; + } + arrayOfInt[i2] = ((int)l1); + paramInt1 = i2 - 1; + while (paramInt1 >= 0) + { + i2 = i1; + paramInt2 = i1 + 1 + paramInt1; + long l2; + for (l1 = 0L; i2 >= 0; l1 = l2) + { + l2 = l1; + if (paramInt2 >= 0) + { + l1 += (paramArrayOfInt2[i2] & 0xFFFFFFFF) * (paramArrayOfInt1[paramInt1] & 0xFFFFFFFF) + (arrayOfInt[paramInt2] & 0xFFFFFFFF); + arrayOfInt[paramInt2] = ((int)l1); + l2 = l1 >>> 32; + } + i2 -= 1; + paramInt2 -= 1; + } + arrayOfInt[paramInt1] = ((int)l1); + paramInt1 -= 1; + } + return arrayOfInt; + } + + private static int[] a(int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + if (paramArrayOfInt1.length < paramArrayOfInt2.length) {} + for (;;) + { + int i1 = paramArrayOfInt2.length; + int i2 = paramArrayOfInt1.length; + int[] arrayOfInt = new int[i1]; + long l1 = 0L; + while (i2 > 0) + { + i1 -= 1; + long l2 = paramArrayOfInt2[i1]; + i2 -= 1; + l1 = (l1 >>> 32) + ((l2 & 0xFFFFFFFF) + (paramArrayOfInt1[i2] & 0xFFFFFFFF)); + arrayOfInt[i1] = ((int)l1); + } + int i3; + if (l1 >>> 32 != 0L) + { + i2 = 1; + i3 = i1; + if (i1 <= 0) { + break label140; + } + i3 = i1; + if (i2 == 0) { + break label140; + } + i3 = i1 - 1; + i1 = paramArrayOfInt2[i3] + 1; + arrayOfInt[i3] = i1; + if (i1 != 0) { + break label135; + } + } + label135: + for (i1 = 1;; i1 = 0) + { + i2 = i1; + i1 = i3; + break; + i2 = 0; + break; + } + label140: + while (i3 > 0) + { + i3 -= 1; + arrayOfInt[i3] = paramArrayOfInt2[i3]; + } + if (i2 != 0) + { + i2 = arrayOfInt.length + 1; + paramArrayOfInt1 = new int[i2]; + i1 = 1; + while (i1 < i2) + { + paramArrayOfInt1[i1] = arrayOfInt[(i1 - 1)]; + i1 += 1; + } + paramArrayOfInt1[0] = 1; + return paramArrayOfInt1; + } + return arrayOfInt; + arrayOfInt = paramArrayOfInt1; + paramArrayOfInt1 = paramArrayOfInt2; + paramArrayOfInt2 = arrayOfInt; + } + } + + private static int[] a(int[] paramArrayOfInt1, int[] paramArrayOfInt2, int paramInt1, int paramInt2) + { + int i4 = 0; + int i1 = paramInt1; + int i2 = 0; + int i3; + int i5; + do + { + i3 = i2 + a(paramArrayOfInt1, i4, paramInt1, a(paramArrayOfInt1, paramArrayOfInt2, i4, paramInt1, paramArrayOfInt1[(paramArrayOfInt1.length - 1 - i4)] * paramInt2)); + i4 += 1; + i5 = i1 - 1; + i1 = i5; + i2 = i3; + } while (i5 > 0); + while (i3 > 0) { + i3 += a(paramArrayOfInt1, paramArrayOfInt2, paramInt1); + } + paramInt2 = 0; + label86: + long l1; + long l2; + if (paramInt2 < paramInt1) + { + l1 = paramArrayOfInt1[paramInt2] & 0xFFFFFFFF; + l2 = paramArrayOfInt2[paramInt2] & 0xFFFFFFFF; + if (l1 < l2) { + paramInt2 = -1; + } + } + for (;;) + { + if (paramInt2 < 0) { + return paramArrayOfInt1; + } + a(paramArrayOfInt1, paramArrayOfInt2, paramInt1); + break; + if (l1 > l2) + { + paramInt2 = 1; + } + else + { + paramInt2 += 1; + break label86; + paramInt2 = 0; + } + } + return paramArrayOfInt1; + } + + private int b() + { + if (this.j == -2) { + if (this.a != 0) { + break label26; + } + } + label26: + int i1; + int i2; + for (this.j = -1;; this.j = ((i1 << 5) + b(i2))) + { + return this.j; + i1 = 0; + for (;;) + { + i2 = h(i1); + if (i2 != 0) { + break; + } + i1 += 1; + } + } + } + + static int b(int paramInt) + { + int i1 = paramInt & 0xFF; + if (i1 != 0) { + return g[i1]; + } + i1 = paramInt >>> 8 & 0xFF; + if (i1 != 0) { + return g[i1] + 8; + } + i1 = paramInt >>> 16 & 0xFF; + if (i1 != 0) { + return g[i1] + 16; + } + return g[(paramInt >>> 24 & 0xFF)] + 24; + } + + private fu b(fu paramfu) + { + if ((this.a == 0) || (paramfu.a == 0)) { + return c; + } + return new fu(b(a(this.b, this.b.length, paramfu.b, paramfu.b.length, null)), this.a * paramfu.a); + } + + private fu b(fu paramfu1, fu paramfu2) + { + if (paramfu1.equals(d)) { + return this; + } + if (this.a == 0) { + return c; + } + Object localObject1 = new int[this.b.length]; + System.arraycopy(this.b, 0, localObject1, 0, this.b.length); + int[] arrayOfInt1 = paramfu1.b; + int[] arrayOfInt2 = paramfu2.b; + int i12 = arrayOfInt2.length; + int i8 = 0; + int i2 = 0; + int i1 = arrayOfInt1.length; + if (i1 == 0) {} + for (int i4 = 0;; i4 = (i1 - 1 << 5) + a(arrayOfInt1[0])) + { + i1 = i2; + if (i4 == 17) + { + if (arrayOfInt1[0] == 65537) { + break; + } + i1 = i2; + } + for (;;) + { + i8 = i1; + if (i4 <= f[i1]) { + break; + } + i1 += 1; + } + } + int i13 = 1 << i8; + int[][] arrayOfInt = new int[i13][]; + i1 = 0; + while (i1 < i13) + { + arrayOfInt[i1] = new int[i12]; + i1 += 1; + } + i1 = arrayOfInt2[(i12 - 1)]; + i2 = (2 - i1 * i1) * i1; + i2 *= (2 - i1 * i2); + i2 *= (2 - i1 * i2); + int i14 = -((2 - i1 * i2) * i2); + int i3 = localObject1.length; + i1 = i12 << 5; + int i5 = i1 >>> 5; + i2 = i1 & 0x1F; + int i6 = a(localObject1[0]); + if (i1 <= 32 - i6) + { + a((int[])localObject1, i3, i2); + paramfu1 = (fu)localObject1; + } + for (;;) + { + localObject1 = new fv(); + paramfu2 = new fv(); + new fv(paramfu1).a(new fv(arrayOfInt2), (fv)localObject1, paramfu2); + localObject1 = new int[paramfu2.b]; + i1 = 0; + while (i1 < paramfu2.b) + { + localObject1[i1] = paramfu2.a[(paramfu2.c + i1)]; + i1 += 1; + } + if (i2 <= 32 - i6) + { + paramfu1 = new int[i5 + i3]; + i1 = 0; + while (i1 < i3) + { + paramfu1[i1] = localObject1[i1]; + i1 += 1; + } + a(paramfu1, paramfu1.length, i2); + } + else + { + paramfu1 = new int[i5 + i3 + 1]; + i1 = 0; + while (i1 < i3) + { + paramfu1[i1] = localObject1[i1]; + i1 += 1; + } + i1 = paramfu1.length; + i5 = 32 - i2; + i2 = i1 - 1; + for (i1 = paramfu1[i2]; i2 > 0; i1 = i3) + { + i3 = paramfu1[(i2 - 1)]; + paramfu1[i2] = (i1 >>> i5 | i3 << 32 - i5); + i2 -= 1; + } + paramfu1[0] >>>= i5; + } + } + arrayOfInt[0] = localObject1; + if (arrayOfInt[0].length < i12) + { + i2 = arrayOfInt[0].length; + paramfu2 = new int[i12]; + i1 = 0; + while (i1 < arrayOfInt[0].length) + { + paramfu2[(i1 + (i12 - i2))] = arrayOfInt[0][i1]; + i1 += 1; + } + arrayOfInt[0] = paramfu2; + } + paramfu2 = a(a(arrayOfInt[0], i12, null), arrayOfInt2, i12, i14); + localObject1 = new int[i12]; + i1 = 0; + while (i1 < i12) + { + localObject1[i1] = paramfu2[i1]; + i1 += 1; + } + i1 = 1; + while (i1 < i13) + { + arrayOfInt[i1] = a(a((int[])localObject1, i12, arrayOfInt[(i1 - 1)], i12, null), arrayOfInt2, i12, i14); + i1 += 1; + } + i2 = 1 << (i4 - 1 & 0x1F); + i5 = 0; + i1 = arrayOfInt1.length; + i6 = 0; + i3 = 0; + int i7; + int i10; + int i9; + if (i6 <= i8) + { + if ((arrayOfInt1[i3] & i2) != 0) {} + for (i7 = 1;; i7 = 0) + { + int i11 = i2 >>> 1; + i10 = i3; + i9 = i1; + i2 = i11; + if (i11 == 0) + { + i10 = i3 + 1; + i2 = -2147483648; + i9 = i1 - 1; + } + i6 += 1; + i5 = i5 << 1 | i7; + i3 = i10; + i1 = i9; + break; + } + } + i6 = i4 - 1; + i4 = i6 - i8; + while ((i5 & 0x1) == 0) + { + i5 >>>= 1; + i4 += 1; + } + localObject1 = arrayOfInt[(i5 >>> 1)]; + Object localObject2; + if (i4 == i6) + { + i7 = i4; + i9 = i3; + i10 = 0; + localObject2 = paramfu2; + i5 = 0; + i4 = i2; + i3 = i1; + i2 = i9; + i1 = i7; + paramfu2 = paramfu1; + paramfu1 = (fu)localObject2; + i7 = i10; + } + for (;;) + { + i9 = i6 - 1; + i10 = i5 << 1; + i5 = i10; + i6 = i4; + if (i3 != 0) { + if ((arrayOfInt1[i2] & i4) != 0) + { + i5 = 1; + i10 |= i5; + i4 >>>= 1; + i5 = i10; + i6 = i4; + if (i4 != 0) { + break label1290; + } + i4 = -2147483648; + i3 -= 1; + i6 = i2 + 1; + i5 = i10; + i2 = i4; + i4 = i6; + } + } + for (;;) + { + if ((i5 & i13) != 0) + { + i1 = i9 - i8; + for (;;) + { + if ((i5 & 0x1) == 0) + { + i5 >>>= 1; + i1 += 1; + continue; + i5 = 0; + break; + } + } + localObject1 = arrayOfInt[(i5 >>> 1)]; + i6 = 0; + i5 = i1; + } + for (i1 = i6;; i1 = i6) + { + if (i9 == i5) { + if (i7 != 0) + { + localObject2 = new int[localObject1.length]; + System.arraycopy(localObject1, 0, localObject2, 0, localObject1.length); + i7 = 0; + paramfu1 = paramfu2; + paramfu2 = (fu)localObject2; + } + } + for (;;) + { + if (i9 != 0) + { + if (i7 != 0) { + break label1229; + } + paramfu1 = a(a(paramfu2, i12, paramfu1), arrayOfInt2, i12, i14); + i6 = i5; + i5 = i1; + i10 = i2; + i1 = i6; + i2 = i4; + i4 = i10; + i6 = i9; + break; + paramfu2 = a(a(paramfu1, i12, (int[])localObject1, i12, paramfu2), arrayOfInt2, i12, i14); + continue; + } + paramfu1 = new int[i12 * 2]; + i1 = 0; + while (i1 < i12) + { + paramfu1[(i1 + i12)] = paramfu2[i1]; + i1 += 1; + } + paramfu1 = a(paramfu1, arrayOfInt2, i12, i14); + paramfu2 = new int[i12]; + i1 = 0; + while (i1 < i12) + { + paramfu2[i1] = paramfu1[i1]; + i1 += 1; + } + return new fu(paramfu2); + label1229: + localObject2 = paramfu1; + paramfu1 = paramfu2; + i6 = i5; + i5 = i1; + i10 = i2; + paramfu2 = (fu)localObject2; + i1 = i6; + i2 = i4; + i4 = i10; + i6 = i9; + break; + localObject2 = paramfu2; + paramfu2 = paramfu1; + paramfu1 = (fu)localObject2; + } + i6 = i5; + i5 = i1; + } + label1290: + i4 = i2; + i2 = i6; + } + i5 = i4; + localObject2 = paramfu1; + i7 = 1; + i9 = i1; + paramfu1 = paramfu2; + i10 = 0; + i4 = i2; + paramfu2 = (fu)localObject2; + i1 = i5; + i2 = i3; + i3 = i9; + i5 = i10; + } + } + + private static void b(int[] paramArrayOfInt, int paramInt1, int paramInt2) + { + long l2 = paramInt1; + long l3 = paramInt2; + paramInt2 = paramArrayOfInt.length; + long l1 = 0L; + paramInt1 = paramInt2 - 1; + while (paramInt1 >= 0) + { + l1 += (paramArrayOfInt[paramInt1] & 0xFFFFFFFF) * (l2 & 0xFFFFFFFF); + paramArrayOfInt[paramInt1] = ((int)l1); + l1 >>>= 32; + paramInt1 -= 1; + } + l1 = (paramArrayOfInt[(paramInt2 - 1)] & 0xFFFFFFFF) + (l3 & 0xFFFFFFFF); + paramArrayOfInt[(paramInt2 - 1)] = ((int)l1); + l1 >>>= 32; + paramInt1 = paramInt2 - 2; + while (paramInt1 >= 0) + { + l1 += (paramArrayOfInt[paramInt1] & 0xFFFFFFFF); + paramArrayOfInt[paramInt1] = ((int)l1); + l1 >>>= 32; + paramInt1 -= 1; + } + } + + private static int[] b(byte[] paramArrayOfByte) + { + int i4 = paramArrayOfByte.length; + int i1 = 0; + while ((i1 < i4) && (paramArrayOfByte[i1] == -1)) { + i1 += 1; + } + int i2 = i1; + while ((i2 < i4) && (paramArrayOfByte[i2] == 0)) { + i2 += 1; + } + int[] arrayOfInt; + int i3; + if (i2 == i4) + { + i2 = 1; + i2 = (i2 + (i4 - i1) + 3) / 4; + arrayOfInt = new int[i2]; + i3 = i2 - 1; + i2 = i4 - 1; + } + for (;;) + { + if (i3 < 0) { + break label211; + } + int i5 = i2 - 1; + paramArrayOfByte[i2] &= 0xFF; + i2 = Math.min(3, i5 - i1 + 1); + i4 = i2; + if (i2 < 0) { + i4 = 0; + } + int i6 = 8; + i2 = i5; + i5 = i6; + for (;;) + { + if (i5 <= i4 * 8) + { + i6 = arrayOfInt[i3]; + arrayOfInt[i3] = ((paramArrayOfByte[i2] & 0xFF) << i5 | i6); + i5 += 8; + i2 -= 1; + continue; + i2 = 0; + break; + } + } + arrayOfInt[i3] = (-1 >>> (3 - i4) * 8 & (arrayOfInt[i3] ^ 0xFFFFFFFF)); + i3 -= 1; + } + label211: + i1 = arrayOfInt.length - 1; + while (i1 >= 0) + { + arrayOfInt[i1] = ((int)((arrayOfInt[i1] & 0xFFFFFFFF) + 1L)); + if (arrayOfInt[i1] != 0) { + break; + } + i1 -= 1; + } + return arrayOfInt; + } + + private static int[] b(int[] paramArrayOfInt) + { + int i2 = 0; + int i1 = 0; + while ((i1 < paramArrayOfInt.length) && (paramArrayOfInt[i1] == 0)) { + i1 += 1; + } + int[] arrayOfInt = paramArrayOfInt; + if (i1 > 0) + { + arrayOfInt = new int[paramArrayOfInt.length - i1]; + while (i2 < paramArrayOfInt.length - i1) + { + arrayOfInt[i2] = paramArrayOfInt[(i1 + i2)]; + i2 += 1; + } + } + return arrayOfInt; + } + + private static int[] b(int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + int i1 = paramArrayOfInt1.length; + int[] arrayOfInt = new int[i1]; + int i2 = paramArrayOfInt2.length; + long l1 = 0L; + while (i2 > 0) + { + i1 -= 1; + long l2 = paramArrayOfInt1[i1]; + i2 -= 1; + l1 = (l2 & 0xFFFFFFFF) - (paramArrayOfInt2[i2] & 0xFFFFFFFF) + (l1 >> 32); + arrayOfInt[i1] = ((int)l1); + } + int i3; + if (l1 >> 32 != 0L) + { + i2 = 1; + i3 = i1; + if (i1 <= 0) { + break label134; + } + i3 = i1; + if (i2 == 0) { + break label134; + } + i3 = i1 - 1; + i1 = paramArrayOfInt1[i3] - 1; + arrayOfInt[i3] = i1; + if (i1 != -1) { + break label129; + } + } + label129: + for (i1 = 1;; i1 = 0) + { + i2 = i1; + i1 = i3; + break; + i2 = 0; + break; + } + label134: + while (i3 > 0) + { + i3 -= 1; + arrayOfInt[i3] = paramArrayOfInt1[i3]; + } + return arrayOfInt; + } + + private int c() + { + if (this.i == -1) + { + if (this.a != 0) { + break label25; + } + this.i = 0; + } + for (;;) + { + return this.i; + label25: + int i3 = (this.b.length - 1 << 5) + a(this.b[0]); + if (this.a < 0) + { + int i1 = this.b[0]; + i1 -= ((0xAAAAAAAA & i1) >>> 1); + i1 = (i1 >>> 2 & 0x33333333) + (i1 & 0x33333333); + i1 = i1 + (i1 >>> 4) & 0xF0F0F0F; + i1 += (i1 >>> 8); + int i2; + if ((i1 + (i1 >>> 16) & 0xFF) == 1) + { + i1 = 1; + i2 = 1; + label118: + if ((i2 >= this.b.length) || (i1 == 0)) { + break label159; + } + if (this.b[i2] != 0) { + break label154; + } + } + label154: + for (i1 = 1;; i1 = 0) + { + i2 += 1; + break label118; + i1 = 0; + break; + } + label159: + if (i1 != 0) {} + for (i1 = i3 - 1;; i1 = i3) + { + this.i = i1; + break; + } + } + this.i = i3; + } + } + + private static int c(int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + int i3 = 0; + int i1; + if (paramArrayOfInt1.length < paramArrayOfInt2.length) + { + i1 = -1; + return i1; + } + if (paramArrayOfInt1.length > paramArrayOfInt2.length) { + return 1; + } + int i2 = 0; + for (;;) + { + i1 = i3; + if (i2 >= paramArrayOfInt1.length) { + break; + } + long l1 = paramArrayOfInt1[i2] & 0xFFFFFFFF; + long l2 = paramArrayOfInt2[i2] & 0xFFFFFFFF; + if (l1 < l2) { + return -1; + } + if (l1 > l2) { + return 1; + } + i2 += 1; + } + } + + private fu c(int paramInt) + { + if (c() <= paramInt) { + return this; + } + int i2 = (paramInt + 31) / 32; + int[] arrayOfInt = new int[i2]; + int i1 = 0; + while (i1 < i2) + { + arrayOfInt[i1] = this.b[(this.b.length - i2 + i1)]; + i1 += 1; + } + arrayOfInt[0] = ((int)(arrayOfInt[0] & (1L << 32 - ((i2 << 5) - paramInt)) - 1L)); + if (arrayOfInt[0] == 0) { + return new fu(arrayOfInt); + } + return new fu(arrayOfInt, 1); + } + + private fu c(fu paramfu) + { + if (paramfu.a <= 0) { + throw new ArithmeticException("BigInteger: modulus not positive"); + } + Object localObject = new fv(); + fv localfv = new fv(); + new fv(this.b).a(new fv(paramfu.b), (fv)localObject, localfv); + localObject = new fu(localfv, this.a); + if (((fu)localObject).a >= 0) { + return localObject; + } + return ((fu)localObject).a(paramfu); + } + + private fu d(int paramInt) + { + int i1 = 0; + int i2 = 0; + Object localObject; + if (this.a == 0) { + localObject = c; + } + do + { + return localObject; + localObject = this; + } while (paramInt == 0); + if (paramInt < 0) { + return e(-paramInt); + } + int i6 = paramInt >>> 5; + int i4 = paramInt & 0x1F; + int i3 = this.b.length; + int[] arrayOfInt; + if (i4 == 0) + { + arrayOfInt = new int[i6 + i3]; + paramInt = i2; + for (;;) + { + localObject = arrayOfInt; + if (paramInt >= i3) { + break; + } + arrayOfInt[paramInt] = this.b[paramInt]; + paramInt += 1; + } + } + int i5 = 32 - i4; + i2 = this.b[0] >>> i5; + if (i2 != 0) + { + localObject = new int[i6 + i3 + 1]; + paramInt = 1; + localObject[0] = i2; + } + while (i1 < i3 - 1) + { + arrayOfInt = this.b; + i2 = i1 + 1; + localObject[paramInt] = (arrayOfInt[i1] << i4 | this.b[i2] >>> i5); + i1 = i2; + paramInt += 1; + continue; + localObject = new int[i6 + i3]; + paramInt = 0; + } + localObject[paramInt] = (this.b[i1] << i4); + return new fu((int[])localObject, this.a); + } + + private fu d(fu paramfu) + { + if (paramfu.a != 1) { + throw new ArithmeticException("BigInteger: modulus not positive"); + } + if (paramfu.equals(d)) { + return c; + } + fu localfu; + if (this.a >= 0) + { + localfu = this; + if (c(this.b, paramfu.b) < 0) {} + } + else + { + localfu = c(paramfu); + } + if (localfu.equals(d)) { + return d; + } + return new fu(new fv(localfu).c(new fv(paramfu)), 1); + } + + private int e(fu paramfu) + { + if (this.a == paramfu.a) { + return this.a * c(this.b, paramfu.b); + } + if (this.a > paramfu.a) { + return 1; + } + return -1; + } + + private fu e(int paramInt) + { + if (paramInt == 0) { + return this; + } + if (paramInt < 0) { + return d(-paramInt); + } + int i4 = paramInt >>> 5; + int i3 = paramInt & 0x1F; + int i5 = this.b.length; + if (i4 >= i5) + { + if (this.a >= 0) { + return c; + } + return p[1]; + } + int i1; + Object localObject1; + if (i3 == 0) + { + i1 = i5 - i4; + localObject2 = new int[i1]; + paramInt = 0; + for (;;) + { + localObject1 = localObject2; + if (paramInt >= i1) { + break; + } + localObject2[paramInt] = this.b[paramInt]; + paramInt += 1; + } + } + paramInt = this.b[0] >>> i3; + if (paramInt != 0) + { + localObject2 = new int[i5 - i4]; + localObject2[0] = paramInt; + } + int i2; + for (paramInt = 1;; paramInt = 0) + { + i1 = 0; + for (;;) + { + localObject1 = localObject2; + if (i1 >= i5 - i4 - 1) { + break; + } + localObject1 = this.b; + i2 = i1 + 1; + localObject2[paramInt] = (localObject1[i1] << 32 - i3 | this.b[i2] >>> i3); + i1 = i2; + paramInt += 1; + } + localObject2 = new int[i5 - i4 - 1]; + } + Object localObject2 = localObject1; + if (this.a < 0) + { + i2 = i5 - i4; + i1 = i5 - 1; + paramInt = 0; + if ((i1 >= i2) && (paramInt == 0)) + { + if (this.b[i1] != 0) {} + for (paramInt = 1;; paramInt = 0) + { + i1 -= 1; + break; + } + } + i1 = paramInt; + if (paramInt == 0) + { + i1 = paramInt; + if (i3 != 0) { + if (this.b[(i2 - 1)] << 32 - i3 == 0) { + break label340; + } + } + } + label340: + for (i1 = 1;; i1 = 0) + { + localObject2 = localObject1; + if (i1 == 0) { + break label367; + } + paramInt = localObject1.length - 1; + i1 = 0; + while ((paramInt >= 0) && (i1 == 0)) + { + i1 = localObject1[paramInt] + 1; + localObject1[paramInt] = i1; + paramInt -= 1; + } + } + localObject2 = localObject1; + if (i1 == 0) + { + localObject2 = new int[localObject1.length + 1]; + localObject2[0] = 1; + } + } + label367: + return new fu((int[])localObject2, this.a); + } + + private boolean f(int paramInt) + { + if (paramInt < 0) { + throw new ArithmeticException("Negative bit address"); + } + return (h(paramInt / 32) & 1 << paramInt % 32) != 0; + } + + private String g(int paramInt) + { + if (this.a == 0) { + return "0"; + } + int i1; + if (paramInt >= 2) + { + i1 = paramInt; + if (paramInt <= 36) {} + } + else + { + i1 = 10; + } + String[] arrayOfString = new String[(this.b.length * 4 + 6) / 7]; + if (this.a >= 0) + { + localObject1 = this; + paramInt = 0; + } + int i2; + for (;;) + { + if (((fu)localObject1).a == 0) { + break label242; + } + fu localfu = t[i1]; + Object localObject2 = new fv(); + fv localfv = new fv(); + new fv(((fu)localObject1).b).a(new fv(localfu.b), (fv)localObject2, localfv); + localObject2 = new fu((fv)localObject2, ((fu)localObject1).a * localfu.a); + localObject1 = new fu(localfv, ((fu)localObject1).a * localfu.a); + long l1 = 0L; + i2 = 1; + for (;;) + { + if (i2 >= 0) + { + l1 = (l1 << 32) + (((fu)localObject1).h(i2) & 0xFFFFFFFF); + i2 -= 1; + continue; + localObject1 = new fu(this.b, -this.a); + break; + } + } + arrayOfString[paramInt] = Long.toString(l1, i1); + paramInt += 1; + localObject1 = localObject2; + } + label242: + Object localObject1 = new StringBuffer(s[i1] * paramInt + 1); + if (this.a < 0) { + ((StringBuffer)localObject1).append('-'); + } + ((StringBuffer)localObject1).append(arrayOfString[(paramInt - 1)]); + paramInt -= 2; + while (paramInt >= 0) + { + i2 = s[i1] - arrayOfString[paramInt].length(); + if (i2 != 0) { + ((StringBuffer)localObject1).append(r[i2]); + } + ((StringBuffer)localObject1).append(arrayOfString[paramInt]); + paramInt -= 1; + } + return ((StringBuffer)localObject1).toString(); + } + + private int h(int paramInt) + { + int i1 = 0; + if (paramInt < 0) {} + int i2; + do + { + do + { + return i1; + if (paramInt < this.b.length) { + break; + } + } while (this.a >= 0); + return -1; + i2 = this.b[(this.b.length - paramInt - 1)]; + i1 = i2; + } while (this.a >= 0); + if (this.l == -2) + { + i1 = this.b.length - 1; + while ((i1 >= 0) && (this.b[i1] == 0)) { + i1 -= 1; + } + this.l = (this.b.length - i1 - 1); + } + if (paramInt <= this.l) { + return -i2; + } + return i2 ^ 0xFFFFFFFF; + } + + public final fu a(fu paramfu1, fu paramfu2) + { + if (paramfu2.a <= 0) { + throw new ArithmeticException("BigInteger: modulus not positive"); + } + fu localfu1; + if (paramfu1.a == 0) + { + if (paramfu2.equals(d)) + { + localfu1 = c; + return localfu1; + } + return d; + } + if (equals(d)) + { + if (paramfu2.equals(d)) { + return c; + } + return d; + } + if ((equals(c)) && (paramfu1.a >= 0)) { + return c; + } + if ((equals(p[1])) && (!paramfu1.f(0))) + { + if (paramfu2.equals(d)) { + return c; + } + return d; + } + int i1; + if (paramfu1.a < 0) + { + i1 = 1; + label143: + localfu1 = paramfu1; + if (i1 != 0) { + localfu1 = new fu(paramfu1.b, -paramfu1.a); + } + if ((this.a >= 0) && (e(paramfu2) < 0)) { + break label223; + } + } + label223: + for (paramfu1 = c(paramfu2);; paramfu1 = this) + { + if (!paramfu2.f(0)) { + break label228; + } + paramfu1 = paramfu1.b(localfu1, paramfu2); + localfu1 = paramfu1; + if (i1 == 0) { + break; + } + return paramfu1.d(paramfu2); + i1 = 0; + break label143; + } + label228: + int i2 = paramfu2.b(); + fu localfu3 = paramfu2.e(i2); + fu localfu4 = d.d(i2); + if (this.a >= 0) + { + localfu2 = this; + if (e(localfu3) < 0) {} + } + else + { + localfu2 = c(localfu3); + } + if (localfu3.equals(d)) {} + for (fu localfu2 = c;; localfu2 = localfu2.b(localfu1, localfu3)) + { + paramfu1 = paramfu1.a(localfu1, i2); + localfu1 = localfu4.d(localfu3); + fu localfu5 = localfu3.d(localfu4); + paramfu1 = localfu2.b(localfu4).b(localfu1).a(paramfu1.b(localfu3).b(localfu5)).c(paramfu2); + break; + } + } + + public final String a() + { + String str2 = g(16); + String str1 = str2; + if (str2.length() % 2 != 0) { + str1 = "0" + str2; + } + return str1; + } + + public final boolean equals(Object paramObject) + { + boolean bool2 = false; + boolean bool1; + if (paramObject == this) { + bool1 = true; + } + do + { + do + { + do + { + return bool1; + bool1 = bool2; + } while (!(paramObject instanceof fu)); + paramObject = (fu)paramObject; + bool1 = bool2; + } while (paramObject.a != this.a); + bool1 = bool2; + } while (paramObject.b.length != this.b.length); + int i1 = 0; + for (;;) + { + if (i1 >= this.b.length) { + break label93; + } + bool1 = bool2; + if (paramObject.b[i1] != this.b[i1]) { + break; + } + i1 += 1; + } + label93: + return true; + } + + public final int hashCode() + { + int i1 = 0; + int i2 = 0; + while (i1 < this.b.length) + { + i2 = (int)(i2 * 31 + (this.b[i1] & 0xFFFFFFFF)); + i1 += 1; + } + return this.a * i2; + } + + public final String toString() + { + return g(10); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fv.java b/com.tencent.token/classes.jar/com/tencent/token/fv.java new file mode 100755 index 00000000000..9ea2dc1341e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fv.java @@ -0,0 +1,1137 @@ +package com.tencent.token; + +class fv +{ + int[] a; + int b; + int c = 0; + + fv() + { + this.a = new int[1]; + this.b = 0; + } + + fv(int paramInt) + { + this.a = new int[1]; + this.b = 1; + this.a[0] = paramInt; + } + + fv(fu paramfu) + { + this.a = new int[paramfu.b.length]; + System.arraycopy(paramfu.b, 0, this.a, 0, paramfu.b.length); + this.b = this.a.length; + } + + private fv(fv paramfv) + { + this.b = paramfv.b; + this.a = new int[this.b]; + while (i < this.b) + { + this.a[i] = paramfv.a[(paramfv.c + i)]; + i += 1; + } + } + + fv(int[] paramArrayOfInt) + { + this.a = paramArrayOfInt; + this.b = paramArrayOfInt.length; + } + + private static int a(int[] paramArrayOfInt1, int[] paramArrayOfInt2, int paramInt) + { + long l = 0L; + int i = paramArrayOfInt1.length - 1; + while (i >= 0) + { + l += (paramArrayOfInt1[i] & 0xFFFFFFFF) + (paramArrayOfInt2[(i + paramInt)] & 0xFFFFFFFF); + paramArrayOfInt2[(i + paramInt)] = ((int)l); + l >>>= 32; + i -= 1; + } + return (int)l; + } + + private static int a(int[] paramArrayOfInt1, int[] paramArrayOfInt2, int paramInt1, int paramInt2, int paramInt3) + { + long l2 = paramInt1; + long l1 = 0L; + paramInt1 = paramInt3 + paramInt2; + paramInt2 -= 1; + if (paramInt2 >= 0) + { + l1 += (paramArrayOfInt2[paramInt2] & 0xFFFFFFFF) * (l2 & 0xFFFFFFFF); + long l3 = paramArrayOfInt1[paramInt1] - l1; + paramArrayOfInt1[paramInt1] = ((int)l3); + if ((l3 & 0xFFFFFFFF) > (((int)l1 ^ 0xFFFFFFFF) & 0xFFFFFFFF)) {} + for (paramInt3 = 1;; paramInt3 = 0) + { + l1 = paramInt3 + (l1 >>> 32); + paramInt2 -= 1; + paramInt1 -= 1; + break; + } + } + return (int)l1; + } + + private static fv a(fv paramfv1, fv paramfv2, int paramInt) + { + fv localfv = new fv(); + int i = paramfv2.a[(paramfv2.c + paramfv2.b - 1)]; + int j = (2 - i * i) * i; + j *= (2 - i * j); + j *= (2 - i * j); + j = -((2 - i * j) * j); + i = 0; + while (i < paramInt >> 5) + { + paramfv2.a(paramfv1.a[(paramfv1.c + paramfv1.b - 1)] * j, localfv); + paramfv1.a(localfv); + paramfv1.b -= 1; + i += 1; + } + paramInt &= 0x1F; + if (paramInt != 0) + { + paramfv2.a(j * paramfv1.a[(paramfv1.c + paramfv1.b - 1)] & (1 << paramInt) - 1, localfv); + paramfv1.a(localfv); + paramfv1.b(paramInt); + } + while (paramfv1.d(paramfv2) >= 0) { + paramfv1.b(paramfv2); + } + return paramfv1; + } + + private void a() + { + this.b = 0; + this.c = 0; + int j = this.a.length; + int i = 0; + while (i < j) + { + this.a[i] = 0; + i += 1; + } + } + + private void a(int paramInt, fv paramfv) + { + if (paramInt == 1) + { + paramfv.e(this); + return; + } + if (paramInt == 0) + { + paramfv.a(); + return; + } + long l2 = paramInt; + if (paramfv.a.length < this.b + 1) {} + long l1; + for (int[] arrayOfInt = new int[this.b + 1];; arrayOfInt = paramfv.a) + { + l1 = 0L; + paramInt = this.b - 1; + while (paramInt >= 0) + { + l1 += (this.a[(this.c + paramInt)] & 0xFFFFFFFF) * (l2 & 0xFFFFFFFF); + arrayOfInt[(paramInt + 1)] = ((int)l1); + l1 >>>= 32; + paramInt -= 1; + } + } + if (l1 == 0L) + { + paramfv.c = 1; + paramfv.b = this.b; + } + for (;;) + { + paramfv.a = arrayOfInt; + return; + paramfv.c = 0; + this.b += 1; + arrayOfInt[0] = ((int)l1); + } + } + + private void a(fv paramfv1, fv paramfv2) + { + int k = this.b; + int m = paramfv1.b; + int i = k + m; + if (paramfv2.a.length < i) { + paramfv2.a = new int[i]; + } + paramfv2.c = 0; + paramfv2.b = i; + long l = 0L; + int j = m - 1; + i = m + k - 1; + while (j >= 0) + { + l += (paramfv1.a[(paramfv1.c + j)] & 0xFFFFFFFF) * (this.a[(k - 1 + this.c)] & 0xFFFFFFFF); + paramfv2.a[i] = ((int)l); + l >>>= 32; + j -= 1; + i -= 1; + } + paramfv2.a[(k - 1)] = ((int)l); + i = k - 2; + while (i >= 0) + { + l = 0L; + k = m - 1; + j = m + i; + while (k >= 0) + { + l += (paramfv1.a[(paramfv1.c + k)] & 0xFFFFFFFF) * (this.a[(this.c + i)] & 0xFFFFFFFF) + (paramfv2.a[j] & 0xFFFFFFFF); + paramfv2.a[j] = ((int)l); + l >>>= 32; + k -= 1; + j -= 1; + } + paramfv2.a[i] = ((int)l); + i -= 1; + } + paramfv2.c(); + } + + private static void a(int[] paramArrayOfInt, long paramLong, int paramInt) + { + long l4 = paramInt & 0xFFFFFFFF; + if (l4 == 1L) + { + paramArrayOfInt[0] = ((int)paramLong); + paramArrayOfInt[1] = 0; + return; + } + long l1 = (paramLong >>> 1) / (l4 >>> 1); + long l2 = paramLong - l1 * l4; + paramLong = l1; + l1 = l2; + long l3; + for (;;) + { + l2 = l1; + l3 = paramLong; + if (l1 >= 0L) { + break; + } + l1 += l4; + paramLong -= 1L; + } + while (l2 >= l4) + { + l2 -= l4; + l3 += 1L; + } + paramArrayOfInt[0] = ((int)l3); + paramArrayOfInt[1] = ((int)l2); + } + + private final int b() + { + if (this.b == 0) {} + int i; + int j; + do + { + return -1; + i = this.b - 1; + while ((i > 0) && (this.a[(this.c + i)] == 0)) { + i -= 1; + } + j = this.a[(this.c + i)]; + } while (j == 0); + return (this.b - 1 - i << 5) + fu.b(j); + } + + private void b(int paramInt) + { + if (this.b == 0) {} + int i; + do + { + return; + i = paramInt & 0x1F; + this.b -= (paramInt >>> 5); + } while (i == 0); + if (i >= fu.a(this.a[this.c])) + { + d(32 - i); + this.b -= 1; + return; + } + c(i); + } + + private void b(int paramInt, fv paramfv) + { + long l2 = paramInt & 0xFFFFFFFF; + if (this.b == 1) + { + l1 = this.a[this.c] & 0xFFFFFFFF; + paramfv.a[0] = ((int)(l1 / l2)); + if (paramfv.a[0] == 0) + { + paramInt = 0; + paramfv.b = paramInt; + paramfv.c = 0; + this.a[0] = ((int)(l1 - l2 * paramfv.a[0])); + this.c = 0; + if (this.a[0] != 0) { + break label112; + } + } + label112: + for (paramInt = 0;; paramInt = 1) + { + this.b = paramInt; + return; + paramInt = 1; + break; + } + } + if (paramfv.a.length < this.b) { + paramfv.a = new int[this.b]; + } + paramfv.c = 0; + paramfv.b = this.b; + int k = fu.a(paramInt); + int i = this.a[this.c]; + long l1 = i & 0xFFFFFFFF; + int j; + int[] arrayOfInt; + if (l1 < l2) + { + paramfv.a[0] = 0; + j = this.b; + arrayOfInt = new int[2]; + label202: + j -= 1; + if (j <= 0) { + break label357; + } + l1 = l1 << 32 | this.a[(this.c + this.b - j)] & 0xFFFFFFFF; + if (l1 < 0L) { + break label346; + } + arrayOfInt[0] = ((int)(l1 / l2)); + arrayOfInt[1] = ((int)(l1 - arrayOfInt[0] * l2)); + } + for (;;) + { + paramfv.a[(this.b - j)] = arrayOfInt[0]; + i = arrayOfInt[1]; + l1 = i & 0xFFFFFFFF; + break label202; + paramfv.a[0] = ((int)(l1 / l2)); + i = (int)(l1 - paramfv.a[0] * l2); + l1 = i & 0xFFFFFFFF; + break; + label346: + a(arrayOfInt, l1, paramInt); + } + label357: + if (32 - k > 0) + { + this.a[0] = (i % paramInt); + if (this.a[0] != 0) { + break label405; + } + } + label405: + for (paramInt = 0;; paramInt = 1) + { + this.b = paramInt; + paramfv.c(); + return; + this.a[0] = i; + break; + } + } + + private void c() + { + int j = 0; + if (this.b == 0) { + this.c = 0; + } + int k; + do + { + return; + k = this.c; + } while (this.a[k] != 0); + int n = this.b; + int i = k; + int m; + do + { + m = i + 1; + if (m >= n + k) { + break; + } + i = m; + } while (this.a[m] == 0); + i = m - this.c; + this.b -= i; + if (this.b == 0) {} + for (i = j;; i = this.c + i) + { + this.c = i; + return; + } + } + + private final void c(int paramInt) + { + int[] arrayOfInt = this.a; + int j = this.c + this.b - 1; + int k; + for (int i = arrayOfInt[j]; j > this.c; i = k) + { + k = arrayOfInt[(j - 1)]; + arrayOfInt[j] = (i >>> paramInt | k << 32 - paramInt); + j -= 1; + } + i = this.c; + arrayOfInt[i] >>>= paramInt; + } + + private int d(fv paramfv) + { + int k = 0; + int j; + if (this.b < paramfv.b) + { + j = -1; + return j; + } + if (this.b > paramfv.b) { + return 1; + } + int i = 0; + for (;;) + { + j = k; + if (i >= this.b) { + break; + } + j = this.a[(this.c + i)] - -2147483648; + int m = paramfv.a[(paramfv.c + i)] - -2147483648; + if (j < m) { + return -1; + } + if (j > m) { + return 1; + } + i += 1; + } + } + + private final void d(int paramInt) + { + int[] arrayOfInt = this.a; + int k = this.c; + int i = arrayOfInt[k]; + int n = this.b; + int j = k; + while (j < n + k - 1) + { + int m = arrayOfInt[(j + 1)]; + arrayOfInt[j] = (i << paramInt | m >>> 32 - paramInt); + j += 1; + i = m; + } + i = this.c + this.b - 1; + arrayOfInt[i] <<= paramInt; + } + + private fv e(int paramInt) + { + if ((this.b == 0) || ((this.a[(this.c + this.b - 1)] & 0x1) == 0)) {} + for (int i = 1; i != 0; i = 0) { + throw new ArithmeticException("Non-invertible. (GCD != 1)"); + } + if (paramInt > 64) { + return f(paramInt); + } + i = this.a[(this.c + this.b - 1)]; + int j = (2 - i * i) * i; + j *= (2 - i * j); + j *= (2 - i * j); + i = (2 - i * j) * j; + if (paramInt < 33) + { + if (paramInt == 32) {} + for (paramInt = i;; paramInt = i & (1 << paramInt) - 1) { + return new fv(paramInt); + } + } + long l2 = this.a[(this.c + this.b - 1)] & 0xFFFFFFFF; + long l1 = l2; + if (this.b > 1) { + l1 = l2 | this.a[(this.c + this.b - 2)] << 32; + } + l2 = i & 0xFFFFFFFF; + l1 = (2L - l1 * l2) * l2; + if (paramInt == 64) {} + for (;;) + { + fv localfv = new fv(new int[2]); + localfv.a[0] = ((int)(l1 >>> 32)); + localfv.a[1] = ((int)l1); + localfv.b = 2; + localfv.c(); + return localfv; + l1 &= (1L << paramInt) - 1L; + } + } + + private void e(fv paramfv) + { + int j = paramfv.b; + if (this.a.length < j) { + this.a = new int[j]; + } + int i = 0; + while (i < j) + { + this.a[i] = paramfv.a[(paramfv.c + i)]; + i += 1; + } + this.b = j; + this.c = 0; + } + + private fv f(int paramInt) + { + Object localObject1 = new fv(1); + ((fv)localObject1).a(paramInt); + fv localfv1 = new fv((fv)localObject1); + Object localObject2 = new fv(this); + fv localfv2 = new fv(); + Object localObject3 = new fv(); + ((fv)localObject1).a((fv)localObject2, localfv2, (fv)localObject3); + fv localfv3 = new fv(localfv2); + fv localfv4 = new fv(1); + fv localfv5 = new fv(); + if ((((fv)localObject3).b == 1) && (localObject3.a[localObject3.c] == 1)) { + paramInt = 1; + } + while (paramInt == 0) + { + ((fv)localObject2).a((fv)localObject3, localfv2, (fv)localObject1); + if (((fv)localObject1).b == 0) + { + throw new ArithmeticException("BigInteger not invertible."); + paramInt = 0; + } + else + { + if (localfv2.b == 1) + { + localfv3.a(localfv2.a[localfv2.c], localfv5); + localfv4.a(localfv5); + if ((((fv)localObject1).b != 1) || (localObject1.a[localObject1.c] != 1)) { + break label227; + } + } + label227: + for (paramInt = 1;; paramInt = 0) + { + if (paramInt == 0) { + break label232; + } + return localfv4; + localfv2.a(localfv3, localfv5); + break; + } + label232: + ((fv)localObject3).a((fv)localObject1, localfv5, (fv)localObject2); + if (((fv)localObject2).b == 0) { + throw new ArithmeticException("BigInteger not invertible."); + } + if (localfv5.b == 1) { + localfv4.a(localfv5.a[localfv5.c], localfv2); + } + for (;;) + { + localfv3.a(localfv2); + Object localObject4 = localObject2; + localObject2 = localObject1; + localObject1 = localObject3; + localObject3 = localObject4; + break; + localfv5.a(localfv4, localfv2); + } + } + } + localfv1.b(localfv3); + return localfv1; + } + + private fv f(fv paramfv) + { + fv localfv = new fv(paramfv); + paramfv = new fv(this); + Object localObject1 = new fv(localfv); + Object localObject2 = new fw(); + Object localObject3 = new fw((byte)0); + int i; + if ((paramfv.b == 0) || ((paramfv.a[(paramfv.c + paramfv.b - 1)] & 0x1) == 0)) + { + i = 1; + if (i == 0) { + break label425; + } + i = paramfv.b(); + paramfv.b(i); + ((fw)localObject3).a(i); + } + for (;;) + { + if ((paramfv.b == 1) && (paramfv.a[paramfv.c] == 1)) + { + j = 1; + label122: + if (j != 0) { + break label368; + } + if (paramfv.b != 0) { + break label159; + } + } + label159: + for (int j = 1;; j = 0) + { + if (j == 0) { + break label164; + } + throw new ArithmeticException("BigInteger not invertible."); + i = 0; + break; + j = 0; + break label122; + } + label164: + Object localObject7 = localObject3; + Object localObject6 = localObject2; + Object localObject5 = localObject1; + Object localObject4 = paramfv; + if (paramfv.d((fv)localObject1) < 0) + { + localObject4 = localObject1; + localObject5 = paramfv; + localObject6 = localObject3; + localObject7 = localObject2; + } + if (((localObject4.a[(localObject4.c + localObject4.b - 1)] ^ localObject5.a[(localObject5.c + localObject5.b - 1)]) & 0x3) == 0) + { + ((fv)localObject4).b((fv)localObject5); + if (localObject6.d == localObject7.d) { + break label345; + } + localObject6.a(localObject7); + } + for (;;) + { + j = ((fv)localObject4).b(); + ((fv)localObject4).b(j); + localObject7.a(j); + i += j; + localObject3 = localObject7; + localObject2 = localObject6; + localObject1 = localObject5; + paramfv = (fv)localObject4; + break; + ((fv)localObject4).a((fv)localObject5); + if (localObject6.d == localObject7.d) + { + localObject6.a(localObject7); + } + else + { + label345: + j = localObject6.d; + localObject6.d = (localObject6.b(localObject7) * j); + } + } + label368: + while (((fw)localObject2).d < 0) { + if (((fw)localObject2).d == 1) { + ((fw)localObject2).a(localfv); + } else { + ((fw)localObject2).d *= ((fw)localObject2).b(localfv); + } + } + return a((fv)localObject2, localfv, i); + label425: + i = 0; + } + } + + final void a(int paramInt) + { + if (this.b == 0) { + return; + } + int j = paramInt & 0x1F; + int k = fu.a(this.a[this.c]); + if (paramInt <= 32 - k) + { + d(j); + return; + } + int i = (paramInt >>> 5) + this.b + 1; + paramInt = i; + if (j <= 32 - k) { + paramInt = i - 1; + } + if (this.a.length < paramInt) + { + int[] arrayOfInt = new int[paramInt]; + i = 0; + while (i < this.b) + { + arrayOfInt[i] = this.a[(this.c + i)]; + i += 1; + } + this.a = arrayOfInt; + this.b = paramInt; + this.c = 0; + } + for (;;) + { + this.b = paramInt; + if (j == 0) { + break; + } + if (j > 32 - k) { + break label270; + } + d(j); + return; + if (this.a.length - this.c >= paramInt) + { + i = 0; + while (i < paramInt - this.b) + { + this.a[(this.c + this.b + i)] = 0; + i += 1; + } + } + else + { + i = 0; + while (i < this.b) + { + this.a[i] = this.a[(this.c + i)]; + i += 1; + } + i = this.b; + while (i < paramInt) + { + this.a[i] = 0; + i += 1; + } + this.c = 0; + } + } + label270: + c(32 - j); + } + + final void a(fv paramfv) + { + int n = this.b; + int j = paramfv.b; + int i; + if (this.b > paramfv.b) + { + i = this.b; + if (this.a.length >= i) { + break label161; + } + } + int k; + long l2; + long l1; + int m; + int i1; + label161: + for (int[] arrayOfInt = new int[i];; arrayOfInt = this.a) + { + k = arrayOfInt.length - 1; + l2 = 0L; + for (;;) + { + l1 = l2; + m = k; + i1 = n; + if (n <= 0) { + break; + } + l1 = l2; + m = k; + i1 = n; + if (j <= 0) { + break; + } + n -= 1; + j -= 1; + l2 = (l2 >>> 32) + ((this.a[(this.c + n)] & 0xFFFFFFFF) + (paramfv.a[(paramfv.c + j)] & 0xFFFFFFFF)); + arrayOfInt[k] = ((int)l2); + k -= 1; + } + i = paramfv.b; + break; + } + for (;;) + { + l2 = l1; + k = m; + n = j; + if (i1 <= 0) { + break; + } + i1 -= 1; + l1 = (l1 >>> 32) + (this.a[(this.c + i1)] & 0xFFFFFFFF); + arrayOfInt[m] = ((int)l1); + m -= 1; + } + while (n > 0) + { + n -= 1; + l2 = (l2 >>> 32) + (paramfv.a[(paramfv.c + n)] & 0xFFFFFFFF); + arrayOfInt[k] = ((int)l2); + k -= 1; + } + j = i; + paramfv = arrayOfInt; + if (l2 >>> 32 > 0L) + { + i += 1; + if (arrayOfInt.length >= i) { + break label366; + } + paramfv = new int[i]; + j = i - 1; + while (j > 0) + { + paramfv[j] = arrayOfInt[(j - 1)]; + j -= 1; + } + paramfv[0] = 1; + j = i; + } + for (;;) + { + this.a = paramfv; + this.b = j; + this.c = (paramfv.length - j); + return; + label366: + arrayOfInt[k] = 1; + j = i; + paramfv = arrayOfInt; + } + } + + final void a(fv paramfv1, fv paramfv2, fv paramfv3) + { + if (paramfv1.b == 0) { + throw new ArithmeticException("BigInteger divide by zero"); + } + if (this.b == 0) + { + paramfv3.c = 0; + paramfv3.b = 0; + paramfv2.c = 0; + paramfv2.b = 0; + return; + } + int i = d(paramfv1); + if (i < 0) + { + paramfv2.c = 0; + paramfv2.b = 0; + paramfv3.e(this); + return; + } + if (i == 0) + { + paramfv1 = paramfv2.a; + paramfv2.b = 1; + paramfv1[0] = 1; + paramfv3.c = 0; + paramfv3.b = 0; + paramfv2.c = 0; + return; + } + paramfv2.a(); + if (paramfv1.b == 1) + { + paramfv3.e(this); + paramfv3.b(paramfv1.a[paramfv1.c], paramfv2); + return; + } + int[] arrayOfInt1 = new int[paramfv1.b]; + i = 0; + while (i < paramfv1.b) + { + arrayOfInt1[i] = paramfv1.a[(paramfv1.c + i)]; + i += 1; + } + int i1 = paramfv1.b; + if (paramfv3.a.length < this.b + 1) { + paramfv3.a = new int[this.b + 1]; + } + i = 0; + while (i < this.b) + { + paramfv3.a[(i + 1)] = this.a[(this.c + i)]; + i += 1; + } + paramfv3.b = this.b; + paramfv3.c = 1; + i = paramfv3.b; + int i2 = i - i1 + 1; + if (paramfv2.a.length < i2) + { + paramfv2.a = new int[i2]; + paramfv2.c = 0; + } + paramfv2.b = i2; + paramfv1 = paramfv2.a; + int i3 = 32 - fu.a(arrayOfInt1[0]); + if (i3 > 0) + { + fu.a(arrayOfInt1, i1, i3); + paramfv3.a(i3); + } + if (paramfv3.b == i) + { + paramfv3.c = 0; + paramfv3.a[0] = 0; + paramfv3.b += 1; + } + int i4 = arrayOfInt1[0]; + long l1 = i4 & 0xFFFFFFFF; + int i5 = arrayOfInt1[1]; + int[] arrayOfInt2 = new int[2]; + int n = 0; + if (n < i2) + { + i = paramfv3.a[(paramfv3.c + n)]; + int i6 = i - -2147483648; + int j = paramfv3.a[(n + 1 + paramfv3.c)]; + int k; + label485: + int m; + label496: + long l2; + if (i == i4) + { + k = i + j; + if (-2147483648 + k < i6) + { + i = 1; + j = -1; + m = i; + i = j; + if (i != 0) + { + j = i; + if (m == 0) + { + l2 = paramfv3.a[(n + 2 + paramfv3.c)] & 0xFFFFFFFF; + long l3 = k; + if ((i5 & 0xFFFFFFFF) * (i & 0xFFFFFFFF) - -9223372036854775808L <= ((l3 & 0xFFFFFFFF) << 32 | l2) - -9223372036854775808L) { + break label852; + } + m = 1; + label578: + j = i; + if (m != 0) + { + m = i - 1; + i = (int)((k & 0xFFFFFFFF) + l1); + j = m; + if ((i & 0xFFFFFFFF) >= l1) { + if (-9223372036854775808L + (i5 & 0xFFFFFFFF) * (m & 0xFFFFFFFF) <= ((i & 0xFFFFFFFF) << 32 | l2) - -9223372036854775808L) { + break label858; + } + } + } + } + } + } + } + label852: + label858: + for (i = 1;; i = 0) + { + j = m; + if (i != 0) { + j = m - 1; + } + paramfv3.a[(paramfv3.c + n)] = 0; + i = j; + if (a(paramfv3.a, arrayOfInt1, j, i1, paramfv3.c + n) - -2147483648 > i6) + { + a(arrayOfInt1, paramfv3.a, n + 1 + paramfv3.c); + i = j - 1; + } + paramfv1[n] = i; + n += 1; + break; + i = 0; + break label485; + l2 = i; + l2 = j & 0xFFFFFFFF | l2 << 32; + if (l2 >= 0L) + { + i = (int)(l2 / l1); + k = (int)(l2 - i * l1); + m = 0; + break label496; + } + a(arrayOfInt2, l2, i4); + i = arrayOfInt2[0]; + k = arrayOfInt2[1]; + m = 0; + break label496; + m = 0; + break label578; + } + } + if (i3 > 0) { + paramfv3.b(i3); + } + paramfv3.c(); + paramfv2.c(); + } + + final int b(fv paramfv) + { + int[] arrayOfInt = this.a; + int m = d(paramfv); + if (m == 0) + { + this.b = 0; + this.c = 0; + return 0; + } + Object localObject; + fv localfv; + if (m < 0) + { + localObject = this; + localfv = paramfv; + paramfv = (fv)localObject; + } + for (;;) + { + int n = localfv.b; + localObject = arrayOfInt; + if (arrayOfInt.length < n) { + localObject = new int[n]; + } + int j = localfv.b; + int k = paramfv.b; + int i = localObject.length - 1; + long l = 0L; + while (k > 0) + { + j -= 1; + k -= 1; + l = (localfv.a[(localfv.c + j)] & 0xFFFFFFFF) - (paramfv.a[(paramfv.c + k)] & 0xFFFFFFFF) - (int)-(l >> 32); + localObject[i] = ((int)l); + i -= 1; + } + for (;;) + { + if (j > 0) + { + j -= 1; + l = (localfv.a[(localfv.c + j)] & 0xFFFFFFFF) - (int)-(l >> 32); + localObject[i] = ((int)l); + i -= 1; + } + else + { + this.a = ((int[])localObject); + this.b = n; + this.c = (this.a.length - n); + c(); + return m; + } + } + localfv = this; + } + } + + final fv c(fv paramfv) + { + int j = 0; + if ((paramfv.a[(paramfv.c + paramfv.b - 1)] & 0x1) == 1) {} + for (int i = 1; i != 0; i = 0) { + return f(paramfv); + } + if ((this.b == 0) || ((this.a[(this.c + this.b - 1)] & 0x1) == 0)) {} + for (i = 1; i != 0; i = 0) { + throw new ArithmeticException("BigInteger not invertible."); + } + int k = paramfv.b(); + fv localfv1 = new fv(paramfv); + localfv1.b(k); + i = j; + if (localfv1.b == 1) + { + i = j; + if (localfv1.a[localfv1.c] == 1) { + i = 1; + } + } + if (i != 0) { + return e(k); + } + fv localfv2 = f(localfv1); + fv localfv3 = e(k); + fv localfv4 = a(new fv(1), new fv(localfv1), k); + fv localfv5 = localfv1.e(k); + fv localfv6 = new fv(); + fv localfv7 = new fv(); + fv localfv8 = new fv(); + localfv2.a(k); + localfv2.a(localfv4, localfv8); + localfv3.a(localfv1, localfv6); + localfv6.a(localfv5, localfv7); + localfv8.a(localfv7); + localfv8.a(paramfv, localfv6, localfv7); + return localfv7; + } + + public String toString() + { + return new fu(this, 1).toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fw.java b/com.tencent.token/classes.jar/com/tencent/token/fw.java new file mode 100755 index 00000000000..cefc5ee3ef5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fw.java @@ -0,0 +1,25 @@ +package com.tencent.token; + +final class fw + extends fv +{ + int d = 1; + + fw() + { + super(1); + } + + fw(byte paramByte) {} + + public final String toString() + { + return new fu(this, this.d).toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fx.java b/com.tencent.token/classes.jar/com/tencent/token/fx.java new file mode 100755 index 00000000000..8ae49f5cccb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fx.java @@ -0,0 +1,136 @@ +package com.tencent.token; + +abstract class fx + extends fy +{ + static final byte[] c; + final byte[] a; + long b; + private final String d; + private final int e; + private final int f; + private int g; + + static + { + byte[] arrayOfByte = new byte['ˆ']; + c = arrayOfByte; + arrayOfByte[0] = -128; + } + + fx(fx paramfx) + { + this.d = paramfx.d; + this.e = paramfx.e; + this.f = paramfx.f; + if (paramfx.a == null) { + this.a = null; + } + for (;;) + { + this.g = paramfx.g; + this.b = paramfx.b; + return; + this.a = new byte[paramfx.a.length]; + System.arraycopy(paramfx.a, 0, this.a, 0, this.a.length); + } + } + + fx(String paramString) + { + this.d = paramString; + this.e = 32; + this.f = 64; + this.a = new byte[64]; + } + + private byte[] b() + { + byte[] arrayOfByte = new byte[this.e]; + try + { + int i = arrayOfByte.length; + if (i < this.e) { + throw new Exception("Length must be at least " + this.e + " for " + this.d + "digests"); + } + if ((i < 0) || (arrayOfByte.length - i < 0)) { + throw new Exception("Buffer too short to store digest"); + } + if ((this.b < 0L) && (this.b != 0L)) + { + a(); + this.g = 0; + this.b = 0L; + } + a(arrayOfByte); + this.b = -1L; + return arrayOfByte; + } + catch (Exception localException) {} + return null; + } + + abstract void a(); + + abstract void a(byte[] paramArrayOfByte); + + abstract void a(byte[] paramArrayOfByte, int paramInt); + + protected final void a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + if (paramInt2 == 0) {} + int i; + do + { + return; + if ((paramInt2 < 0) || (paramArrayOfByte.length - paramInt2 < 0)) { + throw new ArrayIndexOutOfBoundsException(); + } + if ((this.b < 0L) && (this.b != 0L)) + { + a(); + this.g = 0; + this.b = 0L; + } + this.b += paramInt2; + i = paramInt2; + if (this.g != 0) + { + paramInt1 = Math.min(paramInt2, this.f - this.g); + System.arraycopy(paramArrayOfByte, 0, this.a, this.g, paramInt1); + this.g += paramInt1; + int j = paramInt1 + 0; + paramInt2 -= paramInt1; + paramInt1 = j; + i = paramInt2; + if (this.g >= this.f) + { + a(this.a, 0); + this.g = 0; + i = paramInt2; + paramInt1 = j; + } + } + while (i >= this.f) + { + a(paramArrayOfByte, paramInt1); + i -= this.f; + paramInt1 += this.f; + } + } while (i <= 0); + System.arraycopy(paramArrayOfByte, paramInt1, this.a, 0, i); + this.g = i; + } + + public byte[] b(byte[] paramArrayOfByte) + { + a(paramArrayOfByte, 0, paramArrayOfByte.length); + return b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fy.java b/com.tencent.token/classes.jar/com/tencent/token/fy.java new file mode 100755 index 00000000000..31870deb306 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fy.java @@ -0,0 +1,9 @@ +package com.tencent.token; + +public abstract class fy {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/fz.java b/com.tencent.token/classes.jar/com/tencent/token/fz.java new file mode 100755 index 00000000000..9b410f1bec2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/fz.java @@ -0,0 +1,160 @@ +package com.tencent.token; + +public final class fz + extends fx +{ + private static final int[] d = { 1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987, 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998 }; + private final int[] e; + private final int[] f; + + public fz() + { + super("SHA-256"); + this.f = new int[8]; + this.e = new int[64]; + a(); + } + + private fz(fz paramfz) + { + super(paramfz); + if (paramfz.f == null) { + this.f = null; + } + for (;;) + { + this.e = new int[64]; + return; + this.f = new int[paramfz.f.length]; + System.arraycopy(paramfz.f, 0, this.f, 0, this.f.length); + } + } + + private static void a(int paramInt1, byte[] paramArrayOfByte, int paramInt2) + { + paramArrayOfByte[paramInt2] = ((byte)(paramInt1 >> 24)); + paramArrayOfByte[(paramInt2 + 1)] = ((byte)(paramInt1 >> 16)); + paramArrayOfByte[(paramInt2 + 2)] = ((byte)(paramInt1 >> 8)); + paramArrayOfByte[(paramInt2 + 3)] = ((byte)paramInt1); + } + + final void a() + { + this.f[0] = 1779033703; + this.f[1] = -1150833019; + this.f[2] = 1013904242; + this.f[3] = -1521486534; + this.f[4] = 1359893119; + this.f[5] = -1694144372; + this.f[6] = 528734635; + this.f[7] = 1541459225; + } + + final void a(byte[] paramArrayOfByte) + { + int j = 0; + long l = this.b << 3; + int i = (int)this.b & 0x3F; + if (i >= 56) {} + for (i = 120 - i;; i = 56 - i) + { + a(c, 0, i); + a((int)(l >>> 32), this.a, 56); + a((int)l, this.a, 60); + a(this.a, 0); + int[] arrayOfInt = this.f; + int k = 0; + i = j; + j = k; + while (j < 32) + { + k = arrayOfInt[i]; + int m = j + 1; + paramArrayOfByte[j] = ((byte)(k >> 24)); + j = m + 1; + paramArrayOfByte[m] = ((byte)(k >> 16)); + m = j + 1; + paramArrayOfByte[j] = ((byte)(k >> 8)); + j = m + 1; + paramArrayOfByte[m] = ((byte)k); + i += 1; + } + } + } + + final void a(byte[] paramArrayOfByte, int paramInt) + { + int[] arrayOfInt = this.e; + int j = 0; + int i = paramInt; + while (i < paramInt + 64) + { + arrayOfInt[j] = (paramArrayOfByte[(i + 3)] & 0xFF | (paramArrayOfByte[(i + 2)] & 0xFF) << 8 | (paramArrayOfByte[(i + 1)] & 0xFF) << 16 | paramArrayOfByte[i] << 24); + i += 4; + j += 1; + } + paramInt = 16; + while (paramInt < 64) + { + paramArrayOfByte = this.e; + i = this.e[(paramInt - 2)]; + j = this.e[(paramInt - 7)]; + k = this.e[(paramInt - 15)]; + paramArrayOfByte[paramInt] = ((i >>> 10 ^ (i >>> 17 | i << 15) ^ (i >>> 19 | i << 13)) + j + (k >>> 3 ^ (k >>> 7 | k << 25) ^ (k >>> 18 | k << 14)) + this.e[(paramInt - 16)]); + paramInt += 1; + } + paramInt = this.f[0]; + int n = this.f[1]; + int m = this.f[2]; + int i1 = this.f[3]; + i = this.f[4]; + j = this.f[5]; + int k = this.f[6]; + int i3 = this.f[7]; + int i2 = 0; + while (i2 < 64) + { + int i4 = d[i2]; + i3 = this.e[i2] + (i3 + ((i >>> 6 | i << 26) ^ (i >>> 11 | i << 21) ^ (i >>> 25 | i << 7)) + (i & j ^ (i ^ 0xFFFFFFFF) & k) + i4); + i2 += 1; + i1 += i3; + int i5 = n; + i4 = paramInt; + paramInt = i3 + ((paramInt & n ^ paramInt & m ^ n & m) + ((paramInt >>> 2 | paramInt << 30) ^ (paramInt >>> 13 | paramInt << 19) ^ (paramInt >>> 22 | paramInt << 10))); + i3 = k; + k = j; + j = i; + i = i1; + i1 = m; + m = i5; + n = i4; + } + paramArrayOfByte = this.f; + paramArrayOfByte[0] = (paramInt + paramArrayOfByte[0]); + paramArrayOfByte = this.f; + paramArrayOfByte[1] = (n + paramArrayOfByte[1]); + paramArrayOfByte = this.f; + paramArrayOfByte[2] = (m + paramArrayOfByte[2]); + paramArrayOfByte = this.f; + paramArrayOfByte[3] = (i1 + paramArrayOfByte[3]); + paramArrayOfByte = this.f; + paramArrayOfByte[4] = (i + paramArrayOfByte[4]); + paramArrayOfByte = this.f; + paramArrayOfByte[5] = (j + paramArrayOfByte[5]); + paramArrayOfByte = this.f; + paramArrayOfByte[6] = (k + paramArrayOfByte[6]); + paramArrayOfByte = this.f; + paramArrayOfByte[7] = (i3 + paramArrayOfByte[7]); + } + + public final Object clone() + { + return new fz(this); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.fz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/g.java b/com.tencent.token/classes.jar/com/tencent/token/g.java new file mode 100755 index 00000000000..fb6651bde07 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/g.java @@ -0,0 +1,285 @@ +package com.tencent.token; + +final class g + extends f +{ + private static final byte[] h; + private static final byte[] i; + int c = 0; + public final boolean d = true; + public final boolean e = true; + public final boolean f = false; + private final byte[] j = new byte[2]; + private int k; + private final byte[] l = h; + + static + { + if (!e.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + g = bool; + h = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }; + i = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95 }; + return; + } + } + + public g() + { + this.a = null; + if (this.e) {} + for (int m = 19;; m = -1) + { + this.k = m; + return; + } + } + + public final boolean a(byte[] paramArrayOfByte, int paramInt) + { + int i1 = 0; + byte[] arrayOfByte1 = this.l; + byte[] arrayOfByte2 = this.a; + int n = this.k; + int i4 = paramInt + 0; + int m; + label60: + int i2; + switch (this.c) + { + default: + paramInt = -1; + m = 0; + if (paramInt != -1) + { + arrayOfByte2[0] = arrayOfByte1[(paramInt >> 18 & 0x3F)]; + arrayOfByte2[1] = arrayOfByte1[(paramInt >> 12 & 0x3F)]; + arrayOfByte2[2] = arrayOfByte1[(paramInt >> 6 & 0x3F)]; + i2 = 4; + arrayOfByte2[3] = arrayOfByte1[(paramInt & 0x3F)]; + n -= 1; + if (n == 0) + { + paramInt = i2; + if (this.f) + { + paramInt = 5; + arrayOfByte2[4] = 13; + } + i2 = paramInt + 1; + arrayOfByte2[paramInt] = 10; + n = 19; + paramInt = i2; + } + } + break; + } + for (;;) + { + label207: + int i3; + if (m + 3 > i4) + { + if (m - this.c != i4 - 1) { + break label676; + } + if (this.c <= 0) { + break label661; + } + i2 = this.j[0]; + i1 = 1; + i2 = (i2 & 0xFF) << 4; + this.c -= i1; + i3 = paramInt + 1; + arrayOfByte2[paramInt] = arrayOfByte1[(i2 >> 6 & 0x3F)]; + i1 = i3 + 1; + arrayOfByte2[i3] = arrayOfByte1[(i2 & 0x3F)]; + paramInt = i1; + if (this.d) + { + i2 = i1 + 1; + arrayOfByte2[i1] = 61; + paramInt = i2 + 1; + arrayOfByte2[i2] = 61; + } + i1 = paramInt; + i2 = m; + if (!this.e) { + break label1033; + } + i1 = paramInt; + if (this.f) + { + arrayOfByte2[paramInt] = 13; + i1 = paramInt + 1; + } + paramInt = i1 + 1; + arrayOfByte2[i1] = 10; + i1 = paramInt; + i2 = m; + if ((g) || (this.c == 0)) { + break label995; + } + throw new AssertionError(); + paramInt = -1; + m = 0; + break label60; + if (2 > i4) { + break; + } + paramInt = this.j[0]; + m = paramArrayOfByte[0]; + i2 = paramArrayOfByte[1]; + this.c = 0; + paramInt = (paramInt & 0xFF) << 16 | (m & 0xFF) << 8 | i2 & 0xFF; + m = 2; + break label60; + if (i4 <= 0) { + break; + } + paramInt = this.j[0]; + m = this.j[1]; + i2 = paramArrayOfByte[0]; + this.c = 0; + paramInt = (paramInt & 0xFF) << 16 | (m & 0xFF) << 8 | i2 & 0xFF; + m = 1; + break label60; + } + i2 = (paramArrayOfByte[m] & 0xFF) << 16 | (paramArrayOfByte[(m + 1)] & 0xFF) << 8 | paramArrayOfByte[(m + 2)] & 0xFF; + arrayOfByte2[paramInt] = arrayOfByte1[(i2 >> 18 & 0x3F)]; + arrayOfByte2[(paramInt + 1)] = arrayOfByte1[(i2 >> 12 & 0x3F)]; + arrayOfByte2[(paramInt + 2)] = arrayOfByte1[(i2 >> 6 & 0x3F)]; + arrayOfByte2[(paramInt + 3)] = arrayOfByte1[(i2 & 0x3F)]; + m += 3; + paramInt += 4; + n -= 1; + if (n == 0) + { + if (this.f) + { + n = paramInt + 1; + arrayOfByte2[paramInt] = 13; + paramInt = n; + } + for (;;) + { + n = paramInt + 1; + arrayOfByte2[paramInt] = 10; + i2 = 19; + paramInt = n; + n = i2; + break; + label661: + i2 = paramArrayOfByte[m]; + m += 1; + i1 = 0; + break label207; + label676: + if (m - this.c == i4 - 2) { + if (this.c > 1) + { + i2 = this.j[0]; + i1 = 1; + label708: + if (this.c <= 0) { + break label909; + } + i3 = this.j[i1]; + i1 += 1; + label730: + i2 = (i3 & 0xFF) << 2 | (i2 & 0xFF) << 10; + this.c -= i1; + i1 = paramInt + 1; + arrayOfByte2[paramInt] = arrayOfByte1[(i2 >> 12 & 0x3F)]; + i3 = i1 + 1; + arrayOfByte2[i1] = arrayOfByte1[(i2 >> 6 & 0x3F)]; + paramInt = i3 + 1; + arrayOfByte2[i3] = arrayOfByte1[(i2 & 0x3F)]; + if (!this.d) { + break label1036; + } + i1 = paramInt + 1; + arrayOfByte2[paramInt] = 61; + paramInt = i1; + } + } + label1033: + label1036: + for (;;) + { + i1 = paramInt; + i2 = m; + if (this.e) + { + i1 = paramInt; + if (this.f) + { + arrayOfByte2[paramInt] = 13; + i1 = paramInt + 1; + } + paramInt = i1 + 1; + arrayOfByte2[i1] = 10; + i2 = m; + i1 = paramInt; + break; + i2 = paramArrayOfByte[m]; + m += 1; + break label708; + label909: + i3 = paramArrayOfByte[m]; + m += 1; + break label730; + i2 = m; + i1 = paramInt; + if (!this.e) { + break; + } + i2 = m; + i1 = paramInt; + if (paramInt <= 0) { + break; + } + i2 = m; + i1 = paramInt; + if (n == 19) { + break; + } + if (this.f) + { + i1 = paramInt + 1; + arrayOfByte2[paramInt] = 13; + paramInt = i1; + } + for (;;) + { + i1 = paramInt + 1; + arrayOfByte2[paramInt] = 10; + i2 = m; + break; + label995: + if ((!g) && (i2 != i4)) { + throw new AssertionError(); + } + this.b = i1; + this.k = n; + return true; + } + } + break; + } + } + } + continue; + paramInt = 4; + continue; + paramInt = 0; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ga.java b/com.tencent.token/classes.jar/com/tencent/token/ga.java new file mode 100755 index 00000000000..fe1e45c672a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ga.java @@ -0,0 +1,108 @@ +package com.tencent.token; + +import java.io.Writer; +import java.util.Iterator; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicInteger; + +public final class ga + implements Iterable +{ + private ConcurrentLinkedQueue a = null; + private AtomicInteger b = null; + + public final int a() + { + return this.b.get(); + } + + public final int a(String paramString) + { + int i = paramString.length(); + this.a.add(paramString); + return this.b.addAndGet(i); + } + + public final void a(Writer paramWriter, char[] paramArrayOfChar) + { + if ((paramWriter == null) || (paramArrayOfChar == null) || (paramArrayOfChar.length == 0)) { + return; + } + int n = paramArrayOfChar.length; + for (;;) + { + int j; + int k; + int i1; + int i2; + try + { + Iterator localIterator = iterator(); + j = 0; + i = n; + if (localIterator.hasNext()) + { + String str = (String)localIterator.next(); + k = str.length(); + m = 0; + break label169; + str.getChars(m, m + i1, paramArrayOfChar, j); + i2 = i - i1; + k -= i1; + i = i1 + m; + if (i2 == 0) + { + paramWriter.write(paramArrayOfChar, 0, n); + i1 = 0; + j = n; + m = i; + i = j; + j = i1; + break label169; + } + } + else + { + if (j > 0) { + paramWriter.write(paramArrayOfChar, 0, j); + } + paramWriter.flush(); + return; + } + } + catch (Exception paramWriter) + { + paramWriter.printStackTrace(); + return; + } + j += i1; + int m = i; + int i = i2; + label169: + if (k > 0) { + if (i > k) { + i1 = k; + } else { + i1 = i; + } + } + } + } + + public final void b() + { + this.a.clear(); + this.b.set(0); + } + + public final Iterator iterator() + { + return this.a.iterator(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ga + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gb.java b/com.tencent.token/classes.jar/com/tencent/token/gb.java new file mode 100755 index 00000000000..148e98b8d6f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gb.java @@ -0,0 +1,179 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.os.Environment; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.e; +import com.tencent.token.utils.p; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; + +public class gb + implements SharedPreferences.OnSharedPreferenceChangeListener +{ + public static e a; + private static gb c = null; + protected com.tencent.token.utils.c b; + private volatile boolean d = com.tencent.token.global.c.a; + private volatile boolean e = com.tencent.token.global.c.b; + private volatile boolean f = com.tencent.token.global.c.d; + private volatile boolean g = com.tencent.token.global.c.e; + + static + { + int i = p.a("debug.file.blockcount", 24); + long l = p.a("debug.file.keepperiod"); + a = new e(b(), i, "Sec.File.Tracer", ".sec.log", l); + } + + public gb() + { + p.a(this); + this.b = new com.tencent.token.utils.c(a); + } + + public static gb a() + { + if (c == null) {} + try + { + if (c == null) { + c = new gb(); + } + return c; + } + finally {} + } + + public static void a(int paramInt) + { + int i; + if (paramInt <= 63) + { + i = paramInt; + if (paramInt >= 0) {} + } + else + { + i = com.tencent.token.global.c.h; + } + p.b("debug.file.tracelevel", i).commit(); + } + + private static void a(File paramFile) + { + if ((paramFile == null) || (!paramFile.exists())) {} + for (;;) + { + return; + if (paramFile.isFile()) + { + paramFile.delete(); + return; + } + paramFile = paramFile.listFiles(); + int j = paramFile.length; + int i = 0; + while (i < j) + { + a(paramFile[i]); + i += 1; + } + } + } + + public static BufferedReader b(int paramInt) + { + Object localObject = a.a(System.currentTimeMillis()); + if ((localObject == null) || (!((File)localObject).isDirectory())) { + return null; + } + localObject = a.b((File)localObject); + localObject = a.a((File[])localObject); + if ((paramInt >= 0) && (paramInt < localObject.length)) + { + localObject = localObject[(localObject.length - paramInt - 1)]; + try + { + localObject = new BufferedReader(new FileReader((File)localObject)); + return localObject; + } + catch (FileNotFoundException localFileNotFoundException) {} + } + return null; + } + + public static File b() + { + String str1 = com.tencent.token.global.c.g; + String str2 = Environment.getExternalStorageState(); + if (("mounted".equals(str2)) || ("mounted_ro".equals(str2))) {} + for (int i = 1; i != 0; i = 0) { + return new File(Environment.getExternalStorageDirectory(), str1); + } + return new File(RqdApplication.i().getFilesDir(), str1); + } + + public static void e() + { + Object localObject = a.a(System.currentTimeMillis()); + localObject = a.b((File)localObject); + if (localObject != null) + { + int i = 0; + while (i < localObject.length) + { + a(localObject[i]); + i += 1; + } + } + } + + public static boolean f() + { + return p.a("debug.file.uploadfiledate", -1) >= 0; + } + + public static int g() + { + return p.a("debug.file.uploadfiledate", -1); + } + + public final void a(int paramInt, String paramString1, String paramString2) + { + if ((this.d) && (this.e) && (this.b != null)) { + this.b.b(paramInt, Thread.currentThread(), ag.c().r(), paramString1, paramString2); + } + } + + public final boolean c() + { + return this.f; + } + + public final boolean d() + { + return this.g; + } + + public void onSharedPreferenceChanged(SharedPreferences paramSharedPreferences, String paramString) + { + if (("debug.file.tracelevel".equals(paramString)) || (paramString == null)) + { + int i = p.a("debug.file.tracelevel", com.tencent.token.global.c.h); + a(16, "SecTracer", "File Trace Level Changed = " + i); + this.b.a(i); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gc.java b/com.tencent.token/classes.jar/com/tencent/token/gc.java new file mode 100755 index 00000000000..754c2241004 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gc.java @@ -0,0 +1,64 @@ +package com.tencent.token; + +import android.text.format.Time; + +public final class gc +{ + public static final gc a = new gc(); + + public static String a(int paramInt, Thread paramThread, long paramLong, String paramString1, String paramString2) + { + long l = paramLong % 1000L; + Time localTime = new Time(); + localTime.set(paramLong); + StringBuilder localStringBuilder = new StringBuilder(); + String str; + switch (paramInt) + { + default: + str = "-"; + localStringBuilder.append(str).append('/').append(localTime.format("%Y-%m-%d %H:%M:%S")).append('.'); + if (l < 10L) + { + localStringBuilder.append("00"); + label141: + localStringBuilder.append(l).append(' ').append('['); + if (paramThread != null) { + break label277; + } + localStringBuilder.append("N/A"); + } + break; + } + for (;;) + { + localStringBuilder.append(']').append('[').append(paramString1).append(']').append(' ').append(paramString2).append('\n'); + return localStringBuilder.toString(); + str = "D"; + break; + str = "I"; + break; + str = "W"; + break; + str = "E"; + break; + str = "V"; + break; + str = "A"; + break; + if (l >= 100L) { + break label141; + } + localStringBuilder.append('0'); + break label141; + label277: + localStringBuilder.append(paramThread.getName()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gd.java b/com.tencent.token/classes.jar/com/tencent/token/gd.java new file mode 100755 index 00000000000..aaf8084383a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gd.java @@ -0,0 +1,42 @@ +package com.tencent.token; + +import com.tencent.token.global.c; + +public abstract class gd +{ + private volatile int a = c.h; + private volatile boolean b = true; + private gc c = gc.a; + + public gd() + { + this(63, gc.a); + } + + public gd(int paramInt, gc paramgc) + { + this.a = paramInt; + this.b = true; + this.c = paramgc; + } + + public final void a(int paramInt) + { + this.a = paramInt; + } + + protected abstract void a(int paramInt, Thread paramThread, long paramLong, String paramString1, String paramString2); + + public final void b(int paramInt, Thread paramThread, long paramLong, String paramString1, String paramString2) + { + if ((this.b) && (paramInt == (this.a & paramInt))) { + a(paramInt, paramThread, paramLong, paramString1, paramString2); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ge.java b/com.tencent.token/classes.jar/com/tencent/token/ge.java new file mode 100755 index 00000000000..a99fc4ebbeb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ge.java @@ -0,0 +1,47 @@ +package com.tencent.token; + +import java.util.ArrayList; + +public final class ge +{ + private static byte[] a(int paramInt) + { + return new byte[] { (byte)(paramInt >> 24 & 0xFF), (byte)(paramInt >> 16 & 0xFF), (byte)(paramInt >> 8 & 0xFF), (byte)(paramInt & 0xFF) }; + } + + public static byte[] a(ArrayList paramArrayList) + { + int k = paramArrayList.size(); + int i = 0; + int j = k * 4 + 4; + while (i < k) + { + j += ((byte[])paramArrayList.get(i)).length; + i += 1; + } + byte[] arrayOfByte = new byte[j]; + System.arraycopy(a(k), 0, arrayOfByte, 0, 4); + i = 0; + while (i < k) + { + System.arraycopy(a(((byte[])paramArrayList.get(i)).length), 0, arrayOfByte, i * 4 + 4, 4); + i += 1; + } + i = 0; + j = k * 4 + 4; + while (i < k) + { + int m = ((byte[])paramArrayList.get(i)).length; + System.arraycopy(paramArrayList.get(i), 0, arrayOfByte, j, m); + j += m; + i += 1; + } + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ge + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gf.java b/com.tencent.token/classes.jar/com/tencent/token/gf.java new file mode 100755 index 00000000000..d25b9898184 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gf.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import com.tencent.kingkong.DatabaseErrorHandler; +import com.tencent.kingkong.DefaultDatabaseErrorHandler; +import com.tencent.kingkong.database.SQLiteDatabase; + +public final class gf + implements DatabaseErrorHandler +{ + private DefaultDatabaseErrorHandler a = new DefaultDatabaseErrorHandler(); + + public final void onCorruption(SQLiteDatabase paramSQLiteDatabase) + { + this.a.onCorruption(paramSQLiteDatabase); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gg.java b/com.tencent.token/classes.jar/com/tencent/token/gg.java new file mode 100755 index 00000000000..24ca2a30f10 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gg.java @@ -0,0 +1,58 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; + +public final class gg + implements go +{ + public final String a = "ksid_data"; + public String b = ""; + private int c = 12; + + public final go a(Cursor paramCursor) + { + gg localgg = new gg(); + localgg.b = paramCursor.getString(paramCursor.getColumnIndex("ksid")); + return localgg; + } + + public final String a() + { + return "ksid_data"; + } + + public final void a(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS ksid_data(_ID INTEGER PRIMARY KEY autoincrement,key INTEGER,ksid TEXT);"); + } + + public final void a(String paramString) + { + ContentValues localContentValues = new ContentValues(); + localContentValues.put("ksid", paramString); + gl.a(this, "ksid_data", localContentValues, "key=?", new String[] { String.valueOf(this.c) }); + } + + public final long b(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS ksid_data(_ID INTEGER PRIMARY KEY autoincrement,key INTEGER,ksid TEXT);"); + new ContentValues(); + ContentValues localContentValues = new ContentValues(); + localContentValues.put("key", Integer.valueOf(this.c)); + localContentValues.put("ksid", this.b); + return paramSQLiteDatabase.insert("ksid_data", null, localContentValues); + } + + public final ContentValues b() + { + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gh.java b/com.tencent.token/classes.jar/com/tencent/token/gh.java new file mode 100755 index 00000000000..1829c8b04ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gh.java @@ -0,0 +1,33 @@ +package com.tencent.token; + +import android.content.Context; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.kingkong.database.SQLiteOpenHelper; + +public final class gh + extends SQLiteOpenHelper +{ + Context a; + + gh(Context paramContext, String paramString, int paramInt) {} + + protected final void finalize() + { + try + { + close(); + return; + } + catch (Exception localException) {} + } + + public final void onCreate(SQLiteDatabase paramSQLiteDatabase) {} + + public final void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gi.java b/com.tencent.token/classes.jar/com/tencent/token/gi.java new file mode 100755 index 00000000000..f60bfd5d45f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gi.java @@ -0,0 +1,54 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; + +public class gi + implements go +{ + public String a; + public String b; + + public final go a(Cursor paramCursor) + { + gi localgi = new gi(); + localgi.a = paramCursor.getString(paramCursor.getColumnIndex("uinhash")); + localgi.b = paramCursor.getString(paramCursor.getColumnIndex("filename")); + return localgi; + } + + public final String a() + { + return "qqface"; + } + + public final void a(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS qqface(uinhash TEXT PRIMARY KEY,filename TEXT);"); + } + + public final long b(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS qqface(uinhash TEXT PRIMARY KEY,filename TEXT);"); + new ContentValues(); + ContentValues localContentValues = new ContentValues(); + localContentValues.put("uinhash", this.a); + localContentValues.put("filename", this.b); + return paramSQLiteDatabase.insert("qqface", null, localContentValues); + } + + public final ContentValues b() + { + ContentValues localContentValues = new ContentValues(); + localContentValues.put("uinhash", this.a); + localContentValues.put("filename", this.b); + return localContentValues; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gj.java b/com.tencent.token/classes.jar/com/tencent/token/gj.java new file mode 100755 index 00000000000..7dc93905db1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gj.java @@ -0,0 +1,698 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +public class gj +{ + private boolean b = false; + private List c = new ArrayList(); + private QQUser d = null; + private boolean e = false; + + static + { + if (!gj.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + a = bool; + return; + } + } + + /* Error */ + private QQUser a(List paramList, long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: invokeinterface 44 1 0 + // 8: astore 6 + // 10: aload 6 + // 12: invokeinterface 49 1 0 + // 17: ifeq +31 -> 48 + // 20: aload 6 + // 22: invokeinterface 53 1 0 + // 27: checkcast 55 com/tencent/token/core/bean/QQUser + // 30: astore_1 + // 31: aload_1 + // 32: getfield 59 com/tencent/token/core/bean/QQUser:mUin J + // 35: lstore 4 + // 37: lload 4 + // 39: lload_2 + // 40: lcmp + // 41: ifne -31 -> 10 + // 44: aload_0 + // 45: monitorexit + // 46: aload_1 + // 47: areturn + // 48: aconst_null + // 49: astore_1 + // 50: goto -6 -> 44 + // 53: astore_1 + // 54: aload_0 + // 55: monitorexit + // 56: aload_1 + // 57: athrow + // Local variable table: + // start length slot name signature + // 0 58 0 this gj + // 0 58 1 paramList List + // 0 58 2 paramLong long + // 35 3 4 l long + // 8 13 6 localIterator Iterator + // Exception table: + // from to target type + // 2 10 53 finally + // 10 37 53 finally + } + + private boolean a(QQUser paramQQUser, boolean paramBoolean) + { + if ((!a) && (paramQQUser == null)) { + throw new AssertionError(); + } + gk localgk = new gk(this); + ContentValues localContentValues = new ContentValues(); + localgk.a(paramQQUser); + long l2 = localgk.c(); + localContentValues.put("flag", Long.valueOf(l2)); + e.b("set user flag " + paramQQUser.mUinMask + ":" + l2); + if (!paramQQUser.mIsBinded) {} + for (long l1 = -paramQQUser.mRealUin; gl.a(localgk, "table_user", localContentValues, "uin=?", new String[] { String.valueOf(l1) }) <= 0; l1 = paramQQUser.mUin) + { + e.c("update uin flag failed, uin=" + paramQQUser.mUin + ", flag=" + l2); + return false; + } + paramQQUser.mIsCurrentUser = paramBoolean; + return true; + } + + /* Error */ + private QQUser b(List paramList, long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_1 + // 3: invokeinterface 44 1 0 + // 8: astore 6 + // 10: aload 6 + // 12: invokeinterface 49 1 0 + // 17: ifeq +31 -> 48 + // 20: aload 6 + // 22: invokeinterface 53 1 0 + // 27: checkcast 55 com/tencent/token/core/bean/QQUser + // 30: astore_1 + // 31: aload_1 + // 32: getfield 122 com/tencent/token/core/bean/QQUser:mRealUin J + // 35: lstore 4 + // 37: lload 4 + // 39: lload_2 + // 40: lcmp + // 41: ifne -31 -> 10 + // 44: aload_0 + // 45: monitorexit + // 46: aload_1 + // 47: areturn + // 48: aconst_null + // 49: astore_1 + // 50: goto -6 -> 44 + // 53: astore_1 + // 54: aload_0 + // 55: monitorexit + // 56: aload_1 + // 57: athrow + // Local variable table: + // start length slot name signature + // 0 58 0 this gj + // 0 58 1 paramList List + // 0 58 2 paramLong long + // 35 3 4 l long + // 8 13 6 localIterator Iterator + // Exception table: + // from to target type + // 2 10 53 finally + // 10 37 53 finally + } + + private boolean d(QQUser paramQQUser) + { + if (paramQQUser != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + b(); + if (this.d != paramQQUser) { + break; + } + return true; + } + if (this.d != null) + { + this.d.mIsCurrentUser = false; + a(this.d, false); + } + paramQQUser.mIsCurrentUser = true; + a(paramQQUser, true); + this.d = paramQQUser; + return true; + } + + private boolean e(QQUser paramQQUser) + { + gk localgk = new gk(this); + try + { + if (!paramQQUser.mIsBinded) {} + for (long l = -paramQQUser.mRealUin;; l = paramQQUser.mUin) + { + gl.a(localgk, "table_user", "uin=?", new String[] { String.valueOf(l) }); + return true; + } + return false; + } + catch (Exception paramQQUser) + { + e.c("clear user database failed: " + paramQQUser.toString()); + } + } + + private boolean f(QQUser paramQQUser) + { + gk localgk = new gk(this); + localgk.a(paramQQUser); + if (gl.a(localgk) == -1L) + { + e.c("SQLiteManager.add user data failed: " + paramQQUser.mUin); + return false; + } + return true; + } + + private boolean g() + { + for (;;) + { + try + { + if (this.b) + { + bool = this.b; + return bool; + } + this.c.clear(); + this.d = null; + Object localObject1 = new gk(this); + continue; + } + finally + { + try + { + localObject1 = gl.a((go)localObject1, "table_user", new String[] { "uin", "email", "nick_name", "uin_mask", "flag", "head_image", "head_image_update_time" }, null, null, null, null); + if ((a) || (localObject1 != null)) { + break label129; + } + throw new AssertionError(); + } + catch (Exception localException) + { + e.c(localException.toString()); + bool = false; + } + localObject2 = finally; + } + label129: + Object localObject3 = localException.iterator(); + while (((Iterator)localObject3).hasNext()) + { + Object localObject4 = (gk)((Iterator)localObject3).next(); + if ((!a) && (localObject4 == null)) { + throw new AssertionError(); + } + localObject4 = ((gk)localObject4).d(); + if ((!a) && (localObject4 == null)) { + throw new AssertionError(); + } + if (((QQUser)localObject4).mIsBinded) + { + this.c.add(localObject4); + e.b("uin=" + ((QQUser)localObject4).mUin + ",nick=" + ((QQUser)localObject4).mNickName + "email=" + ((QQUser)localObject4).mEmail + "list count=" + this.c.size()); + } + } + Iterator localIterator = localException.iterator(); + while (localIterator.hasNext()) + { + localObject3 = (gk)localIterator.next(); + if ((!a) && (localObject3 == null)) { + throw new AssertionError(); + } + localObject3 = ((gk)localObject3).d(); + if ((!a) && (localObject3 == null)) { + throw new AssertionError(); + } + if (!((QQUser)localObject3).mIsBinded) + { + this.c.add(localObject3); + e.b("uin=" + ((QQUser)localObject3).mUin + ",nick=" + ((QQUser)localObject3).mNickName + "email=" + ((QQUser)localObject3).mEmail + "list count=" + this.c.size()); + } + } + this.b = true; + boolean bool = true; + } + } + + private QQUser h() + { + for (;;) + { + QQUser localQQUser2; + try + { + this.d = null; + Iterator localIterator = this.c.iterator(); + if (!localIterator.hasNext()) { + break; + } + localQQUser2 = (QQUser)localIterator.next(); + if ((!a) && (localQQUser2 == null)) { + throw new AssertionError(); + } + } + finally {} + if (localQQUser2.mIsCurrentUser) { + this.d = localQQUser2; + } + } + if ((this.d == null) && (this.c.size() > 0)) + { + this.d = ((QQUser)this.c.get(0)); + e.a("user uin=" + this.d.mUin + ",email=" + this.d.mEmail + ",currentUser=" + this.d.mIsCurrentUser); + a(this.d, true); + if ((!a) && (!this.d.mIsCurrentUser)) { + throw new AssertionError(); + } + } + QQUser localQQUser1 = this.d; + return localQQUser1; + } + + public final int a() + { + if (!g()) { + return -1; + } + if ((!a) && (this.c == null)) { + throw new AssertionError(); + } + return this.c.size(); + } + + public final QQUser a(int paramInt) + { + int i = a(); + if (paramInt >= i) + { + e.c("inval param, index:" + paramInt + ",count:" + i); + return null; + } + return (QQUser)this.c.get(paramInt); + } + + public final void a(List paramList) + { + LinkedList localLinkedList; + QQUser localQQUser1; + for (;;) + { + QQUser localQQUser3; + try + { + g(); + localLinkedList = new LinkedList(); + Iterator localIterator = this.c.iterator(); + this.e = false; + if (!localIterator.hasNext()) { + break; + } + localQQUser3 = (QQUser)localIterator.next(); + QQUser localQQUser2 = a(paramList, localQQUser3.mUin); + localQQUser1 = localQQUser2; + if (localQQUser2 == null) { + localQQUser1 = b(paramList, localQQUser3.mUin); + } + if (localQQUser1 != null) + { + e(localQQUser3); + if (!localQQUser3.mIsCurrentUser) { + continue; + } + localQQUser1.mIsCurrentUser = true; + this.d = localQQUser1; + localLinkedList.add(localQQUser1); + f(localQQUser1); + continue; + } + this.e = true; + } + finally {} + if (!localQQUser3.mIsBinded) + { + localLinkedList.add(localQQUser3); + } + else + { + e(localQQUser3); + if ((this.d != null) && (localQQUser3.mUin == this.d.mUin)) { + this.d = null; + } + } + } + paramList = paramList.iterator(); + while (paramList.hasNext()) + { + localQQUser1 = (QQUser)paramList.next(); + if (a(localLinkedList, localQQUser1.mUin) == null) + { + this.e = true; + localLinkedList.add(localQQUser1); + f(localQQUser1); + } + } + this.c.clear(); + paramList = localLinkedList.iterator(); + while (paramList.hasNext()) + { + localQQUser1 = (QQUser)paramList.next(); + if ((!a) && (localQQUser1 == null)) { + throw new AssertionError(); + } + if (localQQUser1.mIsBinded) { + this.c.add(localQQUser1); + } + } + paramList = localLinkedList.iterator(); + while (paramList.hasNext()) + { + localQQUser1 = (QQUser)paramList.next(); + if ((!a) && (localQQUser1 == null)) { + throw new AssertionError(); + } + if (!localQQUser1.mIsBinded) { + this.c.add(localQQUser1); + } + } + } + + public final boolean a(long paramLong) + { + QQUser localQQUser = a(this.c, paramLong); + if (localQQUser == null) + { + e.c("find user not exist with uin:" + paramLong); + return false; + } + return d(localQQUser); + } + + public final boolean a(QQUser paramQQUser) + { + if ((!a) && (paramQQUser == null)) { + throw new AssertionError(); + } + gk localgk = new gk(this); + ContentValues localContentValues = new ContentValues(); + localgk.a(paramQQUser); + long l2 = localgk.c(); + localContentValues.put("flag", Long.valueOf(l2)); + e.b("set user flag " + paramQQUser.mUinMask + ":" + l2); + if (!paramQQUser.mIsBinded) {} + for (long l1 = -paramQQUser.mRealUin; gl.a(localgk, "table_user", localContentValues, "uin=?", new String[] { String.valueOf(l1) }) <= 0; l1 = paramQQUser.mUin) + { + e.c("update uin flag failed, uin=" + paramQQUser.mUin + ", flag=" + l2); + return false; + } + return true; + } + + public final QQUser b() + { + for (;;) + { + QQUser localQQUser2; + try + { + boolean bool = g(); + if (!bool) + { + localObject1 = null; + return localObject1; + } + if (this.d != null) { + break label216; + } + Object localObject1 = this.c.iterator(); + if (!((Iterator)localObject1).hasNext()) { + break label88; + } + localQQUser2 = (QQUser)((Iterator)localObject1).next(); + if ((!a) && (localQQUser2 == null)) { + throw new AssertionError(); + } + } + finally {} + if (localQQUser2.mIsCurrentUser) + { + this.d = localQQUser2; + label88: + if ((this.d == null) && (this.c.size() > 0)) + { + this.d = ((QQUser)this.c.get(0)); + e.a("user uin=" + this.d.mUin + ",email=" + this.d.mEmail + ",currentUser=" + this.d.mIsCurrentUser); + a(this.d, true); + if ((!a) && (!this.d.mIsCurrentUser)) { + throw new AssertionError(); + } + } + label216: + QQUser localQQUser1 = this.d; + } + } + } + + public final QQUser b(int paramInt) + { + for (;;) + { + int i; + try + { + bool = g(); + if (!bool) + { + localQQUser = null; + return localQQUser; + } + Iterator localIterator = this.c.iterator(); + i = 1; + if (!localIterator.hasNext()) { + break label102; + } + QQUser localQQUser = (QQUser)localIterator.next(); + if ((!a) && (localQQUser == null)) { + throw new AssertionError(); + } + } + finally {} + boolean bool = localObject1.mIsCurrentUser; + if (!bool) { + if (i != paramInt) + { + i += 1; + continue; + label102: + Object localObject2 = null; + } + } + } + } + + public final void b(List paramList) + { + if ((this.c == null) || (paramList == null)) {} + for (;;) + { + return; + int i = 0; + while (i < this.c.size()) + { + if (((QQUser)this.c.get(i)).mIsRegisterFacePwd) { + paramList.add(this.c.get(i)); + } + i += 1; + } + } + } + + public final boolean b(long paramLong) + { + QQUser localQQUser = b(this.c, paramLong); + if (localQQUser == null) + { + e.c("find user not exist with uin:" + paramLong); + return false; + } + return d(localQQUser); + } + + public final boolean b(QQUser paramQQUser) + { + boolean bool1 = false; + if ((!a) && (paramQQUser == null)) { + throw new AssertionError(); + } + if (this.c.size() >= 3) {} + boolean bool2; + do + { + return bool1; + if (paramQQUser.mUin == 0L) { + paramQQUser.mUin = paramQQUser.mRealUin; + } + int i = 0; + while (i < this.c.size()) + { + if (((QQUser)this.c.get(i)).mRealUin == paramQQUser.mRealUin) { + return true; + } + i += 1; + } + bool2 = f(paramQQUser); + bool1 = bool2; + } while (!bool2); + this.c.add(paramQQUser); + return bool2; + } + + public final QQUser c(long paramLong) + { + return a(this.c, paramLong); + } + + public final boolean c() + { + boolean bool = false; + if (this.e) + { + this.e = false; + if (!this.e) { + bool = true; + } + return bool; + } + return this.e; + } + + public final boolean c(QQUser paramQQUser) + { + boolean bool2 = false; + if ((!a) && (paramQQUser == null)) { + throw new AssertionError(); + } + boolean bool3 = e(paramQQUser); + boolean bool1 = bool2; + int i; + if (bool3) { + i = 0; + } + for (;;) + { + bool1 = bool2; + if (i < this.c.size()) + { + if (((QQUser)this.c.get(i)).mRealUin == paramQQUser.mRealUin) + { + this.c.remove(i); + if (paramQQUser.mIsCurrentUser) { + h(); + } + bool1 = bool3; + } + } + else { + return bool1; + } + i += 1; + } + } + + public final long d() + { + if (this.c == null) { + return 0L; + } + int i = 0; + while (i < this.c.size()) + { + if (((QQUser)this.c.get(i)).mIsBinded) { + return ((QQUser)this.c.get(i)).mUin; + } + i += 1; + } + return 0L; + } + + public final QQUser d(long paramLong) + { + return b(this.c, paramLong); + } + + public final boolean e() + { + if (this.c == null) {} + for (;;) + { + return false; + int i = 0; + while (i < this.c.size()) + { + if (((QQUser)this.c.get(i)).mIsRegisterFacePwd) { + return true; + } + i += 1; + } + } + } + + public final boolean f() + { + QQUser localQQUser1 = b(); + if ((localQQUser1 == null) || (this.c == null)) {} + for (;;) + { + return false; + int i = 0; + while (i < this.c.size()) + { + QQUser localQQUser2 = (QQUser)this.c.get(i); + if ((localQQUser2.mIsRegisterFacePwd) && (localQQUser2.mUin == localQQUser1.mUin)) { + return true; + } + i += 1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gk.java b/com.tencent.token/classes.jar/com/tencent/token/gk.java new file mode 100755 index 00000000000..331d9eac091 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gk.java @@ -0,0 +1,218 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.a; + +public final class gk + implements go +{ + long a; + long b; + String c; + String d; + String e; + boolean f; + byte[] g; + long h; + boolean i; + boolean j; + boolean k; + boolean l; + + public gk(gj paramgj) {} + + public final go a(Cursor paramCursor) + { + int n = 0; + gk localgk = new gk(this.m); + localgk.a = paramCursor.getLong(paramCursor.getColumnIndex("uin")); + localgk.c = paramCursor.getString(paramCursor.getColumnIndex("email")); + localgk.d = paramCursor.getString(paramCursor.getColumnIndex("nick_name")); + localgk.e = paramCursor.getString(paramCursor.getColumnIndex("uin_mask")); + localgk.g = paramCursor.getBlob(paramCursor.getColumnIndex("head_image")); + localgk.h = paramCursor.getLong(paramCursor.getColumnIndex("head_image_update_time")); + long l1 = paramCursor.getLong(paramCursor.getColumnIndex("flag")); + if ((1L & l1) != 0L) + { + bool = true; + localgk.f = bool; + if ((0x2 & l1) == 0L) { + break label378; + } + bool = true; + label175: + localgk.i = bool; + if ((0x8 & l1) == 0L) { + break label384; + } + bool = true; + label195: + localgk.k = bool; + if ((0x4 & l1) != 0L) { + break label390; + } + bool = true; + label215: + localgk.j = bool; + if ((l1 & 0x10) == 0L) { + break label396; + } + } + byte[] arrayOfByte; + label384: + label390: + label396: + for (boolean bool = true;; bool = false) + { + localgk.l = bool; + if (!localgk.j) { + localgk.a = (-localgk.a); + } + if ((localgk.g == null) || (localgk.g.length < 64)) { + break label421; + } + paramCursor = localgk.g; + if ((paramCursor[0] != a.a[0]) || (paramCursor[1] != a.a[1]) || (paramCursor[2] != a.a[2]) || (paramCursor[3] != a.a[3])) { + break label421; + } + arrayOfByte = new byte[60]; + System.arraycopy(paramCursor, 4, arrayOfByte, 0, 60); + while ((n < 60) && (arrayOfByte[n] == 0)) + { + arrayOfByte[n] = 48; + n += 1; + } + bool = false; + break; + label378: + bool = false; + break label175; + bool = false; + break label195; + bool = false; + break label215; + } + paramCursor = new String(arrayOfByte); + try + { + localgk.b = Long.parseLong(paramCursor); + label421: + return localgk; + } + catch (Exception paramCursor) + { + localgk.b = 0L; + } + return localgk; + } + + public final String a() + { + return "table_user"; + } + + public final void a(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS table_user(uin INTEGER PRIMARY KEY,email TEXT,nick_name TEXT, uin_mask TEXT, flag INTEGER,head_image BLOB, head_image_update_time INTEGER);"); + } + + final boolean a(QQUser paramQQUser) + { + this.a = paramQQUser.mUin; + this.c = paramQQUser.mEmail; + this.d = paramQQUser.mNickName; + this.h = paramQQUser.mHeadImageUpdateTime; + this.g = null; + this.f = paramQQUser.mIsCurrentUser; + this.e = paramQQUser.mUinMask; + this.i = paramQQUser.mIsSupperQQ; + this.k = paramQQUser.mIsRegisterFacePwd; + this.j = paramQQUser.mIsBinded; + this.l = paramQQUser.mIsZzb; + this.b = paramQQUser.mRealUin; + return true; + } + + public final long b(SQLiteDatabase paramSQLiteDatabase) + { + if (!this.j) + { + this.g = new byte[64]; + localObject = this.b + ""; + System.arraycopy(a.a, 0, this.g, 0, a.a.length); + System.arraycopy(((String)localObject).getBytes(), 0, this.g, this.g.length - ((String)localObject).length(), ((String)localObject).length()); + } + long l1 = c(); + Object localObject = new ContentValues(); + if (this.j) { + ((ContentValues)localObject).put("uin", Long.valueOf(this.a)); + } + for (;;) + { + ((ContentValues)localObject).put("email", this.c); + ((ContentValues)localObject).put("nick_name", this.d); + ((ContentValues)localObject).put("uin_mask", this.e); + ((ContentValues)localObject).put("flag", Long.valueOf(l1)); + ((ContentValues)localObject).put("head_image", this.g); + ((ContentValues)localObject).put("head_image_update_time", Long.valueOf(this.h)); + return paramSQLiteDatabase.insert("table_user", null, (ContentValues)localObject); + ((ContentValues)localObject).put("uin", Long.valueOf(-this.a)); + } + } + + public final ContentValues b() + { + return null; + } + + public final long c() + { + if (this.f) {} + for (long l2 = 1L;; l2 = 0L) + { + long l1 = l2; + if (this.i) { + l1 = l2 | 0x2; + } + l2 = l1; + if (!this.j) { + l2 = l1 | 0x4; + } + l1 = l2; + if (this.k) { + l1 = l2 | 0x8; + } + l2 = l1; + if (this.l) { + l2 = l1 | 0x10; + } + return l2; + } + } + + final QQUser d() + { + QQUser localQQUser = new QQUser(); + localQQUser.mUin = this.a; + localQQUser.mEmail = this.c; + localQQUser.mNickName = this.d; + localQQUser.mUinMask = this.e; + localQQUser.mIsCurrentUser = this.f; + localQQUser.mIsSupperQQ = this.i; + localQQUser.mIsRegisterFacePwd = this.k; + localQQUser.mIsBinded = this.j; + localQQUser.mIsZzb = this.l; + localQQUser.mRealUin = this.b; + localQQUser.mHeadImageUpdateTime = this.h; + return localQQUser; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gl.java b/com.tencent.token/classes.jar/com/tencent/token/gl.java new file mode 100755 index 00000000000..83275d35139 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gl.java @@ -0,0 +1,861 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.List; + +public final class gl +{ + private static gh a; + private static Context b; + private static String c = "token"; + + static + { + try + { + SQLiteDatabase.LoadLib("kkdb"); + return; + } + catch (Exception localException) + { + e.c("status_kk" + localException.toString() + localException.getMessage()); + return; + } + catch (Throwable localThrowable) + { + e.c("status_kk" + localThrowable.toString() + localThrowable.getMessage()); + } + } + + public static int a(go paramgo, String paramString) + { + try + { + c(paramgo); + paramgo = a().query(paramString, new String[] { "count(*)" }, null, null, null, null, null, null); + if (paramgo.getCount() > 0) + { + paramgo.moveToFirst(); + i = paramgo.getInt(0); + paramgo.close(); + e.c("test database, tablecount=" + i); + return i; + } + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + continue; + int i = 0; + } + } + } + + public static int a(go paramgo, String paramString1, ContentValues paramContentValues, String paramString2, String[] paramArrayOfString) + { + try + { + c(paramgo); + int i = a().update(paramString1, paramContentValues, paramString2, paramArrayOfString); + return i; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } + } + + public static int a(go paramgo, String paramString1, String paramString2, String[] paramArrayOfString) + { + try + { + c(paramgo); + int i = a().delete(paramString1, paramString2, paramArrayOfString); + e.c("test database, del=" + i); + return i; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } + } + + public static long a(go paramgo) + { + try + { + c(paramgo); + long l = paramgo.b(a()); + return l; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0L; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } + } + + /* Error */ + public static SQLiteDatabase a() + { + // Byte code: + // 0: getstatic 113 com/tencent/token/gl:a Lcom/tencent/token/gh; + // 3: ifnonnull +339 -> 342 + // 6: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 9: ifnonnull +9 -> 18 + // 12: invokestatic 121 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 15: putstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 18: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 21: ldc 123 + // 23: invokevirtual 129 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 26: astore_2 + // 27: aload_2 + // 28: ifnull +15 -> 43 + // 31: aload_2 + // 32: invokevirtual 134 java/io/File:exists ()Z + // 35: ifeq +8 -> 43 + // 38: aload_2 + // 39: invokevirtual 136 java/io/File:delete ()Z + // 42: pop + // 43: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 46: ldc 138 + // 48: invokevirtual 129 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 51: astore_3 + // 52: aload_3 + // 53: invokevirtual 134 java/io/File:exists ()Z + // 56: ifne +778 -> 834 + // 59: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 62: ldc 140 + // 64: invokevirtual 129 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 67: astore_2 + // 68: aload_2 + // 69: invokevirtual 134 java/io/File:exists ()Z + // 72: ifeq +251 -> 323 + // 75: aload_2 + // 76: invokevirtual 143 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 79: aconst_null + // 80: iconst_1 + // 81: new 145 com/tencent/token/gf + // 84: dup + // 85: invokespecial 146 com/tencent/token/gf: ()V + // 88: invokestatic 150 com/tencent/kingkong/database/SQLiteDatabase:openDatabase (Ljava/lang/String;Lcom/tencent/kingkong/database/SQLiteDatabase$CursorFactory;ILcom/tencent/kingkong/DatabaseErrorHandler;)Lcom/tencent/kingkong/database/SQLiteDatabase; + // 91: astore_2 + // 92: aload_3 + // 93: getstatic 156 com/tencent/kingkong/database/SQLiteDatabase$LockedDevice:STABLE Lcom/tencent/kingkong/database/SQLiteDatabase$LockedDevice; + // 96: getstatic 20 com/tencent/token/gl:c Ljava/lang/String; + // 99: getstatic 162 com/tencent/kingkong/database/SQLiteDatabase$Arithmetic:DEFAULT Lcom/tencent/kingkong/database/SQLiteDatabase$Arithmetic; + // 102: aconst_null + // 103: new 145 com/tencent/token/gf + // 106: dup + // 107: invokespecial 146 com/tencent/token/gf: ()V + // 110: invokestatic 166 com/tencent/kingkong/database/SQLiteDatabase:openOrCreateDatabase (Ljava/io/File;Lcom/tencent/kingkong/database/SQLiteDatabase$LockedDevice;Ljava/lang/String;Lcom/tencent/kingkong/database/SQLiteDatabase$Arithmetic;Lcom/tencent/kingkong/database/SQLiteDatabase$CursorFactory;Lcom/tencent/kingkong/DatabaseErrorHandler;)Lcom/tencent/kingkong/database/SQLiteDatabase; + // 113: astore 4 + // 115: invokestatic 169 com/tencent/kingkong/database/SQLiteDatabase:enableForceOptimization ()V + // 118: new 171 java/util/HashSet + // 121: dup + // 122: invokespecial 172 java/util/HashSet: ()V + // 125: astore_3 + // 126: aload_3 + // 127: ldc 174 + // 129: invokevirtual 178 java/util/HashSet:add (Ljava/lang/Object;)Z + // 132: pop + // 133: new 30 java/lang/StringBuilder + // 136: dup + // 137: ldc 180 + // 139: invokespecial 182 java/lang/StringBuilder: (Ljava/lang/String;)V + // 142: astore 5 + // 144: aload_2 + // 145: aload 5 + // 147: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 150: aconst_null + // 151: invokevirtual 186 com/tencent/kingkong/database/SQLiteDatabase:rawQuery (Ljava/lang/String;[Ljava/lang/String;)Lcom/tencent/kingkong/Cursor; + // 154: astore 6 + // 156: aload 6 + // 158: ifnull +652 -> 810 + // 161: aload 6 + // 163: invokeinterface 77 1 0 + // 168: pop + // 169: aload 6 + // 171: invokeinterface 189 1 0 + // 176: ifeq +627 -> 803 + // 179: aload 6 + // 181: iconst_0 + // 182: invokeinterface 193 2 0 + // 187: astore 9 + // 189: aload 5 + // 191: iconst_0 + // 192: invokevirtual 197 java/lang/StringBuilder:setLength (I)V + // 195: aload 5 + // 197: ldc 199 + // 199: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 202: aload 9 + // 204: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 207: ldc 201 + // 209: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 212: pop + // 213: aload_2 + // 214: aload 5 + // 216: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 219: aconst_null + // 220: invokevirtual 186 com/tencent/kingkong/database/SQLiteDatabase:rawQuery (Ljava/lang/String;[Ljava/lang/String;)Lcom/tencent/kingkong/Cursor; + // 223: astore 7 + // 225: aload 7 + // 227: ifnull -58 -> 169 + // 230: aload 7 + // 232: invokeinterface 204 1 0 + // 237: ifeq +556 -> 793 + // 240: aload_3 + // 241: aload 9 + // 243: invokevirtual 207 java/util/HashSet:contains (Ljava/lang/Object;)Z + // 246: ifeq +105 -> 351 + // 249: aload 7 + // 251: invokeinterface 208 1 0 + // 256: goto -87 -> 169 + // 259: astore 5 + // 261: aload_2 + // 262: astore_3 + // 263: aload 4 + // 265: astore_2 + // 266: aload 5 + // 268: astore 4 + // 270: new 30 java/lang/StringBuilder + // 273: dup + // 274: invokespecial 33 java/lang/StringBuilder: ()V + // 277: ldc 35 + // 279: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 282: aload 4 + // 284: invokevirtual 43 java/lang/Exception:toString ()Ljava/lang/String; + // 287: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 290: aload 4 + // 292: invokevirtual 46 java/lang/Exception:getMessage ()Ljava/lang/String; + // 295: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 298: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 301: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 304: aload_3 + // 305: ifnull +7 -> 312 + // 308: aload_3 + // 309: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 312: aload_2 + // 313: ifnull +7 -> 320 + // 316: aload_2 + // 317: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 320: invokestatic 212 com/tencent/kingkong/database/SQLiteDatabase:disableForceOptimization ()V + // 323: new 214 com/tencent/token/gh + // 326: dup + // 327: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 330: getstatic 20 com/tencent/token/gl:c Ljava/lang/String; + // 333: invokestatic 218 com/tencent/token/global/b:a ()I + // 336: invokespecial 221 com/tencent/token/gh: (Landroid/content/Context;Ljava/lang/String;I)V + // 339: putstatic 113 com/tencent/token/gl:a Lcom/tencent/token/gh; + // 342: getstatic 113 com/tencent/token/gl:a Lcom/tencent/token/gh; + // 345: invokevirtual 224 com/tencent/token/gh:getWritableDatabase ()Lcom/tencent/kingkong/database/SQLiteDatabase; + // 348: astore_2 + // 349: aload_2 + // 350: areturn + // 351: aload 4 + // 353: aload 7 + // 355: iconst_0 + // 356: invokeinterface 225 2 0 + // 361: invokevirtual 228 com/tencent/kingkong/database/SQLiteDatabase:execSQL (Ljava/lang/String;)V + // 364: aload_2 + // 365: new 30 java/lang/StringBuilder + // 368: dup + // 369: invokespecial 33 java/lang/StringBuilder: ()V + // 372: ldc 230 + // 374: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 377: aload 9 + // 379: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 382: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 385: aconst_null + // 386: invokevirtual 186 com/tencent/kingkong/database/SQLiteDatabase:rawQuery (Ljava/lang/String;[Ljava/lang/String;)Lcom/tencent/kingkong/Cursor; + // 389: astore 8 + // 391: aload 8 + // 393: ifnull +400 -> 793 + // 396: aload 8 + // 398: invokeinterface 77 1 0 + // 403: ifle +390 -> 793 + // 406: aload 5 + // 408: iconst_0 + // 409: invokevirtual 197 java/lang/StringBuilder:setLength (I)V + // 412: aload 5 + // 414: ldc 232 + // 416: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 419: aload 9 + // 421: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 424: ldc 234 + // 426: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 429: pop + // 430: aload 8 + // 432: invokeinterface 237 1 0 + // 437: ifle +108 -> 545 + // 440: new 30 java/lang/StringBuilder + // 443: dup + // 444: ldc 239 + // 446: invokespecial 182 java/lang/StringBuilder: (Ljava/lang/String;)V + // 449: astore 9 + // 451: aload 8 + // 453: invokeinterface 243 1 0 + // 458: astore 10 + // 460: aload 10 + // 462: arraylength + // 463: istore_1 + // 464: iconst_0 + // 465: istore_0 + // 466: iload_0 + // 467: iload_1 + // 468: if_icmpge +33 -> 501 + // 471: aload 5 + // 473: aload 10 + // 475: iload_0 + // 476: aaload + // 477: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 480: ldc 245 + // 482: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 485: pop + // 486: aload 9 + // 488: ldc 247 + // 490: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 493: pop + // 494: iload_0 + // 495: iconst_1 + // 496: iadd + // 497: istore_0 + // 498: goto -32 -> 466 + // 501: aload 9 + // 503: aload 9 + // 505: invokevirtual 250 java/lang/StringBuilder:length ()I + // 508: iconst_1 + // 509: isub + // 510: invokevirtual 253 java/lang/StringBuilder:deleteCharAt (I)Ljava/lang/StringBuilder; + // 513: pop + // 514: aload 5 + // 516: aload 5 + // 518: invokevirtual 250 java/lang/StringBuilder:length ()I + // 521: iconst_1 + // 522: isub + // 523: invokevirtual 253 java/lang/StringBuilder:deleteCharAt (I)Ljava/lang/StringBuilder; + // 526: pop + // 527: aload 5 + // 529: ldc 255 + // 531: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 534: aload 9 + // 536: invokevirtual 258 java/lang/StringBuilder:append (Ljava/lang/CharSequence;)Ljava/lang/StringBuilder; + // 539: ldc 255 + // 541: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 544: pop + // 545: aload 4 + // 547: aload 5 + // 549: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 552: invokevirtual 262 com/tencent/kingkong/database/SQLiteDatabase:compileStatement (Ljava/lang/String;)Lcom/tencent/kingkong/database/SQLiteStatement; + // 555: astore 9 + // 557: aload 4 + // 559: invokevirtual 265 com/tencent/kingkong/database/SQLiteDatabase:beginTransaction ()V + // 562: aload 8 + // 564: invokeinterface 237 1 0 + // 569: istore_1 + // 570: iload_1 + // 571: newarray int + // 573: astore 10 + // 575: aload 8 + // 577: invokeinterface 81 1 0 + // 582: pop + // 583: iconst_0 + // 584: istore_0 + // 585: iload_0 + // 586: iload_1 + // 587: if_icmpge +435 -> 1022 + // 590: aload 10 + // 592: iload_0 + // 593: aload 8 + // 595: iload_0 + // 596: invokeinterface 268 2 0 + // 601: iastore + // 602: iload_0 + // 603: iconst_1 + // 604: iadd + // 605: istore_0 + // 606: goto -21 -> 585 + // 609: aload 8 + // 611: iload_0 + // 612: invokeinterface 193 2 0 + // 617: astore 11 + // 619: aload 11 + // 621: ifnull +40 -> 661 + // 624: aload 9 + // 626: iload_0 + // 627: iconst_1 + // 628: iadd + // 629: aload 11 + // 631: invokevirtual 274 com/tencent/kingkong/database/SQLiteStatement:bindString (ILjava/lang/String;)V + // 634: goto +434 -> 1068 + // 637: astore_3 + // 638: aload_2 + // 639: ifnull +7 -> 646 + // 642: aload_2 + // 643: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 646: aload 4 + // 648: ifnull +8 -> 656 + // 651: aload 4 + // 653: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 656: invokestatic 212 com/tencent/kingkong/database/SQLiteDatabase:disableForceOptimization ()V + // 659: aload_3 + // 660: athrow + // 661: aload 9 + // 663: iload_0 + // 664: iconst_1 + // 665: iadd + // 666: invokevirtual 277 com/tencent/kingkong/database/SQLiteStatement:bindNull (I)V + // 669: goto +399 -> 1068 + // 672: aload 9 + // 674: iload_0 + // 675: iconst_1 + // 676: iadd + // 677: aload 8 + // 679: iload_0 + // 680: invokeinterface 281 2 0 + // 685: invokevirtual 285 com/tencent/kingkong/database/SQLiteStatement:bindLong (IJ)V + // 688: goto +380 -> 1068 + // 691: aload 8 + // 693: iload_0 + // 694: invokeinterface 289 2 0 + // 699: astore 11 + // 701: aload 11 + // 703: ifnull +16 -> 719 + // 706: aload 9 + // 708: iload_0 + // 709: iconst_1 + // 710: iadd + // 711: aload 11 + // 713: invokevirtual 293 com/tencent/kingkong/database/SQLiteStatement:bindBlob (I[B)V + // 716: goto +352 -> 1068 + // 719: aload 9 + // 721: iload_0 + // 722: iconst_1 + // 723: iadd + // 724: invokevirtual 277 com/tencent/kingkong/database/SQLiteStatement:bindNull (I)V + // 727: goto +341 -> 1068 + // 730: aload 9 + // 732: iload_0 + // 733: iconst_1 + // 734: iadd + // 735: aload 8 + // 737: iload_0 + // 738: invokeinterface 297 2 0 + // 743: invokevirtual 301 com/tencent/kingkong/database/SQLiteStatement:bindDouble (ID)V + // 746: goto +322 -> 1068 + // 749: aload 9 + // 751: iload_0 + // 752: iconst_1 + // 753: iadd + // 754: invokevirtual 277 com/tencent/kingkong/database/SQLiteStatement:bindNull (I)V + // 757: goto +311 -> 1068 + // 760: aload 9 + // 762: invokevirtual 305 com/tencent/kingkong/database/SQLiteStatement:executeInsert ()J + // 765: pop2 + // 766: aload 8 + // 768: invokeinterface 189 1 0 + // 773: ifne +249 -> 1022 + // 776: aload 4 + // 778: invokevirtual 308 com/tencent/kingkong/database/SQLiteDatabase:setTransactionSuccessful ()V + // 781: aload 4 + // 783: invokevirtual 311 com/tencent/kingkong/database/SQLiteDatabase:endTransaction ()V + // 786: aload 8 + // 788: invokeinterface 88 1 0 + // 793: aload 7 + // 795: invokeinterface 208 1 0 + // 800: goto -631 -> 169 + // 803: aload 6 + // 805: invokeinterface 88 1 0 + // 810: aload_2 + // 811: ifnull +7 -> 818 + // 814: aload_2 + // 815: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 818: aload 4 + // 820: ifnull +8 -> 828 + // 823: aload 4 + // 825: invokevirtual 209 com/tencent/kingkong/database/SQLiteDatabase:close ()V + // 828: invokestatic 212 com/tencent/kingkong/database/SQLiteDatabase:disableForceOptimization ()V + // 831: goto -508 -> 323 + // 834: getstatic 115 com/tencent/token/gl:b Landroid/content/Context; + // 837: ldc 140 + // 839: invokevirtual 129 android/content/Context:getDatabasePath (Ljava/lang/String;)Ljava/io/File; + // 842: pop + // 843: goto -520 -> 323 + // 846: astore_2 + // 847: aload_2 + // 848: invokevirtual 46 java/lang/Exception:getMessage ()Ljava/lang/String; + // 851: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 854: new 30 java/lang/StringBuilder + // 857: dup + // 858: invokespecial 33 java/lang/StringBuilder: ()V + // 861: ldc 35 + // 863: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 866: aload_2 + // 867: invokevirtual 43 java/lang/Exception:toString ()Ljava/lang/String; + // 870: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 873: aload_2 + // 874: invokevirtual 46 java/lang/Exception:getMessage ()Ljava/lang/String; + // 877: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 880: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 883: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 886: goto -544 -> 342 + // 889: astore_2 + // 890: aload_2 + // 891: invokevirtual 46 java/lang/Exception:getMessage ()Ljava/lang/String; + // 894: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 897: new 30 java/lang/StringBuilder + // 900: dup + // 901: invokespecial 33 java/lang/StringBuilder: ()V + // 904: ldc 35 + // 906: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 909: aload_2 + // 910: invokevirtual 43 java/lang/Exception:toString ()Ljava/lang/String; + // 913: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 916: aload_2 + // 917: invokevirtual 46 java/lang/Exception:getMessage ()Ljava/lang/String; + // 920: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 923: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 926: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 929: aconst_null + // 930: areturn + // 931: astore_2 + // 932: new 30 java/lang/StringBuilder + // 935: dup + // 936: invokespecial 33 java/lang/StringBuilder: ()V + // 939: ldc 35 + // 941: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 944: aload_2 + // 945: invokevirtual 53 java/lang/Throwable:toString ()Ljava/lang/String; + // 948: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 951: aload_2 + // 952: invokevirtual 54 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 955: invokevirtual 39 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 958: invokevirtual 47 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 961: invokestatic 52 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 964: goto -35 -> 929 + // 967: astore_3 + // 968: aconst_null + // 969: astore 4 + // 971: aconst_null + // 972: astore_2 + // 973: goto -335 -> 638 + // 976: astore_3 + // 977: aconst_null + // 978: astore 4 + // 980: goto -342 -> 638 + // 983: astore 4 + // 985: aload_3 + // 986: astore 5 + // 988: aload 4 + // 990: astore_3 + // 991: aload_2 + // 992: astore 4 + // 994: aload 5 + // 996: astore_2 + // 997: goto -359 -> 638 + // 1000: astore 4 + // 1002: aconst_null + // 1003: astore_2 + // 1004: aconst_null + // 1005: astore_3 + // 1006: goto -736 -> 270 + // 1009: astore 4 + // 1011: aconst_null + // 1012: astore 5 + // 1014: aload_2 + // 1015: astore_3 + // 1016: aload 5 + // 1018: astore_2 + // 1019: goto -749 -> 270 + // 1022: iconst_0 + // 1023: istore_0 + // 1024: iload_0 + // 1025: iload_1 + // 1026: if_icmpge -266 -> 760 + // 1029: aload 10 + // 1031: iload_0 + // 1032: iaload + // 1033: tableswitch default:+35 -> 1068, 0:+-284->749, 1:+-361->672, 2:+-303->730, 3:+-424->609, 4:+-342->691 + // 1069: iconst_1 + // 1070: iadd + // 1071: istore_0 + // 1072: goto -48 -> 1024 + // Local variable table: + // start length slot name signature + // 465 607 0 i int + // 463 564 1 j int + // 26 789 2 localObject1 Object + // 846 28 2 localException1 Exception + // 889 28 2 localException2 Exception + // 931 21 2 localThrowable Throwable + // 972 47 2 localObject2 Object + // 51 258 3 localObject3 Object + // 637 23 3 localObject4 Object + // 967 1 3 localObject5 Object + // 976 10 3 localObject6 Object + // 990 26 3 localObject7 Object + // 113 866 4 localObject8 Object + // 983 6 4 localObject9 Object + // 992 1 4 localObject10 Object + // 1000 1 4 localException3 Exception + // 1009 1 4 localException4 Exception + // 142 73 5 localStringBuilder java.lang.StringBuilder + // 259 289 5 localException5 Exception + // 986 31 5 localObject11 Object + // 154 650 6 localCursor1 Cursor + // 223 571 7 localCursor2 Cursor + // 389 398 8 localCursor3 Cursor + // 187 574 9 localObject12 Object + // 458 572 10 localObject13 Object + // 617 95 11 localObject14 Object + // Exception table: + // from to target type + // 115 156 259 java/lang/Exception + // 161 169 259 java/lang/Exception + // 169 225 259 java/lang/Exception + // 230 256 259 java/lang/Exception + // 351 391 259 java/lang/Exception + // 396 464 259 java/lang/Exception + // 471 494 259 java/lang/Exception + // 501 545 259 java/lang/Exception + // 545 583 259 java/lang/Exception + // 590 602 259 java/lang/Exception + // 609 619 259 java/lang/Exception + // 624 634 259 java/lang/Exception + // 661 669 259 java/lang/Exception + // 672 688 259 java/lang/Exception + // 691 701 259 java/lang/Exception + // 706 716 259 java/lang/Exception + // 719 727 259 java/lang/Exception + // 730 746 259 java/lang/Exception + // 749 757 259 java/lang/Exception + // 760 793 259 java/lang/Exception + // 793 800 259 java/lang/Exception + // 803 810 259 java/lang/Exception + // 115 156 637 finally + // 161 169 637 finally + // 169 225 637 finally + // 230 256 637 finally + // 351 391 637 finally + // 396 464 637 finally + // 471 494 637 finally + // 501 545 637 finally + // 545 583 637 finally + // 590 602 637 finally + // 609 619 637 finally + // 624 634 637 finally + // 661 669 637 finally + // 672 688 637 finally + // 691 701 637 finally + // 706 716 637 finally + // 719 727 637 finally + // 730 746 637 finally + // 749 757 637 finally + // 760 793 637 finally + // 793 800 637 finally + // 803 810 637 finally + // 323 342 846 java/lang/Exception + // 342 349 889 java/lang/Exception + // 342 349 931 java/lang/Throwable + // 75 92 967 finally + // 92 115 976 finally + // 270 304 983 finally + // 75 92 1000 java/lang/Exception + // 92 115 1009 java/lang/Exception + } + + public static go a(go paramgo, String paramString, String[] paramArrayOfString) + { + paramgo = a(paramgo, paramString, paramArrayOfString, null, null, null, null); + if ((paramgo != null) && (paramgo.size() > 0)) { + return (go)paramgo.get(0); + } + return null; + } + + public static List a(go paramgo, String paramString1, String[] paramArrayOfString1, String paramString2, String[] paramArrayOfString2, String paramString3, String paramString4) + { + ArrayList localArrayList = new ArrayList(); + try + { + c(paramgo); + paramString1 = a().query(paramString1, paramArrayOfString1, paramString2, paramArrayOfString2, null, null, paramString3, paramString4); + if (paramString1.getCount() > 0) + { + paramString1.moveToFirst(); + do + { + localArrayList.add(paramgo.a(paramString1)); + } while (paramString1.moveToNext()); + } + paramString1.close(); + return localArrayList; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return localArrayList; + } + catch (Throwable paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + return localArrayList; + } + + public static void a(Context paramContext) + { + b = paramContext; + } + + public static void a(String paramString) + { + try + { + SQLiteDatabase localSQLiteDatabase = a(); + localSQLiteDatabase.execSQL("DROP TABLE IF EXISTS " + paramString); + localSQLiteDatabase.close(); + return; + } + catch (Exception paramString) + { + e.c("status_kk" + paramString.toString() + paramString.getMessage()); + return; + } + catch (Throwable paramString) + { + e.c("status_kk" + paramString.toString() + paramString.getMessage()); + } + } + + public static long b(go paramgo) + { + try + { + c(paramgo); + long l = a().replace(paramgo.a(), null, paramgo.b()); + return l; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0L; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } + } + + public static long b(go paramgo, String paramString1, String[] paramArrayOfString1, String paramString2, String[] paramArrayOfString2, String paramString3, String paramString4) + { + try + { + c(paramgo); + paramgo = a().query(paramString1, paramArrayOfString1, paramString2, paramArrayOfString2, null, null, paramString3, paramString4); + long l = 0L; + if (paramgo.getCount() > 0) + { + paramgo.moveToLast(); + l = paramgo.getLong(0); + } + paramgo.close(); + e.c("test database, time=" + l); + return l; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return 0L; + } + catch (Throwable paramgo) + { + for (;;) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } + } + + public static void b() + { + if (a != null) {} + try + { + a.close(); + a = null; + return; + } + catch (Exception localException) + { + e.c("status_kk" + localException.toString() + localException.getMessage()); + return; + } + catch (Throwable localThrowable) + { + e.c("status_kk" + localThrowable.toString() + localThrowable.getMessage()); + } + } + + private static void c(go paramgo) + { + try + { + paramgo.a(a()); + return; + } + catch (Exception paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + return; + } + catch (Throwable paramgo) + { + e.c("status_kk" + paramgo.toString() + paramgo.getMessage()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/RqdApplication.java b/com.tencent.token/classes.jar/com/tencent/token/global/RqdApplication.java new file mode 100755 index 00000000000..b507a96e1dc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/RqdApplication.java @@ -0,0 +1,211 @@ +package com.tencent.token.global; + +import android.app.Application; +import android.content.Context; +import com.tencent.feedback.anr.ANRReport; +import com.tencent.feedback.eup.CrashReport; +import com.tencent.feedback.eup.CrashStrategyBean; +import com.tencent.kingkong.Common; +import com.tencent.token.a; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fd; +import com.tencent.token.ff; +import com.tencent.token.gb; +import com.tencent.token.gl; +import com.tencent.token.utils.q; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.io.File; + +public class RqdApplication + extends Application +{ + public static int a = 0; + public static boolean b; + public static volatile int c = 1; + public static volatile int d = 120; + public static String e; + public static boolean f; + public static final boolean g = q.d; + private static Context h; + private static fd i; + private static int j = -1; + + public static void a() + { + c = 1; + d = 0; + } + + public static void b() + { + a = 0; + if ((ah.a().c()) && (ah.a().e() == 2)) { + a |= 0x1; + } + if (t.e() != 0L) { + a |= 0x2; + } + } + + public static boolean c() + { + int k; + if ((a & 0x1) == 1) + { + k = 1; + if (k == 0) { + break label22; + } + } + label22: + while ((a & 0x2) == 2) + { + return true; + k = 0; + break; + } + return false; + } + + public static boolean d() + { + return (a & 0x1) == 1; + } + + public static boolean e() + { + ax localax = ax.a(); + if ((localax == null) || (localax.e() == null)) { + t.b(0L); + } + while ((a & 0x2) != 2) { + return false; + } + return true; + } + + public static void f() + { + a = 0; + } + + public static String g() + { + Object localObject2 = null; + Object localObject1 = localObject2; + if (j == 0) + { + localObject1 = localObject2; + if (!b.i()) { + localObject1 = new a(h, "safeguard_pref").a(); + } + } + j += 1; + return localObject1; + } + + public static fd h() + { + if (i != null) { + return i; + } + ff localff = new ff(h); + i = localff; + return localff; + } + + public static Context i() + { + return h; + } + + public void onCreate() + { + super.onCreate(); + h = getApplicationContext(); + b.a(getApplicationContext()); + gl.a(getApplicationContext()); + CrashReport.setLogAble(q.l, q.m); + CrashReport.setUserId(h, "testUserId"); + Object localObject = new CrashStrategyBean(); + ((CrashStrategyBean)localObject).setStoreCrashSdcard(q.o); + ((CrashStrategyBean)localObject).setCrashSdcardMaxSize(5000); + ((CrashStrategyBean)localObject).setMaxStoredNum(10); + ((CrashStrategyBean)localObject).setMaxUploadNum_GPRS(2); + ((CrashStrategyBean)localObject).setMaxUploadNum_Wifi(20); + ((CrashStrategyBean)localObject).setMaxLogRow(300); + ((CrashStrategyBean)localObject).setMaxStackFrame(5); + ((CrashStrategyBean)localObject).setMaxStackLine(200); + CrashReport.initCrashReport(h, null, null, true, (CrashStrategyBean)localObject); + localObject = gb.b().getAbsolutePath(); + CrashReport.initNativeCrashReport(h, (String)localObject, q.p); + if (q.n) { + ANRReport.startANRMonitor(h); + } + Context localContext = h; + localObject = "testUserId"; + if ((ax.a().e() != null) && (ax.a().e().mRealUin != 0L)) + { + localObject = "" + ax.a().e().mRealUin; + CrashReport.setUserId(localContext, (String)localObject); + Common.SetContext(this); + Common.SetSafeStatus(true); + boolean bool = t.c(); + if (!bool) { + b(); + } + if (bool) { + t.a(false); + } + new f(this).start(); + e.a("rqd start"); + return; + } + String str1 = s.b(h); + String str2 = s.c(h); + int k; + label286: + int m; + if (str1 == null) + { + k = 1; + if (str2 != null) { + break label367; + } + m = 1; + label293: + if ((k == 0) || (m == 0)) + { + if ((k != 0) || (m != 0)) { + break label372; + } + localObject = str1 + ";" + str2; + } + } + for (;;) + { + e.c("RqdApplication: userId =" + (String)localObject); + break; + k = 0; + break label286; + label367: + m = 0; + break label293; + label372: + if (k != 0) { + localObject = str2; + } else { + localObject = str1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.RqdApplication + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/a.java b/com.tencent.token/classes.jar/com/tencent/token/global/a.java new file mode 100755 index 00000000000..cab5fa77887 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/a.java @@ -0,0 +1,12 @@ +package com.tencent.token.global; + +public final class a +{ + public static final byte[] a = { 114, 101, 97, 108 }; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/b.java b/com.tencent.token/classes.jar/com/tencent/token/global/b.java new file mode 100755 index 00000000000..8755b904041 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/b.java @@ -0,0 +1,220 @@ +package com.tencent.token.global; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.os.Build.VERSION; +import android.telephony.TelephonyManager; +import com.tencent.token.ag; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.q; + +public final class b +{ + public static String a; + private static int b = 0; + private static String c; + private static int d; + private static boolean e; + private static Context f; + private static String g; + private static int h; + + static + { + a = "official"; + c = "http://w.aq.qq.com"; + d = 1; + if (q.c == 0) + { + c = "http://test.aq.qq.com"; + d = 0; + a = "dev"; + } + for (;;) + { + e = true; + f = null; + g = null; + h = 0; + return; + if (q.c == 1) + { + c = "http://w.aq.qq.com"; + d = 1; + } + else if (q.c == 2) + { + c = "http://exp.aq.qq.com"; + d = 2; + a = "rdm"; + } + else if (q.c == 3) + { + c = "http://gray.aq.qq.com"; + d = 3; + a = "rdm"; + } + } + } + + public static int a() + { + return d; + } + + public static void a(int paramInt) + { + d = paramInt; + if (paramInt == 0) + { + c = "http://test.aq.qq.com"; + ag.a("http://test.aq.qq.com"); + } + do + { + return; + if (d == 1) + { + c = "http://w.aq.qq.com"; + ag.a("http://aq.qq.com"); + return; + } + if (d == 2) + { + c = "http://exp.aq.qq.com"; + ag.a("http://aq.qq.com"); + return; + } + } while (d != 3); + c = "http://gray.aq.qq.com"; + ag.a("http://aq.qq.com"); + } + + public static void a(Context paramContext) + { + if (f == null) { + f = paramContext; + } + } + + public static void a(boolean paramBoolean) + { + e = paramBoolean; + } + + public static short b() + { + return (short)j(); + } + + public static String c() + { + return c; + } + + public static boolean d() + { + return e; + } + + public static Context e() + { + if (f != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + return f; + } + } + + public static String f() + { + return g; + } + + public static String g() + { + try + { + String str1 = ((TelephonyManager)f.getSystemService("phone")).getDeviceId(); + String str2 = str1; + if (str1 == null) { + str2 = ""; + } + return str2; + } + catch (Exception localException) + { + for (;;) + { + Object localObject = null; + } + } + } + + public static boolean h() + { + return IndexActivity.S_RES_HEIGHT <= 480; + } + + public static boolean i() + { + if (h == 0) { + h = Build.VERSION.SDK_INT; + } + if (h <= 10) + { + i = 1; + if (i == 0) { + break label53; + } + if (IndexActivity.S_RES_HEIGHT > 480) { + break label48; + } + } + label48: + for (int i = 1;; i = 0) + { + if (i == 0) { + break label53; + } + return true; + i = 0; + break; + } + label53: + return false; + } + + private static int j() + { + if (f != null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + Context localContext = f; + int i = q.a; + try + { + int j = localContext.getPackageManager().getPackageInfo(localContext.getPackageName(), 16384).versionCode; + i = j; + } + catch (Exception localException) + { + for (;;) + { + e.c(localException.getMessage()); + } + } + e.b("versionCode : " + i); + return i; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/c.java b/com.tencent.token/classes.jar/com/tencent/token/global/c.java new file mode 100755 index 00000000000..511e08d5ca4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/c.java @@ -0,0 +1,22 @@ +package com.tencent.token.global; + +import com.tencent.token.utils.q; +import java.io.File; + +public abstract interface c +{ + public static final boolean a = q.e; + public static final boolean b = q.f; + public static final boolean c = q.g; + public static final boolean d = q.i; + public static final boolean e = q.j; + public static final boolean f = q.k; + public static final String g = "Tencent" + File.separator + "QQSec" + File.separator + "log"; + public static final int h = q.h; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/d.java b/com.tencent.token/classes.jar/com/tencent/token/global/d.java new file mode 100755 index 00000000000..ea138e16beb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/d.java @@ -0,0 +1,89 @@ +package com.tencent.token.global; + +import android.content.Context; +import android.content.res.Resources; + +public final class d +{ + public int a = -1; + public String b = ""; + public String c = ""; + public Object d = null; + + public d() + { + this((byte)0); + a(0, null, null); + } + + public d(byte paramByte) {} + + public d(String paramString1, String paramString2) + { + this((byte)0); + a(10000, paramString1, paramString2); + } + + public static void a(Resources paramResources, d paramd) + { + if ((paramd.c != null) && (paramd.c.length() > 0)) { + return; + } + String str1 = null; + switch (paramd.a) + { + } + for (;;) + { + String str2 = str1; + if (str1 == null) { + str2 = paramResources.getString(2131361951) + "(" + paramd.a + ")"; + } + paramd.c = str2; + return; + str1 = paramResources.getString(2131361943) + "(" + paramd.a + ")"; + continue; + str1 = paramResources.getString(2131361945); + continue; + str1 = paramResources.getString(2131361944) + "(" + paramd.a + ")"; + } + } + + public final void a(int paramInt, String paramString1, String paramString2) + { + this.a = paramInt; + if (paramString1 != null) + { + this.b = paramString1; + if (paramString2 == null) { + break label106; + } + paramString1 = paramString2; + label20: + this.c = paramString1; + if ((this.c.indexOf("(") == -1) && (this.c.indexOf(")") == -1)) { + if (paramString2 == null) { + break label112; + } + } + } + label106: + label112: + for (paramString1 = paramString2 + "(" + paramInt + ")";; paramString1 = "") + { + this.c = paramString1; + a(RqdApplication.i().getResources(), this); + return; + paramString1 = ""; + break; + paramString1 = ""; + break label20; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/e.java b/com.tencent.token/classes.jar/com/tencent/token/global/e.java new file mode 100755 index 00000000000..24859a9325d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/e.java @@ -0,0 +1,93 @@ +package com.tencent.token.global; + +import android.util.Log; +import com.tencent.token.gb; + +public final class e +{ + private static String a() + { + String str = ""; + Object localObject = new Throwable().getStackTrace(); + if (localObject.length > 2) + { + str = localObject[2]; + localObject = "" + "[" + str.getFileName() + ":" + str.getLineNumber() + "|"; + str = (String)localObject + str.getMethodName() + "()] "; + } + return str; + } + + public static void a(String paramString) + { + String str = paramString; + if (gb.a().d()) + { + str = a(); + str = str + paramString; + } + if (gb.a().c()) { + Log.d("TokenLog", str); + } + gb.a().a(2, "TokenLog", str); + } + + public static void a(boolean paramBoolean) + { + if (!paramBoolean) + { + if (!gb.a().d()) { + break label65; + } + str = a(); + } + label65: + for (String str = str + "assert failed";; str = "assert failed") + { + if (gb.a().c()) { + Log.e("TokenLog", str); + } + gb.a().a(16, "TokenLog", str); + return; + } + } + + public static void b(String paramString) + { + String str = paramString; + if (gb.a().d()) + { + str = a(); + str = str + paramString; + } + if (gb.a().c()) { + Log.i("TokenLog", str); + } + gb.a().a(4, "TokenLog", str); + } + + public static void c(String paramString) + { + String str = paramString; + if (gb.a().d()) + { + str = a(); + str = str + paramString; + } + if (gb.a().c()) { + Log.e("TokenLog", str); + } + gb.a().a(16, "TokenLog", str); + } + + public static void d(String paramString) + { + c(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/f.java b/com.tencent.token/classes.jar/com/tencent/token/global/f.java new file mode 100755 index 00000000000..cfed0dc346b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/f.java @@ -0,0 +1,54 @@ +package com.tencent.token.global; + +import com.tencent.token.ah; +import com.tencent.token.utils.s; + +final class f + extends Thread +{ + f(RqdApplication paramRqdApplication) {} + + public final void run() + { + for (;;) + { + try + { + if (!ah.a().d()) { + break label74; + } + if (RqdApplication.d < 120) + { + RqdApplication.c = 1; + Thread.sleep(120000L); + RqdApplication.d = 120; + continue; + } + Thread.sleep(1000L); + } + catch (Exception localException) + { + e.b(localException.toString()); + localException.printStackTrace(); + return; + } + if (s.d()) + { + RqdApplication.c = 1; + } + else + { + RqdApplication.c = 0; + continue; + label74: + Thread.sleep(120000L); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/global/g.java b/com.tencent.token/classes.jar/com/tencent/token/global/g.java new file mode 100755 index 00000000000..bc21bf76e4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/global/g.java @@ -0,0 +1,107 @@ +package com.tencent.token.global; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; + +public final class g +{ + public static int a() + { + try + { + int i = RqdApplication.i().getSharedPreferences("sp_name_global", 0).getInt("exchangeky_conf_ver", 0); + return i; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0; + } + + public static void a(int paramInt, boolean paramBoolean) + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit(); + if (paramInt == 0) { + localEditor.putBoolean("scan_tip_next_show", paramBoolean); + } + for (;;) + { + localEditor.commit(); + return; + localEditor.putBoolean("scan_tip_next_show_2", paramBoolean); + } + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static void a(String paramString1, String paramString2) + { + boolean bool = false; + try + { + Object localObject = RqdApplication.i().getSharedPreferences("safe_conf_list", 0); + if (localObject != null) { + bool = true; + } + e.a(bool); + localObject = ((SharedPreferences)localObject).edit(); + ((SharedPreferences.Editor)localObject).remove("JSON_LIST"); + if ((paramString1 != null) && (paramString2 != null)) { + ((SharedPreferences.Editor)localObject).putString(paramString1, paramString2); + } + ((SharedPreferences.Editor)localObject).putInt("conf_type", 2); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + catch (Exception paramString1) + { + e.c("getSharedPreferences error=" + paramString1.toString()); + } + } + + public static boolean a(int paramInt) + { + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("sp_name_global", 0); + if (paramInt == 0) { + return localSharedPreferences.getBoolean("scan_tip_next_show", true); + } + boolean bool = localSharedPreferences.getBoolean("scan_tip_next_show_2", true); + return bool; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return true; + } + + public static boolean b() + { + try + { + boolean bool = RqdApplication.i().getSharedPreferences("sp_name_global", 0).getBoolean("utils_account_lock_tip", false); + return bool; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.global.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gm.java b/com.tencent.token/classes.jar/com/tencent/token/gm.java new file mode 100755 index 00000000000..f8528beaedc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gm.java @@ -0,0 +1,626 @@ +package com.tencent.token; + +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.global.e; + +public class gm +{ + private String b = "tbl_safe_msg"; + private boolean c = false; + + static + { + if (!gm.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + a = bool; + return; + } + } + + public gm(String paramString) + { + if (paramString == null) { + return; + } + this.b = paramString; + } + + private void e(long paramLong) + { + try + { + SafeMsgItem localSafeMsgItem = new SafeMsgItem(); + localSafeMsgItem.mUin = paramLong; + localSafeMsgItem.mIsRead = false; + localSafeMsgItem.mContent = "test write msg"; + localSafeMsgItem.mTime = (System.currentTimeMillis() / 1000L); + for (paramLong = 0L; paramLong < 10L; paramLong += 1L) + { + localSafeMsgItem.mId = paramLong; + localSafeMsgItem.mTitle = ("msg title" + paramLong); + a(localSafeMsgItem); + } + return; + } + finally {} + } + + /* Error */ + public final java.util.List a(long paramLong, int paramInt) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: iload_3 + // 3: ifgt +11 -> 14 + // 6: aconst_null + // 7: astore 5 + // 9: aload_0 + // 10: monitorexit + // 11: aload 5 + // 13: areturn + // 14: new 91 com/tencent/token/gn + // 17: dup + // 18: aload_0 + // 19: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 22: astore 5 + // 24: aload 5 + // 26: aload_0 + // 27: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 30: bipush 13 + // 32: anewarray 96 java/lang/String + // 35: dup + // 36: iconst_0 + // 37: ldc 98 + // 39: aastore + // 40: dup + // 41: iconst_1 + // 42: ldc 100 + // 44: aastore + // 45: dup + // 46: iconst_2 + // 47: ldc 102 + // 49: aastore + // 50: dup + // 51: iconst_3 + // 52: ldc 104 + // 54: aastore + // 55: dup + // 56: iconst_4 + // 57: ldc 106 + // 59: aastore + // 60: dup + // 61: iconst_5 + // 62: ldc 108 + // 64: aastore + // 65: dup + // 66: bipush 6 + // 68: ldc 110 + // 70: aastore + // 71: dup + // 72: bipush 7 + // 74: ldc 112 + // 76: aastore + // 77: dup + // 78: bipush 8 + // 80: ldc 114 + // 82: aastore + // 83: dup + // 84: bipush 9 + // 86: ldc 116 + // 88: aastore + // 89: dup + // 90: bipush 10 + // 92: ldc 118 + // 94: aastore + // 95: dup + // 96: bipush 11 + // 98: ldc 120 + // 100: aastore + // 101: dup + // 102: bipush 12 + // 104: ldc 122 + // 106: aastore + // 107: ldc 124 + // 109: iconst_1 + // 110: anewarray 96 java/lang/String + // 113: dup + // 114: iconst_0 + // 115: lload_1 + // 116: invokestatic 128 java/lang/String:valueOf (J)Ljava/lang/String; + // 119: aastore + // 120: ldc 130 + // 122: iload_3 + // 123: invokestatic 133 java/lang/String:valueOf (I)Ljava/lang/String; + // 126: invokestatic 138 com/tencent/token/gl:a (Lcom/tencent/token/go;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; + // 129: astore 6 + // 131: aload 6 + // 133: invokeinterface 144 1 0 + // 138: astore 7 + // 140: new 146 java/util/ArrayList + // 143: dup + // 144: invokespecial 147 java/util/ArrayList: ()V + // 147: astore 5 + // 149: aload 7 + // 151: invokeinterface 152 1 0 + // 156: ifeq +114 -> 270 + // 159: aload 7 + // 161: invokeinterface 156 1 0 + // 166: checkcast 91 com/tencent/token/gn + // 169: astore 8 + // 171: getstatic 19 com/tencent/token/gm:a Z + // 174: ifne +57 -> 231 + // 177: aload 8 + // 179: ifnonnull +52 -> 231 + // 182: new 158 java/lang/AssertionError + // 185: dup + // 186: invokespecial 159 java/lang/AssertionError: ()V + // 189: athrow + // 190: astore 5 + // 192: aload_0 + // 193: monitorexit + // 194: aload 5 + // 196: athrow + // 197: astore 5 + // 199: new 66 java/lang/StringBuilder + // 202: dup + // 203: invokespecial 67 java/lang/StringBuilder: ()V + // 206: ldc 161 + // 208: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 211: aload 5 + // 213: invokevirtual 162 java/lang/Exception:toString ()Ljava/lang/String; + // 216: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 219: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 222: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 225: aconst_null + // 226: astore 5 + // 228: goto -219 -> 9 + // 231: aload 8 + // 233: invokevirtual 169 com/tencent/token/gn:c ()Lcom/tencent/token/core/bean/SafeMsgItem; + // 236: astore 8 + // 238: getstatic 19 com/tencent/token/gm:a Z + // 241: ifne +16 -> 257 + // 244: aload 8 + // 246: ifnonnull +11 -> 257 + // 249: new 158 java/lang/AssertionError + // 252: dup + // 253: invokespecial 159 java/lang/AssertionError: ()V + // 256: athrow + // 257: aload 5 + // 259: aload 8 + // 261: invokeinterface 173 2 0 + // 266: pop + // 267: goto -118 -> 149 + // 270: new 66 java/lang/StringBuilder + // 273: dup + // 274: invokespecial 67 java/lang/StringBuilder: ()V + // 277: ldc 175 + // 279: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 282: aload_0 + // 283: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 286: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 289: ldc 177 + // 291: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 294: lload_1 + // 295: invokevirtual 76 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 298: ldc 179 + // 300: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 303: aload 5 + // 305: invokeinterface 183 1 0 + // 310: invokevirtual 186 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 313: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 316: invokestatic 188 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 319: aload 6 + // 321: ifnull +13 -> 334 + // 324: aload 6 + // 326: invokeinterface 191 1 0 + // 331: ifeq +15 -> 346 + // 334: aload_0 + // 335: getfield 30 com/tencent/token/gm:c Z + // 338: ifeq +8 -> 346 + // 341: aload_0 + // 342: lload_1 + // 343: invokespecial 193 com/tencent/token/gm:e (J)V + // 346: aload 5 + // 348: invokeinterface 191 1 0 + // 353: istore 4 + // 355: iload 4 + // 357: ifeq +9 -> 366 + // 360: aconst_null + // 361: astore 5 + // 363: goto -354 -> 9 + // 366: goto -357 -> 9 + // Local variable table: + // start length slot name signature + // 0 369 0 this gm + // 0 369 1 paramLong long + // 0 369 3 paramInt int + // 353 3 4 bool boolean + // 7 141 5 localObject1 Object + // 190 5 5 localObject2 Object + // 197 15 5 localException Exception + // 226 136 5 localObject3 Object + // 129 196 6 localList java.util.List + // 138 22 7 localIterator java.util.Iterator + // 169 91 8 localObject4 Object + // Exception table: + // from to target type + // 14 24 190 finally + // 24 131 190 finally + // 131 149 190 finally + // 149 177 190 finally + // 182 190 190 finally + // 199 225 190 finally + // 231 244 190 finally + // 249 257 190 finally + // 257 267 190 finally + // 270 319 190 finally + // 324 334 190 finally + // 334 346 190 finally + // 346 355 190 finally + // 24 131 197 java/lang/Exception + } + + /* Error */ + public final boolean a(long paramLong) + { + // Byte code: + // 0: iconst_1 + // 1: istore_3 + // 2: aload_0 + // 3: monitorenter + // 4: new 91 com/tencent/token/gn + // 7: dup + // 8: aload_0 + // 9: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 12: astore 4 + // 14: aload 4 + // 16: aload_0 + // 17: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 20: ldc 124 + // 22: iconst_1 + // 23: anewarray 96 java/lang/String + // 26: dup + // 27: iconst_0 + // 28: lload_1 + // 29: invokestatic 128 java/lang/String:valueOf (J)Ljava/lang/String; + // 32: aastore + // 33: invokestatic 197 com/tencent/token/gl:a (Lcom/tencent/token/go;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 36: pop + // 37: aload_0 + // 38: monitorexit + // 39: iload_3 + // 40: ireturn + // 41: astore 4 + // 43: new 66 java/lang/StringBuilder + // 46: dup + // 47: invokespecial 67 java/lang/StringBuilder: ()V + // 50: ldc 199 + // 52: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 55: aload 4 + // 57: invokevirtual 162 java/lang/Exception:toString ()Ljava/lang/String; + // 60: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 63: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 66: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 69: iconst_0 + // 70: istore_3 + // 71: goto -34 -> 37 + // 74: astore 4 + // 76: aload_0 + // 77: monitorexit + // 78: aload 4 + // 80: athrow + // Local variable table: + // start length slot name signature + // 0 81 0 this gm + // 0 81 1 paramLong long + // 1 70 3 bool boolean + // 12 3 4 localgn gn + // 41 15 4 localException Exception + // 74 5 4 localObject Object + // Exception table: + // from to target type + // 14 37 41 java/lang/Exception + // 4 14 74 finally + // 14 37 74 finally + // 43 69 74 finally + } + + /* Error */ + public final boolean a(long paramLong, int paramInt, String paramString) + { + // Byte code: + // 0: iconst_0 + // 1: istore 5 + // 3: aload_0 + // 4: monitorenter + // 5: new 91 com/tencent/token/gn + // 8: dup + // 9: aload_0 + // 10: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 13: astore 6 + // 15: new 202 android/content/ContentValues + // 18: dup + // 19: invokespecial 203 android/content/ContentValues: ()V + // 22: astore 7 + // 24: aload 7 + // 26: ldc 102 + // 28: iload_3 + // 29: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 32: invokevirtual 212 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Integer;)V + // 35: aload 7 + // 37: ldc 108 + // 39: aload 4 + // 41: invokevirtual 215 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 44: aload 6 + // 46: aload_0 + // 47: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 50: aload 7 + // 52: ldc 217 + // 54: iconst_1 + // 55: anewarray 96 java/lang/String + // 58: dup + // 59: iconst_0 + // 60: lload_1 + // 61: invokestatic 128 java/lang/String:valueOf (J)Ljava/lang/String; + // 64: aastore + // 65: invokestatic 220 com/tencent/token/gl:a (Lcom/tencent/token/go;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I + // 68: ifgt +30 -> 98 + // 71: new 66 java/lang/StringBuilder + // 74: dup + // 75: invokespecial 67 java/lang/StringBuilder: ()V + // 78: ldc 222 + // 80: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 83: lload_1 + // 84: invokevirtual 76 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 87: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 90: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 93: aload_0 + // 94: monitorexit + // 95: iload 5 + // 97: ireturn + // 98: iconst_1 + // 99: istore 5 + // 101: goto -8 -> 93 + // 104: astore 4 + // 106: aload_0 + // 107: monitorexit + // 108: aload 4 + // 110: athrow + // Local variable table: + // start length slot name signature + // 0 111 0 this gm + // 0 111 1 paramLong long + // 0 111 3 paramInt int + // 0 111 4 paramString String + // 1 99 5 bool boolean + // 13 32 6 localgn gn + // 22 29 7 localContentValues android.content.ContentValues + // Exception table: + // from to target type + // 5 93 104 finally + } + + /* Error */ + public final boolean a(SafeMsgItem paramSafeMsgItem) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: new 91 com/tencent/token/gn + // 5: dup + // 6: aload_0 + // 7: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 10: astore_3 + // 11: aload_3 + // 12: aload_1 + // 13: invokevirtual 225 com/tencent/token/gn:a (Lcom/tencent/token/core/bean/SafeMsgItem;)V + // 16: aload_3 + // 17: invokestatic 228 com/tencent/token/gl:a (Lcom/tencent/token/go;)J + // 20: lconst_0 + // 21: lcmp + // 22: ifge +34 -> 56 + // 25: new 66 java/lang/StringBuilder + // 28: dup + // 29: invokespecial 67 java/lang/StringBuilder: ()V + // 32: ldc 230 + // 34: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 37: aload_1 + // 38: getfield 40 com/tencent/token/core/bean/SafeMsgItem:mUin J + // 41: invokevirtual 76 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 44: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 47: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 50: iconst_0 + // 51: istore_2 + // 52: aload_0 + // 53: monitorexit + // 54: iload_2 + // 55: ireturn + // 56: iconst_1 + // 57: istore_2 + // 58: goto -6 -> 52 + // 61: astore_1 + // 62: aload_0 + // 63: monitorexit + // 64: aload_1 + // 65: athrow + // Local variable table: + // start length slot name signature + // 0 66 0 this gm + // 0 66 1 paramSafeMsgItem SafeMsgItem + // 51 7 2 bool boolean + // 10 7 3 localgn gn + // Exception table: + // from to target type + // 2 50 61 finally + } + + /* Error */ + public final boolean b(long paramLong) + { + // Byte code: + // 0: iconst_1 + // 1: istore_3 + // 2: aload_0 + // 3: monitorenter + // 4: new 91 com/tencent/token/gn + // 7: dup + // 8: aload_0 + // 9: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 12: astore 4 + // 14: aload 4 + // 16: aload_0 + // 17: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 20: ldc 232 + // 22: iconst_1 + // 23: anewarray 96 java/lang/String + // 26: dup + // 27: iconst_0 + // 28: lload_1 + // 29: invokestatic 128 java/lang/String:valueOf (J)Ljava/lang/String; + // 32: aastore + // 33: invokestatic 197 com/tencent/token/gl:a (Lcom/tencent/token/go;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I + // 36: pop + // 37: aload_0 + // 38: monitorexit + // 39: iload_3 + // 40: ireturn + // 41: astore 4 + // 43: new 66 java/lang/StringBuilder + // 46: dup + // 47: invokespecial 67 java/lang/StringBuilder: ()V + // 50: ldc 199 + // 52: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 55: aload 4 + // 57: invokevirtual 162 java/lang/Exception:toString ()Ljava/lang/String; + // 60: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 63: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 66: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 69: iconst_0 + // 70: istore_3 + // 71: goto -34 -> 37 + // 74: astore 4 + // 76: aload_0 + // 77: monitorexit + // 78: aload 4 + // 80: athrow + // Local variable table: + // start length slot name signature + // 0 81 0 this gm + // 0 81 1 paramLong long + // 1 70 3 bool boolean + // 12 3 4 localgn gn + // 41 15 4 localException Exception + // 74 5 4 localObject Object + // Exception table: + // from to target type + // 14 37 41 java/lang/Exception + // 4 14 74 finally + // 14 37 74 finally + // 43 69 74 finally + } + + public final void c(long paramLong) + { + try + { + gn localgn = new gn(this); + try + { + if (gl.a(localgn, this.b) >= 500) + { + long l = gl.b(localgn, this.b, new String[] { "ftime" }, "fuin = ?", new String[] { String.valueOf(paramLong) }, "ftime asc", String.valueOf(200)); + if (l > 0L) { + gl.a(localgn, this.b, "fuin = ? and ftime <= ?", new String[] { String.valueOf(paramLong), String.valueOf(l) }); + } + } + } + catch (Exception localException) + { + for (;;) + { + e.c("SQLiteManager query Exception:" + localException.toString()); + } + } + return; + } + finally {} + } + + /* Error */ + public final boolean d(long paramLong) + { + // Byte code: + // 0: iconst_0 + // 1: istore_3 + // 2: aload_0 + // 3: monitorenter + // 4: new 91 com/tencent/token/gn + // 7: dup + // 8: aload_0 + // 9: invokespecial 94 com/tencent/token/gn: (Lcom/tencent/token/gm;)V + // 12: astore 4 + // 14: new 202 android/content/ContentValues + // 17: dup + // 18: invokespecial 203 android/content/ContentValues: ()V + // 21: astore 5 + // 23: aload 5 + // 25: ldc 104 + // 27: iconst_1 + // 28: invokestatic 208 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 31: invokevirtual 212 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Integer;)V + // 34: aload 4 + // 36: aload_0 + // 37: getfield 28 com/tencent/token/gm:b Ljava/lang/String; + // 40: aload 5 + // 42: ldc 217 + // 44: iconst_1 + // 45: anewarray 96 java/lang/String + // 48: dup + // 49: iconst_0 + // 50: lload_1 + // 51: invokestatic 128 java/lang/String:valueOf (J)Ljava/lang/String; + // 54: aastore + // 55: invokestatic 220 com/tencent/token/gl:a (Lcom/tencent/token/go;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I + // 58: ifgt +29 -> 87 + // 61: new 66 java/lang/StringBuilder + // 64: dup + // 65: invokespecial 67 java/lang/StringBuilder: ()V + // 68: ldc 245 + // 70: invokevirtual 73 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 73: lload_1 + // 74: invokevirtual 76 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 77: invokevirtual 80 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 80: invokestatic 166 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 83: aload_0 + // 84: monitorexit + // 85: iload_3 + // 86: ireturn + // 87: iconst_1 + // 88: istore_3 + // 89: goto -6 -> 83 + // 92: astore 4 + // 94: aload_0 + // 95: monitorexit + // 96: aload 4 + // 98: athrow + // Local variable table: + // start length slot name signature + // 0 99 0 this gm + // 0 99 1 paramLong long + // 1 88 3 bool boolean + // 12 23 4 localgn gn + // 92 5 4 localObject Object + // 21 20 5 localContentValues android.content.ContentValues + // Exception table: + // from to target type + // 4 83 92 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gn.java b/com.tencent.token/classes.jar/com/tencent/token/gn.java new file mode 100755 index 00000000000..a629cb7311f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gn.java @@ -0,0 +1,199 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.token.core.bean.SafeMsgItem; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.StreamCorruptedException; + +public final class gn + implements go +{ + private long b; + private long c; + private int d; + private int e; + private String f; + private String g; + private long h; + private int i; + private int j; + private int k; + private String l; + private String m; + private byte[] n; + + public gn(gm paramgm) {} + + public final go a(Cursor paramCursor) + { + gn localgn = new gn(this.a); + localgn.b = paramCursor.getLong(paramCursor.getColumnIndex("fid")); + localgn.c = paramCursor.getLong(paramCursor.getColumnIndex("fuin")); + localgn.d = paramCursor.getInt(paramCursor.getColumnIndex("flag")); + localgn.e = paramCursor.getInt(paramCursor.getColumnIndex("fis_read")); + localgn.f = paramCursor.getString(paramCursor.getColumnIndex("ftitle")); + localgn.g = paramCursor.getString(paramCursor.getColumnIndex("fcontent")); + localgn.h = paramCursor.getLong(paramCursor.getColumnIndex("ftime")); + localgn.i = paramCursor.getInt(paramCursor.getColumnIndex("ftype")); + localgn.j = paramCursor.getInt(paramCursor.getColumnIndex("fsub_type")); + localgn.k = paramCursor.getInt(paramCursor.getColumnIndex("fdetail_type")); + localgn.l = paramCursor.getString(paramCursor.getColumnIndex("furi")); + localgn.m = paramCursor.getString(paramCursor.getColumnIndex("faction")); + localgn.n = paramCursor.getBlob(paramCursor.getColumnIndex("freserved1")); + return localgn; + } + + public final String a() + { + return gm.a(this.a); + } + + public final void a(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS " + gm.a(this.a) + " (" + "fid" + " INTEGER PRIMARY KEY autoincrement," + "fuin" + " INTEGER," + "flag" + " INTEGER," + "fis_read" + " INTEGER," + "ftitle" + " TEXT," + "fcontent" + " TEXT," + "ftime" + " INTEGER," + "ftype" + " INTEGER," + "fsub_type" + " INTEGER," + "fdetail_type" + " INTEGER," + "furi" + " TEXT," + "faction" + " TEXT," + "freserved1" + " BLOB" + ");"); + } + + public final void a(SafeMsgItem paramSafeMsgItem) + { + this.c = paramSafeMsgItem.mUin; + this.d = paramSafeMsgItem.mFlag; + int i1; + if (paramSafeMsgItem.mIsRead) { + i1 = 1; + } + for (;;) + { + this.e = i1; + this.f = paramSafeMsgItem.mTitle; + this.g = paramSafeMsgItem.mContent; + this.h = paramSafeMsgItem.mTime; + this.i = paramSafeMsgItem.mTypea; + this.j = paramSafeMsgItem.mTypeb; + this.k = paramSafeMsgItem.mTypec; + this.l = paramSafeMsgItem.mUri; + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + try + { + ObjectOutputStream localObjectOutputStream = new ObjectOutputStream(localByteArrayOutputStream); + localObjectOutputStream.writeObject(paramSafeMsgItem); + localObjectOutputStream.flush(); + this.n = localByteArrayOutputStream.toByteArray(); + return; + i1 = 0; + } + catch (IOException paramSafeMsgItem) + { + for (;;) + { + paramSafeMsgItem.printStackTrace(); + } + } + } + } + + public final long b(SQLiteDatabase paramSQLiteDatabase) + { + a(paramSQLiteDatabase); + ContentValues localContentValues = new ContentValues(); + localContentValues.put("fuin", Long.valueOf(this.c)); + localContentValues.put("flag", Integer.valueOf(this.d)); + localContentValues.put("fis_read", Integer.valueOf(this.e)); + localContentValues.put("ftitle", this.f); + localContentValues.put("ftime", Long.valueOf(this.h)); + localContentValues.put("fcontent", this.g); + localContentValues.put("ftype", Integer.valueOf(this.i)); + localContentValues.put("fsub_type", Integer.valueOf(this.j)); + localContentValues.put("fdetail_type", Integer.valueOf(this.k)); + localContentValues.put("furi", this.l); + localContentValues.put("faction", this.m); + localContentValues.put("freserved1", this.n); + return paramSQLiteDatabase.insert(gm.a(this.a), null, localContentValues); + } + + public final ContentValues b() + { + return null; + } + + public final SafeMsgItem c() + { + Object localObject1; + if (this.n != null) + { + localObject1 = new ByteArrayInputStream(this.n); + try + { + SafeMsgItem localSafeMsgItem5 = (SafeMsgItem)new ObjectInputStream((InputStream)localObject1).readObject(); + localObject1 = localSafeMsgItem5; + if (localSafeMsgItem5 == null) { + localObject1 = new SafeMsgItem(); + } + } + catch (StreamCorruptedException localStreamCorruptedException) + { + for (;;) + { + localStreamCorruptedException.printStackTrace(); + localSafeMsgItem1 = new SafeMsgItem(); + } + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + localSafeMsgItem2 = new SafeMsgItem(); + } + } + catch (ClassNotFoundException localClassNotFoundException) + { + for (;;) + { + localClassNotFoundException.printStackTrace(); + localSafeMsgItem3 = new SafeMsgItem(); + } + } + finally + { + new SafeMsgItem(); + } + if (this.e != 0) { + break label214; + } + } + label214: + for (boolean bool = false;; bool = true) + { + ((SafeMsgItem)localObject1).mIsRead = bool; + ((SafeMsgItem)localObject1).mUin = this.c; + ((SafeMsgItem)localObject1).mId = this.b; + ((SafeMsgItem)localObject1).mFlag = this.d; + ((SafeMsgItem)localObject1).mTitle = this.f; + ((SafeMsgItem)localObject1).mTime = this.h; + ((SafeMsgItem)localObject1).mContent = this.g; + ((SafeMsgItem)localObject1).mUri = this.l; + ((SafeMsgItem)localObject1).mTypea = this.i; + ((SafeMsgItem)localObject1).mTypeb = this.j; + ((SafeMsgItem)localObject1).mTypec = this.k; + return localObject1; + SafeMsgItem localSafeMsgItem1; + SafeMsgItem localSafeMsgItem2; + SafeMsgItem localSafeMsgItem3; + SafeMsgItem localSafeMsgItem4 = new SafeMsgItem(); + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/go.java b/com.tencent.token/classes.jar/com/tencent/token/go.java new file mode 100755 index 00000000000..93744538150 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/go.java @@ -0,0 +1,24 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; + +public abstract interface go +{ + public abstract go a(Cursor paramCursor); + + public abstract String a(); + + public abstract void a(SQLiteDatabase paramSQLiteDatabase); + + public abstract long b(SQLiteDatabase paramSQLiteDatabase); + + public abstract ContentValues b(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.go + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gp.java b/com.tencent.token/classes.jar/com/tencent/token/gp.java new file mode 100755 index 00000000000..bcbd370169a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gp.java @@ -0,0 +1,66 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.kingkong.Cursor; +import com.tencent.kingkong.database.SQLiteDatabase; + +public final class gp + implements go +{ + public final String a = "token_conf"; + public long b = 1L; + public int c = 1; + public byte[] d = null; + private int e = 11; + + public final go a(Cursor paramCursor) + { + gp localgp = new gp(); + localgp.b = paramCursor.getLong(paramCursor.getColumnIndex("plusTime")); + localgp.c = paramCursor.getInt(paramCursor.getColumnIndex("tokenIntVTime")); + localgp.d = paramCursor.getBlob(paramCursor.getColumnIndex("data")); + return localgp; + } + + public final String a() + { + return "token_conf"; + } + + public final void a(long paramLong, int paramInt, byte[] paramArrayOfByte) + { + ContentValues localContentValues = new ContentValues(); + localContentValues.put("plusTime", Long.valueOf(paramLong)); + localContentValues.put("tokenIntVTime", Integer.valueOf(paramInt)); + localContentValues.put("data", paramArrayOfByte); + gl.a(this, "token_conf", localContentValues, "key=?", new String[] { String.valueOf(this.e) }); + } + + public final void a(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS token_conf(_ID INTEGER PRIMARY KEY autoincrement,key INTEGER,plusTime INTEGER,tokenIntVTime INTEGER,data BLOB);"); + } + + public final long b(SQLiteDatabase paramSQLiteDatabase) + { + paramSQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS token_conf(_ID INTEGER PRIMARY KEY autoincrement,key INTEGER,plusTime INTEGER,tokenIntVTime INTEGER,data BLOB);"); + new ContentValues(); + ContentValues localContentValues = new ContentValues(); + localContentValues.put("key", Integer.valueOf(this.e)); + localContentValues.put("plusTime", Long.valueOf(this.b)); + localContentValues.put("tokenIntVTime", Integer.valueOf(this.c)); + localContentValues.put("data", this.d); + return paramSQLiteDatabase.insert("token_conf", null, localContentValues); + } + + public final ContentValues b() + { + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gq.java b/com.tencent.token/classes.jar/com/tencent/token/gq.java new file mode 100755 index 00000000000..f984c53690f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gq.java @@ -0,0 +1,23 @@ +package com.tencent.token; + +public final class gq +{ + private static gr a = null; + + public static gr a() + { + if (a == null) + { + gr localgr = new gr(); + a = localgr; + localgr.a(); + } + return a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gr.java b/com.tencent.token/classes.jar/com/tencent/token/gr.java new file mode 100755 index 00000000000..a21d20861d5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gr.java @@ -0,0 +1,1789 @@ +package com.tencent.token; + +import java.util.Vector; + +public final class gr +{ + private static String j = "10.0.0.172"; + private static int k = 80; + private int a = 0; + private Vector b = new Vector(); + private gs[] c = new gs[4]; + private final int d = 4; + private final int e = 20; + private volatile boolean f = false; + private boolean g = false; + private volatile boolean h = false; + private int[] i = new int[0]; + + public gr() + { + while (m < 4) + { + this.c[m] = new gs(this); + this.c[m].setPriority(1); + m += 1; + } + } + + /* Error */ + private void a(gt paramgt, gs paramgs, boolean paramBoolean) + { + // Byte code: + // 0: aload_1 + // 1: invokevirtual 78 com/tencent/token/gt:b ()Lcom/tencent/token/gu; + // 4: astore 25 + // 6: aconst_null + // 7: astore 20 + // 9: aconst_null + // 10: astore 19 + // 12: aconst_null + // 13: astore 21 + // 15: aconst_null + // 16: astore 23 + // 18: aconst_null + // 19: astore 22 + // 21: aconst_null + // 22: astore 18 + // 24: aconst_null + // 25: astore 17 + // 27: aconst_null + // 28: astore 24 + // 30: aconst_null + // 31: astore 16 + // 33: aload_1 + // 34: invokevirtual 81 com/tencent/token/gt:a ()Ljava/lang/String; + // 37: astore 15 + // 39: iconst_0 + // 40: istore 4 + // 42: aconst_null + // 43: astore 8 + // 45: aconst_null + // 46: astore 9 + // 48: aload 24 + // 50: astore 14 + // 52: aload 9 + // 54: astore 13 + // 56: aload 23 + // 58: astore 12 + // 60: aload 8 + // 62: astore 11 + // 64: new 83 java/net/URL + // 67: dup + // 68: aload 15 + // 70: invokespecial 86 java/net/URL: (Ljava/lang/String;)V + // 73: astore 7 + // 75: aload 24 + // 77: astore 14 + // 79: aload 9 + // 81: astore 13 + // 83: aload 23 + // 85: astore 12 + // 87: aload 8 + // 89: astore 11 + // 91: invokestatic 91 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 94: astore 10 + // 96: aload 10 + // 98: ifnull +1356 -> 1454 + // 101: aload 24 + // 103: astore 14 + // 105: aload 9 + // 107: astore 13 + // 109: aload 23 + // 111: astore 12 + // 113: aload 8 + // 115: astore 11 + // 117: aload 10 + // 119: ldc 93 + // 121: invokevirtual 99 android/content/Context:getSystemService (Ljava/lang/String;)Ljava/lang/Object; + // 124: checkcast 101 android/net/ConnectivityManager + // 127: invokevirtual 105 android/net/ConnectivityManager:getActiveNetworkInfo ()Landroid/net/NetworkInfo; + // 130: astore 10 + // 132: aload 10 + // 134: ifnull +1269 -> 1403 + // 137: aload 24 + // 139: astore 14 + // 141: aload 9 + // 143: astore 13 + // 145: aload 23 + // 147: astore 12 + // 149: aload 8 + // 151: astore 11 + // 153: aload 10 + // 155: invokevirtual 111 android/net/NetworkInfo:getType ()I + // 158: ifne +1245 -> 1403 + // 161: aload 24 + // 163: astore 14 + // 165: aload 9 + // 167: astore 13 + // 169: aload 23 + // 171: astore 12 + // 173: aload 8 + // 175: astore 11 + // 177: invokestatic 116 android/net/Proxy:getDefaultHost ()Ljava/lang/String; + // 180: astore 26 + // 182: aload 24 + // 184: astore 14 + // 186: aload 9 + // 188: astore 13 + // 190: aload 23 + // 192: astore 12 + // 194: aload 8 + // 196: astore 11 + // 198: invokestatic 119 android/net/Proxy:getDefaultPort ()I + // 201: istore 5 + // 203: aload 24 + // 205: astore 14 + // 207: aload 9 + // 209: astore 13 + // 211: aload 23 + // 213: astore 12 + // 215: aload 8 + // 217: astore 11 + // 219: new 121 java/lang/StringBuilder + // 222: dup + // 223: invokespecial 122 java/lang/StringBuilder: ()V + // 226: ldc 124 + // 228: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 231: aload 26 + // 233: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 236: ldc 130 + // 238: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 241: iload 5 + // 243: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 246: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 249: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 252: aload 24 + // 254: astore 14 + // 256: aload 9 + // 258: astore 13 + // 260: aload 23 + // 262: astore 12 + // 264: aload 8 + // 266: astore 11 + // 268: aload 10 + // 270: invokevirtual 143 android/net/NetworkInfo:getExtraInfo ()Ljava/lang/String; + // 273: astore 27 + // 275: aload 26 + // 277: ifnull +976 -> 1253 + // 280: iconst_m1 + // 281: iload 5 + // 283: if_icmpeq +970 -> 1253 + // 286: aload 27 + // 288: ifnull +965 -> 1253 + // 291: aload 24 + // 293: astore 14 + // 295: aload 9 + // 297: astore 13 + // 299: aload 23 + // 301: astore 12 + // 303: aload 8 + // 305: astore 11 + // 307: aload 27 + // 309: invokestatic 149 java/util/Locale:getDefault ()Ljava/util/Locale; + // 312: invokevirtual 155 java/lang/String:toLowerCase (Ljava/util/Locale;)Ljava/lang/String; + // 315: ldc 157 + // 317: invokevirtual 161 java/lang/String:equals (Ljava/lang/Object;)Z + // 320: ifne +67 -> 387 + // 323: aload 24 + // 325: astore 14 + // 327: aload 9 + // 329: astore 13 + // 331: aload 23 + // 333: astore 12 + // 335: aload 8 + // 337: astore 11 + // 339: aload 27 + // 341: invokestatic 149 java/util/Locale:getDefault ()Ljava/util/Locale; + // 344: invokevirtual 155 java/lang/String:toLowerCase (Ljava/util/Locale;)Ljava/lang/String; + // 347: ldc 163 + // 349: invokevirtual 161 java/lang/String:equals (Ljava/lang/Object;)Z + // 352: ifne +35 -> 387 + // 355: aload 24 + // 357: astore 14 + // 359: aload 9 + // 361: astore 13 + // 363: aload 23 + // 365: astore 12 + // 367: aload 8 + // 369: astore 11 + // 371: aload 27 + // 373: invokestatic 149 java/util/Locale:getDefault ()Ljava/util/Locale; + // 376: invokevirtual 155 java/lang/String:toLowerCase (Ljava/util/Locale;)Ljava/lang/String; + // 379: ldc 165 + // 381: invokevirtual 161 java/lang/String:equals (Ljava/lang/Object;)Z + // 384: ifeq +869 -> 1253 + // 387: aload 24 + // 389: astore 14 + // 391: aload 9 + // 393: astore 13 + // 395: aload 23 + // 397: astore 12 + // 399: aload 8 + // 401: astore 11 + // 403: aload 15 + // 405: invokestatic 170 com/tencent/token/utils/s:f (Ljava/lang/String;)Ljava/lang/String; + // 408: astore 27 + // 410: aload 24 + // 412: astore 14 + // 414: aload 9 + // 416: astore 13 + // 418: aload 23 + // 420: astore 12 + // 422: aload 8 + // 424: astore 11 + // 426: aload 15 + // 428: invokestatic 172 com/tencent/token/utils/s:g (Ljava/lang/String;)Ljava/lang/String; + // 431: astore 26 + // 433: aload 27 + // 435: ifnull +43 -> 478 + // 438: aload 26 + // 440: ifnull +38 -> 478 + // 443: aload 24 + // 445: astore 14 + // 447: aload 9 + // 449: astore 13 + // 451: aload 23 + // 453: astore 12 + // 455: aload 8 + // 457: astore 11 + // 459: aload 15 + // 461: invokevirtual 175 java/lang/String:length ()I + // 464: aload 27 + // 466: invokevirtual 175 java/lang/String:length ()I + // 469: aload 26 + // 471: invokevirtual 175 java/lang/String:length ()I + // 474: iadd + // 475: if_icmpgt +424 -> 899 + // 478: aload 24 + // 480: astore 14 + // 482: aload 9 + // 484: astore 13 + // 486: aload 23 + // 488: astore 12 + // 490: aload 8 + // 492: astore 11 + // 494: aload 7 + // 496: invokevirtual 179 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 499: checkcast 181 java/net/HttpURLConnection + // 502: astore 7 + // 504: aload 24 + // 506: astore 14 + // 508: aload 9 + // 510: astore 13 + // 512: aload 23 + // 514: astore 12 + // 516: aload 8 + // 518: astore 11 + // 520: new 121 java/lang/StringBuilder + // 523: dup + // 524: invokespecial 122 java/lang/StringBuilder: ()V + // 527: ldc 183 + // 529: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 532: aload 10 + // 534: invokevirtual 143 android/net/NetworkInfo:getExtraInfo ()Ljava/lang/String; + // 537: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 540: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 543: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 546: aload 24 + // 548: astore 14 + // 550: aload 9 + // 552: astore 13 + // 554: aload 23 + // 556: astore 12 + // 558: aload 8 + // 560: astore 11 + // 562: aload 7 + // 564: sipush 20000 + // 567: invokevirtual 186 java/net/HttpURLConnection:setConnectTimeout (I)V + // 570: aload 24 + // 572: astore 14 + // 574: aload 9 + // 576: astore 13 + // 578: aload 23 + // 580: astore 12 + // 582: aload 8 + // 584: astore 11 + // 586: aload 7 + // 588: sipush 30000 + // 591: invokevirtual 189 java/net/HttpURLConnection:setReadTimeout (I)V + // 594: aload 24 + // 596: astore 14 + // 598: aload 9 + // 600: astore 13 + // 602: aload 23 + // 604: astore 12 + // 606: aload 8 + // 608: astore 11 + // 610: aload 7 + // 612: aload_1 + // 613: invokevirtual 191 com/tencent/token/gt:e ()Ljava/lang/String; + // 616: invokevirtual 194 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 619: aload 24 + // 621: astore 14 + // 623: aload 9 + // 625: astore 13 + // 627: aload 23 + // 629: astore 12 + // 631: aload 8 + // 633: astore 11 + // 635: aload_1 + // 636: getfield 197 com/tencent/token/gt:a Ljava/util/Hashtable; + // 639: invokevirtual 203 java/util/Hashtable:keys ()Ljava/util/Enumeration; + // 642: astore 10 + // 644: aload 24 + // 646: astore 14 + // 648: aload 9 + // 650: astore 13 + // 652: aload 23 + // 654: astore 12 + // 656: aload 8 + // 658: astore 11 + // 660: aload 10 + // 662: invokeinterface 209 1 0 + // 667: ifeq +838 -> 1505 + // 670: aload 24 + // 672: astore 14 + // 674: aload 9 + // 676: astore 13 + // 678: aload 23 + // 680: astore 12 + // 682: aload 8 + // 684: astore 11 + // 686: aload 10 + // 688: invokeinterface 213 1 0 + // 693: checkcast 151 java/lang/String + // 696: astore 26 + // 698: aload 24 + // 700: astore 14 + // 702: aload 9 + // 704: astore 13 + // 706: aload 23 + // 708: astore 12 + // 710: aload 8 + // 712: astore 11 + // 714: aload 7 + // 716: aload 26 + // 718: aload_1 + // 719: getfield 197 com/tencent/token/gt:a Ljava/util/Hashtable; + // 722: aload 26 + // 724: invokevirtual 217 java/util/Hashtable:get (Ljava/lang/Object;)Ljava/lang/Object; + // 727: checkcast 151 java/lang/String + // 730: invokevirtual 221 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 733: goto -89 -> 644 + // 736: astore 10 + // 738: aconst_null + // 739: astore_2 + // 740: aload 9 + // 742: astore 7 + // 744: aconst_null + // 745: astore 11 + // 747: aload 8 + // 749: astore 9 + // 751: aload 11 + // 753: astore 8 + // 755: new 121 java/lang/StringBuilder + // 758: dup + // 759: invokespecial 122 java/lang/StringBuilder: ()V + // 762: aload 10 + // 764: invokevirtual 222 java/lang/Exception:toString ()Ljava/lang/String; + // 767: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 770: ldc 224 + // 772: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 775: aload 10 + // 777: invokevirtual 227 java/lang/Exception:getMessage ()Ljava/lang/String; + // 780: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 783: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 786: astore 10 + // 788: aload_2 + // 789: ifnull +7 -> 796 + // 792: aload_2 + // 793: invokevirtual 232 java/io/ByteArrayOutputStream:close ()V + // 796: aload 8 + // 798: ifnull +8 -> 806 + // 801: aload 8 + // 803: invokevirtual 235 java/io/InputStream:close ()V + // 806: aload 7 + // 808: ifnull +8 -> 816 + // 811: aload 7 + // 813: invokevirtual 238 java/io/OutputStream:close ()V + // 816: aload 9 + // 818: ifnull +2066 -> 2884 + // 821: aload 9 + // 823: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 826: aload 10 + // 828: astore_2 + // 829: aconst_null + // 830: astore 8 + // 832: iconst_1 + // 833: istore 4 + // 835: iload 4 + // 837: ifeq +1765 -> 2602 + // 840: aload 25 + // 842: invokeinterface 245 1 0 + // 847: new 121 java/lang/StringBuilder + // 850: dup + // 851: invokespecial 122 java/lang/StringBuilder: ()V + // 854: ldc 247 + // 856: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 859: aload_2 + // 860: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 863: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 866: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 869: aload_1 + // 870: invokevirtual 249 com/tencent/token/gt:d ()I + // 873: iconst_1 + // 874: if_icmpne +24 -> 898 + // 877: aload_0 + // 878: iconst_1 + // 879: putfield 46 com/tencent/token/gr:h Z + // 882: aload_0 + // 883: getfield 48 com/tencent/token/gr:i [I + // 886: astore_1 + // 887: aload_1 + // 888: monitorenter + // 889: aload_0 + // 890: getfield 48 com/tencent/token/gr:i [I + // 893: invokevirtual 252 java/lang/Object:notifyAll ()V + // 896: aload_1 + // 897: monitorexit + // 898: return + // 899: aload 24 + // 901: astore 14 + // 903: aload 9 + // 905: astore 13 + // 907: aload 23 + // 909: astore 12 + // 911: aload 8 + // 913: astore 11 + // 915: new 121 java/lang/StringBuilder + // 918: dup + // 919: invokespecial 122 java/lang/StringBuilder: ()V + // 922: ldc 254 + // 924: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 927: invokestatic 116 android/net/Proxy:getDefaultHost ()Ljava/lang/String; + // 930: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 933: ldc_w 256 + // 936: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 939: invokestatic 119 android/net/Proxy:getDefaultPort ()I + // 942: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 945: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 948: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 951: aload 24 + // 953: astore 14 + // 955: aload 9 + // 957: astore 13 + // 959: aload 23 + // 961: astore 12 + // 963: aload 8 + // 965: astore 11 + // 967: new 121 java/lang/StringBuilder + // 970: dup + // 971: invokespecial 122 java/lang/StringBuilder: ()V + // 974: aload 27 + // 976: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 979: invokestatic 116 android/net/Proxy:getDefaultHost ()Ljava/lang/String; + // 982: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 985: aload 15 + // 987: aload 27 + // 989: invokevirtual 175 java/lang/String:length ()I + // 992: aload 26 + // 994: invokevirtual 175 java/lang/String:length ()I + // 997: iadd + // 998: invokevirtual 260 java/lang/String:substring (I)Ljava/lang/String; + // 1001: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1004: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1007: astore 7 + // 1009: aload 24 + // 1011: astore 14 + // 1013: aload 9 + // 1015: astore 13 + // 1017: aload 23 + // 1019: astore 12 + // 1021: aload 8 + // 1023: astore 11 + // 1025: new 121 java/lang/StringBuilder + // 1028: dup + // 1029: invokespecial 122 java/lang/StringBuilder: ()V + // 1032: ldc_w 262 + // 1035: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1038: aload 7 + // 1040: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1043: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1046: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1049: aload 24 + // 1051: astore 14 + // 1053: aload 9 + // 1055: astore 13 + // 1057: aload 23 + // 1059: astore 12 + // 1061: aload 8 + // 1063: astore 11 + // 1065: new 83 java/net/URL + // 1068: dup + // 1069: aload 7 + // 1071: invokespecial 86 java/net/URL: (Ljava/lang/String;)V + // 1074: invokevirtual 179 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 1077: checkcast 181 java/net/HttpURLConnection + // 1080: astore 7 + // 1082: aload 24 + // 1084: astore 14 + // 1086: aload 9 + // 1088: astore 13 + // 1090: aload 23 + // 1092: astore 12 + // 1094: aload 8 + // 1096: astore 11 + // 1098: aload 7 + // 1100: ldc_w 264 + // 1103: aload 26 + // 1105: invokevirtual 221 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 1108: aload 24 + // 1110: astore 14 + // 1112: aload 9 + // 1114: astore 13 + // 1116: aload 23 + // 1118: astore 12 + // 1120: aload 8 + // 1122: astore 11 + // 1124: aload 7 + // 1126: ldc_w 266 + // 1129: invokestatic 116 android/net/Proxy:getDefaultHost ()Ljava/lang/String; + // 1132: invokevirtual 221 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 1135: goto -631 -> 504 + // 1138: astore 7 + // 1140: aload 8 + // 1142: astore_2 + // 1143: aload 18 + // 1145: astore 10 + // 1147: aload 9 + // 1149: astore 8 + // 1151: aload 16 + // 1153: astore 15 + // 1155: aload 15 + // 1157: astore 14 + // 1159: aload 8 + // 1161: astore 13 + // 1163: aload 10 + // 1165: astore 12 + // 1167: aload_2 + // 1168: astore 11 + // 1170: new 121 java/lang/StringBuilder + // 1173: dup + // 1174: invokespecial 122 java/lang/StringBuilder: ()V + // 1177: aload 7 + // 1179: invokevirtual 267 java/lang/Throwable:toString ()Ljava/lang/String; + // 1182: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1185: ldc 224 + // 1187: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1190: aload 7 + // 1192: invokevirtual 268 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 1195: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1198: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1201: astore 7 + // 1203: aload 15 + // 1205: ifnull +8 -> 1213 + // 1208: aload 15 + // 1210: invokevirtual 232 java/io/ByteArrayOutputStream:close ()V + // 1213: aload 10 + // 1215: ifnull +8 -> 1223 + // 1218: aload 10 + // 1220: invokevirtual 235 java/io/InputStream:close ()V + // 1223: aload 8 + // 1225: ifnull +8 -> 1233 + // 1228: aload 8 + // 1230: invokevirtual 238 java/io/OutputStream:close ()V + // 1233: aload_2 + // 1234: ifnull +1638 -> 2872 + // 1237: aload_2 + // 1238: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 1241: aconst_null + // 1242: astore 8 + // 1244: iconst_1 + // 1245: istore 4 + // 1247: aload 7 + // 1249: astore_2 + // 1250: goto -415 -> 835 + // 1253: aload 26 + // 1255: ifnull +119 -> 1374 + // 1258: iconst_m1 + // 1259: iload 5 + // 1261: if_icmpeq +113 -> 1374 + // 1264: aload 27 + // 1266: ifnull +108 -> 1374 + // 1269: aload 24 + // 1271: astore 14 + // 1273: aload 9 + // 1275: astore 13 + // 1277: aload 23 + // 1279: astore 12 + // 1281: aload 8 + // 1283: astore 11 + // 1285: aload 27 + // 1287: invokestatic 149 java/util/Locale:getDefault ()Ljava/util/Locale; + // 1290: invokevirtual 155 java/lang/String:toLowerCase (Ljava/util/Locale;)Ljava/lang/String; + // 1293: ldc_w 270 + // 1296: invokevirtual 161 java/lang/String:equals (Ljava/lang/Object;)Z + // 1299: ifeq +75 -> 1374 + // 1302: aload 24 + // 1304: astore 14 + // 1306: aload 9 + // 1308: astore 13 + // 1310: aload 23 + // 1312: astore 12 + // 1314: aload 8 + // 1316: astore 11 + // 1318: new 272 java/net/InetSocketAddress + // 1321: dup + // 1322: invokestatic 116 android/net/Proxy:getDefaultHost ()Ljava/lang/String; + // 1325: invokestatic 119 android/net/Proxy:getDefaultPort ()I + // 1328: invokespecial 275 java/net/InetSocketAddress: (Ljava/lang/String;I)V + // 1331: astore 26 + // 1333: aload 24 + // 1335: astore 14 + // 1337: aload 9 + // 1339: astore 13 + // 1341: aload 23 + // 1343: astore 12 + // 1345: aload 8 + // 1347: astore 11 + // 1349: aload 7 + // 1351: new 277 java/net/Proxy + // 1354: dup + // 1355: getstatic 283 java/net/Proxy$Type:HTTP Ljava/net/Proxy$Type; + // 1358: aload 26 + // 1360: invokespecial 286 java/net/Proxy: (Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V + // 1363: invokevirtual 289 java/net/URL:openConnection (Ljava/net/Proxy;)Ljava/net/URLConnection; + // 1366: checkcast 181 java/net/HttpURLConnection + // 1369: astore 7 + // 1371: goto -867 -> 504 + // 1374: aload 24 + // 1376: astore 14 + // 1378: aload 9 + // 1380: astore 13 + // 1382: aload 23 + // 1384: astore 12 + // 1386: aload 8 + // 1388: astore 11 + // 1390: aload 7 + // 1392: invokevirtual 179 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 1395: checkcast 181 java/net/HttpURLConnection + // 1398: astore 7 + // 1400: goto -896 -> 504 + // 1403: aload 24 + // 1405: astore 14 + // 1407: aload 9 + // 1409: astore 13 + // 1411: aload 23 + // 1413: astore 12 + // 1415: aload 8 + // 1417: astore 11 + // 1419: aload 7 + // 1421: invokevirtual 179 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 1424: checkcast 181 java/net/HttpURLConnection + // 1427: astore 7 + // 1429: aload 24 + // 1431: astore 14 + // 1433: aload 9 + // 1435: astore 13 + // 1437: aload 23 + // 1439: astore 12 + // 1441: aload 8 + // 1443: astore 11 + // 1445: ldc_w 291 + // 1448: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1451: goto -905 -> 546 + // 1454: aload 24 + // 1456: astore 14 + // 1458: aload 9 + // 1460: astore 13 + // 1462: aload 23 + // 1464: astore 12 + // 1466: aload 8 + // 1468: astore 11 + // 1470: aload 7 + // 1472: invokevirtual 179 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 1475: checkcast 181 java/net/HttpURLConnection + // 1478: astore 7 + // 1480: aload 24 + // 1482: astore 14 + // 1484: aload 9 + // 1486: astore 13 + // 1488: aload 23 + // 1490: astore 12 + // 1492: aload 8 + // 1494: astore 11 + // 1496: ldc_w 293 + // 1499: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1502: goto -956 -> 546 + // 1505: aload 9 + // 1507: astore 13 + // 1509: aload 21 + // 1511: astore 10 + // 1513: aload 9 + // 1515: astore 11 + // 1517: aload 9 + // 1519: astore 14 + // 1521: aload 22 + // 1523: astore 12 + // 1525: aload_1 + // 1526: invokevirtual 296 com/tencent/token/gt:c ()[B + // 1529: astore 26 + // 1531: aload 9 + // 1533: astore 8 + // 1535: aload 26 + // 1537: ifnull +106 -> 1643 + // 1540: aload 9 + // 1542: astore 8 + // 1544: aload 9 + // 1546: astore 13 + // 1548: aload 21 + // 1550: astore 10 + // 1552: aload 9 + // 1554: astore 11 + // 1556: aload 9 + // 1558: astore 14 + // 1560: aload 22 + // 1562: astore 12 + // 1564: aload 26 + // 1566: arraylength + // 1567: ifeq +76 -> 1643 + // 1570: aload 9 + // 1572: astore 13 + // 1574: aload 21 + // 1576: astore 10 + // 1578: aload 9 + // 1580: astore 11 + // 1582: aload 9 + // 1584: astore 14 + // 1586: aload 22 + // 1588: astore 12 + // 1590: aload 7 + // 1592: iconst_1 + // 1593: invokevirtual 300 java/net/HttpURLConnection:setDoOutput (Z)V + // 1596: aload 9 + // 1598: astore 13 + // 1600: aload 21 + // 1602: astore 10 + // 1604: aload 9 + // 1606: astore 11 + // 1608: aload 9 + // 1610: astore 14 + // 1612: aload 22 + // 1614: astore 12 + // 1616: aload 7 + // 1618: invokevirtual 304 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 1621: astore 8 + // 1623: aload 8 + // 1625: aload 26 + // 1627: invokevirtual 308 java/io/OutputStream:write ([B)V + // 1630: aload 8 + // 1632: invokevirtual 311 java/io/OutputStream:flush ()V + // 1635: aload 8 + // 1637: invokevirtual 238 java/io/OutputStream:close ()V + // 1640: aconst_null + // 1641: astore 8 + // 1643: aload 8 + // 1645: astore 13 + // 1647: aload 21 + // 1649: astore 10 + // 1651: aload 8 + // 1653: astore 11 + // 1655: aload 8 + // 1657: astore 14 + // 1659: aload 22 + // 1661: astore 12 + // 1663: new 121 java/lang/StringBuilder + // 1666: dup + // 1667: invokespecial 122 java/lang/StringBuilder: ()V + // 1670: ldc_w 313 + // 1673: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1676: aload_1 + // 1677: invokevirtual 81 com/tencent/token/gt:a ()Ljava/lang/String; + // 1680: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1683: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1686: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1689: aload 8 + // 1691: astore 13 + // 1693: aload 21 + // 1695: astore 10 + // 1697: aload 8 + // 1699: astore 11 + // 1701: aload 8 + // 1703: astore 14 + // 1705: aload 22 + // 1707: astore 12 + // 1709: aload 7 + // 1711: invokevirtual 316 java/net/HttpURLConnection:getResponseCode ()I + // 1714: istore 6 + // 1716: iconst_m1 + // 1717: iload 6 + // 1719: if_icmpne +1195 -> 2914 + // 1722: aload 15 + // 1724: ifnull +1190 -> 2914 + // 1727: aload 8 + // 1729: astore 13 + // 1731: aload 21 + // 1733: astore 10 + // 1735: aload 8 + // 1737: astore 11 + // 1739: aload 7 + // 1741: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 1744: aload 8 + // 1746: astore 13 + // 1748: aload 21 + // 1750: astore 10 + // 1752: aload 8 + // 1754: astore 11 + // 1756: ldc2_w 317 + // 1759: invokestatic 324 java/lang/Thread:sleep (J)V + // 1762: aload 8 + // 1764: astore 13 + // 1766: aload 21 + // 1768: astore 10 + // 1770: aload 8 + // 1772: astore 11 + // 1774: new 121 java/lang/StringBuilder + // 1777: dup + // 1778: invokespecial 122 java/lang/StringBuilder: ()V + // 1781: ldc_w 326 + // 1784: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1787: iload 6 + // 1789: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1792: ldc_w 328 + // 1795: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1798: iconst_0 + // 1799: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1802: ldc_w 330 + // 1805: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1808: bipush 100 + // 1810: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1813: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1816: invokestatic 140 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1819: iload 4 + // 1821: iconst_1 + // 1822: iadd + // 1823: istore 4 + // 1825: aload 8 + // 1827: astore 9 + // 1829: aload 7 + // 1831: astore 8 + // 1833: goto -1785 -> 48 + // 1836: astore_2 + // 1837: aload 8 + // 1839: astore 13 + // 1841: aload 21 + // 1843: astore 10 + // 1845: aload 8 + // 1847: astore 11 + // 1849: aload 8 + // 1851: astore 14 + // 1853: aload 22 + // 1855: astore 12 + // 1857: aload_2 + // 1858: athrow + // 1859: iload 4 + // 1861: iconst_3 + // 1862: if_icmpge +1095 -> 2957 + // 1865: aload 8 + // 1867: astore 13 + // 1869: aload 21 + // 1871: astore 10 + // 1873: aload 8 + // 1875: astore 11 + // 1877: aload 8 + // 1879: astore 14 + // 1881: aload 22 + // 1883: astore 12 + // 1885: aload 7 + // 1887: ldc_w 332 + // 1890: invokevirtual 335 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 1893: astore 15 + // 1895: aload 15 + // 1897: ifnull +55 -> 1952 + // 1900: aload 8 + // 1902: astore 13 + // 1904: aload 21 + // 1906: astore 10 + // 1908: aload 8 + // 1910: astore 11 + // 1912: aload 7 + // 1914: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 1917: aload 8 + // 1919: astore 13 + // 1921: aload 21 + // 1923: astore 10 + // 1925: aload 8 + // 1927: astore 11 + // 1929: ldc2_w 317 + // 1932: invokestatic 324 java/lang/Thread:sleep (J)V + // 1935: iload 4 + // 1937: iconst_1 + // 1938: iadd + // 1939: istore 4 + // 1941: aload 8 + // 1943: astore 9 + // 1945: aload 7 + // 1947: astore 8 + // 1949: goto -1901 -> 48 + // 1952: aload 8 + // 1954: astore 13 + // 1956: aload 21 + // 1958: astore 10 + // 1960: aload 8 + // 1962: astore 11 + // 1964: aload 8 + // 1966: astore 14 + // 1968: aload 22 + // 1970: astore 12 + // 1972: new 73 java/io/IOException + // 1975: dup + // 1976: ldc_w 337 + // 1979: invokespecial 338 java/io/IOException: (Ljava/lang/String;)V + // 1982: athrow + // 1983: aload 8 + // 1985: astore 13 + // 1987: aload 21 + // 1989: astore 10 + // 1991: aload 8 + // 1993: astore 11 + // 1995: aload 8 + // 1997: astore 14 + // 1999: aload 22 + // 2001: astore 12 + // 2003: aload 7 + // 2005: invokevirtual 341 java/net/HttpURLConnection:getContentType ()Ljava/lang/String; + // 2008: astore 9 + // 2010: aload 8 + // 2012: astore 13 + // 2014: aload 21 + // 2016: astore 10 + // 2018: aload 8 + // 2020: astore 11 + // 2022: aload 8 + // 2024: astore 14 + // 2026: aload 22 + // 2028: astore 12 + // 2030: aload_1 + // 2031: aload 9 + // 2033: putfield 343 com/tencent/token/gt:b Ljava/lang/String; + // 2036: aload 9 + // 2038: ifnonnull +143 -> 2181 + // 2041: ldc_w 345 + // 2044: astore 9 + // 2046: iload_3 + // 2047: ifne +164 -> 2211 + // 2050: aload 8 + // 2052: astore 13 + // 2054: aload 21 + // 2056: astore 10 + // 2058: aload 8 + // 2060: astore 11 + // 2062: aload 8 + // 2064: astore 14 + // 2066: aload 22 + // 2068: astore 12 + // 2070: aload_1 + // 2071: getfield 347 com/tencent/token/gt:e Z + // 2074: ifeq +137 -> 2211 + // 2077: aload 8 + // 2079: astore 13 + // 2081: aload 21 + // 2083: astore 10 + // 2085: aload 8 + // 2087: astore 11 + // 2089: aload 8 + // 2091: astore 14 + // 2093: aload 22 + // 2095: astore 12 + // 2097: aload 9 + // 2099: ldc_w 349 + // 2102: invokevirtual 353 java/lang/String:indexOf (Ljava/lang/String;)I + // 2105: iconst_m1 + // 2106: if_icmpne +35 -> 2141 + // 2109: aload 8 + // 2111: astore 13 + // 2113: aload 21 + // 2115: astore 10 + // 2117: aload 8 + // 2119: astore 11 + // 2121: aload 8 + // 2123: astore 14 + // 2125: aload 22 + // 2127: astore 12 + // 2129: aload 9 + // 2131: ldc_w 355 + // 2134: invokevirtual 353 java/lang/String:indexOf (Ljava/lang/String;)I + // 2137: iconst_m1 + // 2138: if_icmpeq +73 -> 2211 + // 2141: aload 8 + // 2143: astore 13 + // 2145: aload 21 + // 2147: astore 10 + // 2149: aload 8 + // 2151: astore 11 + // 2153: aload 8 + // 2155: astore 14 + // 2157: aload 22 + // 2159: astore 12 + // 2161: aload_0 + // 2162: aload_1 + // 2163: aload_2 + // 2164: iconst_1 + // 2165: invokespecial 67 com/tencent/token/gr:a (Lcom/tencent/token/gt;Lcom/tencent/token/gs;Z)V + // 2168: aload 7 + // 2170: ifnull -1272 -> 898 + // 2173: aload 7 + // 2175: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 2178: return + // 2179: astore_1 + // 2180: return + // 2181: aload 8 + // 2183: astore 13 + // 2185: aload 21 + // 2187: astore 10 + // 2189: aload 8 + // 2191: astore 11 + // 2193: aload 8 + // 2195: astore 14 + // 2197: aload 22 + // 2199: astore 12 + // 2201: aload 9 + // 2203: invokevirtual 357 java/lang/String:toLowerCase ()Ljava/lang/String; + // 2206: astore 9 + // 2208: goto -162 -> 2046 + // 2211: aload 8 + // 2213: astore 13 + // 2215: aload 21 + // 2217: astore 10 + // 2219: aload 8 + // 2221: astore 11 + // 2223: aload 8 + // 2225: astore 14 + // 2227: aload 22 + // 2229: astore 12 + // 2231: aload_1 + // 2232: aload 7 + // 2234: invokevirtual 360 java/net/HttpURLConnection:getContentLength ()I + // 2237: i2l + // 2238: putfield 363 com/tencent/token/gt:c J + // 2241: aload 8 + // 2243: astore 13 + // 2245: aload 21 + // 2247: astore 10 + // 2249: aload 8 + // 2251: astore 11 + // 2253: aload 8 + // 2255: astore 14 + // 2257: aload 22 + // 2259: astore 12 + // 2261: aload 7 + // 2263: invokevirtual 367 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 2266: astore 9 + // 2268: aload 8 + // 2270: astore 13 + // 2272: aload 9 + // 2274: astore 10 + // 2276: aload 8 + // 2278: astore 14 + // 2280: aload 9 + // 2282: astore 12 + // 2284: new 229 java/io/ByteArrayOutputStream + // 2287: dup + // 2288: invokespecial 368 java/io/ByteArrayOutputStream: ()V + // 2291: astore 11 + // 2293: aload 9 + // 2295: invokevirtual 371 java/io/InputStream:read ()I + // 2298: istore 4 + // 2300: iload 4 + // 2302: iconst_m1 + // 2303: if_icmpeq +48 -> 2351 + // 2306: aload_0 + // 2307: getfield 42 com/tencent/token/gr:f Z + // 2310: ifeq +10 -> 2320 + // 2313: aload_2 + // 2314: getfield 373 com/tencent/token/gs:b Z + // 2317: ifeq +14 -> 2331 + // 2320: new 73 java/io/IOException + // 2323: dup + // 2324: ldc_w 375 + // 2327: invokespecial 338 java/io/IOException: (Ljava/lang/String;)V + // 2330: athrow + // 2331: aload 11 + // 2333: iload 4 + // 2335: invokevirtual 377 java/io/ByteArrayOutputStream:write (I)V + // 2338: aload_1 + // 2339: aload_1 + // 2340: getfield 379 com/tencent/token/gt:d J + // 2343: lconst_1 + // 2344: ladd + // 2345: putfield 379 com/tencent/token/gt:d J + // 2348: goto -55 -> 2293 + // 2351: aload 11 + // 2353: invokevirtual 380 java/io/ByteArrayOutputStream:flush ()V + // 2356: aload 11 + // 2358: invokevirtual 383 java/io/ByteArrayOutputStream:toByteArray ()[B + // 2361: astore 10 + // 2363: iconst_0 + // 2364: istore 5 + // 2366: aload 11 + // 2368: astore 8 + // 2370: ldc_w 345 + // 2373: astore 11 + // 2375: aload 9 + // 2377: astore_2 + // 2378: aload 11 + // 2380: astore 9 + // 2382: aload 8 + // 2384: ifnull +8 -> 2392 + // 2387: aload 8 + // 2389: invokevirtual 232 java/io/ByteArrayOutputStream:close ()V + // 2392: aload_2 + // 2393: ifnull +7 -> 2400 + // 2396: aload_2 + // 2397: invokevirtual 235 java/io/InputStream:close ()V + // 2400: iload 5 + // 2402: istore 4 + // 2404: aload 9 + // 2406: astore_2 + // 2407: aload 10 + // 2409: astore 8 + // 2411: aload 7 + // 2413: ifnull -1578 -> 835 + // 2416: aload 7 + // 2418: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 2421: iload 5 + // 2423: istore 4 + // 2425: aload 9 + // 2427: astore_2 + // 2428: aload 10 + // 2430: astore 8 + // 2432: goto -1597 -> 835 + // 2435: astore_2 + // 2436: iload 5 + // 2438: istore 4 + // 2440: aload 9 + // 2442: astore_2 + // 2443: aload 10 + // 2445: astore 8 + // 2447: goto -1612 -> 835 + // 2450: iconst_1 + // 2451: istore 5 + // 2453: aload 8 + // 2455: astore 13 + // 2457: aload 21 + // 2459: astore 10 + // 2461: aload 8 + // 2463: astore 11 + // 2465: aload 8 + // 2467: astore 14 + // 2469: aload 22 + // 2471: astore 12 + // 2473: new 121 java/lang/StringBuilder + // 2476: dup + // 2477: invokespecial 122 java/lang/StringBuilder: ()V + // 2480: ldc_w 385 + // 2483: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2486: iload 6 + // 2488: invokevirtual 133 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 2491: ldc_w 387 + // 2494: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2497: aload 7 + // 2499: invokevirtual 390 java/net/HttpURLConnection:getResponseMessage ()Ljava/lang/String; + // 2502: invokevirtual 128 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2505: invokevirtual 136 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2508: astore 9 + // 2510: aconst_null + // 2511: astore 8 + // 2513: aconst_null + // 2514: astore 10 + // 2516: aload 20 + // 2518: astore_2 + // 2519: goto -137 -> 2382 + // 2522: astore_2 + // 2523: aload 10 + // 2525: astore_2 + // 2526: aconst_null + // 2527: astore 8 + // 2529: iconst_1 + // 2530: istore 4 + // 2532: goto -1697 -> 835 + // 2535: astore_2 + // 2536: aconst_null + // 2537: astore 8 + // 2539: iconst_1 + // 2540: istore 4 + // 2542: aload 7 + // 2544: astore_2 + // 2545: goto -1710 -> 835 + // 2548: astore_1 + // 2549: aconst_null + // 2550: astore_2 + // 2551: aconst_null + // 2552: astore 8 + // 2554: aload 19 + // 2556: astore 9 + // 2558: aload 17 + // 2560: astore 7 + // 2562: aload 7 + // 2564: ifnull +8 -> 2572 + // 2567: aload 7 + // 2569: invokevirtual 232 java/io/ByteArrayOutputStream:close ()V + // 2572: aload 9 + // 2574: ifnull +8 -> 2582 + // 2577: aload 9 + // 2579: invokevirtual 235 java/io/InputStream:close ()V + // 2582: aload 8 + // 2584: ifnull +8 -> 2592 + // 2587: aload 8 + // 2589: invokevirtual 238 java/io/OutputStream:close ()V + // 2592: aload_2 + // 2593: ifnull +7 -> 2600 + // 2596: aload_2 + // 2597: invokevirtual 241 java/net/HttpURLConnection:disconnect ()V + // 2600: aload_1 + // 2601: athrow + // 2602: aload 25 + // 2604: aload 8 + // 2606: invokeinterface 392 2 0 + // 2611: goto -1742 -> 869 + // 2614: astore_2 + // 2615: goto -1746 -> 869 + // 2618: astore_2 + // 2619: aload_1 + // 2620: monitorexit + // 2621: aload_2 + // 2622: athrow + // 2623: astore 8 + // 2625: goto -233 -> 2392 + // 2628: astore_2 + // 2629: goto -229 -> 2400 + // 2632: astore_2 + // 2633: goto -1837 -> 796 + // 2636: astore_2 + // 2637: goto -1831 -> 806 + // 2640: astore_2 + // 2641: goto -1825 -> 816 + // 2644: astore 9 + // 2646: goto -1433 -> 1213 + // 2649: astore 9 + // 2651: goto -1428 -> 1223 + // 2654: astore 8 + // 2656: goto -1423 -> 1233 + // 2659: astore 7 + // 2661: goto -89 -> 2572 + // 2664: astore 7 + // 2666: goto -84 -> 2582 + // 2669: astore 7 + // 2671: goto -79 -> 2592 + // 2674: astore_2 + // 2675: goto -75 -> 2600 + // 2678: astore_2 + // 2679: goto -1810 -> 869 + // 2682: astore_1 + // 2683: aload 7 + // 2685: astore_2 + // 2686: aload 17 + // 2688: astore 7 + // 2690: aload 13 + // 2692: astore 8 + // 2694: aload 10 + // 2696: astore 9 + // 2698: goto -136 -> 2562 + // 2701: astore_1 + // 2702: aload 7 + // 2704: astore_2 + // 2705: aload 17 + // 2707: astore 7 + // 2709: aload 19 + // 2711: astore 9 + // 2713: goto -151 -> 2562 + // 2716: astore_1 + // 2717: aload 14 + // 2719: astore 7 + // 2721: aload 13 + // 2723: astore 8 + // 2725: aload 12 + // 2727: astore 9 + // 2729: aload 11 + // 2731: astore_2 + // 2732: goto -170 -> 2562 + // 2735: astore_1 + // 2736: aload 7 + // 2738: astore_2 + // 2739: aload 11 + // 2741: astore 7 + // 2743: goto -181 -> 2562 + // 2746: astore_1 + // 2747: aload 9 + // 2749: astore 10 + // 2751: aload 8 + // 2753: astore 9 + // 2755: aload 7 + // 2757: astore 8 + // 2759: aload_2 + // 2760: astore 7 + // 2762: aload 10 + // 2764: astore_2 + // 2765: goto -203 -> 2562 + // 2768: astore 7 + // 2770: aconst_null + // 2771: astore_2 + // 2772: aconst_null + // 2773: astore 8 + // 2775: aload 16 + // 2777: astore 15 + // 2779: aload 18 + // 2781: astore 10 + // 2783: goto -1628 -> 1155 + // 2786: astore 9 + // 2788: aload 7 + // 2790: astore_2 + // 2791: aload 9 + // 2793: astore 7 + // 2795: aload 16 + // 2797: astore 15 + // 2799: aload 18 + // 2801: astore 10 + // 2803: goto -1648 -> 1155 + // 2806: astore 10 + // 2808: aconst_null + // 2809: astore 7 + // 2811: aconst_null + // 2812: astore_2 + // 2813: aconst_null + // 2814: astore 9 + // 2816: aconst_null + // 2817: astore 8 + // 2819: goto -2064 -> 755 + // 2822: astore 10 + // 2824: aconst_null + // 2825: astore 11 + // 2827: aload 7 + // 2829: astore 9 + // 2831: aload 8 + // 2833: astore 7 + // 2835: aconst_null + // 2836: astore_2 + // 2837: aload 11 + // 2839: astore 8 + // 2841: goto -2086 -> 755 + // 2844: astore 10 + // 2846: aconst_null + // 2847: astore_2 + // 2848: aload 7 + // 2850: astore 11 + // 2852: aload 8 + // 2854: astore 7 + // 2856: aload 9 + // 2858: astore 8 + // 2860: aload 11 + // 2862: astore 9 + // 2864: goto -2109 -> 755 + // 2867: astore 9 + // 2869: goto -934 -> 1935 + // 2872: aconst_null + // 2873: astore 8 + // 2875: iconst_1 + // 2876: istore 4 + // 2878: aload 7 + // 2880: astore_2 + // 2881: goto -2046 -> 835 + // 2884: aload 10 + // 2886: astore_2 + // 2887: aconst_null + // 2888: astore 8 + // 2890: iconst_1 + // 2891: istore 4 + // 2893: goto -2058 -> 835 + // 2896: astore 10 + // 2898: aconst_null + // 2899: astore_2 + // 2900: aconst_null + // 2901: astore 8 + // 2903: aload 7 + // 2905: astore 9 + // 2907: aload 11 + // 2909: astore 7 + // 2911: goto -2156 -> 755 + // 2914: iload 6 + // 2916: sipush 302 + // 2919: if_icmpeq -1060 -> 1859 + // 2922: iload 6 + // 2924: sipush 301 + // 2927: if_icmpne +30 -> 2957 + // 2930: goto -1071 -> 1859 + // 2933: astore 8 + // 2935: aload 7 + // 2937: astore_2 + // 2938: aload 8 + // 2940: astore 7 + // 2942: aload 16 + // 2944: astore 15 + // 2946: aload 14 + // 2948: astore 8 + // 2950: aload 12 + // 2952: astore 10 + // 2954: goto -1799 -> 1155 + // 2957: iload 6 + // 2959: sipush 200 + // 2962: if_icmpeq -979 -> 1983 + // 2965: iload 6 + // 2967: sipush 206 + // 2970: if_icmpeq -987 -> 1983 + // 2973: iload 6 + // 2975: iconst_m1 + // 2976: if_icmpne -526 -> 2450 + // 2979: goto -996 -> 1983 + // 2982: astore 10 + // 2984: aload 7 + // 2986: astore 12 + // 2988: aload 11 + // 2990: astore_2 + // 2991: aload 8 + // 2993: astore 7 + // 2995: aload 9 + // 2997: astore 8 + // 2999: aload 12 + // 3001: astore 9 + // 3003: goto -2248 -> 755 + // 3006: astore 10 + // 3008: aload 7 + // 3010: astore_2 + // 3011: aload 10 + // 3013: astore 7 + // 3015: aload 11 + // 3017: astore 15 + // 3019: aload 9 + // 3021: astore 10 + // 3023: goto -1868 -> 1155 + // Local variable table: + // start length slot name signature + // 0 3026 0 this gr + // 0 3026 1 paramgt gt + // 0 3026 2 paramgs gs + // 0 3026 3 paramBoolean boolean + // 40 2852 4 m int + // 201 2251 5 n int + // 1714 1263 6 i1 int + // 73 1052 7 localObject1 Object + // 1138 53 7 localThrowable1 java.lang.Throwable + // 1201 1367 7 localObject2 Object + // 2659 1 7 localIOException1 java.io.IOException + // 2664 1 7 localIOException2 java.io.IOException + // 2669 15 7 localException1 java.lang.Exception + // 2688 73 7 localObject3 Object + // 2768 21 7 localThrowable2 java.lang.Throwable + // 2793 221 7 localObject4 Object + // 43 2562 8 localObject5 Object + // 2623 1 8 localIOException3 java.io.IOException + // 2654 1 8 localException2 java.lang.Exception + // 2692 210 8 localObject6 Object + // 2933 6 8 localThrowable3 java.lang.Throwable + // 2948 50 8 localObject7 Object + // 46 2532 9 localObject8 Object + // 2644 1 9 localIOException4 java.io.IOException + // 2649 1 9 localIOException5 java.io.IOException + // 2696 58 9 localObject9 Object + // 2786 6 9 localThrowable4 java.lang.Throwable + // 2814 49 9 localObject10 Object + // 2867 1 9 localThrowable5 java.lang.Throwable + // 2905 115 9 localObject11 Object + // 94 593 10 localObject12 Object + // 736 40 10 localException3 java.lang.Exception + // 786 2016 10 localObject13 Object + // 2806 1 10 localException4 java.lang.Exception + // 2822 1 10 localException5 java.lang.Exception + // 2844 41 10 localException6 java.lang.Exception + // 2896 1 10 localException7 java.lang.Exception + // 2952 1 10 localObject14 Object + // 2982 1 10 localException8 java.lang.Exception + // 3006 6 10 localThrowable6 java.lang.Throwable + // 3021 1 10 localObject15 Object + // 62 2954 11 localObject16 Object + // 58 2942 12 localObject17 Object + // 54 2668 13 localObject18 Object + // 50 2897 14 localObject19 Object + // 37 2981 15 localObject20 Object + // 31 2912 16 localObject21 Object + // 25 2681 17 localObject22 Object + // 22 2778 18 localObject23 Object + // 10 2700 19 localObject24 Object + // 7 2510 20 localObject25 Object + // 13 2445 21 localObject26 Object + // 19 2451 22 localObject27 Object + // 16 1473 23 localObject28 Object + // 28 1453 24 localObject29 Object + // 4 2599 25 localgu gu + // 180 1446 26 localObject30 Object + // 273 1013 27 str String + // Exception table: + // from to target type + // 64 75 736 java/lang/Exception + // 91 96 736 java/lang/Exception + // 117 132 736 java/lang/Exception + // 153 161 736 java/lang/Exception + // 177 182 736 java/lang/Exception + // 198 203 736 java/lang/Exception + // 219 252 736 java/lang/Exception + // 268 275 736 java/lang/Exception + // 307 323 736 java/lang/Exception + // 339 355 736 java/lang/Exception + // 371 387 736 java/lang/Exception + // 403 410 736 java/lang/Exception + // 426 433 736 java/lang/Exception + // 459 478 736 java/lang/Exception + // 494 504 736 java/lang/Exception + // 520 546 736 java/lang/Exception + // 562 570 736 java/lang/Exception + // 586 594 736 java/lang/Exception + // 610 619 736 java/lang/Exception + // 635 644 736 java/lang/Exception + // 660 670 736 java/lang/Exception + // 686 698 736 java/lang/Exception + // 714 733 736 java/lang/Exception + // 915 951 736 java/lang/Exception + // 967 1009 736 java/lang/Exception + // 1025 1049 736 java/lang/Exception + // 1065 1082 736 java/lang/Exception + // 1098 1108 736 java/lang/Exception + // 1124 1135 736 java/lang/Exception + // 1285 1302 736 java/lang/Exception + // 1318 1333 736 java/lang/Exception + // 1349 1371 736 java/lang/Exception + // 1390 1400 736 java/lang/Exception + // 1419 1429 736 java/lang/Exception + // 1445 1451 736 java/lang/Exception + // 1470 1480 736 java/lang/Exception + // 1496 1502 736 java/lang/Exception + // 64 75 1138 java/lang/Throwable + // 91 96 1138 java/lang/Throwable + // 117 132 1138 java/lang/Throwable + // 153 161 1138 java/lang/Throwable + // 177 182 1138 java/lang/Throwable + // 198 203 1138 java/lang/Throwable + // 219 252 1138 java/lang/Throwable + // 268 275 1138 java/lang/Throwable + // 307 323 1138 java/lang/Throwable + // 339 355 1138 java/lang/Throwable + // 371 387 1138 java/lang/Throwable + // 403 410 1138 java/lang/Throwable + // 426 433 1138 java/lang/Throwable + // 459 478 1138 java/lang/Throwable + // 494 504 1138 java/lang/Throwable + // 520 546 1138 java/lang/Throwable + // 562 570 1138 java/lang/Throwable + // 586 594 1138 java/lang/Throwable + // 610 619 1138 java/lang/Throwable + // 635 644 1138 java/lang/Throwable + // 660 670 1138 java/lang/Throwable + // 686 698 1138 java/lang/Throwable + // 714 733 1138 java/lang/Throwable + // 915 951 1138 java/lang/Throwable + // 967 1009 1138 java/lang/Throwable + // 1025 1049 1138 java/lang/Throwable + // 1065 1082 1138 java/lang/Throwable + // 1098 1108 1138 java/lang/Throwable + // 1124 1135 1138 java/lang/Throwable + // 1285 1302 1138 java/lang/Throwable + // 1318 1333 1138 java/lang/Throwable + // 1349 1371 1138 java/lang/Throwable + // 1390 1400 1138 java/lang/Throwable + // 1419 1429 1138 java/lang/Throwable + // 1445 1451 1138 java/lang/Throwable + // 1470 1480 1138 java/lang/Throwable + // 1496 1502 1138 java/lang/Throwable + // 1739 1744 1836 java/lang/Throwable + // 1756 1762 1836 java/lang/Throwable + // 1774 1819 1836 java/lang/Throwable + // 2173 2178 2179 java/lang/Exception + // 2416 2421 2435 java/lang/Exception + // 821 826 2522 java/lang/Exception + // 1237 1241 2535 java/lang/Exception + // 33 39 2548 finally + // 2602 2611 2614 java/lang/Throwable + // 889 898 2618 finally + // 2387 2392 2623 java/io/IOException + // 2396 2400 2628 java/io/IOException + // 792 796 2632 java/io/IOException + // 801 806 2636 java/io/IOException + // 811 816 2640 java/lang/Exception + // 1208 1213 2644 java/io/IOException + // 1218 1223 2649 java/io/IOException + // 1228 1233 2654 java/lang/Exception + // 2567 2572 2659 java/io/IOException + // 2577 2582 2664 java/io/IOException + // 2587 2592 2669 java/lang/Exception + // 2596 2600 2674 java/lang/Exception + // 840 869 2678 java/lang/Throwable + // 1525 1531 2682 finally + // 1564 1570 2682 finally + // 1590 1596 2682 finally + // 1616 1623 2682 finally + // 1663 1689 2682 finally + // 1709 1716 2682 finally + // 1739 1744 2682 finally + // 1756 1762 2682 finally + // 1774 1819 2682 finally + // 1857 1859 2682 finally + // 1885 1895 2682 finally + // 1912 1917 2682 finally + // 1929 1935 2682 finally + // 1972 1983 2682 finally + // 2003 2010 2682 finally + // 2030 2036 2682 finally + // 2070 2077 2682 finally + // 2097 2109 2682 finally + // 2129 2141 2682 finally + // 2161 2168 2682 finally + // 2201 2208 2682 finally + // 2231 2241 2682 finally + // 2261 2268 2682 finally + // 2284 2293 2682 finally + // 2473 2510 2682 finally + // 1623 1640 2701 finally + // 64 75 2716 finally + // 91 96 2716 finally + // 117 132 2716 finally + // 153 161 2716 finally + // 177 182 2716 finally + // 198 203 2716 finally + // 219 252 2716 finally + // 268 275 2716 finally + // 307 323 2716 finally + // 339 355 2716 finally + // 371 387 2716 finally + // 403 410 2716 finally + // 426 433 2716 finally + // 459 478 2716 finally + // 494 504 2716 finally + // 520 546 2716 finally + // 562 570 2716 finally + // 586 594 2716 finally + // 610 619 2716 finally + // 635 644 2716 finally + // 660 670 2716 finally + // 686 698 2716 finally + // 714 733 2716 finally + // 915 951 2716 finally + // 967 1009 2716 finally + // 1025 1049 2716 finally + // 1065 1082 2716 finally + // 1098 1108 2716 finally + // 1124 1135 2716 finally + // 1170 1203 2716 finally + // 1285 1302 2716 finally + // 1318 1333 2716 finally + // 1349 1371 2716 finally + // 1390 1400 2716 finally + // 1419 1429 2716 finally + // 1445 1451 2716 finally + // 1470 1480 2716 finally + // 1496 1502 2716 finally + // 2293 2300 2735 finally + // 2306 2320 2735 finally + // 2320 2331 2735 finally + // 2331 2348 2735 finally + // 2351 2363 2735 finally + // 755 788 2746 finally + // 33 39 2768 java/lang/Throwable + // 1623 1640 2786 java/lang/Throwable + // 33 39 2806 java/lang/Exception + // 1623 1640 2822 java/lang/Exception + // 2284 2293 2844 java/lang/Exception + // 1912 1917 2867 java/lang/Throwable + // 1929 1935 2867 java/lang/Throwable + // 1525 1531 2896 java/lang/Exception + // 1564 1570 2896 java/lang/Exception + // 1590 1596 2896 java/lang/Exception + // 1616 1623 2896 java/lang/Exception + // 1663 1689 2896 java/lang/Exception + // 1709 1716 2896 java/lang/Exception + // 1739 1744 2896 java/lang/Exception + // 1756 1762 2896 java/lang/Exception + // 1774 1819 2896 java/lang/Exception + // 1857 1859 2896 java/lang/Exception + // 1885 1895 2896 java/lang/Exception + // 1912 1917 2896 java/lang/Exception + // 1929 1935 2896 java/lang/Exception + // 1972 1983 2896 java/lang/Exception + // 2003 2010 2896 java/lang/Exception + // 2030 2036 2896 java/lang/Exception + // 2070 2077 2896 java/lang/Exception + // 2097 2109 2896 java/lang/Exception + // 2129 2141 2896 java/lang/Exception + // 2161 2168 2896 java/lang/Exception + // 2201 2208 2896 java/lang/Exception + // 2231 2241 2896 java/lang/Exception + // 2261 2268 2896 java/lang/Exception + // 2473 2510 2896 java/lang/Exception + // 1525 1531 2933 java/lang/Throwable + // 1564 1570 2933 java/lang/Throwable + // 1590 1596 2933 java/lang/Throwable + // 1616 1623 2933 java/lang/Throwable + // 1663 1689 2933 java/lang/Throwable + // 1709 1716 2933 java/lang/Throwable + // 1857 1859 2933 java/lang/Throwable + // 1885 1895 2933 java/lang/Throwable + // 1972 1983 2933 java/lang/Throwable + // 2003 2010 2933 java/lang/Throwable + // 2030 2036 2933 java/lang/Throwable + // 2070 2077 2933 java/lang/Throwable + // 2097 2109 2933 java/lang/Throwable + // 2129 2141 2933 java/lang/Throwable + // 2161 2168 2933 java/lang/Throwable + // 2201 2208 2933 java/lang/Throwable + // 2231 2241 2933 java/lang/Throwable + // 2261 2268 2933 java/lang/Throwable + // 2284 2293 2933 java/lang/Throwable + // 2473 2510 2933 java/lang/Throwable + // 2293 2300 2982 java/lang/Exception + // 2306 2320 2982 java/lang/Exception + // 2320 2331 2982 java/lang/Exception + // 2331 2348 2982 java/lang/Exception + // 2351 2363 2982 java/lang/Exception + // 2293 2300 3006 java/lang/Throwable + // 2306 2320 3006 java/lang/Throwable + // 2320 2331 3006 java/lang/Throwable + // 2331 2348 3006 java/lang/Throwable + // 2351 2363 3006 java/lang/Throwable + } + + public final int a(gt paramgt) + { + synchronized (this.i) + { + if ((!this.g) && (this.b.size() < this.e)) + { + int m = this.a + 1; + this.a = m; + paramgt.a(m); + this.b.addElement(paramgt); + this.i.notifyAll(); + m = this.a; + return m; + } + return -1; + } + } + + public final void a() + { + if ((this.g) || (this.f)) { + throw new IllegalStateException("HttpCommunicator already in using or disposed!"); + } + this.f = true; + int m = 0; + while (m < this.d) + { + this.c[m].start(); + m += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gs.java b/com.tencent.token/classes.jar/com/tencent/token/gs.java new file mode 100755 index 00000000000..58ef96b4329 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gs.java @@ -0,0 +1,77 @@ +package com.tencent.token; + +import java.util.Vector; + +final class gs + extends Thread +{ + int a = -1; + volatile boolean b = false; + + gs(gr paramgr) {} + + public final void run() + { + for (;;) + { + if (gr.a(this.c)) + { + synchronized (gr.b(this.c)) + { + label20: + int i = gr.c(this.c).size(); + if (i != 0) {} + } + try + { + gr.b(this.c).wait(); + label45: + if (gr.a(this.c)) { + break label20; + } + return; + gt localgt = (gt)gr.c(this.c).firstElement(); + if ((gr.d(this.c)) || (localgt.d() == 1)) + { + gr.c(this.c).removeElement(localgt); + this.a = localgt.d(); + } + try + { + for (;;) + { + Thread.sleep(100L); + label118: + this.b = false; + gr.a(this.c, localgt, this); + this.a = -1; + break; + try + { + gr.b(this.c).wait(); + } + catch (InterruptedException localInterruptedException2) {} + } + break label45; + localObject = finally; + throw localObject; + } + catch (InterruptedException localInterruptedException1) + { + break label118; + } + } + catch (InterruptedException localInterruptedException3) + { + break label45; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gt.java b/com.tencent.token/classes.jar/com/tencent/token/gt.java new file mode 100755 index 00000000000..54f6e7cc670 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gt.java @@ -0,0 +1,79 @@ +package com.tencent.token; + +import java.util.Hashtable; + +public final class gt +{ + Hashtable a = new Hashtable(); + public String b = ""; + long c = 0L; + long d = 0L; + final boolean e; + private final String f; + private String g = "GET"; + private int h = 0; + private final gu i; + private final byte[] j; + + public gt(String paramString, byte[] paramArrayOfByte, gu paramgu) + { + this.f = paramString; + this.i = paramgu; + if (paramArrayOfByte == null) { + this.j = null; + } + for (;;) + { + this.e = true; + return; + this.j = new byte[paramArrayOfByte.length]; + System.arraycopy(paramArrayOfByte, 0, this.j, 0, this.j.length); + } + } + + public final String a() + { + return this.f; + } + + final void a(int paramInt) + { + this.h = paramInt; + } + + public final void a(String paramString) + { + this.g = paramString; + } + + public final gu b() + { + return this.i; + } + + public final byte[] c() + { + if (this.j == null) { + return null; + } + byte[] arrayOfByte = new byte[this.j.length]; + System.arraycopy(this.j, 0, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public final int d() + { + return this.h; + } + + public final String e() + { + return this.g; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gu.java b/com.tencent.token/classes.jar/com/tencent/token/gu.java new file mode 100755 index 00000000000..4ecce60c78a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gu.java @@ -0,0 +1,14 @@ +package com.tencent.token; + +public abstract interface gu +{ + public abstract void a(byte[] paramArrayOfByte); + + public abstract void b(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/gv.java b/com.tencent.token/classes.jar/com/tencent/token/gv.java new file mode 100755 index 00000000000..3f894310356 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/gv.java @@ -0,0 +1,3780 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.io.File; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.InetSocketAddress; +import java.net.Proxy.Type; +import java.net.URL; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map.Entry; +import java.util.Set; + +public final class gv +{ + public static int f = 300000; + d a = new d((byte)0); + int b = 20000; + int c = 20000; + int d = 30000; + int e = 30000; + private final int g = 2; + private String h = "10.0.0.172"; + private int i = 80; + + private HttpURLConnection a(String paramString1, String paramString2) + { + try + { + localURL = new URL(paramString1); + localObject = RqdApplication.i(); + if (localObject == null) { + break label748; + } + localObject = ((ConnectivityManager)((Context)localObject).getSystemService("connectivity")).getActiveNetworkInfo(); + if (localObject == null) { + break label742; + } + if (((NetworkInfo)localObject).getType() != 0) { + break label303; + } + str1 = android.net.Proxy.getDefaultHost(); + j = android.net.Proxy.getDefaultPort(); + str2 = ((NetworkInfo)localObject).getExtraInfo(); + f = ((NetworkInfo)localObject).getSubtype() + 200000; + e.a("conn proxy host=" + str1 + "; port=" + j + "; mobile type=" + str2); + e.d("conn proxy host=" + str1 + "; port=" + j + "; mobile type=" + str2); + if ((str1 == null) || (-1 == j) || (str2 == null)) { + break label267; + } + if ((str2.toLowerCase(Locale.getDefault()).equals("cmwap")) || (str2.toLowerCase(Locale.getDefault()).equals("uniwap"))) { + break label699; + } + if (!str2.toLowerCase(Locale.getDefault()).equals("3gwap")) { + break label267; + } + } + catch (IOException paramString1) + { + for (;;) + { + URL localURL; + Object localObject; + String str1; + String str2; + this.a.a(10003, paramString1.toString() + "-" + paramString1.getMessage(), null); + paramString1 = null; + break; + paramString1 = new InetSocketAddress(android.net.Proxy.getDefaultHost(), android.net.Proxy.getDefaultPort()); + paramString1 = (HttpURLConnection)localURL.openConnection(new java.net.Proxy(Proxy.Type.HTTP, paramString1)); + } + this.a.a(10001, "conn is close", null); + return null; + } + catch (Exception paramString1) + { + label267: + label303: + this.a.a(10003, paramString1.toString() + "-" + paramString1.getMessage(), null); + paramString1.printStackTrace(); + paramString1 = null; + break label735; + } + paramString1 = (HttpURLConnection)localURL.openConnection(); + if (paramString2.equals("POST")) + { + paramString1.setConnectTimeout(this.d); + paramString1.setReadTimeout(this.e); + } + for (;;) + { + paramString1.setRequestMethod(paramString2); + break label735; + if ((str1 == null) || (-1 == j) || (str2 == null) || (!str2.toLowerCase(Locale.getDefault()).equals("ctwap"))) { + break label737; + } + j = 5; + break label701; + f = 100000; + j = 1; + break label701; + str1 = s.f(paramString1); + localObject = s.g(paramString1); + if ((str1 == null) || (localObject == null) || (paramString1.length() <= str1.length() + ((String)localObject).length())) + { + paramString1 = (HttpURLConnection)localURL.openConnection(); + break; + } + e.a("default proxy host: " + android.net.Proxy.getDefaultHost() + ", port: " + android.net.Proxy.getDefaultPort()); + e.d("default proxy host: " + android.net.Proxy.getDefaultHost() + ", port: " + android.net.Proxy.getDefaultPort()); + paramString1 = str1 + android.net.Proxy.getDefaultHost() + paramString1.substring(str1.length() + ((String)localObject).length()); + e.a("wap urlAssem: " + paramString1); + paramString1 = (HttpURLConnection)new URL(paramString1).openConnection(); + paramString1.setRequestProperty("X-Online-Host", (String)localObject); + paramString1.setRequestProperty("Host", android.net.Proxy.getDefaultHost()); + break; + paramString1.setConnectTimeout(this.b); + paramString1.setReadTimeout(this.c); + } + label699: + int j = 3; + for (;;) + { + label701: + switch (j) + { + } + break; + label735: + return paramString1; + label737: + j = 2; + continue; + label742: + j = 6; + continue; + label748: + j = 0; + } + } + + /* Error */ + private byte[] a(String paramString1, String paramString2, String paramString3, File paramFile) + { + // Byte code: + // 0: new 237 com/tencent/token/utils/r + // 3: dup + // 4: invokespecial 238 com/tencent/token/utils/r: ()V + // 7: astore 37 + // 9: aconst_null + // 10: astore 12 + // 12: aconst_null + // 13: astore 11 + // 15: aconst_null + // 16: astore 24 + // 18: aconst_null + // 19: astore 25 + // 21: aconst_null + // 22: astore 26 + // 24: aconst_null + // 25: astore 10 + // 27: aconst_null + // 28: astore 30 + // 30: aconst_null + // 31: astore 23 + // 33: aconst_null + // 34: astore 20 + // 36: aconst_null + // 37: astore 21 + // 39: aconst_null + // 40: astore 22 + // 42: aconst_null + // 43: astore 27 + // 45: aconst_null + // 46: astore 31 + // 48: aconst_null + // 49: astore 19 + // 51: aload_0 + // 52: aload_1 + // 53: aload_2 + // 54: invokespecial 240 com/tencent/token/gv:a (Ljava/lang/String;Ljava/lang/String;)Ljava/net/HttpURLConnection; + // 57: astore 8 + // 59: aload 8 + // 61: ifnonnull +17 -> 78 + // 64: aload 8 + // 66: ifnull +8 -> 74 + // 69: aload 8 + // 71: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 74: aconst_null + // 75: astore_1 + // 76: aload_1 + // 77: areturn + // 78: aload_3 + // 79: ifnull +2977 -> 3056 + // 82: aload_3 + // 83: invokevirtual 177 java/lang/String:length ()I + // 86: ifle +2970 -> 3056 + // 89: aconst_null + // 90: astore 14 + // 92: aload 4 + // 94: ifnull +2956 -> 3050 + // 97: new 101 java/lang/StringBuilder + // 100: dup + // 101: invokespecial 102 java/lang/StringBuilder: ()V + // 104: ldc 245 + // 106: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 109: aload_3 + // 110: invokevirtual 249 java/lang/String:getBytes ()[B + // 113: arraylength + // 114: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 117: ldc 251 + // 119: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 122: aload 4 + // 124: invokevirtual 256 java/io/File:length ()J + // 127: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 130: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 133: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 136: ldc_w 261 + // 139: invokevirtual 249 java/lang/String:getBytes ()[B + // 142: astore 18 + // 144: new 263 java/io/FileInputStream + // 147: dup + // 148: aload 4 + // 150: invokespecial 266 java/io/FileInputStream: (Ljava/io/File;)V + // 153: astore 14 + // 155: aload_3 + // 156: invokevirtual 249 java/lang/String:getBytes ()[B + // 159: arraylength + // 160: aload 18 + // 162: arraylength + // 163: iadd + // 164: i2l + // 165: aload 4 + // 167: invokevirtual 256 java/io/File:length ()J + // 170: ladd + // 171: ldc_w 268 + // 174: invokevirtual 249 java/lang/String:getBytes ()[B + // 177: arraylength + // 178: i2l + // 179: ladd + // 180: lstore 6 + // 182: new 101 java/lang/StringBuilder + // 185: dup + // 186: invokespecial 102 java/lang/StringBuilder: ()V + // 189: ldc_w 270 + // 192: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 195: lload 6 + // 197: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 200: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 203: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 206: aload 8 + // 208: ldc_w 272 + // 211: ldc_w 274 + // 214: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 217: aload 8 + // 219: ldc_w 276 + // 222: lload 6 + // 224: invokestatic 280 java/lang/String:valueOf (J)Ljava/lang/String; + // 227: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 230: aload 8 + // 232: iconst_1 + // 233: invokevirtual 284 java/net/HttpURLConnection:setDoOutput (Z)V + // 236: new 286 java/io/DataOutputStream + // 239: dup + // 240: aload 8 + // 242: invokevirtual 290 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 245: invokespecial 293 java/io/DataOutputStream: (Ljava/io/OutputStream;)V + // 248: astore 13 + // 250: aload 31 + // 252: astore 12 + // 254: aload 30 + // 256: astore 11 + // 258: aload 13 + // 260: astore 9 + // 262: aload 8 + // 264: astore 10 + // 266: aload 13 + // 268: astore 15 + // 270: aload 13 + // 272: astore 16 + // 274: aload 13 + // 276: astore 17 + // 278: aload 13 + // 280: aload_3 + // 281: invokevirtual 296 java/io/DataOutputStream:writeBytes (Ljava/lang/String;)V + // 284: aload 4 + // 286: ifnull +425 -> 711 + // 289: aload 31 + // 291: astore 12 + // 293: aload 30 + // 295: astore 11 + // 297: aload 13 + // 299: astore 9 + // 301: aload 8 + // 303: astore 10 + // 305: aload 13 + // 307: astore 15 + // 309: aload 13 + // 311: astore 16 + // 313: aload 13 + // 315: astore 17 + // 317: sipush 1024 + // 320: newarray byte + // 322: astore 28 + // 324: aload 31 + // 326: astore 12 + // 328: aload 30 + // 330: astore 11 + // 332: aload 13 + // 334: astore 9 + // 336: aload 8 + // 338: astore 10 + // 340: aload 13 + // 342: astore 15 + // 344: aload 13 + // 346: astore 16 + // 348: aload 13 + // 350: astore 17 + // 352: aload 14 + // 354: aload 28 + // 356: invokevirtual 300 java/io/FileInputStream:read ([B)I + // 359: istore 5 + // 361: iload 5 + // 363: iconst_m1 + // 364: if_icmpeq +273 -> 637 + // 367: aload 31 + // 369: astore 12 + // 371: aload 30 + // 373: astore 11 + // 375: aload 13 + // 377: astore 9 + // 379: aload 8 + // 381: astore 10 + // 383: aload 13 + // 385: astore 15 + // 387: aload 13 + // 389: astore 16 + // 391: aload 13 + // 393: astore 17 + // 395: aload 13 + // 397: aload 28 + // 399: iconst_0 + // 400: iload 5 + // 402: invokevirtual 304 java/io/DataOutputStream:write ([BII)V + // 405: goto -81 -> 324 + // 408: astore 4 + // 410: aload 8 + // 412: astore_3 + // 413: aconst_null + // 414: astore_2 + // 415: aload 13 + // 417: astore 8 + // 419: aload 23 + // 421: astore 9 + // 423: aload 19 + // 425: astore 10 + // 427: aload 4 + // 429: invokevirtual 305 java/net/SocketTimeoutException:printStackTrace ()V + // 432: aload_0 + // 433: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 436: sipush 10002 + // 439: new 101 java/lang/StringBuilder + // 442: dup + // 443: invokespecial 102 java/lang/StringBuilder: ()V + // 446: aload 4 + // 448: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 451: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 454: ldc_w 308 + // 457: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 460: aload 4 + // 462: invokevirtual 309 java/net/SocketTimeoutException:getMessage ()Ljava/lang/String; + // 465: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 468: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 471: aconst_null + // 472: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 475: invokestatic 314 com/tencent/token/p:a ()Lcom/tencent/token/p; + // 478: invokestatic 319 java/lang/System:currentTimeMillis ()J + // 481: getstatic 21 com/tencent/token/gv:f I + // 484: invokevirtual 322 com/tencent/token/p:a (JI)V + // 487: aload 4 + // 489: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 492: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 495: aload 4 + // 497: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 500: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 503: aload 10 + // 505: ifnull +8 -> 513 + // 508: aload 10 + // 510: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 513: aload 9 + // 515: ifnull +8 -> 523 + // 518: aload 9 + // 520: invokevirtual 330 java/io/InputStream:close ()V + // 523: aload 8 + // 525: ifnull +8 -> 533 + // 528: aload 8 + // 530: invokevirtual 331 java/io/DataOutputStream:close ()V + // 533: aload_2 + // 534: astore 4 + // 536: aload_3 + // 537: ifnull +10 -> 547 + // 540: aload_3 + // 541: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 544: aload_2 + // 545: astore 4 + // 547: new 101 java/lang/StringBuilder + // 550: dup + // 551: invokespecial 102 java/lang/StringBuilder: ()V + // 554: ldc_w 333 + // 557: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 560: aload 37 + // 562: invokevirtual 335 com/tencent/token/utils/r:a ()J + // 565: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 568: ldc_w 337 + // 571: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 574: aload_1 + // 575: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 578: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 581: invokestatic 339 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 584: new 101 java/lang/StringBuilder + // 587: dup + // 588: invokespecial 102 java/lang/StringBuilder: ()V + // 591: ldc_w 333 + // 594: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 597: aload 37 + // 599: invokevirtual 335 com/tencent/token/utils/r:a ()J + // 602: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 605: ldc_w 337 + // 608: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 611: astore_2 + // 612: aload_1 + // 613: ldc_w 341 + // 616: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 619: iconst_m1 + // 620: if_icmpne +1931 -> 2551 + // 623: aload_2 + // 624: aload_1 + // 625: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 628: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 631: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 634: aload 4 + // 636: areturn + // 637: aload 31 + // 639: astore 12 + // 641: aload 30 + // 643: astore 11 + // 645: aload 13 + // 647: astore 9 + // 649: aload 8 + // 651: astore 10 + // 653: aload 13 + // 655: astore 15 + // 657: aload 13 + // 659: astore 16 + // 661: aload 13 + // 663: astore 17 + // 665: aload 13 + // 667: ldc_w 268 + // 670: invokevirtual 249 java/lang/String:getBytes ()[B + // 673: invokevirtual 348 java/io/DataOutputStream:write ([B)V + // 676: aload 31 + // 678: astore 12 + // 680: aload 30 + // 682: astore 11 + // 684: aload 13 + // 686: astore 9 + // 688: aload 8 + // 690: astore 10 + // 692: aload 13 + // 694: astore 15 + // 696: aload 13 + // 698: astore 16 + // 700: aload 13 + // 702: astore 17 + // 704: aload 13 + // 706: aload 18 + // 708: invokevirtual 348 java/io/DataOutputStream:write ([B)V + // 711: aload 31 + // 713: astore 12 + // 715: aload 30 + // 717: astore 11 + // 719: aload 13 + // 721: astore 9 + // 723: aload 8 + // 725: astore 10 + // 727: aload 13 + // 729: astore 15 + // 731: aload 13 + // 733: astore 16 + // 735: aload 13 + // 737: astore 17 + // 739: aload 13 + // 741: invokevirtual 351 java/io/DataOutputStream:flush ()V + // 744: aload 31 + // 746: astore 12 + // 748: aload 30 + // 750: astore 11 + // 752: aload 13 + // 754: astore 9 + // 756: aload 8 + // 758: astore 10 + // 760: aload 13 + // 762: astore 15 + // 764: aload 13 + // 766: astore 16 + // 768: aload 13 + // 770: astore 17 + // 772: aload 13 + // 774: invokevirtual 331 java/io/DataOutputStream:close ()V + // 777: aconst_null + // 778: astore 28 + // 780: aconst_null + // 781: astore 29 + // 783: aconst_null + // 784: astore 32 + // 786: aconst_null + // 787: astore 33 + // 789: aconst_null + // 790: astore 34 + // 792: aconst_null + // 793: astore 35 + // 795: aconst_null + // 796: astore 36 + // 798: aconst_null + // 799: astore 18 + // 801: aload 31 + // 803: astore 12 + // 805: aload 30 + // 807: astore 11 + // 809: aload 33 + // 811: astore 9 + // 813: aload 8 + // 815: astore 10 + // 817: aload 34 + // 819: astore 15 + // 821: aload 35 + // 823: astore 16 + // 825: aload 36 + // 827: astore 17 + // 829: aload 8 + // 831: invokevirtual 354 java/net/HttpURLConnection:getResponseCode ()I + // 834: istore 5 + // 836: iload 5 + // 838: sipush 200 + // 841: if_icmpeq +17 -> 858 + // 844: iload 5 + // 846: sipush 206 + // 849: if_icmpeq +9 -> 858 + // 852: iload 5 + // 854: iconst_m1 + // 855: if_icmpne +667 -> 1522 + // 858: aload 31 + // 860: astore 12 + // 862: aload 30 + // 864: astore 11 + // 866: aload 33 + // 868: astore 9 + // 870: aload 8 + // 872: astore 10 + // 874: aload 34 + // 876: astore 15 + // 878: aload 35 + // 880: astore 16 + // 882: aload 36 + // 884: astore 17 + // 886: aload 8 + // 888: invokevirtual 357 java/net/HttpURLConnection:getContentType ()Ljava/lang/String; + // 891: astore 13 + // 893: aload 13 + // 895: ifnonnull +393 -> 1288 + // 898: ldc_w 359 + // 901: astore 13 + // 903: aload 31 + // 905: astore 12 + // 907: aload 30 + // 909: astore 11 + // 911: aload 33 + // 913: astore 9 + // 915: aload 8 + // 917: astore 10 + // 919: aload 34 + // 921: astore 15 + // 923: aload 35 + // 925: astore 16 + // 927: aload 36 + // 929: astore 17 + // 931: new 101 java/lang/StringBuilder + // 934: dup + // 935: invokespecial 102 java/lang/StringBuilder: ()V + // 938: ldc_w 361 + // 941: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 944: aload 13 + // 946: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 949: ldc_w 363 + // 952: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 955: aload_2 + // 956: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 959: ldc_w 365 + // 962: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 965: aload_1 + // 966: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 969: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 972: invokestatic 339 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 975: aload 31 + // 977: astore 12 + // 979: aload 30 + // 981: astore 11 + // 983: aload 33 + // 985: astore 9 + // 987: aload 8 + // 989: astore 10 + // 991: aload 34 + // 993: astore 15 + // 995: aload 35 + // 997: astore 16 + // 999: aload 36 + // 1001: astore 17 + // 1003: new 101 java/lang/StringBuilder + // 1006: dup + // 1007: invokespecial 102 java/lang/StringBuilder: ()V + // 1010: ldc_w 361 + // 1013: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1016: aload 13 + // 1018: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1021: ldc_w 363 + // 1024: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1027: aload_2 + // 1028: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1031: ldc_w 365 + // 1034: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1037: astore 38 + // 1039: aload 31 + // 1041: astore 12 + // 1043: aload 30 + // 1045: astore 11 + // 1047: aload 33 + // 1049: astore 9 + // 1051: aload 8 + // 1053: astore 10 + // 1055: aload 34 + // 1057: astore 15 + // 1059: aload 35 + // 1061: astore 16 + // 1063: aload 36 + // 1065: astore 17 + // 1067: aload_1 + // 1068: ldc_w 341 + // 1071: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1074: iconst_m1 + // 1075: if_icmpne +251 -> 1326 + // 1078: aload_1 + // 1079: astore 14 + // 1081: aload 31 + // 1083: astore 12 + // 1085: aload 30 + // 1087: astore 11 + // 1089: aload 33 + // 1091: astore 9 + // 1093: aload 8 + // 1095: astore 10 + // 1097: aload 34 + // 1099: astore 15 + // 1101: aload 35 + // 1103: astore 16 + // 1105: aload 36 + // 1107: astore 17 + // 1109: aload 38 + // 1111: aload 14 + // 1113: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1116: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1119: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1122: aload 31 + // 1124: astore 12 + // 1126: aload 30 + // 1128: astore 11 + // 1130: aload 33 + // 1132: astore 9 + // 1134: aload 8 + // 1136: astore 10 + // 1138: aload 34 + // 1140: astore 15 + // 1142: aload 35 + // 1144: astore 16 + // 1146: aload 36 + // 1148: astore 17 + // 1150: aload 13 + // 1152: ldc_w 367 + // 1155: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1158: iconst_m1 + // 1159: if_icmpne +43 -> 1202 + // 1162: aload 31 + // 1164: astore 12 + // 1166: aload 30 + // 1168: astore 11 + // 1170: aload 33 + // 1172: astore 9 + // 1174: aload 8 + // 1176: astore 10 + // 1178: aload 34 + // 1180: astore 15 + // 1182: aload 35 + // 1184: astore 16 + // 1186: aload 36 + // 1188: astore 17 + // 1190: aload 13 + // 1192: ldc_w 369 + // 1195: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1198: iconst_m1 + // 1199: if_icmpeq +172 -> 1371 + // 1202: aload 31 + // 1204: astore 12 + // 1206: aload 30 + // 1208: astore 11 + // 1210: aload 33 + // 1212: astore 9 + // 1214: aload 8 + // 1216: astore 10 + // 1218: aload 34 + // 1220: astore 15 + // 1222: aload 35 + // 1224: astore 16 + // 1226: aload 36 + // 1228: astore 17 + // 1230: ldc_w 371 + // 1233: invokestatic 373 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 1236: aload 31 + // 1238: astore 12 + // 1240: aload 30 + // 1242: astore 11 + // 1244: aload 33 + // 1246: astore 9 + // 1248: aload 8 + // 1250: astore 10 + // 1252: aload 34 + // 1254: astore 15 + // 1256: aload 35 + // 1258: astore 16 + // 1260: aload 36 + // 1262: astore 17 + // 1264: aload_0 + // 1265: aload_1 + // 1266: aload_2 + // 1267: aload_3 + // 1268: aload 4 + // 1270: invokespecial 375 com/tencent/token/gv:a (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)[B + // 1273: astore_2 + // 1274: aload_2 + // 1275: astore_1 + // 1276: aload 8 + // 1278: ifnull -1202 -> 76 + // 1281: aload 8 + // 1283: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 1286: aload_2 + // 1287: areturn + // 1288: aload 31 + // 1290: astore 12 + // 1292: aload 30 + // 1294: astore 11 + // 1296: aload 33 + // 1298: astore 9 + // 1300: aload 8 + // 1302: astore 10 + // 1304: aload 34 + // 1306: astore 15 + // 1308: aload 35 + // 1310: astore 16 + // 1312: aload 36 + // 1314: astore 17 + // 1316: aload 13 + // 1318: invokevirtual 377 java/lang/String:toLowerCase ()Ljava/lang/String; + // 1321: astore 13 + // 1323: goto -420 -> 903 + // 1326: aload 31 + // 1328: astore 12 + // 1330: aload 30 + // 1332: astore 11 + // 1334: aload 33 + // 1336: astore 9 + // 1338: aload 8 + // 1340: astore 10 + // 1342: aload 34 + // 1344: astore 15 + // 1346: aload 35 + // 1348: astore 16 + // 1350: aload 36 + // 1352: astore 17 + // 1354: aload_1 + // 1355: iconst_0 + // 1356: aload_1 + // 1357: ldc_w 341 + // 1360: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1363: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 1366: astore 14 + // 1368: goto -287 -> 1081 + // 1371: aload 31 + // 1373: astore 12 + // 1375: aload 30 + // 1377: astore 11 + // 1379: aload 33 + // 1381: astore 9 + // 1383: aload 8 + // 1385: astore 10 + // 1387: aload 34 + // 1389: astore 15 + // 1391: aload 35 + // 1393: astore 16 + // 1395: aload 36 + // 1397: astore 17 + // 1399: aload 8 + // 1401: invokevirtual 384 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 1404: astore_2 + // 1405: new 324 java/io/ByteArrayOutputStream + // 1408: dup + // 1409: invokespecial 385 java/io/ByteArrayOutputStream: ()V + // 1412: astore_3 + // 1413: aload_2 + // 1414: invokevirtual 387 java/io/InputStream:read ()I + // 1417: istore 5 + // 1419: iload 5 + // 1421: iconst_m1 + // 1422: if_icmpeq +12 -> 1434 + // 1425: aload_3 + // 1426: iload 5 + // 1428: invokevirtual 389 java/io/ByteArrayOutputStream:write (I)V + // 1431: goto -18 -> 1413 + // 1434: aload_3 + // 1435: invokevirtual 390 java/io/ByteArrayOutputStream:flush ()V + // 1438: aload_3 + // 1439: invokevirtual 393 java/io/ByteArrayOutputStream:toByteArray ()[B + // 1442: astore 4 + // 1444: aload 4 + // 1446: ifnull +9 -> 1455 + // 1449: aload 4 + // 1451: arraylength + // 1452: ifgt +55 -> 1507 + // 1455: aload_0 + // 1456: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1459: ldc_w 394 + // 1462: aconst_null + // 1463: aconst_null + // 1464: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1467: aconst_null + // 1468: astore 9 + // 1470: aload_3 + // 1471: ifnull +7 -> 1478 + // 1474: aload_3 + // 1475: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 1478: aload_2 + // 1479: ifnull +7 -> 1486 + // 1482: aload_2 + // 1483: invokevirtual 330 java/io/InputStream:close ()V + // 1486: aload 9 + // 1488: astore 4 + // 1490: aload 8 + // 1492: ifnull -945 -> 547 + // 1495: aload 8 + // 1497: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 1500: aload 9 + // 1502: astore 4 + // 1504: goto -957 -> 547 + // 1507: aload_0 + // 1508: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1511: iconst_0 + // 1512: putfield 396 com/tencent/token/global/d:a I + // 1515: aload 4 + // 1517: astore 9 + // 1519: goto -49 -> 1470 + // 1522: aload 31 + // 1524: astore 12 + // 1526: aload 30 + // 1528: astore 11 + // 1530: aload 33 + // 1532: astore 9 + // 1534: aload 8 + // 1536: astore 10 + // 1538: aload 34 + // 1540: astore 15 + // 1542: aload 35 + // 1544: astore 16 + // 1546: aload 36 + // 1548: astore 17 + // 1550: aload_0 + // 1551: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1554: sipush 10005 + // 1557: new 101 java/lang/StringBuilder + // 1560: dup + // 1561: invokespecial 102 java/lang/StringBuilder: ()V + // 1564: ldc_w 398 + // 1567: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1570: iload 5 + // 1572: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1575: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1578: aconst_null + // 1579: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1582: aload 31 + // 1584: astore 12 + // 1586: aload 30 + // 1588: astore 11 + // 1590: aload 33 + // 1592: astore 9 + // 1594: aload 8 + // 1596: astore 10 + // 1598: aload 34 + // 1600: astore 15 + // 1602: aload 35 + // 1604: astore 16 + // 1606: aload 36 + // 1608: astore 17 + // 1610: new 101 java/lang/StringBuilder + // 1613: dup + // 1614: invokespecial 102 java/lang/StringBuilder: ()V + // 1617: ldc_w 400 + // 1620: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1623: aload_1 + // 1624: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1627: ldc_w 402 + // 1630: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1633: iload 5 + // 1635: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1638: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1641: invokestatic 373 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 1644: aload 31 + // 1646: astore 12 + // 1648: aload 30 + // 1650: astore 11 + // 1652: aload 33 + // 1654: astore 9 + // 1656: aload 8 + // 1658: astore 10 + // 1660: aload 34 + // 1662: astore 15 + // 1664: aload 35 + // 1666: astore 16 + // 1668: aload 36 + // 1670: astore 17 + // 1672: new 101 java/lang/StringBuilder + // 1675: dup + // 1676: invokespecial 102 java/lang/StringBuilder: ()V + // 1679: ldc_w 404 + // 1682: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1685: astore_3 + // 1686: aload 31 + // 1688: astore 12 + // 1690: aload 30 + // 1692: astore 11 + // 1694: aload 33 + // 1696: astore 9 + // 1698: aload 8 + // 1700: astore 10 + // 1702: aload 34 + // 1704: astore 15 + // 1706: aload 35 + // 1708: astore 16 + // 1710: aload 36 + // 1712: astore 17 + // 1714: aload_1 + // 1715: ldc_w 341 + // 1718: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1721: iconst_m1 + // 1722: if_icmpne +65 -> 1787 + // 1725: aload_1 + // 1726: astore_2 + // 1727: aload 31 + // 1729: astore 12 + // 1731: aload 30 + // 1733: astore 11 + // 1735: aload 33 + // 1737: astore 9 + // 1739: aload 8 + // 1741: astore 10 + // 1743: aload 34 + // 1745: astore 15 + // 1747: aload 35 + // 1749: astore 16 + // 1751: aload 36 + // 1753: astore 17 + // 1755: aload_3 + // 1756: aload_2 + // 1757: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1760: ldc_w 402 + // 1763: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1766: iload 5 + // 1768: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1771: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1774: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1777: aconst_null + // 1778: astore 9 + // 1780: aconst_null + // 1781: astore_2 + // 1782: aconst_null + // 1783: astore_3 + // 1784: goto -314 -> 1470 + // 1787: aload 31 + // 1789: astore 12 + // 1791: aload 30 + // 1793: astore 11 + // 1795: aload 33 + // 1797: astore 9 + // 1799: aload 8 + // 1801: astore 10 + // 1803: aload 34 + // 1805: astore 15 + // 1807: aload 35 + // 1809: astore 16 + // 1811: aload 36 + // 1813: astore 17 + // 1815: aload_1 + // 1816: iconst_0 + // 1817: aload_1 + // 1818: ldc_w 341 + // 1821: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1824: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 1827: astore_2 + // 1828: goto -101 -> 1727 + // 1831: astore_3 + // 1832: aload_3 + // 1833: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1836: goto -358 -> 1478 + // 1839: astore_2 + // 1840: aload_2 + // 1841: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1844: goto -358 -> 1486 + // 1847: astore 4 + // 1849: aload 4 + // 1851: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1854: goto -1341 -> 513 + // 1857: astore 4 + // 1859: aload 4 + // 1861: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1864: goto -1341 -> 523 + // 1867: astore 4 + // 1869: aload 4 + // 1871: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1874: goto -1341 -> 533 + // 1877: astore_3 + // 1878: aconst_null + // 1879: astore 8 + // 1881: aconst_null + // 1882: astore 13 + // 1884: aconst_null + // 1885: astore_2 + // 1886: aload 24 + // 1888: astore 4 + // 1890: aload 20 + // 1892: astore 14 + // 1894: aload 14 + // 1896: astore 12 + // 1898: aload 4 + // 1900: astore 11 + // 1902: aload 13 + // 1904: astore 9 + // 1906: aload 8 + // 1908: astore 10 + // 1910: aload_3 + // 1911: invokevirtual 405 java/io/IOException:printStackTrace ()V + // 1914: aload 14 + // 1916: astore 12 + // 1918: aload 4 + // 1920: astore 11 + // 1922: aload 13 + // 1924: astore 9 + // 1926: aload 8 + // 1928: astore 10 + // 1930: aload_0 + // 1931: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1934: sipush 10003 + // 1937: new 101 java/lang/StringBuilder + // 1940: dup + // 1941: invokespecial 102 java/lang/StringBuilder: ()V + // 1944: aload_3 + // 1945: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 1948: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1951: ldc_w 308 + // 1954: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1957: aload_3 + // 1958: invokevirtual 201 java/io/IOException:getMessage ()Ljava/lang/String; + // 1961: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1964: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1967: aconst_null + // 1968: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1971: aload 14 + // 1973: astore 12 + // 1975: aload 4 + // 1977: astore 11 + // 1979: aload 13 + // 1981: astore 9 + // 1983: aload 8 + // 1985: astore 10 + // 1987: aload_3 + // 1988: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 1991: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1994: aload 14 + // 1996: astore 12 + // 1998: aload 4 + // 2000: astore 11 + // 2002: aload 13 + // 2004: astore 9 + // 2006: aload 8 + // 2008: astore 10 + // 2010: aload_3 + // 2011: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 2014: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 2017: aload 14 + // 2019: ifnull +8 -> 2027 + // 2022: aload 14 + // 2024: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2027: aload 4 + // 2029: ifnull +8 -> 2037 + // 2032: aload 4 + // 2034: invokevirtual 330 java/io/InputStream:close ()V + // 2037: aload 13 + // 2039: ifnull +8 -> 2047 + // 2042: aload 13 + // 2044: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2047: aload_2 + // 2048: astore 4 + // 2050: aload 8 + // 2052: ifnull -1505 -> 547 + // 2055: aload 8 + // 2057: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2060: aload_2 + // 2061: astore 4 + // 2063: goto -1516 -> 547 + // 2066: astore_3 + // 2067: aload_3 + // 2068: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2071: goto -44 -> 2027 + // 2074: astore_3 + // 2075: aload_3 + // 2076: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2079: goto -42 -> 2037 + // 2082: astore_3 + // 2083: aload_3 + // 2084: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2087: goto -40 -> 2047 + // 2090: astore_3 + // 2091: aconst_null + // 2092: astore 8 + // 2094: aconst_null + // 2095: astore 13 + // 2097: aconst_null + // 2098: astore_2 + // 2099: aload 25 + // 2101: astore 4 + // 2103: aload 21 + // 2105: astore 14 + // 2107: aload 14 + // 2109: astore 12 + // 2111: aload 4 + // 2113: astore 11 + // 2115: aload 13 + // 2117: astore 9 + // 2119: aload 8 + // 2121: astore 10 + // 2123: aload_3 + // 2124: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2127: aload 14 + // 2129: astore 12 + // 2131: aload 4 + // 2133: astore 11 + // 2135: aload 13 + // 2137: astore 9 + // 2139: aload 8 + // 2141: astore 10 + // 2143: aload_0 + // 2144: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 2147: sipush 10003 + // 2150: new 101 java/lang/StringBuilder + // 2153: dup + // 2154: invokespecial 102 java/lang/StringBuilder: ()V + // 2157: aload_3 + // 2158: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2161: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2164: ldc_w 308 + // 2167: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2170: aload_3 + // 2171: invokevirtual 227 java/lang/Exception:getMessage ()Ljava/lang/String; + // 2174: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2177: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2180: aconst_null + // 2181: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 2184: aload 14 + // 2186: astore 12 + // 2188: aload 4 + // 2190: astore 11 + // 2192: aload 13 + // 2194: astore 9 + // 2196: aload 8 + // 2198: astore 10 + // 2200: aload_3 + // 2201: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2204: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 2207: aload 14 + // 2209: astore 12 + // 2211: aload 4 + // 2213: astore 11 + // 2215: aload 13 + // 2217: astore 9 + // 2219: aload 8 + // 2221: astore 10 + // 2223: aload_3 + // 2224: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2227: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 2230: aload 14 + // 2232: ifnull +8 -> 2240 + // 2235: aload 14 + // 2237: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2240: aload 4 + // 2242: ifnull +8 -> 2250 + // 2245: aload 4 + // 2247: invokevirtual 330 java/io/InputStream:close ()V + // 2250: aload 13 + // 2252: ifnull +8 -> 2260 + // 2255: aload 13 + // 2257: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2260: aload_2 + // 2261: astore 4 + // 2263: aload 8 + // 2265: ifnull -1718 -> 547 + // 2268: aload 8 + // 2270: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2273: aload_2 + // 2274: astore 4 + // 2276: goto -1729 -> 547 + // 2279: astore_3 + // 2280: aload_3 + // 2281: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2284: goto -44 -> 2240 + // 2287: astore_3 + // 2288: aload_3 + // 2289: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2292: goto -42 -> 2250 + // 2295: astore_3 + // 2296: aload_3 + // 2297: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2300: goto -40 -> 2260 + // 2303: astore_3 + // 2304: aconst_null + // 2305: astore 8 + // 2307: aconst_null + // 2308: astore 13 + // 2310: aconst_null + // 2311: astore_2 + // 2312: aload 26 + // 2314: astore 4 + // 2316: aload 22 + // 2318: astore 14 + // 2320: aload 14 + // 2322: astore 12 + // 2324: aload 4 + // 2326: astore 11 + // 2328: aload 13 + // 2330: astore 9 + // 2332: aload 8 + // 2334: astore 10 + // 2336: aload_3 + // 2337: invokevirtual 406 java/lang/Throwable:printStackTrace ()V + // 2340: aload 14 + // 2342: astore 12 + // 2344: aload 4 + // 2346: astore 11 + // 2348: aload 13 + // 2350: astore 9 + // 2352: aload 8 + // 2354: astore 10 + // 2356: aload_0 + // 2357: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 2360: sipush 10003 + // 2363: new 101 java/lang/StringBuilder + // 2366: dup + // 2367: invokespecial 102 java/lang/StringBuilder: ()V + // 2370: aload_3 + // 2371: invokevirtual 407 java/lang/Throwable:toString ()Ljava/lang/String; + // 2374: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2377: ldc_w 308 + // 2380: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2383: aload_3 + // 2384: invokevirtual 408 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 2387: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2390: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2393: aconst_null + // 2394: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 2397: aload 14 + // 2399: ifnull +8 -> 2407 + // 2402: aload 14 + // 2404: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2407: aload 4 + // 2409: ifnull +8 -> 2417 + // 2412: aload 4 + // 2414: invokevirtual 330 java/io/InputStream:close ()V + // 2417: aload 13 + // 2419: ifnull +8 -> 2427 + // 2422: aload 13 + // 2424: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2427: aload_2 + // 2428: astore 4 + // 2430: aload 8 + // 2432: ifnull -1885 -> 547 + // 2435: aload 8 + // 2437: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2440: aload_2 + // 2441: astore 4 + // 2443: goto -1896 -> 547 + // 2446: astore_3 + // 2447: aload_3 + // 2448: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2451: goto -44 -> 2407 + // 2454: astore_3 + // 2455: aload_3 + // 2456: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2459: goto -42 -> 2417 + // 2462: astore_3 + // 2463: aload_3 + // 2464: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2467: goto -40 -> 2427 + // 2470: astore_1 + // 2471: aconst_null + // 2472: astore 8 + // 2474: aconst_null + // 2475: astore 9 + // 2477: aload 10 + // 2479: astore 11 + // 2481: aload 27 + // 2483: astore 12 + // 2485: aload 12 + // 2487: ifnull +8 -> 2495 + // 2490: aload 12 + // 2492: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2495: aload 11 + // 2497: ifnull +8 -> 2505 + // 2500: aload 11 + // 2502: invokevirtual 330 java/io/InputStream:close ()V + // 2505: aload 9 + // 2507: ifnull +8 -> 2515 + // 2510: aload 9 + // 2512: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2515: aload 8 + // 2517: ifnull +8 -> 2525 + // 2520: aload 8 + // 2522: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2525: aload_1 + // 2526: athrow + // 2527: astore_2 + // 2528: aload_2 + // 2529: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2532: goto -37 -> 2495 + // 2535: astore_2 + // 2536: aload_2 + // 2537: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2540: goto -35 -> 2505 + // 2543: astore_2 + // 2544: aload_2 + // 2545: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2548: goto -33 -> 2515 + // 2551: aload_1 + // 2552: iconst_0 + // 2553: aload_1 + // 2554: ldc_w 341 + // 2557: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 2560: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 2563: astore_1 + // 2564: goto -1941 -> 623 + // 2567: astore_1 + // 2568: aconst_null + // 2569: astore 9 + // 2571: aload 27 + // 2573: astore 12 + // 2575: aload 10 + // 2577: astore 11 + // 2579: goto -94 -> 2485 + // 2582: astore_1 + // 2583: aload 10 + // 2585: astore 8 + // 2587: goto -102 -> 2485 + // 2590: astore_1 + // 2591: aload 27 + // 2593: astore 12 + // 2595: aload_2 + // 2596: astore 11 + // 2598: aload 32 + // 2600: astore 9 + // 2602: goto -117 -> 2485 + // 2605: astore_1 + // 2606: aload_3 + // 2607: astore 12 + // 2609: aload_2 + // 2610: astore 11 + // 2612: aload 32 + // 2614: astore 9 + // 2616: goto -131 -> 2485 + // 2619: astore_1 + // 2620: aload 10 + // 2622: astore 12 + // 2624: aload 9 + // 2626: astore 11 + // 2628: aload 8 + // 2630: astore 9 + // 2632: aload_3 + // 2633: astore 8 + // 2635: goto -150 -> 2485 + // 2638: astore_3 + // 2639: aconst_null + // 2640: astore 13 + // 2642: aconst_null + // 2643: astore_2 + // 2644: aload 22 + // 2646: astore 14 + // 2648: aload 26 + // 2650: astore 4 + // 2652: goto -332 -> 2320 + // 2655: astore_3 + // 2656: aconst_null + // 2657: astore_2 + // 2658: aload 22 + // 2660: astore 14 + // 2662: aload 26 + // 2664: astore 4 + // 2666: aload 15 + // 2668: astore 13 + // 2670: goto -350 -> 2320 + // 2673: astore_3 + // 2674: aload_2 + // 2675: astore 4 + // 2677: aconst_null + // 2678: astore_2 + // 2679: aload 22 + // 2681: astore 14 + // 2683: aload 29 + // 2685: astore 13 + // 2687: goto -367 -> 2320 + // 2690: astore 9 + // 2692: aload_3 + // 2693: astore 14 + // 2695: aload_2 + // 2696: astore 4 + // 2698: aconst_null + // 2699: astore_2 + // 2700: aload 9 + // 2702: astore_3 + // 2703: aload 29 + // 2705: astore 13 + // 2707: goto -387 -> 2320 + // 2710: astore 10 + // 2712: aload_3 + // 2713: astore 14 + // 2715: aload_2 + // 2716: astore 9 + // 2718: aload 4 + // 2720: astore_2 + // 2721: aload 10 + // 2723: astore_3 + // 2724: aload 9 + // 2726: astore 4 + // 2728: aload 29 + // 2730: astore 13 + // 2732: goto -412 -> 2320 + // 2735: astore_3 + // 2736: aconst_null + // 2737: astore 13 + // 2739: aconst_null + // 2740: astore_2 + // 2741: aload 21 + // 2743: astore 14 + // 2745: aload 25 + // 2747: astore 4 + // 2749: goto -642 -> 2107 + // 2752: astore_3 + // 2753: aconst_null + // 2754: astore_2 + // 2755: aload 21 + // 2757: astore 14 + // 2759: aload 25 + // 2761: astore 4 + // 2763: aload 16 + // 2765: astore 13 + // 2767: goto -660 -> 2107 + // 2770: astore_3 + // 2771: aload_2 + // 2772: astore 4 + // 2774: aconst_null + // 2775: astore_2 + // 2776: aload 21 + // 2778: astore 14 + // 2780: aload 28 + // 2782: astore 13 + // 2784: goto -677 -> 2107 + // 2787: astore 9 + // 2789: aload_3 + // 2790: astore 14 + // 2792: aload_2 + // 2793: astore 4 + // 2795: aconst_null + // 2796: astore_2 + // 2797: aload 9 + // 2799: astore_3 + // 2800: aload 28 + // 2802: astore 13 + // 2804: goto -697 -> 2107 + // 2807: astore 10 + // 2809: aload_3 + // 2810: astore 14 + // 2812: aload_2 + // 2813: astore 9 + // 2815: aload 4 + // 2817: astore_2 + // 2818: aload 10 + // 2820: astore_3 + // 2821: aload 9 + // 2823: astore 4 + // 2825: aload 28 + // 2827: astore 13 + // 2829: goto -722 -> 2107 + // 2832: astore_3 + // 2833: aconst_null + // 2834: astore 13 + // 2836: aconst_null + // 2837: astore_2 + // 2838: aload 20 + // 2840: astore 14 + // 2842: aload 24 + // 2844: astore 4 + // 2846: goto -952 -> 1894 + // 2849: astore_3 + // 2850: aconst_null + // 2851: astore_2 + // 2852: aload 20 + // 2854: astore 14 + // 2856: aload 24 + // 2858: astore 4 + // 2860: aload 17 + // 2862: astore 13 + // 2864: goto -970 -> 1894 + // 2867: astore_3 + // 2868: aload_2 + // 2869: astore 4 + // 2871: aconst_null + // 2872: astore_2 + // 2873: aload 20 + // 2875: astore 14 + // 2877: aload 18 + // 2879: astore 13 + // 2881: goto -987 -> 1894 + // 2884: astore 9 + // 2886: aload_3 + // 2887: astore 14 + // 2889: aload_2 + // 2890: astore 4 + // 2892: aconst_null + // 2893: astore_2 + // 2894: aload 9 + // 2896: astore_3 + // 2897: aload 18 + // 2899: astore 13 + // 2901: goto -1007 -> 1894 + // 2904: astore 10 + // 2906: aload_3 + // 2907: astore 14 + // 2909: aload_2 + // 2910: astore 9 + // 2912: aload 4 + // 2914: astore_2 + // 2915: aload 10 + // 2917: astore_3 + // 2918: aload 9 + // 2920: astore 4 + // 2922: aload 18 + // 2924: astore 13 + // 2926: goto -1032 -> 1894 + // 2929: astore 4 + // 2931: aconst_null + // 2932: astore_2 + // 2933: aload 19 + // 2935: astore 10 + // 2937: aload 23 + // 2939: astore 9 + // 2941: aload 11 + // 2943: astore 8 + // 2945: aload 12 + // 2947: astore_3 + // 2948: goto -2521 -> 427 + // 2951: astore 4 + // 2953: aload 8 + // 2955: astore_3 + // 2956: aconst_null + // 2957: astore_2 + // 2958: aload 19 + // 2960: astore 10 + // 2962: aload 23 + // 2964: astore 9 + // 2966: aload 11 + // 2968: astore 8 + // 2970: goto -2543 -> 427 + // 2973: astore 4 + // 2975: aconst_null + // 2976: astore 11 + // 2978: aload 8 + // 2980: astore_3 + // 2981: aconst_null + // 2982: astore_2 + // 2983: aload 19 + // 2985: astore 10 + // 2987: aload 23 + // 2989: astore 9 + // 2991: aload 11 + // 2993: astore 8 + // 2995: goto -2568 -> 427 + // 2998: astore 4 + // 3000: aload_2 + // 3001: astore 9 + // 3003: aconst_null + // 3004: astore 11 + // 3006: aload 8 + // 3008: astore_3 + // 3009: aconst_null + // 3010: astore_2 + // 3011: aload 19 + // 3013: astore 10 + // 3015: aload 11 + // 3017: astore 8 + // 3019: goto -2592 -> 427 + // 3022: astore 12 + // 3024: aload_3 + // 3025: astore 10 + // 3027: aload_2 + // 3028: astore 9 + // 3030: aconst_null + // 3031: astore 11 + // 3033: aload 8 + // 3035: astore_3 + // 3036: aload 4 + // 3038: astore_2 + // 3039: aload 12 + // 3041: astore 4 + // 3043: aload 11 + // 3045: astore 8 + // 3047: goto -2620 -> 427 + // 3050: aconst_null + // 3051: astore 18 + // 3053: goto -2823 -> 230 + // 3056: goto -2279 -> 777 + // 3059: astore 4 + // 3061: aload_3 + // 3062: astore 10 + // 3064: aload_2 + // 3065: astore 9 + // 3067: aconst_null + // 3068: astore 11 + // 3070: aload 8 + // 3072: astore_3 + // 3073: aconst_null + // 3074: astore_2 + // 3075: aload 11 + // 3077: astore 8 + // 3079: goto -2652 -> 427 + // Local variable table: + // start length slot name signature + // 0 3082 0 this gv + // 0 3082 1 paramString1 String + // 0 3082 2 paramString2 String + // 0 3082 3 paramString3 String + // 0 3082 4 paramFile File + // 359 1408 5 j int + // 180 43 6 l long + // 57 3021 8 localObject1 Object + // 260 2371 9 localObject2 Object + // 2690 11 9 localThrowable1 java.lang.Throwable + // 2716 9 9 str1 String + // 2787 11 9 localException1 Exception + // 2813 9 9 str2 String + // 2884 11 9 localIOException1 IOException + // 2910 156 9 localObject3 Object + // 25 2596 10 localObject4 Object + // 2710 12 10 localThrowable2 java.lang.Throwable + // 2807 12 10 localException2 Exception + // 2904 12 10 localIOException2 IOException + // 2935 128 10 localObject5 Object + // 13 3063 11 localObject6 Object + // 10 2936 12 localObject7 Object + // 3022 18 12 localSocketTimeoutException java.net.SocketTimeoutException + // 248 2677 13 localObject8 Object + // 90 2818 14 localObject9 Object + // 268 2399 15 localObject10 Object + // 272 2492 16 localObject11 Object + // 276 2585 17 localObject12 Object + // 142 2910 18 arrayOfByte1 byte[] + // 49 2963 19 localObject13 Object + // 34 2840 20 localObject14 Object + // 37 2740 21 localObject15 Object + // 40 2640 22 localObject16 Object + // 31 2957 23 localObject17 Object + // 16 2841 24 localObject18 Object + // 19 2741 25 localObject19 Object + // 22 2641 26 localObject20 Object + // 43 2549 27 localObject21 Object + // 322 2504 28 arrayOfByte2 byte[] + // 781 1948 29 localObject22 Object + // 28 1764 30 localObject23 Object + // 46 1742 31 localObject24 Object + // 784 1829 32 localObject25 Object + // 787 1009 33 localObject26 Object + // 790 1014 34 localObject27 Object + // 793 1015 35 localObject28 Object + // 796 1016 36 localObject29 Object + // 7 591 37 localr com.tencent.token.utils.r + // 1037 73 38 localStringBuilder java.lang.StringBuilder + // Exception table: + // from to target type + // 278 284 408 java/net/SocketTimeoutException + // 317 324 408 java/net/SocketTimeoutException + // 352 361 408 java/net/SocketTimeoutException + // 395 405 408 java/net/SocketTimeoutException + // 665 676 408 java/net/SocketTimeoutException + // 704 711 408 java/net/SocketTimeoutException + // 739 744 408 java/net/SocketTimeoutException + // 772 777 408 java/net/SocketTimeoutException + // 1474 1478 1831 java/lang/Exception + // 1482 1486 1839 java/lang/Exception + // 508 513 1847 java/lang/Exception + // 518 523 1857 java/lang/Exception + // 528 533 1867 java/lang/Exception + // 51 59 1877 java/io/IOException + // 2022 2027 2066 java/lang/Exception + // 2032 2037 2074 java/lang/Exception + // 2042 2047 2082 java/lang/Exception + // 51 59 2090 java/lang/Exception + // 2235 2240 2279 java/lang/Exception + // 2245 2250 2287 java/lang/Exception + // 2255 2260 2295 java/lang/Exception + // 51 59 2303 java/lang/Throwable + // 2402 2407 2446 java/lang/Exception + // 2412 2417 2454 java/lang/Exception + // 2422 2427 2462 java/lang/Exception + // 51 59 2470 finally + // 2490 2495 2527 java/lang/Exception + // 2500 2505 2535 java/lang/Exception + // 2510 2515 2543 java/lang/Exception + // 82 89 2567 finally + // 97 230 2567 finally + // 230 250 2567 finally + // 278 284 2582 finally + // 317 324 2582 finally + // 352 361 2582 finally + // 395 405 2582 finally + // 665 676 2582 finally + // 704 711 2582 finally + // 739 744 2582 finally + // 772 777 2582 finally + // 829 836 2582 finally + // 886 893 2582 finally + // 931 975 2582 finally + // 1003 1039 2582 finally + // 1067 1078 2582 finally + // 1109 1122 2582 finally + // 1150 1162 2582 finally + // 1190 1202 2582 finally + // 1230 1236 2582 finally + // 1264 1274 2582 finally + // 1316 1323 2582 finally + // 1354 1368 2582 finally + // 1399 1405 2582 finally + // 1550 1582 2582 finally + // 1610 1644 2582 finally + // 1672 1686 2582 finally + // 1714 1725 2582 finally + // 1755 1777 2582 finally + // 1815 1828 2582 finally + // 1910 1914 2582 finally + // 1930 1971 2582 finally + // 1987 1994 2582 finally + // 2010 2017 2582 finally + // 2123 2127 2582 finally + // 2143 2184 2582 finally + // 2200 2207 2582 finally + // 2223 2230 2582 finally + // 2336 2340 2582 finally + // 2356 2397 2582 finally + // 1405 1413 2590 finally + // 1413 1419 2605 finally + // 1425 1431 2605 finally + // 1434 1444 2605 finally + // 1449 1455 2605 finally + // 1455 1467 2605 finally + // 1507 1515 2605 finally + // 427 503 2619 finally + // 82 89 2638 java/lang/Throwable + // 97 230 2638 java/lang/Throwable + // 230 250 2638 java/lang/Throwable + // 278 284 2655 java/lang/Throwable + // 317 324 2655 java/lang/Throwable + // 352 361 2655 java/lang/Throwable + // 395 405 2655 java/lang/Throwable + // 665 676 2655 java/lang/Throwable + // 704 711 2655 java/lang/Throwable + // 739 744 2655 java/lang/Throwable + // 772 777 2655 java/lang/Throwable + // 829 836 2655 java/lang/Throwable + // 886 893 2655 java/lang/Throwable + // 931 975 2655 java/lang/Throwable + // 1003 1039 2655 java/lang/Throwable + // 1067 1078 2655 java/lang/Throwable + // 1109 1122 2655 java/lang/Throwable + // 1150 1162 2655 java/lang/Throwable + // 1190 1202 2655 java/lang/Throwable + // 1230 1236 2655 java/lang/Throwable + // 1264 1274 2655 java/lang/Throwable + // 1316 1323 2655 java/lang/Throwable + // 1354 1368 2655 java/lang/Throwable + // 1399 1405 2655 java/lang/Throwable + // 1550 1582 2655 java/lang/Throwable + // 1610 1644 2655 java/lang/Throwable + // 1672 1686 2655 java/lang/Throwable + // 1714 1725 2655 java/lang/Throwable + // 1755 1777 2655 java/lang/Throwable + // 1815 1828 2655 java/lang/Throwable + // 1405 1413 2673 java/lang/Throwable + // 1413 1419 2690 java/lang/Throwable + // 1425 1431 2690 java/lang/Throwable + // 1434 1444 2690 java/lang/Throwable + // 1449 1455 2710 java/lang/Throwable + // 1455 1467 2710 java/lang/Throwable + // 1507 1515 2710 java/lang/Throwable + // 82 89 2735 java/lang/Exception + // 97 230 2735 java/lang/Exception + // 230 250 2735 java/lang/Exception + // 278 284 2752 java/lang/Exception + // 317 324 2752 java/lang/Exception + // 352 361 2752 java/lang/Exception + // 395 405 2752 java/lang/Exception + // 665 676 2752 java/lang/Exception + // 704 711 2752 java/lang/Exception + // 739 744 2752 java/lang/Exception + // 772 777 2752 java/lang/Exception + // 829 836 2752 java/lang/Exception + // 886 893 2752 java/lang/Exception + // 931 975 2752 java/lang/Exception + // 1003 1039 2752 java/lang/Exception + // 1067 1078 2752 java/lang/Exception + // 1109 1122 2752 java/lang/Exception + // 1150 1162 2752 java/lang/Exception + // 1190 1202 2752 java/lang/Exception + // 1230 1236 2752 java/lang/Exception + // 1264 1274 2752 java/lang/Exception + // 1316 1323 2752 java/lang/Exception + // 1354 1368 2752 java/lang/Exception + // 1399 1405 2752 java/lang/Exception + // 1550 1582 2752 java/lang/Exception + // 1610 1644 2752 java/lang/Exception + // 1672 1686 2752 java/lang/Exception + // 1714 1725 2752 java/lang/Exception + // 1755 1777 2752 java/lang/Exception + // 1815 1828 2752 java/lang/Exception + // 1405 1413 2770 java/lang/Exception + // 1413 1419 2787 java/lang/Exception + // 1425 1431 2787 java/lang/Exception + // 1434 1444 2787 java/lang/Exception + // 1449 1455 2807 java/lang/Exception + // 1455 1467 2807 java/lang/Exception + // 1507 1515 2807 java/lang/Exception + // 82 89 2832 java/io/IOException + // 97 230 2832 java/io/IOException + // 230 250 2832 java/io/IOException + // 278 284 2849 java/io/IOException + // 317 324 2849 java/io/IOException + // 352 361 2849 java/io/IOException + // 395 405 2849 java/io/IOException + // 665 676 2849 java/io/IOException + // 704 711 2849 java/io/IOException + // 739 744 2849 java/io/IOException + // 772 777 2849 java/io/IOException + // 829 836 2849 java/io/IOException + // 886 893 2849 java/io/IOException + // 931 975 2849 java/io/IOException + // 1003 1039 2849 java/io/IOException + // 1067 1078 2849 java/io/IOException + // 1109 1122 2849 java/io/IOException + // 1150 1162 2849 java/io/IOException + // 1190 1202 2849 java/io/IOException + // 1230 1236 2849 java/io/IOException + // 1264 1274 2849 java/io/IOException + // 1316 1323 2849 java/io/IOException + // 1354 1368 2849 java/io/IOException + // 1399 1405 2849 java/io/IOException + // 1550 1582 2849 java/io/IOException + // 1610 1644 2849 java/io/IOException + // 1672 1686 2849 java/io/IOException + // 1714 1725 2849 java/io/IOException + // 1755 1777 2849 java/io/IOException + // 1815 1828 2849 java/io/IOException + // 1405 1413 2867 java/io/IOException + // 1413 1419 2884 java/io/IOException + // 1425 1431 2884 java/io/IOException + // 1434 1444 2884 java/io/IOException + // 1449 1455 2904 java/io/IOException + // 1455 1467 2904 java/io/IOException + // 1507 1515 2904 java/io/IOException + // 51 59 2929 java/net/SocketTimeoutException + // 82 89 2951 java/net/SocketTimeoutException + // 97 230 2951 java/net/SocketTimeoutException + // 230 250 2951 java/net/SocketTimeoutException + // 829 836 2973 java/net/SocketTimeoutException + // 886 893 2973 java/net/SocketTimeoutException + // 931 975 2973 java/net/SocketTimeoutException + // 1003 1039 2973 java/net/SocketTimeoutException + // 1067 1078 2973 java/net/SocketTimeoutException + // 1109 1122 2973 java/net/SocketTimeoutException + // 1150 1162 2973 java/net/SocketTimeoutException + // 1190 1202 2973 java/net/SocketTimeoutException + // 1230 1236 2973 java/net/SocketTimeoutException + // 1264 1274 2973 java/net/SocketTimeoutException + // 1316 1323 2973 java/net/SocketTimeoutException + // 1354 1368 2973 java/net/SocketTimeoutException + // 1399 1405 2973 java/net/SocketTimeoutException + // 1550 1582 2973 java/net/SocketTimeoutException + // 1610 1644 2973 java/net/SocketTimeoutException + // 1672 1686 2973 java/net/SocketTimeoutException + // 1714 1725 2973 java/net/SocketTimeoutException + // 1755 1777 2973 java/net/SocketTimeoutException + // 1815 1828 2973 java/net/SocketTimeoutException + // 1405 1413 2998 java/net/SocketTimeoutException + // 1449 1455 3022 java/net/SocketTimeoutException + // 1455 1467 3022 java/net/SocketTimeoutException + // 1507 1515 3022 java/net/SocketTimeoutException + // 1413 1419 3059 java/net/SocketTimeoutException + // 1425 1431 3059 java/net/SocketTimeoutException + // 1434 1444 3059 java/net/SocketTimeoutException + } + + /* Error */ + private byte[] a(String paramString1, String paramString2, String paramString3, byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 237 com/tencent/token/utils/r + // 3: dup + // 4: invokespecial 238 com/tencent/token/utils/r: ()V + // 7: astore 37 + // 9: aconst_null + // 10: astore 12 + // 12: aconst_null + // 13: astore 11 + // 15: aconst_null + // 16: astore 23 + // 18: aconst_null + // 19: astore 24 + // 21: aconst_null + // 22: astore 25 + // 24: aconst_null + // 25: astore 10 + // 27: aconst_null + // 28: astore 30 + // 30: aconst_null + // 31: astore 22 + // 33: aconst_null + // 34: astore 19 + // 36: aconst_null + // 37: astore 20 + // 39: aconst_null + // 40: astore 21 + // 42: aconst_null + // 43: astore 27 + // 45: aconst_null + // 46: astore 31 + // 48: aconst_null + // 49: astore 18 + // 51: aload_0 + // 52: aload_1 + // 53: aload_2 + // 54: invokespecial 240 com/tencent/token/gv:a (Ljava/lang/String;Ljava/lang/String;)Ljava/net/HttpURLConnection; + // 57: astore 8 + // 59: aload 8 + // 61: ifnonnull +17 -> 78 + // 64: aload 8 + // 66: ifnull +8 -> 74 + // 69: aload 8 + // 71: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 74: aconst_null + // 75: astore_1 + // 76: aload_1 + // 77: areturn + // 78: aload_3 + // 79: ifnull +2898 -> 2977 + // 82: aload_3 + // 83: invokevirtual 177 java/lang/String:length ()I + // 86: ifle +2891 -> 2977 + // 89: aconst_null + // 90: astore 14 + // 92: aload 4 + // 94: ifnull +120 -> 214 + // 97: new 101 java/lang/StringBuilder + // 100: dup + // 101: invokespecial 102 java/lang/StringBuilder: ()V + // 104: ldc 245 + // 106: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 109: aload_3 + // 110: invokevirtual 249 java/lang/String:getBytes ()[B + // 113: arraylength + // 114: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 117: ldc 251 + // 119: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 122: aload 4 + // 124: arraylength + // 125: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 128: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 131: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 134: ldc_w 261 + // 137: invokevirtual 249 java/lang/String:getBytes ()[B + // 140: astore 14 + // 142: aload_3 + // 143: invokevirtual 249 java/lang/String:getBytes ()[B + // 146: arraylength + // 147: aload 14 + // 149: arraylength + // 150: iadd + // 151: aload 4 + // 153: arraylength + // 154: iadd + // 155: ldc_w 268 + // 158: invokevirtual 249 java/lang/String:getBytes ()[B + // 161: arraylength + // 162: iadd + // 163: i2l + // 164: lstore 6 + // 166: new 101 java/lang/StringBuilder + // 169: dup + // 170: invokespecial 102 java/lang/StringBuilder: ()V + // 173: ldc_w 270 + // 176: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 179: lload 6 + // 181: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 184: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 187: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 190: aload 8 + // 192: ldc_w 272 + // 195: ldc_w 274 + // 198: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 201: aload 8 + // 203: ldc_w 276 + // 206: lload 6 + // 208: invokestatic 280 java/lang/String:valueOf (J)Ljava/lang/String; + // 211: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 214: aload 8 + // 216: iconst_1 + // 217: invokevirtual 284 java/net/HttpURLConnection:setDoOutput (Z)V + // 220: new 286 java/io/DataOutputStream + // 223: dup + // 224: aload 8 + // 226: invokevirtual 290 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 229: invokespecial 293 java/io/DataOutputStream: (Ljava/io/OutputStream;)V + // 232: astore 13 + // 234: aload 31 + // 236: astore 12 + // 238: aload 30 + // 240: astore 11 + // 242: aload 13 + // 244: astore 9 + // 246: aload 8 + // 248: astore 10 + // 250: aload 13 + // 252: astore 15 + // 254: aload 13 + // 256: astore 16 + // 258: aload 13 + // 260: astore 17 + // 262: aload 13 + // 264: aload_3 + // 265: invokevirtual 296 java/io/DataOutputStream:writeBytes (Ljava/lang/String;)V + // 268: aload 4 + // 270: ifnull +112 -> 382 + // 273: aload 31 + // 275: astore 12 + // 277: aload 30 + // 279: astore 11 + // 281: aload 13 + // 283: astore 9 + // 285: aload 8 + // 287: astore 10 + // 289: aload 13 + // 291: astore 15 + // 293: aload 13 + // 295: astore 16 + // 297: aload 13 + // 299: astore 17 + // 301: aload 13 + // 303: aload 4 + // 305: invokevirtual 348 java/io/DataOutputStream:write ([B)V + // 308: aload 31 + // 310: astore 12 + // 312: aload 30 + // 314: astore 11 + // 316: aload 13 + // 318: astore 9 + // 320: aload 8 + // 322: astore 10 + // 324: aload 13 + // 326: astore 15 + // 328: aload 13 + // 330: astore 16 + // 332: aload 13 + // 334: astore 17 + // 336: aload 13 + // 338: ldc_w 268 + // 341: invokevirtual 249 java/lang/String:getBytes ()[B + // 344: invokevirtual 348 java/io/DataOutputStream:write ([B)V + // 347: aload 31 + // 349: astore 12 + // 351: aload 30 + // 353: astore 11 + // 355: aload 13 + // 357: astore 9 + // 359: aload 8 + // 361: astore 10 + // 363: aload 13 + // 365: astore 15 + // 367: aload 13 + // 369: astore 16 + // 371: aload 13 + // 373: astore 17 + // 375: aload 13 + // 377: aload 14 + // 379: invokevirtual 348 java/io/DataOutputStream:write ([B)V + // 382: aload 31 + // 384: astore 12 + // 386: aload 30 + // 388: astore 11 + // 390: aload 13 + // 392: astore 9 + // 394: aload 8 + // 396: astore 10 + // 398: aload 13 + // 400: astore 15 + // 402: aload 13 + // 404: astore 16 + // 406: aload 13 + // 408: astore 17 + // 410: aload 13 + // 412: invokevirtual 351 java/io/DataOutputStream:flush ()V + // 415: aload 31 + // 417: astore 12 + // 419: aload 30 + // 421: astore 11 + // 423: aload 13 + // 425: astore 9 + // 427: aload 8 + // 429: astore 10 + // 431: aload 13 + // 433: astore 15 + // 435: aload 13 + // 437: astore 16 + // 439: aload 13 + // 441: astore 17 + // 443: aload 13 + // 445: invokevirtual 331 java/io/DataOutputStream:close ()V + // 448: aconst_null + // 449: astore 28 + // 451: aconst_null + // 452: astore 29 + // 454: aconst_null + // 455: astore 32 + // 457: aconst_null + // 458: astore 33 + // 460: aconst_null + // 461: astore 34 + // 463: aconst_null + // 464: astore 35 + // 466: aconst_null + // 467: astore 36 + // 469: aconst_null + // 470: astore 26 + // 472: aload 31 + // 474: astore 12 + // 476: aload 30 + // 478: astore 11 + // 480: aload 33 + // 482: astore 9 + // 484: aload 8 + // 486: astore 10 + // 488: aload 34 + // 490: astore 15 + // 492: aload 35 + // 494: astore 16 + // 496: aload 36 + // 498: astore 17 + // 500: aload 8 + // 502: invokevirtual 354 java/net/HttpURLConnection:getResponseCode ()I + // 505: istore 5 + // 507: iload 5 + // 509: sipush 200 + // 512: if_icmpeq +17 -> 529 + // 515: iload 5 + // 517: sipush 206 + // 520: if_icmpeq +9 -> 529 + // 523: iload 5 + // 525: iconst_m1 + // 526: if_icmpne +901 -> 1427 + // 529: aload 31 + // 531: astore 12 + // 533: aload 30 + // 535: astore 11 + // 537: aload 33 + // 539: astore 9 + // 541: aload 8 + // 543: astore 10 + // 545: aload 34 + // 547: astore 15 + // 549: aload 35 + // 551: astore 16 + // 553: aload 36 + // 555: astore 17 + // 557: aload 8 + // 559: invokevirtual 357 java/net/HttpURLConnection:getContentType ()Ljava/lang/String; + // 562: astore 13 + // 564: aload 13 + // 566: ifnonnull +393 -> 959 + // 569: ldc_w 359 + // 572: astore 13 + // 574: aload 31 + // 576: astore 12 + // 578: aload 30 + // 580: astore 11 + // 582: aload 33 + // 584: astore 9 + // 586: aload 8 + // 588: astore 10 + // 590: aload 34 + // 592: astore 15 + // 594: aload 35 + // 596: astore 16 + // 598: aload 36 + // 600: astore 17 + // 602: new 101 java/lang/StringBuilder + // 605: dup + // 606: invokespecial 102 java/lang/StringBuilder: ()V + // 609: ldc_w 361 + // 612: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 615: aload 13 + // 617: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 620: ldc_w 363 + // 623: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 626: aload_2 + // 627: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 630: ldc_w 365 + // 633: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 636: aload_1 + // 637: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 640: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 643: invokestatic 339 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 646: aload 31 + // 648: astore 12 + // 650: aload 30 + // 652: astore 11 + // 654: aload 33 + // 656: astore 9 + // 658: aload 8 + // 660: astore 10 + // 662: aload 34 + // 664: astore 15 + // 666: aload 35 + // 668: astore 16 + // 670: aload 36 + // 672: astore 17 + // 674: new 101 java/lang/StringBuilder + // 677: dup + // 678: invokespecial 102 java/lang/StringBuilder: ()V + // 681: ldc_w 361 + // 684: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 687: aload 13 + // 689: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 692: ldc_w 363 + // 695: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 698: aload_2 + // 699: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 702: ldc_w 365 + // 705: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 708: astore 38 + // 710: aload 31 + // 712: astore 12 + // 714: aload 30 + // 716: astore 11 + // 718: aload 33 + // 720: astore 9 + // 722: aload 8 + // 724: astore 10 + // 726: aload 34 + // 728: astore 15 + // 730: aload 35 + // 732: astore 16 + // 734: aload 36 + // 736: astore 17 + // 738: aload_1 + // 739: ldc_w 341 + // 742: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 745: iconst_m1 + // 746: if_icmpne +251 -> 997 + // 749: aload_1 + // 750: astore 14 + // 752: aload 31 + // 754: astore 12 + // 756: aload 30 + // 758: astore 11 + // 760: aload 33 + // 762: astore 9 + // 764: aload 8 + // 766: astore 10 + // 768: aload 34 + // 770: astore 15 + // 772: aload 35 + // 774: astore 16 + // 776: aload 36 + // 778: astore 17 + // 780: aload 38 + // 782: aload 14 + // 784: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 787: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 790: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 793: aload 31 + // 795: astore 12 + // 797: aload 30 + // 799: astore 11 + // 801: aload 33 + // 803: astore 9 + // 805: aload 8 + // 807: astore 10 + // 809: aload 34 + // 811: astore 15 + // 813: aload 35 + // 815: astore 16 + // 817: aload 36 + // 819: astore 17 + // 821: aload 13 + // 823: ldc_w 367 + // 826: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 829: iconst_m1 + // 830: if_icmpne +43 -> 873 + // 833: aload 31 + // 835: astore 12 + // 837: aload 30 + // 839: astore 11 + // 841: aload 33 + // 843: astore 9 + // 845: aload 8 + // 847: astore 10 + // 849: aload 34 + // 851: astore 15 + // 853: aload 35 + // 855: astore 16 + // 857: aload 36 + // 859: astore 17 + // 861: aload 13 + // 863: ldc_w 369 + // 866: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 869: iconst_m1 + // 870: if_icmpeq +172 -> 1042 + // 873: aload 31 + // 875: astore 12 + // 877: aload 30 + // 879: astore 11 + // 881: aload 33 + // 883: astore 9 + // 885: aload 8 + // 887: astore 10 + // 889: aload 34 + // 891: astore 15 + // 893: aload 35 + // 895: astore 16 + // 897: aload 36 + // 899: astore 17 + // 901: ldc_w 371 + // 904: invokestatic 373 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 907: aload 31 + // 909: astore 12 + // 911: aload 30 + // 913: astore 11 + // 915: aload 33 + // 917: astore 9 + // 919: aload 8 + // 921: astore 10 + // 923: aload 34 + // 925: astore 15 + // 927: aload 35 + // 929: astore 16 + // 931: aload 36 + // 933: astore 17 + // 935: aload_0 + // 936: aload_1 + // 937: aload_2 + // 938: aload_3 + // 939: aload 4 + // 941: invokespecial 411 com/tencent/token/gv:a (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)[B + // 944: astore_2 + // 945: aload_2 + // 946: astore_1 + // 947: aload 8 + // 949: ifnull -873 -> 76 + // 952: aload 8 + // 954: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 957: aload_2 + // 958: areturn + // 959: aload 31 + // 961: astore 12 + // 963: aload 30 + // 965: astore 11 + // 967: aload 33 + // 969: astore 9 + // 971: aload 8 + // 973: astore 10 + // 975: aload 34 + // 977: astore 15 + // 979: aload 35 + // 981: astore 16 + // 983: aload 36 + // 985: astore 17 + // 987: aload 13 + // 989: invokevirtual 377 java/lang/String:toLowerCase ()Ljava/lang/String; + // 992: astore 13 + // 994: goto -420 -> 574 + // 997: aload 31 + // 999: astore 12 + // 1001: aload 30 + // 1003: astore 11 + // 1005: aload 33 + // 1007: astore 9 + // 1009: aload 8 + // 1011: astore 10 + // 1013: aload 34 + // 1015: astore 15 + // 1017: aload 35 + // 1019: astore 16 + // 1021: aload 36 + // 1023: astore 17 + // 1025: aload_1 + // 1026: iconst_0 + // 1027: aload_1 + // 1028: ldc_w 341 + // 1031: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1034: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 1037: astore 14 + // 1039: goto -287 -> 752 + // 1042: aload 31 + // 1044: astore 12 + // 1046: aload 30 + // 1048: astore 11 + // 1050: aload 33 + // 1052: astore 9 + // 1054: aload 8 + // 1056: astore 10 + // 1058: aload 34 + // 1060: astore 15 + // 1062: aload 35 + // 1064: astore 16 + // 1066: aload 36 + // 1068: astore 17 + // 1070: aload 8 + // 1072: invokevirtual 384 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 1075: astore_2 + // 1076: new 324 java/io/ByteArrayOutputStream + // 1079: dup + // 1080: invokespecial 385 java/io/ByteArrayOutputStream: ()V + // 1083: astore_3 + // 1084: aload_2 + // 1085: invokevirtual 387 java/io/InputStream:read ()I + // 1088: istore 5 + // 1090: iload 5 + // 1092: iconst_m1 + // 1093: if_icmpeq +246 -> 1339 + // 1096: aload_3 + // 1097: iload 5 + // 1099: invokevirtual 389 java/io/ByteArrayOutputStream:write (I)V + // 1102: goto -18 -> 1084 + // 1105: astore 4 + // 1107: aload_3 + // 1108: astore 10 + // 1110: aconst_null + // 1111: astore 9 + // 1113: aload 8 + // 1115: astore_3 + // 1116: aconst_null + // 1117: astore 11 + // 1119: aload 9 + // 1121: astore 8 + // 1123: aload_2 + // 1124: astore 9 + // 1126: aload 11 + // 1128: astore_2 + // 1129: aload 4 + // 1131: invokevirtual 305 java/net/SocketTimeoutException:printStackTrace ()V + // 1134: aload_0 + // 1135: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1138: sipush 10002 + // 1141: new 101 java/lang/StringBuilder + // 1144: dup + // 1145: invokespecial 102 java/lang/StringBuilder: ()V + // 1148: aload 4 + // 1150: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 1153: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1156: ldc_w 308 + // 1159: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1162: aload 4 + // 1164: invokevirtual 309 java/net/SocketTimeoutException:getMessage ()Ljava/lang/String; + // 1167: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1170: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1173: aconst_null + // 1174: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1177: invokestatic 314 com/tencent/token/p:a ()Lcom/tencent/token/p; + // 1180: invokestatic 319 java/lang/System:currentTimeMillis ()J + // 1183: getstatic 21 com/tencent/token/gv:f I + // 1186: invokevirtual 322 com/tencent/token/p:a (JI)V + // 1189: aload 4 + // 1191: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 1194: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1197: aload 4 + // 1199: invokevirtual 306 java/net/SocketTimeoutException:toString ()Ljava/lang/String; + // 1202: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1205: aload 10 + // 1207: ifnull +8 -> 1215 + // 1210: aload 10 + // 1212: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 1215: aload 9 + // 1217: ifnull +8 -> 1225 + // 1220: aload 9 + // 1222: invokevirtual 330 java/io/InputStream:close ()V + // 1225: aload 8 + // 1227: ifnull +8 -> 1235 + // 1230: aload 8 + // 1232: invokevirtual 331 java/io/DataOutputStream:close ()V + // 1235: aload_2 + // 1236: astore 4 + // 1238: aload_3 + // 1239: ifnull +10 -> 1249 + // 1242: aload_3 + // 1243: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 1246: aload_2 + // 1247: astore 4 + // 1249: new 101 java/lang/StringBuilder + // 1252: dup + // 1253: invokespecial 102 java/lang/StringBuilder: ()V + // 1256: ldc_w 333 + // 1259: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1262: aload 37 + // 1264: invokevirtual 335 com/tencent/token/utils/r:a ()J + // 1267: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1270: ldc_w 337 + // 1273: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1276: aload_1 + // 1277: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1280: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1283: invokestatic 339 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 1286: new 101 java/lang/StringBuilder + // 1289: dup + // 1290: invokespecial 102 java/lang/StringBuilder: ()V + // 1293: ldc_w 333 + // 1296: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1299: aload 37 + // 1301: invokevirtual 335 com/tencent/token/utils/r:a ()J + // 1304: invokevirtual 259 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1307: ldc_w 337 + // 1310: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1313: astore_2 + // 1314: aload_1 + // 1315: ldc_w 341 + // 1318: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1321: iconst_m1 + // 1322: if_icmpne +1134 -> 2456 + // 1325: aload_2 + // 1326: aload_1 + // 1327: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1330: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1333: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1336: aload 4 + // 1338: areturn + // 1339: aload_3 + // 1340: invokevirtual 390 java/io/ByteArrayOutputStream:flush ()V + // 1343: aload_3 + // 1344: invokevirtual 393 java/io/ByteArrayOutputStream:toByteArray ()[B + // 1347: astore 4 + // 1349: aload 4 + // 1351: ifnull +9 -> 1360 + // 1354: aload 4 + // 1356: arraylength + // 1357: ifgt +55 -> 1412 + // 1360: aload_0 + // 1361: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1364: ldc_w 394 + // 1367: aconst_null + // 1368: aconst_null + // 1369: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1372: aconst_null + // 1373: astore 9 + // 1375: aload_3 + // 1376: ifnull +7 -> 1383 + // 1379: aload_3 + // 1380: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 1383: aload_2 + // 1384: ifnull +7 -> 1391 + // 1387: aload_2 + // 1388: invokevirtual 330 java/io/InputStream:close ()V + // 1391: aload 9 + // 1393: astore 4 + // 1395: aload 8 + // 1397: ifnull -148 -> 1249 + // 1400: aload 8 + // 1402: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 1405: aload 9 + // 1407: astore 4 + // 1409: goto -160 -> 1249 + // 1412: aload_0 + // 1413: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1416: iconst_0 + // 1417: putfield 396 com/tencent/token/global/d:a I + // 1420: aload 4 + // 1422: astore 9 + // 1424: goto -49 -> 1375 + // 1427: aload 31 + // 1429: astore 12 + // 1431: aload 30 + // 1433: astore 11 + // 1435: aload 33 + // 1437: astore 9 + // 1439: aload 8 + // 1441: astore 10 + // 1443: aload 34 + // 1445: astore 15 + // 1447: aload 35 + // 1449: astore 16 + // 1451: aload 36 + // 1453: astore 17 + // 1455: aload_0 + // 1456: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1459: sipush 10005 + // 1462: new 101 java/lang/StringBuilder + // 1465: dup + // 1466: invokespecial 102 java/lang/StringBuilder: ()V + // 1469: ldc_w 398 + // 1472: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1475: iload 5 + // 1477: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1480: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1483: aconst_null + // 1484: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1487: aload 31 + // 1489: astore 12 + // 1491: aload 30 + // 1493: astore 11 + // 1495: aload 33 + // 1497: astore 9 + // 1499: aload 8 + // 1501: astore 10 + // 1503: aload 34 + // 1505: astore 15 + // 1507: aload 35 + // 1509: astore 16 + // 1511: aload 36 + // 1513: astore 17 + // 1515: new 101 java/lang/StringBuilder + // 1518: dup + // 1519: invokespecial 102 java/lang/StringBuilder: ()V + // 1522: ldc_w 400 + // 1525: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1528: aload_1 + // 1529: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1532: ldc_w 402 + // 1535: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1538: iload 5 + // 1540: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1543: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1546: invokestatic 373 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 1549: aload 31 + // 1551: astore 12 + // 1553: aload 30 + // 1555: astore 11 + // 1557: aload 33 + // 1559: astore 9 + // 1561: aload 8 + // 1563: astore 10 + // 1565: aload 34 + // 1567: astore 15 + // 1569: aload 35 + // 1571: astore 16 + // 1573: aload 36 + // 1575: astore 17 + // 1577: new 101 java/lang/StringBuilder + // 1580: dup + // 1581: invokespecial 102 java/lang/StringBuilder: ()V + // 1584: ldc_w 404 + // 1587: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1590: astore_3 + // 1591: aload 31 + // 1593: astore 12 + // 1595: aload 30 + // 1597: astore 11 + // 1599: aload 33 + // 1601: astore 9 + // 1603: aload 8 + // 1605: astore 10 + // 1607: aload 34 + // 1609: astore 15 + // 1611: aload 35 + // 1613: astore 16 + // 1615: aload 36 + // 1617: astore 17 + // 1619: aload_1 + // 1620: ldc_w 341 + // 1623: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1626: iconst_m1 + // 1627: if_icmpne +65 -> 1692 + // 1630: aload_1 + // 1631: astore_2 + // 1632: aload 31 + // 1634: astore 12 + // 1636: aload 30 + // 1638: astore 11 + // 1640: aload 33 + // 1642: astore 9 + // 1644: aload 8 + // 1646: astore 10 + // 1648: aload 34 + // 1650: astore 15 + // 1652: aload 35 + // 1654: astore 16 + // 1656: aload 36 + // 1658: astore 17 + // 1660: aload_3 + // 1661: aload_2 + // 1662: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1665: ldc_w 402 + // 1668: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1671: iload 5 + // 1673: invokevirtual 113 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1676: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1679: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1682: aconst_null + // 1683: astore 9 + // 1685: aconst_null + // 1686: astore_2 + // 1687: aconst_null + // 1688: astore_3 + // 1689: goto -314 -> 1375 + // 1692: aload 31 + // 1694: astore 12 + // 1696: aload 30 + // 1698: astore 11 + // 1700: aload 33 + // 1702: astore 9 + // 1704: aload 8 + // 1706: astore 10 + // 1708: aload 34 + // 1710: astore 15 + // 1712: aload 35 + // 1714: astore 16 + // 1716: aload 36 + // 1718: astore 17 + // 1720: aload_1 + // 1721: iconst_0 + // 1722: aload_1 + // 1723: ldc_w 341 + // 1726: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 1729: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 1732: astore_2 + // 1733: goto -101 -> 1632 + // 1736: astore_3 + // 1737: aload_3 + // 1738: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1741: goto -358 -> 1383 + // 1744: astore_2 + // 1745: aload_2 + // 1746: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1749: goto -358 -> 1391 + // 1752: astore 4 + // 1754: aload 4 + // 1756: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1759: goto -544 -> 1215 + // 1762: astore 4 + // 1764: aload 4 + // 1766: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1769: goto -544 -> 1225 + // 1772: astore 4 + // 1774: aload 4 + // 1776: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1779: goto -544 -> 1235 + // 1782: astore_3 + // 1783: aconst_null + // 1784: astore 8 + // 1786: aconst_null + // 1787: astore 13 + // 1789: aconst_null + // 1790: astore_2 + // 1791: aload 23 + // 1793: astore 4 + // 1795: aload 19 + // 1797: astore 14 + // 1799: aload 14 + // 1801: astore 12 + // 1803: aload 4 + // 1805: astore 11 + // 1807: aload 13 + // 1809: astore 9 + // 1811: aload 8 + // 1813: astore 10 + // 1815: aload_3 + // 1816: invokevirtual 405 java/io/IOException:printStackTrace ()V + // 1819: aload 14 + // 1821: astore 12 + // 1823: aload 4 + // 1825: astore 11 + // 1827: aload 13 + // 1829: astore 9 + // 1831: aload 8 + // 1833: astore 10 + // 1835: aload_0 + // 1836: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 1839: sipush 10003 + // 1842: new 101 java/lang/StringBuilder + // 1845: dup + // 1846: invokespecial 102 java/lang/StringBuilder: ()V + // 1849: aload_3 + // 1850: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 1853: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1856: ldc_w 308 + // 1859: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1862: aload_3 + // 1863: invokevirtual 201 java/io/IOException:getMessage ()Ljava/lang/String; + // 1866: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1869: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1872: aconst_null + // 1873: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 1876: aload 14 + // 1878: astore 12 + // 1880: aload 4 + // 1882: astore 11 + // 1884: aload 13 + // 1886: astore 9 + // 1888: aload 8 + // 1890: astore 10 + // 1892: aload_3 + // 1893: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 1896: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 1899: aload 14 + // 1901: astore 12 + // 1903: aload 4 + // 1905: astore 11 + // 1907: aload 13 + // 1909: astore 9 + // 1911: aload 8 + // 1913: astore 10 + // 1915: aload_3 + // 1916: invokevirtual 196 java/io/IOException:toString ()Ljava/lang/String; + // 1919: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 1922: aload 14 + // 1924: ifnull +8 -> 1932 + // 1927: aload 14 + // 1929: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 1932: aload 4 + // 1934: ifnull +8 -> 1942 + // 1937: aload 4 + // 1939: invokevirtual 330 java/io/InputStream:close ()V + // 1942: aload 13 + // 1944: ifnull +8 -> 1952 + // 1947: aload 13 + // 1949: invokevirtual 331 java/io/DataOutputStream:close ()V + // 1952: aload_2 + // 1953: astore 4 + // 1955: aload 8 + // 1957: ifnull -708 -> 1249 + // 1960: aload 8 + // 1962: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 1965: aload_2 + // 1966: astore 4 + // 1968: goto -719 -> 1249 + // 1971: astore_3 + // 1972: aload_3 + // 1973: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1976: goto -44 -> 1932 + // 1979: astore_3 + // 1980: aload_3 + // 1981: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1984: goto -42 -> 1942 + // 1987: astore_3 + // 1988: aload_3 + // 1989: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 1992: goto -40 -> 1952 + // 1995: astore_3 + // 1996: aconst_null + // 1997: astore 8 + // 1999: aconst_null + // 2000: astore 13 + // 2002: aconst_null + // 2003: astore_2 + // 2004: aload 24 + // 2006: astore 4 + // 2008: aload 20 + // 2010: astore 14 + // 2012: aload 14 + // 2014: astore 12 + // 2016: aload 4 + // 2018: astore 11 + // 2020: aload 13 + // 2022: astore 9 + // 2024: aload 8 + // 2026: astore 10 + // 2028: aload_3 + // 2029: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2032: aload 14 + // 2034: astore 12 + // 2036: aload 4 + // 2038: astore 11 + // 2040: aload 13 + // 2042: astore 9 + // 2044: aload 8 + // 2046: astore 10 + // 2048: aload_0 + // 2049: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 2052: sipush 10003 + // 2055: new 101 java/lang/StringBuilder + // 2058: dup + // 2059: invokespecial 102 java/lang/StringBuilder: ()V + // 2062: aload_3 + // 2063: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2066: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2069: ldc_w 308 + // 2072: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2075: aload_3 + // 2076: invokevirtual 227 java/lang/Exception:getMessage ()Ljava/lang/String; + // 2079: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2082: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2085: aconst_null + // 2086: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 2089: aload 14 + // 2091: astore 12 + // 2093: aload 4 + // 2095: astore 11 + // 2097: aload 13 + // 2099: astore 9 + // 2101: aload 8 + // 2103: astore 10 + // 2105: aload_3 + // 2106: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2109: invokestatic 122 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 2112: aload 14 + // 2114: astore 12 + // 2116: aload 4 + // 2118: astore 11 + // 2120: aload 13 + // 2122: astore 9 + // 2124: aload 8 + // 2126: astore 10 + // 2128: aload_3 + // 2129: invokevirtual 226 java/lang/Exception:toString ()Ljava/lang/String; + // 2132: invokestatic 124 com/tencent/token/global/e:d (Ljava/lang/String;)V + // 2135: aload 14 + // 2137: ifnull +8 -> 2145 + // 2140: aload 14 + // 2142: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2145: aload 4 + // 2147: ifnull +8 -> 2155 + // 2150: aload 4 + // 2152: invokevirtual 330 java/io/InputStream:close ()V + // 2155: aload 13 + // 2157: ifnull +8 -> 2165 + // 2160: aload 13 + // 2162: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2165: aload_2 + // 2166: astore 4 + // 2168: aload 8 + // 2170: ifnull -921 -> 1249 + // 2173: aload 8 + // 2175: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2178: aload_2 + // 2179: astore 4 + // 2181: goto -932 -> 1249 + // 2184: astore_3 + // 2185: aload_3 + // 2186: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2189: goto -44 -> 2145 + // 2192: astore_3 + // 2193: aload_3 + // 2194: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2197: goto -42 -> 2155 + // 2200: astore_3 + // 2201: aload_3 + // 2202: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2205: goto -40 -> 2165 + // 2208: astore_3 + // 2209: aconst_null + // 2210: astore 8 + // 2212: aconst_null + // 2213: astore 13 + // 2215: aconst_null + // 2216: astore_2 + // 2217: aload 25 + // 2219: astore 4 + // 2221: aload 21 + // 2223: astore 14 + // 2225: aload 14 + // 2227: astore 12 + // 2229: aload 4 + // 2231: astore 11 + // 2233: aload 13 + // 2235: astore 9 + // 2237: aload 8 + // 2239: astore 10 + // 2241: aload_3 + // 2242: invokevirtual 406 java/lang/Throwable:printStackTrace ()V + // 2245: aload 14 + // 2247: astore 12 + // 2249: aload 4 + // 2251: astore 11 + // 2253: aload 13 + // 2255: astore 9 + // 2257: aload 8 + // 2259: astore 10 + // 2261: aload_0 + // 2262: getfield 34 com/tencent/token/gv:a Lcom/tencent/token/global/d; + // 2265: sipush 10003 + // 2268: new 101 java/lang/StringBuilder + // 2271: dup + // 2272: invokespecial 102 java/lang/StringBuilder: ()V + // 2275: aload_3 + // 2276: invokevirtual 407 java/lang/Throwable:toString ()Ljava/lang/String; + // 2279: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2282: ldc_w 308 + // 2285: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2288: aload_3 + // 2289: invokevirtual 408 java/lang/Throwable:getMessage ()Ljava/lang/String; + // 2292: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2295: invokevirtual 118 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2298: aconst_null + // 2299: invokevirtual 204 com/tencent/token/global/d:a (ILjava/lang/String;Ljava/lang/String;)V + // 2302: aload 14 + // 2304: ifnull +8 -> 2312 + // 2307: aload 14 + // 2309: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2312: aload 4 + // 2314: ifnull +8 -> 2322 + // 2317: aload 4 + // 2319: invokevirtual 330 java/io/InputStream:close ()V + // 2322: aload 13 + // 2324: ifnull +8 -> 2332 + // 2327: aload 13 + // 2329: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2332: aload_2 + // 2333: astore 4 + // 2335: aload 8 + // 2337: ifnull -1088 -> 1249 + // 2340: aload 8 + // 2342: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2345: aload_2 + // 2346: astore 4 + // 2348: goto -1099 -> 1249 + // 2351: astore_3 + // 2352: aload_3 + // 2353: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2356: goto -44 -> 2312 + // 2359: astore_3 + // 2360: aload_3 + // 2361: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2364: goto -42 -> 2322 + // 2367: astore_3 + // 2368: aload_3 + // 2369: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2372: goto -40 -> 2332 + // 2375: astore_1 + // 2376: aconst_null + // 2377: astore 8 + // 2379: aconst_null + // 2380: astore 9 + // 2382: aload 10 + // 2384: astore 11 + // 2386: aload 27 + // 2388: astore 12 + // 2390: aload 12 + // 2392: ifnull +8 -> 2400 + // 2395: aload 12 + // 2397: invokevirtual 327 java/io/ByteArrayOutputStream:close ()V + // 2400: aload 11 + // 2402: ifnull +8 -> 2410 + // 2405: aload 11 + // 2407: invokevirtual 330 java/io/InputStream:close ()V + // 2410: aload 9 + // 2412: ifnull +8 -> 2420 + // 2415: aload 9 + // 2417: invokevirtual 331 java/io/DataOutputStream:close ()V + // 2420: aload 8 + // 2422: ifnull +8 -> 2430 + // 2425: aload 8 + // 2427: invokevirtual 243 java/net/HttpURLConnection:disconnect ()V + // 2430: aload_1 + // 2431: athrow + // 2432: astore_2 + // 2433: aload_2 + // 2434: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2437: goto -37 -> 2400 + // 2440: astore_2 + // 2441: aload_2 + // 2442: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2445: goto -35 -> 2410 + // 2448: astore_2 + // 2449: aload_2 + // 2450: invokevirtual 230 java/lang/Exception:printStackTrace ()V + // 2453: goto -33 -> 2420 + // 2456: aload_1 + // 2457: iconst_0 + // 2458: aload_1 + // 2459: ldc_w 341 + // 2462: invokevirtual 345 java/lang/String:indexOf (Ljava/lang/String;)I + // 2465: invokevirtual 380 java/lang/String:substring (II)Ljava/lang/String; + // 2468: astore_1 + // 2469: goto -1144 -> 1325 + // 2472: astore_1 + // 2473: aconst_null + // 2474: astore 9 + // 2476: aload 27 + // 2478: astore 12 + // 2480: aload 10 + // 2482: astore 11 + // 2484: goto -94 -> 2390 + // 2487: astore_1 + // 2488: aload 10 + // 2490: astore 8 + // 2492: goto -102 -> 2390 + // 2495: astore_1 + // 2496: aload 27 + // 2498: astore 12 + // 2500: aload_2 + // 2501: astore 11 + // 2503: aload 32 + // 2505: astore 9 + // 2507: goto -117 -> 2390 + // 2510: astore_1 + // 2511: aload_3 + // 2512: astore 12 + // 2514: aload_2 + // 2515: astore 11 + // 2517: aload 32 + // 2519: astore 9 + // 2521: goto -131 -> 2390 + // 2524: astore_1 + // 2525: aload 10 + // 2527: astore 12 + // 2529: aload 9 + // 2531: astore 11 + // 2533: aload 8 + // 2535: astore 9 + // 2537: aload_3 + // 2538: astore 8 + // 2540: goto -150 -> 2390 + // 2543: astore_3 + // 2544: aconst_null + // 2545: astore 13 + // 2547: aconst_null + // 2548: astore_2 + // 2549: aload 21 + // 2551: astore 14 + // 2553: aload 25 + // 2555: astore 4 + // 2557: goto -332 -> 2225 + // 2560: astore_3 + // 2561: aconst_null + // 2562: astore_2 + // 2563: aload 21 + // 2565: astore 14 + // 2567: aload 25 + // 2569: astore 4 + // 2571: aload 15 + // 2573: astore 13 + // 2575: goto -350 -> 2225 + // 2578: astore_3 + // 2579: aload_2 + // 2580: astore 4 + // 2582: aconst_null + // 2583: astore_2 + // 2584: aload 21 + // 2586: astore 14 + // 2588: aload 29 + // 2590: astore 13 + // 2592: goto -367 -> 2225 + // 2595: astore 9 + // 2597: aload_3 + // 2598: astore 14 + // 2600: aload_2 + // 2601: astore 4 + // 2603: aconst_null + // 2604: astore_2 + // 2605: aload 9 + // 2607: astore_3 + // 2608: aload 29 + // 2610: astore 13 + // 2612: goto -387 -> 2225 + // 2615: astore 10 + // 2617: aload_3 + // 2618: astore 14 + // 2620: aload_2 + // 2621: astore 9 + // 2623: aload 4 + // 2625: astore_2 + // 2626: aload 10 + // 2628: astore_3 + // 2629: aload 9 + // 2631: astore 4 + // 2633: aload 29 + // 2635: astore 13 + // 2637: goto -412 -> 2225 + // 2640: astore_3 + // 2641: aconst_null + // 2642: astore 13 + // 2644: aconst_null + // 2645: astore_2 + // 2646: aload 20 + // 2648: astore 14 + // 2650: aload 24 + // 2652: astore 4 + // 2654: goto -642 -> 2012 + // 2657: astore_3 + // 2658: aconst_null + // 2659: astore_2 + // 2660: aload 20 + // 2662: astore 14 + // 2664: aload 24 + // 2666: astore 4 + // 2668: aload 16 + // 2670: astore 13 + // 2672: goto -660 -> 2012 + // 2675: astore_3 + // 2676: aload_2 + // 2677: astore 4 + // 2679: aconst_null + // 2680: astore_2 + // 2681: aload 20 + // 2683: astore 14 + // 2685: aload 28 + // 2687: astore 13 + // 2689: goto -677 -> 2012 + // 2692: astore 9 + // 2694: aload_3 + // 2695: astore 14 + // 2697: aload_2 + // 2698: astore 4 + // 2700: aconst_null + // 2701: astore_2 + // 2702: aload 9 + // 2704: astore_3 + // 2705: aload 28 + // 2707: astore 13 + // 2709: goto -697 -> 2012 + // 2712: astore 10 + // 2714: aload_3 + // 2715: astore 14 + // 2717: aload_2 + // 2718: astore 9 + // 2720: aload 4 + // 2722: astore_2 + // 2723: aload 10 + // 2725: astore_3 + // 2726: aload 9 + // 2728: astore 4 + // 2730: aload 28 + // 2732: astore 13 + // 2734: goto -722 -> 2012 + // 2737: astore_3 + // 2738: aconst_null + // 2739: astore 13 + // 2741: aconst_null + // 2742: astore_2 + // 2743: aload 19 + // 2745: astore 14 + // 2747: aload 23 + // 2749: astore 4 + // 2751: goto -952 -> 1799 + // 2754: astore_3 + // 2755: aconst_null + // 2756: astore_2 + // 2757: aload 19 + // 2759: astore 14 + // 2761: aload 23 + // 2763: astore 4 + // 2765: aload 17 + // 2767: astore 13 + // 2769: goto -970 -> 1799 + // 2772: astore_3 + // 2773: aload_2 + // 2774: astore 4 + // 2776: aconst_null + // 2777: astore_2 + // 2778: aload 19 + // 2780: astore 14 + // 2782: aload 26 + // 2784: astore 13 + // 2786: goto -987 -> 1799 + // 2789: astore 9 + // 2791: aload_3 + // 2792: astore 14 + // 2794: aload_2 + // 2795: astore 4 + // 2797: aconst_null + // 2798: astore_2 + // 2799: aload 9 + // 2801: astore_3 + // 2802: aload 26 + // 2804: astore 13 + // 2806: goto -1007 -> 1799 + // 2809: astore 10 + // 2811: aload_3 + // 2812: astore 14 + // 2814: aload_2 + // 2815: astore 9 + // 2817: aload 4 + // 2819: astore_2 + // 2820: aload 10 + // 2822: astore_3 + // 2823: aload 9 + // 2825: astore 4 + // 2827: aload 26 + // 2829: astore 13 + // 2831: goto -1032 -> 1799 + // 2834: astore 4 + // 2836: aconst_null + // 2837: astore_2 + // 2838: aload 18 + // 2840: astore 10 + // 2842: aload 22 + // 2844: astore 9 + // 2846: aload 11 + // 2848: astore 8 + // 2850: aload 12 + // 2852: astore_3 + // 2853: goto -1724 -> 1129 + // 2856: astore 4 + // 2858: aload 8 + // 2860: astore_3 + // 2861: aconst_null + // 2862: astore_2 + // 2863: aload 18 + // 2865: astore 10 + // 2867: aload 22 + // 2869: astore 9 + // 2871: aload 11 + // 2873: astore 8 + // 2875: goto -1746 -> 1129 + // 2878: astore 4 + // 2880: aload 8 + // 2882: astore_3 + // 2883: aconst_null + // 2884: astore_2 + // 2885: aload 18 + // 2887: astore 10 + // 2889: aload 22 + // 2891: astore 9 + // 2893: aload 13 + // 2895: astore 8 + // 2897: goto -1768 -> 1129 + // 2900: astore 4 + // 2902: aconst_null + // 2903: astore 11 + // 2905: aload 8 + // 2907: astore_3 + // 2908: aconst_null + // 2909: astore_2 + // 2910: aload 18 + // 2912: astore 10 + // 2914: aload 22 + // 2916: astore 9 + // 2918: aload 11 + // 2920: astore 8 + // 2922: goto -1793 -> 1129 + // 2925: astore 4 + // 2927: aload_2 + // 2928: astore 9 + // 2930: aconst_null + // 2931: astore 11 + // 2933: aload 8 + // 2935: astore_3 + // 2936: aconst_null + // 2937: astore_2 + // 2938: aload 18 + // 2940: astore 10 + // 2942: aload 11 + // 2944: astore 8 + // 2946: goto -1817 -> 1129 + // 2949: astore 12 + // 2951: aload_3 + // 2952: astore 10 + // 2954: aload_2 + // 2955: astore 9 + // 2957: aconst_null + // 2958: astore 11 + // 2960: aload 8 + // 2962: astore_3 + // 2963: aload 4 + // 2965: astore_2 + // 2966: aload 12 + // 2968: astore 4 + // 2970: aload 11 + // 2972: astore 8 + // 2974: goto -1845 -> 1129 + // 2977: goto -2529 -> 448 + // Local variable table: + // start length slot name signature + // 0 2980 0 this gv + // 0 2980 1 paramString1 String + // 0 2980 2 paramString2 String + // 0 2980 3 paramString3 String + // 0 2980 4 paramArrayOfByte byte[] + // 505 1167 5 j int + // 164 43 6 l long + // 57 2916 8 localObject1 Object + // 244 2292 9 localObject2 Object + // 2595 11 9 localThrowable1 java.lang.Throwable + // 2621 9 9 str1 String + // 2692 11 9 localException1 Exception + // 2718 9 9 str2 String + // 2789 11 9 localIOException1 IOException + // 2815 141 9 localObject3 Object + // 25 2501 10 localObject4 Object + // 2615 12 10 localThrowable2 java.lang.Throwable + // 2712 12 10 localException2 Exception + // 2809 12 10 localIOException2 IOException + // 2840 113 10 localObject5 Object + // 13 2958 11 localObject6 Object + // 10 2841 12 localObject7 Object + // 2949 18 12 localSocketTimeoutException java.net.SocketTimeoutException + // 232 2662 13 localObject8 Object + // 90 2723 14 localObject9 Object + // 252 2320 15 localObject10 Object + // 256 2413 16 localObject11 Object + // 260 2506 17 localObject12 Object + // 49 2890 18 localObject13 Object + // 34 2745 19 localObject14 Object + // 37 2645 20 localObject15 Object + // 40 2545 21 localObject16 Object + // 31 2884 22 localObject17 Object + // 16 2746 23 localObject18 Object + // 19 2646 24 localObject19 Object + // 22 2546 25 localObject20 Object + // 470 2358 26 localObject21 Object + // 43 2454 27 localObject22 Object + // 449 2282 28 localObject23 Object + // 452 2182 29 localObject24 Object + // 28 1669 30 localObject25 Object + // 46 1647 31 localObject26 Object + // 455 2063 32 localObject27 Object + // 458 1243 33 localObject28 Object + // 461 1248 34 localObject29 Object + // 464 1249 35 localObject30 Object + // 467 1250 36 localObject31 Object + // 7 1293 37 localr com.tencent.token.utils.r + // 708 73 38 localStringBuilder java.lang.StringBuilder + // Exception table: + // from to target type + // 1084 1090 1105 java/net/SocketTimeoutException + // 1096 1102 1105 java/net/SocketTimeoutException + // 1339 1349 1105 java/net/SocketTimeoutException + // 1379 1383 1736 java/lang/Exception + // 1387 1391 1744 java/lang/Exception + // 1210 1215 1752 java/lang/Exception + // 1220 1225 1762 java/lang/Exception + // 1230 1235 1772 java/lang/Exception + // 51 59 1782 java/io/IOException + // 1927 1932 1971 java/lang/Exception + // 1937 1942 1979 java/lang/Exception + // 1947 1952 1987 java/lang/Exception + // 51 59 1995 java/lang/Exception + // 2140 2145 2184 java/lang/Exception + // 2150 2155 2192 java/lang/Exception + // 2160 2165 2200 java/lang/Exception + // 51 59 2208 java/lang/Throwable + // 2307 2312 2351 java/lang/Exception + // 2317 2322 2359 java/lang/Exception + // 2327 2332 2367 java/lang/Exception + // 51 59 2375 finally + // 2395 2400 2432 java/lang/Exception + // 2405 2410 2440 java/lang/Exception + // 2415 2420 2448 java/lang/Exception + // 82 89 2472 finally + // 97 214 2472 finally + // 214 234 2472 finally + // 262 268 2487 finally + // 301 308 2487 finally + // 336 347 2487 finally + // 375 382 2487 finally + // 410 415 2487 finally + // 443 448 2487 finally + // 500 507 2487 finally + // 557 564 2487 finally + // 602 646 2487 finally + // 674 710 2487 finally + // 738 749 2487 finally + // 780 793 2487 finally + // 821 833 2487 finally + // 861 873 2487 finally + // 901 907 2487 finally + // 935 945 2487 finally + // 987 994 2487 finally + // 1025 1039 2487 finally + // 1070 1076 2487 finally + // 1455 1487 2487 finally + // 1515 1549 2487 finally + // 1577 1591 2487 finally + // 1619 1630 2487 finally + // 1660 1682 2487 finally + // 1720 1733 2487 finally + // 1815 1819 2487 finally + // 1835 1876 2487 finally + // 1892 1899 2487 finally + // 1915 1922 2487 finally + // 2028 2032 2487 finally + // 2048 2089 2487 finally + // 2105 2112 2487 finally + // 2128 2135 2487 finally + // 2241 2245 2487 finally + // 2261 2302 2487 finally + // 1076 1084 2495 finally + // 1084 1090 2510 finally + // 1096 1102 2510 finally + // 1339 1349 2510 finally + // 1354 1360 2510 finally + // 1360 1372 2510 finally + // 1412 1420 2510 finally + // 1129 1205 2524 finally + // 82 89 2543 java/lang/Throwable + // 97 214 2543 java/lang/Throwable + // 214 234 2543 java/lang/Throwable + // 262 268 2560 java/lang/Throwable + // 301 308 2560 java/lang/Throwable + // 336 347 2560 java/lang/Throwable + // 375 382 2560 java/lang/Throwable + // 410 415 2560 java/lang/Throwable + // 443 448 2560 java/lang/Throwable + // 500 507 2560 java/lang/Throwable + // 557 564 2560 java/lang/Throwable + // 602 646 2560 java/lang/Throwable + // 674 710 2560 java/lang/Throwable + // 738 749 2560 java/lang/Throwable + // 780 793 2560 java/lang/Throwable + // 821 833 2560 java/lang/Throwable + // 861 873 2560 java/lang/Throwable + // 901 907 2560 java/lang/Throwable + // 935 945 2560 java/lang/Throwable + // 987 994 2560 java/lang/Throwable + // 1025 1039 2560 java/lang/Throwable + // 1070 1076 2560 java/lang/Throwable + // 1455 1487 2560 java/lang/Throwable + // 1515 1549 2560 java/lang/Throwable + // 1577 1591 2560 java/lang/Throwable + // 1619 1630 2560 java/lang/Throwable + // 1660 1682 2560 java/lang/Throwable + // 1720 1733 2560 java/lang/Throwable + // 1076 1084 2578 java/lang/Throwable + // 1084 1090 2595 java/lang/Throwable + // 1096 1102 2595 java/lang/Throwable + // 1339 1349 2595 java/lang/Throwable + // 1354 1360 2615 java/lang/Throwable + // 1360 1372 2615 java/lang/Throwable + // 1412 1420 2615 java/lang/Throwable + // 82 89 2640 java/lang/Exception + // 97 214 2640 java/lang/Exception + // 214 234 2640 java/lang/Exception + // 262 268 2657 java/lang/Exception + // 301 308 2657 java/lang/Exception + // 336 347 2657 java/lang/Exception + // 375 382 2657 java/lang/Exception + // 410 415 2657 java/lang/Exception + // 443 448 2657 java/lang/Exception + // 500 507 2657 java/lang/Exception + // 557 564 2657 java/lang/Exception + // 602 646 2657 java/lang/Exception + // 674 710 2657 java/lang/Exception + // 738 749 2657 java/lang/Exception + // 780 793 2657 java/lang/Exception + // 821 833 2657 java/lang/Exception + // 861 873 2657 java/lang/Exception + // 901 907 2657 java/lang/Exception + // 935 945 2657 java/lang/Exception + // 987 994 2657 java/lang/Exception + // 1025 1039 2657 java/lang/Exception + // 1070 1076 2657 java/lang/Exception + // 1455 1487 2657 java/lang/Exception + // 1515 1549 2657 java/lang/Exception + // 1577 1591 2657 java/lang/Exception + // 1619 1630 2657 java/lang/Exception + // 1660 1682 2657 java/lang/Exception + // 1720 1733 2657 java/lang/Exception + // 1076 1084 2675 java/lang/Exception + // 1084 1090 2692 java/lang/Exception + // 1096 1102 2692 java/lang/Exception + // 1339 1349 2692 java/lang/Exception + // 1354 1360 2712 java/lang/Exception + // 1360 1372 2712 java/lang/Exception + // 1412 1420 2712 java/lang/Exception + // 82 89 2737 java/io/IOException + // 97 214 2737 java/io/IOException + // 214 234 2737 java/io/IOException + // 262 268 2754 java/io/IOException + // 301 308 2754 java/io/IOException + // 336 347 2754 java/io/IOException + // 375 382 2754 java/io/IOException + // 410 415 2754 java/io/IOException + // 443 448 2754 java/io/IOException + // 500 507 2754 java/io/IOException + // 557 564 2754 java/io/IOException + // 602 646 2754 java/io/IOException + // 674 710 2754 java/io/IOException + // 738 749 2754 java/io/IOException + // 780 793 2754 java/io/IOException + // 821 833 2754 java/io/IOException + // 861 873 2754 java/io/IOException + // 901 907 2754 java/io/IOException + // 935 945 2754 java/io/IOException + // 987 994 2754 java/io/IOException + // 1025 1039 2754 java/io/IOException + // 1070 1076 2754 java/io/IOException + // 1455 1487 2754 java/io/IOException + // 1515 1549 2754 java/io/IOException + // 1577 1591 2754 java/io/IOException + // 1619 1630 2754 java/io/IOException + // 1660 1682 2754 java/io/IOException + // 1720 1733 2754 java/io/IOException + // 1076 1084 2772 java/io/IOException + // 1084 1090 2789 java/io/IOException + // 1096 1102 2789 java/io/IOException + // 1339 1349 2789 java/io/IOException + // 1354 1360 2809 java/io/IOException + // 1360 1372 2809 java/io/IOException + // 1412 1420 2809 java/io/IOException + // 51 59 2834 java/net/SocketTimeoutException + // 82 89 2856 java/net/SocketTimeoutException + // 97 214 2856 java/net/SocketTimeoutException + // 214 234 2856 java/net/SocketTimeoutException + // 262 268 2878 java/net/SocketTimeoutException + // 301 308 2878 java/net/SocketTimeoutException + // 336 347 2878 java/net/SocketTimeoutException + // 375 382 2878 java/net/SocketTimeoutException + // 410 415 2878 java/net/SocketTimeoutException + // 443 448 2878 java/net/SocketTimeoutException + // 500 507 2900 java/net/SocketTimeoutException + // 557 564 2900 java/net/SocketTimeoutException + // 602 646 2900 java/net/SocketTimeoutException + // 674 710 2900 java/net/SocketTimeoutException + // 738 749 2900 java/net/SocketTimeoutException + // 780 793 2900 java/net/SocketTimeoutException + // 821 833 2900 java/net/SocketTimeoutException + // 861 873 2900 java/net/SocketTimeoutException + // 901 907 2900 java/net/SocketTimeoutException + // 935 945 2900 java/net/SocketTimeoutException + // 987 994 2900 java/net/SocketTimeoutException + // 1025 1039 2900 java/net/SocketTimeoutException + // 1070 1076 2900 java/net/SocketTimeoutException + // 1455 1487 2900 java/net/SocketTimeoutException + // 1515 1549 2900 java/net/SocketTimeoutException + // 1577 1591 2900 java/net/SocketTimeoutException + // 1619 1630 2900 java/net/SocketTimeoutException + // 1660 1682 2900 java/net/SocketTimeoutException + // 1720 1733 2900 java/net/SocketTimeoutException + // 1076 1084 2925 java/net/SocketTimeoutException + // 1354 1360 2949 java/net/SocketTimeoutException + // 1360 1372 2949 java/net/SocketTimeoutException + // 1412 1420 2949 java/net/SocketTimeoutException + } + + public final d a() + { + return this.a; + } + + public final byte[] a(String paramString) + { + int j = 0; + byte[] arrayOfByte = null; + for (;;) + { + if (j < 2) + { + arrayOfByte = a(paramString, "GET", null, null); + if (arrayOfByte == null) {} + } + else + { + return arrayOfByte; + } + j += 1; + } + } + + public final byte[] a(String paramString, ContentValues paramContentValues) + { + paramContentValues = paramContentValues.valueSet(); + if (paramContentValues.size() > 0) + { + Iterator localIterator = paramContentValues.iterator(); + paramContentValues = ""; + for (String str = "";; str = "&") + { + localObject = paramContentValues; + if (!localIterator.hasNext()) { + break; + } + localObject = (Map.Entry)localIterator.next(); + paramContentValues = paramContentValues + str + (String)((Map.Entry)localObject).getKey() + "=" + ((Map.Entry)localObject).getValue(); + } + } + Object localObject = null; + return a(paramString, "POST", (String)localObject, null); + } + + public final byte[] a(String paramString1, File paramFile, ContentValues paramContentValues, String paramString2) + { + StringBuffer localStringBuffer = new StringBuffer(); + paramContentValues = paramContentValues.valueSet(); + if (paramContentValues.size() > 0) + { + paramContentValues = paramContentValues.iterator(); + while (paramContentValues.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramContentValues.next(); + localStringBuffer.append("--"); + localStringBuffer.append("-----------------------x10d15y03m09d0"); + localStringBuffer.append("\r\n"); + localStringBuffer.append("Content-Disposition: form-data; name=\""); + localStringBuffer.append((String)localEntry.getKey()); + localStringBuffer.append("\"\r\n\r\n"); + localStringBuffer.append(localEntry.getValue()); + localStringBuffer.append("\r\n"); + } + } + localStringBuffer.append("--"); + localStringBuffer.append("-----------------------x10d15y03m09d0"); + localStringBuffer.append("\r\n"); + localStringBuffer.append("Content-Disposition: form-data; name=\""); + localStringBuffer.append("log_file"); + localStringBuffer.append("\"; filename=\""); + localStringBuffer.append(paramString2); + localStringBuffer.append("\"\r\n"); + localStringBuffer.append("Content-Type: application/octet-stream\r\n\r\n"); + e.c("testlogfile:" + localStringBuffer); + return a(paramString1, "POST", localStringBuffer.toString(), paramFile); + } + + public final byte[] a(String paramString1, byte[] paramArrayOfByte, ContentValues paramContentValues, String paramString2) + { + StringBuffer localStringBuffer = new StringBuffer(); + paramContentValues = paramContentValues.valueSet(); + if (paramContentValues.size() > 0) + { + paramContentValues = paramContentValues.iterator(); + while (paramContentValues.hasNext()) + { + Map.Entry localEntry = (Map.Entry)paramContentValues.next(); + localStringBuffer.append("--"); + localStringBuffer.append("-----------------------x10d15y03m09d0"); + localStringBuffer.append("\r\n"); + localStringBuffer.append("Content-Disposition: form-data; name=\""); + localStringBuffer.append((String)localEntry.getKey()); + localStringBuffer.append("\"\r\n\r\n"); + localStringBuffer.append(localEntry.getValue()); + localStringBuffer.append("\r\n"); + } + } + localStringBuffer.append("--"); + localStringBuffer.append("-----------------------x10d15y03m09d0"); + localStringBuffer.append("\r\n"); + localStringBuffer.append("Content-Disposition: form-data; name=\""); + localStringBuffer.append("data_file"); + localStringBuffer.append("\"; filename=\""); + localStringBuffer.append(paramString2); + localStringBuffer.append("\"\r\n"); + localStringBuffer.append("Content-Type: application/octet-stream\r\n\r\n"); + e.c("requestUploadFileEnc:" + localStringBuffer); + return a(paramString1, "POST", localStringBuffer.toString(), paramArrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.gv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/h.java b/com.tencent.token/classes.jar/com/tencent/token/h.java new file mode 100755 index 00000000000..5a40855ac00 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/h.java @@ -0,0 +1,58 @@ +package com.tencent.token; + +import android.content.Context; +import android.hardware.SensorManager; +import android.provider.Settings.Secure; +import android.telephony.TelephonyManager; + +public final class h + extends i +{ + private String a; + private Context b = null; + private String c = ""; + private SensorManager d = null; + private int e = 0; + + public h(Context paramContext) + { + this.b = paramContext; + this.e = new c(paramContext).f(); + this.a = "sensor"; + this.c = (Long.toString(620365L, 16) + Long.toString(355688L, 16) + Long.toString(3036316L, 16)); + } + + public final String a() + { + try + { + String str = ((TelephonyManager)this.b.getSystemService("phone")).getDeviceId(); + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } + + public final String b() + { + try + { + String str = Settings.Secure.getString(this.b.getContentResolver(), "android_id"); + return str; + } + catch (Throwable localThrowable) + { + a(localThrowable); + } + return ""; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/i.java b/com.tencent.token/classes.jar/com/tencent/token/i.java new file mode 100755 index 00000000000..1d47ee819c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/i.java @@ -0,0 +1,84 @@ +package com.tencent.token; + +public class i +{ + private String a = ""; + + public i() + { + a(); + } + + private void a() + { + try + { + this.a = ""; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + protected final void a(Exception paramException) + { + try + { + this.a = (this.a + paramException.getMessage() + ":"); + paramException = paramException.getStackTrace(); + if (paramException.length != 0) + { + paramException = paramException[0]; + this.a = (this.a + paramException.getClassName() + "." + paramException.getMethodName() + "\n"); + } + return; + } + finally {} + } + + protected final void a(Throwable paramThrowable) + { + try + { + this.a = (this.a + paramThrowable.getMessage() + ":"); + paramThrowable = paramThrowable.getStackTrace(); + if (paramThrowable.length != 0) + { + paramThrowable = paramThrowable[0]; + this.a = (this.a + paramThrowable.getClassName() + "." + paramThrowable.getMethodName() + "\n"); + } + return; + } + finally {} + } + + protected final void e(String paramString) + { + try + { + if (paramString.length() > 0) { + this.a = (this.a + paramString + "\n"); + } + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + protected final String s() + { + return this.a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/j.java b/com.tencent.token/classes.jar/com/tencent/token/j.java new file mode 100755 index 00000000000..e016827965f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/j.java @@ -0,0 +1,296 @@ +package com.tencent.token; + +public final class j + extends i +{ + private byte[] a = null; + private byte[] b = null; + + private static byte[] a(byte[] paramArrayOfByte) + { + int i = 0; + for (;;) + { + if (i >= paramArrayOfByte.length) { + return paramArrayOfByte; + } + paramArrayOfByte[i] = ((byte)(paramArrayOfByte[i] ^ 0xFF)); + i += 1; + } + } + + /* Error */ + public final byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + // Byte code: + // 0: aconst_null + // 1: astore 7 + // 3: new 24 java/io/ByteArrayOutputStream + // 6: dup + // 7: invokespecial 25 java/io/ByteArrayOutputStream: ()V + // 10: astore_3 + // 11: new 27 java/io/DataOutputStream + // 14: dup + // 15: aload_3 + // 16: invokespecial 30 java/io/DataOutputStream: (Ljava/io/OutputStream;)V + // 19: astore 6 + // 21: aload_1 + // 22: ifnull +87 -> 109 + // 25: aload 6 + // 27: astore 5 + // 29: aload_3 + // 30: astore 4 + // 32: aload 6 + // 34: aload_1 + // 35: arraylength + // 36: invokevirtual 34 java/io/DataOutputStream:writeInt (I)V + // 39: aload 6 + // 41: astore 5 + // 43: aload_3 + // 44: astore 4 + // 46: aload 6 + // 48: aload_1 + // 49: invokevirtual 38 java/io/DataOutputStream:write ([B)V + // 52: aload_2 + // 53: ifnull +116 -> 169 + // 56: aload 6 + // 58: astore 5 + // 60: aload_3 + // 61: astore 4 + // 63: aload 6 + // 65: aload_2 + // 66: arraylength + // 67: invokevirtual 34 java/io/DataOutputStream:writeInt (I)V + // 70: aload 6 + // 72: astore 5 + // 74: aload_3 + // 75: astore 4 + // 77: aload 6 + // 79: aload_2 + // 80: invokevirtual 38 java/io/DataOutputStream:write ([B)V + // 83: aload 6 + // 85: astore 5 + // 87: aload_3 + // 88: astore 4 + // 90: aload_3 + // 91: invokevirtual 42 java/io/ByteArrayOutputStream:toByteArray ()[B + // 94: invokestatic 44 com/tencent/token/j:a ([B)[B + // 97: astore_1 + // 98: aload 6 + // 100: invokevirtual 47 java/io/DataOutputStream:close ()V + // 103: aload_3 + // 104: invokevirtual 48 java/io/ByteArrayOutputStream:close ()V + // 107: aload_1 + // 108: areturn + // 109: aload 6 + // 111: astore 5 + // 113: aload_3 + // 114: astore 4 + // 116: aload 6 + // 118: iconst_0 + // 119: invokevirtual 34 java/io/DataOutputStream:writeInt (I)V + // 122: goto -70 -> 52 + // 125: astore_2 + // 126: aload 6 + // 128: astore_1 + // 129: aload_1 + // 130: astore 5 + // 132: aload_3 + // 133: astore 4 + // 135: aload_0 + // 136: aload_2 + // 137: invokevirtual 51 com/tencent/token/j:a (Ljava/lang/Exception;)V + // 140: aload_1 + // 141: ifnull +7 -> 148 + // 144: aload_1 + // 145: invokevirtual 47 java/io/DataOutputStream:close ()V + // 148: aload 7 + // 150: astore_1 + // 151: aload_3 + // 152: ifnull -45 -> 107 + // 155: aload_3 + // 156: invokevirtual 48 java/io/ByteArrayOutputStream:close ()V + // 159: aconst_null + // 160: areturn + // 161: astore_1 + // 162: aload_0 + // 163: aload_1 + // 164: invokevirtual 51 com/tencent/token/j:a (Ljava/lang/Exception;)V + // 167: aconst_null + // 168: areturn + // 169: aload 6 + // 171: astore 5 + // 173: aload_3 + // 174: astore 4 + // 176: aload 6 + // 178: iconst_0 + // 179: invokevirtual 34 java/io/DataOutputStream:writeInt (I)V + // 182: goto -99 -> 83 + // 185: astore_2 + // 186: aload 6 + // 188: astore_1 + // 189: aload_1 + // 190: astore 5 + // 192: aload_3 + // 193: astore 4 + // 195: aload_0 + // 196: aload_2 + // 197: invokevirtual 54 com/tencent/token/j:a (Ljava/lang/Throwable;)V + // 200: aload_1 + // 201: ifnull +7 -> 208 + // 204: aload_1 + // 205: invokevirtual 47 java/io/DataOutputStream:close ()V + // 208: aload 7 + // 210: astore_1 + // 211: aload_3 + // 212: ifnull -105 -> 107 + // 215: aload_3 + // 216: invokevirtual 48 java/io/ByteArrayOutputStream:close ()V + // 219: aconst_null + // 220: areturn + // 221: astore_1 + // 222: aload_0 + // 223: aload_1 + // 224: invokevirtual 51 com/tencent/token/j:a (Ljava/lang/Exception;)V + // 227: aconst_null + // 228: areturn + // 229: astore_1 + // 230: aload_0 + // 231: aload_1 + // 232: invokevirtual 54 com/tencent/token/j:a (Ljava/lang/Throwable;)V + // 235: aconst_null + // 236: areturn + // 237: astore_1 + // 238: aload_0 + // 239: aload_1 + // 240: invokevirtual 54 com/tencent/token/j:a (Ljava/lang/Throwable;)V + // 243: aconst_null + // 244: areturn + // 245: astore_1 + // 246: aconst_null + // 247: astore 5 + // 249: aconst_null + // 250: astore_3 + // 251: aload 5 + // 253: ifnull +8 -> 261 + // 256: aload 5 + // 258: invokevirtual 47 java/io/DataOutputStream:close ()V + // 261: aload_3 + // 262: ifnull +7 -> 269 + // 265: aload_3 + // 266: invokevirtual 48 java/io/ByteArrayOutputStream:close ()V + // 269: aload_1 + // 270: athrow + // 271: astore_2 + // 272: aload_0 + // 273: aload_2 + // 274: invokevirtual 51 com/tencent/token/j:a (Ljava/lang/Exception;)V + // 277: goto -8 -> 269 + // 280: astore_2 + // 281: aload_0 + // 282: aload_2 + // 283: invokevirtual 54 com/tencent/token/j:a (Ljava/lang/Throwable;)V + // 286: goto -17 -> 269 + // 289: astore_2 + // 290: aload_0 + // 291: aload_2 + // 292: invokevirtual 51 com/tencent/token/j:a (Ljava/lang/Exception;)V + // 295: aload_1 + // 296: areturn + // 297: astore_2 + // 298: aload_0 + // 299: aload_2 + // 300: invokevirtual 54 com/tencent/token/j:a (Ljava/lang/Throwable;)V + // 303: aload_1 + // 304: areturn + // 305: astore_1 + // 306: aconst_null + // 307: astore 5 + // 309: goto -58 -> 251 + // 312: astore_1 + // 313: aload 4 + // 315: astore_3 + // 316: goto -65 -> 251 + // 319: astore_2 + // 320: aconst_null + // 321: astore_1 + // 322: aconst_null + // 323: astore_3 + // 324: goto -135 -> 189 + // 327: astore_2 + // 328: aconst_null + // 329: astore_1 + // 330: goto -141 -> 189 + // 333: astore_2 + // 334: aconst_null + // 335: astore_1 + // 336: aconst_null + // 337: astore_3 + // 338: goto -209 -> 129 + // 341: astore_2 + // 342: aconst_null + // 343: astore_1 + // 344: goto -215 -> 129 + // Local variable table: + // start length slot name signature + // 0 347 0 this j + // 0 347 1 paramArrayOfByte1 byte[] + // 0 347 2 paramArrayOfByte2 byte[] + // 10 328 3 localObject1 java.lang.Object + // 30 284 4 localObject2 java.lang.Object + // 27 281 5 localObject3 java.lang.Object + // 19 168 6 localDataOutputStream java.io.DataOutputStream + // 1 208 7 localObject4 java.lang.Object + // Exception table: + // from to target type + // 32 39 125 java/lang/Exception + // 46 52 125 java/lang/Exception + // 63 70 125 java/lang/Exception + // 77 83 125 java/lang/Exception + // 90 98 125 java/lang/Exception + // 116 122 125 java/lang/Exception + // 176 182 125 java/lang/Exception + // 144 148 161 java/lang/Exception + // 155 159 161 java/lang/Exception + // 32 39 185 java/lang/Throwable + // 46 52 185 java/lang/Throwable + // 63 70 185 java/lang/Throwable + // 77 83 185 java/lang/Throwable + // 90 98 185 java/lang/Throwable + // 116 122 185 java/lang/Throwable + // 176 182 185 java/lang/Throwable + // 204 208 221 java/lang/Exception + // 215 219 221 java/lang/Exception + // 144 148 229 java/lang/Throwable + // 155 159 229 java/lang/Throwable + // 204 208 237 java/lang/Throwable + // 215 219 237 java/lang/Throwable + // 3 11 245 finally + // 256 261 271 java/lang/Exception + // 265 269 271 java/lang/Exception + // 256 261 280 java/lang/Throwable + // 265 269 280 java/lang/Throwable + // 98 107 289 java/lang/Exception + // 98 107 297 java/lang/Throwable + // 11 21 305 finally + // 32 39 312 finally + // 46 52 312 finally + // 63 70 312 finally + // 77 83 312 finally + // 90 98 312 finally + // 116 122 312 finally + // 135 140 312 finally + // 176 182 312 finally + // 195 200 312 finally + // 3 11 319 java/lang/Throwable + // 11 21 327 java/lang/Throwable + // 3 11 333 java/lang/Exception + // 11 21 341 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/k.java b/com.tencent.token/classes.jar/com/tencent/token/k.java new file mode 100755 index 00000000000..a3fdf534769 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/k.java @@ -0,0 +1,377 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Iterator; +import java.util.List; + +public final class k + extends i +{ + static SharedPreferences a = null; + static Context b = null; + static int[] c; + static String d = ""; + static String[] e = { "Year", "Month", "Date" }; + public String A = ""; + private long B = 0L; + private List C = null; + public String f = ""; + public String g = ""; + public String h = ""; + public String i = ""; + public String j = ""; + public String k = ""; + public String l = ""; + public int m = 0; + public String n = ""; + public int o = 0; + public String p = ""; + public String q = ""; + public String r = ""; + public String s = ""; + public String t = ""; + public String u = ""; + public String v = ""; + public String w = ""; + public String x = ""; + public String y = ""; + public String z = ""; + + static + { + c = new int[3]; + int i1 = 0; + for (;;) + { + if (i1 >= c.length) { + return; + } + c[i1] = 0; + i1 += 1; + } + } + + public static void a(Context paramContext, String paramString) + { + if ((b != null) && (b.equals(paramContext))) { + return; + } + String str; + if (paramString != null) + { + str = paramString; + if (paramString.length() != 0) {} + } + else + { + str = "preferences"; + } + d = str; + b = paramContext; + a = paramContext.getSharedPreferences(d, 0); + paramContext = c; + int i2 = paramContext.length; + int i1 = 0; + for (;;) + { + if (i1 >= i2) {} + for (i1 = 0; i1 == 0; i1 = 1) + { + c[0] = a.getInt(e[0], 0); + c[1] = a.getInt(e[1], 0); + c[2] = a.getInt(e[2], 0); + return; + if (paramContext[i1] == 0) { + break label144; + } + } + break; + label144: + i1 += 1; + } + } + + public static String b() + { + boolean bool = true; + SharedPreferences localSharedPreferences = b.getSharedPreferences("token_save_info", 0); + if (localSharedPreferences != null) { + bool = localSharedPreferences.getBoolean("token_status", true); + } + if (bool) { + return "1"; + } + return "0"; + } + + public static void c() + { + Object localObject = Calendar.getInstance(); + c[0] = ((Calendar)localObject).get(1); + c[1] = (((Calendar)localObject).get(2) + 1); + c[2] = ((Calendar)localObject).get(5); + localObject = b.getSharedPreferences(d, 0); + a = (SharedPreferences)localObject; + localObject = ((SharedPreferences)localObject).edit(); + ((SharedPreferences.Editor)localObject).putInt(e[0], c[0]); + ((SharedPreferences.Editor)localObject).putInt(e[1], c[1]); + ((SharedPreferences.Editor)localObject).putInt(e[2], c[2]); + ((SharedPreferences.Editor)localObject).commit(); + } + + public static boolean d() + { + Calendar localCalendar = Calendar.getInstance(); + return (c[2] == localCalendar.get(5)) && (c[1] == localCalendar.get(2) + 1) && (c[0] == localCalendar.get(1)); + } + + public final void a(String paramString) + { + if (this.C == null) { + this.C = new ArrayList(); + } + String str = paramString; + if (paramString == null) { + str = ""; + } + this.C.add(str); + } + + public final byte[] a() + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream); + localDataOutputStream.writeInt(4); + localDataOutputStream.writeLong(this.B); + if (this.C == null) { + this.C = new ArrayList(); + } + localDataOutputStream.writeInt(this.C.size()); + Object localObject1 = this.C.iterator(); + for (;;) + { + if (!((Iterator)localObject1).hasNext()) + { + Object localObject2 = this.f; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.g; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.h; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.i; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.j; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.k; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.l; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localDataOutputStream.writeInt(this.m); + localObject2 = this.n; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localDataOutputStream.writeInt(this.o); + localObject2 = this.p; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.q; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.r; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.s; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 42) { + localObject2 = ((String)localObject1).substring(0, 42); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.t; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.u; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.v; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 54) { + localObject2 = ((String)localObject1).substring(0, 54); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.w; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.x; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.y; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 32) { + localObject2 = ((String)localObject1).substring(0, 32); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.z; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 12) { + localObject2 = ((String)localObject1).substring(0, 12); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject2 = this.A; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + localObject2 = localObject1; + if (((String)localObject1).length() > 12) { + localObject2 = ((String)localObject1).substring(0, 12); + } + localDataOutputStream.writeUTF((String)localObject2); + localObject1 = localByteArrayOutputStream.toByteArray(); + localDataOutputStream.close(); + localByteArrayOutputStream.close(); + return localObject1; + } + localDataOutputStream.writeUTF((String)((Iterator)localObject1).next()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/l.java b/com.tencent.token/classes.jar/com/tencent/token/l.java new file mode 100755 index 00000000000..c5694cdcd33 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/l.java @@ -0,0 +1,9 @@ +package com.tencent.token; + +public final class l {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/m.java b/com.tencent.token/classes.jar/com/tencent/token/m.java new file mode 100755 index 00000000000..782bf1d38c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/m.java @@ -0,0 +1,13 @@ +package com.tencent.token; + +public final class m +{ + public static final int[] a = { 2130771968 }; + public static final int[] b = { 2130771969, 2130771970, 2130771971, 2130771972, 2130771973, 2130771974, 2130771975 }; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/n.java b/com.tencent.token/classes.jar/com/tencent/token/n.java new file mode 100755 index 00000000000..98811a58562 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/n.java @@ -0,0 +1,50 @@ +package com.tencent.token; + +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.a; +import org.json.JSONException; +import org.json.JSONObject; + +public class n +{ + protected static String a(byte[] paramArrayOfByte, String... paramVarArgs) + { + if (paramVarArgs.length % 2 != 0) + { + e.c("params count % 2 should be 0"); + return null; + } + try + { + JSONObject localJSONObject = new JSONObject(); + int i = 0; + while (i < paramVarArgs.length) + { + localJSONObject.put(paramVarArgs[i], paramVarArgs[(i + 1)]); + i += 2; + } + paramVarArgs = localJSONObject.toString(); + e.a("palin: " + paramVarArgs); + paramVarArgs = paramVarArgs.getBytes(); + paramArrayOfByte = new a().b(paramVarArgs, paramArrayOfByte); + if (paramArrayOfByte == null) + { + e.c("encrypt pwd failed"); + return null; + } + } + catch (JSONException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + paramArrayOfByte = ap.a(paramArrayOfByte); + return paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/o.java b/com.tencent.token/classes.jar/com/tencent/token/o.java new file mode 100755 index 00000000000..adb9a42c7c8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/o.java @@ -0,0 +1,26 @@ +package com.tencent.token; + +public final class o +{ + static o a = null; + public String[] b = { "其他", "北京市", "天津市", "河北省", "山西省", "内蒙古", "江苏省", "安徽省", "山东省", "辽宁省", "吉林省", "黑龙江省", "上海市", "浙江省", "江西省", "福建省", "湖北省", "湖南省", "河南省", "广东省", "广西省", "海南省", "重庆市", "四川省", "贵州省", "云南省", "西藏", "陕西省", "甘肃省", "宁夏", "青海省", "新疆", "香港", "澳门", "台湾省" }; + public String[] c = { "阿坝州", "阿克苏地区", "阿拉尔市", "阿拉善盟", "阿勒泰地区", "阿里地区", "安康市", "安庆市", "安顺市", "安阳市", "鞍山市", "澳门", "巴彦淖尔市", "巴音郭楞州", "巴中市", "白城市", "白沙黎族自治县", "白山市", "白银市", "百色市", "蚌埠市", "包头市", "宝鸡市", "保定市", "保山市", "保亭黎族苗族自治县", "北海市", "北京市", "本溪市", "毕节地区", "滨州市", "亳州市", "博尔塔拉州", "沧州市", "昌都地区", "昌吉州", "昌江黎族自治县", "长春市", "常德市", "长沙市", "长治市", "常州市", "巢湖市", "朝阳市", "潮州市", "重庆市", "郴州市", "成都市", "承德市", "澄迈县", "池州市", "赤峰市", "崇左市", "滁州市", "楚雄州", "达州市", "大理州", "大连市", "大庆市", "大同市", "大兴安岭地区", "丹东市", "儋州市", "德宏州", "德阳市", "德州市", "迪庆州", "定安县", "定西市", "东方市", "东莞市", "东营市", "鄂尔多斯市", "鄂州市", "恩施州", "防城港市", "佛山市", "福州市", "抚顺市", "抚州市", "阜新市", "阜阳市", "甘南州", "甘孜州", "赣州市", "高雄", "固原市", "广安市", "广元市", "广州市", "贵港市", "贵阳市", "桂林市", "果洛州", "哈尔滨市", "哈密地区", "海北州", "海东地区", "海口市", "海南州", "海西州", "邯郸市", "汉中市", "杭州市", "合肥市", "和田地区", "河池市", "河源市", "菏泽市", "贺州市", "鹤壁市", "鹤岗市", "黑河市", "衡水市", "衡阳市", "红河州", "呼和浩特市", "呼伦贝尔市", "湖州市", "葫芦岛市", "花莲", "怀化市", "淮安市", "淮北市", "淮南市", "黄冈市", "黄南州", "黄山市", "黄石市", "惠州市", "鸡西市", "基隆", "吉安市", "吉林市", "济南市", "济宁市", "济源市", "佳木斯市", "嘉兴市", "嘉义", "嘉峪关市", "江门市", "焦作市", "揭阳市", "金昌市", "金华市", "金门", "锦州市", "晋城市", "晋中市", "荆门市", "荆州市", "景德镇市", "九江市", "酒泉市", "喀什地区", "开封市", "克拉玛依市", "克孜勒苏柯州", "昆明市", "拉萨市", "来宾市", "莱芜市", "兰州市", "廊坊市", "乐东黎族自治县", "乐山市", "丽江市", "丽水市", "连江", "连云港市", "凉山州", "辽阳市", "辽源市", "聊城市", "林芝地区", "临沧市", "临汾市", "临高县", "临夏州", "临沂市", "陵水黎族自治县", "柳州市", "六安市", "六盘水市", "龙岩市", "陇南市", "娄底市", "泸州市", "吕梁市", "洛阳市", "漯河市", "马鞍山市", "茂名市", "眉山市", "梅州市", "绵阳市", "苗栗", "牡丹江市", "那曲地区", "南昌市", "南充市", "南京市", "南宁市", "南平市", "南通市", "南投", "南阳市", "内江市", "宁波市", "宁德市", "怒江州", "攀枝花市", "盘锦市", "澎湖", "平顶山市", "平凉市", "屏东", "萍乡市", "莆田市", "濮阳市", "七台河市", "齐齐哈尔市", "潜江市", "黔东南州", "黔南州", "黔西南州", "钦州市", "秦皇岛市", "青岛市", "清远市", "庆阳市", "琼海市", "琼中黎族苗族自治县", "曲靖市", "衢州市", "泉州市", "日喀则地区", "日照市", "三门峡市", "三明市", "三亚市", "山南地区", "汕头市", "汕尾市", "商洛市", "商丘市", "上海市", "上饶市", "韶关市", "邵阳市", "绍兴市", "沈阳市", "深圳市", "神农架林区", "十堰市", "石河子市", "石家庄市", "石嘴山市", "双鸭山市", "朔州市", "思茅市", "四平市", "松原市", "苏州市", "宿迁市", "宿州市", "绥化市", "随州市", "遂宁市", "塔城地区", "台北", "台东", "台南", "台中", "台州市", "太原市", "泰安市", "泰州市", "唐山市", "桃园", "天津市", "天门市", "天水市", "铁岭市", "通化市", "通辽市", "铜川市", "铜陵市", "铜仁地区", "图木舒克市", "吐鲁番地区", "屯昌县", "万宁市", "威海市", "潍坊市", "渭南市", "温州市", "文昌市", "文山州", "乌海市", "乌兰察布市", "乌鲁木齐市", "无锡市", "吴忠市", "芜湖市", "梧州市", "五家渠市", "五指山市", "武汉市", "武威市", "锡林郭勒盟", "西安市", "西宁市", "西双版纳州", "厦门市", "咸宁市", "咸阳市", "仙桃市", "香港", "湘潭市", "湘西州", "襄樊市", "孝感市", "忻州市", "新乡市", "新余市", "新竹", "信阳市", "邢台市", "兴安盟", "徐州市", "许昌市", "宣城市", "雅安市", "烟台市", "延安市", "延边州", "盐城市", "扬州市", "阳江市", "阳泉市", "伊春市", "伊犁州", "益阳市", "宜宾市", "宜昌市", "宜春市", "宜兰", "银川市", "鹰潭市", "营口市", "永州市", "榆林市", "玉林市", "玉树州", "玉溪市", "岳阳市", "云浮市", "云林", "运城市", "枣庄市", "湛江市", "张家界市", "张家口市", "张掖市", "彰化", "漳州市", "昭通市", "肇庆市", "镇江市", "郑州市", "中山市", "中卫市", "舟山市", "周口市", "株洲市", "珠海市", "驻马店市", "资阳市", "淄博市", "自贡市", "遵义市" }; + public int[] d = { 294, 371, 381, 33, 379, 327, 337, 55, 300, 187, 84, 407, 30, 374, 292, 103, 245, 101, 341, 228, 50, 24, 331, 6, 309, 249, 223, 403, 86, 302, 80, 62, 376, 9, 324, 375, 246, 96, 172, 166, 15, 38, 60, 94, 216, 0, 175, 276, 8, 241, 63, 26, 232, 57, 317, 289, 318, 83, 110, 13, 117, 87, 237, 319, 280, 78, 321, 242, 349, 240, 207, 69, 28, 156, 161, 224, 210, 140, 85, 138, 90, 58, 352, 295, 135, 385, 356, 288, 282, 198, 226, 297, 221, 363, 105, 369, 360, 359, 233, 362, 365, 4, 335, 118, 48, 370, 230, 203, 81, 229, 185, 108, 115, 11, 169, 315, 23, 29, 122, 95, 387, 177, 42, 53, 51, 158, 361, 56, 150, 205, 107, 388, 136, 97, 65, 73, 197, 113, 121, 389, 343, 209, 184, 217, 340, 124, 390, 88, 16, 18, 155, 153, 130, 132, 347, 372, 181, 367, 373, 306, 322, 231, 76, 339, 10, 247, 285, 311, 128, 391, 41, 296, 91, 99, 79, 328, 313, 21, 244, 351, 77, 248, 220, 61, 298, 147, 350, 178, 279, 22, 182, 190, 52, 213, 290, 204, 281, 392, 112, 323, 129, 286, 35, 219, 146, 40, 393, 192, 284, 119, 148, 320, 278, 92, 394, 183, 346, 395, 131, 142, 188, 114, 106, 164, 304, 305, 303, 225, 3, 66, 215, 348, 236, 250, 307, 125, 144, 326, 75, 191, 143, 234, 325, 201, 206, 338, 193, 405, 139, 202, 170, 123, 82, 199, 165, 152, 380, 1, 354, 109, 17, 312, 98, 102, 39, 47, 59, 116, 160, 283, 378, 384, 396, 397, 386, 127, 12, 74, 46, 2, 398, 404, 163, 342, 93, 100, 27, 330, 54, 301, 382, 368, 243, 239, 72, 70, 333, 120, 238, 314, 25, 31, 366, 36, 355, 49, 222, 383, 235, 149, 344, 32, 329, 358, 316, 141, 159, 332, 162, 406, 168, 179, 151, 157, 20, 186, 133, 399, 194, 5, 34, 37, 189, 64, 291, 71, 334, 104, 43, 44, 211, 14, 111, 377, 174, 287, 154, 137, 400, 353, 134, 89, 176, 336, 227, 364, 308, 171, 218, 401, 19, 68, 212, 173, 7, 345, 402, 145, 310, 214, 45, 180, 208, 357, 126, 195, 167, 200, 196, 293, 67, 277, 299 }; + public int[] e = { 23, 31, 31, 5, 31, 26, 27, 7, 24, 18, 9, 33, 5, 31, 23, 10, 21, 10, 28, 20, 7, 5, 27, 3, 25, 21, 20, 1, 9, 24, 8, 7, 31, 3, 26, 31, 21, 10, 17, 17, 4, 6, 7, 9, 19, 22, 17, 23, 3, 21, 7, 5, 20, 7, 25, 23, 25, 9, 11, 4, 11, 9, 21, 25, 23, 8, 25, 21, 28, 21, 19, 8, 5, 16, 16, 20, 19, 15, 9, 14, 9, 7, 28, 23, 14, 34, 29, 23, 23, 19, 20, 24, 20, 30, 11, 31, 30, 30, 21, 30, 30, 3, 27, 13, 7, 31, 20, 19, 8, 20, 18, 11, 11, 3, 17, 25, 5, 5, 13, 9, 34, 17, 6, 7, 7, 16, 30, 7, 16, 19, 11, 34, 14, 10, 8, 8, 18, 11, 13, 34, 28, 19, 18, 19, 28, 13, 34, 9, 4, 4, 16, 16, 14, 14, 28, 31, 18, 31, 31, 25, 26, 20, 8, 28, 3, 21, 23, 25, 13, 34, 6, 23, 9, 10, 8, 26, 25, 4, 21, 28, 8, 21, 20, 7, 24, 15, 28, 17, 23, 4, 18, 18, 7, 19, 23, 19, 23, 34, 11, 26, 14, 23, 6, 20, 15, 6, 34, 18, 23, 13, 15, 25, 23, 9, 34, 18, 28, 34, 14, 15, 18, 11, 11, 16, 24, 24, 24, 20, 3, 8, 19, 28, 21, 21, 25, 13, 15, 26, 8, 18, 15, 21, 26, 19, 19, 27, 18, 12, 14, 19, 17, 13, 9, 19, 16, 16, 31, 3, 29, 11, 4, 25, 10, 10, 6, 6, 7, 11, 16, 23, 31, 34, 34, 34, 34, 13, 4, 8, 6, 3, 34, 2, 16, 28, 9, 10, 5, 27, 7, 24, 31, 31, 21, 21, 8, 8, 27, 13, 21, 25, 5, 5, 31, 6, 29, 7, 20, 31, 21, 16, 28, 5, 27, 30, 25, 15, 16, 27, 16, 32, 17, 17, 16, 16, 4, 18, 14, 34, 18, 3, 5, 6, 18, 7, 23, 8, 27, 10, 6, 6, 19, 4, 11, 31, 17, 23, 16, 14, 34, 29, 14, 9, 17, 27, 20, 30, 25, 17, 19, 34, 4, 8, 19, 17, 3, 28, 34, 15, 25, 19, 6, 18, 19, 29, 13, 18, 17, 19, 18, 23, 8, 23, 24 }; + public String[] f = { "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z" }; + public int[] g = { 0, 12, 33, 56, 72, 75, 82, 94, 130, 155, 160, 192, 199, 212, 221, 237, 239, 270, 293, 311, 334, 361 }; + + public static o a() + { + if (a == null) { + a = new o(); + } + return a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/p.java b/com.tencent.token/classes.jar/com/tencent/token/p.java new file mode 100755 index 00000000000..12706fddd25 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/p.java @@ -0,0 +1,477 @@ +package com.tencent.token; + +import android.content.ContentValues; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.s; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class p +{ + private static int d = 20; + private static int e = 30; + private static int f = d; + private static p g = null; + private static boolean i = false; + public boolean a = true; + protected JSONArray b = new JSONArray(); + protected String c; + private boolean h = false; + private boolean j; + private UserTask k = null; + + private d a(String paramString) + { + locald = new d((byte)0); + Object localObject1 = ax.a(); + if (!((ax)localObject1).o()) + { + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + locald.a(30001, null, null); + return locald; + } + long l = 0L; + Object localObject2 = ((ax)localObject1).k(); + if (localObject2 != null) { + l = ((QQUser)localObject2).mUin; + } + for (;;) + { + localObject2 = s.b(paramString.getBytes()); + paramString = b.c() + "/cn/mbtoken3/mbtoken3_click_flow"; + localObject1 = new ContentValues(3); + ((ContentValues)localObject1).put("aq_base_sid", ax.c); + ((ContentValues)localObject1).put("uin", Long.valueOf(l)); + ((ContentValues)localObject1).put("data", (String)localObject2); + e.a("clickflow aq_base_sid=" + ax.c); + e.a("clickflow data=" + (String)localObject2); + localObject2 = new gv(); + paramString = ((gv)localObject2).a(paramString, (ContentValues)localObject1); + if (paramString != null) { + break; + } + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + paramString = ((gv)localObject2).a(); + locald.a(paramString.a, paramString.b, paramString.c); + return locald; + localObject1 = ((ax)localObject1).e(); + if (localObject1 != null) { + l = ((QQUser)localObject1).mUin; + } + } + for (;;) + { + try + { + paramString = new JSONObject(new String(paramString)); + m = paramString.getInt("err"); + if (m == 0) { + continue; + } + paramString = paramString.getString("info"); + locald.a(m, paramString, paramString); + } + catch (JSONException paramString) + { + e.c("parse json failed: " + paramString.toString()); + locald.a(10020, "JSONException:" + paramString.toString(), null); + if ((!this.j) || (b.i())) { + continue; + } + a(RqdApplication.i()); + continue; + int m = this.b.length(); + continue; + paramString = new JSONArray(); + if (m >= this.b.length()) { + continue; + } + paramString.put(this.b.get(m)); + m += 1; + continue; + this.b = paramString; + continue; + } + catch (Exception paramString) + { + e.c("unknown err: " + paramString.toString()); + locald.a(10021, "JSONException:" + paramString.toString(), null); + if ((!this.j) || (b.i())) { + continue; + } + a(RqdApplication.i()); + continue; + } + finally + { + if ((!this.j) || (b.i())) { + continue; + } + a(RqdApplication.i()); + } + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + return locald; + locald.a = 0; + if (this.b.length() <= e) { + continue; + } + m = e; + if (m > e) { + continue; + } + this.b = new JSONArray(); + } + } + + public static p a() + { + if (g == null) { + g = new p(); + } + if ((!b.i()) && (!i)) + { + i = true; + g.f(); + } + return g; + } + + /* Error */ + private boolean f() + { + // Byte code: + // 0: invokestatic 77 com/tencent/token/global/b:i ()Z + // 3: ifeq +5 -> 8 + // 6: iconst_0 + // 7: ireturn + // 8: aload_0 + // 9: getfield 39 com/tencent/token/p:a Z + // 12: ifne +5 -> 17 + // 15: iconst_1 + // 16: ireturn + // 17: invokestatic 82 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 20: ldc 225 + // 22: invokevirtual 231 android/content/Context:openFileInput (Ljava/lang/String;)Ljava/io/FileInputStream; + // 25: astore_1 + // 26: aload_1 + // 27: ifnull -21 -> 6 + // 30: sipush 2000 + // 33: newarray byte + // 35: astore_2 + // 36: aload_1 + // 37: aload_2 + // 38: invokevirtual 237 java/io/FileInputStream:read ([B)I + // 41: pop + // 42: aload_0 + // 43: new 45 org/json/JSONArray + // 46: dup + // 47: new 99 java/lang/String + // 50: dup + // 51: aload_2 + // 52: invokespecial 179 java/lang/String: ([B)V + // 55: invokespecial 238 org/json/JSONArray: (Ljava/lang/String;)V + // 58: putfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 61: aload_1 + // 62: invokevirtual 241 java/io/FileInputStream:close ()V + // 65: iconst_1 + // 66: ireturn + // 67: astore_2 + // 68: aload_1 + // 69: invokevirtual 241 java/io/FileInputStream:close ()V + // 72: iconst_0 + // 73: ireturn + // 74: astore_1 + // 75: iconst_0 + // 76: ireturn + // 77: astore_1 + // 78: goto -13 -> 65 + // 81: astore_1 + // 82: iconst_0 + // 83: ireturn + // Local variable table: + // start length slot name signature + // 0 84 0 this p + // 25 44 1 localFileInputStream java.io.FileInputStream + // 74 1 1 localIOException1 java.io.IOException + // 77 1 1 localIOException2 java.io.IOException + // 81 1 1 localFileNotFoundException java.io.FileNotFoundException + // 35 17 2 arrayOfByte byte[] + // 67 1 2 localException Exception + // Exception table: + // from to target type + // 30 61 67 java/lang/Exception + // 68 72 74 java/io/IOException + // 61 65 77 java/io/IOException + // 17 26 81 java/io/FileNotFoundException + } + + public final void a(long paramLong, int paramInt) + { + if (b.i()) {} + for (;;) + { + return; + if (this.b == null) { + continue; + } + for (;;) + { + try + { + localJSONObject = new JSONObject(); + localJSONObject.put("t", paramLong / 1000L); + localJSONObject.put("e", paramInt); + localObject2 = ax.a().e(); + if (localObject2 != null) { + localJSONObject.put("u", ((QQUser)localObject2).mUin); + } + int i1 = 1; + m = 0; + n = i1; + } + catch (Exception localException) + { + JSONObject localJSONObject; + Object localObject2; + int m; + int n; + continue; + } + try + { + if (m < this.b.length()) + { + localObject2 = this.b.getJSONObject(m); + if ((((JSONObject)localObject2).getInt("e") == paramInt) && (((JSONObject)localObject2).getLong("t") == paramLong / 1000L)) { + n = 0; + } + } + else + { + if (n != 0) { + this.b.put(localJSONObject); + } + if (this.b.length() < f) { + break; + } + a(false); + return; + } + m += 1; + } + finally {} + } + } + } + + /* Error */ + public final void a(boolean paramBoolean) + { + // Byte code: + // 0: invokestatic 77 com/tencent/token/global/b:i ()Z + // 3: ifeq +4 -> 7 + // 6: return + // 7: aload_0 + // 8: iload_1 + // 9: putfield 73 com/tencent/token/p:j Z + // 12: aload_0 + // 13: getfield 41 com/tencent/token/p:h Z + // 16: ifne -10 -> 6 + // 19: aload_0 + // 20: getfield 39 com/tencent/token/p:a Z + // 23: ifeq -17 -> 6 + // 26: aload_0 + // 27: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 30: invokevirtual 197 org/json/JSONArray:length ()I + // 33: ifeq -27 -> 6 + // 36: aload_0 + // 37: iconst_1 + // 38: putfield 41 com/tencent/token/p:h Z + // 41: new 45 org/json/JSONArray + // 44: dup + // 45: invokespecial 46 org/json/JSONArray: ()V + // 48: astore 4 + // 50: aload_0 + // 51: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 54: invokevirtual 197 org/json/JSONArray:length ()I + // 57: getstatic 27 com/tencent/token/p:e I + // 60: if_icmple +35 -> 95 + // 63: getstatic 27 com/tencent/token/p:e I + // 66: istore_2 + // 67: iconst_0 + // 68: istore_3 + // 69: iload_3 + // 70: iload_2 + // 71: if_icmpge +37 -> 108 + // 74: aload 4 + // 76: aload_0 + // 77: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 80: iload_3 + // 81: invokevirtual 208 org/json/JSONArray:get (I)Ljava/lang/Object; + // 84: invokevirtual 211 org/json/JSONArray:put (Ljava/lang/Object;)Lorg/json/JSONArray; + // 87: pop + // 88: iload_3 + // 89: iconst_1 + // 90: iadd + // 91: istore_3 + // 92: goto -23 -> 69 + // 95: aload_0 + // 96: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 99: invokevirtual 197 org/json/JSONArray:length ()I + // 102: istore_2 + // 103: goto -36 -> 67 + // 106: astore 5 + // 108: aload_0 + // 109: monitorenter + // 110: new 176 org/json/JSONObject + // 113: dup + // 114: invokespecial 243 org/json/JSONObject: ()V + // 117: astore 5 + // 119: aload 5 + // 121: ldc_w 269 + // 124: invokestatic 274 com/tencent/token/ag:c ()Lcom/tencent/token/ag; + // 127: invokevirtual 277 com/tencent/token/ag:k ()J + // 130: invokestatic 280 java/lang/String:valueOf (J)Ljava/lang/String; + // 133: invokevirtual 283 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 136: pop + // 137: aload 5 + // 139: ldc_w 285 + // 142: aload 4 + // 144: invokevirtual 283 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 147: pop + // 148: aload_0 + // 149: aload 5 + // 151: invokevirtual 286 org/json/JSONObject:toString ()Ljava/lang/String; + // 154: putfield 287 com/tencent/token/p:c Ljava/lang/String; + // 157: aload_0 + // 158: monitorexit + // 159: aload_0 + // 160: new 289 com/tencent/token/q + // 163: dup + // 164: aload_0 + // 165: invokespecial 292 com/tencent/token/q: (Lcom/tencent/token/p;)V + // 168: putfield 43 com/tencent/token/p:k Lcom/tencent/token/utils/UserTask; + // 171: aload_0 + // 172: getfield 43 com/tencent/token/p:k Lcom/tencent/token/utils/UserTask; + // 175: iconst_0 + // 176: anewarray 99 java/lang/String + // 179: invokevirtual 297 com/tencent/token/utils/UserTask:a ([Ljava/lang/Object;)Lcom/tencent/token/utils/UserTask; + // 182: pop + // 183: return + // 184: astore 4 + // 186: aload_0 + // 187: monitorexit + // 188: return + // 189: astore 4 + // 191: aload_0 + // 192: monitorexit + // 193: aload 4 + // 195: athrow + // Local variable table: + // start length slot name signature + // 0 196 0 this p + // 0 196 1 paramBoolean boolean + // 66 37 2 m int + // 68 24 3 n int + // 48 95 4 localJSONArray JSONArray + // 184 1 4 localJSONException JSONException + // 189 5 4 localObject Object + // 106 1 5 localException Exception + // 117 33 5 localJSONObject JSONObject + // Exception table: + // from to target type + // 74 88 106 java/lang/Exception + // 119 148 184 org/json/JSONException + // 110 119 189 finally + // 119 148 189 finally + // 148 159 189 finally + // 186 188 189 finally + } + + /* Error */ + public final boolean a(android.content.Context paramContext) + { + // Byte code: + // 0: invokestatic 77 com/tencent/token/global/b:i ()Z + // 3: ifeq +5 -> 8 + // 6: iconst_0 + // 7: ireturn + // 8: aload_0 + // 9: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 12: ifnull -6 -> 6 + // 15: iconst_0 + // 16: putstatic 33 com/tencent/token/p:i Z + // 19: aload_0 + // 20: getfield 39 com/tencent/token/p:a Z + // 23: ifne +5 -> 28 + // 26: iconst_1 + // 27: ireturn + // 28: aload_1 + // 29: ldc 225 + // 31: iconst_0 + // 32: invokevirtual 301 android/content/Context:openFileOutput (Ljava/lang/String;I)Ljava/io/FileOutputStream; + // 35: astore_1 + // 36: aload_1 + // 37: ifnull -31 -> 6 + // 40: aload_1 + // 41: aload_0 + // 42: getfield 48 com/tencent/token/p:b Lorg/json/JSONArray; + // 45: invokevirtual 302 org/json/JSONArray:toString ()Ljava/lang/String; + // 48: invokevirtual 103 java/lang/String:getBytes ()[B + // 51: invokevirtual 307 java/io/FileOutputStream:write ([B)V + // 54: aload_1 + // 55: invokevirtual 308 java/io/FileOutputStream:close ()V + // 58: iconst_1 + // 59: ireturn + // 60: astore_2 + // 61: aload_1 + // 62: invokevirtual 308 java/io/FileOutputStream:close ()V + // 65: iconst_0 + // 66: ireturn + // 67: astore_1 + // 68: iconst_0 + // 69: ireturn + // 70: astore_1 + // 71: goto -13 -> 58 + // 74: astore_1 + // 75: iconst_0 + // 76: ireturn + // Local variable table: + // start length slot name signature + // 0 77 0 this p + // 0 77 1 paramContext android.content.Context + // 60 1 2 localException Exception + // Exception table: + // from to target type + // 40 54 60 java/lang/Exception + // 61 65 67 java/io/IOException + // 54 58 70 java/io/IOException + // 28 36 74 java/io/FileNotFoundException + } + + public final boolean b() + { + if (b.i()) { + return false; + } + return a(RqdApplication.i()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/q.java b/com.tencent.token/classes.jar/com/tencent/token/q.java new file mode 100755 index 00000000000..8cb0ecef1b4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/q.java @@ -0,0 +1,20 @@ +package com.tencent.token; + +import com.tencent.token.utils.UserTask; + +final class q + extends UserTask +{ + q(p paramp) {} + + public final void a() + { + p.a(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/r.java b/com.tencent.token/classes.jar/com/tencent/token/r.java new file mode 100755 index 00000000000..e67da1561dd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/r.java @@ -0,0 +1,111 @@ +package com.tencent.token; + +import android.content.Context; +import android.os.Handler; +import com.tencent.token.global.e; +import gameloginsdk.CallbackPushStruct; +import gameloginsdk.GameLogin; + +public final class r +{ + private static r c; + private static boolean j = false; + GameLogin a; + Handler b = new s(this); + private boolean d = false; + private boolean e = false; + private CallbackPushStruct f; + private int g; + private Handler h; + private long i = 0L; + + private r(Context paramContext, String paramString) + { + if (this.a == null) { + this.a = new GameLogin(); + } + boolean bool = this.a.init(paramContext, 34, paramString, 1); + j = bool; + if (!bool) { + return; + } + this.a.setRespLimitTime(60000L); + this.a.setWaitPushTime(180000L); + this.a.setNetworkCallback(new t(this)); + } + + public static r a(Context paramContext) + { + if ((c == null) || (!j)) { + c = new r(paramContext, com.tencent.token.utils.s.j()); + } + return c; + } + + public final void a(long paramLong) + { + if (!j) { + return; + } + this.d = false; + this.e = false; + e.a("game login get flow type appid=" + paramLong); + this.a.sendGetFlowType(paramLong); + } + + public final void a(String paramString, byte[] paramArrayOfByte, int paramInt, Handler paramHandler) + { + if (!j) { + return; + } + this.g = paramInt; + this.h = paramHandler; + e.b("game login confirm send: " + paramString + "|" + paramArrayOfByte + "|" + paramInt); + this.a.sendGameConfirm(paramString, paramArrayOfByte, paramInt); + } + + public final void a(String paramString1, byte[] paramArrayOfByte, String paramString2) + { + if (!j) {} + while ((!this.e) || (!this.d)) { + return; + } + e.c("game login info uin=" + paramString1 + ", guid=" + paramArrayOfByte + ", qrcode=" + paramString2); + this.a.sendGameLoginInfo(paramString1, paramArrayOfByte, paramString2); + } + + public final boolean a() + { + return (this.e) && (this.d); + } + + public final boolean b() + { + return (this.f == null) || (this.i <= 0L) || (ag.c().r() - this.i >= this.f.expirtTime * 1000); + } + + public final int c() + { + if ((this.f != null) && (this.i > 0L)) { + return (int)((ag.c().r() - this.i) / 1000L); + } + return 0; + } + + public final CallbackPushStruct d() + { + return this.f; + } + + public final void e() + { + this.f = null; + this.i = 0L; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/s.java b/com.tencent.token/classes.jar/com/tencent/token/s.java new file mode 100755 index 00000000000..cf998e5fdb3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/s.java @@ -0,0 +1,33 @@ +package com.tencent.token; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.base.GameLoginSndConfirmDialog; + +final class s + extends Handler +{ + s(r paramr) {} + + public final void handleMessage(Message paramMessage) + { + if (r.a(this.a) != null) {} + try + { + new GameLoginSndConfirmDialog(BaseActivity.sTopActivity).show(); + return; + } + catch (Exception paramMessage) + { + e.c("GameSafeLoginManager: " + paramMessage.getMessage()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/t.java b/com.tencent.token/classes.jar/com/tencent/token/t.java new file mode 100755 index 00000000000..2bcb23e074a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/t.java @@ -0,0 +1,106 @@ +package com.tencent.token; + +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.support.v4.app.NotificationCompat.Builder; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.s; +import gameloginsdk.CallbackAppidTypeStruct; +import gameloginsdk.CallbackGameConfirmStruct; +import gameloginsdk.CallbackPushStruct; +import gameloginsdk.GameLoginConst; +import gameloginsdk.IGameLoginCallback; + +final class t + implements IGameLoginCallback +{ + t(r paramr) {} + + public final void onPush(int paramInt, Object paramObject) + { + e.d("game login push rsp callback: info=" + paramInt + ", obj=" + paramObject); + s.h(); + switch (paramInt) + { + } + do + { + return; + } while (paramObject == null); + paramObject = (CallbackPushStruct)paramObject; + e.c(paramObject.toString() + ", foreground=" + BaseActivity.getIsAppForeground()); + r.a(this.a, paramObject); + r.a(this.a, ag.c().r()); + if (BaseActivity.getIsAppForeground()) + { + this.a.b.sendEmptyMessage(0); + return; + } + IndexActivity.s_ShowGameLoginPushInfo = true; + paramObject = "QQ" + s.b(r.a(this.a).uin) + RqdApplication.i().getResources().getString(2131362447); + Object localObject = new Intent(RqdApplication.i(), IndexActivity.class); + ((Intent)localObject).putExtra("index_from", 24); + localObject = PendingIntent.getActivity(RqdApplication.i(), 0, (Intent)localObject, 134217728); + ((NotificationManager)RqdApplication.i().getSystemService("notification")).notify(3, new NotificationCompat.Builder(RqdApplication.i()).setDefaults(1).setAutoCancel(true).setContentTitle(RqdApplication.i().getResources().getString(2131361792)).setSmallIcon(2130837686).setContentIntent((PendingIntent)localObject).addAction(2130837686, RqdApplication.i().getResources().getString(2131361792), (PendingIntent)localObject).setContentText(paramObject).build()); + } + + public final void onRespCallback(int paramInt1, int paramInt2, int paramInt3, Object paramObject) + { + e.d("game login rsp callback: ret=" + paramInt1 + ", respno=" + paramInt2 + ", info=" + paramInt3 + ", obj=" + paramObject); + switch (paramInt3) + { + } + do + { + do + { + return; + paramObject = (CallbackAppidTypeStruct)paramObject; + if (paramInt1 != 0) + { + GameLoginConst.filterNormalCode(paramInt1); + s.h(); + } + e.a("game login getflowtype: appidtype=" + paramObject.appidType); + r.b(this.a); + if (paramObject.appidType == 1) + { + r.a(this.a, true); + return; + } + r.a(this.a, false); + return; + } while (paramInt1 == 0); + GameLoginConst.filterNormalCode(paramInt1); + s.h(); + return; + paramObject = (CallbackGameConfirmStruct)paramObject; + e.b("game login confirm:" + paramObject); + paramInt2 = paramInt1; + if (paramInt1 != 0) + { + paramInt2 = GameLoginConst.filterNormalCode(paramInt1); + e.b("game login confirm: code=" + paramInt2); + } + } while ((r.a(this.a) == null) || (r.c(this.a) == null)); + Message localMessage = r.c(this.a).obtainMessage(3040); + localMessage.arg1 = r.d(this.a); + localMessage.arg2 = paramInt2; + localMessage.obj = paramObject; + r.c(this.a).sendMessage(localMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/u.java b/com.tencent.token/classes.jar/com/tencent/token/u.java new file mode 100755 index 00000000000..331b4bc61ce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/u.java @@ -0,0 +1,448 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import com.tencent.kingkong.database.SQLiteDatabase; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.TknEncManager; +import com.tencent.token.utils.encrypt.a; +import com.tencent.token.utils.encrypt.c; +import com.tencent.token.utils.encrypt.random.PRNGFixes; +import com.tencent.token.utils.encrypt.random.SecureRandom; +import com.tencent.token.utils.s; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +public final class u +{ + public byte[] a; + public int[] b = new int[6]; + private long c = 0L; + private int d = 30; + private long e = 0L; + private String f = ""; + private int g = 0; + + public u() + { + l(); + } + + public static String b() + { + try + { + String str = m().getString("token_info", ""); + return str; + } + catch (Exception localException) {} + return null; + } + + private void b(long paramLong) + { + Object localObject1 = Calendar.getInstance(); + ((Calendar)localObject1).setTime(new Date(paramLong)); + ((Calendar)localObject1).setTimeZone(TimeZone.getTimeZone("GMT+8")); + Object localObject2 = new StringBuffer(); + ((StringBuffer)localObject2).append(((Calendar)localObject1).get(1)).append('-').append(s.a(((Calendar)localObject1).get(2) + 1)).append('-').append(s.a(((Calendar)localObject1).get(5))).append(' ').append(s.a(((Calendar)localObject1).get(11))).append(':').append(s.a(((Calendar)localObject1).get(12))).append(':').append(s.a(((Calendar)localObject1).get(13) / 30 * 30)); + localObject1 = ((StringBuffer)localObject2).toString().getBytes(); + if (this.a == null) { + return; + } + localObject2 = new byte[this.a.length + localObject1.length]; + System.arraycopy(this.a, 0, localObject2, 0, this.a.length); + System.arraycopy(localObject1, 0, localObject2, this.a.length, localObject1.length); + localObject1 = new fz().b((byte[])localObject2); + localObject2 = new byte[localObject1.length * 2]; + int i = 0; + while (i < localObject1.length) + { + localObject2[(i * 2)] = ((byte)((localObject1[i] & 0xFF) >>> 4)); + localObject2[(i * 2 + 1)] = ((byte)(localObject1[i] & 0xF)); + i += 1; + } + i = 0; + while (i < 6) + { + int j = 0; + int k = 0; + while (j < 9) + { + k += localObject2[(i + 1 + j * 7)]; + j += 1; + } + this.b[i] = (k % 10); + i += 1; + } + this.e = (paramLong / 1000L / this.d * this.d * 1000L); + } + + private int[] j() + { + int[] arrayOfInt = new int[16]; + Object localObject1 = new fz(); + Object localObject2 = new fz(); + for (;;) + { + try + { + localObject1 = ((fz)localObject1).b(((fz)localObject2).b(this.a)); + localObject2 = new byte[localObject1.length * 2]; + i = 0; + if (i < localObject1.length) + { + localObject2[(i * 2)] = ((byte)((localObject1[i] & 0xFF) >>> 4)); + localObject2[(i * 2 + 1)] = ((byte)(localObject1[i] & 0xF)); + i += 1; + continue; + if (arrayOfInt[0] == 0) { + arrayOfInt[0] = 1; + } + return arrayOfInt; + } + } + catch (Exception localException) + { + return arrayOfInt; + } + int i = 0; + while (i < 16) + { + int j = 0; + int k = 0; + while (j < 4) + { + k += localObject2[(j * 16 + i)]; + j += 1; + } + arrayOfInt[i] = (k % 10); + i += 1; + } + } + } + + private static String k() + { + byte[] arrayOfByte = new byte[16]; + Object localObject2 = ag.b(); + Object localObject1; + if (localObject2 != null) + { + localObject1 = localObject2; + if (((String)localObject2).length() != 0) {} + } + else + { + localObject1 = System.getProperty("microedition.platform"); + } + localObject2 = localObject1; + if (localObject1 == null) { + localObject2 = ""; + } + int j = Runtime.getRuntime().hashCode(); + try + { + PRNGFixes.a(); + localObject1 = new SecureRandom(); + SecureRandom localSecureRandom = new SecureRandom(); + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append((String)localObject2).append(localSecureRandom.nextInt()).append(System.currentTimeMillis()).append(j).append(new Object().hashCode()); + ((SecureRandom)localObject1).a(localStringBuffer.toString().getBytes()); + int i = 1; + while (i < arrayOfByte.length) + { + arrayOfByte[i] = ((byte)(Math.abs(((SecureRandom)localObject1).nextInt()) % 256)); + localSecureRandom.a(localSecureRandom.a(i)); + localStringBuffer = new StringBuffer(); + localStringBuffer.append(System.currentTimeMillis() + "").append(localSecureRandom.nextInt()).append(j).append(new Object().hashCode()); + localStringBuffer.insert(Math.abs(localSecureRandom.nextInt()) % localStringBuffer.length(), (String)localObject2); + ((SecureRandom)localObject1).a(localStringBuffer.toString().getBytes()); + i += 1; + } + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + arrayOfByte[0] = ((byte)(Math.abs(localException.nextInt()) % 64)); + } + return ap.a(arrayOfByte); + } + + private void l() + { + for (;;) + { + try + { + Object localObject1 = gl.a(); + Object localObject3 = new gp(); + ((gp)localObject3).a((SQLiteDatabase)localObject1); + Object localObject4 = (gp)gl.a((go)localObject3, "token_conf", new String[] { "plusTime", "tokenIntVTime", "data" }); + if (localObject4 == null) + { + i = 0; + if (i == 0) + { + ((gp)localObject3).b = 0L; + ((gp)localObject3).d = null; + ((gp)localObject3).c = 30; + ((gp)localObject3).b((SQLiteDatabase)localObject1); + } + localObject4 = new gg(); + ((gg)localObject4).a((SQLiteDatabase)localObject1); + localObject5 = (gg)gl.a((go)localObject4, "ksid_data", new String[] { "ksid" }); + if (localObject5 == null) + { + i = 0; + if (i == 0) + { + ((gg)localObject4).b = ""; + ((gg)localObject4).b((SQLiteDatabase)localObject1); + } + this.c = ((gp)localObject3).b; + this.a = ((gp)localObject3).d; + this.d = ((gp)localObject3).c; + this.f = ((gg)localObject4).b; + localObject1 = m(); + if (localObject1 == null) { + break label438; + } + bool = true; + e.a(bool); + localObject3 = ((SharedPreferences)localObject1).edit(); + ((SharedPreferences.Editor)localObject3).putBoolean("token_status", true); + ((SharedPreferences.Editor)localObject3).commit(); + if ((this.a != null) && (this.a.length > 0)) + { + this.g = ((SharedPreferences)localObject1).getInt("token_type", 0); + if (2 != this.g) { + break label409; + } + localObject4 = ((SharedPreferences)localObject1).getString("token_info", ""); + if ((localObject4 != null) && (((String)localObject4).length() != 0)) { + continue; + } + this.a = null; + } + } + } + else + { + ((gp)localObject3).b = ((gp)localObject4).b; + ((gp)localObject3).c = ((gp)localObject4).c; + ((gp)localObject3).d = ((gp)localObject4).d; + i = 1; + continue; + } + ((gg)localObject4).b = ((gg)localObject5).b; + int i = 1; + continue; + Object localObject5 = new a(); + localObject3 = ((a)localObject5).a(this.a, c.a((String)localObject4)); + localObject1 = localObject3; + if (localObject3 == null) { + localObject1 = ((a)localObject5).a(this.a, c.a((String)localObject4)); + } + this.a = ((byte[])localObject1); + continue; + if (1 != this.g) { + break label431; + } + } + finally {} + label409: + this.a = TknEncManager.a().decInitCode(this.a); + label431: + a(); + continue; + label438: + boolean bool = false; + } + } + + private static SharedPreferences m() + { + switch () + { + default: + return RqdApplication.i().getSharedPreferences("token_save_info", 0); + case 0: + return RqdApplication.i().getSharedPreferences("token_save_info_test", 0); + case 1: + return RqdApplication.i().getSharedPreferences("token_save_info", 0); + case 2: + return RqdApplication.i().getSharedPreferences("token_save_info_exp", 0); + } + return RqdApplication.i().getSharedPreferences("token_save_info_gray", 0); + } + + public final void a() + { + try + { + gp localgp = new gp(); + String str; + Object localObject2; + byte[] arrayOfByte; + if ((this.a != null) && (this.a.length > 0)) + { + str = k(); + localObject2 = new a(); + arrayOfByte = ((a)localObject2).b(this.a, c.a(str)); + if (arrayOfByte != null) { + break label175; + } + arrayOfByte = ((a)localObject2).b(this.a, c.a(str)); + } + for (;;) + { + localObject2 = m(); + boolean bool; + if (localObject2 != null) + { + bool = true; + e.a(bool); + localObject2 = ((SharedPreferences)localObject2).edit(); + ((SharedPreferences.Editor)localObject2).putInt("token_type", 2); + ((SharedPreferences.Editor)localObject2).putString("token_info", str); + ((SharedPreferences.Editor)localObject2).commit(); + localgp.a(this.c, this.d, arrayOfByte); + } + for (;;) + { + return; + bool = false; + break; + localgp.a(this.c, this.d, this.a); + } + } + } + finally {} + } + + public final void a(long paramLong) + { + this.c = paramLong; + this.e = 0L; + } + + public final void a(String paramString) + { + new gg().a(paramString); + this.f = paramString; + } + + public final String c() + { + return this.f; + } + + public final String d() + { + int[] arrayOfInt = j(); + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < arrayOfInt.length) + { + localStringBuffer.append(arrayOfInt[i]); + i += 1; + } + localStringBuffer.insert(12, '-'); + localStringBuffer.insert(8, '-'); + localStringBuffer.insert(4, '-'); + return localStringBuffer.toString(); + } + + public final long e() + { + try + { + int[] arrayOfInt = j(); + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < arrayOfInt.length) + { + localStringBuffer.append(arrayOfInt[i]); + i += 1; + } + long l = Long.parseLong(localStringBuffer.toString()); + return l; + } + catch (Exception localException) {} + return 0L; + } + + public final void f() + { + long l = System.currentTimeMillis() + this.c; + if (l - this.e >= this.d * 1000) { + b(l); + } + } + + public final void g() + { + b(System.currentTimeMillis() + this.c); + } + + public final String h() + { + long l1 = System.currentTimeMillis(); + long l2 = this.c; + Object localObject1 = Calendar.getInstance(); + ((Calendar)localObject1).setTime(new Date(l1 + l2 - 30000L)); + ((Calendar)localObject1).setTimeZone(TimeZone.getTimeZone("GMT+8")); + Object localObject2 = new StringBuffer(); + ((StringBuffer)localObject2).append(((Calendar)localObject1).get(1)).append('-').append(s.a(((Calendar)localObject1).get(2) + 1)).append('-').append(s.a(((Calendar)localObject1).get(5))).append(' ').append(s.a(((Calendar)localObject1).get(11))).append(':').append(s.a(((Calendar)localObject1).get(12))).append(':').append(s.a(((Calendar)localObject1).get(13) / 30 * 30)); + localObject1 = ((StringBuffer)localObject2).toString().getBytes(); + if (this.a == null) { + return ""; + } + localObject2 = new byte[this.a.length + localObject1.length]; + System.arraycopy(this.a, 0, localObject2, 0, this.a.length); + System.arraycopy(localObject1, 0, localObject2, this.a.length, localObject1.length); + localObject2 = new fz().b((byte[])localObject2); + localObject1 = new byte[localObject2.length * 2]; + int i = 0; + while (i < localObject2.length) + { + localObject1[(i * 2)] = ((byte)((localObject2[i] & 0xFF) >>> 4)); + localObject1[(i * 2 + 1)] = ((byte)(localObject2[i] & 0xF)); + i += 1; + } + localObject2 = new StringBuffer(); + i = 0; + while (i < 6) + { + int j = 0; + int k = 0; + while (j < 9) + { + k += localObject1[(i + 1 + j * 7)]; + j += 1; + } + ((StringBuffer)localObject2).append(k % 10); + i += 1; + } + return ((StringBuffer)localObject2).toString(); + } + + public final long i() + { + return this.c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AbnormalLoginActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AbnormalLoginActivity.java new file mode 100755 index 00000000000..ec1845b4f17 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AbnormalLoginActivity.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; + +public class AbnormalLoginActivity + extends BaseActivity +{ + private b mAdapter; + private ListView mListView; + + static + { + if (!AbnormalLoginActivity.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + return; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903040); + this.mListView = ((ListView)findViewById(2131296262)); + assert (this.mListView != null); + this.mAdapter = new b(this); + this.mListView.setScrollingCacheEnabled(true); + this.mListView.setAdapter(this.mAdapter); + findViewById(2131296264).setOnClickListener(new a(this)); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mAdapter = null; + this.mListView.setAdapter(null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AbnormalLoginActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AboutActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AboutActivity.java new file mode 100755 index 00000000000..5ce875d07fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AboutActivity.java @@ -0,0 +1,95 @@ +package com.tencent.token.ui; + +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.UserTask.Status; +import com.tencent.token.utils.q; + +public class AboutActivity + extends BaseActivity +{ + private final boolean IS_SAMSUNG_MARKET = true; + private TextView aboutInfoWithEnvir; + protected String mErr; + public ImageView mNewIcon; + public TextView mNoUpdate; + UserTask mTask; + public ImageView mUpdateAction; + private TextView versionText; + + private void showUpdateInfo() + { + com.tencent.token.core.bean.h localh = com.tencent.token.core.bean.h.b(); + if ((2 == localh.a) || (3 == localh.a)) + { + showUserDialog(1); + return; + } + showUserDialog(3); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903043); + this.versionText = ((TextView)findViewById(2131296285)); + paramBundle = q.b; + try + { + str = getPackageManager().getPackageInfo(getPackageName(), 16384).versionName; + paramBundle = str; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + for (;;) + { + String str; + com.tencent.token.global.e.c(localNameNotFoundException.getMessage()); + } + } + this.versionText.setText("V" + paramBundle); + this.aboutInfoWithEnvir = ((TextView)findViewById(2131296284)); + str = getResources().getString(2131361885); + paramBundle = str; + if (q.c == 2) { + paramBundle = str + "RDM(201)"; + } + this.aboutInfoWithEnvir.setText(paramBundle); + findViewById(2131296294).setOnClickListener(new c(this)); + findViewById(2131296294).setOnLongClickListener(new d(this)); + findViewById(2131296296).setOnClickListener(new e(this)); + findViewById(2131296300).setOnClickListener(new f(this)); + findViewById(2131296298).setOnClickListener(new g(this)); + findViewById(2131296292).setOnClickListener(new h(this)); + } + + protected void onStop() + { + super.onStop(); + if ((this.mTask != null) && (this.mTask.c() != UserTask.Status.FINISHED)) + { + this.mTask.d(); + this.mTask = null; + } + } + + public void queryUpdateInfo() + { + this.mTask = new i(this); + this.mTask.a(new String[] { "" }); + showUserDialog(2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AboutActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AccountDetailActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AccountDetailActivity.java new file mode 100755 index 00000000000..4ba9ae4bb5b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AccountDetailActivity.java @@ -0,0 +1,11 @@ +package com.tencent.token.ui; + +public class AccountDetailActivity + extends BaseActivity +{} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AccountDetailActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AccountPageActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AccountPageActivity.java new file mode 100755 index 00000000000..8ade0bdbe98 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AccountPageActivity.java @@ -0,0 +1,862 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.graphics.drawable.GradientDrawable.Orientation; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import android.text.SpannableString; +import android.text.style.AbsoluteSizeSpan; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.animation.AnimationUtils; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout.LayoutParams; +import android.widget.RelativeLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; +import com.tencent.token.core.bean.OnlineDeviceResult; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.PullToRefreshLinearLayout; +import com.tencent.token.ui.base.RoundImageView; +import com.tencent.token.ui.base.ba; +import com.tencent.token.ui.base.bp; +import com.tencent.token.ui.base.cp; +import com.tencent.token.utils.k; +import java.util.ArrayList; +import java.util.HashMap; + +public class AccountPageActivity + extends BaseActivity + implements cp +{ + public static final String ACTION_ACCOUNT_OPR_MSG = "com.tencent.token.account_opr_msg"; + public static final int K_EVAL_RESULT_NO_URGENT = 0; + public static final int K_EVAL_RESULT_STRONG_URGENT = 2; + public static final int K_EVAL_RESULT_WEAK_URGENT = 1; + public static boolean mNeedRefreshEval = true; + public static boolean mNeedShowIpcMsg = false; + private final int NOTIFY_TO_DISPLAY_SUB_ITEM = 1000; + private int[] color; + private ba drawable; + private int getNewMsgCount = 0; + private boolean isChecking = false; + private boolean isCheckingLoginHistory = false; + private boolean isCheckingMb = false; + private boolean isCheckingProtection = false; + private boolean isCheckingPwd = false; + boolean isCurrentLoginResult = false; + boolean isLastLoginResult = false; + private int itemCount = 3; + private HashMap itemObjectMap = new HashMap(); + private View ll_eval_head; + private bp loading; + LocalBroadcastManager localBroadcastManager; + private boolean mBingNotify = false; + private Button mDelSafeModeBtn; + private TextView mDetailMsg; + private View.OnClickListener mErrorAction = new z(this); + private ErrorView mErrorView; + private View.OnClickListener mEvalClickListener = new u(this); + private TextView mEvalLevel; + private EvalAccountResult mEvalResult; + public Handler mHandler = new aa(this); + private ImageView mLoading; + private ImageView mLoadingResult; + private int mLoginDegree = 0; + private TextView mLoginHistoryDesc; + private ImageView mLoginHistoryPic; + private TextView mLoginHistoryTitle; + private fo mLoginMsgCache = bb.a().f; + private View.OnClickListener mMbDefaultListener = new y(this); + private TextView mMbDesc; + private RelativeLayout mMbLayout; + private ImageView mMbPic; + private TextView mMbTitle; + private ImageView mMsgUnread; + private TextView mNotVerify; + private TextView mOperateMsg; + private View.OnClickListener mProtecDefaultListener = new x(this); + private TextView mProtectionDesc; + private RelativeLayout mProtectionLayout; + private ImageView mProtectionPic; + private TextView mProtectionTitle; + private View.OnClickListener mPswDefaultListener = new w(this); + private TextView mPswDesc; + private RelativeLayout mPswLayout; + private ImageView mPswPic; + private TextView mPswTitle; + private PullToRefreshLinearLayout mPullToRefreshLayout; + private RoundImageView mQQFace; + private ImageView mQQFaceBorder; + private ImageView mQQFaceCircle; + private TextView mQQNick; + private Dialog mQryBindNotifyMsgDialog; + private boolean mQuerySecurityReporter = false; + private BroadcastReceiver mReceiver = new n(this); + private View mRootLayout; + private ImageView mSafeMsgBox; + private fo mSafeMsgCache = bd.a().f; + private ScrollView mScrollView; + private String mSessId; + private String mSkey = ""; + private RelativeLayout mTitleLayout; + private af mTokenCore = af.a(); + private long mUinHash; + private QQUser mUser; + private Button mZzbDelSafeModeBtn; + private TextView mZzbDetailMsg; + private TextView mZzbEvalLevel; + private ImageView mZzbLoadingImg; + private ImageView mZzbLoadingImgResult; + private boolean needgotologobyprotect; + private int newMsgCount = 0; + private SecurityReporterResult result; + private RelativeLayout rl_eval; + private RelativeLayout rl_eval_zzb; + private View rl_login; + private int[] shadowColor; + + private void displayItemOneByOne(EvalAccountResult paramEvalAccountResult) + { + if (paramEvalAccountResult == null) { + return; + } + int i = 0; + if (i < paramEvalAccountResult.mRecommends.size()) + { + EvalAccountResult.RecommendItem localRecommendItem = (EvalAccountResult.RecommendItem)paramEvalAccountResult.mRecommends.get(i); + int j = localRecommendItem.mRecommendId; + com.tencent.token.core.bean.d locald; + if (j == 2) + { + locald = (com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(j)); + locald.a(localRecommendItem); + locald.a(new ah(this, localRecommendItem)); + } + for (;;) + { + i += 1; + break; + if (j == 3) + { + locald = (com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(j)); + locald.a(localRecommendItem); + locald.a(new ai(this, localRecommendItem)); + } + else if (j == 4) + { + locald = (com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(j)); + locald.a(localRecommendItem); + locald.a(new aj(this, localRecommendItem)); + } + } + } + this.mHandler.sendEmptyMessageDelayed(1000, 30L); + } + + private SpannableString getHtmlFromDesc(String paramString) + { + int i = paramString.indexOf(' '); + int j = paramString.lastIndexOf(' '); + if ((i == -1) || (j == i)) { + return new SpannableString(paramString); + } + paramString = new SpannableString(paramString); + paramString.setSpan(new AbsoluteSizeSpan(18, true), i, j, 33); + return paramString; + } + + private void gotologobyprotect() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 9); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void hideSafeMode() + { + LinearLayout.LayoutParams localLayoutParams = (LinearLayout.LayoutParams)this.ll_eval_head.getLayoutParams(); + localLayoutParams.height = ((int)(250.0F * IndexActivity.S_DENSITY)); + this.ll_eval_head.setLayoutParams(localLayoutParams); + this.ll_eval_head.postInvalidate(); + this.mZzbDetailMsg.setVisibility(8); + this.mZzbDelSafeModeBtn.setVisibility(8); + this.mDetailMsg.setVisibility(8); + this.mDelSafeModeBtn.setVisibility(8); + } + + private void initItemDataObject() + { + com.tencent.token.core.bean.d locald = new com.tencent.token.core.bean.d(this, this.mPswLayout, this.mPswTitle, this.mPswDesc, this.mPswPic); + locald.a(2); + locald.a(this.mPswDefaultListener); + this.itemObjectMap.put(Integer.valueOf(2), locald); + locald = new com.tencent.token.core.bean.d(this, this.mProtectionLayout, this.mProtectionTitle, this.mProtectionDesc, this.mProtectionPic); + locald.a(3); + locald.a(this.mProtecDefaultListener); + this.itemObjectMap.put(Integer.valueOf(3), locald); + locald = new com.tencent.token.core.bean.d(this, this.mMbLayout, this.mMbTitle, this.mMbDesc, this.mMbPic); + locald.a(4); + locald.a(this.mMbDefaultListener); + this.itemObjectMap.put(Integer.valueOf(4), locald); + } + + private void initView() + { + setContentView(2130903047); + this.mRootLayout = findViewById(2131296344); + this.mTitleLayout = ((RelativeLayout)findViewById(2131296345)); + this.mPullToRefreshLayout = ((PullToRefreshLinearLayout)findViewById(2131296353)); + this.mPullToRefreshLayout.a(this); + this.ll_eval_head = ((RelativeLayout)findViewById(2131296355)); + this.mRootLayout.setBackgroundDrawable(this.drawable); + this.mScrollView = ((ScrollView)findViewById(2131296354)); + this.rl_eval = ((RelativeLayout)findViewById(2131296356)); + this.rl_eval.setEnabled(false); + this.rl_eval.setOnClickListener(this.mEvalClickListener); + this.rl_eval_zzb = ((RelativeLayout)findViewById(2131296363)); + this.rl_eval_zzb.setVisibility(4); + this.rl_eval_zzb.setEnabled(false); + this.rl_eval_zzb.setOnClickListener(this.mEvalClickListener); + this.rl_login = findViewById(2131296370); + this.rl_login.setOnClickListener(new r(this)); + this.mQQFace = ((RoundImageView)findViewById(2131296346)); + this.mQQFace.setOnClickListener(new s(this)); + this.mLoading = ((ImageView)findViewById(2131296358)); + this.mLoadingResult = ((ImageView)findViewById(2131296359)); + this.mZzbLoadingImg = ((ImageView)findViewById(2131296366)); + this.mZzbLoadingImgResult = ((ImageView)findViewById(2131296365)); + this.mQQNick = ((TextView)findViewById(2131296350)); + this.mQQFaceCircle = ((ImageView)findViewById(2131296347)); + this.mQQFaceBorder = ((ImageView)findViewById(2131296348)); + this.mSafeMsgBox = ((ImageView)findViewById(2131296351)); + this.mSafeMsgBox.setOnClickListener(new t(this)); + this.mMsgUnread = ((ImageView)findViewById(2131296352)); + this.mLoginHistoryTitle = ((TextView)findViewById(2131296372)); + this.mLoginHistoryDesc = ((TextView)findViewById(2131296373)); + this.mLoginHistoryPic = ((ImageView)findViewById(2131296374)); + this.mNotVerify = ((TextView)findViewById(2131296349)); + this.mEvalLevel = ((TextView)findViewById(2131296360)); + this.mZzbEvalLevel = ((TextView)findViewById(2131296367)); + this.mDetailMsg = ((TextView)findViewById(2131296361)); + this.mZzbDetailMsg = ((TextView)findViewById(2131296368)); + this.mDelSafeModeBtn = ((Button)findViewById(2131296362)); + this.mZzbDelSafeModeBtn = ((Button)findViewById(2131296369)); + this.mUser = ax.a().e(); + if (this.mUser == null) + { + this.mMsgUnread.setVisibility(4); + this.rl_eval.setVisibility(0); + this.rl_eval.setEnabled(true); + this.ll_eval_head.setClickable(true); + this.mEvalLevel.setText(2131362305); + this.rl_eval_zzb.setVisibility(8); + } + for (;;) + { + this.mPswLayout = ((RelativeLayout)findViewById(2131296380)); + this.mProtectionLayout = ((RelativeLayout)findViewById(2131296385)); + this.mMbLayout = ((RelativeLayout)findViewById(2131296375)); + this.mPswTitle = ((TextView)findViewById(2131296382)); + this.mProtectionTitle = ((TextView)findViewById(2131296387)); + this.mMbTitle = ((TextView)findViewById(2131296377)); + this.mPswDesc = ((TextView)findViewById(2131296383)); + this.mProtectionDesc = ((TextView)findViewById(2131296388)); + this.mMbDesc = ((TextView)findViewById(2131296378)); + this.mPswPic = ((ImageView)findViewById(2131296384)); + this.mProtectionPic = ((ImageView)findViewById(2131296389)); + this.mMbPic = ((ImageView)findViewById(2131296379)); + return; + if (this.mUser.mIsZzb) + { + this.rl_eval.setVisibility(8); + this.rl_eval_zzb.setVisibility(0); + this.mZzbEvalLevel.setText(2131362318); + } + else + { + this.rl_eval.setVisibility(0); + this.rl_eval_zzb.setVisibility(8); + this.mEvalLevel.setText(2131362318); + } + } + } + + private void loadLastLoginLocation() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + resetItemStatus(); + return; + } + refreshLoginLocation(getResources().getString(2131361923)); + this.newMsgCount = 0; + byte[] arrayOfByte = com.tencent.token.x.a(RqdApplication.i()).a(ax.a().e().mRealUin); + if (arrayOfByte != null) + { + this.mSkey = com.tencent.token.utils.s.a(arrayOfByte); + bb.a().a(bb.e, this.mSkey, this.mHandler); + return; + } + com.tencent.token.x.a(RqdApplication.i()).a(this, "" + localQQUser.mRealUin, this.mHandler, false); + } + + private void loadNewSafeMsg() + { + ax localax = ax.a(); + QQUser localQQUser = localax.e(); + if ((!localax.o()) || (localQQUser == null)) { + return; + } + bd.a().a(this.mHandler); + } + + private void refreshEvalView() + { + e.b("refreshEvalView() "); + this.mUser = ax.a().e(); + if (this.mUser == null) { + return; + } + int i; + String str1; + if (this.mEvalResult.mDegree >= this.mLoginDegree) + { + i = this.mEvalResult.mDegree; + String str2 = this.mEvalResult.mTitle; + str1 = str2; + if (this.mEvalResult.mDegree == 0) + { + str1 = str2; + if (this.mLoginDegree == 1) { + str1 = getResources().getString(2131362307); + } + } + if (!this.mUser.mIsZzb) { + break label306; + } + this.mZzbLoadingImg.setVisibility(4); + this.mZzbLoadingImgResult.setVisibility(0); + this.rl_eval_zzb.setEnabled(true); + this.ll_eval_head.setEnabled(true); + this.mZzbEvalLevel.setVisibility(0); + this.mZzbEvalLevel.setText(str1); + if (i != 0) { + break label261; + } + this.mZzbLoadingImgResult.setImageResource(2130837806); + this.drawable.a(this.color[6], this.color[7]); + label180: + if ((this.mEvalResult.mDesc == null) || (this.mEvalResult.mDesc.length() <= 0)) { + break label299; + } + } + label261: + label299: + for (RqdApplication.e = this.mEvalResult.mDesc;; RqdApplication.e = null) + { + this.mPullToRefreshLayout.a(); + this.mRootLayout.invalidate(); + this.mRootLayout.postInvalidate(); + LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + return; + i = this.mLoginDegree; + break; + this.mZzbLoadingImgResult.setImageResource(2130837800); + this.drawable.a(this.color[(i * 2)], this.color[(i * 2 + 1)]); + break label180; + } + label306: + this.mLoading.setVisibility(4); + this.mLoadingResult.setVisibility(0); + if (this.mEvalResult.mDegree == 2) + { + this.mLoadingResult.setImageResource(2130837805); + label343: + this.rl_eval.setEnabled(true); + this.ll_eval_head.setEnabled(true); + this.mEvalLevel.setVisibility(0); + this.mEvalLevel.setText(str1); + if ((this.mEvalResult.mDesc == null) || (this.mEvalResult.mDesc.length() <= 0)) { + break label473; + } + } + label473: + for (RqdApplication.e = this.mEvalResult.mDesc;; RqdApplication.e = null) + { + this.drawable.a(this.color[(i * 2)], this.color[(i * 2 + 1)]); + break; + if (this.mEvalResult.mDegree == 1) + { + this.mLoadingResult.setImageResource(2130837799); + break label343; + } + this.mLoadingResult.setImageResource(2130837803); + break label343; + } + } + + private void refreshUinPanel() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser != null) + { + this.mQQNick.setText(localQQUser.mNickName); + e.c("account page bindview nick=" + localQQUser.mNickName + ", uin=" + localQQUser.mUin); + this.mQQFace.setImageDrawable(k.a(localQQUser.mRealUin + "", localQQUser.mUin + "")); + if (localQQUser.mIsBinded) { + this.mNotVerify.setVisibility(4); + } + while (localQQUser.mIsZzb) + { + this.mQQFaceCircle.setImageDrawable(getResources().getDrawable(2130838024)); + this.mQQFaceCircle.setVisibility(0); + this.mQQFaceBorder.setVisibility(0); + return; + this.mNotVerify.setVisibility(0); + } + this.mQQFaceCircle.setImageDrawable(getResources().getDrawable(2130837522)); + this.mQQFaceCircle.setVisibility(0); + this.mQQFaceBorder.setVisibility(4); + return; + } + this.mMsgUnread.setVisibility(4); + this.rl_eval.setVisibility(0); + this.rl_eval.setEnabled(true); + this.rl_eval_zzb.setVisibility(8); + this.mQQNick.setText(getResources().getString(2131362694)); + this.mQQFaceCircle.setVisibility(4); + this.mQQFaceBorder.setVisibility(4); + this.mQQFace.setImageResource(2130837768); + this.mNotVerify.setVisibility(4); + this.mEvalLevel.setText(getResources().getString(2131362305)); + this.mLoading.setVisibility(4); + this.mLoadingResult.setVisibility(0); + this.mLoadingResult.setImageResource(2130837802); + } + + private void resetItemStatus() + { + this.mLoginHistoryPic.clearAnimation(); + this.mLoginHistoryPic.setVisibility(4); + this.mLoginHistoryDesc.setTextColor(getResources().getColor(2131165335)); + this.mLoginHistoryDesc.setText(getResources().getString(2131362309)); + this.itemCount = 3; + if ((this.itemObjectMap != null) && (this.itemObjectMap.size() != 0)) + { + if (this.itemObjectMap.get(Integer.valueOf(2)) != null) { + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(2))).b(this.mPswDefaultListener); + } + if (this.itemObjectMap.get(Integer.valueOf(3)) != null) { + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(3))).b(this.mProtecDefaultListener); + } + if (this.itemObjectMap.get(Integer.valueOf(4)) != null) { + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(4))).b(this.mMbDefaultListener); + } + } + if (this.mHandler != null) { + this.mHandler.removeMessages(1000); + } + } + + private void selectView(com.tencent.token.global.d paramd, Message paramMessage) + { + if ((paramd != null) && (paramMessage != null) && (paramMessage.arg1 != 110) && (paramMessage.arg1 != 111)) + { + e.c("----result.mErrCode: " + paramd.a); + e.c("----result.mErrDebug: " + paramd.b); + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + this.mErrorView.a(this.mErrorAction); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramd.a); + this.mErrorView.setTag(Integer.valueOf(paramMessage.what)); + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + setRightTitleImageHide(); + return; + } + this.mUser = ax.a().e(); + if ((this.mUser == null) || ((paramMessage != null) && ((paramMessage.arg1 == 110) || (paramMessage.arg1 == 111)))) + { + ax.a().k = false; + mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + return; + } + if (this.mErrorView != null) { + this.mErrorView.setVisibility(8); + } + setLoadingOn(); + loadLastLoginLocation(); + } + + private void setLoadingOn() + { + this.mUser = ax.a().e(); + if (this.mUser == null) { + return; + } + if (this.mUser.mIsZzb) + { + this.loading = new bp(this, true); + this.drawable.b(this.color[6], this.color[7]); + this.loading.setBounds(this.mLoading.getLeft(), this.mLoading.getTop(), this.mLoading.getRight(), this.mLoading.getBottom()); + if (!this.mUser.mIsZzb) { + break label317; + } + this.rl_eval.setVisibility(4); + this.rl_eval_zzb.setVisibility(0); + this.mZzbLoadingImg.setImageDrawable(this.loading); + this.mZzbLoadingImg.setVisibility(0); + this.mZzbLoadingImgResult.setVisibility(4); + this.mZzbEvalLevel.setVisibility(0); + this.mZzbEvalLevel.setText(2131362318); + } + for (;;) + { + this.mLoginHistoryPic.setVisibility(0); + this.mLoginHistoryPic.setImageDrawable(getResources().getDrawable(2130837508)); + this.mLoginHistoryPic.startAnimation(AnimationUtils.loadAnimation(this, 2130968581)); + this.mLoginHistoryDesc.setText(getResources().getString(2131362322)); + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(2))).a(1, null); + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(3))).a(1, null); + ((com.tencent.token.core.bean.d)this.itemObjectMap.get(Integer.valueOf(4))).a(1, null); + return; + this.loading = new bp(this, false); + this.drawable.b(this.color[0], this.color[1]); + break; + label317: + this.rl_eval.setVisibility(0); + this.rl_eval_zzb.setVisibility(4); + this.mLoading.setImageDrawable(this.loading); + this.mLoading.setVisibility(0); + this.mLoadingResult.setVisibility(4); + this.mEvalLevel.setText(2131362318); + } + } + + private void showSafeMode(EvalAccountResult paramEvalAccountResult) + { + if (paramEvalAccountResult == null) {} + QQUser localQQUser; + do + { + return; + localQQUser = ax.a().e(); + } while ((localQQUser == null) || (paramEvalAccountResult.mStatus != 4) || ((paramEvalAccountResult.mSubStatus != 0) && (paramEvalAccountResult.mSubStatus != 1))); + LinearLayout.LayoutParams localLayoutParams = (LinearLayout.LayoutParams)this.ll_eval_head.getLayoutParams(); + localLayoutParams.height = this.mPullToRefreshLayout.getHeight(); + this.ll_eval_head.setLayoutParams(localLayoutParams); + this.ll_eval_head.postInvalidate(); + this.mScrollView.pageScroll(33); + this.mScrollView.setOnTouchListener(new o(this)); + if (localQQUser.mIsZzb) + { + this.mZzbDetailMsg.setVisibility(0); + this.mZzbDelSafeModeBtn.setVisibility(0); + this.mZzbDetailMsg.setText(paramEvalAccountResult.mDesc); + if (paramEvalAccountResult.mSubStatus == 0) { + this.mZzbDelSafeModeBtn.setText(getResources().getString(2131362326)); + } + for (;;) + { + this.mZzbDelSafeModeBtn.setOnClickListener(new p(this, paramEvalAccountResult)); + return; + this.mZzbDelSafeModeBtn.setText(getResources().getString(2131362327)); + } + } + this.mDetailMsg.setVisibility(0); + this.mDelSafeModeBtn.setVisibility(0); + this.mDetailMsg.setText(paramEvalAccountResult.mDesc); + if (paramEvalAccountResult.mSubStatus == 0) { + this.mDelSafeModeBtn.setText(getResources().getString(2131362326)); + } + for (;;) + { + this.mDelSafeModeBtn.setOnClickListener(new q(this, paramEvalAccountResult)); + return; + this.mDelSafeModeBtn.setText(getResources().getString(2131362327)); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + exitToken(); + return true; + } + } + + public boolean isValid() + { + QQUser localQQUser = ax.a().e(); + if ((this.mSessId == null) || (localQQUser == null)) {} + String str; + do + { + return false; + str = this.mSessId; + ax.a(); + } while ((!str.equals(ax.c)) || (this.mUinHash != localQQUser.mUin) || (!this.mQuerySecurityReporter)); + return true; + } + + public void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramIntent == null) {} + do + { + return; + paramIntent = (EvalAccountResult)paramIntent.getSerializableExtra("eval_result"); + } while (paramIntent == null); + this.mEvalResult = paramIntent; + refreshEvalView(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + if (ag.c().g()) { + af.a().a(this.mHandler); + } + this.color = new int[] { getResources().getColor(2131165274), getResources().getColor(2131165275), getResources().getColor(2131165276), getResources().getColor(2131165277), getResources().getColor(2131165278), getResources().getColor(2131165279), getResources().getColor(2131165280), getResources().getColor(2131165281) }; + this.shadowColor = new int[] { getResources().getColor(2131165269), getResources().getColor(2131165271), getResources().getColor(2131165273) }; + this.mUser = ax.a().e(); + if ((this.mUser != null) && (this.mUser.mIsZzb)) + { + this.drawable = new ba(GradientDrawable.Orientation.LEFT_RIGHT, this.color[6], this.color[7]); + initView(); + hideTitle(); + paramBundle = new IntentFilter(); + paramBundle.addAction("com.tencent.token.account_opr_msg"); + this.localBroadcastManager = LocalBroadcastManager.getInstance(this); + this.localBroadcastManager.registerReceiver(this.mReceiver, paramBundle); + initItemDataObject(); + if (RqdApplication.f) + { + RqdApplication.f = false; + if (ax.a().e() != null) { + break label347; + } + showNoAccountTipDialog(this, 20, 0); + } + } + label347: + while (ax.a().e().mIsBinded) + { + return; + this.drawable = new ba(GradientDrawable.Orientation.LEFT_RIGHT, this.color[0], this.color[1]); + break; + } + showNoAccountTipDialog(this, 20, 1); + } + + protected void onDestroy() + { + super.onDestroy(); + mNeedRefreshEval = true; + ax.a().k = false; + if (this.localBroadcastManager != null) { + this.localBroadcastManager.unregisterReceiver(this.mReceiver); + } + } + + protected void onPause() + { + super.onPause(); + } + + public void onRefresh(PullToRefreshLinearLayout paramPullToRefreshLinearLayout) + { + if (ax.a().e() != null) + { + mNeedRefreshEval = true; + onResume(); + this.mHandler.postDelayed(new v(this), 6000L); + return; + } + this.mPullToRefreshLayout.a(); + } + + protected void onResume() + { + super.onResume(); + QQUser localQQUser = ax.a().e(); + LoginMsgActivity.setShowNewMsgCnt(false, 0); + if ((!RqdApplication.b) && (this.needgotologobyprotect)) + { + gotologobyprotect(); + this.needgotologobyprotect = false; + return; + } + e.a("account page + need=" + mNeedRefreshEval + ", query=" + ax.a().k); + e.c("mNeedRefreshEval =" + mNeedRefreshEval + ", QQUserAgent.getInstance().getIsUserChanged()=" + ax.a().i()); + if ((mNeedRefreshEval) || (ax.a().i())) + { + if ((this.mErrorView != null) && (this.mErrorView.getVisibility() == 0)) { + this.mErrorView.setVisibility(8); + } + if ((this.mZzbDelSafeModeBtn.getVisibility() != 8) || (this.mDelSafeModeBtn.getVisibility() != 8)) { + hideSafeMode(); + } + this.mScrollView.setOnTouchListener(null); + if (localQQUser == null) { + break label294; + } + refreshLoginLocation(getResources().getString(2131361923)); + if (!localQQUser.mIsZzb) { + break label272; + } + this.drawable.b(this.color[6], this.color[7]); + resetItemStatus(); + refreshUinPanel(); + setLoadingOn(); + if (!ax.a().k) { + break label341; + } + loadLastLoginLocation(); + } + for (;;) + { + refreshUinPanel(); + return; + label272: + this.drawable.b(this.color[0], this.color[1]); + break; + label294: + this.mLoginHistoryDesc.setText(getResources().getString(2131362309)); + this.mMsgUnread.setVisibility(4); + this.drawable.b(this.color[0], this.color[1]); + break; + label341: + if (!ag.c().g()) { + this.mTokenCore.b(this.mHandler); + } + } + } + + protected void onSaveInstanceState(Bundle paramBundle) {} + + public void refreshLoginLocation() + { + Object localObject = this.mLoginMsgCache.a(); + if (localObject != null) + { + localObject = ((SafeMsgItem)localObject).mContent; + this.isLastLoginResult = true; + this.isCurrentLoginResult = true; + } + for (;;) + { + refreshLoginLocation((String)localObject); + return; + localObject = null; + } + } + + public void refreshLoginLocation(String paramString) + { + String str; + if (paramString == null) + { + str = getResources().getString(2131361924); + this.isLastLoginResult = true; + this.mLoginDegree = 0; + if (!mNeedShowIpcMsg) { + break label166; + } + str = getResources().getString(2131361925); + this.mLoginDegree = 1; + label47: + if ((paramString == null) || (!paramString.equals(getResources().getString(2131361923)))) { + break label196; + } + paramString = getResources().getString(2131362460); + if ((!this.isLastLoginResult) || (!this.isCurrentLoginResult)) { + break label304; + } + this.mLoginHistoryDesc.setText(paramString + " " + str); + } + for (;;) + { + this.isLastLoginResult = false; + this.isCurrentLoginResult = false; + return; + str = getResources().getString(2131361922) + paramString; + break; + label166: + int i = str.indexOf('|'); + if (i != -1) + { + str = str.substring(0, i); + this.isLastLoginResult = true; + break label47; + } + break label47; + label196: + if ((bb.a().b != null) && (bb.a().b.mDevicesList != null) && (bb.a().b.mDevicesList.size() > 0)) {} + for (paramString = String.format(getResources().getString(2131362459), new Object[] { Integer.valueOf(bb.a().b.mDevicesList.size()) });; paramString = String.format(getResources().getString(2131362459), new Object[] { Integer.valueOf(0) })) + { + this.isCurrentLoginResult = true; + break; + } + label304: + this.mLoginHistoryDesc.setText(getResources().getString(2131362322)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AccountPageActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AppGuidActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AppGuidActivity.java new file mode 100755 index 00000000000..2f406cd3548 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AppGuidActivity.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.ImageButton; + +public class AppGuidActivity + extends Activity +{ + private void initview() + { + setContentView(2130903056); + an localan = new an(this); + ((ImageButton)findViewById(2131296434)).setOnClickListener(localan); + ((ImageButton)findViewById(2131296435)).setOnClickListener(localan); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + requestWindowFeature(1); + initview(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AppGuidActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/AssistantRecommendFriendQrcode.java b/com.tencent.token/classes.jar/com/tencent/token/ui/AssistantRecommendFriendQrcode.java new file mode 100755 index 00000000000..6fd196f0478 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/AssistantRecommendFriendQrcode.java @@ -0,0 +1,59 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.WXAPIFactory; +import com.tencent.token.af; +import com.tencent.token.p; + +public class AssistantRecommendFriendQrcode + extends BaseActivity +{ + private static final int TIMELINE_SUPPORTED_VERSION = 553779201; + public Handler mHandler = new ao(this); + private int mPageId; + private String mRecommendFriendGroupStr; + private String mRecommendFriendStr; + private IWXAPI mWeChatApi; + + private void showWechatBindDialog() + { + showUserDialog(2131361808, getString(2131362386), 2131361812, 2131361813, new ar(this), null); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + p.a().a(System.currentTimeMillis(), 41); + setContentView(2130903179); + this.mWeChatApi = WXAPIFactory.createWXAPI(this, "wx68451b483ebd18ce", false); + this.mWeChatApi.registerApp("wx68451b483ebd18ce"); + paramBundle = getIntent().getExtras(); + if (paramBundle != null) + { + this.mPageId = paramBundle.getInt("page_id"); + if (this.mPageId != 9) { + break label148; + } + } + label148: + for (this.mRecommendFriendStr = getResources().getString(2131362389);; this.mRecommendFriendStr = getResources().getString(2131362387)) + { + this.mRecommendFriendGroupStr = getResources().getString(2131362388); + findViewById(2131296999).setOnClickListener(new ap(this)); + findViewById(2131297002).setOnClickListener(new aq(this)); + af.a().c(this.mHandler); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.AssistantRecommendFriendQrcode + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/BaseActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/BaseActivity.java new file mode 100755 index 00000000000..3e8de98dff1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/BaseActivity.java @@ -0,0 +1,1319 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.app.Dialog; +import android.content.DialogInterface.OnCancelListener; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Handler.Callback; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.ViewStub; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TextView; +import android.widget.Toast; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.bean.h; +import com.tencent.token.core.push.a; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.ProDialog; +import com.tencent.token.ui.base.ProDialogWithShutDown; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import com.tencent.token.v; +import com.tencent.token.x; +import java.util.ArrayList; +import java.util.Iterator; + +public class BaseActivity + extends Activity + implements acn +{ + public static final int ADD_ACCOUNT_TIP_ACCOUNT = 0; + public static final int ADD_ACCOUNT_TIP_ACCOUNT_LOCK = 11; + public static final int ADD_ACCOUNT_TIP_FACE = 20; + public static final int ADD_ACCOUNT_TIP_FACE_CHANGEPSW = 24; + public static final int ADD_ACCOUNT_TIP_GAME_LOCK = 15; + public static final int ADD_ACCOUNT_TIP_GAME_PROTECT = 14; + public static final int ADD_ACCOUNT_TIP_GET_VERIFY_MSG = 13; + public static final int ADD_ACCOUNT_TIP_JL_SAFETY = 16; + public static final int ADD_ACCOUNT_TIP_LIBRARY = 2; + public static final int ADD_ACCOUNT_TIP_LOGIN_PROTECT = 12; + public static final int ADD_ACCOUNT_TIP_LOGIN_RECORD = 6; + public static final int ADD_ACCOUNT_TIP_MAIL_LOCK = 8; + public static final int ADD_ACCOUNT_TIP_MB_MOBLIE = 1; + public static final int ADD_ACCOUNT_TIP_MB_QUESTION = 23; + public static final int ADD_ACCOUNT_TIP_MODIFY_PWD = 10; + public static final int ADD_ACCOUNT_TIP_MY_MB = 19; + public static final int ADD_ACCOUNT_TIP_MY_PROTEC = 18; + public static final int ADD_ACCOUNT_TIP_PHYSICAL_EXAM = 4; + public static final int ADD_ACCOUNT_TIP_QB = 9; + public static final int ADD_ACCOUNT_TIP_QQ_TOKEN = 22; + public static final int ADD_ACCOUNT_TIP_REALNAME = 21; + public static final int ADD_ACCOUNT_TIP_RECOVER_FRIENDS = 17; + public static final int ADD_ACCOUNT_TIP_SAFE_NOTIFY = 5; + public static final int ADD_ACCOUNT_TIP_SAFE_REPORTER = 7; + public static final int ADD_ACCOUNT_TIP_ZZB = 3; + private static final int BUTTON_NUM_ONE = 1; + private static final int BUTTON_NUM_TWO = 2; + public static final int K_DELETE2VERIFY_REQUEST = 32; + public static final int K_DELETEORMODIFY2VERIFY_SUC_RESPONSE = 35; + public static final int K_DLG_CORRECTING_TIME = 6; + public static final int K_DLG_EXIT = 4; + public static final int K_DLG_MARKET_ERR = 5; + public static final int K_DLG_NETWORK_ERR = 8; + public static final int K_DLG_NORMAL_PROGRESS = 12; + public static final int K_DLG_NOT_BIND_UIN = 9; + public static final int K_DLG_NO_UPDATE = 3; + public static final int K_DLG_QUERY_DUAL_MSG = 10; + public static final int K_DLG_QUERY_UPDATE = 2; + public static final int K_DLG_REPORT_LOCATION_DOING = 7; + public static final int K_DLG_SCANLOGINING = 11; + public static final int K_DLG_UPDATE_REMIND = 1; + public static final int K_MODIFY2VERIFY_REQUEST = 34; + public static final int SCENE_ADD_ACCOUNT = 0; + public static final int SCENE_VERIFY_ACCOUNT = 1; + private static boolean gotobackground; + private static boolean isForeground = false; + private static ArrayList mActivityList = new ArrayList(); + private static final Class[] mNoBackActivity = { AccountPageActivity.class, UtilsActivity.class, SettingPageActivity.class }; + public static Activity sTopActivity; + protected RelativeLayout animLayout; + protected ImageView arcImg; + private Handler.Callback callback = new as(this); + protected final Handler fHandler = new bd(this); + protected ImageView lineImg; + private final long mAppid = 523005425L; + protected byte[] mAqSig; + protected View mBackArrow; + protected ImageView mBackArrowImg; + private View.OnClickListener mCompleteButtonListener = new bg(this); + private RelativeLayout mContent; + private Toast mDefaultToast; + private Dialog mDialog; + private TitleOptionMenu mDialogMenu; + private long mExitTime = 0L; + private boolean mIsActiveSuccess = false; + private boolean mNeverShowLockVerifyView = false; + private Toast mOrangeToast; + private ProDialogWithShutDown mProDialog; + private ProDialog mProDialogWithoutShutDown; + private Resources mRes; + private Button mRightOptionButton; + public ImageView mRightOptionImage; + protected View mRightOptionLayout; + private boolean mShowLockVerifyViewOnce = false; + protected View mTitleBar; + protected View mTitleDivider; + protected TextView mTitleText; + private final int mType = 2; + protected long mUin; + private UpgradeDeterminResult mUpDetermin; + private BaseActivity mmContext; + + public static void addActivitToList(Activity paramActivity) + { + mActivityList.add(paramActivity); + } + + public static void clearAllActivities() + { + int i = 0; + for (;;) + { + try + { + if (i < mActivityList.size()) + { + Activity localActivity = (Activity)mActivityList.get(i); + if ((localActivity != null) && (!localActivity.isFinishing())) { + localActivity.finish(); + } + } + else + { + mActivityList.clear(); + return; + } + } + catch (Exception localException) + { + e.c("remove activity list err=" + localException.getMessage()); + return; + } + i += 1; + } + } + + private void doLockVerify() + { + if (RqdApplication.e()) { + if (t.l() == 0) + { + localIntent = new Intent(this, FaceRecognitionCameraActivityOld.class); + localIntent.putExtra("flag", 2); + localIntent.putExtra("istry", 0); + localIntent.putExtra("scene", 5); + startActivity(localIntent); + } + } + while (!RqdApplication.d()) { + for (;;) + { + return; + Intent localIntent = new Intent(this, FaceStartVryCameraActivity.class); + } + } + showLockVerifyView(); + } + + private View getContentView() + { + return ((ViewGroup)getWindow().getDecorView()).getChildAt(0); + } + + public static boolean getGotoBackground() + { + return gotobackground; + } + + public static boolean getIsAppForeground() + { + return isForeground; + } + + private void goToWtLoginAccountInput() + { + QQUser localQQUser = com.tencent.token.ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void initControllers() + { + this.mTitleBar = findViewById(2131296418); + this.mTitleText = ((TextView)findViewById(2131296419)); + this.mTitleDivider = findViewById(2131296424); + ViewGroup.MarginLayoutParams localMarginLayoutParams = (ViewGroup.MarginLayoutParams)this.mTitleBar.getLayoutParams(); + if (IndexActivity.S_RES_HEIGHT > 0) { + localMarginLayoutParams.height = IndexActivity.S_TITLE_HEIGHT; + } + this.mBackArrow = findViewById(2131296420); + this.mBackArrowImg = ((ImageView)findViewById(2131296421)); + this.mRightOptionButton = ((Button)findViewById(2131297148)); + setDefaultTitle(); + setDefaultBackArrow(); + } + + public static boolean isAppOpen() + { + return (mActivityList != null) && (mActivityList.size() > 0) && (((Activity)mActivityList.get(0)).getClass().getName().indexOf("LogoActivity") != -1); + } + + public static void removeActivityFromList(Activity paramActivity) + { + mActivityList.remove(paramActivity); + } + + private void setActiveSucc(boolean paramBoolean) + { + ag localag = ag.c(); + localag.i(); + localag.n(); + this.mIsActiveSuccess = true; + this.mmContext.setContentView(2130903050); + this.mmContext.setBackArrowHide(); + this.mmContext.setTitle(2131361842); + com.tencent.token.ax.a().f(this.mUin); + ((Button)this.mmContext.findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + ((ImageView)this.mmContext.findViewById(2131296395)).setImageDrawable(k.a(this.mUin + "", s.f(this.mUin) + " ")); + a.a().a(8); + } + + private void showBaseUserDialogBtn(int paramInt1, int paramInt2, String paramString, int paramInt3, int paramInt4, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2, DialogInterface.OnCancelListener paramOnCancelListener) + { + String str1 = null; + if (paramInt3 != 0) { + str1 = getResources().getString(paramInt3); + } + String str2 = null; + if (paramInt4 != 0) { + str2 = getResources().getString(paramInt4); + } + showBaseUserDialogBtn(paramInt1, paramInt2, paramString, str1, str2, paramOnClickListener1, paramOnClickListener2, paramOnCancelListener); + } + + private void showBaseUserDialogBtn(int paramInt1, int paramInt2, String paramString1, String paramString2, String paramString3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2, DialogInterface.OnCancelListener paramOnCancelListener) + { + this.mDialog = new Dialog(this, 2131427445); + TextView localTextView2; + TextView localTextView1; + TextView localTextView3; + TextView localTextView4; + if (paramInt1 == 1) + { + this.mDialog.setContentView(2130903073); + localTextView2 = (TextView)this.mDialog.findViewById(2131296514); + localTextView1 = null; + localTextView3 = (TextView)this.mDialog.findViewById(2131296404); + localTextView4 = (TextView)this.mDialog.findViewById(2131296512); + if (paramInt2 != 0) { + break label241; + } + localTextView3.setVisibility(8); + label89: + if (paramString1 == null) { + break label250; + } + localTextView4.setText(paramString1); + label99: + if (paramString2 != null) { + localTextView2.setText(paramString2); + } + if (paramOnClickListener1 == null) { + break label260; + } + localTextView2.setOnClickListener(new ax(this, paramOnClickListener1)); + label131: + if (localTextView1 != null) + { + if (paramOnClickListener2 == null) { + break label276; + } + if (paramString3 != null) { + localTextView1.setText(paramString3); + } + localTextView1.setOnClickListener(new az(this, paramOnClickListener2)); + } + } + for (;;) + { + if (paramOnCancelListener != null) { + this.mDialog.setOnCancelListener(paramOnCancelListener); + } + this.mDialog.setCanceledOnTouchOutside(true); + this.mDialog.show(); + return; + this.mDialog.setContentView(2130903074); + localTextView2 = (TextView)this.mDialog.findViewById(2131296516); + localTextView1 = (TextView)this.mDialog.findViewById(2131296514); + break; + label241: + localTextView3.setText(paramInt2); + break label89; + label250: + localTextView4.setVisibility(8); + break label99; + label260: + localTextView2.setOnClickListener(new ay(this)); + break label131; + label276: + localTextView1.setOnClickListener(new ba(this)); + } + } + + private void showShensuDialog() + { + Intent localIntent = new Intent(this.mmContext, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", com.tencent.token.ax.a().e().mRealUin); + this.mmContext.startActivity(localIntent); + } + + private void showUpgradeDeterminResult(UpgradeDeterminResult paramUpgradeDeterminResult) + { + int j = 1; + if (this.mmContext.isFinishing()) {} + QQUser localQQUser; + do + { + return; + localQQUser = com.tencent.token.ax.a().e(); + } while (localQQUser == null); + Intent localIntent; + if (paramUpgradeDeterminResult.a() == 1) + { + if (paramUpgradeDeterminResult.mMobileAppear == 1) {} + for (int i = 1; i != 0; i = 0) + { + localIntent = new Intent(this.mmContext, NetActiveVryMobileNoSmsActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + this.mmContext.startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (paramUpgradeDeterminResult.mQuesAppear != 1) { + break label216; + } + i = 1; + label135: + if (i == 0) { + if (paramUpgradeDeterminResult.mHaveMobile != 1) { + break label221; + } + } + } + } + label216: + label221: + for (i = j;; i = 0) + { + if (i == 0) { + break label226; + } + localIntent = new Intent(this.mmContext, NetActiveVryOtherListActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + this.mmContext.startActivity(localIntent); + return; + i = 0; + break; + i = 0; + break label135; + } + label226: + showShensuDialog(); + return; + } + if ((paramUpgradeDeterminResult.a() == 2) || (paramUpgradeDeterminResult.a() == 3)) + { + localIntent = new Intent(this.mmContext, NetActiveSetDirBySeqActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + localIntent.putExtra("bindType", paramUpgradeDeterminResult.a()); + this.mmContext.startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 4) + { + localIntent = new Intent(this.mmContext, NoCheckWithAuthActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + this.mmContext.startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 5) + { + af.a().c(localQQUser.mRealUin, 5, "", "", this.fHandler); + return; + } + if (paramUpgradeDeterminResult.a() == 6) + { + localIntent = new Intent(this.mmContext, VerifyMobilePhoneActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + this.mmContext.startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 8) + { + localIntent = new Intent(this.mmContext, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + this.mmContext.startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 9) + { + localIntent = new Intent(this.mmContext, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("ish5zzb", true); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + this.mmContext.startActivity(localIntent); + return; + } + showShensuDialog(); + } + + private void showUserDialogHasCancel(String paramString, int paramInt, DialogInterface.OnClickListener paramOnClickListener) + { + showUserDialog(2131361808, paramString, paramInt, 2131361804, paramOnClickListener, null); + } + + private void showUserDialogNoCancel(String paramString, int paramInt, DialogInterface.OnClickListener paramOnClickListener) + { + showUserDialog(2131361808, paramString, paramInt, paramOnClickListener); + } + + public void addContentView(View paramView) + { + if (this.mContent != null) { + this.mContent.addView(paramView, 1, new RelativeLayout.LayoutParams(-1, -1)); + } + } + + public void bringChildToFront(View paramView) + { + this.mContent.bringChildToFront(paramView); + } + + protected void cancelRequest() {} + + public void dismissDialog() + { + if (isFinishing()) {} + for (;;) + { + return; + try + { + if (this.mDialog != null) + { + this.mDialog.cancel(); + this.mDialog = null; + } + if (this.mProDialog != null) + { + this.mProDialog.dismiss(); + this.mProDialog = null; + } + if (this.mProDialogWithoutShutDown != null) + { + this.mProDialogWithoutShutDown.dismiss(); + this.mProDialogWithoutShutDown = null; + return; + } + } + catch (Exception localException) + { + e.b(localException.toString()); + } + } + } + + protected void exit() + { + Iterator localIterator = mActivityList.iterator(); + while (localIterator.hasNext()) { + ((Activity)localIterator.next()).finish(); + } + } + + protected void exitToken() + { + if (System.currentTimeMillis() - this.mExitTime > Long.parseLong(getResources().getString(2131361965))) + { + Toast.makeText(RqdApplication.i(), 2131361964, 0).show(); + this.mExitTime = System.currentTimeMillis(); + return; + } + p.a().a(true); + v.a().a(true); + exit(); + } + + public void getA2Fail(int paramInt) + { + if (paramInt == 2) + { + if (isFinishing()) { + return; + } + new WtloginCaptchaDialog(this.mmContext, this.fHandler, Long.toString(this.mUin)).show(); + return; + } + if (paramInt == -1000) + { + this.mmContext.dismissDialog(); + this.mmContext.showToast(2131361943); + return; + } + if (paramInt == 8192) + { + this.mmContext.dismissDialog(); + this.mmContext.showToast(2131362089); + return; + } + if ((paramInt == 1) || (paramInt == 15) || (paramInt == 16)) + { + this.mmContext.dismissDialog(); + this.mmContext.showUserDialog(2131362364, getResources().getString(2131362365), 2131361800, new bf(this)); + return; + } + this.mmContext.dismissDialog(); + this.mmContext.showToast(2131362091); + } + + public void getA2Succ() + { + af.a().a(this.mUin, this.mAqSig, this.fHandler, 2); + } + + public TitleOptionMenu getDialogMenu() + { + return this.mDialogMenu; + } + + public Button getRightTitleButton() + { + return this.mRightOptionButton; + } + + public void gotoVerify(BaseActivity paramBaseActivity) + { + if (paramBaseActivity == null) {} + do + { + return; + this.mmContext = paramBaseActivity; + paramBaseActivity = com.tencent.token.ax.a().e(); + } while (paramBaseActivity == null); + this.mUin = paramBaseActivity.mRealUin; + paramBaseActivity = "" + paramBaseActivity.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(paramBaseActivity, 523005425L)) + { + localx.a(paramBaseActivity, this.fHandler, 523005425L); + showProDialog(this, 2131361808, 2131361817, null); + return; + } + showUserDialog(2131362364, getResources().getString(2131362365), 2131361800, new be(this)); + } + + public void hideLockVerifyView() {} + + public void hideTitle() + { + if (this.mTitleBar == null) { + return; + } + this.mTitleBar.setVisibility(8); + } + + protected void hideToast() + { + if (isFinishing()) {} + do + { + return; + if (this.mOrangeToast != null) { + this.mOrangeToast.cancel(); + } + } while (this.mDefaultToast == null); + this.mDefaultToast.cancel(); + } + + protected boolean isProDialogShow() + { + return ((this.mProDialog != null) && (this.mProDialog.isShowing())) || ((this.mProDialogWithoutShutDown != null) && (this.mProDialogWithoutShutDown.isShowing())); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (((paramInt1 == 32) || (paramInt1 == 34)) && (paramInt2 == 0)) { + finish(); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mRes = getResources(); + mActivityList.add(this); + } + + protected void onDestroy() + { + try + { + mActivityList.remove(this); + super.onDestroy(); + return; + } + catch (Exception localException) + { + for (;;) + { + e.c("remove activity list err=" + localException.getMessage()); + } + } + } + + protected void onPause() + { + if ((this.mDialogMenu != null) && (this.mDialogMenu.getVisibility() == 0)) { + this.mDialogMenu.a(); + } + cancelRequest(); + super.onPause(); + } + + protected void onResume() + { + sTopActivity = this; + e.c("dualmsg:isForegrounde" + isForeground); + if ((!isForeground) && (!IndexActivity.s_FromPush) && (!IndexActivity.s_FromOtherApp)) + { + e.c("dualmsg:" + getClass().getName() + ":onresume: query=true"); + if (com.tencent.token.ax.a().e() != null) { + af.a().a(com.tencent.token.av.a, this.fHandler); + } + isForeground = true; + if (!s.b()) + { + e.b("resetShouldShowLockPatternVerifyView"); + RqdApplication.b(); + } + e.a("facepwd " + getClass() + ", face=" + RqdApplication.e() + ", gesture=" + RqdApplication.d()); + e.b("facepwd " + getClass() + ", nevershow=" + this.mNeverShowLockVerifyView + ", showonce=" + this.mShowLockVerifyViewOnce); + if ((this.mNeverShowLockVerifyView) || (!RqdApplication.c())) { + break label286; + } + doLockVerify(); + } + for (;;) + { + super.onResume(); + return; + e.c("dualmsg:" + getClass().getName() + ":onresume: query=false"); + break; + label286: + if ((this.mShowLockVerifyViewOnce) && (RqdApplication.c())) + { + doLockVerify(); + this.mShowLockVerifyViewOnce = false; + } + else + { + hideLockVerifyView(); + } + } + } + + protected void onSaveInstanceState(Bundle paramBundle) {} + + protected void onStart() + { + super.onStart(); + gotobackground = false; + } + + protected void onStop() + { + if (!s.c()) + { + gotobackground = true; + isForeground = false; + p.a().b(); + } + e.c("onStop:isForeground" + isForeground); + super.onStop(); + } + + public void setBackArrowHide() + { + if (this.mBackArrow != null) { + this.mBackArrow.setVisibility(8); + } + } + + public void setContentView(int paramInt) + { + super.setContentView(2130903220); + View localView = getLayoutInflater().inflate(paramInt, null); + this.mContent = ((RelativeLayout)findViewById(2131297155)); + this.mContent.addView(localView, new RelativeLayout.LayoutParams(-1, -1)); + getContentView().setBackgroundDrawable(localView.getBackground()); + this.animLayout = ((RelativeLayout)findViewById(2131297158)); + this.lineImg = ((ImageView)findViewById(2131297159)); + this.arcImg = ((ImageView)findViewById(2131297160)); + initControllers(); + } + + public void setContentView(View paramView) + { + super.setContentView(2130903220); + if (paramView != null) + { + this.mContent = ((RelativeLayout)findViewById(2131297155)); + this.mContent.addView(paramView, new RelativeLayout.LayoutParams(-1, -1)); + getContentView().setBackgroundDrawable(paramView.getBackground()); + } + initControllers(); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + Class[] arrayOfClass = mNoBackActivity; + int j = arrayOfClass.length; + i = 0; + if (i >= j) { + break label85; + } + Class localClass = arrayOfClass[i]; + if (!getClass().equals(localClass)) { + break label78; + } + } + label78: + label85: + for (int i = 1;; i = 0) + { + if (i == 0) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new bh(this)); + } + return; + i += 1; + break; + } + } + + public void setDefaultTitle() + { + try + { + ActivityInfo localActivityInfo = getPackageManager().getActivityInfo(getComponentName(), 128); + if ((localActivityInfo == null) || (localActivityInfo.labelRes == 0)) + { + hideTitle(); + return; + } + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + Object localObject; + for (;;) + { + localNameNotFoundException.printStackTrace(); + e.c(localNameNotFoundException.toString()); + localObject = null; + } + setTitle(localObject.labelRes); + } + } + + public void setNeverShowLockVerifyView() + { + this.mNeverShowLockVerifyView = true; + } + + public void setRightTitleImage(int paramInt, View.OnClickListener paramOnClickListener) + { + if (this.mRightOptionImage == null) + { + ((ViewStub)findViewById(2131297156)).inflate(); + this.mDialogMenu = ((TitleOptionMenu)findViewById(2131297300)); + this.mRightOptionLayout = findViewById(2131296422); + this.mRightOptionImage = ((ImageView)findViewById(2131296423)); + } + this.mRightOptionLayout.setVisibility(0); + this.mRightOptionImage.setImageResource(paramInt); + this.mRightOptionLayout.setTag(this.mRightOptionImage); + this.mRightOptionLayout.setOnClickListener(paramOnClickListener); + } + + public void setRightTitleImageHide() + { + if (this.mRightOptionImage == null) { + return; + } + this.mRightOptionLayout.setVisibility(8); + } + + public void setShowLockVerifyViewOnce() + { + this.mShowLockVerifyViewOnce = true; + } + + public void setTitle(int paramInt) + { + if ((this.mTitleBar == null) || (this.mTitleText == null)) { + return; + } + this.mTitleBar.setVisibility(0); + this.mTitleText.setText(getString(paramInt)); + } + + public void setTitle(CharSequence paramCharSequence) + { + if ((this.mTitleBar == null) || (this.mTitleText == null)) { + return; + } + this.mTitleBar.setVisibility(0); + this.mTitleText.setText(paramCharSequence); + } + + public void showLockVerifyView() + { + Intent localIntent = new Intent(this, StartPwdGestureVerifyActivity.class); + if ((this instanceof StartPwdGestureDeleteActivity)) + { + localIntent.putExtra("startpwd_verify_source", 1); + startActivityForResult(localIntent, 32); + return; + } + if ((this instanceof StartPwdGestureModifyActivity)) + { + localIntent.putExtra("startpwd_verify_source", 2); + startActivityForResult(localIntent, 34); + return; + } + localIntent.putExtra("startpwd_verify_source", 0); + startActivity(localIntent); + } + + public void showNoAccountTipDialog(BaseActivity paramBaseActivity, int paramInt1, int paramInt2) + { + dismissDialog(); + this.mmContext = paramBaseActivity; + View localView = View.inflate(paramBaseActivity, 2130903055, null); + Object localObject = (ImageView)localView.findViewById(2131296426); + TextView localTextView1 = (TextView)localView.findViewById(2131296428); + TextView localTextView2 = (TextView)localView.findViewById(2131296432); + ImageView localImageView = (ImageView)localView.findViewById(2131296431); + if (paramInt2 == 1) + { + ((ImageView)localObject).setImageResource(2130837529); + localTextView1.setText(2131362698); + localImageView.setVisibility(8); + localTextView2.setVisibility(0); + } + for (int i = 1;; i = 0) + { + localObject = (TextView)localView.findViewById(2131296429); + switch (paramInt1) + { + case 18: + case 19: + default: + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362675)); + } + for (;;) + { + if (i != 0) { + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362699)); + } + ((ImageView)localView.findViewById(2131296433)).setOnClickListener(new bb(this)); + localView.findViewById(2131296430).setOnClickListener(new bc(this, paramInt2, paramBaseActivity)); + this.mDialog = new Dialog(this, 2131427443); + this.mDialog.setContentView(localView); + this.mDialog.setOnCancelListener(null); + this.mDialog.show(); + return; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362674)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362676)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362677)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362678)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362679)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362680)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362681)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362682)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362683)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362684)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362685)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362686)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362687)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362688)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362689)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362690)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362691)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362675)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362675)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362675)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362675)); + continue; + ((TextView)localObject).setText(paramBaseActivity.getResources().getString(2131362673)); + } + } + } + + public void showOrangeToast(int paramInt) + { + if (isFinishing()) { + return; + } + showOrangeToast(getResources().getString(paramInt), 2130837961); + } + + public void showOrangeToast(int paramInt1, int paramInt2) + { + if (isFinishing()) { + return; + } + showOrangeToast(getResources().getString(paramInt1), paramInt2); + } + + public void showOrangeToast(String paramString) + { + if (isFinishing()) { + return; + } + showOrangeToast(paramString, 2130837961); + } + + protected void showOrangeToast(String paramString, int paramInt) + { + if ((paramString == null) || (paramString.length() == 0) || (isFinishing())) { + return; + } + Object localObject1; + Object localObject2; + if (this.mOrangeToast == null) + { + this.mOrangeToast = new Toast(this); + localObject1 = getLayoutInflater().inflate(2130903218, null); + this.mOrangeToast.setView((View)localObject1); + this.mOrangeToast.setDuration(0); + if (IndexActivity.S_TITLE_HEIGHT <= 0) + { + localObject1 = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics((DisplayMetrics)localObject1); + this.mOrangeToast.setGravity(55, 0, ((DisplayMetrics)localObject1).heightPixels / 12); + } + } + else + { + localObject2 = this.mOrangeToast.getView(); + localObject1 = (TextView)((View)localObject2).findViewById(2131296784); + localObject2 = (ImageView)((View)localObject2).findViewById(2131296783); + if (localObject1 != null) { + ((TextView)localObject1).setText(paramString); + } + if (localObject2 != null) + { + if (paramInt == 0) { + break label198; + } + ((ImageView)localObject2).setBackgroundResource(paramInt); + ((ImageView)localObject2).setVisibility(0); + } + } + for (;;) + { + this.mOrangeToast.show(); + return; + this.mOrangeToast.setGravity(55, 0, IndexActivity.S_TITLE_HEIGHT); + break; + label198: + ((ImageView)localObject2).setVisibility(8); + } + } + + public void showProDialog(Activity paramActivity, int paramInt1, int paramInt2, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialog = new ProDialogWithShutDown(paramActivity, paramOnClickListener, getResources().getString(paramInt2)); + this.mProDialog.show(); + } + + public void showProDialog(Activity paramActivity, int paramInt1, int paramInt2, View.OnClickListener paramOnClickListener, boolean paramBoolean) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialog = new ProDialogWithShutDown(paramActivity, paramOnClickListener, getResources().getString(paramInt2), paramBoolean); + this.mProDialog.show(); + } + + public void showProDialog(Activity paramActivity, int paramInt, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialog = new ProDialogWithShutDown(paramActivity, paramOnClickListener, null); + this.mProDialog.show(); + } + + protected void showProDialog(Activity paramActivity, int paramInt, String paramString, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialog = new ProDialogWithShutDown(paramActivity, paramOnClickListener, paramString); + this.mProDialog.show(); + } + + protected void showProDialogWithoutShutDown(Activity paramActivity, String paramString) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialogWithoutShutDown = new ProDialog(paramActivity, paramString); + this.mProDialogWithoutShutDown.show(); + } + + public void showToast(int paramInt) + { + if (isFinishing()) { + return; + } + showToast(getResources().getString(paramInt)); + } + + public void showToast(String paramString) + { + if ((paramString == null) || (paramString.length() == 0) || (isFinishing())) { + return; + } + if (this.mDefaultToast == null) { + this.mDefaultToast = Toast.makeText(this, paramString, 0); + } + for (;;) + { + this.mDefaultToast.setGravity(48, 0, IndexActivity.S_TITLE_HEIGHT + 5); + this.mDefaultToast.show(); + return; + this.mDefaultToast.setText(paramString); + } + } + + protected void showUserDialog(int paramInt) + { + switch (paramInt) + { + case 10: + default: + return; + case 9: + showUserDialog(2131361808, this.mRes.getString(2131362193), 2131362297, 2131361804, new bi(this), null); + return; + case 5: + showUserDialog(2131361808, this.mRes.getString(2131361971), 2131361800, new bj(this)); + return; + case 1: + h localh = h.b(); + if (3 == localh.a) + { + showUserDialog(2131361961, localh.f, 2131361962, new bk(this)); + return; + } + showUserDialog(2131361961, localh.f, 2131361962, 2131361963, new bl(this), new bm(this)); + return; + case 3: + showUserDialog(2131361808, this.mRes.getString(2131361969), 2131361800, null); + return; + case 4: + showUserDialog(2131361808, this.mRes.getString(2131361818), 2131361800, 2131361804, new bn(this), null); + return; + case 2: + showProDialog(this, 2131361967, 2131361968, null); + return; + case 8: + showUserDialog(2131361808, this.mRes.getString(2131361943), 2131361800, new at(this)); + return; + case 6: + showProDialog(this, 2131361896, 2131361897, null); + return; + case 7: + showProDialog(this, 2131361999, 2131361918, null); + return; + case 11: + showProDialog(this, 2131362070, 2131362069, null); + return; + } + showProDialog(this, 2131361808, 2131361816, null); + } + + public void showUserDialog(int paramInt1, int paramInt2, int paramInt3, View.OnClickListener paramOnClickListener, boolean paramBoolean) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mDialog = new Dialog(this, 2131427445); + this.mDialog.setContentView(2130903073); + TextView localTextView1 = (TextView)this.mDialog.findViewById(2131296514); + localTextView1.setText(paramInt3); + TextView localTextView2 = (TextView)this.mDialog.findViewById(2131296404); + if (paramInt1 == 0) + { + localTextView2.setVisibility(8); + ((TextView)this.mDialog.findViewById(2131296512)).setText(paramInt2); + if (paramOnClickListener == null) { + break label152; + } + localTextView1.setOnClickListener(paramOnClickListener); + } + for (;;) + { + if (paramBoolean) { + this.mDialog.setOnCancelListener(new aw(this, localTextView1)); + } + this.mDialog.show(); + return; + localTextView2.setText(paramInt1); + break; + label152: + localTextView1.setOnClickListener(new av(this)); + } + } + + public void showUserDialog(int paramInt, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mDialog = new Dialog(this, 2131427445); + this.mDialog.setContentView(paramInt); + Button localButton = (Button)this.mDialog.findViewById(2131296514); + if (localButton != null) { + localButton.setOnClickListener(paramOnClickListener); + } + this.mDialog.setOnCancelListener(new au(this, localButton)); + this.mDialog.show(); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, int paramInt3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(2, paramInt1, paramString, paramInt2, paramInt3, paramOnClickListener1, paramOnClickListener2, null); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, int paramInt3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2, DialogInterface.OnCancelListener paramOnCancelListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(2, paramInt1, paramString, paramInt2, paramInt3, paramOnClickListener1, paramOnClickListener2, paramOnCancelListener); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, DialogInterface.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(1, paramInt1, paramString, paramInt2, 0, paramOnClickListener, null, null); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, DialogInterface.OnClickListener paramOnClickListener, DialogInterface.OnCancelListener paramOnCancelListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(1, paramInt1, paramString, paramInt2, 0, paramOnClickListener, null, paramOnCancelListener); + } + + protected void showUserDialog(int paramInt, String paramString1, String paramString2, String paramString3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(2, paramInt, paramString1, paramString2, paramString3, paramOnClickListener1, paramOnClickListener2, null); + } + + protected void showUserDialog(String paramString) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(1, 2131361808, paramString, 2131361800, 0, null, null, null); + } + + public void showUserDialogWithCancel(int paramInt, View.OnClickListener paramOnClickListener, DialogInterface.OnCancelListener paramOnCancelListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mDialog = new Dialog(this, 2131427443); + this.mDialog.setContentView(paramInt); + Button localButton = (Button)this.mDialog.findViewById(2131296514); + if (localButton != null) { + localButton.setOnClickListener(paramOnClickListener); + } + this.mDialog.setOnCancelListener(paramOnCancelListener); + this.mDialog.setCanceledOnTouchOutside(true); + this.mDialog.show(); + } + + public void showUserDialogWithCancel(View paramView, View.OnClickListener paramOnClickListener, DialogInterface.OnCancelListener paramOnCancelListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mDialog = new Dialog(this, 2131427443); + this.mDialog.setContentView(paramView); + paramView = (Button)this.mDialog.findViewById(2131296514); + if (paramView != null) { + paramView.setOnClickListener(paramOnClickListener); + } + this.mDialog.setOnCancelListener(paramOnCancelListener); + this.mDialog.show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.BaseActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/BindUinActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/BindUinActivity.java new file mode 100755 index 00000000000..76c70f2c2ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/BindUinActivity.java @@ -0,0 +1,231 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class BindUinActivity + extends BaseActivity + implements Runnable +{ + private int mBindRetryTimes = 0; + Runnable mBindRunnable = new bp(this); + private View.OnClickListener mChangeListener = new bt(this); + private View.OnClickListener mCompleteButtonListener = new br(this); + Handler mHandler = new bq(this); + private boolean mIsActiveSuccess = false; + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private int mPageId; + private View.OnClickListener mSmsListener = new bs(this); + private String mSmsPort; + private long mTimeConter; + private String mUin; + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + + private void displaySucc() + { + dismissDialog(); + Object localObject = ax.a().d(this.mUser.mRealUin); + if (localObject != null) { + ax.a().b((QQUser)localObject); + } + ag.c().n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + findViewById(2131296398).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + ax.a().f(Long.parseLong((String)localObject)); + a.a().a(8); + } + + private String getUrlFromXml() + { + int i = b.a(); + String str = getResources().getString(2131361845); + e.b(str); + switch (i) + { + case 1: + default: + return str; + case 0: + return "test." + str; + case 2: + return "exp." + str; + } + return "gray." + str; + } + + private void init() + { + this.mIsActiveSuccess = false; + this.mUin = (this.mUser.mRealUin + ""); + String str = this.mUpDetermin.mMobileMask; + if ((str == null) || (str.length() == 0)) + { + finish(); + return; + } + ((Button)findViewById(2131296442)).setOnClickListener(this.mSmsListener); + ((Button)findViewById(2131296443)).setOnClickListener(this.mChangeListener); + ((TextView)findViewById(2131296440)).setText(str); + } + + private void sendBindUinSmsBySMSAPP(String paramString1, String paramString2) + { + try + { + paramString1 = new Intent("android.intent.action.SENDTO", Uri.parse("smsto:" + paramString1)); + paramString1.putExtra("sms_body", paramString2); + startActivityForResult(paramString1, 0); + p.a().a(System.currentTimeMillis(), 57); + return; + } + catch (Exception paramString1) + { + for (;;) + { + paramString1.printStackTrace(); + e.b(paramString1.toString()); + } + } + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361831, paramString, 2131361800, new bv(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + this.mHandler.sendEmptyMessage(3); + startTimeTask(3); + e.b("startTimeTask onActivityResult"); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903058); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + this.mPageId = getIntent().getIntExtra("page_id", 10); + init(); + new Thread(this).start(); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + protected void onResume() + { + super.onResume(); + ag.c().a.a(this.mHandler); + } + + protected void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void removeTimeTask(int paramInt) + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + e.c("removeTimeTask removeTimeTask"); + removeTimeTask(6); + Message localMessage = new Message(); + localMessage.what = 15; + this.mHandler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131362363, 2131361827, new bu(this)); + } + + public void startTimeTask(int paramInt) + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.BindUinActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/CheckMobileAvailableActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/CheckMobileAvailableActivity.java new file mode 100755 index 00000000000..827d023f183 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/CheckMobileAvailableActivity.java @@ -0,0 +1,188 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.fn; +import com.tencent.token.global.b; +import com.tencent.token.global.e; + +public class CheckMobileAvailableActivity + extends BaseActivity + implements Runnable +{ + public static final int UP_SMS_SCENE_APPLY_REALNAME = 5; + public static final String UP_SMS_SCENE_ID = "up_sms_scene_id"; + public static final int UP_SMS_SCENE_MOD_MOBILE = 3; + public static final int UP_SMS_SCENE_NORMAL_BIND = 0; + public static final int UP_SMS_SCENE_REALNAME_BIND = 1; + public static final int UP_SMS_SCENE_REALNAME_FIND_PSW = 2; + public static final int UP_SMS_SCENE_SET_MOBILE = 4; + public static final int UP_SMS_SCENE_UNBIND_APP = 6; + public static final int UP_SMS_SCENE_VERIFY = 7; + boolean canchange_uin; + private boolean isShowLockVerify = false; + String mBackPath; + String mFrontPath; + private Handler mHandler = new bw(this); + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private fn mMbInfoCache = fn.a(); + private String mMobile; + private int mOptype; + private RealNameStatusResult mRealNameResult; + private long mRealUin; + private int mSceneId; + private String mSmsPort; + private int mSourceId; + private long mTimeConter; + private String mTitle; + private UpgradeDeterminResult mUpDetermin = null; + private QQUser mUser = null; + private QQUser mUserToUnbind = null; + private TextView mobileMask; + private int upSmsSceneId; + + private String getUrlFromXml() + { + int i = b.a(); + String str2 = getResources().getString(2131361845); + e.b(str2); + String str1 = str2; + switch (i) + { + default: + str1 = str2; + } + for (;;) + { + return "http://" + str1; + str1 = "test." + str2; + continue; + str1 = "exp." + str2; + continue; + str1 = "gray." + str2; + } + } + + private void initView() + { + this.mobileMask = ((TextView)findViewById(2131296440)); + if ((this.upSmsSceneId == 0) || (this.upSmsSceneId == 7)) { + this.mobileMask.setText(this.mUpDetermin.mMobileMask); + } + for (;;) + { + Button localButton1 = (Button)findViewById(2131296468); + Button localButton2 = (Button)findViewById(2131296469); + localButton1.setOnClickListener(new bx(this)); + localButton2.setOnClickListener(new by(this)); + return; + if (this.upSmsSceneId == 5) { + this.mobileMask.setText(this.mRealNameResult.mMaskMobile); + } else if (this.upSmsSceneId == 6) { + this.mobileMask.setText(this.mUserToUnbind.mMobileMask); + } + } + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361831, paramString, 2131361800, new ca(this)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + paramBundle = getIntent(); + this.upSmsSceneId = paramBundle.getIntExtra("up_sms_scene_id", -1); + if ((this.upSmsSceneId == 0) || (this.upSmsSceneId == 7)) + { + this.mUser = ((QQUser)paramBundle.getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)paramBundle.getSerializableExtra("intent.upgradedetermin")); + this.mSceneId = paramBundle.getIntExtra("scene_id", 1004); + if ((this.mUser == null) || (this.mUpDetermin == null)) { + finish(); + } + } + else + { + if (this.upSmsSceneId != 5) { + break label167; + } + this.mRealNameResult = ((RealNameStatusResult)paramBundle.getSerializableExtra("realname_result")); + this.mSceneId = paramBundle.getIntExtra("scene_id", 1001); + this.mMobile = paramBundle.getStringExtra("realname_mobile"); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + } + label167: + do + { + do + { + setContentView(2130903064); + initView(); + return; + } while (this.upSmsSceneId != 6); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + this.mUserToUnbind = ((QQUser)paramBundle.getSerializableExtra("user_to_unbind")); + } while (this.mUserToUnbind != null); + finish(); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + public void removeTimeTask() + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + e.c("removeTimeTask removeTimeTask"); + removeTimeTask(); + Message localMessage = new Message(); + localMessage.what = 15; + this.mHandler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131362363, 2131361827, new bz(this)); + } + + public void startTimeTask() + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.CheckMobileAvailableActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/CommonVerifyActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/CommonVerifyActivity.java new file mode 100755 index 00000000000..5a32c046837 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/CommonVerifyActivity.java @@ -0,0 +1,233 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.text.TextUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +public class CommonVerifyActivity + extends BaseActivity +{ + private Button btn; + private String functionName; + private byte[] mAqSig; + private View.OnClickListener mCompleteButtonListener = new ch(this); + private Handler mHandler = new cc(this); + private boolean mIsActiveSuccess = false; + private long mUin; + private UpgradeDeterminResult mUpDetermin; + private TextView tv_content; + private TextView tv_title; + + private void goToWtLoginAccountInput() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void setActiveSucc(boolean paramBoolean) + { + ag localag = ag.c(); + localag.i(); + localag.n(); + this.mIsActiveSuccess = true; + setContentView(2130903050); + setBackArrowHide(); + setTitle(2131361842); + ax.a().f(this.mUin); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a(this.mUin + "", s.f(this.mUin) + " ")); + a.a().a(8); + } + + private void showShensuDialog() + { + Intent localIntent = new Intent(this, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", ax.a().e().mRealUin); + startActivity(localIntent); + } + + private void showUpgradeDeterminResult(UpgradeDeterminResult paramUpgradeDeterminResult) + { + int j = 1; + if (isFinishing()) {} + QQUser localQQUser; + do + { + return; + localQQUser = ax.a().e(); + } while (localQQUser == null); + Intent localIntent; + if (paramUpgradeDeterminResult.a() == 1) + { + if (paramUpgradeDeterminResult.mMobileAppear == 1) {} + for (int i = 1; i != 0; i = 0) + { + localIntent = new Intent(this, NetActiveVryMobileNoSmsActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (paramUpgradeDeterminResult.mQuesAppear != 1) { + break label193; + } + i = 1; + label122: + if (i == 0) { + if (paramUpgradeDeterminResult.mHaveMobile != 1) { + break label198; + } + } + } + } + label193: + label198: + for (i = j;; i = 0) + { + if (i == 0) { + break label203; + } + localIntent = new Intent(this, NetActiveVryOtherListActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + i = 0; + break; + i = 0; + break label122; + } + label203: + showShensuDialog(); + return; + } + if ((paramUpgradeDeterminResult.a() == 2) || (paramUpgradeDeterminResult.a() == 3)) + { + localIntent = new Intent(this, NetActiveSetDirBySeqActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + localIntent.putExtra("bindType", paramUpgradeDeterminResult.a()); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 4) + { + setContentView(2130903061); + findViewById(2131296458).setOnClickListener(new cf(this, localQQUser, paramUpgradeDeterminResult)); + findViewById(2131296459).setOnClickListener(new cg(this, paramUpgradeDeterminResult, localQQUser)); + return; + } + if (paramUpgradeDeterminResult.a() == 5) + { + af.a().c(localQQUser.mRealUin, 5, "", "", this.mHandler); + return; + } + if (paramUpgradeDeterminResult.a() == 6) + { + localIntent = new Intent(this, VerifyMobilePhoneActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 8) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 9) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("ish5zzb", true); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + showShensuDialog(); + } + + private void verfifyQQ() + { + Object localObject = ax.a().e(); + if (localObject == null) { + return; + } + localObject = "" + ((QQUser)localObject).mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b((String)localObject, 523005425L)) + { + localx.a((String)localObject, this.mHandler, 523005425L); + showProDialog(this, 2131361808, 2131361817, null); + return; + } + showUserDialog(2131362364, getResources().getString(2131362365), 2131361800, new ce(this)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + setContentView(2130903066); + if (paramBundle != null) { + this.mUin = paramBundle.mRealUin; + } + this.functionName = getIntent().getStringExtra("name"); + if (TextUtils.isEmpty(this.functionName)) + { + finish(); + return; + } + this.tv_title = ((TextView)findViewById(2131296474)); + paramBundle = String.format(getString(2131362191), new Object[] { this.functionName }); + this.tv_title.setText(paramBundle); + this.tv_content = ((TextView)findViewById(2131296475)); + paramBundle = String.format(getString(2131362192), new Object[] { this.functionName }); + this.tv_content.setText(paramBundle); + this.btn = ((Button)findViewById(2131296476)); + this.btn.setOnClickListener(new cb(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.CommonVerifyActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/CorrectTokenActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/CorrectTokenActivity.java new file mode 100755 index 00000000000..60561b9521a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/CorrectTokenActivity.java @@ -0,0 +1,280 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog; +import android.app.DatePickerDialog.OnDateSetListener; +import android.app.Dialog; +import android.app.TimePickerDialog; +import android.app.TimePickerDialog.OnTimeSetListener; +import android.hardware.Sensor; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.aq; +import com.tencent.token.as; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +public class CorrectTokenActivity + extends BaseActivity + implements Runnable +{ + static final int DATE_DIALOG_ID = 1; + static final int TIME_DIALOG_ID = 0; + public static int mDay; + public static int mHour; + public static int mMinute; + public static int mMonth; + public static int mYear; + private boolean ReAutoCorrectToken = true; + private String cur_ser_time; + Handler h = new ci(this); + Handler handler = new cr(this); + private boolean isRunning = true; + private boolean istimeTask = false; + private final float kEraseAccelerationThreshold = 2.0F; + private final float kFilteringFactor = 0.1F; + private long lastTime = System.currentTimeMillis(); + private SensorEventListener lsn; + private Button mAutoCorrect; + private View.OnClickListener mAutoListener = new cm(this); + private TextView mDateDisplay; + private View.OnClickListener mDateListener = new cp(this); + private DatePickerDialog.OnDateSetListener mDateSetListener = new co(this); + private TextView mTimeDisplay; + private View.OnClickListener mTimeListener = new cq(this); + private TimePickerDialog.OnTimeSetListener mTimeSetListener = new cn(this); + private Sensor sensor; + private SensorManager sensorMgr; + private long timeConter; + private int timeOut = 30000; + private long timer; + private float x; + private float y; + private float z; + + private static String pad(int paramInt) + { + if (paramInt >= 10) { + return String.valueOf(paramInt); + } + return "0" + String.valueOf(paramInt); + } + + private void saveTimeSetting() + { + Calendar localCalendar = getCalendar(); + localCalendar.set(mYear, mMonth, mDay, mHour, mMinute, 0); + long l = localCalendar.getTimeInMillis(); + ag.c().a(l - System.currentTimeMillis()); + ag.c().i(); + } + + private void showFailDialog() + { + showUserDialog(2131361899, getString(2131361900), 2131361914, 2131361802, new cj(this), new ck(this)); + } + + private void showSucDialog() + { + showUserDialog(2131361896, this.cur_ser_time, 2131361800, new cs(this)); + } + + private void updateDisplay() + { + setTime(System.currentTimeMillis() + ag.c().p()); + this.mDateDisplay.setText(new StringBuilder().append(mYear).append("年").append(mMonth + 1).append("月").append(mDay).append("日")); + this.mTimeDisplay.setText(new StringBuilder().append(pad(mHour)).append(":").append(pad(mMinute))); + } + + public void didAccelerate(j paramj) + { + double[] arrayOfDouble = new double[3]; + arrayOfDouble[0] = (paramj.a * 0.1F + arrayOfDouble[0] * 0.8999999985098839D); + arrayOfDouble[1] = (paramj.b * 0.1F + arrayOfDouble[1] * 0.8999999985098839D); + arrayOfDouble[2] = (paramj.c * 0.1F + arrayOfDouble[2] * 0.8999999985098839D); + double d1 = paramj.a - arrayOfDouble[0]; + double d2 = paramj.b - arrayOfDouble[0]; + double d3 = paramj.c - arrayOfDouble[0]; + if ((Math.sqrt(d1 * d1 + d2 * d2 + d3 * d3) >= 20.0D) && (this.ReAutoCorrectToken == true)) + { + ag.c().a.b.a(); + this.ReAutoCorrectToken = false; + showUserDialog(6); + startTimeTask(); + } + } + + protected Calendar getCalendar() + { + Calendar localCalendar = Calendar.getInstance(); + localCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); + return localCalendar; + } + + public String getTime() + { + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append(mYear); + localStringBuffer.append('年'); + if (mMonth < 9) { + localStringBuffer.append('0'); + } + localStringBuffer.append(mMonth + 1); + localStringBuffer.append('月'); + if (mDay < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(mDay); + localStringBuffer.append('日').append(' '); + if (mHour < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(mHour); + localStringBuffer.append(':'); + if (mMinute < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(mMinute); + return localStringBuffer.toString(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903067); + this.mDateDisplay = ((TextView)findViewById(2131296477)); + this.mTimeDisplay = ((TextView)findViewById(2131296478)); + this.mAutoCorrect = ((Button)findViewById(2131296479)); + updateDisplay(); + this.mAutoCorrect.setOnClickListener(this.mAutoListener); + this.mDateDisplay.setOnClickListener(this.mDateListener); + this.mTimeDisplay.setOnClickListener(this.mTimeListener); + this.sensorMgr = ((SensorManager)getSystemService("sensor")); + this.sensor = this.sensorMgr.getDefaultSensor(1); + this.lsn = new cl(this); + new Thread(this).start(); + } + + protected Dialog onCreateDialog(int paramInt) + { + switch (paramInt) + { + default: + return null; + case 0: + return new TimePickerDialog(this, this.mTimeSetListener, mHour, mMinute, false); + } + return new DatePickerDialog(this, this.mDateSetListener, mYear, mMonth, mDay); + } + + protected void onDestroy() + { + super.onDestroy(); + this.isRunning = false; + finish(); + } + + protected void onPrepareDialog(int paramInt, Dialog paramDialog) + { + switch (paramInt) + { + default: + return; + case 0: + ((TimePickerDialog)paramDialog).updateTime(mHour, mMinute); + return; + } + ((DatePickerDialog)paramDialog).updateDate(mYear, mMonth, mDay); + } + + protected void onResume() + { + super.onResume(); + ag.c().a.a(this.handler); + if (this.sensor != null) { + this.sensorMgr.registerListener(this.lsn, this.sensor, 2); + } + } + + protected void onStop() + { + super.onStop(); + this.sensorMgr.unregisterListener(this.lsn); + ag.c().a.a(null); + } + + public void removeTimeTask() + { + this.istimeTask = false; + } + + public void run() + { + for (;;) + { + if (this.isRunning) + { + if (System.currentTimeMillis() - this.timer > 1000L) + { + this.timer = System.currentTimeMillis(); + this.h.sendEmptyMessage(0); + } + if ((this.istimeTask) && (System.currentTimeMillis() - this.timeConter > this.timeOut)) {} + try + { + this.ReAutoCorrectToken = true; + removeTimeTask(); + Message localMessage = new Message(); + localMessage.what = 14; + this.handler.sendMessage(localMessage); + try + { + Thread.sleep(100L); + } + catch (Exception localException1) {} + } + catch (Exception localException2) + { + for (;;) + { + localException2.printStackTrace(); + } + } + } + } + } + + public void setTime(long paramLong) + { + Calendar localCalendar = Calendar.getInstance(); + Date localDate = new Date(); + localDate.setTime(paramLong); + localCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); + localCalendar.setTime(localDate); + mYear = localCalendar.get(1); + mMonth = localCalendar.get(2); + mDay = localCalendar.get(5); + mHour = localCalendar.get(11); + mMinute = localCalendar.get(12); + this.cur_ser_time = getTime(); + } + + public void startTimeTask() + { + this.timeConter = System.currentTimeMillis(); + this.istimeTask = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.CorrectTokenActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoActivity.java new file mode 100755 index 00000000000..7a13f1a2a92 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoActivity.java @@ -0,0 +1,191 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.Window; +import android.view.animation.Animation; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.FaceDetector.IdCardDirection; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.bf; +import com.tencent.token.ui.base.cu; + +public class DetectIDPhotoActivity + extends BaseActivity +{ + private final int F_DETECT_TWOSIDES_OVERTIME = 30000; + private byte[] backphotoinfo; + private byte[] frontphotoinfo; + private Handler handler = new cz(this); + private boolean mAnimation; + private String mBackPath; + private TextView mBorderTipTxt; + private Runnable mCheckOverTimeThread = new cv(this); + private int mCurrentSide = 1; + private boolean mDetectTwoSides = false; + private String mFrontPath; + private ImageView mGrid; + private ImageView mImgBorder; + private int mImgBorderH; + private int mImgBorderW; + private DetectIDPhotoPreview mPreview; + private ImageView mScan; + private boolean mStartCheckOverTime = false; + private long shieldtime; + + private void destroyview() + { + this.mImgBorder = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + } + + private void initView() + { + setContentView(2130903068); + hideTitle(); + findViewById(2131296490).setOnClickListener(new cw(this)); + findViewById(2131296488).setOnClickListener(new cx(this)); + this.mPreview = ((DetectIDPhotoPreview)findViewById(2131296481)); + this.mGrid = ((ImageView)findViewById(2131296483)); + this.mScan = ((ImageView)findViewById(2131296484)); + this.mScan.setBackgroundDrawable(new bf(this)); + this.mImgBorder = ((ImageView)findViewById(2131296482)); + this.mImgBorder.setImageResource(2130837822); + this.mBorderTipTxt = ((TextView)findViewById(2131296487)); + if (this.mCurrentSide == 2) + { + this.mBorderTipTxt.setText(2131362515); + if (!this.mAnimation) { + this.mImgBorder.setImageResource(2130837821); + } + } + if (!this.mStartCheckOverTime) + { + this.mStartCheckOverTime = true; + this.mPreview.postDelayed(this.mCheckOverTimeThread, 30000L); + } + } + + private void showChangeTakepicAlert() + { + showUserDialog(2131362778, getResources().getString(2131362779), 2131362780, 2131361804, new db(this), new dc(this)); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + e.c("resultCoderesultCode=" + paramInt2); + if (paramInt2 == 10) { + if (this.mCurrentSide == 1) { + this.mFrontPath = null; + } + } + do + { + do + { + do + { + return; + } while (this.mCurrentSide != 2); + this.mBackPath = null; + return; + if (paramInt2 != 20) { + break; + } + if (this.mCurrentSide == 1) + { + this.mCurrentSide = 2; + this.mAnimation = true; + e.c("onActivityResulton ccurrent_step=" + this.mCurrentSide); + return; + } + } while (this.mCurrentSide != 2); + paramIntent = new Intent(); + paramIntent.putExtra("frontdata", this.mFrontPath); + paramIntent.putExtra("backdata", this.mBackPath); + paramIntent.putExtra("frontphotoinfo", this.frontphotoinfo); + paramIntent.putExtra("backphotoinfo", this.backphotoinfo); + e.c("step2 onActivityResult!!!"); + setResult(0, paramIntent); + finish(); + return; + } while ((paramInt2 != 0) || (paramIntent == null)); + Intent localIntent = new Intent(); + this.mFrontPath = paramIntent.getStringExtra("frontdata"); + this.mBackPath = paramIntent.getStringExtra("backdata"); + localIntent.putExtra("frontdata", this.mFrontPath); + localIntent.putExtra("backdata", this.mBackPath); + e.c("step2 onActivityResult!!!"); + setResult(0, localIntent); + finish(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + requestWindowFeature(1); + getWindow().setFlags(128, 128); + } + + protected void onPause() + { + super.onPause(); + this.mPreview.a(); + this.mImgBorder = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + System.gc(); + } + + protected void onResume() + { + super.onResume(); + initView(); + switch (this.mCurrentSide) + { + } + for (;;) + { + this.mPreview.a(this, this.handler); + if (this.mAnimation) + { + this.mScan.setVisibility(4); + this.mGrid.setVisibility(4); + int i = View.MeasureSpec.makeMeasureSpec(0, 0); + int j = View.MeasureSpec.makeMeasureSpec(0, 0); + this.mImgBorder.measure(i, j); + this.mImgBorderH = this.mImgBorder.getMeasuredHeight(); + this.mImgBorderW = this.mImgBorder.getMeasuredWidth(); + cu localcu = new cu(0.0F, 90.0F, this.mImgBorderW / 2, this.mImgBorderH / 2, true); + localcu.setDuration(400L); + localcu.setFillAfter(true); + localcu.setAnimationListener(new cy(this)); + this.mImgBorder.startAnimation(localcu); + this.mAnimation = false; + } + return; + this.mPreview.a(FaceDetector.IdCardDirection.DT_FRONT); + continue; + this.mPreview.a(FaceDetector.IdCardDirection.DT_BACK); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.DetectIDPhotoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoPreview.java b/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoPreview.java new file mode 100755 index 00000000000..7d1990d9343 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/DetectIDPhotoPreview.java @@ -0,0 +1,284 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.os.Handler; +import android.util.AttributeSet; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import android.view.SurfaceView; +import com.tencent.jni.FaceDetector.IdCardDirection; +import com.tencent.token.global.e; + +public class DetectIDPhotoPreview + extends SurfaceView + implements SurfaceHolder.Callback +{ + private Context a; + private SurfaceHolder b; + private ct c; + private Handler d; + private String e; + private FaceDetector.IdCardDirection f; + + public DetectIDPhotoPreview(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.a = paramContext; + } + + public final void a() + { + if (this.c != null) + { + this.c.b(); + this.c = null; + } + } + + public final void a(Context paramContext, Handler paramHandler) + { + this.a = paramContext; + this.d = paramHandler; + this.b = getHolder(); + this.b.addCallback(this); + this.b.setType(3); + } + + public final void a(FaceDetector.IdCardDirection paramIdCardDirection) + { + this.f = paramIdCardDirection; + } + + public final void a(boolean paramBoolean) + { + if (this.c != null) { + this.c.a(paramBoolean); + } + } + + /* Error */ + public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) + { + // Byte code: + // 0: aconst_null + // 1: astore 7 + // 3: aload_0 + // 4: getfield 41 com/tencent/token/ui/DetectIDPhotoPreview:b Landroid/view/SurfaceHolder; + // 7: invokeinterface 67 1 0 + // 12: ifnonnull +4 -> 16 + // 15: return + // 16: aload_0 + // 17: getfield 28 com/tencent/token/ui/DetectIDPhotoPreview:c Lcom/tencent/token/ui/ct; + // 20: ifnonnull -5 -> 15 + // 23: aload_0 + // 24: getfield 24 com/tencent/token/ui/DetectIDPhotoPreview:a Landroid/content/Context; + // 27: invokevirtual 73 android/content/Context:getResources ()Landroid/content/res/Resources; + // 30: invokevirtual 79 android/content/res/Resources:getAssets ()Landroid/content/res/AssetManager; + // 33: ldc 81 + // 35: invokevirtual 87 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 38: astore 5 + // 40: new 89 java/io/File + // 43: dup + // 44: aload_0 + // 45: getfield 24 com/tencent/token/ui/DetectIDPhotoPreview:a Landroid/content/Context; + // 48: ldc 91 + // 50: iconst_0 + // 51: invokevirtual 95 android/content/Context:getDir (Ljava/lang/String;I)Ljava/io/File; + // 54: ldc 81 + // 56: invokespecial 98 java/io/File: (Ljava/io/File;Ljava/lang/String;)V + // 59: astore 8 + // 61: aload 8 + // 63: invokevirtual 102 java/io/File:exists ()Z + // 66: ifeq +68 -> 134 + // 69: aload_0 + // 70: aload 8 + // 72: invokevirtual 106 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 75: putfield 108 com/tencent/token/ui/DetectIDPhotoPreview:e Ljava/lang/String; + // 78: aload 5 + // 80: ifnull +8 -> 88 + // 83: aload 5 + // 85: invokevirtual 113 java/io/InputStream:close ()V + // 88: aload_0 + // 89: new 30 com/tencent/token/ui/ct + // 92: dup + // 93: aload_0 + // 94: invokevirtual 117 com/tencent/token/ui/DetectIDPhotoPreview:getContext ()Landroid/content/Context; + // 97: aload_1 + // 98: aload_0 + // 99: getfield 35 com/tencent/token/ui/DetectIDPhotoPreview:d Landroid/os/Handler; + // 102: aload_0 + // 103: getfield 108 com/tencent/token/ui/DetectIDPhotoPreview:e Ljava/lang/String; + // 106: aload_0 + // 107: getfield 54 com/tencent/token/ui/DetectIDPhotoPreview:f Lcom/tencent/jni/FaceDetector$IdCardDirection; + // 110: invokespecial 120 com/tencent/token/ui/ct: (Landroid/content/Context;Landroid/view/SurfaceHolder;Landroid/os/Handler;Ljava/lang/String;Lcom/tencent/jni/FaceDetector$IdCardDirection;)V + // 113: putfield 28 com/tencent/token/ui/DetectIDPhotoPreview:c Lcom/tencent/token/ui/ct; + // 116: aload_0 + // 117: getfield 28 com/tencent/token/ui/DetectIDPhotoPreview:c Lcom/tencent/token/ui/ct; + // 120: invokevirtual 122 com/tencent/token/ui/ct:a ()V + // 123: return + // 124: astore 5 + // 126: aload 5 + // 128: invokevirtual 125 java/lang/Exception:printStackTrace ()V + // 131: goto -43 -> 88 + // 134: new 127 java/io/FileOutputStream + // 137: dup + // 138: aload 8 + // 140: invokespecial 130 java/io/FileOutputStream: (Ljava/io/File;)V + // 143: astore 6 + // 145: sipush 8192 + // 148: newarray byte + // 150: astore 7 + // 152: aload 5 + // 154: aload 7 + // 156: invokevirtual 134 java/io/InputStream:read ([B)I + // 159: istore_2 + // 160: iload_2 + // 161: iconst_m1 + // 162: if_icmpeq +55 -> 217 + // 165: aload 6 + // 167: aload 7 + // 169: iconst_0 + // 170: iload_2 + // 171: invokevirtual 138 java/io/FileOutputStream:write ([BII)V + // 174: goto -22 -> 152 + // 177: astore 7 + // 179: ldc 140 + // 181: invokestatic 145 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 184: aload 5 + // 186: ifnull +8 -> 194 + // 189: aload 5 + // 191: invokevirtual 113 java/io/InputStream:close ()V + // 194: aload 6 + // 196: ifnull -108 -> 88 + // 199: aload 6 + // 201: invokevirtual 146 java/io/FileOutputStream:close ()V + // 204: goto -116 -> 88 + // 207: astore 5 + // 209: aload 5 + // 211: invokevirtual 125 java/lang/Exception:printStackTrace ()V + // 214: goto -126 -> 88 + // 217: aload_0 + // 218: aload 8 + // 220: invokevirtual 106 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 223: putfield 108 com/tencent/token/ui/DetectIDPhotoPreview:e Ljava/lang/String; + // 226: aload 5 + // 228: ifnull +8 -> 236 + // 231: aload 5 + // 233: invokevirtual 113 java/io/InputStream:close ()V + // 236: aload 6 + // 238: invokevirtual 146 java/io/FileOutputStream:close ()V + // 241: goto -153 -> 88 + // 244: astore 5 + // 246: aload 5 + // 248: invokevirtual 125 java/lang/Exception:printStackTrace ()V + // 251: goto -163 -> 88 + // 254: astore_1 + // 255: aconst_null + // 256: astore 5 + // 258: aconst_null + // 259: astore 6 + // 261: aload 5 + // 263: ifnull +8 -> 271 + // 266: aload 5 + // 268: invokevirtual 113 java/io/InputStream:close ()V + // 271: aload 6 + // 273: ifnull +8 -> 281 + // 276: aload 6 + // 278: invokevirtual 146 java/io/FileOutputStream:close ()V + // 281: aload_1 + // 282: athrow + // 283: astore 5 + // 285: aload 5 + // 287: invokevirtual 125 java/lang/Exception:printStackTrace ()V + // 290: goto -9 -> 281 + // 293: astore_1 + // 294: aconst_null + // 295: astore 6 + // 297: goto -36 -> 261 + // 300: astore_1 + // 301: goto -40 -> 261 + // 304: astore_1 + // 305: goto -44 -> 261 + // 308: astore 5 + // 310: aconst_null + // 311: astore 5 + // 313: aload 7 + // 315: astore 6 + // 317: goto -138 -> 179 + // 320: astore 6 + // 322: aload 7 + // 324: astore 6 + // 326: goto -147 -> 179 + // Local variable table: + // start length slot name signature + // 0 329 0 this DetectIDPhotoPreview + // 0 329 1 paramSurfaceHolder SurfaceHolder + // 0 329 2 paramInt1 int + // 0 329 3 paramInt2 int + // 0 329 4 paramInt3 int + // 38 46 5 localInputStream java.io.InputStream + // 124 66 5 localException1 Exception + // 207 25 5 localException2 Exception + // 244 3 5 localException3 Exception + // 256 11 5 localObject1 java.lang.Object + // 283 3 5 localException4 Exception + // 308 1 5 localIOException1 java.io.IOException + // 311 1 5 localObject2 java.lang.Object + // 143 173 6 localObject3 java.lang.Object + // 320 1 6 localIOException2 java.io.IOException + // 324 1 6 localIOException3 java.io.IOException + // 1 167 7 arrayOfByte byte[] + // 177 146 7 localIOException4 java.io.IOException + // 59 160 8 localFile java.io.File + // Exception table: + // from to target type + // 83 88 124 java/lang/Exception + // 145 152 177 java/io/IOException + // 152 160 177 java/io/IOException + // 165 174 177 java/io/IOException + // 217 226 177 java/io/IOException + // 189 194 207 java/lang/Exception + // 199 204 207 java/lang/Exception + // 231 236 244 java/lang/Exception + // 236 241 244 java/lang/Exception + // 23 40 254 finally + // 266 271 283 java/lang/Exception + // 276 281 283 java/lang/Exception + // 40 78 293 finally + // 134 145 293 finally + // 145 152 300 finally + // 152 160 300 finally + // 165 174 300 finally + // 217 226 300 finally + // 179 184 304 finally + // 23 40 308 java/io/IOException + // 40 78 320 java/io/IOException + // 134 145 320 java/io/IOException + } + + public void surfaceCreated(SurfaceHolder paramSurfaceHolder) {} + + public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) + { + e.c("surfaceDestroyed!"); + try + { + if (this.c != null) + { + this.c.b(); + this.c = null; + } + return; + } + catch (Exception paramSurfaceHolder) + { + paramSurfaceHolder.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.DetectIDPhotoPreview + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/EmbedWebBaseActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/EmbedWebBaseActivity.java new file mode 100755 index 00000000000..db0c293ff70 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/EmbedWebBaseActivity.java @@ -0,0 +1,193 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.graphics.Bitmap.Config; +import android.graphics.Canvas; +import android.graphics.Picture; +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnTouchListener; +import android.view.ViewGroup.LayoutParams; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.webkit.DownloadListener; +import android.webkit.WebChromeClient; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.FrameLayout; +import android.widget.FrameLayout.LayoutParams; +import android.widget.ImageView; +import android.widget.ImageView.ScaleType; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.WXAPIFactory; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.TitleOptionMenu; +import java.lang.reflect.Method; + +public abstract class EmbedWebBaseActivity + extends BaseActivity +{ + private static final int TIMELINE_SUPPORTED_VERSION = 553779201; + protected boolean alsoShowMenu; + private boolean backevent; + protected TextView backtext; + protected TextView closetext; + private boolean firstload = true; + private ImageView iamgeView; + private View.OnClickListener mBrowserCloseListener = new dm(this); + private View.OnClickListener mBrowserListener = new dl(this); + private final WebChromeClient mChromeClient = new di(this); + private DownloadListener mDownloadlistener = new dk(this); + boolean mIsRefreshing; + private View.OnClickListener mRightTitleButtonClickListener = new dd(this); + protected TitleOptionMenu mTitleMenu; + private final View.OnTouchListener mTouchListener = new dj(this); + protected IWXAPI mWeChatApi; + public WebView mWebView; + private final WebViewClient mWebviewClient = new dg(this); + private FrameLayout root; + public String sharetitle; + public String shareurl; + private String sig; + + private Bitmap captureWebView(WebView paramWebView) + { + paramWebView = paramWebView.capturePicture(); + if ((paramWebView == null) || (paramWebView.getWidth() <= 0) || (paramWebView.getHeight() <= 0)) { + return null; + } + Bitmap localBitmap = Bitmap.createBitmap(paramWebView.getWidth(), paramWebView.getHeight(), Bitmap.Config.ARGB_8888); + paramWebView.draw(new Canvas(localBitmap)); + return localBitmap; + } + + private void initUI() + { + this.backtext = ((TextView)findViewById(2131297146)); + if (this.backtext != null) { + this.backtext.setVisibility(0); + } + ((RelativeLayout)findViewById(2131297145)).setOnClickListener(this.mBrowserListener); + this.closetext = ((TextView)findViewById(2131297147)); + this.closetext.setOnClickListener(this.mBrowserCloseListener); + } + + private void initWebView() + { + this.root = ((FrameLayout)findViewById(2131296415)); + this.mWebView = ((WebView)findViewById(2131297302)); + this.mWebView.setWebViewClient(this.mWebviewClient); + this.mWebView.setWebChromeClient(this.mChromeClient); + this.mWebView.setOnTouchListener(this.mTouchListener); + this.mWebView.setDownloadListener(this.mDownloadlistener); + WebSettings localWebSettings = this.mWebView.getSettings(); + localWebSettings.setUserAgentString("android"); + localWebSettings.setJavaScriptEnabled(true); + localWebSettings.setNeedInitialFocus(false); + localWebSettings.setBuiltInZoomControls(false); + localWebSettings.setSupportZoom(false); + } + + private void showWechatBindDialog() + { + showUserDialog(2131361808, getString(2131362386), 2131361812, 2131361813, new df(this), null); + } + + private void startAnim(WebView paramWebView) + { + if (this.iamgeView == null) + { + this.iamgeView = new ImageView(this); + paramWebView.setDrawingCacheEnabled(true); + localObject = captureWebView(paramWebView); + if (localObject != null) { + this.iamgeView.setImageBitmap((Bitmap)localObject); + } + this.iamgeView.setScaleType(ImageView.ScaleType.FIT_XY); + localObject = new FrameLayout.LayoutParams(-1, -1); + this.root.addView(this.iamgeView, (ViewGroup.LayoutParams)localObject); + } + if (this.backevent) + { + localObject = AnimationUtils.loadAnimation(this, 2130837973); + ((Animation)localObject).setFillAfter(true); + ((Animation)localObject).setDuration(200L); + ((Animation)localObject).setDetachWallpaper(true); + this.iamgeView.setAnimation((Animation)localObject); + ((Animation)localObject).setAnimationListener(new dh(this)); + if (!this.backevent) { + break label180; + } + } + label180: + for (Object localObject = AnimationUtils.loadAnimation(this, 2130837971);; localObject = AnimationUtils.loadAnimation(this, 2130837970)) + { + ((Animation)localObject).setFillAfter(true); + ((Animation)localObject).setDuration(200L); + ((Animation)localObject).setDetachWallpaper(true); + paramWebView.setAnimation((Animation)localObject); + this.backevent = false; + return; + localObject = AnimationUtils.loadAnimation(this, 2130837972); + break; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903257); + initWebView(); + initUI(); + try + { + paramBundle = this.mWebView.getClass().getMethod("removeJavascriptInterface", new Class[] { String.class }); + if (paramBundle != null) { + paramBundle.invoke(this.mWebView, new Object[] { "searchBoxJavaBridge_" }); + } + } + catch (Exception paramBundle) + { + for (;;) + { + paramBundle.printStackTrace(); + e.c("removeJavascriptInterface error: " + paramBundle.getMessage()); + } + } + setRightTitleImage(2130837953, this.mRightTitleButtonClickListener); + this.mTitleMenu = getDialogMenu(); + if (this.mTitleMenu != null) { + this.mTitleMenu.a(5); + } + if (this.mRightOptionLayout != null) { + this.mRightOptionLayout.setVisibility(8); + } + this.mWeChatApi = WXAPIFactory.createWXAPI(this, "wx68451b483ebd18ce", false); + this.mWeChatApi.registerApp("wx68451b483ebd18ce"); + } + + public boolean overrideUrlLoading(String paramString) + { + return false; + } + + public void setBackTextColor(int paramInt) + { + if (this.backtext != null) { + this.backtext.setTextColor(paramInt); + } + if (this.closetext != null) { + this.closetext.setTextColor(paramInt); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.EmbedWebBaseActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/EnvirChangeListviewActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/EnvirChangeListviewActivity.java new file mode 100755 index 00000000000..37f9037e243 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/EnvirChangeListviewActivity.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ListView; +import com.tencent.token.core.bean.c; +import com.tencent.token.global.b; +import java.util.ArrayList; +import java.util.List; + +public class EnvirChangeListviewActivity + extends BaseActivity +{ + List envirDataList = new ArrayList(); + String[] envirHosts = { "http://test.aq.qq.com", "http://w.aq.qq.com", "http://exp.aq.qq.com", "http://gray.aq.qq.com" }; + String[] envirNames = { "测试环境", "正式环境", "201体验环境", "157灰度环境" }; + final long[] mHits = new long[2]; + private AdapterView.OnItemClickListener mItemClickListener = new dn(this); + private do maAdapter; + + private void initData() + { + int i = 0; + if (i < this.envirNames.length) + { + c localc = new c(); + localc.a(this.envirNames[i]); + localc.b(this.envirHosts[i]); + if (this.envirHosts[i] == b.c()) { + localc.a(true); + } + for (;;) + { + this.envirDataList.add(localc); + i += 1; + break; + localc.a(false); + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903077); + paramBundle = (ListView)findViewById(2131296544); + initData(); + this.maAdapter = new do(this, this, this.envirDataList); + paramBundle.setAdapter(this.maAdapter); + paramBundle.setOnItemClickListener(this.mItemClickListener); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.EnvirChangeListviewActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangeMobileActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangeMobileActivity.java new file mode 100755 index 00000000000..79c8d4c0319 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangeMobileActivity.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.view.View; + +public class FaceChangeMobileActivity + extends BaseActivity +{ + private Handler handler = new dq(this); + + private void initView() + { + setContentView(2130903088); + findViewById(2131296569).setOnClickListener(new dp(this)); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903088); + findViewById(2131296569).setOnClickListener(new dp(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceChangeMobileActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangePwdIndexActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangePwdIndexActivity.java new file mode 100755 index 00000000000..e332e080973 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceChangePwdIndexActivity.java @@ -0,0 +1,136 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.Handler.Callback; +import android.view.View; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +public class FaceChangePwdIndexActivity + extends BaseActivity +{ + private String A2; + private Handler.Callback callback = new dw(this); + private View changepsw; + private Handler handler = new dx(this); + private View mDivider; + private View mDivider2; + private boolean mIsChecked = false; + private SwitchButton mSwitchVerifySet; + private boolean on; + private int scene_id; + private boolean verify_psw; + + private void initView() + { + this.mDivider = findViewById(2131296550); + this.mDivider2 = findViewById(2131296555); + this.mSwitchVerifySet = ((SwitchButton)findViewById(2131296548)); + this.changepsw = findViewById(2131296551); + this.changepsw.setOnClickListener(new dr(this)); + e.a("mIsChecked" + this.mIsChecked); + SwitchButton localSwitchButton = this.mSwitchVerifySet; + boolean bool; + if (!this.mIsChecked) + { + bool = true; + localSwitchButton.a(bool, false); + this.mSwitchVerifySet.postInvalidate(); + this.mSwitchVerifySet.setOnCheckedChangeListener(new ds(this)); + if (!this.mIsChecked) { + break label189; + } + this.changepsw.setVisibility(0); + this.mDivider.setVisibility(0); + this.mDivider2.setVisibility(0); + } + for (;;) + { + if (this.verify_psw) + { + showProDialog(this, 2131361808, 2131362485, null); + this.scene_id = 2; + setOnOf(false); + } + return; + bool = false; + break; + label189: + this.changepsw.setVisibility(4); + this.mDivider.setVisibility(4); + this.mDivider2.setVisibility(4); + } + } + + private void setOnOf(boolean paramBoolean) + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) {} + do + { + return; + this.on = paramBoolean; + this.mUin = localQQUser.mRealUin; + if ((this.A2 != null) && (this.A2.length() > 0)) + { + af.a().a(0L, this.scene_id, paramBoolean, this.A2, this.handler); + return; + } + } while (localQQUser == null); + byte[] arrayOfByte = x.a(RqdApplication.i()).a(localQQUser.mRealUin); + if (arrayOfByte != null) + { + this.A2 = s.a(arrayOfByte); + af.a().a(0L, this.scene_id, paramBoolean, this.A2, this.handler); + return; + } + x.a(RqdApplication.i()).a(this, "" + localQQUser.mRealUin, this.fHandler, true); + } + + private void showGesturePwdDialog() + { + if (!ah.a().c()) { + showUserDialog(2131362130, getString(2131362131), 2131362132, 2131362133, new dy(this), null); + } + } + + public void getA2Succ() + { + this.A2 = s.a(this.mAqSig); + setOnOf(this.on); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if ((paramInt1 == 0) && (paramInt2 == -1)) + { + showProDialog(this, 2131361808, 2131362485, null); + this.scene_id = 1; + setOnOf(false); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mIsChecked = getIntent().getBooleanExtra("open_switch", false); + this.verify_psw = getIntent().getBooleanExtra("verify_psw", false); + setContentView(2130903080); + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceChangePwdIndexActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKActivity.java new file mode 100755 index 00000000000..881e1be579d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKActivity.java @@ -0,0 +1,91 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View.OnClickListener; +import android.webkit.WebView; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.WXAPIFactory; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.x; + +public class FacePKActivity + extends EmbedWebBaseActivity +{ + private static final int TIMELINE_SUPPORTED_VERSION = 553779201; + private Handler mHandler = new ea(this); + private String mPKDesc; + private String mPKTitle; + private View.OnClickListener mRightTitleButtonClickListener = new eb(this); + private String mUrl; + + private void showWechatBindDialog() + { + showUserDialog(2131361808, getString(2131362386), 2131361812, 2131361813, new ed(this), null); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if ((this.mTitleMenu != null) && (this.mTitleMenu.getVisibility() == 0)) + { + this.mTitleMenu.a(); + return true; + } + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = getIntent(); + this.mUrl = paramBundle.getStringExtra("help_url"); + this.mPKDesc = paramBundle.getStringExtra("share_desc"); + this.mPKTitle = paramBundle.getStringExtra("share_title"); + if (this.mUrl == null) { + this.mUrl = getString(2131361973); + } + paramBundle = ax.a().e(); + if ((paramBundle != null) && (this.mUrl.contains("qq.com"))) { + x.a(RqdApplication.i()).a("" + paramBundle.mRealUin, this.mHandler); + } + for (;;) + { + setRightTitleImage(2130837953, this.mRightTitleButtonClickListener); + this.alsoShowMenu = true; + this.mWeChatApi = WXAPIFactory.createWXAPI(this, "wx68451b483ebd18ce", false); + this.mWeChatApi.registerApp("wx68451b483ebd18ce"); + return; + this.mWebView.loadUrl(this.mUrl); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FacePKActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKCameraActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKCameraActivity.java new file mode 100755 index 00000000000..6e36c259acc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePKCameraActivity.java @@ -0,0 +1,136 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.cv; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.n; +import com.tencent.token.utils.t; + +public class FacePKCameraActivity + extends BaseActivity +{ + private boolean detectsucc; + private boolean isShowingErrorDialog = false; + private boolean mCanVideo; + private FaceView mFaceView; + private Handler mHandler = new ee(this); + private FaceRecognitionCameraPreview mPreview; + private byte[] mServerData; + private boolean mShowPKDialog = false; + private TextView mTipTxt; + + private void init() + { + this.mPreview = ((FaceRecognitionCameraPreview)findViewById(2131296481)); + this.mFaceView = ((FaceView)findViewById(2131296482)); + if (t.i()) + { + t.j(); + this.mShowPKDialog = true; + showUserDialog(2131361808, getString(2131362473), 2131362474, new ei(this)); + } + new Thread(new ej(this)).start(); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + if (RqdApplication.c()) + { + exitToken(); + return true; + } + this.mHandler.removeMessages(90); + if (n.a().c()) + { + this.mHandler.postDelayed(new em(this), 300L); + return true; + } + finish(); + return true; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.detectsucc = false; + requestWindowFeature(1); + setContentView(2130903090); + hideTitle(); + findViewById(2131296572).setOnClickListener(new eh(this)); + this.mTipTxt = ((TextView)findViewById(2131296578)); + init(); + cv.e(); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mServerData = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + this.mHandler = null; + } + + protected void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (this.mPreview != null) + { + this.mPreview.a(this, 0, this.mHandler, this.mFaceView, this.mTipTxt); + this.mPreview.a(false); + } + if ((this.mShowPKDialog) || (this.detectsucc)) + { + this.mShowPKDialog = false; + this.mPreview.a(true); + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ek(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FacePKCameraActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FacePwdIndexActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePwdIndexActivity.java new file mode 100755 index 00000000000..06dbb2e988c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FacePwdIndexActivity.java @@ -0,0 +1,90 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.view.View; +import android.widget.ListView; +import android.widget.TextView; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.utils.t; +import java.util.ArrayList; +import java.util.List; + +public class FacePwdIndexActivity + extends BaseActivity +{ + private ep mAdapter; + private View mDivider; + private TextView mFacePwdVerifyTipTextView; + private boolean mIsChecked = false; + private ListView mListView; + private List mRegisterFacePwdUserList = new ArrayList(); + private SwitchButton mSwitchVerifySet; + + private void initView() + { + this.mFacePwdVerifyTipTextView = ((TextView)findViewById(2131296549)); + this.mDivider = findViewById(2131296550); + this.mSwitchVerifySet = ((SwitchButton)findViewById(2131296548)); + ax.a().a(this.mRegisterFacePwdUserList); + if (this.mRegisterFacePwdUserList.size() > 0) + { + QQUser localQQUser = t.f(); + if ((localQQUser != null) && (localQQUser.mIsRegisterFacePwd)) + { + this.mSwitchVerifySet.a(false, false); + this.mIsChecked = true; + } + } + for (;;) + { + this.mSwitchVerifySet.setOnCheckedChangeListener(new en(this)); + this.mListView = ((ListView)findViewById(2131296562)); + this.mAdapter = new ep(this, this.mRegisterFacePwdUserList); + this.mListView.setAdapter(this.mAdapter); + if (!this.mIsChecked) { + break; + } + this.mListView.setVisibility(0); + this.mFacePwdVerifyTipTextView.setVisibility(0); + this.mDivider.setVisibility(0); + return; + this.mSwitchVerifySet.a(true, false); + this.mIsChecked = false; + continue; + this.mSwitchVerifySet.a(true, false); + this.mIsChecked = false; + } + this.mListView.setVisibility(4); + this.mFacePwdVerifyTipTextView.setVisibility(4); + this.mDivider.setVisibility(4); + } + + private void showGesturePwdDialog() + { + if (!ah.a().c()) { + showUserDialog(2131362130, getString(2131362131), 2131362132, 2131362133, new eo(this), null); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903083); + initView(); + } + + public void refreshList() + { + this.mAdapter.notifyDataSetChanged(); + showGesturePwdDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FacePwdIndexActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionAddFaceActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionAddFaceActivity.java new file mode 100755 index 00000000000..05e9f31977f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionAddFaceActivity.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.widget.Button; + +public class FaceRecognitionAddFaceActivity + extends BaseActivity +{ + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903087); + ((Button)findViewById(2131296568)).setOnClickListener(new er(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionAddFaceActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivity.java new file mode 100755 index 00000000000..c3aa66964a3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivity.java @@ -0,0 +1,470 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.util.DisplayMetrics; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.cv; +import com.tencent.token.ge; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.ui.base.co; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.ArrayList; + +public class FaceRecognitionCameraActivity + extends BaseActivity +{ + public static String LANUCH_RETRY_COUNT = "fr_retrycount"; + public static final int OPTYPE_FACE_ADD = 4; + public static final int OPTYPE_REALNAME_REG = 3; + public static final int OPTYPE_VALIDATION = 2; + public static final int SUBOPTYPE_VALIDATION_TRY = 1; + private final int ALLOW_MAX_RETRY = 5; + private boolean detectsucc; + private co drawable; + private Handler handler = new es(this); + private boolean isShowingErrorDialog = false; + boolean ish5zzb; + private FaceView iv; + private int[] mActions; + private FaceData mFaceData; + private int mFaceOpType = 2; + private int mFaceScene = 1; + private boolean mIsActiveSuccess = false; + private boolean mNeedLiveAction = false; + private FaceRecognitionCameraPreview mPreview; + private int mScene; + private TextView mTipTxt; + private ImageView mVrySucc1; + private ImageView mVrySucc2; + private ImageView progress; + private long realNameBindUin; + private int retryCount; + private byte[] serverData; + + private int getLockStatus() + { + int i; + if (t.e() != 0L) { + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 19; + } + } + for (;;) + { + e.c("getLockStatus = " + i); + return i; + i = 18; + continue; + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 17; + } else { + i = 16; + } + } + } + + private void gotoNextStep() + { + Object localObject; + if (this.mScene == 3) + { + this.iv.c(0); + localObject = new Intent(this, FaceRecognitionComfirmActivity.class); + ((Intent)localObject).putExtra("data", this.mFaceData.mUploadData); + ((Intent)localObject).putExtra("origindata", this.mFaceData.mOriginDataPath); + ((Intent)localObject).putExtra("flag", 3); + startActivityForResult((Intent)localObject, 100); + } + do + { + return; + if (this.mScene == 7) + { + this.iv.c(0); + localObject = new Intent(this, FaceRecognitionComfirmActivity.class); + ((Intent)localObject).putExtra("data", this.mFaceData.mUploadData); + ((Intent)localObject).putExtra("origindata", this.mFaceData.mOriginDataPath); + ((Intent)localObject).putExtra("flag", 3); + startActivityForResult((Intent)localObject, 100); + return; + } + this.iv.c(3); + this.mTipTxt.setText(2131362069); + localObject = this.mFaceData.mUploadData; + } while (localObject == null); + ArrayList localArrayList = new ArrayList(); + localArrayList.add(localObject); + this.serverData = ge.a(localArrayList); + long l; + if (this.serverData != null) { + if (this.mScene == 4) { + l = this.realNameBindUin; + } + } + for (;;) + { + int i = getLockStatus(); + this.detectsucc = true; + af.a().a(0L, l, 2, this.serverData, i, this.mFaceScene, this.handler); + this.mFaceOpType = 2; + return; + if (ax.a().e() != null) + { + l = ax.a().e().mRealUin; + continue; + e.a("OPTYPE_VALIDATION serverData == null,scene=" + this.mScene); + } + else + { + l = 0L; + } + } + } + + private void init() + { + this.retryCount = s.j(LANUCH_RETRY_COUNT); + e.c("retryCount = " + this.retryCount); + if (this.retryCount >= 5) + { + jumpGesOrPWD(); + return; + } + findViewById(2131296572).setOnClickListener(new fu(this)); + this.mPreview = ((FaceRecognitionCameraPreview)findViewById(2131296481)); + this.iv = ((FaceView)findViewById(2131296482)); + this.drawable = new co(this); + this.mTipTxt = ((TextView)findViewById(2131296578)); + Object localObject = (ViewGroup.MarginLayoutParams)this.mTipTxt.getLayoutParams(); + int i = getResources().getDisplayMetrics().densityDpi; + float f = getResources().getDisplayMetrics().density; + TextView localTextView1; + TextView localTextView2; + if (i <= 240) + { + ((ViewGroup.MarginLayoutParams)localObject).bottomMargin = ((int)(70.0F * f)); + localObject = findViewById(2131296574); + localTextView1 = (TextView)findViewById(2131296576); + localTextView2 = (TextView)findViewById(2131296571); + QQUser localQQUser = ax.a().e(); + if ((localQQUser == null) || (!localQQUser.mIsZzb)) { + break label668; + } + } + label278: + label668: + for (int j = 1;; j = 0) + { + i = j; + switch (this.mScene) + { + default: + i = j; + case 5: + this.mVrySucc1 = ((ImageView)findViewById(2131296579)); + this.mVrySucc2 = ((ImageView)findViewById(2131296580)); + if (i != 0) + { + this.iv.a(true, false); + this.mVrySucc1.setImageResource(2130838027); + this.mVrySucc2.setImageResource(2130838028); + } + break; + } + for (;;) + { + this.handler.postDelayed(new fx(this, f), 2000L); + return; + ((ViewGroup.MarginLayoutParams)localObject).bottomMargin = ((int)(90.0F * f)); + break; + localTextView2.setText(2131362484); + this.mFaceOpType = 4; + i = j; + break label278; + localTextView2 = (TextView)findViewById(2131296577); + localTextView2.setVisibility(0); + localTextView2.setOnClickListener(new fv(this)); + ((View)localObject).setVisibility(0); + if (j != 0) + { + ((View)localObject).setBackgroundResource(2130837849); + localTextView1.setText(2131362797); + findViewById(2131296575).setVisibility(0); + localTextView1.setTextColor(-1); + } + for (;;) + { + this.mFaceScene = 4; + i = j; + break; + ((View)localObject).setBackgroundResource(2131165315); + findViewById(2131296575).setVisibility(8); + localTextView1.setText(2131362810); + localTextView1.setTextColor(-16777216); + } + findViewById(2131296577).setVisibility(0); + findViewById(2131296577).setOnClickListener(new fw(this)); + ((View)localObject).setVisibility(4); + this.mFaceScene = 5; + e.a("mFaceScene" + this.mFaceScene); + i = j; + break label278; + localTextView2.setText(2131362483); + i = j; + break label278; + localTextView2.setText(2131362609); + i = 1; + break label278; + this.mFaceScene = 2; + ((View)localObject).setVisibility(0); + if (this.ish5zzb) + { + localTextView1.setText(2131362802); + i = 1; + break label278; + } + localTextView1.setText(2131362798); + i = 1; + break label278; + this.iv.a(false, false); + } + } + } + + private void jumpGesOrPWD() + { + if (!RqdApplication.d()) + { + Intent localIntent = new Intent(this, StartPwdGestureForgetActivity.class); + localIntent.putExtra("startpwd_forget_source", 3); + startActivity(localIntent); + finish(); + return; + } + startActivity(new Intent(this, StartPwdGestureVerifyActivity.class)); + finish(); + } + + private void resetFaceDetection() + { + this.mPreview.a(true, false, 0, 0); + this.iv.c(0); + this.mTipTxt.setText(2131362782); + } + + private void setLiveDetectTxt(int paramInt) + { + switch (paramInt) + { + default: + return; + case 1: + this.mTipTxt.setText(2131362787); + return; + case 2: + this.mTipTxt.setText(2131362788); + return; + case 3: + this.mTipTxt.setText(2131362789); + return; + } + this.mTipTxt.setText(2131362790); + } + + private void showNobindingAlert(Context paramContext, int paramInt1, int paramInt2) + { + if (((paramContext instanceof Activity)) && (!((Activity)paramContext).isFinishing())) { + showUserDialog(2131361808, getString(paramInt1), paramInt2, new fs(this, paramContext), new ft(this, paramContext)); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + if (RqdApplication.c()) + { + exitToken(); + return true; + } + if (this.mIsActiveSuccess) { + break; + } + finish(); + return true; + } + return true; + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt2 == 10) + { + if (this.mFaceData != null) + { + this.mFaceData.mOriginDataPath = null; + this.mFaceData.mUploadData = null; + this.mFaceData = null; + } + this.mVrySucc1.setVisibility(4); + this.mVrySucc2.setVisibility(4); + this.mPreview.a(true, false, 0, 0); + this.iv.c(0); + } + label331: + do + { + do + { + do + { + do + { + return; + if (paramInt2 != 20) { + break label331; + } + if (this.mScene != 3) { + break; + } + paramIntent = new ArrayList(); + if (this.mFaceData != null) { + paramIntent.add(this.mFaceData.mUploadData); + } + this.serverData = ge.a(paramIntent); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + paramIntent = new Intent(); + paramIntent.putExtra("facedata", this.serverData); + setResult(0, paramIntent); + finish(); + return; + } while (this.mScene != 7); + paramIntent = new ArrayList(); + if (this.mFaceData != null) { + paramIntent.add(this.mFaceData.mUploadData); + } + this.serverData = ge.a(paramIntent); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + setContentView(2130903098); + this.progress = ((ImageView)findViewById(2131296624)); + this.progress.setBackgroundDrawable(this.drawable); + this.handler.sendEmptyMessageDelayed(13, 10000L); + long l = 0L; + if (ax.a().e() != null) { + l = ax.a().e().mRealUin; + } + paramInt1 = getLockStatus(); + af.a().a(0L, l, 4, this.serverData, paramInt1, this.mFaceScene, this.handler); + this.mFaceOpType = 4; + return; + } while ((paramInt1 != 100) || (paramInt2 != 257)); + paramIntent = new Intent(this, ModifyQQPwdActivity.class); + paramIntent.putExtra("verify_psw", true); + p.a().a(System.currentTimeMillis(), 95); + startActivity(paramIntent); + finish(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.realNameBindUin = getIntent().getLongExtra("real_uin", 0L); + this.mScene = getIntent().getIntExtra("scene", 3); + e.a(",realuin=" + this.realNameBindUin + ",scene=" + this.mScene); + this.ish5zzb = getIntent().getBooleanExtra("ish5zzb", false); + this.detectsucc = false; + this.mIsActiveSuccess = false; + requestWindowFeature(1); + setContentView(2130903089); + hideTitle(); + init(); + cv.e(); + af.a().h(-1L, this.mScene, this.handler); + } + + protected void onDestroy() + { + super.onDestroy(); + this.serverData = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + this.handler = null; + if (this.mFaceData != null) + { + this.mFaceData.mOriginDataPath = null; + this.mFaceData.mUploadData = null; + this.mFaceData = null; + } + } + + protected void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (this.mPreview != null) + { + this.mPreview.a(this, this.mScene, this.handler, this.iv, this.mTipTxt); + this.mPreview.a(false); + } + if (this.detectsucc) { + this.mPreview.a(true); + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new fy(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionCameraActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivityOld.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivityOld.java new file mode 100755 index 00000000000..77da0333959 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraActivityOld.java @@ -0,0 +1,493 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.animation.AlphaAnimation; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.Face; +import com.tencent.jni.Face.ImgData; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceImageView; +import com.tencent.token.ui.base.co; +import com.tencent.token.utils.n; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +public class FaceRecognitionCameraActivityOld + extends BaseActivity +{ + public static final int K_FLAG_PHOTO_CONFIRM_FACE = 3; + public static final int K_FLAG_PHOTO_CONFIRM_IDPHOTO_BACK = 2; + public static final int K_FLAG_PHOTO_CONFIRM_IDPHOTO_FRONT = 1; + public static String LANUCH_RETRY_COUNT = "fr_retrycount"; + public static final int OPTYPE_FACE_ADD = 4; + public static final int OPTYPE_REALNAME_REG = 3; + public static final int OPTYPE_REGIST = 1; + public static final int OPTYPE_VALIDATION = 2; + public static final int RESULT_CHANGERTIPS = 13; + public static final int RESULT_ERROR = 2; + public static final int RESULT_START = 10; + public static final int RESULT_SUCCESS = 11; + public static final int RESULT_TOODARK = 12; + public static final int SCENE_VALIDATION_COMMON = 1; + public static final int SCENE_VALIDATION_REALNAME_BIND = 2; + public static final int SCENE_VALIDATION_REALNAME_MODPWD = 3; + public static final int SUBOPTYPE_VALIDATION_BOOT = 0; + public static final int SUBOPTYPE_VALIDATION_COMPARE = 2; + public static final int SUBOPTYPE_VALIDATION_REALNAME = 3; + public static final int SUBOPTYPE_VALIDATION_REALNAME_FINDPWD = 5; + public static final int SUBOPTYPE_VALIDATION_REALNAME_MODPWD = 4; + public static final int SUBOPTYPE_VALIDATION_TRY = 1; + public static boolean faceversionold; + public static int frameCount; + public static int initTime; + public static String resolution; + public static int scanTime; + public static int transcodingTime; + private final int ALLOW_MAX_RETRY = 5; + private Handler animationHandler = new hd(this); + private Button btn_change; + private Button btn_start_scan; + private Button btn_vry_original; + private boolean canvideo; + private boolean detectsucc; + private View dialogView; + private co drawable; + private int flag; + private Handler handler = new fz(this); + private Face.ImgData imgData1; + private Face.ImgData imgData2; + private boolean isShowingErrorDialog = false; + private FaceImageView iv; + private int localOpType; + private AlphaAnimation mAnimAlpha; + private TranslateAnimation mAnimGoUp; + private RotateAnimation mAnimRotate; + private View mBgUpper; + private Bitmap mBmpLogo; + private Bitmap mBmpLogoGreen; + private int mHeightUpper; + private boolean mIsActiveSuccess = false; + private ImageView mLogo; + private View mLogoMiddle; + private TranslateAnimation mOpenAnimGoDown; + private TranslateAnimation mOpenAnimGoUp; + private int mOpenHeightLower; + private int mOpenHeightUpper; + private FaceRecognitionCameraPreviewOld mPreview; + private int mScene = 1; + private boolean mShowPKDialog = false; + private View open_lower; + private View open_upper; + private ImageView open_upper_door; + private ImageView open_upper_door_bg; + private ImageView open_upper_door_new; + private View page_bg_upper; + private Dialog picdialog; + private ImageView progress; + private long realNameBindUin; + private int retryCount; + private byte[] serverData; + private int step; + private View toastView; + private int validationType; + + private int getLockStatus() + { + int i; + if (t.e() != 0L) { + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 19; + } + } + for (;;) + { + e.c("getLockStatus = " + i); + return i; + i = 18; + continue; + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 17; + } else { + i = 16; + } + } + } + + private void init() + { + this.retryCount = s.j(LANUCH_RETRY_COUNT); + e.c("retryCount = " + this.retryCount); + if (this.retryCount >= 5) { + jumpGesOrPWD(); + } + QQUser localQQUser1; + if (this.flag == 1) + { + ((TextView)findViewById(2131296571)).setText(2131362470); + this.mPreview = ((FaceRecognitionCameraPreviewOld)findViewById(2131296481)); + this.iv = ((FaceImageView)findViewById(2131296482)); + localQQUser1 = ax.a().e(); + if ((this.flag != 2) || (this.validationType != 0)) { + break label304; + } + QQUser localQQUser2 = t.g(); + if ((localQQUser1 != null) && (localQQUser2 != null) && (localQQUser2.mIsZzb)) { + this.iv.a(); + } + } + for (;;) + { + this.drawable = new co(this); + if ((this.flag == 2) && (this.validationType == 2)) + { + ((TextView)findViewById(2131296571)).setText(2131362471); + if (t.i()) + { + t.j(); + this.mShowPKDialog = true; + showUserDialog(2131361808, getString(2131362473), 2131362474, new hg(this)); + } + new Thread(new hh(this)).start(); + } + return; + if (this.flag == 3) + { + ((TextView)findViewById(2131296571)).setText(2131362609); + break; + } + if (this.validationType != 1) { + break; + } + ((TextView)findViewById(2131296571)).setText(2131362483); + break; + label304: + if (((this.flag == 3) && (this.validationType == 5)) || ((this.flag == 2) && (this.validationType == 3)) || ((localQQUser1 != null) && (localQQUser1.mIsZzb) && ((this.flag != 2) || (this.validationType != 2)))) + { + this.iv.a(); + this.toastView.setVisibility(0); + } + } + } + + private void initValidationUI() + { + this.btn_change = ((Button)findViewById(2131296585)); + this.open_lower = findViewById(2131296586); + this.open_upper = findViewById(2131296587); + this.page_bg_upper = findViewById(2131296537); + this.open_upper_door = ((ImageView)findViewById(2131296590)); + this.open_upper_door_new = ((ImageView)findViewById(2131296591)); + this.open_upper_door_bg = ((ImageView)findViewById(2131296589)); + QQUser localQQUser1 = ax.a().e(); + QQUser localQQUser2 = t.g(); + if ((localQQUser1 != null) && (localQQUser2 != null) && (localQQUser2.mIsZzb)) + { + this.animationHandler.post(new hp(this, this.open_upper_door)); + this.animationHandler.post(new hn(this, this.open_upper_door_new)); + } + this.open_upper.postDelayed(new hi(this), 800L); + this.mBgUpper = findViewById(2131296536); + this.mBgUpper.postDelayed(new hj(this), 500L); + this.mLogoMiddle = findViewById(2131296584); + this.mLogoMiddle.setVisibility(4); + this.mBmpLogo = t.a(getResources(), 2130837920); + this.mBmpLogoGreen = t.a(getResources(), 2130837922); + if ((localQQUser1 != null) && (localQQUser2 != null) && (localQQUser2.mIsZzb)) + { + ((ImageView)this.mLogoMiddle).setImageDrawable(getResources().getDrawable(2130837919)); + this.mBmpLogoGreen = t.a(getResources(), 2130837924); + this.mBmpLogo = t.a(getResources(), 2130837924); + } + if (this.mBmpLogo != null) + { + this.mLogo = ((ImageView)findViewById(2131296583)); + this.mLogo.setImageBitmap(this.mBmpLogo); + } + if (!RqdApplication.d()) { + this.btn_change.setBackgroundResource(2130837631); + } + this.btn_change.setOnClickListener(new hk(this)); + } + + private void jumpGesOrPWD() + { + if (!RqdApplication.d()) + { + Intent localIntent = new Intent(this, StartPwdGestureForgetActivity.class); + localIntent.putExtra("startpwd_forget_source", 3); + startActivity(localIntent); + finish(); + return; + } + startActivity(new Intent(this, StartPwdGestureVerifyActivity.class)); + finish(); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + if (RqdApplication.c()) + { + exitToken(); + return true; + } + if (this.mIsActiveSuccess) { + break; + } + this.handler.removeMessages(90); + if (n.a().c()) + { + this.handler.postDelayed(new hb(this), 300L); + return true; + } + finish(); + return true; + } + return true; + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt2 == 10) { + if (this.step <= 0) + { + this.imgData1 = null; + this.mPreview.b(this.step); + this.iv.a(0); + } + } + label257: + label339: + do + { + do + { + do + { + do + { + do + { + Face.ImgData localImgData; + do + { + do + { + return; + this.imgData2 = null; + break; + } while (paramInt2 != 20); + if (this.flag != 1) { + break label257; + } + this.step += 1; + if (this.step < 2) + { + showOrangeToast(2131362479, 2130837964); + this.mPreview.b(this.step); + this.iv.a(0); + return; + } + paramIntent = this.imgData1; + localImgData = this.imgData2; + } while ((this.imgData1 == null) || (this.imgData2 == null)); + this.serverData = Face.EncodeData(new Face.ImgData[] { paramIntent, localImgData }); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + setContentView(2130903098); + this.progress = ((ImageView)findViewById(2131296624)); + this.progress.setBackgroundDrawable(this.drawable); + this.handler.sendEmptyMessageDelayed(13, 10000L); + af.a().a(0L, 0L, this.flag, this.serverData, 0, this.mScene, this.handler); + this.localOpType = this.flag; + this.mPreview.a(); + return; + if (this.flag != 3) { + break label460; + } + if (this.validationType != 5) { + break label339; + } + this.serverData = Face.EncodeData(new Face.ImgData[] { this.imgData1 }); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + paramIntent = new Intent(); + paramIntent.putExtra("facedata", this.serverData); + setResult(0, paramIntent); + finish(); + return; + this.step += 1; + if (this.step < 2) + { + showOrangeToast(2131362479, 2130837964); + this.mPreview.b(this.step); + this.iv.a(0); + return; + } + this.serverData = Face.EncodeData(new Face.ImgData[] { this.imgData1, this.imgData2 }); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + paramIntent = new Intent(); + paramIntent.putExtra("facedata", this.serverData); + setResult(0, paramIntent); + finish(); + return; + } while (this.flag != 4); + this.serverData = Face.EncodeData(new Face.ImgData[] { this.imgData1 }); + } while ((this.serverData == null) || (this.serverData.length <= 100)); + label460: + setContentView(2130903098); + this.progress = ((ImageView)findViewById(2131296624)); + this.progress.setBackgroundDrawable(this.drawable); + this.handler.sendEmptyMessageDelayed(13, 10000L); + if (ax.a().e() != null) {} + for (long l = ax.a().e().mRealUin;; l = 0L) + { + paramInt1 = getLockStatus(); + af.a().a(0L, l, this.flag, this.serverData, paramInt1, this.mScene, this.handler); + this.localOpType = this.flag; + return; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.realNameBindUin = getIntent().getLongExtra("real_uin", 0L); + this.flag = getIntent().getIntExtra("flag", 2); + this.validationType = getIntent().getIntExtra("istry", 0); + e.a("flag=" + this.flag + ",validationType=" + this.validationType + ",realuin=" + this.realNameBindUin); + resolution = ""; + transcodingTime = 0; + scanTime = 0; + frameCount = 0; + this.detectsucc = false; + this.mIsActiveSuccess = false; + if ((this.flag == 2) && (this.validationType == 0)) + { + setContentView(2130903253); + hideTitle(); + initValidationUI(); + } + for (;;) + { + if ((this.flag == 2) && (this.validationType == 3)) + { + this.mScene = 2; + this.toastView.setVisibility(0); + } + if ((this.flag == 2) && (this.validationType == 4)) + { + this.mScene = 3; + this.btn_vry_original.setVisibility(0); + } + init(); + return; + requestWindowFeature(1); + setContentView(2130903093); + hideTitle(); + this.toastView = findViewById(2131296574); + findViewById(2131296572).setOnClickListener(new he(this)); + this.btn_vry_original = ((Button)findViewById(2131296577)); + this.btn_vry_original.setOnClickListener(new hf(this)); + } + } + + protected void onDestroy() + { + super.onDestroy(); + this.serverData = null; + if (this.mPreview != null) { + this.mPreview.a(); + } + this.handler = null; + this.imgData1 = null; + this.imgData2 = null; + } + + protected void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (this.mPreview != null) + { + this.mPreview.a(this, this.flag, this.handler); + this.mPreview.c(); + } + if ((this.mShowPKDialog) || (this.detectsucc)) + { + this.mShowPKDialog = false; + this.mPreview.d(); + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new hl(this)); + } + } + + public void startAnimation() + { + if (this.mBmpLogoGreen != null) { + this.mLogo.setImageBitmap(this.mBmpLogoGreen); + } + this.mLogoMiddle.setVisibility(0); + this.animationHandler.post(new hr(this, this.mBgUpper, this.mLogoMiddle)); + } + + public void startOpenAnimation() + { + this.mOpenAnimGoUp = new TranslateAnimation(0.0F, 0.0F, 0.0F, -this.mOpenHeightUpper); + this.mOpenAnimGoUp.setDuration(500L); + this.mOpenAnimGoDown = new TranslateAnimation(0.0F, 0.0F, 0.0F, this.mOpenHeightLower); + this.mOpenAnimGoDown.setDuration(500L); + this.mOpenAnimGoDown.setAnimationListener(new hc(this)); + this.open_upper.startAnimation(this.mOpenAnimGoUp); + this.open_lower.startAnimation(this.mOpenAnimGoDown); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionCameraActivityOld + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreview.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreview.java new file mode 100755 index 00000000000..895df5f7ee0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreview.java @@ -0,0 +1,140 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.hardware.Camera; +import android.os.Handler; +import android.util.AttributeSet; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import android.view.SurfaceView; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; + +public class FaceRecognitionCameraPreview + extends SurfaceView + implements SurfaceHolder.Callback +{ + private SurfaceHolder a; + private int b = -1; + private Handler c; + private hx d; + private Context e; + private FaceView f; + private TextView g; + private int h = 1; + + public FaceRecognitionCameraPreview(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.e = paramContext; + } + + public void a() + { + if (this.d != null) + { + this.d.b(); + this.d = null; + } + this.e = null; + this.c = null; + } + + public final void a(int paramInt) + { + a(false); + if (this.d != null) + { + this.d.c(); + this.d.a(false, 0, paramInt, false); + this.d.b(true); + } + } + + public final void a(Context paramContext, int paramInt, Handler paramHandler, FaceView paramFaceView, TextView paramTextView) + { + this.e = paramContext; + this.c = paramHandler; + this.b = paramInt; + this.a = getHolder(); + this.a.addCallback(this); + this.a.setType(3); + this.f = paramFaceView; + this.g = paramTextView; + } + + public void a(boolean paramBoolean) + { + if (this.d != null) { + this.d.a(paramBoolean); + } + } + + public final void a(boolean paramBoolean1, boolean paramBoolean2, int paramInt1, int paramInt2) + { + a(false); + if (this.d != null) + { + this.d.c(); + this.d.a(paramBoolean2, paramInt1, paramInt2, true); + this.d.b(paramBoolean1); + } + } + + public final Camera b() + { + if (this.d != null) { + return this.d.a; + } + return null; + } + + public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) + { + if (this.a.getSurface() == null) { + return; + } + this.f.a(paramInt2, paramInt3); + this.f.invalidate(); + } + + public void surfaceCreated(SurfaceHolder paramSurfaceHolder) + { + e.c("surfaceCreated!"); + if (this.d == null) { + this.d = new hx(this.a, this.c, this.h, this.b, this.f, this.g); + } + this.d.a(); + } + + public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) + { + e.c("surfaceDestroyed!"); + try + { + if (this.d != null) + { + paramSurfaceHolder = this.d; + if (paramSurfaceHolder.a != null) + { + paramSurfaceHolder.a.setPreviewCallback(null); + paramSurfaceHolder.a.stopPreview(); + paramSurfaceHolder.a.release(); + paramSurfaceHolder.a = null; + } + } + return; + } + catch (Exception paramSurfaceHolder) + { + paramSurfaceHolder.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionCameraPreview + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreviewOld.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreviewOld.java new file mode 100755 index 00000000000..8ea4b24baf9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCameraPreviewOld.java @@ -0,0 +1,584 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Resources; +import android.hardware.Camera; +import android.hardware.Camera.CameraInfo; +import android.hardware.Camera.Size; +import android.os.Handler; +import android.os.Message; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import com.tencent.jni.Face; +import com.tencent.token.core.bean.FaceRecognitionParamResult; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class FaceRecognitionCameraPreviewOld + extends FaceRecognitionCameraPreview + implements SurfaceHolder.Callback +{ + public static boolean i = false; + public Camera a; + public Face b; + final long c = 0L; + Handler d; + long e = 0L; + int f; + int g; + float[] h; + Object j = new Object(); + private SurfaceHolder k; + private int l; + private int m; + private int n = -1; + private long o = 2000L; + private long p; + private int q; + private boolean r; + private int[] s; + private float t; + private float u; + private ExecutorService v = Executors.newSingleThreadExecutor(); + private volatile boolean w = false; + private boolean x; + private boolean y = true; + private int z = 1; + + public FaceRecognitionCameraPreviewOld(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + paramContext = t.k(); + this.h = new float[3]; + this.h[0] = paramContext.mRegRayThres; + this.h[1] = paramContext.mVerifyRayThres; + this.h[2] = paramContext.mDisparityThres; + } + + private void a(List paramList) + { + this.l = ((Camera.Size)paramList.get(0)).width; + this.m = ((Camera.Size)paramList.get(0)).height; + int i1 = 1; + while (i1 < paramList.size()) + { + if (Math.abs(this.l / this.m - this.f / this.g) > Math.abs(((Camera.Size)paramList.get(i1)).width / ((Camera.Size)paramList.get(i1)).height - this.f / this.g)) + { + this.l = ((Camera.Size)paramList.get(i1)).width; + this.m = ((Camera.Size)paramList.get(i1)).height; + } + i1 += 1; + } + e.c("debug------------mPreviewWidth=" + this.l + ",mPreviewHeight=" + this.m); + } + + public final void a() + { + if (this.v != null) { + this.v.shutdownNow(); + } + if (this.b != null) + { + this.r = true; + new Thread(new hw(this)).start(); + } + this.d = null; + i = true; + } + + public final void a(Context paramContext, int paramInt, Handler paramHandler) + { + this.d = paramHandler; + this.n = paramInt; + this.k = getHolder(); + this.k.addCallback(this); + this.k.setType(3); + this.t = paramContext.getResources().getDisplayMetrics().density; + paramContext = paramContext.getResources().getDisplayMetrics(); + this.f = paramContext.heightPixels; + this.g = paramContext.widthPixels; + this.u = (this.g / this.f); + e.b("screenWidth =" + this.f + ",screenHeight=" + this.g + ",range=" + this.u); + } + + public final void a(boolean paramBoolean) + { + if (paramBoolean) + { + this.r = true; + return; + } + this.v = Executors.newSingleThreadExecutor(); + this.q = 0; + this.r = false; + } + + public final void b(int paramInt) + { + this.r = false; + this.e = 0L; + this.p = 0L; + com.tencent.token.cv.c = ""; + com.tencent.token.cv.d = 0; + com.tencent.token.cv.e = 0; + com.tencent.token.cv.g = 0; + com.tencent.token.cv.f = 0; + com.tencent.token.cv.h = 0; + this.v = Executors.newSingleThreadExecutor(); + this.q = paramInt; + this.r = false; + } + + public final void c() + { + this.v = Executors.newSingleThreadExecutor(); + this.q = 0; + this.r = false; + } + + public final void d() + { + this.r = true; + } + + /* Error */ + public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) + { + // Byte code: + // 0: aload_0 + // 1: getfield 203 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:k Landroid/view/SurfaceHolder; + // 4: invokeinterface 277 1 0 + // 9: ifnonnull +4 -> 13 + // 12: return + // 13: aload_0 + // 14: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 17: invokevirtual 284 android/hardware/Camera:stopPreview ()V + // 20: new 139 java/lang/StringBuilder + // 23: dup + // 24: invokespecial 140 java/lang/StringBuilder: ()V + // 27: ldc_w 286 + // 30: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 33: iload_3 + // 34: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 37: ldc_w 288 + // 40: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 43: iload 4 + // 45: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 48: invokevirtual 155 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 51: invokestatic 251 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 54: aload_0 + // 55: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 58: ifnonnull +118 -> 176 + // 61: aload_0 + // 62: iconst_4 + // 63: newarray int + // 65: putfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 68: aload_0 + // 69: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 72: iconst_0 + // 73: bipush 60 + // 75: iastore + // 76: aload_0 + // 77: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 80: iconst_1 + // 81: sipush 140 + // 84: iastore + // 85: aload_0 + // 86: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 89: iconst_2 + // 90: sipush 360 + // 93: iastore + // 94: aload_0 + // 95: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 98: iconst_3 + // 99: sipush 460 + // 102: iastore + // 103: new 139 java/lang/StringBuilder + // 106: dup + // 107: invokespecial 140 java/lang/StringBuilder: ()V + // 110: ldc_w 290 + // 113: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 116: aload_0 + // 117: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 120: iconst_0 + // 121: iaload + // 122: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 125: ldc_w 292 + // 128: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 131: aload_0 + // 132: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 135: iconst_1 + // 136: iaload + // 137: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 140: ldc_w 292 + // 143: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 146: aload_0 + // 147: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 150: iconst_2 + // 151: iaload + // 152: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 155: ldc_w 292 + // 158: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 161: aload_0 + // 162: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 165: iconst_3 + // 166: iaload + // 167: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 170: invokevirtual 155 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 173: invokestatic 294 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 176: aload_0 + // 177: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 180: ifnull -168 -> 12 + // 183: aload_0 + // 184: getfield 196 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:d Landroid/os/Handler; + // 187: iconst_0 + // 188: invokevirtual 300 android/os/Handler:obtainMessage (I)Landroid/os/Message; + // 191: astore_1 + // 192: aload_1 + // 193: bipush 10 + // 195: putfield 305 android/os/Message:what I + // 198: aload_1 + // 199: iload_3 + // 200: putfield 308 android/os/Message:arg1 I + // 203: aload_1 + // 204: iload 4 + // 206: putfield 311 android/os/Message:arg2 I + // 209: aload_1 + // 210: invokevirtual 314 android/os/Message:sendToTarget ()V + // 213: aload_0 + // 214: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 217: invokevirtual 318 android/hardware/Camera:getParameters ()Landroid/hardware/Camera$Parameters; + // 220: astore_1 + // 221: aload_1 + // 222: sipush 256 + // 225: invokevirtual 323 android/hardware/Camera$Parameters:setPictureFormat (I)V + // 228: aload_1 + // 229: bipush 17 + // 231: invokevirtual 326 android/hardware/Camera$Parameters:setPreviewFormat (I)V + // 234: aload_0 + // 235: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 238: invokevirtual 318 android/hardware/Camera:getParameters ()Landroid/hardware/Camera$Parameters; + // 241: invokevirtual 329 android/hardware/Camera$Parameters:getSupportedPreviewSizes ()Ljava/util/List; + // 244: astore 5 + // 246: iconst_0 + // 247: istore_2 + // 248: iload_2 + // 249: aload 5 + // 251: invokeinterface 127 1 0 + // 256: if_icmpge +72 -> 328 + // 259: aload 5 + // 261: iload_2 + // 262: invokeinterface 111 2 0 + // 267: checkcast 113 android/hardware/Camera$Size + // 270: astore 6 + // 272: new 139 java/lang/StringBuilder + // 275: dup + // 276: invokespecial 140 java/lang/StringBuilder: ()V + // 279: ldc_w 331 + // 282: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 285: aload 6 + // 287: getfield 116 android/hardware/Camera$Size:width I + // 290: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 293: ldc_w 333 + // 296: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 299: aload 6 + // 301: getfield 121 android/hardware/Camera$Size:height I + // 304: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 307: invokevirtual 155 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 310: invokestatic 251 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 313: iload_2 + // 314: iconst_1 + // 315: iadd + // 316: istore_2 + // 317: goto -69 -> 248 + // 320: astore_1 + // 321: aload_1 + // 322: invokevirtual 336 java/lang/Exception:printStackTrace ()V + // 325: goto -305 -> 20 + // 328: aload_0 + // 329: invokevirtual 337 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:getResources ()Landroid/content/res/Resources; + // 332: invokevirtual 341 android/content/res/Resources:getConfiguration ()Landroid/content/res/Configuration; + // 335: getfield 346 android/content/res/Configuration:orientation I + // 338: iconst_2 + // 339: if_icmpeq +296 -> 635 + // 342: aload_1 + // 343: ldc_w 347 + // 346: ldc_w 349 + // 349: invokevirtual 353 android/hardware/Camera$Parameters:set (Ljava/lang/String;Ljava/lang/String;)V + // 352: aload_1 + // 353: ldc_w 355 + // 356: bipush 90 + // 358: invokevirtual 358 android/hardware/Camera$Parameters:set (Ljava/lang/String;I)V + // 361: aload_0 + // 362: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 365: bipush 90 + // 367: invokevirtual 361 android/hardware/Camera:setDisplayOrientation (I)V + // 370: getstatic 366 android/os/Build:MODEL Ljava/lang/String; + // 373: ldc_w 368 + // 376: invokevirtual 374 java/lang/String:equals (Ljava/lang/Object;)Z + // 379: ifeq +13 -> 392 + // 382: aload_0 + // 383: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 386: sipush 270 + // 389: invokevirtual 361 android/hardware/Camera:setDisplayOrientation (I)V + // 392: invokestatic 376 com/tencent/token/utils/t:o ()I + // 395: istore_2 + // 396: iload_2 + // 397: ifeq +11 -> 408 + // 400: aload_0 + // 401: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 404: iload_2 + // 405: invokevirtual 361 android/hardware/Camera:setDisplayOrientation (I)V + // 408: aload_0 + // 409: aload 5 + // 411: invokespecial 378 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a (Ljava/util/List;)V + // 414: aload_0 + // 415: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 418: iconst_0 + // 419: aload_0 + // 420: getfield 123 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:m I + // 423: bipush 60 + // 425: imul + // 426: sipush 480 + // 429: idiv + // 430: iastore + // 431: aload_0 + // 432: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 435: iconst_1 + // 436: aload_0 + // 437: getfield 118 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:l I + // 440: sipush 140 + // 443: imul + // 444: sipush 720 + // 447: idiv + // 448: iastore + // 449: aload_0 + // 450: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 453: iconst_2 + // 454: aload_0 + // 455: getfield 123 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:m I + // 458: sipush 360 + // 461: imul + // 462: sipush 480 + // 465: idiv + // 466: iastore + // 467: aload_0 + // 468: getfield 169 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:s [I + // 471: iconst_3 + // 472: aload_0 + // 473: getfield 118 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:l I + // 476: sipush 460 + // 479: imul + // 480: sipush 720 + // 483: idiv + // 484: iastore + // 485: aload_1 + // 486: aload_0 + // 487: getfield 118 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:l I + // 490: aload_0 + // 491: getfield 123 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:m I + // 494: invokevirtual 382 android/hardware/Camera$Parameters:setPreviewSize (II)V + // 497: new 139 java/lang/StringBuilder + // 500: dup + // 501: invokespecial 140 java/lang/StringBuilder: ()V + // 504: aload_0 + // 505: getfield 123 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:m I + // 508: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 511: ldc_w 384 + // 514: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 517: aload_0 + // 518: getfield 118 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:l I + // 521: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 524: invokevirtual 155 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 527: putstatic 261 com/tencent/token/cv:c Ljava/lang/String; + // 530: aload_0 + // 531: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 534: new 386 com/tencent/token/ui/hu + // 537: dup + // 538: aload_0 + // 539: invokespecial 387 com/tencent/token/ui/hu: (Lcom/tencent/token/ui/FaceRecognitionCameraPreviewOld;)V + // 542: invokevirtual 391 android/hardware/Camera:setPreviewCallback (Landroid/hardware/Camera$PreviewCallback;)V + // 545: aload_0 + // 546: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 549: aload_1 + // 550: invokevirtual 395 android/hardware/Camera:setParameters (Landroid/hardware/Camera$Parameters;)V + // 553: aload_0 + // 554: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 557: invokevirtual 398 android/hardware/Camera:startPreview ()V + // 560: aload_0 + // 561: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 564: invokevirtual 318 android/hardware/Camera:getParameters ()Landroid/hardware/Camera$Parameters; + // 567: invokevirtual 402 android/hardware/Camera$Parameters:getPreviewSize ()Landroid/hardware/Camera$Size; + // 570: astore_1 + // 571: new 139 java/lang/StringBuilder + // 574: dup + // 575: invokespecial 140 java/lang/StringBuilder: ()V + // 578: ldc_w 404 + // 581: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 584: aload_1 + // 585: getfield 116 android/hardware/Camera$Size:width I + // 588: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 591: ldc_w 406 + // 594: invokevirtual 146 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 597: aload_1 + // 598: getfield 121 android/hardware/Camera$Size:height I + // 601: invokevirtual 149 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 604: invokevirtual 155 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 607: invokestatic 251 com/tencent/token/global/e:b (Ljava/lang/String;)V + // 610: return + // 611: astore_1 + // 612: aload_1 + // 613: invokevirtual 336 java/lang/Exception:printStackTrace ()V + // 616: aload_0 + // 617: getfield 196 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:d Landroid/os/Handler; + // 620: iconst_0 + // 621: invokevirtual 300 android/os/Handler:obtainMessage (I)Landroid/os/Message; + // 624: astore_1 + // 625: aload_1 + // 626: iconst_2 + // 627: putfield 305 android/os/Message:what I + // 630: aload_1 + // 631: invokevirtual 314 android/os/Message:sendToTarget ()V + // 634: return + // 635: aload_1 + // 636: ldc_w 347 + // 639: ldc_w 408 + // 642: invokevirtual 353 android/hardware/Camera$Parameters:set (Ljava/lang/String;Ljava/lang/String;)V + // 645: aload_0 + // 646: getfield 279 com/tencent/token/ui/FaceRecognitionCameraPreviewOld:a Landroid/hardware/Camera; + // 649: iconst_0 + // 650: invokevirtual 361 android/hardware/Camera:setDisplayOrientation (I)V + // 653: goto -245 -> 408 + // Local variable table: + // start length slot name signature + // 0 656 0 this FaceRecognitionCameraPreviewOld + // 0 656 1 paramSurfaceHolder SurfaceHolder + // 0 656 2 paramInt1 int + // 0 656 3 paramInt2 int + // 0 656 4 paramInt3 int + // 244 166 5 localList List + // 270 30 6 localSize Camera.Size + // Exception table: + // from to target type + // 13 20 320 java/lang/Exception + // 183 246 611 java/lang/Exception + // 248 313 611 java/lang/Exception + // 328 392 611 java/lang/Exception + // 392 396 611 java/lang/Exception + // 400 408 611 java/lang/Exception + // 408 610 611 java/lang/Exception + // 635 653 611 java/lang/Exception + } + + public void surfaceCreated(SurfaceHolder paramSurfaceHolder) + { + int i2 = 0; + e.c("surfaceCreated!"); + int i3; + try + { + if (this.a != null) { + break label260; + } + paramSurfaceHolder = new Camera.CameraInfo(); + i3 = Camera.getNumberOfCameras(); + i1 = 0; + for (;;) + { + if (i1 < i3) + { + Camera.getCameraInfo(i1, paramSurfaceHolder); + int i4 = paramSurfaceHolder.facing; + if (i4 == 1) {} + try + { + this.a = Camera.open(i1); + this.z = 1; + i1 += 1; + } + catch (RuntimeException localRuntimeException1) + { + for (;;) + { + e.c("CameraOpen camera=" + this.a); + } + } + } + } + if (this.a != null) { + break label209; + } + } + catch (Exception paramSurfaceHolder) + { + paramSurfaceHolder.printStackTrace(); + if (this.a != null) + { + this.a.release(); + this.a = null; + } + return; + } + int i1 = i2; + for (;;) + { + if (i1 < i3) + { + Camera.getCameraInfo(i1, paramSurfaceHolder); + i2 = paramSurfaceHolder.facing; + if (i2 == 0) {} + try + { + this.a = Camera.open(i1); + this.z = 0; + i1 += 1; + } + catch (RuntimeException localRuntimeException2) + { + for (;;) + { + e.c("CameraOpen camera=" + this.a); + } + } + } + } + label209: + if (this.a == null) + { + e.c("CameraOpen camera=" + this.a); + paramSurfaceHolder = this.d.obtainMessage(0); + paramSurfaceHolder.what = 2; + paramSurfaceHolder.sendToTarget(); + } + label260: + i = false; + this.a.setPreviewDisplay(this.k); + this.a.startPreview(); + e.c("surfaceCreated!------isReleased: " + i); + } + + public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) + { + e.c("surfaceDestroyed!"); + if (this.a != null) + { + this.a.setPreviewCallback(null); + this.a.stopPreview(); + this.a.release(); + this.a = null; + i = true; + } + e.c("surfaceDestroyed!------isReleased: " + i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionCameraPreviewOld + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionComfirmActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionComfirmActivity.java new file mode 100755 index 00000000000..42bcf59a70c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionComfirmActivity.java @@ -0,0 +1,119 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.KeyEvent; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; + +public class FaceRecognitionComfirmActivity + extends BaseActivity +{ + private int flag; + private String mPath; + + private void init() + { + Object localObject = getIntent().getByteArrayExtra("data"); + if (localObject == null) + { + e.a("data is null"); + finish(); + } + do + { + return; + localObject = BitmapFactory.decodeByteArray((byte[])localObject, 0, localObject.length); + ((ImageView)findViewById(2131296559)).setImageBitmap((Bitmap)localObject); + ((TextView)findViewById(2131296557)).setOnClickListener(new ic(this)); + localObject = (TextView)findViewById(2131296558); + ((TextView)localObject).setOnClickListener(new id(this)); + } while (this.flag != 3); + ((TextView)localObject).setText(2131361806); + } + + private void initOrigin() + { + e.a("pathpath=" + this.mPath); + if (TextUtils.isEmpty(this.mPath)) + { + e.a("data is null"); + finish(); + } + Object localObject; + do + { + return; + localObject = (ImageView)findViewById(2131296559); + ((ImageView)localObject).postDelayed(new ie(this, (ImageView)localObject), 100L); + Bitmap localBitmap = t.b(this.mPath, Math.max(((ImageView)localObject).getWidth(), ((ImageView)localObject).getHeight())); + e.a("pathpah" + localBitmap); + ((ImageView)localObject).setImageBitmap(localBitmap); + ((TextView)findViewById(2131296557)).setOnClickListener(new if(this)); + localObject = (TextView)findViewById(2131296558); + ((TextView)localObject).setOnClickListener(new ig(this)); + } while (this.flag != 3); + ((TextView)localObject).setText(2131361806); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + setResult(10); + finish(); + return true; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + e.a("FaceRecognitionComfirmActivity"); + setNeverShowLockVerifyView(); + this.flag = getIntent().getIntExtra("flag", -1); + setContentView(2130903081); + this.mPath = getIntent().getStringExtra("origindata"); + if ((this.mPath != null) && (this.mPath.length() > 0)) + { + initOrigin(); + return; + } + init(); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ib(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionComfirmActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCreateActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCreateActivity.java new file mode 100755 index 00000000000..10fbecda16c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionCreateActivity.java @@ -0,0 +1,110 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.os.Bundle; +import android.text.Html; +import android.view.View; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.TextView; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; + +public class FaceRecognitionCreateActivity + extends BaseActivity +{ + private Button btn_reg; + private CheckBox chk; + private Button fr_btn_scan; + private boolean fromspalsh; + private int istry; + private TextView tv_licence; + + public static boolean getFlag() + { + try + { + boolean bool = RqdApplication.i().getSharedPreferences("create_notice_flag", 0).getBoolean("notice_flag", false); + return bool; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return false; + } + + private void initNotice() + { + setTitle(2131362242); + this.chk = ((CheckBox)findViewById(2131296599)); + this.chk.setOnCheckedChangeListener(new il(this)); + this.fr_btn_scan = ((Button)findViewById(2131296604)); + this.fr_btn_scan.setOnClickListener(new im(this)); + } + + private void initReg() + { + this.chk = ((CheckBox)findViewById(2131296599)); + this.chk.setOnCheckedChangeListener(new ii(this)); + this.tv_licence = ((TextView)findViewById(2131296600)); + this.tv_licence.setText(Html.fromHtml(getResources().getString(2131362478))); + this.tv_licence.setOnClickListener(new ij(this)); + this.btn_reg = ((Button)findViewById(2131296601)); + this.btn_reg.setOnClickListener(new ik(this)); + } + + public static void saveFlag() + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("create_notice_flag", 0).edit(); + localEditor.putBoolean("notice_flag", true); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public void onBackPressed() + { + if (this.fromspalsh) + { + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.putExtra("index_from", 21); + startActivity(localIntent); + } + finish(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.istry = getIntent().getIntExtra("istry", -1); + this.fromspalsh = getIntent().getBooleanExtra("fromsplash", false); + setContentView(2130903094); + initReg(); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ih(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionCreateActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionDefaultActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionDefaultActivity.java new file mode 100755 index 00000000000..b7da9f96489 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRecognitionDefaultActivity.java @@ -0,0 +1,127 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +public class FaceRecognitionDefaultActivity + extends BaseActivity +{ + private Button btn_del; + private View face_chanege_pwd; + private boolean fromspalsh; + private ImageView iv_facepswredicon; + private ImageView iv_redicon; + private boolean open_switch; + private View rl_add; + private View rl_pk; + private View rl_pwd; + private View rl_retry; + private TextView tv_iv_facepsw_status; + private TextView tv_status; + + public void onBackPressed() + { + if (this.fromspalsh) + { + Intent localIntent = new Intent(this, MyMbSubPageActivity.class); + localIntent.putExtra("fromspalsh", this.fromspalsh); + startActivity(localIntent); + } + finish(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903096); + int i = getIntent().getIntExtra("toastflag", -1); + this.fromspalsh = getIntent().getBooleanExtra("fromsplash", false); + if (i == 1) + { + showOrangeToast(2131362487, 2130837966); + AccountPageActivity.mNeedRefreshEval = true; + } + for (;;) + { + this.tv_status = ((TextView)findViewById(2131296607)); + this.tv_iv_facepsw_status = ((TextView)findViewById(2131296554)); + this.iv_redicon = ((ImageView)findViewById(2131296615)); + this.rl_pwd = findViewById(2131296605); + this.rl_pwd.setOnClickListener(new in(this)); + this.iv_facepswredicon = ((ImageView)findViewById(2131296553)); + this.face_chanege_pwd = findViewById(2131296551); + if (t.l() == 0) { + this.face_chanege_pwd.setVisibility(8); + } + this.face_chanege_pwd.setOnClickListener(new io(this)); + findViewById(2131296608).setOnClickListener(new ip(this)); + this.rl_retry = findViewById(2131296611); + this.rl_retry.setOnClickListener(new iq(this)); + this.rl_add = findViewById(2131296612); + this.rl_add.setOnClickListener(new ir(this)); + this.rl_pk = findViewById(2131296613); + this.rl_pk.setOnClickListener(new is(this)); + return; + if (i == 2) { + showOrangeToast(2131362497, 2130837966); + } else if (i == 4) { + showOrangeToast(2131362498, 2130837966); + } + } + } + + protected void onResume() + { + super.onResume(); + if (t.e() != 0L) + { + this.tv_status.setText(2131362380); + this.tv_status.setTextAppearance(this, 2131427368); + } + while (ax.a().e() == null) + { + showNoAccountTipDialog(this, 3, 0); + return; + this.tv_status.setText(2131362381); + this.tv_status.setTextAppearance(this, 2131427367); + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 3, 1); + return; + } + pv.a().a(this, new iu(this)); + if ((!s.i("face_changepsw_redtip")) && (t.e() == 0L)) { + this.iv_facepswredicon.setVisibility(0); + } + for (;;) + { + this.iv_redicon.setVisibility(4); + return; + this.iv_facepswredicon.setVisibility(4); + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new it(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRecognitionDefaultActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegCameraActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegCameraActivity.java new file mode 100755 index 00000000000..2b339f428ba --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegCameraActivity.java @@ -0,0 +1,325 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.cv; +import com.tencent.token.ge; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.ui.base.co; +import java.util.ArrayList; + +public class FaceRegCameraActivity + extends BaseActivity +{ + private Handler handler = new iv(this); + private boolean isShowingErrorDialog = false; + private int[] mActions; + private Animation mAnimLeft; + private co mDrawable; + private int mFaceOpType = 1; + private int mFaceScene = 1; + private FaceView mFaceView; + private FaceData mImgData1; + private FaceData mImgData2; + private ImageView mLiveDetectImg; + private boolean mNeedLiveAction = false; + private FaceRecognitionCameraPreview mPreview; + private ImageView mProgress; + private int mScene; + private byte[] mServerData; + private int mStep; + private RelativeLayout mTipAreaLayout; + private TextView mTipTxt; + + private void doFaceReg() + { + ArrayList localArrayList = new ArrayList(); + if ((this.mImgData1 == null) || (this.mImgData2 == null)) {} + do + { + return; + localArrayList.add(this.mImgData1.mUploadData); + localArrayList.add(this.mImgData2.mUploadData); + this.mServerData = ge.a(localArrayList); + } while ((this.mServerData == null) || (this.mServerData.length <= 100)); + setContentView(2130903098); + this.mProgress = ((ImageView)findViewById(2131296624)); + this.mProgress.setBackgroundDrawable(this.mDrawable); + this.handler.sendEmptyMessageDelayed(13, 10000L); + if (ax.a().e() != null) {} + for (long l = ax.a().e().mRealUin;; l = 0L) + { + af.a().a(0L, l, this.mFaceOpType, this.mServerData, 0, this.mFaceScene, this.handler); + this.mPreview.a(); + return; + } + } + + private void doRealnameReg() + { + Object localObject = new ArrayList(); + if ((this.mImgData1 == null) || (this.mImgData2 == null)) {} + do + { + return; + ((ArrayList)localObject).add(this.mImgData1.mUploadData); + ((ArrayList)localObject).add(this.mImgData2.mUploadData); + this.mServerData = ge.a((ArrayList)localObject); + } while ((this.mServerData == null) || (this.mServerData.length <= 100)); + localObject = new Intent(); + ((Intent)localObject).putExtra("facedata", this.mServerData); + setResult(0, (Intent)localObject); + finish(); + } + + private void init() + { + findViewById(2131296572).setOnClickListener(new jg(this)); + this.mTipAreaLayout = ((RelativeLayout)findViewById(2131296581)); + this.mTipTxt = ((TextView)findViewById(2131296578)); + this.mLiveDetectImg = ((ImageView)findViewById(2131296582)); + TextView localTextView = (TextView)findViewById(2131296571); + if (this.mScene == 1) { + localTextView.setText(2131362470); + } + for (;;) + { + this.mPreview = ((FaceRecognitionCameraPreview)findViewById(2131296481)); + this.mFaceView = ((FaceView)findViewById(2131296482)); + this.mDrawable = new co(this); + return; + localTextView.setText(2131362609); + } + } + + private void setLiveDetectTxt(int paramInt) + { + this.mTipTxt.setVisibility(0); + this.mLiveDetectImg.setVisibility(0); + switch (paramInt) + { + default: + return; + case 1: + this.mTipTxt.setText(2131362783); + this.mLiveDetectImg.setImageResource(2130837774); + return; + case 2: + this.mTipTxt.setText(2131362784); + this.mLiveDetectImg.setImageResource(2130837546); + return; + case 3: + this.mTipTxt.setText(2131362785); + this.mLiveDetectImg.setImageResource(2130837770); + return; + } + this.mTipTxt.setText(2131362786); + this.mLiveDetectImg.setImageResource(2130837891); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + if (RqdApplication.c()) + { + exitToken(); + return true; + } + finish(); + return true; + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + e.a("requestcode=" + paramInt1 + ",resultcode=" + paramInt2); + if (paramInt1 == 100) { + if (paramInt2 == 10) { + if (this.mStep <= 0) { + if (this.mImgData1 != null) + { + this.mImgData1.mOriginDataPath = null; + this.mImgData1.mUploadData = null; + this.mImgData1 = null; + } + } + } + } + label122: + do + { + do + { + do + { + break label122; + for (;;) + { + this.mPreview.a(true, false, 0, this.mStep); + this.mFaceView.c(0); + this.mTipTxt.setText(2131362782); + this.mLiveDetectImg.setImageResource(2130837712); + return; + if (this.mImgData2 != null) + { + this.mImgData2.mOriginDataPath = null; + this.mImgData2.mUploadData = null; + this.mImgData2 = null; + } + } + } while (paramInt2 != 20); + if (this.mScene == 1) + { + this.mStep += 1; + if (this.mStep < 2) + { + showOrangeToast(2131362479, 2130837964); + this.mPreview.a(true, false, 0, this.mStep); + this.mFaceView.c(3); + return; + } + doFaceReg(); + return; + } + this.mStep += 1; + if (this.mStep < 2) + { + showOrangeToast(2131362479, 2130837964); + this.mPreview.a(true, false, 0, this.mStep); + this.mFaceView.c(0); + return; + } + doRealnameReg(); + return; + } while (paramInt1 != 200); + if (paramInt2 == 10) + { + this.mStep = 0; + if (this.mImgData1 != null) + { + this.mImgData1.mOriginDataPath = null; + this.mImgData1.mUploadData = null; + this.mImgData1 = null; + } + if (this.mImgData2 != null) + { + this.mImgData2.mOriginDataPath = null; + this.mImgData2.mUploadData = null; + this.mImgData2 = null; + } + this.mPreview.a(true, false, 0, this.mStep); + this.mFaceView.c(0); + this.mTipTxt.setText(2131362782); + this.mLiveDetectImg.setImageResource(2130837712); + return; + } + } while (paramInt2 != 20); + if (this.mScene == 1) + { + doFaceReg(); + return; + } + doRealnameReg(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.mScene = getIntent().getIntExtra("scene", 1); + requestWindowFeature(1); + setContentView(2130903091); + hideTitle(); + init(); + cv.e(); + af.a().h(-1L, this.mScene, this.handler); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mServerData = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + this.handler = null; + if (this.mImgData1 != null) + { + this.mImgData1.mOriginDataPath = null; + this.mImgData1.mUploadData = null; + this.mImgData1 = null; + } + if (this.mImgData2 != null) + { + this.mImgData2.mOriginDataPath = null; + this.mImgData2.mUploadData = null; + this.mImgData2 = null; + } + } + + protected void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (this.mPreview != null) + { + this.mPreview.a(this, this.mScene, this.handler, this.mFaceView, this.mTipTxt); + this.mPreview.a(false); + } + if (this.mAnimLeft == null) { + this.mAnimLeft = AnimationUtils.loadAnimation(this, 2130968579); + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new jh(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRegCameraActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegConfirmActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegConfirmActivity.java new file mode 100755 index 00000000000..401e4042af3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceRegConfirmActivity.java @@ -0,0 +1,79 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import com.tencent.token.global.e; + +public class FaceRegConfirmActivity + extends BaseActivity +{ + private void init() + { + Object localObject1 = getIntent().getByteArrayExtra("data1"); + Object localObject2 = getIntent().getByteArrayExtra("data2"); + if ((localObject1 != null) && (localObject2 != null)) + { + localObject1 = BitmapFactory.decodeByteArray((byte[])localObject1, 0, localObject1.length); + localObject2 = BitmapFactory.decodeByteArray((byte[])localObject2, 0, localObject2.length); + e.a("face bitmap1 w=" + ((Bitmap)localObject1).getWidth() + ",h=" + ((Bitmap)localObject1).getHeight() + ", bitmap2 w=" + ((Bitmap)localObject2).getWidth() + ",h=" + ((Bitmap)localObject2).getHeight()); + ImageView localImageView1 = (ImageView)findViewById(2131296618); + ImageView localImageView2 = (ImageView)findViewById(2131296621); + localImageView1.setImageBitmap((Bitmap)localObject1); + localImageView2.setImageBitmap((Bitmap)localObject2); + } + ((Button)findViewById(2131296622)).setOnClickListener(new ji(this)); + ((Button)findViewById(2131296623)).setOnClickListener(new jj(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + setResult(10); + finish(); + return true; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903097); + init(); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new jk(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceRegConfirmActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FaceStartVryCameraActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceStartVryCameraActivity.java new file mode 100755 index 00000000000..84b5c4b3ce0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FaceStartVryCameraActivity.java @@ -0,0 +1,350 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.util.DisplayMetrics; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.animation.AlphaAnimation; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.cv; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +public class FaceStartVryCameraActivity + extends BaseActivity +{ + public static String LANUCH_RETRY_COUNT = "fr_retrycount"; + private final int ALLOW_MAX_RETRY = 5; + private Handler animationHandler = new jx(this); + private Handler handler = new jl(this); + private int[] mActions; + private AlphaAnimation mAnimAlpha; + private TranslateAnimation mAnimGoUp; + private RotateAnimation mAnimRotate; + private View mBgUpper; + private Bitmap mBmpLogo; + private Bitmap mBmpLogoGreen; + private TextView mChangeVryTxt; + private boolean mDetectSucc; + private FaceData mFaceData; + private int mFaceOpType = 2; + private int mFaceScene = 6; + private FaceView mFaceView; + private int mHeightUpper; + private boolean mIsActiveSuccess = false; + private boolean mIsShowingErrorDialog = false; + boolean mIsh5zzb; + private ImageView mLogo; + private View mLogoMiddle; + private boolean mNeedLiveAction = false; + private TranslateAnimation mOpenAnimGoDown; + private TranslateAnimation mOpenAnimGoUp; + private int mOpenHeightLower; + private int mOpenHeightUpper; + private View mOpenLower; + private View mOpenUper; + private ImageView mOpenUperDoor; + private ImageView mOpenUperDoorNew; + private FaceRecognitionCameraPreview mPreview; + private int mRetryCount; + private int mScene = 5; + private byte[] mServerData; + private TextView mTipTxt; + private ImageView mVrySucc1; + private ImageView mVrySucc2; + private long realNameBindUin; + + private int getLockStatus() + { + int i; + if (t.e() != 0L) { + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 19; + } + } + for (;;) + { + e.c("getLockStatus = " + i); + return i; + i = 18; + continue; + if ((ah.a().c()) && (ah.a().e() == 2)) { + i = 17; + } else { + i = 16; + } + } + } + + private void init() + { + this.mRetryCount = s.j(LANUCH_RETRY_COUNT); + e.c("retryCount = " + this.mRetryCount); + if (this.mRetryCount >= 5) { + jumpGesOrPWD(); + } + this.mPreview = ((FaceRecognitionCameraPreview)findViewById(2131296481)); + this.mFaceView = ((FaceView)findViewById(2131296482)); + QQUser localQQUser1 = ax.a().e(); + QQUser localQQUser2 = t.g(); + this.mVrySucc1 = ((ImageView)findViewById(2131296579)); + this.mVrySucc2 = ((ImageView)findViewById(2131296580)); + this.mTipTxt = ((TextView)findViewById(2131296578)); + ViewGroup.MarginLayoutParams localMarginLayoutParams = (ViewGroup.MarginLayoutParams)this.mTipTxt.getLayoutParams(); + int i = getResources().getDisplayMetrics().densityDpi; + float f = getResources().getDisplayMetrics().density; + if (i <= 240) + { + localMarginLayoutParams.bottomMargin = ((int)(70.0F * f)); + if ((localQQUser1 == null) || (localQQUser2 == null) || (!localQQUser2.mIsZzb)) { + break label263; + } + this.mFaceView.a(true, true); + this.mVrySucc1.setImageResource(2130838027); + this.mVrySucc2.setImageResource(2130838028); + } + for (;;) + { + this.handler.postDelayed(new ka(this, f), 2000L); + return; + localMarginLayoutParams.bottomMargin = ((int)(90.0F * f)); + break; + label263: + this.mFaceView.a(false, true); + } + } + + private void initValidationUI() + { + this.mChangeVryTxt = ((TextView)findViewById(2131296585)); + this.mOpenLower = findViewById(2131296586); + this.mOpenUper = findViewById(2131296587); + this.mOpenUperDoor = ((ImageView)findViewById(2131296590)); + this.mOpenUperDoorNew = ((ImageView)findViewById(2131296591)); + QQUser localQQUser1 = ax.a().e(); + QQUser localQQUser2 = t.g(); + if ((localQQUser1 != null) && (localQQUser2 != null) && (localQQUser2.mIsZzb)) + { + this.animationHandler.post(new ki(this, this.mOpenUperDoor)); + this.animationHandler.post(new kg(this, this.mOpenUperDoorNew)); + } + this.mOpenUper.postDelayed(new kb(this), 800L); + this.mBgUpper = findViewById(2131296536); + this.mBgUpper.postDelayed(new kc(this), 500L); + this.mLogoMiddle = findViewById(2131296584); + this.mLogoMiddle.setVisibility(4); + this.mBmpLogo = t.a(getResources(), 2130837920); + this.mBmpLogoGreen = t.a(getResources(), 2130837922); + if ((localQQUser1 != null) && (localQQUser2 != null) && (localQQUser2.mIsZzb)) + { + ((ImageView)this.mLogoMiddle).setImageDrawable(getResources().getDrawable(2130837919)); + this.mBmpLogoGreen = t.a(getResources(), 2130837924); + this.mBmpLogo = t.a(getResources(), 2130837924); + this.mChangeVryTxt.setTextColor(getResources().getColor(2131165326)); + } + for (;;) + { + if (this.mBmpLogo != null) + { + this.mLogo = ((ImageView)findViewById(2131296583)); + this.mLogo.setImageBitmap(this.mBmpLogo); + } + if (!RqdApplication.d()) { + this.mChangeVryTxt.setText(2131361941); + } + this.mChangeVryTxt.setOnClickListener(new kd(this)); + return; + this.mChangeVryTxt.setTextColor(getResources().getColor(2131165325)); + } + } + + private void jumpGesOrPWD() + { + if (!RqdApplication.d()) + { + Intent localIntent = new Intent(this, StartPwdGestureForgetActivity.class); + localIntent.putExtra("startpwd_forget_source", 3); + startActivity(localIntent); + finish(); + return; + } + startActivity(new Intent(this, StartPwdGestureVerifyActivity.class)); + finish(); + } + + private void resetFaceDetection() + { + this.mPreview.a(true, false, 0, 0); + this.mFaceView.c(0); + this.mTipTxt.setText(2131362782); + } + + private void setLiveDetectTxt(int paramInt) + { + switch (paramInt) + { + default: + return; + case 1: + this.mTipTxt.setText(2131362787); + return; + case 2: + this.mTipTxt.setText(2131362788); + return; + case 3: + this.mTipTxt.setText(2131362789); + return; + } + this.mTipTxt.setText(2131362790); + } + + private void showNobindingAlert(Context paramContext, int paramInt1, int paramInt2) + { + if (((paramContext instanceof Activity)) && (!((Activity)paramContext).isFinishing())) { + showUserDialog(2131361808, getString(paramInt1), paramInt2, new jy(this, paramContext), new jz(this, paramContext)); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + if (RqdApplication.c()) + { + exitToken(); + return true; + } + if (this.mIsActiveSuccess) { + break; + } + finish(); + return true; + } + return true; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.realNameBindUin = getIntent().getLongExtra("real_uin", 0L); + e.a("flag=" + this.mFaceOpType + ",realuin=" + this.realNameBindUin); + this.mIsh5zzb = getIntent().getBooleanExtra("ish5zzb", false); + this.mDetectSucc = false; + this.mIsActiveSuccess = false; + setContentView(2130903092); + hideTitle(); + initValidationUI(); + init(); + cv.e(); + af.a().h(t.e(), this.mScene, this.handler); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mServerData = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + this.handler = null; + } + + protected void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (this.mPreview != null) + { + this.mPreview.a(this, this.mScene, this.handler, this.mFaceView, this.mTipTxt); + this.mPreview.a(false); + this.mPreview.a(true, false, 0, 0); + this.mFaceView.c(0); + this.mTipTxt.setText(2131362782); + } + if (this.mDetectSucc) { + this.mPreview.a(true); + } + } + + protected void onStart() + { + super.onStart(); + this.mDetectSucc = false; + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ke(this)); + } + } + + public void startAnimation() + { + if (this.mBmpLogoGreen != null) { + this.mLogo.setImageBitmap(this.mBmpLogoGreen); + } + this.mLogoMiddle.setVisibility(0); + this.animationHandler.post(new kk(this, this.mBgUpper, this.mLogoMiddle)); + } + + public void startOpenAnimation() + { + this.mOpenAnimGoUp = new TranslateAnimation(0.0F, 0.0F, 0.0F, -this.mOpenHeightUpper); + this.mOpenAnimGoUp.setDuration(500L); + this.mOpenAnimGoDown = new TranslateAnimation(0.0F, 0.0F, 0.0F, this.mOpenHeightLower); + this.mOpenAnimGoDown.setDuration(500L); + this.mOpenAnimGoDown.setAnimationListener(new kf(this)); + this.mOpenUper.startAnimation(this.mOpenAnimGoUp); + this.mOpenLower.startAnimation(this.mOpenAnimGoDown); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FaceStartVryCameraActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FindItemsActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FindItemsActivity.java new file mode 100755 index 00000000000..ee5ec581101 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FindItemsActivity.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.util.DisplayMetrics; +import android.widget.Button; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import com.tencent.token.core.bean.JLProtectionInfo; + +public class FindItemsActivity + extends BaseActivity +{ + private RelativeLayout jianlingLayout; + private Handler mHandler = new kn(this); + private JLProtectionInfo mInfo; + private Button mTitleButton; + + private void initRightButton() + { + this.mTitleButton = getRightTitleButton(); + this.mTitleButton.setVisibility(0); + this.mTitleButton.setText(2131362761); + this.mTitleButton.setTextColor(getResources().getColor(2131165336)); + RelativeLayout.LayoutParams localLayoutParams = (RelativeLayout.LayoutParams)this.mTitleButton.getLayoutParams(); + localLayoutParams.setMargins(0, 0, (int)getResources().getDisplayMetrics().density * 20, 0); + this.mTitleButton.setLayoutParams(localLayoutParams); + this.mTitleButton.setOnClickListener(new kr(this)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903099); + initRightButton(); + this.jianlingLayout = ((RelativeLayout)findViewById(2131296626)); + this.jianlingLayout.setOnClickListener(new kq(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FindItemsActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdActivity.java new file mode 100755 index 00000000000..06850886c97 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdActivity.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.QueryCaptchaResult; + +public class FindPasswdActivity + extends BaseActivity +{ + private boolean canchange_uin; + private Boolean isShowLockVerify; + private String mCaptchaSig = ""; + private Handler mHandler = new ks(this); + private long mRealUin; + private QueryCaptchaResult mResult; + private EditText mUinEditText; + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.isShowLockVerify = Boolean.valueOf(getIntent().getBooleanExtra("not_showLockVerify", false)); + if (this.isShowLockVerify.booleanValue()) { + setNeverShowLockVerifyView(); + } + setContentView(2130903100); + findViewById(2131296628).setOnClickListener(new kt(this)); + this.mUinEditText = ((EditText)findViewById(2131296627)); + if (this.mUinEditText != null) { + this.mUinEditText.clearFocus(); + } + if ((getIntent() != null) && (getIntent().getLongExtra("real_uin", 0L) != 0L)) + { + this.mUinEditText.setText(getIntent().getLongExtra("real_uin", 0L) + ""); + this.canchange_uin = getIntent().getBooleanExtra("canchange_uin", false); + if (!this.canchange_uin) { + this.mUinEditText.setEnabled(false); + } + this.mRealUin = getIntent().getLongExtra("real_uin", 0L); + af.a().f(this.mRealUin, 5, this.mHandler); + } + } + + public void onNewIntent(Intent paramIntent) + { + if ((paramIntent != null) && (paramIntent.getLongExtra("real_uin", 0L) != 0L)) + { + this.mUinEditText.setText(paramIntent.getLongExtra("real_uin", 0L) + ""); + this.canchange_uin = paramIntent.getBooleanExtra("canchange_uin", false); + if (!this.canchange_uin) { + this.mUinEditText.setEnabled(false); + } + this.mRealUin = getIntent().getLongExtra("real_uin", 0L); + af.a().f(this.mRealUin, 5, this.mHandler); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FindPasswdActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdH5Activity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdH5Activity.java new file mode 100755 index 00000000000..4c4918d397e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/FindPasswdH5Activity.java @@ -0,0 +1,50 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.webkit.WebView; +import com.tencent.token.global.b; +import com.tencent.token.global.e; + +public class FindPasswdH5Activity + extends EmbedWebBaseActivity +{ + private static final int EVENT_DOBIND = -100; + private String fsig; + private Long real_uin; + private int source_id; + String url; + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + paramBundle = getIntent().getStringExtra("captcha_sig"); + this.real_uin = Long.valueOf(getIntent().getLongExtra("real_uin", 0L)); + this.source_id = getIntent().getIntExtra("source_id", 0); + e.a("captcha_sig=" + paramBundle); + switch (b.a()) + { + default: + this.mWebView.loadUrl(getResources().getString(2131361794) + "&key=" + paramBundle); + return; + case 0: + this.mWebView.loadUrl(getResources().getString(2131361795) + "&key=" + paramBundle); + return; + case 1: + this.mWebView.loadUrl(getResources().getString(2131361794) + "&key=" + paramBundle); + return; + case 2: + this.mWebView.loadUrl(getResources().getString(2131361796) + "&key=" + paramBundle); + return; + } + this.mWebView.loadUrl(getResources().getString(2131361797) + "&key=" + paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.FindPasswdH5Activity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/GetBarcodeVerifyMsgActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/GetBarcodeVerifyMsgActivity.java new file mode 100755 index 00000000000..e28713365c7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/GetBarcodeVerifyMsgActivity.java @@ -0,0 +1,95 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnDismissListener; +import android.content.Intent; +import android.os.Bundle; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.DualMsgShowDialog; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.UserTask.Status; + +public class GetBarcodeVerifyMsgActivity + extends BaseActivity +{ + private String mAqVerifyBarcodeContent; + private DialogInterface.OnDismissListener mDismissListener = new lj(this); + private DualMsgShowDialog mDualMsgShowDialog = null; + private UserTask mGetDualMsgTask = null; + private ProgressBar mPreparePro; + private TextView mPrepareText; + private boolean mQueryingDualMsg = false; + + private void dismissDualDialog() + { + if (this.mDualMsgShowDialog != null) + { + if (this.mDualMsgShowDialog.isShowing()) { + this.mDualMsgShowDialog.cancel(); + } + this.mDualMsgShowDialog.b(); + this.mDualMsgShowDialog = null; + } + } + + private void queryDualMsg() + { + if (this.mQueryingDualMsg) { + return; + } + this.mQueryingDualMsg = true; + this.mGetDualMsgTask = new lc(this); + this.mGetDualMsgTask.a(new String[] { "" }); + } + + private void showDualMsgExpireDlg() + { + showUserDialog(2131361808, getString(2131362098), 2131361800, new lk(this)); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903102); + this.mPreparePro = ((ProgressBar)findViewById(2131296636)); + this.mPrepareText = ((TextView)findViewById(2131296635)); + this.mPrepareText.setText(2131362117); + this.mAqVerifyBarcodeContent = getIntent().getBundleExtra("com.tencent.input_param").getString("barcode_result"); + e.a(", aq verify: " + this.mAqVerifyBarcodeContent); + hideTitle(); + } + + protected void onDestroy() + { + if (this.mDualMsgShowDialog != null) + { + this.mDualMsgShowDialog.b(); + this.mDualMsgShowDialog = null; + } + super.onDestroy(); + } + + public void onPause() + { + if ((this.mGetDualMsgTask != null) && (this.mGetDualMsgTask.c() != UserTask.Status.FINISHED)) { + this.mGetDualMsgTask.d(); + } + super.onPause(); + } + + public void onResume() + { + super.onResume(); + if ((this.mDualMsgShowDialog != null) && (this.mDualMsgShowDialog.isShowing())) { + return; + } + queryDualMsg(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.GetBarcodeVerifyMsgActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/GetOtherBarcodeActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/GetOtherBarcodeActivity.java new file mode 100755 index 00000000000..c816b456a69 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/GetOtherBarcodeActivity.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; + +public class GetOtherBarcodeActivity + extends BaseActivity +{ + private static final String sRegexURL = "^((http://)|(https://))?([\\w-]+\\.)+[\\w-]+([^,;]*)$"; + private final byte URL_ID_DANGER_WEB_URL = 2; + private final byte URL_ID_NOT_WEB_URL = 0; + private final byte URL_ID_SAFE_IS_QQ_WEB_URL = 4; + private final byte URL_ID_SAFE_NOT_QQ_WEB_URL = 3; + private final byte URL_ID_UNKNOWN_WEB_URL = 1; + private Handler mHandler = new ll(this); + private Button mResultBtn; + private ImageView mResultImg; + private TextView mResultTipTxt; + private TextView mResultTxt; + private EditText mResultUrl; + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903103); + Object localObject = getIntent().getBundleExtra("com.tencent.input_param"); + paramBundle = ((Bundle)localObject).getString("barcode_result"); + int i = ((Bundle)localObject).getInt("url_id"); + localObject = ((Bundle)localObject).getString("url_txt"); + e.a("barcode: " + paramBundle + ", id=" + i + ", tip=" + (String)localObject); + setTitle(2131362111); + this.mResultBtn = ((Button)findViewById(2131296473)); + this.mResultUrl = ((EditText)findViewById(2131296639)); + if (this.mResultUrl != null) { + this.mResultUrl.clearFocus(); + } + this.mResultImg = ((ImageView)findViewById(2131296470)); + this.mResultTxt = ((TextView)findViewById(2131296637)); + this.mResultTipTxt = ((TextView)findViewById(2131296638)); + this.mResultBtn.setOnClickListener(new lm(this)); + this.mResultUrl.setText(paramBundle); + this.mResultTxt.setText((CharSequence)localObject); + switch (i) + { + default: + return; + case 0: + this.mResultTipTxt.setVisibility(8); + this.mResultImg.setVisibility(8); + this.mResultTxt.setVisibility(8); + this.mResultBtn.setVisibility(4); + return; + case 1: + this.mResultTipTxt.setVisibility(0); + this.mResultImg.setImageResource(2130837567); + this.mResultBtn.setVisibility(0); + this.mResultBtn.setText(2131362115); + return; + case 2: + this.mResultTipTxt.setVisibility(8); + this.mResultImg.setImageResource(2130837569); + this.mResultBtn.setVisibility(4); + return; + } + this.mResultTipTxt.setVisibility(8); + this.mResultBtn.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.GetOtherBarcodeActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/HelpActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/HelpActivity.java new file mode 100755 index 00000000000..3b1e6d1455e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/HelpActivity.java @@ -0,0 +1,92 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +public class HelpActivity + extends EmbedWebBaseActivity +{ + public static final int H5_QQ_FRAUD = 0; + public static final String H5_SCENE = "h5_scene"; + private int mH5Scene; + private Handler mHandler = new ln(this); + private String mTitle; + private String mTitleBtn; + private String mUrl; + + private void loadUrl(String paramString) + { + if (paramString.indexOf("kf.qq.com") != -1) { + this.mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H)"); + } + this.mWebView.loadUrl(this.mUrl); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + paramBundle = getIntent(); + this.mUrl = paramBundle.getStringExtra("help_url"); + this.mTitle = paramBundle.getStringExtra("help_title"); + this.mTitleBtn = paramBundle.getStringExtra("help_title_btn"); + this.mH5Scene = paramBundle.getIntExtra("h5_scene", -1); + if (this.mUrl == null) { + this.mUrl = getString(2131361973); + } + paramBundle = ax.a().e(); + if ((paramBundle != null) && (this.mUrl.contains("qq.com"))) { + x.a(RqdApplication.i()).a("" + paramBundle.mRealUin, this.mHandler); + } + for (;;) + { + if (this.mH5Scene == 0) + { + if (this.mTitleBar != null) { + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165331)); + } + if (this.mTitleDivider != null) { + this.mTitleDivider.setVisibility(8); + } + if (this.mTitleText != null) { + this.mTitleText.setTextColor(getResources().getColor(2131165194)); + } + if (this.mBackArrowImg != null) { + this.mBackArrowImg.setImageResource(2130837538); + } + setBackTextColor(getResources().getColor(2131165194)); + } + if (this.mTitle != null) { + setTitle(this.mTitle); + } + if ((this.mTitleBtn != null) && (this.mTitleBtn.length() > 0)) + { + paramBundle = getRightTitleButton(); + paramBundle.setVisibility(0); + paramBundle.setText(this.mTitleBtn); + paramBundle.setTextColor(getResources().getColor(2131165223)); + paramBundle.setOnClickListener(new lo(this)); + } + return; + loadUrl(this.mUrl); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.HelpActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/IndexActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/IndexActivity.java new file mode 100755 index 00000000000..df4041bb35a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/IndexActivity.java @@ -0,0 +1,1485 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.app.NotificationManager; +import android.app.TabActivity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.DialogInterface.OnCancelListener; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.StateListDrawable; +import android.os.Bundle; +import android.os.Handler; +import android.os.Handler.Callback; +import android.support.v4.content.LocalBroadcastManager; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TabHost; +import android.widget.TabHost.OnTabChangeListener; +import android.widget.TabHost.TabSpec; +import android.widget.TabWidget; +import android.widget.TextView; +import android.widget.Toast; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.bj; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.bean.h; +import com.tencent.token.fo; +import com.tencent.token.fp; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.r; +import com.tencent.token.ui.base.DualMsgShowDialog; +import com.tencent.token.ui.base.GameLoginSndConfirmDialog; +import com.tencent.token.ui.base.ProDialog; +import com.tencent.token.ui.base.ProDialogWithShutDown; +import com.tencent.token.ui.base.RoundImageView; +import com.tencent.token.ui.base.SlidingMenuView; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.UserTask.Status; +import com.tencent.token.utils.k; +import com.tencent.token.utils.q; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import com.tencent.token.x; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +public class IndexActivity + extends TabActivity + implements acn +{ + public static final String ACTION_OPEN_MENU = "com.tencent.token.open_menu"; + public static final String ACTION_REFRESH_MENU = "com.tencent.token.refresh_menu"; + public static boolean CAM_ERR = false; + private static final String KEY_INDEX = "index"; + public static final int K_FROM_ACCOUNTDETAIL_TO_ACCOUNT = 21; + public static final int K_FROM_ACCOUNTDETAIL_TO_VERIFY = 22; + public static final int K_FROM_ACCOUNTMANAGE = 16; + public static final int K_FROM_COVER_INSTALL = 17; + public static final int K_FROM_FINDPWD_TO_MODPWD = 25; + public static final int K_FROM_NORMAL = 20; + public static final int K_FROM_OTHER_APP_TO_VERIFY = 23; + public static final int K_FROM_PUSH = 19; + public static final int K_FROM_SND_CONFIRM_PUSH = 24; + public static final int K_FROM_WIDGET = 18; + private static final int MAX_TAB_SIZE = 3; + private static final String PREFER_INDEX_INFO = "token_index_info"; + public static float S_DENSITY; + public static boolean S_INIT = false; + public static int S_RES_HEIGHT; + public static int S_RES_WIDTH; + public static int S_STATUS_HEIGHT; + public static int S_TAB_HEIGHT; + public static int S_TITLE_HEIGHT; + public static boolean hasReadUtils = false; + public static boolean isShowAccountTip = false; + public static boolean isShowUtilsTip = false; + public static boolean s_FromOtherApp; + public static boolean s_FromPush; + private static int s_FromPushOrWidget; + public static boolean s_ShowGameLoginPushInfo; + private final int ACCOUNT_PAGE_INDEX = 0; + private final int DLG_BIND_UIN = 2; + private final int DLG_NO_MSG = 4; + private final int DLG_PROGRESS = 5; + private final int DLG_TO_VERIFY = 1; + private final int DLG_UNBIND = 6; + private final int DLG_UPDATE_REMIND = 3; + private final int MORE_PAGE_INDEX = 2; + private final int TOKEN_PAGE_INDEX = 1; + private boolean autoStartModPwdActivity = false; + private Handler.Callback callback = new lp(this); + RelativeLayout center; + QQUser curruser; + private ImageView img_head_border_center; + private ImageView img_head_border_left; + private ImageView img_head_border_right; + RelativeLayout left; + private View.OnClickListener listener = new mo(this); + private ImageView mAccountTipImage; + private byte[] mAqSig; + private UserTask mAutoGetDualMsgTask; + private Toast mDefaultToast; + private Dialog mDialog; + private DualMsgShowDialog mDualMsgShowDialog = null; + private long mDualVerifyUin; + private boolean mFirstOpenApp = true; + private Handler mHandler = new mb(this); + private int mIndex = 1; + ConfigResult mLocalConfig = new ConfigResult(); + private ProDialog mProDialog; + private ProDialogWithShutDown mProDialogWithShutDown; + private RoundImageView mQQFaceCenter; + private RoundImageView mQQFaceLeft; + private RoundImageView mQQFaceRight; + private ImageView mQQFace_zzbCenter; + private ImageView mQQFace_zzbLeft; + private ImageView mQQFace_zzbRight; + private Dialog mQryBindNotifyMsgDialog; + private boolean mQueryingDualMsg = false; + private BroadcastReceiver mReceiver = new mm(this); + private ImageView mSettingTipImage; + private TabHost mTabHost; + private ImageView[] mTabIcon = new ImageView[3]; + private TabHost.OnTabChangeListener mTabSelectionListener = new lt(this); + private TabWidget mTabWidget; + private int mTabWidth; + private Toast mToast; + private Dialog mUpdateDialog; + private ImageView mUtilTipImage; + private boolean needgotologobyprotect; + TextView nickname; + private TextView qqface_not_verify_center; + private TextView qqface_not_verify_left; + private TextView qqface_not_verify_right; + TextView qqnum; + RelativeLayout right; + private TextView setpasstext; + SlidingMenuView slidingMenuView; + TextView tip; + Button unbind; + Button verify; + + static + { + CAM_ERR = false; + s_FromPush = false; + s_FromOtherApp = false; + s_ShowGameLoginPushInfo = false; + s_FromPushOrWidget = 20; + } + + private void autoQueryDualMsg() + { + if (this.mQueryingDualMsg) {} + do + { + return; + this.mQueryingDualMsg = true; + this.mAutoGetDualMsgTask = new lq(this); + this.mAutoGetDualMsgTask.a(new String[] { "" }); + } while (!s_FromOtherApp); + showUserDialog(5); + } + + private void cancelAutoTask() + { + if ((this.mAutoGetDualMsgTask != null) && (this.mAutoGetDualMsgTask.c() != UserTask.Status.FINISHED)) + { + this.mAutoGetDualMsgTask.d(); + this.mAutoGetDualMsgTask = null; + } + } + + private void computeTabLayout() + { + this.mTabWidth = (getWindowManager().getDefaultDisplay().getWidth() / 3); + DisplayMetrics localDisplayMetrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(localDisplayMetrics); + S_DENSITY = localDisplayMetrics.density; + S_RES_WIDTH = localDisplayMetrics.widthPixels; + int i = localDisplayMetrics.heightPixels; + S_RES_HEIGHT = i; + S_TAB_HEIGHT = i / 10; + S_TITLE_HEIGHT = S_RES_HEIGHT / 12; + if (b.h()) { + S_TAB_HEIGHT = S_RES_HEIGHT / 8; + } + try + { + Class localClass = Class.forName("com.android.internal.R$dimen"); + Object localObject = localClass.newInstance(); + i = Integer.parseInt(localClass.getField("status_bar_height").get(localObject).toString()); + S_STATUS_HEIGHT = getResources().getDimensionPixelSize(i); + e.a("screen para: height=" + getWindowManager().getDefaultDisplay().getHeight() + ", width=" + getWindowManager().getDefaultDisplay().getWidth() + ", density=" + S_DENSITY + ", densitydpi=" + localDisplayMetrics.densityDpi + ", statusbar=" + S_STATUS_HEIGHT + ", tabbar=" + S_TAB_HEIGHT); + return; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + S_STATUS_HEIGHT = (int)getResources().getDimension(2131230743); + } + } + } + + private void deleteUser(QQUser paramQQUser) + { + try + { + x.a(RqdApplication.i()).a(paramQQUser.mRealUin + "", 523005419L); + x.a(RqdApplication.i()).a(paramQQUser.mRealUin + "", 523005425L); + af.a().h(paramQQUser.mRealUin, this.mHandler); + ax.a().b(paramQQUser); + bd.a().f.a(s.f(paramQQUser.mUin)); + bb.a().f.a(s.f(paramQQUser.mUin)); + bd.a().f.a(s.f(paramQQUser.mRealUin)); + bb.a().f.a(s.f(paramQQUser.mRealUin)); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + return; + } + catch (Exception localException) + { + for (;;) + { + e.c("clearUserLoginDataSync exception: " + localException.getMessage()); + localException.printStackTrace(); + } + } + } + + private void dismissDualDialog() + { + if (this.mDualMsgShowDialog != null) + { + if (this.mDualMsgShowDialog.isShowing()) { + this.mDualMsgShowDialog.cancel(); + } + this.mDualMsgShowDialog.b(); + this.mDualMsgShowDialog = null; + } + } + + private void doClickEvent(QQUser paramQQUser) + { + if (paramQQUser == null) + { + this.slidingMenuView.a(1); + paramQQUser = new Intent(this, WtLoginAccountInput.class); + paramQQUser.putExtra("page_id", 4); + startActivity(paramQQUser); + } + while ((paramQQUser.equals(this.curruser)) || (paramQQUser == null)) { + return; + } + ax.a().a(paramQQUser.mUin); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + this.slidingMenuView.a(1); + paramQQUser = new Intent(this, IndexActivity.class); + paramQQUser.putExtra("index_from", 16); + startActivity(paramQQUser); + remsumeMenu(); + } + + private View getTabView(int paramInt) + { + if ((paramInt < 0) || (paramInt > 3)) { + return null; + } + Object localObject2 = getResources(); + LinearLayout localLinearLayout = new LinearLayout(this); + localLinearLayout.setOrientation(1); + localLinearLayout.setGravity(17); + Object localObject1 = new StateListDrawable(); + Drawable localDrawable = ((Resources)localObject2).getDrawable(new int[] { 2130837942, 2130837946, 2130837944 }[paramInt]); + ((StateListDrawable)localObject1).addState(new int[] { -16842913 }, localDrawable); + localObject2 = ((Resources)localObject2).getDrawable(new int[] { 2130837943, 2130837947, 2130837945 }[paramInt]); + ((StateListDrawable)localObject1).addState(new int[] { 16842913 }, (Drawable)localObject2); + this.mTabIcon[paramInt] = new ImageView(this); + this.mTabIcon[paramInt].setImageDrawable((Drawable)localObject1); + int i = (int)(S_TAB_HEIGHT * 0.5D); + localObject1 = new LinearLayout.LayoutParams(i, i); + localLinearLayout.addView(this.mTabIcon[paramInt], (ViewGroup.LayoutParams)localObject1); + return localLinearLayout; + } + + private void goToWtLoginAccountInput() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void gotoVerify() + { + String str = "" + this.curruser.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(str, 523005425L)) + { + localx.a(str, this.mHandler, 523005425L); + showProDialog(this, 2131361808, 2131361817, null); + return; + } + showUserDialog(2131362364, getResources().getString(2131362365), 2131361800, new mn(this)); + } + + private void gotologobyprotect() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 9); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void initFaceCenter() + { + if (this.curruser != null) + { + this.mQQFaceCenter.setImageDrawable(k.a(this.curruser.mRealUin + "", this.curruser.mUin + "")); + if (this.curruser.mIsBinded) { + this.qqface_not_verify_center.setVisibility(4); + } + while (this.curruser.mIsZzb) + { + this.img_head_border_center.setImageDrawable(getResources().getDrawable(2130838024)); + this.img_head_border_center.setVisibility(0); + this.mQQFace_zzbCenter.setVisibility(0); + return; + this.qqface_not_verify_center.setVisibility(0); + } + this.img_head_border_center.setImageDrawable(getResources().getDrawable(2130837522)); + this.mQQFace_zzbCenter.setVisibility(4); + return; + } + this.mQQFaceCenter.setImageResource(2130837530); + this.img_head_border_center.setVisibility(8); + this.mQQFace_zzbCenter.setVisibility(8); + this.qqface_not_verify_center.setVisibility(8); + } + + private void initFaceLeft(QQUser paramQQUser) + { + if (paramQQUser != null) + { + this.mQQFaceLeft.setVisibility(0); + this.mQQFaceLeft.setImageDrawable(k.a(paramQQUser.mRealUin + "", paramQQUser.mUin + "")); + if (paramQQUser.mIsBinded) { + this.qqface_not_verify_left.setVisibility(4); + } + while (paramQQUser.mIsZzb) + { + this.img_head_border_left.setImageDrawable(getResources().getDrawable(2130838024)); + this.img_head_border_left.setVisibility(0); + this.mQQFace_zzbLeft.setVisibility(0); + return; + this.qqface_not_verify_left.setVisibility(0); + } + this.img_head_border_left.setImageDrawable(getResources().getDrawable(2130837522)); + this.mQQFace_zzbLeft.setVisibility(4); + return; + } + this.mQQFaceLeft.setImageResource(2130837530); + this.img_head_border_left.setVisibility(8); + this.mQQFace_zzbLeft.setVisibility(8); + this.qqface_not_verify_left.setVisibility(8); + } + + private void initFaceRight(QQUser paramQQUser) + { + if (paramQQUser != null) + { + this.mQQFaceRight.setVisibility(0); + this.mQQFaceRight.setImageDrawable(k.a(paramQQUser.mRealUin + "", paramQQUser.mUin + "")); + if (paramQQUser.mIsBinded) { + this.qqface_not_verify_right.setVisibility(4); + } + while (paramQQUser.mIsZzb) + { + this.img_head_border_right.setImageDrawable(getResources().getDrawable(2130838024)); + this.img_head_border_right.setVisibility(0); + this.mQQFace_zzbRight.setVisibility(0); + return; + this.qqface_not_verify_right.setVisibility(0); + } + this.img_head_border_right.setImageDrawable(getResources().getDrawable(2130837522)); + this.mQQFace_zzbRight.setVisibility(4); + return; + } + this.img_head_border_right.setVisibility(8); + this.mQQFaceRight.setImageResource(2130837530); + this.mQQFace_zzbRight.setVisibility(8); + this.qqface_not_verify_right.setVisibility(8); + } + + private void initMenu() + { + ((RelativeLayout)this.slidingMenuView.findViewById(2131296342)).setOnClickListener(this.listener); + ((RelativeLayout)this.slidingMenuView.findViewById(2131296341)).setOnClickListener(this.listener); + ((RelativeLayout)this.slidingMenuView.findViewById(2131296339)).setOnClickListener(this.listener); + ((RelativeLayout)this.slidingMenuView.findViewById(2131296338)).setOnClickListener(this.listener); + ((RelativeLayout)this.slidingMenuView.findViewById(2131296335)).setOnClickListener(this.listener); + this.setpasstext = ((TextView)this.slidingMenuView.findViewById(2131296337)); + TextView localTextView = (TextView)this.slidingMenuView.findViewById(2131296340); + Object localObject = q.b; + try + { + String str = getPackageManager().getPackageInfo(getPackageName(), 16384).versionName; + localObject = str; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + for (;;) + { + e.c(localNameNotFoundException.getMessage()); + } + } + localTextView.setText("V" + (String)localObject); + this.tip = ((TextView)this.slidingMenuView.findViewById(2131296333)); + this.nickname = ((TextView)this.slidingMenuView.findViewById(2131296330)); + this.qqnum = ((TextView)this.slidingMenuView.findViewById(2131296331)); + this.unbind = ((Button)this.slidingMenuView.findViewById(2131296343)); + this.center = ((RelativeLayout)this.slidingMenuView.findViewById(2131296320)); + this.left = ((RelativeLayout)this.slidingMenuView.findViewById(2131296315)); + this.right = ((RelativeLayout)this.slidingMenuView.findViewById(2131296325)); + this.mQQFaceCenter = ((RoundImageView)this.slidingMenuView.findViewById(2131296321)); + this.mQQFaceLeft = ((RoundImageView)this.slidingMenuView.findViewById(2131296316)); + this.mQQFaceRight = ((RoundImageView)this.slidingMenuView.findViewById(2131296326)); + this.mQQFace_zzbCenter = ((ImageView)this.slidingMenuView.findViewById(2131296323)); + this.mQQFace_zzbLeft = ((ImageView)this.slidingMenuView.findViewById(2131296318)); + this.mQQFace_zzbRight = ((ImageView)this.slidingMenuView.findViewById(2131296328)); + this.img_head_border_center = ((ImageView)this.slidingMenuView.findViewById(2131296322)); + this.img_head_border_left = ((ImageView)this.slidingMenuView.findViewById(2131296317)); + this.img_head_border_right = ((ImageView)this.slidingMenuView.findViewById(2131296327)); + this.qqface_not_verify_right = ((TextView)this.slidingMenuView.findViewById(2131296329)); + this.qqface_not_verify_center = ((TextView)this.slidingMenuView.findViewById(2131296324)); + this.qqface_not_verify_left = ((TextView)this.slidingMenuView.findViewById(2131296319)); + this.verify = ((Button)this.slidingMenuView.findViewById(2131296334)); + } + + private boolean isNeedReportDnsInfo() + { + long l1 = t.d() * 1000L; + long l2 = System.currentTimeMillis(); + Date localDate = new Date(); + Calendar localCalendar = Calendar.getInstance(); + localDate.setTime(l1); + localCalendar.setTime(localDate); + localCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int i = localCalendar.get(1); + int j = localCalendar.get(6); + localDate.setTime(l2); + localCalendar.setTime(localDate); + localCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int k = localCalendar.get(1); + int m = localCalendar.get(6); + if ((k > i) || ((k == i) && (m >= j + 1))) + { + e.a("report dns info need, time=" + l1 + ", current=" + l2); + return true; + } + e.a("report dns info needn't, time=" + l1 + ", current=" + l2); + return false; + } + + private void queryUpdateInfo() + { + if (h.b().c()) { + new ls(this).a(new String[] { "" }); + } + while (!h.b().a()) { + return; + } + showUserDialog(3); + } + + private void refreshTab(int paramInt) + { + this.mIndex = paramInt; + int i = 0; + while (i < 3) + { + this.mTabIcon[i].setSelected(false); + i += 1; + } + this.mTabIcon[paramInt].setSelected(true); + if (paramInt == 1) { + hasReadUtils = true; + } + } + + private void setAccountUnread() + { + if (this.mTabHost.getCurrentTab() == 0) { + isShowAccountTip = false; + } + if ((isShowAccountTip) && (AccountPageActivity.mNeedShowIpcMsg) && (this.mTabHost.getCurrentTab() != 0)) + { + this.mAccountTipImage.setVisibility(0); + return; + } + this.mAccountTipImage.setVisibility(4); + } + + private void setCurrentTab(int paramInt) + { + int i = paramInt; + if (paramInt >= 3) { + i = 2; + } + this.mTabHost.setCurrentTab(i); + refreshTab(i); + } + + public static void setFromWhere(int paramInt) + { + s_FromPushOrWidget = paramInt; + } + + private void setTabLayoutAndContent() + { + int i = getWindowManager().getDefaultDisplay().getWidth(); + this.mTabHost = getTabHost(); + this.mTabWidget = getTabWidget(); + Object localObject1 = this.mTabHost.newTabSpec("tkn"); + ((TabHost.TabSpec)localObject1).setIndicator(null, null); + ((TabHost.TabSpec)localObject1).setContent(new Intent(this, AccountPageActivity.class)); + this.mTabHost.addTab((TabHost.TabSpec)localObject1); + localObject1 = this.mTabHost.newTabSpec("utils"); + ((TabHost.TabSpec)localObject1).setIndicator(null, null); + ((TabHost.TabSpec)localObject1).setContent(new Intent(this, UtilsActivity.class)); + this.mTabHost.addTab((TabHost.TabSpec)localObject1); + localObject1 = this.mTabHost.newTabSpec("setting"); + ((TabHost.TabSpec)localObject1).setIndicator(null, null); + ((TabHost.TabSpec)localObject1).setContent(new Intent(this, SettingPageActivity.class)); + this.mTabHost.addTab((TabHost.TabSpec)localObject1); + Object localObject3 = (ViewGroup)this.mTabWidget.getChildAt(0); + Object localObject2 = (ViewGroup)this.mTabWidget.getChildAt(1); + localObject1 = (ViewGroup)this.mTabWidget.getChildAt(2); + ((ViewGroup)localObject3).setBackgroundResource(2130837659); + ((ViewGroup)localObject3).removeAllViews(); + ((ViewGroup)localObject3).addView(getTabView(0), new RelativeLayout.LayoutParams(-1, -1)); + ((ViewGroup)localObject2).setBackgroundResource(2130837661); + ((ViewGroup)localObject2).removeAllViews(); + ((ViewGroup)localObject2).addView(getTabView(1), new RelativeLayout.LayoutParams(-1, -1)); + ((ViewGroup)localObject1).setBackgroundResource(2130837660); + ((ViewGroup)localObject1).removeAllViews(); + ((ViewGroup)localObject1).addView(getTabView(2), new RelativeLayout.LayoutParams(-1, -1)); + ViewGroup.MarginLayoutParams localMarginLayoutParams = (ViewGroup.MarginLayoutParams)findViewById(2131296644).getLayoutParams(); + localMarginLayoutParams.height = S_TAB_HEIGHT; + localMarginLayoutParams.width = -1; + localObject3 = (ViewGroup.MarginLayoutParams)((ViewGroup)localObject3).getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject3).height = S_TAB_HEIGHT; + ((ViewGroup.MarginLayoutParams)localObject3).width = (i / 3); + ((ViewGroup.MarginLayoutParams)localObject3).leftMargin = 0; + ((ViewGroup.MarginLayoutParams)localObject3).rightMargin = 0; + localObject2 = (ViewGroup.MarginLayoutParams)((ViewGroup)localObject2).getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject2).height = S_TAB_HEIGHT; + ((ViewGroup.MarginLayoutParams)localObject2).width = (i / 3); + ((ViewGroup.MarginLayoutParams)localObject2).leftMargin = 0; + ((ViewGroup.MarginLayoutParams)localObject2).rightMargin = 0; + localObject1 = (ViewGroup.MarginLayoutParams)((ViewGroup)localObject1).getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).height = S_TAB_HEIGHT; + ((ViewGroup.MarginLayoutParams)localObject1).width = (i / 3); + ((ViewGroup.MarginLayoutParams)localObject1).leftMargin = 0; + ((ViewGroup.MarginLayoutParams)localObject1).rightMargin = 0; + localObject1 = (ViewGroup.MarginLayoutParams)this.mTabWidget.getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).height = S_TAB_HEIGHT; + ((ViewGroup.MarginLayoutParams)localObject1).width = i; + this.mTabHost.setOnTabChangedListener(this.mTabSelectionListener); + this.mAccountTipImage = ((ImageView)findViewById(2131296646)); + localObject1 = (RelativeLayout.LayoutParams)this.mAccountTipImage.getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).topMargin = (S_TAB_HEIGHT / 5); + ((ViewGroup.MarginLayoutParams)localObject1).leftMargin = (this.mTabWidth / 2 * 1 + (int)(S_DENSITY * 10.0F)); + this.mUtilTipImage = ((ImageView)findViewById(2131296647)); + localObject1 = (RelativeLayout.LayoutParams)this.mUtilTipImage.getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).topMargin = (S_TAB_HEIGHT / 5); + ((ViewGroup.MarginLayoutParams)localObject1).leftMargin = (this.mTabWidth / 2 * 3 + (int)(S_DENSITY * 10.0F)); + this.mSettingTipImage = ((ImageView)findViewById(2131296649)); + localObject1 = (RelativeLayout.LayoutParams)this.mSettingTipImage.getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).topMargin = (S_TAB_HEIGHT / 5); + ((ViewGroup.MarginLayoutParams)localObject1).leftMargin = (this.mTabWidth / 2 * 5 + (int)(S_DENSITY * 10.0F)); + try + { + localObject1 = this.mTabWidget.getClass().getDeclaredField("mBottomLeftStrip"); + localObject2 = this.mTabWidget.getClass().getDeclaredField("mBottomRightStrip"); + ((Field)localObject1).setAccessible(true); + ((Field)localObject2).setAccessible(true); + ((Field)localObject1).set(this.mTabWidget, getResources().getDrawable(2130837662)); + ((Field)localObject2).set(this.mTabWidget, getResources().getDrawable(2130837662)); + return; + } + catch (Exception localException1) + { + e.c(localException1.toString()); + try + { + this.mTabWidget.getClass().getDeclaredMethod("setStripEnabled", new Class[] { Boolean.TYPE }).invoke(this.mTabWidget, new Object[] { Boolean.valueOf(false) }); + return; + } + catch (Exception localException2) + { + e.c("exception: " + localException2.toString() + ":" + localException1.getMessage()); + } + } + } + + private void setUtilsUnread() + { + int i = 0; + for (;;) + { + NewConfigureCacheItem localNewConfigureCacheItem; + if (i < UtilsActivity.mIcons.length) + { + localNewConfigureCacheItem = ba.a().h.a(fp.a[i]); + if (localNewConfigureCacheItem.mClickVersion < localNewConfigureCacheItem.mClientVersion) { + isShowUtilsTip = true; + } + } + else + { + localNewConfigureCacheItem = ba.a().h.a("real_name"); + if ((localNewConfigureCacheItem != null) && (localNewConfigureCacheItem.mClickVersion < localNewConfigureCacheItem.mClientVersion)) { + isShowUtilsTip = true; + } + if (this.mTabHost.getCurrentTab() == 1) { + isShowUtilsTip = false; + } + if ((!isShowUtilsTip) || (this.mTabHost.getCurrentTab() == 1) || (hasReadUtils)) { + break; + } + this.mUtilTipImage.setVisibility(0); + return; + } + isShowUtilsTip = false; + i += 1; + } + this.mUtilTipImage.setVisibility(4); + } + + private void showBaseUserDialogBtn(int paramInt1, int paramInt2, String paramString, int paramInt3, int paramInt4, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2, DialogInterface.OnCancelListener paramOnCancelListener) + { + String str1 = null; + if (paramInt3 != 0) { + str1 = getResources().getString(paramInt3); + } + String str2 = null; + if (paramInt4 != 0) { + str2 = getResources().getString(paramInt4); + } + showBaseUserDialogBtn(paramInt1, paramInt2, paramString, str1, str2, paramOnClickListener1, paramOnClickListener2, paramOnCancelListener); + } + + private void showBaseUserDialogBtn(int paramInt1, int paramInt2, String paramString1, String paramString2, String paramString3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2, DialogInterface.OnCancelListener paramOnCancelListener) + { + this.mDialog = new Dialog(this, 2131427445); + TextView localTextView2; + TextView localTextView1; + TextView localTextView3; + TextView localTextView4; + if (paramInt1 == 1) + { + this.mDialog.setContentView(2130903073); + localTextView2 = (TextView)this.mDialog.findViewById(2131296514); + localTextView1 = null; + localTextView3 = (TextView)this.mDialog.findViewById(2131296404); + localTextView4 = (TextView)this.mDialog.findViewById(2131296512); + if (paramInt2 != 0) { + break label241; + } + localTextView3.setVisibility(8); + label89: + if (paramString1 == null) { + break label250; + } + localTextView4.setText(paramString1); + label99: + if (paramString2 != null) { + localTextView2.setText(paramString2); + } + if (paramOnClickListener1 == null) { + break label260; + } + localTextView2.setOnClickListener(new lu(this, paramOnClickListener1)); + label131: + if (localTextView1 != null) + { + if (paramOnClickListener2 == null) { + break label276; + } + if (paramString3 != null) { + localTextView1.setText(paramString3); + } + localTextView1.setOnClickListener(new lw(this, paramOnClickListener2)); + } + } + for (;;) + { + if (paramOnCancelListener != null) { + this.mDialog.setOnCancelListener(paramOnCancelListener); + } + this.mDialog.setCanceledOnTouchOutside(true); + this.mDialog.show(); + return; + this.mDialog.setContentView(2130903074); + localTextView2 = (TextView)this.mDialog.findViewById(2131296516); + localTextView1 = (TextView)this.mDialog.findViewById(2131296514); + break; + label241: + localTextView3.setText(paramInt2); + break label89; + label250: + localTextView4.setVisibility(8); + break label99; + label260: + localTextView2.setOnClickListener(new lv(this)); + break label131; + label276: + localTextView1.setOnClickListener(new lx(this)); + } + } + + private void showDualDialog(boolean paramBoolean) + { + if (isFinishing()) { + return; + } + if (this.mDualMsgShowDialog != null) + { + if (this.mDualMsgShowDialog.isShowing()) + { + this.mDualMsgShowDialog.a(); + return; + } + this.mDualMsgShowDialog.b(); + this.mDualMsgShowDialog = null; + } + this.mDualMsgShowDialog = new DualMsgShowDialog(this, paramBoolean, this.mDualVerifyUin); + this.mDualMsgShowDialog.show(); + } + + private void showShensuDialog() + { + Intent localIntent = new Intent(this, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", this.curruser.mRealUin); + startActivity(localIntent); + } + + private void showUpdateInfo() + { + if (h.b().a()) { + showUserDialog(3); + } + } + + private void showUpgradeDeterminResult(UpgradeDeterminResult paramUpgradeDeterminResult) + { + int j = 1; + if (isFinishing()) {} + QQUser localQQUser; + do + { + return; + localQQUser = this.curruser; + } while (localQQUser == null); + Intent localIntent; + if (paramUpgradeDeterminResult.a() == 1) + { + if (paramUpgradeDeterminResult.mMobileAppear == 1) {} + for (int i = 1; i != 0; i = 0) + { + localIntent = new Intent(this, NetActiveVryMobileNoSmsActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (paramUpgradeDeterminResult.mQuesAppear != 1) { + break label199; + } + i = 1; + label124: + if (i == 0) { + if (paramUpgradeDeterminResult.mHaveMobile != 1) { + break label204; + } + } + } + } + label199: + label204: + for (i = j;; i = 0) + { + if (i == 0) { + break label209; + } + localIntent = new Intent(this, NetActiveVryOtherListActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + i = 0; + break; + i = 0; + break label124; + } + label209: + showShensuDialog(); + return; + } + if ((paramUpgradeDeterminResult.a() == 2) || (paramUpgradeDeterminResult.a() == 3)) + { + localIntent = new Intent(this, NetActiveSetDirBySeqActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + localIntent.putExtra("bindType", paramUpgradeDeterminResult.a()); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 4) + { + localIntent = new Intent(this, NoCheckWithAuthActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 5) + { + af.a().c(localQQUser.mRealUin, 5, "", "", this.mHandler); + return; + } + if (paramUpgradeDeterminResult.a() == 6) + { + localIntent = new Intent(this, VerifyMobilePhoneActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 8) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 9) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 3); + localIntent.putExtra("ish5zzb", true); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + showShensuDialog(); + } + + private void showUserDialog(int paramInt) + { + if (isFinishing()) { + return; + } + dismissDialog(); + switch (paramInt) + { + case 6: + default: + return; + case 1: + this.mDialog = new AlertDialog.Builder(this).setTitle(2131361808).setMessage(getString(2131362400)).setPositiveButton(2131362362, new mh(this)).setNegativeButton(2131361802, new ma(this)).create(); + this.mDialog.show(); + return; + case 5: + this.mProDialog = new ProDialog(this, getString(2131361817)); + this.mProDialog.show(); + return; + case 4: + this.mDialog = new AlertDialog.Builder(this).setTitle(2131361808).setMessage(getString(2131362401)).setPositiveButton(2131361914, new lz(this)).setNegativeButton(2131361802, new ly(this)).create(); + this.mDialog.show(); + return; + case 2: + this.mDialog = new AlertDialog.Builder(this).setTitle(2131361808).setMessage(getString(2131362399)).setPositiveButton(2131362297, new mj(this)).setNegativeButton(2131361802, new mi(this)).create(); + this.mDialog.show(); + return; + } + h localh = h.b(); + String str1 = h.b().e; + String str2 = h.b().d; + AlertDialog.Builder localBuilder = new AlertDialog.Builder(this); + localBuilder.setTitle(2131361961); + localBuilder.setMessage(localh.f); + localBuilder.setPositiveButton(2131361962, new mk(this, str1)); + if (3 == localh.a) { + localBuilder.setCancelable(false); + } + localBuilder.setNeutralButton(2131361963, new ml(this, str2)); + this.mUpdateDialog = localBuilder.create(); + this.mUpdateDialog.show(); + } + + public void dismissDialog() + { + if (isFinishing()) {} + for (;;) + { + return; + try + { + if (this.mDialog != null) + { + this.mDialog.cancel(); + this.mDialog = null; + } + if (this.mProDialog != null) + { + this.mProDialog.dismiss(); + this.mProDialog = null; + } + if (this.mProDialogWithShutDown != null) + { + this.mProDialogWithShutDown.dismiss(); + this.mProDialogWithShutDown = null; + return; + } + } + catch (Exception localException) + { + e.b(localException.toString()); + } + } + } + + public void hideLockVerifyView() {} + + public boolean loadLastIndex() + { + Context localContext = RqdApplication.i(); + try + { + this.mIndex = localContext.getSharedPreferences("token_index_info", 0).getInt("index", 1); + if (this.mIndex >= 3) {} + for (int i = 2;; i = this.mIndex) + { + this.mIndex = i; + return true; + } + return false; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + BaseActivity.clearAllActivities(); + requestWindowFeature(1); + setContentView(2130903104); + this.slidingMenuView = ((SlidingMenuView)findViewById(2131296640)); + this.slidingMenuView.a(new mq(this)); + initMenu(); + computeTabLayout(); + this.mDualVerifyUin = getIntent().getLongExtra("intent.qquser", 0L); + int i; + if (getIntent() != null) + { + i = getIntent().getIntExtra("index_from", 0); + if (i != 16) { + break label243; + } + this.mIndex = 0; + } + for (;;) + { + if (i == 25) { + this.autoStartModPwdActivity = true; + } + setTabLayoutAndContent(); + boolean bool = s.e(); + isShowAccountTip = bool; + if (bool) { + AccountPageActivity.mNeedRefreshEval = true; + } + e.c("AccountPageActivity.mNeedRefreshEval =" + AccountPageActivity.mNeedRefreshEval); + paramBundle = new IntentFilter(); + paramBundle.addAction("com.tencent.token.push_ipc_msg"); + paramBundle.addAction("com.tencent.token.push_opr_msg"); + paramBundle.addAction("com.tencent.token.open_menu"); + paramBundle.addAction("com.tencent.token.refresh_menu"); + LocalBroadcastManager.getInstance(this).registerReceiver(this.mReceiver, paramBundle); + queryUpdateInfo(); + t.b(this.mLocalConfig); + if (isNeedReportDnsInfo()) { + this.mHandler.postDelayed(new mr(this), 6000L); + } + return; + label243: + if ((i == 17) || (i == 22) || (i == 25)) + { + this.mIndex = 1; + } + else if (i == 23) + { + this.mIndex = 1; + s_FromOtherApp = true; + } + else if (i == 24) + { + this.mIndex = 1; + s_ShowGameLoginPushInfo = true; + } + else if (s_FromPushOrWidget == 18) + { + this.mIndex = 1; + } + else + { + loadLastIndex(); + } + } + } + + protected void onDestroy() + { + super.onDestroy(); + LocalBroadcastManager.getInstance(this).unregisterReceiver(this.mReceiver); + if (this.mDualMsgShowDialog != null) { + this.mDualMsgShowDialog.b(); + } + if (this.mUpdateDialog != null) { + this.mUpdateDialog.dismiss(); + } + } + + public void onNewIntent(Intent paramIntent) + { + super.onNewIntent(paramIntent); + boolean bool1 = paramIntent.getBooleanExtra("ish5zzb", false); + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("sp_name_global", 0); + boolean bool2 = localSharedPreferences.getBoolean("key_realname_firsttime_h5", true); + if ((bool1) && (bool2)) + { + startActivity(new Intent(this, RealNameFirstJoinActivity.class)); + localSharedPreferences.edit().putBoolean("key_realname_firsttime_h5", false).commit(); + localSharedPreferences.edit().putBoolean("key_realname_firsttime", false).commit(); + } + int i = paramIntent.getIntExtra("index_from", 0); + if ((i == 16) || (i == 21)) { + this.mIndex = 0; + } + for (;;) + { + if (i == 25) { + this.autoStartModPwdActivity = true; + } + i = paramIntent.getIntExtra("intent.retcode", 0); + if (i != 0) + { + setResult(i); + finish(); + } + return; + if ((i == 17) || (i == 22) || (i == 25)) + { + this.mIndex = 1; + } + else if (i == 23) + { + this.mIndex = 1; + s_FromOtherApp = true; + } + else if (i == 24) + { + this.mIndex = 1; + s_ShowGameLoginPushInfo = true; + } + } + } + + protected void onPause() + { + storeLastIndex(); + super.onPause(); + } + + protected void onResume() + { + boolean bool2 = true; + e.c("path other app: resume: " + s_FromOtherApp); + s.g(); + if (s_FromPushOrWidget == 19) { + s_FromPush = true; + } + for (;;) + { + if ((this.mIndex >= 0) && (this.mIndex < 3)) { + setCurrentTab(this.mIndex); + } + if (!s.b()) { + RqdApplication.b(); + } + if ((this.mTabHost.getCurrentTab() != 1) || (RqdApplication.b) || (!this.needgotologobyprotect)) { + break; + } + gotologobyprotect(); + this.needgotologobyprotect = false; + super.onResume(); + return; + if (s_FromPushOrWidget == 18) + { + this.mIndex = 1; + s_FromPushOrWidget = 20; + } + while (!s_ShowGameLoginPushInfo) + { + s_FromPush = false; + break; + } + this.mIndex = 1; + } + Object localObject = ax.a().e(); + boolean bool1 = bool2; + if (!s_FromPush) + { + if (s_FromOtherApp) { + bool1 = bool2; + } + } + else + { + e.c("dualmsg:onresume:indexactivity: query=" + bool1); + if ((!RqdApplication.b) && (bool1)) + { + autoQueryDualMsg(); + s_FromPushOrWidget = 20; + } + if ((this.mFirstOpenApp) || (BaseActivity.getGotoBackground())) + { + if ((ax.a().k() == null) && (localObject != null)) { + af.a().e(((QQUser)localObject).mUin, bj.a, this.mHandler); + } + this.mHandler.postDelayed(new ms(this), 4000L); + this.mHandler.postDelayed(new mt(this), 6000L); + } + if (this.mFirstOpenApp) { + this.mFirstOpenApp = false; + } + setAccountUnread(); + setUtilsUnread(); + if ((!RqdApplication.b) && (s_ShowGameLoginPushInfo)) + { + s_ShowGameLoginPushInfo = false; + ((NotificationManager)getSystemService("notification")).cancel(3); + localObject = r.a(RqdApplication.i()); + if ((((r)localObject).d() == null) || (((r)localObject).b())) { + break label588; + } + new GameLoginSndConfirmDialog(this).show(); + } + label380: + e.a("facepwd index face=" + RqdApplication.e() + ", gesture=" + RqdApplication.d()); + if (!RqdApplication.e()) { + break label617; + } + if (t.l() != 0) { + break label602; + } + localObject = new Intent(this, FaceRecognitionCameraActivityOld.class); + label441: + ((Intent)localObject).putExtra("flag", 2); + ((Intent)localObject).putExtra("istry", 0); + ((Intent)localObject).putExtra("scene", 5); + startActivity((Intent)localObject); + } + for (;;) + { + if (this.autoStartModPwdActivity) + { + this.autoStartModPwdActivity = false; + localObject = new Intent(this, ModifyQQPwdActivity.class); + ((Intent)localObject).putExtra("index_from", 25); + startActivity((Intent)localObject); + } + if (CAM_ERR) + { + CAM_ERR = false; + dismissDialog(); + this.mDialog = new AlertDialog.Builder(this).setTitle(2131361808).setMessage(getResources().getString(2131362118)).setPositiveButton(2131361800, null).create(); + this.mDialog.show(); + } + remsumeMenu(); + super.onResume(); + return; + bool1 = false; + break; + label588: + Toast.makeText(this, 2131362448, 0).show(); + break label380; + label602: + localObject = new Intent(this, FaceStartVryCameraActivity.class); + break label441; + label617: + if (RqdApplication.d()) { + showLockVerifyView(); + } else { + hideLockVerifyView(); + } + } + } + + protected void onSaveInstanceState(Bundle paramBundle) {} + + protected void onStop() + { + super.onStop(); + cancelAutoTask(); + dismissDualDialog(); + } + + void remsumeMenu() + { + Object localObject = t.f(); + if ((ah.a().c()) || ((ax.a().h()) && (localObject != null) && (((QQUser)localObject).mIsRegisterFacePwd))) { + this.setpasstext.setText(2131362380); + } + int i; + for (;;) + { + i = ax.a().d(); + this.curruser = ax.a().e(); + this.center.setOnClickListener(this.listener); + this.right.setOnClickListener(this.listener); + this.left.setOnClickListener(this.listener); + if (this.curruser != null) { + break; + } + this.unbind.setVisibility(8); + this.tip.setVisibility(8); + this.left.setVisibility(8); + this.right.setVisibility(8); + this.nickname.setVisibility(0); + this.nickname.setText(2131361921); + this.qqnum.setVisibility(0); + this.qqnum.setText(2131362754); + this.verify.setVisibility(8); + initFaceCenter(); + return; + this.setpasstext.setText(2131362381); + } + initFaceCenter(); + this.right.setVisibility(0); + if (i == 1) + { + this.left.setVisibility(8); + initFaceRight(null); + this.nickname.setText(this.curruser.mNickName); + if (!this.curruser.mIsBinded) { + break label455; + } + localObject = this.curruser.mUinMask; + label262: + this.qqnum.setText(String.format(RqdApplication.i().getString(2131362753), new Object[] { localObject })); + this.unbind.setVisibility(0); + this.unbind.setOnClickListener(this.listener); + if (!this.curruser.mIsBinded) { + break label515; + } + if (RqdApplication.e == null) { + break label503; + } + this.tip.setVisibility(0); + this.tip.setText(RqdApplication.e); + label342: + this.verify.setVisibility(8); + } + for (;;) + { + this.verify.setOnClickListener(this.listener); + this.nickname.setVisibility(0); + this.qqnum.setVisibility(0); + return; + if (i == 2) + { + localObject = ax.a().b(1); + this.left.setVisibility(0); + initFaceLeft((QQUser)localObject); + initFaceRight(null); + break; + } + if (i < 3) { + break; + } + localObject = ax.a().b(1); + QQUser localQQUser = ax.a().b(2); + this.left.setVisibility(0); + initFaceLeft((QQUser)localObject); + initFaceRight(localQQUser); + break; + label455: + if ((this.curruser.mUinMask != null) && (this.curruser.mUinMask.length() > 0)) + { + localObject = this.curruser.mUinMask; + break label262; + } + localObject = s.e(this.curruser.mRealUin); + break label262; + label503: + this.tip.setVisibility(8); + break label342; + label515: + this.verify.setVisibility(0); + this.tip.setVisibility(8); + } + } + + public void showLockVerifyView() + { + startActivity(new Intent(this, StartPwdGestureVerifyActivity.class)); + } + + public void showProDialog(Activity paramActivity, int paramInt1, int paramInt2, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialogWithShutDown = new ProDialogWithShutDown(paramActivity, paramOnClickListener, getResources().getString(paramInt2)); + this.mProDialogWithShutDown.show(); + } + + public void showProDialog(Activity paramActivity, int paramInt, View.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialogWithShutDown = new ProDialogWithShutDown(paramActivity, paramOnClickListener, null); + this.mProDialogWithShutDown.show(); + } + + public void showTipDialog(int paramInt, String paramString) + { + showUserDialog(paramInt, paramString, 2131361800, null); + } + + public void showToast(int paramInt) + { + if (this.mToast == null) + { + this.mToast = new Toast(this); + localObject1 = getLayoutInflater().inflate(2130903218, null); + this.mToast.setView((View)localObject1); + this.mToast.setDuration(0); + this.mToast.setGravity(55, 0, S_TAB_HEIGHT); + } + Object localObject2 = this.mToast.getView(); + Object localObject1 = (TextView)((View)localObject2).findViewById(2131296784); + localObject2 = (ImageView)((View)localObject2).findViewById(2131296783); + ((TextView)localObject1).setText(getResources().getString(paramInt)); + ((ImageView)localObject2).setBackgroundResource(2130837961); + ((ImageView)localObject2).setVisibility(0); + this.mToast.show(); + } + + public void showToast(String paramString) + { + if ((paramString == null) || (paramString.length() == 0) || (isFinishing())) { + return; + } + if (this.mDefaultToast == null) { + this.mDefaultToast = Toast.makeText(this, paramString, 0); + } + for (;;) + { + this.mDefaultToast.setGravity(48, 0, S_TITLE_HEIGHT + 5); + this.mDefaultToast.show(); + return; + this.mDefaultToast.setText(paramString); + } + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, int paramInt3, DialogInterface.OnClickListener paramOnClickListener1, DialogInterface.OnClickListener paramOnClickListener2) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(2, paramInt1, paramString, paramInt2, paramInt3, paramOnClickListener1, paramOnClickListener2, null); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, DialogInterface.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + showBaseUserDialogBtn(1, paramInt1, paramString, paramInt2, 0, paramOnClickListener, null, null); + } + + public void storeLastIndex() + { + Object localObject = RqdApplication.i(); + try + { + localObject = ((Context)localObject).getSharedPreferences("token_index_info", 0).edit(); + ((SharedPreferences.Editor)localObject).putInt("index", this.mTabHost.getCurrentTab()); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.IndexActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListActivity.java new file mode 100755 index 00000000000..36b0f9e84b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListActivity.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.ProgressBar; +import com.tencent.token.af; +import java.util.ArrayList; + +public class JLAppealListActivity + extends BaseActivity +{ + private my adapter; + private ArrayList appealInfo; + private ListView listView; + LinearLayout ll; + private Handler mHandler = new mw(this); + private af mTokenCore = af.a(); + ProgressBar pb; + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903114); + this.mTokenCore.j(0L, this.mHandler); + this.listView = ((ListView)findViewById(2131296731)); + this.pb = ((ProgressBar)findViewById(2131296732)); + this.ll = ((LinearLayout)findViewById(2131296733)); + this.adapter = new my(this, this); + this.listView.setAdapter(this.adapter); + this.listView.setOnItemClickListener(new mv(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JLAppealListActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListDetailActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListDetailActivity.java new file mode 100755 index 00000000000..9a85b1dd18c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JLAppealListDetailActivity.java @@ -0,0 +1,97 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.tencent.token.core.bean.JLAppealInfo; +import com.tencent.token.global.e; +import org.json.JSONArray; +import org.json.JSONException; + +public class JLAppealListDetailActivity + extends BaseActivity +{ + JLAppealInfo appealInfo; + + private View createTableCol1(String paramString1, String paramString2) + { + View localView = getLayoutInflater().inflate(2130903112, null); + TextView localTextView1 = (TextView)localView.findViewById(2131296726); + TextView localTextView2 = (TextView)localView.findViewById(2131296727); + localTextView1.setText(paramString1); + localTextView2.setText(paramString2); + return localView; + } + + private void insertTableRows(LinearLayout paramLinearLayout) + { + for (;;) + { + int i; + String str; + int j; + try + { + JSONArray localJSONArray1 = new JSONArray(this.appealInfo.table); + i = 0; + if (i < localJSONArray1.length()) + { + JSONArray localJSONArray2 = localJSONArray1.getJSONArray(i); + localObject = ""; + str = ""; + j = 0; + if (j >= localJSONArray2.length()) { + break label132; + } + if (j == 0) + { + localObject = localJSONArray2.getString(j); + e.b("temp1 = " + (String)localObject); + } + else + { + str = localJSONArray2.getString(j); + e.b("temp2 = " + str); + } + } + } + catch (JSONException paramLinearLayout) + { + paramLinearLayout.printStackTrace(); + } + return; + label132: + paramLinearLayout.addView(createTableCol1((String)localObject, str)); + Object localObject = new ImageView(this); + ((ImageView)localObject).setLayoutParams(new ViewGroup.LayoutParams(-1, 1)); + ((ImageView)localObject).setBackgroundResource(2130837708); + paramLinearLayout.addView((View)localObject); + i += 1; + continue; + j += 1; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903115); + paramBundle = (TextView)findViewById(2131296736); + this.appealInfo = ((JLAppealInfo)getIntent().getSerializableExtra("content")); + paramBundle.setText(this.appealInfo.desc); + insertTableRows((LinearLayout)findViewById(2131296737)); + ((Button)findViewById(2131296738)).setOnClickListener(new na(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JLAppealListDetailActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JLFindItems.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFindItems.java new file mode 100755 index 00000000000..667f8109389 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFindItems.java @@ -0,0 +1,198 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog; +import android.app.DatePickerDialog.OnDateSetListener; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.os.Handler; +import android.text.Html; +import android.text.InputFilter; +import android.text.InputFilter.LengthFilter; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.style.ImageSpan; +import android.view.View; +import android.view.Window; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import java.util.Calendar; +import java.util.Date; + +public class JLFindItems + extends BaseActivity +{ + private Button btn_apply; + private Button btn_record; + private Button btn_submit; + Calendar calendar = Calendar.getInstance(); + private CheckBox chk_licence; + private int dateFlag = -1; + private DatePickerDialog.OnDateSetListener dateListener = new nh(this); + private int detail_max; + private int detail_min; + DatePickerDialog dpd; + private EditText et; + Date getStealTime; + private boolean is_xy = false; + Date lastLoginTime; + private View lv_findItems_getStealTime; + private View lv_findItems_lastLoginTime; + private View lv_findItems_role; + private Handler mHandler = new ng(this); + private int roleID = -1; + private String roleName; + private int serverID = -1; + private String serverName; + private TextView tv_getstealtime; + private TextView tv_getstealtimeTitle; + private TextView tv_lastlogintime; + private TextView tv_lastlogintimeTitle; + private TextView tv_licence; + private TextView tv_qqname; + private TextView tv_rolename; + private TextView tv_roletitle; + private int zoneID = -1; + private String zoneName; + + private void getSavedRoleInfo(long paramLong) + { + Object localObject = RqdApplication.i().getSharedPreferences("jl_has_save_role", 0).getString(String.valueOf(paramLong), ""); + if (!TextUtils.isEmpty((CharSequence)localObject)) {} + try + { + localObject = ((String)localObject).split("-"); + this.roleID = Integer.parseInt(localObject[0]); + this.zoneID = Integer.parseInt(localObject[1]); + this.serverID = Integer.parseInt(localObject[2]); + this.roleName = localObject[3]; + this.zoneName = localObject[4]; + this.serverName = localObject[5]; + this.tv_rolename.setText(this.roleName + " " + this.zoneName + "/" + this.serverName); + this.tv_rolename.setVisibility(0); + this.tv_rolename.setTextAppearance(this, 2131427335); + this.tv_roletitle.setTextAppearance(this, 2131427386); + return; + } + catch (Exception localException) {} + } + + private void initUI() + { + setContentViewForDetail(); + } + + private void saveRoleInfo(long paramLong, int paramInt1, int paramInt2, int paramInt3, String paramString1, String paramString2, String paramString3) + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("jl_has_save_role", 0).edit(); + localEditor.putString(String.valueOf(paramLong), new StringBuilder().append(paramInt1).append("-").toString() + new StringBuilder().append(paramInt2).append("-").toString() + new StringBuilder().append(paramInt3).append("-").toString() + new StringBuilder().append(paramString1).append("-").toString() + new StringBuilder().append(paramString2).append("-").toString() + paramString3); + localEditor.commit(); + } + + private void setCanSubmit() + { + if ((this.getStealTime != null) && (this.lastLoginTime != null) && (this.roleID != -1) && (this.zoneID != -1) && (this.serverID != -1)) + { + this.btn_submit.setEnabled(true); + this.btn_submit.setBackgroundResource(2130837549); + this.btn_submit.setTextAppearance(this, 2131427381); + } + } + + private void setContentViewForDetail() + { + setContentView(2130903120); + this.tv_roletitle = ((TextView)findViewById(2131296752)); + this.tv_lastlogintimeTitle = ((TextView)findViewById(2131296755)); + this.tv_getstealtimeTitle = ((TextView)findViewById(2131296759)); + this.et = ((EditText)findViewById(2131296761)); + this.et.setFilters(new InputFilter[] { new InputFilter.LengthFilter(this.detail_max) }); + if (this.et != null) { + this.et.clearFocus(); + } + this.tv_qqname = ((TextView)findViewById(2131296749)); + QQUser localQQUser = ax.a().e(); + if (this.is_xy) + { + Object localObject = getApplicationContext().getResources().getDrawable(2130837702); + ((Drawable)localObject).setBounds(0, 0, ((Drawable)localObject).getIntrinsicWidth(), ((Drawable)localObject).getIntrinsicHeight()); + localObject = new ImageSpan((Drawable)localObject, 1); + if (localQQUser != null) + { + SpannableString localSpannableString = new SpannableString(localQQUser.mUinMask + "(" + localQQUser.mNickName + ") "); + int i = (localQQUser.mUinMask + "(" + localQQUser.mNickName + ")").length(); + localSpannableString.setSpan(localObject, i, i + 1, 33); + if (this.tv_qqname != null) { + this.tv_qqname.setText(localSpannableString); + } + } + } + for (;;) + { + this.lv_findItems_role = findViewById(2131296751); + this.lv_findItems_role.setOnClickListener(new nb(this)); + this.tv_rolename = ((TextView)findViewById(2131296739)); + getSavedRoleInfo(localQQUser.mUin); + this.lv_findItems_lastLoginTime = findViewById(2131296754); + this.lv_findItems_lastLoginTime.setOnClickListener(new nc(this)); + this.tv_lastlogintime = ((TextView)findViewById(2131296756)); + this.lv_findItems_getStealTime = findViewById(2131296758); + this.lv_findItems_getStealTime.setOnClickListener(new nd(this)); + this.tv_getstealtime = ((TextView)findViewById(2131296760)); + this.btn_submit = ((Button)findViewById(2131296762)); + this.btn_submit.setOnClickListener(new ne(this)); + this.chk_licence = ((CheckBox)findViewById(2131296764)); + this.tv_licence = ((TextView)findViewById(2131296765)); + this.tv_licence.setText(Html.fromHtml(getResources().getString(2131362284))); + this.tv_licence.setOnClickListener(new nf(this)); + return; + if (this.tv_qqname != null) { + this.tv_qqname.setText(localQQUser.mUinMask + "(" + localQQUser.mNickName + ") "); + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt2 == 1) + { + this.roleName = paramIntent.getStringExtra("roleName"); + this.zoneName = paramIntent.getStringExtra("zoneName"); + this.serverName = paramIntent.getStringExtra("serverName"); + this.tv_rolename.setText(this.roleName + " " + this.zoneName + "/" + this.serverName); + this.tv_rolename.setVisibility(0); + this.tv_rolename.setTextAppearance(this, 2131427335); + this.tv_roletitle.setTextAppearance(this, 2131427386); + this.roleID = paramIntent.getIntExtra("roleID", -1); + this.zoneID = paramIntent.getIntExtra("zoneID", -1); + this.serverID = paramIntent.getIntExtra("serverID", -1); + setCanSubmit(); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + getWindow().requestFeature(1); + this.is_xy = getIntent().getBooleanExtra("is_xy", false); + this.detail_max = getIntent().getIntExtra("detail_max", 0); + this.detail_min = getIntent().getIntExtra("detail_min", 0); + setContentViewForDetail(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JLFindItems + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsChooseZone.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsChooseZone.java new file mode 100755 index 00000000000..11ac16b7b5c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsChooseZone.java @@ -0,0 +1,76 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.widget.ListView; +import com.tencent.token.af; +import java.util.ArrayList; + +public class JLFinditemsChooseZone + extends BaseActivity +{ + public ahs adapter; + private int flag = 0; + private ListView listView; + private Handler mHandler = new nj(this); + private af mTokenCore = af.a(); + private int roleID; + private String roleName; + private int serverID; + private String serverName; + private int serverPosition; + private int zoneID; + private String zoneName; + private int zonePosition; + + private void setAdapter(int paramInt) + { + if (this.listView != null) + { + if (this.adapter == null) + { + this.adapter = new ahs(this, this.flag, paramInt); + this.listView.setAdapter(this.adapter); + this.listView.setOnItemClickListener(new ni(this)); + } + } + else { + return; + } + this.adapter.a(this.flag, paramInt); + this.adapter.notifyDataSetChanged(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903117); + this.listView = ((ListView)findViewById(2131296740)); + setAdapter(0); + this.mTokenCore.f(this.mHandler); + } + + protected void onDestroy() + { + super.onDestroy(); + if ((this.adapter != null) && (this.adapter.a != null)) { + this.adapter.a.clear(); + } + } + + protected void setDefaultBackArrow() + { + if (this.mBackArrow != null) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new nk(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JLFinditemsChooseZone + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsResult.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsResult.java new file mode 100755 index 00000000000..1c08ec74b0c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JLFinditemsResult.java @@ -0,0 +1,78 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; + +public class JLFinditemsResult + extends BaseActivity +{ + private Button btn; + private long getStealTime; + private ImageView iv_icon; + private long lastLoginTime; + private Handler mHandler = new nm(this); + private int result = -999; + private int roleID; + private String roleName; + private int serverID; + private String serverName; + private TextView tv_content; + private TextView tv_title; + private int zoneID; + private String zoneName; + + private void initUI(Intent paramIntent) + { + this.result = paramIntent.getIntExtra("result", -1); + if (this.result == 0) + { + this.iv_icon.setImageResource(2130837574); + this.tv_title.setText(paramIntent.getStringExtra("title")); + this.tv_content.setText(paramIntent.getStringExtra("desc")); + this.btn.setText(2131362282); + return; + } + if (this.result == -1) + { + this.iv_icon.setImageResource(2130837569); + this.tv_title.setText(paramIntent.getStringExtra("title")); + this.tv_content.setText(paramIntent.getStringExtra("desc")); + this.btn.setText(2131362283); + return; + } + this.iv_icon.setImageResource(2130837569); + this.tv_title.setText(paramIntent.getStringExtra("title")); + this.tv_content.setText(paramIntent.getStringExtra("desc")); + this.btn.setText(2131362281); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903121); + this.iv_icon = ((ImageView)findViewById(2131296766)); + this.tv_title = ((TextView)findViewById(2131296767)); + this.tv_content = ((TextView)findViewById(2131296768)); + this.btn = ((Button)findViewById(2131296769)); + this.roleID = getIntent().getIntExtra("roleID", -1); + this.roleName = getIntent().getStringExtra("roleName"); + this.zoneID = getIntent().getIntExtra("zoneID", -1); + this.zoneName = getIntent().getStringExtra("zoneName"); + this.serverID = getIntent().getIntExtra("serverID", -1); + this.serverName = getIntent().getStringExtra("serverName"); + this.lastLoginTime = getIntent().getLongExtra("lastLoginTime", -1L); + this.getStealTime = getIntent().getLongExtra("getStealTime", -1L); + this.btn.setOnClickListener(new nl(this)); + initUI(getIntent()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JLFinditemsResult + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/JianLingActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/JianLingActivity.java new file mode 100755 index 00000000000..454de20dbdb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/JianLingActivity.java @@ -0,0 +1,187 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.JLProtectionInfo; +import com.tencent.token.core.bean.JLProtectionInfo.ProtectionInfoItem; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fp; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.HorizontialListView; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.bh; +import java.util.ArrayList; + +public class JianLingActivity + extends BaseActivity +{ + public JLProtectionInfo.ProtectionInfoItem m2VerifyItem; + public boolean m2VerifyQuerying = false; + private View.OnClickListener mBindListener = new nn(this); + private ErrorView mErrorView; + public Handler mHandler = new np(this); + public JLProtectionInfo mInfo; + private nw mLiBaoAdapter; + private HorizontialListView mLiBaoGallery; + public Bitmap[] mLiBaoImgs; + private TextView mLiBaoText; + private LinearLayout mListView; + private bh mNeedVerifyView; + private View mProgressView; + private TextView mRecommendDesc; + private TextView mRecommendName; + private View.OnClickListener mRetryListener = new no(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + + public void hideTip() + { + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + } + + public void initListItem(View paramView, int paramInt) + { + if ((isFinishing()) || (this.mInfo == null) || (this.mInfo.protectionInfoItem == null)) { + return; + } + Object localObject = this.mInfo; + TextView localTextView1 = (TextView)paramView.findViewById(2131296718); + TextView localTextView2 = (TextView)paramView.findViewById(2131296719); + SwitchButton localSwitchButton = (SwitchButton)paramView.findViewById(2131296720); + ProgressBar localProgressBar = (ProgressBar)paramView.findViewById(2131296721); + ImageView localImageView = (ImageView)paramView.findViewById(2131296722); + if (paramInt < ((JLProtectionInfo)localObject).protectionInfoItem.size()) + { + localObject = (JLProtectionInfo.ProtectionInfoItem)((JLProtectionInfo)localObject).protectionInfoItem.get(paramInt); + localTextView1.setText(((JLProtectionInfo.ProtectionInfoItem)localObject).name); + localTextView2.setText(((JLProtectionInfo.ProtectionInfoItem)localObject).desc); + localSwitchButton.setVisibility(0); + if (((JLProtectionInfo.ProtectionInfoItem)localObject).busy) + { + localSwitchButton.setEnabled(false); + localProgressBar.setVisibility(0); + localImageView.setVisibility(4); + localSwitchButton.setOnCheckedChangeListener(new ns(this, paramInt, (JLProtectionInfo.ProtectionInfoItem)localObject, paramView)); + return; + } + localSwitchButton.setEnabled(true); + if (((JLProtectionInfo.ProtectionInfoItem)localObject).value == 1) {} + for (boolean bool = false;; bool = true) + { + localSwitchButton.a(bool, false); + localProgressBar.setVisibility(4); + break; + } + } + localTextView1.setText(((JLProtectionInfo)localObject).appealName); + localTextView2.setText(((JLProtectionInfo)localObject).appealDesc); + localSwitchButton.setVisibility(4); + localProgressBar.setVisibility(4); + localImageView.setVisibility(0); + paramView.setOnClickListener(new nq(this)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903108); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + this.mRecommendName = ((TextView)findViewById(2131296709)); + this.mRecommendDesc = ((TextView)findViewById(2131296710)); + this.mProgressView = findViewById(2131296714); + this.mLiBaoText = ((TextView)findViewById(2131296712)); + this.mListView = ((LinearLayout)findViewById(2131296711)); + this.mLiBaoGallery = ((HorizontialListView)findViewById(2131296713)); + this.mLiBaoAdapter = new nw(this); + this.mLiBaoGallery.a(this.mLiBaoAdapter); + this.mLiBaoGallery.setOnItemClickListener(new nr(this)); + af.a().a(0L, this.mHandler, this); + showTip(-1, null, null, false); + } + + public void onDestroy() + { + super.onDestroy(); + if (this.mLiBaoImgs != null) + { + int i = 0; + while (i < this.mLiBaoImgs.length) + { + Bitmap localBitmap = this.mLiBaoImgs[i]; + if (localBitmap != null) { + localBitmap.recycle(); + } + i += 1; + } + } + } + + public void onPause() + { + super.onPause(); + ba.a().h.a("jl_zone").a(); + } + + public void onResume() + { + super.onResume(); + ba.a().h.a("jl_zone").a(); + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + this.mLiBaoText.setVisibility(8); + this.mLiBaoGallery.setVisibility(8); + return; + } + paramString1 = ax.a().e(); + if ((paramString1 != null) && (!paramString1.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new bh(this); + } + setContentView(this.mNeedVerifyView); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.JianLingActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/KnowTokenActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/KnowTokenActivity.java new file mode 100755 index 00000000000..49eec912645 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/KnowTokenActivity.java @@ -0,0 +1,164 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.os.Bundle; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.GestureDetector; +import android.view.MotionEvent; +import android.view.ViewGroup.LayoutParams; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import com.tencent.token.ui.base.cf; +import com.tencent.token.ui.base.cg; +import com.tencent.token.utils.t; + +public class KnowTokenActivity + extends BaseActivity + implements cg +{ + private static final int BTN_HEIGHT = 45; + private static final int BTN_WIDTH = 200; + private static final int FLING_MIN_DISTANCE = 0; + private static final int IMAGE_LEVEL_COUNT; + private static final int[] mBitmapIds; + private int DOT_OFFSET_X; + private int DOT_OFFSET_Y; + private int DOT_SIZE; + private GestureDetector mDetector = new GestureDetector(new nt(this)); + private Bitmap mDotEmpty; + private Bitmap mDotFull; + private Button mEndBtn; + private int mHeight; + private int mLevel = 0; + private boolean mLowQuality; + private cf mPageCurlView; + private int mWidth; + + static + { + int[] arrayOfInt = new int[0]; + mBitmapIds = arrayOfInt; + IMAGE_LEVEL_COUNT = arrayOfInt.length; + } + + private void doOutOfMemory() + { + if (this.mDotEmpty != null) { + this.mDotEmpty.recycle(); + } + this.mDotEmpty = null; + if (this.mDotFull != null) { + this.mDotFull.recycle(); + } + this.mDotFull = null; + if (this.mPageCurlView != null) { + this.mPageCurlView.b(); + } + this.mPageCurlView = null; + finish(); + } + + private void drawDots(int paramInt, Canvas paramCanvas) + { + int j = this.DOT_OFFSET_X; + int i = 0; + if (i < IMAGE_LEVEL_COUNT) + { + if (i == paramInt) { + paramCanvas.drawBitmap(this.mDotEmpty, j, this.DOT_OFFSET_Y, null); + } + for (;;) + { + j += this.DOT_SIZE * 2; + i += 1; + break; + paramCanvas.drawBitmap(this.mDotFull, j, this.DOT_OFFSET_Y, null); + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + requestWindowFeature(1); + try + { + this.mDotEmpty = BitmapFactory.decodeResource(getResources(), 2130837592); + this.mDotFull = BitmapFactory.decodeResource(getResources(), 2130837593); + paramBundle = getWindowManager().getDefaultDisplay(); + this.mWidth = paramBundle.getWidth(); + this.mHeight = paramBundle.getHeight(); + this.DOT_SIZE = this.mDotEmpty.getWidth(); + this.DOT_OFFSET_X = ((this.mWidth - IMAGE_LEVEL_COUNT * 2 * this.DOT_SIZE + this.DOT_SIZE) / 2); + this.DOT_OFFSET_Y = (this.mHeight * 9 / 10); + this.mLowQuality = t.a(this.mWidth, this.mHeight); + this.mPageCurlView = new cf(this, this, this.mWidth, this.mHeight); + this.mPageCurlView.setBackgroundColor(getResources().getColor(2131165185)); + paramBundle = new RelativeLayout(this); + paramBundle.addView(this.mPageCurlView, new ViewGroup.LayoutParams(-1, -1)); + Object localObject = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics((DisplayMetrics)localObject); + this.mEndBtn = new Button(this); + this.mEndBtn.setBackgroundResource(2130837621); + RelativeLayout.LayoutParams localLayoutParams = new RelativeLayout.LayoutParams((int)(200.0F * ((DisplayMetrics)localObject).density), (int)(45.0F * ((DisplayMetrics)localObject).density)); + localLayoutParams.addRule(12, -1); + localLayoutParams.addRule(14, -1); + localLayoutParams.bottomMargin = ((int)(((DisplayMetrics)localObject).density * 110.0F)); + this.mEndBtn.setVisibility(8); + this.mEndBtn.setOnClickListener(new nu(this)); + this.mEndBtn.setGravity(17); + paramBundle.addView(this.mEndBtn, localLayoutParams); + localObject = t.a(this, mBitmapIds[0], this.mLowQuality); + if ((localObject == null) || (this.mDotEmpty == null) || (this.mDotFull == null)) + { + doOutOfMemory(); + return; + } + this.mPageCurlView.a((Bitmap)localObject); + this.mPageCurlView.setOnTouchListener(new nv(this)); + setContentView(paramBundle); + hideTitle(); + return; + } + catch (OutOfMemoryError paramBundle) + { + paramBundle.printStackTrace(); + doOutOfMemory(); + return; + } + catch (Exception paramBundle) + { + paramBundle.printStackTrace(); + doOutOfMemory(); + } + } + + public void onDrawDots(Canvas paramCanvas, boolean paramBoolean) + { + drawDots(this.mLevel, paramCanvas); + } + + public void onDrawDotsBack(Canvas paramCanvas, boolean paramBoolean) + { + drawDots(this.mLevel, paramCanvas); + } + + public void onNextPage(boolean paramBoolean) {} + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + return this.mDetector.onTouchEvent(paramMotionEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.KnowTokenActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgActivity.java new file mode 100755 index 00000000000..36b00bebe00 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgActivity.java @@ -0,0 +1,326 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bc; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.LoginMsgMenuDialog; +import com.tencent.token.ui.base.PullToRefreshListView; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.ui.base.cc; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.lang.reflect.Method; +import java.util.TimeZone; + +public class LoginMsgActivity + extends BaseActivity +{ + private static final String PREFER_TIME = "login_msg_refresh_time"; + public static boolean mConfirmLogin; + private static boolean mNeedShowNewMsgCnt; + public static int mNewMsgCntSetByAccount; + public static String mSkey; + private qf mAdapter; + private fo mCache = bb.a().f; + public Handler mHandler = new oa(this); + private int mHaveMsgReqTimes = 0; + private boolean mIsBusy = false; + private boolean mKickOff = false; + private PullToRefreshListView mListView; + private cc mListener = new oc(this); + private LoginMsgMenuDialog mMenuDialog; + private int mNewMsgCnt = 0; + private boolean mQuerySecurityReporter = false; + private View.OnClickListener mRightTitleButtonClickListener = new oe(this); + private SecurityReporterResult mSecurityResult; + private String mSessId; + private byte mSource = bc.e; + private TitleOptionMenu mTitleMenu; + private long mUin; + private long mUinHash; + + static + { + if (!LoginMsgActivity.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + mNeedShowNewMsgCnt = false; + mConfirmLogin = false; + mNewMsgCntSetByAccount = 0; + return; + } + } + + private void getLoginMsg() + { + if (this.mIsBusy) {} + do + { + return; + this.mIsBusy = true; + resetParams(); + } while (ax.a().e() == null); + byte[] arrayOfByte = x.a(RqdApplication.i()).a(ax.a().e().mRealUin); + if (arrayOfByte != null) + { + mSkey = s.a(arrayOfByte); + bb.a().a(this.mSource, mSkey, this.mHandler); + return; + } + x.a(RqdApplication.i()).a(this, "" + ax.a().e().mRealUin, this.mHandler, true); + } + + private void saveTimeZoneFlag() + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("msg_tips_timezone", 0).edit(); + localEditor.putBoolean("msg_tips_timezone_flag", true); + localEditor.commit(); + } + + private void seekIpcMsg() + { + int i = this.mCache.d; + e.c("login msg ipc index= " + i); + if (i >= 0) + { + this.mListView.clearFocus(); + this.mListView.post(new of(this, i)); + fo localfo = this.mCache; + localfo.d = -1; + localfo.e = 0L; + } + } + + public static void setShowNewMsgCnt(boolean paramBoolean, int paramInt) + { + mNeedShowNewMsgCnt = paramBoolean; + mNewMsgCntSetByAccount = paramInt; + } + + void checkTimeZoneFlag() + { + if ((!RqdApplication.i().getSharedPreferences("msg_tips_timezone", 0).getBoolean("msg_tips_timezone_flag", false)) && (this.mCache.g() > 0)) + { + int i = TimeZone.getDefault().getOffset(System.currentTimeMillis()); + e.b("checkTimeZoneFlag offset=" + i); + if (i != 28800000) + { + View localView = findViewById(2131296782); + localView.setVisibility(0); + findViewById(2131296785).setOnClickListener(new og(this, localView)); + } + return; + } + findViewById(2131296782).setVisibility(8); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if ((this.mTitleMenu != null) && (this.mTitleMenu.getVisibility() == 0)) + { + this.mTitleMenu.a(); + return true; + } + if ((this.mMenuDialog != null) && (this.mMenuDialog.isShowing())) + { + this.mMenuDialog.cancel(); + return true; + } + } + } + + public void finishRefresh() + { + e.c("finish refresh"); + if (this.mKickOff) { + this.mKickOff = false; + } + do + { + return; + this.mListView.b(); + } while ((isFinishing()) || (this.mAdapter == null)); + if (this.mNewMsgCnt > 0) { + showOrangeToast(this.mNewMsgCnt + getResources().getString(2131362016), 2130837964); + } + this.mListView.a(System.currentTimeMillis()); + this.mListView.a("login_msg_refresh_time"); + this.mAdapter.a(bb.a().f, bb.a().b); + this.mAdapter.notifyDataSetChanged(); + seekIpcMsg(); + } + + public boolean isValid() + { + QQUser localQQUser = ax.a().e(); + if ((this.mSessId == null) || (localQQUser == null)) {} + String str; + do + { + return false; + str = this.mSessId; + ax.a(); + } while ((!str.equals(ax.c)) || (this.mUinHash != localQQUser.mUin) || (!this.mQuerySecurityReporter)); + return true; + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903126); + try + { + Activity.class.getDeclaredMethod("overridePendingTransition", new Class[] { Integer.TYPE, Integer.TYPE }).invoke(this, new Object[] { Integer.valueOf(2130968585), Integer.valueOf(2130968584) }); + this.mListView = ((PullToRefreshListView)findViewById(2131296262)); + if ((!$assertionsDisabled) && (this.mListView == null)) { + throw new AssertionError(); + } + } + catch (Exception paramBundle) + { + for (;;) + { + paramBundle.printStackTrace(); + } + this.mAdapter = new qf(this); + this.mAdapter.a(bb.a().f, bb.a().b); + paramBundle = LayoutInflater.from(this).inflate(2130903142, this.mListView, false); + this.mListView.addFooterView(paramBundle); + this.mAdapter.a(paramBundle); + paramBundle = LayoutInflater.from(this).inflate(2130903139, this.mListView, false); + this.mListView.addFooterView(paramBundle); + this.mAdapter.c(paramBundle); + this.mAdapter.e(); + paramBundle = LayoutInflater.from(this).inflate(2130903138, this.mListView, false); + this.mListView.addFooterView(paramBundle); + this.mListView.setSelector(2130837756); + this.mAdapter.b(paramBundle); + this.mListView.setScrollingCacheEnabled(true); + paramBundle = getIntent().getStringExtra("skey"); + if ((paramBundle != null) && (paramBundle.length() > 0)) { + mSkey = paramBundle; + } + paramBundle = getIntent().getBundleExtra("com.tencent.input_param"); + if (paramBundle == null) { + break label435; + } + } + if (paramBundle.getLong("uin") > 0L) + { + this.mUin = paramBundle.getLong("uin"); + ax.a().a(this.mUin); + this.mSource = bc.d; + s.a(String.valueOf(this.mUin), false); + mNewMsgCntSetByAccount = 0; + } + for (;;) + { + this.mAdapter.a(); + this.mListView.a(2131362020); + this.mListView.setAdapter(this.mAdapter); + this.mListView.a(this.mListView.b("login_msg_refresh_time")); + this.mListView.a(new od(this)); + setRightTitleImage(2130837952, this.mRightTitleButtonClickListener); + this.mRightOptionImage.setVisibility(0); + return; + label435: + this.mUin = 0L; + } + } + + protected void onDestroy() + { + super.onDestroy(); + this.mAdapter = null; + this.mListView.setAdapter(null); + } + + protected void onPause() + { + fo localfo = this.mCache; + localfo.d = -1; + localfo.e = 0L; + AccountPageActivity.mNeedShowIpcMsg = false; + super.onPause(); + } + + protected void onResume() + { + if ((!bb.a().d()) || (this.mUin > 0L)) + { + resetParams(); + this.mUin = 0L; + this.mListView.a(); + } + if (mConfirmLogin) + { + showOrangeToast(2131362037, 2130837964); + mConfirmLogin = false; + } + seekIpcMsg(); + super.onResume(); + } + + public void onWindowFocusChanged(boolean paramBoolean) + { + if ((paramBoolean) && (mNeedShowNewMsgCnt)) + { + if (mNewMsgCntSetByAccount > 0) { + showOrangeToast(mNewMsgCntSetByAccount + getResources().getString(2131362016), 2130837964); + } + mNeedShowNewMsgCnt = false; + } + super.onWindowFocusChanged(paramBoolean); + } + + public void resetParams() + { + bb.a().c(); + this.mNewMsgCnt = 0; + this.mHaveMsgReqTimes = 0; + mNeedShowNewMsgCnt = false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LoginMsgActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgChangePwdActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgChangePwdActivity.java new file mode 100755 index 00000000000..fd297ea202b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgChangePwdActivity.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.af; + +public class LoginMsgChangePwdActivity + extends BaseActivity +{ + private Button mChangePwdBtn; + private TextView mChangePwdDesc; + private TextView mChangePwdTitle; + public Handler mHandler = new oh(this); + + private void init() + { + this.mChangePwdTitle = ((TextView)findViewById(2131296774)); + this.mChangePwdDesc = ((TextView)findViewById(2131296775)); + this.mChangePwdBtn = ((Button)findViewById(2131296776)); + this.mChangePwdBtn.setOnClickListener(new oi(this)); + af.a().c(this.mHandler); + } + + public void cancelRequest() + { + af.a().a(getClass().getName()); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903123); + init(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LoginMsgChangePwdActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgIpShareActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgIpShareActivity.java new file mode 100755 index 00000000000..a7a9685c5e2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgIpShareActivity.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.af; + +public class LoginMsgIpShareActivity + extends BaseActivity +{ + public Handler mHandler = new oj(this); + private Button mIpShareBtn; + private TextView mIpShareDesc; + private TextView mIpShareTitle; + private int mPosition; + + private void init() + { + this.mPosition = getIntent().getExtras().getInt("position"); + this.mIpShareTitle = ((TextView)findViewById(2131296777)); + this.mIpShareDesc = ((TextView)findViewById(2131296778)); + this.mIpShareBtn = ((Button)findViewById(2131296779)); + this.mIpShareBtn.setOnClickListener(new ok(this)); + af.a().c(this.mHandler); + } + + public void cancelRequest() + { + af.a().a(getClass().getName()); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903124); + init(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LoginMsgIpShareActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgReportLocationActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgReportLocationActivity.java new file mode 100755 index 00000000000..51d6463127c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LoginMsgReportLocationActivity.java @@ -0,0 +1,135 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.WindowManager; +import android.view.WindowManager.LayoutParams; +import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.bb; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; +import com.tencent.token.global.e; +import com.tencent.token.o; +import com.tencent.token.ui.base.LoginMsgRightLetterView; +import com.tencent.token.ui.base.ProDialog; + +public class LoginMsgReportLocationActivity + extends BaseActivity +{ + private nx mAdapter; + private ListView mCityList; + ProDialog mDialogPro = null; + public Handler mHandler = new ol(this); + private int mIndex; + private boolean mIsFeedSuccess = false; + private SafeMsgItem mItem; + private LoginMsgRightLetterView mLetterList; + private Button mMenuBarBtn; + private String mNewLocation; + private TextView mOverlay; + private oq mOverlayThread; + private int mPosition; + + private void init() + { + if ((getIntent() == null) || (getIntent().getExtras() == null) || (bb.a().f == null)) + { + finish(); + return; + } + this.mPosition = getIntent().getExtras().getInt("position"); + this.mItem = bb.a().f.b(this.mPosition); + this.mCityList = ((ListView)findViewById(2131296800)); + this.mLetterList = ((LoginMsgRightLetterView)findViewById(2131296801)); + this.mLetterList.a(new op(this)); + this.mMenuBarBtn = ((Button)findViewById(2131297148)); + this.mMenuBarBtn.setVisibility(0); + this.mMenuBarBtn.setText(getResources().getString(2131361806)); + this.mMenuBarBtn.setOnClickListener(new oo(this)); + this.mOverlayThread = new oq(this); + initOverlay(); + o localo = o.a(); + e.c("test city: " + localo.d.length + "|" + localo.c.length + "|" + localo.f.length + "|" + localo.g.length + "|" + localo.e.length); + this.mAdapter = new nx(this); + this.mCityList.setAdapter(this.mAdapter); + } + + private void initOverlay() + { + this.mOverlay = ((TextView)LayoutInflater.from(this).inflate(2130903129, null)); + this.mOverlay.setVisibility(4); + WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams(-2, -2, 2, 24, -3); + ((WindowManager)getSystemService("window")).addView(this.mOverlay, localLayoutParams); + } + + public void cancelRequest() + { + af.a().a(getClass().getName()); + } + + public void checkMenuBtnEnable(int paramInt) + { + if (paramInt == -1) + { + this.mMenuBarBtn.setClickable(false); + this.mMenuBarBtn.setTextColor(getResources().getColor(2131165214)); + return; + } + this.mMenuBarBtn.setClickable(true); + this.mMenuBarBtn.setTextColor(getResources().getColor(2131165223)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsFeedSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903130); + init(); + } + + protected void onDestroy() + { + ((WindowManager)getSystemService("window")).removeView(this.mOverlay); + super.onDestroy(); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LoginMsgReportLocationActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LogoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LogoActivity.java new file mode 100755 index 00000000000..3f49f900323 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LogoActivity.java @@ -0,0 +1,523 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.app.NotificationManager; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.graphics.Bitmap; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.text.TextUtils; +import android.widget.ImageView; +import com.tencent.token.ag; +import com.tencent.token.ah; +import com.tencent.token.ap; +import com.tencent.token.ax; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.a; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +public class LogoActivity + extends Activity +{ + public static final int K_LOGO2DIGIT_PWD_REQUEST = 256; + public static final int K_LOGO2DIGIT_PWD_RESPONSE = 257; + public static final int K_LOGO2GUID_INTENT_REQUEST = 262; + public static final int K_LOGO2GUID_INTENT_RESPONSE = 263; + public static final int K_LOGO2MODIFY_INTENT_REQUEST = 260; + public static final int K_LOGO2UPDATE_INFO_REQUEST = 258; + public static final int K_LOGO2UPDATE_INFO_RESPONSE = 259; + public static final int K_LOGO2VERFIY_INTENT_REQUEST = 261; + private long cur_time; + private Dialog dialog; + private final int logo_time = 800; + private boolean mFromH5 = false; + private boolean mFromOtherApp = false; + private Bitmap mLogoBmp; + private ImageView mLogoView; + private long mUin; + private String schemaKey; + private int schemaTimeout; + private boolean success = true; + + private void decryptAndCheck(String paramString, int paramInt1, int paramInt2) + { + boolean bool = true; + loadSchemaParm(); + for (;;) + { + try + { + if (this.schemaTimeout <= 0) { + return; + } + if (TextUtils.isEmpty(this.schemaKey)) { + return; + } + Object localObject = new a(); + byte[] arrayOfByte = ap.a(paramString); + e.b("decryptAndCheck sig=" + paramString + " schemaKey=" + this.schemaKey); + paramString = ((a)localObject).a(arrayOfByte, this.schemaKey.getBytes()); + localObject = new StringBuilder().append("temp ="); + if (paramString == null) + { + e.b(bool); + if ((paramString == null) || (paramString.length < 0)) { + return; + } + paramString = new String(paramString); + e.b("result=" + paramString); + paramString = paramString.split("&"); + if (paramString.length != 2) { + return; + } + int i = Integer.valueOf(paramString[0]).intValue(); + long l = Long.valueOf(paramString[1]).longValue(); + int j = (int)(ag.c().r() / 1000L); + e.a("timeStamp=" + i + "ad=" + l); + if (Math.abs(j - i) >= this.schemaTimeout) { + return; + } + this.success = ax.a().a(l); + if (!this.success) { + break; + } + launchActivity(paramInt2, paramInt1); + return; + } + } + catch (Exception paramString) + { + e.c(paramString.getMessage()); + return; + } + bool = false; + } + this.mFromH5 = true; + } + + private void gotoWelcomeActivity() + { + if ((this.mFromOtherApp) || (this.mFromH5)) + { + if (!ag.c().g()) + { + if (ax.a().d() == 0) + { + localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 3); + startActivity(localIntent); + finish(); + return; + } + if (!this.success) + { + this.dialog = new AlertDialog.Builder(this).setTitle(2131362104).setMessage(2131362549).setPositiveButton(2131361850, new pc(this)).setNegativeButton(2131362076, new pb(this)).create(); + this.dialog.setOnCancelListener(new pd(this)); + this.dialog.show(); + return; + } + jumpActivity(); + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 3); + startActivity(localIntent); + finish(); + return; + } + startActivity(new Intent(this, WelcomeActivity.class)); + finish(); + } + + private void gotonext() + { + Object localObject; + if ((ah.a().c()) && (ah.a().e() == 1)) + { + localObject = new Intent(this, StartPwdDigitVerifyActivity.class); + Bundle localBundle = new Bundle(); + localBundle.putInt("enter_type", 1); + ((Intent)localObject).putExtra("com.tencent.input_param", localBundle); + startActivityForResult((Intent)localObject, 256); + return; + } + if (t.a.mStartUpImg != null) + { + setContentView(2130903210); + localObject = (ImageView)findViewById(2131297136); + ((ImageView)localObject).setImageBitmap(t.a.mStartUpImg); + ((ImageView)localObject).postDelayed(new pa(this), 1500L); + return; + } + gotoWelcomeActivity(); + } + + private void jomptoGUIDActivity() + { + startActivityForResult(new Intent(this, AppGuidActivity.class), 262); + } + + private void jumpActivity() + { + if (this.mFromOtherApp) + { + localIntent = new Intent(this, IndexActivity.class); + localIntent.putExtra("intent.qquser", this.mUin); + localIntent.putExtra("index_from", 23); + startActivityForResult(localIntent, 261); + return; + } + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.putExtra("index_from", 22); + startActivity(localIntent); + finish(); + } + + private void launchActivity(int paramInt1, int paramInt2) + { + if (paramInt1 == 0) + { + localIntent = new Intent(this, UtilsGameLockActivity.class); + localIntent.putExtra("indexid", paramInt2); + startActivity(localIntent); + finish(); + } + do + { + return; + if (paramInt1 == 1) + { + localIntent = new Intent(this, UtilsGameProtectActivity.class); + localIntent.putExtra("indexid", paramInt2); + startActivity(localIntent); + finish(); + return; + } + } while (paramInt1 != 2); + Intent localIntent = new Intent(this, ModifyQQPwdActivity.class); + localIntent.putExtra("indexid", paramInt2); + pv.a().a(this, localIntent, pv.b); + finish(); + } + + private void loadSchemaParm() + { + Object localObject = RqdApplication.i(); + try + { + localObject = ((Context)localObject).getSharedPreferences("schemaparm_name", 0); + this.schemaKey = ((SharedPreferences)localObject).getString("key_schemaparm_key", ""); + this.schemaTimeout = ((SharedPreferences)localObject).getInt("key_schemaparm_timeout", 0); + e.b("load schemaKey=" + this.schemaKey + " schemaTimeout=" + this.schemaTimeout); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + private void showOldPwdDeleteAlert() + { + if (isFinishing()) { + return; + } + new AlertDialog.Builder(this).setMessage(2131362149).setNegativeButton(2131361809, new pf(this)).setPositiveButton(2131362148, new pe(this)).create().show(); + } + + public void nextPage() + { + if (isFinishing()) { + return; + } + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("sp_name_global", 0); + if (localSharedPreferences.getBoolean("key_app_firsttime_facepsw", true)) + { + startActivityForResult(new Intent(this, AppGuidActivity.class), 262); + localSharedPreferences.edit().putBoolean("key_app_firsttime_facepsw", false).commit(); + return; + } + gotonext(); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt1 == 256) + { + if (paramInt2 == 257) + { + startActivityForResult(new Intent(this, StartPwdUpdateInfoActivity.class), 258); + return; + } + finish(); + return; + } + if (paramInt1 == 258) + { + if (paramInt2 == 259) + { + gotoWelcomeActivity(); + return; + } + ah.a().b(null); + showOldPwdDeleteAlert(); + return; + } + if (paramInt1 == 260) + { + if (!ah.a().c()) + { + showOldPwdDeleteAlert(); + return; + } + gotoWelcomeActivity(); + return; + } + if (paramInt1 == 261) { + setResult(paramInt2); + } + do + { + finish(); + return; + if (paramInt1 != 262) { + break; + } + } while (paramInt2 != 263); + gotonext(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + e.b(this + ",task" + getTaskId()); + requestWindowFeature(1); + RqdApplication.b(); + b.a(true); + paramBundle = getIntent(); + label266: + label426: + for (;;) + { + int i; + Object localObject; + try + { + Bundle localBundle = paramBundle.getBundleExtra("com.tencent.input_param"); + paramBundle = paramBundle.getData(); + if (paramBundle != null) + { + paramBundle = paramBundle.toString(); + if (!paramBundle.startsWith("qmtoken://dual_verify?")) { + break label313; + } + paramBundle = paramBundle.substring("qmtoken://dual_verify?".length()).split("&"); + i = paramBundle.length - 1; + if (i >= 0) + { + localObject = paramBundle[i].split("="); + if ((localObject.length != 2) || (!localObject[0].equals("uin")) || (!localObject[1].matches("^\\d+$"))) { + break label306; + } + this.mFromOtherApp = true; + this.mUin = s.f(Long.parseLong(localObject[1])); + } + } + if (localBundle == null) { + break label913; + } + paramBundle = localBundle.getString("package"); + label183: + if (paramBundle != null) { + break label876; + } + setContentView(2130903132); + this.mLogoBmp = t.a(getResources(), 2130837736); + this.cur_time = System.currentTimeMillis(); + if (this.mLogoBmp != null) { + break label848; + } + this.cur_time = 0L; + label227: + paramBundle = (NotificationManager)getSystemService("notification"); + paramBundle.cancel(1); + paramBundle.cancel(2); + paramBundle.cancel(3); + if (this.cur_time != 0L) { + break label888; + } + nextPage(); + t.a(); + return; + } + catch (Exception paramBundle) + { + paramBundle.printStackTrace(); + e.d("OpenAppCrash " + paramBundle.toString()); + finish(); + return; + } + label306: + i -= 1; + continue; + label313: + if (paramBundle.startsWith("qmtoken://index_activity?")) + { + paramBundle = paramBundle.substring("qmtoken://index_activity?".length()).split("&"); + i = paramBundle.length - 1; + for (;;) + { + if (i < 0) { + break label426; + } + localObject = paramBundle[i]; + e.c("path: " + (String)localObject); + localObject = ((String)localObject).split("="); + if ((localObject.length == 2) && (localObject[0].equals("tab")) && (localObject[1].equals("2"))) + { + this.mFromH5 = true; + break; + } + i -= 1; + } + } + else + { + String[] arrayOfString1; + String[] arrayOfString2; + if (paramBundle.startsWith("qmtoken://gamelock_activity?")) + { + arrayOfString1 = paramBundle.substring("qmtoken://gamelock_activity?".length()).split("&"); + localObject = ""; + if (arrayOfString1.length != 2) { + continue; + } + arrayOfString2 = arrayOfString1[0].split("="); + paramBundle = (Bundle)localObject; + if (arrayOfString2.length == 2) + { + paramBundle = (Bundle)localObject; + if (arrayOfString2[0].equals("sig")) { + paramBundle = arrayOfString2[1]; + } + } + localObject = arrayOfString1[1].split("="); + if ((localObject.length != 2) || (!localObject[0].equals("page"))) { + break label928; + } + } + for (i = Integer.valueOf(localObject[1]).intValue();; i = -1) + { + if ((TextUtils.isEmpty(paramBundle)) || (i == -1)) { + break label931; + } + decryptAndCheck(paramBundle, i, 0); + break; + if (paramBundle.startsWith("qmtoken://gameprotect_activity?")) + { + arrayOfString1 = paramBundle.substring("qmtoken://gameprotect_activity?".length()).split("&"); + localObject = ""; + if (arrayOfString1.length != 2) { + break; + } + arrayOfString2 = arrayOfString1[0].split("="); + paramBundle = (Bundle)localObject; + if (arrayOfString2.length == 2) + { + paramBundle = (Bundle)localObject; + if (arrayOfString2[0].equals("sig")) { + paramBundle = arrayOfString2[1]; + } + } + localObject = arrayOfString1[1].split("="); + if ((localObject.length != 2) || (!localObject[0].equals("page"))) { + break label923; + } + } + for (i = Integer.valueOf(localObject[1]).intValue();; i = -1) + { + if ((TextUtils.isEmpty(paramBundle)) || (i == -1)) { + break label926; + } + decryptAndCheck(paramBundle, i, 1); + break; + if (!paramBundle.startsWith("qmtoken://modifypwd_activity?")) { + break; + } + arrayOfString1 = paramBundle.substring("qmtoken://modifypwd_activity?".length()).split("&"); + localObject = ""; + if (arrayOfString1.length != 2) { + break; + } + arrayOfString2 = arrayOfString1[0].split("="); + paramBundle = (Bundle)localObject; + if (arrayOfString2.length == 2) + { + paramBundle = (Bundle)localObject; + if (arrayOfString2[0].equals("sig")) { + paramBundle = arrayOfString2[1]; + } + } + localObject = arrayOfString1[1].split("="); + if ((localObject.length == 2) && (localObject[0].equals("page"))) {} + for (i = Integer.valueOf(localObject[1]).intValue();; i = -1) + { + if ((TextUtils.isEmpty(paramBundle)) || (i == -1)) { + break label921; + } + decryptAndCheck(paramBundle, i, 2); + break; + label848: + this.mLogoView = ((ImageView)findViewById(2131296805)); + this.mLogoView.setImageBitmap(this.mLogoBmp); + break label227; + label876: + b.a(false); + this.cur_time = 0L; + break label227; + label888: + new Handler().postDelayed(new oz(this), 800L); + break label266; + paramBundle = null; + break label183; + } + break; + } + break; + } + } + } + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mLogoBmp != null) + { + this.mLogoBmp.recycle(); + this.mLogoBmp = null; + } + if (t.a.mStartUpImg != null) + { + t.a.mStartUpImg.recycle(); + t.a.mStartUpImg = null; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LogoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/LookNetworkActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/LookNetworkActivity.java new file mode 100755 index 00000000000..7d9fd4a8445 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/LookNetworkActivity.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.text.TextPaint; +import android.widget.TextView; + +public class LookNetworkActivity + extends BaseActivity +{ + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903133); + ((TextView)findViewById(2131296807)).getPaint().setFakeBoldText(true); + ((TextView)findViewById(2131296808)).getPaint().setFakeBoldText(true); + ((TextView)findViewById(2131296809)).getPaint().setFakeBoldText(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.LookNetworkActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ModifyQQPwdActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ModifyQQPwdActivity.java new file mode 100755 index 00000000000..f860075c6dc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ModifyQQPwdActivity.java @@ -0,0 +1,258 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.bf; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fp; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.dk; +import com.tencent.token.utils.t; +import com.tencent.token.widget.InputMethodRelativeLayout; + +public class ModifyQQPwdActivity + extends BaseActivity + implements View.OnClickListener +{ + boolean autoStartModPwdActivity = false; + private boolean isOrangeToastShowing = false; + private Button mCompleteBtn; + private boolean mGoToLoginMsgList = false; + Handler mHandler = new pi(this); + private Button mModifyBtn; + private dk mNeedVerifyView; + private Button mNoSetTokenPwdBtn; + String mPwdText = null; + EditText mPwdTextView = null; + InputMethodRelativeLayout mRootLayout; + View mScrollAreaLayout; + private Button mSetTokenPwdBtn; + private TextView mSetTokenPwdTipText; + private TextView mTextAccount; + private RelativeLayout orange_toast; + private ImageView toast_image; + private TextView toast_text; + boolean vrySucc = false; + boolean vrypswSucc = false; + + private void init() + { + Object localObject = ax.a().e(); + this.mPwdTextView = ((EditText)findViewById(2131296820)); + if (this.mPwdTextView != null) { + this.mPwdTextView.clearFocus(); + } + this.mModifyBtn = ((Button)findViewById(2131296822)); + this.mModifyBtn.setOnClickListener(this); + this.mTextAccount = ((TextView)findViewById(2131296819)); + this.orange_toast = ((RelativeLayout)findViewById(2131296817)); + this.toast_text = ((TextView)findViewById(2131296784)); + this.toast_image = ((ImageView)findViewById(2131296783)); + if ((localObject != null) && (((QQUser)localObject).mNickName != null)) { + this.mTextAccount.setText(getResources().getString(2131362296) + ": " + ((QQUser)localObject).mNickName); + } + for (;;) + { + this.mRootLayout = ((InputMethodRelativeLayout)findViewById(2131296814)); + this.mScrollAreaLayout = findViewById(2131296815); + this.mRootLayout.a = new pq(this); + localObject = getIntent().getExtras(); + if ((localObject != null) && (((Bundle)localObject).getInt("page_id") == 2)) { + this.mGoToLoginMsgList = true; + } + return; + this.mTextAccount.setText(getResources().getString(2131362296) + ": "); + } + } + + private void initView(QQUser paramQQUser) + { + label60: + Object localObject; + if (getIntent().getIntExtra("index_from", 0) == 25) + { + this.autoStartModPwdActivity = true; + if ((paramQQUser == null) || (paramQQUser.mIsBinded)) { + break label213; + } + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 6); + } + setContentView(this.mNeedVerifyView); + setRightTitleImage(2130837951, new pr(this)); + this.vrySucc = getIntent().getBooleanExtra("face_vry_succ", false); + this.vrypswSucc = getIntent().getBooleanExtra("verify_psw", false); + if ((paramQQUser != null) && (ax.a().j()) && (!this.isOrangeToastShowing)) + { + this.orange_toast.setVisibility(0); + this.isOrangeToastShowing = true; + localObject = null; + if (!this.vrySucc) { + break label241; + } + if (!paramQQUser.mIsZzb) { + break label227; + } + paramQQUser = getResources().getString(2131362627); + } + } + for (;;) + { + this.toast_text.setText(paramQQUser); + this.toast_image.setImageDrawable(getResources().getDrawable(2130837966)); + this.toast_text.postDelayed(new ps(this), 3000L); + return; + this.autoStartModPwdActivity = false; + break; + label213: + setContentView(2130903135); + init(); + break label60; + label227: + paramQQUser = getResources().getString(2131362811); + continue; + label241: + if (this.autoStartModPwdActivity) + { + this.autoStartModPwdActivity = false; + paramQQUser = getResources().getString(2131362624); + } + else + { + this.orange_toast.setVisibility(8); + this.isOrangeToastShowing = false; + paramQQUser = localObject; + } + } + } + + private void showErrorDialog(String paramString) + { + showUserDialog(2131361808, paramString, 2131361800, new po(this), new pp(this)); + } + + public void onClick(View paramView) + { + boolean bool; + QQUser localQQUser; + if (paramView.getId() == 2131296822) + { + bool = true; + e.a(bool); + localQQUser = ax.a().e(); + } + switch (paramView.getId()) + { + case 2131296823: + default: + case 2131296822: + do + { + do + { + return; + bool = false; + break; + this.mPwdText = this.mPwdTextView.getText().toString(); + } while ((this.mPwdText == null) || (this.mPwdText.length() <= 0)); + t.a(this); + } while (localQQUser == null); + if ((localQQUser.mIsZzb) && (this.vrySucc)) + { + showUserDialog(2131361808, getResources().getString(2131361930) + this.mPwdText, 2131361800, 2131361804, new pt(this), null); + return; + } + bf.a().a(1, this.mHandler); + showProDialog(this, 2131361808, 2131361931, null); + return; + case 2131296825: + p.a().a(System.currentTimeMillis(), 14); + startActivity(new Intent(this, StartPwdUpdateInfoActivity.class)); + case 2131296826: + finish(); + return; + } + if (this.mGoToLoginMsgList) { + startActivity(new Intent(this, OpMsgDisplayActivity.class)); + } + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.autoStartModPwdActivity = false; + ax.a().e(); + af.a().b(this.mHandler); + showProDialog(this, 2131361808, 2131361817, null); + initView(null); + } + + public void onDestroy() + { + super.onDestroy(); + cancelRequest(); + } + + protected void onPause() + { + super.onPause(); + } + + public void onResume() + { + super.onResume(); + ba.a().h.a("modify_pwd").a(); + } + + public void showSuccessView() + { + setBackArrowHide(); + setRightTitleImageHide(); + setContentView(2130903136); + this.mCompleteBtn = ((Button)findViewById(2131296824)); + this.mSetTokenPwdBtn = ((Button)findViewById(2131296825)); + this.mNoSetTokenPwdBtn = ((Button)findViewById(2131296826)); + this.mSetTokenPwdTipText = ((TextView)findViewById(2131296823)); + this.mSetTokenPwdBtn.setOnClickListener(this); + this.mNoSetTokenPwdBtn.setOnClickListener(this); + this.mCompleteBtn.setOnClickListener(this); + if ((ah.a().c()) || (this.mGoToLoginMsgList)) + { + this.mCompleteBtn.setVisibility(0); + this.mSetTokenPwdBtn.setVisibility(8); + this.mNoSetTokenPwdBtn.setVisibility(8); + this.mSetTokenPwdTipText.setVisibility(8); + } + for (;;) + { + AccountPageActivity.mNeedRefreshEval = true; + return; + this.mCompleteBtn.setVisibility(8); + this.mSetTokenPwdBtn.setVisibility(0); + this.mNoSetTokenPwdBtn.setVisibility(0); + this.mSetTokenPwdTipText.setVisibility(0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ModifyQQPwdActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/MyMbSubPageActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/MyMbSubPageActivity.java new file mode 100755 index 00000000000..5cdae08d12e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/MyMbSubPageActivity.java @@ -0,0 +1,342 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.DetailItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import java.util.ArrayList; +import java.util.HashMap; + +public class MyMbSubPageActivity + extends BaseActivity + implements View.OnClickListener +{ + private static final int SCENE_MB_MOBILE = 0; + private static final int SCENE_MB_QQ_TOKEN = 2; + private static final int SCENE_MB_QUESTION = 1; + private HashMap detailItemMap = new HashMap(); + private View divider; + private View divider1; + private View divider2; + private boolean fromspalsh; + private ArrayList mDetails = new ArrayList(); + private View.OnClickListener mErrorAction = new qm(this); + private ErrorView mErrorView; + private EvalAccountResult mEvalResult = null; + private RelativeLayout mFaceLayout; + private TextView mFaceTip; + private Handler mHandler = new qk(this); + private RelativeLayout mMobileLayout; + private TextView mMobileTip; + private RelativeLayout mQQTokenLayout; + private TextView mQQTokenTip; + private RelativeLayout mQuestionLayout; + private TextView mQuestionTip; + private RelativeLayout mRealNameLayout; + private TextView mRealNameTip; + private RealNameStatusResult result; + private int whichMbCase = -1; + + private void goToDifferentMbActivity(int paramInt1, MbInfoResult.MbInfoItem paramMbInfoItem, int paramInt2) + { + switch (paramInt1) + { + } + do + { + do + { + do + { + return; + } while (paramMbInfoItem.mId != 51); + e.a("setting item: name=" + paramMbInfoItem.mName + ", desc=" + paramMbInfoItem.mDesc + ", value =" + paramMbInfoItem.mValue + ", content=" + paramMbInfoItem.mContent); + if (paramMbInfoItem.mDetail.mBtnType == 1) + { + Intent localIntent = new Intent(this, UtilsModSetMobileStep1Activity.class); + localIntent.putExtra("title", getResources().getString(2131361814) + paramMbInfoItem.mName); + localIntent.putExtra("op_type", 1); + localIntent.putExtra("position", paramInt2); + startActivityForResult(localIntent, 0); + return; + } + paramMbInfoItem = new Intent(this, UtilsMbInfoItemActivity.class); + paramMbInfoItem.putExtra("position", paramInt2); + startActivityForResult(paramMbInfoItem, 0); + return; + } while (paramMbInfoItem.mId != 50); + e.a("setting item: name=" + paramMbInfoItem.mName + ", desc=" + paramMbInfoItem.mDesc + ", value =" + paramMbInfoItem.mValue + ", content=" + paramMbInfoItem.mContent); + this.detailItemMap.get(Integer.valueOf(405)); + paramMbInfoItem = new Intent(this, UtilsMbInfoItemActivity.class); + paramMbInfoItem.putExtra("position", paramInt2); + startActivityForResult(paramMbInfoItem, 0); + return; + } while (paramMbInfoItem.mId != 53); + e.a("setting item: name=" + paramMbInfoItem.mName + ", desc=" + paramMbInfoItem.mDesc + ", value =" + paramMbInfoItem.mValue + ", content=" + paramMbInfoItem.mContent); + paramMbInfoItem = new Intent(this, UtilsMbInfoItemActivity.class); + paramMbInfoItem.putExtra("position", paramInt2); + startActivityForResult(paramMbInfoItem, 0); + } + + private void initItemTipText(EvalAccountResult.DetailItem paramDetailItem, TextView paramTextView) + { + if (paramDetailItem == null) { + return; + } + Drawable localDrawable = getResources().getDrawable(2130837540); + localDrawable.setBounds(0, 0, localDrawable.getMinimumWidth(), localDrawable.getMinimumHeight()); + paramTextView.setCompoundDrawables(null, null, localDrawable, null); + paramTextView.setText(paramDetailItem.mDesc); + if (paramDetailItem.mDegree == 1) + { + paramDetailItem = getResources().getDrawable(2130837509); + paramDetailItem.setBounds(0, 0, paramDetailItem.getMinimumWidth(), paramDetailItem.getMinimumHeight()); + paramTextView.setCompoundDrawables(paramDetailItem, null, localDrawable, null); + paramTextView.setTextColor(getResources().getColor(2131165344)); + return; + } + if (paramDetailItem.mDegree == 2) + { + paramDetailItem = getResources().getDrawable(2130837510); + paramDetailItem.setBounds(0, 0, paramDetailItem.getMinimumWidth(), paramDetailItem.getMinimumHeight()); + paramTextView.setCompoundDrawables(paramDetailItem, null, localDrawable, null); + paramTextView.setTextColor(getResources().getColor(2131165345)); + return; + } + paramTextView.setTextColor(getResources().getColor(2131165335)); + } + + private void initView(ArrayList paramArrayList) + { + if ((paramArrayList == null) || (paramArrayList.size() == 0)) { + return; + } + this.detailItemMap.clear(); + int i = 0; + while (i < paramArrayList.size()) + { + this.detailItemMap.put(Integer.valueOf(((EvalAccountResult.DetailItem)paramArrayList.get(i)).mRecommendId), paramArrayList.get(i)); + i += 1; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(401)), this.mFaceTip); + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(404)), this.mMobileTip); + if (this.detailItemMap.get(Integer.valueOf(403)) != null) + { + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(403)), this.mRealNameTip); + if (this.detailItemMap.get(Integer.valueOf(405)) == null) { + break label253; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(405)), this.mQuestionTip); + } + for (;;) + { + if (this.detailItemMap.get(Integer.valueOf(406)) == null) { + break label274; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(406)), this.mQQTokenTip); + return; + this.mRealNameLayout.setVisibility(8); + this.divider.setVisibility(8); + break; + label253: + this.mQuestionLayout.setVisibility(8); + this.divider1.setVisibility(8); + } + label274: + this.mQQTokenLayout.setVisibility(8); + this.divider2.setVisibility(8); + } + + private void selectView(d paramd, Message paramMessage) + { + if ((paramd != null) && (paramMessage != null) && (paramMessage.arg1 != 110)) + { + e.c("----result.mErrCode: " + paramd.a); + e.c("----result.mErrDebug: " + paramd.b); + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + this.mErrorView.a(this.mErrorAction); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramd.a); + this.mErrorView.setTag(Integer.valueOf(paramMessage.what)); + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + setRightTitleImageHide(); + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt1 == 0) + { + af.a().d(0L, this.mHandler); + showUserDialog(12); + } + } + + public void onBackPressed() + { + if (this.fromspalsh) + { + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.putExtra("index_from", 16); + startActivity(localIntent); + } + finish(); + } + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + case 2131296838: + case 2131296840: + case 2131296842: + case 2131296844: + default: + return; + case 2131296837: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 19, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 20, 1); + return; + } + if (ax.a().j()) + { + startActivityForResult(new Intent(this, FaceRecognitionDefaultActivity.class), 0); + return; + } + startActivityForResult(new Intent(this, FaceRecognitionCreateActivity.class), 0); + return; + case 2131296839: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 19, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 21, 1); + return; + } + af.a().l(0L, this.mHandler); + showProDialog(this, 2131361808, 2131362203, null); + return; + case 2131296841: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 19, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 19, 1); + return; + } + this.whichMbCase = 0; + af.a().e(0L, this.mHandler); + showProDialog(this, 2131361808, 2131361816, null); + return; + case 2131296843: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 19, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 23, 1); + return; + } + this.whichMbCase = 1; + af.a().e(0L, this.mHandler); + showProDialog(this, 2131361808, 2131361816, null); + return; + } + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 19, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 22, 1); + return; + } + this.whichMbCase = 2; + af.a().e(0L, this.mHandler); + showProDialog(this, 2131361808, 2131361816, null); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mDetails = ((ArrayList)getIntent().getSerializableExtra("detailItems")); + if ((this.mDetails == null) || (this.mDetails.size() == 0)) + { + af.a().d(0L, this.mHandler); + showUserDialog(12); + } + this.fromspalsh = getIntent().getBooleanExtra("fromspalsh", false); + setContentView(2130903143); + this.mFaceLayout = ((RelativeLayout)findViewById(2131296837)); + this.mRealNameLayout = ((RelativeLayout)findViewById(2131296839)); + this.mMobileLayout = ((RelativeLayout)findViewById(2131296841)); + this.mQuestionLayout = ((RelativeLayout)findViewById(2131296843)); + this.mQQTokenLayout = ((RelativeLayout)findViewById(2131296845)); + this.mFaceLayout.setOnClickListener(this); + this.mRealNameLayout.setOnClickListener(this); + this.mMobileLayout.setOnClickListener(this); + this.mQuestionLayout.setOnClickListener(this); + this.mQQTokenLayout.setOnClickListener(this); + this.mFaceTip = ((TextView)findViewById(2131296838)); + this.mRealNameTip = ((TextView)findViewById(2131296840)); + this.mMobileTip = ((TextView)findViewById(2131296842)); + this.mQuestionTip = ((TextView)findViewById(2131296844)); + this.mQQTokenTip = ((TextView)findViewById(2131296846)); + this.divider = findViewById(2131296550); + this.divider1 = findViewById(2131296788); + this.divider2 = findViewById(2131296555); + initView(this.mDetails); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ql(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.MyMbSubPageActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/MyProtecSubPageActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/MyProtecSubPageActivity.java new file mode 100755 index 00000000000..819de65b71e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/MyProtecSubPageActivity.java @@ -0,0 +1,339 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.DetailItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.ErrorView; +import java.util.ArrayList; +import java.util.HashMap; + +public class MyProtecSubPageActivity + extends BaseActivity + implements View.OnClickListener +{ + private Button btn_return; + private HashMap detailItemMap = new HashMap(); + private View divider1; + private View divider2; + private View divider3; + private View divider4; + private LinearLayout loginLayout; + private RelativeLayout mAccountLockLayout; + private TextView mAccountLockTip; + private ArrayList mDetails = new ArrayList(); + private View.OnClickListener mErrorAction = new qp(this); + private ErrorView mErrorView; + private EvalAccountResult mEvalResult = null; + private RelativeLayout mGameLockLayout; + private TextView mGameLockTip; + private RelativeLayout mGameProtecLayout; + private TextView mGameProtecTip; + private Handler mHandler = new qn(this); + private int mLockCount = 0; + private LinearLayout mLockLayout; + private RelativeLayout mMailProtecLayout; + private TextView mMailProtecTip; + private int mProtectCount = 0; + private RelativeLayout mQBProtecLayout; + private TextView mQBProtecTip; + private RelativeLayout mQQProtecLayout; + private TextView mQQProtecTip; + private LinearLayout noLoginLayout; + private TextView noLoginTipTextView; + + private void initItemTipText(EvalAccountResult.DetailItem paramDetailItem, TextView paramTextView) + { + if (paramDetailItem == null) { + return; + } + Drawable localDrawable = getResources().getDrawable(2130837540); + localDrawable.setBounds(0, 0, localDrawable.getMinimumWidth(), localDrawable.getMinimumHeight()); + paramTextView.setCompoundDrawables(null, null, localDrawable, null); + paramTextView.setText(paramDetailItem.mDesc); + if (paramDetailItem.mDegree == 1) + { + paramDetailItem = getResources().getDrawable(2130837509); + paramDetailItem.setBounds(0, 0, paramDetailItem.getMinimumWidth(), paramDetailItem.getMinimumHeight()); + paramTextView.setCompoundDrawables(paramDetailItem, null, localDrawable, null); + paramTextView.setTextColor(getResources().getColor(2131165344)); + return; + } + paramTextView.setTextColor(getResources().getColor(2131165335)); + } + + private void initView(ArrayList paramArrayList) + { + if ((paramArrayList == null) || (paramArrayList.size() == 0)) + { + this.loginLayout.setVisibility(8); + this.noLoginLayout.setVisibility(0); + this.noLoginTipTextView = ((TextView)findViewById(2131296735)); + this.noLoginTipTextView.setText(getResources().getString(2131362315)); + this.btn_return = ((Button)findViewById(2131296848)); + this.btn_return.setOnClickListener(new qo(this)); + } + label312: + label352: + label613: + label634: + do + { + return; + this.noLoginLayout.setVisibility(8); + this.loginLayout.setVisibility(0); + this.detailItemMap.clear(); + this.mProtectCount = 0; + this.mLockCount = 0; + int i = 0; + while (i < paramArrayList.size()) + { + this.detailItemMap.put(Integer.valueOf(((EvalAccountResult.DetailItem)paramArrayList.get(i)).mRecommendId), paramArrayList.get(i)); + i += 1; + } + if (this.detailItemMap.get(Integer.valueOf(305)) != null) { + this.mLockCount += 1; + } + if (this.detailItemMap.get(Integer.valueOf(306)) != null) { + this.mLockCount += 1; + } + this.mProtectCount = (this.detailItemMap.size() - this.mLockCount); + if (this.detailItemMap.get(Integer.valueOf(302)) != null) + { + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(302)), this.mGameProtecTip); + if (this.detailItemMap.get(Integer.valueOf(303)) == null) { + break label550; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(303)), this.mMailProtecTip); + if (this.detailItemMap.get(Integer.valueOf(301)) == null) { + break label571; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(301)), this.mQQProtecTip); + if (this.detailItemMap.get(Integer.valueOf(304)) == null) { + break label592; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(304)), this.mQBProtecTip); + if (this.detailItemMap.get(Integer.valueOf(305)) == null) { + break label613; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(305)), this.mAccountLockTip); + if (this.detailItemMap.get(Integer.valueOf(306)) == null) { + break label634; + } + initItemTipText((EvalAccountResult.DetailItem)this.detailItemMap.get(Integer.valueOf(306)), this.mGameLockTip); + } + for (;;) + { + if ((this.mAccountLockLayout.getVisibility() != 0) && (this.mGameLockLayout.getVisibility() != 0)) { + this.mLockLayout.setVisibility(8); + } + if ((this.mProtectCount != 1) || (this.mQQProtecLayout.getVisibility() != 0)) { + break label655; + } + this.divider1.setVisibility(8); + return; + this.mGameProtecLayout.setVisibility(8); + this.divider2.setVisibility(8); + break; + this.mMailProtecLayout.setVisibility(8); + this.divider3.setVisibility(8); + break label312; + this.mQQProtecLayout.setVisibility(8); + this.divider1.setVisibility(8); + break label352; + this.mQBProtecLayout.setVisibility(8); + this.divider3.setVisibility(8); + break label392; + this.mAccountLockLayout.setVisibility(8); + this.divider4.setVisibility(8); + break label432; + this.mGameLockLayout.setVisibility(8); + this.divider4.setVisibility(8); + } + } while ((this.mProtectCount != 2) || (this.mQQProtecLayout.getVisibility() != 0) || (this.mGameProtecLayout.getVisibility() != 0)); + label392: + label432: + label571: + label592: + this.divider2.setVisibility(8); + label550: + } + + private void selectView(d paramd, Message paramMessage) + { + if ((paramd != null) && (paramMessage != null) && (paramMessage.arg1 != 110)) + { + e.c("----result.mErrCode: " + paramd.a); + e.c("----result.mErrDebug: " + paramd.b); + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + this.mErrorView.a(this.mErrorAction); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramd.a); + this.mErrorView.setTag(Integer.valueOf(paramMessage.what)); + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + setRightTitleImageHide(); + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt1 == 0) + { + af.a().d(0L, this.mHandler); + showUserDialog(12); + } + } + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + case 2131296851: + case 2131296853: + case 2131296855: + case 2131296857: + case 2131296858: + case 2131296860: + case 2131296861: + default: + return; + case 2131296850: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 12, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 12, 1); + return; + } + startActivityForResult(new Intent(this, UtilsLoginProtectActivity.class), 0); + return; + case 2131296852: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 15, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 15, 1); + return; + } + p.a().a(System.currentTimeMillis(), 75); + startActivityForResult(new Intent(this, UtilsGameProtectActivity.class), 0); + return; + case 2131296854: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 8, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 8, 1); + return; + } + startActivityForResult(new Intent(this, UtilsMailProtectActivity.class), 0); + return; + case 2131296856: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 9, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 9, 1); + return; + } + startActivityForResult(new Intent(this, UtilsQbQdProtectActivity.class), 0); + return; + case 2131296859: + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 11, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 11, 1); + return; + } + startActivityForResult(new Intent(this, UtilsAccountLockActivity.class), 0); + return; + } + if (ax.a().e() == null) + { + showNoAccountTipDialog(this, 15, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 15, 1); + return; + } + startActivityForResult(new Intent(this, UtilsGameLockActivity.class), 0); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mDetails = ((ArrayList)getIntent().getSerializableExtra("detailItems")); + setContentView(2130903144); + this.noLoginLayout = ((LinearLayout)findViewById(2131296847)); + this.loginLayout = ((LinearLayout)findViewById(2131296849)); + this.mQQProtecLayout = ((RelativeLayout)findViewById(2131296850)); + this.mGameProtecLayout = ((RelativeLayout)findViewById(2131296852)); + this.mMailProtecLayout = ((RelativeLayout)findViewById(2131296854)); + this.mQBProtecLayout = ((RelativeLayout)findViewById(2131296856)); + this.mAccountLockLayout = ((RelativeLayout)findViewById(2131296859)); + this.mGameLockLayout = ((RelativeLayout)findViewById(2131296862)); + this.mQQProtecTip = ((TextView)findViewById(2131296851)); + this.mGameProtecTip = ((TextView)findViewById(2131296853)); + this.mMailProtecTip = ((TextView)findViewById(2131296855)); + this.mQBProtecTip = ((TextView)findViewById(2131296857)); + this.mAccountLockTip = ((TextView)findViewById(2131296860)); + this.mGameLockTip = ((TextView)findViewById(2131296863)); + this.mQQProtecLayout.setOnClickListener(this); + this.mGameProtecLayout.setOnClickListener(this); + this.mMailProtecLayout.setOnClickListener(this); + this.mQBProtecLayout.setOnClickListener(this); + this.mAccountLockLayout.setOnClickListener(this); + this.mGameLockLayout.setOnClickListener(this); + this.mLockLayout = ((LinearLayout)findViewById(2131296858)); + this.divider1 = findViewById(2131296788); + this.divider2 = findViewById(2131296555); + this.divider3 = findViewById(2131296795); + this.divider4 = findViewById(2131296861); + initView(this.mDetails); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.MyProtecSubPageActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/MyPswSubPageActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/MyPswSubPageActivity.java new file mode 100755 index 00000000000..41de4080e7e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/MyPswSubPageActivity.java @@ -0,0 +1,128 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.DetailItem; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import java.util.ArrayList; + +public class MyPswSubPageActivity + extends BaseActivity +{ + public static int[] mIconStatus = { 2130837761, 2130837763, 2130837762 }; + private boolean isNeedRefresh = false; + private EvalAccountResult.DetailItem mAbnormalPswDetail; + private ArrayList mDetails = new ArrayList(); + private View.OnClickListener mErrorAction = new qt(this); + private ErrorView mErrorView; + private EvalAccountResult mEvalResult = null; + private Handler mHandler = new qq(this); + private Button mPswBtn; + private EvalAccountResult.DetailItem mPswDetail; + private ImageView mPswIv; + private TextView mPswTip; + private TextView mPswTipDetail; + private TextView mPswTitle; + + private void initView(ArrayList paramArrayList) + { + if ((paramArrayList == null) || (paramArrayList.size() == 0)) { + return; + } + int i = 0; + while (i < paramArrayList.size()) + { + if (((EvalAccountResult.DetailItem)paramArrayList.get(i)).mRecommendId == 201) { + this.mPswDetail = ((EvalAccountResult.DetailItem)paramArrayList.get(i)); + } + if (((EvalAccountResult.DetailItem)paramArrayList.get(i)).mRecommendId == 202) { + this.mAbnormalPswDetail = ((EvalAccountResult.DetailItem)paramArrayList.get(i)); + } + i += 1; + } + if (this.mPswDetail == null) + { + finish(); + return; + } + if (this.mPswDetail != null) + { + this.mPswTitle.setText(this.mPswDetail.mTitle); + this.mPswTip.setText(this.mPswDetail.mDesc); + this.mPswIv.setImageDrawable(getResources().getDrawable(mIconStatus[this.mPswDetail.mDegree])); + if (this.mAbnormalPswDetail != null) + { + this.mPswTip.setText(this.mAbnormalPswDetail.mDesc + ", "); + this.mPswTipDetail.setVisibility(0); + this.mPswTipDetail.setOnClickListener(new qr(this)); + } + } + this.mPswBtn.setOnClickListener(new qs(this)); + } + + private void selectView(d paramd, Message paramMessage) + { + if ((paramd != null) && (paramMessage != null) && (paramMessage.arg1 != 110)) + { + e.c("----result.mErrCode: " + paramd.a); + e.c("----result.mErrDebug: " + paramd.b); + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + this.mErrorView.a(this.mErrorAction); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramd.a); + this.mErrorView.setTag(Integer.valueOf(paramMessage.what)); + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + setRightTitleImageHide(); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903145); + this.mDetails = ((ArrayList)getIntent().getSerializableExtra("detailItems")); + this.mPswIv = ((ImageView)findViewById(2131296864)); + this.mPswTitle = ((TextView)findViewById(2131296865)); + this.mPswTip = ((TextView)findViewById(2131296867)); + this.mPswBtn = ((Button)findViewById(2131296869)); + this.mPswTipDetail = ((TextView)findViewById(2131296868)); + initView(this.mDetails); + } + + protected void onPause() + { + super.onPause(); + this.isNeedRefresh = true; + } + + protected void onResume() + { + super.onResume(); + if (this.isNeedRefresh) + { + af.a().d(0L, this.mHandler); + showUserDialog(12); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.MyPswSubPageActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveSetDirBySeqActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveSetDirBySeqActivity.java new file mode 100755 index 00000000000..ec727b3cd2b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveSetDirBySeqActivity.java @@ -0,0 +1,204 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.e; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class NetActiveSetDirBySeqActivity + extends BaseActivity +{ + private int bindType; + private View.OnClickListener mBindButtonListener = new ra(this); + private View.OnClickListener mButtonListener = new qx(this); + private View.OnClickListener mCompleteButtonListener = new qv(this); + private String mCountryCode = "+86"; + private int mCountryIndex = -1; + private View.OnClickListener mCountryListener = new qw(this); + private TextView mCountry_name; + private TextView mCountry_number; + private Dialog mDialog; + UserTask mDnaBindTask = null; + private Handler mHandler = new qu(this); + private boolean mIsActiveSuccess = false; + private String mMobile = ""; + private EditText mMobileText; + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + private View mcountry; + + private void displayBindSuccess(boolean paramBoolean) + { + ag.c().i(); + Object localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + int i; + if (this.mUpDetermin.mHaveMobile == 1) + { + i = 1; + if (i != 0) { + break label251; + } + if (!paramBoolean) { + break label242; + } + setContentView(2130903052); + label64: + setTitle(2131361842); + this.mBackArrow.setVisibility(4); + ax.a().f(Long.parseLong((String)localObject)); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + if (this.mUpDetermin.mHaveMobile != 1) { + break label260; + } + i = 1; + label158: + if (i == 0) + { + localObject = (TextView)findViewById(2131296402); + if (!paramBoolean) { + break label265; + } + String str = getString(2131361843) + " "; + ((TextView)localObject).setText(str + this.mMobile); + } + } + for (;;) + { + a.a().a(8); + return; + i = 0; + break; + label242: + setContentView(2130903051); + break label64; + label251: + setContentView(2130903050); + break label64; + label260: + i = 0; + break label158; + label265: + ((Button)findViewById(2131296403)).setOnClickListener(this.mBindButtonListener); + ((TextView)localObject).setText(getResources().getString(2131361832)); + } + } + + private void init() + { + findViewById(2131296656).setOnClickListener(this.mButtonListener); + this.mMobileText = ((EditText)findViewById(2131296655)); + if (this.mMobileText != null) { + this.mMobileText.clearFocus(); + } + this.mcountry = findViewById(2131296651); + this.mcountry.setOnClickListener(this.mCountryListener); + this.mCountry_name = ((TextView)findViewById(2131296652)); + this.mCountry_number = ((TextView)findViewById(2131296654)); + this.mIsActiveSuccess = false; + if ((this.mUpDetermin.a() != 2) && (this.mUpDetermin.a() != 3)) { + finish(); + } + } + + public void cancelRequest() + { + af.a().a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt2 == 0) { + return; + } + if (paramInt2 == 1111) {} + for (paramIntent = "+1";; paramIntent = "+" + paramInt2) + { + this.mCountryCode = paramIntent; + this.mCountryIndex = paramInt2; + s.a(paramInt2, this.mCountry_name, this.mCountry_number); + return; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + this.bindType = getIntent().getIntExtra("bindType", 2); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + setContentView(2130903105); + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + finish(); + } + + protected void onPause() + { + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NetActiveSetDirBySeqActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryMobileNoSmsActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryMobileNoSmsActivity.java new file mode 100755 index 00000000000..a2a44ce81ef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryMobileNoSmsActivity.java @@ -0,0 +1,327 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.telephony.SmsMessage; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.e; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class NetActiveVryMobileNoSmsActivity + extends BaseActivity +{ + private final int INTERVAL_TIME_AFTER_GET_SMS_1 = 60; + private final int INTERVAL_TIME_AFTER_GET_SMS_2 = 99; + private final int MSG_LOADING = 100; + private final String RECEIVE_SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED"; + private final int SMS_INTERVAL = 3000; + private final int UPDATE_TIME = -100; + private View.OnClickListener mBindTokenListener = new rh(this); + private int mCGISendSMSCount = 0; + private View.OnClickListener mCancelButtonListener = new re(this); + private View.OnClickListener mCompleteButtonListener = new rd(this); + private View.OnClickListener mConfirmSendSmsListener = new rf(this); + Handler mHandler = new ri(this); + private int mIntervalTime = 0; + private boolean mIsActiveSuccess = false; + private boolean mIsAutoSumbit = false; + private boolean mIsSMSRegisted = false; + private int mPageId; + private View.OnClickListener mReSendButtonListener = new rg(this); + private BroadcastReceiver mSMSReceiver = new rb(this); + private af mTokenCore = af.a(); + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + + private void checkAndGetSMS(boolean paramBoolean) + { + e.a("interval: " + this.mIntervalTime + " count: " + this.mCGISendSMSCount); + if (this.mIntervalTime > 0) { + return; + } + if (paramBoolean) + { + Intent localIntent = new Intent(this, NetActiveVryOtherListActivity.class); + localIntent.putExtra("page_id", this.mPageId); + localIntent.putExtra("intent.qquser", this.mUser); + localIntent.putExtra("intent.upgradedetermin", this.mUpDetermin); + startActivity(localIntent); + finish(); + return; + } + getSMS(); + } + + private SmsMessage[] getMessage(Intent paramIntent) + { + paramIntent = (Object[])paramIntent.getSerializableExtra("pdus"); + if (paramIntent == null) { + return null; + } + int j = paramIntent.length; + SmsMessage[] arrayOfSmsMessage = new SmsMessage[j]; + int i = 0; + while (i < j) + { + arrayOfSmsMessage[i] = SmsMessage.createFromPdu((byte[])paramIntent[i]); + i += 1; + } + return arrayOfSmsMessage; + } + + private void getSMS() + { + this.mCGISendSMSCount += 1; + if (1 == this.mCGISendSMSCount) {} + for (this.mIntervalTime = 60;; this.mIntervalTime = 99) + { + updateIntervalTimer(); + this.mTokenCore.f(this.mUser.mRealUin, this.mHandler); + return; + } + } + + private void hideKeyBoard() + { + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + } + + private void init() + { + setTitle(2131362363); + String str = this.mUpDetermin.mMobileMask; + if ((str == null) || (str.length() == 0)) + { + finish(); + return; + } + ((Button)findViewById(2131296442)).setOnClickListener(this.mConfirmSendSmsListener); + Button localButton = (Button)findViewById(2131296443); + localButton.setOnClickListener(this.mCancelButtonListener); + localButton.setText(2131361824); + ((TextView)findViewById(2131296882)).setText(2131361819); + ((TextView)findViewById(2131296440)).setText(str); + } + + private void initSMS() + { + Button localButton = (Button)findViewById(2131296887); + Object localObject = (EditText)findViewById(2131296886); + if (localObject != null) { + ((EditText)localObject).clearFocus(); + } + String str = getResources().getString(2131361823) + "\n("; + localObject = str; + if (this.mIntervalTime < 10) { + localObject = str + "0"; + } + localButton.setText((String)localObject + this.mIntervalTime + ")"); + localButton.setTextColor(getResources().getColor(2131165197)); + localButton.setOnClickListener(this.mReSendButtonListener); + findViewById(2131296889).setOnClickListener(this.mBindTokenListener); + } + + private void registerSMSReceiver() + { + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); + registerReceiver(this.mSMSReceiver, localIntentFilter, "android.permission.RECEIVE_SMS", null); + this.mIsSMSRegisted = true; + } + + private void sendDnaBind() + { + this.mTokenCore.c(this.mUser.mRealUin, 1, "", "+86", this.mHandler); + } + + private void setActiveSucc() + { + Object localObject = ag.c(); + ((ag)localObject).i(); + ((ag)localObject).n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + ax.a().f(Long.parseLong((String)localObject)); + findViewById(2131296398).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + a.a().a(8); + } + + private void setTextFromSMS(String paramString) + { + EditText localEditText = (EditText)findViewById(2131296886); + if (localEditText != null) + { + localEditText.setText(paramString); + findViewById(2131296888).setVisibility(0); + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + this.mIsAutoSumbit = true; + localEditText.postDelayed(new rj(this, paramString), 3000L); + } + } + + private boolean setTime(long paramLong) + { + Button localButton = (Button)findViewById(2131296887); + if (paramLong <= 0L) + { + if (localButton != null) + { + localButton.setTextColor(getResources().getColor(2131165192)); + localButton.setText(2131361823); + localButton.setTextSize(0, getResources().getDimensionPixelSize(2131230731)); + } + return false; + } + String str2 = getResources().getString(2131361823) + "\n("; + String str1 = str2; + if (this.mIntervalTime < 10) { + str1 = str2 + "0"; + } + str1 = str1 + this.mIntervalTime + ")"; + if (localButton != null) + { + localButton.setText(str1); + localButton.setTextColor(getResources().getColor(2131165197)); + localButton.setTextSize(0, getResources().getDimensionPixelSize(2131230728)); + } + return true; + } + + private void showBindFailDialog(String paramString) + { + showUserDialog(2131361831, paramString, 2131361800, new rk(this)); + } + + private void showKeyBoard(View paramView) + { + ((InputMethodManager)getSystemService("input_method")).showSoftInput(paramView, 1); + } + + private void showMobileFreqFail(String paramString) + { + showUserDialog(2131361808, paramString, 2131361800, new rc(this)); + } + + private void unregisterSMSReceiver() + { + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + private void updateIntervalTimer() + { + this.mIntervalTime -= 1; + if (setTime(this.mIntervalTime)) { + this.mHandler.sendEmptyMessageDelayed(-100, 1000L); + } + } + + private void vrySmsCode(String paramString) + { + this.mTokenCore.c(this.mUser.mRealUin, paramString, this.mHandler); + } + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + this.mPageId = getIntent().getIntExtra("page_id", 0); + setContentView(2130903147); + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mHandler != null) { + this.mHandler.removeMessages(-100); + } + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + protected void onPause() + { + super.onPause(); + e.a("pause"); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NetActiveVryMobileNoSmsActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryOtherListActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryOtherListActivity.java new file mode 100755 index 00000000000..666950dc83a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryOtherListActivity.java @@ -0,0 +1,178 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.text.SpannableString; +import android.text.method.LinkMovementMethod; +import android.text.style.ForegroundColorSpan; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnTouchListener; +import android.view.WindowManager; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +public class NetActiveVryOtherListActivity + extends BaseActivity +{ + private int mPageId; + private View.OnClickListener mSelectMobileListener = new rm(this); + private View.OnClickListener mSelectQQTokenListener = new rn(this); + private View.OnClickListener mSelectQuesListener = new rl(this); + private View.OnClickListener mSelectSkipListener = new ro(this); + private View.OnTouchListener mTouchListener = new rp(this); + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + + private void init() + { + int j = 1; + Object localObject1 = (RelativeLayout)findViewById(2131296871); + RelativeLayout localRelativeLayout1 = (RelativeLayout)findViewById(2131296874); + RelativeLayout localRelativeLayout2 = (RelativeLayout)findViewById(2131296877); + View localView1 = findViewById(2131296880); + View localView2 = findViewById(2131296870); + Object localObject2 = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics((DisplayMetrics)localObject2); + localObject2 = (TextView)findViewById(2131296593); + int k; + int m; + if (this.mUpDetermin.mHaveMobile == 1) + { + k = 1; + if (this.mUpDetermin.mQqtokenAppear != 1) { + break label150; + } + m = 1; + label112: + if (this.mUpDetermin.mQuesAppear != 1) { + break label156; + } + } + label150: + label156: + for (int n = 1;; n = 0) + { + if ((k != 0) || (m != 0) || (n != 0)) { + break label162; + } + finish(); + return; + k = 0; + break; + m = 0; + break label112; + } + label162: + if (k != 0) {} + for (;;) + { + int i = j; + if (m != 0) { + i = j + 1; + } + j = i; + if (n != 0) { + j = i + 1; + } + switch (j) + { + } + for (;;) + { + ((RelativeLayout)localObject1).setOnTouchListener(this.mTouchListener); + ((RelativeLayout)localObject1).setOnClickListener(this.mSelectMobileListener); + localRelativeLayout1.setOnTouchListener(this.mTouchListener); + localRelativeLayout1.setOnClickListener(this.mSelectQQTokenListener); + localRelativeLayout2.setOnTouchListener(this.mTouchListener); + localRelativeLayout2.setOnClickListener(this.mSelectQuesListener); + localView1.setOnClickListener(this.mSelectSkipListener); + setTitle(2131362363); + setRightTitleImage(2130837951, new rq(this)); + if (this.mPageId != 7) { + break; + } + localView1.setVisibility(4); + ((TextView)localObject2).setVisibility(0); + localObject1 = new SpannableString(getResources().getString(2131362360)); + ((SpannableString)localObject1).setSpan(new rr(this), 24, 28, 33); + ((SpannableString)localObject1).setSpan(new ForegroundColorSpan(getResources().getColor(2131165336)), 24, 28, 33); + ((TextView)localObject2).setText((CharSequence)localObject1); + ((TextView)localObject2).setMovementMethod(LinkMovementMethod.getInstance()); + ((TextView)localObject2).setHighlightColor(0); + return; + if (k != 0) + { + if (m != 0) { + localRelativeLayout2.setVisibility(8); + } else { + localRelativeLayout1.setVisibility(8); + } + } + else + { + ((RelativeLayout)localObject1).setVisibility(8); + continue; + if (k != 0) + { + localRelativeLayout1.setVisibility(8); + localRelativeLayout2.setVisibility(8); + } + if (m != 0) + { + ((RelativeLayout)localObject1).setVisibility(8); + localRelativeLayout2.setVisibility(8); + } + if (n != 0) + { + ((RelativeLayout)localObject1).setVisibility(8); + localRelativeLayout1.setVisibility(8); + continue; + localView2.setVisibility(8); + ((RelativeLayout)localObject1).setVisibility(8); + localRelativeLayout1.setVisibility(8); + localRelativeLayout2.setVisibility(8); + } + } + } + j = 0; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903146); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + this.mPageId = getIntent().getIntExtra("page_id", 0); + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + finish(); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NetActiveVryOtherListActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQQTokenActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQQTokenActivity.java new file mode 100755 index 00000000000..12665852541 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQQTokenActivity.java @@ -0,0 +1,228 @@ +package com.tencent.token.ui; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.e; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class NetActiveVryQQTokenActivity + extends BaseActivity +{ + private AlarmManager mAlarmMgr = null; + private View.OnClickListener mBindButtonListener = new ru(this); + private View.OnClickListener mCompleteButtonListener = new rt(this); + private View.OnClickListener mConfirmMobileButtonListener = new rv(this); + private String mCountryCode = "+86"; + private View.OnClickListener mCountryListener = new rw(this); + private TextView mCountry_name; + private TextView mCountry_number; + private Handler mHandler = new rs(this); + private boolean mIsActiveSuccess = false; + private String mMobile = ""; + private EditText mMobileText; + private PendingIntent mPending = null; + private af mTokenCore = af.a(); + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + private View.OnClickListener mVryQQTokenButtonListener = new rx(this); + private View mcountry; + + private void hideKeyBoard() + { + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + } + + private void init() + { + int i = 1; + findViewById(2131296442).setOnClickListener(this.mVryQQTokenButtonListener); + this.mIsActiveSuccess = false; + setTitle(2131362363); + if (this.mUpDetermin.mQqtokenAppear == 1) {} + for (;;) + { + if (i == 0) { + finish(); + } + return; + i = 0; + } + } + + private void sendDnaBind() + { + this.mTokenCore.c(this.mUser.mRealUin, 1, this.mMobile, this.mCountryCode, this.mHandler); + } + + private void setActiveSucc(boolean paramBoolean) + { + Object localObject = ag.c(); + ((ag)localObject).i(); + ((ag)localObject).n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + int i; + if (this.mUpDetermin.mHaveMobile == 1) + { + i = 1; + if (i != 0) { + break label265; + } + if (!paramBoolean) { + break label255; + } + setContentView(2130903052); + label70: + this.mBackArrow.setVisibility(4); + ax.a().f(Long.parseLong((String)localObject)); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + if (this.mUpDetermin.mHaveMobile != 1) { + break label275; + } + i = 1; + label168: + if (i == 0) + { + localObject = (TextView)findViewById(2131296402); + if (!paramBoolean) { + break label280; + } + String str = getString(2131361843) + " "; + ((TextView)localObject).setText(str + this.mMobile); + } + } + for (;;) + { + a.a().a(8); + return; + i = 0; + break; + label255: + setContentView(2130903051); + break label70; + label265: + setContentView(2130903050); + break label70; + label275: + i = 0; + break label168; + label280: + ((Button)findViewById(2131296403)).setOnClickListener(this.mBindButtonListener); + ((TextView)localObject).setText(getResources().getString(2131361832)); + } + } + + private void showKeyBoard(View paramView) + { + ((InputMethodManager)getSystemService("input_method")).showSoftInput(paramView, 1); + } + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt2 == 0) { + return; + } + if (paramInt2 == 1111) {} + for (paramIntent = "+1";; paramIntent = "+" + paramInt2) + { + this.mCountryCode = paramIntent; + s.a(paramInt2, this.mCountry_name, this.mCountry_number); + return; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903149); + paramBundle = (EditText)findViewById(2131296891); + if (paramBundle != null) { + paramBundle.clearFocus(); + } + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + finish(); + } + + protected void onPause() + { + super.onPause(); + if (this.mAlarmMgr != null) { + this.mAlarmMgr.cancel(this.mPending); + } + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NetActiveVryQQTokenActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQuesActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQuesActivity.java new file mode 100755 index 00000000000..16e717a6ab3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NetActiveVryQuesActivity.java @@ -0,0 +1,346 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnFocusChangeListener; +import android.view.Window; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.bean.UpgradeDeterminResult.QuesInfoItem; +import com.tencent.token.global.e; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.widget.InputMethodRelativeLayout; +import java.util.List; + +public class NetActiveVryQuesActivity + extends BaseActivity + implements View.OnFocusChangeListener +{ + private final int CHECK_TYPE_CORRECT = 1; + private final int CHECK_TYPE_NULL = 4; + private final int CHECK_TYPE_OTHER = 3; + private final int CHECK_TYPE_SPACE = 2; + private String[] mAnswer = new String[3]; + private View.OnClickListener mBindButtonListener = new sd(this); + private View.OnClickListener mCompleteButtonListener = new rz(this); + Button mConfirmBtn; + private View.OnClickListener mConfirmMobileButtonListener = new sa(this); + private View.OnClickListener mConfirmQuesButtonListener = new sc(this); + private String mCountryCode = "+86"; + private View.OnClickListener mCountryListener = new sb(this); + private TextView mCountry_name; + private TextView mCountry_number; + private Handler mHandler = new ry(this); + private boolean mIsActiveSuccess = false; + private String mMobile = ""; + private EditText mMobileText; + InputMethodRelativeLayout mRootLayout; + View mScrollAreaLayout; + private boolean mText1HasFocus; + private af mTokenCore = af.a(); + private int[] mType = new int[3]; + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + private View mcountry; + private int originBtnY; + private int originH; + private int originLayoutY; + + private int checkDate(String paramString) + { + int j = 3; + int i = j; + if (paramString.matches("^\\d{8}$")) + { + int k = Integer.parseInt(paramString.substring(0, 4)); + int m = Integer.parseInt(paramString.substring(4, 6)); + int n = Integer.parseInt(paramString.substring(6, 8)); + i = j; + if (k < 2100) + { + i = j; + if (k > 1900) + { + i = j; + if (m > 0) + { + i = j; + if (m < 13) + { + i = j; + if (n > 0) + { + i = j; + if (n < 32) { + i = 1; + } + } + } + } + } + } + } + return i; + } + + private int checkName(String paramString) + { + if (paramString.matches("^[一-龥]{1,30}|[A-Za-z ]{2,60}$")) { + return 1; + } + return 3; + } + + private int checkNumber(String paramString) + { + if (paramString.matches("^\\d{2,16}$")) { + return 1; + } + return 3; + } + + private int checkQuesAnswer(String paramString, int paramInt) + { + if ((paramString == null) || (paramString.length() == 0)) { + return 4; + } + if (paramString.matches("^\\s+.*|.*\\s+$")) { + return 2; + } + switch (paramInt) + { + default: + return 1; + case 0: + return checkNumber(paramString); + case 1: + return checkName(paramString); + } + return checkDate(paramString); + } + + private void init() + { + if (this.mUpDetermin.mQuesAppear == 1) {} + for (int i = 1; i == 0; i = 0) + { + finish(); + return; + } + List localList = this.mUpDetermin.mQuesInfo; + if ((localList.size() != 3) || (localList == null)) { + e.c("Ques Info err, question size = " + localList.size()); + } + this.mConfirmBtn = ((Button)findViewById(2131296900)); + this.mConfirmBtn.setOnClickListener(this.mConfirmQuesButtonListener); + this.mRootLayout = ((InputMethodRelativeLayout)findViewById(2131296892)); + this.mScrollAreaLayout = findViewById(2131296815); + this.mRootLayout.a = new se(this); + TextView localTextView1 = (TextView)findViewById(2131296894); + TextView localTextView2 = (TextView)findViewById(2131296896); + TextView localTextView3 = (TextView)findViewById(2131296898); + String[] arrayOfString = new String[3]; + EditText[] arrayOfEditText = new EditText[3]; + arrayOfEditText[0] = ((EditText)findViewById(2131296895)); + arrayOfEditText[1] = ((EditText)findViewById(2131296897)); + arrayOfEditText[2] = ((EditText)findViewById(2131296899)); + arrayOfEditText[0].setOnFocusChangeListener(this); + arrayOfEditText[1].setOnFocusChangeListener(this); + arrayOfEditText[2].setOnFocusChangeListener(this); + i = 0; + while (i < 3) + { + UpgradeDeterminResult.QuesInfoItem localQuesInfoItem = (UpgradeDeterminResult.QuesInfoItem)localList.get(i); + arrayOfString[i] = ((UpgradeDeterminResult.QuesInfoItem)localList.get(i)).mContent; + this.mType[i] = localQuesInfoItem.mType; + if ((this.mType[i] == 0) || (this.mType[i] == 2)) { + arrayOfEditText[i].setInputType(2); + } + i += 1; + } + localTextView1.setText(getString(2131361828) + arrayOfString[0]); + localTextView2.setText(getString(2131361829) + arrayOfString[1]); + localTextView3.setText(getString(2131361830) + arrayOfString[2]); + this.mIsActiveSuccess = false; + setTitle(2131362363); + } + + private void sendDnaBind() + { + this.mTokenCore.c(this.mUser.mRealUin, 1, this.mMobile, this.mCountryCode, this.mHandler); + } + + private void setActiveSucc(boolean paramBoolean) + { + Object localObject = ag.c(); + ((ag)localObject).i(); + ((ag)localObject).n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + int i; + if (this.mUpDetermin.mHaveMobile == 1) + { + i = 1; + if (i != 0) { + break label266; + } + if (!paramBoolean) { + break label256; + } + setContentView(2130903052); + label71: + this.mBackArrow.setVisibility(4); + ax.a().f(Long.parseLong((String)localObject)); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + if (this.mUpDetermin.mHaveMobile != 1) { + break label276; + } + i = 1; + label169: + if (i == 0) + { + localObject = (TextView)findViewById(2131296402); + if (!paramBoolean) { + break label281; + } + String str = getString(2131361843) + " "; + ((TextView)localObject).setText(str + this.mMobile); + } + } + for (;;) + { + com.tencent.token.core.push.a.a().a(8); + return; + i = 0; + break; + label256: + setContentView(2130903051); + break label71; + label266: + setContentView(2130903050); + break label71; + label276: + i = 0; + break label169; + label281: + ((Button)findViewById(2131296403)).setOnClickListener(this.mBindButtonListener); + ((TextView)localObject).setText(getResources().getString(2131361832)); + } + } + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt2 == 0) { + return; + } + if (paramInt2 == 1111) {} + for (paramIntent = "+1";; paramIntent = "+" + paramInt2) + { + this.mCountryCode = paramIntent; + s.a(paramInt2, this.mCountry_name, this.mCountry_number); + return; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903150); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + e.a("NetActiveVryQuesActivity start"); + if (Build.MODEL.equals("K-Touch W619")) { + getWindow().setSoftInputMode(2); + } + for (;;) + { + init(); + return; + getWindow().setSoftInputMode(18); + } + } + + protected void onDestroy() + { + super.onDestroy(); + finish(); + } + + public void onFocusChange(View paramView, boolean paramBoolean) + { + if (paramView.getId() == 2131296895) { + this.mText1HasFocus = paramBoolean; + } + while ((paramView.getId() != 2131296897) || (!paramBoolean)) { + return; + } + this.mRootLayout.a.a(true, 0); + } + + protected void onPause() + { + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NetActiveVryQuesActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/NoCheckWithAuthActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/NoCheckWithAuthActivity.java new file mode 100755 index 00000000000..b395725e246 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/NoCheckWithAuthActivity.java @@ -0,0 +1,76 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class NoCheckWithAuthActivity + extends BaseActivity +{ + private boolean bindMobileSucc; + private boolean bindTokenSucc = false; + private View.OnClickListener mCompleteButtonListener = new si(this); + private Handler mHandler = new sf(this); + private boolean mIsActiveSuccess = false; + private UpgradeDeterminResult mUpDetermin = null; + private QQUser mUser = null; + + private void init() + { + findViewById(2131296458).setOnClickListener(new sg(this)); + findViewById(2131296459).setOnClickListener(new sh(this)); + } + + private void setActiveSucc(boolean paramBoolean) + { + ag localag = ag.c(); + localag.i(); + localag.n(); + this.mIsActiveSuccess = true; + setContentView(2130903050); + setBackArrowHide(); + setTitle(2131361842); + ax.a().f(this.mUser.mRealUin); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a(this.mUser.mRealUin + "", s.f(this.mUser.mRealUin) + " ")); + a.a().a(8); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.bindTokenSucc = getIntent().getBooleanExtra("bindTokenSucc", false); + this.bindMobileSucc = getIntent().getBooleanExtra("bindMobileSucc", false); + if (this.bindTokenSucc) + { + setActiveSucc(this.bindMobileSucc); + return; + } + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + setContentView(2130903061); + init(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.NoCheckWithAuthActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/OpMsgDisplayActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/OpMsgDisplayActivity.java new file mode 100755 index 00000000000..5ee6499c1fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/OpMsgDisplayActivity.java @@ -0,0 +1,474 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.text.Html; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup.LayoutParams; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.core.bean.SafeMsgItem.MsgAction; +import com.tencent.token.fn; +import com.tencent.token.fo; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; + +public class OpMsgDisplayActivity + extends BaseActivity +{ + public static final int MC_RECOMM_OP_ID_CHPWD = 3; + public static final int MC_RECOMM_OP_ID_DEL_MB_MBK = 9; + public static final int MC_RECOMM_OP_ID_DEL_MB_QUES = 8; + public static final int MC_RECOMM_OP_ID_GAME_PROTECT = 5; + public static final int MC_RECOMM_OP_ID_GOTO_ABNORMAL_LOGIN = 18; + public static final int MC_RECOMM_OP_ID_GOTO_ACCOUNT_PAGE = 11; + public static final int MC_RECOMM_OP_ID_GOTO_DATA = 19; + public static final int MC_RECOMM_OP_ID_GOTO_FACE_SET = 24; + public static final int MC_RECOMM_OP_ID_GOTO_GAME_LOCK = 14; + public static final int MC_RECOMM_OP_ID_GOTO_LOGIN_MSG = 15; + public static final int MC_RECOMM_OP_ID_GOTO_LOGIN_PROTECT = 20; + public static final int MC_RECOMM_OP_ID_GOTO_MAIL_PROTECT = 22; + public static final int MC_RECOMM_OP_ID_GOTO_MBINFO = 13; + public static final int MC_RECOMM_OP_ID_GOTO_MB_QQTOKEN = 12; + public static final int MC_RECOMM_OP_ID_GOTO_PHONE_CALL = 17; + public static final int MC_RECOMM_OP_ID_GOTO_QQ_LOGIN_PROTECT = 21; + public static final int MC_RECOMM_OP_ID_GOTO_REALNAME = 23; + public static final int MC_RECOMM_OP_ID_GOTO_SAFE_MSG = 16; + public static final int MC_RECOMM_OP_ID_GOTO_URL = 6; + public static final int MC_RECOMM_OP_ID_GOTO_VERIFY_PAGE = 10; + public static final int MC_RECOMM_OP_ID_LOCK_ACCOUNT = 4; + public static final int MC_RECOMM_OP_ID_NOOP = 0; + public static final int MC_RECOMM_OP_ID_SET_MB_MOBILE = 7; + public static final int MC_RECOMM_OP_ID_SET_QB_PROTTECT = 2; + private static final int MC_RECOMM_OP_ID_UNKNOW = 99; + public static final int MC_RECOMM_OP_ID_UPDATE_LOCATION = 1; + private View.OnClickListener mAbnormalModifyQQPwdListener = new tf(this); + private View.OnClickListener mAccountLockListener = new tc(this); + Button mActionButton; + fo mCache; + private View.OnClickListener mDataListener = new sp(this); + private View.OnClickListener mDelMBMBKListener = new sx(this); + private View.OnClickListener mDelMBQuesListener = new sw(this); + Button mFeedbackButton; + private View.OnClickListener mGameLockListener = new sk(this); + private View.OnClickListener mGameProtectListener = new td(this); + private View.OnClickListener mGotoAccountPageListener = new sz(this); + private View.OnClickListener mGotoQQTokenListener = new ta(this); + private View.OnClickListener mGotoUrlListener = new sn(this); + private View.OnClickListener mGotoVerifyPageListener = new sy(this); + private Handler mHandler = new sj(this); + private boolean mIpcMsg; + private boolean mIpcMsgButConfirm; + SafeMsgItem mItem; + private View.OnClickListener mLoginMsgListener = new sl(this); + private View.OnClickListener mLoginProtectListener = new sq(this); + private int mMBItemID; + private View.OnClickListener mMailProtectListener = new ss(this); + private View.OnClickListener mMibaoInfoListener = new th(this); + private View.OnClickListener mModifyQQPwdListener = new te(this); + private ImageView mMsgIcon; + TextView mMsgTips; + TextView mMsgTitle; + private int mMsgType; + private View.OnClickListener mPhoneCallListener = new so(this); + private int mPosition; + private View.OnClickListener mQQLoginProtectListener = new sr(this); + private View.OnClickListener mQbQdProtectListener = new tg(this); + private View.OnClickListener mRealNameListener = new st(this); + private View.OnClickListener mSafeMsgListener = new sm(this); + private View.OnClickListener mSetMBMobileListener = new sv(this); + Button mSureButton; + private View.OnClickListener mSureListener = new tb(this); + TextView mTextAfterTable; + View mViewAfterTable; + + private View createTableCol(String paramString1, String paramString2) + { + View localView = getLayoutInflater().inflate(2130903152, null); + TextView localTextView1 = (TextView)localView.findViewById(2131296907); + TextView localTextView2 = (TextView)localView.findViewById(2131296908); + localTextView1.setText(paramString1); + localTextView2.setText(Html.fromHtml(paramString2)); + return localView; + } + + private void gotoMbItemActivity(int paramInt) + { + Object localObject = ax.a().e(); + if ((localObject != null) && (((QQUser)localObject).mIsBinded) && (fn.a().c() != null) && (fn.a().c().mMbInfoItems != null)) + { + int i = fn.a().a(paramInt); + if ((i < 0) || (i >= fn.a().c().mMbInfoItems.size())) { + return; + } + localObject = (MbInfoResult.MbInfoItem)fn.a().c().mMbInfoItems.get(i); + if ((paramInt == 51) && (((MbInfoResult.MbInfoItem)localObject).mId == 51) && (((MbInfoResult.MbInfoItem)localObject).mDetail.mBtnType == 1)) + { + Intent localIntent = new Intent(this, UtilsModSetMobileStep1Activity.class); + localIntent.putExtra("title", getResources().getString(2131361814) + ((MbInfoResult.MbInfoItem)localObject).mName); + localIntent.putExtra("op_type", 1); + localIntent.putExtra("position", i); + startActivityForResult(localIntent, 0); + return; + } + localObject = new Intent(this, UtilsMbInfoItemActivity.class); + ((Intent)localObject).putExtra("position", i); + startActivityForResult((Intent)localObject, 0); + return; + } + startActivity(new Intent(this, UtilsMbInfoActivity.class)); + } + + private void initUI() + { + if (this.mItem != null) + { + setRightTitleImage(2130837951, new su(this)); + if ((this.mItem.mTextAfterTable != null) && (this.mItem.mTextAfterTable.length() > 0)) + { + this.mTextAfterTable.setText(Html.fromHtml(this.mItem.mTextAfterTable)); + this.mTextAfterTable.setVisibility(0); + } + for (;;) + { + insertTableRows((LinearLayout)findViewById(2131296902)); + setActionButton(); + setFeedbackButton(); + e.b("Action: " + this.mItem.mAction); + return; + this.mTextAfterTable.setVisibility(8); + } + } + finish(); + } + + private void insertTableRows(LinearLayout paramLinearLayout) + { + if ("5".equals(this.mItem.mMsgVersion)) {} + for (;;) + { + JSONArray localJSONArray; + String str2; + Object localObject; + int j; + try + { + localJSONArray = new JSONArray(this.mItem.mTable); + String str1 = ""; + str2 = ""; + i = 0; + if (i < localJSONArray.length()) + { + localObject = localJSONArray.getJSONArray(i); + j = 0; + if (j < ((JSONArray)localObject).length()) { + if (j == 0) + { + str1 = ((JSONArray)localObject).getString(j); + e.b("temp1 = " + str1); + } + else + { + str2 = ((JSONArray)localObject).getString(j); + e.b("temp2 = " + str2); + } + } + } + } + catch (JSONException localJSONException) + { + localJSONException.printStackTrace(); + } + for (int i = 0;; i = 1) + { + if (i == 0) + { + paramLinearLayout.addView(createTableCol(getResources().getString(2131362040), s.a(this.mItem.mTime * 1000L))); + paramLinearLayout.addView(createTableCol(getResources().getString(2131362041), this.mItem.mContent)); + } + return; + paramLinearLayout.addView(createTableCol(localJSONException, str2)); + if (i != localJSONArray.length() - 1) + { + localObject = new ImageView(this); + ((ImageView)localObject).setLayoutParams(new ViewGroup.LayoutParams(-1, 2)); + ((ImageView)localObject).setBackgroundResource(2130837708); + paramLinearLayout.addView((View)localObject); + } + i += 1; + break; + } + j += 1; + } + } + + private void setActionButton() + { + e.c("action op: " + this.mItem.mAction); + String str = getResources().getString(2131361916); + if (this.mItem.mAction != null) { + e.c("action op: " + this.mItem.mAction.mActionType + ", url=" + this.mItem.mAction.mTargetUrl); + } + try + { + int i = Integer.parseInt(this.mItem.mAction.mActionType); + this.mActionButton.setVisibility(0); + if ((this.mItem.mAction.mButtonText == null) || (this.mItem.mAction.mButtonText.length() == 0)) { + this.mActionButton.setText(str); + } + for (;;) + { + switch (i) + { + case 18: + default: + this.mActionButton.setVisibility(4); + case 1: + return; + this.mActionButton.setText(Html.fromHtml(this.mItem.mAction.mButtonText)); + } + } + if (this.mItem.mTypea == 1) + { + this.mActionButton.setOnClickListener(this.mAbnormalModifyQQPwdListener); + return; + } + this.mActionButton.setOnClickListener(this.mModifyQQPwdListener); + return; + this.mActionButton.setOnClickListener(this.mAccountLockListener); + return; + this.mActionButton.setOnClickListener(this.mGameProtectListener); + return; + this.mActionButton.setOnClickListener(this.mQbQdProtectListener); + return; + this.mActionButton.setTag(this.mItem.mAction.mTargetUrl); + this.mActionButton.setOnClickListener(this.mGotoUrlListener); + return; + this.mActionButton.setOnClickListener(this.mSetMBMobileListener); + return; + this.mActionButton.setOnClickListener(this.mDelMBQuesListener); + return; + this.mActionButton.setOnClickListener(this.mDelMBMBKListener); + return; + this.mActionButton.setOnClickListener(this.mGotoVerifyPageListener); + return; + this.mActionButton.setOnClickListener(this.mGotoAccountPageListener); + return; + this.mActionButton.setOnClickListener(this.mGotoQQTokenListener); + return; + this.mActionButton.setOnClickListener(this.mMibaoInfoListener); + return; + this.mActionButton.setOnClickListener(this.mGameLockListener); + return; + this.mActionButton.setOnClickListener(this.mLoginMsgListener); + return; + this.mActionButton.setOnClickListener(this.mSafeMsgListener); + return; + this.mActionButton.setOnClickListener(this.mPhoneCallListener); + return; + this.mActionButton.setOnClickListener(this.mDataListener); + return; + this.mActionButton.setOnClickListener(this.mLoginProtectListener); + return; + this.mActionButton.setOnClickListener(this.mQQLoginProtectListener); + return; + this.mActionButton.setOnClickListener(this.mMailProtectListener); + return; + this.mActionButton.setOnClickListener(this.mRealNameListener); + return; + if (ax.a().j()) + { + startActivity(new Intent(this, FaceRecognitionDefaultActivity.class)); + return; + } + startActivity(new Intent(this, FaceRecognitionCreateActivity.class)); + return; + } + catch (Exception localException) {} + } + + private void setFeedbackButton() + { + if (this.mItem.mFeedBack != null) {} + try + { + int i = Integer.parseInt(this.mItem.mFeedBack.mActionType); + switch (i) + { + default: + this.mFeedbackButton.setVisibility(4); + return; + } + if (this.mActionButton.getVisibility() != 0) + { + this.mFeedbackButton = this.mActionButton; + this.mFeedbackButton.setBackgroundResource(2130837636); + this.mFeedbackButton.setTextColor(getResources().getColor(2131165192)); + } + this.mFeedbackButton.setVisibility(0); + e.c("test feed back: " + i + "|" + this.mItem.mFeedBack.mButtonText + "|" + this.mItem.mFeedBack); + if ((this.mItem.mFeedBack.mButtonText == null) || (this.mItem.mFeedBack.mButtonText.length() == 0)) { + this.mFeedbackButton.setText(2131361917); + } + for (;;) + { + this.mFeedbackButton.setOnClickListener(new ti(this)); + return; + this.mFeedbackButton.setText(Html.fromHtml(this.mItem.mFeedBack.mButtonText)); + } + return; + } + catch (Exception localException) {} + } + + protected void onCreate(Bundle paramBundle) + { + int j = 1; + super.onCreate(paramBundle); + setContentView(2130903151); + this.mTextAfterTable = ((TextView)findViewById(2131296903)); + this.mActionButton = ((Button)findViewById(2131296904)); + this.mSureButton = ((Button)findViewById(2131296905)); + this.mMsgTitle = ((TextView)findViewById(2131296529)); + this.mMsgTips = ((TextView)findViewById(2131296901)); + this.mMsgIcon = ((ImageView)findViewById(2131296835)); + this.mFeedbackButton = ((Button)findViewById(2131296906)); + this.mActionButton.setVisibility(4); + this.mFeedbackButton.setVisibility(4); + if (getIntent().getExtras() == null) + { + finish(); + return; + } + this.mPosition = getIntent().getExtras().getInt("position"); + this.mMsgType = getIntent().getExtras().getInt("type"); + this.mIpcMsg = getIntent().getExtras().getBoolean("ipcmsg"); + if (this.mMsgType == 1) { + setTitle(2131362018); + } + for (this.mCache = bb.a().f;; this.mCache = bd.a().f) + { + this.mItem = this.mCache.b(this.mPosition); + if (this.mItem != null) { + break; + } + finish(); + return; + setTitle(2131362019); + } + boolean bool; + if ((this.mItem != null) && (this.mItem.mTitle != null) && (this.mItem.mTitle.length() > 0)) + { + this.mMsgTitle.setVisibility(0); + this.mMsgTitle.setText(this.mItem.mTitle); + if (this.mMsgType != 1) { + break label618; + } + if (this.mItem.mTypeb == 1) { + this.mMsgTitle.setCompoundDrawablesWithIntrinsicBounds(2130837751, 0, 0, 0); + } + } + else + { + if ((this.mItem.mFlag & 0x100) != 256) { + break label680; + } + bool = true; + label370: + this.mIpcMsgButConfirm = bool; + if (!this.mIpcMsg) { + break label706; + } + if (this.mIpcMsgButConfirm) { + break label686; + } + this.mSureButton.setVisibility(0); + this.mMsgTips.setVisibility(8); + this.mSureButton.setOnClickListener(this.mSureListener); + label418: + paramBundle = ""; + i = this.mItem.mContent.indexOf('|'); + if (i != -1) { + paramBundle = this.mItem.mContent.substring(i + 1); + } + if ((this.mItem.mFlag & 0x1) != 1) { + break label727; + } + } + label667: + label680: + label686: + label706: + label727: + for (int i = j;; i = 0) + { + if ((i != 0) && (paramBundle.length() > 0)) + { + this.mMsgTips.setVisibility(0); + this.mSureButton.setVisibility(8); + this.mMsgTips.setText(getResources().getString(2131362052) + paramBundle); + } + initUI(); + return; + if (this.mItem.mTypeb == 2) + { + this.mMsgTitle.setCompoundDrawablesWithIntrinsicBounds(2130837752, 0, 0, 0); + break; + } + if (this.mItem.mTypeb == 3) + { + this.mMsgTitle.setCompoundDrawablesWithIntrinsicBounds(2130837749, 0, 0, 0); + break; + } + if (this.mItem.mTypeb != 11) { + break; + } + this.mMsgTitle.setCompoundDrawablesWithIntrinsicBounds(2130837750, 0, 0, 0); + break; + label618: + this.mMsgIcon.setVisibility(0); + if ((this.mItem.mFlag & 0x80) == 128) {} + for (i = 1;; i = 0) + { + if (i == 0) { + break label667; + } + this.mMsgIcon.setBackgroundResource(2130837569); + break; + } + this.mMsgIcon.setBackgroundResource(2130837571); + break; + bool = false; + break label370; + this.mSureButton.setVisibility(8); + this.mMsgTips.setVisibility(0); + break label418; + this.mSureButton.setVisibility(8); + this.mMsgTips.setVisibility(8); + break label418; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.OpMsgDisplayActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/OpreateMsgActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/OpreateMsgActivity.java new file mode 100755 index 00000000000..6cda8e3234c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/OpreateMsgActivity.java @@ -0,0 +1,299 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import com.tencent.token.ax; +import com.tencent.token.bc; +import com.tencent.token.bd; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.PullToRefreshListView; +import com.tencent.token.ui.base.cq; +import java.lang.reflect.Method; +import java.util.TimeZone; + +public class OpreateMsgActivity + extends BaseActivity + implements cq +{ + public static final String PREFER_TIME = "opreate_msg_refresh_time"; + public static boolean s_NeedShowNewMsgCnt; + tj mAdapter; + private fo mCache = bd.a().f; + Button mEditSelectBtn; + public Handler mHandler = new tp(this); + private int mHaveMsgReqTimes = 0; + private boolean mIsEdit = false; + public boolean mIsRefreshing = false; + boolean mIsSelectAll; + View mListEidt; + PullToRefreshListView mListView; + private bd mMsgMgr = bd.a(); + private View.OnClickListener mRightTitleButtonClickListener = new tq(this); + byte mSource = bc.e; + Button mTitleButton; + private long mUin; + + static + { + if (!OpreateMsgActivity.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + $assertionsDisabled = bool; + s_NeedShowNewMsgCnt = false; + return; + } + } + + private void saveTimeZoneFlag() + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("msg_tips_timezone", 0).edit(); + localEditor.putBoolean("msg_tips_timezone_flag", true); + localEditor.commit(); + } + + public static void setShowNewMsgCnt() + { + s_NeedShowNewMsgCnt = true; + } + + private void showDeleteDlg() + { + if (this.mIsSelectAll) {} + for (String str = getString(2131362012);; str = getString(2131362007) + this.mCache.e() + getString(2131362008)) + { + showUserDialog(2131362006, str, 2131361800, 2131361804, new tr(this), null); + return; + } + } + + void checkTimeZoneFlag() + { + if ((!RqdApplication.i().getSharedPreferences("msg_tips_timezone", 0).getBoolean("msg_tips_timezone_flag", false)) && (this.mCache.g() > 0)) + { + if (TimeZone.getDefault().getOffset(System.currentTimeMillis()) != 28800000) + { + View localView = findViewById(2131296782); + localView.setVisibility(0); + findViewById(2131296785).setOnClickListener(new ts(this, localView)); + } + return; + } + findViewById(2131296782).setVisibility(8); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if (isListEdit()) + { + hideListEdit(); + this.mCache.c(); + this.mAdapter.notifyDataSetChanged(); + return true; + } + } + } + + public void finishRefresh(boolean paramBoolean) + { + this.mListView.b(); + this.mIsRefreshing = false; + this.mListView.a(System.currentTimeMillis()); + this.mListView.a("opreate_msg_refresh_time"); + if (paramBoolean) { + showToast(); + } + if (this.mCache.g() <= 0) + { + this.mTitleButton.setVisibility(4); + return; + } + this.mTitleButton.setVisibility(0); + } + + public void hideListEdit() + { + this.mIsEdit = false; + this.mTitleButton.setText(2131362291); + this.mListEidt.setVisibility(8); + } + + public boolean isListEdit() + { + return this.mIsEdit; + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903137); + try + { + Activity.class.getDeclaredMethod("overridePendingTransition", new Class[] { Integer.TYPE, Integer.TYPE }).invoke(this, new Object[] { Integer.valueOf(2130968585), Integer.valueOf(2130968584) }); + this.mListEidt = findViewById(2131296827); + this.mListEidt.findViewById(2131296828).setOnClickListener(new tt(this)); + this.mEditSelectBtn = ((Button)this.mListEidt.findViewById(2131296829)); + this.mEditSelectBtn.setOnClickListener(new tu(this)); + this.mListView = ((PullToRefreshListView)findViewById(2131296262)); + if ((!$assertionsDisabled) && (this.mListView == null)) { + throw new AssertionError(); + } + } + catch (Exception paramBundle) + { + for (;;) + { + paramBundle.printStackTrace(); + } + this.mAdapter = new tj(this); + paramBundle = LayoutInflater.from(this).inflate(2130903142, this.mListView, false); + this.mListView.addFooterView(paramBundle); + this.mListView.setSelector(2130837756); + this.mAdapter.a(paramBundle); + paramBundle = LayoutInflater.from(this).inflate(2130903139, this.mListView, false); + this.mListView.addFooterView(paramBundle); + this.mAdapter.b(paramBundle); + this.mAdapter.a(); + this.mListView.setScrollingCacheEnabled(true); + this.mListView.a(this); + this.mListView.a(2131362042); + this.mListView.a(this.mListView.b("opreate_msg_refresh_time")); + paramBundle = getIntent().getBundleExtra("com.tencent.input_param"); + if (paramBundle == null) { + break label438; + } + } + if (paramBundle.getLong("uin") > 0L) + { + this.mUin = paramBundle.getLong("uin"); + ax.a().a(this.mUin); + this.mSource = bc.d; + this.mTitleButton = getRightTitleButton(); + this.mTitleButton.setVisibility(0); + this.mTitleButton.setText(2131362291); + this.mTitleButton.setOnClickListener(this.mRightTitleButtonClickListener); + if ((this.mUin != 0L) || (!s_NeedShowNewMsgCnt)) { + break label446; + } + this.mAdapter.a(true); + s_NeedShowNewMsgCnt = false; + } + for (;;) + { + this.mListView.setAdapter(this.mAdapter); + return; + label438: + this.mUin = 0L; + break; + label446: + this.mAdapter.a(false); + } + } + + protected void onDestroy() + { + super.onDestroy(); + this.mAdapter = null; + this.mListView.setAdapter(null); + } + + public void onRefresh() + { + if (this.mIsRefreshing) { + return; + } + this.mIsRefreshing = true; + this.mMsgMgr.b(); + this.mMsgMgr.a(this.mSource, this.mHandler); + } + + protected void onResume() + { + e.c("login user queryed: " + this.mMsgMgr.d() + ", muin: " + this.mUin); + if (((!this.mMsgMgr.d()) && (!this.mIsRefreshing)) || ((this.mUin > 0L) && (!this.mIsRefreshing))) + { + e.c("refresh safe msg: "); + startRefresh(this.mSource); + this.mUin = 0L; + } + this.mAdapter.notifyDataSetChanged(); + super.onResume(); + } + + protected void onStop() + { + super.onStop(); + } + + public void setSelectState(boolean paramBoolean) + { + this.mIsSelectAll = paramBoolean; + if (this.mIsSelectAll) + { + this.mEditSelectBtn.setText(2131362011); + return; + } + this.mEditSelectBtn.setText(2131362010); + } + + public void showListEdit() + { + this.mIsEdit = true; + this.mTitleButton.setText(2131362292); + this.mListEidt.setVisibility(0); + } + + public void showToast() + { + if (this.mCache.i() > 0) + { + showOrangeToast(this.mMsgMgr.g() + getResources().getString(2131362016), 2130837964); + return; + } + showOrangeToast(2131362015, 2130837964); + } + + public void startRefresh(byte paramByte) + { + this.mMsgMgr.b(); + this.mSource = paramByte; + this.mHaveMsgReqTimes = 0; + this.mListView.a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.OpreateMsgActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/PCMobileQQVerifyedDevicesActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/PCMobileQQVerifyedDevicesActivity.java new file mode 100755 index 00000000000..8ac23996384 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/PCMobileQQVerifyedDevicesActivity.java @@ -0,0 +1,199 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.fq; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.dk; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.util.ArrayList; + +public class PCMobileQQVerifyedDevicesActivity + extends BaseActivity +{ + public static final int MAIL_PROTECT = 1; + public static final int QQ_PROTECT = 2; + private static final int QQ_PROTECT_CONFIG_ID = 71; + private String A2; + private View.OnClickListener mBindListener = new tv(this); + private View mContentView; + private LinearLayout mDevicesView; + private LinearLayout mEmptyDevicesView; + private ErrorView mErrorView; + private Handler mHandler = new ty(this); + private dk mNeedVerifyView; + private View mProgressView; + private View.OnClickListener mRetryListener = new tw(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + + private View createTableCol(DeviceInfo paramDeviceInfo) + { + View localView = getLayoutInflater().inflate(2130903229, null); + TextView localTextView1 = (TextView)localView.findViewById(2131297200); + TextView localTextView2 = (TextView)localView.findViewById(2131297201); + localTextView1.setText(paramDeviceInfo.dname); + localTextView2.setText(paramDeviceInfo.dtype); + localView.setOnClickListener(new ua(this, paramDeviceInfo)); + return localView; + } + + private void init() + { + this.mContentView = findViewById(2131296909); + this.mProgressView = findViewById(2131296911); + this.mDevicesView = ((LinearLayout)findViewById(2131296910)); + this.mEmptyDevicesView = ((LinearLayout)findViewById(2131296913)); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + refreshContentView(); + } + + private void queryCommonProtectStatus() + { + if (this.A2 == null) { + return; + } + refreshContentView(); + this.mProgressView.setVisibility(0); + this.mContentView.setVisibility(8); + this.mEmptyDevicesView.setVisibility(8); + af.a().b(0L, 71, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", this.A2, this.mHandler); + } + + private void refreshContentView() + { + if (ba.a().i().c) + { + ArrayList localArrayList = ba.a().g.b; + int i; + if ((localArrayList != null) && (localArrayList.size() > 0)) + { + this.mContentView.setVisibility(0); + this.mEmptyDevicesView.setVisibility(8); + this.mDevicesView.setVisibility(0); + this.mDevicesView.removeAllViews(); + i = 0; + } + while (i < localArrayList.size()) + { + DeviceInfo localDeviceInfo = (DeviceInfo)localArrayList.get(i); + this.mDevicesView.addView(createTableCol(localDeviceInfo)); + i += 1; + continue; + this.mContentView.setVisibility(8); + this.mEmptyDevicesView.setVisibility(0); + this.mDevicesView.setVisibility(8); + this.mDevicesView.removeAllViews(); + } + return; + } + this.mContentView.setVisibility(8); + this.mEmptyDevicesView.setVisibility(0); + this.mDevicesView.setVisibility(8); + this.mDevicesView.removeAllViews(); + } + + private void showTipDialog(String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramString); + } + + private void showTipView(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + finish(); + return true; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, -3); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new tx(this)); + return; + setContentView(2130903153); + init(); + byte[] arrayOfByte = x.a(RqdApplication.i()).a(ax.a().e().mRealUin); + if (arrayOfByte != null) + { + this.A2 = s.a(arrayOfByte); + queryCommonProtectStatus(); + } + else + { + x.a(RqdApplication.i()).a(this, "" + paramBundle.mRealUin, this.mHandler, true); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.PCMobileQQVerifyedDevicesActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/PushTransitionActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/PushTransitionActivity.java new file mode 100755 index 00000000000..aadb7e3989c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/PushTransitionActivity.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; + +public class PushTransitionActivity + extends BaseActivity +{ + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + IndexActivity.setFromWhere(19); + if (BaseActivity.isAppOpen()) {} + for (paramBundle = new Intent(this, IndexActivity.class);; paramBundle = new Intent(this, LogoActivity.class)) + { + startActivity(paramBundle); + finish(); + return; + } + } + + protected void onDestroy() + { + super.onDestroy(); + } + + protected void onPause() + { + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + } + + protected void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.PushTransitionActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameActivity.java new file mode 100755 index 00000000000..0a1ea7f9ea3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameActivity.java @@ -0,0 +1,382 @@ +package com.tencent.token.ui; + +import android.app.AlarmManager; +import android.app.Dialog; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.graphics.drawable.GradientDrawable.Orientation; +import android.os.Bundle; +import android.os.Handler; +import android.text.Html; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameShakeResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.fp; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.base.dk; + +public class RealNameActivity + extends BaseActivity +{ + private final String UPDATE_INTERVAL_TIME_ACTION4 = "com.tencent.token.realname.AUDIT_INTERVAL4"; + private final String UPDATE_INTERVAL_TIME_ACTION5 = "com.tencent.token.realname.AUDIT_INTERVAL4"; + private final int UPDATE_TIME = -100; + TextView dayview; + TextView hourview; + private boolean inAuditView; + private boolean isFromSafeMsg = false; + private TextView mAuditTextView; + private long mAuditTime; + TextView mChanceLeft; + public Handler mHandler = new ue(this); + private AlarmManager mIntervalAlarmMgr5 = null; + private PendingIntent mIntervalPending5 = null; + private BroadcastReceiver mIntervalReceiver5 = new un(this); + private long mLeftTime; + private dk mNeedVerifyView; + private RealNameStatusResult mResult; + TextView mTip1; + TextView mTip3; + TextView minview; + RealNameShakeResult rsk; + TextView secview; + RelativeLayout topToast; + TextView topToastText; + + private boolean formatTime(long paramLong) + { + if (paramLong < 0L) + { + if (isProDialogShow()) { + return false; + } + showProDialog(this, 2131361808, 2131362203, null); + af.a().l(0L, this.mHandler); + return false; + } + int i = (int)(paramLong / 86400L); + int j = (int)(paramLong % 86400L / 3600L); + int k = (int)(paramLong % 86400L % 3600L / 60L); + int m = (int)(paramLong % 60L); + this.dayview.setText(String.valueOf(i)); + this.hourview.setText(String.valueOf(j)); + this.minview.setText(String.valueOf(k)); + this.secview.setText(String.valueOf(m)); + return true; + } + + private void initAuditResultView(boolean paramBoolean) + { + if (this.isFromSafeMsg) + { + this.inAuditView = false; + if (paramBoolean) { + break label96; + } + setContentView(2130903163); + this.dayview = ((TextView)findViewById(2131296946)); + this.hourview = ((TextView)findViewById(2131296947)); + this.minview = ((TextView)findViewById(2131296948)); + this.secview = ((TextView)findViewById(2131296949)); + updateIntervalTimer4(); + } + for (;;) + { + this.mTitleText.setText(2131362604); + return; + this.inAuditView = true; + break; + label96: + setContentView(2130903164); + this.mTip3 = ((TextView)findViewById(2131296961)); + this.mTip3.setText(Html.fromHtml(String.format(getResources().getString(2131362777), new Object[] { Integer.valueOf(this.mResult.chanceLeft) }))); + this.mTip1 = ((TextView)findViewById(2131296955)); + this.mTip1.setText(String.format(getResources().getString(2131362775), new Object[] { Integer.valueOf(this.mResult.mDispatchTime), Integer.valueOf(this.mResult.mDailyZzbCnt) })); + this.topToast = ((RelativeLayout)findViewById(2131296950)); + this.topToastText = ((TextView)findViewById(2131296784)); + if ((!TextUtils.isEmpty(this.mResult.mMsgText)) && (this.mResult.chanceLeft > 0)) + { + this.topToast.setVisibility(0); + this.topToastText.setText(this.mResult.mMsgText); + } + } + } + + private void initNotifyToast() + { + String str1 = this.mResult.mToastText; + String str2 = this.mResult.mToastUrl; + View localView = findViewById(2131297337); + ImageView localImageView = (ImageView)localView.findViewById(2131296785); + if ((!TextUtils.isEmpty(str1)) && (localView.getVisibility() != 0)) + { + localView.setVisibility(0); + ((TextView)localView.findViewById(2131296784)).setText(str1); + if (TextUtils.isEmpty(str2)) { + localImageView.setOnClickListener(new ut(this, localView)); + } + } + else + { + return; + } + localImageView.setImageResource(2130837959); + localView.setOnClickListener(new uu(this, str2, localView)); + } + + private void initUITopArea() + { + setContentView(2130903157); + com.tencent.token.ui.base.ba localba = new com.tencent.token.ui.base.ba(GradientDrawable.Orientation.BOTTOM_TOP, getResources().getColor(2131165309), getResources().getColor(2131165310)); + this.mTitleBar.setBackgroundDrawable(localba); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165310)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + this.mTitleText.setText(2131362513); + localba = new com.tencent.token.ui.base.ba(GradientDrawable.Orientation.BOTTOM_TOP, getResources().getColor(2131165308), getResources().getColor(2131165307)); + ((ImageView)findViewById(2131296918)).setBackgroundDrawable(localba); + ((TextView)findViewById(2131296925)).setOnClickListener(new uj(this)); + ((TextView)findViewById(2131296926)).setOnClickListener(new uk(this)); + ((TextView)findViewById(2131296928)).setOnClickListener(new ul(this)); + ((TextView)findViewById(2131296929)).setOnClickListener(new um(this)); + } + + private void initView() + { + this.inAuditView = false; + switch (this.mResult.mRealStatus) + { + default: + return; + case 1: + Intent localIntent = new Intent(this, RealNameGuidActivity.class); + localIntent.putExtra("result", this.mResult); + startActivity(localIntent); + finish(); + return; + case 3: + case 4: + initViewInRegister(false); + return; + } + initViewInRegister(true); + } + + private void initViewInRegister(boolean paramBoolean) + { + if ((this.isFromSafeMsg) && (paramBoolean)) + { + initAuditResultView(true); + if (this.mResult.mRealStatus == 3) + { + localObject = RqdApplication.i().getSharedPreferences("sp_name_global", 0); + paramBoolean = ((SharedPreferences)localObject).getBoolean("key_zzb_refused_firsttime", true); + if ((0L != this.mResult.mApplyRefuseTime) && (paramBoolean)) + { + ((SharedPreferences)localObject).edit().putBoolean("key_zzb_refused_firsttime", false).commit(); + if (isInMonth(this.mResult)) + { + localObject = findViewById(2131297337); + ((View)localObject).setVisibility(0); + ((View)localObject).findViewById(2131296785).setOnClickListener(new us(this, (View)localObject)); + } + } + } + return; + } + initUITopArea(); + setRightTitleImage(2130837950, new uq(this)); + ((TextView)findViewById(2131296922)).setText(2131362589); + Object localObject = (TextView)findViewById(2131296923); + Button localButton = (Button)findViewById(2131296442); + if (paramBoolean) + { + ((TextView)localObject).setVisibility(8); + localButton.setVisibility(0); + if (this.mResult.regVersion == 1) { + localButton.setText(2131362595); + } + } + for (;;) + { + initNotifyToast(); + localButton.setOnClickListener(new ur(this, paramBoolean)); + break; + localButton.setText(2131362596); + continue; + if (this.mResult.mRealStatus != 3) { + break label280; + } + ((TextView)localObject).setVisibility(8); + localButton.setVisibility(0); + localButton.setText(2131362597); + } + label280: + ((TextView)localObject).setVisibility(0); + if (!TextUtils.isEmpty(this.mResult.subTitle)) { + ((TextView)localObject).setText(this.mResult.subTitle); + } + for (;;) + { + localButton.setVisibility(8); + break; + ((TextView)localObject).setText(2131362598); + } + } + + private void initViewInUse() + { + initUITopArea(); + setRightTitleImage(2130837848, new up(this)); + ((TextView)findViewById(2131296922)).setText(2131362575); + TextView localTextView = (TextView)findViewById(2131296923); + localTextView.setVisibility(0); + localTextView.setText(2131362576); + localTextView.setTextAppearance(this, 2131427366); + } + + private boolean isInMonth(RealNameStatusResult paramRealNameStatusResult) + { + long l = paramRealNameStatusResult.mApplyRefuseTime; + return ag.c().r() / 1000L - l <= 2592000L; + } + + private void jumptoSucc() + { + Intent localIntent = new Intent(this, RealNameGuidActivity.class); + localIntent.putExtra("result", this.mResult); + startActivity(localIntent); + finish(); + } + + private void registerIntervalTimer5() + { + if (this.mIntervalAlarmMgr5 != null) { + return; + } + Object localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("com.tencent.token.realname.AUDIT_INTERVAL4"); + registerReceiver(this.mIntervalReceiver5, (IntentFilter)localObject); + localObject = new Intent("com.tencent.token.realname.AUDIT_INTERVAL4"); + this.mIntervalAlarmMgr5 = ((AlarmManager)getSystemService("alarm")); + this.mIntervalPending5 = PendingIntent.getBroadcast(this, 0, (Intent)localObject, 0); + } + + private void showTipDailog() + { + Dialog localDialog = new Dialog(this, 2131427443); + View localView = View.inflate(this, 2130903264, null); + Object localObject = (ImageView)localView.findViewById(2131297336); + TextView localTextView = (TextView)localView.findViewById(2131297333); + Button localButton = (Button)localView.findViewById(2131296514); + ((ImageView)localObject).setOnClickListener(new uf(this, localDialog)); + localTextView.setText(String.format(getResources().getString(2131362767), new Object[] { Integer.valueOf(this.mResult.mDispatchTime), Integer.valueOf(this.mResult.mDailyZzbCnt) })); + localObject = (TextView)localView.findViewById(2131296944); + ((TextView)localObject).setText(Html.fromHtml(getResources().getString(2131362770))); + ((TextView)localObject).setOnClickListener(new ug(this)); + localObject = (TextView)localView.findViewById(2131296945); + ((TextView)localObject).setText(Html.fromHtml(getResources().getString(2131362772))); + ((TextView)localObject).setOnClickListener(new uh(this)); + localButton.setOnClickListener(new ui(this, localDialog)); + localDialog.setContentView(localView); + localDialog.setOnCancelListener(null); + localDialog.setCanceledOnTouchOutside(true); + localDialog.show(); + } + + private void unregisterIntervalTimer5() + { + if (this.mIntervalAlarmMgr5 != null) + { + this.mIntervalAlarmMgr5.cancel(this.mIntervalPending5); + unregisterReceiver(this.mIntervalReceiver5); + this.mIntervalAlarmMgr5 = null; + } + } + + private void updateIntervalTimer4() + { + this.mAuditTime = (this.mResult.mCompleteTime - ag.c().r() / 1000L); + if (formatTime(this.mAuditTime)) { + this.mHandler.sendEmptyMessageDelayed(-100, 1000L); + } + } + + public void onBackPressed() + { + if (this.inAuditView) + { + initView(); + return; + } + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 8); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + com.tencent.token.ba.a().h.a("real_name").a(); + return; + this.isFromSafeMsg = getIntent().getBooleanExtra("from_safe_msg", false); + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("realname_result")); + if (this.mResult == null) + { + finish(); + return; + } + initView(); + } + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mIntervalAlarmMgr5 != null) + { + this.mIntervalAlarmMgr5.cancel(this.mIntervalPending5); + unregisterReceiver(this.mIntervalReceiver5); + this.mIntervalAlarmMgr5 = null; + } + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new uo(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameDetailActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameDetailActivity.java new file mode 100755 index 00000000000..03789e56246 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameDetailActivity.java @@ -0,0 +1,60 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; +import android.widget.ImageView; +import com.tencent.token.ui.base.ScrollLayout; + +public class RealNameDetailActivity + extends Activity +{ + ImageView iv1; + ImageView iv2; + ImageView iv3; + ImageView iv4; + int tab; + + private void initview() + { + setContentView(2130903170); + Object localObject = (ScrollLayout)findViewById(2131296436); + ((ScrollLayout)localObject).a(this.tab); + ((ScrollLayout)localObject).a(new uv(this)); + localObject = (Button)findViewById(2131296982); + this.iv1 = ((ImageView)findViewById(2131296978)); + this.iv2 = ((ImageView)findViewById(2131296979)); + this.iv3 = ((ImageView)findViewById(2131296980)); + this.iv4 = ((ImageView)findViewById(2131296981)); + switch (this.tab) + { + } + for (;;) + { + ((Button)localObject).setOnClickListener(new uw(this)); + return; + this.iv1.setImageResource(2130837779); + continue; + this.iv2.setImageResource(2130837779); + continue; + this.iv3.setImageResource(2130837779); + continue; + this.iv4.setImageResource(2130837779); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + requestWindowFeature(1); + this.tab = getIntent().getIntExtra("index", 0); + initview(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameDetailActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindActivity.java new file mode 100755 index 00000000000..da0b8f8bdd1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindActivity.java @@ -0,0 +1,317 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.BitmapFactory.Options; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.text.TextUtils; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.global.e; +import com.tencent.token.p; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class RealNameFindActivity + extends BaseActivity +{ + private Handler _handler; + private byte[] backphotoinfo; + private boolean canchange_uin; + private byte[] frontphotoinfo; + private boolean isShowLockVerify = false; + private boolean ish5zzb; + private boolean mAutoIDCardDetect = true; + private byte[] mBackData; + private String mBackPath; + private byte[] mFaceData; + private byte[] mFrontData; + private String mFrontPath; + private Handler mHandler = new ux(this); + private HandlerThread mHandlerThread; + private boolean mIsActiveSuccess = false; + private Button mNext; + private int mOpType = 2; + private long mRealUin; + private View mScanFaceLayout; + private ImageView mScanFaceOk; + private View mScanIdLayout; + private ImageView mScanIdOk; + private int mSourceId; + private RealNameQueryResult result; + + private static int calculateInSampleSize(BitmapFactory.Options paramOptions, int paramInt1, int paramInt2) + { + int k = paramOptions.outHeight; + int j = paramOptions.outWidth; + int i = 1; + if ((k > paramInt2) || (j > paramInt1)) + { + paramInt2 = Math.round(k / paramInt2); + i = Math.round(j / paramInt1); + if (paramInt2 >= i) {} + } + else + { + return i; + } + return paramInt2; + } + + private boolean checkCanCommit() + { + if ((this.mScanFaceOk.getVisibility() == 0) && (this.mScanIdOk.getVisibility() == 0)) {} + for (int i = 1;; i = 0) + { + if (i != 0) + { + this.mNext.setTextAppearance(this, 2131427381); + this.mNext.setBackgroundResource(2130837549); + this.mNext.setEnabled(true); + return true; + } + this.mNext.setTextAppearance(this, 2131427335); + this.mNext.setBackgroundResource(2130837636); + this.mNext.setEnabled(false); + return false; + } + } + + /* Error */ + private byte[] compressPicData(byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 141 android/graphics/BitmapFactory$Options + // 3: dup + // 4: invokespecial 186 android/graphics/BitmapFactory$Options: ()V + // 7: astore_2 + // 8: aload_2 + // 9: iconst_1 + // 10: putfield 189 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 13: aload_1 + // 14: iconst_0 + // 15: aload_1 + // 16: arraylength + // 17: aload_2 + // 18: invokestatic 195 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 21: pop + // 22: aload_2 + // 23: aload_2 + // 24: sipush 640 + // 27: sipush 640 + // 30: invokestatic 197 com/tencent/token/ui/RealNameFindActivity:calculateInSampleSize (Landroid/graphics/BitmapFactory$Options;II)I + // 33: putfield 200 android/graphics/BitmapFactory$Options:inSampleSize I + // 36: aload_2 + // 37: iconst_0 + // 38: putfield 189 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 41: aload_1 + // 42: iconst_0 + // 43: aload_1 + // 44: arraylength + // 45: aload_2 + // 46: invokestatic 195 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 49: astore_2 + // 50: new 202 java/io/ByteArrayOutputStream + // 53: dup + // 54: invokespecial 203 java/io/ByteArrayOutputStream: ()V + // 57: astore_1 + // 58: aload_2 + // 59: getstatic 209 android/graphics/Bitmap$CompressFormat:JPEG Landroid/graphics/Bitmap$CompressFormat; + // 62: bipush 85 + // 64: aload_1 + // 65: invokevirtual 215 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 68: pop + // 69: aload_1 + // 70: invokevirtual 218 java/io/ByteArrayOutputStream:close ()V + // 73: aload_1 + // 74: invokevirtual 222 java/io/ByteArrayOutputStream:toByteArray ()[B + // 77: areturn + // 78: astore_2 + // 79: aload_2 + // 80: invokevirtual 225 java/io/IOException:printStackTrace ()V + // 83: goto -10 -> 73 + // 86: astore_2 + // 87: aload_1 + // 88: invokevirtual 218 java/io/ByteArrayOutputStream:close ()V + // 91: aload_2 + // 92: athrow + // 93: astore_1 + // 94: aload_1 + // 95: invokevirtual 225 java/io/IOException:printStackTrace ()V + // 98: goto -7 -> 91 + // Local variable table: + // start length slot name signature + // 0 101 0 this RealNameFindActivity + // 0 101 1 paramArrayOfByte byte[] + // 7 52 2 localObject1 java.lang.Object + // 78 2 2 localIOException java.io.IOException + // 86 6 2 localObject2 java.lang.Object + // Exception table: + // from to target type + // 69 73 78 java/io/IOException + // 58 69 86 finally + // 87 91 93 java/io/IOException + } + + private void initView() + { + if (this.ish5zzb) + { + setTitle(2131362799); + ((TextView)findViewById(2131296962)).setText(2131362800); + } + this.mNext = ((Button)findViewById(2131296932)); + this.mScanFaceOk = ((ImageView)findViewById(2131296939)); + this.mScanIdOk = ((ImageView)findViewById(2131296942)); + this.mScanFaceLayout = findViewById(2131296937); + this.mScanIdLayout = findViewById(2131296940); + this.mScanFaceLayout.setOnClickListener(new vg(this)); + this.mScanIdLayout.setOnClickListener(new vh(this)); + this.mNext.setOnClickListener(new vi(this)); + } + + private boolean isVaildID(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return false; + } + return Pattern.compile("([0-9]{17}([0-9]|X|x))|([0-9]{15})").matcher(paramString).matches(); + } + + private void uploadData() + { + showProDialogWithoutShutDown(this, getResources().getString(2131361817)); + if (this.mHandlerThread == null) + { + this.mHandlerThread = new HandlerThread("uploadphoto", 1); + this.mHandlerThread.start(); + } + if (this._handler == null) { + this._handler = new Handler(this.mHandlerThread.getLooper()); + } + this._handler.post(new vj(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt1 == 1) { + if ((paramInt2 == 0) && (paramIntent != null) && (paramIntent.getByteArrayExtra("facedata") != null) && (paramIntent.getByteArrayExtra("facedata").length > 0)) + { + this.mFaceData = paramIntent.getByteArrayExtra("facedata"); + e.a("realname facedata len=" + this.mFaceData.length); + this.mScanFaceOk.setVisibility(0); + p.a().a(System.currentTimeMillis(), 89); + } + } + do + { + checkCanCommit(); + do + { + return; + } while (paramInt1 != 2); + if (paramInt2 == 1) + { + Intent localIntent = new Intent(this, RealNameTakeIDPhotoActivity.class); + if ((paramIntent.getStringExtra("frontdata") != null) && (paramIntent.getStringExtra("frontdata").length() > 0)) + { + this.mFrontPath = paramIntent.getStringExtra("frontdata"); + this.frontphotoinfo = paramIntent.getByteArrayExtra("frontphotoinfo"); + localIntent.putExtra("frontdata", this.mFrontPath); + } + localIntent.putExtra("scene", 2); + startActivityForResult(localIntent, 2); + return; + } + } while ((paramInt2 != 0) || (paramIntent == null) || (paramIntent.getStringExtra("frontdata") == null) || (paramIntent.getStringExtra("frontdata").length() <= 0) || (paramIntent.getStringExtra("backdata") == null) || (paramIntent.getStringExtra("backdata").length() <= 0)); + this.mFrontPath = paramIntent.getStringExtra("frontdata"); + this.mBackPath = paramIntent.getStringExtra("backdata"); + this.frontphotoinfo = paramIntent.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramIntent.getByteArrayExtra("backphotoinfo"); + e.a("realname id frontlen=" + this.mFrontPath.length() + ", backlen=" + this.mBackPath.length()); + this.mScanIdOk.setVisibility(0); + p.a().a(System.currentTimeMillis(), 90); + checkCanCommit(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.isShowLockVerify = getIntent().getBooleanExtra("not_showLockVerify", false); + this.canchange_uin = getIntent().getBooleanExtra("canchange_uin", false); + if (this.isShowLockVerify) { + setNeverShowLockVerifyView(); + } + setContentView(2130903165); + this.mSourceId = getIntent().getIntExtra("source_id", 0); + this.ish5zzb = getIntent().getBooleanExtra("ish5zzb", false); + this.result = ((RealNameQueryResult)getIntent().getSerializableExtra("result")); + this.mRealUin = getIntent().getLongExtra("real_uin", 0L); + this.mIsActiveSuccess = false; + initView(); + af.a().n(-1L, this.mHandler); + } + + protected void onResume() + { + super.onResume(); + Intent localIntent = getIntent(); + if (localIntent == null) {} + while (!localIntent.getBooleanExtra("reupload", false)) { + return; + } + this.result = ((RealNameQueryResult)localIntent.getSerializableExtra("result")); + this.mRealUin = localIntent.getLongExtra("real_uin", 0L); + this.mSourceId = localIntent.getIntExtra("source_id", 0); + this.mFrontPath = localIntent.getStringExtra("mFrontPath"); + this.mBackPath = localIntent.getStringExtra("mBackPath"); + this.frontphotoinfo = localIntent.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = localIntent.getByteArrayExtra("backphotoinfo"); + this.mFaceData = localIntent.getByteArrayExtra("mFaceData"); + this.canchange_uin = localIntent.getBooleanExtra("canchange_uin", false); + if (this.mFaceData != null) { + this.mScanFaceOk.setVisibility(0); + } + if ((this.mFrontPath != null) && (this.mFrontPath.length() > 0) && (this.mBackPath != null) && (this.mBackPath.length() > 0)) { + this.mScanIdOk.setVisibility(0); + } + checkCanCommit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameFindActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindFailActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindFailActivity.java new file mode 100755 index 00000000000..c8a8d3a3622 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFindFailActivity.java @@ -0,0 +1,54 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +public class RealNameFindFailActivity + extends BaseActivity +{ + private boolean canchange_uin; + private String mErrInfoString; + private long mRealUin; + private int mSourceId; + + private void initView() + { + this.mBackArrow.setVisibility(4); + TextView localTextView1 = (TextView)findViewById(2131296471); + TextView localTextView2 = (TextView)findViewById(2131296472); + Button localButton = (Button)findViewById(2131296473); + if (this.mSourceId == 1) { + localTextView2.setText(2131362580); + } + for (;;) + { + if ((this.mErrInfoString != null) && (this.mErrInfoString.length() > 0)) { + localTextView1.setText(this.mErrInfoString); + } + localButton.setOnClickListener(new vk(this)); + return; + localTextView2.setText(2131362579); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903065); + setNeverShowLockVerifyView(); + this.mSourceId = getIntent().getIntExtra("source_id", 0); + this.mRealUin = getIntent().getLongExtra("real_uin", 0L); + this.mErrInfoString = getIntent().getStringExtra("err_info"); + this.canchange_uin = getIntent().getBooleanExtra("canchange_uin", false); + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameFindFailActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFirstJoinActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFirstJoinActivity.java new file mode 100755 index 00000000000..aa80ae60d8f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameFirstJoinActivity.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.core.bean.RealNameStatusResult; + +public class RealNameFirstJoinActivity + extends Activity +{ + RealNameStatusResult mResult; + + private void initView() + { + setContentView(2130903101); + Button localButton = (Button)findViewById(2131296633); + TextView localTextView1 = (TextView)findViewById(2131296631); + if (this.mResult != null) { + localTextView1.setText(String.valueOf(this.mResult.reg_rank)); + } + for (;;) + { + localButton.setOnClickListener(new vl(this)); + return; + TextView localTextView2 = (TextView)findViewById(2131296630); + TextView localTextView3 = (TextView)findViewById(2131296632); + localTextView2.setText(2131362801); + localTextView3.setVisibility(8); + localTextView1.setVisibility(8); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("result")); + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameFirstJoinActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameGuidActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameGuidActivity.java new file mode 100755 index 00000000000..1fc5ebb902c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameGuidActivity.java @@ -0,0 +1,203 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable.Orientation; +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXAPIFactory; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXMediaMessage.IMediaObject; +import com.tencent.mm.sdk.openapi.WXWebpageObject; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.CommonActionSheetDialog; +import com.tencent.token.ui.base.RoundImageView; +import com.tencent.token.ui.base.ba; +import com.tencent.token.ui.base.i; +import com.tencent.token.utils.k; +import com.tencent.token.utils.t; + +public class RealNameGuidActivity + extends BaseActivity +{ + private static final int TIMELINE_SUPPORTED_VERSION = 553779201; + CommonActionSheetDialog dialog; + i listener = new vp(this); + RealNameStatusResult mResult; + private IWXAPI mWeChatApi; + Button openface; + QQUser user; + + private void initView() + { + setContentView(2130903176); + Object localObject = new ba(GradientDrawable.Orientation.BOTTOM_TOP, getResources().getColor(2131165309), getResources().getColor(2131165310)); + this.mTitleBar.setBackgroundDrawable((Drawable)localObject); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165310)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + setRightTitleImage(2130837898, new vn(this)); + ((TextView)findViewById(2131296991)).setText(String.valueOf(this.mResult.realnameday)); + localObject = (RoundImageView)findViewById(2131296984); + ImageView localImageView1 = (ImageView)findViewById(2131296985); + this.user = ax.a().e(); + if (this.user != null) + { + ((RoundImageView)localObject).setVisibility(0); + ((RoundImageView)localObject).setImageDrawable(k.a(this.user.mRealUin + "", this.user.mUin + "")); + localImageView1.setVisibility(0); + localObject = new vo(this); + localImageView1 = (ImageView)findViewById(2131296986); + ImageView localImageView2 = (ImageView)findViewById(2131296987); + ImageView localImageView3 = (ImageView)findViewById(2131296988); + localImageView1.setOnClickListener((View.OnClickListener)localObject); + localImageView2.setOnClickListener((View.OnClickListener)localObject); + localImageView3.setOnClickListener((View.OnClickListener)localObject); + this.openface = ((Button)findViewById(2131296992)); + if (t.e() == 0L) { + break label335; + } + this.openface.setVisibility(8); + } + for (;;) + { + this.openface.setOnClickListener((View.OnClickListener)localObject); + return; + localImageView1.setVisibility(8); + break; + label335: + this.openface.setVisibility(0); + } + } + + private void shareToWechat(int paramInt) + { + this.mWeChatApi = WXAPIFactory.createWXAPI(this, "wx68451b483ebd18ce", false); + this.mWeChatApi.registerApp("wx68451b483ebd18ce"); + Object localObject; + SendMessageToWX.Req localReq; + switch (paramInt) + { + default: + return; + case 0: + if (this.mWeChatApi.isWXAppInstalled()) + { + if (this.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = this.mResult.urlShare; + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = this.mResult.shareTitle; + ((WXMediaMessage)localObject).description = this.mResult.shareFriendText; + ((WXMediaMessage)localObject).setThumbImage(t.a(getResources(), 2130837851)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 0; + this.mWeChatApi.sendReq(localReq); + return; + } + showToast(getString(2131362385)); + return; + } + showWechatBindDialog(); + return; + } + if (this.mWeChatApi.isWXAppInstalled()) + { + if (this.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = this.mResult.urlShare; + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = this.mResult.shareCircleText; + ((WXMediaMessage)localObject).description = ""; + ((WXMediaMessage)localObject).setThumbImage(t.a(getResources(), 2130837851)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 1; + this.mWeChatApi.sendReq(localReq); + return; + } + showToast(getString(2131362385)); + return; + } + showWechatBindDialog(); + } + + private void showWechatBindDialog() + { + showUserDialog(2131361808, getString(2131362386), 2131361812, 2131361813, new vq(this), null); + } + + public void onBackPressed() + { + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("result")); + if (this.mResult == null) + { + finish(); + e.c("RealNameShareActivity result = null"); + } + do + { + return; + initView(); + paramBundle = RqdApplication.i().getSharedPreferences("sp_name_global", 0); + } while (!paramBundle.getBoolean("key_realname_firsttime", true)); + Intent localIntent = new Intent(this, RealNameFirstJoinActivity.class); + localIntent.putExtra("result", this.mResult); + startActivity(localIntent); + paramBundle.edit().putBoolean("key_realname_firsttime", false).commit(); + } + + protected void onResume() + { + super.onResume(); + if (t.e() != 0L) + { + this.openface.setVisibility(8); + return; + } + this.openface.setVisibility(0); + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new vm(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameGuidActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameProtectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameProtectActivity.java new file mode 100755 index 00000000000..e92ace74d0b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameProtectActivity.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import com.tencent.token.core.bean.RealNameStatusResult; + +public class RealNameProtectActivity + extends BaseActivity +{ + private RealNameStatusResult mResult; + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("realname_result")); + if (this.mResult == null) + { + finish(); + return; + } + setContentView(2130903166); + findViewById(2131296965).setOnClickListener(new vr(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameProtectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameSmsContentTipActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameSmsContentTipActivity.java new file mode 100755 index 00000000000..96fe240a040 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameSmsContentTipActivity.java @@ -0,0 +1,322 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.graphics.BitmapFactory.Options; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.core.push.a; +import com.tencent.token.db; +import com.tencent.token.global.e; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class RealNameSmsContentTipActivity + extends BaseActivity + implements Runnable +{ + private Handler _handler; + byte[] backphotoinfo; + private View btnLayout; + boolean canchange_uin; + private TextView errorTip; + byte[] frontphotoinfo; + private boolean ish5zzb; + byte[] mBackData; + String mBackPath; + private View.OnClickListener mCompleteButtonListener = new wf(this); + byte[] mFaceData; + byte[] mFrontData; + String mFrontPath; + Handler mHandler = new vu(this); + private HandlerThread mHandlerThread; + private boolean mIsActiveSuccess = false; + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private String mMobile; + private ProgressBar mPb; + private RealNameQueryResult mQueryResult; + private long mRealUin; + private RealNameStatusResult mResult; + private int mRetryTimes = 0; + private int mSceneId; + private int mSourceId; + private long mTimeConter; + private String mUin; + Runnable mVrySMSRunnable = new vs(this); + private TextView mobileNum; + private TextView okText; + private TextView smsContent; + private int upSmsSceneId; + private TextView useTip; + + private static int calculateInSampleSize(BitmapFactory.Options paramOptions, int paramInt1, int paramInt2) + { + int k = paramOptions.outHeight; + int j = paramOptions.outWidth; + int i = 1; + if ((k > paramInt2) || (j > paramInt1)) + { + paramInt2 = Math.round(k / paramInt2); + i = Math.round(j / paramInt1); + if (paramInt2 >= i) {} + } + else + { + return i; + } + return paramInt2; + } + + /* Error */ + private byte[] compressPicData(byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 150 android/graphics/BitmapFactory$Options + // 3: dup + // 4: invokespecial 165 android/graphics/BitmapFactory$Options: ()V + // 7: astore_2 + // 8: aload_2 + // 9: iconst_1 + // 10: putfield 168 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 13: aload_1 + // 14: iconst_0 + // 15: aload_1 + // 16: arraylength + // 17: aload_2 + // 18: invokestatic 174 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 21: pop + // 22: aload_2 + // 23: aload_2 + // 24: sipush 640 + // 27: sipush 640 + // 30: invokestatic 176 com/tencent/token/ui/RealNameSmsContentTipActivity:calculateInSampleSize (Landroid/graphics/BitmapFactory$Options;II)I + // 33: putfield 179 android/graphics/BitmapFactory$Options:inSampleSize I + // 36: aload_2 + // 37: iconst_0 + // 38: putfield 168 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 41: aload_1 + // 42: iconst_0 + // 43: aload_1 + // 44: arraylength + // 45: aload_2 + // 46: invokestatic 174 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 49: astore_2 + // 50: new 181 java/io/ByteArrayOutputStream + // 53: dup + // 54: invokespecial 182 java/io/ByteArrayOutputStream: ()V + // 57: astore_1 + // 58: aload_2 + // 59: getstatic 188 android/graphics/Bitmap$CompressFormat:JPEG Landroid/graphics/Bitmap$CompressFormat; + // 62: bipush 85 + // 64: aload_1 + // 65: invokevirtual 194 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 68: pop + // 69: aload_1 + // 70: invokevirtual 197 java/io/ByteArrayOutputStream:close ()V + // 73: aload_1 + // 74: invokevirtual 201 java/io/ByteArrayOutputStream:toByteArray ()[B + // 77: areturn + // 78: astore_2 + // 79: aload_2 + // 80: invokevirtual 204 java/io/IOException:printStackTrace ()V + // 83: goto -10 -> 73 + // 86: astore_2 + // 87: aload_1 + // 88: invokevirtual 197 java/io/ByteArrayOutputStream:close ()V + // 91: aload_2 + // 92: athrow + // 93: astore_1 + // 94: aload_1 + // 95: invokevirtual 204 java/io/IOException:printStackTrace ()V + // 98: goto -7 -> 91 + // Local variable table: + // start length slot name signature + // 0 101 0 this RealNameSmsContentTipActivity + // 0 101 1 paramArrayOfByte byte[] + // 7 52 2 localObject1 Object + // 78 2 2 localIOException java.io.IOException + // 86 6 2 localObject2 Object + // Exception table: + // from to target type + // 69 73 78 java/io/IOException + // 58 69 86 finally + // 87 91 93 java/io/IOException + } + + private void displaySucc() + { + dismissDialog(); + Object localObject = ax.a().d(this.mRealUin); + if (localObject != null) { + ax.a().b((QQUser)localObject); + } + ag.c().n(); + localObject = this.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + findViewById(2131296398).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + ax.a().f(Long.parseLong((String)localObject)); + a.a().a(8); + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361831, paramString, 2131361800, new wg(this)); + } + + private void uploadData() + { + if (this.mHandlerThread == null) + { + this.mHandlerThread = new HandlerThread("uploadphoto", 1); + this.mHandlerThread.start(); + } + if (this._handler == null) { + this._handler = new Handler(this.mHandlerThread.getLooper()); + } + this._handler.post(new vt(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + paramBundle = getIntent(); + this.mMobile = paramBundle.getStringExtra("realname_mobile"); + this.mSceneId = paramBundle.getIntExtra("scene_id", 0); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + this.ish5zzb = paramBundle.getBooleanExtra("ish5zzb", false); + this.upSmsSceneId = paramBundle.getIntExtra("up_sms_scene_id", -1); + if (this.upSmsSceneId == 2) + { + this.mSourceId = paramBundle.getIntExtra("source_id", 0); + this.mFrontPath = paramBundle.getStringExtra("mFrontPath"); + this.mBackPath = paramBundle.getStringExtra("mBackPath"); + this.mFaceData = paramBundle.getByteArrayExtra("mFaceData"); + this.frontphotoinfo = paramBundle.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramBundle.getByteArrayExtra("backphotoinfo"); + this.canchange_uin = paramBundle.getBooleanExtra("canchange_uin", false); + this.mQueryResult = ((RealNameQueryResult)paramBundle.getSerializableExtra("result")); + } + for (;;) + { + this.mIsActiveSuccess = false; + setContentView(2130903201); + this.useTip = ((TextView)findViewById(2131297100)); + this.smsContent = ((TextView)findViewById(2131297103)); + this.mobileNum = ((TextView)findViewById(2131297106)); + this.errorTip = ((TextView)findViewById(2131296593)); + this.okText = ((TextView)findViewById(2131297107)); + this.btnLayout = findViewById(2131296430); + this.mPb = ((ProgressBar)findViewById(2131296936)); + this.smsContent.setText(db.d); + this.mobileNum.setText(db.c); + paramBundle = String.format(getString(2131361877), new Object[] { this.mMobile }); + this.useTip.setText(paramBundle); + this.btnLayout.setOnClickListener(new wd(this)); + return; + this.mResult = ((RealNameStatusResult)paramBundle.getSerializableExtra("realname_result")); + } + } + + protected void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + protected void onResume() + { + super.onResume(); + ag.c().a.a(this.mHandler); + } + + protected void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void removeTimeTask(int paramInt) + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + e.c("removeTimeTask removeTimeTask"); + removeTimeTask(6); + Message localMessage = new Message(); + localMessage.what = 15; + this.mHandler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131362363, 2131361827, new we(this)); + } + + public void startTimeTask(int paramInt) + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameSmsContentTipActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileActivity.java new file mode 100755 index 00000000000..6ae4c0117ba --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileActivity.java @@ -0,0 +1,103 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.core.bean.RealNameStatusResult; + +public class RealNameStep0VerifyMobileActivity + extends BaseActivity +{ + byte[] backphotoinfo; + private boolean canchange_uin; + byte[] frontphotoinfo; + private boolean isShowLockVerify = false; + boolean ish5zzb; + byte[] mBackData; + String mBackPath; + private Button mChangeMobileBtnBtn; + byte[] mFaceData; + byte[] mFrontData; + String mFrontPath; + private Handler mHandler = new wh(this); + private TextView mInfo; + private TextView mMaskMobile; + private String mMobile; + private Button mNextBtn; + private RealNameQueryResult mQueryResult; + private long mRealUin; + private RealNameStatusResult mResult; + private int mSceneId; + private int mSourceId; + int pageid; + + private void initView() + { + setContentView(2130903158); + setTitle(2131362004); + this.mInfo = ((TextView)findViewById(2131296930)); + this.mMaskMobile = ((TextView)findViewById(2131296440)); + this.mNextBtn = ((Button)findViewById(2131296442)); + this.mChangeMobileBtnBtn = ((Button)findViewById(2131296931)); + if (this.mSceneId == 1001) { + this.mChangeMobileBtnBtn.setOnClickListener(new wj(this)); + } + for (;;) + { + this.mMaskMobile.setText(this.mMobile); + this.mNextBtn.setOnClickListener(new wl(this)); + return; + if (this.mSceneId == 1003) + { + this.mChangeMobileBtnBtn.setVisibility(4); + } + else + { + this.mInfo.setText(2131361819); + this.mInfo.setGravity(17); + this.mChangeMobileBtnBtn.setText(2131361824); + this.mChangeMobileBtnBtn.setOnClickListener(new wk(this)); + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.isShowLockVerify = getIntent().getBooleanExtra("not_showLockVerify", false); + this.canchange_uin = getIntent().getBooleanExtra("canchange_uin", false); + if (this.isShowLockVerify) { + setNeverShowLockVerifyView(); + } + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("realname_result")); + paramBundle = getIntent(); + this.mMobile = paramBundle.getStringExtra("realname_mobile"); + this.mSceneId = paramBundle.getIntExtra("scene_id", 1001); + this.mSourceId = paramBundle.getIntExtra("source_id", 0); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + this.pageid = paramBundle.getIntExtra("page_id", 0); + this.mFrontPath = paramBundle.getStringExtra("mFrontPath"); + this.mBackPath = paramBundle.getStringExtra("mBackPath"); + this.mFaceData = paramBundle.getByteArrayExtra("mFaceData"); + this.frontphotoinfo = paramBundle.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramBundle.getByteArrayExtra("backphotoinfo"); + this.canchange_uin = paramBundle.getBooleanExtra("canchange_uin", false); + this.mQueryResult = ((RealNameQueryResult)getIntent().getSerializableExtra("result")); + this.ish5zzb = paramBundle.getBooleanExtra("ish5zzb", false); + if ((this.mRealUin == 0L) && (ax.a().e() != null)) { + this.mRealUin = ax.a().e().mRealUin; + } + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameStep0VerifyMobileActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileDownActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileDownActivity.java new file mode 100755 index 00000000000..c4d18775589 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileDownActivity.java @@ -0,0 +1,361 @@ +package com.tencent.token.ui; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.graphics.BitmapFactory.Options; +import android.os.Bundle; +import android.os.Handler; +import android.telephony.SmsMessage; +import android.view.KeyEvent; +import android.widget.Button; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.db; +import com.tencent.token.global.e; + +public class RealNameStep0VerifyMobileDownActivity + extends BaseActivity +{ + private final int INTERVAL_TIME_AFTER_GET_SMS_1 = 61; + private final int INTERVAL_TIME_AFTER_GET_SMS_2 = 99; + private final int MSG_LOADING = 100; + private final String RECEIVE_SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED"; + private final int SMS_INTERVAL = 3000; + private final String UPDATE_INTERVAL_TIME_ACTION = "com.tencent.token.realname.VRY_MOBILE_INTERVAL"; + private final int UPDATE_TIME = -100; + byte[] backphotoinfo; + private boolean canchange_uin; + byte[] frontphotoinfo; + private boolean ish5zzb; + byte[] mBackData; + String mBackPath; + byte[] mFaceData; + byte[] mFrontData; + String mFrontPath; + private Handler mHandler = new wn(this); + private AlarmManager mIntervalAlarmMgr = null; + private PendingIntent mIntervalPending = null; + private int mIntervalTime = 61; + private boolean mIsActiveSuccess = false; + private boolean mIsAutoSumbit = false; + private boolean mIsSMSRegisted = false; + private String mMobile; + private Button mNextBtn; + private RealNameQueryResult mQueryResult; + private Button mReSendBtn; + private long mRealUin; + private RealNameStatusResult mResult; + private String mSMSPrefix; + private BroadcastReceiver mSMSReceiver = new wm(this); + private int mSceneId; + private EditText mSmsCode; + int mSourceId; + + private static int calculateInSampleSize(BitmapFactory.Options paramOptions, int paramInt1, int paramInt2) + { + int k = paramOptions.outHeight; + int j = paramOptions.outWidth; + int i = 1; + if ((k > paramInt2) || (j > paramInt1)) + { + paramInt2 = Math.round(k / paramInt2); + i = Math.round(j / paramInt1); + if (paramInt2 >= i) {} + } + else + { + return i; + } + return paramInt2; + } + + private void checkAndGetSMS() + { + e.a("interval: " + this.mIntervalTime); + if (this.mIntervalTime > 0) { + return; + } + this.mIntervalTime = 99; + updateIntervalTimer(); + af.a().a(0L, Long.valueOf(this.mRealUin), this.mSceneId, this.mHandler); + } + + /* Error */ + private byte[] compressPicData(byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 191 android/graphics/BitmapFactory$Options + // 3: dup + // 4: invokespecial 235 android/graphics/BitmapFactory$Options: ()V + // 7: astore_2 + // 8: aload_2 + // 9: iconst_1 + // 10: putfield 238 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 13: aload_1 + // 14: iconst_0 + // 15: aload_1 + // 16: arraylength + // 17: aload_2 + // 18: invokestatic 244 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 21: pop + // 22: aload_2 + // 23: aload_2 + // 24: sipush 640 + // 27: sipush 640 + // 30: invokestatic 246 com/tencent/token/ui/RealNameStep0VerifyMobileDownActivity:calculateInSampleSize (Landroid/graphics/BitmapFactory$Options;II)I + // 33: putfield 249 android/graphics/BitmapFactory$Options:inSampleSize I + // 36: aload_2 + // 37: iconst_0 + // 38: putfield 238 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 41: aload_1 + // 42: iconst_0 + // 43: aload_1 + // 44: arraylength + // 45: aload_2 + // 46: invokestatic 244 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 49: astore_2 + // 50: new 251 java/io/ByteArrayOutputStream + // 53: dup + // 54: invokespecial 252 java/io/ByteArrayOutputStream: ()V + // 57: astore_1 + // 58: aload_2 + // 59: getstatic 258 android/graphics/Bitmap$CompressFormat:JPEG Landroid/graphics/Bitmap$CompressFormat; + // 62: bipush 85 + // 64: aload_1 + // 65: invokevirtual 264 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 68: pop + // 69: aload_1 + // 70: invokevirtual 267 java/io/ByteArrayOutputStream:close ()V + // 73: aload_1 + // 74: invokevirtual 271 java/io/ByteArrayOutputStream:toByteArray ()[B + // 77: areturn + // 78: astore_2 + // 79: aload_2 + // 80: invokevirtual 274 java/io/IOException:printStackTrace ()V + // 83: goto -10 -> 73 + // 86: astore_2 + // 87: aload_1 + // 88: invokevirtual 267 java/io/ByteArrayOutputStream:close ()V + // 91: aload_2 + // 92: athrow + // 93: astore_1 + // 94: aload_1 + // 95: invokevirtual 274 java/io/IOException:printStackTrace ()V + // 98: goto -7 -> 91 + // Local variable table: + // start length slot name signature + // 0 101 0 this RealNameStep0VerifyMobileDownActivity + // 0 101 1 paramArrayOfByte byte[] + // 7 52 2 localObject1 Object + // 78 2 2 localIOException java.io.IOException + // 86 6 2 localObject2 Object + // Exception table: + // from to target type + // 69 73 78 java/io/IOException + // 58 69 86 finally + // 87 91 93 java/io/IOException + } + + private SmsMessage[] getMessage(Intent paramIntent) + { + paramIntent = (Object[])paramIntent.getSerializableExtra("pdus"); + if (paramIntent == null) { + return null; + } + int j = paramIntent.length; + SmsMessage[] arrayOfSmsMessage = new SmsMessage[j]; + int i = 0; + while (i < j) + { + arrayOfSmsMessage[i] = SmsMessage.createFromPdu((byte[])paramIntent[i]); + i += 1; + } + return arrayOfSmsMessage; + } + + private void goReUploadDialog(String paramString) + { + showUserDialog(2131361808, paramString, 2131361800, new wu(this), new wv(this)); + } + + private void initView() + { + this.mNextBtn = ((Button)findViewById(2131296932)); + this.mReSendBtn = ((Button)findViewById(2131296887)); + this.mSmsCode = ((EditText)findViewById(2131296886)); + if (this.mSmsCode != null) { + this.mSmsCode.clearFocus(); + } + String str2 = getResources().getString(2131361823) + "\n("; + String str1 = str2; + if (this.mIntervalTime < 10) { + str1 = str2 + "0"; + } + str1 = str1 + this.mIntervalTime + ")"; + this.mReSendBtn.setText(str1); + this.mReSendBtn.setTextColor(getResources().getColor(2131165197)); + this.mReSendBtn.setOnClickListener(new ws(this)); + this.mNextBtn.setOnClickListener(new wt(this)); + } + + private void registerSMSReceiver() + { + if (!this.mIsSMSRegisted) + { + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); + registerReceiver(this.mSMSReceiver, localIntentFilter, "android.permission.RECEIVE_SMS", null); + this.mIsSMSRegisted = true; + } + } + + private void setTextFromSMS(String paramString) + { + EditText localEditText = (EditText)findViewById(2131296886); + if (localEditText != null) + { + localEditText.setText(paramString); + this.mIsAutoSumbit = true; + localEditText.postDelayed(new ww(this, paramString), 3000L); + } + } + + private boolean setTime(long paramLong) + { + if (paramLong <= 0L) + { + if (this.mReSendBtn != null) + { + this.mReSendBtn.setTextColor(getResources().getColor(2131165192)); + this.mReSendBtn.setText(2131361823); + this.mReSendBtn.setTextSize(0, getResources().getDimensionPixelSize(2131230731)); + } + return false; + } + String str2 = getResources().getString(2131361823) + "\n("; + String str1 = str2; + if (this.mIntervalTime < 10) { + str1 = str2 + "0"; + } + str1 = str1 + this.mIntervalTime + ")"; + if (this.mReSendBtn != null) + { + this.mReSendBtn.setText(str1); + this.mReSendBtn.setTextColor(getResources().getColor(2131165197)); + this.mReSendBtn.setTextSize(0, getResources().getDimensionPixelSize(2131230728)); + } + return true; + } + + private void unregisterSMSReceiver() + { + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + private void updateIntervalTimer() + { + this.mIntervalTime -= 1; + if (setTime(this.mIntervalTime)) { + this.mHandler.sendEmptyMessageDelayed(-100, 1000L); + } + } + + private void vrySmsCode(String paramString) + { + af.a().a(0L, this.mRealUin, this.mSceneId, paramString, this.mHandler); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903159); + paramBundle = getIntent(); + this.mResult = ((RealNameStatusResult)paramBundle.getSerializableExtra("realname_result")); + this.mMobile = paramBundle.getStringExtra("realname_mobile"); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + this.mSceneId = paramBundle.getIntExtra("scene_id", 1001); + this.mFrontPath = paramBundle.getStringExtra("mFrontPath"); + this.mBackPath = paramBundle.getStringExtra("mBackPath"); + this.mFaceData = paramBundle.getByteArrayExtra("mFaceData"); + this.frontphotoinfo = paramBundle.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramBundle.getByteArrayExtra("backphotoinfo"); + this.canchange_uin = paramBundle.getBooleanExtra("canchange_uin", false); + this.mSourceId = paramBundle.getIntExtra("source_id", 0); + if (db.e == null) { + db.e = getString(2131361825); + } + this.ish5zzb = paramBundle.getBooleanExtra("ish5zzb", false); + this.mSMSPrefix = db.e; + this.mQueryResult = ((RealNameQueryResult)paramBundle.getSerializableExtra("result")); + this.mIsActiveSuccess = false; + registerSMSReceiver(); + initView(); + updateIntervalTimer(); + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mHandler != null) { + this.mHandler.removeMessages(-100); + } + } + + protected void onPause() + { + super.onPause(); + e.a("pause"); + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + protected void onResume() + { + super.onResume(); + registerSMSReceiver(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameStep0VerifyMobileDownActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileUpActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileUpActivity.java new file mode 100755 index 00000000000..68def9fca59 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep0VerifyMobileUpActivity.java @@ -0,0 +1,235 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.graphics.BitmapFactory.Options; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.e; + +public class RealNameStep0VerifyMobileUpActivity + extends BaseActivity +{ + byte[] backphotoinfo; + boolean canchange_uin; + byte[] frontphotoinfo; + private boolean ish5zzb; + byte[] mBackData; + String mBackPath; + private Button mChangeBtn; + byte[] mFaceData; + byte[] mFrontData; + String mFrontPath; + private Handler mHandler = new wy(this); + private boolean mIsActiveSuccess = false; + private String mMobile; + private Button mNextBtn; + private RealNameQueryResult mQueryResult; + private long mRealUin; + private RealNameStatusResult mResult; + private int mRetryTimes = 0; + private int mSceneId; + int mSourceId; + Runnable mVrySMSRunnable = new wx(this); + + private static int calculateInSampleSize(BitmapFactory.Options paramOptions, int paramInt1, int paramInt2) + { + int k = paramOptions.outHeight; + int j = paramOptions.outWidth; + int i = 1; + if ((k > paramInt2) || (j > paramInt1)) + { + paramInt2 = Math.round(k / paramInt2); + i = Math.round(j / paramInt1); + if (paramInt2 >= i) {} + } + else + { + return i; + } + return paramInt2; + } + + /* Error */ + private byte[] compressPicData(byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 98 android/graphics/BitmapFactory$Options + // 3: dup + // 4: invokespecial 113 android/graphics/BitmapFactory$Options: ()V + // 7: astore_2 + // 8: aload_2 + // 9: iconst_1 + // 10: putfield 116 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 13: aload_1 + // 14: iconst_0 + // 15: aload_1 + // 16: arraylength + // 17: aload_2 + // 18: invokestatic 122 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 21: pop + // 22: aload_2 + // 23: aload_2 + // 24: sipush 640 + // 27: sipush 640 + // 30: invokestatic 124 com/tencent/token/ui/RealNameStep0VerifyMobileUpActivity:calculateInSampleSize (Landroid/graphics/BitmapFactory$Options;II)I + // 33: putfield 127 android/graphics/BitmapFactory$Options:inSampleSize I + // 36: aload_2 + // 37: iconst_0 + // 38: putfield 116 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 41: aload_1 + // 42: iconst_0 + // 43: aload_1 + // 44: arraylength + // 45: aload_2 + // 46: invokestatic 122 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 49: astore_2 + // 50: new 129 java/io/ByteArrayOutputStream + // 53: dup + // 54: invokespecial 130 java/io/ByteArrayOutputStream: ()V + // 57: astore_1 + // 58: aload_2 + // 59: getstatic 136 android/graphics/Bitmap$CompressFormat:JPEG Landroid/graphics/Bitmap$CompressFormat; + // 62: bipush 85 + // 64: aload_1 + // 65: invokevirtual 142 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 68: pop + // 69: aload_1 + // 70: invokevirtual 145 java/io/ByteArrayOutputStream:close ()V + // 73: aload_1 + // 74: invokevirtual 149 java/io/ByteArrayOutputStream:toByteArray ()[B + // 77: areturn + // 78: astore_2 + // 79: aload_2 + // 80: invokevirtual 152 java/io/IOException:printStackTrace ()V + // 83: goto -10 -> 73 + // 86: astore_2 + // 87: aload_1 + // 88: invokevirtual 145 java/io/ByteArrayOutputStream:close ()V + // 91: aload_2 + // 92: athrow + // 93: astore_1 + // 94: aload_1 + // 95: invokevirtual 152 java/io/IOException:printStackTrace ()V + // 98: goto -7 -> 91 + // Local variable table: + // start length slot name signature + // 0 101 0 this RealNameStep0VerifyMobileUpActivity + // 0 101 1 paramArrayOfByte byte[] + // 7 52 2 localObject1 java.lang.Object + // 78 2 2 localIOException java.io.IOException + // 86 6 2 localObject2 java.lang.Object + // Exception table: + // from to target type + // 69 73 78 java/io/IOException + // 58 69 86 finally + // 87 91 93 java/io/IOException + } + + private void initView() + { + ((TextView)findViewById(2131296440)).setText(this.mMobile); + this.mNextBtn = ((Button)findViewById(2131296442)); + this.mNextBtn.setOnClickListener(new xe(this)); + this.mChangeBtn = ((Button)findViewById(2131296443)); + this.mChangeBtn.setOnClickListener(new xf(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + this.mHandler.sendEmptyMessage(3); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903160); + paramBundle = getIntent(); + this.mResult = ((RealNameStatusResult)paramBundle.getSerializableExtra("realname_result")); + this.mMobile = paramBundle.getStringExtra("realname_mobile"); + this.mSceneId = paramBundle.getIntExtra("scene_id", 1001); + this.mRealUin = paramBundle.getLongExtra("real_uin", 0L); + this.mFrontPath = paramBundle.getStringExtra("mFrontPath"); + this.mBackPath = paramBundle.getStringExtra("mBackPath"); + this.mFaceData = paramBundle.getByteArrayExtra("mFaceData"); + this.frontphotoinfo = paramBundle.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramBundle.getByteArrayExtra("backphotoinfo"); + this.canchange_uin = paramBundle.getBooleanExtra("canchange_uin", false); + this.mSourceId = paramBundle.getIntExtra("source_id", 0); + this.ish5zzb = paramBundle.getBooleanExtra("ish5zzb", false); + this.mQueryResult = ((RealNameQueryResult)paramBundle.getSerializableExtra("result")); + this.mIsActiveSuccess = false; + initView(); + } + + public void onDestroy() + { + super.onDestroy(); + } + + public void onResume() + { + super.onResume(); + ag.c().a.a(this.mHandler); + } + + public void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void sendUpSmsBySMSAPP(String paramString1, String paramString2) + { + try + { + paramString1 = new Intent("android.intent.action.SENDTO", Uri.parse("smsto:" + paramString1)); + paramString1.putExtra("sms_body", paramString2); + startActivityForResult(paramString1, 0); + return; + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + e.b(paramString1.toString()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameStep0VerifyMobileUpActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep1InputNameIdActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep1InputNameIdActivity.java new file mode 100755 index 00000000000..3a927fe7200 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameStep1InputNameIdActivity.java @@ -0,0 +1,510 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.graphics.BitmapFactory.Options; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.text.Html; +import android.text.TextUtils; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewTreeObserver; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.RealNameRegResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.utils.s; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class RealNameStep1InputNameIdActivity + extends BaseActivity +{ + private final String RECEIVE_SMS_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; + private final int START_ANIM = 0; + private final String UPDATE_INTERVAL_TIME_ACTION = "com.tencent.token.realname.AUDIT_INTERVAL"; + private final int UPDATE_TIME = -100; + private Handler _handler; + private byte[] backphotoinfo; + private LinearLayout baselayout; + private boolean checkid; + private byte[] frontphotoinfo; + private boolean isGetQryIdResult = false; + private boolean isValidId = false; + private long mAuditTime; + private boolean mAutoIDCardDetect = true; + private byte[] mBackData; + private String mBackPath; + private TextView mChanceLeft; + Dialog mDialog; + private byte[] mFaceData; + private byte[] mFrontData; + private String mFrontPath; + private Handler mHandler = new xg(this); + private HandlerThread mHandlerThread; + private EditText mId; + private ProgressBar mIdPb; + private boolean mIsNETRegisted; + private boolean mIsRegOk = false; + private EditText mName; + private Button mNext; + private int mOpType = 1; + private long mRealUin = 0L; + private RealNameStatusResult mResult; + private View mScanFaceLayout; + private ImageView mScanFaceOk; + private View mScanIdLayout; + private ImageView mScanIdOk; + private TextView mTip1; + private TextView mTip3; + private TextView mTipText; + private ak mView; + private BroadcastReceiver mnetReceiver = new xy(this); + private ScrollView scrollView; + private View toastView = null; + private RelativeLayout topToast; + private TextView topToastText; + + private void back2RealNameActivity() + { + Intent localIntent = new Intent(this, RealNameActivity.class); + localIntent.addFlags(67108864); + localIntent.putExtra("realname_result", this.mResult); + startActivity(localIntent); + } + + private static int calculateInSampleSize(BitmapFactory.Options paramOptions, int paramInt1, int paramInt2) + { + int k = paramOptions.outHeight; + int j = paramOptions.outWidth; + int i = 1; + if ((k > paramInt2) || (j > paramInt1)) + { + paramInt2 = Math.round(k / paramInt2); + i = Math.round(j / paramInt1); + if (paramInt2 >= i) {} + } + else + { + return i; + } + return paramInt2; + } + + private boolean checkCanCommit() + { + String str1 = this.mName.getText().toString(); + String str2 = this.mId.getText().toString(); + if ((str1 != null) && (str1.length() > 0) && (str2 != null) && (str2.length() > 0) && (this.mScanFaceOk.getVisibility() == 0) && (this.mScanIdOk.getVisibility() == 0) && (this.isValidId)) {} + for (int i = 1;; i = 0) + { + if (i != 0) + { + this.mNext.setTextAppearance(this, 2131427381); + this.mNext.setBackgroundResource(2130837549); + this.mNext.setEnabled(true); + return true; + } + this.mNext.setTextAppearance(this, 2131427335); + this.mNext.setBackgroundResource(2130837636); + this.mNext.setEnabled(false); + return false; + } + } + + private void checkIdCard() + { + String str = this.mId.getText().toString(); + if (isVaildID(str)) + { + this.mIdPb.setVisibility(0); + af.a().a(s.f(this.mRealUin), this.mRealUin, str, this.mHandler); + return; + } + this.mTipText.setVisibility(0); + if (TextUtils.isEmpty(str)) + { + this.mTipText.setText(getResources().getString(2131362554)); + this.mTipText.setTextColor(-7829368); + if ((this.toastView == null) || (this.toastView.getVisibility() != 0)) { + break label182; + } + this.scrollView.scrollTo(0, this.mTipText.getMeasuredHeight() + s.a(this, 20.0F) + this.toastView.getMeasuredHeight()); + } + for (;;) + { + this.isValidId = false; + checkCanCommit(); + return; + this.mTipText.setText(getResources().getString(2131362553)); + this.mTipText.setTextColor(-65536); + break; + label182: + this.scrollView.scrollTo(0, this.mTipText.getMeasuredHeight() + s.a(this, 20.0F)); + } + } + + /* Error */ + private byte[] compressPicData(byte[] paramArrayOfByte) + { + // Byte code: + // 0: new 268 android/graphics/BitmapFactory$Options + // 3: dup + // 4: invokespecial 397 android/graphics/BitmapFactory$Options: ()V + // 7: astore_2 + // 8: aload_2 + // 9: iconst_1 + // 10: putfield 400 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 13: aload_1 + // 14: iconst_0 + // 15: aload_1 + // 16: arraylength + // 17: aload_2 + // 18: invokestatic 406 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 21: pop + // 22: aload_2 + // 23: aload_2 + // 24: sipush 640 + // 27: sipush 640 + // 30: invokestatic 408 com/tencent/token/ui/RealNameStep1InputNameIdActivity:calculateInSampleSize (Landroid/graphics/BitmapFactory$Options;II)I + // 33: putfield 411 android/graphics/BitmapFactory$Options:inSampleSize I + // 36: aload_2 + // 37: iconst_0 + // 38: putfield 400 android/graphics/BitmapFactory$Options:inJustDecodeBounds Z + // 41: aload_1 + // 42: iconst_0 + // 43: aload_1 + // 44: arraylength + // 45: aload_2 + // 46: invokestatic 406 android/graphics/BitmapFactory:decodeByteArray ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; + // 49: astore_2 + // 50: new 413 java/io/ByteArrayOutputStream + // 53: dup + // 54: invokespecial 414 java/io/ByteArrayOutputStream: ()V + // 57: astore_1 + // 58: aload_2 + // 59: getstatic 420 android/graphics/Bitmap$CompressFormat:JPEG Landroid/graphics/Bitmap$CompressFormat; + // 62: bipush 85 + // 64: aload_1 + // 65: invokevirtual 426 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 68: pop + // 69: aload_1 + // 70: invokevirtual 429 java/io/ByteArrayOutputStream:close ()V + // 73: aload_1 + // 74: invokevirtual 433 java/io/ByteArrayOutputStream:toByteArray ()[B + // 77: areturn + // 78: astore_2 + // 79: aload_2 + // 80: invokevirtual 436 java/io/IOException:printStackTrace ()V + // 83: goto -10 -> 73 + // 86: astore_2 + // 87: aload_1 + // 88: invokevirtual 429 java/io/ByteArrayOutputStream:close ()V + // 91: aload_2 + // 92: athrow + // 93: astore_1 + // 94: aload_1 + // 95: invokevirtual 436 java/io/IOException:printStackTrace ()V + // 98: goto -7 -> 91 + // Local variable table: + // start length slot name signature + // 0 101 0 this RealNameStep1InputNameIdActivity + // 0 101 1 paramArrayOfByte byte[] + // 7 52 2 localObject1 Object + // 78 2 2 localIOException java.io.IOException + // 86 6 2 localObject2 Object + // Exception table: + // from to target type + // 69 73 78 java/io/IOException + // 58 69 86 finally + // 87 91 93 java/io/IOException + } + + private void dosuccess(RealNameRegResult paramRealNameRegResult) + { + dismissDialog(); + setContentView(2130903164); + setTitle(2131362604); + this.mAuditTime = paramRealNameRegResult.time_left; + this.mTip3 = ((TextView)findViewById(2131296961)); + this.mTip3.setText(Html.fromHtml(String.format(getResources().getString(2131362777), new Object[] { Integer.valueOf(paramRealNameRegResult.chance_left) }))); + this.mTip1 = ((TextView)findViewById(2131296955)); + this.mTip1.setText(String.format(getResources().getString(2131362775), new Object[] { Integer.valueOf(paramRealNameRegResult.dispatch_time), Integer.valueOf(paramRealNameRegResult.daily_zzb_cnt) })); + this.mResult.mRealStatus = 2; + this.mResult.mLeftTime = paramRealNameRegResult.time_left; + this.mResult.mCompleteTime = paramRealNameRegResult.complete_time; + this.mResult.mSubmitTime = paramRealNameRegResult.submit_time; + this.mResult.chanceLeft = paramRealNameRegResult.chance_left; + this.mResult.mDailyZzbCnt = paramRealNameRegResult.daily_zzb_cnt; + this.mResult.mMsgText = paramRealNameRegResult.top_msg_text; + this.mIsRegOk = true; + this.topToast = ((RelativeLayout)findViewById(2131296950)); + this.topToastText = ((TextView)findViewById(2131296784)); + if ((!TextUtils.isEmpty(paramRealNameRegResult.top_msg_text)) && (paramRealNameRegResult.chance_left > 0)) + { + this.topToast.setVisibility(0); + this.topToastText.setText(paramRealNameRegResult.top_msg_text); + } + this.mBackArrow.setOnClickListener(new xu(this)); + } + + private void initView() + { + this.toastView = findViewById(2131297337); + this.scrollView = ((ScrollView)findViewById(2131296934)); + this.mResult = ((RealNameStatusResult)getIntent().getSerializableExtra("realname_result")); + this.mRealUin = getIntent().getLongExtra("real_uin", 0L); + this.mName = ((EditText)findViewById(2131296804)); + this.mId = ((EditText)findViewById(2131296935)); + if ((this.mName != null) && (this.mId != null)) + { + this.mName.clearFocus(); + this.mId.clearFocus(); + } + this.mIdPb = ((ProgressBar)findViewById(2131296936)); + this.mTipText = ((TextView)findViewById(2131296593)); + this.mNext = ((Button)findViewById(2131296932)); + this.mScanFaceOk = ((ImageView)findViewById(2131296939)); + this.mScanIdOk = ((ImageView)findViewById(2131296942)); + this.mScanFaceLayout = findViewById(2131296937); + this.mScanIdLayout = findViewById(2131296940); + this.mName.addTextChangedListener(new ya(this)); + this.mId.addTextChangedListener(new yb(this)); + this.mId.setOnFocusChangeListener(new yc(this)); + this.mId.setOnEditorActionListener(new yd(this)); + ScrollView localScrollView = (ScrollView)findViewById(2131296934); + localScrollView.getViewTreeObserver().addOnGlobalLayoutListener(new xn(this, localScrollView)); + this.mScanFaceLayout.setOnClickListener(new xo(this)); + this.mScanIdLayout.setOnClickListener(new xp(this)); + this.mNext.setOnClickListener(new xq(this)); + this.baselayout = ((LinearLayout)findViewById(2131296933)); + this.mView = new ak(getApplicationContext(), this.lineImg, this.arcImg); + this.animLayout.addView(this.mView); + } + + private boolean isVaildID(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return false; + } + return Pattern.compile("([0-9]{17}([0-9]|X|x))|([0-9]{15})").matcher(paramString).matches(); + } + + private void registerNETReceiver() + { + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); + registerReceiver(this.mnetReceiver, localIntentFilter, "android.permission.ACCESS_WIFI_STATE", null); + this.mIsNETRegisted = true; + } + + private void showErrDialog(String paramString, boolean paramBoolean1, boolean paramBoolean2) + { + int i = 2131361804; + if (paramBoolean2) { + i = 2131361803; + } + showUserDialog(2131361808, paramString, 2131361914, i, new xv(this, paramBoolean1), new xx(this, paramBoolean2)); + } + + private void startAnim() + { + this.animLayout.setVisibility(0); + this.animLayout.setClickable(true); + this.animLayout.setFocusable(true); + this.animLayout.setFocusableInTouchMode(true); + this.animLayout.requestFocus(); + this.animLayout.requestFocusFromTouch(); + this.baselayout.setEnabled(false); + this.mView.c(); + } + + private void unregisterNETReceiver() + { + if (this.mIsNETRegisted) + { + unregisterReceiver(this.mnetReceiver); + this.mIsNETRegisted = false; + } + } + + private void uploadData() + { + if (this.mHandlerThread == null) + { + this.mHandlerThread = new HandlerThread("uploadphoto", 1); + this.mHandlerThread.start(); + } + if (this._handler == null) { + this._handler = new Handler(this.mHandlerThread.getLooper()); + } + this._handler.post(new xt(this)); + startAnim(); + } + + public void dismiss() + { + if (isFinishing()) {} + for (;;) + { + return; + try + { + if (this.mDialog != null) + { + this.mDialog.cancel(); + this.mDialog = null; + return; + } + } + catch (Exception localException) + { + e.b(localException.toString()); + } + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((!this.mIsRegOk) || (paramKeyEvent.getAction() != 0)) { + break label55; + } + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + back2RealNameActivity(); + return true; + label55: + int i = this.animLayout.getVisibility(); + if (i == 0) { + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt1 == 1) { + if ((paramInt2 == 0) && (paramIntent != null) && (paramIntent.getByteArrayExtra("facedata") != null) && (paramIntent.getByteArrayExtra("facedata").length > 0)) + { + this.mFaceData = paramIntent.getByteArrayExtra("facedata"); + e.a("realname facedata len=" + this.mFaceData.length); + this.mScanFaceOk.setVisibility(0); + p.a().a(System.currentTimeMillis(), 85); + checkCanCommit(); + } + } + for (;;) + { + if (!this.isGetQryIdResult) { + checkIdCard(); + } + return; + if (paramInt1 == 2) { + if (paramInt2 == 1) + { + Intent localIntent = new Intent(this, RealNameTakeIDPhotoActivity.class); + if ((paramIntent.getStringExtra("frontdata") != null) && (paramIntent.getStringExtra("frontdata").length() > 0)) + { + this.mFrontPath = paramIntent.getStringExtra("frontdata"); + this.frontphotoinfo = paramIntent.getByteArrayExtra("frontphotoinfo"); + localIntent.putExtra("frontdata", this.mFrontPath); + } + localIntent.putExtra("scene", 2); + startActivityForResult(localIntent, 2); + } + else if ((paramInt2 == 0) && (paramIntent != null) && (paramIntent.getStringExtra("frontdata") != null) && (paramIntent.getStringExtra("frontdata").length() > 0) && (paramIntent.getStringExtra("backdata") != null) && (paramIntent.getStringExtra("backdata").length() > 0)) + { + this.mFrontPath = paramIntent.getStringExtra("frontdata"); + this.mBackPath = paramIntent.getStringExtra("backdata"); + this.frontphotoinfo = paramIntent.getByteArrayExtra("frontphotoinfo"); + this.backphotoinfo = paramIntent.getByteArrayExtra("backphotoinfo"); + e.a("realname id frontlen=" + this.mFrontPath.length() + ", backlen=" + this.mBackPath.length()); + this.mScanIdOk.setVisibility(0); + p.a().a(System.currentTimeMillis(), 86); + checkCanCommit(); + } + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903161); + initView(); + registerNETReceiver(); + af.a().n(-1L, this.mHandler); + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mIsNETRegisted) + { + unregisterReceiver(this.mnetReceiver); + this.mIsNETRegisted = false; + } + } + + public void showUserDialogComfig(int paramInt1, String paramString1, String paramString2, int paramInt2, View.OnClickListener paramOnClickListener1, View.OnClickListener paramOnClickListener2) + { + if (isFinishing()) { + return; + } + dismiss(); + this.mDialog = new Dialog(this, 2131427443); + this.mDialog.setContentView(paramInt1); + if (paramInt2 != 0) { + ((ImageView)this.mDialog.findViewById(2131296966)).setImageResource(paramInt2); + } + if (paramString1 != null) { + ((TextView)this.mDialog.findViewById(2131296404)).setText(paramString1); + } + if (paramString2 != null) { + ((TextView)this.mDialog.findViewById(2131296804)).setText(paramString2); + } + paramString1 = (Button)this.mDialog.findViewById(2131296514); + if (paramString1 != null) { + paramString1.setOnClickListener(paramOnClickListener2); + } + paramString1 = (Button)this.mDialog.findViewById(2131296516); + if (paramString1 != null) { + paramString1.setOnClickListener(paramOnClickListener1); + } + this.mDialog.show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameStep1InputNameIdActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoActivity.java new file mode 100755 index 00000000000..b75ff9a72a3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoActivity.java @@ -0,0 +1,158 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.PowerManager; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.Window; +import android.view.animation.Animation; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.cu; + +public class RealNameTakeIDPhotoActivity + extends BaseActivity +{ + private Handler handler = new yi(this); + int height; + private String mBackPath; + private boolean mCanTakePic = true; + private int mCurrentStep = 1; + private String mFrontPath; + private boolean mIsAnimation = false; + private ImageView mPhotoBorder; + private RealNameTakeIDPhotoPreview mPreview; + private int mScene = 1; + private ImageView mTakePicBtn; + private TextView mTipTxt; + PowerManager wakeLock; + int width; + + private void destroyview() + { + this.mTakePicBtn = null; + this.mPhotoBorder = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + } + + private void initView() + { + setContentView(2130903177); + hideTitle(); + findViewById(2131296490).setOnClickListener(new ye(this)); + this.mPreview = ((RealNameTakeIDPhotoPreview)findViewById(2131296481)); + this.mPhotoBorder = ((ImageView)findViewById(2131296482)); + this.mPhotoBorder.setImageResource(2130837822); + this.mTipTxt = ((TextView)findViewById(2131296487)); + if (this.mCurrentStep == 2) + { + this.mTipTxt.setText(2131362515); + if (!this.mIsAnimation) { + this.mPhotoBorder.setImageResource(2130837821); + } + } + this.mTakePicBtn = ((ImageView)findViewById(2131296993)); + this.mTakePicBtn.setOnClickListener(new yf(this)); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + e.c("resultCoderesultCode=" + paramInt2); + if (paramInt2 == 10) { + if (this.mCurrentStep == 1) { + this.mFrontPath = null; + } + } + do + { + do + { + do + { + return; + } while (this.mCurrentStep != 1); + this.mBackPath = null; + return; + } while (paramInt2 != 20); + if (this.mCurrentStep == 1) + { + this.mCurrentStep += 1; + this.mIsAnimation = true; + e.c("onActivityResulton ccurrent_step=" + this.mCurrentStep); + return; + } + } while (this.mCurrentStep != 2); + paramIntent = new Intent(); + paramIntent.putExtra("frontdata", this.mFrontPath); + paramIntent.putExtra("backdata", this.mBackPath); + e.c("step2 onActivityResult!!!"); + setResult(0, paramIntent); + finish(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + requestWindowFeature(1); + getWindow().setFlags(128, 128); + this.mScene = getIntent().getIntExtra("scene", 1); + if ((getIntent().getStringExtra("frontdata") != null) && (getIntent().getStringExtra("frontdata").length() > 0)) + { + this.mFrontPath = getIntent().getStringExtra("frontdata"); + this.mCurrentStep = 2; + } + initView(); + } + + protected void onPause() + { + super.onPause(); + if (this.mPreview.a != null) { + this.mPreview.a(); + } + this.mTakePicBtn = null; + this.mPhotoBorder = null; + if (this.mPreview != null) + { + this.mPreview.a(); + this.mPreview = null; + } + System.gc(); + } + + protected void onResume() + { + super.onResume(); + initView(); + this.mPreview.a(this, this.handler); + if (this.mIsAnimation) + { + this.mCanTakePic = false; + int i = View.MeasureSpec.makeMeasureSpec(0, 0); + int j = View.MeasureSpec.makeMeasureSpec(0, 0); + this.mPhotoBorder.measure(i, j); + this.height = this.mPhotoBorder.getMeasuredHeight(); + this.width = this.mPhotoBorder.getMeasuredWidth(); + cu localcu = new cu(0.0F, 90.0F, this.width / 2, this.height / 2, true); + localcu.setDuration(400L); + localcu.setFillAfter(true); + localcu.setAnimationListener(new yh(this)); + this.mPhotoBorder.startAnimation(localcu); + this.mIsAnimation = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameTakeIDPhotoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoPreview.java b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoPreview.java new file mode 100755 index 00000000000..b2a4ce0b34d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/RealNameTakeIDPhotoPreview.java @@ -0,0 +1,326 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.hardware.Camera; +import android.hardware.Camera.AutoFocusCallback; +import android.hardware.Camera.CameraInfo; +import android.hardware.Camera.Parameters; +import android.hardware.Camera.Size; +import android.os.Handler; +import android.os.Message; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.SurfaceHolder; +import android.view.SurfaceHolder.Callback; +import android.view.SurfaceView; +import com.tencent.token.global.e; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +public class RealNameTakeIDPhotoPreview + extends SurfaceView + implements Camera.AutoFocusCallback, SurfaceHolder.Callback +{ + public Camera a; + private SurfaceHolder b; + private int c; + private int d; + private int e; + private int f; + private int g; + private int h; + private Timer i; + private TimerTask j; + private Handler k; + + public RealNameTakeIDPhotoPreview(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + paramContext = paramContext.getResources().getDisplayMetrics(); + this.g = paramContext.widthPixels; + this.h = paramContext.heightPixels; + if (this.g < this.h) + { + this.g = paramContext.heightPixels; + this.h = paramContext.widthPixels; + } + e.b("screenWidth =" + this.g + ",screenHeight=" + this.h); + } + + private static String a(Collection paramCollection, String... paramVarArgs) + { + int m; + String str; + if (paramCollection != null) + { + int n = paramVarArgs.length; + m = 0; + if (m < n) + { + str = paramVarArgs[m]; + if (!paramCollection.contains(str)) {} + } + } + for (paramCollection = str;; paramCollection = null) + { + e.b("resolution Settable value: " + paramCollection); + return paramCollection; + m += 1; + break; + } + } + + private static void a(Camera paramCamera, int paramInt) + { + try + { + Method localMethod = paramCamera.getClass().getMethod("setDisplayOrientation", new Class[] { Integer.TYPE }); + if (localMethod != null) { + localMethod.invoke(paramCamera, new Object[] { Integer.valueOf(paramInt) }); + } + return; + } + catch (Exception paramCamera) {} + } + + private void a(List paramList) + { + this.c = ((Camera.Size)paramList.get(0)).width; + this.e = ((Camera.Size)paramList.get(0)).height; + int m = 1; + while (m < paramList.size()) + { + if (Math.abs(this.c / this.e - this.g / this.h) > Math.abs(((Camera.Size)paramList.get(m)).width / ((Camera.Size)paramList.get(m)).height - this.g / this.h)) + { + this.c = ((Camera.Size)paramList.get(m)).width; + this.e = ((Camera.Size)paramList.get(m)).height; + } + m += 1; + } + e.c("debug------------bestPreviewWidth=" + this.c + ",bestPreviewHeight=" + this.e + ", screenWidth=" + this.g + ",screenHeight=" + this.h); + } + + private void b(List paramList) + { + this.d = ((Camera.Size)paramList.get(0)).width; + this.f = ((Camera.Size)paramList.get(0)).height; + int m = 1; + while (m < paramList.size()) + { + double d1 = Math.abs(this.d / this.f - this.g / this.h); + double d2 = Math.abs(((Camera.Size)paramList.get(m)).width / ((Camera.Size)paramList.get(m)).height - this.g / this.h); + if (d1 > d2) + { + this.d = ((Camera.Size)paramList.get(m)).width; + this.f = ((Camera.Size)paramList.get(m)).height; + if ((d1 == d2) && (this.d < ((Camera.Size)paramList.get(m)).width)) + { + this.d = ((Camera.Size)paramList.get(m)).width; + this.f = ((Camera.Size)paramList.get(m)).height; + } + } + m += 1; + } + e.c("debug------------mPictureWidth=" + this.d + ",mPictureHeight=" + this.f); + } + + public final void a() + { + if (this.a != null) + { + this.a.setPreviewCallback(null); + this.a.stopPreview(); + this.a.release(); + this.a = null; + } + if (this.i != null) + { + this.i.cancel(); + this.i = null; + } + if (this.j != null) + { + this.j.cancel(); + this.j = null; + } + } + + public final void a(Context paramContext, Handler paramHandler) + { + this.k = paramHandler; + paramHandler = new Camera.CameraInfo(); + int n = Camera.getNumberOfCameras(); + int m = 0; + for (;;) + { + if (m < n) + { + Camera.getCameraInfo(m, paramHandler); + if (paramHandler.facing == 0) {} + try + { + this.a = Camera.open(m); + m += 1; + } + catch (RuntimeException localRuntimeException) + { + for (;;) + { + e.c("CameraOpen camera=" + this.a); + localRuntimeException.printStackTrace(); + } + } + } + } + if (this.a == null) + { + e.c("CameraOpen camera=" + this.a); + paramHandler = this.k.obtainMessage(0); + paramHandler.what = 2; + paramHandler.sendToTarget(); + } + this.b = getHolder(); + this.b.addCallback(this); + this.b.setType(3); + paramContext = paramContext.getResources().getDisplayMetrics(); + this.g = paramContext.widthPixels; + this.h = paramContext.heightPixels; + if (this.g < this.h) + { + this.g = paramContext.heightPixels; + this.h = paramContext.widthPixels; + } + e.b("screenWidth =" + this.g + ",screenHeight=" + this.h); + } + + public void onAutoFocus(boolean paramBoolean, Camera paramCamera) {} + + public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) + { + int m = 0; + if (this.b.getSurface() == null) {} + for (;;) + { + return; + try + { + this.a.stopPreview(); + e.b("width =" + paramInt2 + ",height=" + paramInt3); + if (this.a == null) { + continue; + } + } + catch (Exception paramSurfaceHolder) + { + try + { + Object localObject1; + for (;;) + { + paramSurfaceHolder = this.a.getParameters(); + paramSurfaceHolder.setPictureFormat(256); + localObject1 = this.a.getParameters().getSupportedPictureSizes(); + if (localObject1 == null) { + break; + } + paramInt1 = 0; + while (paramInt1 < ((List)localObject1).size()) + { + localObject2 = (Camera.Size)((List)localObject1).get(paramInt1); + e.b("picSizes,width: " + ((Camera.Size)localObject2).width + " height" + ((Camera.Size)localObject2).height); + paramInt1 += 1; + } + paramSurfaceHolder = paramSurfaceHolder; + paramSurfaceHolder.printStackTrace(); + } + Object localObject2 = this.a.getParameters().getSupportedPreviewSizes(); + if (localObject2 != null) + { + paramInt1 = m; + while (paramInt1 < ((List)localObject2).size()) + { + Camera.Size localSize = (Camera.Size)((List)localObject2).get(paramInt1); + e.b("presize,width: " + localSize.width + " height" + localSize.height); + paramInt1 += 1; + } + } + if (getResources().getConfiguration().orientation != 2) + { + a(this.a, 90); + label293: + a((List)localObject2); + b((List)localObject1); + paramSurfaceHolder.setPreviewSize(this.c, this.e); + paramSurfaceHolder.setPictureSize(this.d, this.f); + e.c("mPreviewWidth!" + this.c); + e.c("mPreviewHeight!" + this.e); + e.c("mPictureWidth!" + this.d); + e.c("mPictureHeight!" + this.f); + localObject1 = a(paramSurfaceHolder.getSupportedFocusModes(), new String[] { "continuous-video" }); + if (localObject1 == null) { + break label569; + } + paramSurfaceHolder.setFocusMode((String)localObject1); + } + for (;;) + { + this.a.setParameters(paramSurfaceHolder); + this.a.startPreview(); + if ((!this.a.getParameters().getFocusMode().equals("auto")) && (!this.a.getParameters().getFocusMode().equals("macro"))) { + break; + } + this.i = new Timer(false); + this.j = new yk(this); + this.i.schedule(this.j, 500L, 2000L); + return; + a(this.a, 0); + break label293; + label569: + localObject1 = a(paramSurfaceHolder.getSupportedFocusModes(), new String[] { "auto" }); + if (localObject1 != null) { + paramSurfaceHolder.setFocusMode((String)localObject1); + } + } + return; + } + catch (Exception paramSurfaceHolder) {} + } + } + } + + public void surfaceCreated(SurfaceHolder paramSurfaceHolder) + { + try + { + this.a.setPreviewDisplay(this.b); + this.a.startPreview(); + return; + } + catch (Exception paramSurfaceHolder) + { + do + { + paramSurfaceHolder.printStackTrace(); + } while (this.a == null); + this.a.release(); + this.a = null; + } + } + + public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) + { + e.c("surfaceDestroyed!"); + a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.RealNameTakeIDPhotoPreview + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginAccountListActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginAccountListActivity.java new file mode 100755 index 00000000000..f38cd7af353 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginAccountListActivity.java @@ -0,0 +1,83 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ListView; +import com.tencent.qbardemo.MainActivity; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +public class ScanLoginAccountListActivity + extends BaseActivity +{ + private QQUser mActionUser; + private yq mAdapter; + public View.OnClickListener mDeleteListener = new yn(this); + private Handler mHandler = new yl(this); + private ListView mListView; + public View.OnClickListener mLoginListener = new ym(this); + private String mQQUin; + private byte[] mScanCode; + private x mScanLoginManager; + private Button mTitleButton; + public View.OnClickListener mTitleButtonListener = new yp(this); + + private void initUI() + { + this.mListView = ((ListView)findViewById(2131297023)); + this.mAdapter = new yq(this); + this.mListView.setAdapter(this.mAdapter); + this.mTitleButton = getRightTitleButton(); + this.mTitleButton.setVisibility(4); + } + + private void refreshUI() + { + this.mTitleButton.setVisibility(4); + } + + public void addUser() + { + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("scancode", this.mScanCode); + localIntent.putExtra("wtlogin_appid", 523005419L); + localIntent.putExtra("page_id", 5); + startActivity(localIntent); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903187); + this.mScanLoginManager = x.a(RqdApplication.i()); + this.mScanCode = getIntent().getByteArrayExtra("scancode"); + initUI(); + } + + public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) + { + if (paramInt == 4) + { + startActivity(new Intent(this, MainActivity.class)); + finish(); + } + return super.onKeyDown(paramInt, paramKeyEvent); + } + + public void onResume() + { + this.mAdapter.notifyDataSetChanged(); + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ScanLoginAccountListActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginBindActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginBindActivity.java new file mode 100755 index 00000000000..5e6fce6f09a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginBindActivity.java @@ -0,0 +1,207 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.az; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +public class ScanLoginBindActivity + extends BaseActivity +{ + private final long mAppid = 523005425L; + private byte[] mAqSig; + ImageView mBindIcon; + TextView mBindInfo; + Button mCompleteBtn; + public Handler mHandler = new yu(this); + String mQQUin; + x mScanLoginManager; + private final int mType = 2; + Button mVerifyBtn; + private View.OnClickListener mVerifyListener = new ys(this); + + private void goToWtLoginAccountInput() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void initUI() + { + az localaz = ax.a().c(this.mQQUin); + setContentView(2130903188); + this.mBindInfo = ((TextView)findViewById(2131297025)); + this.mCompleteBtn = ((Button)findViewById(2131297028)); + this.mVerifyBtn = ((Button)findViewById(2131297027)); + this.mBindIcon = ((ImageView)findViewById(2131297024)); + if ((localaz != null) && (localaz.d)) + { + this.mBindInfo.setText(2131362451); + this.mBindIcon.setImageResource(2130837570); + } + for (;;) + { + this.mCompleteBtn.setOnClickListener(new yw(this)); + this.mVerifyBtn.setOnClickListener(this.mVerifyListener); + return; + if ((localaz != null) && (localaz.c)) + { + this.mBindInfo.setText(2131362086); + this.mBindIcon.setImageResource(2130837570); + } + } + } + + private void showShensuDialog() + { + Intent localIntent = new Intent(this, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", ax.a().e().mRealUin); + startActivity(localIntent); + } + + private void showUpgradeDeterminResult(UpgradeDeterminResult paramUpgradeDeterminResult) + { + int j = 1; + if (isFinishing()) {} + QQUser localQQUser; + do + { + return; + localQQUser = ax.a().e(); + } while (localQQUser == null); + Intent localIntent; + if (paramUpgradeDeterminResult.a() == 1) + { + if (paramUpgradeDeterminResult.mMobileAppear == 1) {} + for (int i = 1; i != 0; i = 0) + { + localIntent = new Intent(this, NetActiveVryMobileNoSmsActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (paramUpgradeDeterminResult.mQuesAppear != 1) { + break label193; + } + i = 1; + label122: + if (i == 0) { + if (paramUpgradeDeterminResult.mHaveMobile != 1) { + break label198; + } + } + } + } + label193: + label198: + for (i = j;; i = 0) + { + if (i == 0) { + break label203; + } + localIntent = new Intent(this, NetActiveVryOtherListActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + i = 0; + break; + i = 0; + break label122; + } + label203: + showShensuDialog(); + return; + } + if ((paramUpgradeDeterminResult.a() == 2) || (paramUpgradeDeterminResult.a() == 3)) + { + localIntent = new Intent(this, NetActiveSetDirBySeqActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + localIntent.putExtra("bindType", paramUpgradeDeterminResult.a()); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 4) + { + setContentView(2130903061); + findViewById(2131296458).setOnClickListener(new yx(this, localQQUser, paramUpgradeDeterminResult)); + findViewById(2131296459).setOnClickListener(new yy(this, paramUpgradeDeterminResult, localQQUser)); + return; + } + if (paramUpgradeDeterminResult.a() == 5) + { + af.a().c(localQQUser.mRealUin, 5, "", "", this.mHandler); + return; + } + if (paramUpgradeDeterminResult.a() == 6) + { + localIntent = new Intent(this, VerifyMobilePhoneActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 8) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 2); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 9) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 2); + localIntent.putExtra("ish5zzb", true); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + showShensuDialog(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mScanLoginManager = x.a(RqdApplication.i()); + this.mQQUin = getIntent().getStringExtra("qquin"); + initUI(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ScanLoginBindActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginConfirmLoginActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginConfirmLoginActivity.java new file mode 100755 index 00000000000..1a0c061e8df --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginConfirmLoginActivity.java @@ -0,0 +1,81 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.qbardemo.MainActivity; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; + +public class ScanLoginConfirmLoginActivity + extends BaseActivity +{ + private Button mCancelButton; + private TextView mConfirmBusiness; + private Button mConfirmButton; + private TextView mConfirmTime; + private Handler mHandler = new yz(this); + private ImageView mQQIcon; + private String mQQNick; + private TextView mQQNickText; + private String mQQUin; + private byte[] mScanCode; + private x mScanLoginManager; + + private void initUI() + { + this.mConfirmTime = ((TextView)findViewById(2131297031)); + this.mConfirmBusiness = ((TextView)findViewById(2131297033)); + this.mQQNickText = ((TextView)findViewById(2131297019)); + this.mConfirmButton = ((Button)findViewById(2131297035)); + this.mCancelButton = ((Button)findViewById(2131297036)); + this.mQQIcon = ((ImageView)findViewById(2131297018)); + WloginSimpleInfo localWloginSimpleInfo = this.mScanLoginManager.c(this.mQQUin); + if (localWloginSimpleInfo != null) {} + for (this.mQQNick = new String(localWloginSimpleInfo._nick);; this.mQQNick = null) + { + this.mQQNickText.setText(this.mQQNick); + this.mConfirmButton.setOnClickListener(new za(this)); + this.mCancelButton.setOnClickListener(new zc(this)); + return; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903189); + this.mScanLoginManager = x.a(RqdApplication.i()); + paramBundle = getIntent(); + this.mQQUin = paramBundle.getStringExtra("qquin"); + this.mScanCode = paramBundle.getByteArrayExtra("scancode"); + paramBundle = paramBundle.getExtras(); + initUI(); + this.mConfirmTime.setText(s.a(1000L * paramBundle.getLong("scantime"))); + this.mConfirmBusiness.setText(new String(paramBundle.getByteArray("appname"))); + this.mQQIcon.setImageDrawable(k.a(this.mQQUin, null)); + } + + public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent) + { + if (paramInt == 4) + { + startActivity(new Intent(this, MainActivity.class)); + finish(); + } + return super.onKeyDown(paramInt, paramKeyEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ScanLoginConfirmLoginActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginSuccActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginSuccActivity.java new file mode 100755 index 00000000000..a982060ff2d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ScanLoginSuccActivity.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.view.View; + +public class ScanLoginSuccActivity + extends BaseActivity +{ + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903190); + findViewById(2131296622).setOnClickListener(new zd(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ScanLoginSuccActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SecurityReporterActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SecurityReporterActivity.java new file mode 100755 index 00000000000..b02c0943b7f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SecurityReporterActivity.java @@ -0,0 +1,374 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.text.Html; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.core.bean.SecurityReporterResult.ChartAreas; +import com.tencent.token.ui.base.bb; +import com.tencent.token.ui.base.ce; +import com.tencent.token.ui.base.ch; +import com.tencent.token.ui.base.ci; +import com.tencent.token.ui.base.cj; +import com.tencent.token.ui.base.ck; +import java.util.ArrayList; +import org.json.JSONArray; + +public class SecurityReporterActivity + extends BaseActivity +{ + private Button btn_return; + private ImageView iv_loginCity; + private ImageView iv_loginCount; + private ImageView iv_loginMap; + private ImageView iv_loginPlatform; + private ImageView iv_loginTime; + private ImageView iv_paymentRange; + private LinearLayout ll_loginCity; + private LinearLayout ll_loginCount; + private LinearLayout ll_loginMap; + private LinearLayout ll_loginPlatform; + private LinearLayout ll_loginTime; + private LinearLayout ll_paymentRange; + private View noLoginMsgView; + private SecurityReporterResult result; + private TextView tv_loginCity_title; + private TextView tv_loginCount_title; + private TextView tv_loginMap_title; + private TextView tv_loginPlatform_title; + private TextView tv_loginTime_title; + private TextView tv_noLoginTip; + private TextView tv_paymentRange_title; + + private void getAndrSetAreaDrawable(SecurityReporterResult.ChartAreas paramChartAreas) + { + Object localObject1; + int i; + Object localObject2; + int[] arrayOfInt; + Object localObject3; + int j; + switch (paramChartAreas.type) + { + default: + case 3: + case 6: + case 5: + JSONArray localJSONArray; + for (;;) + { + return; + for (;;) + { + try + { + localObject1 = new JSONArray(paramChartAreas.table); + i = ((JSONArray)localObject1).length(); + localObject2 = new String[i]; + arrayOfInt = new int[i]; + i = 0; + if (i >= ((JSONArray)localObject1).length()) { + break label158; + } + localObject3 = ((JSONArray)localObject1).getJSONArray(i); + if (((JSONArray)localObject3).length() % 2 != 0) { + break; + } + j = 0; + if (j < ((JSONArray)localObject3).length()) { + if (j == 0) { + localObject2[i] = ((JSONArray)localObject3).getString(j); + } else { + arrayOfInt[i] = ((JSONArray)localObject3).getInt(j); + } + } + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + i += 1; + } + localObject1 = new bb(this, (String[])localObject2, arrayOfInt); + this.ll_loginCount.setVisibility(0); + this.tv_loginCount_title.setText(paramChartAreas.title); + this.iv_loginCount.setBackgroundDrawable((Drawable)localObject1); + this.iv_loginCount.postDelayed(new zf(this, (bb)localObject1), 500L); + return; + for (;;) + { + try + { + localObject1 = new JSONArray(paramChartAreas.table); + localObject2 = new String[((JSONArray)localObject1).length()]; + arrayOfInt = new int[((JSONArray)localObject1).length()]; + i = 0; + if (i >= ((JSONArray)localObject1).length()) { + break label332; + } + localObject3 = ((JSONArray)localObject1).getJSONArray(i); + if (((JSONArray)localObject3).length() < 2) { + break; + } + j = 0; + if (j < 2) { + if (j == 0) { + localObject2[i] = ((JSONArray)localObject3).getString(j); + } else { + arrayOfInt[i] = ((JSONArray)localObject3).getInt(j); + } + } + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + i += 1; + } + localObject1 = new cj(this, (String[])localObject2, arrayOfInt); + this.ll_loginCity.setVisibility(0); + this.tv_loginCity_title.setText(paramChartAreas.title); + this.iv_loginCity.setBackgroundDrawable((Drawable)localObject1); + this.iv_loginCity.postDelayed(new zg(this, (cj)localObject1), 500L); + return; + try + { + localObject1 = new JSONArray(paramChartAreas.table); + i = ((JSONArray)localObject1).length(); + localObject2 = new String[i]; + arrayOfInt = new int[i]; + localObject3 = new int[i]; + i = 0; + if (i >= ((JSONArray)localObject1).length()) { + break label525; + } + localJSONArray = ((JSONArray)localObject1).getJSONArray(i); + if (localJSONArray.length() % 3 == 0) + { + j = 0; + if (j >= localJSONArray.length()) { + break label1098; + } + if (j == 0) { + localObject2[i] = localJSONArray.getString(j); + } else if (j == 1) { + arrayOfInt[i] = localJSONArray.getInt(j); + } + } + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + } + localObject3[i] = localJSONArray.getInt(j); + break; + localObject1 = new ch(this, (String[])localObject2, arrayOfInt, (int[])localObject3); + this.ll_loginMap.setVisibility(0); + this.tv_loginMap_title.setText(Html.fromHtml(paramChartAreas.title)); + this.iv_loginMap.setBackgroundDrawable((Drawable)localObject1); + this.iv_loginMap.postDelayed(new zh(this, (ch)localObject1), 500L); + return; + case 4: + for (;;) + { + try + { + label106: + localObject1 = new JSONArray(paramChartAreas.table); + label158: + label332: + label462: + localObject2 = new String[((JSONArray)localObject1).length()]; + label284: + label433: + arrayOfInt = new int[((JSONArray)localObject1).length()]; + label525: + i = 0; + if (i >= ((JSONArray)localObject1).length()) { + break label704; + } + localObject3 = ((JSONArray)localObject1).getJSONArray(i); + if (((JSONArray)localObject3).length() < 2) { + break; + } + j = 0; + label656: + if (j < 2) { + if (j == 0) { + localObject2[i] = ((JSONArray)localObject3).getString(j); + } else { + arrayOfInt[i] = ((JSONArray)localObject3).getInt(j); + } + } + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + i += 1; + } + label704: + localObject1 = new ck(this, arrayOfInt, (String[])localObject2, Integer.parseInt(paramChartAreas.subTtitle)); + this.ll_paymentRange.setVisibility(0); + this.tv_paymentRange_title.setText(paramChartAreas.title); + this.iv_paymentRange.setBackgroundDrawable((Drawable)localObject1); + this.iv_paymentRange.postDelayed(new zi(this, (ck)localObject1), 500L); + return; + } + for (;;) + { + for (;;) + { + try + { + localObject1 = new JSONArray(paramChartAreas.table); + i = ((JSONArray)localObject1).length(); + localObject2 = new int[i]; + arrayOfInt = new int[i]; + i = 0; + if (i >= ((JSONArray)localObject1).length()) { + break label887; + } + localObject3 = ((JSONArray)localObject1).getJSONArray(i); + if (((JSONArray)localObject3).length() % 2 != 0) { + break; + } + j = 0; + if (j < ((JSONArray)localObject3).length()) { + if (j == 0) { + localObject2[i] = ((JSONArray)localObject3).getInt(j); + } else { + arrayOfInt[i] = ((JSONArray)localObject3).getInt(j); + } + } + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + i += 1; + continue; + label887: + localObject1 = new ce(this, (int[])localObject2, arrayOfInt); + this.ll_loginPlatform.setVisibility(0); + this.tv_loginPlatform_title.setText(paramChartAreas.title); + this.iv_loginPlatform.setBackgroundDrawable((Drawable)localObject1); + this.iv_loginPlatform.postDelayed(new zj(this, (ce)localObject1), 500L); + return; + try + { + localObject1 = new JSONArray(paramChartAreas.table); + if (((JSONArray)localObject1).length() <= 0) { + break; + } + localObject1 = ((JSONArray)localObject1).getJSONArray(0); + if (((JSONArray)localObject1).length() < 3) { + break; + } + localObject1 = new ci(this, ((JSONArray)localObject1).getInt(0), ((JSONArray)localObject1).getInt(1), ((JSONArray)localObject1).getInt(2), paramChartAreas.subTtitle); + this.ll_loginTime.setVisibility(0); + this.tv_loginTime_title.setText(paramChartAreas.title); + this.iv_loginTime.setBackgroundDrawable((Drawable)localObject1); + this.iv_loginTime.postDelayed(new zk(this, (ci)localObject1), 500L); + return; + } + catch (Exception paramChartAreas) + { + paramChartAreas.printStackTrace(); + return; + } + } + j += 1; + break label106; + j += 1; + break label284; + j += 1; + break label462; + label1098: + i += 1; + break label433; + j += 1; + break label656; + j += 1; + } + } + + private void initUI() + { + int i = 0; + if (this.result.chart.size() == 0) + { + this.noLoginMsgView = findViewById(2131296847); + this.noLoginMsgView.setVisibility(0); + this.tv_noLoginTip = ((TextView)findViewById(2131296735)); + if (!TextUtils.isEmpty(this.result.noDataTip)) + { + this.tv_noLoginTip.setText(this.result.noDataTip); + this.btn_return = ((Button)findViewById(2131296848)); + this.btn_return.setOnClickListener(new ze(this)); + } + } + for (;;) + { + return; + this.tv_noLoginTip.setText(getResources().getString(2131362463)); + break; + this.ll_loginMap = ((LinearLayout)findViewById(2131297044)); + this.ll_loginCount = ((LinearLayout)findViewById(2131297047)); + this.ll_loginCity = ((LinearLayout)findViewById(2131297050)); + this.ll_loginPlatform = ((LinearLayout)findViewById(2131297053)); + this.ll_loginTime = ((LinearLayout)findViewById(2131297056)); + this.ll_paymentRange = ((LinearLayout)findViewById(2131297059)); + this.tv_loginMap_title = ((TextView)findViewById(2131297045)); + this.tv_loginCount_title = ((TextView)findViewById(2131297048)); + this.tv_loginCity_title = ((TextView)findViewById(2131297051)); + this.tv_loginPlatform_title = ((TextView)findViewById(2131297054)); + this.tv_loginTime_title = ((TextView)findViewById(2131297057)); + this.tv_paymentRange_title = ((TextView)findViewById(2131297060)); + this.iv_loginMap = ((ImageView)findViewById(2131297046)); + this.iv_loginCount = ((ImageView)findViewById(2131297049)); + this.iv_loginCity = ((ImageView)findViewById(2131297052)); + this.iv_loginPlatform = ((ImageView)findViewById(2131297055)); + this.iv_loginTime = ((ImageView)findViewById(2131297058)); + this.iv_paymentRange = ((ImageView)findViewById(2131297061)); + while (i < this.result.chart.size()) + { + getAndrSetAreaDrawable((SecurityReporterResult.ChartAreas)this.result.chart.get(i)); + i += 1; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903192); + this.result = ((SecurityReporterResult)getIntent().getSerializableExtra("result")); + if (this.result == null) + { + finish(); + return; + } + initUI(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SecurityReporterActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SelectCountryCodeActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SelectCountryCodeActivity.java new file mode 100755 index 00000000000..0236b78b6bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SelectCountryCodeActivity.java @@ -0,0 +1,109 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; + +public class SelectCountryCodeActivity + extends BaseActivity + implements View.OnClickListener +{ + private View mView_HK; + private View mView_australia; + private View mView_canada; + private View mView_china; + private View mView_indonesia; + private View mView_italy; + private View mView_japan; + private View mView_korea; + private View mView_macau; + private View mView_malaysia; + private View mView_philippines; + private View mView_singapore; + private View mView_taiwan; + private View mView_thailand; + private View mView_usa; + + public void onClick(View paramView) + { + if (paramView.getId() == 2131296657) { + setResult(86); + } + for (;;) + { + finish(); + return; + if (paramView.getId() == 2131296660) { + setResult(852); + } else if (paramView.getId() == 2131296663) { + setResult(853); + } else if (paramView.getId() == 2131296666) { + setResult(886); + } else if (paramView.getId() == 2131296669) { + setResult(1111); + } else if (paramView.getId() == 2131296672) { + setResult(81); + } else if (paramView.getId() == 2131296675) { + setResult(82); + } else if (paramView.getId() == 2131296678) { + setResult(65); + } else if (paramView.getId() == 2131296681) { + setResult(1); + } else if (paramView.getId() == 2131296684) { + setResult(61); + } else if (paramView.getId() == 2131296687) { + setResult(39); + } else if (paramView.getId() == 2131296690) { + setResult(60); + } else if (paramView.getId() == 2131296693) { + setResult(63); + } else if (paramView.getId() == 2131296696) { + setResult(66); + } else if (paramView.getId() == 2131296699) { + setResult(62); + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903106); + this.mView_china = findViewById(2131296657); + this.mView_china.setOnClickListener(this); + this.mView_HK = findViewById(2131296660); + this.mView_HK.setOnClickListener(this); + this.mView_macau = findViewById(2131296663); + this.mView_macau.setOnClickListener(this); + this.mView_taiwan = findViewById(2131296666); + this.mView_taiwan.setOnClickListener(this); + this.mView_usa = findViewById(2131296669); + this.mView_usa.setOnClickListener(this); + this.mView_japan = findViewById(2131296672); + this.mView_japan.setOnClickListener(this); + this.mView_korea = findViewById(2131296675); + this.mView_korea.setOnClickListener(this); + this.mView_singapore = findViewById(2131296678); + this.mView_singapore.setOnClickListener(this); + this.mView_canada = findViewById(2131296681); + this.mView_canada.setOnClickListener(this); + this.mView_australia = findViewById(2131296684); + this.mView_australia.setOnClickListener(this); + this.mView_italy = findViewById(2131296687); + this.mView_italy.setOnClickListener(this); + this.mView_malaysia = findViewById(2131296690); + this.mView_malaysia.setOnClickListener(this); + this.mView_philippines = findViewById(2131296693); + this.mView_philippines.setOnClickListener(this); + this.mView_thailand = findViewById(2131296696); + this.mView_thailand.setOnClickListener(this); + this.mView_indonesia = findViewById(2131296699); + this.mView_indonesia.setOnClickListener(this); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SelectCountryCodeActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SerialNumberActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SerialNumberActivity.java new file mode 100755 index 00000000000..e0f3a56fc16 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SerialNumberActivity.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.ag; + +public class SerialNumberActivity + extends BaseActivity +{ + Button button; + TextView text; + + public void initialize() + { + this.text = ((TextView)findViewById(2131297063)); + if (ag.c().j() != null) { + this.text.setText(ag.c().j()); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903193); + initialize(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SerialNumberActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SettingPageActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingPageActivity.java new file mode 100755 index 00000000000..68c3aec854e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingPageActivity.java @@ -0,0 +1,427 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.support.v4.content.LocalBroadcastManager; +import android.support.v4.view.PagerAdapter; +import android.util.TypedValue; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.ScanDataResult; +import com.tencent.token.core.bean.UtilFucntionItem; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.MyViewPaper; +import com.tencent.token.ui.base.RoundImageView; +import com.tencent.token.utils.bugscanuitl.DetectActivity; +import com.tencent.token.utils.k; +import com.tencent.token.utils.t; +import java.util.ArrayList; + +public class SettingPageActivity + extends BaseActivity + implements View.OnClickListener +{ + public static final String ACTION_GET_ACTIVITY_FLAG = "com.tencent.token.activity_flag"; + public static boolean mNeedRefreshMbInfo = true; + public static boolean mShowConfigNew = false; + public static boolean mShowQRNew; + public static boolean mShowQueryNew; + public static boolean mShowSafeNew = false; + public static boolean mShowUtilNew; + public PagerAdapter adapter = new zm(this); + FrameLayout banner; + ArrayList bannerlist; + private int bannersize; + private int currentPage = 0; + TextView hot_promote_txt; + private RelativeLayout hotpromoteLayout; + private ImageView[] imageViews; + private ConfigResult mConfig = new ConfigResult(); + private ImageView mConfigNew; + private ImageView mConfigSafe; + protected String mErr; + public Handler mHandler = new zp(this); + private RoundImageView mQQFace; + private View.OnClickListener mQQFaceListener = new zx(this); + private ImageView mQQFace_zzb; + private RelativeLayout mQRCodeLayout; + private ImageView mQRNew; + private ImageView mQueryNew; + private RelativeLayout mQueryqqLayout; + private BroadcastReceiver mReceiver = new zl(this); + private RelativeLayout mUtilLayout; + private ImageView mUtilNew; + private boolean needgotologobyprotect; + TextView qqFaceNotVerify; + private ImageView qqface_not_verify; + private TextView qrtext; + private TextView queryqqtext; + private RelativeLayout safenewsLayout; + TextView safenews_txt; + private TextView scanutil; + + static + { + mShowQRNew = false; + mShowQueryNew = false; + mShowUtilNew = false; + } + + public static int dip(int paramInt) + { + return (int)TypedValue.applyDimension(1, paramInt, RqdApplication.i().getResources().getDisplayMetrics()); + } + + private void gotoDetectActivity(ScanDataResult paramScanDataResult) + { + Intent localIntent = new Intent(getApplicationContext(), DetectActivity.class); + localIntent.putExtra("result", paramScanDataResult); + startActivity(localIntent); + } + + private void gotoMbMobileProtect() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 9); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void initBanner() + { + MyViewPaper localMyViewPaper = (MyViewPaper)findViewById(2131297064); + localMyViewPaper.setAdapter(this.adapter); + localMyViewPaper.setOnPageChangeListener(new zy(this)); + } + + private void initConfig() + { + t.b(this.mConfig); + if (t.m() != null) + { + this.banner.setVisibility(0); + this.bannerlist = t.m(); + initpoint(); + this.adapter.notifyDataSetChanged(); + if (this.mConfig.mActivityName != null) { + this.hot_promote_txt.setText(this.mConfig.mActivityName); + } + if (this.mConfig.mActivityUrl != null) { + this.hotpromoteLayout.setOnClickListener(new zs(this)); + } + if (this.mConfig.headlinetip != null) { + this.safenews_txt.setText(this.mConfig.headlinetip); + } + if (this.mConfig.headlineurl != null) { + this.safenewsLayout.setOnClickListener(new zt(this)); + } + if ((t.n() != null) && (t.n().size() != 0)) { + break label287; + } + this.mUtilLayout.setVisibility(8); + this.mQueryqqLayout.setVisibility(8); + this.mQRCodeLayout.setVisibility(8); + e.a("need refresh mbinfo: " + mNeedRefreshMbInfo); + if (!mShowQRNew) { + break label555; + } + this.mQRNew.setVisibility(0); + label218: + if (!mShowQueryNew) { + break label566; + } + this.mQueryNew.setVisibility(0); + label232: + if (!mShowUtilNew) { + break label577; + } + this.mUtilNew.setVisibility(0); + label246: + if (!mShowSafeNew) { + break label588; + } + this.mConfigSafe.setVisibility(0); + } + for (;;) + { + if (!mShowConfigNew) { + break label599; + } + this.mConfigNew.setVisibility(0); + return; + this.banner.setVisibility(8); + break; + label287: + ArrayList localArrayList = t.n(); + int i = 0; + label293: + UtilFucntionItem localUtilFucntionItem; + if (i < localArrayList.size()) + { + localUtilFucntionItem = (UtilFucntionItem)localArrayList.get(i); + if (localUtilFucntionItem.a().equals("101")) + { + this.mQRCodeLayout.setVisibility(0); + if (!mShowQRNew) { + break label522; + } + this.mQRNew.setVisibility(0); + label345: + if (localUtilFucntionItem.c() != null) { + this.qrtext.setText(localUtilFucntionItem.c()); + } + this.mQRCodeLayout.setOnClickListener(new zu(this)); + } + if (localUtilFucntionItem.a().equals("102")) + { + this.mQueryqqLayout.setVisibility(0); + if (!mShowQueryNew) { + break label533; + } + this.mQueryNew.setVisibility(0); + label413: + if (localUtilFucntionItem.c() != null) { + this.queryqqtext.setText(localUtilFucntionItem.c()); + } + this.mQueryqqLayout.setOnClickListener(new zv(this, localUtilFucntionItem)); + } + if (localUtilFucntionItem.a().equals("103")) + { + this.mUtilLayout.setVisibility(0); + if (!mShowUtilNew) { + break label544; + } + this.mUtilNew.setVisibility(0); + } + } + for (;;) + { + if (localUtilFucntionItem.c() != null) { + this.scanutil.setText(localUtilFucntionItem.c()); + } + this.mUtilLayout.setOnClickListener(new zw(this)); + i += 1; + break label293; + break; + label522: + this.mQRNew.setVisibility(4); + break label345; + label533: + this.mQueryNew.setVisibility(4); + break label413; + label544: + this.mUtilNew.setVisibility(4); + } + label555: + this.mQRNew.setVisibility(4); + break label218; + label566: + this.mQueryNew.setVisibility(4); + break label232; + label577: + this.mUtilNew.setVisibility(4); + break label246; + label588: + this.mConfigSafe.setVisibility(4); + } + label599: + this.mConfigNew.setVisibility(4); + } + + private void initFace() + { + QQUser localQQUser = ax.a().e(); + this.mQQFace.setOnClickListener(this.mQQFaceListener); + this.mQQFace.setVisibility(0); + this.qqface_not_verify.setVisibility(0); + this.qqFaceNotVerify = ((TextView)findViewById(2131296349)); + if (localQQUser != null) + { + this.mQQFace.setVisibility(0); + this.mQQFace.setImageDrawable(k.a(localQQUser.mRealUin + "", localQQUser.mUin + "")); + if (!localQQUser.mIsBinded) + { + this.qqface_not_verify.setVisibility(8); + this.qqFaceNotVerify.setVisibility(0); + this.mQQFace_zzb.setVisibility(8); + return; + } + this.qqFaceNotVerify.setVisibility(8); + if (localQQUser.mIsZzb) + { + this.mQQFace_zzb.setVisibility(0); + this.qqface_not_verify.setImageResource(2130838024); + return; + } + this.mQQFace_zzb.setVisibility(8); + this.qqface_not_verify.setImageResource(2130837522); + return; + } + this.qqFaceNotVerify.setVisibility(8); + this.mQQFace_zzb.setVisibility(8); + this.mQQFace.setImageResource(2130837654); + this.qqface_not_verify.setImageResource(2130837522); + } + + private void initpoint() + { + if ((this.bannerlist == null) || (this.bannerlist.size() < 2)) { + return; + } + LinearLayout localLinearLayout = (LinearLayout)findViewById(2131297065); + localLinearLayout.removeAllViewsInLayout(); + this.bannersize = this.bannerlist.size(); + this.imageViews = new ImageView[this.bannersize]; + int i = 0; + label58: + if (i < this.bannersize) + { + this.imageViews[i] = new ImageView(this); + if (i != 0) { + break label155; + } + this.imageViews[i].setBackgroundResource(2130837542); + } + for (;;) + { + LinearLayout.LayoutParams localLayoutParams = new LinearLayout.LayoutParams(new LinearLayout.LayoutParams(dip(8), dip(8))); + localLayoutParams.leftMargin = dip(5); + localLayoutParams.rightMargin = dip(5); + localLinearLayout.addView(this.imageViews[i], localLayoutParams); + i += 1; + break label58; + break; + label155: + this.imageViews[i].setBackgroundResource(2130837541); + } + } + + private boolean isBindUin() + { + QQUser localQQUser = ax.a().e(); + return (localQQUser == null) || (localQQUser.mIsBinded); + } + + public void cancelRequest() {} + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + exitToken(); + return true; + } + } + + public void onClick(View paramView) {} + + protected void onCreate(Bundle paramBundle) + { + mNeedRefreshMbInfo = true; + super.onCreate(paramBundle); + t.b(this.mConfig); + setNeverShowLockVerifyView(); + setContentView(2130903194); + RqdApplication.i().getSharedPreferences("sp_name_global", 0); + this.mConfigNew = ((ImageView)findViewById(2131297084)); + this.mConfigSafe = ((ImageView)findViewById(2131297080)); + this.mUtilLayout = ((RelativeLayout)findViewById(2131297074)); + this.mQueryqqLayout = ((RelativeLayout)findViewById(2131297070)); + this.mQRCodeLayout = ((RelativeLayout)findViewById(2131297066)); + this.safenewsLayout = ((RelativeLayout)findViewById(2131297078)); + this.hotpromoteLayout = ((RelativeLayout)findViewById(2131297082)); + this.safenews_txt = ((TextView)findViewById(2131297081)); + this.hot_promote_txt = ((TextView)findViewById(2131297085)); + this.scanutil = ((TextView)findViewById(2131297075)); + this.queryqqtext = ((TextView)findViewById(2131297071)); + this.qrtext = ((TextView)findViewById(2131297067)); + paramBundle = (ImageView)findViewById(2131296421); + if (paramBundle != null) { + paramBundle.setImageResource(2130837768); + } + this.mQQFace = ((RoundImageView)findViewById(2131297141)); + this.mQQFace.setOnClickListener(this.mQQFaceListener); + this.mQQFace_zzb = ((ImageView)findViewById(2131297143)); + this.qqface_not_verify = ((ImageView)findViewById(2131297142)); + paramBundle = (TextView)findViewById(2131296419); + Object localObject = (MyViewPaper)findViewById(2131297064); + ((MyViewPaper)localObject).setAdapter(this.adapter); + ((MyViewPaper)localObject).setOnPageChangeListener(new zy(this)); + initpoint(); + this.banner = ((FrameLayout)findViewById(2131296707)); + this.mUtilNew = ((ImageView)findViewById(2131297076)); + this.mQRNew = ((ImageView)findViewById(2131297068)); + this.mQueryNew = ((ImageView)findViewById(2131297072)); + localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("com.tencent.token.activity_flag"); + LocalBroadcastManager.getInstance(this).registerReceiver(this.mReceiver, (IntentFilter)localObject); + if (RqdApplication.g) { + paramBundle.setOnClickListener(new zo(this, new long[2])); + } + } + + protected void onDestroy() + { + super.onDestroy(); + mNeedRefreshMbInfo = true; + LocalBroadcastManager.getInstance(this).unregisterReceiver(this.mReceiver); + } + + protected void onResume() + { + if ((!RqdApplication.b) && (this.needgotologobyprotect)) + { + gotoMbMobileProtect(); + this.needgotologobyprotect = false; + super.onResume(); + return; + } + initFace(); + initConfig(); + super.onResume(); + } + + protected void onSaveInstanceState(Bundle paramBundle) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SettingPageActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SettingSubmitCommentActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingSubmitCommentActivity.java new file mode 100755 index 00000000000..bf5cfb8379d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingSubmitCommentActivity.java @@ -0,0 +1,57 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.widget.Button; +import android.widget.EditText; +import com.tencent.token.af; + +public class SettingSubmitCommentActivity + extends BaseActivity +{ + private String comment = ""; + private EditText mCommentEdit; + private Handler mHandler = new zz(this); + private Button mMenuBarBtn; + private af mTokenCore = af.a(); + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public void checkMenuBtnEnable() + { + if ((this.mCommentEdit.getText().toString() == null) || (this.mCommentEdit.getText().toString().length() == 0)) + { + this.mMenuBarBtn.setClickable(false); + this.mMenuBarBtn.setTextColor(getResources().getColor(2131165214)); + return; + } + this.mMenuBarBtn.setClickable(true); + this.mMenuBarBtn.setTextColor(getResources().getColor(2131165223)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903196); + this.mCommentEdit = ((EditText)findViewById(2131297088)); + if (this.mCommentEdit != null) { + this.mCommentEdit.clearFocus(); + } + this.mMenuBarBtn = ((Button)findViewById(2131297148)); + this.mMenuBarBtn.setVisibility(0); + this.mMenuBarBtn.setText(getResources().getString(2131361807)); + this.mMenuBarBtn.setOnClickListener(new aaa(this)); + this.mCommentEdit.addTextChangedListener(new aab(this)); + checkMenuBtnEnable(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SettingSubmitCommentActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SettingTokenActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingTokenActivity.java new file mode 100755 index 00000000000..225d1f9a6e4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SettingTokenActivity.java @@ -0,0 +1,87 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.TextView; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.h; +import com.tencent.token.p; +import com.tencent.token.utils.t; + +public class SettingTokenActivity + extends BaseActivity + implements View.OnClickListener +{ + private TextView mTokenPwdTxt; + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + case 2131297090: + default: + return; + case 2131297089: + p.a().a(System.currentTimeMillis(), 6); + if ((ah.a().c()) && (ah.a().e() == 1)) {} + for (paramView = new Intent(this, StartPwdDigitSelActivity.class);; paramView = new Intent(this, StartPwdGestureIndexActivity.class)) + { + startActivity(paramView); + ah.a(); + ah.d("startpwd_tip_newflag"); + return; + } + case 2131297091: + startActivity(new Intent(this, CorrectTokenActivity.class)); + return; + case 2131297092: + startActivity(new Intent(this, AssistantRecommendFriendQrcode.class)); + return; + } + startActivity(new Intent(this, AboutActivity.class)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903197); + findViewById(2131297089).setOnClickListener(this); + findViewById(2131297091).setOnClickListener(this); + findViewById(2131297092).setOnClickListener(this); + findViewById(2131297093).setOnClickListener(this); + this.mTokenPwdTxt = ((TextView)findViewById(2131297090)); + } + + public void onResume() + { + super.onResume(); + if (!h.b().e()) { + findViewById(2131296288).setVisibility(4); + } + QQUser localQQUser = t.f(); + if ((ah.a().c()) || ((ax.a().h()) && (localQQUser != null) && (localQQUser.mIsRegisterFacePwd))) + { + this.mTokenPwdTxt.setText(2131362380); + this.mTokenPwdTxt.setTextColor(getResources().getColor(2131165299)); + } + for (;;) + { + h.b(); + h.f(); + return; + this.mTokenPwdTxt.setText(2131362381); + this.mTokenPwdTxt.setTextColor(getResources().getColor(2131165193)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SettingTokenActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ShowLogActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ShowLogActivity.java new file mode 100755 index 00000000000..e85a0320507 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ShowLogActivity.java @@ -0,0 +1,227 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; +import android.view.LayoutInflater; +import android.view.View; +import com.tencent.token.gb; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.PullToRefreshListView; +import java.io.BufferedReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class ShowLogActivity + extends BaseActivity +{ + private static final int CAPACITY = 1024; + private static final int MAX_LOG_PAGECOUNT = 2; + private static final int MENU_CLEARLOG = 3; + private static final int MENU_MERGELOG = 6; + private static final int MENU_SCREENMODE = 5; + private static final int MENU_SCREENSHOT = 2; + private static final int MENU_SENDLOG = 4; + private static final int MENU_SWITCH = 1; + ForegroundColorSpan ColorD = new ForegroundColorSpan(-16776961); + ForegroundColorSpan ColorE = new ForegroundColorSpan(-65536); + ForegroundColorSpan ColorI = new ForegroundColorSpan(-12483328); + ForegroundColorSpan ColorV = new ForegroundColorSpan(-16777216); + ForegroundColorSpan ColorW = new ForegroundColorSpan(-32945); + private boolean Landscape_Mode = false; + private aag mAdapter; + private int mCurrType = 0; + private PullToRefreshListView mListView; + private List mLogs; + + private void addData(BufferedReader paramBufferedReader) + { + if (paramBufferedReader == null) { + return; + } + aad localaad = ((aaj)this.mLogs.get(this.mCurrType)).a; + try + { + ArrayList localArrayList = new ArrayList(); + for (Object localObject1 = paramBufferedReader.readLine(); localObject1 != null; localObject1 = paramBufferedReader.readLine()) { + localArrayList.add(highlightLog((String)localObject1)); + } + localaad.a(localArrayList); + updateData(localaad); + localObject1 = this.mListView; + if (localArrayList.size() - 3 > 0) {} + for (int i = localArrayList.size() - 3;; i = 0) + { + ((PullToRefreshListView)localObject1).setSelection(i); + try + { + paramBufferedReader.close(); + return; + } + catch (IOException paramBufferedReader) + { + return; + } + } + try + { + paramBufferedReader.close(); + throw localObject2; + } + catch (IOException paramBufferedReader) + { + break label142; + } + } + catch (IOException localIOException) + { + localIOException = localIOException; + e.c(localIOException.getMessage()); + try + { + paramBufferedReader.close(); + return; + } + catch (IOException paramBufferedReader) {} + } + finally {} + } + + private void clearLog() + { + new aae(this).execute(new Void[0]); + } + + private SpannableString highlightLog(String paramString) + { + SpannableString localSpannableString = new SpannableString(paramString); + if (TextUtils.isEmpty(paramString)) {} + String str; + do + { + return localSpannableString; + str = paramString.substring(0, 1); + if (str.equals("V")) + { + localSpannableString.setSpan(this.ColorV, 0, paramString.length(), 33); + return localSpannableString; + } + if (str.equals("D")) + { + localSpannableString.setSpan(this.ColorD, 0, paramString.length(), 33); + return localSpannableString; + } + if (str.equals("I")) + { + localSpannableString.setSpan(this.ColorI, 0, paramString.length(), 33); + return localSpannableString; + } + if (str.equals("W")) + { + localSpannableString.setSpan(this.ColorW, 0, paramString.length(), 33); + return localSpannableString; + } + } while (!str.equals("E")); + localSpannableString.setSpan(this.ColorE, 0, paramString.length(), 33); + return localSpannableString; + } + + private void initData() + { + this.mAdapter = new aag(this); + this.mListView.setAdapter(this.mAdapter); + this.mListView.a(System.currentTimeMillis()); + this.mListView.a(new aac(this)); + } + + private void initLog() + { + if (this.mLogs == null) + { + this.mLogs = new ArrayList(); + aaj localaaj = new aaj(this); + localaaj.a = new aad(); + localaaj.b = -1; + this.mLogs.add(localaaj); + } + } + + private void initUI() + { + setContentView(2130903198); + this.mListView = ((PullToRefreshListView)findViewById(2131297095)); + View localView = LayoutInflater.from(this).inflate(2130903142, this.mListView, false); + localView.setVisibility(8); + this.mListView.addFooterView(localView); + localView = LayoutInflater.from(this).inflate(2130903139, this.mListView, false); + localView.setVisibility(8); + this.mListView.addFooterView(localView); + localView = LayoutInflater.from(this).inflate(2130903138, this.mListView, false); + localView.setVisibility(8); + this.mListView.addFooterView(localView); + this.mListView.setScrollingCacheEnabled(true); + this.mListView.a(2131362020); + } + + private void loadMoreLogs() + { + if ((this.mCurrType < 0) || (this.mLogs == null) || (this.mCurrType >= this.mLogs.size())) {} + aaj localaaj; + BufferedReader localBufferedReader; + do + { + do + { + return; + localaaj = (aaj)this.mLogs.get(this.mCurrType); + } while (localaaj.b + 1 >= 2); + localBufferedReader = gb.b(localaaj.b + 1); + } while (localBufferedReader == null); + addData(localBufferedReader); + localaaj.b += 1; + } + + private void showlog(int paramInt) + { + if ((paramInt < 0) || (this.mLogs == null)) {} + aad localaad; + do + { + return; + this.mCurrType = paramInt; + localaad = ((aaj)this.mLogs.get(this.mCurrType)).a; + this.mAdapter.a(localaad); + this.mListView.b(); + this.mListView.setSelection(this.mAdapter.getCount() - 1); + } while (localaad.a() > 0); + loadMoreLogs(); + } + + private void updateData(aad paramaad) + { + this.mAdapter.a(paramaad); + this.mListView.b(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + initUI(); + initData(); + initLog(); + showlog(0); + } + + public void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ShowLogActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SmsActitivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SmsActitivity.java new file mode 100755 index 00000000000..48a28fa317d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SmsActitivity.java @@ -0,0 +1,78 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.animation.ScaleAnimation; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; + +public class SmsActitivity + extends Activity +{ + Button btnCancel; + Button btnVerfiy; + ScaleAnimation closeAnimation; + ImageView ivDismiss; + ImageView ivMid; + ImageView iv_icon; + private Dialog mDialog; + Handler mHandler = new aak(this); + View.OnClickListener onClick = new aal(this); + ScaleAnimation openAnimation; + TextView tv_content; + TextView tv_title; + View view; + View viewRoot; + View viewTitle; + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + switch (paramKeyEvent.getKeyCode()) + { + } + for (;;) + { + return super.dispatchKeyEvent(paramKeyEvent); + Intent localIntent = new Intent("com.tencent.token.action.dualsms"); + localIntent.putExtra("flag", 3); + sendBroadcast(localIntent); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + requestWindowFeature(1); + setContentView(2130903072); + this.mHandler.sendEmptyMessageDelayed(0, 500L); + this.viewRoot = findViewById(2131296501); + this.tv_title = ((TextView)findViewById(2131296508)); + this.tv_content = ((TextView)findViewById(2131296509)); + try + { + paramBundle = getIntent().getStringExtra("title"); + String str = getIntent().getStringExtra("content"); + this.tv_title.setText(paramBundle); + this.tv_content.setText(str); + return; + } + catch (Exception paramBundle) + { + paramBundle.printStackTrace(); + finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SmsActitivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/SmsContentTipActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/SmsContentTipActivity.java new file mode 100755 index 00000000000..6fee35cfa57 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/SmsContentTipActivity.java @@ -0,0 +1,280 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnCancelListener; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.ea; +import com.tencent.token.global.e; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class SmsContentTipActivity + extends BaseActivity + implements Runnable +{ + private View btnLayout; + private TextView errorTip; + private boolean isReadyModSetMB = false; + private int mBindRetryTimes = 0; + Runnable mBindRunnable = new aao(this); + private View.OnClickListener mCompleteButtonListener = new aay(this); + private String mCountryCode; + private DialogInterface.OnCancelListener mDialogCancelListener = new aav(this); + private DialogInterface.OnClickListener mDialogFinishListener = new aau(this); + Handler mHandler = new aas(this); + private boolean mIsActiveSuccess = false; + private boolean mIsModSetSucc = false; + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private boolean mIsUnbindSuccess = false; + private String mMobile; + private int mOpType; + private int mPageId; + private ProgressBar mPb; + private long mRealUin; + private RealNameStatusResult mResult; + private int mSceneId; + Runnable mSetModMobileRunnable = new aaq(this); + private int mSetRetryTimes = 0; + private String mSmsPort; + private int mSourceId; + private long mTimeConter; + private String mUin; + private int mUnBindRetryTimes = 0; + Runnable mUnBindRunnable = new aar(this); + private UpgradeDeterminResult mUpDetermin = null; + private QQUser mUser = null; + private QQUser mUserToUnbind = null; + private TextView mobileNum; + private TextView okText; + private TextView smsContent; + private int upSmsSceneId; + private TextView useTip; + private String useTipContent; + + private void displaySucc() + { + resetBtn(); + dismissDialog(); + Object localObject = ax.a().d(this.mUser.mRealUin); + if (localObject != null) { + ax.a().b((QQUser)localObject); + } + ag.c().n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + findViewById(2131296398).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + ax.a().f(Long.parseLong((String)localObject)); + a.a().a(8); + } + + private void initView() + { + this.useTip = ((TextView)findViewById(2131297100)); + this.smsContent = ((TextView)findViewById(2131297103)); + this.mobileNum = ((TextView)findViewById(2131297106)); + this.errorTip = ((TextView)findViewById(2131296593)); + this.okText = ((TextView)findViewById(2131297107)); + this.btnLayout = findViewById(2131296430); + this.mPb = ((ProgressBar)findViewById(2131296936)); + if ((this.upSmsSceneId == 0) || (this.upSmsSceneId == 7)) + { + String str = this.mUpDetermin.mMobileMask; + if ((str == null) || (str.length() == 0)) + { + finish(); + return; + } + this.useTipContent = String.format(getString(2131361877), new Object[] { this.mUpDetermin.mMobileMask }); + } + for (;;) + { + this.mobileNum.setText(ea.c); + this.smsContent.setText(ea.d); + this.useTip.setText(this.useTipContent); + this.btnLayout.setOnClickListener(new aaw(this)); + return; + if ((this.upSmsSceneId == 3) || (this.upSmsSceneId == 4)) { + this.useTipContent = String.format(getString(2131361877), new Object[] { this.mMobile }); + } else if (this.upSmsSceneId == 6) { + this.useTipContent = String.format(getString(2131361877), new Object[] { this.mUserToUnbind.mMobileMask }); + } + } + } + + private void resetBtn() + { + this.mPb.setVisibility(4); + this.okText.setText(getResources().getString(2131361880)); + this.btnLayout.setClickable(true); + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361907, paramString, 2131361800, new aap(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if (((this.mIsModSetSucc) || (this.mIsUnbindSuccess) || (this.mIsActiveSuccess)) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + if (this.isReadyModSetMB) + { + e.c(this + "---isReadyModSetMB:" + this.isReadyModSetMB + "\n----removeCallbacks(mSetModMobileRunnable)"); + this.mHandler.removeCallbacks(this.mSetModMobileRunnable); + this.isReadyModSetMB = false; + } + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.upSmsSceneId = getIntent().getIntExtra("up_sms_scene_id", -1); + if ((this.upSmsSceneId == 0) || (this.upSmsSceneId == 7)) + { + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + this.mSceneId = getIntent().getIntExtra("scene_id", 1004); + if ((this.mUser == null) || (this.mUpDetermin == null)) { + finish(); + } + } + else + { + if ((this.upSmsSceneId != 3) && (this.upSmsSceneId != 4)) { + break label222; + } + this.mMobile = getIntent().getStringExtra("mobile"); + this.mSmsPort = getIntent().getStringExtra("sms_port"); + this.mCountryCode = getIntent().getStringExtra("area_code"); + this.mOpType = getIntent().getIntExtra("op_type", 1); + this.mPageId = getIntent().getIntExtra("page_id", 10); + } + label222: + do + { + do + { + setContentView(2130903201); + initView(); + new Thread(this).start(); + return; + } while (this.upSmsSceneId != 6); + this.mUserToUnbind = ((QQUser)getIntent().getSerializableExtra("user_to_unbind")); + } while (this.mUserToUnbind != null); + finish(); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + protected void onResume() + { + super.onResume(); + ag.c().a.a(this.mHandler); + } + + protected void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void removeTimeTask(int paramInt) + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + e.c("removeTimeTask removeTimeTask"); + removeTimeTask(6); + Message localMessage = new Message(); + localMessage.what = 15; + this.mHandler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131362363, 2131361827, new aax(this)); + } + + public void startTimeTask(int paramInt) + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } + + void unbindResult() + { + finish(); + AccountPageActivity.mNeedRefreshEval = true; + ax.a(); + ax.b(); + ax.a().k = false; + SettingPageActivity.mNeedRefreshMbInfo = true; + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.addFlags(67108864); + startActivity(localIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.SmsContentTipActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitSelActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitSelActivity.java new file mode 100755 index 00000000000..327360b4465 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitSelActivity.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.widget.ListView; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class StartPwdDigitSelActivity + extends BaseActivity +{ + private List mData; + ListView mListView; + + private List getData() + { + ArrayList localArrayList = new ArrayList(); + HashMap localHashMap = new HashMap(); + localHashMap.put("setting_op_name", getResources().getString(2131361936)); + localArrayList.add(localHashMap); + localHashMap = new HashMap(); + localHashMap.put("setting_op_name", getResources().getString(2131361937)); + localArrayList.add(localHashMap); + return localArrayList; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903221); + this.mListView = ((ListView)findViewById(2131297161)); + this.mData = getData(); + paramBundle = new ack(this, this.mData); + this.mListView.setAdapter(paramBundle); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdDigitSelActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitVerifyActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitVerifyActivity.java new file mode 100755 index 00000000000..0733b450287 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdDigitVerifyActivity.java @@ -0,0 +1,88 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup.LayoutParams; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import com.tencent.token.ah; +import com.tencent.token.global.e; + +public class StartPwdDigitVerifyActivity + extends BaseActivity + implements View.OnClickListener +{ + public static final int VERIFY_REASON_DEL_PWD = 3; + public static final int VERIFY_REASON_DUALMSG = 5; + public static final int VERIFY_REASON_MODIFY_PWD = 2; + public static final int VERIFY_REASON_SAFEMSG = 4; + public static final int VERIFY_REASON_WELCOME = 1; + int mEnterType = 1; + EditText mTokenPwdInpuText = null; + private long mUin = 0L; + + private void hideKeyBoard() + { + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + } + + protected int getBtnStringId() + { + if (1 == this.mEnterType) { + return 2131361940; + } + return 2131361800; + } + + public void onClick(View paramView) + { + if (ah.a().a(this.mTokenPwdInpuText.getText().toString())) + { + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + e.a("verify_token_pwd: " + this.mEnterType); + setResult(257); + finish(); + return; + } + showToast(2131361942); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = getIntent().getBundleExtra("com.tencent.input_param"); + if (paramBundle != null) + { + this.mEnterType = paramBundle.getInt("enter_type"); + this.mUin = paramBundle.getLong("uin"); + } + setContentView(2130903254); + paramBundle = findViewById(2131297299); + paramBundle.setOnClickListener(this); + ((Button)paramBundle).setText(getBtnStringId()); + setBtnWidth(paramBundle.getLayoutParams()); + this.mTokenPwdInpuText = ((EditText)findViewById(2131297298)); + if (this.mTokenPwdInpuText != null) { + this.mTokenPwdInpuText.clearFocus(); + } + e.a("verify_token_pwd: " + this.mEnterType + ", uin: " + this.mUin); + } + + protected void setBtnWidth(ViewGroup.LayoutParams paramLayoutParams) + { + if (1 == this.mEnterType) { + paramLayoutParams.width = ((int)getResources().getDimension(2131230739)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdDigitVerifyActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureDeleteActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureDeleteActivity.java new file mode 100755 index 00000000000..509a3926f20 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureDeleteActivity.java @@ -0,0 +1,73 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.ViewStub; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.LockPatternVerifyView; +import com.tencent.token.ui.base.bz; +import com.tencent.token.utils.s; + +public class StartPwdGestureDeleteActivity + extends BaseActivity +{ + private Handler mHandler = new aaz(this); + private bz mListener = new aba(this); + + private void showNobindingAlert(Context paramContext, int paramInt1, int paramInt2) + { + if (((paramContext instanceof Activity)) && (!((Activity)paramContext).isFinishing())) { + showUserDialog(2131361808, getString(paramInt1), paramInt2, 2131361804, new abe(this, paramContext), null); + } + } + + public void finish() + { + super.finish(); + s.a(this, 0); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + e.c("verify gesture: resultCode=" + paramInt2 + ", requestCode=" + paramInt1); + if ((paramInt1 == 256) && (paramInt2 == 257)) + { + setResult(35); + finish(); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903203); + ((ViewStub)findViewById(2131297157)).inflate(); + paramBundle = (LockPatternVerifyView)findViewById(2131297301); + paramBundle.a(this.mListener); + paramBundle.a(2); + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165236)); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165298)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + } + + public void pwdIsDelete() + { + setResult(257); + new Handler().post(new abd(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureDeleteActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureForgetActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureForgetActivity.java new file mode 100755 index 00000000000..ffc100954ab --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureForgetActivity.java @@ -0,0 +1,164 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.widget.Button; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.utils.s; + +public class StartPwdGestureForgetActivity + extends BaseActivity +{ + public static final int K_FORGET2MODIFY_INTENT_REQUEST = 16; + public static final int K_FORGET2MODIFY_INTENT_RESPONSE = 17; + private long mAppid = 523005425L; + private Button mButtonOK; + private CompoundButton.OnCheckedChangeListener mCheckListener = new abf(this); + private TextView mForget; + private Handler mHandler = new abg(this); + private TextView mPasswdDisText; + private TextView mPasswdHideText; + private TextView mQQMask; + private EditText mQQPasswd; + private QQUser mQQUser; + private int mSourceActivityType; + + private void initUI() + { + if (this.mQQUser == null) { + return; + } + this.mForget.setOnClickListener(new abj(this)); + this.mQQMask.setText(this.mQQUser.mNickName + "(" + this.mQQUser.mUinMask + ")"); + this.mButtonOK.setOnClickListener(new abk(this)); + } + + private void judgeNextStep() + { + dismissDialog(); + p.a().a(System.currentTimeMillis(), 25); + ah.a().f(); + RqdApplication.f(); + s.a(FaceRecognitionCameraActivity.LANUCH_RETRY_COUNT, 0); + ah.a(); + ah.a(0); + setResult(257); + if ((this.mSourceActivityType != 2) && (this.mSourceActivityType != 1) && (this.mSourceActivityType != 4)) + { + if (this.mSourceActivityType != 5) { + break label125; + } + localIntent = new Intent(this, FaceChangePwdIndexActivity.class); + localIntent.putExtra("verify_psw", true); + localIntent.setFlags(67108864); + p.a().a(System.currentTimeMillis(), 95); + startActivity(localIntent); + } + label125: + while (ah.a().c()) + { + Intent localIntent; + finish(); + return; + } + showOldPwdDeletedAlert(); + } + + private void showNobindingAlert(Context paramContext, int paramInt1, int paramInt2) + { + if (((paramContext instanceof Activity)) && (!((Activity)paramContext).isFinishing())) { + showUserDialog(2131361808, getString(paramInt1), paramInt2, new abn(this, paramContext), new abo(this, paramContext)); + } + } + + private void showOldPwdDeletedAlert() + { + if (isFinishing()) { + return; + } + showUserDialog(2131361808, getString(2131362149), 2131362148, 2131361809, new abl(this), new abm(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + switch (paramKeyEvent.getKeyCode()) + { + } + do + { + return super.dispatchKeyEvent(paramKeyEvent); + } while ((!b.d()) || (paramKeyEvent.getAction() != 0) || (this.mSourceActivityType != 3)); + exitToken(); + return true; + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (!ah.a().c()) + { + showOldPwdDeletedAlert(); + return; + } + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = getIntent(); + this.mQQUser = ((QQUser)paramBundle.getSerializableExtra("qquser")); + this.mSourceActivityType = paramBundle.getIntExtra("startpwd_forget_source", 0); + setNeverShowLockVerifyView(); + setContentView(2130903204); + if ((this.mSourceActivityType == 4) || (this.mSourceActivityType == 5)) { + setTitle(2131362628); + } + this.mButtonOK = ((Button)findViewById(2131297117)); + this.mQQMask = ((TextView)findViewById(2131297110)); + this.mQQPasswd = ((EditText)findViewById(2131297113)); + if (this.mQQPasswd != null) { + this.mQQPasswd.clearFocus(); + } + this.mForget = ((TextView)findViewById(2131297118)); + paramBundle = (SwitchButton)findViewById(2131297114); + paramBundle.a(true, false); + paramBundle.setOnCheckedChangeListener(this.mCheckListener); + this.mPasswdHideText = ((TextView)findViewById(2131297116)); + this.mPasswdDisText = ((TextView)findViewById(2131297115)); + if (this.mQQUser == null) + { + af.a().b(this.mHandler); + showProDialog(this, 2131362146, new abi(this)); + } + e.c("mSourceActivityType=" + this.mSourceActivityType); + if (this.mSourceActivityType == 3) { + setBackArrowHide(); + } + initUI(); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureForgetActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureIndexActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureIndexActivity.java new file mode 100755 index 00000000000..784a412b48f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureIndexActivity.java @@ -0,0 +1,97 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +public class StartPwdGestureIndexActivity + extends BaseActivity +{ + private View mDividerView; + private TextView mFacePwdTxt; + private View mFacePwdView; + private TextView mGesturePwdTxt; + private View mGesturePwdView; + private Handler mHandler = new abr(this); + private View.OnClickListener mManageGesturePwdListener = new abp(this); + private View.OnClickListener mNewGesturePwdListener = new abq(this); + + private void initUI() + { + this.mGesturePwdView = findViewById(2131297119); + this.mFacePwdView = findViewById(2131296547); + this.mDividerView = findViewById(2131296550); + this.mGesturePwdTxt = ((TextView)findViewById(2131297120)); + this.mFacePwdTxt = ((TextView)findViewById(2131297121)); + this.mFacePwdView.setOnClickListener(new abs(this)); + if (ax.a().e() == null) { + this.mFacePwdView.setVisibility(8); + } + } + + private void refreshFacePwd() + { + if (ax.a().h()) + { + QQUser localQQUser = t.f(); + if ((localQQUser != null) && (localQQUser.mIsRegisterFacePwd)) + { + this.mFacePwdTxt.setText(localQQUser.mNickName + "(" + s.e(localQQUser.mRealUin) + ")"); + this.mFacePwdTxt.setTextColor(getResources().getColor(2131165299)); + } + for (;;) + { + this.mFacePwdView.setVisibility(0); + this.mDividerView.setVisibility(0); + return; + this.mFacePwdTxt.setText(2131362381); + this.mFacePwdTxt.setTextColor(getResources().getColor(2131165193)); + } + } + this.mFacePwdView.setVisibility(4); + this.mDividerView.setVisibility(4); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903205); + initUI(); + } + + public void onResume() + { + super.onResume(); + if (ax.a().k) { + refreshFacePwd(); + } + while (ah.a().c()) + { + this.mGesturePwdTxt.setText(2131362380); + this.mGesturePwdTxt.setTextColor(getResources().getColor(2131165299)); + this.mGesturePwdView.setOnClickListener(this.mManageGesturePwdListener); + return; + if (ax.a().e() != null) { + af.a().b(this.mHandler); + } + } + this.mGesturePwdTxt.setText(2131362381); + this.mGesturePwdView.setOnClickListener(this.mNewGesturePwdListener); + this.mGesturePwdTxt.setTextColor(getResources().getColor(2131165193)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureIndexActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureModifyActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureModifyActivity.java new file mode 100755 index 00000000000..1883efe2ea5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureModifyActivity.java @@ -0,0 +1,110 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.ViewStub; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ah; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.LockPatternSmallView; +import com.tencent.token.ui.base.LockPatternVerifyView; +import com.tencent.token.ui.base.LockPatternView; +import com.tencent.token.utils.s; + +public class StartPwdGestureModifyActivity + extends BaseActivity +{ + public static final int MODIFY_STAGE_1 = 1; + public static final int MODIFY_STAGE_2 = 2; + public static final int MODIFY_STAGE_3 = 3; + public static final int RIGHT_FINISH_DELAY = 1000; + public static final int WRONG_PATTERN_DELAY = 1000; + protected Runnable mClearView = new abu(this); + protected Runnable mFinishTask = new abv(this); + private Handler mHandler = new abt(this); + protected boolean mIsNewPwdPage = false; + private LockPatternView mLockPatternView; + private boolean mModifyMode = false; + private int mModifyStage = 1; + private TextView mPromtMsg; + private LockPatternSmallView mSmallView; + private String mStage1String; + LockPatternVerifyView mVV; + + private void initUI() + { + this.mSmallView.a(this.mLockPatternView); + this.mLockPatternView.a(new abz(this)); + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165236)); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165298)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + } + + private void showNobindingAlert(Context paramContext, int paramInt1, int paramInt2) + { + if (((paramContext instanceof Activity)) && (!((Activity)paramContext).isFinishing())) { + showUserDialog(2131361808, getString(paramInt1), paramInt2, 2131361804, new aca(this, paramContext), null); + } + } + + private void showPromtMsg(int paramInt, boolean paramBoolean) + { + if (paramBoolean) { + this.mPromtMsg.setTextColor(getResources().getColor(2131165241)); + } + for (;;) + { + this.mPromtMsg.setText(paramInt); + return; + this.mPromtMsg.setTextColor(getResources().getColor(2131165237)); + } + } + + public void finish() + { + super.finish(); + if (this.mModifyMode) { + s.a(this, 0); + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + e.c("verify gesture: resultCode=" + paramInt2 + ", requestCode=" + paramInt1); + if ((paramInt1 == 256) && (paramInt2 == 257) && (this.mVV != null)) { + this.mVV.f(); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903206); + if (ah.a().c()) + { + ((ViewStub)findViewById(2131297157)).inflate(); + this.mVV = ((LockPatternVerifyView)findViewById(2131297301)); + this.mVV.a(1); + this.mModifyMode = true; + this.mVV.a(new abw(this)); + } + this.mLockPatternView = ((LockPatternView)findViewById(2131297124)); + this.mSmallView = ((LockPatternSmallView)findViewById(2131297122)); + this.mPromtMsg = ((TextView)findViewById(2131297123)); + initUI(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureModifyActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureSelActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureSelActivity.java new file mode 100755 index 00000000000..9fa6d978952 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureSelActivity.java @@ -0,0 +1,109 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.p; +import com.tencent.token.ui.base.SwitchButton; + +public class StartPwdGestureSelActivity + extends BaseActivity +{ + public static final int K_SEL2CLEAR_INTENT_REQUESTCODE = 256; + public static final int K_SEL2CLEAR_INTENT_RESULTCODE = 257; + public static final int K_SEL2MODIFY_INTENT_REQUESTCODE = 258; + public static final int K_SEL2MODIFY_INTENT_RESULTCODE = 259; + private Button mButtonClear; + private Button mButtonModify; + private boolean mIsChecked = false; + private int mSetStartPwd; + private SwitchButton mSwitchStartPwd; + private TextView mTextOpName; + + private void initUI() + { + this.mButtonModify.setOnClickListener(new acb(this)); + this.mButtonClear.setOnClickListener(new acc(this)); + try + { + this.mSetStartPwd = RqdApplication.i().getSharedPreferences("start_pwd_config", 0).getInt("is_set_start_pwd_show", 1); + if (this.mSetStartPwd == 1) { + this.mSwitchStartPwd.a(false, false); + } + for (this.mIsChecked = true;; this.mIsChecked = false) + { + this.mSwitchStartPwd.setOnCheckedChangeListener(new acd(this)); + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165236)); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165298)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + return; + this.mSwitchStartPwd.a(true, false); + } + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if (paramInt1 == 256) { + if (paramInt2 == 257) + { + p.a().a(System.currentTimeMillis(), 22); + startActivity(new Intent(this, StartPwdUpdateInfoActivity.class)); + showOrangeToast(2131362155, 2130837966); + finish(); + } + } + do + { + do + { + do + { + return; + } while (ah.a().c()); + finish(); + return; + } while (paramInt1 != 258); + if (paramInt2 == 259) + { + p.a().a(System.currentTimeMillis(), 16); + showOrangeToast(2131362154, 2130837966); + return; + } + } while (ah.a().c()); + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903207); + this.mButtonModify = ((Button)findViewById(2131297128)); + this.mButtonClear = ((Button)findViewById(2131297129)); + this.mSwitchStartPwd = ((SwitchButton)findViewById(2131297127)); + this.mTextOpName = ((TextView)findViewById(2131296280)); + initUI(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureSelActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureVerifyActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureVerifyActivity.java new file mode 100755 index 00000000000..081423bdf12 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdGestureVerifyActivity.java @@ -0,0 +1,114 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.view.KeyEvent; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.LockPatternVerifyView; + +public class StartPwdGestureVerifyActivity + extends BaseActivity +{ + public static final int K_ACTIVITY_TYPE_DELETE = 1; + public static final int K_ACTIVITY_TYPE_MODIFY = 2; + public static final int K_ACTIVITY_TYPE_NORMAL = 0; + public static final int K_ACTIVITY_TYPE_RETRY_LIMIT = 3; + public static final int K_ACTIVITY_TYPE_VRY_ORIGINAL = 4; + public static final int K_ACTIVITY_TYPE_VRY_PSW = 5; + public static final int K_VERIFY2FORGET_REQUEST = 256; + public static final int K_VERIFY2FORGET_RESPONSE = 257; + public int mActivityType = 0; + LockPatternVerifyView mView; + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + try + { + int i = paramKeyEvent.getKeyCode(); + if (paramKeyEvent.getAction() != 0) { + break label91; + } + switch (i) + { + case 4: + if (RqdApplication.d()) + { + exitToken(); + return true; + } + break; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + setResult(0); + finish(); + return true; + label91: + boolean bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + return true; + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if ((paramInt1 == 256) && (paramInt2 == 257)) + { + setResult(35); + finish(); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mView = new LockPatternVerifyView(this); + setNeverShowLockVerifyView(); + setContentView(this.mView); + hideTitle(); + p.a().a(System.currentTimeMillis(), 17); + this.mActivityType = getIntent().getIntExtra("startpwd_verify_source", 0); + int i = getSharedPreferences("start_pwd_config", 0).getInt("is_set_start_pwd_show", 1); + if ((this.mActivityType == 0) && (i == 0)) { + this.mView.d(); + } + this.mView.a(new ace(this)); + } + + public void onDestroy() + { + super.onDestroy(); + this.mView.e(); + } + + public void onPause() + { + super.onPause(); + RqdApplication.b = false; + } + + protected void onResume() + { + super.onResume(); + RqdApplication.b = true; + if (!ah.a().c()) + { + setResult(35); + finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdGestureVerifyActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdUpdateInfoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdUpdateInfoActivity.java new file mode 100755 index 00000000000..23a926b6a0d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/StartPwdUpdateInfoActivity.java @@ -0,0 +1,54 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ah; + +public class StartPwdUpdateInfoActivity + extends BaseActivity +{ + private Button mButtonCreate; + private Button mButtonSkip; + + private void initUI() + { + this.mButtonCreate.setOnClickListener(new acg(this)); + this.mButtonSkip.setVisibility(4); + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165236)); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165298)); + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837537)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + if ((paramInt1 == 258) && ((paramInt2 == 259) || (ah.a().d()))) + { + showOrangeToast(2131362153, 2130837966); + setResult(259); + startActivity(new Intent(this, StartPwdGestureSelActivity.class)); + finish(); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903209); + this.mButtonCreate = ((Button)findViewById(2131297134)); + this.mButtonSkip = ((Button)findViewById(2131297135)); + initUI(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.StartPwdUpdateInfoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/TakeIDPhotoComfirmActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/TakeIDPhotoComfirmActivity.java new file mode 100755 index 00000000000..9cf589b5def --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/TakeIDPhotoComfirmActivity.java @@ -0,0 +1,49 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; + +public class TakeIDPhotoComfirmActivity + extends BaseActivity +{ + private int mFlag; + + private void init() + { + String str = getIntent().getStringExtra("data"); + if (TextUtils.isEmpty(str)) + { + e.a("data is null"); + finish(); + return; + } + Object localObject = (TextView)findViewById(2131296561); + if (this.mFlag == 2) { + ((TextView)localObject).setText(2131362667); + } + localObject = (ImageView)findViewById(2131296559); + ((ImageView)localObject).postDelayed(new ach(this, str, (ImageView)localObject), 100L); + ((TextView)findViewById(2131296560)).setOnClickListener(new aci(this)); + ((TextView)findViewById(2131296398)).setOnClickListener(new acj(this)); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + e.a("TakeIDPhotoComfirmActivity"); + this.mFlag = getIntent().getIntExtra("flag", -1); + setContentView(2130903082); + init(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.TakeIDPhotoComfirmActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UnbindUinActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UnbindUinActivity.java new file mode 100755 index 00000000000..742432c61bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UnbindUinActivity.java @@ -0,0 +1,260 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnCancelListener; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.content.res.Resources; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.view.KeyEvent; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; +import com.tencent.token.global.e; +import com.tencent.token.p; + +public class UnbindUinActivity + extends BaseActivity + implements Runnable +{ + Handler handler = new acq(this); + private View.OnClickListener mCancelListener = new acs(this); + private View.OnClickListener mCannotUnbindListener = new act(this); + private View.OnClickListener mConfirmListener = new acr(this); + private DialogInterface.OnCancelListener mDialogCancelListener = new acv(this); + private DialogInterface.OnClickListener mDialogFinishListener = new acu(this); + private String mFailStr = ""; + private long mHashUin = 0L; + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private boolean mIsUnbindSuccess = false; + private fn mMbInfoCache = fn.a(); + private String mMobile = ""; + private String mSmsPort; + private long mTimeConter; + private long mUin = 0L; + int mUnBindRetryTimes = 0; + Runnable mUnBindRunnable = new aco(this); + private QQUser userToUnbind = null; + + private void gotoMbItemActivity() + { + Object localObject = ax.a().e(); + if ((localObject != null) && (((QQUser)localObject).mIsBinded)) + { + int i = this.mMbInfoCache.a(51); + localObject = new Intent(this, UtilsMbInfoItemActivity.class); + ((Intent)localObject).putExtra("position", i); + startActivityForResult((Intent)localObject, 0); + return; + } + startActivity(new Intent(this, UtilsMbInfoActivity.class)); + } + + private void init1() + { + ((Button)findViewById(2131296442)).setOnClickListener(this.mConfirmListener); + ((Button)findViewById(2131296443)).setOnClickListener(this.mCancelListener); + TextView localTextView = (TextView)findViewById(2131297097); + new SpannableString(this.mMobile).setSpan(new ForegroundColorSpan(getResources().getColor(2131165222)), 0, this.mMobile.length(), 33); + localTextView.setText(this.mMobile); + } + + private void init2() + { + ((Button)findViewById(2131297099)).setOnClickListener(this.mCannotUnbindListener); + TextView localTextView = (TextView)findViewById(2131297097); + String str2 = Long.toString(this.mUin); + String str1 = ""; + int i = 0; + while (i < str2.length() - 3) + { + str1 = str1 + "*"; + i += 1; + } + str1 = str2.substring(0, 2) + str1 + str2.substring(str2.length() - 1, str2.length()); + str2 = getString(2131361841) + " "; + Object localObject = getString(2131361910); + localObject = new SpannableString(str2 + str1 + (String)localObject); + ForegroundColorSpan localForegroundColorSpan = new ForegroundColorSpan(getResources().getColor(2131165222)); + i = str2.length(); + int j = str2.length(); + ((SpannableString)localObject).setSpan(localForegroundColorSpan, i, str1.length() + j, 33); + localTextView.setText((CharSequence)localObject); + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361907, paramString, 2131361800, new acx(this), new acp(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsUnbindSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + this.handler.sendEmptyMessage(3); + startTimeTask(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = getIntent(); + this.mUin = 0L; + paramBundle = paramBundle.getBundleExtra("com.tencent.real_uin"); + if (paramBundle == null) + { + finish(); + return; + } + this.mUin = paramBundle.getLong("real_uin"); + this.mHashUin = paramBundle.getLong("hash_uin"); + this.userToUnbind = ax.a().c(this.mHashUin); + if (this.userToUnbind == null) + { + finish(); + return; + } + this.mMobile = this.userToUnbind.mMobileMask; + if ((this.mMobile == null) || (this.mUin == 0L) || (this.mHashUin == 0L)) + { + finish(); + return; + } + if (this.mMobile.length() != 0) + { + setContentView(2130903202); + init1(); + } + for (;;) + { + new Thread(this).start(); + return; + setContentView(2130903200); + init2(); + } + } + + protected void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + protected void onResume() + { + super.onResume(); + ag.c().a.a(this.handler); + } + + protected void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void removeTimeTask() + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + removeTimeTask(); + Message localMessage = new Message(); + localMessage.what = 15; + this.handler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void sendUnBindUinSmsBySMSAPP(String paramString1, String paramString2) + { + try + { + paramString1 = new Intent("android.intent.action.SENDTO", Uri.parse("smsto:" + paramString1)); + paramString1.putExtra("sms_body", paramString2); + startActivityForResult(paramString1, 0); + p.a().a(System.currentTimeMillis(), 57); + return; + } + catch (Exception paramString1) + { + for (;;) + { + paramString1.printStackTrace(); + e.b(paramString1.toString()); + } + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131361903, 2131361905, new acw(this)); + } + + public void startTimeTask() + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } + + void unbindResult() + { + finish(); + AccountPageActivity.mNeedRefreshEval = true; + ax.a(); + ax.b(); + SettingPageActivity.mNeedRefreshMbInfo = true; + Intent localIntent = new Intent(this, IndexActivity.class); + localIntent.putExtra("index_from", 16); + localIntent.addFlags(67108864); + startActivity(localIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UnbindUinActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsAccountLockActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsAccountLockActivity.java new file mode 100755 index 00000000000..fc52ce6c528 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsAccountLockActivity.java @@ -0,0 +1,230 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; +import android.widget.ListView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.fc; +import com.tencent.token.fp; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.ui.base.dk; + +public class UtilsAccountLockActivity + extends BaseActivity +{ + static int windowWidth; + private k mAdapter; + private View.OnClickListener mBindListener = new acz(this); + private ErrorView mErrorView; + Handler mHandler = new acy(this); + private ListView mListView; + private dk mNeedVerifyView; + private View mProgressView; + private boolean mQueryingAccountLockStatus = false; + private View.OnClickListener mRetryListener = new ada(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + private TitleOptionMenu mTitleMenu; + + private void initUI() + { + this.mProgressView = findViewById(2131297189); + this.mListView = ((ListView)findViewById(2131297188)); + this.mAdapter = new k(this, this.mListView, this.mHandler); + this.mListView.setAdapter(this.mAdapter); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if ((this.mTitleMenu != null) && (this.mTitleMenu.getVisibility() == 0)) + { + this.mTitleMenu.a(); + return true; + } + } + } + + public Handler getHandler() + { + return this.mHandler; + } + + public void hideTip() + { + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + if (this.mHandler != null) + { + Message localMessage = this.mHandler.obtainMessage(3033); + this.mHandler.sendMessage(localMessage); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 4); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new adb(this)); + paramBundle = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(paramBundle); + windowWidth = paramBundle.widthPixels; + return; + setContentView(2130903226); + initUI(); + } + } + + protected void onDestroy() + { + if (this.mAdapter != null) + { + int j = ba.a().a(true); + int i = 0; + g localg; + while (i < j) + { + localg = ba.a().a(i, true); + if (localg != null) { + localg.e = false; + } + i += 1; + } + j = ba.a().a(false); + i = 0; + while (i < j) + { + localg = ba.a().a(i, false); + if (localg != null) { + localg.e = false; + } + i += 1; + } + } + super.onDestroy(); + } + + protected void onPause() + { + ba.a().b.b(); + ba.a().h.a("account_lock").a(); + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (localQQUser.mIsBinded)) { + queryAccountLockStatus(); + } + } + + protected void onStop() + { + super.onStop(); + } + + public void queryAccountLockStatus() + { + if (this.mQueryingAccountLockStatus) { + return; + } + this.mQueryingAccountLockStatus = true; + if (ba.a().j()) { + hideTip(); + } + for (;;) + { + af.a().a(0L, this.mHandler); + return; + showTip(-1, null, null, false); + } + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if ((isFinishing()) || (this.mProgressView == null) || (this.mListView == null)) { + return; + } + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public void showTipDialog(int paramInt, String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramInt, paramString, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsAccountLockActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsActivity.java new file mode 100755 index 00000000000..b45c9c974f1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsActivity.java @@ -0,0 +1,506 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.support.v4.content.LocalBroadcastManager; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fp; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.p; +import com.tencent.token.ui.base.RoundImageView; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class UtilsActivity + extends BaseActivity +{ + public static final String ACTION_GET_UTILS_ICON_FLAG = "com.tencent.token.utils_icon_flag"; + public static final String ACTION_SIDEBAR_STATE_CHANGED = "com.tencent.token.siderbar.statechanged"; + public static final int SECENE_ACCOUNT_LOCK = 4; + public static final int SECENE_GAME_LOCK = 5; + public static final int SECENE_GAME_PROTECT = 1; + public static final int SECENE_LOGIN_PROTECT = 0; + public static final int SECENE_MAIL_PROTECT = 2; + public static final int SECENE_MB_INFO = -1; + public static final int SECENE_MODIFY_PWD = 6; + public static final int SECENE_QBQD_PROTECT = 3; + public static final int SECENE_QQ_PROTECT = -3; + public static final int SECENE_REAL_NAME = 8; + public static final int SECENE_RECOVER_FRIENDS = 7; + public static final int SECENE_TOKEN_LAB = -2; + private static final String TOKEN_CODE_CHANGE_30S = "com.tencent.token.token_code_change_30s"; + public static int[] mIcons = { 2130837689, 2130837675, 2130837679, 2130837687, 2130837670, 2130837674, 2130837681, 2130837691 }; + public static int[] mNoAccountScenes = { 12, 14, 8, 9, 11, 15, 10, 17, 3 }; + public static int[] mTexts = { 2131362261, 2131362177, 2131362262, 2131362178, 2131361957, 2131361958, 2131361901, 2131362183 }; + private final int UPDATETOKEN = -100; + fp mCache = ba.a().h; + private com.tencent.token.ui.base.e mCodeLineView; + private TextView[] mCodeTexts = new TextView[6]; + private UserTask mGetDualMsgTask; + public Handler mHandler = new adi(this); + private boolean[] mIsBusy = new boolean[9]; + private View.OnClickListener[] mListener = new View.OnClickListener[mIcons.length]; + private View.OnClickListener mQQFaceListener = new adc(this); + private boolean mQueryingDualMsg = false; + private RelativeLayout mRealNameLayout; + private ImageView mRealNameNewIcon; + private BroadcastReceiver mReceiver = new adh(this); + private View.OnClickListener mRightTitleButtonClickListener = new adf(this); + private int mSecene = 0; + private View mTipVerifyView; + private int[] mTips = { 2131362181, 2131362185, 2131362186, 2131362187 }; + private TitleOptionMenu mTitleMenu; + private View[] mViews = new View[mIcons.length]; + private boolean needgotologobyprotect; + + private void checkBindQQ(int paramInt) + { + ba.a().h.a(fp.a[paramInt]).a(); + setNewFlag(paramInt); + if (this.mIsBusy[paramInt] != 0) { + return; + } + this.mIsBusy[paramInt] = true; + this.mSecene = paramInt; + ax localax = ax.a(); + if (localax.e() == null) + { + showNoAccountTipDialog(this, mNoAccountScenes[paramInt], 0); + this.mIsBusy[paramInt] = false; + return; + } + if (localax.o()) + { + com.tencent.token.global.e.c("UtilsActivity--agent.isPrepare validate"); + if (localax.e() == null) + { + this.mIsBusy[paramInt] = false; + showUserDialog(9); + return; + } + if (paramInt == 8) { + showProDialog(this, 2131361808, 2131362203, null); + } + gotoActivity(this.mSecene); + return; + } + af.a().b(this.mHandler); + com.tencent.token.global.e.c("UtilsActivity--agent.isPrepare invalidate"); + showProDialog(this, 2131361808, 2131362203, null); + } + + private void displayIconAccordingToFlag() + { + int i = 0; + while (i < mIcons.length) + { + this.mViews[i].setVisibility(0); + ImageView localImageView = (ImageView)this.mViews[i].findViewById(2131297218); + TextView localTextView = (TextView)this.mViews[i].findViewById(2131297220); + localImageView.setImageResource(mIcons[i]); + localTextView.setText(mTexts[i]); + this.mViews[i].setOnClickListener(this.mListener[i]); + setNewFlag(i); + i += 1; + } + setNewFlag(8); + } + + private void goToWtLoginAccountInput() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 7); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void gotoActivity(int paramInt) + { + this.mIsBusy[paramInt] = false; + switch (paramInt) + { + case -1: + default: + return; + case 2: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 8, 1); + return; + } + startActivity(new Intent(this, UtilsMailProtectActivity.class)); + return; + case 4: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 11, 1); + return; + } + startActivity(new Intent(this, UtilsAccountLockActivity.class)); + return; + case 0: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 12, 1); + return; + } + startActivity(new Intent(this, UtilsLoginProtectActivity.class)); + return; + case 6: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 10, 1); + return; + } + localObject = new Intent(this, ModifyQQPwdActivity.class); + pv.a().a(this, (Intent)localObject, pv.b); + return; + case 5: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 15, 1); + return; + } + startActivity(new Intent(this, UtilsGameLockActivity.class)); + return; + case 1: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 15, 1); + return; + } + p.a().a(System.currentTimeMillis(), 75); + startActivity(new Intent(this, UtilsGameProtectActivity.class)); + return; + case 3: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 9, 1); + return; + } + startActivity(new Intent(this, UtilsQbQdProtectActivity.class)); + return; + case 7: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 17, 1); + return; + } + s.a(this, getResources().getString(2131362184), getResources().getString(2131362183)); + return; + case -2: + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 2, 1); + return; + } + startActivity(new Intent(this, UtilsTokenLabActivity.class)); + return; + } + if (!ax.a().e().mIsBinded) + { + showNoAccountTipDialog(this, 3, 1); + return; + } + Object localObject = ax.a().e(); + if ((localObject != null) && (((QQUser)localObject).mIsBinded)) + { + af.a().l(0L, this.mHandler); + return; + } + this.mIsBusy[paramInt] = false; + dismissDialog(); + startActivity(new Intent(this, RealNameActivity.class)); + } + + private void gotologobyprotect() + { + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) { + return; + } + Intent localIntent = new Intent(this, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 9); + localIntent.putExtra("intent.uin", localQQUser.mRealUin); + startActivity(localIntent); + } + + private void init() + { + int i = 0; + this.mCodeTexts[0] = ((TextView)findViewById(2131297275)); + this.mCodeTexts[1] = ((TextView)findViewById(2131297276)); + this.mCodeTexts[2] = ((TextView)findViewById(2131297277)); + this.mCodeTexts[3] = ((TextView)findViewById(2131297278)); + this.mCodeTexts[4] = ((TextView)findViewById(2131297279)); + this.mCodeTexts[5] = ((TextView)findViewById(2131297280)); + this.mRealNameNewIcon = ((ImageView)findViewById(2131297289)); + this.mRealNameLayout = ((RelativeLayout)findViewById(2131296839)); + this.mRealNameLayout.setOnClickListener(new adq(this, 8)); + this.mCodeLineView = new com.tencent.token.ui.base.e(); + ((ImageView)findViewById(2131297281)).setBackgroundDrawable(this.mCodeLineView); + LinearLayout localLinearLayout1 = (LinearLayout)findViewById(2131296702); + LinearLayout localLinearLayout2 = (LinearLayout)findViewById(2131296703); + LinearLayout localLinearLayout3 = (LinearLayout)findViewById(2131296706); + int j = (int)((IndexActivity.S_RES_WIDTH - 40.0F * IndexActivity.S_DENSITY) / 4.0F); + if (i < mIcons.length) + { + if (i < 4) + { + localObject = getLayoutInflater().inflate(2130903234, null); + ((View)localObject).setLayoutParams(new RelativeLayout.LayoutParams(j, -2)); + localLinearLayout1.addView((View)localObject); + } + for (;;) + { + this.mViews[i] = localObject; + ((View)localObject).setVisibility(4); + this.mListener[i] = new adq(this, i); + i += 1; + break; + if (i < 6) + { + localObject = getLayoutInflater().inflate(2130903235, null); + ((View)localObject).setLayoutParams(new RelativeLayout.LayoutParams(j * 2, -2)); + localLinearLayout2.addView((View)localObject); + } + else + { + localObject = getLayoutInflater().inflate(2130903235, null); + ((View)localObject).setLayoutParams(new RelativeLayout.LayoutParams(j * 2, -2)); + localLinearLayout3.addView((View)localObject); + } + } + } + findViewById(2131297274).setOnClickListener(new adj(this)); + findViewById(2131297273).setOnClickListener(new adl(this)); + this.mTipVerifyView = findViewById(2131297329); + this.mTipVerifyView.setOnClickListener(new adm(this)); + displayIconAccordingToFlag(); + Object localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("com.tencent.token.utils_icon_flag"); + ((IntentFilter)localObject).addAction("com.tencent.token.token_code_change_30s"); + ((IntentFilter)localObject).addAction("com.tencent.token.siderbar.statechanged"); + LocalBroadcastManager.getInstance(this).registerReceiver(this.mReceiver, (IntentFilter)localObject); + this.mHandler.postDelayed(new adn(this), 50L); + } + + private void initFace() + { + QQUser localQQUser = ax.a().e(); + RoundImageView localRoundImageView = (RoundImageView)findViewById(2131297141); + localRoundImageView.setOnClickListener(this.mQQFaceListener); + ImageView localImageView1 = (ImageView)findViewById(2131297143); + ImageView localImageView2 = (ImageView)findViewById(2131297142); + TextView localTextView = (TextView)findViewById(2131296349); + localRoundImageView.setVisibility(0); + localImageView2.setVisibility(0); + if (localQQUser != null) + { + localRoundImageView.setVisibility(0); + localRoundImageView.setImageDrawable(k.a(localQQUser.mRealUin + "", localQQUser.mUin + "")); + if (!localQQUser.mIsBinded) + { + localImageView1.setVisibility(8); + localImageView2.setVisibility(8); + localTextView.setVisibility(0); + return; + } + localTextView.setVisibility(8); + if (localQQUser.mIsZzb) + { + localImageView1.setVisibility(0); + localImageView2.setImageResource(2130838024); + return; + } + localImageView1.setVisibility(8); + localImageView2.setImageResource(2130837522); + return; + } + localRoundImageView.setImageResource(2130837654); + localImageView2.setImageResource(2130837522); + localImageView1.setVisibility(8); + localTextView.setVisibility(8); + } + + private void onClickMenu(int paramInt) + { + switch (paramInt) + { + default: + return; + case 0: + p.a().a(System.currentTimeMillis(), 39); + if ((ax.a().e() != null) && (ax.a().f() == 0L)) + { + showUserDialog(2131361808, getString(2131362304), 2131362362, 2131361804, new ado(this), null); + return; + } + queryDualMsg(); + return; + } + s.b(this, getString(2131361988)); + } + + private void queryDualMsg() + { + if (this.mQueryingDualMsg) { + return; + } + this.mQueryingDualMsg = true; + this.mGetDualMsgTask = new add(this); + this.mGetDualMsgTask.a(new String[] { "" }); + showProDialog(this, 2131361808, new ade(this)); + } + + private void setNewFlag(int paramInt) + { + if (paramInt < mIcons.length) + { + localObject = (ImageView)this.mViews[paramInt].findViewById(2131297219); + localNewConfigureCacheItem = this.mCache.a(fp.a[paramInt]); + if (localNewConfigureCacheItem.mClickVersion < localNewConfigureCacheItem.mClientVersion) { + ((ImageView)localObject).setVisibility(0); + } + } + while (paramInt != 8) + { + NewConfigureCacheItem localNewConfigureCacheItem; + return; + ((ImageView)localObject).setVisibility(4); + return; + } + Object localObject = this.mCache.a("real_name"); + if (((NewConfigureCacheItem)localObject).mClickVersion < ((NewConfigureCacheItem)localObject).mClientVersion) + { + this.mRealNameNewIcon.setVisibility(0); + return; + } + this.mRealNameNewIcon.setVisibility(4); + } + + private void updateTokenCode() + { + ag localag = ag.c(); + localag.m(); + int i = 0; + while (i < 6) + { + this.mCodeTexts[i].setText("" + localag.l()[i]); + i += 1; + } + long l = localag.q(); + this.mHandler.sendEmptyMessageDelayed(-100, l); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + com.tencent.token.global.e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if ((this.mTitleMenu != null) && (this.mTitleMenu.getVisibility() == 0)) + { + this.mTitleMenu.a(); + return true; + } + exitToken(); + return true; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + setContentView(2130903250); + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + this.mCache.c(); + this.mHandler.removeMessages(-100); + LocalBroadcastManager.getInstance(this).unregisterReceiver(this.mReceiver); + } + + protected void onPause() + { + super.onPause(); + this.mHandler.removeMessages(-100); + } + + protected void onResume() + { + super.onResume(); + if ((!RqdApplication.b) && (this.needgotologobyprotect)) + { + gotologobyprotect(); + this.needgotologobyprotect = false; + return; + } + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (!localQQUser.mIsBinded)) { + this.mTipVerifyView.setVisibility(0); + } + for (;;) + { + updateTokenCode(); + initFace(); + return; + this.mTipVerifyView.setVisibility(4); + } + } + + protected void onSaveInstanceState(Bundle paramBundle) {} + + protected void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameLockActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameLockActivity.java new file mode 100755 index 00000000000..6703d63f7ef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameLockActivity.java @@ -0,0 +1,215 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ListView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fk; +import com.tencent.token.fp; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.TitleOptionMenu; +import com.tencent.token.ui.base.dk; + +public class UtilsGameLockActivity + extends BaseActivity +{ + private int indexID; + private ku mAdapter; + private View.OnClickListener mBindListener = new adv(this); + private ErrorView mErrorView; + Handler mHandler = new adr(this); + private ListView mListView; + private dk mNeedVerifyView; + private View mProgressView; + private boolean mQueryingGameLockStatus = false; + private View.OnClickListener mRetryListener = new adw(this); + private View.OnClickListener mRightTitleButtonClickListener = new adt(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + private TitleOptionMenu mTitleMenu; + + private void initUI() + { + this.mProgressView = findViewById(2131297208); + this.mListView = ((ListView)findViewById(2131297207)); + this.mAdapter = new ku(this, this.mListView, this.mHandler); + if (this.indexID > 0) { + this.mAdapter.a = false; + } + for (;;) + { + this.mListView.setScrollingCacheEnabled(true); + this.mListView.setAdapter(this.mAdapter); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + return; + View localView = LayoutInflater.from(this).inflate(2130903248, this.mListView, false); + this.mListView.addFooterView(localView); + this.mAdapter.a(localView); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if ((this.mTitleMenu != null) && (this.mTitleMenu.getVisibility() == 0)) + { + this.mTitleMenu.a(); + return true; + } + } + } + + public Handler getHandler() + { + return this.mHandler; + } + + public void hideTip() + { + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 5); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837953, this.mRightTitleButtonClickListener); + this.mTitleMenu = getDialogMenu(); + if (this.mTitleMenu != null) { + this.mTitleMenu.a(4); + } + return; + setContentView(2130903231); + this.indexID = getIntent().getIntExtra("indexid", 0); + initUI(); + } + } + + protected void onDestroy() + { + if (this.mAdapter != null) { + ku.d(); + } + super.onDestroy(); + } + + protected void onPause() + { + ba.a().c.e(); + ba.a().h.a("game_lock").a(); + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (localQQUser.mIsBinded)) { + queryGameLockStatus(); + } + } + + protected void onStop() + { + super.onStop(); + } + + public void queryGameLockStatus() + { + if (this.mQueryingGameLockStatus) { + return; + } + this.mQueryingGameLockStatus = true; + if (ba.a().k()) { + hideTip(); + } + for (;;) + { + af.a().b(0L, this.mHandler); + return; + showTip(-1, null, null, false); + } + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if ((isFinishing()) || (this.mProgressView == null) || (this.mListView == null)) { + return; + } + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public void showTipDialog(int paramInt, String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramInt, paramString, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsGameLockActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameProtectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameProtectActivity.java new file mode 100755 index 00000000000..16aaf90739e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsGameProtectActivity.java @@ -0,0 +1,187 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ListView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.fl; +import com.tencent.token.fp; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.dk; + +public class UtilsGameProtectActivity + extends BaseActivity +{ + private int indexID; + private kx mAdapter; + private View.OnClickListener mBindListener = new adz(this); + private ErrorView mErrorView; + private Handler mHandler = new adx(this); + public boolean mIsIniting = false; + private ListView mListView; + private dk mNeedVerifyView; + private View mProgressView; + private View.OnClickListener mRetryListener = new aea(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + + private void initUI() + { + this.mProgressView = findViewById(2131297216); + this.mListView = ((ListView)findViewById(2131297215)); + this.mAdapter = new kx(this, this.mListView, this.mHandler); + if (this.indexID > 0) { + this.mAdapter.a = false; + } + for (;;) + { + this.mListView.setScrollingCacheEnabled(true); + this.mListView.setAdapter(this.mAdapter); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + return; + View localView = LayoutInflater.from(this).inflate(2130903248, this.mListView, false); + this.mListView.addFooterView(localView); + this.mAdapter.a(localView); + } + } + + public void hideTip() + { + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 1); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new aeb(this)); + return; + setContentView(2130903233); + this.indexID = getIntent().getIntExtra("indexid", 0); + initUI(); + } + } + + protected void onDestroy() + { + if (this.mAdapter != null) + { + int j = ba.a().f(); + int i = 0; + while (i < j) + { + g localg = ba.a().b(i); + if (localg != null) { + localg.e = false; + } + i += 1; + } + } + super.onDestroy(); + } + + protected void onPause() + { + ba.a().d.d(); + ba.a().h.a("account_prot").a(); + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (localQQUser.mIsBinded)) { + queryGameProtectStatus(); + } + } + + protected void onStop() + { + super.onStop(); + } + + public void queryGameProtectStatus() + { + if (this.mIsIniting) + { + e.c("busy initing"); + return; + } + this.mIsIniting = true; + if (ba.a().l()) { + hideTip(); + } + for (;;) + { + af.a().c(0L, this.mHandler); + return; + showTip(-1, null, null, false); + } + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if ((isFinishing()) || (this.mProgressView == null) || (this.mListView == null)) { + return; + } + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public void showTipDialog(int paramInt, String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramInt, paramString, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsGameProtectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsLoginProtectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsLoginProtectActivity.java new file mode 100755 index 00000000000..119e7e089da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsLoginProtectActivity.java @@ -0,0 +1,189 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ListView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.LoginProtectResult; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fp; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.dk; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.util.List; + +public class UtilsLoginProtectActivity + extends BaseActivity +{ + public static boolean mNeedRefreshLoginProtect; + public String mA2; + private or mAdapter; + private View.OnClickListener mBindListener = new aef(this); + private ErrorView mErrorView; + public Handler mHandler = new aec(this); + private boolean mIsIniting; + private ListView mListView; + public LoginProtectResult mLoginProtectResult; + private dk mNeedVerifyView; + private boolean mNormalStatus; + private View mProgressView; + private boolean mQueryMobile; + private View.OnClickListener mRetryListener = new aeg(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + + private void initUI() + { + this.mProgressView = findViewById(2131297223); + this.mListView = ((ListView)findViewById(2131297222)); + this.mAdapter = new or(this); + this.mListView.setAdapter(this.mAdapter); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + } + + public com.tencent.token.core.bean.e getItem(int paramInt) + { + Object localObject; + if ((this.mLoginProtectResult == null) || (this.mLoginProtectResult.mLists.size() == 0)) + { + localObject = null; + return localObject; + } + int i = 0; + for (;;) + { + if (i >= this.mLoginProtectResult.mLists.size()) { + break label81; + } + com.tencent.token.core.bean.e locale = (com.tencent.token.core.bean.e)this.mLoginProtectResult.mLists.get(i); + localObject = locale; + if (locale.a == paramInt) { + break; + } + i += 1; + } + label81: + return null; + } + + public void hideTip() + { + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + mNeedRefreshLoginProtect = true; + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + this.mNormalStatus = false; + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 0); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new aeh(this)); + ba.a().h.a("login_protect").a(); + return; + setContentView(2130903236); + initUI(); + this.mNormalStatus = true; + mNeedRefreshLoginProtect = true; + } + } + + public void onResume() + { + super.onResume(); + if ((mNeedRefreshLoginProtect) && (this.mNormalStatus)) { + queryLoginProtect(); + } + } + + public void queryLoginProtect() + { + if (this.mIsIniting) { + com.tencent.token.global.e.c("busy initing"); + } + QQUser localQQUser; + do + { + return; + this.mIsIniting = true; + showTip(-1, null, null, false); + localQQUser = ax.a().e(); + if (!this.mQueryMobile) + { + af.a().e(0L, this.mHandler); + return; + } + if ((this.mA2 != null) && (this.mA2.length() > 0)) + { + af.a().d(0L, this.mA2, this.mHandler); + return; + } + } while (localQQUser == null); + byte[] arrayOfByte = x.a(RqdApplication.i()).a(localQQUser.mRealUin); + if (arrayOfByte != null) + { + this.mA2 = s.a(arrayOfByte); + af.a().d(0L, this.mA2, this.mHandler); + return; + } + x.a(RqdApplication.i()).a(this, "" + localQQUser.mRealUin, this.mHandler, true); + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public void showTipDialog(int paramInt, String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramInt, paramString, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsLoginProtectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMailProtectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMailProtectActivity.java new file mode 100755 index 00000000000..4b2b81dd935 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMailProtectActivity.java @@ -0,0 +1,275 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.fm; +import com.tencent.token.fp; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.dk; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.util.ArrayList; + +public class UtilsMailProtectActivity + extends BaseActivity +{ + private String A2; + private g curOpItem; + private LinearLayout ll; + private View ll_contentView; + private LinearLayout ll_tips; + private View.OnClickListener mBindListener = new aei(this); + private SwitchButton mCommonProtectCB; + private ProgressBar mCommonProtectProgress; + private View mContentView; + private ErrorView mErrorView; + private Handler mHandler = new aem(this); + private TextView mMailNameText; + private dk mNeedVerifyView; + private View mProgressView; + private View.OnClickListener mRetryListener = new aej(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + private TextView tv_del_tip; + + private View createTableCol(DeviceInfo paramDeviceInfo) + { + View localView = getLayoutInflater().inflate(2130903229, null); + TextView localTextView1 = (TextView)localView.findViewById(2131297200); + TextView localTextView2 = (TextView)localView.findViewById(2131297201); + localTextView1.setText(paramDeviceInfo.dname); + localTextView2.setText(paramDeviceInfo.dtype); + localView.setOnClickListener(new aeq(this, paramDeviceInfo)); + return localView; + } + + private void init() + { + this.mMailNameText = ((TextView)findViewById(2131297235)); + this.ll_contentView = findViewById(2131296909); + this.mProgressView = findViewById(2131296911); + this.ll = ((LinearLayout)findViewById(2131296910)); + this.ll_tips = ((LinearLayout)findViewById(2131297238)); + this.tv_del_tip = ((TextView)findViewById(2131297240)); + this.mContentView = findViewById(2131297234); + this.mCommonProtectCB = ((SwitchButton)findViewById(2131297236)); + this.mCommonProtectProgress = ((ProgressBar)findViewById(2131297237)); + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + this.mCommonProtectCB.setOnCheckedChangeListener(new ael(this)); + refreshContentView(); + } + + private void modifyPhone() + { + Intent localIntent = new Intent(this, UtilsModSetMobileStep1Activity.class); + localIntent.putExtra("op_type", 1); + localIntent.putExtra("title", getResources().getString(2131361849)); + localIntent.putExtra("page_id", 10); + startActivity(localIntent); + } + + private void queryCommonProtectStatus() + { + if (this.A2 == null) { + return; + } + refreshContentView(); + af.a().b(0L, 70, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", this.A2, this.mHandler); + } + + private void refreshContentView() + { + boolean bool = true; + this.mContentView.setVisibility(0); + Object localObject1 = ba.a().h(); + Object localObject2; + if (((g)localObject1).e) + { + this.mCommonProtectProgress.setVisibility(0); + this.mCommonProtectCB.setVisibility(0); + this.mCommonProtectCB.setEnabled(false); + if ((((g)localObject1).b != null) && (((g)localObject1).b.length() > 0)) { + this.mMailNameText.setText(((g)localObject1).b); + } + if (!((g)localObject1).c) { + break label263; + } + localObject1 = ba.a().f.b; + if ((localObject1 != null) && (((ArrayList)localObject1).size() > 0)) + { + this.ll_tips.setVisibility(0); + this.ll.setVisibility(0); + this.ll.removeAllViews(); + int i = 0; + while (i < ((ArrayList)localObject1).size()) + { + localObject2 = (DeviceInfo)((ArrayList)localObject1).get(i); + this.ll.addView(createTableCol((DeviceInfo)localObject2)); + i += 1; + } + } + } + else + { + this.mCommonProtectProgress.setVisibility(4); + this.mCommonProtectCB.setVisibility(0); + this.mCommonProtectCB.setEnabled(true); + localObject2 = this.mCommonProtectCB; + if (!((g)localObject1).c) {} + for (;;) + { + ((SwitchButton)localObject2).a(bool, false); + break; + bool = false; + } + this.tv_del_tip.setVisibility(0); + return; + } + this.ll_tips.setVisibility(8); + this.ll.setVisibility(8); + this.ll.removeAllViews(); + this.tv_del_tip.setVisibility(8); + return; + label263: + this.ll.setVisibility(8); + this.ll.removeAllViews(); + this.ll_tips.setVisibility(8); + this.tv_del_tip.setVisibility(8); + } + + private void setCommonProtectStatus() + { + g localg = ba.a().h(); + if (localg.e) { + return; + } + localg.e = true; + refreshContentView(); + handleCommonProtect(); + } + + private void showTipDialog(String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramString); + } + + private void showTipView(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + finish(); + return true; + } + } + + public void handleCommonProtect() + { + Object localObject = ba.a().h(); + int j = ((g)localObject).a; + if (((g)localObject).c) {} + for (int i = 0;; i = 1) + { + UtilsLoginProtectActivity.mNeedRefreshLoginProtect = true; + AccountPageActivity.mNeedRefreshEval = true; + localObject = af.a(); + String str = this.A2; + Handler localHandler = this.mHandler; + ((af)localObject).b(0L, new int[] { j }, new int[] { i }, str, localHandler); + return; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 2); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new aek(this)); + ba.a().h.a("mail_protect").a(); + return; + setContentView(2130903239); + init(); + byte[] arrayOfByte = x.a(RqdApplication.i()).a(ax.a().e().mRealUin); + if (arrayOfByte != null) + { + this.A2 = s.a(arrayOfByte); + queryCommonProtectStatus(); + } + else + { + x.a(RqdApplication.i()).a(this, "" + paramBundle.mRealUin, this.mHandler, true); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsMailProtectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoActivity.java new file mode 100755 index 00000000000..07adad14cdf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoActivity.java @@ -0,0 +1,154 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ListView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fp; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.dk; + +public class UtilsMbInfoActivity + extends BaseActivity +{ + private pg mAdapter; + private View.OnClickListener mBindListener = new aeu(this); + private ErrorView mErrorView; + public Handler mHandler = new aew(this); + public boolean mIsIniting = false; + private ListView mListView; + private dk mNeedVerifyView; + private View mProgressView; + private View.OnClickListener mRetryListener = new aev(this); + + private void checkView() + { + if (this.mProgressView == null) + { + setContentView(2130903244); + initUI(); + } + } + + private void initUI() + { + this.mProgressView = findViewById(2131297255); + this.mListView = ((ListView)findViewById(2131297254)); + this.mAdapter = new pg(this); + this.mListView.setAdapter(this.mAdapter); + } + + public void getMbInfo() + { + if (this.mIsIniting) { + return; + } + this.mIsIniting = true; + showTip(-1, null, null, false); + af.a().e(0L, this.mHandler); + } + + public void hideTip() + { + if (this.mProgressView == null) + { + setContentView(2130903244); + initUI(); + } + this.mProgressView.setVisibility(8); + this.mListView.setVisibility(0); + this.mAdapter.notifyDataSetChanged(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, -1); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new aex(this)); + return; + setContentView(2130903244); + initUI(); + } + } + + public void onDestroy() + { + super.onDestroy(); + } + + protected void onPause() + { + super.onPause(); + } + + public void onResume() + { + super.onResume(); + Object localObject = ax.a().e(); + if ((localObject != null) && (((QQUser)localObject).mIsBinded)) { + getMbInfo(); + } + localObject = ba.a().h; + if ((localObject != null) && (((fp)localObject).a("mb_tools") != null)) { + ((fp)localObject).a("mb_tools").a(); + } + } + + public void onStop() + { + af.a().a(getClass().getName()); + super.onStop(); + } + + public void showTip(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if (this.mProgressView == null) + { + setContentView(2130903244); + initUI(); + } + if ((paramInt == -1) && (paramString1 == null) && (paramString2 == null)) + { + this.mProgressView.setVisibility(0); + this.mListView.setVisibility(8); + return; + } + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsMbInfoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoFeedbackMobileUsingSuccActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoFeedbackMobileUsingSuccActivity.java new file mode 100755 index 00000000000..ee15d7f6df2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoFeedbackMobileUsingSuccActivity.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.view.View; + +public class UtilsMbInfoFeedbackMobileUsingSuccActivity + extends BaseActivity +{ + private void initUI() + { + findViewById(2131297205).setOnClickListener(new aey(this)); + this.mBackArrow.setVisibility(4); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903230); + findViewById(2131297205).setOnClickListener(new aey(this)); + this.mBackArrow.setVisibility(4); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsMbInfoFeedbackMobileUsingSuccActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoItemActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoItemActivity.java new file mode 100755 index 00000000000..87775beae74 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsMbInfoItemActivity.java @@ -0,0 +1,296 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.text.Html; +import android.text.Spanned; +import android.text.style.URLSpan; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TableLayout; +import android.widget.TableRow; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; +import com.tencent.token.fn; +import com.tencent.token.global.e; +import java.util.ArrayList; +import org.json.JSONArray; +import org.json.JSONException; + +public class UtilsMbInfoItemActivity + extends BaseActivity +{ + private RelativeLayout mDelSuccView; + private Handler mHandler = new aez(this); + private boolean mIsDelSucc = false; + private MbInfoResult.MbInfoItem mItem = null; + private RelativeLayout mItemView; + private int mPosition; + + private View createTableCol1(String paramString) + { + View localView = getLayoutInflater().inflate(2130903241, null); + TextView localTextView = (TextView)localView.findViewById(2131297246); + if ((localTextView != null) && (paramString != null)) { + localTextView.setText(Html.fromHtml(paramString)); + } + return localView; + } + + private View createTableCol2(String paramString) + { + View localView = getLayoutInflater().inflate(2130903242, null); + TextView localTextView = (TextView)localView.findViewById(2131297247); + if ((localTextView != null) && (paramString != null)) { + localTextView.setText(Html.fromHtml(paramString)); + } + return localView; + } + + private void initUI() + { + if ((this.mItem == null) || (this.mItem.mDetail == null)) { + return; + } + setTitle(this.mItem.mName); + this.mItemView = ((RelativeLayout)findViewById(2131297241)); + this.mDelSuccView = ((RelativeLayout)findViewById(2131297244)); + if ((this.mItem.mDetail.mBtnText != null) && (this.mItem.mDetail.mBtnText.length() > 0)) { + ((TextView)findViewById(2131296396)).setText(getResources().getString(2131362207) + this.mItem.mDetail.mBtnText + this.mItem.mName + "!"); + } + findViewById(2131296398).setOnClickListener(new afa(this)); + this.mItemView.setVisibility(0); + this.mDelSuccView.setVisibility(8); + TextView localTextView = (TextView)findViewById(2131296903); + if ((this.mItem.mDetail.mDesc != null) && (this.mItem.mDetail.mDesc.length() > 0)) + { + Object localObject = Html.fromHtml(this.mItem.mDetail.mDesc); + localTextView.setText((CharSequence)localObject); + localTextView.setVisibility(0); + localObject = (URLSpan[])((Spanned)localObject).getSpans(0, ((Spanned)localObject).length(), URLSpan.class); + if ((localObject != null) && (localObject.length > 0)) { + localTextView.setOnClickListener(new afb(this, localObject[0].getURL())); + } + } + for (;;) + { + insertTableRows((TableLayout)findViewById(2131297242)); + setActionButton(); + setRightBtn(); + return; + localTextView.setVisibility(8); + } + } + + private void insertTableRows(TableLayout paramTableLayout) + { + for (;;) + { + JSONArray localJSONArray; + int i; + Object localObject; + TableRow localTableRow; + int j; + try + { + localJSONArray = new JSONArray(this.mItem.mDetail.mTable); + i = 0; + if (i < localJSONArray.length()) + { + localObject = localJSONArray.getJSONArray(i); + localTableRow = new TableRow(this); + j = 0; + if (j < ((JSONArray)localObject).length()) { + if (j == 0) { + localTableRow.addView(createTableCol1(((JSONArray)localObject).getString(j))); + } else { + localTableRow.addView(createTableCol2(((JSONArray)localObject).getString(j))); + } + } + } + } + catch (JSONException paramTableLayout) + { + paramTableLayout.printStackTrace(); + } + for (;;) + { + return; + paramTableLayout.addView(localTableRow); + i += 1; + break; + localObject = (ViewGroup.MarginLayoutParams)this.mItemView.getLayoutParams(); + i = (int)(localJSONArray.length() * 50 * IndexActivity.S_DENSITY); + j = IndexActivity.S_RES_WIDTH; + int k = ((ViewGroup.MarginLayoutParams)localObject).leftMargin; + int m = ((ViewGroup.MarginLayoutParams)localObject).rightMargin; + paramTableLayout.getLayoutParams().height = i; + if (localJSONArray.length() > 1) + { + i = 0; + while (i < localJSONArray.length() - 1) + { + paramTableLayout = new ImageView(this); + paramTableLayout.setBackgroundColor(getResources().getColor(2131165213)); + localObject = new RelativeLayout.LayoutParams(j - k - m, (int)IndexActivity.S_DENSITY); + ((RelativeLayout.LayoutParams)localObject).topMargin = ((int)((i + 1) * 50 * IndexActivity.S_DENSITY)); + this.mItemView.addView(paramTableLayout, (ViewGroup.LayoutParams)localObject); + i += 1; + } + } + } + j += 1; + } + } + + private void setActionButton() + { + if ((this.mItem == null) || (this.mItem.mDetail == null)) { + return; + } + Button localButton1 = (Button)findViewById(2131296904); + Button localButton2 = (Button)findViewById(2131297243); + setButton(localButton1, this.mItem.mDetail.mBtnStatus, this.mItem.mDetail.mBtnText, this.mItem.mDetail.mBtnType); + setButton(localButton2, this.mItem.mDetail.mBtnExtStatus, this.mItem.mDetail.mBtnExtText, this.mItem.mDetail.mBtnExtType); + } + + private void setButton(Button paramButton, int paramInt1, String paramString, int paramInt2) + { + if (paramButton == null) { + return; + } + if ((paramString == null) || (paramString.length() == 0)) + { + paramButton.setVisibility(4); + return; + } + paramButton.setVisibility(0); + boolean bool; + if (paramInt1 == 1) + { + bool = true; + if (paramString.length() != 2) { + break label144; + } + } + label144: + for (String str = paramString.substring(0, 1) + " " + paramString.substring(1, 2);; str = paramString) + { + paramButton.setText(str); + paramButton.setEnabled(bool); + if ((!bool) || (paramInt2 == 0)) + { + paramButton.setVisibility(4); + paramButton.setTextColor(getResources().getColor(2131165214)); + } + paramButton.setOnClickListener(new afc(this, bool, paramInt2, paramString)); + return; + bool = false; + break; + } + } + + private void setRightBtn() + { + if (this.mItem == null) { + return; + } + int i; + switch (this.mItem.mId) + { + default: + i = 0; + } + while (i != 0) + { + setRightTitleImage(2130837951, new aff(this, i)); + return; + i = 2131362228; + continue; + i = 2131362226; + continue; + i = 2131362229; + continue; + i = 2131362227; + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsDelSucc) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903240); + paramBundle = getIntent().getExtras(); + if (paramBundle == null) + { + finish(); + return; + } + this.mPosition = paramBundle.getInt("position", -1); + paramBundle = fn.a().c(); + if ((this.mPosition == -1) || (paramBundle == null) || (paramBundle.mMbInfoItems == null) || (paramBundle.mMbInfoItems.size() <= this.mPosition)) + { + finish(); + return; + } + this.mItem = ((MbInfoResult.MbInfoItem)paramBundle.mMbInfoItems.get(this.mPosition)); + initUI(); + } + + public void onDestroy() + { + af.a().a(getClass().getName()); + super.onDestroy(); + } + + public void onResume() + { + super.onResume(); + } + + public void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsMbInfoItemActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep1Activity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep1Activity.java new file mode 100755 index 00000000000..9fcca346709 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep1Activity.java @@ -0,0 +1,135 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.utils.s; + +public class UtilsModSetMobileStep1Activity + extends BaseActivity + implements View.OnClickListener +{ + private String mCountryCode = "+86"; + private int mCountryIndex = -1; + private TextView mCountry_name; + private TextView mCountry_number; + private Handler mHandler = new afg(this); + private int mOpType; + private int mPageId; + private String mSmsPrefix; + private EditText mStep1MobileText; + private String mTitle; + private View mcountry; + + private void init() + { + Bundle localBundle = getIntent().getExtras(); + if (localBundle == null) + { + finish(); + return; + } + if ((localBundle.getInt("op_type", 0) == 0) || (localBundle.getString("title") == null)) + { + finish(); + return; + } + this.mPageId = localBundle.getInt("page_id"); + this.mOpType = localBundle.getInt("op_type", 0); + this.mTitle = localBundle.getString("title"); + setTitle(this.mTitle); + this.mStep1MobileText = ((EditText)findViewById(2131296655)); + if (this.mStep1MobileText != null) { + this.mStep1MobileText.clearFocus(); + } + this.mcountry = findViewById(2131296651); + this.mCountry_name = ((TextView)findViewById(2131296652)); + this.mCountry_number = ((TextView)findViewById(2131296654)); + this.mcountry.setOnClickListener(new afi(this)); + if (this.mOpType == 3) + { + ((TextView)findViewById(2131296650)).setText(getResources().getString(2131362209)); + this.mStep1MobileText.setHint(getResources().getString(2131362209)); + } + for (;;) + { + findViewById(2131296656).setOnClickListener(this); + return; + ((TextView)findViewById(2131296650)).setText(getResources().getString(2131362208)); + this.mStep1MobileText.setHint(getResources().getString(2131362208)); + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + super.onActivityResult(paramInt1, paramInt2, paramIntent); + if (paramInt2 == 0) { + return; + } + if (paramInt2 == 1111) {} + for (paramIntent = "+1";; paramIntent = "+" + paramInt2) + { + this.mCountryCode = paramIntent; + this.mCountryIndex = paramInt2; + s.a(paramInt2, this.mCountry_name, this.mCountry_number); + return; + } + } + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + } + do + { + return; + } while (this.mStep1MobileText == null); + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + paramView = this.mStep1MobileText.getText().toString(); + if ((paramView != null) && (paramView.length() != 0)) + { + af.a().b(0L, this.mOpType, paramView, this.mCountryCode, this.mHandler); + showProDialog(this, 2131361808, 2131362215, null); + return; + } + showToast(2131361947); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903105); + init(); + } + + public void onDestroy() + { + super.onDestroy(); + af.a().a(getClass().getName()); + } + + public void onResume() + { + super.onResume(); + } + + public void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsModSetMobileStep1Activity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2Activity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2Activity.java new file mode 100755 index 00000000000..a882c580a5b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2Activity.java @@ -0,0 +1,290 @@ +package com.tencent.token.ui; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.telephony.SmsMessage; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +public class UtilsModSetMobileStep2Activity + extends BaseActivity + implements View.OnClickListener +{ + private final int INTERVAL_TIME_SEND_SMS = 60; + private final String RECEIVE_SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED"; + private final String UPDATE_INTERVAL_TIME_ACTION = "com.tencent.token.GET_MOBILE_CODE_INTERVAL"; + private String mCountryCode; + private Handler mHandler = new afm(this); + private AlarmManager mIntervalAlarmMgr = null; + private PendingIntent mIntervalPending = null; + private BroadcastReceiver mIntervalReceiver = new afj(this); + private int mIntervalTime = 60; + private boolean mIsModSetSucc = false; + private boolean mIsSMSRegisted = false; + private String mMobile; + private int mOpType; + private int mPageId; + private BroadcastReceiver mSMSReceiver = new afk(this); + private String mSmsPrefix; + private Button mStep2BindBtn; + private TextView mStep2CodeText; + private Button mStep2ReSendBtn; + private String mTitle; + + private SmsMessage[] getMessage(Intent paramIntent) + { + paramIntent = (Object[])paramIntent.getSerializableExtra("pdus"); + if (paramIntent == null) { + return null; + } + int j = paramIntent.length; + SmsMessage[] arrayOfSmsMessage = new SmsMessage[j]; + int i = 0; + while (i < j) + { + arrayOfSmsMessage[i] = SmsMessage.createFromPdu((byte[])paramIntent[i]); + i += 1; + } + return arrayOfSmsMessage; + } + + private void init() + { + Object localObject = getIntent().getExtras(); + if (localObject == null) + { + finish(); + return; + } + if ((((Bundle)localObject).getInt("op_type", 0) == 0) || (((Bundle)localObject).getString("title") == null) || (((Bundle)localObject).getString("mobile") == null)) + { + finish(); + return; + } + this.mPageId = ((Bundle)localObject).getInt("page_id"); + this.mOpType = ((Bundle)localObject).getInt("op_type", 0); + this.mSmsPrefix = ((Bundle)localObject).getString("sms_prefix"); + this.mMobile = ((Bundle)localObject).getString("mobile"); + this.mCountryCode = ((Bundle)localObject).getString("area_code"); + this.mTitle = ((Bundle)localObject).getString("title"); + setTitle(this.mTitle); + e.c("test mbinfo, positon=, optype=" + this.mOpType + ", sms_prefix=" + this.mSmsPrefix + ", mobile=" + this.mMobile + ", area_code=" + this.mCountryCode); + registerSMSReceiver(); + registerIntervalTimer(); + localObject = getResources().getString(2131362210); + String str = s.a(this.mMobile); + SpannableString localSpannableString = new SpannableString((String)localObject + str + getResources().getString(2131362211)); + localSpannableString.setSpan(new ForegroundColorSpan(getResources().getColor(2131165212)), ((String)localObject).length(), ((String)localObject).length() + str.length(), 33); + ((TextView)findViewById(2131297257)).setText(localSpannableString); + this.mStep2CodeText = ((EditText)findViewById(2131297259)); + if (this.mStep2CodeText != null) { + this.mStep2CodeText.clearFocus(); + } + this.mStep2ReSendBtn = ((Button)findViewById(2131297260)); + this.mStep2BindBtn = ((Button)findViewById(2131297261)); + this.mStep2ReSendBtn.setOnClickListener(this); + this.mStep2BindBtn.setOnClickListener(this); + } + + private void registerIntervalTimer() + { + if (this.mIntervalAlarmMgr != null) { + return; + } + Object localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("com.tencent.token.GET_MOBILE_CODE_INTERVAL"); + registerReceiver(this.mIntervalReceiver, (IntentFilter)localObject); + localObject = new Intent("com.tencent.token.GET_MOBILE_CODE_INTERVAL"); + this.mIntervalAlarmMgr = ((AlarmManager)getSystemService("alarm")); + this.mIntervalPending = PendingIntent.getBroadcast(this, 0, (Intent)localObject, 0); + } + + private void registerSMSReceiver() + { + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); + registerReceiver(this.mSMSReceiver, localIntentFilter, "android.permission.RECEIVE_SMS", null); + this.mIsSMSRegisted = true; + } + + private void unregisterIntervalTimer() + { + if (this.mIntervalAlarmMgr != null) + { + this.mIntervalAlarmMgr.cancel(this.mIntervalPending); + unregisterReceiver(this.mIntervalReceiver); + this.mIntervalAlarmMgr = null; + } + } + + private void unregisterSMSReceiver() + { + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + private void updateIntervalTimer() + { + e.a("update interval: " + this.mIntervalTime); + this.mIntervalTime -= 1; + if (this.mIntervalTime <= 0) + { + this.mStep2ReSendBtn.setTextColor(getResources().getColor(2131165192)); + this.mStep2ReSendBtn.setText(2131362212); + this.mStep2ReSendBtn.setTextSize(0, getResources().getDimensionPixelSize(2131230731)); + this.mStep2ReSendBtn.setEnabled(true); + } + long l; + do + { + return; + this.mStep2ReSendBtn.setEnabled(false); + String str2 = getResources().getString(2131362212) + "\n("; + String str1 = str2; + if (this.mIntervalTime < 10) { + str1 = str2 + "0"; + } + str1 = str1 + this.mIntervalTime + ")"; + if (this.mStep2ReSendBtn != null) + { + this.mStep2ReSendBtn.setText(str1); + this.mStep2ReSendBtn.setTextColor(getResources().getColor(2131165197)); + this.mStep2ReSendBtn.setTextSize(0, getResources().getDimensionPixelSize(2131230728)); + } + l = System.currentTimeMillis(); + } while (this.mIntervalAlarmMgr == null); + this.mIntervalAlarmMgr.set(1, l + 1000L, this.mIntervalPending); + } + + private void vryMobileCode() + { + if (this.mStep2CodeText == null) { + return; + } + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + String str = this.mStep2CodeText.getText().toString(); + if ((str != null) && (str.length() != 0)) + { + af.a().a(0L, str, this.mHandler); + showProDialog(this, 2131361808, getResources().getString(2131362216) + this.mTitle + getResources().getString(2131362217), null); + return; + } + showToast(2131362214); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsModSetSucc) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + default: + return; + case 2131297260: + this.mIntervalTime = 60; + updateIntervalTimer(); + af.a().b(0L, this.mOpType, this.mMobile, this.mCountryCode, this.mHandler); + return; + case 2131297261: + vryMobileCode(); + return; + } + if (this.mPageId == 10) + { + paramView = new Intent(this, IndexActivity.class); + paramView.putExtra("index_from", 16); + startActivity(paramView); + } + for (;;) + { + finish(); + return; + startActivity(new Intent(this, UtilsMbInfoActivity.class)); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903246); + init(); + } + + public void onDestroy() + { + super.onDestroy(); + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + if (this.mIntervalAlarmMgr != null) + { + this.mIntervalAlarmMgr.cancel(this.mIntervalPending); + unregisterReceiver(this.mIntervalReceiver); + this.mIntervalAlarmMgr = null; + } + af.a().a(getClass().getName()); + } + + public void onResume() + { + super.onResume(); + if (this.mIntervalAlarmMgr != null) { + updateIntervalTimer(); + } + } + + public void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsModSetMobileStep2Activity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2SmsActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2SmsActivity.java new file mode 100755 index 00000000000..215dcd2a0af --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsModSetMobileStep2SmsActivity.java @@ -0,0 +1,224 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; + +public class UtilsModSetMobileStep2SmsActivity + extends BaseActivity + implements View.OnClickListener, Runnable +{ + private boolean isCurrentMobile = true; + private int mBindRetryTimes = 0; + private String mCountryCode; + private Handler mHandler = new afq(this); + private boolean mIsModSetSucc = false; + private boolean mIsRunning = true; + private boolean mIsTimeTask = false; + private String mMobile; + private int mOpType; + private int mPageId; + private int mRetryTimes = 0; + private String mSMSChannel; + Runnable mSetModMobileRunnable = new afo(this); + private Button mStep2BindBtn; + private long mTimeConter; + private String mTitle; + private String mUin; + private QQUser mUser; + + private void init() + { + if (this.mUser != null) { + this.mUin = (this.mUser.mRealUin + ""); + } + Bundle localBundle = getIntent().getExtras(); + if (localBundle == null) + { + finish(); + return; + } + if ((localBundle.getInt("op_type", 0) == 0) || (localBundle.getString("title") == null) || (localBundle.getString("mobile") == null)) + { + finish(); + return; + } + this.mPageId = localBundle.getInt("page_id"); + this.mOpType = localBundle.getInt("op_type", 0); + this.mMobile = localBundle.getString("mobile"); + this.mTitle = localBundle.getString("title"); + this.mCountryCode = localBundle.getString("area_code"); + setTitle(this.mTitle); + e.c("test mbinfo, positon=, optype=" + this.mOpType + ", mobile=" + this.mMobile + ", area_code=" + this.mCountryCode); + this.mStep2BindBtn = ((Button)findViewById(2131296442)); + this.mStep2BindBtn.setOnClickListener(this); + ((Button)findViewById(2131296443)).setOnClickListener(this); + ((TextView)findViewById(2131296440)).setText(this.mMobile); + } + + private void showFailDialog(String paramString) + { + showUserDialog(2131361907, paramString, 2131361800, new afr(this), new afs(this)); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsModSetSucc) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + } + } + + protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) + { + this.mHandler.sendEmptyMessage(3); + startTimeTask(3); + e.b("startTimeTask onActivityResult"); + } + + public void onClick(View paramView) + { + switch (paramView.getId()) + { + default: + return; + case 2131296442: + this.isCurrentMobile = true; + af.a().a(this.mMobile, 0L, 0, 2, this.mCountryCode, this.mHandler); + showProDialog(this, 2131361808, getResources().getString(2131362216) + this.mTitle + getResources().getString(2131362217), null); + return; + case 2131296443: + this.isCurrentMobile = false; + af.a().a(this.mMobile, 0L, 0, 2, this.mCountryCode, this.mHandler); + showProDialog(this, 2131361808, getResources().getString(2131362216) + this.mTitle + getResources().getString(2131362217), null); + return; + } + if (this.mPageId == 10) + { + paramView = new Intent(this, IndexActivity.class); + paramView.putExtra("index_from", 16); + startActivity(paramView); + } + for (;;) + { + finish(); + return; + startActivity(new Intent(this, IndexActivity.class)); + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903245); + this.mUser = ax.a().e(); + init(); + new Thread(this).start(); + } + + public void onDestroy() + { + super.onDestroy(); + this.mIsRunning = false; + } + + public void onResume() + { + super.onResume(); + ag.c().a.a(this.mHandler); + } + + public void onStop() + { + super.onStop(); + ag.c().a.a(null); + } + + public void removeTimeTask(int paramInt) + { + this.mIsTimeTask = false; + } + + public void run() + { + while (this.mIsRunning) { + if ((this.mIsTimeTask) && (System.currentTimeMillis() - this.mTimeConter > 60000L)) { + try + { + e.c("removeTimeTask removeTimeTask"); + removeTimeTask(6); + Message localMessage = new Message(); + localMessage.what = 15; + this.mHandler.sendMessage(localMessage); + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + } + } + + public void sendUpSmsBySMSAPP(String paramString1, String paramString2) + { + try + { + paramString1 = new Intent("android.intent.action.SENDTO", Uri.parse("smsto:" + paramString1)); + paramString1.putExtra("sms_body", paramString2); + startActivityForResult(paramString1, 0); + return; + } + catch (Exception paramString1) + { + paramString1.printStackTrace(); + e.b(paramString1.toString()); + } + } + + public void showProgressDialog() + { + showProDialog(this, 2131362363, 2131361827, new afp(this)); + } + + public void startTimeTask(int paramInt) + { + this.mTimeConter = System.currentTimeMillis(); + this.mIsTimeTask = true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsModSetMobileStep2SmsActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsQbQdProtectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsQbQdProtectActivity.java new file mode 100755 index 00000000000..e1a08fb7d77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsQbQdProtectActivity.java @@ -0,0 +1,200 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.ba; +import com.tencent.token.core.bean.NewConfigureCacheItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.fp; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.dk; + +public class UtilsQbQdProtectActivity + extends BaseActivity +{ + private View.OnClickListener mBindListener = new aft(this); + private View mContentView; + private ErrorView mErrorView; + Handler mHandler = new afv(this); + private dk mNeedVerifyView; + private SwitchButton mQbQdProtectCB; + private TextView mQbQdProtectName; + private ProgressBar mQbQdProtectProgress; + private View.OnClickListener mRetryListener = new afu(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + + private void init() + { + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + this.mContentView = findViewById(2131297292); + this.mQbQdProtectCB = ((SwitchButton)findViewById(2131297294)); + this.mQbQdProtectName = ((TextView)findViewById(2131297293)); + this.mQbQdProtectProgress = ((ProgressBar)findViewById(2131297295)); + this.mQbQdProtectCB.setOnCheckedChangeListener(new afw(this)); + } + + private void queryQbQdProtectStatus() + { + refreshContentView(); + af.a().c(0L, this.mHandler); + } + + private void refreshContentView() + { + boolean bool = true; + if ((isFinishing()) || (this.mContentView == null)) { + return; + } + this.mContentView.setVisibility(0); + Object localObject = ba.a(); + g localg = ((ba)localObject).g(); + if ((localg.e) || (!((ba)localObject).o())) + { + this.mQbQdProtectProgress.setVisibility(0); + this.mQbQdProtectCB.setVisibility(0); + this.mQbQdProtectCB.setEnabled(false); + label72: + if ((localg.b != null) && (localg.b.length() > 0)) { + this.mQbQdProtectName.setText(localg.b); + } + } + else + { + this.mQbQdProtectProgress.setVisibility(4); + this.mQbQdProtectCB.setVisibility(0); + this.mQbQdProtectCB.setEnabled(true); + localObject = this.mQbQdProtectCB; + if (localg.c) { + break label146; + } + } + for (;;) + { + ((SwitchButton)localObject).a(bool, false); + break label72; + break; + label146: + bool = false; + } + } + + private void setQbQdProtectStatus() + { + g localg = ba.a().g(); + if (localg.e) { + return; + } + localg.e = true; + refreshContentView(); + handleQbQdProtect(); + } + + private void showTipDialog(String paramString) + { + if (isFinishing()) { + return; + } + showUserDialog(paramString); + } + + private void showTipView(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + public void handleQbQdProtect() + { + int i = 1; + Object localObject = ba.a().g(); + int j = ((g)localObject).a; + if (((g)localObject).c) { + i = 0; + } + localObject = af.a(); + Handler localHandler = this.mHandler; + ((af)localObject).a(0L, new int[] { j }, new int[] { i }, "", localHandler); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, 3); + } + setContentView(this.mNeedVerifyView); + } + for (;;) + { + setRightTitleImage(2130837951, new afx(this)); + return; + setContentView(2130903251); + init(); + } + } + + protected void onDestroy() + { + g localg = ba.a().g(); + if (localg != null) { + localg.e = false; + } + super.onDestroy(); + } + + protected void onPause() + { + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (localQQUser.mIsBinded)) + { + refreshContentView(); + af.a().c(0L, this.mHandler); + } + ba.a().h.a("qb_prot").a(); + } + + protected void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsQbQdProtectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsTokenLabActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsTokenLabActivity.java new file mode 100755 index 00000000000..c0fd1155c90 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/UtilsTokenLabActivity.java @@ -0,0 +1,121 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.ui.base.ErrorView; +import com.tencent.token.ui.base.dk; +import com.tencent.token.utils.s; + +public class UtilsTokenLabActivity + extends BaseActivity +{ + private ImageView iv_new; + private View.OnClickListener mBindListener = new agb(this); + private ErrorView mErrorView; + private Handler mHandler = new aga(this); + private dk mNeedVerifyView; + private String mOff; + private String mOn; + private View mRealNameView; + private View.OnClickListener mRetryListener = new agc(this); + private String mTipBindQQBtnDesc; + private String mTipBindQQDesc; + private TextView mfaceStatus; + private View mfaceView; + private RealNameStatusResult result; + + private void init() + { + this.mTipBindQQDesc = getResources().getString(2131362193); + this.mTipBindQQBtnDesc = getResources().getString(2131362297); + this.mOn = getResources().getString(2131362380); + this.mOff = getResources().getString(2131362381); + this.mfaceView = findViewById(2131297163); + this.iv_new = ((ImageView)findViewById(2131296288)); + this.mfaceView.setOnClickListener(new afy(this)); + this.mfaceStatus = ((TextView)findViewById(2131297166)); + this.mRealNameView = findViewById(2131297167); + this.mRealNameView.setOnClickListener(new afz(this)); + } + + private void setView() + { + if (this.mfaceStatus != null) + { + if (!ax.a().j()) { + break label59; + } + this.mfaceStatus.setText(2131362502); + this.mfaceStatus.setTextAppearance(this, 2131427368); + } + for (;;) + { + if ((!s.i("util_lab_fr_new")) && (this.iv_new != null)) { + this.iv_new.setVisibility(0); + } + return; + label59: + this.mfaceStatus.setText(2131362503); + this.mfaceStatus.setTextAppearance(this, 2131427367); + } + } + + private void showTipView(int paramInt, String paramString1, String paramString2, boolean paramBoolean) + { + if (this.mErrorView == null) + { + this.mErrorView = new ErrorView(this); + addContentView(this.mErrorView); + } + this.mErrorView.a(paramInt); + if (paramBoolean) { + this.mErrorView.a(this.mBindListener); + } + for (;;) + { + this.mErrorView.setVisibility(0); + bringChildToFront(this.mErrorView); + return; + this.mErrorView.a(this.mRetryListener); + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + paramBundle = ax.a().e(); + if ((paramBundle != null) && (!paramBundle.mIsBinded)) + { + if (this.mNeedVerifyView == null) { + this.mNeedVerifyView = new dk(this, -2); + } + setContentView(this.mNeedVerifyView); + return; + } + setContentView(2130903222); + init(); + af.a().l(0L, this.mHandler); + showProDialog(this, 2131361808, 2131362203, null); + } + + protected void onResume() + { + super.onResume(); + setView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.UtilsTokenLabActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyMobilePhoneActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyMobilePhoneActivity.java new file mode 100755 index 00000000000..7cb9804ff48 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyMobilePhoneActivity.java @@ -0,0 +1,95 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +public class VerifyMobilePhoneActivity + extends BaseActivity +{ + private EditText et; + private View.OnClickListener mCompleteButtonListener = new agl(this); + public Handler mHandler = new agg(this); + private boolean mIsActiveSuccess = false; + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + + private void setActiveSucc(boolean paramBoolean) + { + Object localObject = ag.c(); + ((ag)localObject).i(); + ((ag)localObject).n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + ax.a().f(Long.parseLong((String)localObject)); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + setTitle(2131361842); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + a.a().a(8); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903060); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + ((TextView)findViewById(2131296452)).setText(this.mUpDetermin.mMobileMask); + this.et = ((EditText)findViewById(2131296453)); + if (this.et != null) { + this.et.clearFocus(); + } + ((Button)findViewById(2131296454)).setOnClickListener(new agd(this)); + ((TextView)findViewById(2131296455)).setOnClickListener(new agf(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.VerifyMobilePhoneActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyStartScanActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyStartScanActivity.java new file mode 100755 index 00000000000..4c488a6af37 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/VerifyStartScanActivity.java @@ -0,0 +1,94 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.qbardemo.MainActivity; +import com.tencent.token.global.g; +import com.tencent.token.ui.base.CameraPrepareDialog; +import com.tencent.token.ui.base.dt; + +public class VerifyStartScanActivity + extends BaseActivity +{ + private CameraPrepareDialog mCameraDialog; + private dt mScanTipView; + private int mSource; + + private void gotoScan() + { + this.mCameraDialog = new CameraPrepareDialog(this); + this.mCameraDialog.show(); + Intent localIntent = new Intent(this, MainActivity.class); + localIntent.putExtra("source_from", this.mSource); + startActivity(localIntent); + finish(); + } + + private void initView() + { + View localView = new View(this); + localView.setBackgroundColor(-16777216); + setContentView(localView); + if (!g.a(this.mSource)) + { + gotoScan(); + setRightTitleImage(2130837951, new agm(this)); + return; + } + this.mScanTipView = new dt(this, this.mSource); + this.mScanTipView.a(new agn(this)); + addContentView(this.mScanTipView); + if (this.mSource == 0) + { + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165236)); + this.mTitleDivider.setBackgroundColor(getResources().getColor(2131165298)); + } + for (;;) + { + this.mBackArrowImg.setImageDrawable(getResources().getDrawable(2130837538)); + this.mTitleText.setTextColor(getResources().getColor(2131165297)); + return; + setTitle(getResources().getString(2131362756)); + this.mTitleBar.setBackgroundColor(getResources().getColor(2131165336)); + this.mTitleDivider.setVisibility(8); + } + } + + protected void dismissCameraDialog() + { + if (this.mCameraDialog != null) + { + this.mCameraDialog.dismiss(); + this.mCameraDialog = null; + } + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mSource = getIntent().getIntExtra("source_from", 0); + initView(); + } + + public void onPause() + { + super.onPause(); + dismissCameraDialog(); + } + + protected void onResume() + { + super.onResume(); + dismissCameraDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.VerifyStartScanActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/VryMobileForStrategyActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/VryMobileForStrategyActivity.java new file mode 100755 index 00000000000..3c733aaa6de --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/VryMobileForStrategyActivity.java @@ -0,0 +1,311 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.telephony.SmsMessage; +import android.text.TextUtils; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.e; + +public class VryMobileForStrategyActivity + extends BaseActivity +{ + private final int INTERVAL_TIME_AFTER_GET_SMS_1 = 60; + private final int INTERVAL_TIME_AFTER_GET_SMS_2 = 99; + private final int MSG_LOADING = 100; + private final String RECEIVE_SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED"; + private final int SMS_INTERVAL = 3000; + private final int UPDATE_TIME = -100; + private View.OnClickListener mBindTokenListener = new agu(this); + private int mCGISendSMSCount = 0; + private View.OnClickListener mCancelButtonListener = new agr(this); + private View.OnClickListener mCompleteButtonListener = new agq(this); + private View.OnClickListener mConfirmSendSmsListener = new ags(this); + Handler mHandler = new agv(this); + private int mIntervalTime = 0; + private boolean mIsActiveSuccess = false; + private boolean mIsAutoSumbit = false; + private boolean mIsSMSRegisted = false; + private int mPageId; + private View.OnClickListener mReSendButtonListener = new agt(this); + private BroadcastReceiver mSMSReceiver = new ago(this); + private af mTokenCore = af.a(); + private UpgradeDeterminResult mUpDetermin; + private QQUser mUser; + private boolean nextpage = false; + + private void checkAndGetSMS(boolean paramBoolean) + { + e.a("interval: " + this.mIntervalTime + " count: " + this.mCGISendSMSCount); + if (this.mIntervalTime > 0) { + return; + } + getSMS(); + } + + private SmsMessage[] getMessage(Intent paramIntent) + { + paramIntent = (Object[])paramIntent.getSerializableExtra("pdus"); + if (paramIntent == null) { + return null; + } + int j = paramIntent.length; + SmsMessage[] arrayOfSmsMessage = new SmsMessage[j]; + int i = 0; + while (i < j) + { + arrayOfSmsMessage[i] = SmsMessage.createFromPdu((byte[])paramIntent[i]); + i += 1; + } + return arrayOfSmsMessage; + } + + private void getSMS() + { + this.mCGISendSMSCount += 1; + if (1 == this.mCGISendSMSCount) {} + for (this.mIntervalTime = 60;; this.mIntervalTime = 99) + { + updateIntervalTimer(); + this.mTokenCore.a(0L, Long.valueOf(this.mUser.mRealUin), 1006, this.mHandler); + return; + } + } + + private void hideKeyBoard() + { + ((InputMethodManager)getSystemService("input_method")).hideSoftInputFromWindow(getWindow().peekDecorView().getWindowToken(), 0); + } + + private void init() + { + setTitle(2131362004); + String str = this.mUpDetermin.mMobileMask; + if ((str == null) || (str.length() == 0)) + { + finish(); + return; + } + ((Button)findViewById(2131296442)).setOnClickListener(this.mConfirmSendSmsListener); + Button localButton = (Button)findViewById(2131296443); + localButton.setOnClickListener(this.mCancelButtonListener); + localButton.setText(2131361866); + ((TextView)findViewById(2131296882)).setText(2131362803); + ((TextView)findViewById(2131296440)).setText(str); + } + + private void initSMS() + { + Button localButton = (Button)findViewById(2131296887); + Object localObject = (EditText)findViewById(2131296886); + if (localObject != null) { + ((EditText)localObject).clearFocus(); + } + String str = getResources().getString(2131361823) + "\n("; + localObject = str; + if (this.mIntervalTime < 10) { + localObject = str + "0"; + } + localButton.setText((String)localObject + this.mIntervalTime + ")"); + localButton.setTextColor(getResources().getColor(2131165197)); + localButton.setOnClickListener(this.mReSendButtonListener); + findViewById(2131296889).setOnClickListener(this.mBindTokenListener); + } + + private void registerSMSReceiver() + { + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); + registerReceiver(this.mSMSReceiver, localIntentFilter, "android.permission.RECEIVE_SMS", null); + this.mIsSMSRegisted = true; + } + + private void sendDnaBind() + { + this.mTokenCore.c(this.mUser.mRealUin, 1, "", "+86", this.mHandler); + } + + private void setTextFromSMS(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + showToast(2131361948); + } + EditText localEditText; + do + { + return; + localEditText = (EditText)findViewById(2131296886); + } while (localEditText == null); + localEditText.setText(paramString); + findViewById(2131296888).setVisibility(0); + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + this.mIsAutoSumbit = true; + localEditText.postDelayed(new agw(this, paramString), 3000L); + } + + private boolean setTime(long paramLong) + { + Button localButton = (Button)findViewById(2131296887); + if (paramLong <= 0L) + { + if (localButton != null) + { + localButton.setTextColor(getResources().getColor(2131165192)); + localButton.setText(2131361823); + localButton.setTextSize(0, getResources().getDimensionPixelSize(2131230731)); + } + return false; + } + String str2 = getResources().getString(2131361823) + "\n("; + String str1 = str2; + if (this.mIntervalTime < 10) { + str1 = str2 + "0"; + } + str1 = str1 + this.mIntervalTime + ")"; + if (localButton != null) + { + localButton.setText(str1); + localButton.setTextColor(getResources().getColor(2131165197)); + localButton.setTextSize(0, getResources().getDimensionPixelSize(2131230728)); + } + return true; + } + + private void showBindFailDialog(String paramString) + { + showUserDialog(2131361831, paramString, 2131361800, new agx(this)); + } + + private void showKeyBoard(View paramView) + { + ((InputMethodManager)getSystemService("input_method")).showSoftInput(paramView, 1); + } + + private void showMobileFreqFail(String paramString) + { + showUserDialog(2131361808, paramString, 2131361800, new agp(this)); + } + + private void unregisterSMSReceiver() + { + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + private void updateIntervalTimer() + { + this.mIntervalTime -= 1; + if (setTime(this.mIntervalTime)) { + this.mHandler.sendEmptyMessageDelayed(-100, 1000L); + } + } + + private void vrySmsCode(String paramString) + { + this.mTokenCore.a(this.mUser.mUin, this.mUser.mRealUin, 1006, paramString, this.mHandler); + } + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((this.nextpage) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + setContentView(2130903147); + this.mIntervalTime = 0; + this.nextpage = false; + init(); + return true; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setNeverShowLockVerifyView(); + this.mUser = ((QQUser)getIntent().getSerializableExtra("intent.qquser")); + this.mUpDetermin = ((UpgradeDeterminResult)getIntent().getSerializableExtra("intent.upgradedetermin")); + if ((this.mUser == null) || (this.mUpDetermin == null)) + { + finish(); + return; + } + if (getIntent().getBooleanExtra("succ", false)) + { + finish(); + return; + } + this.mPageId = getIntent().getIntExtra("page_id", 0); + setContentView(2130903147); + init(); + } + + protected void onDestroy() + { + super.onDestroy(); + if (this.mHandler != null) { + this.mHandler.removeMessages(-100); + } + if (this.mIsSMSRegisted) + { + unregisterReceiver(this.mSMSReceiver); + this.mIsSMSRegisted = false; + } + } + + protected void onPause() + { + super.onPause(); + e.a("pause"); + } + + protected void onResume() + { + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.VryMobileForStrategyActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/WelcomeActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/WelcomeActivity.java new file mode 100755 index 00000000000..07240a3d2c1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/WelcomeActivity.java @@ -0,0 +1,309 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.os.Bundle; +import android.os.Handler; +import android.view.Display; +import android.view.GestureDetector; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.ProDialogWithShutDown; +import com.tencent.token.ui.base.cf; +import com.tencent.token.ui.base.cg; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.UserTask.Status; +import com.tencent.token.utils.t; + +public class WelcomeActivity + extends Activity + implements cg +{ + private static final int BTN_HEIGHT = 45; + private static final int BTN_WIDTH = 200; + private static final int FLING_MIN_DISTANCE = 0; + private static final int IMAGE_LEVEL_COUNT; + private static final int[] mBitmapIds; + private int DOT_OFFSET_X; + private int DOT_OFFSET_Y; + private int DOT_SIZE; + private UserTask mActiveTask = null; + private GestureDetector mDetector = new GestureDetector(new agz(this)); + private Dialog mDialog; + private Bitmap mDotEmpty; + private Bitmap mDotFull; + private Button mEndBtn; + private boolean mFirstInstall = false; + private Handler mHandler = new agy(this); + private int mHeight; + private int mLevel = 0; + private boolean mLowQuality; + private cf mPageCurlView; + private ProDialogWithShutDown mProDialog; + private UserTask mSyncInitTask = null; + private int mWidth; + + static + { + int[] arrayOfInt = new int[2]; + arrayOfInt[0] = 2130837619; + arrayOfInt[1] = 2130837620; + arrayOfInt; + mBitmapIds = arrayOfInt; + IMAGE_LEVEL_COUNT = arrayOfInt.length; + } + + private void doOutOfMemory() + { + if (this.mDotEmpty != null) { + this.mDotEmpty.recycle(); + } + this.mDotEmpty = null; + if (this.mDotFull != null) { + this.mDotFull.recycle(); + } + this.mDotFull = null; + if (this.mPageCurlView != null) { + this.mPageCurlView.b(); + } + this.mPageCurlView = null; + nextActivity(); + } + + private void drawDots(int paramInt, Canvas paramCanvas) + { + int j = this.DOT_OFFSET_X; + int i = 0; + if (i < IMAGE_LEVEL_COUNT) + { + if (i == paramInt) { + paramCanvas.drawBitmap(this.mDotEmpty, j, this.DOT_OFFSET_Y, null); + } + for (;;) + { + j += this.DOT_SIZE * 2; + i += 1; + break; + paramCanvas.drawBitmap(this.mDotFull, j, this.DOT_OFFSET_Y, null); + } + } + } + + private void getSharedKey() + { + this.mSyncInitTask = new aha(this); + this.mSyncInitTask.a(new String[] { "" }); + } + + private void init() + { + ag.b(b.g()); + try + { + e.b("totalMemory:" + Runtime.getRuntime().totalMemory() + " freeMemory:" + Runtime.getRuntime().freeMemory() + " maxMemory:" + Runtime.getRuntime().maxMemory()); + t.b(); + nextActivity(); + return; + } + catch (OutOfMemoryError localOutOfMemoryError) + { + localOutOfMemoryError.printStackTrace(); + doOutOfMemory(); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + doOutOfMemory(); + } + } + + private void nextActivity() + { + Object localObject = ag.c(); + if ((this.mActiveTask != null) && (this.mActiveTask.c() != UserTask.Status.FINISHED)) { + this.mActiveTask.d(); + } + if (!((ag)localObject).g()) + { + if (ax.a().d() == 0) + { + localObject = new Intent(this, IndexActivity.class); + ((Intent)localObject).putExtra("index_from", 16); + startActivity((Intent)localObject); + finish(); + return; + } + localObject = new Intent(this, IndexActivity.class); + if (this.mFirstInstall) + { + if (ax.a().e() == null) { + break label126; + } + ((Intent)localObject).putExtra("index_from", 17); + } + for (;;) + { + startActivity((Intent)localObject); + finish(); + return; + label126: + ((Intent)localObject).putExtra("index_from", 16); + } + } + localObject = new Intent(this, IndexActivity.class); + ((Intent)localObject).putExtra("index_from", 16); + startActivity((Intent)localObject); + finish(); + } + + private void sendActiveClient() + { + af.a().d(this.mHandler); + } + + public void dismissDialog() + { + if (isFinishing()) {} + for (;;) + { + return; + try + { + if (this.mDialog != null) + { + this.mDialog.cancel(); + this.mDialog = null; + } + if (this.mProDialog != null) + { + this.mProDialog.dismiss(); + this.mProDialog = null; + return; + } + } + catch (Exception localException) + { + e.b(localException.toString()); + } + } + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if (paramKeyEvent.getAction() == 0) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + finish(); + return true; + } + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + e.b(this + ",task" + getTaskId()); + e.a("width = " + getWindowManager().getDefaultDisplay().getWidth() + ", height = " + getWindowManager().getDefaultDisplay().getHeight()); + init(); + } + + protected void onDestroy() + { + if (this.mPageCurlView != null) { + this.mPageCurlView.b(); + } + this.mPageCurlView = null; + af.a().a(getClass().getName()); + super.onDestroy(); + } + + public void onDrawDots(Canvas paramCanvas, boolean paramBoolean) + { + if (this.mLevel != IMAGE_LEVEL_COUNT - 1) { + drawDots(this.mLevel, paramCanvas); + } + } + + public void onDrawDotsBack(Canvas paramCanvas, boolean paramBoolean) + { + drawDots(this.mLevel, paramCanvas); + } + + public void onNextPage(boolean paramBoolean) {} + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + return this.mDetector.onTouchEvent(paramMotionEvent); + } + + public void onWindowFocusChanged(boolean paramBoolean) + { + super.onWindowFocusChanged(paramBoolean); + if (!paramBoolean) {} + while (this.mPageCurlView == null) { + return; + } + Rect localRect = new Rect(); + getWindow().getDecorView().getWindowVisibleDisplayFrame(localRect); + localRect.bottom -= localRect.top; + localRect.top = 0; + this.mWidth = localRect.width(); + this.mHeight = localRect.height(); + this.mPageCurlView.a(localRect); + } + + public void showProDialog(Activity paramActivity, int paramInt, DialogInterface.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mProDialog = new ProDialogWithShutDown(paramActivity, null, paramActivity.getString(2131361844)); + this.mProDialog.show(); + } + + public void showUserDialog(int paramInt1, String paramString, int paramInt2, DialogInterface.OnClickListener paramOnClickListener) + { + if (isFinishing()) { + return; + } + dismissDialog(); + this.mDialog = new AlertDialog.Builder(this).setTitle(paramInt1).setMessage(paramString).setPositiveButton(paramInt2, paramOnClickListener).create(); + this.mDialog.show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.WelcomeActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/WidgetTransitionActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/WidgetTransitionActivity.java new file mode 100755 index 00000000000..3647f6864ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/WidgetTransitionActivity.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; + +public class WidgetTransitionActivity + extends BaseActivity +{ + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + IndexActivity.setFromWhere(18); + if (BaseActivity.isAppOpen()) {} + for (paramBundle = new Intent(this, IndexActivity.class);; paramBundle = new Intent(this, LogoActivity.class)) + { + startActivity(paramBundle); + finish(); + return; + } + } + + protected void onDestroy() + { + super.onDestroy(); + } + + protected void onPause() + { + super.onPause(); + } + + protected void onResume() + { + super.onResume(); + } + + protected void onStop() + { + super.onStop(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.WidgetTransitionActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/WtLoginAccountInput.java b/com.tencent.token/classes.jar/com/tencent/token/ui/WtLoginAccountInput.java new file mode 100755 index 00000000000..c7d740606a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/WtLoginAccountInput.java @@ -0,0 +1,424 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.inputmethod.InputMethodManager; +import android.widget.Button; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.p; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.widget.InputMethodRelativeLayout; +import com.tencent.token.x; + +public class WtLoginAccountInput + extends BaseActivity +{ + private ax mAgent; + private long mAppid = 523005425L; + private boolean mAppid1SigOk = false; + private byte[] mAqSig; + private CompoundButton.OnCheckedChangeListener mCheckListener = new ahk(this); + private View.OnClickListener mCompleteButtonListener = new ahh(this); + private View.OnClickListener mFindPwdListener = new ahj(this); + private Handler mHandler = new ahb(this); + boolean mIsActiveSuccess = false; + private View.OnClickListener mLoginListener = new ahi(this); + private x mLoginManager; + private Button mOKButton; + private int mPageId; + private String mPasswd; + private TextView mPasswdDisText; + private EditText mPasswdEdit; + private TextView mPasswdHideText; + private ImageView mQQFace; + InputMethodRelativeLayout mRootLayout; + private byte[] mScanCode; + private String mScanUin; + View mScrollAreaLayout; + private af mTokenCore; + private long mUin; + private EditText mUinEdit; + private QQUser mUser; + private TextView mfindPwdText; + private long unbindUin; + + private void gotoScanLogin() + { + Intent localIntent = new Intent(this, ScanLoginAccountListActivity.class); + this.mScanUin = (this.mUin + ""); + localIntent.putExtra("qquin", this.mScanUin); + localIntent.putExtra("scancode", this.mScanCode); + startActivity(localIntent); + finish(); + } + + private void initView() + { + if (this.mPageId == 3) + { + setContentView(2130903258); + hideTitle(); + this.mQQFace = ((ImageView)findViewById(2131297305)); + if (this.unbindUin != 0L) { + showUserDialog(2131361808, getString(2131361841) + Long.toString(this.unbindUin) + getString(2131361906), 2131361800, null); + } + } + Object localObject; + RelativeLayout localRelativeLayout; + for (;;) + { + if (this.mPageId == 8) { + p.a().a(System.currentTimeMillis(), 71); + } + if (this.mPageId == 6) { + p.a().a(System.currentTimeMillis(), 72); + } + this.mUinEdit = ((EditText)findViewById(2131297309)); + if (this.mUinEdit != null) { + this.mUinEdit.clearFocus(); + } + this.mPasswdEdit = ((EditText)findViewById(2131297313)); + this.mOKButton = ((Button)findViewById(2131297317)); + this.mOKButton.setOnClickListener(this.mLoginListener); + if (this.mUin != 0L) + { + this.mUinEdit.setText(this.mUin + ""); + this.mUinEdit.setEnabled(false); + setHeadImage(this.mUin); + } + if (this.mScanUin != null) + { + this.mUinEdit.setText(this.mScanUin); + this.mUinEdit.setEnabled(false); + setHeadImage(Long.parseLong(this.mScanUin)); + } + this.mfindPwdText = ((TextView)findViewById(2131297318)); + this.mfindPwdText.setOnClickListener(this.mFindPwdListener); + this.mRootLayout = ((InputMethodRelativeLayout)findViewById(2131297304)); + this.mScrollAreaLayout = findViewById(2131296815); + this.mRootLayout.a = new ahl(this); + localObject = (SwitchButton)findViewById(2131297314); + ((SwitchButton)localObject).a(true, false); + ((SwitchButton)localObject).setOnCheckedChangeListener(this.mCheckListener); + this.mPasswdDisText = ((TextView)findViewById(2131297315)); + this.mPasswdHideText = ((TextView)findViewById(2131297316)); + return; + setContentView(2130903259); + localObject = (TextView)findViewById(2131297319); + localRelativeLayout = (RelativeLayout)findViewById(2131297307); + if ((this.mPageId != 6) && (this.mPageId != 5) && (this.mPageId != 9)) { + break label532; + } + ((TextView)localObject).setVisibility(0); + if (this.mPageId == 5) + { + ((TextView)localObject).setText(2131362067); + } + else + { + if (this.mPageId != 9) { + break; + } + ((TextView)localObject).setText(2131362555); + ((TextView)localObject).setTextColor(-65536); + setTitle(2131362556); + } + } + ((TextView)localObject).setText(2131362358); + for (;;) + { + setTitle(2131362347); + break; + label532: + ((TextView)localObject).setVisibility(8); + ((ViewGroup.MarginLayoutParams)localRelativeLayout.getLayoutParams()).topMargin = ((int)(26.0F * IndexActivity.S_DENSITY)); + if (this.mPageId != 8) { + if (this.mPageId != 7) { + break; + } + } + } + } + + private void judgeNextStep() + { + this.mAgent.b(this.mUin); + ax.a().f(this.mUin); + this.mUser = this.mAgent.d(this.mUin); + if (this.mScanCode != null) + { + gotoScanLogin(); + return; + } + if (this.mUser == null) + { + dismissDialog(); + return; + } + if (this.mPageId == 8) + { + finish(); + return; + } + if (this.mPageId == 9) + { + com.tencent.token.bj.a = 1; + finish(); + return; + } + af.a().a(this.mUser.mRealUin, this.mAqSig, this.mHandler); + } + + private void setActiveSucc(boolean paramBoolean) + { + Object localObject = ag.c(); + ((ag)localObject).i(); + ((ag)localObject).n(); + localObject = this.mUser.mRealUin + ""; + this.mIsActiveSuccess = true; + setContentView(2130903050); + this.mBackArrow.setVisibility(4); + setTitle(2131361842); + ax.a().f(Long.parseLong((String)localObject)); + ((Button)findViewById(2131296398)).setOnClickListener(this.mCompleteButtonListener); + ((ImageView)findViewById(2131296395)).setImageDrawable(k.a((String)localObject, s.f(Long.parseLong((String)localObject)) + " ")); + a.a().a(8); + } + + private void setHeadImage(long paramLong) + { + if (this.mQQFace != null) + { + QQUser localQQUser = ax.a().d(paramLong); + if (localQQUser != null) { + this.mQQFace.setImageDrawable(k.a(localQQUser.mRealUin + "", localQQUser.mUin + "")); + } + } + } + + private void showKeyBoard(View paramView) + { + ((InputMethodManager)getSystemService("input_method")).showSoftInput(paramView, 0); + } + + private void showShensuDialog() + { + Intent localIntent = new Intent(this, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", this.mUser.mRealUin); + startActivity(localIntent); + } + + private void showUpgradeDeterminResult(UpgradeDeterminResult paramUpgradeDeterminResult) + { + int j = 1; + if (isFinishing()) {} + QQUser localQQUser; + do + { + return; + localQQUser = ax.a().e(); + } while (localQQUser == null); + Intent localIntent; + if (paramUpgradeDeterminResult.a() == 1) + { + if (paramUpgradeDeterminResult.mMobileAppear == 1) {} + for (int i = 1; i != 0; i = 0) + { + localIntent = new Intent(this, NetActiveVryMobileNoSmsActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", this.mPageId); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (paramUpgradeDeterminResult.mQuesAppear != 1) { + break label205; + } + i = 1; + label128: + if (i == 0) { + if (paramUpgradeDeterminResult.mHaveMobile != 1) { + break label210; + } + } + } + } + label205: + label210: + for (i = j;; i = 0) + { + if (i == 0) { + break label215; + } + localIntent = new Intent(this, NetActiveVryOtherListActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", this.mPageId); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + i = 0; + break; + i = 0; + break label128; + } + label215: + showShensuDialog(); + return; + } + if ((paramUpgradeDeterminResult.a() == 2) || (paramUpgradeDeterminResult.a() == 3)) + { + localIntent = new Intent(this, NetActiveSetDirBySeqActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + localIntent.putExtra("bindType", paramUpgradeDeterminResult.a()); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 4) + { + setContentView(2130903061); + findViewById(2131296458).setOnClickListener(new ahf(this, localQQUser, paramUpgradeDeterminResult)); + findViewById(2131296459).setOnClickListener(new ahg(this, paramUpgradeDeterminResult, localQQUser)); + return; + } + if (paramUpgradeDeterminResult.a() == 5) + { + af.a().c(localQQUser.mRealUin, 5, "", "", this.mHandler); + return; + } + if (paramUpgradeDeterminResult.a() == 6) + { + localIntent = new Intent(this, VerifyMobilePhoneActivity.class); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("intent.upgradedetermin", paramUpgradeDeterminResult); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 8) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 2); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + if (paramUpgradeDeterminResult.a() == 9) + { + localIntent = new Intent(this, RealNameStep0VerifyMobileActivity.class); + localIntent.putExtra("source_id", 2); + localIntent.putExtra("real_uin", localQQUser.mRealUin); + localIntent.putExtra("ish5zzb", true); + localIntent.putExtra("realname_mobile", paramUpgradeDeterminResult.mMobileMask); + localIntent.putExtra("scene_id", 1002); + startActivity(localIntent); + return; + } + showShensuDialog(); + } + + public void cancelRequest() + { + this.mTokenCore.a(getClass().getName()); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.mIsActiveSuccess) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + } + } + + public void onBackPressed() + { + if (this.mPageId == 9) + { + exit(); + return; + } + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.mLoginManager = x.a(RqdApplication.i()); + this.mTokenCore = af.a(); + this.mAgent = ax.a(); + paramBundle = getIntent(); + this.mUin = paramBundle.getLongExtra("intent.uin", 0L); + this.mScanCode = paramBundle.getByteArrayExtra("scancode"); + this.mScanUin = paramBundle.getStringExtra("qquin"); + this.mPageId = paramBundle.getIntExtra("page_id", 0); + this.unbindUin = paramBundle.getLongExtra("unbindUin", 0L); + this.mAppid = 523005425L; + initView(); + } + + protected void onResume() + { + super.onResume(); + } + + protected void onStart() + { + super.onStart(); + this.mAppid = 523005425L; + this.mAppid1SigOk = false; + } + + protected void setDefaultBackArrow() + { + if ((this.mTitleBar.getVisibility() == 0) && (this.mBackArrow != null)) + { + this.mBackArrow.setVisibility(0); + this.mBackArrow.setOnClickListener(new ahe(this)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.WtLoginAccountInput + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginFinishNoMibaoActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginFinishNoMibaoActivity.java new file mode 100755 index 00000000000..998c3e21a20 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginFinishNoMibaoActivity.java @@ -0,0 +1,42 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.widget.Button; +import android.widget.TextView; + +public class WtloginFinishNoMibaoActivity + extends BaseActivity +{ + private TextView mShensuText; + private Button mSkipButton; + private long mUin; + + private void initView() + { + this.mSkipButton = ((Button)findViewById(2131297327)); + this.mShensuText = ((TextView)findViewById(2131297328)); + this.mUin = getIntent().getLongExtra("uin", 0L); + this.mSkipButton.setOnClickListener(new ahm(this)); + SpannableString localSpannableString = new SpannableString(getResources().getString(2131362357)); + localSpannableString.setSpan(new ForegroundColorSpan(getResources().getColor(2131165262)), localSpannableString.length() - 4, localSpannableString.length(), 33); + this.mShensuText.setText(localSpannableString); + this.mShensuText.setOnClickListener(new ahn(this)); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903261); + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.WtloginFinishNoMibaoActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginSigExpireActivity.java b/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginSigExpireActivity.java new file mode 100755 index 00000000000..2dff0046cc1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/WtloginSigExpireActivity.java @@ -0,0 +1,77 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.p; +import com.tencent.token.ui.base.SwitchButton; + +public class WtloginSigExpireActivity + extends BaseActivity +{ + private long mAppid = 523005419L; + private boolean mAppid1SigOk = false; + private CompoundButton.OnCheckedChangeListener mCheckListener = new ahq(this); + private View.OnClickListener mFindPwdListener = new ahp(this); + private Handler mHandler = new aho(this); + private View.OnClickListener mLoginListener = new ahr(this); + private Button mOKButton; + private String mPasswd; + private TextView mPasswdDisText; + private EditText mPasswdEdit; + private TextView mPasswdHideText; + private long mUin; + private TextView mfindPwdText; + + private void gotoNextStep() + { + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + finish(); + } + + private void initView() + { + setContentView(2130903262); + Object localObject = ax.a().e(); + if (localObject == null) + { + finish(); + return; + } + this.mUin = ((QQUser)localObject).mRealUin; + ((TextView)findViewById(2131297110)).setText(((QQUser)localObject).mNickName + "(" + ((QQUser)localObject).mUinMask + ")"); + this.mPasswdEdit = ((EditText)findViewById(2131297313)); + if (this.mPasswdEdit != null) { + this.mPasswdEdit.clearFocus(); + } + this.mfindPwdText = ((TextView)findViewById(2131297318)); + this.mfindPwdText.setOnClickListener(this.mFindPwdListener); + this.mPasswdDisText = ((TextView)findViewById(2131297315)); + this.mPasswdHideText = ((TextView)findViewById(2131297316)); + localObject = (SwitchButton)findViewById(2131297314); + ((SwitchButton)localObject).a(true, false); + ((SwitchButton)localObject).setOnCheckedChangeListener(this.mCheckListener); + this.mOKButton = ((Button)findViewById(2131297317)); + this.mOKButton.setOnClickListener(this.mLoginListener); + p.a().a(System.currentTimeMillis(), 73); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + initView(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.WtloginSigExpireActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/a.java b/com.tencent.token/classes.jar/com/tencent/token/ui/a.java new file mode 100755 index 00000000000..597a7816f16 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/a.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class a + implements View.OnClickListener +{ + a(AbnormalLoginActivity paramAbnormalLoginActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, ModifyQQPwdActivity.class); + pv.a().a(this.a, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aa.java new file mode 100755 index 00000000000..27568f36715 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aa.java @@ -0,0 +1,290 @@ +package com.tencent.token.ui; + +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.kingkong.Common; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.el; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.util.HashMap; + +final class aa + extends bo +{ + aa(AccountPageActivity paramAccountPageActivity) + { + super(paramAccountPageActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + label461: + label476: + label1009: + do + { + do + { + do + { + do + { + do + { + do + { + do + { + Handler localHandler; + do + { + do + { + do + { + return; + e.c("account page: what=" + paramMessage.what + ", arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case 1000: + AccountPageActivity.access$202(this.a, ax.a().e()); + } + } while (AccountPageActivity.access$200(this.a) == null); + AccountPageActivity.access$300(this.a).clearAnimation(); + AccountPageActivity.access$300(this.a).setVisibility(0); + if (AccountPageActivity.mNeedShowIpcMsg) + { + AccountPageActivity.access$400(this.a).setTextColor(this.a.getResources().getColor(2131165344)); + AccountPageActivity.access$400(this.a).setText(this.a.getResources().getString(2131362310)); + AccountPageActivity.access$300(this.a).setImageDrawable(this.a.getResources().getDrawable(2130837509)); + if (AccountPageActivity.access$500(this.a) != 3) { + break label476; + } + if (!AccountPageActivity.access$200(this.a).mIsZzb) { + break label461; + } + AccountPageActivity.access$600(this.a).setText(2131362321); + } + for (;;) + { + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(4))).a(2, null); + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(2))).a(1, null); + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(3))).a(1, null); + AccountPageActivity.access$510(this.a); + this.a.mHandler.sendEmptyMessageDelayed(1000, 700L); + return; + AccountPageActivity.access$400(this.a).setTextColor(this.a.getResources().getColor(2131165335)); + AccountPageActivity.access$300(this.a).setImageDrawable(this.a.getResources().getDrawable(2130837507)); + break; + AccountPageActivity.access$700(this.a).setText(2131362321); + } + if (AccountPageActivity.access$500(this.a) == 2) + { + if (AccountPageActivity.access$200(this.a).mIsZzb) { + AccountPageActivity.access$600(this.a).setText(2131362319); + } + for (;;) + { + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(4))).a(3, null); + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(2))).a(2, null); + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(3))).a(1, null); + AccountPageActivity.access$510(this.a); + this.a.mHandler.sendEmptyMessageDelayed(1000, 700L); + return; + AccountPageActivity.access$700(this.a).setText(2131362319); + } + } + if (AccountPageActivity.access$500(this.a) == 1) + { + if (AccountPageActivity.access$200(this.a).mIsZzb) { + AccountPageActivity.access$600(this.a).setText(2131362320); + } + for (;;) + { + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(2))).a(3, null); + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(3))).a(2, null); + AccountPageActivity.access$510(this.a); + this.a.mHandler.sendEmptyMessageDelayed(1000, 700L); + return; + AccountPageActivity.access$700(this.a).setText(2131362320); + } + } + ((com.tencent.token.core.bean.d)AccountPageActivity.access$800(this.a).get(Integer.valueOf(3))).a(3, null); + AccountPageActivity.access$900(this.a); + AccountPageActivity.access$1100(this.a, AccountPageActivity.access$1000(this.a)); + return; + if (paramMessage.arg1 == 0) + { + com.tencent.token.af.a().f(0L, 3, this.a.mHandler); + return; + } + } while (ax.a().e() == null); + paramMessage = (com.tencent.token.global.d)paramMessage.obj; + e.c("err " + paramMessage.a); + com.tencent.token.global.d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new ab(this)); + return; + if (paramMessage.arg1 != 0) { + break label1009; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break; + } + localObject = this.a; + localHandler = this.a.mHandler; + } while ((localObject == null) || (((BaseActivity)localObject).isFinishing())); + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + com.tencent.token.af.a().d(this.a.mHandler); + return; + paramMessage = (com.tencent.token.global.d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = com.tencent.token.ag.c(); + paramMessage.i(); + paramMessage.n(); + AccountPageActivity.access$1200(this.a).b(this.a.mHandler); + return; + } + paramMessage = (com.tencent.token.global.d)paramMessage.obj; + e.c("err " + paramMessage.a); + com.tencent.token.global.d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new ac(this)); + return; + if (paramMessage.arg1 == 0) + { + if (AccountPageActivity.access$1300(this.a)) + { + this.a.onResume(); + AccountPageActivity.access$1302(this.a, false); + } + for (;;) + { + paramMessage = "0"; + if (ax.a().e() != null) { + paramMessage = "" + ax.a().e().mRealUin; + } + Common.OnLogin(this.a, paramMessage); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + return; + AccountPageActivity.access$100(this.a, null, null); + AccountPageActivity.access$1400(this.a); + } + } + } while (ax.a().e() == null); + Object localObject = (com.tencent.token.global.d)paramMessage.obj; + AccountPageActivity.access$100(this.a, (com.tencent.token.global.d)localObject, paramMessage); + return; + AccountPageActivity.access$1502(this.a, ""); + bb.a().a(bb.e, AccountPageActivity.access$1500(this.a), this.a.mHandler); + return; + localObject = (byte[])paramMessage.obj; + if ((paramMessage.arg1 == 0) && (localObject != null) && (localObject.length > 0)) { + AccountPageActivity.access$1502(this.a, s.a((byte[])localObject)); + } + bb.a().a(bb.e, AccountPageActivity.access$1500(this.a), this.a.mHandler); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + e.c("K_MSG_GETEVALACCOUNTRESULT"); + if (paramMessage.arg1 == 0) { + break; + } + localObject = (com.tencent.token.global.d)paramMessage.obj; + AccountPageActivity.access$100(this.a, (com.tencent.token.global.d)localObject, paramMessage); + if ((paramMessage.arg1 == 10027) || (paramMessage.arg1 == 151) || (paramMessage.arg1 == 152)) + { + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new ad(this)); + return; + } + } while (paramMessage.arg1 != 165); + if (!RqdApplication.b) + { + AccountPageActivity.access$1600(this.a); + return; + } + AccountPageActivity.access$1702(this.a, true); + return; + } while (paramMessage.arg1 != 0); + AccountPageActivity.access$1002(this.a, (EvalAccountResult)paramMessage.obj); + AccountPageActivity.mNeedRefreshEval = false; + AccountPageActivity.access$1800(this.a, AccountPageActivity.access$1000(this.a)); + return; + if (paramMessage.arg1 == 0) + { + AccountPageActivity.access$1908(this.a); + AccountPageActivity.access$2012(this.a, AccountPageActivity.access$2100(this.a).i()); + if (AccountPageActivity.access$2000(this.a) > 0) + { + LoginMsgActivity.setShowNewMsgCnt(true, AccountPageActivity.access$2000(this.a)); + e.c("newMsgCount:" + AccountPageActivity.access$2000(this.a)); + } + if ((!bb.a().e()) || (AccountPageActivity.access$1900(this.a) > 5)) { + break; + } + bb.a().a(bb.c, AccountPageActivity.access$1500(this.a), this.a.mHandler); + return; + } + if (paramMessage.arg1 != 185) { + break; + } + } while (ax.a().e() == null); + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, this.a.mHandler, false); + return; + AccountPageActivity.access$1902(this.a, 0); + this.a.refreshLoginLocation(); + AccountPageActivity.access$1200(this.a).d(0L, this.a.mHandler); + AccountPageActivity.access$000(this.a); + return; + } while (paramMessage.arg1 != 0); + if (AccountPageActivity.access$2200(this.a).i() > 0) { + AccountPageActivity.access$2300(this.a).setVisibility(0); + } + OpreateMsgActivity.setShowNewMsgCnt(); + return; + } while ((this.a.isFinishing()) || (paramMessage.arg1 != 0)); + AccountPageActivity.access$1302(this.a, true); + AccountPageActivity.mNeedRefreshEval = true; + paramMessage = (el)paramMessage.obj; + } while ((paramMessage.a != 1) || (paramMessage.b == null) || (paramMessage.b.length() <= 0)); + AccountPageActivity.access$2402(this.a, new AlertDialog.Builder(this.a).setTitle(2131362452).setMessage(paramMessage.b).setPositiveButton(2131362453, new ag(this, paramMessage)).setNegativeButton(2131361804, new af(this)).setOnCancelListener(new ae(this)).create()); + AccountPageActivity.access$2400(this.a).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaa.java new file mode 100755 index 00000000000..fd07c774006 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaa.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.utils.t; + +final class aaa + implements View.OnClickListener +{ + aaa(SettingSubmitCommentActivity paramSettingSubmitCommentActivity) {} + + public final void onClick(View paramView) + { + SettingSubmitCommentActivity.access$002(this.a, SettingSubmitCommentActivity.access$300(this.a).getText().toString()); + if (SettingSubmitCommentActivity.access$000(this.a).length() == 0) { + return; + } + t.a(this.a); + try + { + SettingSubmitCommentActivity.access$200(this.a).a(SettingSubmitCommentActivity.access$000(this.a), SettingSubmitCommentActivity.access$100(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + catch (Exception paramView) + { + paramView.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aab.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aab.java new file mode 100755 index 00000000000..d5d0c057c3b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aab.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.text.TextWatcher; + +final class aab + implements TextWatcher +{ + aab(SettingSubmitCommentActivity paramSettingSubmitCommentActivity) {} + + public final void afterTextChanged(Editable paramEditable) {} + + public final void beforeTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) {} + + public final void onTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) + { + this.a.checkMenuBtnEnable(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aac.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aac.java new file mode 100755 index 00000000000..9e389caed07 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aac.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.cq; + +final class aac + implements cq +{ + aac(ShowLogActivity paramShowLogActivity) {} + + public final void onRefresh() + { + ShowLogActivity.access$100(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aac + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aad.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aad.java new file mode 100755 index 00000000000..6799ae43ae6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aad.java @@ -0,0 +1,76 @@ +package com.tencent.token.ui; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + +final class aad +{ + private final List a = new LinkedList(); + private final boolean b = true; + + public final int a() + { + return this.a.size(); + } + + public final Collection a(Collection paramCollection) + { + Object localObject = paramCollection; + if (paramCollection == null) {} + try + { + localObject = new ArrayList(); + ((Collection)localObject).clear(); + ((Collection)localObject).addAll(this.a); + return localObject; + } + finally {} + } + + public final void a(List paramList) + { + if (paramList != null) {} + for (;;) + { + try + { + int i = paramList.size(); + if (i == 0) { + return; + } + if (this.b) + { + i = 0; + this.a.addAll(i, paramList); + } + else + { + i = this.a.size(); + } + } + finally {} + } + } + + public final void b() + { + try + { + this.a.clear(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aad + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aae.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aae.java new file mode 100755 index 00000000000..77e8bd498ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aae.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import android.os.AsyncTask; + +final class aae + extends AsyncTask +{ + private aae(ShowLogActivity paramShowLogActivity, byte paramByte) {} + + protected final void onPreExecute() + { + this.a.showProDialog(this.a, 2131362069, new aaf(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aae + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaf.java new file mode 100755 index 00000000000..11e71d22c86 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aaf + implements View.OnClickListener +{ + aaf(aae paramaae) {} + + public final void onClick(View paramView) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aag.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aag.java new file mode 100755 index 00000000000..da56d36b260 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aag.java @@ -0,0 +1,62 @@ +package com.tencent.token.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import java.util.ArrayList; +import java.util.List; + +final class aag + extends BaseAdapter +{ + private List b = new ArrayList(); + + private aag(ShowLogActivity paramShowLogActivity, byte paramByte) {} + + public final void a(aad paramaad) + { + this.b.clear(); + if (paramaad != null) { + paramaad.a(this.b); + } + notifyDataSetChanged(); + } + + public final int getCount() + { + return this.b.size(); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (paramView == null) + { + paramView = this.a.getLayoutInflater().inflate(2130903199, null); + paramViewGroup = new aai(this); + paramViewGroup.a = ((TextView)paramView.findViewById(2131297096)); + paramView.setTag(paramViewGroup); + } + for (;;) + { + CharSequence localCharSequence = (CharSequence)this.b.get(paramInt); + paramViewGroup = paramViewGroup.a; + paramViewGroup.setText(localCharSequence); + paramViewGroup.setOnLongClickListener(new aah(this)); + return paramView; + paramViewGroup = (aai)paramView.getTag(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aag + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aah.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aah.java new file mode 100755 index 00000000000..9fd43bb8206 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aah.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnLongClickListener; + +final class aah + implements View.OnLongClickListener +{ + aah(aag paramaag) {} + + public final boolean onLongClick(View paramView) + { + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aah + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aai.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aai.java new file mode 100755 index 00000000000..21904dfc445 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aai.java @@ -0,0 +1,16 @@ +package com.tencent.token.ui; + +import android.widget.TextView; + +final class aai +{ + TextView a; + + private aai(aag paramaag, byte paramByte) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aai + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaj.java new file mode 100755 index 00000000000..1b1a8123835 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaj.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +public final class aaj +{ + public aad a; + public int b; + + public aaj(ShowLogActivity paramShowLogActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aak.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aak.java new file mode 100755 index 00000000000..ed207f579dd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aak.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.view.animation.ScaleAnimation; +import android.widget.Button; +import android.widget.ImageView; + +final class aak + extends Handler +{ + aak(SmsActitivity paramSmsActitivity) {} + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + return; + case 0: + this.a.iv_icon = ((ImageView)this.a.findViewById(2131296503)); + this.a.iv_icon.setImageResource(2130837591); + sendEmptyMessageDelayed(1, 1000L); + return; + case 1: + this.a.viewTitle = this.a.findViewById(2131296502); + this.a.view = this.a.findViewById(2131296507); + this.a.view.setVisibility(0); + this.a.openAnimation = new ScaleAnimation(1.0F, 1.0F, 0.0F, 1.0F, 1, 0.0F, 1, 0.0F); + this.a.openAnimation.setDuration(300L); + this.a.view.startAnimation(this.a.openAnimation); + this.a.btnVerfiy = ((Button)this.a.findViewById(2131296510)); + this.a.btnVerfiy.setOnClickListener(this.a.onClick); + this.a.btnCancel = ((Button)this.a.findViewById(2131296511)); + this.a.btnCancel.setOnClickListener(this.a.onClick); + this.a.ivMid = ((ImageView)this.a.findViewById(2131296505)); + this.a.ivMid.setBackgroundColor(this.a.getResources().getColor(2131165263)); + this.a.ivDismiss = ((ImageView)this.a.findViewById(2131296506)); + return; + case 2: + this.a.viewTitle.setVisibility(4); + this.a.view.setVisibility(4); + this.a.ivMid.setVisibility(4); + this.a.ivDismiss.setVisibility(0); + sendEmptyMessageDelayed(3, 800L); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aak + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aal.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aal.java new file mode 100755 index 00000000000..e75711200a4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aal.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.animation.ScaleAnimation; + +final class aal + implements View.OnClickListener +{ + aal(SmsActitivity paramSmsActitivity) {} + + public final void onClick(View paramView) + { + if (paramView.getId() == 2131296510) + { + this.a.closeAnimation = new ScaleAnimation(1.0F, 1.0F, 1.0F, 0.0F, 1, 0.5F, 1, 0.5F); + this.a.closeAnimation.setDuration(300L); + this.a.viewRoot.startAnimation(this.a.closeAnimation); + this.a.mHandler.sendEmptyMessageDelayed(2, 300L); + paramView = new Intent("com.tencent.token.action.dualsms"); + paramView.putExtra("flag", 2); + this.a.sendBroadcast(paramView); + } + while (paramView.getId() != 2131296511) { + return; + } + this.a.viewRoot.setVisibility(4); + paramView = new Intent("com.tencent.token.action.dualsms"); + paramView.putExtra("flag", 3); + this.a.sendBroadcast(paramView); + SmsActitivity.access$002(this.a, new AlertDialog.Builder(this.a).setTitle(this.a.getResources().getString(2131362104)).setMessage(this.a.getResources().getString(2131362105)).setPositiveButton(this.a.getResources().getString(2131362106), new aan(this)).setNegativeButton(this.a.getResources().getString(2131362107), new aam(this)).create()); + SmsActitivity.access$000(this.a).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aal + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aam.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aam.java new file mode 100755 index 00000000000..93c34faea34 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aam.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class aam + implements DialogInterface.OnClickListener +{ + aam(aal paramaal) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + SmsActitivity.access$000(this.a.a).dismiss(); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aam + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aan.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aan.java new file mode 100755 index 00000000000..5181cde3752 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aan.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class aan + implements DialogInterface.OnClickListener +{ + aan(aal paramaal) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, ModifyQQPwdActivity.class); + pv.a().a(this.a.a, paramDialogInterface, pv.b); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aan + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aao.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aao.java new file mode 100755 index 00000000000..733cb9b6a3c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aao.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.global.e; + +final class aao + implements Runnable +{ + aao(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void run() + { + if (!SmsContentTipActivity.access$000(this.a)) { + return; + } + e.a("send bind seq request:" + SmsContentTipActivity.access$100(this.a)); + ag.c().n(); + af.a().a(0L, Long.parseLong(SmsContentTipActivity.access$200(this.a)), SmsContentTipActivity.access$300(this.a), this.a.mHandler); + SmsContentTipActivity.access$108(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aao + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aap.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aap.java new file mode 100755 index 00000000000..a49ab1e9a34 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aap.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class aap + implements DialogInterface.OnClickListener +{ + aap(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaq.java new file mode 100755 index 00000000000..00769e8b098 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaq.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class aaq + implements Runnable +{ + aaq(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void run() + { + e.c("send mod set mbmobile"); + af.a().a(0L, SmsContentTipActivity.access$400(this.a), SmsContentTipActivity.access$500(this.a), SmsContentTipActivity.access$600(this.a), this.a.mHandler); + SmsContentTipActivity.access$708(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aar.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aar.java new file mode 100755 index 00000000000..2928f256e25 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aar.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; + +final class aar + implements Runnable +{ + aar(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void run() + { + e.a("send unbind seq request:" + SmsContentTipActivity.access$800(this.a)); + if (!SmsContentTipActivity.access$000(this.a)) { + return; + } + ag.c().n(); + af.a().a(SmsContentTipActivity.access$900(this.a).mUin, SmsContentTipActivity.access$900(this.a).mRealUin, 1005, this.a.mHandler); + SmsContentTipActivity.access$808(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aas.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aas.java new file mode 100755 index 00000000000..e974845987d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aas.java @@ -0,0 +1,262 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.fn; +import com.tencent.token.fo; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import org.json.JSONException; +import org.json.JSONObject; + +final class aas + extends Handler +{ + aas(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) {} + do + { + do + { + do + { + do + { + do + { + return; + e.c("msg what=" + paramMessage.what + "starttime=" + SmsContentTipActivity.access$000(this.a)); + switch (paramMessage.what) + { + default: + return; + } + } while (!SmsContentTipActivity.access$000(this.a)); + if ((SmsContentTipActivity.access$1000(this.a) == 0) || (SmsContentTipActivity.access$1000(this.a) == 7)) + { + SmsContentTipActivity.access$102(this.a, 0); + postDelayed(this.a.mBindRunnable, 10000L); + return; + } + if ((SmsContentTipActivity.access$1000(this.a) == 3) || (SmsContentTipActivity.access$1000(this.a) == 4)) + { + SmsContentTipActivity.access$702(this.a, 0); + postDelayed(this.a.mSetModMobileRunnable, 10000L); + SmsContentTipActivity.access$1102(this.a, true); + return; + } + } while (SmsContentTipActivity.access$1000(this.a) != 6); + SmsContentTipActivity.access$802(this.a, 0); + postDelayed(this.a.mUnBindRunnable, 10000L); + return; + } while (!SmsContentTipActivity.access$000(this.a)); + e.c("removeTimeTask SendSmsFail"); + this.a.removeTimeTask(1); + return; + this.a.dismissDialog(); + e.c("removeTimeTask BindUinToSeqSuccess"); + this.a.removeTimeTask(2); + SmsContentTipActivity.access$1200(this.a); + return; + } while (!SmsContentTipActivity.access$000(this.a)); + paramMessage = paramMessage.getData(); + int i = paramMessage.getInt("errCode"); + paramMessage = paramMessage.getString("error"); + if ((1 == i) && (SmsContentTipActivity.access$100(this.a) < 4)) + { + postDelayed(this.a.mBindRunnable, 10000L); + return; + } + this.a.dismissDialog(); + e.c("removeTimeTask BindUinToSeqFail"); + this.a.removeTimeTask(3); + SmsContentTipActivity.access$1300(this.a).setVisibility(0); + SmsContentTipActivity.access$1300(this.a).setText(paramMessage); + SmsContentTipActivity.access$1400(this.a); + return; + this.a.dismissDialog(); + e.c("removeTimeTask HttpError"); + this.a.removeTimeTask(4); + SmsContentTipActivity.access$1300(this.a).setVisibility(0); + SmsContentTipActivity.access$1300(this.a).setText(this.a.getString(2131361881)); + SmsContentTipActivity.access$1400(this.a); + return; + i = paramMessage.getData().getInt("serTime"); + long l = System.currentTimeMillis(); + l = i * 1000L - l; + ag.c().a(l); + e.b("set time plus: " + l); + return; + if (paramMessage.arg1 != 0) { + break; + } + if (SmsContentTipActivity.access$1000(this.a) == 0) + { + af.a().c(Long.parseLong(SmsContentTipActivity.access$200(this.a)), SmsContentTipActivity.access$1500(this.a).a(), "", "", this.a.mHandler); + return; + } + if (SmsContentTipActivity.access$1000(this.a) == 6) + { + af.a().a(SmsContentTipActivity.access$900(this.a).mUin, SmsContentTipActivity.access$900(this.a).mRealUin, this.a.mHandler); + return; + } + } while (SmsContentTipActivity.access$1000(this.a) != 7); + paramMessage = new Intent(this.a, VryMobileForStrategyActivity.class); + paramMessage.putExtra("succ", true); + paramMessage.setFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + if ((SmsContentTipActivity.access$1000(this.a) == 0) && (paramMessage.a == 146) && (SmsContentTipActivity.access$100(this.a) < 4)) + { + postDelayed(this.a.mBindRunnable, 10000L); + return; + } + if ((SmsContentTipActivity.access$1000(this.a) == 6) && (paramMessage.a == 146) && (SmsContentTipActivity.access$800(this.a) < 4)) + { + postDelayed(this.a.mUnBindRunnable, 10000L); + return; + } + this.a.removeTimeTask(5); + SmsContentTipActivity.access$1300(this.a).setVisibility(0); + SmsContentTipActivity.access$1300(this.a).setText(paramMessage.c); + SmsContentTipActivity.access$1400(this.a); + return; + this.a.dismissDialog(); + this.a.removeTimeTask(2); + SmsContentTipActivity.access$1400(this.a); + if (paramMessage.arg1 == 0) + { + SmsContentTipActivity.access$1602(this.a, true); + ax.a().b(SmsContentTipActivity.access$900(this.a)); + ax.a().n(); + ax.a(); + ax.b(); + bd.a().f.a(SmsContentTipActivity.access$900(this.a).mUin); + bb.a().f.a(SmsContentTipActivity.access$900(this.a).mUin); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + this.a.showUserDialog(2131361904, this.a.getString(2131361841) + Long.toString(SmsContentTipActivity.access$900(this.a).mRealUin) + this.a.getString(2131361906), 2131361800, SmsContentTipActivity.access$1700(this.a), SmsContentTipActivity.access$1800(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + SmsContentTipActivity.access$1900(this.a, paramMessage.c); + return; + this.a.dismissDialog(); + this.a.removeTimeTask(2); + if (paramMessage.arg1 == 0) + { + SmsContentTipActivity.access$1200(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + SmsContentTipActivity.access$1300(this.a).setVisibility(0); + SmsContentTipActivity.access$1300(this.a).setText(paramMessage.c); + SmsContentTipActivity.access$1400(this.a); + return; + this.a.removeTimeTask(1); + SmsContentTipActivity.access$1102(this.a, false); + Object localObject1; + Object localObject4; + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + this.a.setContentView(2130903247); + this.a.mBackArrow.setVisibility(4); + SmsContentTipActivity.access$2002(this.a, true); + Object localObject5 = (JSONObject)paramMessage.obj; + localObject1 = null; + localObject4 = null; + paramMessage = (Message)localObject4; + try + { + localObject2 = ((JSONObject)localObject5).getString("info"); + paramMessage = (Message)localObject4; + localObject1 = localObject2; + localObject4 = ((JSONObject)localObject5).getString("time1"); + paramMessage = (Message)localObject4; + localObject1 = localObject2; + localObject5 = ((JSONObject)localObject5).getString("time2"); + localObject1 = localObject4; + paramMessage = (Message)localObject5; + } + catch (JSONException localJSONException) + { + for (;;) + { + Object localObject2; + localJSONException.printStackTrace(); + localObject4 = paramMessage; + paramMessage = null; + Object localObject3 = localObject1; + localObject1 = localObject4; + continue; + ((TextView)this.a.findViewById(2131297262)).setText(2131362219); + ((View)localObject3).setVisibility(0); + if ((localObject1 != null) && (paramMessage != null) && (localObject1.length() > 0) && (paramMessage.length() > 0)) + { + localObject3 = (TextView)this.a.findViewById(2131297266); + localObject4 = (TextView)this.a.findViewById(2131297268); + ((TextView)localObject3).setText(localObject1); + ((TextView)localObject4).setText(paramMessage); + } + } + } + if ((localObject2 != null) && (((String)localObject2).length() > 0)) + { + localObject4 = (TextView)this.a.findViewById(2131297263); + ((TextView)localObject4).setText((CharSequence)localObject2); + ((TextView)localObject4).setVisibility(0); + } + this.a.findViewById(2131297269).setOnClickListener(new aat(this)); + localObject2 = this.a.findViewById(2131297264); + if (SmsContentTipActivity.access$400(this.a) == 1) + { + ((TextView)this.a.findViewById(2131297262)).setText(2131362218); + ((View)localObject2).setVisibility(8); + fn.a().b(); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + return; + } + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + if ((paramMessage.a == 146) && (SmsContentTipActivity.access$700(this.a) < 4)) + { + postDelayed(this.a.mSetModMobileRunnable, 10000L); + SmsContentTipActivity.access$1102(this.a, true); + return; + } + SmsContentTipActivity.access$1300(this.a).setVisibility(0); + SmsContentTipActivity.access$1300(this.a).setText(paramMessage.c); + SmsContentTipActivity.access$1400(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aas + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aat.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aat.java new file mode 100755 index 00000000000..9d776208296 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aat.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aat + implements View.OnClickListener +{ + aat(aas paramaas) {} + + public final void onClick(View paramView) + { + if (SmsContentTipActivity.access$2100(this.a.a) == 10) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.a.startActivity(paramView); + } + for (;;) + { + this.a.a.finish(); + return; + paramView = new Intent(this.a.a, IndexActivity.class); + this.a.a.startActivity(paramView); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aat + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aau.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aau.java new file mode 100755 index 00000000000..cc1e280f55f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aau.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class aau + implements DialogInterface.OnClickListener +{ + aau(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aau + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aav.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aav.java new file mode 100755 index 00000000000..e335ea055d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aav.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class aav + implements DialogInterface.OnCancelListener +{ + aav(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.unbindResult(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aav + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaw.java new file mode 100755 index 00000000000..bee563a66c0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaw.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; + +final class aaw + implements View.OnClickListener +{ + aaw(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + SmsContentTipActivity.access$2200(this.a).setVisibility(0); + SmsContentTipActivity.access$2300(this.a).setText(this.a.getResources().getString(2131361882)); + SmsContentTipActivity.access$2400(this.a).setClickable(false); + SmsContentTipActivity.access$1300(this.a).setVisibility(4); + if ((SmsContentTipActivity.access$1000(this.a) == 0) || (SmsContentTipActivity.access$1000(this.a) == 7)) + { + SmsContentTipActivity.access$2502(this.a, false); + SmsContentTipActivity.access$202(this.a, SmsContentTipActivity.access$2600(this.a).mRealUin + ""); + } + this.a.startTimeTask(2); + this.a.mHandler.sendEmptyMessage(3); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aax.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aax.java new file mode 100755 index 00000000000..3dddb59292a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aax.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class aax + implements View.OnClickListener +{ + aax(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + e.c("removeTimeTask showProgressDialog"); + this.a.removeTimeTask(5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aax + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aay.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aay.java new file mode 100755 index 00000000000..ae1e7f71e41 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aay.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aay + implements View.OnClickListener +{ + aay(SmsContentTipActivity paramSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aay + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aaz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aaz.java new file mode 100755 index 00000000000..a406950b30d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aaz.java @@ -0,0 +1,52 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.p; + +final class aaz + extends Handler +{ + aaz(StartPwdGestureDeleteActivity paramStartPwdGestureDeleteActivity) {} + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + } while (!this.a.isProDialogShow()); + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + paramMessage = ax.a().e(); + if (paramMessage == null) + { + p.a().a(System.currentTimeMillis(), 23); + StartPwdGestureDeleteActivity.access$000(this.a, this.a, 2131362161, 2131362144); + return; + } + p.a().a(System.currentTimeMillis(), 24); + Intent localIntent = new Intent(this.a, StartPwdGestureForgetActivity.class); + localIntent.putExtra("qquser", paramMessage); + localIntent.putExtra("startpwd_forget_source", 1); + this.a.startActivityForResult(localIntent, 256); + return; + } + this.a.dismissDialog(); + this.a.showToast(2131362164); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aaz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ab.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ab.java new file mode 100755 index 00000000000..f7f0b4fdaeb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ab.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class ab + implements DialogInterface.OnClickListener +{ + ab(aa paramaa) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aba.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aba.java new file mode 100755 index 00000000000..b9a2cf351e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aba.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.base.bz; + +final class aba + implements bz +{ + aba(StartPwdGestureDeleteActivity paramStartPwdGestureDeleteActivity) {} + + public final void a() + { + ah.a().f(); + this.a.setResult(257); + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("start_pwd_config", 0).edit(); + localEditor.clear(); + localEditor.commit(); + if (!ah.a().c()) { + this.a.pwdIsDelete(); + } + } + + public final void a(boolean paramBoolean) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362152), 2131361800, new abc(this)); + } + + public final void b() + { + ax.a().a(StartPwdGestureDeleteActivity.access$100(this.a)); + this.a.showProDialog(this.a, 2131362146, new abb(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aba + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abb.java new file mode 100755 index 00000000000..f0ae2c1ffa4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abb.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; + +final class abb + implements View.OnClickListener +{ + abb(aba paramaba) {} + + public final void onClick(View paramView) + { + StartPwdGestureDeleteActivity.access$100(this.a.a).sendEmptyMessage(1008); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abc.java new file mode 100755 index 00000000000..39479d1d6c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abc.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class abc + implements DialogInterface.OnClickListener +{ + abc(aba paramaba) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, StartPwdGestureForgetActivity.class); + paramDialogInterface.putExtra("startpwd_forget_source", 3); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abd.java new file mode 100755 index 00000000000..a4869fce3fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abd.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class abd + implements Runnable +{ + abd(StartPwdGestureDeleteActivity paramStartPwdGestureDeleteActivity) {} + + public final void run() + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abe.java new file mode 100755 index 00000000000..70551f07127 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abe.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class abe + implements DialogInterface.OnClickListener +{ + abe(StartPwdGestureDeleteActivity paramStartPwdGestureDeleteActivity, Context paramContext) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abf.java new file mode 100755 index 00000000000..94fae59727d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abf.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.TextView; + +final class abf + implements CompoundButton.OnCheckedChangeListener +{ + abf(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (!paramCompoundButton.isChecked()) + { + StartPwdGestureForgetActivity.access$000(this.a).setInputType(145); + StartPwdGestureForgetActivity.access$100(this.a).setVisibility(4); + StartPwdGestureForgetActivity.access$200(this.a).setVisibility(0); + } + for (;;) + { + StartPwdGestureForgetActivity.access$000(this.a).requestFocus(); + StartPwdGestureForgetActivity.access$000(this.a).setSelection(StartPwdGestureForgetActivity.access$000(this.a).getText().length()); + return; + StartPwdGestureForgetActivity.access$000(this.a).setInputType(129); + StartPwdGestureForgetActivity.access$100(this.a).setVisibility(0); + StartPwdGestureForgetActivity.access$200(this.a).setVisibility(4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abg.java new file mode 100755 index 00000000000..f27b89cfd0e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abg.java @@ -0,0 +1,126 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.widget.EditText; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.p; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.x; + +final class abg + extends Handler +{ + abg(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void handleMessage(Message paramMessage) + { + int i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + case 1019: + case 4098: + do + { + do + { + return; + if (StartPwdGestureForgetActivity.access$300(this.a) == 523005425L) + { + StartPwdGestureForgetActivity.access$302(this.a, 523005419L); + x.a(this.a).b("" + StartPwdGestureForgetActivity.access$400(this.a).mRealUin, StartPwdGestureForgetActivity.access$000(this.a).getText().toString(), StartPwdGestureForgetActivity.access$500(this.a), StartPwdGestureForgetActivity.access$300(this.a)); + return; + } + this.a.dismissDialog(); + StartPwdGestureForgetActivity.access$600(this.a); + return; + if (i != 2) { + break; + } + this.a.dismissDialog(); + } while (this.a.isFinishing()); + new WtloginCaptchaDialog(this.a, StartPwdGestureForgetActivity.access$500(this.a), "" + StartPwdGestureForgetActivity.access$400(this.a).mRealUin).show(); + return; + if (i == 0) + { + if (StartPwdGestureForgetActivity.access$300(this.a) == 523005425L) + { + StartPwdGestureForgetActivity.access$302(this.a, 523005419L); + x.a(this.a).b("" + StartPwdGestureForgetActivity.access$400(this.a).mRealUin, StartPwdGestureForgetActivity.access$000(this.a).getText().toString(), StartPwdGestureForgetActivity.access$500(this.a), StartPwdGestureForgetActivity.access$300(this.a)); + return; + } + this.a.dismissDialog(); + StartPwdGestureForgetActivity.access$600(this.a); + return; + } + if (((i == 40) || (i == 42) || (i == 64)) && (StartPwdGestureForgetActivity.access$300(this.a) == 523005419L)) + { + this.a.dismissDialog(); + StartPwdGestureForgetActivity.access$600(this.a); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if (i != 1) { + break; + } + this.a.dismissDialog(); + this.a.showToast(2131362066); + } while ((StartPwdGestureForgetActivity.access$700(this.a) == 0) || ((StartPwdGestureForgetActivity.access$700(this.a) != 4) && (StartPwdGestureForgetActivity.access$700(this.a) != 5))); + p.a().a(System.currentTimeMillis(), 96); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + case 4104: + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + } + if (i == 0) + { + this.a.dismissDialog(); + StartPwdGestureForgetActivity.access$402(this.a, ax.a().e()); + if (StartPwdGestureForgetActivity.access$400(this.a) == null) + { + p.a().a(System.currentTimeMillis(), 23); + StartPwdGestureForgetActivity.access$800(this.a, this.a, 2131362161, 2131362144); + return; + } + StartPwdGestureForgetActivity.access$900(this.a); + return; + } + this.a.dismissDialog(); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362165), 2131361914, new abh(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abh.java new file mode 100755 index 00000000000..81c418869a7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abh.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class abh + implements DialogInterface.OnClickListener +{ + abh(abg paramabg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().b(StartPwdGestureForgetActivity.access$500(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abi.java new file mode 100755 index 00000000000..6183920f52f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abi.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class abi + implements View.OnClickListener +{ + abi(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onClick(View paramView) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abj.java new file mode 100755 index 00000000000..6947e1ea965 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abj.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; + +final class abj + implements View.OnClickListener +{ + abj(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FindPasswdActivity.class); + paramView.putExtra("not_showLockVerify", true); + paramView.putExtra("real_uin", StartPwdGestureForgetActivity.access$400(this.a).mRealUin); + paramView.putExtra("canchange_uin", false); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abk.java new file mode 100755 index 00000000000..82215c01dd3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abk.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.x; + +final class abk + implements View.OnClickListener +{ + abk(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onClick(View paramView) + { + paramView = StartPwdGestureForgetActivity.access$000(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) + { + this.a.showToast(2131361929); + return; + } + x.a(this.a).b("" + StartPwdGestureForgetActivity.access$400(this.a).mRealUin, StartPwdGestureForgetActivity.access$000(this.a).getText().toString(), StartPwdGestureForgetActivity.access$500(this.a), StartPwdGestureForgetActivity.access$300(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abl.java new file mode 100755 index 00000000000..e39d263cfc0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abl.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class abl + implements DialogInterface.OnClickListener +{ + abl(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, StartPwdGestureModifyActivity.class); + this.a.startActivityForResult(paramDialogInterface, 16); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abm.java new file mode 100755 index 00000000000..598fdf40288 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class abm + implements DialogInterface.OnClickListener +{ + abm(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abn.java new file mode 100755 index 00000000000..b9f969b5a6d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abn.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class abn + implements DialogInterface.OnClickListener +{ + abn(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity, Context paramContext) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abo.java new file mode 100755 index 00000000000..458f49efbb5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abo.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class abo + implements DialogInterface.OnCancelListener +{ + abo(StartPwdGestureForgetActivity paramStartPwdGestureForgetActivity, Context paramContext) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abp.java new file mode 100755 index 00000000000..f1ae89232a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abp.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class abp + implements View.OnClickListener +{ + abp(StartPwdGestureIndexActivity paramStartPwdGestureIndexActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdGestureSelActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abq.java new file mode 100755 index 00000000000..48a62f9fb09 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abq.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class abq + implements View.OnClickListener +{ + abq(StartPwdGestureIndexActivity paramStartPwdGestureIndexActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdUpdateInfoActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abr.java new file mode 100755 index 00000000000..39dd4cfcf67 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abr.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; + +final class abr + extends Handler +{ + abr(StartPwdGestureIndexActivity paramStartPwdGestureIndexActivity) {} + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) + { + StartPwdGestureIndexActivity.access$000(this.a); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131362290, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abs.java new file mode 100755 index 00000000000..0551a8bf470 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abs.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class abs + implements View.OnClickListener +{ + abs(StartPwdGestureIndexActivity paramStartPwdGestureIndexActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FacePwdIndexActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abt.java new file mode 100755 index 00000000000..117650f0a75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abt.java @@ -0,0 +1,52 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.p; + +final class abt + extends Handler +{ + abt(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity) {} + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + } while (!this.a.isProDialogShow()); + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + paramMessage = ax.a().e(); + if (paramMessage == null) + { + p.a().a(System.currentTimeMillis(), 23); + StartPwdGestureModifyActivity.access$000(this.a, this.a, 2131362160, 2131362167); + return; + } + p.a().a(System.currentTimeMillis(), 24); + Intent localIntent = new Intent(this.a, StartPwdGestureForgetActivity.class); + localIntent.putExtra("qquser", paramMessage); + localIntent.putExtra("startpwd_forget_source", 2); + this.a.startActivityForResult(localIntent, 256); + return; + } + this.a.dismissDialog(); + this.a.showToast(2131362164); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abu.java new file mode 100755 index 00000000000..dd30b211bc8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.LockPatternView; + +final class abu + implements Runnable +{ + abu(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity) {} + + public final void run() + { + StartPwdGestureModifyActivity.access$100(this.a).d(); + StartPwdGestureModifyActivity.access$100(this.a).f(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abv.java new file mode 100755 index 00000000000..efece6cf987 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abv.java @@ -0,0 +1,19 @@ +package com.tencent.token.ui; + +final class abv + implements Runnable +{ + abv(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity) {} + + public final void run() + { + this.a.setResult(259); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abw.java new file mode 100755 index 00000000000..7de44be2df0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abw.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import com.tencent.token.ax; +import com.tencent.token.ui.base.bz; + +final class abw + implements bz +{ + abw(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity) {} + + public final void a() {} + + public final void a(boolean paramBoolean) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362152), 2131361800, new aby(this)); + } + + public final void b() + { + ax.a().a(StartPwdGestureModifyActivity.access$200(this.a)); + this.a.showProDialog(this.a, 2131362146, new abx(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abx.java new file mode 100755 index 00000000000..6b7ddbc09f6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abx.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; + +final class abx + implements View.OnClickListener +{ + abx(abw paramabw) {} + + public final void onClick(View paramView) + { + StartPwdGestureModifyActivity.access$200(this.a.a).sendEmptyMessage(1008); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aby.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aby.java new file mode 100755 index 00000000000..30380ccd398 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aby.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class aby + implements DialogInterface.OnClickListener +{ + aby(abw paramabw) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, StartPwdGestureForgetActivity.class); + paramDialogInterface.putExtra("startpwd_forget_source", 3); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aby + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/abz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/abz.java new file mode 100755 index 00000000000..ae794bc5341 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/abz.java @@ -0,0 +1,75 @@ +package com.tencent.token.ui; + +import com.tencent.token.ah; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.LockPatternSmallView; +import com.tencent.token.ui.base.LockPatternView; +import com.tencent.token.ui.base.LockPatternView.DisplayMode; +import com.tencent.token.ui.base.cb; +import java.util.List; + +final class abz + implements cb +{ + abz(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity) {} + + public final void a() + { + e.b("RESULT_START"); + StartPwdGestureModifyActivity.access$100(this.a).removeCallbacks(this.a.mClearView); + } + + public final void a(List paramList) + { + e.b("Detected: " + StartPwdGestureModifyActivity.access$100(this.a).h()); + if (StartPwdGestureModifyActivity.access$300(this.a) == 1) + { + if (paramList.size() < 3) + { + StartPwdGestureModifyActivity.access$100(this.a).a(LockPatternView.DisplayMode.Wrong); + StartPwdGestureModifyActivity.access$400(this.a).a(LockPatternView.DisplayMode.Wrong); + StartPwdGestureModifyActivity.access$500(this.a, 2131362138, true); + StartPwdGestureModifyActivity.access$100(this.a).e(); + StartPwdGestureModifyActivity.access$100(this.a).postDelayed(this.a.mClearView, 1000L); + return; + } + StartPwdGestureModifyActivity.access$500(this.a, 2131362137, false); + StartPwdGestureModifyActivity.access$100(this.a).e(); + StartPwdGestureModifyActivity.access$302(this.a, 2); + StartPwdGestureModifyActivity.access$602(this.a, StartPwdGestureModifyActivity.access$100(this.a).h()); + StartPwdGestureModifyActivity.access$400(this.a).b = 2; + StartPwdGestureModifyActivity.access$100(this.a).postDelayed(this.a.mClearView, 1000L); + return; + } + if (!StartPwdGestureModifyActivity.access$100(this.a).h().equals(StartPwdGestureModifyActivity.access$600(this.a))) + { + StartPwdGestureModifyActivity.access$100(this.a).a(LockPatternView.DisplayMode.Wrong); + StartPwdGestureModifyActivity.access$500(this.a, 2131362140, true); + StartPwdGestureModifyActivity.access$100(this.a).e(); + StartPwdGestureModifyActivity.access$100(this.a).postDelayed(this.a.mClearView, 1000L); + return; + } + StartPwdGestureModifyActivity.access$500(this.a, 2131362141, false); + StartPwdGestureModifyActivity.access$100(this.a).e(); + StartPwdGestureModifyActivity.access$400(this.a).b = 3; + StartPwdGestureModifyActivity.access$400(this.a).a(paramList); + ah.a().c(StartPwdGestureModifyActivity.access$600(this.a)); + StartPwdGestureModifyActivity.access$100(this.a).postDelayed(this.a.mFinishTask, 1000L); + } + + public final void b() + { + e.b("CLEARED"); + } + + public final void c() + { + e.b("CellAdded"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.abz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ac.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ac.java new file mode 100755 index 00000000000..ec1e6705803 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ac.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class ac + implements DialogInterface.OnClickListener +{ + ac(aa paramaa) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ac + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aca.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aca.java new file mode 100755 index 00000000000..a425723e9c1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aca.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class aca + implements DialogInterface.OnClickListener +{ + aca(StartPwdGestureModifyActivity paramStartPwdGestureModifyActivity, Context paramContext) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aca + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acb.java new file mode 100755 index 00000000000..0a3c4da512b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acb.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; +import com.tencent.token.utils.s; + +final class acb + implements View.OnClickListener +{ + acb(StartPwdGestureSelActivity paramStartPwdGestureSelActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 15); + paramView = new Intent(this.a, StartPwdGestureModifyActivity.class); + this.a.startActivityForResult(paramView, 258); + s.a(this.a, 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acc.java new file mode 100755 index 00000000000..546cef4db90 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acc.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; +import com.tencent.token.utils.s; + +final class acc + implements View.OnClickListener +{ + acc(StartPwdGestureSelActivity paramStartPwdGestureSelActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 21); + paramView = new Intent(this.a, StartPwdGestureDeleteActivity.class); + this.a.startActivityForResult(paramView, 256); + s.a(this.a, 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acd.java new file mode 100755 index 00000000000..02413b8d9c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acd.java @@ -0,0 +1,55 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.p; +import com.tencent.token.ui.base.SwitchButton; + +final class acd + implements CompoundButton.OnCheckedChangeListener +{ + acd(StartPwdGestureSelActivity paramStartPwdGestureSelActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (paramBoolean != StartPwdGestureSelActivity.access$000(this.a)) { + return; + } + for (;;) + { + try + { + paramCompoundButton = RqdApplication.i().getSharedPreferences("start_pwd_config", 0).edit(); + if (StartPwdGestureSelActivity.access$100(this.a) == 1) + { + p.a().a(System.currentTimeMillis(), 65); + paramCompoundButton.putInt("is_set_start_pwd_show", 0); + StartPwdGestureSelActivity.access$102(this.a, 0); + StartPwdGestureSelActivity.access$200(this.a).a(true, false); + StartPwdGestureSelActivity.access$002(this.a, false); + paramCompoundButton.commit(); + return; + } + } + catch (Exception paramCompoundButton) + { + paramCompoundButton.printStackTrace(); + return; + } + paramCompoundButton.putInt("is_set_start_pwd_show", 1); + StartPwdGestureSelActivity.access$102(this.a, 1); + StartPwdGestureSelActivity.access$200(this.a).a(false, false); + StartPwdGestureSelActivity.access$002(this.a, true); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ace.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ace.java new file mode 100755 index 00000000000..f17bcfac47b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ace.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import com.tencent.token.p; +import com.tencent.token.ui.base.bz; + +final class ace + implements bz +{ + ace(StartPwdGestureVerifyActivity paramStartPwdGestureVerifyActivity) {} + + public final void a() + { + this.a.setResult(35); + p.a().a(System.currentTimeMillis(), 18); + this.a.finish(); + } + + public final void a(boolean paramBoolean) + { + if (paramBoolean) + { + Intent localIntent = new Intent(this.a, StartPwdGestureForgetActivity.class); + localIntent.putExtra("startpwd_forget_source", 3); + this.a.startActivity(localIntent); + this.a.finish(); + return; + } + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362152), 2131361800, new acf(this)); + } + + public final void b() + { + Intent localIntent = new Intent(this.a, StartPwdGestureForgetActivity.class); + localIntent.putExtra("startpwd_forget_source", this.a.mActivityType); + this.a.startActivityForResult(localIntent, 256); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ace + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acf.java new file mode 100755 index 00000000000..2ee16cbe5b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acf.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class acf + implements DialogInterface.OnClickListener +{ + acf(ace paramace) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, StartPwdGestureForgetActivity.class); + paramDialogInterface.putExtra("startpwd_forget_source", 3); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acg.java new file mode 100755 index 00000000000..97a6e10b2ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class acg + implements View.OnClickListener +{ + acg(StartPwdUpdateInfoActivity paramStartPwdUpdateInfoActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdGestureModifyActivity.class); + this.a.startActivityForResult(paramView, 258); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ach.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ach.java new file mode 100755 index 00000000000..8d2f71419ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ach.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.widget.ImageView; +import com.tencent.token.utils.t; + +final class ach + implements Runnable +{ + ach(TakeIDPhotoComfirmActivity paramTakeIDPhotoComfirmActivity, String paramString, ImageView paramImageView) {} + + public final void run() + { + Bitmap localBitmap = t.b(this.a, Math.max(this.b.getWidth(), this.b.getHeight())); + this.b.setImageBitmap(localBitmap); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ach + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aci.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aci.java new file mode 100755 index 00000000000..d087584e5cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aci.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aci + implements View.OnClickListener +{ + aci(TakeIDPhotoComfirmActivity paramTakeIDPhotoComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aci + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acj.java new file mode 100755 index 00000000000..72e1f63c9da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acj.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class acj + implements View.OnClickListener +{ + acj(TakeIDPhotoComfirmActivity paramTakeIDPhotoComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(20); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ack.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ack.java new file mode 100755 index 00000000000..902912aedc2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ack.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import java.util.List; +import java.util.Map; + +final class ack + extends BaseAdapter +{ + private Context a; + private LayoutInflater b; + private List c; + + public ack(Context paramContext, List paramList) + { + this.a = paramContext; + this.b = LayoutInflater.from(paramContext); + this.c = paramList; + } + + public final int getCount() + { + return this.c.size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + paramViewGroup = paramView; + if (paramView == null) { + paramViewGroup = this.b.inflate(2130903195, null); + } + ((TextView)paramViewGroup.findViewById(2131297086)).setText((String)((Map)this.c.get(paramInt)).get("setting_op_name")); + paramViewGroup.setOnClickListener(new acl(this, paramInt)); + paramViewGroup.setOnTouchListener(new acm(this)); + return paramViewGroup; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ack + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acl.java new file mode 100755 index 00000000000..0daf414392f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acl.java @@ -0,0 +1,50 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class acl + implements View.OnClickListener +{ + public final int a = 0; + public final int b = 1; + private int d = 0; + + public acl(ack paramack, int paramInt) + { + this.d = paramInt; + } + + public final void onClick(View paramView) + { + e.a("conf modify onClick=" + this.d); + paramView = (StartPwdDigitSelActivity)ack.a(this.c); + paramView.finish(); + switch (this.d) + { + default: + return; + case 0: + localIntent = new Intent(paramView, StartPwdDigitVerifyActivity.class); + localBundle = new Bundle(); + localBundle.putInt("enter_type", 2); + localIntent.putExtra("com.tencent.input_param", localBundle); + paramView.startActivity(localIntent); + return; + } + Intent localIntent = new Intent(paramView, StartPwdDigitVerifyActivity.class); + Bundle localBundle = new Bundle(); + localBundle.putInt("enter_type", 3); + localIntent.putExtra("com.tencent.input_param", localBundle); + paramView.startActivity(localIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acm.java new file mode 100755 index 00000000000..f554834c76b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acm.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Resources; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import android.widget.TextView; + +final class acm + implements View.OnTouchListener +{ + acm(ack paramack) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + paramView = (TextView)paramView.findViewById(2131297086); + int i = ack.a(this.a).getResources().getColor(2131165192); + int j = ack.a(this.a).getResources().getColor(2131165194); + switch (paramMotionEvent.getAction()) + { + } + for (;;) + { + return false; + paramView.setTextColor(j); + continue; + paramView.setTextColor(i); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acn.java new file mode 100755 index 00000000000..9172f9a7294 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acn.java @@ -0,0 +1,17 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.view.View.OnClickListener; + +public abstract interface acn +{ + public abstract void dismissDialog(); + + public abstract void showProDialog(Activity paramActivity, int paramInt, View.OnClickListener paramOnClickListener); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aco.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aco.java new file mode 100755 index 00000000000..f5d77edd096 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aco.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.global.e; + +final class aco + implements Runnable +{ + aco(UnbindUinActivity paramUnbindUinActivity) {} + + public final void run() + { + e.a("send unbind seq request:" + this.a.mUnBindRetryTimes); + if (!UnbindUinActivity.access$000(this.a)) { + return; + } + ag.c().n(); + af.a().a(UnbindUinActivity.access$100(this.a), UnbindUinActivity.access$200(this.a), 1005, this.a.handler); + UnbindUinActivity localUnbindUinActivity = this.a; + localUnbindUinActivity.mUnBindRetryTimes += 1; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aco + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acp.java new file mode 100755 index 00000000000..818686c8b52 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acp.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class acp + implements DialogInterface.OnCancelListener +{ + acp(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acq.java new file mode 100755 index 00000000000..015129aa0e9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acq.java @@ -0,0 +1,156 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.ea; +import com.tencent.token.fo; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class acq + extends bo +{ + acq(UnbindUinActivity paramUnbindUinActivity) + { + super(paramUnbindUinActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) {} + do + { + do + { + do + { + do + { + return; + e.a("msg.what=" + paramMessage.what + ", timetask=" + UnbindUinActivity.access$000(this.a)); + switch (paramMessage.what) + { + default: + return; + } + } while (!UnbindUinActivity.access$000(this.a)); + this.a.mUnBindRetryTimes = 0; + postDelayed(this.a.mUnBindRunnable, 10000L); + return; + } while (!UnbindUinActivity.access$000(this.a)); + if (paramMessage.arg1 == 0) + { + UnbindUinActivity.access$302(this.a, ea.c); + if ((UnbindUinActivity.access$300(this.a) == null) || (UnbindUinActivity.access$300(this.a).length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362223), 2131361800, null); + return; + } + if ((ea.d == null) || (ea.d.length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362224), 2131361800, null); + return; + } + e.c("sms channel: " + UnbindUinActivity.access$300(this.a)); + this.a.sendUnBindUinSmsBySMSAPP(UnbindUinActivity.access$300(this.a), ea.d); + this.a.showProgressDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } while (!UnbindUinActivity.access$000(this.a)); + UnbindUinActivity.access$402(this.a, this.a.getString(2131361834)); + this.a.removeTimeTask(); + this.a.sendUnBindUinSmsBySMSAPP(UnbindUinActivity.access$300(this.a), ea.d); + return; + UnbindUinActivity.access$502(this.a, true); + this.a.dismissDialog(); + this.a.removeTimeTask(); + ax.a().b(UnbindUinActivity.access$600(this.a)); + ax.a().n(); + ax.a(); + ax.b(); + bd.a().f.a(UnbindUinActivity.access$100(this.a)); + bb.a().f.a(UnbindUinActivity.access$100(this.a)); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + this.a.showUserDialog(2131361904, this.a.getString(2131361841) + Long.toString(UnbindUinActivity.access$200(this.a)) + this.a.getString(2131361906), 2131361800, UnbindUinActivity.access$700(this.a), UnbindUinActivity.access$800(this.a)); + return; + } while (!UnbindUinActivity.access$000(this.a)); + paramMessage = paramMessage.getData(); + int i = paramMessage.getInt("errCode"); + paramMessage = paramMessage.getString("error"); + if ((1 == i) && (this.a.mUnBindRetryTimes < 4)) + { + postDelayed(this.a.mUnBindRunnable, 10000L); + return; + } + UnbindUinActivity.access$402(this.a, paramMessage); + this.a.dismissDialog(); + this.a.removeTimeTask(); + UnbindUinActivity.access$900(this.a, UnbindUinActivity.access$400(this.a)); + return; + this.a.dismissDialog(); + this.a.removeTimeTask(); + UnbindUinActivity.access$402(this.a, this.a.getString(2131361952)); + UnbindUinActivity.access$900(this.a, UnbindUinActivity.access$400(this.a)); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + UnbindUinActivity.access$1000(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showToast(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + af.a().a(UnbindUinActivity.access$100(this.a), UnbindUinActivity.access$200(this.a), this.a.handler); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + if ((paramMessage.a == 146) && (this.a.mUnBindRetryTimes < 4)) + { + postDelayed(this.a.mUnBindRunnable, 10000L); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + if (paramMessage.arg1 == 0) + { + UnbindUinActivity.access$502(this.a, true); + this.a.dismissDialog(); + this.a.removeTimeTask(); + ax.a().b(UnbindUinActivity.access$600(this.a)); + ax.a().n(); + bd.a().f.a(UnbindUinActivity.access$100(this.a)); + bb.a().f.a(UnbindUinActivity.access$100(this.a)); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + this.a.showUserDialog(2131361904, this.a.getString(2131361841) + Long.toString(UnbindUinActivity.access$200(this.a)) + this.a.getString(2131361906), 2131361800, UnbindUinActivity.access$700(this.a), UnbindUinActivity.access$800(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.dismissDialog(); + this.a.removeTimeTask(); + UnbindUinActivity.access$900(this.a, paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acr.java new file mode 100755 index 00000000000..765269c0490 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acr.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class acr + implements View.OnClickListener +{ + acr(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(View paramView) + { + this.a.startTimeTask(); + this.a.showProgressDialog(); + af.a().a("", UnbindUinActivity.access$200(this.a), 1, 3, "", this.a.handler); + e.a("msg.what=, timetask=" + UnbindUinActivity.access$000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acs.java new file mode 100755 index 00000000000..a1a02c96e39 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acs.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class acs + implements View.OnClickListener +{ + acs(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, CheckMobileAvailableActivity.class); + paramView.putExtra("real_uin", UnbindUinActivity.access$200(this.a)); + paramView.putExtra("user_to_unbind", UnbindUinActivity.access$600(this.a)); + paramView.putExtra("up_sms_scene_id", 6); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/act.java b/com.tencent.token/classes.jar/com/tencent/token/ui/act.java new file mode 100755 index 00000000000..6ba345562c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/act.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; + +final class act + implements View.OnClickListener +{ + act(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + paramView.putExtra("op_type", 1); + paramView.putExtra("title", this.a.getResources().getString(2131361846)); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.act + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acu.java new file mode 100755 index 00000000000..6438b25d2eb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class acu + implements DialogInterface.OnClickListener +{ + acu(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acv.java new file mode 100755 index 00000000000..654182c0e91 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acv.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class acv + implements DialogInterface.OnCancelListener +{ + acv(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.unbindResult(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acw.java new file mode 100755 index 00000000000..0e9341f86cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acw.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class acw + implements View.OnClickListener +{ + acw(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(View paramView) + { + this.a.removeTimeTask(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acx.java new file mode 100755 index 00000000000..0e8c7d79cb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acx.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class acx + implements DialogInterface.OnClickListener +{ + acx(UnbindUinActivity paramUnbindUinActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acy.java new file mode 100755 index 00000000000..348009820cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acy.java @@ -0,0 +1,96 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SecondVerifyDialog; +import com.tencent.token.ui.base.ds; + +final class acy + extends bo +{ + acy(UtilsAccountLockActivity paramUtilsAccountLockActivity) + { + super(paramUtilsAccountLockActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + if ((this.a == null) || (this.a.isFinishing())) {} + do + { + do + { + do + { + do + { + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + } while (3 != paramMessage.arg1); + UtilsAccountLockActivity.access$000(this.a).b(); + UtilsAccountLockActivity.access$000(this.a).d(); + return; + k localk = UtilsAccountLockActivity.access$000(this.a); + ds localds = (ds)paramMessage.obj; + if (paramMessage.arg1 == 1) {} + for (;;) + { + localk.b(localds, bool); + return; + bool = false; + } + } while (3 != paramMessage.arg1); + paramMessage = new SecondVerifyDialog(this.a, this.a.mHandler, paramMessage.arg1); + paramMessage.setCancelable(true); + paramMessage.show(); + return; + } while (3 != paramMessage.arg1); + UtilsAccountLockActivity.access$000(this.a).b(); + UtilsAccountLockActivity.access$000(this.a).c(); + return; + } while (UtilsAccountLockActivity.access$000(this.a) == null); + UtilsAccountLockActivity.access$000(this.a).a(); + UtilsAccountLockActivity.access$000(this.a).notifyDataSetChanged(); + return; + paramMessage = (ds)paramMessage.obj; + } while ((paramMessage == null) || (UtilsAccountLockActivity.access$000(this.a) == null)); + UtilsAccountLockActivity.access$000(this.a).a(paramMessage, true); + return; + UtilsAccountLockActivity.access$102(this.a, false); + if (paramMessage.arg1 == 0) + { + this.a.hideTip(); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game lock load failed:" + paramMessage.a + "-" + paramMessage.b); + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showTip(paramMessage.a, UtilsAccountLockActivity.access$200(this.a), UtilsAccountLockActivity.access$300(this.a), true); + return; + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + return; + if (paramMessage.arg1 == 0) {} + for (paramMessage = new d();; paramMessage = (d)paramMessage.obj) + { + UtilsAccountLockActivity.access$000(this.a).a(paramMessage); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/acz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/acz.java new file mode 100755 index 00000000000..402fcbad8b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/acz.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class acz + implements View.OnClickListener +{ + acz(UtilsAccountLockActivity paramUtilsAccountLockActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.acz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ad.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ad.java new file mode 100755 index 00000000000..1327deb2bf1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ad.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class ad + implements DialogInterface.OnClickListener +{ + ad(aa paramaa) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = ax.a().e(); + if (paramDialogInterface == null) { + return; + } + Intent localIntent = new Intent(this.a.a, WtLoginAccountInput.class); + localIntent.putExtra("page_id", 8); + localIntent.putExtra("intent.uin", paramDialogInterface.mRealUin); + this.a.a.startActivity(localIntent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ad + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ada.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ada.java new file mode 100755 index 00000000000..c3531a93e86 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ada.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class ada + implements View.OnClickListener +{ + ada(UtilsAccountLockActivity paramUtilsAccountLockActivity) {} + + public final void onClick(View paramView) + { + e.c("retry: "); + this.a.queryAccountLockStatus(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ada + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adb.java new file mode 100755 index 00000000000..891d3b645a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adb.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class adb + implements View.OnClickListener +{ + adb(UtilsAccountLockActivity paramUtilsAccountLockActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361977)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adc.java new file mode 100755 index 00000000000..e0a5ccafc10 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adc.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.view.View; +import android.view.View.OnClickListener; + +final class adc + implements View.OnClickListener +{ + adc(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.open_menu")); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/add.java b/com.tencent.token/classes.jar/com/tencent/token/ui/add.java new file mode 100755 index 00000000000..cc08965abae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/add.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class add + extends UserTask +{ + add(UtilsActivity paramUtilsActivity) {} + + public final void a() + { + super.a(); + UtilsActivity.access$1302(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.add + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ade.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ade.java new file mode 100755 index 00000000000..b292709fba9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ade.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.UserTask.Status; + +final class ade + implements View.OnClickListener +{ + ade(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + if ((UtilsActivity.access$1400(this.a) != null) && (UtilsActivity.access$1400(this.a).c() != UserTask.Status.FINISHED)) { + UtilsActivity.access$1400(this.a).d(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ade + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adf.java new file mode 100755 index 00000000000..5ce45cce784 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adf.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ui.base.TitleOptionMenu; + +final class adf + implements View.OnClickListener +{ + adf(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + if (UtilsActivity.access$100(this.a).getVisibility() == 0) + { + UtilsActivity.access$100(this.a).a(); + return; + } + UtilsActivity.access$100(this.a).a(new adg(this)); + paramView = UtilsActivity.access$100(this.a); + Object localObject = paramView.getTag(); + if (localObject != null) { + ((View)localObject).setSelected(true); + } + paramView.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adg.java new file mode 100755 index 00000000000..d294ecc1b93 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adg.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.base.dh; +import com.tencent.token.utils.s; + +final class adg + implements dh +{ + adg(adf paramadf) {} + + public final void a(int paramInt) + { + if (ax.a().e() == null) + { + if (paramInt == 0) + { + this.a.a.showNoAccountTipDialog(this.a.a, 13, 0); + return; + } + s.b(this.a.a, this.a.a.getString(2131361988)); + return; + } + if (!ax.a().e().mIsBinded) + { + if (paramInt == 0) + { + this.a.a.showNoAccountTipDialog(this.a.a, 13, 1); + return; + } + s.b(this.a.a, this.a.a.getString(2131361988)); + return; + } + UtilsActivity.access$200(this.a.a, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adh.java new file mode 100755 index 00000000000..b07b572e53c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adh.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + +final class adh + extends BroadcastReceiver +{ + adh(UtilsActivity paramUtilsActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + paramContext = paramIntent.getAction(); + if (paramContext.equals("com.tencent.token.utils_icon_flag")) { + UtilsActivity.access$300(this.a); + } + do + { + return; + if (paramContext.equals("com.tencent.token.token_code_change_30s")) + { + UtilsActivity.access$400(this.a); + return; + } + } while ((!paramContext.equals("com.tencent.token.siderbar.statechanged")) || (paramIntent.getExtras() == null)); + int i = paramIntent.getExtras().getInt("cscreen", -1); + int j = paramIntent.getExtras().getInt("nscreen", -1); + boolean bool = paramIntent.getExtras().getBoolean("cstate"); + com.tencent.token.global.e.c("cscreen=" + i + ", nscreen=" + j + ", moving=" + bool); + if (bool) + { + UtilsActivity.access$500(this.a).a = false; + return; + } + if (j == 0) + { + UtilsActivity.access$500(this.a).a = false; + return; + } + UtilsActivity.access$500(this.a).a = true; + UtilsActivity.access$500(this.a).invalidateSelf(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adi.java new file mode 100755 index 00000000000..0521f20d773 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adi.java @@ -0,0 +1,91 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; + +final class adi + extends bo +{ + adi(UtilsActivity paramUtilsActivity) + { + super(paramUtilsActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + Intent localIntent; + switch (paramMessage.what) + { + default: + return; + case -100: + UtilsActivity.access$400(this.a); + return; + case 3082: + localIntent = new Intent(this.a, FaceRecognitionCameraActivity.class); + localIntent.putExtra("flag", 3); + if (paramMessage.arg2 == 1) { + localIntent.putExtra("actions", (int[])paramMessage.obj); + } + this.a.startActivityForResult(localIntent, 1); + return; + case 3003: + UtilsActivity.access$600(this.a)[UtilsActivity.access$700(this.a)] = 0; + if (paramMessage.arg1 == 0) + { + if (ax.a().e() == null) + { + this.a.showUserDialog(9); + return; + } + if (UtilsActivity.access$700(this.a) != 8) { + this.a.dismissDialog(); + } + UtilsActivity.access$800(this.a, UtilsActivity.access$700(this.a)); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } + UtilsActivity.access$600(this.a)[8] = 0; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameStatusResult)paramMessage.obj; + localIntent = new Intent(this.a, RealNameActivity.class); + localIntent.putExtra("realname_result", paramMessage); + this.a.startActivity(localIntent); + return; + } + if (paramMessage.arg1 == 165) + { + if (!RqdApplication.b) + { + UtilsActivity.access$900(this.a); + return; + } + UtilsActivity.access$1002(this.a, true); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adj.java new file mode 100755 index 00000000000..6cf69a4929d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class adj + implements View.OnClickListener +{ + adj(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + this.a.showUserDialogWithCancel(2130903219, new adk(this), null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adk.java new file mode 100755 index 00000000000..f75a2f1c00b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class adk + implements View.OnClickListener +{ + adk(adj paramadj) {} + + public final void onClick(View paramView) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adl.java new file mode 100755 index 00000000000..2079737113d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adl.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class adl + implements View.OnClickListener +{ + adl(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, VerifyStartScanActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adm.java new file mode 100755 index 00000000000..294e45d8065 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adm.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class adm + implements View.OnClickListener +{ + adm(UtilsActivity paramUtilsActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 60); + this.a.showNoAccountTipDialog(this.a, 0, 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adn.java new file mode 100755 index 00000000000..9f2f73c2f96 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adn.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.TitleOptionMenu; + +final class adn + implements Runnable +{ + adn(UtilsActivity paramUtilsActivity) {} + + public final void run() + { + this.a.setRightTitleImage(2130837539, UtilsActivity.access$1100(this.a)); + UtilsActivity.access$102(this.a, this.a.getDialogMenu()); + if (UtilsActivity.access$100(this.a) != null) { + UtilsActivity.access$100(this.a).a(2); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ado.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ado.java new file mode 100755 index 00000000000..4fb2bb06aef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ado.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.res.Resources; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +final class ado + implements DialogInterface.OnClickListener +{ + ado(UtilsActivity paramUtilsActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = ax.a().e(); + if (paramDialogInterface == null) { + return; + } + paramDialogInterface = "" + paramDialogInterface.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(paramDialogInterface, 523005425L)) + { + localx.a(paramDialogInterface, this.a.mHandler, 523005425L); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new adp(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ado + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adp.java new file mode 100755 index 00000000000..4ce5ebd0f78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adp.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class adp + implements DialogInterface.OnClickListener +{ + adp(ado paramado) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + UtilsActivity.access$1200(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adq.java new file mode 100755 index 00000000000..06c0bcfb14f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adq.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class adq + implements View.OnClickListener +{ + private int b; + + public adq(UtilsActivity paramUtilsActivity, int paramInt) + { + this.b = paramInt; + } + + public final void onClick(View paramView) + { + UtilsActivity.access$000(this.a, this.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adr.java new file mode 100755 index 00000000000..c0278ffb95a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adr.java @@ -0,0 +1,109 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.ListView; +import com.tencent.token.ba; +import com.tencent.token.fk; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SecondVerifyDialog; +import com.tencent.token.ui.base.ds; + +final class adr + extends bo +{ + adr(UtilsGameLockActivity paramUtilsGameLockActivity) + { + super(paramUtilsGameLockActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + int i; + do + { + do + { + do + { + do + { + do + { + do + { + do + { + return; + switch (paramMessage.what) + { + default: + return; + case 1010: + case 1012: + UtilsGameLockActivity.access$000(this.a).a(); + } + } while (3 != paramMessage.arg1); + UtilsGameLockActivity.access$000(this.a).c(); + return; + } while (3 != paramMessage.arg1); + paramMessage = new SecondVerifyDialog(this.a, this.a.mHandler, paramMessage.arg1); + paramMessage.setCancelable(true); + paramMessage.show(); + return; + UtilsGameLockActivity.access$000(this.a).a(); + } while (3 != paramMessage.arg1); + UtilsGameLockActivity.access$000(this.a).b(); + return; + } while (UtilsGameLockActivity.access$000(this.a) == null); + UtilsGameLockActivity.access$000(this.a).notifyDataSetChanged(); + return; + paramMessage = (ds)paramMessage.obj; + } while ((paramMessage == null) || (UtilsGameLockActivity.access$000(this.a) == null)); + UtilsGameLockActivity.access$000(this.a).a(paramMessage, true); + return; + UtilsGameLockActivity.access$102(this.a, false); + if (paramMessage.arg1 != 0) { + break; + } + this.a.hideTip(); + } while (UtilsGameLockActivity.access$200(this.a) <= 0); + i = ba.a().c.a(UtilsGameLockActivity.access$200(this.a)) - 1; + e.b("want find indexID =" + UtilsGameLockActivity.access$200(this.a) + " result=" + i); + } while (i <= 0); + UtilsGameLockActivity.access$300(this.a).post(new ads(this, i)); + return; + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game lock load failed:" + paramMessage.a + "-" + paramMessage.b); + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showTip(paramMessage.a, UtilsGameLockActivity.access$400(this.a), UtilsGameLockActivity.access$500(this.a), true); + return; + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + return; + d locald; + if (paramMessage.arg1 == 0) + { + locald = new d(); + paramMessage = locald; + if (ku.b) { + this.a.showOrangeToast(2131362195, 2130837964); + } + } + for (paramMessage = locald;; paramMessage = (d)paramMessage.obj) + { + ku.b = false; + UtilsGameLockActivity.access$000(this.a).a(paramMessage); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ads.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ads.java new file mode 100755 index 00000000000..ef587936da6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ads.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.widget.ListView; + +final class ads + implements Runnable +{ + ads(adr paramadr, int paramInt) {} + + public final void run() + { + UtilsGameLockActivity.access$300(this.b.a).requestFocusFromTouch(); + UtilsGameLockActivity.access$300(this.b.a).setSelection(this.a); + UtilsGameLockActivity.access$300(this.b.a).requestFocus(); + UtilsGameLockActivity.access$202(this.b.a, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ads + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adt.java new file mode 100755 index 00000000000..6caa21c9a26 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adt.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ui.base.TitleOptionMenu; + +final class adt + implements View.OnClickListener +{ + adt(UtilsGameLockActivity paramUtilsGameLockActivity) {} + + public final void onClick(View paramView) + { + if (UtilsGameLockActivity.access$600(this.a).getVisibility() == 0) + { + UtilsGameLockActivity.access$600(this.a).a(); + return; + } + UtilsGameLockActivity.access$600(this.a).a(new adu(this)); + paramView = UtilsGameLockActivity.access$600(this.a); + Object localObject = paramView.getTag(); + if (localObject != null) { + ((View)localObject).setSelected(true); + } + paramView.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adu.java new file mode 100755 index 00000000000..70f8a090a75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adu.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import com.tencent.token.ui.base.dh; +import com.tencent.token.utils.s; + +final class adu + implements dh +{ + adu(adt paramadt) {} + + public final void a(int paramInt) + { + switch (paramInt) + { + default: + return; + case 0: + Intent localIntent = new Intent(this.a.a, AssistantRecommendFriendQrcode.class); + localIntent.putExtra("page_id", 9); + this.a.a.startActivity(localIntent); + return; + } + s.b(this.a.a, this.a.a.getString(2131361976)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adv.java new file mode 100755 index 00000000000..42f6b75d7fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adv.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class adv + implements View.OnClickListener +{ + adv(UtilsGameLockActivity paramUtilsGameLockActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adw.java new file mode 100755 index 00000000000..ce1fba17e29 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adw.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class adw + implements View.OnClickListener +{ + adw(UtilsGameLockActivity paramUtilsGameLockActivity) {} + + public final void onClick(View paramView) + { + e.c("retry: "); + this.a.queryGameLockStatus(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adx.java new file mode 100755 index 00000000000..e43d095c059 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adx.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.ListView; +import com.tencent.token.ba; +import com.tencent.token.fl; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class adx + extends bo +{ + adx(UtilsGameProtectActivity paramUtilsGameProtectActivity) + { + super(paramUtilsGameProtectActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + do + { + int i; + do + { + do + { + return; + switch (paramMessage.what) + { + default: + return; + case 3001: + this.a.mIsIniting = false; + if (paramMessage.arg1 != 0) { + break label183; + } + this.a.hideTip(); + } + } while (UtilsGameProtectActivity.access$100(this.a) <= 0); + i = ba.a().d.a(UtilsGameProtectActivity.access$100(this.a)) - 1; + e.b("want find indexID =" + UtilsGameProtectActivity.access$100(this.a) + " result=" + i); + } while (i <= 0); + UtilsGameProtectActivity.access$200(this.a).post(new ady(this, i)); + return; + } while (UtilsGameProtectActivity.access$000(this.a) == null); + UtilsGameProtectActivity.access$000(this.a).notifyDataSetChanged(); + return; + label183: + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game protect load failed:" + paramMessage.a + "-" + paramMessage.b); + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showTip(paramMessage.a, UtilsGameProtectActivity.access$300(this.a), UtilsGameProtectActivity.access$400(this.a), true); + return; + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ady.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ady.java new file mode 100755 index 00000000000..1deb154369a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ady.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.widget.ListView; + +final class ady + implements Runnable +{ + ady(adx paramadx, int paramInt) {} + + public final void run() + { + UtilsGameProtectActivity.access$200(this.b.a).requestFocusFromTouch(); + UtilsGameProtectActivity.access$200(this.b.a).setSelection(this.a); + UtilsGameProtectActivity.access$200(this.b.a).requestFocus(); + UtilsGameProtectActivity.access$102(this.b.a, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ady + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/adz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/adz.java new file mode 100755 index 00000000000..0fe27132dcc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/adz.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class adz + implements View.OnClickListener +{ + adz(UtilsGameProtectActivity paramUtilsGameProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.adz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ae.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ae.java new file mode 100755 index 00000000000..a0548eb8010 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ae.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.af; + +final class ae + implements DialogInterface.OnCancelListener +{ + ae(aa paramaa) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + af.a().b(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ae + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aea.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aea.java new file mode 100755 index 00000000000..e17a59ab1f0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aea.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class aea + implements View.OnClickListener +{ + aea(UtilsGameProtectActivity paramUtilsGameProtectActivity) {} + + public final void onClick(View paramView) + { + e.c("retry: "); + this.a.queryGameProtectStatus(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aea + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeb.java new file mode 100755 index 00000000000..05995521147 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeb.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class aeb + implements View.OnClickListener +{ + aeb(UtilsGameProtectActivity paramUtilsGameProtectActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361975)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aec.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aec.java new file mode 100755 index 00000000000..0928e25c2a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aec.java @@ -0,0 +1,167 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import android.view.View; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.LoginProtectResult; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.x; +import java.util.ArrayList; + +final class aec + extends bo +{ + aec(UtilsLoginProtectActivity paramUtilsLoginProtectActivity) + { + super(paramUtilsLoginProtectActivity); + } + + public final void handleMessage(Message paramMessage) + { + Object localObject = null; + if (this.a.isFinishing()) {} + do + { + return; + e.c("account page: what=" + paramMessage.what + ", arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case 3010: + if (paramMessage.arg1 != 0) { + break label1050; + } + paramMessage = fn.a().c(); + } + } while ((paramMessage == null) || (paramMessage.mMbInfoItems == null)); + int i = 0; + while (i < paramMessage.mMbInfoItems.size()) + { + localObject = (MbInfoResult.MbInfoItem)paramMessage.mMbInfoItems.get(i); + if (((MbInfoResult.MbInfoItem)localObject).mId == 51) + { + int j = ((MbInfoResult.MbInfoItem)localObject).mValue; + paramMessage = ((MbInfoResult.MbInfoItem)localObject).mName; + UtilsLoginProtectActivity.access$402(this.a, true); + if (j == 1) + { + if (ax.a().e() == null) { + break; + } + paramMessage = x.a(RqdApplication.i()).a(ax.a().e().mRealUin); + if (paramMessage != null) + { + this.a.mA2 = s.a(paramMessage); + af.a().d(0L, this.a.mA2, this.a.mHandler); + return; + UtilsLoginProtectActivity.access$002(this.a, false); + if (paramMessage.arg1 == 0) + { + UtilsLoginProtectActivity.mNeedRefreshLoginProtect = false; + this.a.mLoginProtectResult = ((LoginProtectResult)paramMessage.obj); + this.a.hideTip(); + UtilsLoginProtectActivity.access$100(this.a).notifyDataSetChanged(); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game protect load failed:" + paramMessage.a + "-" + paramMessage.b); + if (paramMessage.a == 185) + { + if (ax.a().e() == null) { + break; + } + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, this.a.mHandler, true); + return; + } + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showTip(paramMessage.a, UtilsLoginProtectActivity.access$200(this.a), UtilsLoginProtectActivity.access$300(this.a), true); + return; + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + return; + if (paramMessage.arg1 == 0) + { + localObject = new d(); + int[] arrayOfInt = (int[])paramMessage.obj; + paramMessage = (Message)localObject; + localObject = arrayOfInt; + } + for (;;) + { + UtilsLoginProtectActivity.access$100(this.a).a(paramMessage, (int[])localObject); + return; + paramMessage = (d)paramMessage.obj; + } + localObject = (byte[])paramMessage.obj; + if ((paramMessage.arg1 == 0) && (localObject != null) && (localObject.length > 0)) + { + this.a.mA2 = s.a((byte[])localObject); + e.b("login protect a2=" + this.a.mA2 + ", length=" + this.a.mA2.length()); + af.a().d(0L, this.a.mA2, this.a.mHandler); + return; + } + if (paramMessage.arg1 == -1000) + { + this.a.showTip(-1000, this.a.getResources().getString(2131361943), null, false); + UtilsLoginProtectActivity.access$002(this.a, false); + return; + } + if (paramMessage.arg1 == 8192) + { + this.a.showTip(8192, this.a.getResources().getString(2131362089), null, false); + UtilsLoginProtectActivity.access$002(this.a, false); + return; + } + if ((paramMessage.arg1 == 1) || (paramMessage.arg1 == 15) || (paramMessage.arg1 == 16) || (paramMessage.arg1 == 2)) + { + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new aed(this)); + UtilsLoginProtectActivity.access$002(this.a, false); + return; + } + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) { + this.a.showTip(paramMessage.arg1, this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror"), null, false); + } + for (;;) + { + UtilsLoginProtectActivity.access$002(this.a, false); + return; + this.a.showTip(paramMessage.arg1, this.a.getResources().getString(2131362091), null, false); + } + } + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, this.a.mHandler, true); + return; + } + UtilsLoginProtectActivity.access$002(this.a, false); + this.a.setContentView(2130903238); + this.a.findViewById(2131297233).setOnClickListener(new aee(this, paramMessage, i)); + return; + } + i += 1; + } + label1050: + UtilsLoginProtectActivity.access$002(this.a, false); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game protect load failed:" + paramMessage.a + "-" + paramMessage.b); + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aec + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aed.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aed.java new file mode 100755 index 00000000000..5f965baba74 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aed.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class aed + implements DialogInterface.OnClickListener +{ + aed(aec paramaec) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtloginSigExpireActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aed + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aee.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aee.java new file mode 100755 index 00000000000..897bd0adb40 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aee.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; + +final class aee + implements View.OnClickListener +{ + aee(aec paramaec, String paramString, int paramInt) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.c.a, UtilsModSetMobileStep1Activity.class); + paramView.putExtra("title", this.c.a.getResources().getString(2131361814) + this.a); + paramView.putExtra("op_type", 1); + paramView.putExtra("position", this.b); + this.c.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aee + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aef.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aef.java new file mode 100755 index 00000000000..029a9a025cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aef.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aef + implements View.OnClickListener +{ + aef(UtilsLoginProtectActivity paramUtilsLoginProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aef + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeg.java new file mode 100755 index 00000000000..3274de3eeb9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class aeg + implements View.OnClickListener +{ + aeg(UtilsLoginProtectActivity paramUtilsLoginProtectActivity) {} + + public final void onClick(View paramView) + { + e.c("retry: "); + this.a.queryLoginProtect(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeh.java new file mode 100755 index 00000000000..78845c968c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeh.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class aeh + implements View.OnClickListener +{ + aeh(UtilsLoginProtectActivity paramUtilsLoginProtectActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131362257)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aei.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aei.java new file mode 100755 index 00000000000..025d0497a35 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aei.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aei + implements View.OnClickListener +{ + aei(UtilsMailProtectActivity paramUtilsMailProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aei + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aej.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aej.java new file mode 100755 index 00000000000..5b6f9cf25ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aej.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +final class aej + implements View.OnClickListener +{ + aej(UtilsMailProtectActivity paramUtilsMailProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + x.a(RqdApplication.i()).a(this.a, "" + paramView.mRealUin, UtilsMailProtectActivity.access$000(this.a), true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aej + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aek.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aek.java new file mode 100755 index 00000000000..f70d52ffca9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aek.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class aek + implements View.OnClickListener +{ + aek(UtilsMailProtectActivity paramUtilsMailProtectActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361979)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aek + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ael.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ael.java new file mode 100755 index 00000000000..9eadb8fc29f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ael.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; + +final class ael + implements CompoundButton.OnCheckedChangeListener +{ + ael(UtilsMailProtectActivity paramUtilsMailProtectActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + paramCompoundButton = ba.a().h(); + if ((paramCompoundButton == null) || (paramBoolean != paramCompoundButton.c)) { + return; + } + UtilsMailProtectActivity.access$102(this.a, paramCompoundButton); + UtilsMailProtectActivity.access$200(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ael + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aem.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aem.java new file mode 100755 index 00000000000..7c9d17cd180 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aem.java @@ -0,0 +1,153 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import android.view.View; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class aem + extends bo +{ + aem(UtilsMailProtectActivity paramUtilsMailProtectActivity) + { + super(paramUtilsMailProtectActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + Object localObject; + do + { + return; + localObject = UtilsMailProtectActivity.access$100(this.a); + int i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 3054: + if (paramMessage.arg1 == 0) + { + UtilsMailProtectActivity.access$600(this.a).setVisibility(0); + UtilsMailProtectActivity.access$700(this.a).setVisibility(8); + UtilsMailProtectActivity.access$800(this.a); + return; + } + case 4097: + case 4098: + localObject = (byte[])paramMessage.obj; + if ((i == 0) && (localObject != null) && (localObject.length > 0)) + { + UtilsMailProtectActivity.access$402(this.a, s.a((byte[])localObject)); + UtilsMailProtectActivity.access$500(this.a); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16) || (i == 2)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new aen(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + case 4104: + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + UtilsMailProtectActivity.access$1100(this.a, paramMessage.arg1, UtilsMailProtectActivity.access$900(this.a), UtilsMailProtectActivity.access$1000(this.a), true); + return; + } + if (185 != paramMessage.arg1) { + break label583; + } + } + } while (ax.a().e() == null); + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, UtilsMailProtectActivity.access$000(this.a), true); + return; + label583: + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("mailprotect load failed:" + paramMessage.a + "-" + paramMessage.b); + UtilsMailProtectActivity.access$1100(this.a, paramMessage.a, paramMessage.c, null, false); + return; + ((g)localObject).e = false; + boolean bool; + if (paramMessage.arg1 == 0) { + if (!((g)localObject).c) + { + bool = true; + ((g)localObject).c = bool; + } + } + for (;;) + { + UtilsMailProtectActivity.access$800(this.a); + return; + bool = false; + break; + localObject = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)localObject); + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + UtilsMailProtectActivity.access$1100(this.a, ((d)localObject).a, UtilsMailProtectActivity.access$900(this.a), UtilsMailProtectActivity.access$1000(this.a), true); + } + else if (158 == paramMessage.arg1) + { + this.a.showUserDialog(2131361849, ((d)localObject).c, this.a.getResources().getString(2131361850), this.a.getResources().getString(2131361851), new aeo(this), new aep(this)); + } + else + { + d.a(this.a.getResources(), (d)localObject); + UtilsMailProtectActivity.access$1300(this.a, ((d)localObject).c); + } + } + if (paramMessage.arg1 == 0) + { + UtilsMailProtectActivity.access$500(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + UtilsMailProtectActivity.access$1300(this.a, paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aem + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aen.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aen.java new file mode 100755 index 00000000000..3eb4f8439c8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aen.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class aen + implements DialogInterface.OnClickListener +{ + aen(aem paramaem) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtloginSigExpireActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aen + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeo.java new file mode 100755 index 00000000000..434d7a52d29 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeo.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class aeo + implements DialogInterface.OnClickListener +{ + aeo(aem paramaem) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aep.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aep.java new file mode 100755 index 00000000000..3e1fad46804 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aep.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class aep + implements DialogInterface.OnClickListener +{ + aep(aem paramaem) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + UtilsMailProtectActivity.access$1200(this.a.a); + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aep + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeq.java new file mode 100755 index 00000000000..08762706e4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.DeviceInfo; + +final class aeq + implements View.OnClickListener +{ + aeq(UtilsMailProtectActivity paramUtilsMailProtectActivity, DeviceInfo paramDeviceInfo) {} + + public final void onClick(View paramView) + { + new aer(this.b, this.b, this.a).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aer.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aer.java new file mode 100755 index 00000000000..ca87eee5c43 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aer.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.Context; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.view.Window; +import android.widget.TextView; +import com.tencent.token.core.bean.DeviceInfo; + +final class aer + extends Dialog +{ + private DeviceInfo b; + + public aer(UtilsMailProtectActivity paramUtilsMailProtectActivity, Context paramContext, DeviceInfo paramDeviceInfo) + { + super(paramContext, 2131427400); + this.b = paramDeviceInfo; + } + + protected final void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903069); + paramBundle = String.format(this.a.getResources().getString(2131362245), new Object[] { this.b.dname }); + ((TextView)findViewById(2131296492)).setText(paramBundle); + setCanceledOnTouchOutside(true); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + paramBundle.getAttributes().width = -1; + paramBundle.setGravity(80); + findViewById(2131296493).setOnClickListener(new aes(this)); + findViewById(2131296494).setOnClickListener(new aet(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aer + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aes.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aes.java new file mode 100755 index 00000000000..8a6b17753fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aes.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class aes + implements View.OnClickListener +{ + aes(aer paramaer) {} + + public final void onClick(View paramView) + { + af.a().a(0L, aer.a(this.a).dguid, aer.a(this.a).ddes, aer.a(this.a).dappid, aer.a(this.a).dsubappid, aer.a(this.a).dappname, 70, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", UtilsMailProtectActivity.access$400(this.a.a), UtilsMailProtectActivity.access$000(this.a.a)); + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aes + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aet.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aet.java new file mode 100755 index 00000000000..f34f044a03c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aet.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aet + implements View.OnClickListener +{ + aet(aer paramaer) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aet + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aeu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aeu.java new file mode 100755 index 00000000000..437a96e421c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aeu.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aeu + implements View.OnClickListener +{ + aeu(UtilsMbInfoActivity paramUtilsMbInfoActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aeu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aev.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aev.java new file mode 100755 index 00000000000..72273d1857b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aev.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class aev + implements View.OnClickListener +{ + aev(UtilsMbInfoActivity paramUtilsMbInfoActivity) {} + + public final void onClick(View paramView) + { + af.a().e(0L, this.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aev + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aew.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aew.java new file mode 100755 index 00000000000..800280a931d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aew.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class aew + extends bo +{ + aew(UtilsMbInfoActivity paramUtilsMbInfoActivity) + { + super(paramUtilsMbInfoActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + e.c("utils mbinfo: " + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + } + this.a.mIsIniting = false; + if (paramMessage.arg1 == 0) + { + this.a.hideTip(); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aew + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aex.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aex.java new file mode 100755 index 00000000000..f2d51e42385 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aex.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class aex + implements View.OnClickListener +{ + aex(UtilsMbInfoActivity paramUtilsMbInfoActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361974)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aex + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aey.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aey.java new file mode 100755 index 00000000000..f6d661d825f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aey.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aey + implements View.OnClickListener +{ + aey(UtilsMbInfoFeedbackMobileUsingSuccActivity paramUtilsMbInfoFeedbackMobileUsingSuccActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aey + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aez.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aez.java new file mode 100755 index 00000000000..7fbe9ddc85e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aez.java @@ -0,0 +1,68 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import android.view.View; +import android.widget.RelativeLayout; +import com.tencent.token.fn; +import com.tencent.token.global.d; + +final class aez + extends bo +{ + aez(UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity) + { + super(paramUtilsMbInfoItemActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + switch (paramMessage.what) + { + default: + return; + case 3011: + if (paramMessage.arg1 == 0) + { + UtilsMbInfoItemActivity.access$000(this.a).setVisibility(8); + UtilsMbInfoItemActivity.access$100(this.a).setVisibility(0); + this.a.mBackArrow.setVisibility(4); + UtilsMbInfoItemActivity.access$202(this.a, true); + fn.a().b(); + AccountPageActivity.mNeedRefreshEval = true; + } + break; + } + while (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, UtilsMbInfoFeedbackMobileUsingSuccActivity.class); + this.a.startActivity(paramMessage); + fn.a().b(); + AccountPageActivity.mNeedRefreshEval = true; + this.a.finish(); + return; + UtilsMbInfoItemActivity.access$000(this.a).setVisibility(0); + UtilsMbInfoItemActivity.access$100(this.a).setVisibility(8); + d locald = (d)paramMessage.obj; + if ((locald.c == null) || (locald.c.length() == 0)) { + d.a(this.a.getResources(), locald); + } + this.a.showUserDialog(2131361808, locald.c, 2131361800, null); + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aez + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/af.java b/com.tencent.token/classes.jar/com/tencent/token/ui/af.java new file mode 100755 index 00000000000..10f7510cc9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/af.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class af + implements DialogInterface.OnClickListener +{ + af(aa paramaa) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + com.tencent.token.af.a().b(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.af + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afa.java new file mode 100755 index 00000000000..7148152f8fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afa.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class afa + implements View.OnClickListener +{ + afa(UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afb.java new file mode 100755 index 00000000000..53ae47a569b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afb.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class afb + implements View.OnClickListener +{ + afb(UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity, String paramString) {} + + public final void onClick(View paramView) + { + s.b(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afc.java new file mode 100755 index 00000000000..078167fae16 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afc.java @@ -0,0 +1,62 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; + +final class afc + implements View.OnClickListener +{ + afc(UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity, boolean paramBoolean, int paramInt, String paramString) {} + + public final void onClick(View paramView) + { + if (UtilsMbInfoItemActivity.access$300(this.d) == null) {} + do + { + do + { + do + { + return; + } while (!this.a); + switch (this.b) + { + default: + return; + } + } while (UtilsMbInfoItemActivity.access$300(this.d).mId != 51); + paramView = new Intent(this.d, UtilsModSetMobileStep1Activity.class); + paramView.putExtra("title", this.d.getResources().getString(2131361814) + UtilsMbInfoItemActivity.access$300(this.d).mName); + paramView.putExtra("op_type", 1); + paramView.putExtra("position", UtilsMbInfoItemActivity.access$400(this.d)); + this.d.startActivity(paramView); + return; + } while (UtilsMbInfoItemActivity.access$300(this.d).mId != 51); + paramView = new Intent(this.d, UtilsModSetMobileStep1Activity.class); + paramView.putExtra("title", this.d.getResources().getString(2131361815) + UtilsMbInfoItemActivity.access$300(this.d).mName); + paramView.putExtra("op_type", 3); + paramView.putExtra("position", UtilsMbInfoItemActivity.access$400(this.d)); + this.d.startActivity(paramView); + return; + paramView = this.d; + String str = paramView.getResources().getString(2131362204) + this.c + UtilsMbInfoItemActivity.access$300(this.d).mName + "?"; + afd localafd = new afd(this, paramView); + afe localafe = new afe(this, paramView); + paramView.showUserDialog(2131361808, str, this.d.getResources().getString(2131362205) + this.c, this.d.getResources().getString(2131361804), localafd, localafe); + return; + this.d.gotoVerify(this.d); + return; + af.a().i(0L, UtilsMbInfoItemActivity.access$500(this.d)); + this.d.showProDialog(this.d, 2131361808, 2131362206, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afd.java new file mode 100755 index 00000000000..308439eb171 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afd.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; + +final class afd + implements DialogInterface.OnClickListener +{ + afd(afc paramafc, UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().c(0L, UtilsMbInfoItemActivity.access$300(this.b.d).mId, UtilsMbInfoItemActivity.access$500(this.b.d)); + this.a.showProDialog(this.a, 2131361808, 2131362206, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afe.java new file mode 100755 index 00000000000..af90ce8ac08 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afe.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class afe + implements DialogInterface.OnClickListener +{ + afe(afc paramafc, UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aff.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aff.java new file mode 100755 index 00000000000..43a36e368c3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aff.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class aff + implements View.OnClickListener +{ + aff(UtilsMbInfoItemActivity paramUtilsMbInfoItemActivity, int paramInt) {} + + public final void onClick(View paramView) + { + s.b(this.b, this.b.getString(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aff + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afg.java new file mode 100755 index 00000000000..2a64dcac667 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afg.java @@ -0,0 +1,64 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import android.widget.EditText; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class afg + extends bo +{ + afg(UtilsModSetMobileStep1Activity paramUtilsModSetMobileStep1Activity) + { + super(paramUtilsModSetMobileStep1Activity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a.isFinishing()) || (UtilsModSetMobileStep1Activity.access$000(this.a) == null) || (UtilsModSetMobileStep1Activity.access$000(this.a).getText() == null)) { + return; + } + switch (paramMessage.what) + { + default: + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + UtilsModSetMobileStep1Activity.access$102(this.a, (String)paramMessage.obj); + paramMessage = new Intent(this.a, UtilsModSetMobileStep2Activity.class); + paramMessage.putExtra("title", UtilsModSetMobileStep1Activity.access$200(this.a)); + paramMessage.putExtra("op_type", UtilsModSetMobileStep1Activity.access$300(this.a)); + paramMessage.putExtra("mobile", UtilsModSetMobileStep1Activity.access$000(this.a).getText().toString()); + paramMessage.putExtra("area_code", UtilsModSetMobileStep1Activity.access$400(this.a)); + paramMessage.putExtra("sms_prefix", UtilsModSetMobileStep1Activity.access$100(this.a)); + paramMessage.putExtra("page_id", UtilsModSetMobileStep1Activity.access$500(this.a)); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + StringBuilder localStringBuilder = new StringBuilder().append("errcode").append(paramMessage.a).append(", "); + if (paramMessage.a == 124) {} + for (boolean bool = true;; bool = false) + { + e.c(bool); + if (paramMessage.a != 124) { + break; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, new afh(this)); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afh.java new file mode 100755 index 00000000000..f8393808ed3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afh.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.widget.EditText; + +final class afh + implements DialogInterface.OnClickListener +{ + afh(afg paramafg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, UtilsModSetMobileStep2SmsActivity.class); + paramDialogInterface.putExtra("title", UtilsModSetMobileStep1Activity.access$200(this.a.a)); + paramDialogInterface.putExtra("op_type", UtilsModSetMobileStep1Activity.access$300(this.a.a)); + paramDialogInterface.putExtra("mobile", UtilsModSetMobileStep1Activity.access$000(this.a.a).getText().toString()); + paramDialogInterface.putExtra("area_code", UtilsModSetMobileStep1Activity.access$400(this.a.a)); + paramDialogInterface.putExtra("page_id", UtilsModSetMobileStep1Activity.access$500(this.a.a)); + this.a.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afi.java new file mode 100755 index 00000000000..212b8cc2504 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afi.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class afi + implements View.OnClickListener +{ + afi(UtilsModSetMobileStep1Activity paramUtilsModSetMobileStep1Activity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SelectCountryCodeActivity.class); + this.a.startActivityForResult(paramView, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afj.java new file mode 100755 index 00000000000..77f0f102ea0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afj.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +final class afj + extends BroadcastReceiver +{ + afj(UtilsModSetMobileStep2Activity paramUtilsModSetMobileStep2Activity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if (paramIntent.getAction().equals("com.tencent.token.GET_MOBILE_CODE_INTERVAL")) { + UtilsModSetMobileStep2Activity.access$000(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afk.java new file mode 100755 index 00000000000..68263367212 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afk.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.telephony.SmsMessage; +import android.widget.TextView; + +final class afk + extends BroadcastReceiver +{ + afk(UtilsModSetMobileStep2Activity paramUtilsModSetMobileStep2Activity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + try + { + if (!"android.provider.Telephony.SMS_RECEIVED".equals(paramIntent.getAction())) { + return; + } + paramContext = UtilsModSetMobileStep2Activity.access$100(this.a, paramIntent); + if ((paramContext == null) || (UtilsModSetMobileStep2Activity.access$200(this.a) == null)) { + return; + } + if (UtilsModSetMobileStep2Activity.access$200(this.a).length() == 0) { + return; + } + UtilsModSetMobileStep2Activity.access$000(this.a); + i = 0; + } + catch (Exception paramContext) + { + for (;;) + { + int i; + int k; + int j; + paramContext.printStackTrace(); + return; + i += 1; + } + } + catch (Error paramContext) + { + paramContext.printStackTrace(); + } + if (i < paramContext.length) + { + paramIntent = paramContext[i].getDisplayMessageBody(); + k = paramIntent.indexOf(UtilsModSetMobileStep2Activity.access$200(this.a)); + if (k >= 0) + { + j = UtilsModSetMobileStep2Activity.access$200(this.a).length() + k; + for (;;) + { + if ((j < paramIntent.length()) && (paramIntent.charAt(j) <= '9') && (paramIntent.charAt(j) >= '0')) + { + j += 1; + } + else + { + paramIntent = paramIntent.substring(k + UtilsModSetMobileStep2Activity.access$200(this.a).length(), j); + if (UtilsModSetMobileStep2Activity.access$300(this.a) != null) + { + UtilsModSetMobileStep2Activity.access$300(this.a).setText(paramIntent); + UtilsModSetMobileStep2Activity.access$300(this.a).postDelayed(new afl(this), 1000L); + return; + } + } + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afl.java new file mode 100755 index 00000000000..5cc1f0f5250 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afl.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class afl + implements Runnable +{ + afl(afk paramafk) {} + + public final void run() + { + UtilsModSetMobileStep2Activity.access$400(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afm.java new file mode 100755 index 00000000000..3105480acae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afm.java @@ -0,0 +1,147 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.fn; +import com.tencent.token.global.d; +import org.json.JSONException; +import org.json.JSONObject; + +final class afm + extends bo +{ + afm(UtilsModSetMobileStep2Activity paramUtilsModSetMobileStep2Activity) + { + super(paramUtilsModSetMobileStep2Activity); + } + + public final void handleMessage(Message paramMessage) + { + Object localObject4 = null; + if (this.a.isFinishing()) { + return; + } + Object localObject2; + switch (paramMessage.what) + { + default: + return; + case 3012: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + UtilsModSetMobileStep2Activity.access$1000(this.a); + UtilsModSetMobileStep2Activity.access$1100(this.a); + this.a.setContentView(2130903247); + this.a.mBackArrow.setVisibility(4); + UtilsModSetMobileStep2Activity.access$1202(this.a, true); + localObject2 = (JSONObject)paramMessage.obj; + } + break; + case 3013: + case 3014: + for (;;) + { + try + { + localObject1 = ((JSONObject)localObject2).getString("info"); + } + catch (JSONException localJSONException1) + { + paramMessage = null; + localObject1 = null; + } + try + { + paramMessage = ((JSONObject)localObject2).getString("time1"); + } + catch (JSONException localJSONException2) + { + for (;;) + { + TextView localTextView; + paramMessage = null; + } + } + try + { + localObject2 = ((JSONObject)localObject2).getString("time2"); + localObject3 = localObject1; + localObject1 = paramMessage; + paramMessage = (Message)localObject2; + if ((localObject3 != null) && (((String)localObject3).length() > 0)) + { + localObject2 = (TextView)this.a.findViewById(2131297263); + ((TextView)localObject2).setText((CharSequence)localObject3); + ((TextView)localObject2).setVisibility(0); + } + this.a.findViewById(2131297269).setOnClickListener(this.a); + localObject2 = this.a.findViewById(2131297264); + if (UtilsModSetMobileStep2Activity.access$600(this.a) != 1) { + break label437; + } + ((TextView)this.a.findViewById(2131297262)).setText(2131362218); + ((View)localObject2).setVisibility(8); + fn.a().b(); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + return; + } + catch (JSONException localJSONException3) + { + break label422; + } + if (paramMessage.arg1 != 124) { + break; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, new afn(this)); + return; + if (paramMessage.arg1 == 0) + { + af.a().a(0L, UtilsModSetMobileStep2Activity.access$600(this.a), UtilsModSetMobileStep2Activity.access$700(this.a), UtilsModSetMobileStep2Activity.access$800(this.a), this); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + label422: + localJSONException1.printStackTrace(); + Object localObject3 = localObject1; + Object localObject1 = paramMessage; + paramMessage = localObject4; + continue; + label437: + ((TextView)this.a.findViewById(2131297262)).setText(2131362219); + localJSONException1.setVisibility(0); + if ((localObject1 != null) && (paramMessage != null) && (((String)localObject1).length() > 0) && (paramMessage.length() > 0)) + { + localTextView = (TextView)this.a.findViewById(2131297266); + localObject3 = (TextView)this.a.findViewById(2131297268); + localTextView.setText((CharSequence)localObject1); + ((TextView)localObject3).setText(paramMessage); + } + } + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afn.java new file mode 100755 index 00000000000..fa7a4a084b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afn.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class afn + implements DialogInterface.OnClickListener +{ + afn(afm paramafm) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, UtilsModSetMobileStep2SmsActivity.class); + paramDialogInterface.putExtra("title", UtilsModSetMobileStep2Activity.access$500(this.a.a)); + paramDialogInterface.putExtra("op_type", UtilsModSetMobileStep2Activity.access$600(this.a.a)); + paramDialogInterface.putExtra("mobile", UtilsModSetMobileStep2Activity.access$700(this.a.a)); + paramDialogInterface.putExtra("area_code", UtilsModSetMobileStep2Activity.access$800(this.a.a)); + paramDialogInterface.putExtra("page_id", UtilsModSetMobileStep2Activity.access$900(this.a.a)); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afo.java new file mode 100755 index 00000000000..ba0a0edbd84 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afo.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class afo + implements Runnable +{ + afo(UtilsModSetMobileStep2SmsActivity paramUtilsModSetMobileStep2SmsActivity) {} + + public final void run() + { + e.c("send mod set mbmobile"); + af.a().a(0L, UtilsModSetMobileStep2SmsActivity.access$000(this.a), UtilsModSetMobileStep2SmsActivity.access$100(this.a), UtilsModSetMobileStep2SmsActivity.access$200(this.a), UtilsModSetMobileStep2SmsActivity.access$300(this.a)); + UtilsModSetMobileStep2SmsActivity.access$408(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afp.java new file mode 100755 index 00000000000..aa8cc12e569 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afp.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class afp + implements View.OnClickListener +{ + afp(UtilsModSetMobileStep2SmsActivity paramUtilsModSetMobileStep2SmsActivity) {} + + public final void onClick(View paramView) + { + e.c("removeTimeTask showProgressDialog"); + this.a.removeTimeTask(5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afq.java new file mode 100755 index 00000000000..5413c8c03ab --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afq.java @@ -0,0 +1,188 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.ea; +import com.tencent.token.fn; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import org.json.JSONException; +import org.json.JSONObject; + +final class afq + extends Handler +{ + afq(UtilsModSetMobileStep2SmsActivity paramUtilsModSetMobileStep2SmsActivity) {} + + public final void handleMessage(Message paramMessage) + { + Object localObject4 = null; + if (this.a.isFinishing()) { + return; + } + switch (paramMessage.what) + { + default: + return; + case 3: + UtilsModSetMobileStep2SmsActivity.access$402(this.a, 0); + postDelayed(this.a.mSetModMobileRunnable, 10000L); + return; + case 3019: + if (paramMessage.arg1 == 0) + { + UtilsModSetMobileStep2SmsActivity.access$502(this.a, ea.c); + if ((UtilsModSetMobileStep2SmsActivity.access$500(this.a) == null) || (UtilsModSetMobileStep2SmsActivity.access$500(this.a).length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362223), 2131361800, null); + return; + } + if ((ea.d == null) || (ea.d.length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362224), 2131361800, null); + return; + } + e.c("sms channel: " + UtilsModSetMobileStep2SmsActivity.access$500(this.a)); + if (UtilsModSetMobileStep2SmsActivity.access$600(this.a)) + { + this.a.sendUpSmsBySMSAPP(UtilsModSetMobileStep2SmsActivity.access$500(this.a), ea.d); + this.a.showProgressDialog(); + return; + } + this.a.dismissDialog(); + paramMessage = new Intent(this.a, SmsContentTipActivity.class); + paramMessage.putExtra("mobile", UtilsModSetMobileStep2SmsActivity.access$100(this.a)); + paramMessage.putExtra("sms_port", UtilsModSetMobileStep2SmsActivity.access$500(this.a)); + paramMessage.putExtra("area_code", UtilsModSetMobileStep2SmsActivity.access$200(this.a)); + paramMessage.putExtra("op_type", UtilsModSetMobileStep2SmsActivity.access$000(this.a)); + paramMessage.putExtra("page_id", UtilsModSetMobileStep2SmsActivity.access$700(this.a)); + if (UtilsModSetMobileStep2SmsActivity.access$000(this.a) == 1) { + paramMessage.putExtra("up_sms_scene_id", 4); + } + for (;;) + { + this.a.startActivity(paramMessage); + return; + if (UtilsModSetMobileStep2SmsActivity.access$000(this.a) == 3) { + paramMessage.putExtra("up_sms_scene_id", 3); + } + } + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + case 4: + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362230), 2131361800, null); + return; + case 15: + this.a.dismissDialog(); + this.a.removeTimeTask(1); + paramMessage = this.a.getString(2131361952); + UtilsModSetMobileStep2SmsActivity.access$800(this.a, paramMessage); + return; + } + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + this.a.setContentView(2130903247); + this.a.mBackArrow.setVisibility(4); + UtilsModSetMobileStep2SmsActivity.access$902(this.a, true); + Object localObject2 = (JSONObject)paramMessage.obj; + for (;;) + { + try + { + localObject1 = ((JSONObject)localObject2).getString("info"); + localJSONException1.printStackTrace(); + } + catch (JSONException localJSONException1) + { + try + { + paramMessage = ((JSONObject)localObject2).getString("time1"); + } + catch (JSONException localJSONException2) + { + for (;;) + { + Object localObject1; + Object localObject3; + TextView localTextView; + paramMessage = null; + } + } + try + { + localObject2 = ((JSONObject)localObject2).getString("time2"); + localObject3 = localObject1; + localObject1 = paramMessage; + paramMessage = (Message)localObject2; + if ((localObject3 != null) && (((String)localObject3).length() > 0)) + { + localObject2 = (TextView)this.a.findViewById(2131297263); + ((TextView)localObject2).setText((CharSequence)localObject3); + ((TextView)localObject2).setVisibility(0); + } + this.a.findViewById(2131297269).setOnClickListener(this.a); + localObject2 = this.a.findViewById(2131297264); + if (UtilsModSetMobileStep2SmsActivity.access$000(this.a) != 1) { + break label727; + } + ((TextView)this.a.findViewById(2131297262)).setText(2131362218); + ((View)localObject2).setVisibility(8); + fn.a().b(); + AccountPageActivity.mNeedRefreshEval = true; + SettingPageActivity.mNeedRefreshMbInfo = true; + return; + } + catch (JSONException localJSONException3) + { + break label712; + } + localJSONException1 = localJSONException1; + paramMessage = null; + localObject1 = null; + } + label712: + localObject3 = localObject1; + localObject1 = paramMessage; + paramMessage = localObject4; + continue; + label727: + ((TextView)this.a.findViewById(2131297262)).setText(2131362219); + localJSONException1.setVisibility(0); + if ((localObject1 != null) && (paramMessage != null) && (((String)localObject1).length() > 0) && (paramMessage.length() > 0)) + { + localTextView = (TextView)this.a.findViewById(2131297266); + localObject3 = (TextView)this.a.findViewById(2131297268); + localTextView.setText((CharSequence)localObject1); + ((TextView)localObject3).setText(paramMessage); + } + } + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + if ((paramMessage.a == 146) && (UtilsModSetMobileStep2SmsActivity.access$400(this.a) < 4)) + { + postDelayed(this.a.mSetModMobileRunnable, 10000L); + return; + } + this.a.dismissDialog(); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afr.java new file mode 100755 index 00000000000..857caf0d5cb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afr.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class afr + implements DialogInterface.OnClickListener +{ + afr(UtilsModSetMobileStep2SmsActivity paramUtilsModSetMobileStep2SmsActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afs.java new file mode 100755 index 00000000000..7e359944d54 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afs.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class afs + implements DialogInterface.OnCancelListener +{ + afs(UtilsModSetMobileStep2SmsActivity paramUtilsModSetMobileStep2SmsActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aft.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aft.java new file mode 100755 index 00000000000..752db92a2d1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aft.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class aft + implements View.OnClickListener +{ + aft(UtilsQbQdProtectActivity paramUtilsQbQdProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aft + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afu.java new file mode 100755 index 00000000000..09ecb91b7e5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class afu + implements View.OnClickListener +{ + afu(UtilsQbQdProtectActivity paramUtilsQbQdProtectActivity) {} + + public final void onClick(View paramView) + { + UtilsQbQdProtectActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afv.java new file mode 100755 index 00000000000..a4375ca6380 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afv.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class afv + extends bo +{ + afv(UtilsQbQdProtectActivity paramUtilsQbQdProtectActivity) + { + super(paramUtilsQbQdProtectActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) { + return; + } + Object localObject = ba.a().g(); + switch (paramMessage.what) + { + default: + return; + case 3001: + if (paramMessage.arg1 == 0) + { + UtilsQbQdProtectActivity.access$500(this.a); + return; + } + break; + case 3018: + ((g)localObject).e = false; + boolean bool; + if (paramMessage.arg1 == 0) { + if (!((g)localObject).c) + { + bool = true; + ((g)localObject).c = bool; + AccountPageActivity.mNeedRefreshEval = true; + } + } + for (;;) + { + UtilsQbQdProtectActivity.access$500(this.a); + return; + bool = false; + break; + localObject = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)localObject); + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + UtilsQbQdProtectActivity.access$300(this.a, ((d)localObject).a, UtilsQbQdProtectActivity.access$100(this.a), UtilsQbQdProtectActivity.access$200(this.a), true); + } + else + { + d.a(this.a.getResources(), (d)localObject); + UtilsQbQdProtectActivity.access$400(this.a, ((d)localObject).c); + } + } + } + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + UtilsQbQdProtectActivity.access$300(this.a, paramMessage.arg1, UtilsQbQdProtectActivity.access$100(this.a), UtilsQbQdProtectActivity.access$200(this.a), true); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("safepage load failed:" + paramMessage.a + "-" + paramMessage.b); + UtilsQbQdProtectActivity.access$300(this.a, paramMessage.a, paramMessage.c, null, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afw.java new file mode 100755 index 00000000000..7237361ac21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afw.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; + +final class afw + implements CompoundButton.OnCheckedChangeListener +{ + afw(UtilsQbQdProtectActivity paramUtilsQbQdProtectActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + paramCompoundButton = ba.a().g(); + if ((paramCompoundButton == null) || (!ba.a().o()) || (paramBoolean != paramCompoundButton.c)) { + return; + } + UtilsQbQdProtectActivity.access$600(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afx.java new file mode 100755 index 00000000000..09e5e9fc06c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afx.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class afx + implements View.OnClickListener +{ + afx(UtilsQbQdProtectActivity paramUtilsQbQdProtectActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361978)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afy.java new file mode 100755 index 00000000000..7296442702f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afy.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import com.tencent.token.ax; +import com.tencent.token.utils.s; + +final class afy + implements View.OnClickListener +{ + afy(UtilsTokenLabActivity paramUtilsTokenLabActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().j()) + { + paramView = new Intent(this.a, FaceRecognitionDefaultActivity.class); + this.a.startActivity(paramView); + } + for (;;) + { + UtilsTokenLabActivity.access$000(this.a).setVisibility(4); + s.h("util_lab_fr_new"); + return; + paramView = new Intent(this.a, FaceRecognitionCreateActivity.class); + this.a.startActivity(paramView); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/afz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/afz.java new file mode 100755 index 00000000000..edd7c0c941c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/afz.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class afz + implements View.OnClickListener +{ + afz(UtilsTokenLabActivity paramUtilsTokenLabActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameProtectActivity.class); + paramView.putExtra("realname_result", UtilsTokenLabActivity.access$100(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.afz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ag.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ag.java new file mode 100755 index 00000000000..e3c0bda8184 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ag.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.el; + +final class ag + implements DialogInterface.OnClickListener +{ + ag(aa paramaa, el paramel) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.b.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + paramDialogInterface.putExtra("intent.uin", this.a.c); + this.b.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ag + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aga.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aga.java new file mode 100755 index 00000000000..88a75d4e696 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aga.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.view.View; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class aga + extends bo +{ + aga(UtilsTokenLabActivity paramUtilsTokenLabActivity) + { + super(paramUtilsTokenLabActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + do + { + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + } while (paramMessage.arg1 == 0); + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + UtilsTokenLabActivity.access$400(this.a, paramMessage.arg1, UtilsTokenLabActivity.access$200(this.a), UtilsTokenLabActivity.access$300(this.a), true); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("mailprotect load failed:" + paramMessage.a + "-" + paramMessage.b); + UtilsTokenLabActivity.access$400(this.a, paramMessage.a, paramMessage.c, null, false); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 != 0) { + break; + } + UtilsTokenLabActivity.access$102(this.a, (RealNameStatusResult)paramMessage.obj); + } while (UtilsTokenLabActivity.access$100(this.a).mRealStatus != 1); + UtilsTokenLabActivity.access$500(this.a).setVisibility(0); + return; + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aga + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agb.java new file mode 100755 index 00000000000..71328f25ad5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agb.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class agb + implements View.OnClickListener +{ + agb(UtilsTokenLabActivity paramUtilsTokenLabActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agc.java new file mode 100755 index 00000000000..9ff9b435971 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agc.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +final class agc + implements View.OnClickListener +{ + agc(UtilsTokenLabActivity paramUtilsTokenLabActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + x.a(RqdApplication.i()).a(this.a, "" + paramView.mRealUin, UtilsTokenLabActivity.access$600(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agd.java new file mode 100755 index 00000000000..4a862d5e9c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agd.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.text.TextUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; + +final class agd + implements View.OnClickListener +{ + agd(VerifyMobilePhoneActivity paramVerifyMobilePhoneActivity) {} + + public final void onClick(View paramView) + { + paramView = VerifyMobilePhoneActivity.access$000(this.a).getText().toString(); + if (!TextUtils.isEmpty(paramView)) + { + af.a().c(VerifyMobilePhoneActivity.access$100(this.a).mRealUin, 6, paramView, "", this.a.mHandler); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showUserDialog(2131361808, this.a.getString(2131361947), 2131361800, new age(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/age.java b/com.tencent.token/classes.jar/com/tencent/token/ui/age.java new file mode 100755 index 00000000000..d6d3e2d2d85 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/age.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class age + implements DialogInterface.OnClickListener +{ + age(agd paramagd) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.age + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agf.java new file mode 100755 index 00000000000..e562fd9fe4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agf.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class agf + implements View.OnClickListener +{ + agf(VerifyMobilePhoneActivity paramVerifyMobilePhoneActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131361862), this.a.getString(2131361867)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agg.java new file mode 100755 index 00000000000..cf42a036f8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agg.java @@ -0,0 +1,62 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class agg + extends bo +{ + agg(VerifyMobilePhoneActivity paramVerifyMobilePhoneActivity) + { + super(paramVerifyMobilePhoneActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + if (this.a.isFinishing()) { + return; + } + switch (paramMessage.what) + { + default: + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + VerifyMobilePhoneActivity.access$200(this.a, bool); + return; + bool = false; + } + } + if (paramMessage.arg1 == 160) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361866, 2131361868, new agh(this), new agi(this)); + return; + } + if (paramMessage.arg1 == 161) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361802, 2131361866, new agj(this), new agk(this)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agh.java new file mode 100755 index 00000000000..271d1f54f79 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agh.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.utils.s; + +final class agh + implements DialogInterface.OnClickListener +{ + agh(agg paramagg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.a.a, this.a.a.getString(2131361862), this.a.a.getString(2131361867)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agi.java new file mode 100755 index 00000000000..c3675197ca4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agi.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.widget.EditText; + +final class agi + implements DialogInterface.OnClickListener +{ + agi(agg paramagg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + VerifyMobilePhoneActivity.access$000(this.a.a).setText(""); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agj.java new file mode 100755 index 00000000000..541f401f849 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class agj + implements DialogInterface.OnClickListener +{ + agj(agg paramagg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agk.java new file mode 100755 index 00000000000..e4ed8fa3220 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agk.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.utils.s; + +final class agk + implements DialogInterface.OnClickListener +{ + agk(agg paramagg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.a.a, this.a.a.getString(2131361862), this.a.a.getString(2131361867)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agl.java new file mode 100755 index 00000000000..3d7ee741ada --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agl.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class agl + implements View.OnClickListener +{ + agl(VerifyMobilePhoneActivity paramVerifyMobilePhoneActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agm.java new file mode 100755 index 00000000000..e88cbb0ef3c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agm.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class agm + implements View.OnClickListener +{ + agm(VerifyStartScanActivity paramVerifyStartScanActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361987)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agn.java new file mode 100755 index 00000000000..90070a89abd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agn.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.dw; + +final class agn + implements dw +{ + agn(VerifyStartScanActivity paramVerifyStartScanActivity) {} + + public final void a() + { + VerifyStartScanActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ago.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ago.java new file mode 100755 index 00000000000..0298582eba0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ago.java @@ -0,0 +1,70 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.telephony.SmsMessage; +import com.tencent.token.db; +import com.tencent.token.global.e; + +final class ago + extends BroadcastReceiver +{ + ago(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + int i = 0; + try + { + if (!"android.provider.Telephony.SMS_RECEIVED".equals(paramIntent.getAction())) { + return; + } + paramContext = VryMobileForStrategyActivity.access$000(this.a, paramIntent); + if (paramContext == null) { + return; + } + e.a("current time: " + System.currentTimeMillis()); + e.a("msgs count: " + paramContext.length + ", msgs[0] time: " + paramContext[0].getTimestampMillis()); + VryMobileForStrategyActivity.access$100(this.a); + paramIntent = db.e; + e.c("SMS_PREFRIX:" + paramIntent); + } + catch (Exception paramContext) + { + for (;;) + { + String str; + int j; + paramContext.printStackTrace(); + return; + i += 1; + } + } + catch (Error paramContext) + { + paramContext.printStackTrace(); + } + if (i < paramContext.length) + { + str = paramContext[i].getDisplayMessageBody(); + e.a("msg[" + i + "]: " + str); + j = str.indexOf(paramIntent); + if (j >= 0) + { + i = paramIntent.length() + j; + while ((i < str.length()) && (str.charAt(i) <= '9') && (str.charAt(i) >= '0')) { + i += 1; + } + VryMobileForStrategyActivity.access$200(this.a, str.substring(paramIntent.length() + j, i)); + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ago + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agp.java new file mode 100755 index 00000000000..8cca8dbeaad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agp.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class agp + implements DialogInterface.OnClickListener +{ + agp(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, BindUinActivity.class); + paramDialogInterface.putExtra("intent.qquser", VryMobileForStrategyActivity.access$1600(this.a)); + paramDialogInterface.putExtra("intent.upgradedetermin", VryMobileForStrategyActivity.access$1100(this.a)); + paramDialogInterface.putExtra("page_id", 13); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agq.java new file mode 100755 index 00000000000..a0e9647d5ef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agq.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class agq + implements View.OnClickListener +{ + agq(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agr.java new file mode 100755 index 00000000000..b54aece14a4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agr.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class agr + implements View.OnClickListener +{ + agr(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getResources().getString(2131361883), this.a.getResources().getString(2131362004)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ags.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ags.java new file mode 100755 index 00000000000..1c46d2f7c7e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ags.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ags + implements View.OnClickListener +{ + ags(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(View paramView) + { + VryMobileForStrategyActivity.access$300(this.a); + VryMobileForStrategyActivity.access$100(this.a); + VryMobileForStrategyActivity.access$400(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ags + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agt.java new file mode 100755 index 00000000000..80cccbcd510 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agt.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class agt + implements View.OnClickListener +{ + agt(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(View paramView) + { + e.a("interval: " + VryMobileForStrategyActivity.access$500(this.a) + " count: " + VryMobileForStrategyActivity.access$600(this.a)); + VryMobileForStrategyActivity.access$400(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agu.java new file mode 100755 index 00000000000..0d1d78aa55a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agu.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; + +final class agu + implements View.OnClickListener +{ + agu(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(View paramView) + { + if (VryMobileForStrategyActivity.access$700(this.a)) { + return; + } + VryMobileForStrategyActivity.access$800(this.a); + paramView = ((EditText)this.a.findViewById(2131296886)).getText().toString(); + if ((paramView != null) && (paramView.length() > 0)) + { + VryMobileForStrategyActivity.access$900(this.a); + VryMobileForStrategyActivity.access$1000(this.a, paramView); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showToast(2131361948); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agv.java new file mode 100755 index 00000000000..1f161a187ec --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agv.java @@ -0,0 +1,73 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.db; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class agv + extends Handler +{ + agv(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + return; + } + switch (paramMessage.what) + { + default: + e.c("unknown msg: " + paramMessage.what); + return; + case -100: + VryMobileForStrategyActivity.access$100(this.a); + return; + case 100: + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + case 3065: + if (paramMessage.arg1 != 0) + { + VryMobileForStrategyActivity.access$502(this.a, 0); + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("get mobile code failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.mHandler.removeMessages(-100); + if (124 == paramMessage.a) + { + VryMobileForStrategyActivity.access$1100(this.a).mSmsPrefix = db.e; + VryMobileForStrategyActivity.access$1200(this.a, paramMessage.c); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } + VryMobileForStrategyActivity.access$1100(this.a).mSmsPrefix = db.e; + VryMobileForStrategyActivity.access$1302(this.a, true); + this.a.setContentView(2130903148); + this.a.setTitle(2131362004); + VryMobileForStrategyActivity.access$1400(this.a); + return; + } + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + this.a.finish(); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + VryMobileForStrategyActivity.access$1500(this.a, paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agw.java new file mode 100755 index 00000000000..24b0626ba7b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agw.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class agw + implements Runnable +{ + agw(VryMobileForStrategyActivity paramVryMobileForStrategyActivity, String paramString) {} + + public final void run() + { + Message localMessage = new Message(); + localMessage.what = 100; + this.b.mHandler.sendMessage(localMessage); + VryMobileForStrategyActivity.access$1000(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agx.java new file mode 100755 index 00000000000..82c6cb5210c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agx.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class agx + implements DialogInterface.OnClickListener +{ + agx(VryMobileForStrategyActivity paramVryMobileForStrategyActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.setContentView(2130903148); + this.a.setTitle(2131362004); + VryMobileForStrategyActivity.access$1400(this.a); + VryMobileForStrategyActivity.access$100(this.a); + VryMobileForStrategyActivity.access$1302(this.a, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agy.java new file mode 100755 index 00000000000..8dd723fca84 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agy.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.ag; +import com.tencent.token.core.bean.QueryCaptchaResult; + +final class agy + extends Handler +{ + agy(WelcomeActivity paramWelcomeActivity) {} + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) {} + do + { + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + } while (paramMessage.arg1 != 0); + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + return; + } while ((paramMessage.arg1 != 0) || (((QueryCaptchaResult)paramMessage.obj).mNeedCaptcha)); + WelcomeActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/agz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/agz.java new file mode 100755 index 00000000000..5a6352979b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/agz.java @@ -0,0 +1,88 @@ +package com.tencent.token.ui; + +import android.view.GestureDetector.OnGestureListener; +import android.view.MotionEvent; +import android.widget.Button; +import com.tencent.token.ui.base.cf; +import com.tencent.token.utils.t; + +final class agz + implements GestureDetector.OnGestureListener +{ + agz(WelcomeActivity paramWelcomeActivity) {} + + public final boolean onDown(MotionEvent paramMotionEvent) + { + return false; + } + + public final boolean onFling(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + try + { + if (paramMotionEvent1.getX() - paramMotionEvent2.getX() > 0.0F) + { + if (WelcomeActivity.access$100(this.a) >= WelcomeActivity.access$200() - 1) { + break label231; + } + paramMotionEvent1 = t.a(this.a, WelcomeActivity.access$300()[WelcomeActivity.access$104(this.a)], WelcomeActivity.access$400(this.a)); + if (paramMotionEvent1 == null) + { + WelcomeActivity.access$500(this.a); + return true; + } + WelcomeActivity.access$600(this.a).b(paramMotionEvent1); + if ((WelcomeActivity.access$100(this.a) != WelcomeActivity.access$200() - 1) || (WelcomeActivity.access$700(this.a) == null)) { + break label231; + } + WelcomeActivity.access$700(this.a).setVisibility(0); + return true; + } + } + catch (OutOfMemoryError paramMotionEvent1) + { + paramMotionEvent1.printStackTrace(); + WelcomeActivity.access$500(this.a); + return true; + if ((paramMotionEvent2.getX() - paramMotionEvent1.getX() <= 0.0F) || (WelcomeActivity.access$100(this.a) <= 0)) { + break label231; + } + paramMotionEvent1 = t.a(this.a, WelcomeActivity.access$300()[WelcomeActivity.access$106(this.a)], WelcomeActivity.access$400(this.a)); + if (paramMotionEvent1 == null) + { + WelcomeActivity.access$500(this.a); + return true; + } + } + catch (Exception paramMotionEvent1) + { + paramMotionEvent1.printStackTrace(); + WelcomeActivity.access$500(this.a); + return true; + } + WelcomeActivity.access$600(this.a).c(paramMotionEvent1); + WelcomeActivity.access$700(this.a).setVisibility(8); + label231: + return true; + } + + public final void onLongPress(MotionEvent paramMotionEvent) {} + + public final boolean onScroll(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + return false; + } + + public final void onShowPress(MotionEvent paramMotionEvent) {} + + public final boolean onSingleTapUp(MotionEvent paramMotionEvent) + { + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.agz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ah.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ah.java new file mode 100755 index 00000000000..e410223b27a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ah.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; + +final class ah + implements View.OnClickListener +{ + ah(AccountPageActivity paramAccountPageActivity, EvalAccountResult.RecommendItem paramRecommendItem) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.b, MyPswSubPageActivity.class); + paramView.putExtra("detailItems", this.a.mDetails); + this.b.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ah + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aha.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aha.java new file mode 100755 index 00000000000..8cfb5f74e5a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aha.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class aha + extends UserTask +{ + aha(WelcomeActivity paramWelcomeActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aha + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahb.java new file mode 100755 index 00000000000..ee0ef71c80e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahb.java @@ -0,0 +1,273 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.kingkong.Common; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.x; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; + +final class ahb + extends bo +{ + ahb(WtLoginAccountInput paramWtLoginAccountInput) + { + super(paramWtLoginAccountInput); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + if (this.a.isFinishing()) {} + do + { + return; + i = paramMessage.arg1; + e.c("wtlogin : ret=" + paramMessage.arg1 + ", what=" + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + case 1019: + paramMessage = (byte[])paramMessage.obj; + if (WtLoginAccountInput.access$300(this.a) == 523005425L) { + WtLoginAccountInput.access$502(this.a, paramMessage); + } + break; + } + } while (paramMessage == null); + paramMessage = new QQUser(); + Object localObject = WtLoginAccountInput.access$400(this.a).c(WtLoginAccountInput.access$100(this.a).getText().toString()); + WtLoginAccountInput.access$602(this.a, ((WloginSimpleInfo)localObject)._uin); + paramMessage.mRealUin = WtLoginAccountInput.access$600(this.a); + paramMessage.mIsBinded = false; + if (localObject != null) { + paramMessage.mNickName = new String(((WloginSimpleInfo)localObject)._nick); + } + WtLoginAccountInput.access$700(this.a).a(paramMessage); + if (WtLoginAccountInput.access$300(this.a) != 523005419L) {} + for (int i = 2;; i = 1) + { + if (WtLoginAccountInput.access$800(this.a)) + { + WtLoginAccountInput.access$900(this.a); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (paramMessage.mNeedCaptcha) + { + localObject = this.a; + Handler localHandler = WtLoginAccountInput.access$000(this.a); + if ((localObject == null) || (((BaseActivity)localObject).isFinishing())) { + break; + } + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + } + af.a().d(WtLoginAccountInput.access$000(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + af.a().d(WtLoginAccountInput.access$000(this.a)); + this.a.dismissDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + WtLoginAccountInput.access$400(this.a).b(WtLoginAccountInput.access$100(this.a).getText().toString(), WtLoginAccountInput.access$200(this.a), WtLoginAccountInput.access$000(this.a), WtLoginAccountInput.access$300(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new ahc(this)); + return; + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, WtLoginAccountInput.access$000(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new ahd(this)); + return; + } + WtLoginAccountInput.access$1000(this.a).a(WtLoginAccountInput.access$600(this.a), WtLoginAccountInput.access$500(this.a), WtLoginAccountInput.access$000(this.a), i); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + if (i == 2) + { + this.a.dismissDialog(); + if (this.a.isFinishing()) { + break; + } + new WtloginCaptchaDialog(this.a, WtLoginAccountInput.access$000(this.a), Long.toString(WtLoginAccountInput.access$600(this.a))).show(); + return; + } + if (i == 0) + { + paramMessage = (byte[])paramMessage.obj; + if (WtLoginAccountInput.access$300(this.a) == 523005425L) { + WtLoginAccountInput.access$502(this.a, paramMessage); + } + if (paramMessage == null) { + break; + } + paramMessage = new QQUser(); + localObject = WtLoginAccountInput.access$400(this.a).c(WtLoginAccountInput.access$100(this.a).getText().toString()); + WtLoginAccountInput.access$602(this.a, ((WloginSimpleInfo)localObject)._uin); + Common.OnLogin(this.a, WtLoginAccountInput.access$600(this.a) + ""); + paramMessage.mRealUin = WtLoginAccountInput.access$600(this.a); + paramMessage.mIsBinded = false; + if (localObject != null) { + paramMessage.mNickName = new String(((WloginSimpleInfo)localObject)._nick); + } + WtLoginAccountInput.access$700(this.a).a(paramMessage); + if (WtLoginAccountInput.access$300(this.a) == 523005419L) { + break label1998; + } + } + label1998: + for (i = 2;; i = 1) + { + if (WtLoginAccountInput.access$800(this.a)) + { + WtLoginAccountInput.access$900(this.a); + return; + } + WtLoginAccountInput.access$1000(this.a).a(WtLoginAccountInput.access$600(this.a), WtLoginAccountInput.access$500(this.a), WtLoginAccountInput.access$000(this.a), i); + return; + if (((i == 40) || (i == 42) || (i == 64)) && (WtLoginAccountInput.access$800(this.a))) + { + WtLoginAccountInput.access$900(this.a); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if (i == 1) + { + this.a.dismissDialog(); + this.a.showToast(2131362066); + return; + } + if (((i == 40) || (i == 42) || (i == 64)) && (WtLoginAccountInput.access$1100(this.a) != 5) && (WtLoginAccountInput.access$1100(this.a) != 6)) + { + this.a.dismissDialog(); + WtLoginAccountInput.access$302(this.a, 523005425L); + WtLoginAccountInput.access$1300(this.a).onClick(WtLoginAccountInput.access$1200(this.a)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + if (i == 0) + { + if (WtLoginAccountInput.access$300(this.a) == 523005425L) + { + WtLoginAccountInput.access$302(this.a, 523005419L); + WtLoginAccountInput.access$400(this.a).b(WtLoginAccountInput.access$600(this.a) + "", WtLoginAccountInput.access$200(this.a), WtLoginAccountInput.access$000(this.a), WtLoginAccountInput.access$300(this.a)); + } + for (;;) + { + WtLoginAccountInput.access$802(this.a, true); + return; + WtLoginAccountInput.access$302(this.a, 523005425L); + WtLoginAccountInput.access$400(this.a).b(WtLoginAccountInput.access$600(this.a) + "", WtLoginAccountInput.access$200(this.a), WtLoginAccountInput.access$000(this.a), WtLoginAccountInput.access$300(this.a)); + } + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + this.a.showToast(paramMessage.c); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + paramMessage = (UpgradeDeterminResult)paramMessage.obj; + WtLoginAccountInput.access$1400(this.a, paramMessage); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + WtLoginAccountInput.access$1500(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahc.java new file mode 100755 index 00000000000..3d8ac2092ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahc.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class ahc + implements DialogInterface.OnClickListener +{ + ahc(ahb paramahb) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(WtLoginAccountInput.access$000(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahd.java new file mode 100755 index 00000000000..c8a2182bd8d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahd.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class ahd + implements DialogInterface.OnClickListener +{ + ahd(ahb paramahb) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(WtLoginAccountInput.access$000(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahe.java new file mode 100755 index 00000000000..a9bfb2f9861 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahe.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ahe + implements View.OnClickListener +{ + ahe(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahf.java new file mode 100755 index 00000000000..e5f397b6b26 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahf.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class ahf + implements View.OnClickListener +{ + ahf(WtLoginAccountInput paramWtLoginAccountInput, QQUser paramQQUser, UpgradeDeterminResult paramUpgradeDeterminResult) {} + + public final void onClick(View paramView) + { + af.a().c(this.a.mRealUin, this.b.a(), "", "", WtLoginAccountInput.access$000(this.c)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahg.java new file mode 100755 index 00000000000..7a9a2059f21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahg.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class ahg + implements View.OnClickListener +{ + ahg(WtLoginAccountInput paramWtLoginAccountInput, UpgradeDeterminResult paramUpgradeDeterminResult, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (this.a.mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label83; + } + paramView = new Intent(this.c, NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", WtLoginAccountInput.access$1100(this.c)); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + } + label198: + label203: + label206: + for (;;) + { + return; + i = 0; + break; + label83: + if (this.a.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (this.a.mQuesAppear != 1) { + break label198; + } + i = 1; + label113: + if (i == 0) { + if (this.a.mHaveMobile != 1) { + break label203; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label206; + } + paramView = new Intent(this.c, NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", WtLoginAccountInput.access$1100(this.c)); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label113; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahh.java new file mode 100755 index 00000000000..a916fb60217 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahh.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ahh + implements View.OnClickListener +{ + ahh(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahi.java new file mode 100755 index 00000000000..4da0fa88129 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahi.java @@ -0,0 +1,63 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.utils.t; +import com.tencent.token.x; + +final class ahi + implements View.OnClickListener +{ + ahi(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void onClick(View paramView) + { + paramView = WtLoginAccountInput.access$100(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) + { + this.a.showToast(2131362366); + return; + } + try + { + WtLoginAccountInput.access$602(this.a, Long.parseLong(paramView)); + WtLoginAccountInput.access$202(this.a, WtLoginAccountInput.access$1600(this.a).getText().toString()); + if ((WtLoginAccountInput.access$200(this.a) == null) || (WtLoginAccountInput.access$200(this.a).length() == 0)) + { + this.a.showToast(2131362367); + return; + } + } + catch (Exception paramView) + { + this.a.showUserDialog(this.a.getResources().getString(2131362636)); + return; + } + t.a(this.a); + if (ag.c().g()) { + af.a().a(WtLoginAccountInput.access$000(this.a)); + } + for (;;) + { + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + if ((WtLoginAccountInput.access$700(this.a).d() >= 3) && (WtLoginAccountInput.access$700(this.a).d(WtLoginAccountInput.access$600(this.a)) == null)) + { + this.a.showUserDialog(2131362104, this.a.getResources().getString(2131362550), 2131361800, null); + return; + } + WtLoginAccountInput.access$400(this.a).b(paramView, WtLoginAccountInput.access$200(this.a), WtLoginAccountInput.access$000(this.a), WtLoginAccountInput.access$300(this.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahj.java new file mode 100755 index 00000000000..6a40338471a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahj.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.text.Editable; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.p; + +final class ahj + implements View.OnClickListener +{ + ahj(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 87); + paramView = new Intent(this.a, FindPasswdActivity.class); + if ((WtLoginAccountInput.access$100(this.a) != null) && (WtLoginAccountInput.access$100(this.a).getText() != null) && (WtLoginAccountInput.access$100(this.a).getText().length() != 0)) {} + try + { + WtLoginAccountInput.access$602(this.a, Long.parseLong(WtLoginAccountInput.access$100(this.a).getText().toString())); + paramView.putExtra("real_uin", Long.parseLong(WtLoginAccountInput.access$100(this.a).getText().toString())); + paramView.putExtra("canchange_uin", true); + this.a.startActivity(paramView); + return; + } + catch (Exception paramView) + { + this.a.showUserDialog(this.a.getResources().getString(2131362636)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahk.java new file mode 100755 index 00000000000..2b5e53ffedb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahk.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.TextView; + +final class ahk + implements CompoundButton.OnCheckedChangeListener +{ + ahk(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (!paramCompoundButton.isChecked()) + { + WtLoginAccountInput.access$1600(this.a).setInputType(145); + WtLoginAccountInput.access$1700(this.a).setVisibility(4); + WtLoginAccountInput.access$1800(this.a).setVisibility(0); + } + for (;;) + { + WtLoginAccountInput.access$1600(this.a).requestFocus(); + WtLoginAccountInput.access$1600(this.a).setSelection(WtLoginAccountInput.access$1600(this.a).getText().length()); + return; + WtLoginAccountInput.access$1600(this.a).setInputType(129); + WtLoginAccountInput.access$1700(this.a).setVisibility(0); + WtLoginAccountInput.access$1800(this.a).setVisibility(4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahl.java new file mode 100755 index 00000000000..bac77b62c5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahl.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.widget.InputMethodRelativeLayout; +import com.tencent.token.widget.a; + +final class ahl + implements a +{ + ahl(WtLoginAccountInput paramWtLoginAccountInput) {} + + public final void a(boolean paramBoolean, int paramInt) + { + if (paramBoolean) + { + int[] arrayOfInt = new int[2]; + WtLoginAccountInput.access$1200(this.a).getLocationInWindow(arrayOfInt); + int i = arrayOfInt[1]; + this.a.mRootLayout.getLocationInWindow(arrayOfInt); + paramInt = i - arrayOfInt[1] + WtLoginAccountInput.access$1200(this.a).getHeight() - paramInt; + if (paramInt > 0) { + this.a.mScrollAreaLayout.setPadding(this.a.mScrollAreaLayout.getPaddingLeft(), this.a.mScrollAreaLayout.getPaddingTop() - paramInt, this.a.mScrollAreaLayout.getPaddingRight(), this.a.mScrollAreaLayout.getPaddingBottom()); + } + return; + } + WtLoginAccountInput.access$1900(this.a).setVisibility(0); + this.a.mScrollAreaLayout.setPadding(0, 0, 0, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahm.java new file mode 100755 index 00000000000..9ac3b0b3c0c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahm.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; + +final class ahm + implements View.OnClickListener +{ + ahm(WtloginFinishNoMibaoActivity paramWtloginFinishNoMibaoActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + ax.a().f(WtloginFinishNoMibaoActivity.access$000(this.a)); + ax.a().u(); + AccountPageActivity.mNeedRefreshEval = true; + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahn.java new file mode 100755 index 00000000000..84c5e823f0d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahn.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class ahn + implements View.OnClickListener +{ + ahn(WtloginFinishNoMibaoActivity paramWtloginFinishNoMibaoActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131362126), this.a.getString(2131362125)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aho.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aho.java new file mode 100755 index 00000000000..f6875b960c3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aho.java @@ -0,0 +1,113 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.x; + +final class aho + extends bo +{ + aho(WtloginSigExpireActivity paramWtloginSigExpireActivity) + { + super(paramWtloginSigExpireActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + int i; + do + { + do + { + do + { + return; + i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 1019: + this.a.dismissDialog(); + if (WtloginSigExpireActivity.access$000(this.a) == 523005419L) + { + WtloginSigExpireActivity.access$002(this.a, 523005425L); + WtloginSigExpireActivity.access$102(this.a, true); + x.a(this.a).b(WtloginSigExpireActivity.access$200(this.a) + "", WtloginSigExpireActivity.access$300(this.a), WtloginSigExpireActivity.access$400(this.a), WtloginSigExpireActivity.access$000(this.a)); + return; + } + break; + } + } while (WtloginSigExpireActivity.access$000(this.a) != 523005425L); + WtloginSigExpireActivity.access$500(this.a); + return; + if (i != 2) { + break; + } + this.a.dismissDialog(); + } while (this.a.isFinishing()); + new WtloginCaptchaDialog(this.a, WtloginSigExpireActivity.access$400(this.a), Long.toString(WtloginSigExpireActivity.access$200(this.a))).show(); + return; + if (i != 0) { + break; + } + this.a.dismissDialog(); + if (WtloginSigExpireActivity.access$000(this.a) == 523005419L) + { + WtloginSigExpireActivity.access$002(this.a, 523005425L); + WtloginSigExpireActivity.access$102(this.a, true); + x.a(this.a).b(WtloginSigExpireActivity.access$200(this.a) + "", WtloginSigExpireActivity.access$300(this.a), WtloginSigExpireActivity.access$400(this.a), WtloginSigExpireActivity.access$000(this.a)); + return; + } + } while (WtloginSigExpireActivity.access$000(this.a) != 523005425L); + WtloginSigExpireActivity.access$500(this.a); + return; + if (((i == 40) || (i == 42) || (i == 64)) && (WtloginSigExpireActivity.access$100(this.a))) + { + WtloginSigExpireActivity.access$500(this.a); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (paramMessage.arg1 == 15) || (paramMessage.arg1 == 16)) + { + this.a.dismissDialog(); + this.a.showToast(2131362066); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aho + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahp.java new file mode 100755 index 00000000000..1b9f5583744 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahp.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ahp + implements View.OnClickListener +{ + ahp(WtloginSigExpireActivity paramWtloginSigExpireActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FindPasswdActivity.class); + paramView.putExtra("real_uin", WtloginSigExpireActivity.access$200(this.a)); + paramView.putExtra("canchange_uin", true); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahq.java new file mode 100755 index 00000000000..2cf484f67e1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahq.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.TextView; + +final class ahq + implements CompoundButton.OnCheckedChangeListener +{ + ahq(WtloginSigExpireActivity paramWtloginSigExpireActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (!paramCompoundButton.isChecked()) + { + WtloginSigExpireActivity.access$600(this.a).setInputType(145); + WtloginSigExpireActivity.access$700(this.a).setVisibility(4); + WtloginSigExpireActivity.access$800(this.a).setVisibility(0); + } + for (;;) + { + WtloginSigExpireActivity.access$600(this.a).requestFocus(); + WtloginSigExpireActivity.access$600(this.a).setSelection(WtloginSigExpireActivity.access$600(this.a).getText().length()); + return; + WtloginSigExpireActivity.access$600(this.a).setInputType(129); + WtloginSigExpireActivity.access$700(this.a).setVisibility(0); + WtloginSigExpireActivity.access$800(this.a).setVisibility(4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahr.java new file mode 100755 index 00000000000..dda793a04e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahr.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.ax; +import com.tencent.token.utils.t; +import com.tencent.token.x; + +final class ahr + implements View.OnClickListener +{ + ahr(WtloginSigExpireActivity paramWtloginSigExpireActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) { + return; + } + WtloginSigExpireActivity.access$302(this.a, WtloginSigExpireActivity.access$600(this.a).getText().toString()); + if ((WtloginSigExpireActivity.access$300(this.a) == null) || (WtloginSigExpireActivity.access$300(this.a).length() == 0)) + { + this.a.showToast(2131362367); + return; + } + t.a(this.a); + x.a(this.a).a("" + WtloginSigExpireActivity.access$200(this.a), WtloginSigExpireActivity.access$300(this.a), WtloginSigExpireActivity.access$400(this.a), WtloginSigExpireActivity.access$000(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ahs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ahs.java new file mode 100755 index 00000000000..3e3c640f260 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ahs.java @@ -0,0 +1,102 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.core.bean.JLRoleInfo; +import com.tencent.token.core.bean.JLZone; +import com.tencent.token.core.bean.JLZone.JLZoneServer; +import java.util.ArrayList; + +final class ahs + extends BaseAdapter +{ + public ArrayList a; + public ArrayList b; + public int c; + private LayoutInflater d; + private int e; + + public ahs(Context paramContext, int paramInt1, int paramInt2) + { + this.d = LayoutInflater.from(paramContext); + this.e = paramInt1; + this.c = paramInt2; + } + + public final void a(int paramInt1, int paramInt2) + { + this.e = paramInt1; + this.c = paramInt2; + } + + public final int getCount() + { + if (this.e == 0) + { + if (this.a == null) { + return 0; + } + return this.a.size(); + } + if (this.e == 1) + { + if (((JLZone)this.a.get(this.c)).serverList == null) { + return 0; + } + return ((JLZone)this.a.get(this.c)).serverList.size(); + } + if (this.b == null) { + return 0; + } + return this.b.size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (paramView == null) + { + paramView = this.d.inflate(2130903118, null); + paramViewGroup = new aht(this); + paramViewGroup.a = ((TextView)paramView.findViewById(2131296742)); + paramViewGroup.b = ((ImageView)paramView.findViewById(2131296743)); + paramView.setTag(paramViewGroup); + } + while (this.e == 0) + { + paramViewGroup.a.setText(((JLZone)this.a.get(paramInt)).name); + paramViewGroup.b.setVisibility(0); + return paramView; + paramViewGroup = (aht)paramView.getTag(); + } + if (this.e == 1) + { + paramViewGroup.a.setText(((JLZone.JLZoneServer)((JLZone)this.a.get(this.c)).serverList.get(paramInt)).serverName); + paramViewGroup.b.setVisibility(0); + return paramView; + } + paramViewGroup.a.setText(((JLRoleInfo)this.b.get(paramInt)).name); + paramViewGroup.b.setVisibility(8); + return paramView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ahs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aht.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aht.java new file mode 100755 index 00000000000..a68e6a9bc8d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aht.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import android.widget.TextView; + +final class aht +{ + public TextView a; + public ImageView b; + + private aht(ahs paramahs, byte paramByte) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aht + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ai.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ai.java new file mode 100755 index 00000000000..a271939c610 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ai.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; + +final class ai + implements View.OnClickListener +{ + ai(AccountPageActivity paramAccountPageActivity, EvalAccountResult.RecommendItem paramRecommendItem) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.b, MyProtecSubPageActivity.class); + paramView.putExtra("detailItems", this.a.mDetails); + this.b.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ai + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aj.java new file mode 100755 index 00000000000..4e24dde693c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aj.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; + +final class aj + implements View.OnClickListener +{ + aj(AccountPageActivity paramAccountPageActivity, EvalAccountResult.RecommendItem paramRecommendItem) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.b, MyMbSubPageActivity.class); + paramView.putExtra("detailItems", this.a.mDetails); + this.b.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ak.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ak.java new file mode 100755 index 00000000000..90499b18d8f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ak.java @@ -0,0 +1,239 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.os.Handler; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.animation.LinearInterpolator; +import android.widget.ImageView; +import com.tencent.token.utils.s; +import java.util.Random; + +final class ak + extends View +{ + public static int a = 40; + public static int b = 70; + public static int c = 86; + public static int d = 100; + private static float e = 15.0F; + private float A = 0.0F; + private float B = 0.0F; + private ImageView C; + private ImageView D; + private boolean E = false; + private int F = 0; + private int G = 0; + private Runnable H = new al(this); + private Animation I; + private Animation J; + private LinearInterpolator K = new LinearInterpolator(); + private RectF L = new RectF(); + private Rect M = new Rect(); + private Random N = new Random(); + private Handler O = new am(this); + private final float f = 15.0F; + private final int g = 0; + private Paint h; + private Paint i; + private Paint j; + private float k; + private float l; + private float m; + private Context n; + private float o; + private float p; + private float q; + private float r; + private float s; + private float t; + private float u; + private float v; + private float w; + private float x; + private float y; + private int z = 0; + + public ak(Context paramContext, ImageView paramImageView1, ImageView paramImageView2) + { + super(paramContext); + this.n = paramContext; + this.C = paramImageView1; + this.D = paramImageView2; + this.h = new Paint(); + this.h.setColor(this.n.getResources().getColor(2131165196)); + this.h.setAntiAlias(true); + this.h.setStrokeWidth(3.0F); + this.h.setStyle(Paint.Style.STROKE); + this.i = new Paint(); + this.i.setColor(this.n.getResources().getColor(2131165196)); + this.i.setAntiAlias(true); + this.i.setStrokeWidth(3.0F); + this.i.setStyle(Paint.Style.STROKE); + this.j = new Paint(); + this.j.setColor(this.n.getResources().getColor(2131165196)); + this.j.setAntiAlias(true); + this.j.setStrokeWidth(1.0F); + this.j.setStyle(Paint.Style.FILL); + this.m = (BitmapFactory.decodeResource(getResources(), 2130837565).getWidth() / 2); + this.I = AnimationUtils.loadAnimation(this.n, 2130968577); + this.J = AnimationUtils.loadAnimation(this.n, 2130968576); + } + + public final void a() + { + postInvalidate(); + } + + public final void b() + { + this.C.clearAnimation(); + this.D.clearAnimation(); + this.C.setVisibility(4); + this.D.setVisibility(4); + this.z = 0; + this.E = false; + this.F = 0; + this.G = 0; + this.r = 0.0F; + this.o = this.k; + this.q = this.k; + this.p = (this.l / 2.0F); + this.s = (this.l / 2.0F); + this.w = 0.0F; + this.v = 180.0F; + this.x = 0.0F; + this.y = 0.0F; + removeCallbacks(this.H); + } + + public final void c() + { + postDelayed(this.H, 50L); + } + + protected final void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + if (s.a()) { + this.F += 3; + } + for (;;) + { + if (this.F > c) { + this.F = c; + } + int i1 = this.F; + if (this.z < i1) + { + this.z = (this.N.nextInt(5) + 1 + this.z); + if (this.z > i1) { + this.z = i1; + } + } + String str = this.z + "%"; + this.j.setTextAlign(Paint.Align.CENTER); + this.j.setTextSize(45.0F); + this.j.getTextBounds(str, 0, str.length(), this.M); + i1 = this.M.bottom; + int i2 = this.M.top; + float f1 = this.t; + float f2 = this.u; + paramCanvas.drawText(str, f1, (i1 - i2) / 2 + f2, this.j); + if (this.q <= this.k / 2.0F + this.m) { + break; + } + this.q -= e; + this.r += e; + if (this.q < this.k / 2.0F + this.m) { + this.q = (this.k / 2.0F + this.m); + } + if (this.r > this.k / 2.0F - this.m) { + this.r = (this.k / 2.0F - this.m); + } + paramCanvas.drawLine(this.k, this.l / 2.0F, this.q, this.l / 2.0F, this.i); + paramCanvas.drawLine(0.0F, this.l / 2.0F, this.r, this.l / 2.0F, this.h); + return; + this.G += 1; + if (this.G % 4 == 0) { + this.F += 1; + } + } + paramCanvas.drawLine(this.k, this.l / 2.0F, this.q, this.l / 2.0F, this.i); + paramCanvas.drawLine(0.0F, this.l / 2.0F, this.r, this.l / 2.0F, this.h); + if (this.y > -90.0F) + { + this.y -= 15.0F; + this.x -= 15.0F; + if (this.y < -90.0F) + { + this.y = -90.0F; + this.x = -90.0F; + } + } + for (;;) + { + paramCanvas.drawArc(this.L, this.w, this.y, false, this.i); + paramCanvas.drawArc(this.L, this.v, this.x, false, this.h); + return; + this.C.setVisibility(0); + this.D.setVisibility(0); + this.y -= 15.0F; + this.x -= 15.0F; + if (this.y < -180.0F) + { + this.y = -180.0F; + this.x = -180.0F; + } + if (!this.E) + { + this.D.setVisibility(0); + this.C.setVisibility(0); + this.I.setInterpolator(this.K); + this.C.startAnimation(this.I); + this.J.setInterpolator(this.K); + this.D.startAnimation(this.J); + this.E = true; + } + } + } + + protected final void onMeasure(int paramInt1, int paramInt2) + { + super.onMeasure(paramInt1, paramInt2); + this.l = getMeasuredHeight(); + this.k = getMeasuredWidth(); + this.t = (this.k / 2.0F); + this.u = (this.l / 2.0F); + this.r = 0.0F; + this.o = this.k; + this.q = this.k; + this.p = (this.l / 2.0F); + this.s = (this.l / 2.0F); + this.w = 0.0F; + this.v = 180.0F; + this.x = 0.0F; + this.y = 0.0F; + this.L.left = (this.t - this.m); + this.L.top = (this.u - this.m); + this.L.right = (this.t + this.m); + this.L.bottom = (this.u + this.m); + e = (this.t - this.m) / 6.0F; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ak + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/al.java b/com.tencent.token/classes.jar/com/tencent/token/ui/al.java new file mode 100755 index 00000000000..e6576fbbb6b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/al.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.os.Handler; + +final class al + implements Runnable +{ + al(ak paramak) {} + + public final void run() + { + this.a.a(); + ak.b(this.a).postDelayed(ak.a(this.a), 50L); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.al + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/am.java b/com.tencent.token/classes.jar/com/tencent/token/ui/am.java new file mode 100755 index 00000000000..3791868b099 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/am.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class am + extends Handler +{ + am(ak paramak) {} + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + return; + } + postDelayed(ak.a(this.a), 50L); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.am + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/an.java b/com.tencent.token/classes.jar/com/tencent/token/ui/an.java new file mode 100755 index 00000000000..0bcbecee5d1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/an.java @@ -0,0 +1,56 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class an + implements View.OnClickListener +{ + an(AppGuidActivity paramAppGuidActivity) {} + + public final void onClick(View paramView) + { + if (paramView.getId() == 2131296434) + { + if (ax.a().e() == null) + { + this.a.setResult(263); + this.a.finish(); + com.tencent.token.global.RqdApplication.f = true; + return; + } + if (!ax.a().e().mIsBinded) + { + this.a.setResult(263); + this.a.finish(); + com.tencent.token.global.RqdApplication.f = true; + return; + } + if (ax.a().j()) + { + paramView = new Intent(this.a, FaceRecognitionDefaultActivity.class); + paramView.putExtra("fromsplash", true); + this.a.startActivity(paramView); + } + for (;;) + { + this.a.finish(); + return; + paramView = new Intent(this.a, FaceRecognitionCreateActivity.class); + paramView.putExtra("fromsplash", true); + this.a.startActivity(paramView); + } + } + this.a.setResult(263); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.an + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ao.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ao.java new file mode 100755 index 00000000000..a9980320606 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ao.java @@ -0,0 +1,61 @@ +package com.tencent.token.ui; + +import android.os.Message; +import org.json.JSONException; +import org.json.JSONObject; + +final class ao + extends bo +{ + ao(AssistantRecommendFriendQrcode paramAssistantRecommendFriendQrcode) + { + super(paramAssistantRecommendFriendQrcode); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + for (;;) + { + return; + this.a.dismissDialog(); + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) { + try + { + Object localObject = new JSONObject((String)paramMessage.obj); + paramMessage = ((JSONObject)localObject).getString("wexin_share_more"); + localObject = ((JSONObject)localObject).getString("wexin_share_glock"); + if ((paramMessage != null) && (localObject != null) && (paramMessage.length() > 0) && (((String)localObject).length() > 0)) { + if (AssistantRecommendFriendQrcode.access$000(this.a) == 9) + { + AssistantRecommendFriendQrcode.access$102(this.a, (String)localObject); + return; + } + } + } + catch (JSONException paramMessage) + { + paramMessage.printStackTrace(); + return; + AssistantRecommendFriendQrcode.access$102(this.a, paramMessage); + return; + } + catch (Exception paramMessage) + { + paramMessage.printStackTrace(); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ao + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ap.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ap.java new file mode 100755 index 00000000000..4e9db3fa11c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ap.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXWebpageObject; +import com.tencent.token.p; + +final class ap + implements View.OnClickListener +{ + ap(AssistantRecommendFriendQrcode paramAssistantRecommendFriendQrcode) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 61); + if (AssistantRecommendFriendQrcode.access$200(this.a).isWXAppInstalled()) + { + if (AssistantRecommendFriendQrcode.access$200(this.a).getWXAppSupportAPI() >= 553779201) + { + paramView = new WXWebpageObject(); + paramView.webpageUrl = "http://m.aq.qq.com/lp?i=18"; + paramView = new WXMediaMessage(paramView); + paramView.title = this.a.getResources().getString(2131362384); + paramView.description = AssistantRecommendFriendQrcode.access$100(this.a); + SendMessageToWX.Req localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = paramView; + localReq.scene = 0; + AssistantRecommendFriendQrcode.access$200(this.a).sendReq(localReq); + return; + } + this.a.showToast(this.a.getString(2131362385)); + return; + } + AssistantRecommendFriendQrcode.access$300(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aq.java new file mode 100755 index 00000000000..e7a9d643dc0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aq.java @@ -0,0 +1,49 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXWebpageObject; +import com.tencent.token.p; +import com.tencent.token.utils.t; + +final class aq + implements View.OnClickListener +{ + aq(AssistantRecommendFriendQrcode paramAssistantRecommendFriendQrcode) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 62); + if (AssistantRecommendFriendQrcode.access$200(this.a).isWXAppInstalled()) + { + if (AssistantRecommendFriendQrcode.access$200(this.a).getWXAppSupportAPI() >= 553779201) + { + paramView = new WXWebpageObject(); + paramView.webpageUrl = "http://m.aq.qq.com/lp?i=18"; + paramView = new WXMediaMessage(paramView); + paramView.title = this.a.getResources().getString(2131362384); + paramView.description = AssistantRecommendFriendQrcode.access$400(this.a); + paramView.setThumbImage(t.a(this.a.getResources(), 2130838008)); + SendMessageToWX.Req localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = paramView; + localReq.scene = 1; + AssistantRecommendFriendQrcode.access$200(this.a).sendReq(localReq); + return; + } + this.a.showToast(this.a.getString(2131362385)); + return; + } + AssistantRecommendFriendQrcode.access$300(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ar.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ar.java new file mode 100755 index 00000000000..6da38456b69 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ar.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.net.Uri; +import com.tencent.token.global.e; + +final class ar + implements DialogInterface.OnClickListener +{ + ar(AssistantRecommendFriendQrcode paramAssistantRecommendFriendQrcode) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + try + { + paramDialogInterface = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.tencent.mm")); + this.a.startActivity(paramDialogInterface); + return; + } + catch (Exception paramDialogInterface) + { + paramDialogInterface.printStackTrace(); + e.b(paramDialogInterface.toString()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/as.java b/com.tencent.token/classes.jar/com/tencent/token/ui/as.java new file mode 100755 index 00000000000..fae5b59f9a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/as.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler.Callback; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class as + implements Handler.Callback +{ + as(BaseActivity paramBaseActivity) {} + + public final boolean handleMessage(Message paramMessage) + { + e.a("Callback=" + paramMessage.arg1); + if (paramMessage.arg1 == 270) + { + this.a.dismissDialog(); + paramMessage = (UpgradeDeterminResult)((d)paramMessage.obj).d; + e.a("mSmsPrefix=" + paramMessage.mSmsPrefix); + e.a("mMobileMask=" + paramMessage.mMobileMask); + QQUser localQQUser = ax.a().e(); + e.a("currentUser=" + localQQUser); + Intent localIntent = new Intent(this.a, VryMobileForStrategyActivity.class); + localIntent.setFlags(536870912); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 13); + localIntent.putExtra("intent.upgradedetermin", paramMessage); + this.a.startActivity(localIntent); + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.as + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/at.java b/com.tencent.token/classes.jar/com/tencent/token/ui/at.java new file mode 100755 index 00000000000..10947f29cac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/at.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class at + implements DialogInterface.OnClickListener +{ + at(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.at + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/au.java b/com.tencent.token/classes.jar/com/tencent/token/ui/au.java new file mode 100755 index 00000000000..9f383c7cf11 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/au.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.widget.Button; + +final class au + implements DialogInterface.OnCancelListener +{ + au(BaseActivity paramBaseActivity, Button paramButton) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.performClick(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.au + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/av.java b/com.tencent.token/classes.jar/com/tencent/token/ui/av.java new file mode 100755 index 00000000000..2b1107ef4ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/av.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class av + implements View.OnClickListener +{ + av(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.av + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/aw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/aw.java new file mode 100755 index 00000000000..6e14f61dc1c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/aw.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.widget.TextView; + +final class aw + implements DialogInterface.OnCancelListener +{ + aw(BaseActivity paramBaseActivity, TextView paramTextView) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.performClick(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.aw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ax.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ax.java new file mode 100755 index 00000000000..49460f81a9f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ax.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnClickListener; +import android.view.View; +import android.view.View.OnClickListener; + +final class ax + implements View.OnClickListener +{ + ax(BaseActivity paramBaseActivity, DialogInterface.OnClickListener paramOnClickListener) {} + + public final void onClick(View paramView) + { + this.b.dismissDialog(); + this.a.onClick(BaseActivity.access$400(this.b), -1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ax + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ay.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ay.java new file mode 100755 index 00000000000..abd1dd5e85b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ay.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ay + implements View.OnClickListener +{ + ay(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ay + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/az.java b/com.tencent.token/classes.jar/com/tencent/token/ui/az.java new file mode 100755 index 00000000000..5ae5694a425 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/az.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnClickListener; +import android.view.View; +import android.view.View.OnClickListener; + +final class az + implements View.OnClickListener +{ + az(BaseActivity paramBaseActivity, DialogInterface.OnClickListener paramOnClickListener) {} + + public final void onClick(View paramView) + { + this.b.dismissDialog(); + this.a.onClick(BaseActivity.access$400(this.b), -2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.az + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/b.java b/com.tencent.token/classes.jar/com/tencent/token/ui/b.java new file mode 100755 index 00000000000..ab6d5cc6d46 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/b.java @@ -0,0 +1,238 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.core.bean.AbnormalLoginMsgResult; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.utils.s; +import java.util.List; + +final class b + extends BaseAdapter +{ + private AbnormalLoginActivity a = null; + private AbnormalLoginMsgResult b; + private LayoutInflater c = null; + + public b(AbnormalLoginActivity paramAbnormalLoginActivity) + { + this.b = ((AbnormalLoginMsgResult)paramAbnormalLoginActivity.getIntent().getExtras().get("msgs")); + this.a = paramAbnormalLoginActivity; + this.c = LayoutInflater.from(paramAbnormalLoginActivity); + } + + public final boolean areAllItemsEnabled() + { + return true; + } + + public final int getCount() + { + if ((this.b == null) || (this.b.mCnt == 0)) { + return 0; + } + return this.b.mCnt + 2; + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.c.inflate(2130903041, paramViewGroup, false); + } + if ((this.b.mCnt > 0) && (paramInt >= this.b.mCnt)) + { + localView.setVisibility(4); + return localView; + } + Object localObject = (SafeMsgItem)this.b.mMsgList.get(paramInt); + int i; + RelativeLayout localRelativeLayout1; + RelativeLayout localRelativeLayout2; + RelativeLayout localRelativeLayout3; + TextView localTextView1; + TextView localTextView2; + ImageView localImageView1; + ImageView localImageView2; + ImageView localImageView3; + ImageView localImageView4; + ImageView localImageView5; + ImageView localImageView6; + if (localObject != null) + { + if ((((SafeMsgItem)localObject).mFlag & 0x4) != 4) { + break label523; + } + i = 1; + localRelativeLayout1 = (RelativeLayout)localView.findViewById(2131296265); + localRelativeLayout2 = (RelativeLayout)localView.findViewById(2131296271); + localRelativeLayout3 = (RelativeLayout)localView.findViewById(2131296275); + localTextView1 = (TextView)localView.findViewById(2131296280); + localTextView2 = (TextView)localView.findViewById(2131296281); + TextView localTextView3 = (TextView)localView.findViewById(2131296282); + paramView = (TextView)localView.findViewById(2131296268); + paramViewGroup = (TextView)localView.findViewById(2131296269); + localImageView1 = (ImageView)localView.findViewById(2131296266); + localImageView2 = (ImageView)localView.findViewById(2131296267); + localImageView3 = (ImageView)localView.findViewById(2131296273); + localImageView4 = (ImageView)localView.findViewById(2131296277); + localImageView5 = (ImageView)localView.findViewById(2131296274); + localImageView6 = (ImageView)localView.findViewById(2131296278); + if (paramInt != 0) { + break label529; + } + localRelativeLayout1.setVisibility(0); + ((ViewGroup.MarginLayoutParams)localRelativeLayout1.getLayoutParams()).topMargin = ((int)(10.0F * IndexActivity.S_DENSITY)); + label281: + if (i == 0) + { + if ((((SafeMsgItem)localObject).mFlag & 0x1) != 1) { + break label609; + } + i = 1; + label300: + if (i == 0) { + break label705; + } + } + if ((((SafeMsgItem)localObject).mFlag & 0x100) != 256) { + break label615; + } + i = 1; + label323: + if (i == 0) + { + if ((((SafeMsgItem)localObject).mFlag & 0x1) != 1) { + break label621; + } + i = 1; + label342: + if (i == 0) { + break label636; + } + } + localTextView1.setTextAppearance(this.a, 2131427424); + localTextView2.setTextAppearance(this.a, 2131427425); + localRelativeLayout2.setVisibility(4); + localRelativeLayout3.setVisibility(0); + localImageView4.setBackgroundResource(2130837723); + if (paramInt != getCount() - 3) { + break label627; + } + localImageView6.setVisibility(4); + label404: + localTextView1.setText(((SafeMsgItem)localObject).mTitle); + paramInt = ((SafeMsgItem)localObject).mContent.indexOf('|'); + if (paramInt == -1) { + break label774; + } + localTextView2.setText(((SafeMsgItem)localObject).mContent.substring(0, paramInt)); + label445: + localTextView3.setText(s.d(((SafeMsgItem)localObject).mTime * 1000L)); + localObject = s.c(((SafeMsgItem)localObject).mTime * 1000L); + if (((String)localObject).length() <= 2) { + break label787; + } + paramView.setVisibility(8); + paramViewGroup.setVisibility(0); + paramViewGroup.setText((CharSequence)localObject); + localImageView1.setVisibility(4); + localImageView2.setVisibility(0); + } + for (;;) + { + localView.setVisibility(0); + return localView; + label523: + i = 0; + break; + label529: + SafeMsgItem localSafeMsgItem = (SafeMsgItem)this.b.mMsgList.get(paramInt - 1); + if ((localSafeMsgItem != null) && (!s.a(localSafeMsgItem.mTime * 1000L, ((SafeMsgItem)localObject).mTime * 1000L))) + { + localRelativeLayout1.setVisibility(0); + ((ViewGroup.MarginLayoutParams)localRelativeLayout1.getLayoutParams()).topMargin = 0; + break label281; + } + localRelativeLayout1.setVisibility(8); + break label281; + label609: + i = 0; + break label300; + label615: + i = 0; + break label323; + label621: + i = 0; + break label342; + label627: + localImageView6.setVisibility(0); + break label404; + label636: + localImageView4.setBackgroundResource(2130837724); + if (paramInt == getCount() - 3) { + localImageView6.setVisibility(4); + } + for (;;) + { + localTextView1.setTextAppearance(this.a, 2131427426); + localTextView2.setTextAppearance(this.a, 2131427427); + localRelativeLayout2.setVisibility(4); + localRelativeLayout3.setVisibility(0); + break; + localImageView6.setVisibility(0); + } + label705: + localTextView1.setTextAppearance(this.a, 2131427424); + localTextView2.setTextAppearance(this.a, 2131427425); + localRelativeLayout2.setVisibility(0); + localRelativeLayout3.setVisibility(4); + localImageView3.setBackgroundResource(2130837722); + if (paramInt == getCount() - 3) + { + localImageView5.setVisibility(4); + break label404; + } + localImageView5.setVisibility(0); + break label404; + label774: + localTextView2.setText(((SafeMsgItem)localObject).mContent); + break label445; + label787: + paramViewGroup.setVisibility(8); + paramView.setVisibility(0); + paramView.setText((CharSequence)localObject); + localImageView1.setVisibility(0); + localImageView2.setVisibility(4); + } + } + + public final boolean isEnabled(int paramInt) + { + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ba.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ba.java new file mode 100755 index 00000000000..6d09a246da5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ba.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ba + implements View.OnClickListener +{ + ba(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ba + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/AccountManagerMenuDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/AccountManagerMenuDialog.java new file mode 100755 index 00000000000..c1d156576dd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/AccountManagerMenuDialog.java @@ -0,0 +1,102 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.View.OnClickListener; +import android.view.Window; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; + +public class AccountManagerMenuDialog + extends Dialog +{ + private Activity a; + private Button b; + private Button c; + private Button d; + private Button e; + private QQUser f; + private TextView g; + private TextView h; + private View.OnClickListener i; + private View.OnClickListener j; + private View.OnClickListener k; + private View.OnClickListener l; + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903134); + this.b = ((Button)findViewById(2131296812)); + this.c = ((Button)findViewById(2131296813)); + this.d = ((Button)findViewById(2131296780)); + this.e = ((Button)findViewById(2131296781)); + this.b.setOnClickListener(this.i); + this.c.setOnClickListener(this.k); + this.d.setOnClickListener(this.l); + this.e.setOnClickListener(this.j); + this.g = ((TextView)findViewById(2131296810)); + this.h = ((TextView)findViewById(2131296811)); + setCanceledOnTouchOutside(true); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + paramBundle.getAttributes().width = -1; + paramBundle.setGravity(80); + } + + public void show() + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + dismiss(); + } + while (this.f == null) { + return; + } + super.show(); + int m; + if (this.f.mIsBinded) + { + this.b.setVisibility(8); + m = 3; + this.c.setBackgroundResource(2130837549); + this.c.setTextAppearance(this.a, 2131427381); + this.h.setVisibility(8); + if (!this.f.mIsCurrentUser) { + break label200; + } + this.c.setVisibility(8); + m -= 1; + label115: + if (m != 4) { + break label211; + } + this.d.setBackgroundResource(2130837636); + this.d.setTextAppearance(this.a, 2131427335); + } + for (;;) + { + this.g.setText(this.f.mNickName); + return; + this.h.setVisibility(0); + this.b.setVisibility(0); + this.c.setBackgroundResource(2130837636); + this.c.setTextAppearance(this.a, 2131427335); + m = 4; + break; + label200: + this.c.setVisibility(0); + break label115; + label211: + this.d.setBackgroundResource(2130837857); + this.d.setTextAppearance(this.a, 2131427381); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.AccountManagerMenuDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/CameraPrepareDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CameraPrepareDialog.java new file mode 100755 index 00000000000..fcc50a56521 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CameraPrepareDialog.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.Display; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.Window; +import android.view.WindowManager; + +public class CameraPrepareDialog + extends Dialog +{ + private Activity a; + + public CameraPrepareDialog(Activity paramActivity) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903062); + setCanceledOnTouchOutside(false); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + ViewGroup.MarginLayoutParams localMarginLayoutParams = (ViewGroup.MarginLayoutParams)findViewById(2131296460).getLayoutParams(); + localMarginLayoutParams.width = paramBundle.getWindowManager().getDefaultDisplay().getWidth(); + localMarginLayoutParams.height = paramBundle.getWindowManager().getDefaultDisplay().getHeight(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.CameraPrepareDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/CaptchaDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CaptchaDialog.java new file mode 100755 index 00000000000..deb830611ba --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CaptchaDialog.java @@ -0,0 +1,146 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.Display; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.global.e; +import com.tencent.token.gv; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.utils.t; +import java.util.Random; + +public class CaptchaDialog + extends Dialog +{ + ProDialog a = null; + public Handler b = new a(this); + private BaseActivity c; + private EditText d; + private TextView e; + private Button f; + private Handler g; + private ImageView h; + private View i; + private boolean j = false; + private QueryCaptchaResult k; + private final int l = -100; + private final int m = -101; + private Bitmap n; + + public CaptchaDialog(BaseActivity paramBaseActivity, Handler paramHandler, QueryCaptchaResult paramQueryCaptchaResult) + { + super(paramBaseActivity, 2131427400); + this.c = paramBaseActivity; + this.g = paramHandler; + this.k = paramQueryCaptchaResult; + } + + public final void a() + { + this.i.setVisibility(0); + this.h.setVisibility(4); + new Thread(new d(this)).start(); + } + + public final void b() + { + if ((this.k.mCaptchaUrl == null) || (this.k.mCaptchaUrl.length() == 0)) + { + this.b.sendEmptyMessage(-101); + return; + } + if (System.currentTimeMillis() / 1000L - this.k.mLastGetUrlTime >= this.k.mUrlValidTimeSecs) {} + for (int i1 = 0; i1 == 0; i1 = 1) + { + af.a().f(this.k.mRealUin, this.k.mSceneId, this.b); + this.b.sendEmptyMessage(-101); + return; + } + long l2 = new Random(System.currentTimeMillis()).nextLong(); + long l1 = l2; + if (l2 < 0L) { + l1 = Math.abs(l2); + } + String str = this.k.mCaptchaUrl + ".jpg?r=" + l1; + byte[] arrayOfByte = new gv().a(str); + if (arrayOfByte == null) + { + this.b.sendEmptyMessage(-101); + return; + } + this.n = t.a(arrayOfByte); + e.a("getCaptchaImage url: " + str + ", bmp" + this.n); + this.b.sendEmptyMessage(-100); + } + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + for (;;) + { + try + { + if ((com.tencent.token.global.b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + return super.dispatchKeyEvent(paramKeyEvent); + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + e.d("dispatchKeyEvent exception " + this + paramKeyEvent.toString()); + return true; + } + if (this.g != null) + { + paramKeyEvent = new Message(); + paramKeyEvent.what = 1017; + this.g.sendMessage(paramKeyEvent); + dismiss(); + return true; + } + } + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.c == null) || ((this.c != null) && (this.c.isFinishing()))) { + return; + } + super.onCreate(paramBundle); + setContentView(2130903063); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + ((ViewGroup.MarginLayoutParams)findViewById(2131296461).getLayoutParams()).width = paramBundle.getWindowManager().getDefaultDisplay().getWidth(); + this.i = findViewById(2131296464); + this.d = ((EditText)findViewById(2131296466)); + this.d.clearFocus(); + this.h = ((ImageView)findViewById(2131296463)); + this.f = ((Button)findViewById(2131296467)); + this.f.setOnClickListener(new b(this)); + this.e = ((TextView)findViewById(2131296465)); + this.e.setOnClickListener(new c(this)); + a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.CaptchaDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/CommonActionSheetDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CommonActionSheetDialog.java new file mode 100755 index 00000000000..28caf32abe5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/CommonActionSheetDialog.java @@ -0,0 +1,72 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.view.Window; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; + +public class CommonActionSheetDialog + extends Dialog +{ + private Context a; + private i b; + private LinearLayout c; + private String[] d; + + public CommonActionSheetDialog(Activity paramActivity, i parami, String[] paramArrayOfString) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + this.d = paramArrayOfString; + this.b = parami; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903071); + this.c = ((LinearLayout)findViewById(2131296498)); + setCanceledOnTouchOutside(true); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + paramBundle.getAttributes().width = -1; + paramBundle.setGravity(80); + if ((this.d == null) || (this.d.length < 2)) { + return; + } + paramBundle = (Button)findViewById(2131296499); + paramBundle.setText(this.d[0]); + paramBundle.setOnClickListener(new f(this)); + paramBundle = (Button)findViewById(2131296500); + paramBundle.setText(this.d[1]); + paramBundle.setOnClickListener(new g(this)); + int i = 2; + while (i < this.d.length) + { + LinearLayout.LayoutParams localLayoutParams = (LinearLayout.LayoutParams)paramBundle.getLayoutParams(); + Button localButton = new Button(this.a); + localButton.setLayoutParams(localLayoutParams); + localButton.setTextAppearance(this.a, 2131427335); + localButton.setText(this.d[i]); + localButton.setOnClickListener(new h(this, i)); + this.c.addView(localButton); + i += 1; + } + this.c.invalidate(); + } + + public void show() + { + super.show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.CommonActionSheetDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgShowDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgShowDialog.java new file mode 100755 index 00000000000..8960454e66b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgShowDialog.java @@ -0,0 +1,128 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; +import com.tencent.token.at; +import com.tencent.token.av; +import com.tencent.token.core.bean.b; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; + +public class DualMsgShowDialog + extends Dialog +{ + private Activity a; + private DualMsgView b; + private boolean c = false; + private int d; + private int e = 0; + private boolean f = false; + private b g = null; + private long h; + private int i = 0; + private Toast j; + private TextView k; + + public DualMsgShowDialog(Activity paramActivity) + { + super(paramActivity, 2131427401); + this.a = paramActivity; + this.d = 1; + } + + public DualMsgShowDialog(Activity paramActivity, boolean paramBoolean, long paramLong) + { + super(paramActivity, 2131427401); + this.a = paramActivity; + this.d = 0; + this.f = paramBoolean; + this.h = paramLong; + } + + private void c() + { + if (this.d == 0) {} + for (this.g = av.a().a(this.e);; this.g = at.a().a(this.e)) + { + if ((this.g == null) || (this.g.f() == null) || (this.g.g() == null) || (this.g.h() == null) || (this.g.i() == null)) + { + e.c("item content err"); + this.g = null; + } + return; + } + } + + public final void a() + { + c(); + if (this.g == null) { + return; + } + this.b.a(this.g); + } + + public final void b() + { + this.b.a(); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.b = new DualMsgView(this.a); + this.b.a(new j(this)); + if (!this.b.a(this.a)) + { + dismiss(); + e.a("Dual initView failed!"); + return; + } + c(); + if (this.g == null) + { + dismiss(); + return; + } + this.b.a(this.g); + setContentView(this.b); + new m(this).equals(""); + paramBundle = this.a.getLayoutInflater().inflate(2130903218, null); + this.j = new Toast(this.a); + this.j.setView(paramBundle); + this.j.setDuration(0); + this.j.setGravity(55, 0, IndexActivity.S_TITLE_HEIGHT); + this.k = ((TextView)paramBundle.findViewById(2131296784)); + ((ImageView)paramBundle.findViewById(2131296783)).setBackgroundResource(2130837966); + } + + public void onWindowFocusChanged(boolean paramBoolean) + { + if (paramBoolean) + { + if (this.g == null) + { + dismiss(); + this.c = true; + } + if (!this.c) + { + this.c = true; + this.b.b(); + } + } + super.onWindowFocusChanged(paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.DualMsgShowDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgView.java new file mode 100755 index 00000000000..14cc81dc337 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/DualMsgView.java @@ -0,0 +1,224 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.os.Handler; +import android.text.Html; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.ai; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.b; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.k; +import com.tencent.token.utils.t; + +public class DualMsgView + extends RelativeLayout +{ + private View a; + private View b; + private TextView c; + private TextView d; + private TextView e; + private TextView f; + private TextView g; + private Button h; + private Button i; + private ImageView j; + private ImageView k; + private ImageView l; + private Activity m; + private LayoutInflater n; + private View o; + private View p; + private View q; + private View r; + private View s; + private Bitmap t; + private Bitmap u; + private int v; + private int w; + private z x; + private Handler y = new p(this); + + public DualMsgView(Activity paramActivity) + { + super(paramActivity); + this.m = paramActivity; + } + + public DualMsgView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.m = ((Activity)paramContext); + } + + public DualMsgView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet); + this.m = ((Activity)paramContext); + } + + private static String a(String paramString1, String paramString2) + { + if ((paramString1 == null) || (paramString1.length() <= 0)) { + return ""; + } + String str = null; + int i1 = 0; + if (i1 < paramString1.length() - 1) + { + if (str == null) {} + for (str = paramString1.substring(i1, i1 + 1);; str = str + paramString1.substring(i1, i1 + 1)) + { + str = str + paramString2; + i1 += 1; + break; + } + } + return str + paramString1.substring(paramString1.length() - 1, paramString1.length()); + } + + public final void a() + { + if (this.t != null) { + this.t.recycle(); + } + if (this.u != null) { + this.u.recycle(); + } + } + + public final void a(int paramInt) + { + if (paramInt == 3) + { + this.y.post(new w(this, this)); + return; + } + this.y.post(new u(this, this.p, this.q, this.r, this.s)); + ai.a(RqdApplication.i()).a(); + } + + public final void a(b paramb) + { + this.c.setText(Html.fromHtml(paramb.f())); + this.d.setText(Html.fromHtml(paramb.g())); + this.h.setText(a(paramb.h(), " ")); + this.i.setText(a(paramb.i(), " ")); + paramb = ax.a().c(paramb.c()); + if (paramb != null) + { + this.j.setImageDrawable(k.a(paramb.mRealUin + "", paramb.mUin + "")); + if (paramb.mIsZzb) + { + this.k.setImageDrawable(getResources().getDrawable(2130838022)); + this.l.setVisibility(0); + } + this.g.setText(paramb.mNickName); + return; + } + this.g.setText(""); + } + + public final void a(z paramz) + { + this.x = paramz; + } + + public final boolean a(Context paramContext) + { + if ((this.m == null) || ((this.m != null) && (this.m.isFinishing()))) { + return false; + } + this.n = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + this.o = this.n.inflate(2130903075, null); + this.o.setVisibility(4); + this.p = this.o.findViewById(2131296536); + this.q = this.o.findViewById(2131296522); + this.r = this.o.findViewById(2131296517); + this.s = this.o.findViewById(2131296519); + this.t = t.a(this.m.getResources(), 2130837596); + this.u = t.a(this.m.getResources(), 2130837595); + if (this.t != null) { + ((LinearLayout)this.o.findViewById(2131296523)).setBackgroundDrawable(new BitmapDrawable(this.t)); + } + if (this.u != null) + { + ((LinearLayout)this.o.findViewById(2131296524)).setBackgroundDrawable(new BitmapDrawable(this.u)); + ((LinearLayout)this.o.findViewById(2131296525)).setBackgroundDrawable(new BitmapDrawable(this.u)); + } + this.a = this.o.findViewById(2131296528); + this.c = ((TextView)this.o.findViewById(2131296529)); + this.d = ((TextView)this.o.findViewById(2131296530)); + this.b = this.o.findViewById(2131296531); + this.e = ((TextView)this.o.findViewById(2131296532)); + this.f = ((TextView)this.o.findViewById(2131296533)); + this.j = ((ImageView)this.o.findViewById(2131296538)); + this.k = ((ImageView)this.o.findViewById(2131296539)); + this.l = ((ImageView)this.o.findViewById(2131296540)); + this.h = ((Button)this.o.findViewById(2131296534)); + this.i = ((Button)this.o.findViewById(2131296535)); + this.g = ((TextView)this.o.findViewById(2131296527)); + this.h.setOnClickListener(new n(this)); + this.i.setOnClickListener(new o(this)); + addView(this.o, new RelativeLayout.LayoutParams(-1, -1)); + return true; + } + + public final void b() + { + this.y.post(new s(this, this.p, this.q, this.r, this.s)); + } + + public final void b(b paramb) + { + this.e.setText(Html.fromHtml(paramb.f())); + this.f.setText(Html.fromHtml(paramb.g())); + this.h.setText(" " + Html.fromHtml(paramb.h())); + this.i.setText(" " + Html.fromHtml(paramb.i())); + paramb = ax.a().c(paramb.c()); + if (paramb != null) + { + this.j.setImageDrawable(k.a(paramb.mRealUin + "", paramb.mUin + "")); + if (paramb.mIsZzb) + { + this.k.setImageDrawable(getResources().getDrawable(2130838022)); + this.l.setVisibility(0); + } + this.g.setText(paramb.mNickName); + } + for (;;) + { + this.y.post(new q(this, this.a, this.b)); + return; + this.g.setText(""); + this.l.setVisibility(4); + } + } + + public void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + this.v = this.p.getMeasuredHeight(); + this.w = this.q.getMeasuredHeight(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.DualMsgView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ErrorView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ErrorView.java new file mode 100755 index 00000000000..af27ab5b510 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ErrorView.java @@ -0,0 +1,75 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; + +public class ErrorView + extends LinearLayout +{ + private Context a; + private LayoutInflater b; + private View c; + private View.OnClickListener d; + private int e = 0; + private boolean f = false; + private View.OnClickListener g = new aa(this); + + public ErrorView(Context paramContext) + { + super(paramContext); + this.a = paramContext; + } + + public ErrorView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.a = paramContext; + } + + private void a() + { + if (this.f) {} + for (int i = 2130903079;; i = 2130903078) + { + this.b = ((LayoutInflater)this.a.getSystemService("layout_inflater")); + this.c = this.b.inflate(i, null); + removeAllViews(); + addView(this.c, new LinearLayout.LayoutParams(-1, -1)); + this.c.setOnClickListener(this.g); + return; + } + } + + public final void a(int paramInt) + { + if (paramInt == this.e) { + return; + } + this.e = paramInt; + switch (paramInt) + { + default: + this.f = false; + a(); + return; + } + this.f = true; + a(); + } + + public final void a(View.OnClickListener paramOnClickListener) + { + this.d = paramOnClickListener; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ErrorView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendButton.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendButton.java new file mode 100755 index 00000000000..3c850b76c6d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendButton.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +public class ExtendButton + extends Button +{ + private boolean a = true; + + public ExtendButton(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + } + + public ExtendButton(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + } + + protected void dispatchSetSelected(boolean paramBoolean) + { + if ((paramBoolean) && (this.a)) + { + Object localObject = getParent(); + if ((localObject != null) && ((localObject instanceof ViewGroup))) + { + localObject = (ViewGroup)localObject; + int j = ((ViewGroup)localObject).getChildCount(); + int i = 0; + while (i < j) + { + View localView = ((ViewGroup)localObject).getChildAt(i); + if ((localView != null) && (localView != this)) { + localView.setSelected(false); + } + i += 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ExtendButton + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendRelativeLayout.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendRelativeLayout.java new file mode 100755 index 00000000000..66649798acb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ExtendRelativeLayout.java @@ -0,0 +1,61 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; + +public class ExtendRelativeLayout + extends RelativeLayout +{ + private boolean a = true; + + public ExtendRelativeLayout(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + } + + public ExtendRelativeLayout(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + View localView; + if (this.a) + { + paramInt3 = getChildCount(); + paramInt1 = 0; + if (paramInt1 < paramInt3) + { + localView = getChildAt(paramInt1); + if (localView.getVisibility() != 8) + { + int[] arrayOfInt = ((RelativeLayout.LayoutParams)localView.getLayoutParams()).getRules(); + if ((arrayOfInt[13] == 0) && (arrayOfInt[15] == 0)) { + break label108; + } + } + } + } + label108: + for (paramInt2 = (getPaddingTop() - getPaddingBottom()) / 2;; paramInt2 = 0) + { + if (paramInt2 != 0) { + localView.offsetTopAndBottom(paramInt2); + } + paramInt1 += 1; + break; + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ExtendRelativeLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceImageView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceImageView.java new file mode 100755 index 00000000000..00c9ebba2b3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceImageView.java @@ -0,0 +1,181 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.BitmapFactory.Options; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.os.SystemClock; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.View; +import com.tencent.token.global.e; + +public class FaceImageView + extends View +{ + private static int n = 100; + Bitmap a; + Bitmap b; + Bitmap c; + Bitmap d; + Bitmap e; + Bitmap f; + Bitmap g; + Paint h = new Paint(); + private float i; + private int j; + private int k; + private int l; + private Rect m; + private float o; + private float p; + private float q; + private float r; + private float s; + private RectF t; + private long u; + private Context v; + private boolean w = false; + + public FaceImageView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.h.setAntiAlias(true); + this.h.setStyle(Paint.Style.STROKE); + this.h.setColor(-1); + this.h.setTextSize(18.0F * this.i); + this.h.setTextAlign(Paint.Align.CENTER); + this.v = paramContext; + paramAttributeSet = new BitmapFactory.Options(); + paramAttributeSet.inSampleSize = 2; + this.a = BitmapFactory.decodeResource(paramContext.getResources(), 2130837605, paramAttributeSet); + this.b = BitmapFactory.decodeResource(paramContext.getResources(), 2130837612); + this.i = paramContext.getResources().getDisplayMetrics().density; + paramAttributeSet = paramContext.getResources().getDisplayMetrics(); + this.j = paramAttributeSet.heightPixels; + this.k = paramAttributeSet.widthPixels; + e.c("msg.arg1 screenWidth=" + this.j + ",screenHeight=" + this.k); + this.q = (140.0F * this.i); + this.r = (320.0F * this.i); + this.c = BitmapFactory.decodeResource(paramContext.getResources(), 2130837616); + this.d = BitmapFactory.decodeResource(paramContext.getResources(), 2130837632); + this.g = BitmapFactory.decodeResource(paramContext.getResources(), 2130837634); + this.e = BitmapFactory.decodeResource(paramContext.getResources(), 2130837633); + this.f = BitmapFactory.decodeResource(paramContext.getResources(), 2130837635); + this.t = new RectF(); + e.c("FaceImageView scale=" + this.i); + this.p = (this.r / n); + } + + public final void a() + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + localOptions.inSampleSize = 2; + this.a = BitmapFactory.decodeResource(this.v.getResources(), 2130837617, localOptions); + this.b = BitmapFactory.decodeResource(this.v.getResources(), 2130837613); + invalidate(); + } + + public final void a(int paramInt) + { + if (this.l == paramInt) { + return; + } + this.l = paramInt; + this.u = 0L; + invalidate(); + } + + public final void a(int paramInt1, int paramInt2) + { + this.q = (paramInt2 * 420 / 1920); + this.r = (paramInt2 * 930 / 1920); + e.a("msg.arg1 set size beginY=" + this.q + ", width=" + paramInt1 + ", height=" + paramInt2); + if (paramInt2 != this.k) {} + for (this.w = true;; this.w = false) + { + this.j = paramInt1; + this.k = paramInt2; + this.p = (this.r / n); + if ((this.m == null) || (this.w)) + { + e.c("msg.arg1 width=" + this.j + ", height=" + this.k); + this.m = new Rect(0, 0, this.j, this.k); + } + return; + } + } + + public final int b() + { + return this.l; + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + if (this.m == null) { + return; + } + paramCanvas.drawBitmap(this.a, null, this.m, this.h); + float f1; + if (this.l == 0) + { + paramCanvas.drawBitmap(this.c, (this.j - this.c.getWidth()) / 2, this.k - this.i * 130.0F, this.h); + f1 = this.o % n * this.p + this.q; + if (f1 - this.b.getHeight() <= 0.0F) + { + f1 = this.q; + paramCanvas.drawBitmap(this.b, 0.0F, f1, this.h); + this.o += 1.0F; + } + } + for (;;) + { + invalidate(); + return; + f1 -= this.b.getHeight(); + break; + if (this.l == 1) + { + paramCanvas.drawBitmap(this.d, (this.j - this.d.getWidth()) / 2, this.k - this.i * 130.0F, this.h); + } + else if (this.l == 2) + { + if (this.u == 0L) { + this.u = SystemClock.elapsedRealtime(); + } + if (SystemClock.elapsedRealtime() - this.u > 10000L) + { + paramCanvas.drawBitmap(this.g, (this.j - this.g.getWidth()) / 2, this.k - this.i * 130.0F, this.h); + } + else + { + this.t.set((this.j - this.e.getWidth()) / 2, this.k - this.i * 130.0F, (this.j - this.e.getWidth()) / 2 + this.e.getWidth() - 15.0F * this.i + this.s / 20.0F % 3.0F * 6.0F * this.i, this.k - this.i * 130.0F + this.e.getHeight()); + paramCanvas.save(); + paramCanvas.clipRect(this.t); + paramCanvas.drawBitmap(this.e, (this.j - this.e.getWidth()) / 2, this.k - this.i * 130.0F, this.h); + paramCanvas.restore(); + this.s += 1.0F; + } + } + else if (this.l == 3) + { + paramCanvas.drawBitmap(this.f, (this.j - this.f.getWidth()) / 2, this.k - this.i * 130.0F, this.h); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.FaceImageView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/FacePwdVerifySelDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FacePwdVerifySelDialog.java new file mode 100755 index 00000000000..05c1262d37a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FacePwdVerifySelDialog.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.Window; +import android.widget.ListView; +import com.tencent.token.ui.FacePwdIndexActivity; +import java.util.List; + +public class FacePwdVerifySelDialog + extends Dialog +{ + private FacePwdIndexActivity a; + private ListView b; + private ab c; + private List d; + + public FacePwdVerifySelDialog(FacePwdIndexActivity paramFacePwdIndexActivity, List paramList) + { + super(paramFacePwdIndexActivity, 2131427400); + this.a = paramFacePwdIndexActivity; + this.d = paramList; + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903085); + getWindow().setBackgroundDrawableResource(2130837639); + this.b = ((ListView)findViewById(2131296564)); + this.c = new ab(this.a, this, this.d); + this.b.setAdapter(this.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.FacePwdVerifySelDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceView.java new file mode 100755 index 00000000000..4332421ef74 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/FaceView.java @@ -0,0 +1,534 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.BitmapFactory.Options; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.Style; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffXfermode; +import android.graphics.Rect; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.View; +import com.tencent.jni.LiveRectInfo; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; + +public class FaceView + extends View +{ + public static float a; + public static float b; + public static float c; + public static float d; + private float A; + private float B; + private boolean C = true; + private int D; + private int E; + private int F; + private float G; + private float H; + private float I; + private float J; + private float K; + private float L; + private Bitmap M; + private Bitmap N; + private Bitmap O; + private Bitmap P; + private Bitmap Q; + private Bitmap R; + private Bitmap S; + private int T = 0; + private Rect U = new Rect(); + private int V = 50; + private int W = 0; + private final int X = 10; + private float e; + private int f; + private int g; + private int h = 0; + private Bitmap i; + private Rect j; + private long k; + private Context l; + private float m; + private float n; + private float o; + private float p; + private float q; + private float r; + private float s; + private float t; + private float u; + private float v; + private float w; + private Paint x; + private PorterDuffXfermode y = new PorterDuffXfermode(PorterDuff.Mode.CLEAR); + private float z; + + public FaceView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.l = paramContext; + this.D = this.l.getResources().getColor(2131165325); + this.E = -1; + paramAttributeSet = new BitmapFactory.Options(); + paramAttributeSet.inSampleSize = 2; + this.i = BitmapFactory.decodeResource(paramContext.getResources(), 2130837607, paramAttributeSet); + this.M = BitmapFactory.decodeResource(paramContext.getResources(), 2130837707, null); + this.O = BitmapFactory.decodeResource(paramContext.getResources(), 2130837706, null); + this.N = BitmapFactory.decodeResource(paramContext.getResources(), 2130837876, null); + this.P = BitmapFactory.decodeResource(paramContext.getResources(), 2130837875, null); + this.K = this.M.getWidth(); + this.L = this.M.getHeight(); + this.e = paramContext.getResources().getDisplayMetrics().density; + paramContext = paramContext.getResources().getDisplayMetrics(); + this.f = paramContext.widthPixels; + this.g = (paramContext.heightPixels - IndexActivity.S_STATUS_HEIGHT); + e.c("changescreenWidth=" + this.f + ",screenHeight=" + this.g + ",scale=" + this.e); + this.r = (this.f / 2); + this.s = ((this.g - 40.0F * this.e) / 2.0F); + this.m = (145.0F * this.e); + this.n = this.m; + this.o = (this.n + 60.0F * this.e); + this.p = (this.m - 2.5F * this.e); + this.z = (5.0F * this.e); + this.A = (1.7F * this.e); + this.q = (28.0F * this.e); + this.B = (2.6F * this.e); + this.t = this.r; + this.u = this.s; + a = (this.r - this.m) / this.f; + b = (this.s - this.m) / this.g; + c = this.m * 2.0F / this.f; + d = this.m * 2.0F / this.g; + this.x = new Paint(); + this.x.setAntiAlias(true); + this.x.setStyle(Paint.Style.STROKE); + this.x.setColor(-1); + this.x.setTextSize(18.0F * this.e); + this.x.setTextAlign(Paint.Align.CENTER); + } + + public final float a() + { + return this.s; + } + + public final void a(int paramInt) + { + this.V = 50; + this.W = 0; + this.F = paramInt; + switch (paramInt) + { + } + for (;;) + { + this.U.right = (this.U.left + this.S.getWidth()); + this.U.bottom = (this.U.top + this.S.getHeight()); + return; + this.v = this.r; + this.w = (this.s - this.m); + this.S = BitmapFactory.decodeResource(this.l.getResources(), 2130837532, null); + this.U.left = ((int)(this.r - this.S.getWidth() / 2)); + this.U.top = ((int)(this.s - this.m / 2.0F - this.S.getHeight() / 2)); + continue; + this.v = this.r; + this.w = (this.s + this.m); + this.S = BitmapFactory.decodeResource(this.l.getResources(), 2130837533, null); + this.U.left = ((int)(this.r - this.S.getWidth() / 2)); + this.U.top = ((int)(this.s + this.m / 2.0F - this.S.getHeight() / 2)); + continue; + this.v = (this.r - this.m); + this.w = this.s; + this.S = BitmapFactory.decodeResource(this.l.getResources(), 2130837534, null); + this.U.left = ((int)(this.r - this.m / 2.0F - this.S.getWidth() / 2)); + this.U.top = ((int)(this.s - this.S.getHeight() / 2)); + continue; + this.v = (this.r + this.m); + this.w = this.s; + this.S = BitmapFactory.decodeResource(this.l.getResources(), 2130837535, null); + this.U.left = ((int)(this.r + this.m / 2.0F - this.S.getWidth() / 2)); + this.U.top = ((int)(this.s - this.S.getHeight() / 2)); + } + } + + public final void a(int paramInt1, int paramInt2) + { + e.c("changescreenwidth=" + paramInt1 + ", screenheight=" + paramInt2 + ", titleheight=" + IndexActivity.S_STATUS_HEIGHT); + if (paramInt2 != this.g) + { + this.f = paramInt1; + this.g = paramInt2; + this.r = (this.f / 2); + this.s = ((int)((this.g - 40.0F * this.e) / 2.0F)); + a = (this.r - this.m) / this.f; + b = (this.s - this.m) / this.g; + c = this.m * 2.0F / this.f; + d = this.m * 2.0F / this.g; + paramInt1 = 1; + this.t = this.r; + this.u = this.s; + } + for (;;) + { + if ((this.j == null) || (paramInt1 != 0)) + { + this.j = new Rect(0, 0, this.f, this.g); + invalidate(); + } + return; + paramInt1 = 0; + } + } + + public final void a(LiveRectInfo paramLiveRectInfo, int paramInt1, int paramInt2) + { + this.G = (paramLiveRectInfo.x() * this.f / paramInt1 - this.e * 5.0F); + this.H = (paramLiveRectInfo.y() * this.g / paramInt2 - this.e * 5.0F); + this.I = (paramLiveRectInfo.width() * this.f / paramInt1 + this.e * 10.0F); + this.J = (paramLiveRectInfo.height() * this.g / paramInt2 + this.e * 10.0F); + this.h = 5; + invalidate(); + } + + public final void a(boolean paramBoolean1, boolean paramBoolean2) + { + if (paramBoolean2) + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + localOptions.inSampleSize = 2; + this.i = BitmapFactory.decodeResource(this.l.getResources(), 2130837608, localOptions); + } + this.C = false; + if (paramBoolean1) + { + this.E = this.l.getResources().getColor(2131165326); + this.D = this.E; + if (paramBoolean2) + { + this.Q = BitmapFactory.decodeResource(this.l.getResources(), 2130837934, null); + this.R = BitmapFactory.decodeResource(this.l.getResources(), 2130837935, null); + } + } + for (;;) + { + invalidate(); + return; + this.Q = BitmapFactory.decodeResource(this.l.getResources(), 2130837581, null); + this.R = BitmapFactory.decodeResource(this.l.getResources(), 2130837580, null); + continue; + this.E = this.l.getResources().getColor(2131165325); + this.D = this.E; + if (paramBoolean2) + { + this.Q = BitmapFactory.decodeResource(this.l.getResources(), 2130837934, null); + this.R = BitmapFactory.decodeResource(this.l.getResources(), 2130837935, null); + } + else + { + this.Q = BitmapFactory.decodeResource(this.l.getResources(), 2130837577, null); + this.R = BitmapFactory.decodeResource(this.l.getResources(), 2130837580, null); + } + } + } + + public final int b() + { + return this.h; + } + + public final void b(int paramInt) + { + if ((paramInt == 0) || (this.T == paramInt) || (this.W < 10)) { + return; + } + this.T = paramInt; + switch (this.F) + { + } + for (;;) + { + this.h = 8; + invalidate(); + return; + this.u = (this.s - this.m * this.T / 21.0F); + continue; + this.u = (this.s + this.m * this.T / 21.0F); + continue; + this.t = (this.r - this.m * this.T / 21.0F); + continue; + this.t = (this.r + this.m * this.T / 21.0F); + } + } + + public final void c() + { + this.t = this.r; + this.u = this.s; + } + + public final void c(int paramInt) + { + if (this.h == paramInt) { + return; + } + this.h = paramInt; + this.k = 0L; + invalidate(); + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + if (this.j == null) { + return; + } + this.x.setAlpha(255); + paramCanvas.drawBitmap(this.i, null, this.j, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setXfermode(this.y); + this.x.setColor(0); + paramCanvas.drawCircle(this.r, this.s, this.m, this.x); + this.x.setXfermode(null); + float f1; + float f2; + float f3; + float f4; + switch (this.h) + { + case 1: + case 2: + default: + return; + case 0: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.E); + paramCanvas.drawCircle(this.r, this.s, this.m, this.x); + this.x.setAlpha(128); + this.x.setStrokeWidth(this.A); + paramCanvas.drawCircle(this.r, this.s, this.n, this.x); + this.x.setAlpha(51); + paramCanvas.drawCircle(this.r, this.s, this.o, this.x); + this.n += 5.0F * this.e; + this.o += 5.0F * this.e; + if (this.n + this.s >= this.g) + { + this.n = this.m; + this.o = (this.n + 60.0F * this.e); + } + invalidate(); + return; + case 3: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + return; + case 4: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + return; + case 5: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + this.x.setAlpha(255); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + paramCanvas.drawBitmap(this.M, this.G, this.H, this.x); + paramCanvas.drawBitmap(this.N, this.G + this.I - this.K, this.H, this.x); + paramCanvas.drawBitmap(this.O, this.G, this.H + this.J - this.L, this.x); + paramCanvas.drawBitmap(this.P, this.G + this.I - this.K, this.H + this.J - this.L, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setColor(-1); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(100); + f1 = this.G; + f2 = this.K; + f3 = this.H; + f4 = this.G; + float f5 = this.I; + float f6 = this.K; + float f7 = this.H; + paramCanvas.drawRect(f2 + f1, f3, f4 + f5 - f6, this.A + f7, this.x); + f1 = this.G; + f2 = this.H; + f3 = this.L; + f4 = this.G; + paramCanvas.drawRect(f1, f3 + f2, this.A + f4, this.H + this.J - this.L, this.x); + f1 = this.G; + f2 = this.I; + f3 = this.A; + f4 = this.H; + f5 = this.L; + f6 = this.G; + paramCanvas.drawRect(f1 + f2 - f3, f5 + f4, this.I + f6, this.H + this.J - this.L, this.x); + f1 = this.G; + f2 = this.K; + f3 = this.H; + f4 = this.J; + f5 = this.A; + f6 = this.G; + f7 = this.I; + float f8 = this.K; + float f9 = this.H; + paramCanvas.drawRect(f2 + f1, f3 + f4 - f5, f6 + f7 - f8, this.J + f9, this.x); + return; + case 6: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + return; + case 7: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + this.x.setStyle(Paint.Style.STROKE); + this.x.setAlpha(128); + this.x.setColor(this.D); + this.x.setStrokeWidth(this.B); + paramCanvas.drawCircle(this.t, this.u, this.q, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(70); + paramCanvas.drawCircle(this.t, this.u, this.q, this.x); + this.x.setColor(-1); + this.x.setStyle(Paint.Style.STROKE); + this.x.setAlpha(128); + this.x.setStrokeWidth(this.B); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(70); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setAlpha(255); + paramCanvas.drawBitmap(this.Q, this.v - this.Q.getWidth() / 2, this.w - this.Q.getHeight() / 2, this.x); + this.V += 100; + this.V %= 255; + this.W += 1; + if (this.W < 10) + { + this.x.setAlpha(this.V); + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + invalidate(); + return; + } + this.V = 255; + this.x.setAlpha(this.V); + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + return; + case 8: + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + switch (this.F) + { + } + for (;;) + { + this.x.setColor(-1); + this.x.setStyle(Paint.Style.STROKE); + this.x.setAlpha(128); + this.x.setStrokeWidth(this.B); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(70); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setAlpha(255); + paramCanvas.drawBitmap(this.Q, this.v - this.Q.getWidth() / 2, this.w - this.Q.getHeight() / 2, this.x); + this.x.setStyle(Paint.Style.STROKE); + this.x.setAlpha(128); + this.x.setColor(this.D); + this.x.setStrokeWidth(this.B); + paramCanvas.drawCircle(this.t, this.u, this.q, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(70); + paramCanvas.drawCircle(this.t, this.u, this.q, this.x); + return; + if (this.u - this.q > this.U.top) + { + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setXfermode(this.y); + this.x.setColor(0); + paramCanvas.drawRect(this.U.left, this.u - this.q, this.U.right, this.U.bottom, this.x); + this.x.setXfermode(null); + continue; + if (this.u + this.q < this.U.bottom) + { + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setXfermode(this.y); + this.x.setColor(0); + f1 = this.U.left; + f2 = this.U.top; + f3 = this.U.right; + f4 = this.u; + paramCanvas.drawRect(f1, f2, f3, this.q + f4, this.x); + this.x.setXfermode(null); + continue; + if (this.t - this.q > this.U.left) + { + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setXfermode(this.y); + this.x.setColor(0); + paramCanvas.drawRect(this.t - this.q, this.U.top, this.U.right, this.U.bottom, this.x); + this.x.setXfermode(null); + continue; + if (this.t + this.q < this.U.right) + { + paramCanvas.drawBitmap(this.S, this.U.left, this.U.top, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setXfermode(this.y); + this.x.setColor(0); + f1 = this.U.left; + f2 = this.U.top; + f3 = this.t; + paramCanvas.drawRect(f1, f2, this.q + f3, this.U.bottom, this.x); + this.x.setXfermode(null); + } + } + } + } + } + } + this.x.setStyle(Paint.Style.STROKE); + this.x.setStrokeWidth(this.z); + this.x.setColor(this.D); + paramCanvas.drawCircle(this.r, this.s, this.p, this.x); + this.x.setColor(this.D); + this.x.setStyle(Paint.Style.STROKE); + this.x.setAlpha(70); + this.x.setStrokeWidth(this.B); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setStyle(Paint.Style.FILL); + this.x.setStrokeWidth(1.0F); + this.x.setAlpha(255); + paramCanvas.drawCircle(this.v, this.w, this.q, this.x); + this.x.setAlpha(255); + paramCanvas.drawBitmap(this.R, this.v - this.R.getWidth() / 2, this.w - this.R.getHeight() / 2, this.x); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.FaceView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmDialog.java new file mode 100755 index 00000000000..901be616685 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmDialog.java @@ -0,0 +1,57 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.os.Handler; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.r; + +public class GameLoginSndConfirmDialog + extends Dialog +{ + private Activity a; + private GameLoginSndConfirmView b; + private boolean c = false; + private ProDialog d; + private Handler e = new af(this); + + public GameLoginSndConfirmDialog(Activity paramActivity) + { + super(paramActivity, 2131427401); + this.a = paramActivity; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + this.b = new GameLoginSndConfirmView(this.a); + this.b.a(new aj(this)); + if (!this.b.a(this.a)) + { + dismiss(); + e.a("Dual initView failed!"); + return; + } + this.b.a(r.a(RqdApplication.i()).d()); + setContentView(this.b); + setOnDismissListener(new an(this)); + } + + public void onWindowFocusChanged(boolean paramBoolean) + { + if ((paramBoolean) && (!this.c)) + { + this.c = true; + this.b.a(); + } + super.onWindowFocusChanged(paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.GameLoginSndConfirmDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmView.java new file mode 100755 index 00000000000..d12701caabf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/GameLoginSndConfirmView.java @@ -0,0 +1,232 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.os.Handler; +import android.text.Html; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.ai; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.r; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import gameloginsdk.CallbackPushStruct; + +public class GameLoginSndConfirmView + extends RelativeLayout +{ + private TextView a; + private TextView b; + private TextView c; + private Button d; + private Button e; + private ImageView f; + private Activity g; + private LayoutInflater h; + private View i; + private View j; + private View k; + private View l; + private View m; + private Bitmap n; + private Bitmap o; + private int p; + private int q; + private az r; + private AlarmManager s = null; + private PendingIntent t = null; + private int u; + private final String v = "com.tencent.token.update_btn_interval_time_action"; + private BroadcastReceiver w = new ao(this); + private Handler x = new ar(this); + + public GameLoginSndConfirmView(Activity paramActivity) + { + super(paramActivity); + this.g = paramActivity; + } + + public GameLoginSndConfirmView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.g = ((Activity)paramContext); + } + + public GameLoginSndConfirmView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet); + this.g = ((Activity)paramContext); + } + + public final void a() + { + this.x.post(new as(this, this.j, this.k, this.l, this.m)); + } + + public final void a(az paramaz) + { + this.r = paramaz; + } + + public final void a(CallbackPushStruct paramCallbackPushStruct) + { + if (paramCallbackPushStruct == null) { + return; + } + if (this.s == null) + { + localObject = new IntentFilter(); + ((IntentFilter)localObject).addAction("com.tencent.token.update_btn_interval_time_action"); + this.g.registerReceiver(this.w, (IntentFilter)localObject); + localObject = new Intent("com.tencent.token.update_btn_interval_time_action"); + this.s = ((AlarmManager)this.g.getSystemService("alarm")); + this.t = PendingIntent.getBroadcast(this.g, 0, (Intent)localObject, 0); + } + this.u = (paramCallbackPushStruct.expirtTime + 1 - r.a(RqdApplication.i()).c()); + this.a.setText(2131362434); + if (paramCallbackPushStruct.player.length() > 10) + { + localObject = new StringBuffer(paramCallbackPushStruct.player.substring(0, 10) + "..."); + if (((StringBuffer)localObject).length() == 0) { + break label510; + } + } + label294: + label497: + label510: + for (Object localObject = "(" + localObject + ")";; localObject = "") + { + localObject = new StringBuffer(s.b(paramCallbackPushStruct.uin) + (String)localObject + this.g.getResources().getString(2131362435) + "" + paramCallbackPushStruct.gameName + "-" + paramCallbackPushStruct.world + "" + this.g.getResources().getString(2131362436)); + if (paramCallbackPushStruct.schemeFlag == 2) + { + ((StringBuffer)localObject).append("。"); + this.b.setText(Html.fromHtml(((StringBuffer)localObject).toString())); + this.d.setText(getResources().getString(2131362438) + "(" + this.u + ")"); + this.e.setText(getResources().getString(2131362439)); + paramCallbackPushStruct = ax.a().d(Long.parseLong(paramCallbackPushStruct.uin)); + if (paramCallbackPushStruct == null) { + break label497; + } + this.f.setImageDrawable(k.a(paramCallbackPushStruct.mRealUin + "", paramCallbackPushStruct.mUin + "")); + this.c.setText(paramCallbackPushStruct.mNickName); + } + for (;;) + { + e(); + return; + localObject = new StringBuffer(paramCallbackPushStruct.player); + break; + ((StringBuffer)localObject).append(this.g.getString(2131362437)); + break label294; + this.c.setText(""); + } + } + } + + public final boolean a(Context paramContext) + { + if ((this.g == null) || ((this.g != null) && (this.g.isFinishing()))) { + return false; + } + this.h = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + this.i = this.h.inflate(2130903075, null); + this.i.setVisibility(4); + this.j = this.i.findViewById(2131296536); + this.k = this.i.findViewById(2131296522); + this.l = this.i.findViewById(2131296517); + this.m = this.i.findViewById(2131296519); + this.n = t.a(this.g.getResources(), 2130837596); + this.o = t.a(this.g.getResources(), 2130837595); + if (this.n != null) { + ((LinearLayout)this.i.findViewById(2131296523)).setBackgroundDrawable(new BitmapDrawable(this.n)); + } + if (this.o != null) + { + ((LinearLayout)this.i.findViewById(2131296524)).setBackgroundDrawable(new BitmapDrawable(this.o)); + ((LinearLayout)this.i.findViewById(2131296525)).setBackgroundDrawable(new BitmapDrawable(this.o)); + } + this.a = ((TextView)this.i.findViewById(2131296529)); + this.b = ((TextView)this.i.findViewById(2131296530)); + this.f = ((ImageView)this.i.findViewById(2131296538)); + this.d = ((Button)this.i.findViewById(2131296534)); + this.e = ((Button)this.i.findViewById(2131296535)); + this.c = ((TextView)this.i.findViewById(2131296527)); + this.d.setOnClickListener(new ap(this)); + this.e.setOnClickListener(new aq(this)); + addView(this.i, new RelativeLayout.LayoutParams(-1, -1)); + return true; + } + + public final void b() + { + this.x.post(new au(this, this.j, this.k, this.l, this.m)); + ai.a(RqdApplication.i()).a(); + } + + public final void c() + { + this.x.post(new aw(this, this)); + } + + public final void d() + { + e.a("game login unregister interval timer"); + if (this.s != null) + { + this.s.cancel(this.t); + this.g.unregisterReceiver(this.w); + this.s = null; + } + } + + public final void e() + { + this.u -= 1; + if (this.u <= 0) + { + d(); + this.r.b(); + } + long l1; + do + { + return; + this.d.setText(getResources().getString(2131362438) + "(" + this.u + ")"); + l1 = System.currentTimeMillis(); + } while (this.s == null); + this.s.set(1, l1 + 1000L, this.t); + } + + public void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + this.p = this.j.getMeasuredHeight(); + this.q = this.k.getMeasuredHeight(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.GameLoginSndConfirmView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/HorizontialListView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/HorizontialListView.java new file mode 100755 index 00000000000..8b64b87dc21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/HorizontialListView.java @@ -0,0 +1,266 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.database.DataSetObserver; +import android.util.AttributeSet; +import android.view.GestureDetector; +import android.view.GestureDetector.OnGestureListener; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.ViewGroup.LayoutParams; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ListAdapter; +import android.widget.Scroller; +import java.util.LinkedList; +import java.util.Queue; + +public class HorizontialListView + extends AdapterView +{ + public boolean a = true; + protected ListAdapter b; + protected int c; + protected int d; + protected Scroller e; + private int f = -1; + private int g = 0; + private int h = 2147483647; + private int i = 0; + private GestureDetector j; + private Queue k = new LinkedList(); + private AdapterView.OnItemSelectedListener l; + private AdapterView.OnItemClickListener m; + private boolean n = false; + private DataSetObserver o = new bc(this); + private GestureDetector.OnGestureListener p = new be(this); + + public HorizontialListView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + b(); + } + + private void a(View paramView, int paramInt) + { + ViewGroup.LayoutParams localLayoutParams2 = paramView.getLayoutParams(); + ViewGroup.LayoutParams localLayoutParams1 = localLayoutParams2; + if (localLayoutParams2 == null) { + localLayoutParams1 = new ViewGroup.LayoutParams(-1, -1); + } + addViewInLayout(paramView, paramInt, localLayoutParams1, true); + paramView.measure(View.MeasureSpec.makeMeasureSpec(getWidth(), -2147483648), View.MeasureSpec.makeMeasureSpec(getHeight(), -2147483648)); + } + + private void b() + { + try + { + this.f = -1; + this.g = 0; + this.i = 0; + this.c = 0; + this.d = 0; + this.h = 2147483647; + this.e = new Scroller(getContext()); + this.j = new GestureDetector(getContext(), this.p); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void c() + { + try + { + b(); + removeAllViewsInLayout(); + requestLayout(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public final void a(ListAdapter paramListAdapter) + { + if (this.b != null) { + this.b.unregisterDataSetObserver(this.o); + } + this.b = paramListAdapter; + this.b.registerDataSetObserver(this.o); + c(); + } + + protected final boolean a() + { + this.e.forceFinished(true); + return true; + } + + protected final boolean a(float paramFloat) + { + try + { + this.e.fling(this.d, 0, (int)-paramFloat, 0, 0, this.h, 0, 0); + requestLayout(); + return true; + } + finally {} + } + + public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) + { + return this.j.onTouchEvent(paramMotionEvent); + } + + public View getSelectedView() + { + return null; + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + int i1 = 0; + try + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + Object localObject1 = this.b; + if (localObject1 == null) { + return; + } + if (this.n) + { + paramInt1 = this.c; + b(); + removeAllViewsInLayout(); + this.d = paramInt1; + this.n = false; + } + if (this.e.computeScrollOffset()) { + this.d = this.e.getCurrX(); + } + if (this.d < 0) + { + this.d = 0; + this.e.forceFinished(true); + } + if (this.d > this.h) + { + this.d = this.h; + this.e.forceFinished(true); + } + paramInt2 = this.c - this.d; + for (localObject1 = getChildAt(0); (localObject1 != null) && (((View)localObject1).getRight() + paramInt2 <= 0); localObject1 = getChildAt(0)) + { + this.i += ((View)localObject1).getMeasuredWidth(); + this.k.offer(localObject1); + removeViewInLayout((View)localObject1); + this.f += 1; + } + for (;;) + { + localObject1 = getChildAt(getChildCount() - 1); + if ((localObject1 == null) || (((View)localObject1).getLeft() + paramInt2 < getWidth())) { + break; + } + this.k.offer(localObject1); + removeViewInLayout((View)localObject1); + this.g -= 1; + } + localView = getChildAt(getChildCount() - 1); + } + finally {} + View localView; + if (localView != null) + { + paramInt1 = localView.getRight(); + break label646; + label307: + while ((paramInt1 + paramInt2 < getWidth()) && (this.g < this.b.getCount())) + { + localView = this.b.getView(this.g, (View)this.k.poll(), this); + a(localView, -1); + paramInt1 = localView.getMeasuredWidth() + paramInt1; + if (this.g == this.b.getCount() - 1) { + this.h = (this.c + paramInt1 - getWidth()); + } + this.g += 1; + } + localView = getChildAt(0); + if (localView != null) + { + paramInt1 = localView.getLeft(); + break label649; + } + } + label646: + label649: + for (;;) + { + if ((paramInt1 + paramInt2 > 0) && (this.f >= 0)) + { + localView = this.b.getView(this.f, (View)this.k.poll(), this); + a(localView, 0); + paramInt3 = localView.getMeasuredWidth(); + this.f -= 1; + this.i -= localView.getMeasuredWidth(); + paramInt1 -= paramInt3; + } + else + { + if (getChildCount() > 0) + { + this.i += paramInt2; + paramInt2 = this.i; + paramInt1 = i1; + while (paramInt1 < getChildCount()) + { + localView = getChildAt(paramInt1); + paramInt3 = localView.getMeasuredWidth(); + localView.layout(paramInt2, 0, paramInt2 + paramInt3, localView.getMeasuredHeight()); + paramInt2 += paramInt3; + paramInt1 += 1; + } + } + this.c = this.d; + if (this.e.isFinished()) { + break; + } + post(new bd(this)); + break; + paramInt1 = 0; + break label649; + paramInt1 = 0; + break label307; + } + } + } + + public void setOnItemClickListener(AdapterView.OnItemClickListener paramOnItemClickListener) + { + this.m = paramOnItemClickListener; + } + + public void setOnItemSelectedListener(AdapterView.OnItemSelectedListener paramOnItemSelectedListener) + { + this.l = paramOnItemSelectedListener; + } + + public void setSelection(int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.HorizontialListView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/IntroLoginMsgDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/IntroLoginMsgDialog.java new file mode 100755 index 00000000000..680f131cf06 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/IntroLoginMsgDialog.java @@ -0,0 +1,71 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.Display; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.Window; +import android.view.WindowManager; +import android.widget.TextView; +import com.tencent.token.global.b; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.t; + +public class IntroLoginMsgDialog + extends Dialog +{ + private CharSequence a; + private CharSequence b; + + public boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + if ((b.d()) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + default: + return super.dispatchKeyEvent(paramKeyEvent); + } + t.h(); + dismiss(); + return true; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903107); + Object localObject2 = getWindow(); + ((Window)localObject2).setBackgroundDrawableResource(2130837639); + View localView = findViewById(2131296702); + Object localObject1 = findViewById(2131296703); + paramBundle = findViewById(2131296706); + Object localObject3 = new bg(this); + localView.setOnClickListener((View.OnClickListener)localObject3); + ((View)localObject1).setOnClickListener((View.OnClickListener)localObject3); + paramBundle.setOnClickListener((View.OnClickListener)localObject3); + localObject3 = (TextView)findViewById(2131296704); + TextView localTextView = (TextView)findViewById(2131296705); + ((TextView)localObject3).setText(this.a); + localTextView.setText(this.b); + int i = (((Window)localObject2).getWindowManager().getDefaultDisplay().getHeight() - IndexActivity.S_STATUS_HEIGHT - IndexActivity.S_TAB_HEIGHT) / 5; + int j = ((Window)localObject2).getWindowManager().getDefaultDisplay().getWidth(); + localObject2 = (ViewGroup.MarginLayoutParams)localView.getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject2).height = (i * 3); + ((ViewGroup.MarginLayoutParams)localObject2).width = j; + localObject1 = (ViewGroup.MarginLayoutParams)((View)localObject1).getLayoutParams(); + ((ViewGroup.MarginLayoutParams)localObject1).height = i; + ((ViewGroup.MarginLayoutParams)localObject1).width = j; + paramBundle = (ViewGroup.MarginLayoutParams)paramBundle.getLayoutParams(); + paramBundle.height = (i + IndexActivity.S_TAB_HEIGHT); + paramBundle.width = j; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.IntroLoginMsgDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternSmallView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternSmallView.java new file mode 100755 index 00000000000..b45518e5789 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternSmallView.java @@ -0,0 +1,203 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.WindowManager; +import com.tencent.token.utils.t; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class LockPatternSmallView + extends View + implements cb +{ + LockPatternView a; + public int b = 1; + private Paint c = new Paint(); + private boolean[][] d = (boolean[][])Array.newInstance(Boolean.TYPE, new int[] { 3, 3 }); + private LockPatternView.DisplayMode e = LockPatternView.DisplayMode.Correct; + private float f; + private float g; + private Bitmap h; + private Bitmap i; + private Bitmap j; + private Bitmap k; + private int l; + private int m; + private ArrayList n; + private Activity o; + private int p; + + public LockPatternSmallView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.o = ((Activity)paramContext); + setClickable(false); + paramContext = new DisplayMetrics(); + this.o.getWindowManager().getDefaultDisplay().getMetrics(paramContext); + this.p = paramContext.widthPixels; + int i1 = this.p * 14 / 320; + this.h = t.a(getResources(), 2130837928, i1); + this.i = t.a(getResources(), 2130837927, i1); + this.j = t.a(getResources(), 2130837929, i1); + this.k = t.a(getResources(), 2130837930, i1); + this.l = this.h.getWidth(); + this.m = this.h.getHeight(); + } + + public final void a() + { + if (this.b != 1) { + return; + } + int i1 = 0; + while (i1 < 3) + { + int i2 = 0; + while (i2 < 3) + { + this.d[i1][i2] = 0; + i2 += 1; + } + i1 += 1; + } + this.n = this.a.b(); + this.e = this.a.c(); + invalidate(); + } + + public final void a(LockPatternView.DisplayMode paramDisplayMode) + { + this.e = paramDisplayMode; + postInvalidate(); + } + + public final void a(LockPatternView paramLockPatternView) + { + this.a = paramLockPatternView; + paramLockPatternView.a(this); + } + + public final void a(List paramList) + { + if (this.b == 2) { + return; + } + this.n = this.a.b(); + this.e = this.a.c(); + invalidate(); + } + + public final void b() + { + if (this.b != 1) { + return; + } + this.n = this.a.b(); + this.e = this.a.c(); + invalidate(); + } + + public final void c() + { + if (this.b != 1) { + return; + } + this.n = this.a.b(); + this.e = this.a.c(); + invalidate(); + } + + protected void onDraw(Canvas paramCanvas) + { + if (this.n == null) { + this.n = new ArrayList(); + } + Object localObject = this.n; + ((ArrayList)localObject).size(); + boolean[][] arrayOfBoolean = this.d; + float f1 = this.f; + float f2 = this.g; + localObject = ((ArrayList)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + ca localca = (ca)((Iterator)localObject).next(); + this.d[localca.a()][localca.b()] = 1; + } + int i3 = getPaddingTop(); + int i4 = getPaddingLeft(); + int i1 = 0; + while (i1 < 3) + { + float f3 = i3; + float f4 = i1; + int i2 = 0; + if (i2 < 3) + { + int i5 = (int)(i4 + i2 * f1); + int i6 = (int)(f3 + f4 * f2); + if (arrayOfBoolean[i1][i2] == 0) { + localObject = this.h; + } + for (;;) + { + int i8 = this.l; + int i7 = this.m; + float f5 = this.f; + float f6 = this.g; + i8 = (int)((f5 - i8) / 2.0F); + i7 = (int)((f6 - i7) / 2.0F); + paramCanvas.drawBitmap((Bitmap)localObject, i5 + i8, i6 + i7, this.c); + i2 += 1; + break; + if (this.b != 3) + { + if (this.e == LockPatternView.DisplayMode.Wrong) { + localObject = this.k; + } else { + localObject = this.i; + } + } + else + { + if (this.b != 3) { + break label304; + } + localObject = this.j; + } + } + label304: + throw new IllegalStateException("unknown display mode " + this.e); + } + i1 += 1; + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + paramInt1 = Math.min(View.MeasureSpec.getSize(paramInt1), View.MeasureSpec.getSize(paramInt2)); + setMeasuredDimension(paramInt1, paramInt1); + } + + protected void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + this.f = ((paramInt1 - getPaddingLeft() - getPaddingRight()) / 3.0F); + this.g = ((paramInt2 - getPaddingTop() - getPaddingBottom()) / 3.0F); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LockPatternSmallView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternVerifyView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternVerifyView.java new file mode 100755 index 00000000000..e60cdc4ee55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternVerifyView.java @@ -0,0 +1,249 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.os.Handler; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.t; +import java.util.List; + +public class LockPatternVerifyView + extends RelativeLayout + implements cb +{ + protected Runnable a = new bs(this); + protected Runnable b = new bt(this); + private View c; + private View d; + private View e; + private TextView f; + private TextView g; + private LayoutInflater h; + private View i; + private Context j; + private LockPatternView k; + private int l; + private int m; + private int n; + private bz o; + private Bitmap p; + private Bitmap q; + private Bitmap r; + private Bitmap s; + private Bitmap t; + private ImageView u; + private int v = 0; + private TranslateAnimation w; + private TranslateAnimation x; + private RotateAnimation y; + private Handler z = new bv(this); + + public LockPatternVerifyView(Context paramContext) + { + super(paramContext); + this.j = paramContext; + a(paramContext); + } + + public LockPatternVerifyView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.j = paramContext; + a(paramContext); + } + + public LockPatternVerifyView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet); + this.j = paramContext; + a(paramContext); + } + + private void a(Context paramContext) + { + removeAllViews(); + this.h = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + this.i = this.h.inflate(2130903208, null); + this.i.setVisibility(0); + this.c = this.i.findViewById(2131296536); + this.d = this.i.findViewById(2131296522); + this.e = this.i.findViewById(2131296584); + this.f = ((TextView)this.i.findViewById(2131297123)); + this.g = ((TextView)this.i.findViewById(2131297130)); + this.k = ((LockPatternView)this.i.findViewById(2131297124)); + this.k.a(this); + this.e.setVisibility(4); + this.p = t.a(paramContext.getResources(), 2130837920); + this.q = t.a(paramContext.getResources(), 2130837922); + this.r = t.a(paramContext.getResources(), 2130837923); + this.s = t.a(paramContext.getResources(), 2130837913); + this.t = t.a(paramContext.getResources(), 2130837914); + if (this.s != null) { + ((LinearLayout)this.i.findViewById(2131296523)).setBackgroundDrawable(new BitmapDrawable(this.s)); + } + if (this.t != null) + { + ((LinearLayout)this.i.findViewById(2131296524)).setBackgroundDrawable(new BitmapDrawable(this.t)); + ((LinearLayout)this.i.findViewById(2131296525)).setBackgroundDrawable(new BitmapDrawable(this.t)); + } + if (this.p != null) + { + this.u = ((ImageView)this.i.findViewById(2131296583)); + this.u.setImageBitmap(this.p); + } + if (!RqdApplication.d()) + { + this.f.setTextColor(getResources().getColor(2131165237)); + this.f.setText(2131362136); + } + this.i.setOnTouchListener(new bq(this)); + addView(this.i, new RelativeLayout.LayoutParams(-1, -1)); + this.g.setOnClickListener(new br(this)); + ah.a(); + this.n = ah.g(); + } + + public final void a() + { + this.k.removeCallbacks(this.a); + } + + public final void a(int paramInt) + { + this.v = paramInt; + } + + public final void a(bz parambz) + { + this.o = parambz; + if (this.n >= 5) { + this.o.a(true); + } + } + + public final void a(List paramList) + { + paramList = this.k.h(); + if (ah.a().a(paramList)) + { + RqdApplication.f(); + RqdApplication.a(); + this.f.setTextColor(getResources().getColor(2131165237)); + this.f.setText(2131362142); + this.k.e(); + f(); + ah.a(); + ah.a(0); + return; + } + if (this.r != null) { + this.u.setImageBitmap(this.r); + } + this.u.postDelayed(this.b, 500L); + if (this.n >= 4) + { + ah.a(); + ah.a(this.n + 1); + this.k.d(); + this.o.a(false); + return; + } + this.n += 1; + this.k.a(LockPatternView.DisplayMode.Wrong); + paramList = this.j.getString(2131362139) + (5 - this.n) + "次!"; + this.f.setTextColor(this.j.getResources().getColor(2131165241)); + this.f.setText(paramList); + this.k.e(); + ah.a(); + ah.a(this.n); + this.k.postDelayed(this.a, 500L); + } + + public final void b() {} + + public final void c() {} + + public final void d() + { + if (this.k != null) { + this.k.a(); + } + } + + public final void e() + { + this.k.g(); + if (this.s != null) { + this.s.recycle(); + } + if (this.t != null) { + this.t.recycle(); + } + if (this.p != null) { + this.p.recycle(); + } + if (this.q != null) { + this.q.recycle(); + } + if (this.r != null) { + this.r.recycle(); + } + } + + public final void f() + { + if (this.q != null) { + this.u.setImageBitmap(this.q); + } + if (this.v == 0) + { + this.e.setVisibility(0); + this.z.post(new bw(this, this.c, this.d, this.e)); + } + do + { + return; + if (this.v == 1) + { + Animation localAnimation = AnimationUtils.loadAnimation(this.j, 2130968584); + localAnimation.setAnimationListener(new bu(this)); + this.i.startAnimation(localAnimation); + return; + } + } while (this.v != 2); + this.o.a(); + } + + public void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + this.l = this.c.getMeasuredHeight(); + this.m = this.d.getMeasuredHeight(); + } + + public void setVisibility(int paramInt) + { + super.setVisibility(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LockPatternVerifyView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView$DisplayMode.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView$DisplayMode.java new file mode 100755 index 00000000000..6b7c9a50bea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView$DisplayMode.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LockPatternView.DisplayMode + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView.java new file mode 100755 index 00000000000..429a6a65b89 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LockPatternView.java @@ -0,0 +1,774 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Matrix; +import android.graphics.Paint; +import android.graphics.Rect; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.WindowManager; +import com.tencent.token.utils.t; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.List; + +public class LockPatternView + extends View +{ + private int A; + private final Rect B = new Rect(); + private int C; + private int D; + private int E; + private Activity F; + private int G; + private boolean a = false; + private Paint b = new Paint(); + private boolean c = false; + private cb d; + private cb e; + private ArrayList f = new ArrayList(9); + private boolean[][] g = (boolean[][])Array.newInstance(Boolean.TYPE, new int[] { 3, 3 }); + private float h = -1.0F; + private float i = -1.0F; + private LockPatternView.DisplayMode j = LockPatternView.DisplayMode.Correct; + private boolean k = true; + private boolean l = false; + private boolean m = true; + private boolean n = false; + private float o = 0.5F; + private float p = 0.6F; + private float q; + private float r; + private Bitmap s; + private Bitmap t; + private Bitmap u; + private Bitmap v; + private Bitmap w; + private Bitmap x; + private Bitmap y; + private Bitmap z; + + public LockPatternView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.F = ((Activity)paramContext); + if (!"square".equals("square")) { + if ("lock_width".equals("square")) { + this.E = 1; + } + } + for (;;) + { + setClickable(true); + paramContext = new DisplayMetrics(); + this.F.getWindowManager().getDefaultDisplay().getMetrics(paramContext); + this.G = paramContext.widthPixels; + int i1 = this.G * 60 / 320; + this.u = t.a(getResources(), 2130837908, i1); + this.s = t.a(getResources(), 2130837909, i1); + this.t = t.a(getResources(), 2130837910, i1); + this.v = t.a(getResources(), 2130837905, i1); + this.y = t.a(getResources(), 2130837904, i1); + this.w = t.a(getResources(), 2130837906, i1); + this.x = t.a(getResources(), 2130837907, i1); + this.z = t.a(getResources(), 2130837915); + if ((this.u != null) && (this.s != null) && (this.t != null) && (this.v != null) && (this.y != null) && (this.w != null) && (this.x != null) && (this.z != null)) { + break; + } + this.c = false; + return; + if ("lock_height".equals("square")) { + this.E = 2; + } else { + this.E = 0; + } + } + this.c = true; + this.A = this.z.getHeight(); + this.C = this.v.getWidth(); + this.D = this.v.getHeight(); + } + + public LockPatternView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + this(paramContext, paramAttributeSet); + } + + private ca a(float paramFloat1, float paramFloat2) + { + int i4 = 0; + int i3 = 1; + Object localObject1 = null; + Object localObject2 = null; + float f1 = this.r; + float f2 = f1 * this.p; + float f3 = getPaddingTop(); + float f4 = (f1 - f2) / 2.0F; + int i1 = 0; + int i2; + label83: + ca localca; + if (i1 < 3) + { + float f5 = i1 * f1 + (f4 + f3); + label212: + if ((paramFloat2 >= f5) && (paramFloat2 <= f5 + f2)) + { + i2 = i1; + if (i2 >= 0) { + break label327; + } + localca = null; + label91: + if (localca != null) + { + ArrayList localArrayList = this.f; + localObject1 = localObject2; + if (!localArrayList.isEmpty()) + { + localObject1 = (ca)localArrayList.get(localArrayList.size() - 1); + int i6 = localca.a - ((ca)localObject1).a; + int i5 = localca.b - ((ca)localObject1).b; + i4 = ((ca)localObject1).a; + i2 = ((ca)localObject1).b; + i1 = i4; + if (Math.abs(i6) == 2) + { + i1 = i4; + if (Math.abs(i5) != 1) + { + i4 = ((ca)localObject1).a; + if (i6 <= 0) { + break label449; + } + i1 = 1; + i1 += i4; + } + } + if ((Math.abs(i5) != 2) || (Math.abs(i6) == 1)) { + break label461; + } + i4 = ((ca)localObject1).b; + if (i5 <= 0) { + break label455; + } + i2 = i3; + label253: + i2 = i4 + i2; + } + } + } + } + label327: + label455: + label461: + for (;;) + { + localObject1 = ca.a(i1, i2); + if ((localObject1 != null) && (this.g[localObject1.a][localObject1.b] == 0)) { + a((ca)localObject1); + } + a(localca); + localObject1 = localca; + return localObject1; + i1 += 1; + break; + i2 = -1; + break label83; + paramFloat2 = this.q; + f1 = this.p * paramFloat2; + f2 = getPaddingLeft(); + f3 = (paramFloat2 - f1) / 2.0F; + i1 = i4; + label357: + if (i1 < 3) + { + f4 = i1 * paramFloat2 + (f2 + f3); + if ((paramFloat1 < f4) || (paramFloat1 > f4 + f1)) {} + } + for (;;) + { + if (i1 >= 0) { + break label418; + } + localca = null; + break; + i1 += 1; + break label357; + i1 = -1; + } + if (this.g[i2][i1] != 0) + { + localca = null; + break label91; + } + localca = ca.a(i2, i1); + break label91; + i1 = -1; + break label212; + i2 = -1; + break label253; + } + } + + private void a(Canvas paramCanvas, float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4) + { + if ((this.l) && (this.j != LockPatternView.DisplayMode.Wrong)) {} + label183: + label251: + for (;;) + { + return; + float f1 = paramFloat3 - paramFloat1; + paramFloat4 -= paramFloat2; + Bitmap localBitmap; + if (f1 == 0.0F) + { + paramFloat3 = Math.abs(paramFloat4); + if (!this.n) { + break label183; + } + localBitmap = t.a(getResources(), 2130837915, (int)paramFloat3, this.A); + } + for (;;) + { + if (localBitmap == null) { + break label251; + } + paramFloat3 = (float)Math.toDegrees((float)Math.atan2(paramFloat4, f1)); + Matrix localMatrix = paramCanvas.getMatrix(); + localMatrix.setRotate(paramFloat3); + localMatrix.preTranslate(0.0F, -this.A / 2.0F); + localMatrix.postTranslate(paramFloat1, paramFloat2); + paramCanvas.drawBitmap(localBitmap, localMatrix, this.b); + localBitmap.recycle(); + return; + if (paramFloat4 == 0.0F) + { + paramFloat3 = Math.abs(f1); + break; + } + paramFloat3 = (float)Math.sqrt(f1 * f1 + paramFloat4 * paramFloat4); + break; + if (this.j == LockPatternView.DisplayMode.Wrong) { + localBitmap = t.a(getResources(), 2130837917, (int)paramFloat3, this.A); + } else if (this.j == LockPatternView.DisplayMode.Correct) { + localBitmap = t.a(getResources(), 2130837916, (int)paramFloat3, this.A); + } else { + localBitmap = null; + } + } + } + } + + private void a(ca paramca) + { + this.g[paramca.a()][paramca.b()] = 1; + this.f.add(paramca); + if (this.e != null) { + this.e.c(); + } + if (this.d != null) { + this.d.c(); + } + } + + private void i() + { + int i1 = 0; + while (i1 < 3) + { + int i2 = 0; + while (i2 < 3) + { + this.g[i1][i2] = 0; + i2 += 1; + } + i1 += 1; + } + } + + public final void a() + { + this.l = true; + } + + public final void a(LockPatternSmallView paramLockPatternSmallView) + { + this.e = paramLockPatternSmallView; + } + + public final void a(LockPatternView.DisplayMode paramDisplayMode) + { + this.j = paramDisplayMode; + if (paramDisplayMode == LockPatternView.DisplayMode.Animate) + { + if (this.f.size() == 0) { + throw new IllegalStateException("you must have a pattern to animate if you want to set the display mode to animate"); + } + paramDisplayMode = (ca)this.f.get(0); + int i1 = paramDisplayMode.b(); + float f1 = getPaddingLeft(); + this.h = (i1 * this.q + f1 + this.q / 2.0F); + i1 = paramDisplayMode.a(); + f1 = getPaddingTop(); + this.i = (i1 * this.r + f1 + this.r / 2.0F); + i(); + } + invalidate(); + } + + public final void a(cb paramcb) + { + this.d = paramcb; + } + + public final ArrayList b() + { + return this.f; + } + + public final LockPatternView.DisplayMode c() + { + return this.j; + } + + public final void d() + { + this.f.clear(); + i(); + this.j = LockPatternView.DisplayMode.Correct; + invalidate(); + } + + public final void e() + { + this.k = false; + } + + public final void f() + { + this.k = true; + } + + public final void g() + { + if (this.c) + { + this.u.recycle(); + this.s.recycle(); + this.t.recycle(); + this.v.recycle(); + this.y.recycle(); + this.w.recycle(); + this.x.recycle(); + this.z.recycle(); + } + } + + public final String h() + { + Object localObject = this.f; + if (localObject == null) { + return ""; + } + int i2 = ((List)localObject).size(); + byte[] arrayOfByte = new byte[i2]; + int i1 = 0; + while (i1 < i2) + { + ca localca = (ca)((List)localObject).get(i1); + int i3 = localca.a(); + arrayOfByte[i1] = ((byte)(localca.b() + i3 * 3)); + i1 += 1; + } + localObject = new StringBuffer(); + i1 = 0; + while (i1 < arrayOfByte.length) + { + ((StringBuffer)localObject).append(arrayOfByte[i1]); + i1 += 1; + } + return ((StringBuffer)localObject).toString(); + } + + protected void onDraw(Canvas paramCanvas) + { + Object localObject1 = this.f; + int i2 = ((ArrayList)localObject1).size(); + boolean[][] arrayOfBoolean = this.g; + float f1 = this.q; + float f2 = this.r; + int i3 = getPaddingTop(); + int i4 = getPaddingLeft(); + if (!this.c) {} + for (;;) + { + return; + int i1 = 0; + Object localObject2; + int i5; + float f3; + float f4; + float f5; + float f6; + float f7; + while (i1 < i2 - 1) + { + localObject2 = (ca)((ArrayList)localObject1).get(i1); + ca localca = (ca)((ArrayList)localObject1).get(i1 + 1); + if (arrayOfBoolean[localca.a][localca.b] == 0) { + break; + } + i5 = ((ca)localObject2).b; + f3 = getPaddingLeft(); + f4 = i5; + f5 = this.q; + f6 = this.q / 2.0F; + i5 = ((ca)localObject2).a; + f7 = getPaddingTop(); + float f8 = i5; + float f9 = this.r; + float f10 = this.r / 2.0F; + i5 = localca.b; + float f11 = getPaddingLeft(); + float f12 = i5; + float f13 = this.q; + float f14 = this.q / 2.0F; + i5 = localca.a; + float f15 = getPaddingTop(); + a(paramCanvas, f4 * f5 + f3 + f6, f10 + (f8 * f9 + f7), f14 + (f12 * f13 + f11), i5 * this.r + f15 + this.r / 2.0F); + i1 += 1; + } + if (this.n) + { + localObject1 = (ca)((ArrayList)localObject1).get(i1); + i1 = ((ca)localObject1).b; + f3 = getPaddingLeft(); + f4 = i1; + f5 = this.q; + f6 = this.q / 2.0F; + i1 = ((ca)localObject1).a; + f7 = getPaddingTop(); + a(paramCanvas, f6 + (f4 * f5 + f3), i1 * this.r + f7 + this.r / 2.0F, this.h, this.i); + } + i1 = 0; + while (i1 < 3) + { + f3 = i3; + f4 = i1; + i2 = 0; + if (i2 < 3) + { + i5 = (int)(i4 + i2 * f1); + int i6 = (int)(f3 + f4 * f2); + if ((arrayOfBoolean[i1][i2] == 0) || ((this.l) && (this.j != LockPatternView.DisplayMode.Wrong))) + { + localObject2 = this.v; + localObject1 = null; + } + for (;;) + { + int i8 = this.C; + int i7 = this.D; + f5 = this.q; + f6 = this.r; + i8 = (int)((f5 - i8) / 2.0F); + i7 = (int)((f6 - i7) / 2.0F); + if (localObject2 != null) { + paramCanvas.drawBitmap((Bitmap)localObject2, i5 + i8, i6 + i7, this.b); + } + if (localObject1 != null) { + paramCanvas.drawBitmap((Bitmap)localObject1, i5 + i8, i6 + i7, this.b); + } + i2 += 1; + break; + if (this.n) + { + localObject2 = this.y; + localObject1 = this.u; + } + else if (this.j == LockPatternView.DisplayMode.Wrong) + { + localObject2 = this.x; + localObject1 = this.t; + } + else + { + if ((this.j != LockPatternView.DisplayMode.Correct) && (this.j != LockPatternView.DisplayMode.Animate)) { + break label668; + } + localObject2 = this.w; + localObject1 = this.s; + } + } + label668: + throw new IllegalStateException("unknown display mode " + this.j); + } + i1 += 1; + } + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + int i1 = View.MeasureSpec.getSize(paramInt1); + paramInt1 = View.MeasureSpec.getSize(paramInt2); + switch (this.E) + { + default: + paramInt2 = i1; + } + for (;;) + { + setMeasuredDimension(paramInt2, paramInt1); + return; + paramInt1 = Math.min(i1, paramInt1); + paramInt2 = paramInt1; + continue; + paramInt1 = Math.min(i1, paramInt1); + paramInt2 = i1; + continue; + paramInt2 = Math.min(i1, paramInt1); + } + } + + protected void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + this.q = ((paramInt1 - getPaddingLeft() - getPaddingRight()) / 3.0F); + this.r = ((paramInt2 - getPaddingTop() - getPaddingBottom()) / 3.0F); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + if ((!this.k) || (!isEnabled())) { + return false; + } + float f6 = paramMotionEvent.getX(); + float f4 = paramMotionEvent.getY(); + int i1; + float f1; + float f2; + float f3; + float f5; + switch (paramMotionEvent.getAction()) + { + default: + return false; + case 0: + this.f.clear(); + i(); + this.j = LockPatternView.DisplayMode.Correct; + invalidate(); + paramMotionEvent = a(f6, f4); + if ((paramMotionEvent != null) && (this.d != null)) + { + this.n = true; + this.j = LockPatternView.DisplayMode.Correct; + if (this.e != null) { + this.e.a(); + } + this.d.a(); + } + for (;;) + { + if (paramMotionEvent != null) + { + i1 = paramMotionEvent.b; + f1 = getPaddingLeft(); + f1 = i1 * this.q + f1 + this.q / 2.0F; + i1 = paramMotionEvent.a; + f2 = getPaddingTop(); + f2 = i1 * this.r + f2 + this.r / 2.0F; + f3 = this.q / 2.0F; + f5 = this.r / 2.0F; + invalidate((int)(f1 - f3), (int)(f2 - f5), (int)(f1 + f3), (int)(f2 + f5)); + } + this.h = f6; + this.i = f4; + return true; + if (this.d != null) + { + this.n = false; + if (this.e != null) { + this.e.b(); + } + this.d.b(); + } + } + case 1: + if ((!this.f.isEmpty()) && (this.d != null)) + { + this.n = false; + if (this.e != null) { + this.e.a(this.f); + } + this.d.a(this.f); + invalidate(); + } + return true; + case 2: + i1 = this.f.size(); + paramMotionEvent = a(f6, f4); + int i2 = this.f.size(); + if ((paramMotionEvent != null) && (this.d != null) && (i2 == 1)) + { + this.n = true; + if (this.e != null) { + this.e.a(); + } + this.d.a(); + } + float f7; + float f8; + float f9; + if (Math.abs(f6 - this.h) + Math.abs(f4 - this.i) > this.q * 0.01F) + { + f5 = this.h; + f3 = this.i; + this.h = f6; + this.i = f4; + if ((!this.n) || (i2 <= 0)) { + break label1049; + } + ArrayList localArrayList = this.f; + float f10 = this.q * this.o * 0.5F; + Object localObject = (ca)localArrayList.get(i2 - 1); + int i3 = ((ca)localObject).b; + f1 = getPaddingLeft(); + f2 = i3; + f7 = this.q; + f2 = this.q / 2.0F + (f2 * f7 + f1); + i3 = ((ca)localObject).a; + f1 = getPaddingTop(); + f7 = i3; + f8 = this.r; + f1 = this.r / 2.0F + (f7 * f8 + f1); + localObject = this.B; + if (f2 >= f6) { + break label991; + } + f7 = f2; + if (f1 >= f4) { + break label1001; + } + f9 = f1; + f8 = f4; + label647: + ((Rect)localObject).set((int)(f7 - f10), (int)(f9 - f10), (int)(f6 + f10), (int)(f8 + f10)); + if (f2 >= f5) { + break label1011; + } + f4 = f2; + f2 = f5; + label689: + f6 = f1; + f5 = f3; + if (f1 < f3) + { + f5 = f1; + f6 = f3; + } + ((Rect)localObject).union((int)(f4 - f10), (int)(f5 - f10), (int)(f2 + f10), (int)(f6 + f10)); + if (paramMotionEvent != null) + { + i3 = paramMotionEvent.b; + f1 = getPaddingLeft(); + f2 = i3; + f3 = this.q; + f1 = this.q / 2.0F + (f2 * f3 + f1); + i3 = paramMotionEvent.a; + f2 = getPaddingTop(); + f2 = i3 * this.r + f2 + this.r / 2.0F; + if (i2 < 2) { + break label1037; + } + paramMotionEvent = (ca)localArrayList.get(i2 - 1 - (i2 - i1)); + i1 = paramMotionEvent.b; + f3 = getPaddingLeft(); + f4 = i1; + f5 = this.q; + f3 = this.q / 2.0F + (f4 * f5 + f3); + i1 = paramMotionEvent.a; + f4 = getPaddingTop(); + f5 = i1; + f6 = this.r; + f4 = this.r / 2.0F + (f5 * f6 + f4); + if (f1 >= f3) { + break label1018; + } + f5 = f3; + f3 = f1; + f1 = f5; + label932: + if (f2 >= f4) { + break label1021; + } + f5 = f1; + label942: + f1 = this.q / 2.0F; + f6 = this.r / 2.0F; + ((Rect)localObject).set((int)(f3 - f1), (int)(f2 - f6), (int)(f5 + f1), (int)(f4 + f6)); + } + invalidate((Rect)localObject); + } + for (;;) + { + return true; + label991: + f7 = f6; + f6 = f2; + break; + label1001: + f8 = f1; + f9 = f4; + break label647; + label1011: + f4 = f5; + break label689; + label1018: + break label932; + label1021: + f6 = f4; + f5 = f1; + f4 = f2; + f2 = f6; + break label942; + label1037: + f5 = f1; + f4 = f2; + f3 = f1; + break label942; + label1049: + invalidate(); + } + } + this.f.clear(); + i(); + this.j = LockPatternView.DisplayMode.Correct; + invalidate(); + if (this.d != null) + { + this.n = false; + if (this.e != null) { + this.e.b(); + } + this.d.b(); + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LockPatternView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgMenuDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgMenuDialog.java new file mode 100755 index 00000000000..ad361977861 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgMenuDialog.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.View.OnClickListener; +import android.view.Window; +import android.widget.Button; + +public class LoginMsgMenuDialog + extends Dialog +{ + private Activity a; + private Button b; + private Button c; + private View.OnClickListener d; + private View.OnClickListener e; + + protected void onCreate(Bundle paramBundle) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903125); + this.b = ((Button)findViewById(2131296780)); + this.c = ((Button)findViewById(2131296781)); + this.b.setOnClickListener(this.e); + this.c.setOnClickListener(this.d); + setCanceledOnTouchOutside(true); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + paramBundle.getAttributes().width = -1; + paramBundle.setGravity(80); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LoginMsgMenuDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgRightLetterView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgRightLetterView.java new file mode 100755 index 00000000000..0ec9d12020a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/LoginMsgRightLetterView.java @@ -0,0 +1,102 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Typeface; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import com.tencent.token.o; + +public class LoginMsgRightLetterView + extends View +{ + cd a; + Paint b = new Paint(); + private int c = -1; + private float d; + private String[] e; + private int f = -1; + + public LoginMsgRightLetterView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.d = paramContext.getResources().getDimension(2131230728); + this.e = o.a().f; + this.b.setTypeface(Typeface.DEFAULT_BOLD); + this.b.setAntiAlias(true); + this.b.setTextSize(this.d); + this.b.setColor(paramContext.getResources().getColor(2131165259)); + } + + public LoginMsgRightLetterView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + } + + public final void a(cd paramcd) + { + this.a = paramcd; + } + + public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) + { + int i = paramMotionEvent.getAction(); + float f1 = paramMotionEvent.getY(); + int j = this.c; + paramMotionEvent = this.a; + int k = (int)(f1 / getHeight() * this.e.length); + switch (i) + { + } + for (;;) + { + return true; + if ((j != k) && (paramMotionEvent != null) && (k >= 0) && (k < this.e.length)) + { + paramMotionEvent.a(k); + this.c = k; + continue; + if ((j != k) && (paramMotionEvent != null) && (k >= 0) && (k < this.e.length)) + { + paramMotionEvent.a(k); + this.c = k; + continue; + this.c = -1; + } + } + } + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + int i = getHeight(); + int j = getWidth(); + if (this.f == -1) { + this.f = (i / this.e.length); + } + i = 0; + while (i < this.e.length) + { + float f1 = j / 2; + float f2 = this.b.measureText(this.e[i]) / 2.0F; + float f3 = this.f * i + this.f * 3 / 4; + paramCanvas.drawText(this.e[i], f1 - f2, f3, this.b); + i += 1; + } + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + return super.onTouchEvent(paramMotionEvent); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.LoginMsgRightLetterView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/MyViewPaper.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/MyViewPaper.java new file mode 100755 index 00000000000..629d4dde93a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/MyViewPaper.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.ViewParent; + +public class MyViewPaper + extends ViewPager +{ + public MyViewPaper(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + switch (paramMotionEvent.getAction()) + { + } + for (;;) + { + return super.onInterceptTouchEvent(paramMotionEvent); + paramMotionEvent.getX(); + paramMotionEvent.getY(); + getParent().requestDisallowInterceptTouchEvent(true); + continue; + if (Math.abs(paramMotionEvent.getX() - 0.0F) > Math.abs(paramMotionEvent.getY() - 0.0F)) + { + getParent().requestDisallowInterceptTouchEvent(true); + } + else + { + getParent().requestDisallowInterceptTouchEvent(false); + continue; + getParent().requestDisallowInterceptTouchEvent(false); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.MyViewPaper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialog.java new file mode 100755 index 00000000000..79876336c0a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialog.java @@ -0,0 +1,48 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.Window; +import android.view.animation.AnimationUtils; +import android.widget.ImageView; + +public class ProDialog + extends Dialog +{ + private Activity a; + private String b; + + public ProDialog(Activity paramActivity) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + } + + public ProDialog(Activity paramActivity, String paramString) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + this.b = paramString; + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903155); + getWindow().setBackgroundDrawableResource(2130837639); + ((ImageView)findViewById(2131296914)).startAnimation(AnimationUtils.loadAnimation(this.a, 2130968581)); + setOnDismissListener(new cl(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ProDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialogWithShutDown.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialogWithShutDown.java new file mode 100755 index 00000000000..c17a68d54b3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ProDialogWithShutDown.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.os.Bundle; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.animation.AnimationUtils; +import android.widget.ImageView; +import android.widget.TextView; + +public class ProDialogWithShutDown + extends Dialog +{ + private Activity a; + private ImageView b; + private View.OnClickListener c; + private String d; + private boolean e; + + public ProDialogWithShutDown(Activity paramActivity, View.OnClickListener paramOnClickListener, String paramString) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + this.c = paramOnClickListener; + this.d = paramString; + } + + public ProDialogWithShutDown(Activity paramActivity, View.OnClickListener paramOnClickListener, String paramString, boolean paramBoolean) + { + super(paramActivity, 2131427400); + this.a = paramActivity; + this.c = paramOnClickListener; + this.d = paramString; + this.e = paramBoolean; + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903156); + getWindow().setBackgroundDrawableResource(2130837639); + if (this.e) + { + paramBundle = (TextView)findViewById(2131296915); + if ((this.d != null) && (this.d.length() > 0)) { + paramBundle.setText(this.d); + } + } + ((ImageView)findViewById(2131296914)).startAnimation(AnimationUtils.loadAnimation(this.a, 2130968581)); + this.b = ((ImageView)findViewById(2131296917)); + this.b.setOnClickListener(new cm(this)); + setOnDismissListener(new cn(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ProDialogWithShutDown + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout$Status.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout$Status.java new file mode 100755 index 00000000000..5567e8703e2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout$Status.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.PullToRefreshLinearLayout.Status + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout.java new file mode 100755 index 00000000000..83cfccd9704 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshLinearLayout.java @@ -0,0 +1,202 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.animation.LinearInterpolator; +import android.view.animation.RotateAnimation; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.ScrollView; +import android.widget.Scroller; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; + +public class PullToRefreshLinearLayout + extends LinearLayout +{ + private Context a; + private ImageView b; + private TextView c; + private PullToRefreshLinearLayout.Status d = PullToRefreshLinearLayout.Status.INIT; + private PullToRefreshLinearLayout.Status e = PullToRefreshLinearLayout.Status.INIT; + private Scroller f; + private int g; + private int h; + private int i; + private int j; + private boolean k = false; + private boolean l = true; + private boolean m = false; + private cp n; + private View o; + private RotateAnimation p; + private RotateAnimation q; + + public PullToRefreshLinearLayout(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.a = paramContext; + this.f = new Scroller(this.a); + if (!isInEditMode()) + { + this.j = ViewConfiguration.get(getContext()).getScaledTouchSlop(); + this.i = ((int)(-50.0F * IndexActivity.S_DENSITY)); + this.o = LayoutInflater.from(this.a).inflate(2130903048, null); + paramContext = new LinearLayout.LayoutParams(-1, -this.i); + paramContext.topMargin = this.i; + paramContext.gravity = 17; + this.o.setLayoutParams(paramContext); + addView(this.o, paramContext); + this.b = ((ImageView)this.o.findViewById(2131296391)); + this.c = ((TextView)this.o.findViewById(2131296392)); + this.p = new RotateAnimation(0.0F, -180.0F, 1, 0.5F, 1, 0.5F); + this.p.setInterpolator(new LinearInterpolator()); + this.p.setDuration(250L); + this.p.setFillAfter(true); + this.q = new RotateAnimation(-180.0F, 0.0F, 1, 0.5F, 1, 0.5F); + this.q.setInterpolator(new LinearInterpolator()); + this.q.setDuration(250L); + this.q.setFillAfter(true); + } + } + + private int b() + { + if (getChildCount() > 1) + { + View localView = getChildAt(1); + if ((localView instanceof ScrollView)) + { + if (((ScrollView)localView).getScrollY() == 0) { + return 0; + } + return -1; + } + } + return -1; + } + + public final void a() + { + LinearLayout.LayoutParams localLayoutParams = (LinearLayout.LayoutParams)this.o.getLayoutParams(); + localLayoutParams.topMargin = this.i; + this.o.setLayoutParams(localLayoutParams); + this.o.invalidate(); + invalidate(); + this.m = false; + } + + public final void a(cp paramcp) + { + this.n = paramcp; + } + + public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) + { + return super.dispatchTouchEvent(paramMotionEvent); + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int i1 = (int)paramMotionEvent.getRawY(); + int i2 = (int)paramMotionEvent.getRawX(); + switch (paramMotionEvent.getAction()) + { + } + for (;;) + { + this.g = i1; + this.h = i2; + return super.onInterceptTouchEvent(paramMotionEvent); + if ((i1 - this.g > 5) && (b() == 0)) + { + return true; + e.b("MotionEvent.ACTION_UP"); + } + } + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + int i1 = (int)paramMotionEvent.getRawY(); + int i2 = (int)paramMotionEvent.getRawX(); + switch (paramMotionEvent.getAction()) + { + } + for (;;) + { + this.g = i1; + this.h = i2; + return true; + this.d = PullToRefreshLinearLayout.Status.PULLTOREFRESH; + int i3 = i1 - this.g; + if ((i3 >= -5) || (b() != 1)) + { + this.k = true; + paramMotionEvent = (LinearLayout.LayoutParams)this.o.getLayoutParams(); + float f1 = paramMotionEvent.topMargin; + paramMotionEvent.topMargin = ((int)(i3 * 0.3F + f1)); + this.o.setLayoutParams(paramMotionEvent); + this.o.invalidate(); + invalidate(); + this.c.setVisibility(0); + this.b.setVisibility(0); + if (paramMotionEvent.topMargin > 0) + { + this.d = PullToRefreshLinearLayout.Status.RELEASETOREFRESH; + this.c.setText("释放立即体检"); + if (this.e != this.d) { + this.b.startAnimation(this.p); + } + } + for (;;) + { + this.e = this.d; + break; + this.c.setText("下拉重新体检"); + this.d = PullToRefreshLinearLayout.Status.PULLTOREFRESH; + if (this.e != this.d) { + this.b.startAnimation(this.q); + } + } + e.b("MotionEvent.ACTION_UP"); + paramMotionEvent = (LinearLayout.LayoutParams)this.o.getLayoutParams(); + if (paramMotionEvent.topMargin > 0) + { + this.b.setVisibility(8); + this.c.setVisibility(8); + paramMotionEvent.topMargin = this.i; + this.o.setLayoutParams(paramMotionEvent); + this.o.invalidate(); + invalidate(); + if (this.n != null) + { + this.n.onRefresh(this); + this.m = true; + } + } + else + { + this.b.setVisibility(0); + this.c.setVisibility(0); + paramMotionEvent.topMargin = this.i; + this.o.setLayoutParams(paramMotionEvent); + this.o.invalidate(); + invalidate(); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.PullToRefreshLinearLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshListView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshListView.java new file mode 100755 index 00000000000..04784cd0185 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/PullToRefreshListView.java @@ -0,0 +1,294 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.graphics.Canvas; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; +import android.view.animation.LinearInterpolator; +import android.view.animation.RotateAnimation; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +public class PullToRefreshListView + extends ListView +{ + private int a; + private View b; + private ImageView c; + private ProgressBar d; + private TextView e; + private TextView f; + private RotateAnimation g; + private RotateAnimation h; + private int i; + private Context j; + private cq k; + private int l; + private int m = 0; + private float n; + private boolean o = false; + private long p; + + public PullToRefreshListView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.j = paramContext; + } + + private void b(int paramInt) + { + if (paramInt != this.m) + { + if (paramInt != 3) { + break label82; + } + this.c.clearAnimation(); + this.c.setVisibility(8); + this.d.setVisibility(0); + this.f.setVisibility(8); + switch (paramInt) + { + } + } + for (;;) + { + this.m = paramInt; + return; + label82: + this.c.setVisibility(0); + this.d.setVisibility(8); + this.f.setVisibility(0); + break; + if (this.m == 1) + { + this.c.clearAnimation(); + this.c.startAnimation(this.h); + } + this.e.setText(2131362021); + continue; + if (this.m == 2) + { + this.c.clearAnimation(); + this.c.startAnimation(this.g); + } + this.e.setText(2131362022); + continue; + this.b.setPadding(0, 0, 0, 0); + this.b.invalidate(); + this.e.setText(this.l); + if (this.k != null) + { + this.k.onRefresh(); + continue; + this.b.setPadding(0, -this.a, 0, 0); + this.b.invalidate(); + this.e.setText(2131362021); + } + } + } + + public final void a() + { + b(3); + } + + public final void a(int paramInt) + { + this.l = paramInt; + this.b = LayoutInflater.from(this.j).inflate(2130903140, this, false); + View localView = this.b; + ViewGroup.LayoutParams localLayoutParams2 = localView.getLayoutParams(); + ViewGroup.LayoutParams localLayoutParams1 = localLayoutParams2; + if (localLayoutParams2 == null) { + localLayoutParams1 = new ViewGroup.LayoutParams(-1, -2); + } + int i1 = ViewGroup.getChildMeasureSpec(0, 0, localLayoutParams1.width); + paramInt = localLayoutParams1.height; + if (paramInt > 0) {} + for (paramInt = View.MeasureSpec.makeMeasureSpec(paramInt, 1073741824);; paramInt = View.MeasureSpec.makeMeasureSpec(0, 0)) + { + localView.measure(i1, paramInt); + this.a = this.b.getMeasuredHeight(); + if (this.a < 10) { + this.a = 10; + } + this.b.setPadding(0, -this.a, 0, 0); + addHeaderView(this.b, null, false); + this.c = ((ImageView)this.b.findViewById(2131296393)); + this.d = ((ProgressBar)this.b.findViewById(2131296832)); + this.e = ((TextView)this.b.findViewById(2131296394)); + this.f = ((TextView)this.b.findViewById(2131296833)); + this.c.setImageResource(2130837794); + this.g = new RotateAnimation(0.0F, -180.0F, 1, 0.5F, 1, 0.5F); + this.g.setInterpolator(new LinearInterpolator()); + this.g.setDuration(250L); + this.g.setFillAfter(true); + this.h = new RotateAnimation(-180.0F, 0.0F, 1, 0.5F, 1, 0.5F); + this.h.setInterpolator(new LinearInterpolator()); + this.h.setDuration(250L); + this.h.setFillAfter(true); + setOnScrollListener(new cr(this)); + return; + } + } + + public final void a(long paramLong) + { + this.p = paramLong; + String str = s.a(paramLong); + this.f.setText(str); + } + + public final void a(cq paramcq) + { + this.k = paramcq; + } + + public final void a(String paramString) + { + try + { + paramString = this.j.getSharedPreferences(paramString, 0).edit(); + paramString.putLong("refresh_time", this.p); + paramString.commit(); + return; + } + catch (Exception paramString) + { + e.c("SharedPreferences msg " + paramString.getMessage()); + } + } + + public final long b(String paramString) + { + try + { + long l1 = this.j.getSharedPreferences(paramString, 0).getLong("refresh_time", 0L); + return l1; + } + catch (Exception paramString) + { + e.c("SharedPreferences msg " + paramString.getMessage()); + } + return 0L; + } + + public final void b() + { + b(0); + } + + protected void dispatchDraw(Canvas paramCanvas) + { + try + { + super.dispatchDraw(paramCanvas); + return; + } + catch (IndexOutOfBoundsException paramCanvas) + { + e.c("PullToRefreshListView dispatchDraw" + paramCanvas.toString()); + } + } + + public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) + { + for (;;) + { + try + { + switch (paramMotionEvent.getAction()) + { + case 0: + return super.dispatchTouchEvent(paramMotionEvent); + if ((this.o) || (this.i != 0) || (this.m == 3)) { + continue; + } + e.b("DOWN " + paramMotionEvent.getY()); + this.o = true; + this.n = paramMotionEvent.getY(); + continue; + } + } + catch (IndexOutOfBoundsException paramMotionEvent) + { + e.c("PullToRefreshListView dispatchTouchEvent" + paramMotionEvent.toString()); + return false; + if ((!this.o) && (this.i == 0) && (this.m != 3)) + { + e.b("DOWN2 " + paramMotionEvent.getY()); + this.o = true; + this.n = paramMotionEvent.getY(); + } + if ((!this.o) || (this.m == 3)) { + continue; + } + e.b("MOVE " + paramMotionEvent.getY()); + float f1 = paramMotionEvent.getY() - this.n; + if (f1 <= 0.0F) { + continue; + } + this.b.setPadding(0, -this.a + (int)(f1 / 2.0F), 0, 0); + if (f1 <= this.a * 2) + { + b(2); + continue; + } + } + catch (Exception paramMotionEvent) + { + e.c("PullToRefreshListView dispatchTouchEvent" + paramMotionEvent.toString()); + return false; + } + b(1); + continue; + if ((this.o) && (this.m != 3)) + { + e.b("UP " + paramMotionEvent.getY()); + this.o = false; + if (this.m == 1) { + b(3); + } else { + b(0); + } + } + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + try + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + return; + } + catch (IndexOutOfBoundsException localIndexOutOfBoundsException) + { + e.c("PullToRefreshListView onLayout" + localIndexOutOfBoundsException.toString()); + localIndexOutOfBoundsException.printStackTrace(); + return; + } + catch (Exception localException) + { + e.c("PullToRefreshListView onLayout" + localException.toString()); + localException.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.PullToRefreshListView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/RecordTextView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/RecordTextView.java new file mode 100755 index 00000000000..f0511c1e915 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/RecordTextView.java @@ -0,0 +1,62 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.os.Handler; +import android.util.AttributeSet; +import android.widget.TextView; + +public class RecordTextView + extends TextView +{ + private boolean a; + private Paint b = new Paint(); + private int c; + private ct d; + private boolean e; + private int f = 20; + private int g; + private int h; + private int i; + private boolean j; + private int k; + private Handler l = new cs(this); + + public RecordTextView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.b.setAntiAlias(true); + this.g = paramContext.getResources().getColor(2131165317); + this.h = paramContext.getResources().getColor(2131165318); + this.i = paramContext.getResources().getColor(2131165319); + } + + public void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + if (this.a) + { + this.b.setColor(this.g); + paramCanvas.drawRect(0.0F, getTop(), this.c, getTop() + getHeight(), this.b); + if (!this.j) { + break label109; + } + this.b.setColor(this.h); + } + for (;;) + { + paramCanvas.drawRect(this.c, getTop(), this.c + this.f, getTop() + getHeight(), this.b); + return; + label109: + this.b.setColor(this.i); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.RecordTextView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/RoundImageView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/RoundImageView.java new file mode 100755 index 00000000000..1adab9a5838 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/RoundImageView.java @@ -0,0 +1,99 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PaintFlagsDrawFilter; +import android.graphics.Path; +import android.graphics.Path.Direction; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffXfermode; +import android.graphics.RectF; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.widget.ImageView; + +public class RoundImageView + extends ImageView +{ + Path a = new Path(); + private int b; + private int c; + private int d; + private Paint e = new Paint(); + private Bitmap f; + private Bitmap g; + private RectF h; + private int i; + private PorterDuffXfermode j = new PorterDuffXfermode(PorterDuff.Mode.SRC_IN); + + public RoundImageView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + } + + protected void onDraw(Canvas paramCanvas) + { + Drawable localDrawable = getDrawable(); + if (localDrawable == null) {} + label241: + for (;;) + { + return; + if ((localDrawable instanceof BitmapDrawable)) {} + for (Bitmap localBitmap1 = ((BitmapDrawable)localDrawable).getBitmap();; localBitmap1 = null) + { + if (localDrawable.getCurrent() == null) { + break label241; + } + Bitmap localBitmap2 = localBitmap1; + if (localBitmap1 == null) + { + localBitmap2 = localBitmap1; + if ((localDrawable.getCurrent() instanceof BitmapDrawable)) { + localBitmap2 = ((BitmapDrawable)localDrawable.getCurrent()).getBitmap(); + } + } + if ((localBitmap2 != null) && ((this.f == null) || (this.g == null) || (this.f != localBitmap2))) + { + this.f = localBitmap2; + if ((this.c > 0) && (this.d > 0)) { + this.g = Bitmap.createScaledBitmap(localBitmap2, this.c, this.d, true); + } + } + if (this.g == null) { + break; + } + paramCanvas.saveLayerAlpha(this.h, 255, 31); + this.e.reset(); + this.e.setAntiAlias(true); + paramCanvas.setDrawFilter(new PaintFlagsDrawFilter(0, 3)); + paramCanvas.drawCircle(this.i, this.i, this.i, this.e); + this.e.setXfermode(this.j); + paramCanvas.drawBitmap(this.g, 0.0F, 0.0F, this.e); + this.e.setXfermode(null); + return; + } + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + this.a.reset(); + float f1 = getMeasuredWidth() * 0.5F; + this.a.addCircle(f1, f1, f1 - this.b, Path.Direction.CW); + this.c = getMeasuredWidth(); + this.d = getMeasuredHeight(); + this.h = new RectF(0.0F, 0.0F, this.c, this.d); + this.i = (this.c / 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.RoundImageView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/SafeListView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SafeListView.java new file mode 100755 index 00000000000..73a5d60ab65 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SafeListView.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.graphics.Canvas; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.widget.ListView; +import com.tencent.token.global.e; + +public class SafeListView + extends ListView +{ + public SafeListView(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + } + + public SafeListView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + } + + protected void dispatchDraw(Canvas paramCanvas) + { + try + { + super.dispatchDraw(paramCanvas); + return; + } + catch (IndexOutOfBoundsException paramCanvas) + { + e.c("SafeListView dispatchDraw" + paramCanvas.toString()); + } + } + + public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) + { + try + { + boolean bool = super.dispatchTouchEvent(paramMotionEvent); + return bool; + } + catch (IndexOutOfBoundsException paramMotionEvent) + { + e.c("SafeListView dispatchTouchEvent" + paramMotionEvent.toString()); + return false; + } + catch (Exception paramMotionEvent) + { + e.c("SafeListView dispatchTouchEvent" + paramMotionEvent.toString()); + } + return false; + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + try + { + super.onLayout(paramBoolean, paramInt1, paramInt2, paramInt3, paramInt4); + return; + } + catch (IndexOutOfBoundsException localIndexOutOfBoundsException) + { + e.c("SafeListView onLayout" + localIndexOutOfBoundsException.toString()); + localIndexOutOfBoundsException.printStackTrace(); + return; + } + catch (Exception localException) + { + e.c("SafeListView onLayout" + localException.toString()); + localException.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.SafeListView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ScrollLayout.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ScrollLayout.java new file mode 100755 index 00000000000..6f6612fd0f8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ScrollLayout.java @@ -0,0 +1,221 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.view.Display; +import android.view.MotionEvent; +import android.view.VelocityTracker; +import android.view.View; +import android.view.View.MeasureSpec; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.Scroller; +import com.tencent.token.m; + +public class ScrollLayout + extends ViewGroup +{ + private Scroller a; + private VelocityTracker b; + private int c; + private int d = 0; + private int e = 0; + private int f; + private float g; + private float h; + private int i; + private cv j; + private int k; + private boolean l; + + public ScrollLayout(Context paramContext, AttributeSet paramAttributeSet) + { + this(paramContext, paramAttributeSet, 0); + } + + public ScrollLayout(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + this.a = new Scroller(paramContext); + this.l = paramContext.obtainStyledAttributes(paramAttributeSet, m.a).getBoolean(0, false); + this.c = this.d; + this.f = ViewConfiguration.get(getContext()).getScaledTouchSlop(); + } + + private void b(int paramInt) + { + paramInt = Math.max(0, Math.min(paramInt, getChildCount() - 1)); + if (getScrollX() != getWidth() * paramInt) + { + int m = getWidth(); + int n = getScrollX(); + this.a.startScroll(getScrollX(), getTop(), m * paramInt - n, getTop(), 200); + this.c = paramInt; + if (this.j != null) { + this.j.a(this.c); + } + invalidate(); + } + } + + public final void a(int paramInt) + { + paramInt = Math.max(0, Math.min(paramInt, getChildCount() - 1)); + this.c = paramInt; + scrollTo(paramInt * getWidth(), getTop()); + } + + public final void a(cv paramcv) + { + this.j = paramcv; + } + + public void computeScroll() + { + if (this.a.computeScrollOffset()) + { + scrollTo(this.a.getCurrX(), this.a.getCurrY()); + postInvalidate(); + } + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int m = paramMotionEvent.getAction(); + if ((m == 2) && (this.e != 0)) {} + for (;;) + { + return true; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + switch (m) + { + } + while (this.e == 0) + { + return false; + if ((int)Math.abs(this.g - f1) > this.f) + { + this.e = 1; + continue; + this.g = f1; + this.h = f2; + if (this.a.isFinished()) {} + for (m = 0;; m = 1) + { + this.e = m; + break; + } + this.e = 0; + } + } + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramInt1 = 0; + if (paramBoolean) + { + paramInt4 = getChildCount(); + paramInt2 = ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getHeight(); + if (this.l) {} + for (this.i = 0;; this.i = (paramInt2 * 12 / 100)) { + for (paramInt2 = 0; paramInt1 < paramInt4; paramInt2 = paramInt3) + { + View localView = getChildAt(paramInt1); + paramInt3 = paramInt2; + if (localView.getVisibility() != 8) + { + this.k = localView.getMeasuredHeight(); + localView.layout(paramInt2, this.i, getWidth() + paramInt2, this.i + this.k); + paramInt3 = paramInt2 + getWidth(); + } + paramInt1 += 1; + } + } + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + super.onMeasure(paramInt1, paramInt2); + View.MeasureSpec.getSize(paramInt1); + View.MeasureSpec.getMode(paramInt1); + int n = getChildCount(); + int m = 0; + while (m < n) + { + getChildAt(m).measure(paramInt1, paramInt2); + m += 1; + } + scrollTo(this.c * getWidth(), getTop()); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + if (this.b == null) { + this.b = VelocityTracker.obtain(); + } + this.b.addMovement(paramMotionEvent); + int m = paramMotionEvent.getAction(); + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + if ((f2 < this.i) || (f2 > this.i + this.k)) { + return false; + } + switch (m) + { + } + for (;;) + { + return true; + if (!this.a.isFinished()) { + this.a.abortAnimation(); + } + this.g = f1; + continue; + m = (int)(this.g - f1); + if (((this.c == 0) && (m < 0) && (getScrollX() < -getWidth() / 5)) || ((this.c == getChildCount() - 1) && (m > 0) && (getScrollX() > getWidth() / 5 + getWidth() * (getChildCount() - 1)))) { + break; + } + this.g = f1; + scrollBy(m, 0); + continue; + paramMotionEvent = this.b; + paramMotionEvent.computeCurrentVelocity(1000); + m = (int)paramMotionEvent.getXVelocity(); + if ((m > 600) && (this.c > 0)) { + b(this.c - 1); + } + for (;;) + { + if (this.b != null) + { + this.b.recycle(); + this.b = null; + } + this.e = 0; + break; + if ((m < -600) && (this.c < getChildCount() - 1)) + { + b(this.c + 1); + } + else + { + m = getWidth(); + b((getScrollX() + m / 2) / m); + } + } + this.e = 0; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ScrollLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/SecondVerifyDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SecondVerifyDialog.java new file mode 100755 index 00000000000..8c17ea4ad8c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SecondVerifyDialog.java @@ -0,0 +1,81 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.view.Display; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.bf; + +public class SecondVerifyDialog + extends Dialog +{ + ProDialog a = null; + private TextView b; + private TextView c; + private Activity d; + private EditText e; + private Button f; + private Button g; + private Handler h; + private boolean i = false; + private int j; + + public SecondVerifyDialog(Activity paramActivity, Handler paramHandler, int paramInt) + { + super(paramActivity, 2131427400); + this.d = paramActivity; + this.h = paramHandler; + this.j = paramInt; + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.d == null) || ((this.d != null) && (this.d.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + setContentView(2130903191); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + ((ViewGroup.MarginLayoutParams)findViewById(2131297037).getLayoutParams()).width = paramBundle.getWindowManager().getDefaultDisplay().getWidth(); + paramBundle = bf.a(); + this.b = ((TextView)findViewById(2131297039)); + if ((paramBundle.b() != null) && (paramBundle.b().length() > 0)) { + this.b.setText(paramBundle.b()); + } + for (;;) + { + this.c = ((TextView)findViewById(2131297040)); + if ((paramBundle.c() != null) && (paramBundle.c().length() > 0)) { + this.c.setText(paramBundle.c()); + } + this.e = ((EditText)findViewById(2131297041)); + this.e.clearFocus(); + this.f = ((Button)findViewById(2131297043)); + this.f.setText(paramBundle.e()); + this.f.setOnClickListener(new cw(this)); + this.g = ((Button)findViewById(2131297042)); + this.g.setText(paramBundle.d()); + this.g.setOnClickListener(new cy(this)); + return; + this.b.setText(this.d.getResources().getString(2131361808)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.SecondVerifyDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/SlidingMenuView.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SlidingMenuView.java new file mode 100755 index 00000000000..ba23fc03b14 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SlidingMenuView.java @@ -0,0 +1,371 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.graphics.Canvas; +import android.util.AttributeSet; +import android.view.Display; +import android.view.MotionEvent; +import android.view.VelocityTracker; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.Scroller; + +public class SlidingMenuView + extends ViewGroup +{ + private static String c = "SlidingMenuView"; + public int a = 0; + int b = 0; + private int d = 1; + private int e = this.d; + private int f = -1; + private Scroller g = new Scroller(getContext()); + private VelocityTracker h; + private float i; + private float j; + private boolean k; + private int l = ViewConfiguration.get(getContext()).getScaledTouchSlop(); + private da m; + + public SlidingMenuView(Context paramContext, AttributeSet paramAttributeSet) + { + this(paramContext, paramAttributeSet, 0); + } + + public SlidingMenuView(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + postDelayed(new cz(this), 1L); + } + + public final int a() + { + return this.e; + } + + public final void a(int paramInt) + { + int i1 = 1; + if ((this.a != 1) && (this.m != null)) { + this.m.a(true); + } + int i2 = getChildCount(); + int n = 0; + while (n < i2) + { + getChildAt(n).setDrawingCacheEnabled(true); + n += 1; + } + i2 = Math.max(0, Math.min(paramInt, getChildCount() - 1)); + if (i2 != this.e) {} + for (paramInt = i1;; paramInt = 0) + { + this.f = i2; + View localView = getFocusedChild(); + if ((localView != null) && (paramInt != 0) && (localView == getChildAt(this.e))) { + localView.clearFocus(); + } + n = 0; + paramInt = 0; + while (n < i2) + { + paramInt += getChildAt(n).getWidth(); + n += 1; + } + } + n = getScrollX(); + this.g.startScroll(getScrollX(), 0, paramInt - n, 0, Math.abs(100) * 2); + invalidate(); + } + + public final void a(da paramda) + { + this.m = paramda; + } + + public final int b() + { + return this.f; + } + + public void computeScroll() + { + if (this.g.computeScrollOffset()) { + scrollTo(this.g.getCurrX(), this.g.getCurrY()); + } + for (;;) + { + return; + if (this.f != -1) + { + if (this.m != null) { + this.m.a(false); + } + this.e = Math.max(0, Math.min(this.f, getChildCount() - 1)); + this.f = -1; + int i1 = getChildCount(); + int n = 0; + while (n < i1) + { + getChildAt(n).setDrawingCacheEnabled(false); + n += 1; + } + } + } + } + + protected void dispatchDraw(Canvas paramCanvas) + { + int n = getScrollX(); + super.dispatchDraw(paramCanvas); + paramCanvas.translate(n, 0.0F); + } + + public boolean dispatchUnhandledMove(View paramView, int paramInt) + { + if (paramInt == 17) + { + if (this.e > 0) + { + a(this.e - 1); + return true; + } + } + else if ((paramInt == 66) && (this.e < getChildCount() - 1)) + { + a(this.e + 1); + return true; + } + return super.dispatchUnhandledMove(paramView, paramInt); + } + + protected void onFinishInflate() + { + super.onFinishInflate(); + int n = 0; + while (n < getChildCount()) + { + View localView = getChildAt(n); + localView.setFocusable(true); + localView.setClickable(true); + n += 1; + } + } + + public boolean onInterceptTouchEvent(MotionEvent paramMotionEvent) + { + int n = paramMotionEvent.getAction(); + if ((n == 2) && (this.a != 0)) {} + for (;;) + { + return true; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + switch (n) + { + } + while ((this.e != 0) || (f1 <= ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getWidth() - ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getWidth() / 6)) + { + return false; + n = (int)Math.abs(f1 - this.i); + int i1 = (int)Math.abs(f2 - this.j); + int i2 = this.l; + if (n > i2 * 5) + { + n = 1; + label165: + if (i1 <= i2) { + break label253; + } + } + label253: + for (i1 = 1; (n != 0) || (i1 != 0); i1 = 0) + { + if (n == 0) { + break label259; + } + this.a = 1; + if (this.m != null) { + this.m.a(true); + } + i1 = getChildCount(); + n = 0; + while (n < i1) + { + getChildAt(n).setDrawingCacheEnabled(true); + n += 1; + } + n = 0; + break label165; + } + label259: + if (this.k) + { + this.k = false; + getChildAt(this.e).cancelLongPress(); + continue; + this.i = f1; + this.j = f2; + this.k = true; + if (this.g.isFinished()) {} + for (n = 0;; n = 1) + { + this.a = n; + break; + } + i1 = getChildCount(); + n = 0; + while (n < i1) + { + getChildAt(n).setDrawingCacheEnabled(false); + n += 1; + } + this.a = 0; + this.k = false; + } + } + } + } + + protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + paramInt4 = getChildCount(); + paramInt1 = 0; + for (paramInt2 = 0; paramInt1 < paramInt4; paramInt2 = paramInt3) + { + View localView = getChildAt(paramInt1); + paramInt3 = paramInt2; + if (localView.getVisibility() != 8) + { + paramInt3 = localView.getMeasuredWidth(); + localView.layout(paramInt2, 0, paramInt2 + paramInt3, localView.getMeasuredHeight()); + paramInt3 = paramInt2 + paramInt3; + } + paramInt1 += 1; + } + this.b = paramInt2; + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + super.onMeasure(paramInt1, paramInt2); + findViewById(2131296641).measure(paramInt1 - ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getWidth() / 6, paramInt2); + findViewById(2131296643).measure(paramInt1, paramInt2); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + if (this.h == null) { + this.h = VelocityTracker.obtain(); + } + this.h.addMovement(paramMotionEvent); + int n = paramMotionEvent.getAction(); + float f1 = paramMotionEvent.getX(); + label163: + int i1; + switch (n) + { + default: + case 0: + case 2: + do + { + do + { + return true; + if (!this.g.isFinished()) { + this.g.abortAnimation(); + } + this.i = f1; + return true; + if ((int)Math.abs(f1 - this.i) > this.l) {} + for (n = 1; n != 0; n = 0) + { + this.a = 1; + n = (int)(this.i - f1); + this.i = f1; + if (n >= 0) { + break label163; + } + if (getScrollX() <= 0) { + break; + } + scrollBy(Math.max(-getScrollX(), n), 0); + return true; + } + } while (n <= 0); + i1 = getChildAt(getChildCount() - 1).getRight() - getScrollX() - getWidth(); + } while (i1 <= 0); + scrollBy(Math.min(i1, n), 0); + return true; + case 1: + if (this.a == 1) + { + paramMotionEvent = this.h; + paramMotionEvent.computeCurrentVelocity(1000); + n = (int)paramMotionEvent.getXVelocity(); + if ((n > 1000) && (this.e > 0)) + { + a(this.e - 1); + if (this.h != null) + { + this.h.recycle(); + this.h = null; + } + } + } + for (;;) + { + this.a = 0; + return true; + if ((n < -1000) && (this.e < getChildCount() - 1)) + { + a(this.e + 1); + break; + } + int i5 = getChildCount(); + int i6 = getScrollX(); + int i2 = 0; + int i3 = 0; + i1 = 0; + n = 0; + while (i2 < i5) + { + int i4 = getChildAt(i2).getWidth(); + int i7 = i4 / 2; + if (i2 != 0) { + i4 = getChildAt(i2 - 1).getWidth(); + } + i3 -= i4; + if ((i6 > i3) && (i6 < i7 + i1)) { + break; + } + i1 += i4; + n += 1; + i2 += 1; + } + a(n); + break; + if ((this.e == 0) && (f1 > ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getWidth() - ((WindowManager)getContext().getSystemService("window")).getDefaultDisplay().getWidth() / 6)) { + a(1); + } + } + } + this.a = 0; + return true; + } + + public void scrollTo(int paramInt1, int paramInt2) + { + super.scrollTo(paramInt1, paramInt2); + postInvalidate(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.SlidingMenuView + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/SwitchButton.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SwitchButton.java new file mode 100755 index 00000000000..d6c7097fc7e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/SwitchButton.java @@ -0,0 +1,294 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffXfermode; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.ViewConfiguration; +import android.view.ViewParent; +import android.widget.CheckBox; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.utils.ImageCache; + +public class SwitchButton + extends CheckBox +{ + private static ImageCache g = null; + private dc A; + private CompoundButton.OnCheckedChangeListener B = null; + private CompoundButton.OnCheckedChangeListener C = null; + private boolean D; + private final float E = 350.0F; + private float F; + private final float G = 15.0F; + private float H; + private float I; + private float J; + private Paint a = new Paint(); + private ViewParent b; + private Bitmap c; + private Bitmap d; + private Bitmap e; + private Bitmap f; + private RectF h; + private PorterDuffXfermode i; + private float j; + private float k; + private float l; + private float m; + private float n; + private float o; + private float p; + private float q; + private float r; + private float s; + private int t; + private int u; + private final int v = 255; + private int w = 255; + private boolean x = false; + private boolean y; + private boolean z; + + public SwitchButton(Context paramContext, AttributeSet paramAttributeSet) + { + this(paramContext, paramAttributeSet, 16842860); + } + + public SwitchButton(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + this.a.setColor(-1); + paramAttributeSet = paramContext.getResources(); + this.t = (ViewConfiguration.getPressedStateDuration() + ViewConfiguration.getTapTimeout()); + this.u = ViewConfiguration.get(paramContext).getScaledTouchSlop(); + if (g == null) + { + g = new ImageCache(10, getContext()); + if (this.c == null) + { + this.c = BitmapFactory.decodeResource(paramAttributeSet, 2130837939); + g.b("key_switch_button_bottom", this.c); + } + if (this.e == null) + { + this.e = BitmapFactory.decodeResource(paramAttributeSet, 2130837940); + g.b("key_switch_button_normal", this.e); + } + if (this.f == null) + { + this.f = BitmapFactory.decodeResource(paramAttributeSet, 2130837941); + g.b("key_switch_button_mask", this.f); + } + this.d = this.e; + this.r = this.e.getWidth(); + this.p = this.f.getWidth(); + this.q = this.f.getHeight(); + this.o = (this.r / 2.0F); + this.n = (this.p - this.r / 2.0F); + if (!this.x) { + break label440; + } + } + label440: + for (float f1 = this.n;; f1 = this.o) + { + this.m = f1; + this.l = (this.m - this.r / 2.0F); + f1 = getResources().getDisplayMetrics().density; + this.F = ((int)(350.0F * f1 + 0.5F)); + this.H = ((int)(f1 * 15.0F + 0.5F)); + this.h = new RectF(0.0F, this.H, this.f.getWidth(), this.f.getHeight() + this.H); + this.i = new PorterDuffXfermode(PorterDuff.Mode.SRC_IN); + return; + this.c = g.a("key_switch_button_bottom"); + this.e = g.a("key_switch_button_normal"); + this.f = g.a("key_switch_button_mask"); + break; + } + } + + private void a(boolean paramBoolean) + { + this.D = true; + if (paramBoolean) {} + for (float f1 = -this.F;; f1 = this.F) + { + this.J = f1; + this.I = this.m; + new dd(this).run(); + return; + } + } + + public final void a(boolean paramBoolean1, boolean paramBoolean2) + { + if (this.x != paramBoolean1) + { + this.x = paramBoolean1; + if (!paramBoolean1) { + break label54; + } + } + label54: + for (float f1 = this.n;; f1 = this.o) + { + this.m = f1; + this.l = (this.m - this.r / 2.0F); + invalidate(); + if (!this.y) { + break; + } + return; + } + this.y = true; + if (paramBoolean2) + { + if (this.B != null) { + this.B.onCheckedChanged(this, this.x); + } + if (this.C != null) { + this.C.onCheckedChanged(this, this.x); + } + } + this.y = false; + } + + public boolean isChecked() + { + return this.x; + } + + protected void onDraw(Canvas paramCanvas) + { + paramCanvas.saveLayerAlpha(this.h, this.w, 31); + this.a.setAntiAlias(true); + paramCanvas.drawBitmap(this.f, 0.0F, this.H, this.a); + this.a.setXfermode(this.i); + paramCanvas.drawBitmap(this.c, this.l, this.H, this.a); + this.a.setXfermode(null); + paramCanvas.drawBitmap(this.d, this.l, this.H, this.a); + paramCanvas.restore(); + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + setMeasuredDimension((int)this.p, (int)(this.q + 2.0F * this.H)); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + boolean bool2 = true; + boolean bool1 = true; + int i1 = paramMotionEvent.getAction(); + float f3 = paramMotionEvent.getX(); + float f4 = paramMotionEvent.getY(); + float f1 = Math.abs(f3 - this.k); + float f2 = Math.abs(f4 - this.j); + switch (i1) + { + } + for (;;) + { + invalidate(); + return isEnabled(); + this.b = getParent(); + if (this.b != null) { + this.b.requestDisallowInterceptTouchEvent(true); + } + this.k = f3; + this.j = f4; + this.d = this.e; + if (this.x) {} + for (f1 = this.n;; f1 = this.o) + { + this.s = f1; + break; + } + paramMotionEvent.getEventTime(); + paramMotionEvent.getDownTime(); + this.m = (this.s + paramMotionEvent.getX() - this.k); + if (this.m >= this.o) { + this.m = this.o; + } + if (this.m <= this.n) { + this.m = this.n; + } + if (this.m > (this.o - this.n) / 2.0F + this.n) {} + for (;;) + { + this.z = bool1; + this.l = (this.m - this.r / 2.0F); + break; + bool1 = false; + } + this.d = this.e; + f3 = (float)(paramMotionEvent.getEventTime() - paramMotionEvent.getDownTime()); + if ((f2 >= this.u) || (f1 >= this.u) || (f3 >= this.t)) { + break; + } + if (this.A == null) { + this.A = new dc(this); + } + if (!post(this.A)) { + performClick(); + } + } + if (!this.z) {} + for (bool1 = bool2;; bool1 = false) + { + a(bool1); + break; + } + } + + public boolean performClick() + { + if (!this.x) {} + for (boolean bool = true;; bool = false) + { + a(bool); + return true; + } + } + + public void setEnabled(boolean paramBoolean) + { + if (paramBoolean) {} + for (int i1 = 255;; i1 = 127) + { + this.w = i1; + super.setEnabled(paramBoolean); + return; + } + } + + public void setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener paramOnCheckedChangeListener) + { + this.B = paramOnCheckedChangeListener; + } + + public void toggle() + { + if (!this.x) {} + for (boolean bool = true;; bool = false) + { + setChecked(bool); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.SwitchButton + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/TitleOptionMenu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/TitleOptionMenu.java new file mode 100755 index 00000000000..feb3d0f2320 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/TitleOptionMenu.java @@ -0,0 +1,122 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnTouchListener; +import android.view.ViewGroup; +import android.view.Window; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; + +public class TitleOptionMenu + extends RelativeLayout +{ + public boolean a = false; + private Context b; + private View c; + private View d; + private int e = 2; + private dh f; + private View.OnClickListener g = new de(this); + private View.OnTouchListener h = new df(this); + + public TitleOptionMenu(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.b = paramContext; + } + + public TitleOptionMenu(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet); + this.b = paramContext; + } + + public final void a() + { + Object localObject = getTag(); + if (localObject != null) { + ((View)localObject).setSelected(false); + } + setVisibility(8); + AnimationUtils.loadAnimation(this.b, 2130968578).setAnimationListener(new dg(this)); + } + + public final void a(int paramInt) + { + this.e = paramInt; + this.a = true; + Object localObject = (LayoutInflater)this.b.getSystemService("layout_inflater"); + if (this.e == 2) + { + this.c = ((LayoutInflater)localObject).inflate(2130903217, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + this.d = findViewById(2131297149); + localObject = findViewById(2131297153); + ((View)localObject).setTag(Integer.valueOf(0)); + ((View)localObject).setOnClickListener(this.g); + localObject = findViewById(2131297151); + ((View)localObject).setTag(Integer.valueOf(1)); + ((View)localObject).setOnClickListener(this.g); + } + for (;;) + { + this.c.setOnTouchListener(this.h); + ((ViewGroup)((Activity)this.b).getWindow().getDecorView()).setOnTouchListener(this.h); + return; + if (this.e == 3) + { + this.c = ((LayoutInflater)localObject).inflate(2130903215, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + this.d = findViewById(2131297149); + localObject = findViewById(2131297150); + ((View)localObject).setTag(Integer.valueOf(0)); + ((View)localObject).setOnClickListener(this.g); + localObject = findViewById(2131297151); + ((View)localObject).setTag(Integer.valueOf(1)); + ((View)localObject).setOnClickListener(this.g); + } + else if (this.e == 4) + { + this.c = ((LayoutInflater)localObject).inflate(2130903214, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + this.d = findViewById(2131297149); + localObject = findViewById(2131297150); + ((View)localObject).setTag(Integer.valueOf(0)); + ((View)localObject).setOnClickListener(this.g); + localObject = findViewById(2131297151); + ((View)localObject).setTag(Integer.valueOf(1)); + ((View)localObject).setOnClickListener(this.g); + } + else if (this.e == 5) + { + this.c = ((LayoutInflater)localObject).inflate(2130903213, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + this.d = findViewById(2131297149); + localObject = findViewById(2131297150); + ((View)localObject).setTag(Integer.valueOf(0)); + ((View)localObject).setOnClickListener(this.g); + localObject = findViewById(2131297151); + ((View)localObject).setTag(Integer.valueOf(1)); + ((View)localObject).setOnClickListener(this.g); + } + } + } + + public final void a(dh paramdh) + { + this.f = paramdh; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.TitleOptionMenu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/UtilsAccountLockTipDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/UtilsAccountLockTipDialog.java new file mode 100755 index 00000000000..9912354266c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/UtilsAccountLockTipDialog.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.Window; + +public class UtilsAccountLockTipDialog + extends Dialog +{ + private Handler a; + private ds b; + private boolean c; + + public UtilsAccountLockTipDialog(Context paramContext, Handler paramHandler, ds paramds, boolean paramBoolean) + { + super(paramContext, 2131427400); + this.a = paramHandler; + this.b = paramds; + this.c = paramBoolean; + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903224); + getWindow().setBackgroundDrawableResource(2130837639); + findViewById(2131297186).setOnClickListener(new di(this)); + findViewById(2131297185).setOnClickListener(new dj(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.UtilsAccountLockTipDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/WtloginCaptchaDialog.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/WtloginCaptchaDialog.java new file mode 100755 index 00000000000..21891f7388c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/WtloginCaptchaDialog.java @@ -0,0 +1,119 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.Dialog; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.view.Display; +import android.view.View; +import android.view.ViewGroup.MarginLayoutParams; +import android.view.Window; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.t; +import com.tencent.token.x; + +public class WtloginCaptchaDialog + extends Dialog +{ + private static Handler g; + x a; + Handler b = new dx(this); + private Activity c; + private EditText d; + private TextView e; + private Button f; + private ImageView h; + private View i; + private String j; + private Toast k; + + public WtloginCaptchaDialog(Activity paramActivity, Handler paramHandler, String paramString) + { + super(paramActivity, 2131427400); + this.c = paramActivity; + g = paramHandler; + this.j = paramString; + } + + private void b() + { + this.i.setVisibility(4); + Object localObject = this.a.d(this.j); + if (localObject == null) { + return; + } + localObject = t.a((byte[])localObject); + this.h.setImageBitmap((Bitmap)localObject); + } + + public final void a(int paramInt) + { + if (this.c.isFinishing()) { + return; + } + a(this.c.getResources().getString(paramInt)); + } + + public final void a(String paramString) + { + if ((paramString == null) || (paramString.length() == 0) || (this.c.isFinishing())) { + return; + } + if (this.k == null) { + this.k = Toast.makeText(this.c, paramString, 0); + } + for (;;) + { + this.k.setGravity(48, 0, IndexActivity.S_TITLE_HEIGHT + 5); + this.k.show(); + return; + try + { + this.k.setText(paramString); + } + catch (Exception localException) + { + this.k = Toast.makeText(this.c, paramString, 0); + } + } + } + + protected void onCreate(Bundle paramBundle) + { + if ((this.c == null) || ((this.c != null) && (this.c.isFinishing()))) + { + dismiss(); + return; + } + super.onCreate(paramBundle); + this.a = x.a(RqdApplication.i()); + setContentView(2130903260); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + ((ViewGroup.MarginLayoutParams)findViewById(2131296461).getLayoutParams()).width = paramBundle.getWindowManager().getDefaultDisplay().getWidth(); + this.i = findViewById(2131296464); + this.d = ((EditText)findViewById(2131296466)); + this.d.clearFocus(); + this.h = ((ImageView)findViewById(2131296463)); + this.f = ((Button)findViewById(2131296467)); + this.f.setOnClickListener(new dy(this)); + this.e = ((TextView)findViewById(2131296465)); + this.e.setOnClickListener(new dz(this)); + b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.WtloginCaptchaDialog + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/a.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/a.java new file mode 100755 index 00000000000..9d3ca37407a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/a.java @@ -0,0 +1,75 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; + +final class a + extends Handler +{ + a(CaptchaDialog paramCaptchaDialog) {} + + public final void handleMessage(Message paramMessage) + { + if ((CaptchaDialog.a(this.a) != null) && (CaptchaDialog.a(this.a).isFinishing())) {} + do + { + return; + if (this.a.a != null) { + this.a.a.dismiss(); + } + e.a("vry dialog msg.what=" + paramMessage.what + ", msg.arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case -101: + CaptchaDialog.b(this.a).setVisibility(0); + CaptchaDialog.e(this.a).setVisibility(4); + CaptchaDialog.d(this.a).setVisibility(4); + return; + case -100: + CaptchaDialog.b(this.a).setVisibility(0); + CaptchaDialog.d(this.a).setImageBitmap(CaptchaDialog.c(this.a)); + CaptchaDialog.e(this.a).setVisibility(4); + CaptchaDialog.d(this.a).setVisibility(0); + return; + case 3072: + CaptchaDialog.a(this.a, false); + if (paramMessage.arg1 == 0) + { + Message localMessage = new Message(); + localMessage.what = 3072; + localMessage.arg1 = 0; + localMessage.obj = paramMessage.obj; + CaptchaDialog.f(this.a).sendMessage(localMessage); + this.a.dismiss(); + return; + } + paramMessage = (d)paramMessage.obj; + CaptchaDialog.a(this.a).showToast(paramMessage.c); + return; + } + if (paramMessage.arg1 != 0) { + break; + } + CaptchaDialog.a(this.a, (QueryCaptchaResult)paramMessage.obj); + } while (!CaptchaDialog.g(this.a).mNeedCaptcha); + this.a.a(); + return; + paramMessage = (d)paramMessage.obj; + CaptchaDialog.a(this.a).showToast(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/aa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aa.java new file mode 100755 index 00000000000..d11a60574af --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aa.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aa + implements View.OnClickListener +{ + aa(ErrorView paramErrorView) {} + + public final void onClick(View paramView) + { + if (ErrorView.a(this.a) != null) + { + paramView.setTag(this.a.getTag()); + ErrorView.a(this.a).onClick(paramView); + } + this.a.setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.aa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ab.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ab.java new file mode 100755 index 00000000000..bc931f4bd82 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ab.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.FacePwdIndexActivity; +import com.tencent.token.utils.s; +import java.util.List; + +final class ab + extends BaseAdapter +{ + private List a; + private Dialog b; + private LayoutInflater c; + private FacePwdIndexActivity d; + + public ab(FacePwdIndexActivity paramFacePwdIndexActivity, Dialog paramDialog, List paramList) + { + this.c = LayoutInflater.from(paramFacePwdIndexActivity); + this.b = paramDialog; + this.a = paramList; + this.d = paramFacePwdIndexActivity; + } + + public final int getCount() + { + if (this.a == null) { + return 0; + } + return this.a.size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.c.inflate(2130903086, paramViewGroup, false); + } + paramView = localView.findViewById(2131296550); + if (paramInt == getCount() - 1) { + paramView.setVisibility(4); + } + for (;;) + { + paramView = (TextView)localView.findViewById(2131296563); + if (this.a != null) + { + paramViewGroup = (QQUser)this.a.get(paramInt); + if (paramViewGroup != null) + { + paramView.setText(paramViewGroup.mNickName + "(" + s.e(paramViewGroup.mRealUin) + ")"); + localView.setOnClickListener(new ac(this, paramViewGroup)); + } + } + return localView; + paramView.setVisibility(0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ac.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ac.java new file mode 100755 index 00000000000..9342bf832f3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ac.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.app.Dialog; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.FacePwdIndexActivity; +import com.tencent.token.utils.t; + +final class ac + implements View.OnClickListener +{ + ac(ab paramab, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + t.b(this.a.mRealUin); + ab.a(this.b).dismiss(); + ab.b(this.b).refreshList(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ac + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ad.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ad.java new file mode 100755 index 00000000000..c01679bfa31 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ad.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; + +public final class ad +{ + private static final Handler a = new ae(); + + private ad() + { + throw new UnsupportedOperationException(); + } + + public static void a(Runnable paramRunnable) + { + Message localMessage = new Message(); + localMessage.what = 1000; + localMessage.obj = paramRunnable; + a.sendMessageDelayed(localMessage, 16L); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ad + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ae.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ae.java new file mode 100755 index 00000000000..942195ba59f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ae.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; + +final class ae + extends Handler +{ + private ae(byte paramByte) {} + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + return; + } while (paramMessage.obj == null); + ((Runnable)paramMessage.obj).run(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ae + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/af.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/af.java new file mode 100755 index 00000000000..c614162a0cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/af.java @@ -0,0 +1,98 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.r; +import com.tencent.token.ui.IndexActivity; +import gameloginsdk.CallbackGameConfirmStruct; +import gameloginsdk.CallbackPushStruct; + +final class af + extends Handler +{ + af(GameLoginSndConfirmDialog paramGameLoginSndConfirmDialog) {} + + public final void handleMessage(Message paramMessage) + { + Object localObject1 = r.a(RqdApplication.i()).d(); + int i; + int j; + Object localObject2; + Object localObject3; + if ((paramMessage.what == 3040) && (localObject1 != null)) + { + if (GameLoginSndConfirmDialog.a(this.a) != null) { + GameLoginSndConfirmDialog.a(this.a).dismiss(); + } + i = paramMessage.arg1; + j = paramMessage.arg2; + localObject2 = (CallbackGameConfirmStruct)paramMessage.obj; + paramMessage = ((CallbackGameConfirmStruct)localObject2).wording; + localObject3 = GameLoginSndConfirmDialog.b(this.a); + if (i != 2) { + break label203; + } + ((GameLoginSndConfirmView)localObject3).c(); + } + while (j != 0) + { + localObject1 = ((CallbackGameConfirmStruct)localObject2).errMsg; + if (localObject1 != null) + { + paramMessage = (Message)localObject1; + if (((String)localObject1).length() > 0) {} + } + else + { + paramMessage = GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131361951) + "(" + j + ")"; + } + new AlertDialog.Builder(GameLoginSndConfirmDialog.c(this.a)).setTitle(2131361808).setMessage(paramMessage).setPositiveButton(2131361800, new ag(this)).create().show(); + return; + label203: + ((GameLoginSndConfirmView)localObject3).b(); + } + if (i == 1) + { + if ((paramMessage != null) && (paramMessage.length() > 0)) { + break label477; + } + paramMessage = " " + ((CallbackPushStruct)localObject1).expirtTime + GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131362444); + } + label477: + for (;;) + { + localObject1 = GameLoginSndConfirmDialog.c(this.a).getLayoutInflater().inflate(2130903218, null); + localObject2 = new Toast(GameLoginSndConfirmDialog.c(this.a)); + ((Toast)localObject2).setView((View)localObject1); + ((Toast)localObject2).setDuration(0); + ((Toast)localObject2).setGravity(55, 0, IndexActivity.S_TITLE_HEIGHT); + localObject3 = (TextView)((View)localObject1).findViewById(2131296784); + ((ImageView)((View)localObject1).findViewById(2131296783)).setBackgroundResource(2130837966); + ((TextView)localObject3).setText(paramMessage); + ((Toast)localObject2).show(); + return; + if (i != 2) { + break; + } + paramMessage = ((CallbackPushStruct)localObject1).gameName + GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131362445); + new AlertDialog.Builder(GameLoginSndConfirmDialog.c(this.a)).setTitle(paramMessage).setMessage(GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131362446)).setPositiveButton(2131361901, new ai(this)).setNegativeButton(2131361804, new ah(this)).create().show(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.af + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ag.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ag.java new file mode 100755 index 00000000000..aa34784f74c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ag.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ag + implements DialogInterface.OnClickListener +{ + ag(af paramaf) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface.dismiss(); + this.a.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ag + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ah.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ah.java new file mode 100755 index 00000000000..8328b8a4709 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ah.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ah + implements DialogInterface.OnClickListener +{ + ah(af paramaf) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface.dismiss(); + this.a.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ah + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ai.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ai.java new file mode 100755 index 00000000000..03431cbdb5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ai.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.ui.ModifyQQPwdActivity; +import com.tencent.token.ui.pv; + +final class ai + implements DialogInterface.OnClickListener +{ + ai(af paramaf) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface.dismiss(); + this.a.a.dismiss(); + paramDialogInterface = new Intent(GameLoginSndConfirmDialog.c(this.a.a), ModifyQQPwdActivity.class); + pv.a().a(GameLoginSndConfirmDialog.c(this.a.a), paramDialogInterface, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ai + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/aj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aj.java new file mode 100755 index 00000000000..7b4f097d278 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aj.java @@ -0,0 +1,60 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.res.Resources; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.r; +import com.tencent.token.x; +import gameloginsdk.CallbackPushStruct; + +final class aj + implements az +{ + aj(GameLoginSndConfirmDialog paramGameLoginSndConfirmDialog) {} + + public final void a() + { + this.a.dismiss(); + } + + public final void a(int paramInt) + { + r localr = r.a(RqdApplication.i()); + CallbackPushStruct localCallbackPushStruct = localr.d(); + if (localCallbackPushStruct != null) + { + localr.a(localCallbackPushStruct.uin, x.a(RqdApplication.i()).c(), paramInt, GameLoginSndConfirmDialog.d(this.a)); + if (GameLoginSndConfirmDialog.a(this.a) == null) { + GameLoginSndConfirmDialog.a(this.a, new ProDialog(GameLoginSndConfirmDialog.c(this.a))); + } + GameLoginSndConfirmDialog.a(this.a).show(); + } + } + + public final void b() + { + CallbackPushStruct localCallbackPushStruct = r.a(RqdApplication.i()).d(); + if (localCallbackPushStruct != null) + { + if (localCallbackPushStruct.schemeFlag != 2) { + break label111; + } + new AlertDialog.Builder(GameLoginSndConfirmDialog.c(this.a)).setTitle(2131361808).setMessage("" + localCallbackPushStruct.expirtTime + GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131362440)).setPositiveButton(2131362441, new ak(this)).create().show(); + } + for (;;) + { + this.a.dismiss(); + return; + label111: + new AlertDialog.Builder(GameLoginSndConfirmDialog.c(this.a)).setTitle(2131361808).setMessage(GameLoginSndConfirmDialog.c(this.a).getResources().getString(2131362442)).setPositiveButton(2131362443, new am(this)).setNegativeButton(2131361804, new al(this)).create().show(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.aj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ak.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ak.java new file mode 100755 index 00000000000..150a60f3b88 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ak.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ak + implements DialogInterface.OnClickListener +{ + ak(aj paramaj) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface.dismiss(); + this.a.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ak + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/al.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/al.java new file mode 100755 index 00000000000..ffa25ffa7b2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/al.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class al + implements DialogInterface.OnClickListener +{ + al(aj paramaj) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface.dismiss(); + this.a.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.al + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/am.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/am.java new file mode 100755 index 00000000000..958e6d92035 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/am.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.ui.VerifyStartScanActivity; + +final class am + implements DialogInterface.OnClickListener +{ + am(aj paramaj) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismiss(); + paramDialogInterface = new Intent(GameLoginSndConfirmDialog.c(this.a.a), VerifyStartScanActivity.class); + GameLoginSndConfirmDialog.c(this.a.a).startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.am + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/an.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/an.java new file mode 100755 index 00000000000..66225b56e7b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/an.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnDismissListener; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.r; + +final class an + implements DialogInterface.OnDismissListener +{ + an(GameLoginSndConfirmDialog paramGameLoginSndConfirmDialog) {} + + public final void onDismiss(DialogInterface paramDialogInterface) + { + GameLoginSndConfirmDialog.b(this.a).d(); + r.a(RqdApplication.i()).e(); + if (GameLoginSndConfirmDialog.a(this.a) != null) { + GameLoginSndConfirmDialog.a(this.a).dismiss(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.an + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ao.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ao.java new file mode 100755 index 00000000000..72a9988f5c0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ao.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +final class ao + extends BroadcastReceiver +{ + ao(GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if (paramIntent.getAction().equals("com.tencent.token.update_btn_interval_time_action")) { + this.a.e(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ao + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ap.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ap.java new file mode 100755 index 00000000000..00ef8c7db9f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ap.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ap + implements View.OnClickListener +{ + ap(GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onClick(View paramView) + { + GameLoginSndConfirmView.a(this.a).a(1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/aq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aq.java new file mode 100755 index 00000000000..2e98a5880a3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aq.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class aq + implements View.OnClickListener +{ + aq(GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onClick(View paramView) + { + GameLoginSndConfirmView.a(this.a).a(2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.aq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ar.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ar.java new file mode 100755 index 00000000000..bd8cc0b52e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ar.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; + +final class ar + extends Handler +{ + ar(GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void handleMessage(Message paramMessage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/as.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/as.java new file mode 100755 index 00000000000..c5e588e7e79 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/as.java @@ -0,0 +1,57 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.Button; +import com.tencent.token.ui.IndexActivity; + +final class as + implements Runnable +{ + private View b; + private View c; + private View d; + private View e; + private TranslateAnimation f; + private TranslateAnimation g; + private TranslateAnimation h; + private TranslateAnimation i; + + public as(GameLoginSndConfirmView paramGameLoginSndConfirmView, View paramView1, View paramView2, View paramView3, View paramView4) + { + this.b = paramView1; + this.c = paramView2; + this.d = paramView3; + this.e = paramView4; + int j = (int)(IndexActivity.S_DENSITY * 40.0F); + this.h = new TranslateAnimation(0.0F, 0.0F, GameLoginSndConfirmView.b(paramGameLoginSndConfirmView), 0.0F); + this.h.setDuration(400L); + this.h.setInterpolator(new AccelerateDecelerateInterpolator()); + this.i = new TranslateAnimation(0.0F, 0.0F, j + -GameLoginSndConfirmView.c(paramGameLoginSndConfirmView), 0.0F); + this.i.setDuration(400L); + this.i.setInterpolator(new AccelerateDecelerateInterpolator()); + this.f = new TranslateAnimation(0.0F, 0.0F, GameLoginSndConfirmView.b(paramGameLoginSndConfirmView), 0.0F); + this.f.setDuration(500L); + this.g = new TranslateAnimation(0.0F, 0.0F, -GameLoginSndConfirmView.c(paramGameLoginSndConfirmView), 0.0F); + this.g.setDuration(500L); + this.g.setAnimationListener(new at(this, paramGameLoginSndConfirmView)); + } + + public final void run() + { + GameLoginSndConfirmView.d(this.a).setVisibility(0); + GameLoginSndConfirmView.e(this.a).setEnabled(true); + GameLoginSndConfirmView.f(this.a).setEnabled(true); + this.c.startAnimation(this.f); + this.b.startAnimation(this.g); + this.e.startAnimation(this.h); + this.d.startAnimation(this.i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.as + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/at.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/at.java new file mode 100755 index 00000000000..ea44419491b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/at.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class at + implements Animation.AnimationListener +{ + at(as paramas, GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onAnimationEnd(Animation paramAnimation) {} + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.at + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/au.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/au.java new file mode 100755 index 00000000000..ed09c539bac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/au.java @@ -0,0 +1,59 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.Button; +import com.tencent.token.ui.IndexActivity; + +final class au + implements Runnable +{ + private View b; + private View c; + private View d; + private View e; + private TranslateAnimation f; + private TranslateAnimation g; + private TranslateAnimation h; + private TranslateAnimation i; + + public au(GameLoginSndConfirmView paramGameLoginSndConfirmView, View paramView1, View paramView2, View paramView3, View paramView4) + { + this.b = paramView1; + this.c = paramView2; + this.d = paramView3; + this.e = paramView4; + this.h = new TranslateAnimation(0.0F, 0.0F, 0.0F, (int)(IndexActivity.S_DENSITY * 40.0F) + -GameLoginSndConfirmView.c(paramGameLoginSndConfirmView)); + this.h.setDuration(600L); + this.h.setInterpolator(new ay(paramGameLoginSndConfirmView)); + this.i = new TranslateAnimation(0.0F, 0.0F, 0.0F, GameLoginSndConfirmView.b(paramGameLoginSndConfirmView)); + this.i.setDuration(600L); + this.i.setInterpolator(new ay(paramGameLoginSndConfirmView)); + this.f = new TranslateAnimation(0.0F, 0.0F, 0.0F, -GameLoginSndConfirmView.c(paramGameLoginSndConfirmView)); + this.f.setDuration(600L); + this.f.setInterpolator(new AccelerateInterpolator()); + this.f.setFillAfter(true); + this.g = new TranslateAnimation(0.0F, 0.0F, 0.0F, GameLoginSndConfirmView.b(paramGameLoginSndConfirmView)); + this.g.setDuration(600L); + this.g.setInterpolator(new AccelerateInterpolator()); + this.g.setFillAfter(true); + this.i.setAnimationListener(new av(this, paramGameLoginSndConfirmView)); + } + + public final void run() + { + GameLoginSndConfirmView.e(this.a).setEnabled(false); + GameLoginSndConfirmView.f(this.a).setEnabled(false); + this.b.startAnimation(this.f); + this.c.startAnimation(this.g); + this.d.startAnimation(this.h); + this.e.startAnimation(this.i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.au + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/av.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/av.java new file mode 100755 index 00000000000..02c98e7bab5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/av.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class av + implements Animation.AnimationListener +{ + av(au paramau, GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.b.a.setVisibility(8); + if (GameLoginSndConfirmView.a(this.b.a) != null) { + GameLoginSndConfirmView.a(this.b.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.av + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/aw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aw.java new file mode 100755 index 00000000000..b3d56f9cb9d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/aw.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; + +final class aw + implements Runnable +{ + private View b; + private Animation c; + + public aw(GameLoginSndConfirmView paramGameLoginSndConfirmView, View paramView) + { + this.b = paramView; + this.c = AnimationUtils.loadAnimation(GameLoginSndConfirmView.g(paramGameLoginSndConfirmView), 2130968587); + this.c.setAnimationListener(new ax(this, paramGameLoginSndConfirmView)); + } + + public final void run() + { + this.b.startAnimation(this.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.aw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ax.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ax.java new file mode 100755 index 00000000000..7ece6d6e66d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ax.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class ax + implements Animation.AnimationListener +{ + ax(aw paramaw, GameLoginSndConfirmView paramGameLoginSndConfirmView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.b.a.setVisibility(8); + if (GameLoginSndConfirmView.a(this.b.a) != null) { + GameLoginSndConfirmView.a(this.b.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ax + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ay.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ay.java new file mode 100755 index 00000000000..99269da8bc6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ay.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Interpolator; + +final class ay + implements Interpolator +{ + private ay(GameLoginSndConfirmView paramGameLoginSndConfirmView, byte paramByte) {} + + public final float getInterpolation(float paramFloat) + { + if (paramFloat < 0.3D) { + return 0.0F; + } + paramFloat = (paramFloat - 0.3F) / 0.7F; + return paramFloat * paramFloat; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ay + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/az.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/az.java new file mode 100755 index 00000000000..07a54dde8e7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/az.java @@ -0,0 +1,16 @@ +package com.tencent.token.ui.base; + +public abstract interface az +{ + public abstract void a(); + + public abstract void a(int paramInt); + + public abstract void b(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.az + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/b.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/b.java new file mode 100755 index 00000000000..50aac1c2ac6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/b.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui.base; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.ui.BaseActivity; + +final class b + implements View.OnClickListener +{ + b(CaptchaDialog paramCaptchaDialog) {} + + public final void onClick(View paramView) + { + if ((CaptchaDialog.h(this.a)) || (CaptchaDialog.a(this.a) == null)) { + return; + } + paramView = CaptchaDialog.i(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) + { + CaptchaDialog.a(this.a).showToast(2131362169); + return; + } + CaptchaDialog.a(this.a, true); + if (this.a.a != null) + { + this.a.a.dismiss(); + this.a.a = null; + } + this.a.a = new ProDialog(CaptchaDialog.a(this.a), CaptchaDialog.a(this.a).getResources().getString(2131361918)); + this.a.a.show(); + paramView = paramView.trim(); + af.a().a(CaptchaDialog.g(this.a).mRealUin, CaptchaDialog.g(this.a).mSceneId, paramView, this.a.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ba.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ba.java new file mode 100755 index 00000000000..bb58974cafa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ba.java @@ -0,0 +1,116 @@ +package com.tencent.token.ui.base; + +import android.graphics.Canvas; +import android.graphics.drawable.GradientDrawable; +import android.graphics.drawable.GradientDrawable.Orientation; +import com.tencent.token.utils.s; +import java.lang.reflect.Method; + +public final class ba + extends GradientDrawable +{ + private int a; + private int b; + private boolean c; + private int d; + private int e; + private int f; + private int g; + + public ba(GradientDrawable.Orientation paramOrientation, int paramInt1, int paramInt2) + { + setDither(true); + setShape(0); + mutate(); + if (s.l() >= 16) {} + for (;;) + { + try + { + getClass().getMethod("setOrientation", new Class[] { GradientDrawable.Orientation.class }).invoke(this, new Object[] { paramOrientation }); + getClass().getMethod("setColors", new Class[] { [I.class }).invoke(this, new Object[] { { paramInt1, paramInt2 } }); + this.d = paramInt1; + this.e = paramInt2; + return; + } + catch (Exception paramOrientation) + { + paramOrientation.printStackTrace(); + continue; + } + setColor(paramInt1); + } + } + + private static int a(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if (paramInt3 == paramInt4 - 1) { + return paramInt2 | 0xFF000000; + } + int i = paramInt1 >> 16 & 0xFF; + int j = paramInt1 >> 8 & 0xFF; + paramInt1 &= 0xFF; + return (i + ((paramInt2 >> 16 & 0xFF) - i) / paramInt4 * paramInt3 << 16 | j + ((paramInt2 >> 8 & 0xFF) - j) / paramInt4 * paramInt3 << 8 | paramInt1 + ((paramInt2 & 0xFF) - paramInt1) / paramInt4 * paramInt3) & 0xFFFFFF | 0xFF000000; + } + + public final void a(int paramInt1, int paramInt2) + { + this.c = true; + this.b = 20; + this.f = paramInt1; + this.g = paramInt2; + } + + public final void b(int paramInt1, int paramInt2) + { + this.f = paramInt1; + this.d = paramInt1; + this.g = paramInt2; + this.e = paramInt2; + this.c = true; + invalidateSelf(); + } + + public final void draw(Canvas paramCanvas) + { + super.draw(paramCanvas); + if (this.c) + { + mutate(); + this.a += 1; + if (this.a > this.b) {} + } + else + { + try + { + if (s.l() >= 16) { + getClass().getMethod("setColors", new Class[] { [I.class }).invoke(this, new Object[] { { a(this.d, this.f, this.a, this.b), a(this.e, this.g, this.a, this.b) } }); + } + for (;;) + { + invalidateSelf(); + return; + setColor(a(this.d, this.f, this.a, this.b)); + } + } + catch (Exception paramCanvas) + { + for (;;) + { + paramCanvas.printStackTrace(); + } + } + } + this.d = this.f; + this.e = this.g; + this.c = false; + this.a = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ba + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bb.java new file mode 100755 index 00000000000..fe5e78c482c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bb.java @@ -0,0 +1,160 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import android.util.DisplayMetrics; + +public final class bb + extends Drawable +{ + private Paint a = new Paint(); + private int b; + private float c = 42.0F; + private float d = 123.0F; + private float e = 20.0F; + private float f; + private float g; + private float h; + private RectF i = new RectF(); + private RectF j = new RectF(); + private float k; + private int l; + private int m; + private int n; + private String[] o; + private int[] p; + + public bb(Context paramContext, String[] paramArrayOfString, int[] paramArrayOfInt) + { + if ((paramArrayOfInt == null) || (paramArrayOfString == null) || (paramArrayOfInt.length != paramArrayOfString.length)) { + return; + } + this.o = paramArrayOfString; + this.p = paramArrayOfInt; + this.b = this.p.length; + if (this.b > 5) { + throw new RuntimeException(); + } + paramArrayOfString = this.p; + int i4 = paramArrayOfString.length; + int i2 = 0; + int i1 = 0; + if (i2 < i4) + { + int i3 = paramArrayOfString[i2]; + if (i3 <= i1) { + break label335; + } + i1 = i3; + } + label335: + for (;;) + { + i2 += 1; + break; + this.l = paramContext.getResources().getColor(2131165282); + this.m = paramContext.getResources().getColor(2131165293); + this.n = paramContext.getResources().getColor(2131165192); + this.k = paramContext.getResources().getDisplayMetrics().density; + this.h = (this.d * 0.6F / i1 * this.k); + this.f = ((this.c * this.b + this.e * (this.b - 1)) * this.k); + this.g = ((this.d + 8.0F + 12.0F) * this.k); + this.c *= this.k; + this.d *= this.k; + this.e *= this.k; + this.j.set(0.0F, 0.0F, this.f, this.g); + return; + } + } + + public final void draw(Canvas paramCanvas) + { + paramCanvas.save(); + int i1 = 0; + if (i1 < this.b) + { + this.a.reset(); + this.a.setColor(this.l); + this.a.setAntiAlias(true); + this.j.set(this.i.left + this.c * i1 + this.e * i1, this.i.top, this.i.left + this.c + this.c * i1 + this.e * i1, this.i.top + this.d); + paramCanvas.drawRoundRect(this.j, 10.0F, 10.0F, this.a); + this.a.setColor(this.m); + this.j.set(this.i.left + this.c * i1 + this.e * i1, this.i.top + (this.d - this.h * this.p[i1]), this.i.left + this.c + this.c * i1 + this.e * i1, this.i.top + this.d); + paramCanvas.drawRoundRect(this.j, 10.0F, 10.0F, this.a); + this.a.setTextSize(16.0F * this.k); + float f1 = this.a.measureText(String.valueOf(this.p[i1])); + int i2 = this.p[i1]; + float f2 = this.i.left; + float f3 = this.c; + float f4 = i1; + float f5 = this.e; + float f6 = i1; + float f7 = (this.c - f1) / 2.0F; + float f8 = this.i.top; + paramCanvas.drawText(String.valueOf(i2), f2 + f3 * f4 + f5 * f6 + f7, this.d - this.h * this.p[i1] - f1 - 10.0F + f8, this.a); + this.a.setTextSize(11.0F * this.k); + f1 = this.a.measureText(this.o[i1]); + this.a.setColor(this.n); + String str; + if ((this.o[i1] != null) && (this.o[i1].length() > 4)) + { + str = this.o[i1].substring(0, 4); + f1 = this.a.measureText(str); + f2 = this.i.left; + f3 = this.c; + f4 = i1; + f5 = this.e; + f6 = i1; + paramCanvas.drawText(str, (this.c - f1) / 2.0F + (f2 + f3 * f4 + f5 * f6), this.i.bottom, this.a); + str = this.o[i1].substring(4, this.o[i1].length()); + f1 = this.a.measureText(str); + f2 = this.i.left; + f3 = this.c; + f4 = i1; + f5 = this.e; + f6 = i1; + paramCanvas.drawText(str, (this.c - f1) / 2.0F + (f2 + f3 * f4 + f5 * f6), this.i.bottom + this.a.descent() - this.a.ascent(), this.a); + } + for (;;) + { + i1 += 1; + break; + str = this.o[i1]; + f2 = this.i.left; + f3 = this.c; + f4 = i1; + f5 = this.e; + f6 = i1; + paramCanvas.drawText(str, (this.c - f1) / 2.0F + (f2 + f3 * f4 + f5 * f6), this.i.bottom + 8.0F, this.a); + } + } + paramCanvas.restore(); + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.i.set((getBounds().width() - this.f) / 2.0F, (getBounds().height() - this.g) / 2.0F, (getBounds().width() - this.f) / 2.0F + this.f, (getBounds().height() - this.g) / 2.0F + this.g); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bc.java new file mode 100755 index 00000000000..0e4a30f88c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bc.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui.base; + +import android.database.DataSetObserver; + +final class bc + extends DataSetObserver +{ + bc(HorizontialListView paramHorizontialListView) {} + + public final void onChanged() + { + synchronized (this.a) + { + HorizontialListView.a(this.a); + this.a.invalidate(); + this.a.requestLayout(); + return; + } + } + + public final void onInvalidated() + { + HorizontialListView.b(this.a); + this.a.invalidate(); + this.a.requestLayout(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bd.java new file mode 100755 index 00000000000..35b36049e3b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bd.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +final class bd + implements Runnable +{ + bd(HorizontialListView paramHorizontialListView) {} + + public final void run() + { + this.a.requestLayout(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/be.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/be.java new file mode 100755 index 00000000000..b6db65dae63 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/be.java @@ -0,0 +1,70 @@ +package com.tencent.token.ui.base; + +import android.graphics.Rect; +import android.view.GestureDetector.SimpleOnGestureListener; +import android.view.MotionEvent; +import android.view.View; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ListAdapter; + +final class be + extends GestureDetector.SimpleOnGestureListener +{ + be(HorizontialListView paramHorizontialListView) {} + + public final boolean onDown(MotionEvent paramMotionEvent) + { + return this.a.a(); + } + + public final boolean onFling(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + return this.a.a(paramFloat1); + } + + public final boolean onScroll(MotionEvent arg1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + synchronized (this.a) + { + paramMotionEvent2 = this.a; + paramMotionEvent2.d += (int)paramFloat1; + this.a.requestLayout(); + return true; + } + } + + public final boolean onSingleTapConfirmed(MotionEvent paramMotionEvent) + { + Rect localRect = new Rect(); + int i = 0; + for (;;) + { + if (i < this.a.getChildCount()) + { + View localView = this.a.getChildAt(i); + int j = localView.getLeft(); + int k = localView.getRight(); + localRect.set(j, localView.getTop(), k, localView.getBottom()); + if (!localRect.contains((int)paramMotionEvent.getX(), (int)paramMotionEvent.getY())) { + break label207; + } + if (HorizontialListView.c(this.a) != null) { + HorizontialListView.c(this.a).onItemClick(this.a, localView, HorizontialListView.d(this.a) + 1 + i, this.a.b.getItemId(HorizontialListView.d(this.a) + 1 + i)); + } + if (HorizontialListView.e(this.a) != null) { + HorizontialListView.e(this.a).onItemSelected(this.a, localView, HorizontialListView.d(this.a) + 1 + i, this.a.b.getItemId(HorizontialListView.d(this.a) + 1 + i)); + } + } + return true; + label207: + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.be + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bf.java new file mode 100755 index 00000000000..b7097c71f21 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bf.java @@ -0,0 +1,73 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.WindowManager; + +public final class bf + extends Drawable +{ + private Paint a = new Paint(); + private Bitmap b; + private final int c = 100; + private float d; + private int e = 0; + private float f; + private float g; + private float h; + + public bf(Activity paramActivity) + { + this.b = BitmapFactory.decodeResource(paramActivity.getResources(), 2130837842); + DisplayMetrics localDisplayMetrics = new DisplayMetrics(); + paramActivity.getWindowManager().getDefaultDisplay().getMetrics(localDisplayMetrics); + this.d = localDisplayMetrics.density; + this.f = (286.0F * this.d); + this.g = (442.0F * this.d); + this.h = (this.f / 100.0F); + this.a.setColor(paramActivity.getResources().getColor(2131165311)); + this.a.setAntiAlias(true); + this.a.setFilterBitmap(true); + } + + public final void draw(Canvas paramCanvas) + { + this.e %= 100; + if (this.e != 99) + { + float f1 = this.h; + float f2 = this.e; + paramCanvas.drawBitmap(this.b, 0.0F, f1 * f2, this.a); + } + for (;;) + { + this.e += 1; + invalidateSelf(); + return; + paramCanvas.drawBitmap(this.b, 0.0F, this.f - this.b.getHeight(), this.a); + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bg.java new file mode 100755 index 00000000000..9de6b3b90d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bg.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; + +final class bg + implements View.OnClickListener +{ + bg(IntroLoginMsgDialog paramIntroLoginMsgDialog) {} + + public final void onClick(View paramView) + { + e.a("intro dialog store2"); + t.h(); + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bh.java new file mode 100755 index 00000000000..7edef76911b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bh.java @@ -0,0 +1,89 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.WtloginFinishNoMibaoActivity; + +public final class bh + extends LinearLayout +{ + public Handler a = new bi(this); + private BaseActivity b; + private LayoutInflater c; + private View d; + private Button e; + private final long f = 523005425L; + private final int g = 2; + private UpgradeDeterminResult h; + private boolean i = false; + private byte[] j; + private long k; + private View.OnClickListener l = new bk(this); + private View.OnClickListener m = new bo(this); + + public bh(BaseActivity paramBaseActivity) + { + super(paramBaseActivity); + this.b = paramBaseActivity; + this.c = ((LayoutInflater)this.b.getSystemService("layout_inflater")); + this.d = this.c.inflate(2130903111, null); + removeAllViews(); + addView(this.d, new LinearLayout.LayoutParams(-1, -1)); + this.e = ((Button)findViewById(2131296725)); + ((TextView)findViewById(2131296724)).setText(getResources().getString(2131362190) + getResources().getString(2131362455) + getResources().getString(2131362231)); + this.e.setOnClickListener(this.l); + paramBaseActivity = ax.a().e(); + if (paramBaseActivity != null) { + this.k = paramBaseActivity.mRealUin; + } + } + + private void a() + { + Intent localIntent = new Intent(this.b, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", ax.a().e().mRealUin); + this.b.startActivity(localIntent); + } + + public final boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.i) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bi.java new file mode 100755 index 00000000000..2f4f16e572a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bi.java @@ -0,0 +1,127 @@ +package com.tencent.token.ui.base; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; + +final class bi + extends Handler +{ + bi(bh parambh) {} + + public final void handleMessage(Message paramMessage) + { + if ((bh.a(this.a) == null) || (bh.a(this.a).isFinishing())) {} + int i; + do + { + do + { + return; + i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 1019: + paramMessage = (byte[])paramMessage.obj; + } + } while (paramMessage == null); + bh.a(this.a, paramMessage); + af.a().a(bh.c(this.a), paramMessage, this.a.a, 2); + return; + bh.a(this.a).dismissDialog(); + if (paramMessage.arg1 == 0) + { + bh.a(this.a, (UpgradeDeterminResult)paramMessage.obj); + bh.b(this.a, bh.b(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + bh.a(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + byte[] arrayOfByte = (byte[])paramMessage.obj; + bh.a(this.a, arrayOfByte); + if ((i == 0) && (arrayOfByte != null)) + { + af.a().a(bh.c(this.a), arrayOfByte, this.a.a, 2); + return; + } + if (i != 2) { + break; + } + } while (bh.a(this.a).isFinishing()); + new WtloginCaptchaDialog(bh.a(this.a), this.a.a, Long.toString(bh.c(this.a))).show(); + return; + if (i == -1000) + { + bh.a(this.a).dismissDialog(); + bh.a(this.a).showToast(2131361943); + return; + } + if (i == 8192) + { + bh.a(this.a).dismissDialog(); + bh.a(this.a).showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16)) + { + bh.a(this.a).dismissDialog(); + bh.a(this.a).showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new bj(this)); + return; + } + bh.a(this.a).dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + bh.a(this.a).showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + bh.a(this.a).showToast(2131362091); + return; + if (i == 0) + { + af.a().a(bh.c(this.a), bh.e(this.a), this.a.a); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + bh.a(this.a).showToast(paramMessage.c); + return; + bh.a(this.a).dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + bh.a(this.a).showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + bh.a(this.a).showToast(2131362091); + return; + bh.a(this.a).dismissDialog(); + if (paramMessage.arg1 == 0) + { + bh.f(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + bh.a(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bj.java new file mode 100755 index 00000000000..ada1f9c8f55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bj + implements DialogInterface.OnClickListener +{ + bj(bi parambi) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + bh.d(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bk.java new file mode 100755 index 00000000000..87e58803f86 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bk.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui.base; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.x; + +final class bk + implements View.OnClickListener +{ + bk(bh parambh) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + paramView = "" + paramView.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(paramView, 523005425L)) + { + localx.a(paramView, this.a.a, 523005425L); + bh.a(this.a).showProDialog(bh.a(this.a), 2131361808, 2131361817, null); + return; + } + bh.a(this.a).showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new bl(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bl.java new file mode 100755 index 00000000000..95af9fa3766 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bl.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bl + implements DialogInterface.OnClickListener +{ + bl(bk parambk) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + bh.d(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bm.java new file mode 100755 index 00000000000..7ecba89ac69 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bm.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class bm + implements View.OnClickListener +{ + bm(bh parambh, QQUser paramQQUser, UpgradeDeterminResult paramUpgradeDeterminResult) {} + + public final void onClick(View paramView) + { + af.a().c(this.a.mRealUin, this.b.a(), "", "", this.c.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bn.java new file mode 100755 index 00000000000..cec61871040 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bn.java @@ -0,0 +1,83 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.NetActiveVryMobileNoSmsActivity; +import com.tencent.token.ui.NetActiveVryOtherListActivity; + +final class bn + implements View.OnClickListener +{ + bn(bh parambh, UpgradeDeterminResult paramUpgradeDeterminResult, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (this.a.mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label84; + } + paramView = new Intent(bh.a(this.c), NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + bh.a(this.c).startActivity(paramView); + } + label200: + label205: + label208: + for (;;) + { + return; + i = 0; + break; + label84: + if (this.a.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (this.a.mQuesAppear != 1) { + break label200; + } + i = 1; + label114: + if (i == 0) { + if (this.a.mHaveMobile != 1) { + break label205; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label208; + } + paramView = new Intent(bh.a(this.c), NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + bh.a(this.c).startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label114; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bo.java new file mode 100755 index 00000000000..ff5575b25ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bo.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.IndexActivity; + +final class bo + implements View.OnClickListener +{ + bo(bh parambh) {} + + public final void onClick(View paramView) + { + paramView = new Intent(bh.a(this.a), IndexActivity.class); + paramView.putExtra("index_from", 16); + bh.a(this.a).startActivity(paramView); + bh.a(this.a).finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bp.java new file mode 100755 index 00000000000..022e99af087 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bp.java @@ -0,0 +1,131 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.PaintFlagsDrawFilter; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import com.tencent.token.utils.s; + +public final class bp + extends Drawable +{ + private static int g = 50; + private Paint a = new Paint(); + private Bitmap b; + private Bitmap c; + private Bitmap d; + private int e; + private int f; + private int h; + private Rect i; + private Rect j; + private Rect k; + private Rect l; + private int m; + private int n; + private int o; + private PaintFlagsDrawFilter p; + private boolean q = false; + + public bp(Context paramContext, boolean paramBoolean) + { + this.q = paramBoolean; + if (paramBoolean) + { + this.b = BitmapFactory.decodeResource(paramContext.getResources(), 2130837807); + this.c = BitmapFactory.decodeResource(paramContext.getResources(), 2130837797); + this.d = BitmapFactory.decodeResource(paramContext.getResources(), 2130837716); + } + for (;;) + { + this.p = new PaintFlagsDrawFilter(0, 3); + return; + this.b = BitmapFactory.decodeResource(paramContext.getResources(), 2130837801); + this.c = BitmapFactory.decodeResource(paramContext.getResources(), 2130837796); + this.d = BitmapFactory.decodeResource(paramContext.getResources(), 2130837715); + this.m = s.a(paramContext, 0.0F); + this.n = s.a(paramContext, 4.0F); + this.o = s.a(paramContext, 30.0F); + } + } + + public final void draw(Canvas paramCanvas) + { + int i2 = 0; + for (;;) + { + try + { + i1 = this.h % g * this.e; + if (this.h % g == g - 1) { + i1 = this.l.height(); + } + this.a.setAntiAlias(true); + paramCanvas.setDrawFilter(this.p); + paramCanvas.drawBitmap(this.c, null, this.l, this.a); + paramCanvas.save(); + this.j.set(0, 0, this.k.width(), this.l.top + i1); + paramCanvas.clipRect(this.j); + this.a.setAlpha(255); + paramCanvas.drawBitmap(this.b, null, this.l, this.a); + if (i1 - this.d.getHeight() > 0) { + continue; + } + this.i.set(this.l.left, i2 + this.l.top, this.l.right, i1 + this.l.top + this.n); + if (this.h % g <= g / 2) { + continue; + } + i1 = this.h; + i2 = g; + int i3 = this.f; + this.a.setAlpha(255 - (i1 % i2 * i3 & 0xFF)); + paramCanvas.drawBitmap(this.d, null, this.i, this.a); + paramCanvas.restore(); + this.h += 1; + } + catch (Exception paramCanvas) + { + int i1; + continue; + } + invalidateSelf(); + return; + i2 = i1 - this.d.getHeight() + this.n; + continue; + this.a.setAlpha(255); + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.k = new Rect(paramInt1, paramInt2, paramInt3, paramInt4); + this.i = new Rect(0, 0, this.k.width(), this.d.getHeight()); + this.j = new Rect(0, 0, this.k.width(), this.k.height()); + paramInt1 = this.k.width() - this.m; + paramInt2 = this.k.height() - this.m; + this.l = new Rect((this.k.width() - paramInt1) / 2, (this.k.height() - paramInt2) / 2, paramInt1 + (this.k.width() - paramInt1) / 2, paramInt2 + (this.k.height() - paramInt2) / 2); + this.e = (this.l.height() / g); + this.f = (255 / (g / 2)); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bq.java new file mode 100755 index 00000000000..e876aa25f66 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; + +final class bq + implements View.OnTouchListener +{ + bq(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/br.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/br.java new file mode 100755 index 00000000000..78443ba6349 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/br.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class br + implements View.OnClickListener +{ + br(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 26); + if (LockPatternVerifyView.a(this.a) != null) { + LockPatternVerifyView.a(this.a).b(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.br + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bs.java new file mode 100755 index 00000000000..91d8c0ab957 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bs.java @@ -0,0 +1,19 @@ +package com.tencent.token.ui.base; + +final class bs + implements Runnable +{ + bs(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void run() + { + LockPatternVerifyView.b(this.a).d(); + LockPatternVerifyView.b(this.a).f(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bt.java new file mode 100755 index 00000000000..6d4513bc85e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bt.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.widget.ImageView; + +final class bt + implements Runnable +{ + bt(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void run() + { + if (LockPatternVerifyView.c(this.a) != null) { + LockPatternVerifyView.d(this.a).setImageBitmap(LockPatternVerifyView.c(this.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bu.java new file mode 100755 index 00000000000..15dd221014a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bu.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class bu + implements Animation.AnimationListener +{ + bu(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.a.setVisibility(8); + if (LockPatternVerifyView.a(this.a) != null) { + LockPatternVerifyView.a(this.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bv.java new file mode 100755 index 00000000000..984c308de03 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bv.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; + +final class bv + extends Handler +{ + bv(LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void handleMessage(Message paramMessage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bw.java new file mode 100755 index 00000000000..6fa9f68e1a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bw.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; + +final class bw + implements Runnable +{ + private View b; + private View c; + private View d; + + public bw(LockPatternVerifyView paramLockPatternVerifyView, View paramView1, View paramView2, View paramView3) + { + this.b = paramView1; + this.c = paramView2; + this.d = paramView3; + LockPatternVerifyView.a(paramLockPatternVerifyView, new RotateAnimation(0.0F, 360.0F, 1, 0.5F, 1, 0.5F)); + LockPatternVerifyView.e(paramLockPatternVerifyView).setDuration(250L); + LockPatternVerifyView.a(paramLockPatternVerifyView, new TranslateAnimation(0.0F, 0.0F, 0.0F, -LockPatternVerifyView.f(paramLockPatternVerifyView))); + LockPatternVerifyView.g(paramLockPatternVerifyView).setDuration(500L); + LockPatternVerifyView.b(paramLockPatternVerifyView, new TranslateAnimation(0.0F, 0.0F, 0.0F, LockPatternVerifyView.h(paramLockPatternVerifyView))); + LockPatternVerifyView.i(paramLockPatternVerifyView).setDuration(500L); + LockPatternVerifyView.e(paramLockPatternVerifyView).setAnimationListener(new bx(this, paramLockPatternVerifyView)); + LockPatternVerifyView.i(paramLockPatternVerifyView).setAnimationListener(new by(this, paramLockPatternVerifyView)); + } + + public final void run() + { + this.d.startAnimation(LockPatternVerifyView.e(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bx.java new file mode 100755 index 00000000000..2e88e7934fa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bx.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import com.tencent.token.ai; +import com.tencent.token.global.RqdApplication; + +final class bx + implements Animation.AnimationListener +{ + bx(bw parambw, LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + bw.a(this.b).setVisibility(4); + bw.b(this.b).startAnimation(LockPatternVerifyView.g(this.b.a)); + bw.c(this.b).startAnimation(LockPatternVerifyView.i(this.b.a)); + ai.a(RqdApplication.i()).a(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/by.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/by.java new file mode 100755 index 00000000000..d19d6927f84 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/by.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class by + implements Animation.AnimationListener +{ + by(bw parambw, LockPatternVerifyView paramLockPatternVerifyView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.b.a.setVisibility(8); + if (LockPatternVerifyView.a(this.b.a) != null) { + LockPatternVerifyView.a(this.b.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.by + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/bz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bz.java new file mode 100755 index 00000000000..72e63a61315 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/bz.java @@ -0,0 +1,16 @@ +package com.tencent.token.ui.base; + +public abstract interface bz +{ + public abstract void a(); + + public abstract void a(boolean paramBoolean); + + public abstract void b(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.bz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/c.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/c.java new file mode 100755 index 00000000000..9ba61ff994d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/c.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class c + implements View.OnClickListener +{ + c(CaptchaDialog paramCaptchaDialog) {} + + public final void onClick(View paramView) + { + this.a.a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ca.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ca.java new file mode 100755 index 00000000000..aa569f5922d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ca.java @@ -0,0 +1,78 @@ +package com.tencent.token.ui.base; + +import java.lang.reflect.Array; + +public final class ca +{ + static ca[][] c = (ca[][])Array.newInstance(ca.class, new int[] { 3, 3 }); + int a; + int b; + + static + { + int i = 0; + while (i < 3) + { + int j = 0; + while (j < 3) + { + c[i][j] = new ca(i, j); + j += 1; + } + i += 1; + } + } + + private ca(int paramInt1, int paramInt2) + { + b(paramInt1, paramInt2); + this.a = paramInt1; + this.b = paramInt2; + } + + public static ca a(int paramInt1, int paramInt2) + { + try + { + b(paramInt1, paramInt2); + ca localca = c[paramInt1][paramInt2]; + return localca; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private static void b(int paramInt1, int paramInt2) + { + if ((paramInt1 < 0) || (paramInt1 > 2)) { + throw new IllegalArgumentException("row must be in range 0-2"); + } + if ((paramInt2 < 0) || (paramInt2 > 2)) { + throw new IllegalArgumentException("column must be in range 0-2"); + } + } + + public final int a() + { + return this.a; + } + + public final int b() + { + return this.b; + } + + public final String toString() + { + return "(row=" + this.a + ",clmn=" + this.b + ")"; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ca + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cb.java new file mode 100755 index 00000000000..2104270b969 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cb.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui.base; + +import java.util.List; + +public abstract interface cb +{ + public abstract void a(); + + public abstract void a(List paramList); + + public abstract void b(); + + public abstract void c(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cc.java new file mode 100755 index 00000000000..c909d56e7bf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cc.java @@ -0,0 +1,9 @@ +package com.tencent.token.ui.base; + +public abstract interface cc {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cd.java new file mode 100755 index 00000000000..91208251a78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cd.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface cd +{ + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ce.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ce.java new file mode 100755 index 00000000000..e8e65c7236b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ce.java @@ -0,0 +1,117 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; +import android.util.DisplayMetrics; + +public final class ce + extends Drawable +{ + private int[] a; + private int[] b; + private Bitmap[] c = new Bitmap[3]; + private String[] d = new String[3]; + private Bitmap e; + private float f; + private float g = 36.0F; + private float h = 22.0F; + private Paint i = new Paint(); + private int j; + private int k; + private int l; + private RectF m = new RectF(); + private float n; + private float o; + + public ce(Context paramContext, int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + this.a = paramArrayOfInt1; + this.b = paramArrayOfInt2; + this.c[0] = BitmapFactory.decodeResource(paramContext.getResources(), 2130837684); + this.c[1] = BitmapFactory.decodeResource(paramContext.getResources(), 2130837683); + this.c[2] = BitmapFactory.decodeResource(paramContext.getResources(), 2130837694); + this.e = BitmapFactory.decodeResource(paramContext.getResources(), 2130837685); + this.d[0] = paramContext.getResources().getString(2131362464); + this.d[1] = paramContext.getResources().getString(2131362465); + this.d[2] = paramContext.getResources().getString(2131362466); + this.f = paramContext.getResources().getDisplayMetrics().density; + this.j = paramContext.getResources().getColor(2131165194); + this.l = paramContext.getResources().getColor(2131165192); + this.k = paramContext.getResources().getColor(2131165294); + this.g *= this.f; + this.h *= this.f; + this.n = (this.g * 3.0F * 2.0F + this.h * 2.0F); + this.o = (this.g * 2.0F + 10.0F * this.f + 13.0F * this.f + this.e.getHeight() - 20.0F * this.f); + } + + public final void draw(Canvas paramCanvas) + { + int i1 = 0; + while (i1 < this.a.length) + { + this.i.setColor(this.k); + this.i.setStyle(Paint.Style.STROKE); + this.i.setStrokeWidth(1.5F * this.f); + this.i.setAntiAlias(true); + paramCanvas.drawCircle(this.m.left + this.g + this.g * 2.0F * i1 + this.h * i1, this.m.centerY(), this.g, this.i); + paramCanvas.drawBitmap(this.c[(this.a[i1] - 1)], this.m.left + this.g - this.c[(this.a[i1] - 1)].getWidth() / 2 + this.g * 2.0F * i1 + this.h * i1, this.m.centerY() - this.c[(this.a[i1] - 1)].getHeight() / 2, null); + paramCanvas.drawBitmap(this.e, this.m.left + this.g - this.e.getWidth() / 2 + this.g * 2.0F * i1 + this.h * i1, this.m.centerY() - this.e.getHeight() - this.f * 20.0F, null); + this.i.reset(); + this.i.setAntiAlias(true); + this.i.setColor(this.j); + this.i.setTextSize(this.f * 17.0F); + this.i.setTypeface(Typeface.DEFAULT_BOLD); + this.i.setTextAlign(Paint.Align.LEFT); + float f1 = this.i.measureText(String.valueOf(this.b[i1])); + float f2 = this.i.measureText("次"); + paramCanvas.drawText(String.valueOf(this.b[i1]), this.m.left + this.g - (f1 + f2) / 2.0F + this.g * 2.0F * i1 + this.h * i1, this.m.centerY() - this.e.getHeight() - this.f * 17.0F / 2.0F + 5.0F * this.f, this.i); + this.i.reset(); + this.i.setAntiAlias(true); + this.i.setColor(this.j); + this.i.setTextSize(this.f * 13.0F); + this.i.setTypeface(Typeface.DEFAULT_BOLD); + this.i.setTextAlign(Paint.Align.LEFT); + paramCanvas.drawText("次", f1 + (this.m.left + this.g - (f2 + f1) / 2.0F) + this.g * 2.0F * i1 + this.h * i1, this.m.centerY() - this.e.getHeight() - this.f * 13.0F / 2.0F + this.f * 2.0F, this.i); + this.i.reset(); + this.i.setAntiAlias(true); + this.i.setColor(this.l); + this.i.setTextSize(this.f * 13.0F); + this.i.setTextAlign(Paint.Align.LEFT); + f1 = this.i.measureText(this.d[(this.a[i1] - 1)]); + paramCanvas.drawText(this.d[(this.a[i1] - 1)], this.m.left + this.g - f1 / 2.0F + this.g * 2.0F * i1 + this.h * i1, this.m.centerY() + this.g + this.f * 20.0F, this.i); + i1 += 1; + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.m.set((getBounds().width() - this.n) / 2.0F, (getBounds().height() - this.o) / 2.0F, (getBounds().width() - this.n) / 2.0F + this.n, (getBounds().height() - this.o) / 2.0F + this.o); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ce + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cf.java new file mode 100755 index 00000000000..632f4921cac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cf.java @@ -0,0 +1,214 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.ColorMatrix; +import android.graphics.ColorMatrixColorFilter; +import android.graphics.Matrix; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.graphics.PointF; +import android.graphics.Rect; +import android.view.View; +import android.view.animation.AccelerateInterpolator; +import android.widget.Scroller; +import com.tencent.token.global.e; +import java.lang.reflect.Field; + +public final class cf + extends View +{ + Bitmap a = null; + Bitmap b = null; + PointF c = new PointF(); + ColorMatrixColorFilter d; + Matrix e; + float[] f = { 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.0F }; + float g = (float)Math.hypot(this.k, this.l); + Paint h; + Scroller i; + public cg j; + private int k = 480; + private int l = 800; + private int m = 0; + private int n = 0; + private Paint o; + private boolean p; + private boolean q; + private Rect r; + private int s; + private int t; + private int u; + + public cf(Context paramContext, cg paramcg, int paramInt1, int paramInt2) + { + super(paramContext); + paramContext = new Rect(0, 0, paramInt1, paramInt2); + this.r = paramContext; + this.k = paramContext.width(); + this.l = paramContext.height(); + this.j = paramcg; + this.m = this.k; + this.n = this.l; + this.c.x = (this.m - 0.09F); + this.c.y = (this.n - 0.09F); + this.h = new Paint(); + this.h.setStyle(Paint.Style.FILL); + paramContext = new ColorMatrix(); + paramContext.set(new float[] { 0.7F, 0.0F, 0.0F, 0.0F, 90.0F, 0.0F, 0.7F, 0.0F, 0.0F, 90.0F, 0.0F, 0.0F, 0.7F, 0.0F, 90.0F, 0.0F, 0.0F, 0.0F, 0.2F, 0.0F }); + this.d = new ColorMatrixColorFilter(paramContext); + this.e = new Matrix(); + this.i = new Scroller(getContext(), new AccelerateInterpolator()); + this.o = new Paint(); + this.o.setShadowLayer(15.0F, 0.0F, 0.0F, -1073741824); + try + { + paramContext = Class.forName("com.android.internal.R$dimen"); + paramcg = paramContext.newInstance(); + paramInt1 = Integer.parseInt(paramContext.getField("status_bar_height").get(paramcg).toString()); + this.u = getResources().getDimensionPixelSize(paramInt1); + return; + } + catch (Exception paramContext) + { + paramContext.printStackTrace(); + this.u = ((int)getResources().getDimension(2131230743)); + } + } + + private void c() + { + this.m = this.k; + this.n = this.l; + this.c.x = (this.m - 0.09F); + this.c.y = (this.n - 0.09F); + this.p = false; + } + + public final void a() + { + if (!this.i.isFinished()) + { + this.i.abortAnimation(); + if (this.j != null) { + this.j.onNextPage(this.q); + } + if (this.a != null) { + this.a.recycle(); + } + this.a = this.b; + this.b = null; + c(); + } + } + + public final void a(Bitmap paramBitmap) + { + this.a = paramBitmap; + this.b = null; + } + + public final void a(Rect paramRect) + { + this.r = paramRect; + this.k = paramRect.width(); + this.l = paramRect.height(); + } + + public final void b() + { + e.b("PageCurlView Do Clean"); + if (this.b != null) { + this.b.recycle(); + } + this.b = null; + if (this.a != null) { + this.a.recycle(); + } + this.a = null; + } + + public final void b(Bitmap paramBitmap) + { + if (this.j != null) { + this.j.onNextPage(true); + } + if (this.a != null) { + this.a.recycle(); + } + this.a = paramBitmap; + postInvalidate(); + } + + public final void c(Bitmap paramBitmap) + { + if (this.j != null) { + this.j.onNextPage(false); + } + if (this.a != null) { + this.a.recycle(); + } + this.a = paramBitmap; + postInvalidate(); + } + + public final void computeScroll() + { + super.computeScroll(); + if (this.i.computeScrollOffset()) + { + f1 = this.i.getCurrX(); + f2 = this.i.getCurrY(); + this.c.x = f1; + this.c.y = f2; + postInvalidate(); + } + while (!this.p) + { + float f1; + float f2; + return; + } + if (this.j != null) { + this.j.onNextPage(this.q); + } + if (this.a != null) { + this.a.recycle(); + } + this.a = this.b; + this.b = null; + c(); + } + + protected final void onDetachedFromWindow() + { + b(); + super.onDetachedFromWindow(); + } + + protected final void onDraw(Canvas paramCanvas) + { + if ((this.s == 0) || (this.t == 0)) + { + this.s = ((this.r.width() - this.a.getWidth()) / 2); + this.t = ((this.r.height() - this.u - this.a.getHeight()) / 2); + } + if ((this.a != null) && (!this.a.isRecycled())) { + paramCanvas.drawBitmap(this.a, this.s, this.t, null); + } + this.j.onDrawDots(paramCanvas, true); + } + + protected final void onMeasure(int paramInt1, int paramInt2) + { + super.onMeasure(paramInt1, paramInt2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cg.java new file mode 100755 index 00000000000..ab77b22538b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cg.java @@ -0,0 +1,16 @@ +package com.tencent.token.ui.base; + +import android.graphics.Canvas; + +public abstract interface cg +{ + public abstract void onDrawDots(Canvas paramCanvas, boolean paramBoolean); + + public abstract void onNextPage(boolean paramBoolean); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ch.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ch.java new file mode 100755 index 00000000000..86432c29849 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ch.java @@ -0,0 +1,165 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.t; +import java.util.ArrayList; + +public final class ch + extends Drawable +{ + private String[] a; + private int[] b; + private int[] c; + private Bitmap d; + private Bitmap e; + private int f; + private Paint g = new Paint(); + private Rect h; + private float i; + private final int j = 233; + private final int k = 191; + private ArrayList l; + + public ch(Context paramContext, String[] paramArrayOfString, int[] paramArrayOfInt1, int[] paramArrayOfInt2) + { + if ((paramArrayOfString == null) || (paramArrayOfInt1 == null) || (paramArrayOfInt2 == null) || (paramArrayOfInt1.length == 0) || (paramArrayOfInt1.length != paramArrayOfInt2.length) || (paramArrayOfString.length != paramArrayOfInt2.length)) { + throw new RuntimeException(); + } + this.a = new String[paramArrayOfString.length]; + this.b = new int[paramArrayOfString.length]; + this.c = new int[paramArrayOfString.length]; + this.l = new ArrayList(); + int m = 0; + while (m < paramArrayOfString.length) + { + this.a[m] = paramArrayOfString[m]; + this.b[m] = paramArrayOfInt1[m]; + this.c[m] = paramArrayOfInt2[m]; + if ((paramArrayOfInt1[m] == 0) && (paramArrayOfInt2[m] == 0) && (this.l.size() < 3)) { + this.l.add(paramArrayOfString[m]); + } + m += 1; + } + if (IndexActivity.S_DENSITY <= 1.6F) {} + for (this.d = t.a(paramContext.getResources(), 2130837738, 0.9F, 0.9F);; this.d = BitmapFactory.decodeResource(paramContext.getResources(), 2130837738)) + { + this.i = (IndexActivity.S_DENSITY / 3.0F); + this.e = BitmapFactory.decodeResource(paramContext.getResources(), 2130837739); + this.f = paramContext.getResources().getColor(2131165295); + return; + } + } + + private static String a(String paramString, int paramInt) + { + String str = paramString; + if (paramString.length() > paramInt) { + str = paramString.substring(0, paramInt) + "..."; + } + return str; + } + + public final void draw(Canvas paramCanvas) + { + int n = 0; + this.g.setAntiAlias(true); + int i1 = this.h.width() / 2 - this.d.getWidth() / 2; + int i2 = this.h.height() / 2 - this.d.getHeight() / 2; + paramCanvas.drawBitmap(this.d, i1, i2, this.g); + int m = 0; + float f1; + float f2; + float f3; + float f4; + while (m < this.b.length) + { + if ((this.b[m] != 0) || (this.c[m] != 0)) + { + f1 = i1; + f2 = this.b[m] / 233.0F; + f3 = this.d.getWidth(); + f4 = i2; + float f5 = this.c[m] / 191.0F; + float f6 = this.d.getHeight(); + paramCanvas.drawBitmap(this.e, f1 + f2 * f3 - this.e.getWidth() / 2, f4 + f5 * f6 - this.e.getHeight() / 2, null); + } + m += 1; + } + if (this.l.size() > 0) + { + this.g.setColor(this.f); + this.g.setStyle(Paint.Style.FILL); + f2 = 170.0F * this.i; + f1 = 184.0F * this.i; + f3 = this.h.right - f2; + f4 = this.h.height() - f1; + paramCanvas.drawRect(f3, f4, this.h.right, this.h.bottom, this.g); + this.g.setColor(-1); + if (IndexActivity.S_DENSITY > 2.1F) { + break label465; + } + this.g.setTextSize(30.0F * this.i); + if (this.l.size() != 1) { + break label482; + } + paramCanvas.drawBitmap(this.e, (f2 - this.e.getWidth()) / 2.0F + f3, (f1 - this.e.getHeight()) / 2.0F + f4 - 20.0F * this.i, this.g); + this.g.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(a((String)this.l.get(0), 4), f3 + f2 / 2.0F, f4 + f1 / 2.0F - this.g.ascent() + this.g.descent(), this.g); + } + for (;;) + { + return; + label465: + this.g.setTextSize(35.0F * this.i); + break; + label482: + f2 = this.g.descent() - this.g.ascent(); + this.g.setTextAlign(Paint.Align.LEFT); + f3 += this.i * 10.0F; + f1 = (f1 - this.l.size() * f2 - (this.l.size() - 1) * 13 * this.i) / 2.0F + f4; + m = n; + while (m < this.l.size()) + { + paramCanvas.drawBitmap(this.e, f3, (f2 - this.e.getHeight()) / 2.0F + f1, this.g); + paramCanvas.drawText(a((String)this.l.get(m), 3), this.e.getWidth() + f3 + this.i * 10.0F, f1 - this.g.ascent(), this.g); + f4 = this.i; + m += 1; + f1 = 13.0F * f4 + f2 + f1; + } + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.h = new Rect(paramInt1, paramInt2, paramInt3, paramInt4); + e.a("mapdrawable left=" + paramInt1 + ",top=" + paramInt2 + ", right=" + paramInt3 + ", bottom=" + paramInt4); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ci.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ci.java new file mode 100755 index 00000000000..b4181ac9ea3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ci.java @@ -0,0 +1,151 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.FontMetrics; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; + +public final class ci + extends Drawable +{ + private Paint a = new Paint(); + private Rect b; + private int c; + private int d; + private int e; + private int f; + private int g; + private int h; + private int i; + private String j; + + public ci(Context paramContext, int paramInt1, int paramInt2, int paramInt3, String paramString) + { + this.c = paramContext.getResources().getColor(2131165282); + this.d = paramContext.getResources().getColor(2131165283); + this.e = paramContext.getResources().getColor(2131165184); + this.f = paramContext.getResources().getColor(2131165205); + this.g = paramInt1; + this.h = paramInt2; + this.i = paramInt3; + this.j = paramString; + } + + public final void draw(Canvas paramCanvas) + { + if (this.h - this.g != 1) { + return; + } + float f1 = IndexActivity.S_DENSITY / 3.0F; + int m = this.b.width() / 2; + int n = this.b.height() / 2 - (int)(64.0F * f1); + int k = this.g % 12; + int i1; + Object localObject; + if (k <= 2) + { + k = k * 30 + 270; + i1 = (int)(240.0F * f1); + localObject = new RectF(m - i1, n - i1, m + i1, i1 + n); + this.a.reset(); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.d); + this.a.setAntiAlias(true); + paramCanvas.drawArc((RectF)localObject, k, 30.0F, true, this.a); + i1 = (int)(230.0F * f1); + localObject = new RectF(m - i1, n - i1, m + i1, i1 + n); + this.a.reset(); + this.a.setColor(this.c); + this.a.setAntiAlias(true); + this.a.setStyle(Paint.Style.FILL); + if (k != 0) { + break label844; + } + paramCanvas.drawArc((RectF)localObject, k + 32, 360 - (k + 34), true, this.a); + } + for (;;) + { + i1 = (int)(170.0F * f1); + localObject = new RectF(m - i1, n - i1, m + i1, i1 + n); + this.a.setColor(this.e); + this.a.setAntiAlias(true); + paramCanvas.drawArc((RectF)localObject, 0.0F, k, true, this.a); + paramCanvas.drawArc((RectF)localObject, k + 30, 360 - (k + 30), true, this.a); + k = (int)(88.0F * f1); + localObject = new RectF(m - k, n - k, m + k, k + n); + this.a.setColor(this.c); + paramCanvas.drawArc((RectF)localObject, 0.0F, 360.0F, true, this.a); + this.a.reset(); + this.a.setAntiAlias(true); + this.a.setColor(this.f); + this.a.setTextAlign(Paint.Align.CENTER); + this.a.setTextSize(45.0F * f1); + k = (int)this.a.getFontMetrics().ascent; + this.a.getFontMetrics(); + i1 = (int)this.a.measureText("12:00"); + paramCanvas.drawText("12:00", m, n - 250.0F * f1, this.a); + paramCanvas.drawText("06:00", m, n + 250.0F * f1 - k, this.a); + this.a.setTextAlign(Paint.Align.LEFT); + paramCanvas.drawText("09:00", m - 250.0F * f1 - i1, n - k / 2, this.a); + paramCanvas.drawText("03:00", m + 250.0F * f1, n - k / 2, this.a); + this.a.setTextAlign(Paint.Align.CENTER); + this.a.setTextSize(50.0F * f1); + this.a.setColor(this.d); + paramCanvas.drawText(this.j, this.b.centerX(), this.b.bottom - 90.0F * f1, this.a); + this.a.setTextSize(80.0F * f1); + this.a.setColor(this.f); + this.a.setTextAlign(Paint.Align.LEFT); + localObject = "" + this.i; + k = (int)this.a.measureText((String)localObject); + i1 = (int)this.a.getFontMetrics().ascent; + this.a.getFontMetrics(); + paramCanvas.drawText((String)localObject, m - k * 3 / 4, n - i1 / 2, this.a); + this.a.setTextSize(50.0F * f1); + paramCanvas.drawText("次", k * 1 / 4 + m, n - i1 * 2 / 5, this.a); + return; + k = (k - 3) * 30; + break; + label844: + if (k == 330) + { + paramCanvas.drawArc((RectF)localObject, 2.0F, k - 4, true, this.a); + } + else + { + paramCanvas.drawArc((RectF)localObject, 0.0F, k - 2, true, this.a); + paramCanvas.drawArc((RectF)localObject, k + 32, 360 - (k + 32), true, this.a); + } + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.b = new Rect(paramInt1, paramInt2, paramInt3, paramInt4); + e.a("logintimedrawable left=" + paramInt1 + ",top=" + paramInt2 + ", right=" + paramInt3 + ", bottom=" + paramInt4 + ", startTime=" + this.g); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ci + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cj.java new file mode 100755 index 00000000000..cde5daf543c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cj.java @@ -0,0 +1,235 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.FontMetrics; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import com.tencent.token.global.e; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.t; + +public final class cj + extends Drawable +{ + private Paint a = new Paint(); + private int b; + private int[] c = new int[3]; + private Rect d; + private Bitmap e; + private Bitmap f; + private String[] g; + private int[] h; + + public cj(Context paramContext, String[] paramArrayOfString, int[] paramArrayOfInt) + { + this.b = paramContext.getResources().getColor(2131165205); + int i = 2131165290; + int j = 0; + while (j < this.c.length) + { + this.c[j] = paramContext.getResources().getColor(i); + j += 1; + i += 1; + } + this.e = t.a(paramContext.getResources(), 2130837678); + this.f = t.a(paramContext.getResources(), 2130837678, 0.85F, 0.85F); + e.a("logincity width= " + this.e.getWidth() + ", height=" + this.e.getHeight()); + if (paramArrayOfString != null) + { + this.g = new String[paramArrayOfString.length]; + i = 0; + if (i < paramArrayOfString.length) + { + if (paramArrayOfString[i].length() > 4) { + this.g[i] = (paramArrayOfString[i].substring(0, 4) + "..."); + } + for (;;) + { + i += 1; + break; + this.g[i] = paramArrayOfString[i]; + } + } + } + if (paramArrayOfInt != null) + { + this.h = new int[paramArrayOfInt.length]; + i = k; + while (i < paramArrayOfInt.length) + { + this.h[i] = paramArrayOfInt[i]; + i += 1; + } + } + } + + public final void draw(Canvas paramCanvas) + { + if ((this.g == null) || (this.h == null) || (this.g.length != this.h.length) || (this.g.length > 3) || (this.e == null) || (this.f == null)) { + return; + } + float f1 = IndexActivity.S_DENSITY / 3.0F; + int j = this.d.width() / 2; + int i = this.d.height() / 2 - (int)(78.0F * f1); + this.a.setAntiAlias(true); + int n; + if (this.g.length == 3) + { + k = (int)(j - this.e.getWidth() / 2 - this.f.getWidth() + 50.0F * f1); + m = (int)(i - 172.0F * f1); + paramCanvas.drawBitmap(this.f, k, m, this.a); + f2 = 109.0F * f1; + k = (int)(k + 139.0F * f1); + m = (int)(m + 139.0F * f1); + localRectF = new RectF(k - f2, m - f2, k + f2, m + f2); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[2]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[2], k, m - this.a.descent(), this.a); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + n = (int)this.a.measureText("" + this.h[2]); + float f3 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[2], k - n, m - f3, this.a); + this.a.setTextSize(40.0F * f1); + paramCanvas.drawText("次", k, m - f3, this.a); + k = (int)(this.e.getWidth() / 2 + j - 45.0F * f1); + m = (int)(i - 172.0F * f1); + paramCanvas.drawBitmap(this.f, k, m, this.a); + k = (int)(k + 139.0F * f1); + m = (int)(m + 139.0F * f1); + localRectF = new RectF(k - f2, m - f2, k + f2, m + f2); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[1]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[1], k, m - this.a.descent(), this.a); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + n = (int)this.a.measureText("" + this.h[1]); + f2 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[1], k - n, m - f2, this.a); + this.a.setTextSize(40.0F * f1); + paramCanvas.drawText("次", k, m - f2, this.a); + k = this.e.getWidth() / 2; + m = (int)(i - 162.0F * f1); + paramCanvas.drawBitmap(this.e, j - k, m, this.a); + f2 = 125.0F * f1; + localRectF = new RectF(j - f2, i - f2, j + f2, f2 + i); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[0]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[0], j, i - this.a.descent(), this.a); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + k = (int)this.a.measureText("" + this.h[0]); + f2 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[0], j - k, i - f2, this.a); + this.a.setTextSize(45.0F * f1); + paramCanvas.drawText("次", j, i - f2, this.a); + return; + } + if (this.g.length == 2) + { + j -= (int)((this.f.getWidth() - 50.0F * f1) / 2.0F); + k = (int)(this.e.getWidth() / 2 + j - 45.0F * f1); + m = (int)(i - 172.0F * f1); + paramCanvas.drawBitmap(this.f, k, m, this.a); + f2 = 109.0F * f1; + k = (int)(k + 139.0F * f1); + m = (int)(m + 139.0F * f1); + localRectF = new RectF(k - f2, m - f2, k + f2, f2 + m); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[1]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[1], k, m - this.a.descent(), this.a); + this.a.setTextSize(43.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + n = (int)this.a.measureText("" + this.h[1]); + f2 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[1], k - n, m - f2, this.a); + this.a.setTextSize(40.0F * f1); + paramCanvas.drawText("次", k, m - f2, this.a); + k = this.e.getWidth() / 2; + m = (int)(i - 162.0F * f1); + paramCanvas.drawBitmap(this.e, j - k, m, this.a); + f2 = 125.0F * f1; + localRectF = new RectF(j - f2, i - f2, j + f2, f2 + i); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[0]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[0], j, i - this.a.descent(), this.a); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + k = (int)this.a.measureText("" + this.h[0]); + f2 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[0], j - k, i - f2, this.a); + this.a.setTextSize(45.0F * f1); + paramCanvas.drawText("次", j, i - f2, this.a); + return; + } + int k = this.e.getWidth() / 2; + int m = (int)(i - 162.0F * f1); + paramCanvas.drawBitmap(this.e, j - k, m, this.a); + float f2 = 125.0F * f1; + RectF localRectF = new RectF(j - f2, i - f2, j + f2, f2 + i); + this.a.setStyle(Paint.Style.FILL); + this.a.setColor(this.c[0]); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.setColor(-1); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText(this.g[0], j, i - this.a.descent(), this.a); + this.a.setTextSize(50.0F * f1); + this.a.setTextAlign(Paint.Align.LEFT); + k = (int)this.a.measureText("" + this.h[0]); + f2 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.h[0], j - k, i - f2, this.a); + this.a.setTextSize(45.0F * f1); + paramCanvas.drawText("次", j, i - f2, this.a); + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.d = new Rect(paramInt1, paramInt2, paramInt3, paramInt4); + e.a("logintimedrawable left=" + paramInt1 + ",top=" + paramInt2 + ", right=" + paramInt3 + ", bottom=" + paramInt4); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ck.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ck.java new file mode 100755 index 00000000000..0136b8bcf1e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ck.java @@ -0,0 +1,252 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Align; +import android.graphics.Paint.FontMetrics; +import android.graphics.Paint.Style; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import com.tencent.token.ui.IndexActivity; + +public final class ck + extends Drawable +{ + private Paint a = new Paint(); + private int[] b; + private int[] c; + private int d; + private int[] e = new int[5]; + private int f; + private int g; + private int h; + private Rect i; + private String[] j; + + public ck(Context paramContext, int[] paramArrayOfInt, String[] paramArrayOfString, int paramInt) + { + this.b = paramArrayOfInt; + this.d = paramInt; + paramInt = 2131165284; + int k = 0; + while (k < this.e.length) + { + this.e[k] = paramContext.getResources().getColor(paramInt); + k += 1; + paramInt += 1; + } + this.f = paramContext.getResources().getColor(2131165289); + this.g = paramContext.getResources().getColor(2131165205); + this.h = paramContext.getResources().getColor(2131165184); + if (paramArrayOfInt != null) + { + this.b = new int[paramArrayOfInt.length]; + this.c = new int[paramArrayOfInt.length]; + paramInt = 0; + while (paramInt < this.b.length) + { + this.b[paramInt] = paramArrayOfInt[paramInt]; + paramInt += 1; + } + a(); + if (paramArrayOfInt.length == 3) + { + this.e[1] = paramContext.getResources().getColor(2131165286); + this.e[2] = paramContext.getResources().getColor(2131165288); + } + if (paramArrayOfInt.length == 1) { + this.e[0] = paramContext.getResources().getColor(2131165286); + } + if (paramArrayOfInt.length == 2) + { + this.e[0] = paramContext.getResources().getColor(2131165286); + this.e[1] = paramContext.getResources().getColor(2131165288); + } + } + if (paramArrayOfString != null) + { + this.j = new String[paramArrayOfString.length]; + paramInt = m; + while (paramInt < this.j.length) + { + this.j[paramInt] = paramArrayOfString[paramInt]; + paramInt += 1; + } + } + } + + private void a() + { + int k = 0; + int m = 0; + while (k < this.c.length - 1) + { + this.c[k] = (this.b[k] * 36 / 10 - 2); + if (this.c[k] < 0) { + this.c[k] = 2; + } + m += this.c[k] + 2; + k += 1; + } + this.c[(this.c.length - 1)] = (360 - m - 2); + } + + public final void draw(Canvas paramCanvas) + { + if ((this.b == null) || (this.j == null) || (this.b.length > 5) || (this.b.length != this.j.length)) { + return; + } + float f2 = IndexActivity.S_DENSITY / 3.0F; + int n = this.i.width() / 2; + int i1 = this.i.height() / 2 - (int)(70.0F * f2); + int k = (int)(240.0F * f2); + RectF localRectF = new RectF(n - k, i1 - k, n + k, k + i1); + this.a.reset(); + this.a.setStyle(Paint.Style.FILL); + this.a.setTextAlign(Paint.Align.CENTER); + this.a.setTextSize(45.0F * f2); + this.a.setAntiAlias(true); + Paint.FontMetrics localFontMetrics = this.a.getFontMetrics(); + int i2 = (int)((localFontMetrics.descent - localFontMetrics.ascent) / 2.0F - localFontMetrics.descent); + int m = 0; + k = 270; + int i4; + int i3; + if (m < this.c.length) + { + this.a.setColor(this.e[m]); + if (this.c[m] + k > 360) + { + paramCanvas.drawArc(localRectF, k, 360 - k, true, this.a); + paramCanvas.drawArc(localRectF, 0.0F, this.c[m] + k - 360, true, this.a); + } + for (;;) + { + i4 = (int)(280.0F * f2); + double d2 = Math.toRadians(360 - (this.c[m] / 2 + k) % 360); + double d1 = Math.sin(d2); + d2 = Math.cos(d2); + double d3 = n; + i3 = (int)(d2 * i4 + d3); + i4 = (int)(i1 - d1 * i4); + paramCanvas.drawText("" + this.b[m] + "%", i3, i4 + i2, this.a); + i3 = this.c[m]; + m += 1; + k = (i3 + k + 2) % 360; + break; + paramCanvas.drawArc(localRectF, k, this.c[m], true, this.a); + } + } + k = (int)(170.0F * f2); + localRectF = new RectF(n - k, i1 - k, n + k, k + i1); + this.a.setColor(this.h); + this.a.setAntiAlias(true); + paramCanvas.drawArc(localRectF, 0.0F, 360.0F, true, this.a); + this.a.reset(); + this.a.setAntiAlias(true); + this.a.setTextSize(35.0F * f2); + this.a.setTextAlign(Paint.Align.LEFT); + float f1 = 0.0F; + k = 0; + while (k < this.j.length) + { + f1 += this.a.measureText(this.j[k]); + k += 1; + } + f1 = this.j.length * 36 * f2 + (this.j.length - 1) * 40 * f2 + f1; + if (f1 >= this.i.width() * 4 / 5) + { + f1 = 0.0F; + k = 0; + while (k < this.j.length - 1) + { + f1 += this.a.measureText(this.j[k]); + k += 1; + } + float f3 = (this.j.length - 1) * 36; + float f4 = (this.j.length - 2) * 40; + m = (int)((this.i.width() - (f3 * f2 + f4 * f2 + f1)) / 2.0F); + i2 = (int)(this.a.getFontMetrics().descent - this.a.getFontMetrics().ascent); + k = 0; + while (k < this.j.length - 1) + { + this.a.setColor(this.e[k]); + i3 = (int)(i1 + 332.0F * f2); + paramCanvas.drawRect(new RectF(m, i3, m + 20.0F * f2, i3 + 20.0F * f2), this.a); + m = (int)(m + 36.0F * f2); + i4 = i2 / 2; + this.a.setColor(this.g); + paramCanvas.drawText(this.j[k], m, i3 + i4, this.a); + m = (int)(m + (this.a.measureText(this.j[k]) + 40.0F * f2)); + k += 1; + } + f1 = this.a.measureText(this.j[(this.j.length - 1)]); + m = (int)((this.i.width() - (f1 + 36.0F * f2)) / 2.0F); + k = (int)(i1 + 332.0F * f2 + i2 + this.a.getFontMetrics().descent); + this.a.setColor(this.e[(this.j.length - 1)]); + paramCanvas.drawRect(new RectF(m, k, m + 20.0F * f2, k + 20.0F * f2), this.a); + m = (int)(m + 36.0F * f2); + i2 /= 2; + this.a.setColor(this.g); + paramCanvas.drawText(this.j[(this.j.length - 1)], m, k + i2, this.a); + } + for (;;) + { + this.a.reset(); + this.a.setAntiAlias(true); + this.a.setTextSize(35.0F * f2); + this.a.setColor(this.f); + this.a.setTextAlign(Paint.Align.CENTER); + paramCanvas.drawText("近三个月共消费", n, i1 - this.a.getFontMetrics().descent, this.a); + this.a.setTextSize(90.0F * f2); + this.a.setColor(this.g); + this.a.setTextAlign(Paint.Align.LEFT); + k = (int)this.a.measureText("" + this.d); + f1 = this.a.getFontMetrics().ascent; + paramCanvas.drawText("" + this.d, n - k * 3 / 4, i1 - f1, this.a); + this.a.setTextSize(50.0F * f2); + paramCanvas.drawText("Q币", k / 4 + n, i1 - f1 * 5.0F / 6.0F, this.a); + return; + m = (int)((this.i.width() - f1) / 2.0F); + i2 = (int)(this.a.getFontMetrics().descent - this.a.getFontMetrics().ascent); + k = 0; + while (k < this.j.length) + { + this.a.setColor(this.e[k]); + i3 = (int)(i1 + 332.0F * f2); + paramCanvas.drawRect(new RectF(m, i3, m + 20.0F * f2, i3 + 20.0F * f2), this.a); + m = (int)(m + 36.0F * f2); + i4 = i2 / 2; + this.a.setColor(this.g); + paramCanvas.drawText(this.j[k], m, i3 + i4, this.a); + m = (int)(m + (this.a.measureText(this.j[k]) + 40.0F * f2)); + k += 1; + } + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.i = new Rect(paramInt1, paramInt2, paramInt3, paramInt4); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ck + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cl.java new file mode 100755 index 00000000000..9ef8bd24f2a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cl.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnDismissListener; + +final class cl + implements DialogInterface.OnDismissListener +{ + cl(ProDialog paramProDialog) {} + + public final void onDismiss(DialogInterface paramDialogInterface) + { + ProDialog.a(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cm.java new file mode 100755 index 00000000000..f8be8569599 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class cm + implements View.OnClickListener +{ + cm(ProDialogWithShutDown paramProDialogWithShutDown) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cn.java new file mode 100755 index 00000000000..7e3914bfeb5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cn.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnDismissListener; +import android.view.View.OnClickListener; + +final class cn + implements DialogInterface.OnDismissListener +{ + cn(ProDialogWithShutDown paramProDialogWithShutDown) {} + + public final void onDismiss(DialogInterface paramDialogInterface) + { + ProDialogWithShutDown.a(this.a); + if (ProDialogWithShutDown.b(this.a) != null) { + ProDialogWithShutDown.b(this.a).onClick(ProDialogWithShutDown.c(this.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/co.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/co.java new file mode 100755 index 00000000000..f0021101dae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/co.java @@ -0,0 +1,90 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.graphics.RectF; +import android.graphics.drawable.Drawable; +import com.tencent.token.global.e; + +public final class co + extends Drawable +{ + private int a; + private int b; + private Paint c = new Paint(); + private RectF d; + private RectF e; + private boolean f; + private float g; + private float h; + + public co(Context paramContext) + { + this.a = paramContext.getResources().getColor(2131165194); + this.b = paramContext.getResources().getColor(2131165299); + this.d = new RectF(); + this.e = new RectF(); + } + + public final void a() + { + this.f = true; + this.g = 80.0F; + } + + public final void b() + { + this.g = 0.0F; + this.f = false; + } + + public final void draw(Canvas paramCanvas) + { + this.c.setColor(this.a); + this.c.setStyle(Paint.Style.FILL); + paramCanvas.drawRoundRect(this.d, 5.0F, 5.0F, this.c); + if (!this.f) + { + this.g = ((float)(this.g + 0.15D)); + if (this.g <= 80.0F) {} + } + for (this.g = 80.0F;; this.g += 5.0F) + { + if (this.g >= 100.0F) { + this.g = 100.0F; + } + this.e.set(this.d.left, this.d.top, this.d.left + this.h * this.g, this.d.bottom); + this.c.setColor(this.b); + paramCanvas.drawRoundRect(this.e, 5.0F, 5.0F, this.c); + invalidateSelf(); + return; + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.setBounds(paramInt1, paramInt2, paramInt3, paramInt4); + this.d.set(paramInt1, paramInt2, paramInt3, paramInt4); + this.h = (this.d.width() / 100.0F); + e.c("setBounds rect=" + this.d + ",clipRect=" + this.e); + } + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.co + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cp.java new file mode 100755 index 00000000000..18d26932d5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cp.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface cp +{ + public abstract void onRefresh(PullToRefreshLinearLayout paramPullToRefreshLinearLayout); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cq.java new file mode 100755 index 00000000000..79fc5aace64 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cq.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface cq +{ + public abstract void onRefresh(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cr.java new file mode 100755 index 00000000000..94dfcc8bf98 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cr.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui.base; + +import android.widget.AbsListView; +import android.widget.AbsListView.OnScrollListener; + +final class cr + implements AbsListView.OnScrollListener +{ + private cr(PullToRefreshListView paramPullToRefreshListView, byte paramByte) {} + + public final void onScroll(AbsListView paramAbsListView, int paramInt1, int paramInt2, int paramInt3) + { + PullToRefreshListView.a(this.a, paramInt1); + } + + public final void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cs.java new file mode 100755 index 00000000000..a171f31ffd4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cs.java @@ -0,0 +1,52 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.e; + +final class cs + extends Handler +{ + cs(RecordTextView paramRecordTextView) {} + + public final void handleMessage(Message paramMessage) + { + paramMessage = this.a; + boolean bool; + if (!RecordTextView.a(this.a)) + { + bool = true; + RecordTextView.a(paramMessage, bool); + if (!RecordTextView.b(this.a)) { + break label81; + } + RecordTextView.c(this.a); + this.a.invalidate(); + if (RecordTextView.d(this.a) >= 10) { + break label81; + } + RecordTextView.e(this.a).sendEmptyMessageDelayed(0, 70L); + } + label81: + do + { + return; + bool = false; + break; + if (RecordTextView.f(this.a) < this.a.getWidth()) + { + RecordTextView.a(this.a, this.a.getWidth() / 10); + this.a.invalidate(); + RecordTextView.e(this.a).sendEmptyMessageDelayed(0, 70L); + return; + } + } while (RecordTextView.g(this.a) == null); + e.c("onAniEnd"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ct.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ct.java new file mode 100755 index 00000000000..0625675e8c4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ct.java @@ -0,0 +1,9 @@ +package com.tencent.token.ui.base; + +public abstract interface ct {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cu.java new file mode 100755 index 00000000000..e57805cfc9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cu.java @@ -0,0 +1,64 @@ +package com.tencent.token.ui.base; + +import android.graphics.Camera; +import android.graphics.Matrix; +import android.view.animation.Animation; +import android.view.animation.Transformation; + +public final class cu + extends Animation +{ + private final float a; + private final float b; + private final float c; + private final float d; + private final float e; + private final boolean f; + private Camera g; + + public cu(float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4, boolean paramBoolean) + { + this.a = paramFloat1; + this.b = paramFloat2; + this.c = paramFloat3; + this.d = paramFloat4; + this.e = 310.0F; + this.f = paramBoolean; + } + + protected final void applyTransformation(float paramFloat, Transformation paramTransformation) + { + float f1 = this.a; + float f2 = this.b; + float f3 = this.c; + float f4 = this.d; + Camera localCamera = this.g; + paramTransformation = paramTransformation.getMatrix(); + localCamera.save(); + if (this.f) { + localCamera.translate(0.0F, 0.0F, this.e * paramFloat); + } + for (;;) + { + localCamera.rotateY(f1 + (f2 - f1) * paramFloat); + localCamera.getMatrix(paramTransformation); + localCamera.restore(); + paramTransformation.preTranslate(-f3, -f4); + paramTransformation.postTranslate(f3, f4); + return; + localCamera.translate(0.0F, 0.0F, this.e * (1.0F - paramFloat)); + } + } + + public final void initialize(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + super.initialize(paramInt1, paramInt2, paramInt3, paramInt4); + this.g = new Camera(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cv.java new file mode 100755 index 00000000000..fa913ee60c1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cv.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface cv +{ + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cw.java new file mode 100755 index 00000000000..062f24f7ee2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cw.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.UserTask; + +final class cw + implements View.OnClickListener +{ + cw(SecondVerifyDialog paramSecondVerifyDialog) {} + + public final void onClick(View paramView) + { + if (SecondVerifyDialog.a(this.a)) { + return; + } + SecondVerifyDialog.a(this.a, true); + if (this.a.a != null) + { + this.a.a.dismiss(); + this.a.a = null; + } + this.a.a = new ProDialog(SecondVerifyDialog.b(this.a), SecondVerifyDialog.b(this.a).getResources().getString(2131361918)); + this.a.a.show(); + new cx(this).a(new String[] { "" }); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cx.java new file mode 100755 index 00000000000..7341284bbea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cx.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui.base; + +import com.tencent.token.utils.UserTask; + +final class cx + extends UserTask +{ + cx(cw paramcw) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cy.java new file mode 100755 index 00000000000..7e79e55bc5b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cy.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.view.View.OnClickListener; + +final class cy + implements View.OnClickListener +{ + cy(SecondVerifyDialog paramSecondVerifyDialog) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + if (SecondVerifyDialog.e(this.a) != null) + { + paramView = new Message(); + paramView.what = 1013; + paramView.arg1 = SecondVerifyDialog.d(this.a); + SecondVerifyDialog.e(this.a).sendMessage(paramView); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/cz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cz.java new file mode 100755 index 00000000000..3a5542b025a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/cz.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui.base; + +import android.view.View; + +final class cz + implements Runnable +{ + cz(SlidingMenuView paramSlidingMenuView) {} + + public final void run() + { + this.a.scrollTo(this.a.findViewById(2131296641).getWidth(), 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.cz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/d.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/d.java new file mode 100755 index 00000000000..42b76927776 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/d.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +final class d + implements Runnable +{ + d(CaptchaDialog paramCaptchaDialog) {} + + public final void run() + { + this.a.b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/da.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/da.java new file mode 100755 index 00000000000..2c0a5977663 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/da.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface da +{ + public abstract void a(boolean paramBoolean); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.da + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/db.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/db.java new file mode 100755 index 00000000000..f569d822613 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/db.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +final class db + implements Runnable +{ + db(SwitchButton paramSwitchButton, boolean paramBoolean) {} + + public final void run() + { + this.b.a(this.a, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.db + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dc.java new file mode 100755 index 00000000000..ef62975a281 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dc.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +final class dc + implements Runnable +{ + private dc(SwitchButton paramSwitchButton, byte paramByte) {} + + public final void run() + { + this.a.performClick(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dd.java new file mode 100755 index 00000000000..9f3c19ca406 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dd.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +final class dd + implements Runnable +{ + private dd(SwitchButton paramSwitchButton, byte paramByte) {} + + public final void run() + { + if (!SwitchButton.a(this.a)) { + return; + } + SwitchButton.b(this.a); + ad.a(this); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/de.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/de.java new file mode 100755 index 00000000000..a448a756cbc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/de.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class de + implements View.OnClickListener +{ + de(TitleOptionMenu paramTitleOptionMenu) {} + + public final void onClick(View paramView) + { + if (TitleOptionMenu.a(this.a) != null) { + TitleOptionMenu.a(this.a).a(((Integer)paramView.getTag()).intValue()); + } + this.a.a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.de + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/df.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/df.java new file mode 100755 index 00000000000..623c4344e16 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/df.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; + +final class df + implements View.OnTouchListener +{ + df(TitleOptionMenu paramTitleOptionMenu) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + if ((paramMotionEvent.getAction() == 0) && (TitleOptionMenu.b(this.a).findFocus() == null)) + { + this.a.a(); + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.df + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dg.java new file mode 100755 index 00000000000..696c1fcd589 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dg.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class dg + implements Animation.AnimationListener +{ + dg(TitleOptionMenu paramTitleOptionMenu) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.a.setVisibility(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dh.java new file mode 100755 index 00000000000..5fc255ed8db --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dh.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface dh +{ + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/di.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/di.java new file mode 100755 index 00000000000..97f4f9e37da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/di.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class di + implements View.OnClickListener +{ + di(UtilsAccountLockTipDialog paramUtilsAccountLockTipDialog) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.di + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dj.java new file mode 100755 index 00000000000..a89cb122e5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dj.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; + +final class dj + implements View.OnClickListener +{ + dj(UtilsAccountLockTipDialog paramUtilsAccountLockTipDialog) {} + + public final void onClick(View paramView) + { + if (UtilsAccountLockTipDialog.a(this.a) != null) + { + paramView = UtilsAccountLockTipDialog.a(this.a).obtainMessage(3035); + if (!UtilsAccountLockTipDialog.b(this.a)) { + break label72; + } + } + label72: + for (int i = 1;; i = 0) + { + paramView.arg1 = i; + paramView.obj = UtilsAccountLockTipDialog.c(this.a); + UtilsAccountLockTipDialog.a(this.a).sendMessage(paramView); + this.a.dismiss(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dk.java new file mode 100755 index 00000000000..235f043569a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dk.java @@ -0,0 +1,127 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.UtilsActivity; +import com.tencent.token.ui.WtloginFinishNoMibaoActivity; + +public final class dk + extends LinearLayout +{ + public Handler a = new dl(this); + private BaseActivity b; + private LayoutInflater c; + private View d; + private int e; + private ImageView f; + private TextView g; + private TextView h; + private TextView i; + private Button j; + private final long k = 523005425L; + private final int l = 2; + private UpgradeDeterminResult m; + private boolean n = false; + private byte[] o; + private long p; + private int[] q = { 2131362194, 2131362196, 2131362454, 2131362188, 2131362252, 2131362197, 2131362201, 2131362198, 2131362517 }; + private View.OnClickListener r = new dn(this); + private View.OnClickListener s = new dr(this); + + public dk(BaseActivity paramBaseActivity, int paramInt) + { + super(paramBaseActivity); + this.b = paramBaseActivity; + this.e = paramInt; + this.c = ((LayoutInflater)this.b.getSystemService("layout_inflater")); + this.d = this.c.inflate(2130903249, null); + removeAllViews(); + addView(this.d, new LinearLayout.LayoutParams(-1, -1)); + this.f = ((ImageView)findViewById(2131297229)); + this.g = ((TextView)findViewById(2131297230)); + this.h = ((TextView)findViewById(2131297231)); + this.i = ((TextView)findViewById(2131297232)); + this.j = ((Button)findViewById(2131297297)); + paramBaseActivity = getResources().getString(2131362231); + e.a("flag show scene id: " + this.e); + String str; + if ((this.e >= 0) && (this.e < UtilsActivity.mIcons.length)) + { + this.f.setImageDrawable(getResources().getDrawable(UtilsActivity.mIcons[this.e])); + this.g.setText(this.q[this.e]); + str = getResources().getString(2131362189) + getResources().getString(UtilsActivity.mTexts[this.e]) + "?"; + paramBaseActivity = getResources().getString(2131362190) + getResources().getString(UtilsActivity.mTexts[this.e]) + paramBaseActivity; + this.h.setText(str); + this.i.setText(paramBaseActivity); + } + for (;;) + { + this.j.setOnClickListener(this.r); + paramBaseActivity = ax.a().e(); + if (paramBaseActivity != null) { + this.p = paramBaseActivity.mRealUin; + } + return; + if (this.e == -1) + { + this.f.setImageDrawable(getResources().getDrawable(2130837680)); + this.g.setText(2131362199); + str = getResources().getString(2131362189) + getResources().getString(2131362179) + "?"; + paramBaseActivity = getResources().getString(2131362190) + getResources().getString(2131362179) + paramBaseActivity; + this.h.setText(str); + this.i.setText(paramBaseActivity); + } + } + } + + private void a() + { + Intent localIntent = new Intent(this.b, WtloginFinishNoMibaoActivity.class); + localIntent.putExtra("uin", ax.a().e().mRealUin); + this.b.startActivity(localIntent); + } + + public final boolean dispatchKeyEvent(KeyEvent paramKeyEvent) + { + boolean bool = true; + for (;;) + { + try + { + if ((this.n) && (paramKeyEvent.getAction() == 0)) {} + switch (paramKeyEvent.getKeyCode()) + { + case 4: + bool = super.dispatchKeyEvent(paramKeyEvent); + return bool; + } + } + catch (Exception paramKeyEvent) + { + paramKeyEvent.printStackTrace(); + return true; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dl.java new file mode 100755 index 00000000000..62047a5a8ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dl.java @@ -0,0 +1,126 @@ +package com.tencent.token.ui.base; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; + +final class dl + extends Handler +{ + dl(dk paramdk) {} + + public final void handleMessage(Message paramMessage) + { + if ((dk.a(this.a) == null) || (dk.a(this.a).isFinishing())) {} + int i; + do + { + do + { + return; + i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 1019: + paramMessage = (byte[])paramMessage.obj; + } + } while (paramMessage == null); + dk.a(this.a, paramMessage); + af.a().a(dk.c(this.a), paramMessage, this.a.a, 2); + return; + dk.a(this.a).dismissDialog(); + if (paramMessage.arg1 == 0) + { + dk.a(this.a, (UpgradeDeterminResult)paramMessage.obj); + dk.b(this.a, dk.b(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + dk.a(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + byte[] arrayOfByte = (byte[])paramMessage.obj; + dk.a(this.a, arrayOfByte); + if ((i == 0) && (arrayOfByte != null)) + { + af.a().a(dk.c(this.a), arrayOfByte, this.a.a, 2); + return; + } + if (i != 2) { + break; + } + } while (dk.a(this.a).isFinishing()); + new WtloginCaptchaDialog(dk.a(this.a), this.a.a, Long.toString(dk.c(this.a))).show(); + return; + if (i == -1000) + { + dk.a(this.a).dismissDialog(); + dk.a(this.a).showToast(2131361943); + return; + } + if (i == 8192) + { + dk.a(this.a).dismissDialog(); + dk.a(this.a).showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16)) + { + dk.a(this.a).dismissDialog(); + dk.a(this.a).showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new dm(this)); + return; + } + dk.a(this.a).dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + dk.a(this.a).showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + dk.a(this.a).showToast(2131362091); + return; + if (i == 0) + { + af.a().a(dk.c(this.a), dk.e(this.a), this.a.a); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + dk.a(this.a).showToast(paramMessage.c); + return; + dk.a(this.a).dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + dk.a(this.a).showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + dk.a(this.a).showToast(2131362091); + return; + if (paramMessage.arg1 == 0) + { + dk.f(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + dk.a(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dm.java new file mode 100755 index 00000000000..c38828fd2e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class dm + implements DialogInterface.OnClickListener +{ + dm(dl paramdl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + dk.d(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dn.java new file mode 100755 index 00000000000..7214cd80862 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dn.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui.base; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.x; + +final class dn + implements View.OnClickListener +{ + dn(dk paramdk) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + paramView = "" + paramView.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(paramView, 523005425L)) + { + localx.a(paramView, this.a.a, 523005425L); + dk.a(this.a).showProDialog(dk.a(this.a), 2131361808, 2131361817, null); + return; + } + dk.a(this.a).showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new do(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/do.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/do.java new file mode 100755 index 00000000000..7bd5d05d51c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/do.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class do + implements DialogInterface.OnClickListener +{ + do(dn paramdn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + dk.d(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.do + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dp.java new file mode 100755 index 00000000000..95261339468 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dp.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class dp + implements View.OnClickListener +{ + dp(dk paramdk, QQUser paramQQUser, UpgradeDeterminResult paramUpgradeDeterminResult) {} + + public final void onClick(View paramView) + { + af.a().c(this.a.mRealUin, this.b.a(), "", "", this.c.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dq.java new file mode 100755 index 00000000000..4cccca501ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dq.java @@ -0,0 +1,83 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.NetActiveVryMobileNoSmsActivity; +import com.tencent.token.ui.NetActiveVryOtherListActivity; + +final class dq + implements View.OnClickListener +{ + dq(dk paramdk, UpgradeDeterminResult paramUpgradeDeterminResult, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (this.a.mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label84; + } + paramView = new Intent(dk.a(this.c), NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + dk.a(this.c).startActivity(paramView); + } + label200: + label205: + label208: + for (;;) + { + return; + i = 0; + break; + label84: + if (this.a.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (this.a.mQuesAppear != 1) { + break label200; + } + i = 1; + label114: + if (i == 0) { + if (this.a.mHaveMobile != 1) { + break label205; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label208; + } + paramView = new Intent(dk.a(this.c), NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + dk.a(this.c).startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label114; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dr.java new file mode 100755 index 00000000000..12070a45079 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dr.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui.base; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.IndexActivity; + +final class dr + implements View.OnClickListener +{ + dr(dk paramdk) {} + + public final void onClick(View paramView) + { + paramView = new Intent(dk.a(this.a), IndexActivity.class); + paramView.putExtra("index_from", 16); + dk.a(this.a).startActivity(paramView); + dk.a(this.a).finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/ds.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ds.java new file mode 100755 index 00000000000..e462abf678b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/ds.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.core.bean.g; + +public final class ds +{ + View a; + TextView b; + ProgressBar c; + SwitchButton d; + ImageView e; + ImageView f; + ImageView g; + g h; + + public ds(View paramView, g paramg) + { + this.a = paramView; + if (this.a == null) { + return; + } + this.h = paramg; + this.d = ((SwitchButton)this.a.findViewById(2131297196)); + this.b = ((TextView)this.a.findViewById(2131297193)); + this.c = ((ProgressBar)this.a.findViewById(2131297197)); + this.e = ((ImageView)this.a.findViewById(2131297195)); + this.f = ((ImageView)this.a.findViewById(2131297198)); + this.g = ((ImageView)this.a.findViewById(2131297194)); + } + + public final g a() + { + return this.h; + } + + public final SwitchButton b() + { + return this.d; + } + + public final TextView c() + { + return this.b; + } + + public final ProgressBar d() + { + return this.c; + } + + public final ImageView e() + { + return this.e; + } + + public final ImageView f() + { + return this.f; + } + + public final ImageView g() + { + return this.g; + } + + public final View h() + { + return this.a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.ds + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dt.java new file mode 100755 index 00000000000..5a14510e7e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dt.java @@ -0,0 +1,52 @@ +package com.tencent.token.ui.base; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CheckBox; +import android.widget.RelativeLayout; +import android.widget.RelativeLayout.LayoutParams; +import com.tencent.token.global.g; + +public final class dt + extends RelativeLayout +{ + private Context a; + private LayoutInflater b; + private View c; + private CheckBox d; + private dw e; + + public dt(Context paramContext, int paramInt) + { + super(paramContext); + this.a = paramContext; + this.b = ((LayoutInflater)this.a.getSystemService("layout_inflater")); + if (paramInt == 0) + { + this.c = this.b.inflate(2130903182, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + this.d = ((CheckBox)findViewById(2131297016)); + g.a(paramInt, false); + this.d.setOnCheckedChangeListener(new du(this, paramInt)); + } + for (;;) + { + findViewById(2131297015).setOnClickListener(new dv(this)); + return; + this.c = this.b.inflate(2130903183, null); + addView(this.c, new RelativeLayout.LayoutParams(-1, -1)); + } + } + + public final void a(dw paramdw) + { + this.e = paramdw; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/du.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/du.java new file mode 100755 index 00000000000..5b8b08e6c9a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/du.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.global.g; + +final class du + implements CompoundButton.OnCheckedChangeListener +{ + du(dt paramdt, int paramInt) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + int i = this.a; + if (!paramBoolean) {} + for (paramBoolean = true;; paramBoolean = false) + { + g.a(i, paramBoolean); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.du + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dv.java new file mode 100755 index 00000000000..5a1aa9eef55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dv.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class dv + implements View.OnClickListener +{ + dv(dt paramdt) {} + + public final void onClick(View paramView) + { + this.a.setVisibility(8); + if (dt.a(this.a) != null) { + dt.a(this.a).a(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dw.java new file mode 100755 index 00000000000..ff26c8cf923 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dw.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface dw +{ + public abstract void a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dx.java new file mode 100755 index 00000000000..6af6e3ee456 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dx.java @@ -0,0 +1,92 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.EditText; +import com.tencent.token.global.e; +import com.tencent.token.ui.acn; +import com.tencent.token.x; + +final class dx + extends Handler +{ + dx(WtloginCaptchaDialog paramWtloginCaptchaDialog) {} + + public final void handleMessage(Message paramMessage) + { + if ((WtloginCaptchaDialog.a(this.a) == null) || (WtloginCaptchaDialog.a(this.a).isFinishing()) || (WtloginCaptchaDialog.a() == null)) { + return; + } + ((acn)WtloginCaptchaDialog.a(this.a)).dismissDialog(); + e.c("wtlogin : ret=" + paramMessage.arg1 + ", what=" + paramMessage.what); + switch (paramMessage.what) + { + case 4101: + case 4102: + case 4103: + default: + return; + case 4099: + int i = paramMessage.arg1; + if (i == 0) + { + Message localMessage = WtloginCaptchaDialog.a().obtainMessage(1019); + localMessage.obj = paramMessage.obj; + WtloginCaptchaDialog.a().sendMessage(localMessage); + this.a.dismiss(); + return; + } + if (i == -1000) + { + this.a.a(2131361943); + return; + } + if (i == 8192) + { + this.a.a(2131362089); + return; + } + if (i == 2) + { + this.a.a(2131362088); + this.a.a.b(WtloginCaptchaDialog.b(this.a), this.a.b); + WtloginCaptchaDialog.c(this.a).setVisibility(0); + WtloginCaptchaDialog.d(this.a).setText(""); + return; + } + if (i == 1) + { + this.a.a(2131362066); + this.a.dismiss(); + return; + } + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.a(WtloginCaptchaDialog.a(this.a).getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.a(2131362091); + return; + case 4100: + e.b("K_MSGCODE_REFRESH_PICTURE ret=" + paramMessage.arg1); + WtloginCaptchaDialog.e(this.a); + return; + } + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.a(WtloginCaptchaDialog.a(this.a).getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.a(2131362091); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dy.java new file mode 100755 index 00000000000..842882e82c3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dy.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; +import com.tencent.token.ui.acn; +import com.tencent.token.x; + +final class dy + implements View.OnClickListener +{ + dy(WtloginCaptchaDialog paramWtloginCaptchaDialog) {} + + public final void onClick(View paramView) + { + if (WtloginCaptchaDialog.a(this.a) == null) { + return; + } + paramView = WtloginCaptchaDialog.d(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) + { + this.a.a(2131362169); + return; + } + ((InputMethodManager)WtloginCaptchaDialog.a(this.a).getSystemService("input_method")).hideSoftInputFromWindow(this.a.getWindow().peekDecorView().getWindowToken(), 0); + paramView = paramView.trim(); + ((acn)WtloginCaptchaDialog.a(this.a)).showProDialog(WtloginCaptchaDialog.a(this.a), 2131361808, null); + this.a.a.a(WtloginCaptchaDialog.b(this.a), paramView.getBytes(), this.a.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/dz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dz.java new file mode 100755 index 00000000000..bc13fb45c3b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/dz.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.x; + +final class dz + implements View.OnClickListener +{ + dz(WtloginCaptchaDialog paramWtloginCaptchaDialog) {} + + public final void onClick(View paramView) + { + this.a.a.b(WtloginCaptchaDialog.b(this.a), this.a.b); + WtloginCaptchaDialog.c(this.a).setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.dz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/e.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/e.java new file mode 100755 index 00000000000..d0378d62abf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/e.java @@ -0,0 +1,49 @@ +package com.tencent.token.ui.base; + +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.graphics.drawable.Drawable; +import com.tencent.token.ag; +import com.tencent.token.ui.IndexActivity; + +public final class e + extends Drawable +{ + public boolean a = true; + private Paint b = new Paint(); + private float c = IndexActivity.S_RES_WIDTH - 176.0F * IndexActivity.S_DENSITY; + private float d = 3.0F * IndexActivity.S_DENSITY; + + public e() + { + this.b.setStyle(Paint.Style.FILL); + this.b.setColor(-1); + } + + public final void draw(Canvas paramCanvas) + { + long l = System.currentTimeMillis() + ag.c().p(); + int i = (int)(l / 1000L); + paramCanvas.drawRect(((int)(l % 1000L) + i % 30 * 1000) * this.c / 30000.0F, 0.0F, 3.0F + this.c, this.d, this.b); + if (this.a) { + invalidateSelf(); + } + } + + public final int getOpacity() + { + return 0; + } + + public final void setAlpha(int paramInt) {} + + public final void setColorFilter(ColorFilter paramColorFilter) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/f.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/f.java new file mode 100755 index 00000000000..8a94816043b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/f.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class f + implements View.OnClickListener +{ + f(CommonActionSheetDialog paramCommonActionSheetDialog) {} + + public final void onClick(View paramView) + { + CommonActionSheetDialog.a(this.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/g.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/g.java new file mode 100755 index 00000000000..767cbb6398a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/g.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class g + implements View.OnClickListener +{ + g(CommonActionSheetDialog paramCommonActionSheetDialog) {} + + public final void onClick(View paramView) + { + CommonActionSheetDialog.a(this.a).a(1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/h.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/h.java new file mode 100755 index 00000000000..1531633a2e2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/h.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class h + implements View.OnClickListener +{ + h(CommonActionSheetDialog paramCommonActionSheetDialog, int paramInt) {} + + public final void onClick(View paramView) + { + CommonActionSheetDialog.a(this.b).a(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/i.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/i.java new file mode 100755 index 00000000000..6c339404ab3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/i.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui.base; + +public abstract interface i +{ + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/j.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/j.java new file mode 100755 index 00000000000..d4833ddd2f6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/j.java @@ -0,0 +1,41 @@ +package com.tencent.token.ui.base; + +import android.app.Activity; +import android.content.Intent; +import com.tencent.token.at; +import com.tencent.token.av; +import com.tencent.token.core.bean.b; +import com.tencent.token.ui.IndexActivity; + +final class j + implements z +{ + j(DualMsgShowDialog paramDualMsgShowDialog) {} + + public final void a() + { + this.a.dismiss(); + if (DualMsgShowDialog.a(this.a)) + { + Intent localIntent = new Intent(DualMsgShowDialog.b(this.a), IndexActivity.class); + localIntent.putExtra("intent.retcode", DualMsgShowDialog.c(this.a)); + DualMsgShowDialog.b(this.a).startActivity(localIntent); + } + } + + public final void a(int paramInt) + { + if (DualMsgShowDialog.d(this.a) == 0) {} + for (b localb = av.a().a(DualMsgShowDialog.e(this.a));; localb = at.a().a(DualMsgShowDialog.e(this.a))) + { + DualMsgShowDialog.a(this.a, localb, paramInt); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/k.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/k.java new file mode 100755 index 00000000000..f9275da37f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/k.java @@ -0,0 +1,16 @@ +package com.tencent.token.ui.base; + +import com.tencent.token.core.bean.b; +import com.tencent.token.utils.UserTask; + +final class k + extends UserTask +{ + k(DualMsgShowDialog paramDualMsgShowDialog, b paramb, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/l.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/l.java new file mode 100755 index 00000000000..fbbf305faf8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/l.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui.base; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.ui.ModifyQQPwdActivity; +import com.tencent.token.ui.pv; + +final class l + implements DialogInterface.OnClickListener +{ + l(DualMsgShowDialog paramDualMsgShowDialog) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(DualMsgShowDialog.b(this.a), ModifyQQPwdActivity.class); + pv.a().a(DualMsgShowDialog.b(this.a), paramDialogInterface, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/m.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/m.java new file mode 100755 index 00000000000..8526017a654 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/m.java @@ -0,0 +1,71 @@ +package com.tencent.token.ui.base; + +import com.tencent.token.utils.UserTask; + +final class m + extends UserTask +{ + m(DualMsgShowDialog paramDualMsgShowDialog) {} + + /* Error */ + private static com.tencent.token.global.d f() + { + // Byte code: + // 0: ldc 22 + // 2: invokestatic 27 com/tencent/token/gl:a (Ljava/lang/String;)V + // 5: ldc 29 + // 7: invokestatic 27 com/tencent/token/gl:a (Ljava/lang/String;)V + // 10: aconst_null + // 11: areturn + // 12: astore_0 + // 13: new 31 java/lang/StringBuilder + // 16: dup + // 17: invokespecial 32 java/lang/StringBuilder: ()V + // 20: ldc 34 + // 22: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 25: aload_0 + // 26: invokevirtual 42 java/lang/Exception:toString ()Ljava/lang/String; + // 29: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 32: invokevirtual 43 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 35: invokestatic 48 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 38: goto -33 -> 5 + // 41: astore_0 + // 42: new 31 java/lang/StringBuilder + // 45: dup + // 46: invokespecial 32 java/lang/StringBuilder: ()V + // 49: ldc 34 + // 51: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 54: aload_0 + // 55: invokevirtual 42 java/lang/Exception:toString ()Ljava/lang/String; + // 58: invokevirtual 38 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 61: invokevirtual 43 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 64: invokestatic 48 com/tencent/token/global/e:c (Ljava/lang/String;)V + // 67: goto -57 -> 10 + // 70: astore_0 + // 71: goto -61 -> 10 + // 74: astore_0 + // 75: goto -65 -> 10 + // Local variable table: + // start length slot name signature + // 12 14 0 localException1 java.lang.Exception + // 41 14 0 localException2 java.lang.Exception + // 70 1 0 localError java.lang.Error + // 74 1 0 localException3 java.lang.Exception + // Exception table: + // from to target type + // 0 5 12 java/lang/Exception + // 5 10 41 java/lang/Exception + // 0 5 70 java/lang/Error + // 5 10 70 java/lang/Error + // 13 38 70 java/lang/Error + // 42 67 70 java/lang/Error + // 13 38 74 java/lang/Exception + // 42 67 74 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/n.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/n.java new file mode 100755 index 00000000000..bac479115d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/n.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class n + implements View.OnClickListener +{ + n(DualMsgView paramDualMsgView) {} + + public final void onClick(View paramView) + { + DualMsgView.a(this.a).a(2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/o.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/o.java new file mode 100755 index 00000000000..5b5ceefd252 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/o.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.View.OnClickListener; + +final class o + implements View.OnClickListener +{ + o(DualMsgView paramDualMsgView) {} + + public final void onClick(View paramView) + { + DualMsgView.a(this.a).a(3); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/p.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/p.java new file mode 100755 index 00000000000..3a039e452cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/p.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui.base; + +import android.os.Handler; +import android.os.Message; + +final class p + extends Handler +{ + p(DualMsgView paramDualMsgView) {} + + public final void handleMessage(Message paramMessage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/q.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/q.java new file mode 100755 index 00000000000..65d4b1bec15 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/q.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; + +final class q + implements Runnable +{ + private View b; + private View c; + private Animation d; + private Animation e; + + public q(DualMsgView paramDualMsgView, View paramView1, View paramView2) + { + this.b = paramView1; + this.c = paramView2; + this.d = AnimationUtils.loadAnimation(DualMsgView.g(paramDualMsgView), 2130968583); + this.e = AnimationUtils.loadAnimation(DualMsgView.g(paramDualMsgView), 2130968586); + this.e.setAnimationListener(new r(this, paramDualMsgView)); + } + + public final void run() + { + this.c.setVisibility(0); + this.b.startAnimation(this.e); + this.c.startAnimation(this.d); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/r.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/r.java new file mode 100755 index 00000000000..da14081f6cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/r.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.widget.TextView; + +final class r + implements Animation.AnimationListener +{ + r(q paramq, DualMsgView paramDualMsgView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + DualMsgView.i(this.b.a).setText(DualMsgView.h(this.b.a).getText()); + DualMsgView.k(this.b.a).setText(DualMsgView.j(this.b.a).getText()); + q.a(this.b).setVisibility(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/s.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/s.java new file mode 100755 index 00000000000..51beddd9b62 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/s.java @@ -0,0 +1,57 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.Button; +import com.tencent.token.ui.IndexActivity; + +final class s + implements Runnable +{ + private View b; + private View c; + private View d; + private View e; + private TranslateAnimation f; + private TranslateAnimation g; + private TranslateAnimation h; + private TranslateAnimation i; + + public s(DualMsgView paramDualMsgView, View paramView1, View paramView2, View paramView3, View paramView4) + { + this.b = paramView1; + this.c = paramView2; + this.d = paramView3; + this.e = paramView4; + int j = (int)(IndexActivity.S_DENSITY * 40.0F); + this.h = new TranslateAnimation(0.0F, 0.0F, DualMsgView.b(paramDualMsgView), 0.0F); + this.h.setDuration(400L); + this.h.setInterpolator(new AccelerateDecelerateInterpolator()); + this.i = new TranslateAnimation(0.0F, 0.0F, j + -DualMsgView.c(paramDualMsgView), 0.0F); + this.i.setDuration(400L); + this.i.setInterpolator(new AccelerateDecelerateInterpolator()); + this.f = new TranslateAnimation(0.0F, 0.0F, DualMsgView.b(paramDualMsgView), 0.0F); + this.f.setDuration(500L); + this.g = new TranslateAnimation(0.0F, 0.0F, -DualMsgView.c(paramDualMsgView), 0.0F); + this.g.setDuration(500L); + this.g.setAnimationListener(new t(this, paramDualMsgView)); + } + + public final void run() + { + DualMsgView.d(this.a).setVisibility(0); + DualMsgView.e(this.a).setEnabled(true); + DualMsgView.f(this.a).setEnabled(true); + this.c.startAnimation(this.f); + this.b.startAnimation(this.g); + this.e.startAnimation(this.h); + this.d.startAnimation(this.i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/t.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/t.java new file mode 100755 index 00000000000..3d782003ae4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/t.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class t + implements Animation.AnimationListener +{ + t(s params, DualMsgView paramDualMsgView) {} + + public final void onAnimationEnd(Animation paramAnimation) {} + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/u.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/u.java new file mode 100755 index 00000000000..ca86186bac8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/u.java @@ -0,0 +1,59 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.Button; +import com.tencent.token.ui.IndexActivity; + +final class u + implements Runnable +{ + private View b; + private View c; + private View d; + private View e; + private TranslateAnimation f; + private TranslateAnimation g; + private TranslateAnimation h; + private TranslateAnimation i; + + public u(DualMsgView paramDualMsgView, View paramView1, View paramView2, View paramView3, View paramView4) + { + this.b = paramView1; + this.c = paramView2; + this.d = paramView3; + this.e = paramView4; + this.h = new TranslateAnimation(0.0F, 0.0F, 0.0F, (int)(IndexActivity.S_DENSITY * 40.0F) + -DualMsgView.c(paramDualMsgView)); + this.h.setDuration(600L); + this.h.setInterpolator(new y(paramDualMsgView)); + this.i = new TranslateAnimation(0.0F, 0.0F, 0.0F, DualMsgView.b(paramDualMsgView)); + this.i.setDuration(600L); + this.i.setInterpolator(new y(paramDualMsgView)); + this.f = new TranslateAnimation(0.0F, 0.0F, 0.0F, -DualMsgView.c(paramDualMsgView)); + this.f.setDuration(600L); + this.f.setInterpolator(new AccelerateInterpolator()); + this.f.setFillAfter(true); + this.g = new TranslateAnimation(0.0F, 0.0F, 0.0F, DualMsgView.b(paramDualMsgView)); + this.g.setDuration(600L); + this.g.setInterpolator(new AccelerateInterpolator()); + this.g.setFillAfter(true); + this.i.setAnimationListener(new v(this, paramDualMsgView)); + } + + public final void run() + { + DualMsgView.e(this.a).setEnabled(false); + DualMsgView.f(this.a).setEnabled(false); + this.b.startAnimation(this.f); + this.c.startAnimation(this.g); + this.d.startAnimation(this.h); + this.e.startAnimation(this.i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/v.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/v.java new file mode 100755 index 00000000000..8fa930327d2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/v.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class v + implements Animation.AnimationListener +{ + v(u paramu, DualMsgView paramDualMsgView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.b.a.setVisibility(8); + if (DualMsgView.a(this.b.a) != null) { + DualMsgView.a(this.b.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/w.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/w.java new file mode 100755 index 00000000000..19ad27fb641 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/w.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui.base; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; + +final class w + implements Runnable +{ + private View b; + private Animation c; + + public w(DualMsgView paramDualMsgView, View paramView) + { + this.b = paramView; + this.c = AnimationUtils.loadAnimation(DualMsgView.g(paramDualMsgView), 2130968587); + this.c.setAnimationListener(new x(this, paramDualMsgView)); + } + + public final void run() + { + this.b.startAnimation(this.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/x.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/x.java new file mode 100755 index 00000000000..9ae70b5282e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/x.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class x + implements Animation.AnimationListener +{ + x(w paramw, DualMsgView paramDualMsgView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.b.a.setVisibility(8); + if (DualMsgView.a(this.b.a) != null) { + DualMsgView.a(this.b.a).a(); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/y.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/y.java new file mode 100755 index 00000000000..52ee178a18a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/y.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui.base; + +import android.view.animation.Interpolator; + +final class y + implements Interpolator +{ + private y(DualMsgView paramDualMsgView, byte paramByte) {} + + public final float getInterpolation(float paramFloat) + { + if (paramFloat < 0.3D) { + return 0.0F; + } + paramFloat = (paramFloat - 0.3F) / 0.7F; + return paramFloat * paramFloat; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/base/z.java b/com.tencent.token/classes.jar/com/tencent/token/ui/base/z.java new file mode 100755 index 00000000000..5af877abebf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/base/z.java @@ -0,0 +1,14 @@ +package com.tencent.token.ui.base; + +public abstract interface z +{ + public abstract void a(); + + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.base.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bb.java new file mode 100755 index 00000000000..3321084fa70 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bb.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class bb + implements View.OnClickListener +{ + bb(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bc.java new file mode 100755 index 00000000000..f829e5a9355 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bc.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class bc + implements View.OnClickListener +{ + bc(BaseActivity paramBaseActivity1, int paramInt, BaseActivity paramBaseActivity2) {} + + public final void onClick(View paramView) + { + this.c.dismissDialog(); + if (this.a == 1) + { + this.c.gotoVerify(BaseActivity.access$100(this.c)); + return; + } + paramView = new Intent(this.b, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.c.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bd.java new file mode 100755 index 00000000000..26bab9cb77a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bd.java @@ -0,0 +1,122 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.av; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.DualMsgShowDialog; + +final class bd + extends bo +{ + bd(BaseActivity paramBaseActivity) + { + super(paramBaseActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = false; + e.a("dualmsg,what=" + paramMessage.what + ", ret=" + paramMessage.arg1); + int i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + case 3069: + case 3030: + case 1019: + do + { + do + { + return; + } while ((paramMessage.arg1 != 0) || (av.a().b() <= 0) || (RqdApplication.b)); + try + { + new DualMsgShowDialog(this.a, false, 0L).show(); + return; + } + catch (Exception paramMessage) + { + return; + } + BaseActivity.access$100(this.a).dismissDialog(); + if (paramMessage.arg1 == 0) + { + BaseActivity.access$202(this.a, (UpgradeDeterminResult)paramMessage.obj); + BaseActivity.access$300(this.a, BaseActivity.access$200(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + BaseActivity.access$100(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + paramMessage = (byte[])paramMessage.obj; + } while (paramMessage == null); + this.a.mAqSig = paramMessage; + af.a().a(this.a.mUin, paramMessage, this.a.fHandler, 2); + return; + case 4097: + case 4098: + paramMessage = (byte[])paramMessage.obj; + this.a.mAqSig = paramMessage; + if ((i == 0) && (paramMessage != null)) + { + this.a.getA2Succ(); + return; + } + this.a.getA2Fail(i); + return; + case 3024: + if (i == 0) + { + af.a().a(this.a.mUin, this.a.mAqSig, this.a.fHandler); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + BaseActivity.access$100(this.a).showToast(paramMessage.c); + return; + case 4104: + BaseActivity.access$100(this.a).dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + BaseActivity.access$100(this.a).showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + BaseActivity.access$100(this.a).showToast(2131362091); + return; + } + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) { + bool = true; + } + paramMessage = new Intent(BaseActivity.access$100(this.a), NoCheckWithAuthActivity.class); + paramMessage.putExtra("bindTokenSucc", true); + paramMessage.putExtra("bindMobileSucc", bool); + BaseActivity.access$100(this.a).startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + BaseActivity.access$100(this.a).showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/be.java b/com.tencent.token/classes.jar/com/tencent/token/ui/be.java new file mode 100755 index 00000000000..333620b664d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/be.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class be + implements DialogInterface.OnClickListener +{ + be(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + BaseActivity.access$500(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.be + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bf.java new file mode 100755 index 00000000000..6408bd3e0bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bf + implements DialogInterface.OnClickListener +{ + bf(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + BaseActivity.access$500(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bg.java new file mode 100755 index 00000000000..db09b680d00 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bg.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class bg + implements View.OnClickListener +{ + bg(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(BaseActivity.access$100(this.a), IndexActivity.class); + paramView.putExtra("index_from", 16); + BaseActivity.access$100(this.a).startActivity(paramView); + BaseActivity.access$100(this.a).finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bh.java new file mode 100755 index 00000000000..fb3f9b74c92 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bh.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class bh + implements View.OnClickListener +{ + bh(BaseActivity paramBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bi.java new file mode 100755 index 00000000000..d6b2a9801da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bi.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class bi + implements DialogInterface.OnClickListener +{ + bi(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bj.java new file mode 100755 index 00000000000..c37762b932b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bj.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bj + implements DialogInterface.OnClickListener +{ + bj(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bk.java new file mode 100755 index 00000000000..882c018946a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bk.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.core.bean.h; +import com.tencent.token.utils.s; + +final class bk + implements DialogInterface.OnClickListener +{ + bk(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.a, h.b().e); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bl.java new file mode 100755 index 00000000000..fca454de3b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bl.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.core.bean.h; +import com.tencent.token.utils.s; + +final class bl + implements DialogInterface.OnClickListener +{ + bl(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.a, h.b().e); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bm.java new file mode 100755 index 00000000000..62f022b52e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bm.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.core.bean.h; +import com.tencent.token.utils.s; + +final class bm + implements DialogInterface.OnClickListener +{ + bm(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.a, h.b().d); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bn.java new file mode 100755 index 00000000000..91cb16089fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bn.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bn + implements DialogInterface.OnClickListener +{ + bn(BaseActivity paramBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.exit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bo.java new file mode 100755 index 00000000000..9d05ddacd41 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bo.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; + +public class bo + extends Handler +{ + public bo(BaseActivity paramBaseActivity) + { + super(BaseActivity.access$000(paramBaseActivity)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bp.java new file mode 100755 index 00000000000..a601cfb022a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bp.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.global.e; + +final class bp + implements Runnable +{ + bp(BindUinActivity paramBindUinActivity) {} + + public final void run() + { + if (!BindUinActivity.access$000(this.a)) { + return; + } + e.a("send bind seq request:" + BindUinActivity.access$100(this.a)); + ag.c().n(); + if (BindUinActivity.access$200(this.a) == 13) { + af.a().a(0L, Long.parseLong(BindUinActivity.access$300(this.a)), 1006, this.a.mHandler); + } + for (;;) + { + BindUinActivity.access$108(this.a); + return; + af.a().a(0L, Long.parseLong(BindUinActivity.access$300(this.a)), 1004, this.a.mHandler); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bq.java new file mode 100755 index 00000000000..fd3ef8f82f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bq.java @@ -0,0 +1,145 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.ea; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class bq + extends bo +{ + bq(BindUinActivity paramBindUinActivity) + { + super(paramBindUinActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) {} + do + { + do + { + do + { + do + { + return; + e.c("msg what=" + paramMessage.what + "starttime=" + BindUinActivity.access$000(this.a)); + switch (paramMessage.what) + { + default: + return; + } + } while (!BindUinActivity.access$000(this.a)); + BindUinActivity.access$102(this.a, 0); + postDelayed(this.a.mBindRunnable, 10000L); + return; + } while (!BindUinActivity.access$000(this.a)); + if (paramMessage.arg1 == 0) + { + BindUinActivity.access$402(this.a, ea.c); + if ((BindUinActivity.access$400(this.a) == null) || (BindUinActivity.access$400(this.a).length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362223), 2131361800, null); + return; + } + if ((ea.d == null) || (ea.d.length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362224), 2131361800, null); + return; + } + e.c("sms channel: " + BindUinActivity.access$400(this.a)); + BindUinActivity.access$500(this.a, BindUinActivity.access$400(this.a), ea.d); + this.a.showProgressDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } while (!BindUinActivity.access$000(this.a)); + e.c("removeTimeTask SendSmsFail"); + this.a.removeTimeTask(1); + BindUinActivity.access$500(this.a, BindUinActivity.access$400(this.a), ea.d); + return; + this.a.dismissDialog(); + e.c("removeTimeTask BindUinToSeqSuccess"); + this.a.removeTimeTask(2); + BindUinActivity.access$600(this.a); + return; + } while (!BindUinActivity.access$000(this.a)); + paramMessage = paramMessage.getData(); + int i = paramMessage.getInt("errCode"); + paramMessage = paramMessage.getString("error"); + if ((1 == i) && (BindUinActivity.access$100(this.a) < 4)) + { + postDelayed(this.a.mBindRunnable, 10000L); + return; + } + this.a.dismissDialog(); + e.c("removeTimeTask BindUinToSeqFail"); + this.a.removeTimeTask(3); + BindUinActivity.access$700(this.a, paramMessage); + return; + this.a.dismissDialog(); + e.c("removeTimeTask HttpError"); + this.a.removeTimeTask(4); + BindUinActivity.access$700(this.a, this.a.getString(2131361952)); + return; + i = paramMessage.getData().getInt("serTime"); + long l = System.currentTimeMillis(); + l = i * 1000L - l; + ag.c().a(l); + e.b("set time plus: " + l); + return; + if (paramMessage.arg1 == 0) + { + if (BindUinActivity.access$200(this.a) == 13) + { + paramMessage = new Intent(this.a, VryMobileForStrategyActivity.class); + paramMessage.putExtra("succ", true); + paramMessage.setFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + } + af.a().c(Long.parseLong(BindUinActivity.access$300(this.a)), BindUinActivity.access$800(this.a).a(), "", "", this.a.mHandler); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + if ((paramMessage.a == 146) && (BindUinActivity.access$100(this.a) < 4)) + { + postDelayed(this.a.mBindRunnable, 10000L); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + this.a.dismissDialog(); + this.a.removeTimeTask(2); + if (paramMessage.arg1 == 0) + { + BindUinActivity.access$600(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/br.java b/com.tencent.token/classes.jar/com/tencent/token/ui/br.java new file mode 100755 index 00000000000..7d96d5c956c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/br.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class br + implements View.OnClickListener +{ + br(BindUinActivity paramBindUinActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.br + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bs.java new file mode 100755 index 00000000000..2bfd6e907f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bs.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class bs + implements View.OnClickListener +{ + bs(BindUinActivity paramBindUinActivity) {} + + public final void onClick(View paramView) + { + e.b("startTimeTask mSmsListener"); + this.a.startTimeTask(2); + this.a.showProgressDialog(); + if (BindUinActivity.access$200(this.a) == 13) + { + af.a().a("", Long.parseLong(BindUinActivity.access$300(this.a)), 1, 5, "", this.a.mHandler); + return; + } + af.a().a("", Long.parseLong(BindUinActivity.access$300(this.a)), 1, 1, "", this.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bt.java new file mode 100755 index 00000000000..1f26f9bc2c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bt.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class bt + implements View.OnClickListener +{ + bt(BindUinActivity paramBindUinActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, CheckMobileAvailableActivity.class); + paramView.putExtra("intent.qquser", BindUinActivity.access$900(this.a)); + paramView.putExtra("intent.upgradedetermin", BindUinActivity.access$800(this.a)); + if (BindUinActivity.access$200(this.a) == 13) + { + paramView.putExtra("scene_id", 1006); + paramView.putExtra("up_sms_scene_id", 7); + } + for (;;) + { + this.a.startActivity(paramView); + return; + paramView.putExtra("scene_id", 1004); + paramView.putExtra("up_sms_scene_id", 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bu.java new file mode 100755 index 00000000000..ab6cff85c4c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bu.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class bu + implements View.OnClickListener +{ + bu(BindUinActivity paramBindUinActivity) {} + + public final void onClick(View paramView) + { + e.c("removeTimeTask showProgressDialog"); + this.a.removeTimeTask(5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bv.java new file mode 100755 index 00000000000..5ed7fbd9816 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bv.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class bv + implements DialogInterface.OnClickListener +{ + bv(BindUinActivity paramBindUinActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bw.java new file mode 100755 index 00000000000..f8dcd5a2fe3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bw.java @@ -0,0 +1,130 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; +import com.tencent.token.ea; +import com.tencent.token.fn; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class bw + extends bo +{ + bw(CheckMobileAvailableActivity paramCheckMobileAvailableActivity) + { + super(paramCheckMobileAvailableActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + for (;;) + { + return; + this.a.dismissDialog(); + e.c("utils mbinfo: " + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + case 15: + this.a.dismissDialog(); + e.c("removeTimeTask HttpError"); + this.a.removeTimeTask(); + CheckMobileAvailableActivity.access$700(this.a, this.a.getString(2131361952)); + return; + case 3019: + if (CheckMobileAvailableActivity.access$000(this.a)) + { + if (paramMessage.arg1 == 0) + { + CheckMobileAvailableActivity.access$102(this.a, ea.c); + if ((CheckMobileAvailableActivity.access$100(this.a) == null) || (CheckMobileAvailableActivity.access$100(this.a).length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362223), 2131361800, null); + return; + } + if ((ea.d == null) || (ea.d.length() <= 0)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362224), 2131361800, null); + return; + } + e.c("sms channel: " + CheckMobileAvailableActivity.access$100(this.a)); + paramMessage = new Intent(this.a, SmsContentTipActivity.class); + paramMessage.putExtra("up_sms_scene_id", CheckMobileAvailableActivity.access$200(this.a)); + if ((CheckMobileAvailableActivity.access$200(this.a) == 0) || (CheckMobileAvailableActivity.access$200(this.a) == 7)) + { + paramMessage.putExtra("intent.qquser", CheckMobileAvailableActivity.access$300(this.a)); + paramMessage.putExtra("intent.upgradedetermin", CheckMobileAvailableActivity.access$400(this.a)); + paramMessage.putExtra("scene_id", CheckMobileAvailableActivity.access$500(this.a)); + } + for (;;) + { + this.a.startActivity(paramMessage); + return; + if (CheckMobileAvailableActivity.access$200(this.a) == 6) { + paramMessage.putExtra("user_to_unbind", CheckMobileAvailableActivity.access$600(this.a)); + } + } + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } + break; + case 3010: + if (paramMessage.arg1 != 0) { + break label691; + } + Object localObject = fn.a().c(); + if ((localObject != null) && (((MbInfoResult)localObject).mMbInfoItems != null)) + { + int i = 0; + while (i < ((MbInfoResult)localObject).mMbInfoItems.size()) + { + paramMessage = (MbInfoResult.MbInfoItem)((MbInfoResult)localObject).mMbInfoItems.get(i); + if (paramMessage.mId == 51) + { + e.a("setting item: name=" + paramMessage.mName + ", desc=" + paramMessage.mDesc + ", value =" + paramMessage.mValue + ", content=" + paramMessage.mContent); + if (paramMessage.mDetail.mBtnType == 1) + { + localObject = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + ((Intent)localObject).putExtra("title", this.a.getResources().getString(2131361814) + paramMessage.mName); + ((Intent)localObject).putExtra("op_type", 1); + ((Intent)localObject).putExtra("position", i); + this.a.startActivity((Intent)localObject); + return; + } + paramMessage = new Intent(this.a, UtilsMbInfoItemActivity.class); + paramMessage.putExtra("position", i); + this.a.startActivity(paramMessage); + return; + } + i += 1; + } + } + break; + } + } + label691: + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bx.java new file mode 100755 index 00000000000..1caed2d2e12 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bx.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.s; + +final class bx + implements View.OnClickListener +{ + bx(CheckMobileAvailableActivity paramCheckMobileAvailableActivity) {} + + public final void onClick(View paramView) + { + if ((CheckMobileAvailableActivity.access$200(this.a) == 0) || (CheckMobileAvailableActivity.access$200(this.a) == 7)) { + s.a(this.a, this.a.getResources().getString(2131361883), this.a.getResources().getString(2131362363)); + } + do + { + return; + if (CheckMobileAvailableActivity.access$200(this.a) == 5) + { + af.a().e(s.f(CheckMobileAvailableActivity.access$800(this.a)), CheckMobileAvailableActivity.access$900(this.a)); + this.a.showUserDialog(12); + return; + } + } while (CheckMobileAvailableActivity.access$200(this.a) != 6); + af.a().e(CheckMobileAvailableActivity.access$600(this.a).mUin, CheckMobileAvailableActivity.access$900(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/by.java b/com.tencent.token/classes.jar/com/tencent/token/ui/by.java new file mode 100755 index 00000000000..e4ca40a5e57 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/by.java @@ -0,0 +1,54 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; + +final class by + implements View.OnClickListener +{ + by(CheckMobileAvailableActivity paramCheckMobileAvailableActivity) {} + + public final void onClick(View paramView) + { + if (CheckMobileAvailableActivity.access$200(this.a) == 0) + { + this.a.startTimeTask(); + this.a.showProgressDialog(); + af.a().a("", CheckMobileAvailableActivity.access$300(this.a).mRealUin, 1, 1, "", CheckMobileAvailableActivity.access$900(this.a)); + } + do + { + return; + if (CheckMobileAvailableActivity.access$200(this.a) == 5) + { + paramView = new Intent(this.a, RealNameSmsContentTipActivity.class); + paramView.putExtra("realname_result", CheckMobileAvailableActivity.access$1000(this.a)); + paramView.putExtra("real_uin", CheckMobileAvailableActivity.access$800(this.a)); + paramView.putExtra("realname_mobile", CheckMobileAvailableActivity.access$1100(this.a)); + paramView.putExtra("scene_id", CheckMobileAvailableActivity.access$500(this.a)); + paramView.putExtra("up_sms_scene_id", CheckMobileAvailableActivity.access$200(this.a)); + this.a.startActivity(paramView); + return; + } + if (CheckMobileAvailableActivity.access$200(this.a) == 6) + { + this.a.startTimeTask(); + this.a.showProgressDialog(); + af.a().a("", CheckMobileAvailableActivity.access$800(this.a), 1, 3, "", CheckMobileAvailableActivity.access$900(this.a)); + return; + } + } while (CheckMobileAvailableActivity.access$200(this.a) != 7); + this.a.startTimeTask(); + this.a.showProgressDialog(); + af.a().a("", CheckMobileAvailableActivity.access$800(this.a), 1, 5, "", CheckMobileAvailableActivity.access$900(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.by + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/bz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/bz.java new file mode 100755 index 00000000000..f132b2a12db --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/bz.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class bz + implements View.OnClickListener +{ + bz(CheckMobileAvailableActivity paramCheckMobileAvailableActivity) {} + + public final void onClick(View paramView) + { + e.c("removeTimeTask showProgressDialog"); + this.a.removeTimeTask(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.bz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/c.java b/com.tencent.token/classes.jar/com/tencent/token/ui/c.java new file mode 100755 index 00000000000..3e5edb70106 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/c.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class c + implements View.OnClickListener +{ + c(AboutActivity paramAboutActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 44); + paramView = new Intent(this.a, HelpActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ca.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ca.java new file mode 100755 index 00000000000..56e4c734212 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ca.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ca + implements DialogInterface.OnClickListener +{ + ca(CheckMobileAvailableActivity paramCheckMobileAvailableActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ca + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cb.java new file mode 100755 index 00000000000..8e704da2382 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cb.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class cb + implements View.OnClickListener +{ + cb(CommonVerifyActivity paramCommonVerifyActivity) {} + + public final void onClick(View paramView) + { + CommonVerifyActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cc.java new file mode 100755 index 00000000000..ba117136022 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cc.java @@ -0,0 +1,135 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.WtloginCaptchaDialog; + +final class cc + extends bo +{ + cc(CommonVerifyActivity paramCommonVerifyActivity) + { + super(paramCommonVerifyActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + if (this.a.isFinishing()) {} + int i; + do + { + do + { + return; + e.c("CommonVerifyActivity mbinfo: " + paramMessage.what); + i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 1019: + paramMessage = (byte[])paramMessage.obj; + } + } while (paramMessage == null); + CommonVerifyActivity.access$302(this.a, paramMessage); + af.a().a(CommonVerifyActivity.access$400(this.a), paramMessage, CommonVerifyActivity.access$500(this.a), 2); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + CommonVerifyActivity.access$102(this.a, (UpgradeDeterminResult)paramMessage.obj); + CommonVerifyActivity.access$200(this.a, CommonVerifyActivity.access$100(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + byte[] arrayOfByte = (byte[])paramMessage.obj; + CommonVerifyActivity.access$302(this.a, arrayOfByte); + if ((i == 0) && (arrayOfByte != null)) + { + af.a().a(CommonVerifyActivity.access$400(this.a), arrayOfByte, CommonVerifyActivity.access$500(this.a), 2); + return; + } + if (i != 2) { + break; + } + } while (this.a.isFinishing()); + new WtloginCaptchaDialog(this.a, CommonVerifyActivity.access$500(this.a), Long.toString(CommonVerifyActivity.access$400(this.a))).show(); + return; + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new cd(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + if (i == 0) + { + af.a().a(CommonVerifyActivity.access$400(this.a), CommonVerifyActivity.access$300(this.a), CommonVerifyActivity.access$500(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showToast(paramMessage.c); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + CommonVerifyActivity.access$700(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cd.java new file mode 100755 index 00000000000..1e0cb5d418e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cd.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class cd + implements DialogInterface.OnClickListener +{ + cd(cc paramcc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + CommonVerifyActivity.access$600(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ce.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ce.java new file mode 100755 index 00000000000..0b58de4d961 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ce.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ce + implements DialogInterface.OnClickListener +{ + ce(CommonVerifyActivity paramCommonVerifyActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + CommonVerifyActivity.access$600(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ce + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cf.java new file mode 100755 index 00000000000..6e67df0e1ab --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cf.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class cf + implements View.OnClickListener +{ + cf(CommonVerifyActivity paramCommonVerifyActivity, QQUser paramQQUser, UpgradeDeterminResult paramUpgradeDeterminResult) {} + + public final void onClick(View paramView) + { + af.a().c(this.a.mRealUin, this.b.a(), "", "", CommonVerifyActivity.access$500(this.c)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cg.java new file mode 100755 index 00000000000..78163d9253d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cg.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class cg + implements View.OnClickListener +{ + cg(CommonVerifyActivity paramCommonVerifyActivity, UpgradeDeterminResult paramUpgradeDeterminResult, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (this.a.mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label78; + } + paramView = new Intent(this.c, NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + } + label188: + label193: + label196: + for (;;) + { + return; + i = 0; + break; + label78: + if (this.a.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (this.a.mQuesAppear != 1) { + break label188; + } + i = 1; + label108: + if (i == 0) { + if (this.a.mHaveMobile != 1) { + break label193; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label196; + } + paramView = new Intent(this.c, NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label108; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ch.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ch.java new file mode 100755 index 00000000000..01a24ebb35d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ch.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ch + implements View.OnClickListener +{ + ch(CommonVerifyActivity paramCommonVerifyActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + paramView.addFlags(67108864); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ci.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ci.java new file mode 100755 index 00000000000..6270fec44eb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ci.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class ci + extends Handler +{ + ci(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + return; + } + CorrectTokenActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ci + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cj.java new file mode 100755 index 00000000000..0399dc32bb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cj.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ag; +import com.tencent.token.aq; +import com.tencent.token.as; + +final class cj + implements DialogInterface.OnClickListener +{ + cj(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ag.c().a.b.a(); + CorrectTokenActivity.access$502(this.a, false); + this.a.showUserDialog(6); + this.a.startTimeTask(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ck.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ck.java new file mode 100755 index 00000000000..0172707cd10 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ck.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ck + implements DialogInterface.OnClickListener +{ + ck(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + CorrectTokenActivity.access$502(this.a, true); + this.a.removeTimeTask(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ck + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cl.java new file mode 100755 index 00000000000..a89820bd99d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cl.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; + +final class cl + implements SensorEventListener +{ + cl(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onAccuracyChanged(Sensor paramSensor, int paramInt) {} + + public final void onSensorChanged(SensorEvent paramSensorEvent) + { + CorrectTokenActivity.access$102(this.a, paramSensorEvent.values[0]); + CorrectTokenActivity.access$202(this.a, paramSensorEvent.values[1]); + CorrectTokenActivity.access$302(this.a, paramSensorEvent.values[2]); + if (System.currentTimeMillis() - CorrectTokenActivity.access$400(this.a) > 100L) + { + this.a.didAccelerate(new j(CorrectTokenActivity.access$100(this.a), CorrectTokenActivity.access$200(this.a), CorrectTokenActivity.access$300(this.a))); + CorrectTokenActivity.access$402(this.a, System.currentTimeMillis()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cm.java new file mode 100755 index 00000000000..0756d839a3a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cm.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ag; +import com.tencent.token.aq; +import com.tencent.token.as; + +final class cm + implements View.OnClickListener +{ + cm(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(View paramView) + { + if (CorrectTokenActivity.access$500(this.a) == true) + { + ag.c().a.b.a(); + CorrectTokenActivity.access$502(this.a, false); + this.a.startTimeTask(); + } + this.a.showUserDialog(6); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cn.java new file mode 100755 index 00000000000..b59b03a71cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cn.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.app.TimePickerDialog.OnTimeSetListener; +import android.widget.TimePicker; +import com.tencent.token.p; + +final class cn + implements TimePickerDialog.OnTimeSetListener +{ + cn(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onTimeSet(TimePicker paramTimePicker, int paramInt1, int paramInt2) + { + CorrectTokenActivity.mHour = paramInt1; + CorrectTokenActivity.mMinute = paramInt2; + CorrectTokenActivity.access$600(this.a); + CorrectTokenActivity.access$000(this.a); + p.a().a(System.currentTimeMillis(), 56); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/co.java b/com.tencent.token/classes.jar/com/tencent/token/ui/co.java new file mode 100755 index 00000000000..0fd74c8666d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/co.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog.OnDateSetListener; +import android.widget.DatePicker; + +final class co + implements DatePickerDialog.OnDateSetListener +{ + co(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onDateSet(DatePicker paramDatePicker, int paramInt1, int paramInt2, int paramInt3) + { + CorrectTokenActivity.mYear = paramInt1; + CorrectTokenActivity.mMonth = paramInt2; + CorrectTokenActivity.mDay = paramInt3; + CorrectTokenActivity.access$600(this.a); + CorrectTokenActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.co + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cp.java new file mode 100755 index 00000000000..342cee4579e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cp.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class cp + implements View.OnClickListener +{ + cp(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(View paramView) + { + this.a.showDialog(1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cq.java new file mode 100755 index 00000000000..02268b24026 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cq.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class cq + implements View.OnClickListener +{ + cq(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 55); + this.a.showDialog(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cr.java new file mode 100755 index 00000000000..f161504cd81 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cr.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.ag; + +final class cr + extends bo +{ + cr(CorrectTokenActivity paramCorrectTokenActivity) + { + super(paramCorrectTokenActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + return; + } + switch (paramMessage.what) + { + default: + return; + case 13: + int i = paramMessage.getData().getInt("serTime"); + long l1 = System.currentTimeMillis(); + long l2 = i; + ag.c().a(l2 * 1000L - l1); + ag.c().i(); + ag.c().n(); + CorrectTokenActivity.access$000(this.a); + CorrectTokenActivity.access$700(this.a); + return; + case 14: + CorrectTokenActivity.access$800(this.a); + return; + } + CorrectTokenActivity.access$800(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cs.java new file mode 100755 index 00000000000..8c26c6c9e95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cs.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class cs + implements DialogInterface.OnClickListener +{ + cs(CorrectTokenActivity paramCorrectTokenActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + CorrectTokenActivity.access$502(this.a, true); + this.a.removeTimeTask(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ct.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ct.java new file mode 100755 index 00000000000..32bd387b763 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ct.java @@ -0,0 +1,382 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.hardware.Camera; +import android.hardware.Camera.AutoFocusCallback; +import android.hardware.Camera.CameraInfo; +import android.hardware.Camera.Parameters; +import android.hardware.Camera.PreviewCallback; +import android.hardware.Camera.Size; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.util.DisplayMetrics; +import android.view.SurfaceHolder; +import com.tencent.jni.FaceDetector; +import com.tencent.jni.FaceDetector.IdCardDirection; +import com.tencent.jni.IdCardInfo; +import com.tencent.token.ca; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.utils.i; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +public final class ct + implements Camera.AutoFocusCallback, Camera.PreviewCallback +{ + public static int a; + public static int b; + public static int c; + public static int d; + private Context e; + private boolean f = false; + private Handler g; + private long h; + private Camera i; + private SurfaceHolder j; + private Timer k; + private TimerTask l; + private int m; + private int n; + private FaceDetector.IdCardDirection o = FaceDetector.IdCardDirection.DT_FRONT; + + public ct(Context paramContext, SurfaceHolder paramSurfaceHolder, Handler paramHandler, String paramString, FaceDetector.IdCardDirection paramIdCardDirection) + { + this.e = paramContext; + this.g = paramHandler; + this.j = paramSurfaceHolder; + this.o = paramIdCardDirection; + boolean bool = FaceDetector.IdCardDetectInitial(paramString); + e.a("IdCardDetectInitial: " + bool); + this.n = 0; + } + + private static String a(Collection paramCollection, String... paramVarArgs) + { + int i1; + String str; + if (paramCollection != null) + { + int i2 = paramVarArgs.length; + i1 = 0; + if (i1 < i2) + { + str = paramVarArgs[i1]; + if (!paramCollection.contains(str)) {} + } + } + for (paramCollection = str;; paramCollection = null) + { + e.b("resolution Settable value: " + paramCollection); + return paramCollection; + i1 += 1; + break; + } + } + + private void d() + { + if (this.i == null) { + return; + } + DisplayMetrics localDisplayMetrics = this.e.getResources().getDisplayMetrics(); + int i6 = localDisplayMetrics.widthPixels; + int i7 = localDisplayMetrics.heightPixels; + Object localObject2; + int i2; + int i3; + int i1; + try + { + localObject2 = this.i.getParameters().getSupportedPreviewSizes(); + i2 = ((Camera.Size)((List)localObject2).get(0)).width; + i3 = ((Camera.Size)((List)localObject2).get(0)).height; + i1 = 1; + while (i1 < ((List)localObject2).size()) + { + int i5 = i3; + int i4 = i2; + if (Math.abs(i2 / i3 - i6 / i7) > Math.abs(((Camera.Size)((List)localObject2).get(i1)).width / ((Camera.Size)((List)localObject2).get(i1)).height - i6 / i7)) + { + i4 = ((Camera.Size)((List)localObject2).get(i1)).width; + i5 = ((Camera.Size)((List)localObject2).get(i1)).height; + } + i1 += 1; + i3 = i5; + i2 = i4; + } + e.c("debug------------bestPreviewWidth=" + i2 + ",bestPreviewHeight=" + i3 + ", screenWidth=" + i6 + ",screenHeight=" + i7 + ",density=" + ((DisplayMetrics)localObject1).density); + } + catch (Exception localException1) + { + localException1.printStackTrace(); + e.c("Camera getParameters failed" + this.i); + localObject1 = this.g.obtainMessage(0); + ((Message)localObject1).what = 2; + ((Message)localObject1).sendToTarget(); + return; + } + Object localObject1 = this.i.getParameters(); + ((Camera.Parameters)localObject1).setPictureFormat(256); + ((Camera.Parameters)localObject1).setPreviewFormat(17); + if (this.e.getResources().getConfiguration().orientation != 2) { + i1 = 90; + } + for (this.m = 90;; this.m = 0) + { + if (ca.c != -1) { + i1 = ca.c; + } + if (ca.d != -1) { + this.m = ca.d; + } + localObject2 = this.i; + try + { + Method localMethod = localObject2.getClass().getMethod("setDisplayOrientation", new Class[] { Integer.TYPE }); + if (localMethod != null) { + localMethod.invoke(localObject2, new Object[] { Integer.valueOf(i1) }); + } + } + catch (Exception localException3) + { + label447: + break label447; + } + ((Camera.Parameters)localObject1).setPreviewSize(i2, i3); + a(((Camera.Parameters)localObject1).getSupportedFocusModes(), new String[] { "continuous-video" }); + localObject2 = a(((Camera.Parameters)localObject1).getSupportedFocusModes(), new String[] { "auto" }); + if (localObject2 != null) { + ((Camera.Parameters)localObject1).setFocusMode((String)localObject2); + } + this.i.setParameters((Camera.Parameters)localObject1); + this.i.setPreviewCallback(this); + try + { + this.i.setPreviewDisplay(this.j); + this.i.startPreview(); + if ((((Camera.Parameters)localObject1).getFocusMode().equals("auto")) || (((Camera.Parameters)localObject1).getFocusMode().equals("macro"))) + { + this.k = new Timer(false); + this.l = new cu(this); + this.k.schedule(this.l, 500L, 2000L); + } + } + catch (Exception localException2) + { + for (;;) + { + localException2.printStackTrace(); + if (this.i != null) + { + this.i.release(); + this.i = null; + } + } + d = 0; + c = 0; + p.a().a(System.currentTimeMillis(), 132); + return; + } + if (this.o != FaceDetector.IdCardDirection.DT_FRONT) { + break; + } + b = 0; + a = 0; + p.a().a(System.currentTimeMillis(), 130); + return; + i1 = 0; + } + } + + public final void a() + { + if (this.i != null) { + return; + } + Object localObject = new Camera.CameraInfo(); + int i2 = Camera.getNumberOfCameras(); + int i1 = 0; + for (;;) + { + if (i1 < i2) + { + Camera.getCameraInfo(i1, (Camera.CameraInfo)localObject); + if (((Camera.CameraInfo)localObject).facing == 0) {} + try + { + this.i = Camera.open(i1); + i1 += 1; + } + catch (RuntimeException localRuntimeException) + { + for (;;) + { + e.c("CameraOpen camera=" + this.i); + localRuntimeException.printStackTrace(); + } + } + } + } + if (this.i == null) + { + e.c("CameraOpen camera=" + this.i); + localObject = this.g.obtainMessage(0); + ((Message)localObject).what = 2; + ((Message)localObject).sendToTarget(); + } + d(); + this.h = System.currentTimeMillis(); + } + + public final void a(boolean paramBoolean) + { + this.f = paramBoolean; + } + + public final void b() + { + try + { + if (this.i != null) + { + this.i.setPreviewCallback(null); + this.i.stopPreview(); + this.i.release(); + this.i = null; + } + if (this.k != null) + { + this.k.cancel(); + this.k = null; + } + if (this.l != null) + { + this.l.cancel(); + this.l = null; + } + FaceDetector.IdCardDestroy(); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + } + + public final void c() + { + if (this.i == null) { + return; + } + try + { + this.i.autoFocus(this); + return; + } + catch (RuntimeException localRuntimeException) + { + localRuntimeException.printStackTrace(); + e.d("camera auto focus " + localRuntimeException.toString()); + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.d("camera auto focus " + localException.toString()); + } + } + + public final void onAutoFocus(boolean paramBoolean, Camera paramCamera) {} + + public final void onPreviewFrame(byte[] paramArrayOfByte, Camera paramCamera) + { + if (this.f) {} + long l2; + label370: + do + { + do + { + return; + this.n += 1; + } while (this.n % 2 == 0); + Object localObject1; + Object localObject2; + Object localObject3; + if (this.o == FaceDetector.IdCardDirection.DT_FRONT) + { + a += 1; + localObject1 = paramCamera.getParameters(); + int i1 = ((Camera.Parameters)localObject1).getPreviewSize().width; + int i2 = ((Camera.Parameters)localObject1).getPreviewSize().height; + localObject1 = new IdCardInfo(); + long l1 = System.currentTimeMillis(); + l2 = FaceDetector.IdCardDetect((IdCardInfo)localObject1, this.o, paramArrayOfByte, i1, i2, this.m); + long l3 = System.currentTimeMillis(); + localObject2 = "id_card ret: " + l2 + " time: " + (l3 - l1) + " info: " + ((IdCardInfo)localObject1).info() + ", side=" + this.o; + if (l2 != 0L) { + break label483; + } + e.c((String)localObject2 + ", totaltime=" + (System.currentTimeMillis() - this.h)); + if (this.o != FaceDetector.IdCardDirection.DT_FRONT) { + break label370; + } + b = (int)(System.currentTimeMillis() - this.h); + localObject3 = i.a(((IdCardInfo)localObject1).data(), "frontdata"); + localObject2 = this.g.obtainMessage(0); + ((Message)localObject2).what = 1; + ((Message)localObject2).obj = localObject3; + localObject3 = new Bundle(); + ((Bundle)localObject3).putByteArray("info", ((IdCardInfo)localObject1).info()); + ((Message)localObject2).setData((Bundle)localObject3); + ((Message)localObject2).arg1 = 1; + ((Message)localObject2).sendToTarget(); + p.a().a(System.currentTimeMillis(), 131); + } + for (;;) + { + e.a("take id photo data=" + paramArrayOfByte.length); + paramCamera.stopPreview(); + this.f = true; + return; + c += 1; + break; + if (this.o == FaceDetector.IdCardDirection.DT_BACK) + { + d = (int)(System.currentTimeMillis() - this.h); + localObject3 = i.a(((IdCardInfo)localObject1).data(), "backdata"); + localObject2 = this.g.obtainMessage(0); + ((Message)localObject2).what = 1; + ((Message)localObject2).obj = localObject3; + localObject3 = new Bundle(); + ((Bundle)localObject3).putByteArray("info", ((IdCardInfo)localObject1).info()); + ((Message)localObject2).setData((Bundle)localObject3); + ((Message)localObject2).arg1 = 2; + ((Message)localObject2).sendToTarget(); + p.a().a(System.currentTimeMillis(), 133); + } + } + e.a("ret=" + l2); + if ((l2 == 3L) || (l2 == 5L)) + { + this.g.obtainMessage(6).sendToTarget(); + return; + } + } while ((l2 != 2L) && (l2 != 4L)); + label483: + this.g.obtainMessage(7).sendToTarget(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cu.java new file mode 100755 index 00000000000..808d627b158 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cu.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import java.util.TimerTask; + +final class cu + extends TimerTask +{ + cu(ct paramct) {} + + public final void run() + { + this.a.c(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cv.java new file mode 100755 index 00000000000..636b368bf1f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cv.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class cv + implements Runnable +{ + cv(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void run() + { + Message localMessage = DetectIDPhotoActivity.access$000(this.a).obtainMessage(5); + DetectIDPhotoActivity.access$000(this.a).sendMessage(localMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cw.java new file mode 100755 index 00000000000..476ff195ddf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cw.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class cw + implements View.OnClickListener +{ + cw(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cx.java new file mode 100755 index 00000000000..8dd402c9429 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cx.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class cx + implements View.OnClickListener +{ + cx(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void onClick(View paramView) + { + if (DetectIDPhotoActivity.access$100(this.a) != null) { + DetectIDPhotoActivity.access$100(this.a).a(true); + } + DetectIDPhotoActivity.access$200(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cy.java new file mode 100755 index 00000000000..ab7c3f29789 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cy.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class cy + implements Animation.AnimationListener +{ + cy(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + DetectIDPhotoActivity.access$000(this.a).sendEmptyMessage(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/cz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/cz.java new file mode 100755 index 00000000000..7f4e94b393f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/cz.java @@ -0,0 +1,95 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Message; +import android.view.animation.Animation; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.cu; + +final class cz + extends bo +{ + cz(DetectIDPhotoActivity paramDetectIDPhotoActivity) + { + super(paramDetectIDPhotoActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + do + { + do + { + return; + DetectIDPhotoActivity.access$302(this.a, System.currentTimeMillis()); + DetectIDPhotoActivity.access$400(this.a).setText(2131362516); + return; + } while (System.currentTimeMillis() - DetectIDPhotoActivity.access$300(this.a) < 3000L); + if (DetectIDPhotoActivity.access$500(this.a) == 1) + { + DetectIDPhotoActivity.access$400(this.a).setText(2131362514); + return; + } + DetectIDPhotoActivity.access$400(this.a).setText(2131362515); + return; + DetectIDPhotoActivity.access$602(this.a, false); + } while ((DetectIDPhotoActivity.access$700(this.a)) || (DetectIDPhotoActivity.access$100(this.a) == null)); + e.c("show overtimedialog"); + if (DetectIDPhotoActivity.access$100(this.a) != null) { + DetectIDPhotoActivity.access$100(this.a).a(true); + } + DetectIDPhotoActivity.access$200(this.a); + return; + Intent localIntent = new Intent(this.a, TakeIDPhotoComfirmActivity.class); + Bundle localBundle; + if (paramMessage.arg1 == 1) + { + DetectIDPhotoActivity.access$802(this.a, (String)paramMessage.obj); + localBundle = paramMessage.getData(); + if (localBundle != null) { + DetectIDPhotoActivity.access$902(this.a, localBundle.getByteArray("info")); + } + } + for (;;) + { + localIntent.putExtra("data", (String)paramMessage.obj); + localIntent.putExtra("flag", paramMessage.arg1); + this.a.startActivityForResult(localIntent, 300); + e.a("startActivity msg.arg1=" + paramMessage.arg1 + "msg.what=" + paramMessage.what); + return; + if (paramMessage.arg1 == 2) + { + DetectIDPhotoActivity.access$702(this.a, true); + DetectIDPhotoActivity.access$1002(this.a, (String)paramMessage.obj); + localBundle = paramMessage.getData(); + if (localBundle != null) { + DetectIDPhotoActivity.access$1102(this.a, localBundle.getByteArray("info")); + } + } + } + this.a.showToast(2131362118); + this.a.finish(); + return; + } while ((DetectIDPhotoActivity.access$500(this.a) != 2) || (DetectIDPhotoActivity.access$1200(this.a) == null)); + DetectIDPhotoActivity.access$1200(this.a).setImageResource(2130837821); + paramMessage = new cu(270.0F, 360.0F, DetectIDPhotoActivity.access$1300(this.a) / 2, DetectIDPhotoActivity.access$1400(this.a) / 2, false); + paramMessage.setDuration(400L); + paramMessage.setFillAfter(true); + paramMessage.setAnimationListener(new da(this)); + DetectIDPhotoActivity.access$1200(this.a).startAnimation(paramMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.cz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/d.java b/com.tencent.token/classes.jar/com/tencent/token/ui/d.java new file mode 100755 index 00000000000..71f8c7d1c3d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/d.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnLongClickListener; + +final class d + implements View.OnLongClickListener +{ + d(AboutActivity paramAboutActivity) {} + + public final boolean onLongClick(View paramView) + { + paramView = new Intent(this.a, ShowLogActivity.class); + this.a.startActivity(paramView); + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/da.java b/com.tencent.token/classes.jar/com/tencent/token/ui/da.java new file mode 100755 index 00000000000..c45fcf1840b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/da.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.widget.ImageView; + +final class da + implements Animation.AnimationListener +{ + da(cz paramcz) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + DetectIDPhotoActivity.access$1500(this.a.a).setVisibility(0); + DetectIDPhotoActivity.access$1600(this.a.a).setVisibility(0); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.da + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/db.java b/com.tencent.token/classes.jar/com/tencent/token/ui/db.java new file mode 100755 index 00000000000..ad90861b15c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/db.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.p; + +final class db + implements DialogInterface.OnClickListener +{ + db(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + p.a().a(System.currentTimeMillis(), 134); + paramDialogInterface = new Intent(this.a, RealNameTakeIDPhotoActivity.class); + if ((DetectIDPhotoActivity.access$800(this.a) != null) && (DetectIDPhotoActivity.access$800(this.a).length() > 0)) { + paramDialogInterface.putExtra("frontdata", DetectIDPhotoActivity.access$800(this.a)); + } + paramDialogInterface.putExtra("scene", 2); + this.a.startActivityForResult(paramDialogInterface, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.db + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dc.java new file mode 100755 index 00000000000..70c5c23157c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dc.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class dc + implements DialogInterface.OnClickListener +{ + dc(DetectIDPhotoActivity paramDetectIDPhotoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + DetectIDPhotoActivity.access$100(this.a).a(false); + if (!DetectIDPhotoActivity.access$600(this.a)) + { + DetectIDPhotoActivity.access$602(this.a, true); + DetectIDPhotoActivity.access$100(this.a).postDelayed(DetectIDPhotoActivity.access$1700(this.a), 30000L); + } + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dd.java new file mode 100755 index 00000000000..871ab3b0c42 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dd.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.TitleOptionMenu; + +final class dd + implements View.OnClickListener +{ + dd(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onClick(View paramView) + { + e.a("BaseActivityonItemClicked"); + if (this.a.mTitleMenu.getVisibility() == 0) + { + this.a.mTitleMenu.a(); + return; + } + this.a.mTitleMenu.a(new de(this)); + paramView = this.a.mTitleMenu; + Object localObject = paramView.getTag(); + if (localObject != null) { + ((View)localObject).setSelected(true); + } + paramView.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/de.java b/com.tencent.token/classes.jar/com/tencent/token/ui/de.java new file mode 100755 index 00000000000..e0cdd1f0e78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/de.java @@ -0,0 +1,82 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXMediaMessage.IMediaObject; +import com.tencent.mm.sdk.openapi.WXWebpageObject; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.dh; +import com.tencent.token.utils.t; + +final class de + implements dh +{ + de(dd paramdd) {} + + public final void a(int paramInt) + { + e.a("BaseActivityonItemClicked"); + Object localObject; + SendMessageToWX.Req localReq; + switch (paramInt) + { + default: + return; + case 0: + if (this.a.a.mWeChatApi.isWXAppInstalled()) + { + if (this.a.a.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = this.a.a.shareurl; + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = this.a.a.sharetitle; + ((WXMediaMessage)localObject).description = this.a.a.getResources().getString(2131362804); + ((WXMediaMessage)localObject).setThumbImage(t.a(this.a.a.getResources(), 2130838008)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 0; + this.a.a.mWeChatApi.sendReq(localReq); + return; + } + this.a.a.showToast(this.a.a.getString(2131362385)); + return; + } + EmbedWebBaseActivity.access$000(this.a.a); + return; + } + if (this.a.a.mWeChatApi.isWXAppInstalled()) + { + if (this.a.a.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = this.a.a.shareurl; + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = this.a.a.sharetitle; + ((WXMediaMessage)localObject).description = this.a.a.getResources().getString(2131362804); + ((WXMediaMessage)localObject).setThumbImage(t.a(this.a.a.getResources(), 2130838008)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 1; + this.a.a.mWeChatApi.sendReq(localReq); + return; + } + this.a.a.showToast(this.a.a.getString(2131362385)); + return; + } + EmbedWebBaseActivity.access$000(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.de + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/df.java b/com.tencent.token/classes.jar/com/tencent/token/ui/df.java new file mode 100755 index 00000000000..912a09d0d66 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/df.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.net.Uri; +import com.tencent.token.global.e; + +final class df + implements DialogInterface.OnClickListener +{ + df(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + try + { + paramDialogInterface = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.tencent.mm")); + this.a.startActivity(paramDialogInterface); + return; + } + catch (Exception paramDialogInterface) + { + paramDialogInterface.printStackTrace(); + e.b(paramDialogInterface.toString()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.df + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dg.java new file mode 100755 index 00000000000..22269a2275d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dg.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.net.http.SslError; +import android.webkit.SslErrorHandler; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.TextView; +import com.tencent.token.global.e; + +final class dg + extends WebViewClient +{ + dg(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onPageFinished(WebView paramWebView, String paramString) + { + e.c("onPageFinished"); + if (this.a.mWebView.canGoBack()) { + this.a.closetext.setVisibility(0); + } + for (;;) + { + this.a.mIsRefreshing = false; + EmbedWebBaseActivity.access$102(this.a, false); + return; + this.a.closetext.setVisibility(4); + } + } + + public final void onPageStarted(WebView paramWebView, String paramString, Bitmap paramBitmap) {} + + public final void onReceivedSslError(WebView paramWebView, SslErrorHandler paramSslErrorHandler, SslError paramSslError) {} + + public final boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) + { + e.a("url" + paramString); + return this.a.overrideUrlLoading(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dh.java new file mode 100755 index 00000000000..a258c73cf9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dh.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.widget.FrameLayout; + +final class dh + implements Animation.AnimationListener +{ + dh(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + if (EmbedWebBaseActivity.access$200(this.a) != null) + { + EmbedWebBaseActivity.access$300(this.a).removeView(EmbedWebBaseActivity.access$200(this.a)); + EmbedWebBaseActivity.access$202(this.a, null); + } + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/di.java b/com.tencent.token/classes.jar/com/tencent/token/ui/di.java new file mode 100755 index 00000000000..81340f162d1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/di.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.webkit.WebChromeClient; +import android.webkit.WebView; + +final class di + extends WebChromeClient +{ + di(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onProgressChanged(WebView paramWebView, int paramInt) + { + if ((paramInt > 20) && (!this.a.mIsRefreshing) && (!EmbedWebBaseActivity.access$100(this.a)) && (paramInt < 90)) + { + this.a.mIsRefreshing = true; + EmbedWebBaseActivity.access$400(this.a, paramWebView); + } + } + + public final void onReceivedTitle(WebView paramWebView, String paramString) + { + if ((paramWebView.getUrl() != null) && (paramWebView.getUrl().contains("sec_headline_content"))) + { + this.a.sharetitle = paramString; + this.a.shareurl = paramWebView.getUrl(); + this.a.mRightOptionLayout.setVisibility(0); + } + while (this.a.alsoShowMenu) { + return; + } + this.a.mRightOptionLayout.setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.di + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dj.java new file mode 100755 index 00000000000..765f6124597 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dj.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; + +final class dj + implements View.OnTouchListener +{ + dj(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dk.java new file mode 100755 index 00000000000..64ecb260020 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.webkit.DownloadListener; +import com.tencent.token.utils.s; + +final class dk + implements DownloadListener +{ + dk(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onDownloadStart(String paramString1, String paramString2, String paramString3, String paramString4, long paramLong) + { + s.a(this.a, paramString1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dl.java new file mode 100755 index 00000000000..3bf9e4923a9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dl.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.webkit.WebView; + +final class dl + implements View.OnClickListener +{ + dl(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onClick(View paramView) + { + if (this.a.mWebView.canGoBack()) + { + EmbedWebBaseActivity.access$502(this.a, true); + this.a.mWebView.goBack(); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dm.java new file mode 100755 index 00000000000..b2e249746c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class dm + implements View.OnClickListener +{ + dm(EmbedWebBaseActivity paramEmbedWebBaseActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dn.java new file mode 100755 index 00000000000..6e415115ace --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dn.java @@ -0,0 +1,69 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.Toast; +import com.tencent.token.ae; +import com.tencent.token.ag; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.core.bean.c; +import com.tencent.token.core.push.a; +import com.tencent.token.gl; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import java.util.List; + +final class dn + implements AdapterView.OnItemClickListener +{ + dn(EnvirChangeListviewActivity paramEnvirChangeListviewActivity) {} + + public final void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong) + { + EnvirChangeListviewActivity.access$000(this.a).a(paramInt); + paramAdapterView = (c)this.a.envirDataList.get(paramInt); + Toast.makeText(this.a.getApplicationContext(), paramAdapterView.b(), 0).show(); + b.a(paramInt); + ag.c().e(); + ag.d(); + gl.b(); + ag.c(); + ax.a(); + ae.a(); + ax.a().m(); + ax.b(); + paramInt = b.a(); + paramAdapterView = ax.a(); + if (paramInt == 0) { + ax.c = ax.d; + } + for (;;) + { + e.c("sessionId : " + ax.c); + e.c("UserAgent.isInit():---" + paramAdapterView.p()); + paramAdapterView.d(); + ah.b(); + a.b(); + AccountPageActivity.mNeedRefreshEval = true; + bb.b(); + this.a.finish(); + return; + if (1 == paramInt) { + ax.c = ax.e; + } else if (2 == paramInt) { + ax.c = ax.f; + } else if (3 == paramInt) { + ax.c = ax.g; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/do.java b/com.tencent.token/classes.jar/com/tencent/token/ui/do.java new file mode 100755 index 00000000000..f3b07604b34 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/do.java @@ -0,0 +1,82 @@ +package com.tencent.token.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.RadioButton; +import android.widget.TextView; +import com.tencent.token.core.bean.c; +import java.util.List; + +final class do + extends BaseAdapter +{ + private List b; + private EnvirChangeListviewActivity c; + private LayoutInflater d; + + public do(EnvirChangeListviewActivity paramEnvirChangeListviewActivity1, EnvirChangeListviewActivity paramEnvirChangeListviewActivity2, List paramList) + { + this.d = LayoutInflater.from(paramEnvirChangeListviewActivity2); + this.c = paramEnvirChangeListviewActivity2; + this.b = paramList; + } + + public final void a(int paramInt) + { + if (!((c)this.b.get(paramInt)).c()) + { + ((c)this.b.get(paramInt)).a(true); + int i = 0; + while (i < this.b.size()) + { + if (i != paramInt) { + ((c)this.b.get(i)).a(false); + } + i += 1; + } + } + notifyDataSetChanged(); + } + + public final int getCount() + { + if (this.b == null) { + return 0; + } + return this.b.size(); + } + + public final Object getItem(int paramInt) + { + return this.b.get(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.d.inflate(2130903076, paramViewGroup, false); + } + paramView = (TextView)localView.findViewById(2131296541); + paramViewGroup = (TextView)localView.findViewById(2131296542); + RadioButton localRadioButton = (RadioButton)localView.findViewById(2131296543); + c localc = (c)getItem(paramInt); + paramView.setText(localc.a()); + paramViewGroup.setText(localc.b()); + localRadioButton.setChecked(localc.c()); + return localView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.do + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dp.java new file mode 100755 index 00000000000..26ce733d27b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dp.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class dp + implements View.OnClickListener +{ + dp(FaceChangeMobileActivity paramFaceChangeMobileActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) + { + this.a.showNoAccountTipDialog(this.a, 3, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + this.a.showNoAccountTipDialog(this.a, 3, 1); + return; + } + this.a.showProDialog(this.a, 2131361808, 2131362203, null); + af.a().l(0L, FaceChangeMobileActivity.access$000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dq.java new file mode 100755 index 00000000000..13346ab1fff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dq.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.d; + +final class dq + extends Handler +{ + dq(FaceChangeMobileActivity paramFaceChangeMobileActivity) {} + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameStatusResult)paramMessage.obj; + Intent localIntent = new Intent(this.a, RealNameActivity.class); + localIntent.putExtra("realname_result", paramMessage); + this.a.startActivity(localIntent); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dr.java new file mode 100755 index 00000000000..30c654bfdd5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dr.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class dr + implements View.OnClickListener +{ + dr(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) {} + + public final void onClick(View paramView) + { + if (!ax.a().e().mIsBinded) + { + this.a.showNoAccountTipDialog(this.a, 10, 1); + return; + } + paramView = new Intent(this.a, ModifyQQPwdActivity.class); + pv.a().a(this.a, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ds.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ds.java new file mode 100755 index 00000000000..9187937b023 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ds.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.global.e; + +final class ds + implements CompoundButton.OnCheckedChangeListener +{ + ds(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + e.a("isChecked" + paramBoolean); + e.a("mIsChecked" + FaceChangePwdIndexActivity.access$000(this.a)); + if (paramBoolean) + { + this.a.showUserDialog(2131362812, this.a.getResources().getString(2131362813), 2131361804, 2131362697, new dt(this), new du(this), new dv(this, paramBoolean)); + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(4); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(4); + FaceChangePwdIndexActivity.access$400(this.a).setVisibility(4); + return; + } + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(0); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(0); + FaceChangePwdIndexActivity.access$400(this.a).setVisibility(0); + this.a.showProDialog(this.a, 2131361808, 2131362485, null); + FaceChangePwdIndexActivity.access$502(this.a, 3); + FaceChangePwdIndexActivity.access$600(this.a, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ds + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dt.java new file mode 100755 index 00000000000..e7f2cc8e0a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dt.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class dt + implements DialogInterface.OnClickListener +{ + dt(ds paramds) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/du.java b/com.tencent.token/classes.jar/com/tencent/token/ui/du.java new file mode 100755 index 00000000000..a8123038d31 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/du.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.utils.t; + +final class du + implements DialogInterface.OnClickListener +{ + du(ds paramds) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (t.l() == 0) {} + for (paramDialogInterface = new Intent(this.a.a, FaceRecognitionCameraActivityOld.class);; paramDialogInterface = new Intent(this.a.a, FaceRecognitionCameraActivity.class)) + { + paramDialogInterface.putExtra("flag", 2); + paramDialogInterface.putExtra("scene", 9); + this.a.a.startActivityForResult(paramDialogInterface, 0); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.du + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dv.java new file mode 100755 index 00000000000..96c786767f6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dv.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.view.View; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SwitchButton; + +final class dv + implements DialogInterface.OnCancelListener +{ + dv(ds paramds, boolean paramBoolean) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + e.a("onCancel"); + paramDialogInterface = FaceChangePwdIndexActivity.access$100(this.b.a); + if (!this.a) {} + for (boolean bool = true;; bool = false) + { + paramDialogInterface.a(bool, false); + FaceChangePwdIndexActivity.access$200(this.b.a).setVisibility(0); + FaceChangePwdIndexActivity.access$300(this.b.a).setVisibility(0); + FaceChangePwdIndexActivity.access$400(this.b.a).setVisibility(0); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dw.java new file mode 100755 index 00000000000..cef2d8932da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dw.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler.Callback; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class dw + implements Handler.Callback +{ + dw(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) {} + + public final boolean handleMessage(Message paramMessage) + { + e.a("Callback=" + paramMessage.arg1); + if (paramMessage.arg1 == 270) + { + this.a.dismissDialog(); + paramMessage = (UpgradeDeterminResult)((d)paramMessage.obj).d; + e.a("mSmsPrefix=" + paramMessage.mSmsPrefix); + e.a("mMobileMask=" + paramMessage.mMobileMask); + QQUser localQQUser = ax.a().e(); + e.a("currentUser=" + localQQUser); + Intent localIntent = new Intent(this.a, VryMobileForStrategyActivity.class); + localIntent.setFlags(536870912); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 13); + localIntent.putExtra("intent.upgradedetermin", paramMessage); + this.a.startActivity(localIntent); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dx.java new file mode 100755 index 00000000000..4b9a349361d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dx.java @@ -0,0 +1,98 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Message; +import android.view.View; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.x; + +final class dx + extends dz +{ + dx(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) + { + super(paramFaceChangePwdIndexActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + int i = paramMessage.what; + int j = paramMessage.arg1; + this.a.dismissDialog(); + e.a("handleMessage" + i + paramMessage.arg1); + e.a("on" + FaceChangePwdIndexActivity.access$800(this.a)); + switch (i) + { + } + label178: + label447: + do + { + return; + if (paramMessage.arg1 == 0) + { + e.a("mIsCheckedRET_CODE_OK" + FaceChangePwdIndexActivity.access$100(this.a).isChecked()); + if (!FaceChangePwdIndexActivity.access$800(this.a)) + { + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(4); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(4); + FaceChangePwdIndexActivity.access$400(this.a).setVisibility(4); + paramMessage = FaceChangePwdIndexActivity.access$100(this.a); + if (FaceChangePwdIndexActivity.access$800(this.a)) { + break label270; + } + } + for (;;) + { + paramMessage.a(bool, false); + if (FaceChangePwdIndexActivity.access$800(this.a)) { + break; + } + this.a.showOrangeToast(this.a.getResources().getString(2131362821), 0); + return; + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(0); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(0); + FaceChangePwdIndexActivity.access$400(this.a).setVisibility(0); + break label178; + bool = false; + } + } + e.a("mIsChecked" + FaceChangePwdIndexActivity.access$100(this.a).isChecked()); + if (FaceChangePwdIndexActivity.access$800(this.a)) + { + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(4); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(4); + } + for (;;) + { + FaceChangePwdIndexActivity.access$100(this.a).a(FaceChangePwdIndexActivity.access$800(this.a), false); + if (j != 185) { + break label447; + } + if (ax.a().e() == null) { + break; + } + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, this.a.fHandler, true); + return; + FaceChangePwdIndexActivity.access$200(this.a).setVisibility(0); + FaceChangePwdIndexActivity.access$300(this.a).setVisibility(0); + } + } while (j == 270); + label270: + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dy.java new file mode 100755 index 00000000000..114fcd52de5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dy.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class dy + implements DialogInterface.OnClickListener +{ + dy(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, StartPwdUpdateInfoActivity.class); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/dz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/dz.java new file mode 100755 index 00000000000..e29944b7155 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/dz.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; + +public class dz + extends Handler +{ + public dz(FaceChangePwdIndexActivity paramFaceChangePwdIndexActivity) + { + super(FaceChangePwdIndexActivity.access$700(paramFaceChangePwdIndexActivity)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.dz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/e.java b/com.tencent.token/classes.jar/com/tencent/token/ui/e.java new file mode 100755 index 00000000000..88e65e289d1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/e.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class e + implements View.OnClickListener +{ + e(AboutActivity paramAboutActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SerialNumberActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ea.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ea.java new file mode 100755 index 00000000000..fb33170df1c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ea.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.webkit.WebView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +final class ea + extends bo +{ + ea(FacePKActivity paramFacePKActivity) + { + super(paramFacePKActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + this.a.mWebView.loadUrl(FacePKActivity.access$000(this.a)); + return; + } + QQUser localQQUser = ax.a().e(); + if (localQQUser != null) + { + byte[] arrayOfByte = (byte[])paramMessage.obj; + if ((paramMessage.arg1 == 0) && (arrayOfByte != null)) + { + FacePKActivity.access$002(this.a, "https://ssl.ptlogin2.qq.com/jump?keyindex=19&clientuin=" + localQQUser.mRealUin + "&clientkey=" + s.a(arrayOfByte) + "&u1=" + FacePKActivity.access$000(this.a)); + e.c("skey: url=" + FacePKActivity.access$000(this.a)); + } + } + this.a.mWebView.loadUrl(FacePKActivity.access$000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ea + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eb.java new file mode 100755 index 00000000000..6f98cba1fb3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eb.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.TitleOptionMenu; + +final class eb + implements View.OnClickListener +{ + eb(FacePKActivity paramFacePKActivity) {} + + public final void onClick(View paramView) + { + e.a("FacePKActivityOnclick"); + if (this.a.mTitleMenu.getVisibility() == 0) + { + this.a.mTitleMenu.a(); + return; + } + this.a.mTitleMenu.a(new ec(this)); + paramView = this.a.mTitleMenu; + Object localObject = paramView.getTag(); + if (localObject != null) { + ((View)localObject).setSelected(true); + } + paramView.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ec.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ec.java new file mode 100755 index 00000000000..7f9f1848016 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ec.java @@ -0,0 +1,81 @@ +package com.tencent.token.ui; + +import com.tencent.mm.sdk.openapi.IWXAPI; +import com.tencent.mm.sdk.openapi.SendMessageToWX.Req; +import com.tencent.mm.sdk.openapi.WXMediaMessage; +import com.tencent.mm.sdk.openapi.WXMediaMessage.IMediaObject; +import com.tencent.mm.sdk.openapi.WXWebpageObject; +import com.tencent.token.global.e; +import com.tencent.token.p; +import com.tencent.token.ui.base.dh; +import com.tencent.token.utils.t; + +final class ec + implements dh +{ + ec(eb parameb) {} + + public final void a(int paramInt) + { + e.a("FacePKActivityonItemClicked"); + Object localObject; + SendMessageToWX.Req localReq; + switch (paramInt) + { + default: + return; + case 0: + if (this.a.a.mWeChatApi.isWXAppInstalled()) + { + if (this.a.a.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = (FacePKActivity.access$000(this.a.a) + "&out=1"); + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = FacePKActivity.access$100(this.a.a); + ((WXMediaMessage)localObject).description = FacePKActivity.access$200(this.a.a); + ((WXMediaMessage)localObject).setThumbImage(t.a(this.a.a.getResources(), 2130837614)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 0; + this.a.a.mWeChatApi.sendReq(localReq); + return; + } + this.a.a.showToast(this.a.a.getString(2131362385)); + return; + } + FacePKActivity.access$300(this.a.a); + return; + } + if (this.a.a.mWeChatApi.isWXAppInstalled()) + { + if (this.a.a.mWeChatApi.getWXAppSupportAPI() >= 553779201) + { + p.a().a(System.currentTimeMillis(), 74); + localObject = new WXWebpageObject(); + ((WXWebpageObject)localObject).webpageUrl = (FacePKActivity.access$000(this.a.a) + "&out=1"); + localObject = new WXMediaMessage((WXMediaMessage.IMediaObject)localObject); + ((WXMediaMessage)localObject).title = FacePKActivity.access$200(this.a.a); + ((WXMediaMessage)localObject).description = ""; + ((WXMediaMessage)localObject).setThumbImage(t.a(this.a.a.getResources(), 2130837614)); + localReq = new SendMessageToWX.Req(); + localReq.transaction = String.valueOf(System.currentTimeMillis()); + localReq.message = ((WXMediaMessage)localObject); + localReq.scene = 1; + this.a.a.mWeChatApi.sendReq(localReq); + return; + } + this.a.a.showToast(this.a.a.getString(2131362385)); + return; + } + FacePKActivity.access$300(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ec + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ed.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ed.java new file mode 100755 index 00000000000..156b2869a7a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ed.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.net.Uri; +import com.tencent.token.global.e; + +final class ed + implements DialogInterface.OnClickListener +{ + ed(FacePKActivity paramFacePKActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + try + { + paramDialogInterface = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.tencent.mm")); + this.a.startActivity(paramDialogInterface); + return; + } + catch (Exception paramDialogInterface) + { + paramDialogInterface.printStackTrace(); + e.b(paramDialogInterface.toString()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ed + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ee.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ee.java new file mode 100755 index 00000000000..1a763a5b6ca --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ee.java @@ -0,0 +1,102 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.cx; +import com.tencent.token.ge; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.n; +import java.util.ArrayList; + +final class ee + extends bo +{ + ee(FacePKCameraActivity paramFacePKCameraActivity) + { + super(paramFacePKCameraActivity); + } + + public final void handleMessage(Message paramMessage) + { + e.a("facepwd msg.what=" + paramMessage.what); + Object localObject; + switch (paramMessage.what) + { + default: + case 2: + case 11: + do + { + do + { + do + { + return; + } while (FacePKCameraActivity.access$000(this.a)); + FacePKCameraActivity.access$002(this.a, true); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362118), 2131361800, new ef(this), new eg(this)); + return; + FacePKCameraActivity.access$100(this.a).c(3); + FacePKCameraActivity.access$200(this.a).setText(2131361844); + paramMessage = ((FaceData)paramMessage.obj).mUploadData; + } while (paramMessage == null); + localObject = new ArrayList(); + ((ArrayList)localObject).add(paramMessage); + FacePKCameraActivity.access$302(this.a, ge.a((ArrayList)localObject)); + if (FacePKCameraActivity.access$300(this.a) == null) { + break; + } + } while (FacePKCameraActivity.access$100(this.a).b() == 2); + FacePKCameraActivity.access$402(this.a, true); + if (FacePKCameraActivity.access$500(this.a)) + { + n.a().a(FacePKCameraActivity.access$600(this.a), FacePKCameraActivity.access$600(this.a).b(), FacePKCameraActivity.access$700(this.a)); + return; + } + af.a().a(0L, FacePKCameraActivity.access$300(this.a), FacePKCameraActivity.access$700(this.a), null); + return; + e.a("OPTYPE_VALIDATION facepk serverData == null"); + return; + case 100: + e.c("RECORD_ERROR"); + af.a().a(0L, FacePKCameraActivity.access$300(this.a), FacePKCameraActivity.access$700(this.a), null); + return; + case 90: + e.c("RECORD_END"); + n.a().c(); + af.a().a(0L, FacePKCameraActivity.access$300(this.a), FacePKCameraActivity.access$700(this.a), n.a().b()); + return; + } + if (paramMessage.arg1 == 0) + { + paramMessage = (cx)paramMessage.obj; + localObject = new Intent(this.a, FacePKActivity.class); + ((Intent)localObject).putExtra("help_url", paramMessage.a); + ((Intent)localObject).putExtra("share_desc", paramMessage.c); + ((Intent)localObject).putExtra("share_title", paramMessage.b); + this.a.startActivity((Intent)localObject); + } + for (;;) + { + this.a.finish(); + return; + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showToast(paramMessage.c); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ee + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ef.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ef.java new file mode 100755 index 00000000000..3d3f1fdc260 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ef.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ef + implements DialogInterface.OnClickListener +{ + ef(ee paramee) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ef + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eg.java new file mode 100755 index 00000000000..89f32adeb4c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eg.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class eg + implements DialogInterface.OnCancelListener +{ + eg(ee paramee) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FacePKCameraActivity.access$600(this.b.a).a(true); + FacePKCameraActivity.access$600(this.b.a).a(); + FacePKCameraActivity.access$002(this.b.a, false); + if (!this.a) { + this.b.a.finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eh.java new file mode 100755 index 00000000000..1e4424ceba2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eh.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class eh + implements View.OnClickListener +{ + eh(FacePKCameraActivity paramFacePKCameraActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ei.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ei.java new file mode 100755 index 00000000000..d761cdde765 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ei.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ei + implements DialogInterface.OnClickListener +{ + ei(FacePKCameraActivity paramFacePKCameraActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FacePKCameraActivity.access$600(this.a).a(true, false, 0, 0); + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ei + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ej.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ej.java new file mode 100755 index 00000000000..66f8edce35e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ej.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.i; + +final class ej + implements Runnable +{ + ej(FacePKCameraActivity paramFacePKCameraActivity) {} + + public final void run() + { + if (!i.a()) + { + FacePKCameraActivity.access$502(this.a, false); + return; + } + if (i.b() < 2097152L) + { + FacePKCameraActivity.access$502(this.a, false); + return; + } + FacePKCameraActivity.access$502(this.a, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ej + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ek.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ek.java new file mode 100755 index 00000000000..f9d62c11813 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ek.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; +import com.tencent.token.utils.n; + +final class ek + implements View.OnClickListener +{ + ek(FacePKCameraActivity paramFacePKCameraActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + FacePKCameraActivity.access$700(this.a).removeMessages(90); + if (n.a().c()) + { + FacePKCameraActivity.access$700(this.a).postDelayed(new el(this), 300L); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ek + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/el.java b/com.tencent.token/classes.jar/com/tencent/token/ui/el.java new file mode 100755 index 00000000000..1e1dbbd26fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/el.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class el + implements Runnable +{ + el(ek paramek) {} + + public final void run() + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.el + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/em.java b/com.tencent.token/classes.jar/com/tencent/token/ui/em.java new file mode 100755 index 00000000000..c1a1f0dbed8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/em.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class em + implements Runnable +{ + em(FacePKCameraActivity paramFacePKCameraActivity) {} + + public final void run() + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.em + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/en.java b/com.tencent.token/classes.jar/com/tencent/token/ui/en.java new file mode 100755 index 00000000000..0329bed9326 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/en.java @@ -0,0 +1,65 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.ListView; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.base.FacePwdVerifySelDialog; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.utils.t; +import java.util.List; + +final class en + implements CompoundButton.OnCheckedChangeListener +{ + en(FacePwdIndexActivity paramFacePwdIndexActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (paramBoolean != FacePwdIndexActivity.access$000(this.a)) { + return; + } + if (FacePwdIndexActivity.access$000(this.a)) + { + FacePwdIndexActivity.access$100(this.a).a(true, false); + FacePwdIndexActivity.access$002(this.a, false); + t.b(0L); + FacePwdIndexActivity.access$200(this.a).setVisibility(4); + FacePwdIndexActivity.access$300(this.a).setVisibility(4); + FacePwdIndexActivity.access$400(this.a).setVisibility(4); + return; + } + FacePwdIndexActivity.access$200(this.a).setVisibility(0); + FacePwdIndexActivity.access$300(this.a).setVisibility(0); + FacePwdIndexActivity.access$400(this.a).setVisibility(0); + if (FacePwdIndexActivity.access$500(this.a).size() > 0) + { + if (FacePwdIndexActivity.access$500(this.a).size() == 1) + { + FacePwdIndexActivity.access$002(this.a, true); + FacePwdIndexActivity.access$100(this.a).a(false, false); + t.b(((QQUser)FacePwdIndexActivity.access$500(this.a).get(0)).mRealUin); + this.a.refreshList(); + return; + } + FacePwdIndexActivity.access$002(this.a, true); + FacePwdIndexActivity.access$100(this.a).a(false, false); + paramCompoundButton = new FacePwdVerifySelDialog(this.a, FacePwdIndexActivity.access$500(this.a)); + paramCompoundButton.setCancelable(false); + paramCompoundButton.show(); + return; + } + paramCompoundButton = new Intent(this.a, FaceRecognitionCreateActivity.class); + this.a.startActivity(paramCompoundButton); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.en + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eo.java new file mode 100755 index 00000000000..8a667234dce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eo.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class eo + implements DialogInterface.OnClickListener +{ + eo(FacePwdIndexActivity paramFacePwdIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, StartPwdUpdateInfoActivity.class); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ep.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ep.java new file mode 100755 index 00000000000..4c5e2fed94f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ep.java @@ -0,0 +1,81 @@ +package com.tencent.token.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.List; + +final class ep + extends BaseAdapter +{ + private List a; + private BaseActivity b; + private LayoutInflater c; + + public ep(BaseActivity paramBaseActivity, List paramList) + { + this.c = LayoutInflater.from(paramBaseActivity); + this.b = paramBaseActivity; + this.a = paramList; + } + + public final int getCount() + { + if (this.a == null) { + return 0; + } + return this.a.size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.c.inflate(2130903084, paramViewGroup, false); + } + Object localObject = (TextView)localView.findViewById(2131296563); + paramView = (ImageView)localView.findViewById(2131296543); + if (this.a != null) + { + paramViewGroup = (QQUser)this.a.get(paramInt); + if (paramViewGroup != null) + { + ((TextView)localObject).setText(paramViewGroup.mNickName + "(" + s.e(paramViewGroup.mRealUin) + ")"); + localObject = t.f(); + if ((localObject == null) || (((QQUser)localObject).mUin != paramViewGroup.mUin)) { + break label155; + } + paramView.setVisibility(0); + } + } + for (;;) + { + localView.setOnClickListener(new eq(this, paramViewGroup)); + return localView; + label155: + paramView.setVisibility(4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ep + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eq.java new file mode 100755 index 00000000000..e11bff1873e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eq.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.t; + +final class eq + implements View.OnClickListener +{ + eq(ep paramep, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + t.b(this.a.mRealUin); + this.b.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/er.java b/com.tencent.token/classes.jar/com/tencent/token/ui/er.java new file mode 100755 index 00000000000..6240aeadb8e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/er.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.t; + +final class er + implements View.OnClickListener +{ + er(FaceRecognitionAddFaceActivity paramFaceRecognitionAddFaceActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramView.putExtra("flag", 4); + paramView.putExtra("scene", 7); + this.a.startActivity(paramView); + this.a.finish(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.er + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/es.java b/com.tencent.token/classes.jar/com/tencent/token/ui/es.java new file mode 100755 index 00000000000..c31b79c1557 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/es.java @@ -0,0 +1,278 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.push.a; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class es + extends bo +{ + es(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity) + { + super(paramFaceRecognitionCameraActivity); + } + + private void a(boolean paramBoolean) + { + FaceRecognitionCameraActivity.access$202(this.a, true); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362118), 2131361800, new fg(this), new fh(this, paramBoolean)); + } + + public final void handleMessage(Message paramMessage) + { + e.a("facepwd msg.what=" + paramMessage.what); + switch (paramMessage.what) + { + } + Object localObject; + label1078: + label1131: + do + { + do + { + do + { + do + { + do + { + do + { + return; + } while (paramMessage.arg1 != 0); + if (paramMessage.arg2 == 1) + { + paramMessage = (int[])paramMessage.obj; + if ((paramMessage != null) && (paramMessage.length > 0)) + { + FaceRecognitionCameraActivity.access$002(this.a, new int[paramMessage.length]); + i = 0; + while (i < paramMessage.length) + { + FaceRecognitionCameraActivity.access$000(this.a)[i] = paramMessage[i]; + i += 1; + } + FaceRecognitionCameraActivity.access$102(this.a, true); + return; + } + FaceRecognitionCameraActivity.access$102(this.a, false); + return; + } + FaceRecognitionCameraActivity.access$102(this.a, false); + return; + } while (FaceRecognitionCameraActivity.access$200(this.a)); + if ((FaceRecognitionCameraActivity.access$300(this.a) == 8) || (FaceRecognitionCameraActivity.access$300(this.a) == 9)) + { + a(true); + return; + } + a(false); + return; + paramMessage = (TextView)this.a.findViewById(2131296625); + } while (paramMessage == null); + paramMessage.setText(2131362486); + return; + FaceRecognitionCameraActivity.access$402(this.a, (FaceData)paramMessage.obj); + if (FaceRecognitionCameraActivity.access$100(this.a)) + { + FaceRecognitionCameraActivity.access$500(this.a).c(3); + FaceRecognitionCameraActivity.access$600(this.a, FaceRecognitionCameraActivity.access$000(this.a)[0]); + FaceRecognitionCameraActivity.access$700(this.a).a(false, true, FaceRecognitionCameraActivity.access$000(this.a)[0], 0); + FaceRecognitionCameraActivity.access$500(this.a).a(FaceRecognitionCameraActivity.access$000(this.a)[0]); + FaceRecognitionCameraActivity.access$500(this.a).c(7); + return; + } + FaceRecognitionCameraActivity.access$800(this.a); + return; + FaceRecognitionCameraActivity.access$500(this.a).c(9); + FaceRecognitionCameraActivity.access$900(this.a).setVisibility(0); + FaceRecognitionCameraActivity.access$1000(this.a).setVisibility(0); + paramMessage = new RotateAnimation(0.0F, 360.0F, 1, 0.5F, 1, 0.5F); + paramMessage.setDuration(700L); + localObject = new RotateAnimation(360.0F, 0.0F, 1, 0.5F, 1, 0.5F); + ((Animation)localObject).setDuration(700L); + paramMessage.setAnimationListener(new et(this)); + FaceRecognitionCameraActivity.access$900(this.a).startAnimation(paramMessage); + FaceRecognitionCameraActivity.access$1000(this.a).startAnimation((Animation)localObject); + return; + if (paramMessage.arg1 == 0) + { + if (FaceRecognitionCameraActivity.access$700(this.a) != null) { + FaceRecognitionCameraActivity.access$700(this.a).a(true); + } + ax.a().f(FaceRecognitionCameraActivity.access$1100(this.a)); + af.a().b(FaceRecognitionCameraActivity.access$1200(this.a)); + this.a.dismissDialog(); + FaceRecognitionCameraActivity.access$1302(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + ((Button)localObject).setOnClickListener(new fe(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(FaceRecognitionCameraActivity.access$1100(this.a) + "", s.f(FaceRecognitionCameraActivity.access$1100(this.a)) + " ")); + a.a().a(8); + return; + } + FaceRecognitionCameraActivity.access$900(this.a).setVisibility(4); + FaceRecognitionCameraActivity.access$1000(this.a).setVisibility(4); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, new fk(this)); + return; + e.c("K_MSG_POST_FACERECOGNITION = " + paramMessage.arg1); + if (paramMessage.arg1 != 0) { + break label1078; + } + i = paramMessage.arg2; + if (i != 2) { + break; + } + if (FaceRecognitionCameraActivity.access$300(this.a) == 6) + { + paramMessage = new Intent(this.a, FaceRecognitionDefaultActivity.class); + paramMessage.putExtra("toastflag", 2); + paramMessage.addFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + } + if (FaceRecognitionCameraActivity.access$300(this.a) == 8) + { + FaceRecognitionCameraActivity.access$500(this.a).postDelayed(new fl(this), 0L); + return; + } + if (FaceRecognitionCameraActivity.access$300(this.a) == 9) + { + this.a.setResult(-1); + this.a.finish(); + return; + } + } while (FaceRecognitionCameraActivity.access$300(this.a) != 4); + af.a().g(FaceRecognitionCameraActivity.access$1100(this.a), 2, FaceRecognitionCameraActivity.access$1200(this.a)); + return; + } while (i != 4); + paramMessage = new Intent(this.a, FaceRecognitionDefaultActivity.class); + paramMessage.putExtra("toastflag", 4); + paramMessage.addFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + FaceRecognitionCameraActivity.access$900(this.a).setVisibility(4); + FaceRecognitionCameraActivity.access$1000(this.a).setVisibility(4); + localObject = (d)paramMessage.obj; + i = FaceRecognitionCameraActivity.access$1400(this.a); + try + { + int j = ((Integer)((d)localObject).d).intValue(); + i = j; + } + catch (Exception paramMessage) + { + break label1131; + this.a.showUserDialog(2131362547, this.a.getResources().getString(2131362548), 2131361804, 2131361868, new fm(this), new fn(this)); + return; + } + d.a(this.a.getResources(), (d)localObject); + e.c("faceRe ret.mErrCode=" + ((d)localObject).a + "opType" + i); + if (i == 4) { + switch (((d)localObject).a) + { + case 222: + default: + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361804, 2131361914, new fp(this), new fq(this)); + return; + } + } + } while (i != 2); + if (FaceRecognitionCameraActivity.access$300(this.a) == 6) + { + if (((d)localObject).a == 221) {} + for (i = 2131362489;; i = 2131362104) + { + this.a.showUserDialog(i, ((d)localObject).c, 2131361802, 2131362496, new fr(this), new eu(this)); + return; + } + } + if ((FaceRecognitionCameraActivity.access$300(this.a) == 8) || (FaceRecognitionCameraActivity.access$300(this.a) == 9)) + { + switch (((d)localObject).a) + { + default: + this.a.showUserDialog(2131361808, ((d)localObject).c, 2131362496, new fi(this), new fj(this)); + return; + } + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, new fi(this), new fj(this)); + return; + } + switch (((d)localObject).a) + { + default: + if (RqdApplication.d()) { + break; + } + } + for (int i = 2131362494;; i = 2131362495) + { + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361914, i, new fc(this), new fd(this), new ff(this)); + return; + FaceRecognitionCameraActivity.access$2008(this.a); + if (FaceRecognitionCameraActivity.access$300(this.a) == 4) + { + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, new ev(this), new ew(this)); + return; + } + if (!RqdApplication.d()) { + i = 2131362494; + } + for (paramMessage = this.a.getResources().getString(2131362507); FaceRecognitionCameraActivity.access$2000(this.a) < 5; paramMessage = this.a.getResources().getString(2131362506)) + { + s.a(FaceRecognitionCameraActivity.LANUCH_RETRY_COUNT, FaceRecognitionCameraActivity.access$2000(this.a)); + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, i, new ex(this), new ey(this), new ez(this)); + return; + i = 2131362495; + } + s.a(FaceRecognitionCameraActivity.LANUCH_RETRY_COUNT, 0); + this.a.showUserDialog(2131362491, paramMessage, i, new fa(this)); + return; + t.b(0L); + if (!RqdApplication.d()) { + i = 2131362494; + } + for (paramMessage = this.a.getResources().getString(2131362505);; paramMessage = this.a.getResources().getString(2131362504)) + { + this.a.showUserDialog(2131362104, ((d)localObject).c + "," + paramMessage, i, new fb(this)); + return; + i = 2131362495; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.es + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/et.java b/com.tencent.token/classes.jar/com/tencent/token/ui/et.java new file mode 100755 index 00000000000..2facd03b60b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/et.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class et + implements Animation.AnimationListener +{ + et(es parames) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + FaceRecognitionCameraActivity.access$800(this.a.a); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.et + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/eu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/eu.java new file mode 100755 index 00000000000..3e3f761e1a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/eu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class eu + implements DialogInterface.OnClickListener +{ + eu(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.eu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ev.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ev.java new file mode 100755 index 00000000000..83939b826b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ev.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ev + implements DialogInterface.OnClickListener +{ + ev(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ev + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ew.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ew.java new file mode 100755 index 00000000000..e8652512adc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ew.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class ew + implements DialogInterface.OnCancelListener +{ + ew(es parames) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ew + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ex.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ex.java new file mode 100755 index 00000000000..a6211bce423 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ex.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ex + implements DialogInterface.OnClickListener +{ + ex(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ex + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ey.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ey.java new file mode 100755 index 00000000000..91039becdef --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ey.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ey + implements DialogInterface.OnClickListener +{ + ey(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ey + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ez.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ez.java new file mode 100755 index 00000000000..a783143a45b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ez.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class ez + implements DialogInterface.OnCancelListener +{ + ez(es parames) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ez + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/f.java b/com.tencent.token/classes.jar/com/tencent/token/ui/f.java new file mode 100755 index 00000000000..c503d00390f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/f.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class f + implements View.OnClickListener +{ + f(AboutActivity paramAboutActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131361892)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fa.java new file mode 100755 index 00000000000..40d919c0658 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fa.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fa + implements DialogInterface.OnClickListener +{ + fa(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fb.java new file mode 100755 index 00000000000..6eb9f173d14 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fb.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fb + implements DialogInterface.OnClickListener +{ + fb(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fc.java new file mode 100755 index 00000000000..ec9bc547c51 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fc + implements DialogInterface.OnClickListener +{ + fc(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fd.java new file mode 100755 index 00000000000..e1327631777 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fd.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fd + implements DialogInterface.OnClickListener +{ + fd(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fe.java new file mode 100755 index 00000000000..8f7b82a5d3b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fe.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class fe + implements View.OnClickListener +{ + fe(es parames) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + paramView.putExtra("ish5zzb", this.a.a.ish5zzb); + this.a.a.startActivity(paramView); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ff.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ff.java new file mode 100755 index 00000000000..8e976970445 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ff.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class ff + implements DialogInterface.OnCancelListener +{ + ff(es parames) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ff + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fg.java new file mode 100755 index 00000000000..24633e8d108 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fg.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fg + implements DialogInterface.OnClickListener +{ + fg(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fh.java new file mode 100755 index 00000000000..486c0d926eb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fh.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class fh + implements DialogInterface.OnCancelListener +{ + fh(es parames, boolean paramBoolean) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivity.access$700(this.b.a).a(true); + FaceRecognitionCameraActivity.access$700(this.b.a).a(); + FaceRecognitionCameraActivity.access$202(this.b.a, false); + if (!this.a) { + this.b.a.finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fi.java new file mode 100755 index 00000000000..1a928facc60 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fi.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fi + implements DialogInterface.OnClickListener +{ + fi(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fj.java new file mode 100755 index 00000000000..74cc4f3d7e0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class fj + implements DialogInterface.OnCancelListener +{ + fj(es parames) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivity.access$1900(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fk.java new file mode 100755 index 00000000000..c4cea5eb11f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fk + implements DialogInterface.OnClickListener +{ + fk(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fl.java new file mode 100755 index 00000000000..13e104e7c97 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fl.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; + +final class fl + implements Runnable +{ + fl(es parames) {} + + public final void run() + { + Intent localIntent = new Intent(this.a.a, ModifyQQPwdActivity.class); + localIntent.putExtra("face_vry_succ", true); + localIntent.addFlags(67108864); + this.a.a.startActivity(localIntent); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fm.java new file mode 100755 index 00000000000..6181f54a273 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fm + implements DialogInterface.OnClickListener +{ + fm(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fn.java new file mode 100755 index 00000000000..8aca89b0041 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fn.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.view.View; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.ui.base.co; + +final class fn + implements DialogInterface.OnClickListener +{ + fn(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivity.access$1500(this.a.a).b(); + FaceRecognitionCameraActivity.access$1200(this.a.a).removeMessages(13); + this.a.a.setContentView(2130903089); + this.a.a.hideTitle(); + this.a.a.findViewById(2131296572).setOnClickListener(new fo(this)); + FaceRecognitionCameraActivity.access$702(this.a.a, (FaceRecognitionCameraPreview)this.a.a.findViewById(2131296481)); + FaceRecognitionCameraActivity.access$502(this.a.a, (FaceView)this.a.a.findViewById(2131296482)); + if (FaceRecognitionCameraActivity.access$700(this.a.a) != null) { + FaceRecognitionCameraActivity.access$700(this.a.a).a(this.a.a, FaceRecognitionCameraActivity.access$300(this.a.a), FaceRecognitionCameraActivity.access$1200(this.a.a), FaceRecognitionCameraActivity.access$500(this.a.a), FaceRecognitionCameraActivity.access$1600(this.a.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fo.java new file mode 100755 index 00000000000..170a6dab663 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fo.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class fo + implements View.OnClickListener +{ + fo(fn paramfn) {} + + public final void onClick(View paramView) + { + this.a.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fp.java new file mode 100755 index 00000000000..4a4da906f9d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fp.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class fp + implements DialogInterface.OnClickListener +{ + fp(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionDefaultActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fq.java new file mode 100755 index 00000000000..a59f1b749de --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fq.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ui.base.co; + +final class fq + implements DialogInterface.OnClickListener +{ + fq(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(0L, 0L, FaceRecognitionCameraActivity.access$1400(this.a.a), FaceRecognitionCameraActivity.access$1700(this.a.a), 0, FaceRecognitionCameraActivity.access$1800(this.a.a), FaceRecognitionCameraActivity.access$1200(this.a.a)); + FaceRecognitionCameraActivity.access$1500(this.a.a).b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fr.java new file mode 100755 index 00000000000..67cc3b1a1c7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fr.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class fr + implements DialogInterface.OnClickListener +{ + fr(es parames) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fs.java new file mode 100755 index 00000000000..69f0e20e4e6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fs.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class fs + implements DialogInterface.OnClickListener +{ + fs(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity, Context paramContext) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ft.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ft.java new file mode 100755 index 00000000000..61ed361be96 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ft.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class ft + implements DialogInterface.OnCancelListener +{ + ft(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity, Context paramContext) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ft + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fu.java new file mode 100755 index 00000000000..61580674c02 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class fu + implements View.OnClickListener +{ + fu(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fv.java new file mode 100755 index 00000000000..290eee48052 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fv.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class fv + implements View.OnClickListener +{ + fv(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdGestureForgetActivity.class); + paramView.putExtra("startpwd_forget_source", 4); + this.a.startActivityForResult(paramView, 100); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fw.java new file mode 100755 index 00000000000..0402b65eac8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fw.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class fw + implements View.OnClickListener +{ + fw(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdGestureForgetActivity.class); + paramView.putExtra("startpwd_forget_source", 5); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fx.java new file mode 100755 index 00000000000..f49eba3bc36 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fx.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.ImageView; +import com.tencent.token.ui.base.FaceView; + +final class fx + implements Runnable +{ + fx(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity, float paramFloat) {} + + public final void run() + { + ((ViewGroup.MarginLayoutParams)FaceRecognitionCameraActivity.access$900(this.b).getLayoutParams()).topMargin = ((int)(FaceRecognitionCameraActivity.access$500(this.b).a() - this.a * 170.0F)); + ((ViewGroup.MarginLayoutParams)FaceRecognitionCameraActivity.access$1000(this.b).getLayoutParams()).topMargin = ((int)(FaceRecognitionCameraActivity.access$500(this.b).a() - this.a * 170.0F)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fy.java new file mode 100755 index 00000000000..a04b9c87a8c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fy.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class fy + implements View.OnClickListener +{ + fy(FaceRecognitionCameraActivity paramFaceRecognitionCameraActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/fz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/fz.java new file mode 100755 index 00000000000..d2ae7255f07 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/fz.java @@ -0,0 +1,411 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.Face; +import com.tencent.jni.Face.ImgData; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.push.a; +import com.tencent.token.cx; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceImageView; +import com.tencent.token.ui.base.co; +import com.tencent.token.utils.k; +import com.tencent.token.utils.n; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class fz + extends Handler +{ + fz(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + private void a(boolean paramBoolean) + { + FaceRecognitionCameraActivityOld.access$002(this.a, true); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362118), 2131361800, new gp(this), new gq(this, paramBoolean)); + } + + public final void handleMessage(Message paramMessage) + { + e.a("facepwd msg.what=" + paramMessage.what); + long l; + switch (paramMessage.what) + { + default: + case 2: + case 12: + case 13: + case 10: + case 11: + do + { + do + { + do + { + do + { + do + { + return; + } while (FaceRecognitionCameraActivityOld.access$000(this.a)); + if (FaceRecognitionCameraActivityOld.access$100(this.a) == 2) + { + if ((FaceRecognitionCameraActivityOld.access$200(this.a) == 0) || (FaceRecognitionCameraActivityOld.access$200(this.a) == 4)) + { + a(true); + return; + } + a(false); + return; + } + a(false); + return; + FaceRecognitionCameraActivityOld.access$300(this.a).a(1); + return; + paramMessage = (TextView)this.a.findViewById(2131296625); + } while (paramMessage == null); + paramMessage.setText(2131362486); + return; + } while (paramMessage.arg1 == 0); + e.b("msg.arg1 = " + paramMessage.arg1 + ",msg.arg2=" + paramMessage.arg2); + FaceRecognitionCameraActivityOld.access$300(this.a).a(paramMessage.arg1, paramMessage.arg2); + FaceRecognitionCameraActivityOld.access$300(this.a).invalidate(); + return; + e.a("flag=" + FaceRecognitionCameraActivityOld.access$100(this.a)); + if (FaceRecognitionCameraActivityOld.access$100(this.a) == 1) + { + e.a("OPTYPE_REGIST step=" + FaceRecognitionCameraActivityOld.access$400(this.a)); + if (FaceRecognitionCameraActivityOld.access$400(this.a) <= 0) + { + FaceRecognitionCameraActivityOld.access$502(this.a, (Face.ImgData)paramMessage.obj); + FaceRecognitionCameraActivityOld.access$300(this.a).a(0); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRecognitionCameraActivityOld.access$500(this.a).img_data); + this.a.startActivityForResult(paramMessage, 100); + return; + } + FaceRecognitionCameraActivityOld.access$602(this.a, (Face.ImgData)paramMessage.obj); + FaceRecognitionCameraActivityOld.access$300(this.a).a(0); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRecognitionCameraActivityOld.access$600(this.a).img_data); + this.a.startActivityForResult(paramMessage, 100); + return; + } + if (FaceRecognitionCameraActivityOld.access$100(this.a) != 2) { + break; + } + paramMessage = (Face.ImgData)paramMessage.obj; + } while (paramMessage == null); + FaceRecognitionCameraActivityOld.access$702(this.a, Face.EncodeData(new Face.ImgData[] { paramMessage })); + if (FaceRecognitionCameraActivityOld.access$700(this.a) == null) { + break label835; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) != 2) { + break; + } + e.c("startRecord"); + } while (FaceRecognitionCameraActivityOld.access$300(this.a).b() == 2); + FaceRecognitionCameraActivityOld.access$802(this.a, true); + if (FaceRecognitionCameraActivityOld.access$900(this.a)) + { + n.a().a(FaceRecognitionCameraActivityOld.access$1000(this.a), FaceRecognitionCameraActivityOld.access$1000(this.a).a, FaceRecognitionCameraActivityOld.access$1100(this.a)); + return; + } + af.a().a(0L, FaceRecognitionCameraActivityOld.access$700(this.a), FaceRecognitionCameraActivityOld.access$1100(this.a), null); + FaceRecognitionCameraActivityOld.access$300(this.a).a(2); + return; + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 3) { + l = FaceRecognitionCameraActivityOld.access$1200(this.a); + } + break; + } + for (;;) + { + int i = FaceRecognitionCameraActivityOld.access$1300(this.a); + FaceRecognitionCameraActivityOld.access$802(this.a, true); + af.a().a(0L, l, FaceRecognitionCameraActivityOld.access$100(this.a), FaceRecognitionCameraActivityOld.access$700(this.a), i, FaceRecognitionCameraActivityOld.access$1400(this.a), FaceRecognitionCameraActivityOld.access$1100(this.a)); + FaceRecognitionCameraActivityOld.access$1502(this.a, FaceRecognitionCameraActivityOld.access$100(this.a)); + if ((FaceRecognitionCameraActivityOld.access$200(this.a) != 0) && (FaceRecognitionCameraActivityOld.access$200(this.a) != 1)) { + break; + } + FaceRecognitionCameraActivityOld.access$300(this.a).a(2); + return; + if (FaceRecognitionCameraActivityOld.access$200(this.a) > 0) + { + if (ax.a().e() != null) { + l = ax.a().e().mRealUin; + } + } + else + { + l = t.e(); + continue; + label835: + e.a("face OPTYPE_VALIDATION serverData == null,validationType=" + FaceRecognitionCameraActivityOld.access$200(this.a)); + return; + if (FaceRecognitionCameraActivityOld.access$100(this.a) == 3) + { + e.a("OPTYPE_REALNAME_REG step=" + FaceRecognitionCameraActivityOld.access$400(this.a)); + if (FaceRecognitionCameraActivityOld.access$400(this.a) <= 0) + { + FaceRecognitionCameraActivityOld.access$502(this.a, (Face.ImgData)paramMessage.obj); + FaceRecognitionCameraActivityOld.access$300(this.a).a(0); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRecognitionCameraActivityOld.access$500(this.a).img_data); + this.a.startActivityForResult(paramMessage, 100); + return; + } + FaceRecognitionCameraActivityOld.access$602(this.a, (Face.ImgData)paramMessage.obj); + FaceRecognitionCameraActivityOld.access$300(this.a).a(0); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRecognitionCameraActivityOld.access$600(this.a).img_data); + this.a.startActivityForResult(paramMessage, 100); + return; + } + if (FaceRecognitionCameraActivityOld.access$100(this.a) != 4) { + break; + } + FaceRecognitionCameraActivityOld.access$502(this.a, (Face.ImgData)paramMessage.obj); + FaceRecognitionCameraActivityOld.access$300(this.a).a(0); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRecognitionCameraActivityOld.access$500(this.a).img_data); + paramMessage.putExtra("flag", 4); + this.a.startActivityForResult(paramMessage, 100); + return; + e.c("RECORD_ERROR"); + af.a().a(0L, FaceRecognitionCameraActivityOld.access$700(this.a), FaceRecognitionCameraActivityOld.access$1100(this.a), null); + FaceRecognitionCameraActivityOld.access$300(this.a).a(2); + return; + e.c("RECORD_END"); + n.a().c(); + af.a().a(0L, FaceRecognitionCameraActivityOld.access$700(this.a), FaceRecognitionCameraActivityOld.access$1100(this.a), n.a().b()); + FaceRecognitionCameraActivityOld.access$300(this.a).a(2); + return; + if (paramMessage.arg1 == 0) + { + if (FaceRecognitionCameraActivityOld.access$1000(this.a) != null) { + FaceRecognitionCameraActivityOld.access$1000(this.a).d(); + } + ax.a().f(FaceRecognitionCameraActivityOld.access$1200(this.a)); + af.a().b(FaceRecognitionCameraActivityOld.access$1100(this.a)); + this.a.dismissDialog(); + FaceRecognitionCameraActivityOld.access$1602(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + ((Button)localObject).setOnClickListener(new ga(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(FaceRecognitionCameraActivityOld.access$1200(this.a) + "", s.f(FaceRecognitionCameraActivityOld.access$1200(this.a)) + " ")); + a.a().a(8); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, new gm(this)); + return; + e.c("K_MSG_POST_FACERECOGNITION = " + paramMessage.arg1); + if (paramMessage.arg1 == 0) + { + i = paramMessage.arg2; + if (i == 1) + { + FaceRecognitionCameraActivityOld.access$1700(this.a).a(); + if (ax.a().e() != null) + { + ax.a().e().mIsRegisterFacePwd = true; + ax.a().c(ax.a().e()); + e.c(" K_MSG_POST_FACERECOGNITION getCurrentUser = " + ax.a().e().mIsRegisterFacePwd); + } + FaceRecognitionCameraActivityOld.access$1800(this.a).postDelayed(new gt(this), 1000L); + return; + } + if (i == 2) + { + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 1) + { + paramMessage = new Intent(this.a, FaceRecognitionDefaultActivity.class); + paramMessage.putExtra("toastflag", 2); + paramMessage.addFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 4) + { + FaceRecognitionCameraActivityOld.access$300(this.a).a(2); + FaceRecognitionCameraActivityOld.access$300(this.a).postDelayed(new gu(this), 0L); + return; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 2) { + break; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 3) + { + af.a().g(FaceRecognitionCameraActivityOld.access$1200(this.a), 2, FaceRecognitionCameraActivityOld.access$1100(this.a)); + return; + } + RqdApplication.f(); + s.a(FaceRecognitionCameraActivityOld.LANUCH_RETRY_COUNT, 0); + FaceRecognitionCameraActivityOld.access$300(this.a).a(3); + this.a.startAnimation(); + return; + } + if (i != 4) { + break; + } + paramMessage = new Intent(this.a, FaceRecognitionDefaultActivity.class); + paramMessage.putExtra("toastflag", 4); + paramMessage.addFlags(67108864); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + } + Object localObject = (d)paramMessage.obj; + i = FaceRecognitionCameraActivityOld.access$1500(this.a); + try + { + int j = ((Integer)((d)localObject).d).intValue(); + i = j; + } + catch (Exception paramMessage) + { + label1945: + break label1945; + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361804, 2131361914, new gy(this), new gz(this)); + return; + } + d.a(this.a.getResources(), (d)localObject); + e.c("faceRe ret.mErrCode=" + ((d)localObject).a); + if (i == 1) { + if (((d)localObject).a == 228) + { + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361804, 2131362500, new gv(this), new gw(this)); + return; + } + } + if (i == 4) + { + switch (((d)localObject).a) + { + case 222: + default: + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361804, 2131361914, new gd(this), new ge(this)); + return; + } + this.a.showUserDialog(2131362547, this.a.getResources().getString(2131362548), 2131361804, 2131361868, new ha(this), new gb(this)); + return; + } + if (i != 2) { + break; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 1) + { + if (((d)localObject).a == 221) {} + for (i = 2131362489;; i = 2131362104) + { + this.a.showUserDialog(i, ((d)localObject).c, 2131361802, 2131362496, new gf(this), new gg(this)); + return; + } + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 2) { + break; + } + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 4) + { + switch (((d)localObject).a) + { + default: + this.a.showUserDialog(2131361808, ((d)localObject).c, 2131362496, new gr(this), new gs(this)); + return; + } + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, new gr(this), new gs(this)); + return; + } + switch (((d)localObject).a) + { + default: + if (RqdApplication.d()) { + break; + } + } + for (i = 2131362494;; i = 2131362495) + { + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361914, i, new gn(this), new go(this)); + return; + FaceRecognitionCameraActivityOld.access$2008(this.a); + if (FaceRecognitionCameraActivityOld.access$200(this.a) == 3) + { + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, new gh(this)); + return; + } + if (!RqdApplication.d()) { + i = 2131362494; + } + for (paramMessage = this.a.getResources().getString(2131362507); FaceRecognitionCameraActivityOld.access$2000(this.a) < 5; paramMessage = this.a.getResources().getString(2131362506)) + { + s.a(FaceRecognitionCameraActivityOld.LANUCH_RETRY_COUNT, FaceRecognitionCameraActivityOld.access$2000(this.a)); + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, i, new gi(this), new gj(this)); + return; + i = 2131362495; + } + s.a(FaceRecognitionCameraActivityOld.LANUCH_RETRY_COUNT, 0); + this.a.showUserDialog(2131362491, paramMessage, i, new gk(this)); + return; + t.b(0L); + if (!RqdApplication.d()) { + i = 2131362494; + } + for (paramMessage = this.a.getResources().getString(2131362505);; paramMessage = this.a.getResources().getString(2131362504)) + { + this.a.showUserDialog(2131362104, ((d)localObject).c + "," + paramMessage, i, new gl(this)); + return; + i = 2131362495; + } + } + if (paramMessage.arg1 == 0) + { + paramMessage = (cx)paramMessage.obj; + localObject = new Intent(this.a, FacePKActivity.class); + ((Intent)localObject).putExtra("help_url", paramMessage.a); + ((Intent)localObject).putExtra("share_desc", paramMessage.c); + ((Intent)localObject).putExtra("share_title", paramMessage.b); + this.a.startActivity((Intent)localObject); + } + for (;;) + { + this.a.finish(); + return; + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showToast(paramMessage.c); + } + } + l = 0L; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.fz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/g.java b/com.tencent.token/classes.jar/com/tencent/token/ui/g.java new file mode 100755 index 00000000000..2b6b4f2ab18 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/g.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class g + implements View.OnClickListener +{ + g(AboutActivity paramAboutActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131361891)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ga.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ga.java new file mode 100755 index 00000000000..a479a600b33 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ga.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ga + implements View.OnClickListener +{ + ga(fz paramfz) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + this.a.a.startActivity(paramView); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ga + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gb.java new file mode 100755 index 00000000000..1794ffeadbf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gb.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.view.View; +import com.tencent.token.ui.base.FaceImageView; +import com.tencent.token.ui.base.co; + +final class gb + implements DialogInterface.OnClickListener +{ + gb(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1700(this.a.a).b(); + FaceRecognitionCameraActivityOld.access$1100(this.a.a).removeMessages(13); + this.a.a.setContentView(2130903089); + this.a.a.hideTitle(); + this.a.a.findViewById(2131296572).setOnClickListener(new gc(this)); + FaceRecognitionCameraActivityOld.access$1002(this.a.a, (FaceRecognitionCameraPreviewOld)this.a.a.findViewById(2131296481)); + FaceRecognitionCameraActivityOld.access$302(this.a.a, (FaceImageView)this.a.a.findViewById(2131296482)); + if (FaceRecognitionCameraActivityOld.access$1000(this.a.a) != null) { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).a(this.a.a, FaceRecognitionCameraActivityOld.access$100(this.a.a), FaceRecognitionCameraActivityOld.access$1100(this.a.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gc.java new file mode 100755 index 00000000000..7266454f6b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class gc + implements View.OnClickListener +{ + gc(gb paramgb) {} + + public final void onClick(View paramView) + { + this.a.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gd.java new file mode 100755 index 00000000000..9b5e55af67f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gd.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class gd + implements DialogInterface.OnClickListener +{ + gd(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionDefaultActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ge.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ge.java new file mode 100755 index 00000000000..2ef393497a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ge.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ui.base.co; + +final class ge + implements DialogInterface.OnClickListener +{ + ge(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(0L, 0L, FaceRecognitionCameraActivityOld.access$100(this.a.a), FaceRecognitionCameraActivityOld.access$700(this.a.a), 0, FaceRecognitionCameraActivityOld.access$1400(this.a.a), FaceRecognitionCameraActivityOld.access$1100(this.a.a)); + FaceRecognitionCameraActivityOld.access$1700(this.a.a).b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ge + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gf.java new file mode 100755 index 00000000000..e4aaf09bbb0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gf + implements DialogInterface.OnClickListener +{ + gf(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gg.java new file mode 100755 index 00000000000..4b412707760 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ui.base.FaceImageView; + +final class gg + implements DialogInterface.OnClickListener +{ + gg(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).b(FaceRecognitionCameraActivityOld.access$400(this.a.a)); + FaceRecognitionCameraActivityOld.access$300(this.a.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gh.java new file mode 100755 index 00000000000..b66300329a7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gh.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ui.base.FaceImageView; + +final class gh + implements DialogInterface.OnClickListener +{ + gh(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).b(FaceRecognitionCameraActivityOld.access$400(this.a.a)); + FaceRecognitionCameraActivityOld.access$300(this.a.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gi.java new file mode 100755 index 00000000000..4f00607f564 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gi.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ui.base.FaceImageView; + +final class gi + implements DialogInterface.OnClickListener +{ + gi(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).b(FaceRecognitionCameraActivityOld.access$400(this.a.a)); + FaceRecognitionCameraActivityOld.access$300(this.a.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gj.java new file mode 100755 index 00000000000..a2a70084a01 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gj + implements DialogInterface.OnClickListener +{ + gj(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gk.java new file mode 100755 index 00000000000..7a3275584c4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gk + implements DialogInterface.OnClickListener +{ + gk(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gl.java new file mode 100755 index 00000000000..34ad0f1bb79 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gl.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gl + implements DialogInterface.OnClickListener +{ + gl(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gm.java new file mode 100755 index 00000000000..6885d36a676 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gm + implements DialogInterface.OnClickListener +{ + gm(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gn.java new file mode 100755 index 00000000000..099a812a172 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gn.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ui.base.FaceImageView; + +final class gn + implements DialogInterface.OnClickListener +{ + gn(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).b(FaceRecognitionCameraActivityOld.access$400(this.a.a)); + FaceRecognitionCameraActivityOld.access$300(this.a.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/go.java b/com.tencent.token/classes.jar/com/tencent/token/ui/go.java new file mode 100755 index 00000000000..fdc047aaec0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/go.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class go + implements DialogInterface.OnClickListener +{ + go(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$2100(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.go + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gp.java new file mode 100755 index 00000000000..7f26263ff11 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gp.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gp + implements DialogInterface.OnClickListener +{ + gp(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gq.java new file mode 100755 index 00000000000..fd510fab237 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gq.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class gq + implements DialogInterface.OnCancelListener +{ + gq(fz paramfz, boolean paramBoolean) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivityOld.access$1000(this.b.a).d(); + FaceRecognitionCameraActivityOld.access$1000(this.b.a).a(); + FaceRecognitionCameraActivityOld.access$002(this.b.a, false); + if (!this.a) { + this.b.a.finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gr.java new file mode 100755 index 00000000000..32b7cceb37e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gr.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class gr + implements DialogInterface.OnClickListener +{ + gr(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gs.java new file mode 100755 index 00000000000..48ae17380b4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gs.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.ui.base.FaceImageView; + +final class gs + implements DialogInterface.OnCancelListener +{ + gs(fz paramfz) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).b(FaceRecognitionCameraActivityOld.access$400(this.a.a)); + FaceRecognitionCameraActivityOld.access$300(this.a.a).a(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gt.java new file mode 100755 index 00000000000..7d12404de43 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gt.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; + +final class gt + implements Runnable +{ + gt(fz paramfz) {} + + public final void run() + { + Intent localIntent = new Intent(this.a.a, FaceRecognitionDefaultActivity.class); + localIntent.putExtra("toastflag", 1); + localIntent.addFlags(67108864); + this.a.a.startActivity(localIntent); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gu.java new file mode 100755 index 00000000000..0b165f9cf7d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gu.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; + +final class gu + implements Runnable +{ + gu(fz paramfz) {} + + public final void run() + { + Intent localIntent = new Intent(this.a.a, ModifyQQPwdActivity.class); + localIntent.putExtra("face_vry_succ", true); + localIntent.addFlags(67108864); + this.a.a.startActivity(localIntent); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gv.java new file mode 100755 index 00000000000..7254e7bd445 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gv.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class gv + implements DialogInterface.OnClickListener +{ + gv(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionCreateActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gw.java new file mode 100755 index 00000000000..1d53e5608bb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gw.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.view.View; +import com.tencent.token.ui.base.co; + +final class gw + implements DialogInterface.OnClickListener +{ + gw(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1700(this.a.a).b(); + FaceRecognitionCameraActivityOld.access$1100(this.a.a).removeMessages(13); + this.a.a.setContentView(2130903089); + this.a.a.hideTitle(); + this.a.a.findViewById(2131296572).setOnClickListener(new gx(this)); + FaceRecognitionCameraActivityOld.access$1900(this.a.a); + if (FaceRecognitionCameraActivityOld.access$1000(this.a.a) != null) { + FaceRecognitionCameraActivityOld.access$1000(this.a.a).a(this.a.a, FaceRecognitionCameraActivityOld.access$100(this.a.a), FaceRecognitionCameraActivityOld.access$1100(this.a.a)); + } + FaceRecognitionCameraActivityOld.access$402(this.a.a, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gx.java new file mode 100755 index 00000000000..94d5c5e4f92 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gx.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class gx + implements View.OnClickListener +{ + gx(gw paramgw) {} + + public final void onClick(View paramView) + { + this.a.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gy.java new file mode 100755 index 00000000000..51e71b8bc92 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gy.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class gy + implements DialogInterface.OnClickListener +{ + gy(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionCreateActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/gz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/gz.java new file mode 100755 index 00000000000..e5615c9cee6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/gz.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ui.base.co; + +final class gz + implements DialogInterface.OnClickListener +{ + gz(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(0L, 0L, FaceRecognitionCameraActivityOld.access$100(this.a.a), FaceRecognitionCameraActivityOld.access$700(this.a.a), 0, FaceRecognitionCameraActivityOld.access$1400(this.a.a), FaceRecognitionCameraActivityOld.access$1100(this.a.a)); + FaceRecognitionCameraActivityOld.access$1700(this.a.a).b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.gz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/h.java b/com.tencent.token/classes.jar/com/tencent/token/ui/h.java new file mode 100755 index 00000000000..5611cd6d9eb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/h.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class h + implements View.OnClickListener +{ + h(AboutActivity paramAboutActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131361970)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ha.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ha.java new file mode 100755 index 00000000000..13defca0ab7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ha.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ha + implements DialogInterface.OnClickListener +{ + ha(fz paramfz) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ha + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hb.java new file mode 100755 index 00000000000..05d090ab61a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hb.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class hb + implements Runnable +{ + hb(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void run() + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hc.java new file mode 100755 index 00000000000..bdca102130d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hc.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class hc + implements Animation.AnimationListener +{ + hc(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + FaceRecognitionCameraActivityOld.access$2900(this.a).setVisibility(8); + FaceRecognitionCameraActivityOld.access$2500(this.a).setVisibility(8); + FaceRecognitionCameraActivityOld.access$1000(this.a).b(FaceRecognitionCameraActivityOld.access$400(this.a)); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) + { + FaceRecognitionCameraActivityOld.access$1000(this.a).d(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hd.java new file mode 100755 index 00000000000..f1fb8eff290 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hd.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class hd + extends Handler +{ + hd(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void handleMessage(Message paramMessage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/he.java b/com.tencent.token/classes.jar/com/tencent/token/ui/he.java new file mode 100755 index 00000000000..4e913793f0d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/he.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class he + implements View.OnClickListener +{ + he(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.he + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hf.java new file mode 100755 index 00000000000..f5941a2dbbe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hf.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class hf + implements View.OnClickListener +{ + hf(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, StartPwdGestureForgetActivity.class); + paramView.putExtra("startpwd_forget_source", 4); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hg.java new file mode 100755 index 00000000000..edea697f838 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hg.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class hg + implements DialogInterface.OnClickListener +{ + hg(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRecognitionCameraActivityOld.access$1000(this.a).b(FaceRecognitionCameraActivityOld.access$400(this.a)); + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hh.java new file mode 100755 index 00000000000..c24492b75a6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hh.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.i; + +final class hh + implements Runnable +{ + hh(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void run() + { + if (!i.a()) + { + FaceRecognitionCameraActivityOld.access$902(this.a, false); + return; + } + if (i.b() < 2097152L) + { + FaceRecognitionCameraActivityOld.access$902(this.a, false); + return; + } + FaceRecognitionCameraActivityOld.access$902(this.a, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hi.java new file mode 100755 index 00000000000..41d8085a307 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hi.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class hi + implements Runnable +{ + hi(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void run() + { + this.a.startOpenAnimation(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hj.java new file mode 100755 index 00000000000..4473939a681 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hj.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.ImageView; + +final class hj + implements Runnable +{ + hj(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void run() + { + FaceRecognitionCameraActivityOld.access$2202(this.a, FaceRecognitionCameraActivityOld.access$2300(this.a).getHeight()); + FaceRecognitionCameraActivityOld.access$2402(this.a, FaceRecognitionCameraActivityOld.access$2500(this.a).getHeight() - FaceRecognitionCameraActivityOld.access$2600(this.a).getBottom() - (FaceRecognitionCameraActivityOld.access$2500(this.a).getHeight() - FaceRecognitionCameraActivityOld.access$2700(this.a).getBottom())); + FaceRecognitionCameraActivityOld.access$2802(this.a, FaceRecognitionCameraActivityOld.access$2900(this.a).getHeight()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hk.java new file mode 100755 index 00000000000..85c4dbdf964 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hk.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class hk + implements View.OnClickListener +{ + hk(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onClick(View paramView) + { + FaceRecognitionCameraActivityOld.access$2100(this.a); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hl.java new file mode 100755 index 00000000000..ca1016ee013 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hl.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; +import com.tencent.token.utils.n; + +final class hl + implements View.OnClickListener +{ + hl(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + FaceRecognitionCameraActivityOld.access$1100(this.a).removeMessages(90); + if (n.a().c()) + { + FaceRecognitionCameraActivityOld.access$1100(this.a).postDelayed(new hm(this), 300L); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hm.java new file mode 100755 index 00000000000..c10f2994ce4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hm.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class hm + implements Runnable +{ + hm(hl paramhl) {} + + public final void run() + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hn.java new file mode 100755 index 00000000000..ee9d8b7f320 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hn.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.AlphaAnimation; + +final class hn + implements Runnable +{ + private View b; + + public hn(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld, View paramView) + { + this.b = paramView; + FaceRecognitionCameraActivityOld.access$3502(paramFaceRecognitionCameraActivityOld, new AlphaAnimation(0.0F, 1.0F)); + FaceRecognitionCameraActivityOld.access$3500(paramFaceRecognitionCameraActivityOld).setDuration(500L); + FaceRecognitionCameraActivityOld.access$3500(paramFaceRecognitionCameraActivityOld).setAnimationListener(new ho(this, paramFaceRecognitionCameraActivityOld)); + } + + public final void run() + { + this.b.startAnimation(FaceRecognitionCameraActivityOld.access$3500(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ho.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ho.java new file mode 100755 index 00000000000..7dcc6f40db3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ho.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class ho + implements Animation.AnimationListener +{ + ho(hn paramhn, FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + hn.a(this.b).setVisibility(0); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) + { + hn.a(this.b).setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ho + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hp.java new file mode 100755 index 00000000000..7c6e6d2138c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hp.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.AlphaAnimation; + +final class hp + implements Runnable +{ + private View b; + + public hp(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld, View paramView) + { + this.b = paramView; + FaceRecognitionCameraActivityOld.access$3502(paramFaceRecognitionCameraActivityOld, new AlphaAnimation(1.0F, 0.0F)); + FaceRecognitionCameraActivityOld.access$3500(paramFaceRecognitionCameraActivityOld).setDuration(500L); + FaceRecognitionCameraActivityOld.access$3500(paramFaceRecognitionCameraActivityOld).setAnimationListener(new hq(this, paramFaceRecognitionCameraActivityOld)); + } + + public final void run() + { + this.b.startAnimation(FaceRecognitionCameraActivityOld.access$3500(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hq.java new file mode 100755 index 00000000000..f8875256d24 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hq.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class hq + implements Animation.AnimationListener +{ + hq(hp paramhp, FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + hp.a(this.b).setVisibility(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hr.java new file mode 100755 index 00000000000..46ae4453f91 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hr.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; + +final class hr + implements Runnable +{ + private View b; + private View c; + private View d; + + public hr(FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld, View paramView1, View paramView2) + { + this.b = paramView1; + this.c = null; + this.d = paramView2; + FaceRecognitionCameraActivityOld.access$3002(paramFaceRecognitionCameraActivityOld, new RotateAnimation(0.0F, 360.0F, 1, 0.5F, 1, 0.5F)); + FaceRecognitionCameraActivityOld.access$3000(paramFaceRecognitionCameraActivityOld).setDuration(250L); + FaceRecognitionCameraActivityOld.access$3102(paramFaceRecognitionCameraActivityOld, new TranslateAnimation(0.0F, 0.0F, 0.0F, -FaceRecognitionCameraActivityOld.access$2200(paramFaceRecognitionCameraActivityOld))); + FaceRecognitionCameraActivityOld.access$3100(paramFaceRecognitionCameraActivityOld).setDuration(500L); + FaceRecognitionCameraActivityOld.access$3000(paramFaceRecognitionCameraActivityOld).setAnimationListener(new hs(this, paramFaceRecognitionCameraActivityOld)); + FaceRecognitionCameraActivityOld.access$3100(paramFaceRecognitionCameraActivityOld).setAnimationListener(new ht(this, paramFaceRecognitionCameraActivityOld)); + } + + public final void run() + { + this.d.startAnimation(FaceRecognitionCameraActivityOld.access$3000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hs.java new file mode 100755 index 00000000000..0059a69d1a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hs.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import com.tencent.token.ai; +import com.tencent.token.global.RqdApplication; + +final class hs + implements Animation.AnimationListener +{ + hs(hr paramhr, FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + hr.a(this.b).setVisibility(4); + hr.b(this.b).startAnimation(FaceRecognitionCameraActivityOld.access$3100(this.b.a)); + ai.a(RqdApplication.i()).a(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ht.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ht.java new file mode 100755 index 00000000000..9f375e0b1ce --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ht.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class ht + implements Animation.AnimationListener +{ + ht(hr paramhr, FaceRecognitionCameraActivityOld paramFaceRecognitionCameraActivityOld) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + FaceRecognitionCameraActivityOld.access$2300(this.b.a).setVisibility(4); + FaceRecognitionCameraActivityOld.access$3400(this.b.a).setVisibility(4); + this.b.a.finish(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ht + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hu.java new file mode 100755 index 00000000000..12493e8d818 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hu.java @@ -0,0 +1,50 @@ +package com.tencent.token.ui; + +import android.hardware.Camera; +import android.hardware.Camera.Parameters; +import android.hardware.Camera.PreviewCallback; +import android.hardware.Camera.Size; +import android.os.Message; +import com.tencent.token.global.e; +import java.util.concurrent.ExecutorService; + +final class hu + implements Camera.PreviewCallback +{ + Message a = null; + long b = 0L; + + hu(FaceRecognitionCameraPreviewOld paramFaceRecognitionCameraPreviewOld) {} + + public final void onPreviewFrame(byte[] paramArrayOfByte, Camera paramCamera) + { + if ((FaceRecognitionCameraPreviewOld.a(this.c)) || (FaceRecognitionCameraPreviewOld.b(this.c))) {} + for (;;) + { + return; + try + { + Object localObject = this.c; + ((FaceRecognitionCameraPreviewOld)localObject).e += 1L; + if (!FaceRecognitionCameraPreviewOld.c(this.c)) + { + paramCamera = paramCamera.getParameters(); + localObject = paramCamera.getPreviewSize(); + FaceRecognitionCameraPreviewOld.k(this.c).execute(new hv(this, paramCamera, (Camera.Size)localObject, paramArrayOfByte)); + return; + } + } + catch (Exception paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + e.c("preview handler is null"); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hv.java new file mode 100755 index 00000000000..e233500f599 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hv.java @@ -0,0 +1,221 @@ +package com.tencent.token.ui; + +import android.hardware.Camera.Parameters; +import android.hardware.Camera.Size; +import android.os.Build; +import android.os.Handler; +import android.os.Message; +import com.tencent.jni.Face; +import com.tencent.jni.Face.ALG_MODE; +import com.tencent.jni.Face.ImgData; +import com.tencent.token.cv; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.concurrent.ExecutorService; + +final class hv + implements Runnable +{ + hv(hu paramhu, Camera.Parameters paramParameters, Camera.Size paramSize, byte[] paramArrayOfByte) {} + + public final void run() + { + boolean bool = false; + if (FaceRecognitionCameraPreviewOld.d(this.d.c) == 0L) + { + FaceRecognitionCameraPreviewOld.a(this.d.c, System.currentTimeMillis()); + return; + } + synchronized (this.d.c.j) + { + if (FaceRecognitionCameraPreviewOld.a(this.d.c)) { + return; + } + } + long l1; + Object localObject4; + String str1; + String str2; + if (this.d.c.b == null) + { + this.d.c.b = new Face(); + FaceRecognitionCameraPreviewOld.a(this.d.c, true); + e.c("face_algorithm" + t.l()); + e.c("IsSupportNeon" + Face.IsSupportNeon()); + l1 = System.currentTimeMillis(); + if ((t.l() == 0) || (!Face.IsSupportNeon().booleanValue())) { + break label1365; + } + cv.o = bool; + localObject4 = this.d.c.b; + str1 = s.c(RqdApplication.i(), "haarcascade_frontalface_alt.xml"); + str2 = s.c(RqdApplication.i(), "haarcascade_frontalface_alt.xml"); + if (!cv.o) { + break label305; + } + } + label305: + for (Object localObject2 = Face.ALG_MODE.V1;; localObject2 = Face.ALG_MODE.V2) + { + ((Face)localObject4).Initial(str1, str2, (Face.ALG_MODE)localObject2); + cv.f = (int)(System.currentTimeMillis() - l1); + e.c("initTime" + cv.f); + FaceRecognitionCameraPreviewOld.a(this.d.c, false); + if (!FaceRecognitionCameraPreviewOld.b(this.d.c)) { + break; + } + return; + } + for (;;) + { + try + { + l1 = System.currentTimeMillis(); + long l2 = FaceRecognitionCameraPreviewOld.d(this.d.c); + long l3 = FaceRecognitionCameraPreviewOld.e(this.d.c); + if (l1 - l2 < l3) { + return; + } + if (this.d.a == null) + { + this.d.b = System.currentTimeMillis(); + e.c("scanCostTime begin=" + this.d.b); + localObject2 = this.d.c.d; + if (localObject2 == null) { + return; + } + this.d.a = this.d.c.d.obtainMessage(0); + this.d.a.what = 10; + this.d.a.sendToTarget(); + } + bool = FaceRecognitionCameraPreviewOld.a(this.d.c); + if (bool) { + return; + } + localObject4 = this.a.get("rotation"); + localObject2 = Build.MODEL; + if ((((String)localObject2).startsWith("8150")) || (FaceRecognitionCameraPreviewOld.f(this.d.c) == 0)) { + break label1370; + } + if (((String)localObject2).equals("Nexus 6")) + { + break label1370; + int i = t.p(); + if (i == 0) { + break label1362; + } + localObject2 = i + ""; + cv.g += 1; + bool = FaceRecognitionCameraPreviewOld.b(this.d.c); + if (!bool) {} + } + else + { + if (((String)localObject2).contains("MI 5")) { + break label1378; + } + localObject2 = localObject4; + if (this.b.width <= this.b.height) { + continue; + } + localObject2 = localObject4; + if (Integer.valueOf((String)localObject4).intValue() >= 90) { + continue; + } + break label1378; + } + if (FaceRecognitionCameraPreviewOld.g(this.d.c) == null) + { + FaceRecognitionCameraPreviewOld.a(this.d.c, new int[4]); + FaceRecognitionCameraPreviewOld.g(this.d.c)[0] = (FaceRecognitionCameraPreviewOld.h(this.d.c) * 60 / 480); + FaceRecognitionCameraPreviewOld.g(this.d.c)[1] = (FaceRecognitionCameraPreviewOld.i(this.d.c) * 140 / 720); + FaceRecognitionCameraPreviewOld.g(this.d.c)[2] = (FaceRecognitionCameraPreviewOld.h(this.d.c) * 360 / 480); + FaceRecognitionCameraPreviewOld.g(this.d.c)[3] = (FaceRecognitionCameraPreviewOld.i(this.d.c) * 460 / 720); + } + bool = FaceRecognitionCameraPreviewOld.i; + if (bool) { + return; + } + FaceRecognitionCameraPreviewOld.b(this.d.c, true); + bool = FaceRecognitionCameraPreviewOld.a(this.d.c); + if (bool) { + return; + } + FaceRecognitionCameraPreviewOld.c(this.d.c, false); + if (FaceRecognitionCameraPreviewOld.j(this.d.c) != 3) { + continue; + } + e.a("flag is realname reg"); + localObject2 = this.d.c.b.FaceDetect_register(this.c, this.b.width, this.b.height, Integer.valueOf((String)localObject2).intValue(), FaceRecognitionCameraPreviewOld.g(this.d.c), this.d.c.h); + } + catch (Exception localException) + { + localObject3 = null; + continue; + FaceRecognitionCameraPreviewOld.b(this.d.c, false); + if ((this.d.c.d == null) || (localObject3 == null)) { + continue; + } + if (((Face.ImgData)localObject3).isdark_flag != 1) { + break label1105; + } + e.a("too dark!"); + localObject3 = this.d.c.d.obtainMessage(0); + ((Message)localObject3).what = 12; + ((Message)localObject3).sendToTarget(); + return; + } + FaceRecognitionCameraPreviewOld.c(this.d.c, true); + if (FaceRecognitionCameraPreviewOld.a(this.d.c)) + { + return; + localObject2 = this.d.c.b.FaceDetect_validate(this.c, this.b.width, this.b.height, Integer.valueOf((String)localObject2).intValue(), FaceRecognitionCameraPreviewOld.g(this.d.c), this.d.c.h); + } + else + { + Object localObject3; + label1105: + if (((Face.ImgData)localObject3).img_data != null) { + e.a("temp length=" + ((Face.ImgData)localObject3).img_data.length); + } + if ((localObject3 != null) && (((Face.ImgData)localObject3).img_data != null) && (((Face.ImgData)localObject3).img_data.length > 0)) + { + e.a("temp img_data=" + ((Face.ImgData)localObject3).img_data.length); + if (this.d.c.d != null) + { + FaceRecognitionCameraPreviewOld.k(this.d.c).shutdown(); + this.d.a = null; + e.c("scanCostTime1 = " + cv.e); + cv.e = (int)(cv.e + (System.currentTimeMillis() - this.d.b)); + e.c("scanCostTime2 = " + cv.e); + FaceRecognitionCameraPreviewOld.l(this.d.c); + localObject4 = this.d.c.d.obtainMessage(0); + ((Message)localObject4).what = 11; + ((Message)localObject4).obj = localObject3; + ((Message)localObject4).sendToTarget(); + FaceRecognitionCameraPreviewOld.k(this.d.c).shutdownNow(); + continue; + label1362: + continue; + label1365: + bool = true; + break; + label1370: + localObject3 = "270"; + continue; + label1378: + localObject3 = "90"; + } + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hw.java new file mode 100755 index 00000000000..d9d0be00002 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hw.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import com.tencent.jni.Face; + +final class hw + implements Runnable +{ + hw(FaceRecognitionCameraPreviewOld paramFaceRecognitionCameraPreviewOld) {} + + public final void run() + { + this.a.b.Destroy(); + this.a.b = null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hx.java new file mode 100755 index 00000000000..9e4857e51b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hx.java @@ -0,0 +1,1029 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.hardware.Camera; +import android.hardware.Camera.CameraInfo; +import android.hardware.Camera.Parameters; +import android.hardware.Camera.PreviewCallback; +import android.hardware.Camera.Size; +import android.os.Build; +import android.os.Handler; +import android.os.Message; +import android.util.DisplayMetrics; +import android.view.SurfaceHolder; +import android.widget.TextView; +import com.tencent.jni.DirectionInfo; +import com.tencent.jni.FaceData; +import com.tencent.jni.FaceDetector; +import com.tencent.jni.FaceDetector.LiveAction; +import com.tencent.jni.FaceDetector.LiveDirection; +import com.tencent.jni.LiveRectInfo; +import com.tencent.service.DetectType; +import com.tencent.service.FaceServiceDelegate; +import com.tencent.service.FaceServiceDelegate.FaceDetectErrorCode; +import com.tencent.service.h; +import com.tencent.token.core.bean.FaceRecognitionParamResult; +import com.tencent.token.cv; +import com.tencent.token.ei; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.p; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.t; +import java.util.List; + +public final class hx + implements Camera.PreviewCallback, FaceServiceDelegate +{ + private DetectType A; + private int B; + private int C; + private int D; + private FaceView E; + private TextView F; + private String G; + private String H; + private boolean I; + private boolean J; + private String K; + private int L; + public Camera a; + public int b; + public int c; + Object d = new Object(); + Object e = new Object(); + LiveRectInfo f = new LiveRectInfo(); + DirectionInfo g = new DirectionInfo(); + FaceDetector.LiveAction h = FaceDetector.LiveAction.ACT_BLINK; + FaceDetector.LiveDirection i = FaceDetector.LiveDirection.LD_UP; + boolean j = false; + boolean k = false; + boolean l = false; + private long m = 0L; + private long n = 0L; + private long o = 2000L; + private boolean p = false; + private boolean q = true; + private boolean r = false; + private long s; + private Handler t; + private int[] u = new int[4]; + private float[] v; + private int w; + private com.tencent.service.e x; + private Context y = RqdApplication.i(); + private SurfaceHolder z; + + public hx(SurfaceHolder paramSurfaceHolder, Handler paramHandler, int paramInt1, int paramInt2, FaceView paramFaceView, TextView paramTextView) + { + this.E = paramFaceView; + this.F = paramTextView; + this.z = paramSurfaceHolder; + this.t = paramHandler; + this.w = paramInt1; + this.A = DetectType.DT_VALIDATE; + if ((paramInt2 == 1) || (paramInt2 == 2)) { + this.A = DetectType.DT_REGISTER; + } + paramSurfaceHolder = t.k(); + this.v = new float[3]; + this.v[0] = paramSurfaceHolder.mRegRayThres; + this.v[1] = paramSurfaceHolder.mVerifyRayThres; + this.v[2] = paramSurfaceHolder.mDisparityThres; + this.E = paramFaceView; + this.L = 0; + } + + /* Error */ + private void a(String paramString1, String paramString2) + { + // Byte code: + // 0: aconst_null + // 1: astore 7 + // 3: aconst_null + // 4: astore 8 + // 6: aconst_null + // 7: astore 9 + // 9: iconst_0 + // 10: istore_3 + // 11: aload_0 + // 12: getfield 91 com/tencent/token/ui/hx:y Landroid/content/Context; + // 15: invokevirtual 180 android/content/Context:getResources ()Landroid/content/res/Resources; + // 18: invokevirtual 186 android/content/res/Resources:getAssets ()Landroid/content/res/AssetManager; + // 21: aload_2 + // 22: invokevirtual 192 android/content/res/AssetManager:list (Ljava/lang/String;)[Ljava/lang/String; + // 25: astore 6 + // 27: aload 6 + // 29: arraylength + // 30: ifle +178 -> 208 + // 33: new 194 java/lang/StringBuilder + // 36: dup + // 37: invokespecial 195 java/lang/StringBuilder: ()V + // 40: aload_1 + // 41: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 44: getstatic 204 java/io/File:separator Ljava/lang/String; + // 47: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 50: aload_2 + // 51: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 54: invokevirtual 208 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 57: astore 10 + // 59: new 201 java/io/File + // 62: dup + // 63: aload 10 + // 65: invokespecial 211 java/io/File: (Ljava/lang/String;)V + // 68: astore 11 + // 70: aload 11 + // 72: invokevirtual 215 java/io/File:exists ()Z + // 75: ifeq +4 -> 79 + // 78: return + // 79: aload 11 + // 81: invokevirtual 218 java/io/File:mkdirs ()Z + // 84: pop + // 85: new 194 java/lang/StringBuilder + // 88: dup + // 89: invokespecial 195 java/lang/StringBuilder: ()V + // 92: ldc 220 + // 94: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 97: aload 10 + // 99: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 102: invokevirtual 208 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 105: invokestatic 224 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 108: aload 6 + // 110: arraylength + // 111: istore 4 + // 113: iload_3 + // 114: iload 4 + // 116: if_icmpge +61 -> 177 + // 119: aload 6 + // 121: iload_3 + // 122: aaload + // 123: astore 10 + // 125: new 194 java/lang/StringBuilder + // 128: dup + // 129: invokespecial 195 java/lang/StringBuilder: ()V + // 132: aload_2 + // 133: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 136: getstatic 204 java/io/File:separator Ljava/lang/String; + // 139: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 142: aload 10 + // 144: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 147: invokevirtual 208 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 150: astore_2 + // 151: aload_0 + // 152: aload_1 + // 153: aload_2 + // 154: invokespecial 226 com/tencent/token/ui/hx:a (Ljava/lang/String;Ljava/lang/String;)V + // 157: aload_2 + // 158: iconst_0 + // 159: aload_2 + // 160: getstatic 229 java/io/File:separatorChar C + // 163: invokevirtual 235 java/lang/String:lastIndexOf (I)I + // 166: invokevirtual 239 java/lang/String:substring (II)Ljava/lang/String; + // 169: astore_2 + // 170: iload_3 + // 171: iconst_1 + // 172: iadd + // 173: istore_3 + // 174: goto -61 -> 113 + // 177: aconst_null + // 178: astore 6 + // 180: aload 9 + // 182: astore_1 + // 183: aload 6 + // 185: ifnull +8 -> 193 + // 188: aload 6 + // 190: invokevirtual 244 java/io/InputStream:close ()V + // 193: aload_1 + // 194: ifnull +319 -> 513 + // 197: aload_1 + // 198: invokevirtual 247 java/io/FileOutputStream:close ()V + // 201: return + // 202: astore_1 + // 203: aload_1 + // 204: invokevirtual 250 java/lang/Exception:printStackTrace ()V + // 207: return + // 208: aload_0 + // 209: getfield 91 com/tencent/token/ui/hx:y Landroid/content/Context; + // 212: invokevirtual 180 android/content/Context:getResources ()Landroid/content/res/Resources; + // 215: invokevirtual 186 android/content/res/Resources:getAssets ()Landroid/content/res/AssetManager; + // 218: aload_2 + // 219: invokevirtual 254 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 222: astore 6 + // 224: new 194 java/lang/StringBuilder + // 227: dup + // 228: invokespecial 195 java/lang/StringBuilder: ()V + // 231: aload_1 + // 232: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 235: getstatic 204 java/io/File:separator Ljava/lang/String; + // 238: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 241: aload_2 + // 242: iconst_0 + // 243: aload_2 + // 244: getstatic 204 java/io/File:separator Ljava/lang/String; + // 247: invokevirtual 257 java/lang/String:lastIndexOf (Ljava/lang/String;)I + // 250: invokevirtual 239 java/lang/String:substring (II)Ljava/lang/String; + // 253: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 256: invokevirtual 208 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 259: astore 9 + // 261: aload_2 + // 262: aload_2 + // 263: getstatic 229 java/io/File:separatorChar C + // 266: invokevirtual 235 java/lang/String:lastIndexOf (I)I + // 269: iconst_1 + // 270: iadd + // 271: invokevirtual 260 java/lang/String:substring (I)Ljava/lang/String; + // 274: astore_2 + // 275: new 201 java/io/File + // 278: dup + // 279: aload 9 + // 281: aload_2 + // 282: invokespecial 262 java/io/File: (Ljava/lang/String;Ljava/lang/String;)V + // 285: astore_1 + // 286: aload_1 + // 287: invokevirtual 215 java/io/File:exists ()Z + // 290: istore 5 + // 292: iload 5 + // 294: ifeq +20 -> 314 + // 297: aload 6 + // 299: ifnull +214 -> 513 + // 302: aload 6 + // 304: invokevirtual 244 java/io/InputStream:close ()V + // 307: return + // 308: astore_1 + // 309: aload_1 + // 310: invokevirtual 250 java/lang/Exception:printStackTrace ()V + // 313: return + // 314: new 246 java/io/FileOutputStream + // 317: dup + // 318: aload_1 + // 319: invokespecial 265 java/io/FileOutputStream: (Ljava/io/File;)V + // 322: astore_1 + // 323: new 194 java/lang/StringBuilder + // 326: dup + // 327: invokespecial 195 java/lang/StringBuilder: ()V + // 330: ldc_w 267 + // 333: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 336: aload 9 + // 338: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 341: ldc_w 269 + // 344: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 347: aload_2 + // 348: invokevirtual 199 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 351: invokevirtual 208 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 354: invokestatic 224 com/tencent/token/global/e:a (Ljava/lang/String;)V + // 357: sipush 1024 + // 360: newarray byte + // 362: astore_2 + // 363: aload 6 + // 365: aload_2 + // 366: invokevirtual 273 java/io/InputStream:read ([B)I + // 369: istore_3 + // 370: iload_3 + // 371: iconst_m1 + // 372: if_icmpeq +138 -> 510 + // 375: aload_1 + // 376: aload_2 + // 377: iconst_0 + // 378: iload_3 + // 379: invokevirtual 277 java/io/FileOutputStream:write ([BII)V + // 382: goto -19 -> 363 + // 385: astore 7 + // 387: aload_1 + // 388: astore_2 + // 389: aload 6 + // 391: astore_1 + // 392: aload 7 + // 394: astore 6 + // 396: aload 6 + // 398: invokevirtual 250 java/lang/Exception:printStackTrace ()V + // 401: aload_1 + // 402: ifnull +7 -> 409 + // 405: aload_1 + // 406: invokevirtual 244 java/io/InputStream:close ()V + // 409: aload_2 + // 410: ifnull +103 -> 513 + // 413: aload_2 + // 414: invokevirtual 247 java/io/FileOutputStream:close ()V + // 417: return + // 418: astore_1 + // 419: aload_1 + // 420: invokevirtual 250 java/lang/Exception:printStackTrace ()V + // 423: return + // 424: astore_1 + // 425: aconst_null + // 426: astore 6 + // 428: aload 8 + // 430: astore_2 + // 431: aload 6 + // 433: ifnull +8 -> 441 + // 436: aload 6 + // 438: invokevirtual 244 java/io/InputStream:close ()V + // 441: aload_2 + // 442: ifnull +7 -> 449 + // 445: aload_2 + // 446: invokevirtual 247 java/io/FileOutputStream:close ()V + // 449: aload_1 + // 450: athrow + // 451: astore_2 + // 452: aload_2 + // 453: invokevirtual 250 java/lang/Exception:printStackTrace ()V + // 456: goto -7 -> 449 + // 459: astore_1 + // 460: aload 8 + // 462: astore_2 + // 463: goto -32 -> 431 + // 466: astore 7 + // 468: aload_1 + // 469: astore_2 + // 470: aload 7 + // 472: astore_1 + // 473: goto -42 -> 431 + // 476: astore 7 + // 478: aload_1 + // 479: astore 6 + // 481: aload 7 + // 483: astore_1 + // 484: goto -53 -> 431 + // 487: astore 6 + // 489: aconst_null + // 490: astore_1 + // 491: aload 7 + // 493: astore_2 + // 494: goto -98 -> 396 + // 497: astore_2 + // 498: aload 6 + // 500: astore_1 + // 501: aload_2 + // 502: astore 6 + // 504: aload 7 + // 506: astore_2 + // 507: goto -111 -> 396 + // 510: goto -327 -> 183 + // 513: return + // Local variable table: + // start length slot name signature + // 0 514 0 this hx + // 0 514 1 paramString1 String + // 0 514 2 paramString2 String + // 10 369 3 i1 int + // 111 6 4 i2 int + // 290 3 5 bool boolean + // 25 455 6 localObject1 Object + // 487 12 6 localException1 Exception + // 502 1 6 str1 String + // 1 1 7 localObject2 Object + // 385 8 7 localException2 Exception + // 466 5 7 localObject3 Object + // 476 29 7 localObject4 Object + // 4 457 8 localObject5 Object + // 7 330 9 str2 String + // 57 86 10 str3 String + // 68 12 11 localFile java.io.File + // Exception table: + // from to target type + // 188 193 202 java/lang/Exception + // 197 201 202 java/lang/Exception + // 302 307 308 java/lang/Exception + // 323 363 385 java/lang/Exception + // 363 370 385 java/lang/Exception + // 375 382 385 java/lang/Exception + // 405 409 418 java/lang/Exception + // 413 417 418 java/lang/Exception + // 11 78 424 finally + // 79 113 424 finally + // 125 170 424 finally + // 208 224 424 finally + // 436 441 451 java/lang/Exception + // 445 449 451 java/lang/Exception + // 224 292 459 finally + // 314 323 459 finally + // 323 363 466 finally + // 363 370 466 finally + // 375 382 466 finally + // 396 401 476 finally + // 11 78 487 java/lang/Exception + // 79 113 487 java/lang/Exception + // 125 170 487 java/lang/Exception + // 208 224 487 java/lang/Exception + // 224 292 497 java/lang/Exception + // 314 323 497 java/lang/Exception + } + + private void d() + { + if (this.a == null) { + return; + } + Camera.Parameters localParameters; + DisplayMetrics localDisplayMetrics; + int i2; + int i3; + Object localObject1; + for (;;) + { + try + { + localParameters = this.a.getParameters(); + localParameters.setPictureFormat(256); + localParameters.setPreviewFormat(17); + List localList = localParameters.getSupportedPreviewSizes(); + if (this.y.getResources().getConfiguration().orientation != 2) + { + localParameters.set("orientation", "portrait"); + localParameters.set("rotation", 90); + this.a.setDisplayOrientation(90); + if ((Build.MODEL.equals("Nexus 6")) || (Build.MODEL.toLowerCase().startsWith("nexus 6")) || (Build.MODEL.equals("Moto X Pro"))) { + this.a.setDisplayOrientation(270); + } + if (ei.f != -1) { + this.a.setDisplayOrientation(ei.f); + } + localDisplayMetrics = this.y.getResources().getDisplayMetrics(); + i2 = localDisplayMetrics.heightPixels; + i3 = localDisplayMetrics.widthPixels; + if (localList == null) { + break; + } + this.b = ((Camera.Size)localList.get(0)).width; + this.c = ((Camera.Size)localList.get(0)).height; + int i1 = 1; + if (i1 >= localList.size()) { + break label417; + } + if (Math.abs(this.b / this.c - i2 / i3) > Math.abs(((Camera.Size)localList.get(i1)).width / ((Camera.Size)localList.get(i1)).height - i2 / i3)) + { + this.b = ((Camera.Size)localList.get(i1)).width; + this.c = ((Camera.Size)localList.get(i1)).height; + } + i1 += 1; + continue; + } + localParameters.set("orientation", "landscape"); + } + catch (Exception localException1) + { + localException1.printStackTrace(); + com.tencent.token.global.e.c("Camera getParameters failed" + this.a); + localObject1 = this.t.obtainMessage(0); + ((Message)localObject1).what = 2; + ((Message)localObject1).sendToTarget(); + return; + } + this.a.setDisplayOrientation(0); + } + label417: + localParameters.setPreviewSize(this.b, this.c); + this.a.setParameters(localParameters); + this.a.setPreviewCallback(this); + try + { + this.a.setPreviewDisplay(this.z); + this.a.startPreview(); + cv.c = this.c + "*" + this.b; + this.u[0] = 0; + this.u[1] = ((int)(FaceView.b * this.b)); + this.u[2] = this.c; + float f1 = FaceView.d * this.b; + this.u[3] = ((int)(1.4F * f1)); + this.u[1] = ((int)(this.u[1] - f1 * 0.2F)); + if ((this.u[3] >= this.b) || (this.u[1] < 0)) + { + this.u[1] = 0; + this.u[3] = this.b; + } + str1 = localParameters.get("rotation"); + str2 = Build.MODEL; + if ((str2.startsWith("8150")) || (this.w == 0) || (str2.equals("Nexus 6"))) + { + localObject1 = "270"; + this.B = Integer.parseInt((String)localObject1); + if (ei.g != -1) { + this.B = ei.g; + } + com.tencent.token.global.e.c("debugjsonjson------------mPreviewWidth=" + this.b + ",mPreviewHeight=" + this.c + ", screenWidth=" + i2 + ",screenHeight=" + i3 + ",density=" + localDisplayMetrics.density + ", faceposition" + this.u[0] + ", " + this.u[1] + ", " + this.u[2] + "," + this.u[3] + ", rotation=" + localParameters.get("rotation") + ",angleangle=" + this.B); + return; + } + } + catch (Exception localException2) + { + for (;;) + { + String str1; + String str2; + localException2.printStackTrace(); + if (this.a != null) + { + this.a.setPreviewCallback(null); + this.a.release(); + this.a = null; + continue; + Object localObject2 = str1; + if (str1 != null) { + if (!str2.contains("MI 5")) + { + localObject2 = str1; + if (this.b > this.c) + { + localObject2 = str1; + if (Integer.valueOf(str1).intValue() >= 90) {} + } + } + else + { + localObject2 = "90"; + } + } + } + } + } + } + + public final void a() + { + int i2 = 0; + if (this.a != null) { + return; + } + int i3; + try + { + Camera.CameraInfo localCameraInfo = new Camera.CameraInfo(); + i3 = Camera.getNumberOfCameras(); + i1 = 0; + for (;;) + { + if (i1 < i3) + { + Camera.getCameraInfo(i1, localCameraInfo); + int i4 = localCameraInfo.facing; + if (i4 == 1) {} + try + { + this.a = Camera.open(i1); + this.w = 1; + i1 += 1; + } + catch (RuntimeException localRuntimeException1) + { + for (;;) + { + com.tencent.token.global.e.c("CameraOpen camera=" + this.a); + } + } + } + } + if (this.a != null) { + break label189; + } + } + catch (Exception localException) + { + localException.printStackTrace(); + return; + } + int i1 = i2; + for (;;) + { + if (i1 < i3) + { + Camera.getCameraInfo(i1, localException); + i2 = localException.facing; + if (i2 == 0) {} + try + { + this.a = Camera.open(i1); + this.w = 0; + i1 += 1; + } + catch (RuntimeException localRuntimeException2) + { + for (;;) + { + com.tencent.token.global.e.c("CameraOpen camera=" + this.a); + } + } + } + } + label189: + if (this.a == null) + { + com.tencent.token.global.e.c("CameraOpen camera=" + this.a); + Message localMessage = this.t.obtainMessage(0); + localMessage.what = 2; + localMessage.sendToTarget(); + } + d(); + } + + public final void a(FaceServiceDelegate.FaceDetectErrorCode paramFaceDetectErrorCode) + { + if (this.F != null) {} + switch (ia.a[paramFaceDetectErrorCode.ordinal()]) + { + case 1: + default: + return; + case 2: + case 3: + this.F.setText(2131362782); + return; + case 4: + case 5: + this.F.setText(2131362796); + return; + case 6: + this.F.setText(2131362793); + return; + } + this.F.setText(2131362792); + } + + public final void a(boolean paramBoolean) + { + this.p = paramBoolean; + } + + public final void a(boolean paramBoolean1, int paramInt1, int paramInt2, boolean paramBoolean2) + { + this.r = paramBoolean1; + this.C = paramInt1; + this.D = paramInt2; + if (paramBoolean1) + { + if (this.A != DetectType.DT_REGISTER) { + break label237; + } + if ((this.D == 0) && (paramBoolean2)) { + p.a().a(System.currentTimeMillis(), 145); + } + } + switch (this.C) + { + default: + return; + case 1: + p.a().a(System.currentTimeMillis(), 149); + this.h = FaceDetector.LiveAction.ACT_MOUTH_OPEN; + this.K = this.y.getResources().getString(2131362783); + return; + case 2: + p.a().a(System.currentTimeMillis(), 148); + this.h = FaceDetector.LiveAction.ACT_BLINK; + this.K = this.y.getResources().getString(2131362784); + return; + case 3: + p.a().a(System.currentTimeMillis(), 146); + this.h = FaceDetector.LiveAction.ACT_HEAD_NOD; + this.K = this.y.getResources().getString(2131362785); + return; + } + p.a().a(System.currentTimeMillis(), 147); + this.h = FaceDetector.LiveAction.ACT_HEAD_SHAKE; + this.K = this.y.getResources().getString(2131362786); + return; + label237: + p.a().a(System.currentTimeMillis(), 150); + switch (this.C) + { + } + for (;;) + { + this.g.setDirection(this.i.ordinal()); + return; + p.a().a(System.currentTimeMillis(), 151); + this.i = FaceDetector.LiveDirection.LD_UP; + this.K = this.y.getResources().getString(2131362787); + continue; + p.a().a(System.currentTimeMillis(), 152); + this.i = FaceDetector.LiveDirection.LD_DOWN; + this.K = this.y.getResources().getString(2131362788); + continue; + p.a().a(System.currentTimeMillis(), 153); + this.i = FaceDetector.LiveDirection.LD_LEFT; + this.K = this.y.getResources().getString(2131362789); + continue; + p.a().a(System.currentTimeMillis(), 154); + this.i = FaceDetector.LiveDirection.LD_RIGHT; + this.K = this.y.getResources().getString(2131362790); + } + } + + public final void a(byte[] paramArrayOfByte, int paramInt) + { + cv.e = (int)(System.currentTimeMillis() - this.m); + cv.g = paramInt; + if (this.t == null) { + return; + } + Message localMessage = this.t.obtainMessage(0); + localMessage.what = 11; + FaceData localFaceData = new FaceData(); + localFaceData.mOriginDataPath = null; + localFaceData.mUploadData = paramArrayOfByte; + localMessage.obj = localFaceData; + localMessage.sendToTarget(); + this.p = true; + } + + public final void b() + { + this.y = null; + this.t = null; + try + { + if (this.a != null) + { + this.a.setPreviewCallback(null); + this.a.stopPreview(); + this.a.release(); + this.a = null; + } + } + catch (Exception localException1) + { + for (;;) + { + try + { + if (this.x != null) + { + this.x.b(); + this.x = null; + } + FaceDetector.LiveDestroy(); + FaceDetector.IdCardDestroy(); + return; + } + catch (Exception localException2) + { + localException2.printStackTrace(); + } + localException1 = localException1; + localException1.printStackTrace(); + } + } + } + + public final void b(boolean paramBoolean) + { + this.q = paramBoolean; + } + + public final void c() + { + this.s = 0L; + } + + public final void onPreviewFrame(byte[] paramArrayOfByte, Camera paramCamera) + { + if (this.p) {} + do + { + do + { + do + { + do + { + return; + if (this.s == 0L) + { + this.s = System.currentTimeMillis(); + return; + } + } while (this.I); + if ((this.x == null) && (!this.I)) { + new Thread(new hy(this)).start(); + } + } while (this.I); + if ((this.a != null) && (this.x != null) && (!this.k)) + { + com.tencent.token.global.e.b("onPreviewFramestart"); + this.k = true; + this.x.a(); + } + if (!this.q) { + break; + } + } while (System.currentTimeMillis() - this.s < this.o); + this.m = System.currentTimeMillis(); + this.L += 1; + } while (this.L % 3 != 0); + if (paramCamera != null) {} + for (;;) + { + try + { + for (;;) + { + Object localObject = paramCamera.getParameters(); + localObject = new h(paramArrayOfByte, ((Camera.Parameters)localObject).getPreviewSize().width, ((Camera.Parameters)localObject).getPreviewSize().height, this.B, this.u, this.v); + this.x.a((h)localObject, this.A); + cv.g += 1; + if ((!this.r) || (this.J)) { + break; + } + if ((!this.l) && (!this.J)) + { + this.J = true; + new Thread(new hz(this)).start(); + } + if (this.J) { + break; + } + try + { + this.L += 1; + if (this.L % 2 != 0) { + break; + } + if (this.A == DetectType.DT_REGISTER) { + if (this.D == 0) + { + cv.k += 1; + paramCamera = paramCamera.getParameters(); + i1 = paramCamera.getPreviewSize().width; + i2 = paramCamera.getPreviewSize().height; + this.f.reset(); + i1 = FaceDetector.LiveActionDetect(this.f, paramArrayOfByte, i1, i2, this.B, this.h); + com.tencent.token.global.e.a("regregret: " + i1 + ", x=" + this.f.x() + ",y=" + this.f.y() + ",width=" + this.f.width() + ",height=" + this.f.height() + ",action=" + this.h); + switch (i1) + { + case 0: + l1 = System.currentTimeMillis(); + if (this.D == 0) + { + cv.i = (int)(l1 - this.n); + switch (this.C) + { + case 1: + if (((this.h == FaceDetector.LiveAction.ACT_MOUTH_OPEN) || (this.h == FaceDetector.LiveAction.ACT_BLINK)) && (this.E != null) && (this.f.x() > 0) && (this.f.y() > 0) && (this.f.width() > 0) && (this.f.height() > 0)) { + this.E.a(this.f, this.c, this.b); + } + paramArrayOfByte = this.t.obtainMessage(0); + paramArrayOfByte.what = 71; + paramArrayOfByte.sendToTarget(); + this.p = true; + return; + } + } + break; + } + } + } + } + catch (OutOfMemoryError paramArrayOfByte) + { + com.tencent.token.global.e.c("OutOfMemoryError:doLiveDetect"); + return; + } + } + } + catch (OutOfMemoryError localOutOfMemoryError) + { + long l1; + com.tencent.token.global.e.c("OutOfMemoryError:doFaceDetect"); + continue; + cv.l += 1; + continue; + p.a().a(System.currentTimeMillis(), 135); + cv.j = (int)(l1 - this.n); + continue; + p.a().a(l1, 139); + continue; + p.a().a(l1, 138); + continue; + p.a().a(l1, 136); + continue; + p.a().a(l1, 137); + continue; + paramArrayOfByte = this.t.obtainMessage(0); + paramArrayOfByte.what = 73; + paramArrayOfByte.sendToTarget(); + this.p = true; + return; + if ((this.h != FaceDetector.LiveAction.ACT_MOUTH_OPEN) && (this.h != FaceDetector.LiveAction.ACT_BLINK)) { + break; + } + if ((this.E != null) && (this.f.x() > 0) && (this.f.y() > 0) && (this.f.width() > 0) && (this.f.height() > 0)) { + this.E.a(this.f, this.c, this.b); + } + if ((this.F == null) || (this.F.getText().toString().equals(this.K))) { + break; + } + this.F.setText(this.K); + return; + if (this.F == null) { + break; + } + this.F.setText(2131362795); + return; + if (this.F == null) { + break; + } + this.F.setText(2131362794); + return; + if (this.F == null) { + break; + } + this.F.setText(2131362796); + return; + if ((this.F == null) || (this.F.getText().toString().equals(this.K))) { + break; + } + this.F.setText(this.K); + return; + cv.n += 1; + paramCamera = paramCamera.getParameters(); + int i1 = paramCamera.getPreviewSize().width; + int i2 = paramCamera.getPreviewSize().height; + i1 = FaceDetector.LiveDirectionDetect(this.g, paramArrayOfByte, i1, i2, this.B); + double d1 = this.g.angle(); + switch (i1) + { + case 0: + if (i1 == 0) { + break; + } + if ((this.i == FaceDetector.LiveDirection.LD_UP) || (this.i == FaceDetector.LiveDirection.LD_LEFT)) + { + if ((d1 >= 0.0D) || (d1 <= -21.0D) || (this.E == null)) { + break; + } + this.E.b(-new Double(d1).intValue()); + return; + l1 = System.currentTimeMillis(); + p.a().a(l1, 140); + cv.m = (int)(l1 - this.n); + switch (this.C) + { + case 1: + paramArrayOfByte = this.t.obtainMessage(0); + paramArrayOfByte.what = 71; + paramArrayOfByte.obj = Double.valueOf(this.g.angle()); + paramArrayOfByte.sendToTarget(); + this.p = true; + this.E.c(); + continue; + p.a().a(l1, 141); + break; + case 2: + p.a().a(l1, 142); + break; + case 3: + p.a().a(l1, 143); + break; + case 4: + p.a().a(l1, 144); + } + } + break; + case 1: + case 2: + case 6: + if ((this.F == null) || (this.F.getText().toString().equals(this.K))) { + continue; + } + this.F.setText(this.K); + break; + case 3: + if (this.F == null) { + continue; + } + this.F.setText(2131362795); + break; + case 4: + if (this.F == null) { + continue; + } + this.F.setText(2131362794); + break; + case 5: + if (this.F == null) { + continue; + } + this.F.setText(2131362796); + continue; + if ((d1 <= 0.0D) || (d1 >= 21.0D) || (this.E == null)) { + break; + } + this.E.b(new Double(d1).intValue()); + return; + } + } + catch (Exception localException) + { + continue; + return; + } + continue; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hy.java new file mode 100755 index 00000000000..1468c2a4c67 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hy.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import com.tencent.service.e; + +final class hy + implements Runnable +{ + hy(hx paramhx) {} + + public final void run() + { + synchronized (this.a.d) + { + if (hx.a(this.a) == null) + { + hx.a(this.a, true); + long l = System.currentTimeMillis(); + hx.b(this.a); + com.tencent.token.cv.f = (int)(System.currentTimeMillis() - l); + hx.a(this.a, new e(hx.c(this.a), this.a, hx.d(this.a))); + hx.a(this.a, false); + } + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/hz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/hz.java new file mode 100755 index 00000000000..be9daf86669 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/hz.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import com.tencent.jni.FaceDetector; +import com.tencent.token.global.e; + +final class hz + implements Runnable +{ + hz(hx paramhx) {} + + public final void run() + { + synchronized (this.a.e) + { + if (!this.a.l) + { + long l = System.currentTimeMillis(); + this.a.j = FaceDetector.LiveDetectInitial(hx.e(this.a)); + com.tencent.token.cv.h = (int)(System.currentTimeMillis() - l); + if (this.a.j) + { + hx.a(this.a, System.currentTimeMillis()); + hx.f(this.a); + this.a.l = true; + } + e.d("LiveDetectInitial,ret=" + this.a.j + ",livemodelfile=" + hx.e(this.a)); + e.a("LiveDetectInitial,ret=" + this.a.j + ",livemodelfile=" + hx.e(this.a)); + } + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.hz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/i.java b/com.tencent.token/classes.jar/com/tencent/token/ui/i.java new file mode 100755 index 00000000000..16894ea65f3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/i.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class i + extends UserTask +{ + i(AboutActivity paramAboutActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ia.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ia.java new file mode 100755 index 00000000000..6392050cfd2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ia.java @@ -0,0 +1,9 @@ +package com.tencent.token.ui; + +final class ia {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ia + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ib.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ib.java new file mode 100755 index 00000000000..c36fa82f749 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ib.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class ib + implements View.OnClickListener +{ + ib(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ib + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ic.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ic.java new file mode 100755 index 00000000000..15e202e5c2d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ic.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ic + implements View.OnClickListener +{ + ic(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ic + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/id.java b/com.tencent.token/classes.jar/com/tencent/token/ui/id.java new file mode 100755 index 00000000000..9c8f2216a10 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/id.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class id + implements View.OnClickListener +{ + id(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(20); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.id + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ie.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ie.java new file mode 100755 index 00000000000..e30492db872 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ie.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.widget.ImageView; +import com.tencent.token.utils.t; + +final class ie + implements Runnable +{ + ie(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity, ImageView paramImageView) {} + + public final void run() + { + Bitmap localBitmap = t.b(FaceRecognitionComfirmActivity.access$000(this.b), Math.max(this.a.getWidth(), this.a.getHeight())); + this.a.setImageBitmap(localBitmap); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ie + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/if.java b/com.tencent.token/classes.jar/com/tencent/token/ui/if.java new file mode 100755 index 00000000000..1e4449448ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/if.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class if + implements View.OnClickListener +{ + if(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.if + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ig.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ig.java new file mode 100755 index 00000000000..4c83e34920d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ig.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ig + implements View.OnClickListener +{ + ig(FaceRecognitionComfirmActivity paramFaceRecognitionComfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(20); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ig + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ih.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ih.java new file mode 100755 index 00000000000..4073db29f53 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ih.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ih + implements View.OnClickListener +{ + ih(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ih + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ii.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ii.java new file mode 100755 index 00000000000..b094e5280d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ii.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.widget.Button; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; + +final class ii + implements CompoundButton.OnCheckedChangeListener +{ + ii(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (paramBoolean) + { + FaceRecognitionCreateActivity.access$000(this.a).setTextAppearance(this.a, 2131427381); + FaceRecognitionCreateActivity.access$000(this.a).setBackgroundResource(2130837549); + FaceRecognitionCreateActivity.access$000(this.a).setEnabled(true); + return; + } + FaceRecognitionCreateActivity.access$000(this.a).setTextAppearance(this.a, 2131427335); + FaceRecognitionCreateActivity.access$000(this.a).setBackgroundResource(2130837636); + FaceRecognitionCreateActivity.access$000(this.a).setEnabled(false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ii + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ij.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ij.java new file mode 100755 index 00000000000..eb990fc92a0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ij.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class ij + implements View.OnClickListener +{ + ij(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getResources().getString(2131362773), this.a.getResources().getString(2131362508)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ij + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ik.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ik.java new file mode 100755 index 00000000000..6578b3a3e0b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ik.java @@ -0,0 +1,53 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.CheckBox; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.t; + +final class ik + implements View.OnClickListener +{ + ik(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onClick(View paramView) + { + if (FaceRecognitionCreateActivity.access$100(this.a).isChecked()) + { + if (ax.a().e() == null) { + this.a.showNoAccountTipDialog(this.a, 3, 0); + } + } + else { + return; + } + if (!ax.a().e().mIsBinded) + { + this.a.showNoAccountTipDialog(this.a, 3, 1); + return; + } + if (FaceRecognitionCreateActivity.getFlag()) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRegCameraActivity.class)) + { + paramView.putExtra("scene", 1); + paramView.putExtra("flag", 1); + this.a.startActivity(paramView); + this.a.finish(); + return; + } + } + this.a.setContentView(2130903095); + FaceRecognitionCreateActivity.access$200(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ik + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/il.java b/com.tencent.token/classes.jar/com/tencent/token/ui/il.java new file mode 100755 index 00000000000..67b9792da0b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/il.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; + +final class il + implements CompoundButton.OnCheckedChangeListener +{ + il(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (paramBoolean) { + FaceRecognitionCreateActivity.saveFlag(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.il + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/im.java b/com.tencent.token/classes.jar/com/tencent/token/ui/im.java new file mode 100755 index 00000000000..f5de1767ce0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/im.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.t; + +final class im + implements View.OnClickListener +{ + im(FaceRecognitionCreateActivity paramFaceRecognitionCreateActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRegCameraActivity.class)) + { + paramView.putExtra("scene", 1); + paramView.putExtra("flag", 1); + this.a.startActivity(paramView); + this.a.finish(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.im + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/in.java b/com.tencent.token/classes.jar/com/tencent/token/ui/in.java new file mode 100755 index 00000000000..f43b0134c6b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/in.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class in + implements View.OnClickListener +{ + in(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FacePwdIndexActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.in + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/io.java b/com.tencent.token/classes.jar/com/tencent/token/ui/io.java new file mode 100755 index 00000000000..504c2026aa3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/io.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class io + implements View.OnClickListener +{ + io(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FaceChangePwdIndexActivity.class); + paramView.putExtra("open_switch", FaceRecognitionDefaultActivity.access$000(this.a)); + this.a.startActivity(paramView); + s.h("face_changepsw_redtip"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.io + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ip.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ip.java new file mode 100755 index 00000000000..6aa16a0fb24 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ip.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ip + implements View.OnClickListener +{ + ip(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FaceChangeMobileActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ip + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iq.java new file mode 100755 index 00000000000..dc04a644124 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iq.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.t; + +final class iq + implements View.OnClickListener +{ + iq(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramView.putExtra("flag", 2); + paramView.putExtra("istry", 1); + paramView.putExtra("scene", 6); + this.a.startActivity(paramView); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ir.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ir.java new file mode 100755 index 00000000000..6c09ef86774 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ir.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ir + implements View.OnClickListener +{ + ir(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FaceRecognitionAddFaceActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ir + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/is.java b/com.tencent.token/classes.jar/com/tencent/token/ui/is.java new file mode 100755 index 00000000000..caaeb0f1508 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/is.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class is + implements View.OnClickListener +{ + is(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) + { + paramView = new Intent(this.a, FacePKCameraActivity.class); + paramView.putExtra("flag", 2); + paramView.putExtra("istry", 2); + this.a.startActivity(paramView); + FaceRecognitionDefaultActivity.access$100(this.a).setVisibility(4); + s.h("fr_redtip"); + return; + } + paramView = new Intent(this.a, FacePKCameraActivity.class); + paramView.putExtra("flag", 2); + paramView.putExtra("istry", 2); + this.a.startActivity(paramView); + FaceRecognitionDefaultActivity.access$100(this.a).setVisibility(4); + s.h("fr_redtip"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.is + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/it.java b/com.tencent.token/classes.jar/com/tencent/token/ui/it.java new file mode 100755 index 00000000000..c831a2dc215 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/it.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class it + implements View.OnClickListener +{ + it(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.it + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iu.java new file mode 100755 index 00000000000..0a03f532c3f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iu.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.widget.TextView; +import com.tencent.token.global.e; + +final class iu + implements qe +{ + iu(FaceRecognitionDefaultActivity paramFaceRecognitionDefaultActivity) {} + + public final void a(boolean paramBoolean) + { + FaceRecognitionDefaultActivity.access$002(this.a, paramBoolean); + e.a("open_switch" + FaceRecognitionDefaultActivity.access$000(this.a)); + if (paramBoolean) + { + FaceRecognitionDefaultActivity.access$200(this.a).setText(2131362380); + FaceRecognitionDefaultActivity.access$200(this.a).setTextAppearance(this.a, 2131427368); + return; + } + FaceRecognitionDefaultActivity.access$200(this.a).setText(2131362381); + FaceRecognitionDefaultActivity.access$200(this.a).setTextAppearance(this.a, 2131427367); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iv.java new file mode 100755 index 00000000000..c2afd8aa1ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iv.java @@ -0,0 +1,185 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.ui.base.co; + +final class iv + extends bo +{ + iv(FaceRegCameraActivity paramFaceRegCameraActivity) + { + super(paramFaceRegCameraActivity); + } + + public final void handleMessage(Message paramMessage) + { + int i = 0; + e.a("facepwd msg.what=" + paramMessage.what); + switch (paramMessage.what) + { + } + label1106: + do + { + do + { + do + { + do + { + do + { + return; + } while (paramMessage.arg1 != 0); + if (paramMessage.arg2 == 1) + { + paramMessage = (int[])paramMessage.obj; + if ((paramMessage != null) && (paramMessage.length >= 2)) + { + FaceRegCameraActivity.access$002(this.a, new int[paramMessage.length]); + while (i < paramMessage.length) + { + FaceRegCameraActivity.access$000(this.a)[i] = paramMessage[i]; + i += 1; + } + FaceRegCameraActivity.access$102(this.a, true); + return; + } + FaceRegCameraActivity.access$102(this.a, false); + return; + } + FaceRegCameraActivity.access$102(this.a, false); + return; + } while (FaceRegCameraActivity.access$200(this.a)); + FaceRegCameraActivity.access$202(this.a, true); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362118), 2131361800, new je(this), new jf(this)); + return; + paramMessage = (TextView)this.a.findViewById(2131296625); + } while (paramMessage == null); + paramMessage.setText(2131362486); + return; + try + { + FaceRegCameraActivity.access$400(this.a).a(FaceRegCameraActivity.access$300(this.a)); + FaceRegCameraActivity.access$500(this.a).c(0); + FaceRegCameraActivity.access$600(this.a).setText(2131362782); + FaceRegCameraActivity.access$700(this.a).setImageResource(2130837712); + return; + } + catch (Exception paramMessage) + { + for (;;) + { + paramMessage.printStackTrace(); + } + } + e.a("OPTYPE_REGIST step=" + FaceRegCameraActivity.access$300(this.a)); + paramMessage = (FaceData)paramMessage.obj; + if (FaceRegCameraActivity.access$300(this.a) <= 0) + { + FaceRegCameraActivity.access$802(this.a, paramMessage); + if (FaceRegCameraActivity.access$100(this.a)) + { + FaceRegCameraActivity.access$500(this.a).c(3); + if (FaceRegCameraActivity.access$000(this.a) != null) { + FaceRegCameraActivity.access$900(this.a, FaceRegCameraActivity.access$000(this.a)[FaceRegCameraActivity.access$300(this.a)]); + } + FaceRegCameraActivity.access$1100(this.a).startAnimation(FaceRegCameraActivity.access$1000(this.a)); + FaceRegCameraActivity.access$400(this.a).a(false, true, FaceRegCameraActivity.access$000(this.a)[FaceRegCameraActivity.access$300(this.a)], FaceRegCameraActivity.access$300(this.a)); + FaceRegCameraActivity.access$500(this.a).c(4); + return; + } + FaceRegCameraActivity.access$500(this.a).c(3); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRegCameraActivity.access$800(this.a).mUploadData); + paramMessage.putExtra("origindata", FaceRegCameraActivity.access$800(this.a).mOriginDataPath); + this.a.startActivityForResult(paramMessage, 100); + return; + } + FaceRegCameraActivity.access$1202(this.a, paramMessage); + if (FaceRegCameraActivity.access$100(this.a)) + { + FaceRegCameraActivity.access$500(this.a).c(3); + if (FaceRegCameraActivity.access$000(this.a) != null) { + FaceRegCameraActivity.access$900(this.a, FaceRegCameraActivity.access$000(this.a)[FaceRegCameraActivity.access$300(this.a)]); + } + FaceRegCameraActivity.access$1100(this.a).startAnimation(FaceRegCameraActivity.access$1000(this.a)); + FaceRegCameraActivity.access$400(this.a).a(false, true, FaceRegCameraActivity.access$000(this.a)[FaceRegCameraActivity.access$300(this.a)], FaceRegCameraActivity.access$300(this.a)); + FaceRegCameraActivity.access$500(this.a).c(4); + return; + } + FaceRegCameraActivity.access$500(this.a).c(3); + paramMessage = new Intent(this.a, FaceRecognitionComfirmActivity.class); + paramMessage.putExtra("data", FaceRegCameraActivity.access$1200(this.a).mUploadData); + paramMessage.putExtra("origindata", FaceRegCameraActivity.access$1200(this.a).mOriginDataPath); + this.a.startActivityForResult(paramMessage, 100); + return; + FaceRegCameraActivity.access$308(this.a); + if (FaceRegCameraActivity.access$300(this.a) < 2) + { + FaceRegCameraActivity.access$400(this.a).a(true, false, 0, FaceRegCameraActivity.access$300(this.a)); + FaceRegCameraActivity.access$500(this.a).c(6); + FaceRegCameraActivity.access$600(this.a).setText(2131362782); + FaceRegCameraActivity.access$1100(this.a).startAnimation(FaceRegCameraActivity.access$1000(this.a)); + FaceRegCameraActivity.access$700(this.a).setImageResource(2130837712); + return; + } + FaceRegCameraActivity.access$500(this.a).c(6); + paramMessage = new Intent(this.a, FaceRegConfirmActivity.class); + paramMessage.putExtra("data1", FaceRegCameraActivity.access$800(this.a).mUploadData); + paramMessage.putExtra("data2", FaceRegCameraActivity.access$1200(this.a).mUploadData); + this.a.startActivityForResult(paramMessage, 200); + return; + e.c("K_MSG_POST_FACERECOGNITION = " + paramMessage.arg1); + if (paramMessage.arg1 != 0) { + break; + } + } while (paramMessage.arg2 != 1); + FaceRegCameraActivity.access$1300(this.a).a(); + if (ax.a().e() != null) + { + ax.a().e().mIsRegisterFacePwd = true; + ax.a().c(ax.a().e()); + e.c(" K_MSG_POST_FACERECOGNITION getCurrentUser = " + ax.a().e().mIsRegisterFacePwd); + } + FaceRegCameraActivity.access$1400(this.a).postDelayed(new iw(this), 1000L); + return; + paramMessage = (d)paramMessage.obj; + i = FaceRegCameraActivity.access$1500(this.a); + try + { + int j = ((Integer)paramMessage.d).intValue(); + i = j; + } + catch (Exception localException) + { + break label1106; + this.a.showUserDialog(2131362104, paramMessage.c, 2131361804, 2131361914, new jb(this), new jc(this), new jd(this)); + } + d.a(this.a.getResources(), paramMessage); + e.c("faceret.mErrCode=" + paramMessage.a + "optype=" + i); + } while (i != 1); + if (paramMessage.a == 228) + { + this.a.showUserDialog(2131362104, paramMessage.c, 2131361804, 2131362500, new ix(this), new iy(this), new ja(this)); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iw.java new file mode 100755 index 00000000000..d7f20a6b6fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iw.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; + +final class iw + implements Runnable +{ + iw(iv paramiv) {} + + public final void run() + { + Intent localIntent = new Intent(this.a.a, FaceRecognitionDefaultActivity.class); + localIntent.putExtra("toastflag", 1); + localIntent.addFlags(67108864); + this.a.a.startActivity(localIntent); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ix.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ix.java new file mode 100755 index 00000000000..f3d1609bae7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ix.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class ix + implements DialogInterface.OnClickListener +{ + ix(iv paramiv) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionCreateActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ix + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iy.java new file mode 100755 index 00000000000..803ee248460 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iy.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.view.View; +import com.tencent.token.ui.base.co; + +final class iy + implements DialogInterface.OnClickListener +{ + iy(iv paramiv) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceRegCameraActivity.access$1300(this.a.a).b(); + FaceRegCameraActivity.access$1600(this.a.a).removeMessages(13); + this.a.a.setContentView(2130903091); + this.a.a.hideTitle(); + this.a.a.findViewById(2131296572).setOnClickListener(new iz(this)); + FaceRegCameraActivity.access$1700(this.a.a); + if (FaceRegCameraActivity.access$400(this.a.a) != null) { + FaceRegCameraActivity.access$400(this.a.a).a(this.a.a, FaceRegCameraActivity.access$1800(this.a.a), FaceRegCameraActivity.access$1600(this.a.a), FaceRegCameraActivity.access$500(this.a.a), FaceRegCameraActivity.access$600(this.a.a)); + } + FaceRegCameraActivity.access$302(this.a.a, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/iz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/iz.java new file mode 100755 index 00000000000..131ebee6aeb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/iz.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class iz + implements View.OnClickListener +{ + iz(iy paramiy) {} + + public final void onClick(View paramView) + { + this.a.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.iz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/j.java b/com.tencent.token/classes.jar/com/tencent/token/ui/j.java new file mode 100755 index 00000000000..fcf3bfc0f01 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/j.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +final class j +{ + public float a; + public float b; + public float c; + + public j(float paramFloat1, float paramFloat2, float paramFloat3) + { + this.a = paramFloat1; + this.b = paramFloat2; + this.c = paramFloat3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ja.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ja.java new file mode 100755 index 00000000000..148af01890b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ja.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.ui.base.FaceView; + +final class ja + implements DialogInterface.OnCancelListener +{ + ja(iv paramiv) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRegCameraActivity.access$400(this.a.a).a(true, false, 0, FaceRegCameraActivity.access$300(this.a.a)); + FaceRegCameraActivity.access$500(this.a.a).c(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ja + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jb.java new file mode 100755 index 00000000000..6c7ba2c9ce8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jb.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class jb + implements DialogInterface.OnClickListener +{ + jb(iv paramiv) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, FaceRecognitionCreateActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jc.java new file mode 100755 index 00000000000..a4d8f80983e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jc.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.ui.base.co; + +final class jc + implements DialogInterface.OnClickListener +{ + jc(iv paramiv) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (ax.a().e() != null) {} + for (long l = ax.a().e().mRealUin;; l = 0L) + { + af.a().a(0L, l, FaceRegCameraActivity.access$1500(this.a.a), FaceRegCameraActivity.access$1900(this.a.a), 0, FaceRegCameraActivity.access$2000(this.a.a), FaceRegCameraActivity.access$1600(this.a.a)); + FaceRegCameraActivity.access$1300(this.a.a).b(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jd.java new file mode 100755 index 00000000000..d6d26943b31 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jd.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ui.base.FaceView; + +final class jd + implements DialogInterface.OnCancelListener +{ + jd(iv paramiv) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRegCameraActivity.access$302(this.a.a, 0); + FaceRegCameraActivity.access$400(this.a.a).a(true, false, 0, FaceRegCameraActivity.access$300(this.a.a)); + FaceRegCameraActivity.access$500(this.a.a).c(0); + FaceRegCameraActivity.access$600(this.a.a).setText(2131362782); + FaceRegCameraActivity.access$700(this.a.a).setImageResource(2130837712); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/je.java b/com.tencent.token/classes.jar/com/tencent/token/ui/je.java new file mode 100755 index 00000000000..2dd7651b3ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/je.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class je + implements DialogInterface.OnClickListener +{ + je(iv paramiv) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.je + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jf.java new file mode 100755 index 00000000000..8190f107b66 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jf.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class jf + implements DialogInterface.OnCancelListener +{ + jf(iv paramiv) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceRegCameraActivity.access$400(this.b.a).a(true); + FaceRegCameraActivity.access$400(this.b.a).a(); + FaceRegCameraActivity.access$202(this.b.a, false); + if (!this.a) { + this.b.a.finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jg.java new file mode 100755 index 00000000000..6d29a742c5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jg.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class jg + implements View.OnClickListener +{ + jg(FaceRegCameraActivity paramFaceRegCameraActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jh.java new file mode 100755 index 00000000000..01c98e58e9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jh.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class jh + implements View.OnClickListener +{ + jh(FaceRegCameraActivity paramFaceRegCameraActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ji.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ji.java new file mode 100755 index 00000000000..b72cca41c4b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ji.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ji + implements View.OnClickListener +{ + ji(FaceRegConfirmActivity paramFaceRegConfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(20); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ji + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jj.java new file mode 100755 index 00000000000..4707d21eded --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jj.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class jj + implements View.OnClickListener +{ + jj(FaceRegConfirmActivity paramFaceRegConfirmActivity) {} + + public final void onClick(View paramView) + { + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jk.java new file mode 100755 index 00000000000..fab5a2ca4c5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jk.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class jk + implements View.OnClickListener +{ + jk(FaceRegConfirmActivity paramFaceRegConfirmActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + this.a.setResult(10); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jl.java new file mode 100755 index 00000000000..32df4537a9f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jl.java @@ -0,0 +1,194 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Message; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.jni.FaceData; +import com.tencent.token.af; +import com.tencent.token.ge; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.FaceView; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; +import java.util.ArrayList; + +final class jl + extends bo +{ + jl(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) + { + super(paramFaceStartVryCameraActivity); + } + + private void a() + { + byte[] arrayOfByte = FaceStartVryCameraActivity.access$300(this.a).mUploadData; + if (arrayOfByte == null) { + return; + } + ArrayList localArrayList = new ArrayList(); + localArrayList.add(arrayOfByte); + FaceStartVryCameraActivity.access$1402(this.a, ge.a(localArrayList)); + if (FaceStartVryCameraActivity.access$1400(this.a) != null) + { + long l = t.e(); + int i = FaceStartVryCameraActivity.access$1500(this.a); + FaceStartVryCameraActivity.access$1602(this.a, true); + af.a().a(0L, l, FaceStartVryCameraActivity.access$1700(this.a), FaceStartVryCameraActivity.access$1400(this.a), i, FaceStartVryCameraActivity.access$1800(this.a), FaceStartVryCameraActivity.access$1900(this.a)); + return; + } + e.a("OPTYPE_VALIDATION serverData == null"); + } + + public final void handleMessage(Message paramMessage) + { + int i = 2131362494; + int j = 0; + e.a("facepwd msg.what=" + paramMessage.what); + switch (paramMessage.what) + { + default: + case 3082: + case 2: + case 13: + case 11: + do + { + do + { + do + { + do + { + return; + } while (paramMessage.arg1 != 0); + if (paramMessage.arg2 == 1) + { + paramMessage = (int[])paramMessage.obj; + if ((paramMessage != null) && (paramMessage.length > 0)) + { + FaceStartVryCameraActivity.access$002(this.a, new int[paramMessage.length]); + i = j; + while (i < paramMessage.length) + { + FaceStartVryCameraActivity.access$000(this.a)[i] = paramMessage[i]; + i += 1; + } + FaceStartVryCameraActivity.access$102(this.a, true); + return; + } + FaceStartVryCameraActivity.access$102(this.a, false); + return; + } + FaceStartVryCameraActivity.access$102(this.a, false); + return; + } while (FaceStartVryCameraActivity.access$200(this.a)); + FaceStartVryCameraActivity.access$202(this.a, true); + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362118), 2131361800, new jn(this), new jo(this)); + return; + paramMessage = (TextView)this.a.findViewById(2131296625); + } while (paramMessage == null); + paramMessage.setText(2131362486); + return; + FaceStartVryCameraActivity.access$302(this.a, (FaceData)paramMessage.obj); + } while (FaceStartVryCameraActivity.access$300(this.a).mUploadData == null); + if (FaceStartVryCameraActivity.access$100(this.a)) + { + FaceStartVryCameraActivity.access$400(this.a).c(3); + if (FaceStartVryCameraActivity.access$500(this.a) != null) { + FaceStartVryCameraActivity.access$600(this.a, FaceStartVryCameraActivity.access$000(this.a)[0]); + } + FaceStartVryCameraActivity.access$400(this.a).a(FaceStartVryCameraActivity.access$000(this.a)[0]); + FaceStartVryCameraActivity.access$700(this.a).a(false, true, FaceStartVryCameraActivity.access$000(this.a)[0], 0); + FaceStartVryCameraActivity.access$400(this.a).c(7); + return; + } + FaceStartVryCameraActivity.access$400(this.a).c(3); + FaceStartVryCameraActivity.access$500(this.a).setText(2131361844); + a(); + return; + case 71: + FaceStartVryCameraActivity.access$400(this.a).c(9); + FaceStartVryCameraActivity.access$500(this.a).setText(2131361844); + a(); + return; + } + e.c("K_MSG_POST_FACERECOGNITION = " + paramMessage.arg1); + if (paramMessage.arg1 == 0) + { + RqdApplication.f(); + s.a(FaceStartVryCameraActivity.LANUCH_RETRY_COUNT, 0); + FaceStartVryCameraActivity.access$400(this.a).c(3); + if (FaceStartVryCameraActivity.access$100(this.a)) + { + FaceStartVryCameraActivity.access$800(this.a).setVisibility(0); + FaceStartVryCameraActivity.access$900(this.a).setVisibility(0); + paramMessage = new RotateAnimation(0.0F, 360.0F, 1, 0.5F, 1, 0.5F); + paramMessage.setDuration(700L); + localObject = new RotateAnimation(360.0F, 0.0F, 1, 0.5F, 1, 0.5F); + ((Animation)localObject).setDuration(700L); + paramMessage.setAnimationListener(new jm(this)); + FaceStartVryCameraActivity.access$800(this.a).startAnimation(paramMessage); + FaceStartVryCameraActivity.access$900(this.a).startAnimation((Animation)localObject); + return; + } + this.a.startAnimation(); + return; + } + FaceStartVryCameraActivity.access$800(this.a).setVisibility(4); + FaceStartVryCameraActivity.access$900(this.a).setVisibility(4); + Object localObject = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)localObject); + e.c("faceRe ret.mErrCode=" + ((d)localObject).a); + switch (((d)localObject).a) + { + default: + if (RqdApplication.d()) { + break; + } + } + for (i = 2131362494;; i = 2131362495) + { + this.a.showUserDialog(2131362104, ((d)localObject).c, 2131361914, i, new ju(this), new jv(this), new jw(this)); + return; + FaceStartVryCameraActivity.access$1000(this.a, this.a, 2131362161, 2131362144); + return; + FaceStartVryCameraActivity.access$1108(this.a); + if (!RqdApplication.d()) + { + paramMessage = this.a.getResources().getString(2131362507); + i = 2131362494; + } + while (FaceStartVryCameraActivity.access$1100(this.a) < 5) + { + s.a(FaceStartVryCameraActivity.LANUCH_RETRY_COUNT, FaceStartVryCameraActivity.access$1100(this.a)); + this.a.showUserDialog(2131362489, ((d)localObject).c, 2131362496, i, new jp(this), new jq(this), new jr(this)); + return; + i = 2131362495; + paramMessage = this.a.getResources().getString(2131362506); + } + s.a(FaceStartVryCameraActivity.LANUCH_RETRY_COUNT, 0); + this.a.showUserDialog(2131362491, paramMessage, i, new js(this)); + return; + t.b(0L); + if (!RqdApplication.d()) {} + for (paramMessage = this.a.getResources().getString(2131362505);; paramMessage = this.a.getResources().getString(2131362504)) + { + this.a.showUserDialog(2131362104, ((d)localObject).c + "," + paramMessage, i, new jt(this)); + return; + i = 2131362495; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jm.java new file mode 100755 index 00000000000..653c5e21f2f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jm.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class jm + implements Animation.AnimationListener +{ + jm(jl paramjl) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.a.a.startAnimation(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jn.java new file mode 100755 index 00000000000..e694d9c3f05 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jn.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class jn + implements DialogInterface.OnClickListener +{ + jn(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jo.java new file mode 100755 index 00000000000..0bd4b0a7f1d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jo.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class jo + implements DialogInterface.OnCancelListener +{ + jo(jl paramjl) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceStartVryCameraActivity.access$700(this.b.a).a(true); + FaceStartVryCameraActivity.access$700(this.b.a).a(); + FaceStartVryCameraActivity.access$202(this.b.a, false); + if (!this.a) { + this.b.a.finish(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jp.java new file mode 100755 index 00000000000..ac2946a456a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jp.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class jp + implements DialogInterface.OnClickListener +{ + jp(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1200(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jq.java new file mode 100755 index 00000000000..2306e2cb36d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jq.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class jq + implements DialogInterface.OnClickListener +{ + jq(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1300(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jr.java new file mode 100755 index 00000000000..9101bcaab6a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jr.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class jr + implements DialogInterface.OnCancelListener +{ + jr(jl paramjl) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceStartVryCameraActivity.access$1200(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/js.java b/com.tencent.token/classes.jar/com/tencent/token/ui/js.java new file mode 100755 index 00000000000..627b125bf4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/js.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class js + implements DialogInterface.OnClickListener +{ + js(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1300(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.js + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jt.java new file mode 100755 index 00000000000..8d45cafbb12 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jt.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class jt + implements DialogInterface.OnClickListener +{ + jt(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1300(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ju.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ju.java new file mode 100755 index 00000000000..72d882c0ed0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ju.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ju + implements DialogInterface.OnClickListener +{ + ju(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1200(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ju + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jv.java new file mode 100755 index 00000000000..a4dd39c2b46 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jv.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class jv + implements DialogInterface.OnClickListener +{ + jv(jl paramjl) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + FaceStartVryCameraActivity.access$1300(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jw.java new file mode 100755 index 00000000000..8fff5ddf42f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jw.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class jw + implements DialogInterface.OnCancelListener +{ + jw(jl paramjl) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + FaceStartVryCameraActivity.access$1200(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jx.java new file mode 100755 index 00000000000..4326961764c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jx.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class jx + extends Handler +{ + jx(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void handleMessage(Message paramMessage) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jy.java new file mode 100755 index 00000000000..c0eace675ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jy.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class jy + implements DialogInterface.OnClickListener +{ + jy(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, Context paramContext) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/jz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/jz.java new file mode 100755 index 00000000000..e6a8bfc0817 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/jz.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.ah; +import com.tencent.token.global.RqdApplication; + +final class jz + implements DialogInterface.OnCancelListener +{ + jz(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, Context paramContext) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + ah.a().f(); + RqdApplication.f(); + this.b.setResult(35); + this.b.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.jz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/k.java b/com.tencent.token/classes.jar/com/tencent/token/ui/k.java new file mode 100755 index 00000000000..7f9a8f94265 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/k.java @@ -0,0 +1,241 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ba; +import com.tencent.token.bf; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.ds; + +final class k + extends BaseAdapter +{ + m a = new m(this); + private UtilsAccountLockActivity b; + private LayoutInflater c; + private ListView d; + private boolean e; + private g f; + private ds g; + private Handler h; + private int i; + private int j; + private int k; + private TranslateAnimation l; + private boolean m = false; + + public k(UtilsAccountLockActivity paramUtilsAccountLockActivity, ListView paramListView, Handler paramHandler) + { + this.b = paramUtilsAccountLockActivity; + this.c = LayoutInflater.from(paramUtilsAccountLockActivity); + this.d = paramListView; + this.h = paramHandler; + this.j = ba.a().a(true); + this.k = ba.a().a(false); + this.i = (this.j + this.k); + if (this.i != 0) { + this.i += 1; + } + } + + public final void a() + { + this.j = ba.a().a(true); + this.k = ba.a().a(false); + this.i = (this.j + this.k); + if (this.i != 0) { + this.i += 1; + } + } + + public final void a(d paramd) + { + int n = 0; + e.c("account lock set: "); + if ((this.f == null) || (this.g == null) || (paramd == null)) {} + do + { + return; + e.c("account lock set: "); + this.f.e = false; + if (paramd.a == 0) { + n = 1; + } + if (n != 0) + { + AccountPageActivity.mNeedRefreshEval = true; + ba.a().b(); + af.a().a(0L, this.h); + this.m = true; + return; + } + } while (this.f == null); + d.a(this.b.getResources(), paramd); + this.b.showTipDialog(2131361919, paramd.c); + } + + public final void a(ds paramds, boolean paramBoolean) + { + boolean bool = true; + if ((paramds == null) || (paramds.a() == null) || (this.b == null) || (this.b.isFinishing())) {} + g localg; + TextView localTextView; + SwitchButton localSwitchButton; + ProgressBar localProgressBar; + ImageView localImageView; + do + { + return; + localg = paramds.a(); + localTextView = paramds.c(); + localSwitchButton = paramds.b(); + localProgressBar = paramds.d(); + localImageView = paramds.e(); + } while ((localTextView == null) || (localSwitchButton == null) || (localProgressBar == null) || (localImageView == null) || (localg == null) || ((paramBoolean) && (!localg.b.equals(localTextView.getText())))); + if (localg.c) + { + paramds.g().setVisibility(0); + if ((this.m) && (localg.b.equals(this.f.b)) && (localg.c == true)) + { + paramds = paramds.f(); + paramds.setVisibility(0); + this.l = new TranslateAnimation(-300.0F, UtilsAccountLockActivity.windowWidth, 0.0F, 0.0F); + this.l.setDuration(800L); + this.l.setInterpolator(new AccelerateInterpolator()); + this.l.setAnimationListener(new l(this, paramds)); + paramds.startAnimation(this.l); + this.m = false; + } + if (!localg.f) { + break label326; + } + localImageView.setVisibility(0); + } + for (;;) + { + if ((!localg.e) && (ba.a().m())) { + break label335; + } + localProgressBar.setVisibility(0); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(false); + if (!ba.a().m()) { + this.b.queryAccountLockStatus(); + } + localTextView.setText(localg.b); + return; + paramds.g().setVisibility(8); + break; + label326: + localImageView.setVisibility(4); + } + label335: + localProgressBar.setVisibility(4); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(true); + if (!localg.c) {} + for (paramBoolean = bool;; paramBoolean = false) + { + localSwitchButton.a(paramBoolean, false); + break; + } + } + + public final void b() + { + this.e = false; + } + + public final void b(ds paramds, boolean paramBoolean) + { + g localg = paramds.a(); + if ((localg == null) || (paramds.h() == null) || (!ba.a().m()) || (paramBoolean != localg.c)) {} + while ((localg.e) || (this.e)) { + return; + } + this.f = localg; + this.g = paramds; + localg.e = true; + this.e = true; + a(paramds, false); + bf.a().a(3, this.b.getHandler()); + } + + public final void c() + { + this.f.e = false; + notifyDataSetChanged(); + } + + public final void d() + { + int n = 1; + int i1 = this.f.a; + if (this.f.c) { + n = 0; + } + af localaf = af.a(); + Handler localHandler = this.h; + localaf.a(0L, new int[] { i1 }, new int[] { n }, "", localHandler); + } + + public final int getCount() + { + return this.i; + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView; + if (paramInt == this.j) + { + localView = this.c.inflate(2130903225, paramViewGroup, false); + return localView; + } + if (paramInt < this.j) { + paramView = this.c.inflate(2130903228, paramViewGroup, false); + } + for (paramViewGroup = ba.a().a(paramInt, true);; paramViewGroup = ba.a().a(paramInt - this.j - 1, false)) + { + localView = paramView; + if (paramViewGroup == null) { + break; + } + paramViewGroup = new ds(paramView, paramViewGroup); + paramViewGroup.b().setTag(paramViewGroup); + paramViewGroup.b().setOnCheckedChangeListener(this.a); + a(paramViewGroup, false); + return paramView; + paramView = this.c.inflate(2130903227, paramViewGroup, false); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ka.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ka.java new file mode 100755 index 00000000000..6fdddeaeafe --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ka.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.ImageView; +import com.tencent.token.ui.base.FaceView; + +final class ka + implements Runnable +{ + ka(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, float paramFloat) {} + + public final void run() + { + ((ViewGroup.MarginLayoutParams)FaceStartVryCameraActivity.access$800(this.b).getLayoutParams()).topMargin = ((int)(FaceStartVryCameraActivity.access$400(this.b).a() - this.a * 170.0F)); + ((ViewGroup.MarginLayoutParams)FaceStartVryCameraActivity.access$900(this.b).getLayoutParams()).topMargin = ((int)(FaceStartVryCameraActivity.access$400(this.b).a() - this.a * 170.0F)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ka + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kb.java new file mode 100755 index 00000000000..14f0fcded9b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kb.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class kb + implements Runnable +{ + kb(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void run() + { + this.a.startOpenAnimation(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kc.java new file mode 100755 index 00000000000..2d546cd8b6b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kc.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.ImageView; + +final class kc + implements Runnable +{ + kc(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void run() + { + FaceStartVryCameraActivity.access$2002(this.a, FaceStartVryCameraActivity.access$2100(this.a).getHeight()); + FaceStartVryCameraActivity.access$2202(this.a, FaceStartVryCameraActivity.access$2300(this.a).getHeight() - FaceStartVryCameraActivity.access$2400(this.a).getBottom() - (FaceStartVryCameraActivity.access$2300(this.a).getHeight() - FaceStartVryCameraActivity.access$2500(this.a).getBottom())); + FaceStartVryCameraActivity.access$2602(this.a, FaceStartVryCameraActivity.access$2700(this.a).getHeight()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kd.java new file mode 100755 index 00000000000..df1a741cadf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kd.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class kd + implements View.OnClickListener +{ + kd(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onClick(View paramView) + { + FaceStartVryCameraActivity.access$1300(this.a); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ke.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ke.java new file mode 100755 index 00000000000..f3c77a0c2d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ke.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class ke + implements View.OnClickListener +{ + ke(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onClick(View paramView) + { + e.c("onBackPressed"); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ke + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kf.java new file mode 100755 index 00000000000..6ad38839ae3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kf.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class kf + implements Animation.AnimationListener +{ + kf(FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + FaceStartVryCameraActivity.access$2700(this.a).setVisibility(8); + FaceStartVryCameraActivity.access$2300(this.a).setVisibility(8); + FaceStartVryCameraActivity.access$700(this.a).a(true, false, 0, 0); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) + { + FaceStartVryCameraActivity.access$700(this.a).a(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kg.java new file mode 100755 index 00000000000..7d32a2b9e4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kg.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.AlphaAnimation; + +final class kg + implements Runnable +{ + private View b; + + public kg(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, View paramView) + { + this.b = paramView; + FaceStartVryCameraActivity.access$3302(paramFaceStartVryCameraActivity, new AlphaAnimation(0.0F, 1.0F)); + FaceStartVryCameraActivity.access$3300(paramFaceStartVryCameraActivity).setDuration(500L); + FaceStartVryCameraActivity.access$3300(paramFaceStartVryCameraActivity).setAnimationListener(new kh(this, paramFaceStartVryCameraActivity)); + } + + public final void run() + { + this.b.startAnimation(FaceStartVryCameraActivity.access$3300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kh.java new file mode 100755 index 00000000000..c4e12082ff8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kh.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class kh + implements Animation.AnimationListener +{ + kh(kg paramkg, FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + kg.a(this.b).setVisibility(0); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) + { + kg.a(this.b).setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ki.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ki.java new file mode 100755 index 00000000000..b1190067752 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ki.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.AlphaAnimation; + +final class ki + implements Runnable +{ + private View b; + + public ki(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, View paramView) + { + this.b = paramView; + FaceStartVryCameraActivity.access$3302(paramFaceStartVryCameraActivity, new AlphaAnimation(1.0F, 0.0F)); + FaceStartVryCameraActivity.access$3300(paramFaceStartVryCameraActivity).setDuration(500L); + FaceStartVryCameraActivity.access$3300(paramFaceStartVryCameraActivity).setAnimationListener(new kj(this, paramFaceStartVryCameraActivity)); + } + + public final void run() + { + this.b.startAnimation(FaceStartVryCameraActivity.access$3300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ki + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kj.java new file mode 100755 index 00000000000..8656b6bb48f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kj.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class kj + implements Animation.AnimationListener +{ + kj(ki paramki, FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + ki.a(this.b).setVisibility(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kk.java new file mode 100755 index 00000000000..ecec715870d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kk.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.RotateAnimation; +import android.view.animation.TranslateAnimation; + +final class kk + implements Runnable +{ + private View b; + private View c; + + public kk(FaceStartVryCameraActivity paramFaceStartVryCameraActivity, View paramView1, View paramView2) + { + this.b = paramView1; + this.c = paramView2; + FaceStartVryCameraActivity.access$2802(paramFaceStartVryCameraActivity, new RotateAnimation(0.0F, 360.0F, 1, 0.5F, 1, 0.5F)); + FaceStartVryCameraActivity.access$2800(paramFaceStartVryCameraActivity).setDuration(250L); + FaceStartVryCameraActivity.access$2902(paramFaceStartVryCameraActivity, new TranslateAnimation(0.0F, 0.0F, 0.0F, -FaceStartVryCameraActivity.access$2000(paramFaceStartVryCameraActivity))); + FaceStartVryCameraActivity.access$2900(paramFaceStartVryCameraActivity).setDuration(500L); + FaceStartVryCameraActivity.access$2800(paramFaceStartVryCameraActivity).setAnimationListener(new kl(this, paramFaceStartVryCameraActivity)); + FaceStartVryCameraActivity.access$2900(paramFaceStartVryCameraActivity).setAnimationListener(new km(this, paramFaceStartVryCameraActivity)); + } + + public final void run() + { + this.c.startAnimation(FaceStartVryCameraActivity.access$2800(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kl.java new file mode 100755 index 00000000000..7b5732ce9b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kl.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import com.tencent.token.ai; +import com.tencent.token.global.RqdApplication; + +final class kl + implements Animation.AnimationListener +{ + kl(kk paramkk, FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + kk.a(this.b).setVisibility(4); + kk.b(this.b).startAnimation(FaceStartVryCameraActivity.access$2900(this.b.a)); + ai.a(RqdApplication.i()).a(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/km.java b/com.tencent.token/classes.jar/com/tencent/token/ui/km.java new file mode 100755 index 00000000000..51a973fbd5d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/km.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class km + implements Animation.AnimationListener +{ + km(kk paramkk, FaceStartVryCameraActivity paramFaceStartVryCameraActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + FaceStartVryCameraActivity.access$2100(this.b.a).setVisibility(4); + FaceStartVryCameraActivity.access$3200(this.b.a).setVisibility(4); + this.b.a.finish(); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.km + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kn.java new file mode 100755 index 00000000000..79911608e01 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kn.java @@ -0,0 +1,54 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.core.bean.JLProtectionInfo; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class kn + extends bo +{ + kn(FindItemsActivity paramFindItemsActivity) + { + super(paramFindItemsActivity); + } + + public final void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + e.b("jianling what=" + paramMessage.what + ", arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + FindItemsActivity.access$002(this.a, (JLProtectionInfo)paramMessage.obj); + paramMessage = new Intent(this.a, JLFindItems.class); + paramMessage.putExtra("is_xy", FindItemsActivity.access$000(this.a).is_xy); + paramMessage.putExtra("detail_max", FindItemsActivity.access$000(this.a).detail_max); + paramMessage.putExtra("detail_min", FindItemsActivity.access$000(this.a).detail_min); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("get jianling protection failed:" + paramMessage.a + "-" + paramMessage.b); + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362193), 2131362297, 2131361804, new ko(this), null); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, 2131361804, new kp(this), null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ko.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ko.java new file mode 100755 index 00000000000..e432fe8f9c8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ko.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class ko + implements DialogInterface.OnClickListener +{ + ko(kn paramkn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ko + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kp.java new file mode 100755 index 00000000000..473ca1670ee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kp.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class kp + implements DialogInterface.OnClickListener +{ + kp(kn paramkn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + e.c("retry: "); + af.a().a(0L, FindItemsActivity.access$100(this.a.a), this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kq.java new file mode 100755 index 00000000000..eb8f3286b18 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kq.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class kq + implements View.OnClickListener +{ + kq(FindItemsActivity paramFindItemsActivity) {} + + public final void onClick(View paramView) + { + af.a().a(0L, FindItemsActivity.access$100(this.a), this.a); + this.a.showProDialog(this.a, 2131361808, 2131362485, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kr.java new file mode 100755 index 00000000000..ede2fc70aad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kr.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class kr + implements View.OnClickListener +{ + kr(FindItemsActivity paramFindItemsActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, JLAppealListActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ks.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ks.java new file mode 100755 index 00000000000..370b69bf8a0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ks.java @@ -0,0 +1,105 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; + +final class ks + extends bo +{ + ks(FindPasswdActivity paramFindPasswdActivity) + { + super(paramFindPasswdActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + Object localObject; + QueryCaptchaResult localQueryCaptchaResult; + do + { + return; + e.c("FindPasswdActivity : ret=" + paramMessage.arg1 + ", what=" + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + case 3071: + if (paramMessage.arg1 != 0) { + break label184; + } + FindPasswdActivity.access$002(this.a, (QueryCaptchaResult)paramMessage.obj); + if (!FindPasswdActivity.access$000(this.a).mNeedCaptcha) { + break label162; + } + paramMessage = this.a; + localObject = FindPasswdActivity.access$100(this.a); + localQueryCaptchaResult = FindPasswdActivity.access$000(this.a); + } + } while ((paramMessage == null) || (paramMessage.isFinishing())); + new CaptchaDialog(paramMessage, (Handler)localObject, localQueryCaptchaResult).show(); + return; + label162: + af.a().m(FindPasswdActivity.access$200(this.a), FindPasswdActivity.access$100(this.a)); + return; + label184: + if (paramMessage.arg1 == 101) + { + af.a().f(FindPasswdActivity.access$200(this.a), 5, FindPasswdActivity.access$100(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + FindPasswdActivity.access$302(this.a, (String)paramMessage.obj); + af.a().m(FindPasswdActivity.access$200(this.a), FindPasswdActivity.access$100(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameQueryResult)paramMessage.obj; + if ((paramMessage.a() == 1) || (paramMessage.f() == 1)) + { + localObject = new Intent(this.a, RealNameFindActivity.class); + ((Intent)localObject).putExtra("source_id", 1); + ((Intent)localObject).putExtra("real_uin", FindPasswdActivity.access$200(this.a)); + if (paramMessage.f() == 1) { + ((Intent)localObject).putExtra("ish5zzb", true); + } + ((Intent)localObject).putExtra("canchange_uin", FindPasswdActivity.access$400(this.a)); + ((Intent)localObject).putExtra("result", paramMessage); + if (FindPasswdActivity.access$500(this.a).booleanValue()) { + ((Intent)localObject).putExtra("not_showLockVerify", true); + } + this.a.startActivity((Intent)localObject); + return; + } + paramMessage = new Intent(this.a, FindPasswdH5Activity.class); + paramMessage.putExtra("real_uin", FindPasswdActivity.access$200(this.a)); + paramMessage.putExtra("source_id", 1); + paramMessage.putExtra("captcha_sig", FindPasswdActivity.access$300(this.a)); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ks + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kt.java new file mode 100755 index 00000000000..62f05288f89 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kt.java @@ -0,0 +1,41 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.p; + +final class kt + implements View.OnClickListener +{ + kt(FindPasswdActivity paramFindPasswdActivity) {} + + public final void onClick(View paramView) + { + paramView = FindPasswdActivity.access$600(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) + { + this.a.showToast(2131362366); + return; + } + p.a().a(System.currentTimeMillis(), 88); + try + { + FindPasswdActivity.access$202(this.a, Long.parseLong(paramView)); + af.a().f(FindPasswdActivity.access$200(this.a), 5, FindPasswdActivity.access$100(this.a)); + return; + } + catch (Exception paramView) + { + this.a.showUserDialog(this.a.getResources().getString(2131362636)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ku.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ku.java new file mode 100755 index 00000000000..efe91bf5870 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ku.java @@ -0,0 +1,211 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.d; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.ds; + +final class ku + extends BaseAdapter +{ + public static boolean b = false; + public boolean a = true; + kw c = new kw(this); + private UtilsGameLockActivity d; + private LayoutInflater e; + private ListView f; + private boolean g; + private g h; + private ds i; + private Handler j; + private View k; + + public ku(UtilsGameLockActivity paramUtilsGameLockActivity, ListView paramListView, Handler paramHandler) + { + this.d = paramUtilsGameLockActivity; + this.e = LayoutInflater.from(paramUtilsGameLockActivity); + this.f = paramListView; + this.j = paramHandler; + } + + public static void d() + { + int n = ba.a().d(); + int m = 0; + while (m < n) + { + g localg = ba.a().a(m); + if (localg != null) { + localg.e = false; + } + m += 1; + } + } + + public final void a() + { + this.g = false; + } + + public final void a(View paramView) + { + this.k = paramView; + this.k.setOnClickListener(new kv(this)); + } + + public final void a(d paramd) + { + boolean bool = false; + if ((this.h == null) || (this.i == null) || (paramd == null)) { + return; + } + this.h.e = false; + int m; + if (paramd.a == 0) + { + m = 1; + if (m == 0) { + break label123; + } + paramd = this.h; + if (!this.h.c) { + bool = true; + } + paramd.c = bool; + AccountPageActivity.mNeedRefreshEval = true; + } + for (;;) + { + if ((this.i == null) || (this.i.c() == null) || (!this.h.b.equals(this.i.c().getText()))) { + break label157; + } + a(this.i, true); + return; + m = 0; + break; + label123: + if (this.h != null) + { + d.a(this.d.getResources(), paramd); + this.d.showTipDialog(2131361919, paramd.c); + } + } + label157: + notifyDataSetChanged(); + } + + public final void a(ds paramds, boolean paramBoolean) + { + boolean bool = true; + if ((paramds == null) || (paramds.a() == null) || (this.d == null) || (this.d.isFinishing())) {} + g localg; + TextView localTextView; + SwitchButton localSwitchButton; + ProgressBar localProgressBar; + do + { + return; + localg = paramds.a(); + localTextView = paramds.c(); + localSwitchButton = paramds.b(); + localProgressBar = paramds.d(); + paramds = paramds.e(); + } while ((localTextView == null) || (localSwitchButton == null) || (localProgressBar == null) || (paramds == null) || (localg == null) || ((paramBoolean) && (!localg.b.equals(localTextView.getText())))); + if (localg.f) { + paramds.setVisibility(0); + } + while ((localg.e) || (!ba.a().n())) + { + localProgressBar.setVisibility(0); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(false); + if (!ba.a().n()) { + this.d.queryGameLockStatus(); + } + localTextView.setText(localg.b); + return; + paramds.setVisibility(4); + } + localProgressBar.setVisibility(4); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(true); + if (!localg.c) {} + for (paramBoolean = bool;; paramBoolean = false) + { + localSwitchButton.a(paramBoolean, false); + break; + } + } + + public final void b() + { + this.h.e = false; + notifyDataSetChanged(); + } + + public final void c() + { + int n = this.h.a; + int[] arrayOfInt = new int[1]; + if (this.h.c) {} + for (int m = 0;; m = 1) + { + arrayOfInt[0] = m; + if ((arrayOfInt.length > 0) && (arrayOfInt[0] == 1)) { + b = true; + } + af localaf = af.a(); + Handler localHandler = this.j; + localaf.a(0L, new int[] { n }, arrayOfInt, "", localHandler); + return; + } + } + + public final int getCount() + { + if (this.a) { + return ba.a().c(); + } + return ba.a().d(); + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.e.inflate(2130903227, paramViewGroup, false); + } + paramView = new ds(localView, ba.a().a(paramInt)); + paramView.b().setTag(paramView); + paramView.b().setOnCheckedChangeListener(this.c); + a(paramView, false); + return localView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ku + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kv.java new file mode 100755 index 00000000000..5554a87ef9c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kv.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class kv + implements View.OnClickListener +{ + kv(ku paramku) {} + + public final void onClick(View paramView) + { + ku.d(this.a).findViewById(2131297271).setVisibility(8); + ku.d(this.a).findViewById(2131297270).setVisibility(8); + ku.d(this.a).setVisibility(8); + this.a.a = false; + this.a.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kw.java new file mode 100755 index 00000000000..40379525d33 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kw.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.ba; +import com.tencent.token.bf; +import com.tencent.token.core.bean.g; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.ds; + +final class kw + implements CompoundButton.OnCheckedChangeListener +{ + kw(ku paramku) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + paramCompoundButton = (ds)((SwitchButton)paramCompoundButton).getTag(); + if (paramCompoundButton == null) {} + g localg; + do + { + return; + localg = paramCompoundButton.a(); + } while ((localg == null) || (paramCompoundButton.h() == null) || (!ba.a().n()) || (paramBoolean != localg.c) || (localg.e) || (ku.a(this.a))); + ku.a(this.a, localg); + ku.a(this.a, paramCompoundButton); + localg.e = true; + ku.b(this.a); + this.a.a(paramCompoundButton, false); + bf.a().a(3, ku.c(this.a).getHandler()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kx.java new file mode 100755 index 00000000000..17dbbbe9a71 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kx.java @@ -0,0 +1,127 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SwitchButton; + +final class kx + extends BaseAdapter +{ + public boolean a = true; + la b = new la(this); + private UtilsGameProtectActivity c; + private LayoutInflater d; + private ListView e; + private Handler f; + private View g; + + public kx(UtilsGameProtectActivity paramUtilsGameProtectActivity, ListView paramListView, Handler paramHandler) + { + this.c = paramUtilsGameProtectActivity; + this.d = LayoutInflater.from(paramUtilsGameProtectActivity); + this.e = paramListView; + this.f = paramHandler; + } + + public final void a(View paramView) + { + this.g = paramView; + this.g.setOnClickListener(new kz(this)); + } + + public final void a(lb paramlb, boolean paramBoolean) + { + boolean bool = true; + if ((paramlb == null) || (paramlb.f == null) || (this.c == null) || (this.c.isFinishing())) {} + g localg; + TextView localTextView; + SwitchButton localSwitchButton; + ProgressBar localProgressBar; + do + { + do + { + return; + localg = paramlb.f; + localTextView = paramlb.b; + localSwitchButton = paramlb.d; + localProgressBar = paramlb.c; + paramlb = paramlb.e; + } while ((localTextView == null) || (localSwitchButton == null) || (localProgressBar == null) || (paramlb == null) || (localg == null)); + e.c("game protect: " + localg.b + ", " + localTextView.getText()); + } while ((paramBoolean) && (!localg.b.equals(localTextView.getText()))); + if (localg.f) { + paramlb.setVisibility(0); + } + while ((localg.e) || (!ba.a().o())) + { + localProgressBar.setVisibility(0); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(false); + if ((!ba.a().o()) && (!this.c.mIsIniting)) { + this.c.queryGameProtectStatus(); + } + localTextView.setText(localg.b); + return; + paramlb.setVisibility(4); + } + localProgressBar.setVisibility(4); + localSwitchButton.setVisibility(0); + localSwitchButton.setEnabled(true); + if (!localg.c) {} + for (paramBoolean = bool;; paramBoolean = false) + { + localSwitchButton.a(paramBoolean, false); + break; + } + } + + public final int getCount() + { + if (this.a) { + return ba.a().e(); + } + return ba.a().f(); + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + g localg = ba.a().b(paramInt); + View localView = paramView; + if (paramView == null) { + localView = this.d.inflate(2130903232, paramViewGroup, false); + } + e.c("game protect getview: " + localg.a); + paramView = new lb(this, localView, localg); + paramView.d.setTag(paramView); + paramView.d.setOnCheckedChangeListener(this.b); + a(paramView, false); + return localView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ky.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ky.java new file mode 100755 index 00000000000..67a2141685e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ky.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.g; +import com.tencent.token.global.d; +import com.tencent.token.utils.UserTask; + +final class ky + extends UserTask +{ + private g c = null; + + ky(kx paramkx, lb paramlb) {} + + private void a(d paramd) + { + if (this.c == null) { + return; + } + d.a(kx.b(this.b).getResources(), paramd); + kx.b(this.b).showTipDialog(2131361919, paramd.c); + } + + public final void a() + { + if (this.c == null) {} + do + { + return; + this.c.e = false; + localObject = new d((byte)0); + ((d)localObject).a(10024, null, null); + a((d)localObject); + } while (kx.a(this.b) == null); + Object localObject = kx.a(this.b).obtainMessage(3017); + kx.a(this.b).sendMessage((Message)localObject); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ky + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/kz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/kz.java new file mode 100755 index 00000000000..eaaf4f491b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/kz.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class kz + implements View.OnClickListener +{ + kz(kx paramkx) {} + + public final void onClick(View paramView) + { + kx.c(this.a).findViewById(2131297271).setVisibility(8); + kx.c(this.a).findViewById(2131297270).setVisibility(8); + kx.c(this.a).setVisibility(8); + this.a.a = false; + this.a.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.kz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/l.java b/com.tencent.token/classes.jar/com/tencent/token/ui/l.java new file mode 100755 index 00000000000..a919ac21896 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/l.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.widget.ImageView; + +final class l + implements Animation.AnimationListener +{ + l(k paramk, ImageView paramImageView) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + this.a.setVisibility(8); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/la.java b/com.tencent.token/classes.jar/com/tencent/token/ui/la.java new file mode 100755 index 00000000000..4f5f763ee41 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/la.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.ba; +import com.tencent.token.core.bean.g; +import com.tencent.token.ui.base.SwitchButton; + +final class la + implements CompoundButton.OnCheckedChangeListener +{ + la(kx paramkx) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + paramCompoundButton = (lb)((SwitchButton)paramCompoundButton).getTag(); + if (paramCompoundButton == null) {} + View localView; + do + { + return; + localObject = paramCompoundButton.f; + localView = paramCompoundButton.a; + } while ((localObject == null) || (localView == null) || (!ba.a().o()) || (paramBoolean != ((g)localObject).c) || (((g)localObject).e)); + ((g)localObject).e = true; + this.a.a(paramCompoundButton, false); + Object localObject = this.a; + UtilsLoginProtectActivity.mNeedRefreshLoginProtect = true; + AccountPageActivity.mNeedRefreshEval = true; + new ky((kx)localObject, paramCompoundButton).a(new g[0]); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.la + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lb.java new file mode 100755 index 00000000000..5662fbffc15 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lb.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.core.bean.g; +import com.tencent.token.ui.base.SwitchButton; + +final class lb +{ + View a; + TextView b; + ProgressBar c; + SwitchButton d; + ImageView e; + g f; + + lb(kx paramkx, View paramView, g paramg) + { + this.a = paramView; + if (this.a == null) { + return; + } + this.f = paramg; + this.d = ((SwitchButton)this.a.findViewById(2131297213)); + this.b = ((TextView)this.a.findViewById(2131297211)); + this.c = ((ProgressBar)this.a.findViewById(2131297214)); + this.e = ((ImageView)this.a.findViewById(2131297212)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lc.java new file mode 100755 index 00000000000..7e840eb1343 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class lc + extends UserTask +{ + lc(GetBarcodeVerifyMsgActivity paramGetBarcodeVerifyMsgActivity) {} + + public final void a() + { + super.a(); + GetBarcodeVerifyMsgActivity.access$102(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ld.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ld.java new file mode 100755 index 00000000000..1c14435d31d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ld.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ld + implements DialogInterface.OnClickListener +{ + ld(lc paramlc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ld + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/le.java b/com.tencent.token/classes.jar/com/tencent/token/ui/le.java new file mode 100755 index 00000000000..c13ad8ef7f9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/le.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class le + implements DialogInterface.OnClickListener +{ + le(lc paramlc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + paramDialogInterface = new Intent(this.a.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + this.a.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.le + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lf.java new file mode 100755 index 00000000000..372f48ab7dc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class lf + implements DialogInterface.OnCancelListener +{ + lf(lc paramlc) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lg.java new file mode 100755 index 00000000000..2985023d401 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lg.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class lg + implements DialogInterface.OnClickListener +{ + lg(lc paramlc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.gotoVerify(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lh.java new file mode 100755 index 00000000000..78291e76997 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lh.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class lh + implements DialogInterface.OnClickListener +{ + lh(lc paramlc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/li.java b/com.tencent.token/classes.jar/com/tencent/token/ui/li.java new file mode 100755 index 00000000000..4b909638331 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/li.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class li + implements DialogInterface.OnClickListener +{ + li(lc paramlc) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.li + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lj.java new file mode 100755 index 00000000000..88ff6859c31 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnDismissListener; + +final class lj + implements DialogInterface.OnDismissListener +{ + lj(GetBarcodeVerifyMsgActivity paramGetBarcodeVerifyMsgActivity) {} + + public final void onDismiss(DialogInterface paramDialogInterface) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lk.java new file mode 100755 index 00000000000..7a25152d704 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class lk + implements DialogInterface.OnClickListener +{ + lk(GetBarcodeVerifyMsgActivity paramGetBarcodeVerifyMsgActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ll.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ll.java new file mode 100755 index 00000000000..3d2253859ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ll.java @@ -0,0 +1,49 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.EditText; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +final class ll + extends bo +{ + ll(GetOtherBarcodeActivity paramGetOtherBarcodeActivity) + { + super(paramGetOtherBarcodeActivity); + } + + public final void handleMessage(Message paramMessage) + { + String str = GetOtherBarcodeActivity.access$000(this.a).getText().toString(); + switch (paramMessage.what) + { + default: + return; + } + QQUser localQQUser = ax.a().e(); + if (localQQUser != null) + { + byte[] arrayOfByte = (byte[])paramMessage.obj; + if ((paramMessage.arg1 == 0) && (arrayOfByte != null)) + { + paramMessage = "https://ssl.ptlogin2.qq.com/jump?keyindex=19&clientuin=" + localQQUser.mRealUin + "&clientkey=" + s.a(arrayOfByte) + "&u1=" + str; + e.c("skey: url=" + paramMessage); + } + } + for (;;) + { + s.a(this.a, paramMessage); + return; + paramMessage = str; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ll + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lm.java new file mode 100755 index 00000000000..dc3a309724a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lm.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class lm + implements View.OnClickListener +{ + lm(GetOtherBarcodeActivity paramGetOtherBarcodeActivity) {} + + public final void onClick(View paramView) + { + paramView = GetOtherBarcodeActivity.access$000(this.a).getText().toString(); + QQUser localQQUser = ax.a().e(); + if ((localQQUser != null) && (paramView.contains("qq.com"))) + { + x.a(RqdApplication.i()).a("" + localQQUser.mRealUin, GetOtherBarcodeActivity.access$100(this.a)); + return; + } + s.a(this.a, paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ln.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ln.java new file mode 100755 index 00000000000..9bcfd7b78b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ln.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +final class ln + extends bo +{ + ln(HelpActivity paramHelpActivity) + { + super(paramHelpActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + HelpActivity.access$100(this.a, HelpActivity.access$000(this.a)); + return; + } + QQUser localQQUser = ax.a().e(); + if (localQQUser != null) + { + byte[] arrayOfByte = (byte[])paramMessage.obj; + if ((paramMessage.arg1 == 0) && (arrayOfByte != null)) + { + HelpActivity.access$002(this.a, "https://ssl.ptlogin2.qq.com/jump?keyindex=19&clientuin=" + localQQUser.mRealUin + "&clientkey=" + s.a(arrayOfByte) + "&u1=" + HelpActivity.access$000(this.a)); + e.c("skey: url=" + HelpActivity.access$000(this.a)); + } + } + HelpActivity.access$100(this.a, HelpActivity.access$000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ln + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lo.java new file mode 100755 index 00000000000..469415eceed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lo.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class lo + implements View.OnClickListener +{ + lo(HelpActivity paramHelpActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SettingSubmitCommentActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lp.java new file mode 100755 index 00000000000..d623f98e3cf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lp.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler.Callback; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class lp + implements Handler.Callback +{ + lp(IndexActivity paramIndexActivity) {} + + public final boolean handleMessage(Message paramMessage) + { + e.a("Callback=" + paramMessage.arg1); + if (paramMessage.arg1 == 270) + { + this.a.dismissDialog(); + paramMessage = (UpgradeDeterminResult)((d)paramMessage.obj).d; + e.a("mSmsPrefix=" + paramMessage.mSmsPrefix); + e.a("mMobileMask=" + paramMessage.mMobileMask); + QQUser localQQUser = ax.a().e(); + e.a("currentUser=" + localQQUser); + Intent localIntent = new Intent(this.a, VryMobileForStrategyActivity.class); + localIntent.setFlags(536870912); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 13); + localIntent.putExtra("intent.upgradedetermin", paramMessage); + this.a.startActivity(localIntent); + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lq.java new file mode 100755 index 00000000000..c346f838201 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lq.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class lq + extends UserTask +{ + lq(IndexActivity paramIndexActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lr.java new file mode 100755 index 00000000000..7ebac2b55ec --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lr.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class lr + implements DialogInterface.OnClickListener +{ + lr(lq paramlq) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.setResult(0); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ls.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ls.java new file mode 100755 index 00000000000..cb166a23b53 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ls.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class ls + extends UserTask +{ + ls(IndexActivity paramIndexActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ls + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lt.java new file mode 100755 index 00000000000..a821416a895 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lt.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import android.widget.TabHost; +import android.widget.TabHost.OnTabChangeListener; + +final class lt + implements TabHost.OnTabChangeListener +{ + lt(IndexActivity paramIndexActivity) {} + + public final void onTabChanged(String paramString) + { + int i = IndexActivity.access$1000(this.a).getCurrentTab(); + IndexActivity.access$2100(this.a, i); + if (i == 2) { + IndexActivity.access$600(this.a).setVisibility(4); + } + IndexActivity.access$2200(this.a); + IndexActivity.access$2300(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lu.java new file mode 100755 index 00000000000..0e0c8a36759 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lu.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnClickListener; +import android.view.View; +import android.view.View.OnClickListener; + +final class lu + implements View.OnClickListener +{ + lu(IndexActivity paramIndexActivity, DialogInterface.OnClickListener paramOnClickListener) {} + + public final void onClick(View paramView) + { + this.b.dismissDialog(); + this.a.onClick(IndexActivity.access$1900(this.b), -1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lv.java new file mode 100755 index 00000000000..1128080e8a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lv.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class lv + implements View.OnClickListener +{ + lv(IndexActivity paramIndexActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lw.java new file mode 100755 index 00000000000..c16a04e0e5f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lw.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface.OnClickListener; +import android.view.View; +import android.view.View.OnClickListener; + +final class lw + implements View.OnClickListener +{ + lw(IndexActivity paramIndexActivity, DialogInterface.OnClickListener paramOnClickListener) {} + + public final void onClick(View paramView) + { + this.b.dismissDialog(); + this.a.onClick(IndexActivity.access$1900(this.b), -2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lx.java new file mode 100755 index 00000000000..32dac877e9b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lx.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class lx + implements View.OnClickListener +{ + lx(IndexActivity paramIndexActivity) {} + + public final void onClick(View paramView) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ly.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ly.java new file mode 100755 index 00000000000..5cbb1a211c8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ly.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ly + implements DialogInterface.OnClickListener +{ + ly(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.setResult(0); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ly + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/lz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/lz.java new file mode 100755 index 00000000000..ca743dbe904 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/lz.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class lz + implements DialogInterface.OnClickListener +{ + lz(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.s_FromOtherApp = true; + IndexActivity.access$2400(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.lz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/m.java b/com.tencent.token/classes.jar/com/tencent/token/ui/m.java new file mode 100755 index 00000000000..98284f7d8b3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/m.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.global.g; +import com.tencent.token.ui.base.SwitchButton; +import com.tencent.token.ui.base.UtilsAccountLockTipDialog; +import com.tencent.token.ui.base.ds; + +final class m + implements CompoundButton.OnCheckedChangeListener +{ + m(k paramk) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + paramCompoundButton = (ds)((SwitchButton)paramCompoundButton).getTag(); + if (paramCompoundButton == null) { + return; + } + if ((!g.b()) && (!paramBoolean)) { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit(); + localEditor.putBoolean("utils_account_lock_tip", true); + localEditor.commit(); + new UtilsAccountLockTipDialog(k.a(this.a), k.b(this.a), paramCompoundButton, paramBoolean).show(); + return; + } + catch (Exception localException) + { + for (;;) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + } + this.a.b(paramCompoundButton, paramBoolean); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ma.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ma.java new file mode 100755 index 00000000000..90b8981977a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ma.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ma + implements DialogInterface.OnClickListener +{ + ma(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.setResult(0); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ma + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mb.java new file mode 100755 index 00000000000..507d7526bab --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mb.java @@ -0,0 +1,345 @@ +package com.tencent.token.ui; + +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import android.widget.ImageView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.core.bean.UtilFucntionItem; +import com.tencent.token.el; +import com.tencent.token.gb; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.utils.t; +import java.util.ArrayList; + +final class mb + extends mu +{ + mb(IndexActivity paramIndexActivity) + { + super(paramIndexActivity); + } + + public final void handleMessage(Message paramMessage) + { + int i = paramMessage.arg1; + Object localObject1; + Object localObject2; + int j; + switch (paramMessage.what) + { + default: + case 3026: + case 3030: + case 1019: + case 3024: + case 4097: + case 4098: + do + { + do + { + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (boolean bool = true;; bool = false) + { + paramMessage = new Intent(this.a, NoCheckWithAuthActivity.class); + paramMessage.putExtra("bindTokenSucc", true); + paramMessage.putExtra("bindMobileSucc", bool); + this.a.startActivity(paramMessage); + return; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (UpgradeDeterminResult)paramMessage.obj; + IndexActivity.access$100(this.a, paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + paramMessage = (byte[])paramMessage.obj; + IndexActivity.access$202(this.a, paramMessage); + } while (paramMessage == null); + IndexActivity.access$202(this.a, paramMessage); + af.a().a(this.a.curruser.mRealUin, IndexActivity.access$200(this.a), IndexActivity.access$300(this.a), 2); + return; + if (i == 0) + { + af.a().a(this.a.curruser.mRealUin, IndexActivity.access$200(this.a), IndexActivity.access$300(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showToast(paramMessage.c); + return; + localObject1 = (byte[])paramMessage.obj; + if ((i == 0) && (localObject1 != null)) + { + IndexActivity.access$202(this.a, (byte[])localObject1); + af.a().a(this.a.curruser.mRealUin, IndexActivity.access$200(this.a), IndexActivity.access$300(this.a), 2); + return; + } + if (i != 2) { + break; + } + } while (this.a.isFinishing()); + new WtloginCaptchaDialog(this.a, IndexActivity.access$300(this.a), Long.toString(this.a.curruser.mRealUin)).show(); + return; + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new mc(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + case 1006: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + localObject1 = new Intent(this.a, UnbindUinActivity.class); + localObject2 = new Bundle(); + QQUser localQQUser = ax.a().e(); + ((Bundle)localObject2).putLong("hash_uin", localQQUser.mUin); + ((Bundle)localObject2).putLong("real_uin", localQQUser.mRealUin); + ((Intent)localObject1).putExtra("com.tencent.real_uin", (Bundle)localObject2); + this.a.startActivity((Intent)localObject1); + } + break; + case 3041: + if (paramMessage.arg1 == 0) + { + paramMessage = (ConfigResult)paramMessage.obj; + if (paramMessage != null) + { + if ((paramMessage.mStartUpImgUrl != null) && (paramMessage.mStartUpImgUrl.length() > 0)) + { + long l = ag.c().r() / 1000L; + if ((paramMessage.mStartUpImgStartTime > 0L) && (paramMessage.mStartUpImgEndTime > 0L) && (l < paramMessage.mStartUpImgEndTime) && ((t.a.mStartUpImgStartTime != paramMessage.mStartUpImgStartTime) || ((t.a.mStartUpImgUrl != null) && (!t.a.mStartUpImgUrl.equals(paramMessage.mStartUpImgUrl))) || (t.a.mStartUpImgEndTime != paramMessage.mStartUpImgEndTime))) { + af.a().a(paramMessage, IndexActivity.access$300(this.a)); + } + } + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.utils_icon_flag")); + e.b("IndexActivity--->to UtilsActivity"); + if ((paramMessage.mActivityName != null) && (paramMessage.mActivityUrl != null) && (paramMessage.mActivityUrl.length() > 0) && (this.a.mLocalConfig.mActivityVersion < paramMessage.mActivityVersion)) + { + if (IndexActivity.access$500(this.a) != 2) { + IndexActivity.access$600(this.a).setVisibility(0); + } + SettingPageActivity.mShowConfigNew = true; + } + if ((paramMessage.headlinetip != null) && (paramMessage.headlineurl != null) && (paramMessage.headlineurl.length() > 0) && (this.a.mLocalConfig.headlineVersion < paramMessage.headlineVersion)) + { + if (IndexActivity.access$500(this.a) != 2) { + IndexActivity.access$600(this.a).setVisibility(0); + } + SettingPageActivity.mShowSafeNew = true; + } + if ((paramMessage.fucntionItemlist != null) && (paramMessage.fucntionItemlist.size() > 0)) + { + i = 0; + if (i < paramMessage.fucntionItemlist.size()) + { + localObject1 = (UtilFucntionItem)paramMessage.fucntionItemlist.get(i); + if ((this.a.mLocalConfig.fucntionItemlist != null) && (this.a.mLocalConfig.fucntionItemlist.size() > 0)) + { + j = 0; + label1387: + if (j >= this.a.mLocalConfig.fucntionItemlist.size()) { + break label1804; + } + localObject2 = (UtilFucntionItem)this.a.mLocalConfig.fucntionItemlist.get(j); + if (!((UtilFucntionItem)localObject2).a().equals(((UtilFucntionItem)localObject1).a())) { + break label2183; + } + if (((UtilFucntionItem)localObject2).b() < ((UtilFucntionItem)localObject1).b()) + { + if (!((UtilFucntionItem)localObject1).a().equals("101")) { + break label1672; + } + SettingPageActivity.mShowQRNew = true; + label1470: + if (IndexActivity.access$500(this.a) != 2) { + IndexActivity.access$600(this.a).setVisibility(0); + } + } + } + } + } + } + } + break; + } + label2183: + for (int k = 1;; k = 0) + { + for (;;) + { + if ((k == 0) && (((UtilFucntionItem)localObject1).b() > 0)) + { + if (!((UtilFucntionItem)localObject1).a().equals("101")) { + break label1714; + } + SettingPageActivity.mShowQRNew = true; + } + for (;;) + { + if (IndexActivity.access$500(this.a) != 2) { + IndexActivity.access$600(this.a).setVisibility(0); + } + j += 1; + break label1387; + localObject1 = (d)paramMessage.obj; + e.c("err " + ((d)localObject1).a); + d.a(this.a.getResources(), (d)localObject1); + e.c("query up flow failed:" + ((d)localObject1).a + "-" + ((d)localObject1).b + "-" + ((d)localObject1).c); + this.a.showTipDialog(2131361907, ((d)localObject1).c); + break; + label1672: + if (((UtilFucntionItem)localObject1).a().equals("102")) + { + SettingPageActivity.mShowQueryNew = true; + break label1470; + } + if (!((UtilFucntionItem)localObject1).a().equals("103")) { + break label1470; + } + SettingPageActivity.mShowUtilNew = true; + break label1470; + label1714: + if (((UtilFucntionItem)localObject1).a().equals("102")) { + SettingPageActivity.mShowQueryNew = true; + } else if (((UtilFucntionItem)localObject1).a().equals("103")) { + SettingPageActivity.mShowUtilNew = true; + } + } + if (((UtilFucntionItem)localObject1).b() > 0) + { + if (!((UtilFucntionItem)localObject1).a().equals("101")) { + break label1811; + } + SettingPageActivity.mShowQRNew = true; + } + for (;;) + { + if (IndexActivity.access$500(this.a) != 2) { + IndexActivity.access$600(this.a).setVisibility(0); + } + label1804: + i += 1; + break; + label1811: + if (((UtilFucntionItem)localObject1).a().equals("102")) { + SettingPageActivity.mShowQueryNew = true; + } else if (((UtilFucntionItem)localObject1).a().equals("103")) { + SettingPageActivity.mShowUtilNew = true; + } + } + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.activity_flag")); + try + { + gb.a(); + if (!gb.f()) { + break; + } + paramMessage = new HandlerThread("loguploader", 1); + paramMessage.start(); + paramMessage = new Handler(paramMessage.getLooper()); + paramMessage.postDelayed(new md(this, paramMessage), 30000L); + return; + } + catch (Exception paramMessage) + { + return; + } + } + if ((this.a.isFinishing()) || (paramMessage.arg1 != 0)) { + break; + } + AccountPageActivity.mNeedRefreshEval = true; + paramMessage = (el)paramMessage.obj; + if ((paramMessage.a != 1) || (paramMessage.b == null) || (paramMessage.b.length() <= 0)) { + break; + } + IndexActivity.access$702(this.a, new AlertDialog.Builder(this.a).setTitle(2131362452).setMessage(paramMessage.b).setPositiveButton(2131362453, new mg(this, paramMessage)).setNegativeButton(2131361804, new mf(this)).setOnCancelListener(new me(this)).create()); + IndexActivity.access$700(this.a).show(); + return; + if (paramMessage.arg1 != 0) { + break; + } + this.a.onResume(); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + return; + if ((this.a.isFinishing()) || (paramMessage.arg1 != 0)) { + break; + } + paramMessage = (String)paramMessage.obj; + af.a().d(paramMessage, IndexActivity.access$300(this.a)); + return; + if (paramMessage.arg1 != 165) { + break; + } + if (!RqdApplication.b) + { + IndexActivity.access$800(this.a); + return; + } + IndexActivity.access$902(this.a, true); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mc.java new file mode 100755 index 00000000000..36049725267 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class mc + implements DialogInterface.OnClickListener +{ + mc(mb parammb) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.access$400(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/md.java b/com.tencent.token/classes.jar/com/tencent/token/ui/md.java new file mode 100755 index 00000000000..ea4470287ca --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/md.java @@ -0,0 +1,109 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.gb; +import com.tencent.token.utils.i; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; + +final class md + implements Runnable +{ + md(mb parammb, Handler paramHandler) {} + + public final void run() + { + boolean bool1 = false; + com.tencent.token.global.e.a("now check log upload"); + File localFile = new File(gb.b(), "upload.file"); + int i; + String str; + if (localFile.exists()) + { + gb.a(); + i = gb.g(); + if (i > 0) + { + str = new SimpleDateFormat("yyyy-MM-dd").format(Long.valueOf(i * 1000L)) + "_android.zip"; + af.a().a(this.a, localFile, str); + } + } + for (;;) + { + return; + if (i < 0) + { + com.tencent.token.global.e.a("upload log fail date=" + i); + return; + } + str = new SimpleDateFormat("yyyy-MM-dd").format(Long.valueOf(ag.c().r())) + "_android.zip"; + break; + gb.a(); + i = gb.g(); + if (i > 0) + { + str = new SimpleDateFormat("yyyy-MM-dd").format(Long.valueOf(i * 1000L)) + "_android.zip"; + localObject = gb.a.a(i * 1000L); + if ((localObject == null) || (!((File)localObject).isDirectory())) { + throw new NullPointerException(); + } + gb.a(); + localObject = gb.a.b((File)localObject); + localObject = gb.a.a((File[])localObject); + try + { + boolean bool2 = localFile.createNewFile(); + bool1 = bool2; + } + catch (IOException localIOException1) + { + for (;;) + { + com.tencent.token.global.e.a("create uploadFile failed"); + } + } + if ((!bool1) || (!i.a((File[])localObject, localFile))) { + continue; + } + af.a().a(IndexActivity.access$300(this.b.a), localFile, str); + return; + } + if (i < 0) + { + com.tencent.token.global.e.a("upload log fail date=" + i); + return; + } + str = new SimpleDateFormat("yyyy-MM-dd").format(Long.valueOf(ag.c().r())) + "_android.zip"; + Object localObject = gb.a.a(); + try + { + bool1 = localFile.createNewFile(); + if (!bool1) { + continue; + } + if (!i.a(new File[] { localObject }, localFile)) { + continue; + } + af.a().a(IndexActivity.access$300(this.b.a), localFile, str); + return; + } + catch (IOException localIOException2) + { + for (;;) + { + com.tencent.token.global.e.a("create uploadFile failed"); + bool1 = false; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.md + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/me.java b/com.tencent.token/classes.jar/com/tencent/token/ui/me.java new file mode 100755 index 00000000000..ec068771cc1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/me.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import com.tencent.token.af; + +final class me + implements DialogInterface.OnCancelListener +{ + me(mb parammb) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + af.a().b(IndexActivity.access$300(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.me + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mf.java new file mode 100755 index 00000000000..9db41913c1e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mf.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class mf + implements DialogInterface.OnClickListener +{ + mf(mb parammb) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.access$700(this.a.a).dismiss(); + af.a().b(IndexActivity.access$300(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mg.java new file mode 100755 index 00000000000..c9819774205 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mg.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.el; + +final class mg + implements DialogInterface.OnClickListener +{ + mg(mb parammb, el paramel) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.b.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + paramDialogInterface.putExtra("intent.uin", this.a.c); + this.b.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mh.java new file mode 100755 index 00000000000..c22d7c96dec --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mh.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class mh + implements DialogInterface.OnClickListener +{ + mh(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.access$1200(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mi.java new file mode 100755 index 00000000000..2646540ea31 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mi.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class mi + implements DialogInterface.OnClickListener +{ + mi(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.setResult(0); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mj.java new file mode 100755 index 00000000000..3bd62eabf8a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mj.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class mj + implements DialogInterface.OnClickListener +{ + mj(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mk.java new file mode 100755 index 00000000000..ecd4f6551bb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mk.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.utils.s; + +final class mk + implements DialogInterface.OnClickListener +{ + mk(IndexActivity paramIndexActivity, String paramString) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ml.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ml.java new file mode 100755 index 00000000000..a12ed56114d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ml.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.utils.s; + +final class ml + implements DialogInterface.OnClickListener +{ + ml(IndexActivity paramIndexActivity, String paramString) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + s.a(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ml + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mm.java new file mode 100755 index 00000000000..700fa736c0d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mm.java @@ -0,0 +1,71 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.widget.ImageView; +import android.widget.TabHost; +import com.tencent.token.ui.base.SlidingMenuView; + +final class mm + extends BroadcastReceiver +{ + mm(IndexActivity paramIndexActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + int i = 1; + paramContext = paramIntent.getAction(); + if (paramContext.equals("com.tencent.token.push_ipc_msg")) { + if (IndexActivity.access$1000(this.a).getCurrentTab() != 0) + { + AccountPageActivity.mNeedShowIpcMsg = true; + AccountPageActivity.mNeedRefreshEval = true; + IndexActivity.isShowAccountTip = true; + if (IndexActivity.access$1100(this.a) != null) { + IndexActivity.access$1100(this.a).setVisibility(0); + } + } + } + label138: + do + { + do + { + return; + if (!paramContext.equals("com.tencent.token.push_opr_msg")) { + break label138; + } + if (IndexActivity.access$1000(this.a).getCurrentTab() == 0) { + break; + } + AccountPageActivity.mNeedRefreshEval = true; + IndexActivity.isShowAccountTip = true; + } while (IndexActivity.access$1100(this.a) == null); + IndexActivity.access$1100(this.a).setVisibility(0); + return; + paramContext = new Intent("com.tencent.token.account_opr_msg"); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(paramContext); + return; + if (paramContext.equals("com.tencent.token.open_menu")) + { + paramContext = this.a.slidingMenuView; + if (this.a.slidingMenuView.a() == 0) {} + for (;;) + { + paramContext.a(i); + return; + i = 0; + } + } + } while (!paramContext.equals("com.tencent.token.refresh_menu")); + this.a.remsumeMenu(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mn.java new file mode 100755 index 00000000000..643454883d0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mn.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class mn + implements DialogInterface.OnClickListener +{ + mn(IndexActivity paramIndexActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.access$400(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mo.java new file mode 100755 index 00000000000..3459d8e6c05 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mo.java @@ -0,0 +1,78 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ah; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.p; +import com.tencent.token.ui.base.SlidingMenuView; + +final class mo + implements View.OnClickListener +{ + mo(IndexActivity paramIndexActivity) {} + + public final void onClick(View paramView) + { + switch (paramView.getId()) + { + } + do + { + do + { + return; + } while (this.a.curruser.mIsBinded); + IndexActivity.access$1200(this.a); + this.a.slidingMenuView.a(1); + return; + paramView = ax.a().b(1); + IndexActivity.access$1300(this.a, paramView); + return; + paramView = ax.a().b(2); + IndexActivity.access$1300(this.a, paramView); + return; + IndexActivity.access$1300(this.a, this.a.curruser); + return; + paramView = new Intent(this.a, SettingSubmitCommentActivity.class); + this.a.startActivity(paramView); + return; + paramView = new Intent(this.a, AssistantRecommendFriendQrcode.class); + this.a.startActivity(paramView); + return; + paramView = new Intent(this.a, AboutActivity.class); + this.a.startActivity(paramView); + return; + paramView = new Intent(this.a, CorrectTokenActivity.class); + this.a.startActivity(paramView); + return; + p.a().a(System.currentTimeMillis(), 6); + if ((ah.a().c()) && (ah.a().e() == 1)) {} + for (paramView = new Intent(this.a, StartPwdDigitSelActivity.class);; paramView = new Intent(this.a, StartPwdGestureIndexActivity.class)) + { + this.a.startActivity(paramView); + ah.a(); + ah.d("startpwd_tip_newflag"); + return; + } + } while (this.a.curruser == null); + if (!this.a.curruser.mIsBinded) + { + this.a.showUserDialog(2131361808, this.a.getString(2131361912), 2131361800, 2131361804, new mp(this), null); + return; + } + long l = this.a.curruser.mUin; + this.a.slidingMenuView.a(1); + af.a().g(l, IndexActivity.access$300(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361905, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mp.java new file mode 100755 index 00000000000..463174c7ce5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mp.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import com.tencent.token.ax; +import com.tencent.token.ui.base.SlidingMenuView; + +final class mp + implements DialogInterface.OnClickListener +{ + mp(mo parammo) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + IndexActivity.access$1400(this.a.a, this.a.a.curruser); + ax.a().n(); + this.a.a.slidingMenuView.a(1); + paramDialogInterface = new Intent(this.a.a, IndexActivity.class); + paramDialogInterface.putExtra("index_from", 16); + this.a.a.startActivity(paramDialogInterface); + this.a.a.remsumeMenu(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mq.java new file mode 100755 index 00000000000..90684a01fa4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mq.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.widget.TabHost; +import com.tencent.token.ui.base.SlidingMenuView; +import com.tencent.token.ui.base.da; + +final class mq + implements da +{ + mq(IndexActivity paramIndexActivity) {} + + public final void a(boolean paramBoolean) + { + if (IndexActivity.access$1000(this.a).getCurrentTab() == 1) + { + Intent localIntent = new Intent("com.tencent.token.siderbar.statechanged"); + localIntent.putExtra("cscreen", this.a.slidingMenuView.a()); + localIntent.putExtra("nscreen", this.a.slidingMenuView.b()); + localIntent.putExtra("cstate", paramBoolean); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(localIntent); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mr.java new file mode 100755 index 00000000000..6c5ca3c35d8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mr.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; + +final class mr + implements Runnable +{ + mr(IndexActivity paramIndexActivity) {} + + public final void run() + { + af.a().g(IndexActivity.access$300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ms.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ms.java new file mode 100755 index 00000000000..a3c5ccae444 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ms.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.WindowManager; +import com.tencent.token.af; +import com.tencent.token.utils.t; + +final class ms + implements Runnable +{ + ms(IndexActivity paramIndexActivity) {} + + public final void run() + { + int i = this.a.getWindowManager().getDefaultDisplay().getWidth(); + int j = this.a.getWindowManager().getDefaultDisplay().getHeight(); + DisplayMetrics localDisplayMetrics = new DisplayMetrics(); + this.a.getWindowManager().getDefaultDisplay().getMetrics(localDisplayMetrics); + t.b(this.a.mLocalConfig); + af.a().a(i, j, localDisplayMetrics.densityDpi, IndexActivity.access$300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ms + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mt.java new file mode 100755 index 00000000000..7514dbc17e8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mt.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; + +final class mt + implements Runnable +{ + mt(IndexActivity paramIndexActivity) {} + + public final void run() + { + if (ag.c().g()) { + return; + } + af.a().e(IndexActivity.access$300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mu.java new file mode 100755 index 00000000000..e34c9db691b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mu.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; + +public class mu + extends Handler +{ + public mu(IndexActivity paramIndexActivity) + { + super(IndexActivity.access$000(paramIndexActivity)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mv.java new file mode 100755 index 00000000000..2c05a77d9c3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mv.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import java.io.Serializable; +import java.util.ArrayList; + +final class mv + implements AdapterView.OnItemClickListener +{ + mv(JLAppealListActivity paramJLAppealListActivity) {} + + public final void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong) + { + paramAdapterView = new Intent(this.a, JLAppealListDetailActivity.class); + paramAdapterView.putExtra("content", (Serializable)JLAppealListActivity.access$000(this.a).get(paramInt)); + this.a.startActivity(paramAdapterView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mw.java new file mode 100755 index 00000000000..ba118e5a520 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mw.java @@ -0,0 +1,57 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.global.d; +import java.util.ArrayList; + +final class mw + extends bo +{ + mw(JLAppealListActivity paramJLAppealListActivity) + { + super(paramJLAppealListActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + return; + this.a.pb.setVisibility(8); + if (paramMessage.arg1 != 0) { + break; + } + JLAppealListActivity.access$002(this.a, (ArrayList)paramMessage.obj); + JLAppealListActivity.access$100(this.a).notifyDataSetChanged(); + } while ((JLAppealListActivity.access$000(this.a) != null) && (JLAppealListActivity.access$000(this.a).size() != 0)); + JLAppealListActivity.access$200(this.a).setVisibility(8); + this.a.ll.setVisibility(0); + return; + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.setContentView(2130903121); + ImageView localImageView = (ImageView)this.a.findViewById(2131296766); + this.a.findViewById(2131296767); + TextView localTextView = (TextView)this.a.findViewById(2131296768); + Button localButton = (Button)this.a.findViewById(2131296769); + localButton.setText(2131362762); + localButton.setOnClickListener(new mx(this)); + localImageView.setImageResource(2130837569); + localTextView.setText(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mx.java new file mode 100755 index 00000000000..accd9ea63d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mx.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class mx + implements View.OnClickListener +{ + mx(mw parammw) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, FindItemsActivity.class); + paramView.addFlags(67108864); + this.a.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/my.java b/com.tencent.token/classes.jar/com/tencent/token/ui/my.java new file mode 100755 index 00000000000..2e1452bd54b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/my.java @@ -0,0 +1,64 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import com.tencent.token.core.bean.JLAppealInfo; +import java.util.ArrayList; + +final class my + extends BaseAdapter +{ + private LayoutInflater b; + + public my(JLAppealListActivity paramJLAppealListActivity, Context paramContext) + { + this.b = LayoutInflater.from(paramContext); + } + + public final int getCount() + { + if (JLAppealListActivity.access$000(this.a) == null) { + return 0; + } + return JLAppealListActivity.access$000(this.a).size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (paramView == null) + { + paramView = this.b.inflate(2130903113, null); + paramViewGroup = new mz(this); + paramViewGroup.a = ((TextView)paramView.findViewById(2131296728)); + paramViewGroup.b = ((TextView)paramView.findViewById(2131296729)); + paramView.setTag(paramViewGroup); + } + for (;;) + { + paramViewGroup.a.setText(((JLAppealInfo)JLAppealListActivity.access$000(this.a).get(paramInt)).title); + paramViewGroup.b.setText(((JLAppealInfo)JLAppealListActivity.access$000(this.a).get(paramInt)).subTitle); + return paramView; + paramViewGroup = (mz)paramView.getTag(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.my + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/mz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/mz.java new file mode 100755 index 00000000000..0326012458d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/mz.java @@ -0,0 +1,17 @@ +package com.tencent.token.ui; + +import android.widget.TextView; + +final class mz +{ + public TextView a; + public TextView b; + + private mz(my parammy, byte paramByte) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.mz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/n.java b/com.tencent.token/classes.jar/com/tencent/token/ui/n.java new file mode 100755 index 00000000000..018687021ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/n.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +final class n + extends BroadcastReceiver +{ + n(AccountPageActivity paramAccountPageActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if (paramIntent.getAction().equals("com.tencent.token.account_opr_msg")) { + AccountPageActivity.access$000(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/na.java b/com.tencent.token/classes.jar/com/tencent/token/ui/na.java new file mode 100755 index 00000000000..bde6f1557cb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/na.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class na + implements View.OnClickListener +{ + na(JLAppealListDetailActivity paramJLAppealListDetailActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, FindItemsActivity.class); + paramView.addFlags(67108864); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.na + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nb.java new file mode 100755 index 00000000000..658b20bb0b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nb.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class nb + implements View.OnClickListener +{ + nb(JLFindItems paramJLFindItems) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, JLFinditemsChooseZone.class); + this.a.startActivityForResult(paramView, 100); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nc.java new file mode 100755 index 00000000000..99a6e210093 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nc.java @@ -0,0 +1,42 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog; +import android.os.Build.VERSION; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.DatePicker; +import java.lang.reflect.Method; +import java.util.Calendar; + +final class nc + implements View.OnClickListener +{ + nc(JLFindItems paramJLFindItems) {} + + public final void onClick(View paramView) + { + this.a.dpd = new DatePickerDialog(this.a, JLFindItems.access$000(this.a), this.a.calendar.get(1), this.a.calendar.get(2), this.a.calendar.get(5)); + if (Build.VERSION.SDK_INT >= 11) {} + try + { + paramView = (DatePicker)this.a.dpd.getClass().getDeclaredMethod("getDatePicker", new Class[0]).invoke(this.a.dpd, new Object[0]); + paramView.getClass().getDeclaredMethod("setMaxDate", new Class[] { Long.TYPE }).invoke(paramView, new Object[] { Long.valueOf(System.currentTimeMillis()) }); + this.a.dpd.show(); + JLFindItems.access$102(this.a, 1); + return; + } + catch (Exception paramView) + { + for (;;) + { + paramView.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nd.java new file mode 100755 index 00000000000..81245566709 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nd.java @@ -0,0 +1,42 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog; +import android.os.Build.VERSION; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.DatePicker; +import java.lang.reflect.Method; +import java.util.Calendar; + +final class nd + implements View.OnClickListener +{ + nd(JLFindItems paramJLFindItems) {} + + public final void onClick(View paramView) + { + this.a.dpd = new DatePickerDialog(this.a, JLFindItems.access$000(this.a), this.a.calendar.get(1), this.a.calendar.get(2), this.a.calendar.get(5)); + if (Build.VERSION.SDK_INT >= 11) {} + try + { + paramView = (DatePicker)this.a.dpd.getClass().getDeclaredMethod("getDatePicker", new Class[0]).invoke(this.a.dpd, new Object[0]); + paramView.getClass().getDeclaredMethod("setMaxDate", new Class[] { Long.TYPE }).invoke(paramView, new Object[] { Long.valueOf(System.currentTimeMillis()) }); + this.a.dpd.show(); + JLFindItems.access$102(this.a, 2); + return; + } + catch (Exception paramView) + { + for (;;) + { + paramView.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ne.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ne.java new file mode 100755 index 00000000000..f5f3e032ebd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ne.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.text.Editable; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.CheckBox; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import java.util.Date; + +final class ne + implements View.OnClickListener +{ + ne(JLFindItems paramJLFindItems) {} + + public final void onClick(View paramView) + { + if (JLFindItems.access$200(this.a).isChecked()) + { + if (JLFindItems.access$300(this.a).getText().length() < JLFindItems.access$400(this.a)) { + this.a.showUserDialog(this.a.getResources().getString(2131362274)); + } + do + { + return; + if (this.a.getStealTime.before(this.a.lastLoginTime)) + { + this.a.showUserDialog(this.a.getResources().getString(2131362287)); + return; + } + af.a().a(0L, JLFindItems.access$500(this.a), JLFindItems.access$600(this.a), JLFindItems.access$700(this.a), JLFindItems.access$800(this.a), JLFindItems.access$900(this.a), this.a.lastLoginTime.getTime(), this.a.getStealTime.getTime(), JLFindItems.access$1000(this.a)); + } while (ax.a().e() == null); + JLFindItems.access$1200(this.a, ax.a().e().mUin, JLFindItems.access$500(this.a), JLFindItems.access$700(this.a), JLFindItems.access$800(this.a), JLFindItems.access$600(this.a), JLFindItems.access$1100(this.a), JLFindItems.access$900(this.a)); + return; + } + this.a.showUserDialog(this.a.getResources().getString(2131362285)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ne + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nf.java new file mode 100755 index 00000000000..76c6adf86cc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nf.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class nf + implements View.OnClickListener +{ + nf(JLFindItems paramJLFindItems) {} + + public final void onClick(View paramView) + { + s.b(this.a, "http://daohao.qq.com/detail.shtml?gid=bns"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ng.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ng.java new file mode 100755 index 00000000000..b77629ce9f9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ng.java @@ -0,0 +1,59 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.Date; + +final class ng + extends bo +{ + ng(JLFindItems paramJLFindItems) + { + super(paramJLFindItems); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + return; + } + Intent localIntent = new Intent(this.a, JLFinditemsResult.class); + if (paramMessage.arg1 == 0) + { + paramMessage = (Bundle)paramMessage.obj; + localIntent.putExtra("result", paramMessage.getInt("result")); + localIntent.putExtra("title", paramMessage.getString("title")); + localIntent.putExtra("desc", paramMessage.getString("desc")); + } + for (;;) + { + this.a.startActivity(localIntent); + return; + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("jl get appeal failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + localIntent.putExtra("result", -1); + localIntent.putExtra("title", ""); + localIntent.putExtra("desc", paramMessage.c); + localIntent.putExtra("roleID", JLFindItems.access$500(this.a)); + localIntent.putExtra("roleName", JLFindItems.access$600(this.a)); + localIntent.putExtra("zoneID", JLFindItems.access$700(this.a)); + localIntent.putExtra("zoneName", JLFindItems.access$1100(this.a)); + localIntent.putExtra("serverID", JLFindItems.access$800(this.a)); + localIntent.putExtra("serverName", JLFindItems.access$900(this.a)); + localIntent.putExtra("lastLoginTime", this.a.lastLoginTime.getTime()); + localIntent.putExtra("getStealTime", this.a.getStealTime.getTime()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ng + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nh.java new file mode 100755 index 00000000000..bdfd4f37756 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nh.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.app.DatePickerDialog; +import android.app.DatePickerDialog.OnDateSetListener; +import android.os.Build.VERSION; +import android.widget.DatePicker; +import android.widget.TextView; +import java.text.SimpleDateFormat; +import java.util.Calendar; + +final class nh + implements DatePickerDialog.OnDateSetListener +{ + nh(JLFindItems paramJLFindItems) {} + + public final void onDateSet(DatePicker paramDatePicker, int paramInt1, int paramInt2, int paramInt3) + { + if ((this.a.dpd == null) || (this.a == null) || (this.a.isFinishing())) { + return; + } + this.a.calendar.set(1, paramInt1); + this.a.calendar.set(2, paramInt2); + this.a.calendar.set(5, paramInt3); + if ((Build.VERSION.SDK_INT < 11) && (this.a.calendar.getTimeInMillis() > System.currentTimeMillis())) { + this.a.calendar.setTimeInMillis(System.currentTimeMillis()); + } + paramDatePicker = new SimpleDateFormat("yyyy'年'MM'月'dd'日'"); + if (JLFindItems.access$100(this.a) == 1) + { + JLFindItems.access$1300(this.a).setText(paramDatePicker.format(this.a.calendar.getTime())); + JLFindItems.access$1300(this.a).setVisibility(0); + JLFindItems.access$1300(this.a).setTextAppearance(this.a, 2131427335); + JLFindItems.access$1400(this.a).setTextAppearance(this.a, 2131427386); + this.a.lastLoginTime = this.a.calendar.getTime(); + } + for (;;) + { + JLFindItems.access$1700(this.a); + this.a.dpd.dismiss(); + this.a.dpd = null; + return; + if (JLFindItems.access$100(this.a) == 2) + { + JLFindItems.access$1500(this.a).setText(paramDatePicker.format(this.a.calendar.getTime())); + JLFindItems.access$1500(this.a).setVisibility(0); + JLFindItems.access$1500(this.a).setTextAppearance(this.a, 2131427335); + JLFindItems.access$1600(this.a).setTextAppearance(this.a, 2131427386); + this.a.getStealTime = this.a.calendar.getTime(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ni.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ni.java new file mode 100755 index 00000000000..d04fd652cf8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ni.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.JLRoleInfo; +import com.tencent.token.core.bean.JLZone; +import com.tencent.token.core.bean.JLZone.JLZoneServer; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class ni + implements AdapterView.OnItemClickListener +{ + ni(JLFinditemsChooseZone paramJLFinditemsChooseZone) {} + + public final void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong) + { + if (JLFinditemsChooseZone.access$000(this.a) == 0) + { + this.a.setTitle(2131362266); + JLFinditemsChooseZone.access$102(this.a, ((JLZone)this.a.adapter.a.get(paramInt)).name); + JLFinditemsChooseZone.access$202(this.a, ((JLZone)this.a.adapter.a.get(paramInt)).id); + JLFinditemsChooseZone.access$002(this.a, 1); + JLFinditemsChooseZone.access$302(this.a, paramInt); + JLFinditemsChooseZone.access$400(this.a, JLFinditemsChooseZone.access$300(this.a)); + return; + } + if (JLFinditemsChooseZone.access$000(this.a) == 1) + { + JLFinditemsChooseZone.access$502(this.a, ((JLZone.JLZoneServer)((JLZone)this.a.adapter.a.get(this.a.adapter.c)).serverList.get(paramInt)).serverID); + JLFinditemsChooseZone.access$602(this.a, ((JLZone.JLZoneServer)((JLZone)this.a.adapter.a.get(this.a.adapter.c)).serverList.get(paramInt)).serverName); + JLFinditemsChooseZone.access$800(this.a).d(0L, JLFinditemsChooseZone.access$500(this.a), JLFinditemsChooseZone.access$700(this.a)); + JLFinditemsChooseZone.access$902(this.a, paramInt); + return; + } + paramAdapterView = new Intent(); + JLFinditemsChooseZone.access$1002(this.a, ((JLRoleInfo)this.a.adapter.b.get(paramInt)).id); + JLFinditemsChooseZone.access$1102(this.a, ((JLRoleInfo)this.a.adapter.b.get(paramInt)).name); + e.a("get role id=" + JLFinditemsChooseZone.access$1000(this.a) + " name =" + JLFinditemsChooseZone.access$1100(this.a)); + paramAdapterView.putExtra("roleID", JLFinditemsChooseZone.access$1000(this.a)); + paramAdapterView.putExtra("roleName", JLFinditemsChooseZone.access$1100(this.a)); + paramAdapterView.putExtra("zoneID", JLFinditemsChooseZone.access$200(this.a)); + paramAdapterView.putExtra("zoneName", JLFinditemsChooseZone.access$100(this.a)); + paramAdapterView.putExtra("serverID", JLFinditemsChooseZone.access$500(this.a)); + paramAdapterView.putExtra("serverName", JLFinditemsChooseZone.access$600(this.a)); + this.a.setResult(1, paramAdapterView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ni + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nj.java new file mode 100755 index 00000000000..3e26c1503ee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nj.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.core.bean.JLRoleInfo; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class nj + extends bo +{ + nj(JLFinditemsChooseZone paramJLFinditemsChooseZone) + { + super(paramJLFinditemsChooseZone); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + do + { + return; + } while (paramMessage.arg1 != 0); + this.a.adapter.a = ((ArrayList)paramMessage.obj); + this.a.adapter.notifyDataSetChanged(); + return; + } while (paramMessage.arg1 != 0); + this.a.adapter.b = ((ArrayList)paramMessage.obj); + if ((this.a.adapter.b == null) || ((this.a.adapter.b != null) && (this.a.adapter.b.size() == 0))) + { + this.a.showUserDialog(this.a.getResources().getString(2131362286)); + return; + } + if (this.a.adapter.b.size() == 1) + { + paramMessage = new Intent(); + JLFinditemsChooseZone.access$1002(this.a, ((JLRoleInfo)this.a.adapter.b.get(0)).id); + JLFinditemsChooseZone.access$1102(this.a, ((JLRoleInfo)this.a.adapter.b.get(0)).name); + e.a("get role id=" + JLFinditemsChooseZone.access$1000(this.a) + " name =" + JLFinditemsChooseZone.access$1100(this.a)); + paramMessage.putExtra("roleID", JLFinditemsChooseZone.access$1000(this.a)); + paramMessage.putExtra("roleName", JLFinditemsChooseZone.access$1100(this.a)); + paramMessage.putExtra("zoneID", JLFinditemsChooseZone.access$200(this.a)); + paramMessage.putExtra("zoneName", JLFinditemsChooseZone.access$100(this.a)); + paramMessage.putExtra("serverID", JLFinditemsChooseZone.access$500(this.a)); + paramMessage.putExtra("serverName", JLFinditemsChooseZone.access$600(this.a)); + this.a.setResult(1, paramMessage); + this.a.finish(); + return; + } + this.a.setTitle(2131362267); + JLFinditemsChooseZone.access$002(this.a, 2); + JLFinditemsChooseZone.access$400(this.a, JLFinditemsChooseZone.access$900(this.a)); + this.a.adapter.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nk.java new file mode 100755 index 00000000000..af329dbb367 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nk.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class nk + implements View.OnClickListener +{ + nk(JLFinditemsChooseZone paramJLFinditemsChooseZone) {} + + public final void onClick(View paramView) + { + if (JLFinditemsChooseZone.access$000(this.a) == 0) + { + this.a.finish(); + return; + } + if (JLFinditemsChooseZone.access$000(this.a) == 1) + { + JLFinditemsChooseZone.access$002(this.a, 0); + JLFinditemsChooseZone.access$400(this.a, 0); + this.a.setTitle(2131362265); + return; + } + JLFinditemsChooseZone.access$002(this.a, 1); + JLFinditemsChooseZone.access$400(this.a, JLFinditemsChooseZone.access$300(this.a)); + this.a.setTitle(2131362266); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nl.java new file mode 100755 index 00000000000..a6d805bf6ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nl.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class nl + implements View.OnClickListener +{ + nl(JLFinditemsResult paramJLFinditemsResult) {} + + public final void onClick(View paramView) + { + if (JLFinditemsResult.access$000(this.a) == -1) + { + af.a().a(0L, JLFinditemsResult.access$100(this.a), JLFinditemsResult.access$200(this.a), JLFinditemsResult.access$300(this.a), JLFinditemsResult.access$400(this.a), JLFinditemsResult.access$500(this.a), JLFinditemsResult.access$600(this.a), JLFinditemsResult.access$700(this.a), JLFinditemsResult.access$800(this.a)); + return; + } + if (JLFinditemsResult.access$000(this.a) == 0) + { + paramView = new Intent(this.a, JLAppealListActivity.class); + this.a.startActivity(paramView); + return; + } + paramView = new Intent(this.a, FindItemsActivity.class); + paramView.addFlags(67108864); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nm.java new file mode 100755 index 00000000000..ceedb8dba49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nm.java @@ -0,0 +1,50 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class nm + extends bo +{ + nm(JLFinditemsResult paramJLFinditemsResult) + { + super(paramJLFinditemsResult); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + default: + return; + } + Intent localIntent = new Intent(); + if (paramMessage.arg1 == 0) + { + paramMessage = (Bundle)paramMessage.obj; + localIntent.putExtra("result", paramMessage.getInt("result")); + localIntent.putExtra("title", paramMessage.getString("title")); + localIntent.putExtra("desc", paramMessage.getString("desc")); + } + for (;;) + { + JLFinditemsResult.access$900(this.a, localIntent); + return; + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("jl get appeal failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + localIntent.putExtra("result", -1); + localIntent.putExtra("title", ""); + localIntent.putExtra("desc", paramMessage.c); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nn.java new file mode 100755 index 00000000000..db435fb4ce1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nn.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class nn + implements View.OnClickListener +{ + nn(JianLingActivity paramJianLingActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/no.java b/com.tencent.token/classes.jar/com/tencent/token/ui/no.java new file mode 100755 index 00000000000..7e6d5d7ed3a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/no.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class no + implements View.OnClickListener +{ + no(JianLingActivity paramJianLingActivity) {} + + public final void onClick(View paramView) + { + e.c("retry: "); + af.a().a(0L, this.a.mHandler, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.no + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/np.java b/com.tencent.token/classes.jar/com/tencent/token/ui/np.java new file mode 100755 index 00000000000..1e2945cb366 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/np.java @@ -0,0 +1,193 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.os.Handler; +import android.os.Message; +import android.view.LayoutInflater; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.core.bean.CommonImgResult; +import com.tencent.token.core.bean.JLProtectionInfo; +import com.tencent.token.core.bean.JLProtectionInfo.ActivityItem; +import com.tencent.token.core.bean.JLProtectionInfo.ProtectionInfoItem; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.HorizontialListView; +import com.tencent.token.ui.base.SecondVerifyDialog; +import java.util.ArrayList; + +final class np + extends bo +{ + np(JianLingActivity paramJianLingActivity) + { + super(paramJianLingActivity); + } + + public final void handleMessage(Message paramMessage) + { + int i = 0; + int j = 0; + if (this.a.isFinishing()) {} + for (;;) + { + return; + e.b("jianling what=" + paramMessage.what + ", arg1=" + paramMessage.arg1); + Object localObject; + switch (paramMessage.what) + { + default: + return; + case 1010: + case 1012: + this.a.m2VerifyQuerying = false; + if (3 == paramMessage.arg1) + { + j = this.a.m2VerifyItem.id; + if (this.a.m2VerifyItem.value != 1) {} + } + break; + case 1011: + for (i = 0;; i = 1) + { + paramMessage = af.a(); + localObject = this.a.mHandler; + paramMessage.a(0L, new int[] { j }, new int[] { i }, "", (Handler)localObject); + return; + if (3 != paramMessage.arg1) { + break; + } + paramMessage = new SecondVerifyDialog(this.a, this.a.mHandler, paramMessage.arg1); + paramMessage.setCancelable(true); + paramMessage.show(); + return; + } + case 3048: + if (paramMessage.arg1 == 0) + { + this.a.hideTip(); + this.a.mInfo = ((JLProtectionInfo)paramMessage.obj); + if (this.a.mInfo != null) + { + JianLingActivity.access$000(this.a).setText(this.a.mInfo.recommandName); + JianLingActivity.access$100(this.a).setText(this.a.mInfo.recommandDesc); + JianLingActivity.access$200(this.a).setVisibility(0); + JianLingActivity.access$200(this.a).removeAllViews(); + i = 0; + while (i <= this.a.mInfo.protectionInfoItem.size()) + { + paramMessage = LayoutInflater.from(this.a).inflate(2130903110, null); + this.a.initListItem(paramMessage, i); + JianLingActivity.access$200(this.a).addView(paramMessage); + i += 1; + } + if (this.a.mInfo.activityItem.size() > 0) { + JianLingActivity.access$300(this.a).setVisibility(0); + } + while (this.a.mLiBaoImgs == null) + { + this.a.mLiBaoImgs = new Bitmap[this.a.mInfo.activityItem.size()]; + i = j; + while (i < this.a.mInfo.activityItem.size()) + { + paramMessage = (JLProtectionInfo.ActivityItem)this.a.mInfo.activityItem.get(i); + af.a().b(paramMessage.picURL, this.a.mHandler); + this.a.mLiBaoImgs[i] = null; + i += 1; + } + JianLingActivity.access$300(this.a).setVisibility(4); + JianLingActivity.access$400(this.a).setVisibility(4); + } + } + } + else + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("game lock load failed:" + paramMessage.a + "-" + paramMessage.b); + if ((111 == paramMessage.a) || (110 == paramMessage.a) || (103 == paramMessage.a)) + { + this.a.showTip(paramMessage.a, JianLingActivity.access$500(this.a), JianLingActivity.access$600(this.a), true); + return; + } + this.a.showTip(paramMessage.a, paramMessage.c, null, false); + return; + } + break; + case 3050: + if (paramMessage.arg1 == 0) + { + paramMessage = (CommonImgResult)paramMessage.obj; + i = 0; + while (i < this.a.mInfo.activityItem.size()) + { + localObject = (JLProtectionInfo.ActivityItem)this.a.mInfo.activityItem.get(i); + if (paramMessage.mUrl.equals(((JLProtectionInfo.ActivityItem)localObject).picURL)) { + this.a.mLiBaoImgs[i] = paramMessage.mBmp; + } + i += 1; + } + i = 0; + while ((i < this.a.mLiBaoImgs.length) && (this.a.mLiBaoImgs[i] != null)) { + i += 1; + } + if (i == this.a.mLiBaoImgs.length) + { + JianLingActivity.access$400(this.a).setVisibility(0); + JianLingActivity.access$700(this.a).notifyDataSetChanged(); + return; + } + } + break; + case 3018: + if (paramMessage.arg1 == 0) + { + paramMessage = (int[])paramMessage.obj; + i = 0; + while (i < paramMessage.length) + { + j = 0; + if (j < this.a.mInfo.protectionInfoItem.size()) + { + localObject = (JLProtectionInfo.ProtectionInfoItem)this.a.mInfo.protectionInfoItem.get(j); + if (paramMessage[i] == ((JLProtectionInfo.ProtectionInfoItem)localObject).id) { + if (((JLProtectionInfo.ProtectionInfoItem)localObject).value != 0) { + break label946; + } + } + label946: + for (int k = 1;; k = 0) + { + ((JLProtectionInfo.ProtectionInfoItem)localObject).value = k; + ((JLProtectionInfo.ProtectionInfoItem)localObject).busy = false; + j += 1; + break; + } + } + i += 1; + } + af.a().a(0L, this.a.mHandler, this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + JianLingActivity.access$200(this.a).removeAllViews(); + while (i <= this.a.mInfo.protectionInfoItem.size()) + { + paramMessage = LayoutInflater.from(this.a).inflate(2130903110, null); + this.a.initListItem(paramMessage, i); + JianLingActivity.access$200(this.a).addView(paramMessage); + i += 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.np + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nq.java new file mode 100755 index 00000000000..6b25965412a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nq.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.JLProtectionInfo; + +final class nq + implements View.OnClickListener +{ + nq(JianLingActivity paramJianLingActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, JLFindItems.class); + paramView.putExtra("is_xy", this.a.mInfo.is_xy); + paramView.putExtra("detail_max", this.a.mInfo.detail_max); + paramView.putExtra("detail_min", this.a.mInfo.detail_min); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nr.java new file mode 100755 index 00000000000..e60c2956ecc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nr.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import com.tencent.token.core.bean.JLProtectionInfo; +import com.tencent.token.core.bean.JLProtectionInfo.ActivityItem; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.ArrayList; + +final class nr + implements AdapterView.OnItemClickListener +{ + nr(JianLingActivity paramJianLingActivity) {} + + public final void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong) + { + e.c("jl activity: " + paramAdapterView + ", " + paramView + ", " + paramInt + ", " + paramLong); + if ((this.a.mInfo != null) && (this.a.mInfo.activityItem != null) && (paramInt < this.a.mInfo.activityItem.size())) + { + paramAdapterView = (JLProtectionInfo.ActivityItem)this.a.mInfo.activityItem.get(paramInt); + s.a(this.a, paramAdapterView.jumpURL, this.a.getResources().getString(2131362456)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ns.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ns.java new file mode 100755 index 00000000000..79e1ec76910 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ns.java @@ -0,0 +1,67 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.af; +import com.tencent.token.bf; +import com.tencent.token.core.bean.JLProtectionInfo.ProtectionInfoItem; + +final class ns + implements CompoundButton.OnCheckedChangeListener +{ + private JLProtectionInfo.ProtectionInfoItem b; + private View c; + private int d; + + public ns(JianLingActivity paramJianLingActivity, int paramInt, JLProtectionInfo.ProtectionInfoItem paramProtectionInfoItem, View paramView) + { + this.b = paramProtectionInfoItem; + this.c = paramView; + this.d = paramInt; + } + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + boolean bool = false; + int i = 1; + if (this.b.type == 2) + { + if (this.b.value == 1) { + bool = true; + } + if ((paramBoolean == bool) && (!this.b.busy) && (!this.a.m2VerifyQuerying)) {} + } + for (;;) + { + return; + this.a.m2VerifyItem = this.b; + this.a.m2VerifyQuerying = true; + this.b.busy = true; + this.a.initListItem(this.c, this.d); + bf.a().a(3, this.a.mHandler); + return; + if (this.b.value == 1) {} + for (bool = true; (paramBoolean == bool) && (!this.b.busy); bool = false) + { + this.b.busy = true; + this.a.initListItem(this.c, this.d); + int j = this.b.id; + if (this.b.value == 1) { + i = 0; + } + paramCompoundButton = af.a(); + Handler localHandler = this.a.mHandler; + paramCompoundButton.a(0L, new int[] { j }, new int[] { i }, "", localHandler); + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ns + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nt.java new file mode 100755 index 00000000000..5b486f9c498 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nt.java @@ -0,0 +1,91 @@ +package com.tencent.token.ui; + +import android.view.GestureDetector.OnGestureListener; +import android.view.MotionEvent; +import android.widget.Button; +import com.tencent.token.ui.base.cf; +import com.tencent.token.utils.t; + +final class nt + implements GestureDetector.OnGestureListener +{ + nt(KnowTokenActivity paramKnowTokenActivity) {} + + public final boolean onDown(MotionEvent paramMotionEvent) + { + return false; + } + + public final boolean onFling(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + try + { + if (paramMotionEvent1.getX() - paramMotionEvent2.getX() > 0.0F) { + if (KnowTokenActivity.access$000(this.a) < KnowTokenActivity.access$100() - 1) + { + paramMotionEvent1 = t.a(this.a, KnowTokenActivity.access$200()[KnowTokenActivity.access$004(this.a)], KnowTokenActivity.access$300(this.a)); + if (paramMotionEvent1 == null) + { + KnowTokenActivity.access$400(this.a); + return true; + } + KnowTokenActivity.access$500(this.a).b(paramMotionEvent1); + if ((KnowTokenActivity.access$000(this.a) != KnowTokenActivity.access$100() - 1) || (KnowTokenActivity.access$600(this.a) == null)) { + break label250; + } + KnowTokenActivity.access$600(this.a).setVisibility(0); + return true; + } + } + } + catch (OutOfMemoryError paramMotionEvent1) + { + paramMotionEvent1.printStackTrace(); + KnowTokenActivity.access$400(this.a); + return true; + this.a.finish(); + return true; + } + catch (Exception paramMotionEvent1) + { + paramMotionEvent1.printStackTrace(); + KnowTokenActivity.access$400(this.a); + return true; + } + if ((paramMotionEvent2.getX() - paramMotionEvent1.getX() > 0.0F) && (KnowTokenActivity.access$000(this.a) > 0)) + { + paramMotionEvent1 = t.a(this.a, KnowTokenActivity.access$200()[KnowTokenActivity.access$006(this.a)], KnowTokenActivity.access$300(this.a)); + if (paramMotionEvent1 == null) + { + KnowTokenActivity.access$400(this.a); + return true; + } + KnowTokenActivity.access$500(this.a).c(paramMotionEvent1); + if (KnowTokenActivity.access$600(this.a) != null) { + KnowTokenActivity.access$600(this.a).setVisibility(8); + } + } + label250: + return true; + } + + public final void onLongPress(MotionEvent paramMotionEvent) {} + + public final boolean onScroll(MotionEvent paramMotionEvent1, MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) + { + return false; + } + + public final void onShowPress(MotionEvent paramMotionEvent) {} + + public final boolean onSingleTapUp(MotionEvent paramMotionEvent) + { + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nu.java new file mode 100755 index 00000000000..ccdf8e3f5cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nu.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; + +final class nu + implements View.OnClickListener +{ + nu(KnowTokenActivity paramKnowTokenActivity) {} + + public final void onClick(View paramView) + { + KnowTokenActivity.access$600(this.a).setEnabled(false); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nv.java new file mode 100755 index 00000000000..bf9253a581c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nv.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import com.tencent.token.ui.base.cf; + +final class nv + implements View.OnTouchListener +{ + nv(KnowTokenActivity paramKnowTokenActivity) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + if ((paramView == KnowTokenActivity.access$500(this.a)) && (paramMotionEvent.getAction() == 0)) { + KnowTokenActivity.access$500(this.a).a(); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nw.java new file mode 100755 index 00000000000..715758918a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nw.java @@ -0,0 +1,68 @@ +package com.tencent.token.ui; + +import android.graphics.Bitmap; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout.LayoutParams; +import com.tencent.token.global.e; + +final class nw + extends BaseAdapter +{ + private JianLingActivity a; + private LayoutInflater b; + + public nw(JianLingActivity paramJianLingActivity) + { + this.a = paramJianLingActivity; + this.b = LayoutInflater.from(paramJianLingActivity); + } + + public final int getCount() + { + if (this.a.mLiBaoImgs != null) { + return this.a.mLiBaoImgs.length; + } + return 0; + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + e.c("jl activity gallery " + paramInt); + View localView = paramView; + if (paramView == null) { + localView = this.b.inflate(2130903109, paramViewGroup, false); + } + paramView = this.a.mLiBaoImgs[paramInt]; + if (paramView == null) { + return localView; + } + paramViewGroup = (ImageView)localView.findViewById(2131296716); + if (IndexActivity.S_DENSITY <= 1.0F) + { + paramViewGroup.setAdjustViewBounds(true); + paramViewGroup.setLayoutParams(new LinearLayout.LayoutParams((int)(paramView.getWidth() * 0.7F), (int)(paramView.getHeight() * 0.65F))); + } + paramViewGroup.setImageBitmap(paramView); + return localView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nx.java new file mode 100755 index 00000000000..4d8fefe11e0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nx.java @@ -0,0 +1,105 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.o; + +final class nx + extends BaseAdapter +{ + private LayoutInflater a; + private int b; + private String[] c; + private LoginMsgReportLocationActivity d; + private int e = -1; + + public nx(LoginMsgReportLocationActivity paramLoginMsgReportLocationActivity) + { + this.d = paramLoginMsgReportLocationActivity; + this.a = LayoutInflater.from(paramLoginMsgReportLocationActivity); + this.b = o.a().d.length; + this.c = o.a().c; + this.d.checkMenuBtnEnable(this.e); + } + + public final int a() + { + return this.e; + } + + public final int getCount() + { + return this.b; + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (paramView == null) + { + paramView = this.a.inflate(2130903131, null); + paramViewGroup = new nz(this); + paramViewGroup.a = ((TextView)paramView.findViewById(2131296802)); + paramViewGroup.b = ((TextView)paramView.findViewById(2131296804)); + paramViewGroup.c = ((RelativeLayout)paramView.findViewById(2131296803)); + paramViewGroup.d = ((ImageView)paramView.findViewById(2131296543)); + paramView.setTag(paramViewGroup); + } + while (paramInt >= this.c.length) + { + return paramView; + paramViewGroup = (nz)paramView.getTag(); + } + paramViewGroup.b.setText(this.c[paramInt]); + paramViewGroup.a.setVisibility(8); + String[] arrayOfString = o.a().f; + int[] arrayOfInt = o.a().g; + int i = 0; + for (;;) + { + if (i < arrayOfInt.length) + { + if (paramInt == arrayOfInt[i]) + { + paramViewGroup.a.setVisibility(0); + paramViewGroup.a.setText(arrayOfString[i]); + } + } + else + { + paramViewGroup.c.setOnClickListener(new ny(this, paramInt)); + if (this.e != paramInt) { + break; + } + paramViewGroup.d.setVisibility(0); + paramViewGroup.c.setBackgroundColor(this.d.getResources().getColor(2131165255)); + return paramView; + } + i += 1; + } + paramViewGroup.d.setVisibility(8); + paramViewGroup.c.setBackgroundColor(this.d.getResources().getColor(2131165254)); + return paramView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ny.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ny.java new file mode 100755 index 00000000000..33e1dd38556 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ny.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ny + implements View.OnClickListener +{ + ny(nx paramnx, int paramInt) {} + + public final void onClick(View paramView) + { + nx.a(this.b, this.a); + nx.b(this.b).checkMenuBtnEnable(nx.a(this.b)); + this.b.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ny + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/nz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/nz.java new file mode 100755 index 00000000000..597fadac926 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/nz.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +final class nz +{ + TextView a; + TextView b; + RelativeLayout c; + ImageView d; + + private nz(nx paramnx, byte paramByte) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.nz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/o.java b/com.tencent.token/classes.jar/com/tencent/token/ui/o.java new file mode 100755 index 00000000000..c08b47f3be7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/o.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; + +final class o + implements View.OnTouchListener +{ + o(AccountPageActivity paramAccountPageActivity) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oa.java new file mode 100755 index 00000000000..c66f7f1f6e4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oa.java @@ -0,0 +1,185 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class oa + extends bo +{ + oa(LoginMsgActivity paramLoginMsgActivity) + { + super(paramLoginMsgActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a.isFinishing()) || (LoginMsgActivity.access$000(this.a) == null)) {} + do + { + do + { + return; + e.a("mbtoken3_get_msg: +" + paramMessage.what); + int i = paramMessage.arg1; + Object localObject; + switch (paramMessage.what) + { + default: + return; + case 3005: + localObject = bb.a(); + if (paramMessage.arg1 == 0) + { + LoginMsgActivity.access$408(this.a); + LoginMsgActivity.access$500(this.a).c(); + if ((((bb)localObject).e()) && (LoginMsgActivity.access$400(this.a) <= 5)) + { + LoginMsgActivity.access$612(this.a, ((bb)localObject).g()); + bb.a().a(LoginMsgActivity.access$200(this.a), LoginMsgActivity.mSkey, this.a.mHandler); + return; + } + } + case 4097: + case 4098: + LoginMsgActivity.access$102(this.a, false); + localObject = (byte[])paramMessage.obj; + if ((i == 0) && (localObject != null) && (localObject.length > 0)) + { + LoginMsgActivity.mSkey = s.a((byte[])localObject); + LoginMsgActivity.access$102(this.a, true); + bb.a().a(LoginMsgActivity.access$200(this.a), LoginMsgActivity.mSkey, this.a.mHandler); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16) || (i == 2)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new ob(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + case 4104: + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + case 3056: + if (paramMessage.arg1 == 0) { + this.a.showOrangeToast(2131362065, 2130837964); + } + for (;;) + { + LoginMsgActivity.access$302(this.a, true); + LoginMsgActivity.access$000(this.a).a(bb.a().f, bb.a().b); + LoginMsgActivity.access$000(this.a).notifyDataSetChanged(); + break; + localObject = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)localObject); + this.a.showUserDialog(2131361808, ((d)localObject).c, 2131361800, null); + } + LoginMsgActivity.access$402(this.a, 0); + if (((bb)localObject).g() > 0) + { + LoginMsgActivity.access$000(this.a).a(bb.a().f, bb.a().b); + LoginMsgActivity.access$000(this.a).a(); + } + LoginMsgActivity.access$612(this.a, ((bb)localObject).g()); + this.a.finishRefresh(); + if (LoginMsgActivity.access$500(this.a).g() <= 0) + { + LoginMsgActivity.access$000(this.a).b(); + LoginMsgActivity.access$000(this.a).e(); + LoginMsgActivity.access$000(this.a).g(); + } + for (;;) + { + LoginMsgActivity.access$000(this.a).a(bb.a().f, bb.a().b); + LoginMsgActivity.access$000(this.a).notifyDataSetChanged(); + LoginMsgActivity.access$102(this.a, false); + return; + if (paramMessage.arg1 != 185) { + break; + } + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, this.a.mHandler, true); + return; + LoginMsgActivity.access$000(this.a).c(); + i = LoginMsgActivity.access$500(this.a).g(); + int j = LoginMsgActivity.access$000(this.a).c; + LoginMsgActivity.access$000(this.a).getClass(); + if (i >= j * 15) + { + LoginMsgActivity.access$000(this.a).d(); + LoginMsgActivity.access$000(this.a).g(); + } + else + { + LoginMsgActivity.access$000(this.a).e(); + LoginMsgActivity.access$000(this.a).f(); + } + } + } + this.a.dismissDialog(); + if (paramMessage.arg1 != 0) { + break; + } + LoginMsgActivity.access$702(this.a, (SecurityReporterResult)paramMessage.obj); + } while (LoginMsgActivity.access$700(this.a).type == 2); + paramMessage = this.a; + ax.a(); + LoginMsgActivity.access$802(paramMessage, ax.c); + if (ax.a().e() != null) { + LoginMsgActivity.access$902(this.a, ax.a().e().mUin); + } + LoginMsgActivity.access$1002(this.a, true); + paramMessage = new Intent(this.a, SecurityReporterActivity.class); + paramMessage.putExtra("result", LoginMsgActivity.access$700(this.a)); + this.a.startActivity(paramMessage); + return; + } while ((LoginMsgActivity.access$700(this.a) == null) || (LoginMsgActivity.access$700(this.a).type != 1)); + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ob.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ob.java new file mode 100755 index 00000000000..29ed758a762 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ob.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class ob + implements DialogInterface.OnClickListener +{ + ob(oa paramoa) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtloginSigExpireActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ob + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oc.java new file mode 100755 index 00000000000..fdf18306a19 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oc.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.cc; + +final class oc + implements cc +{ + oc(LoginMsgActivity paramLoginMsgActivity) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/od.java b/com.tencent.token/classes.jar/com/tencent/token/ui/od.java new file mode 100755 index 00000000000..2a4b51fc506 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/od.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.cq; + +final class od + implements cq +{ + od(LoginMsgActivity paramLoginMsgActivity) {} + + public final void onRefresh() + { + LoginMsgActivity.access$1100(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.od + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oe.java new file mode 100755 index 00000000000..8f09e636d28 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oe.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.SecurityReporterResult; +import java.util.ArrayList; + +final class oe + implements View.OnClickListener +{ + oe(LoginMsgActivity paramLoginMsgActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) + { + this.a.showNoAccountTipDialog(this.a, 7, 0); + return; + } + if ((!this.a.isValid()) || (LoginMsgActivity.access$700(this.a) == null) || (LoginMsgActivity.access$700(this.a).chart == null) || (LoginMsgActivity.access$700(this.a).chart.size() == 0)) + { + this.a.showProDialog(this.a, 2131361808, 2131362203, null); + af.a().k(0L, this.a.mHandler); + return; + } + paramView = new Intent(this.a, SecurityReporterActivity.class); + paramView.putExtra("result", LoginMsgActivity.access$700(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/of.java b/com.tencent.token/classes.jar/com/tencent/token/ui/of.java new file mode 100755 index 00000000000..dffd7d9e291 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/of.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import com.tencent.token.ui.base.PullToRefreshListView; + +final class of + implements Runnable +{ + of(LoginMsgActivity paramLoginMsgActivity, int paramInt) {} + + public final void run() + { + LoginMsgActivity.access$1200(this.b).requestFocusFromTouch(); + LoginMsgActivity.access$1200(this.b).setSelection(this.a); + LoginMsgActivity.access$1200(this.b).requestFocus(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.of + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/og.java b/com.tencent.token/classes.jar/com/tencent/token/ui/og.java new file mode 100755 index 00000000000..a2d1feef4c8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/og.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class og + implements View.OnClickListener +{ + og(LoginMsgActivity paramLoginMsgActivity, View paramView) {} + + public final void onClick(View paramView) + { + this.a.setVisibility(8); + LoginMsgActivity.access$1300(this.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.og + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oh.java new file mode 100755 index 00000000000..29aee15aaa7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oh.java @@ -0,0 +1,62 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.Button; +import android.widget.TextView; +import com.tencent.token.global.e; +import org.json.JSONException; +import org.json.JSONObject; + +final class oh + extends bo +{ + oh(LoginMsgChangePwdActivity paramLoginMsgChangePwdActivity) + { + super(paramLoginMsgChangePwdActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) {} + try + { + paramMessage = new JSONObject((String)paramMessage.obj); + LoginMsgChangePwdActivity.access$000(this.a).setText(paramMessage.getString("abnormal_login_btn_word")); + LoginMsgChangePwdActivity.access$100(this.a).setText(paramMessage.getString("abnormal_login_big_word")); + LoginMsgChangePwdActivity.access$200(this.a).setText(paramMessage.getString("abnormal_login_small_word")); + this.a.setTitle(paramMessage.getString("abnormal_login_title")); + e.c("test config: " + paramMessage); + return; + } + catch (JSONException paramMessage) + { + paramMessage.printStackTrace(); + LoginMsgChangePwdActivity.access$000(this.a).setText(2131362048); + LoginMsgChangePwdActivity.access$100(this.a).setText(2131362046); + LoginMsgChangePwdActivity.access$200(this.a).setText(2131362047); + return; + } + catch (Exception paramMessage) + { + for (;;) + { + paramMessage.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oi.java new file mode 100755 index 00000000000..576a4abefc1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oi.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class oi + implements View.OnClickListener +{ + oi(LoginMsgChangePwdActivity paramLoginMsgChangePwdActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, ModifyQQPwdActivity.class); + paramView.putExtra("page_id", 2); + pv.a().a(this.a, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oj.java new file mode 100755 index 00000000000..9822dd3db95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oj.java @@ -0,0 +1,60 @@ +package com.tencent.token.ui; + +import android.os.Message; +import android.widget.Button; +import android.widget.TextView; +import org.json.JSONException; +import org.json.JSONObject; + +final class oj + extends bo +{ + oj(LoginMsgIpShareActivity paramLoginMsgIpShareActivity) + { + super(paramLoginMsgIpShareActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) {} + try + { + paramMessage = new JSONObject((String)paramMessage.obj); + LoginMsgIpShareActivity.access$000(this.a).setText(paramMessage.getString("ip_share_btn_word")); + LoginMsgIpShareActivity.access$100(this.a).setText(paramMessage.getString("ip_share_big_word")); + LoginMsgIpShareActivity.access$200(this.a).setText(paramMessage.getString("ip_share_small_word")); + this.a.setTitle(paramMessage.getString("ip_share_title")); + return; + } + catch (JSONException paramMessage) + { + paramMessage.printStackTrace(); + LoginMsgIpShareActivity.access$000(this.a).setText(2131362055); + LoginMsgIpShareActivity.access$100(this.a).setText(2131362053); + LoginMsgIpShareActivity.access$200(this.a).setText(2131362054); + return; + } + catch (Exception paramMessage) + { + for (;;) + { + paramMessage.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ok.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ok.java new file mode 100755 index 00000000000..204f0d3ed55 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ok.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ok + implements View.OnClickListener +{ + ok(LoginMsgIpShareActivity paramLoginMsgIpShareActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, LoginMsgReportLocationActivity.class); + paramView.putExtra("position", LoginMsgIpShareActivity.access$300(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ok + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ol.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ol.java new file mode 100755 index 00000000000..6dc2eea2dac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ol.java @@ -0,0 +1,95 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.bb; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.gm; +import com.tencent.token.o; +import com.tencent.token.ui.base.ProDialog; + +final class ol + extends bo +{ + ol(LoginMsgReportLocationActivity paramLoginMsgReportLocationActivity) + { + super(paramLoginMsgReportLocationActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + switch (paramMessage.what) + { + default: + return; + } + if (this.a.mDialogPro != null) + { + this.a.mDialogPro.dismiss(); + this.a.mDialogPro = null; + } + o localo = o.a(); + if (paramMessage.arg1 == 0) + { + int i = LoginMsgReportLocationActivity.access$000(this.a).mContent.indexOf('|'); + if (i == -1) {} + for (Object localObject2 = LoginMsgReportLocationActivity.access$000(this.a).mContent;; localObject2 = LoginMsgReportLocationActivity.access$000(this.a).mContent.substring(0, i)) + { + i = ((String)localObject2).indexOf(this.a.getResources().getString(2131362039)); + Object localObject1 = localObject2; + if (i != -1) { + localObject1 = ((String)localObject2).substring(0, i); + } + i = ((String)localObject1).indexOf(this.a.getResources().getString(2131362051)); + localObject2 = localObject1; + if (i != -1) { + localObject2 = ((String)localObject1).substring(0, i); + } + LoginMsgReportLocationActivity.access$000(this.a).mFlag |= 0x1; + LoginMsgReportLocationActivity.access$000(this.a).mFlag |= 0x100; + LoginMsgReportLocationActivity.access$102(this.a, localo.b[localo.e[LoginMsgReportLocationActivity.access$200(this.a)]]); + if (!LoginMsgReportLocationActivity.access$100(this.a).equals(localo.c[LoginMsgReportLocationActivity.access$200(this.a)])) { + LoginMsgReportLocationActivity.access$102(this.a, LoginMsgReportLocationActivity.access$100(this.a) + localo.c[LoginMsgReportLocationActivity.access$200(this.a)]); + } + LoginMsgReportLocationActivity.access$000(this.a).mContent = ((String)localObject2 + this.a.getResources().getString(2131362051) + "|" + LoginMsgReportLocationActivity.access$100(this.a)); + bb.a().f.a.a(LoginMsgReportLocationActivity.access$000(this.a).mId, LoginMsgReportLocationActivity.access$000(this.a).mFlag, LoginMsgReportLocationActivity.access$000(this.a).mContent); + if (paramMessage.arg2 != 1) { + break; + } + this.a.setContentView(2130903128); + ((TextView)this.a.findViewById(2131296797)).setText(this.a.getResources().getString(2131362057) + "\"" + LoginMsgReportLocationActivity.access$100(this.a) + "\"?"); + this.a.mBackArrow.setVisibility(4); + LoginMsgReportLocationActivity.access$302(this.a, true); + this.a.findViewById(2131296798).setOnClickListener(new om(this, localo)); + this.a.findViewById(2131296799).setOnClickListener(new on(this, localo)); + return; + } + this.a.showOrangeToast(2131362050, 2130837966); + this.a.finish(); + paramMessage = new Intent(b.e(), LoginMsgActivity.class); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ol + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/om.java b/com.tencent.token/classes.jar/com/tencent/token/ui/om.java new file mode 100755 index 00000000000..e2dd067699b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/om.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.b; +import com.tencent.token.o; + +final class om + implements View.OnClickListener +{ + om(ol paramol, o paramo) {} + + public final void onClick(View paramView) + { + this.b.a.showOrangeToast(2131362050, 2130837966); + af.a().a(0L, this.a.e[LoginMsgReportLocationActivity.access$200(this.b.a)], this.a.d[LoginMsgReportLocationActivity.access$200(this.b.a)], 1, LoginMsgReportLocationActivity.access$000(this.b.a), this.b.a.mHandler); + this.b.a.finish(); + paramView = new Intent(b.e(), LoginMsgActivity.class); + this.b.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.om + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/on.java b/com.tencent.token/classes.jar/com/tencent/token/ui/on.java new file mode 100755 index 00000000000..d9df221889c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/on.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.b; +import com.tencent.token.o; + +final class on + implements View.OnClickListener +{ + on(ol paramol, o paramo) {} + + public final void onClick(View paramView) + { + this.b.a.showOrangeToast(2131362050, 2130837966); + af.a().a(0L, this.a.e[LoginMsgReportLocationActivity.access$200(this.b.a)], this.a.d[LoginMsgReportLocationActivity.access$200(this.b.a)], 2, LoginMsgReportLocationActivity.access$000(this.b.a), this.b.a.mHandler); + this.b.a.finish(); + paramView = new Intent(b.e(), LoginMsgActivity.class); + this.b.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.on + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oo.java new file mode 100755 index 00000000000..f5378f89520 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oo.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.global.d; +import com.tencent.token.o; +import com.tencent.token.ui.base.ProDialog; + +final class oo + implements View.OnClickListener +{ + oo(LoginMsgReportLocationActivity paramLoginMsgReportLocationActivity) {} + + public final void onClick(View paramView) + { + LoginMsgReportLocationActivity.access$202(this.a, LoginMsgReportLocationActivity.access$500(this.a).a()); + paramView = o.a(); + if ((LoginMsgReportLocationActivity.access$200(this.a) == -1) || (LoginMsgReportLocationActivity.access$200(this.a) > paramView.e.length) || (LoginMsgReportLocationActivity.access$000(this.a) == null)) + { + paramView = this.a.mHandler.obtainMessage(3032); + paramView.arg1 = 10000; + String str = this.a.getResources().getString(2131362049); + paramView.obj = new d(str, str); + this.a.mHandler.sendMessage(paramView); + return; + } + this.a.mDialogPro = new ProDialog(this.a, this.a.getString(2131361918)); + this.a.mDialogPro.show(); + af.a().a(0L, paramView.e[LoginMsgReportLocationActivity.access$200(this.a)], paramView.d[LoginMsgReportLocationActivity.access$200(this.a)], 0, LoginMsgReportLocationActivity.access$000(this.a), this.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/op.java b/com.tencent.token/classes.jar/com/tencent/token/ui/op.java new file mode 100755 index 00000000000..0b899123e76 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/op.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.widget.ListView; +import android.widget.TextView; +import com.tencent.token.o; +import com.tencent.token.ui.base.cd; + +final class op + implements cd +{ + private op(LoginMsgReportLocationActivity paramLoginMsgReportLocationActivity, byte paramByte) {} + + public final void a(int paramInt) + { + String[] arrayOfString = o.a().f; + int[] arrayOfInt = o.a().g; + if (paramInt < arrayOfString.length) + { + LoginMsgReportLocationActivity.access$700(this.a).setSelection(arrayOfInt[paramInt]); + LoginMsgReportLocationActivity.access$800(this.a).setText(arrayOfString[paramInt]); + LoginMsgReportLocationActivity.access$800(this.a).setVisibility(0); + this.a.mHandler.removeCallbacks(LoginMsgReportLocationActivity.access$900(this.a)); + this.a.mHandler.postDelayed(LoginMsgReportLocationActivity.access$900(this.a), 1500L); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.op + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oq.java new file mode 100755 index 00000000000..1a852da15d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oq.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import android.widget.TextView; + +final class oq + implements Runnable +{ + private oq(LoginMsgReportLocationActivity paramLoginMsgReportLocationActivity, byte paramByte) {} + + public final void run() + { + LoginMsgReportLocationActivity.access$800(this.a).setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/or.java b/com.tencent.token/classes.jar/com/tencent/token/ui/or.java new file mode 100755 index 00000000000..37b332c5cf7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/or.java @@ -0,0 +1,168 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.core.bean.LoginProtectResult; +import com.tencent.token.core.bean.e; +import com.tencent.token.global.d; +import com.tencent.token.ui.base.SwitchButton; +import java.util.List; + +final class or + extends BaseAdapter +{ + private UtilsLoginProtectActivity a; + private LayoutInflater b; + private oy c; + private oy d; + private View.OnClickListener e = new os(this); + private ot f = new ot(this); + + public or(UtilsLoginProtectActivity paramUtilsLoginProtectActivity) + { + this.a = paramUtilsLoginProtectActivity; + this.b = LayoutInflater.from(paramUtilsLoginProtectActivity); + } + + private void a(oy paramoy) + { + Object localObject = paramoy.f; + if ((localObject == null) || (paramoy.a == null)) { + return; + } + paramoy.e.setVisibility(0); + if (((e)localObject).d) + { + paramoy.d.setVisibility(0); + paramoy.e.setEnabled(false); + paramoy.b.setText(((e)localObject).b); + } + switch (((e)localObject).a) + { + case 81: + default: + return; + case 80: + this.c = paramoy; + if (((e)localObject).e) { + paramoy.e.a(false, false); + } + for (;;) + { + paramoy.c.setOnClickListener(this.e); + paramoy.e.setOnCheckedChangeListener(this.f); + localObject = new SpannableString(this.a.getString(2131362237)); + ((SpannableString)localObject).setSpan(new ForegroundColorSpan(this.a.getResources().getColor(2131165246)), ((SpannableString)localObject).length() - 7, ((SpannableString)localObject).length(), 33); + paramoy.c.setText((CharSequence)localObject); + return; + paramoy.d.setVisibility(4); + paramoy.e.setEnabled(true); + break; + paramoy.e.a(true, false); + } + } + this.d = paramoy; + if (((e)localObject).c) { + paramoy.e.a(false, false); + } + for (;;) + { + paramoy.e.setOnCheckedChangeListener(this.f); + paramoy.c.setText(2131362238); + return; + paramoy.e.a(true, false); + } + } + + public final void a(d paramd, int[] paramArrayOfInt) + { + int i; + if (paramd.a == 0) { + i = 1; + } + while (i != 0) + { + AccountPageActivity.mNeedRefreshEval = true; + i = 0; + while (i < paramArrayOfInt.length) { + switch (paramArrayOfInt[i]) + { + default: + i += 1; + } + } + i = 0; + continue; + this.d.f.d = false; + paramd = this.d.f; + if (!this.d.f.c) {} + for (boolean bool = true;; bool = false) + { + paramd.c = bool; + a(this.d); + break; + } + this.c.f.d = false; + paramd = this.c.f; + if (!this.c.f.e) {} + for (bool = true;; bool = false) + { + paramd.e = bool; + a(this.c); + break; + } + } + d.a(this.a.getResources(), paramd); + this.a.showTipDialog(2131361919, paramd.c); + this.d.f.d = false; + this.c.f.d = false; + a(this.c); + a(this.d); + } + + public final int getCount() + { + if ((this.a.mLoginProtectResult == null) || (this.a.mLoginProtectResult.mLists.size() == 0)) { + return 0; + } + return this.a.mLoginProtectResult.mLists.size(); + } + + public final Object getItem(int paramInt) + { + return null; + } + + public final long getItemId(int paramInt) + { + return 0L; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (paramView == null) { + paramView = this.b.inflate(2130903237, paramViewGroup, false); + } + while ((paramView == null) || (this.a.mLoginProtectResult.mLists == null) || (this.a.mLoginProtectResult.mLists.size() == 0) || (paramInt >= this.a.mLoginProtectResult.mLists.size())) { + return paramView; + } + paramViewGroup = new oy(this, paramView, (e)this.a.mLoginProtectResult.mLists.get(paramInt)); + paramViewGroup.e.setTag(paramViewGroup); + a(paramViewGroup); + return paramView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.or + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/os.java b/com.tencent.token/classes.jar/com/tencent/token/ui/os.java new file mode 100755 index 00000000000..8d037e1e56c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/os.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class os + implements View.OnClickListener +{ + os(or paramor) {} + + public final void onClick(View paramView) + { + paramView = new Intent(or.a(this.a), PCMobileQQVerifyedDevicesActivity.class); + or.a(this.a).startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.os + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ot.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ot.java new file mode 100755 index 00000000000..f3685ed75b0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ot.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Handler; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.e; +import com.tencent.token.ui.base.SwitchButton; + +final class ot + implements CompoundButton.OnCheckedChangeListener +{ + private oy b; + + ot(or paramor) {} + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + int i = 1; + paramCompoundButton = (oy)((SwitchButton)paramCompoundButton).getTag(); + if ((paramCompoundButton == null) || (paramCompoundButton.f == null) || (paramCompoundButton.a == null)) {} + do + { + do + { + do + { + return; + this.b = paramCompoundButton; + } while (paramCompoundButton.f.d); + switch (paramCompoundButton.f.a) + { + case 81: + default: + return; + } + } while (paramBoolean != paramCompoundButton.f.e); + paramCompoundButton.f.d = true; + or.a(this.a, paramCompoundButton); + localObject = or.a(this.a).getItem(82); + if ((paramCompoundButton.f.e) && (((e)localObject).c)) + { + or.a(this.a).showUserDialog(2131361808, or.a(this.a).getResources().getString(2131362246), 2131362256, 2131361804, new ou(this), new ov(this)); + return; + } + if (paramCompoundButton.f.e) {} + for (i = 0;; i = 1) + { + paramCompoundButton = af.a(); + localObject = or.a(this.a).mA2; + localHandler = or.a(this.a).mHandler; + paramCompoundButton.b(0L, new int[] { 71 }, new int[] { i }, (String)localObject, localHandler); + return; + } + } while (paramBoolean != paramCompoundButton.f.c); + paramCompoundButton.f.d = true; + or.a(this.a, paramCompoundButton); + Object localObject = or.a(this.a).getItem(80); + if ((!paramCompoundButton.f.c) && (!((e)localObject).e)) + { + or.a(this.a).showUserDialog(2131361808, or.a(this.a).getResources().getString(2131362255), 2131362256, 2131361804, new ow(this), new ox(this)); + return; + } + int j = paramCompoundButton.f.a; + if (paramCompoundButton.f.c) { + i = 0; + } + paramCompoundButton = af.a(); + localObject = or.a(this.a).mA2; + Handler localHandler = or.a(this.a).mHandler; + paramCompoundButton.b(0L, new int[] { j }, new int[] { i }, (String)localObject, localHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ot + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ou.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ou.java new file mode 100755 index 00000000000..4257b1f6919 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ou.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import com.tencent.token.af; +import com.tencent.token.core.bean.e; + +final class ou + implements DialogInterface.OnClickListener +{ + ou(ot paramot) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + or.b(this.a.a).f.d = true; + or.a(this.a.a, or.b(this.a.a)); + if (ot.a(this.a).f.e) {} + for (paramInt = 0;; paramInt = 1) + { + paramDialogInterface = af.a(); + String str = or.a(this.a.a).mA2; + Handler localHandler = or.a(this.a.a).mHandler; + paramDialogInterface.b(0L, new int[] { 71, 82 }, new int[] { paramInt, 0 }, str, localHandler); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ou + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ov.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ov.java new file mode 100755 index 00000000000..5f326b52818 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ov.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ov + implements DialogInterface.OnClickListener +{ + ov(ot paramot) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ot.a(this.a).f.d = false; + or.a(this.a.a, ot.a(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ov + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ow.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ow.java new file mode 100755 index 00000000000..c2b2d3945d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ow.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import com.tencent.token.af; +import com.tencent.token.core.bean.e; + +final class ow + implements DialogInterface.OnClickListener +{ + ow(ot paramot) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + or.c(this.a.a).f.d = true; + or.a(this.a.a, or.c(this.a.a)); + int i = ot.a(this.a).f.a; + if (ot.a(this.a).f.c) {} + for (paramInt = 0;; paramInt = 1) + { + paramDialogInterface = af.a(); + String str = or.a(this.a.a).mA2; + Handler localHandler = or.a(this.a.a).mHandler; + paramDialogInterface.b(0L, new int[] { i, 71 }, new int[] { paramInt, 1 }, str, localHandler); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ow + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ox.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ox.java new file mode 100755 index 00000000000..288cf8b8f77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ox.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class ox + implements DialogInterface.OnClickListener +{ + ox(ot paramot) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ot.a(this.a).f.d = false; + or.a(this.a.a, ot.a(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ox + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oy.java new file mode 100755 index 00000000000..9bde4d0de67 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oy.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.core.bean.e; +import com.tencent.token.ui.base.SwitchButton; + +final class oy +{ + public View a; + public TextView b; + public TextView c; + public ProgressBar d; + public SwitchButton e; + public e f; + + oy(or paramor, View paramView, e parame) + { + this.a = paramView; + if (this.a == null) { + return; + } + this.f = parame; + this.b = ((TextView)this.a.findViewById(2131297225)); + this.c = ((TextView)this.a.findViewById(2131297228)); + this.e = ((SwitchButton)this.a.findViewById(2131297226)); + this.d = ((ProgressBar)this.a.findViewById(2131297227)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/oz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/oz.java new file mode 100755 index 00000000000..0361e2663e2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/oz.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class oz + implements Runnable +{ + oz(LogoActivity paramLogoActivity) {} + + public final void run() + { + this.a.nextPage(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.oz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/p.java b/com.tencent.token/classes.jar/com/tencent/token/ui/p.java new file mode 100755 index 00000000000..504133bd950 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/p.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.utils.s; + +final class p + implements View.OnClickListener +{ + p(AccountPageActivity paramAccountPageActivity, EvalAccountResult paramEvalAccountResult) {} + + public final void onClick(View paramView) + { + if (this.a.mSubStatus == 0) + { + if (!TextUtils.isEmpty(this.a.mUrl)) { + s.a(this.b, this.a.mUrl, this.b.getString(2131362296)); + } + return; + } + paramView = new Intent(this.b, ModifyQQPwdActivity.class); + pv.a().a(this.b, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pa.java new file mode 100755 index 00000000000..f82220c02b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pa.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +final class pa + implements Runnable +{ + pa(LogoActivity paramLogoActivity) {} + + public final void run() + { + LogoActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pb.java new file mode 100755 index 00000000000..5cb2f02d97c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pb.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class pb + implements DialogInterface.OnClickListener +{ + pb(LogoActivity paramLogoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 3); + this.a.startActivity(paramDialogInterface); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pc.java new file mode 100755 index 00000000000..bcfff4d899d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pc.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class pc + implements DialogInterface.OnClickListener +{ + pc(LogoActivity paramLogoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (paramDialogInterface != null) + { + paramDialogInterface.dismiss(); + LogoActivity.access$100(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pd.java new file mode 100755 index 00000000000..9e68df2fc43 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pd.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class pd + implements DialogInterface.OnCancelListener +{ + pd(LogoActivity paramLogoActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + if (paramDialogInterface != null) + { + paramDialogInterface.dismiss(); + LogoActivity.access$100(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pe.java new file mode 100755 index 00000000000..d35e63b690e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pe.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class pe + implements DialogInterface.OnClickListener +{ + pe(LogoActivity paramLogoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, StartPwdGestureModifyActivity.class); + this.a.startActivityForResult(paramDialogInterface, 260); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pf.java new file mode 100755 index 00000000000..d641756aafb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class pf + implements DialogInterface.OnClickListener +{ + pf(LogoActivity paramLogoActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + LogoActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pg.java new file mode 100755 index 00000000000..0c28a3ee225 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pg.java @@ -0,0 +1,79 @@ +package com.tencent.token.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.fn; +import java.util.ArrayList; + +final class pg + extends BaseAdapter +{ + private UtilsMbInfoActivity a; + private LayoutInflater b; + + public pg(UtilsMbInfoActivity paramUtilsMbInfoActivity) + { + this.a = paramUtilsMbInfoActivity; + this.b = LayoutInflater.from(paramUtilsMbInfoActivity); + } + + public final int getCount() + { + MbInfoResult localMbInfoResult = fn.a().c(); + if ((localMbInfoResult == null) || (localMbInfoResult.mMbInfoItems == null)) { + return 0; + } + return localMbInfoResult.mMbInfoItems.size(); + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.b.inflate(2130903243, paramViewGroup, false); + } + paramView = fn.a().c(); + if ((paramView == null) && (!this.a.mIsIniting)) { + this.a.getMbInfo(); + } + while ((paramView == null) || (paramView.mMbInfoItems == null) || (paramView.mMbInfoItems.size() <= paramInt)) { + return localView; + } + paramView = (MbInfoResult.MbInfoItem)paramView.mMbInfoItems.get(paramInt); + paramViewGroup = (TextView)localView.findViewById(2131297249); + TextView localTextView1 = (TextView)localView.findViewById(2131297250); + TextView localTextView2 = (TextView)localView.findViewById(2131297252); + if (paramView.mName != null) { + paramViewGroup.setText(paramView.mName); + } + if (paramView.mDesc != null) { + localTextView1.setText(paramView.mDesc); + } + if (paramView.mOpName != null) { + localTextView2.setText(paramView.mOpName); + } + localView.setOnClickListener(new ph(this, paramView, paramInt, paramInt)); + return localView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ph.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ph.java new file mode 100755 index 00000000000..439a7818d93 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ph.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; + +final class ph + implements View.OnClickListener +{ + ph(pg parampg, MbInfoResult.MbInfoItem paramMbInfoItem, int paramInt1, int paramInt2) {} + + public final void onClick(View paramView) + { + if ((this.a.mId == 51) && (this.a.mDetail.mBtnType == 1)) + { + paramView = new Intent(pg.a(this.d), UtilsModSetMobileStep1Activity.class); + paramView.putExtra("title", pg.a(this.d).getResources().getString(2131361814) + this.a.mName); + paramView.putExtra("op_type", 1); + paramView.putExtra("position", this.b); + pg.a(this.d).startActivity(paramView); + return; + } + paramView = new Intent(pg.a(this.d), UtilsMbInfoItemActivity.class); + paramView.putExtra("position", this.c); + pg.a(this.d).startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ph + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pi.java new file mode 100755 index 00000000000..2a57b46c4d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pi.java @@ -0,0 +1,102 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Message; +import android.widget.EditText; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.SecondVerifyDialog; +import com.tencent.token.x; + +final class pi + extends bo +{ + pi(ModifyQQPwdActivity paramModifyQQPwdActivity) + { + super(paramModifyQQPwdActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + return; + } + switch (paramMessage.what) + { + default: + return; + case 1010: + case 1012: + if (this.a.mPwdTextView == null) { + break; + } + } + for (Object localObject = this.a.mPwdTextView.getText().toString(); 1 == paramMessage.arg1; localObject = null) + { + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131361930) + (String)localObject, 2131361800, 2131361804, new pj(this, (String)localObject), null); + return; + if (1 != paramMessage.arg1) { + break; + } + this.a.dismissDialog(); + paramMessage = new SecondVerifyDialog(this.a, this.a.mHandler, paramMessage.arg1); + paramMessage.setCancelable(true); + paramMessage.show(); + return; + if (1 != paramMessage.arg1) { + break; + } + this.a.dismissDialog(); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + this.a.showSuccessView(); + paramMessage = ax.a().e(); + if (paramMessage == null) { + break; + } + x.a(RqdApplication.i()).a("" + paramMessage.mRealUin, this.a.mPwdText, 523005419L); + x.a(RqdApplication.i()).a("" + paramMessage.mRealUin, this.a.mPwdText, 523005425L); + return; + } + localObject = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)localObject); + e.c("modqqpwd: " + ((d)localObject).a + ", " + ((d)localObject).c + ", arg=" + paramMessage.arg1); + if ((111 == ((d)localObject).a) || (110 == ((d)localObject).a) || (103 == ((d)localObject).a)) + { + this.a.showUserDialog(2131361933, ((d)localObject).c, 2131362297, new pl(this)); + return; + } + this.a.showUserDialog(2131361933, ((d)localObject).c, 2131361800, null); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = ax.a().e(); + if (paramMessage == null) + { + ModifyQQPwdActivity.access$000(this.a, this.a.getResources().getString(2131361945)); + return; + } + ModifyQQPwdActivity.access$100(this.a, paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, 2131361804, new pm(this), new pn(this)); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pj.java new file mode 100755 index 00000000000..00fed69488c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pj.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class pj + implements DialogInterface.OnClickListener +{ + pj(pi parampi, String paramString) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = af.a(); + String str = this.a; + if (this.b.a.vrypswSucc) {} + for (paramInt = 2;; paramInt = 0) + { + paramDialogInterface.a(0L, str, paramInt, this.b.a.mHandler); + this.b.a.showProDialog(this.b.a, 2131361808, 2131361931, new pk(this)); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pk.java new file mode 100755 index 00000000000..3f5f70cd89b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class pk + implements View.OnClickListener +{ + pk(pj parampj) {} + + public final void onClick(View paramView) + { + this.a.b.a.cancelRequest(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pl.java new file mode 100755 index 00000000000..3a87bfed7d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pl.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class pl + implements DialogInterface.OnClickListener +{ + pl(pi parampi) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtLoginAccountInput.class); + paramDialogInterface.putExtra("page_id", 4); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pm.java new file mode 100755 index 00000000000..c102d518c70 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pm.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class pm + implements DialogInterface.OnClickListener +{ + pm(pi parampi) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + af.a().b(this.a.a.mHandler); + this.a.a.showProDialog(this.a.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pn.java new file mode 100755 index 00000000000..33baf3ebd75 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pn.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class pn + implements DialogInterface.OnClickListener +{ + pn(pi parampi) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/po.java b/com.tencent.token/classes.jar/com/tencent/token/ui/po.java new file mode 100755 index 00000000000..75d9e4b0360 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/po.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class po + implements DialogInterface.OnClickListener +{ + po(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.po + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pp.java new file mode 100755 index 00000000000..40cec0402bf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pp.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; + +final class pp + implements DialogInterface.OnCancelListener +{ + pp(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pq.java new file mode 100755 index 00000000000..680bcf740bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pq.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.widget.Button; +import com.tencent.token.widget.InputMethodRelativeLayout; +import com.tencent.token.widget.a; + +final class pq + implements a +{ + pq(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void a(boolean paramBoolean, int paramInt) + { + if (paramBoolean) + { + int[] arrayOfInt = new int[2]; + ModifyQQPwdActivity.access$200(this.a).getLocationInWindow(arrayOfInt); + int i = arrayOfInt[1]; + this.a.mRootLayout.getLocationInWindow(arrayOfInt); + paramInt = i - arrayOfInt[1] + ModifyQQPwdActivity.access$200(this.a).getHeight() - paramInt; + if (paramInt > 0) { + this.a.mScrollAreaLayout.setPadding(this.a.mScrollAreaLayout.getPaddingLeft(), this.a.mScrollAreaLayout.getPaddingTop() - paramInt, this.a.mScrollAreaLayout.getPaddingRight(), this.a.mScrollAreaLayout.getPaddingBottom()); + } + return; + } + this.a.mScrollAreaLayout.setPadding(0, 0, 0, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pr.java new file mode 100755 index 00000000000..d1fcfe7b8be --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pr.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class pr + implements View.OnClickListener +{ + pr(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361981)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ps.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ps.java new file mode 100755 index 00000000000..1183375a125 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ps.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.RelativeLayout; + +final class ps + implements Runnable +{ + ps(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void run() + { + ModifyQQPwdActivity.access$300(this.a).setVisibility(8); + ModifyQQPwdActivity.access$402(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ps + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pt.java new file mode 100755 index 00000000000..4cd65a47223 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pt.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class pt + implements DialogInterface.OnClickListener +{ + pt(ModifyQQPwdActivity paramModifyQQPwdActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(0L, this.a.mPwdText, 1, this.a.mHandler); + this.a.showProDialog(this.a, 2131361808, 2131361931, new pu(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pu.java new file mode 100755 index 00000000000..785926a05e1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class pu + implements View.OnClickListener +{ + pu(pt parampt) {} + + public final void onClick(View paramView) + { + this.a.a.cancelRequest(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pv.java new file mode 100755 index 00000000000..8c82b9255aa --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pv.java @@ -0,0 +1,117 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Handler.Callback; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.t; + +public final class pv +{ + public static int b = -1; + private static pv d = null; + qe a; + public Handler c = new qc(this); + private Activity e = null; + private View.OnClickListener f = new py(this); + private Handler.Callback g = new qb(this); + + public static pv a() + { + if (d == null) { + d = new pv(); + } + return d; + } + + public final void a(Activity paramActivity, Intent paramIntent, int paramInt) + { + if ((paramIntent == null) || (paramActivity == null)) {} + do + { + return; + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + if ((paramActivity instanceof BaseActivity)) + { + paramIntent = paramActivity.getResources().getString(2131362635); + ((BaseActivity)paramActivity).showUserDialog(2131361808, paramIntent, 2131361800, new pz(this, paramActivity), new qa(this, paramActivity)); + return; + } + paramActivity.startActivity(new Intent(paramActivity, WtLoginAccountInput.class)); + paramActivity.finish(); + return; + } + if (((t.l() != 0) || (!localQQUser.mIsZzb)) && ((t.l() != 1) || (!ax.a().j()))) { + break; + } + this.e = paramActivity; + af.a().c(localQQUser.mUin, localQQUser.mRealUin, this.c); + } while (!(paramActivity instanceof BaseActivity)); + ((BaseActivity)paramActivity).showProDialog(paramActivity, 2131361808, 2131362485, this.f); + return; + if (paramInt == b) + { + paramActivity.startActivity(paramIntent); + return; + } + paramActivity.startActivityForResult(paramIntent, paramInt); + } + + public final void a(Activity paramActivity, qe paramqe) + { + if ((paramActivity == null) || (paramActivity.isFinishing())) {} + for (;;) + { + return; + QQUser localQQUser = ax.a().e(); + if (localQQUser == null) + { + if ((paramActivity instanceof BaseActivity)) + { + paramqe = paramActivity.getResources().getString(2131362635); + ((BaseActivity)paramActivity).showUserDialog(2131361808, paramqe, 2131361800, new pw(this, paramActivity), new px(this, paramActivity)); + return; + } + paramActivity.startActivity(new Intent(paramActivity, WtLoginAccountInput.class)); + paramActivity.finish(); + return; + } + if (ax.a().j()) + { + this.e = paramActivity; + this.a = paramqe; + if (localQQUser.mRealUin == 0L) { + af.a().b(this.c); + } + while ((paramActivity instanceof BaseActivity)) + { + ((BaseActivity)paramActivity).showProDialog(paramActivity, 2131361808, 2131362485, this.f); + return; + af.a().c(localQQUser.mUin, localQQUser.mRealUin, this.c); + } + } + } + } + + public final void b() + { + if (this.e != null) { + this.e = null; + } + this.a = null; + d = null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pw.java new file mode 100755 index 00000000000..71568ced2a7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pw.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class pw + implements DialogInterface.OnClickListener +{ + pw(pv parampv, Activity paramActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ((BaseActivity)this.a).dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/px.java b/com.tencent.token/classes.jar/com/tencent/token/ui/px.java new file mode 100755 index 00000000000..2c0c875de29 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/px.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class px + implements DialogInterface.OnCancelListener +{ + px(pv parampv, Activity paramActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a, WtLoginAccountInput.class); + this.a.startActivity(paramDialogInterface); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.px + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/py.java b/com.tencent.token/classes.jar/com/tencent/token/ui/py.java new file mode 100755 index 00000000000..a040c35ff4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/py.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class py + implements View.OnClickListener +{ + py(pv parampv) {} + + public final void onClick(View paramView) + { + e.a("onClickrelease"); + this.a.b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.py + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/pz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/pz.java new file mode 100755 index 00000000000..e4952134cbf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/pz.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class pz + implements DialogInterface.OnClickListener +{ + pz(pv parampv, Activity paramActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ((BaseActivity)this.a).dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.pz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/q.java b/com.tencent.token/classes.jar/com/tencent/token/ui/q.java new file mode 100755 index 00000000000..343cdf34a00 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/q.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.utils.s; + +final class q + implements View.OnClickListener +{ + q(AccountPageActivity paramAccountPageActivity, EvalAccountResult paramEvalAccountResult) {} + + public final void onClick(View paramView) + { + if (this.a.mSubStatus == 0) + { + if (!TextUtils.isEmpty(this.a.mUrl)) { + s.a(this.b, this.a.mUrl, this.b.getString(2131362296)); + } + return; + } + paramView = new Intent(this.b, ModifyQQPwdActivity.class); + pv.a().a(this.b, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qa.java new file mode 100755 index 00000000000..9fb1524e3db --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qa.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class qa + implements DialogInterface.OnCancelListener +{ + qa(pv parampv, Activity paramActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a, WtLoginAccountInput.class); + this.a.startActivity(paramDialogInterface); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qb.java new file mode 100755 index 00000000000..b7ffe0afd66 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qb.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Intent; +import android.os.Handler.Callback; +import android.os.Message; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class qb + implements Handler.Callback +{ + qb(pv parampv) {} + + public final boolean handleMessage(Message paramMessage) + { + e.a("Callback=" + paramMessage.arg1); + if (paramMessage.arg1 == 270) + { + ((BaseActivity)pv.a(this.a)).dismissDialog(); + paramMessage = (UpgradeDeterminResult)((d)paramMessage.obj).d; + e.a("mSmsPrefix=" + paramMessage.mSmsPrefix); + e.a("mMobileMask=" + paramMessage.mMobileMask); + QQUser localQQUser = ax.a().e(); + e.a("currentUser=" + localQQUser); + Intent localIntent = new Intent(pv.a(this.a), VryMobileForStrategyActivity.class); + localIntent.setFlags(536870912); + localIntent.putExtra("intent.qquser", localQQUser); + localIntent.putExtra("page_id", 13); + localIntent.putExtra("intent.upgradedetermin", paramMessage); + pv.a(this.a).startActivity(localIntent); + this.a.b(); + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qc.java new file mode 100755 index 00000000000..71d2632d945 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qc.java @@ -0,0 +1,131 @@ +package com.tencent.token.ui; + +import android.app.Activity; +import android.content.Intent; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; + +final class qc + extends qd +{ + qc(pv parampv) + { + super(parampv); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + Object localObject; + do + { + do + { + do + { + do + { + return; + if (paramMessage.arg1 != 0) { + break; + } + paramMessage = ax.a().e(); + } while (paramMessage == null); + af.a().c(paramMessage.mUin, paramMessage.mRealUin, this.a.c); + return; + } while (pv.a(this.a) == null); + ((BaseActivity)pv.a(this.a)).dismissDialog(); + localObject = (d)paramMessage.obj; + d.a(pv.a(this.a).getResources(), (d)localObject); + e.c("modqqpwd: " + ((d)localObject).a + ", " + ((d)localObject).c + ", arg=" + paramMessage.arg1); + } while (pv.a(this.a) == null); + if ((((d)localObject).c == null) || (((d)localObject).c.length() == 0)) { + d.a(pv.a(this.a).getResources(), (d)localObject); + } + if ((pv.a(this.a) instanceof BaseActivity)) { + ((BaseActivity)pv.a(this.a)).showUserDialog(2131361808, ((d)localObject).c, 2131361800, null); + } + this.a.b(); + return; + if (paramMessage.arg1 != 0) { + break; + } + paramMessage = (Integer)paramMessage.obj; + if (this.a.a != null) + { + localObject = this.a.a; + if (paramMessage.intValue() == 1) {} + for (boolean bool = true;; bool = false) + { + ((qe)localObject).a(bool); + this.a.a = null; + if ((pv.a(this.a) instanceof BaseActivity)) { + ((BaseActivity)pv.a(this.a)).dismissDialog(); + } + this.a.b(); + return; + } + } + } while (pv.a(this.a) == null); + for (;;) + { + try + { + if (paramMessage.intValue() != 1) { + continue; + } + if (t.l() != 0) { + continue; + } + paramMessage = new Intent(pv.a(this.a).getApplicationContext(), FaceRecognitionCameraActivityOld.class); + paramMessage.putExtra("istry", 4); + paramMessage.putExtra("flag", 2); + paramMessage.putExtra("scene", 8); + pv.a(this.a).startActivity(paramMessage); + if ((pv.a(this.a) instanceof BaseActivity)) { + ((BaseActivity)pv.a(this.a)).dismissDialog(); + } + } + catch (Exception paramMessage) + { + continue; + } + this.a.b(); + return; + paramMessage = new Intent(pv.a(this.a).getApplicationContext(), FaceRecognitionCameraActivity.class); + continue; + paramMessage = new Intent(pv.a(this.a).getApplicationContext(), ModifyQQPwdActivity.class); + pv.a(this.a).startActivity(paramMessage); + continue; + if (pv.a(this.a) == null) { + break; + } + ((BaseActivity)pv.a(this.a)).dismissDialog(); + if (pv.a(this.a) == null) { + break; + } + localObject = (d)paramMessage.obj; + d.a(pv.a(this.a).getResources(), (d)localObject); + e.c("modqqpwd: " + ((d)localObject).a + ", " + ((d)localObject).c + ", arg=" + paramMessage.arg1); + if ((((d)localObject).c == null) || (((d)localObject).c.length() == 0)) { + d.a(pv.a(this.a).getResources(), (d)localObject); + } + if ((pv.a(this.a) instanceof BaseActivity)) { + ((BaseActivity)pv.a(this.a)).showUserDialog(2131361808, ((d)localObject).c, 2131361800, null); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qd.java new file mode 100755 index 00000000000..b2cbc9bc3ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qd.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.os.Handler; + +public class qd + extends Handler +{ + public qd(pv parampv) + { + super(pv.b(parampv)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qe.java new file mode 100755 index 00000000000..8db87abf563 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qe.java @@ -0,0 +1,12 @@ +package com.tencent.token.ui; + +public abstract interface qe +{ + public abstract void a(boolean paramBoolean); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qf.java new file mode 100755 index 00000000000..59779b288b1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qf.java @@ -0,0 +1,468 @@ +package com.tencent.token.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.view.ViewGroup.MarginLayoutParams; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.core.bean.OnlineDeviceResult; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.core.bean.f; +import com.tencent.token.fo; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import java.util.ArrayList; + +final class qf + extends BaseAdapter +{ + public final int a = 15; + View.OnClickListener b = null; + public int c = 1; + private final int d = 1; + private final int e = 2; + private final int f = 3; + private final int g = 4; + private LoginMsgActivity h = null; + private LayoutInflater i = null; + private View j; + private View k; + private View l; + private fo m; + private OnlineDeviceResult n; + + public qf(LoginMsgActivity paramLoginMsgActivity) + { + this.h = paramLoginMsgActivity; + this.i = LayoutInflater.from(paramLoginMsgActivity); + } + + public final void a() + { + if (this.m == null) { + return; + } + int i1 = this.m.a(this.c * 15); + if (i1 <= 0) + { + b(); + this.l.setVisibility(8); + this.k.findViewById(2131296830).setVisibility(8); + } + for (;;) + { + e.a("query login msg=" + i1); + notifyDataSetChanged(); + this.h.checkTimeZoneFlag(); + return; + if (i1 >= this.c * 15) + { + this.k.findViewById(2131296830).setVisibility(0); + this.l.setVisibility(8); + } + else + { + this.k.findViewById(2131296830).setVisibility(8); + this.l.setVisibility(0); + } + } + } + + public final void a(View paramView) + { + this.j = paramView; + } + + public final void a(fo paramfo, OnlineDeviceResult paramOnlineDeviceResult) + { + this.m = paramfo; + this.n = paramOnlineDeviceResult; + } + + public final boolean areAllItemsEnabled() + { + return true; + } + + public final void b() + { + TextView localTextView = (TextView)this.j.findViewById(2131296735); + localTextView.setVisibility(0); + ImageView localImageView = (ImageView)this.j.findViewById(2131296734); + if ((this.n != null) && (this.n.mDevicesList != null) && (this.n.mDevicesList.size() > 0)) + { + localTextView.setVisibility(8); + localImageView.setVisibility(8); + return; + } + localTextView.setText(2131362014); + localTextView.setVisibility(0); + localImageView.setVisibility(0); + } + + public final void b(View paramView) + { + this.l = paramView; + } + + public final void c() + { + this.j.findViewById(2131296735).setVisibility(8); + this.j.findViewById(2131296734).setVisibility(8); + } + + public final void c(View paramView) + { + this.k = paramView; + this.k.setOnClickListener(new qg(this)); + } + + public final void d() + { + this.k.findViewById(2131296830).setVisibility(0); + } + + public final void e() + { + this.k.findViewById(2131296830).setVisibility(8); + } + + public final void f() + { + this.l.setVisibility(0); + } + + public final void g() + { + this.l.setVisibility(8); + } + + public final int getCount() + { + ArrayList localArrayList = null; + if (this.n != null) { + localArrayList = this.n.mDevicesList; + } + if ((localArrayList != null) && (localArrayList.size() > 0)) { + return localArrayList.size() + this.m.g(); + } + if (this.m == null) { + return 0; + } + return this.m.g(); + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final int getItemViewType(int paramInt) + { + return 1; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + Object localObject1 = paramView; + if (paramView == null) { + localObject1 = this.i.inflate(2130903127, paramViewGroup, false); + } + if ((this.n != null) && (this.n.mDevicesList != null)) {} + for (int i1 = this.n.mDevicesList.size();; i1 = 0) + { + Object localObject2; + Object localObject3; + Object localObject4; + Object localObject5; + TextView localTextView1; + if ((this.n != null) && (this.n.mDevicesList != null) && (i1 > paramInt)) + { + localObject1 = (f)this.n.mDevicesList.get(paramInt); + paramView = this.i.inflate(2130903127, paramViewGroup, false); + paramViewGroup = (RelativeLayout)paramView.findViewById(2131296787); + localObject2 = (RelativeLayout)paramView.findViewById(2131296265); + localObject3 = (RelativeLayout)paramView.findViewById(2131296279); + localObject4 = (RelativeLayout)paramView.findViewById(2131296271); + localObject5 = (RelativeLayout)paramView.findViewById(2131296275); + localTextView1 = (TextView)paramView.findViewById(2131296786); + paramViewGroup.setVisibility(0); + ((RelativeLayout)localObject2).setVisibility(8); + ((RelativeLayout)localObject3).setVisibility(8); + ((RelativeLayout)localObject4).setVisibility(8); + ((RelativeLayout)localObject5).setVisibility(8); + if (paramInt == 0) + { + localTextView1.setVisibility(0); + localTextView1.setText(2131362063); + paramViewGroup = (ImageView)paramView.findViewById(2131296789); + localObject2 = (TextView)paramView.findViewById(2131296793); + localObject3 = (TextView)paramView.findViewById(2131296794); + localObject4 = (Button)paramView.findViewById(2131296791); + localObject5 = (ProgressBar)paramView.findViewById(2131296792); + ((Button)localObject4).setOnClickListener(new qh(this, (f)localObject1, (ProgressBar)localObject5)); + ((ProgressBar)localObject5).setVisibility(8); + ((TextView)localObject2).setText(((f)localObject1).b); + ((TextView)localObject3).setText(((f)localObject1).c); + if (((f)localObject1).h != 4) { + break label420; + } + paramViewGroup.setImageResource(2130837673); + label328: + paramViewGroup = (ImageView)paramView.findViewById(2131296788); + localObject1 = (ImageView)paramView.findViewById(2131296555); + localObject2 = (ImageView)paramView.findViewById(2131296795); + if (paramInt != 0) { + break label447; + } + paramViewGroup.setVisibility(0); + label369: + if ((this.n.mDevicesList == null) || (paramInt != this.n.mDevicesList.size() - 1)) { + break label456; + } + ((ImageView)localObject1).setVisibility(0); + ((ImageView)localObject2).setVisibility(8); + } + } + label420: + label447: + label456: + do + { + return paramView; + localTextView1.setVisibility(8); + break; + if (((f)localObject1).h == 3) + { + paramViewGroup.setImageResource(2130837695); + break label328; + } + paramViewGroup.setImageResource(2130837688); + break label328; + paramViewGroup.setVisibility(8); + break label369; + ((ImageView)localObject1).setVisibility(8); + ((ImageView)localObject2).setVisibility(0); + return paramView; + if (this.m == null) { + return null; + } + paramViewGroup = this.m.b(paramInt - i1); + paramView = (View)localObject1; + } while (paramViewGroup == null); + int i2; + boolean bool; + label552: + int i3; + label601: + TextView localTextView2; + TextView localTextView3; + TextView localTextView4; + ImageView localImageView1; + ImageView localImageView2; + ImageView localImageView3; + ImageView localImageView4; + ImageView localImageView5; + ImageView localImageView6; + if ((paramViewGroup.mFlag & 0x4) == 4) + { + i2 = 1; + ((View)localObject1).setOnClickListener(new qi(this, paramViewGroup, paramInt - i1)); + if (i2 == 0) { + break label1082; + } + if ((paramViewGroup.mFlag & 0x100) != 256) { + break label1076; + } + bool = true; + ((View)localObject1).setOnTouchListener(new qj(this, true, bool)); + i3 = paramInt - i1; + paramView = (TextView)((View)localObject1).findViewById(2131296786); + if (i3 != 0) { + break label1124; + } + paramView.setVisibility(0); + paramView.setText(2131362062); + localObject5 = (RelativeLayout)((View)localObject1).findViewById(2131296787); + paramView = (RelativeLayout)((View)localObject1).findViewById(2131296265); + localObject2 = (RelativeLayout)((View)localObject1).findViewById(2131296279); + localObject3 = (RelativeLayout)((View)localObject1).findViewById(2131296271); + localObject4 = (RelativeLayout)((View)localObject1).findViewById(2131296275); + ((RelativeLayout)localObject5).setVisibility(8); + ((RelativeLayout)localObject2).setVisibility(0); + localTextView2 = (TextView)((View)localObject1).findViewById(2131296280); + localTextView3 = (TextView)((View)localObject1).findViewById(2131296281); + localTextView4 = (TextView)((View)localObject1).findViewById(2131296282); + localObject5 = (TextView)((View)localObject1).findViewById(2131296268); + localTextView1 = (TextView)((View)localObject1).findViewById(2131296269); + localImageView1 = (ImageView)((View)localObject1).findViewById(2131296266); + localImageView2 = (ImageView)((View)localObject1).findViewById(2131296267); + localImageView3 = (ImageView)((View)localObject1).findViewById(2131296273); + localImageView4 = (ImageView)((View)localObject1).findViewById(2131296277); + localImageView5 = (ImageView)((View)localObject1).findViewById(2131296274); + localImageView6 = (ImageView)((View)localObject1).findViewById(2131296278); + if (i3 != 0) { + break label1133; + } + paramView.setVisibility(0); + ((ViewGroup.MarginLayoutParams)paramView.getLayoutParams()).topMargin = ((int)(10.0F * IndexActivity.S_DENSITY)); + label833: + if (i2 == 0) + { + if ((paramViewGroup.mFlag & 0x1) != 1) { + break label1202; + } + paramInt = 1; + label850: + if (paramInt == 0) { + break label1310; + } + } + if ((paramViewGroup.mFlag & 0x100) != 256) { + break label1207; + } + paramInt = 1; + label870: + if (paramInt == 0) + { + if ((paramViewGroup.mFlag & 0x1) != 1) { + break label1212; + } + paramInt = 1; + label886: + if (paramInt == 0) { + break label1226; + } + } + ((RelativeLayout)localObject2).setBackgroundResource(2130837727); + localTextView2.setTextAppearance(this.h, 2131427424); + localTextView3.setTextAppearance(this.h, 2131427425); + ((RelativeLayout)localObject3).setVisibility(4); + ((RelativeLayout)localObject4).setVisibility(0); + localImageView4.setBackgroundResource(2130837723); + if (i3 != getCount() - 1 - i1) { + break label1217; + } + localImageView6.setVisibility(4); + label962: + localTextView2.setText(paramViewGroup.mTitle); + paramInt = paramViewGroup.mContent.indexOf('|'); + if (paramInt == -1) { + break label1394; + } + localTextView3.setText(paramViewGroup.mContent.substring(0, paramInt)); + } + for (;;) + { + localTextView4.setText(s.d(paramViewGroup.mTime * 1000L)); + paramView = s.c(paramViewGroup.mTime * 1000L); + if (paramView.length() <= 2) { + break label1406; + } + ((TextView)localObject5).setVisibility(8); + localTextView1.setVisibility(0); + localTextView1.setText(paramView); + localImageView1.setVisibility(4); + localImageView2.setVisibility(0); + return localObject1; + i2 = 0; + break; + label1076: + bool = false; + break label552; + label1082: + if ((paramViewGroup.mFlag & 0x100) == 256) {} + for (bool = true;; bool = false) + { + ((View)localObject1).setOnTouchListener(new qj(this, false, bool)); + break; + } + label1124: + paramView.setVisibility(8); + break label601; + label1133: + SafeMsgItem localSafeMsgItem = this.m.b(i3 - 1); + if ((localSafeMsgItem != null) && (!s.a(localSafeMsgItem.mTime * 1000L, paramViewGroup.mTime * 1000L))) + { + paramView.setVisibility(0); + ((ViewGroup.MarginLayoutParams)paramView.getLayoutParams()).topMargin = 0; + break label833; + } + paramView.setVisibility(8); + break label833; + label1202: + paramInt = 0; + break label850; + label1207: + paramInt = 0; + break label870; + label1212: + paramInt = 0; + break label886; + label1217: + localImageView6.setVisibility(0); + break label962; + label1226: + localImageView4.setBackgroundResource(2130837724); + if (i3 == getCount() - 1 - i1) { + localImageView6.setVisibility(4); + } + for (;;) + { + ((RelativeLayout)localObject2).setBackgroundResource(2130837726); + localTextView2.setTextAppearance(this.h, 2131427426); + localTextView3.setTextAppearance(this.h, 2131427427); + ((RelativeLayout)localObject3).setVisibility(4); + ((RelativeLayout)localObject4).setVisibility(0); + break; + localImageView6.setVisibility(0); + } + label1310: + ((RelativeLayout)localObject2).setBackgroundResource(2130837727); + localTextView2.setTextAppearance(this.h, 2131427424); + localTextView3.setTextAppearance(this.h, 2131427425); + ((RelativeLayout)localObject3).setVisibility(0); + ((RelativeLayout)localObject4).setVisibility(4); + localImageView3.setBackgroundResource(2130837722); + if (i3 == getCount() - 1 - i1) + { + localImageView5.setVisibility(4); + break label962; + } + localImageView5.setVisibility(0); + break label962; + label1394: + localTextView3.setText(paramViewGroup.mContent); + } + label1406: + localTextView1.setVisibility(8); + ((TextView)localObject5).setVisibility(0); + ((TextView)localObject5).setText(paramView); + localImageView1.setVisibility(0); + localImageView2.setVisibility(4); + return localObject1; + } + } + + public final int getViewTypeCount() + { + return 1; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qg.java new file mode 100755 index 00000000000..468f495c6c5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class qg + implements View.OnClickListener +{ + qg(qf paramqf) {} + + public final void onClick(View paramView) + { + paramView = this.a; + paramView.c += 1; + this.a.a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qh.java new file mode 100755 index 00000000000..acd652bcf77 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qh.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ProgressBar; +import com.tencent.token.af; +import com.tencent.token.core.bean.f; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class qh + implements View.OnClickListener +{ + qh(qf paramqf, f paramf, ProgressBar paramProgressBar) {} + + public final void onClick(View paramView) + { + af.a().a(0L, this.a.a, this.a.d, this.a.e, this.a.f, this.a.g, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", LoginMsgActivity.mSkey, qf.a(this.c).mHandler); + this.b.setVisibility(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qi.java new file mode 100755 index 00000000000..05d0a6bca65 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qi.java @@ -0,0 +1,53 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.global.e; + +final class qi + implements View.OnClickListener +{ + int a; + SafeMsgItem b; + + public qi(qf paramqf, SafeMsgItem paramSafeMsgItem, int paramInt) + { + this.a = paramInt; + this.b = paramSafeMsgItem; + } + + public final void onClick(View paramView) + { + boolean bool2 = true; + paramView = new Intent(qf.a(this.c), OpMsgDisplayActivity.class); + paramView.putExtra("position", this.a); + paramView.putExtra("type", 1); + StringBuilder localStringBuilder; + if ((this.b.mFlag & 0x4) == 4) + { + bool1 = true; + paramView.putExtra("ipcmsg", bool1); + localStringBuilder = new StringBuilder().append("ipsmsg = "); + if ((this.b.mFlag & 0x4) != 4) { + break label119; + } + } + label119: + for (boolean bool1 = bool2;; bool1 = false) + { + e.c(bool1); + qf.a(this.c).startActivity(paramView); + return; + bool1 = false; + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qj.java new file mode 100755 index 00000000000..175b48585c0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qj.java @@ -0,0 +1,72 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import android.widget.RelativeLayout; +import android.widget.TextView; + +final class qj + implements View.OnTouchListener +{ + private boolean b; + private boolean c; + + public qj(qf paramqf, boolean paramBoolean1, boolean paramBoolean2) + { + this.b = paramBoolean1; + this.c = paramBoolean2; + } + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + TextView localTextView1 = (TextView)paramView.findViewById(2131296280); + TextView localTextView2 = (TextView)paramView.findViewById(2131296281); + TextView localTextView3 = (TextView)paramView.findViewById(2131296282); + RelativeLayout localRelativeLayout = (RelativeLayout)paramView.findViewById(2131296279); + int i = qf.a(this.a).getResources().getColor(2131165194); + switch (paramMotionEvent.getAction()) + { + default: + case 0: + case 2: + for (;;) + { + return false; + localTextView1.setTextColor(i); + localTextView2.setTextColor(i); + localTextView3.setTextColor(i); + localRelativeLayout.setBackgroundResource(2130837728); + continue; + if (!paramView.isPressed()) { + break; + } + localTextView1.setTextColor(i); + localTextView2.setTextColor(i); + localTextView3.setTextColor(i); + localRelativeLayout.setBackgroundResource(2130837728); + } + } + if ((this.b) && (!this.c)) + { + localRelativeLayout.setBackgroundResource(2130837726); + localTextView1.setTextAppearance(qf.a(this.a), 2131427426); + localTextView2.setTextAppearance(qf.a(this.a), 2131427427); + } + for (;;) + { + localTextView3.setTextAppearance(qf.a(this.a), 2131427436); + break; + localRelativeLayout.setBackgroundResource(2130837727); + localTextView1.setTextAppearance(qf.a(this.a), 2131427424); + localTextView2.setTextAppearance(qf.a(this.a), 2131427425); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qk.java new file mode 100755 index 00000000000..a0e701bb60a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qk.java @@ -0,0 +1,100 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.fn; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class qk + extends bo +{ + qk(MyMbSubPageActivity paramMyMbSubPageActivity) + { + super(paramMyMbSubPageActivity); + } + + public final void handleMessage(Message paramMessage) + { + int j = 0; + int i = 0; + switch (paramMessage.what) + { + } + for (;;) + { + return; + this.a.dismissDialog(); + Object localObject; + if (paramMessage.arg1 == 0) + { + paramMessage = fn.a().c(); + if ((paramMessage != null) && (paramMessage.mMbInfoItems != null)) { + while (i < paramMessage.mMbInfoItems.size()) + { + localObject = (MbInfoResult.MbInfoItem)paramMessage.mMbInfoItems.get(i); + MyMbSubPageActivity.access$100(this.a, MyMbSubPageActivity.access$000(this.a), (MbInfoResult.MbInfoItem)localObject, i); + i += 1; + } + } + } + else + { + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) + { + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + MyMbSubPageActivity.access$202(this.a, (RealNameStatusResult)paramMessage.obj); + paramMessage = new Intent(this.a, RealNameProtectActivity.class); + paramMessage.putExtra("realname_result", MyMbSubPageActivity.access$200(this.a)); + this.a.startActivityForResult(paramMessage, 0); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + this.a.dismissDialog(); + e.c("K_MSG_GETEVALACCOUNTRESULT"); + if (paramMessage.arg1 != 0) + { + localObject = (d)paramMessage.obj; + MyMbSubPageActivity.access$300(this.a, (d)localObject, paramMessage); + return; + } + if (paramMessage.arg1 == 0) + { + MyMbSubPageActivity.access$402(this.a, (EvalAccountResult)paramMessage.obj); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + i = j; + while (i < MyMbSubPageActivity.access$400(this.a).mRecommends.size()) + { + paramMessage = (EvalAccountResult.RecommendItem)MyMbSubPageActivity.access$400(this.a).mRecommends.get(i); + if (paramMessage.mRecommendId == 4) { + MyMbSubPageActivity.access$500(this.a, paramMessage.mDetails); + } + i += 1; + } + } + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ql.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ql.java new file mode 100755 index 00000000000..5e6208f51b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ql.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ql + implements View.OnClickListener +{ + ql(MyMbSubPageActivity paramMyMbSubPageActivity) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ql + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qm.java new file mode 100755 index 00000000000..31998cf597d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qm.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class qm + implements View.OnClickListener +{ + qm(MyMbSubPageActivity paramMyMbSubPageActivity) {} + + public final void onClick(View paramView) + { + if ((Integer)paramView.getTag() == null) { + return; + } + af.a().d(0L, MyMbSubPageActivity.access$600(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qn.java new file mode 100755 index 00000000000..1cd229f5c91 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qn.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class qn + extends bo +{ + qn(MyProtecSubPageActivity paramMyProtecSubPageActivity) + { + super(paramMyProtecSubPageActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + for (;;) + { + return; + this.a.dismissDialog(); + e.c("K_MSG_GETEVALACCOUNTRESULT"); + if (paramMessage.arg1 != 0) + { + d locald = (d)paramMessage.obj; + MyProtecSubPageActivity.access$000(this.a, locald, paramMessage); + return; + } + if (paramMessage.arg1 == 0) + { + MyProtecSubPageActivity.access$102(this.a, (EvalAccountResult)paramMessage.obj); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + int i = 0; + while (i < MyProtecSubPageActivity.access$100(this.a).mRecommends.size()) + { + paramMessage = (EvalAccountResult.RecommendItem)MyProtecSubPageActivity.access$100(this.a).mRecommends.get(i); + if (paramMessage.mRecommendId == 3) { + MyProtecSubPageActivity.access$200(this.a, paramMessage.mDetails); + } + i += 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qo.java new file mode 100755 index 00000000000..2b26569bbc7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qo.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class qo + implements View.OnClickListener +{ + qo(MyProtecSubPageActivity paramMyProtecSubPageActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qp.java new file mode 100755 index 00000000000..b09a0f9b441 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qp.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class qp + implements View.OnClickListener +{ + qp(MyProtecSubPageActivity paramMyProtecSubPageActivity) {} + + public final void onClick(View paramView) + { + if ((Integer)paramView.getTag() == null) { + return; + } + af.a().d(0L, MyProtecSubPageActivity.access$300(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qq.java new file mode 100755 index 00000000000..a23a99cc222 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qq.java @@ -0,0 +1,73 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import android.support.v4.content.LocalBroadcastManager; +import com.tencent.token.core.bean.AbnormalLoginMsgResult; +import com.tencent.token.core.bean.EvalAccountResult; +import com.tencent.token.core.bean.EvalAccountResult.RecommendItem; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class qq + extends bo +{ + qq(MyPswSubPageActivity paramMyPswSubPageActivity) + { + super(paramMyPswSubPageActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + for (;;) + { + return; + this.a.dismissDialog(); + Object localObject; + if (paramMessage.arg1 == 0) + { + paramMessage = (AbnormalLoginMsgResult)paramMessage.obj; + localObject = new Intent(this.a, AbnormalLoginActivity.class); + ((Intent)localObject).putExtra("msgs", paramMessage); + this.a.startActivity((Intent)localObject); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(paramMessage.c); + return; + this.a.dismissDialog(); + e.c("K_MSG_GETEVALACCOUNTRESULT"); + if (paramMessage.arg1 != 0) + { + localObject = (d)paramMessage.obj; + MyPswSubPageActivity.access$000(this.a, (d)localObject, paramMessage); + return; + } + if (paramMessage.arg1 == 0) + { + MyPswSubPageActivity.access$102(this.a, (EvalAccountResult)paramMessage.obj); + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.refresh_menu")); + int i = 0; + while (i < MyPswSubPageActivity.access$100(this.a).mRecommends.size()) + { + paramMessage = (EvalAccountResult.RecommendItem)MyPswSubPageActivity.access$100(this.a).mRecommends.get(i); + if (paramMessage.mRecommendId == 2) { + MyPswSubPageActivity.access$200(this.a, paramMessage.mDetails); + } + i += 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qr.java new file mode 100755 index 00000000000..fd960b81665 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qr.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.bb; + +final class qr + implements View.OnClickListener +{ + qr(MyPswSubPageActivity paramMyPswSubPageActivity) {} + + public final void onClick(View paramView) + { + af.a().a(0L, bb.e, MyPswSubPageActivity.access$300(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qs.java new file mode 100755 index 00000000000..0604cd7f6c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qs.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class qs + implements View.OnClickListener +{ + qs(MyPswSubPageActivity paramMyPswSubPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) + { + this.a.showNoAccountTipDialog(this.a, 10, 0); + return; + } + if (!ax.a().e().mIsBinded) + { + this.a.showNoAccountTipDialog(this.a, 10, 1); + return; + } + paramView = new Intent(this.a, ModifyQQPwdActivity.class); + pv.a().a(this.a, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qt.java new file mode 100755 index 00000000000..be4af5d89da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qt.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class qt + implements View.OnClickListener +{ + qt(MyPswSubPageActivity paramMyPswSubPageActivity) {} + + public final void onClick(View paramView) + { + if ((Integer)paramView.getTag() == null) { + return; + } + af.a().d(0L, MyPswSubPageActivity.access$300(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qu.java new file mode 100755 index 00000000000..a1573bb7080 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qu.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class qu + extends bo +{ + qu(NetActiveSetDirBySeqActivity paramNetActiveSetDirBySeqActivity) + { + super(paramNetActiveSetDirBySeqActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + if (this.a.isFinishing()) { + return; + } + switch (paramMessage.what) + { + default: + return; + case 3003: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + paramMessage.putExtra("op_type", 1); + paramMessage.putExtra("title", this.a.getResources().getString(2131361846)); + paramMessage.putExtra("page_id", 10); + this.a.startActivity(paramMessage); + return; + } + break; + case 3026: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + NetActiveSetDirBySeqActivity.access$000(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showToast(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qv.java new file mode 100755 index 00000000000..f050da1de5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qv.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class qv + implements View.OnClickListener +{ + qv(NetActiveSetDirBySeqActivity paramNetActiveSetDirBySeqActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qw.java new file mode 100755 index 00000000000..04689a09aa9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qw.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class qw + implements View.OnClickListener +{ + qw(NetActiveSetDirBySeqActivity paramNetActiveSetDirBySeqActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SelectCountryCodeActivity.class); + this.a.startActivityForResult(paramView, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qx.java new file mode 100755 index 00000000000..ac55ba06bb8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qx.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.app.AlertDialog.Builder; +import android.app.Dialog; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.utils.t; + +final class qx + implements View.OnClickListener +{ + qx(NetActiveSetDirBySeqActivity paramNetActiveSetDirBySeqActivity) {} + + public final void onClick(View paramView) + { + t.a(this.a); + NetActiveSetDirBySeqActivity.access$102(this.a, NetActiveSetDirBySeqActivity.access$200(this.a).getText().toString()); + if ((NetActiveSetDirBySeqActivity.access$100(this.a) != null) && (NetActiveSetDirBySeqActivity.access$100(this.a).length() != 0)) + { + NetActiveSetDirBySeqActivity.access$302(this.a, new AlertDialog.Builder(this.a).setTitle(this.a.getResources().getString(2131362104)).setMessage(NetActiveSetDirBySeqActivity.access$100(this.a) + this.a.getResources().getString(2131361848)).setPositiveButton(this.a.getResources().getString(2131361853), new qz(this)).setNegativeButton(this.a.getResources().getString(2131361852), new qy(this)).create()); + NetActiveSetDirBySeqActivity.access$300(this.a).show(); + return; + } + this.a.showToast(2131361947); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qy.java new file mode 100755 index 00000000000..4b297dbdea2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qy.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; + +final class qy + implements DialogInterface.OnClickListener +{ + qy(qx paramqx) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + NetActiveSetDirBySeqActivity.access$300(this.a.a).dismiss(); + e.b("dir bind token cofirm"); + this.a.a.showProDialog(this.a.a, 2131361808, 2131361817, null); + af.a().c(NetActiveSetDirBySeqActivity.access$400(this.a.a).mRealUin, NetActiveSetDirBySeqActivity.access$500(this.a.a), NetActiveSetDirBySeqActivity.access$100(this.a.a), NetActiveSetDirBySeqActivity.access$600(this.a.a), NetActiveSetDirBySeqActivity.access$700(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/qz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/qz.java new file mode 100755 index 00000000000..d54b28e10fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/qz.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class qz + implements DialogInterface.OnClickListener +{ + qz(qx paramqx) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + NetActiveSetDirBySeqActivity.access$300(this.a.a).dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.qz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/r.java b/com.tencent.token/classes.jar/com/tencent/token/ui/r.java new file mode 100755 index 00000000000..077570dc6b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/r.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.p; + +final class r + implements View.OnClickListener +{ + r(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) + { + this.a.showNoAccountTipDialog(this.a, 6, 0); + return; + } + p.a().a(System.currentTimeMillis(), 5); + paramView = new Intent(this.a, LoginMsgActivity.class); + paramView.putExtra("skey", AccountPageActivity.access$1500(this.a)); + this.a.startActivity(paramView); + AccountPageActivity.mNeedShowIpcMsg = false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ra.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ra.java new file mode 100755 index 00000000000..85f98b1ec89 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ra.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class ra + implements View.OnClickListener +{ + ra(NetActiveSetDirBySeqActivity paramNetActiveSetDirBySeqActivity) {} + + public final void onClick(View paramView) + { + af.a().b(NetActiveSetDirBySeqActivity.access$700(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ra + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rb.java new file mode 100755 index 00000000000..de8efc592dd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rb.java @@ -0,0 +1,69 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.telephony.SmsMessage; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.e; + +final class rb + extends BroadcastReceiver +{ + rb(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + int i = 0; + try + { + if (!"android.provider.Telephony.SMS_RECEIVED".equals(paramIntent.getAction())) { + return; + } + paramContext = NetActiveVryMobileNoSmsActivity.access$000(this.a, paramIntent); + if (paramContext == null) { + return; + } + e.a("current time: " + System.currentTimeMillis()); + e.a("msgs count: " + paramContext.length + ", msgs[0] time: " + paramContext[0].getTimestampMillis()); + NetActiveVryMobileNoSmsActivity.access$100(this.a); + paramIntent = NetActiveVryMobileNoSmsActivity.access$200(this.a).mSmsPrefix; + } + catch (Exception paramContext) + { + for (;;) + { + String str; + int j; + paramContext.printStackTrace(); + return; + i += 1; + } + } + catch (Error paramContext) + { + paramContext.printStackTrace(); + } + if (i < paramContext.length) + { + str = paramContext[i].getDisplayMessageBody(); + e.a("msg[" + i + "]: " + str); + j = str.indexOf(paramIntent); + if (j >= 0) + { + i = paramIntent.length() + j; + while ((i < str.length()) && (str.charAt(i) <= '9') && (str.charAt(i) >= '0')) { + i += 1; + } + NetActiveVryMobileNoSmsActivity.access$300(this.a, str.substring(paramIntent.length() + j, i)); + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rc.java new file mode 100755 index 00000000000..fbd688b8828 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rc.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class rc + implements DialogInterface.OnClickListener +{ + rc(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a, NetActiveVryOtherListActivity.class); + paramDialogInterface.putExtra("page_id", NetActiveVryMobileNoSmsActivity.access$500(this.a)); + paramDialogInterface.putExtra("intent.qquser", NetActiveVryMobileNoSmsActivity.access$400(this.a)); + paramDialogInterface.putExtra("intent.upgradedetermin", NetActiveVryMobileNoSmsActivity.access$200(this.a)); + this.a.startActivity(paramDialogInterface); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rd.java new file mode 100755 index 00000000000..d2dfc9176d4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rd.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rd + implements View.OnClickListener +{ + rd(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/re.java b/com.tencent.token/classes.jar/com/tencent/token/ui/re.java new file mode 100755 index 00000000000..cf9730c702f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/re.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class re + implements View.OnClickListener +{ + re(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", NetActiveVryMobileNoSmsActivity.access$400(this.a)); + paramView.putExtra("intent.upgradedetermin", NetActiveVryMobileNoSmsActivity.access$200(this.a)); + paramView.putExtra("page_id", NetActiveVryMobileNoSmsActivity.access$500(this.a)); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.re + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rf.java new file mode 100755 index 00000000000..9e973727311 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rf.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class rf + implements View.OnClickListener +{ + rf(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(View paramView) + { + NetActiveVryMobileNoSmsActivity.access$600(this.a); + NetActiveVryMobileNoSmsActivity.access$100(this.a); + NetActiveVryMobileNoSmsActivity.access$700(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rg.java new file mode 100755 index 00000000000..9981d0d21ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class rg + implements View.OnClickListener +{ + rg(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(View paramView) + { + e.a("interval: " + NetActiveVryMobileNoSmsActivity.access$800(this.a) + " count: " + NetActiveVryMobileNoSmsActivity.access$900(this.a)); + NetActiveVryMobileNoSmsActivity.access$700(this.a, false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rh.java new file mode 100755 index 00000000000..bbe76f03eb9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rh.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; + +final class rh + implements View.OnClickListener +{ + rh(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(View paramView) + { + if (NetActiveVryMobileNoSmsActivity.access$1000(this.a)) { + return; + } + NetActiveVryMobileNoSmsActivity.access$1100(this.a); + paramView = ((EditText)this.a.findViewById(2131296886)).getText().toString(); + if ((paramView != null) && (paramView.length() > 0)) + { + NetActiveVryMobileNoSmsActivity.access$1200(this.a); + NetActiveVryMobileNoSmsActivity.access$1300(this.a, paramView); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showToast(2131361948); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ri.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ri.java new file mode 100755 index 00000000000..aa7fc3f11ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ri.java @@ -0,0 +1,81 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class ri + extends bo +{ + ri(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) + { + super(paramNetActiveVryMobileNoSmsActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || ((this.a != null) && (this.a.isFinishing()))) { + return; + } + switch (paramMessage.what) + { + default: + e.c("unknown msg: " + paramMessage.what); + return; + case -100: + NetActiveVryMobileNoSmsActivity.access$100(this.a); + return; + case 100: + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + case 3031: + if (paramMessage.arg1 != 0) + { + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("get mobile code failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.mHandler.removeMessages(-100); + if (124 == paramMessage.a) + { + NetActiveVryMobileNoSmsActivity.access$1400(this.a, paramMessage.c); + return; + } + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + } + this.a.setContentView(2130903148); + NetActiveVryMobileNoSmsActivity.access$1500(this.a); + return; + case 3029: + if (paramMessage.arg1 == 0) + { + NetActiveVryMobileNoSmsActivity.access$1600(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + NetActiveVryMobileNoSmsActivity.access$1700(this.a, paramMessage.c); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + NetActiveVryMobileNoSmsActivity.access$1800(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + NetActiveVryMobileNoSmsActivity.access$1700(this.a, paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ri + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rj.java new file mode 100755 index 00000000000..2621a49158c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rj.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class rj + implements Runnable +{ + rj(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity, String paramString) {} + + public final void run() + { + Message localMessage = new Message(); + localMessage.what = 100; + this.b.mHandler.sendMessage(localMessage); + NetActiveVryMobileNoSmsActivity.access$1300(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rk.java new file mode 100755 index 00000000000..2935636beb1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rk.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class rk + implements DialogInterface.OnClickListener +{ + rk(NetActiveVryMobileNoSmsActivity paramNetActiveVryMobileNoSmsActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.setContentView(2130903148); + NetActiveVryMobileNoSmsActivity.access$1500(this.a); + NetActiveVryMobileNoSmsActivity.access$100(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rl.java new file mode 100755 index 00000000000..2c539981b79 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rl.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rl + implements View.OnClickListener +{ + rl(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, NetActiveVryQuesActivity.class); + paramView.putExtra("intent.qquser", NetActiveVryOtherListActivity.access$000(this.a)); + paramView.putExtra("intent.upgradedetermin", NetActiveVryOtherListActivity.access$100(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rm.java new file mode 100755 index 00000000000..5cd8e995636 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rm.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rm + implements View.OnClickListener +{ + rm(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, BindUinActivity.class); + paramView.putExtra("intent.qquser", NetActiveVryOtherListActivity.access$000(this.a)); + paramView.putExtra("intent.upgradedetermin", NetActiveVryOtherListActivity.access$100(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rn.java new file mode 100755 index 00000000000..cdce9829fb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rn.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rn + implements View.OnClickListener +{ + rn(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, NetActiveVryQQTokenActivity.class); + paramView.putExtra("intent.qquser", NetActiveVryOtherListActivity.access$000(this.a)); + paramView.putExtra("intent.upgradedetermin", NetActiveVryOtherListActivity.access$100(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ro.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ro.java new file mode 100755 index 00000000000..b5e57e70007 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ro.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; + +final class ro + implements View.OnClickListener +{ + ro(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtloginFinishNoMibaoActivity.class); + paramView.putExtra("uin", NetActiveVryOtherListActivity.access$000(this.a).mRealUin); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ro + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rp.java new file mode 100755 index 00000000000..8d4c22770bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rp.java @@ -0,0 +1,55 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import android.widget.TextView; +import com.tencent.token.global.e; + +final class rp + implements View.OnTouchListener +{ + rp(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + e.a("view id: " + paramView.getId() + "mobile: " + 2131296871 + "token: " + 2131296874 + "ques: " + 2131296877); + e.a("action: " + paramMotionEvent.getAction()); + switch (paramView.getId()) + { + default: + return false; + case 2131296871: + paramView = (TextView)this.a.findViewById(2131296873); + } + int i; + for (;;) + { + i = this.a.getResources().getColor(2131165192); + int j = this.a.getResources().getColor(2131165194); + switch (paramMotionEvent.getAction()) + { + case 2: + default: + return false; + case 0: + e.a("down"); + paramView.setTextColor(j); + return false; + paramView = (TextView)this.a.findViewById(2131296876); + continue; + paramView = (TextView)this.a.findViewById(2131296879); + } + } + e.a("up"); + paramView.setTextColor(i); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rq.java new file mode 100755 index 00000000000..b7b5b166b62 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class rq + implements View.OnClickListener +{ + rq(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361986)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rr.java new file mode 100755 index 00000000000..853dd8213a8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rr.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.text.TextPaint; +import android.text.style.ClickableSpan; +import android.view.View; +import com.tencent.token.utils.s; + +final class rr + extends ClickableSpan +{ + rr(NetActiveVryOtherListActivity paramNetActiveVryOtherListActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131362126), this.a.getString(2131362125)); + } + + public final void updateDrawState(TextPaint paramTextPaint) + { + super.updateDrawState(paramTextPaint); + paramTextPaint.setUnderlineText(false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rs.java new file mode 100755 index 00000000000..c33016fc315 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rs.java @@ -0,0 +1,93 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class rs + extends bo +{ + rs(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) + { + super(paramNetActiveVryQQTokenActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + int i = 1; + switch (paramMessage.what) + { + default: + return; + case 3027: + if (paramMessage.arg1 == 0) + { + if (NetActiveVryQQTokenActivity.access$000(this.a).mHaveMobile == 1) {} + while (i != 0) + { + NetActiveVryQQTokenActivity.access$100(this.a); + return; + i = 0; + } + this.a.dismissDialog(); + this.a.setContentView(2130903105); + this.a.findViewById(2131296656).setOnClickListener(NetActiveVryQQTokenActivity.access$200(this.a)); + NetActiveVryQQTokenActivity.access$302(this.a, this.a.findViewById(2131296651)); + NetActiveVryQQTokenActivity.access$300(this.a).setOnClickListener(NetActiveVryQQTokenActivity.access$400(this.a)); + NetActiveVryQQTokenActivity.access$502(this.a, (TextView)this.a.findViewById(2131296652)); + NetActiveVryQQTokenActivity.access$602(this.a, (TextView)this.a.findViewById(2131296654)); + NetActiveVryQQTokenActivity.access$702(this.a, (EditText)this.a.findViewById(2131296655)); + NetActiveVryQQTokenActivity.access$700(this.a).clearFocus(); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + case 3026: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + NetActiveVryQQTokenActivity.access$800(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + paramMessage.putExtra("op_type", 1); + paramMessage.putExtra("title", this.a.getResources().getString(2131361846)); + paramMessage.putExtra("page_id", 10); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showToast(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rt.java new file mode 100755 index 00000000000..769ed2702a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rt.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rt + implements View.OnClickListener +{ + rt(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ru.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ru.java new file mode 100755 index 00000000000..1518804356f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ru.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class ru + implements View.OnClickListener +{ + ru(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) {} + + public final void onClick(View paramView) + { + af.a().b(NetActiveVryQQTokenActivity.access$900(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ru + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rv.java new file mode 100755 index 00000000000..078fdf07f07 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rv.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.global.e; + +final class rv + implements View.OnClickListener +{ + rv(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) {} + + public final void onClick(View paramView) + { + NetActiveVryQQTokenActivity.access$1000(this.a); + NetActiveVryQQTokenActivity.access$1102(this.a, NetActiveVryQQTokenActivity.access$700(this.a).getText().toString()); + e.a("mobile " + NetActiveVryQQTokenActivity.access$1100(this.a)); + if ((NetActiveVryQQTokenActivity.access$1100(this.a) != null) && (NetActiveVryQQTokenActivity.access$1100(this.a).length() != 0)) + { + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + NetActiveVryQQTokenActivity.access$100(this.a); + return; + } + this.a.showToast(2131361947); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rw.java new file mode 100755 index 00000000000..b7fcbd2244c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rw.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rw + implements View.OnClickListener +{ + rw(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SelectCountryCodeActivity.class); + this.a.startActivityForResult(paramView, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rx.java new file mode 100755 index 00000000000..12a524456ac --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rx.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; + +final class rx + implements View.OnClickListener +{ + rx(NetActiveVryQQTokenActivity paramNetActiveVryQQTokenActivity) {} + + public final void onClick(View paramView) + { + NetActiveVryQQTokenActivity.access$1000(this.a); + paramView = ((EditText)this.a.findViewById(2131296891)).getText().toString(); + if ((paramView != null) && (paramView.length() == 6)) + { + NetActiveVryQQTokenActivity.access$1000(this.a); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + NetActiveVryQQTokenActivity.access$1300(this.a).b(NetActiveVryQQTokenActivity.access$1200(this.a).mRealUin, paramView, NetActiveVryQQTokenActivity.access$900(this.a)); + return; + } + if ((paramView == null) || (paramView.length() == 0)) + { + this.a.showToast(2131361949); + return; + } + this.a.showToast(2131361950); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ry.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ry.java new file mode 100755 index 00000000000..c7817c19b23 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ry.java @@ -0,0 +1,97 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class ry + extends bo +{ + ry(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) + { + super(paramNetActiveVryQuesActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + int i = 1; + switch (paramMessage.what) + { + default: + case 3028: + do + { + return; + if (paramMessage.arg1 != 0) { + break; + } + e.c("succ"); + if (NetActiveVryQuesActivity.access$000(this.a).mHaveMobile == 1) {} + while (i != 0) + { + NetActiveVryQuesActivity.access$100(this.a); + return; + i = 0; + } + this.a.dismissDialog(); + this.a.setContentView(2130903105); + this.a.findViewById(2131296656).setOnClickListener(NetActiveVryQuesActivity.access$200(this.a)); + NetActiveVryQuesActivity.access$302(this.a, this.a.findViewById(2131296651)); + NetActiveVryQuesActivity.access$300(this.a).setOnClickListener(NetActiveVryQuesActivity.access$400(this.a)); + NetActiveVryQuesActivity.access$502(this.a, (TextView)this.a.findViewById(2131296652)); + NetActiveVryQuesActivity.access$602(this.a, (TextView)this.a.findViewById(2131296654)); + NetActiveVryQuesActivity.access$702(this.a, (EditText)this.a.findViewById(2131296655)); + } while (NetActiveVryQuesActivity.access$700(this.a) == null); + NetActiveVryQuesActivity.access$700(this.a).clearFocus(); + return; + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + case 3026: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + NetActiveVryQuesActivity.access$800(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + paramMessage.putExtra("op_type", 1); + paramMessage.putExtra("title", this.a.getResources().getString(2131361846)); + paramMessage.putExtra("page_id", 10); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showToast(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ry + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/rz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/rz.java new file mode 100755 index 00000000000..4cbc502b5f1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/rz.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class rz + implements View.OnClickListener +{ + rz(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.rz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/s.java b/com.tencent.token/classes.jar/com/tencent/token/ui/s.java new file mode 100755 index 00000000000..b806e2a32fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/s.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.view.View; +import android.view.View.OnClickListener; + +final class s + implements View.OnClickListener +{ + s(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.open_menu")); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sa.java new file mode 100755 index 00000000000..446bf87a1f5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sa.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; + +final class sa + implements View.OnClickListener +{ + sa(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void onClick(View paramView) + { + t.a(this.a); + NetActiveVryQuesActivity.access$902(this.a, NetActiveVryQuesActivity.access$700(this.a).getText().toString()); + e.a("mobile " + NetActiveVryQuesActivity.access$900(this.a)); + if ((NetActiveVryQuesActivity.access$900(this.a) != null) && (NetActiveVryQuesActivity.access$900(this.a).length() != 0)) + { + NetActiveVryQuesActivity.access$100(this.a); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showToast(2131361946); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sb.java new file mode 100755 index 00000000000..a4c2a3f0472 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sb.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sb + implements View.OnClickListener +{ + sb(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, SelectCountryCodeActivity.class); + this.a.startActivityForResult(paramView, 0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sc.java new file mode 100755 index 00000000000..7eb45e5eaf5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sc.java @@ -0,0 +1,58 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.e; +import com.tencent.token.utils.t; + +final class sc + implements View.OnClickListener +{ + sc(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void onClick(View paramView) + { + t.a(this.a); + NetActiveVryQuesActivity.access$1000(this.a)[0] = ((EditText)this.a.findViewById(2131296895)).getText().toString(); + NetActiveVryQuesActivity.access$1000(this.a)[1] = ((EditText)this.a.findViewById(2131296897)).getText().toString(); + NetActiveVryQuesActivity.access$1000(this.a)[2] = ((EditText)this.a.findViewById(2131296899)).getText().toString(); + e.c(NetActiveVryQuesActivity.access$1000(this.a)[0] + "|" + NetActiveVryQuesActivity.access$1000(this.a)[1] + "|" + NetActiveVryQuesActivity.access$1000(this.a)[2]); + int i = 0; + while (i < 3) + { + NetActiveVryQuesActivity.access$1000(this.a)[i] = NetActiveVryQuesActivity.access$1000(this.a)[i].trim(); + if (1 != NetActiveVryQuesActivity.access$1200(this.a, NetActiveVryQuesActivity.access$1000(this.a)[i], NetActiveVryQuesActivity.access$1100(this.a)[i])) + { + switch (NetActiveVryQuesActivity.access$1100(this.a)[i]) + { + default: + paramView = this.a.getResources().getString(2131361833); + } + for (;;) + { + this.a.showToast(paramView); + return; + paramView = this.a.getResources().getString(2131361835); + continue; + paramView = this.a.getResources().getString(2131361836); + continue; + paramView = this.a.getResources().getString(2131361837); + } + } + i += 1; + } + NetActiveVryQuesActivity.access$1500(this.a).a(NetActiveVryQuesActivity.access$1300(this.a).mRealUin, NetActiveVryQuesActivity.access$000(this.a).mQuesInfo, NetActiveVryQuesActivity.access$1000(this.a), NetActiveVryQuesActivity.access$1400(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sd.java new file mode 100755 index 00000000000..d9486c8b174 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sd.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class sd + implements View.OnClickListener +{ + sd(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void onClick(View paramView) + { + af.a().b(NetActiveVryQuesActivity.access$1400(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/se.java b/com.tencent.token/classes.jar/com/tencent/token/ui/se.java new file mode 100755 index 00000000000..867b34b1c81 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/se.java @@ -0,0 +1,55 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.widget.Button; +import android.widget.RelativeLayout.LayoutParams; +import com.tencent.token.global.e; +import com.tencent.token.widget.InputMethodRelativeLayout; +import com.tencent.token.widget.a; + +final class se + implements a +{ + se(NetActiveVryQuesActivity paramNetActiveVryQuesActivity) {} + + public final void a(boolean paramBoolean, int paramInt) + { + if (paramBoolean) + { + localObject = new int[2]; + this.a.mConfirmBtn.getLocationInWindow((int[])localObject); + int i = localObject[1]; + this.a.mRootLayout.getLocationInWindow((int[])localObject); + int j = localObject[1]; + if (NetActiveVryQuesActivity.access$1600(this.a)) + { + NetActiveVryQuesActivity.access$1702(this.a, i); + NetActiveVryQuesActivity.access$1802(this.a, j); + NetActiveVryQuesActivity.access$1902(this.a, paramInt); + } + do + { + return; + paramInt = NetActiveVryQuesActivity.access$1700(this.a); + i = NetActiveVryQuesActivity.access$1800(this.a); + j = NetActiveVryQuesActivity.access$1900(this.a); + paramInt = paramInt - i + this.a.mConfirmBtn.getHeight() - j; + } while (paramInt <= 0); + localObject = new RelativeLayout.LayoutParams(-1, -1); + ((RelativeLayout.LayoutParams)localObject).setMargins(this.a.mScrollAreaLayout.getPaddingLeft(), this.a.mScrollAreaLayout.getPaddingTop() - paramInt, this.a.mScrollAreaLayout.getPaddingRight(), this.a.mScrollAreaLayout.getPaddingBottom()); + this.a.mScrollAreaLayout.setLayoutParams((ViewGroup.LayoutParams)localObject); + e.c("mScrollAreaLayout.getPaddingTop()-paddingY = " + (this.a.mScrollAreaLayout.getPaddingTop() - paramInt) + "paddingY = " + paramInt); + return; + } + Object localObject = new RelativeLayout.LayoutParams(-1, -1); + ((RelativeLayout.LayoutParams)localObject).setMargins(this.a.mScrollAreaLayout.getPaddingLeft(), this.a.mScrollAreaLayout.getPaddingTop(), this.a.mScrollAreaLayout.getPaddingRight(), this.a.mScrollAreaLayout.getPaddingBottom()); + this.a.mScrollAreaLayout.setLayoutParams((ViewGroup.LayoutParams)localObject); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.se + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sf.java new file mode 100755 index 00000000000..5a1ea129135 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sf.java @@ -0,0 +1,45 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class sf + extends bo +{ + sf(NoCheckWithAuthActivity paramNoCheckWithAuthActivity) + { + super(paramNoCheckWithAuthActivity); + } + + public final void handleMessage(Message paramMessage) + { + boolean bool = true; + super.handleMessage(paramMessage); + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) {} + for (;;) + { + NoCheckWithAuthActivity.access$000(this.a, bool); + return; + bool = false; + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sg.java new file mode 100755 index 00000000000..ba2970e0b54 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sg.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class sg + implements View.OnClickListener +{ + sg(NoCheckWithAuthActivity paramNoCheckWithAuthActivity) {} + + public final void onClick(View paramView) + { + af.a().c(NoCheckWithAuthActivity.access$100(this.a).mRealUin, NoCheckWithAuthActivity.access$200(this.a).a(), "", "", NoCheckWithAuthActivity.access$300(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sh.java new file mode 100755 index 00000000000..b91777d8b0e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sh.java @@ -0,0 +1,78 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class sh + implements View.OnClickListener +{ + sh(NoCheckWithAuthActivity paramNoCheckWithAuthActivity) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (NoCheckWithAuthActivity.access$200(this.a).mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label87; + } + paramView = new Intent(this.a, NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", NoCheckWithAuthActivity.access$100(this.a)); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", NoCheckWithAuthActivity.access$200(this.a)); + this.a.startActivity(paramView); + } + label87: + label217: + label220: + for (;;) + { + return; + i = 0; + break; + if (NoCheckWithAuthActivity.access$200(this.a).mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (NoCheckWithAuthActivity.access$200(this.a).mQuesAppear != 1) { + break label212; + } + i = 1; + label123: + if (i == 0) { + if (NoCheckWithAuthActivity.access$200(this.a).mHaveMobile != 1) { + break label217; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label220; + } + paramView = new Intent(this.a, NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", NoCheckWithAuthActivity.access$100(this.a)); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", NoCheckWithAuthActivity.access$200(this.a)); + this.a.startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label123; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/si.java b/com.tencent.token/classes.jar/com/tencent/token/ui/si.java new file mode 100755 index 00000000000..c5dfe997628 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/si.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class si + implements View.OnClickListener +{ + si(NoCheckWithAuthActivity paramNoCheckWithAuthActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.si + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sj.java new file mode 100755 index 00000000000..3317fafb98a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sj.java @@ -0,0 +1,77 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Message; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.core.bean.SecurityReporterResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class sj + extends bo +{ + sj(OpMsgDisplayActivity paramOpMsgDisplayActivity) + { + super(paramOpMsgDisplayActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + Intent localIntent; + switch (paramMessage.what) + { + default: + return; + case 3010: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + OpMsgDisplayActivity.access$100(this.a, OpMsgDisplayActivity.access$000(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showToast(paramMessage.c); + return; + case 3038: + e.c("msg.arg1=" + paramMessage.arg1); + return; + case 3057: + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (SecurityReporterResult)paramMessage.obj; + localIntent = new Intent(this.a, SecurityReporterActivity.class); + localIntent.putExtra("result", paramMessage); + this.a.startActivity(localIntent); + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameStatusResult)paramMessage.obj; + localIntent = new Intent(this.a, RealNameActivity.class); + localIntent.putExtra("realname_result", paramMessage); + localIntent.putExtra("from_safe_msg", true); + this.a.startActivity(localIntent); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sk.java new file mode 100755 index 00000000000..0d6827a0b7b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sk.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.fn; + +final class sk + implements View.OnClickListener +{ + sk(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + fn.a().b(); + paramView = new Intent(this.a, UtilsGameLockActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sl.java new file mode 100755 index 00000000000..d16694aa98e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sl.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sl + implements View.OnClickListener +{ + sl(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, LoginMsgActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sm.java new file mode 100755 index 00000000000..d3767c29b74 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sm.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sm + implements View.OnClickListener +{ + sm(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, OpreateMsgActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sn.java new file mode 100755 index 00000000000..bf9ab368893 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sn.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import com.tencent.token.utils.s; + +final class sn + implements View.OnClickListener +{ + sn(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + String str = ((Button)paramView).getText().toString(); + paramView = (String)paramView.getTag(); + if (paramView != null) { + s.a(this.a, paramView, str); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/so.java b/com.tencent.token/classes.jar/com/tencent/token/ui/so.java new file mode 100755 index 00000000000..3cf5fc7f96b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/so.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.net.Uri; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.core.bean.SafeMsgItem.MsgAction; + +final class so + implements View.OnClickListener +{ + so(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + try + { + paramView = new Intent("android.intent.action.DIAL", Uri.parse("tel:" + this.a.mItem.mAction.mTargetUrl)); + this.a.startActivity(paramView); + return; + } + catch (Exception paramView) + { + paramView.printStackTrace(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.so + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sp.java new file mode 100755 index 00000000000..aef06e0cc83 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sp.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class sp + implements View.OnClickListener +{ + sp(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + af.a().k(0L, OpMsgDisplayActivity.access$300(this.a)); + this.a.showUserDialog(12); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sq.java new file mode 100755 index 00000000000..b29cf777e39 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sq.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sq + implements View.OnClickListener +{ + sq(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsLoginProtectActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sr.java new file mode 100755 index 00000000000..18c4299d3b4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sr.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sr + implements View.OnClickListener +{ + sr(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsLoginProtectActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ss.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ss.java new file mode 100755 index 00000000000..dd2483dc5f7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ss.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ss + implements View.OnClickListener +{ + ss(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsMailProtectActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ss + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/st.java b/com.tencent.token/classes.jar/com/tencent/token/ui/st.java new file mode 100755 index 00000000000..bd2246f9595 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/st.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; + +final class st + implements View.OnClickListener +{ + st(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if ((paramView != null) && (paramView.mIsBinded)) + { + af.a().l(0L, OpMsgDisplayActivity.access$300(this.a)); + this.a.showUserDialog(12); + return; + } + paramView = new Intent(this.a, CommonVerifyActivity.class); + paramView.putExtra("name", this.a.getString(2131362513)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.st + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/su.java b/com.tencent.token/classes.jar/com/tencent/token/ui/su.java new file mode 100755 index 00000000000..9ed50198442 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/su.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class su + implements View.OnClickListener +{ + su(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + if (OpMsgDisplayActivity.access$200(this.a) == 1) + { + s.b(this.a, this.a.getString(2131361985)); + return; + } + s.b(this.a, this.a.getString(2131361982)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.su + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sv.java new file mode 100755 index 00000000000..2126c044416 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sv.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; + +final class sv + implements View.OnClickListener +{ + sv(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if ((fn.a().c() == null) && (paramView != null) && (paramView.mIsBinded)) + { + af.a().e(0L, OpMsgDisplayActivity.access$300(this.a)); + OpMsgDisplayActivity.access$002(this.a, 51); + this.a.showUserDialog(12); + return; + } + OpMsgDisplayActivity.access$100(this.a, 51); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sw.java new file mode 100755 index 00000000000..0bf8d605338 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sw.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; + +final class sw + implements View.OnClickListener +{ + sw(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if ((fn.a().c() == null) && (paramView != null) && (paramView.mIsBinded)) + { + af.a().e(0L, OpMsgDisplayActivity.access$300(this.a)); + OpMsgDisplayActivity.access$002(this.a, 50); + this.a.showUserDialog(12); + return; + } + OpMsgDisplayActivity.access$100(this.a, 50); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sx.java new file mode 100755 index 00000000000..117d9c042f9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sx.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; + +final class sx + implements View.OnClickListener +{ + sx(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if ((fn.a().c() == null) && (paramView != null) && (paramView.mIsBinded)) + { + af.a().e(0L, OpMsgDisplayActivity.access$300(this.a)); + OpMsgDisplayActivity.access$002(this.a, 52); + this.a.showUserDialog(12); + return; + } + OpMsgDisplayActivity.access$100(this.a, 52); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sy.java new file mode 100755 index 00000000000..9ab08fe0fd1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sy.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sy + implements View.OnClickListener +{ + sy(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 17); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/sz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/sz.java new file mode 100755 index 00000000000..78c88280ec5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/sz.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class sz + implements View.OnClickListener +{ + sz(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 21); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.sz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/t.java b/com.tencent.token/classes.jar/com/tencent/token/ui/t.java new file mode 100755 index 00000000000..606c084698c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/t.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import com.tencent.token.ax; +import com.tencent.token.p; + +final class t + implements View.OnClickListener +{ + t(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) + { + this.a.showNoAccountTipDialog(this.a, 5, 0); + return; + } + p.a().a(System.currentTimeMillis(), 4); + AccountPageActivity.access$2300(this.a).setVisibility(4); + paramView = new Intent(this.a, OpreateMsgActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ta.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ta.java new file mode 100755 index 00000000000..de5d6875f2c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ta.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fn; + +final class ta + implements View.OnClickListener +{ + ta(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if ((fn.a().c() == null) && (paramView != null) && (paramView.mIsBinded)) + { + af.a().e(0L, OpMsgDisplayActivity.access$300(this.a)); + OpMsgDisplayActivity.access$002(this.a, 53); + this.a.showUserDialog(12); + return; + } + OpMsgDisplayActivity.access$100(this.a, 53); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ta + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tb.java new file mode 100755 index 00000000000..e2c2dff29c2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tb.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; +import com.tencent.token.gm; + +final class tb + implements View.OnClickListener +{ + tb(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + af.a().b(0L, this.a.mItem.mId, OpMsgDisplayActivity.access$300(this.a)); + paramView = this.a.mItem; + paramView.mFlag |= 0x100; + LoginMsgActivity.mConfirmLogin = true; + this.a.mItem.mContent += this.a.getResources().getString(2131362039); + this.a.mCache.a.a(this.a.mItem.mId, this.a.mItem.mFlag, this.a.mItem.mContent); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tc.java new file mode 100755 index 00000000000..e682eedfbd8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tc.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class tc + implements View.OnClickListener +{ + tc(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsAccountLockActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/td.java b/com.tencent.token/classes.jar/com/tencent/token/ui/td.java new file mode 100755 index 00000000000..99ad56ade15 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/td.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class td + implements View.OnClickListener +{ + td(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsGameProtectActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.td + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/te.java b/com.tencent.token/classes.jar/com/tencent/token/ui/te.java new file mode 100755 index 00000000000..eb91dd66d4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/te.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class te + implements View.OnClickListener +{ + te(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, ModifyQQPwdActivity.class); + pv.a().a(this.a, paramView, pv.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.te + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tf.java new file mode 100755 index 00000000000..cfe6fe2b28c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tf.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class tf + implements View.OnClickListener +{ + tf(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 64); + paramView = new Intent(this.a, LoginMsgChangePwdActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tg.java new file mode 100755 index 00000000000..3f3dcb36f82 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tg.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class tg + implements View.OnClickListener +{ + tg(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, UtilsQbQdProtectActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/th.java b/com.tencent.token/classes.jar/com/tencent/token/ui/th.java new file mode 100755 index 00000000000..f1de4f98dfd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/th.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.fn; + +final class th + implements View.OnClickListener +{ + th(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + fn.a().b(); + paramView = new Intent(this.a, UtilsMbInfoActivity.class); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.th + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ti.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ti.java new file mode 100755 index 00000000000..f4e49c79f95 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ti.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; + +final class ti + implements View.OnClickListener +{ + ti(OpMsgDisplayActivity paramOpMsgDisplayActivity) {} + + public final void onClick(View paramView) + { + p.a().a(System.currentTimeMillis(), 63); + paramView = new Intent(this.a, LoginMsgIpShareActivity.class); + paramView.putExtra("position", OpMsgDisplayActivity.access$400(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ti + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tj.java new file mode 100755 index 00000000000..f286a56678f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tj.java @@ -0,0 +1,231 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.text.Html; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnTouchListener; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.bd; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +final class tj + extends BaseAdapter +{ + View.OnClickListener a = null; + fo b; + int c; + int d; + int e; + int f; + int g; + private OpreateMsgActivity h = null; + private LayoutInflater i = null; + private View j = null; + private View k; + private int l = 1; + private View.OnTouchListener m = new tk(this); + + public tj(OpreateMsgActivity paramOpreateMsgActivity) + { + this.h = paramOpreateMsgActivity; + this.i = LayoutInflater.from(paramOpreateMsgActivity); + this.b = bd.a().f; + this.c = this.h.getResources().getColor(2131165207); + this.d = this.h.getResources().getColor(2131165207); + this.e = this.h.getResources().getColor(2131165194); + this.f = this.h.getResources().getColor(2131165197); + this.g = this.h.getResources().getColor(2131165225); + } + + public final void a() + { + this.k.findViewById(2131296830).setVisibility(8); + } + + public final void a(View paramView) + { + this.j = paramView; + } + + public final void a(String paramString) + { + TextView localTextView = (TextView)this.j.findViewById(2131296735); + if ((paramString != null) && (paramString.length() > 0)) { + localTextView.setText(paramString); + } + for (;;) + { + localTextView.setVisibility(0); + this.j.findViewById(2131296734).setVisibility(0); + return; + localTextView.setText(2131362013); + } + } + + public final void a(boolean paramBoolean) + { + int i1 = this.b.a(this.l * 15); + int n = i1; + if (i1 <= 0) { + n = this.b.a(this.l * 15); + } + if (n <= 0) + { + a(null); + this.k.findViewById(2131296830).setVisibility(8); + } + for (;;) + { + this.h.finishRefresh(paramBoolean); + notifyDataSetChanged(); + this.h.checkTimeZoneFlag(); + return; + this.j.findViewById(2131296735).setVisibility(8); + this.j.findViewById(2131296734).setVisibility(8); + if (n < this.l * 15) { + break; + } + this.k.findViewById(2131296830).setVisibility(0); + } + } + + public final boolean areAllItemsEnabled() + { + return true; + } + + public final void b(View paramView) + { + this.k = paramView; + this.k.setOnClickListener(new tl(this)); + } + + public final int getCount() + { + if (this.b.g() >= this.l * 15) { + return this.l * 15; + } + return this.b.g(); + } + + public final Object getItem(int paramInt) + { + return this.b.b(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final int getItemViewType(int paramInt) + { + return 1; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + View localView = paramView; + if (paramView == null) { + localView = this.i.inflate(2130903141, paramViewGroup, false); + } + paramView = (SafeMsgItem)getItem(paramInt); + TextView localTextView1; + TextView localTextView2; + CheckBox localCheckBox; + ImageView localImageView1; + ImageView localImageView2; + boolean bool; + if (paramView != null) + { + localView.setOnClickListener(new to(this, paramView, paramInt)); + localView.setOnTouchListener(this.m); + paramViewGroup = (TextView)localView.findViewById(2131296280); + localTextView1 = (TextView)localView.findViewById(2131296281); + localTextView2 = (TextView)localView.findViewById(2131296282); + localCheckBox = (CheckBox)localView.findViewById(2131296836); + localCheckBox.setOnCheckedChangeListener(new tm(this, paramView)); + localImageView1 = (ImageView)localView.findViewById(2131296730); + localImageView2 = (ImageView)localView.findViewById(2131296835); + localView.setTag(paramView); + if (!paramView.mIsRead) { + break label428; + } + localTextView2.setTextColor(this.f); + paramViewGroup.setTextColor(this.f); + localTextView1.setTextColor(this.f); + localView.setBackgroundResource(2130837710); + localImageView2.setVisibility(4); + if ((paramView.mFlag & 0x80) != 128) { + break label455; + } + bool = true; + label211: + if (!bool) { + break label461; + } + localImageView2.setImageResource(2130837663); + localView.setBackgroundResource(2130837755); + paramViewGroup.setTextColor(this.g); + label238: + e.c("opreate msg exp: " + bool + ", flag=" + paramView.mFlag); + if (!this.h.isListEdit()) { + break label488; + } + localCheckBox.setVisibility(0); + localImageView1.setVisibility(8); + localTextView2.setVisibility(8); + } + for (;;) + { + localCheckBox.setChecked(paramView.mIsChecked); + if (paramView.mTitle != null) { + paramViewGroup.setText(Html.fromHtml(paramView.mTitle)); + } + if (paramView.mContent != null) { + localTextView1.setText(Html.fromHtml(paramView.mContent)); + } + long l1 = paramView.mTime * 1000L; + localTextView2.setText(s.b(l1).replace("-", this.h.getString(2131362032)) + this.h.getString(2131362033) + " " + s.d(l1)); + return localView; + label428: + localTextView2.setTextColor(this.c); + localTextView1.setTextColor(this.d); + localImageView2.setVisibility(0); + break; + label455: + bool = false; + break label211; + label461: + localImageView2.setImageResource(2130837666); + localView.setBackgroundResource(2130837754); + paramViewGroup.setTextColor(this.c); + break label238; + label488: + paramView.mIsChecked = false; + localCheckBox.setVisibility(8); + localImageView1.setVisibility(0); + localTextView2.setVisibility(0); + } + } + + public final int getViewTypeCount() + { + return 1; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tk.java new file mode 100755 index 00000000000..48ca5a7773a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tk.java @@ -0,0 +1,63 @@ +package com.tencent.token.ui; + +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import android.widget.TextView; +import com.tencent.token.core.bean.SafeMsgItem; + +final class tk + implements View.OnTouchListener +{ + tk(tj paramtj) {} + + public final boolean onTouch(View paramView, MotionEvent paramMotionEvent) + { + TextView localTextView1 = (TextView)paramView.findViewById(2131296280); + TextView localTextView2 = (TextView)paramView.findViewById(2131296281); + TextView localTextView3 = (TextView)paramView.findViewById(2131296282); + SafeMsgItem localSafeMsgItem = (SafeMsgItem)paramView.getTag(); + if ((localSafeMsgItem.mFlag & 0x80) == 128) {} + for (int i = 1;; i = 0) { + switch (paramMotionEvent.getAction()) + { + default: + return false; + } + } + localTextView1.setTextColor(this.a.e); + localTextView2.setTextColor(this.a.e); + localTextView3.setTextColor(this.a.e); + return false; + if (paramView.isPressed()) + { + localTextView1.setTextColor(this.a.e); + localTextView2.setTextColor(this.a.e); + localTextView3.setTextColor(this.a.e); + return false; + } + if ((localSafeMsgItem != null) && (!localSafeMsgItem.mIsRead)) + { + if (i != 0) { + localTextView1.setTextColor(this.a.g); + } + for (;;) + { + localTextView3.setTextColor(this.a.c); + localTextView2.setTextColor(this.a.d); + return false; + localTextView1.setTextColor(this.a.c); + } + } + localTextView1.setTextColor(this.a.f); + localTextView3.setTextColor(this.a.f); + localTextView2.setTextColor(this.a.f); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tl.java new file mode 100755 index 00000000000..4bef908114b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tl.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class tl + implements View.OnClickListener +{ + tl(tj paramtj) {} + + public final void onClick(View paramView) + { + tj.a(this.a); + this.a.a(false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tm.java new file mode 100755 index 00000000000..e19d6446043 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tm.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; + +final class tm + implements CompoundButton.OnCheckedChangeListener +{ + SafeMsgItem a; + + public tm(tj paramtj, SafeMsgItem paramSafeMsgItem) + { + this.a = paramSafeMsgItem; + } + + public final void onCheckedChanged(CompoundButton paramCompoundButton, boolean paramBoolean) + { + if (paramBoolean) + { + this.a.mIsChecked = true; + if (this.b.b.d()) { + tj.b(this.b).setSelectState(true); + } + return; + } + this.a.mIsChecked = false; + tj.b(this.b).setSelectState(false); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tn.java new file mode 100755 index 00000000000..6fd84a355c7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tn.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import com.tencent.token.core.bean.SafeMsgItem; +import com.tencent.token.fo; +import com.tencent.token.gm; + +final class tn + implements Runnable +{ + SafeMsgItem a = null; + + public tn(tj paramtj, SafeMsgItem paramSafeMsgItem) + { + this.a = paramSafeMsgItem; + } + + public final void run() + { + fo localfo = this.b.b; + SafeMsgItem localSafeMsgItem = this.a; + localSafeMsgItem.mIsRead = true; + localfo.a.d(localSafeMsgItem.mId); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/to.java b/com.tencent.token/classes.jar/com/tencent/token/ui/to.java new file mode 100755 index 00000000000..bd712894a4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/to.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.SafeMsgItem; + +final class to + implements View.OnClickListener +{ + SafeMsgItem a = null; + int b; + + public to(tj paramtj, SafeMsgItem paramSafeMsgItem, int paramInt) + { + this.a = paramSafeMsgItem; + this.b = paramInt; + } + + public final void onClick(View paramView) + { + if (tj.b(this.c).isListEdit()) { + return; + } + Intent localIntent = new Intent(tj.b(this.c), OpMsgDisplayActivity.class); + localIntent.putExtra("position", this.b); + localIntent.putExtra("type", 2); + if ((this.a.mFlag & 0x80) == 128) {} + for (boolean bool = true;; bool = false) + { + localIntent.putExtra("abnormmsg", bool); + tj.b(this.c).startActivity(localIntent); + if (this.a.mIsRead) { + break; + } + paramView.postDelayed(new tn(this.c, this.a), 5L); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.to + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tp.java new file mode 100755 index 00000000000..0ba4e81ecb6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tp.java @@ -0,0 +1,54 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.bd; +import com.tencent.token.global.d; +import com.tencent.token.global.e; + +final class tp + extends bo +{ + tp(OpreateMsgActivity paramOpreateMsgActivity) + { + super(paramOpreateMsgActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a.mAdapter == null) || (this.a == null) || ((this.a != null) && (this.a.isFinishing()))) {} + d locald; + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 == 0) + { + this.a.mAdapter.a(true); + this.a.mIsRefreshing = false; + return; + } + if (OpreateMsgActivity.access$000(this.a) < 5) + { + OpreateMsgActivity.access$008(this.a); + OpreateMsgActivity.access$100(this.a).a(this.a.mSource, this.a.mHandler); + return; + } + this.a.finishRefresh(true); + locald = (d)paramMessage.obj; + d.a(this.a.getResources(), (d)paramMessage.obj); + e.c("Op msg load failed:" + locald.a + "-" + locald.b); + } while ((103 != locald.a) && (110 != locald.a)); + this.a.mAdapter.a(locald.c); + this.a.mAdapter.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tq.java new file mode 100755 index 00000000000..c4a0db6e6d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tq.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.fo; + +final class tq + implements View.OnClickListener +{ + tq(OpreateMsgActivity paramOpreateMsgActivity) {} + + public final void onClick(View paramView) + { + if (this.a.isListEdit()) + { + this.a.hideListEdit(); + OpreateMsgActivity.access$200(this.a).c(); + this.a.mAdapter.notifyDataSetChanged(); + } + while (OpreateMsgActivity.access$200(this.a).g() <= 0) { + return; + } + this.a.showListEdit(); + this.a.mAdapter.notifyDataSetChanged(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tr.java new file mode 100755 index 00000000000..399d3e10570 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tr.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.widget.Button; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fo; + +final class tr + implements DialogInterface.OnClickListener +{ + tr(OpreateMsgActivity paramOpreateMsgActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = ax.a().e(); + if ((this.a.mIsSelectAll) && (paramDialogInterface != null)) + { + OpreateMsgActivity.access$200(this.a).a(paramDialogInterface.mUin); + this.a.hideListEdit(); + if (OpreateMsgActivity.access$200(this.a).g() > 0) { + break label102; + } + this.a.mAdapter.a(null); + this.a.mTitleButton.setVisibility(4); + } + for (;;) + { + this.a.mAdapter.a(false); + return; + OpreateMsgActivity.access$200(this.a).f(); + break; + label102: + this.a.mTitleButton.setVisibility(0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ts.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ts.java new file mode 100755 index 00000000000..e2b2983c15e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ts.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ts + implements View.OnClickListener +{ + ts(OpreateMsgActivity paramOpreateMsgActivity, View paramView) {} + + public final void onClick(View paramView) + { + this.a.setVisibility(8); + OpreateMsgActivity.access$600(this.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ts + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tt.java new file mode 100755 index 00000000000..cbd51ef7c47 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tt.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.fo; + +final class tt + implements View.OnClickListener +{ + private tt(OpreateMsgActivity paramOpreateMsgActivity, byte paramByte) {} + + public final void onClick(View paramView) + { + if (OpreateMsgActivity.access$200(this.a).e() <= 0) { + return; + } + OpreateMsgActivity.access$500(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tu.java new file mode 100755 index 00000000000..f46b0d8c49b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tu.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.fo; + +final class tu + implements View.OnClickListener +{ + private tu(OpreateMsgActivity paramOpreateMsgActivity, byte paramByte) {} + + public final void onClick(View paramView) + { + if (this.a.mIsSelectAll) { + OpreateMsgActivity.access$200(this.a).c(); + } + for (;;) + { + this.a.mAdapter.notifyDataSetChanged(); + return; + OpreateMsgActivity.access$200(this.a).b(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tv.java new file mode 100755 index 00000000000..835cd6110cb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tv.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class tv + implements View.OnClickListener +{ + tv(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 4); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tw.java new file mode 100755 index 00000000000..47076194e73 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tw.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +final class tw + implements View.OnClickListener +{ + tw(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + x.a(RqdApplication.i()).a(this.a, "" + paramView.mRealUin, PCMobileQQVerifyedDevicesActivity.access$000(this.a), true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tx.java new file mode 100755 index 00000000000..5b3604127fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tx.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class tx + implements View.OnClickListener +{ + tx(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity) {} + + public final void onClick(View paramView) + { + paramView = this.a.getString(2131361980); + s.b(this.a, paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ty.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ty.java new file mode 100755 index 00000000000..9a6f5d5d9b1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ty.java @@ -0,0 +1,119 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import android.view.View; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class ty + extends bo +{ + ty(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity) + { + super(paramPCMobileQQVerifyedDevicesActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) {} + do + { + return; + int i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 3054: + if (paramMessage.arg1 == 0) + { + PCMobileQQVerifyedDevicesActivity.access$400(this.a).setVisibility(0); + PCMobileQQVerifyedDevicesActivity.access$500(this.a).setVisibility(8); + PCMobileQQVerifyedDevicesActivity.access$600(this.a); + return; + } + case 4097: + case 4098: + byte[] arrayOfByte = (byte[])paramMessage.obj; + if ((i == 0) && (arrayOfByte != null) && (arrayOfByte.length > 0)) + { + PCMobileQQVerifyedDevicesActivity.access$202(this.a, s.a(arrayOfByte)); + PCMobileQQVerifyedDevicesActivity.access$300(this.a); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16) || (i == 2)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new tz(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + case 4104: + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + return; + if ((111 == paramMessage.arg1) || (110 == paramMessage.arg1) || (103 == paramMessage.arg1)) + { + PCMobileQQVerifyedDevicesActivity.access$900(this.a, paramMessage.arg1, PCMobileQQVerifyedDevicesActivity.access$700(this.a), PCMobileQQVerifyedDevicesActivity.access$800(this.a), true); + return; + } + if (185 != paramMessage.arg1) { + break label559; + } + } + } while (ax.a().e() == null); + x.a(RqdApplication.i()).a(this.a, "" + ax.a().e().mRealUin, PCMobileQQVerifyedDevicesActivity.access$000(this.a), true); + return; + label559: + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + e.c("mailprotect load failed:" + paramMessage.a + "-" + paramMessage.b); + PCMobileQQVerifyedDevicesActivity.access$900(this.a, paramMessage.a, paramMessage.c, null, false); + return; + if (paramMessage.arg1 == 0) + { + PCMobileQQVerifyedDevicesActivity.access$300(this.a); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + PCMobileQQVerifyedDevicesActivity.access$1000(this.a, paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ty + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/tz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/tz.java new file mode 100755 index 00000000000..e8efb5ef05e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/tz.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class tz + implements DialogInterface.OnClickListener +{ + tz(ty paramty) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, WtloginSigExpireActivity.class); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.tz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/u.java b/com.tencent.token/classes.jar/com/tencent/token/ui/u.java new file mode 100755 index 00000000000..e27655457d9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/u.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; + +final class u + implements View.OnClickListener +{ + u(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) { + this.a.showNoAccountTipDialog(this.a, 4, 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ua.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ua.java new file mode 100755 index 00000000000..a35caa33719 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ua.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.DeviceInfo; + +final class ua + implements View.OnClickListener +{ + ua(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity, DeviceInfo paramDeviceInfo) {} + + public final void onClick(View paramView) + { + new ub(this.b, this.b, this.a).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ua + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ub.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ub.java new file mode 100755 index 00000000000..b7ae316177d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ub.java @@ -0,0 +1,43 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.Context; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.View; +import android.view.Window; +import android.widget.TextView; +import com.tencent.token.core.bean.DeviceInfo; + +final class ub + extends Dialog +{ + private DeviceInfo b; + + public ub(PCMobileQQVerifyedDevicesActivity paramPCMobileQQVerifyedDevicesActivity, Context paramContext, DeviceInfo paramDeviceInfo) + { + super(paramContext, 2131427400); + this.b = paramDeviceInfo; + } + + protected final void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903069); + paramBundle = String.format(this.a.getResources().getString(2131362244), new Object[] { this.b.dname }); + ((TextView)findViewById(2131296492)).setText(paramBundle); + setCanceledOnTouchOutside(true); + paramBundle = getWindow(); + paramBundle.setBackgroundDrawableResource(2130837639); + paramBundle.getAttributes().width = -1; + paramBundle.setGravity(80); + findViewById(2131296493).setOnClickListener(new uc(this)); + findViewById(2131296494).setOnClickListener(new ud(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ub + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uc.java new file mode 100755 index 00000000000..a08aff01b50 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uc.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.DeviceInfo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class uc + implements View.OnClickListener +{ + uc(ub paramub) {} + + public final void onClick(View paramView) + { + af.a().a(0L, ub.a(this.a).dguid, ub.a(this.a).ddes, ub.a(this.a).dappid, ub.a(this.a).dsubappid, ub.a(this.a).dappname, 71, s.a(x.a(RqdApplication.i()).c()), "com.tencent.token", PCMobileQQVerifyedDevicesActivity.access$200(this.a.a), PCMobileQQVerifyedDevicesActivity.access$000(this.a.a)); + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ud.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ud.java new file mode 100755 index 00000000000..83788e2f142 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ud.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ud + implements View.OnClickListener +{ + ud(ub paramub) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ud + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ue.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ue.java new file mode 100755 index 00000000000..ad421c45654 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ue.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.os.Message; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.e; + +final class ue + extends bo +{ + ue(RealNameActivity paramRealNameActivity) + { + super(paramRealNameActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) { + return; + } + this.a.dismissDialog(); + e.a("realnameactivity msg.what=" + paramMessage.what + ", msg.arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case -100: + RealNameActivity.access$000(this.a); + return; + } + if (paramMessage.arg1 == 0) + { + RealNameActivity.access$102(this.a, (RealNameStatusResult)paramMessage.obj); + RealNameActivity.access$200(this.a); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ue + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uf.java new file mode 100755 index 00000000000..47f80c7e2ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uf.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.view.View; +import android.view.View.OnClickListener; + +final class uf + implements View.OnClickListener +{ + uf(RealNameActivity paramRealNameActivity, Dialog paramDialog) {} + + public final void onClick(View paramView) + { + if (this.a.isShowing()) { + this.a.dismiss(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ug.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ug.java new file mode 100755 index 00000000000..c317049e1f3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ug.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class ug + implements View.OnClickListener +{ + ug(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131362771), this.a.getResources().getString(2131362577)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ug + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uh.java new file mode 100755 index 00000000000..53513eee125 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uh.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class uh + implements View.OnClickListener +{ + uh(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, this.a.getString(2131362773), this.a.getResources().getString(2131362508)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ui.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ui.java new file mode 100755 index 00000000000..56e4cd3bf86 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ui.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.app.Dialog; +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.RealNameStatusResult; + +final class ui + implements View.OnClickListener +{ + ui(RealNameActivity paramRealNameActivity, Dialog paramDialog) {} + + public final void onClick(View paramView) + { + this.a.dismiss(); + paramView = new Intent(this.b, RealNameStep0VerifyMobileActivity.class); + paramView.putExtra("realname_result", RealNameActivity.access$100(this.b)); + paramView.putExtra("realname_mobile", RealNameActivity.access$100(this.b).mMaskMobile); + if (ax.a().e() != null) { + paramView.putExtra("real_uin", ax.a().e().mRealUin); + } + paramView.putExtra("scene_id", 1001); + this.b.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ui + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uj.java new file mode 100755 index 00000000000..2b86af54b8d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uj.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class uj + implements View.OnClickListener +{ + uj(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 0); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uk.java new file mode 100755 index 00000000000..3ec63e9303c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uk.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class uk + implements View.OnClickListener +{ + uk(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 1); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ul.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ul.java new file mode 100755 index 00000000000..6eadc8d1237 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ul.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class ul + implements View.OnClickListener +{ + ul(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 2); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ul + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/um.java b/com.tencent.token/classes.jar/com/tencent/token/ui/um.java new file mode 100755 index 00000000000..9769c718fc7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/um.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class um + implements View.OnClickListener +{ + um(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 3); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.um + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/un.java b/com.tencent.token/classes.jar/com/tencent/token/ui/un.java new file mode 100755 index 00000000000..46f765e2a49 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/un.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +final class un + extends BroadcastReceiver +{ + un(RealNameActivity paramRealNameActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + paramIntent.getAction().equals("com.tencent.token.realname.AUDIT_INTERVAL4"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.un + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uo.java new file mode 100755 index 00000000000..e77707badde --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uo.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class uo + implements View.OnClickListener +{ + uo(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/up.java b/com.tencent.token/classes.jar/com/tencent/token/ui/up.java new file mode 100755 index 00000000000..2540a01ba54 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/up.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class up + implements View.OnClickListener +{ + up(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.up + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uq.java new file mode 100755 index 00000000000..d2c4695e5b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class uq + implements View.OnClickListener +{ + uq(RealNameActivity paramRealNameActivity) {} + + public final void onClick(View paramView) + { + s.b(this.a, this.a.getString(2131361998)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ur.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ur.java new file mode 100755 index 00000000000..404a1deec00 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ur.java @@ -0,0 +1,40 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.global.RqdApplication; + +final class ur + implements View.OnClickListener +{ + ur(RealNameActivity paramRealNameActivity, boolean paramBoolean) {} + + public final void onClick(View paramView) + { + if (this.a) { + if (RealNameActivity.access$100(this.b).regVersion == 1) + { + RealNameActivity.access$300(this.b, false); + RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit().putBoolean("key_zzb_refused_firsttime", true).commit(); + } + } + while (RealNameActivity.access$100(this.b).mRealStatus != 3) { + for (;;) + { + return; + RealNameActivity.access$300(this.b, true); + } + } + RealNameActivity.access$400(this.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ur + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/us.java b/com.tencent.token/classes.jar/com/tencent/token/ui/us.java new file mode 100755 index 00000000000..121e63f97fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/us.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class us + implements View.OnClickListener +{ + us(RealNameActivity paramRealNameActivity, View paramView) {} + + public final void onClick(View paramView) + { + this.a.setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.us + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ut.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ut.java new file mode 100755 index 00000000000..0ec18021fee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ut.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ut + implements View.OnClickListener +{ + ut(RealNameActivity paramRealNameActivity, View paramView) {} + + public final void onClick(View paramView) + { + this.a.setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ut + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uu.java new file mode 100755 index 00000000000..2c338bcf940 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uu.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.s; + +final class uu + implements View.OnClickListener +{ + uu(RealNameActivity paramRealNameActivity, String paramString, View paramView) {} + + public final void onClick(View paramView) + { + s.b(this.c, this.a); + this.b.setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uv.java new file mode 100755 index 00000000000..bf4f0c69af6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uv.java @@ -0,0 +1,39 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.cv; + +final class uv + implements cv +{ + uv(RealNameDetailActivity paramRealNameDetailActivity) {} + + public final void a(int paramInt) + { + this.a.iv1.setImageResource(2130837778); + this.a.iv2.setImageResource(2130837778); + this.a.iv3.setImageResource(2130837778); + this.a.iv4.setImageResource(2130837778); + switch (paramInt) + { + default: + return; + case 0: + this.a.iv1.setImageResource(2130837779); + return; + case 1: + this.a.iv2.setImageResource(2130837779); + return; + case 2: + this.a.iv3.setImageResource(2130837779); + return; + } + this.a.iv4.setImageResource(2130837779); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uw.java new file mode 100755 index 00000000000..ac25edc6247 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uw.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class uw + implements View.OnClickListener +{ + uw(RealNameDetailActivity paramRealNameDetailActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ux.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ux.java new file mode 100755 index 00000000000..b1d47a10e6e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ux.java @@ -0,0 +1,222 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.bean.RealNameQueryResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +final class ux + extends bo +{ + ux(RealNameFindActivity paramRealNameFindActivity) + { + super(paramRealNameFindActivity); + } + + public final void handleMessage(Message paramMessage) + { + e.c("upload image what=" + paramMessage.what + ", arg1=" + paramMessage.arg1 + ", optype=" + RealNameFindActivity.access$000(this.a)); + switch (paramMessage.what) + { + default: + case 3083: + case 3067: + case 3074: + case 3071: + Object localObject; + Handler localHandler; + do + { + return; + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) + { + RealNameFindActivity.access$102(this.a, true); + return; + } + RealNameFindActivity.access$102(this.a, false); + return; + } + RealNameFindActivity.access$102(this.a, false); + return; + if (paramMessage.arg1 == 0) + { + if (RealNameFindActivity.access$200(this.a) == null) + { + af.a().g(RealNameFindActivity.access$300(this.a), 1, RealNameFindActivity.access$400(this.a)); + return; + } + if (RealNameFindActivity.access$200(this.a).b() == 1) + { + af.a().g(RealNameFindActivity.access$300(this.a), 4, RealNameFindActivity.access$400(this.a)); + return; + } + if (RealNameFindActivity.access$200(this.a).b() == 2) + { + this.a.dismissDialog(); + paramMessage = new Intent(this.a, RealNameStep0VerifyMobileActivity.class); + paramMessage.putExtra("scene_id", 1003); + paramMessage.putExtra("realname_mobile", RealNameFindActivity.access$200(this.a).c()); + paramMessage.putExtra("real_uin", RealNameFindActivity.access$300(this.a)); + paramMessage.putExtra("page_id", 12); + com.tencent.token.db.c = RealNameFindActivity.access$200(this.a).d(); + com.tencent.token.db.d = RealNameFindActivity.access$200(this.a).e(); + paramMessage.putExtra("source_id", RealNameFindActivity.access$500(this.a)); + paramMessage.putExtra("mFrontPath", RealNameFindActivity.access$600(this.a)); + paramMessage.putExtra("mBackPath", RealNameFindActivity.access$700(this.a)); + paramMessage.putExtra("prontphotoinfo", RealNameFindActivity.access$800(this.a)); + paramMessage.putExtra("backphotoinfo", RealNameFindActivity.access$900(this.a)); + paramMessage.putExtra("mFaceData", RealNameFindActivity.access$1000(this.a)); + paramMessage.putExtra("canchange_uin", RealNameFindActivity.access$1100(this.a)); + paramMessage.putExtra("result", RealNameFindActivity.access$200(this.a)); + if (RealNameFindActivity.access$1200(this.a)) { + paramMessage.putExtra("not_showLockVerify", true); + } + this.a.startActivity(paramMessage); + return; + } + this.a.dismissDialog(); + paramMessage = new Intent(this.a, RealNameStep0VerifyMobileUpActivity.class); + com.tencent.token.db.c = RealNameFindActivity.access$200(this.a).d(); + com.tencent.token.db.d = RealNameFindActivity.access$200(this.a).e(); + paramMessage.putExtra("realname_mobile", RealNameFindActivity.access$200(this.a).c()); + paramMessage.putExtra("scene_id", 1003); + paramMessage.putExtra("real_uin", RealNameFindActivity.access$300(this.a)); + paramMessage.putExtra("source_id", RealNameFindActivity.access$500(this.a)); + paramMessage.putExtra("mFrontPath", RealNameFindActivity.access$600(this.a)); + paramMessage.putExtra("mBackPath", RealNameFindActivity.access$700(this.a)); + paramMessage.putExtra("mFaceData", RealNameFindActivity.access$1000(this.a)); + paramMessage.putExtra("canchange_uin", RealNameFindActivity.access$1100(this.a)); + paramMessage.putExtra("result", RealNameFindActivity.access$200(this.a)); + if (RealNameFindActivity.access$1200(this.a)) { + paramMessage.putExtra("not_showLockVerify", true); + } + this.a.startActivity(paramMessage); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 169) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + localObject = new Intent(this.a, RealNameFindFailActivity.class); + ((Intent)localObject).putExtra("err_info", paramMessage.c); + ((Intent)localObject).putExtra("source_id", RealNameFindActivity.access$500(this.a)); + ((Intent)localObject).putExtra("real_uin", RealNameFindActivity.access$300(this.a)); + ((Intent)localObject).putExtra("canchange_uin", RealNameFindActivity.access$1100(this.a)); + this.a.startActivity((Intent)localObject); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, 2131361804, new uy(this), new va(this)); + return; + if (paramMessage.arg1 == 0) + { + ax.a().f(RealNameFindActivity.access$300(this.a)); + af.a().b(RealNameFindActivity.access$400(this.a)); + this.a.dismissDialog(); + RealNameFindActivity.access$1802(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + if (RealNameFindActivity.access$500(this.a) == 1) + { + ((Button)localObject).setText(2131361901); + paramMessage.setText(2131362584); + } + for (;;) + { + ((Button)localObject).setOnClickListener(new vb(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(RealNameFindActivity.access$300(this.a) + "", s.f(RealNameFindActivity.access$300(this.a)) + " ")); + a.a().a(8); + return; + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, 2131361804, new vc(this), new vd(this)); + return; + if (paramMessage.arg1 != 0) { + break label1255; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break; + } + localObject = this.a; + localHandler = RealNameFindActivity.access$400(this.a); + } while ((localObject == null) || (((BaseActivity)localObject).isFinishing())); + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + af.a().d(RealNameFindActivity.access$400(this.a)); + return; + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + case 3072: + if (paramMessage.arg1 == 0) + { + af.a().d(RealNameFindActivity.access$400(this.a)); + this.a.dismissDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + case 3025: + label1255: + if (paramMessage.arg1 == 0) + { + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + af.a().a(0L, RealNameFindActivity.access$300(this.a), RealNameFindActivity.access$000(this.a), "", "", RealNameFindActivity.access$1000(this.a), RealNameFindActivity.access$1600(this.a, RealNameFindActivity.access$1500(this.a)), RealNameFindActivity.access$1600(this.a, RealNameFindActivity.access$1700(this.a)), RealNameFindActivity.access$800(this.a), RealNameFindActivity.access$900(this.a), RealNameFindActivity.access$400(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new ve(this)); + return; + } + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, RealNameFindActivity.access$400(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new vf(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ux + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uy.java new file mode 100755 index 00000000000..b55f4989a6b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uy.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.os.HandlerThread; + +final class uy + implements DialogInterface.OnClickListener +{ + uy(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (RealNameFindActivity.access$1300(this.a.a) == null) + { + RealNameFindActivity.access$1302(this.a.a, new HandlerThread("uploadphoto", 1)); + RealNameFindActivity.access$1300(this.a.a).start(); + } + if (RealNameFindActivity.access$1400(this.a.a) == null) { + RealNameFindActivity.access$1402(this.a.a, new Handler(RealNameFindActivity.access$1300(this.a.a).getLooper())); + } + RealNameFindActivity.access$1400(this.a.a).post(new uz(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/uz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/uz.java new file mode 100755 index 00000000000..ab2b2be88e0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/uz.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; + +final class uz + implements Runnable +{ + uz(uy paramuy) {} + + public final void run() + { + af.a().a(0L, RealNameFindActivity.access$300(this.a.a.a), RealNameFindActivity.access$000(this.a.a.a), "", "", RealNameFindActivity.access$1000(this.a.a.a), RealNameFindActivity.access$1600(this.a.a.a, RealNameFindActivity.access$1500(this.a.a.a)), RealNameFindActivity.access$1600(this.a.a.a, RealNameFindActivity.access$1700(this.a.a.a)), RealNameFindActivity.access$800(this.a.a.a), RealNameFindActivity.access$900(this.a.a.a), RealNameFindActivity.access$400(this.a.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.uz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/v.java b/com.tencent.token/classes.jar/com/tencent/token/ui/v.java new file mode 100755 index 00000000000..8f44f43d373 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/v.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; + +final class v + implements Runnable +{ + v(AccountPageActivity paramAccountPageActivity) {} + + public final void run() + { + if (ag.c().g()) { + return; + } + af.a().e(this.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/va.java b/com.tencent.token/classes.jar/com/tencent/token/ui/va.java new file mode 100755 index 00000000000..fbc33866fc7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/va.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class va + implements DialogInterface.OnClickListener +{ + va(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.va + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vb.java new file mode 100755 index 00000000000..cfccf26ffe5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vb.java @@ -0,0 +1,36 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.RqdApplication; + +final class vb + implements View.OnClickListener +{ + vb(ux paramux) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + if (RealNameFindActivity.access$500(this.a.a) == 1) { + paramView.putExtra("index_from", 25); + } + for (;;) + { + paramView.putExtra("ish5zzb", RealNameFindActivity.access$1900(this.a.a)); + RqdApplication.f(); + this.a.a.startActivity(paramView); + this.a.a.finish(); + return; + paramView.putExtra("index_from", 16); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vc.java new file mode 100755 index 00000000000..6beda833675 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vc.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class vc + implements DialogInterface.OnClickListener +{ + vc(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().g(RealNameFindActivity.access$300(this.a.a), 1, RealNameFindActivity.access$400(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vd.java new file mode 100755 index 00000000000..0ef7ae5165c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vd.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class vd + implements DialogInterface.OnClickListener +{ + vd(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ve.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ve.java new file mode 100755 index 00000000000..617df128bd7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ve.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class ve + implements DialogInterface.OnClickListener +{ + ve(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameFindActivity.access$400(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ve + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vf.java new file mode 100755 index 00000000000..b1336c9a1c4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vf.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class vf + implements DialogInterface.OnClickListener +{ + vf(ux paramux) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameFindActivity.access$400(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vg.java new file mode 100755 index 00000000000..308fb7a8695 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vg.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.t; + +final class vg + implements View.OnClickListener +{ + vg(RealNameFindActivity paramRealNameFindActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramView.putExtra("flag", 3); + paramView.putExtra("istry", 5); + paramView.putExtra("ish5zzb", RealNameFindActivity.access$1900(this.a)); + paramView.putExtra("scene", 3); + this.a.startActivityForResult(paramView, 1); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vh.java new file mode 100755 index 00000000000..5ef909e4632 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vh.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; + +final class vh + implements View.OnClickListener +{ + vh(RealNameFindActivity paramRealNameFindActivity) {} + + public final void onClick(View paramView) + { + this.a.getWindowManager().getDefaultDisplay().getWidth(); + this.a.getWindowManager().getDefaultDisplay().getHeight(); + paramView = new DisplayMetrics(); + this.a.getWindowManager().getDefaultDisplay().getMetrics(paramView); + if (RealNameFindActivity.access$100(this.a)) + { + paramView = new Intent(this.a, DetectIDPhotoActivity.class); + this.a.startActivityForResult(paramView, 2); + return; + } + paramView = new Intent(this.a, RealNameTakeIDPhotoActivity.class); + paramView.putExtra("scene", 2); + this.a.startActivityForResult(paramView, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vi.java new file mode 100755 index 00000000000..be30b601d61 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vi.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class vi + implements View.OnClickListener +{ + vi(RealNameFindActivity paramRealNameFindActivity) {} + + public final void onClick(View paramView) + { + if (RealNameFindActivity.access$2000(this.a)) { + RealNameFindActivity.access$2100(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vj.java new file mode 100755 index 00000000000..c97893eca3a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vj.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.utils.t; + +final class vj + implements Runnable +{ + vj(RealNameFindActivity paramRealNameFindActivity) {} + + public final void run() + { + RealNameFindActivity.access$1502(this.a, t.a(RealNameFindActivity.access$600(this.a))); + RealNameFindActivity.access$1702(this.a, t.a(RealNameFindActivity.access$700(this.a))); + if (ag.c().g()) + { + af.a().a(RealNameFindActivity.access$400(this.a)); + return; + } + af.a().a(0L, RealNameFindActivity.access$300(this.a), RealNameFindActivity.access$000(this.a), "", "", RealNameFindActivity.access$1000(this.a), RealNameFindActivity.access$1600(this.a, RealNameFindActivity.access$1500(this.a)), RealNameFindActivity.access$1600(this.a, RealNameFindActivity.access$1700(this.a)), RealNameFindActivity.access$800(this.a), RealNameFindActivity.access$900(this.a), RealNameFindActivity.access$400(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vk.java new file mode 100755 index 00000000000..a165fd7613b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vk.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class vk + implements View.OnClickListener +{ + vk(RealNameFindFailActivity paramRealNameFindFailActivity) {} + + public final void onClick(View paramView) + { + if (RealNameFindFailActivity.access$000(this.a) == 1) + { + paramView = new Intent(this.a, FindPasswdActivity.class); + paramView.addFlags(67108864); + paramView.putExtra("real_uin", RealNameFindFailActivity.access$100(this.a)); + paramView.putExtra("not_showLockVerify", true); + paramView.putExtra("canchange_uin", RealNameFindFailActivity.access$200(this.a)); + this.a.startActivity(paramView); + return; + } + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vl.java new file mode 100755 index 00000000000..812ccd265d7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vl.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class vl + implements View.OnClickListener +{ + vl(RealNameFirstJoinActivity paramRealNameFirstJoinActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vm.java new file mode 100755 index 00000000000..ae5edf15fa4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vm.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class vm + implements View.OnClickListener +{ + vm(RealNameGuidActivity paramRealNameGuidActivity) {} + + public final void onClick(View paramView) + { + this.a.onBackPressed(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vn.java new file mode 100755 index 00000000000..b8c5a7b09d4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vn.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ui.base.CommonActionSheetDialog; + +final class vn + implements View.OnClickListener +{ + vn(RealNameGuidActivity paramRealNameGuidActivity) {} + + public final void onClick(View paramView) + { + paramView = this.a.getResources().getString(2131362475); + String str = this.a.getResources().getString(2131362476); + this.a.dialog = new CommonActionSheetDialog(this.a, this.a.listener, new String[] { paramView, str }); + this.a.dialog.show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vo.java new file mode 100755 index 00000000000..b107c9ba0ea --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vo.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class vo + implements View.OnClickListener +{ + vo(RealNameGuidActivity paramRealNameGuidActivity) {} + + public final void onClick(View paramView) + { + switch (paramView.getId()) + { + case 2131296989: + case 2131296990: + case 2131296991: + default: + return; + case 2131296992: + paramView = new Intent(this.a, FacePwdIndexActivity.class); + this.a.startActivity(paramView); + return; + case 2131296986: + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 0); + this.a.startActivity(paramView); + return; + case 2131296987: + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 2); + this.a.startActivity(paramView); + return; + } + paramView = new Intent(this.a, RealNameDetailActivity.class); + paramView.putExtra("index", 1); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vp.java new file mode 100755 index 00000000000..a8c0c826421 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vp.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CommonActionSheetDialog; +import com.tencent.token.ui.base.i; + +final class vp + implements i +{ + vp(RealNameGuidActivity paramRealNameGuidActivity) {} + + public final void a(int paramInt) + { + switch (paramInt) + { + } + for (;;) + { + e.c("CommonActionSheetOnClickListener which=" + paramInt); + return; + RealNameGuidActivity.access$000(this.a, paramInt); + this.a.dialog.dismiss(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vq.java new file mode 100755 index 00000000000..ce4388d14bd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vq.java @@ -0,0 +1,34 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.net.Uri; +import com.tencent.token.global.e; + +final class vq + implements DialogInterface.OnClickListener +{ + vq(RealNameGuidActivity paramRealNameGuidActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + try + { + paramDialogInterface = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=com.tencent.mm")); + this.a.startActivity(paramDialogInterface); + return; + } + catch (Exception paramDialogInterface) + { + paramDialogInterface.printStackTrace(); + e.b(paramDialogInterface.toString()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vr.java new file mode 100755 index 00000000000..4fbf53883e7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vr.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class vr + implements View.OnClickListener +{ + vr(RealNameProtectActivity paramRealNameProtectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameActivity.class); + paramView.putExtra("realname_result", RealNameProtectActivity.access$000(this.a)); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vs.java new file mode 100755 index 00000000000..6141750430c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vs.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class vs + implements Runnable +{ + vs(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void run() + { + e.a("realname vrysms thread run, sceneid=" + RealNameSmsContentTipActivity.access$000(this.a)); + af.a().a(0L, RealNameSmsContentTipActivity.access$100(this.a), RealNameSmsContentTipActivity.access$000(this.a), this.a.mHandler); + RealNameSmsContentTipActivity.access$208(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vt.java new file mode 100755 index 00000000000..50e125f0f2e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vt.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.utils.t; + +final class vt + implements Runnable +{ + vt(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void run() + { + this.a.mFrontData = t.a(this.a.mFrontPath); + this.a.mBackData = t.a(this.a.mBackPath); + if (ag.c().g()) + { + af.a().a(this.a.mHandler); + return; + } + af.a().a(0L, RealNameSmsContentTipActivity.access$100(this.a), 2, "", "", this.a.mFaceData, RealNameSmsContentTipActivity.access$300(this.a, this.a.mFrontData), RealNameSmsContentTipActivity.access$300(this.a, this.a.mBackData), this.a.frontphotoinfo, this.a.backphotoinfo, this.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vu.java new file mode 100755 index 00000000000..5a96a9115c1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vu.java @@ -0,0 +1,232 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class vu + extends bo +{ + vu(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) + { + super(paramRealNameSmsContentTipActivity); + } + + private void a() + { + RealNameSmsContentTipActivity.access$1200(this.a).setVisibility(4); + RealNameSmsContentTipActivity.access$1300(this.a).setClickable(true); + RealNameSmsContentTipActivity.access$1400(this.a).setText(this.a.getResources().getString(2131361880)); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + Handler localHandler; + do + { + return; + e.c("mHandler " + paramMessage.what + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case 3: + RealNameSmsContentTipActivity.access$202(this.a, 0); + postDelayed(this.a.mVrySMSRunnable, 10000L); + return; + case 4000: + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, this.a.mHandler); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new vv(this)); + return; + case 3072: + if (paramMessage.arg1 == 0) + { + af.a().d(this.a.mHandler); + this.a.dismissDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + case 3071: + if (paramMessage.arg1 != 0) { + break label419; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break label404; + } + localObject = this.a; + localHandler = this.a.mHandler; + } + } while ((localObject == null) || (((BaseActivity)localObject).isFinishing())); + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + label404: + af.a().d(this.a.mHandler); + return; + label419: + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + af.a().a(0L, RealNameSmsContentTipActivity.access$100(this.a), 2, "", "", this.a.mFaceData, RealNameSmsContentTipActivity.access$300(this.a, this.a.mFrontData), RealNameSmsContentTipActivity.access$300(this.a, this.a.mBackData), this.a.frontphotoinfo, this.a.backphotoinfo, this.a.mHandler); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new vw(this)); + return; + if (paramMessage.arg1 == 0) + { + postDelayed(this.a.mVrySMSRunnable, 10000L); + return; + } + this.a.dismissDialog(); + if (paramMessage.arg1 == 169) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + localObject = new Intent(this.a, RealNameFindFailActivity.class); + ((Intent)localObject).putExtra("err_info", paramMessage.c); + ((Intent)localObject).putExtra("source_id", RealNameSmsContentTipActivity.access$400(this.a)); + ((Intent)localObject).putExtra("real_uin", RealNameSmsContentTipActivity.access$100(this.a)); + ((Intent)localObject).putExtra("canchange_uin", this.a.canchange_uin); + this.a.startActivity((Intent)localObject); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361914, 2131361804, new vx(this), new vz(this)); + return; + if (paramMessage.arg1 == 0) + { + ax.a().f(RealNameSmsContentTipActivity.access$100(this.a)); + af.a().b(this.a.mHandler); + this.a.dismissDialog(); + RealNameSmsContentTipActivity.access$702(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + if (RealNameSmsContentTipActivity.access$400(this.a) == 1) + { + ((Button)localObject).setText(2131361901); + paramMessage.setText(2131362584); + } + for (;;) + { + ((Button)localObject).setOnClickListener(new wa(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(RealNameSmsContentTipActivity.access$100(this.a) + "", s.f(RealNameSmsContentTipActivity.access$100(this.a)) + " ")); + a.a().a(8); + return; + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + } + } + a(); + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + Object localObject = new Intent(this.a, RealNameFindFailActivity.class); + ((Intent)localObject).putExtra("err_info", paramMessage.c); + ((Intent)localObject).putExtra("source_id", RealNameSmsContentTipActivity.access$400(this.a)); + ((Intent)localObject).putExtra("real_uin", RealNameSmsContentTipActivity.access$100(this.a)); + ((Intent)localObject).putExtra("canchange_uin", this.a.canchange_uin); + this.a.startActivity((Intent)localObject); + return; + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362230), 2131361800, null); + return; + if (paramMessage.arg1 == 0) + { + if (RealNameSmsContentTipActivity.access$000(this.a) == 1001) + { + this.a.dismissDialog(); + a(); + paramMessage = new Intent(this.a, RealNameStep1InputNameIdActivity.class); + paramMessage.putExtra("realname_result", RealNameSmsContentTipActivity.access$800(this.a)); + paramMessage.putExtra("real_uin", RealNameSmsContentTipActivity.access$100(this.a)); + this.a.startActivity(paramMessage); + return; + } + if (RealNameSmsContentTipActivity.access$000(this.a) == 1003) + { + af.a().g(RealNameSmsContentTipActivity.access$100(this.a), 3, this.a.mHandler); + return; + } + this.a.dismissDialog(); + a(); + if (t.l() == 0) {} + for (paramMessage = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramMessage = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramMessage.putExtra("ish5zzb", RealNameSmsContentTipActivity.access$900(this.a)); + paramMessage.putExtra("flag", 2); + paramMessage.putExtra("istry", 3); + paramMessage.putExtra("scene", 4); + paramMessage.putExtra("real_uin", RealNameSmsContentTipActivity.access$100(this.a)); + this.a.startActivity(paramMessage); + return; + } + } + if (paramMessage.arg1 == 176) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + paramMessage = paramMessage.c; + this.a.showUserDialog(2131361808, paramMessage, 2131361800, new wb(this), new wc(this)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + if ((paramMessage.a == 146) && (RealNameSmsContentTipActivity.access$200(this.a) < 4)) + { + postDelayed(this.a.mVrySMSRunnable, 10000L); + return; + } + RealNameSmsContentTipActivity.access$1000(this.a).setVisibility(0); + RealNameSmsContentTipActivity.access$1000(this.a).setText(paramMessage.c); + a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vv.java new file mode 100755 index 00000000000..5491858df69 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vv.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class vv + implements DialogInterface.OnClickListener +{ + vv(vu paramvu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vw.java new file mode 100755 index 00000000000..0aa3ac790fd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vw.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class vw + implements DialogInterface.OnClickListener +{ + vw(vu paramvu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vx.java new file mode 100755 index 00000000000..26d17088eee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vx.java @@ -0,0 +1,31 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.os.Handler; +import android.os.HandlerThread; + +final class vx + implements DialogInterface.OnClickListener +{ + vx(vu paramvu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (RealNameSmsContentTipActivity.access$500(this.a.a) == null) + { + RealNameSmsContentTipActivity.access$502(this.a.a, new HandlerThread("uploadphoto", 1)); + RealNameSmsContentTipActivity.access$500(this.a.a).start(); + } + if (RealNameSmsContentTipActivity.access$600(this.a.a) == null) { + RealNameSmsContentTipActivity.access$602(this.a.a, new Handler(RealNameSmsContentTipActivity.access$500(this.a.a).getLooper())); + } + RealNameSmsContentTipActivity.access$600(this.a.a).post(new vy(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vy.java new file mode 100755 index 00000000000..fdb58e166a4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vy.java @@ -0,0 +1,20 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; + +final class vy + implements Runnable +{ + vy(vx paramvx) {} + + public final void run() + { + af.a().a(0L, RealNameSmsContentTipActivity.access$100(this.a.a.a), 2, "", "", this.a.a.a.mFaceData, RealNameSmsContentTipActivity.access$300(this.a.a.a, this.a.a.a.mFrontData), RealNameSmsContentTipActivity.access$300(this.a.a.a, this.a.a.a.mBackData), this.a.a.a.frontphotoinfo, this.a.a.a.backphotoinfo, this.a.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/vz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/vz.java new file mode 100755 index 00000000000..d82b569e977 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/vz.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class vz + implements DialogInterface.OnClickListener +{ + vz(vu paramvu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.vz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/w.java b/com.tencent.token/classes.jar/com/tencent/token/ui/w.java new file mode 100755 index 00000000000..cc65fad0c1e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/w.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; + +final class w + implements View.OnClickListener +{ + w(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) { + this.a.showNoAccountTipDialog(this.a, 10, 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wa.java new file mode 100755 index 00000000000..1055d480a38 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wa.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.RqdApplication; + +final class wa + implements View.OnClickListener +{ + wa(vu paramvu) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + if (RealNameSmsContentTipActivity.access$400(this.a.a) == 1) { + paramView.putExtra("index_from", 25); + } + for (;;) + { + RqdApplication.f(); + this.a.a.startActivity(paramView); + this.a.a.finish(); + return; + paramView.putExtra("index_from", 16); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wb.java new file mode 100755 index 00000000000..51a39b2854c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wb.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class wb + implements DialogInterface.OnClickListener +{ + wb(vu paramvu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wc.java new file mode 100755 index 00000000000..4845ea5fd4d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wc.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class wc + implements DialogInterface.OnCancelListener +{ + wc(vu paramvu) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a.a, RealNameFindActivity.class); + paramDialogInterface.putExtra("result", RealNameSmsContentTipActivity.access$1100(this.a.a)); + paramDialogInterface.putExtra("real_uin", RealNameSmsContentTipActivity.access$100(this.a.a)); + paramDialogInterface.putExtra("source_id", RealNameSmsContentTipActivity.access$400(this.a.a)); + paramDialogInterface.putExtra("mFrontPath", this.a.a.mFrontPath); + paramDialogInterface.putExtra("mBackPath", this.a.a.mBackPath); + paramDialogInterface.putExtra("mFaceData", this.a.a.mFaceData); + paramDialogInterface.putExtra("frontphotoinfo", this.a.a.frontphotoinfo); + paramDialogInterface.putExtra("backphotoinfo", this.a.a.backphotoinfo); + paramDialogInterface.putExtra("ish5zzb", RealNameSmsContentTipActivity.access$900(this.a.a)); + paramDialogInterface.putExtra("canchange_uin", this.a.a.canchange_uin); + paramDialogInterface.addFlags(67108864); + paramDialogInterface.putExtra("reupload", true); + this.a.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wd.java new file mode 100755 index 00000000000..354498ac237 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wd.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ProgressBar; +import android.widget.TextView; + +final class wd + implements View.OnClickListener +{ + wd(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + RealNameSmsContentTipActivity.access$1200(this.a).setVisibility(0); + RealNameSmsContentTipActivity.access$1400(this.a).setText(this.a.getResources().getString(2131361882)); + RealNameSmsContentTipActivity.access$1000(this.a).setVisibility(4); + RealNameSmsContentTipActivity.access$202(this.a, 0); + RealNameSmsContentTipActivity.access$1300(this.a).setClickable(false); + this.a.mHandler.sendEmptyMessage(3); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/we.java b/com.tencent.token/classes.jar/com/tencent/token/ui/we.java new file mode 100755 index 00000000000..6f376d6bf01 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/we.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.e; + +final class we + implements View.OnClickListener +{ + we(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + e.c("removeTimeTask showProgressDialog"); + this.a.removeTimeTask(5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.we + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wf.java new file mode 100755 index 00000000000..8bbc6181281 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wf.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class wf + implements View.OnClickListener +{ + wf(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 16); + paramView.putExtra("ish5zzb", RealNameSmsContentTipActivity.access$900(this.a)); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wg.java new file mode 100755 index 00000000000..5d914ae0dc3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wg.java @@ -0,0 +1,18 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class wg + implements DialogInterface.OnClickListener +{ + wg(RealNameSmsContentTipActivity paramRealNameSmsContentTipActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wh.java new file mode 100755 index 00000000000..69179574d78 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wh.java @@ -0,0 +1,116 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.core.bean.MbInfoResult; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItem; +import com.tencent.token.core.bean.MbInfoResult.MbInfoItemDetail; +import com.tencent.token.fn; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class wh + extends bo +{ + wh(RealNameStep0VerifyMobileActivity paramRealNameStep0VerifyMobileActivity) + { + super(paramRealNameStep0VerifyMobileActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + Object localObject; + do + { + return; + e.c("utils mbinfo: " + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + case 3010: + if (paramMessage.arg1 != 0) { + break label660; + } + this.a.dismissDialog(); + localObject = fn.a().c(); + } + } while ((localObject == null) || (((MbInfoResult)localObject).mMbInfoItems == null)); + int i = 0; + while (i < ((MbInfoResult)localObject).mMbInfoItems.size()) + { + paramMessage = (MbInfoResult.MbInfoItem)((MbInfoResult)localObject).mMbInfoItems.get(i); + if (paramMessage.mId == 51) + { + e.a("setting item: name=" + paramMessage.mName + ", desc=" + paramMessage.mDesc + ", value =" + paramMessage.mValue + ", content=" + paramMessage.mContent); + if (paramMessage.mDetail.mBtnType == 1) + { + localObject = new Intent(this.a, UtilsModSetMobileStep1Activity.class); + ((Intent)localObject).putExtra("title", this.a.getResources().getString(2131361814) + paramMessage.mName); + ((Intent)localObject).putExtra("op_type", 1); + ((Intent)localObject).putExtra("position", i); + this.a.startActivity((Intent)localObject); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, RealNameStep0VerifyMobileDownActivity.class); + paramMessage.putExtra("realname_mobile", RealNameStep0VerifyMobileActivity.access$000(this.a)); + paramMessage.putExtra("real_uin", RealNameStep0VerifyMobileActivity.access$100(this.a)); + paramMessage.putExtra("scene_id", RealNameStep0VerifyMobileActivity.access$200(this.a)); + if (1003 == RealNameStep0VerifyMobileActivity.access$200(this.a)) + { + paramMessage.putExtra("source_id", RealNameStep0VerifyMobileActivity.access$300(this.a)); + paramMessage.putExtra("mFrontPath", this.a.mFrontPath); + paramMessage.putExtra("mBackPath", this.a.mBackPath); + paramMessage.putExtra("mFaceData", this.a.mFaceData); + paramMessage.putExtra("frontphotoinfo", this.a.frontphotoinfo); + paramMessage.putExtra("backphotoinfo", this.a.backphotoinfo); + paramMessage.putExtra("canchange_uin", RealNameStep0VerifyMobileActivity.access$400(this.a)); + paramMessage.putExtra("result", RealNameStep0VerifyMobileActivity.access$500(this.a)); + } + for (;;) + { + paramMessage.putExtra("ish5zzb", this.a.ish5zzb); + if (RealNameStep0VerifyMobileActivity.access$700(this.a)) { + paramMessage.putExtra("not_showLockVerify", true); + } + this.a.startActivity(paramMessage); + return; + paramMessage.putExtra("realname_result", RealNameStep0VerifyMobileActivity.access$600(this.a)); + } + } + if (paramMessage.arg1 == 124) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, new wi(this)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(paramMessage.c); + return; + } + paramMessage = new Intent(this.a, UtilsMbInfoItemActivity.class); + paramMessage.putExtra("position", i); + this.a.startActivity(paramMessage); + return; + } + i += 1; + } + label660: + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wi.java new file mode 100755 index 00000000000..2091426c773 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wi.java @@ -0,0 +1,46 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class wi + implements DialogInterface.OnClickListener +{ + wi(wh paramwh) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, RealNameStep0VerifyMobileUpActivity.class); + paramDialogInterface.putExtra("realname_mobile", RealNameStep0VerifyMobileActivity.access$000(this.a.a)); + paramDialogInterface.putExtra("scene_id", RealNameStep0VerifyMobileActivity.access$200(this.a.a)); + paramDialogInterface.putExtra("real_uin", RealNameStep0VerifyMobileActivity.access$100(this.a.a)); + if (RealNameStep0VerifyMobileActivity.access$200(this.a.a) == 1003) + { + paramDialogInterface.putExtra("source_id", RealNameStep0VerifyMobileActivity.access$300(this.a.a)); + paramDialogInterface.putExtra("mFrontPath", this.a.a.mFrontPath); + paramDialogInterface.putExtra("mBackPath", this.a.a.mBackPath); + paramDialogInterface.putExtra("mFaceData", this.a.a.mFaceData); + paramDialogInterface.putExtra("frontphotoinfo", this.a.a.frontphotoinfo); + paramDialogInterface.putExtra("backphotoinfo", this.a.a.backphotoinfo); + paramDialogInterface.putExtra("canchange_uin", RealNameStep0VerifyMobileActivity.access$400(this.a.a)); + paramDialogInterface.putExtra("result", RealNameStep0VerifyMobileActivity.access$500(this.a.a)); + } + for (;;) + { + paramDialogInterface.putExtra("ish5zzb", this.a.a.ish5zzb); + if (RealNameStep0VerifyMobileActivity.access$700(this.a.a)) { + paramDialogInterface.putExtra("not_showLockVerify", true); + } + this.a.a.startActivity(paramDialogInterface); + return; + paramDialogInterface.putExtra("realname_result", RealNameStep0VerifyMobileActivity.access$600(this.a.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wj.java new file mode 100755 index 00000000000..68da1448c97 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wj.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class wj + implements View.OnClickListener +{ + wj(RealNameStep0VerifyMobileActivity paramRealNameStep0VerifyMobileActivity) {} + + public final void onClick(View paramView) + { + af.a().e(0L, RealNameStep0VerifyMobileActivity.access$800(this.a)); + this.a.showProDialogWithoutShutDown(this.a, this.a.getString(2131361844)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wk.java new file mode 100755 index 00000000000..5a8dbbbf75d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wk.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class wk + implements View.OnClickListener +{ + wk(RealNameStep0VerifyMobileActivity paramRealNameStep0VerifyMobileActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, RealNameFindActivity.class); + paramView.putExtra("source_id", RealNameStep0VerifyMobileActivity.access$300(this.a)); + paramView.putExtra("real_uin", RealNameStep0VerifyMobileActivity.access$100(this.a)); + paramView.putExtra("ish5zzb", this.a.ish5zzb); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wl.java new file mode 100755 index 00000000000..5ef983e6a3c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wl.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; + +final class wl + implements View.OnClickListener +{ + wl(RealNameStep0VerifyMobileActivity paramRealNameStep0VerifyMobileActivity) {} + + public final void onClick(View paramView) + { + this.a.showProDialogWithoutShutDown(this.a, this.a.getString(2131361844)); + af.a().a(0L, Long.valueOf(RealNameStep0VerifyMobileActivity.access$100(this.a)), RealNameStep0VerifyMobileActivity.access$200(this.a), RealNameStep0VerifyMobileActivity.access$800(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wm.java new file mode 100755 index 00000000000..7688074bbbd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wm.java @@ -0,0 +1,66 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.telephony.SmsMessage; +import com.tencent.token.global.e; + +final class wm + extends BroadcastReceiver +{ + wm(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + int i = 0; + try + { + if (!"android.provider.Telephony.SMS_RECEIVED".equals(paramIntent.getAction())) { + return; + } + paramContext = RealNameStep0VerifyMobileDownActivity.access$000(this.a, paramIntent); + if (paramContext == null) { + return; + } + e.a("current time: " + System.currentTimeMillis()); + e.a("msgs count: " + paramContext.length + ", msgs[0] time: " + paramContext[0].getTimestampMillis()); + RealNameStep0VerifyMobileDownActivity.access$100(this.a); + } + catch (Exception paramContext) + { + for (;;) + { + int j; + paramContext.printStackTrace(); + return; + i += 1; + } + } + catch (Error paramContext) + { + paramContext.printStackTrace(); + } + if (i < paramContext.length) + { + paramIntent = paramContext[i].getDisplayMessageBody(); + e.a("msg[" + i + "]: " + paramIntent); + j = paramIntent.indexOf(RealNameStep0VerifyMobileDownActivity.access$200(this.a)); + if (j >= 0) + { + i = RealNameStep0VerifyMobileDownActivity.access$200(this.a).length() + j; + while ((i < paramIntent.length()) && (paramIntent.charAt(i) <= '9') && (paramIntent.charAt(i) >= '0')) { + i += 1; + } + RealNameStep0VerifyMobileDownActivity.access$300(this.a, paramIntent.substring(j + RealNameStep0VerifyMobileDownActivity.access$200(this.a).length(), i)); + return; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wn.java new file mode 100755 index 00000000000..6057761eaf9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wn.java @@ -0,0 +1,207 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.push.a; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class wn + extends bo +{ + wn(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) + { + super(paramRealNameStep0VerifyMobileDownActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + label745: + label760: + do + { + Object localObject; + Handler localHandler; + do + { + return; + e.c("realname msg.what=" + paramMessage.what + ", msg.arg1=" + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case -100: + RealNameStep0VerifyMobileDownActivity.access$100(this.a); + return; + case 3074: + if (paramMessage.arg1 == 0) + { + ax.a().f(RealNameStep0VerifyMobileDownActivity.access$400(this.a)); + af.a().b(RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + this.a.dismissDialog(); + RealNameStep0VerifyMobileDownActivity.access$602(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + if (this.a.mSourceId == 1) + { + ((Button)localObject).setText(2131361901); + paramMessage.setText(2131362584); + } + for (;;) + { + ((Button)localObject).setOnClickListener(new wo(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(RealNameStep0VerifyMobileDownActivity.access$400(this.a) + "", s.f(RealNameStep0VerifyMobileDownActivity.access$400(this.a)) + " ")); + a.a().a(8); + return; + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + } + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + localObject = new Intent(this.a, RealNameFindFailActivity.class); + ((Intent)localObject).putExtra("err_info", paramMessage.c); + ((Intent)localObject).putExtra("source_id", this.a.mSourceId); + ((Intent)localObject).putExtra("real_uin", RealNameStep0VerifyMobileDownActivity.access$400(this.a)); + ((Intent)localObject).putExtra("canchange_uin", RealNameStep0VerifyMobileDownActivity.access$800(this.a)); + this.a.startActivity((Intent)localObject); + return; + case 4000: + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new wp(this)); + return; + case 3072: + if (paramMessage.arg1 == 0) + { + af.a().d(RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + this.a.dismissDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + case 3071: + if (paramMessage.arg1 != 0) { + break label760; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break label745; + } + localObject = this.a; + localHandler = RealNameStep0VerifyMobileDownActivity.access$500(this.a); + } + } while ((localObject == null) || (((BaseActivity)localObject).isFinishing())); + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + af.a().d(RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + return; + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + af.a().a(0L, RealNameStep0VerifyMobileDownActivity.access$400(this.a), 2, "", "", this.a.mFaceData, RealNameStep0VerifyMobileDownActivity.access$900(this.a, this.a.mFrontData), RealNameStep0VerifyMobileDownActivity.access$900(this.a, this.a.mBackData), this.a.frontphotoinfo, this.a.backphotoinfo, RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new wq(this)); + return; + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } while (paramMessage.arg1 == 0); + if (paramMessage.arg1 == 124) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + RealNameStep0VerifyMobileDownActivity.access$500(this.a).removeMessages(-100); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, new wr(this)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + RealNameStep0VerifyMobileDownActivity.access$500(this.a).removeMessages(-100); + this.a.showUserDialog(paramMessage.c); + return; + RealNameStep0VerifyMobileDownActivity.access$1302(this.a, false); + if (paramMessage.arg1 == 0) + { + if (RealNameStep0VerifyMobileDownActivity.access$1100(this.a) == 1001) + { + this.a.dismissDialog(); + paramMessage = new Intent(this.a, RealNameStep1InputNameIdActivity.class); + paramMessage.putExtra("realname_result", RealNameStep0VerifyMobileDownActivity.access$1200(this.a)); + paramMessage.putExtra("real_uin", RealNameStep0VerifyMobileDownActivity.access$400(this.a)); + this.a.startActivity(paramMessage); + return; + } + if (RealNameStep0VerifyMobileDownActivity.access$1100(this.a) == 1003) + { + af.a().g(RealNameStep0VerifyMobileDownActivity.access$400(this.a), 3, RealNameStep0VerifyMobileDownActivity.access$500(this.a)); + return; + } + this.a.dismissDialog(); + if (t.l() == 0) {} + for (paramMessage = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramMessage = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramMessage.putExtra("flag", 2); + paramMessage.putExtra("real_uin", RealNameStep0VerifyMobileDownActivity.access$400(this.a)); + paramMessage.putExtra("ish5zzb", RealNameStep0VerifyMobileDownActivity.access$700(this.a)); + paramMessage.putExtra("istry", 3); + paramMessage.putExtra("scene", 4); + this.a.startActivity(paramMessage); + this.a.finish(); + return; + } + } + if (paramMessage.arg1 == 176) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + RealNameStep0VerifyMobileDownActivity.access$1400(this.a, paramMessage.c); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(paramMessage.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wo.java new file mode 100755 index 00000000000..d9ddbaa1525 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wo.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.RqdApplication; + +final class wo + implements View.OnClickListener +{ + wo(wn paramwn) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + if (this.a.a.mSourceId == 1) + { + paramView.putExtra("index_from", 25); + RqdApplication.f(); + } + for (;;) + { + paramView.putExtra("ish5zzb", RealNameStep0VerifyMobileDownActivity.access$700(this.a.a)); + this.a.a.startActivity(paramView); + this.a.a.finish(); + return; + paramView.putExtra("index_from", 16); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wp.java new file mode 100755 index 00000000000..351da80ec26 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wp.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class wp + implements DialogInterface.OnClickListener +{ + wp(wn paramwn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameStep0VerifyMobileDownActivity.access$500(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wq.java new file mode 100755 index 00000000000..c4b40880d46 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class wq + implements DialogInterface.OnClickListener +{ + wq(wn paramwn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameStep0VerifyMobileDownActivity.access$500(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wr.java new file mode 100755 index 00000000000..e3f4298edd7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wr.java @@ -0,0 +1,41 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class wr + implements DialogInterface.OnClickListener +{ + wr(wn paramwn) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + paramDialogInterface = new Intent(this.a.a, RealNameStep0VerifyMobileUpActivity.class); + paramDialogInterface.putExtra("realname_mobile", RealNameStep0VerifyMobileDownActivity.access$1000(this.a.a)); + paramDialogInterface.putExtra("real_uin", RealNameStep0VerifyMobileDownActivity.access$400(this.a.a)); + paramDialogInterface.putExtra("scene_id", RealNameStep0VerifyMobileDownActivity.access$1100(this.a.a)); + if (RealNameStep0VerifyMobileDownActivity.access$1100(this.a.a) == 1003) + { + paramDialogInterface.putExtra("source_id", this.a.a.mSourceId); + paramDialogInterface.putExtra("mFrontPath", this.a.a.mFrontPath); + paramDialogInterface.putExtra("mBackPath", this.a.a.mBackPath); + paramDialogInterface.putExtra("mFaceData", this.a.a.mFaceData); + paramDialogInterface.putExtra("frontphotoinfo", this.a.a.frontphotoinfo); + paramDialogInterface.putExtra("backphotoinfo", this.a.a.backphotoinfo); + paramDialogInterface.putExtra("canchange_uin", RealNameStep0VerifyMobileDownActivity.access$800(this.a.a)); + } + for (;;) + { + this.a.a.startActivity(paramDialogInterface); + return; + paramDialogInterface.putExtra("realname_result", RealNameStep0VerifyMobileDownActivity.access$1200(this.a.a)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ws.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ws.java new file mode 100755 index 00000000000..be3b900062c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ws.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ws + implements View.OnClickListener +{ + ws(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) {} + + public final void onClick(View paramView) + { + RealNameStep0VerifyMobileDownActivity.access$1500(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ws + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wt.java new file mode 100755 index 00000000000..2403c8c30af --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wt.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; + +final class wt + implements View.OnClickListener +{ + wt(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) {} + + public final void onClick(View paramView) + { + paramView = RealNameStep0VerifyMobileDownActivity.access$1600(this.a).getText().toString(); + if ((paramView == null) || (paramView.length() == 0)) { + this.a.showToast(2131361948); + } + while (RealNameStep0VerifyMobileDownActivity.access$1300(this.a)) { + return; + } + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + RealNameStep0VerifyMobileDownActivity.access$1700(this.a, paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wu.java new file mode 100755 index 00000000000..49fad8b19fc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class wu + implements DialogInterface.OnClickListener +{ + wu(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wv.java new file mode 100755 index 00000000000..e4bf9c0bb0f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wv.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class wv + implements DialogInterface.OnCancelListener +{ + wv(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a, RealNameFindActivity.class); + paramDialogInterface.putExtra("result", RealNameStep0VerifyMobileDownActivity.access$1800(this.a)); + paramDialogInterface.putExtra("real_uin", RealNameStep0VerifyMobileDownActivity.access$400(this.a)); + paramDialogInterface.putExtra("source_id", this.a.mSourceId); + paramDialogInterface.putExtra("mFrontPath", this.a.mFrontPath); + paramDialogInterface.putExtra("mBackPath", this.a.mBackPath); + paramDialogInterface.putExtra("mFaceData", this.a.mFaceData); + paramDialogInterface.putExtra("frontphotoinfo", this.a.frontphotoinfo); + paramDialogInterface.putExtra("backphotoinfo", this.a.backphotoinfo); + paramDialogInterface.putExtra("ish5zzb", RealNameStep0VerifyMobileDownActivity.access$700(this.a)); + paramDialogInterface.putExtra("canchange_uin", RealNameStep0VerifyMobileDownActivity.access$800(this.a)); + paramDialogInterface.addFlags(67108864); + paramDialogInterface.putExtra("reupload", true); + this.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ww.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ww.java new file mode 100755 index 00000000000..e2bcfa4c085 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ww.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; + +final class ww + implements Runnable +{ + ww(RealNameStep0VerifyMobileDownActivity paramRealNameStep0VerifyMobileDownActivity, String paramString) {} + + public final void run() + { + Message localMessage = new Message(); + localMessage.what = 100; + RealNameStep0VerifyMobileDownActivity.access$500(this.b).sendMessage(localMessage); + RealNameStep0VerifyMobileDownActivity.access$1700(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ww + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wx.java new file mode 100755 index 00000000000..db0a1d85f4e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wx.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import com.tencent.token.af; +import com.tencent.token.global.e; + +final class wx + implements Runnable +{ + wx(RealNameStep0VerifyMobileUpActivity paramRealNameStep0VerifyMobileUpActivity) {} + + public final void run() + { + e.a("realname vrysms thread run, sceneid=" + RealNameStep0VerifyMobileUpActivity.access$000(this.a)); + af.a().a(0L, RealNameStep0VerifyMobileUpActivity.access$100(this.a), RealNameStep0VerifyMobileUpActivity.access$000(this.a), RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + RealNameStep0VerifyMobileUpActivity.access$308(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wy.java new file mode 100755 index 00000000000..b48343f5b9d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wy.java @@ -0,0 +1,199 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Message; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.push.a; +import com.tencent.token.db; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; +import com.tencent.token.utils.t; + +final class wy + extends bo +{ + wy(RealNameStep0VerifyMobileUpActivity paramRealNameStep0VerifyMobileUpActivity) + { + super(paramRealNameStep0VerifyMobileUpActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + Handler localHandler; + do + { + return; + e.c("mHandler " + paramMessage.what + paramMessage.arg1); + switch (paramMessage.what) + { + default: + return; + case 3: + RealNameStep0VerifyMobileUpActivity.access$302(this.a, 0); + this.a.showProDialogWithoutShutDown(this.a, this.a.getString(2131361844)); + postDelayed(this.a.mVrySMSRunnable, 10000L); + return; + case 4000: + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new wz(this)); + return; + case 3072: + if (paramMessage.arg1 == 0) + { + af.a().d(RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + this.a.dismissDialog(); + return; + } + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + case 3071: + if (paramMessage.arg1 != 0) { + break label431; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break label416; + } + localObject = this.a; + localHandler = RealNameStep0VerifyMobileUpActivity.access$200(this.a); + } + } while ((localObject == null) || (((BaseActivity)localObject).isFinishing())); + new CaptchaDialog((BaseActivity)localObject, localHandler, paramMessage).show(); + return; + label416: + af.a().d(RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + return; + label431: + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + if (paramMessage.arg1 == 0) + { + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + af.a().a(0L, RealNameStep0VerifyMobileUpActivity.access$100(this.a), 2, "", "", this.a.mFaceData, RealNameStep0VerifyMobileUpActivity.access$400(this.a, this.a.mFrontData), RealNameStep0VerifyMobileUpActivity.access$400(this.a, this.a.mBackData), this.a.frontphotoinfo, this.a.backphotoinfo, RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new xa(this)); + return; + if (paramMessage.arg1 == 0) + { + ax.a().f(RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + af.a().b(RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + this.a.dismissDialog(); + RealNameStep0VerifyMobileUpActivity.access$502(this.a, true); + this.a.setContentView(2130903050); + this.a.setBackArrowHide(); + localObject = (TextView)this.a.findViewById(2131296396); + paramMessage = (TextView)this.a.findViewById(2131296397); + ((TextView)localObject).setText(2131362582); + paramMessage.setVisibility(0); + localObject = (Button)this.a.findViewById(2131296398); + if (this.a.mSourceId == 1) + { + ((Button)localObject).setText(2131361901); + paramMessage.setText(2131362584); + } + for (;;) + { + ((Button)localObject).setOnClickListener(new xb(this)); + this.a.setTitle(2131361842); + ((ImageView)this.a.findViewById(2131296395)).setImageDrawable(k.a(RealNameStep0VerifyMobileUpActivity.access$100(this.a) + "", s.f(RealNameStep0VerifyMobileUpActivity.access$100(this.a)) + " ")); + a.a().a(8); + return; + ((Button)localObject).setText(2131361840); + paramMessage.setText(2131362583); + } + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + Object localObject = new Intent(this.a, RealNameFindFailActivity.class); + ((Intent)localObject).putExtra("err_info", paramMessage.c); + ((Intent)localObject).putExtra("source_id", this.a.mSourceId); + ((Intent)localObject).putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + ((Intent)localObject).putExtra("canchange_uin", this.a.canchange_uin); + this.a.startActivity((Intent)localObject); + return; + this.a.showUserDialog(2131361808, this.a.getResources().getString(2131362230), 2131361800, null); + this.a.sendUpSmsBySMSAPP(db.c, db.d); + return; + if (paramMessage.arg1 == 0) + { + if (RealNameStep0VerifyMobileUpActivity.access$000(this.a) == 1001) + { + this.a.dismissDialog(); + paramMessage = new Intent(this.a, RealNameStep1InputNameIdActivity.class); + paramMessage.putExtra("realname_result", RealNameStep0VerifyMobileUpActivity.access$700(this.a)); + paramMessage.putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + this.a.startActivity(paramMessage); + return; + } + if (RealNameStep0VerifyMobileUpActivity.access$000(this.a) == 1003) + { + af.a().g(RealNameStep0VerifyMobileUpActivity.access$100(this.a), 3, RealNameStep0VerifyMobileUpActivity.access$200(this.a)); + return; + } + this.a.dismissDialog(); + if (t.l() == 0) {} + for (paramMessage = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramMessage = new Intent(this.a, FaceRecognitionCameraActivity.class)) + { + paramMessage.putExtra("flag", 2); + paramMessage.putExtra("istry", 3); + paramMessage.putExtra("scene", 4); + paramMessage.putExtra("ish5zzb", RealNameStep0VerifyMobileUpActivity.access$600(this.a)); + paramMessage.putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + this.a.startActivity(paramMessage); + return; + } + } + if (paramMessage.arg1 == 176) + { + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + paramMessage = paramMessage.c; + this.a.showUserDialog(2131361808, paramMessage, 2131361800, new xc(this), new xd(this)); + return; + } + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + if ((paramMessage.a == 146) && (RealNameStep0VerifyMobileUpActivity.access$300(this.a) < 4)) + { + postDelayed(this.a.mVrySMSRunnable, 10000L); + return; + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/wz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/wz.java new file mode 100755 index 00000000000..6b0e49e672c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/wz.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class wz + implements DialogInterface.OnClickListener +{ + wz(wy paramwy) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameStep0VerifyMobileUpActivity.access$200(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.wz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/x.java b/com.tencent.token/classes.jar/com/tencent/token/ui/x.java new file mode 100755 index 00000000000..9e072ca720e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/x.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; + +final class x + implements View.OnClickListener +{ + x(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) { + this.a.showNoAccountTipDialog(this.a, 18, 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xa.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xa.java new file mode 100755 index 00000000000..d84a3a8d891 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xa.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class xa + implements DialogInterface.OnClickListener +{ + xa(wy paramwy) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(RealNameStep0VerifyMobileUpActivity.access$200(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xb.java new file mode 100755 index 00000000000..ce961783cc1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xb.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.RqdApplication; + +final class xb + implements View.OnClickListener +{ + xb(wy paramwy) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.a, IndexActivity.class); + paramView.addFlags(67108864); + if (this.a.a.mSourceId == 1) + { + paramView.putExtra("index_from", 25); + RqdApplication.f(); + } + for (;;) + { + paramView.putExtra("ish5zzb", RealNameStep0VerifyMobileUpActivity.access$600(this.a.a)); + this.a.a.startActivity(paramView); + this.a.a.finish(); + return; + paramView.putExtra("index_from", 16); + RqdApplication.f(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xc.java new file mode 100755 index 00000000000..a0f3ee8d67a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class xc + implements DialogInterface.OnClickListener +{ + xc(wy paramwy) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xd.java new file mode 100755 index 00000000000..1dcf248aa8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xd.java @@ -0,0 +1,35 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class xd + implements DialogInterface.OnCancelListener +{ + xd(wy paramwy) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a.a, RealNameFindActivity.class); + paramDialogInterface.putExtra("result", RealNameStep0VerifyMobileUpActivity.access$800(this.a.a)); + paramDialogInterface.putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a.a)); + paramDialogInterface.putExtra("source_id", this.a.a.mSourceId); + paramDialogInterface.putExtra("mFrontPath", this.a.a.mFrontPath); + paramDialogInterface.putExtra("mBackPath", this.a.a.mBackPath); + paramDialogInterface.putExtra("mFaceData", this.a.a.mFaceData); + paramDialogInterface.putExtra("frontphotoinfo", this.a.a.frontphotoinfo); + paramDialogInterface.putExtra("backphotoinfo", this.a.a.backphotoinfo); + paramDialogInterface.putExtra("ish5zzb", RealNameStep0VerifyMobileUpActivity.access$600(this.a.a)); + paramDialogInterface.putExtra("canchange_uin", this.a.a.canchange_uin); + paramDialogInterface.addFlags(67108864); + paramDialogInterface.putExtra("reupload", true); + this.a.a.startActivity(paramDialogInterface); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xe.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xe.java new file mode 100755 index 00000000000..e65fbbd4cbf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xe.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.db; + +final class xe + implements View.OnClickListener +{ + xe(RealNameStep0VerifyMobileUpActivity paramRealNameStep0VerifyMobileUpActivity) {} + + public final void onClick(View paramView) + { + this.a.sendUpSmsBySMSAPP(db.c, db.d); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xe + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xf.java new file mode 100755 index 00000000000..ba19f08dcee --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xf.java @@ -0,0 +1,63 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class xf + implements View.OnClickListener +{ + xf(RealNameStep0VerifyMobileUpActivity paramRealNameStep0VerifyMobileUpActivity) {} + + public final void onClick(View paramView) + { + if (RealNameStep0VerifyMobileUpActivity.access$000(this.a) == 1001) + { + paramView = new Intent(this.a, CheckMobileAvailableActivity.class); + paramView.putExtra("realname_result", RealNameStep0VerifyMobileUpActivity.access$700(this.a)); + paramView.putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + paramView.putExtra("realname_mobile", RealNameStep0VerifyMobileUpActivity.access$900(this.a)); + paramView.putExtra("scene_id", RealNameStep0VerifyMobileUpActivity.access$000(this.a)); + paramView.putExtra("up_sms_scene_id", 5); + } + for (;;) + { + this.a.startActivity(paramView); + return; + Intent localIntent = new Intent(this.a, RealNameSmsContentTipActivity.class); + localIntent.putExtra("real_uin", RealNameStep0VerifyMobileUpActivity.access$100(this.a)); + localIntent.putExtra("realname_mobile", RealNameStep0VerifyMobileUpActivity.access$900(this.a)); + localIntent.putExtra("scene_id", RealNameStep0VerifyMobileUpActivity.access$000(this.a)); + localIntent.putExtra("ish5zzb", RealNameStep0VerifyMobileUpActivity.access$600(this.a)); + if (RealNameStep0VerifyMobileUpActivity.access$000(this.a) == 1003) + { + localIntent.putExtra("source_id", this.a.mSourceId); + localIntent.putExtra("mFrontPath", this.a.mFrontPath); + localIntent.putExtra("mBackPath", this.a.mBackPath); + localIntent.putExtra("mFaceData", this.a.mFaceData); + localIntent.putExtra("frontphotoinfo", this.a.frontphotoinfo); + localIntent.putExtra("backphotoinfo", this.a.backphotoinfo); + localIntent.putExtra("canchange_uin", this.a.canchange_uin); + localIntent.putExtra("result", RealNameStep0VerifyMobileUpActivity.access$800(this.a)); + localIntent.putExtra("up_sms_scene_id", 2); + paramView = localIntent; + } + else + { + paramView = localIntent; + if (RealNameStep0VerifyMobileUpActivity.access$000(this.a) == 1002) + { + localIntent.putExtra("realname_result", RealNameStep0VerifyMobileUpActivity.access$700(this.a)); + localIntent.putExtra("up_sms_scene_id", 1); + paramView = localIntent; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xg.java new file mode 100755 index 00000000000..ddd95f4e618 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xg.java @@ -0,0 +1,142 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Message; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.tencent.token.core.bean.RealNameRegResult; +import com.tencent.token.core.bean.RealNameStatusResult; +import com.tencent.token.er; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; + +final class xg + extends bo +{ + xg(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) + { + super(paramRealNameStep1InputNameIdActivity); + } + + public final void handleMessage(Message paramMessage) + { + e.c("upload image what=" + paramMessage.what + ", arg1=" + paramMessage.arg1 + ", optype=" + RealNameStep1InputNameIdActivity.access$000(this.a)); + switch (paramMessage.what) + { + case -100: + default: + return; + case 3083: + if (paramMessage.arg1 == 0) + { + if (paramMessage.arg2 == 1) + { + RealNameStep1InputNameIdActivity.access$102(this.a, true); + return; + } + RealNameStep1InputNameIdActivity.access$102(this.a, false); + return; + } + RealNameStep1InputNameIdActivity.access$102(this.a, false); + return; + case 3064: + if (paramMessage.arg1 == 0) + { + this.a.dismissDialog(); + RealNameStep1InputNameIdActivity.access$202(this.a, (RealNameStatusResult)paramMessage.obj); + RealNameStep1InputNameIdActivity.access$300(this.a); + return; + } + this.a.finish(); + return; + case 3080: + RealNameStep1InputNameIdActivity.access$400(this.a).setVisibility(4); + d locald = (d)paramMessage.obj; + if (paramMessage.arg1 != 0) { + if ((locald.a == 250) || (locald.a == 251) || (locald.a == 252)) + { + RealNameStep1InputNameIdActivity.access$502(this.a, true); + RealNameStep1InputNameIdActivity.access$602(this.a, false); + RealNameStep1InputNameIdActivity.access$700(this.a).setVisibility(0); + RealNameStep1InputNameIdActivity.access$700(this.a).setText(locald.b); + RealNameStep1InputNameIdActivity.access$700(this.a).setTextColor(-65536); + if ((RealNameStep1InputNameIdActivity.access$800(this.a) != null) && (RealNameStep1InputNameIdActivity.access$800(this.a).getVisibility() == 0)) { + RealNameStep1InputNameIdActivity.access$900(this.a).scrollTo(0, RealNameStep1InputNameIdActivity.access$700(this.a).getMeasuredHeight() + s.a(this.a, 20.0F) + RealNameStep1InputNameIdActivity.access$800(this.a).getMeasuredHeight()); + } + } + } + for (;;) + { + RealNameStep1InputNameIdActivity.access$1000(this.a); + return; + RealNameStep1InputNameIdActivity.access$900(this.a).scrollTo(0, RealNameStep1InputNameIdActivity.access$700(this.a).getMeasuredHeight() + s.a(this.a, 20.0F)); + continue; + RealNameStep1InputNameIdActivity.access$502(this.a, false); + this.a.showUserDialog(locald.c); + continue; + RealNameStep1InputNameIdActivity.access$502(this.a, true); + RealNameStep1InputNameIdActivity.access$700(this.a).setVisibility(0); + RealNameStep1InputNameIdActivity.access$700(this.a).setText(this.a.getResources().getString(2131362554)); + RealNameStep1InputNameIdActivity.access$700(this.a).setTextColor(-7829368); + RealNameStep1InputNameIdActivity.access$602(this.a, true); + } + case 3078: + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameRegResult)paramMessage.obj; + RealNameStep1InputNameIdActivity.access$1100(this.a, paramMessage); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + d.a(this.a.getResources(), paramMessage); + RealNameStep1InputNameIdActivity.access$1200(this.a, paramMessage.c, true, false); + return; + } + this.a.dismissDialog(); + if (RealNameStep1InputNameIdActivity.access$1300(this.a) != null) + { + RealNameStep1InputNameIdActivity.access$1300(this.a).b(); + RealNameStep1InputNameIdActivity.access$1400(this.a).setEnabled(true); + this.a.animLayout.setVisibility(4); + } + if (paramMessage.arg1 == 0) + { + paramMessage = (RealNameRegResult)paramMessage.obj; + RealNameStep1InputNameIdActivity.access$1100(this.a, paramMessage); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + switch (paramMessage.a) + { + default: + d.a(this.a.getResources(), paramMessage); + RealNameStep1InputNameIdActivity.access$1200(this.a, paramMessage.c, false, false); + return; + case 180: + case 181: + this.a.showUserDialogComfig(2130903167, er.h, er.i, 2130837618, new xh(this), new xi(this)); + return; + case 182: + this.a.showUserDialogComfig(2130903167, er.h, er.i, 2130837696, new xj(this), new xk(this)); + return; + case 103: + d.a(this.a.getResources(), paramMessage); + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, new xl(this), new xm(this)); + return; + } + RealNameStep1InputNameIdActivity.access$1200(this.a, paramMessage.c, false, true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xh.java new file mode 100755 index 00000000000..6332eb318ae --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xh.java @@ -0,0 +1,33 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.p; +import com.tencent.token.utils.t; + +final class xh + implements View.OnClickListener +{ + xh(xg paramxg) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + p.a().a(System.currentTimeMillis(), 91); + if (t.l() == 0) {} + for (paramView = new Intent(this.a.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a.a, FaceRegCameraActivity.class)) + { + paramView.putExtra("flag", 3); + paramView.putExtra("scene", 2); + this.a.a.startActivityForResult(paramView, 1); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xi.java new file mode 100755 index 00000000000..0cce5fcccc2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xi.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.p; + +final class xi + implements View.OnClickListener +{ + xi(xg paramxg) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + p.a().a(System.currentTimeMillis(), 92); + this.a.a.showProDialogWithoutShutDown(this.a.a, this.a.a.getResources().getString(2131361817)); + af.a().a(0L, RealNameStep1InputNameIdActivity.access$1500(this.a.a), 3, RealNameStep1InputNameIdActivity.access$1600(this.a.a).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a.a).getText().toString(), null, null, null, RealNameStep1InputNameIdActivity.access$1800(this.a.a), RealNameStep1InputNameIdActivity.access$1900(this.a.a), RealNameStep1InputNameIdActivity.access$2000(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xj.java new file mode 100755 index 00000000000..589d7b573a1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xj.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; +import com.tencent.token.p; + +final class xj + implements View.OnClickListener +{ + xj(xg paramxg) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + p.a().a(System.currentTimeMillis(), 93); + paramView = new DisplayMetrics(); + this.a.a.getWindowManager().getDefaultDisplay().getMetrics(paramView); + if (RealNameStep1InputNameIdActivity.access$100(this.a.a)) + { + paramView = new Intent(this.a.a, DetectIDPhotoActivity.class); + this.a.a.startActivityForResult(paramView, 2); + return; + } + paramView = new Intent(this.a.a, RealNameTakeIDPhotoActivity.class); + paramView.putExtra("scene", 2); + this.a.a.startActivityForResult(paramView, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xk.java new file mode 100755 index 00000000000..be6afec59a7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xk.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.p; + +final class xk + implements View.OnClickListener +{ + xk(xg paramxg) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + p.a().a(System.currentTimeMillis(), 94); + this.a.a.showProDialogWithoutShutDown(this.a.a, this.a.a.getResources().getString(2131361817)); + af.a().a(0L, RealNameStep1InputNameIdActivity.access$1500(this.a.a), 3, RealNameStep1InputNameIdActivity.access$1600(this.a.a).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a.a).getText().toString(), null, null, null, RealNameStep1InputNameIdActivity.access$1800(this.a.a), RealNameStep1InputNameIdActivity.access$1900(this.a.a), RealNameStep1InputNameIdActivity.access$2000(this.a.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xl.java new file mode 100755 index 00000000000..7ec4b838ccf --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xl.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class xl + implements DialogInterface.OnClickListener +{ + xl(xg paramxg) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + this.a.a.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xm.java new file mode 100755 index 00000000000..e4f81c4fa2f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xm.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; + +final class xm + implements DialogInterface.OnCancelListener +{ + xm(xg paramxg) {} + + public final void onCancel(DialogInterface paramDialogInterface) + { + paramDialogInterface = new Intent(this.a.a, IndexActivity.class); + paramDialogInterface.addFlags(67108864); + this.a.a.startActivity(paramDialogInterface); + this.a.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xn.java new file mode 100755 index 00000000000..c8db7d7d74a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xn.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; +import android.widget.ScrollView; + +final class xn + implements ViewTreeObserver.OnGlobalLayoutListener +{ + xn(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity, ScrollView paramScrollView) {} + + public final void onGlobalLayout() + { + if ((this.a.getRootView().getHeight() - this.a.getHeight() < this.a.getMeasuredHeight() / 3) && (!RealNameStep1InputNameIdActivity.access$500(this.b))) { + RealNameStep1InputNameIdActivity.access$2900(this.b); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xo.java new file mode 100755 index 00000000000..34121fa6e9a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xo.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.utils.t; + +final class xo + implements View.OnClickListener +{ + xo(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onClick(View paramView) + { + if (t.l() == 0) {} + for (paramView = new Intent(this.a, FaceRecognitionCameraActivityOld.class);; paramView = new Intent(this.a, FaceRegCameraActivity.class)) + { + paramView.putExtra("flag", 3); + paramView.putExtra("scene", 2); + this.a.startActivityForResult(paramView, 1); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xp.java new file mode 100755 index 00000000000..94e3104ab08 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xp.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; + +final class xp + implements View.OnClickListener +{ + xp(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onClick(View paramView) + { + this.a.getWindowManager().getDefaultDisplay().getWidth(); + this.a.getWindowManager().getDefaultDisplay().getHeight(); + paramView = new DisplayMetrics(); + this.a.getWindowManager().getDefaultDisplay().getMetrics(paramView); + if (RealNameStep1InputNameIdActivity.access$100(this.a)) + { + paramView = new Intent(this.a, DetectIDPhotoActivity.class); + this.a.startActivityForResult(paramView, 2); + return; + } + paramView = new Intent(this.a, RealNameTakeIDPhotoActivity.class); + paramView.putExtra("scene", 2); + this.a.startActivityForResult(paramView, 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xq.java new file mode 100755 index 00000000000..1c1cf62b02f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xq.java @@ -0,0 +1,47 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import android.widget.TextView; +import com.tencent.token.global.RqdApplication; + +final class xq + implements View.OnClickListener +{ + xq(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onClick(View paramView) + { + if (RealNameStep1InputNameIdActivity.access$1000(this.a)) + { + if (!RealNameStep1InputNameIdActivity.access$3000(this.a, RealNameStep1InputNameIdActivity.access$1700(this.a).getText().toString())) + { + RealNameStep1InputNameIdActivity.access$700(this.a).setVisibility(0); + RealNameStep1InputNameIdActivity.access$700(this.a).setText(this.a.getResources().getString(2131362553)); + RealNameStep1InputNameIdActivity.access$700(this.a).setTextColor(-65536); + } + } + else { + return; + } + if (!RealNameStep1InputNameIdActivity.access$2800(this.a)) + { + this.a.showUserDialogComfig(2130903168, null, String.format(this.a.getResources().getString(2131362540), new Object[] { RealNameStep1InputNameIdActivity.access$1600(this.a).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a).getText().toString() }), 0, new xr(this), new xs(this)); + return; + } + this.a.dismiss(); + RealNameStep1InputNameIdActivity.access$3100(this.a); + RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit().putBoolean("key_zzb_refused_firsttime", true).commit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xr.java new file mode 100755 index 00000000000..4745fc0f4b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xr.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.global.RqdApplication; + +final class xr + implements View.OnClickListener +{ + xr(xq paramxq) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + RealNameStep1InputNameIdActivity.access$3100(this.a.a); + RealNameStep1InputNameIdActivity.access$2802(this.a.a, true); + RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit().putBoolean("key_zzb_refused_firsttime", true).commit(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xs.java new file mode 100755 index 00000000000..b161717414a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xs.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class xs + implements View.OnClickListener +{ + xs(xq paramxq) {} + + public final void onClick(View paramView) + { + this.a.a.dismiss(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xt.java new file mode 100755 index 00000000000..7e9b5c49224 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xt.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.widget.EditText; +import com.tencent.token.af; +import com.tencent.token.utils.t; + +final class xt + implements Runnable +{ + xt(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void run() + { + RealNameStep1InputNameIdActivity.access$2402(this.a, t.a(RealNameStep1InputNameIdActivity.access$3200(this.a))); + RealNameStep1InputNameIdActivity.access$2602(this.a, t.a(RealNameStep1InputNameIdActivity.access$3300(this.a))); + af.a().a(0L, RealNameStep1InputNameIdActivity.access$1500(this.a), RealNameStep1InputNameIdActivity.access$000(this.a), RealNameStep1InputNameIdActivity.access$1600(this.a).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a).getText().toString(), RealNameStep1InputNameIdActivity.access$2300(this.a), RealNameStep1InputNameIdActivity.access$2500(this.a, RealNameStep1InputNameIdActivity.access$2400(this.a)), RealNameStep1InputNameIdActivity.access$2500(this.a, RealNameStep1InputNameIdActivity.access$2600(this.a)), RealNameStep1InputNameIdActivity.access$1800(this.a), RealNameStep1InputNameIdActivity.access$1900(this.a), RealNameStep1InputNameIdActivity.access$2000(this.a)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xu.java new file mode 100755 index 00000000000..05c0b198e11 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xu.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class xu + implements View.OnClickListener +{ + xu(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onClick(View paramView) + { + RealNameStep1InputNameIdActivity.access$300(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xv.java new file mode 100755 index 00000000000..060d6f99b83 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xv.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.res.Resources; +import android.os.Handler; +import android.os.HandlerThread; + +final class xv + implements DialogInterface.OnClickListener +{ + xv(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity, boolean paramBoolean) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (RealNameStep1InputNameIdActivity.access$2100(this.b) == null) + { + RealNameStep1InputNameIdActivity.access$2102(this.b, new HandlerThread("uploadphoto", 1)); + RealNameStep1InputNameIdActivity.access$2100(this.b).start(); + } + if (RealNameStep1InputNameIdActivity.access$2200(this.b) == null) { + RealNameStep1InputNameIdActivity.access$2202(this.b, new Handler(RealNameStep1InputNameIdActivity.access$2100(this.b).getLooper())); + } + RealNameStep1InputNameIdActivity.access$2200(this.b).post(new xw(this)); + if (this.a) + { + this.b.showProDialogWithoutShutDown(this.b, this.b.getResources().getString(2131361817)); + return; + } + RealNameStep1InputNameIdActivity.access$2700(this.b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xw.java new file mode 100755 index 00000000000..8bca0047ff7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xw.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.widget.EditText; +import com.tencent.token.af; + +final class xw + implements Runnable +{ + xw(xv paramxv) {} + + public final void run() + { + if (this.a.a) + { + af.a().a(0L, RealNameStep1InputNameIdActivity.access$1500(this.a.b), 3, RealNameStep1InputNameIdActivity.access$1600(this.a.b).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a.b).getText().toString(), null, null, null, RealNameStep1InputNameIdActivity.access$1800(this.a.b), RealNameStep1InputNameIdActivity.access$1900(this.a.b), RealNameStep1InputNameIdActivity.access$2000(this.a.b)); + return; + } + af.a().a(0L, RealNameStep1InputNameIdActivity.access$1500(this.a.b), RealNameStep1InputNameIdActivity.access$000(this.a.b), RealNameStep1InputNameIdActivity.access$1600(this.a.b).getText().toString(), RealNameStep1InputNameIdActivity.access$1700(this.a.b).getText().toString(), RealNameStep1InputNameIdActivity.access$2300(this.a.b), RealNameStep1InputNameIdActivity.access$2500(this.a.b, RealNameStep1InputNameIdActivity.access$2400(this.a.b)), RealNameStep1InputNameIdActivity.access$2500(this.a.b, RealNameStep1InputNameIdActivity.access$2600(this.a.b)), RealNameStep1InputNameIdActivity.access$1800(this.a.b), RealNameStep1InputNameIdActivity.access$1900(this.a.b), RealNameStep1InputNameIdActivity.access$2000(this.a.b)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xx.java new file mode 100755 index 00000000000..9d3f43e6636 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xx.java @@ -0,0 +1,30 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; + +final class xx + implements DialogInterface.OnClickListener +{ + xx(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity, boolean paramBoolean) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + if (this.a) + { + paramDialogInterface = new Intent(this.b, IndexActivity.class); + paramDialogInterface.addFlags(67108864); + this.b.startActivity(paramDialogInterface); + this.b.finish(); + return; + } + this.b.dismissDialog(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xy.java new file mode 100755 index 00000000000..cf2a904c475 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xy.java @@ -0,0 +1,44 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.view.View; +import android.widget.TextView; +import com.tencent.token.utils.s; + +final class xy + extends BroadcastReceiver +{ + xy(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if ("android.net.conn.CONNECTIVITY_CHANGE".equals(paramIntent.getAction())) + { + paramContext = (TextView)this.a.findViewById(2131296784); + if (paramContext != null) { + break label30; + } + } + label30: + do + { + return; + paramContext.setText(2131362643); + } while (RealNameStep1InputNameIdActivity.access$800(this.a) == null); + if (!s.a()) + { + RealNameStep1InputNameIdActivity.access$800(this.a).setVisibility(0); + RealNameStep1InputNameIdActivity.access$800(this.a).findViewById(2131296785).setOnClickListener(new xz(this)); + return; + } + RealNameStep1InputNameIdActivity.access$800(this.a).setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/xz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/xz.java new file mode 100755 index 00000000000..0abdae0c5c9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/xz.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class xz + implements View.OnClickListener +{ + xz(xy paramxy) {} + + public final void onClick(View paramView) + { + RealNameStep1InputNameIdActivity.access$800(this.a.a).setVisibility(8); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.xz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/y.java b/com.tencent.token/classes.jar/com/tencent/token/ui/y.java new file mode 100755 index 00000000000..201a1217441 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/y.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; + +final class y + implements View.OnClickListener +{ + y(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + if (ax.a().e() == null) { + this.a.showNoAccountTipDialog(this.a, 19, 0); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ya.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ya.java new file mode 100755 index 00000000000..d51ba4399b8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ya.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.text.TextWatcher; + +final class ya + implements TextWatcher +{ + ya(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void afterTextChanged(Editable paramEditable) {} + + public final void beforeTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) {} + + public final void onTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) + { + RealNameStep1InputNameIdActivity.access$2802(this.a, false); + RealNameStep1InputNameIdActivity.access$1000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ya + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yb.java new file mode 100755 index 00000000000..66c9ba0a876 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yb.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.text.Editable; +import android.text.TextWatcher; + +final class yb + implements TextWatcher +{ + yb(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void afterTextChanged(Editable paramEditable) {} + + public final void beforeTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) {} + + public final void onTextChanged(CharSequence paramCharSequence, int paramInt1, int paramInt2, int paramInt3) + { + RealNameStep1InputNameIdActivity.access$2802(this.a, false); + RealNameStep1InputNameIdActivity.access$502(this.a, false); + RealNameStep1InputNameIdActivity.access$1000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yc.java new file mode 100755 index 00000000000..1fd9760773b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yc.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnFocusChangeListener; + +final class yc + implements View.OnFocusChangeListener +{ + yc(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final void onFocusChange(View paramView, boolean paramBoolean) + { + RealNameStep1InputNameIdActivity.access$2900(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yd.java new file mode 100755 index 00000000000..182b5c60a5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yd.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.view.KeyEvent; +import android.widget.TextView; +import android.widget.TextView.OnEditorActionListener; + +final class yd + implements TextView.OnEditorActionListener +{ + yd(RealNameStep1InputNameIdActivity paramRealNameStep1InputNameIdActivity) {} + + public final boolean onEditorAction(TextView paramTextView, int paramInt, KeyEvent paramKeyEvent) + { + if (paramInt == 6) + { + if (!RealNameStep1InputNameIdActivity.access$500(this.a)) { + RealNameStep1InputNameIdActivity.access$2900(this.a); + } + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ye.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ye.java new file mode 100755 index 00000000000..9f6b1e1977e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ye.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ye + implements View.OnClickListener +{ + ye(RealNameTakeIDPhotoActivity paramRealNameTakeIDPhotoActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ye + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yf.java new file mode 100755 index 00000000000..fc238cdf36c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yf.java @@ -0,0 +1,71 @@ +package com.tencent.token.ui; + +import android.view.View.OnClickListener; + +final class yf + implements View.OnClickListener +{ + yf(RealNameTakeIDPhotoActivity paramRealNameTakeIDPhotoActivity) {} + + /* Error */ + public final void onClick(android.view.View paramView) + { + // Byte code: + // 0: aload_0 + // 1: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 4: invokestatic 26 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$000 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;)Z + // 7: ifne +4 -> 11 + // 10: return + // 11: aload_0 + // 12: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 15: iconst_0 + // 16: invokestatic 30 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$002 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;Z)Z + // 19: pop + // 20: aload_0 + // 21: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 24: invokestatic 34 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$500 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;)Lcom/tencent/token/ui/RealNameTakeIDPhotoPreview; + // 27: getfield 39 com/tencent/token/ui/RealNameTakeIDPhotoPreview:a Landroid/hardware/Camera; + // 30: aconst_null + // 31: aconst_null + // 32: new 41 com/tencent/token/ui/yg + // 35: dup + // 36: aload_0 + // 37: invokespecial 44 com/tencent/token/ui/yg: (Lcom/tencent/token/ui/yf;)V + // 40: invokevirtual 50 android/hardware/Camera:takePicture (Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V + // 43: aload_0 + // 44: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 47: iconst_1 + // 48: invokestatic 30 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$002 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;Z)Z + // 51: pop + // 52: return + // 53: astore_1 + // 54: aload_0 + // 55: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 58: iconst_1 + // 59: invokestatic 30 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$002 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;Z)Z + // 62: pop + // 63: return + // 64: astore_1 + // 65: aload_0 + // 66: getfield 12 com/tencent/token/ui/yf:a Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity; + // 69: iconst_1 + // 70: invokestatic 30 com/tencent/token/ui/RealNameTakeIDPhotoActivity:access$002 (Lcom/tencent/token/ui/RealNameTakeIDPhotoActivity;Z)Z + // 73: pop + // 74: aload_1 + // 75: athrow + // Local variable table: + // start length slot name signature + // 0 76 0 this yf + // 0 76 1 paramView android.view.View + // Exception table: + // from to target type + // 11 43 53 java/lang/Exception + // 11 43 64 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yg.java new file mode 100755 index 00000000000..aebd459eba6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yg.java @@ -0,0 +1,49 @@ +package com.tencent.token.ui; + +import android.hardware.Camera; +import android.hardware.Camera.PictureCallback; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.e; +import com.tencent.token.utils.i; + +final class yg + implements Camera.PictureCallback +{ + yg(yf paramyf) {} + + public final void onPictureTaken(byte[] paramArrayOfByte, Camera paramCamera) + { + Message localMessage; + if (RealNameTakeIDPhotoActivity.access$100(this.a.a) == 1) + { + RealNameTakeIDPhotoActivity.access$202(this.a.a, i.a(paramArrayOfByte, "frontdata")); + localMessage = RealNameTakeIDPhotoActivity.access$300(this.a.a).obtainMessage(0); + localMessage.what = 1; + localMessage.obj = RealNameTakeIDPhotoActivity.access$200(this.a.a); + localMessage.arg1 = 1; + localMessage.sendToTarget(); + } + for (;;) + { + e.a("take id photo data=" + paramArrayOfByte.length); + paramCamera.stopPreview(); + return; + if (RealNameTakeIDPhotoActivity.access$100(this.a.a) == 2) + { + RealNameTakeIDPhotoActivity.access$402(this.a.a, i.a(paramArrayOfByte, "backdata")); + localMessage = RealNameTakeIDPhotoActivity.access$300(this.a.a).obtainMessage(0); + localMessage.what = 1; + localMessage.obj = RealNameTakeIDPhotoActivity.access$400(this.a.a); + localMessage.arg1 = 2; + localMessage.sendToTarget(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yh.java new file mode 100755 index 00000000000..1480cfb2677 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yh.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class yh + implements Animation.AnimationListener +{ + yh(RealNameTakeIDPhotoActivity paramRealNameTakeIDPhotoActivity) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + RealNameTakeIDPhotoActivity.access$300(this.a).sendEmptyMessage(4); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yi.java new file mode 100755 index 00000000000..103120bde5e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yi.java @@ -0,0 +1,75 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.hardware.Camera; +import android.os.Message; +import android.view.animation.Animation; +import android.widget.ImageView; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.cu; + +final class yi + extends bo +{ + yi(RealNameTakeIDPhotoActivity paramRealNameTakeIDPhotoActivity) + { + super(paramRealNameTakeIDPhotoActivity); + } + + public final void handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + do + { + do + { + do + { + return; + Intent localIntent = new Intent(this.a, TakeIDPhotoComfirmActivity.class); + localIntent.putExtra("data", (String)paramMessage.obj); + localIntent.putExtra("flag", paramMessage.arg1); + localIntent.putExtra("scene", RealNameTakeIDPhotoActivity.access$600(this.a)); + this.a.startActivityForResult(localIntent, 300); + e.a("startActivity msg.arg1=" + paramMessage.arg1 + "msg.what=" + paramMessage.what); + return; + this.a.showToast(2131362118); + this.a.finish(); + return; + } while (RealNameTakeIDPhotoActivity.access$500(this.a) == null); + paramMessage = RealNameTakeIDPhotoActivity.access$500(this.a); + } while (paramMessage.a == null); + try + { + paramMessage.a.autoFocus(paramMessage); + return; + } + catch (RuntimeException paramMessage) + { + paramMessage.printStackTrace(); + e.d("camera auto focus " + paramMessage.toString()); + return; + } + catch (Exception paramMessage) + { + paramMessage.printStackTrace(); + e.d("camera auto focus " + paramMessage.toString()); + return; + } + } while ((RealNameTakeIDPhotoActivity.access$100(this.a) != 2) || (RealNameTakeIDPhotoActivity.access$700(this.a) == null)); + RealNameTakeIDPhotoActivity.access$700(this.a).setImageResource(2130837821); + paramMessage = new cu(270.0F, 360.0F, this.a.width / 2, this.a.height / 2, false); + paramMessage.setDuration(400L); + paramMessage.setFillAfter(true); + paramMessage.setAnimationListener(new yj(this)); + RealNameTakeIDPhotoActivity.access$700(this.a).startAnimation(paramMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yj.java new file mode 100755 index 00000000000..5f31197e28f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yj.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; + +final class yj + implements Animation.AnimationListener +{ + yj(yi paramyi) {} + + public final void onAnimationEnd(Animation paramAnimation) + { + RealNameTakeIDPhotoActivity.access$002(this.a.a, true); + } + + public final void onAnimationRepeat(Animation paramAnimation) {} + + public final void onAnimationStart(Animation paramAnimation) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yk.java new file mode 100755 index 00000000000..284b68dfe63 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yk.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.os.Handler; +import android.os.Message; +import java.util.TimerTask; + +final class yk + extends TimerTask +{ + yk(RealNameTakeIDPhotoPreview paramRealNameTakeIDPhotoPreview) {} + + public final void run() + { + Message localMessage = RealNameTakeIDPhotoPreview.a(this.a).obtainMessage(0); + localMessage.what = 3; + localMessage.sendToTarget(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yl.java new file mode 100755 index 00000000000..55330dccb88 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yl.java @@ -0,0 +1,170 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.WtloginCaptchaDialog; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class yl + extends bo +{ + yl(ScanLoginAccountListActivity paramScanLoginAccountListActivity) + { + super(paramScanLoginAccountListActivity); + } + + public final void handleMessage(Message paramMessage) + { + Object localObject; + int i; + switch (paramMessage.what) + { + default: + case 1006: + case 1019: + case 4097: + byte[] arrayOfByte; + Handler localHandler; + do + { + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = new Intent(this.a, UnbindUinActivity.class); + localObject = new Bundle(); + ((Bundle)localObject).putLong("hash_uin", ScanLoginAccountListActivity.access$000(this.a).mUin); + ((Bundle)localObject).putLong("real_uin", ScanLoginAccountListActivity.access$000(this.a).mRealUin); + paramMessage.putExtra("com.tencent.real_uin", (Bundle)localObject); + this.a.startActivity(paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361907, paramMessage.c, 2131361800, null); + return; + paramMessage = ScanLoginAccountListActivity.access$400(this.a); + localObject = ScanLoginAccountListActivity.access$100(this.a); + arrayOfByte = ScanLoginAccountListActivity.access$200(this.a); + localHandler = ScanLoginAccountListActivity.access$300(this.a); + s.j(); + paramMessage.b((String)localObject, arrayOfByte, localHandler); + return; + i = paramMessage.arg1; + if (i != 2) { + break; + } + } while (this.a.isFinishing()); + new WtloginCaptchaDialog(this.a, ScanLoginAccountListActivity.access$300(this.a), ScanLoginAccountListActivity.access$100(this.a)).show(); + return; + if (i == 0) + { + e.b("getstwithoutpasswd:succ"); + paramMessage = ScanLoginAccountListActivity.access$400(this.a); + localObject = ScanLoginAccountListActivity.access$100(this.a); + arrayOfByte = ScanLoginAccountListActivity.access$200(this.a); + localHandler = ScanLoginAccountListActivity.access$300(this.a); + s.j(); + paramMessage.b((String)localObject, arrayOfByte, localHandler); + return; + } + if (i == -1000) { + this.a.showToast(2131361943); + } + for (;;) + { + this.a.dismissDialog(); + return; + if (i == 8192) + { + this.a.showToast(2131362089); + } + else if ((i == 15) || (i == 1) || (i == 16)) + { + this.a.showToast(2131362068); + paramMessage = new Intent(this.a, WtLoginAccountInput.class); + paramMessage.putExtra("qquin", ScanLoginAccountListActivity.access$100(this.a)); + paramMessage.putExtra("scancode", ScanLoginAccountListActivity.access$200(this.a)); + paramMessage.putExtra("wtlogin_appid", 523005419L); + paramMessage.putExtra("page_id", 6); + this.a.startActivity(paramMessage); + this.a.finish(); + } + else if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + } + else + { + this.a.showToast(2131362091); + } + } + case 4101: + this.a.dismissDialog(); + i = paramMessage.arg1; + e.b("verify code,ret=" + i); + if (i == 0) + { + localObject = new Intent(this.a, ScanLoginConfirmLoginActivity.class); + ((Intent)localObject).putExtra("qquin", ScanLoginAccountListActivity.access$100(this.a)); + ((Intent)localObject).putExtra("scancode", ScanLoginAccountListActivity.access$200(this.a)); + ((Intent)localObject).putExtras(paramMessage.getData()); + this.a.startActivity((Intent)localObject); + } + for (;;) + { + this.a.finish(); + return; + if (i == 48) + { + this.a.showToast(2131362068); + paramMessage = new Intent(this.a, WtLoginAccountInput.class); + paramMessage.putExtra("qquin", ScanLoginAccountListActivity.access$100(this.a)); + paramMessage.putExtra("scancode", ScanLoginAccountListActivity.access$200(this.a)); + paramMessage.putExtra("wtlogin_appid", 523005419L); + paramMessage.putExtra("page_id", 6); + this.a.startActivity(paramMessage); + this.a.finish(); + } + else if (i == -1000) + { + this.a.showToast(2131361943); + } + else if (i == 8192) + { + this.a.showToast(2131362089); + } + else if ((paramMessage.getData() != null) && (paramMessage.getData().getByteArray("scanerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + new String(paramMessage.getData().getByteArray("scanerror"))); + } + else + { + this.a.showToast(2131362084); + } + } + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ym.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ym.java new file mode 100755 index 00000000000..52a6675610e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ym.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.x; + +final class ym + implements View.OnClickListener +{ + ym(ScanLoginAccountListActivity paramScanLoginAccountListActivity) {} + + public final void onClick(View paramView) + { + paramView = (QQUser)paramView.getTag(); + ScanLoginAccountListActivity.access$102(this.a, "" + paramView.mRealUin); + if (ScanLoginAccountListActivity.access$400(this.a).b(ScanLoginAccountListActivity.access$100(this.a), 523005419L)) + { + paramView = new Intent(this.a, WtLoginAccountInput.class); + paramView.putExtra("page_id", 6); + paramView.putExtra("qquin", ScanLoginAccountListActivity.access$100(this.a)); + paramView.putExtra("wtlogin_appid", 523005419L); + paramView.putExtra("scancode", ScanLoginAccountListActivity.access$200(this.a)); + this.a.startActivity(paramView); + this.a.finish(); + return; + } + ScanLoginAccountListActivity.access$400(this.a).a(ScanLoginAccountListActivity.access$100(this.a), ScanLoginAccountListActivity.access$300(this.a), 523005419L); + this.a.showUserDialog(11); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ym + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yn.java new file mode 100755 index 00000000000..7ccd826e7d8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yn.java @@ -0,0 +1,37 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.e; + +final class yn + implements View.OnClickListener +{ + yn(ScanLoginAccountListActivity paramScanLoginAccountListActivity) {} + + public final void onClick(View paramView) + { + paramView = (QQUser)paramView.getTag(); + if (paramView == null) { + return; + } + if (!paramView.mIsBinded) + { + this.a.showUserDialog(2131361808, this.a.getString(2131361912), 2131361800, 2131361804, new yo(this, paramView), null); + return; + } + ScanLoginAccountListActivity.access$002(this.a, paramView); + long l = ScanLoginAccountListActivity.access$000(this.a).mUin; + e.b("unbind uin: " + l); + af.a().g(l, ScanLoginAccountListActivity.access$300(this.a)); + this.a.showProDialog(this.a, 2131361808, 2131361905, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yo.java new file mode 100755 index 00000000000..2f470ca58e8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yo.java @@ -0,0 +1,52 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.bb; +import com.tencent.token.bd; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.fo; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class yo + implements DialogInterface.OnClickListener +{ + yo(yn paramyn, QQUser paramQQUser) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + try + { + x.a(RqdApplication.i()).a(this.a.mRealUin + "", 523005419L); + x.a(RqdApplication.i()).a(this.a.mRealUin + "", 523005425L); + af.a().h(this.a.mRealUin, ScanLoginAccountListActivity.access$300(this.b.a)); + ax.a().b(this.a); + ax.a().n(); + bd.a().f.a(s.f(this.a.mUin)); + bb.a().f.a(s.f(this.a.mUin)); + bd.a().f.a(s.f(this.a.mRealUin)); + bb.a().f.a(s.f(this.a.mRealUin)); + ScanLoginAccountListActivity.access$500(this.b.a).notifyDataSetChanged(); + return; + } + catch (Exception paramDialogInterface) + { + for (;;) + { + e.c("clearUserLoginDataSync exception: " + paramDialogInterface.getMessage()); + paramDialogInterface.printStackTrace(); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yp.java new file mode 100755 index 00000000000..935bd092128 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yp.java @@ -0,0 +1,28 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class yp + implements View.OnClickListener +{ + yp(ScanLoginAccountListActivity paramScanLoginAccountListActivity) {} + + public final void onClick(View paramView) + { + paramView = ScanLoginAccountListActivity.access$500(this.a); + if (!ScanLoginAccountListActivity.access$500(this.a).a()) {} + for (boolean bool = true;; bool = false) + { + paramView.a(bool); + ScanLoginAccountListActivity.access$600(this.a); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yq.java new file mode 100755 index 00000000000..ce9e64ea6ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yq.java @@ -0,0 +1,131 @@ +package com.tencent.token.ui; + +import android.view.InflateException; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.utils.k; +import com.tencent.token.utils.s; + +final class yq + extends BaseAdapter +{ + ScanLoginAccountListActivity a; + private LayoutInflater b; + private boolean c; + private View.OnClickListener d = new yr(this); + + public yq(ScanLoginAccountListActivity paramScanLoginAccountListActivity) + { + this.a = paramScanLoginAccountListActivity; + this.b = LayoutInflater.from(this.a); + } + + public final void a(boolean paramBoolean) + { + if (paramBoolean != this.c) + { + this.c = paramBoolean; + notifyDataSetChanged(); + } + } + + public final boolean a() + { + return this.c; + } + + public final int getCount() + { + int i = ax.a().d(); + if (i >= 3) { + return 3; + } + return i + 1; + } + + public final Object getItem(int paramInt) + { + return Integer.valueOf(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + int i = ax.a().d(); + if ((paramInt != 0) || (i == 0)) {} + try + { + paramViewGroup = this.b.inflate(2130903184, paramViewGroup, false); + paramViewGroup.findViewById(2131296788).setVisibility(0); + paramViewGroup.setOnClickListener(this.d); + return paramViewGroup; + } + catch (InflateException paramViewGroup) + { + ImageView localImageView1; + TextView localTextView1; + paramViewGroup.printStackTrace(); + return paramView; + } + paramViewGroup = this.b.inflate(2130903186, paramViewGroup, false); + paramView = paramViewGroup; + paramViewGroup = ax.a().a(paramInt); + if (paramViewGroup != null) + { + localImageView1 = (ImageView)paramView.findViewById(2131297018); + localTextView1 = (TextView)paramView.findViewById(2131297019); + TextView localTextView2 = (TextView)paramView.findViewById(2131297020); + ImageView localImageView2 = (ImageView)paramView.findViewById(2131297022); + ImageView localImageView3 = (ImageView)paramView.findViewById(2131297021); + localTextView1.setText(paramViewGroup.mNickName); + if ((paramViewGroup.mUinMask != null) && (paramViewGroup.mUinMask.length() > 0)) { + localTextView2.setText(paramViewGroup.mUinMask); + } + for (;;) + { + localImageView1.setImageDrawable(k.a(paramViewGroup.mRealUin + "", paramViewGroup.mUin + "")); + if (!this.c) { + break label323; + } + localImageView3.setVisibility(0); + localImageView2.setVisibility(4); + localImageView3.setTag(paramViewGroup); + localImageView3.setOnClickListener(this.a.mDeleteListener); + return paramView; + if (paramInt < i) + { + paramViewGroup = this.b.inflate(2130903185, paramViewGroup, false); + paramView = paramViewGroup; + break; + } + paramViewGroup = this.b.inflate(2130903184, paramViewGroup, false); + paramViewGroup.setOnClickListener(this.d); + return paramViewGroup; + localTextView2.setText(s.e(paramViewGroup.mRealUin)); + } + label323: + localImageView2.setVisibility(0); + localImageView3.setVisibility(4); + paramView.setTag(paramViewGroup); + paramView.setOnClickListener(this.a.mLoginListener); + } + return paramView; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yr.java new file mode 100755 index 00000000000..6cdf544d7d3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yr.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class yr + implements View.OnClickListener +{ + yr(yq paramyq) {} + + public final void onClick(View paramView) + { + this.a.a.addUser(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ys.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ys.java new file mode 100755 index 00000000000..47dd018f18b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ys.java @@ -0,0 +1,38 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.x; + +final class ys + implements View.OnClickListener +{ + ys(ScanLoginBindActivity paramScanLoginBindActivity) {} + + public final void onClick(View paramView) + { + paramView = ax.a().e(); + if (paramView == null) { + return; + } + paramView = "" + paramView.mRealUin; + x localx = x.a(RqdApplication.i()); + if (!localx.b(paramView, 523005425L)) + { + localx.a(paramView, this.a.mHandler, 523005425L); + this.a.showProDialog(this.a, 2131361808, 2131361817, null); + return; + } + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new yt(this)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ys + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yt.java new file mode 100755 index 00000000000..d61ae64e76e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yt.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class yt + implements DialogInterface.OnClickListener +{ + yt(ys paramys) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ScanLoginBindActivity.access$000(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yu.java new file mode 100755 index 00000000000..b67ecf01aa9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yu.java @@ -0,0 +1,122 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.WtloginCaptchaDialog; + +final class yu + extends bo +{ + yu(ScanLoginBindActivity paramScanLoginBindActivity) + { + super(paramScanLoginBindActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + QQUser localQQUser; + int i; + do + { + do + { + return; + localQQUser = ax.a().e(); + } while (localQQUser == null); + i = paramMessage.arg1; + switch (paramMessage.what) + { + default: + return; + case 1019: + paramMessage = (byte[])paramMessage.obj; + } + } while (paramMessage == null); + ScanLoginBindActivity.access$202(this.a, paramMessage); + af.a().a(localQQUser.mRealUin, paramMessage, this.a.mHandler, 2); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (UpgradeDeterminResult)paramMessage.obj; + ScanLoginBindActivity.access$100(this.a, paramMessage); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361800, null); + return; + byte[] arrayOfByte = (byte[])paramMessage.obj; + ScanLoginBindActivity.access$202(this.a, arrayOfByte); + if ((i == 0) && (arrayOfByte != null)) + { + af.a().a(localQQUser.mRealUin, arrayOfByte, this.a.mHandler, 2); + return; + } + if (i == 2) + { + new WtloginCaptchaDialog(this.a, this.a.mHandler, Long.toString(localQQUser.mRealUin)).show(); + return; + } + if (i == -1000) + { + this.a.dismissDialog(); + this.a.showToast(2131361943); + return; + } + if (i == 8192) + { + this.a.dismissDialog(); + this.a.showToast(2131362089); + return; + } + if ((i == 1) || (i == 15) || (i == 16)) + { + this.a.dismissDialog(); + this.a.showUserDialog(2131362364, this.a.getResources().getString(2131362365), 2131361800, new yv(this)); + return; + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("loginerror") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("loginerror")); + return; + } + this.a.showToast(2131362091); + return; + if (i == 0) + { + af.a().a(localQQUser.mRealUin, ScanLoginBindActivity.access$200(this.a), this.a.mHandler); + return; + } + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showToast(paramMessage.c); + return; + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + this.a.showToast(this.a.getResources().getString(2131362091) + ":" + paramMessage.getData().getString("exception")); + return; + } + this.a.showToast(2131362091); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yv.java new file mode 100755 index 00000000000..226c2237c13 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yv.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; + +final class yv + implements DialogInterface.OnClickListener +{ + yv(yu paramyu) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + ScanLoginBindActivity.access$000(this.a.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yw.java new file mode 100755 index 00000000000..f0c862ff9ed --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yw.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class yw + implements View.OnClickListener +{ + yw(ScanLoginBindActivity paramScanLoginBindActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, IndexActivity.class); + paramView.putExtra("index_from", 22); + this.a.startActivity(paramView); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yx.java new file mode 100755 index 00000000000..946af9aa488 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yx.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class yx + implements View.OnClickListener +{ + yx(ScanLoginBindActivity paramScanLoginBindActivity, QQUser paramQQUser, UpgradeDeterminResult paramUpgradeDeterminResult) {} + + public final void onClick(View paramView) + { + af.a().c(this.a.mRealUin, this.b.a(), "", "", this.c.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yy.java new file mode 100755 index 00000000000..0f532d79479 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yy.java @@ -0,0 +1,80 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult; + +final class yy + implements View.OnClickListener +{ + yy(ScanLoginBindActivity paramScanLoginBindActivity, UpgradeDeterminResult paramUpgradeDeterminResult, QQUser paramQQUser) {} + + public final void onClick(View paramView) + { + int j = 1; + int i; + if (this.a.mMobileAppear == 1) + { + i = 1; + if (i == 0) { + break label78; + } + paramView = new Intent(this.c, NetActiveVryMobileNoSmsActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + } + label188: + label193: + label196: + for (;;) + { + return; + i = 0; + break; + label78: + if (this.a.mQqtokenAppear == 1) + { + i = 1; + if (i == 0) + { + if (this.a.mQuesAppear != 1) { + break label188; + } + i = 1; + label108: + if (i == 0) { + if (this.a.mHaveMobile != 1) { + break label193; + } + } + } + } + for (i = j;; i = 0) + { + if (i == 0) { + break label196; + } + paramView = new Intent(this.c, NetActiveVryOtherListActivity.class); + paramView.putExtra("intent.qquser", this.b); + paramView.putExtra("page_id", 7); + paramView.putExtra("intent.upgradedetermin", this.a); + this.c.startActivity(paramView); + return; + i = 0; + break; + i = 0; + break label108; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/yz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/yz.java new file mode 100755 index 00000000000..dbd495e2d65 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/yz.java @@ -0,0 +1,136 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Message; +import android.widget.Toast; +import com.tencent.token.ax; +import com.tencent.token.az; +import com.tencent.token.core.gamelogin.GameLoginService; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.r; +import com.tencent.token.utils.s; +import com.tencent.token.x; + +final class yz + extends bo +{ + yz(ScanLoginConfirmLoginActivity paramScanLoginConfirmLoginActivity) + { + super(paramScanLoginConfirmLoginActivity); + } + + public final void handleMessage(Message paramMessage) + { + int i = 1; + switch (paramMessage.what) + { + default: + return; + case 4102: + this.a.dismissDialog(); + i = paramMessage.arg1; + if (i == 0) + { + paramMessage = ax.a().c(ScanLoginConfirmLoginActivity.access$000(this.a)); + Object localObject = r.a(RqdApplication.i()); + if (((r)localObject).a()) + { + ((r)localObject).a(ScanLoginConfirmLoginActivity.access$000(this.a), ScanLoginConfirmLoginActivity.access$100(this.a).c(), ScanLoginConfirmLoginActivity.access$100(this.a).d()); + if (!s.f()) + { + localObject = new Intent(this.a, GameLoginService.class); + this.a.startService((Intent)localObject); + } + if (paramMessage.e == 1) + { + paramMessage = new Intent(this.a, ScanLoginSuccActivity.class); + this.a.startActivity(paramMessage); + } + } + } + for (;;) + { + e.b("on closecode:" + i); + this.a.finish(); + return; + paramMessage = new Intent(this.a, ScanLoginBindActivity.class); + paramMessage.putExtra("qquin", ScanLoginConfirmLoginActivity.access$000(this.a)); + this.a.startActivity(paramMessage); + continue; + s.h(); + if (paramMessage.e == 1) + { + if ((paramMessage.c) || (paramMessage.d)) { + Toast.makeText(RqdApplication.i(), 2131362085, 0).show(); + } else { + Toast.makeText(RqdApplication.i(), 2131362071, 0).show(); + } + } + else + { + paramMessage = new Intent(this.a, ScanLoginBindActivity.class); + paramMessage.putExtra("qquin", ScanLoginConfirmLoginActivity.access$000(this.a)); + this.a.startActivity(paramMessage); + continue; + if (i == -1000) { + Toast.makeText(RqdApplication.i(), 2131361943, 0).show(); + } else if (i == 8192) { + Toast.makeText(RqdApplication.i(), 2131362089, 0).show(); + } else if ((paramMessage.getData() != null) && (paramMessage.getData().getByteArray("scanerror") != null)) { + Toast.makeText(RqdApplication.i(), "登录失败:" + new String(paramMessage.getData().getByteArray("scanerror")), 0).show(); + } else { + Toast.makeText(RqdApplication.i(), 2131362084, 0).show(); + } + } + } + case 4103: + if (paramMessage.arg1 == 0) + { + paramMessage = ax.a().c(ScanLoginConfirmLoginActivity.access$000(this.a)); + if (paramMessage != null) + { + if ((paramMessage.d) || (paramMessage.c)) + { + paramMessage = paramMessage.b.getBytes(); + ScanLoginConfirmLoginActivity.access$100(this.a).a(ScanLoginConfirmLoginActivity.access$000(this.a), ScanLoginConfirmLoginActivity.access$200(this.a), paramMessage, s.j(), ScanLoginConfirmLoginActivity.access$300(this.a)); + return; + } + ScanLoginConfirmLoginActivity.access$100(this.a).a(ScanLoginConfirmLoginActivity.access$000(this.a), ScanLoginConfirmLoginActivity.access$200(this.a), null, s.j(), ScanLoginConfirmLoginActivity.access$300(this.a)); + return; + } + Toast.makeText(RqdApplication.i(), 2131362087, 0).show(); + } + for (;;) + { + this.a.dismissDialog(); + this.a.finish(); + return; + switch (paramMessage.arg1) + { + default: + i = 0; + } + if (i != 0) { + Toast.makeText(RqdApplication.i(), 2131361943, 0).show(); + } else { + Toast.makeText(RqdApplication.i(), 2131362083, 0).show(); + } + } + } + this.a.dismissDialog(); + if ((paramMessage.getData() != null) && (paramMessage.getData().getString("exception") != null)) + { + Toast.makeText(RqdApplication.i(), "登录失败:" + paramMessage.getData().getString("exception"), 0).show(); + return; + } + Toast.makeText(RqdApplication.i(), "登录失败", 0).show(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.yz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/z.java b/com.tencent.token/classes.jar/com/tencent/token/ui/z.java new file mode 100755 index 00000000000..9ae05392f2b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/z.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class z + implements View.OnClickListener +{ + z(AccountPageActivity paramAccountPageActivity) {} + + public final void onClick(View paramView) + { + paramView = (Integer)paramView.getTag(); + if (paramView == null) {} + while ((paramView.intValue() != 3004) && (paramView.intValue() != 3003)) { + return; + } + AccountPageActivity.access$100(this.a, null, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/za.java b/com.tencent.token/classes.jar/com/tencent/token/ui/za.java new file mode 100755 index 00000000000..e6ac66e2d76 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/za.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class za + implements View.OnClickListener +{ + za(ScanLoginConfirmLoginActivity paramScanLoginConfirmLoginActivity) {} + + public final void onClick(View paramView) + { + new zb(this).a(new String[0]); + this.a.showUserDialog(11); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.za + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zb.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zb.java new file mode 100755 index 00000000000..6a25831e077 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zb.java @@ -0,0 +1,15 @@ +package com.tencent.token.ui; + +import com.tencent.token.utils.UserTask; + +final class zb + extends UserTask +{ + zb(za paramza) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zc.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zc.java new file mode 100755 index 00000000000..f70319bcaf1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zc.java @@ -0,0 +1,24 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Toast; +import com.tencent.token.global.RqdApplication; + +final class zc + implements View.OnClickListener +{ + zc(ScanLoginConfirmLoginActivity paramScanLoginConfirmLoginActivity) {} + + public final void onClick(View paramView) + { + Toast.makeText(RqdApplication.i(), 2131362072, 0).show(); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zd.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zd.java new file mode 100755 index 00000000000..f02d80b35f9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zd.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class zd + implements View.OnClickListener +{ + zd(ScanLoginSuccActivity paramScanLoginSuccActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/ze.java b/com.tencent.token/classes.jar/com/tencent/token/ui/ze.java new file mode 100755 index 00000000000..051c3b1e36e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/ze.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; + +final class ze + implements View.OnClickListener +{ + ze(SecurityReporterActivity paramSecurityReporterActivity) {} + + public final void onClick(View paramView) + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.ze + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zf.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zf.java new file mode 100755 index 00000000000..3673127420c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zf.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.bb; + +final class zf + implements Runnable +{ + zf(SecurityReporterActivity paramSecurityReporterActivity, bb parambb) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$000(this.b).getLeft(), SecurityReporterActivity.access$000(this.b).getTop(), SecurityReporterActivity.access$000(this.b).getRight(), SecurityReporterActivity.access$000(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zg.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zg.java new file mode 100755 index 00000000000..01520d5772d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zg.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.cj; + +final class zg + implements Runnable +{ + zg(SecurityReporterActivity paramSecurityReporterActivity, cj paramcj) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$100(this.b).getLeft(), SecurityReporterActivity.access$100(this.b).getTop(), SecurityReporterActivity.access$100(this.b).getRight(), SecurityReporterActivity.access$100(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zh.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zh.java new file mode 100755 index 00000000000..9433b89b7cd --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zh.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.ch; + +final class zh + implements Runnable +{ + zh(SecurityReporterActivity paramSecurityReporterActivity, ch paramch) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$200(this.b).getLeft(), SecurityReporterActivity.access$200(this.b).getTop(), SecurityReporterActivity.access$200(this.b).getRight(), SecurityReporterActivity.access$200(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zi.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zi.java new file mode 100755 index 00000000000..6eed84412c6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zi.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.ck; + +final class zi + implements Runnable +{ + zi(SecurityReporterActivity paramSecurityReporterActivity, ck paramck) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$300(this.b).getLeft(), SecurityReporterActivity.access$300(this.b).getTop(), SecurityReporterActivity.access$300(this.b).getRight(), SecurityReporterActivity.access$300(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zj.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zj.java new file mode 100755 index 00000000000..9fc694616b6 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zj.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.ce; + +final class zj + implements Runnable +{ + zj(SecurityReporterActivity paramSecurityReporterActivity, ce paramce) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$400(this.b).getLeft(), SecurityReporterActivity.access$400(this.b).getTop(), SecurityReporterActivity.access$400(this.b).getRight(), SecurityReporterActivity.access$400(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zk.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zk.java new file mode 100755 index 00000000000..38de7a906ca --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zk.java @@ -0,0 +1,21 @@ +package com.tencent.token.ui; + +import android.widget.ImageView; +import com.tencent.token.ui.base.ci; + +final class zk + implements Runnable +{ + zk(SecurityReporterActivity paramSecurityReporterActivity, ci paramci) {} + + public final void run() + { + this.a.setBounds(SecurityReporterActivity.access$500(this.b).getLeft(), SecurityReporterActivity.access$500(this.b).getTop(), SecurityReporterActivity.access$500(this.b).getRight(), SecurityReporterActivity.access$500(this.b).getBottom()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zl.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zl.java new file mode 100755 index 00000000000..f11df08253d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zl.java @@ -0,0 +1,41 @@ +package com.tencent.token.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.widget.ImageView; + +final class zl + extends BroadcastReceiver +{ + zl(SettingPageActivity paramSettingPageActivity) {} + + public final void onReceive(Context paramContext, Intent paramIntent) + { + if (paramIntent.getAction().equals("com.tencent.token.activity_flag")) + { + if (SettingPageActivity.mShowConfigNew) { + SettingPageActivity.access$000(this.a).setVisibility(0); + } + if (SettingPageActivity.mShowSafeNew) { + SettingPageActivity.access$100(this.a).setVisibility(0); + } + if (SettingPageActivity.mShowQRNew) { + SettingPageActivity.access$200(this.a).setVisibility(0); + } + if (SettingPageActivity.mShowQueryNew) { + SettingPageActivity.access$300(this.a).setVisibility(0); + } + if (SettingPageActivity.mShowUtilNew) { + SettingPageActivity.access$400(this.a).setVisibility(0); + } + SettingPageActivity.access$500(this.a); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zm.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zm.java new file mode 100755 index 00000000000..6732da2ddc9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zm.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui; + +import android.support.v4.view.PagerAdapter; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import java.util.ArrayList; + +final class zm + extends PagerAdapter +{ + zm(SettingPageActivity paramSettingPageActivity) {} + + public final void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) {} + + public final int getCount() + { + if (this.a.bannerlist == null) { + return 0; + } + return this.a.bannerlist.size(); + } + + public final Object instantiateItem(ViewGroup paramViewGroup, int paramInt) + { + if ((this.a.bannerlist == null) || (this.a.bannerlist.size() == 0)) { + return null; + } + ImageView localImageView = new ImageView(RqdApplication.i()); + com.tencent.token.utils.a locala = new com.tencent.token.utils.a(localImageView); + e.b(((com.tencent.token.core.bean.a)this.a.bannerlist.get(paramInt)).a); + locala.execute(new String[] { ((com.tencent.token.core.bean.a)this.a.bannerlist.get(paramInt)).a }); + localImageView.setTag(Integer.valueOf(paramInt)); + localImageView.setOnClickListener(new zn(this)); + paramViewGroup.addView(localImageView); + return localImageView; + } + + public final boolean isViewFromObject(View paramView, Object paramObject) + { + return paramView == paramObject; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zn.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zn.java new file mode 100755 index 00000000000..c5a71227923 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zn.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.a; +import com.tencent.token.utils.s; +import java.util.ArrayList; + +final class zn + implements View.OnClickListener +{ + zn(zm paramzm) {} + + public final void onClick(View paramView) + { + int i = ((Integer)paramView.getTag()).intValue(); + if (((a)this.a.a.bannerlist.get(i)).b.startsWith("qmtoken://face")) + { + paramView = ax.a().e(); + if (paramView == null) + { + this.a.a.showUserDialog(9); + return; + } + if (!paramView.mIsBinded) + { + this.a.a.showNoAccountTipDialog(this.a.a, 20, 1); + return; + } + if (ax.a().j()) + { + paramView = new Intent(this.a.a, FaceRecognitionDefaultActivity.class); + this.a.a.startActivity(paramView); + return; + } + paramView = new Intent(this.a.a, FaceRecognitionCreateActivity.class); + this.a.a.startActivity(paramView); + return; + } + s.a(this.a.a, ((a)this.a.a.bannerlist.get(i)).b); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zo.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zo.java new file mode 100755 index 00000000000..880a5909fb2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zo.java @@ -0,0 +1,29 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.os.SystemClock; +import android.view.View; +import android.view.View.OnClickListener; + +final class zo + implements View.OnClickListener +{ + zo(SettingPageActivity paramSettingPageActivity, long[] paramArrayOfLong) {} + + public final void onClick(View paramView) + { + System.arraycopy(this.a, 1, this.a, 0, this.a.length - 1); + this.a[(this.a.length - 1)] = SystemClock.uptimeMillis(); + if (this.a[0] >= SystemClock.uptimeMillis() - 500L) + { + paramView = new Intent(this.b, EnvirChangeListviewActivity.class); + this.b.startActivity(paramView); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zp.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zp.java new file mode 100755 index 00000000000..a11b17fb3e1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zp.java @@ -0,0 +1,110 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.ag; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QueryCaptchaResult; +import com.tencent.token.core.bean.ScanDataResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.CaptchaDialog; + +final class zp + extends bo +{ + zp(SettingPageActivity paramSettingPageActivity) + { + super(paramSettingPageActivity); + } + + public final void handleMessage(Message paramMessage) + { + if (this.a.isFinishing()) {} + SettingPageActivity localSettingPageActivity; + Handler localHandler; + do + { + do + { + return; + e.c("utils mbinfo: " + paramMessage.what); + switch (paramMessage.what) + { + default: + return; + case 3025: + if (paramMessage.arg1 != 0) { + break; + } + paramMessage = ag.c(); + paramMessage.i(); + paramMessage.n(); + af.a().h(this.a.mHandler); + return; + case 4000: + if (paramMessage.arg1 == 0) + { + af.a().f(0L, 3, this.a.mHandler); + return; + } + break; + } + } while (ax.a().e() == null); + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new zq(this)); + return; + if (paramMessage.arg1 != 0) { + break label344; + } + paramMessage = (QueryCaptchaResult)paramMessage.obj; + if (!paramMessage.mNeedCaptcha) { + break; + } + localSettingPageActivity = this.a; + localHandler = this.a.mHandler; + } while ((localSettingPageActivity == null) || (localSettingPageActivity.isFinishing())); + new CaptchaDialog(localSettingPageActivity, localHandler, paramMessage).show(); + return; + af.a().d(this.a.mHandler); + return; + label344: + paramMessage = (d)paramMessage.obj; + this.a.showUserDialog(paramMessage.c); + return; + paramMessage = (d)paramMessage.obj; + e.c("err " + paramMessage.a); + d.a(this.a.getResources(), paramMessage); + e.c("query up flow failed:" + paramMessage.a + "-" + paramMessage.b + "-" + paramMessage.c); + this.a.showUserDialog(2131361831, paramMessage.c, 2131361914, new zr(this)); + return; + this.a.dismissDialog(); + if (paramMessage.arg1 == 0) + { + paramMessage = (ScanDataResult)paramMessage.obj; + SettingPageActivity.access$600(this.a, paramMessage); + RqdApplication.i().getSharedPreferences("sp_name_global", 0).edit().putBoolean("key_settint_showutilnew", false).commit(); + SettingPageActivity.mShowUtilNew = false; + return; + } + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(2131361808, paramMessage.c, 2131361800, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zq.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zq.java new file mode 100755 index 00000000000..4a2fe30f4a5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zq.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class zq + implements DialogInterface.OnClickListener +{ + zq(zp paramzp) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zr.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zr.java new file mode 100755 index 00000000000..5015c2b4685 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zr.java @@ -0,0 +1,22 @@ +package com.tencent.token.ui; + +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.tencent.token.af; + +final class zr + implements DialogInterface.OnClickListener +{ + zr(zp paramzp) {} + + public final void onClick(DialogInterface paramDialogInterface, int paramInt) + { + af.a().a(this.a.a.mHandler); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zs.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zs.java new file mode 100755 index 00000000000..359a06ddcdb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zs.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; + +final class zs + implements View.OnClickListener +{ + zs(SettingPageActivity paramSettingPageActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, SettingPageActivity.access$700(this.a).mActivityUrl, RqdApplication.i().getResources().getString(2131362750)); + SettingPageActivity.mShowConfigNew = false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zt.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zt.java new file mode 100755 index 00000000000..23932a36a25 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zt.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.content.Context; +import android.content.res.Resources; +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.utils.s; + +final class zt + implements View.OnClickListener +{ + zt(SettingPageActivity paramSettingPageActivity) {} + + public final void onClick(View paramView) + { + s.a(this.a, SettingPageActivity.access$700(this.a).headlineurl, RqdApplication.i().getResources().getString(2131362749)); + SettingPageActivity.mShowSafeNew = false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zu.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zu.java new file mode 100755 index 00000000000..77ddd9e0dfb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zu.java @@ -0,0 +1,25 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class zu + implements View.OnClickListener +{ + zu(SettingPageActivity paramSettingPageActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a, VerifyStartScanActivity.class); + paramView.putExtra("source_from", 1); + this.a.startActivity(paramView); + SettingPageActivity.mShowQRNew = false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zv.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zv.java new file mode 100755 index 00000000000..d8b8bc0be81 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zv.java @@ -0,0 +1,26 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.core.bean.UtilFucntionItem; +import com.tencent.token.utils.s; + +final class zv + implements View.OnClickListener +{ + zv(SettingPageActivity paramSettingPageActivity, UtilFucntionItem paramUtilFucntionItem) {} + + public final void onClick(View paramView) + { + SettingPageActivity.mShowQueryNew = false; + if ((this.a.d() != null) && (!this.a.d().isEmpty())) { + s.b(this.b, this.a.d(), this.a.c()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zw.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zw.java new file mode 100755 index 00000000000..d171570c085 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zw.java @@ -0,0 +1,32 @@ +package com.tencent.token.ui; + +import android.view.View; +import android.view.View.OnClickListener; +import com.tencent.token.af; +import com.tencent.token.ag; + +final class zw + implements View.OnClickListener +{ + zw(SettingPageActivity paramSettingPageActivity) {} + + public final void onClick(View paramView) + { + this.a.showProDialog(this.a, 2131361808, 2131362203, null); + if (ag.c().g()) { + af.a().a(this.a.mHandler); + } + for (;;) + { + SettingPageActivity.mShowUtilNew = false; + return; + af.a().h(this.a.mHandler); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zx.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zx.java new file mode 100755 index 00000000000..9c4caed135f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zx.java @@ -0,0 +1,23 @@ +package com.tencent.token.ui; + +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.view.View; +import android.view.View.OnClickListener; + +final class zx + implements View.OnClickListener +{ + zx(SettingPageActivity paramSettingPageActivity) {} + + public final void onClick(View paramView) + { + LocalBroadcastManager.getInstance(this.a).sendBroadcast(new Intent("com.tencent.token.open_menu")); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zy.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zy.java new file mode 100755 index 00000000000..88732957147 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zy.java @@ -0,0 +1,27 @@ +package com.tencent.token.ui; + +import android.support.v4.view.ViewPager.OnPageChangeListener; +import android.widget.ImageView; + +final class zy + implements ViewPager.OnPageChangeListener +{ + zy(SettingPageActivity paramSettingPageActivity) {} + + public final void onPageScrollStateChanged(int paramInt) {} + + public final void onPageScrolled(int paramInt1, float paramFloat, int paramInt2) {} + + public final void onPageSelected(int paramInt) + { + SettingPageActivity.access$800(this.a)[SettingPageActivity.access$900(this.a)].setBackgroundResource(2130837541); + SettingPageActivity.access$902(this.a, paramInt); + SettingPageActivity.access$800(this.a)[paramInt].setBackgroundResource(2130837542); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zy + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/ui/zz.java b/com.tencent.token/classes.jar/com/tencent/token/ui/zz.java new file mode 100755 index 00000000000..a979b4eba35 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/ui/zz.java @@ -0,0 +1,51 @@ +package com.tencent.token.ui; + +import android.content.res.Resources; +import android.os.Message; +import com.tencent.token.af; +import com.tencent.token.global.d; + +final class zz + extends bo +{ + zz(SettingSubmitCommentActivity paramSettingSubmitCommentActivity) + { + super(paramSettingSubmitCommentActivity); + } + + public final void handleMessage(Message paramMessage) + { + if ((this.a == null) || (this.a.isFinishing())) { + return; + } + switch (paramMessage.what) + { + default: + return; + } + if (paramMessage.arg1 != 0) + { + if (paramMessage.arg1 == 101) + { + SettingSubmitCommentActivity.access$200(this.a).a(SettingSubmitCommentActivity.access$000(this.a), SettingSubmitCommentActivity.access$100(this.a)); + return; + } + this.a.dismissDialog(); + paramMessage = (d)paramMessage.obj; + if ((paramMessage.c == null) || (paramMessage.c.length() == 0)) { + d.a(this.a.getResources(), paramMessage); + } + this.a.showUserDialog(paramMessage.c); + return; + } + this.a.dismissDialog(); + this.a.showOrangeToast(this.a.getResources().getString(2131362379), 2130837966); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.ui.zz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/Base64DecoderException.java b/com.tencent.token/classes.jar/com/tencent/token/utils/Base64DecoderException.java new file mode 100755 index 00000000000..7856dfa4e1c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/Base64DecoderException.java @@ -0,0 +1,13 @@ +package com.tencent.token.utils; + +public class Base64DecoderException + extends Exception +{ + private static final long serialVersionUID = -1297790985101775576L; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.Base64DecoderException + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/ImageCache.java b/com.tencent.token/classes.jar/com/tencent/token/utils/ImageCache.java new file mode 100755 index 00000000000..a88c449f950 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/ImageCache.java @@ -0,0 +1,826 @@ +package com.tencent.token.utils; + +import android.content.Context; +import android.graphics.Bitmap; +import android.os.Environment; +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.c; +import java.io.File; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map.Entry; +import java.util.Set; + +public class ImageCache + extends LinkedHashMap +{ + public static final String CACHE_DIR_PATH = SDCARD_PATH + FILE_CACHE_PATH; + private static final float DEFAULT_LOAD_FACTOR = 0.75F; + public static final String FILE_CACHE_PATH; + public static final String SDCARD_PATH = Environment.getExternalStorageDirectory() + File.separator + "Tencent" + File.separator; + private static final long serialVersionUID = 2533500844821654646L; + private String mDiskCacheDirectory; + protected Object mLock = new Object(); + private int mMaxEntries = 0; + private boolean mNeedRecycle = true; + + static + { + FILE_CACHE_PATH = "QQSec" + File.separator; + } + + public ImageCache(int paramInt, Context paramContext) + { + super(paramInt, 0.75F, true); + this.mMaxEntries = paramInt; + if (!"mounted".equals(Environment.getExternalStorageState())) { + paramContext.getCacheDir().getAbsolutePath(); + } + this.mDiskCacheDirectory = paramContext.getCacheDir().getAbsolutePath(); + paramContext = new File(this.mDiskCacheDirectory); + if (!paramContext.exists()) { + paramContext.mkdirs(); + } + } + + public static boolean a(String paramString) + { + paramString = new File(paramString); + if (paramString.exists()) { + return paramString.delete(); + } + return false; + } + + public static String d(String paramString) + { + return c.b(paramString); + } + + public final Bitmap a(Object paramObject) + { + try + { + paramObject = (Bitmap)super.get(paramObject); + return paramObject; + } + catch (Exception paramObject) + { + paramObject.printStackTrace(); + } + return null; + } + + /* Error */ + public final boolean a(String paramString, Bitmap paramBitmap) + { + // Byte code: + // 0: aload_2 + // 1: ifnonnull +5 -> 6 + // 4: iconst_0 + // 5: ireturn + // 6: aload_0 + // 7: getfield 75 com/tencent/token/utils/ImageCache:mLock Ljava/lang/Object; + // 10: astore_3 + // 11: aload_3 + // 12: monitorenter + // 13: new 41 java/io/File + // 16: dup + // 17: aload_1 + // 18: invokespecial 99 java/io/File: (Ljava/lang/String;)V + // 21: astore_1 + // 22: aload_1 + // 23: invokevirtual 103 java/io/File:exists ()Z + // 26: ifeq +16 -> 42 + // 29: aload_1 + // 30: invokevirtual 139 java/io/File:length ()J + // 33: lconst_0 + // 34: lcmp + // 35: ifle +7 -> 42 + // 38: aload_3 + // 39: monitorexit + // 40: iconst_1 + // 41: ireturn + // 42: aload_1 + // 43: invokevirtual 142 java/io/File:createNewFile ()Z + // 46: pop + // 47: new 144 java/io/FileOutputStream + // 50: dup + // 51: aload_1 + // 52: invokespecial 147 java/io/FileOutputStream: (Ljava/io/File;)V + // 55: astore_1 + // 56: new 149 java/io/ByteArrayOutputStream + // 59: dup + // 60: invokespecial 150 java/io/ByteArrayOutputStream: ()V + // 63: astore 4 + // 65: aload_2 + // 66: getstatic 156 android/graphics/Bitmap$CompressFormat:PNG Landroid/graphics/Bitmap$CompressFormat; + // 69: bipush 100 + // 71: aload 4 + // 73: invokevirtual 160 android/graphics/Bitmap:compress (Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z + // 76: pop + // 77: aload 4 + // 79: aload_1 + // 80: invokevirtual 164 java/io/ByteArrayOutputStream:writeTo (Ljava/io/OutputStream;)V + // 83: aload 4 + // 85: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 88: aload_1 + // 89: invokevirtual 168 java/io/FileOutputStream:close ()V + // 92: aload_3 + // 93: monitorexit + // 94: iconst_1 + // 95: ireturn + // 96: astore_1 + // 97: aload_1 + // 98: invokevirtual 130 java/lang/Exception:printStackTrace ()V + // 101: goto -9 -> 92 + // 104: astore_1 + // 105: aload_1 + // 106: invokevirtual 169 java/io/FileNotFoundException:printStackTrace ()V + // 109: aload_3 + // 110: monitorexit + // 111: iconst_0 + // 112: ireturn + // 113: astore_1 + // 114: aload_3 + // 115: monitorexit + // 116: aload_1 + // 117: athrow + // 118: astore_1 + // 119: aload_1 + // 120: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 123: goto -14 -> 109 + // 126: astore_1 + // 127: aload_1 + // 128: athrow + // Local variable table: + // start length slot name signature + // 0 129 0 this ImageCache + // 0 129 1 paramString String + // 0 129 2 paramBitmap Bitmap + // 10 105 3 localObject Object + // 63 21 4 localByteArrayOutputStream java.io.ByteArrayOutputStream + // Exception table: + // from to target type + // 83 92 96 java/lang/Exception + // 42 83 104 java/io/FileNotFoundException + // 83 92 104 java/io/FileNotFoundException + // 97 101 104 java/io/FileNotFoundException + // 13 40 113 finally + // 92 94 113 finally + // 109 111 113 finally + // 127 129 113 finally + // 42 83 118 java/io/IOException + // 83 92 118 java/io/IOException + // 97 101 118 java/io/IOException + // 42 83 126 finally + // 83 92 126 finally + // 97 101 126 finally + // 105 109 126 finally + // 119 123 126 finally + } + + /* Error */ + public final Bitmap b(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: getfield 75 com/tencent/token/utils/ImageCache:mLock Ljava/lang/Object; + // 4: astore 12 + // 6: aload 12 + // 8: monitorenter + // 9: new 41 java/io/File + // 12: dup + // 13: aload_1 + // 14: invokespecial 99 java/io/File: (Ljava/lang/String;)V + // 17: astore 8 + // 19: aload 8 + // 21: invokevirtual 103 java/io/File:exists ()Z + // 24: istore_3 + // 25: iload_3 + // 26: ifne +8 -> 34 + // 29: aload 12 + // 31: monitorexit + // 32: aconst_null + // 33: areturn + // 34: new 149 java/io/ByteArrayOutputStream + // 37: dup + // 38: invokespecial 150 java/io/ByteArrayOutputStream: ()V + // 41: astore_1 + // 42: new 175 java/io/FileInputStream + // 45: dup + // 46: aload 8 + // 48: invokespecial 176 java/io/FileInputStream: (Ljava/io/File;)V + // 51: astore 5 + // 53: aload 5 + // 55: astore 6 + // 57: aload_1 + // 58: astore 7 + // 60: sipush 1024 + // 63: newarray byte + // 65: astore 4 + // 67: aload 5 + // 69: astore 6 + // 71: aload_1 + // 72: astore 7 + // 74: aload 5 + // 76: aload 4 + // 78: invokevirtual 180 java/io/FileInputStream:read ([B)I + // 81: istore_2 + // 82: iload_2 + // 83: iconst_m1 + // 84: if_icmpeq +68 -> 152 + // 87: aload 5 + // 89: astore 6 + // 91: aload_1 + // 92: astore 7 + // 94: aload_1 + // 95: aload 4 + // 97: iconst_0 + // 98: iload_2 + // 99: invokevirtual 184 java/io/ByteArrayOutputStream:write ([BII)V + // 102: goto -35 -> 67 + // 105: astore 6 + // 107: aload 5 + // 109: astore 4 + // 111: aload_1 + // 112: astore 5 + // 114: aconst_null + // 115: astore_1 + // 116: aload 6 + // 118: invokevirtual 185 java/io/StreamCorruptedException:printStackTrace ()V + // 121: aload 5 + // 123: ifnull +8 -> 131 + // 126: aload 5 + // 128: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 131: aload 4 + // 133: ifnull +8 -> 141 + // 136: aload 4 + // 138: invokevirtual 186 java/io/FileInputStream:close ()V + // 141: aload 12 + // 143: monitorexit + // 144: aload_1 + // 145: areturn + // 146: astore_1 + // 147: aload 12 + // 149: monitorexit + // 150: aload_1 + // 151: athrow + // 152: aload 5 + // 154: astore 6 + // 156: aload_1 + // 157: astore 7 + // 159: aload_1 + // 160: invokevirtual 190 java/io/ByteArrayOutputStream:toByteArray ()[B + // 163: astore 4 + // 165: aload 5 + // 167: astore 6 + // 169: aload_1 + // 170: astore 7 + // 172: aload_1 + // 173: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 176: aload 5 + // 178: astore 6 + // 180: aload_1 + // 181: astore 7 + // 183: aload 5 + // 185: invokevirtual 186 java/io/FileInputStream:close ()V + // 188: aload 5 + // 190: astore 6 + // 192: aload_1 + // 193: astore 7 + // 195: aload 4 + // 197: invokestatic 195 com/tencent/token/utils/t:a ([B)Landroid/graphics/Bitmap; + // 200: astore 4 + // 202: aload 4 + // 204: astore 6 + // 206: aload 4 + // 208: ifnonnull +66 -> 274 + // 211: new 197 java/io/ObjectInputStream + // 214: dup + // 215: new 175 java/io/FileInputStream + // 218: dup + // 219: aload 8 + // 221: invokespecial 176 java/io/FileInputStream: (Ljava/io/File;)V + // 224: invokespecial 200 java/io/ObjectInputStream: (Ljava/io/InputStream;)V + // 227: astore 10 + // 229: aload 10 + // 231: astore 6 + // 233: aload 10 + // 235: invokevirtual 204 java/io/ObjectInputStream:readObject ()Ljava/lang/Object; + // 238: checkcast 206 [B + // 241: invokestatic 195 com/tencent/token/utils/t:a ([B)Landroid/graphics/Bitmap; + // 244: astore 7 + // 246: aload 7 + // 248: astore 4 + // 250: aload 4 + // 252: astore 8 + // 254: aload 4 + // 256: astore 9 + // 258: aload 5 + // 260: astore 6 + // 262: aload_1 + // 263: astore 7 + // 265: aload 10 + // 267: invokevirtual 207 java/io/ObjectInputStream:close ()V + // 270: aload 4 + // 272: astore 6 + // 274: aload_1 + // 275: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 278: aload 5 + // 280: invokevirtual 186 java/io/FileInputStream:close ()V + // 283: aload 6 + // 285: astore_1 + // 286: goto -145 -> 141 + // 289: astore 9 + // 291: aload 5 + // 293: astore 6 + // 295: aload_1 + // 296: astore 7 + // 298: aload 9 + // 300: invokevirtual 130 java/lang/Exception:printStackTrace ()V + // 303: goto -115 -> 188 + // 306: astore 8 + // 308: aconst_null + // 309: astore 4 + // 311: aload 5 + // 313: astore 6 + // 315: aload_1 + // 316: astore 7 + // 318: aload 8 + // 320: invokevirtual 169 java/io/FileNotFoundException:printStackTrace ()V + // 323: aload_1 + // 324: ifnull +7 -> 331 + // 327: aload_1 + // 328: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 331: aload 5 + // 333: ifnull +8 -> 341 + // 336: aload 5 + // 338: invokevirtual 186 java/io/FileInputStream:close ()V + // 341: aload 4 + // 343: astore_1 + // 344: goto -203 -> 141 + // 347: astore 11 + // 349: aload 4 + // 351: astore 8 + // 353: aload 4 + // 355: astore 9 + // 357: aload 4 + // 359: astore 10 + // 361: aload 5 + // 363: astore 6 + // 365: aload_1 + // 366: astore 7 + // 368: aload 11 + // 370: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 373: aload 4 + // 375: astore 6 + // 377: goto -103 -> 274 + // 380: astore 6 + // 382: aload 5 + // 384: astore 4 + // 386: aload_1 + // 387: astore 5 + // 389: aload 8 + // 391: astore_1 + // 392: goto -276 -> 116 + // 395: astore 7 + // 397: aconst_null + // 398: astore 10 + // 400: aload 10 + // 402: astore 6 + // 404: aload 7 + // 406: invokevirtual 130 java/lang/Exception:printStackTrace ()V + // 409: aload 4 + // 411: astore 6 + // 413: aload 10 + // 415: ifnull -141 -> 274 + // 418: aload 4 + // 420: astore 8 + // 422: aload 4 + // 424: astore 9 + // 426: aload 5 + // 428: astore 6 + // 430: aload_1 + // 431: astore 7 + // 433: aload 10 + // 435: invokevirtual 207 java/io/ObjectInputStream:close ()V + // 438: aload 4 + // 440: astore 6 + // 442: goto -168 -> 274 + // 445: astore 11 + // 447: aload 4 + // 449: astore 8 + // 451: aload 4 + // 453: astore 9 + // 455: aload 4 + // 457: astore 10 + // 459: aload 5 + // 461: astore 6 + // 463: aload_1 + // 464: astore 7 + // 466: aload 11 + // 468: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 471: aload 4 + // 473: astore 6 + // 475: goto -201 -> 274 + // 478: astore 8 + // 480: aload 9 + // 482: astore 4 + // 484: goto -173 -> 311 + // 487: astore 11 + // 489: aconst_null + // 490: astore 10 + // 492: aload 10 + // 494: ifnull +23 -> 517 + // 497: aload 4 + // 499: astore 8 + // 501: aload 4 + // 503: astore 9 + // 505: aload 5 + // 507: astore 6 + // 509: aload_1 + // 510: astore 7 + // 512: aload 10 + // 514: invokevirtual 207 java/io/ObjectInputStream:close ()V + // 517: aload 4 + // 519: astore 8 + // 521: aload 4 + // 523: astore 9 + // 525: aload 4 + // 527: astore 10 + // 529: aload 5 + // 531: astore 6 + // 533: aload_1 + // 534: astore 7 + // 536: aload 11 + // 538: athrow + // 539: astore 8 + // 541: aload 10 + // 543: astore 4 + // 545: aload 5 + // 547: astore 6 + // 549: aload_1 + // 550: astore 7 + // 552: aload 8 + // 554: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 557: aload_1 + // 558: ifnull +7 -> 565 + // 561: aload_1 + // 562: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 565: aload 5 + // 567: ifnull +8 -> 575 + // 570: aload 5 + // 572: invokevirtual 186 java/io/FileInputStream:close ()V + // 575: aload 4 + // 577: astore_1 + // 578: goto -437 -> 141 + // 581: astore 13 + // 583: aload 4 + // 585: astore 8 + // 587: aload 4 + // 589: astore 9 + // 591: aload 4 + // 593: astore 10 + // 595: aload 5 + // 597: astore 6 + // 599: aload_1 + // 600: astore 7 + // 602: aload 13 + // 604: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 607: goto -90 -> 517 + // 610: astore 4 + // 612: aload 7 + // 614: astore_1 + // 615: aload_1 + // 616: ifnull +7 -> 623 + // 619: aload_1 + // 620: invokevirtual 167 java/io/ByteArrayOutputStream:close ()V + // 623: aload 6 + // 625: ifnull +8 -> 633 + // 628: aload 6 + // 630: invokevirtual 186 java/io/FileInputStream:close ()V + // 633: aload 4 + // 635: athrow + // 636: astore_1 + // 637: aload_1 + // 638: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 641: aload 6 + // 643: astore_1 + // 644: goto -503 -> 141 + // 647: astore 4 + // 649: aload 4 + // 651: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 654: goto -513 -> 141 + // 657: astore_1 + // 658: aload_1 + // 659: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 662: aload 4 + // 664: astore_1 + // 665: goto -524 -> 141 + // 668: astore_1 + // 669: aload_1 + // 670: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 673: aload 4 + // 675: astore_1 + // 676: goto -535 -> 141 + // 679: astore_1 + // 680: aload_1 + // 681: invokevirtual 170 java/io/IOException:printStackTrace ()V + // 684: goto -51 -> 633 + // 687: astore 4 + // 689: aconst_null + // 690: astore 6 + // 692: aconst_null + // 693: astore_1 + // 694: goto -79 -> 615 + // 697: astore 4 + // 699: aconst_null + // 700: astore 6 + // 702: goto -87 -> 615 + // 705: astore 7 + // 707: aload 5 + // 709: astore_1 + // 710: aload 4 + // 712: astore 6 + // 714: aload 7 + // 716: astore 4 + // 718: goto -103 -> 615 + // 721: astore 8 + // 723: aconst_null + // 724: astore 5 + // 726: aconst_null + // 727: astore_1 + // 728: aconst_null + // 729: astore 4 + // 731: goto -186 -> 545 + // 734: astore 8 + // 736: aconst_null + // 737: astore 5 + // 739: aconst_null + // 740: astore 4 + // 742: goto -197 -> 545 + // 745: astore 8 + // 747: aconst_null + // 748: astore 4 + // 750: goto -205 -> 545 + // 753: astore 8 + // 755: aconst_null + // 756: astore 5 + // 758: aconst_null + // 759: astore_1 + // 760: aconst_null + // 761: astore 4 + // 763: goto -452 -> 311 + // 766: astore 8 + // 768: aconst_null + // 769: astore 5 + // 771: aconst_null + // 772: astore 4 + // 774: goto -463 -> 311 + // 777: astore 6 + // 779: aconst_null + // 780: astore 5 + // 782: aconst_null + // 783: astore_1 + // 784: aconst_null + // 785: astore 4 + // 787: goto -671 -> 116 + // 790: astore 6 + // 792: aconst_null + // 793: astore 7 + // 795: aconst_null + // 796: astore 4 + // 798: aload_1 + // 799: astore 5 + // 801: aload 7 + // 803: astore_1 + // 804: goto -688 -> 116 + // 807: astore 11 + // 809: aload 6 + // 811: astore 10 + // 813: goto -321 -> 492 + // 816: astore 7 + // 818: goto -418 -> 400 + // Local variable table: + // start length slot name signature + // 0 821 0 this ImageCache + // 0 821 1 paramString String + // 81 18 2 i int + // 24 2 3 bool boolean + // 65 527 4 localObject1 Object + // 610 24 4 localObject2 Object + // 647 27 4 localIOException1 java.io.IOException + // 687 1 4 localObject3 Object + // 697 14 4 localObject4 Object + // 716 81 4 localObject5 Object + // 51 749 5 localObject6 Object + // 55 35 6 localObject7 Object + // 105 12 6 localStreamCorruptedException1 java.io.StreamCorruptedException + // 154 222 6 localObject8 Object + // 380 1 6 localStreamCorruptedException2 java.io.StreamCorruptedException + // 402 311 6 localObject9 Object + // 777 1 6 localStreamCorruptedException3 java.io.StreamCorruptedException + // 790 20 6 localStreamCorruptedException4 java.io.StreamCorruptedException + // 58 309 7 localObject10 Object + // 395 10 7 localException1 Exception + // 431 182 7 str String + // 705 10 7 localObject11 Object + // 793 9 7 localObject12 Object + // 816 1 7 localException2 Exception + // 17 236 8 localObject13 Object + // 306 13 8 localFileNotFoundException1 java.io.FileNotFoundException + // 351 99 8 localObject14 Object + // 478 1 8 localFileNotFoundException2 java.io.FileNotFoundException + // 499 21 8 localObject15 Object + // 539 14 8 localIOException2 java.io.IOException + // 585 1 8 localObject16 Object + // 721 1 8 localIOException3 java.io.IOException + // 734 1 8 localIOException4 java.io.IOException + // 745 1 8 localIOException5 java.io.IOException + // 753 1 8 localFileNotFoundException3 java.io.FileNotFoundException + // 766 1 8 localFileNotFoundException4 java.io.FileNotFoundException + // 256 1 9 localObject17 Object + // 289 10 9 localException3 Exception + // 355 235 9 localObject18 Object + // 227 585 10 localObject19 Object + // 347 22 11 localIOException6 java.io.IOException + // 445 22 11 localIOException7 java.io.IOException + // 487 50 11 localObject20 Object + // 807 1 11 localObject21 Object + // 4 144 12 localObject22 Object + // 581 22 13 localIOException8 java.io.IOException + // Exception table: + // from to target type + // 60 67 105 java/io/StreamCorruptedException + // 74 82 105 java/io/StreamCorruptedException + // 94 102 105 java/io/StreamCorruptedException + // 159 165 105 java/io/StreamCorruptedException + // 172 176 105 java/io/StreamCorruptedException + // 183 188 105 java/io/StreamCorruptedException + // 195 202 105 java/io/StreamCorruptedException + // 298 303 105 java/io/StreamCorruptedException + // 29 32 146 finally + // 126 131 146 finally + // 136 141 146 finally + // 141 144 146 finally + // 274 283 146 finally + // 327 331 146 finally + // 336 341 146 finally + // 561 565 146 finally + // 570 575 146 finally + // 619 623 146 finally + // 628 633 146 finally + // 633 636 146 finally + // 637 641 146 finally + // 649 654 146 finally + // 658 662 146 finally + // 669 673 146 finally + // 680 684 146 finally + // 172 176 289 java/lang/Exception + // 183 188 289 java/lang/Exception + // 60 67 306 java/io/FileNotFoundException + // 74 82 306 java/io/FileNotFoundException + // 94 102 306 java/io/FileNotFoundException + // 159 165 306 java/io/FileNotFoundException + // 172 176 306 java/io/FileNotFoundException + // 183 188 306 java/io/FileNotFoundException + // 195 202 306 java/io/FileNotFoundException + // 298 303 306 java/io/FileNotFoundException + // 265 270 347 java/io/IOException + // 265 270 380 java/io/StreamCorruptedException + // 368 373 380 java/io/StreamCorruptedException + // 433 438 380 java/io/StreamCorruptedException + // 466 471 380 java/io/StreamCorruptedException + // 512 517 380 java/io/StreamCorruptedException + // 536 539 380 java/io/StreamCorruptedException + // 602 607 380 java/io/StreamCorruptedException + // 211 229 395 java/lang/Exception + // 433 438 445 java/io/IOException + // 265 270 478 java/io/FileNotFoundException + // 368 373 478 java/io/FileNotFoundException + // 433 438 478 java/io/FileNotFoundException + // 466 471 478 java/io/FileNotFoundException + // 512 517 478 java/io/FileNotFoundException + // 536 539 478 java/io/FileNotFoundException + // 602 607 478 java/io/FileNotFoundException + // 211 229 487 finally + // 368 373 539 java/io/IOException + // 466 471 539 java/io/IOException + // 536 539 539 java/io/IOException + // 602 607 539 java/io/IOException + // 512 517 581 java/io/IOException + // 60 67 610 finally + // 74 82 610 finally + // 94 102 610 finally + // 159 165 610 finally + // 172 176 610 finally + // 183 188 610 finally + // 195 202 610 finally + // 265 270 610 finally + // 298 303 610 finally + // 318 323 610 finally + // 368 373 610 finally + // 433 438 610 finally + // 466 471 610 finally + // 512 517 610 finally + // 536 539 610 finally + // 552 557 610 finally + // 602 607 610 finally + // 274 283 636 java/io/IOException + // 126 131 647 java/io/IOException + // 136 141 647 java/io/IOException + // 327 331 657 java/io/IOException + // 336 341 657 java/io/IOException + // 561 565 668 java/io/IOException + // 570 575 668 java/io/IOException + // 619 623 679 java/io/IOException + // 628 633 679 java/io/IOException + // 9 25 687 finally + // 34 42 687 finally + // 42 53 697 finally + // 116 121 705 finally + // 9 25 721 java/io/IOException + // 34 42 721 java/io/IOException + // 42 53 734 java/io/IOException + // 60 67 745 java/io/IOException + // 74 82 745 java/io/IOException + // 94 102 745 java/io/IOException + // 159 165 745 java/io/IOException + // 172 176 745 java/io/IOException + // 183 188 745 java/io/IOException + // 195 202 745 java/io/IOException + // 298 303 745 java/io/IOException + // 9 25 753 java/io/FileNotFoundException + // 34 42 753 java/io/FileNotFoundException + // 42 53 766 java/io/FileNotFoundException + // 9 25 777 java/io/StreamCorruptedException + // 34 42 777 java/io/StreamCorruptedException + // 42 53 790 java/io/StreamCorruptedException + // 233 246 807 finally + // 404 409 807 finally + // 233 246 816 java/lang/Exception + } + + public final Bitmap b(String paramString, Bitmap paramBitmap) + { + synchronized (this.mLock) + { + paramString = (Bitmap)super.put(paramString, paramBitmap); + return paramString; + } + } + + public final String c(String paramString) + { + return this.mDiskCacheDirectory + File.separator + paramString; + } + + public void clear() + { + for (;;) + { + synchronized (this.mLock) + { + e.b("clear cache"); + if (!this.mNeedRecycle) { + break; + } + Iterator localIterator = entrySet().iterator(); + if (!localIterator.hasNext()) { + break; + } + Bitmap localBitmap = (Bitmap)((Map.Entry)localIterator.next()).getValue(); + if ((localBitmap != null) && (!localBitmap.isRecycled())) { + localBitmap.recycle(); + } + } + e.c("ImageCache is broken"); + } + super.clear(); + } + + protected boolean removeEldestEntry(Map.Entry paramEntry) + { + if (size() > this.mMaxEntries) + { + if (this.mNeedRecycle) + { + Bitmap localBitmap = (Bitmap)paramEntry.getValue(); + if ((localBitmap != null) && (!localBitmap.isRecycled())) { + localBitmap.recycle(); + } + } + e.b("recycle bitmap:" + (String)paramEntry.getKey()); + return true; + } + e.b("size=" + size()); + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.ImageCache + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/SMSReceiver.java b/com.tencent.token/classes.jar/com/tencent/token/utils/SMSReceiver.java new file mode 100755 index 00000000000..8612ee7ad42 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/SMSReceiver.java @@ -0,0 +1,31 @@ +package com.tencent.token.utils; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.tencent.token.ag; +import com.tencent.token.as; +import com.tencent.token.global.e; + +public class SMSReceiver + extends BroadcastReceiver +{ + public void onReceive(Context paramContext, Intent paramIntent) + { + e.a("action=" + paramIntent.getAction() + ", result code=" + getResultCode()); + if ("com.tencent.token.sms.SEND".equals(paramIntent.getAction())) {} + switch (getResultCode()) + { + default: + ag.c().a.e(); + return; + } + ag.c().a.d(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.SMSReceiver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask$Status.java b/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask$Status.java new file mode 100755 index 00000000000..ef21b3e1230 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask$Status.java @@ -0,0 +1,6 @@ +// INTERNAL ERROR // + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.UserTask.Status + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask.java b/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask.java new file mode 100755 index 00000000000..0182321e439 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/UserTask.java @@ -0,0 +1,85 @@ +package com.tencent.token.utils; + +import com.tencent.token.global.e; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.FutureTask; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +public abstract class UserTask +{ + private static final BlockingQueue a = new LinkedBlockingQueue(10); + private static final ThreadFactory b = new v(); + private static final ThreadPoolExecutor c = new ThreadPoolExecutor(1, 10, 2L, TimeUnit.SECONDS, a, b); + private static z d; + private final ab e; + private final FutureTask f; + private volatile UserTask.Status g = UserTask.Status.PENDING; + + public UserTask() + { + try + { + if (d == null) { + d = new z(); + } + label27: + this.e = new w(this); + this.f = new x(this, this.e); + return; + } + catch (Exception localException) + { + break label27; + } + } + + public final UserTask a(Object... paramVarArgs) + { + if (this.g != UserTask.Status.PENDING) {} + switch (y.a[this.g.ordinal()]) + { + default: + this.g = UserTask.Status.RUNNING; + this.e.b = paramVarArgs; + } + try + { + c.execute(this.f); + return this; + } + catch (Exception paramVarArgs) + { + e.c("exception: " + paramVarArgs.getMessage()); + a(); + this.g = UserTask.Status.FINISHED; + } + throw new IllegalStateException("Cannot execute task: the task is already running."); + throw new IllegalStateException("Cannot execute task: the task has already been executed (a task can be executed only once)"); + return this; + } + + public void a() {} + + public void a(Object paramObject) {} + + public abstract Object b(); + + public final UserTask.Status c() + { + return this.g; + } + + public final boolean d() + { + return this.f.cancel(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.UserTask + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/a.java b/com.tencent.token/classes.jar/com/tencent/token/utils/a.java new file mode 100755 index 00000000000..3e2796c0a93 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/a.java @@ -0,0 +1,36 @@ +package com.tencent.token.utils; + +import android.net.Uri; +import android.os.AsyncTask; +import android.widget.ImageView; + +public final class a + extends AsyncTask +{ + private ImageView a; + + public a(ImageView paramImageView) + { + this.a = paramImageView; + } + + private static Uri a(String... paramVarArgs) + { + try + { + paramVarArgs = j.a(paramVarArgs[0]); + return paramVarArgs; + } + catch (Exception paramVarArgs) + { + paramVarArgs.printStackTrace(); + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/aa.java b/com.tencent.token/classes.jar/com/tencent/token/utils/aa.java new file mode 100755 index 00000000000..22c3327dd69 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/aa.java @@ -0,0 +1,19 @@ +package com.tencent.token.utils; + +final class aa +{ + final UserTask a; + final Object[] b; + + aa(UserTask paramUserTask, Object... paramVarArgs) + { + this.a = paramUserTask; + this.b = paramVarArgs; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.aa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/ab.java b/com.tencent.token/classes.jar/com/tencent/token/utils/ab.java new file mode 100755 index 00000000000..909667a6d97 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/ab.java @@ -0,0 +1,17 @@ +package com.tencent.token.utils; + +import java.util.concurrent.Callable; + +abstract class ab + implements Callable +{ + Object[] b; + + private ab(byte paramByte) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.ab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/b.java b/com.tencent.token/classes.jar/com/tencent/token/utils/b.java new file mode 100755 index 00000000000..a9e5a5722d0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/b.java @@ -0,0 +1,123 @@ +package com.tencent.token.utils; + +public class b +{ + public static final byte[] a; + public static final byte[] b; + private static final byte[] d; + private static final byte[] e; + + static + { + if (!b.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + c = bool; + a = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }; + b = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95 }; + d = new byte[] { -9, -9, -9, -9, -9, -9, -9, -9, -9, -5, -5, -9, -9, -5, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -5, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 62, -9, -9, -9, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -9, -9, -9, -1, -9, -9, -9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -9, -9, -9, -9, -9, -9, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -9, -9, -9, -9, -9 }; + e = new byte[] { -9, -9, -9, -9, -9, -9, -9, -9, -9, -5, -5, -9, -9, -5, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -5, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 62, -9, -9, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -9, -9, -9, -1, -9, -9, -9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -9, -9, -9, -9, 63, -9, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -9, -9, -9, -9, -9 }; + return; + } + } + + public static String a(byte[] paramArrayOfByte) + { + int i1 = paramArrayOfByte.length; + byte[] arrayOfByte1 = a; + int i = (i1 + 2) / 3 * 4; + byte[] arrayOfByte2 = new byte[i + i / 2147483647]; + int j = 0; + i = 0; + int k = 0; + int n; + while (k < i1 - 2) + { + m = paramArrayOfByte[(k + 0)] << 24 >>> 8 | paramArrayOfByte[(k + 1 + 0)] << 24 >>> 16 | paramArrayOfByte[(k + 2 + 0)] << 24 >>> 24; + arrayOfByte2[i] = arrayOfByte1[(m >>> 18)]; + arrayOfByte2[(i + 1)] = arrayOfByte1[(m >>> 12 & 0x3F)]; + arrayOfByte2[(i + 2)] = arrayOfByte1[(m >>> 6 & 0x3F)]; + arrayOfByte2[(i + 3)] = arrayOfByte1[(m & 0x3F)]; + n = j + 4; + j = n; + m = i; + if (n == 2147483647) + { + arrayOfByte2[(i + 4)] = 10; + m = i + 1; + j = 0; + } + k += 3; + i = m + 4; + } + int m = i; + if (k < i1) + { + n = k + 0; + i1 -= k; + if (i1 <= 0) { + break label349; + } + k = paramArrayOfByte[n] << 24 >>> 8; + if (i1 <= 1) { + break label354; + } + m = paramArrayOfByte[(n + 1)] << 24 >>> 16; + label244: + if (i1 <= 2) { + break label360; + } + n = paramArrayOfByte[(n + 2)] << 24 >>> 24; + label264: + k = n | k | m; + switch (i1) + { + } + } + for (;;) + { + k = i; + if (j + 4 == 2147483647) + { + arrayOfByte2[(i + 4)] = 10; + k = i + 1; + } + m = k + 4; + if ((c) || (m == arrayOfByte2.length)) { + break label525; + } + throw new AssertionError(); + label349: + k = 0; + break; + label354: + m = 0; + break label244; + label360: + n = 0; + break label264; + arrayOfByte2[i] = arrayOfByte1[(k >>> 18)]; + arrayOfByte2[(i + 1)] = arrayOfByte1[(k >>> 12 & 0x3F)]; + arrayOfByte2[(i + 2)] = arrayOfByte1[(k >>> 6 & 0x3F)]; + arrayOfByte2[(i + 3)] = arrayOfByte1[(k & 0x3F)]; + continue; + arrayOfByte2[i] = arrayOfByte1[(k >>> 18)]; + arrayOfByte2[(i + 1)] = arrayOfByte1[(k >>> 12 & 0x3F)]; + arrayOfByte2[(i + 2)] = arrayOfByte1[(k >>> 6 & 0x3F)]; + arrayOfByte2[(i + 3)] = 61; + continue; + arrayOfByte2[i] = arrayOfByte1[(k >>> 18)]; + arrayOfByte2[(i + 1)] = arrayOfByte1[(k >>> 12 & 0x3F)]; + arrayOfByte2[(i + 2)] = 61; + arrayOfByte2[(i + 3)] = 61; + } + label525: + return new String(arrayOfByte2, 0, arrayOfByte2.length); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/BugObject.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/BugObject.java new file mode 100755 index 00000000000..930e6eb1f9e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/BugObject.java @@ -0,0 +1,38 @@ +package com.tencent.token.utils.bugscanuitl; + +import java.io.Serializable; +import org.json.JSONObject; + +public class BugObject + implements Serializable +{ + private static final long serialVersionUID = 3882592292910895694L; + private int id; + private String name; + private String packagename; + private String version; + + public BugObject(JSONObject paramJSONObject) + { + this.id = paramJSONObject.getInt("id"); + this.name = paramJSONObject.getString("name"); + this.packagename = paramJSONObject.getString("package"); + this.version = paramJSONObject.getString("version"); + } + + public final String a() + { + return this.packagename; + } + + public final String b() + { + return this.version; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.BugObject + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/DetectActivity.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/DetectActivity.java new file mode 100755 index 00000000000..ffb01af446e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/DetectActivity.java @@ -0,0 +1,213 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.LoaderManager; +import android.support.v4.app.LoaderManager.LoaderCallbacks; +import android.support.v4.content.Loader; +import android.view.View.OnClickListener; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.animation.LinearInterpolator; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import com.tencent.token.af; +import com.tencent.token.av; +import com.tencent.token.ax; +import com.tencent.token.core.bean.ScanDataResult; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import java.util.List; + +public class DetectActivity + extends FragmentActivity + implements LoaderManager.LoaderCallbacks +{ + public static final int HAVE_APP_AFFECT = 1; + public static final int NO_APP_AFFECT = 0; + public static String RESULT_FLAG = "result_flag"; + private final Handler fHandler = new g(this); + private boolean isDoingScan = false; + private TextView isScaning; + Loader loader; + ScanDataResult result; + private int resultFlag; + private View.OnClickListener retryClickListener; + private ImageView scanBottom; + private ImageView scanMiddleArc; + private ImageView scanUpperBug; + private TextView startScan; + private TextView textExplain; + private TitleBar title; + private RelativeLayout upperLayout; + private String urlString = "http://www.qq.com/"; + + private void doDetect() + { + this.startScan.setVisibility(4); + this.isDoingScan = true; + this.scanMiddleArc.setVisibility(0); + this.upperLayout.setBackgroundColor(getResources().getColor(2131165331)); + this.upperLayout.postInvalidate(); + Animation localAnimation = AnimationUtils.loadAnimation(this, 2130968580); + localAnimation.setInterpolator(new LinearInterpolator()); + this.scanMiddleArc.startAnimation(localAnimation); + this.isScaning.setVisibility(0); + this.isScaning.setText(2131362727); + if (this.loader == null) + { + this.loader = getSupportLoaderManager().initLoader(0, null, this); + return; + } + this.loader.forceLoad(); + } + + private void showHaveAffectedResult() + { + this.upperLayout.setBackgroundColor(getResources().getColor(2131165333)); + this.scanMiddleArc.setVisibility(4); + this.scanUpperBug.setVisibility(4); + this.scanBottom.setImageResource(2130837531); + this.isScaning.setVisibility(0); + String str = String.format(getResources().getString(2131362737), new Object[] { Integer.valueOf(b.c.size()) }); + this.isScaning.setText(str); + this.isScaning.setOnClickListener(new k(this)); + this.startScan.setVisibility(0); + this.startScan.setText(2131362730); + this.startScan.setOnClickListener(this.retryClickListener); + } + + private void showHealResult() + { + this.upperLayout.setBackgroundColor(getResources().getColor(2131165332)); + this.scanMiddleArc.setVisibility(4); + this.scanUpperBug.setVisibility(4); + this.scanBottom.setImageResource(2130837766); + this.isScaning.setVisibility(0); + this.isScaning.setText(2131362731); + this.isScaning.setOnClickListener(null); + this.startScan.setVisibility(0); + this.startScan.setText(2131362730); + this.startScan.setOnClickListener(this.retryClickListener); + } + + protected void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + requestWindowFeature(1); + setContentView(2130903053); + BaseActivity.addActivitToList(this); + this.result = ((ScanDataResult)getIntent().getSerializableExtra("result")); + if (this.result == null) { + finish(); + } + paramBundle = (TitleBar)findViewById(2131296404); + paramBundle.a(new h(this)); + paramBundle.a(); + this.startScan = ((TextView)findViewById(2131296412)); + this.isScaning = ((TextView)findViewById(2131296411)); + this.textExplain = ((TextView)findViewById(2131296414)); + this.scanBottom = ((ImageView)findViewById(2131296408)); + this.scanMiddleArc = ((ImageView)findViewById(2131296409)); + this.scanUpperBug = ((ImageView)findViewById(2131296410)); + this.title = ((TitleBar)findViewById(2131296404)); + this.title.a(String.format(getResources().getString(2131362723), new Object[] { this.result.b() })); + this.title.a(); + this.upperLayout = ((RelativeLayout)findViewById(2131296405)); + this.startScan.setOnClickListener(new i(this)); + this.retryClickListener = new j(this); + if (getIntent() != null) + { + this.resultFlag = getIntent().getIntExtra(RESULT_FLAG, -1); + if (this.resultFlag != 0) { + break label311; + } + showHealResult(); + } + for (;;) + { + if (this.result.c() != null) { + this.textExplain.setText(this.result.c()); + } + return; + label311: + if (this.resultFlag == 1) { + if ((b.c == null) || (b.c.size() == 0)) { + showHealResult(); + } else { + showHaveAffectedResult(); + } + } + } + } + + public Loader onCreateLoader(int paramInt, Bundle paramBundle) + { + return new b(this, this.result.e()); + } + + protected void onDestroy() + { + try + { + BaseActivity.removeActivityFromList(this); + super.onDestroy(); + return; + } + catch (Exception localException) + { + for (;;) + { + e.c("remove activity list err=" + localException.getMessage()); + } + } + } + + public void onLoadFinished(Loader paramLoader, List paramList) + { + int i = 0; + this.scanMiddleArc.clearAnimation(); + this.scanMiddleArc.setVisibility(4); + this.isDoingScan = false; + this.textExplain.setText(this.result.c()); + if (b.c == null) + { + if ((b.c != null) && (b.c.size() != 0)) { + break label95; + } + showHealResult(); + } + for (;;) + { + af.a().a(this.fHandler, this.result.a(), i); + return; + i = b.c.size(); + break; + label95: + paramLoader = new Intent(this, ResultListActivity.class); + paramLoader.putExtra("result", this.result); + startActivity(paramLoader); + } + } + + public void onLoaderReset(Loader paramLoader) {} + + protected void onResume() + { + BaseActivity.sTopActivity = this; + if (ax.a().e() != null) { + af.a().a(av.a, this.fHandler); + } + super.onResume(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.DetectActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/ResultListActivity.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/ResultListActivity.java new file mode 100755 index 00000000000..c58b74b17bc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/ResultListActivity.java @@ -0,0 +1,153 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.app.Dialog; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.net.Uri; +import android.os.Bundle; +import android.text.SpannableStringBuilder; +import android.text.style.ForegroundColorSpan; +import android.view.View.OnClickListener; +import android.widget.ListView; +import android.widget.TextView; +import com.tencent.token.core.bean.ScanDataResult; +import com.tencent.token.ui.BaseActivity; +import java.util.List; + +public class ResultListActivity + extends BaseActivity +{ + f OnClickListener; + private final String REMOVEACTION = "android.intent.action.PACKAGE_REMOVED"; + n adapter; + ListView lv; + Dialog mDialog; + ScanDataResult result; + TextView textsubv; + TextView textv; + String unilstallpackageName; + + private void initView() + { + Object localObject = (TitleBar)findViewById(2131296404); + ((TitleBar)localObject).a(new l(this)); + ((TitleBar)localObject).a(String.format(getResources().getString(2131362723), new Object[] { this.result.b() })); + ((TitleBar)localObject).a(); + this.textv = ((TextView)findViewById(2131297011)); + localObject = new SpannableStringBuilder(String.format(getResources().getString(2131362728), new Object[] { Integer.valueOf(b.c.size()) })); + ((SpannableStringBuilder)localObject).setSpan(new ForegroundColorSpan(-65536), 4, String.valueOf(b.c.size()).length() + 4, 33); + this.textv.setText((CharSequence)localObject); + this.textsubv = ((TextView)findViewById(2131297012)); + this.textsubv.setText(this.result.d()); + this.OnClickListener = new m(this); + this.adapter = new n(this, b.c, this.OnClickListener); + this.lv = ((ListView)findViewById(2131297013)); + this.lv.setAdapter(this.adapter); + } + + private void showBaseUserDialogBtn(int paramInt, String paramString1, String paramString2, String paramString3, View.OnClickListener paramOnClickListener1, View.OnClickListener paramOnClickListener2) + { + this.mDialog = new Dialog(this, 2131427445); + this.mDialog.setContentView(2130903074); + TextView localTextView1 = (TextView)this.mDialog.findViewById(2131296516); + TextView localTextView2 = (TextView)this.mDialog.findViewById(2131296514); + TextView localTextView3 = (TextView)this.mDialog.findViewById(2131296404); + TextView localTextView4 = (TextView)this.mDialog.findViewById(2131296512); + if (paramInt == 0) + { + localTextView3.setVisibility(8); + if (paramString1 == null) { + break label168; + } + localTextView4.setText(paramString1); + } + for (;;) + { + if (paramString2 != null) { + localTextView1.setText(paramString2); + } + if (paramOnClickListener1 != null) { + localTextView1.setOnClickListener(paramOnClickListener1); + } + if ((localTextView2 != null) && (paramOnClickListener2 != null)) + { + if (paramString3 != null) { + localTextView2.setText(paramString3); + } + localTextView2.setOnClickListener(paramOnClickListener2); + } + this.mDialog.show(); + return; + localTextView3.setText(paramInt); + break; + label168: + localTextView4.setVisibility(8); + } + } + + public void dismissDialog() + { + if (isFinishing()) {} + for (;;) + { + return; + try + { + if (this.mDialog != null) + { + this.mDialog.cancel(); + this.mDialog = null; + return; + } + } + catch (Exception localException) {} + } + } + + public void onBackPressed() + { + Intent localIntent = new Intent(this, DetectActivity.class); + localIntent.putExtra("result_flag", 1); + localIntent.putExtra("result", this.result); + localIntent.setFlags(67108864); + startActivity(localIntent); + finish(); + } + + public void onCreate(Bundle paramBundle) + { + super.onCreate(paramBundle); + setContentView(2130903181); + this.result = ((ScanDataResult)getIntent().getSerializableExtra("result")); + if (this.result == null) + { + finish(); + return; + } + initView(); + paramBundle = new IntentFilter(); + paramBundle.addAction("android.intent.action.PACKAGE_REMOVED"); + paramBundle.addDataScheme("package"); + } + + public void onDestroy() + { + super.onDestroy(); + } + + public void uninstall(String paramString) + { + Intent localIntent = new Intent(); + localIntent.setAction("android.intent.action.DELETE"); + localIntent.setData(Uri.parse("package:" + paramString)); + startActivity(localIntent); + this.unilstallpackageName = paramString; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.ResultListActivity + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/TitleBar.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/TitleBar.java new file mode 100755 index 00000000000..e255c357fd9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/TitleBar.java @@ -0,0 +1,211 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Matrix; +import android.graphics.Paint; +import android.graphics.Paint.FontMetrics; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import com.tencent.token.m; +import com.tencent.token.utils.s; + +public class TitleBar + extends View + implements e +{ + protected Paint a; + private String b; + private Bitmap c; + private Bitmap d; + private int e; + private int f; + private Bitmap g; + private Bitmap h; + private p i; + private p j; + private Bitmap k; + private int l; + private int m; + private String n; + private String o; + private q p; + private int q; + private int r; + private int s; + private int t; + private int u; + private boolean v; + private int w; + private Context x; + + public TitleBar(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + this.x = paramContext; + this.a = new Paint(32); + this.a.setAntiAlias(true); + paramAttributeSet = paramContext.obtainStyledAttributes(paramAttributeSet, m.b); + this.b = paramAttributeSet.getString(0); + this.s = paramAttributeSet.getDimensionPixelSize(1, 0); + this.l = paramAttributeSet.getColor(2, -16777216); + this.m = paramAttributeSet.getColor(3, -1); + this.t = paramAttributeSet.getDimensionPixelSize(4, 0); + this.u = paramAttributeSet.getDimensionPixelSize(5, 0); + this.v = paramAttributeSet.getBoolean(6, true); + paramAttributeSet.recycle(); + paramContext = BitmapFactory.decodeResource(paramContext.getResources(), 2130837536); + if (this.v) + { + this.c = paramContext; + this.d = paramContext; + } + } + + public final void a() + { + Object localObject; + if (this.k != null) + { + localObject = this.k; + float f1 = this.q; + float f2 = this.r; + float f3 = ((Bitmap)localObject).getWidth(); + float f4 = ((Bitmap)localObject).getHeight(); + Matrix localMatrix = new Matrix(); + localMatrix.postScale(f1 / f3, f2 / f4); + this.k = Bitmap.createBitmap((Bitmap)localObject, 0, 0, (int)f3, (int)f4, localMatrix, true); + } + if (this.c != null) + { + this.e = this.c.getWidth(); + this.i = new p(this); + this.i.a(this); + this.i.a(0); + this.i.a(this.c, this.d); + int i2 = s.a(this.x, this.x.getResources().getDimension(2131230741)); + localObject = this.i; + int i1 = i2; + if (this.e > i2) { + i1 = this.e; + } + ((p)localObject).a(i1, this.r); + this.i.b(this.t); + if (this.o != null) { + this.i.a(this.o); + } + if (this.g == null) { + break label356; + } + this.f = this.g.getWidth(); + this.j = new p(this); + this.j.a(1); + this.j.a(this); + this.j.a(this.g, this.h); + this.j.a(this.f, this.r); + this.j.b(this.q - this.e - this.u); + if (this.n != null) { + this.j.a(this.n); + } + } + for (;;) + { + postInvalidate(); + return; + this.i = null; + break; + label356: + this.j = null; + } + } + + public final void a(int paramInt) + { + if (paramInt == 0) { + if (this.p != null) { + this.p.a(); + } + } + while ((paramInt != 1) || (this.p == null)) { + return; + } + this.p.a(); + } + + public final void a(q paramq) + { + this.p = paramq; + } + + public final void a(String paramString) + { + this.b = paramString; + } + + protected void onDraw(Canvas paramCanvas) + { + super.onDraw(paramCanvas); + if (this.k != null) { + paramCanvas.drawBitmap(this.k, 0.0F, 0.0F, this.a); + } + for (;;) + { + this.a.setTextSize(this.s); + if (this.i != null) { + this.i.a(paramCanvas, this.a); + } + if (this.b != null) + { + this.a.setFakeBoldText(false); + String str = this.b; + int i1 = this.q; + Object localObject = this.b; + if (this.w == 0) { + this.w = ((int)this.a.measureText((String)localObject)); + } + float f1 = i1 - this.w >> 1; + localObject = this.a.getFontMetrics(); + float f2 = ((Paint.FontMetrics)localObject).bottom; + float f3 = ((Paint.FontMetrics)localObject).top; + paramCanvas.drawText(str, f1, this.r - (this.r - (f2 - f3)) / 2.0F - ((Paint.FontMetrics)localObject).bottom, this.a); + } + if (this.j != null) { + this.j.a(paramCanvas, this.a); + } + return; + this.a.setColor(this.l); + paramCanvas.drawRect(0.0F, 0.0F, this.q, this.r, this.a); + this.a.setColor(this.m); + } + } + + protected void onMeasure(int paramInt1, int paramInt2) + { + super.onMeasure(paramInt1, paramInt2); + this.q = getMeasuredWidth(); + this.r = getMeasuredHeight(); + a(); + } + + public boolean onTouchEvent(MotionEvent paramMotionEvent) + { + if (this.j != null) { + this.j.a(paramMotionEvent); + } + if (this.i != null) { + this.i.a(paramMotionEvent); + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.TitleBar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/a.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/a.java new file mode 100755 index 00000000000..dde3657ce82 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/a.java @@ -0,0 +1,108 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import java.io.File; + +public final class a +{ + private final b a; + private final ApplicationInfo b; + private final File c; + private String d; + private Drawable e; + private String f; + private boolean g = false; + private boolean h; + + public a(b paramb, ApplicationInfo paramApplicationInfo) + { + this.a = paramb; + this.b = paramApplicationInfo; + this.c = new File(paramApplicationInfo.sourceDir); + } + + public final ApplicationInfo a() + { + return this.b; + } + + public final void a(Context paramContext) + { + if ((this.d == null) || (!this.h)) + { + if (this.c.exists()) { + break label45; + } + this.h = false; + } + for (;;) + { + String str = this.b.packageName; + for (paramContext = this;; paramContext = this) + { + paramContext.d = str; + return; + label45: + this.h = true; + paramContext = this.b.loadLabel(paramContext.getPackageManager()); + if (paramContext == null) { + break; + } + str = paramContext.toString(); + } + } + } + + public final void a(String paramString) + { + this.f = paramString; + } + + public final String b() + { + return this.d; + } + + public final Drawable c() + { + if (this.e == null) + { + if (this.c.exists()) + { + this.e = this.b.loadIcon(this.a.b); + return this.e; + } + this.h = false; + } + do + { + return this.a.getContext().getResources().getDrawable(17301651); + if (this.h) { + break; + } + } while (!this.c.exists()); + this.h = true; + this.e = this.b.loadIcon(this.a.b); + return this.e; + return this.e; + } + + public final String d() + { + return this.f; + } + + public final String toString() + { + return "mLabel:" + this.d + "bFilter:" + this.g; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/b.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/b.java new file mode 100755 index 00000000000..b82533a0e72 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/b.java @@ -0,0 +1,174 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.support.v4.content.AsyncTaskLoader; +import com.tencent.mm.sdk.platformtools.Log; +import com.tencent.token.global.e; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public final class b + extends AsyncTaskLoader +{ + public static List c; + public static final Comparator e = new c(); + public final d a = new d(); + public final PackageManager b = getContext().getPackageManager(); + ArrayList d; + + public b(Context paramContext, ArrayList paramArrayList) + { + super(paramContext); + this.d = paramArrayList; + } + + private static String a(Context paramContext, ApplicationInfo paramApplicationInfo) + { + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramApplicationInfo.packageName, 0); + if (paramContext != null) { + return paramContext.versionName; + } + } + catch (PackageManager.NameNotFoundException paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + paramContext = null; + } + } + return ""; + } + + private List a() + { + for (;;) + { + try + { + Thread.sleep(1000L); + Object localObject1 = this.b.getInstalledApplications(8192); + if (localObject1 == null) + { + localObject1 = new ArrayList(); + Log.i("getList", "getList"); + localContext = getContext(); + localArrayList = new ArrayList(((List)localObject1).size()); + i = 0; + if (i < ((List)localObject1).size()) { + if ((((ApplicationInfo)((List)localObject1).get(i)).flags & 0x1) != 0) + { + j = 1; + if ((j != 0) || (((ApplicationInfo)((List)localObject1).get(i)).packageName.indexOf("com.tencent.token") != -1)) { + continue; + } + localObject2 = new StringBuilder().append(""); + if (this.d != null) { + continue; + } + j = 0; + e.c(j); + e.c("apps" + ((ApplicationInfo)((List)localObject1).get(i)).packageName); + if ((this.d != null) && (this.d.size() != 0)) { + continue; + } + return localArrayList; + } + } + } + } + catch (InterruptedException localInterruptedException) + { + Context localContext; + ArrayList localArrayList; + int i; + Object localObject2; + localInterruptedException.printStackTrace(); + continue; + int j = 0; + continue; + j = this.d.size(); + continue; + j = 0; + if (j < this.d.size()) + { + Object localObject3 = (BugObject)this.d.get(j); + localObject2 = a(localContext, (ApplicationInfo)localInterruptedException.get(i)); + int k = b(localContext, (ApplicationInfo)localInterruptedException.get(i)); + if (((BugObject)localObject3).a().equals(((ApplicationInfo)localInterruptedException.get(i)).packageName)) + { + e.c("bopac" + ((BugObject)localObject3).a()); + e.c("code" + k); + e.c("bo.getVersion()" + ((BugObject)localObject3).b()); + } + if ((((BugObject)localObject3).a().equals(((ApplicationInfo)localInterruptedException.get(i)).packageName)) && (Integer.parseInt(((BugObject)localObject3).b()) >= k)) + { + localObject3 = new a(this, (ApplicationInfo)localInterruptedException.get(i)); + ((a)localObject3).a(localContext); + ((a)localObject3).a((String)localObject2); + localArrayList.add(localObject3); + } + j += 1; + } + else + { + i += 1; + continue; + Collections.sort(localArrayList, e); + return localArrayList; + } + } + } + } + + private static int b(Context paramContext, ApplicationInfo paramApplicationInfo) + { + int i = 0; + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramApplicationInfo.packageName, 0); + if (paramContext != null) { + i = paramContext.versionCode; + } + return i; + } + catch (PackageManager.NameNotFoundException paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + paramContext = null; + } + } + } + + protected final void onReset() + { + super.onReset(); + cancelLoad(); + } + + protected final void onStartLoading() + { + forceLoad(); + } + + protected final void onStopLoading() + { + cancelLoad(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/c.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/c.java new file mode 100755 index 00000000000..9aebebb8432 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/c.java @@ -0,0 +1,16 @@ +package com.tencent.token.utils.bugscanuitl; + +import java.text.Collator; +import java.util.Comparator; + +final class c + implements Comparator +{ + private final Collator a = Collator.getInstance(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/d.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/d.java new file mode 100755 index 00000000000..2529f4146a8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/d.java @@ -0,0 +1,14 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.res.Configuration; + +public final class d +{ + final Configuration a = new Configuration(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/e.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/e.java new file mode 100755 index 00000000000..cb0cdb7470e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/e.java @@ -0,0 +1,12 @@ +package com.tencent.token.utils.bugscanuitl; + +public abstract interface e +{ + public abstract void a(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/f.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/f.java new file mode 100755 index 00000000000..e307f95a4a3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/f.java @@ -0,0 +1,21 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.view.View; +import android.view.View.OnClickListener; + +public abstract class f + implements View.OnClickListener +{ + public abstract void a(int paramInt); + + public void onClick(View paramView) + { + a(((Integer)paramView.getTag()).intValue()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/g.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/g.java new file mode 100755 index 00000000000..5278be7ef22 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/g.java @@ -0,0 +1,37 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.os.Handler; +import android.os.Message; +import com.tencent.token.av; +import com.tencent.token.global.e; +import com.tencent.token.ui.base.DualMsgShowDialog; + +final class g + extends Handler +{ + g(DetectActivity paramDetectActivity) {} + + public final void handleMessage(Message paramMessage) + { + e.a("dualmsg,what=" + paramMessage.what + ", ret=" + paramMessage.arg1); + switch (paramMessage.what) + { + } + do + { + return; + } while ((paramMessage.arg1 != 0) || (av.a().b() <= 0)); + try + { + new DualMsgShowDialog(this.a, false, 0L).show(); + return; + } + catch (Exception paramMessage) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/h.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/h.java new file mode 100755 index 00000000000..e7682592c27 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/h.java @@ -0,0 +1,18 @@ +package com.tencent.token.utils.bugscanuitl; + +final class h + implements q +{ + h(DetectActivity paramDetectActivity) {} + + public final void a() + { + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/i.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/i.java new file mode 100755 index 00000000000..52e224a0100 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/i.java @@ -0,0 +1,21 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.view.View; +import android.view.View.OnClickListener; + +final class i + implements View.OnClickListener +{ + i(DetectActivity paramDetectActivity) {} + + public final void onClick(View paramView) + { + DetectActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/j.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/j.java new file mode 100755 index 00000000000..010caf9d9b9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/j.java @@ -0,0 +1,32 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.TextView; + +final class j + implements View.OnClickListener +{ + j(DetectActivity paramDetectActivity) {} + + public final void onClick(View paramView) + { + if (DetectActivity.access$100(this.a)) { + return; + } + DetectActivity.access$200(this.a).setVisibility(0); + DetectActivity.access$200(this.a).setText(2131362727); + DetectActivity.access$300(this.a).setImageResource(2130837878); + DetectActivity.access$300(this.a).setVisibility(0); + DetectActivity.access$400(this.a).setVisibility(0); + DetectActivity.access$500(this.a).setVisibility(0); + DetectActivity.access$000(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/k.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/k.java new file mode 100755 index 00000000000..656c4b49540 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/k.java @@ -0,0 +1,24 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Intent; +import android.view.View; +import android.view.View.OnClickListener; + +final class k + implements View.OnClickListener +{ + k(DetectActivity paramDetectActivity) {} + + public final void onClick(View paramView) + { + paramView = new Intent(this.a.getApplicationContext(), ResultListActivity.class); + paramView.putExtra("result", this.a.result); + this.a.startActivity(paramView); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/l.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/l.java new file mode 100755 index 00000000000..4e11840c272 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/l.java @@ -0,0 +1,25 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Intent; + +final class l + implements q +{ + l(ResultListActivity paramResultListActivity) {} + + public final void a() + { + Intent localIntent = new Intent(this.a, DetectActivity.class); + localIntent.putExtra("result", this.a.result); + localIntent.putExtra("result_flag", 1); + localIntent.setFlags(67108864); + this.a.startActivity(localIntent); + this.a.finish(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/m.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/m.java new file mode 100755 index 00000000000..5ded435c322 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/m.java @@ -0,0 +1,22 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.pm.ApplicationInfo; +import java.util.List; + +final class m + extends f +{ + m(ResultListActivity paramResultListActivity) {} + + public final void a(int paramInt) + { + String str = ((a)b.c.get(paramInt)).a().packageName; + this.a.uninstall(str); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/n.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/n.java new file mode 100755 index 00000000000..054c1049c7c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/n.java @@ -0,0 +1,86 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AbsListView; +import android.widget.AbsListView.OnScrollListener; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import java.util.List; + +public final class n + extends BaseAdapter + implements AbsListView.OnScrollListener +{ + f a; + private List b; + private LayoutInflater c; + + public n(Context paramContext, List paramList, f paramf) + { + this.b = paramList; + this.c = ((LayoutInflater)paramContext.getSystemService("layout_inflater")); + this.a = paramf; + } + + public final int getCount() + { + if (this.b == null) { + return 0; + } + return this.b.size(); + } + + public final Object getItem(int paramInt) + { + if (this.b == null) { + return null; + } + return this.b.get(paramInt); + } + + public final long getItemId(int paramInt) + { + return paramInt; + } + + public final View getView(int paramInt, View paramView, ViewGroup paramViewGroup) + { + if (this.b == null) { + return null; + } + if (paramView == null) + { + paramView = this.c.inflate(2130903122, null); + paramViewGroup = new o(this); + paramView.setTag(paramViewGroup); + paramViewGroup.a = ((Button)paramView.findViewById(2131296770)); + } + for (;;) + { + TextView localTextView1 = (TextView)paramView.findViewById(2131296772); + TextView localTextView2 = (TextView)paramView.findViewById(2131296773); + localTextView1.setText(((a)this.b.get(paramInt)).b()); + localTextView2.setText(((a)this.b.get(paramInt)).d()); + ((ImageView)paramView.findViewById(2131296771)).setImageDrawable(((a)this.b.get(paramInt)).c()); + paramViewGroup.a.setOnClickListener(this.a); + paramViewGroup.a.setTag(Integer.valueOf(paramInt)); + return paramView; + paramViewGroup = (o)paramView.getTag(); + } + } + + public final void onScroll(AbsListView paramAbsListView, int paramInt1, int paramInt2, int paramInt3) {} + + public final void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/o.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/o.java new file mode 100755 index 00000000000..e74155b09b5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/o.java @@ -0,0 +1,16 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.widget.Button; + +public final class o +{ + public Button a; + + public o(n paramn) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/p.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/p.java new file mode 100755 index 00000000000..4c5f58b2675 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/p.java @@ -0,0 +1,202 @@ +package com.tencent.token.utils.bugscanuitl; + +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.NinePatch; +import android.graphics.Paint; +import android.graphics.Paint.FontMetrics; +import android.graphics.Rect; +import android.view.MotionEvent; +import android.view.View; + +public final class p +{ + private int a; + private int b; + private int c; + private int d; + private int e; + private Bitmap f; + private Bitmap g; + private boolean h; + private View i; + private String j; + private e k; + private boolean l = true; + private boolean m; + + public p(View paramView) + { + this.i = paramView; + } + + public final void a(int paramInt) + { + this.e = paramInt; + } + + public final void a(int paramInt1, int paramInt2) + { + this.c = paramInt1; + this.d = paramInt2; + } + + public final void a(Bitmap paramBitmap1, Bitmap paramBitmap2) + { + this.f = paramBitmap1; + this.g = paramBitmap2; + } + + public final void a(Canvas paramCanvas, Paint paramPaint) + { + if (this.f != null) + { + if (!this.m) { + break label231; + } + if (!this.h) { + break label172; + } + new NinePatch(this.g, this.g.getNinePatchChunk(), null).draw(paramCanvas, new Rect(this.a, this.b, this.a + this.c, this.b + this.d)); + } + for (;;) + { + if (this.j != null) + { + String str = this.j; + float f1 = this.a + (this.c - (int)paramPaint.measureText(this.j)) / 2; + Paint.FontMetrics localFontMetrics = paramPaint.getFontMetrics(); + float f2 = localFontMetrics.bottom; + float f3 = localFontMetrics.top; + paramCanvas.drawText(str, f1, this.b + this.d - (this.d - (f2 - f3)) / 2.0F - localFontMetrics.bottom, paramPaint); + } + return; + label172: + new NinePatch(this.f, this.f.getNinePatchChunk(), null).draw(paramCanvas, new Rect(this.a, this.b, this.a + this.c, this.b + this.d)); + continue; + label231: + if (this.h) { + paramCanvas.drawBitmap(this.g, this.a, this.b + (this.d - this.f.getHeight()) / 2, paramPaint); + } else { + paramCanvas.drawBitmap(this.f, this.a, this.b + (this.d - this.f.getHeight()) / 2, paramPaint); + } + } + } + + public final void a(e parame) + { + this.k = parame; + } + + public final void a(String paramString) + { + this.j = paramString; + } + + public final boolean a(MotionEvent paramMotionEvent) + { + boolean bool2 = false; + float f1 = paramMotionEvent.getX(); + float f2 = paramMotionEvent.getY(); + boolean bool1; + if (paramMotionEvent.getAction() == 1) + { + bool1 = bool2; + if (this.f != null) + { + bool1 = bool2; + if (f1 > this.a - this.c) + { + bool1 = bool2; + if (f1 < this.a + this.c * 3) + { + bool1 = bool2; + if (f2 > this.b) + { + bool1 = bool2; + if (f2 < this.b + this.d) { + if (this.l) + { + this.h = false; + if (this.k != null) { + this.k.a(this.e); + } + if (this.i != null) { + this.i.postInvalidate(); + } + } + } + } + } + } + } + } + for (;;) + { + bool1 = true; + do + { + do + { + do + { + do + { + do + { + do + { + return bool1; + if (paramMotionEvent.getAction() != 0) { + break; + } + bool1 = bool2; + } while (this.f == null); + bool1 = bool2; + } while (f1 <= this.a - this.c); + bool1 = bool2; + } while (f1 >= this.a + this.c * 3); + bool1 = bool2; + } while (f2 <= this.b); + bool1 = bool2; + } while (f2 >= this.b + this.d); + if (!this.l) { + break; + } + this.h = true; + if (this.i == null) { + break; + } + this.i.postInvalidate(); + break; + if (paramMotionEvent.getAction() != 2) { + break; + } + if (((this.f != null) && (f1 < this.a - this.c)) || (f1 > this.a + this.c * 3) || (f2 < this.b)) { + break label353; + } + bool1 = bool2; + } while (f2 <= this.b + this.d); + label353: + if ((this.l) && (this.h)) + { + this.h = false; + if (this.i != null) { + this.i.postInvalidate(); + } + } + } + } + + public final void b(int paramInt) + { + this.a = paramInt; + this.b = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/q.java b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/q.java new file mode 100755 index 00000000000..924bdc9fbb7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/bugscanuitl/q.java @@ -0,0 +1,12 @@ +package com.tencent.token.utils.bugscanuitl; + +public abstract interface q +{ + public abstract void a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.bugscanuitl.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/c.java b/com.tencent.token/classes.jar/com/tencent/token/utils/c.java new file mode 100755 index 00000000000..fd7ad6df95a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/c.java @@ -0,0 +1,284 @@ +package com.tencent.token.utils; + +import android.os.Handler; +import android.os.Handler.Callback; +import android.os.HandlerThread; +import com.tencent.token.ga; +import com.tencent.token.gc; +import com.tencent.token.gd; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +public final class c + extends gd + implements Handler.Callback +{ + private e a; + private FileOutputStream b; + private File c; + private char[] d; + private volatile ga e; + private volatile ga f; + private volatile ga g; + private volatile ga h; + private volatile boolean i = false; + private HandlerThread j; + private Handler k; + + private c(int paramInt, gc paramgc, e parame) + { + super(paramInt, paramgc); + this.a = parame; + this.e = new ga(); + this.f = new ga(); + this.g = this.e; + this.h = this.f; + this.d = new char[parame.d()]; + b(); + this.j = new HandlerThread(parame.c(), parame.f()); + if (this.j != null) { + this.j.start(); + } + if (this.j.isAlive()) { + this.k = new Handler(this.j.getLooper(), this); + } + this.k.sendEmptyMessageDelayed(1024, this.a.e()); + this.k.postDelayed(new d(this), 15000L); + } + + public c(e parame) + { + this(com.tencent.token.global.c.h, gc.a, parame); + } + + private FileOutputStream b() + { + int n = 0; + File localFile = this.a.a(); + int m = n; + if (this.c != null) { + if (this.c.exists()) + { + m = n; + if (this.c.canWrite()) {} + } + else + { + m = 1; + } + } + if ((m != 0) || ((localFile != null) && (!localFile.equals(this.c)))) { + this.c = localFile; + } + try + { + if (this.b != null) + { + this.b.flush(); + this.b.close(); + } + } + catch (Exception localException) + { + for (;;) + { + try + { + this.b = new FileOutputStream(this.c, true); + return this.b; + } + catch (IOException localIOException) {} + localException = localException; + localException.printStackTrace(); + } + } + return null; + } + + public final e a() + { + return this.a; + } + + protected final void a(int paramInt, Thread paramThread, long paramLong, String paramString1, String paramString2) + { + paramThread = gc.a(paramInt, paramThread, paramLong, paramString1, paramString2); + this.g.a(paramThread); + if (this.g.a() >= this.a.d()) + { + if (this.k.hasMessages(1024)) { + this.k.removeMessages(1024); + } + this.k.sendEmptyMessage(1024); + } + } + + /* Error */ + public final boolean handleMessage(android.os.Message paramMessage) + { + // Byte code: + // 0: aload_1 + // 1: getfield 184 android/os/Message:what I + // 4: tableswitch default:+20 -> 24, 1024:+22->26 + // 25: ireturn + // 26: invokestatic 190 java/lang/Thread:currentThread ()Ljava/lang/Thread; + // 29: aload_0 + // 30: getfield 69 com/tencent/token/utils/c:j Landroid/os/HandlerThread; + // 33: if_acmpne +120 -> 153 + // 36: aload_0 + // 37: getfield 32 com/tencent/token/utils/c:i Z + // 40: ifne +113 -> 153 + // 43: aload_0 + // 44: iconst_1 + // 45: putfield 32 com/tencent/token/utils/c:i Z + // 48: aconst_null + // 49: astore_3 + // 50: aconst_null + // 51: astore_1 + // 52: aload_0 + // 53: monitorenter + // 54: aload_0 + // 55: getfield 45 com/tencent/token/utils/c:g Lcom/tencent/token/ga; + // 58: aload_0 + // 59: getfield 41 com/tencent/token/utils/c:e Lcom/tencent/token/ga; + // 62: if_acmpne +111 -> 173 + // 65: aload_0 + // 66: aload_0 + // 67: getfield 43 com/tencent/token/utils/c:f Lcom/tencent/token/ga; + // 70: putfield 45 com/tencent/token/utils/c:g Lcom/tencent/token/ga; + // 73: aload_0 + // 74: aload_0 + // 75: getfield 41 com/tencent/token/utils/c:e Lcom/tencent/token/ga; + // 78: putfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 81: aload_0 + // 82: monitorexit + // 83: aload_3 + // 84: astore_2 + // 85: aload_0 + // 86: invokespecial 57 com/tencent/token/utils/c:b ()Ljava/io/FileOutputStream; + // 89: astore 4 + // 91: aload 4 + // 93: ifnull +40 -> 133 + // 96: aload_3 + // 97: astore_2 + // 98: aload 4 + // 100: invokevirtual 194 java/io/FileOutputStream:getChannel ()Ljava/nio/channels/FileChannel; + // 103: invokevirtual 200 java/nio/channels/FileChannel:lock ()Ljava/nio/channels/FileLock; + // 106: astore_1 + // 107: aload_1 + // 108: astore_2 + // 109: new 202 java/io/OutputStreamWriter + // 112: dup + // 113: aload 4 + // 115: invokespecial 205 java/io/OutputStreamWriter: (Ljava/io/OutputStream;)V + // 118: astore_3 + // 119: aload_1 + // 120: astore_2 + // 121: aload_0 + // 122: getfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 125: aload_3 + // 126: aload_0 + // 127: getfield 54 com/tencent/token/utils/c:d [C + // 130: invokevirtual 208 com/tencent/token/ga:a (Ljava/io/Writer;[C)V + // 133: aload_1 + // 134: ifnull +7 -> 141 + // 137: aload_1 + // 138: invokevirtual 213 java/nio/channels/FileLock:release ()V + // 141: aload_0 + // 142: getfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 145: invokevirtual 215 com/tencent/token/ga:b ()V + // 148: aload_0 + // 149: iconst_0 + // 150: putfield 32 com/tencent/token/utils/c:i Z + // 153: aload_0 + // 154: getfield 87 com/tencent/token/utils/c:k Landroid/os/Handler; + // 157: sipush 1024 + // 160: aload_0 + // 161: getfield 34 com/tencent/token/utils/c:a Lcom/tencent/token/utils/e; + // 164: invokevirtual 90 com/tencent/token/utils/e:e ()J + // 167: invokevirtual 94 android/os/Handler:sendEmptyMessageDelayed (IJ)Z + // 170: pop + // 171: iconst_1 + // 172: ireturn + // 173: aload_0 + // 174: aload_0 + // 175: getfield 41 com/tencent/token/utils/c:e Lcom/tencent/token/ga; + // 178: putfield 45 com/tencent/token/utils/c:g Lcom/tencent/token/ga; + // 181: aload_0 + // 182: aload_0 + // 183: getfield 43 com/tencent/token/utils/c:f Lcom/tencent/token/ga; + // 186: putfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 189: goto -108 -> 81 + // 192: astore_1 + // 193: aload_0 + // 194: monitorexit + // 195: aload_1 + // 196: athrow + // 197: astore_1 + // 198: aload_2 + // 199: ifnull +7 -> 206 + // 202: aload_2 + // 203: invokevirtual 213 java/nio/channels/FileLock:release ()V + // 206: aload_0 + // 207: getfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 210: invokevirtual 215 com/tencent/token/ga:b ()V + // 213: goto -65 -> 148 + // 216: astore_1 + // 217: aconst_null + // 218: astore_2 + // 219: aload_2 + // 220: ifnull +7 -> 227 + // 223: aload_2 + // 224: invokevirtual 213 java/nio/channels/FileLock:release ()V + // 227: aload_0 + // 228: getfield 47 com/tencent/token/utils/c:h Lcom/tencent/token/ga; + // 231: invokevirtual 215 com/tencent/token/ga:b ()V + // 234: aload_1 + // 235: athrow + // 236: astore_1 + // 237: goto -96 -> 141 + // 240: astore_1 + // 241: goto -35 -> 206 + // 244: astore_2 + // 245: goto -18 -> 227 + // 248: astore_3 + // 249: aload_1 + // 250: astore_2 + // 251: aload_3 + // 252: astore_1 + // 253: goto -34 -> 219 + // Local variable table: + // start length slot name signature + // 0 256 0 this c + // 0 256 1 paramMessage android.os.Message + // 84 140 2 localObject1 java.lang.Object + // 244 1 2 localException Exception + // 250 1 2 localMessage android.os.Message + // 49 77 3 localOutputStreamWriter java.io.OutputStreamWriter + // 248 4 3 localObject2 java.lang.Object + // 89 25 4 localFileOutputStream FileOutputStream + // Exception table: + // from to target type + // 54 81 192 finally + // 81 83 192 finally + // 173 189 192 finally + // 85 91 197 java/lang/Exception + // 98 107 197 java/lang/Exception + // 109 119 197 java/lang/Exception + // 121 133 197 java/lang/Exception + // 85 91 216 finally + // 98 107 216 finally + // 137 141 236 java/lang/Exception + // 202 206 240 java/lang/Exception + // 223 227 244 java/lang/Exception + // 109 119 248 finally + // 121 133 248 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/d.java b/com.tencent.token/classes.jar/com/tencent/token/utils/d.java new file mode 100755 index 00000000000..c22cc996ae1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/d.java @@ -0,0 +1,18 @@ +package com.tencent.token.utils; + +final class d + implements Runnable +{ + d(c paramc) {} + + public final void run() + { + this.a.a().b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/e.java b/com.tencent.token/classes.jar/com/tencent/token/utils/e.java new file mode 100755 index 00000000000..b1d33237f41 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/e.java @@ -0,0 +1,166 @@ +package com.tencent.token.utils; + +import com.tencent.token.ag; +import java.io.File; +import java.io.FileFilter; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; + +public final class e +{ + private static FileFilter a = new f(); + private String b = "Tracer.File"; + private int c = 2147483647; + private int d = 2147483647; + private int e = 4096; + private long f = 10000L; + private File g; + private int h = 10; + private String i = ".log"; + private long j = 9223372036854775807L; + private FileFilter k = new g(this); + private Comparator l = new h(this); + + public e(File paramFile, int paramInt, String paramString1, String paramString2, long paramLong) + { + this.g = paramFile; + this.d = paramInt; + this.c = 262144; + this.e = 8192; + this.b = paramString1; + this.f = 10000L; + this.h = 10; + this.i = paramString2; + this.j = paramLong; + } + + public static long a(File paramFile) + { + try + { + long l1 = new SimpleDateFormat("yyyy-MM-dd").parse(paramFile.getName()).getTime(); + return l1; + } + catch (Exception paramFile) {} + return -1L; + } + + private static int d(File paramFile) + { + try + { + paramFile = paramFile.getName(); + int m = Integer.parseInt(paramFile.substring(0, paramFile.indexOf('.'))); + return m; + } + catch (Exception paramFile) {} + return -1; + } + + public final File a() + { + File localFile = a(ag.c().r()); + File[] arrayOfFile = localFile.listFiles(this.k); + if ((arrayOfFile == null) || (arrayOfFile.length == 0)) + { + localObject2 = new File(localFile, "1" + this.i); + return localObject2; + } + Arrays.sort(arrayOfFile, this.l); + Object localObject2 = arrayOfFile[(arrayOfFile.length - 1)]; + int n = arrayOfFile.length - this.d; + int m = n; + Object localObject1 = localObject2; + if ((int)((File)localObject2).length() > this.c) + { + m = d((File)localObject2); + localObject1 = new File(localFile, m + 1 + this.i); + m = n + 1; + } + n = 0; + for (;;) + { + localObject2 = localObject1; + if (n >= m) { + break; + } + arrayOfFile[n].delete(); + n += 1; + } + } + + public final File a(long paramLong) + { + File localFile = new File(this.g, new SimpleDateFormat("yyyy-MM-dd").format(Long.valueOf(paramLong))); + localFile.mkdirs(); + return localFile; + } + + public final File[] a(File[] paramArrayOfFile) + { + Arrays.sort(paramArrayOfFile, this.l); + return paramArrayOfFile; + } + + public final void b() + { + if (this.g == null) {} + for (;;) + { + return; + File[] arrayOfFile = this.g.listFiles(a); + if (arrayOfFile != null) + { + int n = arrayOfFile.length; + int m = 0; + while (m < n) + { + File localFile = arrayOfFile[m]; + long l1 = a(localFile); + if (System.currentTimeMillis() - l1 > this.j) { + i.a(localFile); + } + m += 1; + } + } + } + } + + public final File[] b(File paramFile) + { + return paramFile.listFiles(this.k); + } + + public final String c() + { + return this.b; + } + + public final int d() + { + return this.e; + } + + public final long e() + { + return this.f; + } + + public final int f() + { + return this.h; + } + + public final String g() + { + return this.i; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/TknEncManager.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/TknEncManager.java new file mode 100755 index 00000000000..0106f36d844 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/TknEncManager.java @@ -0,0 +1,37 @@ +package com.tencent.token.utils.encrypt; + +import android.content.Context; +import com.tencent.token.global.RqdApplication; + +public class TknEncManager +{ + private static TknEncManager a = null; + + static + { + System.loadLibrary("secure"); + } + + private TknEncManager() + { + initEncKey(RqdApplication.i(), 2131361935); + } + + public static TknEncManager a() + { + if (a == null) { + a = new TknEncManager(); + } + return a; + } + + private native void initEncKey(Context paramContext, int paramInt); + + public native byte[] decInitCode(byte[] paramArrayOfByte); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.TknEncManager + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/a.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/a.java new file mode 100755 index 00000000000..2704c5e7506 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/a.java @@ -0,0 +1,380 @@ +package com.tencent.token.utils.encrypt; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.Random; + +public final class a +{ + private byte[] a; + private byte[] b; + private byte[] c; + private int d; + private int e; + private int f; + private int g; + private byte[] h; + private boolean i = true; + private int j; + private Random k = new Random(); + + private static long a(byte[] paramArrayOfByte, int paramInt) + { + long l = 0L; + int m = paramInt; + while (m < paramInt + 4) + { + l = l << 8 | paramArrayOfByte[m] & 0xFF; + m += 1; + } + return l >>> 32 | 0xFFFFFFFF & l; + } + + private void a() + { + this.f = 0; + byte[] arrayOfByte; + int m; + if (this.f < 8) + { + if (this.i) + { + arrayOfByte = this.a; + m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.b[this.f])); + } + for (;;) + { + this.f += 1; + break; + arrayOfByte = this.a; + m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.c[(this.e + this.f)])); + } + } + System.arraycopy(a(this.a), 0, this.c, this.d, 8); + for (this.f = 0; this.f < 8; this.f += 1) + { + arrayOfByte = this.c; + m = this.d + this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.b[this.f])); + } + System.arraycopy(this.a, 0, this.b, 0, 8); + this.e = this.d; + this.d += 8; + this.f = 0; + this.i = false; + } + + private byte[] a(byte[] paramArrayOfByte) + { + int m = 16; + for (;;) + { + long l3; + long l2; + long l4; + long l5; + long l6; + long l7; + long l1; + try + { + l3 = a(paramArrayOfByte, 0); + l2 = a(paramArrayOfByte, 4); + l4 = a(this.h, 0); + l5 = a(this.h, 4); + l6 = a(this.h, 8); + l7 = a(this.h, 12); + l1 = 0L; + } + catch (IOException paramArrayOfByte) + { + DataOutputStream localDataOutputStream; + return null; + } + paramArrayOfByte = new ByteArrayOutputStream(8); + localDataOutputStream = new DataOutputStream(paramArrayOfByte); + localDataOutputStream.writeInt((int)l3); + localDataOutputStream.writeInt((int)l2); + localDataOutputStream.close(); + paramArrayOfByte = paramArrayOfByte.toByteArray(); + return paramArrayOfByte; + while (m > 0) + { + l1 = l1 + 2654435769L & 0xFFFFFFFF; + l3 = l3 + ((l2 << 4) + l4 ^ l2 + l1 ^ (l2 >>> 5) + l5) & 0xFFFFFFFF; + l2 = l2 + ((l3 << 4) + l6 ^ l3 + l1 ^ (l3 >>> 5) + l7) & 0xFFFFFFFF; + m -= 1; + } + } + } + + private boolean b(byte[] paramArrayOfByte, int paramInt) + { + for (this.f = 0; this.f < 8; this.f += 1) + { + if (this.j + this.f >= paramInt) { + return true; + } + byte[] arrayOfByte = this.b; + int m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ paramArrayOfByte[(this.d + 0 + this.f)])); + } + this.b = b(this.b); + if (this.b == null) { + return false; + } + this.j += 8; + this.d += 8; + this.f = 0; + return true; + } + + private byte[] b(byte[] paramArrayOfByte) + { + int m = 16; + for (;;) + { + long l3; + long l2; + long l4; + long l5; + long l6; + long l7; + long l1; + try + { + l3 = a(paramArrayOfByte, 0); + l2 = a(paramArrayOfByte, 4); + l4 = a(this.h, 0); + l5 = a(this.h, 4); + l6 = a(this.h, 8); + l7 = a(this.h, 12); + l1 = 3816266640L; + } + catch (IOException paramArrayOfByte) + { + DataOutputStream localDataOutputStream; + return null; + } + paramArrayOfByte = new ByteArrayOutputStream(8); + localDataOutputStream = new DataOutputStream(paramArrayOfByte); + localDataOutputStream.writeInt((int)l3); + localDataOutputStream.writeInt((int)l2); + localDataOutputStream.close(); + paramArrayOfByte = paramArrayOfByte.toByteArray(); + return paramArrayOfByte; + while (m > 0) + { + l2 = l2 - ((l3 << 4) + l6 ^ l3 + l1 ^ (l3 >>> 5) + l7) & 0xFFFFFFFF; + l3 = l3 - ((l2 << 4) + l4 ^ l2 + l1 ^ (l2 >>> 5) + l5) & 0xFFFFFFFF; + l1 = l1 - 2654435769L & 0xFFFFFFFF; + m -= 1; + } + } + } + + public final byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if (paramArrayOfByte2 == null) { + return null; + } + int i3 = paramArrayOfByte1.length; + this.e = 0; + this.d = 0; + this.h = paramArrayOfByte2; + paramArrayOfByte2 = new byte[8]; + if ((i3 % 8 != 0) || (i3 < 16)) { + return null; + } + this.b = b(paramArrayOfByte1); + this.f = (this.b[0] & 0x7); + int n = i3 - this.f - 10; + if (n < 0) { + return null; + } + int m = 0; + while (m < paramArrayOfByte2.length) + { + paramArrayOfByte2[m] = 0; + m += 1; + } + this.c = new byte[n]; + this.e = 0; + this.d = 8; + this.j = 8; + this.f += 1; + this.g = 1; + for (;;) + { + if (this.g <= 2) + { + if (this.f < 8) + { + this.f += 1; + this.g += 1; + } + if (this.f != 8) { + continue; + } + if (!b(paramArrayOfByte1, i3)) { + return null; + } + } + else + { + int i1 = 0; + m = n; + for (;;) + { + int i2; + if (m != 0) + { + i2 = i1; + n = m; + if (this.f < 8) + { + this.c[i1] = ((byte)(paramArrayOfByte2[(this.e + 0 + this.f)] ^ this.b[this.f])); + i2 = i1 + 1; + n = m - 1; + this.f += 1; + } + i1 = i2; + m = n; + if (this.f != 8) { + continue; + } + this.e = (this.d - 8); + if (!b(paramArrayOfByte1, i3)) { + return null; + } + } + else + { + for (this.g = 1; this.g < 8; this.g += 1) + { + if (this.f < 8) + { + if ((paramArrayOfByte2[(this.e + 0 + this.f)] ^ this.b[this.f]) != 0) { + return null; + } + this.f += 1; + } + if (this.f == 8) + { + this.e = this.d; + if (!b(paramArrayOfByte1, i3)) { + return null; + } + paramArrayOfByte2 = paramArrayOfByte1; + } + } + return this.c; + } + paramArrayOfByte2 = paramArrayOfByte1; + i1 = i2; + m = n; + } + } + paramArrayOfByte2 = paramArrayOfByte1; + } + } + + public final byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if (paramArrayOfByte2 == null) { + return null; + } + int n = paramArrayOfByte1.length; + this.a = new byte[8]; + this.b = new byte[8]; + this.f = 1; + this.g = 0; + this.e = 0; + this.d = 0; + this.h = paramArrayOfByte2; + this.i = true; + this.f = ((n + 10) % 8); + if (this.f != 0) { + this.f = (8 - this.f); + } + this.c = new byte[this.f + n + 10]; + this.a[0] = ((byte)(this.k.nextInt() & 0xF8 | this.f)); + int m = 1; + while (m <= this.f) + { + this.a[m] = ((byte)(this.k.nextInt() & 0xFF)); + m += 1; + } + this.f += 1; + m = 0; + while (m < 8) + { + this.b[m] = 0; + m += 1; + } + this.g = 1; + while (this.g <= 2) + { + if (this.f < 8) + { + paramArrayOfByte2 = this.a; + m = this.f; + this.f = (m + 1); + paramArrayOfByte2[m] = ((byte)(this.k.nextInt() & 0xFF)); + this.g += 1; + } + if (this.f == 8) { + a(); + } + } + m = 0; + if (n > 0) + { + if (this.f >= 8) { + break label422; + } + paramArrayOfByte2 = this.a; + int i2 = this.f; + this.f = (i2 + 1); + int i1 = m + 1; + paramArrayOfByte2[i2] = paramArrayOfByte1[m]; + n -= 1; + m = i1; + } + label422: + for (;;) + { + if (this.f == 8) + { + a(); + break; + this.g = 1; + while (this.g <= 7) + { + if (this.f < 8) + { + paramArrayOfByte1 = this.a; + m = this.f; + this.f = (m + 1); + paramArrayOfByte1[m] = 0; + this.g += 1; + } + if (this.f == 8) { + a(); + } + } + return this.c; + } + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/b.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/b.java new file mode 100755 index 00000000000..6e46661dd04 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/b.java @@ -0,0 +1,89 @@ +package com.tencent.token.utils.encrypt; + +import com.tencent.token.fu; +import com.tencent.token.utils.encrypt.random.PRNGFixes; +import com.tencent.token.utils.encrypt.random.SecureRandom; + +public final class b +{ + public static fu a() + { + byte[] arrayOfByte = new byte[14]; + Object localObject2 = System.getProperty("microedition.platform"); + Object localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + int j = Runtime.getRuntime().hashCode(); + try + { + PRNGFixes.a(); + localObject2 = new SecureRandom(); + SecureRandom localSecureRandom = new SecureRandom(); + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append((String)localObject1).append(localSecureRandom.nextInt()).append(System.currentTimeMillis()).append(j).append(new Object().hashCode()); + ((SecureRandom)localObject2).a(localStringBuffer.toString().getBytes()); + int i = 1; + while (i < arrayOfByte.length) + { + arrayOfByte[i] = ((byte)(Math.abs(((SecureRandom)localObject2).nextInt()) % 256)); + localSecureRandom.a(localSecureRandom.a(i)); + localStringBuffer = new StringBuffer(); + localStringBuffer.append(System.currentTimeMillis() + "").append(localSecureRandom.nextInt()).append(j).append(new Object().hashCode()); + localStringBuffer.insert(Math.abs(localSecureRandom.nextInt()) % localStringBuffer.length(), (String)localObject1); + ((SecureRandom)localObject2).a(localStringBuffer.toString().getBytes()); + i += 1; + } + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + arrayOfByte[0] = ((byte)(Math.abs(localException.nextInt()) % 64)); + } + return new fu(arrayOfByte); + } + + public static fu a(fu paramfu1, fu paramfu2, fu paramfu3) + { + if ((paramfu1 == null) || (paramfu2 == null) || (paramfu3 == null)) { + return null; + } + try + { + paramfu1 = paramfu2.a(paramfu1, paramfu3); + return paramfu1; + } + catch (Exception paramfu1) + { + paramfu1.printStackTrace(); + } + return null; + } + + public static String a(fu paramfu1, fu paramfu2) + { + if ((paramfu1 == null) || (paramfu2 == null)) { + return null; + } + fu localfu = new fu(2L + ""); + try + { + paramfu1 = localfu.a(paramfu1, paramfu2); + return paramfu1.a().toUpperCase(); + } + catch (Exception paramfu1) + { + paramfu1.printStackTrace(); + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/c.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/c.java new file mode 100755 index 00000000000..aa44c4497da --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/c.java @@ -0,0 +1,379 @@ +package com.tencent.token.utils.encrypt; + +import java.io.UnsupportedEncodingException; + +public final class c +{ + static final byte[] a = { -128, 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, 0, 0, 0 }; + private long[] b = new long[4]; + private long[] c = new long[2]; + private byte[] d = new byte[64]; + private byte[] e = new byte[16]; + + public c() + { + a(); + } + + private static long a(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = (paramLong2 & paramLong3 | (0xFFFFFFFF ^ paramLong2) & paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private static String a(byte paramByte) + { + char[] arrayOfChar = new char[16]; + char[] tmp6_5 = arrayOfChar; + tmp6_5[0] = 48; + char[] tmp11_6 = tmp6_5; + tmp11_6[1] = 49; + char[] tmp16_11 = tmp11_6; + tmp16_11[2] = 50; + char[] tmp21_16 = tmp16_11; + tmp21_16[3] = 51; + char[] tmp26_21 = tmp21_16; + tmp26_21[4] = 52; + char[] tmp31_26 = tmp26_21; + tmp31_26[5] = 53; + char[] tmp36_31 = tmp31_26; + tmp36_31[6] = 54; + char[] tmp42_36 = tmp36_31; + tmp42_36[7] = 55; + char[] tmp48_42 = tmp42_36; + tmp48_42[8] = 56; + char[] tmp54_48 = tmp48_42; + tmp54_48[9] = 57; + char[] tmp60_54 = tmp54_48; + tmp60_54[10] = 65; + char[] tmp66_60 = tmp60_54; + tmp66_60[11] = 66; + char[] tmp72_66 = tmp66_60; + tmp72_66[12] = 67; + char[] tmp78_72 = tmp72_66; + tmp78_72[13] = 68; + char[] tmp84_78 = tmp78_72; + tmp84_78[14] = 69; + char[] tmp90_84 = tmp84_78; + tmp90_84[15] = 70; + tmp90_84; + return new String(new char[] { arrayOfChar[(paramByte >>> 4 & 0xF)], arrayOfChar[(paramByte & 0xF)] }); + } + + private void a() + { + this.c[0] = 0L; + this.c[1] = 0L; + this.b[0] = 1732584193L; + this.b[1] = 4023233417L; + this.b[2] = 2562383102L; + this.b[3] = 271733878L; + } + + private void a(byte[] paramArrayOfByte, int paramInt) + { + int k = 0; + byte[] arrayOfByte = new byte[64]; + int j = (int)(this.c[0] >>> 3) & 0x3F; + Object localObject = this.c; + long l = localObject[0] + (paramInt << 3); + localObject[0] = l; + if (l < paramInt << 3) + { + localObject = this.c; + localObject[1] += 1L; + } + localObject = this.c; + localObject[1] += (paramInt >>> 29); + int m = 64 - j; + int i; + if (paramInt >= m) + { + localObject = this.d; + i = 0; + while (i < m) + { + localObject[(j + i)] = paramArrayOfByte[(i + 0)]; + i += 1; + } + d(this.d); + i = m; + while (i + 63 < paramInt) + { + j = 0; + while (j < 64) + { + arrayOfByte[(j + 0)] = paramArrayOfByte[(i + j)]; + j += 1; + } + d(arrayOfByte); + i += 64; + } + m = 0; + j = i; + i = m; + } + for (;;) + { + arrayOfByte = this.d; + while (k < paramInt - j) + { + arrayOfByte[(i + k)] = paramArrayOfByte[(j + k)]; + k += 1; + } + m = 0; + i = j; + j = m; + } + } + + private static void a(byte[] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + int i = 0; + int j = 0; + while (i < paramInt) + { + paramArrayOfByte[i] = ((byte)(int)(paramArrayOfLong[j] & 0xFF)); + paramArrayOfByte[(i + 1)] = ((byte)(int)(paramArrayOfLong[j] >>> 8 & 0xFF)); + paramArrayOfByte[(i + 2)] = ((byte)(int)(paramArrayOfLong[j] >>> 16 & 0xFF)); + paramArrayOfByte[(i + 3)] = ((byte)(int)(paramArrayOfLong[j] >>> 24 & 0xFF)); + j += 1; + i += 4; + } + } + + public static byte[] a(String paramString) + { + try + { + byte[] arrayOfByte = paramString.getBytes("ISO8859_1"); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + paramString = paramString.getBytes(); + } + } + return new c().c(paramString); + } + + public static byte[] a(byte[] paramArrayOfByte) + { + return new c().c(paramArrayOfByte); + } + + private static long b(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = (paramLong2 & paramLong4 | (0xFFFFFFFF ^ paramLong4) & paramLong3) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + public static String b(String paramString) + { + try + { + arrayOfByte = paramString.getBytes("ISO8859_1"); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + byte[] arrayOfByte; + int i; + paramString = paramString.getBytes(); + } + } + arrayOfByte = new c().c(paramString); + paramString = ""; + i = 0; + while (i < 16) + { + paramString = paramString + a(arrayOfByte[i]); + i += 1; + } + return paramString; + } + + public static String b(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new c().c(paramArrayOfByte); + paramArrayOfByte = ""; + int i = 0; + while (i < 16) + { + paramArrayOfByte = paramArrayOfByte + a(arrayOfByte[i]); + i += 1; + } + return paramArrayOfByte; + } + + private static long c(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = (paramLong2 ^ paramLong3 ^ paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private byte[] c(byte[] paramArrayOfByte) + { + a(); + a(paramArrayOfByte, paramArrayOfByte.length); + paramArrayOfByte = new byte[8]; + a(paramArrayOfByte, this.c, 8); + int i = (int)(this.c[0] >>> 3) & 0x3F; + if (i < 56) {} + for (i = 56 - i;; i = 120 - i) + { + a(a, i); + a(paramArrayOfByte, 8); + a(this.e, this.b, 16); + return this.e; + } + } + + private static long d(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = ((0xFFFFFFFF ^ paramLong4 | paramLong2) ^ paramLong3) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private void d(byte[] paramArrayOfByte) + { + long l8 = this.b[0]; + long l5 = this.b[1]; + long l6 = this.b[2]; + long l7 = this.b[3]; + long[] arrayOfLong = new long[16]; + int j = 0; + int i = 0; + if (j < 64) + { + int k = paramArrayOfByte[j]; + if (k < 0) + { + l1 = k & 0xFF; + label67: + k = paramArrayOfByte[(j + 1)]; + if (k >= 0) { + break label173; + } + l2 = k & 0xFF; + label88: + k = paramArrayOfByte[(j + 2)]; + if (k >= 0) { + break label181; + } + l3 = k & 0xFF; + label109: + k = paramArrayOfByte[(j + 3)]; + if (k >= 0) { + break label189; + } + } + label173: + label181: + label189: + for (l4 = k & 0xFF;; l4 = k) + { + arrayOfLong[i] = (l4 << 24 | l2 << 8 | l1 | l3 << 16); + j += 4; + i += 1; + break; + l1 = k; + break label67; + l2 = k; + break label88; + l3 = k; + break label109; + } + } + long l1 = a(l8, l5, l6, l7, arrayOfLong[0], 7L, 3614090360L); + long l2 = a(l7, l1, l5, l6, arrayOfLong[1], 12L, 3905402710L); + long l3 = a(l6, l2, l1, l5, arrayOfLong[2], 17L, 606105819L); + long l4 = a(l5, l3, l2, l1, arrayOfLong[3], 22L, 3250441966L); + l1 = a(l1, l4, l3, l2, arrayOfLong[4], 7L, 4118548399L); + l2 = a(l2, l1, l4, l3, arrayOfLong[5], 12L, 1200080426L); + l3 = a(l3, l2, l1, l4, arrayOfLong[6], 17L, 2821735955L); + l4 = a(l4, l3, l2, l1, arrayOfLong[7], 22L, 4249261313L); + l1 = a(l1, l4, l3, l2, arrayOfLong[8], 7L, 1770035416L); + l2 = a(l2, l1, l4, l3, arrayOfLong[9], 12L, 2336552879L); + l3 = a(l3, l2, l1, l4, arrayOfLong[10], 17L, 4294925233L); + l4 = a(l4, l3, l2, l1, arrayOfLong[11], 22L, 2304563134L); + l1 = a(l1, l4, l3, l2, arrayOfLong[12], 7L, 1804603682L); + l2 = a(l2, l1, l4, l3, arrayOfLong[13], 12L, 4254626195L); + l3 = a(l3, l2, l1, l4, arrayOfLong[14], 17L, 2792965006L); + l4 = a(l4, l3, l2, l1, arrayOfLong[15], 22L, 1236535329L); + l1 = b(l1, l4, l3, l2, arrayOfLong[1], 5L, 4129170786L); + l2 = b(l2, l1, l4, l3, arrayOfLong[6], 9L, 3225465664L); + l3 = b(l3, l2, l1, l4, arrayOfLong[11], 14L, 643717713L); + l4 = b(l4, l3, l2, l1, arrayOfLong[0], 20L, 3921069994L); + l1 = b(l1, l4, l3, l2, arrayOfLong[5], 5L, 3593408605L); + l2 = b(l2, l1, l4, l3, arrayOfLong[10], 9L, 38016083L); + l3 = b(l3, l2, l1, l4, arrayOfLong[15], 14L, 3634488961L); + l4 = b(l4, l3, l2, l1, arrayOfLong[4], 20L, 3889429448L); + l1 = b(l1, l4, l3, l2, arrayOfLong[9], 5L, 568446438L); + l2 = b(l2, l1, l4, l3, arrayOfLong[14], 9L, 3275163606L); + l3 = b(l3, l2, l1, l4, arrayOfLong[3], 14L, 4107603335L); + l4 = b(l4, l3, l2, l1, arrayOfLong[8], 20L, 1163531501L); + l1 = b(l1, l4, l3, l2, arrayOfLong[13], 5L, 2850285829L); + l2 = b(l2, l1, l4, l3, arrayOfLong[2], 9L, 4243563512L); + l3 = b(l3, l2, l1, l4, arrayOfLong[7], 14L, 1735328473L); + l4 = b(l4, l3, l2, l1, arrayOfLong[12], 20L, 2368359562L); + l1 = c(l1, l4, l3, l2, arrayOfLong[5], 4L, 4294588738L); + l2 = c(l2, l1, l4, l3, arrayOfLong[8], 11L, 2272392833L); + l3 = c(l3, l2, l1, l4, arrayOfLong[11], 16L, 1839030562L); + l4 = c(l4, l3, l2, l1, arrayOfLong[14], 23L, 4259657740L); + l1 = c(l1, l4, l3, l2, arrayOfLong[1], 4L, 2763975236L); + l2 = c(l2, l1, l4, l3, arrayOfLong[4], 11L, 1272893353L); + l3 = c(l3, l2, l1, l4, arrayOfLong[7], 16L, 4139469664L); + l4 = c(l4, l3, l2, l1, arrayOfLong[10], 23L, 3200236656L); + l1 = c(l1, l4, l3, l2, arrayOfLong[13], 4L, 681279174L); + l2 = c(l2, l1, l4, l3, arrayOfLong[0], 11L, 3936430074L); + l3 = c(l3, l2, l1, l4, arrayOfLong[3], 16L, 3572445317L); + l4 = c(l4, l3, l2, l1, arrayOfLong[6], 23L, 76029189L); + l1 = c(l1, l4, l3, l2, arrayOfLong[9], 4L, 3654602809L); + l2 = c(l2, l1, l4, l3, arrayOfLong[12], 11L, 3873151461L); + l3 = c(l3, l2, l1, l4, arrayOfLong[15], 16L, 530742520L); + l4 = c(l4, l3, l2, l1, arrayOfLong[2], 23L, 3299628645L); + l1 = d(l1, l4, l3, l2, arrayOfLong[0], 6L, 4096336452L); + l2 = d(l2, l1, l4, l3, arrayOfLong[7], 10L, 1126891415L); + l3 = d(l3, l2, l1, l4, arrayOfLong[14], 15L, 2878612391L); + l4 = d(l4, l3, l2, l1, arrayOfLong[5], 21L, 4237533241L); + l1 = d(l1, l4, l3, l2, arrayOfLong[12], 6L, 1700485571L); + l2 = d(l2, l1, l4, l3, arrayOfLong[3], 10L, 2399980690L); + l3 = d(l3, l2, l1, l4, arrayOfLong[10], 15L, 4293915773L); + l4 = d(l4, l3, l2, l1, arrayOfLong[1], 21L, 2240044497L); + l1 = d(l1, l4, l3, l2, arrayOfLong[8], 6L, 1873313359L); + l2 = d(l2, l1, l4, l3, arrayOfLong[15], 10L, 4264355552L); + l3 = d(l3, l2, l1, l4, arrayOfLong[6], 15L, 2734768916L); + l4 = d(l4, l3, l2, l1, arrayOfLong[13], 21L, 1309151649L); + l1 = d(l1, l4, l3, l2, arrayOfLong[4], 6L, 4149444226L); + l2 = d(l2, l1, l4, l3, arrayOfLong[11], 10L, 3174756917L); + l3 = d(l3, l2, l1, l4, arrayOfLong[2], 15L, 718787259L); + l4 = d(l4, l3, l2, l1, arrayOfLong[9], 21L, 3951481745L); + paramArrayOfByte = this.b; + paramArrayOfByte[0] += l1; + paramArrayOfByte = this.b; + paramArrayOfByte[1] = (l4 + paramArrayOfByte[1]); + paramArrayOfByte = this.b; + paramArrayOfByte[2] += l3; + paramArrayOfByte = this.b; + paramArrayOfByte[3] += l2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/FixedSecureRandom.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/FixedSecureRandom.java new file mode 100755 index 00000000000..b509cd9fb9f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/FixedSecureRandom.java @@ -0,0 +1,85 @@ +package com.tencent.token.utils.encrypt.random; + +public class FixedSecureRandom + extends SecureRandom +{ + private byte[] _data; + private int _index; + private int _intPad; + + public void nextBytes(byte[] paramArrayOfByte) + { + System.arraycopy(this._data, this._index, paramArrayOfByte, 0, paramArrayOfByte.length); + this._index += paramArrayOfByte.length; + } + + public int nextInt() + { + byte[] arrayOfByte = this._data; + int i = this._index; + this._index = (i + 1); + i = arrayOfByte[i]; + arrayOfByte = this._data; + int j = this._index; + this._index = (j + 1); + i = (i & 0xFF) << 24 | 0x0 | (arrayOfByte[j] & 0xFF) << 16; + if (this._intPad == 2) { + this._intPad -= 1; + } + while (this._intPad == 1) + { + this._intPad -= 1; + return i; + arrayOfByte = this._data; + j = this._index; + this._index = (j + 1); + i |= (arrayOfByte[j] & 0xFF) << 8; + } + arrayOfByte = this._data; + j = this._index; + this._index = (j + 1); + return i | arrayOfByte[j] & 0xFF; + } + + public long nextLong() + { + byte[] arrayOfByte = this._data; + int i = this._index; + this._index = (i + 1); + long l1 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l2 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l3 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l4 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l5 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l6 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + long l7 = arrayOfByte[i] & 0xFF; + arrayOfByte = this._data; + i = this._index; + this._index = (i + 1); + return 0L | l1 << 56 | l2 << 48 | l3 << 40 | l4 << 32 | l5 << 24 | l6 << 16 | l7 << 8 | arrayOfByte[i] & 0xFF; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.FixedSecureRandom + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom.java new file mode 100755 index 00000000000..a4858168303 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom.java @@ -0,0 +1,188 @@ +package com.tencent.token.utils.encrypt.random; + +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.security.SecureRandomSpi; + +public class PRNGFixes$LinuxPRNGSecureRandom + extends SecureRandomSpi +{ + private static final File URANDOM_FILE = new File("/dev/urandom"); + private static final Object sLock = new Object(); + private static DataInputStream sUrandomIn; + private static OutputStream sUrandomOut; + private boolean mSeeded; + + private static DataInputStream a() + { + synchronized (sLock) + { + DataInputStream localDataInputStream = sUrandomIn; + if (localDataInputStream == null) {} + try + { + sUrandomIn = new DataInputStream(new FileInputStream(URANDOM_FILE)); + localDataInputStream = sUrandomIn; + return localDataInputStream; + } + catch (IOException localIOException) + { + throw new SecurityException("Failed to open " + URANDOM_FILE + " for reading", localIOException); + } + } + } + + private static OutputStream b() + { + synchronized (sLock) + { + OutputStream localOutputStream = sUrandomOut; + if (localOutputStream == null) {} + try + { + sUrandomOut = new FileOutputStream(URANDOM_FILE); + localOutputStream = sUrandomOut; + return localOutputStream; + } + catch (IOException localIOException) + { + throw new SecurityException("Failed to open " + URANDOM_FILE + " for writing", localIOException); + } + } + } + + protected byte[] engineGenerateSeed(int paramInt) + { + byte[] arrayOfByte = new byte[paramInt]; + engineNextBytes(arrayOfByte); + return arrayOfByte; + } + + /* Error */ + protected void engineNextBytes(byte[] paramArrayOfByte) + { + // Byte code: + // 0: aload_0 + // 1: getfield 90 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:mSeeded Z + // 4: ifne +10 -> 14 + // 7: aload_0 + // 8: invokestatic 95 com/tencent/token/utils/encrypt/random/PRNGFixes:b ()[B + // 11: invokevirtual 98 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:engineSetSeed ([B)V + // 14: getstatic 32 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:sLock Ljava/lang/Object; + // 17: astore_2 + // 18: aload_2 + // 19: monitorenter + // 20: invokestatic 100 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:a ()Ljava/io/DataInputStream; + // 23: astore_3 + // 24: aload_2 + // 25: monitorexit + // 26: aload_3 + // 27: monitorenter + // 28: aload_3 + // 29: aload_1 + // 30: invokevirtual 103 java/io/DataInputStream:readFully ([B)V + // 33: aload_3 + // 34: monitorexit + // 35: return + // 36: astore_1 + // 37: aload_2 + // 38: monitorexit + // 39: aload_1 + // 40: athrow + // 41: astore_1 + // 42: new 52 java/lang/SecurityException + // 45: dup + // 46: new 54 java/lang/StringBuilder + // 49: dup + // 50: invokespecial 55 java/lang/StringBuilder: ()V + // 53: ldc 105 + // 55: invokevirtual 61 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 58: getstatic 26 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:URANDOM_FILE Ljava/io/File; + // 61: invokevirtual 64 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 64: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 67: aload_1 + // 68: invokespecial 73 java/lang/SecurityException: (Ljava/lang/String;Ljava/lang/Throwable;)V + // 71: athrow + // 72: astore_1 + // 73: aload_3 + // 74: monitorexit + // 75: aload_1 + // 76: athrow + // Local variable table: + // start length slot name signature + // 0 77 0 this LinuxPRNGSecureRandom + // 0 77 1 paramArrayOfByte byte[] + // 23 51 3 localDataInputStream DataInputStream + // Exception table: + // from to target type + // 20 26 36 finally + // 14 20 41 java/io/IOException + // 26 28 41 java/io/IOException + // 37 41 41 java/io/IOException + // 73 77 41 java/io/IOException + // 28 35 72 finally + } + + /* Error */ + protected void engineSetSeed(byte[] paramArrayOfByte) + { + // Byte code: + // 0: getstatic 32 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:sLock Ljava/lang/Object; + // 3: astore_2 + // 4: aload_2 + // 5: monitorenter + // 6: invokestatic 107 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:b ()Ljava/io/OutputStream; + // 9: astore_3 + // 10: aload_2 + // 11: monitorexit + // 12: aload_3 + // 13: aload_1 + // 14: invokevirtual 112 java/io/OutputStream:write ([B)V + // 17: aload_3 + // 18: invokevirtual 115 java/io/OutputStream:flush ()V + // 21: aload_0 + // 22: iconst_1 + // 23: putfield 90 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:mSeeded Z + // 26: return + // 27: astore_1 + // 28: aload_2 + // 29: monitorexit + // 30: aload_1 + // 31: athrow + // 32: astore_1 + // 33: new 52 java/lang/SecurityException + // 36: dup + // 37: new 54 java/lang/StringBuilder + // 40: dup + // 41: invokespecial 55 java/lang/StringBuilder: ()V + // 44: ldc 117 + // 46: invokevirtual 61 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 49: getstatic 26 com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandom:URANDOM_FILE Ljava/io/File; + // 52: invokevirtual 64 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 55: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 58: aload_1 + // 59: invokespecial 73 java/lang/SecurityException: (Ljava/lang/String;Ljava/lang/Throwable;)V + // 62: athrow + // Local variable table: + // start length slot name signature + // 0 63 0 this LinuxPRNGSecureRandom + // 0 63 1 paramArrayOfByte byte[] + // 9 9 3 localOutputStream OutputStream + // Exception table: + // from to target type + // 6 12 27 finally + // 0 6 32 java/io/IOException + // 12 26 32 java/io/IOException + // 28 32 32 java/io/IOException + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.PRNGFixes.LinuxPRNGSecureRandom + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandomProvider.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandomProvider.java new file mode 100755 index 00000000000..0e380bd3b6e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes$LinuxPRNGSecureRandomProvider.java @@ -0,0 +1,20 @@ +package com.tencent.token.utils.encrypt.random; + +import java.security.Provider; + +class PRNGFixes$LinuxPRNGSecureRandomProvider + extends Provider +{ + public PRNGFixes$LinuxPRNGSecureRandomProvider() + { + super("LinuxPRNG", 1.0D, "A Linux-specific random number provider that uses /dev/urandom"); + put("SecureRandom.SHA1PRNG", PRNGFixes.LinuxPRNGSecureRandom.class.getName()); + put("SecureRandom.SHA1PRNG ImplementedIn", "Software"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.PRNGFixes.LinuxPRNGSecureRandomProvider + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes.java new file mode 100755 index 00000000000..adeb5cba474 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/PRNGFixes.java @@ -0,0 +1,99 @@ +package com.tencent.token.utils.encrypt.random; + +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Process; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +public final class PRNGFixes +{ + private static final byte[] a = ; + + public static void a() + { + if ((Build.VERSION.SDK_INT < 16) || (Build.VERSION.SDK_INT > 18)) {} + for (;;) + { + return; + try + { + Class.forName("org.apache.harmony.xnet.provider.jsse.NativeCrypto").getMethod("RAND_seed", new Class[] { [B.class }).invoke(null, new Object[] { c() }); + int i = ((Integer)Class.forName("org.apache.harmony.xnet.provider.jsse.NativeCrypto").getMethod("RAND_load_file", new Class[] { String.class, Long.TYPE }).invoke(null, new Object[] { "/dev/urandom", Integer.valueOf(1024) })).intValue(); + if (i == 1024) { + continue; + } + throw new IOException("Unexpected number of bytes read from Linux PRNG: " + i); + } + catch (Exception localException) + { + throw new SecurityException("Failed to seed OpenSSL PRNG", localException); + } + } + } + + private static byte[] c() + { + try + { + Object localObject = new ByteArrayOutputStream(); + DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream)localObject); + localDataOutputStream.writeLong(System.currentTimeMillis()); + localDataOutputStream.writeLong(System.nanoTime()); + localDataOutputStream.writeInt(Process.myPid()); + localDataOutputStream.writeInt(Process.myUid()); + localDataOutputStream.write(a); + localDataOutputStream.close(); + localObject = ((ByteArrayOutputStream)localObject).toByteArray(); + return localObject; + } + catch (IOException localIOException) + { + throw new SecurityException("Failed to generate seed", localIOException); + } + } + + private static String d() + { + try + { + String str = (String)Build.class.getField("SERIAL").get(null); + return str; + } + catch (Exception localException) {} + return null; + } + + private static byte[] e() + { + Object localObject = new StringBuilder(); + String str = Build.FINGERPRINT; + if (str != null) { + ((StringBuilder)localObject).append(str); + } + str = d(); + if (str != null) { + ((StringBuilder)localObject).append(str); + } + try + { + localObject = ((StringBuilder)localObject).toString().getBytes("UTF-8"); + return localObject; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + throw new RuntimeException("UTF-8 encoding not supported"); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.PRNGFixes + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/SecureRandom.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/SecureRandom.java new file mode 100755 index 00000000000..847439d4ab9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/SecureRandom.java @@ -0,0 +1,82 @@ +package com.tencent.token.utils.encrypt.random; + +import java.util.Random; + +public class SecureRandom + extends Random +{ + private static SecureRandom rand = new SecureRandom(new b(new f())); + protected e generator; + + public SecureRandom() + { + super(0L); + this.generator = new b(new f()); + setSeed(System.currentTimeMillis()); + } + + private SecureRandom(e parame) + { + super(0L); + this.generator = parame; + } + + public final void a(byte[] paramArrayOfByte) + { + this.generator.a(paramArrayOfByte); + } + + public final byte[] a(int paramInt) + { + byte[] arrayOfByte = new byte[paramInt]; + nextBytes(arrayOfByte); + return arrayOfByte; + } + + protected final int next(int paramInt) + { + int i = 0; + int k = (paramInt + 7) / 8; + byte[] arrayOfByte = new byte[k]; + nextBytes(arrayOfByte); + int j = 0; + while (i < k) + { + j = (j << 8) + (arrayOfByte[i] & 0xFF); + i += 1; + } + return (1 << paramInt) - 1 & j; + } + + public void nextBytes(byte[] paramArrayOfByte) + { + this.generator.b(paramArrayOfByte); + } + + public int nextInt() + { + int i = 0; + byte[] arrayOfByte = new byte[4]; + nextBytes(arrayOfByte); + int j = 0; + while (i < 4) + { + j = (j << 8) + (arrayOfByte[i] & 0xFF); + i += 1; + } + return j; + } + + public void setSeed(long paramLong) + { + if (paramLong != 0L) { + this.generator.a(paramLong); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.SecureRandom + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/a.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/a.java new file mode 100755 index 00000000000..e8454fc766e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/a.java @@ -0,0 +1,16 @@ +package com.tencent.token.utils.encrypt.random; + +public abstract interface a +{ + public abstract int a(byte[] paramArrayOfByte); + + public abstract void a(byte paramByte); + + public abstract void a(byte[] paramArrayOfByte, int paramInt1, int paramInt2); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/b.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/b.java new file mode 100755 index 00000000000..308a87a4fa7 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/b.java @@ -0,0 +1,126 @@ +package com.tencent.token.utils.encrypt.random; + +public final class b + implements e +{ + private static long a = 10L; + private long b; + private long c; + private a d; + private byte[] e; + private byte[] f; + + public b(a parama) + { + this.d = parama; + this.f = new byte[20]; + this.c = 1L; + this.e = new byte[20]; + this.b = 1L; + } + + private void a() + { + int j = 0; + long l = this.b; + this.b = (l + 1L); + int i = 0; + while (i != 8) + { + this.d.a((byte)(int)l); + l >>>= 8; + i += 1; + } + byte[] arrayOfByte = this.e; + this.d.a(arrayOfByte, 0, arrayOfByte.length); + arrayOfByte = this.f; + this.d.a(arrayOfByte, 0, arrayOfByte.length); + arrayOfByte = this.e; + this.d.a(arrayOfByte); + if (this.b % a == 0L) + { + arrayOfByte = this.f; + this.d.a(arrayOfByte, 0, arrayOfByte.length); + l = this.c; + this.c = (l + 1L); + i = j; + while (i != 8) + { + this.d.a((byte)(int)l); + l >>>= 8; + i += 1; + } + arrayOfByte = this.f; + this.d.a(arrayOfByte); + } + } + + public final void a(long paramLong) + { + int i = 0; + for (;;) + { + if (i != 8) {} + byte[] arrayOfByte; + try + { + this.d.a((byte)(int)paramLong); + paramLong >>>= 8; + i += 1; + } + finally {} + } + arrayOfByte = this.f; + this.d.a(arrayOfByte, 0, arrayOfByte.length); + arrayOfByte = this.f; + this.d.a(arrayOfByte); + } + + public final void a(byte[] paramArrayOfByte) + { + try + { + this.d.a(paramArrayOfByte, 0, paramArrayOfByte.length); + paramArrayOfByte = this.f; + this.d.a(paramArrayOfByte, 0, paramArrayOfByte.length); + paramArrayOfByte = this.f; + this.d.a(paramArrayOfByte); + return; + } + finally + { + paramArrayOfByte = finally; + throw paramArrayOfByte; + } + } + + public final void b(byte[] paramArrayOfByte) + { + int m = paramArrayOfByte.length; + try + { + a(); + int j = 0; + int k; + for (int i = 0; j != m + 0; i = k + 1) + { + k = i; + if (i == this.e.length) + { + a(); + k = 0; + } + paramArrayOfByte[j] = this.e[k]; + j += 1; + } + return; + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/c.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/c.java new file mode 100755 index 00000000000..46ce7ff2f25 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/c.java @@ -0,0 +1,11 @@ +package com.tencent.token.utils.encrypt.random; + +public abstract interface c + extends a +{} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/d.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/d.java new file mode 100755 index 00000000000..8430af286f9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/d.java @@ -0,0 +1,98 @@ +package com.tencent.token.utils.encrypt.random; + +public abstract class d + implements c +{ + private byte[] a = new byte[4]; + private int b = 0; + private long c; + + public final void a() + { + long l = this.c; + a((byte)-128); + while (this.b != 0) { + a((byte)0); + } + a(l << 3); + c(); + } + + public final void a(byte paramByte) + { + byte[] arrayOfByte = this.a; + int i = this.b; + this.b = (i + 1); + arrayOfByte[i] = paramByte; + if (this.b == this.a.length) + { + a(this.a, 0); + this.b = 0; + } + this.c += 1L; + } + + protected abstract void a(long paramLong); + + protected abstract void a(byte[] paramArrayOfByte, int paramInt); + + public final void a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + int i = paramInt2; + int j = paramInt1; + for (;;) + { + paramInt1 = j; + paramInt2 = i; + if (this.b == 0) { + break; + } + paramInt1 = j; + paramInt2 = i; + if (i <= 0) { + break; + } + a(paramArrayOfByte[j]); + j += 1; + i -= 1; + } + for (;;) + { + i = paramInt1; + j = paramInt2; + if (paramInt2 <= this.a.length) { + break; + } + a(paramArrayOfByte, paramInt1); + paramInt1 += this.a.length; + paramInt2 -= this.a.length; + this.c += this.a.length; + } + while (j > 0) + { + a(paramArrayOfByte[i]); + i += 1; + j -= 1; + } + } + + public void b() + { + this.c = 0L; + this.b = 0; + int i = 0; + while (i < this.a.length) + { + this.a[i] = 0; + i += 1; + } + } + + protected abstract void c(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/e.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/e.java new file mode 100755 index 00000000000..9a5ae64420c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/e.java @@ -0,0 +1,16 @@ +package com.tencent.token.utils.encrypt.random; + +public abstract interface e +{ + public abstract void a(long paramLong); + + public abstract void a(byte[] paramArrayOfByte); + + public abstract void b(byte[] paramArrayOfByte); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/f.java b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/f.java new file mode 100755 index 00000000000..a9bd2f9b9dc --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/encrypt/random/f.java @@ -0,0 +1,217 @@ +package com.tencent.token.utils.encrypt.random; + +public final class f + extends d +{ + private int a; + private int b; + private int c; + private int d; + private int e; + private int[] f = new int[80]; + private int g; + + public f() + { + b(); + } + + private static void a(int paramInt1, byte[] paramArrayOfByte, int paramInt2) + { + int i = paramInt2 + 1; + paramArrayOfByte[paramInt2] = ((byte)(paramInt1 >>> 24)); + paramInt2 = i + 1; + paramArrayOfByte[i] = ((byte)(paramInt1 >>> 16)); + paramArrayOfByte[paramInt2] = ((byte)(paramInt1 >>> 8)); + paramArrayOfByte[(paramInt2 + 1)] = ((byte)paramInt1); + } + + public final int a(byte[] paramArrayOfByte) + { + a(); + a(this.a, paramArrayOfByte, 0); + a(this.b, paramArrayOfByte, 4); + a(this.c, paramArrayOfByte, 8); + a(this.d, paramArrayOfByte, 12); + a(this.e, paramArrayOfByte, 16); + b(); + return 20; + } + + protected final void a(long paramLong) + { + if (this.g > 14) { + c(); + } + this.f[14] = ((int)(paramLong >>> 32)); + this.f[15] = ((int)(0xFFFFFFFF & paramLong)); + } + + protected final void a(byte[] paramArrayOfByte, int paramInt) + { + int[] arrayOfInt = this.f; + int i = this.g; + this.g = (i + 1); + arrayOfInt[i] = ((paramArrayOfByte[paramInt] & 0xFF) << 24 | (paramArrayOfByte[(paramInt + 1)] & 0xFF) << 16 | (paramArrayOfByte[(paramInt + 2)] & 0xFF) << 8 | paramArrayOfByte[(paramInt + 3)] & 0xFF); + if (this.g == 16) { + c(); + } + } + + public final void b() + { + super.b(); + this.a = 1732584193; + this.b = -271733879; + this.c = -1732584194; + this.d = 271733878; + this.e = -1009589776; + this.g = 0; + int i = 0; + while (i != this.f.length) + { + this.f[i] = 0; + i += 1; + } + } + + protected final void c() + { + int i = 16; + while (i < 80) + { + j = this.f[(i - 3)] ^ this.f[(i - 8)] ^ this.f[(i - 14)] ^ this.f[(i - 16)]; + this.f[i] = (j >>> 31 | j << 1); + i += 1; + } + int n = this.a; + int i1 = this.b; + i = this.c; + int j = this.d; + int m = this.e; + int k = 0; + int i2 = 0; + int[] arrayOfInt; + int i4; + while (i2 < 4) + { + arrayOfInt = this.f; + i3 = k + 1; + m = arrayOfInt[k] + ((n << 5 | n >>> 27) + (i1 & i | (i1 ^ 0xFFFFFFFF) & j)) + 1518500249 + m; + k = i1 >>> 2 | i1 << 30; + arrayOfInt = this.f; + i1 = i3 + 1; + j += (m << 5 | m >>> 27) + (n & k | (n ^ 0xFFFFFFFF) & i) + arrayOfInt[i3] + 1518500249; + n = n >>> 2 | n << 30; + arrayOfInt = this.f; + i3 = i1 + 1; + i += (j << 5 | j >>> 27) + (m & n | (m ^ 0xFFFFFFFF) & k) + arrayOfInt[i1] + 1518500249; + m = m << 30 | m >>> 2; + arrayOfInt = this.f; + i4 = i3 + 1; + i1 = k + ((i << 5 | i >>> 27) + (j & m | (j ^ 0xFFFFFFFF) & n) + arrayOfInt[i3] + 1518500249); + j = j >>> 2 | j << 30; + arrayOfInt = this.f; + k = i4 + 1; + n += (i & j | (i ^ 0xFFFFFFFF) & m) + (i1 << 5 | i1 >>> 27) + arrayOfInt[i4] + 1518500249; + i = i >>> 2 | i << 30; + i2 += 1; + } + i2 = 0; + while (i2 < 4) + { + arrayOfInt = this.f; + i3 = k + 1; + m = arrayOfInt[k] + ((n << 5 | n >>> 27) + (i1 ^ i ^ j)) + 1859775393 + m; + k = i1 >>> 2 | i1 << 30; + arrayOfInt = this.f; + i1 = i3 + 1; + j += (m << 5 | m >>> 27) + (n ^ k ^ i) + arrayOfInt[i3] + 1859775393; + n = n >>> 2 | n << 30; + arrayOfInt = this.f; + i3 = i1 + 1; + i += (j << 5 | j >>> 27) + (m ^ n ^ k) + arrayOfInt[i1] + 1859775393; + m = m << 30 | m >>> 2; + arrayOfInt = this.f; + i4 = i3 + 1; + i1 = k + ((i << 5 | i >>> 27) + (j ^ m ^ n) + arrayOfInt[i3] + 1859775393); + j = j >>> 2 | j << 30; + arrayOfInt = this.f; + k = i4 + 1; + n += (i ^ j ^ m) + (i1 << 5 | i1 >>> 27) + arrayOfInt[i4] + 1859775393; + i = i >>> 2 | i << 30; + i2 += 1; + } + i2 = 0; + while (i2 < 4) + { + arrayOfInt = this.f; + i3 = k + 1; + m = arrayOfInt[k] + ((n << 5 | n >>> 27) + (i1 & i | i1 & j | i & j)) - 1894007588 + m; + k = i1 >>> 2 | i1 << 30; + arrayOfInt = this.f; + i1 = i3 + 1; + j += (m << 5 | m >>> 27) + (n & k | n & i | k & i) + arrayOfInt[i3] - 1894007588; + n = n >>> 2 | n << 30; + arrayOfInt = this.f; + i3 = i1 + 1; + i += (j << 5 | j >>> 27) + (m & n | m & k | n & k) + arrayOfInt[i1] - 1894007588; + m = m << 30 | m >>> 2; + arrayOfInt = this.f; + i4 = i3 + 1; + i1 = k + ((i << 5 | i >>> 27) + (j & m | j & n | m & n) + arrayOfInt[i3] - 1894007588); + j = j >>> 2 | j << 30; + arrayOfInt = this.f; + k = i4 + 1; + n += (i & j | i & m | j & m) + (i1 << 5 | i1 >>> 27) + arrayOfInt[i4] - 1894007588; + i = i >>> 2 | i << 30; + i2 += 1; + } + int i3 = 0; + i2 = n; + n = i; + i = i3; + while (i <= 3) + { + arrayOfInt = this.f; + i3 = k + 1; + m = arrayOfInt[k] + ((i2 << 5 | i2 >>> 27) + (i1 ^ n ^ j)) - 899497514 + m; + k = i1 >>> 2 | i1 << 30; + arrayOfInt = this.f; + i1 = i3 + 1; + j += (m << 5 | m >>> 27) + (i2 ^ k ^ n) + arrayOfInt[i3] - 899497514; + i2 = i2 >>> 2 | i2 << 30; + arrayOfInt = this.f; + i3 = i1 + 1; + n += (j << 5 | j >>> 27) + (m ^ i2 ^ k) + arrayOfInt[i1] - 899497514; + m = m << 30 | m >>> 2; + arrayOfInt = this.f; + i4 = i3 + 1; + i1 = k + ((n << 5 | n >>> 27) + (j ^ m ^ i2) + arrayOfInt[i3] - 899497514); + j = j >>> 2 | j << 30; + arrayOfInt = this.f; + k = i4 + 1; + i2 += (n ^ j ^ m) + (i1 << 5 | i1 >>> 27) + arrayOfInt[i4] - 899497514; + n = n >>> 2 | n << 30; + i += 1; + } + this.a += i2; + this.b += i1; + this.c += n; + this.d += j; + this.e += m; + this.g = 0; + i = 0; + while (i < 16) + { + this.f[i] = 0; + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.encrypt.random.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/f.java b/com.tencent.token/classes.jar/com/tencent/token/utils/f.java new file mode 100755 index 00000000000..6eab26c5af9 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/f.java @@ -0,0 +1,23 @@ +package com.tencent.token.utils; + +import java.io.File; +import java.io.FileFilter; + +final class f + implements FileFilter +{ + public final boolean accept(File paramFile) + { + if (!paramFile.isDirectory()) {} + while (e.a(paramFile) <= 0L) { + return false; + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/g.java b/com.tencent.token/classes.jar/com/tencent/token/utils/g.java new file mode 100755 index 00000000000..b17fa03cff1 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/g.java @@ -0,0 +1,25 @@ +package com.tencent.token.utils; + +import java.io.File; +import java.io.FileFilter; + +final class g + implements FileFilter +{ + g(e parame) {} + + public final boolean accept(File paramFile) + { + if (!paramFile.getName().endsWith(this.a.g())) {} + while (e.c(paramFile) == -1) { + return false; + } + return true; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/h.java b/com.tencent.token/classes.jar/com/tencent/token/utils/h.java new file mode 100755 index 00000000000..8a444c0878d --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/h.java @@ -0,0 +1,15 @@ +package com.tencent.token.utils; + +import java.util.Comparator; + +final class h + implements Comparator +{ + h(e parame) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/i.java b/com.tencent.token/classes.jar/com/tencent/token/utils/i.java new file mode 100755 index 00000000000..8be7817743c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/i.java @@ -0,0 +1,325 @@ +package com.tencent.token.utils; + +import android.content.Context; +import android.os.Environment; +import android.os.StatFs; +import android.text.TextUtils; +import com.tencent.token.global.RqdApplication; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.RandomAccessFile; +import java.io.Reader; +import java.io.Writer; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +public final class i +{ + private static long a(String paramString) + { + try + { + StatFs localStatFs = new StatFs(paramString); + localStatFs.restat(paramString); + long l = localStatFs.getBlockSize(); + int i = localStatFs.getAvailableBlocks(); + return l * i; + } + catch (IllegalArgumentException paramString) {} + return 0L; + } + + public static String a(byte[] paramArrayOfByte, String paramString) + { + Object localObject = Environment.getExternalStorageState(); + try + { + if ("mounted".equals(localObject)) {} + for (paramString = new File(Environment.getExternalStorageDirectory(), paramString);; paramString = new File(RqdApplication.i().getFilesDir(), paramString)) + { + if (!paramString.exists()) { + paramString.createNewFile(); + } + localObject = new FileOutputStream(paramString); + ((FileOutputStream)localObject).write(paramArrayOfByte); + ((FileOutputStream)localObject).close(); + return paramString.getAbsolutePath(); + } + return null; + } + catch (Exception paramArrayOfByte) {} + } + + private static void a(ZipOutputStream paramZipOutputStream, File paramFile, String paramString, byte[] paramArrayOfByte) + { + int i = 0; + if ((paramZipOutputStream == null) || (paramFile == null)) { + throw new IOException("I/O Object got NullPointerException"); + } + if (!paramFile.exists()) { + throw new FileNotFoundException("Target File is missing"); + } + if (TextUtils.isEmpty(paramString)) { + paramString = paramFile.getName(); + } + while (paramFile.isFile()) + { + try + { + paramFile = new BufferedInputStream(new FileInputStream(paramFile)); + try + { + paramZipOutputStream.putNextEntry(new ZipEntry(paramString)); + for (;;) + { + i = paramFile.read(paramArrayOfByte, 0, paramArrayOfByte.length); + if (-1 == i) { + break; + } + paramZipOutputStream.write(paramArrayOfByte, 0, i); + } + a(paramFile); + } + catch (IOException paramZipOutputStream) {} + } + catch (IOException paramZipOutputStream) + { + for (;;) + { + paramFile = null; + } + } + throw paramZipOutputStream; + paramString = paramString + File.separator + paramFile.getName(); + continue; + a(paramFile); + } + for (;;) + { + return; + if (paramFile.isDirectory()) + { + paramFile = paramFile.listFiles(); + int j = paramFile.length; + while (i < j) + { + a(paramZipOutputStream, paramFile[i], paramString, paramArrayOfByte); + i += 1; + } + } + } + } + + public static boolean a() + { + if ("mounted".equals(Environment.getExternalStorageState())) {} + for (File localFile = new File(Environment.getExternalStorageDirectory(), "video");; localFile = new File(RqdApplication.i().getFilesDir(), "video")) { + try + { + localFile.mkdirs(); + localFile = File.createTempFile("tmppp", null, localFile); + if (localFile.exists()) { + break; + } + return false; + } + catch (Exception localException) + { + localException.printStackTrace(); + return false; + } + } + localException.delete(); + return true; + } + + public static boolean a(File paramFile) + { + int i = 0; + if (paramFile != null) + { + if (!paramFile.isFile()) { + break label28; + } + if (paramFile.delete()) { + break label26; + } + paramFile.deleteOnExit(); + } + label26: + label28: + while (!paramFile.isDirectory()) + { + return false; + return true; + } + File[] arrayOfFile = paramFile.listFiles(); + if (arrayOfFile != null) + { + int j = arrayOfFile.length; + while (i < j) + { + a(arrayOfFile[i]); + i += 1; + } + } + return paramFile.delete(); + } + + private static boolean a(Object paramObject) + { + if (paramObject == null) {} + for (;;) + { + return false; + try + { + if ((paramObject instanceof InputStream)) + { + ((InputStream)paramObject).close(); + } + else if ((paramObject instanceof OutputStream)) + { + ((OutputStream)paramObject).close(); + } + else if ((paramObject instanceof Reader)) + { + ((Reader)paramObject).close(); + } + else if ((paramObject instanceof Writer)) + { + ((Writer)paramObject).close(); + } + else + { + if (!(paramObject instanceof RandomAccessFile)) { + continue; + } + ((RandomAccessFile)paramObject).close(); + } + return true; + } + catch (IOException paramObject) {} + } + return false; + } + + /* Error */ + public static boolean a(File[] paramArrayOfFile, File paramFile) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: aload_0 + // 4: ifnull +12 -> 16 + // 7: aload_0 + // 8: arraylength + // 9: ifle +7 -> 16 + // 12: aload_1 + // 13: ifnonnull +5 -> 18 + // 16: iconst_0 + // 17: ireturn + // 18: sipush 4096 + // 21: newarray byte + // 23: astore 5 + // 25: new 123 java/util/zip/ZipOutputStream + // 28: dup + // 29: new 200 java/io/BufferedOutputStream + // 32: dup + // 33: new 63 java/io/FileOutputStream + // 36: dup + // 37: aload_1 + // 38: iconst_0 + // 39: invokespecial 203 java/io/FileOutputStream: (Ljava/io/File;Z)V + // 42: invokespecial 206 java/io/BufferedOutputStream: (Ljava/io/OutputStream;)V + // 45: invokespecial 207 java/util/zip/ZipOutputStream: (Ljava/io/OutputStream;)V + // 48: astore_1 + // 49: aload_0 + // 50: arraylength + // 51: istore_3 + // 52: iconst_0 + // 53: istore_2 + // 54: iload_2 + // 55: iload_3 + // 56: if_icmpge +20 -> 76 + // 59: aload_1 + // 60: aload_0 + // 61: iload_2 + // 62: aaload + // 63: aconst_null + // 64: aload 5 + // 66: invokestatic 159 com/tencent/token/utils/i:a (Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;[B)V + // 69: iload_2 + // 70: iconst_1 + // 71: iadd + // 72: istore_2 + // 73: goto -19 -> 54 + // 76: aload_1 + // 77: invokevirtual 210 java/util/zip/ZipOutputStream:flush ()V + // 80: aload_1 + // 81: invokevirtual 213 java/util/zip/ZipOutputStream:closeEntry ()V + // 84: aload_1 + // 85: invokestatic 136 com/tencent/token/utils/i:a (Ljava/lang/Object;)Z + // 88: pop + // 89: iconst_1 + // 90: ireturn + // 91: astore_0 + // 92: aconst_null + // 93: astore_1 + // 94: aload_1 + // 95: invokestatic 136 com/tencent/token/utils/i:a (Ljava/lang/Object;)Z + // 98: pop + // 99: iconst_0 + // 100: ireturn + // 101: astore_0 + // 102: aload 4 + // 104: astore_1 + // 105: aload_1 + // 106: invokestatic 136 com/tencent/token/utils/i:a (Ljava/lang/Object;)Z + // 109: pop + // 110: aload_0 + // 111: athrow + // 112: astore_0 + // 113: goto -8 -> 105 + // 116: astore_0 + // 117: goto -23 -> 94 + // Local variable table: + // start length slot name signature + // 0 120 0 paramArrayOfFile File[] + // 0 120 1 paramFile File + // 53 20 2 i int + // 51 6 3 j int + // 1 102 4 localObject Object + // 23 42 5 arrayOfByte byte[] + // Exception table: + // from to target type + // 18 49 91 java/io/IOException + // 18 49 101 finally + // 49 52 112 finally + // 59 69 112 finally + // 76 84 112 finally + // 49 52 116 java/io/IOException + // 59 69 116 java/io/IOException + // 76 84 116 java/io/IOException + } + + public static long b() + { + if ("mounted".equals(Environment.getExternalStorageState())) {} + for (File localFile = new File(Environment.getExternalStorageDirectory(), "video");; localFile = new File(RqdApplication.i().getFilesDir(), "video")) { + return a(localFile.getAbsolutePath()); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/j.java b/com.tencent.token/classes.jar/com/tencent/token/utils/j.java new file mode 100755 index 00000000000..a8758c075ad --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/j.java @@ -0,0 +1,48 @@ +package com.tencent.token.utils; + +import android.net.Uri; +import android.os.Environment; +import com.tencent.token.global.e; +import com.tencent.token.gv; +import com.tencent.token.utils.encrypt.c; +import java.io.File; +import java.io.FileOutputStream; + +public final class j +{ + private static File a; + + public static Uri a(String paramString) + { + e.b("path" + paramString); + Object localObject = c.b(paramString) + paramString.substring(paramString.lastIndexOf(".")); + File localFile = new File(Environment.getExternalStorageDirectory(), "cache"); + a = localFile; + if (!localFile.exists()) { + a.mkdirs(); + } + if (!a.exists()) {} + do + { + return null; + localFile = new File(a, (String)localObject); + if (localFile.exists()) + { + e.b("exists" + paramString + "name" + (String)localObject); + return Uri.fromFile(localFile); + } + e.b("fromnet" + paramString); + paramString = new gv().a(paramString); + } while (paramString == null); + localObject = new FileOutputStream(localFile); + ((FileOutputStream)localObject).write(paramString, 0, paramString.length); + ((FileOutputStream)localObject).close(); + return Uri.fromFile(localFile); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/k.java b/com.tencent.token/classes.jar/com/tencent/token/utils/k.java new file mode 100755 index 00000000000..e2115ddd687 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/k.java @@ -0,0 +1,202 @@ +package com.tencent.token.utils; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Rect; +import android.graphics.drawable.BitmapDrawable; +import com.tencent.token.gi; +import com.tencent.token.gl; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.go; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public final class k + extends BitmapDrawable +{ + public static Bitmap a; + public static Bitmap b; + public static ImageCache c; + public static Map d; + public static Map e; + public static boolean f = false; + private static boolean h; + private BitmapDrawable g; + + private k(String paramString1, String paramString2) + { + this.g = new BitmapDrawable(a); + new l(this, paramString1, paramString2).a(new String[] { "" }); + } + + private k(String paramString1, String paramString2, String paramString3, Bitmap paramBitmap) + { + this.g = new BitmapDrawable(paramBitmap); + new m(this, paramString1, paramString3, paramString2).a(new String[] { "" }); + } + + public static BitmapDrawable a(String paramString1, String paramString2) + { + Object localObject; + if (!h) + { + localObject = RqdApplication.i().getResources(); + a = t.a((Resources)localObject, 2130837585); + b = t.a((Resources)localObject, 2130837544); + c = new ImageCache(30, RqdApplication.i()); + e = Collections.synchronizedMap(new HashMap()); + d = Collections.synchronizedMap(new HashMap()); + h = true; + } + if (!f) + { + f = true; + a(e); + } + if (paramString2 != null) + { + localObject = paramString2; + if (paramString2.length() > 4) {} + } + else if ((paramString1 == null) || (paramString1.length() <= 4)) + { + paramString2 = new BitmapDrawable(a); + } + Bitmap localBitmap; + do + { + do + { + return paramString2; + localObject = ImageCache.d(paramString1); + localBitmap = c.a(localObject); + if (localBitmap == null) { + break; + } + localObject = a(paramString1, (String)localObject, localBitmap); + paramString2 = (String)localObject; + } while (localObject != null); + e.b("from memcache" + paramString1); + return new BitmapDrawable(localBitmap); + localBitmap = c.b(c.c((String)localObject)); + if (localBitmap == null) { + break; + } + c.b((String)localObject, localBitmap); + localObject = a(paramString1, (String)localObject, localBitmap); + paramString2 = (String)localObject; + } while (localObject != null); + e.b("from cache,don't update" + paramString1); + return new BitmapDrawable(localBitmap); + if ((paramString1 == null) || (paramString1.length() <= 4)) { + return new BitmapDrawable(a); + } + paramString2 = (k)d.get(paramString1); + if (paramString2 != null) + { + e.b("from loading task" + paramString1); + return paramString2; + } + e.b("from new task" + paramString1); + paramString2 = new k(paramString1, (String)localObject); + d.put(paramString1, paramString2); + return paramString2; + } + + private static BitmapDrawable a(String paramString1, String paramString2, Bitmap paramBitmap) + { + String str = (String)e.get(paramString2); + if ((paramString1 != null) && (paramString1.length() > 4) && (str != null)) + { + k localk = (k)d.get(paramString1); + if (localk != null) { + return localk; + } + paramString2 = new k(paramString1, paramString2, str, paramBitmap); + d.put(paramString1, paramString2); + return paramString2; + } + return null; + } + + private static boolean a(Map paramMap) + { + if (paramMap == null) { + return false; + } + Object localObject = new gi(); + try + { + localObject = gl.a((go)localObject, "qqface", new String[] { "uinhash", "filename" }, null, null, null, null); + if (localObject == null) { + return false; + } + localObject = ((List)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + gi localgi = (gi)((Iterator)localObject).next(); + if (localgi == null) { + break; + } + paramMap.put(localgi.a, localgi.b); + } + return true; + } + catch (Exception paramMap) + { + paramMap.printStackTrace(); + e.c(paramMap.toString()); + return false; + } + } + + public final void draw(Canvas paramCanvas) + { + if (this.g != null) { + this.g.draw(paramCanvas); + } + } + + public final int getOpacity() + { + if (this.g != null) { + return this.g.getOpacity(); + } + return -2; + } + + public final void onBoundsChange(Rect paramRect) + { + if (this.g != null) { + this.g.setBounds(paramRect); + } + super.onBoundsChange(paramRect); + } + + public final void setAlpha(int paramInt) + { + if (this.g != null) { + this.g.setAlpha(paramInt); + } + } + + public final void setColorFilter(ColorFilter paramColorFilter) + { + if (this.g != null) { + this.g.setColorFilter(paramColorFilter); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/l.java b/com.tencent.token/classes.jar/com/tencent/token/utils/l.java new file mode 100755 index 00000000000..0b48bf48be0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/l.java @@ -0,0 +1,13 @@ +package com.tencent.token.utils; + +final class l + extends UserTask +{ + l(k paramk, String paramString1, String paramString2) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/m.java b/com.tencent.token/classes.jar/com/tencent/token/utils/m.java new file mode 100755 index 00000000000..ba071212a38 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/m.java @@ -0,0 +1,13 @@ +package com.tencent.token.utils; + +final class m + extends UserTask +{ + m(k paramk, String paramString1, String paramString2, String paramString3) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/n.java b/com.tencent.token/classes.jar/com/tencent/token/utils/n.java new file mode 100755 index 00000000000..37f4c0858d5 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/n.java @@ -0,0 +1,196 @@ +package com.tencent.token.utils; + +import android.content.Context; +import android.hardware.Camera; +import android.media.CamcorderProfile; +import android.media.MediaRecorder; +import android.media.MediaRecorder.OnErrorListener; +import android.media.MediaRecorder.OnInfoListener; +import android.os.Environment; +import android.os.Handler; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import java.io.File; + +public final class n + implements MediaRecorder.OnErrorListener, MediaRecorder.OnInfoListener +{ + private static n c; + File a; + MediaRecorder b; + private boolean d = false; + + public static n a() + { + if (c == null) { + c = new n(); + } + return c; + } + + public final void a(SurfaceView paramSurfaceView, Camera paramCamera, Handler paramHandler) + { + for (;;) + { + try + { + boolean bool = this.d; + if (bool) { + return; + } + this.d = true; + try + { + Environment.getExternalStorageState(); + if (!"mounted".equals(Environment.getExternalStorageState())) { + break label801; + } + Object localObject = new File(Environment.getExternalStorageDirectory() + File.separator + "video", "face.mp4"); + this.a = ((File)localObject); + if (!this.a.exists()) { + this.a.createNewFile(); + } + if (this.b == null) { + this.b = new MediaRecorder(); + } + this.b.reset(); + this.b.setOrientationHint(270); + paramCamera.unlock(); + this.b.setCamera(paramCamera); + this.b.setAudioSource(1); + this.b.setVideoSource(1); + this.b.setOutputFormat(2); + this.b.setAudioEncoder(1); + this.b.setVideoEncoder(2); + localObject = CamcorderProfile.get(1); + e.c(((CamcorderProfile)localObject).videoFrameWidth + ".." + ((CamcorderProfile)localObject).videoFrameHeight + ".."); + this.b.setVideoSize(((CamcorderProfile)localObject).videoFrameWidth, ((CamcorderProfile)localObject).videoFrameHeight); + this.b.setVideoFrameRate(((CamcorderProfile)localObject).videoFrameRate); + if (((CamcorderProfile)localObject).videoBitRate <= 1048576) { + break label845; + } + this.b.setVideoEncodingBitRate(1048576); + this.b.setOutputFile(this.a.getAbsolutePath()); + this.b.setPreviewDisplay(paramSurfaceView.getHolder().getSurface()); + this.b.setOnInfoListener(this); + this.b.setOnErrorListener(this); + this.b.prepare(); + this.b.start(); + paramHandler.sendEmptyMessageDelayed(90, 5000L); + } + catch (Exception localException1) + { + localException1.printStackTrace(); + try + { + this.b.reset(); + this.b.setOrientationHint(270); + this.b.setCamera(paramCamera); + this.b.setAudioSource(1); + this.b.setVideoSource(1); + this.b.setOutputFormat(2); + this.b.setAudioEncoder(1); + this.b.setVideoEncoder(2); + CamcorderProfile localCamcorderProfile = CamcorderProfile.get(5); + e.c(localCamcorderProfile.videoFrameWidth + ".." + localCamcorderProfile.videoFrameHeight + ".."); + this.b.setVideoSize(localCamcorderProfile.videoFrameWidth, localCamcorderProfile.videoFrameHeight); + localCamcorderProfile = CamcorderProfile.get(7); + this.b.setVideoFrameRate(localCamcorderProfile.videoFrameRate); + this.b.setVideoEncodingBitRate(localCamcorderProfile.videoBitRate); + this.b.setOutputFile(this.a.getAbsolutePath()); + this.b.setPreviewDisplay(paramSurfaceView.getHolder().getSurface()); + this.b.prepare(); + this.b.start(); + paramHandler.sendEmptyMessageDelayed(90, 5000L); + } + catch (Exception localException2) + { + try + { + this.b.reset(); + this.b.setOrientationHint(270); + this.b.setCamera(paramCamera); + this.b.setAudioSource(1); + this.b.setVideoSource(1); + this.b.setOutputFormat(2); + this.b.setAudioEncoder(1); + this.b.setVideoEncoder(2); + paramCamera = CamcorderProfile.get(0); + e.c(paramCamera.videoFrameWidth + ".." + paramCamera.videoFrameHeight + ".."); + this.b.setVideoSize(paramCamera.videoFrameWidth, paramCamera.videoFrameHeight); + this.b.setVideoFrameRate(paramCamera.videoFrameRate); + this.b.setVideoEncodingBitRate(paramCamera.videoBitRate); + this.b.setOutputFile(this.a.getAbsolutePath()); + this.b.setPreviewDisplay(paramSurfaceView.getHolder().getSurface()); + this.b.prepare(); + this.b.start(); + paramHandler.sendEmptyMessageDelayed(90, 5000L); + } + catch (Exception paramSurfaceView) + { + paramSurfaceView.printStackTrace(); + paramHandler.sendEmptyMessage(100); + this.d = false; + } + } + } + continue; + localFile = new File(RqdApplication.i().getFilesDir() + File.separator + "video", "face.mp4"); + } + finally {} + label801: + File localFile; + continue; + label845: + this.b.setVideoEncodingBitRate(localFile.videoBitRate); + } + } + + public final String b() + { + if ((this.a == null) || (!this.a.exists())) { + return null; + } + return this.a.getAbsolutePath(); + } + + public final boolean c() + { + boolean bool = false; + if (this.d) + { + e.c("stopRecord"); + this.b.setOnErrorListener(null); + this.b.setPreviewDisplay(null); + } + try + { + this.b.stop(); + this.b.reset(); + this.b.release(); + this.b = null; + this.d = false; + bool = true; + return bool; + } + catch (Exception localException) + { + for (;;) + { + localException.printStackTrace(); + } + } + } + + public final void onError(MediaRecorder paramMediaRecorder, int paramInt1, int paramInt2) {} + + public final void onInfo(MediaRecorder paramMediaRecorder, int paramInt1, int paramInt2) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/o.java b/com.tencent.token/classes.jar/com/tencent/token/utils/o.java new file mode 100755 index 00000000000..fb036054f8b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/o.java @@ -0,0 +1,23 @@ +package com.tencent.token.utils; + +import com.tencent.token.as; + +public final class o +{ + private String a = ""; + private String b = ""; + private as c = null; + private int d = 0; + + public o(as paramas) + { + this.c = paramas; + this.d = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/p.java b/com.tencent.token/classes.jar/com/tencent/token/utils/p.java new file mode 100755 index 00000000000..7c58f068845 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/p.java @@ -0,0 +1,52 @@ +package com.tencent.token.utils; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import com.tencent.token.global.RqdApplication; + +public final class p +{ + private static final String a = "SharedPreferencesHelper.for." + RqdApplication.i().getPackageName(); + private static SharedPreferences b; + private static SharedPreferences.Editor c; + + static + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences(a, 0); + b = localSharedPreferences; + c = localSharedPreferences.edit(); + } + + public static int a(String paramString, int paramInt) + { + return b.getInt(paramString, paramInt); + } + + public static long a(String paramString) + { + return b.getLong(paramString, 604800000L); + } + + public static void a(SharedPreferences.OnSharedPreferenceChangeListener paramOnSharedPreferenceChangeListener) + { + b.registerOnSharedPreferenceChangeListener(paramOnSharedPreferenceChangeListener); + } + + public static SharedPreferences.Editor b(String paramString) + { + return c.remove(paramString); + } + + public static SharedPreferences.Editor b(String paramString, int paramInt) + { + return c.putInt(paramString, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/q.java b/com.tencent.token/classes.jar/com/tencent/token/utils/q.java new file mode 100755 index 00000000000..0394282d34f --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/q.java @@ -0,0 +1,41 @@ +package com.tencent.token.utils; + +public final class q +{ + public static int a = 70; + public static String b = "6.7.2"; + public static int c = 1; + public static boolean d = true; + public static boolean e = true; + public static boolean f = true; + public static boolean g = false; + public static int h = 63; + public static boolean i = true; + public static boolean j = true; + public static boolean k = false; + public static boolean l = true; + public static boolean m = true; + public static boolean n = true; + public static boolean o = true; + public static boolean p = true; + + static + { + if (c != 0) + { + d = false; + e = false; + i = false; + l = false; + m = false; + n = false; + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/r.java b/com.tencent.token/classes.jar/com/tencent/token/utils/r.java new file mode 100755 index 00000000000..1034bf7c6e4 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/r.java @@ -0,0 +1,17 @@ +package com.tencent.token.utils; + +public final class r +{ + protected long a = 0L; + + public final long a() + { + return System.currentTimeMillis() - this.a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/s.java b/com.tencent.token/classes.jar/com/tencent/token/utils/s.java new file mode 100755 index 00000000000..bf6850be99b --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/s.java @@ -0,0 +1,1519 @@ +package com.tencent.token.utils; + +import android.app.Activity; +import android.app.ActivityManager; +import android.app.ActivityManager.RunningAppProcessInfo; +import android.app.ActivityManager.RunningServiceInfo; +import android.app.ActivityManager.RunningTaskInfo; +import android.appwidget.AppWidgetManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.NetworkInfo.State; +import android.net.Uri; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build.VERSION; +import android.provider.Settings.Secure; +import android.telephony.TelephonyManager; +import android.text.TextUtils; +import android.util.DisplayMetrics; +import android.widget.TextView; +import com.tencent.token.ag; +import com.tencent.token.ap; +import com.tencent.token.ax; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.core.bean.UpgradeDeterminResult.QuesInfoItem; +import com.tencent.token.core.gamelogin.GameLoginService; +import com.tencent.token.core.push.PushService; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.e; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.HelpActivity; +import com.tencent.token.ui.IndexActivity; +import com.tencent.token.utils.encrypt.a; +import com.tencent.token.widget.TokenService; +import com.tencent.token.widget.TokenWidgetProvider; +import java.lang.reflect.Method; +import java.util.Calendar; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.TimeZone; +import oicq.wlogin_sdk.tools.MD5; +import org.json.JSONException; +import org.json.JSONObject; + +public final class s +{ + static Date a = new Date(); + static Calendar b = Calendar.getInstance(); + static final short[] c = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, 63, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + + public static int a(Context paramContext, float paramFloat) + { + return (int)(paramContext.getResources().getDisplayMetrics().density * paramFloat + 0.5F); + } + + public static String a(int paramInt) + { + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append(paramInt); + int i = localStringBuffer.length(); + paramInt = 0; + while (paramInt < 2 - i) + { + localStringBuffer.insert(0, 0); + paramInt += 1; + } + return localStringBuffer.toString(); + } + + public static String a(long paramLong) + { + a.setTime(paramLong); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + StringBuffer localStringBuffer = new StringBuffer(); + int i = b.get(2) + 1; + int j = b.get(5); + int k = b.get(11); + int m = b.get(12); + localStringBuffer.append(b.get(1)); + localStringBuffer.append('-'); + if (i < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(i); + localStringBuffer.append('-'); + if (j < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(j); + localStringBuffer.append(' '); + if (k < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(k); + localStringBuffer.append(':'); + if (m < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(m); + return localStringBuffer.toString(); + } + + public static String a(Context paramContext) + { + try + { + paramContext = Settings.Secure.getString(paramContext.getContentResolver(), "android_id"); + e.b("androidID =" + paramContext); + if (paramContext == null) { + return null; + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext = null; + } + } + return MD5.toMD5(paramContext); + } + + public static String a(String paramString) + { + int i = 0; + if (paramString.length() < 5) { + return paramString; + } + String str = paramString.substring(0, 3); + while (i < paramString.length() - 5) + { + str = str + '*'; + i += 1; + } + return str + paramString.substring(paramString.length() - 2, paramString.length()); + } + + private static String a(Calendar paramCalendar) + { + StringBuffer localStringBuffer = new StringBuffer(); + localStringBuffer.append(paramCalendar.get(1)).append('-').append(a(paramCalendar.get(2) + 1)).append('-').append(a(paramCalendar.get(5))); + return localStringBuffer.toString(); + } + + public static String a(List paramList, String[] paramArrayOfString) + { + try + { + JSONObject localJSONObject = new JSONObject(); + localJSONObject.put("ques_id_0", ((UpgradeDeterminResult.QuesInfoItem)paramList.get(0)).mId); + localJSONObject.put("answer_0", paramArrayOfString[0]); + localJSONObject.put("ques_id_1", ((UpgradeDeterminResult.QuesInfoItem)paramList.get(1)).mId); + localJSONObject.put("answer_1", paramArrayOfString[1]); + localJSONObject.put("ques_id_2", ((UpgradeDeterminResult.QuesInfoItem)paramList.get(2)).mId); + localJSONObject.put("answer_2", paramArrayOfString[2]); + paramList = localJSONObject.toString(); + e.a("plain: " + paramList); + paramList = b(paramList.getBytes()); + return paramList; + } + catch (JSONException paramList) {} + return null; + } + + public static String a(byte[] paramArrayOfByte) + { + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + if (i < paramArrayOfByte.length) + { + int k = paramArrayOfByte[i]; + int j = k; + if (k < 0) { + j = k + 256; + } + k = j / 16; + j -= k * 16; + char c1; + if (k > 9) + { + c1 = (char)(k - 10 + 65); + label73: + if (j <= 9) { + break label166; + } + } + label166: + for (char c2 = (char)(j - 10 + 65);; c2 = (char)(j + 48)) + { + String str = "" + Character.valueOf(c1).toString(); + localStringBuffer.append(str + Character.valueOf(c2).toString()); + i += 1; + break; + c1 = (char)(k + 48); + break label73; + } + } + return localStringBuffer.toString(); + } + + public static String a(Object... paramVarArgs) + { + if (paramVarArgs.length % 2 != 0) + { + e.c("params count % 2 should be 0"); + return null; + } + try + { + JSONObject localJSONObject = new JSONObject(); + int i = 0; + while (i < paramVarArgs.length) + { + localJSONObject.put((String)paramVarArgs[i], paramVarArgs[(i + 1)]); + i += 2; + } + paramVarArgs = localJSONObject.toString(); + e.a("plain data: " + paramVarArgs); + paramVarArgs = b(paramVarArgs.getBytes()); + return paramVarArgs; + } + catch (JSONException paramVarArgs) + { + paramVarArgs.printStackTrace(); + } + return null; + } + + public static void a(int paramInt, TextView paramTextView1, TextView paramTextView2) + { + if (paramInt == 86) + { + paramTextView1.setText(2131362402); + paramTextView2.setText(2131362403); + } + do + { + return; + if (paramInt == 852) + { + paramTextView1.setText(2131362404); + paramTextView2.setText(2131362405); + return; + } + if (paramInt == 853) + { + paramTextView1.setText(2131362406); + paramTextView2.setText(2131362407); + return; + } + if (paramInt == 886) + { + paramTextView1.setText(2131362408); + paramTextView2.setText(2131362409); + return; + } + if (paramInt == 1111) + { + paramTextView1.setText(2131362410); + paramTextView2.setText(2131362411); + return; + } + if (paramInt == 81) + { + paramTextView1.setText(2131362412); + paramTextView2.setText(2131362413); + return; + } + if (paramInt == 82) + { + paramTextView1.setText(2131362414); + paramTextView2.setText(2131362415); + return; + } + if (paramInt == 65) + { + paramTextView1.setText(2131362416); + paramTextView2.setText(2131362417); + return; + } + if (paramInt == 1) + { + paramTextView1.setText(2131362418); + paramTextView2.setText(2131362419); + return; + } + if (paramInt == 61) + { + paramTextView1.setText(2131362420); + paramTextView2.setText(2131362421); + return; + } + if (paramInt == 39) + { + paramTextView1.setText(2131362422); + paramTextView2.setText(2131362423); + return; + } + if (paramInt == 60) + { + paramTextView1.setText(2131362424); + paramTextView2.setText(2131362425); + return; + } + if (paramInt == 63) + { + paramTextView1.setText(2131362426); + paramTextView2.setText(2131362427); + return; + } + if (paramInt == 66) + { + paramTextView1.setText(2131362428); + paramTextView2.setText(2131362429); + return; + } + } while (paramInt != 62); + paramTextView1.setText(2131362430); + paramTextView2.setText(2131362431); + } + + public static void a(Activity paramActivity, int paramInt) + { + Method localMethod; + try + { + localMethod = Activity.class.getMethod("overridePendingTransition", new Class[] { Integer.TYPE, Integer.TYPE }); + switch (paramInt) + { + case 0: + localMethod.invoke(paramActivity, new Object[] { Integer.valueOf(2130968583), Integer.valueOf(2130968586) }); + return; + } + } + catch (Exception paramActivity) + { + e.c(paramActivity.toString()); + return; + } + localMethod.invoke(paramActivity, new Object[] { Integer.valueOf(2130968585), Integer.valueOf(2130968584) }); + return; + } + + public static void a(Context paramContext, String paramString1, String paramString2) + { + Intent localIntent = new Intent(paramContext, HelpActivity.class); + localIntent.putExtra("help_url", paramString1); + localIntent.putExtra("help_title", paramString2); + paramContext.startActivity(localIntent); + } + + public static void a(BaseActivity paramBaseActivity, String paramString) + { + if (paramString == null) { + paramBaseActivity.showToast(2131361798); + } + try + { + paramBaseActivity.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(paramString))); + return; + } + catch (Exception paramBaseActivity) + { + paramBaseActivity.printStackTrace(); + e.b(paramBaseActivity.toString()); + } + } + + public static void a(IndexActivity paramIndexActivity, String paramString) + { + if (paramString == null) { + paramIndexActivity.showToast(2131361798); + } + try + { + paramIndexActivity.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(paramString))); + return; + } + catch (Exception paramIndexActivity) + { + paramIndexActivity.printStackTrace(); + e.b(paramIndexActivity.toString()); + } + } + + public static void a(String paramString, int paramInt) + { + Object localObject = RqdApplication.i(); + if (!TextUtils.isEmpty(null)) + { + localObject = ((Context)localObject).getSharedPreferences(null + paramString, 0).edit(); + ((SharedPreferences.Editor)localObject).putInt(paramString, paramInt); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + localObject = ((Context)localObject).getSharedPreferences(paramString, 0).edit(); + ((SharedPreferences.Editor)localObject).putInt(paramString, paramInt); + ((SharedPreferences.Editor)localObject).commit(); + } + + public static void a(String paramString, boolean paramBoolean) + { + try + { + Context localContext = RqdApplication.i(); + if (!TextUtils.isEmpty(paramString)) + { + paramString = localContext.getSharedPreferences(paramString + "account_tip_flag", 0).edit(); + paramString.putBoolean("account_tip_flag", paramBoolean); + paramString.commit(); + } + return; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + } + + public static boolean a() + { + Object localObject = (ConnectivityManager)RqdApplication.i().getSystemService("connectivity"); + if (localObject == null) {} + do + { + do + { + return false; + localObject = ((ConnectivityManager)localObject).getNetworkInfo(1); + } while (localObject == null); + localObject = ((NetworkInfo)localObject).getState(); + } while (localObject == null); + if (NetworkInfo.State.CONNECTED == localObject) {} + for (boolean bool = true;; bool = false) { + return bool; + } + } + + public static boolean a(long paramLong1, long paramLong2) + { + a.setTime(paramLong1); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int i = b.get(1); + int j = b.get(6); + a.setTime(paramLong2); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int k = b.get(1); + int m = b.get(6); + return (i == k) && (j == m); + } + + public static boolean a(Context paramContext, String paramString) + { + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramString, 0); + if (paramContext == null) { + return false; + } + } + catch (PackageManager.NameNotFoundException paramContext) + { + for (;;) + { + paramContext.printStackTrace(); + paramContext = null; + } + } + return true; + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt) + { + byte[] arrayOfByte = new byte[24]; + int n = 0; + int m = 0; + int i = 0; + int j = 0; + int k = paramInt; + paramInt = n; + for (;;) + { + n = k - 1; + int i1 = i; + if (k > 0) + { + i = j + 1; + j = paramArrayOfByte[j]; + i1 = j; + if (j != 0) + { + i1 = j; + if (j != 95) + { + k = j; + if (j == 32) { + k = 42; + } + j = c[k]; + if (j < 0) { + break label309; + } + switch (m % 4) + { + } + for (;;) + { + i1 = m + 1; + k = n; + m = j; + j = i; + i = m; + m = i1; + break; + arrayOfByte[paramInt] = ((byte)(j << 2)); + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j >> 4)); + arrayOfByte[k] = ((byte)((j & 0xF) << 4)); + paramInt = k; + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j >> 2)); + arrayOfByte[k] = ((byte)((j & 0x3) << 6)); + paramInt = k; + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j)); + paramInt = k; + } + } + } + } + if (i1 == 95) + { + i = paramInt; + switch (m % 4) + { + } + } + for (;;) + { + return arrayOfByte; + return null; + i = paramInt + 1; + arrayOfByte[i] = 0; + } + label309: + k = n; + n = i; + i = j; + j = n; + } + } + + public static String b(long paramLong) + { + a.setTime(paramLong); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + StringBuffer localStringBuffer = new StringBuffer(); + int i = b.get(2); + int j = b.get(5); + localStringBuffer.append(i + 1); + localStringBuffer.append('-'); + if (j < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(j); + return localStringBuffer.toString(); + } + + public static String b(Context paramContext) + { + try + { + paramContext = ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId(); + e.b("deviceId =" + paramContext); + if (paramContext == null) { + return null; + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext = null; + } + } + return MD5.toMD5(paramContext); + } + + public static String b(String paramString) + { + if (paramString.length() < 3) { + return paramString; + } + StringBuffer localStringBuffer = new StringBuffer("12******9"); + localStringBuffer.replace(0, 2, paramString.substring(0, 2)); + localStringBuffer.replace(8, 9, paramString.substring(paramString.length() - 1, paramString.length())); + return localStringBuffer.toString(); + } + + public static String b(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = ax.a().c(); + if ((arrayOfByte == null) || (arrayOfByte.length != 16)) + { + if (arrayOfByte == null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + return null; + } + } + paramArrayOfByte = new a().b(paramArrayOfByte, arrayOfByte); + if (paramArrayOfByte == null) + { + e.c("encrypt pwd failed"); + return null; + } + return ap.a(paramArrayOfByte); + } + + public static void b(Context paramContext, String paramString) + { + if (paramString == null) { + return; + } + Intent localIntent = new Intent(paramContext, HelpActivity.class); + localIntent.putExtra("help_url", paramString); + paramContext.startActivity(localIntent); + } + + public static void b(Context paramContext, String paramString1, String paramString2) + { + Intent localIntent = new Intent(paramContext, HelpActivity.class); + localIntent.putExtra("help_url", paramString1); + localIntent.putExtra("help_title", paramString2); + localIntent.putExtra("h5_scene", 0); + paramContext.startActivity(localIntent); + } + + public static boolean b() + { + return RqdApplication.c == 1; + } + + public static String c(long paramLong) + { + a.setTime(System.currentTimeMillis()); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int i = b.get(1); + int j = b.get(6); + a.setTime(paramLong); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + int k = b.get(1); + int m = b.get(6); + int n = b.get(7); + if ((i == k) && (j == m)) { + return com.tencent.token.global.b.e().getResources().getString(2131362023); + } + if ((i == k) && (j == m + 1)) { + return com.tencent.token.global.b.e().getResources().getString(2131362024); + } + if ((i == k) && (j <= m + 6)) + { + switch (n) + { + default: + return a(b); + case 1: + return com.tencent.token.global.b.e().getResources().getString(2131362031); + case 2: + return com.tencent.token.global.b.e().getResources().getString(2131362025); + case 3: + return com.tencent.token.global.b.e().getResources().getString(2131362026); + case 4: + return com.tencent.token.global.b.e().getResources().getString(2131362027); + case 5: + return com.tencent.token.global.b.e().getResources().getString(2131362028); + case 6: + return com.tencent.token.global.b.e().getResources().getString(2131362029); + } + return com.tencent.token.global.b.e().getResources().getString(2131362030); + } + return a(b); + } + + public static String c(Context paramContext) + { + try + { + paramContext = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo().getMacAddress(); + e.b("mac =" + paramContext); + if (paramContext == null) { + return null; + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext = null; + } + } + return MD5.toMD5(paramContext); + } + + /* Error */ + public static String c(Context paramContext, String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore 6 + // 3: aload_0 + // 4: invokevirtual 103 android/content/Context:getResources ()Landroid/content/res/Resources; + // 7: invokevirtual 565 android/content/res/Resources:getAssets ()Landroid/content/res/AssetManager; + // 10: aload_1 + // 11: invokevirtual 571 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 14: astore_3 + // 15: new 573 java/io/File + // 18: dup + // 19: aload_0 + // 20: ldc_w 575 + // 23: iconst_0 + // 24: invokevirtual 579 android/content/Context:getDir (Ljava/lang/String;I)Ljava/io/File; + // 27: aload_1 + // 28: invokespecial 582 java/io/File: (Ljava/io/File;Ljava/lang/String;)V + // 31: astore 5 + // 33: aload 5 + // 35: invokevirtual 585 java/io/File:exists ()Z + // 38: ifeq +30 -> 68 + // 41: aload 5 + // 43: invokevirtual 588 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 46: astore_0 + // 47: aload_0 + // 48: astore_1 + // 49: aload_3 + // 50: ifnull +9 -> 59 + // 53: aload_3 + // 54: invokevirtual 593 java/io/InputStream:close ()V + // 57: aload_0 + // 58: astore_1 + // 59: aload_1 + // 60: areturn + // 61: astore_1 + // 62: aload_1 + // 63: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 66: aload_0 + // 67: areturn + // 68: new 595 java/io/FileOutputStream + // 71: dup + // 72: aload 5 + // 74: invokespecial 598 java/io/FileOutputStream: (Ljava/io/File;)V + // 77: astore_0 + // 78: aload_0 + // 79: astore 4 + // 81: aload_3 + // 82: astore_1 + // 83: sipush 1024 + // 86: newarray byte + // 88: astore 7 + // 90: aload_0 + // 91: astore 4 + // 93: aload_3 + // 94: astore_1 + // 95: aload_3 + // 96: aload 7 + // 98: invokevirtual 602 java/io/InputStream:read ([B)I + // 101: istore_2 + // 102: iload_2 + // 103: iconst_m1 + // 104: if_icmpeq +59 -> 163 + // 107: aload_0 + // 108: astore 4 + // 110: aload_3 + // 111: astore_1 + // 112: aload_0 + // 113: aload 7 + // 115: iconst_0 + // 116: iload_2 + // 117: invokevirtual 606 java/io/FileOutputStream:write ([BII)V + // 120: goto -30 -> 90 + // 123: astore 5 + // 125: aload_0 + // 126: astore 4 + // 128: aload_3 + // 129: astore_1 + // 130: aload 5 + // 132: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 135: aload_3 + // 136: ifnull +7 -> 143 + // 139: aload_3 + // 140: invokevirtual 593 java/io/InputStream:close ()V + // 143: aload 6 + // 145: astore_1 + // 146: aload_0 + // 147: ifnull -88 -> 59 + // 150: aload_0 + // 151: invokevirtual 607 java/io/FileOutputStream:close ()V + // 154: aconst_null + // 155: areturn + // 156: astore_0 + // 157: aload_0 + // 158: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 161: aconst_null + // 162: areturn + // 163: aload_0 + // 164: astore 4 + // 166: aload_3 + // 167: astore_1 + // 168: aload 5 + // 170: invokevirtual 588 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 173: astore 5 + // 175: aload_3 + // 176: ifnull +7 -> 183 + // 179: aload_3 + // 180: invokevirtual 593 java/io/InputStream:close ()V + // 183: aload_0 + // 184: invokevirtual 607 java/io/FileOutputStream:close ()V + // 187: aload 5 + // 189: areturn + // 190: astore_0 + // 191: aload_0 + // 192: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 195: aload 5 + // 197: areturn + // 198: astore_0 + // 199: aconst_null + // 200: astore 4 + // 202: aconst_null + // 203: astore_1 + // 204: aload_1 + // 205: ifnull +7 -> 212 + // 208: aload_1 + // 209: invokevirtual 593 java/io/InputStream:close ()V + // 212: aload 4 + // 214: ifnull +8 -> 222 + // 217: aload 4 + // 219: invokevirtual 607 java/io/FileOutputStream:close ()V + // 222: aload_0 + // 223: athrow + // 224: astore_1 + // 225: aload_1 + // 226: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 229: goto -7 -> 222 + // 232: astore_0 + // 233: aconst_null + // 234: astore 4 + // 236: aload_3 + // 237: astore_1 + // 238: goto -34 -> 204 + // 241: astore_0 + // 242: goto -38 -> 204 + // 245: astore 5 + // 247: aconst_null + // 248: astore_0 + // 249: aconst_null + // 250: astore_3 + // 251: goto -126 -> 125 + // 254: astore 5 + // 256: aconst_null + // 257: astore_0 + // 258: goto -133 -> 125 + // Local variable table: + // start length slot name signature + // 0 261 0 paramContext Context + // 0 261 1 paramString String + // 101 16 2 i int + // 14 237 3 localInputStream java.io.InputStream + // 79 156 4 localContext Context + // 31 42 5 localFile java.io.File + // 123 46 5 localException1 Exception + // 173 23 5 str String + // 245 1 5 localException2 Exception + // 254 1 5 localException3 Exception + // 1 143 6 localObject Object + // 88 26 7 arrayOfByte byte[] + // Exception table: + // from to target type + // 53 57 61 java/lang/Exception + // 83 90 123 java/lang/Exception + // 95 102 123 java/lang/Exception + // 112 120 123 java/lang/Exception + // 168 175 123 java/lang/Exception + // 139 143 156 java/lang/Exception + // 150 154 156 java/lang/Exception + // 179 183 190 java/lang/Exception + // 183 187 190 java/lang/Exception + // 3 15 198 finally + // 208 212 224 java/lang/Exception + // 217 222 224 java/lang/Exception + // 15 47 232 finally + // 68 78 232 finally + // 83 90 241 finally + // 95 102 241 finally + // 112 120 241 finally + // 130 135 241 finally + // 168 175 241 finally + // 3 15 245 java/lang/Exception + // 15 47 254 java/lang/Exception + // 68 78 254 java/lang/Exception + } + + public static String c(String paramString) + { + int k = paramString.length(); + int i = 0; + while (i < k) + { + char c1 = paramString.charAt(i); + if (!Character.isLetterOrDigit(c1)) { + switch (c1) + { + } + } + for (int j = 0; j == 0; j = 1) { + return "B" + b.a(paramString.getBytes()); + } + i += 1; + } + return "A" + paramString; + } + + public static boolean c() + { + Object localObject = (ActivityManager)RqdApplication.i().getSystemService("activity"); + String str = RqdApplication.i().getPackageName(); + localObject = ((ActivityManager)localObject).getRunningAppProcesses(); + if (localObject == null) { + return false; + } + localObject = ((List)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)((Iterator)localObject).next(); + if ((localRunningAppProcessInfo.processName.equals(str)) && (localRunningAppProcessInfo.importance == 100)) { + return true; + } + } + return false; + } + + public static byte[] c(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = ax.a().c(); + boolean bool; + if ((arrayOfByte == null) || (arrayOfByte.length != 16)) { + if (arrayOfByte == null) + { + bool = true; + e.a(bool); + paramArrayOfByte = null; + } + } + do + { + return paramArrayOfByte; + bool = false; + break; + arrayOfByte = new a().b(paramArrayOfByte, arrayOfByte); + paramArrayOfByte = arrayOfByte; + } while (arrayOfByte != null); + e.c("encrypt pwd failed"); + return null; + } + + public static String d(long paramLong) + { + a.setTime(paramLong); + b.setTime(a); + b.setTimeZone(TimeZone.getTimeZone("GMT+8")); + StringBuffer localStringBuffer = new StringBuffer(); + int i = b.get(11); + int j = b.get(12); + if (i < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(i); + localStringBuffer.append(':'); + if (j < 10) { + localStringBuffer.append('0'); + } + localStringBuffer.append(j); + return localStringBuffer.toString(); + } + + public static String d(Context paramContext) + { + try + { + paramContext = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo().getBSSID(); + e.b("bssid =" + paramContext); + if (paramContext == null) { + return null; + } + } + catch (Exception paramContext) + { + for (;;) + { + paramContext = null; + } + } + return MD5.toMD5(paramContext); + } + + public static boolean d() + { + Object localObject = ((ActivityManager.RunningTaskInfo)((ActivityManager)RqdApplication.i().getSystemService("activity")).getRunningTasks(1).get(0)).topActivity; + if (localObject == null) { + return false; + } + localObject = ((ComponentName)localObject).getPackageName(); + String str = RqdApplication.i().getPackageName(); + if (localObject == null) { + return false; + } + return (((String)localObject).length() > 0) && (str.equals(localObject)); + } + + public static byte[] d(String paramString) + { + byte[] arrayOfByte = ax.a().c(); + if ((arrayOfByte == null) || (arrayOfByte.length != 16)) + { + if (arrayOfByte == null) {} + for (boolean bool = true;; bool = false) + { + e.a(bool); + return null; + } + } + try + { + paramString = new a().a(ap.a(paramString), arrayOfByte); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return null; + } + + public static String e(long paramLong) + { + if (paramLong <= 0L) { + return ""; + } + StringBuffer localStringBuffer1 = new StringBuffer(Long.toString(paramLong)); + StringBuffer localStringBuffer2 = new StringBuffer(""); + int i = 0; + if (i < localStringBuffer1.length()) + { + if ((i == 0) || (i == 1) || (i == localStringBuffer1.length() - 1)) { + localStringBuffer2.append(localStringBuffer1.charAt(i)); + } + for (;;) + { + i += 1; + break; + localStringBuffer2.append('*'); + } + } + return localStringBuffer2.toString(); + } + + public static String e(Context paramContext) + { + try + { + paramContext = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo().getSSID(); + return paramContext; + } + catch (Exception paramContext) {} + return null; + } + + public static boolean e() + { + boolean bool2 = false; + boolean bool3 = false; + boolean bool1 = bool3; + try + { + Object localObject = RqdApplication.i(); + bool1 = bool3; + if (ax.a().e() == null) { + return false; + } + bool1 = bool3; + String str = String.valueOf(ax.a().e().mUin); + bool1 = bool3; + if (!TextUtils.isEmpty(str)) + { + bool1 = bool3; + localObject = ((Context)localObject).getSharedPreferences(str + "account_tip_flag", 0); + bool1 = bool3; + bool3 = ((SharedPreferences)localObject).getBoolean("account_tip_flag", false); + bool2 = bool3; + if (bool3) + { + bool1 = bool3; + localObject = ((SharedPreferences)localObject).edit(); + bool1 = bool3; + ((SharedPreferences.Editor)localObject).putBoolean("account_tip_flag", false); + bool1 = bool3; + ((SharedPreferences.Editor)localObject).commit(); + return bool3; + } + } + } + catch (Exception localException) + { + localException.printStackTrace(); + bool2 = bool1; + } + return bool2; + } + + public static byte[] e(String paramString) + { + e.a("data hex: " + paramString); + try + { + paramString = new a().a(ap.a(paramString), ag.c().f()); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return null; + } + + public static long f(long paramLong) + { + long l = 0L; + if (paramLong == 0L) {} + String str; + int j; + do + { + return l; + str = ap.a(MD5.toMD5Byte(Long.toString(paramLong))); + j = Math.min(31, str.length() - 1); + paramLong = l; + l = paramLong; + } while (j < 0); + int k = 0; + int i; + if ((str.charAt(j) >= '0') && (str.charAt(j) <= '9')) + { + i = str.charAt(j) - '0'; + label82: + if (i % 2 == 0) { + break label177; + } + paramLong += (1L << j); + } + label177: + for (;;) + { + j -= 1; + break; + if ((str.charAt(j) >= 'a') && (str.charAt(j) <= 'f')) + { + i = str.charAt(j) - 'a'; + break label82; + } + i = k; + if (str.charAt(j) < 'A') { + break label82; + } + i = k; + if (str.charAt(j) > 'F') { + break label82; + } + i = str.charAt(j) - 'A'; + break label82; + } + } + + public static String f(String paramString) + { + String str; + if ((paramString == null) || (paramString.length() == 0)) { + str = null; + } + do + { + return str; + str = "http://"; + } while (paramString.startsWith("http://")); + if (paramString.startsWith("https://")) { + return "https://"; + } + return null; + } + + public static boolean f() + { + boolean bool2 = false; + List localList = ((ActivityManager)RqdApplication.i().getSystemService("activity")).getRunningServices(50); + int i = 0; + for (;;) + { + boolean bool1 = bool2; + if (i < localList.size()) + { + if (((ActivityManager.RunningServiceInfo)localList.get(i)).service.getClassName().equals("com.tencent.token.core.gamelogin.GameLoginService")) + { + e.c("game login: " + ((ActivityManager.RunningServiceInfo)localList.get(i)).service.getClassName()); + bool1 = true; + } + } + else { + return bool1; + } + i += 1; + } + } + + public static String g(String paramString) + { + String str = f(paramString); + if (str == null) { + paramString = null; + } + int i; + do + { + return paramString; + str = paramString.substring(str.length()); + i = str.indexOf('/'); + paramString = str; + } while (i == -1); + return str.substring(0, i); + } + + public static void g() + { + Context localContext = RqdApplication.i(); + Object localObject2 = AppWidgetManager.getInstance(localContext); + ComponentName localComponentName = new ComponentName(localContext, TokenWidgetProvider.class); + Object localObject1 = null; + try + { + localObject2 = ((AppWidgetManager)localObject2).getAppWidgetIds(localComponentName); + localObject1 = localObject2; + e.a("widget_big num=" + localObject2.length); + localObject1 = localObject2; + } + catch (Exception localException) + { + for (;;) + { + continue; + int i = 0; + } + } + if ((localObject1 != null) && (localObject1.length > 0)) + { + i = 1; + if ((i != 0) && (!m())) { + localContext.startService(new Intent(localContext, TokenService.class)); + } + if (!n()) { + localContext.startService(new Intent(localContext, PushService.class)); + } + return; + } + } + + public static void h() + { + Intent localIntent = new Intent(RqdApplication.i(), GameLoginService.class); + RqdApplication.i().stopService(localIntent); + } + + public static void h(String paramString) + { + Object localObject = RqdApplication.i(); + if (!TextUtils.isEmpty(null)) + { + localObject = ((Context)localObject).getSharedPreferences(null + paramString, 0).edit(); + ((SharedPreferences.Editor)localObject).putBoolean(paramString, true); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + localObject = ((Context)localObject).getSharedPreferences(paramString, 0).edit(); + ((SharedPreferences.Editor)localObject).putBoolean(paramString, true); + ((SharedPreferences.Editor)localObject).commit(); + } + + public static String i() + { + Object localObject = RqdApplication.i(); + if (localObject != null) + { + localObject = ((ConnectivityManager)((Context)localObject).getSystemService("connectivity")).getActiveNetworkInfo(); + if (localObject != null) + { + if (((NetworkInfo)localObject).getType() == 0) + { + if (((NetworkInfo)localObject).getExtraInfo() == null) { + return ""; + } + return ((NetworkInfo)localObject).getExtraInfo().toLowerCase(Locale.getDefault()); + } + return ((NetworkInfo)localObject).getTypeName().toLowerCase(Locale.getDefault()); + } + return ""; + } + return ""; + } + + public static boolean i(String paramString) + { + Context localContext = RqdApplication.i(); + if (!TextUtils.isEmpty(null)) { + return localContext.getSharedPreferences(null + paramString, 0).getBoolean(paramString, false); + } + return localContext.getSharedPreferences(paramString, 0).getBoolean(paramString, false); + } + + public static int j(String paramString) + { + Context localContext = RqdApplication.i(); + if (!TextUtils.isEmpty(null)) { + return localContext.getSharedPreferences(null + paramString, 0).getInt(paramString, 0); + } + return localContext.getSharedPreferences(paramString, 0).getInt(paramString, 0); + } + + public static String j() + { + try + { + Object localObject = RqdApplication.i(); + localObject = ((Context)localObject).getPackageManager().getPackageInfo(((Context)localObject).getPackageName(), 0).versionName; + return localObject; + } + catch (PackageManager.NameNotFoundException localNameNotFoundException) + { + localNameNotFoundException.printStackTrace(); + return ""; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return ""; + } + + /* Error */ + public static String k() + { + // Byte code: + // 0: new 838 java/util/ArrayList + // 3: dup + // 4: invokespecial 839 java/util/ArrayList: ()V + // 7: astore_0 + // 8: new 841 java/io/DataInputStream + // 11: dup + // 12: invokestatic 401 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 15: invokevirtual 103 android/content/Context:getResources ()Landroid/content/res/Resources; + // 18: invokevirtual 565 android/content/res/Resources:getAssets ()Landroid/content/res/AssetManager; + // 21: ldc_w 843 + // 24: invokevirtual 571 android/content/res/AssetManager:open (Ljava/lang/String;)Ljava/io/InputStream; + // 27: invokespecial 846 java/io/DataInputStream: (Ljava/io/InputStream;)V + // 30: astore_1 + // 31: aload_1 + // 32: invokevirtual 849 java/io/DataInputStream:readLine ()Ljava/lang/String; + // 35: astore_2 + // 36: aload_2 + // 37: ifnull +55 -> 92 + // 40: aload_2 + // 41: invokevirtual 201 java/lang/String:length ()I + // 44: iconst_1 + // 45: if_icmple -14 -> 31 + // 48: aload_2 + // 49: invokevirtual 851 java/lang/String:toLowerCase ()Ljava/lang/String; + // 52: ldc_w 853 + // 55: invokevirtual 855 java/lang/String:indexOf (Ljava/lang/String;)I + // 58: iflt -27 -> 31 + // 61: aload_0 + // 62: aload_2 + // 63: ldc_w 853 + // 66: invokevirtual 201 java/lang/String:length ()I + // 69: invokevirtual 758 java/lang/String:substring (I)Ljava/lang/String; + // 72: invokevirtual 858 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 75: pop + // 76: goto -45 -> 31 + // 79: astore_0 + // 80: aload_0 + // 81: invokevirtual 389 java/lang/Exception:printStackTrace ()V + // 84: aload_1 + // 85: invokevirtual 859 java/io/DataInputStream:close ()V + // 88: ldc_w 861 + // 91: areturn + // 92: aload_0 + // 93: invokevirtual 862 java/util/ArrayList:size ()I + // 96: ifle +27 -> 123 + // 99: aload_0 + // 100: aload_0 + // 101: invokevirtual 862 java/util/ArrayList:size ()I + // 104: iconst_1 + // 105: isub + // 106: invokevirtual 863 java/util/ArrayList:get (I)Ljava/lang/Object; + // 109: checkcast 200 java/lang/String + // 112: astore_0 + // 113: aload_1 + // 114: invokevirtual 859 java/io/DataInputStream:close ()V + // 117: aload_0 + // 118: areturn + // 119: astore_0 + // 120: goto -32 -> 88 + // 123: ldc_w 861 + // 126: astore_0 + // 127: goto -14 -> 113 + // 130: astore_0 + // 131: aload_1 + // 132: invokevirtual 859 java/io/DataInputStream:close ()V + // 135: aload_0 + // 136: athrow + // Local variable table: + // start length slot name signature + // 7 55 0 localArrayList java.util.ArrayList + // 79 22 0 localException Exception + // 112 6 0 str1 String + // 119 1 0 localIOException java.io.IOException + // 126 1 0 str2 String + // 130 6 0 localObject Object + // 30 102 1 localDataInputStream java.io.DataInputStream + // 35 28 2 str3 String + // Exception table: + // from to target type + // 31 36 79 java/lang/Exception + // 40 76 79 java/lang/Exception + // 92 113 79 java/lang/Exception + // 0 31 119 java/io/IOException + // 84 88 119 java/io/IOException + // 113 117 119 java/io/IOException + // 131 137 119 java/io/IOException + // 31 36 130 finally + // 40 76 130 finally + // 80 84 130 finally + // 92 113 130 finally + } + + public static int l() + { + return Build.VERSION.SDK_INT; + } + + private static boolean m() + { + boolean bool2 = false; + List localList = ((ActivityManager)RqdApplication.i().getSystemService("activity")).getRunningServices(50); + int i = 0; + for (;;) + { + boolean bool1 = bool2; + if (i < localList.size()) + { + if (((ActivityManager.RunningServiceInfo)localList.get(i)).service.getClassName().equals("com.tencent.token.widget.TokenService")) { + bool1 = true; + } + } + else { + return bool1; + } + i += 1; + } + } + + private static boolean n() + { + List localList = ((ActivityManager)RqdApplication.i().getSystemService("activity")).getRunningServices(50); + if (localList == null) {} + for (;;) + { + return false; + int i = 0; + while (i < localList.size()) + { + if (((ActivityManager.RunningServiceInfo)localList.get(i)).service.getClassName().equals("com.tencent.token.core.push.PushService")) { + return true; + } + i += 1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/t.java b/com.tencent.token/classes.jar/com/tencent/token/utils/t.java new file mode 100755 index 00000000000..f0072a026e3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/t.java @@ -0,0 +1,1070 @@ +package com.tencent.token.utils; + +import android.app.Activity; +import android.app.ActivityManager; +import android.app.ActivityManager.RunningTaskInfo; +import android.content.ComponentName; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.graphics.Bitmap.Config; +import android.graphics.BitmapFactory; +import android.graphics.BitmapFactory.Options; +import android.graphics.Matrix; +import android.media.ExifInterface; +import android.os.Build; +import android.os.Build.VERSION; +import android.text.TextUtils; +import android.view.View; +import android.view.Window; +import android.view.inputmethod.InputMethodManager; +import com.tencent.token.ag; +import com.tencent.token.ah; +import com.tencent.token.ap; +import com.tencent.token.ax; +import com.tencent.token.core.bean.ConfigResult; +import com.tencent.token.core.bean.FaceRecognitionParamResult; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.e; +import com.tencent.token.utils.encrypt.a; +import com.tencent.token.utils.encrypt.c; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; +import org.json.JSONArray; + +public final class t +{ + public static ConfigResult a = new ConfigResult(); + public static int b = 600; + private static ImageCache c = new ImageCache(2, RqdApplication.i()); + private static final FileFilter d = new u(); + + public static long a(int paramInt, long paramLong) + { + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("features_file", 0); + if (paramInt == 1) {} + for (String str = "" + paramLong + "_login";; str = "" + paramLong + "_op") { + return localSharedPreferences.getLong(str, 0L); + } + return 0L; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static Bitmap a(Context paramContext, int paramInt, boolean paramBoolean) + { + BitmapFactory.Options localOptions = new BitmapFactory.Options(); + localOptions.inPreferredConfig = Bitmap.Config.RGB_565; + localOptions.inPurgeable = true; + localOptions.inInputShareable = true; + if (paramBoolean) { + localOptions.inSampleSize = 2; + } + return BitmapFactory.decodeResource(paramContext.getResources(), paramInt, localOptions); + } + + public static Bitmap a(Resources paramResources, int paramInt) + { + try + { + paramResources = BitmapFactory.decodeResource(paramResources, paramInt); + return paramResources; + } + catch (OutOfMemoryError paramResources) {} + return null; + } + + public static Bitmap a(Resources paramResources, int paramInt, float paramFloat1, float paramFloat2) + { + paramResources = a(paramResources, paramInt); + if (paramResources == null) { + return null; + } + paramInt = paramResources.getWidth(); + int i = paramResources.getHeight(); + Object localObject = new Matrix(); + ((Matrix)localObject).postScale(paramFloat1, paramFloat2); + try + { + localObject = Bitmap.createBitmap(paramResources, 0, 0, paramInt, i, (Matrix)localObject, true); + paramResources.recycle(); + return localObject; + } + catch (OutOfMemoryError paramResources) + { + return null; + } + catch (Exception paramResources) {} + return null; + } + + public static Bitmap a(Resources paramResources, int paramInt1, int paramInt2) + { + paramResources = a(paramResources, paramInt1); + if (paramResources == null) { + return null; + } + paramInt1 = paramResources.getWidth(); + int i = paramResources.getHeight(); + float f = paramInt2 / paramInt1; + Object localObject = new Matrix(); + ((Matrix)localObject).postScale(f, f); + try + { + localObject = Bitmap.createBitmap(paramResources, 0, 0, paramInt1, i, (Matrix)localObject, true); + paramResources.recycle(); + boolean bool = ((Bitmap)localObject).isRecycled(); + if (bool) { + return null; + } + return localObject; + } + catch (OutOfMemoryError paramResources) + { + return null; + } + catch (Exception paramResources) {} + return null; + } + + public static Bitmap a(Resources paramResources, int paramInt1, int paramInt2, int paramInt3) + { + paramResources = a(paramResources, paramInt1); + if (paramResources == null) { + return null; + } + paramInt1 = paramResources.getWidth(); + int i = paramResources.getHeight(); + float f1 = paramInt2 / paramInt1; + float f2 = paramInt3 / i; + Object localObject = new Matrix(); + ((Matrix)localObject).postScale(f1, f2); + try + { + localObject = Bitmap.createBitmap(paramResources, 0, 0, paramInt1, i, (Matrix)localObject, true); + paramResources.recycle(); + boolean bool = ((Bitmap)localObject).isRecycled(); + if (bool) { + return null; + } + return localObject; + } + catch (OutOfMemoryError paramResources) + { + return null; + } + catch (Exception paramResources) {} + return null; + } + + public static Bitmap a(byte[] paramArrayOfByte) + { + try + { + paramArrayOfByte = BitmapFactory.decodeByteArray(paramArrayOfByte, 0, paramArrayOfByte.length); + return paramArrayOfByte; + } + catch (OutOfMemoryError paramArrayOfByte) {} + return null; + } + + public static String a(Context paramContext) + { + paramContext = ((ActivityManager)paramContext.getSystemService("activity")).getRunningTasks(1); + if (paramContext != null) { + return ((ActivityManager.RunningTaskInfo)paramContext.get(0)).topActivity.getClassName(); + } + return null; + } + + public static void a() + { + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("features_file", 0); + a.mStartUpImgStartTime = localSharedPreferences.getLong("startup_start_time", 0L); + a.mStartUpImgEndTime = localSharedPreferences.getLong("startup_end_time", 0L); + a.mStartUpImgUrl = localSharedPreferences.getString("startup_img_url", ""); + long l = ag.c().r() / 1000L; + if ((a.mStartUpImgStartTime != 0L) && (a.mStartUpImgEndTime != 0L) && (l >= a.mStartUpImgStartTime) && (l <= a.mStartUpImgEndTime)) {} + for (a.mStartUpImg = c.b(c.c("startup_img"));; a.mStartUpImg = null) + { + e.c("startup current=" + l + ", start=" + a.mStartUpImgStartTime + ", end=" + a.mStartUpImgEndTime + ", url=" + a.mStartUpImgUrl + ", img=" + a.mStartUpImg); + return; + } + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + a.mStartUpImg = null; + } + } + + public static void a(int paramInt, long paramLong1, long paramLong2) + { + if (paramInt == 1) {} + for (;;) + { + try + { + str = "" + paramLong1 + "_login"; + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putLong(str, paramLong2); + localEditor.commit(); + return; + } + catch (Exception localException) + { + String str; + e.c("SharedPreferences msg " + localException.getMessage()); + } + str = "" + paramLong1 + "_op"; + } + } + + public static void a(long paramLong) + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putLong("dns_time", paramLong); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static void a(Activity paramActivity) + { + ((InputMethodManager)paramActivity.getSystemService("input_method")).hideSoftInputFromWindow(paramActivity.getWindow().peekDecorView().getWindowToken(), 0); + } + + public static void a(ConfigResult paramConfigResult) + { + if ((paramConfigResult == null) || (paramConfigResult.mStartUpImgUrl == null) || (paramConfigResult.mStartUpImg == null)) { + return; + } + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putLong("startup_start_time", paramConfigResult.mStartUpImgStartTime); + localEditor.putLong("startup_end_time", paramConfigResult.mStartUpImgEndTime); + localEditor.putString("startup_img_url", paramConfigResult.mStartUpImgUrl); + localEditor.commit(); + ImageCache.a(c.c("startup_img")); + c.a(c.c("startup_img"), paramConfigResult.mStartUpImg); + paramConfigResult.mStartUpImg.recycle(); + paramConfigResult.mStartUpImg = null; + return; + } + catch (Exception paramConfigResult) + { + e.c("SharedPreferences msg " + paramConfigResult.getMessage()); + } + } + + public static void a(String paramString, int paramInt) + { + Object localObject = RqdApplication.i(); + try + { + localObject = ((Context)localObject).getSharedPreferences("schemaparm_name", 0).edit(); + ((SharedPreferences.Editor)localObject).putString("key_schemaparm_key", paramString); + ((SharedPreferences.Editor)localObject).putInt("key_schemaparm_timeout", paramInt); + ((SharedPreferences.Editor)localObject).commit(); + return; + } + catch (Exception paramString) + { + e.c("SharedPreferences msg " + paramString.getMessage()); + } + } + + public static void a(boolean paramBoolean) + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putBoolean("start_camera", paramBoolean); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static boolean a(int paramInt1, int paramInt2) + { + Runtime.getRuntime().freeMemory(); + Runtime.getRuntime().maxMemory(); + Runtime.getRuntime().totalMemory(); + if (Runtime.getRuntime().maxMemory() - Runtime.getRuntime().totalMemory() - 4194304L < paramInt1 * paramInt2 * 4 * 1) + { + e.b("use low quality:mem=" + (Runtime.getRuntime().maxMemory() - 10485760L) + " " + paramInt1 + "*" + paramInt2 + "*4*" + 1 + "=" + paramInt1 * paramInt2 * 4 * 1); + return true; + } + return false; + } + + public static byte[] a(String paramString) + { + localObject = new BitmapFactory.Options(); + ((BitmapFactory.Options)localObject).inJustDecodeBounds = true; + BitmapFactory.decodeFile(paramString, (BitmapFactory.Options)localObject); + int j = (int)Math.max(((BitmapFactory.Options)localObject).outWidth / 960.0F, ((BitmapFactory.Options)localObject).outHeight / 960.0F); + int i = j; + if (j <= 0) { + i = 1; + } + ((BitmapFactory.Options)localObject).inSampleSize = i; + ((BitmapFactory.Options)localObject).inJustDecodeBounds = false; + localObject = BitmapFactory.decodeFile(paramString, (BitmapFactory.Options)localObject); + if (localObject == null) { + return null; + } + i = c(paramString); + paramString = (String)localObject; + if (i != 0) + { + paramString = new Matrix(); + paramString.preRotate(i); + Bitmap localBitmap = Bitmap.createBitmap((Bitmap)localObject, 0, 0, ((Bitmap)localObject).getWidth(), ((Bitmap)localObject).getHeight(), paramString, true); + paramString = (String)localObject; + if (localObject != localBitmap) + { + if (!((Bitmap)localObject).isRecycled()) { + ((Bitmap)localObject).recycle(); + } + paramString = localBitmap; + } + } + localObject = new ByteArrayOutputStream(); + try + { + paramString.compress(Bitmap.CompressFormat.JPEG, 80, (OutputStream)localObject); + i = 80; + while (((ByteArrayOutputStream)localObject).size() > 153600) + { + i -= 20; + ((ByteArrayOutputStream)localObject).reset(); + paramString.compress(Bitmap.CompressFormat.JPEG, i, (OutputStream)localObject); + } + try + { + ((ByteArrayOutputStream)localObject).close(); + throw paramString; + } + catch (IOException localIOException) + { + for (;;) + { + localIOException.printStackTrace(); + } + } + } + catch (Exception paramString) + { + paramString = paramString; + paramString.printStackTrace(); + try + { + ((ByteArrayOutputStream)localObject).close(); + for (;;) + { + return ((ByteArrayOutputStream)localObject).toByteArray(); + try + { + ((ByteArrayOutputStream)localObject).close(); + } + catch (IOException paramString) + { + paramString.printStackTrace(); + } + } + } + catch (IOException paramString) + { + for (;;) + { + paramString.printStackTrace(); + } + } + } + finally {} + } + + public static Bitmap b(String paramString, int paramInt) + { + Object localObject = new BitmapFactory.Options(); + ((BitmapFactory.Options)localObject).inJustDecodeBounds = true; + BitmapFactory.decodeFile(paramString, (BitmapFactory.Options)localObject); + int i = (int)(Math.max(((BitmapFactory.Options)localObject).outWidth, ((BitmapFactory.Options)localObject).outHeight) / paramInt); + paramInt = i; + if (i <= 0) { + paramInt = 1; + } + ((BitmapFactory.Options)localObject).inSampleSize = paramInt; + ((BitmapFactory.Options)localObject).inJustDecodeBounds = false; + Bitmap localBitmap; + do + { + do + { + try + { + localObject = BitmapFactory.decodeFile(paramString, (BitmapFactory.Options)localObject); + if (localObject == null) + { + paramString = null; + return paramString; + } + } + catch (Exception paramString) + { + e.c("BitmapFactory.decodeFile failed..."); + return null; + } + paramInt = c(paramString); + paramString = (String)localObject; + } while (paramInt == 0); + paramString = new Matrix(); + paramString.preRotate(paramInt); + localBitmap = Bitmap.createBitmap((Bitmap)localObject, 0, 0, ((Bitmap)localObject).getWidth(), ((Bitmap)localObject).getHeight(), paramString, true); + paramString = (String)localObject; + } while (localObject == localBitmap); + if (!((Bitmap)localObject).isRecycled()) { + ((Bitmap)localObject).recycle(); + } + return localBitmap; + } + + public static void b(long paramLong) + { + try + { + ah.a(); + SharedPreferences.Editor localEditor = ah.h().edit(); + String str1 = com.tencent.token.u.b(); + a locala = new a(); + String str2 = Long.toString(paramLong); + byte[] arrayOfByte = locala.b(str2.getBytes("UTF8"), c.a(str1)); + Object localObject = arrayOfByte; + if (arrayOfByte == null) { + localObject = locala.b(str2.getBytes("UTF8"), c.a(str1)); + } + localObject = ap.a((byte[])localObject); + e.a("verify_face_pwd_uin, hex=" + (String)localObject + ", key=" + str1); + localEditor.putString("verify_face_pwd_uin", (String)localObject); + localEditor.putString("verify_face_pwd_key", str1); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static void b(ConfigResult paramConfigResult) + { + if (paramConfigResult == null) { + return; + } + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("features_file", 0); + paramConfigResult.mActivityName = localSharedPreferences.getString("activity_name", ""); + paramConfigResult.mActivityUrl = localSharedPreferences.getString("activity_url", ""); + paramConfigResult.mActivityVersion = localSharedPreferences.getInt("activity_version", 0); + paramConfigResult.headlinetip = localSharedPreferences.getString("headline_tip", ""); + paramConfigResult.headlineurl = localSharedPreferences.getString("headline_url", ""); + paramConfigResult.headlineVersion = localSharedPreferences.getInt("headline_version", 0); + paramConfigResult.fucntionItemlist = n(); + return; + } + catch (Exception paramConfigResult) + { + e.c("SharedPreferences msg " + paramConfigResult.getMessage()); + } + } + + public static boolean b() + { + try + { + int i = RqdApplication.i().getSharedPreferences("features_file", 0).getInt("token_version", 0); + int j = b.b(); + if (i == j) { + return false; + } + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + return false; + } + return true; + } + + public static byte[] b(String paramString) + { + try + { + paramString = new FileInputStream(new File(paramString)); + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(1000); + byte[] arrayOfByte = new byte[1000]; + for (;;) + { + int i = paramString.read(arrayOfByte); + if (i == -1) { + break; + } + localByteArrayOutputStream.write(arrayOfByte, 0, i); + } + return null; + } + catch (FileNotFoundException paramString) + { + paramString.printStackTrace(); + return null; + paramString.close(); + localByteArrayOutputStream.close(); + paramString = localByteArrayOutputStream.toByteArray(); + return paramString; + } + catch (IOException paramString) + { + paramString.printStackTrace(); + } + } + + private static int c(String paramString) + { + try + { + int i = new ExifInterface(paramString).getAttributeInt("Orientation", 0); + switch (i) + { + case 4: + case 5: + case 7: + default: + return 0; + case 6: + return 90; + case 3: + return 180; + } + return 270; + } + catch (IOException paramString) + { + paramString.printStackTrace(); + } + return 0; + } + + public static void c(ConfigResult paramConfigResult) + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putInt("utils_flag", paramConfigResult.utilsShowFlag); + localEditor.putString("activity_name", paramConfigResult.mActivityName); + localEditor.putString("activity_url", paramConfigResult.mActivityUrl); + localEditor.putInt("activity_version", paramConfigResult.mActivityVersion); + localEditor.putString("headline_tip", paramConfigResult.headlinetip); + localEditor.putString("headline_url", paramConfigResult.headlineurl); + localEditor.putInt("headline_version", paramConfigResult.headlineVersion); + localEditor.putFloat("face_reg_thres", paramConfigResult.mFaceRecognitionParamResult.mRegRayThres); + localEditor.putFloat("face_verify_thres", paramConfigResult.mFaceRecognitionParamResult.mVerifyRayThres); + localEditor.putFloat("face_disparity_thres", paramConfigResult.mFaceRecognitionParamResult.mDisparityThres); + localEditor.putString("fucntion_list", paramConfigResult.fucntionlist.toString()); + localEditor.putString("banner_list", paramConfigResult.bannerlist.toString()); + localEditor.putInt("face_algorithm", paramConfigResult.face_algorithm); + localEditor.putInt("displayAngle", paramConfigResult.displayAngle); + localEditor.putInt("imageAngle", paramConfigResult.imageAngle); + localEditor.commit(); + return; + } + catch (Exception paramConfigResult) + { + e.c("SharedPreferences msg " + paramConfigResult.getMessage()); + } + } + + public static boolean c() + { + try + { + boolean bool = RqdApplication.i().getSharedPreferences("features_file", 0).getBoolean("start_camera", false); + return bool; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return false; + } + + public static long d() + { + try + { + long l = RqdApplication.i().getSharedPreferences("features_file", 0).getLong("dns_time", 0L); + return l; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0L; + } + + public static long e() + { + try + { + ah.a(); + Object localObject = ah.h(); + a locala = new a(); + String str = ((SharedPreferences)localObject).getString("verify_face_pwd_key", ""); + localObject = ((SharedPreferences)localObject).getString("verify_face_pwd_uin", ""); + if ((str != null) && (str.length() != 0) && (localObject != null)) + { + if (((String)localObject).length() == 0) { + return 0L; + } + byte[] arrayOfByte2 = ap.a((String)localObject); + byte[] arrayOfByte1 = locala.a(arrayOfByte2, c.a(str)); + localObject = arrayOfByte1; + if (arrayOfByte1 == null) { + localObject = locala.a(arrayOfByte2, c.a(str)); + } + localObject = new String((byte[])localObject, "UTF8"); + if (((String)localObject).length() != 0) + { + e.a("facepwd verify uin=" + (String)localObject); + long l = Long.parseLong((String)localObject); + return l; + } + } + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0L; + } + + public static QQUser f() + { + try + { + long l = e(); + if (l == 0L) { + return null; + } + QQUser localQQUser = ax.a().d(l); + return localQQUser; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return null; + } + + public static QQUser g() + { + try + { + long l = e(); + if (l == 0L) { + return null; + } + QQUser localQQUser = ax.a().c(s.f(l)); + return localQQUser; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return null; + } + + public static void h() + { + try + { + SharedPreferences.Editor localEditor = RqdApplication.i().getSharedPreferences("features_file", 0).edit(); + localEditor.putBoolean("intro_login_dialog", true); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static boolean i() + { + boolean bool = false; + try + { + int i = RqdApplication.i().getSharedPreferences("features_file", 0).getInt("intro_facepk_dialog", 0); + if (i <= 2) { + bool = true; + } + return bool; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return false; + } + + public static void j() + { + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("features_file", 0); + SharedPreferences.Editor localEditor = localSharedPreferences.edit(); + localEditor.putInt("intro_facepk_dialog", localSharedPreferences.getInt("intro_facepk_dialog", 0) + 1); + localEditor.commit(); + return; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + } + + public static FaceRecognitionParamResult k() + { + FaceRecognitionParamResult localFaceRecognitionParamResult = new FaceRecognitionParamResult(); + try + { + SharedPreferences localSharedPreferences = RqdApplication.i().getSharedPreferences("features_file", 0); + localFaceRecognitionParamResult.mRegRayThres = localSharedPreferences.getFloat("face_reg_thres", 0.1F); + localFaceRecognitionParamResult.mVerifyRayThres = localSharedPreferences.getFloat("face_verify_thres", 0.1F); + localFaceRecognitionParamResult.mDisparityThres = localSharedPreferences.getFloat("face_disparity_thres", 2.0F); + e.a("faceparams: " + localFaceRecognitionParamResult.mRegRayThres + "," + localFaceRecognitionParamResult.mVerifyRayThres + "," + localFaceRecognitionParamResult.mDisparityThres); + return localFaceRecognitionParamResult; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + localFaceRecognitionParamResult.mRegRayThres = 0.1F; + localFaceRecognitionParamResult.mVerifyRayThres = 0.1F; + localFaceRecognitionParamResult.mDisparityThres = 2.0F; + } + return localFaceRecognitionParamResult; + } + + public static int l() + { + try + { + int i = RqdApplication.i().getSharedPreferences("features_file", 0).getInt("face_algorithm", 1); + return i; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0; + } + + /* Error */ + public static java.util.ArrayList m() + { + // Byte code: + // 0: iconst_0 + // 1: istore_0 + // 2: invokestatic 22 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 5: ldc 48 + // 7: iconst_0 + // 8: invokevirtual 54 android/content/Context:getSharedPreferences (Ljava/lang/String;I)Landroid/content/SharedPreferences; + // 11: ldc_w 601 + // 14: aconst_null + // 15: invokeinterface 212 3 0 + // 20: astore_1 + // 21: new 598 org/json/JSONArray + // 24: dup + // 25: aload_1 + // 26: invokespecial 679 org/json/JSONArray: (Ljava/lang/String;)V + // 29: astore_3 + // 30: aload_3 + // 31: invokevirtual 680 org/json/JSONArray:length ()I + // 34: ifle +46 -> 80 + // 37: new 682 java/util/ArrayList + // 40: dup + // 41: invokespecial 683 java/util/ArrayList: ()V + // 44: astore_2 + // 45: aload_2 + // 46: astore_1 + // 47: iload_0 + // 48: aload_3 + // 49: invokevirtual 680 org/json/JSONArray:length ()I + // 52: if_icmpge +30 -> 82 + // 55: aload_2 + // 56: new 685 com/tencent/token/core/bean/a + // 59: dup + // 60: aload_3 + // 61: iload_0 + // 62: invokevirtual 689 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 65: invokespecial 692 com/tencent/token/core/bean/a: (Lorg/json/JSONObject;)V + // 68: invokevirtual 696 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 71: pop + // 72: iload_0 + // 73: iconst_1 + // 74: iadd + // 75: istore_0 + // 76: goto -31 -> 45 + // 79: astore_1 + // 80: aconst_null + // 81: astore_1 + // 82: aload_1 + // 83: areturn + // Local variable table: + // start length slot name signature + // 1 75 0 i int + // 20 27 1 localObject Object + // 79 1 1 localException Exception + // 81 2 1 localArrayList1 java.util.ArrayList + // 44 12 2 localArrayList2 java.util.ArrayList + // 29 32 3 localJSONArray JSONArray + // Exception table: + // from to target type + // 21 45 79 java/lang/Exception + // 47 72 79 java/lang/Exception + } + + /* Error */ + public static java.util.ArrayList n() + { + // Byte code: + // 0: iconst_0 + // 1: istore_0 + // 2: invokestatic 22 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 5: ldc 48 + // 7: iconst_0 + // 8: invokevirtual 54 android/content/Context:getSharedPreferences (Ljava/lang/String;I)Landroid/content/SharedPreferences; + // 11: ldc_w 592 + // 14: aconst_null + // 15: invokeinterface 212 3 0 + // 20: astore_1 + // 21: new 598 org/json/JSONArray + // 24: dup + // 25: aload_1 + // 26: invokespecial 679 org/json/JSONArray: (Ljava/lang/String;)V + // 29: astore_3 + // 30: aload_3 + // 31: invokevirtual 680 org/json/JSONArray:length ()I + // 34: ifle +46 -> 80 + // 37: new 682 java/util/ArrayList + // 40: dup + // 41: invokespecial 683 java/util/ArrayList: ()V + // 44: astore_2 + // 45: aload_2 + // 46: astore_1 + // 47: iload_0 + // 48: aload_3 + // 49: invokevirtual 680 org/json/JSONArray:length ()I + // 52: if_icmpge +30 -> 82 + // 55: aload_2 + // 56: new 698 com/tencent/token/core/bean/UtilFucntionItem + // 59: dup + // 60: aload_3 + // 61: iload_0 + // 62: invokevirtual 689 org/json/JSONArray:getJSONObject (I)Lorg/json/JSONObject; + // 65: invokespecial 699 com/tencent/token/core/bean/UtilFucntionItem: (Lorg/json/JSONObject;)V + // 68: invokevirtual 696 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 71: pop + // 72: iload_0 + // 73: iconst_1 + // 74: iadd + // 75: istore_0 + // 76: goto -31 -> 45 + // 79: astore_1 + // 80: aconst_null + // 81: astore_1 + // 82: aload_1 + // 83: areturn + // Local variable table: + // start length slot name signature + // 1 75 0 i int + // 20 27 1 localObject Object + // 79 1 1 localException Exception + // 81 2 1 localArrayList1 java.util.ArrayList + // 44 12 2 localArrayList2 java.util.ArrayList + // 29 32 3 localJSONArray JSONArray + // Exception table: + // from to target type + // 21 45 79 java/lang/Exception + // 47 72 79 java/lang/Exception + } + + public static int o() + { + try + { + int i = RqdApplication.i().getSharedPreferences("features_file", 0).getInt("displayAngle", 0); + return i; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0; + } + + public static int p() + { + try + { + int i = RqdApplication.i().getSharedPreferences("features_file", 0).getInt("imageAngle", 0); + return i; + } + catch (Exception localException) + { + e.c("SharedPreferences msg " + localException.getMessage()); + } + return 0; + } + + public static String q() + { + int j = 1; + String str1 = ""; + String str2 = Build.MANUFACTURER; + if ((!TextUtils.isEmpty(str2)) && (!str2.startsWith("unknow"))) + { + i = 1; + if (i != 0) { + str1 = "" + Build.MANUFACTURER; + } + str2 = Build.MODEL; + if ((TextUtils.isEmpty(str2)) || (str2.startsWith("unknow"))) { + break label111; + } + } + label111: + for (int i = j;; i = 0) + { + str2 = str1; + if (i != 0) { + str2 = str1 + Build.MODEL; + } + return str2; + i = 0; + break; + } + } + + public static int r() + { + if (Build.VERSION.SDK_INT <= 10) { + return 1; + } + try + { + int i = new File("/sys/devices/system/cpu/").listFiles(d).length; + return i; + } + catch (Exception localException) + { + return 1; + } + catch (NullPointerException localNullPointerException) + { + return 1; + } + catch (SecurityException localSecurityException) {} + return 1; + } + + public static int s() + { + int k = 0; + int i = 0; + int j; + for (;;) + { + j = i; + try + { + if (k < r()) + { + Object localObject1 = new File("/sys/devices/system/cpu/cpu" + k + "/cpufreq/cpuinfo_max_freq"); + j = i; + if (((File)localObject1).exists()) + { + Object localObject2 = new byte['€']; + localObject1 = new FileInputStream((File)localObject1); + try + { + ((FileInputStream)localObject1).read((byte[])localObject2); + j = 0; + while ((localObject2[j] >= 48) && (localObject2[j] <= 57) && (j < localObject2.length)) { + j += 1; + } + localObject2 = Integer.valueOf(Integer.parseInt(new String((byte[])localObject2, 0, j))); + j = i; + if (((Integer)localObject2).intValue() > i) { + j = ((Integer)localObject2).intValue(); + } + } + catch (NumberFormatException localNumberFormatException) + { + ((FileInputStream)localObject1).close(); + j = i; + } + finally + { + ((FileInputStream)localObject1).close(); + } + } + k += 1; + i = j; + } + } + catch (IOException localIOException) + { + j = 0; + } + } + return j; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/u.java b/com.tencent.token/classes.jar/com/tencent/token/utils/u.java new file mode 100755 index 00000000000..d8bfd70dd5c --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/u.java @@ -0,0 +1,32 @@ +package com.tencent.token.utils; + +import java.io.File; +import java.io.FileFilter; + +final class u + implements FileFilter +{ + public final boolean accept(File paramFile) + { + paramFile = paramFile.getName(); + if (paramFile.startsWith("cpu")) + { + int i = 3; + while (i < paramFile.length()) + { + if ((paramFile.charAt(i) < '0') || (paramFile.charAt(i) > '9')) { + return false; + } + i += 1; + } + return true; + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/v.java b/com.tencent.token/classes.jar/com/tencent/token/utils/v.java new file mode 100755 index 00000000000..058ec9d16f0 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/v.java @@ -0,0 +1,21 @@ +package com.tencent.token.utils; + +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicInteger; + +final class v + implements ThreadFactory +{ + private final AtomicInteger a = new AtomicInteger(1); + + public final Thread newThread(Runnable paramRunnable) + { + return new Thread(paramRunnable, "UserTask #" + this.a.getAndIncrement()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/w.java b/com.tencent.token/classes.jar/com/tencent/token/utils/w.java new file mode 100755 index 00000000000..1f35604f44e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/w.java @@ -0,0 +1,29 @@ +package com.tencent.token.utils; + +import android.os.Process; + +final class w + extends ab +{ + w(UserTask paramUserTask) {} + + public final Object call() + { + try + { + Process.setThreadPriority(10); + label5: + return this.a.b(); + } + catch (SecurityException localSecurityException) + { + break label5; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/x.java b/com.tencent.token/classes.jar/com/tencent/token/utils/x.java new file mode 100755 index 00000000000..6e14423b470 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/x.java @@ -0,0 +1,60 @@ +package com.tencent.token.utils; + +import android.os.Looper; +import android.os.Message; +import android.util.Log; +import java.util.concurrent.Callable; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; + +final class x + extends FutureTask +{ + x(UserTask paramUserTask, Callable paramCallable) + { + super(paramCallable); + } + + protected final void done() + { + Object localObject1 = null; + if (UserTask.e() == null) + { + Looper.prepare(); + UserTask.a(new z()); + } + try + { + Object localObject2 = get(); + localObject1 = localObject2; + } + catch (InterruptedException localInterruptedException) + { + for (;;) + { + Log.w("UserTask", localInterruptedException); + } + } + catch (ExecutionException localExecutionException) + { + throw new RuntimeException("An error occured while executing doInBackground()", localExecutionException.getCause()); + } + catch (CancellationException localCancellationException) + { + UserTask.e().obtainMessage(3, new aa(this.a, null)).sendToTarget(); + return; + } + catch (Throwable localThrowable) + { + throw new RuntimeException("An error occured while executing doInBackground()", localThrowable); + } + UserTask.e().obtainMessage(1, new aa(this.a, new Object[] { localObject1 })).sendToTarget(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/y.java b/com.tencent.token/classes.jar/com/tencent/token/utils/y.java new file mode 100755 index 00000000000..4f085c2084e --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/y.java @@ -0,0 +1,9 @@ +package com.tencent.token.utils; + +final class y {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/utils/z.java b/com.tencent.token/classes.jar/com/tencent/token/utils/z.java new file mode 100755 index 00000000000..56e756c1287 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/utils/z.java @@ -0,0 +1,32 @@ +package com.tencent.token.utils; + +import android.os.Handler; +import android.os.Message; + +final class z + extends Handler +{ + private z(byte paramByte) {} + + public final void handleMessage(Message paramMessage) + { + aa localaa = (aa)paramMessage.obj; + switch (paramMessage.what) + { + case 2: + default: + return; + case 1: + UserTask.a(localaa.a, localaa.b[0]); + return; + } + localaa.a.a(); + UserTask.a(localaa.a, UserTask.Status.FINISHED); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.utils.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/v.java b/com.tencent.token/classes.jar/com/tencent/token/v.java new file mode 100755 index 00000000000..f221211bfc3 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/v.java @@ -0,0 +1,405 @@ +package com.tencent.token; + +import android.content.ContentValues; +import android.os.Build; +import android.os.Build.VERSION; +import android.text.TextUtils; +import com.tencent.token.core.bean.QQUser; +import com.tencent.token.global.RqdApplication; +import com.tencent.token.global.b; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import com.tencent.token.utils.UserTask; +import com.tencent.token.utils.s; +import java.net.URLEncoder; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public final class v +{ + private static int d = 10; + private static int e = 15; + private static int f = d; + private static v g = null; + private static boolean i = false; + public boolean a = true; + protected JSONArray b = new JSONArray(); + protected String c; + private boolean h = false; + private boolean j; + private UserTask k = null; + + public static int a(int paramInt) + { + switch (paramInt) + { + default: + return 40001; + case 10003: + return 10003; + case 10002: + return 10002; + case 100004: + return 10004; + case 10005: + return 10005; + case 103: + return 30001; + } + return 10001; + } + + private d a(String paramString) + { + d locald = new d((byte)0); + Object localObject1 = ax.a(); + if (!((ax)localObject1).o()) + { + locald.a(30001, null, null); + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + } + for (;;) + { + return locald; + if (((ax)localObject1).k() == null) { + ((ax)localObject1).e(); + } + e.a("netflow data=" + paramString); + Object localObject2 = s.b(paramString.getBytes()); + paramString = b.c() + "/cn/mbtoken3/mbtoken3_qos_report"; + localObject1 = new ContentValues(3); + ((ContentValues)localObject1).put("aq_base_sid", ax.c); + ((ContentValues)localObject1).put("data", (String)localObject2); + e.a("netflow aq_base_sid=" + ax.c); + e.a("netflow data=" + (String)localObject2); + localObject2 = new gv(); + paramString = ((gv)localObject2).a(paramString, (ContentValues)localObject1); + if (paramString == null) + { + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + paramString = ((gv)localObject2).a(); + locald.a(paramString.a, paramString.b, paramString.c); + return locald; + } + try + { + paramString = new JSONObject(new String(paramString)); + m = paramString.getInt("err"); + if (m != 0) + { + paramString = paramString.getString("info"); + locald.a(m, paramString, paramString); + } + for (;;) + { + return locald; + locald.a = 0; + if (this.b.length() <= e) { + break; + } + m = e; + if (m > e) { + break label461; + } + this.b = new JSONArray(); + } + } + catch (JSONException paramString) + { + for (;;) + { + e.c("parse json failed: " + paramString.toString()); + locald.a(10020, "JSONException:" + paramString.toString(), null); + return locald; + int m = this.b.length(); + continue; + paramString = new JSONArray(); + while (m < this.b.length()) + { + paramString.put(this.b.get(m)); + m += 1; + } + this.b = paramString; + } + } + catch (Exception paramString) + { + label461: + e.c("unknown err: " + paramString.toString()); + locald.a(10021, "JSONException:" + paramString.toString(), null); + return locald; + } + finally + { + if ((this.j) && (!b.i())) { + a(RqdApplication.i()); + } + } + } + } + + public static v a() + { + if (g == null) { + g = new v(); + } + if ((!b.i()) && (!i)) + { + i = true; + g.e(); + } + return g; + } + + /* Error */ + private boolean a(android.content.Context paramContext) + { + // Byte code: + // 0: invokestatic 81 com/tencent/token/global/b:i ()Z + // 3: ifeq +5 -> 8 + // 6: iconst_0 + // 7: ireturn + // 8: aload_0 + // 9: getfield 48 com/tencent/token/v:b Lorg/json/JSONArray; + // 12: ifnull -6 -> 6 + // 15: iconst_0 + // 16: putstatic 33 com/tencent/token/v:i Z + // 19: aload_0 + // 20: getfield 39 com/tencent/token/v:a Z + // 23: ifne +5 -> 28 + // 26: iconst_1 + // 27: ireturn + // 28: aload_1 + // 29: ldc 208 + // 31: iconst_0 + // 32: invokevirtual 214 android/content/Context:openFileOutput (Ljava/lang/String;I)Ljava/io/FileOutputStream; + // 35: astore_1 + // 36: aload_1 + // 37: ifnull -31 -> 6 + // 40: aload_1 + // 41: aload_0 + // 42: getfield 48 com/tencent/token/v:b Lorg/json/JSONArray; + // 45: invokevirtual 215 org/json/JSONArray:toString ()Ljava/lang/String; + // 48: invokevirtual 118 java/lang/String:getBytes ()[B + // 51: invokevirtual 220 java/io/FileOutputStream:write ([B)V + // 54: aload_1 + // 55: invokevirtual 223 java/io/FileOutputStream:close ()V + // 58: iconst_1 + // 59: ireturn + // 60: astore_2 + // 61: aload_1 + // 62: invokevirtual 223 java/io/FileOutputStream:close ()V + // 65: iconst_0 + // 66: ireturn + // 67: astore_1 + // 68: iconst_0 + // 69: ireturn + // 70: astore_1 + // 71: goto -13 -> 58 + // 74: astore_1 + // 75: iconst_0 + // 76: ireturn + // Local variable table: + // start length slot name signature + // 0 77 0 this v + // 0 77 1 paramContext android.content.Context + // 60 1 2 localException Exception + // Exception table: + // from to target type + // 40 54 60 java/lang/Exception + // 61 65 67 java/io/IOException + // 54 58 70 java/io/IOException + // 28 36 74 java/io/FileNotFoundException + } + + /* Error */ + private boolean e() + { + // Byte code: + // 0: invokestatic 81 com/tencent/token/global/b:i ()Z + // 3: ifeq +5 -> 8 + // 6: iconst_0 + // 7: ireturn + // 8: aload_0 + // 9: getfield 39 com/tencent/token/v:a Z + // 12: ifne +5 -> 17 + // 15: iconst_1 + // 16: ireturn + // 17: invokestatic 86 com/tencent/token/global/RqdApplication:i ()Landroid/content/Context; + // 20: ldc 208 + // 22: invokevirtual 228 android/content/Context:openFileInput (Ljava/lang/String;)Ljava/io/FileInputStream; + // 25: astore_1 + // 26: aload_1 + // 27: ifnull -21 -> 6 + // 30: sipush 2000 + // 33: newarray byte + // 35: astore_2 + // 36: aload_1 + // 37: aload_2 + // 38: invokevirtual 234 java/io/FileInputStream:read ([B)I + // 41: pop + // 42: aload_0 + // 43: new 45 org/json/JSONArray + // 46: dup + // 47: new 114 java/lang/String + // 50: dup + // 51: aload_2 + // 52: invokespecial 163 java/lang/String: ([B)V + // 55: invokespecial 235 org/json/JSONArray: (Ljava/lang/String;)V + // 58: putfield 48 com/tencent/token/v:b Lorg/json/JSONArray; + // 61: aload_1 + // 62: invokevirtual 236 java/io/FileInputStream:close ()V + // 65: iconst_1 + // 66: ireturn + // 67: astore_2 + // 68: aload_1 + // 69: invokevirtual 236 java/io/FileInputStream:close ()V + // 72: iconst_0 + // 73: ireturn + // 74: astore_1 + // 75: iconst_0 + // 76: ireturn + // 77: astore_1 + // 78: goto -13 -> 65 + // 81: astore_1 + // 82: iconst_0 + // 83: ireturn + // Local variable table: + // start length slot name signature + // 0 84 0 this v + // 25 44 1 localFileInputStream java.io.FileInputStream + // 74 1 1 localIOException1 java.io.IOException + // 77 1 1 localIOException2 java.io.IOException + // 81 1 1 localFileNotFoundException java.io.FileNotFoundException + // 35 17 2 arrayOfByte byte[] + // 67 1 2 localException Exception + // Exception table: + // from to target type + // 30 61 67 java/lang/Exception + // 68 72 74 java/io/IOException + // 61 65 77 java/io/IOException + // 17 26 81 java/io/FileNotFoundException + } + + public final void a(long paramLong, int paramInt1, String paramString1, int paramInt2, String paramString2, String paramString3) + { + if (b.i()) {} + for (;;) + { + return; + if (this.b == null) { + continue; + } + for (;;) + { + try + { + localJSONObject = new JSONObject(); + localJSONObject.put("t", paramLong); + localJSONObject.put("e", paramInt1); + localJSONObject.put("p", paramString1); + localJSONObject.put("s", paramInt2); + localJSONObject.put("d", paramString2); + localJSONObject.put("nt", paramString3); + } + catch (Exception paramString1) + { + JSONObject localJSONObject; + continue; + } + try + { + this.b.put(localJSONObject); + if (this.b.length() < f) { + break; + } + a(false); + return; + } + finally {} + } + } + } + + public final void a(boolean paramBoolean) + { + if (b.i()) {} + do + { + return; + this.j = paramBoolean; + } while ((this.h) || (!this.a) || (this.b.length() == 0)); + this.h = true; + JSONArray localJSONArray = new JSONArray(); + if (this.b.length() > e) {} + for (int m = e;; m = this.b.length()) + { + int n = 0; + for (;;) + { + if (n >= m) { + break label108; + } + try + { + localJSONArray.put(this.b.get(n)); + n += 1; + } + catch (Exception localException2) {} + } + } + try + { + label108: + JSONObject localJSONObject = new JSONObject(); + try + { + localJSONObject.put("tkn_seq", String.valueOf(ag.c().k())); + if (ax.a().e() != null) { + localJSONObject.put("uin", ax.a().e().mRealUin); + } + String str = s.c(RqdApplication.i()); + if (!TextUtils.isEmpty(str)) { + localJSONObject.put("mac", str); + } + str = s.b(RqdApplication.i()); + if (!TextUtils.isEmpty(str)) { + localJSONObject.put("device_id", str); + } + localJSONObject.put("model", URLEncoder.encode(Build.MODEL)); + localJSONObject.put("release", URLEncoder.encode(Build.VERSION.RELEASE)); + localJSONObject.put("platfrom", "android"); + localJSONObject.put("guid", s.a(x.a(RqdApplication.i()).c())); + str = s.d(RqdApplication.i()); + if (!TextUtils.isEmpty(str)) { + localJSONObject.put("router_id", str); + } + localJSONObject.put("event_list", localJSONArray); + } + catch (Exception localException1) + { + for (;;) + { + localException1.printStackTrace(); + e.c("JSONException:" + localException1.getMessage()); + } + } + this.c = localJSONObject.toString(); + this.k = new w(this); + this.k.a(new String[0]); + return; + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/w.java b/com.tencent.token/classes.jar/com/tencent/token/w.java new file mode 100755 index 00000000000..eb64584c6fb --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/w.java @@ -0,0 +1,20 @@ +package com.tencent.token; + +import com.tencent.token.utils.UserTask; + +final class w + extends UserTask +{ + w(v paramv) {} + + public final void a() + { + v.a(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/widget/InputMethodRelativeLayout.java b/com.tencent.token/classes.jar/com/tencent/token/widget/InputMethodRelativeLayout.java new file mode 100755 index 00000000000..2c3dd445e5a --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/widget/InputMethodRelativeLayout.java @@ -0,0 +1,64 @@ +package com.tencent.token.widget; + +import android.app.Activity; +import android.content.Context; +import android.util.AttributeSet; +import android.view.Display; +import android.view.WindowManager; +import android.widget.RelativeLayout; + +public class InputMethodRelativeLayout + extends RelativeLayout +{ + public a a; + private int b; + private int c; + private int d; + private int e; + private boolean f = false; + + public InputMethodRelativeLayout(Context paramContext, AttributeSet paramAttributeSet) + { + super(paramContext, paramAttributeSet); + paramContext = ((Activity)paramContext).getWindowManager().getDefaultDisplay(); + this.d = paramContext.getWidth(); + this.e = paramContext.getHeight(); + } + + public InputMethodRelativeLayout(Context paramContext, AttributeSet paramAttributeSet, int paramInt) + { + super(paramContext, paramAttributeSet, paramInt); + } + + public void onMeasure(int paramInt1, int paramInt2) + { + this.b = paramInt1; + this.c = paramInt2; + super.onMeasure(paramInt1, paramInt2); + } + + public void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + if ((this.a != null) && (paramInt1 == paramInt3) && (paramInt3 != 0) && (paramInt4 != 0)) { + if ((paramInt2 >= paramInt4) || (Math.abs(paramInt2 - paramInt4) <= 50)) { + break label85; + } + } + for (this.f = true;; this.f = false) + { + this.a.a(this.f, paramInt2); + measure(this.b - paramInt1 + getWidth(), this.c - paramInt2 + getHeight()); + label85: + do + { + return; + } while ((paramInt2 <= paramInt4) || (Math.abs(paramInt2 - paramInt4) <= 50)); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.widget.InputMethodRelativeLayout + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/widget/TokenService.java b/com.tencent.token/classes.jar/com/tencent/token/widget/TokenService.java new file mode 100755 index 00000000000..bb83aa2e6ff --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/widget/TokenService.java @@ -0,0 +1,181 @@ +package com.tencent.token.widget; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.app.Service; +import android.appwidget.AppWidgetManager; +import android.content.ComponentName; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.IBinder; +import android.widget.RemoteViews; +import com.tencent.token.ag; +import com.tencent.token.ah; +import com.tencent.token.ai; +import com.tencent.token.global.e; +import com.tencent.token.ui.WidgetTransitionActivity; + +public class TokenService + extends Service +{ + private Object a = new Object(); + private int[] b = null; + private RemoteViews c = null; + private Intent d = null; + private ComponentName e = null; + private boolean f = false; + private boolean g = false; + private int[] h = new int[10]; + private PendingIntent i = null; + private PendingIntent j = null; + private final WidgetReceiver k = new WidgetReceiver(); + + public TokenService() + { + this.h[0] = 2130837987; + this.h[1] = 2130837988; + this.h[2] = 2130837989; + this.h[3] = 2130837990; + this.h[4] = 2130837991; + this.h[5] = 2130837992; + this.h[6] = 2130837993; + this.h[7] = 2130837994; + this.h[8] = 2130837995; + this.h[9] = 2130837996; + } + + private void a() + { + int i1 = 0; + ag localag = ag.c(); + if (!localag.g()) + { + AppWidgetManager localAppWidgetManager = AppWidgetManager.getInstance(this); + int[] arrayOfInt = localAppWidgetManager.getAppWidgetIds(this.e); + this.c.setImageViewResource(2131297176, 2130838013); + if (!this.f) + { + localag.m(); + this.b = localag.l(); + if (this.g) { + this.c.setImageViewResource(2131297176, 2130838010); + } + this.c.setViewVisibility(2131297175, 4); + this.c.setViewVisibility(2131297174, 4); + this.c.setViewVisibility(2131297173, 0); + this.c.setViewVisibility(2131297177, 0); + this.c.setOnClickPendingIntent(2131297173, this.j); + int m = 0; + for (;;) + { + n = i1; + if (m >= this.b.length) { + break; + } + this.c.setImageViewResource(2131297178 + m, this.h[this.b[m]]); + m += 1; + } + } + this.c.setViewVisibility(2131297173, 4); + this.c.setViewVisibility(2131297177, 4); + this.c.setViewVisibility(2131297175, 0); + this.c.setViewVisibility(2131297174, 0); + this.c.setOnClickPendingIntent(2131297175, this.i); + int n = i1; + try + { + while (n < arrayOfInt.length) + { + localAppWidgetManager.updateAppWidget(arrayOfInt[n], this.c); + n += 1; + } + return; + } + catch (Exception localException) + { + localException.printStackTrace(); + e.d("TokenService " + localException.toString()); + } + } + } + + public IBinder onBind(Intent paramIntent) + { + return null; + } + + public void onCreate() + { + e.a("onCreate"); + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.intent.action.SCREEN_ON"); + localIntentFilter.addAction("android.intent.action.SCREEN_OFF"); + localIntentFilter.addAction("com.tencent.token.widget.SPEECH"); + registerReceiver(this.k, localIntentFilter); + super.onCreate(); + } + + public void onDestroy() + { + super.onDestroy(); + ai.a(this).b(); + unregisterReceiver(this.k); + } + + public void onStart(Intent paramIntent, int paramInt) + { + if (this.c == null) + { + this.i = PendingIntent.getActivity(this, 0, new Intent(this, WidgetTransitionActivity.class), 0); + this.d = new Intent(this, TokenService.class); + this.c = new RemoteViews(getPackageName(), 2130903223); + this.e = new ComponentName(this, TokenWidgetProvider.class); + this.c.setOnClickPendingIntent(2131297177, this.i); + this.c.setOnClickPendingIntent(2131297175, this.i); + this.j = PendingIntent.getBroadcast(this, 0, new Intent("com.tencent.token.widget.SPEECH"), 0); + this.c.setOnClickPendingIntent(2131297173, this.j); + ai.a(this); + } + long l2 = System.currentTimeMillis(); + paramIntent = this.a; + long l1 = 120000L; + for (;;) + { + try + { + if (!ag.c().g()) + { + if (ah.a().c()) + { + this.f = true; + l1 = 30000L; + a(); + } + } + else + { + ((AlarmManager)getSystemService("alarm")).set(1, l2 + l1, PendingIntent.getService(this, 0, this.d, 0)); + return; + } + this.f = false; + l1 = ag.c().q(); + if (l1 > 5000L) + { + l1 -= 5000L; + this.g = false; + } + else + { + this.g = true; + } + } + finally {} + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.widget.TokenService + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/widget/TokenWidgetProvider.java b/com.tencent.token/classes.jar/com/tencent/token/widget/TokenWidgetProvider.java new file mode 100755 index 00000000000..6d0e5c78515 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/widget/TokenWidgetProvider.java @@ -0,0 +1,55 @@ +package com.tencent.token.widget; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import com.tencent.token.global.e; +import com.tencent.token.p; + +public class TokenWidgetProvider + extends AppWidgetProvider +{ + public void onDeleted(Context paramContext, int[] paramArrayOfInt) + { + paramArrayOfInt = AppWidgetManager.getInstance(paramContext).getAppWidgetIds(new ComponentName(paramContext, TokenWidgetProvider.class)); + e.a("widget_big num=" + paramArrayOfInt.length); + p.a().a(System.currentTimeMillis(), 13); + p.a().a(paramContext); + if (paramArrayOfInt.length <= 0) + { + paramArrayOfInt = new Intent(paramContext, TokenService.class); + PendingIntent localPendingIntent = PendingIntent.getService(paramContext, 0, paramArrayOfInt, 0); + ((AlarmManager)paramContext.getSystemService("alarm")).cancel(localPendingIntent); + paramContext.stopService(paramArrayOfInt); + } + } + + public void onEnabled(Context paramContext) + { + e.a("widget enabled"); + p.a().a(System.currentTimeMillis(), 7); + p.a().a(paramContext); + super.onEnabled(paramContext); + } + + public void onReceive(Context paramContext, Intent paramIntent) + { + super.onReceive(paramContext, paramIntent); + } + + public void onUpdate(Context paramContext, AppWidgetManager paramAppWidgetManager, int[] paramArrayOfInt) + { + super.onUpdate(paramContext, paramAppWidgetManager, paramArrayOfInt); + paramContext.startService(new Intent(paramContext, TokenService.class)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.widget.TokenWidgetProvider + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/widget/WidgetReceiver.java b/com.tencent.token/classes.jar/com/tencent/token/widget/WidgetReceiver.java new file mode 100755 index 00000000000..9a28d434df2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/widget/WidgetReceiver.java @@ -0,0 +1,45 @@ +package com.tencent.token.widget; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.tencent.token.ag; +import com.tencent.token.ah; +import com.tencent.token.ai; + +public class WidgetReceiver + extends BroadcastReceiver +{ + public void onReceive(Context paramContext, Intent paramIntent) + { + paramIntent = paramIntent.getAction(); + if ("android.intent.action.SCREEN_ON".equals(paramIntent)) { + paramContext.startService(new Intent(paramContext, TokenService.class)); + } + ah localah; + do + { + do + { + return; + if ("android.intent.action.SCREEN_OFF".equals(paramIntent)) + { + paramIntent = PendingIntent.getService(paramContext, 0, new Intent(paramContext, TokenService.class), 0); + ((AlarmManager)paramContext.getSystemService("alarm")).cancel(paramIntent); + return; + } + } while (!paramIntent.equals("com.tencent.token.widget.SPEECH")); + paramIntent = ag.c(); + localah = ah.a(); + } while ((paramIntent.g()) || (localah.c())); + ai.a(paramContext).a(paramIntent.l()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.widget.WidgetReceiver + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/widget/a.java b/com.tencent.token/classes.jar/com/tencent/token/widget/a.java new file mode 100755 index 00000000000..9bc12f4b361 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/widget/a.java @@ -0,0 +1,12 @@ +package com.tencent.token.widget; + +public abstract interface a +{ + public abstract void a(boolean paramBoolean, int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.widget.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/x.java b/com.tencent.token/classes.jar/com/tencent/token/x.java new file mode 100755 index 00000000000..5789e568435 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/x.java @@ -0,0 +1,301 @@ +package com.tencent.token; + +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import com.tencent.token.global.d; +import com.tencent.token.ui.BaseActivity; +import com.tencent.token.ui.WtloginSigExpireActivity; +import java.util.ArrayList; +import java.util.List; +import java.util.Timer; +import oicq.wlogin_sdk.request.Ticket; +import oicq.wlogin_sdk.request.WUserSigInfo; +import oicq.wlogin_sdk.request.WtloginHelper; +import oicq.wlogin_sdk.request.WtloginListener; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; +import oicq.wlogin_sdk.tools.util; + +public final class x +{ + public static String c = new String(""); + public static int d = 2101344; + private static x j; + public String a; + public d b; + public WtloginListener e = new y(this); + private WtloginHelper f; + private Handler g; + private Timer h; + private Object i; + private boolean k = false; + private long l; + private int m; + private int n = 1; + + private x(Context paramContext) + { + this.f = new WtloginHelper(paramContext); + this.f.SetTimeOut(5000); + util.LOGCAT_OUT = false; + this.f.SetListener(this.e); + this.h = new Timer(); + this.i = new Object(); + this.b = new d((byte)0); + } + + public static x a(Context paramContext) + { + if (j == null) { + j = new x(paramContext); + } + return j; + } + + public final int a(String paramString, Handler paramHandler) + { + this.m = 32; + return a(paramString, paramHandler, 523005419L); + } + + public final int a(String paramString, Handler paramHandler, long paramLong) + { + this.l = paramLong; + if (this.g == null) + { + this.h.cancel(); + this.f.GetStWithoutPasswd(paramString, paramLong, paramLong, this.n, d, new WUserSigInfo()); + this.g = paramHandler; + this.h = new Timer(); + this.h.schedule(new z(this), 30000L); + return 0; + } + return -1; + } + + public final int a(String paramString1, String paramString2, long paramLong) + { + if ((paramString1 == null) || (paramString2 == null)) { + return -1; + } + this.f.GetStWithPasswd(paramString1, paramLong, this.n, d, paramString2, new WUserSigInfo()); + return 0; + } + + public final int a(String paramString1, String paramString2, Handler paramHandler, long paramLong) + { + this.m = 4096; + return b(paramString1, paramString2, paramHandler, paramLong); + } + + public final int a(String paramString, byte[] paramArrayOfByte, Handler paramHandler) + { + if (this.g == null) + { + this.h.cancel(); + this.f.CheckPictureAndGetSt(paramString, paramArrayOfByte, new WUserSigInfo()); + this.g = paramHandler; + this.h = new Timer(); + this.h.schedule(new ab(this), 30000L); + return 0; + } + return -1; + } + + public final int a(String paramString1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, String paramString2, Handler paramHandler) + { + if (this.g == null) + { + this.h.cancel(); + Object localObject; + if (paramArrayOfByte2 == null) + { + paramArrayOfByte2 = new ArrayList(); + paramString2 = paramString2.getBytes(); + localObject = new byte[paramString2.length + 4]; + util.int16_to_buf((byte[])localObject, 0, 8); + util.int16_to_buf((byte[])localObject, 2, paramString2.length); + System.arraycopy(paramString2, 0, localObject, 4, paramString2.length); + paramArrayOfByte2.add(localObject); + } + for (;;) + { + this.f.CloseCode(paramString1, 523005419L, paramArrayOfByte1, 1, paramArrayOfByte2, new WUserSigInfo()); + this.g = paramHandler; + this.h = new Timer(); + this.h.schedule(new ad(this), 30000L); + return 0; + localObject = new ArrayList(); + byte[] arrayOfByte = new byte[paramArrayOfByte2.length + 4]; + util.int16_to_buf(arrayOfByte, 0, 1); + util.int16_to_buf(arrayOfByte, 2, paramArrayOfByte2.length); + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, 4, paramArrayOfByte2.length); + ((List)localObject).add(arrayOfByte); + paramArrayOfByte2 = paramString2.getBytes(); + paramString2 = new byte[paramArrayOfByte2.length + 4]; + util.int16_to_buf(paramString2, 0, 8); + util.int16_to_buf(paramString2, 2, paramArrayOfByte2.length); + System.arraycopy(paramArrayOfByte2, 0, paramString2, 4, paramArrayOfByte2.length); + ((List)localObject).add(paramString2); + paramArrayOfByte2 = (byte[])localObject; + } + } + return -1; + } + + public final void a() + { + this.k = true; + } + + public final void a(BaseActivity paramBaseActivity, String paramString, Handler paramHandler) + { + if (!this.f.IsNeedLoginWithPasswd(paramString, 523005419L).booleanValue()) + { + this.m = 4096; + a(paramString, paramHandler, 523005419L); + return; + } + paramBaseActivity.startActivity(new Intent(paramBaseActivity, WtloginSigExpireActivity.class)); + paramBaseActivity.finish(); + } + + public final void a(BaseActivity paramBaseActivity, String paramString, Handler paramHandler, boolean paramBoolean) + { + if (!this.f.IsNeedLoginWithPasswd(paramString, 523005419L).booleanValue()) + { + this.m = 64; + a(paramString, paramHandler, 523005419L); + } + do + { + return; + if (!paramBoolean) + { + paramHandler.sendMessage(paramHandler.obtainMessage(4106)); + return; + } + paramBaseActivity.startActivity(new Intent(paramBaseActivity, WtloginSigExpireActivity.class)); + } while (!paramBoolean); + paramBaseActivity.finish(); + } + + public final boolean a(String paramString) + { + return this.f.IsWtLoginUrl(paramString); + } + + public final boolean a(String paramString, long paramLong) + { + return this.f.ClearUserLoginData(paramString, paramLong).booleanValue(); + } + + public final byte[] a(long paramLong) + { + Ticket localTicket = this.f.GetLocalTicket("" + paramLong, 523005419L, 64); + if (localTicket != null) { + return localTicket._sig; + } + return null; + } + + public final int b(String paramString, Handler paramHandler) + { + if (this.g == null) + { + this.h.cancel(); + this.f.RefreshPictureData(paramString, new WUserSigInfo()); + this.g = paramHandler; + return 0; + } + return -1; + } + + public final int b(String paramString1, String paramString2, Handler paramHandler, long paramLong) + { + if ((paramString1 == null) || (paramString2 == null)) {} + do + { + return -1; + this.l = paramLong; + } while (this.g != null); + this.h.cancel(); + this.f.GetStWithPasswd(paramString1, paramLong, this.n, d, paramString2, new WUserSigInfo()); + this.g = paramHandler; + this.h = new Timer(); + this.h.schedule(new aa(this), 30000L); + return 0; + } + + public final int b(String paramString, byte[] paramArrayOfByte, Handler paramHandler) + { + if (this.g == null) + { + this.h.cancel(); + WtloginHelper localWtloginHelper = this.f; + WUserSigInfo localWUserSigInfo = new WUserSigInfo(); + localWtloginHelper.VerifyCode(paramString, 523005419L, true, paramArrayOfByte, new int[0], 1, localWUserSigInfo); + this.g = paramHandler; + this.h = new Timer(); + try + { + this.h.schedule(new ac(this), 30000L); + return 0; + } + catch (Exception paramString) + { + for (;;) + { + paramString.printStackTrace(); + } + } + } + return -1; + } + + public final long b() + { + if (this.a != null) { + return this.f.GetAppidFromUrl(this.a); + } + return 0L; + } + + public final void b(String paramString) + { + this.a = paramString; + } + + public final boolean b(String paramString, long paramLong) + { + return this.f.IsNeedLoginWithPasswd(paramString, paramLong).booleanValue(); + } + + public final WloginSimpleInfo c(String paramString) + { + WloginSimpleInfo localWloginSimpleInfo = new WloginSimpleInfo(); + this.f.GetBasicUserInfo(paramString, localWloginSimpleInfo); + return localWloginSimpleInfo; + } + + public final byte[] c() + { + return this.f.GetGuid(); + } + + public final String d() + { + return this.a; + } + + public final byte[] d(String paramString) + { + return this.f.GetPictureData(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/y.java b/com.tencent.token/classes.jar/com/tencent/token/y.java new file mode 100755 index 00000000000..74bbaf5a8a2 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/y.java @@ -0,0 +1,300 @@ +package com.tencent.token; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import com.tencent.token.global.d; +import com.tencent.token.global.e; +import java.util.List; +import java.util.Timer; +import oicq.wlogin_sdk.request.Ticket; +import oicq.wlogin_sdk.request.WUserSigInfo; +import oicq.wlogin_sdk.request.WtloginHelper; +import oicq.wlogin_sdk.request.WtloginListener; +import oicq.wlogin_sdk.tools.ErrMsg; + +final class y + extends WtloginListener +{ + y(x paramx) {} + + private void a(int paramInt, ErrMsg arg2, String paramString, long paramLong) + { + if (paramInt != 0) { + this.a.b.a(paramInt, ???.getMessage(), ???.getMessage()); + } + for (;;) + { + x.b(this.a); + synchronized (x.c) + { + x.c.notifyAll(); + return; + if (paramLong == 523005425L) + { + ??? = x.a(this.a).GetLocalTicket(paramString, paramLong, 2097152); + if ((this.a.b == null) || (??? == null)) { + continue; + } + this.a.b.d = ???._sig; + this.a.b.a = 0; + continue; + } + ??? = x.a(this.a).GetLocalTicket(paramString, paramLong, 64); + } + } + } + + public final void OnCheckPictureAndGetSt(String paramString, byte[] arg2, WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) + { + int i = x.c(this.a); + x.d(this.a); + label233: + for (;;) + { + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.h(this.a) == null) + { + e.c("onCheckPictureAndGetSt, handler is null"); + return; + } + paramWUserSigInfo = x.h(this.a).obtainMessage(4099); + paramWUserSigInfo.arg1 = paramInt; + if (paramInt != 0) + { + paramString = new Bundle(); + paramString.putString("loginerror", paramErrMsg.getMessage()); + paramWUserSigInfo.setData(paramString); + x.h(this.a).sendMessage(paramWUserSigInfo); + x.i(this.a); + return; + } + } + if (i != 0) { + paramString = x.a(this.a).GetLocalTicket(paramString, x.j(this.a), i); + } + for (;;) + { + if (paramString == null) { + break label233; + } + paramWUserSigInfo.obj = paramString._sig; + break; + if (x.j(this.a) == 523005425L) { + paramString = x.a(this.a).GetLocalTicket(paramString, x.j(this.a), 2097152); + } else { + paramString = x.a(this.a).GetLocalTicket(paramString, x.j(this.a), 64); + } + } + } + } + + public final void OnCloseCode(String arg1, byte[] paramArrayOfByte1, long paramLong, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte2, int paramInt) + { + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.h(this.a) == null) + { + e.c("onCloseCode, handler is null"); + return; + } + paramWUserSigInfo = x.h(this.a).obtainMessage(4102); + paramWUserSigInfo.arg1 = paramInt; + Bundle localBundle = new Bundle(); + localBundle.putByteArray("appname", paramArrayOfByte1); + localBundle.putLong("scantime", paramLong); + localBundle.putByteArray("scanerror", paramArrayOfByte2); + paramWUserSigInfo.setData(localBundle); + x.h(this.a).sendMessage(paramWUserSigInfo); + x.i(this.a); + return; + } + } + + public final void OnException(ErrMsg paramErrMsg, int paramInt, WUserSigInfo arg3) + { + e.c("Wtlogin exception " + paramErrMsg.getMessage()); + x.d(this.a); + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.h(this.a) == null) + { + e.c("onVerifyCode, handler is null"); + return; + } + Message localMessage = x.h(this.a).obtainMessage(4104); + localMessage.arg1 = paramInt; + Bundle localBundle = new Bundle(); + localBundle.putString("exception", paramErrMsg.getMessage()); + localMessage.setData(localBundle); + x.h(this.a).sendMessage(localMessage); + x.i(this.a); + return; + } + } + + public final void OnGetStWithPasswd(String paramString1, long paramLong1, int paramInt1, long paramLong2, String arg7, WUserSigInfo paramWUserSigInfo, int paramInt2, ErrMsg paramErrMsg) + { + paramInt1 = x.c(this.a); + x.d(this.a); + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.g(this.a)) + { + a(paramInt2, paramErrMsg, paramString1, paramLong1); + return; + } + if (x.h(this.a) == null) + { + e.c("onGetStWithPasswd, handler is null"); + return; + } + } + paramWUserSigInfo = x.h(this.a).obtainMessage(4098); + paramWUserSigInfo.arg1 = paramInt2; + if (paramInt2 != 0) + { + paramString1 = new Bundle(); + paramString1.putString("loginerror", paramErrMsg.getMessage()); + paramWUserSigInfo.setData(paramString1); + } + label267: + for (;;) + { + x.h(this.a).sendMessage(paramWUserSigInfo); + x.i(this.a); + return; + if (paramInt1 != 0) { + paramString1 = x.a(this.a).GetLocalTicket(paramString1, x.j(this.a), paramInt1); + } + for (;;) + { + if (paramString1 == null) { + break label267; + } + paramWUserSigInfo.obj = paramString1._sig; + break; + if (x.j(this.a) == 523005425L) { + paramString1 = x.a(this.a).GetLocalTicket(paramString1, x.j(this.a), 2097152); + } else { + paramString1 = x.a(this.a).GetLocalTicket(paramString1, x.j(this.a), 64); + } + } + } + } + + public final void OnGetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, int paramInt1, long paramLong3, WUserSigInfo arg9, int paramInt2, ErrMsg paramErrMsg) + { + paramInt1 = x.c(this.a); + x.d(this.a); + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + e.c("onGetStWithoutPasswd: ret=" + paramInt2 + ", errmsg=" + paramErrMsg.getMessage() + ", appid=" + paramLong1 + ", mIsASyn2Syn=" + x.g(this.a)); + if (x.g(this.a)) + { + a(paramInt2, paramErrMsg, paramString, paramLong1); + return; + } + if (x.h(this.a) == null) + { + e.c("onGetStWithoutPasswd, handler is null"); + return; + } + } + Message localMessage = x.h(this.a).obtainMessage(4097); + localMessage.arg1 = paramInt2; + if (paramInt2 != 0) + { + paramString = new Bundle(); + paramString.putString("loginerror", paramErrMsg.getMessage()); + localMessage.setData(paramString); + } + label303: + for (;;) + { + x.h(this.a).sendMessage(localMessage); + x.i(this.a); + return; + if (paramInt1 != 0) { + paramString = x.a(this.a).GetLocalTicket(paramString, paramLong1, paramInt1); + } + for (;;) + { + if (paramString == null) { + break label303; + } + localMessage.obj = paramString._sig; + break; + if (paramLong1 == 523005425L) { + paramString = x.a(this.a).GetLocalTicket(paramString, paramLong1, 2097152); + } else { + paramString = x.a(this.a).GetLocalTicket(paramString, paramLong1, 64); + } + } + } + } + + public final void OnInit(int paramInt) + { + e.b("Wtlogin init result " + paramInt); + } + + public final void OnRefreshPictureData(String arg1, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte, int paramInt, ErrMsg paramErrMsg) + { + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.h(this.a) == null) + { + e.c("onRefreshPictureData, handler is null"); + return; + } + paramWUserSigInfo = x.h(this.a).obtainMessage(4100); + paramWUserSigInfo.arg1 = paramInt; + if (paramInt != 0) + { + paramArrayOfByte = new Bundle(); + paramArrayOfByte.putString("loginerror", paramErrMsg.getMessage()); + paramWUserSigInfo.setData(paramArrayOfByte); + } + x.h(this.a).sendMessage(paramWUserSigInfo); + x.i(this.a); + return; + } + } + + public final void OnVerifyCode(String arg1, byte[] paramArrayOfByte1, long paramLong, List paramList, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte2, int paramInt) + { + synchronized (x.e(this.a)) + { + x.f(this.a).cancel(); + if (x.h(this.a) == null) + { + e.c("onVerifyCode, handler is null"); + return; + } + paramList = x.h(this.a).obtainMessage(4101); + paramList.arg1 = paramInt; + paramWUserSigInfo = new Bundle(); + paramWUserSigInfo.putByteArray("appname", paramArrayOfByte1); + paramWUserSigInfo.putLong("scantime", paramLong); + paramWUserSigInfo.putByteArray("scanerror", paramArrayOfByte2); + paramList.setData(paramWUserSigInfo); + x.h(this.a).sendMessage(paramList); + x.i(this.a); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/com/tencent/token/z.java b/com.tencent.token/classes.jar/com/tencent/token/z.java new file mode 100755 index 00000000000..6e0f5ea31a8 --- /dev/null +++ b/com.tencent.token/classes.jar/com/tencent/token/z.java @@ -0,0 +1,22 @@ +package com.tencent.token; + +import java.util.TimerTask; +import oicq.wlogin_sdk.request.WtloginListener; +import oicq.wlogin_sdk.tools.ErrMsg; + +final class z + extends TimerTask +{ + z(x paramx) {} + + public final void run() + { + this.a.e.OnGetStWithoutPasswd(null, 0L, 0L, 0, 0L, null, 8192, new ErrMsg()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: com.tencent.token.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/a/a.java b/com.tencent.token/classes.jar/d/a/a.java new file mode 100755 index 00000000000..9a445bd7e68 --- /dev/null +++ b/com.tencent.token/classes.jar/d/a/a.java @@ -0,0 +1,12 @@ +package d.a; + +public class a +{ + public static int a = 0; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/b/a.java b/com.tencent.token/classes.jar/d/b/a.java new file mode 100755 index 00000000000..1efeb76592b --- /dev/null +++ b/com.tencent.token/classes.jar/d/b/a.java @@ -0,0 +1,14 @@ +package d.b; + +import com.qq.taf.jce.JceStruct; + +public abstract interface a +{ + public abstract void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/b/b.java b/com.tencent.token/classes.jar/d/b/b.java new file mode 100755 index 00000000000..c58dd162c14 --- /dev/null +++ b/com.tencent.token/classes.jar/d/b/b.java @@ -0,0 +1,15 @@ +package d.b; + +import android.util.Pair; +import com.qq.taf.jce.JceStruct; + +public abstract interface b +{ + public abstract Pair a(int paramInt1, int paramInt2, JceStruct paramJceStruct); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/b/c.java b/com.tencent.token/classes.jar/d/b/c.java new file mode 100755 index 00000000000..223cafd68c7 --- /dev/null +++ b/com.tencent.token/classes.jar/d/b/c.java @@ -0,0 +1,20 @@ +package d.b; + +public class c +{ + public static final int a(int paramInt) + { + return paramInt & 0x18; + } + + public static final int b(int paramInt) + { + return paramInt & 0x60; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.b.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/b/d.java b/com.tencent.token/classes.jar/d/b/d.java new file mode 100755 index 00000000000..6e2cf38c075 --- /dev/null +++ b/com.tencent.token/classes.jar/d/b/d.java @@ -0,0 +1,25 @@ +package d.b; + +import java.util.concurrent.atomic.AtomicInteger; + +public class d +{ + boolean a = false; + AtomicInteger b = new AtomicInteger(); + + public void a(int paramInt) + { + this.b.set(paramInt); + } + + public boolean a() + { + return this.a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.b.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/b/e.java b/com.tencent.token/classes.jar/d/b/e.java new file mode 100755 index 00000000000..f1f2c2365b7 --- /dev/null +++ b/com.tencent.token/classes.jar/d/b/e.java @@ -0,0 +1,13 @@ +package d.b; + +import tmsdk.common.d.a.b.x; + +public abstract interface e + extends x +{} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.b.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/d/c/a.java b/com.tencent.token/classes.jar/d/c/a.java new file mode 100755 index 00000000000..b7c64635e26 --- /dev/null +++ b/com.tencent.token/classes.jar/d/c/a.java @@ -0,0 +1,105 @@ +package d.c; + +import android.content.Context; +import java.io.UnsupportedEncodingException; +import tmsdk.common.tcc.TccCryptor; + +public class a +{ + public static String a(Context paramContext, String paramString) + { + if (paramString == null) { + paramString = null; + } + for (;;) + { + return paramString; + try + { + byte[] arrayOfByte = paramString.getBytes("gbk"); + if (arrayOfByte == null) { + continue; + } + return tmsdk.common.e.a.b(TccCryptor.encrypt(paramContext, arrayOfByte, null), 0); + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + localUnsupportedEncodingException.printStackTrace(); + Object localObject = null; + } + } + } + } + + /* Error */ + public static String b(Context paramContext, String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: aload_1 + // 3: invokestatic 41 android/text/TextUtils:isEmpty (Ljava/lang/CharSequence;)Z + // 6: ifeq +8 -> 14 + // 9: ldc 43 + // 11: astore_0 + // 12: aload_0 + // 13: areturn + // 14: aload_1 + // 15: iconst_0 + // 16: invokestatic 46 tmsdk/common/e/a:a (Ljava/lang/String;I)[B + // 19: astore_2 + // 20: aload_0 + // 21: aload_2 + // 22: aconst_null + // 23: invokestatic 49 tmsdk/common/tcc/TccCryptor:decrypt (Landroid/content/Context;[B[B)[B + // 26: astore_2 + // 27: aload_1 + // 28: astore_0 + // 29: aload_2 + // 30: ifnull -18 -> 12 + // 33: new 12 java/lang/String + // 36: dup + // 37: aload_2 + // 38: ldc 10 + // 40: invokespecial 53 java/lang/String: ([BLjava/lang/String;)V + // 43: astore_2 + // 44: aload_1 + // 45: astore_0 + // 46: aload_2 + // 47: ifnull -35 -> 12 + // 50: aload_2 + // 51: areturn + // 52: astore_0 + // 53: aconst_null + // 54: areturn + // 55: astore_0 + // 56: aload_0 + // 57: invokevirtual 54 java/lang/Exception:printStackTrace ()V + // 60: aconst_null + // 61: astore_2 + // 62: goto -35 -> 27 + // 65: astore_0 + // 66: aload_3 + // 67: astore_2 + // 68: goto -24 -> 44 + // Local variable table: + // start length slot name signature + // 0 71 0 paramContext Context + // 0 71 1 paramString String + // 19 49 2 localObject1 Object + // 1 66 3 localObject2 Object + // Exception table: + // from to target type + // 14 20 52 java/lang/Exception + // 20 27 55 java/lang/Exception + // 33 44 65 java/io/UnsupportedEncodingException + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: d.c.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/CallbackAppidTypeStruct.java b/com.tencent.token/classes.jar/gameloginsdk/CallbackAppidTypeStruct.java new file mode 100755 index 00000000000..d6f293caa32 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/CallbackAppidTypeStruct.java @@ -0,0 +1,24 @@ +package gameloginsdk; + +public class CallbackAppidTypeStruct + extends CallbackBaseStruct +{ + public int appidType; + public String url; + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(super.toString()); + localStringBuilder.append("|appidType|"); + localStringBuilder.append(this.appidType); + localStringBuilder.append("|url|"); + localStringBuilder.append(this.url); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.CallbackAppidTypeStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/CallbackBaseStruct.java b/com.tencent.token/classes.jar/gameloginsdk/CallbackBaseStruct.java new file mode 100755 index 00000000000..8765d6b3336 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/CallbackBaseStruct.java @@ -0,0 +1,21 @@ +package gameloginsdk; + +public class CallbackBaseStruct +{ + public String errMsg; + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append(getClass().getSimpleName()); + localStringBuilder.append("|errMsg|"); + localStringBuilder.append(this.errMsg); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.CallbackBaseStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/CallbackGameConfirmStruct.java b/com.tencent.token/classes.jar/gameloginsdk/CallbackGameConfirmStruct.java new file mode 100755 index 00000000000..58957f81507 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/CallbackGameConfirmStruct.java @@ -0,0 +1,30 @@ +package gameloginsdk; + +public class CallbackGameConfirmStruct + extends CallbackBaseStruct +{ + public long appid; + public int playerStatus; + public String uin; + public String wording; + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(super.toString()); + localStringBuilder.append("|appid|"); + localStringBuilder.append(this.appid); + localStringBuilder.append("|uin|"); + localStringBuilder.append(this.uin); + localStringBuilder.append("|playerStatus|"); + localStringBuilder.append(this.playerStatus); + localStringBuilder.append("|wording|"); + localStringBuilder.append(this.wording); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.CallbackGameConfirmStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/CallbackGameLoginStruct.java b/com.tencent.token/classes.jar/gameloginsdk/CallbackGameLoginStruct.java new file mode 100755 index 00000000000..4711bc931b7 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/CallbackGameLoginStruct.java @@ -0,0 +1,16 @@ +package gameloginsdk; + +public class CallbackGameLoginStruct + extends CallbackBaseStruct +{ + public String toString() + { + return super.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.CallbackGameLoginStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/CallbackPushStruct.java b/com.tencent.token/classes.jar/gameloginsdk/CallbackPushStruct.java new file mode 100755 index 00000000000..f0a7a3f611b --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/CallbackPushStruct.java @@ -0,0 +1,39 @@ +package gameloginsdk; + +public class CallbackPushStruct +{ + public long appid; + public int expirtTime; + public String gameName; + public String player; + public String scene; + public int schemeFlag; + public String uin; + public String world; + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("CallbackPushStruct|appid|"); + localStringBuilder.append(this.appid); + localStringBuilder.append("|uin|"); + localStringBuilder.append(this.uin); + localStringBuilder.append("|schemeFlag|"); + localStringBuilder.append(this.schemeFlag); + localStringBuilder.append("|expirtTime|"); + localStringBuilder.append(this.expirtTime); + localStringBuilder.append("|player|"); + localStringBuilder.append(this.player); + localStringBuilder.append("|world|"); + localStringBuilder.append(this.world); + localStringBuilder.append("|gameName|"); + localStringBuilder.append(this.gameName); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.CallbackPushStruct + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/GameLogin.java b/com.tencent.token/classes.jar/gameloginsdk/GameLogin.java new file mode 100755 index 00000000000..1949347334f --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/GameLogin.java @@ -0,0 +1,397 @@ +package gameloginsdk; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import com.qq.taf.jce.JceStruct; +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HashSet; +import java.util.Random; +import java.util.Set; +import java.util.Stack; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import tmsdk.common.c.a.d; +import tmsdk.common.d.a.b.r; + +public class GameLogin +{ + public static final int GAME_LOGIN_SDK_VERSION = 1; + public static final String TAG = "GameLogin"; + long a = 1800000L; + long b = 10000L; + boolean c = false; + boolean d = false; + d.b.e e = null; + IGameLoginCallback f; + o g = new o(); + AtomicInteger h = new AtomicInteger(); + Handler i = new Handler(Looper.getMainLooper()); + d.b.b j = new c(this); + private Object k = new Object(); + private long l = -1L; + private Stack m = new Stack(); + private AtomicInteger n = new AtomicInteger(0); + private AtomicLong o = new AtomicLong(0L); + private AtomicLong p = new AtomicLong(0L); + private a q = new a(); + private a r = new a(); + private Set s = new HashSet(); + private m t = new m(); + private boolean u = false; + + public GameLogin() + { + int i2 = (int)System.currentTimeMillis(); + int i1 = i2; + if (i2 < 0) { + i1 = -i2; + } + this.h.set(i1 / 100); + } + + private int a(int paramInt1, int paramInt2) + { + if (paramInt1 != 0) { + return paramInt1; + } + if (paramInt2 == 1) { + return 2147483647; + } + return 0; + } + + private String a(int paramInt) + { + switch (tmsdk.common.d.a.a.a.filterNetworkCode(paramInt)) + { + default: + return "未知错误"; + case 0: + return ""; + case -10: + case -9: + case -5: + case -4: + case -3: + case -2: + case -1: + return "网络错误,请检查网络"; + case -8: + case -7: + return "服务器繁忙,请稍后重试"; + } + return "需要wifi验证,请先进行wifi验证"; + } + + private String a(byte[] paramArrayOfByte) + { + StringBuilder localStringBuilder = new StringBuilder(); + int i2 = paramArrayOfByte.length; + int i1 = 0; + while (i1 < i2) + { + localStringBuilder.append(paramArrayOfByte[i1]); + i1 += 1; + } + return localStringBuilder.toString(); + } + + private byte[] a(String paramString) + { + if ((paramString == null) || ("".equals(paramString))) {} + for (;;) + { + return null; + try + { + localMessageDigest = MessageDigest.getInstance("MD5"); + if (localMessageDigest == null) { + continue; + } + } + catch (NoSuchAlgorithmException localNoSuchAlgorithmException) + { + try + { + MessageDigest localMessageDigest; + localMessageDigest.update(paramString.getBytes("UTF-8")); + label35: + return localMessageDigest.digest(); + localNoSuchAlgorithmException = localNoSuchAlgorithmException; + Object localObject = null; + } + catch (UnsupportedEncodingException paramString) + { + break label35; + } + } + } + } + + private int e() + { + return this.h.incrementAndGet(); + } + + private int f() + { + if (this.n == null) { + return -1; + } + new StringBuilder().append("获取计数 : ").append(this.n.get()).toString(); + return this.n.get(); + } + + private void g() + { + if (this.n == null) { + return; + } + if (this.n.decrementAndGet() < 0) { + this.n.set(0); + } + new StringBuilder().append("计数-1 : ").append(this.n.get()).toString(); + } + + private void h() + { + if (this.n == null) { + return; + } + this.n.incrementAndGet(); + new StringBuilder().append("计数+1 : ").append(this.n.get()).toString(); + } + + private byte[] i() + { + Random localRandom = new Random(System.currentTimeMillis()); + byte[] arrayOfByte = new byte[10]; + int i1 = 0; + while (i1 < arrayOfByte.length) + { + arrayOfByte[i1] = ((byte)localRandom.nextInt(127)); + i1 += 1; + } + return arrayOfByte; + } + + void a() + { + this.e.a(10051, new b.a.h(), 1, this.j); + } + + void a(p paramp) + { + b.a.c localc = (b.a.c)paramp.c; + int i1 = d.a.a.a; + long l1 = localc.a; + l1 = localc.c; + a(localc.d); + String str = localc.e; + str = localc.b; + this.e.a(653, localc, new b.a.g(), 1, paramp); + } + + void b() + { + new StringBuilder().append("tryCloseConn isKeepConnection : ").append(this.c).append(" gameLoginVsPushCount : ").append(f()).append(" latestGameLoginTimestamp : ").append(this.o.get()).append(" latestPushInfoTimestamp : ").append(this.p.get()).append(" qrcodeSet.size() : ").append(this.s.size()).toString(); + synchronized (this.k) + { + if ((this.c) && (f() <= 0) && (this.o.get() < this.p.get()) && (this.s.isEmpty())) { + d(); + } + return; + } + } + + void b(p paramp) + { + b.a.a locala = (b.a.a)paramp.c; + int i1 = d.a.a.a; + long l1 = locala.b; + l1 = locala.a; + i1 = locala.f; + String str = locala.c; + a(locala.e); + a(locala.d); + this.e.a(654, locala, new b.a.e(), 1, paramp); + } + + void c() + { + new StringBuilder().append("tryCloseConn_2 isKeepConnection : ").append(this.c).append(" getGameLoginVsPushCount() : ").append(f()).append(" qrcodeSet.size() : ").append(this.s.size()).toString(); + synchronized (this.k) + { + if ((this.c) && (f() <= 0) && (this.s.isEmpty())) { + d(); + } + return; + } + } + + void c(p paramp) + { + b.a.b localb = (b.a.b)paramp.c; + int i1 = d.a.a.a; + long l1 = localb.b; + l1 = localb.a; + this.e.a(656, localb, new b.a.f(), 0, paramp); + } + + void d() + { + synchronized (this.k) + { + this.c = false; + this.d = false; + this.e.b(1); + this.e.a(10051, 1); + return; + } + } + + public boolean init(Context paramContext, int paramInt1, String paramString, int paramInt2) + { + this.u = true; + return k.a(paramContext, paramInt1, paramString, paramInt2); + } + + public int sendGameConfirm(String paramString, byte[] paramArrayOfByte, int paramInt) + { + if (!this.u) { + return -1; + } + if ((paramString == null) || (paramArrayOfByte == null)) { + return -2; + } + int i1 = e(); + b.a.a locala = new b.a.a(); + locala.b = ((Long)this.m.pop()).longValue(); + locala.a = i1; + locala.c = paramString; + locala.d = paramArrayOfByte; + locala.e = this.q.a(); + locala.f = j.d(paramInt); + this.g.a(locala.a, this.b); + paramInt = d.a.a.a; + long l1 = locala.b; + l1 = locala.a; + paramInt = locala.f; + paramString = locala.c; + a(locala.e); + a(locala.d); + new StringBuilder().append("CSConfirm confirm : ").append(locala.f).toString(); + new StringBuilder().append("reqid : ").append(locala.a).toString(); + new StringBuilder().append("session : ").append(a(locala.e)).toString(); + this.e.a(654, locala, new b.a.e(), 1, new g(this, locala.a, locala), this.b); + return i1; + } + + public int sendGameLoginInfo(String paramString1, byte[] paramArrayOfByte, String paramString2) + { + if (!this.u) { + return -1; + } + if ((paramString1 == null) || (paramString2 == null) || (paramArrayOfByte == null)) { + return -2; + } + if ((!this.c) || (!this.d)) {} + synchronized (this.k) + { + if (!this.c) + { + this.c = true; + this.e.a(5); + } + if (!this.d) + { + this.d = true; + a(); + } + int i1 = e(); + ??? = new b.a.c(); + ((b.a.c)???).c = this.l; + ((b.a.c)???).d = paramArrayOfByte; + ((b.a.c)???).b = paramString1; + ((b.a.c)???).a = i1; + paramString1 = a(paramString2); + if (paramString1 != null) + { + ((b.a.c)???).g = d.a(paramString1); + this.t.a(((b.a.c)???).c, ((b.a.c)???).g); + } + paramString1 = ((b.a.c)???).g; + this.s.add(paramString1); + int i2 = d.a.a.a; + long l1 = ((b.a.c)???).a; + l1 = ((b.a.c)???).c; + a(((b.a.c)???).d); + paramArrayOfByte = ((b.a.c)???).e; + paramArrayOfByte = ((b.a.c)???).b; + this.g.a(((b.a.c)???).a, this.b); + new StringBuilder().append("reqid : ").append(((b.a.c)???).a).toString(); + new StringBuilder().append("picmd5 : ").append(((b.a.c)???).g).toString(); + tmsdk.common.c.a.a.a().a(((b.a.c)???).g, this.a, new e(this, paramString1)); + this.e.a(653, (JceStruct)???, new b.a.g(), 1, new h(this, ((b.a.c)???).a, (JceStruct)???), this.b); + return i1; + } + } + + public int sendGetFlowType(long paramLong) + { + if (!this.u) { + return -1; + } + int i1 = e(); + b.a.b localb = new b.a.b(); + localb.b = paramLong; + localb.a = i1; + new StringBuilder().append("appid : ").append(localb.b).toString(); + new StringBuilder().append("reqid : ").append(localb.a).toString(); + int i2 = d.a.a.a; + long l1 = localb.b; + l1 = localb.a; + this.g.a(localb.a, this.b); + this.e.a(656, localb, new b.a.f(), 0, new i(this, localb.a, localb), this.b); + this.l = paramLong; + return i1; + } + + public void setNetworkCallback(IGameLoginCallback paramIGameLoginCallback) + { + this.f = paramIGameLoginCallback; + } + + public void setRespLimitTime(long paramLong) + { + if (paramLong > 0L) { + this.b = paramLong; + } + } + + public void setTestServer(boolean paramBoolean) + { + ((r)tmsdk.common.a.b.a(r.class)).a(paramBoolean); + } + + public void setWaitPushTime(long paramLong) + { + if (paramLong > 0L) { + this.a = paramLong; + } + } + + public void testPush(String paramString1, int paramInt1, String paramString2, String paramString3, String paramString4, String paramString5, int paramInt2, String paramString6) + { + new Handler(Looper.getMainLooper()).postDelayed(new f(this, paramString1, paramInt1, paramString2, paramString3, paramString4, paramInt2, paramString5, paramString6), 5000L); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.GameLogin + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/GameLoginConst.java b/com.tencent.token/classes.jar/gameloginsdk/GameLoginConst.java new file mode 100755 index 00000000000..df8c46c2e48 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/GameLoginConst.java @@ -0,0 +1,37 @@ +package gameloginsdk; + +import tmsdk.common.d.a.a.a; + +public class GameLoginConst + extends a +{ + public static final int APPID_TYPE_DOUBLE_CONFIRM = 1; + public static final int APPID_TYPE_NONE = 0; + public static final int APPID_TYPE_NOT_DOUBLE_CONFIRM = 2; + public static final int CONFIRM_LOGIN = 1; + public static final int CONFIRM_NONE = 0; + public static final int CONFIRM_NOT_LOGIN = 2; + public static final int CONFIRM_TIME_OUT = 3; + public static final int ERR_IE_TIME_OUT = 2147483647; + public static final int PLAYER_STATUS_NONE = 0; + public static final int PLAYER_STATUS_NOT_ON_LINE = 2; + public static final int PLAYER_STATUS_ON_LINE = 1; + public static final int PRODUCT_ID_QQ = 32; + public static final int PRODUCT_ID_Q_ZONE = 33; + public static final int PRODUCT_ID_SECURE_CENTER = 34; + public static final int PUSH_INFO_CODE = 0; + public static final int SCHEME_FLAG_NONE = 0; + public static final int SCHEME_FLAG_TMIE_OUT_KICK = 1; + public static final int SCHEME_FLAG_TMIE_OUT_NOT_KICK = 2; + public static final int SEND_FUNC_CODE_SEND_GAME_CONFIRM = 2; + public static final int SEND_FUNC_CODE_SEND_GAME_LOGIN_INFO = 1; + public static final int SEND_FUNC_CODE_SEND_GET_FLOW_TYPE = 0; + public static final int SEND_INVALID_PARAM = -2; + public static final int SEND_NOT_SET_VER = -1; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.GameLoginConst + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/IGameLoginCallback.java b/com.tencent.token/classes.jar/gameloginsdk/IGameLoginCallback.java new file mode 100755 index 00000000000..350bfcb031a --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/IGameLoginCallback.java @@ -0,0 +1,14 @@ +package gameloginsdk; + +public abstract interface IGameLoginCallback +{ + public abstract void onPush(int paramInt, Object paramObject); + + public abstract void onRespCallback(int paramInt1, int paramInt2, int paramInt3, Object paramObject); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.IGameLoginCallback + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/a.java b/com.tencent.token/classes.jar/gameloginsdk/a.java new file mode 100755 index 00000000000..1343dd55f16 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/a.java @@ -0,0 +1,42 @@ +package gameloginsdk; + +import java.util.LinkedList; + +class a +{ + LinkedList a = new LinkedList(); + + public void a(byte[] paramArrayOfByte) + { + this.a.addFirst(new b(paramArrayOfByte)); + } + + public byte[] a() + { + b localb = (b)this.a.removeFirst(); + if (localb == null) { + return null; + } + return localb.a; + } + + public boolean b(byte[] paramArrayOfByte) + { + return this.a.contains(new b(paramArrayOfByte)); + } + + public byte[] b() + { + b localb = (b)this.a.removeLast(); + if (localb == null) { + return null; + } + return localb.a; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/b.java b/com.tencent.token/classes.jar/gameloginsdk/b.java new file mode 100755 index 00000000000..c3b462a53ba --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/b.java @@ -0,0 +1,56 @@ +package gameloginsdk; + +class b +{ + byte[] a = null; + + public b(byte[] paramArrayOfByte) + { + this.a = paramArrayOfByte; + } + + private boolean a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if (paramArrayOfByte1 == paramArrayOfByte2) {} + for (;;) + { + return true; + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null)) { + return false; + } + if (paramArrayOfByte1.length != paramArrayOfByte2.length) { + return false; + } + int j = paramArrayOfByte1.length; + int i = 0; + while (i < j) + { + if (paramArrayOfByte1[i] != paramArrayOfByte2[i]) { + return false; + } + i += 1; + } + } + } + + public boolean equals(Object paramObject) + { + if ((paramObject instanceof b)) + { + paramObject = (b)paramObject; + return a(this.a, paramObject.a); + } + if ((paramObject instanceof byte[])) + { + paramObject = (byte[])paramObject; + return a(this.a, paramObject); + } + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/c.java b/com.tencent.token/classes.jar/gameloginsdk/c.java new file mode 100755 index 00000000000..b53312f0567 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/c.java @@ -0,0 +1,88 @@ +package gameloginsdk; + +import android.os.Handler; +import android.util.Pair; +import b.a.h; +import com.qq.taf.jce.JceStruct; +import d.b.b; +import java.util.Set; +import java.util.Stack; +import java.util.concurrent.atomic.AtomicLong; + +class c + implements b +{ + c(GameLogin paramGameLogin) {} + + public Pair a(int paramInt1, int paramInt2, JceStruct paramJceStruct) + { + if (paramJceStruct == null) + { + paramInt1 = d.a.a.a; + return null; + } + paramJceStruct = (h)paramJceStruct; + Object localObject = paramJceStruct.k; + if ((GameLogin.a(this.a).b((byte[])localObject)) || (!GameLogin.b(this.a).contains(paramJceStruct.o))) { + paramInt1 = d.a.a.a; + } + for (;;) + { + return new Pair(Integer.valueOf(51), new b.a.d(paramJceStruct.a, paramJceStruct.b)); + paramInt1 = d.a.a.a; + localObject = paramJceStruct.c; + long l = paramJceStruct.b; + l = paramJceStruct.a; + paramInt1 = paramJceStruct.d; + paramInt1 = paramJceStruct.f; + localObject = paramJceStruct.g; + localObject = paramJceStruct.h; + localObject = paramJceStruct.i; + localObject = paramJceStruct.j; + GameLogin.a(this.a, paramJceStruct.k); + localObject = paramJceStruct.l; + l = paramJceStruct.m; + GameLogin.b(this.a).remove(paramJceStruct.o); + tmsdk.common.c.a.a.a().a(paramJceStruct.o); + l = paramJceStruct.m; + if (GameLogin.c(this.a).get() < l) { + GameLogin.c(this.a).set(l); + } + GameLogin.d(this.a).a(paramJceStruct.k); + GameLogin.a(this.a).a(paramJceStruct.k); + GameLogin.e(this.a).push(Long.valueOf(paramJceStruct.b)); + this.a.i.postDelayed(new d(this), this.a.a); + new StringBuilder().append("SCPushGameInfo appid : ").append(paramJceStruct.b).toString(); + new StringBuilder().append("SCPushGameInfo qq : ").append(paramJceStruct.c).toString(); + new StringBuilder().append("SCPushGameInfo schemeflag : ").append(paramJceStruct.d).toString(); + new StringBuilder().append("SCPushGameInfo expirttime : ").append(paramJceStruct.f).toString(); + new StringBuilder().append("SCPushGameInfo player : ").append(paramJceStruct.g).toString(); + new StringBuilder().append("SCPushGameInfo world : ").append(paramJceStruct.h).toString(); + new StringBuilder().append("SCPushGameInfo scene : ").append(paramJceStruct.i).toString(); + new StringBuilder().append("SCPushGameInfo name : ").append(paramJceStruct.j).toString(); + new StringBuilder().append("SCPushGameInfo md5 : ").append(paramJceStruct.l).toString(); + new StringBuilder().append("SCPushGameInfo qrcodemd5 : ").append(paramJceStruct.o).toString(); + new StringBuilder().append("SCPushGameInfo timestamp : ").append(paramJceStruct.m).toString(); + new StringBuilder().append("SCPushGameInfo session : ").append(GameLogin.a(this.a, paramJceStruct.k)).toString(); + if (this.a.f != null) + { + localObject = new CallbackPushStruct(); + ((CallbackPushStruct)localObject).appid = GameLogin.f(this.a).a(paramJceStruct.o); + ((CallbackPushStruct)localObject).uin = paramJceStruct.c; + ((CallbackPushStruct)localObject).schemeFlag = j.c(paramJceStruct.d); + ((CallbackPushStruct)localObject).expirtTime = paramJceStruct.f; + ((CallbackPushStruct)localObject).world = paramJceStruct.h; + ((CallbackPushStruct)localObject).player = paramJceStruct.g; + ((CallbackPushStruct)localObject).scene = paramJceStruct.i; + ((CallbackPushStruct)localObject).gameName = paramJceStruct.j; + this.a.f.onPush(0, localObject); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/d.java b/com.tencent.token/classes.jar/gameloginsdk/d.java new file mode 100755 index 00000000000..7bf1983dab8 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/d.java @@ -0,0 +1,18 @@ +package gameloginsdk; + +class d + implements Runnable +{ + d(c paramc) {} + + public void run() + { + GameLogin.a(this.a.a).b(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/e.java b/com.tencent.token/classes.jar/gameloginsdk/e.java new file mode 100755 index 00000000000..37e5074deb5 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/e.java @@ -0,0 +1,22 @@ +package gameloginsdk; + +import java.util.Set; + +class e + implements Runnable +{ + e(GameLogin paramGameLogin, String paramString) {} + + public void run() + { + GameLogin.b(this.b).remove(this.a); + GameLogin.i(this.b); + this.b.c(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/f.java b/com.tencent.token/classes.jar/gameloginsdk/f.java new file mode 100755 index 00000000000..f642c8a7aa0 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/f.java @@ -0,0 +1,34 @@ +package gameloginsdk; + +import b.a.h; +import d.b.b; +import tmsdk.common.c.a.d; + +class f + implements Runnable +{ + f(GameLogin paramGameLogin, String paramString1, int paramInt1, String paramString2, String paramString3, String paramString4, int paramInt2, String paramString5, String paramString6) {} + + public void run() + { + h localh = new h(); + localh.b = 18L; + localh.a = GameLogin.j(this.i); + localh.g = this.a; + localh.f = this.b; + localh.j = this.c; + localh.i = this.d; + localh.c = this.e; + localh.d = this.f; + localh.k = GameLogin.k(this.i); + localh.h = this.g; + localh.o = d.a(GameLogin.a(this.i, this.h)); + this.i.j.a(1, 10051, localh); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/g.java b/com.tencent.token/classes.jar/gameloginsdk/g.java new file mode 100755 index 00000000000..cbd7831b7d3 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/g.java @@ -0,0 +1,99 @@ +package gameloginsdk; + +import b.a.e; +import com.qq.taf.jce.JceStruct; +import d.a.a; + +class g + extends p +{ + public g(GameLogin paramGameLogin, long paramLong, JceStruct paramJceStruct) + { + super(paramLong, paramJceStruct); + } + + public void a(int paramInt1, int paramInt2) + { + if (this.a.f != null) + { + CallbackGameConfirmStruct localCallbackGameConfirmStruct = new CallbackGameConfirmStruct(); + localCallbackGameConfirmStruct.errMsg = GameLogin.a(this.a, paramInt1); + this.a.f.onRespCallback(paramInt1, paramInt2, 2, localCallbackGameConfirmStruct); + } + GameLogin.i(this.a); + this.a.b(); + } + + public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct) + { + if (paramJceStruct == null) + { + paramInt1 = a.a; + new StringBuilder().append("resp == null gameConfirmCallback retCode : ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + } + do + { + return; + if (paramInt3 == -50004) + { + paramInt1 = a.a; + new StringBuilder().append("回包超时 gameConfirmCallback retCode : ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + return; + } + paramJceStruct = (e)paramJceStruct; + paramInt1 = a.a; + long l = paramJceStruct.a; + l = paramJceStruct.b; + paramInt1 = paramJceStruct.d; + paramInt1 = paramJceStruct.e; + Object localObject = paramJceStruct.c; + if (paramInt3 == 0) + { + new StringBuilder().append("SCConfirm appid : ").append(paramJceStruct.b).toString(); + new StringBuilder().append("SCConfirm qq : ").append(paramJceStruct.c).toString(); + new StringBuilder().append("SCConfirm code : ").append(paramJceStruct.d).toString(); + new StringBuilder().append("SCConfirm playerstatus : ").append(paramJceStruct.e).toString(); + new StringBuilder().append("SCConfirm wording : ").append(paramJceStruct.f).toString(); + if (!this.a.g.a(paramJceStruct.a)) + { + new StringBuilder().append("忽略这个包,因为没收到过SCConfirm包的reqid : ").append(paramJceStruct.a).toString(); + paramInt1 = a.a; + new StringBuilder().append("忽略这个包,因为没收到过SCConfirm包的reqid : ").append(paramJceStruct.a).toString(); + return; + } + if (this.a.f != null) + { + localObject = new CallbackGameConfirmStruct(); + ((CallbackGameConfirmStruct)localObject).appid = paramJceStruct.b; + ((CallbackGameConfirmStruct)localObject).uin = paramJceStruct.c; + ((CallbackGameConfirmStruct)localObject).wording = paramJceStruct.f; + ((CallbackGameConfirmStruct)localObject).playerStatus = j.b(paramJceStruct.e); + this.a.f.onRespCallback(GameLogin.a(this.a, paramInt3, paramJceStruct.d), (int)this.d, 2, localObject); + } + this.b = 0; + GameLogin.i(this.a); + this.a.b(); + return; + } + paramInt1 = this.b + 1; + this.b = paramInt1; + if (paramInt1 >= 3) { + break; + } + } while (this.c == null); + new StringBuilder().append("resendGameConfirm retCode : ").append(paramInt3).toString(); + this.a.b(this); + return; + new StringBuilder().append("sendGameConfirm --- retCode = ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + this.b = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/h.java b/com.tencent.token/classes.jar/gameloginsdk/h.java new file mode 100755 index 00000000000..1c876b40125 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/h.java @@ -0,0 +1,89 @@ +package gameloginsdk; + +import b.a.g; +import com.qq.taf.jce.JceStruct; +import d.a.a; +import java.util.concurrent.atomic.AtomicLong; + +class h + extends p +{ + public h(GameLogin paramGameLogin, long paramLong, JceStruct paramJceStruct) + { + super(paramLong, paramJceStruct); + } + + public void a(int paramInt1, int paramInt2) + { + if (this.a.f != null) + { + CallbackGameLoginStruct localCallbackGameLoginStruct = new CallbackGameLoginStruct(); + localCallbackGameLoginStruct.errMsg = GameLogin.a(this.a, paramInt1); + this.a.f.onRespCallback(paramInt1, paramInt2, 1, localCallbackGameLoginStruct); + } + } + + public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct) + { + if (paramJceStruct == null) + { + paramInt1 = a.a; + a(paramInt3, (int)this.d); + } + do + { + do + { + return; + if (paramInt3 == -50004) + { + paramInt1 = a.a; + new StringBuilder().append("回包超时 gameLoginCallback retCode : ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + return; + } + paramJceStruct = (g)paramJceStruct; + paramInt1 = a.a; + long l = paramJceStruct.a; + paramInt1 = paramJceStruct.b; + l = paramJceStruct.c; + if (paramInt3 != 0) { + break; + } + new StringBuilder().append("SCGameLogin timestamp : ").append(paramJceStruct.c).toString(); + if (!this.a.g.a(paramJceStruct.a)) + { + new StringBuilder().append("忽略这个包,因为没收到过SCConfirm包的reqid : ").append(paramJceStruct.a).toString(); + paramInt1 = a.a; + new StringBuilder().append("忽略这个包,因为没收到过包的reqid : ").append(paramJceStruct.a).toString(); + return; + } + this.b = 0; + if (GameLogin.g(this.a).get() < paramJceStruct.c) { + GameLogin.g(this.a).set(paramJceStruct.c); + } + GameLogin.h(this.a); + } while (this.a.f == null); + paramJceStruct = new CallbackGameLoginStruct(); + this.a.f.onRespCallback(paramInt3, (int)this.d, 1, paramJceStruct); + return; + paramInt1 = this.b + 1; + this.b = paramInt1; + if (paramInt1 >= 3) { + break; + } + } while (this.c == null); + new StringBuilder().append("resendGameLoginInfo retCode : ").append(paramInt3).toString(); + this.a.a(this); + return; + new StringBuilder().append("sendGameLoginInfo --- retCode = ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + this.b = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/i.java b/com.tencent.token/classes.jar/gameloginsdk/i.java new file mode 100755 index 00000000000..c2d72c9db87 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/i.java @@ -0,0 +1,86 @@ +package gameloginsdk; + +import b.a.f; +import com.qq.taf.jce.JceStruct; +import d.a.a; + +class i + extends p +{ + public i(GameLogin paramGameLogin, long paramLong, JceStruct paramJceStruct) + { + super(paramLong, paramJceStruct); + } + + public void a(int paramInt1, int paramInt2) + { + if (this.a.f != null) + { + CallbackAppidTypeStruct localCallbackAppidTypeStruct = new CallbackAppidTypeStruct(); + localCallbackAppidTypeStruct.errMsg = GameLogin.a(this.a, paramInt1); + this.a.f.onRespCallback(paramInt1, paramInt2, 0, localCallbackAppidTypeStruct); + } + } + + public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct) + { + if (paramJceStruct == null) + { + paramInt1 = a.a; + a(paramInt3, (int)this.d); + } + do + { + do + { + return; + if (paramInt3 == -50004) + { + paramInt1 = a.a; + new StringBuilder().append("回包超时 httpGetAppidTypeCallback retCode : ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + return; + } + paramJceStruct = (f)paramJceStruct; + paramInt1 = a.a; + paramInt1 = paramJceStruct.b; + long l = paramJceStruct.a; + localObject = paramJceStruct.c; + if (paramInt3 != 0) { + break; + } + new StringBuilder().append("SCGameAppid url : ").append(paramJceStruct.c).toString(); + if (!this.a.g.a(paramJceStruct.a)) + { + paramInt1 = a.a; + new StringBuilder().append("忽略这个包,因为没收到过包的reqid : ").append(paramJceStruct.a).toString(); + new StringBuilder().append("忽略这个包,因为没收到过SCGameAppid包的reqid : ").append(paramJceStruct.a).toString(); + return; + } + this.b = 0; + } while (this.a.f == null); + Object localObject = new CallbackAppidTypeStruct(); + ((CallbackAppidTypeStruct)localObject).appidType = j.a(paramJceStruct.b); + ((CallbackAppidTypeStruct)localObject).url = paramJceStruct.c; + this.a.f.onRespCallback(paramInt3, (int)this.d, 0, localObject); + return; + paramInt1 = this.b + 1; + this.b = paramInt1; + if (paramInt1 >= 3) { + break; + } + } while (this.c == null); + new StringBuilder().append("resendGetFlowType retCode : ").append(paramInt3).toString(); + this.a.c(this); + return; + new StringBuilder().append("httpGetAppidTypeCallback --- retCode = ").append(paramInt3).toString(); + a(paramInt3, (int)this.d); + this.b = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/j.java b/com.tencent.token/classes.jar/gameloginsdk/j.java new file mode 100755 index 00000000000..09866188871 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/j.java @@ -0,0 +1,61 @@ +package gameloginsdk; + +public class j +{ + static int a(int paramInt) + { + switch (paramInt) + { + default: + return 0; + case 1: + return 2; + } + return 1; + } + + static int b(int paramInt) + { + switch (paramInt) + { + default: + return 0; + case 1: + return 2; + } + return 1; + } + + static int c(int paramInt) + { + switch (paramInt) + { + default: + return 0; + case 1: + return 1; + } + return 2; + } + + static int d(int paramInt) + { + switch (paramInt) + { + case 0: + default: + return 99; + case 1: + return 1; + case 2: + return 2; + } + return 3; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/k.java b/com.tencent.token/classes.jar/gameloginsdk/k.java new file mode 100755 index 00000000000..0efb8d310e6 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/k.java @@ -0,0 +1,35 @@ +package gameloginsdk; + +import android.content.Context; +import c.a.b.a.b; +import tmsdk.common.a; + +public class k +{ + static b a; + + private static void a(int paramInt1, String paramString, int paramInt2) + { + a.a(paramInt1, paramString, paramInt2); + } + + public static boolean a(Context paramContext, int paramInt1, String paramString, int paramInt2) + { + try + { + a.a(paramContext); + a = new b(paramContext); + a.a(a, paramInt2); + a(paramInt1, paramString, paramInt2); + return true; + } + catch (UnsatisfiedLinkError paramContext) {} + return false; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/l.java b/com.tencent.token/classes.jar/gameloginsdk/l.java new file mode 100755 index 00000000000..d8fce31473d --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/l.java @@ -0,0 +1,25 @@ +package gameloginsdk; + +class l +{ + long a = System.currentTimeMillis(); + long b = 0L; + long c = 0L; + + public l(long paramLong1, long paramLong2) + { + this.c = paramLong1; + this.b = paramLong2; + } + + public boolean a() + { + return System.currentTimeMillis() - this.a > this.b; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/m.java b/com.tencent.token/classes.jar/gameloginsdk/m.java new file mode 100755 index 00000000000..43cc700af7d --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/m.java @@ -0,0 +1,52 @@ +package gameloginsdk; + +import java.util.Iterator; +import java.util.concurrent.LinkedBlockingQueue; + +class m +{ + private LinkedBlockingQueue a = new LinkedBlockingQueue(10); + + private n b(String paramString) + { + Iterator localIterator = this.a.iterator(); + while (localIterator.hasNext()) + { + n localn = (n)localIterator.next(); + if (localn.b.equals(paramString)) { + return localn; + } + } + return null; + } + + public long a(String paramString) + { + paramString = b(paramString); + if (paramString == null) { + return 0L; + } + return paramString.a; + } + + public void a(long paramLong, String paramString) + { + if (b(paramString) != null) {} + n localn; + do + { + return; + localn = new n(this); + localn.a = paramLong; + localn.b = paramString; + } while (!this.a.offer(localn)); + this.a.poll(); + this.a.offer(localn); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/n.java b/com.tencent.token/classes.jar/gameloginsdk/n.java new file mode 100755 index 00000000000..1df71dfed92 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/n.java @@ -0,0 +1,15 @@ +package gameloginsdk; + +class n +{ + long a; + String b; + + n(m paramm) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/o.java b/com.tencent.token/classes.jar/gameloginsdk/o.java new file mode 100755 index 00000000000..6a426e4e429 --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/o.java @@ -0,0 +1,87 @@ +package gameloginsdk; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; + +public class o +{ + HashMap a = new HashMap(1000); + + public void a() + { + try + { + Iterator localIterator = this.a.values().iterator(); + while (localIterator.hasNext()) { + if (((l)localIterator.next()).a()) { + localIterator.remove(); + } + } + } + finally {} + } + + public void a(long paramLong1, long paramLong2) + { + try + { + a(); + this.a.put(Long.valueOf(paramLong1), new l(paramLong1, paramLong2)); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public boolean a(long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokevirtual 48 gameloginsdk/o:a ()V + // 6: aload_0 + // 7: getfield 17 gameloginsdk/o:a Ljava/util/HashMap; + // 10: lload_1 + // 11: invokestatic 54 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 14: invokevirtual 64 java/util/HashMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 17: astore 4 + // 19: aload 4 + // 21: ifnonnull +9 -> 30 + // 24: iconst_0 + // 25: istore_3 + // 26: aload_0 + // 27: monitorexit + // 28: iload_3 + // 29: ireturn + // 30: iconst_1 + // 31: istore_3 + // 32: goto -6 -> 26 + // 35: astore 4 + // 37: aload_0 + // 38: monitorexit + // 39: aload 4 + // 41: athrow + // Local variable table: + // start length slot name signature + // 0 42 0 this o + // 0 42 1 paramLong long + // 25 7 3 bool boolean + // 17 3 4 localObject1 Object + // 35 5 4 localObject2 Object + // Exception table: + // from to target type + // 2 19 35 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/gameloginsdk/p.java b/com.tencent.token/classes.jar/gameloginsdk/p.java new file mode 100755 index 00000000000..5e69e8d67dd --- /dev/null +++ b/com.tencent.token/classes.jar/gameloginsdk/p.java @@ -0,0 +1,24 @@ +package gameloginsdk; + +import com.qq.taf.jce.JceStruct; +import d.b.a; + +abstract class p + implements a +{ + int b = 0; + protected JceStruct c = null; + protected long d = -1L; + + public p(long paramLong, JceStruct paramJceStruct) + { + this.d = paramLong; + this.c = paramJceStruct; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: gameloginsdk.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/a.java new file mode 100755 index 00000000000..158055b1ad3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/a.java @@ -0,0 +1,421 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class a +{ + public int a = 11; + public int b = 0; + public int c = 5; + public int d = 0; + + public static int a(byte[] paramArrayOfByte, h paramh) + { + int k = 0; + int i; + if (1 > paramArrayOfByte.length) { + i = -1009; + } + int j; + byte[] arrayOfByte; + do + { + return i; + if (3 > paramArrayOfByte.length) { + return -1009; + } + if (util.buf_to_int16(paramArrayOfByte, 1) != paramArrayOfByte.length) { + return -1009; + } + if (7 > paramArrayOfByte.length) { + return -1009; + } + if (8 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(paramArrayOfByte, 7); + if (i + 8 > paramArrayOfByte.length) { + return -1009; + } + i += 8; + if (i + 1 > paramArrayOfByte.length) { + return -1009; + } + paramh.d = (util.buf_to_int8(paramArrayOfByte, i) & 0xFF); + j = i + 1; + if (j + 2 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + arrayOfByte = new byte[i]; + System.arraycopy(paramArrayOfByte, j, arrayOfByte, 0, i); + j += i; + if (j + 1 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(paramArrayOfByte, j); + j += 1; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + paramh.e = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.e, 0, i); + j += i; + if (j + 2 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + paramh.f = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.f, 0, i); + i = k; + } while (arrayOfByte.length <= 0); + if (paramh.d == 0) + { + if (4 > arrayOfByte.length) { + return -1009; + } + paramh.l = util.buf_to_int32(arrayOfByte, 0); + if (5 > arrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(arrayOfByte, 4); + if (i + 5 > arrayOfByte.length) { + return -1009; + } + paramh.m = new byte[i]; + System.arraycopy(arrayOfByte, 5, paramh.m, 0, i); + return 0; + } + if (paramh.d == 2) + { + if (1 > arrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(arrayOfByte, 0); + if (i + 1 > arrayOfByte.length) { + return -1009; + } + paramh.n = new byte[i]; + System.arraycopy(arrayOfByte, 1, paramh.n, 0, i); + paramh.o = new byte[6]; + j = 0; + for (;;) + { + i = k; + if (j >= paramh.o.length) { + break; + } + paramh.o[j] = ((byte)((byte)(util.get_rand_32() % 10) + 48)); + j += 1; + } + } + if ((paramh.d == 3) || (paramh.d == 6) || (paramh.d == 44)) + { + if (2 > arrayOfByte.length) { + return -1009; + } + i = util.buf_to_int16(arrayOfByte, 0); + if (i + 2 > arrayOfByte.length) { + return -1009; + } + paramh.p = new byte[i]; + System.arraycopy(arrayOfByte, 2, paramh.p, 0, i); + return 0; + } + if (paramh.d == 4) + { + if (2 > arrayOfByte.length) { + return -1009; + } + paramh.q = util.buf_to_int16(arrayOfByte, 0); + if (4 > arrayOfByte.length) { + return -1009; + } + paramh.r = util.buf_to_int16(arrayOfByte, 2); + return 0; + } + if (paramh.d == 5) + { + if (2 > arrayOfByte.length) { + return -1009; + } + paramh.q = util.buf_to_int16(arrayOfByte, 0); + if (4 > arrayOfByte.length) { + return -1009; + } + paramh.r = util.buf_to_int16(arrayOfByte, 2); + return 0; + } + util.LOGW("unhandle return code int parse_checkvalid_rsp", "", ""); + return 0; + } + + public static int b(byte[] paramArrayOfByte, h paramh) + { + if (1 > paramArrayOfByte.length) {} + int i; + int j; + do + { + do + { + do + { + do + { + do + { + do + { + do + { + return -1009; + } while ((3 > paramArrayOfByte.length) || (util.buf_to_int16(paramArrayOfByte, 1) != paramArrayOfByte.length) || (7 > paramArrayOfByte.length) || (8 > paramArrayOfByte.length)); + i = util.buf_to_int8(paramArrayOfByte, 7); + } while (i + 8 > paramArrayOfByte.length); + i += 8; + } while (i + 1 > paramArrayOfByte.length); + paramh.d = util.buf_to_int8(paramArrayOfByte, i); + j = i + 1; + } while (j + 1 > paramArrayOfByte.length); + i = util.buf_to_int8(paramArrayOfByte, j); + j += 1; + } while (j + i > paramArrayOfByte.length); + paramh.e = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.e, 0, i); + j += i; + } while (j + 2 > paramArrayOfByte.length); + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + } while (j + i > paramArrayOfByte.length); + paramh.f = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.f, 0, i); + return 0; + } + + public static int c(byte[] paramArrayOfByte, h paramh) + { + if (1 > paramArrayOfByte.length) { + return -1009; + } + if (3 > paramArrayOfByte.length) { + return -1009; + } + if (util.buf_to_int16(paramArrayOfByte, 1) != paramArrayOfByte.length) { + return -1009; + } + if (7 > paramArrayOfByte.length) { + return -1009; + } + if (8 > paramArrayOfByte.length) { + return -1009; + } + int i = util.buf_to_int8(paramArrayOfByte, 7); + if (i + 8 > paramArrayOfByte.length) { + return -1009; + } + i += 8; + if (i + 1 > paramArrayOfByte.length) { + return -1009; + } + paramh.d = util.buf_to_int8(paramArrayOfByte, i); + int j = i + 1; + if (j + 1 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(paramArrayOfByte, j); + j += 1; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + byte[] arrayOfByte2 = new byte[i]; + System.arraycopy(paramArrayOfByte, j, arrayOfByte2, 0, i); + int k = j + i; + if (paramh.d == 0) + { + if ((paramh.j == null) || (paramh.j.length <= 0)) {} + for (byte[] arrayOfByte1 = h.a.getBytes();; arrayOfByte1 = MD5.toMD5Byte(paramh.j)) + { + arrayOfByte1 = cryptor.decrypt(arrayOfByte2, 0, arrayOfByte2.length, arrayOfByte1); + if (arrayOfByte1 != null) { + break; + } + return -1009; + } + if (1 > arrayOfByte1.length) { + return -1009; + } + i = util.buf_to_int8(arrayOfByte1, 0); + if (i + 1 > arrayOfByte1.length) { + return -1009; + } + i += 1; + if (i + 8 > arrayOfByte1.length) { + return -1009; + } + paramh.s = util.buf_to_int64(arrayOfByte1, i); + j = i + 8; + if (j + 2 > arrayOfByte1.length) { + return -1009; + } + i = util.buf_to_int16(arrayOfByte1, j); + j += 2; + if (j + i > arrayOfByte1.length) { + return -1009; + } + paramh.t = new byte[i]; + System.arraycopy(arrayOfByte1, j, paramh.t, 0, i); + i = j + i; + if (i + 1 > arrayOfByte1.length) { + return -1009; + } + int m = util.buf_to_int8(arrayOfByte1, i); + j = i + 1; + i = 0; + if (i < m) + { + if (j + 2 > arrayOfByte1.length) { + return -1009; + } + int n = util.buf_to_int8(arrayOfByte1, j); + int i1 = j + 1; + j = util.buf_to_int8(arrayOfByte1, i1); + i1 += 1; + if (i1 + j > arrayOfByte1.length) { + return -1009; + } + switch (n) + { + } + for (;;) + { + j = i1 + j; + i += 1; + break; + paramh.u = new byte[j]; + System.arraycopy(arrayOfByte1, i1, paramh.u, 0, j); + continue; + arrayOfByte2 = new byte[j]; + System.arraycopy(arrayOfByte1, i1, arrayOfByte2, 0, j); + h.w = util.buf_to_int64(arrayOfByte2, 0); + } + } + } + if (k + 1 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int8(paramArrayOfByte, k); + j = k + 1; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + paramh.e = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.e, 0, i); + j = i + j; + if (j + 2 > paramArrayOfByte.length) { + return -1009; + } + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + if (j + i > paramArrayOfByte.length) { + return -1009; + } + paramh.f = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.f, 0, i); + return 0; + } + + public static int d(byte[] paramArrayOfByte, h paramh) + { + if (1 > paramArrayOfByte.length) {} + int i; + int j; + do + { + do + { + do + { + do + { + do + { + do + { + return -1009; + } while ((3 > paramArrayOfByte.length) || (util.buf_to_int16(paramArrayOfByte, 1) != paramArrayOfByte.length) || (7 > paramArrayOfByte.length) || (8 > paramArrayOfByte.length)); + i = util.buf_to_int8(paramArrayOfByte, 7); + } while (i + 8 > paramArrayOfByte.length); + i += 8; + } while (i + 1 > paramArrayOfByte.length); + paramh.d = util.buf_to_int8(paramArrayOfByte, i); + j = i + 1; + } while (j + 2 > paramArrayOfByte.length); + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + } while (j + i > paramArrayOfByte.length); + paramh.f = new byte[i]; + System.arraycopy(paramArrayOfByte, j, paramh.f, 0, i); + j += i; + if (j + 2 > paramArrayOfByte.length) { + break; + } + i = util.buf_to_int16(paramArrayOfByte, j); + j += 2; + } while (j + i > paramArrayOfByte.length); + if (i > 0) + { + byte[] arrayOfByte = new byte[i + 2]; + System.arraycopy(paramArrayOfByte, j, arrayOfByte, 1, i); + arrayOfByte[0] = 40; + arrayOfByte[(i + 1)] = 41; + paramh.f = new String(paramh.f).replace("。", new String(arrayOfByte) + "。").getBytes(); + } + return 0; + } + + public int a() + { + return this.b; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new byte[this.a + 2 + paramArrayOfByte.length]; + util.int8_to_buf(arrayOfByte, 0, 2); + util.int16_to_buf(arrayOfByte, 1, this.a + paramArrayOfByte.length + 2); + util.int16_to_buf(arrayOfByte, 3, 1); + util.int16_to_buf(arrayOfByte, 5, this.b); + util.int8_to_buf(arrayOfByte, 7, 4); + util.int32_to_buf(arrayOfByte, 8, 0); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 12, paramArrayOfByte.length); + int i = paramArrayOfByte.length + 12; + util.int8_to_buf(arrayOfByte, i, 3); + return arrayOfByte; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + 1]; + util.int8_to_buf(arrayOfByte, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 1, paramArrayOfByte1.length); + paramArrayOfByte1 = MD5.toMD5Byte(paramArrayOfByte2); + return cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, paramArrayOfByte1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/b.java new file mode 100755 index 00000000000..57162d9ea36 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/b.java @@ -0,0 +1,141 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class b + extends a +{ + public b() + { + this.b = 6; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt1, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, boolean paramBoolean, byte[] paramArrayOfByte7, long paramLong, byte[] paramArrayOfByte8, int paramInt2) + { + paramArrayOfByte2 = b(paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramInt1, paramArrayOfByte5, paramArrayOfByte6, paramBoolean, paramArrayOfByte7, paramLong, paramArrayOfByte8, paramInt2); + this.d = (paramArrayOfByte1.length + 1 + 1 + paramArrayOfByte2.length); + paramArrayOfByte3 = new byte[this.d]; + util.int8_to_buf(paramArrayOfByte3, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, 1, paramArrayOfByte1.length); + paramInt1 = paramArrayOfByte1.length + 1; + util.int8_to_buf(paramArrayOfByte3, paramInt1, paramArrayOfByte2.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, paramInt1, paramArrayOfByte2.length); + paramInt1 = paramArrayOfByte2.length; + return a(paramArrayOfByte3); + } + + public byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt1, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, boolean paramBoolean, byte[] paramArrayOfByte7, long paramLong, byte[] paramArrayOfByte8, int paramInt2) + { + byte[] arrayOfByte = paramArrayOfByte6; + if (paramArrayOfByte6 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte6 = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + paramArrayOfByte6 = new byte[0]; + } + paramArrayOfByte4 = paramArrayOfByte7; + if (paramArrayOfByte7 == null) { + paramArrayOfByte4 = new byte[0]; + } + int i = 5; + if (paramBoolean) + { + i = 10; + paramArrayOfByte7 = new byte[paramArrayOfByte1.length + 1 + 1 + paramArrayOfByte3.length + 1 + 1 + 2 + paramArrayOfByte5.length + 2 + arrayOfByte.length + 2 + paramArrayOfByte6.length + 2 + 1 + 2 + 1 + 2 + paramArrayOfByte4.length + 2 + paramArrayOfByte3.length + 2 + 4 + 2 + paramArrayOfByte8.length + 2 + 4]; + util.int8_to_buf(paramArrayOfByte7, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte7, 1, paramArrayOfByte1.length); + int j = paramArrayOfByte1.length + 1; + util.int8_to_buf(paramArrayOfByte7, j, paramArrayOfByte3.length); + j += 1; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte7, j, paramArrayOfByte3.length); + j += paramArrayOfByte3.length; + util.int8_to_buf(paramArrayOfByte7, j, paramInt1); + paramInt1 = j + 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, i); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, paramArrayOfByte5.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte5, 0, paramArrayOfByte7, paramInt1, paramArrayOfByte5.length); + paramInt1 += paramArrayOfByte5.length; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 5); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, arrayOfByte.length); + paramInt1 += 1; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte7, paramInt1, arrayOfByte.length); + paramInt1 += arrayOfByte.length; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 6); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, paramArrayOfByte6.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte6, 0, paramArrayOfByte7, paramInt1, paramArrayOfByte6.length); + paramInt1 += paramArrayOfByte6.length; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 8); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 15); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 4); + paramInt1 += 1; + util.int32_to_buf(paramArrayOfByte7, paramInt1, paramInt2); + paramInt1 += 4; + if (paramBoolean) + { + util.int8_to_buf(paramArrayOfByte7, paramInt1, 9); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 10); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, paramArrayOfByte4.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte7, paramInt1, paramArrayOfByte4.length); + paramInt1 += paramArrayOfByte4.length; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 11); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, paramArrayOfByte3.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte7, paramInt1, paramArrayOfByte3.length); + paramInt1 += paramArrayOfByte3.length; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 13); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 4); + paramInt1 += 1; + util.int64_to_buf32(paramArrayOfByte7, paramInt1, paramLong); + paramInt1 += 4; + util.int8_to_buf(paramArrayOfByte7, paramInt1, 14); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte7, paramInt1, paramArrayOfByte8.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte8, 0, paramArrayOfByte7, paramInt1, paramArrayOfByte8.length); + paramInt1 = paramArrayOfByte8.length; + } + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length > 0)) { + break label764; + } + } + label764: + for (paramArrayOfByte1 = h.a.getBytes();; paramArrayOfByte1 = MD5.toMD5Byte(paramArrayOfByte2)) + { + return cryptor.encrypt(paramArrayOfByte7, 0, paramArrayOfByte7.length, paramArrayOfByte1); + paramArrayOfByte7 = new byte[paramArrayOfByte1.length + 1 + 1 + paramArrayOfByte3.length + 1 + 1 + 2 + paramArrayOfByte5.length + 2 + arrayOfByte.length + 2 + paramArrayOfByte6.length + 2 + 1 + 2 + 4]; + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/c.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/c.java new file mode 100755 index 00000000000..99444190386 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/c.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.util; + +public class c + extends a +{ + public c() + { + this.b = 7; + } + + public byte[] a(int paramInt, byte[] paramArrayOfByte, long paramLong) + { + this.d = (paramArrayOfByte.length + 2 + 4); + byte[] arrayOfByte = new byte[this.d]; + util.int8_to_buf(arrayOfByte, 0, paramInt); + util.int8_to_buf(arrayOfByte, 1, paramArrayOfByte.length); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 2, paramArrayOfByte.length); + paramInt = paramArrayOfByte.length + 2; + util.int64_to_buf32(arrayOfByte, paramInt, paramLong); + return a(arrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/d.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/d.java new file mode 100755 index 00000000000..84b4c0f2946 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/d.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.util; + +public class d + extends a +{ + public d() + { + this.b = 3; + } + + public byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + paramArrayOfByte2 = a(paramArrayOfByte1, paramArrayOfByte2); + this.d = (paramArrayOfByte1.length + 1 + 1 + paramArrayOfByte2.length); + byte[] arrayOfByte = new byte[this.d]; + util.int8_to_buf(arrayOfByte, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 1, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length + 1; + util.int8_to_buf(arrayOfByte, i, paramArrayOfByte2.length); + i += 1; + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, i, paramArrayOfByte2.length); + i = paramArrayOfByte2.length; + return a(arrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/e.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/e.java new file mode 100755 index 00000000000..0c71c122537 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/e.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.util; + +public class e + extends a +{ + public e() + { + this.b = 4; + } + + public byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + this.d = (paramArrayOfByte1.length + 1); + paramArrayOfByte2 = new byte[this.d]; + util.int8_to_buf(paramArrayOfByte2, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 1, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length; + return a(paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/f.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/f.java new file mode 100755 index 00000000000..e8b80d947fc --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/f.java @@ -0,0 +1,124 @@ +package oicq.wlogin_sdk.a; + +import android.os.Build.VERSION; +import oicq.wlogin_sdk.tools.util; + +public class f + extends a +{ + public f() + { + this.b = 10; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt1, int paramInt2, int paramInt3, long paramLong1, long paramLong2, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, long paramLong3, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10) + { + String str = Build.VERSION.RELEASE; + byte[] arrayOfByte = paramArrayOfByte7; + if (paramArrayOfByte7 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte7 = paramArrayOfByte10; + if (paramArrayOfByte10 == null) { + paramArrayOfByte7 = new byte[0]; + } + this.d = (paramArrayOfByte1.length + 1 + 1 + 1 + str.length() + 1 + paramArrayOfByte2.length + 1 + paramArrayOfByte3.length + 1 + 1 + 1 + 4 + 4 + 1 + paramArrayOfByte5.length + 1 + paramArrayOfByte6.length + 1 + (arrayOfByte.length + 2) + 6 + 10 + (paramArrayOfByte8.length + 2) + (paramArrayOfByte9.length + 2) + (paramArrayOfByte7.length + 5)); + paramArrayOfByte10 = new byte[this.d]; + util.int8_to_buf(paramArrayOfByte10, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte10, 1, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length + 1; + util.int8_to_buf(paramArrayOfByte10, i, this.c); + i += 1; + util.int8_to_buf(paramArrayOfByte10, i, str.length()); + i += 1; + System.arraycopy(str.getBytes(), 0, paramArrayOfByte10, i, str.length()); + i += str.length(); + util.int8_to_buf(paramArrayOfByte10, i, paramArrayOfByte2.length); + i += 1; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte10, i, paramArrayOfByte2.length); + i += paramArrayOfByte2.length; + util.int8_to_buf(paramArrayOfByte10, i, paramArrayOfByte3.length); + i += 1; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte10, i, paramArrayOfByte3.length); + i += paramArrayOfByte3.length; + util.int8_to_buf(paramArrayOfByte10, i, paramInt1); + paramInt1 = i + 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramInt2); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramInt3); + paramInt1 += 1; + util.int64_to_buf32(paramArrayOfByte10, paramInt1, paramLong1); + paramInt1 += 4; + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length == 4)) + { + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte10, paramInt1, 4); + paramInt1 += 4; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramArrayOfByte5.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte5, 0, paramArrayOfByte10, paramInt1, paramArrayOfByte5.length); + paramInt1 += paramArrayOfByte5.length; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramArrayOfByte6.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte6, 0, paramArrayOfByte10, paramInt1, paramArrayOfByte6.length); + paramInt1 += paramArrayOfByte6.length; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 6); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 1); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, arrayOfByte.length); + paramInt1 += 1; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte10, paramInt1, arrayOfByte.length); + paramInt1 += arrayOfByte.length; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 2); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 8); + paramInt1 += 1; + util.int64_to_buf(paramArrayOfByte10, paramInt1, paramLong3); + paramInt1 += 8; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 3); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramArrayOfByte8.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte8, 0, paramArrayOfByte10, paramInt1, paramArrayOfByte8.length); + paramInt1 += paramArrayOfByte8.length; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 4); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramArrayOfByte9.length); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte9, 0, paramArrayOfByte10, paramInt1, paramArrayOfByte9.length); + paramInt1 += paramArrayOfByte9.length; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 13); + paramInt1 += 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, 4); + paramInt1 += 1; + util.int64_to_buf32(paramArrayOfByte10, paramInt1, paramLong2); + paramInt2 = paramInt1 + 4; + paramInt1 = paramInt2 + 1; + util.int8_to_buf(paramArrayOfByte10, paramInt2, 6); + paramInt2 = paramInt1 + 1; + util.int8_to_buf(paramArrayOfByte10, paramInt1, paramArrayOfByte7.length + 3); + paramInt3 = paramInt2 + 1; + if (paramArrayOfByte7.length != 0) { + break label805; + } + } + label805: + for (paramInt1 = 1;; paramInt1 = 2) + { + util.int8_to_buf(paramArrayOfByte10, paramInt2, paramInt1); + util.int16_to_buf(paramArrayOfByte10, paramInt3, paramArrayOfByte7.length); + paramInt1 = paramInt3 + 2; + System.arraycopy(paramArrayOfByte7, 0, paramArrayOfByte10, paramInt1, paramArrayOfByte7.length); + paramInt1 = paramArrayOfByte7.length; + return a(paramArrayOfByte10); + util.int32_to_buf(paramArrayOfByte10, paramInt1, 0); + break; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/g.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/g.java new file mode 100755 index 00000000000..ddcee1172bc --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/g.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.a; + +import oicq.wlogin_sdk.tools.util; + +public class g + extends a +{ + public g() + { + this.b = 5; + } + + public byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + paramArrayOfByte2 = a(paramArrayOfByte1, paramArrayOfByte2); + this.d = (paramArrayOfByte1.length + 1 + 1 + paramArrayOfByte2.length); + byte[] arrayOfByte = new byte[this.d]; + util.int8_to_buf(arrayOfByte, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 1, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length + 1; + util.int8_to_buf(arrayOfByte, i, paramArrayOfByte2.length); + i += 1; + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, i, paramArrayOfByte2.length); + i = paramArrayOfByte2.length; + return a(arrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/h.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/h.java new file mode 100755 index 00000000000..b2b68424572 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/a/h.java @@ -0,0 +1,36 @@ +package oicq.wlogin_sdk.a; + +public class h +{ + public static String a = "e75734d01ad9b57f"; + public static boolean v = false; + public static long w; + public static String x = ""; + public String b = ""; + public String c = ""; + public int d; + public byte[] e = new byte[0]; + public byte[] f = new byte[0]; + public long g; + public long h; + public int i = 95; + public byte[] j; + public byte[] k = new byte[0]; + public int l; + public byte[] m = new byte[0]; + public byte[] n = new byte[0]; + public byte[] o = new byte[0]; + public byte[] p = new byte[0]; + public int q; + public int r; + public long s; + public byte[] t; + public byte[] u; + public byte[] y = new byte[0]; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.a.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/a.java new file mode 100755 index 00000000000..ee9f32f9e70 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/a.java @@ -0,0 +1,199 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class a +{ + int a = 128; + int b = 0; + int c = 0; + int d = 4; + int e = 0; + byte[] f = new byte[this.a]; + int g = 0; + + public a() {} + + public a(int paramInt) + { + this.g = paramInt; + } + + int a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3) + { + paramInt2 = paramArrayOfByte.length; + for (;;) + { + if ((paramInt1 >= paramInt2) || (paramInt1 + 2 > paramInt2)) {} + do + { + return -1; + if (util.buf_to_int16(paramArrayOfByte, paramInt1) == paramInt3) { + return paramInt1; + } + paramInt1 += 2; + } while (paramInt1 + 2 > paramInt2); + paramInt1 += util.buf_to_int16(paramArrayOfByte, paramInt1) + 2; + } + } + + public int a(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + int i = a(paramArrayOfByte1, paramInt1, paramInt2, this.g); + if (i < 0) { + return -1; + } + paramInt1 = paramInt2 - (i - paramInt1); + byte[] arrayOfByte = new byte[paramInt1]; + System.arraycopy(paramArrayOfByte1, i, arrayOfByte, 0, paramInt1); + return a(arrayOfByte, paramInt1, paramArrayOfByte2); + } + + int a(byte[] paramArrayOfByte1, int paramInt, byte[] paramArrayOfByte2) + { + if (this.d >= paramInt) {} + do + { + return -1; + this.e = util.buf_to_int16(paramArrayOfByte1, 2); + } while (this.d + this.e > paramInt); + paramArrayOfByte2 = cryptor.decrypt(paramArrayOfByte1, this.d, this.e, paramArrayOfByte2); + if (paramArrayOfByte2 == null) { + return -1015; + } + if (this.d + paramArrayOfByte2.length > this.a) + { + this.a = (this.d + paramArrayOfByte2.length); + this.f = new byte[this.a]; + } + this.b = 0; + System.arraycopy(paramArrayOfByte1, 0, this.f, 0, this.d); + this.b += this.d; + System.arraycopy(paramArrayOfByte2, 0, this.f, this.b, paramArrayOfByte2.length); + this.b += paramArrayOfByte2.length; + this.e = paramArrayOfByte2.length; + if (!e().booleanValue()) { + return -1005; + } + return 0; + } + + public void a(int paramInt) + { + util.int16_to_buf(this.f, this.b, paramInt); + this.b += 2; + util.int16_to_buf(this.f, this.b, 0); + this.b += 2; + } + + public void a(byte[] paramArrayOfByte, int paramInt) + { + if (this.d + paramInt > this.a) + { + this.a = (this.d + paramInt + 128); + byte[] arrayOfByte = new byte[this.a]; + System.arraycopy(this.f, 0, arrayOfByte, 0, this.d); + this.f = arrayOfByte; + } + this.b = (this.d + paramInt); + System.arraycopy(paramArrayOfByte, 0, this.f, this.d, paramInt); + this.e = paramInt; + util.int16_to_buf(this.f, 0, this.g); + util.int16_to_buf(this.f, 2, this.e); + } + + public void a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + if (paramInt2 > this.a) + { + this.a = (paramInt2 + 128); + this.f = new byte[this.a]; + } + this.b = paramInt2; + System.arraycopy(paramArrayOfByte, paramInt1, this.f, 0, paramInt2); + this.g = util.buf_to_int16(paramArrayOfByte, paramInt1); + this.e = (paramInt2 - this.d); + } + + public byte[] a() + { + byte[] arrayOfByte = new byte[this.b]; + System.arraycopy(this.f, 0, arrayOfByte, 0, this.b); + return arrayOfByte; + } + + public int b(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + int i = a(paramArrayOfByte, paramInt1, paramInt2, this.g); + if (i < 0) {} + do + { + do + { + return -1; + paramInt1 = paramInt2 - (i - paramInt1); + } while (this.d >= paramInt1); + this.e = util.buf_to_int16(paramArrayOfByte, i + 2); + } while (this.d + this.e > paramInt1); + a(paramArrayOfByte, i, this.d + this.e); + if (!e().booleanValue()) { + return -1005; + } + return this.d + i + this.e; + } + + public void b(byte[] paramArrayOfByte, int paramInt) + { + if (paramInt > this.a - this.d) + { + this.a = (this.d + paramInt + 64); + byte[] arrayOfByte = new byte[this.a]; + System.arraycopy(this.f, 0, arrayOfByte, 0, this.b); + this.f = arrayOfByte; + } + this.e = paramInt; + System.arraycopy(paramArrayOfByte, 0, this.f, this.b, paramInt); + this.b += paramInt; + } + + public byte[] b() + { + byte[] arrayOfByte = new byte[this.e]; + System.arraycopy(this.f, this.d, arrayOfByte, 0, this.e); + return arrayOfByte; + } + + public int c() + { + return this.e; + } + + public int c(byte[] paramArrayOfByte, int paramInt) + { + if (paramArrayOfByte != null) + { + if (paramArrayOfByte.length > paramInt) { + return paramInt; + } + return paramArrayOfByte.length; + } + return 0; + } + + public void d() + { + util.int16_to_buf(this.f, 2, this.b - this.d); + } + + public Boolean e() + { + return Boolean.valueOf(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aa.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aa.java new file mode 100755 index 00000000000..9177827ea81 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aa.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class aa + extends a +{ + public aa() + { + this.g = 289; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.aa + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ab.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ab.java new file mode 100755 index 00000000000..8d3f8be233e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ab.java @@ -0,0 +1,75 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ab + extends a +{ + int h = 0; + + public ab() + { + this.g = 292; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfByte3 = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + paramArrayOfByte3 = new byte[0]; + } + paramArrayOfByte4 = paramArrayOfByte5; + if (paramArrayOfByte5 == null) { + paramArrayOfByte4 = new byte[0]; + } + int n = c(arrayOfByte, 16); + int m = c(paramArrayOfByte1, 16); + int k = c(paramArrayOfByte2, 16); + int j = c(paramArrayOfByte3, 32); + int i = c(paramArrayOfByte4, 16); + this.h = (n + 2 + 2 + m + 2 + 2 + k + 2 + j + 2 + i); + paramArrayOfByte5 = new byte[this.h]; + util.int16_to_buf(paramArrayOfByte5, 0, n); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte5, 2, n); + n += 2; + util.int16_to_buf(paramArrayOfByte5, n, m); + n += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte5, n, m); + m = n + m; + util.int16_to_buf(paramArrayOfByte5, m, paramInt); + paramInt = m + 2; + util.int16_to_buf(paramArrayOfByte5, paramInt, k); + paramInt += 2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte5, paramInt, k); + paramInt += k; + util.int16_to_buf(paramArrayOfByte5, paramInt, j); + paramInt += 2; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte5, paramInt, j); + paramInt += j; + util.int16_to_buf(paramArrayOfByte5, paramInt, i); + paramInt += 2; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte5, paramInt, i); + a(this.g); + b(paramArrayOfByte5, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ab + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ac.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ac.java new file mode 100755 index 00000000000..f3e5f63e2ba --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ac.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ac + extends a +{ + int h = 0; + int i = 0; + + public ac() + { + this.g = 293; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d); + if (this.e < this.h + 2 + 2) { + return Boolean.valueOf(false); + } + this.i = util.buf_to_int16(this.f, this.d + 2 + this.h); + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 2 + this.h + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ac + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ad.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ad.java new file mode 100755 index 00000000000..9e72b046f6e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ad.java @@ -0,0 +1,42 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ad + extends a +{ + int h = 0; + + public ad() + { + this.g = 294; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + if (this.e < 4) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d + 2); + if (this.h + 2 + 2 > this.e) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2 + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ad + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ae.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ae.java new file mode 100755 index 00000000000..64799e38369 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ae.java @@ -0,0 +1,39 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ae + extends a +{ + int h = 0; + int i = 0; + + public ae() + { + this.g = 295; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + this.h = (paramArrayOfByte1.length + 4 + 2 + paramArrayOfByte2.length); + byte[] arrayOfByte = new byte[this.h]; + util.int16_to_buf(arrayOfByte, 0, this.i); + util.int16_to_buf(arrayOfByte, 2, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 4, paramArrayOfByte1.length); + int j = paramArrayOfByte1.length + 4; + util.int16_to_buf(arrayOfByte, j, paramArrayOfByte2.length); + j += 2; + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, j, paramArrayOfByte2.length); + j = paramArrayOfByte2.length; + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ae + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/af.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/af.java new file mode 100755 index 00000000000..4a4d23c0697 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/af.java @@ -0,0 +1,60 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class af + extends a +{ + int h = 0; + + public af() + { + this.g = 296; + } + + public byte[] a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[0]; + } + int k = c(arrayOfByte, 32); + int j = c(paramArrayOfByte1, 16); + int i = c(paramArrayOfByte2, 16); + this.h = (k + 11 + 2 + j + 2 + i); + paramArrayOfByte3 = new byte[this.h]; + util.int16_to_buf(paramArrayOfByte3, 0, 0); + util.int8_to_buf(paramArrayOfByte3, 2, paramInt1); + util.int8_to_buf(paramArrayOfByte3, 3, paramInt2); + util.int8_to_buf(paramArrayOfByte3, 4, paramInt3); + util.int32_to_buf(paramArrayOfByte3, 5, paramInt4); + util.int16_to_buf(paramArrayOfByte3, 9, k); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte3, 11, k); + paramInt1 = k + 11; + util.int16_to_buf(paramArrayOfByte3, paramInt1, j); + paramInt1 += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, paramInt1, j); + paramInt1 += j; + util.int16_to_buf(paramArrayOfByte3, paramInt1, i); + paramInt1 += 2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, paramInt1, i); + a(this.g); + b(paramArrayOfByte3, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.af + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ag.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ag.java new file mode 100755 index 00000000000..a5ee4f53240 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ag.java @@ -0,0 +1,38 @@ +package oicq.wlogin_sdk.b; + +public class ag + extends a +{ + public ag() + { + this.g = 304; + } + + public Boolean e() + { + if (this.e < 14) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[4]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[4]; + System.arraycopy(this.f, this.d + 2 + 4, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ag + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ah.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ah.java new file mode 100755 index 00000000000..0779bfc7c01 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ah.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ah + extends a +{ + int h = 0; + int i = 0; + + public ah() + { + this.g = 306; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d); + if (this.h + 2 + 4 + 2 > this.e) { + return Boolean.valueOf(false); + } + this.i = util.buf_to_int16(this.f, this.d + 2 + this.h + 4); + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 2 + this.h + 4 + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ah + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ai.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ai.java new file mode 100755 index 00000000000..a28f91de65a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ai.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class ai + extends a +{ + public ai() + { + this.g = 310; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ai + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aj.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aj.java new file mode 100755 index 00000000000..7bfda52b33e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aj.java @@ -0,0 +1,192 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class aj + extends a +{ + public int h = 0; + + public aj() + { + this.g = 312; + } + + public Boolean e() + { + if (this.e < 4) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int32(this.f, this.d); + if (this.e < this.h * 10 + 4) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public int f() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 266) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int g() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 284) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int h() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 288) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int i() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 310) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int j() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 258) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int k() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 259) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int l() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 323) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } + + public int m() + { + int k = 0; + int i = 0; + for (;;) + { + int j = k; + if (i < this.h) + { + if (util.buf_to_int16(this.f, this.d + 4 + i * 10) == 356) { + j = util.buf_to_int32(this.f, i * 10 + (this.d + 4) + 2); + } + } + else { + return j; + } + i += 1; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.aj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ak.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ak.java new file mode 100755 index 00000000000..d09c53ca782 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ak.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ak + extends a +{ + int h = 1; + + public ak() + { + this.g = 321; + } + + public byte[] b(byte[] paramArrayOfByte1, int paramInt, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + int i = arrayOfByte.length + 4 + 2 + 2 + paramArrayOfByte1.length; + paramArrayOfByte2 = new byte[i]; + util.int16_to_buf(paramArrayOfByte2, 0, this.h); + util.int16_to_buf(paramArrayOfByte2, 2, arrayOfByte.length); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte2, 4, arrayOfByte.length); + int j = arrayOfByte.length + 4; + util.int16_to_buf(paramArrayOfByte2, j, paramInt); + paramInt = j + 2; + util.int16_to_buf(paramArrayOfByte2, paramInt, paramArrayOfByte1.length); + paramInt += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, paramInt, paramArrayOfByte1.length); + paramInt = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte2, i); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ak + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/al.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/al.java new file mode 100755 index 00000000000..f3361f1aa8b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/al.java @@ -0,0 +1,39 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class al + extends a +{ + int h = 0; + int i = 0; + + public al() + { + this.g = 322; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + int j = c(arrayOfByte, 32); + this.i = (j + 4); + paramArrayOfByte = new byte[this.i]; + util.int16_to_buf(paramArrayOfByte, 0, this.h); + util.int16_to_buf(paramArrayOfByte, 2, j); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 4, j); + a(this.g); + b(paramArrayOfByte, paramArrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.al + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/am.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/am.java new file mode 100755 index 00000000000..aa1751682e5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/am.java @@ -0,0 +1,29 @@ +package oicq.wlogin_sdk.b; + +public class am + extends a +{ + public int h = 0; + + public am() + { + this.g = 323; + } + + public byte[] a(byte[] paramArrayOfByte) + { + this.h = paramArrayOfByte.length; + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 0, paramArrayOfByte.length); + a(this.g); + b(arrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.am + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/an.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/an.java new file mode 100755 index 00000000000..97873f8452e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/an.java @@ -0,0 +1,279 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class an + extends a +{ + public int h = 0; + + public an() + { + this.g = 324; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5) + { + int m; + int k; + if ((paramArrayOfByte1 != null) && (paramArrayOfByte1.length > 0)) + { + m = 0 + paramArrayOfByte1.length; + k = 1; + } + for (;;) + { + int i = k; + int j = m; + if (paramArrayOfByte2 != null) + { + i = k; + j = m; + if (paramArrayOfByte2.length > 0) + { + j = m + paramArrayOfByte2.length; + i = k + 1; + } + } + k = i; + m = j; + if (paramArrayOfByte3 != null) + { + k = i; + m = j; + if (paramArrayOfByte3.length > 0) + { + m = j + paramArrayOfByte3.length; + k = i + 1; + } + } + j = k; + i = m; + if (paramArrayOfByte4 != null) + { + j = k; + i = m; + if (paramArrayOfByte4.length > 0) + { + i = m + paramArrayOfByte4.length; + j = k + 1; + } + } + byte[] arrayOfByte = new byte[i + 2]; + util.int16_to_buf(arrayOfByte, 0, j); + j = 2; + i = j; + if (paramArrayOfByte1 != null) + { + i = j; + if (paramArrayOfByte1.length > 0) + { + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 2, paramArrayOfByte1.length); + i = paramArrayOfByte1.length + 2; + } + } + j = i; + if (paramArrayOfByte2 != null) + { + j = i; + if (paramArrayOfByte2.length > 0) + { + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, i, paramArrayOfByte2.length); + j = i + paramArrayOfByte2.length; + } + } + i = j; + if (paramArrayOfByte3 != null) + { + i = j; + if (paramArrayOfByte3.length > 0) + { + System.arraycopy(paramArrayOfByte3, 0, arrayOfByte, j, paramArrayOfByte3.length); + i = j + paramArrayOfByte3.length; + } + } + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length > 0)) + { + System.arraycopy(paramArrayOfByte4, 0, arrayOfByte, i, paramArrayOfByte4.length); + i = paramArrayOfByte4.length; + } + paramArrayOfByte1 = cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, paramArrayOfByte5); + this.h = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte1, paramArrayOfByte1.length); + d(); + return a(); + k = 0; + m = 0; + } + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8) + { + int m; + int k; + if ((paramArrayOfByte1 != null) && (paramArrayOfByte1.length > 0)) + { + m = 0 + paramArrayOfByte1.length; + k = 1; + } + for (;;) + { + int i = k; + int j = m; + if (paramArrayOfByte2 != null) + { + i = k; + j = m; + if (paramArrayOfByte2.length > 0) + { + j = m + paramArrayOfByte2.length; + i = k + 1; + } + } + k = i; + m = j; + if (paramArrayOfByte3 != null) + { + k = i; + m = j; + if (paramArrayOfByte3.length > 0) + { + m = j + paramArrayOfByte3.length; + k = i + 1; + } + } + i = k; + j = m; + if (paramArrayOfByte4 != null) + { + i = k; + j = m; + if (paramArrayOfByte4.length > 0) + { + j = m + paramArrayOfByte4.length; + i = k + 1; + } + } + k = i; + m = j; + if (paramArrayOfByte5 != null) + { + k = i; + m = j; + if (paramArrayOfByte5.length > 0) + { + m = j + paramArrayOfByte5.length; + k = i + 1; + } + } + i = k; + j = m; + if (paramArrayOfByte6 != null) + { + i = k; + j = m; + if (paramArrayOfByte6.length > 0) + { + j = m + paramArrayOfByte6.length; + i = k + 1; + } + } + m = i; + k = j; + if (paramArrayOfByte7 != null) + { + m = i; + k = j; + if (paramArrayOfByte7.length > 0) + { + k = j + paramArrayOfByte7.length; + m = i + 1; + } + } + byte[] arrayOfByte = new byte[k + 2]; + util.int16_to_buf(arrayOfByte, 0, m); + j = 2; + i = j; + if (paramArrayOfByte1 != null) + { + i = j; + if (paramArrayOfByte1.length > 0) + { + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 2, paramArrayOfByte1.length); + i = paramArrayOfByte1.length + 2; + } + } + j = i; + if (paramArrayOfByte2 != null) + { + j = i; + if (paramArrayOfByte2.length > 0) + { + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, i, paramArrayOfByte2.length); + j = i + paramArrayOfByte2.length; + } + } + i = j; + if (paramArrayOfByte3 != null) + { + i = j; + if (paramArrayOfByte3.length > 0) + { + System.arraycopy(paramArrayOfByte3, 0, arrayOfByte, j, paramArrayOfByte3.length); + i = j + paramArrayOfByte3.length; + } + } + j = i; + if (paramArrayOfByte4 != null) + { + j = i; + if (paramArrayOfByte4.length > 0) + { + System.arraycopy(paramArrayOfByte4, 0, arrayOfByte, i, paramArrayOfByte4.length); + j = i + paramArrayOfByte4.length; + } + } + i = j; + if (paramArrayOfByte5 != null) + { + i = j; + if (paramArrayOfByte5.length > 0) + { + System.arraycopy(paramArrayOfByte5, 0, arrayOfByte, j, paramArrayOfByte5.length); + i = j + paramArrayOfByte5.length; + } + } + j = i; + if (paramArrayOfByte6 != null) + { + j = i; + if (paramArrayOfByte6.length > 0) + { + System.arraycopy(paramArrayOfByte6, 0, arrayOfByte, i, paramArrayOfByte6.length); + j = i + paramArrayOfByte6.length; + } + } + if ((paramArrayOfByte7 != null) && (paramArrayOfByte7.length > 0)) + { + System.arraycopy(paramArrayOfByte7, 0, arrayOfByte, j, paramArrayOfByte7.length); + i = paramArrayOfByte7.length; + } + paramArrayOfByte1 = cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, paramArrayOfByte8); + this.h = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte1, paramArrayOfByte1.length); + d(); + return a(); + k = 0; + m = 0; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.an + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ao.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ao.java new file mode 100755 index 00000000000..5c18be7cda1 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ao.java @@ -0,0 +1,34 @@ +package oicq.wlogin_sdk.b; + +public class ao + extends a +{ + public int h = 0; + + public ao() + { + this.g = 325; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + int i = arrayOfByte.length; + a(this.g); + b(paramArrayOfByte, paramArrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ao + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ap.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ap.java new file mode 100755 index 00000000000..329d9b9414a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ap.java @@ -0,0 +1,71 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ap + extends a +{ + public int h = 0; + public int i = 0; + public int j = 0; + + public ap() + { + this.g = 326; + } + + public Boolean e() + { + if (this.e < 12) { + return Boolean.valueOf(false); + } + int k = util.buf_to_int16(this.f, this.d + 4); + if (this.e < k + 12) { + return Boolean.valueOf(false); + } + this.h = k; + k = util.buf_to_int16(this.f, this.d + 6 + this.h); + if (this.e < this.h + 12 + k) { + return Boolean.valueOf(false); + } + this.i = k; + k = util.buf_to_int16(this.f, this.d + 10 + this.h + this.i); + if (this.e < this.h + 12 + this.i + k) { + return Boolean.valueOf(false); + } + this.j = k; + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 6, arrayOfByte, 0, this.h); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 8 + this.h, arrayOfByte, 0, this.i); + return arrayOfByte; + } + + public int h() + { + return util.buf_to_int16(this.f, this.d + 8 + this.h + this.i); + } + + public byte[] i() + { + byte[] arrayOfByte = new byte[this.j]; + System.arraycopy(this.f, this.d + 12 + this.h + this.i, arrayOfByte, 0, this.j); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ap + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aq.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aq.java new file mode 100755 index 00000000000..57303d07e7e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aq.java @@ -0,0 +1,44 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class aq + extends a +{ + public aq() + { + this.g = 327; + } + + public byte[] a(long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + int j = c(arrayOfByte, 32); + int i = c(paramArrayOfByte1, 32); + paramArrayOfByte2 = new byte[j + 6 + 2 + i]; + util.int64_to_buf32(paramArrayOfByte2, 0, paramLong); + util.int16_to_buf(paramArrayOfByte2, 4, j); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte2, 6, j); + j += 6; + util.int16_to_buf(paramArrayOfByte2, j, i); + j += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, j, i); + a(this.g); + b(paramArrayOfByte2, paramArrayOfByte2.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.aq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ar.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ar.java new file mode 100755 index 00000000000..647332830c7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ar.java @@ -0,0 +1,58 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ar + extends a +{ + public ar() + { + this.g = 328; + } + + public byte[] a(byte[] paramArrayOfByte1, long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[0]; + } + int k = c(arrayOfByte, 32); + int j = c(paramArrayOfByte1, 32); + int i = c(paramArrayOfByte2, 32); + paramArrayOfByte3 = new byte[k + 2 + 4 + 4 + 4 + 2 + j + 2 + i]; + util.int16_to_buf(paramArrayOfByte3, 0, k); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte3, 2, k); + k += 2; + util.int64_to_buf32(paramArrayOfByte3, k, paramLong1); + k += 4; + util.int64_to_buf32(paramArrayOfByte3, k, paramLong2); + k += 4; + util.int64_to_buf32(paramArrayOfByte3, k, paramLong3); + k += 4; + util.int16_to_buf(paramArrayOfByte3, k, j); + k += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, k, j); + j = k + j; + util.int16_to_buf(paramArrayOfByte3, j, i); + j += 2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, j, i); + a(this.g); + b(paramArrayOfByte3, paramArrayOfByte3.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ar + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/as.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/as.java new file mode 100755 index 00000000000..cb8267bcb20 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/as.java @@ -0,0 +1,71 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class as + extends a +{ + public int h = 0; + public int i = 0; + public int j = 0; + + public as() + { + this.g = 329; + } + + public Boolean e() + { + if (this.e < 8) { + return Boolean.valueOf(false); + } + int k = util.buf_to_int16(this.f, this.d + 2); + if (this.e < k + 8) { + return Boolean.valueOf(false); + } + this.h = k; + k = util.buf_to_int16(this.f, this.d + 2 + 2 + this.h); + if (this.e < this.h + 8 + k) { + return Boolean.valueOf(false); + } + this.i = k; + k = util.buf_to_int16(this.f, this.d + 2 + 2 + this.h + 2 + this.i); + if (this.e < this.h + 8 + this.i + k) { + return Boolean.valueOf(false); + } + this.j = k; + return Boolean.valueOf(true); + } + + public int f() + { + return util.buf_to_int16(this.f, this.d); + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2 + 2, arrayOfByte, 0, this.h); + return arrayOfByte; + } + + public byte[] h() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 2 + 2 + this.h + 2, arrayOfByte, 0, this.i); + return arrayOfByte; + } + + public byte[] i() + { + byte[] arrayOfByte = new byte[this.j]; + System.arraycopy(this.f, this.d + 2 + 2 + this.h + 2 + this.i + 2, arrayOfByte, 0, this.j); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.as + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/at.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/at.java new file mode 100755 index 00000000000..1119fc66793 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/at.java @@ -0,0 +1,43 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class at + extends a +{ + public int h = 0; + + public at() + { + this.g = 336; + } + + public Boolean e() + { + if (this.e < 7) { + return Boolean.valueOf(false); + } + int i = util.buf_to_int16(this.f, this.d + 5); + if (this.e < i + 7) { + return Boolean.valueOf(false); + } + this.h = i; + return Boolean.valueOf(true); + } + + public int f() + { + return util.buf_to_int32(this.f, this.d); + } + + public byte g() + { + return (byte)(util.buf_to_int8(this.f, this.d + 4) & 0xFF); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.at + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/au.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/au.java new file mode 100755 index 00000000000..c2899be8648 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/au.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class au + extends a +{ + public au() + { + this.g = 339; + } + + public byte[] b(int paramInt) + { + byte[] arrayOfByte = new byte[2]; + util.int16_to_buf(arrayOfByte, 0, paramInt); + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.au + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/av.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/av.java new file mode 100755 index 00000000000..254185ce123 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/av.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class av + extends a +{ + public av() + { + this.g = 340; + } + + public byte[] b(int paramInt) + { + byte[] arrayOfByte = new byte[4]; + util.int32_to_buf(arrayOfByte, 0, paramInt); + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.av + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aw.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aw.java new file mode 100755 index 00000000000..43dbb3392a9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/aw.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class aw + extends a +{ + public aw() + { + this.g = 353; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.aw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ax.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ax.java new file mode 100755 index 00000000000..56ab63efe53 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ax.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class ax + extends a +{ + public ax() + { + this.g = 356; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ax + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ay.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ay.java new file mode 100755 index 00000000000..b691933ce65 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ay.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class ay + extends a +{ + public ay() + { + this.g = 357; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ay + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/az.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/az.java new file mode 100755 index 00000000000..ed6b2a115a1 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/az.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class az + extends a +{ + public az() + { + this.g = 358; + } + + public byte[] b(int paramInt) + { + byte[] arrayOfByte = new byte[1]; + util.int8_to_buf(arrayOfByte, 0, paramInt); + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.az + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/b.java new file mode 100755 index 00000000000..7214a125fa5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/b.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class b + extends a +{ + int h = 4; + int i = 14; + int j = 1; + int k = 20; + byte[] l = new byte[2]; + + public b() + { + this.g = 1; + } + + public byte[] a(long paramLong, byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new byte[this.k]; + util.int16_to_buf(arrayOfByte, 0, this.j); + util.int32_to_buf(arrayOfByte, 2, util.get_rand_32()); + util.int32_to_buf(arrayOfByte, 6, (int)paramLong); + util.int64_to_buf32(arrayOfByte, 10, util.get_server_cur_time()); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 14, paramArrayOfByte.length); + int m = paramArrayOfByte.length + 14; + util.int16_to_buf(arrayOfByte, m, 0); + a(this.g); + b(arrayOfByte, this.k); + d(); + return a(); + } + + public Boolean e() + { + if (this.e < 20) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ba.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ba.java new file mode 100755 index 00000000000..43017c53af3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ba.java @@ -0,0 +1,54 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ba + extends a +{ + public int h = 0; + + public ba() + { + this.g = 359; + } + + public Boolean e() + { + if (this.e < 4) { + return Boolean.valueOf(false); + } + int i = util.buf_to_int16(this.f, this.d + 1 + 1); + if (this.e < i + 4) { + return Boolean.valueOf(false); + } + this.h = i; + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[1]; + System.arraycopy(this.f, this.d, arrayOfByte, 0, 1); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[1]; + System.arraycopy(this.f, this.d + 1, arrayOfByte, 0, 1); + return arrayOfByte; + } + + public byte[] h() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 1 + 1 + 2, arrayOfByte, 0, this.h); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ba + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bb.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bb.java new file mode 100755 index 00000000000..4395224b914 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bb.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class bb + extends a +{ + public bb() + { + this.g = 361; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bc.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bc.java new file mode 100755 index 00000000000..4d36eb06901 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bc.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class bc + extends a +{ + int h = 0; + + public bc() + { + this.g = 362; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bd.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bd.java new file mode 100755 index 00000000000..e2763c859be --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bd.java @@ -0,0 +1,75 @@ +package oicq.wlogin_sdk.b; + +import java.util.List; +import oicq.wlogin_sdk.tools.util; + +public class bd + extends a +{ + public bd() + { + this.g = 363; + } + + public byte[] a(List paramList) + { + int k; + int i; + if (paramList != null) + { + k = paramList.size(); + i = 0; + j = 0; + while (j < k) + { + i += 2; + if (paramList.get(j) == null) { + break label198; + } + i = ((String)paramList.get(j)).length() + i; + j += 1; + } + } + for (int j = k;; j = 0) + { + byte[] arrayOfByte1 = new byte[i + 2]; + util.int16_to_buf(arrayOfByte1, 0, j); + if (paramList != null) + { + i = 2; + k = 0; + if (k < j) + { + if (paramList.get(k) != null) + { + byte[] arrayOfByte2 = ((String)paramList.get(k)).getBytes(); + util.int16_to_buf(arrayOfByte1, i, arrayOfByte2.length); + i += 2; + System.arraycopy(arrayOfByte2, 0, arrayOfByte1, i, arrayOfByte2.length); + i = arrayOfByte2.length + i; + } + for (;;) + { + k += 1; + break; + util.int16_to_buf(arrayOfByte1, i, 0); + i += 2; + } + } + } + a(this.g); + b(arrayOfByte1, arrayOfByte1.length); + d(); + return a(); + label198: + break; + i = 0; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/be.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/be.java new file mode 100755 index 00000000000..1d8c4efc0ba --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/be.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class be + extends a +{ + public be() + { + this.g = 364; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.be + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bf.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bf.java new file mode 100755 index 00000000000..01fe9d18ec0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bf.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class bf + extends a +{ + public bf() + { + this.g = 365; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bg.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bg.java new file mode 100755 index 00000000000..b0d2e4eeef4 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bg.java @@ -0,0 +1,37 @@ +package oicq.wlogin_sdk.b; + +public class bg + extends a +{ + int h = 0; + + public bg() + { + this.g = 366; + } + + public byte[] a(byte[] paramArrayOfByte) + { + int i = 64; + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + if (arrayOfByte.length < 64) { + i = arrayOfByte.length; + } + this.h = i; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, this.h); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bh.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bh.java new file mode 100755 index 00000000000..1aec73d46b6 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bh.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class bh + extends a +{ + public bh() + { + this.g = 369; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bh + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bi.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bi.java new file mode 100755 index 00000000000..2626489bd72 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bi.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class bi + extends a +{ + int h = 0; + + public bi() + { + this.g = 370; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bi + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bj.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bj.java new file mode 100755 index 00000000000..a7cf8a3832f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bj.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class bj + extends a +{ + public bj() + { + this.g = 371; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bk.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bk.java new file mode 100755 index 00000000000..80e3a9481dd --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bk.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class bk + extends a +{ + int h = 0; + + public bk() + { + this.g = 372; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bk + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bl.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bl.java new file mode 100755 index 00000000000..69b55afa4e8 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bl.java @@ -0,0 +1,39 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bl + extends a +{ + int h = 0; + + public bl() + { + this.g = 375; + } + + public byte[] a(long paramLong, String paramString) + { + byte[] arrayOfByte = new byte[0]; + if (paramString != null) { + arrayOfByte = paramString.getBytes(); + } + this.h = (arrayOfByte.length + 7); + paramString = new byte[this.h]; + util.int8_to_buf(paramString, 0, 1); + util.int64_to_buf32(paramString, 1, paramLong); + util.int16_to_buf(paramString, 5, arrayOfByte.length); + System.arraycopy(arrayOfByte, 0, paramString, 7, arrayOfByte.length); + int i = arrayOfByte.length; + a(this.g); + b(paramString, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bm.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bm.java new file mode 100755 index 00000000000..f40e4d67dd8 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bm.java @@ -0,0 +1,68 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bm + extends a +{ + public int h = 0; + public int i = 0; + + public bm() + { + this.g = 376; + } + + public Boolean e() + { + if (this.e < 12) { + return Boolean.valueOf(false); + } + int j = util.buf_to_int16(this.f, this.d); + if (this.e < j + 12) { + return Boolean.valueOf(false); + } + this.h = j; + j = util.buf_to_int16(this.f, this.d + 2 + this.h); + if (this.e < this.h + 12 + j) { + return Boolean.valueOf(false); + } + this.i = j; + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, this.h); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 2 + this.h + 2, arrayOfByte, 0, this.i); + return arrayOfByte; + } + + public int h() + { + return util.buf_to_int32(this.f, this.d + 2 + this.h + 2 + this.i); + } + + public int i() + { + return util.buf_to_int16(this.f, this.d + 2 + this.h + 2 + this.i + 4); + } + + public int j() + { + return util.buf_to_int16(this.f, this.d + 2 + this.h + 2 + this.i + 4 + 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bn.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bn.java new file mode 100755 index 00000000000..f4587e1473b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bn.java @@ -0,0 +1,40 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bn + extends a +{ + public int h = 0; + + public bn() + { + this.g = 377; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + int i = util.buf_to_int16(this.f, this.d); + if (this.e < i + 2) { + return Boolean.valueOf(false); + } + this.h = i; + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, this.h); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bo.java new file mode 100755 index 00000000000..7f67853219f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bo.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bo + extends a +{ + public bo() + { + this.g = 378; + } + + public byte[] a(long paramLong) + { + byte[] arrayOfByte = new byte[4]; + util.int64_to_buf32(arrayOfByte, 0, paramLong); + a(this.g); + b(arrayOfByte, 4); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bp.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bp.java new file mode 100755 index 00000000000..5e2614091d0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bp.java @@ -0,0 +1,42 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bp + extends a +{ + public bp() + { + this.g = 379; + } + + public Boolean e() + { + if (this.e < 4) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public int f() + { + if (this.e < 4) { + return 0; + } + return util.buf_to_int16(this.f, this.d); + } + + public int g() + { + if (this.e < 4) { + return 0; + } + return util.buf_to_int16(this.f, this.d + 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bq.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bq.java new file mode 100755 index 00000000000..0ef9d545371 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bq.java @@ -0,0 +1,37 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bq + extends a +{ + int h = 0; + + public bq() + { + this.g = 380; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = (arrayOfByte.length + 2); + paramArrayOfByte = new byte[this.h]; + util.int16_to_buf(paramArrayOfByte, 0, arrayOfByte.length); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 2, arrayOfByte.length); + int i = arrayOfByte.length; + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/br.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/br.java new file mode 100755 index 00000000000..82815ae831f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/br.java @@ -0,0 +1,63 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class br + extends a +{ + public int h = 0; + public int i = 0; + + public br() + { + this.g = 381; + } + + public Boolean e() + { + if (this.e < 8) { + return Boolean.valueOf(false); + } + int j = util.buf_to_int16(this.f, this.d + 2); + if (this.e < j + 8) { + return Boolean.valueOf(false); + } + this.h = j; + j = util.buf_to_int16(this.f, this.d + 2 + 2 + this.h + 2); + if (this.e < this.h + 8 + j) { + return Boolean.valueOf(false); + } + this.i = j; + return Boolean.valueOf(true); + } + + public int f() + { + return util.buf_to_int16(this.f, this.d); + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2 + 2, arrayOfByte, 0, this.h); + return arrayOfByte; + } + + public int h() + { + return util.buf_to_int16(this.f, this.d + 2 + 2 + this.h); + } + + public byte[] i() + { + byte[] arrayOfByte = new byte[this.i]; + System.arraycopy(this.f, this.d + 2 + 2 + this.h + 2 + 2, arrayOfByte, 0, this.i); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.br + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bs.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bs.java new file mode 100755 index 00000000000..41f9137bb13 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bs.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class bs + extends a +{ + public bs() + { + this.g = 382; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bs + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bt.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bt.java new file mode 100755 index 00000000000..307b41d6e7e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bt.java @@ -0,0 +1,38 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bt + extends a +{ + int h = 22; + int i = 1; + int j = 1536; + + public bt() + { + this.g = 24; + } + + public byte[] a(long paramLong1, int paramInt1, long paramLong2, int paramInt2) + { + byte[] arrayOfByte = new byte[this.h]; + util.int16_to_buf(arrayOfByte, 0, this.i); + util.int32_to_buf(arrayOfByte, 2, this.j); + util.int32_to_buf(arrayOfByte, 6, (int)paramLong1); + util.int32_to_buf(arrayOfByte, 10, paramInt1); + util.int32_to_buf(arrayOfByte, 14, (int)paramLong2); + util.int16_to_buf(arrayOfByte, 18, paramInt2); + util.int16_to_buf(arrayOfByte, 20, 0); + a(this.g); + b(arrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bu.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bu.java new file mode 100755 index 00000000000..dac66b8c70b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bu.java @@ -0,0 +1,41 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bu + extends a +{ + int h = 0; + int i = 0; + + public bu() + { + this.g = 386; + } + + public Boolean e() + { + if (this.e < 5) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d + 1); + this.i = util.buf_to_int16(this.f, this.d + 1 + 2); + return Boolean.valueOf(true); + } + + public int f() + { + return this.h; + } + + public int g() + { + return this.i; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bu + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bv.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bv.java new file mode 100755 index 00000000000..b45312f5203 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bv.java @@ -0,0 +1,34 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bv + extends a +{ + long h = 0L; + + public bv() + { + this.g = 387; + } + + public Boolean e() + { + if (this.e < 8) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int64(this.f, this.d); + return Boolean.valueOf(true); + } + + public long f() + { + return this.h; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bv + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bw.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bw.java new file mode 100755 index 00000000000..13bb48607a5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bw.java @@ -0,0 +1,46 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.util; + +public class bw + extends a +{ + byte[] h = new byte[0]; + + public bw() + { + this.g = 388; + } + + public byte[] a(long paramLong, String paramString) + { + paramString = MD5.toMD5Byte(paramString); + int i = paramString.length; + byte[] arrayOfByte = new byte[i + 8]; + System.arraycopy(paramString, 0, arrayOfByte, 0, i); + i = 0 + i; + util.int64_to_buf(arrayOfByte, i, paramLong); + paramString = MD5.toMD5Byte(arrayOfByte); + a(this.g); + b(paramString, paramString.length); + d(); + return a(); + } + + public Boolean e() + { + if (this.e < 16) { + return Boolean.valueOf(false); + } + this.h = new byte[16]; + System.arraycopy(this.f, this.d, this.h, 0, 16); + return Boolean.valueOf(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bw + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bx.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bx.java new file mode 100755 index 00000000000..39c06304d5d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bx.java @@ -0,0 +1,29 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class bx + extends a +{ + public bx() + { + this.g = 389; + } + + public byte[] b(int paramInt) + { + byte[] arrayOfByte = new byte[2]; + util.int8_to_buf(arrayOfByte, 0, 1); + util.int8_to_buf(arrayOfByte, 1, paramInt); + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bx + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/by.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/by.java new file mode 100755 index 00000000000..85d87753ba7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/by.java @@ -0,0 +1,34 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class by + extends a +{ + private int h; + + public by() + { + this.g = 390; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int8(this.f, this.d + 1); + return Boolean.valueOf(true); + } + + public boolean f() + { + return this.h == 1; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.by + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bz.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bz.java new file mode 100755 index 00000000000..cca06c70c68 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/bz.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class bz + extends a +{ + int h = 0; + + public bz() + { + this.g = 391; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[16]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.bz + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/c.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/c.java new file mode 100755 index 00000000000..e8e2b0017f8 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/c.java @@ -0,0 +1,37 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class c + extends a +{ + int h = 1; + int i = 5; + int j = 22; + + public c() + { + this.g = 256; + } + + public byte[] a(long paramLong1, long paramLong2, int paramInt1, int paramInt2) + { + byte[] arrayOfByte = new byte[this.j]; + util.int16_to_buf(arrayOfByte, 0, this.h); + util.int32_to_buf(arrayOfByte, 2, this.i); + util.int32_to_buf(arrayOfByte, 6, (int)paramLong1); + util.int32_to_buf(arrayOfByte, 10, (int)paramLong2); + util.int32_to_buf(arrayOfByte, 14, paramInt1); + util.int32_to_buf(arrayOfByte, 18, paramInt2); + a(this.g); + b(arrayOfByte, this.j); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ca.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ca.java new file mode 100755 index 00000000000..45023ba9805 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ca.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class ca + extends a +{ + int h = 0; + + public ca() + { + this.g = 392; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[16]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ca + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cb.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cb.java new file mode 100755 index 00000000000..34f80c5045a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cb.java @@ -0,0 +1,29 @@ +package oicq.wlogin_sdk.b; + +public class cb + extends a +{ + public cb() + { + this.g = 401; + } + + public byte[] a(boolean paramBoolean) + { + if (paramBoolean) {} + for (int j = 1;; j = 0) + { + int i = (byte)j; + a(this.g); + b(new byte[] { i }, 1); + d(); + return a(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cb + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cc.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cc.java new file mode 100755 index 00000000000..46dffca0a1d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cc.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.b; + +public class cc + extends a +{ + byte[] h = new byte[0]; + + public cc() + { + this.g = 402; + } + + public Boolean e() + { + this.h = new byte[this.e]; + System.arraycopy(this.f, this.d, this.h, 0, this.e); + return Boolean.valueOf(true); + } + + public String f() + { + return new String(this.h); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cc + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cd.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cd.java new file mode 100755 index 00000000000..365860d8a39 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cd.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.b; + +public class cd + extends a +{ + public cd() + { + this.g = 403; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + a(this.g); + b(arrayOfByte, arrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cd + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ce.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ce.java new file mode 100755 index 00000000000..67a1280ddf8 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ce.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class ce + extends a +{ + int h = 0; + + public ce() + { + this.g = 404; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[16]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ce + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cf.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cf.java new file mode 100755 index 00000000000..6bbedb53898 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cf.java @@ -0,0 +1,63 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class cf + extends a +{ + int h = 0; + byte[] i = new byte[0]; + byte[] j = new byte[0]; + + public cf() + { + this.g = 406; + } + + public Boolean e() + { + if (this.e < 5) { + return Boolean.valueOf(false); + } + int k = this.d; + this.h = util.buf_to_int8(this.f, k); + int m = k + 1; + k = util.buf_to_int16(this.f, m); + m += 2; + if (m - this.d + k > this.e) { + return Boolean.valueOf(false); + } + this.i = new byte[k]; + System.arraycopy(this.f, m, this.i, 0, k); + m += k; + k = util.buf_to_int16(this.f, m); + m += 2; + if (m - this.d + k > this.e) { + return Boolean.valueOf(false); + } + this.j = new byte[k]; + System.arraycopy(this.f, m, this.j, 0, k); + return Boolean.valueOf(true); + } + + public int f() + { + return this.h; + } + + public String g() + { + return new String(this.i); + } + + public String h() + { + return new String(this.j); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cf + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cg.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cg.java new file mode 100755 index 00000000000..3dbc8c6c4a0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cg.java @@ -0,0 +1,56 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class cg + extends a +{ + byte[] h = new byte[0]; + byte[] i = new byte[0]; + + public cg() + { + this.g = 409; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + int j = util.buf_to_int16(this.f, this.d + 0); + if (this.e < j + 2) { + return Boolean.valueOf(false); + } + this.h = new byte[j]; + System.arraycopy(this.f, this.d + 2, this.h, 0, j); + int k = j + 2; + if (this.e < k + 2) { + return Boolean.valueOf(false); + } + j = util.buf_to_int16(this.f, this.d + k); + k += 2; + if (this.e < k + j) { + return Boolean.valueOf(false); + } + this.i = new byte[j]; + System.arraycopy(this.f, this.d + k, this.i, 0, j); + return Boolean.valueOf(true); + } + + public byte[] f() + { + return this.h; + } + + public byte[] g() + { + return this.i; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ch.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ch.java new file mode 100755 index 00000000000..a9e6f1403f5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ch.java @@ -0,0 +1,47 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ch + extends a +{ + int h = 0; + int i = 0; + + public ch() + { + this.g = 2; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + this.h = (arrayOfByte.length + 6 + paramArrayOfByte1.length); + paramArrayOfByte2 = new byte[this.h]; + util.int16_to_buf(paramArrayOfByte2, 0, this.i); + util.int16_to_buf(paramArrayOfByte2, 2, arrayOfByte.length); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte2, 4, arrayOfByte.length); + int j = arrayOfByte.length + 4; + util.int16_to_buf(paramArrayOfByte2, j, paramArrayOfByte1.length); + j += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, j, paramArrayOfByte1.length); + j = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte2, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ch + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ci.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ci.java new file mode 100755 index 00000000000..928e00690de --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ci.java @@ -0,0 +1,56 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ci + extends a +{ + byte[] h = new byte[0]; + byte[] i = new byte[0]; + + public ci() + { + this.g = 512; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + int j = util.buf_to_int16(this.f, this.d + 0); + if (this.e < j + 2) { + return Boolean.valueOf(false); + } + this.h = new byte[j]; + System.arraycopy(this.f, this.d + 2, this.h, 0, j); + int k = j + 2; + if (this.e < k + 2) { + return Boolean.valueOf(false); + } + j = util.buf_to_int16(this.f, this.d + k); + k += 2; + if (this.e < k + j) { + return Boolean.valueOf(false); + } + this.i = new byte[j]; + System.arraycopy(this.f, this.d + k, this.i, 0, j); + return Boolean.valueOf(true); + } + + public byte[] f() + { + return this.h; + } + + public byte[] g() + { + return this.i; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ci + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cj.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cj.java new file mode 100755 index 00000000000..c5eedbdfc2b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cj.java @@ -0,0 +1,55 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class cj + extends a +{ + public cj() + { + this.g = 513; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4) + { + byte[] arrayOfByte = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte4 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte4 = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + paramArrayOfByte2 = new byte[0]; + } + int i = paramArrayOfByte2.length + 2 + 2 + paramArrayOfByte4.length + 2 + paramArrayOfByte3.length + 2 + arrayOfByte.length; + paramArrayOfByte1 = new byte[i]; + util.int16_to_buf(paramArrayOfByte1, 0, paramArrayOfByte2.length); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, 2, paramArrayOfByte2.length); + int j = paramArrayOfByte2.length + 2; + util.int16_to_buf(paramArrayOfByte1, j, paramArrayOfByte4.length); + j += 2; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte1, j, paramArrayOfByte4.length); + j += paramArrayOfByte4.length; + util.int16_to_buf(paramArrayOfByte1, j, paramArrayOfByte3.length); + j += 2; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte1, j, paramArrayOfByte3.length); + j += paramArrayOfByte3.length; + util.int16_to_buf(paramArrayOfByte1, j, arrayOfByte.length); + j += 2; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte1, j, arrayOfByte.length); + j = arrayOfByte.length; + a(this.g); + b(paramArrayOfByte1, i); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cj + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ck.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ck.java new file mode 100755 index 00000000000..f708a57442a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/ck.java @@ -0,0 +1,43 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class ck + extends a +{ + public ck() + { + this.g = 514; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[16]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + int j = c(arrayOfByte, 16); + int i = c(paramArrayOfByte1, 32); + paramArrayOfByte2 = new byte[j + 2 + 2 + i]; + util.int16_to_buf(paramArrayOfByte2, 0, j); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte2, 2, j); + j += 2; + util.int16_to_buf(paramArrayOfByte2, j, i); + j += 2; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, j, i); + a(this.g); + b(paramArrayOfByte2, paramArrayOfByte2.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.ck + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cl.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cl.java new file mode 100755 index 00000000000..d9260558314 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cl.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class cl + extends a +{ + public cl() + { + this.g = 773; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cl + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cm.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cm.java new file mode 100755 index 00000000000..895de4b92b8 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cm.java @@ -0,0 +1,64 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class cm + extends a +{ + int h = 1; + int i = 0; + + public cm() + { + this.g = 1024; + } + + public byte[] a(byte[] paramArrayOfByte1, long paramLong1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2, long paramLong3, byte[] paramArrayOfByte4) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[16]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[16]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[16]; + } + paramArrayOfByte3 = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + paramArrayOfByte3 = new byte[8]; + } + this.i = (paramArrayOfByte1.length + 10 + paramArrayOfByte2.length + 4 + 4 + 4 + paramArrayOfByte3.length); + paramArrayOfByte4 = new byte[this.i]; + util.int16_to_buf(paramArrayOfByte4, 0, this.h); + util.int64_to_buf(paramArrayOfByte4, 2, paramLong1); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte4, 10, paramArrayOfByte1.length); + int j = paramArrayOfByte1.length + 10; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte4, j, paramArrayOfByte2.length); + j += paramArrayOfByte2.length; + util.int32_to_buf(paramArrayOfByte4, j, (int)paramLong2); + j += 4; + util.int32_to_buf(paramArrayOfByte4, j, (int)paramLong3); + j += 4; + util.int64_to_buf32(paramArrayOfByte4, j, util.get_server_cur_time()); + j += 4; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte4, j, paramArrayOfByte3.length); + j = paramArrayOfByte3.length; + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte4, 0, paramArrayOfByte4.length, arrayOfByte); + this.i = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte1, paramArrayOfByte1.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cm + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cn.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cn.java new file mode 100755 index 00000000000..b28705867af --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cn.java @@ -0,0 +1,31 @@ +package oicq.wlogin_sdk.b; + +public class cn + extends a +{ + public cn() + { + this.g = 1025; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[16]; + } + paramArrayOfByte = new byte[arrayOfByte.length]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + int i = arrayOfByte.length; + a(this.g); + b(paramArrayOfByte, paramArrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cn + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/co.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/co.java new file mode 100755 index 00000000000..393719a412c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/co.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class co + extends a +{ + public co() + { + this.g = 1026; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.co + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cp.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cp.java new file mode 100755 index 00000000000..b52d449400e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cp.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class cp + extends a +{ + public cp() + { + this.g = 1027; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cq.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cq.java new file mode 100755 index 00000000000..db54a70ef86 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cq.java @@ -0,0 +1,78 @@ +package oicq.wlogin_sdk.b; + +import java.nio.ByteBuffer; + +public class cq + extends a +{ + public static boolean h = true; + public static int i = 1000; + public static byte[] j = new byte[0]; + + public cq() + { + this.g = 1288; + } + + public Boolean e() + { + for (;;) + { + try + { + localObject1 = ByteBuffer.wrap(this.f); + ((ByteBuffer)localObject1).position(this.d); + if (((ByteBuffer)localObject1).get() != 1) { + continue; + } + bool = true; + h = bool; + i = ((ByteBuffer)localObject1).getInt(); + j = new byte[((ByteBuffer)localObject1).getShort()]; + ((ByteBuffer)localObject1).get(j); + if (i == 0) { + i = 1000; + } + if (j == null) { + j = new byte[0]; + } + localObject1 = Boolean.valueOf(true); + } + catch (Exception localException) + { + Object localObject1; + boolean bool; + Boolean localBoolean = Boolean.valueOf(false); + if (i != 0) { + continue; + } + i = 1000; + Object localObject2 = localBoolean; + if (j != null) { + continue; + } + j = new byte[0]; + return localBoolean; + } + finally + { + if (i != 0) { + continue; + } + i = 1000; + if (j != null) { + continue; + } + j = new byte[0]; + } + return localObject1; + bool = false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cq + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cr.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cr.java new file mode 100755 index 00000000000..eb9e764750c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/cr.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class cr + extends a +{ + int h = 0; + + public cr() + { + this.g = 8; + } + + public byte[] a(int paramInt1, int paramInt2, int paramInt3) + { + this.h = 8; + byte[] arrayOfByte = new byte[this.h]; + util.int16_to_buf(arrayOfByte, 0, paramInt1); + util.int32_to_buf(arrayOfByte, 2, paramInt2); + util.int16_to_buf(arrayOfByte, 6, paramInt3); + a(this.g); + b(arrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.cr + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/d.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/d.java new file mode 100755 index 00000000000..19f5d8ccb05 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/d.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class d + extends a +{ + public d() + { + this.g = 258; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/e.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/e.java new file mode 100755 index 00000000000..b1549b06d77 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/e.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class e + extends a +{ + public e() + { + this.g = 259; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/f.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/f.java new file mode 100755 index 00000000000..371f420f7bd --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/f.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class f + extends a +{ + int h = 0; + + public f() + { + this.g = 260; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/g.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/g.java new file mode 100755 index 00000000000..3532c1efd95 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/g.java @@ -0,0 +1,61 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class g + extends a +{ + int h = 0; + int i = 0; + int j = 0; + int k = 0; + + public g() + { + this.g = 261; + } + + public Boolean e() + { + if (this.e < 2) { + return Boolean.valueOf(false); + } + this.i = util.buf_to_int16(this.f, this.d); + if (this.e < this.i + 2 + 2) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d + 2 + this.i); + if (this.e < this.i + 2 + 2 + this.h) { + return Boolean.valueOf(false); + } + this.k = (this.d + 2); + this.j = (this.i + 2 + 2 + this.d); + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[this.h]; + if (this.h <= 0) { + return arrayOfByte; + } + System.arraycopy(this.f, this.j, arrayOfByte, 0, this.h); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[this.i]; + if (this.i <= 0) { + return arrayOfByte; + } + System.arraycopy(this.f, this.k, arrayOfByte, 0, this.i); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/h.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/h.java new file mode 100755 index 00000000000..bb6c0aeff03 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/h.java @@ -0,0 +1,118 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class h + extends a +{ + int h = 4; + int i = 5; + int j = 98; + + public h() + { + this.g = 262; + } + + public byte[] a(long paramLong1, long paramLong2, int paramInt1, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt2, byte[] paramArrayOfByte3, long paramLong4, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, int paramInt3, byte[] paramArrayOfByte6, int paramInt4) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfByte3 = paramArrayOfByte5; + if (paramArrayOfByte5 == null) { + paramArrayOfByte3 = new byte[0]; + } + paramArrayOfByte5 = paramArrayOfByte6; + if (paramArrayOfByte6 == null) { + paramArrayOfByte5 = new byte[0]; + } + paramArrayOfByte6 = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + paramArrayOfByte6 = new byte[0]; + } + this.j += paramArrayOfByte6.length + 2; + paramArrayOfByte4 = new byte[this.j]; + util.int16_to_buf(paramArrayOfByte4, 0, this.h); + util.int32_to_buf(paramArrayOfByte4, 2, util.get_rand_32()); + util.int32_to_buf(paramArrayOfByte4, 6, this.i); + util.int32_to_buf(paramArrayOfByte4, 10, (int)paramLong1); + util.int32_to_buf(paramArrayOfByte4, 14, paramInt1); + if (paramLong3 == 0L) + { + paramLong1 = paramLong4; + util.int64_to_buf(paramArrayOfByte4, 18, paramLong1); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte4, 26, arrayOfByte.length); + paramInt1 = arrayOfByte.length + 26; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte4, paramInt1, paramArrayOfByte1.length); + paramInt1 += paramArrayOfByte1.length; + util.int8_to_buf(paramArrayOfByte4, paramInt1, paramInt2); + paramInt1 += 1; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte4, paramInt1, paramArrayOfByte2.length); + paramInt1 += paramArrayOfByte2.length; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte4, paramInt1, paramArrayOfByte3.length); + paramInt1 += paramArrayOfByte3.length; + util.int32_to_buf(paramArrayOfByte4, paramInt1, 0); + paramInt1 += 4; + util.int8_to_buf(paramArrayOfByte4, paramInt1, paramInt3); + paramInt1 += 1; + if (paramArrayOfByte5.length != 0) { + break label506; + } + paramArrayOfByte1 = new byte[16]; + util.int32_to_buf(paramArrayOfByte1, 0, util.get_rand_32()); + util.int32_to_buf(paramArrayOfByte1, 4, util.get_rand_32()); + util.int32_to_buf(paramArrayOfByte1, 8, util.get_rand_32()); + util.int32_to_buf(paramArrayOfByte1, 12, util.get_rand_32()); + paramInt1 += paramArrayOfByte1.length; + label358: + util.int64_to_buf32(paramArrayOfByte4, paramInt1, paramLong2); + paramInt1 += 4; + util.int32_to_buf(paramArrayOfByte4, paramInt1, paramInt4); + paramInt1 += 4; + util.int16_to_buf(paramArrayOfByte4, paramInt1, paramArrayOfByte6.length); + System.arraycopy(paramArrayOfByte6, 0, paramArrayOfByte4, paramInt1 + 2, paramArrayOfByte6.length); + paramArrayOfByte1 = new byte[24]; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, 0, paramArrayOfByte2.length); + if (paramLong4 != 0L) { + break label530; + } + util.int64_to_buf(paramArrayOfByte1, 16, paramLong3); + } + for (;;) + { + paramArrayOfByte1 = MD5.toMD5Byte(paramArrayOfByte1); + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte4, 0, paramArrayOfByte4.length, paramArrayOfByte1); + this.j = paramArrayOfByte1.length; + a(this.g); + b(paramArrayOfByte1, this.j); + d(); + return a(); + paramLong1 = paramLong3; + break; + label506: + System.arraycopy(paramArrayOfByte5, 0, paramArrayOfByte4, paramInt1, paramArrayOfByte5.length); + paramInt1 += paramArrayOfByte5.length; + break label358; + label530: + util.int64_to_buf(paramArrayOfByte1, 16, paramLong4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/i.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/i.java new file mode 100755 index 00000000000..40a8e164e32 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/i.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class i + extends a +{ + int h = 6; + + public i() + { + this.g = 263; + } + + public byte[] a(int paramInt1, int paramInt2, int paramInt3, int paramInt4) + { + byte[] arrayOfByte = new byte[this.h]; + util.int16_to_buf(arrayOfByte, 0, paramInt1); + util.int8_to_buf(arrayOfByte, 2, paramInt2); + util.int16_to_buf(arrayOfByte, 3, paramInt3); + util.int8_to_buf(arrayOfByte, 5, paramInt4); + a(this.g); + b(arrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/j.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/j.java new file mode 100755 index 00000000000..59dc3252e96 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/j.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class j + extends a +{ + int h = 0; + + public j() + { + this.g = 264; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/k.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/k.java new file mode 100755 index 00000000000..f0348488373 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/k.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.b; + +public class k + extends a +{ + int h = 0; + + public k() + { + this.g = 265; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[16]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/l.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/l.java new file mode 100755 index 00000000000..a71aa45a21d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/l.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.b; + +public class l + extends a +{ + public l() + { + this.g = 266; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte = new byte[arrayOfByte.length]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + a(this.g); + b(paramArrayOfByte, paramArrayOfByte.length); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/m.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/m.java new file mode 100755 index 00000000000..d28523a6b86 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/m.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class m + extends a +{ + public m() + { + this.g = 267; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/n.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/n.java new file mode 100755 index 00000000000..1ef9e8f3fb4 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/n.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class n + extends a +{ + public n() + { + this.g = 268; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/o.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/o.java new file mode 100755 index 00000000000..fa677cd6684 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/o.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class o + extends a +{ + public o() + { + this.g = 269; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/p.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/p.java new file mode 100755 index 00000000000..86609abbf8f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/p.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class p + extends a +{ + public p() + { + this.g = 270; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/q.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/q.java new file mode 100755 index 00000000000..6a429c20ee1 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/q.java @@ -0,0 +1,34 @@ +package oicq.wlogin_sdk.b; + +public class q + extends a +{ + int h = 0; + + public q() + { + this.g = 274; + } + + public byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + this.h = arrayOfByte.length; + paramArrayOfByte = new byte[this.h]; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, arrayOfByte.length); + int i = arrayOfByte.length; + a(this.g); + b(paramArrayOfByte, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/r.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/r.java new file mode 100755 index 00000000000..bf9fef0068c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/r.java @@ -0,0 +1,23 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class r + extends a +{ + public r() + { + this.g = 275; + } + + public long f() + { + return util.buf_to_int32(this.f, this.d) & 0xFFFFFFFF; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/s.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/s.java new file mode 100755 index 00000000000..bab5a894803 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/s.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class s + extends a +{ + public s() + { + this.g = 276; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/t.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/t.java new file mode 100755 index 00000000000..50a0d1aa97c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/t.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class t + extends a +{ + int h = 0; + int i = 0; + + public t() + { + this.g = 278; + } + + public byte[] a(int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + int j = 0; + long[] arrayOfLong = paramArrayOfLong; + if (paramArrayOfLong == null) { + arrayOfLong = new long[0]; + } + this.h = (arrayOfLong.length * 4 + 10); + paramArrayOfLong = new byte[this.h]; + util.int8_to_buf(paramArrayOfLong, 0, this.i); + util.int32_to_buf(paramArrayOfLong, 1, paramInt1); + util.int32_to_buf(paramArrayOfLong, 5, paramInt2); + util.int8_to_buf(paramArrayOfLong, 9, arrayOfLong.length); + paramInt2 = 10; + paramInt1 = j; + while (paramInt1 < arrayOfLong.length) + { + util.int32_to_buf(paramArrayOfLong, paramInt2, (int)arrayOfLong[paramInt1]); + paramInt2 += 4; + paramInt1 += 1; + } + a(this.g); + b(paramArrayOfLong, this.h); + d(); + return a(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/u.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/u.java new file mode 100755 index 00000000000..aa2553bc13b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/u.java @@ -0,0 +1,21 @@ +package oicq.wlogin_sdk.b; + +public class u + extends a +{ + public u() + { + this.g = 281; + } + + public Boolean e() + { + return Boolean.valueOf(true); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/v.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/v.java new file mode 100755 index 00000000000..677828ef148 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/v.java @@ -0,0 +1,61 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class v + extends a +{ + public int h = 0; + + public v() + { + this.g = 282; + } + + public Boolean e() + { + if (this.e < 5) { + return Boolean.valueOf(false); + } + int i = util.buf_to_int8(this.f, this.d + 2 + 1 + 1); + if (this.e < i + 5) { + return Boolean.valueOf(false); + } + this.h = i; + return Boolean.valueOf(true); + } + + public byte[] f() + { + byte[] arrayOfByte = new byte[2]; + System.arraycopy(this.f, this.d, arrayOfByte, 0, 2); + return arrayOfByte; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[1]; + System.arraycopy(this.f, this.d + 2, arrayOfByte, 0, 1); + return arrayOfByte; + } + + public byte[] h() + { + byte[] arrayOfByte = new byte[1]; + System.arraycopy(this.f, this.d + 2 + 1, arrayOfByte, 0, 1); + return arrayOfByte; + } + + public byte[] i() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 2 + 1 + 1 + 1, arrayOfByte, 0, this.h); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/w.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/w.java new file mode 100755 index 00000000000..b210ca0bdfc --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/w.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class w + extends a +{ + public w() + { + this.g = 284; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/x.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/x.java new file mode 100755 index 00000000000..0b992e3ba36 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/x.java @@ -0,0 +1,52 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class x + extends a +{ + int h = 0; + + public x() + { + this.g = 285; + } + + public Boolean e() + { + if (this.e < 22) { + return Boolean.valueOf(false); + } + this.h = util.buf_to_int16(this.f, this.d + 4 + 16); + this.h &= 0xFFFF; + if (this.e < this.h + 22) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public long f() + { + return util.buf_to_int32(this.f, this.d) & 0xFFFFFFFF; + } + + public byte[] g() + { + byte[] arrayOfByte = new byte[16]; + System.arraycopy(this.f, this.d + 4, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + + public byte[] h() + { + byte[] arrayOfByte = new byte[this.h]; + System.arraycopy(this.f, this.d + 4 + 16 + 2, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/y.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/y.java new file mode 100755 index 00000000000..b0e7cd765d9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/y.java @@ -0,0 +1,31 @@ +package oicq.wlogin_sdk.b; + +import oicq.wlogin_sdk.tools.util; + +public class y + extends a +{ + public y() + { + this.g = 287; + } + + public Boolean e() + { + if (this.e < 8) { + return Boolean.valueOf(false); + } + return Boolean.valueOf(true); + } + + public int f() + { + return util.buf_to_int32(this.f, this.d + 4); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/z.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/z.java new file mode 100755 index 00000000000..72c3f1a0da7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/b/z.java @@ -0,0 +1,16 @@ +package oicq.wlogin_sdk.b; + +public class z + extends a +{ + public z() + { + this.g = 288; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.b.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/a.java new file mode 100755 index 00000000000..2ccb49b9350 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/a.java @@ -0,0 +1,247 @@ +package oicq.wlogin_sdk.code2d; + +import android.content.Context; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.List; +import java.util.TreeMap; +import oicq.wlogin_sdk.request.WloginAllSigInfo; +import oicq.wlogin_sdk.request.j; +import oicq.wlogin_sdk.request.t; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class a + extends b +{ + protected static byte[] a = null; + + public a() + { + this._cmd = 20; + } + + public int a(byte[] paramArrayOfByte, long paramLong, Context paramContext) + { + paramArrayOfByte = get_response(paramArrayOfByte, 0); + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < 11)) { + return -1009; + } + _status.a = util.buf_to_int64(paramArrayOfByte, 2); + _status.b = (util.buf_to_int8(paramArrayOfByte, 10) & 0xFF); + if (_status.b != 0) + { + i = util.buf_to_int16(paramArrayOfByte, 11); + _status.f = new byte[i]; + System.arraycopy(paramArrayOfByte, 13, _status.f, 0, i); + return _status.b; + } + _status.c = (util.buf_to_int32(paramArrayOfByte, 11) & 0xFFFFFFFF); + int i = util.buf_to_int16(paramArrayOfByte, 15); + _status.d = new byte[i]; + System.arraycopy(paramArrayOfByte, 17, _status.d, 0, i); + i += 17; + if (i + 2 + 2 + 1 >= paramArrayOfByte.length) { + return _status.b; + } + int j = util.buf_to_int16(paramArrayOfByte, i); + if (j == 0) { + return _status.b; + } + Object localObject4 = cryptor.decrypt(paramArrayOfByte, i + 2, j, a); + if ((localObject4 == null) || (localObject4.length == 0)) { + return -1014; + } + int k = util.buf_to_int16((byte[])localObject4, 0); + Object localObject1 = null; + Object localObject2 = null; + paramArrayOfByte = null; + j = 2; + i = 0; + Object localObject3; + if (i < k) + { + int m = util.buf_to_int16((byte[])localObject4, j); + int n = j + 2; + j = util.buf_to_int16((byte[])localObject4, n); + n += 2; + switch (m) + { + default: + localObject3 = localObject2; + localObject2 = localObject1; + localObject1 = localObject3; + } + for (;;) + { + i += 1; + j = n + j; + localObject3 = localObject2; + localObject2 = localObject1; + localObject1 = localObject3; + break; + localObject3 = new byte[j]; + System.arraycopy(localObject4, n, localObject3, 0, j); + localObject1 = localObject2; + localObject2 = localObject3; + continue; + paramArrayOfByte = new byte[j]; + System.arraycopy(localObject4, n, paramArrayOfByte, 0, j); + localObject3 = localObject1; + localObject1 = localObject2; + localObject2 = localObject3; + continue; + localObject3 = new byte[j]; + System.arraycopy(localObject4, n, localObject3, 0, j); + localObject2 = localObject1; + localObject1 = localObject3; + } + } + if (c.s) + { + if ((paramArrayOfByte == null) || (localObject1 == null) || (localObject2 == null)) { + return -1009; + } + paramContext = oicq.wlogin_sdk.request.c.a(paramContext, "tk_file"); + if (paramContext == null) { + return -1004; + } + localObject3 = (WloginAllSigInfo)paramContext.get(Long.valueOf(_status.a)); + if (localObject3 == null) { + return -1004; + } + localObject4 = (byte[][])Array.newInstance(Byte.TYPE, new int[] { 5, 0 }); + i = 0; + while (i < 5) + { + localObject4[i] = new byte[0]; + i += 1; + } + localObject4[0] = j.b(localObject1, localObject2); + localObject4[1] = paramArrayOfByte; + ((WloginAllSigInfo)localObject3).put_siginfo(paramLong, (byte[][])localObject4, t.f()); + paramContext.put(Long.valueOf(_status.a), ((WloginAllSigInfo)localObject3).get_clone()); + t.ae.a(paramContext, "tk_file"); + } + return _status.b; + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt, List paramList, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, long paramLong4, long paramLong5) + { + Object localObject = paramList; + if (paramList == null) { + localObject = new ArrayList(); + } + paramArrayOfByte3 = new int[4]; + byte[] tmp25_23 = paramArrayOfByte3; + tmp25_23[0] = 22; + byte[] tmp30_25 = tmp25_23; + tmp30_25[1] = 24; + byte[] tmp35_30 = tmp30_25; + tmp35_30[2] = 25; + byte[] tmp40_35 = tmp35_30; + tmp40_35[3] = 29; + tmp40_35; + paramList = null; + byte[] arrayOfByte; + if ((c.s) && (paramArrayOfByte4.length > 16)) + { + paramList = new byte[paramArrayOfByte4.length - 16]; + arrayOfByte = new byte[16]; + System.arraycopy(paramArrayOfByte4, 0, paramList, 0, paramList.length); + System.arraycopy(paramArrayOfByte4, paramList.length, arrayOfByte, 0, arrayOfByte.length); + a = arrayOfByte; + } + for (paramArrayOfByte4 = paramArrayOfByte3;; paramArrayOfByte4 = new int[0]) + { + paramInt = 0; + if (paramInt < paramArrayOfByte4.length) + { + arrayOfByte = null; + oicq.wlogin_sdk.b.a locala = new oicq.wlogin_sdk.b.a(); + locala.a(paramArrayOfByte4[paramInt]); + paramArrayOfByte3 = arrayOfByte; + switch (paramArrayOfByte4[paramInt]) + { + default: + paramArrayOfByte3 = arrayOfByte; + } + for (;;) + { + if (paramArrayOfByte3 != null) + { + locala.b(paramArrayOfByte3, paramArrayOfByte3.length); + locala.d(); + ((List)tmp35_30).add(locala.a()); + } + paramInt += 1; + break; + paramArrayOfByte3 = getAppInfo(paramLong2, paramLong3); + continue; + paramArrayOfByte3 = paramList; + continue; + paramArrayOfByte3 = paramArrayOfByte5; + continue; + paramArrayOfByte3 = new byte[10]; + util.int8_to_buf(paramArrayOfByte3, 0, 0); + util.int64_to_buf32(paramArrayOfByte3, 1, paramLong4); + util.int64_to_buf32(paramArrayOfByte3, 5, paramLong5); + util.int8_to_buf(paramArrayOfByte3, 9, 0); + } + } + int j = ((List)tmp35_30).size(); + paramInt = paramArrayOfByte1.length + 16 + 2 + paramArrayOfByte2.length + 1 + 2; + int i = 0; + if (i < j) + { + if (((List)tmp35_30).get(i) == null) { + break label582; + } + paramInt = ((byte[])((List)tmp35_30).get(i)).length + paramInt; + } + label579: + label582: + for (;;) + { + i += 1; + break; + paramArrayOfByte3 = new byte[paramInt]; + util.int64_to_buf32(paramArrayOfByte3, 2, paramLong2); + util.int64_to_buf(paramArrayOfByte3, 6, paramLong1); + util.int16_to_buf(paramArrayOfByte3, 14, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, 16, paramArrayOfByte1.length); + paramInt = paramArrayOfByte1.length + 16; + util.int16_to_buf(paramArrayOfByte3, paramInt, paramArrayOfByte2.length); + paramInt += 2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, paramInt, paramArrayOfByte2.length); + paramInt += paramArrayOfByte2.length; + util.int8_to_buf(paramArrayOfByte3, paramInt, 8); + paramInt += 1; + util.int16_to_buf(paramArrayOfByte3, paramInt, j); + paramInt += 2; + i = 0; + if (i < j) + { + paramArrayOfByte1 = (byte[])((List)tmp35_30).get(i); + if (paramArrayOfByte1 == null) { + break label579; + } + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, paramInt, paramArrayOfByte1.length); + paramInt = paramArrayOfByte1.length + paramInt; + } + for (;;) + { + i += 1; + break; + return get_request(paramLong1, true, paramArrayOfByte3); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/b.java new file mode 100755 index 00000000000..94bf2a9874e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/b.java @@ -0,0 +1,83 @@ +package oicq.wlogin_sdk.code2d; + +import oicq.wlogin_sdk.request.t; +import oicq.wlogin_sdk.tools.util; + +public class b +{ + public static int _seq = 0; + public static c _status = new c(); + public static int _version = 50; + public int _cmd = 0; + public int _head_len = 43; + public int _role = 114; + public int _sub_cmd = 0; + + protected int fill_staff(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt) + { + util.int16_to_buf(paramArrayOfByte1, paramInt, paramArrayOfByte2.length); + paramInt += 2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, paramInt, paramArrayOfByte2.length); + return paramInt + paramArrayOfByte2.length; + } + + protected byte[] getAppInfo(long paramLong1, long paramLong2) + { + byte[] arrayOfByte = new byte[28 + (t.C.length + 2 + 2 + t.E.length + 2 + t.F.length)]; + util.int64_to_buf32(arrayOfByte, 0, 5L); + util.int64_to_buf32(arrayOfByte, 4, paramLong1); + util.int64_to_buf32(arrayOfByte, 8, paramLong2); + System.arraycopy(t.y, 0, arrayOfByte, 12, t.y.length); + int i = t.y.length; + i = fill_staff(arrayOfByte, t.C, i + 12); + i = fill_staff(arrayOfByte, t.E, i); + fill_staff(arrayOfByte, t.F, i); + return arrayOfByte; + } + + public int get_cmd() + { + return this._cmd; + } + + protected byte[] get_request(long paramLong, boolean paramBoolean, byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new byte[this._head_len + paramArrayOfByte.length + 1]; + util.int8_to_buf(arrayOfByte, 0, 2); + util.int16_to_buf(arrayOfByte, 1, arrayOfByte.length); + util.int16_to_buf(arrayOfByte, 3, this._cmd); + util.int8_to_buf(arrayOfByte, 26, 3); + if (paramBoolean) { + util.int16_to_buf(arrayOfByte, 27, 0); + } + for (;;) + { + util.int16_to_buf(arrayOfByte, 29, _version); + int i = _seq; + _seq = i + 1; + util.int32_to_buf(arrayOfByte, 31, i); + util.int64_to_buf(arrayOfByte, 35, paramLong); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 43, paramArrayOfByte.length); + i = paramArrayOfByte.length + 43; + util.int8_to_buf(arrayOfByte, i, 3); + return arrayOfByte; + util.int16_to_buf(arrayOfByte, 27, 1); + } + } + + protected byte[] get_response(byte[] paramArrayOfByte, int paramInt) + { + if (paramArrayOfByte.length <= this._head_len) { + return null; + } + byte[] arrayOfByte = new byte[paramArrayOfByte.length - this._head_len]; + System.arraycopy(paramArrayOfByte, this._head_len, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/c.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/c.java new file mode 100755 index 00000000000..34feaec1ec6 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/c.java @@ -0,0 +1,32 @@ +package oicq.wlogin_sdk.code2d; + +import java.util.List; + +public class c +{ + public static byte[] i = new byte[0]; + public static byte[] q = new byte[0]; + public static byte[] r = new byte[0]; + public static boolean s = false; + public long a = 0L; + public int b = 0; + public long c = 0L; + public byte[] d = new byte[0]; + public List e = null; + public byte[] f = new byte[0]; + public byte[] g = new byte[0]; + public long h = 0L; + public byte[] j = new byte[0]; + public long k = 0L; + public int l = 0; + public int m = 0; + public byte[] n = new byte[0]; + public int o = 0; + public byte[] p = new byte[0]; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/d.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/d.java new file mode 100755 index 00000000000..1738a54b132 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/d.java @@ -0,0 +1,91 @@ +package oicq.wlogin_sdk.code2d; + +import java.util.ArrayList; +import java.util.List; +import oicq.wlogin_sdk.request.j; +import oicq.wlogin_sdk.tools.util; + +public class d + extends b +{ + public d() + { + this._cmd = 18; + } + + public int a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte2 = null; + byte[] arrayOfByte3 = get_response(paramArrayOfByte, 0); + if ((arrayOfByte3 == null) || (arrayOfByte3.length < 8)) { + return -1009; + } + _status.h = util.buf_to_int32(arrayOfByte3, 2); + _status.b = util.buf_to_int8(arrayOfByte3, 6); + if (_status.b != 0) { + return _status.b; + } + _status.a = util.buf_to_int64(arrayOfByte3, 7); + _status.c = util.buf_to_int32(arrayOfByte3, 15); + _status.e = new ArrayList(); + int k = util.buf_to_int16(arrayOfByte3, 19); + int i = 21; + int j = 0; + byte[] arrayOfByte1 = null; + paramArrayOfByte = null; + if (j < k) + { + int m = util.buf_to_int16(arrayOfByte3, i); + int n = i + 2; + i = util.buf_to_int16(arrayOfByte3, n); + n += 2; + switch (m) + { + default: + byte[] arrayOfByte4 = new byte[i + 4]; + System.arraycopy(arrayOfByte3, n - 4, arrayOfByte4, 0, arrayOfByte4.length); + _status.e.add(arrayOfByte4); + i = n + i; + } + for (;;) + { + j += 1; + break; + paramArrayOfByte = new byte[i]; + System.arraycopy(arrayOfByte3, n, paramArrayOfByte, 0, i); + i = n + i; + continue; + arrayOfByte2 = new byte[i]; + System.arraycopy(arrayOfByte3, n, arrayOfByte2, 0, i); + i = n + i; + continue; + arrayOfByte1 = new byte[i]; + System.arraycopy(arrayOfByte3, n, arrayOfByte1, 0, i); + i = n + i; + } + } + if ((paramArrayOfByte == null) || (arrayOfByte1 == null) || (arrayOfByte2 == null)) { + return -1009; + } + c.q = j.b(paramArrayOfByte, arrayOfByte1); + c.r = arrayOfByte2; + return _status.b; + } + + public byte[] a(long paramLong1, long paramLong2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + 8 + 8 + 1 + 2 + paramArrayOfByte2.length + 2]; + util.int64_to_buf32(paramArrayOfByte2, 2, paramLong2); + int i = fill_staff(paramArrayOfByte2, paramArrayOfByte1, 6); + util.int64_to_buf(paramArrayOfByte2, i, paramLong1); + i += 8; + util.int8_to_buf(paramArrayOfByte2, i, 8); + return get_request(paramLong1, true, paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/e.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/e.java new file mode 100755 index 00000000000..6eafb7fab52 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/e.java @@ -0,0 +1,171 @@ +package oicq.wlogin_sdk.code2d; + +import java.util.ArrayList; +import java.util.List; +import oicq.wlogin_sdk.tools.util; + +public class e + extends b +{ + public e() + { + this._cmd = 19; + } + + public int a(byte[] paramArrayOfByte) + { + paramArrayOfByte = get_response(paramArrayOfByte, 0); + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < 11)) { + return -1009; + } + _status.a = util.buf_to_int64(paramArrayOfByte, 2); + _status.b = (util.buf_to_int8(paramArrayOfByte, 10) & 0xFF); + if (_status.b != 0) + { + i = util.buf_to_int16(paramArrayOfByte, 11); + _status.f = new byte[i]; + System.arraycopy(paramArrayOfByte, 13, _status.f, 0, i); + return _status.b; + } + _status.c = (util.buf_to_int32(paramArrayOfByte, 11) & 0xFFFFFFFF); + int i = util.buf_to_int16(paramArrayOfByte, 15); + _status.d = new byte[i]; + System.arraycopy(paramArrayOfByte, 17, _status.d, 0, i); + int j = i + 17; + int k = util.buf_to_int16(paramArrayOfByte, j); + _status.g = new byte[0]; + _status.e = new ArrayList(k); + i = 0; + j += 2; + if (i < k) + { + int m = util.buf_to_int16(paramArrayOfByte, j); + int n = util.buf_to_int16(paramArrayOfByte, j + 2); + if (m == 13) + { + _status.g = new byte[n]; + System.arraycopy(paramArrayOfByte, j + 4, _status.g, 0, n); + } + for (;;) + { + j += n + 4; + i += 1; + break; + if (m == 26) + { + if (util.buf_to_int8(paramArrayOfByte, j + 4) == 1) {} + for (boolean bool = true;; bool = false) + { + c.s = bool; + break; + } + } + byte[] arrayOfByte = new byte[n + 4]; + System.arraycopy(paramArrayOfByte, j, arrayOfByte, 0, n + 4); + _status.e.add(arrayOfByte); + } + } + return _status.b; + } + + public byte[] a(long paramLong1, long paramLong2, boolean paramBoolean, byte[] paramArrayOfByte1, int[] paramArrayOfInt, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt, byte[] paramArrayOfByte5) + { + byte[] arrayOfByte = paramArrayOfByte1; + if (paramArrayOfByte1 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte1 = paramArrayOfInt; + if (paramArrayOfInt == null) { + paramArrayOfByte1 = new int[0]; + } + paramArrayOfInt = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfInt = new byte[0]; + } + paramArrayOfByte2 = paramArrayOfByte3; + if (paramArrayOfByte3 == null) { + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfByte3 = paramArrayOfByte4; + if (paramArrayOfByte4 == null) { + paramArrayOfByte3 = new byte[0]; + } + paramArrayOfByte4 = paramArrayOfByte5; + if (paramArrayOfByte5 == null) { + paramArrayOfByte4 = new byte[0]; + } + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length > 0)) + { + paramArrayOfByte5 = new byte[arrayOfByte.length + 16 + 2 + paramArrayOfInt.length + 16 + 1 + 2 + 1 + 2 + paramArrayOfByte1.length * 2 + 2 + 4 + paramArrayOfByte3.length + 4 + paramArrayOfByte4.length]; + util.int64_to_buf32(paramArrayOfByte5, 2, paramLong2); + util.int64_to_buf(paramArrayOfByte5, 6, paramLong1); + util.int16_to_buf(paramArrayOfByte5, 14, arrayOfByte.length); + System.arraycopy(arrayOfByte, 0, paramArrayOfByte5, 16, arrayOfByte.length); + i = arrayOfByte.length + 16; + util.int16_to_buf(paramArrayOfByte5, i, paramArrayOfInt.length); + i += 2; + System.arraycopy(paramArrayOfInt, 0, paramArrayOfByte5, i, paramArrayOfInt.length); + i += paramArrayOfInt.length; + if ((paramArrayOfByte2 == null) || (paramArrayOfByte2.length != 16)) { + break label399; + } + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte5, i, 16); + i += 16; + } + for (;;) + { + util.int8_to_buf(paramArrayOfByte5, i, 1); + i += 1; + util.int16_to_buf(paramArrayOfByte5, i, paramInt); + paramInt = i + 2; + util.int8_to_buf(paramArrayOfByte5, paramInt, 8); + paramInt += 1; + util.int16_to_buf(paramArrayOfByte5, paramInt, paramArrayOfByte1.length); + paramInt += 2; + i = 0; + while (i < paramArrayOfByte1.length) + { + util.int16_to_buf(paramArrayOfByte5, paramInt, paramArrayOfByte1[i]); + paramInt += 2; + i += 1; + } + paramArrayOfByte5 = new byte[arrayOfByte.length + 16 + 2 + paramArrayOfInt.length + 16 + 1 + 2 + 1 + 2 + paramArrayOfByte1.length * 2 + 2 + 4 + paramArrayOfByte3.length]; + break; + label399: + i += 16; + } + int j = 1; + int i = j; + if (paramArrayOfByte4 != null) + { + i = j; + if (paramArrayOfByte4.length > 0) { + i = 2; + } + } + util.int16_to_buf(paramArrayOfByte5, paramInt, i); + paramInt += 2; + util.int16_to_buf(paramArrayOfByte5, paramInt, 9); + paramInt += 2; + util.int16_to_buf(paramArrayOfByte5, paramInt, paramArrayOfByte3.length); + paramInt += 2; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte5, paramInt, paramArrayOfByte3.length); + paramInt += paramArrayOfByte3.length; + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length > 0)) + { + util.int16_to_buf(paramArrayOfByte5, paramInt, 12); + paramInt += 2; + util.int16_to_buf(paramArrayOfByte5, paramInt, paramArrayOfByte4.length); + paramInt += 2; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte5, paramInt, paramArrayOfByte4.length); + paramInt = paramArrayOfByte4.length; + } + return get_request(paramLong1, paramBoolean, paramArrayOfByte5); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/fetch_code.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/fetch_code.java new file mode 100755 index 00000000000..00ec4965fdb --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/code2d/fetch_code.java @@ -0,0 +1,192 @@ +package oicq.wlogin_sdk.code2d; + +import java.util.ArrayList; +import oicq.wlogin_sdk.b.a; +import oicq.wlogin_sdk.request.t; +import oicq.wlogin_sdk.tools.util; + +public class fetch_code + extends b +{ + public fetch_code() + { + this._cmd = 49; + } + + public byte[] get_request(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, QRCodeCustom paramQRCodeCustom, long paramLong4, long paramLong5, byte[] paramArrayOfByte2) + { + int i = paramArrayOfByte1.length; + int[] arrayOfInt = new int[5]; + int[] tmp12_10 = arrayOfInt; + tmp12_10[0] = 17; + int[] tmp17_12 = tmp12_10; + tmp17_12[1] = 22; + int[] tmp22_17 = tmp17_12; + tmp22_17[2] = 27; + int[] tmp27_22 = tmp22_17; + tmp27_22[3] = 29; + int[] tmp32_27 = tmp27_22; + tmp32_27[4] = 31; + tmp32_27; + int n = tmp27_22.length; + ArrayList localArrayList = new ArrayList(); + int j = 0; + int k = i + 17 + 2; + if (j < n) + { + a locala = new a(); + locala.a(tmp27_22[j]); + Object localObject2 = null; + int m = 0; + Object localObject1; + switch (tmp27_22[j]) + { + default: + localObject1 = localObject2; + i = m; + } + for (;;) + { + m = k; + if (localObject1 != null) + { + locala.b((byte[])localObject1, i); + locala.d(); + localObject1 = locala.a(); + m = k + localObject1.length; + localArrayList.add(localObject1); + } + j += 1; + k = m; + break; + i = m; + localObject1 = localObject2; + if (paramArrayOfByte2 != null) + { + i = m; + localObject1 = localObject2; + if (paramArrayOfByte2.length > 0) + { + i = paramArrayOfByte2.length; + util.LOGI("qrpushsig of " + paramLong2, paramLong1 + ""); + localObject1 = paramArrayOfByte2; + continue; + localObject1 = getAppInfo(paramLong2, paramLong3); + i = localObject1.length; + continue; + i = 30; + localObject1 = new byte[30]; + util.int32_to_buf((byte[])localObject1, 0, paramQRCodeCustom.Micro); + util.int32_to_buf((byte[])localObject1, 4, paramQRCodeCustom.Version); + util.int32_to_buf((byte[])localObject1, 8, paramQRCodeCustom.Size); + util.int32_to_buf((byte[])localObject1, 12, paramQRCodeCustom.Margin); + util.int32_to_buf((byte[])localObject1, 16, paramQRCodeCustom.Dpi); + util.int32_to_buf((byte[])localObject1, 20, paramQRCodeCustom.EcLevel); + util.int32_to_buf((byte[])localObject1, 24, paramQRCodeCustom.Hint); + util.int16_to_buf((byte[])localObject1, 28, 0); + continue; + i = 14; + localObject1 = new byte[14]; + util.int8_to_buf((byte[])localObject1, 0, 1); + util.int64_to_buf32((byte[])localObject1, 1, paramLong4); + util.int64_to_buf32((byte[])localObject1, 5, paramLong5); + util.int8_to_buf((byte[])localObject1, 9, 0); + util.int64_to_buf32((byte[])localObject1, 10, 0L); + continue; + i = t.I.length + 3 + 2 + t.H.length + 2 + 2 + t.A.length + 2 + 0 + 2 + t.D.length; + localObject1 = new byte[i]; + util.int8_to_buf((byte[])localObject1, 0, t.X); + m = fill_staff((byte[])localObject1, t.I, 1); + m = fill_staff((byte[])localObject1, t.H, m); + util.int16_to_buf((byte[])localObject1, m, t.B); + m = fill_staff((byte[])localObject1, t.A, m + 2); + m = fill_staff((byte[])localObject1, new byte[0], m); + fill_staff((byte[])localObject1, t.D, m); + } + } + } + } + paramQRCodeCustom = new byte[k]; + util.int64_to_buf32(paramQRCodeCustom, 2, paramLong2); + util.int64_to_buf(paramQRCodeCustom, 6, paramLong1); + util.int8_to_buf(paramQRCodeCustom, 14, 8); + i = fill_staff(paramQRCodeCustom, paramArrayOfByte1, 15); + k = localArrayList.size(); + util.int16_to_buf(paramQRCodeCustom, i, k); + j = i + 2; + i = 0; + while (i < k) + { + paramArrayOfByte1 = (byte[])localArrayList.get(i); + System.arraycopy(paramArrayOfByte1, 0, paramQRCodeCustom, j, paramArrayOfByte1.length); + j += paramArrayOfByte1.length; + i += 1; + } + return get_request(paramLong1, true, paramQRCodeCustom); + } + + public int get_response(byte[] paramArrayOfByte) + { + paramArrayOfByte = get_response(paramArrayOfByte, 0); + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < 11)) { + return -1009; + } + _status.h = util.buf_to_int32(paramArrayOfByte, 2); + _status.b = util.buf_to_int8(paramArrayOfByte, 6); + if (_status.b != 0) + { + i = util.buf_to_int16(paramArrayOfByte, 7); + _status.f = new byte[i]; + System.arraycopy(paramArrayOfByte, 9, _status.f, 0, i); + return _status.b; + } + int i = util.buf_to_int16(paramArrayOfByte, 7); + c.i = new byte[i]; + System.arraycopy(paramArrayOfByte, 9, c.i, 0, i); + i += 9; + int k = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + int j = 0; + if (j < k) + { + int m = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + int n = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + switch (m) + { + } + for (;;) + { + j += 1; + break; + _status.j = new byte[n]; + System.arraycopy(paramArrayOfByte, i, _status.j, 0, n); + i += n; + continue; + _status.k = util.buf_to_int32(paramArrayOfByte, i); + i += 4; + _status.l = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + } + } + return _status.b; + } + + public static class QRCodeCustom + { + public int Dpi = 72; + public int EcLevel = 2; + public int Hint = 2; + public int Margin = 4; + public int Micro = 0; + public int Size = 3; + public int Version = 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.code2d.fetch_code + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockBase.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockBase.java new file mode 100755 index 00000000000..7578de2d1b9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockBase.java @@ -0,0 +1,141 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.request.t; +import oicq.wlogin_sdk.tools.util; + +public class DevlockBase +{ + private static int _seq = 0; + public static DevlockRst rst = new DevlockRst(); + public int Role = 505; + private int _head_len = 110; + protected int _msgType = 0; + private int _version = 32; + + public byte[] _get_request(long paramLong1, long paramLong2, byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new byte[this._head_len + 1 + paramArrayOfByte.length + 1]; + util.int8_to_buf(arrayOfByte, 0, 2); + util.int16_to_buf(arrayOfByte, 1, arrayOfByte.length); + util.int64_to_buf32(arrayOfByte, 3, paramLong1); + util.int16_to_buf(arrayOfByte, 9, this._msgType); + util.int64_to_buf32(arrayOfByte, 11, paramLong2); + int i = _seq; + _seq = i + 1; + util.int32_to_buf(arrayOfByte, 27, i); + util.int16_to_buf(arrayOfByte, 39, t.s); + util.int16_to_buf(arrayOfByte, 43, this._version); + util.int8_to_buf(arrayOfByte, 45, 0); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 111, paramArrayOfByte.length); + i = paramArrayOfByte.length + 111; + util.int8_to_buf(arrayOfByte, i, 3); + return arrayOfByte; + } + + public int get_msgType() + { + return this._msgType; + } + + public int parse_rsp(byte[] paramArrayOfByte) + { + int j; + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < this._head_len + 2)) { + j = -1009; + } + int i; + label76: + do + { + return j; + byte[] arrayOfByte = new byte[paramArrayOfByte.length - this._head_len - 2]; + System.arraycopy(paramArrayOfByte, this._head_len + 1, arrayOfByte, 0, arrayOfByte.length); + if (2 > arrayOfByte.length) { + return -1009; + } + int n = util.buf_to_int16(arrayOfByte, 0); + int k = 0; + j = 2; + i = 0; + if (k < n) + { + paramArrayOfByte = pickup_TLV(arrayOfByte, j); + if (paramArrayOfByte == null) { + return -1009; + } + int m = j + paramArrayOfByte.length; + switch (util.buf_to_int16(paramArrayOfByte, 0)) + { + case 2: + case 5: + case 7: + case 9: + case 10: + case 12: + case 13: + case 15: + case 16: + case 17: + default: + i = 0; + } + for (;;) + { + j = i; + if (i != 0) { + break; + } + k += 1; + j = m; + break label76; + i = rst.commRsp.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.devSetupInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.mbGuideInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.mbMobileInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.querySig.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.sppKey.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.smsInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.devGuideInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + continue; + i = rst.transferInfo.set_buf(paramArrayOfByte, paramArrayOfByte.length); + } + } + j = i; + } while (i != 0); + return rst.commRsp.RetCode; + } + + public byte[] pickup_TLV(byte[] paramArrayOfByte, int paramInt) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length < paramInt + 4)) {} + int i; + do + { + return null; + i = util.buf_to_int16(paramArrayOfByte, paramInt + 2) + 4; + } while (paramArrayOfByte.length < paramInt + i); + byte[] arrayOfByte = new byte[i]; + System.arraycopy(paramArrayOfByte, paramInt, arrayOfByte, 0, i); + return arrayOfByte; + } + + public static final class a + { + public static int a = 5; + public static int b = 7; + public static int c = 8; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.DevlockBase + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockInfo.java new file mode 100755 index 00000000000..5054bc7698a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockInfo.java @@ -0,0 +1,119 @@ +package oicq.wlogin_sdk.devicelock; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; + +public class DevlockInfo + implements Parcelable, Cloneable +{ + public static final Parcelable.Creator CREATOR = new c(); + public int AllowSet; + public int AvailableMsgCount; + public String BakCountryCode; + public String BakMobile; + public int BakMobileState; + public String CountryCode; + public int DevSetup; + public String MbGuideInfo; + public int MbGuideInfoType; + public String MbGuideMsg; + public int MbGuideType; + public int MbItemSmsCodeStatus; + public String Mobile; + public String ProtectIntro; + public int TimeLimit; + public byte[] TransferInfo; + public String UnionVerifyUrl; + public String VerifyReason; + public String WarningInfo; + public int WarningInfoType; + public String WarningMsg; + public String WarningTitle; + + public DevlockInfo() {} + + private DevlockInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public Object clone() + { + return super.clone(); + } + + public int describeContents() + { + return 0; + } + + public void readFromParcel(Parcel paramParcel) + { + this.DevSetup = paramParcel.readInt(); + this.AllowSet = paramParcel.readInt(); + this.ProtectIntro = paramParcel.readString(); + this.WarningTitle = paramParcel.readString(); + this.WarningMsg = paramParcel.readString(); + this.WarningInfo = paramParcel.readString(); + this.WarningInfoType = paramParcel.readInt(); + this.CountryCode = paramParcel.readString(); + this.Mobile = paramParcel.readString(); + this.MbItemSmsCodeStatus = paramParcel.readInt(); + this.AvailableMsgCount = paramParcel.readInt(); + this.TimeLimit = paramParcel.readInt(); + this.MbGuideMsg = paramParcel.readString(); + this.MbGuideInfo = paramParcel.readString(); + this.MbGuideType = paramParcel.readInt(); + this.MbGuideInfoType = paramParcel.readInt(); + this.UnionVerifyUrl = paramParcel.readString(); + this.VerifyReason = paramParcel.readString(); + this.BakMobileState = paramParcel.readInt(); + this.BakCountryCode = paramParcel.readString(); + this.BakMobile = paramParcel.readString(); + int i = paramParcel.readInt(); + if (i > 0) + { + this.TransferInfo = new byte[i]; + paramParcel.readByteArray(this.TransferInfo); + } + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeInt(this.DevSetup); + paramParcel.writeInt(this.AllowSet); + paramParcel.writeString(this.ProtectIntro); + paramParcel.writeString(this.WarningTitle); + paramParcel.writeString(this.WarningMsg); + paramParcel.writeString(this.WarningInfo); + paramParcel.writeInt(this.WarningInfoType); + paramParcel.writeString(this.CountryCode); + paramParcel.writeString(this.Mobile); + paramParcel.writeInt(this.MbItemSmsCodeStatus); + paramParcel.writeInt(this.AvailableMsgCount); + paramParcel.writeInt(this.TimeLimit); + paramParcel.writeString(this.MbGuideMsg); + paramParcel.writeString(this.MbGuideInfo); + paramParcel.writeInt(this.MbGuideType); + paramParcel.writeInt(this.MbGuideInfoType); + paramParcel.writeString(this.UnionVerifyUrl); + paramParcel.writeString(this.VerifyReason); + paramParcel.writeInt(this.BakMobileState); + paramParcel.writeString(this.BakCountryCode); + paramParcel.writeString(this.BakMobile); + if ((this.TransferInfo != null) && (this.TransferInfo.length > 0)) + { + paramParcel.writeInt(this.TransferInfo.length); + paramParcel.writeByteArray(this.TransferInfo); + return; + } + paramParcel.writeInt(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.DevlockInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockRst.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockRst.java new file mode 100755 index 00000000000..43fd5021226 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/DevlockRst.java @@ -0,0 +1,33 @@ +package oicq.wlogin_sdk.devicelock; + +public class DevlockRst +{ + public static final int E_RST_UNKOWN = -1; + public static final int E_SEND_QUERYSIG = 1201; + public static final int E_VERIFY_QUERYSIG = 1301; + public static final int S_OK = 0; + public TLV_CommRsp commRsp = new TLV_CommRsp(); + public h devGuideInfo = new h(); + public i devSetupInfo = new i(); + public j mbGuideInfo = new j(); + public k mbMobileInfo = new k(); + public TLV_QuerySig querySig = new TLV_QuerySig(); + public m smsInfo = new m(); + public TLV_SppKey sppKey = new TLV_SppKey(); + public e transferInfo = new e(); + + public void setSppKey(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return; + } + this.sppKey = new TLV_SppKey(); + this.sppKey.set_data(paramArrayOfByte, paramArrayOfByte.length); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.DevlockRst + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_CommRsp.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_CommRsp.java new file mode 100755 index 00000000000..1f5508a0300 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_CommRsp.java @@ -0,0 +1,50 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class TLV_CommRsp + extends e +{ + public byte[] ErrInfo = new byte[0]; + public int ErrInfoType; + public byte[] ErrMsg = new byte[0]; + public byte[] ErrTitle = new byte[0]; + public int Reason = 0; + public int RetCode = -1; + + public TLV_CommRsp() + { + this._type = 1; + } + + public void parse() + { + int i = this._head_len; + this.RetCode = util.buf_to_int32(this._buf, i); + i += 4; + this.Reason = util.buf_to_int32(this._buf, i); + int j = i + 4; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.ErrTitle = new byte[i]; + System.arraycopy(this._buf, j, this.ErrTitle, 0, i); + j += i; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.ErrMsg = new byte[i]; + System.arraycopy(this._buf, j, this.ErrMsg, 0, i); + i = j + i; + this.ErrInfoType = util.buf_to_int16(this._buf, i); + j = i + 2; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.ErrInfo = new byte[i]; + System.arraycopy(this._buf, j, this.ErrInfo, 0, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.TLV_CommRsp + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_QuerySig.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_QuerySig.java new file mode 100755 index 00000000000..3b05dbdc67b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_QuerySig.java @@ -0,0 +1,23 @@ +package oicq.wlogin_sdk.devicelock; + +public class TLV_QuerySig + extends e +{ + public byte[] QuerySig = new byte[0]; + + public TLV_QuerySig() + { + this._type = 8; + } + + public void parse() + { + this.QuerySig = get_data(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.TLV_QuerySig + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_SppKey.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_SppKey.java new file mode 100755 index 00000000000..bc83dd268b5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/TLV_SppKey.java @@ -0,0 +1,23 @@ +package oicq.wlogin_sdk.devicelock; + +public class TLV_SppKey + extends e +{ + public byte[] SppKey = new byte[0]; + + public TLV_SppKey() + { + this._type = 11; + } + + public void parse() + { + this.SppKey = get_data(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.TLV_SppKey + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/a.java new file mode 100755 index 00000000000..13fc0ed55c5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/a.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class a + extends DevlockBase +{ + public a() + { + this._msgType = DevlockBase.a.a; + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6) + { + paramArrayOfByte1 = new g().a(paramLong2, paramLong3, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6); + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) { + return new byte[0]; + } + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + 2]; + util.int16_to_buf(paramArrayOfByte2, 0, 1); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 2, paramArrayOfByte1.length); + return _get_request(paramLong1, paramLong2, paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/b.java new file mode 100755 index 00000000000..7b1e4b78745 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/b.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class b + extends DevlockBase +{ + public b() + { + this._msgType = 12; + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6) + { + paramArrayOfByte1 = new g().a(paramLong2, paramLong3, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6); + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) { + return new byte[0]; + } + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + 2]; + util.int16_to_buf(paramArrayOfByte2, 0, 1); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 2, paramArrayOfByte1.length); + return _get_request(paramLong1, paramLong2, paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/c.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/c.java new file mode 100755 index 00000000000..d4a10bdb4d3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/c.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.devicelock; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class c + implements Parcelable.Creator +{ + public DevlockInfo a(Parcel paramParcel) + { + return new DevlockInfo(paramParcel, null); + } + + public DevlockInfo[] a(int paramInt) + { + return new DevlockInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/d.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/d.java new file mode 100755 index 00000000000..672fb7668f9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/d.java @@ -0,0 +1,35 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class d + extends DevlockBase +{ + public d() + { + this._msgType = DevlockBase.a.b; + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3) + { + TLV_QuerySig localTLV_QuerySig = rst.querySig; + l locall = new l(); + locall.a(paramLong3); + int i = localTLV_QuerySig.get_size(); + int j = locall.get_size(); + if ((i == 0) || (j == 0)) { + return new byte[0]; + } + byte[] arrayOfByte = new byte[i + 2 + j]; + util.int16_to_buf(arrayOfByte, 0, 2); + System.arraycopy(localTLV_QuerySig.get_buf(), 0, arrayOfByte, 2, i); + System.arraycopy(locall.get_buf(), 0, arrayOfByte, i + 2, j); + return _get_request(paramLong1, paramLong2, arrayOfByte); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/e.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/e.java new file mode 100755 index 00000000000..5b109debe24 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/e.java @@ -0,0 +1,167 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class e +{ + protected int _body_len = 0; + protected byte[] _buf = new byte[this._max]; + protected int _head_len = 4; + protected int _max = 128; + protected int _pos = 0; + protected int _type = 0; + + public void fill_body(byte[] paramArrayOfByte, int paramInt) + { + if (paramInt > this._max - this._head_len) + { + this._max = (this._head_len + paramInt + 64); + byte[] arrayOfByte = new byte[this._max]; + System.arraycopy(this._buf, 0, arrayOfByte, 0, this._pos); + this._buf = arrayOfByte; + } + this._body_len = paramInt; + System.arraycopy(paramArrayOfByte, 0, this._buf, this._pos, paramInt); + this._pos += paramInt; + set_length(); + } + + public void fill_head() + { + util.int16_to_buf(this._buf, this._pos, this._type); + this._pos += 2; + util.int16_to_buf(this._buf, this._pos, 0); + this._pos += 2; + } + + public byte[] get_buf() + { + byte[] arrayOfByte = new byte[this._pos]; + System.arraycopy(this._buf, 0, arrayOfByte, 0, this._pos); + return arrayOfByte; + } + + public byte[] get_data() + { + byte[] arrayOfByte = new byte[this._body_len]; + System.arraycopy(this._buf, this._head_len, arrayOfByte, 0, this._body_len); + return arrayOfByte; + } + + public int get_data_len() + { + return this._body_len; + } + + public int get_size() + { + return this._pos; + } + + public int get_type() + { + return this._type; + } + + public void parse() {} + + public int put_block(byte[] paramArrayOfByte, int paramInt) + { + int i = paramArrayOfByte.length; + util.int16_to_buf(this._buf, paramInt, i); + paramInt += 2; + System.arraycopy(paramArrayOfByte, 0, this._buf, paramInt, i); + return i + paramInt; + } + + public int put_int16(int paramInt1, int paramInt2) + { + util.int16_to_buf(this._buf, paramInt2, paramInt1); + return paramInt2 + 2; + } + + public int put_int32(long paramLong, int paramInt) + { + util.int64_to_buf32(this._buf, paramInt, paramLong); + return paramInt + 4; + } + + public int put_int64(long paramLong, int paramInt) + { + util.int64_to_buf(this._buf, paramInt, paramLong); + return paramInt + 8; + } + + public int put_int8(int paramInt1, int paramInt2) + { + util.int8_to_buf(this._buf, paramInt2, paramInt1); + return paramInt2 + 1; + } + + public int set_buf(byte[] paramArrayOfByte, int paramInt) + { + if (paramInt > this._max) + { + this._max = (paramInt + 128); + this._buf = new byte[this._max]; + } + this._pos = paramInt; + System.arraycopy(paramArrayOfByte, 0, this._buf, 0, paramInt); + this._type = util.buf_to_int16(paramArrayOfByte, 0); + this._body_len = (paramInt - this._head_len); + try + { + parse(); + return 0; + } + catch (Exception paramArrayOfByte) {} + return -1009; + } + + public int set_data(byte[] paramArrayOfByte, int paramInt) + { + if (this._head_len + paramInt > this._max) + { + this._max = (this._head_len + paramInt + 128); + byte[] arrayOfByte = new byte[this._max]; + System.arraycopy(this._buf, 0, arrayOfByte, 0, this._head_len); + this._buf = arrayOfByte; + } + this._pos = (this._head_len + paramInt); + System.arraycopy(paramArrayOfByte, 0, this._buf, this._head_len, paramInt); + this._body_len = paramInt; + util.int16_to_buf(this._buf, 0, this._type); + util.int16_to_buf(this._buf, 2, this._body_len); + try + { + parse(); + return 0; + } + catch (Exception paramArrayOfByte) {} + return -1009; + } + + public void set_length() + { + util.int16_to_buf(this._buf, 2, this._pos - this._head_len); + } + + public String toString() + { + String str = ""; + int i = 0; + while (i < this._pos) + { + str = str + Integer.toHexString(this._buf[i] >> 4 & 0xF); + str = str + Integer.toHexString(this._buf[i] & 0xF); + i += 1; + } + return str; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/f.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/f.java new file mode 100755 index 00000000000..7550b4326c2 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/f.java @@ -0,0 +1,57 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class f + extends DevlockBase +{ + public f() + { + this._msgType = DevlockBase.a.c; + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7) + { + TLV_QuerySig localTLV_QuerySig = rst.querySig; + if (localTLV_QuerySig.get_size() == 0) { + localTLV_QuerySig.set_data(new byte[0], 0); + } + paramArrayOfByte3 = new g().a(paramLong2, paramLong3, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6); + if ((paramArrayOfByte3 == null) || (paramArrayOfByte3.length == 0)) { + return new byte[0]; + } + paramArrayOfByte2 = null; + if ((paramArrayOfByte7 != null) && (paramArrayOfByte7.length > 0)) { + paramArrayOfByte1 = new n().a(paramArrayOfByte7); + } + while ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) + { + return new byte[0]; + paramArrayOfByte1 = paramArrayOfByte2; + if (rst.sppKey != null) + { + paramArrayOfByte1 = paramArrayOfByte2; + if (rst.sppKey.get_data_len() > 0) { + paramArrayOfByte1 = rst.sppKey.get_buf(); + } + } + } + int k = localTLV_QuerySig.get_size(); + int j = paramArrayOfByte3.length; + int i = paramArrayOfByte1.length; + paramArrayOfByte2 = new byte[k + 2 + j + i]; + util.int16_to_buf(paramArrayOfByte2, 0, 3); + System.arraycopy(localTLV_QuerySig.get_buf(), 0, paramArrayOfByte2, 2, k); + k += 2; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte2, k, j); + j = k + j; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, j, i); + return _get_request(paramLong1, paramLong2, paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/g.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/g.java new file mode 100755 index 00000000000..23a005b077b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/g.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.devicelock; + +public class g + extends e +{ + public g() + { + this._type = 2; + } + + public byte[] a(long paramLong1, long paramLong2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null) || (paramArrayOfByte3 == null) || (paramArrayOfByte4 == null) || (paramArrayOfByte5 == null) || (paramArrayOfByte6 == null)) { + return new byte[0]; + } + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + 10 + 2 + paramArrayOfByte2.length + 2 + paramArrayOfByte3.length + 2 + paramArrayOfByte4.length + 2 + paramArrayOfByte5.length + 2 + paramArrayOfByte6.length]; + int i = this._head_len; + fill_head(); + fill_body(arrayOfByte, arrayOfByte.length); + i = put_int32((int)paramLong1, i); + put_block(paramArrayOfByte6, put_block(paramArrayOfByte5, put_block(paramArrayOfByte4, put_block(paramArrayOfByte3, put_block(paramArrayOfByte2, put_block(paramArrayOfByte1, put_int32((int)paramLong2, i))))))); + return get_buf(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/h.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/h.java new file mode 100755 index 00000000000..951085bd949 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/h.java @@ -0,0 +1,23 @@ +package oicq.wlogin_sdk.devicelock; + +public class h + extends e +{ + public byte[] a = new byte[0]; + + public h() + { + this._type = 18; + } + + public void parse() + { + this.a = get_data(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/i.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/i.java new file mode 100755 index 00000000000..87904c534a7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/i.java @@ -0,0 +1,56 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class i + extends e +{ + public int a = 0; + public int b = 0; + public int c = 0; + public byte[] d = new byte[0]; + public byte[] e = new byte[0]; + public byte[] f = new byte[0]; + public byte[] g = new byte[0]; + + public i() + { + this._type = 3; + } + + public void parse() + { + int i = this._head_len; + this.a = util.buf_to_int32(this._buf, i); + i += 4; + this.b = util.buf_to_int8(this._buf, i); + int j = i + 1; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.d = new byte[i]; + System.arraycopy(this._buf, j, this.d, 0, i); + j += i; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.e = new byte[i]; + System.arraycopy(this._buf, j, this.e, 0, i); + j += i; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.f = new byte[i]; + System.arraycopy(this._buf, j, this.f, 0, i); + i = j + i; + this.c = util.buf_to_int16(this._buf, i); + j = i + 2; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.g = new byte[i]; + System.arraycopy(this._buf, j, this.g, 0, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/j.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/j.java new file mode 100755 index 00000000000..fa68ee234d6 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/j.java @@ -0,0 +1,41 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class j + extends e +{ + public byte[] a = new byte[0]; + public byte[] b = new byte[0]; + public int c; + public int d; + + public j() + { + this._type = 14; + } + + public void parse() + { + int i = this._head_len; + this.c = util.buf_to_int16(this._buf, i); + int j = i + 2; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.a = new byte[i]; + System.arraycopy(this._buf, j, this.a, 0, i); + i = j + i; + this.d = util.buf_to_int16(this._buf, i); + j = i + 2; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.b = new byte[i]; + System.arraycopy(this._buf, j, this.b, 0, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/k.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/k.java new file mode 100755 index 00000000000..2eeeb0a5f77 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/k.java @@ -0,0 +1,44 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class k + extends e +{ + public byte[] a = new byte[0]; + public byte[] b = new byte[0]; + public int c; + public int d; + public int e; + + public k() + { + this._type = 4; + } + + public void parse() + { + int j = this._head_len; + int i = util.buf_to_int16(this._buf, j); + j += 2; + this.a = new byte[i]; + System.arraycopy(this._buf, j, this.a, 0, i); + j += i; + i = util.buf_to_int16(this._buf, j); + j += 2; + this.b = new byte[i]; + System.arraycopy(this._buf, j, this.b, 0, i); + i = j + i; + this.c = util.buf_to_int32(this._buf, i); + i += 4; + this.d = util.buf_to_int16(this._buf, i); + i += 2; + this.e = util.buf_to_int16(this._buf, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/l.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/l.java new file mode 100755 index 00000000000..a9d3b8c5351 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/l.java @@ -0,0 +1,26 @@ +package oicq.wlogin_sdk.devicelock; + +public class l + extends e +{ + public int a = 0; + + public l() + { + this._type = 5; + } + + public byte[] a(long paramLong) + { + fill_head(); + fill_body(new byte[4], 4); + put_int32(paramLong, this._head_len); + return get_buf(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/m.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/m.java new file mode 100755 index 00000000000..d9193546ba7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/m.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.devicelock; + +import oicq.wlogin_sdk.tools.util; + +public class m + extends e +{ + public int a = 0; + public int b = 0; + + public m() + { + this._type = 6; + } + + public void parse() + { + int i = this._head_len; + this.a = util.buf_to_int16(this._buf, i); + this.b = util.buf_to_int16(this._buf, i + 2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/n.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/n.java new file mode 100755 index 00000000000..2c5bb7f8f83 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/devicelock/n.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.devicelock; + +public class n + extends e +{ + public n() + { + this._type = 7; + } + + public byte[] a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return new byte[0]; + } + byte[] arrayOfByte = new byte[paramArrayOfByte.length + 2]; + fill_head(); + fill_body(arrayOfByte, arrayOfByte.length); + put_block(paramArrayOfByte, this._head_len); + return get_buf(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.devicelock.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t.java new file mode 100755 index 00000000000..dc65118071b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t.java @@ -0,0 +1,135 @@ +package oicq.wlogin_sdk.report; + +import android.content.Context; +import java.io.Serializable; + +public class report_t + implements Serializable +{ + public static String FILE_NAME = "report_data"; + private static final long serialVersionUID = 1L; + + public static void delete_file(Context paramContext) + { + try + { + paramContext.deleteFile(FILE_NAME); + return; + } + finally + { + paramContext = finally; + throw paramContext; + } + } + + /* Error */ + public static report_t1 read_fromfile(Context paramContext) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: aload_0 + // 4: getstatic 18 oicq/wlogin_sdk/report/report_t:FILE_NAME Ljava/lang/String; + // 7: invokevirtual 38 android/content/Context:openFileInput (Ljava/lang/String;)Ljava/io/FileInputStream; + // 10: astore_1 + // 11: new 40 java/io/ObjectInputStream + // 14: dup + // 15: aload_1 + // 16: invokespecial 43 java/io/ObjectInputStream: (Ljava/io/InputStream;)V + // 19: astore_2 + // 20: aload_2 + // 21: invokevirtual 47 java/io/ObjectInputStream:readObject ()Ljava/lang/Object; + // 24: checkcast 49 oicq/wlogin_sdk/report/report_t1 + // 27: astore_0 + // 28: aload_2 + // 29: invokevirtual 52 java/io/ObjectInputStream:close ()V + // 32: aload_1 + // 33: invokevirtual 55 java/io/FileInputStream:close ()V + // 36: ldc 2 + // 38: monitorexit + // 39: aload_0 + // 40: areturn + // 41: astore_0 + // 42: ldc 2 + // 44: monitorexit + // 45: aload_0 + // 46: athrow + // 47: astore_0 + // 48: aconst_null + // 49: astore_0 + // 50: goto -14 -> 36 + // 53: astore_1 + // 54: goto -18 -> 36 + // Local variable table: + // start length slot name signature + // 0 57 0 paramContext Context + // 10 23 1 localFileInputStream java.io.FileInputStream + // 53 1 1 localException java.lang.Exception + // 19 10 2 localObjectInputStream java.io.ObjectInputStream + // Exception table: + // from to target type + // 3 28 41 finally + // 28 36 41 finally + // 3 28 47 java/lang/Exception + // 28 36 53 java/lang/Exception + } + + /* Error */ + public static int write_tofile(report_t1 paramreport_t1, Context paramContext) + { + // Byte code: + // 0: iconst_0 + // 1: istore_2 + // 2: ldc 2 + // 4: monitorenter + // 5: aload_1 + // 6: getstatic 18 oicq/wlogin_sdk/report/report_t:FILE_NAME Ljava/lang/String; + // 9: iconst_0 + // 10: invokevirtual 61 android/content/Context:openFileOutput (Ljava/lang/String;I)Ljava/io/FileOutputStream; + // 13: astore_1 + // 14: new 63 java/io/ObjectOutputStream + // 17: dup + // 18: aload_1 + // 19: invokespecial 66 java/io/ObjectOutputStream: (Ljava/io/OutputStream;)V + // 22: astore_3 + // 23: aload_3 + // 24: aload_0 + // 25: invokevirtual 70 java/io/ObjectOutputStream:writeObject (Ljava/lang/Object;)V + // 28: aload_3 + // 29: invokevirtual 73 java/io/ObjectOutputStream:flush ()V + // 32: aload_3 + // 33: invokevirtual 74 java/io/ObjectOutputStream:close ()V + // 36: aload_1 + // 37: invokevirtual 77 java/io/FileOutputStream:close ()V + // 40: ldc 2 + // 42: monitorexit + // 43: iload_2 + // 44: ireturn + // 45: astore_0 + // 46: iconst_m1 + // 47: istore_2 + // 48: goto -8 -> 40 + // 51: astore_0 + // 52: ldc 2 + // 54: monitorexit + // 55: aload_0 + // 56: athrow + // Local variable table: + // start length slot name signature + // 0 57 0 paramreport_t1 report_t1 + // 0 57 1 paramContext Context + // 1 47 2 i int + // 22 11 3 localObjectOutputStream java.io.ObjectOutputStream + // Exception table: + // from to target type + // 5 40 45 java/lang/Exception + // 5 40 51 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.report.report_t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t1.java new file mode 100755 index 00000000000..b048ffc2cae --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t1.java @@ -0,0 +1,346 @@ +package oicq.wlogin_sdk.report; + +import java.util.Iterator; +import java.util.Set; +import java.util.TreeMap; +import oicq.wlogin_sdk.tools.util; + +public class report_t1 + extends report_t +{ + private static final long serialVersionUID = 1L; + public String _app_n = new String(""); + public String _app_sig = new String(""); + public String _app_v = new String(""); + public String _btime = util.get_release_time(); + public String _bver = "5.4.0.7"; + public String _device = new String(""); + public String _disp_name = new String(""); + public String _ksid = new String(""); + public TreeMap _lst = new TreeMap(); + public int _os = 2; + public String _os_v = new String(""); + public String _sdk_v = new Integer(5).toString(); + + public void add_t2(report_t2 paramreport_t2) + { + try + { + if (this._lst.size() >= 10) { + this._lst.remove(Integer.valueOf(this._lst.size() - 1)); + } + this._lst.put(Integer.valueOf(this._lst.size()), paramreport_t2); + return; + } + finally {} + } + + /* Error */ + public void add_t3(report_t3 paramreport_t3) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 6: invokevirtual 85 java/util/TreeMap:size ()I + // 9: istore_2 + // 10: iload_2 + // 11: ifgt +6 -> 17 + // 14: aload_0 + // 15: monitorexit + // 16: return + // 17: aload_0 + // 18: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 21: aload_0 + // 22: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 25: invokevirtual 85 java/util/TreeMap:size ()I + // 28: iconst_1 + // 29: isub + // 30: invokestatic 89 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 33: invokevirtual 102 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 36: checkcast 104 oicq/wlogin_sdk/report/report_t2 + // 39: aload_1 + // 40: invokevirtual 106 oicq/wlogin_sdk/report/report_t2:add_t3 (Loicq/wlogin_sdk/report/report_t3;)V + // 43: goto -29 -> 14 + // 46: astore_1 + // 47: aload_0 + // 48: monitorexit + // 49: aload_1 + // 50: athrow + // Local variable table: + // start length slot name signature + // 0 51 0 this report_t1 + // 0 51 1 paramreport_t3 report_t3 + // 9 2 2 i int + // Exception table: + // from to target type + // 2 10 46 finally + // 17 43 46 finally + } + + public void clear_t2() + { + try + { + Iterator localIterator = this._lst.keySet().iterator(); + while (localIterator.hasNext()) { + ((report_t2)this._lst.get(localIterator.next())).clear_t3(); + } + this._lst.clear(); + } + finally {} + } + + public void commit(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7, String paramString8, String paramString9, String paramString10) + { + try + { + this._os_v = paramString1; + this._app_v = paramString2; + this._ksid = paramString4; + this._app_n = paramString5; + this._disp_name = paramString6; + this._device = paramString7; + this._app_sig = paramString8; + this._btime = paramString9; + this._bver = paramString10; + return; + } + finally + { + paramString1 = finally; + throw paramString1; + } + } + + /* Error */ + public void commit_t2(long paramLong, String paramString, int paramInt1, int paramInt2) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 6: invokevirtual 85 java/util/TreeMap:size ()I + // 9: istore 6 + // 11: iload 6 + // 13: ifgt +6 -> 19 + // 16: aload_0 + // 17: monitorexit + // 18: return + // 19: aload_0 + // 20: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 23: aload_0 + // 24: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 27: invokevirtual 85 java/util/TreeMap:size ()I + // 30: iconst_1 + // 31: isub + // 32: invokestatic 89 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 35: invokevirtual 102 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 38: checkcast 104 oicq/wlogin_sdk/report/report_t2 + // 41: lload_1 + // 42: aload_3 + // 43: iload 4 + // 45: iload 5 + // 47: invokevirtual 139 oicq/wlogin_sdk/report/report_t2:commit (JLjava/lang/String;II)V + // 50: getstatic 143 oicq/wlogin_sdk/tools/util:LCB Loicq/wlogin_sdk/tools/LogCallBack; + // 53: ifnull -37 -> 16 + // 56: getstatic 143 oicq/wlogin_sdk/tools/util:LCB Loicq/wlogin_sdk/tools/LogCallBack; + // 59: aload_0 + // 60: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 63: aload_0 + // 64: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 67: invokevirtual 85 java/util/TreeMap:size ()I + // 70: iconst_1 + // 71: isub + // 72: invokestatic 89 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 75: invokevirtual 102 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 78: checkcast 104 oicq/wlogin_sdk/report/report_t2 + // 81: invokevirtual 147 oicq/wlogin_sdk/report/report_t2:toJasonObj ()Lorg/json/JSONObject; + // 84: invokevirtual 153 oicq/wlogin_sdk/tools/LogCallBack:OnLog (Lorg/json/JSONObject;)V + // 87: goto -71 -> 16 + // 90: astore_3 + // 91: aload_0 + // 92: monitorexit + // 93: aload_3 + // 94: athrow + // Local variable table: + // start length slot name signature + // 0 95 0 this report_t1 + // 0 95 1 paramLong long + // 0 95 3 paramString String + // 0 95 4 paramInt1 int + // 0 95 5 paramInt2 int + // 9 3 6 i int + // Exception table: + // from to target type + // 2 11 90 finally + // 19 87 90 finally + } + + /* Error */ + public org.json.JSONObject toJasonObj() + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: aload_0 + // 3: monitorenter + // 4: aconst_null + // 5: astore_3 + // 6: new 157 org/json/JSONObject + // 9: dup + // 10: invokespecial 158 org/json/JSONObject: ()V + // 13: astore_2 + // 14: aload_2 + // 15: ldc 160 + // 17: ldc 162 + // 19: iconst_1 + // 20: anewarray 164 java/lang/Object + // 23: dup + // 24: iconst_0 + // 25: aload_0 + // 26: getfield 30 oicq/wlogin_sdk/report/report_t1:_os I + // 29: invokestatic 89 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 32: aastore + // 33: invokestatic 168 java/lang/String:format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; + // 36: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 39: pop + // 40: aload_2 + // 41: ldc 173 + // 43: aload_0 + // 44: getfield 39 oicq/wlogin_sdk/report/report_t1:_os_v Ljava/lang/String; + // 47: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 50: pop + // 51: aload_2 + // 52: ldc 175 + // 54: aload_0 + // 55: getfield 41 oicq/wlogin_sdk/report/report_t1:_app_v Ljava/lang/String; + // 58: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 61: pop + // 62: aload_2 + // 63: ldc 177 + // 65: aload_0 + // 66: getfield 52 oicq/wlogin_sdk/report/report_t1:_sdk_v Ljava/lang/String; + // 69: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 72: pop + // 73: aload_2 + // 74: ldc 179 + // 76: aload_0 + // 77: getfield 54 oicq/wlogin_sdk/report/report_t1:_ksid Ljava/lang/String; + // 80: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 83: pop + // 84: aload_2 + // 85: ldc 181 + // 87: aload_0 + // 88: getfield 56 oicq/wlogin_sdk/report/report_t1:_app_n Ljava/lang/String; + // 91: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 94: pop + // 95: aload_2 + // 96: ldc 183 + // 98: aload_0 + // 99: getfield 58 oicq/wlogin_sdk/report/report_t1:_disp_name Ljava/lang/String; + // 102: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 105: pop + // 106: aload_2 + // 107: ldc 185 + // 109: aload_0 + // 110: getfield 60 oicq/wlogin_sdk/report/report_t1:_device Ljava/lang/String; + // 113: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 116: pop + // 117: aload_2 + // 118: ldc 187 + // 120: aload_0 + // 121: getfield 62 oicq/wlogin_sdk/report/report_t1:_app_sig Ljava/lang/String; + // 124: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 127: pop + // 128: aload_2 + // 129: ldc 189 + // 131: aload_0 + // 132: getfield 69 oicq/wlogin_sdk/report/report_t1:_btime Ljava/lang/String; + // 135: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 138: pop + // 139: aload_2 + // 140: ldc 191 + // 142: aload_0 + // 143: getfield 73 oicq/wlogin_sdk/report/report_t1:_bver Ljava/lang/String; + // 146: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 149: pop + // 150: new 193 org/json/JSONArray + // 153: dup + // 154: invokespecial 194 org/json/JSONArray: ()V + // 157: astore_3 + // 158: aload_0 + // 159: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 162: invokevirtual 111 java/util/TreeMap:keySet ()Ljava/util/Set; + // 165: invokeinterface 117 1 0 + // 170: astore 4 + // 172: aload 4 + // 174: invokeinterface 123 1 0 + // 179: ifeq +36 -> 215 + // 182: aload_3 + // 183: iload_1 + // 184: aload_0 + // 185: getfield 78 oicq/wlogin_sdk/report/report_t1:_lst Ljava/util/TreeMap; + // 188: aload 4 + // 190: invokeinterface 127 1 0 + // 195: invokevirtual 102 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 198: checkcast 104 oicq/wlogin_sdk/report/report_t2 + // 201: invokevirtual 147 oicq/wlogin_sdk/report/report_t2:toJasonObj ()Lorg/json/JSONObject; + // 204: invokevirtual 197 org/json/JSONArray:put (ILjava/lang/Object;)Lorg/json/JSONArray; + // 207: pop + // 208: iload_1 + // 209: iconst_1 + // 210: iadd + // 211: istore_1 + // 212: goto -40 -> 172 + // 215: aload_2 + // 216: ldc 199 + // 218: aload_3 + // 219: invokevirtual 171 org/json/JSONObject:put (Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + // 222: pop + // 223: aload_0 + // 224: monitorexit + // 225: aload_2 + // 226: areturn + // 227: astore_2 + // 228: aload_0 + // 229: monitorexit + // 230: aload_2 + // 231: athrow + // 232: astore_2 + // 233: aload_3 + // 234: astore_2 + // 235: goto -12 -> 223 + // 238: astore_3 + // 239: goto -16 -> 223 + // Local variable table: + // start length slot name signature + // 0 242 0 this report_t1 + // 1 211 1 i int + // 13 213 2 localJSONObject org.json.JSONObject + // 227 4 2 localObject Object + // 232 1 2 localException1 java.lang.Exception + // 234 1 2 localJSONArray1 org.json.JSONArray + // 5 229 3 localJSONArray2 org.json.JSONArray + // 238 1 3 localException2 java.lang.Exception + // 170 19 4 localIterator Iterator + // Exception table: + // from to target type + // 6 14 227 finally + // 14 172 227 finally + // 172 208 227 finally + // 215 223 227 finally + // 6 14 232 java/lang/Exception + // 14 172 238 java/lang/Exception + // 172 208 238 java/lang/Exception + // 215 223 238 java/lang/Exception + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.report.report_t1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t2.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t2.java new file mode 100755 index 00000000000..40907e48895 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t2.java @@ -0,0 +1,140 @@ +package oicq.wlogin_sdk.report; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeMap; +import oicq.wlogin_sdk.tools.util; +import org.json.JSONArray; +import org.json.JSONObject; + +public class report_t2 + extends report_t +{ + private static final long serialVersionUID = 1L; + public long _app = 0L; + public long[] _app_list = null; + public TreeMap _log = new TreeMap(); + public String _name = new String(""); + public String _oper = new String(""); + public int _rlen = 0; + public int _rst1 = 0; + public int _rst2 = 0; + public int _slen = 0; + public long _start = 0L; + public long _sub_app = 0L; + public String _type = new String(""); + public long _uin = 0L; + public int _used = 0; + + public report_t2(String paramString1, String paramString2, long paramLong1, long paramLong2, long paramLong3, long[] paramArrayOfLong) + { + this._type = paramString1; + this._oper = paramString2; + this._start = paramLong1; + this._app = paramLong2; + this._sub_app = paramLong3; + this._app_list = paramArrayOfLong; + } + + public void add_t3(report_t3 paramreport_t3) + { + this._rlen += paramreport_t3._rlen; + this._slen += paramreport_t3._slen; + this._log.put(Integer.valueOf(this._log.size()), paramreport_t3); + } + + public void clear_t3() + { + this._log.clear(); + } + + public void commit(long paramLong, String paramString, int paramInt1, int paramInt2) + { + this._uin = paramLong; + this._name = paramString; + this._rst1 = paramInt1; + this._rst2 = paramInt2; + this._used = ((int)(System.currentTimeMillis() - this._start)); + } + + public JSONObject toJasonObj() + { + try + { + localObject3 = new JSONObject(); + } + catch (Exception localException1) + { + Object localObject2; + label219: + localObject1 = null; + label333: + label485: + localObject3 = new StringWriter(); + PrintWriter localPrintWriter = new PrintWriter((Writer)localObject3, true); + localException1.printStackTrace(localPrintWriter); + localPrintWriter.flush(); + ((StringWriter)localObject3).flush(); + util.LOGD("exception", ((StringWriter)localObject3).toString()); + return localObject1; + } + try + { + ((JSONObject)localObject3).put("type", this._type); + ((JSONObject)localObject3).put("oper", this._oper); + ((JSONObject)localObject3).put("start", String.format("%d", new Object[] { Long.valueOf(this._start / 1000L & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("used", String.format("%d", new Object[] { Long.valueOf(this._used & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("uin", String.format("%d", new Object[] { Long.valueOf(this._uin & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("app", String.format("%d", new Object[] { Long.valueOf(this._app & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("subapp", String.format("%d", new Object[] { Long.valueOf(this._sub_app & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("email", this._name); + localObject1 = ""; + localObject2 = localObject1; + if (this._app_list == null) { + break label333; + } + i = 0; + } + catch (Exception localException2) + { + localObject1 = localObject3; + break label485; + i += 1; + break label219; + } + localObject2 = localObject1; + if (i < this._app_list.length) + { + if (i == this._app_list.length - 1) { + localObject1 = (String)localObject1 + String.format("%d", new Object[] { Long.valueOf(this._app_list[i] & 0xFFFFFFFF) }); + } else { + localObject1 = (String)localObject1 + String.format("%d,", new Object[] { Long.valueOf(this._app_list[i] & 0xFFFFFFFF) }); + } + } + else + { + ((JSONObject)localObject3).put("applist", localObject2); + ((JSONObject)localObject3).put("rst1", String.format("%d", new Object[] { Long.valueOf(this._rst1 & 0xFFFFFFFF) })); + ((JSONObject)localObject3).put("rst2", String.format("%d", new Object[] { Long.valueOf(this._rst2 & 0xFFFFFFFF) })); + localObject1 = new JSONArray(); + localObject2 = this._log.keySet().iterator(); + i = 0; + while (((Iterator)localObject2).hasNext()) + { + ((JSONArray)localObject1).put(i, ((report_t3)this._log.get(((Iterator)localObject2).next())).toJasonObj()); + i += 1; + } + ((JSONObject)localObject3).put("log", localObject1); + return localObject3; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.report.report_t2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t3.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t3.java new file mode 100755 index 00000000000..b8afd8473a4 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/report/report_t3.java @@ -0,0 +1,78 @@ +package oicq.wlogin_sdk.report; + +import java.io.PrintWriter; +import java.io.StringWriter; +import oicq.wlogin_sdk.tools.util; +import org.json.JSONObject; + +public class report_t3 + extends report_t +{ + private static final long serialVersionUID = 1L; + public int _cmd = 0; + public int _conn = 0; + public String _host = new String(""); + public String _ip = new String(""); + public int _net = 0; + public int _port = 0; + public int _rlen = 0; + public int _rst2 = 0; + public int _slen = 0; + public String _str = new String(""); + public int _sub = 0; + public int _try = 0; + public int _used = 0; + public int _wap = 0; + + public JSONObject toJasonObj() + { + try + { + localJSONObject = new JSONObject(); + localStringWriter = new StringWriter(); + } + catch (Exception localException1) + { + try + { + localJSONObject.put("cmd", String.format("0x%x", new Object[] { Integer.valueOf(this._cmd) })); + localJSONObject.put("sub", String.format("0x%x", new Object[] { Integer.valueOf(this._sub) })); + localJSONObject.put("rst2", String.format("%d", new Object[] { Integer.valueOf(this._rst2) })); + localJSONObject.put("used", String.format("%d", new Object[] { Integer.valueOf(this._used) })); + localJSONObject.put("try", String.format("%d", new Object[] { Integer.valueOf(this._try) })); + localJSONObject.put("host", this._host); + localJSONObject.put("ip", this._ip); + localJSONObject.put("port", String.format("%d", new Object[] { Integer.valueOf(this._port) })); + localJSONObject.put("conn", String.format("%d", new Object[] { Integer.valueOf(this._conn) })); + localJSONObject.put("net", String.format("%d", new Object[] { Integer.valueOf(this._net) })); + localJSONObject.put("str", this._str); + localJSONObject.put("rlen", String.format("%d", new Object[] { Integer.valueOf(this._rlen) })); + localJSONObject.put("slen", String.format("%d", new Object[] { Integer.valueOf(this._slen) })); + localJSONObject.put("wap", String.format("%d", new Object[] { Integer.valueOf(this._wap) })); + return localJSONObject; + } + catch (Exception localException2) + { + JSONObject localJSONObject; + StringWriter localStringWriter; + PrintWriter localPrintWriter; + break label332; + } + localException1 = localException1; + localJSONObject = null; + } + label332: + localPrintWriter = new PrintWriter(localStringWriter, true); + localException1.printStackTrace(localPrintWriter); + localPrintWriter.flush(); + localStringWriter.flush(); + util.LOGD("exception", localStringWriter.toString()); + return localJSONObject; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.report.report_t3 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket$1.java new file mode 100755 index 00000000000..8261729899d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class Ticket$1 + implements Parcelable.Creator +{ + public Ticket createFromParcel(Parcel paramParcel) + { + return new Ticket(paramParcel, null); + } + + public Ticket[] newArray(int paramInt) + { + return new Ticket[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.Ticket.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket.java new file mode 100755 index 00000000000..ad4305b81ff --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/Ticket.java @@ -0,0 +1,200 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import oicq.wlogin_sdk.tools.util; + +public class Ticket + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new Ticket.1(); + public long _create_time; + public long _expire_time; + public Map _pskey_expire = new HashMap(); + public Map _pskey_map = new HashMap(); + public byte[] _sig; + public byte[] _sig_key; + public int _type; + + public Ticket() {} + + public Ticket(int paramInt, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2) + { + this._type = paramInt; + if (paramArrayOfByte1 == null) + { + paramArrayOfByte1 = new byte[0]; + this._sig = paramArrayOfByte1; + if (paramArrayOfByte2 != null) { + break label81; + } + } + label81: + for (paramArrayOfByte1 = new byte[0];; paramArrayOfByte1 = (byte[])paramArrayOfByte2.clone()) + { + this._sig_key = paramArrayOfByte1; + this._create_time = paramLong1; + this._expire_time = paramLong2; + return; + paramArrayOfByte1 = (byte[])paramArrayOfByte1.clone(); + break; + } + } + + public Ticket(int paramInt, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong, byte[] paramArrayOfByte3) + { + this._type = paramInt; + if (paramArrayOfByte1 == null) + { + paramArrayOfByte1 = new byte[0]; + this._sig = paramArrayOfByte1; + if (paramArrayOfByte2 != null) { + break label102; + } + } + label102: + for (paramArrayOfByte1 = new byte[0];; paramArrayOfByte1 = (byte[])paramArrayOfByte2.clone()) + { + this._sig_key = paramArrayOfByte1; + this._create_time = paramLong; + this._expire_time = (86400L + paramLong); + parsePsBuf(paramArrayOfByte3, this._create_time, this._pskey_map, this._pskey_expire); + return; + paramArrayOfByte1 = (byte[])paramArrayOfByte1.clone(); + break; + } + } + + private Ticket(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public static byte[] packPsBuf(Map paramMap, long paramLong, Map paramMap1) + { + ByteBuffer localByteBuffer = ByteBuffer.allocate(4096); + localByteBuffer.putShort((short)paramMap.size()); + Iterator localIterator = paramMap.keySet().iterator(); + while (localIterator.hasNext()) + { + Object localObject = (String)localIterator.next(); + localByteBuffer.putShort((short)((String)localObject).length()); + localByteBuffer.put(((String)localObject).getBytes()); + byte[] arrayOfByte = (byte[])paramMap.get(localObject); + localByteBuffer.putShort((short)arrayOfByte.length); + localByteBuffer.put(arrayOfByte); + localByteBuffer.putShort((short)-1); + localObject = (Long)paramMap1.get(localObject); + if (localObject != null) { + localByteBuffer.putLong(((Long)localObject).longValue()); + } else { + localByteBuffer.putLong(86400L + paramLong); + } + } + localByteBuffer.flip(); + paramMap = new byte[localByteBuffer.limit()]; + localByteBuffer.get(paramMap); + return paramMap; + } + + public static void parsePsBuf(byte[] paramArrayOfByte, long paramLong, Map paramMap, Map paramMap1) + { + long l2 = t.f(); + int i; + int j; + if (paramArrayOfByte == null) + { + util.LOGI("ps_buf null", ""); + util.LOGI("pskeyMap " + paramMap.size(), ""); + if ((paramArrayOfByte != null) && (paramArrayOfByte.length > 2)) + { + int k = util.buf_to_int16(paramArrayOfByte, 0); + i = 2; + j = 0; + if ((j < k) && (paramArrayOfByte.length >= i + 2)) { + break label111; + } + } + } + label111: + int m; + String str; + do + { + do + { + do + { + return; + util.LOGI("ps_buf len " + paramArrayOfByte.length); + break; + m = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + } while (paramArrayOfByte.length < i + m); + str = new String(paramArrayOfByte, i, m); + i = m + i; + } while (paramArrayOfByte.length < i + 2); + m = util.buf_to_int16(paramArrayOfByte, i); + i += 2; + } while (paramArrayOfByte.length < i + m); + byte[] arrayOfByte = new byte[m]; + System.arraycopy(paramArrayOfByte, i, arrayOfByte, 0, m); + i += m; + long l1; + if ((paramArrayOfByte.length > i + 2) && (util.buf_to_int16(paramArrayOfByte, i) == 65535)) + { + i += 2; + l1 = util.buf_to_int64(paramArrayOfByte, i); + i += 8; + } + for (;;) + { + if (l1 > l2) + { + paramMap.put(str, arrayOfByte); + paramMap1.put(str, Long.valueOf(l1)); + } + util.LOGI(str + " pskey:" + m + " expire: " + l1, ""); + j += 1; + break; + l1 = 86400L + paramLong; + } + } + + public int describeContents() + { + return 0; + } + + public void readFromParcel(Parcel paramParcel) + { + this._type = paramParcel.readInt(); + this._sig = paramParcel.createByteArray(); + this._sig_key = paramParcel.createByteArray(); + this._create_time = paramParcel.readLong(); + this._expire_time = paramParcel.readLong(); + this._pskey_map = paramParcel.readHashMap(Map.class.getClassLoader()); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeInt(this._type); + paramParcel.writeByteArray(this._sig); + paramParcel.writeByteArray(this._sig_key); + paramParcel.writeLong(this._create_time); + paramParcel.writeLong(this._expire_time); + paramParcel.writeMap(this._pskey_map); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.Ticket + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext$1.java new file mode 100755 index 00000000000..73ec746934d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class TransReqContext$1 + implements Parcelable.Creator +{ + public TransReqContext createFromParcel(Parcel paramParcel) + { + return new TransReqContext(paramParcel, null); + } + + public TransReqContext[] newArray(int paramInt) + { + return new TransReqContext[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.TransReqContext.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext.java new file mode 100755 index 00000000000..415dcea142e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/TransReqContext.java @@ -0,0 +1,134 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; + +public class TransReqContext + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new TransReqContext.1(); + public byte[] _body; + public int _subcmd = 0; + public int _type = 0; + public long _uin = 0L; + + public TransReqContext() {} + + private TransReqContext(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public int describeContents() + { + return 0; + } + + public byte[] get_body() + { + return this._body; + } + + public int get_subcmd() + { + return this._subcmd; + } + + public long get_uin() + { + return this._uin; + } + + public boolean is_code2d_func_req() + { + return this._type == 3; + } + + public boolean is_devlock_req() + { + return this._type == 5; + } + + public boolean is_name_func_req() + { + return this._type == 2; + } + + public boolean is_oidb_func_req() + { + return this._type == 4; + } + + public boolean is_register_req() + { + return this._type == 1; + } + + public void readFromParcel(Parcel paramParcel) + { + this._body = paramParcel.createByteArray(); + this._type = paramParcel.readInt(); + this._subcmd = paramParcel.readInt(); + this._uin = paramParcel.readLong(); + } + + public void set_body(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) + { + this._body = new byte[0]; + return; + } + this._body = paramArrayOfByte; + } + + public void set_code2d_func_req() + { + this._type = 3; + } + + public void set_devlock_req() + { + this._type = 5; + } + + public void set_name_func_req() + { + this._type = 2; + } + + public void set_oidb_func_req() + { + this._type = 4; + } + + public void set_register_req() + { + this._type = 1; + } + + public void set_subcmd(int paramInt) + { + this._subcmd = paramInt; + } + + public void set_uin(long paramLong) + { + this._uin = paramLong; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeByteArray(this._body); + paramParcel.writeInt(this._type); + paramParcel.writeInt(this._subcmd); + paramParcel.writeLong(this._uin); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.TransReqContext + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/UinInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/UinInfo.java new file mode 100755 index 00000000000..9826e1117f3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/UinInfo.java @@ -0,0 +1,47 @@ +package oicq.wlogin_sdk.request; + +import java.io.Serializable; + +public class UinInfo + implements Serializable +{ + private static final long serialVersionUID = 1L; + public boolean _hasPassword; + public Long _uin; + private int pwdState = 0; + + public UinInfo(Long paramLong, boolean paramBoolean) + { + this._uin = paramLong; + this._hasPassword = paramBoolean; + if (paramBoolean) {} + for (int i = 1;; i = 2) + { + this.pwdState = i; + return; + } + } + + public boolean getHasPassword() + { + boolean bool2 = true; + boolean bool1 = bool2; + if (!this._hasPassword) { + if (this.pwdState > 1) { + break label31; + } + } + label31: + for (bool1 = bool2;; bool1 = false) + { + this._hasPassword = bool1; + return this._hasPassword; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.UinInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo$1.java new file mode 100755 index 00000000000..392789cbfc3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class WFastLoginInfo$1 + implements Parcelable.Creator +{ + public WFastLoginInfo createFromParcel(Parcel paramParcel) + { + return new WFastLoginInfo(paramParcel, null); + } + + public WFastLoginInfo[] newArray(int paramInt) + { + return new WFastLoginInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WFastLoginInfo.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo.java new file mode 100755 index 00000000000..fed55adb30f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WFastLoginInfo.java @@ -0,0 +1,81 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.io.Serializable; + +public class WFastLoginInfo + implements Parcelable, Serializable +{ + public static final Parcelable.Creator CREATOR = new WFastLoginInfo.1(); + private static final long serialVersionUID = 1L; + public byte[] _outA1 = new byte[0]; + public String adUrl = ""; + public String iconUrl = ""; + public String profileUrl = ""; + + public WFastLoginInfo() + { + this._outA1 = new byte[0]; + } + + private WFastLoginInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public WFastLoginInfo(byte[] paramArrayOfByte) + { + if (paramArrayOfByte != null) + { + this._outA1 = ((byte[])paramArrayOfByte.clone()); + return; + } + this._outA1 = new byte[0]; + } + + public int describeContents() + { + return 0; + } + + public void get_clone(WFastLoginInfo paramWFastLoginInfo) + { + if (paramWFastLoginInfo != null) { + if (paramWFastLoginInfo._outA1 == null) { + break label50; + } + } + label50: + for (this._outA1 = ((byte[])paramWFastLoginInfo._outA1.clone());; this._outA1 = new byte[0]) + { + this.iconUrl = paramWFastLoginInfo.iconUrl; + this.adUrl = paramWFastLoginInfo.adUrl; + this.profileUrl = paramWFastLoginInfo.profileUrl; + return; + } + } + + public void readFromParcel(Parcel paramParcel) + { + this._outA1 = paramParcel.createByteArray(); + this.iconUrl = paramParcel.readString(); + this.adUrl = paramParcel.readString(); + this.profileUrl = paramParcel.readString(); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeByteArray(this._outA1); + paramParcel.writeString(this.iconUrl); + paramParcel.writeString(this.adUrl); + paramParcel.writeString(this.profileUrl); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WFastLoginInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo$1.java new file mode 100755 index 00000000000..434fac53765 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class WUserSigInfo$1 + implements Parcelable.Creator +{ + public WUserSigInfo createFromParcel(Parcel paramParcel) + { + return new WUserSigInfo(paramParcel, null); + } + + public WUserSigInfo[] newArray(int paramInt) + { + return new WUserSigInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WUserSigInfo.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo.java new file mode 100755 index 00000000000..5b5e75fea45 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WUserSigInfo.java @@ -0,0 +1,85 @@ +package oicq.wlogin_sdk.request; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.util.ArrayList; +import java.util.List; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; + +public class WUserSigInfo + implements Parcelable +{ + public static final Parcelable.Creator CREATOR = new WUserSigInfo.1(); + public List _domains = new ArrayList(); + public byte[] _fastLoginBuf; + public byte[] _in_ksid; + public int _login_bitmap = 0; + public byte[] _reserveData; + public long _seqence = 0L; + public List _tickets = new ArrayList(); + public String uin = ""; + + public WUserSigInfo() {} + + private WUserSigInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public int describeContents() + { + return 0; + } + + public void get_clone(WloginSigInfo paramWloginSigInfo) + { + this._tickets.clear(); + this._tickets.add(new Ticket(2, paramWloginSigInfo._userA5, null, paramWloginSigInfo._userA5_create_time, 0L)); + this._tickets.add(new Ticket(2097152, paramWloginSigInfo._aqSig, null, paramWloginSigInfo._aqSig_create_time, 0L)); + this._tickets.add(new Ticket(8192, paramWloginSigInfo._userSig64, null, paramWloginSigInfo._userSig64_create_time, 0L)); + this._tickets.add(new Ticket(1048576, paramWloginSigInfo._superKey, null, paramWloginSigInfo._psKey_create_time, paramWloginSigInfo._psKey)); + this._tickets.add(new Ticket(16384, paramWloginSigInfo._openkey, paramWloginSigInfo._openid, paramWloginSigInfo._openkey_create_time, 0L)); + this._tickets.add(new Ticket(32768, paramWloginSigInfo._access_token, paramWloginSigInfo._openid, paramWloginSigInfo._access_token_create_time, 0L)); + this._tickets.add(new Ticket(128, paramWloginSigInfo._userStSig, paramWloginSigInfo._userSt_Key, paramWloginSigInfo._userStSig_create_time, 0L)); + this._tickets.add(new Ticket(16, paramWloginSigInfo._userA8, null, paramWloginSigInfo._userA8_create_time, paramWloginSigInfo._userA8_expire_time)); + this._tickets.add(new Ticket(512, paramWloginSigInfo._lsKey, null, paramWloginSigInfo._lsKey_create_time, paramWloginSigInfo._lsKey_expire_time)); + this._tickets.add(new Ticket(4096, paramWloginSigInfo._sKey, null, paramWloginSigInfo._sKey_create_time, paramWloginSigInfo._sKey_expire_time)); + this._tickets.add(new Ticket(131072, paramWloginSigInfo._vkey, null, paramWloginSigInfo._vkey_create_time, paramWloginSigInfo._vKey_expire_time)); + this._tickets.add(new Ticket(64, paramWloginSigInfo._TGT, paramWloginSigInfo._TGTKey, paramWloginSigInfo._A2_create_time, paramWloginSigInfo._A2_expire_time)); + this._tickets.add(new Ticket(262144, paramWloginSigInfo._D2, paramWloginSigInfo._D2Key, paramWloginSigInfo._D2_create_time, paramWloginSigInfo._D2_expire_time)); + this._tickets.add(new Ticket(524288, paramWloginSigInfo._sid, null, paramWloginSigInfo._sid_create_time, paramWloginSigInfo._sid_expire_time)); + this._tickets.add(new Ticket(32, paramWloginSigInfo._userStWebSig, null, paramWloginSigInfo._userStWebSig_create_time, paramWloginSigInfo._userStWebSig_expire_time)); + this._tickets.add(new Ticket(8388608, paramWloginSigInfo._pay_token, null, 0L, 0L)); + this._tickets.add(new Ticket(16777216, paramWloginSigInfo._pf, paramWloginSigInfo._pfKey, 0L, 0L)); + this._tickets.add(new Ticket(33554432, paramWloginSigInfo._DA2, null, 0L, 0L)); + } + + public void readFromParcel(Parcel paramParcel) + { + this._in_ksid = paramParcel.createByteArray(); + this._reserveData = paramParcel.createByteArray(); + this._fastLoginBuf = paramParcel.createByteArray(); + this._seqence = paramParcel.readLong(); + this._login_bitmap = paramParcel.readInt(); + this._domains = paramParcel.readArrayList(List.class.getClassLoader()); + paramParcel.readTypedList(this._tickets, Ticket.CREATOR); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeByteArray(this._in_ksid); + paramParcel.writeByteArray(this._reserveData); + paramParcel.writeByteArray(this._fastLoginBuf); + paramParcel.writeLong(this._seqence); + paramParcel.writeInt(this._login_bitmap); + paramParcel.writeList(this._domains); + paramParcel.writeTypedList(this._tickets); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WUserSigInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginAllSigInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginAllSigInfo.java new file mode 100755 index 00000000000..a817d4a7c49 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginAllSigInfo.java @@ -0,0 +1,90 @@ +package oicq.wlogin_sdk.request; + +import java.io.Serializable; +import java.util.TreeMap; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; + +public class WloginAllSigInfo + implements Serializable, Cloneable +{ + private static final long serialVersionUID = 1L; + public TreeMap _tk_map = new TreeMap(); + public long _uin = 0L; + public WloginSimpleInfo _useInfo = new WloginSimpleInfo(); + + public WloginAllSigInfo get_clone() + { + try + { + WloginAllSigInfo localWloginAllSigInfo = (WloginAllSigInfo)clone(); + return localWloginAllSigInfo; + } + catch (Exception localException) {} + return null; + } + + public int put_da2(long paramLong, byte[] paramArrayOfByte) + { + WloginSigInfo localWloginSigInfo = (WloginSigInfo)this._tk_map.get(Long.valueOf(paramLong)); + if (localWloginSigInfo != null) { + this._tk_map.put(Long.valueOf(paramLong), localWloginSigInfo.setDA2(paramArrayOfByte)); + } + return 0; + } + + public int put_randseed(long paramLong, byte[] paramArrayOfByte) + { + WloginSigInfo localWloginSigInfo = (WloginSigInfo)this._tk_map.get(Long.valueOf(paramLong)); + if (localWloginSigInfo != null) { + this._tk_map.put(Long.valueOf(paramLong), localWloginSigInfo.setRandSeed(paramArrayOfByte)); + } + return 0; + } + + public int put_siginfo(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[][] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + WloginSigInfo localWloginSigInfo = (WloginSigInfo)this._tk_map.get(Long.valueOf(paramLong1)); + if (localWloginSigInfo != null) { + this._tk_map.put(Long.valueOf(paramLong1), localWloginSigInfo.Set(paramLong2, paramLong3, paramLong4, paramLong5, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte, paramArrayOfLong, paramInt)); + } + for (;;) + { + return 0; + this._tk_map.put(Long.valueOf(paramLong1), new WloginSigInfo(paramLong2, paramLong3, paramLong4, paramLong5, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte, paramArrayOfLong, paramInt)); + } + } + + public int put_siginfo(long paramLong1, long paramLong2, long paramLong3, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + this._tk_map.put(Long.valueOf(paramLong1), new WloginSigInfo(paramLong2, paramLong3, paramArrayOfByte1, paramArrayOfByte2)); + return 0; + } + + public int put_siginfo(long paramLong1, byte[][] paramArrayOfByte, long paramLong2) + { + WloginSigInfo localWloginSigInfo = (WloginSigInfo)this._tk_map.get(Long.valueOf(paramLong1)); + if (localWloginSigInfo != null) { + this._tk_map.put(Long.valueOf(paramLong1), localWloginSigInfo.Set(paramArrayOfByte, paramLong2)); + } + return 0; + } + + public int put_simpleinfo(long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[][] paramArrayOfByte) + { + if (this._useInfo == null) { + this._useInfo = new WloginSimpleInfo(paramLong, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte); + } + for (;;) + { + return 0; + this._useInfo.set_info(paramLong, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WloginAllSigInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginLastLoginInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginLastLoginInfo.java new file mode 100755 index 00000000000..b99f9d64401 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginLastLoginInfo.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.request; + +import java.io.Serializable; + +public class WloginLastLoginInfo + implements Serializable +{ + private static final long serialVersionUID = 1L; + public String mAccount = new String(); + public long mUin = 0L; + + public WloginLastLoginInfo() + { + this.mAccount = ""; + } + + public WloginLastLoginInfo(String paramString, long paramLong) + { + this.mAccount = paramString; + this.mUin = paramLong; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WloginLastLoginInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginProvider.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginProvider.java new file mode 100755 index 00000000000..52f5a440566 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WloginProvider.java @@ -0,0 +1,130 @@ +package oicq.wlogin_sdk.request; + +import android.content.ContentProvider; +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.SQLException; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteDatabase.CursorFactory; +import android.database.sqlite.SQLiteOpenHelper; +import android.net.Uri; +import oicq.wlogin_sdk.tools.util; + +public class WloginProvider + extends ContentProvider +{ + private a a; + private SQLiteDatabase b = null; + private final String c = "wlogin_provider.db"; + private final int d = 4; + private final String e = "rsa_pubkey"; + private String f; + private final int g = 1; + private Context h; + private UriMatcher i = new UriMatcher(-1); + private Uri j; + + public int delete(Uri paramUri, String paramString, String[] paramArrayOfString) + { + switch (this.i.match(paramUri)) + { + default: + throw new IllegalArgumentException("Unnown URI" + paramUri); + } + int k = this.b.delete("rsa_pubkey", paramString, paramArrayOfString); + this.h.getContentResolver().notifyChange(paramUri, null); + return k; + } + + public String getType(Uri paramUri) + { + return null; + } + + public Uri insert(Uri paramUri, ContentValues paramContentValues) + { + if (this.i.match(paramUri) != 1) { + throw new IllegalArgumentException("Unknown URI " + paramUri); + } + long l = this.b.insert("rsa_pubkey", null, paramContentValues); + if (l > 0L) + { + paramUri = ContentUris.withAppendedId(this.j, l); + this.h.getContentResolver().notifyChange(paramUri, null); + return paramUri; + } + throw new SQLException("Failed to insert row into " + paramUri); + } + + public boolean onCreate() + { + this.h = getContext(); + this.f = "oicq.wlogin_sdk.WloginProvider"; + this.j = Uri.parse("content://" + this.f + "/" + "rsa_pubkey"); + this.i.addURI(this.f, "rsa_pubkey", 1); + util.LOGI("oncreated!"); + this.a = new a(this.h, "wlogin_provider.db", null, 4); + this.b = this.a.getWritableDatabase(); + return this.b != null; + } + + public Cursor query(Uri paramUri, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2) + { + switch (this.i.match(paramUri)) + { + default: + throw new IllegalArgumentException("Unnown URI" + paramUri); + } + paramArrayOfString1 = this.b.query("rsa_pubkey", paramArrayOfString1, paramString1, paramArrayOfString2, null, null, paramString2); + paramArrayOfString1.setNotificationUri(this.h.getContentResolver(), paramUri); + return paramArrayOfString1; + } + + public int update(Uri paramUri, ContentValues paramContentValues, String paramString, String[] paramArrayOfString) + { + switch (this.i.match(paramUri)) + { + default: + throw new IllegalArgumentException("Unnown URI" + paramUri); + } + return this.b.update("rsa_pubkey", paramContentValues, paramString, paramArrayOfString); + } + + private class a + extends SQLiteOpenHelper + { + public a(Context paramContext, String paramString, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt) + { + super(paramString, paramCursorFactory, paramInt); + } + + public void onCreate(SQLiteDatabase paramSQLiteDatabase) + { + try + { + paramSQLiteDatabase.execSQL(String.format("CREATE TABLE %s (id INTEGER PRIMARY KEY AUTOINCREMENT, appid INTEGER, subappid INTEGER, pubkey TEXT, pubkey_md5 TEXT)", new Object[] { "rsa_pubkey" })); + return; + } + catch (Exception paramSQLiteDatabase) + { + util.printException(paramSQLiteDatabase, ""); + } + } + + public void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) + { + paramSQLiteDatabase.execSQL("DROP TABLE IF EXISTS rsa_pubkey"); + onCreate(paramSQLiteDatabase); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WloginProvider + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtTicketPromise.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtTicketPromise.java new file mode 100755 index 00000000000..bfde71c3902 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtTicketPromise.java @@ -0,0 +1,18 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +public abstract interface WtTicketPromise +{ + public abstract void Done(Ticket paramTicket); + + public abstract void Failed(ErrMsg paramErrMsg); + + public abstract void Timeout(ErrMsg paramErrMsg); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtTicketPromise + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$1.java new file mode 100755 index 00000000000..2f399f2a041 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$1.java @@ -0,0 +1,37 @@ +package oicq.wlogin_sdk.request; + +import android.os.Bundle; +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$1 + implements WtTicketPromise +{ + WtloginHelper$1(WtloginHelper paramWtloginHelper, WtTicketPromise paramWtTicketPromise, String paramString, long paramLong, int paramInt, Bundle paramBundle) {} + + public void Done(Ticket paramTicket) + { + if (this.val$promise != null) { + this.val$promise.Done(this.this$0.GetTicket(this.val$userAccount, this.val$appid, this.val$sigType, null, this.val$params)); + } + } + + public void Failed(ErrMsg paramErrMsg) + { + if (this.val$promise != null) { + this.val$promise.Failed(paramErrMsg); + } + } + + public void Timeout(ErrMsg paramErrMsg) + { + if (this.val$promise != null) { + this.val$promise.Timeout(paramErrMsg); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$2.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$2.java new file mode 100755 index 00000000000..68f38d2197f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$2.java @@ -0,0 +1,23 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.RSACrypt; + +class WtloginHelper$2 + extends Thread +{ + WtloginHelper$2(WtloginHelper paramWtloginHelper, String paramString) + { + super(paramString); + } + + public void run() + { + new RSACrypt(WtloginHelper.access$000(this.this$0)).GenRSAKey(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$1.java new file mode 100755 index 00000000000..46c19fa08a7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$1.java @@ -0,0 +1,20 @@ +package oicq.wlogin_sdk.request; + +import java.util.TimerTask; + +class WtloginHelper$HelperThread$1 + extends TimerTask +{ + WtloginHelper$HelperThread$1(WtloginHelper.HelperThread paramHelperThread) {} + + public void run() + { + this.this$1.start(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$10.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$10.java new file mode 100755 index 00000000000..48d3a1958fd --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$10.java @@ -0,0 +1,22 @@ +package oicq.wlogin_sdk.request; + +class WtloginHelper$HelperThread$10 + implements Runnable +{ + WtloginHelper$HelperThread$10(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnRequestTransport(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mRole, this.this$1.mReqContext, this.val$ret); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.10 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$11.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$11.java new file mode 100755 index 00000000000..fc0f44c0e36 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$11.java @@ -0,0 +1,26 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$11 + implements Runnable +{ + WtloginHelper$HelperThread$11(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + async_context localasync_context = t.b(this.this$1.mUserSigInfo._seqence); + ErrMsg localErrMsg = localasync_context._last_err_msg; + WtloginHelper.access$100(this.this$1.mHelper).OnCheckSMSVerifyLoginAccount(this.this$1.mAppid1, this.this$1.mSubAppid1, this.this$1.mUserAccount, localasync_context._smslogin_msg, localasync_context._smslogin_msgcnt, localasync_context._smslogin_timelimit, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.11 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$12.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$12.java new file mode 100755 index 00000000000..b76ae0681f1 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$12.java @@ -0,0 +1,25 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$12 + implements Runnable +{ + WtloginHelper$HelperThread$12(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + ErrMsg localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + WtloginHelper.access$100(this.this$1.mHelper).OnVerifySMSVerifyLoginCode(this.this$1.mUserAccount, this.this$1.mMsgCode, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.12 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$13.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$13.java new file mode 100755 index 00000000000..080fa2452ca --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$13.java @@ -0,0 +1,26 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$13 + implements Runnable +{ + WtloginHelper$HelperThread$13(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + async_context localasync_context = t.b(this.this$1.mUserSigInfo._seqence); + ErrMsg localErrMsg = localasync_context._last_err_msg; + WtloginHelper.access$100(this.this$1.mHelper).OnRefreshSMSVerifyLoginCode(this.this$1.mUserAccount, localasync_context._smslogin_msg, localasync_context._smslogin_msgcnt, localasync_context._smslogin_timelimit, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.13 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$14.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$14.java new file mode 100755 index 00000000000..9552643e999 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$14.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$14 + implements Runnable +{ + WtloginHelper$HelperThread$14(WtloginHelper.HelperThread paramHelperThread, int paramInt) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnException(new ErrMsg(), this.this$1.mReqType, this.this$1.mUserSigInfo); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.14 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$2.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$2.java new file mode 100755 index 00000000000..b57e061eca0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$2.java @@ -0,0 +1,40 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$2 + implements Runnable +{ + WtloginHelper$HelperThread$2(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + ErrMsg localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + if (this.this$1.mDwSubAppidList == null) + { + if (this.this$1.mIsSmslogin) + { + WtloginHelper.access$100(this.this$1.mHelper).OnGetStViaSMSVerifyLogin(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnGetStWithPasswd(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mUserPasswd, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + if (this.this$1.mIsSmslogin) + { + WtloginHelper.access$100(this.this$1.mHelper).OnGetStViaSMSVerifyLogin(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mDwSubAppidList, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnGetStWithPasswd(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mDwSubAppidList, this.this$1.mUserPasswd, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.2 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$3.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$3.java new file mode 100755 index 00000000000..d615627102c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$3.java @@ -0,0 +1,28 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.g; +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$3 + implements Runnable +{ + WtloginHelper$HelperThread$3(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + async_context localasync_context = t.b(this.this$1.mUserSigInfo._seqence); + ErrMsg localErrMsg = localasync_context._last_err_msg; + this.this$1.mPictureData = localasync_context._t105.f(); + WtloginHelper.access$100(this.this$1.mHelper).OnRefreshPictureData(this.this$1.mUserAccount, this.this$1.mUserSigInfo, this.this$1.mPictureData, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.3 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$4.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$4.java new file mode 100755 index 00000000000..8d9d0229e50 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$4.java @@ -0,0 +1,40 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$4 + implements Runnable +{ + WtloginHelper$HelperThread$4(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + ErrMsg localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + if (n.D) + { + if (this.this$1.mST == null) + { + WtloginHelper.access$100(this.this$1.mHelper).OnCheckWebsigAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnCheckWebsigAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + return; + } + if (this.this$1.mST == null) + { + WtloginHelper.access$100(this.this$1.mHelper).OnCheckPictureAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnCheckPictureAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.4 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$5.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$5.java new file mode 100755 index 00000000000..121d0cee896 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$5.java @@ -0,0 +1,29 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.bp; +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$5 + implements Runnable +{ + WtloginHelper$HelperThread$5(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + async_context localasync_context = t.b(this.this$1.mUserSigInfo._seqence); + ErrMsg localErrMsg = localasync_context._last_err_msg; + int i = localasync_context._t17b.f(); + int j = localasync_context._t17b.g(); + WtloginHelper.access$100(this.this$1.mHelper).OnRefreshSMSData(this.this$1.mUserAccount, this.this$1.mSmsAppid, this.this$1.mUserSigInfo, i, j, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.5 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$6.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$6.java new file mode 100755 index 00000000000..aebb4b7c2ba --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$6.java @@ -0,0 +1,30 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$6 + implements Runnable +{ + WtloginHelper$HelperThread$6(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + ErrMsg localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + if (this.this$1.mST == null) + { + WtloginHelper.access$100(this.this$1.mHelper).OnCheckSMSAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnCheckSMSAndGetSt(this.this$1.mUserAccount, this.this$1.mUserInput, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.6 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$7.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$7.java new file mode 100755 index 00000000000..02229388e52 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$7.java @@ -0,0 +1,55 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$7 + implements Runnable +{ + WtloginHelper$HelperThread$7(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) {} + ErrMsg localErrMsg; + do + { + return; + localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + t.c(this.this$1.mUserSigInfo._seqence); + if (this.this$1.mDwDstAppid == WtloginHelper.access$1100(this.this$1.this$0)) + { + this.this$1.mDwDstAppid = this.this$1.mDwSubDstAppid; + this.this$1.mDwSubDstAppid = 0L; + } + if (this.this$1.mPromise != null) + { + localErrMsg.setType(this.val$ret); + if (this.val$ret == 0) + { + this.this$1.mPromise.Done(null); + return; + } + if (this.val$ret == -1000) + { + this.this$1.mPromise.Timeout(localErrMsg); + return; + } + this.this$1.mPromise.Failed(localErrMsg); + return; + } + } while (WtloginHelper.access$100(this.this$1.mHelper) == null); + if ((this.this$1.mDwDstSubAppidList == null) && (!WtloginHelper.access$200(this.this$1.this$0).e())) + { + WtloginHelper.access$100(this.this$1.mHelper).OnGetStWithoutPasswd(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwDstAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mUserSigInfo, this.val$ret, localErrMsg); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnGetStWithoutPasswd(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mDwDstAppid, this.this$1.mDwMainSigMap, this.this$1.mDwSubDstAppid, this.this$1.mDwDstSubAppidList, this.this$1.mUserSigInfo, this.this$1.mST, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.7 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$8.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$8.java new file mode 100755 index 00000000000..129b79ca6b5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$8.java @@ -0,0 +1,26 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.tools.ErrMsg; + +class WtloginHelper$HelperThread$8 + implements Runnable +{ + WtloginHelper$HelperThread$8(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + ErrMsg localErrMsg = t.b(this.this$1.mUserSigInfo._seqence)._last_err_msg; + t.c(this.this$1.mUserSigInfo._seqence); + WtloginHelper.access$100(this.this$1.mHelper).onGetA1WithA1(this.this$1.mUserAccount, this.this$1.mAppid1, this.this$1.mDwMainSigMap, this.this$1.mSubAppid1, this.this$1.mAppName2, this.this$1.mSsoVer2, this.this$1.mAppid2, this.this$1.mSubAppid2, this.this$1.mAppVer2, this.this$1.mAppSign2, this.this$1.mUserSigInfo, this.this$1.mFastLoginInfo, this.val$ret, localErrMsg); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.8 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$9.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$9.java new file mode 100755 index 00000000000..94cf531e456 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper$HelperThread$9.java @@ -0,0 +1,37 @@ +package oicq.wlogin_sdk.request; + +class WtloginHelper$HelperThread$9 + implements Runnable +{ + WtloginHelper$HelperThread$9(WtloginHelper.HelperThread paramHelperThread, int paramInt1, int paramInt2) {} + + public void run() + { + WtloginHelper.HelperThread.access$500(this.this$1); + if (this.val$cancel != 0) { + return; + } + if (this.this$1.mReqContext.is_register_req()) + { + WtloginHelper.access$1400(this.this$1.mHelper, this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mRole, this.this$1.mReqContext, this.this$1.mUserSigInfo, this.val$ret); + return; + } + if (this.this$1.mReqContext.is_code2d_func_req()) + { + WtloginHelper.access$1500(this.this$1.mHelper, this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mRole, this.this$1.mReqContext, this.this$1.mUserSigInfo, this.val$ret); + return; + } + if (this.this$1.mReqContext.is_devlock_req()) + { + WtloginHelper.access$1600(this.this$1.mHelper, this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mRole, this.this$1.mReqContext, this.this$1.mUserSigInfo, this.val$ret); + return; + } + WtloginHelper.access$100(this.this$1.mHelper).OnRequestTransport(this.this$1.mUserAccount, this.this$1.mDwAppid, this.this$1.mRole, this.this$1.mReqContext, this.this$1.mUserSigInfo, this.val$ret); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper.HelperThread.9 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper.java new file mode 100755 index 00000000000..ce034ba30d2 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginHelper.java @@ -0,0 +1,3945 @@ +package oicq.wlogin_sdk.request; + +import android.content.Context; +import android.content.Intent; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Timer; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.at; +import oicq.wlogin_sdk.b.ay; +import oicq.wlogin_sdk.b.bc; +import oicq.wlogin_sdk.b.cm; +import oicq.wlogin_sdk.code2d.fetch_code; +import oicq.wlogin_sdk.code2d.fetch_code.QRCodeCustom; +import oicq.wlogin_sdk.devicelock.DevlockBase; +import oicq.wlogin_sdk.devicelock.DevlockInfo; +import oicq.wlogin_sdk.devicelock.DevlockRst; +import oicq.wlogin_sdk.devicelock.TLV_CommRsp; +import oicq.wlogin_sdk.devicelock.i; +import oicq.wlogin_sdk.report.report_t1; +import oicq.wlogin_sdk.report.report_t2; +import oicq.wlogin_sdk.sharemem.WloginLoginInfo; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; +import oicq.wlogin_sdk.tools.EcdhCrypt; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.InternationMsg; +import oicq.wlogin_sdk.tools.InternationMsg.MSG_TYPE; +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.RSACrypt; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class WtloginHelper + extends WtloginListener +{ + static final Object __sync_top = new Object(); + static int __top = 0; + private boolean isForLocal = false; + private long mAysncSeq = 0L; + private Context mContext = null; + private t mG = new t(null); + private Handler mHelperHandler = newHelperHandler(); + private WtloginListener mListener = null; + private int mMainSigMap = 16724722; + private int mMiscBitmap = 262012; + private long mOpenAppid = 715019303L; + private oicq.wlogin_sdk.a.h mRegStatus = new oicq.wlogin_sdk.a.h(); + private int mSubSigMap = 66560; + + public WtloginHelper(Context paramContext) + { + this.isForLocal = false; + this.mContext = paramContext; + this.mG.a(paramContext); + RequestInit(); + } + + public WtloginHelper(Context paramContext, Object paramObject) + { + WtloginMsfListener.TicketMgr = paramObject; + localInit(paramContext, this.isForLocal); + } + + public WtloginHelper(Context paramContext, boolean paramBoolean) + { + localInit(paramContext, paramBoolean); + } + + private void AsyncGenRSAKey() + { + if (this.isForLocal) { + return; + } + new WtloginHelper.2(this, "AsyncGenRSAKey").start(); + } + + private int CheckPictureAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, int paramInt) + { + if ((paramString == null) || (paramArrayOfByte == null) || (paramWUserSigInfo == null)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramArrayOfByte, paramWUserSigInfo, paramArrayOfByte1, "CheckPictureAndGetSt").RunReq(2); + return -1001; + } + paramInt = 0; + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + t localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + async_context localasync_context = t.b(paramWUserSigInfo._seqence); + util.LOGI("user:" + paramString + " CheckPictureAndGetSt" + " Seq:" + localt.h + " ...", paramString); + localt.g = paramString; + localasync_context._last_err_msg = new ErrMsg(); + long l1; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = localt.b(paramString); + l1 = l2; + if (l2 != 0L) + { + paramInt = 1; + l1 = l2; + } + } + int i; + for (;;) + { + if (paramInt == 1) { + localt.f = l1; + } + int j = new n(localt).a(paramArrayOfByte, this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + i = j; + if (j == 204) { + i = new p(localt).a(this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + } + if (i == 0) { + break; + } + paramInt = i; + paramArrayOfByte = GetUserSigInfoTicket(paramWUserSigInfo, 128); + if (paramArrayOfByte != null) { + break label1321; + } + paramArrayOfByte = new Ticket(); + label311: + t.ag.commit_t2(localt.f, localt.g, util.format_ret_code(paramInt), paramInt); + if (paramInt != 0) { + break label1293; + } + if ((paramArrayOfByte._sig != null) && (paramArrayOfByte._sig.length != 0)) { + RequestReport(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid); + } + label378: + if ((localt.d != null) && (localt.d.f() != 0)) + { + this.mG.d = localt.d; + RequestReportError(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid, 1); + } + t.b(); + localt.h(); + util.LOGI("user:" + paramString + " CheckPictureAndGetSt" + " Seq:" + localt.h + " ret=" + paramInt, "" + localt.f); + return paramInt; + l1 = Long.parseLong(paramString); + paramInt = 1; + } + if (!util.check_uin_account(paramString).booleanValue()) + { + l1 = localt.b(paramString); + if (l1 == 0L) { + break label1324; + } + paramInt = 1; + } + label1053: + label1321: + label1324: + for (;;) + { + if ((localasync_context._msalt == 0L) && (paramInt == 0)) + { + paramInt = -1003; + break; + l1 = Long.parseLong(paramString); + paramInt = 1; + continue; + } + localt.f = l1; + paramWUserSigInfo.uin = (l1 + ""); + if ((paramWUserSigInfo._reserveData != null) && (paramWUserSigInfo._reserveData.length > 3)) + { + localt.i = util.buf_to_int32(paramWUserSigInfo._reserveData, 0); + util.LOGI("MSF SSO SEQ:" + localt.i, paramString); + } + for (;;) + { + paramArrayOfByte = localt.a(l1, localasync_context._appid); + if (paramArrayOfByte == null) { + break label835; + } + paramWUserSigInfo.get_clone(paramArrayOfByte); + if ((localasync_context._sub_appid_list == null) || (paramArrayOfByte1 == null) || (localasync_context._sub_appid_list.length * 2 != paramArrayOfByte1.length)) { + break; + } + paramInt = 0; + while ((localasync_context._sub_appid_list != null) && (paramInt < localasync_context._sub_appid_list.length)) + { + paramArrayOfByte = localt.a(l1, localasync_context._sub_appid_list[paramInt]); + if (paramArrayOfByte != null) + { + paramArrayOfByte1[(paramInt * 2)] = ((byte[])paramArrayOfByte._userSt_Key.clone()); + paramArrayOfByte1[(paramInt * 2 + 1)] = ((byte[])paramArrayOfByte._userStSig.clone()); + } + paramInt += 1; + } + localt.i = 0; + } + paramInt = 0; + break; + label835: + if ((paramWUserSigInfo._in_ksid != null) && (paramWUserSigInfo._in_ksid.length > 0)) {} + for (paramArrayOfByte = (byte[])paramWUserSigInfo._in_ksid.clone();; paramArrayOfByte = t.Y) + { + if (localasync_context._tmp_pwd_type == 0) { + break label1053; + } + paramInt = new k(localt).a(localasync_context._appid, localasync_context._sub_appid, localt.f, 0, t.ab, localasync_context._tmp_pwd, null, this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, localasync_context._main_sigmap, localasync_context._sub_appid, t.w, 0, 0, 1, paramArrayOfByte, paramWUserSigInfo); + i = paramInt; + if (paramInt == 204) { + i = new p(localt).a(this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + } + paramInt = i; + if (i != 0) { + break; + } + l1 = localt.b(paramString); + paramWUserSigInfo.uin = (l1 + ""); + paramArrayOfByte = localt.a(l1, localasync_context._appid); + if (paramArrayOfByte != null) { + break label1168; + } + paramInt = -1004; + break; + } + byte[] arrayOfByte = new byte[4]; + util.int64_to_buf32(arrayOfByte, 0, System.currentTimeMillis() / 1000L + t.aa); + if (localasync_context._isSmslogin) {} + for (paramInt = 3;; paramInt = 1) + { + paramInt = new k(localt).a(localasync_context._appid, localasync_context._sub_appid, localt.f, 0, t.ab, arrayOfByte, localasync_context._tmp_pwd, paramInt, this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, localasync_context._main_sigmap, localasync_context._sub_appid, t.w, 0, 0, 1, paramArrayOfByte, paramWUserSigInfo); + break; + } + paramWUserSigInfo.get_clone(paramArrayOfByte); + if ((localasync_context._sub_appid_list != null) && (paramArrayOfByte1 != null) && (localasync_context._sub_appid_list.length * 2 == paramArrayOfByte1.length)) + { + paramInt = 0; + while ((localasync_context._sub_appid_list != null) && (paramInt < localasync_context._sub_appid_list.length)) + { + paramArrayOfByte = localt.a(l1, localasync_context._sub_appid_list[paramInt]); + if (paramArrayOfByte != null) + { + paramArrayOfByte1[(paramInt * 2)] = ((byte[])paramArrayOfByte._userSt_Key.clone()); + paramArrayOfByte1[(paramInt * 2 + 1)] = ((byte[])paramArrayOfByte._userStSig.clone()); + } + paramInt += 1; + } + } + paramInt = 0; + break; + RequestReportError(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid, 0); + break label378; + break label311; + } + } + + private int CheckSMSAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, int paramInt) + { + if ((paramString == null) || (paramArrayOfByte == null) || (paramWUserSigInfo == null)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramArrayOfByte, paramWUserSigInfo, paramArrayOfByte1, "CheckSMSAndGetSt").RunReq(4); + return -1001; + } + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + t localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + async_context localasync_context = t.b(paramWUserSigInfo._seqence); + util.LOGI("user:" + paramString + " CheckSMSAndGetSt" + " Seq:" + localt.h + " ...", paramString); + localt.g = paramString; + localt.f = 0L; + localasync_context._last_err_msg = new ErrMsg(); + if ((paramWUserSigInfo._reserveData != null) && (paramWUserSigInfo._reserveData.length > 3)) + { + localt.i = util.buf_to_int32(paramWUserSigInfo._reserveData, 0); + util.LOGI("MSF SSO SEQ:" + localt.i, paramString); + } + while (!util.check_uin_account(paramString).booleanValue()) + { + l = localt.b(paramString); + if (l != 0L) { + break label756; + } + util.LOGI("user:" + paramString + " have not found uin record.", paramString); + paramInt = -1003; + paramArrayOfByte = GetUserSigInfoTicket(paramWUserSigInfo, 128); + if (paramArrayOfByte != null) { + break label753; + } + paramArrayOfByte = new Ticket(); + label305: + t.ag.commit_t2(localt.f, localt.g, util.format_ret_code(paramInt), paramInt); + if (paramInt != 0) { + break label725; + } + if ((paramArrayOfByte._sig != null) && (paramArrayOfByte._sig.length != 0)) { + RequestReport(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid); + } + label372: + if ((localt.d != null) && (localt.d.f() != 0)) + { + this.mG.d = localt.d; + RequestReportError(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid, 1); + } + t.b(); + localt.h(); + util.LOGI("user:" + paramString + " CheckSMSAndGetSt" + " Seq:" + localt.h + " ret=" + paramInt, "" + localt.f); + return paramInt; + localt.i = 0; + } + long l = Long.parseLong(paramString); + label725: + label753: + label756: + for (;;) + { + localt.f = l; + int i = new o(localt).a(paramArrayOfByte, this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + paramInt = i; + if (i != 0) { + break; + } + paramArrayOfByte = localt.a(l, localasync_context._appid); + if (paramArrayOfByte == null) + { + paramInt = -1004; + break; + } + paramWUserSigInfo.get_clone(paramArrayOfByte); + if ((localasync_context._sub_appid_list != null) && (paramArrayOfByte1 != null) && (localasync_context._sub_appid_list.length * 2 == paramArrayOfByte1.length)) + { + paramInt = 0; + while ((localasync_context._sub_appid_list != null) && (paramInt < localasync_context._sub_appid_list.length)) + { + paramArrayOfByte = localt.a(l, localasync_context._sub_appid_list[paramInt]); + if (paramArrayOfByte != null) + { + paramArrayOfByte1[(paramInt * 2)] = ((byte[])paramArrayOfByte._userSt_Key.clone()); + paramArrayOfByte1[(paramInt * 2 + 1)] = ((byte[])paramArrayOfByte._userStSig.clone()); + } + paramInt += 1; + } + } + paramInt = 0; + break; + RequestReportError(0, paramArrayOfByte._sig, paramArrayOfByte._sig_key, localt.f, localasync_context._appid, 0); + break label372; + break label305; + } + } + + private int CheckSMSVerifyLoginAccount(long paramLong1, long paramLong2, String paramString, WUserSigInfo paramWUserSigInfo, int paramInt) + { + oicq.wlogin_sdk.a.h.v = false; + oicq.wlogin_sdk.a.h.w = 0L; + if ((paramString == null) || (paramWUserSigInfo == null)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramLong1, paramLong2, paramString, paramWUserSigInfo, "CheckSMSVerifyLoginAccount").RunReq(12); + return -1001; + } + Object localObject = this.mG.a(0L); + paramWUserSigInfo._seqence = ((t)localObject).h; + this.mAysncSeq = ((t)localObject).h; + async_context localasync_context = t.b(((t)localObject).h); + ((t)localObject).g = paramString; + util.LOGI("user:" + paramString + " Seq:" + ((t)localObject).h + " CheckSMSVerifyLoginAccount ...", paramString); + localasync_context._login_bitmap = paramWUserSigInfo._login_bitmap; + localasync_context._last_err_msg = new ErrMsg(); + int i = new v((t)localObject).a(paramLong1, paramLong2, this.mMainSigMap, t.Y, paramString, this.mMiscBitmap, this.mSubSigMap, null, paramWUserSigInfo); + paramInt = i; + if (i == 208) { + paramInt = 0; + } + localObject = new StringBuilder().append("user:").append(((t)localObject).g).append(" Seq:").append(((t)localObject).h).append(" CheckSMSVerifyLoginAccount ret="); + if (paramInt > 0) {} + for (paramWUserSigInfo = Integer.toHexString(paramInt);; paramWUserSigInfo = Integer.valueOf(paramInt)) + { + util.LOGI(paramWUserSigInfo, paramString); + return paramInt; + } + } + + private WloginSigInfo FindUserSig(long paramLong1, long paramLong2) + { + return this.mG.a(paramLong1, paramLong2); + } + + private byte[] GetA1ByAccount(String paramString, long paramLong) + { + if (paramString == null) { + return null; + } + long l1; + Object localObject; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = this.mG.b(paramString); + l1 = l2; + if (l2 != 0L) { + break label110; + } + localObject = null; + } + while ((localObject == null) || (localObject._en_A1 == null) || (localObject._en_A1.length <= 0)) + { + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " GetA1ByAccount return: null", paramString); + return null; + l1 = Long.parseLong(paramString); + label110: + WloginSigInfo localWloginSigInfo = this.mG.a(l1, paramLong); + localObject = localWloginSigInfo; + if (localWloginSigInfo == null) { + localObject = localWloginSigInfo; + } + } + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " GetA1ByAccount return: not null", paramString); + return (byte[])localObject._en_A1.clone(); + } + + private int GetA1WithA1(String paramString, long paramLong1, long paramLong2, int paramInt1, byte[] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo, WFastLoginInfo paramWFastLoginInfo, int paramInt2) + { + if ((paramString == null) || (paramArrayOfByte1 == null) || (paramArrayOfByte2 == null) || (paramArrayOfByte3 == null) || (paramWUserSigInfo == null) || (paramWFastLoginInfo == null)) { + return -1017; + } + int i = paramInt1 | 0xC0; + if (paramInt2 == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramLong1, paramLong2, i, paramArrayOfByte1, paramLong3, paramLong4, paramLong5, paramArrayOfByte2, paramArrayOfByte3, paramWUserSigInfo, paramWFastLoginInfo, "GetA1WithA1").RunReq(6); + return -1001; + } + t localt = this.mG.a(0L); + paramWUserSigInfo._seqence = localt.h; + Object localObject = t.b(localt.h); + util.LOGI("wtlogin login with GetA1WithA1:" + paramString + " dwSrcAppid:" + paramLong1 + " dwMainSigMap:" + i + " dwSubSrcAppid:" + paramLong2 + " dstAppName:" + new String(paramArrayOfByte1) + " dwDstAppid:" + paramLong4 + " dwSubDstAppid:" + paramLong5 + " Seq:" + localt.h + " ...", paramString); + paramInt1 = util.get_saved_network_type(this.mContext); + t.B = util.get_network_type(this.mContext); + if (paramInt1 != t.B) + { + util.set_net_retry_type(this.mContext, 0); + util.save_network_type(this.mContext, t.B); + } + t.D = util.get_apn_string(this.mContext).getBytes(); + localt.g = paramString; + localt.f = 0L; + ((async_context)localObject)._sappid = paramLong1; + ((async_context)localObject)._appid = paramLong1; + ((async_context)localObject)._sub_appid = paramLong2; + ((async_context)localObject)._main_sigmap = i; + ((async_context)localObject)._last_err_msg = new ErrMsg(); + t.ag.add_t2(new report_t2("login", new String(t.A), System.currentTimeMillis(), paramLong4, paramLong5, null)); + long l1; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = localt.b(paramString); + l1 = l2; + if (l2 != 0L) { + break label724; + } + util.LOGI("user:" + paramString + " have not found uin record.", paramString); + paramInt1 = -1003; + paramArrayOfByte2 = GetUserSigInfoTicket(paramWUserSigInfo, 128); + if (paramArrayOfByte2 != null) { + break label960; + } + paramArrayOfByte2 = new Ticket(); + } + label960: + for (;;) + { + t.ag.commit_t2(localt.f, localt.g, util.format_ret_code(paramInt1), paramInt1); + if (paramInt1 == 0) { + if ((paramArrayOfByte2._sig != null) && (paramArrayOfByte2._sig.length != 0)) { + RequestReport(0, paramArrayOfByte2._sig, paramArrayOfByte2._sig_key, localt.f, paramLong1); + } + } + for (;;) + { + if ((localt.d != null) && (localt.d.f() != 0)) + { + this.mG.d = localt.d; + RequestReportError(0, paramArrayOfByte2._sig, paramArrayOfByte2._sig_key, localt.f, paramLong1, 1); + } + t.b(); + localt.h(); + util.LOGI("wtlogin login with GetA1WithA1:" + paramString + " dwSrcAppid:" + paramLong1 + " dwMainSigMap:" + i + " dwSubSrcAppid:" + paramLong2 + " dstAppName:" + new String(paramArrayOfByte1) + " dwDstAppid:" + paramLong4 + " dwSubDstAppid:" + paramLong5 + " Seq:" + localt.h + " ret=" + paramInt1, paramString); + return paramInt1; + l1 = Long.parseLong(paramString); + label724: + localt.f = l1; + localt.j(); + localObject = GetA1ByAccount(paramString, paramLong1); + byte[] arrayOfByte = GetNoPicSigByAccount(paramString, paramLong1); + if ((localObject == null) || (localObject.length <= 0)) + { + util.LOGI("user:" + paramString + " have no a1 or pic_sig.", paramString); + paramInt1 = -1016; + break; + } + util.LOGI("user:" + paramString + " login with A1 exchange A1.", paramString); + paramInt2 = new l(localt).a(l1, paramLong1, paramLong2, 1, i, (byte[])localObject, arrayOfByte, this.mMiscBitmap, this.mSubSigMap, null, paramArrayOfByte1, paramLong3, paramLong4, paramLong5, paramArrayOfByte2, paramArrayOfByte3, paramWUserSigInfo); + paramInt1 = paramInt2; + if (paramInt2 != 0) { + break; + } + paramArrayOfByte2 = localt.a(l1, paramLong1); + if (paramArrayOfByte2 == null) + { + paramInt1 = -1004; + break; + } + paramWUserSigInfo.get_clone(paramArrayOfByte2); + paramWFastLoginInfo.get_clone(localt.j); + paramInt1 = paramInt2; + break; + RequestReportError(0, paramArrayOfByte2._sig, paramArrayOfByte2._sig_key, localt.f, paramLong1, 0); + } + } + } + + private int GetFastLoginInfo(byte[] paramArrayOfByte, async_context paramasync_context) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 3) || (paramasync_context == null)) { + return -1017; + } + oicq.wlogin_sdk.b.h localh = new oicq.wlogin_sdk.b.h(); + oicq.wlogin_sdk.b.n localn = new oicq.wlogin_sdk.b.n(); + bc localbc = new bc(); + Object localObject = new ao(); + int i = paramArrayOfByte.length; + if (localh.b(paramArrayOfByte, 3, i) < 0) + { + util.LOGI("fast login info no tgtgt data", ""); + return -1017; + } + if (localn.b(paramArrayOfByte, 3, i) < 0) + { + util.LOGI("fast login info no gtkey data", ""); + return -1017; + } + if (localbc.b(paramArrayOfByte, 3, i) < 0) + { + util.LOGI("fast login info no nopicsig data", ""); + return -1017; + } + if (((ao)localObject).b(paramArrayOfByte, 3, i) > 0) + { + paramArrayOfByte = ((ao)localObject).b(); + localObject = t.y; + util.LOGD("new imei:" + util.buf_to_string(paramArrayOfByte) + " old imei:" + util.buf_to_string((byte[])localObject)); + if (!Arrays.equals(paramArrayOfByte, (byte[])localObject)) + { + util.LOGI("fast login info imei not equal", ""); + util.save_file_imei(t.r, paramArrayOfByte); + t.y = (byte[])paramArrayOfByte.clone(); + t.z = (byte[])paramArrayOfByte.clone(); + } + } + paramasync_context._tmp_pwd = j.b(localh.b(), localn.b()); + paramasync_context._tmp_no_pic_sig = localbc.b(); + return 0; + } + + public static WFastLoginInfo GetFastLoginUrl(String paramString, long paramLong) + { + if (paramString != null) { + try + { + if (paramString.length() != 0) + { + util.LOGI("packageName:" + paramString + " uin:" + paramLong, ""); + if (paramLong == 1689053018L) {} + for (String str = "http://imgcache.qq.com/wtlogin" + "/test";; str = "http://imgcache.qq.com/wtlogin" + "/app") + { + paramString = paramString.split("\\."); + int i = 0; + while (i < paramString.length) + { + str = str + "/"; + str = str + paramString[i]; + i += 1; + } + } + paramString = new WFastLoginInfo(); + paramString.iconUrl = (str + "/icon.png"); + paramString.adUrl = (str + "/ad_img.png"); + paramString.profileUrl = (str + "/profile.js"); + return paramString; + } + } + catch (Exception paramString) + { + return null; + } + } + return null; + } + + private byte[] GetNoPicSigByAccount(String paramString, long paramLong) + { + if (paramString == null) { + return null; + } + long l1; + Object localObject; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = this.mG.b(paramString); + l1 = l2; + if (l2 != 0L) { + break label110; + } + localObject = null; + } + while ((localObject == null) || (localObject._noPicSig == null) || (localObject._noPicSig.length <= 0)) + { + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " GetNoPicSigByAccount return: null", paramString); + return null; + l1 = Long.parseLong(paramString); + label110: + WloginSigInfo localWloginSigInfo = this.mG.a(l1, paramLong); + localObject = localWloginSigInfo; + if (localWloginSigInfo == null) { + localObject = localWloginSigInfo; + } + } + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " GetNoPicSigByAccount return: not null", paramString); + return (byte[])localObject._noPicSig.clone(); + } + + private int GetStWithPasswd(String paramString1, long paramLong1, int paramInt1, long paramLong2, long[] paramArrayOfLong, boolean paramBoolean1, String paramString2, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte, boolean paramBoolean2, int paramInt2) + { + if ((paramString1 == null) || (paramWUserSigInfo == null)) { + return -1017; + } + int j = paramInt1 | 0xC0; + if (paramInt2 == 0) + { + new HelperThread(this, this.mHelperHandler, paramString1, paramLong1, j, paramLong2, paramArrayOfLong, paramBoolean1, paramString2, paramWUserSigInfo, paramArrayOfByte, paramBoolean2, "GetStWithPasswd").RunReq(0); + return -1001; + } + paramInt1 = 1; + t localt; + async_context localasync_context; + Object localObject; + label489: + long l2; + long l1; + if ((paramBoolean2) && (!oicq.wlogin_sdk.a.h.v)) + { + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + localasync_context = t.b(localt.h); + util.LOGI("wtlogin login with GetStWithPasswd:user:" + paramString1 + " dwAppid:" + paramLong1 + " dwMainSigMap:" + j + " dwSubAppid:" + paramLong2 + " Seq:" + localt.h + " ...", paramString1); + localasync_context._isSmslogin = paramBoolean2; + localObject = paramString2; + if (paramBoolean2) + { + localObject = paramString2; + if (paramString2.length() == 0) { + localObject = localasync_context._mpasswd; + } + } + oicq.wlogin_sdk.a.h.v = false; + oicq.wlogin_sdk.a.h.x = ""; + paramString2 = (String)localObject; + if (localObject != null) + { + paramString2 = (String)localObject; + if (((String)localObject).length() > 16) { + paramString2 = ((String)localObject).substring(0, 16); + } + } + paramInt2 = util.get_saved_network_type(this.mContext); + t.B = util.get_network_type(this.mContext); + if (paramInt2 != t.B) + { + util.set_net_retry_type(this.mContext, 0); + util.save_network_type(this.mContext, t.B); + } + t.D = util.get_apn_string(this.mContext).getBytes(); + localt.g = paramString1; + localt.f = 0L; + localasync_context._sappid = paramLong1; + localasync_context._appid = paramLong1; + localasync_context._sub_appid_list = null; + localasync_context._sub_appid = paramLong2; + localasync_context._main_sigmap = j; + localasync_context._login_bitmap = paramWUserSigInfo._login_bitmap; + localasync_context._last_err_msg = new ErrMsg(); + if (paramArrayOfLong != null) { + localasync_context._sub_appid_list = ((long[])paramArrayOfLong.clone()); + } + if ((paramWUserSigInfo._reserveData == null) || (paramWUserSigInfo._reserveData.length <= 3)) { + break label921; + } + localt.i = util.buf_to_int32(paramWUserSigInfo._reserveData, 0); + util.LOGI("MSF SSO SEQ:" + localt.i, paramString1); + t.ag.add_t2(new report_t2("login", new String(t.A), System.currentTimeMillis(), paramLong1, paramLong2, paramArrayOfLong)); + if (util.check_uin_account(paramString1).booleanValue()) { + break label930; + } + l2 = localt.b(paramString1); + l1 = l2; + if (l2 == 0L) + { + paramInt1 = 0; + l1 = l2; + } + label559: + if ((paramString2 == null) || (paramString2.length() <= 0)) { + break label962; + } + if (!paramBoolean1) { + break label949; + } + } + try + { + localasync_context._tmp_pwd = ((byte[])paramString2.getBytes("ISO-8859-1").clone()); + label596: + localasync_context._tmp_pwd_type = 0; + label602: + if (paramInt1 != 0) { + break label1197; + } + if (paramString1.length() <= util.MAX_NAME_LEN) { + break label1113; + } + paramInt1 = -1008; + } + catch (Exception paramArrayOfLong) + { + label921: + label930: + for (;;) + { + label622: + paramInt1 = -1013; + } + } + paramArrayOfLong = GetUserSigInfoTicket(paramWUserSigInfo, 128); + if (paramArrayOfLong == null) { + paramArrayOfLong = new Ticket(); + } + for (;;) + { + t.ag.commit_t2(localt.f, localt.g, util.format_ret_code(paramInt1), paramInt1); + if (paramInt1 == 0) { + if ((paramArrayOfLong._sig != null) && (paramArrayOfLong._sig.length != 0)) { + RequestReport(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, localt.f, localasync_context._appid); + } + } + for (;;) + { + if ((localt.d != null) && (localt.d.f() != 0)) + { + this.mG.d = localt.d; + RequestReportError(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, localt.f, localasync_context._appid, 1); + } + t.b(); + localt.h(); + util.LOGI("wtlogin login with GetStWithPasswd:user:" + paramString1 + " dwAppid:" + paramLong1 + " dwMainSigMap:" + j + " dwSubAppid:" + paramLong2 + " Seq:" + localt.h + " ret=" + paramInt1, "" + localt.f); + return paramInt1; + localt = this.mG.a(0L); + paramWUserSigInfo._seqence = localt.h; + this.mAysncSeq = localt.h; + break; + localt.i = 0; + break label489; + l1 = Long.parseLong(paramString1); + break label559; + label949: + localasync_context._tmp_pwd = MD5.toMD5Byte(paramString2); + break label596; + label962: + if ((paramWUserSigInfo._fastLoginBuf != null) && (paramWUserSigInfo._fastLoginBuf.length > 0)) + { + util.LOGI("GetFastLoginInfo ...", paramString1); + if (GetFastLoginInfo(paramWUserSigInfo._fastLoginBuf, localasync_context) >= 0) { + break label1052; + } + util.LOGI("GetFastLoginInfo failed", paramString1); + paramInt1 = -1017; + break label622; + } + if ((oicq.wlogin_sdk.code2d.c.q != null) && (oicq.wlogin_sdk.code2d.c.q.length > 0)) + { + localasync_context._tmp_pwd = oicq.wlogin_sdk.code2d.c.q; + localasync_context._tmp_no_pic_sig = oicq.wlogin_sdk.code2d.c.r; + oicq.wlogin_sdk.code2d.c.q = null; + oicq.wlogin_sdk.code2d.c.r = null; + } + for (;;) + { + label1052: + if ((localasync_context._tmp_pwd != null) && (localasync_context._tmp_pwd.length >= 16)) { + break label1104; + } + paramInt1 = -1016; + break; + localasync_context._tmp_pwd = GetA1ByAccount(paramString1, paramLong1); + localasync_context._tmp_no_pic_sig = GetNoPicSigByAccount(paramString1, paramLong1); + } + label1104: + localasync_context._tmp_pwd_type = 1; + break label602; + label1113: + paramInt2 = new s(localt).a(paramLong1, paramLong2, 1, j, paramString1.getBytes(), t.w, 0, 0, 1, this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, paramWUserSigInfo); + paramInt1 = paramInt2; + if (paramInt2 != 0) { + break label622; + } + l1 = localt.b(paramString1); + if ((localasync_context._msalt == 0L) && (l1 == 0L)) + { + paramInt1 = -1003; + break label622; + } + label1197: + if (oicq.wlogin_sdk.a.h.w != 0L) + { + localasync_context._msalt = oicq.wlogin_sdk.a.h.w; + oicq.wlogin_sdk.a.h.w = 0L; + } + localt.f = l1; + paramWUserSigInfo.uin = ("" + l1); + if ((paramWUserSigInfo._in_ksid != null) && (paramWUserSigInfo._in_ksid.length > 0)) {} + for (paramString2 = (byte[])paramWUserSigInfo._in_ksid.clone();; paramString2 = t.Y) + { + if (localasync_context._tmp_pwd_type == 0) { + break label1530; + } + util.LOGI("user:" + paramString1 + " login with saved A1.", "" + localt.f); + paramInt1 = new k(localt).a(paramLong1, paramLong2, localt.f, 0, t.ab, localasync_context._tmp_pwd, localasync_context._tmp_no_pic_sig, this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, j, paramLong2, t.w, 0, 0, 1, paramString2, paramWUserSigInfo); + paramInt2 = paramInt1; + if (paramInt1 == 204) { + paramInt2 = new p(localt).a(this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, paramWUserSigInfo); + } + paramInt1 = paramInt2; + if (paramInt2 != 0) { + break; + } + l2 = l1; + if (l1 == 0L) + { + l2 = localt.b(paramString1); + localt.f = l2; + paramWUserSigInfo.uin = ("" + l2); + } + paramString2 = localt.a(l2, paramLong1); + if (paramString2 != null) { + break label1680; + } + paramInt1 = -1004; + break; + } + label1530: + util.LOGI("user:" + paramString1 + " login with input password.", "" + localt.f); + localObject = new byte[4]; + util.int64_to_buf32((byte[])localObject, 0, System.currentTimeMillis() / 1000L + t.aa); + if (paramBoolean2) {} + for (paramInt1 = 3;; paramInt1 = 1) + { + paramInt1 = new k(localt).a(paramLong1, paramLong2, localt.f, 0, t.ab, (byte[])localObject, localasync_context._tmp_pwd, paramInt1, this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, j, paramLong2, t.w, 0, 0, 1, paramString2, paramWUserSigInfo); + break; + } + label1680: + paramWUserSigInfo.get_clone(paramString2); + paramInt1 = paramInt2; + if (paramArrayOfLong == null) { + break label622; + } + paramInt1 = paramInt2; + if (paramArrayOfByte == null) { + break label622; + } + paramInt1 = paramInt2; + if (paramArrayOfLong.length * 2 != paramArrayOfByte.length) { + break label622; + } + int i = 0; + for (;;) + { + paramInt1 = paramInt2; + if (paramArrayOfLong == null) { + break; + } + paramInt1 = paramInt2; + if (i >= paramArrayOfLong.length) { + break; + } + paramString2 = localt.a(l2, paramArrayOfLong[i]); + if (paramString2 != null) + { + paramArrayOfByte[(i * 2)] = ((byte[])paramString2._userSt_Key.clone()); + paramArrayOfByte[(i * 2 + 1)] = ((byte[])paramString2._userStSig.clone()); + } + i += 1; + } + if ((paramInt1 != 2) && (paramInt1 != 160)) { + RequestReportError(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, localt.f, localasync_context._appid, 0); + } + } + } + } + + private int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, long paramLong3, int paramInt1, long paramLong4, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, byte[][] paramArrayOfByte2, int paramInt2, WtTicketPromise paramWtTicketPromise) + { + if ((paramString == null) || (paramWUserSigInfo == null)) { + return -1017; + } + int i = paramInt1 | 0xC0; + if (paramInt2 == 0) + { + new HelperThread(this, this.mHelperHandler, paramWtTicketPromise, paramString, paramLong1, paramLong2, paramLong3, i, paramLong4, paramArrayOfLong, paramWUserSigInfo, paramArrayOfByte1, paramArrayOfByte2, "GetStWithoutPasswd").RunReq(5); + return -1001; + } + paramWtTicketPromise = this.mG.a(0L); + paramWUserSigInfo._seqence = paramWtTicketPromise.h; + async_context localasync_context = t.b(paramWtTicketPromise.h); + util.LOGI("wtlogin login with GetStWithoutPasswd:user:" + paramString + " dwSrcAppid:" + paramLong1 + " dwDstAppid:" + paramLong2 + " dwDstAppPri:" + paramLong3 + " dwMainSigMap:" + i + " dwSubDstAppid:" + paramLong4 + " Seq:" + paramWtTicketPromise.h + " ...", paramString); + paramInt1 = util.get_saved_network_type(this.mContext); + t.B = util.get_network_type(this.mContext); + if (paramInt1 != t.B) + { + util.set_net_retry_type(this.mContext, 0); + util.save_network_type(this.mContext, t.B); + } + t.D = util.get_apn_string(this.mContext).getBytes(); + paramWtTicketPromise.g = paramString; + paramWtTicketPromise.f = 0L; + localasync_context._sappid = paramLong1; + localasync_context._appid = paramLong2; + localasync_context._sub_appid = paramLong4; + localasync_context._main_sigmap = i; + localasync_context._last_err_msg = new ErrMsg(); + if (paramArrayOfLong != null) { + localasync_context._sub_appid_list = ((long[])paramArrayOfLong.clone()); + } + long l1; + if ((paramWUserSigInfo._reserveData != null) && (paramWUserSigInfo._reserveData.length > 3)) + { + paramWtTicketPromise.i = util.buf_to_int32(paramWUserSigInfo._reserveData, 0); + util.LOGI("MSF SSO SEQ:" + paramWtTicketPromise.i, paramString); + t.ag.add_t2(new report_t2("exchg", new String(t.A), System.currentTimeMillis(), paramLong2, paramLong4, paramArrayOfLong)); + if (util.check_uin_account(paramString).booleanValue()) { + break label779; + } + long l2 = paramWtTicketPromise.b(paramString); + l1 = l2; + if (l2 != 0L) { + break label785; + } + util.LOGI("user:" + paramString + " have not found uin record.", paramString); + paramInt1 = -1003; + } + label779: + label1804: + for (;;) + { + label481: + paramArrayOfLong = GetUserSigInfoTicket(paramWUserSigInfo, 128); + if (paramArrayOfLong == null) { + paramArrayOfLong = new Ticket(); + } + for (;;) + { + t.ag.commit_t2(paramWtTicketPromise.f, paramWtTicketPromise.g, util.format_ret_code(paramInt1), paramInt1); + if (paramInt1 == 0) { + if ((paramArrayOfLong._sig != null) && (paramArrayOfLong._sig.length != 0)) { + RequestReport(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, paramWtTicketPromise.f, localasync_context._appid); + } + } + for (;;) + { + if ((paramWtTicketPromise.d != null) && (paramWtTicketPromise.d.f() != 0)) + { + this.mG.d = paramWtTicketPromise.d; + RequestReportError(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, paramWtTicketPromise.f, localasync_context._appid, 1); + } + t.b(); + paramWtTicketPromise.h(); + util.LOGI("wtlogin login with GetStWithoutPasswd:user:" + paramString + " dwSrcAppid:" + paramLong1 + " dwDstAppid:" + paramLong2 + " dwDstAppPri:" + paramLong3 + " dwMainSigMap:" + i + " dwSubDstAppid:" + paramLong4 + " Seq:" + paramWtTicketPromise.h + " ret=" + paramInt1, "" + paramWtTicketPromise.f); + return paramInt1; + paramWtTicketPromise.i = 0; + break; + l1 = Long.parseLong(paramString); + label785: + paramWtTicketPromise.f = l1; + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length == 4) && (paramArrayOfByte2[0] != null) && (paramArrayOfByte2[0].length == 1) && (paramArrayOfByte2[0][0] == 1)) + { + util.LOGI("user:" + paramString + " exchange A2 from A2/D2/KEY.", "" + paramWtTicketPromise.f); + if ((paramArrayOfByte2[1] == null) || (paramArrayOfByte2[1].length == 0) || (paramArrayOfByte2[2] == null) || (paramArrayOfByte2[2].length == 0) || (paramArrayOfByte2[3] == null) || (paramArrayOfByte2[3].length == 0)) + { + paramInt1 = -1004; + break label481; + } + paramWtTicketPromise.b = MD5.toMD5Byte(paramArrayOfByte2[3]); + paramInt1 = new m(paramWtTicketPromise).a(l1, paramLong2, paramLong4, 1, i, paramArrayOfByte2[1], this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, paramArrayOfByte2[2], paramWUserSigInfo); + } + for (;;) + { + if (paramInt1 != 0) { + break label1804; + } + paramArrayOfByte2 = paramWtTicketPromise.a(l1, paramLong2); + if (paramArrayOfByte2 != null) { + break label1666; + } + paramInt1 = -1004; + break; + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length == 3) && (paramArrayOfByte2[0] != null) && (paramArrayOfByte2[0].length == 1) && (paramArrayOfByte2[0][0] == 2)) + { + util.LOGI("user:" + paramString + " exchange A2 from A2/A2KEY.", "" + paramWtTicketPromise.f); + if ((paramArrayOfByte2[1] == null) || (paramArrayOfByte2[1].length == 0) || (paramArrayOfByte2[2] == null) || (paramArrayOfByte2[2].length == 0)) + { + paramInt1 = -1004; + break; + } + paramWtTicketPromise.b = paramArrayOfByte2[2]; + paramInt1 = new m(paramWtTicketPromise).a(l1, paramLong2, paramLong4, 1, i, paramArrayOfByte2[1], this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, null, paramWUserSigInfo); + continue; + } + paramWtTicketPromise.j(); + byte[] arrayOfByte1 = GetA1ByAccount(String.valueOf(paramWtTicketPromise.f), paramLong1); + byte[] arrayOfByte2 = GetNoPicSigByAccount(String.valueOf(paramWtTicketPromise.f), paramLong1); + if ((arrayOfByte1 != null) && (arrayOfByte1.length > 0) && (arrayOfByte2 != null) && (arrayOfByte2.length > 0)) + { + util.LOGI("user:" + paramString + " exchange A2 from A1.", "" + paramWtTicketPromise.f); + localasync_context._tmp_pwd = arrayOfByte1; + localasync_context._tmp_no_pic_sig = arrayOfByte2; + if ((paramWUserSigInfo._in_ksid != null) && (paramWUserSigInfo._in_ksid.length > 0)) {} + for (paramArrayOfByte2 = (byte[])paramWUserSigInfo._in_ksid.clone();; paramArrayOfByte2 = t.Y) + { + paramInt2 = new y(paramWtTicketPromise).a(paramLong2, 1, paramWtTicketPromise.f, 0, t.ab, arrayOfByte1, arrayOfByte2, this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, i, paramLong4, 1, t.w, 0, 0, 1, paramArrayOfByte2, paramLong1, paramWUserSigInfo); + paramInt1 = paramInt2; + if (paramInt2 == 204) { + paramInt1 = new p(paramWtTicketPromise).a(this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, paramWUserSigInfo); + } + break; + } + } + util.LOGI("user:" + paramString + " exchange A2 from A2.", "" + paramWtTicketPromise.f); + paramArrayOfByte2 = paramWtTicketPromise.a(l1, paramLong1); + if ((paramArrayOfByte2 == null) || (paramArrayOfByte2._TGT == null) || (paramArrayOfByte2._TGT.length == 0) || (paramArrayOfByte2.iSExpireA2(t.f()))) + { + paramInt1 = -1004; + break; + } + util.LOGI("user:" + paramString + " exchange A2 from A2 without Priority.", "" + paramWtTicketPromise.f); + paramWtTicketPromise.b = paramArrayOfByte2._TGTKey; + paramInt1 = new m(paramWtTicketPromise).a(l1, paramLong2, paramLong4, 1, i, paramArrayOfByte2._TGT, this.mMiscBitmap, this.mSubSigMap, paramArrayOfLong, null, paramWUserSigInfo); + } + paramWUserSigInfo.get_clone(paramArrayOfByte2); + if ((paramArrayOfLong == null) || (paramArrayOfByte1 == null) || (paramArrayOfLong.length * 2 != paramArrayOfByte1.length)) { + break label1804; + } + paramInt2 = 0; + while (paramInt2 < paramArrayOfLong.length) + { + paramArrayOfByte2 = paramWtTicketPromise.a(l1, paramArrayOfLong[paramInt2]); + if (paramArrayOfByte2 != null) + { + paramArrayOfByte1[(paramInt2 * 2)] = ((byte[])paramArrayOfByte2._userSt_Key.clone()); + paramArrayOfByte1[(paramInt2 * 2 + 1)] = ((byte[])paramArrayOfByte2._userStSig.clone()); + } + paramInt2 += 1; + } + RequestReportError(0, paramArrayOfLong._sig, paramArrayOfLong._sig_key, paramWtTicketPromise.f, localasync_context._appid, 0); + } + } + } + } + + private int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, long paramLong3, int paramInt, WUserSigInfo paramWUserSigInfo, WtTicketPromise paramWtTicketPromise) + { + return GetStWithoutPasswd(paramString, paramLong1, paramLong2, -1L, paramInt, paramLong3, null, paramWUserSigInfo, (byte[][])null, (byte[][])null, 0, paramWtTicketPromise); + } + + public static byte[] GetTicketSig(WUserSigInfo paramWUserSigInfo, int paramInt) + { + paramWUserSigInfo = GetUserSigInfoTicket(paramWUserSigInfo, paramInt); + if (paramWUserSigInfo != null) { + return paramWUserSigInfo._sig; + } + return new byte[0]; + } + + public static byte[] GetTicketSigKey(WUserSigInfo paramWUserSigInfo, int paramInt) + { + if ((paramInt != 64) && (paramInt != 262144) && (paramInt != 128) && (paramInt != 16384) && (paramInt != 32768) && (paramInt != 16777216)) { + throw null; + } + paramWUserSigInfo = GetUserSigInfoTicket(paramWUserSigInfo, paramInt); + if (paramWUserSigInfo != null) { + return paramWUserSigInfo._sig_key; + } + return new byte[0]; + } + + public static Ticket GetUserSigInfoTicket(WUserSigInfo paramWUserSigInfo, int paramInt) + { + if (paramInt == 4194304) + { + util.LOGI("get lhsig", ""); + return new Ticket(4194304, WloginSigInfo._LHSig, null, t.f(), 0L); + } + if (paramInt == 67108864) + { + util.LOGI("get qrpushsig", ""); + return new Ticket(67108864, WloginSigInfo._QRPUSHSig, null, t.f(), 0L); + } + if (paramWUserSigInfo == null) + { + util.LOGI("userInfo is null " + Integer.toHexString(paramInt), ""); + return null; + } + if (paramWUserSigInfo._tickets == null) + { + util.LOGI("tickets is null " + Integer.toHexString(paramInt), paramWUserSigInfo.uin); + return null; + } + util.LOGI(" ticket type:" + Integer.toHexString(paramInt), ""); + if (paramWUserSigInfo._tickets != null) + { + int i = 0; + while (i < paramWUserSigInfo._tickets.size()) + { + Ticket localTicket = (Ticket)paramWUserSigInfo._tickets.get(i); + if (localTicket._type == paramInt) + { + util.LOGI(" type:" + Integer.toHexString(paramInt) + " sig:" + util.buf_len(localTicket._sig) + " key:" + util.buf_len(localTicket._sig_key) + " create time:" + localTicket._create_time + " expire time:" + localTicket._expire_time, ""); + return localTicket; + } + i += 1; + } + } + return null; + } + + private void OnDeviceLockRequest(String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo, int paramInt) + { + DevlockRst localDevlockRst = DevlockBase.rst; + localDevlockRst.commRsp = new TLV_CommRsp(); + DevlockInfo localDevlockInfo = new DevlockInfo(); + ErrMsg localErrMsg = new ErrMsg(0, "", "", ""); + if (paramInt != 0) + { + util.LOGI("OnDeviceLockRequest ret:" + paramInt, paramString); + localErrMsg.setMessage(util.get_error_msg(paramInt)); + localErrMsg.setTitle(InternationMsg.a(InternationMsg.MSG_TYPE.MSG_5)); + } + int i; + label630: + int j; + switch (paramTransReqContext.get_subcmd()) + { + case 6: + case 9: + case 10: + case 11: + default: + return; + case 5: + i = paramInt; + if (paramInt == 0) + { + paramInt = new oicq.wlogin_sdk.devicelock.a().parse_rsp(paramTransReqContext.get_body()); + util.LOGI("CheckDevLockStatus ret:" + paramInt, paramString); + i = paramInt; + if (paramInt != -1009) + { + tlvCommRsp2ErrMsg(localDevlockRst.commRsp, localErrMsg); + if ((localDevlockRst.devSetupInfo != null) && (localDevlockRst.devSetupInfo.get_data_len() > 0)) + { + localDevlockInfo.DevSetup = localDevlockRst.devSetupInfo.a; + localDevlockInfo.AllowSet = localDevlockRst.devSetupInfo.b; + if ((localDevlockRst.devGuideInfo == null) || (localDevlockRst.devGuideInfo.get_data_len() <= 0)) { + break label630; + } + } + } + } + for (localDevlockInfo.ProtectIntro = new String(localDevlockRst.devGuideInfo.a);; localDevlockInfo.ProtectIntro = new String(localDevlockRst.devSetupInfo.d)) + { + localDevlockInfo.WarningInfo = new String(localDevlockRst.devSetupInfo.g); + localDevlockInfo.WarningTitle = new String(localDevlockRst.devSetupInfo.e); + localDevlockInfo.WarningMsg = new String(localDevlockRst.devSetupInfo.f); + localDevlockInfo.WarningInfoType = localDevlockRst.devSetupInfo.c; + if ((localDevlockRst.mbMobileInfo != null) && (localDevlockRst.mbMobileInfo.get_data_len() > 0)) + { + localDevlockInfo.CountryCode = new String(localDevlockRst.mbMobileInfo.a); + localDevlockInfo.Mobile = new String(localDevlockRst.mbMobileInfo.b); + localDevlockInfo.MbItemSmsCodeStatus = localDevlockRst.mbMobileInfo.c; + localDevlockInfo.AvailableMsgCount = localDevlockRst.mbMobileInfo.d; + localDevlockInfo.TimeLimit = localDevlockRst.mbMobileInfo.e; + } + if ((localDevlockRst.mbGuideInfo != null) && (localDevlockRst.mbGuideInfo.get_data_len() > 0)) + { + localDevlockInfo.MbGuideType = localDevlockRst.mbGuideInfo.c; + localDevlockInfo.MbGuideInfoType = localDevlockRst.mbGuideInfo.d; + localDevlockInfo.MbGuideInfo = new String(localDevlockRst.mbGuideInfo.b); + localDevlockInfo.MbGuideMsg = new String(localDevlockRst.mbGuideInfo.a); + } + i = paramInt; + if (localDevlockRst.transferInfo != null) + { + i = paramInt; + if (localDevlockRst.transferInfo.get_data_len() > 0) + { + localDevlockInfo.TransferInfo = localDevlockRst.transferInfo.get_data(); + i = paramInt; + } + } + if (this.mListener == null) { + break; + } + this.mListener.OnCheckDevLockStatus(paramWUserSigInfo, localDevlockInfo, i, localErrMsg); + return; + } + case 12: + i = paramInt; + if (paramInt == 0) + { + j = new oicq.wlogin_sdk.devicelock.b().parse_rsp(paramTransReqContext.get_body()); + util.LOGI("CloseDevLock ret:" + j, paramString); + i = j; + if (j != -1009) { + tlvCommRsp2ErrMsg(localDevlockRst.commRsp, localErrMsg); + } + } + break; + } + for (;;) + { + try + { + if (!util.check_uin_account(paramString).booleanValue()) + { + paramLong2 = this.mG.b(paramString); + this.mG.b(paramLong2, paramLong1); + paramInt = 0; + i = j; + if (paramInt < paramWUserSigInfo._tickets.size()) + { + if (((Ticket)paramWUserSigInfo._tickets.get(paramInt))._type != 33554432) { + break label1097; + } + paramWUserSigInfo._tickets.remove(paramInt); + break label1097; + } + } + else + { + paramLong2 = Long.parseLong(paramString); + continue; + } + if (this.mListener == null) { + break; + } + } + catch (Exception paramString) + { + util.printException(paramString); + i = j; + } + this.mListener.OnCloseDevLock(paramWUserSigInfo, i, localErrMsg); + return; + i = paramInt; + if (paramInt == 0) + { + paramInt = new oicq.wlogin_sdk.devicelock.d().parse_rsp(paramTransReqContext.get_body()); + util.LOGI("AskDevLockSms ret:" + paramInt, paramString); + i = paramInt; + if (paramInt != -1009) + { + tlvCommRsp2ErrMsg(localDevlockRst.commRsp, localErrMsg); + i = paramInt; + if (localDevlockRst.smsInfo != null) + { + localDevlockInfo.AvailableMsgCount = localDevlockRst.smsInfo.a; + localDevlockInfo.TimeLimit = localDevlockRst.smsInfo.b; + i = paramInt; + } + } + } + if (this.mListener == null) { + break; + } + this.mListener.OnAskDevLockSms(paramWUserSigInfo, localDevlockInfo, i, localErrMsg); + return; + i = paramInt; + if (paramInt == 0) + { + paramInt = new oicq.wlogin_sdk.devicelock.f().parse_rsp(paramTransReqContext.get_body()); + util.LOGI("CheckDevLockSms ret:" + paramInt, paramString); + i = paramInt; + if (paramInt != -1009) + { + tlvCommRsp2ErrMsg(localDevlockRst.commRsp, localErrMsg); + i = paramInt; + } + } + if (this.mListener == null) { + break; + } + this.mListener.OnCheckDevLockSms(paramWUserSigInfo, i, localErrMsg); + return; + label1097: + paramInt += 1; + } + } + + private void OnRequestCode2d(String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo, int paramInt) + { + if (this.mListener == null) { + return; + } + oicq.wlogin_sdk.code2d.c localc = oicq.wlogin_sdk.code2d.b._status; + if (paramInt != 0) { + util.LOGI("OnRequestCode2d ret:" + paramInt, paramString); + } + switch (paramTransReqContext.get_subcmd()) + { + default: + util.LOGW("OnRequestName unhandle cmd", "", paramString); + this.mListener.OnException(new ErrMsg(), 9, paramWUserSigInfo); + return; + case 19: + if (paramInt != 0) + { + this.mListener.OnVerifyCode(paramString, localc.d, localc.c, localc.e, paramWUserSigInfo, localc.f, paramInt); + return; + } + localc.b = new oicq.wlogin_sdk.code2d.e().a(paramTransReqContext.get_body()); + util.LOGI("VerifyCode ret:" + localc.b, paramString); + if ((localc.b == 0) && (localc.g != null) && (localc.g.length > 0)) { + this.mG.a(localc.a, paramLong1, localc.g); + } + this.mListener.OnVerifyCode(paramString, localc.d, localc.c, localc.e, paramWUserSigInfo, localc.f, localc.b); + return; + case 20: + if (paramInt != 0) + { + this.mListener.OnCloseCode(paramString, localc.d, localc.c, paramWUserSigInfo, localc.f, paramInt); + return; + } + localc.b = new oicq.wlogin_sdk.code2d.a().a(paramTransReqContext.get_body(), paramLong1, t.r); + util.LOGI("CloseCode ret:" + localc.b, paramString); + oicq.wlogin_sdk.code2d.c.s = false; + this.mListener.OnCloseCode(paramString, localc.d, localc.c, paramWUserSigInfo, localc.f, localc.b); + return; + case 49: + if (paramInt == 0) + { + paramInt = new fetch_code().get_response(paramTransReqContext.get_body()); + util.LOGI("FetchCodeSig ret:" + localc.b, paramString); + } + break; + } + for (;;) + { + this.mListener.OnFetchCodeSig(localc.j, localc.k, localc.l, paramWUserSigInfo, localc.f, paramInt); + return; + if (paramInt == 0) + { + paramInt = new oicq.wlogin_sdk.code2d.d().a(paramTransReqContext.get_body()); + util.LOGI("QueryCodeResult ret:" + localc.b, paramString); + } + for (;;) + { + this.mListener.OnQueryCodeResult(localc.a, localc.e, localc.c, paramWUserSigInfo, localc.f, paramInt); + return; + } + } + } + + private void OnRequestRegister(String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo, int paramInt) + { + String str = InternationMsg.a(InternationMsg.MSG_TYPE.MSG_3); + if (paramInt != 0) { + if (this.mListener != null) { + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + } + } + label351: + do + { + oicq.wlogin_sdk.a.h localh; + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + do + { + return; + localh = this.mRegStatus; + if (paramTransReqContext.get_subcmd() != 10) { + break label351; + } + paramInt = oicq.wlogin_sdk.a.a.a(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + if (localh.d != 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegCheckDownloadMsg(paramWUserSigInfo, localh.l, localh.m); + return; + if (localh.d != 2) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegCheckUploadMsg(paramWUserSigInfo, localh.n, localh.o); + return; + if (localh.d != 3) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegCheckValidUrl(paramWUserSigInfo, localh.p); + return; + if ((localh.d == 6) || (localh.d == 44)) + { + if (this.mListener != null) { + this.mListener.OnRegCheckWebSig(paramWUserSigInfo, new String(localh.p), new String(localh.f)); + } + localh.p = new byte[0]; + return; + } + util.LOGW("OnRequestRegister 0xa return code:", String.valueOf(localh.d), paramString); + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, localh.d, localh.f); + return; + if (paramTransReqContext.get_subcmd() != 3) { + break label599; + } + paramInt = oicq.wlogin_sdk.a.a.a(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + if (localh.d != 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegQueryClientSendedMsgStatus(paramWUserSigInfo, localh.d, localh.q, localh.r); + return; + if (localh.d != 3) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegCheckValidUrl(paramWUserSigInfo, localh.p); + return; + if (localh.d != 4) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegQueryClientSendedMsgStatus(paramWUserSigInfo, localh.d, localh.q, localh.r); + return; + util.LOGW("OnRequestRegister 0x3 return code:", String.valueOf(localh.d), paramString); + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, localh.d, localh.f); + return; + if (paramTransReqContext.get_subcmd() != 4) { + break label847; + } + paramInt = oicq.wlogin_sdk.a.a.a(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + if (localh.d != 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegRequestServerResendMsg(paramWUserSigInfo, localh.d, localh.q, localh.r); + return; + if (localh.d != 3) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegCheckValidUrl(paramWUserSigInfo, localh.p); + return; + if (localh.d != 5) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegRequestServerResendMsg(paramWUserSigInfo, localh.d, localh.q, localh.r); + return; + util.LOGW("OnRequestRegister 0x4 return code:", String.valueOf(localh.d), paramString); + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, localh.d, localh.f); + return; + if (paramTransReqContext.get_subcmd() != 5) { + break label968; + } + paramInt = oicq.wlogin_sdk.a.a.b(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + } while (this.mListener == null); + this.mListener.OnRegSubmitMsgChk(paramWUserSigInfo, localh.d, localh.f); + return; + if (paramTransReqContext.get_subcmd() != 6) { + break label1368; + } + paramInt = oicq.wlogin_sdk.a.a.c(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + } while (this.mListener == null); + if ((localh.b != null) && (localh.b.indexOf("-") > 0)) + { + paramInt = localh.b.indexOf("-"); + paramString = localh.b.substring(0, paramInt); + if (!paramString.equals("86")) { + break label1290; + } + } + for (localh.b = localh.b.substring(paramInt + 1);; localh.b = ("00" + paramString + localh.b.substring(paramInt + 1))) + { + if ((localh.b != null) && (localh.b.length() != 0)) + { + this.mG.d(localh.b); + this.mG.a(localh.b, Long.valueOf(localh.s)); + } + util.LOGI("reg userAccount: " + localh.b, localh.s + ""); + if (oicq.wlogin_sdk.a.h.x.length() <= 0) { + break; + } + this.mListener.OnRegGetSMSVerifyLoginAccount(paramWUserSigInfo, localh.d, localh.s, localh.t, localh.u, localh.f); + return; + } + this.mListener.OnRegGetAccount(paramWUserSigInfo, localh.d, localh.s, localh.t, localh.u, localh.f); + return; + if (paramTransReqContext.get_subcmd() != 7) { + break label1490; + } + paramInt = oicq.wlogin_sdk.a.a.d(paramTransReqContext.get_body(), localh); + if (paramInt == 0) { + break; + } + } while (this.mListener == null); + this.mListener.OnRegError(paramWUserSigInfo, paramInt, str.getBytes()); + return; + util.LOGI("reg cmd:" + paramTransReqContext.get_subcmd() + " ret:" + localh.d, ""); + } while (this.mListener == null); + this.mListener.OnRegQueryAccount(paramWUserSigInfo, localh.d, localh.f); + return; + util.LOGW("OnRequestRegister unhandle cmd:" + paramTransReqContext.get_subcmd(), "", paramString); + } while (this.mListener == null); + label599: + label1368: + this.mListener.OnRegError(paramWUserSigInfo, -1010, str.getBytes()); + label847: + label1490: + return; + } + + private int RefreshPictureData(String paramString, WUserSigInfo paramWUserSigInfo, int paramInt) + { + int i = 0; + if ((paramString == null) || (paramWUserSigInfo == null)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramWUserSigInfo, "RefreshPictureData").RunReq(1); + return -1001; + } + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + t localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + async_context localasync_context = t.b(localt.h); + util.LOGI("user:" + paramString + " Seq:" + localt.h + " RefreshPictureData ...", "" + paramString); + localt.g = paramString; + localasync_context._last_err_msg = new ErrMsg(); + long l; + if (!util.check_uin_account(paramString).booleanValue()) + { + l = localt.b(paramString); + if (l == 0L) { + break label328; + } + paramInt = 1; + } + for (;;) + { + if (paramInt == 1) { + localt.f = l; + } + paramInt = new q(localt).a(this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + if (paramInt == 2) { + paramInt = i; + } + for (;;) + { + util.LOGI("user:" + paramString + " Seq:" + localt.h + " RefreshPictureData ret=" + paramInt, "" + paramString); + return paramInt; + l = Long.parseLong(paramString); + paramInt = 1; + break; + } + label328: + paramInt = 0; + } + } + + private int RefreshSMSData(String paramString, long paramLong, WUserSigInfo paramWUserSigInfo, int paramInt) + { + if ((paramString == null) || (paramWUserSigInfo == null)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramLong, paramWUserSigInfo, "RefreshSMSData").RunReq(3); + return -1001; + } + paramInt = 0; + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + t localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + async_context localasync_context = t.b(localt.h); + util.LOGI("user:" + paramString + " smsAppid:" + paramLong + " Seq:" + localt.h + " RefreshSMSData ...", "" + paramString); + localt.g = paramString; + localasync_context._last_err_msg = new ErrMsg(); + long l1; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = localt.b(paramString); + l1 = l2; + if (l2 != 0L) + { + paramInt = 1; + l1 = l2; + } + } + for (;;) + { + if (paramInt == 1) { + localt.f = l1; + } + int i = new r(localt).a(paramLong, this.mMiscBitmap, this.mSubSigMap, localasync_context._sub_appid_list, paramWUserSigInfo); + paramInt = i; + if (i == 160) { + paramInt = 0; + } + util.LOGI("user:" + paramString + " smsAppid:" + paramLong + " Seq:" + localt.h + " RefreshSMSData ret=" + paramInt, "" + paramString); + return paramInt; + l1 = Long.parseLong(paramString); + paramInt = 1; + } + } + + private int RefreshSMSVerifyLoginCode(String paramString, WUserSigInfo paramWUserSigInfo, int paramInt) + { + if ((paramString == null) || (paramString.length() == 0)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString, paramWUserSigInfo, "RefreshSMSVerifyLoginCode").RunReq(14); + return -1001; + } + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + Object localObject = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = ((t)localObject).h; + async_context localasync_context = t.b(((t)localObject).h); + util.LOGI("user:" + paramString + " Seq:" + ((t)localObject).h + " RefreshSMSVerifyLoginCode ...", paramString); + ((t)localObject).g = paramString; + localasync_context._last_err_msg = new ErrMsg(); + paramInt = new w((t)localObject).a(this.mMiscBitmap, this.mSubSigMap, null, paramWUserSigInfo); + localObject = new StringBuilder().append("user:").append(((t)localObject).g).append(" Seq:").append(((t)localObject).h).append(" RefreshSMSVerifyLoginCode ret="); + if (paramInt > 0) {} + for (paramWUserSigInfo = Integer.toHexString(paramInt);; paramWUserSigInfo = Integer.valueOf(paramInt)) + { + util.LOGI(paramWUserSigInfo, paramString); + return paramInt; + } + } + + private int RegSubmitMobile(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt1, int paramInt2, int paramInt3, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + if ((paramArrayOfByte2 == null) || (paramArrayOfByte2.length <= 0) || (paramArrayOfByte4 == null)) { + return -1017; + } + if (paramArrayOfByte1 == null) { + paramArrayOfByte1 = new byte[0]; + } + for (;;) + { + byte[] arrayOfByte = t.C; + long l1 = 0L; + Object localObject1 = new byte[0]; + Object localObject2 = GetLastLoginInfo(); + paramArrayOfByte3 = (byte[])localObject1; + if (localObject2 != null) + { + long l2 = ((WloginLastLoginInfo)localObject2).mUin; + localObject2 = GetLocalTicket(((WloginLastLoginInfo)localObject2).mAccount, paramLong1, 64); + l1 = l2; + paramArrayOfByte3 = (byte[])localObject1; + if (localObject2 != null) + { + l1 = l2; + paramArrayOfByte3 = (byte[])localObject1; + if (((Ticket)localObject2)._sig != null) + { + paramArrayOfByte3 = ((Ticket)localObject2)._sig; + l1 = l2; + } + } + } + util.LOGI("has uin? " + l1 + ", a2: " + paramArrayOfByte3.length); + util.LOGI("RegSubmitMobile mobile ..." + new String(paramArrayOfByte2) + " appname: " + new String(arrayOfByte) + "...", ""); + this.mRegStatus.c = new String(paramArrayOfByte2); + localObject1 = new oicq.wlogin_sdk.a.f(); + localObject2 = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + localh.k = paramArrayOfByte2; + localh.g = paramLong1; + localh.h = paramLong2; + ((TransReqContext)localObject2).set_register_req(); + ((TransReqContext)localObject2).set_subcmd(((oicq.wlogin_sdk.a.f)localObject1).a()); + ((TransReqContext)localObject2)._body = ((oicq.wlogin_sdk.a.f)localObject1).a(paramArrayOfByte2, arrayOfByte, paramArrayOfByte4, paramInt1, paramInt2, paramInt3, paramLong1, paramLong2, null, util.get_IMEI(this.mContext), util.get_IMSI(this.mContext), t.Y, l1, paramArrayOfByte3, GetGuid(), paramArrayOfByte1); + return RequestTransport(0, 1, null, 0L, localh.i, (TransReqContext)localObject2, paramWUserSigInfo); + } + } + + private int RequestInit() + { + try + { + int i = util.get_saved_network_type(this.mContext); + t.d(); + int j = ShareKeyInit(); + AsyncGenRSAKey(); + util.LOGI("WtloginHelper init ok, ret:" + j + " android version:" + new String(t.H) + " saved_network_type:" + i + " network_type:" + t.B + " release time:" + util.get_release_time() + " svn verion:" + 1396L + " at " + t.l(), ""); + return j; + } + finally {} + } + + private int RequestReport(int paramInt, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2) + { + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramArrayOfByte1, paramArrayOfByte2, paramLong1, paramLong2, "RequestReport").RunReq(7); + return -1001; + } + t localt = this.mG.a(0L); + localt.f = paramLong1; + util.LOGI("user:" + paramLong1 + " appid:" + paramLong2 + " Seq:" + localt.h + " RequestReport...", "" + paramLong1); + paramInt = new z(localt).a(paramLong1, null, paramArrayOfByte1, paramArrayOfByte2, paramLong2, new WUserSigInfo()); + localt.i(); + util.LOGI("user:" + paramLong1 + " appid:" + paramLong2 + " Seq:" + localt.h + " RequestReport ret=" + paramInt, "" + paramLong1); + return paramInt; + } + + private int RequestReportError(int paramInt1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2, int paramInt2) + { + if (paramInt1 == 0) + { + new HelperThread(this, this.mHelperHandler, paramArrayOfByte1, paramArrayOfByte2, paramLong1, paramLong2, paramInt2, "RequestReportError").RunReq(8); + return -1001; + } + t localt = this.mG.a(0L); + localt.d = this.mG.d; + localt.f = paramLong1; + util.LOGI("user:" + paramLong1 + " appid:" + paramLong2 + " Seq:" + localt.h + " RequestReportError...", "" + paramLong1); + paramInt1 = new u(localt).a(paramLong1, null, paramArrayOfByte1, paramArrayOfByte2, paramLong2, paramInt2); + util.LOGI("user:" + paramLong1 + " appid:" + paramLong2 + " Seq:" + localt.h + " RequestReportError ret=" + paramInt1, "" + paramLong1); + return paramInt1; + } + + private int ShareKeyInit() + { + if (this.isForLocal) + { + this.mG.n = util.string_to_buf("020b03cf3d99541f29ffec281bebbd4ea211292ac1f53d7128"); + this.mG.o = util.string_to_buf("4da0f614fc9f29c2054c77048a6566d7"); + return 0; + } + Object localObject = new EcdhCrypt(this.mContext); + int i = ((EcdhCrypt)localObject).GenereateKey(); + byte[] arrayOfByte = ((EcdhCrypt)localObject).get_c_pub_key(); + localObject = ((EcdhCrypt)localObject).get_g_share_key(); + if ((arrayOfByte != null) && (arrayOfByte.length > 0) && (localObject != null) && (localObject.length > 0)) { + this.mG.n = ((byte[])arrayOfByte.clone()); + } + for (this.mG.o = ((byte[])((byte[])localObject).clone());; this.mG.o = util.string_to_buf("4da0f614fc9f29c2054c77048a6566d7")) + { + return i; + this.mG.n = util.string_to_buf("020b03cf3d99541f29ffec281bebbd4ea211292ac1f53d7128"); + } + } + + private int VerifySMSVerifyLoginCode(String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo, int paramInt) + { + if ((paramString1 == null) || (paramString1.length() == 0) || (paramString2 == null) || (paramString2.length() == 0)) { + return -1017; + } + if (paramInt == 0) + { + new HelperThread(this, this.mHelperHandler, paramString1, paramString2, paramWUserSigInfo, "VerifySMSVerifyLoginCode").RunReq(13); + return -1001; + } + if (paramWUserSigInfo._seqence == 0L) { + paramWUserSigInfo._seqence = this.mAysncSeq; + } + t localt = this.mG.a(paramWUserSigInfo._seqence); + paramWUserSigInfo._seqence = localt.h; + async_context localasync_context = t.b(localt.h); + util.LOGI("user:" + localt.g + " code:" + paramString2 + " Seq:" + localt.h + " VerifySMSVerifyLoginCode ...", paramString1); + localt.g = paramString1; + localasync_context._last_err_msg = new ErrMsg(); + localasync_context._mpasswd = util.get_mpasswd(); + paramInt = new x(localt).a(paramString2, this.mMiscBitmap, this.mSubSigMap, null, paramWUserSigInfo); + paramWUserSigInfo = new StringBuilder().append("user:").append(paramString1).append(" code:").append(paramString2).append(" Seq:").append(localt.h).append(" VerifySMSVerifyLoginAccount ret="); + if (paramInt > 0) {} + for (paramString2 = Integer.toHexString(paramInt);; paramString2 = Integer.valueOf(paramInt)) + { + util.LOGI(paramString2, paramString1); + return paramInt; + } + } + + private int isPskeyExpired(int paramInt1, String[] paramArrayOfString, Ticket paramTicket, long paramLong, int paramInt2) + { + int j = 0; + int i = j; + if (paramInt1 == 1048576) + { + i = j; + if (paramArrayOfString != null) + { + i = j; + if (paramArrayOfString.length > 0) + { + i = paramArrayOfString.length; + paramInt1 = 0; + } + } + } + while (paramInt1 < i) + { + String str = paramArrayOfString[paramInt1]; + if ((paramTicket._pskey_map.get(str) == null) || (paramLong >= ((Long)paramTicket._pskey_expire.get(str)).longValue())) + { + if (paramInt2 == 1) + { + i = 1; + return i; + } + RefreshMemorySig(); + return 2; + } + paramInt1 += 1; + } + return 3; + } + + private void localInit(Context paramContext, boolean paramBoolean) + { + this.isForLocal = paramBoolean; + try + { + this.mContext = paramContext.getApplicationContext(); + this.mG.a(paramContext); + RequestInit(); + return; + } + catch (Throwable localThrowable) + { + for (;;) + { + this.mContext = paramContext; + util.printThrowable(localThrowable, ""); + } + } + } + + private Handler newHelperHandler() + { + try + { + if (Looper.myLooper() == null) { + return null; + } + Handler localHandler = new Handler(); + return localHandler; + } + catch (Throwable localThrowable) {} + return null; + } + + private void tlvCommRsp2ErrMsg(TLV_CommRsp paramTLV_CommRsp, ErrMsg paramErrMsg) + { + if ((paramTLV_CommRsp == null) || (paramTLV_CommRsp.get_data_len() == 0)) { + return; + } + paramErrMsg.setType(paramTLV_CommRsp.ErrInfoType); + paramErrMsg.setOtherinfo(new String(paramTLV_CommRsp.ErrInfo)); + paramErrMsg.setTitle(new String(paramTLV_CommRsp.ErrTitle)); + paramErrMsg.setMessage(new String(paramTLV_CommRsp.ErrMsg)); + } + + public int AskDevLockSms(String paramString, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + if (paramString == null) { + return -1017; + } + Object localObject = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject)._uin; + util.LOGI("AskDevLockSms ...", paramString); + localObject = new oicq.wlogin_sdk.devicelock.d(); + TransReqContext localTransReqContext = new TransReqContext(); + localTransReqContext.set_devlock_req(); + localTransReqContext.set_subcmd(((oicq.wlogin_sdk.devicelock.d)localObject).get_msgType()); + localTransReqContext._body = ((oicq.wlogin_sdk.devicelock.d)localObject).a(l, paramLong1, paramLong2); + if ((localTransReqContext._body == null) || (localTransReqContext._body.length == 0)) { + return -1017; + } + return RequestTransport(0, 1, paramString, paramLong1, ((oicq.wlogin_sdk.devicelock.d)localObject).Role, localTransReqContext, paramWUserSigInfo); + } + + public void CancelRequest() + { + this.mG.q = 1; + } + + public int CheckDevLockSms(String paramString1, long paramLong1, long paramLong2, String paramString2, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo) + { + if (paramString1 == null) { + return -1017; + } + Object localObject1 = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString1, (WloginSimpleInfo)localObject1).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject1)._uin; + Object localObject2 = FindUserSig(l, paramLong1); + if (localObject2 == null) { + return -1004; + } + if ((paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) { + DevlockBase.rst.setSppKey(paramArrayOfByte); + } + util.LOGI("CheckDevLockSms ...", paramString1); + oicq.wlogin_sdk.devicelock.f localf = new oicq.wlogin_sdk.devicelock.f(); + TransReqContext localTransReqContext = new TransReqContext(); + localObject1 = Build.VERSION.RELEASE; + paramArrayOfByte = (byte[])localObject1; + if (localObject1 == null) { + paramArrayOfByte = ""; + } + localTransReqContext.set_devlock_req(); + localTransReqContext.set_subcmd(localf.get_msgType()); + localObject1 = ((WloginSigInfo)localObject2)._TGT; + localObject2 = t.y; + byte[] arrayOfByte1 = t.C; + byte[] arrayOfByte2 = "5.4.0.7".getBytes(); + byte[] arrayOfByte3 = "android".getBytes(); + paramArrayOfByte = paramArrayOfByte.getBytes(); + if (paramString2 == null) {} + for (paramString2 = null;; paramString2 = paramString2.getBytes()) + { + localTransReqContext._body = localf.a(l, paramLong1, paramLong2, (byte[])localObject1, (byte[])localObject2, arrayOfByte1, arrayOfByte2, arrayOfByte3, paramArrayOfByte, paramString2); + if ((localTransReqContext._body != null) && (localTransReqContext._body.length != 0)) { + break; + } + return -1017; + } + return RequestTransport(0, 1, paramString1, paramLong1, localf.Role, localTransReqContext, paramWUserSigInfo); + } + + public int CheckDevLockStatus(String paramString, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + if (paramString == null) { + return -1017; + } + Object localObject = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject)._uin; + localObject = FindUserSig(l, paramLong1); + if (localObject == null) { + return -1004; + } + util.LOGI("CheckDevLockStatus ...", paramString); + DevlockBase.rst = new DevlockRst(); + oicq.wlogin_sdk.devicelock.a locala = new oicq.wlogin_sdk.devicelock.a(); + TransReqContext localTransReqContext = new TransReqContext(); + localTransReqContext.set_devlock_req(); + localTransReqContext.set_subcmd(locala.get_msgType()); + localTransReqContext._body = locala.a(l, paramLong1, paramLong2, ((WloginSigInfo)localObject)._TGT, t.y, t.C, "5.4.0.7".getBytes(), t.I, t.H); + if ((localTransReqContext._body == null) || (localTransReqContext._body.length == 0)) { + return -1017; + } + return RequestTransport(0, 1, paramString, paramLong1, locala.Role, localTransReqContext, paramWUserSigInfo); + } + + public int CheckPictureAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo) + { + n.D = false; + return CheckPictureAndGetSt(paramString, paramArrayOfByte, paramWUserSigInfo, (byte[][])null, 0); + } + + public int CheckPictureAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1) + { + n.D = false; + return CheckPictureAndGetSt(paramString, paramArrayOfByte, paramWUserSigInfo, paramArrayOfByte1, 0); + } + + public int CheckSMSAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo) + { + return CheckSMSAndGetSt(paramString, paramArrayOfByte, paramWUserSigInfo, (byte[][])null, 0); + } + + public int CheckSMSAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1) + { + return CheckSMSAndGetSt(paramString, paramArrayOfByte, paramWUserSigInfo, paramArrayOfByte1, 0); + } + + public int CheckSMSVerifyLoginAccount(long paramLong1, long paramLong2, String paramString, WUserSigInfo paramWUserSigInfo) + { + return CheckSMSVerifyLoginAccount(paramLong1, paramLong2, paramString, paramWUserSigInfo, 0); + } + + public int CheckWebsigAndGetSt(String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo) + { + n.D = true; + return CheckPictureAndGetSt(paramString1, paramString2.getBytes(), paramWUserSigInfo, (byte[][])null, 0); + } + + public int CheckWebsigAndGetSt(String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte) + { + n.D = true; + return CheckPictureAndGetSt(paramString1, paramString2.getBytes(), paramWUserSigInfo, paramArrayOfByte, 0); + } + + /* Error */ + public Boolean ClearUserLoginData(String paramString, long paramLong) + { + // Byte code: + // 0: new 138 java/lang/StringBuilder + // 3: dup + // 4: invokespecial 139 java/lang/StringBuilder: ()V + // 7: ldc 141 + // 9: invokevirtual 145 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 12: aload_1 + // 13: invokevirtual 145 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 16: ldc_w 1427 + // 19: invokevirtual 145 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 22: lload_2 + // 23: invokevirtual 152 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 26: ldc_w 1691 + // 29: invokevirtual 145 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 32: invokevirtual 158 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 35: aload_1 + // 36: invokestatic 164 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 39: aload_1 + // 40: ifnull +10 -> 50 + // 43: aload_1 + // 44: invokevirtual 600 java/lang/String:length ()I + // 47: ifgt +8 -> 55 + // 50: iconst_1 + // 51: invokestatic 1694 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 54: areturn + // 55: aload_0 + // 56: monitorenter + // 57: aload_1 + // 58: invokestatic 181 oicq/wlogin_sdk/tools/util:check_uin_account (Ljava/lang/String;)Ljava/lang/Boolean; + // 61: invokevirtual 187 java/lang/Boolean:booleanValue ()Z + // 64: ifne +72 -> 136 + // 67: aload_0 + // 68: getfield 52 oicq/wlogin_sdk/request/WtloginHelper:mG Loicq/wlogin_sdk/request/t; + // 71: aload_1 + // 72: invokevirtual 190 oicq/wlogin_sdk/request/t:b (Ljava/lang/String;)J + // 75: lstore 5 + // 77: lload 5 + // 79: lconst_0 + // 80: lcmp + // 81: ifne +41 -> 122 + // 84: iconst_0 + // 85: istore 4 + // 87: iload 4 + // 89: iconst_1 + // 90: if_icmpne +13 -> 103 + // 93: aload_0 + // 94: getfield 52 oicq/wlogin_sdk/request/WtloginHelper:mG Loicq/wlogin_sdk/request/t; + // 97: lload 5 + // 99: lload_2 + // 100: invokevirtual 1697 oicq/wlogin_sdk/request/t:c (JJ)V + // 103: aload_0 + // 104: monitorexit + // 105: iconst_0 + // 106: newarray byte + // 108: putstatic 786 oicq/wlogin_sdk/sharemem/WloginSigInfo:_QRPUSHSig [B + // 111: iconst_0 + // 112: newarray byte + // 114: putstatic 777 oicq/wlogin_sdk/sharemem/WloginSigInfo:_LHSig [B + // 117: iconst_1 + // 118: invokestatic 1694 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 121: areturn + // 122: aload_0 + // 123: getfield 52 oicq/wlogin_sdk/request/WtloginHelper:mG Loicq/wlogin_sdk/request/t; + // 126: aload_1 + // 127: invokevirtual 1243 oicq/wlogin_sdk/request/t:d (Ljava/lang/String;)V + // 130: iconst_1 + // 131: istore 4 + // 133: goto -46 -> 87 + // 136: aload_1 + // 137: invokestatic 274 java/lang/Long:parseLong (Ljava/lang/String;)J + // 140: lstore 5 + // 142: iconst_1 + // 143: istore 4 + // 145: goto -58 -> 87 + // 148: astore_1 + // 149: aload_0 + // 150: monitorexit + // 151: aload_1 + // 152: athrow + // Local variable table: + // start length slot name signature + // 0 153 0 this WtloginHelper + // 0 153 1 paramString String + // 0 153 2 paramLong long + // 85 59 4 i int + // 75 66 5 l long + // Exception table: + // from to target type + // 57 77 148 finally + // 93 103 148 finally + // 103 105 148 finally + // 122 130 148 finally + // 136 142 148 finally + // 149 151 148 finally + } + + public int CloseCode(String paramString, long paramLong, byte[] paramArrayOfByte, int paramInt, List paramList, WUserSigInfo paramWUserSigInfo) + { + Object localObject = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject)._uin; + localObject = FindUserSig(l, paramLong); + if (localObject == null) { + return -1004; + } + util.LOGI("user:" + paramString + " CloseCode ...", paramString); + oicq.wlogin_sdk.code2d.a locala = new oicq.wlogin_sdk.code2d.a(); + TransReqContext localTransReqContext = new TransReqContext(); + localTransReqContext.set_code2d_func_req(); + localTransReqContext.set_subcmd(locala.get_cmd()); + localTransReqContext._body = locala.a(l, paramLong, 1L, paramArrayOfByte, ((WloginSigInfo)localObject)._TGT, t.y, paramInt, paramList, ((WloginSigInfo)localObject)._en_A1, ((WloginSigInfo)localObject)._noPicSig, this.mMiscBitmap, 0L); + return RequestTransport(0, 1, paramString, paramLong, locala._role, localTransReqContext, paramWUserSigInfo); + } + + public int CloseDevLock(String paramString, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + if (paramString == null) { + return -1017; + } + Object localObject = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject)._uin; + WloginSigInfo localWloginSigInfo = FindUserSig(l, paramLong1); + if (localWloginSigInfo == null) { + return -1004; + } + util.LOGI("CloseDevLock ...", paramString); + oicq.wlogin_sdk.devicelock.b localb = new oicq.wlogin_sdk.devicelock.b(); + TransReqContext localTransReqContext = new TransReqContext(); + String str = Build.VERSION.RELEASE; + localObject = str; + if (str == null) { + localObject = ""; + } + localTransReqContext.set_devlock_req(); + localTransReqContext.set_subcmd(localb.get_msgType()); + localTransReqContext._body = localb.a(l, paramLong1, paramLong2, localWloginSigInfo._TGT, t.y, t.C, "5.4.0.7".getBytes(), "android".getBytes(), ((String)localObject).getBytes()); + if ((localTransReqContext._body == null) || (localTransReqContext._body.length == 0)) { + return -1017; + } + return RequestTransport(0, 1, paramString, paramLong1, localb.Role, localTransReqContext, paramWUserSigInfo); + } + + public int FetchCodeSig(long paramLong1, long paramLong2, fetch_code.QRCodeCustom paramQRCodeCustom, WUserSigInfo paramWUserSigInfo) + { + util.LOGI(" FetchCodeSig ...", ""); + fetch_code localfetch_code = new fetch_code(); + TransReqContext localTransReqContext = new TransReqContext(); + localTransReqContext.set_code2d_func_req(); + localTransReqContext.set_subcmd(localfetch_code.get_cmd()); + long l = this.mMiscBitmap; + byte[] arrayOfByte = WloginSigInfo._QRPUSHSig; + localTransReqContext._body = localfetch_code.get_request(0L, paramLong1, paramLong2, new byte[0], paramQRCodeCustom, l, 0L, arrayOfByte); + return RequestTransport(0, 1, null, paramLong1, localfetch_code._role, localTransReqContext, paramWUserSigInfo); + } + + public int GetA1WithA1(String paramString, long paramLong1, long paramLong2, byte[] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo, WFastLoginInfo paramWFastLoginInfo) + { + return GetA1WithA1(paramString, paramLong1, paramLong2, this.mMainSigMap, paramArrayOfByte1, paramLong3, paramLong4, paramLong5, paramArrayOfByte2, paramArrayOfByte3, paramWUserSigInfo, paramWFastLoginInfo, 0); + } + + public byte[] GetA2A2KeyBuf(String paramString, long paramLong) + { + Ticket localTicket = GetLocalTicket(paramString, paramLong, 64); + if ((localTicket == null) || (localTicket._sig == null) || (localTicket._sig.length <= 0) || (localTicket._sig_key == null) || (localTicket._sig_key.length <= 0)) {} + while ((t.z == null) || (t.z.length <= 0)) { + return null; + } + byte[] arrayOfByte = new byte[paramString.getBytes().length + 2 + 8 + 2 + localTicket._sig.length + 2 + localTicket._sig_key.length]; + util.int16_to_buf(arrayOfByte, 0, paramString.getBytes().length); + System.arraycopy(paramString.getBytes(), 0, arrayOfByte, 2, paramString.getBytes().length); + int i = paramString.getBytes().length + 2; + util.int64_to_buf(arrayOfByte, i, paramLong); + i += 8; + util.int16_to_buf(arrayOfByte, i, localTicket._sig.length); + i += 2; + System.arraycopy(localTicket._sig, 0, arrayOfByte, i, localTicket._sig.length); + i += localTicket._sig.length; + util.int16_to_buf(arrayOfByte, i, localTicket._sig_key.length); + i += 2; + System.arraycopy(localTicket._sig_key, 0, arrayOfByte, i, localTicket._sig_key.length); + i = localTicket._sig_key.length; + return cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, t.z); + } + + public List GetAllLoginInfo() + { + return this.mG.k(); + } + + public long GetAppidFromUrl(String paramString) + { + if (paramString == null) { + return -1L; + } + int i = paramString.indexOf("f="); + if ((i == -1) || (i + 2 >= paramString.length())) { + return -1L; + } + i += 2; + String str = ""; + for (;;) + { + if ((i >= paramString.length()) || (paramString.charAt(i) == '&')) {} + try + { + long l = Long.parseLong(str); + return l; + } + catch (Exception paramString) {} + str = str + paramString.charAt(i); + i += 1; + } + return -1L; + } + + public Boolean GetBasicUserInfo(String paramString, WloginSimpleInfo paramWloginSimpleInfo) + { + if (paramString == null) { + return Boolean.valueOf(false); + } + long l; + int i; + if (!util.check_uin_account(paramString).booleanValue()) + { + l = this.mG.b(paramString); + if (l != 0L) { + break label140; + } + i = 0; + } + for (;;) + { + if (i == 1) + { + paramString = this.mG.d(l); + if (paramString == null) + { + i = 0; + label59: + if (i != 1) { + break label134; + } + } + } + label134: + for (boolean bool = true;; bool = false) + { + return Boolean.valueOf(bool); + l = Long.parseLong(paramString); + i = 1; + break; + if (paramWloginSimpleInfo != null) { + paramWloginSimpleInfo.get_clone(new WloginSimpleInfo(paramString._uin, paramString._face, paramString._age, paramString._gender, paramString._nick, paramString._img_type, paramString._img_format, paramString._img_url)); + } + break label59; + } + label140: + i = 1; + } + } + + public DevlockInfo GetDevLockInfo(String paramString) + { + return GetDevLockInfo(paramString, 0L); + } + + public DevlockInfo GetDevLockInfo(String paramString, long paramLong) + { + long l = paramLong; + if (paramLong <= 0L) { + l = this.mAysncSeq; + } + return t.b(l)._devlock_info; + } + + public byte[] GetGuid() + { + Object localObject2 = null; + Object localObject1 = localObject2; + if (t.y != null) + { + localObject1 = localObject2; + if (t.y.length > 0) + { + localObject1 = new byte[t.y.length]; + System.arraycopy(t.y, 0, localObject1, 0, t.y.length); + } + } + return localObject1; + } + + public WloginLastLoginInfo GetLastLoginInfo() + { + Object localObject = this.mG.k(); + if (localObject == null) {} + label124: + label125: + for (;;) + { + return null; + Iterator localIterator = ((List)localObject).iterator(); + localObject = null; + while (localIterator.hasNext()) + { + WloginLoginInfo localWloginLoginInfo = (WloginLoginInfo)localIterator.next(); + if (localObject == null) + { + localObject = localWloginLoginInfo; + } + else + { + if (localWloginLoginInfo.mCreateTime <= ((WloginLoginInfo)localObject).mCreateTime) { + break label124; + } + localObject = localWloginLoginInfo; + } + } + for (;;) + { + break; + if (localObject == null) { + break label125; + } + if ((((WloginLoginInfo)localObject).mAccount != null) && (((WloginLoginInfo)localObject).mAccount.length() > 0)) { + return new WloginLastLoginInfo(((WloginLoginInfo)localObject).mAccount, ((WloginLoginInfo)localObject).mUin); + } + return new WloginLastLoginInfo(String.valueOf(((WloginLoginInfo)localObject).mUin), ((WloginLoginInfo)localObject).mUin); + } + } + } + + public WUserSigInfo GetLocalSig(String paramString, long paramLong) + { + if (paramString == null) + { + util.LOGI("userAccount null", ""); + return null; + } + for (;;) + { + try + { + if (!util.check_uin_account(paramString).booleanValue()) + { + l = this.mG.b(paramString); + if (l == 0L) { + break; + } + localWloginSigInfo = this.mG.a(l, paramLong); + if (localWloginSigInfo == null) { + continue; + } + localWUserSigInfo = new WUserSigInfo(); + } + } + catch (Exception localException1) + { + long l; + WloginSigInfo localWloginSigInfo; + WUserSigInfo localWUserSigInfo = null; + util.printException(localException1, paramString); + continue; + localWUserSigInfo = null; + continue; + } + try + { + localWUserSigInfo.uin = paramString; + localWUserSigInfo.get_clone(localWloginSigInfo); + return localWUserSigInfo; + } + catch (Exception localException2) + { + continue; + } + l = Long.parseLong(paramString); + } + } + + public Ticket GetLocalTicket(String paramString, long paramLong, int paramInt) + { + util.LOGI("GetLocalTicket appid=" + paramLong, paramString); + if (paramString == null) + { + util.LOGI("userAccount null", ""); + return null; + } + return GetUserSigInfoTicket(GetLocalSig(paramString, paramLong), paramInt); + } + + public int GetOpenKeyWithoutPasswd(String paramString, long paramLong1, long paramLong2, int paramInt, WUserSigInfo paramWUserSigInfo) + { + return GetStWithoutPasswd(paramString, paramLong1, this.mOpenAppid, -1L, paramInt, paramLong2, null, paramWUserSigInfo, (byte[][])null, (byte[][])null, 0, null); + } + + public byte[] GetPictureData(String paramString) + { + return GetPictureData(paramString, 0L); + } + + public byte[] GetPictureData(String paramString, long paramLong) + { + long l = paramLong; + if (paramLong <= 0L) { + l = this.mAysncSeq; + } + return t.b(l)._t105.f(); + } + + public byte[] GetPicturePrompt(String paramString) + { + return GetPicturePrompt(paramString, 0L); + } + + public byte[] GetPicturePrompt(String paramString, long paramLong) + { + long l = paramLong; + if (paramLong <= 0L) { + l = this.mAysncSeq; + } + return t.b(l)._t165.b(); + } + + public String GetPicturePromptValue(String paramString) + { + return GetPicturePromptValue(paramString, 0L); + } + + public String GetPicturePromptValue(String paramString, long paramLong) + { + paramString = GetPicturePrompt(paramString, paramLong); + int k; + int j; + int i; + if ((paramString != null) && (paramString.length > 3)) + { + k = util.buf_to_int32(paramString, 0); + j = 4; + i = 0; + } + for (;;) + { + if ((i >= k) || (paramString.length < j + 1)) {} + int m; + String str1; + do + { + do + { + do + { + return ""; + m = util.buf_to_int8(paramString, j); + j += 1; + } while (paramString.length < j + m); + str1 = new String(paramString, j, m); + m = j + m; + } while (paramString.length < m + 2); + j = util.buf_to_int32(paramString, m); + m += 4; + } while (paramString.length < m + j); + String str2 = new String(paramString, m, j); + if (str1.equals("pic_reason")) { + return str2; + } + i += 1; + j += m; + } + } + + public Ticket GetPskey(String paramString, long paramLong, String[] paramArrayOfString, WtTicketPromise paramWtTicketPromise) + { + Bundle localBundle = new Bundle(); + localBundle.putStringArray("domains", paramArrayOfString); + return GetTicket(paramString, paramLong, 1048576, paramWtTicketPromise, localBundle); + } + + public Ticket GetSkey(String paramString, long paramLong, WtTicketPromise paramWtTicketPromise) + { + return GetTicket(paramString, paramLong, 4096, paramWtTicketPromise, null); + } + + public int GetStViaSMSVerifyLogin(String paramString, long paramLong1, long paramLong2, int paramInt, WUserSigInfo paramWUserSigInfo) + { + util.LOGI("user:" + paramString + " GetStViaSMSVerifyLogin ...", paramString); + if (oicq.wlogin_sdk.a.h.v) {} + for (String str = oicq.wlogin_sdk.a.h.x;; str = "") { + return GetStWithPasswd(paramString, paramLong1, paramInt, paramLong2, null, false, str, paramWUserSigInfo, (byte[][])null, true, 0); + } + } + + public int GetStViaSMSVerifyLogin(String paramString, long paramLong1, long paramLong2, long[] paramArrayOfLong, int paramInt, WUserSigInfo paramWUserSigInfo) + { + byte[][] arrayOfByte = (byte[][])null; + if ((paramArrayOfLong != null) && (paramArrayOfLong.length > 0)) + { + int i = paramArrayOfLong.length; + arrayOfByte = (byte[][])Array.newInstance(Byte.TYPE, new int[] { i, 0 }); + } + for (;;) + { + util.LOGI("user:" + paramString + " GetStViaSMSVerifyLogin ...", paramString); + if (oicq.wlogin_sdk.a.h.v) {} + for (String str = oicq.wlogin_sdk.a.h.x;; str = "") { + return GetStWithPasswd(paramString, paramLong1, paramInt, paramLong2, paramArrayOfLong, false, str, paramWUserSigInfo, arrayOfByte, true, 0); + } + } + } + + public int GetStWithPasswd(String paramString1, long paramLong1, int paramInt, long paramLong2, long[] paramArrayOfLong, boolean paramBoolean, String paramString2, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte) + { + return GetStWithPasswd(paramString1, paramLong1, paramInt, paramLong2, paramArrayOfLong, paramBoolean, paramString2, paramWUserSigInfo, paramArrayOfByte, false, 0); + } + + public int GetStWithPasswd(String paramString1, long paramLong1, long paramLong2, int paramInt, String paramString2, WUserSigInfo paramWUserSigInfo) + { + return GetStWithPasswd(paramString1, paramLong1, paramInt, paramLong2, null, false, paramString2, paramWUserSigInfo, (byte[][])null, false, 0); + } + + public int GetStWithPasswd(String paramString1, long paramLong, String paramString2, WUserSigInfo paramWUserSigInfo) + { + return GetStWithPasswd(paramString1, paramLong, this.mMainSigMap, 1L, null, false, paramString2, paramWUserSigInfo, (byte[][])null, false, 0); + } + + public int GetStWithPasswdMd5(String paramString1, long paramLong1, long paramLong2, int paramInt, String paramString2, WUserSigInfo paramWUserSigInfo) + { + return GetStWithPasswd(paramString1, paramLong1, paramInt, paramLong2, null, true, paramString2, paramWUserSigInfo, (byte[][])null, false, 0); + } + + public int GetStWithPasswdMd5(String paramString1, long paramLong, String paramString2, WUserSigInfo paramWUserSigInfo) + { + return GetStWithPasswd(paramString1, paramLong, this.mMainSigMap, 1L, null, true, paramString2, paramWUserSigInfo, (byte[][])null, false, 0); + } + + public int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, long paramLong3, int paramInt, long paramLong4, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, byte[][] paramArrayOfByte2) + { + return GetStWithoutPasswd(paramString, paramLong1, paramLong2, paramLong3, paramInt, paramLong4, paramArrayOfLong, paramWUserSigInfo, paramArrayOfByte1, paramArrayOfByte2, 0, null); + } + + public int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, long paramLong3, int paramInt, WUserSigInfo paramWUserSigInfo) + { + return GetStWithoutPasswd(paramString, paramLong1, paramLong2, -1L, paramInt, paramLong3, null, paramWUserSigInfo, (byte[][])null, (byte[][])null, 0, null); + } + + public int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, long paramLong3, int paramInt, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo) + { + byte[][] arrayOfByte = new byte[4][]; + arrayOfByte[0] = new byte[1]; + arrayOfByte[0][0] = 1; + arrayOfByte[1] = paramArrayOfByte1; + arrayOfByte[2] = paramArrayOfByte2; + arrayOfByte[3] = paramArrayOfByte3; + return GetStWithoutPasswd(paramString, paramLong1, paramLong2, -1L, paramInt, paramLong3, null, paramWUserSigInfo, (byte[][])null, arrayOfByte, 0, null); + } + + public int GetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + return GetStWithoutPasswd(paramString, paramLong1, paramLong2, -1L, this.mMainSigMap, 1L, null, paramWUserSigInfo, (byte[][])null, (byte[][])null, 0, null); + } + + public int GetStWithoutPasswd(byte[] paramArrayOfByte, long paramLong, int paramInt, WUserSigInfo paramWUserSigInfo) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 0)) { + return -1017; + } + Object localObject = cryptor.decrypt(paramArrayOfByte, 0, paramArrayOfByte.length, t.z); + if ((localObject == null) || (localObject.length <= 0)) { + return -1017; + } + if (2 > localObject.length) { + return -1017; + } + int i = util.buf_to_int16((byte[])localObject, 0); + if ((i <= 0) || (i + 2 > localObject.length)) { + return -1017; + } + paramArrayOfByte = new String((byte[])localObject, 2, i); + i += 2; + if (i + 8 > localObject.length) { + return -1017; + } + long l = util.buf_to_int64((byte[])localObject, i); + int j = i + 8; + if (j + 2 > localObject.length) { + return -1017; + } + i = util.buf_to_int16((byte[])localObject, j); + j += 2; + if ((i <= 0) || (j + i > localObject.length)) { + return -1017; + } + byte[] arrayOfByte1 = new byte[i]; + System.arraycopy(localObject, j, arrayOfByte1, 0, arrayOfByte1.length); + j += i; + if (j + 2 > localObject.length) { + return -1017; + } + i = util.buf_to_int16((byte[])localObject, j); + j += 2; + if ((i <= 0) || (j + i > localObject.length)) { + return -1017; + } + byte[] arrayOfByte2 = new byte[i]; + System.arraycopy(localObject, j, arrayOfByte2, 0, arrayOfByte2.length); + localObject = new byte[3][]; + localObject[0] = new byte[1]; + localObject[0][0] = 2; + localObject[1] = arrayOfByte1; + localObject[2] = arrayOfByte2; + return GetStWithoutPasswd(paramArrayOfByte, l, paramLong, -1L, paramInt, 1L, null, paramWUserSigInfo, (byte[][])null, (byte[][])localObject, 0, null); + } + + public Ticket GetTicket(String paramString, long paramLong, int paramInt, WtTicketPromise paramWtTicketPromise, Bundle paramBundle) + { + Object localObject2 = new StringBuilder().append("GetTicket ").append(paramString).append(", ").append(paramLong).append(" sig ").append(Integer.toHexString(paramInt)).append(" "); + if (paramBundle == null) {} + int j; + Object localObject3; + for (Object localObject1 = "null";; localObject1 = Integer.valueOf(paramBundle.size())) + { + util.LOGI(localObject1, ""); + localObject1 = null; + j = 2; + localObject2 = GetLocalSig(paramString, paramLong); + if (localObject2 != null) { + break label197; + } + if (j != 1) { + break; + } + localObject3 = localObject1; + label104: + if (!IsNeedLoginWithPasswd(paramString, paramLong).booleanValue()) { + break label432; + } + paramString = new ErrMsg(); + paramString.setType(-1004); + if (paramWtTicketPromise != null) { + paramWtTicketPromise.Failed(paramString); + } + localObject1 = null; + label147: + return localObject1; + } + RefreshMemorySig(); + int i = j - 1; + localObject2 = localObject1; + for (;;) + { + localObject1 = localObject2; + j = i; + if (i > 0) { + break; + } + localObject3 = localObject2; + break label104; + label197: + Ticket localTicket = GetUserSigInfoTicket((WUserSigInfo)localObject2, paramInt); + if ((localTicket == null) || (localTicket._sig == null) || (localTicket._sig.length == 0)) + { + localObject3 = localObject1; + if (j == 1) { + break label104; + } + RefreshMemorySig(); + i = j - 1; + localObject2 = localObject1; + continue; + } + long l = t.f(); + localObject2 = localObject1; + if (paramBundle != null) + { + localObject2 = localObject1; + if (paramInt == 1048576) { + localObject2 = paramBundle.getStringArray("domains"); + } + } + i = isPskeyExpired(paramInt, (String[])localObject2, localTicket, l, j); + localObject3 = localObject2; + if (i == 1) { + break label104; + } + if (i == 2) + { + i = j - 1; + } + else + { + localObject1 = localTicket; + if (i == 3) { + break label147; + } + util.LOGI(Integer.toHexString(paramInt) + " expires in " + (localTicket._expire_time - l) / 60L / 60L + "h"); + localObject1 = localTicket; + if (l < localTicket._expire_time) { + break label147; + } + localObject3 = localObject2; + if (j == 1) { + break label104; + } + RefreshMemorySig(); + i = j - 1; + } + } + label432: + localObject1 = new WUserSigInfo(); + if (paramBundle != null) {} + for (i = paramBundle.getInt("subappid", 1);; i = 1) + { + if (localObject3 != null) + { + int k = localObject3.length; + j = 0; + while (j < k) + { + localObject2 = localObject3[j]; + if ((localObject2 != null) && (((String)localObject2).length() > 0)) { + ((WUserSigInfo)localObject1)._domains.add(localObject2); + } + j += 1; + } + } + GetStWithoutPasswd(paramString, paramLong, paramLong, i, paramInt, (WUserSigInfo)localObject1, new WtloginHelper.1(this, paramWtTicketPromise, paramString, paramLong, paramInt, paramBundle)); + break; + } + } + + public long GetTimeDifference() + { + return t.Z; + } + + public Boolean IsNeedLoginWithPasswd(String paramString, long paramLong) + { + boolean bool = false; + int i = 1; + if (paramString == null) { + return Boolean.valueOf(true); + } + for (;;) + { + try + { + long l1; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = this.mG.b(paramString); + l1 = l2; + if (l2 == 0L) + { + bool = true; + util.LOGI("user:" + paramString + " appid:" + paramLong + " need password:" + bool + " flag=" + i, paramString); + return Boolean.valueOf(bool); + } + } + else + { + l1 = Long.parseLong(paramString); + } + WloginSigInfo localWloginSigInfo = this.mG.a(l1, paramLong); + if ((localWloginSigInfo != null) && (localWloginSigInfo._en_A1 != null) && (localWloginSigInfo._en_A1.length != 0) && (localWloginSigInfo._noPicSig != null) && (localWloginSigInfo._noPicSig.length != 0)) + { + i = 2; + continue; + } + if ((localWloginSigInfo == null) || (localWloginSigInfo._TGT == null) || (localWloginSigInfo._TGT.length == 0) || (localWloginSigInfo.iSExpireA2(t.f()))) { + break label224; + } + i = 0; + } + finally {} + continue; + label224: + bool = true; + i = 3; + } + } + + public Boolean IsUserHaveA1(String paramString, long paramLong) + { + if (paramString == null) { + return Boolean.valueOf(false); + } + long l1; + Object localObject; + if (!util.check_uin_account(paramString).booleanValue()) + { + long l2 = this.mG.b(paramString); + l1 = l2; + if (l2 != 0L) { + break label116; + } + localObject = null; + } + while ((localObject == null) || (localObject._en_A1 == null) || (localObject._en_A1.length <= 0)) + { + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " IsUserHaveA1 return: null", paramString); + return Boolean.valueOf(false); + l1 = Long.parseLong(paramString); + label116: + WloginSigInfo localWloginSigInfo = this.mG.a(l1, paramLong); + localObject = localWloginSigInfo; + if (localWloginSigInfo == null) { + localObject = localWloginSigInfo; + } + } + util.LOGI("userAccount:" + paramString + " dwAppid:" + paramLong + " IsUserHaveA1 return: not null", paramString); + return Boolean.valueOf(true); + } + + public boolean IsWtLoginUrl(String paramString) + { + if (paramString == null) {} + do + { + int i; + do + { + return false; + i = paramString.indexOf("?k="); + } while ((i == -1) || (i + 3 + 32 > paramString.length())); + i += 3; + paramString = paramString.substring(i, i + 32); + } while (util.base64_decode_url(paramString.getBytes(), paramString.length()) == null); + return true; + } + + public Intent PrepareQloginIntent(long paramLong1, long paramLong2, String paramString) + { + Object localObject1 = "com.tencent.mobileqq"; + boolean bool1 = util.CheckMayFastLogin(this.mContext); + boolean bool2 = util.CheckQQMiniHD(this.mContext); + if (!bool1) + { + if (bool2) { + localObject1 = "com.tencent.minihd.qq"; + } + } + else + { + Object localObject3 = util.get_rsa_pubkey(this.mContext); + Object localObject2; + if (localObject3 != null) + { + localObject2 = localObject3; + if (localObject3.length != 0) {} + } + else + { + localObject2 = util.string_to_buf("30818902818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d0203010001"); + } + localObject3 = new Intent(); + ((Intent)localObject3).setClassName((String)localObject1, "com.tencent.open.agent.AgentActivity"); + localObject1 = new Bundle(); + ((Bundle)localObject1).putLong("dstSsoVer", 1L); + ((Bundle)localObject1).putLong("dstAppid", paramLong1); + ((Bundle)localObject1).putLong("subDstAppid", paramLong2); + ((Bundle)localObject1).putByteArray("dstAppVer", paramString.getBytes()); + ((Bundle)localObject1).putByteArray("publickey", (byte[])localObject2); + ((Intent)localObject3).putExtra("key_params", (Bundle)localObject1); + ((Intent)localObject3).putExtra("key_action", "action_quick_login"); + return localObject3; + } + return null; + } + + public Intent PrepareQloginResult(String paramString, long paramLong1, long paramLong2, int paramInt, WFastLoginInfo paramWFastLoginInfo) + { + Intent localIntent = new Intent(); + localIntent.putExtra("quicklogin_uin", paramString); + paramString = (byte[])paramWFastLoginInfo._outA1.clone(); + if ((paramString != null) && (paramString.length > 0)) { + localIntent.putExtra("quicklogin_buff", new RSACrypt(this.mContext).EncryptData(util.get_cp_pubkey(this.mContext, paramLong1, paramLong2), paramString)); + } + localIntent.putExtra("quicklogin_ret", paramInt); + return localIntent; + } + + public Intent PrepareSilenceLoginIntent(long paramLong1, long paramLong2, String paramString) + { + Object localObject2 = util.get_rsa_pubkey(this.mContext); + Object localObject1; + if (localObject2 != null) + { + localObject1 = localObject2; + if (localObject2.length != 0) {} + } + else + { + localObject1 = util.string_to_buf("30818902818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d0203010001"); + } + localObject2 = new Intent(); + Bundle localBundle = new Bundle(); + localBundle.putLong("dstSsoVer", 1L); + localBundle.putLong("dstAppid", paramLong1); + localBundle.putLong("subDstAppid", paramLong2); + localBundle.putByteArray("dstAppVer", paramString.getBytes()); + localBundle.putByteArray("publickey", (byte[])localObject1); + ((Intent)localObject2).putExtra("key_params", localBundle); + ((Intent)localObject2).putExtra("key_action", "action_quick_login"); + return localObject2; + } + + public int QueryCodeResult(long paramLong, WUserSigInfo paramWUserSigInfo) + { + util.LOGI(" QueryCodeResult ...", ""); + oicq.wlogin_sdk.code2d.d locald = new oicq.wlogin_sdk.code2d.d(); + TransReqContext localTransReqContext = new TransReqContext(); + localTransReqContext.set_code2d_func_req(); + localTransReqContext.set_subcmd(locald.get_cmd()); + localTransReqContext._body = locald.a(0L, paramLong, oicq.wlogin_sdk.code2d.c.i, new byte[0]); + return RequestTransport(0, 1, null, paramLong, locald._role, localTransReqContext, paramWUserSigInfo); + } + + public void RefreshMemorySig() + { + this.mG.j(); + } + + public int RefreshPictureData(String paramString, WUserSigInfo paramWUserSigInfo) + { + WUserSigInfo localWUserSigInfo = paramWUserSigInfo; + if (paramWUserSigInfo == null) { + localWUserSigInfo = new WUserSigInfo(); + } + return RefreshPictureData(paramString, localWUserSigInfo, 0); + } + + public int RefreshSMSData(String paramString, long paramLong, WUserSigInfo paramWUserSigInfo) + { + if (paramWUserSigInfo == null) { + paramWUserSigInfo = new WUserSigInfo(); + } + for (;;) + { + return RefreshSMSData(paramString, paramLong, paramWUserSigInfo, 0); + } + } + + public int RefreshSMSVerifyLoginCode(String paramString, WUserSigInfo paramWUserSigInfo) + { + return RefreshSMSVerifyLoginCode(paramString, paramWUserSigInfo, 0); + } + + public int RegGetAccount(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt, WUserSigInfo paramWUserSigInfo) + { + if ((paramArrayOfByte3 == null) || (paramArrayOfByte3.length <= 0)) { + return -1017; + } + util.LOGI("RegGetAccount ...", ""); + oicq.wlogin_sdk.a.b localb = new oicq.wlogin_sdk.a.b(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + if (paramArrayOfByte1 != null) {} + for (localh.j = ((byte[])paramArrayOfByte1.clone());; localh.j = new byte[0]) + { + if (paramInt == 4) { + localh.b = ""; + } + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(localb.a()); + localTransReqContext._body = localb.a(localh.e, paramArrayOfByte1, paramArrayOfByte3, paramArrayOfByte4, paramInt, localh.b.getBytes(), paramArrayOfByte2, false, null, 0L, t.C, t.x); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + } + + public int RegGetSMSVerifyLoginAccount(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo) + { + util.LOGI("RegGetSMSVerifyLoginAccount ...", ""); + oicq.wlogin_sdk.a.b localb = new oicq.wlogin_sdk.a.b(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + if (paramArrayOfByte1 != null) {} + for (localh.j = ((byte[])paramArrayOfByte1.clone());; localh.j = new byte[0]) + { + oicq.wlogin_sdk.a.h.v = true; + oicq.wlogin_sdk.a.h.x = util.get_mpasswd(); + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(localb.a()); + localTransReqContext._body = localb.a(localh.e, paramArrayOfByte1, oicq.wlogin_sdk.a.h.x.getBytes(), paramArrayOfByte3, 1, localh.b.getBytes(), paramArrayOfByte2, true, GetGuid(), localh.h, t.C, t.x); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + } + + public int RegQueryAccount(int paramInt, byte[] paramArrayOfByte, long paramLong, WUserSigInfo paramWUserSigInfo) + { + byte[] arrayOfByte = paramArrayOfByte; + if (paramArrayOfByte == null) { + arrayOfByte = new byte[0]; + } + util.LOGI("RegQueryAccount ...", ""); + this.mRegStatus = new oicq.wlogin_sdk.a.h(); + this.mRegStatus.b = new String(arrayOfByte); + paramArrayOfByte = new oicq.wlogin_sdk.a.c(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(paramArrayOfByte.a()); + localTransReqContext._body = paramArrayOfByte.a(paramInt, arrayOfByte, paramLong); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + + public int RegQueryClientSendedMsgStatus(WUserSigInfo paramWUserSigInfo) + { + util.LOGI("RegQueryClientSendedMsgStatus ...", ""); + oicq.wlogin_sdk.a.d locald = new oicq.wlogin_sdk.a.d(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(locald.a()); + localTransReqContext._body = locald.b(localh.e, this.mRegStatus.o); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + + public int RegRequestServerResendMsg(WUserSigInfo paramWUserSigInfo) + { + util.LOGI("RegRequestServerResendMsg ...", ""); + oicq.wlogin_sdk.a.e locale = new oicq.wlogin_sdk.a.e(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(locale.a()); + localTransReqContext._body = locale.b(localh.e, null); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + + public int RegSubmitMobile(String paramString, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt1, int paramInt2, int paramInt3, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + if (paramString == null) {} + for (paramString = new byte[0];; paramString = paramString.getBytes()) { + return RegSubmitMobile(paramString, paramArrayOfByte1, null, paramArrayOfByte2, paramInt1, paramInt2, paramInt3, paramLong1, paramLong2, paramWUserSigInfo); + } + } + + public int RegSubmitMobile(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt1, int paramInt2, int paramInt3, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + return RegSubmitMobile(null, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramInt1, paramInt2, paramInt3, paramLong1, paramLong2, paramWUserSigInfo); + } + + public int RegSubmitMsgChk(byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo) + { + if (paramArrayOfByte == null) { + return -1017; + } + util.LOGI("RegSubmitMsgChk ...", ""); + oicq.wlogin_sdk.a.g localg = new oicq.wlogin_sdk.a.g(); + TransReqContext localTransReqContext = new TransReqContext(); + oicq.wlogin_sdk.a.h localh = this.mRegStatus; + localTransReqContext.set_register_req(); + localTransReqContext.set_subcmd(localg.a()); + localTransReqContext._body = localg.b(localh.e, paramArrayOfByte); + return RequestTransport(0, 1, null, 0L, localh.i, localTransReqContext, paramWUserSigInfo); + } + + public int RequestTransport(int paramInt1, int paramInt2, String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo) + { + if (paramInt1 == 0) + { + new HelperThread(this, this.mHelperHandler, paramInt2, paramString, paramLong1, paramLong2, paramTransReqContext, paramWUserSigInfo, "RequestTransport").RunReq(9); + return -1001; + } + t localt = this.mG.a(0L); + util.LOGI("user:" + paramString + " encrypt:" + paramInt2 + " appid:" + paramLong1 + " role:" + paramLong2 + " Seq:" + localt.h + " RequestTransport...", paramString); + localt.g = paramString; + if (paramInt2 != 0) { + if (paramString == null) + { + localt.m = 0; + paramInt1 = new z(localt).a(0L, paramTransReqContext, null, null, paramLong1, paramLong2, paramWUserSigInfo); + } + } + for (;;) + { + localt.i(); + util.LOGI("user:" + paramString + " encrypt:" + paramInt2 + " appid:" + paramLong1 + " role:" + paramLong2 + " Seq:" + localt.h + " RequestTransport ret=" + paramInt1, paramString); + return paramInt1; + WloginSimpleInfo localWloginSimpleInfo = new WloginSimpleInfo(); + if ((paramString == null) || (!GetBasicUserInfo(paramString, localWloginSimpleInfo).booleanValue())) + { + paramInt1 = -1003; + } + else + { + WloginSigInfo localWloginSigInfo = localt.a(localWloginSimpleInfo._uin, paramLong1); + if (localWloginSigInfo == null) + { + paramInt1 = -1004; + } + else + { + localt.f = localWloginSimpleInfo._uin; + paramInt1 = new z(localt).a(localWloginSimpleInfo._uin, paramTransReqContext, localWloginSigInfo._userStSig, localWloginSigInfo._userSt_Key, paramLong1, paramLong2, paramWUserSigInfo); + continue; + localt.f = 0L; + paramInt1 = new z(localt).a(localt.f, paramTransReqContext, null, null, paramLong1, paramLong2, paramWUserSigInfo); + } + } + } + } + + public int RequestTransportMsf(int paramInt1, int paramInt2, String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext) + { + if (paramInt1 == 0) + { + new HelperThread(this, this.mHelperHandler, paramInt2, paramString, paramLong1, paramLong2, paramTransReqContext, "RequestTransportMsf").RunReq(10); + return -1001; + } + t localt = this.mG.a(0L); + util.LOGI("user:" + paramString + " encrypt:" + paramInt2 + " appid:" + paramLong1 + " role:" + paramLong2 + " Seq:" + localt.h + " RequestTransportMsf...", paramString); + localt.g = paramString; + Object localObject1; + if (paramInt2 != 0) + { + localObject1 = new WloginSimpleInfo(); + if ((paramString == null) || (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject1).booleanValue())) { + paramInt1 = -1003; + } + } + for (;;) + { + localt.i(); + util.LOGI("user:" + paramString + " encrypt:" + paramInt2 + " appid:" + paramLong1 + " role:" + paramLong2 + " Seq:" + localt.h + " RequestTransportMsf ret=" + paramInt1, paramString); + return paramInt1; + Object localObject2 = localt.a(((WloginSimpleInfo)localObject1)._uin, paramLong1); + if (localObject2 == null) + { + paramInt1 = -1004; + } + else + { + localt.f = ((WloginSimpleInfo)localObject1)._uin; + paramInt1 = new z(localt).a(((WloginSimpleInfo)localObject1)._uin, paramTransReqContext, ((WloginSigInfo)localObject2)._userStSig, ((WloginSigInfo)localObject2)._userSt_Key, ((WloginSigInfo)localObject2)._TGT, paramLong1, paramLong2, new WUserSigInfo()); + continue; + if ((util.check_uin_account(paramString).booleanValue()) && (Long.parseLong(paramString) == 0L)) + { + localt.f = 0L; + localObject1 = new z(localt); + localObject2 = new WUserSigInfo(); + paramInt1 = ((z)localObject1).a(0L, paramTransReqContext, null, null, new byte[0], paramLong1, paramLong2, (WUserSigInfo)localObject2); + } + else + { + localObject1 = new WloginSimpleInfo(); + if ((paramString == null) || (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject1).booleanValue())) + { + paramInt1 = -1003; + } + else + { + localObject2 = localt.a(((WloginSimpleInfo)localObject1)._uin, paramLong1); + if (localObject2 == null) + { + paramInt1 = -1004; + } + else + { + localt.f = ((WloginSimpleInfo)localObject1)._uin; + paramInt1 = new z(localt).a(((WloginSimpleInfo)localObject1)._uin, paramTransReqContext, null, null, ((WloginSigInfo)localObject2)._TGT, paramLong1, paramLong2, new WUserSigInfo()); + } + } + } + } + } + } + + public WUserSigInfo ResolveQloginIntent(Intent paramIntent) + { + if (paramIntent == null) {} + String str; + do + { + do + { + return null; + } while (paramIntent.getExtras().getInt("quicklogin_ret") != 0); + str = paramIntent.getExtras().getString("quicklogin_uin"); + paramIntent = paramIntent.getExtras().getByteArray("quicklogin_buff"); + } while ((str == null) || (paramIntent == null)); + WUserSigInfo localWUserSigInfo = new WUserSigInfo(); + localWUserSigInfo._fastLoginBuf = new RSACrypt(this.mContext).DecryptData(null, paramIntent); + if (localWUserSigInfo._fastLoginBuf == null) + { + util.LOGI("rsa decrypt failed", ""); + return null; + } + localWUserSigInfo.uin = str; + return localWUserSigInfo; + } + + public void SetAppClientVersion(int paramInt) + { + t.u = paramInt; + } + + public void SetCanWebVerify(boolean paramBoolean) + { + k.D = paramBoolean; + } + + public void SetDevlockMobileType(int paramInt) + { + r.D = paramInt; + } + + public void SetImgType(int paramInt) + { + t.v = paramInt; + this.mMiscBitmap |= 0x80; + } + + public void SetListener(WtloginListener paramWtloginListener) + { + this.mListener = paramWtloginListener; + } + + public void SetLocalId(int paramInt) + { + t.s = paramInt; + } + + public void SetMsfTransportFlag(int paramInt) + { + this.mG.k = paramInt; + if (paramInt != 0) + { + t.ab = new byte[4]; + t.aa = 0L; + this.mG.l = 45000; + } + } + + public int SetNeedForPayToken(String paramString1, String paramString2, byte[] paramArrayOfByte) + { + if ((paramString1 != null) && (paramString1.length() > 0)) + { + k.E = paramString1.getBytes(); + if (paramArrayOfByte != null) { + k.G = paramArrayOfByte; + } + if (paramString2 != null) + { + paramString1 = paramString2; + if (paramString2.length() != 0) {} + } + else + { + paramString1 = util.getChannelId(this.mContext, null); + } + k.F = paramString1.getBytes(); + if ((paramString1 == null) || (paramString1.length() == 0)) { + return -2; + } + } + else + { + return -1; + } + return 0; + } + + public void SetPicType(int paramInt) + { + t.w = paramInt; + } + + public void SetRegDevLockFlag(int paramInt) + { + t.x = paramInt; + } + + public void SetSigMap(int paramInt) + { + this.mMainSigMap = (paramInt | 0xC0); + } + + public void SetTestHost(int paramInt, String paramString) + { + j.a(paramInt, paramString); + } + + public void SetTimeOut(int paramInt) + { + this.mG.l = paramInt; + } + + public int VerifyCode(String paramString, long paramLong, boolean paramBoolean, byte[] paramArrayOfByte, int[] paramArrayOfInt, int paramInt, WUserSigInfo paramWUserSigInfo) + { + Object localObject1 = new WloginSimpleInfo(); + if (!GetBasicUserInfo(paramString, (WloginSimpleInfo)localObject1).booleanValue()) { + return -1003; + } + long l = ((WloginSimpleInfo)localObject1)._uin; + WloginSigInfo localWloginSigInfo = FindUserSig(l, paramLong); + if (localWloginSigInfo == null) { + return -1004; + } + Object localObject3 = new cm(); + Object localObject2 = new byte[0]; + localObject1 = localObject2; + if (localWloginSigInfo._G != null) + { + localObject1 = localObject2; + if (localWloginSigInfo._G.length > 0) + { + localObject1 = localObject2; + if (localWloginSigInfo._dpwd != null) + { + localObject1 = localObject2; + if (localWloginSigInfo._dpwd.length > 0) + { + localObject1 = localObject2; + if (localWloginSigInfo._randseed != null) + { + localObject1 = localObject2; + if (localWloginSigInfo._randseed.length > 0) + { + ((cm)localObject3).a(localWloginSigInfo._G, l, t.y, localWloginSigInfo._dpwd, paramLong, 1L, localWloginSigInfo._randseed); + localObject1 = ((cm)localObject3).b(); + } + } + } + } + } + } + util.LOGI("user:" + paramString + " VerifyCode ...", paramString); + localObject2 = new oicq.wlogin_sdk.code2d.e(); + localObject3 = new TransReqContext(); + ((TransReqContext)localObject3).set_code2d_func_req(); + ((TransReqContext)localObject3).set_subcmd(((oicq.wlogin_sdk.code2d.e)localObject2).get_cmd()); + ((TransReqContext)localObject3)._body = ((oicq.wlogin_sdk.code2d.e)localObject2).a(l, paramLong, paramBoolean, paramArrayOfByte, paramArrayOfInt, localWloginSigInfo._TGT, t.y, t.C, paramInt, (byte[])localObject1); + return RequestTransport(0, 1, paramString, paramLong, ((oicq.wlogin_sdk.code2d.e)localObject2)._role, (TransReqContext)localObject3, paramWUserSigInfo); + } + + public int VerifySMSVerifyLoginCode(String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo) + { + return VerifySMSVerifyLoginCode(paramString1, paramString2, paramWUserSigInfo, 0); + } + + public boolean getHasPassword(long paramLong) + { + String str = this.mG.e(paramLong); + util.LOGI("getHasPasswd ..." + String.valueOf(str), "" + paramLong); + if (str == null) {} + UinInfo localUinInfo; + do + { + return true; + localUinInfo = this.mG.c(str); + } while (localUinInfo == null); + boolean bool = localUinInfo.getHasPassword(); + util.LOGI("getHasPasswd userAccount: " + str + ", uin: " + paramLong + " hasPasswd: " + bool, ""); + return bool; + } + + public void setHasPassword(long paramLong, boolean paramBoolean) + { + String str = this.mG.e(paramLong); + util.LOGI("setHasPasswd ..." + String.valueOf(str), ""); + if (str == null) { + return; + } + this.mG.a(str, Long.valueOf(paramLong), paramBoolean); + util.LOGI("setHasPasswd userAccount: " + str + ", uin: " + paramLong + " hasPassword:" + paramBoolean, ""); + } + + public void setMsgType(int paramInt1, int paramInt2, int paramInt3) + { + oicq.wlogin_sdk.devicelock.DevlockBase.a.a = paramInt1; + oicq.wlogin_sdk.devicelock.DevlockBase.a.b = paramInt2; + oicq.wlogin_sdk.devicelock.DevlockBase.a.c = paramInt3; + } + + public class HelperThread + extends Thread + { + boolean isSelfLooper = false; + byte[] mAppName2; + byte[] mAppSign2; + byte[] mAppVer2; + long mAppid1; + long mAppid2; + long mDwAppid; + long mDwDstAppPri; + long mDwDstAppid; + long[] mDwDstSubAppidList; + int mDwMainSigMap; + long[] mDwSubAppidList; + long mDwSubDstAppid; + int mEncrypt; + WFastLoginInfo mFastLoginInfo; + Handler mHandler; + WtloginHelper mHelper; + boolean mIsSmslogin = false; + String mMsgCode; + byte[] mPictureData; + WtTicketPromise mPromise; + boolean mPwdMd5; + int mReportErrType; + TransReqContext mReqContext; + int mReqType; + byte[][] mReserve; + long mRole; + byte[][] mST; + byte[] mST1; + byte[] mST1Key; + long mSmsAppid; + long mSsoVer2; + long mSubAppid1; + long mSubAppid2; + long mUIN; + String mUserAccount; + byte[] mUserInput; + String mUserPasswd; + WUserSigInfo mUserSigInfo = null; + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, int paramInt, String paramString1, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mEncrypt = paramInt; + this.mUserAccount = paramString1; + this.mDwAppid = paramLong1; + this.mRole = paramLong2; + this.mReqContext = paramTransReqContext; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, int paramInt, String paramString1, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mEncrypt = paramInt; + this.mUserAccount = paramString1; + this.mDwAppid = paramLong1; + this.mRole = paramLong2; + this.mReqContext = paramTransReqContext; + this.mUserSigInfo = paramWUserSigInfo; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, long paramLong1, long paramLong2, String paramString1, WUserSigInfo paramWUserSigInfo, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mAppid1 = paramLong1; + this.mSubAppid1 = paramLong2; + this.mUserSigInfo = paramWUserSigInfo; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, long paramLong1, int paramInt, long paramLong2, long[] paramArrayOfLong, boolean paramBoolean1, String paramString2, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte, boolean paramBoolean2, String paramString3) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mDwAppid = paramLong1; + this.mDwMainSigMap = paramInt; + this.mDwSubDstAppid = paramLong2; + this.mDwSubAppidList = paramArrayOfLong; + this.mPwdMd5 = paramBoolean1; + this.mUserPasswd = paramString2; + this.mUserSigInfo = paramWUserSigInfo; + this.mST = paramArrayOfByte; + this.mIsSmslogin = paramBoolean2; + setName(paramString3); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, long paramLong1, long paramLong2, int paramInt, byte[] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo, WFastLoginInfo paramWFastLoginInfo, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mAppid1 = paramLong1; + this.mSubAppid1 = paramLong2; + this.mDwMainSigMap = paramInt; + this.mAppName2 = paramArrayOfByte1; + this.mSsoVer2 = paramLong4; + this.mAppid2 = paramLong4; + this.mSubAppid2 = paramLong5; + this.mAppVer2 = paramArrayOfByte2; + this.mAppSign2 = paramArrayOfByte3; + this.mUserSigInfo = paramWUserSigInfo; + this.mFastLoginInfo = paramWFastLoginInfo; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, long paramLong, WUserSigInfo paramWUserSigInfo, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mSmsAppid = paramLong; + this.mUserSigInfo = paramWUserSigInfo; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo, String paramString3) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mMsgCode = paramString2; + this.mUserSigInfo = paramWUserSigInfo; + setName(paramString3); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, WUserSigInfo paramWUserSigInfo, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mUserSigInfo = paramWUserSigInfo; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, String paramString1, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mUserAccount = paramString1; + this.mUserInput = paramArrayOfByte; + this.mUserSigInfo = paramWUserSigInfo; + this.mST = paramArrayOfByte1; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, WtTicketPromise paramWtTicketPromise, String paramString1, long paramLong1, long paramLong2, long paramLong3, int paramInt, long paramLong4, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, byte[][] paramArrayOfByte2, String paramString2) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mPromise = paramWtTicketPromise; + this.mUserAccount = paramString1; + this.mDwAppid = paramLong1; + this.mDwDstAppid = paramLong2; + this.mDwDstAppPri = paramLong3; + this.mDwMainSigMap = paramInt; + this.mDwSubDstAppid = paramLong4; + this.mDwDstSubAppidList = paramArrayOfLong; + this.mUserSigInfo = paramWUserSigInfo; + this.mST = paramArrayOfByte1; + this.mReserve = paramArrayOfByte2; + setName(paramString2); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2, int paramInt, String paramString) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mST1 = paramArrayOfByte1; + this.mST1Key = paramArrayOfByte2; + this.mUIN = paramLong1; + this.mDwAppid = paramLong2; + this.mReportErrType = paramInt; + setName(paramString); + } + + HelperThread(WtloginHelper paramWtloginHelper, Handler paramHandler, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2, String paramString) + { + this.mHelper = paramWtloginHelper; + this.mHandler = paramHandler; + this.mST1 = paramArrayOfByte1; + this.mST1Key = paramArrayOfByte2; + this.mUIN = paramLong1; + this.mDwAppid = paramLong2; + setName(paramString); + } + + private void quitSelfLooper() + { + try + { + if (this.isSelfLooper) + { + Looper localLooper = Looper.myLooper(); + if (localLooper != null) { + localLooper.quit(); + } + this.mHandler = null; + } + return; + } + catch (Exception localException) + { + util.printException(localException, ""); + } + } + + public void RunReq(int paramInt) + { + this.mReqType = paramInt; + if (this.mReqType == 7) + { + start(); + return; + } + synchronized (WtloginHelper.__sync_top) + { + Timer localTimer = new Timer(); + WtloginHelper.HelperThread.1 local1 = new WtloginHelper.HelperThread.1(this); + paramInt = WtloginHelper.__top; + WtloginHelper.__top = paramInt + 1; + localTimer.schedule(local1, paramInt * 500); + util.LOGI("push queue " + WtloginHelper.__top, ""); + return; + } + } + + public void run() + { + if ((this.mHelper.mListener == null) && (this.mPromise == null)) {} + for (;;) + { + return; + int i = this.mHelper.mG.q; + boolean bool; + if (this.mHandler == null) + { + bool = true; + label38: + this.isSelfLooper = bool; + if (this.isSelfLooper) + { + Looper.prepare(); + this.mHandler = WtloginHelper.this.newHelperHandler(); + } + } + try + { + if (this.mHandler == null) { + throw new Exception("Handler should not be null!"); + } + } + catch (Exception localException) + { + util.printException(localException, ""); + this.mHandler.post(new WtloginHelper.HelperThread.14(this, i)); + if (this.isSelfLooper) { + Looper.loop(); + } + if (this.mReqType == 7) { + continue; + } + synchronized (WtloginHelper.__sync_top) + { + if (WtloginHelper.__top > 0) { + WtloginHelper.__top -= 1; + } + util.LOGI("pop queue " + WtloginHelper.__top, ""); + return; + } + bool = false; + break label38; + if (this.mReqType == 0) + { + j = this.mHelper.GetStWithPasswd(this.mUserAccount, this.mDwAppid, this.mDwMainSigMap, this.mDwSubDstAppid, this.mDwSubAppidList, this.mPwdMd5, this.mUserPasswd, this.mUserSigInfo, this.mST, this.mIsSmslogin, 1); + this.mHandler.post(new WtloginHelper.HelperThread.2(this, i, j)); + } + for (;;) + { + if (this.isSelfLooper) { + Looper.loop(); + } + if (this.mReqType == 7) { + break; + } + synchronized (WtloginHelper.__sync_top) + { + if (WtloginHelper.__top > 0) { + WtloginHelper.__top -= 1; + } + util.LOGI("pop queue " + WtloginHelper.__top, ""); + return; + } + if (this.mReqType != 1) { + break label468; + } + j = this.mHelper.RefreshPictureData(this.mUserAccount, this.mUserSigInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.3(this, i, j)); + } + } + finally + { + for (;;) + { + int j; + if (this.isSelfLooper) { + Looper.loop(); + } + if (this.mReqType != 7) {} + synchronized (WtloginHelper.__sync_top) + { + if (WtloginHelper.__top > 0) { + WtloginHelper.__top -= 1; + } + util.LOGI("pop queue " + WtloginHelper.__top, ""); + throw localObject4; + label468: + if (this.mReqType == 2) + { + j = this.mHelper.CheckPictureAndGetSt(this.mUserAccount, this.mUserInput, this.mUserSigInfo, this.mST, 1); + this.mHandler.post(new WtloginHelper.HelperThread.4(this, i, j)); + continue; + } + if (this.mReqType == 3) + { + j = this.mHelper.RefreshSMSData(this.mUserAccount, this.mSmsAppid, this.mUserSigInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.5(this, i, j)); + continue; + } + if (this.mReqType == 4) + { + j = this.mHelper.CheckSMSAndGetSt(this.mUserAccount, this.mUserInput, this.mUserSigInfo, this.mST, 1); + this.mHandler.post(new WtloginHelper.HelperThread.6(this, i, j)); + continue; + } + if (this.mReqType == 5) + { + j = this.mHelper.GetStWithoutPasswd(this.mUserAccount, this.mDwAppid, this.mDwDstAppid, this.mDwDstAppPri, this.mDwMainSigMap, this.mDwSubDstAppid, this.mDwDstSubAppidList, this.mUserSigInfo, this.mST, this.mReserve, 1, this.mPromise); + this.mHandler.post(new WtloginHelper.HelperThread.7(this, i, j)); + continue; + } + if (this.mReqType == 6) + { + j = this.mHelper.GetA1WithA1(this.mUserAccount, this.mAppid1, this.mSubAppid1, this.mDwMainSigMap, this.mAppName2, this.mSsoVer2, this.mAppid2, this.mSubAppid2, this.mAppVer2, this.mAppSign2, this.mUserSigInfo, this.mFastLoginInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.8(this, i, j)); + continue; + } + if (this.mReqType == 7) + { + this.mHelper.RequestReport(1, this.mST1, this.mST1Key, this.mUIN, this.mDwAppid); + continue; + } + if (this.mReqType == 9) + { + j = this.mHelper.RequestTransport(1, this.mEncrypt, this.mUserAccount, this.mDwAppid, this.mRole, this.mReqContext, this.mUserSigInfo); + this.mHandler.post(new WtloginHelper.HelperThread.9(this, i, j)); + continue; + } + if (this.mReqType == 10) + { + j = this.mHelper.RequestTransportMsf(1, this.mEncrypt, this.mUserAccount, this.mDwAppid, this.mRole, this.mReqContext); + this.mHandler.post(new WtloginHelper.HelperThread.10(this, i, j)); + continue; + } + if (this.mReqType == 12) + { + j = this.mHelper.CheckSMSVerifyLoginAccount(this.mAppid1, this.mSubAppid1, this.mUserAccount, this.mUserSigInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.11(this, i, j)); + continue; + } + if (this.mReqType == 13) + { + j = this.mHelper.VerifySMSVerifyLoginCode(this.mUserAccount, this.mMsgCode, this.mUserSigInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.12(this, i, j)); + continue; + } + if (this.mReqType == 14) + { + j = this.mHelper.RefreshSMSVerifyLoginCode(this.mUserAccount, this.mUserSigInfo, 1); + this.mHandler.post(new WtloginHelper.HelperThread.13(this, i, j)); + continue; + } + if (this.mReqType != 8) { + continue; + } + this.mHelper.RequestReportError(1, this.mST1, this.mST1Key, this.mUIN, this.mDwAppid, this.mReportErrType); + } + } + } + } + } + } + + public static final class SigType + { + public static final int WLOGIN_A2 = 64; + public static final int WLOGIN_A5 = 2; + public static final int WLOGIN_A8 = 16; + public static final int WLOGIN_AQSIG = 2097152; + public static final int WLOGIN_D2 = 262144; + public static final int WLOGIN_DA2 = 33554432; + public static final int WLOGIN_LHSIG = 4194304; + public static final int WLOGIN_LSKEY = 512; + public static final int WLOGIN_OPENKEY = 16384; + public static final int WLOGIN_PAYTOKEN = 8388608; + public static final int WLOGIN_PF = 16777216; + public static final int WLOGIN_PSKEY = 1048576; + public static final int WLOGIN_QRPUSH = 67108864; + public static final int WLOGIN_SID = 524288; + public static final int WLOGIN_SIG64 = 8192; + public static final int WLOGIN_SKEY = 4096; + public static final int WLOGIN_ST = 128; + public static final int WLOGIN_STWEB = 32; + public static final int WLOGIN_TOKEN = 32768; + public static final int WLOGIN_VKEY = 131072; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginHelper + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginListener.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginListener.java new file mode 100755 index 00000000000..9a879d23314 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginListener.java @@ -0,0 +1,96 @@ +package oicq.wlogin_sdk.request; + +import java.util.List; +import oicq.wlogin_sdk.devicelock.DevlockInfo; +import oicq.wlogin_sdk.tools.ErrMsg; + +public class WtloginListener +{ + public void OnAskDevLockSms(WUserSigInfo paramWUserSigInfo, DevlockInfo paramDevlockInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckDevLockSms(WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckDevLockStatus(WUserSigInfo paramWUserSigInfo, DevlockInfo paramDevlockInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckPictureAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckPictureAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckSMSAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckSMSAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckSMSVerifyLoginAccount(long paramLong1, long paramLong2, String paramString1, String paramString2, int paramInt1, int paramInt2, WUserSigInfo paramWUserSigInfo, int paramInt3, ErrMsg paramErrMsg) {} + + public void OnCheckWebsigAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCheckWebsigAndGetSt(String paramString, byte[] paramArrayOfByte, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte1, int paramInt, ErrMsg paramErrMsg) {} + + public void OnCloseCode(String paramString, byte[] paramArrayOfByte1, long paramLong, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte2, int paramInt) {} + + public void OnCloseDevLock(WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void OnException(ErrMsg paramErrMsg, int paramInt, WUserSigInfo paramWUserSigInfo) {} + + public void OnFetchCodeSig(byte[] paramArrayOfByte1, long paramLong1, long paramLong2, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte2, int paramInt) {} + + public void OnGetStViaSMSVerifyLogin(String paramString, long paramLong1, int paramInt1, long paramLong2, WUserSigInfo paramWUserSigInfo, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnGetStViaSMSVerifyLogin(String paramString, long paramLong1, int paramInt1, long paramLong2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnGetStWithPasswd(String paramString1, long paramLong1, int paramInt1, long paramLong2, String paramString2, WUserSigInfo paramWUserSigInfo, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnGetStWithPasswd(String paramString1, long paramLong1, int paramInt1, long paramLong2, long[] paramArrayOfLong, String paramString2, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnGetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, int paramInt1, long paramLong3, WUserSigInfo paramWUserSigInfo, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnGetStWithoutPasswd(String paramString, long paramLong1, long paramLong2, int paramInt1, long paramLong3, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo, byte[][] paramArrayOfByte, int paramInt2, ErrMsg paramErrMsg) {} + + public void OnInit(int paramInt) {} + + public void OnQueryCodeResult(long paramLong1, List paramList, long paramLong2, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte, int paramInt) {} + + public void OnRefreshPictureData(String paramString, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte, int paramInt, ErrMsg paramErrMsg) {} + + public void OnRefreshSMSData(String paramString, long paramLong, WUserSigInfo paramWUserSigInfo, int paramInt1, int paramInt2, int paramInt3, ErrMsg paramErrMsg) {} + + public void OnRefreshSMSVerifyLoginCode(String paramString1, String paramString2, int paramInt1, int paramInt2, WUserSigInfo paramWUserSigInfo, int paramInt3, ErrMsg paramErrMsg) {} + + public void OnRegCheckDownloadMsg(WUserSigInfo paramWUserSigInfo, int paramInt, byte[] paramArrayOfByte) {} + + public void OnRegCheckUploadMsg(WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) {} + + public void OnRegCheckValidUrl(WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte) {} + + public void OnRegCheckWebSig(WUserSigInfo paramWUserSigInfo, String paramString1, String paramString2) {} + + public void OnRegError(WUserSigInfo paramWUserSigInfo, int paramInt, byte[] paramArrayOfByte) {} + + public void OnRegGetAccount(WUserSigInfo paramWUserSigInfo, int paramInt, long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) {} + + public void OnRegGetSMSVerifyLoginAccount(WUserSigInfo paramWUserSigInfo, int paramInt, long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) {} + + public void OnRegQueryAccount(WUserSigInfo paramWUserSigInfo, int paramInt, byte[] paramArrayOfByte) {} + + public void OnRegQueryClientSendedMsgStatus(WUserSigInfo paramWUserSigInfo, int paramInt1, int paramInt2, int paramInt3) {} + + public void OnRegRequestServerResendMsg(WUserSigInfo paramWUserSigInfo, int paramInt1, int paramInt2, int paramInt3) {} + + public void OnRegSubmitMsgChk(WUserSigInfo paramWUserSigInfo, int paramInt, byte[] paramArrayOfByte) {} + + public void OnRequestTransport(String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, int paramInt) {} + + public void OnRequestTransport(String paramString, long paramLong1, long paramLong2, TransReqContext paramTransReqContext, WUserSigInfo paramWUserSigInfo, int paramInt) {} + + public void OnVerifyCode(String paramString, byte[] paramArrayOfByte1, long paramLong, List paramList, WUserSigInfo paramWUserSigInfo, byte[] paramArrayOfByte2, int paramInt) {} + + public void OnVerifySMSVerifyLoginCode(String paramString1, String paramString2, WUserSigInfo paramWUserSigInfo, int paramInt, ErrMsg paramErrMsg) {} + + public void onGetA1WithA1(String paramString, long paramLong1, int paramInt1, long paramLong2, byte[] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, WUserSigInfo paramWUserSigInfo, WFastLoginInfo paramWFastLoginInfo, int paramInt2, ErrMsg paramErrMsg) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginMsfListener.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginMsfListener.java new file mode 100755 index 00000000000..3e02bea4ce1 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/WtloginMsfListener.java @@ -0,0 +1,315 @@ +package oicq.wlogin_sdk.request; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Semaphore; +import oicq.wlogin_sdk.tools.util; + +public class WtloginMsfListener + implements Runnable +{ + static Object TicketMgr; + private static final Object __SyncCB; + private static final Object __SyncSeq = new Object(); + private static Map __cbs = new HashMap(); + private static long __seq; + private final String CLIENT_CLASSNAME = "com.tencent.mobileqq.msf.core.auth.WtProvider"; + private byte[] data; + private boolean flag; + private int ret; + private byte[] ret_data = null; + private String ret_serviceCmd; + private boolean ret_success = false; + private String ret_uin; + private final Semaphore semp = new Semaphore(1); + private String serviceCmd; + private int timeout; + private String uin; + private WUserSigInfo userSigInfo; + + static + { + __SyncCB = new Object(); + __seq = 0L; + } + + public WtloginMsfListener(String paramString1, String paramString2, byte[] paramArrayOfByte, int paramInt, boolean paramBoolean, WUserSigInfo paramWUserSigInfo) + { + String str = paramString1; + if (paramString1 == null) { + str = "0"; + } + this.uin = str; + paramString1 = paramString2; + if (paramString2 == null) { + paramString1 = ""; + } + this.serviceCmd = paramString1; + paramString1 = paramArrayOfByte; + if (paramArrayOfByte == null) { + paramString1 = new byte[0]; + } + this.data = paramString1; + if (paramInt > 0) {} + for (;;) + { + this.timeout = paramInt; + this.flag = paramBoolean; + this.userSigInfo = paramWUserSigInfo; + return; + paramInt = 5000; + } + } + + private static long allocateSeq() + { + synchronized (__SyncSeq) + { + long l = __seq + 1L; + __seq = l; + return l % 2147483647L; + } + } + + public static void onAsyncReceive(String paramString1, String paramString2, long paramLong, byte[] paramArrayOfByte) + { + StringBuilder localStringBuilder = new StringBuilder().append("rpc receive ").append(paramString2).append(" seq: ").append(paramLong).append(" data:"); + if (paramArrayOfByte == null) {} + for (Object localObject = "null";; localObject = Integer.valueOf(paramArrayOfByte.length)) + { + util.LOGI(localObject, paramString1); + localObject = pickSeq(paramLong); + if (localObject != null) { + ((WtloginMsfListener)localObject).onReceiveData(paramString1, paramString2, paramArrayOfByte); + } + return; + } + } + + public static void onAsyncReceiveFail(String paramString1, String paramString2, long paramLong, int paramInt) + { + util.LOGI("rpc receive " + paramString2 + " seq: " + paramLong + " fail:" + paramInt, paramString1); + WtloginMsfListener localWtloginMsfListener = pickSeq(paramLong); + if (localWtloginMsfListener != null) { + localWtloginMsfListener.onReceiveFail(paramString1, paramString2, paramInt); + } + } + + private static WtloginMsfListener pickSeq(long paramLong) + { + synchronized (__SyncCB) + { + WtloginMsfListener localWtloginMsfListener = (WtloginMsfListener)__cbs.get(Long.valueOf(paramLong)); + __cbs.remove(Long.valueOf(paramLong)); + return localWtloginMsfListener; + } + } + + private int sendRPCData(byte[] arg1, int paramInt) + { + long l = allocateSeq(); + util.LOGI("sendRPCData seq: " + l, ""); + try + { + Class localClass1 = Class.forName("mqq.manager.TicketManager"); + if (TicketMgr == null) + { + Object localObject3 = Class.forName("com.tencent.common.app.BaseApplicationImpl"); + Object localObject4 = Class.forName("mqq.app.BaseActivity"); + Class localClass2 = Class.forName("mqq.app.AppRuntime"); + Object localObject2 = ((Class)localObject3).getMethod("getApplication", new Class[0]); + Method localMethod = ((Class)localObject3).getMethod("waitAppRuntime", new Class[] { localObject4 }); + localObject3 = localClass2.getMethod("getManager", new Class[] { Integer.TYPE }); + localObject4 = localClass2.getField("TICKET_MANAGER"); + localObject2 = ((Method)localObject2).invoke(null, new Object[0]); + if (localObject2 != null) + { + localObject2 = localMethod.invoke(localObject2, new Object[] { null }); + if (localObject2 != null) { + TicketMgr = ((Method)localObject3).invoke(localObject2, new Object[] { ((Field)localObject4).get(localClass2) }); + } + } + } + int i = Integer.valueOf(localClass1.getMethod("sendRPCData", new Class[] { Long.TYPE, String.class, String.class, [B.class, Integer.TYPE }).invoke(TicketMgr, new Object[] { Long.valueOf(l), this.uin, this.serviceCmd, ???.clone(), Integer.valueOf(paramInt) }).toString()).intValue(); + paramInt = i; + if (i == 0) { + paramInt = 99; + } + synchronized (__SyncCB) + { + __cbs.put(Long.valueOf(l), this); + this.semp.acquire(); + return paramInt; + } + return -1000; + } + catch (Exception ???) + { + util.printException(???, this.uin); + } + } + + public void Cancel() + { + try + { + Class localClass = Class.forName("com.tencent.mobileqq.msf.core.auth.WtProvider"); + localClass.getMethod("cancel", new Class[] { WUserSigInfo.class }).invoke(localClass, new Object[] { this.userSigInfo }); + return; + } + catch (Exception localException) + { + util.printException(localException, this.uin); + } + } + + public byte[] RecvData() + { + StringBuilder localStringBuilder; + for (;;) + { + try + { + this.semp.acquire(); + if (!this.ret_success) { + return null; + } + if ((this.ret_uin != null) && (this.ret_uin.equals(this.uin))) { + break; + } + this.ret = -1009; + localStringBuilder = new StringBuilder().append("ret_uin: "); + if (this.ret_uin == null) + { + String str = "null"; + localStringBuilder = localStringBuilder.append(str).append(", uin: "); + if (this.uin != null) { + break label124; + } + str = "null"; + util.LOGI(str, ""); + return null; + } + } + catch (InterruptedException localInterruptedException) + { + util.printException(localInterruptedException, this.uin); + return null; + } + localObject = this.ret_uin; + continue; + label124: + localObject = this.uin; + } + if ((this.ret_serviceCmd == null) || (!this.ret_serviceCmd.equals(this.serviceCmd))) + { + this.ret = -1009; + localStringBuilder = new StringBuilder().append("ret_serviceCmd: "); + if (this.ret_serviceCmd == null) + { + localObject = "null"; + localStringBuilder = localStringBuilder.append((String)localObject).append(", serviceCmd:"); + if (this.serviceCmd != null) { + break label229; + } + } + label229: + for (localObject = "null";; localObject = this.serviceCmd) + { + util.LOGI((String)localObject, ""); + return null; + localObject = this.ret_serviceCmd; + break; + } + } + this.semp.release(); + Object localObject = this.ret_data; + return localObject; + } + + public int SendData(byte[] paramArrayOfByte, int paramInt) + { + Object localObject = t.l(); + util.LOGI("mqq process: " + (String)localObject, ""); + if (!((String)localObject).endsWith(":MSF")) { + paramInt = sendRPCData(paramArrayOfByte, paramInt); + } + for (;;) + { + return paramInt; + try + { + util.LOGI("msf sendData", ""); + localObject = Class.forName("com.tencent.mobileqq.msf.core.auth.WtProvider"); + int i = Integer.valueOf(((Class)localObject).getMethod("sendData", new Class[] { WUserSigInfo.class, String.class, String.class, [B.class, Integer.TYPE, Boolean.TYPE, WtloginMsfListener.class }).invoke(localObject, new Object[] { this.userSigInfo, this.uin, this.serviceCmd, paramArrayOfByte.clone(), Integer.valueOf(paramInt), Boolean.valueOf(this.flag), this }).toString()).intValue(); + paramInt = i; + if (i > 0) + { + this.semp.acquire(); + return i; + } + } + catch (Exception paramArrayOfByte) + { + util.printException(paramArrayOfByte, this.uin); + } + } + return -1000; + } + + public int getRet() + { + return this.ret; + } + + public byte[] getRetData() + { + return this.ret_data; + } + + public void onReceiveData(String paramString1, String paramString2, byte[] paramArrayOfByte) + { + this.ret_success = true; + this.ret_uin = paramString1; + this.ret_serviceCmd = paramString2; + this.ret = 0; + this.ret_data = paramArrayOfByte; + this.semp.release(); + } + + public void onReceiveFail(String paramString1, String paramString2, int paramInt) + { + this.ret_success = false; + this.ret_uin = paramString1; + this.ret_serviceCmd = paramString2; + this.ret = paramInt; + this.semp.release(); + } + + public void run() + { + try + { + this.ret = SendData(this.data, this.timeout); + if (this.ret <= 0) + { + util.LOGI("msf request send data failed, ret=" + this.ret, ""); + return; + } + if (RecvData() == null) + { + this.ret_data = null; + return; + } + } + catch (Exception localException) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.WtloginMsfListener + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/a.java new file mode 100755 index 00000000000..29b1b7bc38f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/a.java @@ -0,0 +1,76 @@ +package oicq.wlogin_sdk.request; + +import java.net.InetSocketAddress; + +public class a + implements Runnable +{ + private String a; + private int b; + private InetSocketAddress c; + + public a(String paramString, int paramInt) + { + this.a = paramString; + this.b = paramInt; + } + + public static InetSocketAddress a(String paramString, int paramInt, long paramLong) + { + try + { + paramString = new a(paramString, paramInt); + Thread localThread = new Thread(paramString); + localThread.start(); + localThread.join(paramLong); + paramString = paramString.a(); + return paramString; + } + catch (Exception paramString) {} + return null; + } + + public InetSocketAddress a() + { + try + { + InetSocketAddress localInetSocketAddress = this.c; + return localInetSocketAddress; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void a(InetSocketAddress paramInetSocketAddress) + { + try + { + this.c = paramInetSocketAddress; + return; + } + finally + { + paramInetSocketAddress = finally; + throw paramInetSocketAddress; + } + } + + public void run() + { + try + { + a(new InetSocketAddress(this.a, this.b)); + return; + } + catch (Exception localException) {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/async_context.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/async_context.java new file mode 100755 index 00000000000..e283771ead3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/async_context.java @@ -0,0 +1,52 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.ad; +import oicq.wlogin_sdk.b.ay; +import oicq.wlogin_sdk.b.bk; +import oicq.wlogin_sdk.b.bp; +import oicq.wlogin_sdk.b.co; +import oicq.wlogin_sdk.b.cp; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.b.g; +import oicq.wlogin_sdk.devicelock.DevlockInfo; +import oicq.wlogin_sdk.tools.ErrMsg; + +public class async_context +{ + public byte[] _G = new byte[16]; + public long _appid = 0L; + DevlockInfo _devlock_info = new DevlockInfo(); + public byte[] _dpwd = new byte[16]; + boolean _isSmslogin = false; + ErrMsg _last_err_msg = new ErrMsg(); + public int _last_flowid = 0; + public int _login_bitmap = 0; + public int _main_sigmap = 0; + String _mpasswd = ""; + long _msalt = 0L; + public long _sappid = 0L; + public boolean _sec_guid_flag = false; + String _smslogin_msg = ""; + int _smslogin_msgcnt = 0; + int _smslogin_timelimit = 0; + public long _sub_appid = 0L; + public long[] _sub_appid_list = new long[0]; + public f _t104 = new f(); + public g _t105 = new g(); + public ad _t126 = new ad(); + public ay _t165 = new ay(); + public bk _t174 = new bk(); + public bp _t17b = new bp(); + public co _t402 = new co(); + public cp _t403 = new cp(); + public byte[] _tgtgt_key = new byte[16]; + public byte[] _tmp_no_pic_sig = new byte[0]; + public byte[] _tmp_pwd = new byte[16]; + public int _tmp_pwd_type = 0; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.async_context + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/b.java new file mode 100755 index 00000000000..f3d8b950da2 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/b.java @@ -0,0 +1,25 @@ +package oicq.wlogin_sdk.request; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteDatabase.CursorFactory; +import android.database.sqlite.SQLiteOpenHelper; + +public class b + extends SQLiteOpenHelper +{ + public b(Context paramContext, String paramString, SQLiteDatabase.CursorFactory paramCursorFactory, int paramInt) + { + super(paramContext, paramString, paramCursorFactory, paramInt); + } + + public void onCreate(SQLiteDatabase paramSQLiteDatabase) {} + + public void onUpgrade(SQLiteDatabase paramSQLiteDatabase, int paramInt1, int paramInt2) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/c.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/c.java new file mode 100755 index 00000000000..70eb0e6c7ab --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/c.java @@ -0,0 +1,2109 @@ +package oicq.wlogin_sdk.request; + +import android.content.Context; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.security.Key; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import javax.crypto.Cipher; +import javax.crypto.CipherInputStream; +import javax.crypto.spec.SecretKeySpec; +import oicq.wlogin_sdk.sharemem.WloginLoginInfo; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class c +{ + private static final Object e = new Object(); + private static final Object f = new Object(); + private static b g = null; + private static b h = null; + Context a; + WloginLastLoginInfo b = new WloginLastLoginInfo(); + TreeMap c = new TreeMap(); + TreeMap d = new TreeMap(); + + public c(Context paramContext) + { + this.a = paramContext; + this.d = a(this.a, "name_file"); + if (this.d == null) { + this.d = new TreeMap(); + } + } + + /* Error */ + public static int a(Context paramContext, String paramString, byte[] paramArrayOfByte) + { + // Byte code: + // 0: aload_1 + // 1: ldc 58 + // 3: invokevirtual 64 java/lang/String:equals (Ljava/lang/Object;)Z + // 6: ifeq +238 -> 244 + // 9: getstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 12: ifnonnull +17 -> 29 + // 15: new 66 oicq/wlogin_sdk/request/b + // 18: dup + // 19: aload_0 + // 20: aload_1 + // 21: aconst_null + // 22: iconst_1 + // 23: invokespecial 69 oicq/wlogin_sdk/request/b: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V + // 26: putstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 29: getstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 32: invokevirtual 73 oicq/wlogin_sdk/request/b:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 35: astore 6 + // 37: aload 6 + // 39: new 75 java/lang/StringBuilder + // 42: dup + // 43: invokespecial 76 java/lang/StringBuilder: ()V + // 46: ldc 78 + // 48: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 51: aload_1 + // 52: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 55: ldc 84 + // 57: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 60: aload_1 + // 61: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 64: ldc 86 + // 66: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 69: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 72: invokevirtual 96 android/database/sqlite/SQLiteDatabase:execSQL (Ljava/lang/String;)V + // 75: aload 6 + // 77: aload_1 + // 78: iconst_1 + // 79: anewarray 60 java/lang/String + // 82: dup + // 83: iconst_0 + // 84: ldc 98 + // 86: aastore + // 87: ldc 100 + // 89: aconst_null + // 90: aconst_null + // 91: aconst_null + // 92: aconst_null + // 93: invokevirtual 104 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 96: astore 5 + // 98: aload 5 + // 100: astore_0 + // 101: aload 5 + // 103: invokeinterface 110 1 0 + // 108: ifne +61 -> 169 + // 111: aload 5 + // 113: astore_0 + // 114: aload 6 + // 116: new 75 java/lang/StringBuilder + // 119: dup + // 120: invokespecial 76 java/lang/StringBuilder: ()V + // 123: ldc 112 + // 125: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 128: aload_1 + // 129: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 132: ldc 114 + // 134: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 137: aload_1 + // 138: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 141: ldc 116 + // 143: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 146: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 149: iconst_2 + // 150: anewarray 4 java/lang/Object + // 153: dup + // 154: iconst_0 + // 155: iconst_0 + // 156: invokestatic 122 java/lang/Integer:valueOf (I)Ljava/lang/Integer; + // 159: aastore + // 160: dup + // 161: iconst_1 + // 162: iconst_1 + // 163: newarray byte + // 165: aastore + // 166: invokevirtual 125 android/database/sqlite/SQLiteDatabase:execSQL (Ljava/lang/String;[Ljava/lang/Object;)V + // 169: aload 5 + // 171: astore_0 + // 172: aload 6 + // 174: new 75 java/lang/StringBuilder + // 177: dup + // 178: invokespecial 76 java/lang/StringBuilder: ()V + // 181: ldc 127 + // 183: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 186: aload_1 + // 187: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 190: ldc 129 + // 192: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 195: aload_1 + // 196: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 199: ldc 131 + // 201: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 204: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 207: iconst_1 + // 208: anewarray 4 java/lang/Object + // 211: dup + // 212: iconst_0 + // 213: aload_2 + // 214: aastore + // 215: invokevirtual 125 android/database/sqlite/SQLiteDatabase:execSQL (Ljava/lang/String;[Ljava/lang/Object;)V + // 218: aload 5 + // 220: ifnull +20 -> 240 + // 223: aload 5 + // 225: invokeinterface 135 1 0 + // 230: ifne +10 -> 240 + // 233: aload 5 + // 235: invokeinterface 138 1 0 + // 240: iconst_0 + // 241: istore_3 + // 242: iload_3 + // 243: ireturn + // 244: getstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 247: ifnonnull +17 -> 264 + // 250: new 66 oicq/wlogin_sdk/request/b + // 253: dup + // 254: aload_0 + // 255: aload_1 + // 256: aconst_null + // 257: iconst_1 + // 258: invokespecial 69 oicq/wlogin_sdk/request/b: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V + // 261: putstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 264: getstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 267: invokevirtual 73 oicq/wlogin_sdk/request/b:getWritableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 270: astore 6 + // 272: goto -235 -> 37 + // 275: astore_2 + // 276: aconst_null + // 277: astore 5 + // 279: aload 5 + // 281: astore_0 + // 282: aload_1 + // 283: ldc 58 + // 285: invokevirtual 64 java/lang/String:equals (Ljava/lang/Object;)Z + // 288: ifeq +56 -> 344 + // 291: aload 5 + // 293: astore_0 + // 294: aconst_null + // 295: putstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 298: aload 5 + // 300: astore_0 + // 301: aload_2 + // 302: ldc 140 + // 304: invokestatic 146 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 307: sipush -1022 + // 310: istore 4 + // 312: iload 4 + // 314: istore_3 + // 315: aload 5 + // 317: ifnull -75 -> 242 + // 320: iload 4 + // 322: istore_3 + // 323: aload 5 + // 325: invokeinterface 135 1 0 + // 330: ifne -88 -> 242 + // 333: aload 5 + // 335: invokeinterface 138 1 0 + // 340: sipush -1022 + // 343: ireturn + // 344: aload 5 + // 346: astore_0 + // 347: aconst_null + // 348: putstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 351: goto -53 -> 298 + // 354: astore_2 + // 355: aload_0 + // 356: astore_1 + // 357: aload_2 + // 358: astore_0 + // 359: aload_1 + // 360: ifnull +18 -> 378 + // 363: aload_1 + // 364: invokeinterface 135 1 0 + // 369: ifne +9 -> 378 + // 372: aload_1 + // 373: invokeinterface 138 1 0 + // 378: aload_0 + // 379: athrow + // 380: astore_0 + // 381: aconst_null + // 382: astore_1 + // 383: goto -24 -> 359 + // 386: astore_2 + // 387: goto -108 -> 279 + // Local variable table: + // start length slot name signature + // 0 390 0 paramContext Context + // 0 390 1 paramString String + // 0 390 2 paramArrayOfByte byte[] + // 241 82 3 i int + // 310 11 4 j int + // 96 249 5 localCursor android.database.Cursor + // 35 236 6 localSQLiteDatabase android.database.sqlite.SQLiteDatabase + // Exception table: + // from to target type + // 0 29 275 java/lang/Exception + // 29 37 275 java/lang/Exception + // 37 98 275 java/lang/Exception + // 244 264 275 java/lang/Exception + // 264 272 275 java/lang/Exception + // 101 111 354 finally + // 114 169 354 finally + // 172 218 354 finally + // 282 291 354 finally + // 294 298 354 finally + // 301 307 354 finally + // 347 351 354 finally + // 0 29 380 finally + // 29 37 380 finally + // 37 98 380 finally + // 244 264 380 finally + // 264 272 380 finally + // 101 111 386 java/lang/Exception + // 114 169 386 java/lang/Exception + // 172 218 386 java/lang/Exception + } + + public static int a(byte[] paramArrayOfByte1, int paramInt, byte[] paramArrayOfByte2) + { + int i = paramInt; + if (i < paramArrayOfByte1.length - paramArrayOfByte2.length - paramInt) + { + j = 0; + label16: + if (j >= paramArrayOfByte2.length) { + break label64; + } + if (paramArrayOfByte1[(i + j)] == paramArrayOfByte2[j]) {} + } + label64: + for (int j = 0;; j = 1) + { + if (j != 0) + { + return i; + j += 1; + break label16; + } + i += 1; + break; + return -1; + } + } + + public static TreeMap a(Context paramContext, String paramString) + { + util.LOGI("sigfile " + paramString, ""); + Object localObject1 = b(paramContext, paramString); + Object localObject3; + Object localObject4; + Object localObject5; + if (localObject1 != null) + { + util.LOGI("get_from_db len:" + localObject1.length + " at " + t.l(), ""); + try + { + localObject3 = cryptor.decrypt((byte[])localObject1, 0, localObject1.length, t.z); + if (localObject3 != null) + { + localObject1 = new ByteArrayInputStream((byte[])localObject3); + localObject4 = new ObjectInputStream((InputStream)localObject1); + localObject3 = (TreeMap)((ObjectInputStream)localObject4).readObject(); + ((ObjectInputStream)localObject4).close(); + ((ByteArrayInputStream)localObject1).close(); + if (localObject3 != null) + { + util.LOGI("tree size: " + ((TreeMap)localObject3).size(), ""); + if ("tk_file".equals(paramString)) + { + localObject4 = ((TreeMap)localObject3).keySet().iterator(); + for (;;) + { + localObject1 = localObject3; + if (!((Iterator)localObject4).hasNext()) { + break; + } + localObject1 = ((Iterator)localObject4).next(); + localObject5 = (WloginAllSigInfo)((TreeMap)localObject3).get(localObject1); + util.LOGI(localObject1 + " allsig: " + ((WloginAllSigInfo)localObject5)._tk_map, "" + localObject1); + } + localObject2 = c(paramContext, paramString); + } + } + } + } + catch (Throwable localThrowable) + { + util.printThrowable(localThrowable, ""); + } + } + for (;;) + { + return localObject2; + localObject4 = ((TreeMap)localObject3).keySet().iterator(); + for (;;) + { + localObject2 = localObject3; + if (!((Iterator)localObject4).hasNext()) { + break; + } + localObject2 = ((Iterator)localObject4).next(); + localObject5 = (UinInfo)((TreeMap)localObject3).get(localObject2); + if (localObject5 != null) { + util.LOGI(localObject2 + " is uin: " + ((UinInfo)localObject5)._uin, ""); + } + } + util.LOGI("tree is null", ""); + return null; + localObject4 = new SecretKeySpec(t.z, "DESede"); + localObject3 = Cipher.getInstance("DESede"); + ((Cipher)localObject3).init(2, (Key)localObject4); + Object localObject2 = new ByteArrayInputStream((byte[])localObject2); + localObject3 = new ObjectInputStream(new CipherInputStream((InputStream)localObject2, (Cipher)localObject3)); + localObject4 = (TreeMap)((ObjectInputStream)localObject3).readObject(); + if (localObject4 != null) + { + ((ObjectInputStream)localObject3).close(); + ((ByteArrayInputStream)localObject2).close(); + return localObject4; + util.LOGI("dbdata is null", ""); + } + } + } + + /* Error */ + public static byte[] b(Context paramContext, String paramString) + { + // Byte code: + // 0: aconst_null + // 1: astore 4 + // 3: iconst_0 + // 4: invokestatic 278 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 7: astore 5 + // 9: aload_1 + // 10: ldc 58 + // 12: invokevirtual 64 java/lang/String:equals (Ljava/lang/Object;)Z + // 15: ifeq +175 -> 190 + // 18: getstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 21: ifnonnull +17 -> 38 + // 24: new 66 oicq/wlogin_sdk/request/b + // 27: dup + // 28: aload_0 + // 29: aload_1 + // 30: aconst_null + // 31: iconst_1 + // 32: invokespecial 69 oicq/wlogin_sdk/request/b: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V + // 35: putstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 38: getstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 41: invokevirtual 281 oicq/wlogin_sdk/request/b:getReadableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 44: astore_3 + // 45: new 75 java/lang/StringBuilder + // 48: dup + // 49: invokespecial 76 java/lang/StringBuilder: ()V + // 52: ldc_w 283 + // 55: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 58: aload_3 + // 59: invokevirtual 286 android/database/sqlite/SQLiteDatabase:getPath ()Ljava/lang/String; + // 62: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 65: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 68: ldc 140 + // 70: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 73: aload_3 + // 74: new 75 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 76 java/lang/StringBuilder: ()V + // 81: ldc_w 288 + // 84: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 87: aload_1 + // 88: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 91: ldc_w 290 + // 94: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 97: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 100: aconst_null + // 101: invokevirtual 294 android/database/sqlite/SQLiteDatabase:rawQuery (Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; + // 104: astore_0 + // 105: aload 5 + // 107: astore 4 + // 109: aload_0 + // 110: invokeinterface 297 1 0 + // 115: ifeq +23 -> 138 + // 118: aload 5 + // 120: astore 4 + // 122: aload_0 + // 123: iconst_0 + // 124: invokeinterface 301 2 0 + // 129: ifle +9 -> 138 + // 132: iconst_1 + // 133: invokestatic 278 java/lang/Boolean:valueOf (Z)Ljava/lang/Boolean; + // 136: astore 4 + // 138: aload_0 + // 139: ifnull +18 -> 157 + // 142: aload_0 + // 143: invokeinterface 135 1 0 + // 148: ifne +9 -> 157 + // 151: aload_0 + // 152: invokeinterface 138 1 0 + // 157: aload 4 + // 159: invokevirtual 304 java/lang/Boolean:booleanValue ()Z + // 162: istore_2 + // 163: iload_2 + // 164: ifne +56 -> 220 + // 167: aload_0 + // 168: ifnull +18 -> 186 + // 171: aload_0 + // 172: invokeinterface 135 1 0 + // 177: ifne +9 -> 186 + // 180: aload_0 + // 181: invokeinterface 138 1 0 + // 186: aconst_null + // 187: astore_1 + // 188: aload_1 + // 189: areturn + // 190: getstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 193: ifnonnull +17 -> 210 + // 196: new 66 oicq/wlogin_sdk/request/b + // 199: dup + // 200: aload_0 + // 201: aload_1 + // 202: aconst_null + // 203: iconst_1 + // 204: invokespecial 69 oicq/wlogin_sdk/request/b: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V + // 207: putstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 210: getstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 213: invokevirtual 281 oicq/wlogin_sdk/request/b:getReadableDatabase ()Landroid/database/sqlite/SQLiteDatabase; + // 216: astore_3 + // 217: goto -172 -> 45 + // 220: aload_3 + // 221: aload_1 + // 222: iconst_1 + // 223: anewarray 60 java/lang/String + // 226: dup + // 227: iconst_0 + // 228: aload_1 + // 229: aastore + // 230: ldc 100 + // 232: aconst_null + // 233: aconst_null + // 234: aconst_null + // 235: aconst_null + // 236: invokevirtual 104 android/database/sqlite/SQLiteDatabase:query (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 239: astore_3 + // 240: aload_3 + // 241: astore_0 + // 242: aload_0 + // 243: ifnonnull +24 -> 267 + // 246: aload_0 + // 247: ifnull +18 -> 265 + // 250: aload_0 + // 251: invokeinterface 135 1 0 + // 256: ifne +9 -> 265 + // 259: aload_0 + // 260: invokeinterface 138 1 0 + // 265: aconst_null + // 266: areturn + // 267: aload_0 + // 268: astore_3 + // 269: aload_0 + // 270: invokeinterface 307 1 0 + // 275: ifeq +50 -> 325 + // 278: aload_0 + // 279: astore_3 + // 280: aload_0 + // 281: iconst_0 + // 282: invokeinterface 311 2 0 + // 287: astore 4 + // 289: aload_0 + // 290: astore_3 + // 291: aload_0 + // 292: invokeinterface 138 1 0 + // 297: aload 4 + // 299: astore_1 + // 300: aload_0 + // 301: ifnull -113 -> 188 + // 304: aload 4 + // 306: astore_1 + // 307: aload_0 + // 308: invokeinterface 135 1 0 + // 313: ifne -125 -> 188 + // 316: aload_0 + // 317: invokeinterface 138 1 0 + // 322: aload 4 + // 324: areturn + // 325: aload_0 + // 326: astore_3 + // 327: aload_0 + // 328: invokeinterface 138 1 0 + // 333: aload_0 + // 334: ifnull +18 -> 352 + // 337: aload_0 + // 338: invokeinterface 135 1 0 + // 343: ifne +9 -> 352 + // 346: aload_0 + // 347: invokeinterface 138 1 0 + // 352: aconst_null + // 353: areturn + // 354: astore 4 + // 356: aconst_null + // 357: astore_0 + // 358: aload_0 + // 359: astore_3 + // 360: aload_1 + // 361: ldc 58 + // 363: invokevirtual 64 java/lang/String:equals (Ljava/lang/Object;)Z + // 366: ifeq +39 -> 405 + // 369: aload_0 + // 370: astore_3 + // 371: aconst_null + // 372: putstatic 30 oicq/wlogin_sdk/request/c:g Loicq/wlogin_sdk/request/b; + // 375: aload_0 + // 376: astore_3 + // 377: aload 4 + // 379: ldc 140 + // 381: invokestatic 146 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 384: aload_0 + // 385: ifnull +18 -> 403 + // 388: aload_0 + // 389: invokeinterface 135 1 0 + // 394: ifne +9 -> 403 + // 397: aload_0 + // 398: invokeinterface 138 1 0 + // 403: aconst_null + // 404: areturn + // 405: aload_0 + // 406: astore_3 + // 407: aconst_null + // 408: putstatic 32 oicq/wlogin_sdk/request/c:h Loicq/wlogin_sdk/request/b; + // 411: goto -36 -> 375 + // 414: astore_0 + // 415: aload_3 + // 416: astore_1 + // 417: aload_1 + // 418: ifnull +18 -> 436 + // 421: aload_1 + // 422: invokeinterface 135 1 0 + // 427: ifne +9 -> 436 + // 430: aload_1 + // 431: invokeinterface 138 1 0 + // 436: aload_0 + // 437: athrow + // 438: astore_0 + // 439: aload 4 + // 441: astore_1 + // 442: goto -25 -> 417 + // 445: astore_3 + // 446: aload_0 + // 447: astore_1 + // 448: aload_3 + // 449: astore_0 + // 450: goto -33 -> 417 + // 453: astore 4 + // 455: goto -97 -> 358 + // 458: astore 4 + // 460: goto -102 -> 358 + // Local variable table: + // start length slot name signature + // 0 463 0 paramContext Context + // 0 463 1 paramString String + // 162 2 2 bool boolean + // 44 372 3 localObject1 Object + // 445 4 3 localObject2 Object + // 1 322 4 localObject3 Object + // 354 86 4 localException1 Exception + // 453 1 4 localException2 Exception + // 458 1 4 localException3 Exception + // 7 112 5 localBoolean java.lang.Boolean + // Exception table: + // from to target type + // 9 38 354 java/lang/Exception + // 38 45 354 java/lang/Exception + // 45 105 354 java/lang/Exception + // 190 210 354 java/lang/Exception + // 210 217 354 java/lang/Exception + // 269 278 414 finally + // 280 289 414 finally + // 291 297 414 finally + // 327 333 414 finally + // 360 369 414 finally + // 371 375 414 finally + // 377 384 414 finally + // 407 411 414 finally + // 9 38 438 finally + // 38 45 438 finally + // 45 105 438 finally + // 190 210 438 finally + // 210 217 438 finally + // 109 118 445 finally + // 122 138 445 finally + // 142 157 445 finally + // 157 163 445 finally + // 220 240 445 finally + // 109 118 453 java/lang/Exception + // 122 138 453 java/lang/Exception + // 142 157 453 java/lang/Exception + // 157 163 453 java/lang/Exception + // 220 240 453 java/lang/Exception + // 269 278 458 java/lang/Exception + // 280 289 458 java/lang/Exception + // 291 297 458 java/lang/Exception + // 327 333 458 java/lang/Exception + } + + private static TreeMap c(Context paramContext, String paramString) + { + try + { + localObject1 = new SecretKeySpec(t.z, "DESede"); + Object localObject3 = Cipher.getInstance("DESede"); + ((Cipher)localObject3).init(2, (Key)localObject1); + localObject1 = new ObjectInputStream(new CipherInputStream(paramContext.openFileInput(paramString), (Cipher)localObject3)); + if ((localThrowable2 instanceof FileNotFoundException)) { + break label131; + } + } + catch (Throwable localThrowable2) + { + try + { + localObject3 = (TreeMap)((ObjectInputStream)localObject1).readObject(); + paramString = (String)localObject1; + paramContext = (Context)localObject3; + if (paramContext != null) { + break label1253; + } + return paramContext; + } + catch (Throwable localThrowable4) + { + for (;;) + { + Object localObject1; + Object localObject5; + continue; + int i = 0; + continue; + i = 0; + continue; + i = 0; + continue; + i = 0; + } + } + localThrowable2 = localThrowable2; + localObject1 = null; + } + try + { + byte[] arrayOfByte1 = new byte[256]; + localObject5 = paramContext.openFileInput(paramString); + for (;;) + { + i = ((FileInputStream)localObject5).read(arrayOfByte1, 0, arrayOfByte1.length); + if (i <= 0) { + break; + } + util.LOGI(util.buf_to_string(arrayOfByte1, i)); + } + try + { + localObject4 = new SecretKeySpec(new String("%4;7t>;28= arrayOfByte2.length) { + break label1284; + } + arrayOfByte2[i] = 0; + i += 1; + continue; + if (i < 0) { + break label1289; + } + arrayOfByte3 = new String("WloginAllSigInfo").getBytes(); + i = a(arrayOfByte2, i, arrayOfByte3); + if (i >= 0) { + break; + } + } + catch (Exception paramString) {} + if (i < 0) { + break label1294; + } + arrayOfByte3 = new String("WloginSigInfo").getBytes(); + i = a(arrayOfByte2, i, arrayOfByte3); + if (i >= 0) { + break label672; + } + break label1294; + label365: + if (i < 0) { + break label1299; + } + arrayOfByte3 = new String("WloginSimpleInfo").getBytes(); + i = a(arrayOfByte2, i, arrayOfByte3); + if (i >= 0) { + break label843; + } + break label1299; + label400: + if (i >= 0) + { + arrayOfByte3 = new String("UinInfo").getBytes(); + i = a(arrayOfByte2, i, arrayOfByte3); + if (i >= 0) { + break label1030; + } + } + ((FileOutputStream)localObject5).write(arrayOfByte2, 40, m); + if (m > 40) { + System.arraycopy(arrayOfByte2, m, arrayOfByte2, 0, 40); + } + } + for (;;) + { + paramString = (String)localObject1; + localObject1 = null; + paramContext.deleteFile("tmp_tk_file"); + paramContext = (Context)localObject1; + break; + int j = i + arrayOfByte3.length; + i = j; + if (j + 8 > arrayOfByte2.length) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 0)] != -127) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 1)] != 64) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 2)] != 1) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 3)] != 111) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 4)] != -111) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 5)] != -44) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 6)] != 26) { + break label295; + } + i = j; + if (arrayOfByte2[(j + 7)] != -101) { + break label295; + } + arrayOfByte2[(j + 0)] = 0; + arrayOfByte2[(j + 1)] = 0; + arrayOfByte2[(j + 2)] = 0; + arrayOfByte2[(j + 3)] = 0; + arrayOfByte2[(j + 4)] = 0; + arrayOfByte2[(j + 5)] = 0; + arrayOfByte2[(j + 6)] = 0; + arrayOfByte2[(j + 7)] = 1; + i = j; + break label295; + label672: + j = i + arrayOfByte3.length; + i = j; + if (j + 8 > arrayOfByte2.length) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 0)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 1)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 2)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 3)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 4)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 5)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 6)] != 0) { + break label330; + } + i = j; + if (arrayOfByte2[(j + 7)] != 0) { + break label330; + } + arrayOfByte2[(j + 0)] = 0; + arrayOfByte2[(j + 1)] = 0; + arrayOfByte2[(j + 2)] = 0; + arrayOfByte2[(j + 3)] = 0; + arrayOfByte2[(j + 4)] = 0; + arrayOfByte2[(j + 5)] = 0; + arrayOfByte2[(j + 6)] = 0; + arrayOfByte2[(j + 7)] = 1; + i = j; + break label330; + label843: + j = i + arrayOfByte3.length; + i = j; + if (j + 8 > arrayOfByte2.length) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 0)] != 57) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 1)] != -69) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 2)] != -84) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 3)] != 110) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 4)] != -46) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 5)] != 98) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 6)] != -31) { + break label365; + } + i = j; + if (arrayOfByte2[(j + 7)] != -113) { + break label365; + } + arrayOfByte2[(j + 0)] = 0; + arrayOfByte2[(j + 1)] = 0; + arrayOfByte2[(j + 2)] = 0; + arrayOfByte2[(j + 3)] = 0; + arrayOfByte2[(j + 4)] = 0; + arrayOfByte2[(j + 5)] = 0; + arrayOfByte2[(j + 6)] = 0; + arrayOfByte2[(j + 7)] = 1; + i = j; + break label365; + label1030: + j = i + arrayOfByte3.length; + i = j; + if (j + 8 > arrayOfByte2.length) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 0)] != -118) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 1)] != -23) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 2)] != -128) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 3)] != -19) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 4)] != -26) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 5)] != 99) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 6)] != 41) { + break label400; + } + i = j; + if (arrayOfByte2[(j + 7)] != 14) { + break label400; + } + arrayOfByte2[(j + 0)] = 0; + arrayOfByte2[(j + 1)] = 0; + arrayOfByte2[(j + 2)] = 0; + arrayOfByte2[(j + 3)] = 0; + arrayOfByte2[(j + 4)] = 0; + arrayOfByte2[(j + 5)] = 0; + arrayOfByte2[(j + 6)] = 0; + arrayOfByte2[(j + 7)] = 1; + i = j; + break label400; + label1217: + paramString.close(); + ((FileOutputStream)localObject5).close(); + paramString = new ObjectInputStream(paramContext.openFileInput("tmp_tk_file")); + for (;;) + { + try + { + localObject1 = (TreeMap)paramString.readObject(); + } + catch (Exception localException1) + { + label1253: + String str = paramString; + } + try + { + paramString.close(); + return paramContext; + } + catch (Exception paramContext) + { + return null; + } + } + } + } + + public int a(long paramLong1, long paramLong2) + { + for (;;) + { + try + { + util.LOGI("clear_da2 " + paramLong2, "" + paramLong1); + WloginAllSigInfo localWloginAllSigInfo = (WloginAllSigInfo)this.c.get(Long.valueOf(paramLong1)); + if (localWloginAllSigInfo == null) + { + i = -1; + return i; + } + ??? = (WloginSigInfo)localWloginAllSigInfo._tk_map.get(Long.valueOf(paramLong2)); + if (??? != null) + { + if ((((WloginSigInfo)???)._DA2 == null) || (((WloginSigInfo)???)._DA2.length == 0)) { + break label220; + } + ((WloginSigInfo)???)._DA2 = new byte[0]; + } + i = localWloginAllSigInfo.put_da2(paramLong2, new byte[0]); + if (this.a != null) + { + synchronized (e) + { + TreeMap localTreeMap = a(this.a, "tk_file"); + if (localTreeMap != null) + { + localTreeMap.put(Long.valueOf(paramLong1), localWloginAllSigInfo); + i = a(localTreeMap, "tk_file"); + this.c = localTreeMap; + } + } + continue; + } + } + finally {} + continue; + label220: + int i = 0; + } + } + + public int a(long paramLong1, long paramLong2, long paramLong3, long paramLong4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + try + { + WloginAllSigInfo localWloginAllSigInfo = (WloginAllSigInfo)this.c.get(new Long(paramLong1)); + int i; + if (localWloginAllSigInfo == null) { + i = -1; + } + for (;;) + { + return i; + i = localWloginAllSigInfo.put_siginfo(paramLong2, paramLong3, paramLong4, paramArrayOfByte1, paramArrayOfByte2); + if (this.a != null) { + synchronized (e) + { + paramArrayOfByte2 = a(this.a, "tk_file"); + paramArrayOfByte1 = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + paramArrayOfByte1 = new TreeMap(); + } + paramArrayOfByte1.put(Long.valueOf(paramLong1), localWloginAllSigInfo.get_clone()); + a(paramArrayOfByte1, "tk_file"); + } + } + } + } + finally {} + } + + public int a(long paramLong1, long paramLong2, byte[] arg5) + { + label210: + label218: + for (;;) + { + try + { + Object localObject3 = (WloginAllSigInfo)this.c.get(Long.valueOf(paramLong1)); + if (localObject3 == null) + { + i = -1; + return i; + } + Object localObject1 = (WloginSigInfo)((WloginAllSigInfo)localObject3)._tk_map.get(Long.valueOf(paramLong2)); + if ((localObject1 == null) || (((WloginSigInfo)localObject1)._randseed == null)) { + break label210; + } + localObject1 = (byte[])((WloginSigInfo)localObject1)._randseed.clone(); + int i = ((WloginAllSigInfo)localObject3).put_randseed(paramLong2, ???); + if (this.a != null) + { + synchronized (e) + { + TreeMap localTreeMap = a(this.a, "tk_file"); + if (localTreeMap != null) + { + localTreeMap.put(Long.valueOf(paramLong1), ((WloginAllSigInfo)localObject3).get_clone()); + i = a(localTreeMap, "tk_file"); + if (i == 0) { + break label218; + } + localObject3 = (WloginSigInfo)((WloginAllSigInfo)localObject3)._tk_map.get(Long.valueOf(paramLong2)); + if (localObject3 == null) { + break label218; + } + ((WloginSigInfo)localObject3)._randseed = ((byte[])((byte[])localObject1).clone()); + break label218; + } + } + continue; + } + } + finally {} + continue; + byte[] arrayOfByte = new byte[0]; + } + } + + public int a(long paramLong1, long paramLong2, byte[][] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[][] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[] paramArrayOfByte13, byte[] paramArrayOfByte14, byte[] paramArrayOfByte15, byte[] paramArrayOfByte16, byte[] paramArrayOfByte17, byte[] paramArrayOfByte18, byte[][] paramArrayOfByte19, long[] paramArrayOfLong, int paramInt) + { + int i = 0; + label648: + label651: + label654: + label657: + label689: + for (;;) + { + try + { + if (this.a != null) {} + synchronized (e) + { + util.LOGI("before put_siginfo", "" + paramLong1); + TreeMap localTreeMap = a(this.a, "tk_file"); + if (localTreeMap != null) { + break label689; + } + localTreeMap = new TreeMap(); + localObject1 = (WloginAllSigInfo)this.c.get(Long.valueOf(paramLong1)); + Object localObject3 = localObject1; + if (localObject1 == null) + { + localObject1 = (WloginAllSigInfo)localTreeMap.get(Long.valueOf(paramLong1)); + localObject3 = localObject1; + if (localObject1 == null) { + localObject3 = new WloginAllSigInfo(); + } + } + localObject2 = new byte[0]; + localObject1 = new byte[0]; + localObject4 = new byte[0]; + localObject5 = new byte[0]; + byte[] arrayOfByte = new byte[0]; + localObject6 = (WloginSigInfo)((WloginAllSigInfo)localObject3)._tk_map.get(Long.valueOf(paramLong2)); + if (localObject6 == null) { + break label657; + } + if (((WloginSigInfo)localObject6)._en_A1 == null) { + break label654; + } + localObject2 = (byte[])((WloginSigInfo)localObject6)._en_A1.clone(); + if (((WloginSigInfo)localObject6)._noPicSig == null) { + break label651; + } + localObject1 = (byte[])((WloginSigInfo)localObject6)._noPicSig.clone(); + if (((WloginSigInfo)localObject6)._G != null) { + localObject4 = (byte[])((WloginSigInfo)localObject6)._G.clone(); + } + if (((WloginSigInfo)localObject6)._dpwd == null) { + break label648; + } + localObject5 = (byte[])((WloginSigInfo)localObject6)._dpwd.clone(); + if (((WloginSigInfo)localObject6)._randseed != null) + { + arrayOfByte = (byte[])((WloginSigInfo)localObject6)._randseed.clone(); + localObject8 = ((WloginSigInfo)localObject6)._psKey; + localObject6 = localObject5; + localObject7 = localObject4; + localObject5 = localObject2; + localObject4 = localObject1; + localObject2 = localObject7; + localObject1 = localObject6; + localObject6 = localObject8; + if ((paramArrayOfByte19[6] != null) && (paramArrayOfByte19[6].length > 2)) + { + localObject7 = new HashMap(); + localObject8 = new HashMap(); + Ticket.parsePsBuf((byte[])localObject6, paramLong5, (Map)localObject7, (Map)localObject8); + Ticket.parsePsBuf(paramArrayOfByte19[6], paramLong5, (Map)localObject7, (Map)localObject8); + paramArrayOfByte19[6] = Ticket.packPsBuf((Map)localObject7, paramLong5, (Map)localObject8); + } + ((WloginAllSigInfo)localObject3).put_simpleinfo(paramLong1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6); + ((WloginAllSigInfo)localObject3).put_siginfo(paramLong3, paramLong4, paramLong5, paramLong6, paramLong7, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte13, paramArrayOfByte14, paramArrayOfByte15, paramArrayOfByte16, paramArrayOfByte17, paramArrayOfByte18, paramArrayOfByte19, paramArrayOfLong, paramInt); + ((WloginAllSigInfo)localObject3).put_siginfo(paramLong2, paramArrayOfByte1, paramLong5); + localTreeMap.put(Long.valueOf(paramLong1), ((WloginAllSigInfo)localObject3).get_clone()); + i = a(localTreeMap, "tk_file"); + if (i != 0) + { + paramArrayOfByte1 = (WloginSigInfo)((WloginAllSigInfo)localObject3)._tk_map.get(Long.valueOf(paramLong2)); + if (paramArrayOfByte1 != null) + { + paramArrayOfByte1._en_A1 = ((byte[])((byte[])localObject5).clone()); + paramArrayOfByte1._noPicSig = ((byte[])((byte[])localObject4).clone()); + paramArrayOfByte1._G = ((byte[])((byte[])localObject2).clone()); + paramArrayOfByte1._dpwd = ((byte[])((byte[])localObject1).clone()); + paramArrayOfByte1._randseed = ((byte[])arrayOfByte.clone()); + } + } + this.c.put(Long.valueOf(paramLong1), ((WloginAllSigInfo)localObject3).get_clone()); + util.LOGI("after put_siginfo", "" + paramLong1); + return i; + } + } + continue; + } + finally {} + continue; + continue; + continue; + Object localObject6 = new byte[0]; + Object localObject7 = localObject1; + Object localObject8 = localObject2; + Object localObject1 = localObject5; + Object localObject2 = localObject4; + Object localObject4 = localObject7; + Object localObject5 = localObject8; + } + } + + public int a(TreeMap paramTreeMap, String paramString) + { + int i = 0; + try + { + if (("tk_file".equals(paramString)) || ("name_file".equals(paramString))) { + i = b(paramTreeMap, paramString); + } + return i; + } + finally {} + } + + /* Error */ + public String a(Long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 6: invokevirtual 205 java/util/TreeMap:keySet ()Ljava/util/Set; + // 9: invokeinterface 211 1 0 + // 14: astore 4 + // 16: aload 4 + // 18: invokeinterface 216 1 0 + // 23: ifeq +52 -> 75 + // 26: aload 4 + // 28: invokeinterface 219 1 0 + // 33: checkcast 60 java/lang/String + // 36: astore_3 + // 37: aload_0 + // 38: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 41: aload_3 + // 42: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 45: checkcast 241 oicq/wlogin_sdk/request/UinInfo + // 48: astore 5 + // 50: aload 5 + // 52: ifnull -36 -> 16 + // 55: aload 5 + // 57: getfield 247 oicq/wlogin_sdk/request/UinInfo:_uin Ljava/lang/Long; + // 60: aload_1 + // 61: invokevirtual 471 java/lang/Long:equals (Ljava/lang/Object;)Z + // 64: istore_2 + // 65: iload_2 + // 66: ifeq -50 -> 16 + // 69: aload_3 + // 70: astore_1 + // 71: aload_0 + // 72: monitorexit + // 73: aload_1 + // 74: areturn + // 75: aconst_null + // 76: astore_1 + // 77: goto -6 -> 71 + // 80: astore_1 + // 81: aload_0 + // 82: monitorexit + // 83: aload_1 + // 84: athrow + // Local variable table: + // start length slot name signature + // 0 85 0 this c + // 0 85 1 paramLong Long + // 64 2 2 bool boolean + // 36 34 3 str String + // 14 13 4 localIterator Iterator + // 48 8 5 localUinInfo UinInfo + // Exception table: + // from to target type + // 2 16 80 finally + // 16 50 80 finally + // 55 65 80 finally + } + + public List a(boolean paramBoolean) + { + label320: + for (;;) + { + try + { + ArrayList localArrayList = new ArrayList(); + if (this.a == null) { + break label320; + } + TreeMap localTreeMap = a(this.a, "tk_file"); + if (localTreeMap == null) { + return localArrayList; + } + Iterator localIterator1 = localTreeMap.keySet().iterator(); + if (!localIterator1.hasNext()) { + break label320; + } + Long localLong1 = (Long)localIterator1.next(); + Object localObject3 = (WloginAllSigInfo)this.c.get(localLong1); + Object localObject1 = localObject3; + if (localObject3 == null) + { + localObject1 = (WloginAllSigInfo)localTreeMap.get(localLong1); + if (localObject1 == null) { + continue; + } + this.c.put(localLong1, localObject1); + } + Iterator localIterator2 = ((WloginAllSigInfo)localObject1)._tk_map.keySet().iterator(); + if (localIterator2.hasNext()) + { + Long localLong2 = (Long)localIterator2.next(); + WloginSigInfo localWloginSigInfo = (WloginSigInfo)((WloginAllSigInfo)localObject1)._tk_map.get(localLong2); + if (localWloginSigInfo == null) { + continue; + } + String str = a(localLong1); + localObject3 = str; + if (str == null) { + localObject3 = String.valueOf(localLong1); + } + if (((WloginAllSigInfo)localObject1)._useInfo._img_url == null) { + ((WloginAllSigInfo)localObject1)._useInfo._img_url = new byte[0]; + } + long l1 = localLong1.longValue(); + long l2 = localLong2.longValue(); + str = new String(((WloginAllSigInfo)localObject1)._useInfo._img_url); + long l3 = localWloginSigInfo._create_time; + if (paramBoolean) + { + i = WloginLoginInfo.TYPE_LOACL; + localArrayList.add(new WloginLoginInfo((String)localObject3, l1, l2, str, l3, i, localWloginSigInfo._login_bitmap)); + } + } + else + { + continue; + } + int i = WloginLoginInfo.TYPE_REMOTE; + } + finally {} + } + } + + /* Error */ + public UinInfo a(String paramString, boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: iload_2 + // 3: ifeq +76 -> 79 + // 6: aload_0 + // 7: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 10: aload_1 + // 11: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 14: checkcast 241 oicq/wlogin_sdk/request/UinInfo + // 17: astore_3 + // 18: aload_3 + // 19: ifnull +60 -> 79 + // 22: new 75 java/lang/StringBuilder + // 25: dup + // 26: invokespecial 76 java/lang/StringBuilder: ()V + // 29: ldc_w 523 + // 32: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 35: aload_1 + // 36: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 39: ldc_w 525 + // 42: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 45: aload_3 + // 46: getfield 247 oicq/wlogin_sdk/request/UinInfo:_uin Ljava/lang/Long; + // 49: invokevirtual 228 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 52: ldc_w 527 + // 55: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 58: aload_3 + // 59: invokevirtual 530 oicq/wlogin_sdk/request/UinInfo:getHasPassword ()Z + // 62: invokevirtual 533 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 65: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 68: ldc 140 + // 70: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 73: aload_3 + // 74: astore_1 + // 75: aload_0 + // 76: monitorexit + // 77: aload_1 + // 78: areturn + // 79: aload_0 + // 80: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 83: ifnonnull +8 -> 91 + // 86: aconst_null + // 87: astore_1 + // 88: goto -13 -> 75 + // 91: aload_0 + // 92: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 95: ldc 50 + // 97: invokestatic 53 oicq/wlogin_sdk/request/c:a (Landroid/content/Context;Ljava/lang/String;)Ljava/util/TreeMap; + // 100: astore_3 + // 101: aload_3 + // 102: ifnonnull +8 -> 110 + // 105: aconst_null + // 106: astore_1 + // 107: goto -32 -> 75 + // 110: aload_3 + // 111: aload_1 + // 112: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 115: checkcast 241 oicq/wlogin_sdk/request/UinInfo + // 118: astore_3 + // 119: aload_3 + // 120: ifnonnull +8 -> 128 + // 123: aconst_null + // 124: astore_1 + // 125: goto -50 -> 75 + // 128: aload_0 + // 129: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 132: aload_1 + // 133: aload_3 + // 134: invokevirtual 397 java/util/TreeMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 137: pop + // 138: new 75 java/lang/StringBuilder + // 141: dup + // 142: invokespecial 76 java/lang/StringBuilder: ()V + // 145: ldc_w 535 + // 148: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 151: aload_1 + // 152: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 155: ldc_w 525 + // 158: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 161: aload_3 + // 162: getfield 247 oicq/wlogin_sdk/request/UinInfo:_uin Ljava/lang/Long; + // 165: invokevirtual 228 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 168: ldc_w 527 + // 171: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 174: aload_3 + // 175: invokevirtual 530 oicq/wlogin_sdk/request/UinInfo:getHasPassword ()Z + // 178: invokevirtual 533 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 181: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 184: ldc 140 + // 186: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 189: aload_3 + // 190: astore_1 + // 191: goto -116 -> 75 + // 194: astore_1 + // 195: aload_0 + // 196: monitorexit + // 197: aload_1 + // 198: athrow + // Local variable table: + // start length slot name signature + // 0 199 0 this c + // 0 199 1 paramString String + // 0 199 2 paramBoolean boolean + // 17 173 3 localObject Object + // Exception table: + // from to target type + // 6 18 194 finally + // 22 73 194 finally + // 79 86 194 finally + // 91 101 194 finally + // 110 119 194 finally + // 128 189 194 finally + } + + /* Error */ + public WloginAllSigInfo a(long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: ldc_w 538 + // 5: new 75 java/lang/StringBuilder + // 8: dup + // 9: invokespecial 76 java/lang/StringBuilder: ()V + // 12: ldc 140 + // 14: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 17: lload_1 + // 18: invokevirtual 379 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 21: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 24: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 27: aload_0 + // 28: getfield 44 oicq/wlogin_sdk/request/c:c Ljava/util/TreeMap; + // 31: lload_1 + // 32: invokestatic 384 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 35: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 38: checkcast 225 oicq/wlogin_sdk/request/WloginAllSigInfo + // 41: astore_3 + // 42: aload_3 + // 43: ifnull +15 -> 58 + // 46: ldc_w 540 + // 49: ldc 140 + // 51: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 54: aload_0 + // 55: monitorexit + // 56: aload_3 + // 57: areturn + // 58: aload_0 + // 59: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 62: ifnonnull +8 -> 70 + // 65: aconst_null + // 66: astore_3 + // 67: goto -13 -> 54 + // 70: aload_0 + // 71: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 74: ldc 58 + // 76: invokestatic 53 oicq/wlogin_sdk/request/c:a (Landroid/content/Context;Ljava/lang/String;)Ljava/util/TreeMap; + // 79: astore_3 + // 80: aload_3 + // 81: ifnonnull +8 -> 89 + // 84: aconst_null + // 85: astore_3 + // 86: goto -32 -> 54 + // 89: aload_3 + // 90: lload_1 + // 91: invokestatic 384 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 94: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 97: checkcast 225 oicq/wlogin_sdk/request/WloginAllSigInfo + // 100: astore_3 + // 101: aload_3 + // 102: ifnonnull +8 -> 110 + // 105: aconst_null + // 106: astore_3 + // 107: goto -53 -> 54 + // 110: ldc_w 542 + // 113: ldc 140 + // 115: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 118: aload_0 + // 119: getfield 44 oicq/wlogin_sdk/request/c:c Ljava/util/TreeMap; + // 122: lload_1 + // 123: invokestatic 384 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 126: aload_3 + // 127: invokevirtual 397 java/util/TreeMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 130: pop + // 131: goto -77 -> 54 + // 134: astore_3 + // 135: aload_0 + // 136: monitorexit + // 137: aload_3 + // 138: athrow + // Local variable table: + // start length slot name signature + // 0 139 0 this c + // 0 139 1 paramLong long + // 41 86 3 localObject1 Object + // 134 4 3 localObject2 Object + // Exception table: + // from to target type + // 2 42 134 finally + // 46 54 134 finally + // 58 65 134 finally + // 70 80 134 finally + // 89 101 134 finally + // 110 131 134 finally + } + + public void a() + { + try + { + util.LOGI("refresh_all_siginfo...", ""); + this.c = a(this.a, "tk_file"); + if (this.c == null) { + this.c = new TreeMap(); + } + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void a(Long paramLong1, Long paramLong2) + { + for (;;) + { + TreeMap localTreeMap; + try + { + util.LOGI("clear_sig uin=" + paramLong1, ""); + ??? = (WloginAllSigInfo)this.c.get(paramLong1); + if (??? != null) { + ((WloginAllSigInfo)???)._tk_map.remove(paramLong2); + } + if (this.a != null) {} + synchronized (e) + { + localTreeMap = a(this.a, "tk_file"); + if (localTreeMap == null) { + return; + } + paramLong1 = (WloginAllSigInfo)localTreeMap.get(paramLong1); + if (paramLong1 != null) {} + } + paramLong1._tk_map.remove(paramLong2); + } + finally {} + a(localTreeMap, "tk_file"); + } + } + + /* Error */ + public void a(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 6: aload_1 + // 7: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 10: pop + // 11: aload_0 + // 12: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 15: ifnull +52 -> 67 + // 18: getstatic 28 oicq/wlogin_sdk/request/c:f Ljava/lang/Object; + // 21: astore 4 + // 23: aload 4 + // 25: monitorenter + // 26: aload_0 + // 27: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 30: ldc 50 + // 32: invokestatic 53 oicq/wlogin_sdk/request/c:a (Landroid/content/Context;Ljava/lang/String;)Ljava/util/TreeMap; + // 35: astore_3 + // 36: aload_3 + // 37: astore_2 + // 38: aload_3 + // 39: ifnonnull +11 -> 50 + // 42: new 41 java/util/TreeMap + // 45: dup + // 46: invokespecial 42 java/util/TreeMap: ()V + // 49: astore_2 + // 50: aload_2 + // 51: aload_1 + // 52: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 55: pop + // 56: aload_0 + // 57: aload_2 + // 58: ldc 50 + // 60: invokevirtual 400 oicq/wlogin_sdk/request/c:a (Ljava/util/TreeMap;Ljava/lang/String;)I + // 63: pop + // 64: aload 4 + // 66: monitorexit + // 67: aload_0 + // 68: monitorexit + // 69: return + // 70: astore_1 + // 71: aload 4 + // 73: monitorexit + // 74: aload_1 + // 75: athrow + // 76: astore_1 + // 77: aload_0 + // 78: monitorexit + // 79: aload_1 + // 80: athrow + // Local variable table: + // start length slot name signature + // 0 81 0 this c + // 0 81 1 paramString String + // 37 21 2 localTreeMap1 TreeMap + // 35 4 3 localTreeMap2 TreeMap + // Exception table: + // from to target type + // 26 36 70 finally + // 42 50 70 finally + // 50 67 70 finally + // 71 74 70 finally + // 2 26 76 finally + // 74 76 76 finally + } + + /* Error */ + public void a(String paramString, Long paramLong, boolean paramBoolean) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: new 75 java/lang/StringBuilder + // 5: dup + // 6: invokespecial 76 java/lang/StringBuilder: ()V + // 9: ldc_w 553 + // 12: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 15: aload_1 + // 16: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 19: ldc_w 555 + // 22: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 25: aload_2 + // 26: invokevirtual 228 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 29: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 32: new 75 java/lang/StringBuilder + // 35: dup + // 36: invokespecial 76 java/lang/StringBuilder: ()V + // 39: ldc 140 + // 41: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 44: aload_2 + // 45: invokevirtual 228 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 48: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 51: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 54: aload_0 + // 55: aload_2 + // 56: invokevirtual 477 oicq/wlogin_sdk/request/c:a (Ljava/lang/Long;)Ljava/lang/String; + // 59: astore 5 + // 61: aload 5 + // 63: ifnull +13 -> 76 + // 66: aload_0 + // 67: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 70: aload 5 + // 72: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 75: pop + // 76: new 241 oicq/wlogin_sdk/request/UinInfo + // 79: dup + // 80: aload_2 + // 81: iload_3 + // 82: invokespecial 558 oicq/wlogin_sdk/request/UinInfo: (Ljava/lang/Long;Z)V + // 85: astore 7 + // 87: aload_0 + // 88: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 91: aload_1 + // 92: aload 7 + // 94: invokevirtual 397 java/util/TreeMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 97: pop + // 98: aload_0 + // 99: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 102: ifnull +69 -> 171 + // 105: getstatic 28 oicq/wlogin_sdk/request/c:f Ljava/lang/Object; + // 108: astore 6 + // 110: aload 6 + // 112: monitorenter + // 113: aload_0 + // 114: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 117: ldc 50 + // 119: invokestatic 53 oicq/wlogin_sdk/request/c:a (Landroid/content/Context;Ljava/lang/String;)Ljava/util/TreeMap; + // 122: astore 4 + // 124: aload 4 + // 126: astore_2 + // 127: aload 4 + // 129: ifnonnull +11 -> 140 + // 132: new 41 java/util/TreeMap + // 135: dup + // 136: invokespecial 42 java/util/TreeMap: ()V + // 139: astore_2 + // 140: aload 5 + // 142: ifnull +10 -> 152 + // 145: aload_2 + // 146: aload 5 + // 148: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 151: pop + // 152: aload_2 + // 153: aload_1 + // 154: aload 7 + // 156: invokevirtual 397 java/util/TreeMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + // 159: pop + // 160: aload_0 + // 161: aload_2 + // 162: ldc 50 + // 164: invokevirtual 400 oicq/wlogin_sdk/request/c:a (Ljava/util/TreeMap;Ljava/lang/String;)I + // 167: pop + // 168: aload 6 + // 170: monitorexit + // 171: aload_0 + // 172: monitorexit + // 173: return + // 174: astore_1 + // 175: aload 6 + // 177: monitorexit + // 178: aload_1 + // 179: athrow + // 180: astore_1 + // 181: aload_0 + // 182: monitorexit + // 183: aload_1 + // 184: athrow + // Local variable table: + // start length slot name signature + // 0 185 0 this c + // 0 185 1 paramString String + // 0 185 2 paramLong Long + // 0 185 3 paramBoolean boolean + // 122 6 4 localTreeMap TreeMap + // 59 88 5 str String + // 85 70 7 localUinInfo UinInfo + // Exception table: + // from to target type + // 113 124 174 finally + // 132 140 174 finally + // 145 152 174 finally + // 152 171 174 finally + // 175 178 174 finally + // 2 61 180 finally + // 66 76 180 finally + // 76 113 180 finally + // 178 180 180 finally + } + + public int b(TreeMap paramTreeMap, String paramString) + { + try + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + ObjectOutputStream localObjectOutputStream = new ObjectOutputStream(localByteArrayOutputStream); + localObjectOutputStream.writeObject(paramTreeMap); + localObjectOutputStream.flush(); + paramTreeMap = localByteArrayOutputStream.toByteArray(); + paramTreeMap = cryptor.encrypt(paramTreeMap, 0, paramTreeMap.length, t.z); + i = a(this.a, paramString, paramTreeMap); + localObjectOutputStream.close(); + localByteArrayOutputStream.close(); + return i; + } + catch (Throwable paramTreeMap) + { + for (;;) + { + util.printThrowable(paramTreeMap, ""); + int i = -1022; + } + } + finally {} + } + + /* Error */ + public WloginSigInfo b(long paramLong1, long paramLong2) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: new 75 java/lang/StringBuilder + // 5: dup + // 6: invokespecial 76 java/lang/StringBuilder: ()V + // 9: ldc_w 586 + // 12: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 15: lload_3 + // 16: invokevirtual 379 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 19: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 22: new 75 java/lang/StringBuilder + // 25: dup + // 26: invokespecial 76 java/lang/StringBuilder: ()V + // 29: lload_1 + // 30: invokevirtual 379 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 33: ldc 140 + // 35: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 38: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 41: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 44: aload_0 + // 45: lload_1 + // 46: invokevirtual 588 oicq/wlogin_sdk/request/c:a (J)Loicq/wlogin_sdk/request/WloginAllSigInfo; + // 49: astore 5 + // 51: aload 5 + // 53: ifnonnull +11 -> 64 + // 56: aconst_null + // 57: astore 5 + // 59: aload_0 + // 60: monitorexit + // 61: aload 5 + // 63: areturn + // 64: new 75 java/lang/StringBuilder + // 67: dup + // 68: invokespecial 76 java/lang/StringBuilder: ()V + // 71: ldc_w 590 + // 74: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 77: aload 5 + // 79: getfield 233 oicq/wlogin_sdk/request/WloginAllSigInfo:_tk_map Ljava/util/TreeMap; + // 82: invokevirtual 201 java/util/TreeMap:size ()I + // 85: invokevirtual 163 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 88: aload 5 + // 90: getfield 233 oicq/wlogin_sdk/request/WloginAllSigInfo:_tk_map Ljava/util/TreeMap; + // 93: invokevirtual 228 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 96: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 99: new 75 java/lang/StringBuilder + // 102: dup + // 103: invokespecial 76 java/lang/StringBuilder: ()V + // 106: lload_1 + // 107: invokevirtual 379 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 110: ldc 140 + // 112: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 115: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 118: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 121: aload 5 + // 123: getfield 233 oicq/wlogin_sdk/request/WloginAllSigInfo:_tk_map Ljava/util/TreeMap; + // 126: lload_3 + // 127: invokestatic 384 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 130: invokevirtual 223 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 133: checkcast 386 oicq/wlogin_sdk/sharemem/WloginSigInfo + // 136: astore 6 + // 138: aload 6 + // 140: astore 5 + // 142: aload 6 + // 144: ifnonnull -85 -> 59 + // 147: aconst_null + // 148: astore 5 + // 150: goto -91 -> 59 + // 153: astore 5 + // 155: aload_0 + // 156: monitorexit + // 157: aload 5 + // 159: athrow + // Local variable table: + // start length slot name signature + // 0 160 0 this c + // 0 160 1 paramLong1 long + // 0 160 3 paramLong2 long + // 49 100 5 localObject1 Object + // 153 5 5 localObject2 Object + // 136 7 6 localWloginSigInfo WloginSigInfo + // Exception table: + // from to target type + // 2 51 153 finally + // 64 138 153 finally + } + + /* Error */ + public WloginSimpleInfo b(long paramLong) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: ldc_w 593 + // 5: new 75 java/lang/StringBuilder + // 8: dup + // 9: invokespecial 76 java/lang/StringBuilder: ()V + // 12: ldc_w 595 + // 15: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 18: lload_1 + // 19: invokevirtual 379 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 22: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 25: invokestatic 598 oicq/wlogin_sdk/tools/util:LOGD (Ljava/lang/String;Ljava/lang/String;)V + // 28: aload_0 + // 29: lload_1 + // 30: invokevirtual 588 oicq/wlogin_sdk/request/c:a (J)Loicq/wlogin_sdk/request/WloginAllSigInfo; + // 33: astore_3 + // 34: aload_3 + // 35: ifnonnull +9 -> 44 + // 38: aconst_null + // 39: astore_3 + // 40: aload_0 + // 41: monitorexit + // 42: aload_3 + // 43: areturn + // 44: aload_3 + // 45: getfield 484 oicq/wlogin_sdk/request/WloginAllSigInfo:_useInfo Loicq/wlogin_sdk/sharemem/WloginSimpleInfo; + // 48: invokevirtual 601 oicq/wlogin_sdk/sharemem/WloginSimpleInfo:get_clone ()Loicq/wlogin_sdk/sharemem/WloginSimpleInfo; + // 51: astore_3 + // 52: goto -12 -> 40 + // 55: astore_3 + // 56: aload_0 + // 57: monitorexit + // 58: aload_3 + // 59: athrow + // Local variable table: + // start length slot name signature + // 0 60 0 this c + // 0 60 1 paramLong long + // 33 19 3 localObject1 Object + // 55 4 3 localObject2 Object + // Exception table: + // from to target type + // 2 34 55 finally + // 44 52 55 finally + } + + /* Error */ + public void b(String paramString) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: getfield 46 oicq/wlogin_sdk/request/c:d Ljava/util/TreeMap; + // 6: aload_1 + // 7: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 10: pop + // 11: new 75 java/lang/StringBuilder + // 14: dup + // 15: invokespecial 76 java/lang/StringBuilder: ()V + // 18: ldc_w 603 + // 21: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 24: aload_1 + // 25: invokevirtual 82 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 28: invokevirtual 90 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 31: ldc 140 + // 33: invokestatic 155 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 36: aload_0 + // 37: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 40: ifnull +25 -> 65 + // 43: getstatic 28 oicq/wlogin_sdk/request/c:f Ljava/lang/Object; + // 46: astore_2 + // 47: aload_2 + // 48: monitorenter + // 49: aload_0 + // 50: getfield 48 oicq/wlogin_sdk/request/c:a Landroid/content/Context; + // 53: ldc 50 + // 55: invokestatic 53 oicq/wlogin_sdk/request/c:a (Landroid/content/Context;Ljava/lang/String;)Ljava/util/TreeMap; + // 58: astore_3 + // 59: aload_3 + // 60: ifnonnull +8 -> 68 + // 63: aload_2 + // 64: monitorexit + // 65: aload_0 + // 66: monitorexit + // 67: return + // 68: aload_3 + // 69: aload_1 + // 70: invokevirtual 550 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 73: pop + // 74: aload_0 + // 75: aload_3 + // 76: ldc 50 + // 78: invokevirtual 400 oicq/wlogin_sdk/request/c:a (Ljava/util/TreeMap;Ljava/lang/String;)I + // 81: pop + // 82: aload_2 + // 83: monitorexit + // 84: goto -19 -> 65 + // 87: astore_1 + // 88: aload_2 + // 89: monitorexit + // 90: aload_1 + // 91: athrow + // 92: astore_1 + // 93: aload_0 + // 94: monitorexit + // 95: aload_1 + // 96: athrow + // Local variable table: + // start length slot name signature + // 0 97 0 this c + // 0 97 1 paramString String + // 58 18 3 localTreeMap TreeMap + // Exception table: + // from to target type + // 49 59 87 finally + // 63 65 87 finally + // 68 84 87 finally + // 88 90 87 finally + // 2 49 92 finally + // 90 92 92 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/d.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/d.java new file mode 100755 index 00000000000..d2437a2229b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/d.java @@ -0,0 +1,49 @@ +package oicq.wlogin_sdk.request; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import oicq.wlogin_sdk.tools.ErrMsg; + +public class d + extends Thread +{ + Runnable a = new e(this); + private Context b; + private ErrMsg c; + + public d(Context paramContext, ErrMsg paramErrMsg) + { + this.b = paramContext; + a(paramErrMsg); + } + + public void a(ErrMsg paramErrMsg) + { + if (paramErrMsg != null) { + try + { + this.c = ((ErrMsg)paramErrMsg.clone()); + return; + } + catch (CloneNotSupportedException paramErrMsg) + { + paramErrMsg.printStackTrace(); + this.c = null; + return; + } + } + this.c = null; + } + + public void run() + { + new Handler(Looper.getMainLooper()).post(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/e.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/e.java new file mode 100755 index 00000000000..368a1ad3aad --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/e.java @@ -0,0 +1,66 @@ +package oicq.wlogin_sdk.request; + +import android.text.TextPaint; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.TextView; +import android.widget.Toast; +import java.util.Timer; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.util; + +class e + implements Runnable +{ + e(d paramd) {} + + private void a(Toast paramToast, int paramInt) + { + if (paramInt > 5) { + return; + } + paramToast.show(); + b(paramToast, paramInt); + } + + private void b(Toast paramToast, int paramInt) + { + new Timer().schedule(new f(this, paramToast, paramInt), 30L); + } + + public void run() + { + if ((d.a(this.a) != null) && (d.b(this.a) != null)) {} + try + { + LinearLayout localLinearLayout = new LinearLayout(d.a(this.a)); + localLinearLayout.setOrientation(1); + localLinearLayout.setBackgroundColor(-7829368); + localLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(-2, -2)); + Object localObject = new TextView(d.a(this.a)); + ((TextView)localObject).getPaint().setFakeBoldText(true); + ((TextView)localObject).setText(d.b(this.a).getTitle()); + localLinearLayout.addView((View)localObject, 0, new LinearLayout.LayoutParams(-1, -2)); + localObject = new TextView(d.a(this.a)); + ((TextView)localObject).setText(d.b(this.a).getMessage()); + localLinearLayout.addView((View)localObject, 1, new LinearLayout.LayoutParams(-1, -2)); + localObject = new Toast(d.a(this.a)); + ((Toast)localObject).setGravity(17, 0, 0); + ((Toast)localObject).setDuration(1); + ((Toast)localObject).setView(localLinearLayout); + a((Toast)localObject, 0); + return; + } + catch (Exception localException) + { + util.printException(localException); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/f.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/f.java new file mode 100755 index 00000000000..0cb2b03f356 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/f.java @@ -0,0 +1,21 @@ +package oicq.wlogin_sdk.request; + +import android.widget.Toast; +import java.util.TimerTask; + +class f + extends TimerTask +{ + f(e parame, Toast paramToast, int paramInt) {} + + public void run() + { + e.a(this.c, this.a, this.b + 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/g.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/g.java new file mode 100755 index 00000000000..4c56935aae5 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/g.java @@ -0,0 +1,27 @@ +package oicq.wlogin_sdk.request; + +import android.content.Context; +import oicq.wlogin_sdk.tools.util; + +public class g + extends Thread +{ + private Context a; + + public g(Context paramContext) + { + this.a = paramContext; + setName("WtCleanThread"); + } + + public void run() + { + util.deleteExpireLog(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/h.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/h.java new file mode 100755 index 00000000000..7a16beeaf25 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/h.java @@ -0,0 +1,56 @@ +package oicq.wlogin_sdk.request; + +import java.net.HttpURLConnection; +import oicq.wlogin_sdk.tools.util; + +public class h + implements Runnable +{ + private HttpURLConnection a; + private boolean b = false; + + public h(HttpURLConnection paramHttpURLConnection) + { + this.a = paramHttpURLConnection; + } + + public static boolean a(HttpURLConnection paramHttpURLConnection, long paramLong) + { + try + { + paramHttpURLConnection = new h(paramHttpURLConnection); + Thread localThread = new Thread(paramHttpURLConnection); + localThread.start(); + localThread.join(paramLong); + boolean bool = paramHttpURLConnection.a(); + return bool; + } + catch (Throwable paramHttpURLConnection) {} + return false; + } + + public boolean a() + { + return this.b; + } + + public void run() + { + try + { + this.a.connect(); + this.b = true; + return; + } + catch (Throwable localThrowable) + { + util.printThrowable(localThrowable, ""); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/i.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/i.java new file mode 100755 index 00000000000..9fadcc96449 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/i.java @@ -0,0 +1,98 @@ +package oicq.wlogin_sdk.request; + +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Random; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class i +{ + protected t a; + + public String a(int paramInt) + { + String[] arrayOfString = new String[2]; + arrayOfString[0] = "log.wtlogin.qq.com"; + arrayOfString[1] = "log1.wtlogin.qq.com"; + return arrayOfString[java.lang.Math.abs(paramInt % arrayOfString.length)]; + } + + protected byte[] a(byte[] paramArrayOfByte) + { + byte[] arrayOfByte1 = util.get_rand_16byte(t.a); + paramArrayOfByte = cryptor.encrypt(paramArrayOfByte, 0, paramArrayOfByte.length, arrayOfByte1); + byte[] arrayOfByte2 = new byte[paramArrayOfByte.length + arrayOfByte1.length]; + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, 0, arrayOfByte1.length); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte2, arrayOfByte1.length, paramArrayOfByte.length); + return arrayOfByte2; + } + + public int b(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return 0; + } + util.LOGI(getClass().getName() + ":snd_rcv_req_error ...", "" + this.a.f); + int i = new Random().nextInt(); + int j = 0; + while (j < 2) + { + util.LOGI("try http connect " + j + " ...", "" + this.a.f); + Object localObject = a(i); + try + { + localObject = new URL("http://" + (String)localObject + "/cgi-bin/wlogin_proxy_log"); + util.LOGI("url=" + localObject, "" + this.a.f); + localObject = (HttpURLConnection)((URL)localObject).openConnection(); + ((HttpURLConnection)localObject).setRequestMethod("POST"); + ((HttpURLConnection)localObject).setRequestProperty("Content-Type", "application/octet-stream"); + ((HttpURLConnection)localObject).setRequestProperty("Content-Disposition", "attachment; filename=micromsgresp.dat"); + ((HttpURLConnection)localObject).setRequestProperty("Content-Length", new Integer(paramArrayOfByte.length).toString()); + ((HttpURLConnection)localObject).setConnectTimeout(this.a.l); + ((HttpURLConnection)localObject).setReadTimeout(this.a.l); + ((HttpURLConnection)localObject).setDoOutput(true); + util.LOGI("http request connect ...", "" + this.a.f); + if (!h.a((HttpURLConnection)localObject, this.a.l)) + { + util.LOGI("http request connect failed", "" + this.a.f); + j += 1; + i += 1; + } + else + { + util.LOGI("http request write ...", "" + this.a.f); + OutputStream localOutputStream = ((HttpURLConnection)localObject).getOutputStream(); + localOutputStream.write(paramArrayOfByte, 0, paramArrayOfByte.length); + localOutputStream.flush(); + int k = ((HttpURLConnection)localObject).getResponseCode(); + util.LOGI("http request response code=" + k, "" + this.a.f); + if (200 == k) { + break; + } + j += 1; + i += 1; + } + } + catch (Exception localException) + { + util.printException(localException, "" + this.a.f); + j += 1; + i += 1; + } + } + if (j >= 1) {} + for (i = -1000;; i = 0) + { + util.LOGI(getClass().getName() + ":snd_rcv_req_error ret=" + i, "" + this.a.f); + return i; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/j.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/j.java new file mode 100755 index 00000000000..a75196e1b4f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/j.java @@ -0,0 +1,3515 @@ +package oicq.wlogin_sdk.request; + +import java.lang.reflect.Array; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.nio.ByteBuffer; +import java.security.KeyFactory; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.X509EncodedKeySpec; +import java.util.Arrays; +import javax.crypto.Cipher; +import oicq.wlogin_sdk.b.a; +import oicq.wlogin_sdk.b.aa; +import oicq.wlogin_sdk.b.ac; +import oicq.wlogin_sdk.b.ad; +import oicq.wlogin_sdk.b.ag; +import oicq.wlogin_sdk.b.ah; +import oicq.wlogin_sdk.b.ai; +import oicq.wlogin_sdk.b.aj; +import oicq.wlogin_sdk.b.am; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.ap; +import oicq.wlogin_sdk.b.as; +import oicq.wlogin_sdk.b.at; +import oicq.wlogin_sdk.b.aw; +import oicq.wlogin_sdk.b.ax; +import oicq.wlogin_sdk.b.ay; +import oicq.wlogin_sdk.b.ba; +import oicq.wlogin_sdk.b.bb; +import oicq.wlogin_sdk.b.bc; +import oicq.wlogin_sdk.b.be; +import oicq.wlogin_sdk.b.bf; +import oicq.wlogin_sdk.b.bh; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.b.bj; +import oicq.wlogin_sdk.b.bk; +import oicq.wlogin_sdk.b.bm; +import oicq.wlogin_sdk.b.bn; +import oicq.wlogin_sdk.b.br; +import oicq.wlogin_sdk.b.bs; +import oicq.wlogin_sdk.b.bu; +import oicq.wlogin_sdk.b.bv; +import oicq.wlogin_sdk.b.by; +import oicq.wlogin_sdk.b.cc; +import oicq.wlogin_sdk.b.cf; +import oicq.wlogin_sdk.b.cg; +import oicq.wlogin_sdk.b.ci; +import oicq.wlogin_sdk.b.cl; +import oicq.wlogin_sdk.b.co; +import oicq.wlogin_sdk.b.cp; +import oicq.wlogin_sdk.b.cq; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.e; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.b.g; +import oicq.wlogin_sdk.b.h; +import oicq.wlogin_sdk.b.l; +import oicq.wlogin_sdk.b.m; +import oicq.wlogin_sdk.b.n; +import oicq.wlogin_sdk.b.o; +import oicq.wlogin_sdk.b.p; +import oicq.wlogin_sdk.b.r; +import oicq.wlogin_sdk.b.s; +import oicq.wlogin_sdk.b.u; +import oicq.wlogin_sdk.b.v; +import oicq.wlogin_sdk.b.w; +import oicq.wlogin_sdk.b.x; +import oicq.wlogin_sdk.b.y; +import oicq.wlogin_sdk.b.z; +import oicq.wlogin_sdk.report.report_t1; +import oicq.wlogin_sdk.report.report_t3; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.InternationMsg; +import oicq.wlogin_sdk.tools.InternationMsg.MSG_TYPE; +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; + +public class j +{ + static int A = 0; + static String B = ""; + static String C = ""; + static String[] x = { "183.60.18.138", "112.90.85.191", "112.90.85.193", "183.60.18.150", "183.61.37.157", "120.204.200.34", "163.177.90.224" }; + static String[] y = { "112.90.141.48", "113.108.11.157", "113.108.11.159", "183.61.37.156" }; + int a = 4096; + int b = 0; + int c = 27; + int d = 0; + public int e = 15; + protected int f = 0; + protected byte[] g = new byte[this.a]; + protected int h = 8001; + protected int i = 0; + protected int j = 3; + protected int k = 0; + protected int l = 0; + protected int m = 2; + protected int n = 0; + protected int o = 0; + InetSocketAddress p = null; + int q = 0; + byte[] r = new byte[6144]; + protected int s = 0; + protected int t = 0; + protected String u = ""; + byte v; + public t w; + int z = 0; + + private void a(int paramInt1, long paramLong, int paramInt2, int paramInt3, boolean paramBoolean1, boolean paramBoolean2) + { + report_t3 localreport_t3 = new report_t3(); + localreport_t3._cmd = this.s; + localreport_t3._sub = this.t; + localreport_t3._rst2 = paramInt1; + localreport_t3._used = ((int)(System.currentTimeMillis() - paramLong)); + localreport_t3._try = paramInt3; + localreport_t3._host = C; + if (localreport_t3._host == null) { + localreport_t3._host = ""; + } + if (this.p == null) + { + localreport_t3._ip = ""; + localreport_t3._port = c(paramBoolean1); + localreport_t3._conn = paramInt2; + localreport_t3._net = t.B; + localreport_t3._str = ""; + localreport_t3._slen = 0; + localreport_t3._rlen = 0; + if (!paramBoolean1) { + break label185; + } + if (!paramBoolean2) { + break label176; + } + localreport_t3._wap = 2; + } + for (;;) + { + t.ag.add_t3(localreport_t3); + return; + localreport_t3._ip = this.p.getAddress().getHostAddress(); + break; + label176: + localreport_t3._wap = 1; + continue; + label185: + localreport_t3._wap = 0; + } + } + + public static void a(int paramInt, String paramString) + { + A = paramInt; + B = paramString; + } + + public static byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + paramArrayOfByte2.length]; + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 0, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, paramArrayOfByte1.length, paramArrayOfByte2.length); + return arrayOfByte; + } + + public int a(int paramInt) + { + t.b(this.w.h)._last_flowid = paramInt; + return paramInt; + } + + public int a(String paramString, boolean paramBoolean, WUserSigInfo paramWUserSigInfo) + { + if (this.w.e()) {} + for (int i1 = b(paramString, paramBoolean, paramWUserSigInfo);; i1 = e()) + { + if (i1 == -1000) + { + paramString = new ErrMsg(); + paramString.setMessage(InternationMsg.a(InternationMsg.MSG_TYPE.MSG_4)); + a(paramString); + } + return i1; + } + } + + public int a(aw paramaw) + { + bj localbj = new bj(); + bi localbi = new bi(); + paramaw = paramaw.b(); + int i1 = paramaw.length; + if (localbj.b(paramaw, 2, i1) > 0) { + a(localbj); + } + if (localbi.b(paramaw, 2, i1) > 0) + { + this.w.m = 1; + this.w.p = localbi.b(); + util.LOGI("get rollback sig", ""); + } + return 0; + } + + public int a(bj parambj) + { + parambj = parambj.b(); + int i3; + int i2; + int i1; + if ((parambj != null) && (parambj.length > 2)) + { + i3 = util.buf_to_int8(parambj, 1); + i2 = 2; + i1 = 0; + } + for (;;) + { + if ((i1 >= i3) || (parambj.length < i2 + 1)) {} + int i4; + byte[] arrayOfByte; + do + { + do + { + do + { + return 0; + i4 = util.buf_to_int8(parambj, i2); + i5 = i2 + 1; + } while (parambj.length < i5 + 2); + i2 = util.buf_to_int16(parambj, i5); + i5 += 2; + } while (parambj.length < i5 + i2); + arrayOfByte = new byte[i2]; + System.arraycopy(parambj, i5, arrayOfByte, 0, i2); + i2 = i5 + i2; + } while (parambj.length < i2 + 2); + int i5 = util.buf_to_int16(parambj, i2); + i2 += 2; + a(i4, arrayOfByte, i5); + i1 += 1; + } + } + + public int a(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + paramArrayOfByte1 = cryptor.decrypt(paramArrayOfByte1, paramInt1, paramInt2, paramArrayOfByte2); + if (paramArrayOfByte1 == null) { + return -1002; + } + this.f = paramArrayOfByte1.length; + if (paramArrayOfByte1.length + this.e + 2 > this.a) + { + this.a = (paramArrayOfByte1.length + this.e + 2); + paramArrayOfByte2 = new byte[this.a]; + System.arraycopy(this.g, 0, paramArrayOfByte2, 0, this.b); + this.g = paramArrayOfByte2; + } + this.b = 0; + System.arraycopy(paramArrayOfByte1, 0, this.g, paramInt1, paramArrayOfByte1.length); + paramInt1 = this.b; + paramInt2 = this.e; + this.b = (paramArrayOfByte1.length + (paramInt2 + 2) + paramInt1); + return 0; + } + + public String a(int paramInt, boolean paramBoolean) + { + String str1 = ""; + paramInt /= 2; + String str2; + if ((A != 0) && (B != null) && (B.length() > 0)) { + str2 = B; + } + for (;;) + { + C = str2; + return str2; + if (paramInt < 1) + { + if (paramBoolean) { + if (t.B == 1) { + str1 = new String(util.get_wap_server_host1(t.r)); + } + } + for (;;) + { + str2 = str1; + if (str1.length() > 0) { + break; + } + str2 = b(paramBoolean); + break; + if (t.B == 2) + { + str1 = new String(util.get_wap_server_host2(t.r)); + continue; + if (t.B == 1) { + str1 = new String(util.get_server_host1(t.r)); + } else if (t.B == 2) { + str1 = new String(util.get_server_host2(t.r)); + } + } + } + } + if (paramInt < 2) { + str2 = b(paramBoolean); + } else { + str2 = a(paramBoolean); + } + } + } + + public String a(boolean paramBoolean) + { + if (!paramBoolean) { + return x[((int)(java.lang.Math.random() * 2147483647.0D) % x.length)]; + } + return y[((int)(java.lang.Math.random() * 2147483647.0D) % y.length)]; + } + + public void a() + { + util.int8_to_buf(this.g, this.b, 3); + this.b += 1; + } + + public void a(int paramInt1, int paramInt2, int paramInt3, long paramLong, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8) + { + paramInt3 = this.i + 1; + this.i = paramInt3; + this.b = 0; + util.int8_to_buf(this.g, this.b, 2); + this.b += 1; + util.int16_to_buf(this.g, this.b, this.c + 2 + paramInt8); + this.b += 2; + util.int16_to_buf(this.g, this.b, paramInt1); + this.b += 2; + util.int16_to_buf(this.g, this.b, paramInt2); + this.b += 2; + util.int16_to_buf(this.g, this.b, paramInt3); + this.b += 2; + util.int32_to_buf(this.g, this.b, (int)paramLong); + this.b += 4; + util.int8_to_buf(this.g, this.b, 3); + this.b += 1; + util.int8_to_buf(this.g, this.b, 7); + this.b += 1; + util.int8_to_buf(this.g, this.b, paramInt4); + this.b += 1; + util.int32_to_buf(this.g, this.b, paramInt5); + this.b += 4; + util.int32_to_buf(this.g, this.b, paramInt6); + this.b += 4; + util.int32_to_buf(this.g, this.b, paramInt7); + this.b += 4; + } + + public void a(int paramInt1, int paramInt2, int paramInt3, long paramLong, int paramInt4, int paramInt5, int paramInt6, int paramInt7, byte[] paramArrayOfByte) + { + a(paramInt1, paramInt2, paramInt3, paramLong, paramInt4, paramInt5, paramInt6, paramInt7, paramArrayOfByte, paramArrayOfByte.length); + } + + public void a(int paramInt1, int paramInt2, int paramInt3, long paramLong, int paramInt4, int paramInt5, int paramInt6, int paramInt7, byte[] paramArrayOfByte, int paramInt8) + { + a(paramInt1, paramInt2, paramInt3, paramLong, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8); + a(paramArrayOfByte, paramInt8); + a(); + } + + void a(int paramInt1, byte[] paramArrayOfByte, int paramInt2) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 0)) { + return; + } + if (paramInt1 == 1) { + if (t.B == 1) { + util.set_server_host1(t.r, paramArrayOfByte); + } + } + for (;;) + { + util.LOGI("net type:" + t.B + " type:" + paramInt1 + " host:" + new String(paramArrayOfByte) + " port:" + paramInt2, "" + this.w.f); + return; + if (t.B == 2) + { + util.set_server_host2(t.r, paramArrayOfByte); + continue; + if (paramInt1 == 2) { + if (t.B == 1) { + util.set_wap_server_host1(t.r, paramArrayOfByte); + } else if (t.B == 2) { + util.set_wap_server_host2(t.r, paramArrayOfByte); + } + } + } + } + } + + public void a(Socket paramSocket) + { + this.w.ac = paramSocket; + } + + public void a(as paramas) + { + try + { + ErrMsg localErrMsg = new ErrMsg(); + if (paramas != null) + { + localErrMsg.setType(paramas.f()); + localErrMsg.setTitle(new String(paramas.g())); + localErrMsg.setMessage(new String(paramas.h())); + localErrMsg.setOtherinfo(new String(paramas.i())); + new d(t.r, localErrMsg).start(); + } + return; + } + catch (Exception paramas) {} + } + + public void a(ErrMsg paramErrMsg) + { + async_context localasync_context = t.b(this.w.h); + localasync_context._last_err_msg = new ErrMsg(0, "", "", ""); + if (paramErrMsg != null) {} + try + { + localasync_context._last_err_msg = ((ErrMsg)paramErrMsg.clone()); + return; + } + catch (CloneNotSupportedException paramErrMsg) + { + localasync_context._last_err_msg = new ErrMsg(0, "", "", ""); + } + } + + public void a(byte[] paramArrayOfByte, int paramInt) + { + if (this.b + paramInt + 1 > this.a) + { + this.a = (this.b + paramInt + 1 + 128); + byte[] arrayOfByte = new byte[this.a]; + System.arraycopy(this.g, 0, arrayOfByte, 0, this.b); + this.g = arrayOfByte; + } + System.arraycopy(paramArrayOfByte, 0, this.g, this.b, paramInt); + this.b += paramInt; + } + + public byte[] a(bb parambb) + { + Object localObject4 = new h(); + Object localObject3 = new n(); + Object localObject2 = new bc(); + Object localObject1 = new ao(); + parambb = parambb.b(); + int i1 = parambb.length; + if (((h)localObject4).b(parambb, 2, i1) < 0) {} + while ((((n)localObject3).b(parambb, 2, i1) < 0) || (((bc)localObject2).b(parambb, 2, i1) < 0)) { + return null; + } + parambb = ((h)localObject4).a(); + localObject3 = ((n)localObject3).a(); + localObject2 = ((bc)localObject2).a(); + localObject1 = ((ao)localObject1).a(t.y); + localObject4 = new byte[parambb.length + 3 + localObject3.length + localObject2.length + localObject1.length]; + localObject4[0] = 64; + util.int16_to_buf((byte[])localObject4, 1, 4); + System.arraycopy(parambb, 0, localObject4, 3, parambb.length); + i1 = parambb.length + 3; + System.arraycopy(localObject3, 0, localObject4, i1, localObject3.length); + i1 += localObject3.length; + System.arraycopy(localObject2, 0, localObject4, i1, localObject2.length); + i1 += localObject2.length; + System.arraycopy(localObject1, 0, localObject4, i1, localObject1.length); + i1 = localObject1.length; + return localObject4; + } + + protected byte[] a(byte[] paramArrayOfByte) + { + if (this.w.m == 0) { + return a(paramArrayOfByte, this.w.c, this.w.n, this.w.o); + } + return a(paramArrayOfByte, this.w.c); + } + + byte[] a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + byte[] arrayOfByte = new byte[paramArrayOfByte.length + 4]; + util.int16_to_buf(arrayOfByte, 0, paramInt1); + util.int16_to_buf(arrayOfByte, 2, paramInt2); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 4, paramArrayOfByte.length); + if (this.w.m == 0) { + return a(arrayOfByte, this.w.c, this.w.n, this.w.o); + } + return a(arrayOfByte, this.w.c); + } + + byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null)) { + return new byte[0]; + } + if (this.w.m == 2) {} + for (int i1 = 3;; i1 = 2) + { + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte2); + byte[] arrayOfByte = new byte[paramArrayOfByte2.length + 2 + 2 + 2 + paramArrayOfByte1.length]; + util.int8_to_buf(arrayOfByte, 0, 1); + util.int8_to_buf(arrayOfByte, 1, i1); + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, 2, paramArrayOfByte2.length); + i1 = paramArrayOfByte2.length + 2; + util.int16_to_buf(arrayOfByte, i1, 258); + i1 += 2; + util.int16_to_buf(arrayOfByte, i1, 0); + i1 += 2; + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, i1, paramArrayOfByte1.length); + i1 = paramArrayOfByte1.length; + return arrayOfByte; + } + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null) || (paramArrayOfByte3 == null)) { + return new byte[16]; + } + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + paramArrayOfByte2.length + paramArrayOfByte3.length]; + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 0, paramArrayOfByte1.length); + int i1 = paramArrayOfByte1.length + 0; + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte, i1, paramArrayOfByte2.length); + i1 += paramArrayOfByte2.length; + System.arraycopy(paramArrayOfByte3, 0, arrayOfByte, i1, paramArrayOfByte3.length); + i1 = paramArrayOfByte3.length; + return MD5.toMD5Byte(arrayOfByte); + } + + byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null) || (paramArrayOfByte3 == null) || (paramArrayOfByte4 == null)) { + return new byte[0]; + } + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte4); + paramArrayOfByte4 = new byte[paramArrayOfByte2.length + 2 + 2 + 2 + paramArrayOfByte3.length + paramArrayOfByte1.length]; + util.int8_to_buf(paramArrayOfByte4, 0, 1); + util.int8_to_buf(paramArrayOfByte4, 1, 1); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte4, 2, paramArrayOfByte2.length); + int i1 = paramArrayOfByte2.length + 2; + util.int16_to_buf(paramArrayOfByte4, i1, 258); + i1 += 2; + util.int16_to_buf(paramArrayOfByte4, i1, paramArrayOfByte3.length); + i1 += 2; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte4, i1, paramArrayOfByte3.length); + i1 += paramArrayOfByte3.length; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte4, i1, paramArrayOfByte1.length); + i1 = paramArrayOfByte1.length; + return paramArrayOfByte4; + } + + public int b() + { + int i1 = this.b; + int i2; + if (i1 <= this.e + 2) + { + i2 = -1009; + return i2; + } + this.f = (i1 - this.e - 2); + if (this.w.m == 0) + { + i2 = a(this.g, this.e + 1, this.f, this.w.o); + i1 = i2; + if (i2 < 0) + { + util.LOGI("use ecdh decrypt_body failed", ""); + i2 = a(this.g, this.e + 1, this.f, this.w.c); + i1 = i2; + if (i2 < 0) + { + util.LOGI("use kc decrypt_body failed", ""); + i1 = i2; + } + } + } + for (;;) + { + i2 = i1; + if (i1 < 0) { + break; + } + return c(this.g, this.e + 1, this.f); + i2 = a(this.g, this.e + 1, this.f, this.w.c); + i1 = i2; + if (i2 < 0) + { + util.LOGI("use kc decrypt_body failed", ""); + i1 = i2; + } + } + } + + /* Error */ + public int b(String paramString, boolean paramBoolean, WUserSigInfo paramWUserSigInfo) + { + // Byte code: + // 0: new 369 java/lang/StringBuilder + // 3: dup + // 4: invokespecial 370 java/lang/StringBuilder: ()V + // 7: aload_0 + // 8: invokevirtual 512 java/lang/Object:getClass ()Ljava/lang/Class; + // 11: invokevirtual 517 java/lang/Class:getName ()Ljava/lang/String; + // 14: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 17: ldc_w 519 + // 20: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 23: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 26: new 369 java/lang/StringBuilder + // 29: dup + // 30: invokespecial 370 java/lang/StringBuilder: ()V + // 33: ldc 73 + // 35: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 38: aload_0 + // 39: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 42: getfield 390 oicq/wlogin_sdk/request/t:f J + // 45: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 48: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 51: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 54: aload_0 + // 55: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 58: getfield 520 oicq/wlogin_sdk/request/t:l I + // 61: istore 4 + // 63: aload_0 + // 64: invokevirtual 522 oicq/wlogin_sdk/request/j:c ()[B + // 67: astore 7 + // 69: invokestatic 144 java/lang/System:currentTimeMillis ()J + // 72: lstore 5 + // 74: new 369 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 370 java/lang/StringBuilder: ()V + // 81: ldc_w 524 + // 84: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 87: aload_1 + // 88: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 91: ldc_w 526 + // 94: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 97: aload_0 + // 98: getfield 123 oicq/wlogin_sdk/request/j:u Ljava/lang/String; + // 101: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 104: ldc_w 528 + // 107: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 110: iload 4 + // 112: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 115: ldc_w 530 + // 118: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 121: iload_2 + // 122: invokevirtual 533 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 125: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 128: new 369 java/lang/StringBuilder + // 131: dup + // 132: invokespecial 370 java/lang/StringBuilder: ()V + // 135: ldc 73 + // 137: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 140: aload_0 + // 141: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 144: getfield 390 oicq/wlogin_sdk/request/t:f J + // 147: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 150: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 153: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 156: new 535 oicq/wlogin_sdk/request/WtloginMsfListener + // 159: dup + // 160: aload_1 + // 161: aload_0 + // 162: getfield 123 oicq/wlogin_sdk/request/j:u Ljava/lang/String; + // 165: aload 7 + // 167: iload 4 + // 169: iload_2 + // 170: aload_3 + // 171: invokespecial 538 oicq/wlogin_sdk/request/WtloginMsfListener: (Ljava/lang/String;Ljava/lang/String;[BIZLoicq/wlogin_sdk/request/WUserSigInfo;)V + // 174: astore_3 + // 175: new 540 java/lang/Thread + // 178: dup + // 179: aload_3 + // 180: invokespecial 543 java/lang/Thread: (Ljava/lang/Runnable;)V + // 183: astore_1 + // 184: aload_1 + // 185: invokevirtual 544 java/lang/Thread:start ()V + // 188: aload_1 + // 189: iload 4 + // 191: i2l + // 192: invokevirtual 548 java/lang/Thread:join (J)V + // 195: aload_3 + // 196: invokevirtual 551 oicq/wlogin_sdk/request/WtloginMsfListener:getRetData ()[B + // 199: astore_1 + // 200: aload_1 + // 201: ifnonnull +240 -> 441 + // 204: new 369 java/lang/StringBuilder + // 207: dup + // 208: invokespecial 370 java/lang/StringBuilder: ()V + // 211: ldc_w 553 + // 214: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 217: aload_3 + // 218: invokevirtual 556 oicq/wlogin_sdk/request/WtloginMsfListener:getRet ()I + // 221: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 224: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 227: new 369 java/lang/StringBuilder + // 230: dup + // 231: invokespecial 370 java/lang/StringBuilder: ()V + // 234: ldc 73 + // 236: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 239: aload_0 + // 240: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 243: getfield 390 oicq/wlogin_sdk/request/t:f J + // 246: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 249: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 252: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 255: sipush -1000 + // 258: istore 4 + // 260: aload_0 + // 261: getfield 119 oicq/wlogin_sdk/request/j:s I + // 264: sipush 2066 + // 267: if_icmpeq +112 -> 379 + // 270: new 128 oicq/wlogin_sdk/report/report_t3 + // 273: dup + // 274: invokespecial 129 oicq/wlogin_sdk/report/report_t3: ()V + // 277: astore_3 + // 278: aload_3 + // 279: aload_0 + // 280: getfield 119 oicq/wlogin_sdk/request/j:s I + // 283: putfield 132 oicq/wlogin_sdk/report/report_t3:_cmd I + // 286: aload_3 + // 287: aload_0 + // 288: getfield 121 oicq/wlogin_sdk/request/j:t I + // 291: putfield 135 oicq/wlogin_sdk/report/report_t3:_sub I + // 294: aload_3 + // 295: iload 4 + // 297: putfield 138 oicq/wlogin_sdk/report/report_t3:_rst2 I + // 300: aload_3 + // 301: invokestatic 144 java/lang/System:currentTimeMillis ()J + // 304: lload 5 + // 306: lsub + // 307: l2i + // 308: putfield 147 oicq/wlogin_sdk/report/report_t3:_used I + // 311: aload_3 + // 312: iconst_0 + // 313: putfield 150 oicq/wlogin_sdk/report/report_t3:_try I + // 316: aload_3 + // 317: ldc 73 + // 319: putfield 153 oicq/wlogin_sdk/report/report_t3:_host Ljava/lang/String; + // 322: aload_3 + // 323: ldc 73 + // 325: putfield 156 oicq/wlogin_sdk/report/report_t3:_ip Ljava/lang/String; + // 328: aload_3 + // 329: iconst_0 + // 330: putfield 162 oicq/wlogin_sdk/report/report_t3:_port I + // 333: aload_3 + // 334: iconst_0 + // 335: putfield 165 oicq/wlogin_sdk/report/report_t3:_conn I + // 338: aload_3 + // 339: iconst_0 + // 340: putfield 172 oicq/wlogin_sdk/report/report_t3:_net I + // 343: aload_3 + // 344: ldc 73 + // 346: putfield 175 oicq/wlogin_sdk/report/report_t3:_str Ljava/lang/String; + // 349: iload 4 + // 351: ifne +143 -> 494 + // 354: aload_3 + // 355: aload 7 + // 357: arraylength + // 358: putfield 178 oicq/wlogin_sdk/report/report_t3:_slen I + // 361: aload_3 + // 362: aload_1 + // 363: arraylength + // 364: putfield 181 oicq/wlogin_sdk/report/report_t3:_rlen I + // 367: aload_3 + // 368: iconst_3 + // 369: putfield 184 oicq/wlogin_sdk/report/report_t3:_wap I + // 372: getstatic 188 oicq/wlogin_sdk/request/t:ag Loicq/wlogin_sdk/report/report_t1; + // 375: aload_3 + // 376: invokevirtual 194 oicq/wlogin_sdk/report/report_t1:add_t3 (Loicq/wlogin_sdk/report/report_t3;)V + // 379: new 369 java/lang/StringBuilder + // 382: dup + // 383: invokespecial 370 java/lang/StringBuilder: ()V + // 386: aload_0 + // 387: invokevirtual 512 java/lang/Object:getClass ()Ljava/lang/Class; + // 390: invokevirtual 517 java/lang/Class:getName ()Ljava/lang/String; + // 393: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 396: ldc_w 558 + // 399: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 402: iload 4 + // 404: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 407: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 410: new 369 java/lang/StringBuilder + // 413: dup + // 414: invokespecial 370 java/lang/StringBuilder: ()V + // 417: ldc 73 + // 419: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 422: aload_0 + // 423: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 426: getfield 390 oicq/wlogin_sdk/request/t:f J + // 429: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 432: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 435: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 438: iload 4 + // 440: ireturn + // 441: aload_0 + // 442: aload_1 + // 443: aload_1 + // 444: arraylength + // 445: invokevirtual 560 oicq/wlogin_sdk/request/j:b ([BI)V + // 448: iconst_0 + // 449: istore 4 + // 451: goto -191 -> 260 + // 454: astore_3 + // 455: aconst_null + // 456: astore_1 + // 457: aload_3 + // 458: new 369 java/lang/StringBuilder + // 461: dup + // 462: invokespecial 370 java/lang/StringBuilder: ()V + // 465: ldc 73 + // 467: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 470: aload_0 + // 471: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 474: getfield 390 oicq/wlogin_sdk/request/t:f J + // 477: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 480: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 483: invokestatic 564 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 486: sipush -1000 + // 489: istore 4 + // 491: goto -231 -> 260 + // 494: aload_3 + // 495: iconst_0 + // 496: putfield 178 oicq/wlogin_sdk/report/report_t3:_slen I + // 499: aload_3 + // 500: iconst_0 + // 501: putfield 181 oicq/wlogin_sdk/report/report_t3:_rlen I + // 504: goto -137 -> 367 + // 507: astore_3 + // 508: goto -51 -> 457 + // Local variable table: + // start length slot name signature + // 0 511 0 this j + // 0 511 1 paramString String + // 0 511 2 paramBoolean boolean + // 0 511 3 paramWUserSigInfo WUserSigInfo + // 61 429 4 i1 int + // 72 233 5 l1 long + // 67 289 7 arrayOfByte byte[] + // Exception table: + // from to target type + // 74 200 454 java/lang/Exception + // 204 255 507 java/lang/Exception + // 441 448 507 java/lang/Exception + } + + public int b(byte[] paramArrayOfByte) + { + return util.buf_to_int16(paramArrayOfByte, 1); + } + + public String b(boolean paramBoolean) + { + String[] arrayOfString = new String[2]; + if (paramBoolean) + { + arrayOfString[0] = "wlogin.qq.com"; + arrayOfString[1] = "wlogin1.qq.com"; + } + for (;;) + { + return arrayOfString[java.lang.Math.abs(new java.util.Random().nextInt() % arrayOfString.length)]; + arrayOfString[0] = "wtlogin.qq.com"; + arrayOfString[1] = "wtlogin1.qq.com"; + } + } + + public void b(byte[] paramArrayOfByte, int paramInt) + { + if (paramInt > this.a) + { + this.a = (paramInt + 128); + this.g = new byte[this.a]; + } + this.b = paramInt; + System.arraycopy(paramArrayOfByte, 0, this.g, 0, paramInt); + } + + public void b(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + ap localap = new ap(); + paramInt1 = localap.b(paramArrayOfByte, paramInt1, paramInt2); + paramArrayOfByte = t.b(this.w.h); + if (paramInt1 >= 0) + { + paramArrayOfByte._last_err_msg.setTitle(new String(localap.f())); + paramArrayOfByte._last_err_msg.setMessage(new String(localap.g())); + paramArrayOfByte._last_err_msg.setType(localap.h()); + paramArrayOfByte._last_err_msg.setOtherinfo(new String(localap.i())); + } + } + + byte[] b(int paramInt) + { + Object localObject1 = ByteBuffer.allocate("5.4.0.7".length() + 24 + 2 + 2 + 1 + 4); + Object localObject2 = t.b(this.w.h); + ((ByteBuffer)localObject1).put(t.ab); + ((ByteBuffer)localObject1).putInt((int)((async_context)localObject2)._sappid); + ((ByteBuffer)localObject1).putInt((int)((async_context)localObject2)._sub_appid); + ((ByteBuffer)localObject1).putShort((short)0); + ((ByteBuffer)localObject1).putLong(this.w.f); + ((ByteBuffer)localObject1).putShort((short)"5.4.0.7".length()); + ((ByteBuffer)localObject1).put("5.4.0.7".getBytes()); + ((ByteBuffer)localObject1).putShort((short)this.s); + ((ByteBuffer)localObject1).putShort((short)this.t); + if (paramInt == -1000) {} + for (int i1 = 1;; i1 = 0) + { + ((ByteBuffer)localObject1).put((byte)i1); + ((ByteBuffer)localObject1).putInt(paramInt); + localObject2 = new cr().a(0, t.s, 0); + ByteBuffer localByteBuffer = ByteBuffer.allocate(((ByteBuffer)localObject1).capacity() + 4 + 4 + (cq.j.length + 4) + localObject2.length); + localByteBuffer.putShort((short)2); + localByteBuffer.putShort((short)3); + localByteBuffer.putShort((short)512); + localByteBuffer.putShort((short)((ByteBuffer)localObject1).capacity()); + localByteBuffer.put(((ByteBuffer)localObject1).array()); + localByteBuffer.putShort((short)2); + localByteBuffer.putShort((short)cq.j.length); + localByteBuffer.put(cq.j); + localByteBuffer.put((byte[])localObject2); + localObject2 = cryptor.encrypt(localByteBuffer.array(), 0, localByteBuffer.position(), this.w.c); + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = new byte[0]; + } + localObject2 = ByteBuffer.allocate(this.w.c.length + 2 + 2 + localObject1.length); + ((ByteBuffer)localObject2).putShort((short)this.w.c.length); + ((ByteBuffer)localObject2).put(this.w.c); + ((ByteBuffer)localObject2).putShort((short)localObject1.length); + ((ByteBuffer)localObject2).put((byte[])localObject1); + return ((ByteBuffer)localObject2).array(); + } + } + + /* Error */ + int c(int paramInt) + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: aconst_null + // 3: astore 5 + // 5: aload_3 + // 6: astore_2 + // 7: aload_0 + // 8: iload_1 + // 9: invokevirtual 653 oicq/wlogin_sdk/request/j:b (I)[B + // 12: astore 4 + // 14: aload_3 + // 15: astore_2 + // 16: new 369 java/lang/StringBuilder + // 19: dup + // 20: invokespecial 370 java/lang/StringBuilder: ()V + // 23: astore 6 + // 25: aload_3 + // 26: astore_2 + // 27: invokestatic 339 java/lang/Math:random ()D + // 30: ldc2_w 654 + // 33: dmul + // 34: invokestatic 659 java/lang/Math:round (D)J + // 37: l2i + // 38: istore_1 + // 39: aload_3 + // 40: astore_2 + // 41: aload 6 + // 43: iconst_3 + // 44: anewarray 43 java/lang/String + // 47: dup + // 48: iconst_0 + // 49: ldc_w 661 + // 52: aastore + // 53: dup + // 54: iconst_1 + // 55: ldc_w 663 + // 58: aastore + // 59: dup + // 60: iconst_2 + // 61: ldc_w 665 + // 64: aastore + // 65: iload_1 + // 66: iconst_3 + // 67: irem + // 68: aaload + // 69: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 72: ldc_w 667 + // 75: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 78: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 81: astore 6 + // 83: aload_3 + // 84: astore_2 + // 85: new 669 java/net/URL + // 88: dup + // 89: new 369 java/lang/StringBuilder + // 92: dup + // 93: invokespecial 370 java/lang/StringBuilder: ()V + // 96: ldc_w 671 + // 99: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 102: aload 6 + // 104: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 107: ldc_w 673 + // 110: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 113: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 116: invokespecial 675 java/net/URL: (Ljava/lang/String;)V + // 119: invokevirtual 679 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 122: checkcast 681 java/net/HttpURLConnection + // 125: astore_3 + // 126: aload_3 + // 127: ldc_w 683 + // 130: invokevirtual 686 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 133: aload_3 + // 134: ldc_w 688 + // 137: new 369 java/lang/StringBuilder + // 140: dup + // 141: invokespecial 370 java/lang/StringBuilder: ()V + // 144: aload 4 + // 146: arraylength + // 147: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 150: ldc 73 + // 152: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 155: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 158: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 161: aload_3 + // 162: ldc_w 693 + // 165: ldc_w 695 + // 168: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 171: aload_3 + // 172: getstatic 696 oicq/wlogin_sdk/b/cq:i I + // 175: invokevirtual 699 java/net/HttpURLConnection:setConnectTimeout (I)V + // 178: aload_3 + // 179: getstatic 696 oicq/wlogin_sdk/b/cq:i I + // 182: invokevirtual 702 java/net/HttpURLConnection:setReadTimeout (I)V + // 185: aload_3 + // 186: iconst_1 + // 187: invokevirtual 706 java/net/HttpURLConnection:setDoOutput (Z)V + // 190: aload_3 + // 191: iconst_1 + // 192: invokevirtual 709 java/net/HttpURLConnection:setDoInput (Z)V + // 195: aload_3 + // 196: aload_0 + // 197: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 200: getfield 520 oicq/wlogin_sdk/request/t:l I + // 203: i2l + // 204: invokestatic 714 oicq/wlogin_sdk/request/h:a (Ljava/net/HttpURLConnection;J)Z + // 207: ifne +46 -> 253 + // 210: ldc_w 716 + // 213: new 369 java/lang/StringBuilder + // 216: dup + // 217: invokespecial 370 java/lang/StringBuilder: ()V + // 220: ldc 73 + // 222: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 225: aload_0 + // 226: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 229: getfield 390 oicq/wlogin_sdk/request/t:f J + // 232: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 235: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 238: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 241: aload_3 + // 242: ifnull +7 -> 249 + // 245: aload_3 + // 246: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 249: sipush -1000 + // 252: ireturn + // 253: aload_3 + // 254: invokevirtual 723 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 257: astore_2 + // 258: aload_2 + // 259: aload 4 + // 261: invokevirtual 728 java/io/OutputStream:write ([B)V + // 264: aload_2 + // 265: invokevirtual 731 java/io/OutputStream:close ()V + // 268: aload_3 + // 269: invokevirtual 734 java/net/HttpURLConnection:getResponseCode ()I + // 272: istore_1 + // 273: new 369 java/lang/StringBuilder + // 276: dup + // 277: invokespecial 370 java/lang/StringBuilder: ()V + // 280: ldc_w 736 + // 283: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 286: iload_1 + // 287: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 290: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 293: new 369 java/lang/StringBuilder + // 296: dup + // 297: invokespecial 370 java/lang/StringBuilder: ()V + // 300: ldc 73 + // 302: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 305: aload_0 + // 306: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 309: getfield 390 oicq/wlogin_sdk/request/t:f J + // 312: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 315: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 318: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 321: sipush 200 + // 324: iload_1 + // 325: if_icmpeq +15 -> 340 + // 328: aload_3 + // 329: ifnull +7 -> 336 + // 332: aload_3 + // 333: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 336: sipush -1000 + // 339: ireturn + // 340: ldc_w 738 + // 343: new 369 java/lang/StringBuilder + // 346: dup + // 347: invokespecial 370 java/lang/StringBuilder: ()V + // 350: ldc 73 + // 352: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 355: aload_0 + // 356: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 359: getfield 390 oicq/wlogin_sdk/request/t:f J + // 362: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 365: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 368: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 371: aload_3 + // 372: invokevirtual 742 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 375: astore_2 + // 376: new 744 java/io/ByteArrayOutputStream + // 379: dup + // 380: invokespecial 745 java/io/ByteArrayOutputStream: ()V + // 383: astore 4 + // 385: sipush 1024 + // 388: newarray byte + // 390: astore 5 + // 392: aload_2 + // 393: aload 5 + // 395: invokevirtual 750 java/io/InputStream:read ([B)I + // 398: istore_1 + // 399: iload_1 + // 400: iconst_m1 + // 401: if_icmpeq +36 -> 437 + // 404: aload 4 + // 406: aload 5 + // 408: iconst_0 + // 409: iload_1 + // 410: invokevirtual 752 java/io/ByteArrayOutputStream:write ([BII)V + // 413: goto -21 -> 392 + // 416: astore 4 + // 418: aload_3 + // 419: astore_2 + // 420: aload 4 + // 422: invokestatic 755 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;)V + // 425: aload_3 + // 426: ifnull +7 -> 433 + // 429: aload_3 + // 430: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 433: sipush -1000 + // 436: ireturn + // 437: aload_0 + // 438: aload 4 + // 440: invokevirtual 758 java/io/ByteArrayOutputStream:toByteArray ()[B + // 443: invokevirtual 760 oicq/wlogin_sdk/request/j:d ([B)I + // 446: sipush -1000 + // 449: if_icmpeq +26 -> 475 + // 452: iconst_1 + // 453: istore_1 + // 454: aload 4 + // 456: invokevirtual 761 java/io/ByteArrayOutputStream:close ()V + // 459: iload_1 + // 460: ifne +20 -> 480 + // 463: aload_3 + // 464: ifnull +7 -> 471 + // 467: aload_3 + // 468: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 471: sipush -1000 + // 474: ireturn + // 475: iconst_0 + // 476: istore_1 + // 477: goto -23 -> 454 + // 480: aload_3 + // 481: ifnull +7 -> 488 + // 484: aload_3 + // 485: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 488: sipush 257 + // 491: ireturn + // 492: astore 4 + // 494: aload_2 + // 495: astore_3 + // 496: aload 4 + // 498: astore_2 + // 499: aload_3 + // 500: ifnull +7 -> 507 + // 503: aload_3 + // 504: invokevirtual 719 java/net/HttpURLConnection:disconnect ()V + // 507: aload_2 + // 508: athrow + // 509: astore_2 + // 510: goto -11 -> 499 + // 513: astore 4 + // 515: aload 5 + // 517: astore_3 + // 518: goto -100 -> 418 + // Local variable table: + // start length slot name signature + // 0 521 0 this j + // 0 521 1 paramInt int + // 6 502 2 localObject1 Object + // 509 1 2 localObject2 Object + // 1 517 3 localObject3 Object + // 12 393 4 localObject4 Object + // 416 39 4 localException1 Exception + // 492 5 4 localObject5 Object + // 513 1 4 localException2 Exception + // 3 513 5 arrayOfByte byte[] + // 23 80 6 localObject6 Object + // Exception table: + // from to target type + // 126 241 416 java/lang/Exception + // 253 321 416 java/lang/Exception + // 340 392 416 java/lang/Exception + // 392 399 416 java/lang/Exception + // 404 413 416 java/lang/Exception + // 437 452 416 java/lang/Exception + // 454 459 416 java/lang/Exception + // 7 14 492 finally + // 16 25 492 finally + // 27 39 492 finally + // 41 83 492 finally + // 85 126 492 finally + // 420 425 492 finally + // 126 241 509 finally + // 253 321 509 finally + // 340 392 509 finally + // 392 399 509 finally + // 404 413 509 finally + // 437 452 509 finally + // 454 459 509 finally + // 7 14 513 java/lang/Exception + // 16 25 513 java/lang/Exception + // 27 39 513 java/lang/Exception + // 41 83 513 java/lang/Exception + // 85 126 513 java/lang/Exception + } + + public int c(boolean paramBoolean) + { + if (paramBoolean) {} + return 443; + } + + public int c(byte[] paramArrayOfByte, int paramInt) + { + this.v = paramArrayOfByte[paramInt]; + return paramArrayOfByte[paramInt] & 0xFF; + } + + public int c(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + int i1; + if (paramInt2 < 5) + { + i1 = -1009; + return i1; + } + long l2 = 4294967295L; + f localf = new f(); + Object localObject9 = new g(); + r localr = new r(); + u localu = new u(); + o localo = new o(); + p localp = new p(); + l locall = new l(); + s locals = new s(); + e locale = new e(); + v localv = new v(); + oicq.wlogin_sdk.b.d locald = new oicq.wlogin_sdk.b.d(); + m localm = new m(); + w localw = new w(); + x localx = new x(); + z localz = new z(); + Object localObject4 = new aa(); + ag localag = new ag(); + oicq.wlogin_sdk.b.j localj = new oicq.wlogin_sdk.b.j(); + h localh = new h(); + Object localObject8 = new n(); + Object localObject3 = new ac(); + Object localObject5 = new y(); + aj localaj = new aj(); + ah localah = new ah(); + as localas = new as(); + at localat = new at(); + Object localObject6 = new am(); + cl localcl = new cl(); + ax localax = new ax(); + ay localay = new ay(); + ba localba = new ba(); + bc localbc = new bc(); + bb localbb = new bb(); + aw localaw = new aw(); + bh localbh = new bh(); + be localbe = new be(); + bf localbf = new bf(); + bk localbk = new bk(); + bm localbm = new bm(); + bn localbn = new bn(); + br localbr = new br(); + bs localbs = new bs(); + ad localad = new ad(); + bu localbu = new bu(); + bv localbv = new bv(); + by localby = new by(); + co localco = new co(); + Object localObject7 = new cp(); + byte[] arrayOfByte1 = null; + byte[] arrayOfByte2 = null; + byte[] arrayOfByte3 = null; + byte[] arrayOfByte4 = null; + byte[] arrayOfByte5 = null; + Object localObject2 = null; + Object localObject1 = null; + byte[] arrayOfByte6 = null; + ai localai = new ai(); + async_context localasync_context = t.b(this.w.h); + long l3 = localasync_context._sappid; + long l4 = localasync_context._appid; + if (this.s == 2064) { + switch (this.t) + { + case 3: + case 5: + case 6: + case 8: + case 12: + case 14: + case 16: + default: + return -1012; + case 9: + paramInt2 = 0; + } + } + for (;;) + { + label618: + i1 = c(paramArrayOfByte, paramInt1 + 2); + int i4 = paramInt1 + 5; + this.w.d = null; + label822: + label872: + int i2; + label1135: + int i5; + int i3; + switch (i1) + { + default: + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + case 0: + do + { + do + { + localObject2 = new StringBuilder().append("type:").append(i1).append(" ret:"); + if (paramInt1 <= 0) { + break label5457; + } + localObject1 = "0x" + Integer.toHexString(paramInt1); + util.LOGI(localObject1, "" + this.w.f); + if (paramInt1 != 0) { + break label5466; + } + a(null); + i1 = paramInt1; + if ((i1 != 10) && (i1 != 161) && (i1 != 162) && (i1 != 164) && (i1 != 165) && (i1 != 166) && (i1 != 154)) + { + paramInt1 = i1; + if (i1 >= 128) + { + paramInt1 = i1; + if (i1 > 143) {} + } + } + else + { + paramInt1 = -1000; + } + i1 = paramInt1; + if (paramInt2 == 2) { + break; + } + i1 = paramInt1; + if (paramInt2 == 6) { + break; + } + i1 = paramInt1; + if (paramInt2 == 7) { + break; + } + a(paramInt2); + return paramInt1; + paramInt2 = 1; + break label618; + paramInt2 = 2; + break label618; + paramInt2 = 3; + break label618; + paramInt2 = 4; + break label618; + paramInt2 = 5; + break label618; + paramInt2 = 6; + break label618; + paramInt2 = 7; + break label618; + paramInt2 = 0; + break label618; + paramInt2 = 0; + break label618; + if (paramInt2 != 1) { + break label2044; + } + if (this.w.b == null) { + return -1006; + } + if (localat.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + this.w.d = localat; + } + if (localaw.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + a(localaw); + } + i2 = localu.a(paramArrayOfByte, i4, this.b - i4 - 1, this.w.b); + paramInt1 = i2; + } while (i2 < 0); + localObject9 = localu.b(); + i2 = 2; + i5 = localObject9.length; + if (localas.b((byte[])localObject9, 2, i5) > 0) { + a(localas); + } + if (localag.b((byte[])localObject9, 2, i5) > 0) { + this.w.a(localag.f(), localag.g()); + } + if (localr.b((byte[])localObject9, 2, i5) >= 0) + { + this.w.f = localr.f(); + this.w.a(this.w.g, Long.valueOf(this.w.f)); + } + localo.b((byte[])localObject9, 2, i5); + localp.b((byte[])localObject9, 2, i5); + locall.b((byte[])localObject9, 2, i5); + locals.b((byte[])localObject9, 2, i5); + i3 = localv.b((byte[])localObject9, 2, i5); + paramInt1 = i3; + } while (i3 < 0); + if (locale.b((byte[])localObject9, 2, i5) >= 0) { + localObject2 = locale.b(); + } + if (localj.b((byte[])localObject9, 2, i5) >= 0) { + util.set_ksid(t.r, localj.b()); + } + if (locald.b((byte[])localObject9, 2, i5) >= 0) { + arrayOfByte1 = locald.b(); + } + if (localm.b((byte[])localObject9, 2, i5) >= 0) { + arrayOfByte2 = localm.b(); + } + if (localw.b((byte[])localObject9, 2, i5) >= 0) { + arrayOfByte3 = localw.b(); + } + if (localz.b((byte[])localObject9, 2, i5) >= 0) { + arrayOfByte4 = localz.b(); + } + if (((aa)localObject4).b((byte[])localObject9, 2, i5) >= 0) { + arrayOfByte5 = ((aa)localObject4).b(); + } + if (((ac)localObject3).b((byte[])localObject9, 2, i5) >= 0) + { + localObject1 = ((ac)localObject3).f(); + arrayOfByte6 = ((ac)localObject3).g(); + } + if (localby.b((byte[])localObject9, 2, i5) >= 0) + { + localObject3 = this.w.g; + if (util.check_uin_account((String)localObject3).booleanValue()) + { + localObject4 = this.w.e(this.w.f); + localObject3 = localObject4; + if (localObject4 != null) + { + localObject3 = localObject4; + if (((String)localObject4).length() > 0) + { + this.w.a((String)localObject4, Long.valueOf(this.w.f), localby.f()); + localObject3 = localObject4; + } + } + label1589: + util.LOGI("put t186: name: " + (String)localObject3 + " uin: " + this.w.f + " pwd=" + localby.f(), ""); + } + } + else + { + util.LOGI("tgt len:" + util.buf_len(locall.b()) + " tgt_key len:" + util.buf_len(localo.b()) + " st len:" + util.buf_len(locals.b()) + " st_key len:" + util.buf_len(localp.b()) + " stwx_web len:" + util.buf_len((byte[])localObject2) + " a8 len:" + util.buf_len(arrayOfByte1) + " a5 len:" + util.buf_len(arrayOfByte2) + " lskey len:" + util.buf_len(arrayOfByte3) + " skey len:" + util.buf_len(arrayOfByte4) + " sig64 len:" + util.buf_len(arrayOfByte5) + " openid len:" + util.buf_len((byte[])localObject1) + " openkey len:" + util.buf_len(arrayOfByte6) + " pwdflag: " + localby.c() + " " + localby.f(), "" + this.w.f); + if (localbb.b((byte[])localObject9, 2, i5) >= 0) + { + localObject3 = a(localbb); + if ((localObject3 == null) || (localObject3.length <= 0)) { + break label2500; + } + } + } + label2500: + for (this.w.j = new WFastLoginInfo((byte[])localObject3);; this.w.j = new WFastLoginInfo()) + { + localObject3 = (byte[][])Array.newInstance(Byte.TYPE, new int[] { 3, 0 }); + if (localba.b((byte[])localObject9, 2, i5) >= 0) + { + localObject3[0] = localba.f(); + localObject3[1] = localba.g(); + localObject3[2] = localba.h(); + } + localObject4 = (byte[][])Array.newInstance(Byte.TYPE, new int[] { 5, 0 }); + paramInt1 = 0; + while (paramInt1 < 5) + { + localObject4[paramInt1] = new byte[0]; + paramInt1 += 1; + } + label2044: + if (paramInt2 == 2) + { + if (localbv.b(paramArrayOfByte, i4, this.b - i4) >= 0) { + localasync_context._msalt = localbv.f(); + } + if (f() == 3) + { + if (localr.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + this.w.f = localr.f(); + this.w.a(this.w.g, Long.valueOf(this.w.f)); + } + if (localf.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + localasync_context._t104 = localf; + } + paramInt1 = 0; + break; + } + if (localat.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + this.w.d = localat; + } + if (localaw.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + a(localaw); + } + i2 = localu.a(paramArrayOfByte, i4, this.b - i4 - 1, localasync_context._tgtgt_key); + break label1135; + } + if ((paramInt2 == 3) || (paramInt2 == 7)) + { + if (localbv.b(paramArrayOfByte, i4, this.b - i4) >= 0) { + localasync_context._msalt = localbv.f(); + } + if (localr.b(paramArrayOfByte, i4, this.b - i4) >= 0) + { + this.w.f = localr.f(); + this.w.a(this.w.g, Long.valueOf(this.w.f)); + } + i2 = localf.b(paramArrayOfByte, i4, this.b - i4); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t104 = localf; + paramInt1 = 0; + break; + } + if (localat.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + this.w.d = localat; + } + if (localaw.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + a(localaw); + } + i2 = localu.a(paramArrayOfByte, i4, this.b - i4 - 1, localasync_context._tgtgt_key); + r.D = 0; + break label1135; + this.w.a((String)localObject3, Long.valueOf(this.w.f), localby.f()); + break label1589; + } + paramInt1 = ((n)localObject8).b((byte[])localObject9, 2, i5); + if ((localh.b((byte[])localObject9, 2, i5) >= 0) && (paramInt1 >= 0)) + { + localObject8 = ((n)localObject8).b(); + localObject4[0] = ((byte[])b(localh.b(), (byte[])localObject8).clone()); + } + if (localbc.b((byte[])localObject9, 2, i5) >= 0) { + localObject4[1] = localbc.b(); + } + if (((cp)localObject7).b((byte[])localObject9, 2, i5) >= 0) { + localObject4[4] = ((cp)localObject7).b(); + } + if (localasync_context._sec_guid_flag) + { + localObject4[2] = localasync_context._G; + localObject4[3] = localasync_context._dpwd; + localObject4[4] = localasync_context._t403.b(); + localasync_context._sec_guid_flag = false; + } + localObject7 = (byte[][])Array.newInstance(Byte.TYPE, new int[] { 12, 0 }); + paramInt1 = 0; + while (paramInt1 < 12) + { + localObject7[paramInt1] = new byte[0]; + paramInt1 += 1; + } + if (localai.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[0] = localai.b(); + } + if (localah.b((byte[])localObject9, 2, i5) >= 0) + { + localObject7[1] = localah.f(); + localObject1 = localah.g(); + } + if (((am)localObject6).b((byte[])localObject9, 2, i5) >= 0) { + localObject7[2] = ((am)localObject6).b(); + } + if (localcl.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[3] = localcl.b(); + } + if (localax.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[4] = localax.b(); + } + if (localbh.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[5] = localbh.b(); + } + if (localbe.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[6] = localbe.b(); + } + if (localbf.b((byte[])localObject9, 2, i5) >= 0) { + localObject7[7] = localbf.b(); + } + localObject6 = new cg(); + if (((cg)localObject6).b((byte[])localObject9, 2, i5) >= 0) + { + localObject7[8] = ((cg)localObject6).g(); + localObject1 = ((cg)localObject6).f(); + } + break; + } + label3456: + label3587: + label3597: + for (;;) + { + localObject6 = new ci(); + if (((ci)localObject6).b((byte[])localObject9, 2, i5) >= 0) + { + localObject7[9] = ((ci)localObject6).f(); + localObject7[10] = ((ci)localObject6).g(); + } + localObject6 = new a(515); + if (((a)localObject6).b((byte[])localObject9, 2, i5) >= 0) { + localObject7[11] = ((a)localObject6).b(); + } + localObject6 = new a(791); + long l1; + if (((a)localObject6).b((byte[])localObject9, 2, i5) >= 0) + { + oicq.wlogin_sdk.sharemem.WloginSigInfo._QRPUSHSig = ((a)localObject6).b(); + util.LOGI("encrypt_a1 len:" + util.buf_len(localObject4[0]) + " no_pic_sig len:" + util.buf_len(localObject4[1]) + " G len:" + util.buf_len(localObject4[2]) + " dpwd len:" + util.buf_len(localObject4[3]) + " randseed len:" + util.buf_len(localObject4[4]) + " vkey len:" + util.buf_len(localObject7[0]) + " openid len:" + util.buf_len((byte[])localObject1) + " access_token len:" + util.buf_len(localObject7[1]) + " d2 len:" + util.buf_len(localObject7[2]) + " d2_key len:" + util.buf_len(localObject7[3]) + " sid len:" + util.buf_len(localObject7[4]) + " aq_sig len:" + util.buf_len(localObject7[5]) + " pskey len:" + util.buf_len(localObject7[6]) + " super_key len:" + util.buf_len(localObject7[7]) + " paytoken len:" + util.buf_len(localObject7[8]) + " pf len:" + util.buf_len(localObject7[9]) + " pfkey len:" + util.buf_len(localObject7[10]) + " da2 len:" + util.buf_len(localObject7[11]), "" + this.w.f); + if (((y)localObject5).b((byte[])localObject9, 2, i5) >= 0) { + l2 = 0xFFFFFFFF & ((y)localObject5).f(); + } + localObject5 = new long[7]; + paramInt1 = 2; + l1 = 2160000L; + label3407: + paramInt1 = localaj.b((byte[])localObject9, paramInt1, i5); + if (paramInt1 < 0) { + break label3648; + } + if (localaj.f() == 0) { + break label5523; + } + l1 = localaj.f(); + } + label3474: + label5523: + for (;;) + { + if (localaj.g() != 0) + { + localObject5[0] = localaj.g(); + if (localaj.h() == 0) { + break label3587; + } + localObject5[1] = localaj.h(); + if (localaj.i() == 0) { + break label3597; + } + localObject5[2] = localaj.i(); + label3492: + if (localaj.j() == 0) { + break label3607; + } + localObject5[3] = localaj.j(); + label3510: + if (localaj.k() == 0) { + break label3617; + } + localObject5[4] = localaj.k(); + label3528: + if (localaj.l() == 0) { + break label3627; + } + localObject5[5] = localaj.l(); + } + for (;;) + { + if (localaj.m() == 0) { + break label3637; + } + localObject5[6] = localaj.m(); + break label3407; + oicq.wlogin_sdk.sharemem.WloginSigInfo._QRPUSHSig = new byte[0]; + break; + localObject5[0] = 1641600L; + break label3456; + localObject5[1] = 86400L; + break label3474; + localObject5[2] = 1728000L; + break label3492; + label3607: + localObject5[3] = 72000L; + break label3510; + label3617: + localObject5[4] = 6000L; + break label3528; + label3627: + localObject5[5] = 1728000L; + } + label3637: + localObject5[6] = 1728000L; + break label3407; + label3648: + util.LOGI("sappid:" + l3 + " appid:" + l4 + " app_pri:" + l2 + " login_bitmap:" + localasync_context._login_bitmap + " tk_valid:" + 0L + " a2_valid:" + l1 + " lskey_valid:" + localObject5[0] + " skey_valid:" + localObject5[1] + " vkey_valid:" + localObject5[2] + " a8_valid:" + localObject5[3] + " stweb_valid:" + localObject5[4] + " d2_valid:" + localObject5[5] + " sid_valid:" + localObject5[6], "" + this.w.f); + i3 = this.w.a(this.w.f, l3, (byte[][])localObject4, l4, l2, t.f(), t.f() + 0L, l1 + t.f(), localv.f(), localv.g(), localv.h(), localv.i(), (byte[][])localObject3, locall.b(), localo.b(), locals.b(), localp.b(), (byte[])localObject2, arrayOfByte2, arrayOfByte1, arrayOfByte3, arrayOfByte4, arrayOfByte5, (byte[])localObject1, arrayOfByte6, (byte[][])localObject7, (long[])localObject5, localasync_context._login_bitmap); + paramInt1 = i2; + if (i3 != 0) + { + localObject1 = new ErrMsg(); + ((ErrMsg)localObject1).setMessage(InternationMsg.a(InternationMsg.MSG_TYPE.MSG_2)); + a((ErrMsg)localObject1); + util.LOGI("put_siginfo fail,ret=" + i3, "" + this.w.f); + paramInt1 = i3; + break; + } + for (;;) + { + paramInt1 = localx.b((byte[])localObject9, paramInt1, i5); + if (paramInt1 < 0) { + break; + } + this.w.a(this.w.f, localx.f(), t.f(), t.f() + 0L, localx.h(), localx.g()); + } + paramInt1 = 0; + break; + this.w.c(this.w.f, l3); + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + i2 = localf.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t104 = localf; + localObject1 = new cc(); + if (((cc)localObject1).b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + a(new ErrMsg(i1, "", "", ((cc)localObject1).f())); + paramInt1 = i1; + break; + } + i2 = ((g)localObject9).b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t105 = ((g)localObject9); + if (localay.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) {} + for (localasync_context._t165 = localay;; localasync_context._t165 = new ay()) + { + a(null); + break; + } + this.w.c(this.w.f, l3); + i2 = localag.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + this.w.a(localag.f(), localag.g()); + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + localObject1 = new a(405); + i2 = ((a)localObject1).b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + oicq.wlogin_sdk.sharemem.WloginSigInfo._LHSig = ((a)localObject1).b(); + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + if (localr.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + this.w.f = localr.f(); + this.w.a(this.w.g, Long.valueOf(this.w.f)); + } + i2 = localf.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t104 = localf; + i2 = localbk.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t174 = localbk; + if (localbm.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + localasync_context._devlock_info.CountryCode = new String(localbm.f()); + localasync_context._devlock_info.Mobile = new String(localbm.g()); + localasync_context._devlock_info.MbItemSmsCodeStatus = localbm.h(); + localasync_context._devlock_info.AvailableMsgCount = localbm.i(); + localasync_context._devlock_info.TimeLimit = localbm.j(); + } + localObject1 = new cf(); + if (((cf)localObject1).b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + localasync_context._devlock_info.BakCountryCode = ((cf)localObject1).g(); + localasync_context._devlock_info.BakMobile = ((cf)localObject1).h(); + localasync_context._devlock_info.BakMobileState = ((cf)localObject1).f(); + } + if (localbn.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + localasync_context._devlock_info.UnionVerifyUrl = new String(localbn.f()); + } + if (localbr.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + localasync_context._devlock_info.MbGuideType = localbr.f(); + localasync_context._devlock_info.MbGuideMsg = new String(localbr.g()); + localasync_context._devlock_info.MbGuideInfoType = localbr.h(); + localasync_context._devlock_info.MbGuideInfo = new String(localbr.i()); + } + if (localbs.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) { + localasync_context._devlock_info.VerifyReason = new String(localbs.b()); + } + if (localco.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + localasync_context._t402 = localco; + label4949: + if (((cp)localObject7).b(paramArrayOfByte, i4, this.b - i4 - 1) < 0) { + break label5013; + } + } + label5013: + for (localasync_context._t403 = ((cp)localObject7);; localasync_context._t403 = new cp()) + { + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + localasync_context._t402 = new co(); + break label4949; + } + b(paramArrayOfByte, i4, this.b - i4 - 1); + this.w.a(this.w.g); + paramInt1 = i1; + break; + i2 = localaw.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + a(localaw); + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + if (localr.b(paramArrayOfByte, i4, this.b - i4 - 1) >= 0) + { + this.w.f = localr.f(); + this.w.a(this.w.g, Long.valueOf(this.w.f)); + } + i2 = localf.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t104 = localf; + i2 = localco.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t402 = localco; + i2 = ((cp)localObject7).b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t403 = ((cp)localObject7); + b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i1; + break; + i2 = localf.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t104 = localf; + i2 = localad.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._t126 = localad; + i2 = localbu.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._smslogin_msgcnt = localbu.f(); + localasync_context._smslogin_timelimit = localbu.g(); + i2 = localbv.b(paramArrayOfByte, i4, this.b - i4 - 1); + paramInt1 = i2; + if (i2 < 0) { + break; + } + localasync_context._msalt = localbv.f(); + paramInt1 = 0; + break; + label5457: + localObject1 = Integer.valueOf(paramInt1); + break label822; + label5466: + new cq().b(paramArrayOfByte, i4, this.b - i4 - 1); + i1 = paramInt1; + if (!cq.h) { + break label872; + } + i2 = c(paramInt1); + i1 = paramInt1; + if (i2 == -1000) { + break label872; + } + i1 = i2; + break label872; + } + } + paramInt2 = 0; + } + } + + public byte[] c() + { + byte[] arrayOfByte = new byte[this.b]; + System.arraycopy(this.g, 0, arrayOfByte, 0, this.b); + return arrayOfByte; + } + + public byte[] c(byte[] paramArrayOfByte) + { + Object localObject; + if ((t.z == null) || (t.z.length <= 0)) + { + localObject = cryptor.decrypt(paramArrayOfByte, 0, paramArrayOfByte.length, "%4;7t>;28 localObject.length) { + System.arraycopy(t.z, 0, localObject, 0, localObject.length); + } + for (;;) + { + arrayOfByte = cryptor.decrypt(paramArrayOfByte, 0, paramArrayOfByte.length, (byte[])localObject); + if (arrayOfByte != null) + { + localObject = arrayOfByte; + if (arrayOfByte.length > 0) { + break; + } + } + localObject = cryptor.decrypt(paramArrayOfByte, 0, paramArrayOfByte.length, "%4;7t>;28 ()V + // 7: aload_0 + // 8: invokevirtual 512 java/lang/Object:getClass ()Ljava/lang/Class; + // 11: invokevirtual 517 java/lang/Class:getName ()Ljava/lang/String; + // 14: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 17: ldc_w 1470 + // 20: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 23: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 26: new 369 java/lang/StringBuilder + // 29: dup + // 30: invokespecial 370 java/lang/StringBuilder: ()V + // 33: ldc 73 + // 35: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 38: aload_0 + // 39: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 42: getfield 390 oicq/wlogin_sdk/request/t:f J + // 45: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 48: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 51: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 54: aload_0 + // 55: invokevirtual 522 oicq/wlogin_sdk/request/j:c ()[B + // 58: astore 24 + // 60: iconst_0 + // 61: istore_3 + // 62: iconst_0 + // 63: istore_2 + // 64: iconst_0 + // 65: istore_1 + // 66: lconst_0 + // 67: lstore 9 + // 69: aload_0 + // 70: invokevirtual 1472 oicq/wlogin_sdk/request/j:d ()Ljava/net/Socket; + // 73: astore 18 + // 75: iconst_0 + // 76: istore 14 + // 78: iconst_0 + // 79: istore 13 + // 81: iconst_0 + // 82: istore 4 + // 84: ldc 73 + // 86: astore 19 + // 88: ldc 73 + // 90: astore 17 + // 92: iload_1 + // 93: bipush 6 + // 95: if_icmpge +2235 -> 2330 + // 98: iload_1 + // 99: ifeq +9 -> 108 + // 102: getstatic 312 oicq/wlogin_sdk/request/t:r Landroid/content/Context; + // 105: invokestatic 1476 oicq/wlogin_sdk/tools/util:chg_retry_type (Landroid/content/Context;)V + // 108: getstatic 312 oicq/wlogin_sdk/request/t:r Landroid/content/Context; + // 111: invokestatic 1480 oicq/wlogin_sdk/tools/util:is_wap_retry (Landroid/content/Context;)Z + // 114: istore 15 + // 116: aload_0 + // 117: aconst_null + // 118: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 121: iload_1 + // 122: ifeq +27 -> 149 + // 125: aload_0 + // 126: getfield 119 oicq/wlogin_sdk/request/j:s I + // 129: sipush 2066 + // 132: if_icmpeq +17 -> 149 + // 135: aload_0 + // 136: iload_2 + // 137: lload 9 + // 139: iload 4 + // 141: iload_1 + // 142: iload 15 + // 144: iload 13 + // 146: invokespecial 1482 oicq/wlogin_sdk/request/j:a (IJIIZZ)V + // 149: invokestatic 144 java/lang/System:currentTimeMillis ()J + // 152: lstore 9 + // 154: iload 15 + // 156: ifeq +1035 -> 1191 + // 159: new 369 java/lang/StringBuilder + // 162: dup + // 163: invokespecial 370 java/lang/StringBuilder: ()V + // 166: ldc_w 1484 + // 169: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 172: iload_1 + // 173: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 176: ldc_w 1486 + // 179: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 182: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 185: new 369 java/lang/StringBuilder + // 188: dup + // 189: invokespecial 370 java/lang/StringBuilder: ()V + // 192: ldc 73 + // 194: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 197: aload_0 + // 198: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 201: getfield 390 oicq/wlogin_sdk/request/t:f J + // 204: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 207: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 210: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 213: aload_0 + // 214: iload_1 + // 215: iload 15 + // 217: invokevirtual 1488 oicq/wlogin_sdk/request/j:a (IZ)Ljava/lang/String; + // 220: astore 23 + // 222: iload 13 + // 224: istore 14 + // 226: getstatic 312 oicq/wlogin_sdk/request/t:r Landroid/content/Context; + // 229: invokestatic 1491 oicq/wlogin_sdk/tools/util:is_wap_proxy_retry (Landroid/content/Context;)Z + // 232: istore 13 + // 234: iload 13 + // 236: ifeq +2448 -> 2684 + // 239: iload 13 + // 241: istore 14 + // 243: invokestatic 1494 oicq/wlogin_sdk/tools/util:get_proxy_ip ()Ljava/lang/String; + // 246: astore 20 + // 248: iload 13 + // 250: istore 14 + // 252: invokestatic 1497 oicq/wlogin_sdk/tools/util:get_proxy_port ()I + // 255: istore_2 + // 256: aload 20 + // 258: ifnull +20 -> 278 + // 261: iload 13 + // 263: istore 14 + // 265: aload 20 + // 267: invokevirtual 309 java/lang/String:length ()I + // 270: ifle +8 -> 278 + // 273: iload_2 + // 274: iconst_m1 + // 275: if_icmpne +2417 -> 2692 + // 278: iconst_0 + // 279: istore 13 + // 281: iconst_0 + // 282: istore 14 + // 284: new 369 java/lang/StringBuilder + // 287: dup + // 288: invokespecial 370 java/lang/StringBuilder: ()V + // 291: ldc_w 1499 + // 294: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 297: aload 20 + // 299: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 302: ldc_w 1501 + // 305: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 308: iload_2 + // 309: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 312: ldc_w 1503 + // 315: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 318: iconst_0 + // 319: invokevirtual 533 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 322: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 325: new 369 java/lang/StringBuilder + // 328: dup + // 329: invokespecial 370 java/lang/StringBuilder: ()V + // 332: ldc 73 + // 334: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 337: aload_0 + // 338: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 341: getfield 390 oicq/wlogin_sdk/request/t:f J + // 344: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 347: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 350: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 353: goto +2339 -> 2692 + // 356: iload 13 + // 358: ifeq +322 -> 680 + // 361: iload 13 + // 363: istore 14 + // 365: new 669 java/net/URL + // 368: dup + // 369: new 369 java/lang/StringBuilder + // 372: dup + // 373: invokespecial 370 java/lang/StringBuilder: ()V + // 376: ldc_w 671 + // 379: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 382: aload 20 + // 384: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 387: ldc_w 1505 + // 390: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 393: iload_2 + // 394: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 397: ldc_w 1507 + // 400: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 403: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 406: invokespecial 675 java/net/URL: (Ljava/lang/String;)V + // 409: astore 20 + // 411: new 369 java/lang/StringBuilder + // 414: dup + // 415: invokespecial 370 java/lang/StringBuilder: ()V + // 418: ldc_w 1509 + // 421: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 424: iload 13 + // 426: invokevirtual 533 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 429: ldc_w 1511 + // 432: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 435: aload 20 + // 437: invokevirtual 922 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 440: ldc_w 1513 + // 443: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 446: aload 23 + // 448: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 451: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 454: new 369 java/lang/StringBuilder + // 457: dup + // 458: invokespecial 370 java/lang/StringBuilder: ()V + // 461: ldc 73 + // 463: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 466: aload_0 + // 467: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 470: getfield 390 oicq/wlogin_sdk/request/t:f J + // 473: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 476: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 479: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 482: aload 20 + // 484: invokevirtual 679 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 487: checkcast 681 java/net/HttpURLConnection + // 490: astore 20 + // 492: aload 20 + // 494: ldc_w 683 + // 497: invokevirtual 686 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 500: iload 13 + // 502: ifeq +13 -> 515 + // 505: aload 20 + // 507: ldc_w 1515 + // 510: aload 23 + // 512: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 515: aload 20 + // 517: ldc_w 693 + // 520: ldc_w 695 + // 523: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 526: aload 20 + // 528: ldc_w 1517 + // 531: ldc_w 1519 + // 534: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 537: aload 20 + // 539: ldc_w 688 + // 542: aload 24 + // 544: arraylength + // 545: invokestatic 1521 java/lang/String:valueOf (I)Ljava/lang/String; + // 548: invokevirtual 691 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 551: aload 20 + // 553: aload_0 + // 554: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 557: getfield 520 oicq/wlogin_sdk/request/t:l I + // 560: invokevirtual 699 java/net/HttpURLConnection:setConnectTimeout (I)V + // 563: aload 20 + // 565: aload_0 + // 566: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 569: getfield 520 oicq/wlogin_sdk/request/t:l I + // 572: invokevirtual 702 java/net/HttpURLConnection:setReadTimeout (I)V + // 575: aload 20 + // 577: iconst_1 + // 578: invokevirtual 706 java/net/HttpURLConnection:setDoOutput (Z)V + // 581: aload 20 + // 583: iconst_1 + // 584: invokevirtual 709 java/net/HttpURLConnection:setDoInput (Z)V + // 587: ldc_w 1523 + // 590: new 369 java/lang/StringBuilder + // 593: dup + // 594: invokespecial 370 java/lang/StringBuilder: ()V + // 597: ldc 73 + // 599: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 602: aload_0 + // 603: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 606: getfield 390 oicq/wlogin_sdk/request/t:f J + // 609: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 612: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 615: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 618: aload 20 + // 620: aload_0 + // 621: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 624: getfield 520 oicq/wlogin_sdk/request/t:l I + // 627: i2l + // 628: invokestatic 714 oicq/wlogin_sdk/request/h:a (Ljava/net/HttpURLConnection;J)Z + // 631: ifne +230 -> 861 + // 634: ldc_w 1525 + // 637: new 369 java/lang/StringBuilder + // 640: dup + // 641: invokespecial 370 java/lang/StringBuilder: ()V + // 644: ldc 73 + // 646: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 649: aload_0 + // 650: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 653: getfield 390 oicq/wlogin_sdk/request/t:f J + // 656: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 659: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 662: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 665: iload_1 + // 666: iconst_1 + // 667: iadd + // 668: istore_1 + // 669: sipush -1000 + // 672: istore_2 + // 673: iload 15 + // 675: istore 14 + // 677: goto -585 -> 92 + // 680: iload 13 + // 682: istore 14 + // 684: aload_0 + // 685: aload 23 + // 687: iconst_0 + // 688: aload_0 + // 689: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 692: getfield 520 oicq/wlogin_sdk/request/t:l I + // 695: i2l + // 696: invokestatic 1530 oicq/wlogin_sdk/request/a:a (Ljava/lang/String;IJ)Ljava/net/InetSocketAddress; + // 699: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 702: iload 13 + // 704: istore 14 + // 706: aload_0 + // 707: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 710: ifnull +1967 -> 2677 + // 713: iload 13 + // 715: istore 14 + // 717: aload_0 + // 718: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 721: invokevirtual 200 java/net/InetSocketAddress:getAddress ()Ljava/net/InetAddress; + // 724: invokevirtual 206 java/net/InetAddress:getHostAddress ()Ljava/lang/String; + // 727: astore 21 + // 729: iload 13 + // 731: istore 14 + // 733: aload 17 + // 735: aload 21 + // 737: invokevirtual 1533 java/lang/String:equals (Ljava/lang/Object;)Z + // 740: ifeq +57 -> 797 + // 743: iload 13 + // 745: istore 14 + // 747: new 410 java/lang/Exception + // 750: dup + // 751: new 369 java/lang/StringBuilder + // 754: dup + // 755: invokespecial 370 java/lang/StringBuilder: ()V + // 758: ldc_w 1535 + // 761: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 764: aload 17 + // 766: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 769: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 772: invokespecial 1536 java/lang/Exception: (Ljava/lang/String;)V + // 775: athrow + // 776: astore 20 + // 778: iload 14 + // 780: istore 13 + // 782: sipush -1000 + // 785: istore_2 + // 786: iload_1 + // 787: iconst_1 + // 788: iadd + // 789: istore_1 + // 790: iload 15 + // 792: istore 14 + // 794: goto -702 -> 92 + // 797: aload 21 + // 799: astore 20 + // 801: aload_0 + // 802: aconst_null + // 803: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 806: aload 21 + // 808: astore 22 + // 810: aload 21 + // 812: astore 17 + // 814: aload 17 + // 816: astore 20 + // 818: new 669 java/net/URL + // 821: dup + // 822: new 369 java/lang/StringBuilder + // 825: dup + // 826: invokespecial 370 java/lang/StringBuilder: ()V + // 829: ldc_w 671 + // 832: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 835: aload 22 + // 837: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 840: ldc_w 1507 + // 843: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 846: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 849: invokespecial 675 java/net/URL: (Ljava/lang/String;)V + // 852: astore 21 + // 854: aload 21 + // 856: astore 20 + // 858: goto -447 -> 411 + // 861: ldc_w 1538 + // 864: new 369 java/lang/StringBuilder + // 867: dup + // 868: invokespecial 370 java/lang/StringBuilder: ()V + // 871: ldc 73 + // 873: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 876: aload_0 + // 877: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 880: getfield 390 oicq/wlogin_sdk/request/t:f J + // 883: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 886: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 889: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 892: aload 20 + // 894: invokevirtual 723 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 897: astore 21 + // 899: aload 21 + // 901: aload 24 + // 903: iconst_0 + // 904: aload 24 + // 906: arraylength + // 907: invokevirtual 1539 java/io/OutputStream:write ([BII)V + // 910: aload 21 + // 912: invokevirtual 1542 java/io/OutputStream:flush ()V + // 915: aload 20 + // 917: invokevirtual 734 java/net/HttpURLConnection:getResponseCode ()I + // 920: istore_2 + // 921: new 369 java/lang/StringBuilder + // 924: dup + // 925: invokespecial 370 java/lang/StringBuilder: ()V + // 928: ldc_w 1544 + // 931: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 934: iload_2 + // 935: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 938: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 941: new 369 java/lang/StringBuilder + // 944: dup + // 945: invokespecial 370 java/lang/StringBuilder: ()V + // 948: ldc 73 + // 950: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 953: aload_0 + // 954: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 957: getfield 390 oicq/wlogin_sdk/request/t:f J + // 960: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 963: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 966: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 969: sipush 200 + // 972: iload_2 + // 973: if_icmpeq +18 -> 991 + // 976: iload_1 + // 977: iconst_1 + // 978: iadd + // 979: istore_1 + // 980: sipush -1000 + // 983: istore_2 + // 984: iload 15 + // 986: istore 14 + // 988: goto -896 -> 92 + // 991: aload 20 + // 993: invokevirtual 742 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 996: astore 21 + // 998: aload 18 + // 1000: astore 20 + // 1002: aload 19 + // 1004: astore 18 + // 1006: aload 17 + // 1008: astore 19 + // 1010: aload 20 + // 1012: astore 17 + // 1014: aload 17 + // 1016: astore 20 + // 1018: iload_1 + // 1019: istore_2 + // 1020: ldc_w 1546 + // 1023: new 369 java/lang/StringBuilder + // 1026: dup + // 1027: invokespecial 370 java/lang/StringBuilder: ()V + // 1030: ldc 73 + // 1032: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1035: aload_0 + // 1036: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1039: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1042: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1045: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1048: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1051: iconst_0 + // 1052: istore 5 + // 1054: iconst_0 + // 1055: istore 6 + // 1057: aload 17 + // 1059: astore 20 + // 1061: iload_1 + // 1062: istore_2 + // 1063: iload 6 + // 1065: aload_0 + // 1066: getfield 91 oicq/wlogin_sdk/request/j:e I + // 1069: iconst_1 + // 1070: iadd + // 1071: if_icmpge +36 -> 1107 + // 1074: aload 17 + // 1076: astore 20 + // 1078: iload_1 + // 1079: istore_2 + // 1080: aload 21 + // 1082: aload_0 + // 1083: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 1086: iload 6 + // 1088: aload_0 + // 1089: getfield 91 oicq/wlogin_sdk/request/j:e I + // 1092: iconst_1 + // 1093: iadd + // 1094: iload 6 + // 1096: isub + // 1097: invokevirtual 1548 java/io/InputStream:read ([BII)I + // 1100: istore 5 + // 1102: iload 5 + // 1104: ifge +804 -> 1908 + // 1107: iload 5 + // 1109: ifge +809 -> 1918 + // 1112: sipush -1000 + // 1115: istore 5 + // 1117: iload_1 + // 1118: iconst_1 + // 1119: iadd + // 1120: istore_1 + // 1121: aload 17 + // 1123: astore 20 + // 1125: iload 15 + // 1127: ifne +42 -> 1169 + // 1130: aload 17 + // 1132: astore 20 + // 1134: iload_1 + // 1135: istore_2 + // 1136: aload 17 + // 1138: invokevirtual 1551 java/net/Socket:close ()V + // 1141: aload 17 + // 1143: astore 20 + // 1145: iload_1 + // 1146: istore_2 + // 1147: aload_0 + // 1148: aconst_null + // 1149: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1152: aconst_null + // 1153: astore 20 + // 1155: aconst_null + // 1156: astore 17 + // 1158: iload_1 + // 1159: istore_2 + // 1160: aload_0 + // 1161: aconst_null + // 1162: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 1165: aload 17 + // 1167: astore 20 + // 1169: aload 19 + // 1171: astore 17 + // 1173: aload 18 + // 1175: astore 19 + // 1177: iload 5 + // 1179: istore_2 + // 1180: iload 15 + // 1182: istore 14 + // 1184: aload 20 + // 1186: astore 18 + // 1188: goto -1096 -> 92 + // 1191: new 369 java/lang/StringBuilder + // 1194: dup + // 1195: invokespecial 370 java/lang/StringBuilder: ()V + // 1198: ldc_w 1555 + // 1201: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1204: iload_1 + // 1205: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 1208: ldc_w 1486 + // 1211: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1214: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1217: new 369 java/lang/StringBuilder + // 1220: dup + // 1221: invokespecial 370 java/lang/StringBuilder: ()V + // 1224: ldc 73 + // 1226: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1229: aload_0 + // 1230: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1233: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1236: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1239: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1242: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1245: aload 18 + // 1247: ifnonnull +1427 -> 2674 + // 1250: ldc 73 + // 1252: astore 20 + // 1254: iconst_1 + // 1255: istore_2 + // 1256: iconst_1 + // 1257: istore 4 + // 1259: aload_0 + // 1260: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1263: ifnonnull +98 -> 1361 + // 1266: aload_0 + // 1267: iload_1 + // 1268: iload 15 + // 1270: invokevirtual 1488 oicq/wlogin_sdk/request/j:a (IZ)Ljava/lang/String; + // 1273: astore 20 + // 1275: new 369 java/lang/StringBuilder + // 1278: dup + // 1279: invokespecial 370 java/lang/StringBuilder: ()V + // 1282: ldc_w 1557 + // 1285: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1288: aload 20 + // 1290: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1293: ldc_w 1559 + // 1296: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1299: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1302: new 369 java/lang/StringBuilder + // 1305: dup + // 1306: invokespecial 370 java/lang/StringBuilder: ()V + // 1309: ldc 73 + // 1311: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1314: aload_0 + // 1315: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1318: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1321: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1324: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1327: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1330: aload_0 + // 1331: aload_0 + // 1332: iload 15 + // 1334: invokevirtual 159 oicq/wlogin_sdk/request/j:c (Z)I + // 1337: putfield 115 oicq/wlogin_sdk/request/j:q I + // 1340: aload_0 + // 1341: aload 20 + // 1343: aload_0 + // 1344: getfield 115 oicq/wlogin_sdk/request/j:q I + // 1347: aload_0 + // 1348: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1351: getfield 520 oicq/wlogin_sdk/request/t:l I + // 1354: i2l + // 1355: invokestatic 1530 oicq/wlogin_sdk/request/a:a (Ljava/lang/String;IJ)Ljava/net/InetSocketAddress; + // 1358: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1361: aload_0 + // 1362: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1365: ifnull +21 -> 1386 + // 1368: aload 19 + // 1370: aload_0 + // 1371: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1374: invokevirtual 200 java/net/InetSocketAddress:getAddress ()Ljava/net/InetAddress; + // 1377: invokevirtual 206 java/net/InetAddress:getHostAddress ()Ljava/lang/String; + // 1380: invokevirtual 1533 java/lang/String:equals (Ljava/lang/Object;)Z + // 1383: ifeq +149 -> 1532 + // 1386: aload_0 + // 1387: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1390: ifnonnull +86 -> 1476 + // 1393: new 369 java/lang/StringBuilder + // 1396: dup + // 1397: invokespecial 370 java/lang/StringBuilder: ()V + // 1400: ldc_w 1557 + // 1403: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1406: aload 20 + // 1408: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1411: ldc_w 1561 + // 1414: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1417: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1420: new 369 java/lang/StringBuilder + // 1423: dup + // 1424: invokespecial 370 java/lang/StringBuilder: ()V + // 1427: ldc 73 + // 1429: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1432: aload_0 + // 1433: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1436: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1439: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1442: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1445: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1448: sipush -1007 + // 1451: istore_2 + // 1452: iload_1 + // 1453: iconst_1 + // 1454: iadd + // 1455: istore_1 + // 1456: aload_0 + // 1457: aconst_null + // 1458: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1461: aconst_null + // 1462: astore 18 + // 1464: aload_0 + // 1465: aconst_null + // 1466: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 1469: iload 15 + // 1471: istore 14 + // 1473: goto -1381 -> 92 + // 1476: new 369 java/lang/StringBuilder + // 1479: dup + // 1480: invokespecial 370 java/lang/StringBuilder: ()V + // 1483: ldc_w 1563 + // 1486: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1489: aload 19 + // 1491: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1494: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1497: new 369 java/lang/StringBuilder + // 1500: dup + // 1501: invokespecial 370 java/lang/StringBuilder: ()V + // 1504: ldc 73 + // 1506: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1509: aload_0 + // 1510: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1513: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1516: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1519: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1522: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1525: sipush -1000 + // 1528: istore_2 + // 1529: goto -77 -> 1452 + // 1532: aload_0 + // 1533: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1536: invokevirtual 200 java/net/InetSocketAddress:getAddress ()Ljava/net/InetAddress; + // 1539: invokevirtual 206 java/net/InetAddress:getHostAddress ()Ljava/lang/String; + // 1542: astore 19 + // 1544: new 369 java/lang/StringBuilder + // 1547: dup + // 1548: invokespecial 370 java/lang/StringBuilder: ()V + // 1551: ldc_w 1557 + // 1554: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1557: aload 20 + // 1559: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1562: ldc_w 1565 + // 1565: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1568: aload_0 + // 1569: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1572: invokevirtual 1566 java/net/InetSocketAddress:toString ()Ljava/lang/String; + // 1575: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1578: ldc_w 1568 + // 1581: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1584: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1587: new 369 java/lang/StringBuilder + // 1590: dup + // 1591: invokespecial 370 java/lang/StringBuilder: ()V + // 1594: ldc 73 + // 1596: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1599: aload_0 + // 1600: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1603: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1606: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1609: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1612: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1615: iload_2 + // 1616: istore 4 + // 1618: aload 18 + // 1620: ifnonnull +1051 -> 2671 + // 1623: new 369 java/lang/StringBuilder + // 1626: dup + // 1627: invokespecial 370 java/lang/StringBuilder: ()V + // 1630: ldc_w 1570 + // 1633: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1636: aload_0 + // 1637: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1640: invokevirtual 922 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 1643: ldc_w 1559 + // 1646: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1649: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1652: new 369 java/lang/StringBuilder + // 1655: dup + // 1656: invokespecial 370 java/lang/StringBuilder: ()V + // 1659: ldc 73 + // 1661: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1664: aload_0 + // 1665: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1668: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1671: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1674: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1677: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1680: new 1550 java/net/Socket + // 1683: dup + // 1684: invokespecial 1571 java/net/Socket: ()V + // 1687: astore 18 + // 1689: aload_0 + // 1690: aload 18 + // 1692: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 1695: aload 18 + // 1697: aload_0 + // 1698: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1701: aload_0 + // 1702: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1705: getfield 520 oicq/wlogin_sdk/request/t:l I + // 1708: invokevirtual 1575 java/net/Socket:connect (Ljava/net/SocketAddress;I)V + // 1711: aload 18 + // 1713: aload_0 + // 1714: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1717: getfield 520 oicq/wlogin_sdk/request/t:l I + // 1720: invokevirtual 1578 java/net/Socket:setSoTimeout (I)V + // 1723: aload 18 + // 1725: aload_0 + // 1726: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 1729: arraylength + // 1730: invokevirtual 1581 java/net/Socket:setReceiveBufferSize (I)V + // 1733: new 369 java/lang/StringBuilder + // 1736: dup + // 1737: invokespecial 370 java/lang/StringBuilder: ()V + // 1740: ldc_w 1570 + // 1743: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1746: aload_0 + // 1747: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1750: invokevirtual 922 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 1753: ldc_w 1583 + // 1756: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1759: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1762: new 369 java/lang/StringBuilder + // 1765: dup + // 1766: invokespecial 370 java/lang/StringBuilder: ()V + // 1769: ldc 73 + // 1771: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1774: aload_0 + // 1775: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1778: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1781: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1784: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1787: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1790: ldc_w 1585 + // 1793: new 369 java/lang/StringBuilder + // 1796: dup + // 1797: invokespecial 370 java/lang/StringBuilder: ()V + // 1800: ldc 73 + // 1802: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 1805: aload_0 + // 1806: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 1809: getfield 390 oicq/wlogin_sdk/request/t:f J + // 1812: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 1815: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 1818: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 1821: aload 18 + // 1823: invokevirtual 1586 java/net/Socket:getOutputStream ()Ljava/io/OutputStream; + // 1826: astore 20 + // 1828: aload 20 + // 1830: aload 24 + // 1832: iconst_0 + // 1833: aload 24 + // 1835: arraylength + // 1836: invokevirtual 1539 java/io/OutputStream:write ([BII)V + // 1839: aload 20 + // 1841: invokevirtual 1542 java/io/OutputStream:flush ()V + // 1844: aload 18 + // 1846: invokevirtual 1587 java/net/Socket:getInputStream ()Ljava/io/InputStream; + // 1849: astore 22 + // 1851: aload 17 + // 1853: astore 20 + // 1855: aload 19 + // 1857: astore 21 + // 1859: aload 18 + // 1861: astore 17 + // 1863: aload 20 + // 1865: astore 19 + // 1867: aload 21 + // 1869: astore 18 + // 1871: aload 22 + // 1873: astore 21 + // 1875: goto -861 -> 1014 + // 1878: astore 18 + // 1880: iload_1 + // 1881: iconst_1 + // 1882: iadd + // 1883: istore_1 + // 1884: aload_0 + // 1885: aconst_null + // 1886: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1889: aload_0 + // 1890: aconst_null + // 1891: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 1894: sipush -1000 + // 1897: istore_2 + // 1898: aconst_null + // 1899: astore 18 + // 1901: iload 15 + // 1903: istore 14 + // 1905: goto -1813 -> 92 + // 1908: iload 6 + // 1910: iload 5 + // 1912: iadd + // 1913: istore 6 + // 1915: goto -858 -> 1057 + // 1918: aload 17 + // 1920: astore 20 + // 1922: iload_1 + // 1923: istore_2 + // 1924: aload_0 + // 1925: aload_0 + // 1926: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 1929: invokevirtual 1589 oicq/wlogin_sdk/request/j:b ([B)I + // 1932: istore 6 + // 1934: iload 6 + // 1936: istore_2 + // 1937: aload 17 + // 1939: astore 20 + // 1941: iload_1 + // 1942: istore_3 + // 1943: iload_2 + // 1944: aload_0 + // 1945: getfield 91 oicq/wlogin_sdk/request/j:e I + // 1948: iconst_1 + // 1949: iadd + // 1950: if_icmpgt +58 -> 2008 + // 1953: iload_1 + // 1954: iconst_1 + // 1955: iadd + // 1956: istore_1 + // 1957: aload 17 + // 1959: astore 20 + // 1961: iload 15 + // 1963: ifne +732 -> 2695 + // 1966: aload 17 + // 1968: astore 20 + // 1970: iload_1 + // 1971: istore_3 + // 1972: aload 17 + // 1974: invokevirtual 1551 java/net/Socket:close ()V + // 1977: aload 17 + // 1979: astore 20 + // 1981: iload_1 + // 1982: istore_3 + // 1983: aload_0 + // 1984: aconst_null + // 1985: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 1988: aconst_null + // 1989: astore 17 + // 1991: aconst_null + // 1992: astore 20 + // 1994: iload_1 + // 1995: istore_3 + // 1996: aload_0 + // 1997: aconst_null + // 1998: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 2001: aload 17 + // 2003: astore 20 + // 2005: goto +690 -> 2695 + // 2008: aload 17 + // 2010: astore 20 + // 2012: iload_1 + // 2013: istore_3 + // 2014: iload_2 + // 2015: aload_0 + // 2016: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 2019: arraylength + // 2020: if_icmplt +58 -> 2078 + // 2023: iload_1 + // 2024: iconst_1 + // 2025: iadd + // 2026: istore_1 + // 2027: aload 17 + // 2029: astore 20 + // 2031: iload 15 + // 2033: ifne +687 -> 2720 + // 2036: aload 17 + // 2038: astore 20 + // 2040: iload_1 + // 2041: istore_3 + // 2042: aload 17 + // 2044: invokevirtual 1551 java/net/Socket:close ()V + // 2047: aload 17 + // 2049: astore 20 + // 2051: iload_1 + // 2052: istore_3 + // 2053: aload_0 + // 2054: aconst_null + // 2055: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 2058: aconst_null + // 2059: astore 17 + // 2061: aconst_null + // 2062: astore 20 + // 2064: iload_1 + // 2065: istore_3 + // 2066: aload_0 + // 2067: aconst_null + // 2068: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 2071: aload 17 + // 2073: astore 20 + // 2075: goto +645 -> 2720 + // 2078: aload 17 + // 2080: astore 20 + // 2082: iload_1 + // 2083: istore_3 + // 2084: aload_0 + // 2085: getfield 91 oicq/wlogin_sdk/request/j:e I + // 2088: iconst_1 + // 2089: iadd + // 2090: istore 7 + // 2092: iload_2 + // 2093: iload 7 + // 2095: isub + // 2096: istore 6 + // 2098: iload 5 + // 2100: istore 8 + // 2102: iload 6 + // 2104: ifle +34 -> 2138 + // 2107: aload 17 + // 2109: astore 20 + // 2111: iload_1 + // 2112: istore_3 + // 2113: aload 21 + // 2115: aload_0 + // 2116: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 2119: iload 7 + // 2121: iload 6 + // 2123: invokevirtual 1548 java/io/InputStream:read ([BII)I + // 2126: istore 5 + // 2128: iload 5 + // 2130: iconst_m1 + // 2131: if_icmpne +108 -> 2239 + // 2134: iload 5 + // 2136: istore 8 + // 2138: iload_2 + // 2139: istore 5 + // 2141: lload 9 + // 2143: lstore 11 + // 2145: iload 4 + // 2147: istore_3 + // 2148: iload 15 + // 2150: istore 14 + // 2152: iload 13 + // 2154: istore 16 + // 2156: iload 8 + // 2158: iconst_m1 + // 2159: if_icmpne +185 -> 2344 + // 2162: iload_1 + // 2163: iconst_1 + // 2164: iadd + // 2165: istore_1 + // 2166: aload 17 + // 2168: astore 20 + // 2170: iload 15 + // 2172: ifne +42 -> 2214 + // 2175: aload 17 + // 2177: astore 20 + // 2179: iload_1 + // 2180: istore_3 + // 2181: aload 17 + // 2183: invokevirtual 1551 java/net/Socket:close ()V + // 2186: aload 17 + // 2188: astore 20 + // 2190: iload_1 + // 2191: istore_3 + // 2192: aload_0 + // 2193: aconst_null + // 2194: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 2197: aconst_null + // 2198: astore 20 + // 2200: aconst_null + // 2201: astore 17 + // 2203: iload_1 + // 2204: istore_3 + // 2205: aload_0 + // 2206: aconst_null + // 2207: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 2210: aload 17 + // 2212: astore 20 + // 2214: iload_2 + // 2215: istore_3 + // 2216: sipush -1000 + // 2219: istore_2 + // 2220: aload 19 + // 2222: astore 17 + // 2224: aload 18 + // 2226: astore 19 + // 2228: iload 15 + // 2230: istore 14 + // 2232: aload 20 + // 2234: astore 18 + // 2236: goto -2144 -> 92 + // 2239: iload 7 + // 2241: iload 5 + // 2243: iadd + // 2244: istore 7 + // 2246: iload 6 + // 2248: iload 5 + // 2250: isub + // 2251: istore 6 + // 2253: goto -155 -> 2098 + // 2256: astore 17 + // 2258: iload_2 + // 2259: istore_1 + // 2260: iload_3 + // 2261: istore_2 + // 2262: iload_1 + // 2263: iconst_1 + // 2264: iadd + // 2265: istore_1 + // 2266: aload 20 + // 2268: astore 17 + // 2270: iload 15 + // 2272: ifne +29 -> 2301 + // 2275: aload 20 + // 2277: invokevirtual 1592 java/net/Socket:isConnected ()Z + // 2280: ifeq +8 -> 2288 + // 2283: aload 20 + // 2285: invokevirtual 1551 java/net/Socket:close ()V + // 2288: aload_0 + // 2289: aconst_null + // 2290: putfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 2293: aconst_null + // 2294: astore 17 + // 2296: aload_0 + // 2297: aconst_null + // 2298: invokevirtual 1553 oicq/wlogin_sdk/request/j:a (Ljava/net/Socket;)V + // 2301: aload 17 + // 2303: astore 20 + // 2305: iload_2 + // 2306: istore_3 + // 2307: sipush -1000 + // 2310: istore_2 + // 2311: aload 19 + // 2313: astore 17 + // 2315: aload 18 + // 2317: astore 19 + // 2319: iload 15 + // 2321: istore 14 + // 2323: aload 20 + // 2325: astore 18 + // 2327: goto -2235 -> 92 + // 2330: iload_3 + // 2331: istore 5 + // 2333: iload 13 + // 2335: istore 16 + // 2337: iload 4 + // 2339: istore_3 + // 2340: lload 9 + // 2342: lstore 11 + // 2344: iload_1 + // 2345: bipush 6 + // 2347: if_icmplt +252 -> 2599 + // 2350: sipush -1000 + // 2353: istore_2 + // 2354: iload_2 + // 2355: ifne +13 -> 2368 + // 2358: aload_0 + // 2359: aload_0 + // 2360: getfield 117 oicq/wlogin_sdk/request/j:r [B + // 2363: iload 5 + // 2365: invokevirtual 560 oicq/wlogin_sdk/request/j:b ([BI)V + // 2368: iload_2 + // 2369: ifne +170 -> 2539 + // 2372: aload_0 + // 2373: getfield 119 oicq/wlogin_sdk/request/j:s I + // 2376: sipush 2066 + // 2379: if_icmpeq +160 -> 2539 + // 2382: new 128 oicq/wlogin_sdk/report/report_t3 + // 2385: dup + // 2386: invokespecial 129 oicq/wlogin_sdk/report/report_t3: ()V + // 2389: astore 17 + // 2391: aload 17 + // 2393: aload_0 + // 2394: getfield 119 oicq/wlogin_sdk/request/j:s I + // 2397: putfield 132 oicq/wlogin_sdk/report/report_t3:_cmd I + // 2400: aload 17 + // 2402: aload_0 + // 2403: getfield 121 oicq/wlogin_sdk/request/j:t I + // 2406: putfield 135 oicq/wlogin_sdk/report/report_t3:_sub I + // 2409: aload 17 + // 2411: iload_2 + // 2412: putfield 138 oicq/wlogin_sdk/report/report_t3:_rst2 I + // 2415: aload 17 + // 2417: invokestatic 144 java/lang/System:currentTimeMillis ()J + // 2420: lload 11 + // 2422: lsub + // 2423: l2i + // 2424: putfield 147 oicq/wlogin_sdk/report/report_t3:_used I + // 2427: aload 17 + // 2429: iload_1 + // 2430: putfield 150 oicq/wlogin_sdk/report/report_t3:_try I + // 2433: aload 17 + // 2435: getstatic 77 oicq/wlogin_sdk/request/j:C Ljava/lang/String; + // 2438: putfield 153 oicq/wlogin_sdk/report/report_t3:_host Ljava/lang/String; + // 2441: aload 17 + // 2443: getfield 153 oicq/wlogin_sdk/report/report_t3:_host Ljava/lang/String; + // 2446: ifnonnull +10 -> 2456 + // 2449: aload 17 + // 2451: ldc 73 + // 2453: putfield 153 oicq/wlogin_sdk/report/report_t3:_host Ljava/lang/String; + // 2456: aload_0 + // 2457: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 2460: ifnonnull +144 -> 2604 + // 2463: aload 17 + // 2465: ldc 73 + // 2467: putfield 156 oicq/wlogin_sdk/report/report_t3:_ip Ljava/lang/String; + // 2470: aload 17 + // 2472: aload_0 + // 2473: getfield 115 oicq/wlogin_sdk/request/j:q I + // 2476: putfield 162 oicq/wlogin_sdk/report/report_t3:_port I + // 2479: aload 17 + // 2481: iload_3 + // 2482: putfield 165 oicq/wlogin_sdk/report/report_t3:_conn I + // 2485: aload 17 + // 2487: getstatic 169 oicq/wlogin_sdk/request/t:B I + // 2490: putfield 172 oicq/wlogin_sdk/report/report_t3:_net I + // 2493: aload 17 + // 2495: ldc 73 + // 2497: putfield 175 oicq/wlogin_sdk/report/report_t3:_str Ljava/lang/String; + // 2500: aload 17 + // 2502: aload 24 + // 2504: arraylength + // 2505: putfield 178 oicq/wlogin_sdk/report/report_t3:_slen I + // 2508: aload 17 + // 2510: iload 5 + // 2512: putfield 181 oicq/wlogin_sdk/report/report_t3:_rlen I + // 2515: iload 14 + // 2517: ifeq +114 -> 2631 + // 2520: iload 16 + // 2522: ifeq +100 -> 2622 + // 2525: aload 17 + // 2527: iconst_2 + // 2528: putfield 184 oicq/wlogin_sdk/report/report_t3:_wap I + // 2531: getstatic 188 oicq/wlogin_sdk/request/t:ag Loicq/wlogin_sdk/report/report_t1; + // 2534: aload 17 + // 2536: invokevirtual 194 oicq/wlogin_sdk/report/report_t1:add_t3 (Loicq/wlogin_sdk/report/report_t3;)V + // 2539: new 369 java/lang/StringBuilder + // 2542: dup + // 2543: invokespecial 370 java/lang/StringBuilder: ()V + // 2546: aload_0 + // 2547: invokevirtual 512 java/lang/Object:getClass ()Ljava/lang/Class; + // 2550: invokevirtual 517 java/lang/Class:getName ()Ljava/lang/String; + // 2553: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2556: ldc_w 1594 + // 2559: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2562: iload_2 + // 2563: invokevirtual 379 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 2566: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2569: new 369 java/lang/StringBuilder + // 2572: dup + // 2573: invokespecial 370 java/lang/StringBuilder: ()V + // 2576: ldc 73 + // 2578: invokevirtual 376 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 2581: aload_0 + // 2582: getfield 215 oicq/wlogin_sdk/request/j:w Loicq/wlogin_sdk/request/t; + // 2585: getfield 390 oicq/wlogin_sdk/request/t:f J + // 2588: invokevirtual 393 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 2591: invokevirtual 388 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 2594: invokestatic 287 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 2597: iload_2 + // 2598: ireturn + // 2599: iconst_0 + // 2600: istore_2 + // 2601: goto -247 -> 2354 + // 2604: aload 17 + // 2606: aload_0 + // 2607: getfield 113 oicq/wlogin_sdk/request/j:p Ljava/net/InetSocketAddress; + // 2610: invokevirtual 200 java/net/InetSocketAddress:getAddress ()Ljava/net/InetAddress; + // 2613: invokevirtual 206 java/net/InetAddress:getHostAddress ()Ljava/lang/String; + // 2616: putfield 156 oicq/wlogin_sdk/report/report_t3:_ip Ljava/lang/String; + // 2619: goto -149 -> 2470 + // 2622: aload 17 + // 2624: iconst_1 + // 2625: putfield 184 oicq/wlogin_sdk/report/report_t3:_wap I + // 2628: goto -97 -> 2531 + // 2631: aload 17 + // 2633: iconst_0 + // 2634: putfield 184 oicq/wlogin_sdk/report/report_t3:_wap I + // 2637: goto -106 -> 2531 + // 2640: astore 17 + // 2642: goto -354 -> 2288 + // 2645: astore 17 + // 2647: iload_3 + // 2648: istore_1 + // 2649: goto -387 -> 2262 + // 2652: astore 21 + // 2654: goto -1293 -> 1361 + // 2657: astore 17 + // 2659: aload 20 + // 2661: astore 17 + // 2663: goto -1881 -> 782 + // 2666: astore 20 + // 2668: goto -1886 -> 782 + // 2671: goto -881 -> 1790 + // 2674: goto -1056 -> 1618 + // 2677: aload 23 + // 2679: astore 22 + // 2681: goto -1867 -> 814 + // 2684: aconst_null + // 2685: astore 20 + // 2687: iconst_m1 + // 2688: istore_2 + // 2689: goto -2333 -> 356 + // 2692: goto -2336 -> 356 + // 2695: iload_2 + // 2696: istore_3 + // 2697: sipush -1000 + // 2700: istore_2 + // 2701: aload 19 + // 2703: astore 17 + // 2705: aload 18 + // 2707: astore 19 + // 2709: iload 15 + // 2711: istore 14 + // 2713: aload 20 + // 2715: astore 18 + // 2717: goto -2625 -> 92 + // 2720: iload_2 + // 2721: istore_3 + // 2722: sipush -1000 + // 2725: istore_2 + // 2726: aload 19 + // 2728: astore 17 + // 2730: aload 18 + // 2732: astore 19 + // 2734: iload 15 + // 2736: istore 14 + // 2738: aload 20 + // 2740: astore 18 + // 2742: goto -2650 -> 92 + // Local variable table: + // start length slot name signature + // 0 2745 0 this j + // 65 2584 1 i1 int + // 63 2663 2 i2 int + // 61 2661 3 i3 int + // 82 2256 4 i4 int + // 1052 1459 5 i5 int + // 1055 1197 6 i6 int + // 2090 155 7 i7 int + // 2100 60 8 i8 int + // 67 2274 9 l1 long + // 2143 278 11 l2 long + // 79 2255 13 bool1 boolean + // 76 2661 14 bool2 boolean + // 114 2621 15 bool3 boolean + // 2154 367 16 bool4 boolean + // 90 2133 17 localObject1 Object + // 2256 1 17 localThrowable1 java.lang.Throwable + // 2268 364 17 localObject2 Object + // 2640 1 17 localException1 Exception + // 2645 1 17 localThrowable2 java.lang.Throwable + // 2657 1 17 localException2 Exception + // 2661 68 17 localObject3 Object + // 73 1797 18 localObject4 Object + // 1878 1 18 localThrowable3 java.lang.Throwable + // 1899 842 18 localObject5 Object + // 86 2647 19 localObject6 Object + // 246 373 20 localObject7 Object + // 776 1 20 localException3 Exception + // 799 1861 20 localObject8 Object + // 2666 1 20 localException4 Exception + // 2685 54 20 localObject9 Object + // 727 1387 21 localObject10 Object + // 2652 1 21 localException5 Exception + // 808 1872 22 localObject11 Object + // 220 2458 23 str String + // 58 2445 24 arrayOfByte byte[] + // Exception table: + // from to target type + // 226 234 776 java/lang/Exception + // 243 248 776 java/lang/Exception + // 252 256 776 java/lang/Exception + // 265 273 776 java/lang/Exception + // 284 353 776 java/lang/Exception + // 365 411 776 java/lang/Exception + // 684 702 776 java/lang/Exception + // 706 713 776 java/lang/Exception + // 717 729 776 java/lang/Exception + // 733 743 776 java/lang/Exception + // 747 776 776 java/lang/Exception + // 1623 1790 1878 java/lang/Throwable + // 1790 1851 1878 java/lang/Throwable + // 1020 1051 2256 java/lang/Throwable + // 1063 1074 2256 java/lang/Throwable + // 1080 1102 2256 java/lang/Throwable + // 1136 1141 2256 java/lang/Throwable + // 1147 1152 2256 java/lang/Throwable + // 1160 1165 2256 java/lang/Throwable + // 1924 1934 2256 java/lang/Throwable + // 2275 2288 2640 java/lang/Exception + // 1943 1953 2645 java/lang/Throwable + // 1972 1977 2645 java/lang/Throwable + // 1983 1988 2645 java/lang/Throwable + // 1996 2001 2645 java/lang/Throwable + // 2014 2023 2645 java/lang/Throwable + // 2042 2047 2645 java/lang/Throwable + // 2053 2058 2645 java/lang/Throwable + // 2066 2071 2645 java/lang/Throwable + // 2084 2092 2645 java/lang/Throwable + // 2113 2128 2645 java/lang/Throwable + // 2181 2186 2645 java/lang/Throwable + // 2192 2197 2645 java/lang/Throwable + // 2205 2210 2645 java/lang/Throwable + // 1330 1361 2652 java/lang/Exception + // 801 806 2657 java/lang/Exception + // 818 854 2657 java/lang/Exception + // 411 500 2666 java/lang/Exception + // 505 515 2666 java/lang/Exception + // 515 665 2666 java/lang/Exception + // 861 969 2666 java/lang/Exception + // 991 998 2666 java/lang/Exception + } + + public int f() + { + return t.b(this.w.h)._last_flowid; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/k.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/k.java new file mode 100755 index 00000000000..2cf2243a82c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/k.java @@ -0,0 +1,439 @@ +package oicq.wlogin_sdk.request; + +import java.util.ArrayList; +import java.util.List; +import oicq.wlogin_sdk.b.ab; +import oicq.wlogin_sdk.b.af; +import oicq.wlogin_sdk.b.ak; +import oicq.wlogin_sdk.b.al; +import oicq.wlogin_sdk.b.an; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.aq; +import oicq.wlogin_sdk.b.av; +import oicq.wlogin_sdk.b.az; +import oicq.wlogin_sdk.b.b; +import oicq.wlogin_sdk.b.bc; +import oicq.wlogin_sdk.b.bd; +import oicq.wlogin_sdk.b.bg; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.b.bl; +import oicq.wlogin_sdk.b.bt; +import oicq.wlogin_sdk.b.bx; +import oicq.wlogin_sdk.b.bz; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.ca; +import oicq.wlogin_sdk.b.cb; +import oicq.wlogin_sdk.b.ce; +import oicq.wlogin_sdk.b.cj; +import oicq.wlogin_sdk.b.ck; +import oicq.wlogin_sdk.b.cm; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.b.h; +import oicq.wlogin_sdk.b.i; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.tools.util; + +public class k + extends j +{ + public static boolean D = false; + public static byte[] E = new byte[0]; + public static byte[] F = new byte[0]; + public static byte[] G = new byte[0]; + + public k(t paramt) + { + this.s = 2064; + this.t = 9; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt2, int paramInt3, int paramInt4, long[] paramArrayOfLong, int paramInt5, long paramLong4, int paramInt6, int paramInt7, int paramInt8, int paramInt9, byte[] paramArrayOfByte4, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + Object localObject = t.b(this.w.h); + ((async_context)localObject)._tgtgt_key = util.get_rand_16byte(t.z); + byte[] arrayOfByte1 = ((async_context)localObject)._tgtgt_key; + localObject = ((async_context)localObject)._t104; + if (localObject == null) { + localObject = new f(); + } + for (;;) + { + int i = 0; + for (;;) + { + byte[] arrayOfByte2 = a(paramLong1, paramLong2, j, paramLong3, paramInt1, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, arrayOfByte1, paramInt2, null, null, paramInt3, paramInt4, paramArrayOfLong, paramInt5, paramLong4, paramInt6, paramInt7, paramInt8, paramInt9, paramArrayOfByte4, ((f)localObject).b(), t.C, paramWUserSigInfo._domains); + a(this.h, this.s, this.i, paramLong3, this.l, this.m, j, this.o, arrayOfByte2); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + paramLong3); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + + public int a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt2, int paramInt3, long[] paramArrayOfLong, int paramInt4, long paramLong4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, byte[] paramArrayOfByte4, WUserSigInfo paramWUserSigInfo) + { + int m = t.u; + f localf = t.b(this.w.h)._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + paramArrayOfByte2 = c(paramArrayOfByte2); + int j; + if (paramArrayOfByte2 == null) + { + j = -1014; + return j; + } + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(paramLong1, paramLong2, m, paramLong3, paramInt1, paramArrayOfByte1, null, null, null, 0, paramArrayOfByte2, paramArrayOfByte3, paramInt2, paramInt3, paramArrayOfLong, paramInt4, paramLong4, paramInt5, paramInt6, paramInt7, paramInt8, paramArrayOfByte4, localf.b(), t.C, paramWUserSigInfo._domains); + a(this.h, this.s, this.i, paramLong3, this.l, this.m, m, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + j = k; + if (k != 0) { + break; + } + j = b(); + util.LOGI("retry num:" + i + " ret:" + j, "" + paramLong3); + if (j != 180) { + return j; + } + if (i >= 1) { + return j; + } + i += 1; + } + } + } + + public byte[] a(long paramLong1, long paramLong2, int paramInt1, long paramLong3, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt3, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, int paramInt4, int paramInt5, long[] paramArrayOfLong, int paramInt6, long paramLong4, int paramInt7, int paramInt8, int paramInt9, int paramInt10, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, List paramList) + { + int[] arrayOfInt = new int[29]; + int[] tmp8_6 = arrayOfInt; + tmp8_6[0] = 24; + int[] tmp13_8 = tmp8_6; + tmp13_8[1] = 1; + int[] tmp17_13 = tmp13_8; + tmp17_13[2] = 262; + int[] tmp23_17 = tmp17_13; + tmp23_17[3] = 278; + int[] tmp29_23 = tmp23_17; + tmp29_23[4] = 256; + int[] tmp35_29 = tmp29_23; + tmp35_29[5] = 263; + int[] tmp41_35 = tmp35_29; + tmp41_35[6] = 264; + int[] tmp48_41 = tmp41_35; + tmp48_41[7] = 260; + int[] tmp55_48 = tmp48_41; + tmp55_48[8] = 322; + int[] tmp62_55 = tmp55_48; + tmp62_55[9] = 274; + int[] tmp69_62 = tmp62_55; + tmp69_62[10] = 324; + int[] tmp76_69 = tmp69_62; + tmp76_69[11] = 325; + int[] tmp83_76 = tmp76_69; + tmp83_76[12] = 327; + int[] tmp90_83 = tmp83_76; + tmp90_83[13] = 358; + int[] tmp97_90 = tmp90_83; + tmp97_90[14] = 362; + int[] tmp104_97 = tmp97_90; + tmp104_97[15] = 340; + int[] tmp111_104 = tmp104_97; + tmp111_104[16] = 321; + int[] tmp118_111 = tmp111_104; + tmp118_111[17] = 8; + int[] tmp124_118 = tmp118_111; + tmp124_118[18] = 363; + int[] tmp131_124 = tmp124_118; + tmp131_124[19] = 370; + int[] tmp138_131 = tmp131_124; + tmp138_131[20] = 389; + int[] tmp145_138 = tmp138_131; + tmp145_138[21] = 1024; + int[] tmp152_145 = tmp145_138; + tmp152_145[22] = 391; + int[] tmp159_152 = tmp152_145; + tmp159_152[23] = 392; + int[] tmp166_159 = tmp159_152; + tmp166_159[24] = 404; + int[] tmp173_166 = tmp166_159; + tmp173_166[25] = 401; + int[] tmp180_173 = tmp173_166; + tmp180_173[26] = 513; + int[] tmp187_180 = tmp180_173; + tmp187_180[27] = 514; + int[] tmp194_187 = tmp187_180; + tmp194_187[28] = 375; + tmp194_187; + async_context localasync_context = t.b(this.w.h); + ArrayList localArrayList = new ArrayList(); + int i = 0; + int k = arrayOfInt.length; + int j = 0; + int m; + Object localObject2; + Object localObject1; + if (j < k) + { + m = arrayOfInt[j]; + localObject2 = null; + switch (m) + { + default: + localObject1 = localObject2; + label500: + if (localObject1 != null) + { + localArrayList.add(localObject1); + i = localObject1.length + i; + } + break; + } + } + for (;;) + { + j += 1; + break; + localObject1 = new bt().a(paramLong1, paramInt1, paramLong3, paramInt2); + break label500; + localObject1 = new b().a(paramLong3, paramArrayOfByte1); + break label500; + localObject1 = new h(); + if ((paramArrayOfByte5 != null) && (paramArrayOfByte5.length > 0)) + { + ((h)localObject1).a(paramArrayOfByte5, paramArrayOfByte5.length); + localObject1 = ((h)localObject1).a(); + break label500; + } + localObject1 = ((h)localObject1).a(paramLong1, paramLong2, paramInt1, paramLong3, paramArrayOfByte2, paramArrayOfByte1, 1, paramArrayOfByte3, localasync_context._msalt, this.w.g.getBytes(), paramArrayOfByte4, t.S, t.y, paramInt3); + break label500; + localObject1 = new oicq.wlogin_sdk.b.t().a(paramInt4, paramInt5, paramArrayOfLong); + break label500; + localObject1 = new c().a(paramLong1, paramLong4, paramInt1, paramInt6); + break label500; + localObject1 = new i().a(paramInt7, paramInt8, paramInt9, paramInt10); + break label500; + localObject1 = localObject2; + if (paramArrayOfByte7 == null) { + break label500; + } + localObject1 = localObject2; + if (paramArrayOfByte7.length == 0) { + break label500; + } + localObject1 = new oicq.wlogin_sdk.b.j().a(paramArrayOfByte7); + break label500; + localObject1 = localObject2; + if (paramArrayOfByte8 == null) { + break label500; + } + localObject1 = localObject2; + if (paramArrayOfByte8.length == 0) { + break label500; + } + localObject1 = new f().a(paramArrayOfByte8); + break label500; + localObject1 = new al().a(paramArrayOfByte9); + break label500; + localObject1 = localObject2; + if (this.w.g == null) { + break label500; + } + localObject1 = localObject2; + if (util.check_uin_account(this.w.g).booleanValue()) { + break label500; + } + localObject1 = new q().a(this.w.g.getBytes()); + break label500; + localObject1 = new oicq.wlogin_sdk.b.k().a(t.K); + localObject2 = new ab(); + Object localObject3 = util.get_os_type(); + byte[] arrayOfByte1 = util.get_os_version(); + m = t.B; + byte[] arrayOfByte2 = t.A; + byte[] arrayOfByte3 = t.D; + localObject2 = ((ab)localObject2).a((byte[])localObject3, arrayOfByte1, m, arrayOfByte2, new byte[0], arrayOfByte3); + localObject3 = new af().a(t.R, t.S, t.T, t.W, t.G, t.y, t.N); + arrayOfByte1 = new bg().a(t.G); + localObject1 = new an().a((byte[])localObject1, (byte[])localObject2, (byte[])localObject3, arrayOfByte1, localasync_context._tgtgt_key); + break label500; + localObject1 = new ao().a(t.y); + break label500; + localObject1 = new aq().a(paramLong1, t.E, t.F); + break label500; + localObject1 = localObject2; + if ((paramInt4 & 0x80) == 0) { + break label500; + } + localObject1 = new az().b(t.v); + break label500; + localObject1 = localObject2; + if (paramArrayOfByte6 == null) { + break label500; + } + localObject1 = localObject2; + if (paramArrayOfByte6.length == 0) { + break label500; + } + localObject1 = new bc().a(paramArrayOfByte6); + break label500; + localObject1 = new av().b(this.w.i); + break label500; + localObject1 = new ak().b(t.A, t.B, t.D); + break label500; + localObject1 = new cr().a(0, t.s, 0); + break label500; + localObject1 = localObject2; + if (paramList == null) { + break label500; + } + localObject1 = localObject2; + if (paramList.size() == 0) { + break label500; + } + localObject1 = new bd().a(paramList); + break label500; + localObject1 = localObject2; + if (this.w.p == null) { + break label500; + } + localObject1 = localObject2; + if (this.w.p.length == 0) { + break label500; + } + localObject1 = new bi().a(this.w.p); + break label500; + localObject1 = localObject2; + if (paramInt3 != 3) { + break label500; + } + localObject1 = new bx().b(1); + break label500; + localObject3 = this.w.a(paramLong3, paramLong1); + localObject1 = localObject2; + if (localObject3 == null) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._G == null) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._G.length == 0) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._dpwd == null) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._dpwd.length == 0) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._randseed == null) { + break label500; + } + localObject1 = localObject2; + if (((WloginSigInfo)localObject3)._randseed.length == 0) { + break label500; + } + localObject1 = new cm().a(((WloginSigInfo)localObject3)._G, paramLong3, t.y, ((WloginSigInfo)localObject3)._dpwd, paramLong1, paramLong2, ((WloginSigInfo)localObject3)._randseed); + break label500; + localObject1 = localObject2; + if (t.L == null) { + break label500; + } + localObject1 = localObject2; + if (t.L.length == 0) { + break label500; + } + localObject1 = new bz().a(t.L); + break label500; + localObject1 = localObject2; + if (t.M == null) { + break label500; + } + localObject1 = localObject2; + if (t.M.length == 0) { + break label500; + } + localObject1 = new ca().a(t.M); + break label500; + localObject1 = localObject2; + if (t.J == null) { + break label500; + } + localObject1 = localObject2; + if (t.J.length == 0) { + break label500; + } + localObject1 = new ce().a(t.J); + break label500; + localObject1 = new cb().a(D); + break label500; + localObject1 = localObject2; + if (E == null) { + break label500; + } + localObject1 = localObject2; + if (E.length == 0) { + break label500; + } + localObject1 = new cj().a(E, F, "qq".getBytes(), G); + break label500; + localObject1 = localObject2; + if (t.P == null) { + break label500; + } + localObject1 = localObject2; + if (t.P.length == 0) { + break label500; + } + localObject1 = new ck().a(t.P, t.Q); + break label500; + localObject1 = new bl().a(1453167956L, "5.4.0.7"); + break label500; + paramArrayOfByte1 = new byte[i]; + paramInt3 = localArrayList.size(); + paramInt2 = 0; + paramInt1 = 0; + while (paramInt1 < paramInt3) + { + paramArrayOfByte2 = (byte[])localArrayList.get(paramInt1); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + paramInt1 += 1; + } + return a(paramArrayOfByte1, this.t, paramInt3); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/l.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/l.java new file mode 100755 index 00000000000..bca30bcba40 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/l.java @@ -0,0 +1,240 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.ab; +import oicq.wlogin_sdk.b.af; +import oicq.wlogin_sdk.b.ak; +import oicq.wlogin_sdk.b.al; +import oicq.wlogin_sdk.b.an; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.aq; +import oicq.wlogin_sdk.b.ar; +import oicq.wlogin_sdk.b.au; +import oicq.wlogin_sdk.b.bc; +import oicq.wlogin_sdk.b.bg; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.b.bl; +import oicq.wlogin_sdk.b.bt; +import oicq.wlogin_sdk.b.bz; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.ca; +import oicq.wlogin_sdk.b.ce; +import oicq.wlogin_sdk.b.ck; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.h; +import oicq.wlogin_sdk.b.k; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.tools.util; + +public class l + extends j +{ + public l(t paramt) + { + this.s = 2064; + this.t = 13; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt3, int paramInt4, long[] paramArrayOfLong, byte[] paramArrayOfByte3, long paramLong4, long paramLong5, long paramLong6, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, WUserSigInfo paramWUserSigInfo) + { + int k = t.u; + paramArrayOfByte1 = c(paramArrayOfByte1); + int i; + if (paramArrayOfByte1 == null) + { + i = -1014; + return i; + } + paramInt1 = 0; + for (;;) + { + byte[] arrayOfByte = a(paramLong1, paramLong2, paramLong3, k, paramInt2, paramArrayOfByte1, paramArrayOfByte2, paramInt3, paramInt4, paramArrayOfLong, t.Y, paramArrayOfByte3, paramLong4, paramLong5, paramLong6, paramArrayOfByte4, paramArrayOfByte5); + a(this.h, this.s, this.i, paramLong1, this.l, this.m, k, this.o, arrayOfByte); + int j = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + i = j; + if (j != 0) { + break; + } + i = b(); + util.LOGI("retry num:" + paramInt1 + " ret:" + i, "" + paramLong1); + if (i != 180) { + return i; + } + if (paramInt1 >= 1) { + return i; + } + paramInt1 += 1; + } + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt3, int paramInt4, long[] paramArrayOfLong, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, long paramLong4, long paramLong5, long paramLong6, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6) + { + Object localObject5 = new h(); + an localan = new an(); + Object localObject6 = new c(); + Object localObject22 = new oicq.wlogin_sdk.b.j(); + Object localObject8 = new oicq.wlogin_sdk.b.t(); + Object localObject21 = new q(); + Object localObject9 = new al(); + Object localObject11 = new ao(); + Object localObject20 = new bc(); + Object localObject13 = new bt(); + Object localObject14 = new ak(); + Object localObject15 = new cr(); + Object localObject18 = new k(); + Object localObject12 = new ab(); + Object localObject10 = new af(); + Object localObject16 = new aq(); + ar localar = new ar(); + au localau = new au(); + Object localObject7 = new bg(); + Object localObject19 = new bi(); + Object localObject17 = new bl(); + Object localObject1 = new bz(); + Object localObject2 = new ca(); + Object localObject3 = new ce(); + Object localObject4 = new ck(); + ((h)localObject5).a(paramArrayOfByte1, paramArrayOfByte1.length); + localObject5 = ((h)localObject5).a(); + localObject6 = ((c)localObject6).a(paramLong5, paramLong6, paramInt1, paramInt2); + localObject8 = ((oicq.wlogin_sdk.b.t)localObject8).a(paramInt3, paramInt4, paramArrayOfLong); + localObject9 = ((al)localObject9).a(t.C); + localObject11 = ((ao)localObject11).a(t.y); + localObject13 = ((bt)localObject13).a(paramLong2, paramInt1, paramLong1, 0); + localObject14 = ((ak)localObject14).b(t.A, t.B, t.D); + localObject15 = ((cr)localObject15).a(0, t.s, 0); + localObject16 = ((aq)localObject16).a(paramLong2, t.E, t.F); + localObject17 = ((bl)localObject17).a(1453167956L, "5.4.0.7"); + if ((paramArrayOfByte3 != null) && (paramArrayOfByte3.length > 0)) { + paramArrayOfByte1 = ((oicq.wlogin_sdk.b.j)localObject22).a(paramArrayOfByte3); + } + for (paramInt1 = 11;; paramInt1 = 10) + { + if ((this.w.g != null) && (!util.check_uin_account(this.w.g).booleanValue())) + { + paramArrayOfLong = ((q)localObject21).a(this.w.g.getBytes()); + paramInt1 += 1; + } + for (;;) + { + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length > 0)) + { + paramArrayOfByte2 = ((bc)localObject20).a(paramArrayOfByte2); + paramInt1 += 1; + } + for (;;) + { + if ((this.w.p != null) && (this.w.p.length > 0)) + { + paramArrayOfByte3 = ((bi)localObject19).a(this.w.p); + paramInt1 += 1; + } + for (;;) + { + if ((t.L != null) && (t.L.length > 0)) + { + localObject1 = ((bz)localObject1).a(t.L); + paramInt1 += 1; + } + for (;;) + { + if ((t.M != null) && (t.M.length > 0)) + { + localObject2 = ((ca)localObject2).a(t.M); + paramInt1 += 1; + } + for (;;) + { + if ((t.J != null) && (t.J.length > 0)) + { + localObject3 = ((ce)localObject3).a(t.J); + paramInt1 += 1; + } + for (;;) + { + if ((t.P != null) && (t.P.length > 0)) + { + localObject4 = ((ck)localObject4).a(t.P, t.Q); + paramInt1 += 1; + } + for (;;) + { + localObject18 = ((k)localObject18).a(t.K); + localObject19 = util.get_os_type(); + localObject20 = util.get_os_version(); + paramInt2 = t.B; + localObject21 = t.A; + localObject22 = t.D; + localObject12 = ((ab)localObject12).a((byte[])localObject19, (byte[])localObject20, paramInt2, (byte[])localObject21, new byte[0], (byte[])localObject22); + localObject10 = ((af)localObject10).a(t.R, t.S, t.T, 0, t.G, t.y, t.N); + paramArrayOfByte4 = localar.a(paramArrayOfByte4, paramLong4, paramLong5, paramLong6, paramArrayOfByte5, paramArrayOfByte6); + paramArrayOfByte5 = localau.b(t.X); + paramArrayOfByte6 = ((bg)localObject7).a(t.G); + localObject7 = t.b(this.w.h)._tgtgt_key; + paramArrayOfByte4 = localan.a((byte[])localObject18, (byte[])localObject12, (byte[])localObject10, paramArrayOfByte4, new byte[0], paramArrayOfByte5, paramArrayOfByte6, (byte[])localObject7); + paramArrayOfByte5 = new byte[localObject5.length + localObject6.length + paramArrayOfByte1.length + localObject8.length + paramArrayOfLong.length + localObject9.length + localObject11.length + paramArrayOfByte4.length + paramArrayOfByte2.length + localObject13.length + localObject14.length + localObject15.length + localObject16.length + paramArrayOfByte3.length + localObject17.length + localObject1.length + localObject2.length + localObject3.length + localObject4.length]; + System.arraycopy(localObject5, 0, paramArrayOfByte5, 0, localObject5.length); + paramInt2 = 0 + localObject5.length; + System.arraycopy(localObject6, 0, paramArrayOfByte5, paramInt2, localObject6.length); + paramInt2 += localObject6.length; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte5, paramInt2, paramArrayOfByte1.length); + paramInt2 += paramArrayOfByte1.length; + System.arraycopy(localObject8, 0, paramArrayOfByte5, paramInt2, localObject8.length); + paramInt2 += localObject8.length; + System.arraycopy(paramArrayOfLong, 0, paramArrayOfByte5, paramInt2, paramArrayOfLong.length); + paramInt2 += paramArrayOfLong.length; + System.arraycopy(localObject9, 0, paramArrayOfByte5, paramInt2, localObject9.length); + paramInt2 += localObject9.length; + System.arraycopy(localObject11, 0, paramArrayOfByte5, paramInt2, localObject11.length); + paramInt2 += localObject11.length; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte5, paramInt2, paramArrayOfByte4.length); + paramInt2 = paramArrayOfByte4.length + paramInt2; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte5, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + System.arraycopy(localObject13, 0, paramArrayOfByte5, paramInt2, localObject13.length); + paramInt2 += localObject13.length; + System.arraycopy(localObject14, 0, paramArrayOfByte5, paramInt2, localObject14.length); + paramInt2 += localObject14.length; + System.arraycopy(localObject15, 0, paramArrayOfByte5, paramInt2, localObject15.length); + paramInt2 += localObject15.length; + System.arraycopy(localObject16, 0, paramArrayOfByte5, paramInt2, localObject16.length); + paramInt2 += localObject16.length; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte5, paramInt2, paramArrayOfByte3.length); + paramInt2 += paramArrayOfByte3.length; + System.arraycopy(localObject17, 0, paramArrayOfByte5, paramInt2, localObject17.length); + paramInt2 += localObject17.length; + System.arraycopy(localObject1, 0, paramArrayOfByte5, paramInt2, localObject1.length); + paramInt2 += localObject1.length; + System.arraycopy(localObject2, 0, paramArrayOfByte5, paramInt2, localObject2.length); + paramInt2 += localObject2.length; + System.arraycopy(localObject3, 0, paramArrayOfByte5, paramInt2, localObject3.length); + paramInt2 += localObject3.length; + System.arraycopy(localObject4, 0, paramArrayOfByte5, paramInt2, localObject4.length); + paramInt2 = localObject4.length; + return a(paramArrayOfByte5, this.t, paramInt1 + 1); + localObject4 = new byte[0]; + } + localObject3 = new byte[0]; + } + localObject2 = new byte[0]; + } + localObject1 = new byte[0]; + } + paramArrayOfByte3 = new byte[0]; + } + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfLong = new byte[0]; + } + paramArrayOfByte1 = new byte[0]; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/m.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/m.java new file mode 100755 index 00000000000..a979b4b92ac --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/m.java @@ -0,0 +1,296 @@ +package oicq.wlogin_sdk.request; + +import java.util.List; +import oicq.wlogin_sdk.b.ab; +import oicq.wlogin_sdk.b.af; +import oicq.wlogin_sdk.b.ak; +import oicq.wlogin_sdk.b.al; +import oicq.wlogin_sdk.b.am; +import oicq.wlogin_sdk.b.an; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.aq; +import oicq.wlogin_sdk.b.av; +import oicq.wlogin_sdk.b.bd; +import oicq.wlogin_sdk.b.bg; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.b.bl; +import oicq.wlogin_sdk.b.bt; +import oicq.wlogin_sdk.b.bz; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.ca; +import oicq.wlogin_sdk.b.ce; +import oicq.wlogin_sdk.b.cj; +import oicq.wlogin_sdk.b.ck; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.l; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.tools.util; + +public class m + extends j +{ + public m(t paramt) + { + this.s = 2064; + this.t = 10; + this.u = "wtlogin.exchange_emp"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, int paramInt3, int paramInt4, long[] paramArrayOfLong, byte[] paramArrayOfByte2, WUserSigInfo paramWUserSigInfo) + { + int i = t.u; + paramInt1 = 0; + for (;;) + { + a(this.h, this.s, this.i, paramLong1, this.l, this.m, i, this.o, a(paramLong1, paramLong2, paramLong3, i, paramInt2, paramArrayOfByte1, paramInt3, paramInt4, paramArrayOfLong, t.Y, paramArrayOfByte2, paramWUserSigInfo._domains)); + int j = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (j != 0) { + return j; + } + j = b(); + util.LOGI("retry num:" + paramInt1 + " ret:" + j, "" + paramLong1); + if (j != 180) { + return j; + } + if (paramInt1 >= 1) { + return j; + } + paramInt1 += 1; + } + } + + public byte[] a(long paramLong1, long paramLong2, long paramLong3, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, int paramInt3, int paramInt4, long[] paramArrayOfLong, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, List paramList) + { + int i = this.t; + Object localObject6 = new c(); + Object localObject7 = new l(); + Object localObject8 = new oicq.wlogin_sdk.b.t(); + Object localObject22 = new oicq.wlogin_sdk.b.j(); + Object localObject16 = new oicq.wlogin_sdk.b.k(); + Object localObject9 = new ab(); + af localaf = new af(); + Object localObject5 = new am(); + q localq = new q(); + an localan = new an(); + Object localObject11 = new ao(); + Object localObject17 = new aq(); + Object localObject10 = new al(); + Object localObject12 = new av(); + Object localObject13 = new bt(); + Object localObject14 = new ak(); + Object localObject15 = new cr(); + Object localObject21 = new bd(); + bg localbg = new bg(); + Object localObject20 = new bi(); + Object localObject18 = new bl(); + Object localObject19 = new bz(); + Object localObject1 = new ca(); + Object localObject2 = new ce(); + Object localObject3 = new cj(); + Object localObject4 = new ck(); + localObject6 = ((c)localObject6).a(paramLong2, paramLong3, paramInt1, paramInt2); + localObject7 = ((l)localObject7).a(paramArrayOfByte1); + localObject8 = ((oicq.wlogin_sdk.b.t)localObject8).a(paramInt3, paramInt4, paramArrayOfLong); + localObject11 = ((ao)localObject11).a(t.y); + localObject10 = ((al)localObject10).a(t.C); + localObject12 = ((av)localObject12).b(this.w.i); + localObject13 = ((bt)localObject13).a(paramLong2, paramInt1, paramLong1, 0); + localObject14 = ((ak)localObject14).b(t.A, t.B, t.D); + localObject15 = ((cr)localObject15).a(0, t.s, 0); + localObject17 = ((aq)localObject17).a(paramLong2, t.E, t.F); + localObject18 = ((bl)localObject18).a(1453167956L, "5.4.0.7"); + byte[] arrayOfByte = new byte[0]; + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length > 0)) { + paramArrayOfByte1 = ((oicq.wlogin_sdk.b.j)localObject22).a(paramArrayOfByte2); + } + for (paramInt1 = 11;; paramInt1 = 10) + { + if ((paramList != null) && (paramList.size() > 0)) + { + paramArrayOfLong = ((bd)localObject21).a(paramList); + paramInt1 += 1; + } + for (;;) + { + if ((this.w.p != null) && (this.w.p.length > 0)) + { + paramArrayOfByte2 = ((bi)localObject20).a(this.w.p); + paramInt1 += 1; + } + for (;;) + { + if ((t.L != null) && (t.L.length > 0)) + { + paramList = ((bz)localObject19).a(t.L); + paramInt1 += 1; + } + for (;;) + { + if ((t.M != null) && (t.M.length > 0)) + { + localObject1 = ((ca)localObject1).a(t.M); + paramInt1 += 1; + } + for (;;) + { + if ((t.J != null) && (t.J.length > 0)) + { + localObject2 = ((ce)localObject2).a(t.J); + paramInt1 += 1; + } + for (;;) + { + if ((k.E != null) && (k.E.length > 0)) + { + localObject3 = ((cj)localObject3).a(k.E, k.F, "qq".getBytes(), k.G); + paramInt1 += 1; + } + for (;;) + { + if ((t.P != null) && (t.P.length > 0)) + { + localObject4 = ((ck)localObject4).a(t.P, t.Q); + paramInt1 += 1; + } + for (;;) + { + localObject16 = ((oicq.wlogin_sdk.b.k)localObject16).a(t.K); + localObject19 = util.get_os_type(); + localObject20 = util.get_os_version(); + paramInt2 = t.B; + localObject21 = t.A; + localObject22 = t.D; + localObject9 = localan.a((byte[])localObject16, ((ab)localObject9).a((byte[])localObject19, (byte[])localObject20, paramInt2, (byte[])localObject21, new byte[0], (byte[])localObject22), localaf.a(t.R, t.S, t.T, t.W, t.G, t.y, t.N), localbg.a(t.G), this.w.b); + if ((paramArrayOfByte3 != null) && (paramArrayOfByte3.length > 0)) + { + localObject5 = ((am)localObject5).a(paramArrayOfByte3); + paramInt1 = paramInt1 + 1 + 1; + paramInt2 = 11; + paramArrayOfByte3 = new byte[localObject6.length + localObject7.length + localObject8.length + paramArrayOfByte1.length + localObject9.length + localObject5.length + localObject10.length + localObject12.length + localObject13.length + localObject14.length + localObject15.length + paramArrayOfLong.length + localObject17.length + paramArrayOfByte2.length + localObject18.length + paramList.length + localObject1.length + localObject2.length + localObject3.length + localObject4.length]; + System.arraycopy(localObject6, 0, paramArrayOfByte3, 0, localObject6.length); + paramInt3 = 0 + localObject6.length; + System.arraycopy(localObject7, 0, paramArrayOfByte3, paramInt3, localObject7.length); + paramInt3 += localObject7.length; + System.arraycopy(localObject8, 0, paramArrayOfByte3, paramInt3, localObject8.length); + paramInt3 += localObject8.length; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, paramInt3, paramArrayOfByte1.length); + paramInt3 += paramArrayOfByte1.length; + System.arraycopy(localObject9, 0, paramArrayOfByte3, paramInt3, localObject9.length); + paramInt3 = localObject9.length + paramInt3; + System.arraycopy(localObject5, 0, paramArrayOfByte3, paramInt3, localObject5.length); + paramInt3 += localObject5.length; + System.arraycopy(localObject10, 0, paramArrayOfByte3, paramInt3, localObject10.length); + paramInt3 += localObject10.length; + System.arraycopy(localObject12, 0, paramArrayOfByte3, paramInt3, localObject12.length); + paramInt3 += localObject12.length; + System.arraycopy(localObject13, 0, paramArrayOfByte3, paramInt3, localObject13.length); + paramInt3 += localObject13.length; + System.arraycopy(localObject14, 0, paramArrayOfByte3, paramInt3, localObject14.length); + paramInt3 += localObject14.length; + System.arraycopy(localObject15, 0, paramArrayOfByte3, paramInt3, localObject15.length); + paramInt3 += localObject15.length; + System.arraycopy(paramArrayOfLong, 0, paramArrayOfByte3, paramInt3, paramArrayOfLong.length); + paramInt3 += paramArrayOfLong.length; + System.arraycopy(localObject17, 0, paramArrayOfByte3, paramInt3, localObject17.length); + paramInt3 += localObject17.length; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, paramInt3, paramArrayOfByte2.length); + paramInt3 += paramArrayOfByte2.length; + System.arraycopy(localObject18, 0, paramArrayOfByte3, paramInt3, localObject18.length); + paramInt3 += localObject18.length; + System.arraycopy(paramList, 0, paramArrayOfByte3, paramInt3, paramList.length); + paramInt3 += paramList.length; + System.arraycopy(localObject1, 0, paramArrayOfByte3, paramInt3, localObject1.length); + paramInt3 += localObject1.length; + System.arraycopy(localObject2, 0, paramArrayOfByte3, paramInt3, localObject2.length); + paramInt3 += localObject2.length; + System.arraycopy(localObject3, 0, paramArrayOfByte3, paramInt3, localObject3.length); + paramInt3 += localObject3.length; + System.arraycopy(localObject4, 0, paramArrayOfByte3, paramInt3, localObject4.length); + paramInt3 = localObject4.length; + paramArrayOfByte1 = paramArrayOfByte3; + return a(paramArrayOfByte1, paramInt2, paramInt1); + } + paramInt1 += 2; + if ((this.w.g != null) && (!util.check_uin_account(this.w.g).booleanValue())) + { + paramArrayOfByte3 = localq.a(this.w.g.getBytes()); + paramInt1 += 1; + } + for (;;) + { + localObject5 = new byte[localObject6.length + localObject7.length + localObject8.length + paramArrayOfByte1.length + localObject9.length + arrayOfByte.length + paramArrayOfByte3.length + localObject11.length + localObject10.length + localObject12.length + localObject13.length + localObject14.length + localObject15.length + paramArrayOfLong.length + localObject17.length + paramArrayOfByte2.length + localObject18.length + paramList.length + localObject1.length + localObject2.length + localObject3.length + localObject4.length]; + System.arraycopy(localObject6, 0, localObject5, 0, localObject6.length); + paramInt2 = 0 + localObject6.length; + System.arraycopy(localObject7, 0, localObject5, paramInt2, localObject7.length); + paramInt2 += localObject7.length; + System.arraycopy(localObject8, 0, localObject5, paramInt2, localObject8.length); + paramInt2 += localObject8.length; + System.arraycopy(paramArrayOfByte1, 0, localObject5, paramInt2, paramArrayOfByte1.length); + paramInt2 += paramArrayOfByte1.length; + System.arraycopy(localObject9, 0, localObject5, paramInt2, localObject9.length); + paramInt2 = localObject9.length + paramInt2; + System.arraycopy(arrayOfByte, 0, localObject5, paramInt2, arrayOfByte.length); + paramInt2 += arrayOfByte.length; + System.arraycopy(paramArrayOfByte3, 0, localObject5, paramInt2, paramArrayOfByte3.length); + paramInt2 = paramArrayOfByte3.length + paramInt2; + System.arraycopy(localObject11, 0, localObject5, paramInt2, localObject11.length); + paramInt2 += localObject11.length; + System.arraycopy(localObject10, 0, localObject5, paramInt2, localObject10.length); + paramInt2 += localObject10.length; + System.arraycopy(localObject12, 0, localObject5, paramInt2, localObject12.length); + paramInt2 += localObject12.length; + System.arraycopy(localObject13, 0, localObject5, paramInt2, localObject13.length); + paramInt2 += localObject13.length; + System.arraycopy(localObject14, 0, localObject5, paramInt2, localObject14.length); + paramInt2 += localObject14.length; + System.arraycopy(localObject15, 0, localObject5, paramInt2, localObject15.length); + paramInt2 += localObject15.length; + System.arraycopy(paramArrayOfLong, 0, localObject5, paramInt2, paramArrayOfLong.length); + paramInt2 += paramArrayOfLong.length; + System.arraycopy(localObject17, 0, localObject5, paramInt2, localObject17.length); + paramInt2 += localObject17.length; + System.arraycopy(paramArrayOfByte2, 0, localObject5, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + System.arraycopy(localObject18, 0, localObject5, paramInt2, localObject18.length); + paramInt2 += localObject18.length; + System.arraycopy(paramList, 0, localObject5, paramInt2, paramList.length); + paramInt2 += paramList.length; + System.arraycopy(localObject1, 0, localObject5, paramInt2, localObject1.length); + paramInt2 += localObject1.length; + System.arraycopy(localObject2, 0, localObject5, paramInt2, localObject2.length); + paramInt2 += localObject2.length; + System.arraycopy(localObject3, 0, localObject5, paramInt2, localObject3.length); + paramInt2 += localObject3.length; + System.arraycopy(localObject4, 0, localObject5, paramInt2, localObject4.length); + paramInt2 = localObject4.length; + paramArrayOfByte1 = (byte[])localObject5; + paramInt2 = i; + break; + paramArrayOfByte3 = new byte[0]; + } + localObject4 = new byte[0]; + } + localObject3 = new byte[0]; + } + localObject2 = new byte[0]; + } + localObject1 = new byte[0]; + } + paramList = new byte[0]; + } + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfLong = new byte[0]; + } + paramArrayOfByte1 = new byte[0]; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/n.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/n.java new file mode 100755 index 00000000000..06d145f8f90 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/n.java @@ -0,0 +1,94 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.cd; +import oicq.wlogin_sdk.b.ch; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.b.g; +import oicq.wlogin_sdk.tools.util; + +public class n + extends j +{ + public static boolean D = false; + + public n(t paramt) + { + this.s = 2064; + this.t = 2; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + Object localObject = t.b(this.w.h); + f localf = ((async_context)localObject)._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + localObject = ((async_context)localObject)._t105; + if (localObject == null) { + localObject = new g(); + } + for (;;) + { + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(localf.b(), paramArrayOfByte, ((g)localObject).g(), paramInt1, paramInt2, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + ch localch = new ch(); + Object localObject1 = new cr(); + Object localObject2 = new f(); + oicq.wlogin_sdk.b.t localt = new oicq.wlogin_sdk.b.t(); + cd localcd = new cd(); + localObject1 = ((cr)localObject1).a(0, t.s, 0); + localObject2 = ((f)localObject2).a(paramArrayOfByte1); + paramArrayOfLong = localt.a(paramInt1, paramInt2, paramArrayOfLong); + if (D) {} + for (paramArrayOfByte1 = localcd.a(paramArrayOfByte2);; paramArrayOfByte1 = localch.a(paramArrayOfByte2, paramArrayOfByte3)) + { + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + localObject1.length + localObject2.length + paramArrayOfLong.length]; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 0, paramArrayOfByte1.length); + paramInt1 = paramArrayOfByte1.length + 0; + System.arraycopy(localObject1, 0, paramArrayOfByte2, paramInt1, localObject1.length); + paramInt1 += localObject1.length; + System.arraycopy(localObject2, 0, paramArrayOfByte2, paramInt1, localObject2.length); + paramInt1 += localObject2.length; + System.arraycopy(paramArrayOfLong, 0, paramArrayOfByte2, paramInt1, paramArrayOfLong.length); + paramInt1 = paramArrayOfLong.length; + return a(paramArrayOfByte2, this.t, 4); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/o.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/o.java new file mode 100755 index 00000000000..f9fe8fc9827 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/o.java @@ -0,0 +1,154 @@ +package oicq.wlogin_sdk.request; + +import java.util.ArrayList; +import oicq.wlogin_sdk.b.a; +import oicq.wlogin_sdk.b.bk; +import oicq.wlogin_sdk.b.bq; +import oicq.wlogin_sdk.b.cn; +import oicq.wlogin_sdk.b.co; +import oicq.wlogin_sdk.b.cp; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.tools.util; + +public class o + extends j +{ + public o(t paramt) + { + this.s = 2064; + this.t = 7; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + async_context localasync_context = t.b(this.w.h); + f localf = localasync_context._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + bk localbk = localasync_context._t174; + if (localbk == null) { + localbk = new bk(); + } + for (;;) + { + Object localObject2 = localasync_context._t402; + Object localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = new co(); + } + cp localcp = localasync_context._t403; + localObject2 = localcp; + if (localcp == null) { + localObject2 = new cp(); + } + localasync_context._dpwd = util.get_mpasswd().getBytes(); + localasync_context._G = a(t.y, localasync_context._dpwd, ((co)localObject1).b()); + if ((((co)localObject1).c() > 0) && (((cp)localObject2).c() > 0)) { + localasync_context._sec_guid_flag = true; + } + int i = 0; + for (;;) + { + localObject1 = a(localf.b(), paramArrayOfByte, localbk.b(), paramInt1, paramInt2, paramArrayOfLong, localasync_context._G); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, (byte[])localObject1); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt1, int paramInt2, long[] paramArrayOfLong, byte[] paramArrayOfByte4) + { + int[] arrayOfInt = new int[7]; + int[] tmp8_6 = arrayOfInt; + tmp8_6[0] = 8; + int[] tmp13_8 = tmp8_6; + tmp13_8[1] = 260; + int[] tmp19_13 = tmp13_8; + tmp19_13[2] = 278; + int[] tmp25_19 = tmp19_13; + tmp25_19[3] = 372; + int[] tmp31_25 = tmp25_19; + tmp31_25[4] = 380; + int[] tmp37_31 = tmp31_25; + tmp37_31[5] = 1025; + int[] tmp43_37 = tmp37_31; + tmp43_37[6] = 408; + tmp43_37; + ArrayList localArrayList = new ArrayList(); + int i = 0; + int j = 0; + if (j < arrayOfInt.length) + { + Object localObject = null; + switch (arrayOfInt[j]) + { + } + for (;;) + { + int k = i; + if (localObject != null) + { + localArrayList.add(localObject); + k = i + localObject.length; + } + j += 1; + i = k; + break; + localObject = new cr().a(0, t.s, 0); + continue; + localObject = new f().a(paramArrayOfByte1); + continue; + localObject = new oicq.wlogin_sdk.b.t().a(paramInt1, paramInt2, paramArrayOfLong); + continue; + localObject = new bk().a(paramArrayOfByte3); + continue; + localObject = new bq().a(paramArrayOfByte2); + continue; + localObject = new cn().a(paramArrayOfByte4); + continue; + localObject = new a(408); + ((a)localObject).a(new byte[] { (byte)r.D }, 1); + localObject = ((a)localObject).a(); + } + } + j = localArrayList.size(); + paramArrayOfByte1 = new byte[i]; + paramInt2 = 0; + paramInt1 = 0; + while (paramInt1 < j) + { + paramArrayOfByte2 = (byte[])localArrayList.get(paramInt1); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + paramInt1 += 1; + } + return a(paramArrayOfByte1, this.t, j); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/p.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/p.java new file mode 100755 index 00000000000..342ed317503 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/p.java @@ -0,0 +1,96 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.cn; +import oicq.wlogin_sdk.b.co; +import oicq.wlogin_sdk.b.cp; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.tools.util; + +public class p + extends j +{ + public p(t paramt) + { + this.s = 2064; + this.t = 20; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + async_context localasync_context = t.b(this.w.h); + f localf = localasync_context._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + Object localObject2 = localasync_context._t402; + Object localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = new co(); + } + cp localcp = localasync_context._t403; + localObject2 = localcp; + if (localcp == null) { + localObject2 = new cp(); + } + localasync_context._dpwd = util.get_mpasswd().getBytes(); + localasync_context._G = a(t.y, localasync_context._dpwd, ((co)localObject1).b()); + if ((((co)localObject1).c() > 0) && (((cp)localObject2).c() > 0)) { + localasync_context._sec_guid_flag = true; + } + int i = 0; + for (;;) + { + localObject1 = a(localf.b(), paramInt1, paramInt2, paramArrayOfLong, localasync_context._G); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, (byte[])localObject1); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + + public byte[] a(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, long[] paramArrayOfLong, byte[] paramArrayOfByte2) + { + Object localObject1 = new cr(); + f localf = new f(); + oicq.wlogin_sdk.b.t localt = new oicq.wlogin_sdk.b.t(); + Object localObject2 = new cn(); + localObject1 = ((cr)localObject1).a(0, t.s, 0); + paramArrayOfByte1 = localf.a(paramArrayOfByte1); + paramArrayOfLong = localt.a(paramInt1, paramInt2, paramArrayOfLong); + paramArrayOfByte2 = ((cn)localObject2).a(paramArrayOfByte2); + localObject2 = new byte[localObject1.length + paramArrayOfByte1.length + paramArrayOfLong.length + paramArrayOfByte2.length]; + System.arraycopy(localObject1, 0, localObject2, 0, localObject1.length); + paramInt1 = localObject1.length + 0; + System.arraycopy(paramArrayOfByte1, 0, localObject2, paramInt1, paramArrayOfByte1.length); + paramInt1 += paramArrayOfByte1.length; + System.arraycopy(paramArrayOfLong, 0, localObject2, paramInt1, paramArrayOfLong.length); + paramInt1 += paramArrayOfLong.length; + System.arraycopy(paramArrayOfByte2, 0, localObject2, paramInt1, paramArrayOfByte2.length); + paramInt1 = paramArrayOfByte2.length; + return a((byte[])localObject2, this.t, 4); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/q.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/q.java new file mode 100755 index 00000000000..5e34adf853c --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/q.java @@ -0,0 +1,123 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.aw; +import oicq.wlogin_sdk.b.ay; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.b.g; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.util; + +public class q + extends j +{ + public q(t paramt) + { + this.s = 2064; + this.t = 3; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + f localf = t.b(this.w.h)._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(localf.b(), paramInt1, paramInt2, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + + public byte[] a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + Object localObject1 = new cr(); + f localf = new f(); + Object localObject2 = new oicq.wlogin_sdk.b.t(); + localObject1 = ((cr)localObject1).a(0, t.s, 0); + paramArrayOfByte = localf.a(paramArrayOfByte); + paramArrayOfLong = ((oicq.wlogin_sdk.b.t)localObject2).a(paramInt1, paramInt2, paramArrayOfLong); + localObject2 = new byte[localObject1.length + paramArrayOfByte.length + paramArrayOfLong.length]; + System.arraycopy(localObject1, 0, localObject2, 0, localObject1.length); + paramInt1 = localObject1.length + 0; + System.arraycopy(paramArrayOfByte, 0, localObject2, paramInt1, paramArrayOfByte.length); + paramInt1 += paramArrayOfByte.length; + System.arraycopy(paramArrayOfLong, 0, localObject2, paramInt1, paramArrayOfLong.length); + paramInt1 = paramArrayOfLong.length; + return a((byte[])localObject2, this.t, 3); + } + + public int c(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + f localf = new f(); + g localg = new g(); + ay localay = new ay(); + aw localaw = new aw(); + async_context localasync_context = t.b(this.w.h); + paramInt2 = c(paramArrayOfByte, paramInt1 + 2); + util.LOGD(getClass().getName(), "type=" + paramInt2); + int j = paramInt1 + 5; + switch (paramInt2) + { + default: + b(paramArrayOfByte, j, this.b - j - 1); + paramInt1 = paramInt2; + } + int i; + do + { + do + { + do + { + return paramInt1; + i = localf.b(paramArrayOfByte, j, this.b - j); + paramInt1 = i; + } while (i < 0); + localasync_context._t104 = localf; + i = localg.b(paramArrayOfByte, j, this.b - j); + paramInt1 = i; + } while (i < 0); + localasync_context._t105 = localg; + if (localay.b(paramArrayOfByte, j, this.b - j) >= 0) {} + for (localasync_context._t165 = localay;; localasync_context._t165 = new ay()) + { + a((ErrMsg)null); + return paramInt2; + } + i = localaw.b(paramArrayOfByte, j, this.b - j - 1); + paramInt1 = i; + } while (i < 0); + a(localaw); + b(paramArrayOfByte, j, this.b - j - 1); + return paramInt2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/r.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/r.java new file mode 100755 index 00000000000..ce43f98cf8b --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/r.java @@ -0,0 +1,143 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.a; +import oicq.wlogin_sdk.b.aw; +import oicq.wlogin_sdk.b.bk; +import oicq.wlogin_sdk.b.bo; +import oicq.wlogin_sdk.b.bp; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.util; + +public class r + extends j +{ + static int D = 0; + + public r(t paramt) + { + this.s = 2064; + this.t = 8; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong, int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + Object localObject = t.b(this.w.h); + f localf = ((async_context)localObject)._t104; + if (localf == null) { + localf = new f(); + } + for (;;) + { + localObject = ((async_context)localObject)._t174; + if (localObject == null) { + localObject = new bk(); + } + for (;;) + { + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(localf.b(), paramLong, ((bk)localObject).b(), paramInt1, paramInt2, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + } + } + + public byte[] a(byte[] paramArrayOfByte1, long paramLong, byte[] paramArrayOfByte2, int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + Object localObject1 = new cr(); + f localf = new f(); + oicq.wlogin_sdk.b.t localt = new oicq.wlogin_sdk.b.t(); + Object localObject4 = new bk(); + Object localObject3 = new bo(); + Object localObject2 = new a(407); + localObject1 = ((cr)localObject1).a(0, t.s, 0); + paramArrayOfByte1 = localf.a(paramArrayOfByte1); + paramArrayOfLong = localt.a(paramInt1, paramInt2, paramArrayOfLong); + paramArrayOfByte2 = ((bk)localObject4).a(paramArrayOfByte2); + localObject3 = ((bo)localObject3).a(paramLong); + ((a)localObject2).a(new byte[] { (byte)D }, 1); + localObject2 = ((a)localObject2).a(); + localObject4 = new byte[localObject1.length + paramArrayOfByte1.length + paramArrayOfLong.length + paramArrayOfByte2.length + localObject3.length + localObject2.length]; + System.arraycopy(localObject1, 0, localObject4, 0, localObject1.length); + paramInt1 = localObject1.length + 0; + System.arraycopy(paramArrayOfByte1, 0, localObject4, paramInt1, paramArrayOfByte1.length); + paramInt1 += paramArrayOfByte1.length; + System.arraycopy(paramArrayOfLong, 0, localObject4, paramInt1, paramArrayOfLong.length); + paramInt1 += paramArrayOfLong.length; + System.arraycopy(paramArrayOfByte2, 0, localObject4, paramInt1, paramArrayOfByte2.length); + paramInt1 += paramArrayOfByte2.length; + System.arraycopy(localObject3, 0, localObject4, paramInt1, localObject3.length); + paramInt1 += localObject3.length; + System.arraycopy(localObject2, 0, localObject4, paramInt1, localObject2.length); + paramInt1 = localObject2.length; + return a((byte[])localObject4, this.t, 6); + } + + public int c(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + f localf = new f(); + bp localbp = new bp(); + aw localaw = new aw(); + async_context localasync_context = t.b(this.w.h); + paramInt2 = c(paramArrayOfByte, paramInt1 + 2); + util.LOGD(getClass().getName(), "type=" + paramInt2); + int j = paramInt1 + 5; + switch (paramInt2) + { + default: + b(paramArrayOfByte, j, this.b - j - 1); + paramInt1 = paramInt2; + } + int i; + do + { + do + { + do + { + return paramInt1; + i = localf.b(paramArrayOfByte, j, this.b - j); + paramInt1 = i; + } while (i < 0); + localasync_context._t104 = localf; + i = localbp.b(paramArrayOfByte, j, this.b - j); + paramInt1 = i; + } while (i < 0); + localasync_context._t17b = localbp; + a((ErrMsg)null); + return paramInt2; + i = localaw.b(paramArrayOfByte, j, this.b - j - 1); + paramInt1 = i; + } while (i < 0); + a(localaw); + b(paramArrayOfByte, j, this.b - j - 1); + return paramInt2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/s.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/s.java new file mode 100755 index 00000000000..8c629082ca9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/s.java @@ -0,0 +1,124 @@ +package oicq.wlogin_sdk.request; + +import oicq.wlogin_sdk.b.a; +import oicq.wlogin_sdk.b.ab; +import oicq.wlogin_sdk.b.af; +import oicq.wlogin_sdk.b.av; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.cb; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.i; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.tools.util; + +public class s + extends j +{ + public s(t paramt) + { + this.s = 2064; + this.t = 4; + this.u = "wtlogin.name2uin"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, long paramLong2, int paramInt1, int paramInt2, byte[] paramArrayOfByte, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int i = t.u; + this.w.g = new String(paramArrayOfByte); + paramInt1 = 0; + for (;;) + { + Object localObject = a(paramLong1, paramLong2, i, paramInt2, paramArrayOfByte, paramInt3, paramInt4, paramInt5, paramInt6, paramInt7, paramInt8, paramArrayOfLong, t.Y, t.y); + a(this.h, this.s, this.i, 0L, this.l, this.m, i, this.o, (byte[])localObject); + localObject = String.valueOf(this.w.f); + int j = a((String)localObject, false, paramWUserSigInfo); + if (j != 0) { + return j; + } + j = b(); + util.LOGI("retry num:" + paramInt1 + " ret:" + j + " uin: " + (String)localObject, this.w.g); + if (j != 180) { + return j; + } + if (paramInt1 >= 1) { + return j; + } + paramInt1 += 1; + } + } + + public byte[] a(long paramLong1, long paramLong2, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, int paramInt3, int paramInt4, int paramInt5, int paramInt6, int paramInt7, int paramInt8, long[] paramArrayOfLong, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) + { + Object localObject1 = new c(); + Object localObject10 = new q(); + Object localObject4 = new i(); + Object localObject5 = new oicq.wlogin_sdk.b.j(); + Object localObject3 = new ab(); + Object localObject2 = new af(); + Object localObject9 = new oicq.wlogin_sdk.b.t(); + Object localObject7 = new av(); + Object localObject8 = new cr(); + paramArrayOfByte3 = new a(283); + Object localObject6 = new cb(); + localObject1 = ((c)localObject1).a(paramLong1, paramLong2, paramInt1, paramInt2); + paramArrayOfByte1 = ((q)localObject10).a(paramArrayOfByte1); + localObject4 = ((i)localObject4).a(paramInt3, paramInt4, paramInt5, paramInt6); + localObject5 = ((oicq.wlogin_sdk.b.j)localObject5).a(paramArrayOfByte2); + paramArrayOfLong = ((oicq.wlogin_sdk.b.t)localObject9).a(paramInt7, paramInt8, paramArrayOfLong); + localObject7 = ((av)localObject7).b(this.w.i); + localObject8 = ((cr)localObject8).a(0, t.s, 0); + localObject6 = ((cb)localObject6).a(k.D); + paramArrayOfByte3.a(new byte[] { 2 }, 1); + localObject9 = util.get_os_type(); + localObject10 = util.get_os_version(); + paramInt1 = t.B; + byte[] arrayOfByte1 = t.A; + byte[] arrayOfByte2 = t.D; + localObject3 = ((ab)localObject3).a((byte[])localObject9, (byte[])localObject10, paramInt1, arrayOfByte1, new byte[0], arrayOfByte2); + localObject2 = ((af)localObject2).a(t.R, t.S, t.T, t.W, t.G, t.y, t.N); + localObject9 = new byte[localObject1.length + paramArrayOfByte1.length + localObject4.length + localObject5.length + localObject3.length + localObject2.length + paramArrayOfLong.length + localObject7.length + localObject8.length + localObject6.length + paramArrayOfByte3.a().length]; + System.arraycopy(localObject1, 0, localObject9, 0, localObject1.length); + paramInt1 = 0 + localObject1.length; + System.arraycopy(paramArrayOfByte1, 0, localObject9, paramInt1, paramArrayOfByte1.length); + paramInt1 += paramArrayOfByte1.length; + System.arraycopy(localObject4, 0, localObject9, paramInt1, localObject4.length); + paramInt1 += localObject4.length; + System.arraycopy(localObject7, 0, localObject9, paramInt1, localObject7.length); + paramInt1 += localObject7.length; + System.arraycopy(localObject8, 0, localObject9, paramInt1, localObject8.length); + paramInt3 = paramInt1 + localObject8.length; + paramInt4 = 5; + paramInt2 = paramInt3; + paramInt1 = paramInt4; + if (paramArrayOfByte2 != null) + { + paramInt2 = paramInt3; + paramInt1 = paramInt4; + if (paramArrayOfByte2.length > 0) + { + System.arraycopy(localObject5, 0, localObject9, paramInt3, localObject5.length); + paramInt2 = paramInt3 + localObject5.length; + paramInt1 = 6; + } + } + System.arraycopy(localObject3, 0, localObject9, paramInt2, localObject3.length); + paramInt2 += localObject3.length; + System.arraycopy(localObject2, 0, localObject9, paramInt2, localObject2.length); + paramInt2 += localObject2.length; + System.arraycopy(paramArrayOfLong, 0, localObject9, paramInt2, paramArrayOfLong.length); + paramInt2 += paramArrayOfLong.length; + System.arraycopy(localObject6, 0, localObject9, paramInt2, localObject6.length); + paramInt2 += localObject6.length; + System.arraycopy(paramArrayOfByte3.a(), 0, localObject9, paramInt2, paramArrayOfByte3.a().length); + paramInt2 = paramArrayOfByte3.a().length; + return a((byte[])localObject9, this.t, paramInt1 + 3 + 1 + 1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/t.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/t.java new file mode 100755 index 00000000000..dbd2c9952d9 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/t.java @@ -0,0 +1,714 @@ +package oicq.wlogin_sdk.request; + +import android.app.ActivityManager; +import android.app.ActivityManager.RunningAppProcessInfo; +import android.content.Context; +import android.os.Build; +import android.os.Build.VERSION; +import android.os.Process; +import java.net.Socket; +import java.security.SecureRandom; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.TreeMap; +import oicq.wlogin_sdk.b.at; +import oicq.wlogin_sdk.report.report_t; +import oicq.wlogin_sdk.report.report_t1; +import oicq.wlogin_sdk.sharemem.WloginLoginInfo; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.sharemem.WloginSimpleInfo; +import oicq.wlogin_sdk.tools.MD5; +import oicq.wlogin_sdk.tools.util; + +public class t +{ + public static byte[] A = new byte[0]; + public static int B = 0; + public static byte[] C = new byte[0]; + public static byte[] D = new byte[0]; + public static byte[] E = new byte[0]; + public static byte[] F = new byte[0]; + public static byte[] G = new byte[0]; + public static byte[] H = new byte[0]; + public static byte[] I = "android".getBytes(); + static byte[] J = new byte[0]; + static byte[] K = new byte[0]; + static byte[] L = new byte[0]; + static byte[] M = new byte[0]; + static byte[] N = new byte[0]; + static byte[] O = new byte[0]; + static byte[] P = new byte[0]; + static byte[] Q = new byte[0]; + static int R = 0; + static int S = 0; + static int T = 0; + static int U = 0; + static int V = 0; + public static int W = 0; + public static int X = 0; + static byte[] Y = new byte[0]; + static long Z = 0L; + public static SecureRandom a = ; + static long aa = 0L; + static byte[] ab = new byte[4]; + public static c ae = null; + protected static String af = ""; + static report_t1 ag = new report_t1(); + public static long ah = 0L; + public static TreeMap ai = new TreeMap(); + private static Object aj = new Object(); + static Boolean e = Boolean.valueOf(false); + public static Context r = null; + public static int s = 2052; + public static String t = ""; + static int u = 0; + static int v = 1; + static int w = 0; + static int x = 0; + public static byte[] y = new byte[0]; + static byte[] z = new byte[0]; + Socket ac = null; + Socket ad = null; + public byte[] b = null; + public byte[] c = new byte[16]; + public at d = null; + public long f = 0L; + public String g = ""; + public long h = 0L; + public int i = 0; + public WFastLoginInfo j; + public int k = 0; + public int l = 5000; + public int m = 0; + public byte[] n = new byte[16]; + public byte[] o = new byte[16]; + public byte[] p = new byte[0]; + public int q = 0; + + public t(Context paramContext) {} + + public static long a() + { + try + { + if (ah > 200L) { + ah = 0L; + } + long l1 = ah + 1L; + ah = l1; + return l1; + } + finally {} + } + + public static async_context b(long paramLong) + { + for (;;) + { + synchronized (aj) + { + async_context localasync_context2 = (async_context)ai.get(Long.valueOf(paramLong)); + if (localasync_context2 == null) + { + for (;;) + { + try + { + localasync_context1 = new async_context(); + } + catch (Exception localException3) + { + async_context localasync_context1; + Exception localException1 = localException2; + Object localObject2 = localException3; + continue; + } + try + { + ai.put(Long.valueOf(paramLong), localasync_context1); + return localasync_context1; + } + catch (Exception localException2) {} + } + util.printException(localasync_context2, ""); + } + } + localException1 = localException2; + } + } + + public static void b() + { + String str = new SimpleDateFormat("yyyyMMdd").format(new Date()); + if (str.compareTo(t) != 0) + { + t = str; + new g(r).start(); + } + } + + public static void c() + { + Object localObject2 = util.get_mac_addr(r); + Object localObject1 = localObject2; + if (localObject2 != null) + { + localObject1 = localObject2; + if (localObject2.length > 0) { + localObject1 = MD5.toMD5Byte((byte[])localObject2); + } + } + Object localObject3 = util.get_imei_id(r); + localObject2 = localObject3; + if (localObject3 != null) + { + localObject2 = localObject3; + if (localObject3.length > 0) { + localObject2 = MD5.toMD5Byte((byte[])localObject3); + } + } + byte[] arrayOfByte1 = util.get_IMEI(r); + localObject3 = arrayOfByte1; + if (arrayOfByte1 != null) + { + localObject3 = arrayOfByte1; + if (arrayOfByte1.length > 0) { + localObject3 = MD5.toMD5Byte(arrayOfByte1); + } + } + if (util.get_last_flag(r) != 0) + { + arrayOfByte1 = util.get_last_mac(r); + byte[] arrayOfByte2 = util.get_last_imei(r); + byte[] arrayOfByte3 = util.get_last_guid(r); + if (!Arrays.equals((byte[])localObject1, arrayOfByte1)) { + V |= 0x1; + } + if (!Arrays.equals((byte[])localObject2, arrayOfByte2)) { + V |= 0x2; + } + if (!Arrays.equals((byte[])localObject3, arrayOfByte3)) { + V |= 0x4; + } + } + util.save_cur_flag(r, 1); + util.save_cur_mac(r, (byte[])localObject1); + util.save_cur_imei(r, (byte[])localObject2); + util.save_cur_guid(r, (byte[])localObject3); + } + + public static void c(long paramLong) + { + synchronized (aj) + { + try + { + ai.remove(Long.valueOf(paramLong)); + return; + } + catch (Exception localException) + { + for (;;) + { + util.printException(localException, ""); + } + } + } + } + + public static void d() + { + int i1 = util.get_saved_network_type(r); + W = 0; + byte[] arrayOfByte = util.get_file_imei(r); + Object localObject1 = util.get_IMEI(r); + Object localObject2; + if ((arrayOfByte == null) || (arrayOfByte.length <= 0)) { + if ((localObject1 == null) || (localObject1.length <= 0)) + { + localObject1 = new String("%4;7t>;28 0)) { + K = MD5.toMD5Byte(K); + } + L = util.get_mac_addr(r); + if ((L != null) && (L.length > 0)) { + L = MD5.toMD5Byte(L); + } + P = util.get_bssid_addr(r); + if ((P != null) && (P.length > 0)) { + P = MD5.toMD5Byte(P); + } + Q = util.get_ssid_addr(r); + M = util.get_android_id(r); + if ((M != null) && (M.length > 0)) { + M = MD5.toMD5Byte(M); + } + J = util.get_IMSI(r); + if ((J != null) && (J.length > 0)) { + J = MD5.toMD5Byte(J); + } + A = util.get_sim_operator_name(r); + B = util.get_network_type(r); + if (i1 != B) + { + util.set_net_retry_type(r, 0); + util.save_network_type(r, B); + } + D = util.get_apn_string(r).getBytes(); + Y = util.get_ksid(r); + C = util.get_apk_id(r); + E = util.get_apk_v(r, new String(C)); + F = util.getPkgSigFromApkName(r, r.getPackageName()); + O = util.getAppName(r); + localObject2 = Build.VERSION.RELEASE; + localObject1 = localObject2; + if (localObject2 == null) { + localObject1 = ""; + } + H = ((String)localObject1).getBytes(); + localObject1 = Build.MODEL; + if (localObject1 != null) { + break label616; + } + G = new byte[0]; + label450: + localObject1 = Build.BRAND; + if (localObject1 != null) { + break label626; + } + N = new byte[0]; + label464: + if ((!util.isFileExist("/system/bin/su")) && (!util.isFileExist("/system/xbin/su")) && (!util.isFileExist("/sbin/su"))) { + break label636; + } + i1 = 1; + label493: + if (i1 != 1) { + break label641; + } + } + } + label641: + for (i1 = 1;; i1 = 0) + { + X = i1; + ae = new c(r); + ag = report_t.read_fromfile(r); + if (ag == null) { + ag = new report_t1(); + } + return; + S = 1; + U = 17; + break; + if (localObject1 != null) + { + localObject2 = localObject1; + if (localObject1.length > 0) {} + } + else + { + localObject2 = new String("%4;7t>;28 0)) { + return af; + } + try + { + int i1 = Process.myPid(); + Object localObject = ((ActivityManager)r.getSystemService("activity")).getRunningAppProcesses().iterator(); + while (((Iterator)localObject).hasNext()) + { + ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)((Iterator)localObject).next(); + if (localRunningAppProcessInfo.pid == i1) + { + af = localRunningAppProcessInfo.processName; + localObject = af; + return localObject; + } + } + } + catch (Throwable localThrowable) + { + util.printThrowable(localThrowable, ""); + } + return ""; + } + + private static SecureRandom m() + { + try + { + SecureRandom localSecureRandom = new SecureRandom(); + return localSecureRandom; + } + catch (Throwable localThrowable) {} + return null; + } + + public int a(long paramLong1, long paramLong2, long paramLong3, long paramLong4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + try + { + int i1 = ae.a(paramLong1, paramLong2, paramLong3, paramLong4, paramArrayOfByte1, paramArrayOfByte2); + return i1; + } + finally + { + paramArrayOfByte1 = finally; + throw paramArrayOfByte1; + } + } + + public int a(long paramLong1, long paramLong2, byte[] paramArrayOfByte) + { + try + { + int i1 = ae.a(paramLong1, paramLong2, paramArrayOfByte); + return i1; + } + finally + { + paramArrayOfByte = finally; + throw paramArrayOfByte; + } + } + + public int a(long paramLong1, long paramLong2, byte[][] paramArrayOfByte1, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[][] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[] paramArrayOfByte13, byte[] paramArrayOfByte14, byte[] paramArrayOfByte15, byte[] paramArrayOfByte16, byte[] paramArrayOfByte17, byte[] paramArrayOfByte18, byte[][] paramArrayOfByte19, long[] paramArrayOfLong, int paramInt) + { + try + { + paramInt = ae.a(paramLong1, paramLong2, paramArrayOfByte1, paramLong3, paramLong4, paramLong5, paramLong6, paramLong7, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte13, paramArrayOfByte14, paramArrayOfByte15, paramArrayOfByte16, paramArrayOfByte17, paramArrayOfByte18, paramArrayOfByte19, paramArrayOfLong, paramInt); + return paramInt; + } + finally + { + paramArrayOfByte1 = finally; + throw paramArrayOfByte1; + } + } + + public t a(long paramLong) + { + t localt = new t(null); + localt.k = this.k; + localt.l = this.l; + if (this.c != null) { + localt.c = ((byte[])this.c.clone()); + } + if ((this.n != null) && (this.o != null)) + { + localt.n = ((byte[])this.n.clone()); + localt.o = ((byte[])this.o.clone()); + } + if (paramLong <= 0L) + { + localt.h = a(); + return localt; + } + localt.h = paramLong; + return localt; + } + + public WloginSigInfo a(long paramLong1, long paramLong2) + { + try + { + util.LOGI("get_siginfo appid=" + paramLong2, paramLong1 + ""); + WloginSigInfo localWloginSigInfo = ae.b(paramLong1, paramLong2); + if (localWloginSigInfo != null) {} + return localWloginSigInfo; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void a(Context paramContext) + { + r = paramContext; + paramContext = util.get_rand_16byte(a); + System.arraycopy(paramContext, 0, this.c, 0, paramContext.length); + } + + public void a(String paramString) + { + try + { + ae.a(paramString); + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public void a(String paramString, Long paramLong) + { + try + { + ae.a(paramString, paramLong, true); + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public void a(String paramString, Long paramLong, boolean paramBoolean) + { + try + { + ae.a(paramString, paramLong, paramBoolean); + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public void a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + Z = (util.buf_to_int32(paramArrayOfByte1, 0) & 0xFFFFFFFF) - System.currentTimeMillis() / 1000L; + aa = Z; + ab = paramArrayOfByte2; + } + + public int b(long paramLong1, long paramLong2) + { + try + { + int i1 = ae.a(paramLong1, paramLong2); + return i1; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public long b(String paramString) + { + long l2 = 0L; + try + { + paramString = ae.a(paramString, true); + long l1 = l2; + if (paramString != null) + { + l1 = l2; + if (paramString._uin.longValue() != 0L) { + l1 = paramString._uin.longValue(); + } + } + return l1; + } + finally {} + } + + public UinInfo c(String paramString) + { + try + { + paramString = ae.a(paramString, false); + return paramString; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public void c(long paramLong1, long paramLong2) + { + try + { + ae.a(Long.valueOf(paramLong1), Long.valueOf(paramLong2)); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public WloginSimpleInfo d(long paramLong) + { + try + { + WloginSimpleInfo localWloginSimpleInfo = ae.b(paramLong); + if (localWloginSimpleInfo != null) {} + return localWloginSimpleInfo; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void d(String paramString) + { + try + { + ae.b(paramString); + return; + } + finally + { + paramString = finally; + throw paramString; + } + } + + public String e(long paramLong) + { + try + { + String str = ae.a(Long.valueOf(paramLong)); + return str; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public boolean e() + { + return this.k != 0; + } + + public void h() + { + util.LOGD("close_connect", "close_connect"); + if (this.ac != null) {} + try + { + util.LOGD("close_connect", this.ac.toString()); + this.ac.close(); + this.ac = null; + return; + } + catch (Exception localException) + { + for (;;) + { + util.printException(localException, ""); + } + } + } + + public void i() + { + util.LOGD("close_transport_connect", "close_transport_connect"); + if (this.ad != null) {} + try + { + util.LOGD("close_transport_connect", this.ad.toString()); + this.ad.close(); + this.ad = null; + return; + } + catch (Exception localException) + { + for (;;) + { + util.printException(localException, ""); + } + } + } + + public void j() + { + try + { + ae.a(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public List k() + { + try + { + List localList = ae.a(true); + return localList; + } + finally + { + localObject = finally; + throw localObject; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/u.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/u.java new file mode 100755 index 00000000000..14a02514e1e --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/u.java @@ -0,0 +1,177 @@ +package oicq.wlogin_sdk.request; + +import android.os.Build.VERSION; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import oicq.wlogin_sdk.b.at; +import oicq.wlogin_sdk.report.report_t; +import oicq.wlogin_sdk.report.report_t1; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; +import org.json.JSONObject; + +public class u + extends i +{ + public final int b = 1737040709; + public final int c = 33; + public final String d = "x'Z8mSi,V(Wu~.v:"; + + public u(t paramt) + { + this.a = paramt; + } + + public int a(long paramLong1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2, int paramInt) + { + int i = 0; + if (paramInt == 0) { + i = b(paramLong1, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramLong2); + } + while (paramInt != 1) { + return i; + } + return c(paramLong1, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramLong2); + } + + public byte[] a(long paramLong1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2) + { + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length != 0)) + { + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte3); + paramArrayOfByte3 = new byte[paramArrayOfByte2.length + 10 + paramArrayOfByte1.length]; + util.int32_to_buf(paramArrayOfByte3, 0, (int)paramLong1); + util.int32_to_buf(paramArrayOfByte3, 4, (int)paramLong2); + util.int16_to_buf(paramArrayOfByte3, 8, paramArrayOfByte2.length); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte3, 10, paramArrayOfByte2.length); + i = paramArrayOfByte2.length + 10; + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte3, i, paramArrayOfByte1.length); + i = paramArrayOfByte1.length; + return paramArrayOfByte3; + } + paramArrayOfByte1 = cryptor.encrypt(paramArrayOfByte1, 0, paramArrayOfByte1.length, "x'Z8mSi,V(Wu~.v:".getBytes()); + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + 10]; + util.int32_to_buf(paramArrayOfByte2, 0, (int)paramLong1); + util.int32_to_buf(paramArrayOfByte2, 4, (int)paramLong2); + util.int16_to_buf(paramArrayOfByte2, 8, 0); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 10, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length; + return paramArrayOfByte2; + } + + public byte[] a(byte[] paramArrayOfByte, long paramLong1, long paramLong2, long paramLong3, int paramInt) + { + byte[] arrayOfByte = new byte[paramArrayOfByte.length + 33]; + util.int32_to_buf(arrayOfByte, 0, 1737040709); + util.int32_to_buf(arrayOfByte, 4, 0); + util.int32_to_buf(arrayOfByte, 8, arrayOfByte.length); + util.int64_to_buf32(arrayOfByte, 12, paramLong1); + util.int64_to_buf32(arrayOfByte, 16, paramLong2); + util.int64_to_buf32(arrayOfByte, 20, paramLong3 / 1000L); + util.int8_to_buf(arrayOfByte, 24, paramInt); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte, 33, paramArrayOfByte.length); + paramInt = paramArrayOfByte.length; + return arrayOfByte; + } + + public int b(long paramLong1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2) + { + long l = System.currentTimeMillis(); + t.ag.commit(Build.VERSION.RELEASE, new String(t.E), "", util.buf_to_string(util.get_ksid(t.r)), new String(t.C), new String(t.O), new String(t.G), new String(t.F), util.get_release_time(), "5.4.0.7"); + try + { + paramArrayOfByte1 = t.ag.toJasonObj().toString().getBytes(); + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) { + return 0; + } + } + catch (Throwable paramArrayOfByte1) + { + for (;;) + { + paramArrayOfByte1 = new byte[0]; + } + paramArrayOfByte1 = util.compress(paramArrayOfByte1); + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) { + return 0; + } + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + 4]; + util.int8_to_buf(arrayOfByte, 0, 0); + util.int8_to_buf(arrayOfByte, 1, 1); + util.int16_to_buf(arrayOfByte, 2, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 4, paramArrayOfByte1.length); + paramArrayOfByte1 = a(arrayOfByte, paramLong1, paramLong2, l, 0); + report_t.delete_file(t.r); + int i = b(a(a(paramLong1, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramLong2))); + util.LOGI("request_report_error(0) rsp: ret=" + i); + if (i != 0) + { + report_t.write_tofile(t.ag, t.r); + return i; + } + t.ag.clear_t2(); + return i; + } + } + + public int c(long paramLong1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2) + { + long l1; + String str; + long l2; + if ((this.a.d != null) && (!t.e.booleanValue())) + { + t.e = Boolean.valueOf(true); + long l3 = System.currentTimeMillis(); + SimpleDateFormat localSimpleDateFormat = new SimpleDateFormat("yyyyMMdd"); + Calendar localCalendar = Calendar.getInstance(); + int j = this.a.d.f(); + int k = this.a.d.g(); + util.LOGI("bitmap:" + j + " network:" + k + " local network:" + util.get_network_type(t.r)); + int i = 0; + if (i < 32) + { + if ((1 << i & j) == 0) {} + while ((k != 0) && ((k != 1) || (util.get_network_type(t.r) != 2))) + { + i += 1; + break; + } + l1 = l3 - 86400000 * i; + localCalendar.setTimeInMillis(l1); + str = localSimpleDateFormat.format(localCalendar.getTime()); + l2 = util.getLogModifyTime(t.r, str); + if (l2 != 0L) { + break label339; + } + } + } + for (;;) + { + paramArrayOfByte1 = util.readLog(t.r, str); + if (paramArrayOfByte1 == null) {} + for (paramArrayOfByte1 = new byte[0];; paramArrayOfByte1 = a(paramArrayOfByte1, paramLong1, paramLong2, l1, 1)) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length <= 0)) { + break label320; + } + int m = b(a(a(paramLong1, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramLong2))); + util.LOGI("request_report_error(1) rsp: ret=" + m + "(" + str + ")"); + break; + } + label320: + break; + this.a.d = null; + t.e = Boolean.valueOf(false); + return 0; + label339: + l1 = l2; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/v.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/v.java new file mode 100755 index 00000000000..e3f4da64d06 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/v.java @@ -0,0 +1,153 @@ +package oicq.wlogin_sdk.request; + +import java.util.ArrayList; +import oicq.wlogin_sdk.b.al; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.av; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.k; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.tools.util; + +public class v + extends j +{ + public v(t paramt) + { + this.s = 2064; + this.t = 17; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, long paramLong2, int paramInt1, byte[] paramArrayOfByte, String paramString, int paramInt2, int paramInt3, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(paramLong1, paramLong2, paramInt1, j, paramArrayOfByte, paramString.getBytes(), paramInt2, paramInt3, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + + public byte[] a(long paramLong1, long paramLong2, int paramInt1, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt3, int paramInt4, long[] paramArrayOfLong) + { + int i = 0; + int[] arrayOfInt = new int[9]; + int[] tmp11_9 = arrayOfInt; + tmp11_9[0] = 256; + int[] tmp17_11 = tmp11_9; + tmp17_11[1] = 264; + int[] tmp23_17 = tmp17_11; + tmp23_17[2] = 265; + int[] tmp29_23 = tmp23_17; + tmp29_23[3] = 8; + int[] tmp34_29 = tmp29_23; + tmp34_29[4] = 322; + int[] tmp40_34 = tmp34_29; + tmp40_34[5] = 325; + int[] tmp46_40 = tmp40_34; + tmp46_40[6] = 340; + int[] tmp53_46 = tmp46_40; + tmp53_46[7] = 274; + int[] tmp60_53 = tmp53_46; + tmp60_53[8] = 278; + tmp60_53; + ArrayList localArrayList = new ArrayList(); + int m = tmp17_11.length; + int j = 0; + int k = 0; + byte[] arrayOfByte2; + byte[] arrayOfByte1; + if (k < m) + { + arrayOfByte2 = new byte[0]; + switch (tmp17_11[k]) + { + default: + arrayOfByte1 = arrayOfByte2; + label192: + if (arrayOfByte1.length > 4) + { + int n = arrayOfByte1.length; + localArrayList.add(arrayOfByte1); + j = n + j; + i += 1; + } + break; + } + } + for (;;) + { + k += 1; + break; + arrayOfByte1 = new c().a(paramLong1, paramLong2, paramInt2, paramInt1); + break label192; + arrayOfByte1 = arrayOfByte2; + if (paramArrayOfByte1 == null) { + break label192; + } + arrayOfByte1 = arrayOfByte2; + if (paramArrayOfByte1.length <= 0) { + break label192; + } + arrayOfByte1 = new oicq.wlogin_sdk.b.j().a(paramArrayOfByte1); + break label192; + arrayOfByte1 = arrayOfByte2; + if (t.K == null) { + break label192; + } + arrayOfByte1 = arrayOfByte2; + if (t.K.length <= 0) { + break label192; + } + arrayOfByte1 = new k().a(t.K); + break label192; + arrayOfByte1 = new cr().a(0, t.s, 0); + break label192; + arrayOfByte1 = new al().a(t.C); + break label192; + arrayOfByte1 = new ao().a(t.y); + break label192; + arrayOfByte1 = new av().b(this.w.i); + break label192; + arrayOfByte1 = new q().a(paramArrayOfByte2); + break label192; + arrayOfByte1 = new oicq.wlogin_sdk.b.t().a(paramInt3, paramInt4, paramArrayOfLong); + break label192; + paramArrayOfByte1 = new byte[j]; + paramInt2 = 0; + paramInt1 = 0; + while (paramInt1 < i) + { + paramArrayOfByte2 = (byte[])localArrayList.get(paramInt1); + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + paramInt1 += 1; + } + return a(paramArrayOfByte1, this.t, i); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/w.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/w.java new file mode 100755 index 00000000000..dc19cd08bd3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/w.java @@ -0,0 +1,106 @@ +package oicq.wlogin_sdk.request; + +import java.util.ArrayList; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.tools.util; + +public class w + extends j +{ + public w(t paramt) + { + this.s = 2064; + this.t = 19; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(paramInt1, paramInt2, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + + public byte[] a(int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + int[] arrayOfInt = new int[3]; + int[] tmp7_5 = arrayOfInt; + tmp7_5[0] = 260; + int[] tmp13_7 = tmp7_5; + tmp13_7[1] = 8; + int[] tmp18_13 = tmp13_7; + tmp18_13[2] = 278; + tmp18_13; + ArrayList localArrayList = new ArrayList(); + int i1 = arrayOfInt.length; + async_context localasync_context = t.b(this.w.h); + int n = 0; + int j = 0; + int i = 0; + byte[] arrayOfByte; + if (n < i1) + { + arrayOfByte = new byte[0]; + switch (arrayOfInt[n]) + { + } + for (;;) + { + int k = j; + int m = i; + if (arrayOfByte.length > 4) + { + m = i + 1; + k = j + arrayOfByte.length; + localArrayList.add(arrayOfByte); + } + n += 1; + i = m; + j = k; + break; + arrayOfByte = localasync_context._t104.a(); + continue; + arrayOfByte = new cr().a(0, t.s, 0); + continue; + arrayOfByte = new oicq.wlogin_sdk.b.t().a(paramInt1, paramInt2, paramArrayOfLong); + } + } + paramArrayOfLong = new byte[j]; + paramInt1 = 0; + paramInt2 = 0; + while (paramInt1 < i) + { + arrayOfByte = (byte[])localArrayList.get(paramInt1); + System.arraycopy(arrayOfByte, 0, paramArrayOfLong, paramInt2, arrayOfByte.length); + paramInt2 += arrayOfByte.length; + paramInt1 += 1; + } + return a(paramArrayOfLong, this.t, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/x.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/x.java new file mode 100755 index 00000000000..957c0221f7a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/x.java @@ -0,0 +1,116 @@ +package oicq.wlogin_sdk.request; + +import java.util.ArrayList; +import oicq.wlogin_sdk.b.ad; +import oicq.wlogin_sdk.b.ae; +import oicq.wlogin_sdk.b.bw; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.f; +import oicq.wlogin_sdk.tools.util; + +public class x + extends j +{ + public x(t paramt) + { + this.s = 2064; + this.t = 18; + this.u = "wtlogin.login"; + this.w = paramt; + this.w.m = 0; + } + + public int a(String paramString, int paramInt1, int paramInt2, long[] paramArrayOfLong, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + int i = 0; + for (;;) + { + byte[] arrayOfByte = a(paramString.getBytes(), paramInt1, paramInt2, paramArrayOfLong); + a(this.h, this.s, this.i, this.w.f, this.l, this.m, j, this.o, arrayOfByte); + int k = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + if (k != 0) { + return k; + } + k = b(); + util.LOGI("retry num:" + i + " ret:" + k, "" + this.w.f); + if (k != 180) { + return k; + } + if (i >= 1) { + return k; + } + i += 1; + } + } + + public byte[] a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, long[] paramArrayOfLong) + { + int i = 0; + int[] arrayOfInt = new int[5]; + int[] tmp10_8 = arrayOfInt; + tmp10_8[0] = 260; + int[] tmp16_10 = tmp10_8; + tmp16_10[1] = 8; + int[] tmp21_16 = tmp16_10; + tmp21_16[2] = 295; + int[] tmp27_21 = tmp21_16; + tmp27_21[3] = 388; + int[] tmp33_27 = tmp27_21; + tmp33_27[4] = 278; + tmp33_27; + ArrayList localArrayList = new ArrayList(); + int i1 = arrayOfInt.length; + int j = 0; + async_context localasync_context = t.b(this.w.h); + int n = 0; + if (n < i1) + { + byte[] arrayOfByte = new byte[0]; + switch (arrayOfInt[n]) + { + } + for (;;) + { + int k = j; + int m = i; + if (arrayOfByte.length > 4) + { + m = i + 1; + k = j + arrayOfByte.length; + localArrayList.add(arrayOfByte); + } + n += 1; + i = m; + j = k; + break; + arrayOfByte = localasync_context._t104.a(); + continue; + arrayOfByte = new cr().a(0, t.s, 0); + continue; + arrayOfByte = new ae().a(paramArrayOfByte, localasync_context._t126.f()); + continue; + arrayOfByte = new bw().a(localasync_context._msalt, localasync_context._mpasswd); + continue; + arrayOfByte = new oicq.wlogin_sdk.b.t().a(paramInt1, paramInt2, paramArrayOfLong); + } + } + paramArrayOfByte = new byte[j]; + paramInt2 = 0; + paramInt1 = 0; + while (paramInt1 < i) + { + paramArrayOfLong = (byte[])localArrayList.get(paramInt1); + System.arraycopy(paramArrayOfLong, 0, paramArrayOfByte, paramInt2, paramArrayOfLong.length); + paramInt2 += paramArrayOfLong.length; + paramInt1 += 1; + } + return a(paramArrayOfByte, this.t, i); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/y.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/y.java new file mode 100755 index 00000000000..06bf0160c30 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/y.java @@ -0,0 +1,299 @@ +package oicq.wlogin_sdk.request; + +import java.util.List; +import oicq.wlogin_sdk.b.ab; +import oicq.wlogin_sdk.b.af; +import oicq.wlogin_sdk.b.ak; +import oicq.wlogin_sdk.b.al; +import oicq.wlogin_sdk.b.an; +import oicq.wlogin_sdk.b.ao; +import oicq.wlogin_sdk.b.aq; +import oicq.wlogin_sdk.b.av; +import oicq.wlogin_sdk.b.az; +import oicq.wlogin_sdk.b.b; +import oicq.wlogin_sdk.b.bc; +import oicq.wlogin_sdk.b.bd; +import oicq.wlogin_sdk.b.bg; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.b.bl; +import oicq.wlogin_sdk.b.bt; +import oicq.wlogin_sdk.b.bz; +import oicq.wlogin_sdk.b.c; +import oicq.wlogin_sdk.b.ca; +import oicq.wlogin_sdk.b.ce; +import oicq.wlogin_sdk.b.cj; +import oicq.wlogin_sdk.b.ck; +import oicq.wlogin_sdk.b.cm; +import oicq.wlogin_sdk.b.cr; +import oicq.wlogin_sdk.b.h; +import oicq.wlogin_sdk.b.i; +import oicq.wlogin_sdk.b.q; +import oicq.wlogin_sdk.sharemem.WloginSigInfo; +import oicq.wlogin_sdk.tools.util; + +public class y + extends j +{ + public y(t paramt) + { + this.s = 2064; + this.t = 15; + this.u = "wtlogin.exchange_emp"; + this.w = paramt; + this.w.m = 0; + } + + public int a(long paramLong1, int paramInt1, long paramLong2, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt3, int paramInt4, long[] paramArrayOfLong, int paramInt5, long paramLong3, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10, byte[] paramArrayOfByte4, long paramLong4, WUserSigInfo paramWUserSigInfo) + { + int j = t.u; + paramArrayOfByte2 = c(paramArrayOfByte2); + if (paramArrayOfByte2 == null) + { + paramInt6 = -1014; + return paramInt6; + } + paramInt1 = 0; + for (;;) + { + a(this.h, this.s, this.i, paramLong2, this.l, this.m, j, this.o, a(paramLong1, j, paramLong2, paramInt2, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramInt3, paramInt4, paramArrayOfLong, paramInt5, paramLong3, j, paramInt7, paramInt8, paramInt9, paramInt10, paramArrayOfByte4, paramLong4, t.C, paramWUserSigInfo._domains)); + int i = a(String.valueOf(this.w.f), false, paramWUserSigInfo); + paramInt6 = i; + if (i != 0) { + break; + } + paramInt6 = b(); + util.LOGI("retry num:" + paramInt1 + " ret:" + paramInt6, "" + paramLong2); + if (paramInt6 != 180) { + return paramInt6; + } + if (paramInt1 >= 1) { + return paramInt6; + } + paramInt1 += 1; + } + } + + public byte[] a(long paramLong1, int paramInt1, long paramLong2, int paramInt2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt3, int paramInt4, long[] paramArrayOfLong, int paramInt5, long paramLong3, int paramInt6, int paramInt7, int paramInt8, int paramInt9, int paramInt10, byte[] paramArrayOfByte4, long paramLong4, byte[] paramArrayOfByte5, List paramList) + { + Object localObject6 = new bt(); + Object localObject7 = new b(); + Object localObject9 = new h(); + Object localObject12 = new oicq.wlogin_sdk.b.t(); + Object localObject10 = new c(); + Object localObject11 = new i(); + Object localObject25 = new oicq.wlogin_sdk.b.j(); + Object localObject21 = new oicq.wlogin_sdk.b.k(); + Object localObject20 = new ab(); + af localaf = new af(); + Object localObject19 = new al(); + q localq = new q(); + an localan = new an(); + Object localObject13 = new ao(); + Object localObject17 = new aq(); + Object localObject24 = new az(); + bc localbc = new bc(); + Object localObject15 = new ak(); + Object localObject16 = new cr(); + Object localObject14 = new av(); + bd localbd = new bd(); + bg localbg = new bg(); + Object localObject23 = new bi(); + Object localObject18 = new bl(); + Object localObject5 = new cm(); + Object localObject22 = new bz(); + Object localObject1 = new ca(); + Object localObject2 = new ce(); + Object localObject3 = new cj(); + Object localObject4 = new ck(); + Object localObject8 = this.w.a(paramLong2, paramLong4); + localObject6 = ((bt)localObject6).a(paramLong1, paramInt1, paramLong2, paramInt2); + localObject7 = ((b)localObject7).a(paramLong2, paramArrayOfByte1); + ((h)localObject9).a(paramArrayOfByte2, paramArrayOfByte2.length); + localObject9 = ((h)localObject9).a(); + util.LOGD("req2 a1:", util.buf_to_string((byte[])localObject9)); + localObject10 = ((c)localObject10).a(paramLong1, paramLong3, paramInt1, paramInt5); + localObject11 = ((i)localObject11).a(paramInt7, paramInt8, paramInt9, paramInt10); + localObject12 = ((oicq.wlogin_sdk.b.t)localObject12).a(paramInt3, paramInt4, paramArrayOfLong); + localObject13 = ((ao)localObject13).a(t.y); + localObject14 = ((av)localObject14).b(this.w.i); + localObject15 = ((ak)localObject15).b(t.A, t.B, t.D); + localObject16 = ((cr)localObject16).a(0, t.s, 0); + localObject17 = ((aq)localObject17).a(paramLong4, t.E, t.F); + localObject18 = ((bl)localObject18).a(1453167956L, "5.4.0.7"); + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length > 0)) { + paramArrayOfByte1 = ((oicq.wlogin_sdk.b.j)localObject25).a(paramArrayOfByte4); + } + for (paramInt1 = 13;; paramInt1 = 12) + { + if ((paramInt3 & 0x80) != 0) + { + paramArrayOfByte2 = ((az)localObject24).b(t.v); + paramInt1 += 1; + } + for (;;) + { + if ((this.w.p != null) && (this.w.p.length > 0)) + { + paramArrayOfLong = ((bi)localObject23).a(this.w.p); + paramInt1 += 1; + } + for (;;) + { + if ((t.L != null) && (t.L.length > 0)) + { + paramArrayOfByte4 = ((bz)localObject22).a(t.L); + paramInt1 += 1; + } + for (;;) + { + if ((t.M != null) && (t.M.length > 0)) + { + localObject1 = ((ca)localObject1).a(t.M); + paramInt1 += 1; + } + for (;;) + { + if ((t.J != null) && (t.J.length > 0)) + { + localObject2 = ((ce)localObject2).a(t.J); + paramInt1 += 1; + } + for (;;) + { + if ((k.E != null) && (k.E.length > 0)) + { + localObject3 = ((cj)localObject3).a(k.E, k.F, "qq".getBytes(), k.G); + paramInt1 += 1; + } + for (;;) + { + if ((t.P != null) && (t.P.length > 0)) + { + localObject4 = ((ck)localObject4).a(t.P, t.Q); + paramInt1 += 1; + } + for (;;) + { + localObject21 = ((oicq.wlogin_sdk.b.k)localObject21).a(t.K); + localObject22 = util.get_os_type(); + localObject23 = util.get_os_version(); + paramInt2 = t.B; + localObject24 = t.A; + localObject25 = t.D; + localObject20 = localan.a((byte[])localObject21, ((ab)localObject20).a((byte[])localObject22, (byte[])localObject23, paramInt2, (byte[])localObject24, new byte[0], (byte[])localObject25), localaf.a(t.R, t.S, t.T, t.W, t.G, t.y, t.N), localbg.a(t.G), t.b(this.w.h)._tgtgt_key); + localObject19 = ((al)localObject19).a(paramArrayOfByte5); + paramInt1 = paramInt1 + 1 + 1; + if ((this.w.g != null) && (!util.check_uin_account(this.w.g).booleanValue())) + { + paramArrayOfByte5 = localq.a(this.w.g.getBytes()); + paramInt1 += 1; + } + for (;;) + { + if ((paramArrayOfByte3 != null) && (paramArrayOfByte3.length > 0)) + { + paramArrayOfByte3 = localbc.a(paramArrayOfByte3); + paramInt1 += 1; + } + for (;;) + { + if ((paramList != null) && (paramList.size() > 0)) + { + paramList = localbd.a(paramList); + paramInt1 += 1; + } + for (;;) + { + if ((localObject8 != null) && (((WloginSigInfo)localObject8)._G != null) && (((WloginSigInfo)localObject8)._G.length > 0) && (((WloginSigInfo)localObject8)._dpwd != null) && (((WloginSigInfo)localObject8)._dpwd.length > 0) && (((WloginSigInfo)localObject8)._randseed != null) && (((WloginSigInfo)localObject8)._randseed.length > 0)) + { + localObject5 = ((cm)localObject5).a(((WloginSigInfo)localObject8)._G, paramLong2, t.y, ((WloginSigInfo)localObject8)._dpwd, paramLong4, 1L, ((WloginSigInfo)localObject8)._randseed); + paramInt1 += 1; + } + for (;;) + { + localObject8 = new byte[localObject6.length + localObject7.length + localObject9.length + localObject12.length + localObject10.length + localObject11.length + paramArrayOfByte1.length + localObject20.length + localObject19.length + paramArrayOfByte5.length + localObject13.length + paramArrayOfByte2.length + paramArrayOfByte3.length + localObject14.length + localObject15.length + localObject16.length + paramList.length + localObject17.length + paramArrayOfLong.length + localObject18.length + localObject5.length + paramArrayOfByte4.length + localObject1.length + localObject2.length + localObject3.length + localObject4.length]; + System.arraycopy(localObject6, 0, localObject8, 0, localObject6.length); + paramInt2 = 0 + localObject6.length; + System.arraycopy(localObject7, 0, localObject8, paramInt2, localObject7.length); + paramInt2 += localObject7.length; + System.arraycopy(localObject9, 0, localObject8, paramInt2, localObject9.length); + paramInt2 += localObject9.length; + System.arraycopy(localObject12, 0, localObject8, paramInt2, localObject12.length); + paramInt2 += localObject12.length; + System.arraycopy(localObject10, 0, localObject8, paramInt2, localObject10.length); + paramInt2 += localObject10.length; + System.arraycopy(localObject11, 0, localObject8, paramInt2, localObject11.length); + paramInt2 += localObject11.length; + System.arraycopy(paramArrayOfByte1, 0, localObject8, paramInt2, paramArrayOfByte1.length); + paramInt2 += paramArrayOfByte1.length; + System.arraycopy(localObject20, 0, localObject8, paramInt2, localObject20.length); + paramInt2 += localObject20.length; + System.arraycopy(localObject19, 0, localObject8, paramInt2, localObject19.length); + paramInt2 += localObject19.length; + System.arraycopy(paramArrayOfByte5, 0, localObject8, paramInt2, paramArrayOfByte5.length); + paramInt2 += paramArrayOfByte5.length; + System.arraycopy(localObject13, 0, localObject8, paramInt2, localObject13.length); + paramInt2 += localObject13.length; + System.arraycopy(paramArrayOfByte2, 0, localObject8, paramInt2, paramArrayOfByte2.length); + paramInt2 += paramArrayOfByte2.length; + System.arraycopy(paramArrayOfByte3, 0, localObject8, paramInt2, paramArrayOfByte3.length); + paramInt2 += paramArrayOfByte3.length; + System.arraycopy(localObject14, 0, localObject8, paramInt2, localObject14.length); + paramInt2 += localObject14.length; + System.arraycopy(localObject15, 0, localObject8, paramInt2, localObject15.length); + paramInt2 += localObject15.length; + System.arraycopy(localObject16, 0, localObject8, paramInt2, localObject16.length); + paramInt2 += localObject16.length; + System.arraycopy(paramList, 0, localObject8, paramInt2, paramList.length); + paramInt2 += paramList.length; + System.arraycopy(localObject17, 0, localObject8, paramInt2, localObject17.length); + paramInt2 += localObject17.length; + System.arraycopy(paramArrayOfLong, 0, localObject8, paramInt2, paramArrayOfLong.length); + paramInt2 += paramArrayOfLong.length; + System.arraycopy(localObject18, 0, localObject8, paramInt2, localObject18.length); + paramInt2 += localObject18.length; + System.arraycopy(localObject5, 0, localObject8, paramInt2, localObject5.length); + paramInt2 = localObject5.length + paramInt2; + System.arraycopy(paramArrayOfByte4, 0, localObject8, paramInt2, paramArrayOfByte4.length); + paramInt2 += paramArrayOfByte4.length; + System.arraycopy(localObject1, 0, localObject8, paramInt2, localObject1.length); + paramInt2 += localObject1.length; + System.arraycopy(localObject2, 0, localObject8, paramInt2, localObject2.length); + paramInt2 += localObject2.length; + System.arraycopy(localObject3, 0, localObject8, paramInt2, localObject3.length); + paramInt2 += localObject3.length; + System.arraycopy(localObject4, 0, localObject8, paramInt2, localObject4.length); + paramInt2 = localObject4.length; + return a((byte[])localObject8, this.t, paramInt1); + localObject5 = new byte[0]; + } + paramList = new byte[0]; + } + paramArrayOfByte3 = new byte[0]; + } + paramArrayOfByte5 = new byte[0]; + } + localObject4 = new byte[0]; + } + localObject3 = new byte[0]; + } + localObject2 = new byte[0]; + } + localObject1 = new byte[0]; + } + paramArrayOfByte4 = new byte[0]; + } + paramArrayOfLong = new byte[0]; + } + paramArrayOfByte2 = new byte[0]; + } + paramArrayOfByte1 = new byte[0]; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/z.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/z.java new file mode 100755 index 00000000000..9f09d6ff334 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/request/z.java @@ -0,0 +1,432 @@ +package oicq.wlogin_sdk.request; + +import android.os.Build.VERSION; +import java.net.Socket; +import oicq.wlogin_sdk.b.bi; +import oicq.wlogin_sdk.report.report_t; +import oicq.wlogin_sdk.report.report_t1; +import oicq.wlogin_sdk.tools.ErrMsg; +import oicq.wlogin_sdk.tools.cryptor; +import oicq.wlogin_sdk.tools.util; +import org.json.JSONObject; + +public class z + extends j +{ + public int D = 0; + public int E = 5; + + public z(t paramt) + { + this.s = 2066; + this.t = 1; + this.u = "wtlogin.trans_emp"; + this.w = paramt; + if (this.w.m != 0) { + this.w.m = 1; + } + } + + public int a(long paramLong1, TransReqContext paramTransReqContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong2, long paramLong3, WUserSigInfo paramWUserSigInfo) + { + try + { + int m = t.u; + int k = 0; + int j = 0; + Object localObject = paramTransReqContext._body; + long l1 = System.currentTimeMillis() / 1000L; + long l2 = t.aa; + if (localObject == null) { + localObject = new byte[0]; + } + for (;;) + { + byte[] arrayOfByte = new byte[localObject.length + 4]; + util.int64_to_buf32(arrayOfByte, 0, l1 + l2); + System.arraycopy(localObject, 0, arrayOfByte, 4, localObject.length); + localObject = arrayOfByte; + if (paramArrayOfByte1 != null) { + localObject = cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, paramArrayOfByte2); + } + int i = j; + if (localObject != null) + { + i = j; + if (localObject.length > 0) + { + localObject = a((byte[])localObject, paramArrayOfByte1, paramLong2, paramLong3, 0); + a(this.h, this.s, this.i, paramLong1, this.l, this.m, m, this.o, (byte[])localObject); + j = a(String.valueOf(paramLong1), false, paramWUserSigInfo); + if (j == 0) {} + } + } + do + { + do + { + util.LOGI("request_transport rsp: ret=" + j); + return j; + i = a(paramTransReqContext); + if ((i == 0) && (paramArrayOfByte1 != null)) + { + localObject = paramTransReqContext.get_body(); + paramTransReqContext.set_body(cryptor.decrypt((byte[])localObject, 0, localObject.length, paramArrayOfByte2)); + } + j = i; + } while (i != 180); + j = i; + } while (k >= 1); + k += 1; + j = i; + break; + } + } + finally {} + } + + public int a(long paramLong1, TransReqContext paramTransReqContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2, long paramLong3, WUserSigInfo paramWUserSigInfo) + { + for (;;) + { + long l; + byte[] arrayOfByte1; + byte[] arrayOfByte2; + try + { + i = t.u; + l = paramTransReqContext._body.length; + j = this.z; + this.z = (j + 1); + arrayOfByte1 = a(l, j, String.valueOf(paramLong1).getBytes(), paramLong2, paramLong2, paramArrayOfByte3, new String("wtlogin_conn_trans").getBytes(), new byte[8], 0, 0L, t.y); + arrayOfByte2 = paramTransReqContext._body; + l = System.currentTimeMillis() / 1000L + t.aa; + if (arrayOfByte2 == null) + { + paramArrayOfByte3 = new byte[0]; + if ((paramArrayOfByte3 == null) || (paramArrayOfByte3.length <= 0)) { + break label365; + } + paramArrayOfByte3 = a(paramArrayOfByte3, paramArrayOfByte1, paramLong2, paramLong3, 1); + a(this.h, this.s, this.i, paramLong1, this.l, this.m, i, this.o, paramArrayOfByte3); + i = a(String.valueOf(paramLong1), true, paramWUserSigInfo); + if (i == 0) { + break label312; + } + return i; + } + if (paramArrayOfByte1 == null) + { + paramArrayOfByte3 = new byte[arrayOfByte1.length + 4 + arrayOfByte2.length]; + util.int64_to_buf32(paramArrayOfByte3, 0, l); + System.arraycopy(arrayOfByte1, 0, paramArrayOfByte3, 4, arrayOfByte1.length); + System.arraycopy(arrayOfByte2, 0, paramArrayOfByte3, arrayOfByte1.length + 4, arrayOfByte2.length); + continue; + } + paramArrayOfByte3 = new byte[arrayOfByte1.length + 4 + arrayOfByte2.length]; + } + finally {} + util.int64_to_buf32(paramArrayOfByte3, 0, l); + System.arraycopy(arrayOfByte1, 0, paramArrayOfByte3, 4, arrayOfByte1.length); + System.arraycopy(arrayOfByte2, 0, paramArrayOfByte3, arrayOfByte1.length + 4, arrayOfByte2.length); + paramArrayOfByte3 = cryptor.encrypt(paramArrayOfByte3, 0, paramArrayOfByte3.length, paramArrayOfByte2); + continue; + label312: + int j = a(paramTransReqContext); + int i = j; + if (j == 0) + { + i = j; + if (paramArrayOfByte1 != null) + { + paramArrayOfByte1 = paramTransReqContext.get_body(); + paramTransReqContext.set_body(cryptor.decrypt(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte2)); + i = j; + continue; + label365: + i = 0; + } + } + } + } + + public int a(long paramLong1, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, long paramLong2, WUserSigInfo paramWUserSigInfo) + { + for (;;) + { + try + { + i = t.u; + long l1 = System.currentTimeMillis() / 1000L; + long l2 = t.aa; + t.ag.commit(Build.VERSION.RELEASE, new String(t.E), "", util.buf_to_string(util.get_ksid(t.r)), new String(t.C), new String(t.O), new String(t.G), new String(t.F), util.get_release_time(), "5.4.0.7"); + try + { + paramArrayOfByte1 = t.ag.toJasonObj().toString().getBytes(); + if (paramArrayOfByte1 != null) + { + int j = paramArrayOfByte1.length; + if (j != 0) {} + } + else + { + i = 0; + return i; + } + } + catch (Throwable paramArrayOfByte1) + { + paramArrayOfByte1 = new byte[0]; + continue; + paramArrayOfByte1 = util.compress(paramArrayOfByte1); + if (paramArrayOfByte1 == null) { + break label344; + } + } + if (paramArrayOfByte1.length == 0) { + break label344; + } + byte[] arrayOfByte = new byte[paramArrayOfByte1.length + 8]; + util.int64_to_buf32(arrayOfByte, 0, l1 + l2); + util.int8_to_buf(arrayOfByte, 4, 0); + util.int8_to_buf(arrayOfByte, 5, 1); + util.int16_to_buf(arrayOfByte, 6, paramArrayOfByte1.length); + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte, 8, paramArrayOfByte1.length); + paramArrayOfByte1 = cryptor.encrypt(arrayOfByte, 0, arrayOfByte.length, paramArrayOfByte3); + if ((paramArrayOfByte1 == null) || (paramArrayOfByte1.length == 0)) { + break label350; + } + report_t.delete_file(t.r); + paramArrayOfByte1 = a(paramArrayOfByte1, paramArrayOfByte2, paramLong2, 85L, 0); + a(this.h, this.s, this.i, paramLong1, this.l, this.m, i, this.o, paramArrayOfByte1); + i = a(String.valueOf(paramLong1), true, paramWUserSigInfo); + if (i != 0) + { + if (i == 0) { + break label335; + } + report_t.write_tofile(t.ag, t.r); + continue; + } + i = b(); + } + finally {} + continue; + label335: + t.ag.clear_t2(); + continue; + label344: + int i = 0; + continue; + label350: + i = 0; + } + } + + public int a(TransReqContext paramTransReqContext) + { + int i = this.b; + int j; + if (i <= this.e + 2) + { + j = -1009; + return j; + } + this.f = (i - this.e - 2); + if (this.w.m == 0) + { + j = a(this.g, this.e + 1, this.f, this.w.o); + i = j; + if (j < 0) + { + util.LOGI("use ecdh decrypt_body failed"); + j = a(this.g, this.e + 1, this.f, this.w.c); + i = j; + if (j < 0) + { + util.LOGI("use kc decrypt_body failed"); + i = j; + } + } + } + for (;;) + { + j = i; + if (i < 0) { + break; + } + return a(this.g, this.e + 1, this.f, paramTransReqContext); + j = a(this.g, this.e + 1, this.f, this.w.c); + i = j; + if (j < 0) + { + util.LOGI("use kc decrypt_body failed"); + i = j; + } + } + } + + public int a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, TransReqContext paramTransReqContext) + { + if (paramInt2 < this.E) { + return -1009; + } + int i = c(paramArrayOfByte, paramInt1); + a((ErrMsg)null); + util.LOGD(getClass().getName(), "type=" + i); + switch (i) + { + default: + return i; + case 0: + int j = this.E; + byte[] arrayOfByte = new byte[paramInt2 - this.E]; + System.arraycopy(paramArrayOfByte, j + paramInt1, arrayOfByte, 0, arrayOfByte.length); + paramTransReqContext.set_body(arrayOfByte); + return i; + } + paramInt1 = this.E + 2 + paramInt1; + paramTransReqContext = new bi(); + paramInt2 = paramTransReqContext.b(paramArrayOfByte, paramInt1, this.b - paramInt1 - 1); + paramInt1 = paramInt2; + if (paramInt2 > 0) + { + this.w.m = 2; + this.w.p = paramTransReqContext.b(); + util.LOGI("request_transport get rollback sig"); + paramInt1 = i; + } + return paramInt1; + } + + public void a(Socket paramSocket) + { + this.w.ad = paramSocket; + } + + byte[] a(long paramLong1, long paramLong2, byte[] paramArrayOfByte1, long paramLong3, long paramLong4, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, int paramInt, long paramLong5, byte[] paramArrayOfByte5) + { + byte[] arrayOfByte = paramArrayOfByte2; + if (paramArrayOfByte2 == null) { + arrayOfByte = new byte[0]; + } + paramArrayOfByte2 = new byte[paramArrayOfByte1.length + 16 + 4 + 16 + 4 + arrayOfByte.length + 4 + paramArrayOfByte3.length + 4 + paramArrayOfByte4.length + 1 + 4 + 4 + paramArrayOfByte5.length + 4]; + util.int64_to_buf32(paramArrayOfByte2, 0, paramArrayOfByte2.length + paramLong1); + util.int64_to_buf32(paramArrayOfByte2, 4, paramArrayOfByte2.length - 4 - 4); + util.int64_to_buf32(paramArrayOfByte2, 8, paramLong2); + util.int32_to_buf(paramArrayOfByte2, 12, paramArrayOfByte1.length + 4); + System.arraycopy(paramArrayOfByte1, 0, paramArrayOfByte2, 16, paramArrayOfByte1.length); + int i = paramArrayOfByte1.length + 16; + util.int64_to_buf32(paramArrayOfByte2, i, paramLong3); + i += 4; + util.int64_to_buf32(paramArrayOfByte2, i, paramLong4); + i += 16; + util.int32_to_buf(paramArrayOfByte2, i, arrayOfByte.length + 4); + i += 4; + System.arraycopy(arrayOfByte, 0, paramArrayOfByte2, i, arrayOfByte.length); + i += arrayOfByte.length; + util.int32_to_buf(paramArrayOfByte2, i, paramArrayOfByte3.length + 4); + i += 4; + System.arraycopy(paramArrayOfByte3, 0, paramArrayOfByte2, i, paramArrayOfByte3.length); + i += paramArrayOfByte3.length; + util.int32_to_buf(paramArrayOfByte2, i, paramArrayOfByte4.length + 4); + i += 4; + System.arraycopy(paramArrayOfByte4, 0, paramArrayOfByte2, i, paramArrayOfByte4.length); + i += paramArrayOfByte4.length; + util.int8_to_buf(paramArrayOfByte2, i, paramInt); + paramInt = i + 1; + util.int64_to_buf32(paramArrayOfByte2, paramInt, paramLong5); + paramInt += 4; + util.int32_to_buf(paramArrayOfByte2, paramInt, paramArrayOfByte5.length + 4); + paramInt += 4; + System.arraycopy(paramArrayOfByte5, 0, paramArrayOfByte2, paramInt, paramArrayOfByte5.length); + paramInt += paramArrayOfByte5.length; + util.int64_to_buf32(paramArrayOfByte2, paramInt, 4L + paramLong1); + return paramArrayOfByte2; + } + + public byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, long paramLong1, long paramLong2, int paramInt) + { + if (paramArrayOfByte2 == null) + { + paramArrayOfByte2 = new byte[0]; + if (paramInt == 0) { + paramInt = 0; + } + } + for (;;) + { + byte[] arrayOfByte2 = new byte[0]; + byte[] arrayOfByte1 = arrayOfByte2; + if (this.w.p != null) + { + arrayOfByte1 = arrayOfByte2; + if (this.w.p.length > 0) + { + arrayOfByte2 = new bi().a(this.w.p); + arrayOfByte1 = new byte[arrayOfByte2.length + 2]; + util.int16_to_buf(arrayOfByte1, 0, 1); + System.arraycopy(arrayOfByte2, 0, arrayOfByte1, 2, arrayOfByte2.length); + } + } + this.D = (paramArrayOfByte2.length + 13 + 1 + arrayOfByte1.length); + arrayOfByte2 = new byte[paramArrayOfByte1.length + this.D]; + util.int8_to_buf(arrayOfByte2, 0, paramInt); + util.int16_to_buf(arrayOfByte2, 1, paramArrayOfByte1.length); + util.int64_to_buf32(arrayOfByte2, 3, paramLong1); + util.int64_to_buf32(arrayOfByte2, 7, paramLong2); + util.int16_to_buf(arrayOfByte2, 11, paramArrayOfByte2.length); + System.arraycopy(paramArrayOfByte2, 0, arrayOfByte2, 13, paramArrayOfByte2.length); + paramInt = paramArrayOfByte2.length + 13; + util.int8_to_buf(arrayOfByte2, paramInt, arrayOfByte1.length); + paramInt += 1; + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, paramInt, arrayOfByte1.length); + paramInt += arrayOfByte1.length; + System.arraycopy(paramArrayOfByte1, 0, arrayOfByte2, paramInt, paramArrayOfByte1.length); + paramInt = paramArrayOfByte1.length; + return a(arrayOfByte2); + paramInt = 3; + continue; + if (paramInt == 0) { + paramInt = 1; + } else { + paramInt = 2; + } + } + } + + public int c(boolean paramBoolean) + { + if (paramBoolean) {} + return 8080; + } + + public int c(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + if (paramInt2 < this.E) { + return -1009; + } + paramInt1 = c(paramArrayOfByte, paramInt1); + a((ErrMsg)null); + util.LOGD(getClass().getName(), "type=" + paramInt1); + return paramInt1; + } + + public Socket d() + { + if (this.w.ad != null) { + util.LOGD("_transport_sk", "_transport_sk" + this.w.ad.toString()); + } + for (;;) + { + return this.w.ad; + util.LOGD("_transport_sk", "_transport_sk null"); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.request.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginLoginInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginLoginInfo.java new file mode 100755 index 00000000000..efe81c39e21 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginLoginInfo.java @@ -0,0 +1,69 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.io.Serializable; + +public class WloginLoginInfo + implements Parcelable, Serializable +{ + public static final Parcelable.Creator CREATOR = new a(); + public static int TYPE_LOACL = 1; + public static int TYPE_REMOTE = 2; + private static final long serialVersionUID = 5551948389726789420L; + public String mAccount; + public long mAppid; + public long mCreateTime; + public String mFaceUrl = ""; + public int mLoginBitmap; + public int mType; + public long mUin; + + private WloginLoginInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public WloginLoginInfo(String paramString1, long paramLong1, long paramLong2, String paramString2, long paramLong3, int paramInt1, int paramInt2) + { + this.mAccount = paramString1; + this.mUin = paramLong1; + this.mAppid = paramLong2; + this.mFaceUrl = paramString2; + this.mCreateTime = paramLong3; + this.mType = paramInt1; + this.mLoginBitmap = paramInt2; + } + + public int describeContents() + { + return 0; + } + + public void readFromParcel(Parcel paramParcel) + { + this.mAccount = paramParcel.readString(); + this.mUin = paramParcel.readLong(); + this.mAppid = paramParcel.readLong(); + this.mCreateTime = paramParcel.readLong(); + this.mType = paramParcel.readInt(); + this.mLoginBitmap = paramParcel.readInt(); + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeString(this.mAccount); + paramParcel.writeLong(this.mUin); + paramParcel.writeLong(this.mAppid); + paramParcel.writeLong(this.mCreateTime); + paramParcel.writeInt(this.mType); + paramParcel.writeInt(this.mLoginBitmap); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.WloginLoginInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo$1.java new file mode 100755 index 00000000000..c167e4bc903 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class WloginSigInfo$1 + implements Parcelable.Creator +{ + public WloginSigInfo createFromParcel(Parcel paramParcel) + { + return new WloginSigInfo(paramParcel, null); + } + + public WloginSigInfo[] newArray(int paramInt) + { + return new WloginSigInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.WloginSigInfo.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo.java new file mode 100755 index 00000000000..e84312563a0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSigInfo.java @@ -0,0 +1,417 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.io.Serializable; +import oicq.wlogin_sdk.tools.util; + +public class WloginSigInfo + implements Parcelable, Serializable +{ + public static final Parcelable.Creator CREATOR = new WloginSigInfo.1(); + public static final int SIG_RESERVE_LENGTH = 12; + public static final int SIG_RESERVE_VALID_LENGTH = 7; + public static byte[] _LHSig = new byte[0]; + public static byte[] _QRPUSHSig = new byte[0]; + private static final long serialVersionUID = 1L; + public long _A2_create_time = 0L; + public long _A2_expire_time = 0L; + public byte[] _D2 = new byte[0]; + public byte[] _D2Key = new byte[0]; + public long _D2_create_time = 0L; + public long _D2_expire_time = 0L; + public byte[] _DA2 = new byte[0]; + public byte[] _G = new byte[0]; + public byte[] _TGT = new byte[0]; + public byte[] _TGTKey = new byte[0]; + public byte[] _access_token = new byte[0]; + public long _access_token_create_time = 0L; + public long _app_pri = 0L; + public byte[] _aqSig = new byte[0]; + public long _aqSig_create_time = 0L; + public long _create_time = 0L; + public byte[] _dpwd = new byte[0]; + public byte[] _en_A1 = new byte[0]; + public int _login_bitmap = 0; + public byte[] _lsKey = new byte[0]; + public long _lsKey_create_time = 0L; + public long _lsKey_expire_time = 0L; + public byte[] _noPicSig = new byte[0]; + public byte[] _openid = new byte[0]; + public byte[] _openkey = new byte[0]; + public long _openkey_create_time = 0L; + public byte[] _pay_token = new byte[0]; + public byte[] _pf = new byte[0]; + public byte[] _pfKey = new byte[0]; + public byte[] _psKey = new byte[0]; + public long _psKey_create_time = 0L; + public byte[] _randseed = new byte[0]; + public byte[] _sKey = new byte[0]; + public long _sKey_create_time = 0L; + public long _sKey_expire_time = 0L; + public byte[] _sid = new byte[0]; + public long _sid_create_time = 0L; + public long _sid_expire_time = 0L; + public byte[] _superKey = new byte[0]; + public byte[] _userA5 = new byte[0]; + public long _userA5_create_time = 0L; + public byte[] _userA8 = new byte[0]; + public long _userA8_create_time = 0L; + public long _userA8_expire_time = 0L; + public byte[] _userSig64 = new byte[0]; + public long _userSig64_create_time = 0L; + public byte[] _userStSig = new byte[0]; + public long _userStSig_create_time = 0L; + public byte[] _userStWebSig = new byte[0]; + public long _userStWebSig_create_time = 0L; + public long _userStWebSig_expire_time = 0L; + public byte[] _userSt_Key = new byte[0]; + public long _vKey_expire_time = 0L; + public byte[] _vkey = new byte[0]; + public long _vkey_create_time = 0L; + + public WloginSigInfo(long paramLong1, long paramLong2, long paramLong3, long paramLong4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[][] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + SetSigInfo(paramLong1, paramLong2, paramLong3, paramLong4, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte, paramArrayOfLong, paramInt); + } + + public WloginSigInfo(long paramLong1, long paramLong2, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + this._app_pri = 4294967295L; + if ((paramArrayOfByte1 != null) && (paramArrayOfByte1.length > 0)) + { + this._userStSig = ((byte[])paramArrayOfByte1.clone()); + this._userStSig_create_time = paramLong1; + } + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length > 0)) { + this._userSt_Key = ((byte[])paramArrayOfByte2.clone()); + } + } + + private WloginSigInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public WloginSigInfo Set(long paramLong1, long paramLong2, long paramLong3, long paramLong4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[][] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + SetSigInfo(paramLong1, paramLong2, paramLong3, paramLong4, paramArrayOfByte1, paramArrayOfByte2, paramArrayOfByte3, paramArrayOfByte4, paramArrayOfByte5, paramArrayOfByte6, paramArrayOfByte7, paramArrayOfByte8, paramArrayOfByte9, paramArrayOfByte10, paramArrayOfByte11, paramArrayOfByte12, paramArrayOfByte, paramArrayOfLong, paramInt); + return this; + } + + public WloginSigInfo Set(byte[][] paramArrayOfByte, long paramLong) + { + if ((paramArrayOfByte != null) && (paramArrayOfByte.length == 5)) { + if ((paramArrayOfByte[0] != null) && (paramArrayOfByte[0].length > 0)) + { + this._en_A1 = ((byte[])paramArrayOfByte[0].clone()); + this._create_time = paramLong; + if ((paramArrayOfByte[1] == null) || (paramArrayOfByte[1].length <= 0)) { + break label147; + } + } + } + label147: + for (this._noPicSig = ((byte[])paramArrayOfByte[1].clone());; this._noPicSig = new byte[0]) + { + if ((paramArrayOfByte[2] != null) && (paramArrayOfByte[2].length > 0)) { + this._G = ((byte[])paramArrayOfByte[2].clone()); + } + if ((paramArrayOfByte[3] != null) && (paramArrayOfByte[3].length > 0)) { + this._dpwd = ((byte[])paramArrayOfByte[3].clone()); + } + if ((paramArrayOfByte[4] != null) && (paramArrayOfByte[4].length > 0)) { + this._randseed = ((byte[])paramArrayOfByte[4].clone()); + } + return this; + } + } + + public void SetSigInfo(long paramLong1, long paramLong2, long paramLong3, long paramLong4, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7, byte[] paramArrayOfByte8, byte[] paramArrayOfByte9, byte[] paramArrayOfByte10, byte[] paramArrayOfByte11, byte[] paramArrayOfByte12, byte[][] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length != 12)) { + util.LOGI("ERROR:reserve null or length not right", ""); + } + do + { + return; + if ((paramArrayOfLong == null) || (paramArrayOfLong.length != 7)) + { + util.LOGI("reserve_valid null or length not right", ""); + return; + } + this._app_pri = paramLong1; + this._A2_expire_time = paramLong4; + this._login_bitmap |= paramInt; + if ((paramArrayOfByte1 != null) && (paramArrayOfByte1.length > 0)) + { + this._TGT = ((byte[])paramArrayOfByte1.clone()); + this._A2_create_time = paramLong2; + } + if ((paramArrayOfByte2 != null) && (paramArrayOfByte2.length > 0)) { + this._TGTKey = ((byte[])paramArrayOfByte2.clone()); + } + if ((paramArrayOfByte3 != null) && (paramArrayOfByte3.length > 0)) + { + this._userStSig = ((byte[])paramArrayOfByte3.clone()); + this._userStSig_create_time = paramLong2; + } + if ((paramArrayOfByte4 != null) && (paramArrayOfByte4.length > 0)) { + this._userSt_Key = ((byte[])paramArrayOfByte4.clone()); + } + if ((paramArrayOfByte5 != null) && (paramArrayOfByte5.length > 0)) + { + this._userStWebSig = ((byte[])paramArrayOfByte5.clone()); + this._userStWebSig_create_time = paramLong2; + this._userStWebSig_expire_time = (paramArrayOfLong[4] + paramLong2); + } + if ((paramArrayOfByte6 != null) && (paramArrayOfByte6.length > 0)) + { + this._userA5 = ((byte[])paramArrayOfByte6.clone()); + this._userA5_create_time = paramLong2; + } + if ((paramArrayOfByte7 != null) && (paramArrayOfByte7.length > 0)) + { + this._userA8 = ((byte[])paramArrayOfByte7.clone()); + this._userA8_create_time = paramLong2; + this._userA8_expire_time = (paramArrayOfLong[3] + paramLong2); + } + if ((paramArrayOfByte8 != null) && (paramArrayOfByte8.length > 0)) + { + this._lsKey = ((byte[])paramArrayOfByte8.clone()); + this._lsKey_create_time = paramLong2; + this._lsKey_expire_time = (paramArrayOfLong[0] + paramLong2); + } + if ((paramArrayOfByte9 != null) && (paramArrayOfByte9.length > 0)) + { + this._sKey = ((byte[])paramArrayOfByte9.clone()); + this._sKey_create_time = paramLong2; + this._sKey_expire_time = (paramArrayOfLong[1] + paramLong2); + } + if ((paramArrayOfByte10 != null) && (paramArrayOfByte10.length > 0)) + { + this._userSig64 = ((byte[])paramArrayOfByte10.clone()); + this._userSig64_create_time = paramLong2; + } + if ((paramArrayOfByte11 != null) && (paramArrayOfByte11.length > 0)) { + this._openid = ((byte[])paramArrayOfByte11.clone()); + } + if ((paramArrayOfByte12 != null) && (paramArrayOfByte12.length > 0)) + { + this._openkey = ((byte[])paramArrayOfByte12.clone()); + this._openkey_create_time = paramLong2; + } + if ((paramArrayOfByte[0] != null) && (paramArrayOfByte[0].length > 0)) + { + this._vkey = ((byte[])paramArrayOfByte[0].clone()); + this._vkey_create_time = paramLong2; + this._vKey_expire_time = (paramArrayOfLong[2] + paramLong2); + } + if ((paramArrayOfByte[1] != null) && (paramArrayOfByte[1].length > 0)) + { + this._access_token = ((byte[])paramArrayOfByte[1].clone()); + this._access_token_create_time = paramLong2; + } + if ((paramArrayOfByte[2] != null) && (paramArrayOfByte[2].length > 0)) + { + this._D2 = ((byte[])paramArrayOfByte[2].clone()); + this._D2_create_time = paramLong2; + this._D2_expire_time = (paramArrayOfLong[5] + paramLong2); + } + if ((paramArrayOfByte[3] != null) && (paramArrayOfByte[3].length > 0)) { + this._D2Key = ((byte[])paramArrayOfByte[3].clone()); + } + if ((paramArrayOfByte[4] != null) && (paramArrayOfByte[4].length > 0)) + { + this._sid = ((byte[])paramArrayOfByte[4].clone()); + this._sid_create_time = paramLong2; + this._sid_expire_time = (paramArrayOfLong[6] + paramLong2); + } + if ((paramArrayOfByte[5] != null) && (paramArrayOfByte[5].length > 0)) + { + this._aqSig = ((byte[])paramArrayOfByte[5].clone()); + this._aqSig_create_time = paramLong2; + } + if ((paramArrayOfByte[6] != null) && (paramArrayOfByte[6].length > 2)) + { + this._psKey = ((byte[])paramArrayOfByte[6].clone()); + this._psKey_create_time = paramLong2; + } + if ((paramArrayOfByte[7] != null) && (paramArrayOfByte[7].length > 0)) + { + this._superKey = ((byte[])paramArrayOfByte[7].clone()); + this._psKey_create_time = paramLong2; + } + if ((paramArrayOfByte[8] != null) && (paramArrayOfByte[8].length > 0)) { + this._pay_token = ((byte[])paramArrayOfByte[8].clone()); + } + if ((paramArrayOfByte[9] != null) && (paramArrayOfByte[9].length > 0)) { + this._pf = ((byte[])paramArrayOfByte[9].clone()); + } + if ((paramArrayOfByte[10] != null) && (paramArrayOfByte[10].length > 0)) { + this._pfKey = ((byte[])paramArrayOfByte[10].clone()); + } + } while (paramArrayOfByte[11] == null); + if (paramArrayOfByte[11].length > 0) + { + this._DA2 = ((byte[])paramArrayOfByte[11].clone()); + return; + } + this._DA2 = new byte[0]; + util.LOGI("clear _DA2", ""); + } + + public int describeContents() + { + return 0; + } + + public boolean iSExpireA2(long paramLong) + { + return paramLong > this._A2_expire_time; + } + + public void readFromParcel(Parcel paramParcel) + { + this._TGT = paramParcel.createByteArray(); + this._TGTKey = paramParcel.createByteArray(); + this._userStSig = paramParcel.createByteArray(); + this._userSt_Key = paramParcel.createByteArray(); + this._userStWebSig = paramParcel.createByteArray(); + this._userA5 = paramParcel.createByteArray(); + this._userA8 = paramParcel.createByteArray(); + this._lsKey = paramParcel.createByteArray(); + this._sKey = paramParcel.createByteArray(); + this._userSig64 = paramParcel.createByteArray(); + this._openid = paramParcel.createByteArray(); + this._openkey = paramParcel.createByteArray(); + this._vkey = paramParcel.createByteArray(); + this._en_A1 = paramParcel.createByteArray(); + this._access_token = paramParcel.createByteArray(); + this._D2 = paramParcel.createByteArray(); + this._D2Key = paramParcel.createByteArray(); + this._sid = paramParcel.createByteArray(); + this._noPicSig = paramParcel.createByteArray(); + this._aqSig = paramParcel.createByteArray(); + this._psKey = paramParcel.createByteArray(); + this._superKey = paramParcel.createByteArray(); + this._G = paramParcel.createByteArray(); + this._dpwd = paramParcel.createByteArray(); + this._randseed = paramParcel.createByteArray(); + this._login_bitmap = paramParcel.readInt(); + this._app_pri = paramParcel.readLong(); + this._A2_expire_time = paramParcel.readLong(); + this._lsKey_expire_time = paramParcel.readLong(); + this._sKey_expire_time = paramParcel.readLong(); + this._vKey_expire_time = paramParcel.readLong(); + this._userA8_expire_time = paramParcel.readLong(); + this._userStWebSig_expire_time = paramParcel.readLong(); + this._D2_expire_time = paramParcel.readLong(); + this._sid_expire_time = paramParcel.readLong(); + this._create_time = paramParcel.readLong(); + this._A2_create_time = paramParcel.readLong(); + this._userStSig_create_time = paramParcel.readLong(); + this._userStWebSig_create_time = paramParcel.readLong(); + this._userA5_create_time = paramParcel.readLong(); + this._userA8_create_time = paramParcel.readLong(); + this._lsKey_create_time = paramParcel.readLong(); + this._sKey_create_time = paramParcel.readLong(); + this._userSig64_create_time = paramParcel.readLong(); + this._openkey_create_time = paramParcel.readLong(); + this._vkey_create_time = paramParcel.readLong(); + this._access_token_create_time = paramParcel.readLong(); + this._D2_create_time = paramParcel.readLong(); + this._sid_create_time = paramParcel.readLong(); + this._aqSig_create_time = paramParcel.readLong(); + this._psKey_create_time = paramParcel.readLong(); + this._pay_token = paramParcel.createByteArray(); + this._pf = paramParcel.createByteArray(); + this._pfKey = paramParcel.createByteArray(); + this._DA2 = paramParcel.createByteArray(); + } + + public WloginSigInfo setDA2(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) + { + this._DA2 = new byte[0]; + return this; + } + this._DA2 = ((byte[])paramArrayOfByte.clone()); + return this; + } + + public WloginSigInfo setRandSeed(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) { + this._randseed = ((byte[])paramArrayOfByte.clone()); + } + return this; + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeByteArray(this._TGT); + paramParcel.writeByteArray(this._TGTKey); + paramParcel.writeByteArray(this._userStSig); + paramParcel.writeByteArray(this._userSt_Key); + paramParcel.writeByteArray(this._userStWebSig); + paramParcel.writeByteArray(this._userA5); + paramParcel.writeByteArray(this._userA8); + paramParcel.writeByteArray(this._lsKey); + paramParcel.writeByteArray(this._sKey); + paramParcel.writeByteArray(this._userSig64); + paramParcel.writeByteArray(this._openid); + paramParcel.writeByteArray(this._openkey); + paramParcel.writeByteArray(this._vkey); + paramParcel.writeByteArray(this._en_A1); + paramParcel.writeByteArray(this._access_token); + paramParcel.writeByteArray(this._D2); + paramParcel.writeByteArray(this._D2Key); + paramParcel.writeByteArray(this._sid); + paramParcel.writeByteArray(this._noPicSig); + paramParcel.writeByteArray(this._aqSig); + paramParcel.writeByteArray(this._psKey); + paramParcel.writeByteArray(this._superKey); + paramParcel.writeByteArray(this._G); + paramParcel.writeByteArray(this._dpwd); + paramParcel.writeByteArray(this._randseed); + paramParcel.writeInt(this._login_bitmap); + paramParcel.writeLong(this._app_pri); + paramParcel.writeLong(this._A2_expire_time); + paramParcel.writeLong(this._lsKey_expire_time); + paramParcel.writeLong(this._sKey_expire_time); + paramParcel.writeLong(this._vKey_expire_time); + paramParcel.writeLong(this._userA8_expire_time); + paramParcel.writeLong(this._userStWebSig_expire_time); + paramParcel.writeLong(this._D2_expire_time); + paramParcel.writeLong(this._sid_expire_time); + paramParcel.writeLong(this._create_time); + paramParcel.writeLong(this._A2_create_time); + paramParcel.writeLong(this._userStSig_create_time); + paramParcel.writeLong(this._userStWebSig_create_time); + paramParcel.writeLong(this._userA5_create_time); + paramParcel.writeLong(this._userA8_create_time); + paramParcel.writeLong(this._lsKey_create_time); + paramParcel.writeLong(this._sKey_create_time); + paramParcel.writeLong(this._userSig64_create_time); + paramParcel.writeLong(this._openkey_create_time); + paramParcel.writeLong(this._vkey_create_time); + paramParcel.writeLong(this._access_token_create_time); + paramParcel.writeLong(this._D2_create_time); + paramParcel.writeLong(this._sid_create_time); + paramParcel.writeLong(this._aqSig_create_time); + paramParcel.writeLong(this._psKey_create_time); + paramParcel.writeByteArray(this._pay_token); + paramParcel.writeByteArray(this._pf); + paramParcel.writeByteArray(this._pfKey); + paramParcel.writeByteArray(this._DA2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.WloginSigInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo$1.java new file mode 100755 index 00000000000..419cfbd3677 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class WloginSimpleInfo$1 + implements Parcelable.Creator +{ + public WloginSimpleInfo createFromParcel(Parcel paramParcel) + { + return new WloginSimpleInfo(paramParcel, null); + } + + public WloginSimpleInfo[] newArray(int paramInt) + { + return new WloginSimpleInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.WloginSimpleInfo.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo.java new file mode 100755 index 00000000000..3045dc7ca4f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/WloginSimpleInfo.java @@ -0,0 +1,301 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; +import java.io.Serializable; + +public class WloginSimpleInfo + implements Parcelable, Serializable +{ + public static final Parcelable.Creator CREATOR = new WloginSimpleInfo.1(); + private static final long serialVersionUID = 1L; + public byte[] _age; + public byte[] _face; + public byte[] _gender; + public byte[] _img_format; + public byte[] _img_type; + public byte[] _img_url; + public byte[] _nick; + public long _uin; + + public WloginSimpleInfo() + { + this._uin = 0L; + this._face = new byte[0]; + this._age = new byte[0]; + this._gender = new byte[0]; + this._nick = new byte[0]; + this._img_type = new byte[0]; + this._img_format = new byte[0]; + this._img_url = new byte[0]; + } + + public WloginSimpleInfo(long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[] paramArrayOfByte5, byte[] paramArrayOfByte6, byte[] paramArrayOfByte7) + { + this._uin = paramLong; + if (paramArrayOfByte1 != null) + { + this._face = ((byte[])paramArrayOfByte1.clone()); + if (paramArrayOfByte2 == null) { + break label137; + } + this._age = ((byte[])paramArrayOfByte2.clone()); + label41: + if (paramArrayOfByte3 == null) { + break label147; + } + this._gender = ((byte[])paramArrayOfByte3.clone()); + label58: + if (paramArrayOfByte4 == null) { + break label157; + } + this._nick = ((byte[])paramArrayOfByte4.clone()); + label75: + if (paramArrayOfByte5 == null) { + break label167; + } + this._img_type = ((byte[])paramArrayOfByte5.clone()); + label92: + if (paramArrayOfByte6 == null) { + break label177; + } + } + label137: + label147: + label157: + label167: + label177: + for (this._img_format = ((byte[])paramArrayOfByte6.clone());; this._img_format = new byte[0]) + { + if (paramArrayOfByte7 == null) { + break label187; + } + this._img_url = ((byte[])paramArrayOfByte7.clone()); + return; + this._face = new byte[0]; + break; + this._age = new byte[0]; + break label41; + this._gender = new byte[0]; + break label58; + this._nick = new byte[0]; + break label75; + this._img_type = new byte[0]; + break label92; + } + label187: + this._img_url = new byte[0]; + } + + public WloginSimpleInfo(long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[][] paramArrayOfByte) + { + this._uin = paramLong; + if (paramArrayOfByte1 != null) + { + this._face = ((byte[])paramArrayOfByte1.clone()); + if (paramArrayOfByte2 == null) { + break label140; + } + this._age = ((byte[])paramArrayOfByte2.clone()); + label41: + if (paramArrayOfByte3 == null) { + break label150; + } + this._gender = ((byte[])paramArrayOfByte3.clone()); + label58: + if (paramArrayOfByte4 == null) { + break label160; + } + } + label140: + label150: + label160: + for (this._nick = ((byte[])paramArrayOfByte4.clone());; this._nick = new byte[0]) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length != 3)) { + break label170; + } + this._img_type = ((byte[])paramArrayOfByte[0].clone()); + this._img_format = ((byte[])paramArrayOfByte[1].clone()); + this._img_url = ((byte[])paramArrayOfByte[2].clone()); + return; + this._face = new byte[0]; + break; + this._age = new byte[0]; + break label41; + this._gender = new byte[0]; + break label58; + } + label170: + this._img_type = new byte[0]; + this._img_format = new byte[0]; + this._img_url = new byte[0]; + } + + private WloginSimpleInfo(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public int describeContents() + { + return 0; + } + + public WloginSimpleInfo get_clone() + { + WloginSimpleInfo localWloginSimpleInfo = new WloginSimpleInfo(); + localWloginSimpleInfo._uin = this._uin; + if (this._face != null) { + localWloginSimpleInfo._face = ((byte[])this._face.clone()); + } + if (this._age != null) { + localWloginSimpleInfo._age = ((byte[])this._age.clone()); + } + if (this._gender != null) { + localWloginSimpleInfo._gender = ((byte[])this._gender.clone()); + } + if (this._nick != null) { + localWloginSimpleInfo._nick = ((byte[])this._nick.clone()); + } + if (this._img_type != null) { + localWloginSimpleInfo._img_type = ((byte[])this._img_type.clone()); + } + if (this._img_format != null) { + localWloginSimpleInfo._img_format = ((byte[])this._img_format.clone()); + } + if (this._img_url != null) { + localWloginSimpleInfo._img_url = ((byte[])this._img_url.clone()); + } + return localWloginSimpleInfo; + } + + public void get_clone(WloginSimpleInfo paramWloginSimpleInfo) + { + this._uin = paramWloginSimpleInfo._uin; + if (paramWloginSimpleInfo._face != null) + { + this._face = ((byte[])paramWloginSimpleInfo._face.clone()); + if (paramWloginSimpleInfo._age == null) { + break label166; + } + this._age = ((byte[])paramWloginSimpleInfo._age.clone()); + label50: + if (paramWloginSimpleInfo._gender == null) { + break label176; + } + this._gender = ((byte[])paramWloginSimpleInfo._gender.clone()); + label71: + if (paramWloginSimpleInfo._nick == null) { + break label186; + } + this._nick = ((byte[])paramWloginSimpleInfo._nick.clone()); + label92: + if (paramWloginSimpleInfo._img_type == null) { + break label196; + } + this._img_type = ((byte[])paramWloginSimpleInfo._img_type.clone()); + label113: + if (paramWloginSimpleInfo._img_format == null) { + break label206; + } + } + label166: + label176: + label186: + label196: + label206: + for (this._img_format = ((byte[])paramWloginSimpleInfo._img_format.clone());; this._img_format = new byte[0]) + { + if (paramWloginSimpleInfo._img_url == null) { + break label216; + } + this._img_url = ((byte[])paramWloginSimpleInfo._img_url.clone()); + return; + this._face = new byte[0]; + break; + this._age = new byte[0]; + break label50; + this._gender = new byte[0]; + break label71; + this._nick = new byte[0]; + break label92; + this._img_type = new byte[0]; + break label113; + } + label216: + this._img_url = new byte[0]; + } + + public void readFromParcel(Parcel paramParcel) + { + this._uin = paramParcel.readLong(); + this._face = paramParcel.createByteArray(); + this._age = paramParcel.createByteArray(); + this._gender = paramParcel.createByteArray(); + this._nick = paramParcel.createByteArray(); + this._img_type = paramParcel.createByteArray(); + this._img_format = paramParcel.createByteArray(); + this._img_url = paramParcel.createByteArray(); + } + + public void set_info(long paramLong, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, byte[] paramArrayOfByte4, byte[][] paramArrayOfByte) + { + this._uin = paramLong; + if (paramArrayOfByte1 != null) + { + this._face = ((byte[])paramArrayOfByte1.clone()); + if (paramArrayOfByte2 == null) { + break label160; + } + this._age = ((byte[])paramArrayOfByte2.clone()); + label37: + if (paramArrayOfByte3 == null) { + break label170; + } + this._gender = ((byte[])paramArrayOfByte3.clone()); + label54: + if (paramArrayOfByte4 == null) { + break label180; + } + } + label160: + label170: + label180: + for (this._nick = ((byte[])paramArrayOfByte4.clone());; this._nick = new byte[0]) + { + if ((paramArrayOfByte != null) && (paramArrayOfByte.length == 3) && (paramArrayOfByte[0].length > 0) && (paramArrayOfByte[1].length > 0) && (paramArrayOfByte[2].length > 0)) + { + this._img_type = ((byte[])paramArrayOfByte[0].clone()); + this._img_format = ((byte[])paramArrayOfByte[1].clone()); + this._img_url = ((byte[])paramArrayOfByte[2].clone()); + } + return; + this._face = new byte[0]; + break; + this._age = new byte[0]; + break label37; + this._gender = new byte[0]; + break label54; + } + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeLong(this._uin); + paramParcel.writeByteArray(this._face); + paramParcel.writeByteArray(this._age); + paramParcel.writeByteArray(this._gender); + paramParcel.writeByteArray(this._nick); + paramParcel.writeByteArray(this._img_type); + paramParcel.writeByteArray(this._img_format); + paramParcel.writeByteArray(this._img_url); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.WloginSimpleInfo + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/a.java new file mode 100755 index 00000000000..298caba130d --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/sharemem/a.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.sharemem; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class a + implements Parcelable.Creator +{ + public WloginLoginInfo a(Parcel paramParcel) + { + return new WloginLoginInfo(paramParcel, null); + } + + public WloginLoginInfo[] a(int paramInt) + { + return new WloginLoginInfo[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.sharemem.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/EcdhCrypt.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/EcdhCrypt.java new file mode 100755 index 00000000000..c19498b7c5f --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/EcdhCrypt.java @@ -0,0 +1,72 @@ +package oicq.wlogin_sdk.tools; + +import android.content.Context; + +public class EcdhCrypt +{ + public static final String DEFAULT_PUB_KEY = "020b03cf3d99541f29ffec281bebbd4ea211292ac1f53d7128"; + public static final String DEFAULT_SHARE_KEY = "4da0f614fc9f29c2054c77048a6566d7"; + private static final String S_PUB_KEY = "04928D8850673088B343264E0C6BACB8496D697799F37211DEB25BB73906CB089FEA9639B4E0260498B51A992D50813DA8"; + private byte[] _c_pub_key = new byte[0]; + private byte[] _g_share_key = new byte[0]; + + public EcdhCrypt(Context paramContext) + { + util.loadLibrary("wtecdh", paramContext); + } + + public native int GenECDHKey(String paramString); + + public int GenereateKey() + { + try + { + try + { + util.LOGI("ecdh begin", ""); + int i = GenECDHKey("04928D8850673088B343264E0C6BACB8496D697799F37211DEB25BB73906CB089FEA9639B4E0260498B51A992D50813DA8"); + util.LOGI("ecdh end", ""); + return i; + } + finally {} + return -1; + } + catch (UnsatisfiedLinkError localUnsatisfiedLinkError) {} + } + + public byte[] get_c_pub_key() + { + return this._c_pub_key; + } + + public byte[] get_g_share_key() + { + return this._g_share_key; + } + + public void set_c_pub_key(byte[] paramArrayOfByte) + { + if (paramArrayOfByte != null) + { + this._c_pub_key = ((byte[])paramArrayOfByte.clone()); + return; + } + this._c_pub_key = new byte[0]; + } + + public void set_g_share_key(byte[] paramArrayOfByte) + { + if (paramArrayOfByte != null) + { + this._g_share_key = ((byte[])paramArrayOfByte.clone()); + return; + } + this._g_share_key = new byte[0]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.EcdhCrypt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg$1.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg$1.java new file mode 100755 index 00000000000..e273abaebaa --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg$1.java @@ -0,0 +1,24 @@ +package oicq.wlogin_sdk.tools; + +import android.os.Parcel; +import android.os.Parcelable.Creator; + +final class ErrMsg$1 + implements Parcelable.Creator +{ + public ErrMsg createFromParcel(Parcel paramParcel) + { + return new ErrMsg(paramParcel, null); + } + + public ErrMsg[] newArray(int paramInt) + { + return new ErrMsg[paramInt]; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.ErrMsg.1 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg.java new file mode 100755 index 00000000000..e82d6d717cb --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/ErrMsg.java @@ -0,0 +1,119 @@ +package oicq.wlogin_sdk.tools; + +import android.os.Parcel; +import android.os.Parcelable; +import android.os.Parcelable.Creator; + +public class ErrMsg + implements Parcelable, Cloneable +{ + public static final Parcelable.Creator CREATOR = new ErrMsg.1(); + private String message; + private String otherinfo; + private String title; + private int type; + + public ErrMsg() + { + this.type = 0; + this.title = InternationMsg.a(InternationMsg.MSG_TYPE.MSG_0); + this.message = InternationMsg.a(InternationMsg.MSG_TYPE.MSG_1); + this.otherinfo = ""; + } + + public ErrMsg(int paramInt, String paramString1, String paramString2, String paramString3) + { + this.type = paramInt; + this.title = paramString1; + this.message = paramString2; + this.otherinfo = paramString3; + } + + private ErrMsg(Parcel paramParcel) + { + readFromParcel(paramParcel); + } + + public Object clone() + { + return super.clone(); + } + + public int describeContents() + { + return 0; + } + + public String getMessage() + { + return this.message; + } + + public String getOtherinfo() + { + return this.otherinfo; + } + + public String getTitle() + { + return this.title; + } + + public int getType() + { + return this.type; + } + + public void readFromParcel(Parcel paramParcel) + { + this.type = paramParcel.readInt(); + this.title = paramParcel.readString(); + this.message = paramParcel.readString(); + this.otherinfo = paramParcel.readString(); + } + + public void setMessage(String paramString) + { + this.message = paramString; + } + + public void setOtherinfo(String paramString) + { + this.otherinfo = paramString; + } + + public void setTitle(String paramString) + { + this.title = paramString; + } + + public void setType(int paramInt) + { + this.type = paramInt; + } + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder().append("("); + if (this.type < 0) {} + for (Object localObject = Integer.valueOf(this.type);; localObject = Integer.toString(this.type)) + { + localObject = localObject + ")["; + return (String)localObject + this.title + "]" + this.message + "[" + this.otherinfo + "]"; + } + } + + public void writeToParcel(Parcel paramParcel, int paramInt) + { + paramParcel.writeInt(this.type); + paramParcel.writeString(this.title); + paramParcel.writeString(this.message); + paramParcel.writeString(this.otherinfo); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.ErrMsg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/InternationMsg.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/InternationMsg.java new file mode 100755 index 00000000000..e214af25b75 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/InternationMsg.java @@ -0,0 +1,48 @@ +package oicq.wlogin_sdk.tools; + +import oicq.wlogin_sdk.request.t; + +public class InternationMsg +{ + static a[] a = { new a(2052, MSG_TYPE.MSG_0, "登录失败"), new a(1028, MSG_TYPE.MSG_0, "登錄失敗"), new a(1033, MSG_TYPE.MSG_0, "Unable to login"), new a(2052, MSG_TYPE.MSG_1, "请你稍后重试。"), new a(1028, MSG_TYPE.MSG_1, "請你稍後重試。"), new a(1033, MSG_TYPE.MSG_1, "Please try again later."), new a(2052, MSG_TYPE.MSG_2, "手机存储异常,请删除帐号重试。"), new a(1028, MSG_TYPE.MSG_2, "手機存儲異常,請刪除帳號重試。"), new a(1033, MSG_TYPE.MSG_2, "Phone memory error, please delete the account and try again."), new a(2052, MSG_TYPE.MSG_3, "请求失败,请你稍后重试。"), new a(1028, MSG_TYPE.MSG_3, "請求失敗,請你稍後重試。"), new a(1033, MSG_TYPE.MSG_3, "Request failed, please try again later."), new a(2052, MSG_TYPE.MSG_4, "网络超时,请你稍后重试。"), new a(1028, MSG_TYPE.MSG_4, "網絡超時,請你稍後重試。"), new a(1033, MSG_TYPE.MSG_4, "Network timeout, please try again later."), new a(2052, MSG_TYPE.MSG_5, "登录设备保护"), new a(1028, MSG_TYPE.MSG_5, "登錄設備保護"), new a(1033, MSG_TYPE.MSG_5, "Device Protection") }; + + public static String a(MSG_TYPE paramMSG_TYPE) + { + int i = 0; + while (i < a.length) + { + if ((paramMSG_TYPE == a[i].b) && (t.s == a[i].a)) { + return a[i].c; + } + i += 1; + } + return ""; + } + + public static enum MSG_TYPE + { + MSG_0, MSG_1, MSG_2, MSG_3, MSG_4, MSG_5; + + private MSG_TYPE() {} + } + + static class a + { + int a; + InternationMsg.MSG_TYPE b; + String c; + + public a(int paramInt, InternationMsg.MSG_TYPE paramMSG_TYPE, String paramString) + { + this.a = paramInt; + this.b = paramMSG_TYPE; + this.c = paramString; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.InternationMsg + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/LogCallBack.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/LogCallBack.java new file mode 100755 index 00000000000..85de9bb1fc7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/LogCallBack.java @@ -0,0 +1,18 @@ +package oicq.wlogin_sdk.tools; + +import org.json.JSONObject; + +public class LogCallBack +{ + public void OnLog(String paramString) {} + + public void OnLog(String paramString1, String paramString2) {} + + public void OnLog(JSONObject paramJSONObject) {} +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.LogCallBack + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/MD5.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/MD5.java new file mode 100755 index 00000000000..8c9bbf36a7a --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/MD5.java @@ -0,0 +1,729 @@ +package oicq.wlogin_sdk.tools; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; + +public class MD5 +{ + static final byte[] PADDING = { -128, 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, 0, 0, 0 }; + static final int S11 = 7; + static final int S12 = 12; + static final int S13 = 17; + static final int S14 = 22; + static final int S21 = 5; + static final int S22 = 9; + static final int S23 = 14; + static final int S24 = 20; + static final int S31 = 4; + static final int S32 = 11; + static final int S33 = 16; + static final int S34 = 23; + static final int S41 = 6; + static final int S42 = 10; + static final int S43 = 15; + static final int S44 = 21; + private byte[] buffer = new byte[64]; + private long[] count = new long[2]; + private byte[] digest = new byte[16]; + public String digestHexStr; + private long[] state = new long[4]; + + public MD5() + { + md5Init(); + } + + private void Decode(long[] paramArrayOfLong, byte[] paramArrayOfByte, int paramInt) + { + int i = 0; + int j = 0; + while (i < paramInt) + { + paramArrayOfLong[j] = (b2iu(paramArrayOfByte[i]) | b2iu(paramArrayOfByte[(i + 1)]) << 8 | b2iu(paramArrayOfByte[(i + 2)]) << 16 | b2iu(paramArrayOfByte[(i + 3)]) << 24); + j += 1; + i += 4; + } + } + + private void Encode(byte[] paramArrayOfByte, long[] paramArrayOfLong, int paramInt) + { + int i = 0; + int j = 0; + while (i < paramInt) + { + paramArrayOfByte[i] = ((byte)(int)(paramArrayOfLong[j] & 0xFF)); + paramArrayOfByte[(i + 1)] = ((byte)(int)(paramArrayOfLong[j] >>> 8 & 0xFF)); + paramArrayOfByte[(i + 2)] = ((byte)(int)(paramArrayOfLong[j] >>> 16 & 0xFF)); + paramArrayOfByte[(i + 3)] = ((byte)(int)(paramArrayOfLong[j] >>> 24 & 0xFF)); + j += 1; + i += 4; + } + } + + private long F(long paramLong1, long paramLong2, long paramLong3) + { + return paramLong1 & paramLong2 | (0xFFFFFFFF ^ paramLong1) & paramLong3; + } + + private long FF(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = F(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private long G(long paramLong1, long paramLong2, long paramLong3) + { + return paramLong1 & paramLong3 | (0xFFFFFFFF ^ paramLong3) & paramLong2; + } + + private long GG(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = G(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private long H(long paramLong1, long paramLong2, long paramLong3) + { + return paramLong1 ^ paramLong2 ^ paramLong3; + } + + private long HH(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = H(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + private long I(long paramLong1, long paramLong2, long paramLong3) + { + return (0xFFFFFFFF ^ paramLong3 | paramLong1) ^ paramLong2; + } + + private long II(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7) + { + paramLong1 = I(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7 + paramLong1; + int i = (int)paramLong1; + int j = (int)paramLong6; + return ((int)paramLong1 >>> (int)(32L - paramLong6) | i << j) + paramLong2; + } + + public static long b2iu(byte paramByte) + { + if (paramByte < 0) { + return paramByte & 0xFF; + } + return paramByte; + } + + public static String byteHEX(byte paramByte) + { + char[] arrayOfChar = new char[16]; + char[] tmp6_5 = arrayOfChar; + tmp6_5[0] = 48; + char[] tmp11_6 = tmp6_5; + tmp11_6[1] = 49; + char[] tmp16_11 = tmp11_6; + tmp16_11[2] = 50; + char[] tmp21_16 = tmp16_11; + tmp21_16[3] = 51; + char[] tmp26_21 = tmp21_16; + tmp26_21[4] = 52; + char[] tmp31_26 = tmp26_21; + tmp31_26[5] = 53; + char[] tmp36_31 = tmp31_26; + tmp36_31[6] = 54; + char[] tmp42_36 = tmp36_31; + tmp42_36[7] = 55; + char[] tmp48_42 = tmp42_36; + tmp48_42[8] = 56; + char[] tmp54_48 = tmp48_42; + tmp54_48[9] = 57; + char[] tmp60_54 = tmp54_48; + tmp60_54[10] = 65; + char[] tmp66_60 = tmp60_54; + tmp66_60[11] = 66; + char[] tmp72_66 = tmp66_60; + tmp72_66[12] = 67; + char[] tmp78_72 = tmp72_66; + tmp78_72[13] = 68; + char[] tmp84_78 = tmp78_72; + tmp84_78[14] = 69; + char[] tmp90_84 = tmp84_78; + tmp90_84[15] = 70; + tmp90_84; + return new String(new char[] { arrayOfChar[(paramByte >>> 4 & 0xF)], arrayOfChar[(paramByte & 0xF)] }); + } + + /* Error */ + public static String getFileMD5(java.io.File paramFile) + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: aload_0 + // 3: ifnonnull +6 -> 9 + // 6: ldc 127 + // 8: areturn + // 9: new 129 java/io/FileInputStream + // 12: dup + // 13: aload_0 + // 14: invokespecial 132 java/io/FileInputStream: (Ljava/io/File;)V + // 17: astore 5 + // 19: sipush 8192 + // 22: newarray byte + // 24: astore 6 + // 26: bipush 16 + // 28: newarray char + // 30: astore_0 + // 31: aload_0 + // 32: dup + // 33: iconst_0 + // 34: ldc 101 + // 36: castore + // 37: dup + // 38: iconst_1 + // 39: ldc 102 + // 41: castore + // 42: dup + // 43: iconst_2 + // 44: ldc 103 + // 46: castore + // 47: dup + // 48: iconst_3 + // 49: ldc 104 + // 51: castore + // 52: dup + // 53: iconst_4 + // 54: ldc 105 + // 56: castore + // 57: dup + // 58: iconst_5 + // 59: ldc 106 + // 61: castore + // 62: dup + // 63: bipush 6 + // 65: ldc 107 + // 67: castore + // 68: dup + // 69: bipush 7 + // 71: ldc 108 + // 73: castore + // 74: dup + // 75: bipush 8 + // 77: ldc 109 + // 79: castore + // 80: dup + // 81: bipush 9 + // 83: ldc 110 + // 85: castore + // 86: dup + // 87: bipush 10 + // 89: ldc 133 + // 91: castore + // 92: dup + // 93: bipush 11 + // 95: ldc 134 + // 97: castore + // 98: dup + // 99: bipush 12 + // 101: ldc 135 + // 103: castore + // 104: dup + // 105: bipush 13 + // 107: ldc 136 + // 109: castore + // 110: dup + // 111: bipush 14 + // 113: ldc 137 + // 115: castore + // 116: dup + // 117: bipush 15 + // 119: ldc 138 + // 121: castore + // 122: pop + // 123: ldc 140 + // 125: invokestatic 146 java/security/MessageDigest:getInstance (Ljava/lang/String;)Ljava/security/MessageDigest; + // 128: astore 7 + // 130: aload 5 + // 132: aload 6 + // 134: iconst_0 + // 135: aload 6 + // 137: arraylength + // 138: invokevirtual 150 java/io/FileInputStream:read ([BII)I + // 141: istore_2 + // 142: iload_2 + // 143: iconst_m1 + // 144: if_icmpeq +32 -> 176 + // 147: aload 7 + // 149: aload 6 + // 151: iconst_0 + // 152: iload_2 + // 153: invokevirtual 154 java/security/MessageDigest:update ([BII)V + // 156: goto -26 -> 130 + // 159: astore_0 + // 160: aload_0 + // 161: invokevirtual 157 java/lang/Exception:printStackTrace ()V + // 164: aconst_null + // 165: areturn + // 166: astore_0 + // 167: aload_0 + // 168: ldc 127 + // 170: invokestatic 163 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 173: ldc 127 + // 175: areturn + // 176: aload 5 + // 178: invokevirtual 166 java/io/FileInputStream:close ()V + // 181: aload 7 + // 183: invokevirtual 169 java/security/MessageDigest:digest ()[B + // 186: astore 5 + // 188: bipush 32 + // 190: newarray char + // 192: astore 6 + // 194: iconst_0 + // 195: istore_2 + // 196: goto +15 -> 211 + // 199: new 118 java/lang/String + // 202: dup + // 203: aload 6 + // 205: invokespecial 121 java/lang/String: ([C)V + // 208: astore_0 + // 209: aload_0 + // 210: areturn + // 211: iload_1 + // 212: bipush 16 + // 214: if_icmpge -15 -> 199 + // 217: aload 5 + // 219: iload_1 + // 220: baload + // 221: istore_3 + // 222: iload_2 + // 223: iconst_1 + // 224: iadd + // 225: istore 4 + // 227: aload 6 + // 229: iload_2 + // 230: aload_0 + // 231: iload_3 + // 232: iconst_4 + // 233: iushr + // 234: bipush 15 + // 236: iand + // 237: caload + // 238: castore + // 239: iload 4 + // 241: iconst_1 + // 242: iadd + // 243: istore_2 + // 244: aload 6 + // 246: iload 4 + // 248: aload_0 + // 249: iload_3 + // 250: bipush 15 + // 252: iand + // 253: caload + // 254: castore + // 255: iload_1 + // 256: iconst_1 + // 257: iadd + // 258: istore_1 + // 259: goto -48 -> 211 + // Local variable table: + // start length slot name signature + // 0 262 0 paramFile java.io.File + // 1 258 1 i int + // 141 103 2 j int + // 221 32 3 k int + // 225 22 4 m int + // 17 201 5 localObject1 Object + // 24 221 6 localObject2 Object + // 128 54 7 localMessageDigest MessageDigest + // Exception table: + // from to target type + // 123 130 159 java/lang/Exception + // 130 142 159 java/lang/Exception + // 147 156 159 java/lang/Exception + // 176 194 159 java/lang/Exception + // 199 209 159 java/lang/Exception + // 9 19 166 java/lang/Exception + } + + public static String getMD5String(byte[] paramArrayOfByte) + { + int i = 0; + char[] arrayOfChar = new char[16]; + char[] tmp10_8 = arrayOfChar; + tmp10_8[0] = 48; + char[] tmp15_10 = tmp10_8; + tmp15_10[1] = 49; + char[] tmp20_15 = tmp15_10; + tmp20_15[2] = 50; + char[] tmp25_20 = tmp20_15; + tmp25_20[3] = 51; + char[] tmp30_25 = tmp25_20; + tmp30_25[4] = 52; + char[] tmp35_30 = tmp30_25; + tmp35_30[5] = 53; + char[] tmp40_35 = tmp35_30; + tmp40_35[6] = 54; + char[] tmp46_40 = tmp40_35; + tmp46_40[7] = 55; + char[] tmp52_46 = tmp46_40; + tmp52_46[8] = 56; + char[] tmp58_52 = tmp52_46; + tmp58_52[9] = 57; + char[] tmp64_58 = tmp58_52; + tmp64_58[10] = 97; + char[] tmp70_64 = tmp64_58; + tmp70_64[11] = 98; + char[] tmp76_70 = tmp70_64; + tmp76_70[12] = 99; + char[] tmp82_76 = tmp76_70; + tmp82_76[13] = 100; + char[] tmp88_82 = tmp82_76; + tmp88_82[14] = 101; + char[] tmp94_88 = tmp88_82; + tmp94_88[15] = 102; + tmp94_88; + for (;;) + { + Object localObject; + int j; + try + { + localObject = MessageDigest.getInstance("MD5"); + ((MessageDigest)localObject).update(paramArrayOfByte); + paramArrayOfByte = ((MessageDigest)localObject).digest(); + localObject = new char[32]; + j = 0; + } + catch (Exception paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + paramArrayOfByte = new String((char[])localObject); + return paramArrayOfByte; + while (i < 16) + { + int k = paramArrayOfByte[i]; + int m = j + 1; + localObject[j] = arrayOfChar[(k >>> 4 & 0xF)]; + j = m + 1; + localObject[m] = arrayOfChar[(k & 0xF)]; + i += 1; + } + } + } + + private void md5Final() + { + byte[] arrayOfByte = new byte[8]; + Encode(arrayOfByte, this.count, 8); + int i = (int)(this.count[0] >>> 3) & 0x3F; + if (i < 56) {} + for (i = 56 - i;; i = 120 - i) + { + md5Update(PADDING, i); + md5Update(arrayOfByte, 8); + Encode(this.digest, this.state, 16); + return; + } + } + + private void md5Init() + { + this.count[0] = 0L; + this.count[1] = 0L; + this.state[0] = 1732584193L; + this.state[1] = 4023233417L; + this.state[2] = 2562383102L; + this.state[3] = 271733878L; + } + + private void md5Memcpy(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt1, int paramInt2, int paramInt3) + { + int i = 0; + while (i < paramInt3) + { + paramArrayOfByte1[(paramInt1 + i)] = paramArrayOfByte2[(paramInt2 + i)]; + i += 1; + } + } + + private void md5Transform(byte[] paramArrayOfByte) + { + long l2 = this.state[0]; + long l1 = this.state[1]; + long l4 = this.state[2]; + long l3 = this.state[3]; + long[] arrayOfLong = new long[16]; + Decode(arrayOfLong, paramArrayOfByte, 64); + l2 = FF(l2, l1, l4, l3, arrayOfLong[0], 7L, 3614090360L); + l3 = FF(l3, l2, l1, l4, arrayOfLong[1], 12L, 3905402710L); + l4 = FF(l4, l3, l2, l1, arrayOfLong[2], 17L, 606105819L); + l1 = FF(l1, l4, l3, l2, arrayOfLong[3], 22L, 3250441966L); + l2 = FF(l2, l1, l4, l3, arrayOfLong[4], 7L, 4118548399L); + l3 = FF(l3, l2, l1, l4, arrayOfLong[5], 12L, 1200080426L); + l4 = FF(l4, l3, l2, l1, arrayOfLong[6], 17L, 2821735955L); + l1 = FF(l1, l4, l3, l2, arrayOfLong[7], 22L, 4249261313L); + l2 = FF(l2, l1, l4, l3, arrayOfLong[8], 7L, 1770035416L); + l3 = FF(l3, l2, l1, l4, arrayOfLong[9], 12L, 2336552879L); + l4 = FF(l4, l3, l2, l1, arrayOfLong[10], 17L, 4294925233L); + l1 = FF(l1, l4, l3, l2, arrayOfLong[11], 22L, 2304563134L); + l2 = FF(l2, l1, l4, l3, arrayOfLong[12], 7L, 1804603682L); + l3 = FF(l3, l2, l1, l4, arrayOfLong[13], 12L, 4254626195L); + l4 = FF(l4, l3, l2, l1, arrayOfLong[14], 17L, 2792965006L); + l1 = FF(l1, l4, l3, l2, arrayOfLong[15], 22L, 1236535329L); + l2 = GG(l2, l1, l4, l3, arrayOfLong[1], 5L, 4129170786L); + l3 = GG(l3, l2, l1, l4, arrayOfLong[6], 9L, 3225465664L); + l4 = GG(l4, l3, l2, l1, arrayOfLong[11], 14L, 643717713L); + l1 = GG(l1, l4, l3, l2, arrayOfLong[0], 20L, 3921069994L); + l2 = GG(l2, l1, l4, l3, arrayOfLong[5], 5L, 3593408605L); + l3 = GG(l3, l2, l1, l4, arrayOfLong[10], 9L, 38016083L); + l4 = GG(l4, l3, l2, l1, arrayOfLong[15], 14L, 3634488961L); + l1 = GG(l1, l4, l3, l2, arrayOfLong[4], 20L, 3889429448L); + l2 = GG(l2, l1, l4, l3, arrayOfLong[9], 5L, 568446438L); + l3 = GG(l3, l2, l1, l4, arrayOfLong[14], 9L, 3275163606L); + l4 = GG(l4, l3, l2, l1, arrayOfLong[3], 14L, 4107603335L); + l1 = GG(l1, l4, l3, l2, arrayOfLong[8], 20L, 1163531501L); + l2 = GG(l2, l1, l4, l3, arrayOfLong[13], 5L, 2850285829L); + l3 = GG(l3, l2, l1, l4, arrayOfLong[2], 9L, 4243563512L); + l4 = GG(l4, l3, l2, l1, arrayOfLong[7], 14L, 1735328473L); + l1 = GG(l1, l4, l3, l2, arrayOfLong[12], 20L, 2368359562L); + l2 = HH(l2, l1, l4, l3, arrayOfLong[5], 4L, 4294588738L); + l3 = HH(l3, l2, l1, l4, arrayOfLong[8], 11L, 2272392833L); + l4 = HH(l4, l3, l2, l1, arrayOfLong[11], 16L, 1839030562L); + l1 = HH(l1, l4, l3, l2, arrayOfLong[14], 23L, 4259657740L); + l2 = HH(l2, l1, l4, l3, arrayOfLong[1], 4L, 2763975236L); + l3 = HH(l3, l2, l1, l4, arrayOfLong[4], 11L, 1272893353L); + l4 = HH(l4, l3, l2, l1, arrayOfLong[7], 16L, 4139469664L); + l1 = HH(l1, l4, l3, l2, arrayOfLong[10], 23L, 3200236656L); + l2 = HH(l2, l1, l4, l3, arrayOfLong[13], 4L, 681279174L); + l3 = HH(l3, l2, l1, l4, arrayOfLong[0], 11L, 3936430074L); + l4 = HH(l4, l3, l2, l1, arrayOfLong[3], 16L, 3572445317L); + l1 = HH(l1, l4, l3, l2, arrayOfLong[6], 23L, 76029189L); + l2 = HH(l2, l1, l4, l3, arrayOfLong[9], 4L, 3654602809L); + l3 = HH(l3, l2, l1, l4, arrayOfLong[12], 11L, 3873151461L); + l4 = HH(l4, l3, l2, l1, arrayOfLong[15], 16L, 530742520L); + l1 = HH(l1, l4, l3, l2, arrayOfLong[2], 23L, 3299628645L); + l2 = II(l2, l1, l4, l3, arrayOfLong[0], 6L, 4096336452L); + l3 = II(l3, l2, l1, l4, arrayOfLong[7], 10L, 1126891415L); + l4 = II(l4, l3, l2, l1, arrayOfLong[14], 15L, 2878612391L); + l1 = II(l1, l4, l3, l2, arrayOfLong[5], 21L, 4237533241L); + l2 = II(l2, l1, l4, l3, arrayOfLong[12], 6L, 1700485571L); + l3 = II(l3, l2, l1, l4, arrayOfLong[3], 10L, 2399980690L); + l4 = II(l4, l3, l2, l1, arrayOfLong[10], 15L, 4293915773L); + l1 = II(l1, l4, l3, l2, arrayOfLong[1], 21L, 2240044497L); + l2 = II(l2, l1, l4, l3, arrayOfLong[8], 6L, 1873313359L); + l3 = II(l3, l2, l1, l4, arrayOfLong[15], 10L, 4264355552L); + l4 = II(l4, l3, l2, l1, arrayOfLong[6], 15L, 2734768916L); + l1 = II(l1, l4, l3, l2, arrayOfLong[13], 21L, 1309151649L); + l2 = II(l2, l1, l4, l3, arrayOfLong[4], 6L, 4149444226L); + l3 = II(l3, l2, l1, l4, arrayOfLong[11], 10L, 3174756917L); + l4 = II(l4, l3, l2, l1, arrayOfLong[2], 15L, 718787259L); + l1 = II(l1, l4, l3, l2, arrayOfLong[9], 21L, 3951481745L); + paramArrayOfByte = this.state; + paramArrayOfByte[0] += l2; + paramArrayOfByte = this.state; + paramArrayOfByte[1] = (l1 + paramArrayOfByte[1]); + paramArrayOfByte = this.state; + paramArrayOfByte[2] += l4; + paramArrayOfByte = this.state; + paramArrayOfByte[3] += l3; + } + + private void md5Update(byte[] paramArrayOfByte, int paramInt) + { + int j = 0; + byte[] arrayOfByte = new byte[64]; + int k = (int)(this.count[0] >>> 3) & 0x3F; + long[] arrayOfLong = this.count; + long l = arrayOfLong[0] + (paramInt << 3); + arrayOfLong[0] = l; + if (l < paramInt << 3) + { + arrayOfLong = this.count; + arrayOfLong[1] += 1L; + } + arrayOfLong = this.count; + arrayOfLong[1] += (paramInt >>> 29); + int m = 64 - k; + int i = k; + if (paramInt >= m) + { + md5Memcpy(this.buffer, paramArrayOfByte, k, 0, m); + md5Transform(this.buffer); + i = m; + while (i + 63 < paramInt) + { + md5Memcpy(arrayOfByte, paramArrayOfByte, 0, i, 64); + md5Transform(arrayOfByte); + i += 64; + } + k = 0; + j = i; + i = k; + } + md5Memcpy(this.buffer, paramArrayOfByte, i, j, paramInt - j); + } + + private boolean md5Update(InputStream paramInputStream, long paramLong) + { + byte[] arrayOfByte = new byte[64]; + int j = (int)(this.count[0] >>> 3) & 0x3F; + Object localObject = this.count; + long l = localObject[0] + (paramLong << 3); + localObject[0] = l; + if (l < paramLong << 3) + { + localObject = this.count; + localObject[1] += 1L; + } + localObject = this.count; + localObject[1] += (paramLong >>> 29); + int i = 64 - j; + if (paramLong >= i) + { + localObject = new byte[i]; + try + { + paramInputStream.read((byte[])localObject, 0, i); + md5Memcpy(this.buffer, (byte[])localObject, j, 0, i); + md5Transform(this.buffer); + } + catch (Exception paramInputStream) + { + try + { + paramInputStream.read(arrayOfByte); + md5Transform(arrayOfByte); + i += 64; + } + catch (Exception paramInputStream) + { + paramInputStream.printStackTrace(); + return false; + } + paramInputStream = paramInputStream; + paramInputStream.printStackTrace(); + return false; + } + if (i + 63 < paramLong) {} + j = 0; + } + for (;;) + { + arrayOfByte = new byte[(int)(paramLong - i)]; + try + { + paramInputStream.read(arrayOfByte); + md5Memcpy(this.buffer, arrayOfByte, j, 0, arrayOfByte.length); + return true; + } + catch (Exception paramInputStream) + { + paramInputStream.printStackTrace(); + } + i = 0; + } + return false; + } + + public static String toMD5(String paramString) + { + try + { + arrayOfByte = paramString.getBytes("ISO8859_1"); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + byte[] arrayOfByte; + int i; + paramString = paramString.getBytes(); + } + } + arrayOfByte = new MD5().getMD5(paramString); + paramString = ""; + i = 0; + while (i < 16) + { + paramString = paramString + byteHEX(arrayOfByte[i]); + i += 1; + } + return paramString; + } + + public static String toMD5(byte[] paramArrayOfByte) + { + byte[] arrayOfByte = new MD5().getMD5(paramArrayOfByte); + paramArrayOfByte = ""; + int i = 0; + while (i < 16) + { + paramArrayOfByte = paramArrayOfByte + byteHEX(arrayOfByte[i]); + i += 1; + } + return paramArrayOfByte; + } + + public static byte[] toMD5Byte(InputStream paramInputStream, long paramLong) + { + return new MD5().getMD5(paramInputStream, paramLong); + } + + public static byte[] toMD5Byte(String paramString) + { + try + { + byte[] arrayOfByte = paramString.getBytes("ISO8859_1"); + paramString = arrayOfByte; + } + catch (UnsupportedEncodingException localUnsupportedEncodingException) + { + for (;;) + { + paramString = paramString.getBytes(); + } + } + return new MD5().getMD5(paramString); + } + + public static byte[] toMD5Byte(byte[] paramArrayOfByte) + { + return new MD5().getMD5(paramArrayOfByte); + } + + public byte[] getMD5(InputStream paramInputStream, long paramLong) + { + md5Init(); + if (!md5Update(paramInputStream, paramLong)) { + return new byte[16]; + } + md5Final(); + return this.digest; + } + + public byte[] getMD5(byte[] paramArrayOfByte) + { + md5Init(); + md5Update(new ByteArrayInputStream(paramArrayOfByte), paramArrayOfByte.length); + md5Final(); + return this.digest; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.MD5 + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/RSACrypt.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/RSACrypt.java new file mode 100755 index 00000000000..901ecff2c58 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/RSACrypt.java @@ -0,0 +1,579 @@ +package oicq.wlogin_sdk.tools; + +import android.content.Context; + +public class RSACrypt +{ + protected static final String DEFAULT_PRIV_KEY = "3082025e02010002818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d02030100010281806bbfca4ebde92b45fa7018f6d6ff6294f77b859cb2fbf9146b5748758f95a845fbdb57ba5a6e109d44d8f7d9606d7ff6a5dc90a6f26c10ee08b779f43ffce78c6fc0feb8a063885e1b9ee6f3615b8b850e6b89365fe7037de6928e3ca2b93c55f60fff2873ce9a88254c4c553aece69c311ddd37bb6dfc8c45399144a59f25e9024100f12a24798dfc2d56e719df7a8f9f870037007ac187c1a76a88e4749347cbc270ea54491b27309d02d0d0e1bb566a3f4972c286193e34b3863962a103ab2e9063024100e81db1b9e333baa72636599b792f7ae2fc06593a94851bd15c5d209c5d5d2836ecf2309c52426ca297475bfd8920e5fade8765afd9f6822ee4b7e333d234523f024100e356ead37bb981b42e5f0180b3eb9a83e5559a62ddeafc3b3d98bf1c27ce3919e08c5bee30df6ee3bc9d6c6e01645f0c8a163dfb85dc806fc3a0ea505f0aa229024100dee10c73f2bf0c1e4de9e8370ab155ad38d49bbf4d375713bc3dcbff7902e7877e13bc2b8e2d2c051f7faccc116d5e877a3fc69b898e5348d5e3e0ad34cd7a9f024100ede9b6081428b058d2db5c7ccbef7a178d9003c547319d177a5d1d219e9727f18dbe41008198af9a01fb684b6c96c536c8fbb98532b908028c2d4dce7281aff9"; + public static final String DEFAULT_PUB_KEY = "30818902818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d0203010001"; + private Context _context; + private byte[] _priv_key = new byte[0]; + private byte[] _pub_key = new byte[0]; + + public RSACrypt(Context paramContext) + { + this._context = paramContext; + try + { + util.loadLibrary("wtecdh", this._context); + return; + } + catch (UnsatisfiedLinkError paramContext) {} + } + + private native byte[] decryptdata(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2); + + private native byte[] encryptdata(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2); + + private native int genrsakey(); + + public byte[] DecryptData(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + localObject = null; + byte[] arrayOfByte1 = null; + if (paramArrayOfByte2 == null) { + localObject = arrayOfByte1; + } + for (;;) + { + return localObject; + arrayOfByte1 = paramArrayOfByte1; + if (paramArrayOfByte1 == null) + { + paramArrayOfByte1 = util.get_rsa_privkey(this._context); + if (paramArrayOfByte1 != null) + { + arrayOfByte1 = paramArrayOfByte1; + if (paramArrayOfByte1.length != 0) {} + } + else + { + arrayOfByte1 = util.string_to_buf("3082025e02010002818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d02030100010281806bbfca4ebde92b45fa7018f6d6ff6294f77b859cb2fbf9146b5748758f95a845fbdb57ba5a6e109d44d8f7d9606d7ff6a5dc90a6f26c10ee08b779f43ffce78c6fc0feb8a063885e1b9ee6f3615b8b850e6b89365fe7037de6928e3ca2b93c55f60fff2873ce9a88254c4c553aece69c311ddd37bb6dfc8c45399144a59f25e9024100f12a24798dfc2d56e719df7a8f9f870037007ac187c1a76a88e4749347cbc270ea54491b27309d02d0d0e1bb566a3f4972c286193e34b3863962a103ab2e9063024100e81db1b9e333baa72636599b792f7ae2fc06593a94851bd15c5d209c5d5d2836ecf2309c52426ca297475bfd8920e5fade8765afd9f6822ee4b7e333d234523f024100e356ead37bb981b42e5f0180b3eb9a83e5559a62ddeafc3b3d98bf1c27ce3919e08c5bee30df6ee3bc9d6c6e01645f0c8a163dfb85dc806fc3a0ea505f0aa229024100dee10c73f2bf0c1e4de9e8370ab155ad38d49bbf4d375713bc3dcbff7902e7877e13bc2b8e2d2c051f7faccc116d5e877a3fc69b898e5348d5e3e0ad34cd7a9f024100ede9b6081428b058d2db5c7ccbef7a178d9003c547319d177a5d1d219e9727f18dbe41008198af9a01fb684b6c96c536c8fbb98532b908028c2d4dce7281aff9"); + } + } + try + { + byte[] arrayOfByte2 = decryptdata(arrayOfByte1, paramArrayOfByte2); + if (arrayOfByte2 != null) + { + paramArrayOfByte1 = arrayOfByte2; + localObject = arrayOfByte2; + if (arrayOfByte2.length != 0) {} + } + else + { + localObject = arrayOfByte2; + paramArrayOfByte1 = decryptdata(util.string_to_buf("3082025e02010002818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d02030100010281806bbfca4ebde92b45fa7018f6d6ff6294f77b859cb2fbf9146b5748758f95a845fbdb57ba5a6e109d44d8f7d9606d7ff6a5dc90a6f26c10ee08b779f43ffce78c6fc0feb8a063885e1b9ee6f3615b8b850e6b89365fe7037de6928e3ca2b93c55f60fff2873ce9a88254c4c553aece69c311ddd37bb6dfc8c45399144a59f25e9024100f12a24798dfc2d56e719df7a8f9f870037007ac187c1a76a88e4749347cbc270ea54491b27309d02d0d0e1bb566a3f4972c286193e34b3863962a103ab2e9063024100e81db1b9e333baa72636599b792f7ae2fc06593a94851bd15c5d209c5d5d2836ecf2309c52426ca297475bfd8920e5fade8765afd9f6822ee4b7e333d234523f024100e356ead37bb981b42e5f0180b3eb9a83e5559a62ddeafc3b3d98bf1c27ce3919e08c5bee30df6ee3bc9d6c6e01645f0c8a163dfb85dc806fc3a0ea505f0aa229024100dee10c73f2bf0c1e4de9e8370ab155ad38d49bbf4d375713bc3dcbff7902e7877e13bc2b8e2d2c051f7faccc116d5e877a3fc69b898e5348d5e3e0ad34cd7a9f024100ede9b6081428b058d2db5c7ccbef7a178d9003c547319d177a5d1d219e9727f18dbe41008198af9a01fb684b6c96c536c8fbb98532b908028c2d4dce7281aff9"), paramArrayOfByte2); + } + } + catch (UnsatisfiedLinkError paramArrayOfByte1) + { + for (;;) + { + paramArrayOfByte1 = (byte[])localObject; + } + } + localObject = paramArrayOfByte1; + if (paramArrayOfByte1 != null) { + continue; + } + try + { + arrayOfByte1 = util.RSADecrypt(paramArrayOfByte2, util.RSAPrivKeyFromJNI(arrayOfByte1)); + if (arrayOfByte1 != null) + { + localObject = arrayOfByte1; + paramArrayOfByte1 = arrayOfByte1; + if (arrayOfByte1.length != 0) { + continue; + } + } + paramArrayOfByte1 = arrayOfByte1; + paramArrayOfByte2 = util.RSADecrypt(paramArrayOfByte2, util.RSAPrivKeyFromJNI(util.string_to_buf("3082025e02010002818100daaa2a418b271f3dfcf8f0a9120326d47f07618593d8d71d61a4fe987cc47740e491105bf8e68bd479bf51dfe19d3b06e12017df6d87a0f43bb82b57f59bd4220f2a3d8d68904a6ddb51197989e6e82512d8d8fa6c41b755a8ca962595d3e1e1be7ea01677249be4794cd7c6682d611c1bd81f0a16231fb83517515b94d13e5d02030100010281806bbfca4ebde92b45fa7018f6d6ff6294f77b859cb2fbf9146b5748758f95a845fbdb57ba5a6e109d44d8f7d9606d7ff6a5dc90a6f26c10ee08b779f43ffce78c6fc0feb8a063885e1b9ee6f3615b8b850e6b89365fe7037de6928e3ca2b93c55f60fff2873ce9a88254c4c553aece69c311ddd37bb6dfc8c45399144a59f25e9024100f12a24798dfc2d56e719df7a8f9f870037007ac187c1a76a88e4749347cbc270ea54491b27309d02d0d0e1bb566a3f4972c286193e34b3863962a103ab2e9063024100e81db1b9e333baa72636599b792f7ae2fc06593a94851bd15c5d209c5d5d2836ecf2309c52426ca297475bfd8920e5fade8765afd9f6822ee4b7e333d234523f024100e356ead37bb981b42e5f0180b3eb9a83e5559a62ddeafc3b3d98bf1c27ce3919e08c5bee30df6ee3bc9d6c6e01645f0c8a163dfb85dc806fc3a0ea505f0aa229024100dee10c73f2bf0c1e4de9e8370ab155ad38d49bbf4d375713bc3dcbff7902e7877e13bc2b8e2d2c051f7faccc116d5e877a3fc69b898e5348d5e3e0ad34cd7a9f024100ede9b6081428b058d2db5c7ccbef7a178d9003c547319d177a5d1d219e9727f18dbe41008198af9a01fb684b6c96c536c8fbb98532b908028c2d4dce7281aff9"))); + return paramArrayOfByte2; + } + catch (Exception paramArrayOfByte2) + { + return paramArrayOfByte1; + } + } + } + + public byte[] EncryptData(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + Object localObject1 = null; + Object localObject3 = null; + Object localObject2 = localObject3; + if (paramArrayOfByte1 != null) + { + if (paramArrayOfByte2 != null) { + break label24; + } + localObject2 = localObject3; + } + label24: + label35: + do + { + return localObject2; + try + { + localObject2 = encryptdata(paramArrayOfByte1, paramArrayOfByte2); + localObject1 = localObject2; + } + catch (UnsatisfiedLinkError localUnsatisfiedLinkError) + { + break label35; + } + localObject2 = localObject1; + } while (localObject1 != null); + return util.RSAEncrypt(paramArrayOfByte2, util.RSAPubKeyFromJNI(paramArrayOfByte1)); + } + + /* Error */ + public int GenRSAKey() + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: iconst_0 + // 3: istore_2 + // 4: iconst_0 + // 5: istore 4 + // 7: iconst_0 + // 8: istore 5 + // 10: iconst_0 + // 11: istore_3 + // 12: iconst_0 + // 13: istore 6 + // 15: aload_0 + // 16: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 19: invokestatic 77 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 22: astore 7 + // 24: aload_0 + // 25: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 28: invokestatic 50 oicq/wlogin_sdk/tools/util:get_rsa_privkey (Landroid/content/Context;)[B + // 31: astore 8 + // 33: aload 7 + // 35: ifnull +49 -> 84 + // 38: aload 7 + // 40: arraylength + // 41: ifle +43 -> 84 + // 44: aload 8 + // 46: ifnull +38 -> 84 + // 49: aload 8 + // 51: arraylength + // 52: ifle +32 -> 84 + // 55: aload_0 + // 56: aload 7 + // 58: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 61: checkcast 78 [B + // 64: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 67: aload_0 + // 68: aload 8 + // 70: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 73: checkcast 78 [B + // 76: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 79: iload 6 + // 81: istore_2 + // 82: iload_2 + // 83: ireturn + // 84: ldc 2 + // 86: monitorenter + // 87: aload_0 + // 88: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 91: invokestatic 77 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 94: astore 7 + // 96: aload_0 + // 97: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 100: invokestatic 50 oicq/wlogin_sdk/tools/util:get_rsa_privkey (Landroid/content/Context;)[B + // 103: astore 8 + // 105: aload 7 + // 107: ifnull +141 -> 248 + // 110: aload 7 + // 112: arraylength + // 113: ifle +135 -> 248 + // 116: aload 8 + // 118: ifnull +130 -> 248 + // 121: aload 8 + // 123: arraylength + // 124: ifle +124 -> 248 + // 127: aload_0 + // 128: aload 7 + // 130: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 133: checkcast 78 [B + // 136: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 139: aload_0 + // 140: aload 8 + // 142: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 145: checkcast 78 [B + // 148: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 151: ldc 84 + // 153: ldc 86 + // 155: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 158: iconst_1 + // 159: istore_3 + // 160: ldc 2 + // 162: monitorexit + // 163: iload_1 + // 164: istore_2 + // 165: iload_3 + // 166: ifne -84 -> 82 + // 169: ldc 2 + // 171: monitorenter + // 172: aload_0 + // 173: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 176: invokestatic 77 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 179: astore 7 + // 181: aload_0 + // 182: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 185: invokestatic 50 oicq/wlogin_sdk/tools/util:get_rsa_privkey (Landroid/content/Context;)[B + // 188: astore 8 + // 190: aload 7 + // 192: ifnull +442 -> 634 + // 195: aload 7 + // 197: arraylength + // 198: ifle +436 -> 634 + // 201: aload 8 + // 203: ifnull +431 -> 634 + // 206: aload 8 + // 208: arraylength + // 209: ifle +425 -> 634 + // 212: aload_0 + // 213: aload 7 + // 215: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 218: checkcast 78 [B + // 221: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 224: aload_0 + // 225: aload 8 + // 227: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 230: checkcast 78 [B + // 233: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 236: ldc 92 + // 238: ldc 86 + // 240: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 243: ldc 2 + // 245: monitorexit + // 246: iload_1 + // 247: ireturn + // 248: ldc 94 + // 250: ldc 86 + // 252: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 255: aload_0 + // 256: invokespecial 96 oicq/wlogin_sdk/tools/RSACrypt:genrsakey ()I + // 259: istore_1 + // 260: iload_1 + // 261: istore 4 + // 263: new 98 java/lang/StringBuilder + // 266: dup + // 267: invokespecial 99 java/lang/StringBuilder: ()V + // 270: ldc 101 + // 272: invokevirtual 105 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 275: iload_1 + // 276: invokevirtual 108 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 279: invokevirtual 112 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 282: ldc 86 + // 284: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 287: iconst_0 + // 288: istore_3 + // 289: goto -129 -> 160 + // 292: iload_1 + // 293: istore_3 + // 294: iload_2 + // 295: istore 4 + // 297: ldc 2 + // 299: monitorexit + // 300: aload 7 + // 302: athrow + // 303: astore 7 + // 305: iload_1 + // 306: istore_3 + // 307: iload_2 + // 308: istore_1 + // 309: invokestatic 116 oicq/wlogin_sdk/tools/util:generateRSAKeyPair ()Ljava/security/KeyPair; + // 312: astore 7 + // 314: aload 7 + // 316: ifnull +37 -> 353 + // 319: aload_0 + // 320: aload 7 + // 322: invokevirtual 122 java/security/KeyPair:getPublic ()Ljava/security/PublicKey; + // 325: invokeinterface 128 1 0 + // 330: invokestatic 132 oicq/wlogin_sdk/tools/util:RSAPubKeyFromJava ([B)[B + // 333: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 336: aload_0 + // 337: aload 7 + // 339: invokevirtual 136 java/security/KeyPair:getPrivate ()Ljava/security/PrivateKey; + // 342: invokeinterface 139 1 0 + // 347: invokestatic 142 oicq/wlogin_sdk/tools/util:RSAPrivKeyFromJava ([B)[B + // 350: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 353: iload_1 + // 354: istore_2 + // 355: iload_3 + // 356: ifne -274 -> 82 + // 359: ldc 2 + // 361: monitorenter + // 362: aload_0 + // 363: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 366: invokestatic 77 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 369: astore 7 + // 371: aload_0 + // 372: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 375: invokestatic 50 oicq/wlogin_sdk/tools/util:get_rsa_privkey (Landroid/content/Context;)[B + // 378: astore 8 + // 380: aload 7 + // 382: ifnull +205 -> 587 + // 385: aload 7 + // 387: arraylength + // 388: ifle +199 -> 587 + // 391: aload 8 + // 393: ifnull +194 -> 587 + // 396: aload 8 + // 398: arraylength + // 399: ifle +188 -> 587 + // 402: aload_0 + // 403: aload 7 + // 405: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 408: checkcast 78 [B + // 411: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 414: aload_0 + // 415: aload 8 + // 417: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 420: checkcast 78 [B + // 423: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 426: ldc 92 + // 428: ldc 86 + // 430: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 433: ldc 2 + // 435: monitorexit + // 436: goto -190 -> 246 + // 439: ldc 2 + // 441: monitorenter + // 442: aload_0 + // 443: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 446: invokestatic 77 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 449: astore 8 + // 451: aload_0 + // 452: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 455: invokestatic 50 oicq/wlogin_sdk/tools/util:get_rsa_privkey (Landroid/content/Context;)[B + // 458: astore 9 + // 460: aload 8 + // 462: ifnull +78 -> 540 + // 465: aload 8 + // 467: arraylength + // 468: ifle +72 -> 540 + // 471: aload 9 + // 473: ifnull +67 -> 540 + // 476: aload 9 + // 478: arraylength + // 479: ifle +61 -> 540 + // 482: aload_0 + // 483: aload 8 + // 485: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 488: checkcast 78 [B + // 491: putfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 494: aload_0 + // 495: aload 9 + // 497: invokevirtual 82 [B:clone ()Ljava/lang/Object; + // 500: checkcast 78 [B + // 503: putfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 506: ldc 92 + // 508: ldc 86 + // 510: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 513: ldc 2 + // 515: monitorexit + // 516: aload 7 + // 518: athrow + // 519: astore 7 + // 521: iconst_0 + // 522: istore_3 + // 523: iload 5 + // 525: istore_1 + // 526: iload_3 + // 527: ifeq -88 -> 439 + // 530: iload_1 + // 531: ireturn + // 532: astore 7 + // 534: ldc 2 + // 536: monitorexit + // 537: aload 7 + // 539: athrow + // 540: ldc 144 + // 542: ldc 86 + // 544: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 547: aload_0 + // 548: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 551: aload_0 + // 552: getfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 555: invokestatic 148 oicq/wlogin_sdk/tools/util:save_rsa_pubkey (Landroid/content/Context;[B)V + // 558: aload_0 + // 559: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 562: aload_0 + // 563: getfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 566: invokestatic 151 oicq/wlogin_sdk/tools/util:save_rsa_privkey (Landroid/content/Context;[B)V + // 569: ldc 153 + // 571: ldc 86 + // 573: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 576: goto -63 -> 513 + // 579: astore 7 + // 581: ldc 2 + // 583: monitorexit + // 584: aload 7 + // 586: athrow + // 587: ldc 144 + // 589: ldc 86 + // 591: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 594: aload_0 + // 595: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 598: aload_0 + // 599: getfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 602: invokestatic 148 oicq/wlogin_sdk/tools/util:save_rsa_pubkey (Landroid/content/Context;[B)V + // 605: aload_0 + // 606: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 609: aload_0 + // 610: getfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 613: invokestatic 151 oicq/wlogin_sdk/tools/util:save_rsa_privkey (Landroid/content/Context;[B)V + // 616: ldc 153 + // 618: ldc 86 + // 620: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 623: goto -190 -> 433 + // 626: astore 7 + // 628: ldc 2 + // 630: monitorexit + // 631: aload 7 + // 633: athrow + // 634: ldc 144 + // 636: ldc 86 + // 638: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 641: aload_0 + // 642: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 645: aload_0 + // 646: getfield 25 oicq/wlogin_sdk/tools/RSACrypt:_pub_key [B + // 649: invokestatic 148 oicq/wlogin_sdk/tools/util:save_rsa_pubkey (Landroid/content/Context;[B)V + // 652: aload_0 + // 653: getfield 29 oicq/wlogin_sdk/tools/RSACrypt:_context Landroid/content/Context; + // 656: aload_0 + // 657: getfield 27 oicq/wlogin_sdk/tools/RSACrypt:_priv_key [B + // 660: invokestatic 151 oicq/wlogin_sdk/tools/util:save_rsa_privkey (Landroid/content/Context;[B)V + // 663: ldc 153 + // 665: ldc 86 + // 667: invokestatic 90 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 670: goto -427 -> 243 + // 673: astore 7 + // 675: iload_1 + // 676: istore_3 + // 677: iload_2 + // 678: istore_1 + // 679: goto -153 -> 526 + // 682: astore 7 + // 684: goto -158 -> 526 + // 687: astore 7 + // 689: iconst_0 + // 690: istore_3 + // 691: iload 4 + // 693: istore_1 + // 694: goto -385 -> 309 + // 697: astore 7 + // 699: iload_3 + // 700: istore_1 + // 701: iload 4 + // 703: istore_2 + // 704: goto -412 -> 292 + // 707: astore 7 + // 709: iload_1 + // 710: istore_2 + // 711: iload_3 + // 712: istore_1 + // 713: goto -421 -> 292 + // 716: astore 7 + // 718: iconst_0 + // 719: istore_3 + // 720: iload_2 + // 721: istore_1 + // 722: iload_3 + // 723: istore_2 + // 724: goto -432 -> 292 + // Local variable table: + // start length slot name signature + // 0 727 0 this RSACrypt + // 1 721 1 i int + // 3 721 2 j int + // 11 712 3 k int + // 5 697 4 m int + // 8 516 5 n int + // 13 67 6 i1 int + // 22 279 7 arrayOfByte1 byte[] + // 303 1 7 localUnsatisfiedLinkError1 UnsatisfiedLinkError + // 312 205 7 localObject1 Object + // 519 1 7 localObject2 Object + // 532 6 7 localObject3 Object + // 579 6 7 localObject4 Object + // 626 6 7 localObject5 Object + // 673 1 7 localObject6 Object + // 682 1 7 localObject7 Object + // 687 1 7 localUnsatisfiedLinkError2 UnsatisfiedLinkError + // 697 1 7 localObject8 Object + // 707 1 7 localObject9 Object + // 716 1 7 localObject10 Object + // 31 453 8 arrayOfByte2 byte[] + // 458 38 9 arrayOfByte3 byte[] + // Exception table: + // from to target type + // 300 303 303 java/lang/UnsatisfiedLinkError + // 84 87 519 finally + // 442 460 532 finally + // 465 471 532 finally + // 476 513 532 finally + // 513 516 532 finally + // 534 537 532 finally + // 540 576 532 finally + // 362 380 579 finally + // 385 391 579 finally + // 396 433 579 finally + // 433 436 579 finally + // 581 584 579 finally + // 587 623 579 finally + // 172 190 626 finally + // 195 201 626 finally + // 206 243 626 finally + // 243 246 626 finally + // 628 631 626 finally + // 634 670 626 finally + // 300 303 673 finally + // 309 314 682 finally + // 319 353 682 finally + // 84 87 687 java/lang/UnsatisfiedLinkError + // 263 287 697 finally + // 297 300 697 finally + // 160 163 707 finally + // 87 105 716 finally + // 110 116 716 finally + // 121 158 716 finally + // 248 260 716 finally + } + + public byte[] get_priv_key() + { + return this._priv_key; + } + + public byte[] get_pub_key() + { + return this._pub_key; + } + + public void set_priv_key(byte[] paramArrayOfByte) + { + this._priv_key = paramArrayOfByte; + } + + public void set_pub_key(byte[] paramArrayOfByte) + { + this._pub_key = paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.RSACrypt + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/a.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/a.java new file mode 100755 index 00000000000..228e595d6b4 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/a.java @@ -0,0 +1,396 @@ +package oicq.wlogin_sdk.tools; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.Random; + +class a +{ + private byte[] a; + private byte[] b; + private byte[] c; + private int d; + private int e; + private int f; + private int g; + private byte[] h; + private boolean i = true; + private int j; + private Random k = new Random(); + + private static long a(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + long l = 0L; + if (paramInt2 > 4) { + paramInt2 = paramInt1 + 4; + } + while (paramInt1 < paramInt2) + { + l = l << 8 | paramArrayOfByte[paramInt1] & 0xFF; + paramInt1 += 1; + continue; + paramInt2 = paramInt1 + paramInt2; + } + return l & 0xFFFFFFFF; + } + + private void a() + { + this.f = 0; + byte[] arrayOfByte; + int m; + if (this.f < 8) + { + if (this.i) + { + arrayOfByte = this.a; + m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.b[this.f])); + } + for (;;) + { + this.f += 1; + break; + arrayOfByte = this.a; + m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.c[(this.e + this.f)])); + } + } + System.arraycopy(a(this.a), 0, this.c, this.d, 8); + for (this.f = 0; this.f < 8; this.f += 1) + { + arrayOfByte = this.c; + m = this.d + this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ this.b[this.f])); + } + System.arraycopy(this.a, 0, this.b, 0, 8); + this.e = this.d; + this.d += 8; + this.f = 0; + this.i = false; + } + + private byte[] a(byte[] paramArrayOfByte) + { + int m = 16; + for (;;) + { + long l3; + long l2; + long l4; + long l5; + long l6; + long l7; + long l1; + try + { + l3 = a(paramArrayOfByte, 0, 4); + l2 = a(paramArrayOfByte, 4, 4); + l4 = a(this.h, 0, 4); + l5 = a(this.h, 4, 4); + l6 = a(this.h, 8, 4); + l7 = a(this.h, 12, 4); + l1 = 0L; + } + catch (IOException paramArrayOfByte) + { + DataOutputStream localDataOutputStream; + return null; + } + paramArrayOfByte = new ByteArrayOutputStream(8); + localDataOutputStream = new DataOutputStream(paramArrayOfByte); + localDataOutputStream.writeInt((int)l3); + localDataOutputStream.writeInt((int)l2); + localDataOutputStream.close(); + paramArrayOfByte = paramArrayOfByte.toByteArray(); + return paramArrayOfByte; + while (m > 0) + { + l1 = l1 + (0x9E3779B9 & 0xFFFFFFFF) & 0xFFFFFFFF; + l3 = l3 + ((l2 << 4) + l4 ^ l2 + l1 ^ (l2 >>> 5) + l5) & 0xFFFFFFFF; + l2 = l2 + ((l3 << 4) + l6 ^ l3 + l1 ^ (l3 >>> 5) + l7) & 0xFFFFFFFF; + m -= 1; + } + } + } + + private byte[] a(byte[] paramArrayOfByte, int paramInt) + { + int m = 16; + for (;;) + { + long l3; + long l2; + long l4; + long l5; + long l6; + long l7; + long l1; + try + { + l3 = a(paramArrayOfByte, paramInt, 4); + l2 = a(paramArrayOfByte, paramInt + 4, 4); + l4 = a(this.h, 0, 4); + l5 = a(this.h, 4, 4); + l6 = a(this.h, 8, 4); + l7 = a(this.h, 12, 4); + l1 = 0xE3779B90 & 0xFFFFFFFF; + paramInt = m; + } + catch (IOException paramArrayOfByte) + { + DataOutputStream localDataOutputStream; + return null; + } + paramArrayOfByte = new ByteArrayOutputStream(8); + localDataOutputStream = new DataOutputStream(paramArrayOfByte); + localDataOutputStream.writeInt((int)l3); + localDataOutputStream.writeInt((int)l2); + localDataOutputStream.close(); + paramArrayOfByte = paramArrayOfByte.toByteArray(); + return paramArrayOfByte; + while (paramInt > 0) + { + l2 = l2 - ((l3 << 4) + l6 ^ l3 + l1 ^ (l3 >>> 5) + l7) & 0xFFFFFFFF; + l3 = l3 - ((l2 << 4) + l4 ^ l2 + l1 ^ (l2 >>> 5) + l5) & 0xFFFFFFFF; + l1 = l1 - (0x9E3779B9 & 0xFFFFFFFF) & 0xFFFFFFFF; + paramInt -= 1; + } + } + } + + private int b() + { + return this.k.nextInt(); + } + + private boolean b(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + for (this.f = 0; this.f < 8; this.f += 1) + { + if (this.j + this.f >= paramInt2) { + return true; + } + byte[] arrayOfByte = this.b; + int m = this.f; + arrayOfByte[m] = ((byte)(arrayOfByte[m] ^ paramArrayOfByte[(this.d + paramInt1 + this.f)])); + } + this.b = b(this.b); + if (this.b == null) { + return false; + } + this.j += 8; + this.d += 8; + this.f = 0; + return true; + } + + private byte[] b(byte[] paramArrayOfByte) + { + return a(paramArrayOfByte, 0); + } + + private byte[] b(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + this.a = new byte[8]; + this.b = new byte[8]; + this.f = 1; + this.g = 0; + this.e = 0; + this.d = 0; + this.h = paramArrayOfByte2; + this.i = true; + this.f = ((paramInt2 + 10) % 8); + if (this.f != 0) { + this.f = (8 - this.f); + } + this.c = new byte[this.f + paramInt2 + 10]; + this.a[0] = ((byte)(b() & 0xF8 | this.f)); + int m = 1; + while (m <= this.f) + { + this.a[m] = ((byte)(b() & 0xFF)); + m += 1; + } + this.f += 1; + m = 0; + while (m < 8) + { + this.b[m] = 0; + m += 1; + } + this.g = 1; + while (this.g <= 2) + { + if (this.f < 8) + { + paramArrayOfByte2 = this.a; + m = this.f; + this.f = (m + 1); + paramArrayOfByte2[m] = ((byte)(b() & 0xFF)); + this.g += 1; + } + if (this.f == 8) { + a(); + } + } + if (paramInt2 > 0) + { + if (this.f >= 8) { + break label414; + } + paramArrayOfByte2 = this.a; + int n = this.f; + this.f = (n + 1); + m = paramInt1 + 1; + paramArrayOfByte2[n] = paramArrayOfByte1[paramInt1]; + paramInt2 -= 1; + paramInt1 = m; + } + label414: + for (;;) + { + if (this.f == 8) + { + a(); + break; + this.g = 1; + while (this.g <= 7) + { + if (this.f < 8) + { + paramArrayOfByte1 = this.a; + paramInt1 = this.f; + this.f = (paramInt1 + 1); + paramArrayOfByte1[paramInt1] = 0; + this.g += 1; + } + if (this.f == 8) { + a(); + } + } + return this.c; + } + break; + } + } + + protected byte[] a(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + this.e = 0; + this.d = 0; + this.h = paramArrayOfByte2; + paramArrayOfByte2 = new byte[paramInt1 + 8]; + if ((paramInt2 % 8 != 0) || (paramInt2 < 16)) { + return null; + } + this.b = a(paramArrayOfByte1, paramInt1); + this.f = (this.b[0] & 0x7); + int n = paramInt2 - this.f - 10; + if (n < 0) { + return null; + } + int m = paramInt1; + while (m < paramArrayOfByte2.length) + { + paramArrayOfByte2[m] = 0; + m += 1; + } + this.c = new byte[n]; + this.e = 0; + this.d = 8; + this.j = 8; + this.f += 1; + this.g = 1; + for (;;) + { + if (this.g <= 2) + { + if (this.f < 8) + { + this.f += 1; + this.g += 1; + } + if (this.f != 8) { + continue; + } + if (!b(paramArrayOfByte1, paramInt1, paramInt2)) { + return null; + } + } + else + { + m = n; + int i1 = 0; + for (;;) + { + int i2; + if (m != 0) + { + i2 = i1; + n = m; + if (this.f < 8) + { + this.c[i1] = ((byte)(paramArrayOfByte2[(this.e + paramInt1 + this.f)] ^ this.b[this.f])); + i2 = i1 + 1; + n = m - 1; + this.f += 1; + } + i1 = i2; + m = n; + if (this.f != 8) { + continue; + } + this.e = (this.d - 8); + if (!b(paramArrayOfByte1, paramInt1, paramInt2)) { + return null; + } + } + else + { + for (this.g = 1; this.g < 8; this.g += 1) + { + if (this.f < 8) + { + if ((paramArrayOfByte2[(this.e + paramInt1 + this.f)] ^ this.b[this.f]) != 0) { + return null; + } + this.f += 1; + } + if (this.f == 8) + { + this.e = this.d; + if (!b(paramArrayOfByte1, paramInt1, paramInt2)) { + return null; + } + paramArrayOfByte2 = paramArrayOfByte1; + } + } + return this.c; + } + paramArrayOfByte2 = paramArrayOfByte1; + i1 = i2; + m = n; + } + } + paramArrayOfByte2 = paramArrayOfByte1; + } + } + + protected byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + return a(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte2); + } + + protected byte[] b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + return b(paramArrayOfByte1, 0, paramArrayOfByte1.length, paramArrayOfByte2); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/b.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/b.java new file mode 100755 index 00000000000..681c5e347a0 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/b.java @@ -0,0 +1,109 @@ +package oicq.wlogin_sdk.tools; + +import android.content.Context; +import android.os.Handler; +import android.os.Handler.Callback; +import android.os.HandlerThread; +import android.os.Message; + +public class b + implements Handler.Callback +{ + private static b a = null; + private static final Object c = new Object(); + private static String d = ""; + private static String e = ""; + private volatile boolean b = false; + private Context f; + private HandlerThread g; + private Handler h; + + private b(Context paramContext) + { + this.f = paramContext; + this.g = new HandlerThread("FileTracer"); + this.g.start(); + if (this.g.isAlive()) { + this.h = new Handler(this.g.getLooper(), this); + } + this.h.sendEmptyMessage(1024); + } + + private void a() + { + try + { + this.h.sendEmptyMessageDelayed(1024, 2000L); + return; + } + catch (Throwable localThrowable) {} + } + + public static void a(Context arg0, String paramString1, String paramString2) + { + if ((??? == null) || (paramString2 == null)) { + return; + } + if (a == null) { + a = new b(???); + } + synchronized (c) + { + if (e.length() > 8192) { + e = ""; + } + e = e + util.getDate() + util.getThreadId() + util.getLineInfo(3) + util.getSdkVersion() + util.getUser(paramString1) + paramString2 + "\n"; + return; + } + } + + private void b() + { + if (Thread.currentThread() != this.g) {} + while (this.b) { + return; + } + this.b = true; + c(); + this.b = false; + } + + private void c() + { + byte[] arrayOfByte1; + if ((e != null) && (e.length() > 0)) + { + d = e; + e = ""; + arrayOfByte1 = util.compress(d.getBytes()); + if ((arrayOfByte1 != null) && (arrayOfByte1.length != 0)) {} + } + else + { + return; + } + byte[] arrayOfByte2 = new byte[arrayOfByte1.length + 4]; + util.int32_to_buf(arrayOfByte2, 0, arrayOfByte1.length); + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, 4, arrayOfByte1.length); + util.writeFile(util.getLogFileName(this.f, util.getCurrentDay()), arrayOfByte2); + } + + public boolean handleMessage(Message paramMessage) + { + switch (paramMessage.what) + { + } + for (;;) + { + return true; + b(); + a(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/cryptor.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/cryptor.java new file mode 100755 index 00000000000..acfbb5ca5e3 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/cryptor.java @@ -0,0 +1,34 @@ +package oicq.wlogin_sdk.tools; + +public class cryptor +{ + public static byte[] decrypt(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null)) { + return null; + } + byte[] arrayOfByte = new byte[paramInt2]; + System.arraycopy(paramArrayOfByte1, paramInt1, arrayOfByte, 0, paramInt2); + paramArrayOfByte1 = new byte[paramArrayOfByte2.length]; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, 0, paramArrayOfByte2.length); + return new a().a(arrayOfByte, paramArrayOfByte1); + } + + public static byte[] encrypt(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2) + { + if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null)) { + return null; + } + byte[] arrayOfByte = new byte[paramInt2]; + System.arraycopy(paramArrayOfByte1, paramInt1, arrayOfByte, 0, paramInt2); + paramArrayOfByte1 = new byte[paramArrayOfByte2.length]; + System.arraycopy(paramArrayOfByte2, 0, paramArrayOfByte1, 0, paramArrayOfByte2.length); + return new a().b(arrayOfByte, paramArrayOfByte1); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.cryptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/util.java b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/util.java new file mode 100755 index 00000000000..6a415da9bb7 --- /dev/null +++ b/com.tencent.token/classes.jar/oicq/wlogin_sdk/tools/util.java @@ -0,0 +1,3239 @@ +package oicq.wlogin_sdk.tools; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.Signature; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.Proxy; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build.VERSION; +import android.os.Bundle; +import android.os.Environment; +import android.provider.Settings.Secure; +import android.telephony.TelephonyManager; +import android.util.Log; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.Array; +import java.security.Key; +import java.security.KeyFactory; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.SecureRandom; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Random; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.InflaterInputStream; +import javax.crypto.Cipher; +import oicq.wlogin_sdk.request.t; + +public class util +{ + public static final int ASYN_CHECK_IMAGE = 2; + public static final int ASYN_CHECK_SMS = 4; + public static final int ASYN_EXCEPTION = 11; + public static final int ASYN_GET_A1_WITH_A1 = 6; + public static final int ASYN_GET_ST_WITHOUT_PWD = 5; + public static final int ASYN_GET_ST_WITH_PWD = 0; + public static final int ASYN_REFLUSH_IMAGE = 1; + public static final int ASYN_REFLUSH_SMS = 3; + public static final int ASYN_REPORT = 7; + public static final int ASYN_REPORT_ERROR = 8; + public static final int ASYN_SMSLOGIN_CHECK = 12; + public static final int ASYN_SMSLOGIN_REFRESH = 14; + public static final int ASYN_SMSLOGIN_VERIFY = 13; + public static final int ASYN_TRANSPORT = 9; + public static final int ASYN_TRANSPORT_MSF = 10; + public static final long BUILD_TIME = 1453167956L; + public static final int D = 2; + private static SimpleDateFormat DAYFORMAT; + public static final int E_A1_DECRYPT = -1014; + public static final int E_A1_FORMAT = -1016; + public static final int E_ADVANCE_NOTICE = 257; + public static final int E_APK_CHK_ERR = -1021; + public static final int E_DECRYPT = -1002; + public static final int E_ENCODING = -1013; + public static final int E_INPUT = -1017; + public static final int E_NAME_INVALID = -1008; + public static final int E_NO_KEY = -1004; + public static final int E_NO_REG_CMD = -1010; + public static final int E_NO_RET = -1000; + public static final int E_NO_TGTKEY = -1006; + public static final int E_NO_UIN = -1003; + public static final int E_PENDING = -1001; + public static final int E_PK_LEN = -1009; + public static final int E_PUSH_REG = -1011; + public static final int E_RESOLVE_ADDR = -1007; + public static final int E_SAVE_TICKET_ERROR = -1022; + public static final int E_SHARE_SERVICE_EXCEPTION = -1020; + public static final int E_SHARE_SERVICE_PARAM = -1019; + public static final int E_SHARE_SERVICE_UNCHECK = -1018; + public static final int E_SYSTEM = -1012; + public static final int E_TLV_DECRYPT = -1015; + public static final int E_TLV_VERIFY = -1005; + public static final String FILE_DIR = "wtlogin"; + private static int HONEYCOMB = 11; + public static final int I = 1; + public static LogCallBack LCB; + public static boolean LOGCAT_OUT = false; + public static final String LOG_DIR = "tencent/wtlogin"; + public static int LOG_LEVEL = 0; + public static int MAX_APPID = 0; + public static final int MAX_CONTENT_SIZE = 8192; + public static final int MAX_FILE_SIZE = 524288; + public static int MAX_NAME_LEN = 0; + private static int MODE_MULTI_PROCESS = 0; + public static final String SDK_VERSION = "5.4.0.7"; + public static final int SSO_VERSION = 5; + public static final long SVN_VER = 1396L; + public static final int S_BABYLH_EXPIRED = 116; + public static final int S_GET_IMAGE = 2; + public static final int S_GET_SMS = 160; + public static final int S_LH_EXPIRED = 41; + public static final int S_PWD_WRONG = 1; + public static final int S_ROLL_BACK = 180; + public static final int S_SEC_GUID = 204; + public static final int S_SUCCESS = 0; + public static final String TAG = "wlogin_sdk"; + public static final int W = 0; + static final char[] base64_encode_chars = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }; + static final char base64_pad_url = '_'; + static final short[] base64_reverse_table_url = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, 63, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + private static boolean libwtecdh_loaded; + public static String logContent; + + static + { + int i = 0; + MAX_APPID = 65535; + MAX_NAME_LEN = 128; + LOG_LEVEL = 1; + LCB = null; + LOGCAT_OUT = false; + logContent = ""; + DAYFORMAT = null; + libwtecdh_loaded = false; + if (Build.VERSION.SDK_INT > 9) { + i = 4; + } + MODE_MULTI_PROCESS = i; + } + + public static boolean CheckMayFastLogin(Context paramContext) + { + if (paramContext == null) {} + for (;;) + { + return false; + paramContext = paramContext.getPackageManager(); + try + { + paramContext = paramContext.getPackageInfo("com.tencent.mobileqq", 0); + if (paramContext == null) { + continue; + } + paramContext = paramContext.versionName; + if (paramContext.compareTo("4.6.0") >= 0) { + return true; + } + try + { + int i = Integer.parseInt(paramContext.substring(0, paramContext.indexOf("."))); + if (i < 10) { + continue; + } + return true; + } + catch (Exception paramContext) + { + printException(paramContext, ""); + return false; + } + return false; + } + catch (Exception paramContext) {} + } + } + + public static boolean CheckQQMiniHD(Context paramContext) + { + if (paramContext == null) { + return false; + } + try + { + LOGI(paramContext.getPackageManager().getPackageInfo("com.tencent.minihd.qq", 0).versionName, ""); + return true; + } + catch (Exception paramContext) {} + return false; + } + + public static boolean ExistSDCard() + { + return Environment.getExternalStorageState().equals("mounted"); + } + + public static void LOGD(String paramString) + { + try + { + if (LOG_LEVEL >= 2) + { + if (LCB != null) + { + LCB.OnLog(paramString); + return; + } + if (LOGCAT_OUT) + { + Log.d("wlogin_sdk" + getLineInfo(2), paramString); + return; + } + } + } + catch (Exception paramString) {} + } + + public static void LOGD(String paramString1, String paramString2) + { + try + { + if (LOG_LEVEL >= 2) + { + if (LCB != null) + { + LCB.OnLog(paramString1, paramString2); + return; + } + if (LOGCAT_OUT) + { + Log.d("wlogin_sdk" + getLineInfo(2), paramString1 + ":" + paramString2); + return; + } + } + } + catch (Exception paramString1) {} + } + + public static void LOGI(String paramString) + { + try + { + if (LOG_LEVEL >= 1) + { + if (LCB != null) + { + LCB.OnLog(paramString); + return; + } + if (LOGCAT_OUT) + { + Log.i("wlogin_sdk" + getLineInfo(2), paramString); + return; + } + } + } + catch (Exception paramString) {} + } + + public static void LOGI(String paramString1, String paramString2) + { + try + { + if (LOG_LEVEL >= 1) + { + if (LCB != null) { + LCB.OnLog(paramString1); + } + for (;;) + { + b.a(t.r, paramString2, paramString1); + return; + if (LOGCAT_OUT) { + Log.i("wlogin_sdk" + getLineInfo(2), paramString1); + } + } + } + return; + } + catch (Exception paramString1) {} + } + + public static void LOGW(String paramString1, String paramString2) + { + try + { + if (LOG_LEVEL >= 0) + { + if (LCB != null) + { + LCB.OnLog(paramString1, paramString2); + return; + } + if (LOGCAT_OUT) + { + Log.w("wlogin_sdk" + getLineInfo(2), paramString1 + ":" + paramString2); + return; + } + } + } + catch (Exception paramString1) {} + } + + public static void LOGW(String paramString1, String paramString2, String paramString3) + { + try + { + if (LOG_LEVEL >= 0) + { + if (LCB != null) { + LCB.OnLog(paramString1, paramString2); + } + for (;;) + { + b.a(t.r, paramString3, paramString1 + ":" + paramString2); + return; + if (LOGCAT_OUT) { + Log.w("wlogin_sdk" + getLineInfo(2), paramString1 + ":" + paramString2); + } + } + } + return; + } + catch (Exception paramString1) {} + } + + public static byte[] RSADecrypt(byte[] paramArrayOfByte, Key paramKey) + { + int i = 0; + if ((paramArrayOfByte == null) || (paramKey == null)) {} + for (;;) + { + return null; + try + { + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(2, paramKey); + int k = paramArrayOfByte.length; + paramKey = new byte[k]; + if (k % 128 == 0) + { + int j = 0; + while (i < k / 128) + { + byte[] arrayOfByte = new byte['€']; + System.arraycopy(paramArrayOfByte, i * 128, arrayOfByte, 0, 128); + arrayOfByte = localCipher.doFinal(arrayOfByte); + System.arraycopy(arrayOfByte, 0, paramKey, j, arrayOfByte.length); + j += arrayOfByte.length; + i += 1; + } + paramArrayOfByte = new byte[j]; + System.arraycopy(paramKey, 0, paramArrayOfByte, 0, j); + return paramArrayOfByte; + } + } + catch (Exception paramArrayOfByte) {} + } + return null; + } + + public static byte[] RSAEncrypt(byte[] paramArrayOfByte, Key paramKey) + { + if ((paramArrayOfByte == null) || (paramKey == null)) + { + paramKey = null; + return paramKey; + } + for (;;) + { + int i; + int m; + byte[] arrayOfByte; + int k; + int j; + try + { + localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(1, paramKey); + i = paramArrayOfByte.length; + m = (int)Math.round(i / 117 + 0.5D); + arrayOfByte = new byte[128 * m]; + k = 0; + j = 117; + } + catch (Exception paramArrayOfByte) + { + Cipher localCipher; + return null; + } + paramKey = new byte[j]; + System.arraycopy(paramArrayOfByte, k * 117, paramKey, 0, j); + System.arraycopy(localCipher.doFinal(paramKey), 0, arrayOfByte, 128 * k, 128); + k += 1; + i -= j; + paramKey = arrayOfByte; + if (k >= m) { + break; + } + if (i < 117) { + j = i; + } + } + } + + public static Key RSAPrivKeyFromJNI(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return null; + } + byte[] arrayOfByte1 = new byte[26]; + byte[] tmp12_11 = arrayOfByte1; + tmp12_11[0] = 48; + byte[] tmp17_12 = tmp12_11; + tmp17_12[1] = -126; + byte[] tmp23_17 = tmp17_12; + tmp23_17[2] = 2; + byte[] tmp28_23 = tmp23_17; + tmp28_23[3] = 117; + byte[] tmp33_28 = tmp28_23; + tmp33_28[4] = 2; + byte[] tmp38_33 = tmp33_28; + tmp38_33[5] = 1; + byte[] tmp43_38 = tmp38_33; + tmp43_38[6] = 0; + byte[] tmp49_43 = tmp43_38; + tmp49_43[7] = 48; + byte[] tmp55_49 = tmp49_43; + tmp55_49[8] = 13; + byte[] tmp61_55 = tmp55_49; + tmp61_55[9] = 6; + byte[] tmp67_61 = tmp61_55; + tmp67_61[10] = 9; + byte[] tmp73_67 = tmp67_61; + tmp73_67[11] = 42; + byte[] tmp80_73 = tmp73_67; + tmp80_73[12] = -122; + byte[] tmp87_80 = tmp80_73; + tmp87_80[13] = 72; + byte[] tmp93_87 = tmp87_80; + tmp93_87[14] = -122; + byte[] tmp100_93 = tmp93_87; + tmp100_93[15] = -9; + byte[] tmp107_100 = tmp100_93; + tmp107_100[16] = 13; + byte[] tmp113_107 = tmp107_100; + tmp113_107[17] = 1; + byte[] tmp119_113 = tmp113_107; + tmp119_113[18] = 1; + byte[] tmp125_119 = tmp119_113; + tmp125_119[19] = 1; + byte[] tmp131_125 = tmp125_119; + tmp131_125[20] = 5; + byte[] tmp137_131 = tmp131_125; + tmp137_131[21] = 0; + byte[] tmp143_137 = tmp137_131; + tmp143_137[22] = 4; + byte[] tmp149_143 = tmp143_137; + tmp149_143[23] = -126; + byte[] tmp156_149 = tmp149_143; + tmp156_149[24] = 2; + byte[] tmp162_156 = tmp156_149; + tmp162_156[25] = 95; + tmp162_156; + int i = paramArrayOfByte.length - 607; + arrayOfByte1[3] = ((byte)(arrayOfByte1[3] + i)); + arrayOfByte1[25] = ((byte)(i + arrayOfByte1[25])); + byte[] arrayOfByte2 = new byte[arrayOfByte1.length + paramArrayOfByte.length]; + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, 0, arrayOfByte1.length); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte2, arrayOfByte1.length, paramArrayOfByte.length); + try + { + paramArrayOfByte = new PKCS8EncodedKeySpec(arrayOfByte2); + paramArrayOfByte = KeyFactory.getInstance("RSA").generatePrivate(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Exception paramArrayOfByte) + { + printException(paramArrayOfByte, ""); + } + return null; + } + + public static byte[] RSAPrivKeyFromJava(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return null; + } + paramArrayOfByte = new PKCS8EncodedKeySpec(paramArrayOfByte); + try + { + Object localObject = KeyFactory.getInstance("RSA").generatePrivate(paramArrayOfByte); + paramArrayOfByte = new byte[26]; + paramArrayOfByte[0] = 48; + paramArrayOfByte[1] = -126; + paramArrayOfByte[2] = 2; + paramArrayOfByte[3] = 117; + paramArrayOfByte[4] = 2; + paramArrayOfByte[5] = 1; + paramArrayOfByte[6] = 0; + paramArrayOfByte[7] = 48; + paramArrayOfByte[8] = 13; + paramArrayOfByte[9] = 6; + paramArrayOfByte[10] = 9; + paramArrayOfByte[11] = 42; + paramArrayOfByte[12] = -122; + paramArrayOfByte[13] = 72; + paramArrayOfByte[14] = -122; + paramArrayOfByte[15] = -9; + paramArrayOfByte[16] = 13; + paramArrayOfByte[17] = 1; + paramArrayOfByte[18] = 1; + paramArrayOfByte[19] = 1; + paramArrayOfByte[20] = 5; + paramArrayOfByte[21] = 0; + paramArrayOfByte[22] = 4; + paramArrayOfByte[23] = -126; + paramArrayOfByte[24] = 2; + paramArrayOfByte[25] = 95; + paramArrayOfByte; + localObject = ((PrivateKey)localObject).getEncoded(); + byte[] arrayOfByte = new byte[localObject.length - paramArrayOfByte.length]; + System.arraycopy(localObject, paramArrayOfByte.length, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + catch (Exception paramArrayOfByte) + { + printException(paramArrayOfByte, ""); + } + return null; + } + + public static Key RSAPubKeyFromJNI(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return null; + } + byte[] arrayOfByte1 = new byte[22]; + byte[] tmp12_11 = arrayOfByte1; + tmp12_11[0] = 48; + byte[] tmp17_12 = tmp12_11; + tmp17_12[1] = -127; + byte[] tmp23_17 = tmp17_12; + tmp23_17[2] = -97; + byte[] tmp29_23 = tmp23_17; + tmp29_23[3] = 48; + byte[] tmp34_29 = tmp29_23; + tmp34_29[4] = 13; + byte[] tmp39_34 = tmp34_29; + tmp39_34[5] = 6; + byte[] tmp44_39 = tmp39_34; + tmp44_39[6] = 9; + byte[] tmp50_44 = tmp44_39; + tmp50_44[7] = 42; + byte[] tmp57_50 = tmp50_44; + tmp57_50[8] = -122; + byte[] tmp64_57 = tmp57_50; + tmp64_57[9] = 72; + byte[] tmp70_64 = tmp64_57; + tmp70_64[10] = -122; + byte[] tmp77_70 = tmp70_64; + tmp77_70[11] = -9; + byte[] tmp84_77 = tmp77_70; + tmp84_77[12] = 13; + byte[] tmp90_84 = tmp84_77; + tmp90_84[13] = 1; + byte[] tmp96_90 = tmp90_84; + tmp96_90[14] = 1; + byte[] tmp102_96 = tmp96_90; + tmp102_96[15] = 1; + byte[] tmp108_102 = tmp102_96; + tmp108_102[16] = 5; + byte[] tmp114_108 = tmp108_102; + tmp114_108[17] = 0; + byte[] tmp120_114 = tmp114_108; + tmp120_114[18] = 3; + byte[] tmp126_120 = tmp120_114; + tmp126_120[19] = -127; + byte[] tmp133_126 = tmp126_120; + tmp133_126[20] = -115; + byte[] tmp140_133 = tmp133_126; + tmp140_133[21] = 0; + tmp140_133; + byte[] arrayOfByte2 = new byte[arrayOfByte1.length + paramArrayOfByte.length]; + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, 0, arrayOfByte1.length); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte2, arrayOfByte1.length, paramArrayOfByte.length); + paramArrayOfByte = new X509EncodedKeySpec(arrayOfByte2); + try + { + paramArrayOfByte = KeyFactory.getInstance("RSA").generatePublic(paramArrayOfByte); + return paramArrayOfByte; + } + catch (Exception paramArrayOfByte) + { + printException(paramArrayOfByte, ""); + } + return null; + } + + public static byte[] RSAPubKeyFromJava(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return null; + } + paramArrayOfByte = new X509EncodedKeySpec(paramArrayOfByte); + try + { + Object localObject = KeyFactory.getInstance("RSA").generatePublic(paramArrayOfByte); + paramArrayOfByte = new byte[22]; + paramArrayOfByte[0] = 48; + paramArrayOfByte[1] = -127; + paramArrayOfByte[2] = -97; + paramArrayOfByte[3] = 48; + paramArrayOfByte[4] = 13; + paramArrayOfByte[5] = 6; + paramArrayOfByte[6] = 9; + paramArrayOfByte[7] = 42; + paramArrayOfByte[8] = -122; + paramArrayOfByte[9] = 72; + paramArrayOfByte[10] = -122; + paramArrayOfByte[11] = -9; + paramArrayOfByte[12] = 13; + paramArrayOfByte[13] = 1; + paramArrayOfByte[14] = 1; + paramArrayOfByte[15] = 1; + paramArrayOfByte[16] = 5; + paramArrayOfByte[17] = 0; + paramArrayOfByte[18] = 3; + paramArrayOfByte[19] = -127; + paramArrayOfByte[20] = -115; + paramArrayOfByte[21] = 0; + paramArrayOfByte; + localObject = ((PublicKey)localObject).getEncoded(); + byte[] arrayOfByte = new byte[localObject.length - paramArrayOfByte.length]; + System.arraycopy(localObject, paramArrayOfByte.length, arrayOfByte, 0, arrayOfByte.length); + return arrayOfByte; + } + catch (Exception paramArrayOfByte) + { + printException(paramArrayOfByte, ""); + } + return null; + } + + public static byte[] base64_decode_url(byte[] paramArrayOfByte, int paramInt) + { + byte[] arrayOfByte = new byte[24]; + int n = 0; + int m = 0; + int i = 0; + int j = 0; + int k = paramInt; + paramInt = n; + n = k - 1; + int i1 = i; + if (k > 0) + { + i = j + 1; + j = paramArrayOfByte[j]; + i1 = j; + if (j != 0) + { + if (j != 95) { + break label107; + } + i1 = j; + } + } + if (i1 == 95) + { + i = paramInt; + switch (m % 4) + { + } + } + for (;;) + { + return arrayOfByte; + label107: + k = j; + if (j == 32) { + k = 42; + } + j = base64_reverse_table_url[k]; + if (j < 0) + { + k = n; + n = i; + i = j; + j = n; + break; + } + switch (m % 4) + { + } + for (;;) + { + i1 = m + 1; + k = n; + m = j; + j = i; + i = m; + m = i1; + break; + arrayOfByte[paramInt] = ((byte)(j << 2)); + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j >> 4)); + arrayOfByte[k] = ((byte)((j & 0xF) << 4)); + paramInt = k; + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j >> 2)); + arrayOfByte[k] = ((byte)((j & 0x3) << 6)); + paramInt = k; + continue; + k = paramInt + 1; + arrayOfByte[paramInt] = ((byte)(arrayOfByte[paramInt] | j)); + paramInt = k; + } + return null; + i = paramInt + 1; + arrayOfByte[i] = 0; + } + } + + public static String base64_encode(byte[] paramArrayOfByte) + { + StringBuffer localStringBuffer = new StringBuffer(); + int j = paramArrayOfByte.length; + int i = 0; + for (;;) + { + int n; + int k; + if (i < j) + { + n = i + 1; + k = paramArrayOfByte[i] & 0xFF; + if (n != j) { + break label72; + } + localStringBuffer.append(base64_encode_chars[(k >>> 2)]); + localStringBuffer.append(base64_encode_chars[((k & 0x3) << 4)]); + } + for (;;) + { + return localStringBuffer.toString(); + label72: + m = n + 1; + n = paramArrayOfByte[n] & 0xFF; + if (m != j) { + break; + } + localStringBuffer.append(base64_encode_chars[(k >>> 2)]); + localStringBuffer.append(base64_encode_chars[((k & 0x3) << 4 | (n & 0xF0) >>> 4)]); + localStringBuffer.append(base64_encode_chars[((n & 0xF) << 2)]); + } + i = m + 1; + int m = paramArrayOfByte[m] & 0xFF; + localStringBuffer.append(base64_encode_chars[(k >>> 2)]); + localStringBuffer.append(base64_encode_chars[((k & 0x3) << 4 | (n & 0xF0) >>> 4)]); + localStringBuffer.append(base64_encode_chars[((n & 0xF) << 2 | (m & 0xC0) >>> 6)]); + localStringBuffer.append(base64_encode_chars[(m & 0x3F)]); + } + } + + public static long buf_len(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return 0L; + } + return paramArrayOfByte.length; + } + + public static int buf_to_int16(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[paramInt] << 8 & 0xFF00) + (paramArrayOfByte[(paramInt + 1)] << 0 & 0xFF); + } + + public static int buf_to_int32(byte[] paramArrayOfByte, int paramInt) + { + return (paramArrayOfByte[paramInt] << 24 & 0xFF000000) + (paramArrayOfByte[(paramInt + 1)] << 16 & 0xFF0000) + (paramArrayOfByte[(paramInt + 2)] << 8 & 0xFF00) + (paramArrayOfByte[(paramInt + 3)] << 0 & 0xFF); + } + + public static long buf_to_int64(byte[] paramArrayOfByte, int paramInt) + { + return 0L + (paramArrayOfByte[paramInt] << 56 & 0x0) + (paramArrayOfByte[(paramInt + 1)] << 48 & 0x0) + (paramArrayOfByte[(paramInt + 2)] << 40 & 0x0) + (paramArrayOfByte[(paramInt + 3)] << 32 & 0x0) + (paramArrayOfByte[(paramInt + 4)] << 24 & 0xFF000000) + (paramArrayOfByte[(paramInt + 5)] << 16 & 0xFF0000) + (paramArrayOfByte[(paramInt + 6)] << 8 & 0xFF00) + (paramArrayOfByte[(paramInt + 7)] << 0 & 0xFF); + } + + public static int buf_to_int8(byte[] paramArrayOfByte, int paramInt) + { + return paramArrayOfByte[paramInt] & 0xFF; + } + + public static String buf_to_string(byte[] paramArrayOfByte) + { + Object localObject; + if (paramArrayOfByte == null) + { + localObject = ""; + return localObject; + } + String str = ""; + int i = 0; + for (;;) + { + localObject = str; + if (i >= paramArrayOfByte.length) { + break; + } + str = str + Integer.toHexString(paramArrayOfByte[i] >> 4 & 0xF); + str = str + Integer.toHexString(paramArrayOfByte[i] & 0xF); + i += 1; + } + } + + public static String buf_to_string(byte[] paramArrayOfByte, int paramInt) + { + Object localObject; + if (paramArrayOfByte == null) + { + localObject = ""; + return localObject; + } + int i = paramInt; + if (paramInt > paramArrayOfByte.length) { + i = paramArrayOfByte.length; + } + String str = ""; + paramInt = 0; + for (;;) + { + localObject = str; + if (paramInt >= i) { + break; + } + str = str + Integer.toHexString(paramArrayOfByte[paramInt] >> 4 & 0xF); + str = str + Integer.toHexString(paramArrayOfByte[paramInt] & 0xF); + paramInt += 1; + } + } + + public static Boolean check_uin_account(String paramString) + { + try + { + long l = Long.parseLong(paramString); + if ((l >= 10000L) && (l <= 4000000000L)) { + return Boolean.valueOf(true); + } + return Boolean.valueOf(false); + } + catch (NumberFormatException paramString) {} + return Boolean.valueOf(false); + } + + public static void chg_retry_type(Context paramContext) + { + if (get_net_retry_type(paramContext) == 0) + { + set_net_retry_type(paramContext, 1); + return; + } + set_net_retry_type(paramContext, 0); + } + + public static byte[] compress(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) { + return paramArrayOfByte; + } + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + try + { + DeflaterOutputStream localDeflaterOutputStream = new DeflaterOutputStream(localByteArrayOutputStream); + localDeflaterOutputStream.write(paramArrayOfByte); + localDeflaterOutputStream.close(); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + return paramArrayOfByte; + } + catch (IOException paramArrayOfByte) {} + return new byte[0]; + } + + public static void decompress(byte[] paramArrayOfByte) + { + if ((paramArrayOfByte == null) || (paramArrayOfByte.length == 0)) {} + label205: + for (;;) + { + return; + LOGI("data len:" + paramArrayOfByte.length); + int i = 0; + int j = 0; + for (;;) + { + if (paramArrayOfByte.length <= j + 3) { + break label205; + } + int k = buf_to_int32(paramArrayOfByte, j); + if (paramArrayOfByte.length <= j + k + 3) { + break; + } + Object localObject = new byte[k]; + System.arraycopy(paramArrayOfByte, j + 4, localObject, 0, k); + j = j + 4 + k; + i += 1; + LOGI("len:" + k); + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + localObject = new ByteArrayInputStream((byte[])localObject); + try + { + localObject = new InflaterInputStream((InputStream)localObject); + byte[] arrayOfByte = new byte[1024]; + for (;;) + { + k = ((InflaterInputStream)localObject).read(arrayOfByte); + if (k == -1) { + break; + } + localByteArrayOutputStream.write(arrayOfByte, 0, k); + } + LOGI(i + localByteArrayOutputStream.toString()); + } + catch (IOException localIOException) {} + } + } + } + + public static void deleteExpireFile(String paramString, int paramInt) + { + if ((paramString == null) || (paramString.length() == 0)) {} + for (;;) + { + return; + LOGI("file path:" + paramString); + try + { + paramString = new File(paramString); + if (!paramString.isDirectory()) { + continue; + } + paramString = paramString.listFiles(); + if (paramString == null) { + continue; + } + int j = paramString.length; + int i = 0; + while (i < j) + { + if ((!paramString[i].isDirectory()) && ((System.currentTimeMillis() - paramString[i].lastModified()) / 1000L > paramInt)) { + paramString[i].delete(); + } + i += 1; + } + return; + } + catch (Exception paramString) {} + } + } + + public static void deleteExpireLog(Context paramContext) + { + if (paramContext == null) { + return; + } + try + { + if (ExistSDCard()) + { + File localFile = Environment.getExternalStorageDirectory(); + deleteExpireFile(localFile.getAbsolutePath() + "/" + "tencent/wtlogin" + "/" + paramContext.getPackageName(), 691200); + return; + } + paramContext = paramContext.getFilesDir().getPath(); + deleteExpireFile(paramContext + "/" + "tencent/wtlogin", 259200); + return; + } + catch (Exception paramContext) {} + } + + public static int format_ret_code(int paramInt) + { + switch (paramInt) + { + default: + return 17; + case 0: + return 0; + case -1000: + return 1; + case 2: + return 2; + } + return 5; + } + + public static KeyPair generateRSAKeyPair() + { + try + { + Object localObject = KeyPairGenerator.getInstance("RSA"); + ((KeyPairGenerator)localObject).initialize(1024); + localObject = ((KeyPairGenerator)localObject).generateKeyPair(); + return localObject; + } + catch (Exception localException) {} + return null; + } + + public static byte[] getAppName(Context paramContext) + { + try + { + ApplicationInfo localApplicationInfo = paramContext.getPackageManager().getApplicationInfo(paramContext.getPackageName(), 0); + if (localApplicationInfo != null) + { + paramContext = paramContext.getPackageManager().getApplicationLabel(localApplicationInfo).toString(); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static String getChannelId(Context paramContext, String paramString) + { + int i = 0; + Object localObject2; + if (paramString != null) + { + localObject2 = paramString; + if (paramString.length() != 0) {} + } + else + { + localObject2 = paramContext.getPackageName(); + } + paramString = ""; + paramContext = paramContext.getPackageManager(); + Object localObject1 = paramString; + for (;;) + { + Object localObject3; + try + { + localObject3 = paramContext.getPackageInfo((String)localObject2, 0).applicationInfo.sourceDir; + localObject1 = paramString; + localObject2 = new StringBuilder().append("pkg ").append((String)localObject2).append(" path "); + if (localObject3 != null) { + break label468; + } + paramContext = "null"; + localObject1 = paramString; + LOGI(paramContext, ""); + if (localObject3 == null) { + break label465; + } + localObject1 = paramString; + if (((String)localObject3).length() == 0) { + return ""; + } + localObject1 = paramString; + paramContext = new byte[4]; + localObject1 = paramString; + paramContext[0] = 80; + paramContext[1] = 75; + paramContext[2] = 5; + paramContext[3] = 6; + paramContext; + localObject1 = paramString; + localObject2 = new FileInputStream((String)localObject3); + localObject1 = paramString; + l = ((FileInputStream)localObject2).available(); + localObject1 = paramString; + localObject3 = new byte[(int)(l - ((FileInputStream)localObject2).skip(l - 256L))]; + localObject1 = paramString; + ((FileInputStream)localObject2).read((byte[])localObject3); + localObject1 = paramString; + ((FileInputStream)localObject2).close(); + localObject1 = paramString; + if (i >= localObject3.length - 4) { + break label457; + } + if ((localObject3[i] == paramContext[0]) && (localObject3[(i + 1)] == paramContext[1]) && (localObject3[(i + 2)] == paramContext[2]) && (localObject3[(i + 3)] == paramContext[3])) + { + l = i; + if (l == -1L) { + break label465; + } + i = (int)l + 20; + int j = localObject3[i]; + i = (localObject3[(i + 1)] << 8) + j; + if (i == 0) { + break label465; + } + localObject1 = paramString; + localObject2 = new byte[i]; + localObject1 = paramString; + System.arraycopy(localObject3, (int)(l + 20L), localObject2, 0, i); + localObject1 = paramString; + localObject3 = Pattern.compile("channelId=(\\S+)").matcher(new String((byte[])localObject2)); + paramContext = paramString; + localObject1 = paramString; + if (((Matcher)localObject3).find()) + { + localObject1 = paramString; + paramContext = ((Matcher)localObject3).group(1); + } + localObject1 = paramContext; + LOGI("found comment " + new String((byte[])localObject2) + " channelId:" + paramContext, ""); + return paramContext; + } + } + catch (Exception paramContext) + { + printException(paramContext, ""); + return localObject1; + } + i += 1; + continue; + label457: + long l = -1L; + continue; + label465: + return ""; + label468: + paramContext = (Context)localObject3; + } + } + + public static String getCurrentDay() + { + try + { + if (DAYFORMAT == null) { + DAYFORMAT = new SimpleDateFormat("yyyyMMdd"); + } + String str = DAYFORMAT.format(new Date()); + return str; + } + catch (Exception localException) {} + return null; + } + + public static String getDate() + { + try + { + String str = "[" + System.currentTimeMillis() + "]"; + return str; + } + catch (Exception localException) {} + return ""; + } + + public static long getFileModifyTime(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) {} + for (;;) + { + return 0L; + try + { + paramString = new File(paramString); + if ((paramString.exists()) && (paramString.isFile())) + { + long l = paramString.lastModified(); + return l; + } + } + catch (Exception paramString) {} + } + return 0L; + } + + public static int getFileSize(String paramString) + { + int j = 0; + try + { + paramString = new File(paramString); + int i = j; + if (paramString.exists()) + { + i = j; + if (paramString.isFile()) + { + long l = paramString.length(); + i = (int)l; + } + } + return i; + } + catch (Exception paramString) {} + return 0; + } + + public static String getLineInfo(int paramInt) + { + if (paramInt < 0) { + return ""; + } + try + { + Object localObject = new Throwable().getStackTrace()[paramInt]; + localObject = "[" + ((StackTraceElement)localObject).getFileName() + ":" + ((StackTraceElement)localObject).getLineNumber() + "]"; + return localObject; + } + catch (Throwable localThrowable) {} + return ""; + } + + public static String getLogFileName(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null) || (paramString.length() == 0)) { + return null; + } + try + { + if (ExistSDCard()) + { + File localFile = Environment.getExternalStorageDirectory(); + return localFile.getAbsolutePath() + "/" + "tencent/wtlogin" + "/" + paramContext.getPackageName() + "/" + base64_encode(paramString.getBytes()); + } + paramContext = paramContext.getFilesDir().getPath(); + paramContext = paramContext + "/" + "tencent/wtlogin" + "/" + base64_encode(paramString.getBytes()); + return paramContext; + } + catch (Exception paramContext) {} + return null; + } + + public static long getLogModifyTime(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null) || (paramString.length() == 0)) { + return 0L; + } + return getFileModifyTime(getLogFileName(paramContext, paramString)); + } + + public static byte[] getPkgSigFromApkName(Context paramContext, String paramString) + { + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramString, 64); + if ((paramContext.signatures == null) || (paramContext.signatures.length <= 0) || (paramContext.signatures[0] == null)) { + return new byte[0]; + } + paramContext = MD5.toMD5Byte(paramContext.signatures[0].toByteArray()); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static String getSdkVersion() + { + return "[5]"; + } + + public static String getThreadId() + { + return "[" + Thread.currentThread().getId() + "]"; + } + + public static String getUser(String paramString) + { + if (paramString != null) { + return "[" + paramString + "]"; + } + return "[]"; + } + + public static byte[] get_IMEI(Context paramContext) + { + Object localObject3 = null; + for (;;) + { + try + { + localObject1 = (TelephonyManager)paramContext.getSystemService("phone"); + if (localObject1 != null) + { + localObject1 = ((TelephonyManager)localObject1).getDeviceId(); + paramContext = (WifiManager)paramContext.getSystemService("wifi"); + Object localObject2 = localObject3; + if (paramContext != null) + { + paramContext = paramContext.getConnectionInfo(); + localObject2 = localObject3; + if (paramContext != null) { + localObject2 = paramContext.getMacAddress(); + } + } + paramContext = ""; + if (localObject1 != null) { + paramContext = "" + (String)localObject1; + } + localObject1 = paramContext; + if (localObject2 != null) { + localObject1 = paramContext + (String)localObject2; + } + if (((String)localObject1).length() <= 0) { + return new byte[0]; + } + paramContext = MD5.toMD5Byte(((String)localObject1).getBytes()); + return paramContext; + } + } + catch (Throwable paramContext) + { + return new byte[0]; + } + Object localObject1 = null; + } + } + + public static byte[] get_IMSI(Context paramContext) + { + try + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext != null) + { + paramContext = paramContext.getSubscriberId(); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_android_id(Context paramContext) + { + try + { + paramContext = Settings.Secure.getString(paramContext.getContentResolver(), "android_id"); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_apk_id(Context paramContext) + { + try + { + paramContext = paramContext.getPackageName().getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_apk_v(Context paramContext, String paramString) + { + try + { + paramContext = paramContext.getPackageManager().getPackageInfo(paramString, 0).versionName.getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static String get_apn_string(Context paramContext) + { + try + { + paramContext = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo(); + if (paramContext.getType() == 0) + { + paramContext = paramContext.getExtraInfo(); + if (paramContext != null) { + return paramContext; + } + } + else + { + return "wifi"; + } + } + catch (Throwable paramContext) {} + return "wifi"; + } + + public static byte[] get_bssid_addr(Context paramContext) + { + try + { + paramContext = (WifiManager)paramContext.getSystemService("wifi"); + if (paramContext != null) + { + paramContext = paramContext.getConnectionInfo(); + if (paramContext != null) + { + paramContext = paramContext.getBSSID(); + if (paramContext != null) + { + paramContext = paramContext.toLowerCase().getBytes(); + return paramContext; + } + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte get_char(byte paramByte) + { + if ((paramByte >= 48) && (paramByte <= 57)) { + return (byte)(paramByte - 48); + } + if ((paramByte >= 97) && (paramByte <= 102)) { + return (byte)(paramByte - 97 + 10); + } + if ((paramByte >= 65) && (paramByte <= 70)) { + return (byte)(paramByte - 65 + 10); + } + return 0; + } + + /* Error */ + public static byte[] get_cp_pubkey(Context paramContext, long paramLong1, long paramLong2) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aload_0 + // 4: ifnonnull +11 -> 15 + // 7: iconst_0 + // 8: newarray byte + // 10: astore 5 + // 12: aload 5 + // 14: areturn + // 15: aload_0 + // 16: invokevirtual 867 android/content/Context:getContentResolver ()Landroid/content/ContentResolver; + // 19: astore_0 + // 20: new 360 java/lang/StringBuilder + // 23: dup + // 24: invokespecial 361 java/lang/StringBuilder: ()V + // 27: ldc_w 908 + // 30: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 33: ldc_w 910 + // 36: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 39: ldc_w 912 + // 42: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 45: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 48: invokestatic 918 android/net/Uri:parse (Ljava/lang/String;)Landroid/net/Uri; + // 51: astore 6 + // 53: new 360 java/lang/StringBuilder + // 56: dup + // 57: invokespecial 361 java/lang/StringBuilder: ()V + // 60: ldc 158 + // 62: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 65: lload_1 + // 66: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 69: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 72: astore 7 + // 74: new 360 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 361 java/lang/StringBuilder: ()V + // 81: ldc 158 + // 83: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 86: lload_3 + // 87: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 90: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 93: astore 8 + // 95: aload_0 + // 96: aload 6 + // 98: iconst_5 + // 99: anewarray 308 java/lang/String + // 102: dup + // 103: iconst_0 + // 104: ldc_w 920 + // 107: aastore + // 108: dup + // 109: iconst_1 + // 110: ldc_w 922 + // 113: aastore + // 114: dup + // 115: iconst_2 + // 116: ldc_w 924 + // 119: aastore + // 120: dup + // 121: iconst_3 + // 122: ldc_w 926 + // 125: aastore + // 126: dup + // 127: iconst_4 + // 128: ldc_w 928 + // 131: aastore + // 132: ldc_w 930 + // 135: iconst_2 + // 136: anewarray 308 java/lang/String + // 139: dup + // 140: iconst_0 + // 141: aload 7 + // 143: aastore + // 144: dup + // 145: iconst_1 + // 146: aload 8 + // 148: aastore + // 149: aconst_null + // 150: invokevirtual 936 android/content/ContentResolver:query (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 153: astore_0 + // 154: aload_0 + // 155: ifnull +144 -> 299 + // 158: aload_0 + // 159: astore 5 + // 161: aload_0 + // 162: invokeinterface 941 1 0 + // 167: ifeq +132 -> 299 + // 170: aload_0 + // 171: astore 5 + // 173: aload_0 + // 174: aload_0 + // 175: ldc_w 926 + // 178: invokeinterface 944 2 0 + // 183: invokeinterface 946 2 0 + // 188: astore 6 + // 190: aload_0 + // 191: astore 5 + // 193: aload_0 + // 194: aload_0 + // 195: ldc_w 928 + // 198: invokeinterface 944 2 0 + // 203: invokeinterface 946 2 0 + // 208: astore 7 + // 210: aload_0 + // 211: astore 5 + // 213: aload 6 + // 215: invokestatic 949 oicq/wlogin_sdk/tools/MD5:toMD5 (Ljava/lang/String;)Ljava/lang/String; + // 218: aload 7 + // 220: invokevirtual 351 java/lang/String:equals (Ljava/lang/Object;)Z + // 223: ifeq +76 -> 299 + // 226: aload_0 + // 227: astore 5 + // 229: aload 6 + // 231: invokestatic 953 oicq/wlogin_sdk/tools/util:string_to_buf (Ljava/lang/String;)[B + // 234: astore 6 + // 236: aload 6 + // 238: astore 5 + // 240: aload_0 + // 241: ifnull -229 -> 12 + // 244: aload_0 + // 245: invokeinterface 954 1 0 + // 250: aload 6 + // 252: areturn + // 253: astore 6 + // 255: aconst_null + // 256: astore_0 + // 257: aload_0 + // 258: astore 5 + // 260: aload 6 + // 262: ldc 158 + // 264: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 267: aload_0 + // 268: ifnull +9 -> 277 + // 271: aload_0 + // 272: invokeinterface 954 1 0 + // 277: ldc_w 956 + // 280: invokestatic 953 oicq/wlogin_sdk/tools/util:string_to_buf (Ljava/lang/String;)[B + // 283: areturn + // 284: astore_0 + // 285: aload 5 + // 287: ifnull +10 -> 297 + // 290: aload 5 + // 292: invokeinterface 954 1 0 + // 297: aload_0 + // 298: athrow + // 299: aload_0 + // 300: ifnull -23 -> 277 + // 303: goto -32 -> 271 + // 306: astore_0 + // 307: goto -22 -> 285 + // 310: astore 6 + // 312: goto -55 -> 257 + // Local variable table: + // start length slot name signature + // 0 315 0 paramContext Context + // 0 315 1 paramLong1 long + // 0 315 3 paramLong2 long + // 1 290 5 localObject1 Object + // 51 200 6 localObject2 Object + // 253 8 6 localException1 Exception + // 310 1 6 localException2 Exception + // 72 147 7 str1 String + // 93 54 8 str2 String + // Exception table: + // from to target type + // 53 154 253 java/lang/Exception + // 53 154 284 finally + // 161 170 306 finally + // 173 190 306 finally + // 193 210 306 finally + // 213 226 306 finally + // 229 236 306 finally + // 260 267 306 finally + // 161 170 310 java/lang/Exception + // 173 190 310 java/lang/Exception + // 193 210 310 java/lang/Exception + // 213 226 310 java/lang/Exception + // 229 236 310 java/lang/Exception + } + + public static String get_error_msg(int paramInt) + { + switch (paramInt) + { + default: + return InternationMsg.a(InternationMsg.MSG_TYPE.MSG_3); + } + return InternationMsg.a(InternationMsg.MSG_TYPE.MSG_4); + } + + /* Error */ + public static byte[] get_file_imei(Context paramContext) + { + // Byte code: + // 0: aconst_null + // 1: astore_2 + // 2: aload_0 + // 3: ifnonnull +5 -> 8 + // 6: aload_2 + // 7: areturn + // 8: iconst_0 + // 9: newarray byte + // 11: astore_2 + // 12: new 609 java/io/File + // 15: dup + // 16: new 360 java/lang/StringBuilder + // 19: dup + // 20: invokespecial 361 java/lang/StringBuilder: ()V + // 23: aload_0 + // 24: invokevirtual 651 android/content/Context:getFilesDir ()Ljava/io/File; + // 27: invokevirtual 640 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 30: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 33: ldc_w 642 + // 36: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 39: ldc_w 974 + // 42: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 45: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 48: invokespecial 611 java/io/File: (Ljava/lang/String;)V + // 51: astore_3 + // 52: aload_3 + // 53: ifnull +218 -> 271 + // 56: aload_3 + // 57: invokevirtual 774 java/io/File:exists ()Z + // 60: ifeq +211 -> 271 + // 63: new 708 java/io/FileInputStream + // 66: dup + // 67: aload_3 + // 68: invokespecial 977 java/io/FileInputStream: (Ljava/io/File;)V + // 71: astore 4 + // 73: aload 4 + // 75: astore_3 + // 76: aload_2 + // 77: astore 5 + // 79: aload 4 + // 81: invokevirtual 712 java/io/FileInputStream:available ()I + // 84: istore_1 + // 85: aload 4 + // 87: astore 5 + // 89: aload_2 + // 90: astore_3 + // 91: iload_1 + // 92: sipush 1024 + // 95: if_icmpge +32 -> 127 + // 98: aload 4 + // 100: astore_3 + // 101: aload_2 + // 102: astore 5 + // 104: iload_1 + // 105: newarray byte + // 107: astore_2 + // 108: aload 4 + // 110: astore_3 + // 111: aload_2 + // 112: astore 5 + // 114: aload 4 + // 116: aload_2 + // 117: invokevirtual 719 java/io/FileInputStream:read ([B)I + // 120: pop + // 121: aload_2 + // 122: astore_3 + // 123: aload 4 + // 125: astore 5 + // 127: aload 5 + // 129: ifnull +8 -> 137 + // 132: aload 5 + // 134: invokevirtual 720 java/io/FileInputStream:close ()V + // 137: aload_3 + // 138: ifnull +10 -> 148 + // 141: aload_3 + // 142: astore_2 + // 143: aload_3 + // 144: arraylength + // 145: ifgt -139 -> 6 + // 148: aload_0 + // 149: invokestatic 980 oicq/wlogin_sdk/tools/util:get_saved_imei (Landroid/content/Context;)[B + // 152: astore_3 + // 153: aload_3 + // 154: astore_2 + // 155: aload_3 + // 156: ifnull -150 -> 6 + // 159: aload_3 + // 160: astore_2 + // 161: aload_3 + // 162: arraylength + // 163: ifle -157 -> 6 + // 166: aload_0 + // 167: aload_3 + // 168: invokestatic 984 oicq/wlogin_sdk/tools/util:save_file_imei (Landroid/content/Context;[B)V + // 171: aload_3 + // 172: areturn + // 173: astore 6 + // 175: aconst_null + // 176: astore 4 + // 178: aload 4 + // 180: astore_3 + // 181: getstatic 986 oicq/wlogin_sdk/request/t:W I + // 184: ldc_w 987 + // 187: ior + // 188: putstatic 986 oicq/wlogin_sdk/request/t:W I + // 191: aload 4 + // 193: astore_3 + // 194: aload 6 + // 196: ldc 158 + // 198: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 201: aload 4 + // 203: ifnull +8 -> 211 + // 206: aload 4 + // 208: invokevirtual 720 java/io/FileInputStream:close ()V + // 211: aload_2 + // 212: astore_3 + // 213: goto -76 -> 137 + // 216: astore_0 + // 217: aconst_null + // 218: astore_3 + // 219: aload_3 + // 220: ifnull +7 -> 227 + // 223: aload_3 + // 224: invokevirtual 720 java/io/FileInputStream:close ()V + // 227: aload_0 + // 228: athrow + // 229: astore_2 + // 230: aload_2 + // 231: ldc 158 + // 233: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 236: goto -9 -> 227 + // 239: astore_3 + // 240: aload_3 + // 241: ldc 158 + // 243: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 246: goto -35 -> 211 + // 249: astore_2 + // 250: aload_2 + // 251: ldc 158 + // 253: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 256: goto -119 -> 137 + // 259: astore_0 + // 260: goto -41 -> 219 + // 263: astore 6 + // 265: aload 5 + // 267: astore_2 + // 268: goto -90 -> 178 + // 271: aconst_null + // 272: astore 5 + // 274: aload_2 + // 275: astore_3 + // 276: goto -149 -> 127 + // Local variable table: + // start length slot name signature + // 0 279 0 paramContext Context + // 84 21 1 i int + // 1 211 2 localObject1 Object + // 229 2 2 localIOException1 IOException + // 249 2 2 localIOException2 IOException + // 267 8 2 localObject2 Object + // 51 173 3 localObject3 Object + // 239 2 3 localIOException3 IOException + // 275 1 3 localObject4 Object + // 71 136 4 localFileInputStream FileInputStream + // 77 196 5 localObject5 Object + // 173 22 6 localException1 Exception + // 263 1 6 localException2 Exception + // Exception table: + // from to target type + // 12 52 173 java/lang/Exception + // 56 73 173 java/lang/Exception + // 12 52 216 finally + // 56 73 216 finally + // 223 227 229 java/io/IOException + // 206 211 239 java/io/IOException + // 132 137 249 java/io/IOException + // 79 85 259 finally + // 104 108 259 finally + // 114 121 259 finally + // 181 191 259 finally + // 194 201 259 finally + // 79 85 263 java/lang/Exception + // 104 108 263 java/lang/Exception + // 114 121 263 java/lang/Exception + } + + public static byte[] get_imei_id(Context paramContext) + { + try + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext != null) + { + paramContext = paramContext.getDeviceId(); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_ksid(Context paramContext) + { + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("ksid", new String(""))); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static int get_last_flag(Context paramContext) + { + try + { + int i = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getInt("last_flag", 0); + return i; + } + catch (Throwable paramContext) {} + return 0; + } + + public static byte[] get_last_guid(Context paramContext) + { + Object localObject = new byte[0]; + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("last_guid", new String(""))); + if (paramContext != null) + { + localObject = paramContext; + if (paramContext.length > 0) {} + } + else + { + localObject = new byte[0]; + } + return localObject; + } + catch (Throwable paramContext) + { + for (;;) + { + paramContext = (Context)localObject; + } + } + } + + public static byte[] get_last_imei(Context paramContext) + { + Object localObject = new byte[0]; + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("last_imei", new String(""))); + if (paramContext != null) + { + localObject = paramContext; + if (paramContext.length > 0) {} + } + else + { + localObject = new byte[0]; + } + return localObject; + } + catch (Throwable paramContext) + { + for (;;) + { + paramContext = (Context)localObject; + } + } + } + + public static byte[] get_last_mac(Context paramContext) + { + Object localObject = new byte[0]; + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("last_mac", new String(""))); + if (paramContext != null) + { + localObject = paramContext; + if (paramContext.length > 0) {} + } + else + { + localObject = new byte[0]; + } + return localObject; + } + catch (Throwable paramContext) + { + for (;;) + { + paramContext = (Context)localObject; + } + } + } + + public static byte[] get_mac_addr(Context paramContext) + { + try + { + paramContext = (WifiManager)paramContext.getSystemService("wifi"); + if (paramContext != null) + { + paramContext = paramContext.getConnectionInfo(); + if (paramContext != null) + { + paramContext = paramContext.getMacAddress(); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static String get_mpasswd() + { + try + { + byte[] arrayOfByte = SecureRandom.getSeed(16); + int i = 0; + String str1 = ""; + String str2 = str1; + if (i < arrayOfByte.length) + { + boolean bool = new Random().nextBoolean(); + int k = Math.abs(arrayOfByte[i] % 26); + if (bool) {} + for (int j = 97;; j = 65) + { + str1 = str1 + String.valueOf((char)(j + k)); + i += 1; + break; + } + } + return str2; + } + catch (Throwable localThrowable) + { + str2 = "1234567890123456"; + } + } + + public static int get_net_retry_type(Context paramContext) + { + try + { + int i = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getInt("netretry_type", 0); + return i; + } + catch (Throwable paramContext) {} + return 0; + } + + public static int get_network_type(Context paramContext) + { + try + { + i = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo().getType(); + if (i == 0) { + return 1; + } + } + catch (Throwable paramContext) + { + int i; + for (;;) + { + i = 0; + } + if (i == 1) { + return 2; + } + } + return 0; + } + + public static byte[] get_os_type() + { + return "android".getBytes(); + } + + public static byte[] get_os_version() + { + return Build.VERSION.RELEASE.getBytes(); + } + + public static byte[] get_prand_16byte() + { + try + { + byte[] arrayOfByte = new byte[16]; + int32_to_buf(arrayOfByte, 0, (int)(Math.random() * 2147483647.0D)); + int32_to_buf(arrayOfByte, 4, (int)(Math.random() * 2147483647.0D)); + int32_to_buf(arrayOfByte, 8, (int)(Math.random() * 2147483647.0D)); + int32_to_buf(arrayOfByte, 12, (int)(Math.random() * 2147483647.0D)); + arrayOfByte = MD5.toMD5Byte(arrayOfByte); + return arrayOfByte; + } + catch (Throwable localThrowable) {} + return new byte[16]; + } + + public static String get_proxy_ip() + { + if (Build.VERSION.SDK_INT < HONEYCOMB) { + return Proxy.getDefaultHost(); + } + return System.getProperty("http.proxyHost"); + } + + public static int get_proxy_port() + { + if (Build.VERSION.SDK_INT < HONEYCOMB) { + return Proxy.getDefaultPort(); + } + try + { + int i = Integer.parseInt(System.getProperty("http.proxyPort")); + return i; + } + catch (NumberFormatException localNumberFormatException) + { + localNumberFormatException.printStackTrace(); + } + return -1; + } + + public static byte[] get_rand_16byte(SecureRandom paramSecureRandom) + { + try + { + byte[] arrayOfByte = new byte[16]; + paramSecureRandom.nextBytes(arrayOfByte); + return arrayOfByte; + } + catch (Throwable paramSecureRandom) {} + return get_prand_16byte(); + } + + public static byte[] get_rand_16byte(byte[] paramArrayOfByte) + { + try + { + byte[] arrayOfByte1 = SecureRandom.getSeed(16); + byte[] arrayOfByte2 = new byte[arrayOfByte1.length + paramArrayOfByte.length]; + System.arraycopy(arrayOfByte1, 0, arrayOfByte2, 0, arrayOfByte1.length); + System.arraycopy(paramArrayOfByte, 0, arrayOfByte2, arrayOfByte1.length, paramArrayOfByte.length); + paramArrayOfByte = MD5.toMD5Byte(arrayOfByte2); + return paramArrayOfByte; + } + catch (Throwable paramArrayOfByte) {} + return get_prand_16byte(); + } + + public static int get_rand_32() + { + return (int)(Math.random() * 2147483647.0D); + } + + public static String get_release_time() + { + return "2016/01/19 9:45:55"; + } + + public static byte[] get_rsa_privkey(Context paramContext) + { + Object localObject = new byte[0]; + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", MODE_MULTI_PROCESS).getString("rsa_privkey", "")); + if (paramContext != null) + { + localObject = paramContext; + if (paramContext.length > 0) {} + } + else + { + localObject = new byte[0]; + } + return localObject; + } + catch (Throwable paramContext) + { + for (;;) + { + paramContext = (Context)localObject; + } + } + } + + public static byte[] get_rsa_pubkey(Context paramContext) + { + Object localObject = new byte[0]; + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", MODE_MULTI_PROCESS).getString("rsa_pubkey", "")); + if (paramContext != null) + { + localObject = paramContext; + if (paramContext.length > 0) {} + } + else + { + localObject = new byte[0]; + } + return localObject; + } + catch (Throwable paramContext) + { + for (;;) + { + paramContext = (Context)localObject; + } + } + } + + public static byte[] get_saved_imei(Context paramContext) + { + try + { + paramContext = string_to_buf(paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("imei", new String(""))); + return paramContext; + } + catch (Throwable paramContext) + { + printThrowable(paramContext, ""); + } + return new byte[0]; + } + + public static int get_saved_network_type(Context paramContext) + { + try + { + int i = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getInt("network_type", 0); + return i; + } + catch (Throwable paramContext) {} + return 0; + } + + public static long get_server_cur_time() + { + return t.g(); + } + + public static byte[] get_server_host1(Context paramContext) + { + try + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("host1", "").getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_server_host2(Context paramContext) + { + try + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("host2", "").getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_sim_operator_name(Context paramContext) + { + try + { + paramContext = (TelephonyManager)paramContext.getSystemService("phone"); + if (paramContext.getSimState() == 5) + { + paramContext = paramContext.getSimOperatorName().getBytes(); + return paramContext; + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_ssid_addr(Context paramContext) + { + try + { + paramContext = (WifiManager)paramContext.getSystemService("wifi"); + if (paramContext != null) + { + paramContext = paramContext.getConnectionInfo(); + if (paramContext != null) + { + paramContext = paramContext.getSSID(); + if (paramContext != null) + { + paramContext = paramContext.getBytes(); + return paramContext; + } + } + } + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_wap_server_host1(Context paramContext) + { + try + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("wap-host1", "").getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static byte[] get_wap_server_host2(Context paramContext) + { + try + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).getString("wap-host2", "").getBytes(); + return paramContext; + } + catch (Throwable paramContext) {} + return new byte[0]; + } + + public static void int16_to_buf(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + paramArrayOfByte[(paramInt1 + 1)] = ((byte)(paramInt2 >> 0)); + paramArrayOfByte[(paramInt1 + 0)] = ((byte)(paramInt2 >> 8)); + } + + public static void int32_to_buf(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + paramArrayOfByte[(paramInt1 + 3)] = ((byte)(paramInt2 >> 0)); + paramArrayOfByte[(paramInt1 + 2)] = ((byte)(paramInt2 >> 8)); + paramArrayOfByte[(paramInt1 + 1)] = ((byte)(paramInt2 >> 16)); + paramArrayOfByte[(paramInt1 + 0)] = ((byte)(paramInt2 >> 24)); + } + + public static void int64_to_buf(byte[] paramArrayOfByte, int paramInt, long paramLong) + { + paramArrayOfByte[(paramInt + 7)] = ((byte)(int)(paramLong >> 0)); + paramArrayOfByte[(paramInt + 6)] = ((byte)(int)(paramLong >> 8)); + paramArrayOfByte[(paramInt + 5)] = ((byte)(int)(paramLong >> 16)); + paramArrayOfByte[(paramInt + 4)] = ((byte)(int)(paramLong >> 24)); + paramArrayOfByte[(paramInt + 3)] = ((byte)(int)(paramLong >> 32)); + paramArrayOfByte[(paramInt + 2)] = ((byte)(int)(paramLong >> 40)); + paramArrayOfByte[(paramInt + 1)] = ((byte)(int)(paramLong >> 48)); + paramArrayOfByte[(paramInt + 0)] = ((byte)(int)(paramLong >> 56)); + } + + public static void int64_to_buf32(byte[] paramArrayOfByte, int paramInt, long paramLong) + { + paramArrayOfByte[(paramInt + 3)] = ((byte)(int)(paramLong >> 0)); + paramArrayOfByte[(paramInt + 2)] = ((byte)(int)(paramLong >> 8)); + paramArrayOfByte[(paramInt + 1)] = ((byte)(int)(paramLong >> 16)); + paramArrayOfByte[(paramInt + 0)] = ((byte)(int)(paramLong >> 24)); + } + + public static void int8_to_buf(byte[] paramArrayOfByte, int paramInt1, int paramInt2) + { + paramArrayOfByte[(paramInt1 + 0)] = ((byte)(paramInt2 >> 0)); + } + + public static boolean isFileExist(String paramString) + { + try + { + boolean bool = new File(paramString).exists(); + return bool; + } + catch (Exception paramString) {} + return false; + } + + public static boolean is_wap_proxy_retry(Context paramContext) + { + try + { + paramContext = get_apn_string(paramContext); + if (paramContext != null) + { + if (paramContext.equalsIgnoreCase("cmwap")) { + return true; + } + if ((paramContext.equalsIgnoreCase("uniwap")) || (paramContext.equalsIgnoreCase("ctwap"))) { + break label59; + } + boolean bool = paramContext.equalsIgnoreCase("3gwap"); + if (bool) { + break label59; + } + } + } + catch (Throwable paramContext) + { + label53: + break label53; + } + return false; + label59: + return true; + } + + public static boolean is_wap_retry(Context paramContext) + { + return get_net_retry_type(paramContext) != 0; + } + + /* Error */ + public static boolean loadLibrary(String paramString, Context paramContext) + { + // Byte code: + // 0: getstatic 164 oicq/wlogin_sdk/tools/util:libwtecdh_loaded Z + // 3: ifeq +5 -> 8 + // 6: iconst_1 + // 7: ireturn + // 8: aload_1 + // 9: ifnull +14 -> 23 + // 12: aload_0 + // 13: ifnull +10 -> 23 + // 16: aload_0 + // 17: invokevirtual 605 java/lang/String:length ()I + // 20: ifne +5 -> 25 + // 23: iconst_0 + // 24: ireturn + // 25: new 609 java/io/File + // 28: dup + // 29: new 360 java/lang/StringBuilder + // 32: dup + // 33: invokespecial 361 java/lang/StringBuilder: ()V + // 36: aload_1 + // 37: invokevirtual 651 android/content/Context:getFilesDir ()Ljava/io/File; + // 40: invokevirtual 1163 java/io/File:getParent ()Ljava/lang/String; + // 43: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 46: ldc_w 1165 + // 49: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 52: aload_0 + // 53: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 56: ldc_w 1167 + // 59: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 62: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 65: invokespecial 611 java/io/File: (Ljava/lang/String;)V + // 68: astore 4 + // 70: aload 4 + // 72: invokevirtual 774 java/io/File:exists ()Z + // 75: ifne +142 -> 217 + // 78: new 609 java/io/File + // 81: dup + // 82: new 360 java/lang/StringBuilder + // 85: dup + // 86: invokespecial 361 java/lang/StringBuilder: ()V + // 89: aload_1 + // 90: invokevirtual 651 android/content/Context:getFilesDir ()Ljava/io/File; + // 93: invokevirtual 1163 java/io/File:getParent ()Ljava/lang/String; + // 96: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 99: ldc_w 1169 + // 102: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 105: aload_0 + // 106: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 109: ldc_w 1167 + // 112: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 115: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 118: invokespecial 611 java/io/File: (Ljava/lang/String;)V + // 121: astore_1 + // 122: aload_1 + // 123: ifnull +89 -> 212 + // 126: aload_1 + // 127: invokevirtual 774 java/io/File:exists ()Z + // 130: ifeq +82 -> 212 + // 133: aload_1 + // 134: invokevirtual 640 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 137: invokestatic 1172 java/lang/System:load (Ljava/lang/String;)V + // 140: iconst_1 + // 141: istore_2 + // 142: iload_2 + // 143: istore_3 + // 144: iload_2 + // 145: ifne +9 -> 154 + // 148: aload_0 + // 149: invokestatic 1174 java/lang/System:loadLibrary (Ljava/lang/String;)V + // 152: iconst_1 + // 153: istore_3 + // 154: iload_3 + // 155: putstatic 164 oicq/wlogin_sdk/tools/util:libwtecdh_loaded Z + // 158: new 360 java/lang/StringBuilder + // 161: dup + // 162: invokespecial 361 java/lang/StringBuilder: ()V + // 165: ldc_w 1176 + // 168: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 171: getstatic 164 oicq/wlogin_sdk/tools/util:libwtecdh_loaded Z + // 174: invokevirtual 1179 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 177: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 180: ldc 158 + // 182: invokestatic 337 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;Ljava/lang/String;)V + // 185: iload_3 + // 186: ireturn + // 187: astore_1 + // 188: aconst_null + // 189: astore_1 + // 190: goto -68 -> 122 + // 193: astore_1 + // 194: iconst_0 + // 195: istore_2 + // 196: goto -54 -> 142 + // 199: astore_0 + // 200: iload_2 + // 201: istore_3 + // 202: goto -48 -> 154 + // 205: astore_1 + // 206: aload 4 + // 208: astore_1 + // 209: goto -19 -> 190 + // 212: iconst_0 + // 213: istore_2 + // 214: goto -72 -> 142 + // 217: aload 4 + // 219: astore_1 + // 220: goto -98 -> 122 + // Local variable table: + // start length slot name signature + // 0 223 0 paramString String + // 0 223 1 paramContext Context + // 141 73 2 bool1 boolean + // 143 59 3 bool2 boolean + // 68 150 4 localFile File + // Exception table: + // from to target type + // 25 70 187 java/lang/Exception + // 133 140 193 java/lang/UnsatisfiedLinkError + // 148 152 199 java/lang/UnsatisfiedLinkError + // 70 122 205 java/lang/Exception + } + + public static Bundle packBundle(byte[][] paramArrayOfByte) + { + Bundle localBundle = new Bundle(); + if ((paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + localBundle.putInt("len", paramArrayOfByte.length); + int i = 0; + while (i < paramArrayOfByte.length) + { + localBundle.putByteArray(String.valueOf(i), paramArrayOfByte[i]); + i += 1; + } + } + if (localBundle.isEmpty()) { + return null; + } + return localBundle; + } + + public static void printException(Exception paramException) + { + StringWriter localStringWriter = new StringWriter(); + PrintWriter localPrintWriter = new PrintWriter(localStringWriter, true); + paramException.printStackTrace(localPrintWriter); + localPrintWriter.flush(); + localStringWriter.flush(); + LOGW("exception:", localStringWriter.toString()); + } + + public static void printException(Exception paramException, String paramString) + { + StringWriter localStringWriter = new StringWriter(); + PrintWriter localPrintWriter = new PrintWriter(localStringWriter, true); + paramException.printStackTrace(localPrintWriter); + localPrintWriter.flush(); + localStringWriter.flush(); + LOGW("exception", localStringWriter.toString(), paramString); + } + + public static void printThrowable(Throwable paramThrowable, String paramString) + { + StringWriter localStringWriter = new StringWriter(); + PrintWriter localPrintWriter = new PrintWriter(localStringWriter, true); + paramThrowable.printStackTrace(localPrintWriter); + localPrintWriter.flush(); + localStringWriter.flush(); + LOGW("throwable", localStringWriter.toString(), paramString); + } + + public static byte[] readFile(String paramString) + { + if ((paramString == null) || (paramString.length() == 0)) {} + for (;;) + { + return null; + try + { + Object localObject = new File(paramString); + if ((((File)localObject).exists()) && (((File)localObject).isFile())) + { + paramString = new FileInputStream(paramString); + int i = paramString.available(); + if (i > 528384) + { + paramString.close(); + return null; + } + localObject = new byte[i]; + paramString.read((byte[])localObject); + paramString.close(); + return localObject; + } + } + catch (Exception paramString) {} + } + return null; + } + + public static byte[] readLog(Context paramContext, String paramString) + { + if ((paramContext == null) || (paramString == null) || (paramString.length() == 0)) { + return null; + } + return readFile(getLogFileName(paramContext, paramString)); + } + + public static void save_cur_flag(Context paramContext, int paramInt) + { + if (paramContext != null) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putInt("last_flag", paramInt); + paramContext.commit(); + } + } + + public static void save_cur_guid(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("last_guid", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void save_cur_imei(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("last_imei", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void save_cur_mac(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("last_mac", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + /* Error */ + public static void save_file_imei(Context paramContext, byte[] paramArrayOfByte) + { + // Byte code: + // 0: aload_0 + // 1: ifnull +174 -> 175 + // 4: aload_1 + // 5: ifnull +170 -> 175 + // 8: aload_1 + // 9: arraylength + // 10: ifle +165 -> 175 + // 13: aconst_null + // 14: astore 6 + // 16: aconst_null + // 17: astore 7 + // 19: aconst_null + // 20: astore 5 + // 22: aload 6 + // 24: astore 4 + // 26: aload 7 + // 28: astore_2 + // 29: new 609 java/io/File + // 32: dup + // 33: new 360 java/lang/StringBuilder + // 36: dup + // 37: invokespecial 361 java/lang/StringBuilder: ()V + // 40: aload_0 + // 41: invokevirtual 651 android/content/Context:getFilesDir ()Ljava/io/File; + // 44: invokevirtual 640 java/io/File:getAbsolutePath ()Ljava/lang/String; + // 47: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 50: ldc_w 642 + // 53: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 56: ldc_w 974 + // 59: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 62: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 65: invokespecial 611 java/io/File: (Ljava/lang/String;)V + // 68: astore 8 + // 70: aload 6 + // 72: astore 4 + // 74: aload 7 + // 76: astore_2 + // 77: aload 8 + // 79: invokevirtual 774 java/io/File:exists ()Z + // 82: ifne +16 -> 98 + // 85: aload 6 + // 87: astore 4 + // 89: aload 7 + // 91: astore_2 + // 92: aload 8 + // 94: invokevirtual 1256 java/io/File:createNewFile ()Z + // 97: pop + // 98: aload 5 + // 100: astore_3 + // 101: aload 6 + // 103: astore 4 + // 105: aload 7 + // 107: astore_2 + // 108: aload 8 + // 110: invokevirtual 774 java/io/File:exists ()Z + // 113: ifeq +44 -> 157 + // 116: aload 5 + // 118: astore_3 + // 119: aload 6 + // 121: astore 4 + // 123: aload 7 + // 125: astore_2 + // 126: aload 8 + // 128: invokevirtual 1259 java/io/File:canWrite ()Z + // 131: ifeq +26 -> 157 + // 134: aload 6 + // 136: astore 4 + // 138: aload 7 + // 140: astore_2 + // 141: new 1261 java/io/FileOutputStream + // 144: dup + // 145: aload 8 + // 147: iconst_0 + // 148: invokespecial 1264 java/io/FileOutputStream: (Ljava/io/File;Z)V + // 151: astore_3 + // 152: aload_3 + // 153: aload_1 + // 154: invokevirtual 1265 java/io/FileOutputStream:write ([B)V + // 157: aload_3 + // 158: astore 4 + // 160: aload_3 + // 161: astore_2 + // 162: aload_0 + // 163: aload_1 + // 164: invokestatic 1268 oicq/wlogin_sdk/tools/util:save_imei (Landroid/content/Context;[B)V + // 167: aload_3 + // 168: ifnull +7 -> 175 + // 171: aload_3 + // 172: invokevirtual 1269 java/io/FileOutputStream:close ()V + // 175: return + // 176: astore_0 + // 177: aload 4 + // 179: astore_2 + // 180: aload_0 + // 181: ldc 158 + // 183: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 186: aload 4 + // 188: ifnull -13 -> 175 + // 191: aload 4 + // 193: invokevirtual 1269 java/io/FileOutputStream:close ()V + // 196: return + // 197: astore_0 + // 198: aload_0 + // 199: ldc 158 + // 201: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 204: return + // 205: astore_0 + // 206: aload_2 + // 207: ifnull +7 -> 214 + // 210: aload_2 + // 211: invokevirtual 1269 java/io/FileOutputStream:close ()V + // 214: aload_0 + // 215: athrow + // 216: astore_1 + // 217: aload_1 + // 218: ldc 158 + // 220: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 223: goto -9 -> 214 + // 226: astore_0 + // 227: goto -29 -> 198 + // 230: astore_0 + // 231: aload_3 + // 232: astore_2 + // 233: goto -27 -> 206 + // 236: astore_0 + // 237: aload_3 + // 238: astore 4 + // 240: goto -63 -> 177 + // Local variable table: + // start length slot name signature + // 0 243 0 paramContext Context + // 0 243 1 paramArrayOfByte byte[] + // 28 205 2 localObject1 Object + // 100 138 3 localObject2 Object + // 24 215 4 localObject3 Object + // 20 97 5 localObject4 Object + // 14 121 6 localObject5 Object + // 17 122 7 localObject6 Object + // 68 78 8 localFile File + // Exception table: + // from to target type + // 29 70 176 java/lang/Exception + // 77 85 176 java/lang/Exception + // 92 98 176 java/lang/Exception + // 108 116 176 java/lang/Exception + // 126 134 176 java/lang/Exception + // 141 152 176 java/lang/Exception + // 162 167 176 java/lang/Exception + // 191 196 197 java/io/IOException + // 29 70 205 finally + // 77 85 205 finally + // 92 98 205 finally + // 108 116 205 finally + // 126 134 205 finally + // 141 152 205 finally + // 162 167 205 finally + // 180 186 205 finally + // 210 214 216 java/io/IOException + // 171 175 226 java/io/IOException + // 152 157 230 finally + // 152 157 236 java/lang/Exception + } + + public static void save_imei(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("imei", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void save_network_type(Context paramContext, int paramInt) + { + if (paramContext != null) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putInt("network_type", paramInt); + paramContext.commit(); + } + } + + public static void save_rsa_privkey(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", MODE_MULTI_PROCESS).edit(); + paramContext.putString("rsa_privkey", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void save_rsa_pubkey(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", MODE_MULTI_PROCESS).edit(); + paramContext.putString("rsa_pubkey", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + + /* Error */ + public static boolean set_cp_pubkey(Context paramContext, long paramLong1, long paramLong2) + { + // Byte code: + // 0: aload_0 + // 1: ifnonnull +5 -> 6 + // 4: iconst_0 + // 5: ireturn + // 6: aload_0 + // 7: invokevirtual 867 android/content/Context:getContentResolver ()Landroid/content/ContentResolver; + // 10: astore 7 + // 12: new 360 java/lang/StringBuilder + // 15: dup + // 16: invokespecial 361 java/lang/StringBuilder: ()V + // 19: ldc_w 908 + // 22: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 25: ldc_w 910 + // 28: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 31: ldc_w 912 + // 34: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 37: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 40: invokestatic 918 android/net/Uri:parse (Ljava/lang/String;)Landroid/net/Uri; + // 43: astore 8 + // 45: aload 8 + // 47: invokevirtual 1275 android/net/Uri:toString ()Ljava/lang/String; + // 50: invokestatic 579 oicq/wlogin_sdk/tools/util:LOGI (Ljava/lang/String;)V + // 53: new 360 java/lang/StringBuilder + // 56: dup + // 57: invokespecial 361 java/lang/StringBuilder: ()V + // 60: ldc 158 + // 62: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 65: lload_1 + // 66: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 69: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 72: astore 6 + // 74: new 360 java/lang/StringBuilder + // 77: dup + // 78: invokespecial 361 java/lang/StringBuilder: ()V + // 81: ldc 158 + // 83: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 86: lload_3 + // 87: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 90: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 93: astore 9 + // 95: aload 7 + // 97: aload 8 + // 99: iconst_5 + // 100: anewarray 308 java/lang/String + // 103: dup + // 104: iconst_0 + // 105: ldc_w 920 + // 108: aastore + // 109: dup + // 110: iconst_1 + // 111: ldc_w 922 + // 114: aastore + // 115: dup + // 116: iconst_2 + // 117: ldc_w 924 + // 120: aastore + // 121: dup + // 122: iconst_3 + // 123: ldc_w 926 + // 126: aastore + // 127: dup + // 128: iconst_4 + // 129: ldc_w 928 + // 132: aastore + // 133: ldc_w 930 + // 136: iconst_2 + // 137: anewarray 308 java/lang/String + // 140: dup + // 141: iconst_0 + // 142: aload 6 + // 144: aastore + // 145: dup + // 146: iconst_1 + // 147: aload 9 + // 149: aastore + // 150: aconst_null + // 151: invokevirtual 936 android/content/ContentResolver:query (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; + // 154: astore 6 + // 156: aload 6 + // 158: ifnonnull +17 -> 175 + // 161: aload 6 + // 163: ifnull +10 -> 173 + // 166: aload 6 + // 168: invokeinterface 954 1 0 + // 173: iconst_0 + // 174: ireturn + // 175: aload_0 + // 176: invokestatic 1277 oicq/wlogin_sdk/tools/util:get_rsa_pubkey (Landroid/content/Context;)[B + // 179: invokestatic 1247 oicq/wlogin_sdk/tools/util:buf_to_string ([B)Ljava/lang/String; + // 182: astore_0 + // 183: aload_0 + // 184: invokevirtual 605 java/lang/String:length ()I + // 187: istore 5 + // 189: iload 5 + // 191: ifne +17 -> 208 + // 194: aload 6 + // 196: ifnull +10 -> 206 + // 199: aload 6 + // 201: invokeinterface 954 1 0 + // 206: iconst_0 + // 207: ireturn + // 208: aload_0 + // 209: invokestatic 949 oicq/wlogin_sdk/tools/MD5:toMD5 (Ljava/lang/String;)Ljava/lang/String; + // 212: astore 9 + // 214: aload 6 + // 216: invokeinterface 1280 1 0 + // 221: ifle +53 -> 274 + // 224: new 1282 android/content/ContentValues + // 227: dup + // 228: invokespecial 1283 android/content/ContentValues: ()V + // 231: astore 7 + // 233: aload 7 + // 235: ldc_w 926 + // 238: aload_0 + // 239: invokevirtual 1286 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 242: aload 7 + // 244: ldc_w 928 + // 247: aload 9 + // 249: invokevirtual 1286 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 252: aload 6 + // 254: invokeinterface 941 1 0 + // 259: pop + // 260: aload 6 + // 262: ifnull +10 -> 272 + // 265: aload 6 + // 267: invokeinterface 954 1 0 + // 272: iconst_1 + // 273: ireturn + // 274: new 1282 android/content/ContentValues + // 277: dup + // 278: invokespecial 1283 android/content/ContentValues: ()V + // 281: astore 10 + // 283: aload 10 + // 285: ldc_w 922 + // 288: lload_1 + // 289: invokestatic 1289 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 292: invokevirtual 1292 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 295: aload 10 + // 297: ldc_w 924 + // 300: lload_3 + // 301: invokestatic 1289 java/lang/Long:valueOf (J)Ljava/lang/Long; + // 304: invokevirtual 1292 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/Long;)V + // 307: aload 10 + // 309: ldc_w 926 + // 312: aload_0 + // 313: invokevirtual 1286 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 316: aload 10 + // 318: ldc_w 928 + // 321: aload 9 + // 323: invokevirtual 1286 android/content/ContentValues:put (Ljava/lang/String;Ljava/lang/String;)V + // 326: aload 7 + // 328: aload 8 + // 330: aload 10 + // 332: invokevirtual 1296 android/content/ContentResolver:insert (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; + // 335: astore_0 + // 336: new 360 java/lang/StringBuilder + // 339: dup + // 340: invokespecial 361 java/lang/StringBuilder: ()V + // 343: ldc_w 1298 + // 346: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 349: aload_0 + // 350: invokevirtual 1301 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 353: ldc_w 1303 + // 356: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 359: lload_1 + // 360: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 363: ldc_w 1305 + // 366: invokevirtual 365 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 369: lload_3 + // 370: invokevirtual 768 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 373: invokevirtual 372 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 376: invokestatic 1307 oicq/wlogin_sdk/tools/util:LOGD (Ljava/lang/String;)V + // 379: goto -119 -> 260 + // 382: astore 7 + // 384: aload 6 + // 386: astore_0 + // 387: aload 7 + // 389: astore 6 + // 391: aload 6 + // 393: ldc 158 + // 395: invokestatic 330 oicq/wlogin_sdk/tools/util:printException (Ljava/lang/Exception;Ljava/lang/String;)V + // 398: aload_0 + // 399: ifnull +9 -> 408 + // 402: aload_0 + // 403: invokeinterface 954 1 0 + // 408: iconst_0 + // 409: ireturn + // 410: astore_0 + // 411: aconst_null + // 412: astore 6 + // 414: aload 6 + // 416: ifnull +10 -> 426 + // 419: aload 6 + // 421: invokeinterface 954 1 0 + // 426: aload_0 + // 427: athrow + // 428: astore_0 + // 429: goto -15 -> 414 + // 432: astore 7 + // 434: aload_0 + // 435: astore 6 + // 437: aload 7 + // 439: astore_0 + // 440: goto -26 -> 414 + // 443: astore 6 + // 445: aconst_null + // 446: astore_0 + // 447: goto -56 -> 391 + // Local variable table: + // start length slot name signature + // 0 450 0 paramContext Context + // 0 450 1 paramLong1 long + // 0 450 3 paramLong2 long + // 187 3 5 i int + // 72 364 6 localObject1 Object + // 443 1 6 localException1 Exception + // 10 317 7 localObject2 Object + // 382 6 7 localException2 Exception + // 432 6 7 localObject3 Object + // 43 286 8 localUri android.net.Uri + // 93 229 9 str String + // 281 50 10 localContentValues android.content.ContentValues + // Exception table: + // from to target type + // 175 189 382 java/lang/Exception + // 208 260 382 java/lang/Exception + // 274 379 382 java/lang/Exception + // 53 156 410 finally + // 175 189 428 finally + // 208 260 428 finally + // 274 379 428 finally + // 391 398 432 finally + // 53 156 443 java/lang/Exception + } + + public static void set_ksid(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + byte[] arrayOfByte = get_ksid(paramContext); + if ((arrayOfByte == null) || (arrayOfByte.length <= 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("ksid", buf_to_string(paramArrayOfByte)); + paramContext.commit(); + } + } + } + + public static void set_net_retry_type(Context paramContext, int paramInt) + { + if (paramContext != null) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putInt("netretry_type", paramInt); + paramContext.commit(); + } + } + + public static void set_server_host1(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("host1", new String(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void set_server_host2(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("host2", new String(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void set_wap_server_host1(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("wap-host1", new String(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static void set_wap_server_host2(Context paramContext, byte[] paramArrayOfByte) + { + if ((paramContext != null) && (paramArrayOfByte != null) && (paramArrayOfByte.length > 0)) + { + paramContext = paramContext.getSharedPreferences("WLOGIN_DEVICE_INFO", 0).edit(); + paramContext.putString("wap-host2", new String(paramArrayOfByte)); + paramContext.commit(); + } + } + + public static byte[] string_to_buf(String paramString) + { + int i = 0; + if (paramString == null) { + return new byte[0]; + } + byte[] arrayOfByte = new byte[paramString.length() / 2]; + while (i < paramString.length() / 2) + { + arrayOfByte[i] = ((byte)((get_char((byte)paramString.charAt(i * 2)) << 4) + get_char((byte)paramString.charAt(i * 2 + 1)))); + i += 1; + } + return arrayOfByte; + } + + public static byte[][] unpackBundle(Bundle paramBundle) + { + int i = 0; + if (paramBundle != null) + { + int j = paramBundle.getInt("len"); + byte[][] arrayOfByte2 = (byte[][])Array.newInstance(Byte.TYPE, new int[] { j, 0 }); + for (;;) + { + arrayOfByte1 = arrayOfByte2; + if (i >= j) { + break; + } + arrayOfByte2[i] = paramBundle.getByteArray(String.valueOf(i)); + i += 1; + } + } + byte[][] arrayOfByte1 = (byte[][])null; + return arrayOfByte1; + } + + /* Error */ + public static void writeFile(String paramString, byte[] paramArrayOfByte) + { + // Byte code: + // 0: ldc 2 + // 2: monitorenter + // 3: aload_0 + // 4: ifnull +12 -> 16 + // 7: aload_0 + // 8: invokevirtual 605 java/lang/String:length ()I + // 11: istore_2 + // 12: iload_2 + // 13: ifne +7 -> 20 + // 16: ldc 2 + // 18: monitorexit + // 19: return + // 20: new 609 java/io/File + // 23: dup + // 24: aload_0 + // 25: invokespecial 611 java/io/File: (Ljava/lang/String;)V + // 28: astore_3 + // 29: aload_3 + // 30: invokevirtual 774 java/io/File:exists ()Z + // 33: ifne +30 -> 63 + // 36: aload_3 + // 37: invokevirtual 1345 java/io/File:getParentFile ()Ljava/io/File; + // 40: astore 4 + // 42: aload 4 + // 44: ifnull -28 -> 16 + // 47: aload 4 + // 49: invokevirtual 1348 java/io/File:mkdirs ()Z + // 52: ifne +11 -> 63 + // 55: aload 4 + // 57: invokevirtual 614 java/io/File:isDirectory ()Z + // 60: ifeq -44 -> 16 + // 63: aload_0 + // 64: invokestatic 1350 oicq/wlogin_sdk/tools/util:getFileSize (Ljava/lang/String;)I + // 67: ldc 108 + // 69: if_icmpge -53 -> 16 + // 72: new 1261 java/io/FileOutputStream + // 75: dup + // 76: aload_3 + // 77: iconst_1 + // 78: invokespecial 1264 java/io/FileOutputStream: (Ljava/io/File;Z)V + // 81: astore_0 + // 82: aload_0 + // 83: aload_1 + // 84: invokevirtual 1265 java/io/FileOutputStream:write ([B)V + // 87: aload_0 + // 88: invokevirtual 1269 java/io/FileOutputStream:close ()V + // 91: goto -75 -> 16 + // 94: astore_0 + // 95: goto -79 -> 16 + // 98: astore_0 + // 99: ldc 2 + // 101: monitorexit + // 102: aload_0 + // 103: athrow + // Local variable table: + // start length slot name signature + // 0 104 0 paramString String + // 0 104 1 paramArrayOfByte byte[] + // 11 2 2 i int + // 28 49 3 localFile1 File + // 40 16 4 localFile2 File + // Exception table: + // from to target type + // 20 42 94 java/lang/Exception + // 47 63 94 java/lang/Exception + // 63 91 94 java/lang/Exception + // 7 12 98 finally + // 20 42 98 finally + // 47 63 98 finally + // 63 91 98 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: oicq.wlogin_sdk.tools.util + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/a.java b/com.tencent.token/classes.jar/tmsdk/common/a.java new file mode 100755 index 00000000000..d850219bbd3 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/a.java @@ -0,0 +1,49 @@ +package tmsdk.common; + +import android.content.Context; +import tmsdk.common.a.b; +import tmsdk.common.d.a.b.g; +import tmsdk.common.d.a.b.r; + +public class a +{ + public static int a; + private static Context b = null; + + public static Context a() + { + return b; + } + + public static String a(String paramString) + { + return null; + } + + public static void a(int paramInt, Class paramClass) {} + + public static void a(Context paramContext) + { + b = paramContext.getApplicationContext(); + } + + public static void a(g paramg, int paramInt) + { + a = paramInt; + ((r)b.a(r.class)).a(paramg, false); + } + + public static int b(String paramString) + { + if ("build".equals(paramString)) { + return a; + } + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/a/a.java b/com.tencent.token/classes.jar/tmsdk/common/a/a.java new file mode 100755 index 00000000000..ff50b649814 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/a/a.java @@ -0,0 +1,9 @@ +package tmsdk.common.a; + +public class a {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/a/b.java b/com.tencent.token/classes.jar/tmsdk/common/a/b.java new file mode 100755 index 00000000000..1cc9099dd5b --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/a/b.java @@ -0,0 +1,51 @@ +package tmsdk.common.a; + +import java.util.HashMap; + +public class b +{ + public static String a = "ManagerCreatorC"; + private static Object b = new Object(); + private static HashMap c = new HashMap(); + + public static Object a(Class paramClass) + { + Object localObject1 = c.get(paramClass); + if (localObject1 != null) { + return localObject1; + } + for (;;) + { + try + { + Object localObject2; + synchronized (b) + { + localObject2 = c.get(paramClass); + localObject1 = localObject2; + localObject2 = localObject1; + if (localObject1 != null) {} + } + } + catch (Exception paramClass) + { + continue; + } + try + { + throw paramClass; + } + catch (Exception paramClass) + { + paramClass = a; + return localObject1; + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/b.java b/com.tencent.token/classes.jar/tmsdk/common/b.java new file mode 100755 index 00000000000..7d8d50fcc99 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/b.java @@ -0,0 +1,17 @@ +package tmsdk.common; + +import tmsdk.common.d.b.a; + +public final class b +{ + public static tmsdk.common.d.b.b a() + { + return (tmsdk.common.d.b.b)tmsdk.common.a.b.a(a.class); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/b/a.java b/com.tencent.token/classes.jar/tmsdk/common/b/a.java new file mode 100755 index 00000000000..d0bf7b09633 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/b/a.java @@ -0,0 +1,20 @@ +package tmsdk.common.b; + +public class a + extends Exception +{ + private static final long serialVersionUID = 1L; + private int a; + + public a(int paramInt, String paramString) + { + super(paramString); + this.a = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/b/b.java b/com.tencent.token/classes.jar/tmsdk/common/b/b.java new file mode 100755 index 00000000000..b1eec83440e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/b/b.java @@ -0,0 +1,18 @@ +package tmsdk.common.b; + +public class b + extends Exception +{ + private static final long serialVersionUID = 1L; + + public b(String paramString) + { + super(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/a.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/a.java new file mode 100755 index 00000000000..da6a51c318d --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/a.java @@ -0,0 +1,59 @@ +package tmsdk.common.c.a; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Handler; +import java.util.concurrent.ConcurrentHashMap; + +public class a +{ + private static a d = null; + private static Object e = new Object(); + ConcurrentHashMap a = new ConcurrentHashMap(); + private Handler b = null; + private Context c = tmsdk.common.a.a(); + + public static a a() + { + if (d == null) {} + synchronized (e) + { + if (d == null) { + d = new a(); + } + return d; + } + } + + public void a(String paramString) + { + new StringBuilder().append("注销闹钟任务 : action : ").append(paramString).toString(); + paramString = (b)this.a.remove(paramString); + if (paramString != null) { + this.c.unregisterReceiver(paramString); + } + } + + public void a(String paramString, long paramLong, Runnable paramRunnable) + { + new StringBuilder().append("添加闹钟任务 : action : ").append(paramString).append(" ").append(paramLong / 1000L).append("s").toString(); + b localb = new b(this); + this.c.registerReceiver(localb, new IntentFilter(paramString)); + localb.b = paramRunnable; + localb.a = paramString; + paramRunnable = new Intent(paramString); + paramRunnable = PendingIntent.getBroadcast(this.c, 0, paramRunnable, 0); + AlarmManager localAlarmManager = (AlarmManager)this.c.getSystemService("alarm"); + this.a.put(paramString, localb); + localAlarmManager.set(0, System.currentTimeMillis() + paramLong, paramRunnable); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/b.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/b.java new file mode 100755 index 00000000000..9b0593cb156 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/b.java @@ -0,0 +1,32 @@ +package tmsdk.common.c.a; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Handler; + +class b + extends BroadcastReceiver +{ + public String a = null; + public Runnable b = null; + + b(a parama) {} + + public void onReceive(Context paramContext, Intent paramIntent) + { + paramContext = paramIntent.getAction(); + if (paramContext == null) {} + while ((!this.a.equals(paramContext)) || (this.b == null)) { + return; + } + a.a(this.c).post(this.b); + this.c.a(paramContext); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/c.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/c.java new file mode 100755 index 00000000000..a6e67ff94da --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/c.java @@ -0,0 +1,223 @@ +package tmsdk.common.c.a; + +import android.content.Context; +import android.net.NetworkInfo; +import android.net.Proxy; + +public class c +{ + public static int a = 4; + public static String b = null; + public static int c = 80; + public static byte d = 0; + public static boolean e = false; + public static boolean f = false; + public static byte g = 4; + public static String h = "unknown"; + public static byte i = 9; + + public static void a(Context paramContext) + { + if (f) { + return; + } + try + { + if (f) { + return; + } + } + finally {} + b(paramContext); + f = true; + } + + private static void a(String paramString) + { + if (paramString == null) {} + do + { + return; + if (paramString.contains("cmwap")) + { + h = "cmwap"; + i = 0; + return; + } + if (paramString.contains("cmnet")) + { + h = "cmnet"; + i = 1; + return; + } + if (paramString.contains("3gwap")) + { + h = "3gwap"; + i = 2; + return; + } + if (paramString.contains("3gnet")) + { + h = "3gnet"; + i = 3; + return; + } + if (paramString.contains("uniwap")) + { + h = "uniwap"; + i = 4; + return; + } + if (paramString.contains("uninet")) + { + h = "uninet"; + i = 5; + return; + } + if (paramString.contains("ctwap")) + { + h = "ctwap"; + i = 6; + return; + } + if (paramString.contains("ctnet")) + { + h = "ctnet"; + i = 7; + return; + } + } while (!paramString.contains("#777")); + h = "#777"; + i = 8; + } + + private static boolean a(int paramInt) + { + return (paramInt == 2) || (paramInt == 0); + } + + public static void b(Context paramContext) + { + localObject = null; + try + { + paramContext = tmsdk.common.b.a().a(); + new StringBuilder().append("networkInfo : ").append(paramContext).toString(); + try + { + a = 0; + g = 4; + if (paramContext == null) { + break label626; + } + j = paramContext.getType(); + new StringBuilder().append("type: ").append(paramContext.getType()).toString(); + new StringBuilder().append("typeName: ").append(paramContext.getTypeName()).toString(); + paramContext = paramContext.getExtraInfo(); + if (paramContext != null) { + break label338; + } + a = 0; + } + catch (Exception paramContext) + { + for (;;) + { + int j; + paramContext.printStackTrace(); + continue; + if ((paramContext.contains("cmwap")) || (paramContext.contains("uniwap")) || (paramContext.contains("3gwap")) || (paramContext.contains("ctwap"))) + { + g = 1; + if (paramContext.contains("3gwap")) { + g = 2; + } + a = 2; + } + else if ((paramContext.contains("cmnet")) || (paramContext.contains("uninet")) || (paramContext.contains("3gnet")) || (paramContext.contains("ctnet"))) + { + g = 1; + if ((paramContext.contains("3gnet")) || (paramContext.contains("ctnet"))) { + g = 2; + } + a = 1; + } + else if (paramContext.contains("#777")) + { + g = 2; + a = 0; + } + else + { + a = 0; + continue; + d = 0; + continue; + e = false; + a = 1; + continue; + j = -1; + paramContext = localObject; + } + } + } + new StringBuilder().append("extraInfo : ").append(paramContext).toString(); + if (j == 1) + { + a = 4; + e = false; + g = 3; + h = "unknown"; + i = 9; + new StringBuilder().append("NETWORK_TYPE : ").append(g).toString(); + new StringBuilder().append("M_APN_TYPE : ").append(a).toString(); + new StringBuilder().append("M_USE_PROXY : ").append(e).toString(); + new StringBuilder().append("M_APN_PROXY : ").append(b).toString(); + new StringBuilder().append("M_APN_PORT : ").append(c).toString(); + new StringBuilder().append("init() Apn.APN_NAME_VALUE: ").append(i).append(" APN_NAME_DRI: ").append(h).append(" NETWORK_TYPE: ").append(g).toString(); + return; + } + } + catch (NullPointerException paramContext) + { + for (;;) + { + new StringBuilder().append(" getActiveNetworkInfo NullPointerException--- \n").append(paramContext.getMessage()).toString(); + paramContext = null; + continue; + label338: + paramContext = paramContext.trim().toLowerCase(); + continue; + a(paramContext); + if (paramContext != null) { + break; + } + a = 0; + e = false; + if (a(a)) + { + b = Proxy.getDefaultHost(); + c = Proxy.getDefaultPort(); + if (b != null) { + b = b.trim(); + } + if ((b == null) || ("".equals(b))) { + break label615; + } + e = true; + a = 2; + if (!"10.0.0.200".equals(b)) { + break label608; + } + d = 1; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/d.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/d.java new file mode 100755 index 00000000000..4ed0f4ebd6a --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/d.java @@ -0,0 +1,29 @@ +package tmsdk.common.c.a; + +public class d +{ + public static final String a(byte[] paramArrayOfByte) + { + if (paramArrayOfByte == null) { + return ""; + } + StringBuffer localStringBuffer = new StringBuffer(paramArrayOfByte.length); + int i = 0; + while (i < paramArrayOfByte.length) + { + String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF); + if (str.length() < 2) { + localStringBuffer.append(0); + } + localStringBuffer.append(str.toUpperCase()); + i += 1; + } + return localStringBuffer.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/e.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/e.java new file mode 100755 index 00000000000..3d822a7f4a7 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/e.java @@ -0,0 +1,20 @@ +package tmsdk.common.c.a; + +public class e +{ + public static boolean a(long paramLong1, long paramLong2, int paramInt) + { + return paramLong1 - paramLong2 > paramInt * 24 * 3600 * 1000; + } + + public static boolean b(long paramLong1, long paramLong2, int paramInt) + { + return paramLong1 - paramLong2 > paramInt * 60 * 1000; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/f.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/f.java new file mode 100755 index 00000000000..cfc3f132030 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/f.java @@ -0,0 +1,51 @@ +package tmsdk.common.c.a; + +import java.util.ArrayList; + +public final class f +{ + private static volatile boolean a = false; + private static volatile String b = null; + private static volatile boolean c = false; + private static volatile boolean d = false; + private static volatile long e = 0L; + private static volatile long f = 0L; + private static Object g = new Object(); + private static ArrayList h = new ArrayList(); + + public static boolean a() + { + synchronized (g) + { + long l1 = System.currentTimeMillis(); + long l2 = f - l1; + new StringBuilder().append(" couldNotConnect() diff: ").append(l2).toString(); + int i; + if (l2 > 5184000L) + { + i = 1; + if (f - l1 < 0L) { + break label81; + } + } + label81: + for (int j = 1;; j = 0) + { + if ((i != 0) || (j == 0)) { + break label86; + } + return true; + i = 0; + break; + } + label86: + return false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/g.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/g.java new file mode 100755 index 00000000000..586e6619677 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/g.java @@ -0,0 +1,123 @@ +package tmsdk.common.c.a; + +import android.content.Context; +import java.io.File; +import tmsdk.common.a; + +public class g +{ + public static boolean a(Context paramContext, String paramString) + { + String str3 = a.a("pre_lib_path"); + String str1 = str3; + if (str3 == null) {} + int i; + try + { + str3 = paramContext.getCacheDir().toString(); + str1 = str3; + if (str3.endsWith("/") == true) { + str1 = str3.substring(0, str3.length() - 2); + } + i = str1.lastIndexOf('/'); + if (i == -1) { + break label413; + } + str1 = str1.substring(0, i); + str1 = str1 + "/lib/"; + } + catch (Exception localException) + { + for (;;) + { + str2 = "/data/data/" + paramContext.getPackageName() + "/lib/"; + continue; + i = 0; + continue; + i = j; + } + } + if (str1.length() != 0) { + if (!new File(str1 + paramString).exists()) {} + } + for (;;) + { + label413: + try + { + System.load(str1 + paramString); + i = 1; + if ((i != 0) || (paramString.endsWith(".so"))) { + break label491; + } + str3 = paramString + ".so"; + paramContext = str3; + j = i; + if (!new File(str1 + str3).exists()) {} + } + catch (UnsatisfiedLinkError paramContext) {} + try + { + System.load(str1 + str3); + j = 1; + paramContext = str3; + } + catch (UnsatisfiedLinkError paramContext) + { + paramContext = str3; + j = i; + continue; + continue; + } + if ((j == 0) && (!paramContext.startsWith("lib"))) + { + str3 = "lib" + paramContext; + paramContext = new File(str1 + str3); + if (paramContext.exists()) { + break label488; + } + str1 = str1.replace("/lib/", "/app_p_lib/"); + paramContext = new File(str1 + str3); + if (paramContext.exists()) { + try + { + System.load(str1 + str3); + i = 1; + if (i != 0) {} + } + catch (UnsatisfiedLinkError paramContext) {} + } + } + try + { + System.loadLibrary(paramString); + return true; + } + catch (UnsatisfiedLinkError paramContext) + { + return false; + } + str1 = ""; + break; + try + { + String str2; + System.loadLibrary(paramString); + } + catch (UnsatisfiedLinkError paramContext) + { + return false; + } + label488: + label491: + paramContext = paramString; + int j = i; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/c/a/h.java b/com.tencent.token/classes.jar/tmsdk/common/c/a/h.java new file mode 100755 index 00000000000..9d59d0277de --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/c/a/h.java @@ -0,0 +1,44 @@ +package tmsdk.common.c.a; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import tmsdk.common.a; + +public class h +{ + private SharedPreferences a; + private SharedPreferences.Editor b; + + public h(String paramString) + { + this.a = a.a().getSharedPreferences(paramString, 0); + } + + private SharedPreferences.Editor a() + { + if (this.b == null) { + this.b = this.a.edit(); + } + return this.b; + } + + public String a(String paramString1, String paramString2) + { + return this.a.getString(paramString1, paramString2); + } + + public void a(String paramString1, String paramString2, boolean paramBoolean) + { + a().putString(paramString1, paramString2); + if (paramBoolean) { + a().commit(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.c.a.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/a/a.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/a.java new file mode 100755 index 00000000000..83a34ea364e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/a.java @@ -0,0 +1,65 @@ +package tmsdk.common.d.a.a; + +public class a +{ + public static final int ERR_NETWORK_CLIENTPROTOCOLEXCEPTION = -110000; + public static final int ERR_NETWORK_COM = -10000; + public static final int ERR_NETWORK_CON_TIMEOUT = -20000; + public static final int ERR_NETWORK_EXCEPTION = -150000; + public static final int ERR_NETWORK_ILLEGALACCESSERROR = -80000; + public static final int ERR_NETWORK_ILLEGALSTATEEXCEPTION = -90000; + public static final int ERR_NETWORK_IOEXCEPTION = -140000; + public static final int ERR_NETWORK_NEED_WIFIAPPROVEMENT = -160000; + public static final int ERR_NETWORK_NOT_OUR_SERVER = -170000; + public static final int ERR_NETWORK_PROTOCOLEXCEPTION = -100000; + public static final int ERR_NETWORK_RECEIVER_FAILED = -40000; + public static final int ERR_NETWORK_RECV_TIMEOUT = -50000; + public static final int ERR_NETWORK_REDIRECT = -60000; + public static final int ERR_NETWORK_SEND_FAILED = -30000; + public static final int ERR_NETWORK_SOCKETEXCEPTION = -120000; + public static final int ERR_NETWORK_SOCKETTIMEOUTEXCEPTION = -130000; + public static final int ERR_NETWORK_SOCKET_CLOSED = -190000; + public static final int ERR_NETWORK_SOCKET_NO_CONNECTION = -180000; + public static final int ERR_NETWORK_UNKNOWN = -200000; + public static final int ERR_NETWORK_UNKNOWNHOSTEXCEPTION = -70000; + public static final int ERR_NONE = 0; + public static final int ERR_NORMAL_CLOUDCMD_DONT_CONNECT = -7; + public static final int ERR_NORMAL_DATA = -5; + public static final int ERR_NORMAL_ILLEGAL_ARGUMENT = -10; + public static final int ERR_NORMAL_MORTAL = -9; + public static final int ERR_NORMAL_NEED_WIFI_APPROVEMENT = -6; + public static final int ERR_NORMAL_NETWORK_FAILD = -3; + public static final int ERR_NORMAL_NORESP = -8; + public static final int ERR_NORMAL_NO_CONNECT = -2; + public static final int ERR_NORMAL_TIMEOUT = -4; + public static final int ERR_NORMAL_UNKNOWN = -1; + public static final int ERR_SHARK_DECODE = -300; + public static final int ERR_SHARK_DECODE_JCE = -400; + public static final int ERR_SHARK_FREQUECY_DEFENCE = -700; + public static final int ERR_SHARK_GET_SHARK = -600; + public static final int ERR_SHARK_GUID_FAILED = -200; + public static final int ERR_SHARK_NO_RESP = -500; + public static final int ERR_SHARK_RSAKEY_FAILED = -100; + public static final String SHARK_OCEAN = "ocean"; + + public static final int filterNetworkCode(int paramInt) + { + return paramInt % 1000000 - filterSharkCode(paramInt) - filterNormalCode(paramInt); + } + + public static final int filterNormalCode(int paramInt) + { + return paramInt % 20; + } + + public static final int filterSharkCode(int paramInt) + { + return paramInt % 10000 - filterNormalCode(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.a.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/a/b.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/b.java new file mode 100755 index 00000000000..8255b979f39 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/b.java @@ -0,0 +1,1014 @@ +package tmsdk.common.d.a.a; + +import android.content.Context; +import android.text.TextUtils; +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.util.concurrent.atomic.AtomicReference; +import tmsdk.common.d.a.b.e; +import tmsdk.common.e.k; + +public class b +{ + private static String a = "HttpNetwork"; + private final int b = 5; + private final int c = 3; + private String d = "POST"; + private boolean e = false; + private HttpURLConnection f; + private d g; + private String h; + private int i = 0; + private e j; + private volatile String k = null; + + public b(Context paramContext, boolean paramBoolean, e parame) + { + this.j = parame; + this.g = new d(paramContext, paramBoolean, parame); + } + + private void a(int paramInt) + { + if ((-70000 == paramInt) || (-130000 == paramInt) || (-170000 == paramInt)) { + this.g.d(); + } + } + + private byte[] a(InputStream paramInputStream) + { + byte[] arrayOfByte = new byte[2048]; + localBufferedInputStream = new BufferedInputStream(paramInputStream); + localByteArrayOutputStream = new ByteArrayOutputStream(); + try + { + for (;;) + { + int m = paramInputStream.read(arrayOfByte); + if (m == -1) { + break; + } + localByteArrayOutputStream.write(arrayOfByte, 0, m); + } + try + { + localBufferedInputStream.close(); + localByteArrayOutputStream.close(); + throw paramInputStream; + paramInputStream = localByteArrayOutputStream.toByteArray(); + try + { + localBufferedInputStream.close(); + localByteArrayOutputStream.close(); + return paramInputStream; + } + catch (Exception localException1) + { + localException1.printStackTrace(); + return paramInputStream; + } + } + catch (Exception localException2) + { + for (;;) + { + localException2.printStackTrace(); + } + } + } + catch (IOException paramInputStream) + { + paramInputStream = paramInputStream; + throw new tmsdk.common.b.a(-56, "get Bytes from inputStream when read buffer: " + paramInputStream.getMessage()); + } + finally {} + } + + /* Error */ + private int b(byte[] paramArrayOfByte, AtomicReference paramAtomicReference) + { + // Byte code: + // 0: aload_0 + // 1: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 4: ifnonnull +7 -> 11 + // 7: sipush -10000 + // 10: ireturn + // 11: ldc 134 + // 13: aload_0 + // 14: getfield 40 tmsdk/common/d/a/a/b:d Ljava/lang/String; + // 17: invokevirtual 140 java/lang/String:equalsIgnoreCase (Ljava/lang/String;)Z + // 20: ifeq +207 -> 227 + // 23: invokestatic 146 java/lang/System:currentTimeMillis ()J + // 26: lstore_3 + // 27: aload_0 + // 28: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 31: invokevirtual 152 java/net/HttpURLConnection:getOutputStream ()Ljava/io/OutputStream; + // 34: astore 5 + // 36: invokestatic 146 java/lang/System:currentTimeMillis ()J + // 39: lload_3 + // 40: lsub + // 41: lstore_3 + // 42: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 45: astore 6 + // 47: new 87 java/lang/StringBuilder + // 50: dup + // 51: invokespecial 88 java/lang/StringBuilder: ()V + // 54: ldc 154 + // 56: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 59: lload_3 + // 60: invokevirtual 157 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 63: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 66: pop + // 67: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 70: astore 6 + // 72: new 87 java/lang/StringBuilder + // 75: dup + // 76: invokespecial 88 java/lang/StringBuilder: ()V + // 79: ldc 154 + // 81: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 84: lload_3 + // 85: invokevirtual 157 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 88: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 91: pop + // 92: aload_0 + // 93: getfield 48 tmsdk/common/d/a/a/b:j Ltmsdk/common/d/a/b/e; + // 96: astore 6 + // 98: aload 5 + // 100: aload_1 + // 101: invokevirtual 162 java/io/OutputStream:write ([B)V + // 104: aload 5 + // 106: invokevirtual 165 java/io/OutputStream:flush ()V + // 109: aload 5 + // 111: invokevirtual 166 java/io/OutputStream:close ()V + // 114: aload_0 + // 115: aload_0 + // 116: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 119: invokevirtual 170 java/net/HttpURLConnection:getResponseCode ()I + // 122: invokespecial 173 tmsdk/common/d/a/a/b:b (I)Z + // 125: ifeq +134 -> 259 + // 128: aload_0 + // 129: aload_0 + // 130: invokespecial 175 tmsdk/common/d/a/a/b:i ()Ljava/lang/String; + // 133: putfield 177 tmsdk/common/d/a/a/b:h Ljava/lang/String; + // 136: aload_0 + // 137: aload_0 + // 138: getfield 44 tmsdk/common/d/a/a/b:i I + // 141: iconst_1 + // 142: iadd + // 143: putfield 44 tmsdk/common/d/a/a/b:i I + // 146: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 149: astore_1 + // 150: new 87 java/lang/StringBuilder + // 153: dup + // 154: invokespecial 88 java/lang/StringBuilder: ()V + // 157: ldc 179 + // 159: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 162: aload_0 + // 163: getfield 177 tmsdk/common/d/a/a/b:h Ljava/lang/String; + // 166: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 169: ldc 181 + // 171: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 174: aload_0 + // 175: getfield 44 tmsdk/common/d/a/a/b:i I + // 178: invokevirtual 184 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 181: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 184: pop + // 185: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 188: astore_1 + // 189: new 87 java/lang/StringBuilder + // 192: dup + // 193: invokespecial 88 java/lang/StringBuilder: ()V + // 196: ldc 179 + // 198: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 201: aload_0 + // 202: getfield 177 tmsdk/common/d/a/a/b:h Ljava/lang/String; + // 205: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 208: ldc 181 + // 210: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 213: aload_0 + // 214: getfield 44 tmsdk/common/d/a/a/b:i I + // 217: invokevirtual 184 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 220: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 223: pop + // 224: ldc 185 + // 226: ireturn + // 227: aload_0 + // 228: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 231: ldc 187 + // 233: new 87 java/lang/StringBuilder + // 236: dup + // 237: invokespecial 88 java/lang/StringBuilder: ()V + // 240: ldc 189 + // 242: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 245: aload_1 + // 246: arraylength + // 247: invokevirtual 184 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 250: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 253: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 256: goto -233 -> 23 + // 259: aload_0 + // 260: invokespecial 195 tmsdk/common/d/a/a/b:h ()V + // 263: aload_0 + // 264: invokespecial 197 tmsdk/common/d/a/a/b:e ()V + // 267: aload_0 + // 268: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 271: invokevirtual 201 java/net/HttpURLConnection:getHeaderFields ()Ljava/util/Map; + // 274: astore_1 + // 275: aload_1 + // 276: ifnull +58 -> 334 + // 279: aload_1 + // 280: invokevirtual 202 java/lang/Object:toString ()Ljava/lang/String; + // 283: astore_1 + // 284: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 287: astore 5 + // 289: new 87 java/lang/StringBuilder + // 292: dup + // 293: invokespecial 88 java/lang/StringBuilder: ()V + // 296: ldc 204 + // 298: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 301: aload_1 + // 302: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 305: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 308: pop + // 309: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 312: astore 5 + // 314: new 87 java/lang/StringBuilder + // 317: dup + // 318: invokespecial 88 java/lang/StringBuilder: ()V + // 321: ldc 204 + // 323: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 326: aload_1 + // 327: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 330: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 333: pop + // 334: aload_0 + // 335: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 338: ldc 206 + // 340: invokevirtual 210 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 343: astore_1 + // 344: aload_1 + // 345: invokestatic 216 android/text/TextUtils:isEmpty (Ljava/lang/CharSequence;)Z + // 348: ifeq +14 -> 362 + // 351: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 354: astore_1 + // 355: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 358: astore_1 + // 359: ldc 58 + // 361: ireturn + // 362: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 365: astore 5 + // 367: new 87 java/lang/StringBuilder + // 370: dup + // 371: invokespecial 88 java/lang/StringBuilder: ()V + // 374: ldc 218 + // 376: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 379: aload_1 + // 380: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 383: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 386: pop + // 387: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 390: astore 5 + // 392: new 87 java/lang/StringBuilder + // 395: dup + // 396: invokespecial 88 java/lang/StringBuilder: ()V + // 399: ldc 218 + // 401: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 404: aload_1 + // 405: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 408: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 411: pop + // 412: aload_1 + // 413: ldc 220 + // 415: invokevirtual 224 java/lang/String:equals (Ljava/lang/Object;)Z + // 418: ifne +14 -> 432 + // 421: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 424: astore_1 + // 425: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 428: astore_1 + // 429: ldc 58 + // 431: ireturn + // 432: aload_2 + // 433: aload_0 + // 434: aload_0 + // 435: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 438: invokevirtual 228 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 441: invokespecial 230 tmsdk/common/d/a/a/b:a (Ljava/io/InputStream;)[B + // 444: invokevirtual 236 java/util/concurrent/atomic/AtomicReference:set (Ljava/lang/Object;)V + // 447: iconst_0 + // 448: ireturn + // 449: astore_1 + // 450: aload_1 + // 451: invokevirtual 115 java/lang/Exception:printStackTrace ()V + // 454: ldc 237 + // 456: ireturn + // 457: astore_1 + // 458: aload_1 + // 459: invokevirtual 238 java/net/UnknownHostException:printStackTrace ()V + // 462: ldc 56 + // 464: ireturn + // 465: astore_1 + // 466: aload_1 + // 467: invokevirtual 239 java/lang/IllegalAccessError:printStackTrace ()V + // 470: ldc 240 + // 472: ireturn + // 473: astore_1 + // 474: aload_1 + // 475: invokevirtual 241 java/lang/IllegalStateException:printStackTrace ()V + // 478: ldc 242 + // 480: ireturn + // 481: astore_1 + // 482: aload_1 + // 483: invokevirtual 243 java/net/ProtocolException:printStackTrace ()V + // 486: ldc 244 + // 488: ireturn + // 489: astore_1 + // 490: aload_1 + // 491: invokevirtual 245 org/apache/http/client/ClientProtocolException:printStackTrace ()V + // 494: ldc 246 + // 496: ireturn + // 497: astore_1 + // 498: aload_0 + // 499: invokespecial 249 tmsdk/common/d/a/a/b:d ()Z + // 502: ifeq +6 -> 508 + // 505: ldc 250 + // 507: ireturn + // 508: aload_1 + // 509: invokevirtual 251 java/net/SocketException:printStackTrace ()V + // 512: ldc 252 + // 514: ireturn + // 515: astore_1 + // 516: aload_1 + // 517: invokevirtual 253 java/net/SocketTimeoutException:printStackTrace ()V + // 520: ldc 57 + // 522: ireturn + // 523: astore_1 + // 524: aload_1 + // 525: invokevirtual 254 java/io/IOException:printStackTrace ()V + // 528: ldc 255 + // 530: ireturn + // 531: astore_1 + // 532: aload_1 + // 533: invokevirtual 115 java/lang/Exception:printStackTrace ()V + // 536: ldc_w 256 + // 539: ireturn + // 540: astore_1 + // 541: aload_1 + // 542: athrow + // Local variable table: + // start length slot name signature + // 0 543 0 this b + // 0 543 1 paramArrayOfByte byte[] + // 0 543 2 paramAtomicReference AtomicReference + // 26 59 3 l long + // 34 357 5 localObject1 Object + // 45 52 6 localObject2 Object + // Exception table: + // from to target type + // 267 275 449 java/lang/Exception + // 279 334 449 java/lang/Exception + // 334 359 449 java/lang/Exception + // 362 429 449 java/lang/Exception + // 432 447 449 java/lang/Exception + // 23 224 457 java/net/UnknownHostException + // 259 267 457 java/net/UnknownHostException + // 267 275 457 java/net/UnknownHostException + // 279 334 457 java/net/UnknownHostException + // 334 359 457 java/net/UnknownHostException + // 362 429 457 java/net/UnknownHostException + // 432 447 457 java/net/UnknownHostException + // 450 454 457 java/net/UnknownHostException + // 23 224 465 java/lang/IllegalAccessError + // 259 267 465 java/lang/IllegalAccessError + // 267 275 465 java/lang/IllegalAccessError + // 279 334 465 java/lang/IllegalAccessError + // 334 359 465 java/lang/IllegalAccessError + // 362 429 465 java/lang/IllegalAccessError + // 432 447 465 java/lang/IllegalAccessError + // 450 454 465 java/lang/IllegalAccessError + // 23 224 473 java/lang/IllegalStateException + // 259 267 473 java/lang/IllegalStateException + // 267 275 473 java/lang/IllegalStateException + // 279 334 473 java/lang/IllegalStateException + // 334 359 473 java/lang/IllegalStateException + // 362 429 473 java/lang/IllegalStateException + // 432 447 473 java/lang/IllegalStateException + // 450 454 473 java/lang/IllegalStateException + // 23 224 481 java/net/ProtocolException + // 259 267 481 java/net/ProtocolException + // 267 275 481 java/net/ProtocolException + // 279 334 481 java/net/ProtocolException + // 334 359 481 java/net/ProtocolException + // 362 429 481 java/net/ProtocolException + // 432 447 481 java/net/ProtocolException + // 450 454 481 java/net/ProtocolException + // 23 224 489 org/apache/http/client/ClientProtocolException + // 259 267 489 org/apache/http/client/ClientProtocolException + // 267 275 489 org/apache/http/client/ClientProtocolException + // 279 334 489 org/apache/http/client/ClientProtocolException + // 334 359 489 org/apache/http/client/ClientProtocolException + // 362 429 489 org/apache/http/client/ClientProtocolException + // 432 447 489 org/apache/http/client/ClientProtocolException + // 450 454 489 org/apache/http/client/ClientProtocolException + // 23 224 497 java/net/SocketException + // 259 267 497 java/net/SocketException + // 267 275 497 java/net/SocketException + // 279 334 497 java/net/SocketException + // 334 359 497 java/net/SocketException + // 362 429 497 java/net/SocketException + // 432 447 497 java/net/SocketException + // 450 454 497 java/net/SocketException + // 23 224 515 java/net/SocketTimeoutException + // 259 267 515 java/net/SocketTimeoutException + // 267 275 515 java/net/SocketTimeoutException + // 279 334 515 java/net/SocketTimeoutException + // 334 359 515 java/net/SocketTimeoutException + // 362 429 515 java/net/SocketTimeoutException + // 432 447 515 java/net/SocketTimeoutException + // 450 454 515 java/net/SocketTimeoutException + // 23 224 523 java/io/IOException + // 259 267 523 java/io/IOException + // 267 275 523 java/io/IOException + // 279 334 523 java/io/IOException + // 334 359 523 java/io/IOException + // 362 429 523 java/io/IOException + // 432 447 523 java/io/IOException + // 450 454 523 java/io/IOException + // 23 224 531 java/lang/Exception + // 259 267 531 java/lang/Exception + // 450 454 531 java/lang/Exception + // 23 224 540 finally + // 259 267 540 finally + // 267 275 540 finally + // 279 334 540 finally + // 334 359 540 finally + // 362 429 540 finally + // 432 447 540 finally + // 450 454 540 finally + // 458 462 540 finally + // 466 470 540 finally + // 474 478 540 finally + // 482 486 540 finally + // 490 494 540 finally + // 498 505 540 finally + // 508 512 540 finally + // 516 520 540 finally + // 524 528 540 finally + // 532 536 540 finally + } + + private boolean b(int paramInt) + { + return (paramInt >= 301) && (paramInt <= 305); + } + + private boolean d() + { + localObject = tmsdk.common.e.f.a(); + if (b.a.c == localObject) {} + for (int m = 1; m == 0; m = 0) { + return false; + } + localObject = null; + try + { + String str1 = k.a(new c(this)); + localObject = str1; + } + catch (tmsdk.common.b.b localb) + { + for (;;) + { + String str2 = a; + new StringBuilder().append("checkWifiApprovement() WifiApproveException e: ").append(localb.toString()).toString(); + str2 = a; + new StringBuilder().append("checkWifiApprovement() WifiApproveException e: ").append(localb.toString()).toString(); + } + this.k = ((String)localObject); + localObject = a; + new StringBuilder().append("checkWifiApprovement() mWifiApprovementUrl: ").append(this.k).toString(); + localObject = a; + new StringBuilder().append("checkWifiApprovement() mWifiApprovementUrl: ").append(this.k).toString(); + } + return !TextUtils.isEmpty((CharSequence)localObject); + } + + private void e() + { + this.k = null; + } + + private boolean f() + { + return this.e; + } + + private void g() + { + if (this.i >= 3) { + h(); + } + } + + private void h() + { + this.h = null; + this.i = 0; + } + + private String i() + { + String str1 = a; + str1 = a; + try + { + str1 = this.f.getHeaderField("Location"); + return str1; + } + catch (Exception localException) + { + String str2 = a; + new StringBuilder().append("getRedirectUrl() e: ").append(localException.toString()).toString(); + str2 = a; + new StringBuilder().append("getRedirectUrl() e: ").append(localException.toString()).toString(); + } + return null; + } + + public int a(byte[] paramArrayOfByte, AtomicReference paramAtomicReference) + { + int m; + if (paramArrayOfByte == null) + { + m = -10; + return m; + } + for (;;) + { + int n; + try + { + if (tmsdk.common.c.a.f.a()) + { + m = -7; + break; + } + localObject = a; + new StringBuilder().append("sendData() data.length: ").append(paramArrayOfByte.length).toString(); + localObject = a; + new StringBuilder().append("sendData() data.length: ").append(paramArrayOfByte.length).toString(); + n = 0; + m = -1; + if (n >= 5) { + break label387; + } + boolean bool = f(); + localObject = a; + new StringBuilder().append("sendData() hasStart: ").append(bool).toString(); + localObject = a; + new StringBuilder().append("sendData() hasStart: ").append(bool).toString(); + localObject = new AtomicReference(); + if ((!bool) && (!a((AtomicReference)localObject))) { + break label390; + } + m = b(paramArrayOfByte, paramAtomicReference); + if (m == 0) + { + paramArrayOfByte = a; + paramArrayOfByte = a; + b(); + this.g.a((String)((AtomicReference)localObject).get()); + break; + } + } + finally {} + if (-160000 == m) + { + paramArrayOfByte = a; + paramArrayOfByte = a; + b(); + break; + } + Object localObject = a; + new StringBuilder().append("sendData() ret: ").append(m).toString(); + localObject = a; + new StringBuilder().append("sendData() ret: ").append(m).toString(); + b(); + a(m); + if (4 != n) + { + try + { + Thread.sleep(3000L); + } + catch (InterruptedException localInterruptedException) + { + String str = a; + new StringBuilder().append("sendData() InterruptedException e: ").append(localInterruptedException.toString()).toString(); + str = a; + new StringBuilder().append("sendData() InterruptedException e: ").append(localInterruptedException.toString()).toString(); + } + } + else + { + break label390; + label387: + break; + } + label390: + n += 1; + } + } + + public d a() + { + return this.g; + } + + /* Error */ + public boolean a(AtomicReference paramAtomicReference) + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 5: astore 5 + // 7: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 10: astore 5 + // 12: aload_0 + // 13: iconst_1 + // 14: putfield 42 tmsdk/common/d/a/a/b:e Z + // 17: aload_0 + // 18: invokespecial 344 tmsdk/common/d/a/a/b:g ()V + // 21: aload_0 + // 22: getfield 177 tmsdk/common/d/a/a/b:h Ljava/lang/String; + // 25: invokestatic 216 android/text/TextUtils:isEmpty (Ljava/lang/CharSequence;)Z + // 28: ifeq +129 -> 157 + // 31: aload_0 + // 32: getfield 54 tmsdk/common/d/a/a/b:g Ltmsdk/common/d/a/a/d; + // 35: invokevirtual 346 tmsdk/common/d/a/a/d:c ()Ljava/lang/String; + // 38: astore 6 + // 40: aload 6 + // 42: astore 5 + // 44: aload_1 + // 45: ifnull +13 -> 58 + // 48: aload_1 + // 49: aload 6 + // 51: invokevirtual 236 java/util/concurrent/atomic/AtomicReference:set (Ljava/lang/Object;)V + // 54: aload 6 + // 56: astore 5 + // 58: invokestatic 263 tmsdk/common/e/f:a ()Lb/a; + // 61: astore_1 + // 62: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 65: astore 6 + // 67: new 87 java/lang/StringBuilder + // 70: dup + // 71: invokespecial 88 java/lang/StringBuilder: ()V + // 74: ldc_w 348 + // 77: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 80: aload 5 + // 82: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 85: ldc_w 350 + // 88: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 91: aload_1 + // 92: invokevirtual 353 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 95: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 98: pop + // 99: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 102: astore 6 + // 104: new 87 java/lang/StringBuilder + // 107: dup + // 108: invokespecial 88 java/lang/StringBuilder: ()V + // 111: ldc_w 348 + // 114: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 117: aload 5 + // 119: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 122: ldc_w 350 + // 125: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 128: aload_1 + // 129: invokevirtual 353 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 132: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 135: pop + // 136: getstatic 355 b/a:a Lb/a; + // 139: aload_1 + // 140: if_acmpne +26 -> 166 + // 143: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 146: astore_1 + // 147: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 150: astore_1 + // 151: iconst_0 + // 152: istore_2 + // 153: aload_0 + // 154: monitorexit + // 155: iload_2 + // 156: ireturn + // 157: aload_0 + // 158: getfield 177 tmsdk/common/d/a/a/b:h Ljava/lang/String; + // 161: astore 5 + // 163: goto -105 -> 58 + // 166: invokestatic 146 java/lang/System:currentTimeMillis ()J + // 169: lstore_3 + // 170: new 357 java/net/URL + // 173: dup + // 174: aload 5 + // 176: invokespecial 359 java/net/URL: (Ljava/lang/String;)V + // 179: astore 5 + // 181: getstatic 361 b/a:d Lb/a; + // 184: aload_1 + // 185: if_acmpne +244 -> 429 + // 188: aload_0 + // 189: aload 5 + // 191: new 363 java/net/Proxy + // 194: dup + // 195: getstatic 369 java/net/Proxy$Type:HTTP Ljava/net/Proxy$Type; + // 198: invokestatic 370 tmsdk/common/e/f:c ()Ljava/lang/String; + // 201: invokestatic 372 tmsdk/common/e/f:d ()I + // 204: invokestatic 378 java/net/InetSocketAddress:createUnresolved (Ljava/lang/String;I)Ljava/net/InetSocketAddress; + // 207: invokespecial 381 java/net/Proxy: (Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V + // 210: invokevirtual 385 java/net/URL:openConnection (Ljava/net/Proxy;)Ljava/net/URLConnection; + // 213: checkcast 148 java/net/HttpURLConnection + // 216: putfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 219: invokestatic 146 java/lang/System:currentTimeMillis ()J + // 222: lload_3 + // 223: lsub + // 224: lstore_3 + // 225: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 228: astore_1 + // 229: new 87 java/lang/StringBuilder + // 232: dup + // 233: invokespecial 88 java/lang/StringBuilder: ()V + // 236: ldc_w 387 + // 239: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 242: lload_3 + // 243: invokevirtual 157 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 246: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 249: pop + // 250: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 253: astore_1 + // 254: new 87 java/lang/StringBuilder + // 257: dup + // 258: invokespecial 88 java/lang/StringBuilder: ()V + // 261: ldc_w 387 + // 264: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 267: lload_3 + // 268: invokevirtual 157 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder; + // 271: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 274: pop + // 275: invokestatic 391 tmsdk/common/e/i:a ()I + // 278: bipush 8 + // 280: if_icmpge +13 -> 293 + // 283: ldc_w 393 + // 286: ldc_w 395 + // 289: invokestatic 399 java/lang/System:setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + // 292: pop + // 293: aload_0 + // 294: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 297: iconst_0 + // 298: invokevirtual 403 java/net/HttpURLConnection:setUseCaches (Z)V + // 301: aload_0 + // 302: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 305: ldc_w 405 + // 308: ldc_w 407 + // 311: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 314: aload_0 + // 315: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 318: ldc_w 409 + // 321: ldc_w 407 + // 324: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 327: aload_0 + // 328: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 331: iconst_0 + // 332: invokevirtual 412 java/net/HttpURLConnection:setInstanceFollowRedirects (Z)V + // 335: ldc 134 + // 337: aload_0 + // 338: getfield 40 tmsdk/common/d/a/a/b:d Ljava/lang/String; + // 341: invokevirtual 140 java/lang/String:equalsIgnoreCase (Ljava/lang/String;)Z + // 344: ifeq +130 -> 474 + // 347: aload_0 + // 348: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 351: ldc 134 + // 353: invokevirtual 415 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 356: iconst_1 + // 357: istore_2 + // 358: goto -205 -> 153 + // 361: astore_1 + // 362: aload_1 + // 363: invokevirtual 416 java/net/MalformedURLException:printStackTrace ()V + // 366: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 369: astore 5 + // 371: new 87 java/lang/StringBuilder + // 374: dup + // 375: invokespecial 88 java/lang/StringBuilder: ()V + // 378: ldc_w 418 + // 381: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 384: aload_1 + // 385: invokevirtual 419 java/net/MalformedURLException:toString ()Ljava/lang/String; + // 388: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 391: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 394: pop + // 395: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 398: astore 5 + // 400: new 87 java/lang/StringBuilder + // 403: dup + // 404: invokespecial 88 java/lang/StringBuilder: ()V + // 407: ldc_w 418 + // 410: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 413: aload_1 + // 414: invokevirtual 419 java/net/MalformedURLException:toString ()Ljava/lang/String; + // 417: invokevirtual 94 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 420: invokevirtual 101 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 423: pop + // 424: iconst_0 + // 425: istore_2 + // 426: goto -273 -> 153 + // 429: aload_0 + // 430: aload 5 + // 432: invokevirtual 422 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 435: checkcast 148 java/net/HttpURLConnection + // 438: putfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 441: aload_0 + // 442: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 445: sipush 30000 + // 448: invokevirtual 425 java/net/HttpURLConnection:setReadTimeout (I)V + // 451: aload_0 + // 452: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 455: sipush 30000 + // 458: invokevirtual 428 java/net/HttpURLConnection:setConnectTimeout (I)V + // 461: goto -242 -> 219 + // 464: astore_1 + // 465: aload_1 + // 466: invokevirtual 238 java/net/UnknownHostException:printStackTrace ()V + // 469: iconst_0 + // 470: istore_2 + // 471: goto -318 -> 153 + // 474: aload_0 + // 475: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 478: ldc 38 + // 480: invokevirtual 415 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 483: aload_0 + // 484: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 487: iconst_1 + // 488: invokevirtual 431 java/net/HttpURLConnection:setDoOutput (Z)V + // 491: aload_0 + // 492: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 495: iconst_1 + // 496: invokevirtual 434 java/net/HttpURLConnection:setDoInput (Z)V + // 499: aload_0 + // 500: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 503: ldc_w 436 + // 506: ldc_w 438 + // 509: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 512: aload_0 + // 513: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 516: ldc_w 440 + // 519: ldc_w 442 + // 522: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 525: aload_0 + // 526: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 529: ldc_w 444 + // 532: ldc_w 446 + // 535: invokevirtual 193 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 538: goto -182 -> 356 + // 541: astore_1 + // 542: aload_1 + // 543: invokevirtual 447 java/lang/IllegalArgumentException:printStackTrace ()V + // 546: iconst_0 + // 547: istore_2 + // 548: goto -395 -> 153 + // 551: astore_1 + // 552: aload_1 + // 553: invokevirtual 448 java/lang/SecurityException:printStackTrace ()V + // 556: iconst_0 + // 557: istore_2 + // 558: goto -405 -> 153 + // 561: astore_1 + // 562: aload_1 + // 563: invokevirtual 449 java/lang/UnsupportedOperationException:printStackTrace ()V + // 566: iconst_0 + // 567: istore_2 + // 568: goto -415 -> 153 + // 571: astore_1 + // 572: aload_1 + // 573: invokevirtual 254 java/io/IOException:printStackTrace ()V + // 576: iconst_0 + // 577: istore_2 + // 578: goto -425 -> 153 + // 581: astore_1 + // 582: aload_0 + // 583: monitorexit + // 584: aload_1 + // 585: athrow + // Local variable table: + // start length slot name signature + // 0 586 0 this b + // 0 586 1 paramAtomicReference AtomicReference + // 152 426 2 bool boolean + // 169 99 3 l long + // 5 426 5 localObject Object + // 38 65 6 str String + // Exception table: + // from to target type + // 170 181 361 java/net/MalformedURLException + // 181 219 464 java/net/UnknownHostException + // 219 293 464 java/net/UnknownHostException + // 293 356 464 java/net/UnknownHostException + // 429 461 464 java/net/UnknownHostException + // 474 538 464 java/net/UnknownHostException + // 181 219 541 java/lang/IllegalArgumentException + // 219 293 541 java/lang/IllegalArgumentException + // 293 356 541 java/lang/IllegalArgumentException + // 429 461 541 java/lang/IllegalArgumentException + // 474 538 541 java/lang/IllegalArgumentException + // 181 219 551 java/lang/SecurityException + // 219 293 551 java/lang/SecurityException + // 293 356 551 java/lang/SecurityException + // 429 461 551 java/lang/SecurityException + // 474 538 551 java/lang/SecurityException + // 181 219 561 java/lang/UnsupportedOperationException + // 219 293 561 java/lang/UnsupportedOperationException + // 293 356 561 java/lang/UnsupportedOperationException + // 429 461 561 java/lang/UnsupportedOperationException + // 474 538 561 java/lang/UnsupportedOperationException + // 181 219 571 java/io/IOException + // 219 293 571 java/io/IOException + // 293 356 571 java/io/IOException + // 429 461 571 java/io/IOException + // 474 538 571 java/io/IOException + // 2 40 581 finally + // 48 54 581 finally + // 58 151 581 finally + // 157 163 581 finally + // 166 170 581 finally + // 170 181 581 finally + // 181 219 581 finally + // 219 293 581 finally + // 293 356 581 finally + // 362 424 581 finally + // 429 461 581 finally + // 465 469 581 finally + // 474 538 581 finally + // 542 546 581 finally + // 552 556 581 finally + // 562 566 581 finally + // 572 576 581 finally + } + + /* Error */ + public boolean b() + { + // Byte code: + // 0: iconst_0 + // 1: istore_1 + // 2: aload_0 + // 3: monitorenter + // 4: getstatic 27 tmsdk/common/d/a/a/b:a Ljava/lang/String; + // 7: astore_2 + // 8: aload_0 + // 9: iconst_0 + // 10: putfield 42 tmsdk/common/d/a/a/b:e Z + // 13: aload_0 + // 14: iconst_0 + // 15: putfield 42 tmsdk/common/d/a/a/b:e Z + // 18: aload_0 + // 19: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 22: astore_2 + // 23: aload_2 + // 24: ifnonnull +7 -> 31 + // 27: aload_0 + // 28: monitorexit + // 29: iload_1 + // 30: ireturn + // 31: aload_0 + // 32: getfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 35: invokevirtual 452 java/net/HttpURLConnection:disconnect ()V + // 38: aload_0 + // 39: aconst_null + // 40: putfield 132 tmsdk/common/d/a/a/b:f Ljava/net/HttpURLConnection; + // 43: iconst_1 + // 44: istore_1 + // 45: goto -18 -> 27 + // 48: astore_2 + // 49: aload_0 + // 50: monitorexit + // 51: aload_2 + // 52: athrow + // Local variable table: + // start length slot name signature + // 0 53 0 this b + // 1 44 1 bool boolean + // 7 17 2 localObject1 Object + // 48 4 2 localObject2 Object + // Exception table: + // from to target type + // 4 23 48 finally + // 31 43 48 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.a.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/a/c.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/c.java new file mode 100755 index 00000000000..b9bc67dae70 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/c.java @@ -0,0 +1,23 @@ +package tmsdk.common.d.a.a; + +import tmsdk.common.e.l; + +class c + implements l +{ + c(b paramb) {} + + public void a(boolean paramBoolean1, boolean paramBoolean2) + { + b.c(); + new StringBuilder().append("checkWifiApprovement() needWifiApprove: ").append(paramBoolean1).append(" receivedError").append(paramBoolean2).toString(); + b.c(); + new StringBuilder().append("checkWifiApprovement() needWifiApprove: ").append(paramBoolean1).append(" receivedError").append(paramBoolean2).toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.a.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/a/d.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/d.java new file mode 100755 index 00000000000..e86002f5d90 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/a/d.java @@ -0,0 +1,551 @@ +package tmsdk.common.d.a.a; + +import android.content.Context; +import android.text.TextUtils; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import tmsdk.common.c.a.c; +import tmsdk.common.d.a.b.e; +import tmsdk.common.e.g; + +public class d +{ + private final String a = "IpPlot"; + private Context b; + private boolean c = false; + private e d; + private final String e = "http://mazutest.3g.qq.com"; + private final String f = "http://mazu.3g.qq.com"; + private ArrayList g = new ArrayList(); + private ArrayList h = new ArrayList(); + private ArrayList i = new ArrayList(); + private volatile int j; + private volatile int k; + private volatile long l; + private ArrayList m = new ArrayList(); + private ArrayList n = new ArrayList(); + private ArrayList o = new ArrayList(); + private ArrayList p = new ArrayList(); + private Object q = new Object(); + private int r = 0; + private ArrayList s = new ArrayList(); + private String t = null; + + public d(Context paramContext, boolean paramBoolean, e parame) + { + new StringBuilder().append("IpPlot() isTest: ").append(paramBoolean).toString(); + new StringBuilder().append("IpPlot() isTest: ").append(paramBoolean).toString(); + this.b = paramContext; + this.c = paramBoolean; + this.d = parame; + l(); + e(); + h(); + } + + private final ArrayList a(ArrayList paramArrayList) + { + Object localObject; + if ((paramArrayList == null) || (paramArrayList.size() <= 0)) + { + localObject = new ArrayList(); + return localObject; + } + int i1 = paramArrayList.size() - 1; + for (;;) + { + localObject = paramArrayList; + if (i1 <= 0) { + break; + } + int i2 = (int)(i1 * Math.random()); + localObject = (String)paramArrayList.get(i1); + paramArrayList.set(i1, paramArrayList.get(i2)); + paramArrayList.set(i2, localObject); + i1 -= 1; + } + } + + private void a(String paramString, ArrayList paramArrayList) + { + if (paramArrayList == null) + { + new StringBuilder().append("printList() ").append(paramString).append(" is null").toString(); + new StringBuilder().append("printList() ").append(paramString).append(" is null").toString(); + return; + } + if (paramArrayList.size() <= 0) + { + new StringBuilder().append("printList() ").append(paramString).append(".size <= 0").toString(); + new StringBuilder().append("printList() ").append(paramString).append(".size <= 0").toString(); + return; + } + int i2 = paramArrayList.size(); + int i1 = 0; + label121: + if (i1 < i2) { + if (!TextUtils.isEmpty((CharSequence)paramArrayList.get(i1))) { + break label148; + } + } + for (;;) + { + i1 += 1; + break label121; + break; + label148: + new StringBuilder().append("printList() ").append(paramString).append("[").append(i1).append("]: ").append((String)paramArrayList.get(i1)).toString(); + new StringBuilder().append("printList() ").append(paramString).append("[").append(i1).append("]: ").append((String)paramArrayList.get(i1)).toString(); + } + } + + private void a(ArrayList paramArrayList1, ArrayList paramArrayList2, ArrayList paramArrayList3) + { + if (paramArrayList1 != null) { + this.m = a(c(paramArrayList1)); + } + if (paramArrayList2 != null) { + this.n = a(c(paramArrayList2)); + } + if (paramArrayList3 != null) { + this.o = a(c(paramArrayList3)); + } + } + + private void a(boolean paramBoolean, ArrayList paramArrayList) + { + if (paramArrayList == null) { + return; + } + switch (p()) + { + default: + return; + case 0: + if (paramBoolean) {} + for (localArrayList = this.g;; localArrayList = this.m) + { + paramArrayList.addAll(localArrayList); + return; + } + case 1: + if (paramBoolean) {} + for (localArrayList = this.h;; localArrayList = this.n) + { + paramArrayList.addAll(localArrayList); + return; + } + } + if (paramBoolean) {} + for (ArrayList localArrayList = this.i;; localArrayList = this.o) + { + paramArrayList.addAll(localArrayList); + return; + } + } + + private String b(String paramString) + { + String str; + for (;;) + { + str = paramString; + if (!paramString.startsWith(" ")) { + break; + } + paramString = paramString.substring(1, paramString.length()).trim(); + } + while (str.endsWith(" ")) { + str = str.substring(0, str.length() - 1).trim(); + } + return str; + } + + private void b(ArrayList paramArrayList) + { + if (paramArrayList == null) { + return; + } + paramArrayList.addAll(this.p); + } + + private void b(boolean paramBoolean, ArrayList paramArrayList) + { + if (paramArrayList == null) {} + int i1; + label46: + do + { + return; + i1 = p(); + if (i1 != 0) + { + if (!paramBoolean) { + break; + } + localArrayList = this.g; + paramArrayList.addAll(localArrayList); + } + if (1 != i1) + { + if (!paramBoolean) { + break label85; + } + localArrayList = this.h; + paramArrayList.addAll(localArrayList); + } + } while (2 == i1); + if (paramBoolean) {} + for (ArrayList localArrayList = this.i;; localArrayList = this.o) + { + paramArrayList.addAll(localArrayList); + return; + localArrayList = this.m; + break; + label85: + localArrayList = this.n; + break label46; + } + } + + private ArrayList c(ArrayList paramArrayList) + { + if (paramArrayList == null) {} + int i1; + do + { + return null; + i1 = paramArrayList.size(); + } while (i1 <= 0); + ArrayList localArrayList = new ArrayList(); + i1 -= 1; + if (i1 >= 0) + { + String str = (String)paramArrayList.get(i1); + if (TextUtils.isEmpty(str)) {} + for (;;) + { + i1 -= 1; + break; + new StringBuilder().append("getHttpList() ipStr[").append(i1).append("]:").append(str).toString(); + new StringBuilder().append("getHttpList() ipStr[").append(i1).append("]:").append(str).toString(); + if (!c(str)) + { + paramArrayList.remove(i1); + new StringBuilder().append("getHttpList() no an ip, ipStr: ").append(str).toString(); + new StringBuilder().append("getHttpList() no an ip, ipStr: ").append(str).toString(); + } + else + { + localArrayList.add("http://" + str); + } + } + } + return localArrayList; + } + + private boolean c(String paramString) + { + paramString = b(paramString); + if (paramString.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")) + { + paramString = paramString.split("\\."); + if (paramString.length >= 4) { + break label30; + } + } + label30: + while ((Integer.parseInt(paramString[0]) >= 255) || (Integer.parseInt(paramString[1]) >= 255) || (Integer.parseInt(paramString[2]) >= 255) || (Integer.parseInt(paramString[3]) >= 255)) { + return false; + } + return true; + } + + private void e() + { + AtomicLong localAtomicLong = new AtomicLong(); + AtomicReference localAtomicReference1 = new AtomicReference(); + AtomicReference localAtomicReference2 = new AtomicReference(); + AtomicReference localAtomicReference3 = new AtomicReference(); + this.d.a(localAtomicLong, localAtomicReference1, localAtomicReference2, localAtomicReference3); + synchronized (this.q) + { + if (localAtomicLong.get() > 0L) { + this.l = localAtomicLong.get(); + } + this.j = this.d.c(); + this.k = this.d.b(); + a((ArrayList)localAtomicReference1.get(), (ArrayList)localAtomicReference2.get(), (ArrayList)localAtomicReference3.get()); + return; + } + } + + private long f() + { + synchronized (this.q) + { + long l1 = this.l; + return l1; + } + } + + private boolean g() + { + long l1 = f(); + if (l1 <= 0L) {} + while (System.currentTimeMillis() <= l1) { + return false; + } + return true; + } + + private void h() + { + synchronized (this.q) + { + if (this.s == null) { + return; + } + if (m()) { + return; + } + } + j(); + a(false, this.s); + b(this.s); + b(false, this.s); + i(); + if (this.s.size() <= this.p.size()) + { + k(); + i(); + } + } + + private void i() + { + for (;;) + { + int i1; + synchronized (this.q) + { + int i2 = this.s.size(); + i1 = 0; + if (i1 < i2) + { + if (TextUtils.isEmpty((CharSequence)this.s.get(i1))) { + break label135; + } + new StringBuilder().append("printWrokingIpList() mWorkingIpList[").append(i1).append("]: ").append((String)this.s.get(i1)).toString(); + new StringBuilder().append("printWrokingIpList() mWorkingIpList[").append(i1).append("]: ").append((String)this.s.get(i1)).toString(); + } + } + return; + label135: + i1 += 1; + } + } + + private void j() + { + synchronized (this.q) + { + this.r = 0; + this.s.clear(); + return; + } + } + + private void k() + { + synchronized (this.q) + { + j(); + a(true, this.s); + b(this.s); + b(true, this.s); + i(); + this.l = 0L; + this.d.a(0L, new ArrayList(), new ArrayList(), new ArrayList()); + return; + } + } + + private void l() + { + synchronized (this.q) + { + if (this.c) + { + this.g.clear(); + this.h.clear(); + this.p.clear(); + this.p.clear(); + this.p.add("http://mazutest.3g.qq.com"); + return; + } + this.g.clear(); + this.h.clear(); + this.i.clear(); + this.p.clear(); + this.p.add("http://mazu.3g.qq.com"); + } + } + + private boolean m() + { + boolean bool = g(); + if (bool) { + k(); + } + return bool; + } + + private String n() + { + if (this.c) { + return "http://mazutest.3g.qq.com"; + } + return "http://mazu.3g.qq.com"; + } + + private String o() + { + synchronized (this.s) + { + int i1 = this.s.size(); + if (i1 <= 0) + { + str1 = n(); + return str1; + } + if (this.r >= i1) { + this.r = 0; + } + String str1 = (String)this.s.get(this.r); + new StringBuilder().append("getIpInIpList() mCurIpIdx: ").append(this.r).append(" ip: ").append(str1).toString(); + new StringBuilder().append("getIpInIpList() mCurIpIdx: ").append(this.r).append(" ip: ").append(str1).toString(); + if (TextUtils.isEmpty(str1)) + { + str1 = n(); + return str1; + } + } + return str2; + } + + private int p() + { + int i2 = 2; + int i1; + if (4 == c.a) + { + i1 = 1; + if (i1 == 0) { + break label66; + } + i1 = i2; + } + for (;;) + { + new StringBuilder().append("getOper() oper:").append(i1).toString(); + new StringBuilder().append("getOper() oper:").append(i1).toString(); + return i1; + i1 = 0; + break; + label66: + int i3 = g.f(this.b); + i1 = i2; + if (-1 != i3) { + i1 = i3; + } + } + } + + public int a() + { + return this.j; + } + + public void a(int paramInt1, int paramInt2) + { + synchronized (this.q) + { + this.j = paramInt1; + this.k = paramInt2; + this.d.a(paramInt1, paramInt2); + return; + } + } + + public void a(int paramInt1, int paramInt2, int paramInt3, ArrayList paramArrayList1, ArrayList paramArrayList2, ArrayList paramArrayList3) + { + new StringBuilder().append("handleNewIpList() hash: ").append(paramInt1).append(" hashSeqNo: ").append(paramInt2).append(" validperiod: ").append(paramInt3).toString(); + new StringBuilder().append("handleNewIpList() hash: ").append(paramInt1).append(" hashSeqNo: ").append(paramInt2).append(" validperiod: ").append(paramInt3).toString(); + a("cmvips", paramArrayList1); + a("unvips", paramArrayList2); + a("ctvips", paramArrayList3); + synchronized (this.q) + { + a(paramInt1, paramInt2); + a(paramArrayList1, paramArrayList2, paramArrayList3); + this.l = (System.currentTimeMillis() + paramInt3 * 1000); + this.d.a(this.l, paramArrayList1, paramArrayList2, paramArrayList3); + h(); + return; + } + } + + public void a(String paramString) + { + synchronized (this.q) + { + this.t = paramString; + return; + } + } + + public void a(boolean paramBoolean) + { + new StringBuilder().append("setIsTest() isTest: ").append(paramBoolean).toString(); + new StringBuilder().append("setIsTest() isTest: ").append(paramBoolean).toString(); + this.c = paramBoolean; + l(); + h(); + } + + public int b() + { + return this.k; + } + + public String c() + { + m(); + String str = o(); + new StringBuilder().append("getIp() ip: ").append(str).toString(); + new StringBuilder().append("getIp() ip: ").append(str).toString(); + return str; + } + + public void d() + { + synchronized (this.s) + { + this.r += 1; + if (this.r >= this.s.size()) { + this.r = 0; + } + new StringBuilder().append("gotoNextIp() size: ").append(this.s.size()).append(" mCurIpIdx: ").append(this.r).toString(); + new StringBuilder().append("gotoNextIp() size: ").append(this.s.size()).append(" mCurIpIdx: ").append(this.r).toString(); + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.a.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/A.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/A.java new file mode 100755 index 00000000000..8e98a8dfc51 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/A.java @@ -0,0 +1,36 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; +import d.b.a; + +class A + implements a +{ + int a = 0; + final int b = 3; + + A(z paramz) {} + + public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct) + { + new StringBuilder().append("_Cmd_SCHeartBeat : ").append(paramInt2).append(" retCode : ").append(paramInt3).toString(); + if (paramInt3 == 0) + { + this.c.k(); + this.a = 0; + } + do + { + return; + this.a += 1; + new StringBuilder().append("心跳包失败 : ").append(this.a).toString(); + } while (this.a >= 3); + this.c.g(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.A + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/B.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/B.java new file mode 100755 index 00000000000..75d909c236e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/B.java @@ -0,0 +1,36 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; +import d.b.a; + +class B + implements a +{ + int a = 0; + final int b = 3; + + B(z paramz) {} + + public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct) + { + new StringBuilder().append("_Cmd_SCReconnect : ").append(paramInt2).append(" retCode : ").append(paramInt3).toString(); + if (paramInt3 == 0) + { + this.c.k(); + this.a = 0; + } + do + { + return; + this.a += 1; + } while ((this.a >= 3) || (!this.c.g())); + this.a = 0; + this.c.a(z.a(this.c), 998, null, null, z.b(this.c), 10000L); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.B + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/C.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/C.java new file mode 100755 index 00000000000..95da5ae690e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/C.java @@ -0,0 +1,21 @@ +package tmsdk.common.d.a.b; + +import d.b.c; +import java.util.Comparator; + +class C + implements Comparator +{ + C(z paramz) {} + + public int a(j paramj1, j paramj2) + { + return c.b(paramj2.c) - c.b(paramj1.c); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.C + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/D_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/D_1.java new file mode 100755 index 00000000000..317d28f21b2 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/D_1.java @@ -0,0 +1,36 @@ +package tmsdk.common.d.a.b; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; + +class D + extends Handler +{ + D(z paramz, Looper paramLooper) + { + super(paramLooper); + } + + public void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + switch (paramMessage.what) + { + default: + return; + case 1: + paramMessage = (m)paramMessage.obj; + z.a(this.a, paramMessage); + return; + } + paramMessage = (n)paramMessage.obj; + z.a(this.a, paramMessage); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.D + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/E_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/E_1.java new file mode 100755 index 00000000000..9f5dc0a94c2 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/E_1.java @@ -0,0 +1,32 @@ +package tmsdk.common.d.a.b; + +import a.a.e; +import android.util.Pair; +import com.qq.taf.jce.JceStruct; +import d.b.b; + +class E + implements b +{ + E(z paramz) {} + + public Pair a(int paramInt1, int paramInt2, JceStruct paramJceStruct) + { + if (paramJceStruct == null) { + return null; + } + switch (paramInt2) + { + default: + return null; + } + paramJceStruct = (e)paramJceStruct; + return z.a(this.a, paramJceStruct); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.E + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/F.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/F.java new file mode 100755 index 00000000000..5b58cb0fe33 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/F.java @@ -0,0 +1,26 @@ +package tmsdk.common.d.a.b; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; + +class F + extends Handler +{ + F(z paramz, Looper paramLooper) + { + super(paramLooper); + } + + public void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + z.a(this.a, -50004, 0, paramMessage.what, 0, null); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.F + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/G_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/G_1.java new file mode 100755 index 00000000000..43ebf5ce549 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/G_1.java @@ -0,0 +1,75 @@ +package tmsdk.common.d.a.b; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import tmsdk.common.d.a.c.n; +import tmsdk.common.d.a.c.s; + +class G + extends Handler +{ + private boolean b = false; + + G(z paramz, Looper paramLooper) + { + super(paramLooper); + } + + public void handleMessage(Message paramMessage) + { + if (z.c(this.a).a()) {} + label204: + do + { + do + { + return; + paramMessage = (j)z.c(this.a).c(); + } while (paramMessage == null); + if (!z.d(this.a).f()) + { + z.f(this.a).a(z.e(this.a)); + if (!z.d(this.a).c()) + { + z.a(this.a, paramMessage, -2); + return; + } + } + this.b = paramMessage.d; + d.b.d locald = paramMessage.e; + a.e.d locald1 = z.a(this.a, paramMessage.b); + if (locald1 == null) + { + z.a(this.a, paramMessage, -609); + return; + } + locald1.b = paramMessage.a; + int i; + if (locald == null) { + i = z.d(this.a).a(locald1); + } + for (;;) + { + if (i == 0) { + break label204; + } + z.a(this.a, paramMessage, i - 3); + return; + locald.a(1); + if (locald.a()) { + break; + } + i = z.d(this.a).a(locald1); + locald.a(2); + } + } while (this.b); + z.d(this.a).g(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.G + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/H.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/H.java new file mode 100755 index 00000000000..484a22c1b36 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/H.java @@ -0,0 +1,18 @@ +package tmsdk.common.d.a.b; + +class H + implements Runnable +{ + H(z paramz, m paramm) {} + + public void run() + { + z.a(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.H + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/I.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/I.java new file mode 100755 index 00000000000..a200e81fc55 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/I.java @@ -0,0 +1,18 @@ +package tmsdk.common.d.a.b; + +class I + implements Runnable +{ + I(z paramz, n paramn) {} + + public void run() + { + z.a(this.b, this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.I + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/J.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/J.java new file mode 100755 index 00000000000..bd76c4240b0 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/J.java @@ -0,0 +1,46 @@ +package tmsdk.common.d.a.b; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import java.lang.ref.WeakReference; + +class J + extends Handler +{ + WeakReference a = null; + + public J(z paramz, Context paramContext) + { + super(paramContext.getMainLooper()); + this.a = new WeakReference(paramz); + } + + public void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + z localz = (z)this.a.get(); + if (localz == null) {} + do + { + return; + switch (paramMessage.what) + { + default: + return; + } + if (localz.l() >= localz.m()) { + break; + } + } while (!localz.g()); + localz.n(); + return; + localz.f(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.J + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/a_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/a_1.java new file mode 100755 index 00000000000..da81e67edb0 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/a_1.java @@ -0,0 +1,23 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; + +class a +{ + public d.b.a a = null; + public JceStruct b; + public int c = 0; + + public a(int paramInt, d.b.a parama, JceStruct paramJceStruct) + { + this.a = parama; + this.b = paramJceStruct; + this.c = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/b_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/b_1.java new file mode 100755 index 00000000000..37882c02f83 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/b_1.java @@ -0,0 +1,206 @@ +package tmsdk.common.d.a.b; + +import android.content.Context; +import com.qq.taf.jce.JceStruct; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.InflaterInputStream; +import tmsdk.common.tcc.TccCryptor; + +public class b +{ + @Deprecated + public static JceStruct a(Context paramContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, JceStruct paramJceStruct) + { + if ((paramArrayOfByte2 == null) || (paramArrayOfByte2.length == 0)) {} + do + { + return null; + paramContext = b(paramContext, paramArrayOfByte1, paramArrayOfByte2); + } while (paramContext == null); + return h.a(paramContext, paramJceStruct); + } + + public static JceStruct a(byte[] paramArrayOfByte, JceStruct paramJceStruct) + { + paramArrayOfByte = b(paramArrayOfByte); + if (paramArrayOfByte == null) { + return null; + } + return h.a(paramArrayOfByte, paramJceStruct); + } + + @Deprecated + public static byte[] a(Context paramContext, byte[] paramArrayOfByte, JceStruct paramJceStruct) + { + if (paramJceStruct == null) {} + do + { + return null; + paramContext = a(paramJceStruct); + } while (paramContext == null); + return TccCryptor.encrypt(paramContext, paramArrayOfByte); + } + + public static byte[] a(Context paramContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + paramContext = a(paramArrayOfByte2); + if (paramContext == null) { + return null; + } + return TccCryptor.encrypt(paramContext, paramArrayOfByte1); + } + + public static byte[] a(JceStruct paramJceStruct) + { + byte[] arrayOfByte = a(h.a(paramJceStruct)); + paramJceStruct = arrayOfByte; + if (arrayOfByte == null) { + paramJceStruct = null; + } + return paramJceStruct; + } + + private static byte[] a(byte[] paramArrayOfByte) + { + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + localDeflaterOutputStream = new DeflaterOutputStream(localByteArrayOutputStream); + try + { + localDeflaterOutputStream.write(paramArrayOfByte); + localDeflaterOutputStream.finish(); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + try + { + localByteArrayOutputStream.close(); + localDeflaterOutputStream.close(); + return paramArrayOfByte; + } + catch (IOException localIOException1) + { + localIOException1.printStackTrace(); + return paramArrayOfByte; + } + try + { + localIOException1.close(); + localDeflaterOutputStream.close(); + throw paramArrayOfByte; + } + catch (IOException localIOException2) + { + for (;;) + { + localIOException2.printStackTrace(); + } + } + } + catch (IOException paramArrayOfByte) + { + paramArrayOfByte = paramArrayOfByte; + paramArrayOfByte.printStackTrace(); + try + { + localIOException1.close(); + localDeflaterOutputStream.close(); + return null; + } + catch (IOException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + } + finally {} + } + + public static byte[] b(Context paramContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + if ((paramArrayOfByte2 == null) || (paramArrayOfByte2.length == 0)) {} + for (;;) + { + return null; + try + { + paramContext = TccCryptor.decrypt(paramArrayOfByte2, paramArrayOfByte1); + if (paramContext != null) { + return b(paramContext); + } + } + catch (Exception paramContext) {} + } + return null; + } + + private static byte[] b(byte[] paramArrayOfByte) + { + paramArrayOfByte = new ByteArrayInputStream(paramArrayOfByte); + localInflaterInputStream = new InflaterInputStream(paramArrayOfByte); + localByteArrayOutputStream = new ByteArrayOutputStream(); + try + { + for (;;) + { + int i = localInflaterInputStream.read(); + if (i == -1) { + break; + } + localByteArrayOutputStream.write(i); + } + try + { + byte[] arrayOfByte; + paramArrayOfByte.close(); + localInflaterInputStream.close(); + localByteArrayOutputStream.close(); + throw localObject; + } + catch (IOException paramArrayOfByte) + { + for (;;) + { + paramArrayOfByte.printStackTrace(); + } + } + } + catch (IOException localIOException) + { + localIOException = localIOException; + localIOException.printStackTrace(); + try + { + paramArrayOfByte.close(); + localInflaterInputStream.close(); + localByteArrayOutputStream.close(); + return null; + } + catch (IOException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return null; + } + arrayOfByte = localByteArrayOutputStream.toByteArray(); + try + { + paramArrayOfByte.close(); + localInflaterInputStream.close(); + localByteArrayOutputStream.close(); + return arrayOfByte; + } + catch (IOException paramArrayOfByte) + { + paramArrayOfByte.printStackTrace(); + return arrayOfByte; + } + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/c_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/c_1.java new file mode 100755 index 00000000000..cce72ee5db6 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/c_1.java @@ -0,0 +1,370 @@ +package tmsdk.common.d.a.b; + +import a.e.a; +import android.content.Context; +import android.text.TextUtils; +import com.qq.taf.jce.JceStruct; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicReference; + +public class c +{ + private final boolean a = false; + private final String b = "GuidCertifier"; + private Context c; + private o d; + private volatile boolean e = false; + private volatile String f; + private volatile long g = 0L; + + public c(Context paramContext, o paramo) + { + this.c = paramContext; + this.d = paramo; + b(); + } + + private void a(String paramString, a parama) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + this.f = paramString; + this.e = true; + this.d.a().c(paramString); + this.d.a().d(paramString); + this.d.a().a(parama); + } + + private boolean a(int paramInt1, int paramInt2) + { + return paramInt1 != paramInt2; + } + + private boolean a(long paramLong1, long paramLong2) + { + return paramLong1 != paramLong2; + } + + private boolean a(a parama) + { + new StringBuilder().append("updateGuid() mGuid: ").append(this.f).toString(); + Object localObject1 = this.d.b(); + new StringBuilder().append("updateGuid() encodeKey: ").append(localObject1).toString(); + Object localObject3 = c(parama); + Object localObject2 = new a.e.c(); + ((a.e.c)localObject2).b = this.d.c().a(); + ((a.e.c)localObject2).a = 2; + ((a.e.c)localObject2).d = b.a(this.c, ((l)localObject1).b.getBytes(), (JceStruct)localObject3); + b(((a.e.b)localObject3).a); + localObject3 = new ArrayList(); + ((ArrayList)localObject3).add(localObject2); + localObject2 = new AtomicReference(); + int i = this.d.a(false, false, true, (l)localObject1, (ArrayList)localObject3, (AtomicReference)localObject2); + if (i != 0) { + new StringBuilder().append("updateGuid() ESharkCode.ERR_NONE != retCode, retCode: ").append(i).toString(); + } + do + { + do + { + do + { + return false; + localObject1 = (ArrayList)((AtomicReference)localObject2).get(); + } while ((localObject1 == null) || (((ArrayList)localObject1).size() <= 0)); + localObject1 = (a.e.f)((ArrayList)localObject1).get(0); + } while (localObject1 == null); + new StringBuilder().append("updateGuid() rs.seqNo: ").append(((a.e.f)localObject1).b).append("rs.cmd").append(((a.e.f)localObject1).a).append(" rs.retCode: ").append(((a.e.f)localObject1).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject1).e).toString(); + } while ((1 == ((a.e.f)localObject1).d) || (((a.e.f)localObject1).d != 0)); + new StringBuilder().append("updateGuid() succed, mGuid: ").append(this.f).toString(); + a(this.f, parama); + return true; + } + + private boolean a(String paramString1, String paramString2) + { + boolean bool2 = true; + boolean bool1; + if (TextUtils.isEmpty(paramString1)) { + bool1 = false; + } + do + { + do + { + return bool1; + bool1 = bool2; + } while (TextUtils.isEmpty(paramString2)); + bool1 = bool2; + } while (!paramString1.equals(paramString2)); + return false; + } + + private boolean a(boolean paramBoolean1, boolean paramBoolean2) + { + return paramBoolean1 != paramBoolean2; + } + + private void b(a parama) + { + new StringBuilder().append("printCSRegist()CSRegist.imei: ").append(parama.a).toString(); + new StringBuilder().append("printCSRegist()CSRegist.imsi: ").append(parama.b).toString(); + new StringBuilder().append("printCSRegist()CSRegist.mac: ").append(parama.c).toString(); + new StringBuilder().append("printCSRegist()CSRegist.qq: ").append(parama.d).toString(); + new StringBuilder().append("printCSRegist()CSRegist.phone: ").append(parama.e).toString(); + new StringBuilder().append("printCSRegist()CSRegist.product: ").append(parama.f).toString(); + new StringBuilder().append("printCSRegist()CSRegist.lc: ").append(parama.g).toString(); + new StringBuilder().append("printCSRegist()CSRegist.buildno: ").append(parama.h).toString(); + new StringBuilder().append("printCSRegist()CSRegist.channelid: ").append(parama.i).toString(); + new StringBuilder().append("printCSRegist()CSRegist.platform: ").append(parama.j).toString(); + new StringBuilder().append("printCSRegist()CSRegist.subplatform: ").append(parama.k).toString(); + new StringBuilder().append("printCSRegist()CSRegist.isbuildin: ").append(parama.l).toString(); + new StringBuilder().append("printCSRegist()CSRegist.pkgname: ").append(parama.m).toString(); + new StringBuilder().append("printCSRegist()CSRegist.ua: ").append(parama.n).toString(); + new StringBuilder().append("printCSRegist()CSRegist.sdkver: ").append(parama.o).toString(); + new StringBuilder().append("printCSRegist()CSRegist.androidid: ").append(parama.p).toString(); + new StringBuilder().append("printCSRegist()CSRegist.lang: ").append(parama.q).toString(); + new StringBuilder().append("printCSRegist()CSRegist.simnum: ").append(parama.r).toString(); + new StringBuilder().append("printCSRegist()CSRegist.cpu: ").append(parama.s).toString(); + new StringBuilder().append("printCSRegist()CSRegist.cpufreq: ").append(parama.t).toString(); + new StringBuilder().append("printCSRegist()CSRegist.cpunum: ").append(parama.u).toString(); + new StringBuilder().append("printCSRegist()CSRegist.resolution: ").append(parama.v).toString(); + new StringBuilder().append("printCSRegist()CSRegist.ram: ").append(parama.w).toString(); + new StringBuilder().append("printCSRegist()CSRegist.rom: ").append(parama.x).toString(); + new StringBuilder().append("printCSRegist()CSRegist.sdcard: ").append(parama.y).toString(); + new StringBuilder().append("printCSRegist()CSRegist.build_brand: ").append(parama.z).toString(); + new StringBuilder().append("printCSRegist()CSRegist.build_version_incremental: ").append(parama.A).toString(); + new StringBuilder().append("printCSRegist()CSRegist.build_version_release: ").append(parama.B).toString(); + new StringBuilder().append("printCSRegist()CSRegist.version: ").append(parama.P).toString(); + new StringBuilder().append("printCSRegist()CSRegist.extSdkVer: ").append(parama.Q).toString(); + new StringBuilder().append("printCSRegist()CSRegist.pkgkey: ").append(parama.R).toString(); + } + + private a.e.b c(a parama) + { + a.e.b localb = new a.e.b(); + localb.a = parama; + localb.b = e(); + return localb; + } + + private boolean f() + { + long l = System.currentTimeMillis(); + if (!tmsdk.common.c.a.e.b(l, this.g, 720)) { + return false; + } + this.g = l; + return true; + } + + private a g() + { + if (f()) {} + a locala1; + a locala2; + boolean bool1; + boolean bool2; + boolean bool3; + boolean bool4; + boolean bool5; + boolean bool6; + boolean bool7; + boolean bool8; + boolean bool9; + boolean bool10; + boolean bool11; + boolean bool12; + boolean bool13; + boolean bool14; + boolean bool15; + boolean bool16; + boolean bool17; + boolean bool18; + boolean bool19; + boolean bool20; + boolean bool21; + boolean bool22; + boolean bool23; + boolean bool24; + boolean bool25; + boolean bool26; + boolean bool27; + boolean bool28; + boolean bool29; + boolean bool30; + do + { + do + { + long l; + do + { + return null; + l = System.currentTimeMillis(); + } while (!tmsdk.common.c.a.e.a(l, this.d.a().j(), 1)); + this.d.a().a(l); + locala1 = h(); + locala2 = this.d.a().h(); + } while ((locala1 == null) || (locala2 == null)); + b(locala2); + bool1 = a(locala1.a, locala2.a); + bool2 = a(locala1.b, locala2.b); + bool3 = a(locala1.c, locala2.c); + bool4 = a(locala1.d, locala2.d); + bool5 = a(locala1.e, locala2.e); + bool6 = a(locala1.f, locala2.f); + bool7 = a(locala1.g, locala2.g); + bool8 = a(locala1.h, locala2.h); + bool9 = a(locala1.i, locala2.i); + bool10 = a(locala1.j, locala2.j); + bool11 = a(locala1.k, locala2.k); + bool12 = a(locala1.l, locala2.l); + bool13 = a(locala1.m, locala2.m); + bool14 = a(locala1.n, locala2.n); + bool15 = a(locala1.o, locala2.o); + bool16 = a(locala1.p, locala2.p); + bool17 = a(locala1.q, locala2.q); + bool18 = a(locala1.r, locala2.r); + bool19 = a(locala1.s, locala2.s); + bool20 = a(locala1.t, locala2.t); + bool21 = a(locala1.u, locala2.u); + bool22 = a(locala1.v, locala2.v); + bool23 = a(locala1.w, locala2.w); + bool24 = a(locala1.x, locala2.x); + bool25 = a(locala1.y, locala2.y); + bool26 = a(locala1.z, locala2.z); + bool27 = a(locala1.A, locala2.A); + bool28 = a(locala1.B, locala2.B); + bool29 = a(locala1.P, locala2.P); + bool30 = a(locala1.Q, locala2.Q); + } while (!(a(locala1.R, locala2.R) | false | bool1 | bool2 | bool3 | bool4 | bool5 | bool6 | bool7 | bool8 | bool9 | bool10 | bool11 | bool12 | bool13 | bool14 | bool15 | bool16 | bool17 | bool18 | bool19 | bool20 | bool21 | bool22 | bool23 | bool24 | bool25 | bool26 | bool27 | bool28 | bool29 | bool30)); + return locala1; + } + + private a h() + { + a locala = this.d.a().i(); + if (locala == null) { + throw new RuntimeException("reqRegist is null"); + } + if (locala.a == null) { + locala.a = ""; + } + return locala; + } + + public boolean a() + { + return (TextUtils.isEmpty(e())) || (!this.e); + } + + public void b() + { + this.f = this.d.a().f(); + if (TextUtils.isEmpty(this.f)) + { + this.e = false; + this.f = this.d.a().g(); + return; + } + this.e = true; + } + + public String c() + { + if (!a()) + { + new StringBuilder().append("checkGuid() !need, mGuid: ").append(this.f).toString(); + return this.f; + } + Object localObject1 = this.d.b(); + new StringBuilder().append("checkGuid() encodeKey: ").append(localObject1).toString(); + a locala = h(); + Object localObject3 = new a.e.c(); + ((a.e.c)localObject3).b = this.d.c().a(); + ((a.e.c)localObject3).a = 1; + ((a.e.c)localObject3).d = b.a(this.c, ((l)localObject1).b.getBytes(), locala); + b(locala); + Object localObject2 = new ArrayList(); + ((ArrayList)localObject2).add(localObject3); + localObject3 = new AtomicReference(); + int i = this.d.a(false, true, false, (l)localObject1, (ArrayList)localObject2, (AtomicReference)localObject3); + if (i != 0) + { + new StringBuilder().append("checkGuid() ESharkCode.ERR_NONE != retCode, retCode: ").append(i).toString(); + return null; + } + localObject1 = (ArrayList)((AtomicReference)localObject3).get(); + if (localObject1 == null) { + return null; + } + if (((ArrayList)localObject1).size() <= 0) { + return null; + } + localObject2 = (a.e.f)((ArrayList)localObject1).get(0); + if (localObject2 == null) { + return null; + } + new StringBuilder().append("checkGuid() rs.seqNo: ").append(((a.e.f)localObject2).b).append(" rs.cmd: ").append(((a.e.f)localObject2).a).append(" rs.retCode: ").append(((a.e.f)localObject2).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject2).e).toString(); + if (1 == ((a.e.f)localObject2).d) { + return null; + } + if (((a.e.f)localObject2).e != 0) { + return null; + } + localObject1 = ((a.e.f)localObject2).f; + if (localObject1 == null) { + return null; + } + new StringBuilder().append("checkGuid() rs.data.length: ").append(((a.e.f)localObject2).f.length).toString(); + localObject2 = new a.e.e(); + try + { + localObject1 = b.a(this.c, this.d.b().b.getBytes(), (byte[])localObject1, (JceStruct)localObject2); + if (localObject1 == null) { + return null; + } + } + catch (Exception localException) + { + return null; + } + a(((a.e.e)localObject1).a, localException); + new StringBuilder().append("checkGuid() ret.guid mGuid: ").append(this.f).toString(); + return this.f; + } + + public boolean d() + { + a locala = g(); + StringBuilder localStringBuilder = new StringBuilder().append("checUpdateGuid() need: "); + if (locala != null) {} + for (boolean bool = true;; bool = false) + { + localStringBuilder.append(bool).toString(); + if (locala != null) { + break; + } + return false; + } + bool = a(locala); + new StringBuilder().append("checUpdateGuid() 检查guid注册信息更新:").append(bool).toString(); + return bool; + } + + public String e() + { + if (this.f == null) { + return ""; + } + return this.f; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/d.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/d.java new file mode 100755 index 00000000000..16b8d7ba1bc --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/d.java @@ -0,0 +1,20 @@ +package tmsdk.common.d.a.b; + +import java.util.ArrayList; + +public abstract interface d +{ + public abstract void a(int paramInt); + + public abstract void a(ArrayList paramArrayList); + + public abstract int l(); + + public abstract ArrayList m(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/e.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/e.java new file mode 100755 index 00000000000..fc5f0e2dbd1 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/e.java @@ -0,0 +1,24 @@ +package tmsdk.common.d.a.b; + +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; + +public abstract interface e +{ + public abstract void a(int paramInt1, int paramInt2); + + public abstract void a(long paramLong, ArrayList paramArrayList1, ArrayList paramArrayList2, ArrayList paramArrayList3); + + public abstract void a(AtomicLong paramAtomicLong, AtomicReference paramAtomicReference1, AtomicReference paramAtomicReference2, AtomicReference paramAtomicReference3); + + public abstract int b(); + + public abstract int c(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/f_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/f_1.java new file mode 100755 index 00000000000..d788a6b5fe4 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/f_1.java @@ -0,0 +1,12 @@ +package tmsdk.common.d.a.b; + +public abstract interface f +{ + public abstract int a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/g.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/g.java new file mode 100755 index 00000000000..fabafd48b40 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/g.java @@ -0,0 +1,47 @@ +package tmsdk.common.d.a.b; + +import a.e.a; + +public abstract interface g + extends d, e +{ + public abstract void a(long paramLong); + + public abstract void a(a parama); + + public abstract void a(String paramString); + + public abstract boolean a(); + + public abstract void b(long paramLong); + + public abstract void b(String paramString); + + public abstract void c(String paramString); + + public abstract String d(); + + public abstract void d(String paramString); + + public abstract String e(); + + public abstract String f(); + + public abstract String g(); + + public abstract a h(); + + public abstract a i(); + + public abstract long j(); + + public abstract long k(); + + public abstract long q(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/h_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/h_1.java new file mode 100755 index 00000000000..c62b1d1fde0 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/h_1.java @@ -0,0 +1,55 @@ +package tmsdk.common.d.a.b; + +import a.e.d; +import a.e.g; +import com.qq.taf.jce.JceInputStream; +import com.qq.taf.jce.JceOutputStream; +import com.qq.taf.jce.JceStruct; + +public class h +{ + public static d a() + { + return new d(); + } + + public static g a(byte[] paramArrayOfByte) + { + paramArrayOfByte = a(paramArrayOfByte, new g()); + if (paramArrayOfByte == null) { + return null; + } + return (g)paramArrayOfByte; + } + + public static JceStruct a(byte[] paramArrayOfByte, JceStruct paramJceStruct) + { + if (paramJceStruct == null) { + return null; + } + paramJceStruct.recyle(); + paramJceStruct.readFrom(b(paramArrayOfByte)); + return paramJceStruct; + } + + public static byte[] a(JceStruct paramJceStruct) + { + JceOutputStream localJceOutputStream = new JceOutputStream(); + localJceOutputStream.setServerEncoding("UTF-8"); + paramJceStruct.writeTo(localJceOutputStream); + return localJceOutputStream.toByteArray(); + } + + private static JceInputStream b(byte[] paramArrayOfByte) + { + paramArrayOfByte = new JceInputStream(paramArrayOfByte); + paramArrayOfByte.setServerEncoding("UTF-8"); + return paramArrayOfByte; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/i_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/i_1.java new file mode 100755 index 00000000000..be7ef73327e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/i_1.java @@ -0,0 +1,24 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; +import d.b.b; + +class i +{ + public b a = null; + public JceStruct b; + public int c = 0; + + public i(int paramInt, b paramb, JceStruct paramJceStruct) + { + this.a = paramb; + this.b = paramJceStruct; + this.c = paramInt; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/j_1.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/j_1.java new file mode 100755 index 00000000000..af58ea0a29d --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/j_1.java @@ -0,0 +1,28 @@ +package tmsdk.common.d.a.b; + +import a.e.c; +import d.b.d; + +class j +{ + public int a; + public c b = null; + public int c = 0; + public boolean d = false; + public d e = null; + public long f = -1L; + + public j(c paramc, int paramInt, boolean paramBoolean, d paramd) + { + this.c = paramInt; + this.b = paramc; + this.d = paramBoolean; + this.e = paramd; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/k.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/k.java new file mode 100755 index 00000000000..23cf25837fb --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/k.java @@ -0,0 +1,480 @@ +package tmsdk.common.d.a.b; + +import android.content.Context; +import android.text.TextUtils; +import java.security.Key; +import java.security.KeyFactory; +import java.security.spec.X509EncodedKeySpec; +import java.util.Random; +import javax.crypto.Cipher; +import tmsdk.common.c.a.e; +import tmsdk.common.e.a; + +public class k +{ + private final String a = "RsaKeyCertifier"; + private o b; + private Object c = new Object(); + private l d; + private volatile long e; + + public k(Context paramContext, o paramo) + { + this.b = paramo; + this.d = new l(); + e(); + } + + private String a(int paramInt) + { + Random localRandom = new Random(); + StringBuffer localStringBuffer = new StringBuffer(); + int i = 0; + while (i < paramInt) + { + localStringBuffer.append("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".charAt(localRandom.nextInt(62))); + i += 1; + } + return localStringBuffer.toString(); + } + + private void a(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + synchronized (this.c) + { + this.d.a = paramString; + return; + } + } + + private void b(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + synchronized (this.c) + { + this.d.b = paramString; + return; + } + } + + private String c() + { + synchronized (this.c) + { + if (this.d.a == null) { + return ""; + } + String str = this.d.a; + return str; + } + } + + private void c(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + b(paramString); + this.b.a().a(d()); + } + + private String d() + { + synchronized (this.c) + { + if (this.d.b == null) { + return ""; + } + String str = this.d.b; + return str; + } + } + + private void d(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return; + } + a(paramString); + this.b.a().b(c()); + } + + private void e() + { + synchronized (this.c) + { + b(this.b.a().d()); + a(this.b.a().e()); + this.e = this.b.a().q(); + new StringBuilder().append("load() mEncodeKey: ").append(d()).append(" mSessionId: ").append(c()).toString(); + new StringBuilder().append("[ocean]info: Refh: sessionId|").append(c()).append("|encodeKey|").append(d()).toString(); + return; + } + } + + private byte[] e(String paramString) + { + if (TextUtils.isEmpty(paramString)) { + return null; + } + try + { + Object localObject = a.a("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDb49jFnNqMDLdl87UtY5jOMqqdMuvQg65Zuva3Qm1tORQGBuM04u7fqygA64XbOx9e/KPNkDNDmqS8SlsAPL1fV2lqM/phgV0NY62TJqSR+PLngwJd2rhYR8wQ1N0JE+R59a5c08EGsd6axStjHsVu2+evCf/SWU9Y/oQpEtOjGwIDAQAB", 0); + localObject = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec((byte[])localObject)); + Cipher localCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + localCipher.init(1, (Key)localObject); + paramString = localCipher.doFinal(paramString.getBytes()); + return paramString; + } + catch (Exception paramString) + { + paramString.printStackTrace(); + } + return null; + } + + private void f() + { + b(a(16)); + } + + public l a() + { + l locall = new l(); + locall.a = this.d.a; + locall.b = this.d.b; + return locall; + } + + /* Error */ + public boolean a(java.util.concurrent.atomic.AtomicReference arg1) + { + // Byte code: + // 0: aload_1 + // 1: ifnull +32 -> 33 + // 4: new 29 tmsdk/common/d/a/b/l + // 7: dup + // 8: invokespecial 30 tmsdk/common/d/a/b/l: ()V + // 11: astore_3 + // 12: aload_3 + // 13: aload_0 + // 14: invokespecial 90 tmsdk/common/d/a/b/k:c ()Ljava/lang/String; + // 17: putfield 70 tmsdk/common/d/a/b/l:a Ljava/lang/String; + // 20: aload_3 + // 21: aload_0 + // 22: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 25: putfield 72 tmsdk/common/d/a/b/l:b Ljava/lang/String; + // 28: aload_1 + // 29: aload_3 + // 30: invokevirtual 175 java/util/concurrent/atomic/AtomicReference:set (Ljava/lang/Object;)V + // 33: aload_0 + // 34: invokespecial 177 tmsdk/common/d/a/b/k:f ()V + // 37: new 179 a/d/a + // 40: dup + // 41: invokespecial 180 a/d/a: ()V + // 44: astore_1 + // 45: aload_0 + // 46: aload_0 + // 47: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 50: invokespecial 182 tmsdk/common/d/a/b/k:e (Ljava/lang/String;)[B + // 53: astore_3 + // 54: aload_3 + // 55: ifnonnull +13 -> 68 + // 58: new 184 java/lang/RuntimeException + // 61: dup + // 62: ldc 186 + // 64: invokespecial 188 java/lang/RuntimeException: (Ljava/lang/String;)V + // 67: athrow + // 68: aload_1 + // 69: aload_3 + // 70: putfield 191 a/d/a:a [B + // 73: new 102 java/lang/StringBuilder + // 76: dup + // 77: invokespecial 103 java/lang/StringBuilder: ()V + // 80: ldc 193 + // 82: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 85: aload_1 + // 86: getfield 191 a/d/a:a [B + // 89: invokestatic 198 tmsdk/common/c/a/d:a ([B)Ljava/lang/String; + // 92: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 95: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 98: pop + // 99: new 200 a/e/c + // 102: dup + // 103: invokespecial 201 a/e/c: ()V + // 106: astore_3 + // 107: aload_3 + // 108: aload_0 + // 109: getfield 27 tmsdk/common/d/a/b/k:b Ltmsdk/common/d/a/b/o; + // 112: invokevirtual 204 tmsdk/common/d/a/b/o:c ()Ltmsdk/common/d/a/b/f; + // 115: invokeinterface 209 1 0 + // 120: putfield 212 a/e/c:b I + // 123: aload_3 + // 124: sipush 152 + // 127: putfield 214 a/e/c:a I + // 130: aload_3 + // 131: aload_1 + // 132: invokestatic 219 tmsdk/common/d/a/b/b:a (Lcom/qq/taf/jce/JceStruct;)[B + // 135: putfield 221 a/e/c:d [B + // 138: new 223 java/util/ArrayList + // 141: dup + // 142: invokespecial 224 java/util/ArrayList: ()V + // 145: astore_1 + // 146: aload_1 + // 147: aload_3 + // 148: invokevirtual 228 java/util/ArrayList:add (Ljava/lang/Object;)Z + // 151: pop + // 152: new 171 java/util/concurrent/atomic/AtomicReference + // 155: dup + // 156: invokespecial 229 java/util/concurrent/atomic/AtomicReference: ()V + // 159: astore_3 + // 160: aload_0 + // 161: getfield 27 tmsdk/common/d/a/b/k:b Ltmsdk/common/d/a/b/o; + // 164: iconst_1 + // 165: iconst_0 + // 166: iconst_0 + // 167: aconst_null + // 168: aload_1 + // 169: aload_3 + // 170: invokevirtual 232 tmsdk/common/d/a/b/o:a (ZZZLtmsdk/common/d/a/b/l;Ljava/util/ArrayList;Ljava/util/concurrent/atomic/AtomicReference;)I + // 173: istore_2 + // 174: iload_2 + // 175: ifeq +25 -> 200 + // 178: new 102 java/lang/StringBuilder + // 181: dup + // 182: invokespecial 103 java/lang/StringBuilder: ()V + // 185: ldc 234 + // 187: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 190: iload_2 + // 191: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 194: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 197: pop + // 198: iconst_0 + // 199: ireturn + // 200: aload_3 + // 201: invokevirtual 241 java/util/concurrent/atomic/AtomicReference:get ()Ljava/lang/Object; + // 204: checkcast 223 java/util/ArrayList + // 207: astore_1 + // 208: aload_1 + // 209: ifnull -11 -> 198 + // 212: aload_1 + // 213: invokevirtual 244 java/util/ArrayList:size ()I + // 216: ifle -18 -> 198 + // 219: aload_1 + // 220: iconst_0 + // 221: invokevirtual 247 java/util/ArrayList:get (I)Ljava/lang/Object; + // 224: checkcast 249 a/e/f + // 227: astore_3 + // 228: aload_3 + // 229: ifnull -31 -> 198 + // 232: new 102 java/lang/StringBuilder + // 235: dup + // 236: invokespecial 103 java/lang/StringBuilder: ()V + // 239: ldc 251 + // 241: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 244: aload_3 + // 245: getfield 252 a/e/f:b I + // 248: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 251: ldc 254 + // 253: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 256: aload_3 + // 257: getfield 255 a/e/f:a I + // 260: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 263: ldc_w 257 + // 266: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 269: aload_3 + // 270: getfield 259 a/e/f:d I + // 273: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 276: ldc_w 261 + // 279: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 282: aload_3 + // 283: getfield 263 a/e/f:e I + // 286: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 289: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 292: pop + // 293: iconst_1 + // 294: aload_3 + // 295: getfield 259 a/e/f:d I + // 298: if_icmpeq -100 -> 198 + // 301: aload_3 + // 302: getfield 263 a/e/f:e I + // 305: ifeq +29 -> 334 + // 308: new 102 java/lang/StringBuilder + // 311: dup + // 312: invokespecial 103 java/lang/StringBuilder: ()V + // 315: ldc_w 265 + // 318: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 321: aload_3 + // 322: getfield 263 a/e/f:e I + // 325: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 328: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 331: pop + // 332: iconst_0 + // 333: ireturn + // 334: aload_3 + // 335: getfield 267 a/e/f:f [B + // 338: astore_1 + // 339: aload_1 + // 340: ifnull -142 -> 198 + // 343: new 102 java/lang/StringBuilder + // 346: dup + // 347: invokespecial 103 java/lang/StringBuilder: ()V + // 350: ldc_w 269 + // 353: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 356: aload_3 + // 357: getfield 267 a/e/f:f [B + // 360: arraylength + // 361: invokevirtual 237 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder; + // 364: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 367: pop + // 368: new 271 a/d/b + // 371: dup + // 372: invokespecial 272 a/d/b: ()V + // 375: astore_3 + // 376: aload_1 + // 377: aload_3 + // 378: invokestatic 275 tmsdk/common/d/a/b/b:a ([BLcom/qq/taf/jce/JceStruct;)Lcom/qq/taf/jce/JceStruct; + // 381: astore_1 + // 382: aload_1 + // 383: ifnull -185 -> 198 + // 386: aload_1 + // 387: checkcast 271 a/d/b + // 390: astore_3 + // 391: aload_0 + // 392: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 395: invokestatic 69 android/text/TextUtils:isEmpty (Ljava/lang/CharSequence;)Z + // 398: ifne +13 -> 411 + // 401: aload_3 + // 402: getfield 276 a/d/b:a Ljava/lang/String; + // 405: invokestatic 69 android/text/TextUtils:isEmpty (Ljava/lang/CharSequence;)Z + // 408: ifeq +144 -> 552 + // 411: iconst_1 + // 412: istore_2 + // 413: iload_2 + // 414: ifne -216 -> 198 + // 417: new 102 java/lang/StringBuilder + // 420: dup + // 421: invokespecial 103 java/lang/StringBuilder: ()V + // 424: ldc_w 278 + // 427: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 430: aload_0 + // 431: invokespecial 90 tmsdk/common/d/a/b/k:c ()Ljava/lang/String; + // 434: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 437: ldc 115 + // 439: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 442: aload_0 + // 443: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 446: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 449: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 452: pop + // 453: aload_0 + // 454: getfield 25 tmsdk/common/d/a/b/k:c Ljava/lang/Object; + // 457: astore_1 + // 458: aload_1 + // 459: monitorenter + // 460: aload_0 + // 461: aload_0 + // 462: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 465: invokespecial 280 tmsdk/common/d/a/b/k:c (Ljava/lang/String;)V + // 468: aload_0 + // 469: aload_3 + // 470: getfield 276 a/d/b:a Ljava/lang/String; + // 473: invokespecial 282 tmsdk/common/d/a/b/k:d (Ljava/lang/String;)V + // 476: aload_1 + // 477: monitorexit + // 478: new 102 java/lang/StringBuilder + // 481: dup + // 482: invokespecial 103 java/lang/StringBuilder: ()V + // 485: ldc_w 284 + // 488: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 491: aload_0 + // 492: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 495: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 498: ldc 110 + // 500: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 503: aload_3 + // 504: getfield 276 a/d/b:a Ljava/lang/String; + // 507: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 510: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 513: pop + // 514: new 102 java/lang/StringBuilder + // 517: dup + // 518: invokespecial 103 java/lang/StringBuilder: ()V + // 521: ldc_w 286 + // 524: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 527: aload_3 + // 528: getfield 276 a/d/b:a Ljava/lang/String; + // 531: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 534: ldc 115 + // 536: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 539: aload_0 + // 540: invokespecial 83 tmsdk/common/d/a/b/k:d ()Ljava/lang/String; + // 543: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 546: invokevirtual 111 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 549: pop + // 550: iconst_1 + // 551: ireturn + // 552: iconst_0 + // 553: istore_2 + // 554: goto -141 -> 413 + // 557: astore_3 + // 558: aload_1 + // 559: monitorexit + // 560: aload_3 + // 561: athrow + // 562: astore_1 + // 563: iconst_0 + // 564: ireturn + // Local variable table: + // start length slot name signature + // 0 565 0 this k + // 173 381 2 i int + // 11 517 3 localObject1 Object + // 557 4 3 localObject2 Object + // Exception table: + // from to target type + // 460 478 557 finally + // 376 382 562 java/lang/Exception + } + + public int b() + { + int i; + if ((TextUtils.isEmpty(d())) || (TextUtils.isEmpty(c()))) + { + i = 1; + if (i != 0) { + break label33; + } + } + label33: + boolean bool; + do + { + return 0; + i = 0; + break; + long l = System.currentTimeMillis(); + if (!e.b(l, this.e, 10)) { + return -700; + } + this.e = l; + this.b.a(); + l = this.e; + bool = a(null); + new StringBuilder().append("checkRsaKey() 首次交换密钥是否成功:").append(bool).toString(); + } while (bool); + return -100; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/l.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/l.java new file mode 100755 index 00000000000..93a5f097b92 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/l.java @@ -0,0 +1,23 @@ +package tmsdk.common.d.a.b; + +public class l +{ + public volatile String a = ""; + public volatile String b = ""; + + public String toString() + { + StringBuilder localStringBuilder = new StringBuilder(); + localStringBuilder.append("mSessionId: "); + localStringBuilder.append(this.a); + localStringBuilder.append(" mEncodeKey: "); + localStringBuilder.append(this.b); + return localStringBuilder.toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/m.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/m.java new file mode 100755 index 00000000000..ef7fd34b59f --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/m.java @@ -0,0 +1,27 @@ +package tmsdk.common.d.a.b; + +class m +{ + int a; + int b; + int c; + int d; + byte[] e; + a f; + + m(int paramInt1, int paramInt2, int paramInt3, int paramInt4, byte[] paramArrayOfByte, a parama) + { + this.a = paramInt1; + this.b = paramInt2; + this.c = paramInt3; + this.d = paramInt4; + this.e = paramArrayOfByte; + this.f = parama; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/n.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/n.java new file mode 100755 index 00000000000..33219e67368 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/n.java @@ -0,0 +1,27 @@ +package tmsdk.common.d.a.b; + +class n +{ + int a; + int b; + int c; + int d; + byte[] e; + i f; + + n(int paramInt1, int paramInt2, byte[] paramArrayOfByte, int paramInt3, int paramInt4, i parami) + { + this.a = paramInt1; + this.b = paramInt3; + this.c = paramInt4; + this.d = paramInt2; + this.e = paramArrayOfByte; + this.f = parami; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/o.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/o.java new file mode 100755 index 00000000000..c762bfafe26 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/o.java @@ -0,0 +1,733 @@ +package tmsdk.common.d.a.b; + +import android.content.Context; +import android.os.Process; +import android.text.TextUtils; +import com.qq.taf.jce.JceStruct; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicReference; + +public class o +{ + private final String a = "SharkNetwork"; + private final int b = 0; + private final int c = 1; + private Context d; + private g e; + private q f; + private q g; + private tmsdk.common.d.a.a.b h; + private k i; + private c j; + private Object k = new Object(); + private String l = ""; + private a.b.a m; + + public o(Context paramContext, g paramg, boolean paramBoolean) + { + new StringBuilder().append("SharkNetwork() isTest: ").append(paramBoolean).toString(); + new StringBuilder().append("SharkNetwork() isTest: ").append(paramBoolean).toString(); + this.d = paramContext; + this.e = paramg; + this.f = new q(); + this.g = new q(); + this.h = new tmsdk.common.d.a.a.b(paramContext, paramBoolean, paramg); + this.i = new k(paramContext, this); + this.j = new c(paramContext, this); + int n = Process.myPid(); + paramBoolean = this.e.a(); + paramg = new StringBuilder(); + if (paramBoolean) {} + for (paramContext = "b";; paramContext = "f") + { + paramg.append(paramContext); + paramg.append(n); + this.l = paramg.toString(); + new StringBuilder().append("SharkNetwork() mExt: ").append(this.l).toString(); + return; + } + } + + private int a(int paramInt) + { + switch (paramInt) + { + default: + return paramInt; + case -10000: + return paramInt - 3; + case -20000: + return paramInt - 3; + case -30000: + return paramInt - 3; + case -40000: + return paramInt - 3; + case -50000: + return paramInt - 4; + case -60000: + return paramInt - 3; + case -70000: + return paramInt - 3; + case -80000: + return paramInt - 3; + case -90000: + return paramInt - 3; + case -100000: + return paramInt - 3; + case -110000: + return paramInt - 3; + case -120000: + return paramInt - 3; + case -130000: + return paramInt - 4; + case -140000: + return paramInt - 3; + case -150000: + return paramInt - 3; + case -160000: + return paramInt - 6; + } + return paramInt - 5; + } + + private a.b.a a(boolean paramBoolean, l paraml) + { + if (this.m == null) { + this.m = new a.b.a(); + } + if (paraml != null) {} + for (String str = paraml.a;; str = this.m.e) + { + a.b.a locala = this.m; + if (paramBoolean) { + str = ""; + } + locala.e = str; + this.m.f = tmsdk.common.a.b("build"); + this.m.a = g(); + this.m.b = h(); + this.m.c = this.j.e(); + this.m.d = this.l; + if (paraml != null) + { + new StringBuilder().append("checkSharkfin() rsaKeyCode: ").append(paraml.hashCode()).append(" rsaKey: ").append(paraml).append(" mSharkfin.buildno: ").append(this.m.f).append(" mSharkfin.apn: ").append(this.m.a).append(" mSharkfin.authType: ").append(this.m.b).append(" mSharkfin.guid: ").append(this.m.c).append(" mSharkfin.ext1: ").append(this.m.d).toString(); + new StringBuilder().append("checkSharkfin() rsaKeyCode: ").append(paraml.hashCode()).append(" rsaKey: ").append(paraml).append(" mSharkfin.buildno: ").append(this.m.f).append(" mSharkfin.apn: ").append(this.m.a).append(" mSharkfin.authType: ").append(this.m.b).append(" mSharkfin.guid: ").append(this.m.c).append(" mSharkfin.ext1: ").append(this.m.d).toString(); + new StringBuilder().append("[ocean]info: guid|").append(this.m.c).toString(); + new StringBuilder().append("[ocean]info: SdKy: sessionId|").append(this.m.e).append("|encodeKey|").append(paraml.b).toString(); + new StringBuilder().append("[ocean]info: guid|").append(this.m.c).append("|sessionId|").append(this.m.e).append("|encodeKey|").append(paraml.b).toString(); + } + return this.m; + } + } + + private a.e.c a(String paramString) + { + int n = this.h.a().a(); + int i1 = this.h.a().b(); + new StringBuilder().append("getCSIPListResultToSend() hash: ").append(n).append(" hashSeqNo: ").append(i1).toString(); + new StringBuilder().append("getCSIPListResultToSend() hash: ").append(n).append(" hashSeqNo: ").append(i1).toString(); + if (n == 0) { + return null; + } + this.h.a().a(0, 0); + new StringBuilder().append("getCSIPListResultToSend() encodeKey: ").append(paramString).toString(); + new StringBuilder().append("getCSIPListResultToSend() encodeKey: ").append(paramString).toString(); + a.a.a locala = new a.a.a(); + locala.a = n; + a.e.c localc = new a.e.c(); + localc.b = 0; + localc.c = i1; + localc.a = 151; + localc.d = b.a(this.d, paramString.getBytes(), locala); + return localc; + } + + private a.e.d a(boolean paramBoolean1, boolean paramBoolean2, l paraml, ArrayList paramArrayList) + { + a.e.d locald = h.a(); + locald.a = this.g.b(); + if (paramBoolean2) {} + for (int n = 1;; n = 0) + { + locald.c = n; + locald.d = a(paramBoolean1, paraml); + locald.e = paramArrayList; + this.g.c(); + return locald; + } + } + + private a.e.f a(ArrayList paramArrayList, int paramInt) + { + if (paramArrayList == null) { + return null; + } + int i1 = paramArrayList.size(); + if (i1 <= 0) { + return null; + } + int n = 0; + if (n < i1) + { + a.e.f localf = (a.e.f)paramArrayList.get(n); + if (localf == null) {} + while (paramInt != localf.a) + { + n += 1; + break; + } + return localf; + } + return null; + } + + private ArrayList a(ArrayList paramArrayList, boolean paramBoolean) + { + Object localObject; + if (paramArrayList == null) + { + localObject = null; + return localObject; + } + int i1 = paramArrayList.size(); + new StringBuilder().append("handleServerSashimiList() retList.size(): ").append(paramArrayList.size()).append(" noCheckIpList: ").append(paramBoolean).toString(); + new StringBuilder().append("handleServerSashimiList() retList.size(): ").append(paramArrayList.size()).append(" noCheckIpList: ").append(paramBoolean).toString(); + int n = 0; + if (n < i1) + { + localObject = (a.e.f)paramArrayList.get(n); + if (localObject == null) {} + do + { + n += 1; + break; + new StringBuilder().append("handleServerSashimiList() rs.seqNo: ").append(((a.e.f)localObject).b).append(" rs.cmd: ").append(((a.e.f)localObject).a).append(" rs.retCode: ").append(((a.e.f)localObject).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject).e).toString(); + new StringBuilder().append("handleServerSashimiList() rs.seqNo: ").append(((a.e.f)localObject).b).append(" rs.cmd: ").append(((a.e.f)localObject).a).append(" rs.retCode: ").append(((a.e.f)localObject).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject).e).toString(); + if (((a.e.f)localObject).f != null) + { + new StringBuilder().append("handleServerSashimiList() rs.data.length: ").append(((a.e.f)localObject).f.length).toString(); + new StringBuilder().append("handleServerSashimiList() rs.data.length: ").append(((a.e.f)localObject).f.length).toString(); + } + } while ((paramBoolean) || (!a((a.e.f)localObject))); + } + for (;;) + { + localObject = paramArrayList; + if (n < 0) { + break; + } + paramArrayList.remove(n); + return paramArrayList; + n = -1; + } + } + + private void a(ArrayList paramArrayList, l paraml1, l paraml2) + { + if ((paramArrayList == null) || (paraml1 == null) || (paraml2 == null) || (TextUtils.isEmpty(paraml2.a)) || (TextUtils.isEmpty(paraml2.b))) {} + int n; + do + { + return; + n = paramArrayList.size(); + } while (n <= 0); + new StringBuilder().append("[ocean]info: RKey: oldRsaKey: ").append(paraml1).append(" newRsaKey: ").append(paraml2).toString(); + n -= 1; + label81: + a.e.c localc; + if (n >= 0) + { + localc = (a.e.c)paramArrayList.get(n); + if ((localc != null) && (localc.d != null) && (localc.d.length > 0)) { + break label128; + } + } + for (;;) + { + n -= 1; + break label81; + break; + label128: + new StringBuilder().append("[ocean]info: RKey: ECmd: ").append(localc.a).toString(); + byte[] arrayOfByte = b.b(this.d, paraml1.b.getBytes(), localc.d); + if (arrayOfByte == null) + { + paramArrayList.remove(n); + } + else + { + arrayOfByte = b.a(this.d, paraml2.b.getBytes(), arrayOfByte); + if (arrayOfByte == null) { + paramArrayList.remove(n); + } else { + localc.d = arrayOfByte; + } + } + } + } + + private void a(boolean paramBoolean, l paraml, ArrayList paramArrayList1, ArrayList paramArrayList2, int paramInt) + { + int i1 = 0; + int i2; + int n; + if ((paramBoolean) && (paramArrayList1 != null)) + { + i2 = paramArrayList1.size(); + n = 0; + while (n < i2) + { + a.e.c localc = (a.e.c)paramArrayList1.get(n); + if (localc == null) + { + n += 1; + } + else + { + StringBuilder localStringBuilder = new StringBuilder().append("[ocean]info: Used: sessionId|"); + if (paraml != null) + { + str = paraml.a; + label77: + localStringBuilder = localStringBuilder.append(str).append("|encodeKey|"); + if (paraml == null) { + break label278; + } + } + label278: + for (String str = paraml.b;; str = "") + { + localStringBuilder.append(str).toString(); + new StringBuilder().append("[ocean]send: ECmd|").append(localc.a).append("|seqNo|").append(localc.b).append("|refSeqNo|").append(localc.c).append("|ret|").append(paramInt).append("|ident|").append(localc.e).toString(); + new StringBuilder().append("[ocean]send: ECmd|").append(localc.a).append("|seqNo|").append(localc.b).append("|refSeqNo|").append(localc.c).append("|ret|").append(paramInt).append("|ident|").append(localc.e).toString(); + break; + str = ""; + break label77; + } + } + } + } + if ((!paramBoolean) && (paramArrayList2 != null) && (paramArrayList2.size() > 0)) + { + i2 = paramArrayList2.size(); + n = i1; + } + while (n < i2) + { + paraml = (a.e.f)paramArrayList2.get(n); + if (paraml == null) + { + n += 1; + } + else + { + if ((paramInt != 0) || (paraml.d != 0) || (paraml.e != 0)) { + new StringBuilder().append("[ocean]recv: ECmd|").append(paraml.a).append("|seqNo|").append(paraml.b).append("|refSeqNo|").append(paraml.c).append("|ret|").append(paramInt).append("|retCode|").append(paraml.d).append("|dataRetCode|").append(paraml.e).toString(); + } + for (;;) + { + new StringBuilder().append("[ocean]recv: ECmd|").append(paraml.a).append("|seqNo|").append(paraml.b).append("|refSeqNo|").append(paraml.c).append("|ret|").append(paramInt).append("|retCode|").append(paraml.d).append("|dataRetCode|").append(paraml.e).toString(); + break; + new StringBuilder().append("[ocean]recv: ECmd|").append(paraml.a).append("|seqNo|").append(paraml.b).append("|refSeqNo|").append(paraml.c).append("|ret|").append(paramInt).append("|retCode|").append(paraml.d).append("|dataRetCode|").append(paraml.e).toString(); + } + if ((!paramBoolean) && (paramArrayList1 != null)) + { + i1 = paramArrayList1.size(); + n = 0; + if (n < i1) + { + paraml = (a.e.c)paramArrayList1.get(n); + if (paraml == null) {} + for (;;) + { + n += 1; + break; + new StringBuilder().append("[ocean]recv: ECmd|").append(paraml.a + 10000).append("|ret|").append(paramInt).toString(); + new StringBuilder().append("[ocean]recv: ECmd|").append(paraml.a + 10000).append("|ret|").append(paramInt).toString(); + } + } + } + } + } + } + + private boolean a(a.e.f paramf) + { + if (10150 == paramf.a) {} + for (int n = 1; n == 0; n = 0) { + return false; + } + if (paramf.f == null) { + return true; + } + new StringBuilder().append("checkIpList() respSashimi.seqNo: ").append(paramf.b).append(" respSashimi.refSeqNo: ").append(paramf.c).append(" respSashimi.cmd: ").append(paramf.a).append(" respSashimi.retCode: ").append(paramf.d).append(" respSashimi.dataRetCode: ").append(paramf.e).append(" respSashimi.data.length: ").append(paramf.f.length).toString(); + new StringBuilder().append("checkIpList() respSashimi.seqNo: ").append(paramf.b).append(" respSashimi.refSeqNo: ").append(paramf.c).append(" respSashimi.cmd: ").append(paramf.a).append(" respSashimi.retCode: ").append(paramf.d).append(" respSashimi.dataRetCode: ").append(paramf.e).append(" respSashimi.data.length: ").append(paramf.f.length).toString(); + if (paramf.d != 0) { + return true; + } + if (paramf.e != 0) + { + new StringBuilder().append("checkIpList() ESharkCode.ERR_NONE != respSashimi.dataRetCode, respSashimi.dataRetCode: ").append(paramf.e).toString(); + new StringBuilder().append("checkIpList() ESharkCode.ERR_NONE != respSashimi.dataRetCode, respSashimi.dataRetCode: ").append(paramf.e).toString(); + return true; + } + if (paramf.f == null) { + return true; + } + Object localObject = new a.a.c(); + localObject = b.a(this.d, this.i.a().b.getBytes(), paramf.f, (JceStruct)localObject); + if (localObject == null) { + return true; + } + localObject = (a.a.c)localObject; + this.h.a().a(((a.a.c)localObject).a, paramf.b, ((a.a.c)localObject).b, ((a.a.c)localObject).c, ((a.a.c)localObject).d, ((a.a.c)localObject).e); + return true; + } + + private boolean a(l paraml1, l paraml2) + { + return (paraml1 != null) && (paraml2 != null) && (!TextUtils.isEmpty(paraml1.a)) && (!TextUtils.isEmpty(paraml1.b)) && (!TextUtils.isEmpty(paraml2.a)) && (!TextUtils.isEmpty(paraml2.b)) && ((!paraml1.a.equals(paraml2.a)) || (!paraml1.b.equals(paraml2.b))); + } + + private int b(boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, l paraml, ArrayList paramArrayList, AtomicReference paramAtomicReference) + { + new StringBuilder().append("doSend() isReqRSA: ").append(paramBoolean1).append(" isReqRegistGuid: ").append(paramBoolean2).append(" isReqUpdateRegist: ").append(paramBoolean3).append(" rsaKey: ").append(paraml).toString(); + new StringBuilder().append("doSend() isReqRSA: ").append(paramBoolean1).append(" isReqRegistGuid: ").append(paramBoolean2).append(" isReqUpdateRegist: ").append(paramBoolean3).append(" rsaKey: ").append(paraml).toString(); + Object localObject = paraml; + if (!paramBoolean1) + { + n = this.i.b(); + if (n != 0) { + return n; + } + l locall = this.i.a(); + localObject = paraml; + if (paraml != null) { + if ((!TextUtils.isEmpty(paraml.a)) && (!TextUtils.isEmpty(paraml.b))) + { + localObject = paraml; + if (!a(paraml, locall)) {} + } + else + { + a(paramArrayList, paraml, locall); + localObject = locall; + } + } + } + if ((!paramBoolean1) && (!paramBoolean2) && (TextUtils.isEmpty(this.j.c()))) { + return -200; + } + if ((!paramBoolean1) && (!paramBoolean2) && (!paramBoolean3)) { + this.j.d(); + } + if (paramArrayList == null) { + return 0; + } + new StringBuilder().append("doSend() reqSashimiList.size(): ").append(paramArrayList.size()).toString(); + new StringBuilder().append("doSend() reqSashimiList.size(): ").append(paramArrayList.size()).toString(); + if (paramArrayList.size() <= 0) { + return -10; + } + paraml = h.a(a(paramBoolean1, true, (l)localObject, paramArrayList)); + new StringBuilder().append("doSend() sendData.length: ").append(paraml.length).toString(); + new StringBuilder().append("doSend() sendData.length: ").append(paraml.length).toString(); + paramArrayList = new AtomicReference(); + int n = this.h.a(paraml, paramArrayList); + if (-160000 == n) + { + n = a(n); + new StringBuilder().append("doSend() ESharkCode.ERR_NEED_WIFIAPPROVEMENT == ret, doneRet: ").append(n).toString(); + new StringBuilder().append("doSend() ESharkCode.ERR_NEED_WIFIAPPROVEMENT == ret, doneRet: ").append(n).toString(); + return n; + } + if (n != 0) + { + n = a(n); + new StringBuilder().append("doSend() ESharkCode.ERR_NONE != ret, doneRet: ").append(n).toString(); + new StringBuilder().append("doSend() ESharkCode.ERR_NONE != ret, doneRet: ").append(n).toString(); + return n; + } + paraml = (byte[])paramArrayList.get(); + if (paraml == null) { + return -5; + } + new StringBuilder().append("doSend() retData.length: ").append(paraml.length).toString(); + new StringBuilder().append("doSend() retData.length: ").append(paraml.length).toString(); + try + { + paraml = h.a(paraml); + if (paraml == null) { + return -5; + } + } + catch (Exception paraml) + { + new StringBuilder().append("doSend() e: ").append(paraml.toString()).toString(); + new StringBuilder().append("doSend() e: ").append(paraml.toString()).toString(); + return -5; + } + paraml = (a.e.g)paraml; + paramArrayList = paraml.c; + if (paramArrayList == null) { + return -5; + } + new StringBuilder().append("doSend() retShark.seqNo: ").append(paraml.a).append(" respSashimiList.size(): ").append(paramArrayList.size()).toString(); + new StringBuilder().append("doSend() retShark.seqNo: ").append(paraml.a).append(" respSashimiList.size(): ").append(paramArrayList.size()).toString(); + paramAtomicReference.set(paramArrayList); + return 0; + } + + private boolean b(ArrayList paramArrayList) + { + if (paramArrayList == null) { + return false; + } + if (paramArrayList.size() > 1) { + return false; + } + paramArrayList = (a.e.f)paramArrayList.get(0); + if (paramArrayList == null) { + return false; + } + if (2 == paramArrayList.d) {} + for (int n = 1; n == 0; n = 0) { + return false; + } + new StringBuilder().append("checkRsa() ERC_EXPIRE retCode: ").append(paramArrayList.d).append(" dataRetCode: ").append(paramArrayList.e).toString(); + new StringBuilder().append("checkRsa() ERC_EXPIRE retCode: ").append(paramArrayList.d).append(" dataRetCode: ").append(paramArrayList.e).toString(); + return true; + } + + private void c(ArrayList paramArrayList) + { + if (paramArrayList == null) + { + break label4; + break label4; + } + for (;;) + { + label4: + return; + if (paramArrayList.size() > 0) + { + Object localObject = a(paramArrayList, 10151); + if (localObject == null) { + break; + } + new StringBuilder().append("checkCSIPListResult() rs.seqNo: ").append(((a.e.f)localObject).b).append(" rs.cmd: ").append(((a.e.f)localObject).a).append(" rs.retCode: ").append(((a.e.f)localObject).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject).e).toString(); + new StringBuilder().append("checkCSIPListResult() rs.seqNo: ").append(((a.e.f)localObject).b).append(" rs.cmd: ").append(((a.e.f)localObject).a).append(" rs.retCode: ").append(((a.e.f)localObject).d).append(" rs.dataRetCode: ").append(((a.e.f)localObject).e).toString(); + if ((1 == ((a.e.f)localObject).d) || (((a.e.f)localObject).e != 0)) { + break; + } + paramArrayList = ((a.e.f)localObject).f; + if (paramArrayList == null) { + break; + } + new StringBuilder().append("checkCSIPListResult() rs.data.length: ").append(((a.e.f)localObject).f.length).toString(); + new StringBuilder().append("checkCSIPListResult() rs.data.length: ").append(((a.e.f)localObject).f.length).toString(); + localObject = new a.a.d(); + try + { + paramArrayList = b.a(this.d, b().b.getBytes(), paramArrayList, (JceStruct)localObject); + if (paramArrayList != null) + { + paramArrayList = (a.a.d)paramArrayList; + new StringBuilder().append("checkCSIPListResult() ipList反馈成功, ret.hash: ").append(paramArrayList.a).toString(); + new StringBuilder().append("checkCSIPListResult() ipList反馈成功, ret.hash: ").append(paramArrayList.a).toString(); + return; + } + } + catch (Exception paramArrayList) {} + } + } + } + + private boolean e() + { + long l1 = this.e.k(); + long l2 = System.currentTimeMillis(); + boolean bool = tmsdk.common.c.a.e.b(l2, l1, 360); + this.e.b(l2); + return bool; + } + + private boolean f() + { + if (!this.j.a()) {} + int n; + do + { + return true; + n = a(null, new ArrayList(), new AtomicReference()); + } while ((-10 == n) || (n == 0)); + new StringBuilder().append("checkDoRegist() 首次注册失败,ret: ").append(n).toString(); + new StringBuilder().append("checkDoRegist() 首次注册失败,ret: ").append(n).toString(); + return false; + } + + private int g() + { + int n = 3; + if (!tmsdk.common.c.a.c.f) + { + tmsdk.common.c.a.c.f = false; + tmsdk.common.c.a.c.a(this.d); + } + if (3 == tmsdk.common.c.a.c.g) + { + n = 1; + return n; + } + switch (tmsdk.common.c.a.c.i) + { + case 1: + default: + return 0; + case 0: + return 2; + case 2: + return 4; + case 3: + return 5; + case 4: + return 6; + case 5: + return 7; + case 6: + return 8; + case 7: + return 9; + } + return 10; + } + + private int h() + { + switch () + { + case 0: + default: + return 0; + case 1: + return 1; + } + return 2; + } + + public int a(l paraml, ArrayList paramArrayList, AtomicReference paramAtomicReference) + { + if (!tmsdk.common.e.f.e()) { + return -2; + } + return a(false, false, false, paraml, paramArrayList, paramAtomicReference); + } + + protected int a(boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, l paraml, ArrayList paramArrayList, AtomicReference paramAtomicReference) + { + Object localObject2 = this.k; + if ((!paramBoolean1) && (!paramBoolean2) && (!paramBoolean3) && (paraml != null)) {} + for (;;) + { + Object localObject1; + try + { + localObject1 = a(paraml.b); + if (localObject1 == null) { + break label367; + } + paramArrayList.add(localObject1); + bool1 = true; + new StringBuilder().append("send() isReqIpListResult: ").append(bool1).toString(); + new StringBuilder().append("send() isReqIpListResult: ").append(bool1).toString(); + AtomicReference localAtomicReference1 = new AtomicReference(); + a(true, paraml, paramArrayList, null, 0); + int n = b(paramBoolean1, paramBoolean2, paramBoolean3, paraml, paramArrayList, localAtomicReference1); + if (n != 0) + { + a(false, null, paramArrayList, (ArrayList)localAtomicReference1.get(), n); + paraml = this.e; + return n; + } + localObject1 = a((ArrayList)localAtomicReference1.get(), bool1); + boolean bool2 = b((ArrayList)localObject1); + new StringBuilder().append("send() 密钥是否过期:").append(bool2).toString(); + new StringBuilder().append("send() 密钥是否过期:").append(bool2).toString(); + if ((!paramBoolean1) && (bool2)) + { + AtomicReference localAtomicReference2 = new AtomicReference(); + bool2 = this.i.a(localAtomicReference2); + if ((!paramBoolean1) && (bool2)) + { + n = b(false, paramBoolean2, paramBoolean3, paraml, paramArrayList, localAtomicReference1); + paraml = a((ArrayList)localAtomicReference1.get(), bool1); + a(false, null, paramArrayList, (ArrayList)localAtomicReference1.get(), n); + paramAtomicReference.set(paraml); + paramArrayList = this.e; + if (bool1) { + c(paraml); + } + return n; + } + } + } + finally {} + paraml = (l)localObject1; + continue; + label367: + boolean bool1 = false; + } + } + + public a.e.d a(ArrayList paramArrayList) + { + if (!f()) { + return null; + } + return a(true, false, null, paramArrayList); + } + + public ArrayList a(a.e.g paramg) + { + if (paramg == null) { + return null; + } + return paramg.c; + } + + protected g a() + { + return this.e; + } + + public void a(boolean paramBoolean) + { + this.h.a().a(paramBoolean); + } + + protected l b() + { + return this.i.a(); + } + + public f c() + { + return this.f; + } + + public void d() + { + if (!this.j.a()) {} + while (!e()) { + return; + } + c.b.a.a.a().b(new p(this), "checkDoRegist"); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/p.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/p.java new file mode 100755 index 00000000000..447f186e2a4 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/p.java @@ -0,0 +1,28 @@ +package tmsdk.common.d.a.b; + +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicReference; + +class p + implements Runnable +{ + p(o paramo) {} + + public void run() + { + ArrayList localArrayList = new ArrayList(); + AtomicReference localAtomicReference = new AtomicReference(); + int i = this.a.a(null, localArrayList, localAtomicReference); + if ((-10 == i) || (i == 0)) { + return; + } + new StringBuilder().append("checkDoRegist() 首次注册失败,ret: ").append(i).toString(); + new StringBuilder().append("checkDoRegist() 首次注册失败,ret: ").append(i).toString(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/q.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/q.java new file mode 100755 index 00000000000..47f513d733d --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/q.java @@ -0,0 +1,42 @@ +package tmsdk.common.d.a.b; + +public class q + implements f +{ + private Object a = new Object(); + private int b = 1; + + public int a() + { + synchronized (this.a) + { + int i = this.b; + this.b += 1; + return i; + } + } + + public int b() + { + synchronized (this.a) + { + int i = this.b; + return i; + } + } + + public void c() + { + synchronized (this.a) + { + this.b += 1; + return; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/r.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/r.java new file mode 100755 index 00000000000..35c2e0fe774 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/r.java @@ -0,0 +1,148 @@ +package tmsdk.common.d.a.b; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import android.os.Process; +import android.util.Pair; +import com.qq.taf.jce.JceStruct; +import d.b.b; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.TreeMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class r + extends tmsdk.common.a.a +{ + private final String a = "SharkProtocolQueue"; + private final int b = 1073741824; + private final long c = -1L; + private Context d; + private o e; + private ExecutorService f; + private TreeMap g = new TreeMap(); + private ArrayList h = new ArrayList(); + private Handler i = new s(this, Looper.getMainLooper()); + + private boolean b(int paramInt1, int paramInt2) + { + return (paramInt1 & paramInt2) != 0; + } + + private boolean c(int paramInt) + { + return b(paramInt, 1); + } + + private boolean d(int paramInt) + { + return b(paramInt, 4); + } + + public b a(int paramInt1, int paramInt2) + { + b localb = null; + if (c(paramInt2)) { + return z.a().a(paramInt1, null); + } + synchronized (this.g) + { + if (this.g.containsKey(Integer.valueOf(paramInt1))) { + localb = (b)((Pair)this.g.remove(Integer.valueOf(paramInt1))).second; + } + return localb; + } + } + + public WeakReference a(long paramLong, int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, d.b.a parama) + { + return a(paramLong, paramInt1, paramJceStruct1, paramJceStruct2, paramInt2, parama, -1L); + } + + public WeakReference a(long paramLong1, int paramInt1, JceStruct arg4, JceStruct paramJceStruct2, int paramInt2, d.b.a parama, long paramLong2) + { + if (c(paramInt2)) { + return z.a().a(this.e, paramInt1, paramInt2, ???, paramJceStruct2, parama, paramLong2); + } + paramJceStruct2 = new t(this, paramLong1, paramInt1, ???, paramJceStruct2, paramInt2, parama); + paramJceStruct2.g = this.e.c().a(); + paramJceStruct2.i = paramLong2; + synchronized (this.h) + { + this.h.add(paramJceStruct2); + this.i.sendEmptyMessage(1); + return new WeakReference(paramJceStruct2.h); + } + } + + public void a(int paramInt) + { + if (c(paramInt)) + { + z.a().d(); + if (d(paramInt)) { + z.a().b(); + } + } + } + + public void a(int paramInt1, JceStruct paramJceStruct, int paramInt2, b paramb) + { + if (paramb == null) { + throw new NullPointerException(); + } + if (c(paramInt2)) { + z.a().a(paramInt2, paramInt1, paramJceStruct, paramb); + } + for (;;) + { + return; + Object localObject = null; + synchronized (this.g) + { + if (!this.g.containsKey(Integer.valueOf(paramInt1))) + { + this.g.put(Integer.valueOf(paramInt1), new Pair(paramJceStruct, paramb)); + paramJceStruct = localObject; + if (paramJceStruct == null) { + continue; + } + throw paramJceStruct; + } + paramJceStruct = new ClassCastException(); + } + } + } + + public void a(g paramg, boolean paramBoolean) + { + new StringBuilder().append("pid: ").append(Process.myPid()).append("SharkProtocolQueue init()").toString(); + new StringBuilder().append("init is Test server : ").append(paramBoolean).toString(); + this.e = new o(tmsdk.common.a.a(), paramg, paramBoolean); + z.a().a(paramg, paramBoolean); + this.f = Executors.newSingleThreadExecutor(); + this.e.d(); + } + + public void a(boolean paramBoolean) + { + new StringBuilder().append("setIsTest is Test server : ").append(paramBoolean).toString(); + z.a().a(paramBoolean); + this.e.a(paramBoolean); + } + + public void b(int paramInt) + { + if (c(paramInt)) { + z.a().e(); + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/s.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/s.java new file mode 100755 index 00000000000..05bf2426560 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/s.java @@ -0,0 +1,63 @@ +package tmsdk.common.d.a.b; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import d.b.a; +import d.b.d; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.concurrent.ExecutorService; + +class s + extends Handler +{ + s(r paramr, Looper paramLooper) + { + super(paramLooper); + } + + public void handleMessage(Message arg1) + { + switch (???.what) + { + default: + return; + case 1: + r.a(this.a).removeMessages(1); + u localu = new u(this.a, null); + for (;;) + { + t localt2; + synchronized (r.b(this.a)) + { + Iterator localIterator = r.b(this.a).iterator(); + if (!localIterator.hasNext()) { + break; + } + localt2 = (t)localIterator.next(); + if ((localt2.e & 0x40000000) == 0) + { + if (localt2.h.a()) { + continue; + } + localu.a(Integer.valueOf(localt2.g), localt2); + } + } + localRunnable.a.add(localt2); + } + r.b(this.a).clear(); + r.c(this.a).submit(localRunnable); + return; + } + ??? = (Object[])???.obj; + t localt1 = (t)???[0]; + localt1.f.a(localt1.g, localt1.b, ((Integer)???[1]).intValue(), ((Integer)???[2]).intValue(), localt1.d); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/t.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/t.java new file mode 100755 index 00000000000..b81dff461e4 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/t.java @@ -0,0 +1,35 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; +import d.b.a; +import d.b.d; + +class t +{ + public long a; + public int b; + public JceStruct c; + public JceStruct d; + public int e; + public a f; + public int g; + public d h; + public long i = -1L; + + t(r paramr, long paramLong, int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, a parama) + { + this.a = paramLong; + this.b = paramInt1; + this.c = paramJceStruct1; + this.d = paramJceStruct2; + this.e = paramInt2; + this.f = parama; + this.h = new d(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/u.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/u.java new file mode 100755 index 00000000000..87562ca7b87 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/u.java @@ -0,0 +1,287 @@ +package tmsdk.common.d.a.b; + +import a.e.f; +import android.os.Handler; +import android.os.Looper; +import android.text.TextUtils; +import android.util.Pair; +import com.qq.taf.jce.JceStruct; +import d.b.d; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.concurrent.atomic.AtomicReference; + +class u + implements Runnable +{ + public ArrayList a = new ArrayList(); + private TreeMap c = new TreeMap(); + private Handler d = new v(this, Looper.getMainLooper()); + + private u(r paramr) {} + + private void a(f paramf) + { + Object localObject2 = null; + JceStruct localJceStruct = null; + this.d.removeMessages(paramf.c); + synchronized (this.c) + { + t localt = (t)this.c.get(Integer.valueOf(paramf.c)); + if (localt == null) { + return; + } + this.c.remove(Integer.valueOf(paramf.c)); + ??? = localJceStruct; + if (paramf.f != null) + { + ??? = localJceStruct; + if (localt.d != null) + { + ??? = localJceStruct; + if (paramf.d == 0) { + ??? = localObject2; + } + } + } + try + { + localJceStruct = b.a(r.e(this.b), r.d(this.b).b().b.getBytes(), paramf.f, localt.d); + ??? = localJceStruct; + if (localJceStruct == null) + { + ??? = localJceStruct; + paramf.d = -300; + ??? = localJceStruct; + } + } + catch (Exception localException) + { + for (;;) + { + paramf.d = -400; + } + } + if (localt.d != ???) { + localt.d = ((JceStruct)???); + } + try + { + a(localt, Integer.valueOf(paramf.d), Integer.valueOf(paramf.e)); + return; + } + catch (Exception paramf) {} + } + } + + private void a(t paramt, Integer paramInteger1, Integer paramInteger2) + { + paramt.h.a(2); + if (paramt.f == null) { + return; + } + switch (d.b.c.a(paramt.e)) + { + default: + c.b.a.a.a().b(new w(this, paramt, paramInteger1, paramInteger2), "shark callback"); + return; + case 16: + paramt.f.a(paramt.g, paramt.b, paramInteger1.intValue(), paramInteger2.intValue(), paramt.d); + return; + } + paramt = r.a(this.b).obtainMessage(2, new Object[] { paramt, paramInteger1, paramInteger2 }); + r.a(this.b).sendMessage(paramt); + } + + private int b(int paramInt) + { + switch (paramInt) + { + default: + return paramInt; + case -100: + return paramInt - 9; + case -200: + return paramInt - 9; + case -300: + return paramInt - 5; + case -400: + return paramInt - 5; + } + return paramInt - 8; + } + + private void c(int paramInt) + { + Object localObject2 = a(); + synchronized (this.c) + { + this.c.clear(); + ??? = ((Set)localObject2).iterator(); + for (;;) + { + if (((Iterator)???).hasNext()) + { + localObject2 = (Map.Entry)((Iterator)???).next(); + try + { + a((t)((Map.Entry)localObject2).getValue(), Integer.valueOf(paramInt), Integer.valueOf(-1)); + } + catch (Exception localException) {} + } + } + } + } + + public Set a() + { + synchronized (this.c) + { + TreeMap localTreeMap2 = (TreeMap)this.c.clone(); + return localTreeMap2.entrySet(); + } + } + + public void a(Integer paramInteger, t paramt) + { + this.c.put(paramInteger, paramt); + } + + public boolean a(int paramInt) + { + synchronized (this.c) + { + boolean bool = this.c.containsKey(Integer.valueOf(paramInt)); + return bool; + } + } + + public void run() + { + Object localObject4; + Object localObject6; + Object localObject7; + Object localObject8; + try + { + ArrayList localArrayList = new ArrayList(); + localObject4 = new AtomicReference(); + ??? = r.d(this.b).b(); + localObject6 = a().iterator(); + while (((Iterator)localObject6).hasNext()) + { + localObject7 = (Map.Entry)((Iterator)localObject6).next(); + if (!((t)((Map.Entry)localObject7).getValue()).h.a()) + { + ((t)((Map.Entry)localObject7).getValue()).h.a(1); + localObject8 = new a.e.c(); + ((a.e.c)localObject8).a = ((t)((Map.Entry)localObject7).getValue()).b; + ((a.e.c)localObject8).b = ((t)((Map.Entry)localObject7).getValue()).g; + ((a.e.c)localObject8).e = ((t)((Map.Entry)localObject7).getValue()).a; + ((a.e.c)localObject8).c = 0; + ((a.e.c)localObject8).d = null; + if (((t)((Map.Entry)localObject7).getValue()).c != null) + { + TextUtils.isEmpty(((l)???).b); + ((a.e.c)localObject8).d = b.a(r.e(this.b), ((l)???).b.getBytes(), ((t)((Map.Entry)localObject7).getValue()).c); + } + if (((t)((Map.Entry)localObject7).getValue()).i > 0L) + { + new StringBuilder().append("对seq : ").append(((a.e.c)localObject8).b).append("计时 : ").append(((t)((Map.Entry)localObject7).getValue()).i).append("ms").toString(); + this.d.sendEmptyMessageDelayed(((a.e.c)localObject8).b, ((t)((Map.Entry)localObject7).getValue()).i); + } + localArrayList.add(localObject8); + } + } + localObject6 = this.a.iterator(); + } + catch (Exception localException1) + { + new StringBuilder().append("run shark task e: ").append(localException1.toString()).toString(); + c(-10); + return; + } + for (;;) + { + if (((Iterator)localObject6).hasNext()) + { + localObject8 = (t)((Iterator)localObject6).next(); + localObject7 = new a.e.c(); + ((a.e.c)localObject7).a = ((t)localObject8).b; + ((a.e.c)localObject7).b = 0; + ((a.e.c)localObject7).c = ((t)localObject8).g; + ((a.e.c)localObject7).d = null; + if (((t)localObject8).c != null) { + TextUtils.isEmpty(((l)???).b); + } + } + try + { + ((a.e.c)localObject7).d = b.a(r.e(this.b), ((l)???).b.getBytes(), ((t)localObject8).c); + localException1.add(localObject7); + continue; + int i = r.d(this.b).a((l)???, localException1, (AtomicReference)localObject4); + if (i == 0) + { + localObject4 = ((ArrayList)((AtomicReference)localObject4).get()).iterator(); + while (((Iterator)localObject4).hasNext()) + { + ??? = (f)((Iterator)localObject4).next(); + if (a(((f)???).c)) + { + a((f)???); + } + else + { + Object localObject1; + if (r.f(this.b).containsKey(Integer.valueOf(((f)???).a))) + { + localObject6 = (Pair)r.f(this.b).get(Integer.valueOf(((f)???).a)); + if ((((Pair)localObject6).first == null) || (((f)???).f == null)) { + break label876; + } + localObject1 = b.a(r.e(this.b), r.d(this.b).b().b.getBytes(), ((f)???).f, (JceStruct)((Pair)localObject6).first); + localObject1 = ((d.b.b)((Pair)localObject6).second).a(((f)???).b, ((f)???).a, (JceStruct)localObject1); + if (localObject1 != null) + { + localObject1 = new t(this.b, -1L, ((Integer)((Pair)localObject1).first).intValue(), (JceStruct)((Pair)localObject1).second, null, 1073741824, null); + ((t)localObject1).g = ((f)???).b; + } + } + else + { + synchronized (r.b(this.b)) + { + r.b(this.b).add(localObject1); + r.a(this.b).sendEmptyMessage(1); + } + } + } + } + c(b(-500)); + return; + } + c(b(i)); + return; + } + catch (Exception localException2) + { + for (;;) + { + continue; + label876: + Object localObject3 = null; + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.u + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/v.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/v.java new file mode 100755 index 00000000000..6b7d814108a --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/v.java @@ -0,0 +1,31 @@ +package tmsdk.common.d.a.b; + +import a.e.f; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; + +class v + extends Handler +{ + v(u paramu, Looper paramLooper) + { + super(paramLooper); + } + + public void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + f localf = new f(); + localf.d = -50004; + localf.c = paramMessage.what; + new StringBuilder().append("seq : ").append(paramMessage.what).append("超时").toString(); + u.a(this.a, localf); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.v + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/w.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/w.java new file mode 100755 index 00000000000..f92c1791dc6 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/w.java @@ -0,0 +1,20 @@ +package tmsdk.common.d.a.b; + +import d.b.a; + +class w + implements Runnable +{ + w(u paramu, t paramt, Integer paramInteger1, Integer paramInteger2) {} + + public void run() + { + this.a.f.a(this.a.g, this.a.b, this.b.intValue(), this.c.intValue(), this.a.d); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.w + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/x.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/x.java new file mode 100755 index 00000000000..9e85b460f71 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/x.java @@ -0,0 +1,27 @@ +package tmsdk.common.d.a.b; + +import com.qq.taf.jce.JceStruct; +import d.b.a; +import d.b.b; +import java.lang.ref.WeakReference; + +public abstract interface x +{ + public abstract b a(int paramInt1, int paramInt2); + + public abstract WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, a parama); + + public abstract WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, a parama, long paramLong); + + public abstract void a(int paramInt); + + public abstract void a(int paramInt1, JceStruct paramJceStruct, int paramInt2, b paramb); + + public abstract void b(int paramInt); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.x + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/y.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/y.java new file mode 100755 index 00000000000..cec6c575676 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/y.java @@ -0,0 +1,56 @@ +package tmsdk.common.d.a.b; + +import android.os.Process; +import com.qq.taf.jce.JceStruct; +import d.b.a; +import java.lang.ref.WeakReference; + +public class y + implements x +{ + private long a; + private r b; + + public y(long paramLong) + { + this.a = paramLong; + this.b = ((r)tmsdk.common.a.b.a(r.class)); + new StringBuilder().append("pid: ").append(Process.myPid()).append("SharkQueueProxy mSharkProtocolQueue: ").append(this.b.hashCode()).toString(); + } + + public d.b.b a(int paramInt1, int paramInt2) + { + return this.b.a(paramInt1, paramInt2); + } + + public WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, a parama) + { + return this.b.a(this.a, paramInt1, paramJceStruct1, paramJceStruct2, paramInt2, parama); + } + + public WeakReference a(int paramInt1, JceStruct paramJceStruct1, JceStruct paramJceStruct2, int paramInt2, a parama, long paramLong) + { + return this.b.a(this.a, paramInt1, paramJceStruct1, paramJceStruct2, paramInt2, parama, paramLong); + } + + public void a(int paramInt) + { + this.b.a(paramInt); + } + + public void a(int paramInt1, JceStruct paramJceStruct, int paramInt2, d.b.b paramb) + { + this.b.a(paramInt1, paramJceStruct, paramInt2, paramb); + } + + public void b(int paramInt) + { + this.b.b(paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.y + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/b/z.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/z.java new file mode 100755 index 00000000000..619f966ad3f --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/b/z.java @@ -0,0 +1,586 @@ +package tmsdk.common.d.a.b; + +import a.a.e; +import android.content.Context; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; +import android.os.Message; +import android.util.Pair; +import android.util.SparseArray; +import com.qq.taf.jce.JceStruct; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import tmsdk.common.d.a.c.s; +import tmsdk.common.d.a.c.t; + +public class z + extends t + implements tmsdk.common.d.a.c.d, tmsdk.common.d.a.c.m +{ + private static Object B; + private static z C; + private Handler A = null; + c.b.a.b a = null; + boolean b = false; + HandlerThread c = null; + Handler d = null; + SparseArray e = new SparseArray(); + SparseArray f = new SparseArray(); + private Object i = new Object(); + private Object j = new Object(); + private tmsdk.common.d.a.c.j k = tmsdk.common.d.a.c.j.a(); + private AtomicInteger l = new AtomicInteger(0); + private s m = null; + private Context n = null; + private a.c.b o = new a.c.b(); + private final long p = -1L; + private long q = 180000L; + private int r = 0; + private AtomicInteger s = new AtomicInteger(0); + private d t; + private d.b.b u; + private d.b.a v = new A(this); + private d.b.a w = new B(this); + private tmsdk.common.d.a.c.n x = new tmsdk.common.d.a.c.n(new C(this)); + private Handler y = new D(this, Looper.getMainLooper()); + private J z = null; + + static + { + if (!z.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + g = bool; + B = new Object(); + C = null; + return; + } + } + + private z() + { + this.m.a(this); + this.m.a(this.q); + this.z = new J(this, this.n); + this.k.a(this); + int i2 = (int)System.currentTimeMillis(); + int i1 = i2; + if (i2 < 0) { + i1 = -i2; + } + this.s.set(i1 / 100); + this.A = new F(this, this.n.getMainLooper()); + if ((!g) && (30000L >= this.q)) { + throw new AssertionError(); + } + } + + private a.e.d a(a.e.c paramc) + { + ArrayList localArrayList = new ArrayList(); + localArrayList.add(paramc); + return this.h.a(localArrayList); + } + + private Pair a(e parame) + { + if (this.t == null) { + return null; + } + if (parame.b > 0) + { + a(parame.b); + new StringBuilder().append("间隔 : ").append(parame.b).toString(); + } + Object localObject; + if ((parame.c != null) && (parame.c.size() > 0)) + { + this.m.a(); + localObject = parame.c.iterator(); + while (((Iterator)localObject).hasNext()) + { + int i1 = ((Integer)((Iterator)localObject).next()).intValue(); + this.m.a(i1); + new StringBuilder().append("端口 : ").append(i1).toString(); + } + new StringBuilder().append("handleSharkConfPush() interval: ").append(parame.b).append(" ports.size(): ").append(parame.c.size()).append(" hash: ").append(parame.a).toString(); + } + for (;;) + { + this.t.a(parame.b); + this.t.a(parame.c); + localObject = new a.a.b(); + ((a.a.b)localObject).a = parame.a; + return new Pair(Integer.valueOf(1), localObject); + new StringBuilder().append("handleSharkConfPush() interval: ").append(parame.b).append(" hash: ").append(parame.a).toString(); + } + } + + private WeakReference a(o paramo, int paramInt1, int paramInt2, int paramInt3, int paramInt4, JceStruct paramJceStruct1, JceStruct paramJceStruct2, d.b.a parama, long paramLong) + { + if (tmsdk.common.c.a.f.a()) + { + parama.a(0, 0, -7, 0, paramJceStruct2); + return null; + } + if (paramo != null) { + this.h = paramo; + } + if (this.h == null) + { + parama.a(0, 0, -9, 0, paramJceStruct2); + return null; + } + if (!q()) { + r(); + } + byte[] arrayOfByte = b.a(this.n, null, paramJceStruct1); + paramJceStruct1 = new a.e.c(); + paramJceStruct1.a = paramInt1; + paramJceStruct1.b = paramo.c().a(); + paramJceStruct1.c = paramInt3; + paramJceStruct1.d = arrayOfByte; + boolean bool = false; + if (paramInt1 == 999) { + bool = true; + } + if (parama != null) { + a(paramInt2, paramJceStruct1.b, paramJceStruct2, parama); + } + paramo = new d.b.d(); + paramo.a(0); + paramJceStruct2 = new j(paramJceStruct1, paramInt2, bool, paramo); + paramJceStruct2.a = paramInt4; + paramJceStruct2.f = paramLong; + this.x.a(paramJceStruct2); + new StringBuilder().append("ClientSashimi seqNO : ").append(paramJceStruct1.b).toString(); + if (paramLong > 0L) + { + paramJceStruct1 = paramJceStruct2.b; + if ((paramJceStruct1 != null) && (paramJceStruct1 != null)) + { + paramInt1 = paramJceStruct1.b; + new StringBuilder().append("对 seqNo : ").append(paramInt1).append(" 的回包计时").toString(); + this.A.sendEmptyMessageDelayed(paramInt1, paramLong); + } + } + this.d.sendEmptyMessage(0); + return new WeakReference(paramo); + } + + public static z a() + { + if (C == null) {} + synchronized (B) + { + if (C == null) { + C = new z(); + } + return C; + } + } + + private void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, byte[] paramArrayOfByte) + { + this.A.removeMessages(paramInt3); + for (;;) + { + synchronized (this.j) + { + a locala = (a)this.f.get(paramInt3); + if (locala == null) { + return; + } + this.f.remove(paramInt3); + if (tmsdk.common.d.a.a.a.filterNetworkCode(paramInt1) == -50000) + { + new StringBuilder().append("这个超时了 refSeqNo : ").append(paramInt3).append(" retCode : ").append(paramInt1).toString(); + paramArrayOfByte = new m(paramInt1, paramInt2, paramInt3, paramInt4, paramArrayOfByte, locala); + switch (d.b.c.a(locala.c)) + { + default: + c.b.a.a.a().b(new H(this, paramArrayOfByte), "tcp run callback on thread"); + return; + } + } + } + new StringBuilder().append("onRecvCallBack : refSeqNo : ").append(paramInt3).append(" retCode : ").append(paramInt1).toString(); + } + ??? = Message.obtain(); + ((Message)???).obj = paramArrayOfByte; + ((Message)???).what = 1; + this.y.sendMessage((Message)???); + return; + a(paramArrayOfByte); + } + + private void a(int paramInt1, int paramInt2, JceStruct arg3, d.b.a parama) + { + parama = new a(paramInt1, parama, ???); + synchronized (this.j) + { + this.f.append(paramInt2, parama); + return; + } + } + + private void a(j paramj, int paramInt) + { + if ((paramj == null) || (paramj.b == null)) { + return; + } + paramj = paramj.b; + new StringBuilder().append("onFail cmd : ").append(paramj.a).toString(); + a(paramInt, 0, paramj.b, paramj.a, null); + } + + private void a(m paramm) + { + if ((paramm.f == null) || (paramm.f.a == null)) { + return; + } + JceStruct localJceStruct2 = b.a(this.n, null, paramm.e, paramm.f.b); + JceStruct localJceStruct1 = localJceStruct2; + if (localJceStruct2 == null) { + localJceStruct1 = paramm.f.b; + } + paramm.f.a.a(paramm.c, paramm.d, paramm.a, paramm.b, localJceStruct1); + } + + private void a(n paramn) + { + if ((paramn == null) || (paramn.f == null) || (paramn.f.a == null)) {} + Object localObject; + do + { + return; + localObject = h.a(paramn.e, paramn.f.b); + localObject = paramn.f.a.a(paramn.a, paramn.d, (JceStruct)localObject); + } while ((localObject == null) || (((Pair)localObject).first == null) || (((Pair)localObject).second == null)); + a.c.a locala = new a.c.a(); + locala.a = ((Integer)((Pair)localObject).first).intValue(); + locala.b = h.a((JceStruct)((Pair)localObject).second); + a(this.h, 655, 32, paramn.b, paramn.c, locala, null, null, -1L); + } + + private void b(int paramInt1, int paramInt2, int paramInt3, int paramInt4, byte[] paramArrayOfByte) + { + for (;;) + { + Object localObject2; + synchronized (this.i) + { + localObject2 = (ArrayList)this.e.get(paramInt4); + if ((localObject2 == null) || (((ArrayList)localObject2).size() <= 0)) { + return; + } + localObject2 = (ArrayList)((ArrayList)localObject2).clone(); + ??? = ((List)localObject2).iterator(); + if (!((Iterator)???).hasNext()) { + break; + } + localObject3 = (i)((Iterator)???).next(); + localObject2 = new n(paramInt3, paramInt4, paramArrayOfByte, paramInt1, paramInt2, (i)localObject3); + switch (d.b.c.a(((i)localObject3).c)) + { + default: + c.b.a.a.a().b(new I(this, (n)localObject2), "tcp run push on thread"); + } + } + Object localObject3 = Message.obtain(); + ((Message)localObject3).obj = localObject2; + ((Message)localObject3).what = 2; + this.y.sendMessage((Message)localObject3); + continue; + a((n)localObject2); + } + } + + private void b(boolean paramBoolean) + { + try + { + this.b = paramBoolean; + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + private void p() + { + this.u = new E(this); + a(0, 10001, new e(), this.u); + } + + private boolean q() + { + return this.b; + } + + private void r() + { + if (q()) { + return; + } + b(true); + this.c = new HandlerThread("sendHandlerThread"); + this.c.start(); + this.d = new G(this, this.c.getLooper()); + } + + private void s() + { + if (!q()) { + return; + } + b(false); + this.c.quit(); + this.c = null; + this.d = null; + } + + d.b.b a(int paramInt, d.b.b paramb) + { + ArrayList localArrayList; + synchronized (this.i) + { + localArrayList = (ArrayList)this.e.get(paramInt); + if ((localArrayList == null) || (localArrayList.size() == 0)) { + return null; + } + if (paramb == null) + { + this.e.remove(paramInt); + paramb = ((i)localArrayList.get(0)).a; + return paramb; + } + } + int i1 = 0; + label78: + if (i1 < localArrayList.size()) { + if (((i)localArrayList.get(i1)).a != paramb) {} + } + for (paramb = ((i)localArrayList.remove(i1)).a;; paramb = null) + { + if (localArrayList.size() <= 0) { + this.e.remove(paramInt); + } + break; + i1 += 1; + break label78; + } + } + + WeakReference a(o paramo, int paramInt1, int paramInt2, JceStruct paramJceStruct1, JceStruct paramJceStruct2, d.b.a parama, long paramLong) + { + return a(paramo, paramInt1, paramInt2, 0, 0, paramJceStruct1, paramJceStruct2, parama, paramLong); + } + + WeakReference a(o paramo, int paramInt, JceStruct paramJceStruct1, JceStruct paramJceStruct2, d.b.a parama, long paramLong) + { + return a(paramo, paramInt, 0, 0, 0, paramJceStruct1, paramJceStruct2, parama, paramLong); + } + + public void a(int paramInt1, int paramInt2, a.e.f paramf) + { + Object localObject = paramf.f; + paramInt2 = paramf.a; + new StringBuilder().append("onRecv cmdId : ").append(paramInt2).append(" seqNo: ").append(paramf.b).toString(); + if (paramInt2 == 10655) + { + localObject = (a.c.b)b.a(this.n, null, (byte[])localObject, this.o); + new StringBuilder().append("onRecvPush ECmd.Cmd_SCPush, push.cmd: ").append(((a.c.b)localObject).a).toString(); + b(paramf.b, paramInt1, paramf.b, ((a.c.b)localObject).a, ((a.c.b)localObject).b); + return; + } + a(paramf.d, paramf.e, paramf.c, paramInt2, (byte[])localObject); + } + + void a(int paramInt1, int paramInt2, JceStruct paramJceStruct, d.b.b paramb) + { + i locali = new i(paramInt1, paramb, paramJceStruct); + synchronized (this.i) + { + paramb = (ArrayList)this.e.get(paramInt2); + paramJceStruct = paramb; + if (paramb == null) + { + paramJceStruct = new ArrayList(); + this.e.append(paramInt2, paramJceStruct); + } + paramJceStruct.add(locali); + return; + } + } + + void a(long paramLong) + { + this.m.a(paramLong); + } + + public void a(d paramd, boolean paramBoolean) + { + if (this.m != null) { + this.m.a(paramBoolean); + } + this.t = paramd; + p(); + if (this.t == null) {} + for (;;) + { + return; + long l1 = this.t.l(); + paramd = this.t.m(); + if (l1 > 0L) + { + a(l1); + new StringBuilder().append("初始化心跳包间隔 : ").append(l1).toString(); + } + if ((paramd != null) && (paramd.size() > 0) && (this.m != null)) + { + this.m.a(); + paramd = paramd.iterator(); + while (paramd.hasNext()) + { + int i1 = ((Integer)paramd.next()).intValue(); + this.m.a(i1); + new StringBuilder().append("初始化端口 : ").append(i1).toString(); + } + } + } + } + + public void a(boolean paramBoolean) + { + if (this.m != null) { + this.m.a(paramBoolean); + } + } + + public void b() + { + try + { + this.m.a(false, this); + this.m.a(true, this); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + void c() + { + try + { + this.m.a(false, this); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + void d() + { + this.l.incrementAndGet(); + } + + void e() + { + if (this.l.decrementAndGet() <= 0) + { + this.l.set(0); + f(); + } + } + + void f() + { + h(); + this.k.b(this.n); + c(); + s(); + this.x.b(); + this.m.b(); + this.l.set(0); + } + + boolean g() + { + if (this.l.get() <= 0) { + return false; + } + h(); + if (!this.m.d()) + { + this.z.sendEmptyMessageDelayed(0, 10000L); + return false; + } + a(this.h, 998, null, null, this.w, 10000L); + return true; + } + + void h() + { + if (this.z != null) { + this.z.removeMessages(0); + } + } + + void i() + { + a(this.h, 999, null, null, this.v, 30000L); + } + + public void j() + { + i(); + } + + void k() + { + this.r = 0; + } + + int l() + { + int i1 = this.r + 1; + this.r = i1; + return i1; + } + + int m() + { + return 20; + } + + void n() + { + this.r = 0; + } + + public void o() + { + g(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.b.z + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/a.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/a.java new file mode 100755 index 00000000000..6d4e2f129d2 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/a.java @@ -0,0 +1,30 @@ +package tmsdk.common.d.a.c; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; + +public class a +{ + public static PendingIntent a(Context paramContext, String paramString, long paramLong) + { + new StringBuilder().append("添加闹钟 : ").append(paramLong / 1000L).append("s").toString(); + paramString = PendingIntent.getBroadcast(paramContext, 0, new Intent(paramString), 0); + ((AlarmManager)paramContext.getSystemService("alarm")).set(0, System.currentTimeMillis() + paramLong, paramString); + return paramString; + } + + public static void a(Context paramContext, String paramString) + { + new StringBuilder().append("删除闹钟 : ").append(paramString).toString(); + paramString = PendingIntent.getBroadcast(paramContext, 0, new Intent(paramString), 0); + ((AlarmManager)paramContext.getSystemService("alarm")).cancel(paramString); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/b.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/b.java new file mode 100755 index 00000000000..a8e702c553e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/b.java @@ -0,0 +1,97 @@ +package tmsdk.common.d.a.c; + +import android.content.Context; +import android.content.IntentFilter; +import android.os.Handler; + +public class b +{ + private boolean a = false; + private c b = null; + private Context c = null; + private Handler d = null; + private long e = 180000L; + private long f = 10000L; + private d g = null; + + public b(Context paramContext, d paramd) + { + this.c = paramContext; + this.b = new c(this); + if (this.c == null) { + return; + } + this.g = paramd; + this.d = new f(this); + } + + Context a() + { + return this.c; + } + + public void a(long paramLong) + { + long l = paramLong; + if (paramLong < this.f) { + l = this.f; + } + this.e = l; + } + + public void b() + { + try + { + d(); + if (!this.a) + { + this.c.registerReceiver(this.b, new IntentFilter("com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE")); + this.a = true; + } + a.a(this.c, "com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE", f()); + return; + } + finally {} + } + + public void c() + { + a.a(this.c, "com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE"); + a.a(this.c, "com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE", f()); + } + + public void d() + { + try + { + if (this.a) + { + this.c.unregisterReceiver(this.b); + this.a = false; + } + a.a(this.c, "com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE"); + this.d.removeMessages(0); + return; + } + finally {} + } + + void e() + { + if (this.g != null) { + this.g.j(); + } + } + + public long f() + { + return this.e; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/c.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/c.java new file mode 100755 index 00000000000..9b67dfe1068 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/c.java @@ -0,0 +1,28 @@ +package tmsdk.common.d.a.c; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Handler; + +class c + extends BroadcastReceiver +{ + c(b paramb) {} + + public void onReceive(Context paramContext, Intent paramIntent) + { + paramContext = paramIntent.getAction(); + if (paramContext == null) {} + while (!paramContext.equals("com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE")) { + return; + } + b.a(this.a).sendEmptyMessage(0); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/d.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/d.java new file mode 100755 index 00000000000..a91a0041594 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/d.java @@ -0,0 +1,12 @@ +package tmsdk.common.d.a.c; + +public abstract interface d +{ + public abstract void j(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/e.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/e.java new file mode 100755 index 00000000000..12d9a14071f --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/e.java @@ -0,0 +1,12 @@ +package tmsdk.common.d.a.c; + +public abstract interface e +{ + public abstract i a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/f.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/f.java new file mode 100755 index 00000000000..080b461b7ab --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/f.java @@ -0,0 +1,35 @@ +package tmsdk.common.d.a.c; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import java.lang.ref.WeakReference; + +class f + extends Handler +{ + private WeakReference a = null; + + public f(b paramb) + { + super(paramb.a().getMainLooper()); + this.a = new WeakReference(paramb); + } + + public void handleMessage(Message paramMessage) + { + super.handleMessage(paramMessage); + paramMessage = (b)this.a.get(); + if (paramMessage == null) { + return; + } + paramMessage.e(); + a.a(paramMessage.a(), "com.tencent.tmsdk.HeartBeatPlot.ACTION_HEARTBEAT_PLOT_ALARM_CYCLE", paramMessage.f()); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/g.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/g.java new file mode 100755 index 00000000000..4b3bbb09e14 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/g.java @@ -0,0 +1,9 @@ +package tmsdk.common.d.a.c; + +public abstract class g {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/h.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/h.java new file mode 100755 index 00000000000..48ade408aa7 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/h.java @@ -0,0 +1,9 @@ +package tmsdk.common.d.a.c; + +public abstract interface h {} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/i.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/i.java new file mode 100755 index 00000000000..ded92298769 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/i.java @@ -0,0 +1,62 @@ +package tmsdk.common.d.a.c; + +public class i +{ + private int a; + private int b; + private String c; + + public i() {} + + public i(String paramString, int paramInt1, int paramInt2) + { + this.a = paramInt2; + this.c = paramString; + this.b = paramInt1; + } + + public int a() + { + return this.b; + } + + public String b() + { + return this.c; + } + + protected Object clone() + { + return new i(this.c, this.b, this.a); + } + + public boolean equals(Object paramObject) + { + if (paramObject == null) {} + do + { + return false; + paramObject = (i)paramObject; + } while ((!paramObject.c.equals(this.c)) || (paramObject.b != this.b)); + return true; + } + + public int hashCode() + { + return super.hashCode(); + } + + public String toString() + { + if (this.b >= 0) { + return this.c + ":" + this.b; + } + return this.c; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/j.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/j.java new file mode 100755 index 00000000000..22b9e303fff --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/j.java @@ -0,0 +1,106 @@ +package tmsdk.common.d.a.c; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.NetworkInfo; +import android.net.NetworkInfo.State; +import android.os.Bundle; +import c.b.a.a; +import c.b.a.b; +import java.util.LinkedList; + +public class j + extends BroadcastReceiver +{ + private static j d = new j(); + private boolean a; + private NetworkInfo.State b = NetworkInfo.State.UNKNOWN; + private LinkedList c = new LinkedList(); + + public static j a() + { + return d; + } + + public void a(Context paramContext) + { + try + { + if (!this.a) + { + this.a = true; + IntentFilter localIntentFilter = new IntentFilter(); + localIntentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); + localIntentFilter.setPriority(2147483647); + paramContext.registerReceiver(this, localIntentFilter); + } + return; + } + finally + { + paramContext = finally; + throw paramContext; + } + } + + public void a(m paramm) + { + synchronized (this.c) + { + new StringBuilder().append("添加网络监听 : ").append(paramm.getClass().getName()).toString(); + this.c.add(paramm); + return; + } + } + + public void b(Context paramContext) + { + try + { + if (this.a) + { + paramContext.unregisterReceiver(this); + this.a = false; + } + return; + } + finally + { + paramContext = finally; + throw paramContext; + } + } + + public void onReceive(Context paramContext, Intent paramIntent) + { + paramContext = paramIntent.getAction(); + paramIntent = paramIntent.getExtras(); + if ("android.net.conn.CONNECTIVITY_CHANGE".equals(paramContext)) + { + paramContext = ((NetworkInfo)paramIntent.getParcelable("networkInfo")).getState(); + if (paramContext != NetworkInfo.State.CONNECTED) { + break label74; + } + if (this.b.compareTo(NetworkInfo.State.DISCONNECTED) == 0) { + a.a().a(new k(this), "无网络 -> 有网络"); + } + this.b = paramContext; + } + label74: + while (paramContext != NetworkInfo.State.DISCONNECTED) { + return; + } + if (this.b.compareTo(NetworkInfo.State.CONNECTED) == 0) { + a.a().a(new l(this), "有网络 -> 无网络"); + } + this.b = paramContext; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/k.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/k.java new file mode 100755 index 00000000000..1002b02f4a0 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/k.java @@ -0,0 +1,43 @@ +package tmsdk.common.d.a.c; + +import java.util.Iterator; +import java.util.LinkedList; + +class k + implements Runnable +{ + k(j paramj) {} + + public void run() + { + for (;;) + { + boolean bool; + synchronized (j.a(this.a)) + { + LinkedList localLinkedList = (LinkedList)j.a(this.a).clone(); + ??? = new StringBuilder().append("copy != null ? "); + if (localLinkedList != null) + { + bool = true; + ((StringBuilder)???).append(bool).toString(); + if (localLinkedList == null) { + break; + } + new StringBuilder().append("copy.size() : ").append(localLinkedList.size()).toString(); + ??? = localLinkedList.iterator(); + if (!((Iterator)???).hasNext()) { + break; + } + ((m)((Iterator)???).next()).o(); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/l.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/l.java new file mode 100755 index 00000000000..5e6dff505b1 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/l.java @@ -0,0 +1,31 @@ +package tmsdk.common.d.a.c; + +import java.util.Iterator; +import java.util.LinkedList; + +class l + implements Runnable +{ + l(j paramj) {} + + public void run() + { + synchronized (j.a(this.a)) + { + LinkedList localLinkedList = (LinkedList)j.a(this.a).clone(); + if (localLinkedList != null) + { + ??? = localLinkedList.iterator(); + if (((Iterator)???).hasNext()) { + ((Iterator)???).next(); + } + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/m.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/m.java new file mode 100755 index 00000000000..e379e2bd1ae --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/m.java @@ -0,0 +1,12 @@ +package tmsdk.common.d.a.c; + +public abstract interface m +{ + public abstract void o(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.m + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/n.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/n.java new file mode 100755 index 00000000000..39cd00f72ce --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/n.java @@ -0,0 +1,129 @@ +package tmsdk.common.d.a.c; + +import java.util.Comparator; +import java.util.LinkedList; +import java.util.TreeMap; + +public class n +{ + private TreeMap a = null; + + public n(Comparator paramComparator) + { + this.a = new TreeMap(paramComparator); + } + + private LinkedList d() + { + return new LinkedList(); + } + + public void a(Object paramObject) + { + try + { + LinkedList localLinkedList2 = (LinkedList)this.a.get(paramObject); + LinkedList localLinkedList1 = localLinkedList2; + if (localLinkedList2 == null) + { + localLinkedList1 = d(); + this.a.put(paramObject, localLinkedList1); + } + localLinkedList1.addLast(paramObject); + return; + } + finally {} + } + + public boolean a() + { + try + { + boolean bool = this.a.isEmpty(); + return bool; + } + finally + { + localObject = finally; + throw localObject; + } + } + + public void b() + { + try + { + this.a.clear(); + return; + } + finally + { + localObject = finally; + throw localObject; + } + } + + /* Error */ + public Object c() + { + // Byte code: + // 0: aload_0 + // 1: monitorenter + // 2: aload_0 + // 3: invokevirtual 49 tmsdk/common/d/a/c/n:a ()Z + // 6: istore_1 + // 7: iload_1 + // 8: ifeq +9 -> 17 + // 11: aconst_null + // 12: astore_2 + // 13: aload_0 + // 14: monitorexit + // 15: aload_2 + // 16: areturn + // 17: aload_0 + // 18: getfield 13 tmsdk/common/d/a/c/n:a Ljava/util/TreeMap; + // 21: invokevirtual 52 java/util/TreeMap:firstKey ()Ljava/lang/Object; + // 24: astore_3 + // 25: aload_0 + // 26: getfield 13 tmsdk/common/d/a/c/n:a Ljava/util/TreeMap; + // 29: aload_3 + // 30: invokevirtual 28 java/util/TreeMap:get (Ljava/lang/Object;)Ljava/lang/Object; + // 33: checkcast 22 java/util/LinkedList + // 36: astore 4 + // 38: aload 4 + // 40: invokevirtual 55 java/util/LinkedList:poll ()Ljava/lang/Object; + // 43: astore_2 + // 44: aload 4 + // 46: invokevirtual 59 java/util/LinkedList:size ()I + // 49: ifgt +12 -> 61 + // 52: aload_0 + // 53: getfield 13 tmsdk/common/d/a/c/n:a Ljava/util/TreeMap; + // 56: aload_3 + // 57: invokevirtual 62 java/util/TreeMap:remove (Ljava/lang/Object;)Ljava/lang/Object; + // 60: pop + // 61: goto -48 -> 13 + // 64: astore_2 + // 65: aload_0 + // 66: monitorexit + // 67: aload_2 + // 68: athrow + // Local variable table: + // start length slot name signature + // 0 69 0 this n + // 6 2 1 bool boolean + // 12 32 2 localObject1 Object + // 64 4 2 localObject2 Object + // 24 33 3 localObject3 Object + // 36 9 4 localLinkedList LinkedList + // Exception table: + // from to target type + // 2 7 64 finally + // 17 61 64 finally + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.n + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/o.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/o.java new file mode 100755 index 00000000000..0f71e5403de --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/o.java @@ -0,0 +1,708 @@ +package tmsdk.common.d.a.c; + +import android.content.Context; +import android.net.NetworkInfo; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.EOFException; +import java.io.InputStream; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; + +public class o +{ + protected e a; + private byte c = 0; + private boolean d = true; + private Context e; + private boolean f = true; + private Thread g; + private Socket h; + private DataOutputStream i; + private DataInputStream j; + private i k; + private q l; + + static + { + if (!o.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + b = bool; + return; + } + } + + public o() + { + this((byte)0, false); + } + + public o(byte paramByte, boolean paramBoolean) + { + this.c = paramByte; + this.d = paramBoolean; + } + + private void a(int paramInt, byte[] paramArrayOfByte) + { + if (this.l != null) {} + try + { + this.l.a(paramInt, paramArrayOfByte); + return; + } + catch (Throwable paramArrayOfByte) + { + new StringBuilder().append("recv() handleData() Throwable ").append(paramArrayOfByte.toString()).toString(); + paramArrayOfByte = this.l; + } + } + + /* Error */ + private boolean a(Context paramContext, e parame, boolean paramBoolean) + { + // Byte code: + // 0: iconst_1 + // 1: istore 5 + // 3: aload_0 + // 4: monitorenter + // 5: new 60 java/lang/StringBuilder + // 8: dup + // 9: invokespecial 61 java/lang/StringBuilder: ()V + // 12: ldc 78 + // 14: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 17: iload_3 + // 18: invokevirtual 81 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 21: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 24: pop + // 25: aload_0 + // 26: invokevirtual 83 tmsdk/common/d/a/c/o:a ()Z + // 29: ifeq +35 -> 64 + // 32: new 60 java/lang/StringBuilder + // 35: dup + // 36: invokespecial 61 java/lang/StringBuilder: ()V + // 39: ldc 85 + // 41: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 44: aload_0 + // 45: invokevirtual 83 tmsdk/common/d/a/c/o:a ()Z + // 48: invokevirtual 81 java/lang/StringBuilder:append (Z)Ljava/lang/StringBuilder; + // 51: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 54: pop + // 55: iload 5 + // 57: istore 4 + // 59: aload_0 + // 60: monitorexit + // 61: iload 4 + // 63: ireturn + // 64: aload_2 + // 65: ifnonnull +9 -> 74 + // 68: iconst_0 + // 69: istore 4 + // 71: goto -12 -> 59 + // 74: aload_0 + // 75: aload_1 + // 76: putfield 87 tmsdk/common/d/a/c/o:e Landroid/content/Context; + // 79: aload_0 + // 80: invokespecial 89 tmsdk/common/d/a/c/o:j ()Z + // 83: ifne +9 -> 92 + // 86: iconst_0 + // 87: istore 4 + // 89: goto -30 -> 59 + // 92: aload_0 + // 93: aload_2 + // 94: putfield 91 tmsdk/common/d/a/c/o:a Ltmsdk/common/d/a/c/e; + // 97: aload_0 + // 98: getfield 54 tmsdk/common/d/a/c/o:l Ltmsdk/common/d/a/c/q; + // 101: ifnull +8 -> 109 + // 104: aload_0 + // 105: getfield 54 tmsdk/common/d/a/c/o:l Ltmsdk/common/d/a/c/q; + // 108: astore_1 + // 109: aload_0 + // 110: aload_0 + // 111: getfield 91 tmsdk/common/d/a/c/o:a Ltmsdk/common/d/a/c/e; + // 114: invokespecial 94 tmsdk/common/d/a/c/o:b (Ltmsdk/common/d/a/c/e;)Z + // 117: ifne +9 -> 126 + // 120: iconst_0 + // 121: istore 4 + // 123: goto -64 -> 59 + // 126: aload_0 + // 127: iconst_0 + // 128: putfield 49 tmsdk/common/d/a/c/o:f Z + // 131: aload_0 + // 132: getfield 45 tmsdk/common/d/a/c/o:c B + // 135: ifne +7 -> 142 + // 138: aload_0 + // 139: invokespecial 96 tmsdk/common/d/a/c/o:f ()V + // 142: iload 5 + // 144: istore 4 + // 146: aload_0 + // 147: getfield 54 tmsdk/common/d/a/c/o:l Ltmsdk/common/d/a/c/q; + // 150: ifnull -91 -> 59 + // 153: iload_3 + // 154: ifeq +15 -> 169 + // 157: aload_0 + // 158: getfield 54 tmsdk/common/d/a/c/o:l Ltmsdk/common/d/a/c/q; + // 161: astore_1 + // 162: iload 5 + // 164: istore 4 + // 166: goto -107 -> 59 + // 169: aload_0 + // 170: getfield 54 tmsdk/common/d/a/c/o:l Ltmsdk/common/d/a/c/q; + // 173: astore_1 + // 174: iload 5 + // 176: istore 4 + // 178: goto -119 -> 59 + // 181: astore_1 + // 182: aload_0 + // 183: monitorexit + // 184: aload_1 + // 185: athrow + // Local variable table: + // start length slot name signature + // 0 186 0 this o + // 0 186 1 paramContext Context + // 0 186 2 parame e + // 0 186 3 paramBoolean boolean + // 57 120 4 bool1 boolean + // 1 174 5 bool2 boolean + // Exception table: + // from to target type + // 5 55 181 finally + // 74 86 181 finally + // 92 109 181 finally + // 109 120 181 finally + // 126 142 181 finally + // 146 153 181 finally + // 157 162 181 finally + // 169 174 181 finally + } + + private boolean a(i parami) + { + if (!i()) { + h(); + } + this.k = parami; + this.h = a(InetAddress.getByName(parami.b()), parami.a()); + if (this.h == null) { + return false; + } + switch (this.c) + { + } + for (;;) + { + return c(); + this.i = new DataOutputStream(this.h.getOutputStream()); + this.j = new DataInputStream(this.h.getInputStream()); + continue; + this.h.setSoTimeout(60000); + } + } + + private boolean a(boolean paramBoolean1, boolean paramBoolean2) + { + boolean bool1 = true; + for (;;) + { + try + { + new StringBuilder().append("stop() bySvr ").append(paramBoolean1).append(" isRestart ").append(paramBoolean2).toString(); + boolean bool2 = h(); + if (!bool2) + { + paramBoolean1 = false; + return paramBoolean1; + } + this.f = true; + if (this.l != null) + { + if (paramBoolean1) { + q localq1 = this.l; + } + } + else + { + new StringBuilder().append("stop() bySvr ").append(paramBoolean1).append(" isRestart ").append(paramBoolean2).append(" stop() done").toString(); + paramBoolean1 = bool1; + continue; + } + if (!paramBoolean2) { + break label131; + } + } + finally {} + q localq2 = this.l; + continue; + label131: + localq2 = this.l; + } + } + + public static byte[] a(InputStream paramInputStream, int paramInt1, int paramInt2, h paramh) + { + byte[] arrayOfByte = new byte[paramInt2]; + int n = 0; + int m = paramInt2; + for (;;) + { + int i1; + if ((n < paramInt2) && (m > 0)) + { + i1 = paramInputStream.read(arrayOfByte, paramInt1, m); + if (i1 >= 0) { + break label55; + } + if (paramh == null) {} + } + paramInputStream = arrayOfByte; + if (n != paramInt2) { + paramInputStream = null; + } + return paramInputStream; + label55: + n += i1; + paramInt1 += i1; + m -= i1; + } + } + + private int b(byte[] paramArrayOfByte) + { + if ((!b) && (this.c != 0)) { + throw new AssertionError(); + } + if ((!b) && (this.i == null)) { + throw new AssertionError("mSocketWriter is null"); + } + try + { + synchronized (this.h) + { + if (!c()) { + return -180000; + } + ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); + DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream); + localDataOutputStream.writeInt(paramArrayOfByte.length); + localDataOutputStream.write(paramArrayOfByte); + paramArrayOfByte = localByteArrayOutputStream.toByteArray(); + new StringBuilder().append("sendDataInAsync() realSendData.lenght ").append(paramArrayOfByte.length).toString(); + this.i.write(paramArrayOfByte); + return 0; + } + return -150000; + } + catch (SocketException paramArrayOfByte) + { + new StringBuilder().append("sendDataInAsync() has a Throwable when sendDataInAsync() e ").append(paramArrayOfByte.toString()).toString(); + return -120000; + } + catch (Throwable paramArrayOfByte) + { + new StringBuilder().append("sendDataInAsync() has a Throwable when sendDataInAsync() t ").append(paramArrayOfByte.toString()).toString(); + } + } + + private boolean b(e parame) + { + int m = 0; + label26: + boolean bool2; + for (boolean bool1 = false;; bool1 = bool2) + { + i locali; + if (m < 3) + { + locali = parame.a(); + if (locali != null) { + break label26; + } + bool1 = false; + } + do + { + return bool1; + new StringBuilder().append("checkSocketWithRetry() before checkSocket(ipPoint) ipPoint ").append(locali.toString()).append(" localIp ").append(d()).append(" localPort ").append(e()).toString(); + bool2 = b(locali); + new StringBuilder().append("checkSocketWithRetry() after checkSocket(ipPoint) ipPoint ").append(locali.toString()).append(" localIp ").append(d()).append(" localPort ").append(e()).append(" ret ").append(bool2).toString(); + bool1 = bool2; + } while (bool2); + m += 1; + } + } + + private boolean b(i parami) + { + if (parami == null) {} + do + { + for (;;) + { + return false; + if (c()) { + return true; + } + try + { + boolean bool = a(parami); + return bool; + } + catch (UnknownHostException parami) + { + new StringBuilder().append("checkSocket() UnknownHostException ").append(parami.toString()).toString(); + if (this.l != null) + { + parami = this.l; + return false; + } + } + catch (SocketTimeoutException parami) + { + new StringBuilder().append("checkSocket() SocketTimeoutException ").append(parami.toString()).toString(); + if (this.l != null) + { + parami = this.l; + return false; + } + } + catch (Throwable parami) + { + new StringBuilder().append("checkSocket() Throwable ").append(parami.toString()).toString(); + } + } + } while (this.l == null); + parami = this.l; + return false; + } + + private int c(byte[] paramArrayOfByte) + { + if ((!b) && (1 != this.c)) { + throw new AssertionError(); + } + try + { + this.i.writeInt(paramArrayOfByte.length); + this.i.write(paramArrayOfByte); + return 0; + } + catch (Throwable paramArrayOfByte) + { + new StringBuilder().append("sendDataInSync() has a Throwable when sendDataInsync() ").append(paramArrayOfByte.toString()).toString(); + } + return -150000; + } + + private void f() + { + this.g = new p(this, "RcvThread"); + this.g.setPriority(10); + this.g.start(); + } + + private void g() + { + if (!this.f) {} + for (;;) + { + try + { + if (!this.d) { + break label248; + } + m = this.j.readInt(); + n = this.j.readInt(); + if ((!b) && (n < 0)) { + throw new AssertionError("recv() size < 4"); + } + } + catch (SocketException localSocketException) + { + new StringBuilder().append("recv() SocketException ").append(localSocketException.toString()).toString(); + a(true, false); + if (this.l == null) { + break; + } + q localq1 = this.l; + break; + if (n >= 1000000) { + return; + } + if ((!b) && (this.j == null)) { + throw new AssertionError("null != mSocketReader"); + } + } + catch (EOFException localEOFException) + { + int n; + new StringBuilder().append("recv() EOFException ").append(localEOFException.toString()).toString(); + a(true, false); + if (this.l == null) { + break; + } + q localq2 = this.l; + break; + a(m, a(this.j, 0, n, null)); + } + catch (Throwable localThrowable) + { + new StringBuilder().append("recv() Throwable ").append(localThrowable.toString()).toString(); + a(true, false); + } + if (this.l == null) { + break; + } + q localq3 = this.l; + break; + b(); + return; + label248: + int m = 0; + } + } + + /* Error */ + private boolean h() + { + // Byte code: + // 0: aload_0 + // 1: invokespecial 99 tmsdk/common/d/a/c/o:i ()Z + // 4: ifeq +5 -> 9 + // 7: iconst_1 + // 8: ireturn + // 9: aload_0 + // 10: getfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 13: invokevirtual 292 java/net/Socket:isInputShutdown ()Z + // 16: ifne +10 -> 26 + // 19: aload_0 + // 20: getfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 23: invokevirtual 295 java/net/Socket:shutdownInput ()V + // 26: aload_0 + // 27: getfield 147 tmsdk/common/d/a/c/o:j Ljava/io/DataInputStream; + // 30: invokevirtual 298 java/io/DataInputStream:close ()V + // 33: aload_0 + // 34: getfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 37: invokevirtual 301 java/net/Socket:isOutputShutdown ()Z + // 40: ifne +10 -> 50 + // 43: aload_0 + // 44: getfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 47: invokevirtual 304 java/net/Socket:shutdownOutput ()V + // 50: aload_0 + // 51: getfield 136 tmsdk/common/d/a/c/o:i Ljava/io/DataOutputStream; + // 54: invokevirtual 305 java/io/DataOutputStream:close ()V + // 57: aload_0 + // 58: getfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 61: invokevirtual 306 java/net/Socket:close ()V + // 64: aload_0 + // 65: aconst_null + // 66: putfield 121 tmsdk/common/d/a/c/o:h Ljava/net/Socket; + // 69: ldc2_w 307 + // 72: invokestatic 312 java/lang/Thread:sleep (J)V + // 75: iconst_1 + // 76: ireturn + // 77: astore_1 + // 78: aload_1 + // 79: invokevirtual 315 java/lang/InterruptedException:printStackTrace ()V + // 82: new 60 java/lang/StringBuilder + // 85: dup + // 86: invokespecial 61 java/lang/StringBuilder: ()V + // 89: ldc_w 317 + // 92: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 95: aload_1 + // 96: invokevirtual 320 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 99: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 102: pop + // 103: iconst_1 + // 104: ireturn + // 105: astore_1 + // 106: new 60 java/lang/StringBuilder + // 109: dup + // 110: invokespecial 61 java/lang/StringBuilder: ()V + // 113: ldc_w 322 + // 116: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 119: aload_1 + // 120: invokevirtual 320 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 123: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 126: pop + // 127: goto -101 -> 26 + // 130: astore_1 + // 131: new 60 java/lang/StringBuilder + // 134: dup + // 135: invokespecial 61 java/lang/StringBuilder: ()V + // 138: ldc_w 324 + // 141: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 144: aload_1 + // 145: invokevirtual 320 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 148: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 151: pop + // 152: goto -102 -> 50 + // 155: astore_1 + // 156: new 60 java/lang/StringBuilder + // 159: dup + // 160: invokespecial 61 java/lang/StringBuilder: ()V + // 163: ldc_w 326 + // 166: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 169: aload_1 + // 170: invokevirtual 320 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 173: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 176: pop + // 177: goto -120 -> 57 + // 180: astore_1 + // 181: new 60 java/lang/StringBuilder + // 184: dup + // 185: invokespecial 61 java/lang/StringBuilder: ()V + // 188: ldc_w 328 + // 191: invokevirtual 67 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; + // 194: aload_1 + // 195: invokevirtual 320 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder; + // 198: invokevirtual 72 java/lang/StringBuilder:toString ()Ljava/lang/String; + // 201: pop + // 202: iconst_0 + // 203: ireturn + // 204: astore_1 + // 205: goto -172 -> 33 + // Local variable table: + // start length slot name signature + // 0 208 0 this o + // 77 19 1 localInterruptedException java.lang.InterruptedException + // 105 15 1 localException1 java.lang.Exception + // 130 15 1 localException2 java.lang.Exception + // 155 15 1 localException3 java.lang.Exception + // 180 15 1 localIOException java.io.IOException + // 204 1 1 localException4 java.lang.Exception + // Exception table: + // from to target type + // 57 75 77 java/lang/InterruptedException + // 19 26 105 java/lang/Exception + // 43 50 130 java/lang/Exception + // 50 57 155 java/lang/Exception + // 57 75 180 java/io/IOException + // 26 33 204 java/lang/Exception + } + + private boolean i() + { + if (this.h == null) {} + while ((this.h != null) && (this.h.isClosed())) { + return true; + } + return false; + } + + private boolean j() + { + NetworkInfo localNetworkInfo = k(); + if (localNetworkInfo == null) { + return false; + } + return localNetworkInfo.isConnected(); + } + + private NetworkInfo k() + { + try + { + NetworkInfo localNetworkInfo = tmsdk.common.b.a().a(); + return localNetworkInfo; + } + catch (NullPointerException localNullPointerException) + { + new StringBuilder().append(" getActiveNetworkInfo NullPointerException--- \n").append(localNullPointerException.getMessage()).toString(); + } + return null; + } + + public int a(byte[] paramArrayOfByte) + { + if (i()) { + return -190000; + } + if (!c()) { + return -180000; + } + switch (this.c) + { + default: + return -200000; + case 0: + return b(paramArrayOfByte); + } + return c(paramArrayOfByte); + } + + public Socket a(InetAddress paramInetAddress, int paramInt) + { + new StringBuilder().append("acquireSocketWithTimeOut, addr: ").append(paramInetAddress).append(", port: ").append(paramInt).toString(); + Socket localSocket = new Socket(); + localSocket.setSoLinger(false, 0); + localSocket.connect(new InetSocketAddress(paramInetAddress, paramInt), 60000); + return localSocket; + } + + public void a(q paramq) + { + this.l = paramq; + } + + public boolean a() + { + return !this.f; + } + + public boolean a(Context paramContext, e parame) + { + return a(paramContext, parame, false); + } + + protected boolean a(e parame) + { + if (!a(false, true)) { + return false; + } + Context localContext = this.e; + return a(this.e, parame, true); + } + + public boolean b() + { + return a(false, false); + } + + protected boolean c() + { + if (this.h == null) {} + while ((i()) || (!this.h.isConnected())) { + return false; + } + return true; + } + + public String d() + { + if (this.h == null) { + return "null"; + } + return this.h.getLocalAddress().toString(); + } + + public int e() + { + if (this.h == null) { + return 0; + } + return this.h.getLocalPort(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.o + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/p.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/p.java new file mode 100755 index 00000000000..3929a30a4f6 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/p.java @@ -0,0 +1,21 @@ +package tmsdk.common.d.a.c; + +class p + extends Thread +{ + p(o paramo, String paramString) + { + super(paramString); + } + + public void run() + { + o.a(this.a); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.p + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/q.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/q.java new file mode 100755 index 00000000000..21913ac3d38 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/q.java @@ -0,0 +1,12 @@ +package tmsdk.common.d.a.c; + +public abstract interface q +{ + public abstract void a(int paramInt, byte[] paramArrayOfByte); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.q + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/r.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/r.java new file mode 100755 index 00000000000..1526c9cf7aa --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/r.java @@ -0,0 +1,84 @@ +package tmsdk.common.d.a.c; + +import java.util.ArrayList; + +public class r + implements e +{ + private ArrayList a = new ArrayList(); + private int b = 0; + private boolean c = false; + + public r() + { + this.c = false; + this.a.add(new i("mazu.3g.qq.com", 443, 100)); + this.a.add(new i("mazu.3g.qq.com", 14000, 100)); + this.a.add(new i("mazu.3g.qq.com", 8080, 100)); + this.b = d(); + } + + public r(boolean paramBoolean) + { + this.c = paramBoolean; + if (paramBoolean) { + this.a.add(new i("mazutest.3g.qq.com", 8080, 100)); + } + for (;;) + { + this.b = d(); + return; + this.a.add(new i("mazu.3g.qq.com", 14000, 100)); + this.a.add(new i("mazu.3g.qq.com", 443, 100)); + this.a.add(new i("mazu.3g.qq.com", 8080, 100)); + } + } + + private int d() + { + return 0; + } + + private int e() + { + return (this.b + 1) % this.a.size(); + } + + public i a() + { + if ((this.b < 0) || (this.b >= this.a.size())) { + return (i)this.a.get(0); + } + new StringBuilder().append("ip ").append(((i)this.a.get(this.b)).b()).append(" port : ").append(((i)this.a.get(this.b)).a()).toString(); + return (i)this.a.get(this.b); + } + + public void a(int paramInt) + { + if (paramInt <= 0) { + return; + } + if (this.c) + { + this.a.add(new i("mazutest.3g.qq.com", paramInt, 100)); + return; + } + this.a.add(new i("mazu.3g.qq.com", paramInt, 100)); + } + + public void b() + { + this.a.clear(); + } + + public void c() + { + this.b = e(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.r + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/s.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/s.java new file mode 100755 index 00000000000..1677a12482b --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/s.java @@ -0,0 +1,162 @@ +package tmsdk.common.d.a.c; + +import android.content.Context; +import com.qq.taf.jce.JceStruct; +import tmsdk.common.c.a.f; +import tmsdk.common.d.a.b.h; + +public class s +{ + public static String a = "TmsTcpNetwork"; + d b = null; + private o c = new o(); + private Context d = null; + private r e = null; + private long f = 180000L; + private boolean g = false; + private b h = null; + + public s(Context paramContext) + { + this.d = paramContext; + } + + private int b(JceStruct paramJceStruct) + { + paramJceStruct = h.a(paramJceStruct); + return this.c.a(paramJceStruct); + } + + public int a(JceStruct paramJceStruct) + { + return a(paramJceStruct, 3); + } + + public int a(JceStruct paramJceStruct, int paramInt) + { + int i = paramInt; + if (paramInt < 1) { + i = 1; + } + int j = 0; + paramInt = 0; + for (;;) + { + if (j < i) + { + paramInt = b(paramJceStruct); + if (paramInt == 0) { + paramInt = 0; + } + } + else + { + return paramInt; + } + j += 1; + } + } + + public void a() + { + this.e.b(); + } + + public void a(int paramInt) + { + this.e.a(paramInt); + } + + public void a(long paramLong) + { + if (this.f == paramLong) {} + while (this.h == null) { + return; + } + this.h.a(paramLong); + } + + public void a(t paramt) + { + this.c.a(paramt); + } + + public void a(boolean paramBoolean) + { + this.e = new r(paramBoolean); + } + + public void a(boolean paramBoolean, d paramd) + { + this.g = paramBoolean; + this.b = paramd; + if (this.g) + { + this.h = new b(this.d, paramd); + this.h.a(this.f); + this.h.b(); + return; + } + if (this.h != null) { + this.h.d(); + } + this.h = null; + } + + public void b() + { + this.c.b(); + if ((e()) && (this.h != null)) { + this.h.d(); + } + } + + public boolean c() + { + String str = a; + if (f.a()) + { + str = a; + return false; + } + return this.c.a(this.d, this.e); + } + + public boolean d() + { + if (f.a()) + { + String str = a; + return false; + } + b(); + this.e.c(); + boolean bool = this.c.a(this.e); + a(this.g, this.b); + return bool; + } + + public boolean e() + { + return this.g; + } + + public boolean f() + { + return this.c.c(); + } + + public void g() + { + if (!e()) { + return; + } + this.h.c(); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.s + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/a/c/t.java b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/t.java new file mode 100755 index 00000000000..e13e707e398 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/a/c/t.java @@ -0,0 +1,47 @@ +package tmsdk.common.d.a.c; + +import a.e.f; +import a.e.g; +import java.util.ArrayList; +import java.util.Iterator; +import tmsdk.common.d.a.b.h; +import tmsdk.common.d.a.b.o; + +public class t + implements q +{ + protected o h = null; + + private ArrayList a(g paramg) + { + if (this.h == null) { + return null; + } + return this.h.a(paramg); + } + + public void a(int paramInt1, int paramInt2, f paramf) {} + + public void a(int paramInt, byte[] paramArrayOfByte) + { + paramArrayOfByte = h.a(paramArrayOfByte); + Object localObject = a(paramArrayOfByte); + if (localObject == null) {} + for (;;) + { + return; + localObject = ((ArrayList)localObject).iterator(); + while (((Iterator)localObject).hasNext()) + { + f localf = (f)((Iterator)localObject).next(); + a(paramArrayOfByte.a, paramArrayOfByte.b, localf); + } + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.a.c.t + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/b/a.java b/com.tencent.token/classes.jar/tmsdk/common/d/b/a.java new file mode 100755 index 00000000000..a2375c871fd --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/b/a.java @@ -0,0 +1,30 @@ +package tmsdk.common.d.b; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +public class a + extends tmsdk.common.a.a + implements b +{ + public NetworkInfo a() + { + try + { + NetworkInfo localNetworkInfo = ((ConnectivityManager)tmsdk.common.a.a().getSystemService("connectivity")).getActiveNetworkInfo(); + return localNetworkInfo; + } + catch (Exception localException) + { + localException.printStackTrace(); + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.b.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/d/b/b.java b/com.tencent.token/classes.jar/tmsdk/common/d/b/b.java new file mode 100755 index 00000000000..3da17fddbcf --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/d/b/b.java @@ -0,0 +1,14 @@ +package tmsdk.common.d.b; + +import android.net.NetworkInfo; + +public abstract interface b +{ + public abstract NetworkInfo a(); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.d.b.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/a.java b/com.tencent.token/classes.jar/tmsdk/common/e/a.java new file mode 100755 index 00000000000..e0a560dd023 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/a.java @@ -0,0 +1,117 @@ +package tmsdk.common.e; + +import java.io.UnsupportedEncodingException; + +public class a +{ + static + { + if (!a.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + a = bool; + return; + } + } + + public static byte[] a(String paramString, int paramInt) + { + return a(paramString.getBytes(), paramInt); + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt) + { + return a(paramArrayOfByte, 0, paramArrayOfByte.length, paramInt); + } + + public static byte[] a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3) + { + c localc = new c(paramInt3, new byte[paramInt2 * 3 / 4]); + if (!localc.a(paramArrayOfByte, paramInt1, paramInt2, true)) { + throw new IllegalArgumentException("bad base-64"); + } + if (localc.b == localc.a.length) { + return localc.a; + } + paramArrayOfByte = new byte[localc.b]; + System.arraycopy(localc.a, 0, paramArrayOfByte, 0, localc.b); + return paramArrayOfByte; + } + + public static String b(byte[] paramArrayOfByte, int paramInt) + { + try + { + paramArrayOfByte = new String(c(paramArrayOfByte, paramInt), "US-ASCII"); + return paramArrayOfByte; + } + catch (UnsupportedEncodingException paramArrayOfByte) + { + throw new AssertionError(paramArrayOfByte); + } + } + + public static byte[] b(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3) + { + d locald = new d(paramInt3, null); + int i = paramInt2 / 3 * 4; + int j; + if (locald.d) + { + paramInt3 = i; + if (paramInt2 % 3 > 0) { + paramInt3 = i + 4; + } + i = paramInt3; + if (locald.e) + { + i = paramInt3; + if (paramInt2 > 0) + { + j = (paramInt2 - 1) / 57; + if (!locald.f) { + break label186; + } + } + } + } + label186: + for (i = 2;; i = 1) + { + i = paramInt3 + i * (j + 1); + locald.a = new byte[i]; + locald.a(paramArrayOfByte, paramInt1, paramInt2, true); + if ((a) || (locald.b == i)) { + break label192; + } + throw new AssertionError(); + paramInt3 = i; + switch (paramInt2 % 3) + { + case 0: + default: + paramInt3 = i; + break; + case 1: + paramInt3 = i + 2; + break; + case 2: + paramInt3 = i + 3; + break; + } + } + label192: + return locald.a; + } + + public static byte[] c(byte[] paramArrayOfByte, int paramInt) + { + return b(paramArrayOfByte, 0, paramArrayOfByte.length, paramInt); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.a + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/b.java b/com.tencent.token/classes.jar/tmsdk/common/e/b.java new file mode 100755 index 00000000000..af3b9b79478 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/b.java @@ -0,0 +1,13 @@ +package tmsdk.common.e; + +abstract class b +{ + public byte[] a; + public int b; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.b + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/c.java b/com.tencent.token/classes.jar/tmsdk/common/e/c.java new file mode 100755 index 00000000000..e56786fc8e5 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/c.java @@ -0,0 +1,216 @@ +package tmsdk.common.e; + +class c + extends b +{ + private static final int[] c = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + private static final int[] d = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + private int e; + private int f; + private final int[] g; + + public c(int paramInt, byte[] paramArrayOfByte) + { + this.a = paramArrayOfByte; + if ((paramInt & 0x8) == 0) {} + for (paramArrayOfByte = c;; paramArrayOfByte = d) + { + this.g = paramArrayOfByte; + this.e = 0; + this.f = 0; + return; + } + } + + public boolean a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, boolean paramBoolean) + { + if (this.e == 6) { + return false; + } + int i2 = paramInt2 + paramInt1; + int j = this.e; + paramInt2 = this.f; + int i = 0; + byte[] arrayOfByte = this.a; + int[] arrayOfInt = this.g; + int k; + int m; + int i1; + if (paramInt1 < i2) + { + k = i; + m = paramInt2; + i1 = paramInt1; + if (j == 0) + { + int n = paramInt1; + for (paramInt1 = paramInt2; n + 4 <= i2; paramInt1 = paramInt2) + { + paramInt2 = arrayOfInt[(paramArrayOfByte[n] & 0xFF)] << 18 | arrayOfInt[(paramArrayOfByte[(n + 1)] & 0xFF)] << 12 | arrayOfInt[(paramArrayOfByte[(n + 2)] & 0xFF)] << 6 | arrayOfInt[(paramArrayOfByte[(n + 3)] & 0xFF)]; + paramInt1 = paramInt2; + if (paramInt2 < 0) { + break; + } + arrayOfByte[(i + 2)] = ((byte)paramInt2); + arrayOfByte[(i + 1)] = ((byte)(paramInt2 >> 8)); + arrayOfByte[i] = ((byte)(paramInt2 >> 16)); + i += 3; + n += 4; + } + k = i; + m = paramInt1; + i1 = n; + if (n >= i2) { + paramInt2 = paramInt1; + } + } + } + for (;;) + { + if (!paramBoolean) + { + this.e = j; + this.f = paramInt2; + this.b = i; + return true; + paramInt2 = arrayOfInt[(paramArrayOfByte[i1] & 0xFF)]; + switch (j) + { + } + label292: + label577: + do + { + do + { + paramInt1 = j; + paramInt2 = m; + i = k; + for (;;) + { + j = paramInt1; + paramInt1 = i1 + 1; + break; + if (paramInt2 >= 0) + { + paramInt1 = j + 1; + i = k; + } + else + { + if (paramInt2 == -1) { + break label292; + } + this.e = 6; + return false; + if (paramInt2 >= 0) + { + paramInt2 = m << 6 | paramInt2; + paramInt1 = j + 1; + i = k; + } + else + { + if (paramInt2 == -1) { + break label292; + } + this.e = 6; + return false; + if (paramInt2 >= 0) + { + paramInt2 = m << 6 | paramInt2; + paramInt1 = j + 1; + i = k; + } + else if (paramInt2 == -2) + { + arrayOfByte[k] = ((byte)(m >> 4)); + paramInt1 = 4; + i = k + 1; + paramInt2 = m; + } + else + { + if (paramInt2 == -1) { + break label292; + } + this.e = 6; + return false; + if (paramInt2 >= 0) + { + paramInt2 = m << 6 | paramInt2; + arrayOfByte[(k + 2)] = ((byte)paramInt2); + arrayOfByte[(k + 1)] = ((byte)(paramInt2 >> 8)); + arrayOfByte[k] = ((byte)(paramInt2 >> 16)); + i = k + 3; + paramInt1 = 0; + } + else if (paramInt2 == -2) + { + arrayOfByte[(k + 1)] = ((byte)(m >> 2)); + arrayOfByte[k] = ((byte)(m >> 10)); + i = k + 2; + paramInt1 = 5; + paramInt2 = m; + } + else + { + if (paramInt2 == -1) { + break label292; + } + this.e = 6; + return false; + if (paramInt2 != -2) { + break label577; + } + paramInt1 = j + 1; + i = k; + paramInt2 = m; + } + } + } + } + } + } while (paramInt2 == -1); + this.e = 6; + return false; + } while (paramInt2 == -1); + this.e = 6; + return false; + } + paramInt1 = i; + switch (j) + { + default: + paramInt1 = i; + case 0: + case 1: + case 2: + case 3: + for (;;) + { + this.e = j; + this.b = paramInt1; + return true; + this.e = 6; + return false; + arrayOfByte[i] = ((byte)(paramInt2 >> 4)); + paramInt1 = i + 1; + continue; + k = i + 1; + arrayOfByte[i] = ((byte)(paramInt2 >> 10)); + paramInt1 = k + 1; + arrayOfByte[k] = ((byte)(paramInt2 >> 2)); + } + } + this.e = 6; + return false; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.c + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/d.java b/com.tencent.token/classes.jar/tmsdk/common/e/d.java new file mode 100755 index 00000000000..d69a0c2420f --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/d.java @@ -0,0 +1,367 @@ +package tmsdk.common.e; + +class d + extends b +{ + private static final byte[] h; + private static final byte[] i; + int c; + public final boolean d; + public final boolean e; + public final boolean f; + private final byte[] j; + private int k; + private final byte[] l; + + static + { + if (!a.class.desiredAssertionStatus()) {} + for (boolean bool = true;; bool = false) + { + g = bool; + h = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }; + i = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95 }; + return; + } + } + + public d(int paramInt, byte[] paramArrayOfByte) + { + this.a = paramArrayOfByte; + boolean bool1; + if ((paramInt & 0x1) == 0) + { + bool1 = true; + this.d = bool1; + if ((paramInt & 0x2) != 0) { + break label101; + } + bool1 = true; + label33: + this.e = bool1; + if ((paramInt & 0x4) == 0) { + break label106; + } + bool1 = bool2; + label47: + this.f = bool1; + if ((paramInt & 0x8) != 0) { + break label111; + } + paramArrayOfByte = h; + label63: + this.l = paramArrayOfByte; + this.j = new byte[2]; + this.c = 0; + if (!this.e) { + break label118; + } + } + label101: + label106: + label111: + label118: + for (paramInt = 19;; paramInt = -1) + { + this.k = paramInt; + return; + bool1 = false; + break; + bool1 = false; + break label33; + bool1 = false; + break label47; + paramArrayOfByte = i; + break label63; + } + } + + public boolean a(byte[] paramArrayOfByte, int paramInt1, int paramInt2, boolean paramBoolean) + { + byte[] arrayOfByte1 = this.l; + byte[] arrayOfByte2 = this.a; + int m = 0; + int i2 = this.k; + int i4 = paramInt2 + paramInt1; + int i1 = -1; + label62: + int n; + switch (this.c) + { + default: + paramInt2 = paramInt1; + paramInt1 = i2; + n = paramInt2; + if (i1 != -1) + { + arrayOfByte2[0] = arrayOfByte1[(i1 >> 18 & 0x3F)]; + arrayOfByte2[1] = arrayOfByte1[(i1 >> 12 & 0x3F)]; + arrayOfByte2[2] = arrayOfByte1[(i1 >> 6 & 0x3F)]; + m = 4; + arrayOfByte2[3] = arrayOfByte1[(i1 & 0x3F)]; + i1 = i2 - 1; + paramInt1 = i1; + n = paramInt2; + if (i1 == 0) + { + if (!this.f) { + break label1226; + } + paramInt1 = 5; + arrayOfByte2[4] = 13; + } + } + break; + } + for (;;) + { + arrayOfByte2[paramInt1] = 10; + n = 19; + paramInt1 += 1; + for (;;) + { + label180: + if (paramInt2 + 3 <= i4) + { + m = (paramArrayOfByte[paramInt2] & 0xFF) << 16 | (paramArrayOfByte[(paramInt2 + 1)] & 0xFF) << 8 | paramArrayOfByte[(paramInt2 + 2)] & 0xFF; + arrayOfByte2[paramInt1] = arrayOfByte1[(m >> 18 & 0x3F)]; + arrayOfByte2[(paramInt1 + 1)] = arrayOfByte1[(m >> 12 & 0x3F)]; + arrayOfByte2[(paramInt1 + 2)] = arrayOfByte1[(m >> 6 & 0x3F)]; + arrayOfByte2[(paramInt1 + 3)] = arrayOfByte1[(m & 0x3F)]; + paramInt2 += 3; + i1 = paramInt1 + 4; + i2 = n - 1; + paramInt1 = i2; + m = i1; + n = paramInt2; + if (i2 != 0) { + break label1210; + } + if (!this.f) { + break label1204; + } + paramInt1 = i1 + 1; + arrayOfByte2[i1] = 13; + } + for (;;) + { + arrayOfByte2[paramInt1] = 10; + n = 19; + paramInt1 += 1; + break label180; + paramInt2 = paramInt1; + break label62; + if (paramInt1 + 2 > i4) { + break; + } + n = this.j[0]; + paramInt2 = paramInt1 + 1; + i1 = (n & 0xFF) << 16 | (paramArrayOfByte[paramInt1] & 0xFF) << 8 | paramArrayOfByte[paramInt2] & 0xFF; + this.c = 0; + paramInt2 += 1; + break label62; + if (paramInt1 + 1 > i4) { + break; + } + n = this.j[0]; + i1 = this.j[1]; + paramInt2 = paramInt1 + 1; + i1 = (n & 0xFF) << 16 | (i1 & 0xFF) << 8 | paramArrayOfByte[paramInt1] & 0xFF; + this.c = 0; + break label62; + label742: + int i3; + if (paramBoolean) + { + if (paramInt2 - this.c == i4 - 1) + { + if (this.c > 0) + { + paramArrayOfByte = this.j; + m = 1; + i1 = paramArrayOfByte[0]; + } + for (;;) + { + i1 = (i1 & 0xFF) << 4; + this.c -= m; + i2 = paramInt1 + 1; + arrayOfByte2[paramInt1] = arrayOfByte1[(i1 >> 6 & 0x3F)]; + m = i2 + 1; + arrayOfByte2[i2] = arrayOfByte1[(i1 & 0x3F)]; + paramInt1 = m; + if (this.d) + { + i1 = m + 1; + arrayOfByte2[m] = 61; + paramInt1 = i1 + 1; + arrayOfByte2[i1] = 61; + } + m = paramInt1; + if (this.e) + { + m = paramInt1; + if (this.f) + { + arrayOfByte2[paramInt1] = 13; + m = paramInt1 + 1; + } + arrayOfByte2[m] = 10; + m += 1; + } + i1 = paramInt2; + if ((g) || (this.c == 0)) { + break; + } + throw new AssertionError(); + i1 = paramArrayOfByte[paramInt2]; + paramInt2 += 1; + m = 0; + } + } + if (paramInt2 - this.c == i4 - 2) { + if (this.c > 1) + { + byte[] arrayOfByte3 = this.j; + i2 = 1; + i1 = arrayOfByte3[0]; + m = paramInt2; + paramInt2 = i2; + if (this.c <= 0) { + break label946; + } + i2 = this.j[paramInt2]; + i3 = paramInt2 + 1; + paramInt2 = m; + m = i3; + label769: + i1 = (i2 & 0xFF) << 2 | (i1 & 0xFF) << 10; + this.c -= m; + m = paramInt1 + 1; + arrayOfByte2[paramInt1] = arrayOfByte1[(i1 >> 12 & 0x3F)]; + i2 = m + 1; + arrayOfByte2[m] = arrayOfByte1[(i1 >> 6 & 0x3F)]; + paramInt1 = i2 + 1; + arrayOfByte2[i2] = arrayOfByte1[(i1 & 0x3F)]; + if (!this.d) { + break label1201; + } + m = paramInt1 + 1; + arrayOfByte2[paramInt1] = 61; + paramInt1 = m; + } + } + } + label1201: + for (;;) + { + m = paramInt1; + if (this.e) + { + m = paramInt1; + if (this.f) + { + arrayOfByte2[paramInt1] = 13; + m = paramInt1 + 1; + } + arrayOfByte2[m] = 10; + m += 1; + } + i1 = paramInt2; + break; + i1 = paramArrayOfByte[paramInt2]; + m = paramInt2 + 1; + paramInt2 = 0; + break label742; + label946: + i2 = paramArrayOfByte[m]; + i3 = m + 1; + m = paramInt2; + paramInt2 = i3; + break label769; + i1 = paramInt2; + m = paramInt1; + if (!this.e) { + break; + } + i1 = paramInt2; + m = paramInt1; + if (paramInt1 <= 0) { + break; + } + i1 = paramInt2; + m = paramInt1; + if (n == 19) { + break; + } + if (this.f) + { + m = paramInt1 + 1; + arrayOfByte2[paramInt1] = 13; + paramInt1 = m; + } + for (;;) + { + m = paramInt1 + 1; + arrayOfByte2[paramInt1] = 10; + i1 = paramInt2; + break; + i2 = m; + if (!g) + { + i2 = m; + if (i1 != i4) + { + throw new AssertionError(); + if (paramInt2 != i4 - 1) { + break label1123; + } + arrayOfByte1 = this.j; + m = this.c; + this.c = (m + 1); + arrayOfByte1[m] = paramArrayOfByte[paramInt2]; + i2 = paramInt1; + } + } + for (;;) + { + this.b = i2; + this.k = n; + return true; + label1123: + i2 = paramInt1; + if (paramInt2 == i4 - 2) + { + arrayOfByte1 = this.j; + m = this.c; + this.c = (m + 1); + arrayOfByte1[m] = paramArrayOfByte[paramInt2]; + arrayOfByte1 = this.j; + m = this.c; + this.c = (m + 1); + arrayOfByte1[m] = paramArrayOfByte[(paramInt2 + 1)]; + i2 = paramInt1; + } + } + } + } + label1204: + paramInt1 = i1; + } + label1210: + i1 = paramInt1; + paramInt1 = m; + paramInt2 = n; + n = i1; + } + label1226: + paramInt1 = 4; + } + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.d + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/e.java b/com.tencent.token/classes.jar/tmsdk/common/e/e.java new file mode 100755 index 00000000000..774f635a41a --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/e.java @@ -0,0 +1,15 @@ +package tmsdk.common.e; + +public class e +{ + public static int a() + { + return 0; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.e + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/f.java b/com.tencent.token/classes.jar/tmsdk/common/e/f.java new file mode 100755 index 00000000000..3bdc1d150a9 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/f.java @@ -0,0 +1,98 @@ +package tmsdk.common.e; + +import android.net.NetworkInfo; +import android.net.Proxy; +import android.os.Build.VERSION; + +public class f +{ + public static b.a a() + { + try + { + NetworkInfo localNetworkInfo = tmsdk.common.b.a().a(); + if (localNetworkInfo == null) { + return b.a.a; + } + } + catch (NullPointerException localNullPointerException) + { + String str; + for (;;) + { + new StringBuilder().append(" getActiveNetworkInfo NullPointerException--- \n").append(localNullPointerException.getMessage()).toString(); + str = null; + } + if (str.getType() == 1) { + return b.a.c; + } + if (str.getType() == 0) + { + str = c(); + if ((str != null) && (str.length() > 0) && (d() > 0)) { + return b.a.d; + } + return b.a.e; + } + } + return b.a.e; + } + + public static boolean b() + { + return Build.VERSION.SDK_INT >= 14; + } + + public static String c() + { + if (b()) { + return System.getProperty("http.proxyHost"); + } + return Proxy.getHost(tmsdk.common.a.a()); + } + + public static int d() + { + if (b()) { + try + { + int i = Integer.parseInt(System.getProperty("http.proxyPort")); + return i; + } + catch (NumberFormatException localNumberFormatException) + { + return -1; + } + } + return Proxy.getPort(tmsdk.common.a.a()); + } + + public static boolean e() + { + NetworkInfo localNetworkInfo = f(); + if (localNetworkInfo == null) { + return false; + } + return localNetworkInfo.isConnected(); + } + + public static NetworkInfo f() + { + try + { + NetworkInfo localNetworkInfo = tmsdk.common.b.a().a(); + return localNetworkInfo; + } + catch (NullPointerException localNullPointerException) + { + new StringBuilder().append(" getActiveNetworkInfo NullPointerException--- \n").append(localNullPointerException.getMessage()).toString(); + } + return null; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.f + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/g.java b/com.tencent.token/classes.jar/tmsdk/common/e/g.java new file mode 100755 index 00000000000..71088c9b06c --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/g.java @@ -0,0 +1,73 @@ +package tmsdk.common.e; + +import android.content.Context; +import android.content.res.Resources; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.telephony.TelephonyManager; +import android.util.DisplayMetrics; + +public final class g +{ + private static String a = "tms_"; + private static String b = "[com.android.internal.telephony.ITelephony]"; + private static String c = "[com.android.internal.telephony.ITelephonyRegistry]"; + private static Boolean d = null; + + public static String a() + { + return "android_id"; + } + + public static String a(Context paramContext) + { + return ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId(); + } + + public static String b() + { + return Build.MODEL; + } + + public static String b(Context paramContext) + { + String str = ((TelephonyManager)paramContext.getSystemService("phone")).getSubscriberId(); + paramContext = str; + if (str == null) { + paramContext = "000000000000000"; + } + return paramContext; + } + + public static String c(Context paramContext) + { + WifiInfo localWifiInfo = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo(); + paramContext = null; + if (localWifiInfo != null) { + paramContext = localWifiInfo.getMacAddress(); + } + return paramContext; + } + + public static int d(Context paramContext) + { + return paramContext.getResources().getDisplayMetrics().widthPixels; + } + + public static int e(Context paramContext) + { + return paramContext.getResources().getDisplayMetrics().heightPixels; + } + + public static int f(Context paramContext) + { + return j.a(b(paramContext)); + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.g + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/h.java b/com.tencent.token/classes.jar/tmsdk/common/e/h.java new file mode 100755 index 00000000000..aed5d0b29f1 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/h.java @@ -0,0 +1,13 @@ +package tmsdk.common.e; + +public class h +{ + public long a; + public long b; +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.h + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/i.java b/com.tencent.token/classes.jar/tmsdk/common/e/i.java new file mode 100755 index 00000000000..3bde33105a4 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/i.java @@ -0,0 +1,17 @@ +package tmsdk.common.e; + +import android.os.Build.VERSION; + +public final class i +{ + public static int a() + { + return Build.VERSION.SDK_INT; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.i + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/j.java b/com.tencent.token/classes.jar/tmsdk/common/e/j.java new file mode 100755 index 00000000000..9389ba1d033 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/j.java @@ -0,0 +1,26 @@ +package tmsdk.common.e; + +public class j +{ + public static int a(String paramString) + { + if (paramString == null) {} + do + { + return -1; + if ((paramString.startsWith("46000")) || (paramString.startsWith("46002")) || (paramString.startsWith("46007"))) { + return 0; + } + if (paramString.startsWith("46001")) { + return 1; + } + } while (!paramString.startsWith("46003")); + return 2; + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.j + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/k.java b/com.tencent.token/classes.jar/tmsdk/common/e/k.java new file mode 100755 index 00000000000..eefb6dad5a9 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/k.java @@ -0,0 +1,658 @@ +package tmsdk.common.e; + +import android.content.Context; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import tmsdk.common.a; +import tmsdk.common.b.b; + +public class k +{ + public static String a; + + public static String a() + { + Object localObject = (WifiManager)a.a().getSystemService("wifi"); + if (localObject != null) + { + localObject = ((WifiManager)localObject).getConnectionInfo(); + if (localObject != null) { + return ((WifiInfo)localObject).getSSID(); + } + } + return ""; + } + + private static String a(InputStream paramInputStream) + { + String str2 = b(paramInputStream); + String[] arrayOfString = new String[5]; + arrayOfString[0] = "http-equiv\\s*=\\s*[\"']*refresh[\"']*\\s*content\\s*=\\s*[\"']*[^;]*;\\s*url\\s*=\\s*[\"']*([^\"'\\s>]+)"; + arrayOfString[1] = "[^\\w](?:location.href\\s*=|location\\s*=|location.replace\\s*\\()\\s*[\"']*([^\"'>]+)"; + arrayOfString[2] = "([^<]+)"; + arrayOfString[3] = "\\s+action\\s*=\\s*[\"']*([^\"'>]+)[\"'>\\s]*.*submit"; + arrayOfString[4] = "([^<]+)"; + int j = arrayOfString.length; + int i = 0; + paramInputStream = null; + while ((i < j) && (paramInputStream == null)) + { + Matcher localMatcher = Pattern.compile(arrayOfString[i], 2).matcher(str2); + while ((localMatcher.find()) && (paramInputStream == null)) + { + String str1 = localMatcher.group(localMatcher.groupCount()); + paramInputStream = str1; + if (str1 != null) + { + paramInputStream = str1; + if (!str1.trim().toLowerCase().startsWith("http")) { + paramInputStream = null; + } + } + } + i += 1; + } + if (paramInputStream == null) { + throw new b("0725SSID:" + a() + " page head content: " + str2); + } + return paramInputStream; + } + + /* Error */ + private static String a(java.net.HttpURLConnection paramHttpURLConnection) + { + // Byte code: + // 0: aconst_null + // 1: astore_3 + // 2: aconst_null + // 3: astore_1 + // 4: new 117 java/net/URL + // 7: dup + // 8: ldc 119 + // 10: invokespecial 120 java/net/URL: (Ljava/lang/String;)V + // 13: invokevirtual 123 java/net/URL:getHost ()Ljava/lang/String; + // 16: aload_0 + // 17: invokevirtual 129 java/net/HttpURLConnection:getURL ()Ljava/net/URL; + // 20: invokevirtual 123 java/net/URL:getHost ()Ljava/lang/String; + // 23: invokevirtual 133 java/lang/String:equals (Ljava/lang/Object;)Z + // 26: ifne +293 -> 319 + // 29: aload_0 + // 30: invokevirtual 129 java/net/HttpURLConnection:getURL ()Ljava/net/URL; + // 33: invokevirtual 136 java/net/URL:toExternalForm ()Ljava/lang/String; + // 36: astore_2 + // 37: aload_2 + // 38: astore_1 + // 39: aload_1 + // 40: astore_2 + // 41: aload_1 + // 42: ifnonnull +31 -> 73 + // 45: aload_1 + // 46: astore_2 + // 47: aload_1 + // 48: astore_3 + // 49: aload_1 + // 50: astore 4 + // 52: aload_0 + // 53: ldc 138 + // 55: invokevirtual 142 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 58: ifnull +15 -> 73 + // 61: aload_1 + // 62: astore_3 + // 63: aload_1 + // 64: astore 4 + // 66: aload_0 + // 67: ldc 138 + // 69: invokevirtual 142 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 72: astore_2 + // 73: aload_2 + // 74: astore_1 + // 75: aload_2 + // 76: ifnonnull +64 -> 140 + // 79: aload_2 + // 80: astore_1 + // 81: aload_2 + // 82: astore_3 + // 83: aload_2 + // 84: astore 4 + // 86: aload_0 + // 87: ldc 144 + // 89: invokevirtual 142 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 92: ifnull +48 -> 140 + // 95: aload_2 + // 96: astore_3 + // 97: aload_2 + // 98: astore 4 + // 100: aload_0 + // 101: ldc 144 + // 103: invokevirtual 142 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 106: ldc 146 + // 108: invokevirtual 150 java/lang/String:split (Ljava/lang/String;)[Ljava/lang/String; + // 111: astore 5 + // 113: aload_2 + // 114: astore_1 + // 115: aload_2 + // 116: astore_3 + // 117: aload_2 + // 118: astore 4 + // 120: aload 5 + // 122: arraylength + // 123: iconst_2 + // 124: if_icmpne +16 -> 140 + // 127: aload_2 + // 128: astore_3 + // 129: aload_2 + // 130: astore 4 + // 132: aload 5 + // 134: iconst_1 + // 135: aaload + // 136: invokevirtual 77 java/lang/String:trim ()Ljava/lang/String; + // 139: astore_1 + // 140: aload_1 + // 141: ifnonnull +171 -> 312 + // 144: aload_1 + // 145: astore_3 + // 146: aload_1 + // 147: astore 4 + // 149: aload_0 + // 150: invokevirtual 154 java/net/HttpURLConnection:getInputStream ()Ljava/io/InputStream; + // 153: astore_0 + // 154: aload_0 + // 155: ifnull +150 -> 305 + // 158: aload_0 + // 159: invokestatic 156 tmsdk/common/e/k:a (Ljava/io/InputStream;)Ljava/lang/String; + // 162: astore_2 + // 163: aload_2 + // 164: ifnull +141 -> 305 + // 167: aload_2 + // 168: astore_1 + // 169: aload_0 + // 170: astore_2 + // 171: aload_1 + // 172: astore_0 + // 173: aload_0 + // 174: astore_1 + // 175: aload_2 + // 176: ifnull +9 -> 185 + // 179: aload_2 + // 180: invokevirtual 161 java/io/InputStream:close ()V + // 183: aload_0 + // 184: astore_1 + // 185: aload_1 + // 186: areturn + // 187: astore_0 + // 188: aconst_null + // 189: astore_2 + // 190: aload_1 + // 191: astore_0 + // 192: aload_0 + // 193: astore_1 + // 194: aload_2 + // 195: ifnull -10 -> 185 + // 198: aload_2 + // 199: invokevirtual 161 java/io/InputStream:close ()V + // 202: aload_0 + // 203: areturn + // 204: astore_1 + // 205: aload_0 + // 206: areturn + // 207: astore_1 + // 208: aconst_null + // 209: astore_0 + // 210: aload_1 + // 211: athrow + // 212: astore_2 + // 213: aload_0 + // 214: astore_1 + // 215: aload_2 + // 216: astore_0 + // 217: aload_1 + // 218: ifnull +7 -> 225 + // 221: aload_1 + // 222: invokevirtual 161 java/io/InputStream:close ()V + // 225: aload_0 + // 226: athrow + // 227: astore_0 + // 228: aconst_null + // 229: astore_2 + // 230: aload_3 + // 231: astore_0 + // 232: aload_0 + // 233: astore_1 + // 234: aload_2 + // 235: ifnull -50 -> 185 + // 238: aload_2 + // 239: invokevirtual 161 java/io/InputStream:close ()V + // 242: aload_0 + // 243: areturn + // 244: astore_1 + // 245: aload_0 + // 246: areturn + // 247: astore_1 + // 248: aload_0 + // 249: areturn + // 250: astore_1 + // 251: goto -26 -> 225 + // 254: astore_0 + // 255: aconst_null + // 256: astore_1 + // 257: goto -40 -> 217 + // 260: astore_2 + // 261: aload_0 + // 262: astore_1 + // 263: aload_2 + // 264: astore_0 + // 265: goto -48 -> 217 + // 268: astore_0 + // 269: aload_3 + // 270: astore_0 + // 271: aconst_null + // 272: astore_2 + // 273: goto -41 -> 232 + // 276: astore_2 + // 277: aload_0 + // 278: astore_2 + // 279: aload_1 + // 280: astore_0 + // 281: goto -49 -> 232 + // 284: astore_1 + // 285: goto -75 -> 210 + // 288: astore_0 + // 289: aload 4 + // 291: astore_0 + // 292: aconst_null + // 293: astore_2 + // 294: goto -102 -> 192 + // 297: astore_2 + // 298: aload_0 + // 299: astore_2 + // 300: aload_1 + // 301: astore_0 + // 302: goto -110 -> 192 + // 305: aload_0 + // 306: astore_2 + // 307: aload_1 + // 308: astore_0 + // 309: goto -136 -> 173 + // 312: aload_1 + // 313: astore_0 + // 314: aconst_null + // 315: astore_2 + // 316: goto -143 -> 173 + // 319: aconst_null + // 320: astore_1 + // 321: goto -282 -> 39 + // Local variable table: + // start length slot name signature + // 0 324 0 paramHttpURLConnection java.net.HttpURLConnection + // 3 191 1 localObject1 Object + // 204 1 1 localIOException1 IOException + // 207 4 1 localb1 b + // 214 20 1 localHttpURLConnection1 java.net.HttpURLConnection + // 244 1 1 localIOException2 IOException + // 247 1 1 localIOException3 IOException + // 250 1 1 localIOException4 IOException + // 256 24 1 localHttpURLConnection2 java.net.HttpURLConnection + // 284 29 1 localb2 b + // 320 1 1 localObject2 Object + // 36 163 2 localObject3 Object + // 212 4 2 localObject4 Object + // 229 10 2 localObject5 Object + // 260 4 2 localObject6 Object + // 272 1 2 localObject7 Object + // 276 1 2 localException java.lang.Exception + // 278 16 2 localHttpURLConnection3 java.net.HttpURLConnection + // 297 1 2 localIOException5 IOException + // 299 17 2 localHttpURLConnection4 java.net.HttpURLConnection + // 1 269 3 localObject8 Object + // 50 240 4 localObject9 Object + // 111 22 5 arrayOfString String[] + // Exception table: + // from to target type + // 4 37 187 java/io/IOException + // 198 202 204 java/io/IOException + // 4 37 207 tmsdk/common/b/b + // 52 61 207 tmsdk/common/b/b + // 66 73 207 tmsdk/common/b/b + // 86 95 207 tmsdk/common/b/b + // 100 113 207 tmsdk/common/b/b + // 120 127 207 tmsdk/common/b/b + // 132 140 207 tmsdk/common/b/b + // 149 154 207 tmsdk/common/b/b + // 210 212 212 finally + // 4 37 227 java/lang/Exception + // 238 242 244 java/io/IOException + // 179 183 247 java/io/IOException + // 221 225 250 java/io/IOException + // 4 37 254 finally + // 52 61 254 finally + // 66 73 254 finally + // 86 95 254 finally + // 100 113 254 finally + // 120 127 254 finally + // 132 140 254 finally + // 149 154 254 finally + // 158 163 260 finally + // 52 61 268 java/lang/Exception + // 66 73 268 java/lang/Exception + // 86 95 268 java/lang/Exception + // 100 113 268 java/lang/Exception + // 120 127 268 java/lang/Exception + // 132 140 268 java/lang/Exception + // 149 154 268 java/lang/Exception + // 158 163 276 java/lang/Exception + // 158 163 284 tmsdk/common/b/b + // 52 61 288 java/io/IOException + // 66 73 288 java/io/IOException + // 86 95 288 java/io/IOException + // 100 113 288 java/io/IOException + // 120 127 288 java/io/IOException + // 132 140 288 java/io/IOException + // 149 154 288 java/io/IOException + // 158 163 297 java/io/IOException + } + + /* Error */ + public static String a(l paraml) + { + // Byte code: + // 0: aconst_null + // 1: astore 5 + // 3: aconst_null + // 4: astore 4 + // 6: new 117 java/net/URL + // 9: dup + // 10: ldc 119 + // 12: invokespecial 120 java/net/URL: (Ljava/lang/String;)V + // 15: invokevirtual 166 java/net/URL:openConnection ()Ljava/net/URLConnection; + // 18: checkcast 125 java/net/HttpURLConnection + // 21: astore_3 + // 22: invokestatic 170 tmsdk/common/e/i:a ()I + // 25: bipush 8 + // 27: if_icmpge +11 -> 38 + // 30: ldc 172 + // 32: ldc 174 + // 34: invokestatic 180 java/lang/System:setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + // 37: pop + // 38: aload_3 + // 39: iconst_0 + // 40: invokevirtual 184 java/net/HttpURLConnection:setUseCaches (Z)V + // 43: aload_3 + // 44: ldc 186 + // 46: ldc 188 + // 48: invokevirtual 192 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 51: aload_3 + // 52: ldc 194 + // 54: ldc 188 + // 56: invokevirtual 192 java/net/HttpURLConnection:setRequestProperty (Ljava/lang/String;Ljava/lang/String;)V + // 59: aload_3 + // 60: iconst_0 + // 61: invokevirtual 197 java/net/HttpURLConnection:setInstanceFollowRedirects (Z)V + // 64: aload_3 + // 65: ldc 199 + // 67: invokevirtual 202 java/net/HttpURLConnection:setRequestMethod (Ljava/lang/String;)V + // 70: aload_3 + // 71: sipush 5000 + // 74: invokevirtual 206 java/net/HttpURLConnection:setReadTimeout (I)V + // 77: aload_3 + // 78: invokevirtual 209 java/net/HttpURLConnection:getResponseCode ()I + // 81: istore_1 + // 82: iload_1 + // 83: sipush 200 + // 86: if_icmpeq +17 -> 103 + // 89: iload_1 + // 90: sipush 301 + // 93: if_icmplt +65 -> 158 + // 96: iload_1 + // 97: sipush 305 + // 100: if_icmpgt +58 -> 158 + // 103: aload_3 + // 104: ldc 211 + // 106: invokevirtual 142 java/net/HttpURLConnection:getHeaderField (Ljava/lang/String;)Ljava/lang/String; + // 109: astore 5 + // 111: aload 5 + // 113: ifnull +13 -> 126 + // 116: aload 5 + // 118: ldc 211 + // 120: invokevirtual 133 java/lang/String:equals (Ljava/lang/Object;)Z + // 123: ifne +9 -> 132 + // 126: aload_3 + // 127: invokestatic 213 tmsdk/common/e/k:a (Ljava/net/HttpURLConnection;)Ljava/lang/String; + // 130: astore 4 + // 132: iconst_0 + // 133: istore_2 + // 134: aload_3 + // 135: ifnull +7 -> 142 + // 138: aload_3 + // 139: invokevirtual 216 java/net/HttpURLConnection:disconnect ()V + // 142: aload 4 + // 144: ifnonnull +23 -> 167 + // 147: aload_0 + // 148: iconst_0 + // 149: iload_2 + // 150: invokeinterface 221 3 0 + // 155: aload 4 + // 157: areturn + // 158: iconst_1 + // 159: istore_2 + // 160: aload 5 + // 162: astore 4 + // 164: goto -30 -> 134 + // 167: aload 4 + // 169: putstatic 223 tmsdk/common/e/k:a Ljava/lang/String; + // 172: aload_0 + // 173: iconst_1 + // 174: iload_2 + // 175: invokeinterface 221 3 0 + // 180: aload 4 + // 182: areturn + // 183: astore_3 + // 184: aconst_null + // 185: astore_3 + // 186: aload_3 + // 187: ifnull +7 -> 194 + // 190: aload_3 + // 191: invokevirtual 216 java/net/HttpURLConnection:disconnect ()V + // 194: iconst_0 + // 195: ifne +13 -> 208 + // 198: aload_0 + // 199: iconst_0 + // 200: iconst_0 + // 201: invokeinterface 221 3 0 + // 206: aconst_null + // 207: areturn + // 208: aconst_null + // 209: putstatic 223 tmsdk/common/e/k:a Ljava/lang/String; + // 212: aload_0 + // 213: iconst_1 + // 214: iconst_0 + // 215: invokeinterface 221 3 0 + // 220: aconst_null + // 221: areturn + // 222: astore 4 + // 224: aconst_null + // 225: astore_3 + // 226: aload 4 + // 228: athrow + // 229: astore 5 + // 231: aload_3 + // 232: astore 4 + // 234: aload 5 + // 236: astore_3 + // 237: aload 4 + // 239: ifnull +8 -> 247 + // 242: aload 4 + // 244: invokevirtual 216 java/net/HttpURLConnection:disconnect ()V + // 247: iconst_0 + // 248: ifne +52 -> 300 + // 251: aload_0 + // 252: iconst_0 + // 253: iconst_0 + // 254: invokeinterface 221 3 0 + // 259: aload_3 + // 260: athrow + // 261: astore_3 + // 262: aconst_null + // 263: astore_3 + // 264: aload_3 + // 265: ifnull +7 -> 272 + // 268: aload_3 + // 269: invokevirtual 216 java/net/HttpURLConnection:disconnect ()V + // 272: iconst_0 + // 273: ifne +13 -> 286 + // 276: aload_0 + // 277: iconst_0 + // 278: iconst_0 + // 279: invokeinterface 221 3 0 + // 284: aconst_null + // 285: areturn + // 286: aconst_null + // 287: putstatic 223 tmsdk/common/e/k:a Ljava/lang/String; + // 290: aload_0 + // 291: iconst_1 + // 292: iconst_0 + // 293: invokeinterface 221 3 0 + // 298: aconst_null + // 299: areturn + // 300: aconst_null + // 301: putstatic 223 tmsdk/common/e/k:a Ljava/lang/String; + // 304: aload_0 + // 305: iconst_1 + // 306: iconst_0 + // 307: invokeinterface 221 3 0 + // 312: goto -53 -> 259 + // 315: astore_3 + // 316: aconst_null + // 317: astore 4 + // 319: goto -82 -> 237 + // 322: astore 5 + // 324: aload_3 + // 325: astore 4 + // 327: aload 5 + // 329: astore_3 + // 330: goto -93 -> 237 + // 333: astore 4 + // 335: goto -71 -> 264 + // 338: astore 4 + // 340: goto -114 -> 226 + // 343: astore 4 + // 345: goto -159 -> 186 + // Local variable table: + // start length slot name signature + // 0 348 0 paraml l + // 81 20 1 i int + // 133 42 2 bool boolean + // 21 118 3 localHttpURLConnection java.net.HttpURLConnection + // 183 1 3 localIOException1 IOException + // 185 75 3 localObject1 Object + // 261 1 3 localException1 java.lang.Exception + // 263 6 3 localObject2 Object + // 315 10 3 localObject3 Object + // 329 1 3 localObject4 Object + // 4 177 4 str1 String + // 222 5 4 localb1 b + // 232 94 4 localObject5 Object + // 333 1 4 localException2 java.lang.Exception + // 338 1 4 localb2 b + // 343 1 4 localIOException2 IOException + // 1 160 5 str2 String + // 229 6 5 localObject6 Object + // 322 6 5 localObject7 Object + // Exception table: + // from to target type + // 6 22 183 java/io/IOException + // 6 22 222 tmsdk/common/b/b + // 226 229 229 finally + // 6 22 261 java/lang/Exception + // 6 22 315 finally + // 22 38 322 finally + // 38 82 322 finally + // 103 111 322 finally + // 116 126 322 finally + // 126 132 322 finally + // 22 38 333 java/lang/Exception + // 38 82 333 java/lang/Exception + // 103 111 333 java/lang/Exception + // 116 126 333 java/lang/Exception + // 126 132 333 java/lang/Exception + // 22 38 338 tmsdk/common/b/b + // 38 82 338 tmsdk/common/b/b + // 103 111 338 tmsdk/common/b/b + // 116 126 338 tmsdk/common/b/b + // 126 132 338 tmsdk/common/b/b + // 22 38 343 java/io/IOException + // 38 82 343 java/io/IOException + // 103 111 343 java/io/IOException + // 116 126 343 java/io/IOException + // 126 132 343 java/io/IOException + } + + private static String b(InputStream paramInputStream) + { + BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(paramInputStream)); + paramInputStream = new StringBuilder(); + try + { + for (;;) + { + String str = localBufferedReader.readLine(); + if (str == null) { + break; + } + paramInputStream.append(str); + } + try + { + localIOException2.close(); + throw paramInputStream; + } + catch (IOException localIOException3) + { + for (;;) + { + localIOException3.printStackTrace(); + } + } + } + catch (IOException localIOException4) + { + localIOException4 = localIOException4; + localIOException4.printStackTrace(); + try + { + localBufferedReader.close(); + for (;;) + { + return paramInputStream.toString(); + try + { + localBufferedReader.close(); + } + catch (IOException localIOException1) + { + localIOException1.printStackTrace(); + } + } + } + catch (IOException localIOException2) + { + for (;;) + { + localIOException2.printStackTrace(); + } + } + } + finally {} + } +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.k + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/e/l.java b/com.tencent.token/classes.jar/tmsdk/common/e/l.java new file mode 100755 index 00000000000..49aff860d20 --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/e/l.java @@ -0,0 +1,12 @@ +package tmsdk.common.e; + +public abstract interface l +{ + public abstract void a(boolean paramBoolean1, boolean paramBoolean2); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.e.l + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/classes.jar/tmsdk/common/tcc/TccCryptor.java b/com.tencent.token/classes.jar/tmsdk/common/tcc/TccCryptor.java new file mode 100755 index 00000000000..6aa41642b7e --- /dev/null +++ b/com.tencent.token/classes.jar/tmsdk/common/tcc/TccCryptor.java @@ -0,0 +1,128 @@ +package tmsdk.common.tcc; + +import android.content.Context; +import tmsdk.common.a; + +public class TccCryptor +{ + static + { + a.a(0, TccCryptor.class); + } + + public static int EndianSwap(int paramInt) + { + return paramInt << 24 | (0xFF00 & paramInt) << 8 | (0xFF0000 & paramInt) >>> 8 | paramInt >>> 24; + } + + @Deprecated + public static byte[] decrypt(Context paramContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + return decrypt(paramArrayOfByte1, paramArrayOfByte2); + } + + public static native byte[] decrypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2); + + @Deprecated + public static boolean decryptBoolean(Context paramContext, boolean paramBoolean) + { + return decryptBoolean(paramBoolean); + } + + public static boolean decryptBoolean(boolean paramBoolean) + { + return !paramBoolean; + } + + public static int decryptInt(int paramInt) + { + return paramInt ^ 0xFFFFFFFF; + } + + @Deprecated + public static int decryptInt(Context paramContext, int paramInt) + { + return decryptInt(paramInt); + } + + public static long decryptLong(long paramLong) + { + return 0xFFFFFFFF ^ paramLong; + } + + @Deprecated + public static long decryptLong(Context paramContext, long paramLong) + { + return decryptLong(paramLong); + } + + @Deprecated + public static String encrypt(Context paramContext, String paramString1, String paramString2) + { + return encrypt(paramString1, paramString2); + } + + public static String encrypt(String paramString1, String paramString2) + { + byte[] arrayOfByte = paramString1.getBytes(); + if (paramString2 == null) {} + for (paramString1 = null;; paramString1 = paramString2.getBytes()) { + return new String(encrypt(arrayOfByte, paramString1)); + } + } + + @Deprecated + public static byte[] encrypt(Context paramContext, byte[] paramArrayOfByte1, byte[] paramArrayOfByte2) + { + return encrypt(paramArrayOfByte1, paramArrayOfByte2); + } + + public static native byte[] encrypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2); + + @Deprecated + public static boolean encryptBoolean(Context paramContext, boolean paramBoolean) + { + return encryptBoolean(paramBoolean); + } + + public static boolean encryptBoolean(boolean paramBoolean) + { + return !paramBoolean; + } + + public static int encryptInt(int paramInt) + { + return paramInt ^ 0xFFFFFFFF; + } + + @Deprecated + public static int encryptInt(Context paramContext, int paramInt) + { + return encryptInt(paramInt); + } + + public static long encryptLong(long paramLong) + { + return 0xFFFFFFFF ^ paramLong; + } + + @Deprecated + public static long encryptLong(Context paramContext, long paramLong) + { + return encryptLong(paramLong); + } + + @Deprecated + public static byte[] makePassword(Context paramContext, byte[] paramArrayOfByte) + { + return makePassword(paramArrayOfByte); + } + + public static native byte[] makePassword(byte[] paramArrayOfByte); +} + + +/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.token\classes.jar + * Qualified Name: tmsdk.common.tcc.TccCryptor + * JD-Core Version: 0.7.0.1 + */ \ No newline at end of file diff --git a/com.tencent.token/com/qq/jce/wup/wup.properties b/com.tencent.token/com/qq/jce/wup/wup.properties new file mode 100755 index 00000000000..a3e41c74450 --- /dev/null +++ b/com.tencent.token/com/qq/jce/wup/wup.properties @@ -0,0 +1,3 @@ +client.info=Tencent Wup/1.0.8 +client.number=1.0.8 +client.built=2010-12-16 15:49:44 \ No newline at end of file diff --git a/com.tencent.token/lib/armeabi/libFaceAlgClinet.so b/com.tencent.token/lib/armeabi/libFaceAlgClinet.so new file mode 100755 index 0000000000000000000000000000000000000000..b20a69c702ca4192861020191b5cb84c642ee670 GIT binary patch literal 7174736 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

rLUM`%imh37u_O#J3)i@ogNpe@1pBSd#aRd$ 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

)>y7rFjr6lHS<*+{d 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 z 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�Em3>&ZPGm=+H3kRa6>+!geU*XyTW%5{m?j` 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 z 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 z z5&)KXtd~(Y;3(+bnC47}6zfX=CJ&Xt*P_$wv3`4%$KxRyUH_fn z)|L={*eSueggOfE;pLj+vFE86yB2BGHtWGd?OYXYvP@)7?->0yJ;>^nAYYU<**Lc0 zG-2o-!0u3tjz60`^gr$!;*5)Kg!ML@ErwTbnF1n8g%2v1bY?v zrh47Of2~*RjCP&z)ks(}Ms<|US8^tZ?q3Y8<+~@j)xrDc(4m2}N~7-&^55%^L%`FP z4K5G=kUDGJ63sZrwrrfa+S&*X<&1e@#y-teeoy}5sAJ131($%CZaujlV<7$;)4^Zk zg3jKSj$ojZgfpuw`E+{Yq2^@Ru16(fN^@cUD#~0>9aNWFY4`PZ-bwlAh@W9FE&%fz z@S@U4RtPu7gh54SF|0Bv&t3GDHGK2Nnc+%9y>&Oh3zzQSr7QS%!ZZ#2g&g}=3jqdW}17A3P6e}(hM;hSB2w`l{fm!c~G zW2M$;rC*dn+t)&_ei4;^(af5Yb5<#LxY~NrjBryL}`LA}*?kqLRxv50oD zC{y&%ICv&|Wkplb^AFI_qrnl-U@K>|s?FsqY`1$9|K`M!cJ&Xt99OSFCtBGHTs=Nm z@8Rm|LLqQvtZmgipbJMgFMVXuY@?emFNCjV`Tk$b|Czr3m+(K~`+q6_>%cEY9n>$h zCj`AWw~=4`UuS=@64E^6O=*+(O7)77&_15+bm?S=r5V-eXHl2#)#tR zD~wqW|NSgi9!`MY`!Gh7pfh-5o8UjMdofbzh~lmASa;l;IOr+jLy>{*xHk};V4hDW zaORiN351vA$CcjZoo+$)M+z?{;LBWGe( zdi`b{d@J0sXO{g*@}IQ&&pf+K_|Bq^|BlY$jW=h4pYnL)jT7#9yz!SuKj`A!)s!8^ z??wIB=G_D`OT3#pn0N1lcY8w{^)tz^kNZ0POft;V<*PEjOO zcV49*4R>W`B(`{9O?>e{${cip^7!EY7kwi_IzN2%5A_S>_vQ-pl|@GaAAYg*&iKdN zElaz7n(n!qaY6hPN=Pp}KUd7W{(JC-_)B^Uyfmm!YOMNy31h;bBK%hvE9VrY<}H;k z3w^4zIF>HC2LIL&w$LE<)S~!2;9TVBm;9HU6fcDhWC!$mc>?++VWlsLW^Db)`L8iX z{A3Ic#f`zeQklbvA6$yAD*L3Z8^Kpyc){=8c-eQFfYanWdKEHJF&Jt=RyxrM+rL)GBCL+Nz6{GPKo;sdc{GWndJY|hCX7SAAnZZ;3w^7Da z;zPXk#0gL1+4LIeGNX(n&rF^ft)q-7yfZwhOU4+Rc(?FOA>QCUj`vuebx#3j^Qf-< z@><6YU~d#%9{6u(9K&8-Ryg)Wsgu%Gk?tNh9qY9Rr28WDtVhRKYYwrdM4K&*XBtn{ zH^Yn-!3M|fEE#qcGNK+Dd2&3$*xg9_>&y1_tVBN2?8u-2A2kLF#dfL(30_bfi`eVRgy^FC}cMoZ-FNr*f&*M3)pCz-G zx%KQr-KD>&KH6hH4m^aJ9Ir5-9lCj$0 zy`8|5t{5`#C&A_-JDF@x1HasFZyWF&y)kL)js1wb5m^3mW-#9SX~2BLrsELGm42Xp z_bm7q#W>q7s{eKQdeTV$K=(rbs;B=oz(Z2ni z5$f0m>?@$nPU3`Rl+CJv&aJY!1*THKzFWp6`(V zQ2MVwz2wVf%Hxg)hmt|erxu;!(&AUp;tp_-y!|EoitNrGNu7uDKLC$Rg)XPl=0%*T zr20q5r#`Zde184vL3mB^KO)|*XFcG?uOi-->F&JYem8zO@o8W-^Zps{n32wps(04+ zHRr%?p4WPj=J`5@^i=zs&fZM7t_3&lX~}WVgq0?|)<9>5hj=)*jJrX?oP)uC&acmz z{IBMJHUII?%5iQe`&00*;eV9>QT~rJ@3;By8_+}gjC7|zfz#o0SdXHQdi~1d@2kOC za^UJ8hW0kiWB-+SCyI<<-9~exN%RZ9PO5y8;}7Pt#f7f6CEW{rJxYk1vv69#VfrUmu9BZtEUeKlk(7 z)8zBpC_TMHc|E;DHp6JjCidv{s~;)gYJd- ze?&UTJcD$Mxj=1h~^y&{dNAFb9O>^@^2+wfCClS_JE&t4i_Re`| zk>=u+&~VHU=oMo;ql|C=!|@I4Z93=j{9*IQyViYSh&?~uNL$(Vd-%H;{#IM1p!Ea6 z{kyi4MmkY6!+7$=Ay#pCReOoKs{O&aoGEpP{L9F%yhnkH>iPH1(B7K~W1s0{-LZ2D zPbvbA(RAxrWb#D*Z=-+82CX>Rpk1A^OzD*7Y|`l4(Y$xWoNeTgnyuCEo7wt8T`U1WTkymm-YaHKWePi-jO}VPctZxeza-t-GesQYfZx(tIoBFY= z7o@QPvA$=7v-!vR{_X9ZDeBO|p4BY+fbwxab;l{(m(uFk;$`<9p3#2EW$m-$*vxrM z6P*ydT|MDhgmrh?HUpcJft;cK>9B44v@|zm{L7uf-o-}Jrg)lpR`9IiSb>JrbT=--zd(ql-nQ(FN+06g(>_gl_ z+*Y0!c((EA9>+lPF52cUtHczJ)GbnB?M!Mtp)tG9EU~iS5Hc!ggN51m@XOkb|4Lh& zvplGi=%su*vru=N?Bs1m=H|w;&++h6b!L<^XJ{jz(u=o)Cg-x%IC`VT@AG5>Vg4<> zKxLdr+BkivG%_eRnR!WlD{YfW=XJi8`oV1c+iH?cx&GN@?V4kUvec0^k{aGxJBflr zjHf6|8;6^$@tGH~o6pJB60Qy3o*T_uG>Vgkc@=e^%eccnOTx8;XOMm>;d=T)6#VRY zd=k4|I%&(=lj%p}!te(57;7};zC(W)3x6xE)(!(^18+TqldK~q=i2iH;iWNBxW!4U zx{OU~Z6KXjea4&YZROillp9ZS_A&fnv`{Yg2!r+d6DW6>%3zL#k+Uoqan5g=1`gA~ zNBw#l-<4Nuq5=GFf~FqAEvyB$%;UTkqf_e{@=Xlz;4{`~>^7mh^J^aO%r~YpU)baN zY^J2|GuH_6#CXQ>jOUrovwH`AoIDxQOyU1jo)FI}{!gcF>_ecO#a2xO*_v#~O@U6+ zTBtwYoO8+HALelz7<-GL&5X#4HjUISqKSNVwHE)!J)Gx|c5Hwl>ZtoHrx}td^Kvz+ z5AEi)pW2T3YFQwavS!@EI%N85_&3;ogq2ZXgx&mOl^?rNEih_n|IxmD-zdnp6a2-$ z<)(D+xjB;Wze{0dlOLzYl>>8F(a@A!|v ze$NTVh2#3|75tB8J9UG#Dr@nZmM;!_wJICIRs5jwt&DWj{0!~ z7`ALgF3Khu2+zsq@uB(^y1&YKgmRuCjlvHTo<&%^C7C6DksMx%?k2iqX^SPak>pM! z(Uj{=c3C_2(13L=W(4h`)w-8e+tDPyMkurqGXMb}$xY3#fQxbP7E571=)C%gVi zSn^iB??rLiB!Q1MzHd8|&RV>!*CjaPD2YE%_%6oOhMX<`@h=M?Z$hm1KCSkUznSd& z*yiL*V?-G{S%30;i%RfuQlA+~-%-5M2O_Vu2h6$I8zT?@eLr&s`tG9XVa8T`pmZ1X zyvUsFdy!WdZ=SF;FYwAJX3d5^H!47#1XDiXlG&``RR*`g6ZpzYKU14%9;G(cxgLF? z{Xe0361vu%h@ThFZatj;WBdD`O`V~E?myL8+uAp)^R`3sk3wGQt_|rUvN3D#Nid1d z0bKFrAE1Hk1fuIt@$>3HH&EE-U|O4k^4MI{v0~zkTkS`p2&bzbt+t{3v1hQYuXg zVTSC^|%p!n&4wruL7} z?S;FCx0ik?=>_vh%DS27U&6}=S2PXy{?o^7zL@Xgt$rcjcjYOu+bD`mkJ;-*s?*J+ z(>W+%(&)SD7dpq$Phx+#fu!L>+AW zS*PyHI<@?;MHkI&7&~&J59^?<#Zl-JN6xjR<*!;MnuJr>)nkV{v`8LdN%tzn8qAnA zvNVz&Dm`EGry}ZOmrb2Yjp=rsXzR!HUGi0R-gA#r=b&+={oRNzP<`*`zQ_mg$9qh) z>8|Ta^fi0!ld+h+6Vy#G)P7;skwb|vw76J4jU!8`Q>zQRw+kD6<0m2a-taT1i(pe8 zGKFzR@(G{Fa{O`CPO^=J6NJO}uwILNjSisBf=`>f@Skd8KSDb~KilpYNGz~8)1j+w!J-8nKXKdHNMI*fv&OobId8{d^qUxMl9Fs?uQlU` zVcv}{dKcpab3WoqBA4;)PV3l__&(DQo6%=k`>$*nqH*Dl?9a}1=4to$lHZ-iBgy_) z>oVqS;%RiLG9$d&x(0i%zRTVplz#)f+3eGgt_&EJSG)Sr6c_e#7xn_3t%A(0iL;Ln z89$ouqOZyin#^(1ORYa5zpBsDzKOfr1L%Ec;pfsz-xzm>qi6n{H60_J$`z&4gIe%q zlutl${BHYv>0aQwmh_VIt-ZjPvT7Oocj8MY_+@Tc)h$b{UsKLjeD6vkcQY@!)aG}S zypjW6SxYJFzRml0)l$YV>MFUYGM1v&+c9d#f~;rd+{*AH3m_Se16 zhwFGBuFG6pe^u(xHwN5P0bJ4dn?7837Qj9e*#8Z#vXNH%a2?~~It7@~0+_<}%Py`@ z7Qj2+hwBs{t|z#-p6=3hDsbPbI*&LvdHdAJ(piGVHjb2+<6|{An+8PDk zV(ZYH*VcPYTN}F{Abkxu#s*&u11}VD_N&(Bjh?h9oXia4j!VfqY9rtZ53hjpvR_4K zg`O3=nTMS3p7&nwRQTNKM?%Ykn}iPz8Rg=mo7fMN^Wsaqcxc3`3hJz+E}an&y;2O` z9!~m&_{rO3&(8%?l+^+41AYj{T;D071U}TQ2iO}?1IuU8{z~YCa1wt=*i`s(4&m_M zO-BxqXv|5@VQ4n``QqJ@v4B&f;7AW2NXBxoa*k5kcmaJ-`M>hYH*${DZMib`iR2ui z#6$QRlb-J(XJypIm6I#soyb$kI2zuE{cLb%9GM?;w-bMKE-t$$JD)y5GJ7>=7K%)UFy2;SF8(bzSEZ1-$PXg{a8rZE3hlfFI#)=Udk5S{dz%pH|4c`A?^0p zndP-U6j{WgkGktODMCVpiH&(>t0)* zEGX|>wbg?UOY++KvdY7rV4~Mn>;Q7w;VcL8TbDN0 zI31cdPLm79=?(M&0p_zlb|3I_LifY8N%J3yB1dOztO$H?YA`-b@X?u|PxK)`pGu1(YwCbP45; zp?tyTiG;Bi?$Np_wNl(2i61-q`Gvwb`h0jlajn=U9FUiEzwamRhyBFu!p0*%@1OWD z`HtE#QthCubU~Vn`YETOAnw?L|0*X~5cg-w)ml(ppY!^B1O3zZ3}Q^KA-%#!5MJPg zLxi94!iNxc2y5L{Bby3PM8#mzb^az5%B)3L-^jJqS)-g3ctX93Zt`8 z`H}~%I)n8<8L1;!-{e)_KE8`P5y0QFUm682{W5sSluKLl_vTR^uG(nr>m5QGe_S*N zzwc+x+Y91u^~SA}{5u&}joT{16TR>+3D5MxPZR!{7hXYlgBN~+@Kav+XN2bw?)bbb z7Yl8`P7j&b<}U2}AchjW6TB;Vr(YUrE#eu)WAm*2%}8r0PmHIIXY=}zRy$7v&(3wE z<%#ihzR1ISI`06_vL{Dc%YTi1AkU7qBdvuzd!86+E#aB5e55rGd%<X1>j+npPick|{-hWFEa7)a zBmCymSLnE^gfmKMbM4Kc-Alc+$B}jpX&2thoi@}tl>f-Kdy3ej^}GcWjZD#_XQB18 zl56^HmwaA&#yynz)Ge+pNSN^FZk3)697TG;Z@(Sj&N8*PlzMay^~dB{n}F|%vk$5B zO7bG3GVnlj@MGK&xGo02Hwayn?czMuy^=evCKIQy=!LPO{rP_Nm&uFHeE{)|BZlIK z^?2lb`1O$-h&uu;orlFIg>0@h#>)Q%!pmJ+To9{U;mH$sedEwdaR%N75_*-^(+2C;#K!?%*)l(HH$Z@edF_K zIqlK7Vusw4_QIM|=_CBPznDDG_C0CV(Nx}=<92ZL8#iGiT`|c^++v%%2=G;l*@oDO_)>MMF)}uGnoHkH~KUOy~R+5RDwGvHbFQrW? z$ImYv%)q$&UG37^QQhaLAH-`7OHYws#<`TSBCiZ|6s8Rq&;~$l&lvhEy{%+UpXDw2 zz%btGe<%I_A@x)bd4K;G3iqAdfBy&3|IQETe??X!UqXqIq|!N0B!`M`blDtR{T@3Z8rE^qGdr~lczw|9A7Ulgx4y-9pW zKk-|MZ~BC**N%U#Z;X1xZ^vBuyyp95*175}tnYXI)Tgz#p`ZE`|03~%W8)dmp8|9J zePMjSP@n3O?%9t=UeFW5_D=ujv1WYvwbBW`q@YQELOBsHjbz-?TT5mvI%6vDyLn5_ z)y7-vZ3T0481>7RP<&?oe%r&EN}SUFdb^pi*Bbwz{nk$3WM`;#u#7VN^>!a)skN`V zIZvPa^R&?Jo&D7PN9x}G0d-HL?$n3WeG_%p)Vg)o*7wyt-N;S)_IjLoR5|`UV!K^d zLEC~nix{JG7$fnfXY+33eHL%=)o1Wt%KLQQl0$M&X}s01M*6jaeyy#1|Cm0e zeM+1B{gDsDj-g+TAJVVW>DL~wU)HI8{W`OtU!S61D#!2FZ&(+iAztQ@e6O6hWW7i5 zp3M6&-jXLC%Db62XA^p+ebQZLlKG&|>WT3#A$}C^BHrrfX!`kW`nl}L_xJM}`nilY z_Ses?XCAhD^oR7blzwiZe&yYk*Uw-{eb*JVZzAneIez<~oy)XO_A!3uo~k(fWJTMy zqNI4muVvPZ>&S9`rmQ8Z^)exgM*o4Ku}rtt@-CH~!pZR@&bphesfpRYUHO) z*|R9iPTZEWEzT50Qdt{4EI#VWZ0vz-+v3hi*Dk1U7OKE4yQ6G`lHzR(4l1nk}Jh8~v>f&4oEdmDNT+5?{##=+n@|^W9PWT+1eKV4^v5 zEcLNxr2p-)JzG5a#R=d`T70?e=nC%`U~R&O+)bNEgPczCC(+^o>kIox8dztTN zT0V#T@A6HrdQ6(+>>=;mAX~0Wj9(m$k#sr2|7Fa>TYM{xHD_c45R735fWBOJ4cRg1 zPxi;ROQv<-#d!zG^Ge4veu-4c0@^#DZ?ctW!bT!K4V{Cb@8>&KTysAkdjZZ=VVhON z9u^-bJE%tD7vF>b>f-0nHDI%pY|B|0?5)}!F>T#7>$$A%ZjpU-ID?&Pn){SyKAZLL zQL41=eIsPQ3Y|1QyQ_FTG7j#`#twMLto7M%X)G8Mc&;)lGn+XBo-wvM?}ZPcAw}tV zgYb7Wq%!@`kX=P!ptJGr9Td$&CKI>6 zkLJ7a>EwN%HRM|20#VtrQ8#j6`4ZUglewSrZYB=q zn^h5MY0-J%im2{aZ^?azyrL}w);;_0-|_cY9Wd_0_L#o=_dhVVgIQxkKF&V6$CSr; zM{v%8dsa3o{oR#?Us3v@`S;5?lyX{4Ir1T^6(7+qeJ^a+->!$A_1cwRmd<<~ zY@1%Ej9Vx}GD)oq^iIZJXW8AlTYMvNauaUK^D0TfHmc-E~-2Rz2!^z}d zcHs-EE{R;UgK-3Ah0@sX;LmOXHa($CDk~d+5PNPT=_+`o8LOl zb~UuEcOo&q;oqZ*1UmDl6@l=UBCA5SCQlni5o;4E zUL(w%Uq#VTxgp#yCf^I#`(?DYJBF!R%d1! z!8IQP&pe{_0ZuV^F+Gd(Jz76a-2uW@WYG|prkXbdo(8&V7C0K52u<}d#z!=iXsLh= zUNka2;YIn&@bF?{kaMZZXWthKFCH}xyoi5|408rP6dou(bljVqV+JpdbA%73BwTzr zmG!H6m7j=dv^7Crjy`Jrn>KC!Spfa2*;D=F#o4A${o_Sw%(5}I`q=;7O>_BP7e(e| z_EBTE_PX|ce>nC|(h4VjkGZKKkJiUY#A(glNL&MBh21IstSHl~vlp7Zkd}Mh*lFDT zFX0*8S=5{e?S2J%yOMJ-{&-iU$C+`~*lMh`)^#4pj4L=-W2!ONcx!Ag%^TaLtj(VT zV`~%Y+r;jl(vLCpD`>fA@ahN~I}Q3Kysx>|o>IKuckUFfiU6a3J6-DUY?)z=J+Z+DChYaXsU82qF$Ih`@V)&V?mkLxcauZ*eI zhvRX5_wl958b(=DOj&n3qqRQr${O<#W$Al7!xh zwmfWT7}){M&FyL1)B6Bvd{|fO!MGyMvwxR0Cmi6OhiNtEVc>1LhoWz2VGU`G7BiRm zdCnt`;D0sn|2*pN#FnEF{*MG+cVG)rN?srSPyT!!{C_?V{*&&b;QwRbj@T(54gY@v zPBpr45B@)<|CGNU{!@kz|5w2y*RUqbckgxej;xI!d&1((gzR_a|2)WA)tV74Qo_2{ zw_x5kodXnXHgF_1YsjP5g?3ACWbk$joh;=a$(om6^LJ>A+A#{8Y3@M*msyca_Y@nL z#-5wXTYGYv&g&(FBhVQkXV89tJ_k>TM%NoWuZObaqhi;C*dekGTbYm1X|*?%6>Jl1 zYACC$F3>@k%6&Mofw0;T^Xv{M^php<6W9?5ZX8_#JcPEnW zcuxS%h;Hp*zN$}N>{R2gt0cl1mo#S~!?Sa(jG=hGm5gT_<5n(u>FNd%9;^Kt zbK6~%1V3I6%(43Dnj+Ss(hekT{(47VP*oaXU3hs*qN!{vYqE**g0x3vie^-qC5gMY zzGdJ7b5FdlXEJllcZc@%S7*(_}Nm6tBZ|NMPz z^S{ov_VrgN{R^u)%`=$IgfU*^BZJ-$B-v~ez$Q}vw^t6`K|Wm_eVGH>wS;8 zeVKK2GV}Xe!WMRvTE`f&m3``3SB6~6`}`Y1yC1xRb7J25+r;^*O`Q8W*!E>Q(Fu?z zzkO-iw}`mH_U!~WYyHipeXr7{x2a$2PkXS0eXtt43V&~{=lhp{F*}ZQZCPxT%fW}R zIa%o1hR7yl7=p*pJL2{MblqNgFmP{GY;mGw*FY^R~I?(WjxD z)me7y`=tB!NNX7Hb@N7AmAu<{2YBzoKYCFdycNC6DP}K=KK>8J&-K~ej{WUMXqP7W zFCQ7e9}RG*w`=%D(#_6@Zw_0XjQIp(7vYZmgz_Q_->g=uWLNT;pap#x<}9K3UH!k& zdi?cb=IAWyD2B%23?RG>cGcwJ`!>n?IcI3o9)6;oZZL4dz^;%KHjF+5*S` zbT&wO579&NZ!Q}MWXwD|1FHC0Zdh_euRTd?u=-i0axPFC$SXe>7H}bq4|6|nSiaLK z$HaT#aO4$7{pey|E1&~P5}bKsjfoBjMU%)p#mkF+n8TerGSUF=5HyL-xdt=D zrP1rFz4lzk?fZfKE5{~KbmQr?uLyh?hNpAelId2zOxx&>?s!uFC0|$nHb=U#NWOF4I1>#|w85 zUu50bEgxv2rTq4*4Atki-<>y&i`#x9@736O?Z4Ty-|K%~`M)ZN_uIf$>CwGFdA{|)TSgZ+&!g?8Tv-p=y&@x=v%?YuPS@xOxq!aJi0hrICF zgadi$&fxzpaD&o4ee_KHSk25e5U2CViaV8XhOpYE|0nZ*qxWqD;dNg4M8Yopj(rnx zALKXac+#c3JjW7V=!J(8Zu7#`gl*)++RKa~e856?4q0Q0J5%$+y4T$bnnV77O8ZB& zP0TCfP|6tXg@c4k!`w>`zN`1*N{AEP{UUL-UfkZ_ppzl)IpQk4xW5x8`aOAl*?_ek8olour*A#pA z0^XVcAALx^uad8n`rf8~&BIfhLc1@x#+A|je%_wm8DV#>bf2BpPQv@o{Utr^16^D+ z9o!L}j?E)a15bMr8%o}-Jd?`Lu$p;K=LvzY*4{GGs^>k7r-^3v^a~>nQe;+=Cd-M)OmOAs3ed2xRtlopToP_z!K!c;KXX4 zj+0gcm*7h&Tlb}yz5~A{D;kE3wGST61Rkvd9<6c?u^!k~f*;85bB1;>a%!9Pi|oGp zIAo{CRq`|-4`truU*-n;t=Dgiy!Cn=|0Ch~&h`A4U!Z#a-+o~-vyQ!THS1Y4k>>6j ztMM@hj~7UYznZ(n+{2p$$1;}s9!w%z)gWDMlXjBAv8I(2P)%d~9OU6~>4NansJGa8+P&V+N9YA#HA z@e*O$U!0Z?ANpZKo1jN%uvy=vFG;s-J&ioOz>AjfF>6it&91dO8QWHT3`tkf%DQfb zw{Fcf@V>thUXi(OjA|c_XAS+)xg2@O{j9r))&OyJ#9cw$eZ)0*arMMqN!$YBqUdYU zF&LU@vb~=6v^xo4r0$dsS%VzG#&G0v2R&zIx&{13?iOL+85>s4t$fauD_h^err+`r zQ-VzF67&UvyG`K1`KhpFcmsBQfUTKGNjRo8l)C ze;4tp<4DSSoig6#=>k8OuvR3eQQlV4%q0BYZF_o8qVJ~(6v{bQ zw1Vb?IDh=k)cAS%bhh$ccv$q`Mjmq)cCLcyN#;rRP@4N%#!Tl*O2V_iNjj%3dA4v< zvvWT4uC_t5_PoZky~M@yqal{Z@Q6}P9;BCSFU~FDaGEMjuaQ7ldKG=NRU4y>X;O?mIq|&(b;qKR#3wIwF z_bPFrgyJR|+}+L@Q1!j7ezDWWInF-ZtuwYChP&s2yXW?cy9Y2nqbaWf-D+hLTAOlQ z+$~>$!rl0K;GB$b_jTia+)diZeID+fTk6kmh&k06VE=!R|2v>-@JEn`yXQJDq=mbc zt`B#=2VEfCz5A=~{O;ndb@C2xoB0(!&d1$0^Sw|sQvvQi`vY*d6?@PL*t#F;s?3?( zy;wYaR;Fac>`X}=PyOu7?8q#1sN=hj2d@j(TPbMS)O;r&x7RYi!r?w{7cQ?0ySQC6 zS_A)u*UMrpnd?~RK5n0t#%~dH#=nBww;+qrIn@4eyUz7#uJUpFWa{^E`{fFQZ-m<; zr2S`c`!M?V7Wk%OfQ#FM(2s&C=v4RP_OSJj;r1Y9eh_ZI5IsX7ZkK&kahfw?GH<{Fj}caQnIF?hgjH%O2o^aQl_WV};w}vH7`s*$2xixGT)Z?NOI*YylT9 zgvKgmulTtA@z1%q{ant;Bs*Dmv}p!u)^Sdzl=%uJ1uO73W^5V`#O;4M1>0q0^0H|V z4(PLKAl-i4-t7DZ+~nJPD*k)?x2Z#WwwnAtZa)nEOE{(hdT-5I_5}JFjg4gWljuts ze!|6Htcx7uyo4-uQdHyX;`<85TKFEjH&d=`iareA2kkz5-=%fRJXC^*t10J$@cl^U z|HJV8@1`7x?_c46A-=!&SM-Z|^6~wz!B3i#=SZ(H>EtaKq`Q0thg{y5dx#CqfL~l- zlJ;ePa7p*0Zi7A;O+RY#bkw66^YhSA8~T9tr?n@&Yq1xWeg&Gr#9vHU?Gb$-{f?DD zP7&p z@RPz?m5)-@6@~wnZdq&YDtznh9KP7mnliWwny`d*43mw0>h~_u15^b1I!5 zlKxsR{VLL*O8N=x56PQFlZ+#5>LiW&{aP!wcuDSzqVA#?v;#O#cr?fuTx;fEbLY}Z z8RP_-uSv|8(x{xLDMNII@(!~ZFUk__DSAURsj-jo=#3GqJ4lBfrBQmx8Q!El`E<~k zl>HUx9?>Lb9#kHE*iQ$M&!>g<{W7%sw|+X}e@FN}9{FvPe5EMCx?w-(??sJi6LWAp z{TE$7kaX&k=*QA1cL7s>Qf2Z@ZInEyk@QEB{t(4`=~eb2w9BUjwa>Rek16fpq}3hM zb$iBIjdb{f=&1%|B&|31Pfyj%M-C$Yh?KiM0Zu_4BAi(ir_I>kO7}KSo;z4{FCiAl2kK)O!$@PMla+rVwo z^J42&mO>W9m=s4I*s5_5Um*M!RUhNrTa=y*>_iUKfge)fhvu>*a&^W6H?Aofm;F3` z9|z#~OZEe6hKmmdXTn$f968{C#8mFyz#cU+chCSkRc>sousf2jGYF5l5L|~KS4}YfMRP~R z04tTfa=3h6aP~4hHy0-ygtvu`N8TbhG+ug<*93nAKPH360@%As|Dth?^ZyXWCCD9G z$|D$R?1(*nX$|9B-8J99L)}TX@AMQp}lMCRBf zkvWm0i*JNqyXY=(`U3;4O!wg|*)8ncNSn?daP@x<|6uW_JF$=E!~Oj`gFwaUX|LWv|3Yvyl>iz zf~Wg->;>oc<$*sl@yfT0Z_2ARWzjG3K1GxxSo}X%GY?uPNqkL5Z+B)7Z)I)Y?#M=1 zd|yeTne}&ZR(hiWNsZ$qGmhdbM5jJ|vepy#Rj~F}5Z0Inp)Zujj3aX_I|TUyHftkt zMP~M@dDPJ|NNYOO&pt^Y|Nij#W{>5~w_v>1xoK~DUPk4P*|%^1nt#l+(OdJZ^Y8Ot zzKk^wTJvWJK9iqyIb?QGs(hlxN&A}q67CUBlU!gx8ks%sqvr16jI!EzXXeDu;EzXm zBdW3Cyfkn{^XB8>FmQb#;~!wWq8|Pmz_=~IF8yin06K&o<^2-hl;#xP{@Bjboz;xD z=1Os`%+*iG6Wd?k!hY+U;ni0|Sz7Oc!T8?jUF_8-TzT17pgDLq@y@*M;u|AVN6s$T zX~of5d=Gv&1{`E<3T6s+qF;3a9rTlRdMI*Rokv;2-S4uczJ_+rN>U%Npfzv58#t@| z&NvnY@7<<+CDHpbSCL+Q*82UV=E&%}nsc8ZY%3jegnX+k#y*oyOzSNWfu7S|vu5SQ z>z8V5(#Y?0_cQOH#r{*6w|w|{Ug8_L~nnKN<^-#Odt3uq;_@`c@B-tnEkBK~+GM0-Qv zjbM7d^B8d1)Wcp79u20^(@-Dx)4adDFRQ!>-TCGHzM#B&C{OLw-cnfs+WU&BU$(d| z-L>Z`))ad~@O<{nxfu(;sKMkM#${YK8JM#TV74E&7bR2OtwoG)5}(&vlaz;Tp`mYs z_^P5mJztu$r}s|Qi{QtRjE&%j<|KzqQQ-{r4PcF>v_8piZ)+4$e7Z3D(6COB} zc7BUKYTVU#r}8XNKo4-~E@ zI86F1{s))`vnMzora7Zq>yhDM2N?a_ao z9nOct(w%;e{vT{TfB74>qO3j1ITyEZF69k(%`Ad=ox#EttkhmVdf$mfvJZei%o_i| zG5XASm&Ca%37vf)jZ7}e!&=cg)|km2La@PN4TMH3%1gA=>) zwO19)=={*b+cpi~oZWQcM&@Ng_Hbw#)^IrnHdRGo`N!q1dF(l`-P*S4@{Oe14E=La z_E5f;WT2rFzd@JL$+Hd_#>390;VOT8H*(~%3TS4nsY>ixc3^uWUm}OYW6Qs~&LhZ9 zUa}OE2Ah~ldmVDOMT`UZ1bu?^>6|whB0F0v;@)*$VPjjt`I?G!vNS+`^Nn(K=7zI- zrJPw9qH}w)6I31eMlMr7EVUy{TV-QI9cqhgdAQ@$38e2vuc3!J^tQQUB+47ztZ+zW zbk;WMfmDaiWJ=d>rSD=tQKvn#G+=Yyl=iNs&Z0DRQD0?RR zkLoix3Z1DH#ji?c7H5&%IJ z815@$17+wen_yc5uq`}+JwZ7k$?&4$_wLN-JdMx))B%qsv&OA(ET_9;(ThT#q7UQ| z-4XY`9mThG$fGK(RQFosQDNxZ3ZCMQ1zT4VUmw05yoSDsIQg40_W*?5J3?&YY9gei zUg6_f!tX+Vw2CK+q>ziC>&$SM3vcEx+mPu*#+~Ypkgh4k-DSLs!V9)GbwUdW7KNLg z^2};ySfLm6YJpR+HF#U0G^9q6y92bboRj^jE(NX>EXU3(W5hL`pr6+Vz)b;(uKz1 z>v)1ZHHUV-sqt7u-V~3ob6!GtA@wfhy^N=W=L^WbTFKuD+*O_x#I59!4pw8ACagS( zbMWOO{UYNOC%xKIoOb27jl{FYbCu<~`)yvXn)d?&pLvN|^uN2S4 zyl75Teki^GxeRBl({ngKH_I7z3_4w&2>I%H8nT^EQF_7FEy%IN$3<7MHZ(u0+MSKy zQ0?h}_BD^@pwpyt*G462tG%{#kXF2P3H?xC8&!T}UTzZa1Lm%rx%2WU-DJXFq5ab+ zSMB%Pp5Nx;1anH8)t{-PPY|BQd%D;5Baa5p(e@dB+rj@+vh7Z-X@B0@qMz;LTf~#% zp-(yC{7K}q$fGtdEoY9dXMC9x-T9>T(MEkC{%ek8i=ulLG)Enz)f_G7oj*q__`h;^ z-yEe0f0jNj6@TRQQS+fbYMwMN>RTuEtm9cr`YxW0UjL?%PyO3OJ2f|*%*|xlP&hY@ zCY?Js9i(0EwINDc$x8gW*-pIXW(V*5x!GCX?CkRLXm0ipwzRKIU973J?C+9J2;MXl zPdZjH{PGCKk#~r9cy*^!9A2166_lFc&?r-xJ7pEr>R88ecg4dgQrW2mV(@J0&A z(|2etYu^Uayc0{AdwzJG44e!9AYdEX7#(4``WKm?O(-h`DS>RYG%zY57-Kn;_ zHYGP7EqVdiFg?;~V8k?F(K_-7w^tm~>1?!znsvN_ai0NxN;4lZ)`a9}+7G*r7~j2( z`NEcSq-ePSZ7}EMJed=;LREuDoh(-*;D)v10|a+hm@G6iSVm;8HN)sNqR`&K5} zo!v)BPJeYqGTalji?=>Qg(<@y6U@%pW06V|!F)Z|{?Y51+lKSGt#P z9RZ9fShLUl96o?=*XDieV0^Uip8VOq-laua_uzfTN46`Hb4<)j+eli$$7g}h5PH%-{7?x$*1;ABA?%<-I5Uyw}tjiCH{l@ zw3YlycO7khiAOr2Fg!*giheSBXJ#AwvB(;1WL4X>j^F{dG4G#d%(R~9d)aO5$8YOD z{hSD#sgJT`MnY*1$tNw&8tci2@@E&RW35Q=XbaZ7DdOG?WC*biPf*<+( zhoMvKdB{z$2Lq;FO@6}%$S#8ark*ssKzinoV%D5^5ZwzCC*7u18%&*F0*1+7qIVWQ zTd!|f@k^I={|?wvnO^NwX5bmp(DWJFO&KBV!l5PLY2XpUv)-tH))(IaKj88|#9Ns~ z&f$g^nO7RHNlV-Pdh+`We^Mpe{7uC|LlUt|Cp&c3r^~J51 zen$Ly`DW@J2VF(IYNL1#uYanyIGxJsY=G=sH)S`NejcZBCru!87jvO@GkzQ zQwfXT3}|j_<_4Qke{K$jH`H7#q@VDIhMz{3oPCfs2v1aETN+^R{XrPiMy9z;PFS5rhxiKlWjN4D!Z4%ov0j1HdyB}ckERT{AF=?wm07w=8Ze+$Bg@hdE+kH$E{Q23N4j=obq=egAi`h znFH~N0r*4coT`tr7uXxvF=&4_W!bmz`t5I6);y;xzJ_?MzjplUbRv&nJpfO3B-dnj zT;9pLPQv4FG<`x&T2_f1RQpphI46!Rzy;T3mz*gY1A8sx4iUfngsd4ewkLajf?_(BRHbAg`>}GD+h0GS~b=RAQuyF?U%3mWH+li ztEpodbzwv86ainMv7rgh%GHG3^0-^uD>IrCe%e7BE8wq}UjeMr*t70xt@+!;zYK^= z*NU8n@Hc0|TPNJHxstH!w`L;qyui6adxSNEe0xwSVYN39Uf|3joxbavXc0sEBwC=q zTO5t?M803elfWlZQ=%moii#dY?!`ElaHo^xlm36^{HZ{+{aN(pFHE6K_e?T01%1?f zYaa#RPtQ~RjDchypCT;$8nT<=FPd{#YYu?p)1oaynrNTw2&US|&DmT2TujAgRdYe! z{c|y$b0^bivlSIx(b%nZq&}WN+aI%CK| zMe78;v3Uv{sj+!2+2=>+=foBI(Rq{aKPI1WkNSQK|1D@5%@2FNtc(Az)3IuO+>D+{5 zmpZ2}IA1ND6SSsam+S|AcLz4UUb!pK@2@0HSD5_lflk6}dD8q3#Ly$PQ6^;t?eFGR zP_E<~=;58iwWm5_)%{~=b;gV_ zZZY|-G<^Dw+0LP~%jb!;4#Ln@vGi}9FyWZ}oKpfU-+{c)4x^_rx(JuYj~IUF zzO91ccjv+I2J+PFyr<>*GFy2c@Hx=Y< zBF|)=DLiq~P9kqU&m03jcF`_V2JpHRcn!T?B^?g-F`V;r+kkxEDP}xFyu&=A2bEVe zVSafD;$mUpFZl^^%adGWe|fCwAU+o*t16~!s||XOaF|DVrFY0LPj%$~j}-iu|19A| zwY8M_oyeM!J%#Ya3|o2K^9{GshGyZ>JD=GWjw{bahW5Wi=@asWoXVbQ*0a{#MC|um zo0zkRLo{X1AP-@E)gi+W%~6i5rH(bLb*i;h$C~limUs`Hp^n+CEok>x+@wOetrJ`Na1+vKll{gV%eT=%iiNa z8O#bBzc%zq@~e<(mkXaH9}!F{1-31OUJa5@@G)P;AYJ5O+V$RL@*&~YBOj;2(I=d? zuNRwu9_gtY$*($m_^NW>0@fj3>_KE`WF^yS8~mg>haowX`aF@cUnab?%aw1gMYgzu zOp;5kBOGC(bw)!n#Sh}0Hx%&B(Y2j{U!ncdi$&3C=C#osaH^cP_ESI|IvwOC&Q1&q5En(FvuSfs3#3e+@Va z`4>EB5PE3C2k_5BzH}h}To2#l^Up_upMCzhKi;_lo=?2I&pV5c{&(}vOMmu$-dQ|z zJ-ng#X7SMf2=BZL-Lz;)<0GLB7?&ape>ed+D7q`C@wKo;h%>g_`x{Dzsl&a;7#i=G z$G^3w_YmqYizpxRYU?YAs&&USx=Var$gUGUzaRf17v=dExv0;-$er>p0&nd57vaC} zUt|<*dY^w0@T=@d*Lii6Sn&__FTxqM*IfT1@WRN8`uvN)<3kh3HmuLT2w`xm-yZqR z&^b@hjXLZ0e*YqFUe~_}^~4+ zw+vhKb3XG%8lGyiuaC80rZYjZ?W!O=)Igg#W9?&Cft^<>`zh98^9bmTbi1?TxQ#}Z6-xX5L4Zxx zEc}CXGUu*;kZ)3s=BOst?3@(qbVk5)xxPW}hb|nKox%6C=tz8j2V?V%KM>8yYrk=Q zeJCuS95K#P$REfbdHa4o&Lb>8AAXv1_`eICveJ(tyu%BhL0G;%{B)n^zkEe0-GAc` zBNp8-5BqGh_K+oM$Th4cyR-XQyDK2 zH_VGGCQkg5&TUqEaqm6D7_!IY@8hjY2}37py+~Gc=8LXwMDs3xAK!oYz20rmprSwX z{e2w4ylqrGd3280KQos6vg=DK@%z2K&8$m}&-2e?|J%eFxUf5pl7(&g=AK^p3;DXU z*T~hH`>8`RCZ)N8G^(eEwu*N^&e+qq#-%yCL}%9F%Y$baPjkaaE6jU3&*=40^PWoB zLf5_WBvCr(^Vg`aorl!vjen$LFSuSw(+(nZa< z3cXUIeXGt7?|^U7S&<@ZP`C8J;@x+^BeXCc+E-KfA0xf?uk3`3PaobpNdqtI{EhM0 z1^g>Y4#uY2s@g^T&0gN)`Cmz$l37TPRb6zC^R{QxNV#QJsryZOtUchzE3ZNR5ry85 zqwn#~5or80<~6qNXVkuTee*m+*~7H|fV0&x@dy))%wQX7t)wfL=pyXOLnmd=qCU;( z2I3g{p4Pg>&Ur)Ub=I@O8#}gilC6g|w1M?BV-%Y?tJlPd*i9ToT$Xe4zO_`jmaW8?SWB(i~n&p0(sz zOL~1*dgZ&0Jl`cxq5Sq2dGgzzGEP4;<$^mp7C4hAYie84;6m-`GIaUVN)|iQC|hfz zggM5pbZZ74ce9a&xMy;+{GV#gakdb*jb}U04xVEA7)Z&_D15oCdBsjRQsr2TcZoG8 zQ)18AdM&!wO4=Vt&cWZd))0Ouk#9+^CEfH?%2{xP&gY08V!x4I>159vVNOSuV^hu= zmJI#V%)jwt0c^njAoD|X)W+{tT=fou2c46tpe?1)5+|^>D&p7~Q;yc$xu3*`cQND2 ze{61Z{(6;sItfmZA9>R@?_9%ZWYU67S8Unadp2WeYfZDB$9nSXPcgQ>ANVi!BftJU z-=pMn{cg}MbUgUd?4CiJg=^Q`io6VbtF}oNAei_g=2UIo39Kx&UEJf#GX_rD*P9vc zp5s>^%=%&s1K0ozrf)0x2Cc~5>XN(YTtDON^#$ci)l%$|1Y>1?UCjF7&XKKkmoYb_ z*Z9^kw(ruWat|ig&~I#Bd*qwYpEvCV-4pR==Bt*qI1)OmiSIVyzV^&(?u zDQiIR+srTdHQ#?j*R6gZMt`MWP`mCXELvhG@Vsy?&{>$d*w^jy{7U~e?OfYWTHu07 zyOXq%Ayj+)lP!4>>n6zldX{)&BX6Q>%_62dSq)Oncqmp zME@;x2|ByDEqcDSoM#44oF@f>Sj4lDMr`8Q%+qxG`BsMa7M`W6##&+iZzDXNu;ddV z(ua9;Kc`@SMWbsMHHpSI@q~C}o3-?`^R0HCglh+o-4SD6zzY_-DbcneZ0{hq6|rQ}h2<@L%xzdl!S7nNQJ# zqMZzl2JB8qmvs>5B;PxXJ!TKu>#ySUeU-JZ)^&xeB1W`I$@o^S$z84(5GkR?s{n! zaJ$JnOEcb_&0*P?@m^hX*lvfhJDBlCXJ_&}K_2Ps4ki!htxcY#fL9`8=Wb!;n z9`Ped=5^Z&cTa6+Z)hJ#huy-r8uobD)02yr6A$j=Rpj&AIKyY?GwH#1eb43J1-FKM zM80dieA_3vG^g^Xz5H*H->-ABmoAr=PHlUKG-fZxxZf`N{=FE8`g@VJ#M(P>FKQ1R zxEH6=UhHOBquPsSLWjkmiQVa=LH!kiz;hbO| zT-q@cxO5O>0~|DKao2H&?FL32)cW1%<>@7laCz7CJ-w+X-1WONZ~Z=|vHpm4_^`LW zwEm*0gI~XGUcQFBbs6;X=da&6Ub+!^>HPKU!_Xi+yKrLwI>>^C(EJOgj>4~?e168m zX{U+v8k%G2B$*fPkON1AXJeZ(J2wSAqikox7BU}biA%isIrUF2Uyq!xs*&`PpXjX2 zq$IYo`XAPuU1(sh;NGWbtKtL1%RWPUM)5VoPh~xZES&|_I&jaPo~wPp_jf1iyeQ?- zcHcg8l-=$$C=dEuS02E9A*6TZD5>r^vdboP4b|ieCDGT?Hl2mBW5&NAZFBdi@Pg{F zp%Y~@BVDM!cNJenym-*CMLe<%we1l0?kA`#M4bQscyCO)XsgOmTdNr}n>K`KYr9$J zeQiZovcIjhv{mOyTo~Z;PQuGRK9J5)w4~@r@Kle+Y}~7Rd!Hw)Htr;>H6i@_lkDDJ z_Mi#>h_LKI6u*?PXrhm6E&tqI%YwsuSkD%lWK!We28T))ehqUI<=ZH9(*{0!aG`;| z;Wx<9IXLYBVD$mt`Tqv@PVR@@f<X3O=pP9R8aBjg-HRxGtWJJezoQ9w49R(tZ@JU7Hf$KNp^B?$&bbNEafT8XZA5NIkJ}=+2oEPT?u8o_6GBEx>s9yW8~?DUy%GvaK4W8l50J^!u6LTUBiH< zJh_?oZ8_h<-d$S(_Ti>-H}5F#`!c@Qw9U_{4S|kk_8s`;xe#ZDIonFyZ*BY+LjP+I z>VDkg*fY|JR)R|vCwp(j+i};gLSvkM(#}w1R<4$J73pQqF8!tEP~U#|WBOoMIhpW$ z&Rk0_H8Ue0avFcF1EpILE;jf6J;Pkfhmh9WX6p3y*TB!JEnTkM!={{HV?V!%y{9%m zM_B$*PP+wp3HADI7c5lTU-Dh!SH1?{z^rxICMb=@UVTyhT4#RxpOIemKMMSRfVD3; zpfOP2{j&YODUa?Sc$7Sa{r%D`qj*(WcsemKZ1PR@LWcI{(hOiUl#mKPjMRFJtMjvS$mxI z0_;DW`Qe-)@(`UJYj$3gKVIT%;M*+h4P~DxKR`9`&iVEewR|t4&6@Ap=p56BQp#$} zxjF^EUUa=ZvVo1{`GUs>_dlhp(b!5?gZ_iG z*l&}3N#^T0{4sU$GxrmEWBNgQ4!@k+)i-dw$#P{hr3fuc~ zK|a51$tH>;eRjK*VdQ90?(WulWUfYs7dt!ZHgdL^v%BHNTjfJc`b*jG%9cyIvyMP# zwp8OL_zMivd66^03um$ZgpUGR2T^39;PI*Vy0oBRfp{KxvmViHl0WZ|3?RlDib7u) z835;R(}DvRX0he?&j|WN`8m8f{`l)f*3I2kn7h8%J0qDZ_CMz~l9`Bg;9k*w^7o2t zQngnadHZ|C&>FN6p7pf@%fHAgzd3gX>Dl*`AJ4o_J1y3xpU++M=&us2^Yk5N?d!a| z*1PluhqLD8KS}Fe>*^lLl7F0L-r}bRGWN!wkKLSm2RttrKph4KXn)9Ovf2OSeTDev zsUMpd?kbArbnk-t8}|0S-=@NSezv#IFQ-oFjr=wFkM48PR|`zt@%?odS$3|-vZOzL z-(F-d{Y!gM`VftobdvwfUKF40=5yC&;hw;EfuSjHg+|QZ!?zHxJuKL)`wIN=`bYQh zRjR+AJzTgK{k<*NAzi8q69psDFR}()_~_EXg|P8_^7!yn`TEi$BSL2Uwkgw_bKr&F z9?Aa1C&_Q_A&9{fIXyYs|dqm~jqcYj^hSwpD{H&^M?@z9&iv`?l*7 zS!2fk1ZN;7t>PSfTXU`wdN>B&3fSD`5Ye5Zi?@mfvls*9*4;XX8zEeohOSHl?-KJJ zn{W+pXlQ30`?#L{9)hmhbxI%X97CKBJI8pibH%_;?jLjYxs3_##!PfNw+i1|3yh6s zGcfYeCtQ2Xd>pCqTE!fO6YAr{?qlg=Oyihzb&mCfb>CkJK0|;H+oA17VmeRarNu%UPFt5aQ)D~LYPJkBGmF=_zDzeHHJY)jyi zzeo6&)AsbPoj=x^&J(%I)u{`|bg=H?tiNR*f39&a4vSAm#)P~`V=TW+qT{M<#+Rp( zwb^7b&V->Gox!vt&<5XPGe5)&AE+HqayOOMbb!8UUE?3d*ar_Jy_Isu=q=jiuHQ?z z22WzmX?o(=CTaA-L{&v=#)>{p8=&v_;ShL>#$oB}iAizEr%ooqC zJspOw5KpUiejIqJH2HJe#2WS2=a(rr-UUsKEZ84BmNia`_|{_`<|dLzb1|P z^^FaCjjgNJSBUk6T-&TW@yLba*xm?jue!mh0~nWYP>yV~3fuEn;=*1!@nc1-!Q~Nr z6cevCemMD5-ww{1$i8#T?a(mu##&SE7;Bx!|A?!*=(aV_vA#2mU26_J!x+I1GZJ3y zM51eW+%t@oVe(+p(BBzGl_%L>;Tc9#PrCmzj9qI!_zYuL_si@N_Y7kMJIqMNwZp8; z(1!GZXX$i?QTOBM45R%IoMH6)?Au{>b@!cNjHKyzY&CUpW{^5R=nSJ<@3^e}Po81y z>VE$j#;!GeXBho9=G$RLu>Xr-hw0Ca>@YPqALQT0pPPl?9=o42j1kWcQ~lK$Mx}># z>WN^7sd1MbraJ})j=O(`asSx=17{e!PU<_u81d{dRj=q7ckEp|On1KDe}>Vm^TNDw zKln3@;%!Ach_|g|-S}r1kr%%245Q9d7#qR(OvXWXj7Y8moB{UejxO0_Mmbk6TTI!t zb)Dp%V}u?oGqh10{=o2GZO(xBDX zXc2Q}&-)KA^8#n~oEx};ENcqQX5){vP$tK#Qo9uVgjDnk(SafY{@9k$bU6% z{+MaJ{IL@3*Er>mkvWe?yZbvAXVYFQJiFBRW1_8gn0mbVK_6G8v3&|yoMWs?=<9CY zvY`{c?;3|ZK8fAsYT5YEKV*#;oHzB z@byo;;^q@4KhA!d@AALS`!$83P?g6%MSCTI6<%tts;f23MShUaaPr5#4RQ@F5 zg#T^g7JBK%6Q?zJ6mh-{-TB0c9{3n>)4g>6L7Z$iLh<>z)5c-H5r)Q!x;7_wta4?| z18mox?XC9rdPkvOlk81$R_T3^2 zrBZ-_)L{AVC`#SNmb#>SKJ%!3U_q}a?@;!^He`d6omI03T>mC#LL0g=Y3VPdLlci% z1D#e2?a^tA_HcF0@C;RJyIfjI<>^d|^qsBt2e*A8ZC6^GG0@z+ft}yC3B$)2e-Hz2 zfc8SpF1v~P!$w+Bo;seUk8!^u?8(wTz(DVae%#|wdXs_(hHm=1|~JhcU+kjmaj{H-?^|U z6w#UR@$$3s0yp@oUm+P{WMMdpXTk~iwRHl!WR*qoR@AK|0j9hPWkv5x%2ry#`}LB;Zb>M&*6W) z_iYs6h!;MCu;7*Iwu$S5S91=4SErCJ;N__!ya#!r`ZHYdjMv|R!P~vKVZ<4jlbD}7 z`ocb#qcw6pwziu8fwl{CUcTqOUY+AAggM&(ONdw66l>pyHIFyCwpo8)8QOgZWeYAn z^4ea*45CnrL*iF+8jr3*}d3_G7g8d-I;;+*tQ5=op`Im zJMQ0FoP@89a+i1}nQJ|c_!#Rh^`OK3JGn`~%6j&(WbYM^xH_#d>~HC*MkiU{_&b#j zNHPp`B2F}oZYVwq`~`?rd}mTpY;wDNOSk(uut&)S?9Z^^Al;j18t4`=7H0*ax|`?<>h4jyC7g z&}UD=+tssYL=R|xhP?fyy$5Y!X1zVU4)&0ZuZr$)|Rq?31hcstLvxgGk zUWK*h+J6?>eFl5z7}lBS0ma=(Tw`9E+xhR)1g(Tc6DVB^;rhIEGx_h+1jk|T{w@C7 zUfNp;ize{vy_x^g52~CS3Cq4-;RNA0dr0X-6ZGw&<^%T7)uh|x?V&3P`*!tl!ouaX z>>-~fxRf~UA;FTdG4?&{T@1&2ni`YZ+z{}dlntLB_pT+#>-sV#BOdGB} z#JutSPvhB>g6qtO_Q#_M`GT^rA#~%!PZcq~&M@vRDS-d=1^+9|y&Vr4eDEpiJIA}X zLt_zUkNWk9{=1!eKB~O?>8slNIo`;r_P0s-)uuFUQv4$JdSQQ&0~CrEigrMDSt(|5p$$qdoe*o&TNu-`?)RgD~)*mPc?QS_jERKF???)Jgtm7or%xK|B@|87t(qm`<#9>GcP_Ko1wXZ-U_gfb*5js zQVac_aC3})%dSs8%M|b1HTk~w7N+*~j^exgmgRrFfF`U{|I`Mw-k zmMP!+_U@zDwi4gu$9r}fzP-$@Mf-ZE^IiAR9ndalM&aUxd=K*Nuh(fUb3cjqmM$d% zuXQ$ZGs%F3tFU=~qaD1ylsVtnHrA?uHjBVS$~T~V2FjnH{0zz$pnMLRJJk3uABDb6 z(#{)Pc)jCT*RFH>2;f9i_Gt3Uu+Z6W&q@C*>`?wdd#pC-JleK~a2Q%b@^;BBzs0yn z_85#e4=N?BJuV*db<*j(zWMU@aGU%iU~5B~C)LOJ0>^HfldD6%s`VuPTXt^HCZFo_ zKQlo-hepE7wm>J}CVk*A^Z|n5)2PqoSI1}ngRp30@v8DSbN}1e6w$8(eH5IT%lA=m z9(&%$Bl~?6fHxv>wfmxO!GuM5eQ(a|`&A?XY5tLXTIeZI|rWXU?w6?&{o4d(9b*V#0r;+-I(3?cV9aNu6oeS$3Uk_s_D2B|nN{ zKjY0`1AW#!N`G7&0e{;T*2K~zF#Sy7Zh(Jy|m#6p|`oK^o7xf6(zW%bsTUtiM;`QLMO0Sa*9^gvt_fEXrts5HuQ|{Pgn`;6cn z&@MXb3j7*e6o;pcrv{5}7)blwGk@rUE$*G7{q-u7{pz=Wf7?xY7iMeX&86_NCGfGO zQz$$Cj34rj{r7*1@ALVFEOhdg@;;tmB4-v>fH$`A_UVRkgmoTI@IrLR`TSqWe}&H@ zyxa?qCcG>!-6;O2yl+o=vX0Ycsgk>`^1>J*W4VB;?$p*&k zIn`?98O@V`b{NLHou}!EsMW^1nP+*;NNeM}r&<}_+j(XbL2n!b-@>zk@A>qGY%v~X3+pHd$srT#t(fpKBd&B zf5oSiUnjEHDs(mn_@S>(GhXPPsd+0izq%U*>%MY=5HNWeSEcboWD6h$U{ zIp>;zm&MjaMc|3sL{sQH;i_<4xc#E;?~zt|U?azhfCo5VSHYumb^)FsPbE(^zK+5c zcP}FkFT(ya6mCJbkG?joa#&Z^b4LDd9lGhwQud^kCO=OwO8zwEXCAH=mzn#7iO`&%fmCzV$as%oyT_h8=E^=JE13y zUmwOp^oq_QOO_;merh8$oKwkD9q)83-ty^Z{A?qe*PgK9kBhk*QgVCwNVJKU?m&I% zx_nJG->*-lS>x)DVNBJ&A5xaaP_T}(GCd;>OLe~! z1J2SP;Yjo-jC~SZ2#t}~H}z{f=_+Wu4XtQJlg^0s(2b05fHjL>493SYHfc7ryw+(5 z+#06e(kDo^|6g8xule;s$B6b)T^9Nxo#oR!N_SMrQ_VTgm-g2=2ODSAIp-g$Q|F^9 zpnX?*bwB+N)ZOvFRQG7=et4`a$J%*bXm=ImKH&Y|!T*o(KN#(kfBcDa>eYk#nAQCY~`gnkN=WI2!D!__)Xu=;J+`ExZk4%8i*5Jq3@>> zmQ2D=e=`4lx?%)j(G^N}B4N=2N+)?|A1!d84CHvyCA~by5}xjbhZ2_Db!!K7yBAlb zGKtF(H_3||;>G=uIG?5n6KCvQSvy+Gwl8lYuW6kuU#Q$S0DE=D0-$Pla@P9ntPv(6g@6BJ|(>sFj`GgzixO7A{G(>bK^aD==&*b+` zwQSz4Jh2}~t!CcSdEy^Oj`=^QTGMz>=UH|X@=l)RJc>&yO`hIDIt$6&_guj|Gfump zb#?w`guTJh*&Erz=-iETeAwDnT@&dtw6%EFFECEm!k3`K$%Rkc*DF{j7&r#FXQfl! zqtngK>|?LY6c6W~YVL6?Nw#Im=(pAONUp5Ql?8?=b24RoVk)*rVRR&XhqulJV)LCH z^DfVhhL4w?XxFS~vm+wUID> z2O0@C=cS49-`_`L2`9XC=MvUl^2_=n|C_vTHz4aglm9XA|LKIapZv6^@xQ_QR!_Lj z3!h9_ayO-`A?}0r`KL)2^zzgaw!HB1gv;1FZ$8dhim(eiY~r*hgV6GWSo20l$y$@X z;402sXs`IR{B!f)>s`s-a?dvCJd>-Vl)hl8w-=X~y~rHf_ip|E`R-nN^B1Arv$Wq> zLkl*#^!T)X%F*6dnt7yAy%pr~^#wNiDADX2;dgEJTjLJsbDkK_^uM2K)$v}$GwrKU z^KK)&a2NFYTkI*mFD2ai*Hf+S#2>K7;D_bIc=Q>rOerc^2m3@aB%RYVz6jV~CA23< zoahbN!VPEb43E6Z`W>(PrOK?BPvpDn-&ZoBaoJBZM*IEy#+CLWbKb3v zbXLNJfz?`%MmEH~nUo{=`ElatZco%&;0Q+l-P?1+*>B=ygirhA7IRv#Ro(9gu%5i4 zKZ9P|ke!&e6%&7?*LL;_{&ms4SuMFE5ktg)|)t%1V$rda)89PPBwkQhSWizI+KAW!11-|vFvFQ?BT^)tK{x{ilZT=A7 zdYkin>s4dZRh{|Yx9Rfx?Avs0&hxEj_=^7nn=ZTihGvXQySq)r9=D&wlH7r0-9b zhz{p}MV8ohWu7c?Ebs%^Si`x?;v}>s`dj%ClPpnwWA@7uWq)8~iSQQTK3U>vz}!On zgE409yYj<)`vb|NyR7H4;s?7Pc{aNv^?Y_m(X)(OEBp`q6!EgR6)cCg0Z(ac#_PPj zk(r0>7U-0g+$@a)@DjgbLso`?o$x$`whQgF%lHF8*6rCFD7}J^l7GCc-Ugf2-pjT&|Xs} z?;$qynB>sr4k^ClLv4Tgpx7$W7k7eZq#G^<=g9snUp{(2w7U2V;V02aNBqdOt60Rl z)uT1a2#eS7(+uFhFS{%uJk?8Q5tjVYPq*hk`}mD-!V~S{{}?arUkQ)OOZzte>%DJ( zChW^GdkOopQSlyqbkc#c(Jbi#Uj9E3_U$VEpm_TIeP|=!uHv`E`7+P7qdne*{VO`@ zD9)N{%m&)7%yY)=u3bf;%+u#x8eiVqD;=ux$VaX(`%#r6Mhl8uD0 z>H%h^muf4ki{E1sdPPb5vBwqI?0bc5mTNB+xB?e zbnCQk~)(XPA&`9tht&F?c;SL|7xAt_;n9Ya8n$|mf$o$MI=%QS3 zdlh>;W`AcH{#KU{uoCRE_rE8jFoNpv@ish+I)|>1Rj?><2 zkp*p08JLx+XjuTh^42V}rK-S6^fJc6Yg$FVD#>#i;8P;;S*e^l?oU(x(1U`t_Vsv6 zB!BrThc|i^x~UjlEa^SGBAi=+=BewaPVNMHfH3~?=&m$7DXKld#9 zxM_U=S(s#l(3e^4ndfT{=!M@x#;K z7xfeEruO{S{XdNVkKrziIJ{0S@g9PyvonH8j48ez6e2~eRSIYm+ zG2HbY!%f5sxat3b+weW@xTV+eTwW(bn8q;YSW>?`3%L$3wW7`#J`y>A;MXhY zjNw~mecrKxvFPYI=)Nq6*Xa%3H50D5OYE`h+?O@}9EVqW61|wS7@zN44*gI57od;x z8L*$!LtdH>6emI)<+qkPiC%{mXrKSXPT7KZo?@7Q@oB~@rWVt{IIYBP#>^ZWw(Z5Z zmvjuXHm4Zp{9lH9;RdL=bzR4^*#nF)4#(35t)tra)44XSZ_@G9ol!b-qc^Sc0`bgp zYie?N=(hc{0=Mrkd8K&wAm^$+p`A7#4^HwHS85pi_GjRz!gO9$aW-DQ&0d#uj&9RM z=oPv=*TfN&9p=0fW$At@l~ty9Ls)BvTJc=zST46>*3e+n0M5|lQip(Dhv4n|Yn=;I zhQ@;KIZ!#$!Ib{xO6oMky&C}Dtf>3jE3d0>>^VyJb&S*<@L%A~4xn$|B%a~Tp2lr> zGjPD>&7L95;mvgSN1|;h?N*)SzLmX6>AiI4&!D$B|AoAqd(m3m^yd8&_LFT|Vgcdi z{y5|ro$sF@*VaDsWBgx5-ovoH{Ml{z9|DKE^Jni2?&Qw`;F|ceg`+$Bp~CG4oA-?Z z&nWXa{n3T@B}{TY@xIql&JgONcB;KU)|?bwWXs{Vo(jK59mU_~Bc~QWEZn}5G+vk= z>VRf~)_0?kREi z*b9c}eK+o#B|jz95sao&&6*l=_;t?Y0TsNLMyQY7V zUqJKOGJ;&_Q)bFLM^EcxHyv$*fZ%-_@9`ep;0h>Mdp zO#}`Z+)%%$O$PULF8`D5PXBH`c}GW;2bZrTKb>pb6)yjP|GE>Ydw$Q7k8s&Oo6`-K zD+8Ultg>oUMpS*meq#@~tbZE!!ez}pBZ)725->Hmd=_DqZafE<=h|y}Sr53}mp)PY z@uXMY2AAa)E|)WxwlePPG0834ci8*A%wc}`)>Y8WdC<#QVMlM?rkUYaMKcHMrsV33 zs^s^K$0A35?&yY{jek|Ev)^eYkOR_Z;@f5%dwFv0)D>;T&CsYrW+b6^(^LChlI%nM zB*(96S((WiG&N~x=c$9x(~8w3t@sY zKW7NIB3ZxW{JwBw=G-kt*1rN-|B8(Mvo^IC2RSRTQ?~Eu@Sv;n1zK1#(mZs5B9yn2 z9^NV2cj#f{7RdJX#-#53N@THibdl{dH=ii|Dz)|Imz_I2JC-~1?vKCETH%r9Z-Sl^ zk1CuJZF$*)4t@JqY{R2oj9c`qiSu3jhDW^+_XPea?HJsmXHC3O_zgWP`u05hRc_oW z+@fbq+)Dh0M?C|#;ZaY=ZDjdfdDO0Zc4fr#xp^Ot+wiEz;?~_pqLU4edNg51mVYp~ zYRmGY4t;wayrOWpSJ0tv-<{#`sE#bZQ!hs}sbuhvzUA?momFFJ{Zg!XFi+%|c&(Mq|!bw-2uQ^q4If5{Ue(5T=x9OLNLl>S+ z9GiY|>md3?btoX*$n72arK{ZjaQ=&ad8)Q6{o*J55W7D_4@K-V^jQJ+0ta={g|p~4 z(J$py=UUS5{IYfBQoiFy3L(B7Z2pnXIa=I~$r@(_E;vLB$X z>VKVi^{!hFlBZd>gkwHyUgm(nYnk!nYbBgI3{1?(TrNLla8FN>kNS%zx0;)fr3fF; z$7hU+juB6{|4GOqk)!0r8&gTiXA;CEZ^_8=iC+zgb9e@&-F_))V!FR=zMW658_$%jf0k8aJ-rjr%yZur^{=(S@sbi2j=#F!pmC3ur zSr>=W;8IK(rW_N-gk&JNL(uv<$5I>C`pX@I)?j-b)7oaAsRYLV03XfTWyb7_-*oEu z9Pp6-z2b^bW39J!??dp9hXE5KOHg}{qrG>~mgpJC37Bs-Q*Lv$&LhN9OQg#ecIa7T zo$OmU_dAvb8tri<8G(4up^UMOxGy8`39dZmddfs6JN53#zVyAvWT#gSOr$RfotA#C zxFWsaz~PKh_T4p>$xHB-&PpY7jQT{nE0?0fA-xdIUsosU`$d}T`vvP7?R#g|BCj?7 z*!#&BoJSl6JYvrNdR82LpFczU2I85G%sDo#34V&+)EzNCc&ApYrEUFSE1eg-EvfQ* zhwg``9nrQa`%P%lNY=BKHB0&|&6=}pp4XvyN044?pI82?^Fs}sEsO+QU6!5l-+JZ} z=iPcE|6N3SwNdi{=ZRBR47oD(J^7zIkY%l9enaLPd_5yQT*;n=``eeW-ny_rf3PU= zpCZ|ok zG&%d)vyyq}1kFfYo}4y?`7eESa(3H{|)_|3=q88uvQfChkc5Yu$h6;cj)^Rk+JE&(ek#!aC*FUFrJM ziMQBIb1H7}Dyn-qZpp2E(DDs#*a?J*t}kGXJc2P?9sob0&ipd@iLP}0NA;g~)Nn>e zcXWF9kWK*3x?e!B4G-zub9w=~un%F2TD0eoX#1|_A}f;Y9e6pZwNhgs7;j8H8QI&W zYcJ=&{Fh>f+`g4OGz)xt?w}nVHxaJ3Z({Gv^nEV>ucYs%Q1?=cw|#!Qy<;-*dJ|^y z5bdly9wZO;X4<)nussf+(Y+nwPq>>lHH|#fmOkXEeNV~E6@DY(D{!lv_i#%`rs=!R z+$w&<$kLlvvG0Xhf?4w(JP7s{OzRn8+un$K^BVTbu$S@Qhgr88nfsgF_zv!W(;jtv zq_aoe0FP_VyXZZtoqN>rp3l2XphT#4V-q2{cW zcR%+~##9nq6Fh~3cir!tcPRnyR=GGhm#`I{IJYT|`|noV&91uvxAv7xUNi9<+`fqY z+Ate8}Uze|6PyU@ZvwgZT53(`QJIFy6)#*MZ8Kk{S~;wuKRM_l2sq` zi%$Og62dgs9!Z$^Z?*fogo$=Ll(2vsRzsNC_dWYG+~AnjKCSJG;BAHLy@C!;y?xqO zJL~d6g_B#WPkl*4(0wC;-#U6fr1T@?i;8q+bI8AznV%rk;p0J>K5+f}?1g8R4b$<(kH zCOT*WbkN4pdY=jYz~a0=@x^m!p3Dl~vtIiqCD1UX80k)guysd>AN>%~LuHCfTcy7P zt-x4D_XZsgtA(}L(j6_l-G{$c^iL9)5T-Kxq}hiym#}sQ6OH}+@kQ*D#khN$`=u$v zhdYE@<>twa&77Yf%ewQ=I!jlAy98cL_d4ft{_t|nQxt~hWdhAJ;908S)2t%+1bgoO zChfPvqf_D?wKnMf?L#hvkAl|7i=zL?Ua0Z_*Yfw|9T1N4u9V*CFZ$5ui5rvz6?ZL-%~xdvDfb=m*@QOVw|`Qy6g#ERG}Jp&tM7_)E#RB+eT}=oO0>J(2u@ zdumtk+;2DV`~!9B4$rqP`1B93BH~%k#=W~kZf#+xRd3Si0&~CL?;Rdcb^u@!Z z)f`;XjQ)2W?|MaVXWr&LQttGU903{t+!@WhsC~Mobq2QZzWI_<&O_%~|B-VQDIbMt zOy~|u=|$w#O|!?4@K?C2JLa#VpF~@VjtB)7K?`u7TznyX1^to~|259;n_#T5pT=K- z)qrkX18ZZ0Jq}DhzPd#Nq`Tq8|7PlJl}wkkFmGUj$ywZ2 z4jj;t5gf|v8dLjPcWv;8r^6QzH;yh0@pSLVzSiswS}**-rwV^{%bS_=F{3eKFk7a- z*;Y}9ECdq?H)diNQ66)l^lQrE(pR}4E%<5ttNqeH`KHe+%w&SicnKSGarQ z=3dv-3%I@W+8f(<pt3Inm;rPnrvo9XN^P~1ezH~ z!T$CdtG3y7B5iNV5uRkXP_LH6Aki{;%vIaRAuntZ?nlT68VPtKpUN!=E*j7~cnNhL znI1`u*a;Q`>w+b{Nfb}aiyLGl_HR(_+>V}Mhy;HAla$6V8P-yw`2=&tN=A}cFA74bXo zM=Cw|5D4hqOyCg@029>@JXIgKb!_(3QSj<*U1BBnWj+K(nh$zWFYu-9AGFohKeB1( zn=(HK9(wOD2mJj|v>Whvi#UQSV*uJ5yj8i)!o^OQG*OGiNh|uYou{pHMSjW~HNX=GLWAbgUySi|K6!tKvs|(j_M36&WIoBeJI%Kyq5a!c zw)!@Ub?c^HdvDD`dyx9K9St5zmZUTm`OtSZKReIA_trqHF(tlOa61;+y!Q5m>p4-K z!F1lr5uU1ESwYd%jCaO2xIL>d?B)qABix!se&UnG*Bwk=h2&%M&{z?!O6L4H>$%GO z9C}t|nK(KV9`N{&$8Xwt3vG=C(GLywOM#2|+Ow1_VKOo<-H}$QbS=(XvICiGl&99~ zEdFUfLUVC8?i}WfL&-Nn`Y_{GY0dwqZ%5WferpLYE+f9+^fPn=7K8gAz_IqNUQ2Gi*c$Rq}yyn7#zI z?r$o?tvhOFu0WQC*-1yl;e8W^hPZ%rdrG!=&L&{Zyars^*J#$5V=k#XP~(mH3my@i z)wszgZcbb{G$swc7X|p|kM@Vw7%lzo1$p?PA?&#LZTg`~Fbd7F=hWf2MGH1^?$e&% znw@e2LGH~<_5;r2($WJ}{Aj(8(J9HC2>U^i z_vd7VK3J!BQ%v}0q4(!VkNi-3yjv^%%(3b-AGYY%eOOlyVjS^-JI?s_p(pNdb?Cu> zc(-VPdW}wlGw8aXliDj5OZJMyxW9Q@XB~p|$^yO3Jqqj*vrhMk$_MPR%Rfo>91t-$AHyzEpXr<2FsdJNgiB4Ka`?(8g zPXT))y`uCBbdC)p`j0uTJ)f|=gm{h%(?Q||S{7vdu>&*y$Uwr*ckTv-wxO?RTU9DA zeoHbpc}von!#wQ^)yF>zy-WL6ceXD`SnwUYedz7K08VnRs`HL!Z)~+M7upDVZGqpd z1AA}KkYm~gQx|{Bfz)BF?zjh!kS9g@GiRKyyGLdfpd)JQdhix`AfSJJ?fN2*%gZmf2XD@)qvuQEiQF$$L5RKVD#G%JDuP@5q zduucJsQL@WetV6d39k%X!#AZAM`?~^jEa`gyFD5^d(r=caEq^dn>zySH6X0DKbAV! zjSCJE*V$v+3wp=m4yInA+GPJzuW7sgSdF*Q>6|EZOLQ7^%jooJz)a=o?(u!dL-dC) zNMBQaUNq76p6()~Y{4K)2Xs z{Skc?tx?lX@^76BUJBoy!1fWQHf?;>X}5TE%?oPx0Jq&gqCQ#&O`Y4^xYD!nyE=uw zXreFuP^9{;B;Nphukw`~={+|-aOscSut$V{y|WT31~Q_pKmEg_ER5a@waIrK)5xhyQd zB^?LOSjW(PAZ{M=Q{6eLGdI3t8#8J24pdjIy-M>Z{M_S$oDJR@{|ET1l{fAx@-^W( z5zcgz*KAVE_2_#$nKrg(4gi8U*D^gWrWZ$n3^ZPwiNn})oZ**FAw9yqJF z%09(EIjb?VnXoOGZ5Ruj&E~!UUmb6iL1Sl=x8#EU;QpDaYxS=oxy;JWM2PFRBv-gO z`8{O!&y_O&wQ%mD{GQDIkAn-%iF8w(_iv(eZM~p^7UBnPN(F&`Ro_NvL*eSe^)*lM z{tZSnpy;+J?&=|pnOf}emH*BMNjIr4a!%Tk*OEw2aP*@$cE_bQ~z{0+bXI8hxF!>*6z<4HOG@@+>A^ zzUtt{vF5Oc1ze{d+=y&Z?U|A+2~h5}PM<2?GTx}1OdbXF?EvPq@!+L!VILP4gqscE zxoAh>W{z*~t>Zmy$)Q}UjirZ~u;i(;Ja%P5mWsk0sKQDd*L3=kA~* zGkZl7={Ws#D07Z4bO3c2l^#p^%3~|}X}s)J_xtrHL*HEh&YL*UDt4St6(^)P@2-zy zi_gmoP{;VxRF-|;2y+;I@rKZ*e~2??v~JxAuVvzA*DZI`N@nW3)vj{cGfr!)X3<}L zpjVO594R_8kMU{hAy}!dZ@YDUKXhkXkTxLufhMgA5#~@)y4v_xR5QFPj+8HRz}h2Y2N@AGhSWa*xE_=(^9teX;AV!hIp`7~@Xx(0CI( zzT?6}V@~i$Zr#yQPaMs8)YI-G#jPNoV54{?z@*+&r+cVl%;TTG3z+PQX_!?NH z74Av@3jN+dTMnkq;#cJ!hN2jTlwA237 zXx~*=7$ux~7rXUV|ES)FQ16*x`Yq)2lj10!O6t39Kqn0TbncFhnUo=V)s%ap;DNmG zd0<}^;2-mkXj`4ZQ$C{qmDf3pSMe)8WQdyk%zW}9eQ1YUv@f_Qb0g=@dof39j6e3u z_Ks`mBe@^JeF1Kb!9W=K2Dm2Jstq@ix5DKv2uw>I1#BD0&(Khe6&v^OB#&ENT$qbn zdPBmI+i{O|@gk1f3)hF;w6h5Rg&SuE?w4J6J?^;j@stNZimE;SEZ|W|IX_k2-NLI0 z{~_Vu9mZJ(&%f^DS$U|g<5iv~p7=G5-%ALWj)iy5F=;O1pLgzo*R%6FpYRN6*ax-c zCaiC50Ux@A1)Xx8fjhW6%2VF!q=gr0pAY=a9kpfLn~?0^sXO!d0_lZ8C)|a6+k)Px zYfRl;hVBjZ6z*sYe2Pw)^cFRj6x2C*Ywm6Kg<|XSG{5tozE4l2{6&K-o$0mvRPjVB z+wU$xBS`OCZ55sbX;T#0sc=p-Qw@1!2Ntf+fmS*Mo=4&S6Vc}ZUknbLw0%jd|94VX z;nF4O9EB+RZEW4kEI3K;MQy61O+O%>a4-O#i!Ox+v)gt(b(fB~+G$aL@g`F>eDmbz0a8?FCG~fv=UxNK4$Eg z@Rfw;(I$J0wJ^3R)4+8Ve5Jyl0f)WwvC^un7k5$C)4M3^mxL?76M(ODFeMvA4%5#5 zy$yS0{a@t>_{(OK(G^ks`d-7t^;1>{5SBr5xv4ryqeo1 zUd3s{EVUo`tHCRaJWTr=XuraL+(Y}7_6E}Ge-3rlnj`(dzl=fu6x+KVZfA`aysjZW zG-$h*FBB{_&d2kw#?wFRNJBasHf`AdgBd}-k+35JmHcz;E5oe7hsZ)-LdOdCh7Y)} z46}-JOOl03CMp@JdFQ=5@>l^s-i9nx7=?GniKXktRa?YD^8r|MoDe@M-S# zKsRggW5cYqm|gJ&_B%X`Jue@yy%9bj1RrorV@kBY-fWj{(K2Yap~Myap#Bpd&<|ZG zFR!wg_P<1%Ri43F&T-gt!8d@F)_0qz`?9n zj*R>FpL16oa+2Z5NM@eN+8^O9&ToMeVdMe429WikKs$t34|T-_V}d4BTQmFHw^|i1M|cXJoea8V#+>Ijj6E?WH7VB}K<( zg*JKQh7CQ)HVN~{Hd#NuAlsD8o3pJ)vPW!}jVuc}rua|i{$%kMZ>c_kyE57*R{dJ> zXIW>b@{n2gvgMb1UXSJQ8!eV)*W(59*~^t*+V{4{630Q~58l8z0YCZYM0J-+r0pe} zZmCJ%N&BVKvWhhioj7|g(Y(E$c|vPb1-cZMLEBDFIJABhafQ1X_N5oHRxT`dWDTc( zV&n`>>o;+ZXCwW@`#p}F0smy&n+e;3*`_`OC$eKr>wUrbJ7o-ca<>?MK9H#*O?Gg$ zy{{7?jo*^IeMWLP`-dfzTL;eAvbJWqnF%vLT;mOyqeonH4hvLbb)=wl{@AYcksm9hl`Pz5-Cu>@DGjL)3 zvt?mGtAdqe4Es@Mz1t?fH5(rLWXZCLFIfKpnoqopXx-WLi^8tv9F%D3 zNAQbwDP}&<_#Q|+^`A|*(+1VwAELe3LF~!c_TDw|3Q4DSDo&<>IU4u|30Ix+TF|u# zOrwqcpgS8gr!)6x-dWa?lbIZ#pXlFm(yL6BcRck7M5jCSJnhx`G#A=cv~M0bWZ!q} zp>6fwmo3^>=OP*RLH0!1kNcdtr8W32Z$yvO9&yp?(7SDupod??E!m3NF1Xlm3eG^j zd0Xb}&~m+IM_dp=IQ=ocND@3tEr*dtp8k zm}?&I4&ze7G`BNPx2tbWz1SCF&u>xYm*mI(pG}hv9=*+`UDfXCzxG! zpMNWQo4ixaSfDQcn6vh4FJ0@$MEWWhTfBMZ1f31-%unqQJmygDhv@k$p3ZM(2b}wK znpoE>?ed4)xM1Q>C%)qDO?e+tw$^o(UlD6erHi_rNtoW4(d_Kn(AcHuG3df)V0)_Dkgt^2{1J+JQx*6hU?t!3-j zH(NT<=3~)AW1PcVJ;YqttM1lhapLxj>Mxz*ENE^YIzf8>v;bWAkgyfNEw+^T4_uqv z#2Kb2W4-y-q^-BWUQDjW3}@^GhsfEEd@L)P=&x|i`K(d)f6Wh-`X6)T9j9$+dq^!JqXT8pO3j)x)C{1>KS*=7j1$k(Vl?T zQOOOiW4;nDs6L-^MpF1%LSLyI@iO|Swb>s>kKiFkKB~C+^WlMrtNH0S)VVm`m?{Nd zl;^ME4U}%oz0O>x_#eYh7km0wckBf{{<-*Ts9P@Ss(%RVso%x(z}W=jAGkO7|3lkf z@Rt)uGDn-fjV0O^%;o-F?(b50nt$iw*BUjFxW()vs(-Yu=S`#CF=!Ivstm=wg}B1~ zZ1O`k-8KV%0skcv*8gd4Uiu%ytvT{T-XSynz<9Lvn|(3nO!iQH>|Zh`<|oj>N<4W_ zCO>g&Qhkriu-)5MWPU|H@_K{3=*KqE>4&TDC`a^$>Q_s7KH#H0yHT8x(>{Tz_jmc1 z1lA{qq|=^AuLxb7sUgg&(>z&k_raN@DJG5P0ktK`f~S|Gp7Ur0*Nb8?`O>WacxU`I9%L^rn|D$@>A}82s(L_1dej`Pslcc=LJd zPl7ipCyw2A<{GtK`W}A;KmZo39X5Trz3Y$9u)9+yCVXwhPr!V~r?0oFC*wE?eKVtJ% ze0l@+-q;^w?}NPwdtdDB*a7S<*nP1-!|sP&m~G|v$L@z+fbGW~fV~&?e%KcF{@90M z7h*5QJ^=e}>>})6VIPS7EcQU`C$PVP{V4W9*biVIjC~Kb_8;!VPQHL%5MxO5k5Bt6 z^pD;L(>!-R_yT=u)1d0NpICcy*Ph00A{}9DMu5Nectj&cF*U3gV=>YN*O;|#)7kY# z$uiq4^3K6lzX*po1Iq@RdUd9_w! z>T=4PK)PL(r}#aU7pA<4q*I)ailZKi(0Gxo}DJnM%oJR68DJUa|qcvgxnJo_fL@N6iy@az<9;hFeW;o0ff z!m~;Te0(HlE2ZJi85Bc-DX|Ji7^7coxGJo?VYEJd0xs z&*owa&*T@L{T5qz_A0jU?AO@Bv*)peXHQ`Z&mO}To;`>it90;8{C*ca3$u?k%E2?i zRWiY&n9Hpe=J+z^jo`w}OyHl-Kh6D(KY-j+wl;;yYzZk3lrT+sn2?8+GP`KA0W;2I0!@4L3j01l4XGc9u_`CO=dDuRP^z zOzAzJy4{rjOO@}*$CUrDTmHkI@(mrY_Ku^yL*4q6a=v3{ojh$Zb((MIQDehIbe!rm z$J7Z~i)n*kqCT6|156ZN@7Af_%}+2H=+>d&OX~2G9_n!9ZtC!ZUDV-Hw+@$j>QEol z9Ot}$QGlGOq1B;HRy-}5*_kW3zqS3jGaSEg`aITC?m9@FM}A)1i@N>)ZNj}cIL-|p zPWVNn6+FVYwZ~RVIpDZGC*MOkHIyU2$~m6@Rs8Sc{-4MHF#qM(|D*Xo)Kjk`@RxY% zeGBmi^1rtme-Qrz{Fh&Az%>5*Jmvo!|CWl*@})o%Z+~w{ydNWDE!-=>V(JP_%{vjgx9a|ufwnODqncE*5gMPseKjcP5@M4{>G#e!VH9 zd1lfzn&;~|x73tr%gM#?+}VcAY;I9$;P>M!4qx8)-`cw8;(Ft&E*gcpj~V;x9P&)IPz5T_4i1w(;&; zQzoBuM|fZ`#f8CP9vJK(ZMB+!2U z<-Z2Mc*2QT1E4imy1#Q5B> zwS>Knc?dHfGYK;uQ-K+Z@nJTT&l=1M%wkLvW+J8*Q-K+Z@nN>jATDMdW(8&$W&&nB zrq(rMu?J!bF$J#iV=ujlyfL+y@tCpGzi4U*lWD4_u9$7pzG$`(CZo5hX2QE|KHuTp zHXYxUcUw0A8Z7?r;oUxhpAZeLeMF7rrNwW;A2|0`S&2m3@r)74IYiHkHXOqq(pTX> zlC%G_{Kr|h{@?Q-1JEH5{}CgPFh-X z>8@z$*V(V}&P$TNdFdI+-@J5;^p5tFmd+1-k(SP3e%Tc*z3us)Y3aWco=Y44evFgf zp3>6oZhX=5n%hLTF1l*h<$tL1d!VJ?cgug@Q@)p$9{m+)=~wMMy3*1wnL71AOF!EK zOw^Z8xOIBM&F`zw(u;ej!N*zOQlCDJ+tGFCm`Is zPvUpyale_n2IhBLKQAC(Lwh{o>bi_pJ6+nttetwB%dDMydD1L)(|p^L=55MsKyIh? zdoAu=(LE=6^102;=LAnaUb;u;i448;KNC9ZEL|(j6-Ri|JwchGAz}lZwK9R8Ldg@( z`e@!fUfsi+$E$hsc=aB9`_Bbz&LLnukPW^E^BhRUhpdWPCV zJ5|R#j2{z7ForM|ZoO+|w}pI5!p_^sYExhCSuC;JG?#u-eb|Gsrcw84;F)vpsTH`1 z`oEj02+$VruYx+g$(-PQJ9l69=j!`Ie=vVY{y9DF-}-IFVZS-N7elzhVuX$N#F>nL zto!e$xT{_Fk8xLd;$4S7?Ec&L8>gkN#y`~cUx~Za6ZdlbLHA!R?n2jnG48yOqX(Hs zm~;MsHw;2u@9G;vyp8A&s=n2@*SYQyxO3_612`wV#to|?%nvU3qK&CjzKNUlO8Boe zX3iq#jTm@f_R$jQ&+0z!NE`xus6#gUF_Ix>BU7W_iW&&dCC$uZwI}ZE*Srn?WN`JU ze*st3=cDK&(Q$7-y1nCS+&Au%NM9fsRv3CY!CsN-PQ32;5+RP>?&kdw^hslx8{eu= z6@st6U@SAxnhw4>?@bp3(G7Lqn-+d)?@VK?)-CH4m8J2OuxayMj5JK z)>kU8#VzlUJuI*AYnJyhmxzN+BnF_n`X!MN5`{EZ*JsSUH{6YNX z#61Z6MC>N^?YiTFXb|1!cGj~F?fN!p(LZii*y)5##0`Ag|4e%2eJcOIPu{)B^H9Q~ zdpm1%6}+tPM&1C!SeT9Qfa@l+PlvnUTVdM{;|@QB{sQ4cu}d&zQ{i<9*B;**%vy}@ zp=EzAtvMXr*8RfmR`RyY>Td6P_T^nqtsQ;CtRerVcRg3{=3UR#o_9U_@~&s!D26~{LHT7Nm%b_#$*7XYPSZ4LV@UExcvVq2J)0(j# z^aN+b+W&ug*K@-sRhI6G%uug@`(_RF4Cj~YQzgJfXG0&R-o?Nni?tEiOWZy^sS@*0)FLmh4vB$AK19!cTUJ`@8OhRAQ&0W8b^k3MM*-2kY zXE@}gFUPSqJM?9?OJ9C(Cw)22Uc2-*wse(x0oy;^?cchYwO($~1CiPOtv}`8N7zZ1 z1~>=zT2Gv_@az16;#c5a;kr-5z04EuWcA>>Z0Jvf z4Ryo%5oXgl5p-orT{;K&3;)J&21V;$ZqT7~p1b<<4r?c!)A?@rWsH}Nu73Z9A)<4f zcf;>s?GinoM}DH&b?y~<{ts4I`WTKMJ%E+IaMRPsu3vEI{Bdo^(2qWFN$)#ymWRD> z(sM^m037QFZt0Ggt~B=PDTl_^oAe`e*TXJoY-dl8`Lpx>T-^r+pP6OzFH>{5vvUCT z$d!(k-UTQLP0w9DXbp41Nc+uJy({bR4a04|!2+KPp}Bt#E~}nbKJ4i7*g7WkllUSZ z@7~d#T)hR0Jpj7O$v-qDQxYJ5cb;HL=Ke)=kvVTJ+CVgy-dbtcNl$db+|U!pJ?-%I zFCL|{U+k%(&vpR)C>e;--gnNn4$&A#5bqBBR*pkQgeF20U`jECKjVx8_9RUB=&)^1 z!2S9?$fkdY!Cs0LT1R84Z0=DNjaUj#D7sX7J))m= zPOl^?ooGkTrc!kI|Kf1w6zL|{ zXC{CX((#%YTLbM{lSW2R6p2W`=Y0D;ccs<*6N%NMuU${xoRzC<%A_ezb$J$Ba62BI z7nOV2@11u89wl7)D82GBqK(Y*s7xdgh2@CD2ps(&%#HOl^!xubnrze|$`p{td} zJ?vuxO&PuGbo;C?-n)L+DVN&!E)1&L)^Rm=eEgO&B6hi>(y!xQMBd1`Y`93*^$GB! z8oZrMS-Lk~ciB{fhia$p*k3~Y656TzLV7WNeuiIj$Z!MW~fA11Bn*b?Bfp0w=Cwa5Rb%6=AKc% zPYJMC(W18U4i9zLx}!CRJ7C(h<_IQQbF}v4lGiG=S?f;#{W0}9@MPSzuRWXnICwpC zE^j0}p6v|dP3H(#q=W*-4Ym?X0_-ovM zx$wMC;IDH1kK?ZJ#C-&RnfvcS+#%P!7`OB)m8b5#?pzU>-`R>%MglR4C*EOc594Q@FaGSo;_*er!r18-!=&S|DU*)_z<(zZqe0NHEBa1a( z5jSD$VbhPnJJ$F6rX!yni~i@Qm-ag8InoyIJ@>*f#rfZ-ocV1UX+$ru zUbGMVyvn`{JHosZxSIJ3ht8fop0PjP1F?JAB!JPIG;odn+ z^vL<-ZRDP7dXRgrLGHO`59FR}kbAD_Cig5r?pXjn7PxZHH6FQV0lIIJ2^9ptT<%!_ zjalHzJ^cabRn{oIJIwpy1M*mJqz{$Hy}1R9DXq5!EwNnmt@7=E_BuDJ&1zwtYaxEi zvB2Gf7khd1fbQDYBp3hUn#>NqU}kJX;l z!Wd;d6(ILio4$_R)0D}XhN1%G7@|!r^4EM&&;q<%xu?GcJ{OsW1* z@g@)SWQ)+5vhM=5>X@hM@5!uT-Wuw2=u+v1Ywj2rpO?u_Xf2z+UUO1GWL`%4>pDZ0 z3-0H!Car2=9%J9$7rerASESzU;?5;YcST0hhcaGte{o)D2Ipy5Cz1Ef19p-hSW)D4 z&HH5}1NCwKM|X~0!oQq2Ya{1~H1>5jqxT-u1DVH^uepB}{^1dw9a37{MTJ%(E!o5P z!OX+JCp$QwGj~&&_hR<4~qjAyv7vt9Q9YChCh-e)265VAG7HK*0z;@|p1{`FyF?ybojZrCF>g)n3pNwu65llFy{s5 z9;)+z{{%P9cLXEgc?0k)gf8~NQ}d=^DtP*UXF+ftV-r{gv@cZ;?YM&R1wDevi`Qos zf2R3dYZqq`z$5L81^6eqGdf5e+lGkdMNgW1j9j@eID>U^zD@HU0v>4&Q5nU-*N|n; z0H+pZR#A7e<{wO)HLcE?uX>+Ly`$u-bgGx~(*0wBF!hFi9cay<-Yw{50|%9BAroZ$ z8rktrsI&fAoP`K5_XHSQC{1MEW&EiASNvjohtAiiPyW~hz8vA-y1jB+$53}Y(m45S z7U!H?|0lS0CgWMw*g`j~oiNqyNy75nunb|6&p$?(c@sQInAWZW*6?>qq$kiRuRWAA zC@O2OptE+}bmiwA<5_cb4#CEMS6-_%N4hrSp5)#O{ws~Mh5=*7$;G9tzq?5nA)V5! zrTmv^x7MohTb#8@YmN1TVOAby+xTHt^|jE`*p>JLhlFjr9CvFY`Y42N!`_4m&W0w( zY`mE?taqD8*E|8*yn(aCn2ndCb3)#d=jlvRRvq^+!%JsJ;2V$Q3+kK_9D6Y?>;B9Ye2&|3CW&a!>Nl zvL>Z-61s0}mOXz3$V+^BR&XYM&H}Nvu;(!=5OePGGWTR%O?vJ1`mM%P=2LJVe39O0 zK63M)fv2SwcOeIPlQ__nd6NBE&1sA`^pWdRI-jy*jLt;y-Z*h2o9E7woqNg3<8t!I z^W-TWwZI+=nhQs^U5S5St1}i@E82K3mAl!W-mtH=WJ8X12c}^|NaGRx5dMC``mEhkivgScp#?zn;PyPw(_?O;ms{;Cg&tMPmgT9jB!>N zoXOalnMo5@`Yo><&U{8ZzeO3u6FhW|gY%w6!mAhfZ`Xl-3Nbefg{IY8vI(W(zAdFu z+o=-(c@O^p%QnbN=%$@2x z!7~T9){7j@u<8wU&Wgd(aYi6g-!B)p@I^9|!-%K<`iD%QNaH(DSFimad#(HjFkM04 ziFU~ga{oSkYv0jB-}VwL$>(F@=&YdXA^g%kKK8wjyg%fN2oKIr>+IZLiKqIh><@5D z4_@^%_4$x6K+rB;TIK8fr7cULZt!VS*|VI^nWH#Am%McBLa%{Xky08F@O#BDh{c#?^|80vi@ zeMueKtA7X2N*@)|N5$9CM-k?TW1X{|+V9q0x6UhlvI2Msrnn2;J`}IsOgUEE>8ts; zoxZxj?yGaCkKI>Mr>{iEsjprn-WU2R-q}~dXnpDy;+S>bjO{+qA!RL1ncO7fHQ0ch ztRYpw{2*C?#|rzy00e`J`{7d0~X) zy7v4eTA}lt*9h@1x z6KBpN%!@PVx9k>Yt|GpTGmP~K&D%TH5++L+q9lXt~|-lONpI$xog=$G`PYhw|3&8D06w zalqQ}lNaF@?=l$P(D0L^2@^kg5MhR&96^})$pZ*8{A3kjhMzoza=iTH9C%sLID4@s z+WJ42@1CDr`FPL#s}r`x3JRU|KPoFbi)$PRhcXAYF7Edq3;})nOK1(2bu=K$}#hw!iVV^S=@6-NQ-kY@f z$s5u-C+&>%GZimS`N0|7QFSedEx? zx_if_Z@622AhK7{!B*(^Hcb4X*VYwNRxlQaMwARvG*KrHdBJt?SJ1FNH(d0Hc!^Pj z2jaR1>H^&-o8JKa>9=l%&*FT$%R}P-^9;gl(j%|AMCAXgFJ(3mCgkJ>v~4sBBo|JVY~`uaf+C%_BR6%wXB;j934 zYMGMqp&KdrXc=<6yud8G9=aTmM^vocG_Z$%sVwFq9)y__NXHIvmW zcSA<~QAnP`p&+*UW*~VKV@jG=X7sN6%sI%$c-y@+$^Yh6nZhKxpDkND}SlW^<3k5!Lx2dC?P1NU{f#e@C^_l0iwa@_N9msN-l;@IvXIA&nOo6)w0m6TU!w?ABept>nl~-QBjkb>DieQ}+j`yX58G z@zO>*m9voi#G?uJcMHR*bB`VKNDMp9=4caUKBg|pIVFtV5-s%b zxsr=(-Vnc(6?6F9Ucoo1BjNCu8uJ$e3&ZDr8~2{@xf6)@1>UKylXp6q|7Yy$jP+jh z@oV&Po(m_#vkX-pLHgap=N7iYv+!1_-{o1v=ME#D;d2M!?#|~PLYS9l`7%B?OnmVy zhKDkIZa(3=<8!~kfAP7JbBLA@pPQpJ;K1VH@a&#&@wum44xgLH92ui;#ph0Vy~_G8 zkMdt0<^PgL*{(g?|KOh2IB@;Tc$9vJe{~*Z#2sCEl-KGV9;JGECy(+9VO}2PCH#g* zc@ekaQJ%x?pTAQJW8B;e;pp>1?s#z9_874I(d{qv;AA2 zIfVCOPVdU291pAwk8&(-@hDqw0-ngGPURd(`G!ZC_)#a1;{OhM>6koB z6q(q@bJ@qjJ+N2UwkvUe2rV(6@I3S~w&5dta+CTdMxO zJj!GAaZfzT%bUI)kMacR4UbYn8D5&JJCE`hdx;u*ULNJ0^Zy+@in9+0zqMN)rHH## zdg4(E2;UPPrIL8!QF;&BJ&%&b|F6rV%mZitFL{({7$3*k)?n8lb?qtFDdcJ|`5 zPrlgQi|dI;$%dcz@+f7%!tCz^aeMc7*z0iice?Gx4JY0gc$9c2k5ZsK**g~xI$$4% zSF!id>t-Y;Ne3fzNJj5hb?005Qoh~z7JF}-y%sOu(ntBz4$aqp4S$hu*-V(1Z;?*( z?)K;UkzY@I%ZKE%JHF);{&(kF-XpAo{`)a@cfO_I^X>NjocNZJ^tbqy*I#t@=hSaa zU!mVtlE3MGyQZk?(Y2M zEW*6~q`l|e_0vPd@2Q`zBYb!LG@bw5`{_!;rqEA*?C$;a$hOXY+JGLs`YG_jfB8$v z+y1Ll*{M@m?&?&Q{fj!4zxd@>=P$XZ#FmBiq*HmR*Q?!Upf{jNKR+vkZl z5dRkBw8|s^XaQ4914;znZI;9(r$^1|~hJCPR z?j=3po=j~|`(S#*AgFyX-X{z?`(P!!kEZ!wdRO9qG#+)IQvrQ!>x=Wx-UmzA=jhu? z{sQcInO<+g+}e#cui-As zq3%9dIs0JM>@RBU-Ov0d{WtA{&98QN%sxT#U=Kk1U|u@@H1g28Z}!E)_{Vx^nvwWx zB{OFqtkAkEqkWLl!|ut10?7B#zt4_q?`mPDH+p1)h+DwFY-H2gH!Q}KV7Rk-=N^%C zs{c3OuiBPA;y$9-*)!W zOui+1n6L6N`If}$Q>M-)O#U+Mb#k~n@VqdqU+rDBjcr*QRbLQK`E#$p&Z`s1*{lDSg8X=t@{dn(Q<14gR z`(XR>->wsVQ^uZCIs0WL>@}7ujc2cMk!P>5g1yEt@veYwtO5293_?b#H8sKBApKjI z;O>t?G2gdcB>d zyV)x#ry$uv+y$A?a^=Gr0F2IrtDbq*)KnRD43bB2Q0-{SFpixulH@F$Jx1=f@p2;Y z(fI>2M$|U%IDzljIW`I@&&ECQTz67mqO>7!DcCtawD0O2BR!7|Hy?LwTtGg;VVGKn zh9WABD{+{O@7KN8~AJ7DLv$;iGcmpaG<$h@W(_Hsk-fuY@oPL9QJ~S4zU;7qr*}Mm4+h+V71Rg5fl;y*(veaMg z#MPebD9$*%;JPEYc|*Egx`gNAzTXW$8~3oCX%}SfbMuY6wkhv5*Kf*u9RHK$@L5@m z8P;vHFT7V8nuhk6IoKZ8lo_HN@7%0#!Q)863mA_kUo&56jC%K%QBk(_AP*uwcYv}d z?BIckpAWna7>M2t|4g0DKaL-87n=iPy%X^%caObCSobn@9<+N}g^gY5tmh459GOiB zS9bw5lmVx88E_Hait@o}z)me=3 z#M6KM+o|^+)je6$Gr7bG@*bSdjh~>rDYJxmA}7pwKmO}ny6Cm+7&HaTQH9b=q&|PJ>B>mQHnMs_FEaX0qE0KRIZY6U`opgm-h)DoG%A1 zWf^&_WwlzhKT#`xWmYaL&L& zaCpP@+ik-C6#jxRXA|ohQyZ8U)#tr}4sBh@zKZ(S2QAx&uo>KE`uZUBlw#1_tcBUs z$Gioly8;qJz{x-&T}2%$^<4dr z?HxLs@0_8So;e4%+WN%e?e?7!s>kEFxi_GFpv9Zhj6==kyQ)KP^8GP&XgJWnb$@KL zC#5%YKBZ5T_X6_M*=ti5-N~W4JWgFSuY|j`PisLndiGim>@n`1W0GExXs4UVPjgoH zI%!UmzP{?cmN=3>2VZv91+4{I6FxcISs!k}*1R%-d1b{N^dU4!i|FeJ{SeoAH||Ra zb9YSW&h^j$_8WW}?}9PsS~In{&!W9%9XJNJcO5vGH!JLUrP~>ek;L2GIuL&Pp3EV{ z@mbt0NS!pdu`IlSKIekD32iH?-BNt zt#BmO2;6;)L($jb@yeJp{Lr=)EmJcA>`H7uXNL1)H>G<08J?eb+HX`nMoSLDydqo{ zto-n*2d+aN10M2bJL~>j{%Jnw3w<82@en<&{;c6edkHq@UDLMs^h6uyquYJlH}Snq zKmXf3r``rXJ3KY#?Wt|tw~*dST)|BLxI=KIbjWyVk20!tr$xS%sE9%%^b~}Ep6gsL?dfF3BKqDq9^Fk$X@zbX>IzLdCbiDWrWqx zH{SfFdh-(wg>}yf`H{C3h9|`xz$h(xiFR6(pUUvocLIH81$ny>To6v3{?8rueT9N) zD}KRJZPvUe_=NGBwwKWMY~ZH(unv8Xyd?LV02`|gULM%xaV}VJi%?&|yps3^=3&M2 z@W-latKI*sk?U&p#`Cn< z(Ck`YHV@;z^&;*jaqDB!bkBoz!G1HjQ1NKvK5iS2q>Wl9rjrlTwfzR=P}YF}@tir% zInQeJOMTSQrd_G;Slr?(RxESo`}nt=dEU(Xfs>s3g>pi-CU4*kVbN-OcT}_@cxRtI zE{{XQG5>Ek5j+K7v!n2Y!N!c%Wu2oGU7)vIbr#w_s|QTh@s{jK%$2!}jlK9^2MxM} z^x*_^i0U12-u}#GJ$wKeQE|926)%E*B~QunM0*@Xdf|ePutMv0#?$SY_;t1V-yPX7pam5@&r`IH5nH>H%%0m_FmwdQU_*MoUWcMI9NvN`;JdlYA!PZO>r z(i&?TXO-c`%pJhntYbIgHtSd(YgZ09c~zFxuD0on;eGty-TL)I{`+5EWUpP#&$FIV zR^QpkJGgU1>sJ}N*({9kxN|cBy&LUWFJ7cw<+Rz)ojbf|)%G%FE3cr{koxB$XAL`& zIQ~JrFG_txtL$8@=+`$UYi47uk^6*IK&4pS(MhKyQ3s>v7IIH(_RPP+i}0>$-+KRY$GSe%jji zQ|Ikb;e50D5LoG+CGp|v-%ltLx;Hhsuq%Gt&)VA^KTZNaO1t4lzKb7+l6NS|`sT?; z{WnMXP@c|X)`B0<+BSX&clrP;@!F;?pHr7@$e#62cv_CkK=qzX-WxpO-*UsX-mF2c ztuqZa-4?iQ{V$mFH1l`f0*&7>WkRo!-iWgY3eR^yiZ0#lM#N%tuxoN?|vdK+92 zObl)ugx@Ydq`Bter1E%$Jd{@P-Vz-WWGuq>>F!3+L7Lx12Uy$z!`ts2qGL_HpnL2$ zEkC$-dlwjRw?)3vy+^os<6oC;>+s^8p_4T3ME9IR{ISGS`!$A@_BW)}dE;KlYO}(L zzS+bTTzs6B*4pB;n%0?mz`NSzJx?0_CtXp6`hdQ)i2L;ZjtuAF*B!oN9b?O^M^W(U z2KSA0i#-Kz-yTEX&Y%vJZeGY4?RDz;&D%S^P57Dtow)OuJI00(M{|FsCL zYaFolyY7o{pC-4JNDqxQrd|ZzD+(lMcIvEoSGZI-U`IzYd8(btSMx?r=r)^AME1LG zF!(u?@_UOW;cgaF?>nj2u&L-*fQ+>*O1?ay(q^2ECVe~bI?QFNStf`6&&pNM;jCvF}7g!}I* z-1A-c6}Thdg36vrm~cX6<%GK4a~37u1UJohao4);3vml(hfMCggZzBLgu`j<3O8N^ zcO~U$4#^2zoII^BcNh?6_TejW3kOc3|B(@BK5G+B&b~==GVY+xjV02bT=039dE{*R zcLQ{@;tZsJlgK|z|Go*WC7j%!{Z{WhE4i)4(K6&U!tqM#^jqjn@3?<K8l>m6g} z|6Kli$C|=bew=Xcm^0zC2v<9+y0!By<~F69%76I7cId)(wfkrIpTI48P;YY@`bqie z|Bv}Ecy0#4-<%IUi=a2sC zyxpt0{tk@B(-Xv(tis!8O>SQ2@ox_Q;uyW@t28fvYg-q1O(U+_Q9;}o|MhmS<_y(U zbB6ju_rA;|o_Mhni8q~i-u3Zgw7a9j5FLr`mR{8@@D19R7ze zRhSBl;y3W$dmqt8~!Il&|uvARpn1@Omut zv&swtXM^*9Bkj8Vn16|{bV_pqX|%_qv!bd)EBhfT*IQhX9F^?=5)+phceO1jk}*He$R)FY5^ z>Y;h-=g5A%bLc_A%1ZEd`5e)8dP{yv@*mX8jt6`ly6wU?*2E+AZwhO&{$(X*rA$7< zvo36d$2>91x}a@fw6R}T`ssom=_mF550IhxNF(}5?Kbq&_XlvVPf#?|U9@pz+g}BT zR)>dQ$GT|XF~NlgbXtC^C;T!uoPG47WvtzT(<{hVmNGU)56J%#e)03F$63@vbDPd; zRN#)_7Jg{H5=|u>IcJ8}ee^nT=L8*kiv3^ijzOjgKP%odKpNlT~2>xR}|KQQn>X$rp1yqLO z2*(u9LMK4yt0yA&6W-JjKRe*u$+nF(Ol|)3?(H2#E?hsxJDDRiOx)Yht21#<$G-``{+){3=+~9wmVTXy zSBBr{*NGMyivM*t-4NU@p14QjU+Vrl6893CMjLK7YhB4pNm`l&G<|GqX51Wc$&UG z8~WOw6M_ys^yrw+J8YbDWgxmUc?iYa?Gyp?yXUQbz< zfMaUIkLbT~^q<_<;U438!a26yS|Q*FD( z4S$I6LjD(H!k99Q;>Y-J=!5^BJN~a;xcA)g*VPO6vDf)k&mDgqz3?#eis*>l-Ho() z|F5nWe%wu6^}-+ik)s#>tsi&tql*di>V+rp8@=#Fxc%;WwE(x)uK&m0`@l(6mi_-{ zW@mSY-4PD5_G%&uF8mJi zr3?GUSMV<>_$T4_<-%{nuY23Q?Co;@tFiqw`0bX$H<#+plznFfWBRYkg>QHjd<<`8 zU-owYr{uzKquu|CT=+L=^MT~TA8hNE3lH8I=~~<`(slfqd&`A?gt7MJ!u#RZ-thqI^LD4Z&%+D*V$TTIhU++*x0v~V75C6H!;F{s--t_m z0$pVO=kcGywc|G7rVJ)O`(3Jr{i{E+;U7QCh~uW1-TRkoZ#T_ZrU^Qxjk7EC{=aG; z=`QA2W3BrQ&QyEsBR!b?*L08P^SyZGx*P089X<`SFZ)Q3au=ty$N3Ikv?mvS)hN!+ zMw@$=Cb`F7ekk^l4o>&@&)18${eJsMZxMemy2sWH-kE!A-vjF&=Scrob&n?lvmd7J z@dV2Ie@*xJNXa8Cr zp!e$@k9f)Bfr_RU9Q!o-7x~7gwf%U(>_p;6gDd>DA4vCjL80xRq3!$AJ#L~r-Cv7G zFot~6Jsz>l!#|Tg=F!{>ky#QRS;GIyPH1b~YFr%pcslN2>?7&SU#xq4^x*FM-T;38 zzE^hzA7jnBa!WmQkL$>HpnKoHFur#b>?2X%KJ6pDMV_AetNXH#^e6K9@~bc7?->;<#5dGBScKo3 zE6)z_h5lUikTLsD^1W}a+Pd|`We0dRd3^aY-wrT$hg+o=Vp_7bhCCR&lo2NU6yzKX z3)wDg_lqC%kwqSUhu^(VyT5;fU!?ZxY_0Fcg6j{~?(Yq>OT28^M;1Q~UHE<4{hdfY zBjM?y$MO3zy`_wa_Vmk$D~6HG2f)a!+vHSa6r4i*ON#1La@NS zZN*^98VQW(-2K}qbI}7%lE8^?_xFc50Ex#Qy<8NF*1ExaSM=}eVBCXY-`g@s&?U?O@D@5n@Xb0zve{C;+ncVyI-f94$- z%RIDqWTLzyqdxsB@5uOd!iTA`db}eOi8+s#8@A^z7 ztt2Miu-?h*ehXV^yQtetOZNS${6{FSBAU)-o(6Y`ro=WP?{~Zrg0G4WRW5}7QLtV5 zJjCGwtUcdqJ~@c{zP8C2WO)B3#+%xFqqn-f_qAs^L2Skd7lf28*p^nS7b21>0Zd3EpI zzZiNTn}7z^4QqD{dJ zW25jvIwQuo@Les=!VNSSmyGnwipB*Qdv{!DtCgPNjzKWmY-^07ye00wLvG6s$i2wU zF?Jc=0kWH!zwWnJjLawb`?7i6|NUI+jcV>Ww`%?dA)mMm{|UTN z-OibG$cf_n7S1703GrQ2ouTWQ<`xmV@!H;{6Q$MXjKdH}br=Nt~ zek%STT+cNpxEk0leMaFAub<-z{WLPjMltqgyVqwUJ&$!i4|!SonVI1v)la^Cn0_-B zj-8>u^z#Dx$yhl3e?dR#z+?Kq=x^=+Vt>&c zM2E_|FA6cX7s1m{!kdy`ytQ8@BVD%x*NwMzzsdR-aZN>eenxmCVdeh`{#e1^j=!NO z-y?+U3u)(k)Z^2Ahq&58+(Y=Qit?ukhYM-T@f!vIQpIzZqc-k9m!OjE(M)=vUCvJ2~g& zf`#*+-a6gB7};CWg?p?)!ZqG|w10x83m@P+oA30^MC#Xg4MGNLJ$})FUASp|;GOM5 zCvx)8%h5&>5E8zl=2qx-_HLzr|<6k!hXK_CEqxFGn@2pk=L5<(U&GN z8YYDCTkkX&J8>O2vm9O)|3jcXcmHgd5#_%Q7ePm667d%Qb+~aSVtWslz$vc2K&$%q zF*=LJpiveMXDufrU(wnTNFgH@N9Hf4w_F#Z$KC3Dm3B{JTwBoRGLq2E;JA>j`}-AJ zYE$S}XumJqQ`aRuU5aSD)zzagGp$Y)4qHypG0^#xHP4utE43us*_wM4xkTS)6*RAV z7Pyo=l6{ekyf2eJ)KXaQ-+1pG#Wu08W2e_lh>pKJeNgHS8t|X7>d;iT6>BHMNMYmQE=b9D?qLHcj_?y1wd&zaEn6~_?YvoEI=V9Y;*_~+5fw|Zv_<{`Hb*wp!E zZL-mrbenf3jWAbQBmF5e$=)`ReJ#Rx7%|~~qaqkBejj^0~-!LViN*ioB88??WP7o#@ly{5qJ z*!YUJ=7b+3M!z>thenlbhx+?v`Wv9EBs4{JG~*;0OO2cQ>i1J`VXCj|3g3LLFh&Mr z^i$%5`~GdtyPePAfB5!BV=_+q&a!zHinA7y>1_S=E1XS~tM{U$C#Al~ezpI$+b5Wt z)vOb>J!2wAg{^I!7cL=Q^J7?R`jg(D^7@NTUyZDVbcDhwuu9l2mRiK;VS$mo4AEvo%W{iN+`zIC6KXH`+zgm z|401AyvAc_*S>g-y{P+r{HtU)|LPUW3B?vUo9Kh^kIJZ29|^Cr7C5U-y_m7F;@@}&)3oYIda`LPJ-bRZrbg;qDS#Ck&0Gn0royGK=-t?BtM3O$4^r<5T z%~06KBEai_udvq??IQu;&t$zPsi%oH2GHk|jQzSuq^p^6e}s8`g!dnryL{Mu)}7y= zbvJK&PeTu*)fvy6r)hggxIuV0n*Isx|7Ne~v+mv{yEW3m>J@#>?X$)goLmzwgsHzm zy7Q&1xw+K$d)lt>5v(EPOW~z^x*t{Ogw_FzF2AejTfy{S8HXu+yM#9H{#>K6`HPK4 zBX7QI474vSxeVB3EJ}>Fj?%dB7Dzc@D2-EuQxy*$t!d$$I)VJ?(Y(1HT?CcUMj2NUr+s<}>GLQ@Z3w?XlZ`iCd0q*Oxg|8&9Mh z;ed^&GByeHt7+e9%#C=-BVBxv$_ZDj{(|n8y?JIGRw&=y%#GmDkJo%Fem3!aDECz6 zY{$e#ql)!8FK~%56dBuH;Cmy*-8g$nAjWPxdm_YF^Zu;%$~t3qN0>O_6V9EkzB;<$w0*V{j`Kb5_(_hmR|1|)68SFb zTuWVo8`GSD&VMTRr z_A=@tEzVx0dZ_aa;72l2yVz&H%NWRyWO&z!qJ0Sq2L3^K0O1D+%TAx#|8|{hY~JU} z!!?}&Jhe6DpxtVYBH!cW`#o@@wy!Fb!F|uxpW=U>c=zr$0Y7yFve&E!qYXGrgXc`% z)Q;V4*P@dVh=0xwS_`+V8zef4G~l9nK(noT(BKKvZ0=H>X@sYpJk6dqi1_FYIl;=W z7{g{u-;BxDofXQ@9};Um&aj)oIWt~2jHS0~OxyI%FYnq=htbZOkAK6KU4}l!q7Ea& zy}CUkSIs%S)}G;*&|nt-)u~13tiBskhgWwvIIHWMC^pa=FNARy5eN;iJrDEqu{766yQ{jA6;~ zH`p4t;7K^fEjZwMd)j~-?B3I!%C`)fXgA+8+fKIe9lGSY$7+aPnrnzR=IWA-=;$rr zZPpnbRwClmCL_p^N8mdi>(mi;X&wF}d}CP=`fzEk);N}Ra4c^alNWzA|DohG`i>5QyIMm*9iaU8eAhX&DS`) zj7D&IBl?AR(bsv%>t2(E=C28)T5_r2(vFs?6YXB;Y_&|Ci{4}l^k}Pd8f{$5*~v^v zS9Rf*aGLXxp|_Pi9YXZpYO2$V(Py6pEM3Lh+eQuhtb50JHfz90H|4lXaPdZj@jsn4 zU`Cg+)|OJndAU-~!JJpvOV9Ik^v_rTZ{l2Z^qYYPUq^qmtE2xWI{Jd0M}LRR0q}5q zp?pOCY8sNWxKq6{3+}85r@_6=unqd9y6IlNVXbAjGoPmtkH{3L$sk3UU=Xb#_wgm{~q73r=KDB%&-36V22oQ(Vf%3-YsV$Tq3!T ziT@7HNT8dEynK0*_mja7M!RfKEZ!2z@NdDt00tt_&%0xF-jVI-inT&(8WmGXbMFZP z#?n59o$oW)#zq5nDrm3xH%9e>4t*y*W{o*|BH$a&B8$KJ(vHvKllEP_Rj-vSLdH+o-}u%*jzi*-t3-N z!u(sIMQ>JcU-b%gX?_}@vnylFNeaEj1p5PR(fkO$8=~j49xljL+0%1oo8DE{+MU-? zo#IVkn|G(=%>GUlVeJ=n{Oi0f946Qr&VI;y!w0}&`tJQWtSZ_c95$WxkF7aqK+`-w zcRu40F~>SDS?6c#xi_oCe;WT4{GZN$FaFQqf0uPZw$!*P+Yp=X_N^f?Gsj-#jzyR= zn>z>4FQE*y5Obz6ih$qmq1|S?=nm${M8`EMI31lAUN-H1&UkEA81^*UtM^h0x~b$3lP^SAc6cI$LxgosH#z&7;3Z@dYGiXqFwrNvCT|gE zw9N-Lbk4n!bDa+-)8K!%I_Pm!Yy!ve<`sBn@s?EJzBj|*rh&v4;~(y%YpP@5pLXG& zrakyaYpjO#qctY{qxGb9*qb$|GlACOKZAcb4`t_X_V)N-q5N+AGtR|7p_Jr=#<{ph z`~I%5*7beV=i$tc7GTz7?~vU)=rd?)<^y_8YeaLU{ZF{7gzr1}UbcW-Jx#;Q7s@b} zChH2kU@Ctmx;lJ;uHvew^yRMFh{J+I783y69V32WP>`lUjy&qh2 zwfHe}G=@p&Jni=SKf2sxf5D)h?Y|=JNfI zDIfZ5>pKH?cODnKJ-_zdZoCU^Rk{J&d_N>zZO}ROV#@g}FyZm9HJ5774fgBw0}-07 zu{*kPaO^D4K1479oxz-hp>3iU(bhP;dFXuE2~xcFMcH8tnSH@=D_E1mbJ7P7v2TjL zn~-UBZ0-r&_uLD5OFE;eKNIM`+8`KthdjQmkB#W*YYavAU;hH*#F+h!ey=KuA76;) z+{#;g_d03PLcp)S8LPBp++EY-psP&_TAQ{A|A)XiI-99Z*(H0K``mC!V>>Q?6?JGm z$gWT2?*-G);0fsJWQ$XlxWNwdAHl5`&L0511?{yjdX+t?^l|#5H6ff*mT0y^QP~m# z5Ak1>q}=vCeyl;?s~X;yVF`BkMZ4;|ec}D1!22`7`!m7&)NNjvd-_G;{VTxx z7lQZKgZHlh@2>~%Ujg1<58l55yuTj2KN7n6>a6g+*RK{A?+fO{pLA&)#$Ws`@d^~L zHLCGJ&kcMo9IUkIE_}JR&DeYEiHqWf;C}EtbJM0X6E;j)fAxGLJF#K#^bpFl(yd48 z?y*-g-M89==7&Zv{{Cd<*~ig>)AN|CYWPkbjvl)QM{8aGxExrD7vt!Aoo@{gj^>OH zYzRlIj6+m3g!32(Z#f38+qze^s!C4O5?Jk<>_N?AoiAovsHf|w+~A= z+dvnCr+hkBb)<^=AUaR@Yto0%hh6Z^RQ|-`K0vE$9z^HX)868KTtmKrn%_d3-vK|# zR?_A7yxZBOyFk|QtFE4%w~lY1e8Z0C49cobBB#KZm#}7DqyOSVKBsX=%;5fYR?bY# zVtp*?sJ3T0wcO=fxQ4cSIp59dP#datuPI68J{&iLr{6|wWa-wf#FG{wk>-iV_HzZqgS_87p z)5n;P&6Vl7p`^*~MkB6|F|$Mc(tRTR(p`DJDf6r|7I!)B3f!&}pUsYFbM5mval6$S z4$UDPt3A1)oplA>sx>4S>I;6*-uQMIbJ2cz4&J|uBO~TFoV>+4z$SG#fmO1?oN65i zzO%^A>$_~>J9suVBND&^?U7B$A?X>=7MEv7;J2c!M-ENTaAG(!*4n?MJ>6G$%#6)+ zZD<4R?%jJRid@NDWaqTTS?{6?gXB}Z`h3Fr_d2z2teGXAM?9-No3llYKe(AgK7rs-!)F*#DW6Vt>PBN0% z*UnAbgzN(Tro?OR7>%`GV;){}_s1*D*PNG_i^jw{=Mv8SmvZj^w7JgNapJn{0LDHR zSDVM?&t#p@Zg`BwR;{;rsvDei8u9*mPPuJOKZujLC9O zGDmX}=FBI)&N-ALo}TvBne0o=gsT$Eoyq(^dlF~TIA^S+M`MZapfMJnx|n{c&*E?W zh_kEY1Xa$X#GeU1k^f8hqxdxz+xXYrqGbF;SL<8RaW|6(zUo%d;-bU3|0uxmLT3hMU|fW5k4q2aj3jY3P^!vJGco^C^t{OBHf- zn(wMisuX-t;ikDfZTP*JX{DhI`7_OqY)^!sxdxLbV2ZCwJCJ8oTmBh&#wyw*p0fC> zVUzY`uzyI{u%?z`Cy+KaJ5Nz(0DP)*WEJv^>XXiMA=)Q-L)Qj2w5oXUVUzyoAKQOn z8~P+hKJ4R(E-_-zZJZhXI^m<#R3UT3nQ^P|wfa-V{c2S~o-qP%LgkCEPaXZ$K9!?$ zs$T}@5m%n^FdQ6)1L29)8@=;ZBy+dj$k|G=tPvZ0n1seJ`Kb? z9ufNuvLW|x>7CJ8tksz^bcHh|f}Mou-8S?D>vXY)4@$6nRpeg}iqhB!42@ zCp=ziVSDcn*ae9Se~!tE{@{EGtu;pPrPmnNeQsXy0F*xvotD!#26rGIr>}{?(am4^b15w*s{muYlxSP8R1RgSlMTp9fbbq5jTrC>FAHJD7SEK zn?YRTrdIb&j7`z!vnNnq8RsbZWn1n)2qV(~sW&>$8m*uooT;wJV;d8Gh09B-X`sxI z)sME0&JQz;$4VK4$JwhJ+05U>CXy|6due%&*`-PQ?Y1ln6=W}GH- znG>g7x?3!6*Jprj*CrlwQI}xtru#YLlJm(s->FEzpGmWJqsZpPu(2J7?;Rs9iGyC0 zePivr!zd$2nrNyDga7uv@L1rZS?NJ#R(e3TPWQ)g^d&wIOCX+SEq_n<*!mWKO*!Rj zyh|z9im4sIB;~cycb8V84Z#CQ>^W(CMseN^Fy0Adfi&*pT^rEgK+5W6 z2`8oV-=#d^&-Kul$}7CJ27f53^*knDT3F9d{HCy;Svy+u!?ng3qjSJ%rHn-rW9QL# zULQr{4-uX;JluIUeuH|2L*{d49iO7EG;2cRPrph@n+DH9W%_vb`IkN3-tk4{3@j=q zMLAmcl1Vw9J5H^CcyxQ=t?v}t-|Dv?d^Dal{&nFDjTL_Qs5L&GyT6css`8U=L_Itw z{MoAr&q2pMroMcoP_B;~gjdAFSDy^a&JQ$&zgTndRRcyc4-cXurZ$`0p<`E0^K^T_ zm{Ve1$32VcOXrWKOu+_k3*{sqVI{F2o?77Oys9(YMciWv{>CuB!aWg}KR+KHPOCd- zuh34d1;M)3K}F1ie-G9dJ3;s(Pm?E@6s#}a1M8sztcQU0lM1jN+6&gbZw2dubHVt_ z1-f21&4+EhUGskUZpl@<@Xb25Hqg%&#s!=v_%>R=bMzg*U|i=h*;>@OCCt5+XzSV{ zIIryi=TEZl3U&t;;Jl9dWBQgc@b}I0!SS*g6KZ|8^IULwF`Rv}0B0?)yo)SJT(DH3 z^y!80HH0;15%$8ci7mk7v|Iol3!C(u5Mk}*z{4w=Kh4p@>@|M=U~0`4`DH^iVx7l# zy!(_c=^sg!^e<1ZIqCx1qCHYD$^Bo24@ZKx&oj=q6xw<-ZIRrJ_AaGiXBimlUMpqv z!LRdR+IVMC8&5E~LonBD*-Tyg!(rF@^PKLU=MXsTS#X75;R@0tNpH+`H|xW~IPz$2 zs+gN`(Z%3n-8*w{#MwjVC7nU0aZXg4nQC^Pc5#o!bWGlU_r33(tT6pNrKtZ}V@rGV zfBj2`*8gEe{r`_b|B-j%9f0MIbVpVe`Xv~*{Jy8U`z{z)|A8yF|3~eo|H`NSiw~wT zu;^#?KE_};V_+GJId^gX=g#im2!EP5@WSo8-#O4Rz7q63mV4d&ICT~wV(@#5-w2zjEXOYe? zqzut>t`6=J*Ku*g4ri1$) zp9UPjH$B%f=R$Wa_oW@r(NAofLhrY@yma9d-9gNIn0qJMP(fYm$kR@HrSGOV$^S{_ z>=eqDt)s_r8%fu{+IMY__O;T!cv1UC7Pas1(6c|_JGK2QeD?x=`ju@mRzRz)0FLjr zb>H%{4agCZHtr_x{%GTyp3deJE@x7>5N-#X*IT&h_*-zh@bARU!{3J6jo;wE`sD`W zp;sH+wUWzfV{fr)we2ZFk#tW ztSpq3;#-v|I;Mqh^@gCIcPM%NH0`^F4R0WW4BnY5paolVlhN~mp3V=kEvF>5aErz> z!dnO8uZS*D-f`3=9*N?$FN=2_wN7%N+n{siITwK+i}~uOvuD(4?G$*jQNq40E%7qp z!PNM6u@oLc*tcJyFuc1Otu_Dq2Ey*WOrgB93480xyZb=yy+(Vwe;2|zt0s^^_m=iW zqTar)@enV21bd(Q@Cdd>nk>--dSh?2+lKL*yfa9c=xGx(E z@#hm?+$ZQ1H~%o=i~F{r5Puf&#eG~~h(D9~;=UqNyIh&1AC3R@Q?V5{rIl9U4Hx##22@VJ8SMeyXVNySEBap zBmN!a-Zk!*GVV?QSytA$$}4WuR@$yM{F%JmM{O;JDV48z=_IXqUi^9;;*00SkAI!` z;(5WYj9bUc#Q%aiCeaSHLHJ3!BNGZ?(81Pm1;1oG8w-BE$A+!|gaLw=)t+`#`8r^dX*9a#V z-19ADO-qhVvIOEo%;TMda%2xSg~-buxDolrqn{%WFp3=RmdS&jbtaKVGD~6hysr`t z1>nyRm%>fQwcsQV8R9G#<}4SaF5Q_&tfQQTNu|xRcN;-x33Wz{qrkUw?3>`HPoRCv zQrLYZzuE-;V4abN^VdTDE%-7a%AWUA52uOdypr#fUu!4~z8Um$a0~R{Le}j<=2mhu z+ILk)8lHCbAn}0u_`)qVX<>6lu8wd6 z|G<%>w)yAgdcwND3M!6v>JBTw{_;qk@uU3@Q-{V;ctdsdZfC97obBPenmFEdaP$tA z_*EltBe};?JJg0oQ#w#jISmwwnf@gZhMo=tJMzv=6@1-wNFgpKULJO>895%_b$Z} zuIuJCT)^2>-}KtbTZ+tq{2CXFG92`DCa^cCy}CzNn-d8f@%3)}3|FSAj`)Fb;ON`P zsOv2m%5ZU!sd9h?lk=%ytT5)w$iESo$WTT#G+iU|ORMm^^F)57|Kf6JUEuHNPjQ}r zUJF{y$hrX|N#6aS{M}}dapb<9a(^4)d_&s2A{+Vjz{`yV8~H9w0Z-z2hs>$@3gBuY z>(8}ynbez~o?c|B<;i;JzOI})?t6!OCvc|rO`SRX_Jy!-`YmX|G&C4{U_MEnusPFR zL&BNfJEb#Sxbx3O$jj7BBEQN~{va?@!kT*unn-*33yjADw4>fa{+zz3kADA_(!Zso z0pqzJ%=T3DWjO!$ruujI`9B(S_l^*v_Tyx&jII{c}0q>P$D7_W@ti?sn z5%4i|rc%84w%kX#`Y%D_OL=IOihg}=&8Cqf(-=s9LG(roaN+B~7~mU?bqHSh5d}V| z$~zH0i1;s`bL&gzkBC0S_uNy$`w*RdgnM@-nNZy)amND>(tWR*bDx3ij9(T!7Ar0P*P}-2J+`aF%o>C0pY0#bdO!l<#}LR|%hmy@v7x zU%lAt)gHed?T3b`K0NR8a@7ZPJ6;Jz?{V9sHtIeg#NCu(N~U!xPVHAbZI@qdFN|pl z{4d&3<%n;fZw=FS@9vJ^F3tbe9S6PzkLP{A-=-C`DZo6O^C6ksg8wzegR6VS-|NP!?d&gVV~@5YW4_mSe%UV( zf6{TgJ2RhbG**40(FjH*`)pNA)Z@^lf@{AXe@&Sm!kW^U9%xOOMR4hkLt#z%e!opU z*OWho{+jZ~aDQvcFUMa~f1TC6rrfd$Yf659P4$fLxu$xy-CtAwcUn{OYfW8t?C#E6 zhBO)z&ivn9QzmQJUsGC7o=ie4r~O%az}$spr?Wo=6X|T~DbK!;&H$64lMHyYIuk@v z3%6MG#o)cd)$CW=|FxgMbLY(52Ay$57P`8h_~~Wtx}A{|4Feo?u6Fky&yLqu$nVF-71CbC@7tkx8NX;Hl{=60 zZW|aad)ZC@4f&FV?>FL~Sn&S}f1==DkKeUv(dONsSnLU|&Lm?dTI^E#-B8H;IC(`I zG+*CsbMio2@@dI4pa-Rcd?#?EG5N~ps0+NZ_@lc! z=k24M0I;FGteSPFveLANdk2?JRQ!>|zd?AzMIJ4-1io0uW1LfQZ{UWmX)reMAAOv- z1;dPb{w#% zt%g0{+5F^xW!cB_@OUbut6pWk;NG8B#gKQ2JqM13F9m%so_Dc)kbCwj$OmbCe3tKB zIUVGl6n5*$Aghy^+CNC2B_pK!g9Q0DKl!{{=Vuu2uxJ0!@}xO_F_i_sb5%!kYo_l@SXH>)z-Axb{UD##}hZ}5IyZ&y}mUMV(wTv;K% zp5i{kb7q4FW8TIQW&8>H|cy^_X zPk+gR7uOriq_f{q=^HaQ z)|1SOH#aWNP-m|mb5kt4rMXz*j%A8@1ixA7>^Eow{CDm(o^4Vu zzbZo=jJqpy<&MGL<1V^VZ?f(gd($6-qOms_1Cudu<*-DPE^xHhZXTq5d9nvp@h7Qw zzFY5C+tzqCtM{t8`f|Qa@bp0Gg+NqMC-AS)P$1g?r_F1 zl3EXpCwj$!^*SdL$KAf}29<6?6YAZv&4V_({gu3H2AmRsZmdpV_XCam0jL>23r->qj@}5>tz!>RP440Cn`S7zQeJMdjw!8$ygX# zOUTA1n@dB<=Kcj+E!nE%%u@Oi!1dik{)2gw7~3t+2w#2q=}4FK`>w9VPQj^-M*Asy z@9UzI#RCAgxhG!;{{`M7{p_|saxVHAqLDA-&ZpbvTrIS5H8gTDZQK_;JK=P1AJ^Gh zw7AL_ZLU3C^m#3H%%v{b9u9!dbuPgc4ZJC@Jd3)#GGjUM77yb-562$HeTQ-1q+;Bc z+&}Jv&-Z@Zmnh)AL^tkxYOTk2mVJd^%FmjFuek^BeFVH0x(<9me07qyuM@(1=jFZc1YZ2=-z&SMgB&s7i@P+Z z$8+}S%-cxsNoTru&pqhO-P~tE4;~VoDSBV@`^JOc z{E+bAlDZGZgDr=E2Yvq0L!&+ZQM$lCDvjT5FY)4u-t-{hrShED|>C%)2`LrJ&6Y;o}WwSvL{+?(;b)2Ezr$hrp$funBM+8 z`*0DD>Bg%)9@C%s-&x?bB=En5-{&2TCu|qeuEhUR!GAgaO-1=e6JA?L`wcv%O9}h@ zrBV2c`AZiP_W4UA@caCw;rI`Rzw}A+`TV6J_2&%ouBFEFC9yq&QgCQ&gU;3O`Pb8EO9=6sfswCzf{JWaqX=#-#UX`Ik6!7 z%RGv|^w>GY{H1%}$6r!AJ^m7~VcolBF=svTmvjc!e7rsZJFnF7UUe~lskB>cZ+{UUlhXO$ zEdTEtjFrEG&xG4a_$}OO(tGlkK1p4N&sc}gScmyb9)Br**}?IbxVt_mI^lCqelVRN zK4NteI)O8qf3}jH37xH^(=FbUY&{gy2^M!|vH`K|LfMhfeKGv70)Jk3?dHE7n0C0H zbf0$c&u06g9sUOG06+JTXop{tU$n!8Q$5;Y^-;S!S5|YUbWEdR@Lzma>+_%P|Bz^h zk+mO8J2d|jw8O&%+To!h+F{v2&fp+-JLDCNUyPvXkw^2kpTz;iTJLLJ_RoM40 z!@r}5Cb)#Ke?N6Ge*b>zLj1+|Q|A%hP$=V@h5M;b5$Dqn=io17;=!ZW*3k)puqc?G)A6_KRryqI| zC;H)e;(YocM4V4Q{PnMU(+?MYc5nLOduJUQ{V)q2iRgzfYmKpPf5W}l1lH!;A2~4n zkW6{>!!FuWOh4RAyy%Csh{|80u<>M&y-|0!JZIqsrX zG#E?xUnoCr(zD!S;a1{*1UH3zJ?V!}P}gDl;V}Jhn11l+hY6P*9Q|;xe1_dfpJmhQBCKEoBH`?P{+i~Zea{j+?AL%Gj-D&yT} zeWyR~GMJ4kTQ|zD)-Nhg1PV4LckJ1$5{zaPN*Ej7=Qw+btqbZ)_ z-=`^t;xDEt8VLI|#mDjcG{s>2#Wcm~gngRg*pGTLFCQb$rzuXtUrbXRPuQm^j>GTM z6t(ydhNd`@d_GOl2ft5KMDY7GMKAmZqABhn-KQzuMV41I#d_!ipQiXbaiS@nB+jQP zb`mF=Vl{C-P4TwmfDQEUk$K7P+?%Et0uMoahBC|JN!BRN?n&g}(R?hE^yipHC}<@cXnv0KZQwyxVkO zT45%6eOlqa$tzmnap(u1R@hFQXoa5<=hF&r5+_>W$He)x!W+c-w8D#j-kVnV82o}_ zT4Bz|4~Hh**EfoX;K6pvPTiS`uJ3KtVET4Cd{9+uh!70_ebubhK)E!yENV25O{`-^G|TfoTJUVENLFMR4x z2c{Q3LHfba3;*E0;t$}TLy@UnLw?Z<$9&DB7ux#n?%es_C?gtZG~)d4>%QW_4~e%h zujGU2g<1auZ{dGK*5SH?~Tf+6{n2x=!Kv2@5?%zh`(6YVE|#fz`s8h z|4Rk`G59y(_hllEBD}VcHuJdQxqgIwTEWC$Oe;hP`?NwY{64KvhW}t_h25jOX@$Sz z_i2T{;`eEV|HgkHzQWh2%cm7O$SYc*9s0qi74pQ1R`@<~KCSRy#EDk;HgP_!@G@~e zt?=s|d(#TX!Urg(74AIq&}fD6@CAxx9UdAV={k#bxz;=|t#JMw9JW8lrX$-eU7BiOhqd79(ztJ{y1F#dJ@<5J z&@(?MTH*Bn1P{Ttlsx&V@*~?-tVe^gdPUW3o_Rx0WBu{>BE}WWxT_xV#xcgS* z!Q?OJ1+|4(?=9@` z@qbqbGIkeZ6Jcv<#?zTIDqr1Z#RfZ8d|obu-ek6N=XU9?>Ak5~EaD8cBaXgp;61z{ zyq#yp&}$=KHF=_>*ONYwG$S+1!FKX9#xc)svuwT7_p=U*{I#T2TM?(6a8;D=iHi^y zCeD3F2|YcvMSI`KK`R`+p*Dnmx#N}6y2D<&`rC#c7;8>)JiU0cxgP(g7(**F0=eKT zv*+NKowP_=V{z5CaAngr^<8a8=i@4?{o-61>o}CT*|zM9Y2V`=8=s4f6wWuk)?XYAF;;iO{fg;lbVl>)H0_wUglJ1 z%6Q|g3|VhrhxBUFP0}Kyg-HYdV6WtuJT^x9N{=qsJ}US9U(U6EO}Q1soy(Z0uW{x# zoWcHTMa_8V<0 z)rP@1BrQT(m^AwHz3?$tZwt^CzkY0EJY!Hd{mlj|wO%d+ z9#^wo%7Kk?V58iHi>hcj>!lpnCx{j?B)kY*vmy zrc!)4Z?vrB-IjEA#_bo{ngih%;TGYQjpUzRSikNYTNdyEe$(5!TD!9O6l5$*5}&i9 z7WN0+^n09P$ns4f?PBI+J+lAUD9#1r7vy9Ez9f~-4kf%Uj&5rk;WY1@6F=kjbM0W8 z)-HQ*{CsfWg}?=Cr5%|-yMP0Eo2HNPh}%BioT2UW@IQ`Io0sA4>ZmZ-18I})5{GDw z@n#9Oc64Y9vd{<3=m2I|T?sN&zLNK+d$n=H@$}i1ndePG z+Bl5&zIe~%nJ8sU=&|;1DZs~fj@aF~aK|WP7r4|&rL#Mkm-p{M*a8=>DcXZJk#A@m zI}h$&HP+p$>e2hH)cT9{ccz~^!!8B)Vhg6iiVkscvGyg|Jy1NhU9jzUey-oP%C73f z64u8O;P~?F739~uvIEnLuxmWVecvR~)|~6byoTC=S<0^D`*O9%U=NRBN0Pmg`K>T0 zOE!>qQFf%gKYGAd=L5u7Qtz&}DzSZeRW=gmO`a%gvu*Z~n!h^g(VIESr#aqEzG~{P z{U_?T`F4NxzqFtFt9#V{9Qh(K=&<-AN8{x8(=6)edbggjUO&kvSXBE(qy2(3!%&ZOA>4xF0SJ~>5J(SAmE%x!f$GCQ{u!rrihdie7#xC}e)orau z@;+UE?m;Tn45obHzVyYcqfxnU4r{iJQ(xV-hC1%bjbcx^X3w57i2`y3{LHr(=L&oG zLj0j5dsRZ~`sW>$d@H!=V|<%+vKTkBBW8Ze30e0;Pu~x2yC40M>4c@H&U@4bw4QlC zy7>2_lYKva-k&E;`q^4*F{2V4{=2}hcVQ3YF5va2?8kRuE8;HjF!7aFZwnvOO-q2! zud-qz*cZFwy54*5V&fR-sOY?$kK>VBzA8qzBm;hi<}=xUe0qd+@{Dxyq2Eujk|T2J zoA9cY8UfDwc}LIwSv~q^iB^cQcCf!6W_@C3w?`jk&%1>_wzz#19kveqthT6L_Mfwb z&t02w=5nXPLO(y&%6jH4Z|3+8;X?3>!MVX;eO5*%c=KJD=Md$}?r`}t)qCHJx26M{W*~HCeEJD=hjq}esdfBR5 zG@wUA7`$g7`yk;cHbRVL`>1;vbuXjtWj*TtMTcQvztQyG7>Z!Sv7CLvB(93MYV3;K zOx?pG=!?DO(Plx$VZ)de&OFwh>}434bbbnS4)zSPvfc2)pbpM~ybsi-{WP6_@2L@a zy>HN%#1GNK4-F>&SxrL-==m$7v^=Y z6dh4*VH+rhy@+;fNv44<=$twmyN|er4E8W_Vd@r68N&Wi4ZPL1K@&mWx;9&=CrF*b zL84n_7sY*V(eCHWHv;zkkr2;wHf7EBe(Rt;pTwsAI&6SEsqcBqjpOv_{3)XIz?lR2 zPf$K%nm5{8z-QpDG;4=7qP0^8yvE(VG@aL&>8xBlZs6-zCXrr3dvxv%84o(L;}*MXl&dRRol%qXUYfbgsNZs=aYej7|)JEFJ z9$#_ojywOd!hg5BkKXN$=c%hkZ_+4DZ!wiq))R}uU7VY-k0@L{CNG;Dd%m@%<>nu! zZ!dGdRlHjd`J`vLC!gL1-$xzXg;X49Yz7@*Yy=bH9f0p16Mq*wJNX3j-pCk1dpr|z z1lrbc^%$kUSHf=+4T$N_OwTrzx|!{e;PLK%~6K2!^&$;Gr#@@47af zuZKUkjZ38SQ8VT2N@ud;Q87Ce~IZc_AGY*%)O~C2=xO3|$V~I1$ScR*CmtmO5<57=jLyw1%a*k!) z4kcewJc&d)n>6S{Je@u3ZRnL4_E2vMc7;UpUIb(JkV`fC- zIm!uW@6h|U{V3BNH=FwAp0@41+=#quL!EMED@XQ@)rQg|#^*IpuYzavo{8+k1gTTD zc2^R&ng8?8Xw8jaKD90%v0I%ta6y|h1!<3v$0qGn+$!8kTsv+fZUb&DZZ$50+k~se zZfq592mZHk9XQukF}9KGDet8i^^m@s_?@_2xG-Vz=FBX34u6F8X#?wezgz!pXP0lE z9&63LGMj9lN$~nEUhXEqC06|DEk^R~@zeZ}*0~ zmQbehN2xu&h{oRpzHoFT~`fuzpajl6~=kea9U2m{9 zw9g24^eutbFO>Nzbw%Uw7);qz=IvL?SDNOs%mOZ{!+N8nYqh=H* z8~fmx{3D6w&X{XkbM3L^&dMa^Fb=E8JG3uj1w6$Dv^p0tM^VOR$dl{~0rs=&S{-Y6 zt5bIydqozT$pf&Nd>Q*0-!$UD#oah-AGl3*1$ig&XF=ncm#pQ^g?D0uADhrU*S^MG z!yjRYcg2$7iAC20_;i zqMSkO+k>=chuH(RF|M+QrhQraf&ZrXU-3um1x|1J&c6LjxJ~>$_wA-qtvlsAnEiYbbKNeuqFusuqCtxB z-SnXG%4X6_G6k5;c(hKtsXFLSVLunn(0-0hZs!ro`4sD|!;Kr0KL`H~@|(c^TgGx1 zudXtICGx&Ro}O!QCwX?0-(U@fw4Q9vu5s1~Z3quv?yTlJt)aD)As&+2TM9gGw7|hu zI-7}uqhqa3mbX?!L;JX_40u0Sn&?o*@RJ`fhNK_V7>Wig9z%~NQXDiKWr*)1m=rwz z{#EEAlXK9VpKsThr-Qv8qZyOEOkw+YraesSc0*yDHYVB665d!X z(pVMN!;rUk-}lvNuMB(koI5{zfBLV(mfok|pN4(b{rz!R$QYYV1dPY@?)x?Tmq%Im z*hapZce6^(3GTWahhH>t|6{J*)^>JyyK(AYx3@i3zI`J5*#pNUwrgL@RSw^tsr-w} zgZdpCCNGth<96|k2bn@#3fFc@`F8DP4^+|~%GP;&7X%VICg8M>O(9)t zuy`LESG13%0^au%$$#B2Z1aQ9#rOO2z_Ko#Hzu^{`zy1TYagKB(HQhlO8j(OjCF1n z&Ud`$uq+(3+XB7qAUuAPa~-(!$w;i$4EUnM_+Lg{OPHS$ zd#WAc`*8FwJD8qh_qNgxfGd8?`=Ho1oMVGO9;jsBD2ZNgR~YiAe_YOeNFbTmRGv&^ z0>)SJf#j?Q*?WH?Sg!}}1>XzGOKicymOHdRRBty=IePm>U}!{I2X0=oZNr==wg>NM-c~ZFdD~I!$HikSUZB>T>bYp?DzA+f zdu6w%P0)~mJJxKQsJc`Kap5_$x2tTW8I-GUy*k#ob-3r+0^f1jmddVM4Cc8IUP3rg z6kbR;5M$qirw@%(Q3kx+O`N}v9V~72hQU1#FxkO83MNHo3nq){Yr$k>A28WrcGFhw zS^_S2v2OJCo?sG`SMmJGWnDhLKiD=27w6}PyAHH>s!i_RNxzHNiS|zIo8l9wO)pWF z&K0quHa$X{Mi3UQQ2Z{%!_b;~mm)OxiMMnv6MZIItDASJt%&Yy>4`SHk3*CEyvF07v6cVLT@@nax-nweinS}KE{HM2>XQYRsP1e6KI1! z?;j@pav}3~pgCyr=OA-n`sF#=C%R8#r!jwkxrLT?$5e5`btUn1_ATO-UVP?Jdd~LF zJ=%|dx%<7Xf)Aa;w!ISWdWNz!FQUt@V4v0gW?0bb;BoDP=PRzTPA7s7TpU22i@*s7 z!UMqq9w;f`0j<{nc%VP*U%qG8xOt_ypJMXdy>BwaR#V( zf%F#{6V44T-$!)~C!fw>I(xwvuXu($vah~`vXw4e2QRJ$=g~`?Bi_Kag?JQGisTf; z`!G!CQN~2Pj7j|e4IT&UHG9Pk!LF6aaspHN_TxQU=%E<*Z`R#*IM$kbvTS$f>M8>p zv%oBEf9e{eGn{EbuAwPg#khEPtn)gmc~7s}Y|YK>+}+uj;69wS*%VvujI)MTn{7##{VFo8`>a2|V9MI_#wD`gx)X~|DiaR+#H7F-GH{l=cXq>OU(R+08( z_pUEpMOybA-aAfZS1D&z-3^NN=g!Z&>!Y6H{pP>PS55u3`>Ma4`YBg+c=a#cQ~w|N zF2Y$>ZFB3VoyB*JukEM)>K^sKpmJion;BmWOm*M&`FrL@(sl1An%b?0e8qQtYe+W? z#d&vq8NyNShRdOy+`GOu?Y~#L`>W{2pOZcTexhJ2fz5W=)fZgV15+V5czW0TCv)J# zMVC91EbSNG9S!}jnX(C<5POPX?pu`8${ff)>Ve&zbMW`4jFm5pG7@7Oj8(1Zr{E8b z!S=;mY_-eoI{0xnbqmH-@3-2Kn2#Ckybux{J5-3b1{K?v~>5+)3mSzg6|g zW|-a))7$Ub=T9K*)4M#`r#op^DR~-@6Iw!D%CEZS6zcj2d0FrI+Cp6~6xH<-e$@p` z@2N{~vlZ9HnYm`cU%k2}6xF4ARHx3o`j>34-wvf+N#5a%5w^3pP8p4z`aEwA@xKs6 zVOX1-dd{KZi$XKzB|lh)eRGSl>aj5%h{3~w_hKZ{*)zrlJ8QX{7QZ@VbDp!B^Cf0; zzSf%Ql;e+NIO~}+U3dtC!~0O4(oFDg*hbDEgP-&&;%cM3DW!E)bf;erzg+c(6UdzL zZ9Vs%&ll=83w6teV%0wCt}Uv&x~OjJ5bKUmcc@VJqlLQv)a3Qsr0%+X)Lmax_rRjM zqlZ|xN!{?P-F`19)cxB+-Br{*WFK`8EvmbrsP5Py)?G#2&{S^SlL~eJq)>M?b&uFb z-HkR%;t=burS4dv-=8Sd z{qKdkE$W`IkGgLus(WHl-N{3#n|f1)dXubK(Ga)3QQ36`YgOwM`g<$9$F1O9_l+`m zkLbdrav}RPXU{!Y=G@$}w{>53jeB1vex=evJC?5v*~{P9_Cn>>UA(yxOk8JcorN>V zmS=9TBkWDjiQeY!GgJs)OIUl;)zG9SHcZXTROm|HRx(CU4Or;~(1gu>Naue+zzR-N zU9Yo#&CCTk;nouHgkgg-o&x7VXGf0rw2Ae1Coo39Qpi~K>S>2nX&oEk!!a6g7yT=&ESgB`GEPH^B8%8gu%V}AmN`8 zE+HHuTtfI!!Xd(?ghPaXNVt@68R1gG-y>W`xSVhq;cpWzCmbeRPWVB>VZ!ir^I^jG z6YfR0f^aXwO9@vHt|VMRcoE@B!V$uigy$2E5I%x%gz#O2k09Ke@DYR=Wcb6hhd2Lv z6Anh9HKN>u@kWj0J0tO__BhRf%^V~&2bVJk*GvuA%z>>r7@y~VLBQ_K99)y1OnD|U ztbsP>AjKRc()rVKjD7O1T=}{DBYV@Q;&VGC+hn%Q#y@hWnQC$8K=Ku##8f+ynP7*Q z3%zquuJMmGGX72Za>jp%#y|QZ<3Aq$@N*6_~FCjdTaENdz z;Sgc&t1C(gBd?e*C2SEcBV10nj4(FGE6NFn36~SDCLAW*i*T5*Xv$uMD+u=@EL*J= zgewVG5RMS8Bpe}JNtiv7^WKY$KVwNaMED58y$K&dxOeo${=K8m^%v{|BUuQ$ihy~3 zE?{$4&RhgCe`5a{LtmS7fy{aRd&6g89o7V`8-dm7b|_Yut0ebItl40kZ-D)iJGA#V zvEPq4GGL#7q@lTpru&wv{QZoFl9j?oekrA$01(IKhPA=;D{Q@-6~#r{51HnZrViB4$EI3mcQwQOXX4Rzmv4A^_GReQ$+WYW@A*^OFa3=X@Dq!9x;`E{wq(Ef+6 zzv1&P@1Y#=Yxk!=(L(yc=x=N^tu(mfl zwb&@I$S3{7aJt#4BR~33oXeZZ-%LKGE4~?d`DUj+)9egMHak&V*&aO9mJLW2>^G^b zcpUJyYFs`Qb%?Js6&byH{PpnrrLX47T&48iE&p6$jLZH9<&}Xejka_i-P5i0))Kw} z9(%}2H^AR$;2uKXoWVDeBjgOv{}SX@X64N25+`cSVq7_E6Bpt?tTg^3{F~sRD)R7# z4`VY1ygCcM#1b5~Zuqa|-{K!zI8Gh^L)vCJQCuD2f#xjkE@u_>eSz2a9&+s=%9rdE zXZTk_e5*AinVOat&}S%WKW~`T7;VUw)1MGy66S8jNT>U8Cs9!qz0Ymm!Qy+}!Mrv{ z`2Ie}O3!w`t>wQOXW~43PnkZxPy6`(z9M{oANYQDu8RCVzJK^Q@IAbxUW~W!y`i}) z!VzZy_cJcL(asptJ7!!r(-wa}Qn=57cbK0MxDl97XB**J7*;x8LOUh%em-L%nAV%W z4au1~bhfuX$NJG;;_{KmcRXc}gm+SRRwzGzNQ`gCW|7ffTEbdkjpRScH&41a>hf$^ zJlz+#sVL>U?bs5mH}0h`GvKj#vKC)fKj2fAQ-*Yw2UD(aV=3~ervg8+3!wXv=P6HR ze4l^qokk3M%Q1Lpv6;y6NX}<^?nTNE8CAfRSN64(t#(Tf;Q~4V zUu%ZT?=r|U+|A$Qj>#meCHL{ck$fn2y?y(zSiWv}I=dhgvP*`q%?IfB^g$Ew!zUX) z%brBI7!H2^U+}mRvuqq-*n$mo%KY=qy+Mvj7j~;eey$&kL82h%|89!dvi(# z-(+j;mRzT@(j{frAxFtPJW1Yh1wFvxd+o{bHfM@>+T3UB?ojuZy60y8`Z6Z{bkBVv z{n2}@TGt1=ZZyVy+;y`EImVgpx3&CN<4l~lZYa}VH%WipEGk+zi-5J6Io^QXvu<8F z7I<@YBb(fHGle^F-LbzB>Aqjzdb!bQX5N3lj-Hl#zy6c_2j8zZCAe3o?C~+~)ot$8 zGcD+&w4jgD;_NtiL)QF|?$=|??}u@}emdnG=zje~(huf-{TQ`}{ozpW*L$n}1Kh8d z?x+5q_v`<7?ZEfzJ4xT0787mNO^bDsUd$uzAbg)jJ;kc*;1=TAa4oobxMjHKhVAY&+T%HN5o$DFD`+D!vAJ82n~7WKLvrV@J**_gUh#uS z*X=7jSuO3qgJ*}kCZs$$E(;llUf|krlrf?WuAUg>--5elN=erQWMq80eWGB6b=t%? zC9%b>y&df>M==IRf2uV%P<>UM%*}7(!Ojpku9UK;)A!~9H`qaF$&x_I4kD`{9ItvM z7qgc}qn$yk+0Ik; z2%YK5| z|8MMlm(c!mM29>x%C+HMH`ud}Hk~|zE9;Kewi%XmaInQdc_qxd&02Wx_!0Rx+G)#~ z=xs@!9KU3PSM!gIU2YZsL!z#JS#Bl%O*qN_4FwiA;@^PF;MU?c#1Nyc;K7w`z1GRx=+*UdlLRmOCBs*4#MKgl`@kHq9QwI5v>JCYsJB=qr72 zb(FvUaM+dK6TPHw&Y_R`SD&@^S_rGJ>SGymqPE@nVoBE!*3O~8l-lw3tZ-M|01u{O zv{^7EJuc~RNgqovHInq6Fjd#L8>Sk8b+th{U;V)u{+d`-Th=967V5zMy z_%Fa%v1WIYwu|_;7=vZRrxj1RAqElV`E861V@vqLKqZyYF^pnN; zRNvO}UyUmJ;Wy$sY&)Lp;i`ILF*t2ju8MMe z7(9xx(iyiLekQtbHKmN(l=w{Q?dCOohyDsS52YU+1~`#^2%gkd;Q+0jVmzSvmHt=H z`F#tR^5<9IRx!uI8O3tEZyr`BMhVwYlnTV{5Bb+YX9~h?S~sDcbhT3?peE5iM;g zpuF$zoH^tWq4mCZ-}}7xd3-*L%sOYEz1LoQ?X}lld+oj7JzTyCniBS&DP%8$P2?Y+ zzX=`LL0?oKe+(X|KW*CBUXY&7@OKTc5?BFr0S^J4KpNNpJOXS5wgImK+kw{s3)l&C z1ABnIz&>Cu|%?A(e4j?O`x0ZGM&1dv{4ww#10ZhQPOG=nqma#8@ z?~8Vcd=>A%U#QiTbAJcQv540n%B*xWkum24@(zM&_f7g!OUH#AP$O+=3_)Qx&e%8Nx zEB*0F+GYA@`)!P^BOM##dz>{S8$)A*`j+erjSU(XZoEHq;FjW;*6&X}wolR3jaozb zSL;81#tPXgnhR`S@Xz(*5cY)G`Y}_qSBv{>r5_EWf1m9P=+qw3Lxywa0A*~MX+N8i zf1G}y@?@1Kw$!Aq|gX5zZ1dnrwMlu@N1?I>Ac*hWNXNzr>stHjpk1j_$}-f_L(~ z3j87dY8|4Bzb1bl;jg{c!1_Qfc)h`T18}5&jJPwa{q=X8*oY0~oI|7jARfx5oP}II zNgLO($6vG?hSoqD@tv~H5os)pCiZV$Y$0>CyIKEn>UC|gUf49{YG>K>@|Pa?$3f1Y z;y2&mugJIX-2!+ri~O4@FX_W>MmF{#+k5F3m1_S1_UjnZOGchVM~v`)E#F8iZV9oQ zlHnovV}h}iWu(&C@#G^rTICtX+YgtRX77iSEvYjGx2|VBC_T&Ca$i@rB*U4N_`sb# zaSPZJ*FxMNd*T$E%bqx5ERWg~7f5j41T@LMv-Qcv;_JBF9WRNm&N`0TTJQdF@bDJ# zWb20TfgJ~lRp$50`ws6u3whD=m-s!KytH>$eY)FZ&k?xxLvQBYkNIuDPw`g1f7$b& zdXafFZLkXdD350B=X2R7AwJjfY%aLco%xT$yO)E@R-`Z5`?J(1H7}_Cz2mEYn{x(b zzj8_RzSzD!*CSI(v+vXX-G2b@`>u1| z`$p1BAGvyHGv8d!H_wtrehlR)dB;CqEg!k^c*Ii%YY*k0Bt2_NJ^0sqy#A$a+ba%i zxNrpL51|h|^#8m_{}-VDalR4#D$Dhkpli$3hF9@k=}|m=CF?FJ`86p=<+)`A(OKxHoV`~r(_R=1UFavB>smO`=oHNYk!X$n-06Jr^1~37g5gi4zAA{Hq z{6fv>#OA^YoFDy7;C3KrwHJC`$G>iJc9oHNJHp-s*?h~&ON*%wVxCQ!?F0lt$iIFs*c6D!!Gx1vzmaHCbF^){3GSn2#_ z8@pHwW6erB5uHH{JM#(7c4u7p9^Z4u3o+r+mkSE3ST9oyd(c{7$LK45J!C8>w304n ztSEf!dx89D^8VP51H|nw03VkR#FEx4oNYCMbGXO(W@h(p*p!W2H*Lyp zeKKt0@`I^v;n=3a)`uqLgW$6%`}JQ=%p$TkndTfxrO#nzLgc5diSp1l-+;h zrtFiHp>=x6fe~3*@R4pVd8r@jyqo{vcZ%=kn9YSGw1$yid!IJ#7BJJVRhxc{ZMB>W8#}o$gYe)elHFmS?;EesK5K*D?=U zJ<%Ayexk97zZEsyh4BII#Hi*zP9Ot31Sr0w#Xvsbw-HZg-{CwvkU z&%O`fN@u@gC9zhiB>No_>vlQuR@%p-^D5D8>^%uG7OTINlGi8p9@?$HlgP_TuHy_w z`dw1z`;W`%OgZggoWwI19|7*=<3)Vu<>Lk5UOt`&uKRyPw|lPOaPrVva0Br{@8{h8 zKXUex+Veo&*TKFs8il@k*&C{^xghugp zFMFsoMg+yrBy_`1Uk5UpSZ1Z-#OpQOwM+YD418r_Y#Z@X-@fstVgSR& zX4xb!{%82WHG|XnRrs?s)~Vd5_8r=-yBI_8CKYFmIChu4#-sTLdHCp4)ytP3+8yS- z%F$egy)e}pgZ8pd}p|k#=yIFL$p1|ed&&fymiFg0gJ!|o2E3o6P%xcfB_~J`2cBFnD z(w@^QJD$MVYy6*-q5U?}C))F>Z|qo#B;PdPV_o#~&@s<(PGMgrbdGaX!Mo?#dyex` zn|^oCa}_$Ee@%8F@9a20Vsr+@&;!Rg$9W#}$J0sjsS$K>-QrcG8`)=t~ z=o;dU=s(gui+t%j3}V-8-P6|ITZ8V=+Rq;RQQ=G_XVEjqVQeNF{=;}9cSyY4YqdRMpVt&IFS(?a4f&A-_bpV6@AWe_ z*?arhPhYDt*i+9WwLD6Ej;r5?P``IeugDyeSC(3;XwdtTulS@m~tSlUpmWo$< zv7>SZ{kH^qU3$<5R|n$h><;xC_BQ(Y9g4N*O51|m4KOV`3|hj}F@SGU@ktR6UAuoH zx~|H*e7g_2>^m45MAKEo|G*#US@hKwD}+3XKZ*}>`BP)-i+gQ-!Q8c4`o~0P_;p6h zWyIb*Q_*wj-wy89^KF#%D11mPXFmWin)PPcnZ7RU9NIRJL01u{XLKO<5$s9!l-AL% zn)fRP$zc9m%ilTFp^CHU*^`<5D!(~n8(WjML>@{jI9s~dPS?YiaI&)SDzfr!>GZrG zc~}VloiWOhkt$^4M(SLd#Q&2~dpWWZc|Wp|xR=Ri^r>w(ct zR#U9el6_Lv(41i(;*RYjH(B9?BO`l9jVEqk+I!?=k=-8Ch*@*w_#&^IB;KE#XpMs{ z_|*pVMa)kTk4SsK!_u~rUPl&&(O%PwvY<72N9WD9%buPWkJN`o*s@Sk2q#NOGrcGa z!wL(p>z4)Da;_|>jmzWd>~!)mVyp3`O|i=`hzGm}*)-7m;#Vk+Z;Wx!PD6U7L+4j3 zex%lxC+A#-66C4Ql_g>@l>f!#eFif0@Lvz^o_z;44PeVq2XZeNN+6?8uPf+o4Wag{BV*xP^{tXMOAxiUF}+j_Ys~Uqf4{%t?lMUOM6H6n_F!? z6{4=H7iS+oZoo(BH=l7*UVT!yKRM312ZS`=fre)Fu`bTPp${5uccDkG$+r#Y8|p9W zA8SQZhBL;yin^1&;r0)mNp8?)$I@5jl=VsE-j^KTe+LQeQ_38m>6{7hvA?epZ@439 zF2)}?!9u_0N{J5)#ur-)uAE>skL6jzrx+U?p4z&$W0>7vb>EG2t(T`ieN{T`bNR(Z zIsUTf?|`S7VMU&@H&}X&cogZjW6@rU4j&?Uh+Ud1g|}s9I{UqUZ?c|Ea*s-kIz*bR z`9oBPE05?K?(c)wyr&N?vT1kPLVfTeXpb25!7lZ| zYizpJo)L3cq3sys)xbVPd@?aa_#)kY^x2mHE#TpBy3IhUAZI-@w^*3XR?aPpkuyuJC?~@aAcKZ{D+dTF%E1aq<+8{IX zEycRN%>3xcID#CwWBPIJ3!7gv@|6u5zuGw()@m}-tWg5;`77U_lc#)-wW;=kY4B|R zf(-uLjg0#{{1t!Mqcdgw71kcvE0xRxxOXB~8lg_qOFC0_g+l>6AhV=Q=ojTlqO-)Gwju z-O~Q?@#`v&dwrBX!d*VHr5&Dwo7IH{S2{MG_BFWUR9V-}mgb0}TYP`vO6Y|5rYZeq zHI~b z1#9R>wM8p+D&>6@abt`4eK!64`^+b`=dB(Z+;~LJvacTF_G89FZ+m`|@6?vx;P18c z6YslQi}^S3_bT3TCY^o$hxM0(yE#v|r@n2XQ3vR}SlQgZw8qMlY@2%goz9#z5Swp} z;k>Rv9m}w3@cX1VV?1&1u8{UIm^xeOF4jJ{o5A4hok)A(bKK|QYj|a+?<zUWTnU zHP86EN_UQiZ(%0_6Qc=BEaAR(n=P@XwmqyVwtk ze`SuIJ)Q4-vGF-%3BT^$h1+6pz7a4RZ96b*PA>Rr8?kX0@;!ZyI{;1cu+!*#dvsJd za%I6^J3p&)1C=gioPyrEeki|(IkvWQR|5LCT6VVPNiIFnA{{=XLH@pMT6qxP80H*N zTxnJ%JY?M}e=4z_@}Vbb{}APWWzXVrZe~)~KPc9#P(5W=Fr1A1c&m%lPjpsIx zXwM8#%ltk-d;Ep`m^=4K4-F&DgZ!SCcINbZ$Bs5SMmVuL8RqwOY`lm8^}zp=GI+vq zWbhC&Gf)Q4_`e{7Ut0gaD}&A0ziylVe^mzO;$xHy{_<@{2A3S{m%-7;k-;X?97_hj z#dFEvFJG=WFyc5eIEOTn!TtE-rXq6<7mqf=_(0`fI;ITblamildQf*u);IR+!8-I{ zC{@&h4bp=v(S!Kr6t6Zw4^EdJG^7U?6_&+~_vpb}pjr1+57dL#AcI>6=)nc+`t{%= zMLpPclpb8^(Sy+B(Sw_j-p`#X8%*BzeVIDb2)>I3ukPDm>%Du6dT;R&z4sdaP;_F?=|!1)leJ#x&FtlR0x`%YnBK*>E zr%xDZ{7)Zp`hjc%KQb{lxg0w0#MZ+$Wb6y!JF7EvH}K>v=YE}OL|!g57(?I(AaXyx&n8o9c3HbjUJstnW~>_8)R7HkZlm-yP3~9 zw!sY2R7GluwSd;7`ozMbZE$p-2+${D=R3AR)ls&=%3WHEaBYLDh_!NML(erhR zHgevRWI(^Ag97np%RW0W(OkHYy?7?+PlOK5tLn^t8*vcN+%un znerXmN$<<%II^HLXUtoab#1NES@P2_%2pba3r2Eb_HCE;V*TfK=#Cw91ioY0t+z=} zo3HFd5A%F6ej)DoOa$+@Rw82tvKbnN?Mc~QyY)?EX7EwcheCcUJAV>`w+V|cdL2$ zja%cteB)c;sd;=~k88hlo_!j=PnMzEre<@)|I~~B>@=fdOYcPFLVVZvd{c@}tNst; zhi^!(G9x&b`fS=db!*P($fGmPu>3}cH7N2SD-c<4HUBZZJBS>ue2aD0im`j7HJr>kq7(4+__F3`PjsIy}p$!T?f7ff1KJ*x+@TqUBTLREVXkx z@0vCLif}IhX+p#hNas3wi}eYUd(BDjT~iCw&gT)kl;At%If?IFdH4(CU2^Y1#+&4jqT4A4Ah#Yy;6`VH^A_nwaxcZz|dn8ILWo4O&EN1+;D;PD?gz zh~Jt+i0((=V~X^u>%clH?K{OiXBSh4b->i)q*WPj7t_|0?i=L0oWEM5G~!O&sMhvY zs@*(&O0ukPwg1f9*YFQki@uTMp*Ad|&9s;NRpvm-Pk99xf8OF*X23J=c%nOfbe8oC zGs^~$dLMh{0HUGV)Lf!Ueb78_W|AQyq%qld{LGskV>EyOwy~OY#x*`=sRS(%ozNM*az{rIYtFMk@U@ zYur1OH@ay@3w|KlEw8-PmL*2Y`o%lY1sy*8Vj<#9)Gf-(#~N)29fqFTQVG4P zi^foFnd+Kt%+2x9NC)bS4fzxC0T<*Kc6}gUhR)4H))h`Lo&GQWNRFiYA3=sSb~}1N zeila${FYdbHN`$BzeXs+Imh@VWTVR7m(M`H4X+;1+Il_hd<)+x&)IzE`ZM0b_LHpY zxz@sek1WS|ul$ac&*|i&w6maHw3fgp={wCEzQebXM8CfKxY9`9k-y~c`_R4@n^eE0 z?>-2=)wWNaeENMishw+h_XzK#Te|2wp$KO-Q&069r=G-c4XCGVC!AZmn~Qm-_|C28 zqtsLMu7}1X&y~-yzUMGpJ653%+W(!jZTvk%o2d`WpRows?%VL{NpSg12ETc5_m~c+ zpWJc|@icTm`7~tbyMB$wVx#SKDr7F}^E>CV3?jDZlH;r!2JnRv`_hW;xxkI1nvajj zw?0Mx`CK;K&^oj{nI3YIbW{8kVxf+{PucaC-u5eWE3(^v#`-D9e}BBe&3ezedzigZ zrR2Mtu~GMdx@899S6alw-~%GwEAl04>=5W5iM@Y%qvfv!qQq{S;PitNpjYxLAE(Ae z^(*4$hG7Q}3rl`=pGM?LJASx1!rH?fi>+WsOF{9a(>_>|_w((v501s>cY`%;7=Ow0 z%j79LA((D51L>xi&t6-fa>sSd7XoREGZvVKNQS$_*OlFh&ALiFF;ls4tSvXF<9bVT zg%4-3K{qb7mOQn@T9PULeeM?fcVOezJWs8`zLZtP9Efq>Z>?&@l!F-qHRfLi51@1hVNN6y<@l9JmSug zAYk(-0*}neM|fn%nw_)6(prYS?nO*vX#%~#8i(!**II8GwCb*Kx6S|dqTA+IIp^v( zXpOi3PV8RZ4`MA+cZI7j)Bg7T0Y(RYT+ey>dD6)qD^Issx+^w>Tm1Ebb#tPk&%bbsXxoVf6{G~7D`<}$#{miA=-=C9w{gvNUrZYCwMArV~W%m2j*ki?% z{IB>O%II7SH_Pdw5~tdG6;5qT@CH6wkuM)N7vIDZVkLNOptv zJN&VX3z{F@83Rs0*KW{U`;@#r*G3+7zwe2OGJCE)w>a01#@lmSsdMtAb<81; zp3gji{+&e3uXLt6*DkDb=GxjXHj_2>5@a||8q=L?H>_f=y{I_XUUiiJDY_QQx_8_0cf3A^JB%UZZ}^Cnbv(Rj(*0+ zSM5W`>3xmKctaY^A10ZaA2@MMeh;sfKj-@DHbKh~9Zy<~1H_}- zI(`wfwB7!NUbTmGb-ng;@%P-~-xz0YgbmaM4p&`OJ5O?hU|Du2H z89Ku5E3*4P1it_D5%$=k`GfSJvsRJX`CZ;cMvbuT{t)|z9lL+kE}a2$#P0X#Ny%)C zesPHXJaN8L-N*BtJ5Kz}wb!9F39UAd8rpMHpm`qY0txBp1@e0pjFj|tigAZ~GND6b zs?w)PH(GW{N@-i{wBz|+HiY!A)^hKCL1Ty=kDm|G=CUa`56EtR*#nXV@unu(o_mwD znqP`P;^%dgWmJx^=Vs#1pYC<`W3g6k$8iMB)Xo{Csj7z`%sFe|h4ht?;yxGlTG-<# zJkfY5epF&(JO)1!wGKa~@}0|%ufY%1=?l<5o9D{QJMOsOck;c`^+0RAc#o|ZOURaT z#$`9%cS#pB+H(`hZxnDbZI7?jzE^BB`73Y5gDcG?ypK};d8Dy>V%9-SAgxVEaE+DTN^i%Ob^7RY87r!nd zFV*Q>-rvujVWmBr-{0rAp4ajFQt62Xc*=L$gVS=J!&8@@CwL}aD__|qD&s}+?;@S- z7%$HyA9dt=GWja)4EQBFYKq_MTg|7H<^kQm`<&`rsm*_=xEQ)!=5&H zr!&Ab_wXfUU){6IwyV*rHT2&Od=v5^DdwP^-`ayRf$zd`+Sb<5_t-XcEA7~?qo1LV zE}$Q4e+B#6_+16yza`#Hu@+OaSxoDc9jNW5CpxouW}`_VKf>&6E5r|;Rt zB&^5ccMW5WKf;-0(hclwGMPWB?K)_?5Z_3q6^Ct_#Mq?9p=<9XR(5jsP0h2Zn`}5Y zo#J9c#>CuwzJ0e0pO!y;N61KV4UE-vzH}ROo1#0N$_3*o#+Xz=@r5(6>7(qKn~I%o zpmz)to>}N8=n7}<*(JI{nwK))6@7|@sWAi0H3IC>Ys%I0H!LJ-dE|-c-L9FFUBa`tg4i`Tt|^6{NNOlH?~{ z?alMh+s=CYMbIxFeF&dcB>oMlO@6lf=WEXo*{_pGX zJF*|e)?L@~TkYP$H^BkA>&Ew?yDo>%uI@UA->&YmbX18(1;->L8Xt|+JKoA|(boxvcfHC&UT!&-o-nB25j~-ph6U8uDF09& zwD8>9_b;bTAy40bf^us-eg6~S1N;7uc(zY{pV-x)+xHnGj@9?Ir*bI$Pd`G ztIw_BeIw;}kjB+N4Lpb%>XV=^=;$?JJ2kjYR?I>)nw)Z#5Kk_O*JST3ft(Z};BOY-9SNd9)0yd%EW2sYZWvk#1-OwD8QFZd1a zFT)o5EqUUrwSCBUqa)-Oz%Dv6&sKZX;`epiLhUe1?T}XdUK{>Xrwy9X_xYSrp&IGx1A&^YRRz<`JINGH*YM zZ}3L3$9DZ({xKHYX>4EK(Xq!$molpJQTV0!W6c+MHtbQ(<#PE}M;g~hF*mJv8e)yn zQ?`H4kbkfB<7dOaWeLSSPLoY{gl`{(Z~ISvFW)`@-*ysP<(1vbJbdeX){)%}q6r-*Nc!#&g7l5@$59Z~unA zxb=fa^XD+@D~f?r-)?!v;ZHMZ-Vc8+fj?#cfXFyd1O1;pJ%3ydPe^iJU&7IW&D#{nOQL-ah(m4=)Gy&m(&6pUGG3?!p7#L$@Vv z&ee8tc2wenRxEyZ;d^H{S>^0asi0iViJwZRvm4emTSoe3=6F}+p6}rNjaS3FjgBwn zl*X5e^ZfGMNS15B{%Cq0&YtkH#5RD$$ zgjqoORg<3^-zEFy59A~M-pDsQNP~}{N3!=DKt4{zglq?7`{R%Ac?lTvHOE$b=;YDH zq3*K=G6sX2YbtctXFGp6i?@M9=6XMmtzb;7Seu&Xb*x~s35Sg0T|0wpodaBFDJjk@sWKI6it zd+W*H$JtIQgZ;JHpvhW)Flv|1z^OBADDI#sG>rht3E0o_zjKO4VG0q9E*xP5e zjqbzmR~>KriG7yBzq1be>j$+yj!r@sXg|48@$23e&i*zkHuf6WCg}%_KKw@2TPoh_ z3ulN$cw$X&vSOe8y}|kP%2zt<-eAbeJn@shkkxE0CEg=);H|!7#ao}zp4-8(HVb;! zYp!h$|Bt@pg>Us4!=LUQ_2BTnk7%DSb@D}8uzA-OS}vMxtq6ySm&f;no(iQFS@Tc3 zPTyyn&f(nc`EBg|#U4sPW*CFZ+FR|)xob__= z`ie{X@S#?>4$t&?(~DQcjo9DW=}CKE#aMXobg#a({Zp*v$;VQHF3pigZDK9H1LELl z123;zDw0RO6R$_LMf*(B8Q5srQz(C0Nvzc}+M0U5PTj>j@d)451NR2~)|c(}&{>9y zEX7l&d~NK@hVK!|p^n;fDxS;EGatO5?*L`QA9ULD9c-k}OBQIuR@%^Ck=>JSGf3;) zbG(^0G@j@<(th`F9=`IDkMQ1L(6aYCDxSeukW*U*Gm9*Lq{T9j!zIvACs{7GtJ-i> z+weZMr!oAgUVp{gdn7mhiu@j}S&6Pv>P7wjllb}cNP9o`V!MsYEb0+&w)0$G7Pgp6 zFc)ZHZzpm>8*BfkWM#?5HtWO0DC<0?C^V|>{pRzG1H=Ha2Jv_uc=K3zO1rnxUZPq4QPHfnDM?W0w&lH> z+q!7W-*Dc*A9}^7mWqbHY*F?riA_;IE{ij-M)xT0(pDOt|HM~24|uA+tnvn3_ys4g zwpd?j1^IGb#trm)@s)kBFS_!8ZmgC+AeLgD-G%&2{Ci)h1K&f3{C}+FH{fG2n{uol za5lb`^%;wDcYLGP8cF^s`rkc%zcqjGbr$D(TE5I>#67QMk9Rtoq92Vh*yGHcl64td zFD;)mit`LoR+Q(BgTIKpEwDn?XL3p#PokR=oJHKle(nrw07>MKI+t`g{V~|U`OUHR z0%w>PCZy4W?AbRazR;`o^BK40?RGosw%#Z>`%t)_N9`r~o|3%;nTVhDS6hFm{u6i~ zAP#Pf;(kacTS2~~<^B>&ZB~+Ah%9pNGqzUi`X`{8fz(K(uf>8n2KVN~qs z)&1Y;ij95u*)ln{uF+Y2dv2l=aKY6HbI zPXb>Au6|@RT%ViTp+3}@o6x{H+NSoL-<+$9wHIdbdum#KA-+QD7So>jJ(BH1w0(TyU+sRa^{fpOpXnRVce1TR$YFr`#xk@m z--gLo^4+w4u{BF&;WN>Fmo1EI)aRK{S9&A!yB+w17{^}0c0i80+8D2|(YVbx*FUxy z!zKIEv+Eh-)(@Z6cY?knPxV)gWhyV=mFHqU8Xw&;PkGv79^bK#hqbCnw(nTu6gF42 z@)tdW$*aUXdi>i^9RHMu#y|01F-%eF?K8fXp8(H7%sraUS!_+B{;EryXVQ%ZZ7koT z#)B~ZIKlh>MCWSXh_gn_y+S-wn>%a6DNB3YG)@ysUS6X9m0FOKK3azCi%#s?9Wzyb z=$t{`l3kUpc9%`%+DFp;ukelZQ>X)aSW}zb#rf5#waCKS!d_w<)yJfNBnL{znnJ$Z zlFdP1g=V#_Y!vyB#dBYzDX0FSXVQNYFILp3Mzsfj)@huQf`_{i;_Kl(r^0E7< zhxnl}$9lmz_v$-7*-7vxj{c+{VwV&9sefIlOZVT@{A6r8f5mO~w_A&274o;LB#y4D z_$uQg^FGebQr_-+?DSUA6ihg}UE}L#i9KqDZrLE!73h@JclMeUU+R0FvC61;s(0&y z4qfz-y8@Y|9pfm&c*=h}DZ(Q3)L?hk;k zTXd$G{QIhVAT9YOkJV;hOPlG`zpe2|{a=K4ww|C)vI(W*>Zm6?p7v7?+ZFxHD?|teU;*$|!KQns4Z_Kx(uVjOi3pa`PtJv0SJa}jC;k6IjZB5YL7T1owfjQ@+t4H*PGM^%j`*Zk+=Uao?TKbIDO}&FwxAlb%exxt- zU|rv!gW3&0bD`UbynszXZ#`LtJ_v}nKJKcj_sbeonSGO75V2M-^9pcdY0j4p>C zZ!$J$er7;JFaggsS9xN7ukpf?-Z!uZDqdJZKmB`OxMC7IwWsP+mBB`UgWo! zgO4myj45oZc&aabR{W^GHVfL!iht`nojfzEoxa8#;tKUWyRR#TgR{3nj3d*u*Q#j$ z**d~pUbvb1NY5yqM(r*AqIPy|jB)scWMiDdv&(58^&4X~vcUMKSUN{f>g<%YwtZ#K zi5X+0CkLS?>G$yd>0Uo_r*WHczDMol@@U2}cvKCK?jv0_=@PuR^g|{y`WcjD)<<`eKC!%V{_V@AiGsI>j|<| z;l)Sk0~%ZFX+z~{`&H8HS-{66+Rvg~@$Xd1k&JyAT7C3KZ(E&9x{<|nqDSd$`j7+3 zv)-S2ocD@Fb!9qIOe2}DDdtmKI>Iad5eYtu-^ z$a4msX?UkKopGayF-CUj1FhvvClZVFKx@1S|G}!E_~_Ecy?@sCMq2joDyy3GRm8j- zW;(ykc$PR8Vips+3u4_ao#nLG*o3{p*-|`@aDMcH;vS2`&#=bJe)n)jKIdlim~(EM z_FRxxcFD%~p4VxYjUQQY59M*jvm|<$cp}AVX}{by;~Dn5kSFn6PWjjLm(O#R-&QRD zPb$BQw5+W=ydNr__DQ z&N)^mY~+lCRErhlp5st_aiL{>s}<(A?m73RxaYxW!SBLZ0kl(@;hd`|T@ccmWrBLq zSAEnez`Fw(XYG95Q^f9o%eVR|%BzNcJH7beN#95MAnBHqUa=3vHJ0l;#r>Smcluo* zO*!8`a6x(gfeYg7)t-?Jq|)=%*2L!#LdRW5>9lVldQ3K}K^fm8Kjr%^{)VZ$d}jfC z86kuISgiL;KkFO~lZ^D-{ zIUCOKUi6wv3PH)O%0jpLB0P`LCb9Vi@uq~fHPBJ`0y(R)DHjlZ4eXi2z8B5v#{p{q z%@4aYf5oAha+j4~u`hz(Q#4l;X|AwoZp-=7MVc+qyb79^_S4M#FKjhg`o^L8yZ@AC z?OW5HM$Qe<-nHB)=vE)6-0~=TCfrbpE!bQLrky_iosz5V_AIyCQ+mW|>fR(7C0&|y z^l!B({tVjmuJ_%hk0Qf<^guAOe5d4(xW1h_gYUQM51hSf@4HN4$3thCO{2;w_J8_; z>LK1kceOz}^(pn~kU<|-AEixnwq_G;R%tBm4xo#5Hif%46MHA$Xf#@y_ZjGlag=*3 zdep{>sYNbw^t&GV2>p3-_Cxd!`FH3q`FhcO4Be9drK4L~=%bPm+2uxJ?Xc1T_4z&N zR3CSr>A|O!9z88t^5~wINGBaJr#_eRLD)dXxw4;*X_$&{@Kn zgC&D$W8FQXd>4_2^16<{=$mfo8}Tb(+_}r;^N-0#bgLZsGqvXPP14^5e``O3D(auCs|3(HMw}QG)>_KboJE{O-pyIoO()W?iF45W347{s`;3fK`_M>3 z`_Ru*kEhU6Va^1Vzo9BNHs|*>TE>O1_8P>(8bKhGvQlQFb>G>I)>9_;u=Bfd6{`YZn;S>Vn3~5_lr{$2Vxt(IXbViVXffofjODJhc_vcA!2s z|JT#5rF^5c>VGhPIkA4Lkb}ut?SFJ*{ail&H}!D&J6JpweVL)u1D=YH#!zU#q)4|P zUc*!Pt-6Hae>lS)UwHg|>QH(X-_i!54EGpZs5V&P*a~NDA|JJrkG%NCkR73Ry0Z6P zeP=&YnUtk6$zMJum8<-0nheUeR5p8zk!!nb@(>*@f8oCV=k` zyqK*^Fh>FEfjBT8xE)y<-Nn8#wONDhTO!s9J;WI^LE;fK&-Br@+svo4`$xT){Um+E z_OTW9-;2LE`izEV`nvXZ#o>X*%kgpD?aP>D-p!f;{RUmqNZ(Sv@=IxsAiK-QxGTR| zEY94Cey+8xkJ-A(vH1*ir0mV{Ddsr%Q?^r|cT2HdcqUskZHlPLUQ~yY^lj z-zT;^B7OrE8YNODx@=K7z9;8cp_y5DRzHiC5*}+XLETturZW_}1jxySlMk zshjjCx?zXLsr~Ct%-1!nEgW9=*?d#B#TwKx8++uQ!Z!0cbbTVf-`vbtPTR?D$3Gj2 za4sJ0s5+;7^Q{2B#qIHp*kjzO5O?aXIuB+ntilI|KB)G}$|cB(e62C~xop>Adryw5 z-!J5y#>uJhR5p$Jy!H*vWG<|DkxJ^LvsE~|sZjdq@!03AcT*?vtrngA9OFqDxmu|qv%RpIwv5mRYw1fmt62T8mimeRi+CqLo%(Hra|js!u{oMp zdqZb()|kB)Jnmgg?t_!k<<6KDKvMd6Q>^IBb;@ zjFS&}>1-91DV^~pwI%t=CiK$>!%4~ec-G6u=X4(<{4I<+2U=w7F=l9=Ls^PBq=nw$ zxhXuBz5^RDSJoj~>Ej9Z0`c6})td7qi9N^GtfGAEDA@z6#1jJ>S>pk5CfH=y2eyrT z!@dY*$WC5Xe#t)Zigl|COup5=H`yl_z$cvtpg8V;$r?86p8k=@9eeW?^Psz&m>)h+ zX13z1Z9!J2W(U5<_T5ntTVz$RCR}PQB(or=d3_|d6dgU^8jL?xHasy;=lEjG8Dg3<*n5zc`(gp+4BTmn z461DLVlaL-@gkU6zEkVV!AzrVYrc+bDa{W4hLf!As4Q$^@klaM2ddS4d7<- z)!OTrVjqd|PHDZ*Y?+Hojx=}cpKE^M=Z?)4#ICZxLw02QQrU9h^>N8+|9o!>>6MrC zvSK`#(+pMo!)@4Lr;x|T=pU2LooMXmyiFs)*&t0n50&GC2*j?l#`&kIFSnLtBv;U4 zX)Zq{FWWOotP)~e(4AZw!?*|19=pP{tuHgvuD|@KC6njln@knRw_AP9;N1ViXP=n& zalh8#v*Y=3=hFYo8}N5e%U-0is7s)s$t-DTijDApBabe><4oj{d2jy2Tdn*v&~2oU zYvb;2tuIvA_ZXndBjn9kiYq2I#%=I*uv=OM$7HQ3F(1FC=;JqKzt+zZY7 zZ^6s3(V9~}AL~OG7k|h29Yu%Nne3T1xcBJe?~ra)cNBToI3&A&6!(+gT^3*uIsO)8 z`TKt6QP8UW@BesWU9Zlh4)Cq${5$b2fi8GKxc>8#EjLro@kOFRp zF43to@|)1d(#4;WOwnf0mX!_oHP&}mln%DnU(CeX!ooY)_u+%iIP*QmP$TKAH)~C5 zP^4*FnZ{-2u>9t%`$p`em+kdg#gvF{jjc|srSc~hinsw{;k{(0}~BFCc%(?YTWRZS)JL?lX0kR`qQ1Q!Ho%T4vD>?pPm(mb;+k-O@xp z-aY*{=5e#&+3W;-2WHscPR-(EEuZT7_MBopir?CN-^I7m(TW9_5oi6K?-_fX z`iRfSp*_FDH$mUt7~q}mCkPP7{34c3G(aH+ze|Prs$uUpT~2_^*NNAq8!^ku+%;Y?hkCT z)NaHB^c?!Hw_g7A^@)o=GOlKK?!4-YZKcJ3Pkw~E*nntsqTwI@mp$&B*uJ}kJ|cTh zaatN@!nCh^1#ODU0yijUOK}cf^q}I2TINr<7XA;>wfHtT=Dni!}l)r z4|n>YVi~;oBj=B=F#?vx3)Yx-v=LvU{ym1a3ns96Xx9pCC$+C=D4}j0;eh31excX} z^^d<%mUz!uLH3*|Ug5-g5Cc@sB_4fM9r)RJALv+YO=xr0%2u%6IwOfK@YNC6h12sf z+PoB5tLJZ71A5$+w?%gR!U)=a25k_t+kR%gKFM5y`YM(oyfJ0jHg}{LgH_Z!TCX-M zX7^e2ao_FPJz;pOaVwbAdiK4xEwazHji%>mobn*!7H4DU>bo>QTL?|p&J>7!-zQMGB9wzJz+_11isHdLFs?N~=U&ZZs3 zyD_w#+A_{xwdHtZM(y}RcsDzOooBb-m3hU{sr_!DO?}L%XHgD%EvtE%D?^%x_P1Y- z`Ss-Yv>)r_j1ivpW6l=uf|iE&w%^iX`!SD(rYZT`DSr$!MNIk4=i7dB<`CyFml*{u z*uYcr{9W!d{n)^h^B-0Fnd9tvlFy?3&@-oxq&=|v{a@uTd|y`nm3_J=HDb5rrTf&5 zYCp}x)qZ74pIMaiCuMW9UZeKO&^||e(BwrO!q$9C--I)~kKu!k75(Na3!B|<>N&P; zjJv#PKi@Ih@1Doem+)8mYAAMBVB~zhp?uN?GadMexo^( z{B?ZDU*}yjdAPcJKKW{#6%RGH2=ZB|B=I|4L$%j5B@o7ui;_v3|x{rdy8IZRA7NesImV?&O@-G0^gh;xpnobL~7+ ztkmT^6QA_{k>YPXAItA~G1*d6^5?O?VJvHy(kaquL$u$4G5I6!9^PTw709MthvHbw zDD^)Yi-(iVqfV@P{+RN zw_&dAw_&uenReE`0oT6TN?E=HZ6D`(q`j~Kyo}$nxz_W$7P`tQXN5_-B3BwGi7BdH zvyJm_i|hC<-xKdaRg6BVx$Jmw zoy}wWMbHTeS2WmZ@AE=D+mv%p{9|+&@|1bPNU!^Zf?j$>o9o1;dY)yPQb8-Or494+? z(C2FKEtO8YLA93wNqc*=?;Bs=M>N#6;?nTH!qoYB(6{;a#W z6Y8$QSD!e<8J=2iMSfXlRbPq5?}C>8GNY7N_bVz$Bk6n|{$MPkQ@ZXmI51nyq zu-1xiq~2&R5PM~xT{}(Z*3w5=L$}{w$ot<6c=xH|yL#R|%sZ8V&5yrAI;P*pw%{@R zvI+V=e2c)ht$)zoy8gA}Z|S|h_4wJo$urS)8hU>W?^IvWL!45%@bSuz^iPp&gRsYrYxvgkyw@3a-nvXy-jwai zz{AupXU2de>;5OBxpaIF+gL7t%n#pZGYl`JTKy#66%pBt;p|m=h`L$~^bC_%vqO_jo5d(8JtUY~E;HayoO>_ry>UQ-$8T3csR} zlAXc5T;xA(SV_JFzvQ%G@%*%BO7i3QcG@%X{IS0GMQ*UPzP8bpDaU8Yd8M&1{vG)& zzhCrOhBEDimDE{&rGT-L_?5MV57}oQ$mXPM#tpR>>!9UZhxYp{eG%?iHt|_9cZu+~ z5~u=d028PMqCg!GqQA=Ls{W+48zZ^0pgUB99h{$cZi;bDYkAYNb11{UGrQ|<_SHnzuBy0TD)&)#WA=B`EgeCkow<%laOr*4`{>i%c%dB#8EeF^&z6mL<2 z-ui%@?}D7x`hAwx*^aJf_s0Hu%6DnklX=9ytY?OLTGt+_=X`wfzRCFh6RARFQAcP` zw$2IjL4)=V-3e{>J>A7RYpw46)Oo?bsPnu5btd-0KEt_cK>4>SAMAig;@Ibd{~PZe z|FU}@x#;gdAN+dWyEdBo)EB^YPq)qrZ&O>-#$JE)bl!*5myolj24Z9Q9pvocvilf+ zIX{|xd`EbtHe_AMhwt2nFSaBIOh+dyG8S2(hW3KtPiM7%=+E?H?KzO{3P#e|)t3B3 zQ*9pW*(WIT3(T8c|MkXi(O>D)HGF4QbC=Pn^wWEt^QW~&p8DK6{Dhp{!Pz868u>^p zv)JcbFp^piziU^0auj_9nZb^$VXT;n{63mLyt@_}=yUm6Y%tCy&kyH(lSpDMKI~Te zt{VBB^_}8G{c-Yz*4y!2i$J?9LEg6RR?FfQijekl%Jps*^*BqoLD?`P&_@P zhUepXF8_w9-~7ezTpmsjD+Ie%piADXGk!wej?TEo(HULCj_Q{W={@?wiCMbJKBwI) z#~XM*fii2ME1I~Q@nRw8kZZmDs;vC7WzZGnS%PQs&DQZdoLn?C;nLP|av_*r!Tj!X zMSa#E`?*wQvvxQLx@~=yJ{j7sw&hv#w*@Y3@(nRhwRNiJ{Pu4ZX`7UE*7lClDIMrh z^y46V98g>6o?U00Z&1GYImBPP+z#o{&)MZ_KL17DYrm4KM_rvVfpX;UkxnZm-RDWC zcGJE-tu4Oa@)Q4}{L7A0{+I#ff0A@|yhp-`e;7FKpT~QzPP6S&k52mt??WcCO&#P% zk`E-p*spn5rAZ&)x!+7$8qd^k{@ECQCVr+G(%ZgJ>=fCOmH6h|_=6>^wS+HWeGk5U z`A^0E9B-uz`Z8;e@3pIm-9+bw8Q&vx=UuvgL^=R}P2ivOe;?mS57~XYsE4lUEqVw&f9nPW(G~Id8V`Pa;~Q4xnW{urC%Zq zoJ~P2jchQ*JPv08ePbkt?3w_b#ib5@APvTiA^sxqG(--Agf@hP!>-deW zGeqk+Hhn4R>sUcwol(>g8cQACEKvFO{W5M}6@C4Eb)Mc!f6TF|O!ul-QV3esA}`nAJG6-`HZ`VRZ$v6yxkrjTegh#vfR&`CM&` zdfN0B`+Sn~8X6cYy3je?zg$7Roxa#VSD7L@ZT)|2K3~Cm*%CINW41rswqt53$6Mbx z>8dEd=6_iJ$Nok6XC9~gssZJjc0R;=)6Qz&f%QC<_s%#s-O;V2^Xkk9@4a)A6Tmg! z3c}w`>?rkd*-e$P*1`wizxuw~XqV1UV9%P%2~bH4UnyX4zDa=td{b;g^$ zMoZgk?Y;Johj%CWPI=DcJAdS^T>)&RtZXx$Ib*r}ZSo_(_xnn|SGwuY{8K=_$xdPm z?0Ye{oPW$ab2Oj&#-Bc&!~V+cU&c8v$RlwAIr+=?T&(j(ms#?I)fmqC0JCYpJKP#bHwVx-q&Aq#?_2mikH0CP8R$AOd>~A|5!yaP z-PNx8b_q18Zo%TW`Yw>*9=ObM7f=)T)iX>ZkGiB)q)d*MmqRZY^! z_75AUBL9t69pxu4;>@3qwA(SIm;bVzm@&nGNlu*mIBQ2bWonEFoAVV5kgwsH$?qun z)d4Y}9vBUb0VeVO-{6VHYQ_CVB)^Q;wY&@Q{doS02NU>P0S(p%9NASrS#@&wz^fko zZt%?>{7&#EJ@``aE)U)czQKbp1YhaF8^M=&@Na{sJoxS4b3FLh!DoB$Tft{~@UMU; zJowGv<30FI;G;eG_26|L{916+gI^6^>A|OihdlUX@Iy8I{Q3;|UJrf+_)ZUgDfo5| zehK(i4}KAN#)Dq~{)h)Z54_WZp9{XmgMSpf!-Jm*-t5880H5o@PY1ungP#VT^x)Ot zQ$6^};1fLfQ1CGxd@y*-gO`KXdhk;4Di7`l4}0);hcO@Z;0M6>4e#gg-@v;)_}k#G zd+{7&#EJ@``aE)U)czQKbp1YhaF8^M=&@Na{sJoxS4b3FLh!DoB$ zTft{~@UMU;JowGv<30FI;G;eG_26|L{916+gI^6^>A|OihdlUX@I#y{tMOX;@-yIj zJ@^&iJ3aWN;M+a;CE!~<_(k9u4}JmoBOd%b@Jszod+-C` z`#3Y!t|@Mpnic<`sdCwcH+fX6-fA{zRcX{wu@C_b(A^1uU-UzYdhpZ1Z}H%#fhRq9HTYByelqw34?Yxpj0YbK9`oSk;I$sS6uioV z`@zE={N0o2{~r7R_&(0|b@}@@@NN(OHu&ovybpYv2k!yj+}@cY5{bH1<3&-=jlc<}FnTONEB_^TfLZt%?>{7&#EJ@``aE)U)c zzQKbp1YhaF8^M=&@Na{sJoxS4b3FLh!DoB$Tft{~@UMU;JowGv<30FI;G;eG_26|L z{916+gI^6^>A|OihdlUX@Ixo{^Yb&{dp-CS;5$9|rQq8=_$A<5J@`f784rE|_#+T_0U5w} z9vnyk8Nk5b5C>B7I{?ND;6Mt<0LE5uAO&Oq<3(^F1!Mr@SKvSj$NfP8Njf>ffSGdj4U{i0y2P+0|!z-1~BsAKnlnJ#!he`1!MrD01l*p3}Czg4y1q# zVC(`1Qa}bUy1{`IkO7Q8g99lb0~kHvKnlnJ#%^#R1!MqY4>*tlGJw$w4y1q#VDy0l zDIfzFZ-N6UAOjeC!GRQz0gSi6ffSGdjJLso6p#UozkmZNAOjftz=0Hy0gS(b11TT_ z7=Hr?Qa}bU{tgbLfDB;l2M1C>1~C2s4y1q#U>pDkQa}bU4uS(IAOjeOz=0Hy0gQLR zffSGdjCa9-6cDAn*+3`I4MZt#HqZ%l15wJG4RiwCK$P-k1D!xO5T(4?Kqt@*L@94J z&H`Nlfo>q`2M0QVZXg-} z2ReanAQ}V*I)QE=${n4vfll4k2}Dc5flipL0Sqm-6*qxPM{lzR)YhbKsOK_4i0nz-9WSk9OwkPfhcz>%?3JwZXkLZ zIM4}n1JM!SKqt@*L``s@6Zk)fyC3+-&br>?C%d!l&>e9KqfX1T9bmu*NbM8`Of_Co z8Zj(E2byBwMjaqR)Lb1gVAKEuJ3@qnPTLeBOxZyqK4^p>K_dp7Z38z#fQZ2xFv{f5 z+&*>#1PmCrk-eX1lG%J&Ta?%JrMzC>SLQu){>^jFd7g95{I)n^9*c=3j+n<`Vu>T> z@t9cRh)H2$i6iC-m{{V7c_Jp3IAVSf6H6R11`|shF;Bw85=YFFF|ouE^At=ham2J@ zVu>T>dQ2>F#QYE@mN;T=z{CT>shC*ehMD==+X7-@#GwHcp5gHsURu z5!Y~scnx=pS8=a+1^0`WabCQHN5qSGRJ?#E#8q4o&*N$F9G(-;;sx;xUKUT|HL=A` zJcW0~6&!s3QG1qgL_CS(;t8A*mvCAmk+iAV6Dco+|hhj3Ax$0hL~ zE{g}S75C#=aSm6-eRxUSi&w=xcuSncJK}Dd3z z#c7-sx8gpr!2{wH9ug;UL7c#2;y9iZ$MBRmif6`@AG@rws;Tk ziFf_)S@EOx+`&=tHcp5gHsURu5!Y~scnx=pS8=a+1^0`WabCQHN5qSGRJ?#E#8q4o z&*N$F9G(-;;svq)&2w2ijn~8$JMk3W6<2U@)lqwvaYQ_c2MmJ$Or;#XI6|yf5y; z;j53@w-d+29XKg&$F1Tv+$PT8PH`G%#jUtcZ18|Mg@?pRTo5Plm^h9n#W6f3j^Y_{ z1ka1Zcu^d}E8+mx#QTrr{1@-xJ@GCMJ?5xAcW_j^jT2&rjd%-Z#5LR@Uc=quRop9H z!TsW8oEID6fPvKp01qX?v_AKLw zcoN6O6F4O<;k0-Rw~I${m$-;~#08uakKjS^Fdh~U;i5Q?OX5LX77t)6?#Hv@9IlG{ z@RGO}uZnx{mN<)d#NBvb+=au}9JOyJj)^;PQrwPP#cjAvoWY&qG|q}!ai7@W0dWcs ziIcb>PT(itw0Jh?OJS)!Os<;m?iF@&?xCd{Evv^0`jrXoQbMbz^3vY`%aZTKTSH$gj zQQU^-#Th&!PU9(YE1nb^JSI-zf;fqX#0fkgj^jRY3}?kr+$oOWHgOoYibFUl4scAo zAECb#@8SJxkJ@t=?}&HsmUtVliXC1OZ{e!AhG)fV*os$iS-gTv;$>VEFX3VFA|4bk z;GDRMd&Kj&OFW0$#j`jqp1~>cG>(fcj)RHX9`}m}aj$p)cZ>URhd75b;y!G|y*MH6!BKG* zhs51@FLBhKU3gpEiEH8xydrMLi{dssFV5f@aT-sFTk)jW;4yIu7sN?CBu?M~aUA!F zV>m00;!be{w~52JRUE=eae!mu{ga&k;yt|on4|XG#XI61yd~bot73O<1w0`h!K30~JR%;#d2t^1iwAM9cmQ{c z`*DXjhcn_nY{b1dA@0FZaTbTf-FWY+qxS5=+u}}K6L;VhaXVfVx8Zql2G5AocuL%g zC&dPjiBq^BPU0bP0uPAexKA9zS#cD1iX*s99LBBU5Kf8%924(f!TB%V!~5~0_T0rg z;vKvt-o~q9hnK`#xGJvUS@9aS;#FK0ui%n+85hM%cv!rM2gM6GC$8ci@jUJl&*66Q zEKZAOa7sLl<6?^=;wc=6D|lDx+RE68C-Iti0xye8ctJdd=ftCUT3o~xaRE<=NARe4 z7>|gDa9*6p{o+B~D;~hz;(pvA&f$!>4;yhWPKbMORGh^jaW~$RI<_vnE$+lMaR*)z zx8p@|8=e>;xFlZ2Me!0I7BAvK z@dD0?tGGuzkGsTkxLrJp)8ZMN5>Ml}*y4zI3J2l}-j%wxGIrugye6K&%igz!TyTJSrZ>BjO>P7w2)mco6rB2XMEzA9sjzI3w=EM%;@N;vO6oXK_gU zE$Z+bzx$gXrUrmm;)rR(#1co$O_*5Xi1`srEOEsAC?=LTV%jmW#1Zpjm{{V7`5%~A z;)r=BCYCs2Ixw-s5py#pmN;Ubg^4AOm|HNh#1Yepi6xGhAIHQJN6fP^vBVMc6PQ@y zi0Q(_5=YE)FtNlDa|#nn95K(u#1cnLHzt-iVxEVIC61V%#KaOu%uiuri6bV9i6xGh z=VM}tBjyE|SmKDe6%$JwF+G@A;)uBo6H6R1FT}(WN6b%SVu>TB7ZXbyF)zZz5=YF7 zF|ouE^FJ}M#1Yeni6xGhpTWcuN6gP+Vu>T>=PzyIAVSk6H6R1uf)U>N6fEbVu>SW2op;jF|WeJ z5=YFdF|p*oef?~M`E|C3SmKBo#>5gw%x_>~i6iDWF|ouE^IMo$;)of+#1co$YcR3I z5%XG1EOErV4iifpF$GL4am2hH6H6R1Z@|P7N6cwVEOEpXF|ouE^V^tM;)r=8CYCs2 z-h_!Ij+jwQEOEsA4kng3V&062C61W4U}A|QW(*Tc95LgVSmKCzD<+mWVs6L85=Tr4 z6H6R1cVJ?PBj!#_EOEr#g^4AOmi6xGhw_#$5Bj)XxSmKD8#KaOu%vf@3((h+re7zw~e*l&ta|i+rnD!SHoKGw}!ReZxw63-wM`xzh$iTeoI*E{T8v- z`z>It_p4&9_nXIB?>C3F-ftFbz26MhdcSF`^?nv>z26kpdcO+RdcQK(dcR4m^?nmr z>-|bt>;1;C*87cOt@kTpt@kTnt@j(jTJJZEwcc+CYrS6{YrWqf)_T7Ito45VSnK_A zSnK`zu-5zaVy*YPJD>~KcBg*(JG+$~K%nVO$gs;gUFy%i=+-^?n0b>;3w1Ri@A3C2=2K75CyTaSz@R zXYt;3XD(i!cH?bv7p{pr@rt+uFN)joytoa|h%Q3FibFUi4sck!e~kY0+N1W|!#m<#yd~bjtKx0EBzCwe-omru z8n)s!To$k5l6VCd#mjhDyo3kEi#R7sFXEhd0c*Wq6>GiU zJZ_ii=Wtp)i&Nqm92ZaHh}hylJcW0!K5E|zcH%N#6Hnr0@dREFm$26RjbW|#8^v1h zSHu%Ce*uq*NAQSv80W=9xL=&dTJJZAwcc+4YrS7T&dB^ZY{Y#yA@0RdaSslOvv}{S zqxS5^+u|-<6L;bjaR*)$w_~mMYr|Uam%&=^m&TJae=8mn8(a{l@Q^r(2gC`i^?q@z z^?os|^?p&@Ci6#dt2m64;t-CB0~{9b2b}-$qxRgxJK|luCEmfS;%&SncDO3u!dmZF z!&>jRhRZVjDlUmva8bOBhs8^HP`rq9;svbrepRgXe)G6prk}%U@hnb>XK-9RjU!@< z1Mw8rdcO+RdcQK(dcR4m^?nmr>-|bt>;1;C*87cOt@kTpt@kTnt@j(jTJJZEwcc+C zYrS6{YrWqf)_T7Ito45VSnK_ASnK`zu-5zaVy*YB(8-mf2PyJdcR(*^?p70(t1D3@BWUM4^RU@EOErl zU}A|Q=7X46;)wYZOe}H4duj+l>QVu>T>6PQ@yi22``SmKCT#KaOu%wJ(*i6iEdm{{V7`4lFW zIAWGCvBVMcX-q6}#C!%5OB^wu#l#Xv%rYjHIAZ=96H6R1pToowN6g<~Vu>SW1rtjg zF`vi85=YG6Vq%FS=Ko+~i6dqe6H6R1U%h*`tL5=YG6V`7OT z<{vPz#1Zo)Oe}H4)G)Ec5wnhoC61U4Oe}H4Y+_=GBW4Q|OB^wEOe}H4{9jBgam3t@ zi6xF0hlwSQn195?5=YDfm{{V7IfscQj+kvsEOEqq852t!F<-&tzkU5|gCpjvY!9)- z5wnAdC61V{VPc6R=IfYP;)wYtOe}H4>|$bxBjy{JSmKEJCMK3RV*VKuOB^wKm{{V7 z`4>zqam1X*#1co$gP2(2h}p-)5=YFxVq%FS=3AIp;)uC`i6xGh;3ob%hd1%xIlPJg z&f!h`cMdVJ#1V506H6R1$1$5gw%p)+d z#1V4^CYCs2PGVw-BPN20C61Wy!Nd|r%p)EOEp<3KL5l zF^|T?5=Tr76H6R1--n4Mj+pPq#1co$4`5=6BPNcCC61V@FtNlDb2TQGIAR`yi6xGh z1SXa^Vy?l&5=YFnm{{V7xegOc95G2uEOEp<786SxF^|K<5=YGAF|ouElfuLjN6Zs2 zvBVMc#G8Wbzw-Z+CiQ;ZSnK_|u-5x^Vy*YOF4lU#9jx_!+gR)U9M*cjEv)r^HLUf1Ygp_3R_nesfss{bsS&`^{jj_nXFA?`N^r`%Pi3_p4y7_bX$q_nX98?>B+9 z-miqU-fs+Rz27L-dcPvpdcOkJdcP5@^?t)x>-~nX*8AnL*82@&t@j(iTJP77wcam> zwcf7}YrS7D)_T7lto43bto44~SnK_|u-5x^Vy*Y%8X#38&b4)C6M|2*gaV~*N$4@bqjI3eD_M!bzPVuw4#Tew?X!@c4)+%I0m zdGQJ!5ijFW@e-a8FXD=L0Z)socuqWz7sPXTSv-r^#5355r}3`X;vjLMp?uHd-1 zj8o!CoEA^uc5w-7z26wtdcRSelj)0iP+Y*n;t^aF595+}2$#iqto43_SnK@;a8;)7 z$4lZIUKRJ@Epad25%=JIaTbTKIcnc-920lpq_`8eiaT(dxE*V~UmMnXzYNxTzce0@ z`CIXj*x-UVg~!B6JSk3Kt@n##t@n#zt@n%KMVUW>SHxjl6Nm7&IKX@2{eR*7zxJp- z_i$9aixc7o-AnST}M#VdG3yo^W1OL#)Oh_&8t0c*Wq z6>GiUJYJCb=kT(47O#nCuoF+?U9rW%bw}+vg(Kn$j*H7UC7#4-@dR!cm$26RjbW|# z8^t-9zK93K1w1Ss!A0>fE{TV5S)9jO?>C6G-fsX`W%_=+B+lVgaUb3i_u?IK58k`( z%*E@|EZ!D(;RUE-daTv$MAsiM5c>mg?_T1m2y~TTYOT3F$#XEROyp5}3hiAoG*oteo zEMCJU@hUEgSMacS84rq=a8A64d&CR4OI*e6;(44F&*7AK7RSXiI3k|Lf!N~RYmVA? z3OjKHuZhceSv-js#1nWTriJnj|`;tufu z&WQW55$AA1+=rv$UK|ql;Jw6AduH*rxEt5RU3f*@i5JBkcwXF&XT)uIN}R!y;xrx; zx8j1>;307e4~UbvPn^J6aU6GwW4KKm#jWB9PKv`gCJy1SIKcalIcm@Sf9Cub@8K=+ zE?yPy;3e@ku8JMjdcQ5K^?o&6mg(1UNxX`S;uSnBUdDssC7cs4Vy*XEz*_HD#qBcv zJWh+}a7sLjow$P6#AUoJp2Q2{39R*gC9L&+V_56`M)8Eq zU&N#00v-{M;JkPk_lt+H*8AnL*82@&t@j(i8JWKy8*vUN#CiTpT=Y2R$LGpJS0xx0dW#*yIt_p9P|nSLIp#dA0%p2czT433DWaUix> z>;0y%*85ek*87#Q*85Fjt@oS2TJKlFTJJZ8wcc+OYrS6)YrS6qYrWqH)_T8Tto43F zSnK`rSnK@;vDW(yV6FG-$6D`~!&>jxhqd0X7i+y=57v6WEY^CzZmjiwU0Cb=I`_m&97{m%v)@7sp!f7sFcb7sXod z7r|QZ7sgue7s6Wa7vO#Q@6qjlgY#d!hqc~s7i+!W4%T|VZLIZv4r{&N7S?*d8rFKh zHLUf1t61y(Rk`<1cQ`%Pl4_nW|4?^nWF?>C0E-ft9Zy;3Xr>-`3?*82@$t@rE4TJM*`TJP6~wcf86Us~@s!0-N+IAVT~ngC*nBgSB2 zi6iDom{{V7c`_!JIAWfHi6xGhR!l5$#9WVwC61UM!o(6s%ng`W;)qFOVu>T>MocVm z#5@%fOB^vz!^9FtOa>E695GMF#1co$Gcd8l5%a^CSmKCj!^9Ft%uSeB;)wYXOe}H4 z{3s@tIAYo{vBVMcW0+Xti1{CwSmKCzCMK3RVmdIf#1V5dCYCs2o`s1ej+k38vBVM6 ziHRkSm>Q5pxO?OB^xJ#l#XvOgAQ$IAWfM zi6xGhpTxuxN6b%QVu>Rri-{$UnCD|+i6iC(m{{V7xfK&j95FqZSmKDe4HHWoF)zf# z5=YEWV`7OTrWX@S95FA##1co$i!rgp5%WJWvBVM6hlwSQn4iJK5=YF>Vq%FS=I1c6 z#1WIj#1co$OE9s-5%W?^EOErV3=>NnG5wfW;)wZqOe}H4yd3{`ub*wO#1Zofwue~a zh#A1d5=YE0U}A|Q<`*%s#1ZpLm{{V78N|dAN6i1i#1co$FJoefBj#5yvBVLR$HWpx z%&%f%i6iEfm{{V7`87-|al{N^Vu>T>RhU@fhYIAVSq6H6R1Z^XnBN6ecrvBVKGiistTnBT#~5=YFNF|ouE^A=1jam0*a zVu>SW91}|%F>l4h5=YGKm{{V7DPdxXBjyfFEOEr#iHRkSn7c5s#1S)ri6xGhyD_oE z5%V@oEOErV9TQ6&F_V~B;)wZOOe}H4yaN+U95L_2#1cnL852t!G526%i6cG##PzGx zt7Wm)`*mZj_v^x1@7Ia7-me2|y-`MYdcPFbdcP#r zdcOqLdcQcvdcO$PdcQE%dcP3XdcOc`z2E-Vx&G4nKdkkByIAY}cCgm_ zZDXzXb6D&Bwy@Uw)v(t4tzoVATg6)Mw}Q3aZy9U7-xAh(zeTL|ehXOZ{i;~&{pPXO z`^{mk_nXC9?>B?B-ftRfy`RNe?>B|D-mikS-mi?c-ft3Xz25}ZdcP9ZdcQHO^?svR z>-~yY>-`E?>-|Qs*82@(t@j(kTJM*~TJJZAwcc+4YrS7T)_T7j)_T7_to44qSnK_I zu-5x!vDW)_W3Bh=!dmawiM8IZ18cosJJx!?Hmvo28LahwX{_~rtyt^*4Ay$T6xMpb zB-VPr1lD@LIM#Z<7}k2fDAszv2-bSPFxGm%5Y~FX0Egn&UHmFE? zFfNOSuodU=tauPt#RGUr+>ckqIlLwA!#m<$yf5y-;j53@H;ZH9Zk!Z%;Z|`cZWDLl zPH{WVira9XID-eoX*?uu#Raj!W8xH^6esbNIDu!xaXc@M;YD#2uZSbKCJy6maR~2; z0~~tHQG4$1aQ=(;a6-I`jd%xV#M`(->~Obu3-^j^xL>@6^Ws%JB3{9x;$=J`Ucwde zBAym6;5l&>FNo*yvUm=!iD$7B&){A0G!7C+?P+mDJcZ-p3Qmd3I4z#U?cxcn^?oI+ z^?qYGC)1DOL2(feiwn3Y9>FE?FfNOSu-5zKvDW(y;;KwPfS1JmcvYOkTjD;vBkslf z;vO8n=BRzMI417KNpTl$6?ft`aR=6Vzjmzker;Im{W5q!=1=1xaVsu}4IUGx@T542 zwcam*wcam|wcam=7iIn^UJ*xdO&rGC;t<{w2RL-?QG4!xmGfV`hZEvmY{WY_Bi_bZ z@8_`A`)y&Z_p9N4nSTxE#jAKkyn;u?%XmV(gtgvp5o^8Q0@ixJDqfKJ=kc<54zG!4 zu@leWUGX#yt~+W^izDJG92Zw`N?gWi@g!~+PhhS0D`Bno8^bx7eiRRii+EUEz(w&0 zE{TV6Sv-Wb-Y<`}-fs|BW%>cUB<{zn;vC)*_u(CJFP^&Y%*E@|9<23uS*-PU-B|1I zy6}+9--!pr9a!t{+OgK(wc$>gK7+OXE{(PRt`%$joxw4gKZV2MB;LRF==&w`jyR6D z#4)@oj^ZV81XsmjJSz@iD-Lj3y#E#UzjzN9#k+V|yn_eD+c+n7xJSH&yTmozE?&cF z@hVP+iZkLOHsS(Kh(~Z#Jd8u)A-tD3YR^3077yZ@cmS`6 z`|+YUhv&t8ct+fdr^G#YQk=zO;%;0Jci|y%Cms-Y;68CX&WhV`r#OS##A)0rZpBHl z!7*_Phs8;}|CpopOyC`H9B+wZcvT$5OX3Kwio;mz??PDX?*d$w>G!|P`7hqXMe!~k z7VqFe@ixwh9oG80Ev)r-HQX-Kui>ZA5uz)oDnYvOsl zES|#);#sWqcQaV)@20WV-&s5%^H1SXaRrZv%Q!Ed#Qow4to3&#to3(eSnKabaYp7Z zVk0i#gm?r;#ltux9>RN99kpj3Z;JHz3E<7ae!~^0Eto3*8SnKcFu-4yYaGT7Z#;xL3oD>@z6Q^)koW%R_qxMYT9dR6Q ziDP(G9K}oG2(F65SnKaXSnKZsT$btgw>kgCd$=gx#lzwqJSg7AIkCf9f47CT{;r1G zW%@Oo7O&!zcm>DB%Qzxl!hv`ZYyI5<*800D*8017to3(uSnKa*vDV+sV6DHK##(=8 zvDV*BVXeQbV6DF^W39iN#9Dthfwlgwgth)|3~T+}DAxMBBG&r50@nJw5v=uh!&vL@ zhOpM(<+0Y^4Pvdo8^BtB*N?USE{C=Lt`BSdT`$)9yB@6dcUi3UcimX)@4B$o-*sZG zzw5wSf7gz+{;myc{aprY{aqSs{aq{8`a6TQ{w{^J{w|5N{w{&F{w|KS{w{{K{w|8O z{w{*G{w|EQ{w{>I{w}~;f46^*^Iz-#u-4!0Vy(a1!CHT}jkW&HVXeR0!p-`-?qp@N zC3<`9vAowN>-;<18H{gS7OkxNe=pS;y{G)`kwk_xWs3=eE)CEx@7r3!}8-e#4;mHyOjCX zxhM{zmCaY&#r|d){=0mQe{0dr=NUgQ-{H#d@ExAUI=Y!IJ2Sq~{2tHt>tXx-cTOko zsr&8!O}0JDGMn4If7`=v_q8lD>(_nQE>CB99kjFGX20$EKls+U1fTnD{RG?E)pAe0 zEqyS3Bzd~gmdW(#jqV%A>mlAxJa)Vu#wq*+mQ@Ra2h6+py`EU&h&h9aC61U1CYCs2 z-i?VRj+o!W#1co$doZ!Y5i^B}C61Wi$HWpx%zH7h#1Zocm{{V7v6xumhT>UQ8@;#N3C8C61T{Oe}H4d>j)? z95J83#1co$|Hi};N6aE7mN;Vm3KL5lF`vZ55=YFZFtNlDvxJEyj+jqlVu>T>GniQ7 zi1{ogmN;UTF|ouE^VgVI;)wYiCYCs2{st3E95E}HSmKEJ{7peWnIgZw{*2(yYR?G5 zoSTO8xOr}F{sUup^zHR<_3ibTKcDG)5?7AbUwz&9#v!?`B>mRodHrEthk2dk^(PMBzlPUy7Y?Smn%AG>^>gfl z=d>S>vW^JrEbY=>^s(3R*KgB%*rq=jWgKU_nr-FVX_{@`WjVf|ZuY5Pxp3hMzfCQy z;~bx9e|tZl`RzJCbK%?;pKTJ~$NKhd&fnZ;EkV#&&R3cC(*5}>v~47PRsGdBjBh0F zU`$NEq2|Yf`Q-8X=UJwXeV=5VU*tW%KQCR6-%ri;eEx7fx({z_tmg+B>lw%&tS5iR z@y7ma?mxfpevx*VWgUAY;D0+mb^SjE9hLRr+s@Rtm!G#W^z<|J6WQBq`4f!2>AUX_ zg4=7cWQlz{-q^n_!J{^}czvAqj|GK|kG+L!_#nIa9Nh7QGxZMUKbF7y{^Pm3?{E9~ znR-yEYz8x=RN0JFZ?EmVcVRuA9NTETm*)LKWiuSSX(Jqc<3{bwEt}DFvA$DSSoibA z{OiBGWi!s-mReTzvy!p&h^cVZ?y7Wg!laQ!tq>X{Z(9x1R>flMfh&6I=*q7<1q;CzJEFW>G~4W zMgzul_Q7A{K3=cz-YQumHF7L@_x+*5o%L|?&iXNy8>TOaB;)ngg8yu+HXj_L9eFQ^ z*Ms1Vwa?$d{maRO*ua)oRHOmcx%BD%4uGg-+WwVvPjbp6kzV&!; zdLxbfwO07#eP6!&&F8mPlm|gXD^)V<(!Xm-1%+yeV5;U-5ze)b~ z@%I|Om+v3^zS+CuOry>HbUlAhU&H=&(eaHapZoD5%y)Q1>Gqo6=f1uCGUubmI3~yI z{(3hS{LV&2QHlZBVH$1-iLYp z54_%b?}O)xEwp7oAHi|>wKtzUf9spLM`KwrzKj1(VUCjw`&ai%TDHIW9iQO0JIRpx3gWo|I7pv^>F@88>xJeZOgKs zgDYP5M-QG`OVd`lH*T0*k#lFFaqPyTOiP=jI7fe%`ThHTo+Xy~!+d}G&wm&F z4xiz3-!89Yo=-8&0Mq!-|AyCnhp#`*>%riled4sw(#`wl{Ft>#9oGz>1v^QJCuLq&NR9-%r-H~ooeFlgFI?zj{^_ru z3U+xt_O(;Noh`>}zHd*^r@!vRt-cRlZ>jkEG1|7Jaz_x(35?FJAb$@7=VaVDoskW7GFNVW#uvwm;^A;KiHwwmEKYd)%g4RH`H39U)X91Vw)}LH*LK1iNR(xdh^ERxxc&oc^o+ z`r?i!zN9vG_LplXl9hMgd&9l!kw?9r_n*Ih?D3WL3+C9yiD>2BCxTno{jyJ_EAPG{ z=vlw-nfI;Vd?lYJS~hNZI)5{#=~qs3UwL{x6dm1Kxp1LzU35JC=Gwvc<@nh?7zhFK|j88Gh-*;_t;ym|MIayWqsiVXX*>|HGcez((cFUGlKNnIe$5K zfBWS57LKc1I2K#!cYcC)Z}da8w>A3r<4Mjo@Pp>aA{xbOMl@9;g(bKLmz z%eMi2=qLStet(w#FBQIfnPpzu?(hB&F6-@w%X%lvnqXNE*Un#OdA^;8fB!+Q*I6IO z@WDRnXzb?}_JiN1U;D!c&uwy?euHW4FC6qod-Ny1ui5AC&Mh48*<0D~*MB)ERMyLk zsmDr{^+}E$zrQZaF%C42`?p;@?%P=Q82fS9kGZwUi^uvSSYJ5%?Z>)*_TrCqe-3=- zWBqLpd#s;e8Og)_NI$TC>9M}cvD(AF^lk3<H`Hp3l9aJal^h@jh`%T?j_Wj~|D9gE=$hiJiabn=f-!KN857s@Hqa*pNgFK_e2lZ{>|g~6H|H|`~COr$MMapgbrW9*B*^t_Gv7jZ6BD(jV(&{rn8wq)6UIVZAb?)TRTr4Qay-+t;{ z93OYrr|!6?-gkDqK6;j8usVLw4dA01RD8nrckO!mvX zJjoc#IwJR#8~uGB_u+oKg7n>W-%mf`Sa9`=4)4Q*Ry@%=J$K67v8{g6Ir`un1yz%_Ic^!P3W7*!wXNK@ZY{A7pLnJ|@{BW$HK+-V;aAVKAFx>+f^Q?_KzV~$Fddv5HzD@mS^fOocap65b6h1#k+xa$Kq3!+o zyUbsIpT9sZ=Q?|h&yO>$?;k_K?=`MX=c0c9+`7&(KjP=Du|11S-^n)kexI9*D+cd7 zalZ6jZc{tUc`e&iINYW(%k*V>fei?`T!w~DuvprS% zke296Yrdb!vpj!|-dxX6?cg_)#`7$e`N;IkY8`T%`s2X&tNuBKKh7$L`@BdW7iHPA ztYe<<6IAc4Z%4=Ly8-7k?=A3NtXi(`@!me~E%Dwm@A+fF@7FZvtv_Zg{ZWYLx#1Sh zf2LVwnj~XEg!gu%JQw11jMqQG^WNab@%j$ucQ?z7GJTx)Y4f9FihJujuk**$^Edr5 z<&P)7u45cqom`*Pc)d;E(M8+G8|VC;ocE{c_wOX98_xza)r04xJxmj@jd8ZO%r^Sp z*m`*{#Cr+eOEI1APy2W;%zH`RYva8fj^Ig_pT>=I(7z52zVCnZ9Ow$}sc&2#KEIPZ zI0qtpcYnNv`5Pkptj8a3F}C5-b6|&U)pH=;!ZMhrn{D*xz%s|%AKiQ6{AV~;e0%u5 z(zl6Ujz4F1c>TgxhtGe+?_-wb_wSREb~b#!{a1z0bG`S#ZNGQ$Jb&(zW%&N8gJt-Bwb`eB{`CjH%lOsb`D?4j zHDL8^jcdLr``@3}eRtgRZ?1`g?7zL%yM^CpgXG45kn1t7r!pKz*E7y{Ur8HP#y7H$y{A6-;DvMD z99!{fXw!eE3-@x3#C6i~^~(AX=Tay09Opax<8P|QwL`UW-Bh1q9k#%8;pBMzu17w; z=C6_b^^+gN{V{W_Mt@!#uaEFvH}+$SA0zzvILco?&iH58Yh;ehk{Pl@7KtAd=Sh_; z6QutO@!h2=@PV+ax-%7HvoDF}CwSpgP4WIX)<+zUWpZjsxf0t*| z5BcTzL1e(U&of8F@wAK&@|@gKhES0b|L=9^2r@0e@}gk_Tf%^xX&jz8@1V_6`1e;vxEe zzYgE`zmL9Q)o&l)Ey*&Y>>K|(hW7m_wyWnXeG}X1`*1(*`o2D1y{F!fTd}`3^nLvR z_Rqb#IUf9ePBKqWppRo(-{0>sZBU>u<@^0d`+NV})yrvrmtqpzaAOq{rM5+z2^0(UaR_Z z_(byHy!7*4yjBfCp8_-X#{Lrl}$Z~k-td&OMk!A8x@V?O-gIp2QTcJE<3eOtu% z%zqF44rM;OhB3$=vk^Y`$DBXb_|5o=yZMaA@(+Y><~cmi5d8D6$jw}*atww2^C0?< zPzTqm)e^r+jBkW;Jln}m+&}eHo()y+Zd^P0zT4l2aNe)`V=K=yrDgvc0{1ljH+6rE zwd5<0zKUaS-ao&qvd@zfJoo6{IL3BdMtk~aw0_>^y?^}hxy}yHC_>flgXga|l)0vO z7S|MGoT~@djQ-ljUpMkw_$U1}_~>&Z=lNa_+-@(N>tS8~_cg!mjcp0|eJfo)7{l^B zQ)arC(Wd6&Gey5mN6%vX@_v?Qj-TONnY{H>Pcx&qh56^=))gZ*=D-v&Eb`f!dr#$KK`96Y0!VaQ~WNK0klj|3=PsH1As@!NEA( zoZt6N{&`8_@cqX8d|z%Fzu3Ij@zXq>F;<_KMA`oDV>|u0bp`8w&A(8Oz%!58;I_?p zG_-l)Q9RpV8h=00Ju|*B5*^>@sf^cq3-s^2H%#7f{BgA)=Z~YxW*_VCCp=%+^kYPx z^l-ioCK(e*h+{j;=R>?-z`Y!wkGzrJje^_OQ;eznHgv^{S@)0e*Dufa1OEAn?^Ebo zHW+*TxW3`f={T>870wN|+fO^g^5zacZ(JAnzR342Q=~%5#P?N`#FFq+!spwvJg;FH zCs>cakL%$*zfS+0v^kDH_cxAHukgY~Kkk1QdFJa*o~Ity~lr=XVAV+ zy>;{W*KRM(@@)4HNrk+P@Z7giyW*F7?#T!1Z1hREP1bj7U-8pmPSR%I z%~y=J-PKcv|rBQ^SX!H zm#@gyHs8!NKhIxZd-XE@F7x;0{N;D=2a5cr?VraKqG#&;yw`jlb9L?H`A_hBIEyGma^eD z|8|`CB=221PMrPqZyzT<{2J;98|U)DxbP{)fwN?eyp>!}{C8+|!{{fb%+i=Sz%Pq+~ zer)&>^ZXw3B&hZBb*bjd6yYKgXJ^p=c z(|=~a?`vh6{r(u+bZNi;V(IrQ57Vco4)=kt8}a+0eBr{IoA*JH9M5gpAO0T3_cgQf zyM^CJ{`rJ|-`~ev`kBA)^`H4?W%`+a&yV?je*cWE`PpkZM*O&Q=`oT#+`d=w`PRdX zIf=t*KJAzB9gZVE=KK=V_%Y{0{Pknb2l?yA9DiJo9*#N1OU9hnQ1|)=eD3$*?|<-M z%+a>Lp0?-rtxD=^O*5tPKs&#m^1jaQ^DxxP6cg@C+#FfLd5^ugZ|H+ z3TmG|6?BjUsa}67=z9<2&fz^@`0$=DL_7KOv3bw;@7?c(gYk{s?xXuXf8XP;qj*mC zUvj?}={mUI`>pc9{a*84&tLzA9^!uQ{_=Oe-`jZigXdmAdr$Ga)Yr3Zed^$TuaCca zzZVJ)>g*oselK)*zqkL%gZsHP#`W57AB^k%*{Z*vTVZ?*7Y^>{f_Jm6FCmTlIciL} zp9}vgb?J;1{5za~dp|dm-RR`~3C8uH`n%Lv9Q1E~T=(N{OSST7e-8NZ+yA!V$9Wy& z`wz!v-zPT5_)EuTf37^#*qoHH*-!IrV>8>8V7vTz=zoLyo^M__cNycde+JgPfAjY| zvwXjP#^J#{_dwC{jeL&lQ^x5i@0G~g{XJav;QD-s>k9vj)!)Mnrw{I-xUStOCJ*k} zLL93DeD3eBCVB6xjKO|=2lsI=SpTdalR0nwww`30F75xR`=$LVn|@64_jdjngugdi znmKsCT;X>PY)C6flMHDi%VddI(!8&m=k*+!CDUYvR0*GNEY2J}_Z|O1`sy6dc3HN+ zhx6O^1>W=P_HEa^*IRy-AH#2J-0S&qbK$r6_n*hl_}}6-{PPk&pRZkI`}jSTd;S`! z`rotOb?`e@HoM`k&zskMhI7LIzOBD6`p^6`?M&l*Irz6;`niA3+PI&l4Sn008qaC` zdihSipU~eQ{qM?+_GMcCJu*z|r}5M3bbfzao~Dn_A58E2bN@S~UvBdn)4%q8`DIM! zm)ZOs(?190ernUNYwA&)Q~dr}c^t<)zp46T`5W(~fArf-9~5Ta|9ih*=a{C#GW{{& z_np6|(f#M|mlh7zxvsxkSE5JvaQ-=Y<35i0PaZzQ{mZ{NaX#(e_hTRH=waWb#92K2 zU2NymSjGU`;n!0<+|B}jN5~NI+d0PPm)>g*$aea9OKgKbkD{!*IlfP@t^S#+O%-r^s>p?B0W8*nhUdbpCVy`f)OiKem6h zblLf<4#&K^nQoES{(kCCUcZyqy1siaS>N}vEdPAZkF$TxUq8-%mcM?S^<(tp;W#^S z$vFF-wUg(4J@YF#KK!~q`GE(|`Tf@1U$pT3DHtYwB)@oyf9v;*VDeoz1-(x^73{u~%2AGCp8u`;q#1*Q4*#5m zdM?Haf6Vw}H^`Ri$7%<^2hnak$MokB=R>r(5$4&eKUZ4Vr;+pm^Nnw$dB)gWZu4(~ z>l#09`Q;x^pE<0_E7V`v8l3azm47a|{A9NGA*M6w!WP#R)RY%DZh7><^uhU~`KFn# zxokh3U*0=tr{;2-pHbi5`0OtEY{zd?wz6K}`Khn*_Wf5TM}N@4Hdg7!l74*c+w|il z|5oaXmi$5Ai{f6H+zAgQ=K#=pl0Ugxf_-jhv z-}!UAh2y(X2hI22c*le13aL{;`f!^{Y?I#)V@aNqMtPRYHWg`~NN_X%wt#21^k2R$ z{j+OdsQU7*zb03AMA#e0c&%A@a{+5mZN8J0s zNnO?Z|7T`rVVE6hkTth$(?K`eY|T*-SKD$_QXs71kBW*qDi$W`YNS|X11zv2t!MD+)7sCpj=8 zj=n{AoHi-CM|wzWJnCEhC})0$F-O++tSD&TJu#Vr$|^o|0_9D7wT%x&W0a4p{FMB6 zDIcP&WS_O8nV+ijv(ut`0zI9DKu>n`F5>6n#j2#%8ebJ`!<0@@2DPV?4;yxg>3D38dWLvBszI{2|JMob?1&t+Vqy>hU8ItrgZnds)2x-b}cH?hjL5eyiewm2_{Ve4{sxO1ghSbWcO~bawP^;uM4Fe%m0rFR^q# zyGZQ4pKiwvqFXI^4#!590_lZ?fH^xK1g|0PwI;?MglBy_^3SIa(EDg;8jL-<)6ri% zHZ>njR~-bbqeJnkgNDT)Jy`XmucIC>kjGzE9$F2&Abzg)Xmh&g+LJ9#u6Qr{{hhID zo^8^5X!c{?t4*7Sz!>!GK%Pas_T+!;_Uf=MVfkO}o=F)ye}GwKcY0+SX!ilu0aQkO zaje&t`WDarw^y!{a_uTde=7G4%2|A6gs&O<#g}0G#+%_QGk~u!_&S<)H4n$||Mhad zmDlFW^kML07=FA6JXWdB5P10S|Jb*MwXMQb>g*veX()BBq#xD!ICT`07z%6`P>0xP zp@ll<4H35Ad$4_oIz?cM-M+W4k^OXyqwq`dOEjNnogCfsGWtk#s56?wNh{ybzwq#i z!f0aY*Iv)LEw58XFhwX6tEekEuIC}1zX+_|UfsX)Te(o^p|bXiRQ9J_DdFUA#8H$h zHH$jR2@zaAOuwRxVEQ9vv=2^sUdjz`*-u&aTUi*2l$9O&Un=(z7c=O7Vw{=ReWFQm z#kp+W{KJ5`vJAQkY zlf%A`ark3PV7JW~@9f7*c&DRjHWolWr)NiY1aUtwnY+TGxa{YO(GB*L!=i! _p1K!!SV*%J*f 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

Vj`2o7b^+W1L&;ibw+wXZ414jTxTS; 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

tO4(Xf!*;3uquf8 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

  • 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�Mw;PV;v~n<;?Zu@ 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
      8&FeYHYiq7t6V zlotjoSi@&4RJWB)d~sJ%R`iB#_OGn3*7o)a9`X^hT{Fr`wKrRb|5Ueq{>kp0pmUH7 z-(2_6QcvulnwYXsT{MZQiijShqnat{s1*GBTpD+pJJn;#8MDgkR;< zhpbzLee)U}*0ky>U}eN}!&xLr?@FMm1!s-}o zUvr0=47@QO1yIJGf8(d zW5s8Z?q<{~`R19_HZ{2p_3bYKZ4d&HXa_5`cANlQR29WqI9^!-ofU!wh{vV6Dy<&uC2@o}L!>t1h6#CodQ*i4 z>HME^>`N{BGboU%|4v`5S3weDQK!y7TO;|w0FixE;zuU}SaCPRIKlZ?h#&DJYCS8l z_2z;d&N_dQ>#TFh%CQIzexy3x>`R zK_B;xRmuJ$J}%Yn_qdQ+(1!AVr%!D!|3$Q5L|HdW8^>(`$4zo^Tz{7~apmvyp4-!5 zSrvby1HTPv*QpY(QExe3sRJshJNj^uxQY4=;s=8B5MllQ(r<20#|~fo^+)s>;ymgz zq$#96Q$-vm^?#~CqpJocqqEQa_&a^(w>3EZ|6>g{VjP90BCw;5dr-tuAh<5UO4~V> zJ|#Z$i^7B`6@fS+oH0i+T1V4cbKBqIOBK)zBL-vP#Gs!XcLI1sa=6n67_pE>8tiGe zp7_NZD^Z*M@w+2`QIxQrWT8k_+^_%Y&k(r~F&|FhZAx=Qt437)BHtiv>a;O5FHB_p zNq*0n9&5nv@@SnB|IALqa{I^~vEui6!sDzz-=N?J>VaM&;0wj)&vZ9T z$&1$G8(cqYcq?y^9$(>lli|wwFpIE>_Wk6guVB}*ATKS?KacXE94PI-O&>lz{+X8y zgT)F%lcCclF>$%wZHK%xN*pY%bjXat;}s6~D%QWkp{hajOd-ahSU5v(&?61?Aj;E| z@(RFcAK>t;`TUucSW&HnUhO}IpUz*tA}%ZJy z^6`VUQAoAvZfvW|v&OcXY%*RwpZklvv{SKA(mC&`JkknQKu1SwGlg}v@EuB_u)fM; z6q}~7z9B%CoiCKmssCUajcdK@d(X#sHjQ+l<0|je|1u48Uo4Gw`pR$X+@>9H^o;g1 z3h@2?az4G2T=^Ni=IEW*>)hzerDH4U9eOqv-&>YWGES_d=lB|W-=5JdVl7s413!kn zkGM*#&fDG~sJ+)HVms+4tU+02NRBIcA-+FTAk`SYo))hH{K zlS)W=b*|43np!zQr1Dc~yBev4R5p5wQCfQH8nNA}oOFL`WtvE1*we;hGZGV`{ob58y(Iw-4+t9E3?L)sd884mRaamq0 zY>?-Pd89$5Ryqpapw>}ZS9411E4&h|>osrvwF+pq|j6fJBkY^~_|MZkalVY8-Ir)H;Vc_`-Rw z%iy|AJ`$HZYnvwZCueQfOFhb2+tU&!4Rv&mZZdjqVgr`jQ@0D)15wq;MzR4sqTeh+ zFH;d;dJct-`d#dtSAe$-65l)T@VFzZd69aY>m3>HC~97!lDqCGYEGRGrIy&Z3t#un zBZ|=K9V>MsQ3zDwj-x+;Lc*~oca>YF(z*_DYL(VJfoSzyhG$7c2J8D#hBafkeakj^ zLkJ%(t`WPg`4BrB)7OwBRlLSie|F6W`c*_Ld7d75$dD#OdZ5~Bc^l=3YW*{*R&BIX zPrpw;@8DC=5iH#Aq+qN#5dGF*T%WhgcslQfi$({w1*~bK&#*T7D0>*6%8MhqDF0;q zN8SjchjO#=hrGv$4$7a5myzxkr0ZGYpZBEH2LH$-IuVzkU+^9KGWsw2@%{eXtG@R% zXP>72Onn7C!PTEXgEu4fMd~H`O7z(F{!D#|dc^Pb`APp%pD!{_mHNC;DvcV>e&6>b zdd%Q$a??67aLsnaQ+#@jDn_Q?2`_uppLL?Tb7Ro&jcljG)2IOLRk4J@aa0-+(Br2O zS4-moo>4t%6rd4-YDjf+js(uWPBo`mwT%!y#)rp<3IEd=QD8J1-$A>a+IPRl(EQ`< zFEsx+dkf7!&c2fKOq0RcQ|#M*+f!sxPoa5Wo(n%M#zDr4I`hVtiQCNp9t!)zwhe2-GS zyual*Y`X&y2ODQG0Dd?)*W#Rw^J_ReZ980;UlX~gp=K`peaEusS0pr7)oq1cEGJu` z*KK338WVX5$7+_Bd_ui&DCr`qd8h^u>W{xD{R}ZnPEi|&BbcWBa^WM zz+h?O9T&b-Ke728YsUW5uz-LEP6AnLlSd+9h9O7qSF@D2xtpx-L8SD$&G+i7x?|O! zS%4fH4dhsjDn2l3l(fnX7&$T}VdTh>aX32u8_2?wdb%t(x52gn`1dXUw8$c1(;ewV zo?eOl`*a2c8Mx_!7k*Z30xT>1o+~`U{RVfRo>*dE(yJ2M*MphL+&W5dF zSkN5&^?gm}W_AO@ej8%ful6-4hw6X;%1vzcwwARRZCW>Aja1ei3}A;lbxbD+>12dW zqrZ7m0FB%+UuEmR8K*-{k`F*GF-|@L$`wpe&@p z{=@B#T+rS8coK0zT-XwDz^>Xq=77Tz2YCPbs_yIR&;KV5==l%_T)y?;?{dISa6s@w z9B|x)XV;MfHn+F!|H1+DFKbw!Ct|~V5x`2{@@Cs{Ug4y9Dj(+bh)3*U|0VjBWf$$< zcUQtgo7ryWZr3!}hu&_pie|Rkxh!;hSc5(GHtkyC@P}mVkprKI=gYv2!@-SP$d;L` zo;5KV_*zFuzS^*XM)Wp+*wpy1!qJm#sQm%`is*Hhm(t%C@8GX`_C5ORPhQ)ygA{>5 zeUVb?Xfy5o0{pjU!Ux>9&88Z@8qwsveIxlMbYxENZSvb7|83S29vxc_H!dB7{$0k| zzPeSPT%Ynp%h%rIaP?8kv%rC#o(Q{Y+he&u;`&cmSx4nE(^OoiC#ofDPofaB zX|Ox^udHfV90RLmANl_7Z)ou%tQNvpAk>U^fJS8lcG3=$`;Dd9I1@II^rrJIHwnRO zLUUmK{u^u|p%4+;0DZX?U;bJR9dio9x2+R5*S(V-5>wnAHaa)h^v!i!fO#+T^v!&_ zJK}t4lEuAvzpP#l9E&fPD(mGEuEm}DL-BsF2iaABB!_0qV<>xTEWHJt!zj{iJKt73 z^tKbP%=vahBH^umhdL}vXW?btgGBM>d;L(0NO$W>veWkDVo;YX+C!+W!1Hq zUe0uUPXAANE&q2lD@kq6*Nsa#-1y{7SeAOgt7yv+_&2~3wFK6E8AlxNX<^+5@1w1T zpp3|xF6A_%ExzSnuEBZXtpH$3HrTUn(OxBQPQ&$_Tg>EF9*C=qTb%1E{T8Lo!jU3u z1>eK56~}rU#W*%ZPZeRm?y^pcOp0pvG_cs;Xzlo{SJF1ISBIy|A9%_t1JZx&UNFdS z)SV9-PCPNwFzPRpI@OFS$&v84YFe+uR1*Jc7D{Jh>%X z{@2h-@%dcTbLIsn`KTFYvKQjOYl!$K8(qs3$AR$9_1dBvRM}5Vv~e=oW3YAaDZ^D4 z*t*jhcEUYbzsY9oXZBlub_-S(ZzHl1`oEg6e&EfI811q@T}hPLmJeA~E0-af>fph8 znawz8b*)UUb;#0d&pegL!A?K0lHWAKd}KN|K$hJPD+Eq{c(SKipUn^OcF2tkQLi^<|M`s_h?WLVEk5lRvk?DFzFFA#bs%=TW$(aR8?7zxCyuV=<$D?w zUTv-3*#;l9_EtBTWoY&JXUX&G?FJQMWH5D!sLH3P+0z`Vh1B|pcljr#`4MPPN1D9G zoO8&ugY`;lmoWZ#-w3)8xfwH+d;GB>uUnhd8gPhjzuUqZzHGe>^GQ zkOF&_Er}P9s;bys?{9Y7bb1;$z(22_{?x=yX10OHs#_)xNS}-qB-?yyl3*^(yEZLM zUptX6_0b=n=AIX(|9T=n@V{SuZe^a!n-}l!aPf%GZ*(6ccFyBQ4RP?P{q#Wl zPq9~1swWAvV|1a4TIbo!w{)>5cC({aUiE&1xB3IjJhA~qUxlrAXh?uBBU=IwvsaIC zT@B(>6dx!qEYpwT(Z}1XXXwX1?U50=fqi5RIF?r=@9ICYG<+Fp&I3l8HRS}8z!^Hvm z*})`7JHMnHoP0;)%ditd6k#w^dV|cesAO|m_d^XbC5JxRI+Bahn0sRE2sA$tatz!f zQ_Hf^uNJ%)jDD4r0UYvUUB7)MxBKDgvx5&$_I7w`VU3DwhO1-K)!8fpbu%?^{!qN{qJmH;P~vB#@tL|NvQgY%j zPi$}7VJ8ZMQ)@*v?4}crBenw<{}MwRt2k={*VfK`!n$FNNBu}`eluiTSFISH$Higi zpzb^54V&9xH__55>8iZopp;4cu>XEl7<|8-@AFvv32>NaYV9j(&juq(;*FB*c9mr1 zBTM4djYT2J-$P6y)VCHC>jN@kMY%2a>20SI;^AMFq z9uExmi;n}V;Gt+#Mv6vtX?`@`fFDijYa;Ni^YbZpc%G)#o^|_EW|FwhR&`Y&YDJs< zPe2#TGEV@mz)JkexchxMtd>Vk7n#QMw&Gr>WY4EIGgyndS!LWrJq!1DaOvxGrzgK_ zRS1r14hV8(y4vcg_&WaXn8bxZZcosc>PMgW5;LLfG3v`oTij#4yZJNOW1eOpw{z}R zrQnWnCn(zo=n%d^f`jY3O=quuM<3)+MwdeBGzGciio8buzuox~`($GhD^J27=uM{| z_1ZGf!AO47L@%1!0KsZg-4h!3i%8S~8N z@OM*WkJO7#dYk2&KZi%1m<@SAb&D9^3WP(74JR@4Ka>$v7{@G^&v!nG>pX6fy z`_;tYzw7c&UOBbpS=NJtM@H#oBq@tHSi=U1KOvBb4kj`G61FC zL%+k~oMDKsm55AHAgbZd0OWv~Hv8?{D@5;|p}?3)YmU3VEAvV5u+>dPnp$_D(}#&W zpNqqItwU4~$>%h(x%$QDlErj!0!H#J@aQEDI0w%f;uv{SiYRZ#9I#;jKTW#-LPY>O ze$SVALl>ge5%zsA;LEEKvq)tQOA2q-f>?k{#^6uneSmP~g{Y`%(ou0hn1a42nhT$m zaR^aPLQd7&<65_52qEOT?|gf5G-MAx41K+@f8N|L*uTLuN+%lSoY?BizApzx0?NA&=M6Zw#UQa}6^~H?-!|@m238)$KzMYR zqfi?GwFw8VeB1%jDtQCXMg#mBRTK}*@ErZN8QoG&IRb%pR;s&ZuEkh%%ApCP^?P7S zBoNUe@PyX!^MQpH5fgX7KgB^KH?j9DW9(`ZqoTE zbWwe8wYEM6U$Hrm`*U!<4L|0ApYoa65B2hw>g8#!MX5qiDl&3mVn{EcHuvAYS5l8$R6wao)%nGdH)k zt_F?P;P>BgoW9xGIvCG^TO;Yq{^6RJKi6>>8Ev^L^q<{`n^g~-AV^=TeZiQU)ep|g zv@@hOQ_Qf8t}_r19TM0uWoEn{V-6%Ry?(~i;h7%#SrcS~{`*yjc{z28RF1V}&t&e_ z@h6>qn#wW|C3zYpQSn*qeUt<;I#;OTVp!iJ7!f4-Jd_I+3eZP5zMufI`3WY6XBV)B zAe)zlu)_HypS#B32juhOi-EBB{A6ZN$`WDZF_cX=QyJ9r>3G|Ni(zRyYW zIs9DOFQ0Q69p&@UD}L3r$>${`pXWK{^NnGWd~Sw( z?vuyqt4TgDk>qps)U*kC!yunmOY->_)7diGw7Ps)e* zC6k`r3B5WCn#7o`Gq%o*79Y!S9B@zaXxCy~v4;S$(QyFI#OxCK)yFu(fjWBx{p}LQ zB8Ia0;s8R0<|L3Hs^=dpWPn7e!b;OeHS<|D>36K3jD=$4!y6kaIGz-j={z(AQ!W66~&77 z$bBOP@qb>(fj!jgxSGBqNAFRz7Ndw-`rD}}T|DWC%V)jwk_U+w#ie>hA$u&avK&!z z0wL3JqktdDYk?fF#W?b;F>;Z)iuMw0UNUQSgA#Gf`7xD{&AhvaUBoahsZw9d@vlKv zql4n{IMX_NrabWw@;-!;Fxy^4_c0;Y7x^k%r7;U-Ip_E+l=YmS#J|PhDfwJ7B1Pv5 z>zC@~>#x|e5HZk+vcV$Dk*BVb8zM*iO_B%)=qDmanZJL6JG2hviJi}~{(cwmG(JuI zxdOgwRjIY<9;zbfN_qbALU5aCg%?=W`_>e>%ES$pp&ndikb~^f+1I&sNn{t99OoMuI{`#?0Qw@ESSm`N-!5f`wIUYD-oO>8Y*K(UuF6%$4`Pm(v zN+&vcY04A*p_}oNEx-BXj(JFx^W`Huo7E+h=AsaPeWQ||N)*(1ibxX_3`^)pzave# zJRcco_9!V&q_3Rmd7phD~i6fc*2iD`{OxJ@KY zwc2OiqkB$Y28Z&E9l?{E*X{_tagPS8r*% zX5p9SSuAbo;;tfe_RQH_&8+A5Lo3Qc)0(%}ZP^7(V+Junsa}9QvPUhs~KaTY%MVTy^+@lZdv-fu8PlTts*Cp^&EPe=bM@j^B$s zp`Mbh?G=0O9V*8?_`P4j{;Pz4vNHU64hWpnV`e>1zEjS7VGCGfBk&Vp>D80I?UY0o zT%9C@xhwW(5hJh$=wKcX)M659;rtr09#IbsXtd#<0qna5UzUfn2In?>MkmcoN{>^X zNr(%M{k*j1E8jJMnKY-6njyG%L?KVCOtiH6+C)1>S zdmeX+xCZ&b<3Fu=Hfny;On5I&^f4#>Z^DM&aNrbnV<|c~t>r&Qx^rzEWb}nR;x#$( zz=(IOl3#q(9C*iv6=B!4V_fqq_V18h+yUCDOlzKe&AD3|cc2()j(;G{bIRb;lv)&0 z%ZSOMzfx)*56pD`?2y`^_SBphlRrU5@I<-{={}CRnATzxvAxEwZk1#G{IoewbKO4Z zE>P=$u)!jxn^|wgTyZYf>y^10@jr8ErjAY?mPt6oK3QJ zPaG0%QU!36F4DRKD-;|NI0n7YYCm(E5Rx2k1|$V^nCbht?)oKl6a6~e4|d&O-_nC! zz`VZ`>yR&SPQW=HvcS_A_w3k{_yNCH;v9g3Vn+Stec&{Mcb>&rg+50+sDfBfr^eov z_u7Iwf1rP>ati8H!3A}`9tDVWR8Yr9Vc#phpiY+36=>T5?soxl zx_3PXylz=Lu6$MF$411DNpIVe8&?TYMML)S+l)Y$&q8Eq$`5H%zN!@3Pea~_D=p6| zN2FxuJ1W;Z?j7FomELha_r`r+q#?tZ|D7~=R~qyVd*B^s8k9DbgWhX>+qh%vq=g$qhSwo-#nEJiK=Ld>@1sk9KPxq zo{{l3&feia&j_7)_^NOCjG1ra>>vK~%+OhfuXYKaF{@X`VPFLxz8Zuh1V?uq8XRFb zdWLI&Uc)M5`h;Sh>eM|UQzq`IlxKDkw^wqA;ki~9cp)~Ei;c|)&zu&_BF|KQ%v2XL zLlE&3Fj4XzDt%vlYV(HrcQcvh*$IdM8XFF&m}~G>8Z%{K!$g&B>pk!CEgADN&PlW& z91ezmgx@2RB20LSEHe=GfAJphLNi#eIT=GU$L!=D8*QGK5htobRknrqG#PLbG0y^? zX_pI|>xO3WSY@!9uuMZH&~5oNN4Pf^i>L!Zd(ci4Az%e!P|VCM)zzJc#fuc*!m*Oq zs6sO`RJO7A1d-AcVeP`C_@jrevNdsHcqZ$^dLO!J`|F{r{JgfWQh`C|{H`BLk+E}e z=1f@svB-pLf${t6kFWji0wSK)97UuPZt%>^k90>b^v>jlBcceb<&G$rhW4siC`A#W zJ$LXn`l43a55H`t7*Uh11xBSc!#hZ#&Q>W780~M;8cPXHFc82){XxaLyKyKpvwdJ> z{g!2Dn>H8`H6bMo7XHi=`}FCPx+ACBGY(lAqQnem{hiTaEJTg00T<3dCa1AtSABxC zAKtwZQt=S%M)8ObRh?Z^agA?(*3-OG=ldh}=Yx0Ee<8iStNu_HMhZlNrrjyp2|pw4 zOKPjR*loHRM2u%S%=#Up9Z8qoFwWL7b377J8FM z{1&1v;=Ot7slOOC1hsq>qu{{$gm_~;AN&e>{lNM$@rc`!^O41A0|k8c@G^_;Sd{mLk20rspXlhBfxZwQi#zq_7iUI`!H8uU zjn?UM_ljjJBK4|lK8Vzd*+Q$bsSh~$+?MJozF(Hum=OA9wf=ksLZBvsHD5C#>AV`d^F;hjZ;Gf z+uc^6bRvaj*WIIyQx^%g##VRfE==2`cX1c*T3S7%yZ|5ZXsbp_nO{qEr{fcx0Al2AY-S?KV?ZDol~4D2N?k zaz;?*|J{24XPD{!?(hHcGji71=eyr~?X}n5do6!FZN}3{ld2o;s7Wt$;%Gb-CZ~P( z9m=~1W)^8wpt{I#31iO$%dYg@S0)k_60z1Giwxsq3>gS{<2HT&v8mV)5~blY44ARU zL_+g;n4KJ=F>;aWw0&t8)5vHY){J!BrYJR}$(q!vJ&hk{$(rK*{R=AifPA8^X_ThB z#@sN>Y3mw;Gin-T=poFz6X?DfyBg)7zo6cpKo8FN9*Dc)A)wvA56j5&_+FjyoyYgR zK)ZiGAY&`O2M^}JZ}A(#b)=QGt}!wTJNE;1yo!297z4Xxcdi~aC)q4PO+y$jdc+Y; zq++}?6@RJiQK>lAc@+1Bnk|vwE0G2=Lf6t_y5FF#B|{aZBYBD=!yj=B*M{){6;g2^ zki)gy1Q!+Rl-?^^`alME+W*l$qyqeT5_oJ(fED#SDU~0}c4KL1b~}ylr@AHBbE09r zgxqPk3nA`r>-@^E0Ch~3qy_HZ)3_*$@=kwxi@`4--@W!;gXG{|d#^Qydeq))jo}$T zy4BumXq_M3YVS3)&UVzEqO`MpUPJr1*Y|7iR_0#cuQi6T`u^rxuUEdgHUPiKS32wa zHTXMm+84lkGPS%~$iL5@hgaS(sWeYk0$Y-339=&)mgGaQGZUKYw103LC$I4BL%3~m z&Y>o~`S=RSR+TucjoT^7KkZP5z@BQ%K&xygxG5wG%D-GEjHcKpmZ`>YYX4dqq8fw$ z-NHteaoQcQWvEG)>^AGLJ*oc#N{FZycnMN*i|S@!pC`h8JL~JzTO`eEf0j?i zKM2ihXFi>7P(g^9yAph3C~sn z!i^bO0XLK-XB{Iw(u?j&Z=`#i2VCj(??|tgdl*ZPu=Mu%O0U3`-gKH?!C6?taxb5z zD?QsadM?qke2qD-@?CHbW9gmDVdbN;R`>F4cBPk0)7yN>n006y))(8rJGOyGY-#@`4km~bN)El8y`R}1blJ(Zp{*t_-CxtAcHj;5;Smpe+A z?jGj90T!L7(bDC+x87HNwDop&YrQ(RwC=XtEcf_2(wfNw-93$kf;dH#no5JMsM*jji ze5q#J(n^nCM~yT4#(EQx#zoh5)!3u1{?1~~K#gU^-$>d_ea@*MOQPLV zxCd5-(^%0D(DuPtN6S(mV?K%$us&60AvHV)W_@KYG9H2CN@6aVX{)N(m^{51XJ2m45~Dc;ip=ewK!SJpTk^%_ zD9ZUa2LVg}js}i~f7=oMhU;(E2BeAiS;MHk$fgh+qfV4#wj1^k_8jRd+G!uyI?Qko z=MCeHstUQd=5{=j#+71HrR$6b_0yNER*I9H^d!e3tgJ~>s3M3@j+|xF{T|K7MQZu4 z93gXt^RsY9AWA5PG!)|hm4j%P3SZ%zT@n6QX)odbKI0aNm&v%Z& z?5Y$4oph!hZ?3}qm5>OchNW&3v`i*hq*7En;|~=YKov#_)z~HIofr}`qK1svPe>Zalg@&apmM@u4toQyP51MhS=JoObVJEzZd}D$x z(bQYmf#)wxDZ){l4Eb5O$Jo#MJx+>z2;0w}n7)VH{Ry5vGI2vxwU1|n#y$_K-1K<* zllXhk#Kp}_YO&ChT4C0QgtNHSPH}~p!9p0Wz(j_sYNOIaEfMOm5;+1}jJxoEIDZ8QoPKXpw5YcD z=SI*I_J+W%gLp;WE8-WwlTpfCT}vNWxW>K{ZvD%0C3(Rm)T*U4kKPzA7@))r{o+b` zK4%M0VisCe1yrhiT!4iMB8OG|+4Y|V<`G$5hEOW_w@RD2i67Fl_9N)*(zjyaVE4fGJFW%B%x#8Z{Be9|BZ2&)-co2UN({=&G(&B(1DUc)XPrKiHAxc2^;zOjv?fvuoi1PskK5MSXs=MV@E{> zn-D2H7xy#nJ=RW}iXMB}{B<1}@^Bqp>G|c6m_dBH74|8H;g)>WA=rPAq_TTp@tsUrK>N5IO%tcwa_Mn|=0n)Weg)`_RdZJZcfG_Hi z5^PQ2yGLXA(AsB{KETZY5{z~V&eI>PT*=R39@f@d==p)LqpPQB7Px==g#pDqX)_ z4f!+I4^~DM`6;k7N^8U)HOS@Jt`PNub+E%=@+-)xqrUP?SkbrJn{g-n_|*`cri!Av zt6p5Z>aa|sV&{9MQn^%0q#e7lvuvvxGY{`7SMbSdGL%Z=N>PbbaN(h7#$Q4j<07N^ zp;)tql36xYqh!C9mx#Y%&lu;n@2JzrAw@xAvpVwg=4sHlk1+GiD~v&@Oj z3woVup0_ejpJbi|@6T!@iAd+$?cX{zN7Y6yf;-S||H`@Q5ZN)5r@4O9$?c$j^PJ&0 zyGn*S?aQE<2rth(jycGnHt@~rC}sYsn`sI8`bhKLwY%9uy&Dx7oc2vlgP{=qKwow~ zDR84|4ZY0LQJ8FXJh{z_ZS2w>e#FmJdxbL%ThvLvv6DU3F#(^qrB=$~_A` zb;O>=6_1jkRO=}nMs=I?F2bJ1j0~4fGlbjIm<~xklIzi2-2XhZdg;s$YC4nku^xZr zUBeZ_(6lGh-og2!@bYzyy;3?>=vbqKJ-V)O0JH(>taiKZ4xJrVm|r$v&CA7W!R-xn zR!}z4xgfM$39Z9djxcx}2`_KAN8iRua`9UgZ(Q{!JN1uTaA`qDKuajI?uVXKHE5PC z@Op_5Zh$^1HpXxPF*R0<#)#joPq_f!ytqq9XP6PfR;FS75E|CZaEip8bZA(|B+jy3 zZ=f0}MXoD`lS!XjI@cyiRu;n~8UuWZS=o&DI`-+?<-C9y@xyi{ui=Lul8bGQP|?}r zhIumds_fJwa#E`t67N6hBt3ekm+s z@`WoMe%5bKafM&0yho6~eDFr?l;O<(`gP{lW^K8W4^(f&8NPfzaJN!S!@V(hv}QBx zqgczDEADEMqA;^5#g%OWbj=}AOAQAN%tCJSd05IBAg&>GVkpIj;Sf>EPC^IVjK; z9R`j!IB~n4wA_JBXc|v1v^0|s)Ld*&fg97)pceKDQyprxOFjUK$p`TmwIz3AV0mQy zRXK6XwG?Gzxh0}%jf$3nl{silX9-?~p8=wFFTVuYH`W=k{nrp1?6HywWtId#ew~`#nVeP?6Qj*hIk}0;~@P^=7mcIYT zvY;gDW2{Y%s62VM z%@R>gSKklFakZT*M(At*>z;g&O0{mi_X|^J@BQzj+q<=X$8=D*;1O3|S6mnVW66N( z8VSQt@8}8WMG>s#xhsVNm5U+GR1wI=shF9j*g{H40VIPeDk0N)dAzPrn2WEJVloRS zr7oGB_Ni*b;0l|_!kXW^8}?LJ*hm)kTSwSf!Ew0|r|M~p_pp$kTp_t*h4a9;LVB@~ zue(B)A!H20$XUp7ge;?_(f)zhXenq3><(IjviAs+@5c%nt0I=W5!o#PIiCo@M*) zDly8%mLsH6FQi};%Fe~n8>Cu-Q$sjCf%6c7_`gb!XmuoWTIL6Q*4pJ<*2xSh)&seY zIGv=88<&O|f{Wy0cj{%Z*xzcAH;p8cHU*(KB)CXB_GLS9pLgNpZJgHF4M&>#N`ZqH z37Qrcd9&`MpyIjdFCIjLfSK@TZHpdX0jXHicUN=>|A8S)B;uwn`k6$u=_g{&I~3H$f%TPeD#BPSyuaA0WJti0?;W z-<0LBD}3ry@z|$#{e#o}&zkRgk&F2K1HX>^PJ;&<=oEUu7WPJye^a0z8Mdc!F!Gj< z)?QN%O&mXHdcGq_`$8hwHp{l++JijSGSCdre2>N2BxGU~Ry(xb=sjmwZXdfQ9eEvh z4gA&j@qUPNmhD`&of0sp7Iv-RpA=@|TET-2Znz2mDw0 zRC(od-T#u$ULN_pV8OX3{9eV6=3jOAL0jbSq>}y}-0^on$KSsA%ho>`stN`6@72rc z-?!Th>~CRvE&IExUHx=e1zi~_#OVBZ*W@GaTn%6+rMu>)7p?g=4(T6b|R4f z4CAvuWYTBaHOGpC-lCF3SR$8`5t8a(GdAf5TQ3=xU@z=a8i~=1YRM9Vs(K$*RF^Uy z4u2<&i@mh8XC}S*Kq8c4;T=v(`3@vJoS&jk@y8QHnUp>i8R*#wx_3;5gz(o5J#g+- zAqKT`{8hso+^0sb6Mw$_vR-L!6zDD-Zt%2Ioa1SO4^wZcMWx<#^lBX*H#X-;Hp(J#Jm(a252&gh6G z)q9N>Gm^s#)3~u0m#S7RQm*0WyOn!}we!n|yM4JpIlJC}7>`@Ylia=^+x2}?x9?G- zu!^i0F$0K5H$;EbtgBw*P@|VJ=7#TO^%=5itb{~J5+v})$0ca^Fla=G9(yWOXZsqh z&my|tG>&(iLD_KHUyUyzN<=uV|=k|R}*Y^)}``*1D_^!KA|Ecc&q~))- zx>|l;N8SC_>T3D24!Wk*)$)}c^x4*g@b6g5({{&bj8gF%`38d=wHuSx58BZuoeHdm zHAZa(df9k|c>irJ*1#gPgU<1;r>lZ2LLuIFTa!lD!1cnu3XYG%DWhm3*RYP$A&wu~ zxj4FOT5V~7X07?0B=)0*gdS%t=j&wmesB2^I%$kaq#VRYLB|uwT}tZqXo=m+}Tnq>;9NC9uD8=_$i;U&S$^GnmHNH1N-#gw?LiwI@tYrlFo}&61_+CvV z?W-jQjkN)zv;o|2eDwii14ik7jM9dsA*za883ZeZF#~ILHuV=NT1v+q$+h{&z!BiKk_cE{t9{5 zwLF&7nd_?NCv!aWt$wxyoKYvXm}qIGthBn8Yo@!1hq@sQKr9C0f(OFvhIqakVx1$7 z91!LJQ)P<5*>9Q(&cn2Su7smL%DybNmih(y_Vr#&3E zX?5^a9yq$i5;$SVy^XBZCZpBfVIf;hwAGVAzs0mrI`I`#MAkN>P2g#&&IFAuBwDQV zm_)nH5oF>bByB2(4ztUJ*21Mk^PE|o#YO&_p%DGs3{Mb^0GjsgGp%Y+M7$>_Dr+eu zTvDrEela6$xui|nOXrA!Rv|JgUvH~10KIp)LTqSNKS?yx%?5@(*jfv;-n=A>;Qq&9 zoZum~wafP{k9hhnehI@zWRd6x&6hH8Rxu{YS|ZG@UlS0qoc2ZBSupf7t7|)3#aO)` zy)QYunDsu@DsASajAQx{)`;aL!dypyVS)02L_dpWIX8i5enV|<)c;!J>cNFfHd)x} zl1(0Ib;&04T3xcqtXB2Y=yCT^St7Z$bC)C{iyON||3M8cL8`fEIke6JBqodHaI@ss zjvU4q`kKG3>&)ScUO6mUeoSw${)!y_BQ+KIJKB-I%PfBvYf9^AALq6zMfeNOPYB;; zDX#0x^V=*;DXw;K+H9Lx3SYpHgX%b(z<}<`F*Q8fR#3X7Qa$yd#OyxM=$5blW0kGJ>-BhU88ztw^7X}#b;{F6uD4I8WhS)=EZeO zvZ!8sVbT=)-^(l=X=)uj(%f7+o8^g?VK~Y#HGHjwuhWY%$pJ%QhQ6*agPxJml_esM zy~{6U49$W+v?laWgS1WFlZzTxLDXCnr!Cei+N3S5mXTwmZIa&elcv}vmPN9Z6k?k* zA^ebKAkzoa@gI!wFXI!QaE<;27-M|S7Je)n%S~+b&(CQA&uRhBs%m~L=Y3-fxK;)F zO$)e|`q@KlENgPy5rf?jDcukTAZRK*JP>j>#FTCbI{M!i<^%JGDVB}?CN}zG-7t!r z=8Qua{mmHthdM|9P*sDR)6&sD&S@V6O{z{jYYH6IIr_C2?R50N%R;_1QJRka-EAh! zH9A>?_lB zXbiQ>i(LpWF-a2OPr6z|?uE{4 zsK0e@hL-P4;dZNd^f*qHE=51R$oi?2^-~G$r;)6mM!Nbb)eiI>15VcaC}z_BW=Sm_ zvxm^%DGwRuaPgT)hl|e)cDVS=00-kU@${QeaA2xWci~JK7weD@)cVWqbgbVhJ&&mtFMvTaMs-s}i@s$Gwe6Qv)s@%KLR^C265A6Sk; z-qS^Sp=@{mrjCZMzBK(7@}RkM)eE|K@kED}C%QBGZ~R53}BUHyTUoOB`A=(FuNOS_kRkuPKfE$gLH_c}Z8g`DPv zy!Jj_LuA{&@IZdzh19wsH9TFRJC5JS)86+jR_NKb9i?wyq10(cEh>A9Q71rcwYC z7Z_uy9b-(z`jY(a7=tFDd)@jTACDtfSI{>R8|wL2x88m3zwF(U5yR(*p$R?fgd6_I ze~AwV{vETLk2WgAQ;<~mSoR5zD0f++*j)H4n+wn9bT3U+b0unoYF6BP_X=Ywt@?N7hsi>;xa!Azs*~_ZI;_Sq` z^r#o|1vf51dBi?QY}vLMrS84-WmETF`dsy;46JW4qsO-^5QP|rH?LYgxlHAHTBd!tx8>5CQK^D*ygtiZQU%UtFpjrH zKk!2LnyYI5lC@N)p097FYZh79!SVdT@pARbYAO{msUn_ANun2@=+5;NY%aanTHfTG zV&Z>u&B_srlvX#+b@qSdT&`FuJ7PJ3SlDc%`q(X&ivKkhmyELuI;e%_HtbQoWhO(% z)Lt^uzU-+*p4hGT6+t>%$I_BAy>qrb3;d$#eNR;XZm2ea8&{&wzL^dgVxn<@61D>j zIOEDV$7d{_s+vcj`BI4US~+cnX_#Z%983#d;-(8I1)Aq zf58go-#G!`+J4pl$|%zR3{9*|vWaP5buFLeoH3gC8A2e>O*+$|9iL&SYW{4^nT$;s zA!jf`Hm6CmdShfgf|&N_xR0#!YrOkM*&6q;wFCPz6#Fo+n?10{d|>mtVdEH$en|i#{v3iL>gt(YWy^s-+jxmZC0pGXCD#u!qPQtoyk4#R$#An>tR*R7rOD&SxI#6Rba>KD4za?o_5YL zdCo#5O_i=WJEb_-#cck-i(ghX5A(_im001=stdUW_4uX_WIr$DIY;uGMI9;UFua6u zjsNk%ZJgc8(J`XsPq>ZfN4-XLRdane+zv-zE=sJGw)x$nXGXAg95%M*;o3{aFMZVe z&TeShXJRb0)+MaRL?Xpo-RgWeMm0D7Qbt7*&PI~LG}v5~(itfVTnMLz)TtQP!!lJY zmd{u$Rd?k=wh!WfM_GkvV7j8=Wi4!!F93DJ%#E)|sA zdiVB^>W1US&q|tN>&-@5yqa?LVVT)BKNinP*8Y_p?cWX=K`uVQ$~Cgg&Zx&hSuIUh zR6H$@Tzr^?-v8cJgrXnd%}n-Y-h02WH*t8Az}`Id-j6JX$)E}?W;~M!xj2r6{q4Qe zS32hZar+FXu5gjh*Uhx`y-MW(M*`K$NuO}(& z8_F47~0toN*OxEs%y&1MbUpYuD>F>CyhvABbC=XY^_I%nh}zV5SE_c@62 z?#GpXcjMg8`QY5&bjw4LaCmttOB1_h(9gK$iof`nD?ai{-egEC(MW2UjeKbt-;LmRvjpD%pxzs?*+FLM zQTvc1mgMMFW-hibU!tcrzyGk{1Rc)5k(k!%INl&+e&V!Ws6(qY8!v2frK4QSRcGwW< z*qev#BW90#wt|;Fv$i~t4~+;DWa2W|;T4w=%~JE&XL@5rCT&Pi9$GfLeuGlkv<`;h zms#oCQy8hm{9J1u&MST{neP}^J_qM-pK#LK%)FV5BG{wHsrho8?hol{6<2&lEgqP0 zA52OjrM2@Ns?|sJ@n&vp7=J)7#aq-|!5rKUlWB4KR67tBnsFzfXXz z`uFJl9;}RA=gSk=O|!N5KZMZRW=ZU;3Djb*Rv7q(n;%Dp7L5ppJ*<^4CbzF zBl$(bNv1LTmj`yb5A18*uxOS1#Y&(fNxmYxS>;4?iWi#BpHxP3@qx~|`oRbGeqUIoFPq?z?ngeb{k*VrHp{jR z@IdDKK=$%N9_}h{8`E#mISu+Pues?&^L4MeytA}FyCIkOK>p$j$;x`d4VmNv`JETi zRnm9daM3<+rCzu{y2`nMVSBN1_UM=kS6^{yiB@&|eXiqg=9TVqZFg-E-FcCVXKqp1 ze<3uDopth%TMqx_l|$dL6th?+xME@TGsZ2J{r_bw>sc(Jh{aV`J>25h;1$P-=5N<| zj#|2t)j0;5-n%;nrnVej+r2hUG#7iJJ8R&35A2&huxor_S-B5;U|;ZoUFU^$m3D^* z@-ZLCXS|Tlca`@A547F~TIYrCEbpTp*dac!dS6&p-upeU3Ln^TFYLAV>3*5o19{DB zU2&p$su%LG5&K>eOytaGqy!Jl*TEd%;y87njj02ec{^|q!s~48$U|c#ax$hh-@e#{k zy<+j5gG3+L0xvAh!Snwi2O1x-2wt)H&Vj!V>=RyCnuEjtAqO{n%#;1RV)2~=vk&Yz zFD%W$AO9f-JAB0QZ?BolcMe|kf&JYJ%lbh^bTB>fkX_==_sHkn6pW&u4VI40f7rL{&*ABSX)ny+N zMyf9?EAJT(?3X^UW4*90o?hyKJm3R4&I@_CtGus!puM#NCz^x3(4FP|s|R+akCauu zu&liEJ+Ke?z+Uu{Qe5R7?}41)1Nnm&@{g|a_VYjw@`3);3*A}XTl?>}udcpAYPQUs%?<&v{_i`M~-*IYn1tfAK&*oPVV_q-4M_rCD3!0E!rd*Fxpz?XR8@5)=Qv@d5AqrFu=up7OwwETbkY59Ly*S*hF zH81jttFB7yeJmzsCpO^0Ig9(^AlNhkN;Rd|*qxuoO9N1#SPAY}43!oa%;X z&wJhn{Z^1tl0)~#xO#B1e9%TKw~eh;kR1M72rj+4PJ z**1G%XZXO5@JiQpX6Gf_(_L7~<3{?xhIYeNtRT_4mfmZ~@S}W@(7a-SQqrLG|6u{z z|2?{YyPWO28awx0?URp_0%;=2Yqt-@?N6Dw5Bt|I*%rOmZoik&`HX%J^l(ORW%MS{ z_b_@BqxXRB$LKYT{t$EzM!(4DdeBNnuVnNo(9Tb2dg+YrQ`&B~GkOW5e@FQ5j9$p- zNQBohdLEq5!uLe^CmA0h_Y;@#u8 z?Iml|cHQGMj%}_uymllndd0B-as1t994iq=_npbr-S&WrU?)O`(gO=oG32l{N)+zyAtg? zGN=I`%u4O5l4cj8w`u#1F! zn^%%Py*aMLui+JW%L;l%XzVky>(|Sr4RZhXo5M?b!)D&6H=|1E?$TG%RH5BIp_O{M zf56tiWS@{A%tby!OXw^Wj5B*V`haSB(qbR%TlukkK8JjMihN3rT{QL&Ho&^`Mcm-V znF3-kR5iblQ)twO!`^iUy~)kt#2k(9`T-iB67g-+%W68~`}O0C#?LTPyT_5{6~|u? z$JbqP0WWnK^(EyQvDea{#ktS-Wh^wf?U>HRaopV^M zWczykOSb6;DppY2#KG9rm5SxqqdtUoc;I7L#4FswUu3uSiqKBuK6dR#wA-~^PciIC zhnA#Y>|&MxWUz|dZhx3PcZTGBO0k{PR~}(fkFfh0MPs;gv@<G0G%s3x1I)c#z zGfF9=`!iaO@OK&AlhOBp-py#&{{L#w+ZoNVa0&4LVDv4vgZ>YMzs%?+Mu#H&CD2@+ zRJ?kdE1>)GFXP>F9q)ebc()tx(mURr?RfVg-Wgb2XINY%CGGZ9Mt{cW6QJiX`WT~s z0-elg*ZzMaXdR>J{{KtRM7G=G8C}Ha1)#NzE@1Rn(6G6Oy31oUjbF{^&5Zs#=rBgF zW%O3iA&kyq^kvX0MnB8wO3>u!7M|W-k%~t4E*I@_5Hq?|Ok?yk&`TM;fYCXqzbi** z_*_Q63HoP7PiJ&2=-H4kq~cUY*8{I$^nHx3LYiN&@5eBDC&CZ2_@f#9EyC*=mx{RE zZhwk}gySiKJ@v!WZuZoRef>A2wui;$kC5Ih9XX!9Vc!ruonmpd;l%k%Hrh8fvaeeh z{Viw{qZ=5#AM`3lUt;uH(3y;`W^@Z^fzjVH`d^?8j6TEYd(a`e}))@NR5-j4)szH<66+vla`u?aF;eNW%$E zmpI*4TTeZd5OoauK8&6tTMr3Fb&^lyzv=L9;#eOK`!up=WQPica}|-WN*Peor?yZa z@O3)fR#lJlHq0l4zqL@%A-z^+^`6AQ`mLm)CJHt{CE~lSYFH{QYQ4HbRUr}gv{EZA z@j8i^|8eHwRceX2trfT8G>NdxC=vhB3M&|z3GnHqj^GU{*i#;6c-J5i-)=R)HlsR9 z!!I?A;YU6tL{7K8Twl8E#xe~~H2KQgO0T>f^pUqzmbZsn$q)@*bLhX<**gh3|m19VIyXCeQnkS3q?q( zn{X52?-%ZVf4STDv+Dz*7b~aN4=}=VkS4jFsHWG~zHqDyy-B~wdKdkz7upX!Of@2< zJ}d(^g#1&Gaw={UcBZ{aKgA7w)C(ODz0fOddZXbk{vJ2{J}1i!=)&SL)-{+Q(YPWo3`pCyZANlC-hCgP# zYxiK9hfRXeRY*Sy=|?8i4_F$RkWl~Iv$XHb;Xa2Sur_-G?$>AAT1x4=htOAkfp?E= zTLYt0LI1?)ON@RD^tX(zX0!qH8Rjn}+x8vajEs=LZ_r5K&y-$W5dto-%W-`fjak5# zAGRs^9TitsgyB8BvPU&6+n7xI;>V67SLiKxi70g@hEK7*S9(ZzqON#FDBi4d$oQ+v zh~}DkKeRMqR#-^D*xZ6VU%*I;z}Vc3=d*aGUYXnM>p*>D*}sCD5E}QozOMS}ip&)1 zk$bxBY<D`D47ignLt(2hSh{%7zW{ zpI0av)~nzzOZ#ZjEc4e5(g14rlD8)F3&81CI@iJ~`99P4iLf2Av(3&UZJn5JO2+C% zA})2xK;@a{rUbz6vwTNZ;y@u>2tTT>tufjv!eiIrOy?cDiq+l&xGAAhPlxttAFNLo z2zq#!-+1g1$Iy^Sp6oc8=(K-#TgvMoA8~o$|80^2Zo)DBK?`|H!w`! zTHihuEpYw4LxNvNo7@L01XFC6@FuL|jkcY((gnO3eZ_?u&QKP-N$mJ$FhiZjn@2m| z^uZe$pADO&pLC=Z$WR~Ro7b+m@^>84I*B=GIdnPMb_Mq34s3wE!}Yz$uVqf>>POV@ zJts#g&fTW=l~T>oI7gdoTlRb0GbHNJvX*78*&$zlcjijAErE4@&zbA3R{F+$=HkTZ zm<>3QcLu8OeTEZtmi4-A^J@&wozh$uv-vgI z7V>+i4>5nt-gJJQ(aPrRj`=mlP%Lob&34#~5nI~7ubVvs7OZB!nAi&%gbn3=aGzo$ zxN`61fv|GX$KkKurj%I@Hfbe(BS`alQ&3Y+iERICu&poM5-yotAG!iQ*!=o9{6aRu zN?d7^mh+2Vc7BLtc<`$5=*M1BK5qFZd$-{HsTO5oT6iA^S3Xdb_LyaPyGe@?;MZgN zdB_g|xYJgS)C$K60}#qm^#2&4$>(TVNHq{?|LRSy~Z8W zT(g%fGcmlrE;N%H`+i+N{J*abd8_5dZmY}Wf2g~{pQaYut3Ile9guGQJMK8HoTVn= zIWB+LIjB1o|NQjL<Pm+#_-NYwa(1Qc|%0B%E?3Om|B zhn9V^^NYY;4z4Pk)ilBbKS51%=QNqzINE~24KkL7l-4V1n>#lWAw;doTrIqo8i^Dn z-1Jo&l@D3=v3j3#UR4~_6d_rM*dq|i-A&)JwS;Chm4{ zA+MmNU2V#pqpif{!Ya%gI=*M-Sbnv@jhF3|Y)iHk|4waiI_~wvyZ6-V(M;W+? zBG~#Z5sD1y!a7*BeN;%PfVFz`JOeD|bK*$qH%bfN&Nw9wYi`5mC zaS|mpBpB8jJ~N20xhdyIqMl!eBs|`X6+pyD)Ytawvu&o>q9s_N2pk_}$PipL-XL5u z#2BN}GK@>pN{mHm4aQ4p8R<)xl%y9ek%)8esFxI?tu*QWsLwAT`9`OsEyk+TC1T4R zj)yjeg&e&@^(e5wsg8$jOvmiC$UzXlmEXzx?+MubmLtx@iPLbaf@o%&6>ZAqz=9+L z^7DW)whH_WzF7)k%UKn;bLkS4_>bU%Q@9g4JZ)JT{HZ#^;jcwgt6oB4;w%!;a7)1t zTS7+Pj}?S*Fo~3iS&;wL>0_(cz`lUiBE@ZLYKwETeylY?pf`mR43X*I!(P?*xI-OQ z9SMJg-)C^K-!F|!&oicm=ce_~BoVGsJc5{ls_8uo$LrB3?{}C3PuHn|kcdmLj;^<; z)9I?K95W3k{tCa#^h>JyU1PvknkGv#_@3&p2DNW)%Yupz65eFXv6h(-krBFBWPgLkjshu*>{U!o|hH8*Knmdja+lIq^VSi7~;UG{qQ; zjYazFHJrG&O@rLrvQL4}Zrsh7%85IUVaA&FGS*pvJhim=F`5bkkxO)PuvfVutIfQkJIGMha4kUbNFAgT7v(FtcI78TrvT+Hit{! zgdEa7!=WKccxmKRL~|Y%`slq8SlOa{Y6GRlVa9e*)cz}7V?N*Ouqsyq!pHU)49f3or$hYCJn zxV$G2Yls#W|8`z*4AEVH??l{6?kQ{Ink3?7NYDMN$-OhJ((T8f5#juJ*j65*BO_CR zQip65LSO+%1q)VWgn#v!jC{Sa2AXr}W@?i_D`#`V8H^=rk6>&y5Ng+0qEC6o1>sxL z!d7vUtKQeu%ZJL%t{C;OLiJ?r^nVE3u^w4$_UN;NtPz+(#c)IcnfB*uUf9 zSLldEx*Iy@@jDVF1-te6xF2;2NHwABmVd$upV{(p-9F>TdU_k>g*r0yBD19+qMkRD zTOGREo_l)jHdf1wd-cm)HLZ&xcajT>uSiWDspxWBMSpP`%^Ty-)`PiQb zGl@yFEuxVdr4)26n@u{QYM?1(Fs&W`wM3Rz(qEo8=^ja5EHB;4ZHIlfh^6Tm?U5J* zsL{!&QEfH7jd-fkiWZp0(>w3*EV`J)?lZz$U^#knRPXv9o`sj3maxjkFuJ;tVm^@9 zOXUgH$n*d_SCj2RQmeEnQ~A~VewL8sqa;M*U;TZ?4%9!7orGLg|1LRfKI3ZhyKyyI zgWqS+QRd=ocp{Xy^)fF_k4)z#Z5OHuP2pLjaL)1#xSB+CV2}DcGeyGg_LL%vBwx0Z zEAUU0Y?bG8v0PprtR+VnxdLha+B%|M5BcD^GNL|)I(HoIH9I?T5+v*a){vQG=xBa* z;!@bkpq{@t@u6GG3`K(LdDg9W4VOBelW$#tTpu1+qQ6=rOCeY>4uGYT_!H4&G=4X$ zq6xJbd(W(w661t>M#j|0`BM$2WGX&<`rBj&EVjphs|EEBm@5(c+!hSyVAUDABAG-C zzFlnCSfK;Q_PcE`6jmq-LdKCHc~_ONk5Bz&ug4SR>SB%n315B-eL1d^rq3Mwu~6CH z;b=hFenvk2g&%xyL+%^^EnSE;V5Wi(m`#SRh6np1Blz*S-nfw$UojDWre#gxGFuHD zAK(Up0sCgZ1Pag2^gwmsBPUJ;bShi4_;BanM(Y&0fm?Qw=xVJ6!vB-;w>DQ~e^ zXdJHCNTmXCv{yzG?FVur8P(64V+8MlSFyPcSxl&LzHzHj+9qqkoY^963YI8ili`tT zzn(N)B8?U;y;-PkgKavg5x4AX9LLuh<(L^>C-WT<1}&S(Qf|??Wwm33ahqOI%}vzs zBhoOZ>ELtd7&o!R*lXZ@gU%M2tF!_}%~1G-FiGFQ{$MV6TNUPoTBqF%&oj`S8sEfeu}TtvJxw)lo$KP* z&|G6qW}{^7s_?zW?*^KP@*a5oNxUx+>%Xg4nI85A$`F(i@t-K=7>9m7h9AL4u~|NB8togjFRKna?FCL!p%YZc9ft!^3fjAR zTK&;iJ^PmdJ}A(B*E;$aot-dq6(5f#yYZv({Nhwq5X3{{?vP91BXtWu)hIy==i^ps zziPCsg0}1!o``E<6M4LOC}!1C{jxMaYbhbaY0GYy%Z)?Jj$eYnziPLOjf4|(J zLl-w>9%ggsoRLOjx+Yx)dztX;)+Pln{u}yRNcHk`GV%dyOnSc13$|HRmi{=qp{hQI zeSbOIr_X1+H1qfc=wB~D{~A#}BHcBMjetbxK8GoW$#5`S?{=8W?AoI8;9hPRrhwmhW*IND!ZkdTTF&PzaVYb%|Gp1q2fCbjB zoJJt0eDx*cJ|l@;mfkr-U<^nRKbs}U=*~G}Ear%32Un9^VJP_bH1Kb&r8k`+VieUs z!A7r?&d``49LK$9hCYyYyGy&=1AZNILN4Y68fOCH{J{+FmClJbuuI%%aU6G08~3w& z@HxiU%JX>H0juLNlboOH7;f0fTOFyjxZ&$Rm5&qt-BQ&%Sj-NTZF^3TZ~H({Y_kc< zZE;4`w&#oidEdZWo!>U6{qh|tFNHtn`z+Iv_EvHeN{s#uQrR+LB|L=2SYwTt11FLp zurSI=woo|?vZH^vH3~YP`}lbn3DBWyjzH>>R;MOO3XW8+B?}x1Thli|_8@AxC6Jz5 zxR=s0Gp8-o+o_Fgt!u;+b*qc#FaF_Yo*_@n$eM_4Al(A^oNYzmg1bA%TrR}SJEL%92A zp4}_-L{AT}e1m-D@$_7ZKdh)x*=R!;4lHEEz0#J+lmt5WnU};UYio0J|uNamQ zE;VB&Qd-TI>$s?e{4pIZDK}}bj^-rXLQm+VIAj@Hl0LF*h3`3Ohm;Tm&1y&pS0KsX zfpZ*m99Up+|E%R?9U1m3#zIxyG+TM26cV3&!yN>QnHCs4BqNi%+)gxC-0Jd5VG=JlQ7SA<0YNW$+k&3l`nA zmYIq0XOcYw@hpJ163#Dyr!lqO*qhXB@mEuR`{Gr3fh>O@Y!J(~=IP(82|}4&x5{Zc z$+mPByRv}1v2dWGK)wU|nLJeiH_2%~jTCCk(`{tH&7K`(KhJ)3{czzYx6V-h?SU; z$Q|X6eWTg+p9hSnrdIx3mXv58+=)I&*T?(Z)(@AAGg<>~(X)(;TVJ{5^7?TpZHd8U zd(F)%OD=bRNs}soj5>QE7`pg9`Ve!AG1Vaph)b_PU-}3&^fK%)Oos%M*Orr1XZ}}R zpuv{+d758ie50Ji+B78VixH zVbHQ%7M>7b*WDm*lg@y&H7VS<(70RRCPSlG_3+>e!lQzsO?C>_i^mp1W25G`CLO8V z%KtU#s^y-YryB_7tuuEJ4<$=vfV( zfjq=2x2WR@Pm@dFW=n&I4j*+GdjzBd|WNQ6(!V6QZB2SJlV2vS4nx|{g z=1^@aPIZMycT5zHWBZ82hhn`c+j_D=<(JH_5wBisTFCoo)z_ z$QlAUZrAAsj+4M{eiWaQ$YCW_Fi;99R|6&q4}Lob79s^A zN)oxmXCX!8>CeI!2T^a<{|o$|t(G%+tViUDpGxdvcO=klde)%-5IL($n! zLppe;F?>91yDU`xW(K#7*YSPW%;P#m_D9`6l90~`E@C_KzB|d4cTO)g%WyI-fE3l` z({g}sa-4x*NxzN6v!qvrE1Z@p^7>owX({JFYfzCjV)*qf;Ly@mRnvom74>qCo{7w` zV2!Q)*qEo6m>;#~57>gWe>mD+ts^5IxBNVat`L$d`@(AZ%@9ee^bhUD!&`hbL!qY60wa+d=uyJ zk6f8%+geZkgXI`y#sJ9dZwWsOfzVnhYcVqK%@vBF(fv+%UoW?Cu|;~Dg>zX|as7|; zBI4|Va@7{UtvI_4&YA+9D3#gqWZ8=qdPre_@G&&Gdl0LxB_StZ5ZACt4v8QpSNKlY zfc~fCx8r|mwWY;Eh8FS4?SZw`sOwaIXCn2xxqAu5>n(Fqq#18R<~oMflBjU3O*vIG zpUVI2&=~amYgcn|zh}Lla+hS=&yH}N6#s|mWEkm(?nLuR(2V|IChCE#*F44-83zg% zggrvQR>*I#Z1SivLWc89(3 zP5`94-DdyYiiVd-@OBfKW-Gi_s#oRq$Q=XA@f#J>AT_EB;k_7KX-ICL+9G3866R}( ze^aRcd`Gmlz&OJZGPwwIeYCb3&#Kik9I}x!9D$RA&7Zdfb5zf!h99{c%(&BRE3bWx zy$I_6ZJeZQ4LOx0dEPJgG+MD|ZdlC+tmVFDX)BvT zmGd1Mq&*F3(-x&vH7M2cX-It_fjSVPgYuKcZjd#Dy?)dKji5TA2Y zB;jPQ++O3igNRQ%=&TY%%L0$#_wb|nREM0rpK z;|gS(m?`#^Wz}^!Bl)R#ctd&LnMB<;Wp!fT8T}r-lG<;2zZB{A7ZTsaUY$QL+rDgp z^gZ&1e0#gSt-V(Yr|vbQ*Q~nKUekN0NZ))R@t>}*-h6j~>zixs!6~(=Gj0F6O4t12 z@!eC^Wab}E=N$YV!cR9Sgd{%Mi=^WDG5iepJp!8kp1|`&vHjDD;;Bzn6%)niN)2FyA8Xo>;rPo~PMf?ZDG>Q54_TBgL<;!dC}NaZCs1 zFw$J|js)k&h3E}_2La0VIAm(pDJ zqn!5jY)?+Xc4(aT)rf^?=9=Yg@QD<)8>{(u(uOUGGF(b4T(WdYB+i1!BAoVTv6Dc3 z9ZfVBVxJ?8J+g!|6h2_H`5eo1(&yE z)h@q1nu=JVT6zBuBxW3=q2J{0$4X#bvxOjM)@iQZL?_gmd;{BrG|FQP&aZOz5|M*NMKp+9aMMXdi1S>b& zAgCy`h7iWMW>o6`zTpy?q zr97EzkOMV*{7<0V;|-FwmmptFFwohc9A-YPzeeP#@L+v=m*IIs6Ynl$lhyBKczzvqF|)c+-q zl6OJDJ1dI!z~dKFT&s&{r;^K!xsYj9QPhM~R_6G`q%Tg>vw~VnXN-dX;ePZsu`fqf zCUcr;xJo-Y+7=&96rGQR_9~rO~u3ZdpF@jG1)OH@{BMaeYvCefjgH*Z5 zbIBE7jlKenbNk-Pk$ZDd9+iOls;v2+x2;3Z(&@~uUAiM}Kt9y6&Vrki>OPU0)IAE=TXyjnyA)iewW|{|B#i!}olw{+fa8 zk(fL11NbR7n$>g9vnQes=z<**)3Sz@)B)XKdlE*%>$)GOvMk$8ZpW1{>LB-?Zq$Vj zaKdZumP(tu1Ef^iLUCZ75dJ;I&ETh;pqj}4!27=cA^gwazj=QKuQ|a0;Y7#J;5|sY9iD{eg<}D% zUPX57PawOX-~|dqY9dO`kQ(%c?S_xBZ|RNOjUOBJMca!$hMnJx(xT%lJ5p0+O?sY@ zGB%?al1fJl^h|5R@}q@fTqfY>s(NS-f3AGh+pM~++GFcb^XCZ5Px~Ld*;QHah^;iZq`40C6dZq zm&Gn{wyir{WG-Tz+Uxsu8iTq`*Q>-kk9n>b-fJ*(3!K!#JYL2qv5QF<_-#x$XiQ?w z29vQ1dvYwsV=Vh|pH@nxoVK0n1Rk3*b9DR_!%v-NE+#;F?h2>GT+H%ZGmx)46H*-E zq?wBjaN!PQVm7ZU#dE{JcS`mVd?M*hf^Ucu`*SW3fd9AN)c*hO&9Hf-#c77k`XlHE z(9-TJhSFcPoJvSC9yI#eO}y6p+|nDJvG9f(@~TRdaq3lGR}*kb@GJ=r268pfFyI>O zFp!b>(J;Zd3RKvS##Kdc6#ZEAv7oi64PMvZ-DG@VEwe`!FmZ0uyai5+5$GAqCVf6? zwZA9}U*0Fz$nSgC!J#yaYa?OZjn9tz#_BnDhe6f|OZragVKP=xbA6+wGH%lEH&XFM z_&!z{3yUridZDaH9G4DpTvoe(6jun&C#5L^#)E>icS47uy|W0T#GmWHC|$=WJ?j3+ za25P=%d&8)5?AzI6;%REh8}1j@aM%AuYsJ6jF-fqGn5-n86-xXvD|pds4FTjI)&Mv zirN35I9@u;VBhQ~JVYQQ@63K3FO%G!{W_c?$?PZhW$>U74#`NjJwfbC_;7{nX?CN( zfl}ugNI#^md!xt<3A%(aqfdthIt-N!Kle%4f9#WzlRvk*yEB^o8Z9R?*VjXB1HK;m z_kfQ^_1~icjli(4H#BqQx-c96E~R>vdo<2rZa3Y-)Bg1RuNoXhbml%|yAhVzV+oaj zKG6_Iir(?hwke#G)Rbv&T6D;PMSFgY_=v965)u zW+_XX^0+c%9l_wF41K82x$Ib2dI$j79dDM+saKX@EuqN4`wYz z;iXDe?1jmMYgS<(F&gKLL&VR^WFB(tF>y*q1+3kMu&_Jg7bNnkf<&$CfDx^1(Noj} z@_T87U#ArHjPK&sP4O3K`AOYXkz3~gH9;^uq?|v%58_R`qmxb%j)k%jVo6H_Lhba7 z``Hhph@~H*J^Uh&&!m1?ENNwGiE#3Mc$&>(N$5Y78IsHU0kQT3NKgGkqiols!SS7x0!p{Yyx+VW^I?ZB+O9SkP2<=?Zg$)O<3;1zSfA%^ zhn@J9#b}BCWq&ZcjxHrWrzdBzKNQ8Gf5dr$dt{y*fV|Q-2k)_K-u2CnkIk>^A}~92 z;K7smL2}g@!rQi+&KzwquZrCv&Xf2OC9Cm$FL!1Ni9;?5`^kS6XA7A-WWJ=|HD7#Q zB7UiJ@0%$`ly?c`}%$W32uWJeVm$$>mwK(Gl z?_k#eK{0D=WR@t4hlB_1rJZOhuWa2I!eZ4TLA#PB_Z&bPgmK z%8bK|;q9PCRD`w)c^A9D!jfa}+_F4Y0o-5kEz84_w_~TMSV*T*Q(5{Y*7@1hcpw!t zSbqR5RP!L*jsJ3(irj)T<5U86*9#wr_-m&hy6AWx_eSN%%{wXw)}z<9}6RCJ)|Qc?WM1Za5=4|jlzmuV~H z7*IIWqhwb}o}>W}_dQ z1xkXNaPh7kW!QCexKnK7;b9-8O6brH7(bFP)fD-%iqha)-oe3BGdF>!{dO1}{t@Ts zlvsFwR`VKWmAMFY*^d_QHy=U|YPwWZ68SbXOugphUjOcMe*)6l>(Y8P$BVeV2>;O8 zYzmD2o^ahYWPhOIgHYy|pkGI`{|+VIw{~Jy2eZU_eu{_>Bz~-YEAJu0_YKgg=+jcd z$=m*Vr~Nn2w`4B+{9DSzb?xpif~=jt{36J_y31#M3H<`vQH zbbfS{^viBw7H-%tbQ15qUhp1sV?VS112RA1B*QkF&li=~*w2ho-X#Y3ON;zIuSxMDVYK%9>Ov)){s6i0(!kk!G{b@T(N0*~$zGvYb?#UmZbd zC{z3#{&k}4N=^ETwkoq}^b)wf&UHujUP+`hY(TBAhw`1PZ&H(Hx>g@iiTQP1p(Y+0 z*#+PC5Ff1TjuwBLhxk9& zZ4m!iw@Uoix%b1H`j9JSfOu7p;AglE;{Q}P!Gc5AA6Rf=mw(uG9(MT`$0^@k&_A@{ zfUc$qnsiP0{xuSt4@n|TQrP^Gf^1AuR8vb|2-Rn&QxuS1l4q`WN>XHyXkN83_?M`9 z?3dw>nO`7f_thtYb{=*e9IOEKPw{6hlv>4p0ZSZT2nt+MTokS-Tq;~jT#*>VJvc2i zH?j=PLaY7FC-fHUCdfRs%osaXh|%Oiu(15zE;&9cR|zOPHNvArc>pY*Ot ze^ECL;iB|UdQ0M8)TP*FBafA0oyQ<2BCGjc(2F&jGFaZJ%h%WzL`Fj z^ek|pZ8#Kdle8U;$UCG{+3EDxbUk7_kqbj-`|}q6j68Zmm7r4A>io&ffW~qd|96xx zQ&kD^nt;?`q^iW!J)WySiG4(#*LYJq?bk_9pbgVRiRUtt96WT!HUv%6Fn))Jnxy5o zp_NgFe~oC%sBJFbg^!xDu+k_r@S>-(n!YtHe~g||Wx7m*ewCrNw2a>-`vKOhElg0} z>@J2OvoMT*jP!|^)8TwaD|%V%yFZsjZ>3Wx{=PCvN``%GajR+2H8>=FQ_2pwsNwe6 zvRYD?nI4%{->XVM4$9NLvl6OxGV)CpDKS^pC7kZh3$F&sepQ*icWL;?y^GdW>lC=J zU5{t-zJLq@?-lgBE(|3Vs@Or7O2CMVr6;3xQ~~@}@X=*UOpt_9wg#(-loHJ;fTh*; zx-H8#PI~4oT^3~dfoHFG)N-c|Y;w4XT$RiX9r9Hg zsCyUN)*&~lgi2Wk?nVG)mMX##)%uWa1>XQ8TS=@N1j1TD>P9N{hK)|`v6q@iZhPIE zOy%sR25A-*pZ&~Bf?tOlC}H{%oxVs=YqWxN<|g2TdRo_PT+B`{MxCiSkNKH^jR>K6 z3k@t^2)yjkf4Y(YjGat51Z*lPy#RR4#DZbh6Yh1U4?1^&G}nY1O8p22lql{dGtQh%{(dAxTfbY`KLeq+(wlw%{Gr+(sgQWYAKnhCE|6 zfg*bl`6`!<{T67AB}-r77IO=UJQcefo!Vg<3!d;2Az3Q{-yv`4S(a!C`N~&JY1Ca1 zYjBV09}WIJmVAPBc!!d7tdD!TAr8{@Rg*LmFSU)t9#yAqw^=d_;jHAksozpNa|krW3CwT z4*cz>nPSL2Fzd$$#L%q)-H$n9h)0=9Dx6n(v4RwkJ$Q4&wAs`IGIM{xJqq_EUNYyf z`V>&9+nk>tMlCf_;*7ia6Qy2)oghjB9PnW5kEqk)e|9c#?k{@nr+dWwn+Jl)_^8IQ z;m0@Pi;dEvKUGxx0aFLYV}h2Rk^+u&qSos=Ft{Hh6RSC->uxRVj1u2|ZQ#b`x(CCl zKjPYiD-PF#xUMV+r~djI$WU=TjjLmRI3>k@6t1{=;nV|j!>JYcPr$Vj;lp#nDGRPD zgx|vDkLzt*{IMPN$^?Jb#IC^}t`q{|g4?#l-LD^WJh-DMRt{7=&OqaaUCX_64z0N* zVlw?8=MBAYz_EA0Pl=sPx_3aT!S0s0cfg<8I}o4>l;(CZMG?@yr_@m~J`b_v9U{L7 zWw)E)6U_vPP4WfPUehQ?5!Y&}#Oiofi0U|;A8Ut3o;rZYuI@W$+M$cISDDu3he3X| z6POZ|MnSeOLusmT{!Pd=N{@q57QF-V&-w0BBX{d?mrA;6BfIHzmh7i_#&A9v7Dl)R zVjClzA2Up)eGfe$k^}5y42X0+w3)*BpkeH+O6;tLaQ}cE_ZK;K@^CMg_l4sr>(6U!eDaEkM zIGkEsqZ?}{shz@XSS%b%{lJ~>6OBvK2uD%6ua#U7C-zxYhh9!293^L z(e`@R$D=31`4!^x8RGMEhd@PWKt*7b{{f9sDru%O`H03ehvkezuA5$>H#Zah+|8z) z4LAotYpxNPl?3HZ)92_n(r0;HA4OC=WCrfDT6eS6SEE$11j&&?pte$ff4i50i9Ra& zNKXFobfY~?eaJ|u&A&hN``S*WTIdW{_jfh|3uG?LA3fu`+}~Nl=pk2q37(Nl^IFu`1apo_d+-*M)9vsU$0ukRz51W z^2xy`JFVy^N$MWEsnhq4UwgrwcRuJuO*f&Y>;H+fZGYcrigJ#|8Wg}1-U%pERargh zPlCq?=Z_DAUPWo4hoGmg`{K*cAF=&e{Kkx!$ChO-x+r` z3)EgQJmA!$ZdXOl&F$wUb2sU`Q1;vT;ne5PDR8EVWQk1D>#E1>@NXj)aS{+a=4~Ex z`|JW97BCLJr}pA0MOz|jl8lligPP;yjTv}j58n7$XNd5S$wlf){+n@*8FIb&Aqi{6 zv&{Cp!q40lE)~O+_{=&nY!Sn&?|SA5U)W6YG>BoMU$nkKwgBg3oF}&FyEzSz+0l>D znfbu2q=LS^)k@CdAL>Q?a$ZG!3kPkc)G?5-W?5uYpku(|Or7{Jv`b-$V|NzeU9AR2 zFjF>#emUP+0PS>z=78=-JEaow(-l-xCGwITI|b<@1DR~T^8sLhh~CNuUl|K_jFd4Q zWo)TePWfIa-5-KkTUzPSj|0|xKyN`^H|v?|1a=g#UrWIs%Xda!c^HTQjho z3$7|(-5?9ScUyV=YEvjn>K`^Ib<0LQ^)kI%@4Rr6=;KDB&Y6%93i?B)1eR#)V~^HQ zyXnl9z94`4<+dO_H~?n!E9nslIk}ZZBX8}U{L@V3^^(n@kVh)#q&|b(k@wp-Q-6`S z`9J1egD3CKTZMct=lSHuKXB#s>Mb&MzO z*Uv!R^^j!Wzcpr#irw_g=51)pOL`}JGm6AFXPd}2 z`dl_}MiJ=E91D2#=+Bpg2?jOsxejw!T7v$6Su#b*Pa4WDKA_|8^kpXML9PN^D{zsq zBQk7%mh`A<&a?Hs94S|N^O(tr6HV-#$)@$F3H1_blW^l$v9mafjheH*cyjUW)EhT4 z%zX{t3kBl1t~dL}mFeE@7a@-AO9I^?*$q5k$4i2wLyEEfN>FrMFZDxfZFu*9?lQh1 z5%EyA1oa{Fssz^_T!at!1NeYylT7SijLb;?9=$=n7!CTj6weX4ztN;*6HLRdwS#I? zbF_~>B4d{Ye~G!=*yBXTKh~IaQi_(20#&?bkY+o;olF9+A9guCMO=+eVpkan_qhWW zR2~;s#4J$`MEKD})*XU($Ifw!eYEbz{if3mW9Dr!5o-$xr7>KzzG?u-KJb{v*(T`e z%z%zaflmE7HQe^L?v`CXn~o0v_o@{A{J{-a2{C1`GfaBtKW-4+3BB`6%p3vbC81p@ zfhx+0`9oy*BeTwwu$hd| zz4LC0`0lfK?|EFZV^S6D{CS{3r)CVYlS8g=PmsE-M(S6PP`}p@JQw;bhE4iBLj*^6 zEE1w-UW{&Vm-WmET-bGXeZNgM8I~=mx1ONlS0w12r@BS7LDS`JM6L(_k55K4-0cB! z$n{sE=bszOCIZtU0is3C+3(6vW`77JoQpo@-f?S9;KO1G(Q~rcB5_0xUeDkb^q*h5 zpnpNhfm_>j70`j&se8SrijIVyGNq=IcQ>IO;IhK{%Z$(zzt-vKajY@9S^U@Uuj8^< z*&NAa(!1NQH$K@04d5G~)Ta}^bZ*qFKcdcObm7!)Tv^8|AYlsdixFji{%u6M(+(LS zk?n;6Ii_G4mY#768h9aXWu{ZmMyi3V=mNBnu*a2ytQXp}H*G_%U=Ois2V1yVDx>W9D&vox zLoR3>um(_a4%D4|5B32yG{i4KE=TZ#|6BgMf0e%jR^I-5{;-Aki~L`^D}OR}3bwp{ zVeDw&7`-mD*K#6@ZHV={p71U~s0SgVSA$UcIInAkSBB79gdX*F9A95bXEYk(Q^&Lq zHU#$s$oyDf**f+L0UAjrINFle*Tn>0TGt31p8SH(&I^1^qaUt|l!$My$S5T;+KiI- zz^|t$U)so6Nn-5M)l`~)+iCOLca2qxNe`J%3#3(g$dL601tfC6l*frLh z^pA{Ga(tV`bkRI3_U}eI{bEr-DFs_`M9$`$VFwJcj@vx=m|sc~O0``9>a7i_1`TAD zWM*v^a%249(H{SWcmbXIdaHtIw(~l3)Y-a^3RF2 z7<*SO>W7Gpv}0c6Qg9I5O%gloO^yx&UqQ+L9vsnOSBU#faQ}y0L2hz>BX~YS$7or! zv%u@BKn}yMLEpI;@-F9QNUs!us)O{_yTeP4 zXLE;iVdn|j5qjCf^pyB{`C0<`8CE1EOSG$Z-?2G5qFbF8 z%F3~0TkuVQ2eobW`8;lR|MbF^{!5Yr9*KI1>@z_@DdUG+{~W0g!3h!SlHjKC-3L(Kd4DNZow~J+%;m1o7O6ZgYU5g{s>+@_g&q`9J+YH>wq)F}2k;G1Qz>w&$P_VNn z6k#vgZx{z1n0r}82k=#54zI)VRhz6$vUp(;C!O-DF8G4Fl&p+Y>UHS4(o>W5QgC2e zhKjgXbvzl-y6vtgMNPCo!*a3s@eIB+#BcQj2vP?@**83x6 z5u6bj$xTCV#dV6ZSV?`!Ne$#*WX42drz3esjpY2B!Oz6r?}n_{uSbdZ^n;e;BpinD z1B171-4ZI0SkHp*W1J$dh`RwvBXTuT=iB+ljN}_X*fEkXa`h)1Qm<>wVCC`TEtA22 zAbM(q=U8xj|HvNVv&{v|z{vf_k-dh{^}qa1`#n5Xe`!xJ-sU~cVwlufI#el!BN4vr zF&vNIEbWPsB#o5wyTPdAM7B&(w|5C&zQo?sbl7_e##s6+KF!3M|4S)y0`#0ygMRR7 zI>UOuyhN1JQsYE?jYQlrQhxQ;FJ;f8N(lA>UKQ{?J`MzfL*zt~w5vylT#q1y%o3tW zo^_Jo)JW`gLzZY~o`eq|O#0y>=i38cyR!!lx!xK6^|~Y+YvCXPO8uxwmPsfCYC=$Z zB;iWNlC`JYE6Xf6?!jsl1YGn(f(&12>0Ns~sA5pYvSS~iG(ub4o&hq#1I_j2Jlin} zUz&wgW>WXugPaw};}LHqRt8dv*Hz#pt3;#_f^e@#b7vKqaNbv*7L*9Nuf+WyJoU$a zUN>T}ZbS;9NdK3o;LghNRcoYJ#+T4P`cj-7WUY@B>wXGptu`mt1Cl17pXA(_ky)PF z8o$}=YVgEw%VO1A^15=vK0gY*7Z1_uh!MYYIrPZrsY{nirvwJUehcPL9qzuWQ(RDQ z$-=z2X}f(Nx;w+HBw%fSl&htnT_#VfVc2)2pJK2%5%FP zv&46su+Cl+TSDxe5q$H{wa#lzMy($~yQTx@l8mC)VV`w?8Vr;ul!NyAgu-KDUN{N^)W*A;gGLRS&GL|KAQ0596{hU+@`Pc1~ei~ zl|(rAQ-@rKhJ0}ngN4_o&j!W=p9~rmy{z6mhP^#!7l79NdCnI7w>hiDU2)EC_RZPb z_X%A@?)c{H2yGnj=>I?)|Hct=7i~OOq>b}q-wj+kR6n zuz45FgnFhx6Z=iL{Z!(er?mgeQ(<@L>+E0A*M1WoXqaLkSU_^xJ77TXh=@QME9l4W z+}M6l+kPX|cD?PUhynqvu{6Z)MJ!*8X%MSL=??%YNu_4n$cmL^Q{#J>0^2Lr zMwR*bMrr(@>r;=R$k3=Z6Y7VWcElAjaU){sdIqs2!olN(WiP5|`cIU%t^FCeZH$-#fLyDe;`ogwMo6TSzbX9uL^CR@jK~Od{CD?jJ zy$vNO1O*+5K4J$Biu3~Mp|6Ka#W3j~l`#9bU(YC-ND88bsF9ui_6|(e&2p|F;7Pk$ z+Ya@L z4?F$zU%jRJ#oWEK)8}H%fX{)JJ3D=H$dJp3l>PQwm~}o{U@78X0tw-x0~R4hdi#H; z1IS)s!Rbn&^sT~HtW+FUSYkf~9vm=#jAASjvELv@Ea1cP3t}u{!~#Ba{}7vr7_op4 zi!g{~A(k)35)n&B>;W;BgjkA~Sio-;(hyF>9#6s=gntVgkV{UGv*BV$-Xl6%g-nfx zRqJa@hh2h~$DU5&vHFXM^Io#YYakttJWtZ!2Cgf5Y=kgDNl#f^N>8VO-N@}~!5%d1 zx`5JK$sU9+p6uv8TJ1LNqxS8s*k`^QCVOlA)?wF2UM<;W5&GZ`wQ_r&@y9Ca>31ZM z5+`F782+DR!~#8T$Tdg!Sw_r2HbWB`F;2AJ)LZtwf*-XY%g5^^_lR!JSmag>-JBs; z+I4HBDWh!4lrX!_T-Q(u%~xf6cyUWN6Io@Nvjr!Z z?(K}EyM?I`UJC;k6YF0Xt~|-$tQ*RE2`>cLdxa*P3Ye`tR;pL9p}cdz@6Mhw z>>3M%C*i>+;h7D6<3%2NtZLA8WB{k{M!j)?)45g!{&kumZQV6P+J@B|23>~+4jTCe z1%DBEEMf_-*aR9OCBhMpb9uCZPG7dRZtaD&(d#Z4m|M>Ej4(Tm5oY0H(>T-fy6e!9 z19c8O_(7m%wqj2sv^wVI0)KX=siOV`HqY>dslp&PwHW4^7^A#6&p5BR!nm`z#rQ=r zQz$dnLj&fJSF@5}RuanU%_^*A#)0}(BpzMXXr@wOJ#@qp=qYv<@LQQGXyY@g%y1z| zMQjo11x*@Bjn*$Jr6$7yR)SPW8%cSkR4-_^OlQgc2)zTboE1FycUk&p_!(W(*$TE~ zB$nBg%r?VxIO(v!eAvrlQfDm;cZ9wI*s} zAIF>I`f1SnjEa7S59w+!!48$4&W8SX@rFW@Chf|Kr#w<;eW6pt|L}sQh_vucOP^1J zxhG3{KdbGlv;0d)tjq$&`5FF$t}NKPCZV|~S+)W-TY>h5tT(CR*KxIMpDEBI%hKg% zHR)K?C#{j2TufIt0-*z&A6BY|R@4DA6peeDv=URVsSj3YLV#OJg66AUNXw}=WfV^~ z=>^3K%A?583rdur!WFxsT8CC56t%+lY*J1=_JEfKy%4D&ysAd?(KTdTBt5D?jE#&) zTBkZ@qmD##ayD`b#GQxGM>5=9DrjTrEE#&R{OW8$t9VGzD3%I2BWa~b%RyQi(r!QZ zB+{~wmUP#1E0LDCVz$`ti}OEg?<=OKWo4d#CCMj_P%5cf^Thg9A|K!{USJRr0#f+VDNf;<=_5 zOvE0SN*`RQ?R(Zj_vA2&YDF!j4y#@$WaY@Jsnn-z3x%8zOU}%;ZGy!umQgn_AEv2Hf{i>yvvFr)cQ(aO8ETB51 zR%!yg90YoR(Ayz{-l|H{Eej#on(goaaiIJ1`dS_14(iWy%lj&j(%!^$f4g1>`Zv@u zx=Rt7!TQ`Cb!1m+tTt~ z7KK$-yBIAAs#B%QcF~iAs_Jw#ZK2j>rZB6bmd*$RP8aQ`6}!q{&BY)5;{tTK=9gr76rDzDCMl8S;%xL2sdKV@*y^G`d@wA#B&&+|Q_XKEq%h}}-^C2CR zK)<~j63L703r+O2zv#}3?SU=(5S8ZD{4d+&bp^#CXv6L`+P-R7r~vLjk+7AzC;E5- zEc_|ll75NlQ4@7vv||^f0#pd`83b+c080Ih$-ZFVL~{Qy z|EgFLJw=6`56FG#S@Z>!`Upzfz2-5TKk11f9dvepo9SJsqi10KnKI~V7DBA5Ox0A< zcMBZxTS5ONU$c{E=o!~L18cq#Vw?SUh48(@9+QKFF^Yj22D4`9C)u80c>No6T@faj z4BW9>)Z;Uq@*_IT=xwfmBNeb>a2RLWQI3DYPF#!WJnEhRJA~UkA^8is9?Hn;I-Ms2 zM=Td;3VLz{Fm~74bU10eth?OS`O|%~@r7k5t4sAE{JX=-8lQb4(w>lg4;7zWbIXBR zPoeISbeu3Z>TWnTbE+v1=g zNw5NM<)6GsEIvLYy3LI6lVO0vlXP zYfgOVo+TTxo+>=Rjbg>dT1oL#MO59GR~KPrE#VdkvGeJyWHw2^l^?tj&yIQ7x4Wni zcitFN>(741C9`C=*~(u-Tn>$LKXyqRxqtaa3V3G>r1&1!f#J}-`GQi+-&U@)0&5T( zwTYe{!t310Y_5P61tqtXKP)Kc#~y+`uyJv0+~Li3Ua47ZXtFQ@m?10^~m%p zH{%&)jjVwc$LaHhqz_hLcRQ?$5a{tTH|-juA61R-IQAY`I8Z`=VItCqwS(a5M7P8( zgT2dn`pC)vH_gLBvMcNrHBy52$t#H^%>A&85mqx_P^BH{rWo?(d?9uVd1Ag0mBV-f z5Rcqq;k(NeR&ztJm7X3}L(h=!gY{x?7?#U|tMg=G)thDVY9(?}q|FD>)BSkOP*m+wU`c@QkhFzYQ938JXbxuLLey5KSJpO1&u!A`%C(Z*If626 zm#{yc0$sE$ZVpftr8ho6%QQN}1cwDRV1^ z>70-r?*mf(di_;xf?LshO{;b*`i#+a(KMcrh$*v#sQHfw(i|0=fO^itc*Cxz6IQ0? z2lIb`9eLj>^OfaMAxiNm?gsO#k?LCkP9asPNQ?Kl-t(XyV*kBI($Ig>>TNF55m;hs z&SoFM{Cya9_>%Tp+27$mtMXlN2o)WE)MyWoq6-4`s0rtQ$OL7V@cw5cJr3x(KNYIndM8h7i(FKq?dMQS-tU)zbV`x?G@Tv69Tt%{x; zg`zG3JEkIsp3I~xs;YGnyJotcdnei&S{nmO$Z8G+EfiH-t&1V+J{`4dtVrpM-8J4Z z#yYkxrg-S`=sH5@K7y~9o;(^k%yh*cewY0(*w{$g{{-x5WmP`T{^KV?j|O9x!5Q{1 zG**OLKaSZOU6afz_?d1Fr+^#4D~r0<}T3)+L5{rOZ0{CeReNd0VJd1rQh#HM3zh_Z@al*oQ0m z8gf7?RaQ#z{_xxrM&&sCreSTzobgjAA!|sp&)ZCAWS8vREXmkh@&$fRl+4@WDUok^ zPS~3+-%M~E0XQ4a1OMq%Q$X+DQ31EU-ynzmo49A_$&w7{B|r7uRw;fTG#%AB+qB>j z%|hO!d}6UD;Fj|bd-6YR`wmiNQe#R5%2b6j^oF-PmB$q6d26K56H%th?0M$R4SR}L zACD@A4lXo`aH380{Zgxmyo-dFiXv;2)!U+k zjm?B0$GB}|bTBTDJD#EN`zO;|7@ZSKDODct$DCN`lk!lj|6i1L_CJ*Nsn`$Dp#&!* zgs&4h87Q|YMFs5HyJX~ZF!Iwd@>D8kt1G5bR<*|!mzds#7p9M!6q(e71Xx*8q=ge( z6Lz9g3o0uu2%{M2P_c9G8o?lO1QQJMXSNHwF>9p)lT!j}T6)X5VTZ20ErTQNmM|Fx zVv7iT3;g=8zPqIB|IbVMTx>llspOb~C9P%AS{+)O+E`aS`9xf?w4(&yzQrwvKTQ&f z@lf&4>zwVExShItfmQJr?`z!L@k_wtOt_#jQQdyvn92EP$ec=-0D*B`?;Jj4AK zUqA%T6#gCjYB@h@iUylF8qh2;iaA;CWoOdG)!54scsKHW)= zD;s`Y(a$Q6D^u`;cc_&rDv>it z`}qbnR|r2$ffwMXU?Ok>8ILZMPAL>iP;(y(QpF4D1`n-{xR zx1g&`@{kZuN!n!{?{YzG*f=_4)si;~rl8;Z+v)qK7)nm+oM~5x-6RWFBKoI;@0~>W z`=RK}LDvo;l{<(w_P4uTjiRP^me%b$EXvR=@b)_7`o^QeKX|8J74QiIu;(~o^}`JZ z(U)#lotHzJ9R87#aL%gs?q5Sv|Ke2vsqJ>{#QIAt7`k20igG|;URVmJ`OhpN`~WZ} zgho4PF)zTlO-?a1CL%5zt1;IFFw`Jwn$LS^o0lP3%Si}#_AT>s(}^Bhi}6y_-lY4 z2E0GlL#3(PT5Z`}v`Lb}I-rrEyI=$gNCn?B30CM})D&iOR?~8>R{Xbeb%i+`vHXz@ zJ2I2R{^iTYVXX}2rQR$^P1LYXKsewbe7~S`ZtwDEAA+nPgujW{GhGjg;j0LjcKNZh zI!PU5o|?`OA;9{YV_2YQzt;^%7M`FUM z1CJ`G6#Q3k@b5uko#aYp$?#3NT`vwtiP+RULj~}uS;utTi#i%|aDwxdCRl*g#{9uE z`>}_v0$PFWcs{vy0KTK=!E>1E*ue#IDO@<-9Nn4%ZnP9QR_Rkyxj*YdTj|U_u$jLR z>z?Am`{*&)RkUQ|`|)AUs6=u{)@Dg3z0&Nh1TNr!uFG+ftD~rnlicAbI{SbQ)bi@X z1+Vu=CAZpPQ6ur+;`&Sa&*x9f>$*8qhEbmljZni%deSjlB3Jum8w%s7wH z!aC4DY+?5|&PHily*ieLP7(3ZwB*F*QtACON~P1FML&OxAXyzF&FhjBsq+@Y_PxZO z*fBLG0hqbRj*}7yPqZ#S>;fqTUMw{GP|`778jx>EO_}VZm;`pB-sAdeXuIwbbd7Q%O!$iywRqfncTT;($cdTsX6q%4p>PcLj0t51)HIdIw1;(Mpl?DPjgVCX z^BOXl73||5FA9_3D+!5D!tVeF(jeKjo+cgJkKgpXxi?KT; z${dF; zw~MJJdcn|e1huT~+iszHassIYN!3#E)V|IJ&NWU?#SWatd$eJ~IE*_+c{6mWyslRVe+RDdE&Kjrw~HO> z!1~MZ9}E(E0HOSM!v_4jT{DI#*w{_Wv_gLGXrruA#Y)I)^1YOGi5Su%)GDsrCkIIl zh)jg4%gdMaBuS{M6Ya}zS|$069ztEk(3^M;XO_Akv;p27!SA)Uk@k_Ntb?Te5}a&u z0zo!Bg4-Ecgn zgOpDteQ5ur(-%5!r)oavR1_Dm+Z*sf)yT zBI22d2k~jJclrfnhon}j29GObh{U51k3<|eBk_KuhEY>0V$s0o>q-G%E}z1}4)N>O zQY;0f3ETBOSpkH$iR_5S`c39xUvU`m@*Vq)+ z3ubuq<8udz7T#~|in_&567PH8nC*~)C$~#4IA?zzP4$hNDU5nzV5v3A7@mX+wAip<2F}= zM_z5Dr(Wp%^3Jn=^1Ronu%1WTg4n-w3T7Id3;O`A>4w)gMeUhlIVjr@@GUkU`Cgz7 z;DR;Ho#p{O6(6>1A$x{>feoppQs)#0?;M%m_5bTu>RKiIZV$%=|<2gxy}c!F9W}48Kh|{cA22bSq4rez3c60$?h+s{|;>! z2AWE_&NMugleP?UAn?;2Dp;kb)IrtJ$ZH?T%kS0s8}&)BZJGz3n`8Y+JO49?+)rQp2>0z)jiZ74~sr2@%k5v97x1JSL1o;lEF2gXX60%24 zIr0;H-zb4x(84BGV>J5|PY0;kC7WpY16#83J1*Qql{~Av+D6|`0CtdC&V>Tr)F=l; zNv-e%{%*W`XFuDe@Q1znr~cl3X?>%OO6j&ou*42x%II*aZWQ#ia3$h;HZq*LfJ^_c z@l+!IBXK3*>Wc7Pgx2xHX)}Z+8q2R*GE5mK%ujR`_u*VZ_5In>0zPtzxsCdF)Kf+2 zTi+`#(`otVECTo@8y#gjOK+Klir;AbcFFFB^sOaZ>FLh{%_fPr7bvl+npY9Zo|g`$HY~z(zlw>6X$!G_0ei<~nCw zCC`vk{;N8^?NiL7q}915?Ci;~ok(Vrfp{v3W%oHE4Ri*4k==5xBfdI+Zq0M{wOgs= z?Y4o!^3F*j&CH5?3er*wPzl&S2i{s^VGo+Aqgq7z*CLrDfI zsRfjy+x2hZ${I5N)JI@b!JYI(NduvjwtFab_o}E)^28^CcskZ(7m_;WIuox(hY`I= zfA(WjVq=BrP-6}_Cl8J6>qi74PnTi;d3pf8Q4wPJzq=nAp$KG1^HB-RKqL4iIoJg+ zw(=&N{{-USPr(O!O2q#_4=?`vc{Jvz24ag|!F%5?0fzYsaC5?fa@L0PEwKggfQ?XA zzrj~b1-1%Vh9?>c;s^AREpaL}@ev_${_Y0Q>K}kk&>R4A2xxHN=l8)%g-Vl|iIeVG zJfpz=FFZ0*%VPq`fu5E)b)W9Lv&fUe8BideXNcbC`mb%Z3z^N;Y)kYeE~L_`EQkx;1%E!bz7nFEVK={D(d{1;EBITq`doGkA9A%0 z{xIL?#ua7uguuMj@n* zVXF;(B5iT+b_YtC853$n3DhzUc^l{%G^@mWtyeG!<)MUgDS^v;cdwI^KKcv z2p)FedAOQ>MIF6_6C}^CJz2R>us~T7P-P%)#QkhiP8F0zK5EK28& za`g1iqZe_Mn|3DX=@~(}GYsk6yJG5JNvdn2o}L++8(6#GPWok%-hYoiWDos72=4sZ z5YPQpd?V3>JHs3FbdCb)e}|;wsP0RHg@2?1^PYdaBCs}e@9d&;!b2S&!Jg52_MFh# z{E?8@v5Ngjh(suySkvHIn@SncJQqtS`+*R+9q6Wk%a zZyBZVm2}OR#-z5Vh(j7IH-jRk_}`Vo5=BoUqa-$Z6!c`QZi+;*qRlr#BhGm? z5J(OR+@8hdi5b!OVytW>8(bY&a}e(YRexfhEvP;KP6wA%amrj_ewfRTc_)nGSC$9W z`E}<@UyC~%ZB=6Lkx07B!Ncc5jz5@Y9+gY7wQvn&Ksl=tS78 z^+^~9T=#fUf+)voEtmF0N*cI7o}pfuSWLe%;QEJm2`H!pZkd7ngWD$lFNI7o2r@;I zRtuS85M+vKQwkeeGaEEnI#-D=fZ=x!&laLk>quP656H7XGbsv-XM@j7`o&%rxF-|7 zy$4(ocrsC}!K8A6!iAi@EC@6;tf+r;Y!4%smF6G~Eoi z^|zSK{A5^t|3}yh;2><~TW^X(iKPbgKs={#GlNB@&zcln5}HbFA?e^h z?$xg1K5H7Ky|)22niTYu1zjuXH8QkzH82h#g~fm10wE8l;XlE@?sxeIinE%2$Lg?4 z;fb^wZIb@B4D<|i`p8?WihH;aw_jfoJOmK$-Dj}7lk_)=r<#!7L+cxmp3d&WckrU_ z46v%1qOUCrpIi20F|m0yrwq^W-wK*$RyR%ifp{XHjWozcv%kjdX7m|aGQ;WVf7XX| zDd@JC7oxkhXFxS1;FMrTC{hV8A$@0X{*&`Jz35AkX4nINWJ(I_zEaL#Mrxv%y6djg z^GHn-Q=h#n^=qVR#MI45jiPd}?nDn^l*F{PBn>+l#eZO-)C<{WK`M@UWPJ|CJP~89 z!WD~48T%q65jW1h$o?0k6cqngJWo8e`BmS~F6i*LLjIjLN*idV)jPE>u*-Gio7!o? z&eg1dwKB;1fHL|gL~Svl6@L$$J4Nb^TH7E`znZQ`aVlQZO*hg9Q`sp;#vlP z8zt@Xd-YY_Z@z)2uY#>H=sm+b%5>JR+iw)E3Apmt=#ntsoY#|JRUsXry6YD(@5UB? zDx~fIRG{iVMQ?m6$Z#oeDRD*Oio&JBm53_|S1c|Ku1s86^~gc>MR7nCok0AE#j$I2 z#5UDaNBryJ;8QPiMGCtbUc0557uY@QddO8Z7We_{$qbU!`Par2(~~pPWjI~<@A5jA z!9$p=Cs7t$x7v#3XE4xOV>aO2v)r8Bh?Uu&nz)OthqbcA`G0J{`mmbhwBSxo z)SaC0gkr$;t_R;EXuSdG+yMg%+KKcLp`J*-1FpY%LTbQY_P|;uXdJ=?u(NM={>k{2 zF}TpsNln`3>UbM#N5&!TcBBct!UPpPrNmrlmg%GQ+KmMzB&=N#t*sV-u0$O-eJg_)Su#Cw#@B6q<#&ynRgVP z>3>Ttt0LZbq}4AA`O25E)6vuAyv8fr=eL)NN17%G_GkQn?4aN;Qo&Dz6iv?Oc>QZ% z7P2V`|CpP+hqJ8gy&ehdy)MN(OJVam{A%-JHx<)vhCe$dm$CRS=(@OhLD#%YeV09V zGr!^HdNb1y_f2R;nnfal|7GI}zpmmiyLB5h*$W2k4A z1}Dzc2HScwto=RobNL^2qBgbj^!{~$x4zz3YoI4*nEeS>qyP6u7W6N|csw{9VD-(J ze_CD^rmKK+)+cFbP5O$?&J+Kc!k2{^n!NRWX2#gKT9RGybRT|OaIZka`~fx6 zmz4%;QwLo&EuN7^8WFAZ*F#ku&59a13_7}2x?tu z4IxA=wr=edm$m`y^agyMp|zVbGXzkpwVgtO8WP;Q&D6TpPPNtswTsr;3EIx1MMmlZ zEmS5fng}Z2_qhoXTH9x4zP~@dfBbm8F1h#IbIs`nEd_rx}uJDMb8Y!ctgk6 zAGA{?lxlzb=X}~3hq%3R1%218SF&lPqf(`8)yCJ~!ji)~Q5+XbC-hf`B9I5F4Ug!$zomx;WS&ige zT(PGDz7A1?JV1YH_^BVLY%2L4Xg#l!LGIG@5N13*zQncS>i2Wsg9cnoV~6oAs__R< zM;_UnM_{8#C1Q10KD#wDb$08_`NbgeWI;3{FJ3?b>7ej8=7(Z|h|A_gZJ&vRxZc<1JGWd-TSWSgOLFqMYk87>PkVOG z2JM4R^VPr-L|7M4G4r?`fD=Zegp9`Ib33)7)1g--Mg8Lwb&i5B08x8o(t-BoqLjw23kvLhXhw8B|Eh-kll?yP16@`)`mMRsA(aWxOWy;bu|!J zdvCkGWJdbHIzK(T6O`}>{bp^}50bUb_3y(Ut(JSI<$Z10RawrBdhk&M=%w$E!2MPD z9g|w@pz1YUHKvDh&_7v;PHvfnI37Za+&UL4^|d}JxcktShun`%BT$f-OJI$FwIoG~ zGqAX7X(JC8z1UiYbK62E(Xe^6k?x3NWH=AAW|?&kkzXZcI>ol&Lg){qP>CY*ltwCE zWIbvu1Q&@)PHF_-9DX7oGlJ&hq{UQ{vN5S}UiR>MDvns=&d*lVv-Y`qLG?nt&|t{nuef<#ddABphF`NTde1CGS)W~@;o0~PBwEb{TYe50;xpOYDe7m zY3|?c_Im%O9M-;IYCA6SN8rjNj=37JZv7r%WgRD}lA8sU!Hof5Kr(VxZdZq>d{}8) zh5TIh!%h+bmP($5bX6)Mdm5-@Jw}4~H6*gi4Cj91Cv9w)45#Gn*%O>|Kv6yq%ALer zW}%yQOhDsYU8Rk6(!l!D%F_}dPWlYa*fg%nG+=y5{~Q?7xW9cSKO6S9&nTJU04CcB zz8@!d>t>`|5Pgqu^&ieY3C}Jn(2e84b351|?TC|}%>GNg2(-3Fl9g?($9}PuvCFQd zub7{`re4y7l{gg^0Y3(;Bh=)Us|(i2UH03P_U6ub^(wXQMcw=#Ba-DV>uq34jLaqJ zlR%>s@uSP<=1}o-A1KiUTfl!SSfK;|Ei}OLP)-P>HKCR*SEnBWM2&!`lv018ms<9; z&p658|4dl2AgX(+%tEJAuH^E+VwDwI?`scuC#hZhjtu@$S?djV^-VHbLn;MUK~aQW zY&k~8D^#hk(gtG0{swt%-vqHOlsgSi-58C~AWKa)@iKZ2bOlc8$hz%J(TA+Vn zaZsZza*7D2DLD`0rc#L@!66a77xFXiyeA62mmhMT$GHlcb)h0e1%EzU@7x3a`u)xg z(19Z30=|blH+v%DFwFoxaHLJn%Ji2dGU)fR;DS)ND#wRl)UX=8Lq^96%dHt{+u=jj zstv9WYwF|w{#oi1y z^`y;YUIlcF52(z3vq5B6*y0e?+orYD2ic_^8fi{;X?N*vu^qg~Yw63xcvIT_U%Lf1 zK=S#pqBDh}UV(l;G-E9KvCiu66DVO@MR<00ob#Qc-o3>Cf)hIuQx* zhWkC7i7K?v_v##7wx|7p2BB5vT6>GN4uS2}4fkeP-}hZl-X(WEc`J1UchjMXJMC7& z-cT!3Gylg(;OzakymKD&y@{Ximo{gMfjy^8z)WyZ`X&K80}$9uzgb`Vy@ZtkkE9k` zcDUmdc*o0~-+~8Djs0)@dhrN20iM}r?UT-Bz@o>Iu2O;5T1h44A|ka2HZM`|3!Ve) z^5PKS8}MXymh&%#7vEct2;Owt5n6zYu@}AfvNp|$y-pscKZ%Ixx%vi4Ah;rAO(0gK zmFWr|i%#-0oPk!l4NZPzNCq56@)iyhkD`jd!X;r&kSGGrn0w)blWaf6&kAyJu; zR;BH!&zP_?`!M2z6O5O3jF*x~@D}ac4KjNi;sDpwlT}zFo1gs>R)+C)Vtc@~^xqc% zlb*i|=9qsKbKV0lbe38;nMEU-o1l4kLw3xj>Jyiy9IcA;axfW|Fa29qY&ra z**6JBb;9@FpRX|XoW1+ozc@rNf;~^Gfm>Kt{?^Rj9U?2t11FE;$Xsk?c17iGHn z=Z@14=Fgc%WG!sbvwM#foqE= zu%Y1TAM0hIQzJA`qgETH8-#hn{7>^fHT1X}`rz9)FMRKlI6=OFsCmTl{$wBVL&obZ zOc%np!6cMXg)+9G46>uWg^1Ilg4Ovm^vOk^01HRwU&{Z+6SsA)eub;&#~H9hC3jnY zY%>xY)IyGpsnHh=ut3c>yu`t*_^q3|!pWFzcOefFs8 zy!BXVSHebby=QW&`nmNuVHM#2)Kv8g-xqDo^SB@F-3nd*@$kZuwKol?^sR*&&uA4r zafk6e@ca{S>Pvsx13xIL0>yjDpmH9ER-jU^g|ttbS8kxLr57g_)nH6UgAV!)kx5BF zyTF1sNa0`mD~S%PR6> zi!!gTQ6KeOPKzx%iue;m&M$L4byJ0QHbGO-`&}wxRgm23qO9x3g0ngo#2)ip4pA2! z^XwUQrG-kqgm&V@I+sK)ODZDmBr=S%E$UJ_`8y|*eB61OzyB8Zr=X8g=aW|v`taLA zxdm37;4i*ry5Ldmm88#js8=Vk{1NhInMJZGdqxTejSWarsA{?EA3Z~VfW~{$QYYvr z38j`=-tN%Q_sxht0c}jY|Eeb!))2Y8W!N0&q?ru%dMZ|AUak{YEr2}-m2$rmzQ33} zPHd&(qrM>D?8i5%j0K<@8F1wa-h=kUtXybLq+~#cA_^K5DUT`PZ+86~&`*%NHuWro zHB0qg=mBMvV8#eHwiuz80BPgo5q~;CZIruSL5`@5ceI^ngfVm{2kbDA(B1rWwj!Y-1lrZiU4)*J2Gb) zjEJOMy9j<@X|>2B&Y0G{@&|R1=-OA$TeHu=D-JW-?LO+2SEtc2pLh&0qS%#~=_@hM z)k{`_L$VUwla-!Hith?mLK?Y!$wj0t&ill(gr1}ye(-|lBg7ApyN>q|jo)(U>(UlP zIvF1{nzVf{Vk(gsFk8o$=ve&L;#Y`YD}F`zt;Vm|G6^T9qdi;U9ZBw*(|f^VLM(f) zCbHZ$s~7sty#h{|Om%*?`oj02u8&0fMLR{Wi)uyHqE|%aq8CN~Em|VV7A1;CiK0Y8 z@h#Cc(N)nEQKRS^(J4_qb(lIw{gskiiOhb=ZjamTnb<;VD(Lwd{EOTukuxj%6~}Sx zv6LG9A7|h)qgZ(QG8kmeLmhMw%f~#CyW}?voV*u8S;Jf03X&uKErT3>(CHwd^BVLL zF;jTm+2371Rpj>Oui)Jo6p z;2@tkdnDpzt>CPrO~zQX)6dcRV>7hSCX>4?9(yx^)7l>B+WctJC-YD%2h^4Xv)A@K zbK5-wyZp3n)ozmOd3Zw=f;xNAGn~)&-}vfg8!&|q;-7!pBm1-bFEW=0^x(8^5&z9% ze8b|K$33^2-F<+%h;=xlm4DQbGc105G4ODbGqApIcXeWQGTH4l<0IecT*AJ_(f2z0Y znKn~kFt^6I5;07m8|0z{q0l^MbKWvOm3_Uw#dzF^AQAQPMhSk~>z^{tGQLIh)78&p zx7F+Pv@KLStvhsg8y~Ac<9cruKgNg}%^?jGw zd`V1|mOVEQxG8h(>;nXnS2{LFQ?b7}w@<5bs+Lw!blUWAP404TjrLl@Og^8rZ|jvA z{GFxGenrpU{i$!mm2CcQZC}-uEdFj~-z!(p+L+%&-Q)cF>H_F6f@_u(yYxW&Z;Q5E z9leO~&IrHe^i`^m@NP!83ybAv@6i*`PfCY)sdk3zpeB6!kh~;-nf5pqAqNq9z zzo}5FX~V7sQ-L>vsc%wn-g5<0E4qWJdAMS6-R=sezC17zu>*oB5w1EskHsa!m4-`? ztEn@Xvf+Bx_uGzN+HS|bPr)*MW5t%MQ`bf7MU~-tx>jV1fsZytuNs;gXAOj+TUH^1 z4zUz8FAbXaO7D%r4A4Gl{Hct{dyngv73Jt2TP{4boeN(+ADSqTdbz0NaCkS^37Zb$ z+u#);@og}70r71Rq9nczh&4-r_0__+!Hq()2N0@vO*Y}OpKiz~+6Y>1 z*+Ecc&k1|!>^HO$c)}bKL-Kgsn>=qo%Ri%NDrg+aB`;@^#r0dUUVI($wP))n%JuHe zj3VGM7s+$KR29^yD*fAfwy7Vk8ASyVq(3E10+8>F6&mIX;h5Q$;R6)E#WK9nrv!L*ot-h8U*pOe{SG8ht9#IxYM=u~fod z;)m+C`|M4kSqaIrf#s#M(6Jn!h0|ccZXtAdBsF5_fl8`spa-g<#LxrH-0khX#-%P3 z+Ql(e&J7xz$T1k3MO)XYE)&>oOk_tr?$jGzS;n;Pf4(~fE56`)_+^Kj zsN@e>%MQWc(P`*B5ed<0=sXb_(P?Nr30^qEWxX)9v|m0H3jBk8fI6sgE>}y_=}c;j zPHIHl9K~ENMmH08YDF;YUjEqto{eAL(&Mh?Bb1hQ?|YZXTYB7qq%E3^qO>AxjWQa7760%_zEd1?QysJpQKIuy%Q|cUvpJEpL z0{C#jrKlv1t}6H;(YOwqe$O4`dbp{^kjTG+4m)Th`xJJZ zDf>C>QH#>xeTh!o-o`S|ay!~sfuNV^I?%2!Lar&J+C@cVA6pFx(BHAgk-ZJ{LeWRq zt6sV~q%g8EZRsJT>T}>lM1?Ywyt|lWQ5<$Vl4}^!psA&zQx6(*q7hf&+l~0{Qp?{# zXVM*}OnUN%g}G4yPV5~egyq5?JnL)?%zO!bSmMAdV0&GLXZ2~ z8={yb$S2ADSIE_O{jr^}vncF!3q6wxi6?NJUHJ65J72_^s4s0Y-YtT!GE(C7oh3$* zElM}3@b~cLFEV@F%A5D)dk{N9*LTYxs_81M(GLCg09SVT{_eNi_VK&;fAuC`-oxK< zy`wMh=I;u6V=fD;Rr>3fiD&d1z}-9JJ9K9*&SseZkV($i`#PULr&oG;JAbF|WiQi^ zxZZ#d{U0Ge^|=4W^GZs)Z@fcWZ@Xjr`rNY)S`ibXN<%PdY;T`?BK(2MT5tmXNQ+(QCq|HLwDNh;F9^=#ALz=c-mEY%n zgnxbq&r{l)^5AKZf8K%TwDzrd&gP%(cus0J;Q2oO*@EZT_N}mXoWMV?!?Uv8K&&76 z=L$TBw5#wuiho{?9tqH+KcGiZ2di;XByr`*i4oRvzGuew9N>GF_?}tcv^MLnz z*7w})dnV@?Qr?evo{aLz`^k8|?0Y8Vljrkzo`f~Bv^(!FQ9Pccp;c23DEa%89xvTp z+CA^jeQxcCv>G_^VHp1|8u>;a2m!v-@c1$e&(Q~h_;(82haZ@9HJIAp7EGCOeT3@( zuFd57A(&dYb0jsITrGIt9878P`w*@`T+sDO#yU^2jf)iUR+HRY4_kA{Oa;-HRjDKu z+GLbB)d?zv$iWDu;`D?!B|*aUsgdZGerY@djloVtEQ&Wg?1?u)s!}BOnPc0;@*QpO2u4EV4Z6i8 z@T)TwHRZI`(-WVEbfCW$uMQDxv5djya!`yxm5QoB%Meg>R@3b3Hudbzr{>M>w8zZ8 z{@Xc!L)0!@&qyrz|1_>*@WIToDtRS*9oYkF&lwf=xt_Sb6fyT}3JRb9>UeQytTichv(o54z0>)AA+q%+}8{8}a?qI#Rz}mjk#J%Ne_-^>YoQ3)5u*hKxmEhgO@Vral1j9XdS# zJp9t`KkoKgf{}4s3wVlocnT{;Rjfr|p4&LP^H$D7*GGo}ZY8*u(a>RKETG3~zcq>o zyj16mVgkP=9&U94K<&80rXS0XEWskW2L3;&P;O-}{gn24W2UKBz83e{S=aZ|CiETs znKYyI#EjXkznKV6WaF(mee36X(vK*eUI$pDf*X;eX+5HO$io&1bOa}y^$g-kgKk0} z4%AC|TQw@&<@jjTFzQWQgcnbN_wI)M zzgOSG?GA-M0mb`NYz5+lF!_vuSiGgwM=Yfh8Q$Ve+t_d2wgetvz1D5pjTYmAsH(j1 z7u8&Bp`eY*QoW!yd$v6Wh!!RXi*V)Efnw7XOzaSC*F4CJTXh^iaY z7aNlw`+@*5J?NMQdYeHFO9U#bz@RuBx)d1R;4G@p2At1yv2>L|RjTIx-a`Dv+u)M` z-w6KEat09u&mhXm=)1HDoa`6+l31sjqZm3yp!=%jwFDX#kDs^1aT5r+FHCdzR^;aS3KSI{ww+{<7&MKzVF_4)apNi&zfOh z2R|rDyI21Q-54TI51=#VfpaK<&bLNjh!R3J3U5VIJL-v_7*X3Rq6JENviNJ^gCsva z8Th^^C#t93b-4JAk(34(i8BzV3e;Z*9YCZXtMgdIYJW2CI{exSA@$()A||OJ6tV4i zyZIOuYzh0^`(RaHe3)3NAkG9lA`~B1><{~bGKzATHXTFk0R?SLs0LJ!H^MgM`1*CP z|Lvn39iI&!0O8zb?i{yD`xr+wnz62mf(?@#t6)X3ja#r6_M(&XxkZ%Pu+1=^DlkN{ z-QOfY-a<6Q@2THmBv>PNs!QYZ`;te$z>j#A+8N7-Cf9sxvLFOYYo7fv$6*ObQ6YyIa3oPHr4aeFzzMiabOarlGPH3FZWw}&>`39`4 zz7?&m({B3dI(yNmEN((H-aPJD*XP=cd6L*;T_FNh{u`)K!hZaXp|D?z&U1LWixqD) zcys3$YN6AWpMR;Pzjira`((cMiRbT@SCubD>EbzW8jf{^3YzlNhEw=j?RqgwZSeMB zh_k<3+mZ!GQRcK^Yb8tza1Q~g?BTA)A82AyrPeoQw`tHlEN{Vy z>h|-#@f+KFXQcCYFTM-D4F46_eBvub?k{D1eWfpr_NVQw-|5?1G*|};unsU>F!&z@ z2Ewtr$ALM|od}OHoZ$rj|7!66;A#-na|cK6tOmjU)H|zz*q=sL1Mk{T!D`86q7yan z+Em6J=?D-~W6nB`8Xsu{Ph<2^qc}dPDS~Fdq0=tr^+8KvpNUEuis%Y!5J5s56i_e6 zT3FZln&}Jp$fw{nMdM%=lDiNtwY z!)1##u0>^}eFDBbP1o$Q9DXm#8MGH&F1y=`OL`ECb^lJQCF&i#ZuouO^IGp#&hx)m z&W@J5<$w4W^FP_L&9@tQp{#LjG!5*>I@8_C`{nvenh2#O)BUbBIIE2NU8^9=rafx3 zI(A&6vb>`pz%C#z8%Y;`y$xF9u?=46eLkqx5ARy*Z-22D+l+VMCsAF@1Fr}pPIakK z*ZZdE0XTKZw1%6G(W)6#->Y}6Z}KnJ_lKsR<4bJ5IEG*f!56ZFs|~OOOWS7bOS+i% za=mxQU&HCeLwtDrh7XUo4Z!1VMnfU-glWhZt77xF4#2z(E#6sC+WqOSJ0q4Y?w=J$ ze5D;8P+I@2Ah5ZE!D8T+v-#)kKRh7qPCMqc{5)qY<{80OGSj@XtS_mwyJXiJ&7^?#}Y%e0)Go*REC{ROb70&foo@@9UZVG-mhB zX3Bq#(ekme17>>9G52*h{ZL?(;?yF&%cP!5>SIRti zN||RuOvN2-O^6wgB{-&JlG(E?;vx_^K=E{(Tlo0zwa+5feG+sH5+v`7opiFafk_rN z3X+BOj0*NCxM*A%-A(_b9I}J7s(3o_(iMPH#Fu?cf&kiMQunjN%C?4&FrJK_-a(FtEd%Z5gb$kfB4L}{aFvOGtU zNlyHftCWJz9rQ2Uail{;i*mvpYczx3P>$y6k(3ix@qP+tg}SafwysMfh}Ge4SY4Ni zRpO2sinLHXDPnc$x&)mdG4|o`=wD)LeVF*-=O4byvD?jMk zODA}rnI<|p*eT_`k znp-5Q%PlID6W|c4M5=$Zuqt@GbD*u=k|(L|HA~*OCdq&O+M2w5J>{JwPBhY=pC^5z z!zBFcHA!h0^vUN(Az$%KDT(pC=h_;i$@C9Iz22c=!BcL1WGIO-`!-|@s@$MD)X` zq%R@yhUO3;51ol_Nx_b5l04En((W}&NE>HLcc6`Ed4ac`q)nuS@AXu4(MhDmq-`XY zCuu2Z4{0Z9KU$ft8XM+F)ElGdMA9CbZx87W-*UCTgWDATwXj~qlM)|(LY-#{J{@P z7B!04xm@s!$ILm`_e#zU-2#uGcq~K3ktn=PRA_os)uZTOnZHK z4i$%-bJ+V-H1Vf*?l#Fme0yB4|NT$i#q`~I_q^}j*pbkK#&`dPchv8|zr%OJYkiNv z57h)6_^{;N6Z|_;=C%3{+9ls|GmSH-IO7AxoCO|Qu>jov1s=w*t%F7E7_?*>tVrHr z?`QA(ol6Lb+KN6%O&>sSPabG*S+}Qs)}c&5K%`1&7q266DnDpHzV5~L2Vc(oaj2YY zfBR()HQd+!{fZCTKVN~|khuzr=E6EJqkGTQ%pW80Wgp^HddpbbF19Daqr&0#6ZQy5 zZvkr?WDe6voU9MpudX0ged2b}$+g5;P zIn@0&+Cf_PO1t=EO1tdj;r1_2Mxo@ycBu`VPm~X-Ml=ai5dBp6pRsu|sn zqlR$4hQ8b0a@L@i3GK3VhtbP$lmiH(4A<=s+E3U>4r#mi(A*y*@vX-H?RU3LDdgQx zzr_elEA4)Gx7S+7Q$cWt=r286JCb_kT3=r!u4-IXTqayAan<75ii_yM6FI@bJrzX{ z6khOXzMzuREjM*zAa{Aa0(dtitg1ve4%(L~Q%ZDcmN7LsMx}nd1>O*oK5=BEkA?sK zH5FrFy8|z3&~{l-G1dmJNU%klfD)EfsM13$A$S|bzb!z{5NP^_fqM*lwd9GGROHI7 zNVT0Y2Jv2U9;iTUnB;pMk1!jsBH!HE{cBXp&d2fu&e00z_S*>gePkJLB4077oiE#`R-au)P8DTus-Za_p@0FT%Fc@Zws7bMg6q@0Y#O&D?LnX~{o>s2c>KcM=ikhe`)m)G*Ko?SDHo}@O zYP*t2lj|OjF7Fl7N7^nfTNK$9&UECLG2>SvWn0_jXP7oEvt2pFOefKit~Un#e~5HWHiiGvYmk<%(m zNo0(rNE>Zg78z>^v=7%uu2;jaMfFw|Qgs%x_fSZoG+igkhT2BfNH>K-zmk^6*lc=r z&3|ca;Ucr3jh03rZmY^Bs64N?g)`<*>qGi5eWXoX9i@j{KoV<{R0ivmBUp2^ZJ5;- zE?Y0G%GQTMvJj!CD%FU-+!r+68QQ&dwyypV^nVV)a<8uQ`SKUJvl>thSi8qN`_qqf z&ME6p4?xR^%^LhTWDreStTY+Wo`UpQA~=p;;tP-HG6~DGy4NftKGaw%Y{oOPx+TkW z_!V%tD-alDRyFQS^VJ4;2L;Ck_uxj-cA{MuSC-7T?-9Oz^Ze~Q(s{`<G1KK}p zK>Htj$u}l}0$Ap<85*>l5e$djBB33I+etsN42=IBjdzUyodoYhRslz3?X>G2leZ`0 zJN;TF@WKFn@xuUpAu#av*EFB>m-HtN{Sh?zQnS3N?09(xD-Y;k1K4zUjIgs4*$M18 zHk}2nEx~Rr>tJQl4pz#-CQNK+)7W$|Pd`~7PI)mUFchEQE1ke)^xcX?BUcR?9CMlMz;xgANLhuG;J&e$kJ3E^#DJutmMsyPNb~|8ZxK zJtaNJau0fV4|;fLXR19RJ=HQ1&lB#2SoE_z)Aq=h;JounFIpNeJSP}SqW}j!M?%I0BG)K zkn=Pv$blCu?+p0qN(0}~h^I~P#aqi~S4fTC8H^H9r*8(MKHm&ReRpQ?2beoOBbUhxiz71(W&36rO7_n%lZ(+4jXo;|Ejh`AXg|9KvNwAdO^Q9w+LtL*)>~D0Ak#b2` z$_3p;$1ro*am2>J!E}utWO7!Qro5Np-N$Jw56$D~6fP6rG&eHEEULgj6Z1 zT&oyfwU!c8N%X@uN9aWsda4?}B-zQcTUSd?Dg!K%w$HF<9f99hGd09qP6e7{8P@FG zcNmMD-*=9bkr+F$k~Yzp1w^xjP1d-|DzZEK1XDHGnOr3mxgKdMo*AWvO42}YJJ%C2 z;JK(`sGYpc^$1eEIr1yuhgo6&UP{3`ib4io>UQNx%wcl3uT3$V>O8+Hn%&yQXaHME z)6u(1&gEi+Dc93wrpDdxDQzl4{Uk`lsD!Xv9ku&=i z*<4R-aX{N@_@svINhe!DtZag*eYA=(Gn6CHhBLM^m|BBtJgz-|3#M3Hu=2_Hyh}VB z?N*`PhJ}CvTC9L}5;PP|z@C6q(1h^ceymLth}OZIJb8K#@?fg7xFWinn!T+}kcoaM z;0LvWyv^kIl_&G z-b|F%C1DmClsqgimTSA$JfnoJ6q{1OX}cxQU?!%J9l5{|&rR<(JsNMI?~Cs?O{d1h z8#G<-nP%xIo4_8=DRq>2IH-kt>MwZCPW9|#ZT&q{WO@5Z`ltFA`uAn|;QqPFz5OFP zse-b2?oR#78t+zn?*CQodw)`UdOQX_zC6X-V@g5B(%a*o z_I3nEaP+ZAjOUzz24|-TAwUk^Y&H+3|Ko z`O-O<8KCoo17~5_Y`XKIis%73ODklYFDHc=^0VB@72yMNFaBS02UU>SsbtCg%Nuc3r-;`0@qM(#e=XA-8TVCgX_GQiZl~eimhE=WBrJx=;i0M3RFD zRSbh&D8;)6J&L;$q|pq{zetk^N(^NGp+f5}r2nt`mi}+{&CpEN3bImQ1-$pp3h13RKVAKPX}&yOM&?U0!4ie0!&v5D z{q80G6WTC(LhtCsr~WHr2P!_Lh#xyp0sPn%`Nr-BPi_9|W0%m(Y|?>dpz6rFP}*Ji z?gh`66aVwIF!1cam2f&NzQ{UHG|B(5GoG7rB^PzY)!lNJ+yV_!*9m<&4KoERxz?p% z{A;*Ng~(E*UnW6;A?gZXBnGxdt-$)v(7;x#|17h@aJM~S3hMgWi5(%Il-hB*zrHNK zzKQ<&zd>ZWxVn8UUW$&#bkINpFnv%P);9N-GmoPsqvJ*P22eIb_~dq=F5}lZ&MZ&FHV>2_<@!x|P;GwU)3YS~nr5O8PDOuIi`r+%@ zwEIQ`R1Vt^xIWY@s6OQ}fF~ie5v~O2ysj%ISf$nqwlMlwcoH53Uz=iS=%x&Pdqlt% z*g!!0d8jpB&qhECZ4-R9wFzbL+P6NbiB2BoRB=@IR?VJkrYExD7a-7?>VIC~6eNq_ zGX#u0Uyh|t%1TaWY#KS6(UZVw5s`Bo+rhHr#70$8t}TcP$p-a*ajJd|VxF%tPzg&L z9^^(5t3YruK)W{4n}`JFN&TwU_F}5-AH~HwoJFWfoCciTNrt^G{ofS~_zqlwyL^YU z1*PJ@QyDh-zZ+N|sJy#;hn0*<<-bccto46a*V$yc)6&y-{Ze5dP$4Znf!}9aBzmb? zV(~^%mb$*_5#huVRVT4aA!S)iVzFMu(i)!b6{{un+BECUthwkD*?Y)IwaWb5O1~$+;Y7ImARc>^;R1?t=GBhm*FC!=f6%VKE7Q%3Zka{+oleb`n~Py$7wm zbOUxAKY`DXLGW>0A4=ee5!raSA3_^^z54uMf6A+{KSFc?o{A%<8iqfi!#Bd9em4y` zoql}%Rez73@s}*{m2C5u+;gKI_T_hA_wk@IPWa21bC~eU3E!OX&)47@_|=XHQ9tWjTMjT&aji5P+qYeKt& z3RwS~US7$jsYV1=$u@>o4mFFwH?QC5hPF020NNfS{2tY}P*3$3? zLz_p32iA()SoyG8Ru^Cuw^6cWtWM$17>@4Vs@;dxX(?7Gg>#($8Q$AXf@CpSpA`Lh zDA#opWn=HnIH(Pu z`rCk2Q*pOeVBJ*3;Rajuf#j3ojWPlUDaTg(f|*4ysLj}zdr?UwtnM{1uvpv{Y+OYon;E#s_jX=f@6fzv}a5Z+o6YduAeD9%-8t_q6Zci2G9h{-*m@pVWS@ z@7|63WxhO*BG0G3^fshBT8JcMPvI=Ht|oS~S0*yrCTJ5$5^8MWV!upelufUH88Q)p8Idmb z425(o-Y#E1M1Lk+YLQsjG^L$2t8D?6VfL59h34TlS>-$}Z3#zis*;yG1X8ZGCL$R@ zWGmAUE6$<`fi+KY<+%^F(t$BXm4B{YGgi}ei$wB!>D`ozXPME29>wmSKg2<7d(4LLoO8cVJ^-@fy3dW zja5Ag3w3fbf}H3_$cI#AT1ZS%h-8RB4Ln^QYJ{JQRZWGMdu3D&IVq8~EZi=`O0wn| znE`P`Ql94dXpm{Aq;Z+ulDwx4+HTXlGy`pmteHQjU%JBZ(jjdb1s?*CuK<2FAN)4( z@RN-G_u+T6Y#@$Z1Si0YV^8_vw|~^X1HW_qok`)RpBwm0vn@CAsI9h#htmffZ7x(YO z@zFv3{-Ym`OPm)x&xT>PM#W;L%JoBPPUglSYGVq|<-BC@a`}$6i32hF2k~%?JeLN1 z49GMo*Ry^eM#A_ZHR3HN2pqvrn(Ijc4l)ekF%iB}iJ?p@*y4TH&ufzLP%Po0ILrq{ zxlObsyoSJN&9YE~FF)YN^QHjH5+2S3g4p#^X?wD*W)6WDQh2EtZD%L&)XGFQorX+o zupErF$RP8QK^DNK%ONH6NyhwgF$yV^PcA0KJyuoxmskQI0SW-`^09YAAtO`qyK5+R z*O&n^vIxjk#$$I~`k_i6ZMlg!h|%_EdAZHh!IC2Hy5y7Gpr_z&gkmKcZX>-)Htf41 z^uvkq@#I+W zIk+6YSq=sA{#h<>_LlT#e4XjLzYq6zU#XjLpUn5ri~YlEh-8Y4%boQ`K`z zQTR&fyZ=4zYkj3DaL@Ygi*dixm!}Z-EA>gfr(3lxL{kHd9c+34aoH}p1^MCfejW72%KTCh%qp#8W0-UsNx~KQvc5mYIX@8dQ zp^wfXj^jdSuw4SUP<1sV#zIdJBA?!L-@~8RyqY)nxwCfNc3(e0be6~&tp7Ylj{;{0 z6jkhqp=Lr)4JUdb(A4>(`^?*vdRV1W9|apG#?-GD%sMf!q+!S;xm zq+Y9WIkaTDZv@%NnL0fGSc_LayrU4Fh>T1sGp@`19N!)T{LuWN`;&KXxqtIk*{=8?Uo*FgYN{q}2{FR2XBxdr$c=!a^rz8GChg#xTf>!)i}CB4L%4tY5%=fxDU9NhRIE(nG60 zao81`C^{vymhBL+q8_#*1ko|uR?>var5sjeQj}36s%oi!Q1?be(x51zMN^<1X{n<| z*x#k1tJhM;!s9IIk!qfj3}HrXSfq`&gxN<|sy0ThkE#mx$vXv*#1fjaplqmJWsTmV z45vXwiY4kT!TMO6tm+7;$RXyT`WRc#dRusac^GKPk@o+I5N#aFQ31Z%^|3HWyMcxegYICsW}}rGs&=*LySys%@g=Or@=S! z1y9_6Q1hP$^_lxw&2RA372*h^_E6L=NS+G+F+Z(cjM`tn_uudLUhCau zz5An|3 zRJ;fhXbr5H1g=s6(YK#yKi(w{zTkOyG_Gb?rt2nJ1qPCfe5o?d^TeoTx1M>CYAY8M zy**W|K0 zyXIgj9cSg#1JEI&Tn`c|X&KJUsgk>%ZoFrkV(f1Hy}r?Vr`OxiYjDaDeK)2&604SJ z)c@9J!>9`$!DMWHgS>`{b5NdmwfuE!E3B}M4h35xAVG*Ff z0t%6wrt9M}0s)ME+^>!N;yCChT<(Vg`)@+wZCK>q8TnIX14mwTS16Du5MJ2OJZ$9t z(}oucY9FmkeDZmr;D;M1Wgc#T1A!YkkrAr$B2VEg28Gknqr@y&j9F0H{rN7bzovns z@Jo2;9R(pzYYGSlC-sA7FV~se6Dn)~X8we}-OG;#X~7=s#*6E2L!RpW7JcC9H{VG5 zC{aQcFEd0SQdR#LR(iacd7Ay5V;po>7zg@Oy<v024kE>PLccwr(PNEAnOq>6>$2Q?QNHy33bHV%Udrl+W`$_#B(Dn8uMfh*%8U! zYxYsmJQndI;Kw42fp_-#qy_$&)ayRg=Y{YKmxqI{QF6al*8~2#{?6kcS%-VwJAEZs zF86;s9PMP#w*EF|_`kc)hc&(Ksy>1>Mn4|E3Jt-%D1kV1X+e6 z9!D0}^}-HhSzo@o%p50^1Xmc&`Zqu#xEQaCEdzVlZl+q(HMu;BTf{|1imUC=-Day-Q?EltDywE|-=zX7Q*|sfw*xJL z5ks((%QyTM(GP=g0+z0amm!`zY1eyWf{ZH*u#0L&jF8)h=pdP^j2a==2k3^>SoKjG zB#?&+WXNYpY$D#1m9XFybZ^aqR{s;r;7^$e3U(&@Qz+Md)1eMQkQgx*5MA7tk8-7h z#v!x>Pg_i&rxJ-Mge9&nB5jz~pYN-B+KTl?K_v*Ve~Zf6a>`o2d;ZO~@18%CtLJ5- zyd7C;RLzwcQcez9!K*_VoEzFrEuLh2qNn0EI4xB?uX|~)fy-^BgvEm4~xyQq=za$BK=)=916Dp3us6ID%fAKVqm(|BK+ zUi5np3Faw0Z)vMg!l@R53E_?)JHZCn<-wv*1n;X$U`a?Iedu1Od{FE-wcEZDU-ki9GTRz<|*}5q8DFiwDsN`Z)<;Oo-`y{jhg~nuP?m|_tRS929-0?SI#Rf@GNZi)eBe=I3cFN z&(elk^Lsd)*)QjcF0q!k#mw)IDl96(_c^;Ex=GKj!elkrc64 zBD?@%vqb#=1nRrouX@J8E(e}(a9`GY33fx0#vR7!7l~yY72D;0p*IyCqEzrq+U2f- zFGOOG2Ym`YeiWr5aRO-l2YaH;DodC9N{`k~>qAuw@_OAlH(^P0Obgle<(!+k$~>Iy zQ;B|oQlE}}NOn^TS|O@#5qv^vyB;kgmbNoutkGK7Y;?L?Zg}5Db0oSMg^Shi(dHT+ zbb|Y{_05hM5<7SS;78nxby`YF9R(k@Pl7wi;#`nA?r0ku0N##DKi4Vy?*#(HtRa>)$J&mi z;}>}&d*btT*=)xQR)^U25{KTCQM(_0TuD!~_68$qNk8YK)9tyTwR!t7j9XOrFl=F@ zmSxc+EQ)-l<5U?+5lAeXb1v$)T&-DGq8o1^Hc}EBv5<;^FFCt@RnstAh)WR!ua>b) z>`1fHMs#^T;_aEHt|l6}yUHZ66Vs%S^mS$A98*%3s~5XogHC^@tN5i{_~xSIV%M}@ ztv%P+>E4J4Q&}EefXYg%r8P|9I!zhz%{oPZ_=2z>ED~2WUKKBtS)yvpS4Ar%wgc@~ z7R`f)GBJFleh$Cwl9EyFl11_G%^Ke>%xSzTTY;~T#v+Zp6XRD{B1DN=JF&+k-y@b^ z5%~(<$V-^3B3x|ABKSiQIzz4wE4mlCNQ%-fu`$Vr+QUf9j6-S{AeySwG6E;i5r}0) zyA&^>pHbTZvnWe2-Vxi`LpYTYU+=&m*H{yQ^&CWph_angHrzF;c8m?tC3~6dH$a^c z3o*M=Y3Xzi=_4@A$k2Lb1Vr25lQ?FW`Dj-iGu%w5^!s-!Z6hr-JOJo+llW_z3_2M& z?pprRSy;X)3+d4WqLQfj#+5`JfH|&6!=_y(Hwc@Y@x%-mIvkWR;t!1}emotXoU5>0wo6RH$WW6`}~$EYd10 zByySD9$=Q(g4YkJ_R>Am=%)i{*DDqDec}#Q zOlSt8MMdZZ+V#@P!PJ7(N;u@1U3svA{Jj!1-5+13ek&nhZ35s)>o@V@L_zsc@zYw_ZDJbV)q{13Vz zv8&+QQ5Ucl+~iExi>tMENv+lRddDQX*RAUD=2qN}w(F4R3|0)Axb)hyyR`Pum~@*J zu|Pk(v9x*Mc>i{FMB%qai9KAege{OHqtcjTR9Di;bBt#lO8aSJY~^v>Md)K|k2oqZ z`il_R-8QMdA+X_6J43)@RMm^^7%c_j zxlG0gDf&-4;fT6`k>g`U)^%=#l?6*NJ&3Z-j~lV-_|`JFs8l&D3nYq=Uv2HpyOdf|M)W&O z+BB3ZNJ?@N%@+cNQ9Kl4>jVCUa^Jd3xueUyIy5FN(V-b)W5kAjZMDCnsC9h~?jTfNf$UQ@0`xbE;wrvN>Kf^*bEzM+&BYJyMX6?Sc*GgvxIA*&(-U|b z+9I&YU=?Ltj(AkP)1%>|E(jWq6>ZLjm;16zz)eMGf~E z=gpdD$h-mcqX2ysfhM5OLle;Fb+SzJVw(eNh_qD$Y3meT>gvZI@L7m{J9%ru+kZ3% z^0g}=H5%NifjCL9k&G|F$a-h6K7@=YS~P{*^KXt^Y4?oXKOMUdOm`o<7gqjnV^?~` zJ6a3N18kqo{NKkapvE^hRZ{pR1ZJrycr&SgI)hYqpA5>U%A} z7@y@A3(K!i`$Fg}5IX>32Nr4Tw+jQ`C5d)DQYPbq>|W>$C1b$rwfM@xSn(EQ!2E^2 z(KO9leubYaJ}Eio3S{K|xdM#l=L*KE(7^rMur}}NhxL)pXH8_L&|SqQg70J&ml-Pl z?Glat5*dExoo&4P*sTTCf_eBW^X|*b6hmgDY2Tio&36Gm-ziup!W$f?6_<98*;VhG z@kct_%TDq=X)S{vD*@@vIzx1Gv;#Bs=`{Pcwu?_kSOdt@GT4fCX3ms3cy1)tX~K=n z%q6RJ{1xx);O7(|K4?w>>inDn)XAKBxS3GdPUC4$xJhM;Dx}m^oCG2IBpLb8?xT~w zc0^h(8AH}*8$Wd{1lR1M@r*KPeNZhA1Is5ke?I4uw9UIeP$bRH1Jk!A%$Y)#} zo+Af58{jPgZ$Lz!u#=PUoivT>*h)kbQ6YkiDwxZ`I+y86HA%U%IFT+=679N3HnU>{ zWTP0NR3ft?6tCDX_d^sYaOoP#A@55zJC%sc`+t~w_qeF4y?=b~xeqhqn5c-O4xol& zHVP^x={OAAYe8w|?bHlt?P2JIc}`(w4q#>3IU!VsizZ4JO-0b`@sdGmWobQ3+Bqst zVWub}IwR-|pv>?6*#n4|=Ukre^T&_ZYuJ0Qz1Qut*7~f^`dk_P>;VBSL%$u`fDhE{ zfIkbgU6nvlOCVL#v5=Ng#2V@a<^a>#=3=cefd}n2h#9mNeL81ngm&~3+7Sw_(q>2} zBXnI`!VEXKYwT3(SZ)zFgNuZWG!n60w^c7Nsfxq-{-z$F6=PuQ_;&nvJGvE-g;ft~ zi4MNUH6mA*(2{79YEe7DOFa9cx_CgK9YdHQAD|t&tUKHBF>F`EZ*K?2rFRyzttW;z z*(ZgYCn7%Yoh?xRuUqi!T`hS3o-OzTwcx>y77RxV!g=cdXzKrX>c6TW00F7#KZC*H z?5;2vh_QJ2o-G)g9nJ^pzjQt@BBSfXL$04UfIl8r)#BX_+o-rIX86RW!P{xPl*JL4 zbB4y+>}W_OFVPuIn61iUI;9x`k_$0nUNMT|1F)QgWg2|K9DR8vR=wDyfWHL=;#;!t z&!K^xZUh5;0%1hw`Q(^ey4nY^M?~m;!94bNf7y_a(VU8iPz=USqAzZr-v*DGq~5oU zXP;t;OU2TzKLL7k0n16Y-EvYPo=%o_4>In@1eq*Z+TCq;9LbO65+HwzG=J9Fdwrny zBPKT0mnktjspo5jo;MBc+H;aZ3o;uq){9wD{FNYuKCb-LcYG-IJjSH>fD?MoP|smM z8ZPjzX;sl$8^IF~o95{C?sNGU3~SKuD_LQ}YP!|y&mol^aa*sC2v(#jrlZGQZACj| zD{Q-Lg>)bRg%OPVdqE~iP*8!VxeESJRQI$M4F}C>e=OXb-U*LQ(7D2F06a=N;W1Kx z$L~@98XkufpbVq_xA0hf7d*!NAHn09{}3L7JK>=d^c3Q%0&{Og(}6OK2-5-iu5#Lr z5$ZZ8#r*vh0SUQ^-_b6eRS6Q-&KcTHb&`ZN)x7O|clhssM0`Br7~m`xQb=dEAX5*V z#R|4MvB&i;E|MkuOqc?^F=1WhrcXljB!heI>jFN|C}|C8x&a@Idm}F$m>DPBAlf5z zVf*8J-&^>451OC4$EieJ50rT7^?tPL=%86F z>^gKZoY-`EvjM#37VpX%e(!}n%3|2xVHJ&sUJ$HvNt0vo2G`legg->ONw-#!MzOxC zQLX_Vgf7S1&pe6MqcTkv){uzS5cUII=YBBHC(~1mgmBoG>X?S^OL*RpgEh3#uJ5uV zk?ds^bYO4a3H}#r=m7>A`80C>{u-Kbt^=dWT4@a#I-lDhe~hc@D~x}8d612ES(CTT zf!NNu_luA6&HlZk+*3k1%m2-C3eHE9JXnBz@5)f{C=ojY(1%7;FGNSc6XA2h<6)gG z-7M7bOkGEf>x34}?X+bDHu)zlUs@;BC`h}hMx6h}Bt`z!_t~J18p)qTr1`1N8qX|< zL}v0Vbei6QX4b8JiuT+qD}!i7bkbq)90H0tM7JtE0bVv{!zYjJwtc!k@_fJYOiP*ws)MC#5HtQGBl3NnhuPt0|h~)96=<7BZv)Cbv2&O z*qS3YHs%QNNA!i(DcS-HYSZ@%Qf0Jxzx{$BmpPUA*S#w>#leu(1w&>>t12MjBu;jl zw-AtkFEat&(OI_tM>y=g4Gu(Q6C_B}r_DR@KZM17cfn#yr)TKfVetcD~VIxw|K6=|7i2Jd?9eE1RkNlsS<26Iyhdsc8-@FJgzqH<}cg(S9^;; zOCE@UcNq9&cL!t~zktg<4cO<&ZNK;o3=^fQ`NbEnFEGkacW|73#20Pesrzv*(h#@y z$9AZ7@N28CJ`IlPzZ#_l`&GqZe80+3q-nOeqt7yd%R{}TUjOP_)vIrDpwAsW91qA`KR_|B;8@)Ib za%V3JVWU1QTM%yX-(}xe#xFGdQrchGzY*@BDp_el?!rzx~?`}t|g#ab6!4*S z%oN(EI{EljSF<2b`&aW~&OT#t0b+Gd1!S`Kbc}VGK&Q5O&wOcIt1B`V{%#$(PMKC< z&ErMyD%SQX7Qe@OLZsS}%zNyb4?PORcvcqP@J{m2g7oL6_xs8ME2OCFl!d3PA9)m# zfyHdT5&lz|Jkh&iPl!kxbJP2W8&3$|eg>Zg(7hYB!n=Mm6VW3#B2Sgq<_-PQz%_fH zzu9pPfo@*Yj?G=q9OO4`vz<=Kx1VBIeEG?3Uuy8>xA*vx89K3PEzT#+-tjl-v@)UT zZ(ID{PdZ^RT!4Y!J8NGDR3hmNB;Yf@cT{I;C{hC$&F}37XvP-Kv0@y3IUGU4Sj0s3 zG|x2m#FL~_#H%1F`Kq#e9-|A&6>$^1+D&cV1$zy=EEdwn!4mzT+=v2jIh#V?rSAsg zyCK4N?B+J_l)W^b#XhN~4wQv}_o~fXZ+q|d8am59z4?RAcOB3i*`>`-qs{MhLa+k@x-O;1 zY+hb>3xiOk^a5^0Q_Z#kpk@NF=*T7QlI!Z`l+Jns{k;yn8tAWO%dEOFO{cGr&Q*t= zDMe#H$iG=G&xP)Ry(SHj*>egKCE(+(w-;Pk#mIqyr1|TOjC+m!OB-=`R@s-?#K1)| z_%4>^e_&iuE&AIMoV#DF78S$(CKu~4I-{D25a%KObqPfkO@UvD(2Q?g@;*VXH{^R0 z=Rx07TZ_no$;<=Ez}BG*6Rt)?cDtI1>W=4*cID4Q4?X=o>^*`!@j*`}Ivl7~^Nw*y^|ZA3k&W=cILW7ve+O~xk#6|J7+NV`CvxzF~`)`@^$#E^H#D%nxu zynJKs30d)=F*}V}4$*pPv0>~!_^f+=JM2ua#bi<>bqgY&cf`C@>{9Elcz3sjRv;3& zIl-J`R_u@4m5#JBXo*Zg>Or&k8Nb(sNQt!zbzHZKxczbauXs1KMR9S63qgM4D?E%s z&aL74)=2mSeyuU=)N6c6V$i8l=5i<-Z%TyLeEQ|&Qh00L&tG#S`l50f-FTjj8E@Wy z!Ix9*W9$ihL87`w?6J#s^OA^>+!gPdHho1rFXdh}?>3*PdyPL!Q5*F1J>o=gRq1#d z>GxJ4ZoxFIl$UWU`PIy)##!Kwvo(s^&-lLm*-?w;oJ&@5qxtuY*H5z#k2aGZeTpuj zLGLD_ccB&UUFgoN#7`&m<%)OAm-ODwXH-OE)+n9Kpk$05`JearqxnsIDN4HHjYQw~ zUx+hY@ecSB`p}c)+&BD)ojJ(yfKxLDx@3ykKJ|WCo}5?C6l#P_AFa z6|ba?(mypeoyJ${E8ZJ7_wfo3tI&)oNc^qF$6xU_-t?s_D*WC({y5a*o^-`q56!}h zb$ZTSM{)V!;m0rI4hwAzMH^+cdZaz%=l4XTh25Q7z)KFadX=BxBtmrT1_ynU>t}Qs z`$>lHDXl4u#CQuK7Uut(T_>^0c3gD)~VoN0VCznRa4^%A@=wusvf`Si68 zq}78Xz>WvcM`E0b@6Cxk%)N>KsGu)pzHvD~VCAXIk8M_HQxcOo1_yWU9 zL<5mSSNYZN(n@tTvobPWsNTa`JgmS9gD2Y(uQi`@q>hHNEs__{25a4Yjzc*=9_<4ux`)U*h!_tcbp0cwSS+L)ZP)=#X*eHuI9 zR{l{Mo6n9_cr=PnEQgR*!S4awDzcCJ6uEma8e2&RNW&JdHo8uM)1(3IDM(OK$s$uD z%4dfDO8Q2c6F6VMhxxdTwj*JpLU==I6BVfP-sG$JpnNg>t4VT`L&Ze|Y51RViIj`o zpEvwwD@~K-odCtH$d^M4sEDHMih_zoElQ6RuujNP6a?ijb_XNI12c4s1Dgu%ZjH$ViZ*+b}1Qx*k2oDpbes`<|nF(<;dM9hm91ss6BH4<;xAs(A5rj3o8ue z6ejxm#Rh4yc%9Ov5>4e?fU)#i@_+_FIIRIzi0cFJl{ZHq;ye>c@QoAT%L?$F(+=OI z4vRG+ZBg2E#G}m?!=u0`#Af1i0po|VH(GVpvw*T97rw9c8!bA^v_$*WGg%dwxrRn( z7RwhJJ&?!)p5jA3T?rGxx^h^HWjgN^N}ste#TuDrNqd5qx^kqF(QHg)iUu(|nZ};k zrPjeh$-i0I7|rNX%V5iNl>K>DIo=x@cVtDO4IZb+mCdB_)OuYBeDA`B_6d|t(dQSI zP>&+8@>h6|Z@Vg7tGB(7X-WIdlFCB@2CI;rnRFeUO}K)3LD+(7`mRpEAem<^DMG%_ zw(ZEIa>}dCI3qKj2a*R3@y6xTm1qA!|`w zFAn?CNE*4oU7m7oQ{`@Mvr)x~5ZPu^Wi-b;7*aWz8_O{dgy7`Ujk`Z}Q7YAvZ*-hi zdsuZaYCoEI!0{AEefx9fIm^z>E$9=sEtRLMaT_pH`B^J)R5_cUnm!-vVprBjwvSQ< zo%#QBZ_e7NKW9@?(rJW#-TH}*Fy$vHk?H#|HVVPRi>_Y`ivE5#txf`Wzu>%W$lh9DT1^SEMx>)r_+Ydf< z6|F#desZWJ555f7EOzg80aNImc=MYLo-7gS!-~!a9?;KAl)?&_@NBOva7(dv z1DHAZ5@BU#=$8&yRu_?PP?Xy!&#w**V9Q*Ws7Q*{Kd5S2q9m8_I^$Mli3_s~Q)u7+JU90D zXWLsaqrC;g%a@!d)fDOy0p1yO(1Oz(xSFj)mf~%w5gq`^yTiY zyXqF%3<5MF01btU6`xJndVab#HRZE&Y|L4U<6Nm#GkUN9Q=BOGvFq5;=Pa@3S>1*@ z*kQFO-7Mw?JB|f)ov?Mx@6hCJQM;je*q+u9BG%)dfL+Etpq@dFb6bD;U3y2_zO6fcr&!QT zWHwJ!o*mRxkDlg`Lw8r ziJqO-!aw3Qnb{aTYeQnG zjqvJ$FaGWe%>{Ms2~iQvEv}{alM+LnCw)c396@Ztg{T(owzajE$PP8{~UXJJDV# zz6>fwoy&@xd^A@aE9GoCC)=ZXtz@CgqCcQ(!(n8CVqON_jF7etB)TOGRo)+rSju*jHgeZ23LZ5 z^fIsZ=+v6g!DvH~@r%l3<}hv_pOCow^iMn3S|;LUvuGU?j`=VqjvJo#J0EX;j^Cdu zTDOhAiT@4!!wW_09uZ zc)!9EV*M2)U0<=Jz*vA&u&7+KA8pdpmClUrqz&c2`m|$uAl{QUKfwkM9KD0`?#o|l znvZ++5Jj#s|7Fv!KFOF~_+nt*0BEZfSZSus%{mC%D~heEEbx0bHj~%-gLXwxz7Tiy zr*xthHf6K!Wqu|q*s1(LTd*VDW8G=JFOyjlR2ZA~osE6>PidleS$BqCQ2-xVw!U0& z{>(IGnikO-64Di1pEYZZE3Kbl*0GU2^LuhXS-a(has3c=Nt2)OO82}%x#H&_)cvwQ z>G~S<4}N#uPh|Hf?ggr@#uk>3*dcA%m}7sg&Vemc4m4n^u8z%4+Gkn3$o+C$A4;NIkd1P%n1Yd^Gw`M`Vuxnj&SJ8;WX*K)C?XS$JUNQ z)Hg~A=Z0}JIo7=iR#Z)=XmrDcwe*8epX>C6lsJ9qxl~3-QBTu!T&W!@&v2D|?ONl$ zn*POo`M$-fA~vRP{%WJhqZ6s}*48lL$%v37cK_(VUduiVkNU|{SEBR?xG}f4^t~=E z#SCbC6wh6I^5z}y57?7AQMlOslwXWF^mY~#^>NKXZAd<}?la&Usg^v_oif0tjUnCI zJo(>_Gg0x?Y;4z3FP%z8%WB$~s7t5bs3WN802NDfXc3^${uBXNR9?4if2ocMzvBJN z4HgkSx0KOrNo`BIo`>1OG)89y=1t}G56YORiA}|2N!N4n2A;dXmkGcSe)siKP#qy9 zTGJ1JqtlmcKjPCE;Nu!_)#nbcl@xyoj(3O#F-yY97SHE3x5ZmBEv7`|HE*gkaf3}d z?ht5HuUC0vWT>=2?EV#P&ocS158Y0jFPTGD)XMuTFQ;ftH_Q_S?-eV&y6se|@v7zp zj9t0}R#GE`xL>dgWMC&KW^(o5J;k^ESIZlX^OZ9bCEV918@+~`a*ntR6PsGg=0G|k z(KLEPZvwh{J!A-*9FUG=d{noh=~9^}G9*8tE}27Q9YFIGT4Zqh?CSRjwk!NSici~E z_qv;ssEpHnis!#FA8V}#pm*qI0D8dP?kYR1s%|n-5@%5HfP$0we)UcAl#=4WswxPq zD#LwwR$5nBRY6!$I*e}yGi+^sw01Q#Vsn&9_1`I<6jsgr>L-1=bQxlMNb;Rl z=7E{jh434d?4(`gGXL=&Q|(nNWFW(2&a2*mtrQ1nRT&f6Xo<1XspZ4U7~W+b0}Zng z)fLEh!Jz>Es_`bvm0OsoGmgdQS2SgmvFP`==c$)_(e}#gNo9-9hZPSjI1{EWV%@`T z270^Z=QrxqYl8~HQ9|sEm6#JV%M?Y&(%G0}3zwgh6c<`)4;VgrRpO2snyD%etJ00l zPb{i&)g@g&iCHwU$ypY6UhID3rgVV+dTiM@=crEmO`A~nD>q+)y;e{`;U7KTzhkaW zY>F%s<8(2|;qfY(*Wz0#R>_f@1EV6Ush=TbIsHTOZRaK2K*W}0-G9HK<5Vc2hfu<< z7X3~!I8IvRzUYg=sZO2W|GdY0*4In;y7ERNN|d9-jp(!gdc!uxGgyrAKOZc--+trl zIgj_KPbEBUx^enkkZ@Oe;~(depY6dsTBu@n;40&LFfUkoFo*D~!cUgcgE@gK?IZ7$ zYq^8GY)vmNiBS8AF2(af z9T6rH!J-o$JzOGH4S2xJaK@bt$yI1F@P01|v{$yGjHOw9i-%wxG48Oe0!~yLAN!F} zSN%yE^I&uJ__Tz?>yA>C*67&KuLd|NKK4z}#B2}z!tt9l6(t1wA4+4fE_FDOw6uL> zL|x`z9H>W6tAx1aZ2nGsXUf89shnWCB zc@~iAnE)#vJ?(GWtiZR!v){j&M;g}B!;q_u+IqeFQId&pD zK2s~~o$i%(CYrcLm?2lCSeX({5J5wCsZQ8gaHhN^EjEPP!;SSUd>l%2u>X&cN1zN{ zAwLaKvqRIFsH&@?tW!4P-?Z7u>Y~t0duw-LZ!P6Z_XI}y?lIQ3-5O&>8;vl{lZj30 z?UZ8>b9WAL+iyJ03izXPU%B~78s%XgJc~KSMAteF*ZspMDUYhZkohA{tX}U`A9)hf zl*l+8=k@;TlYwXP3&##hHdVRQ>RL!^Yq>>rL`Qs|6=VI#m|%*rMDV?;*>Hj~;$n#F zI^g`^Eja&RXGcy!J1+yy3(MK!_%V>$G*y*}ii3&uKs%G#}jGr)|f4ak+BWw{j&S)iC*miHy4$tMGeZ{RD*= z=hUS7RSFsxW*Fl>kNFJCGtW9+iC0=v9hv@e49E;g0!tWiU#38GVz#HgYW=)CRVDvf8_Zx?ZV!ZXb<{Q^Hf;GL& z^<(glt{*4hD!bw}x6bmJW<12p3ar+RVOP9wV^>+xq}ndwKIONjj52*{K2SFgmOVOX zQ=9^4@)-25jzRxQgSmw#XkQ&m#ht#$`k1!Rg1$ies%Hkx%bn+u&J;mTdc`}rnbl8h zsx71RPtJ?iH(TS<7KhzE5BxWPg4$Fm;Ac- zoc|$Czblb~NC;0_XYx;?bckB%4M6}OqDXgOcm|-Qt z0|^_uUr?fdXMN+~zeyrqZC)o_^UZ~@T?@?4%U++KW>5XLcR(W$&41JvagMNa(z$=N zdcJBN&tv@zr`7WlR!;*?ffJij%F@m;#X+7yK{Fxa>|Vy`7IvxaE1|Zgt#i7h{g;sT z@zzJrfx66adsA-^Z(w56Db}PzTxo(a2Uwv7Fn9Sp6GEzq!D!(H{U)AsAo=HX~_U$l7;?)A9udC&H%;7zrP#RZ6GL7D-pIOcvaywE+)gZhHLK#`HnTVBl;e*levCDrpg^#w%G7qC@V z;3NksCfb58phs#5OJj!3r_l*I3%gG4-<`(8_sHjbVo^hOwU9f@kQxR0((>JH?{tZ)tvSfYBk`PEZZ7k8nkAWf?tm@*}%$k^&odE!-nNUU4VWPrEnB4`C5zG{*9TFer$u)8kaE*EGE;w5(H4)HnIX=UJ!&GHXQ)4|W~ zk2iyA2dC+|jn;7-VDR3eH1<8ecT!6nxIfU6@-b0Ys^LSX+%0f;=t^{X4tRurxo{tI z6M8xU>RXxxIwmIP867x<<>m(ODoEhn;1n|M%XXp{J9vec1zzFKc3vR^ULm}Vlw9R! z3Tp)XH|5hD_G~63d@6Wv4c>()XDUf*P||nyxt%=2k+z_L>mrOeiGmtssz5_(^Na& zyz(^ohU=}wMKr_+oWoa8_A5z=HQ*dFdg9`~z^kvtyrPL^ul=}~IEPEXIot_Nz0bfo zWCA?Hv3hQ+H5MGhU8xK>hS%`Ffgin)0mpEpWwGVYxT{FeZXut(kt6@8(CKy256jzCQiuQ^lV{$fs z5LVf$KN`B6C3-5@uDL+k^IJ=axjroIF;G&&Gb*<3bIeA%zjWqVBb<2xys!>xr=IVif}?8c z`7eyeY+?^9K9=g@i>#2bvV|5KpH$y7vS&t>V?3v+ZRBlxAO#%11svGkHEFy`IHTIk z-}uz!k?2n(SDm=iJg$0ZM4?yJ1p}7mx|5hMyNz4H8E18?+w0Ci-Q|vK z_zeU8oLo}wfL_!ZZUDz_C(J*odN0~s0BV-ePxDFoO~NR6F$$1lCU3zQ90r}*pL-;+ zJLyO0*BMo(DzJVk%*@cRnm_SJ4HED+r&PdVEqQMuzD?FvM|1OhlE3@{N#Y}kP0*f@ z=(iZ%kQ@eb{eDW%iQEfu7C0;Lc6GwcTE*?<4%OjXW=dk9_2lOa?VYr;{5Ad%V#oG6 z4jziVJLfY!!$)wDNQvXn*7r5Bvmi5P-=77pqUinDrVkrz+6IS&O3lhh?!l1Wl|rZH zVw(=Q;wqToD(3?gvgylA@EmHEnB(?K+V6efG9{R=)xF!j5L&?Y{PL=sPcxiqUMvA_fnq_92eRKjcc6M{?}n{MdsJ?;*%ABmQ2=3}OfAxL_yIBFUVl zXevgB%`6(hkDgq_kYzV27g2w{H6SL?rkn?U2pVlK?(Cf==#2EA2>aj zf6Vk1~rZ zyr_Y(t!-eIk-s?jinHy%{EaQUK?$u1rb_LJ5=EGmMMr)55qa-g1T}a;=|T~8ZCLeAFxuceBE1yJkvB2>RFbDy1Lf$ zc0*6-afv)ph_=L3y_XWSPP6cU&xBSFxA#tcBK2760hGTcbtyld4=ebN?-#~mZ1Pc3 zyDvOpY_c1A-ZnN&<@QF#PIH4{stoR3Zloh-6l3K7?8RtmPxiS?Gc2YQrrlDUyCOuK!>-di|*3cMa1jaVxQo`g4d4_nr!) zsHl~1BRvi=*4P(q@`AcL!n511+5ZszsGWP0%i~@(v0M^j2l2o{GwOM)btdvJKL5nn zrus|Ib5c&iZQ9A`M&j*nmq-={JS9AxzQm5ElcU!GueYEV`!!3sDLW@|aYAXaO+)Gl zZ@l62C&e~>b1AnXoO_UJaIu5xE{IsvqKj?Xdx;6xSHw0MU2H6+HrAm;9W2-k@VuGa z4Xvb|oz|nT?!>DDX&p@t<__>#oPlQ}*@r;0BW^m=DszXK8oXPZv$@?nO`wm~8e>j9 zYaGmJYoB+Q)mOA+fzPQ!Yr?qc70(W5)OvPesj-)n z=w&*WGQ%m?hc2m<{P~|a6~{gAe!c#$&{<}N!t-Jz6L}0$9cp91@1{d}^QvKtjjP(bN8dH-)epwT=_wvPM6_>xYeRi3%c`j>ORF3rx zN@14Yy!_3wK9_TYH2c@XFXE-T$1e3z#WsC#VbZ1Es!Mep^CoZ&;1?M%{Wb7a-YEYQ zU}NBinV>ZZ2YfwH3Yn;Uab|6Pxe6$ZVMjZStAu`w?S^>1S{~iQld%0q<2Wf+XO8D@a7= zw*+5=0jEFx%tWPAT12>-S}DrkW86~145~wX+`y?#gncoL4>fDJjLFcsV^}`=6;zbhTo(QgRVtvlh!3J|ASBBl9UsTob4aL5HD1mMcDbZa{F}j zQDJ{{GPewEUNK$5{p!0>@v3PVB=WuuqWo^$^69On7So$}pUa8!6KY@98WWR`?bYTc zK5?Q2|L2`}sDEza(JmbT!V0BuIAX~9+hzS zChpY2-8;DJCfvP;yI|q27A<97$yfX#*j7q(6Apofr*KOMeQn^CvRiqNsR$O1SJ&ei~QqLomAh_cC)7yJfxkBpc3s2&- z5YUE!j`-wnVtX(@P3ghx#&s)xpW^p1e&sPem=ExK8^28a7UK6PesTCk;HSp#`ludE zEq-*yV{pd1+G;=CP9 zbZqr3?Xev=bxE!|^baYA%{xK)o~VvZ3gRfoKOhy7)-KHaP!11`$P>MD{*IkEIhK0# zvZq>dnnF3ZLpj28^5N)#)eE$mYNR#J&+I23^Yh^8&}H$ls%55nv(>!C?B0LT%t9~9 zz5nUxlhw)*|2X-3U4MLIHPaXLer6`4o2Auc)KtWQ9v0P7ee)~k?|539j8eVT^D_s? zn|{VQU=+$#*PAKtR^$ufP6-wd?)?#5V_mYgs5*}H*E5Ud1&*hO_JC?W>boWFiT3%!3hjKAZTdy!t*I=On+YKGrZ!i@Z zlUYbz2@jlqX&}>af7R3jk*xiCO7FPFVLY?>WceQ*k?GxV{t(xkvB5gOF~@$^nu3$o zSx6{IW|3kx*KDvx2mfZ9qAjsNM=@2Ev5|jF{y6d>+Od#}cix#Np7N+~&ofgV*Co%R zcjbwpJV9Oalp?yHoayg~fRur1ddoQOu3WmBjn=ca$Fv)u+jlm#R|d_ruN&o)8oXuD z*f{8*{!-e|;0EtUNGWk#s}sJ!-o6gcM;#4#zPO{o`#zrNYwUu6CPm?+r;V7s#P_Cq zn#sVblVn_X>`IHRe%L~mBerk_?w<79Is2YQYfgpCqm@c9I~uK}M&-#k4xSGO`n{9= zY%EUBWcL$ipuIJVsZ{JruqwE|SQ&AhClCe3(YGsydMS61lm2tE$OYwXrDw#i!PcaA)hD$k^^2~L5pOU+uqD=?P*ZiAC1(@-yuTwW1v zh6c!f7O?2wI!P<7F6HIiJh`GWBK;(_bPT-(R>k{nIMM#@XsT;(oBYXpwCxdRaF@1C z6WW%j{YYq=6m1KP;aKMxcxXHW4~>a6CDut8xijz-cP5oVo1}v~z8ci|mEoU!)uXe2 z$fdMj=3ZF%(-%mR8-*pi^Vh&R-hIRYeh zRiA;5s16*b)yP%T{w@Hez17Fs^DRfdLyn_FhqliTnJ0wxd!O~!Vur{(p}4nTj%?Z! zV^xeVRy104(cMqbY|%-i!fe@s*%A&q)9-!64;u82*`nA5-AHj@wmjTrw&bLZuOQqU z%3Xr)EfZOqqS;UDJjZ$~y@Jv$fpoi-aQLQu^o_u`6P`<2b!nj$#JRiVE!szVeN{sG zyTW%}%Ua!~tORRK1^S!7AYM&uZch0soXeX{gSmZH12>gpM-S*5Hdh_Hg#Vmp-j8X@ zZCGXnSK@@gNz9@8R~ZDok9K%?7<{JBB8I&*rn#cVIRE1TFO86hk0@(a3AEH!xS~Okg-Zn zcg|#e#{N5Tu1Z(|$%LhW343HL0klt@!2XXF+~B<*^YfY`13QJl8-$%3kiLb-{FXKmoiF(nq_(^2U?unv0p*nxzner?AUgw?1n4`kKX zsuL3%9LvzFtJTclzO{jVh=hKG-c?7>JKDa?y3Y9bpZ2B&pzz<0UlDhO)-W`}QT|sb zzrk?`xCp(l24mf3S}u9Hmfe=jiegQg zV8%x5av?Q4tc}<~Dgd{}R86L&LYIM&AHBusI=Peo!a7er+;ob1sQ1Czj&Q^qz67ny zaZ*_8j3*ROjDpRiniKXb*`zM}m7xE>nD-6@ef zg;Ep)98&JqzIO|cN8F>FWr8MIL89!ZQhtBhJb9w&OqUS}K<;`w4jby5q^)vvV7mzP z#Ob(D$5dwQTFr}=FOV;EsMDF@vYH=kTibV$)#iE5BUUvx6_%NSy@b3sSj;oAU!M(7 z1(w28}1nAQodq2jn&XDxpa5s8huBu7_72ziYyP>$73Cp z*5Dn{JUT70A0nB!{iCC}j9VCAc{C?bB-}8&97c6XyN1ZH%AA->2d2;HuXG z-XX_w&>~J*&Ciot9HdPmt2x?9?W{IGDa<@6<{fz~db;K<>yb`cPm>w-=Tc~MBzEa% zd}lwC@8~CwZwXh8=<@a8&aVUWvV)4$WJWLF^k+6&i#ZnRh_bTb;<%`kOJ3kR?t+D{ zz)39)>$Pn}+UtQi2Rf>#%W6&7u%s?28^~lertc4 z3m8>8YJgjO32*U<)>(3cJ2*=PT3ZgtlwwU1W%`!c&?wG2VwH2#cy&8;h+3a!uDbeQ z)|>aDqh$tny`3_J6o1v#-dVR()r7|x_fh)>oVP;lJ+NXSyU1nSo9&gg z8>~t7eIvWl?Hk~w+u+`5rxSu0y9(*?pT0*eyX{?T$wrAA$TL{(G~|Bww%q&gk$aW> zUNujVzbKqCI_fRCN6y#os&^ymRoG|B=d|YyoP}P$EAMRJyrlZj+j>i5U- z+fPtW+%^}{PkUg0i9EU23Y~cI2GV9wK(`q^@6%oqL2c4qB~@OZvR%i0*C@vdoX|!( zH&eG`Wn#vWHGRjMk;0p$+dY_5h$V?{qmc3`X57;)Z+di~6m`NEQ?}Q3rt}d~mTmtB zQdSAy1PgioyN+ad8_Y-QXx?pvyjMZzE0oy=%a9dKj zT!B3iw%wq7-){yEjWW1DvS(V=;Vy4R+ivJnlhs0CW)<7T9LN2oHZWrX&@Z%ioD&dH z!QSpw}psLLoV>cq>h)ExJP)#kMgc6q1WM2Sr1&O)TIm|I3X>tOSOXZ?}@H6_#C zMokUugnHH0ckd{l=rYPlQ16cY5SAg>4@a8>8W->maMc1d)iua|Lp0#81~WrF*ew~@ zfU#;OdL}dmbb4m+2(G6uNDo^GmCB=#`!yRNAFpxfh@y{@3DmY&kdSXMSJ!pS^@l(u z{AQz5@nc##6Yn<~>SaUDKqrV*^^>VvaE0xmte%x=er{kE8~Fk17HOlJ{BVtz8QFR< z8;BtDl<`r+02B3u{FI1WgG-4MJ;@hornH%f+fGp1NtfiWi5rdu#*M6NMfpF#6BG8j zRwu3^Siq{QjM{yU6~f3~@+w;=WA3EGDu&L)m%J?a1}mCkw?8k?kW#F81-IGS=KXJ2 zgFFNJ%!>Q(aBp^OoK?Sfj06p<%ZkxRoo-r`rAgb zH|Wv#pm{e>9@###h$0QU3!^R)aPzHG6XgomJOw=l+AIH^bC>*%5+t<*m*=6mejfDE zd%g(G9Qm0pZ8&jP8;0Id0_BR-U{x?*x92-&`_%ZwUHJm1rYDHQBAob$cD>{sg_?^U zn=oFNyu)$-564E~ehBV~iX;9Oeff=m#rq+3Mbo3(bL%_;7VjxMTeh!i$0aKfYb5%79s zo!p>Xlx)@2{M$y5us8h7Ra~%8**e)Ac|@18`*yD36}RoKn#|ye*RcL6Pq=Ju`#35E znn!l){48*`I`)l8_b4G;C?P^N518}TIqa9tTBqM5PlS*sQciT{(Jr|TcIFy;M=s{U zz16S5KWzt}?UHwHbAt9u$F}y>_INX={RFc}1}dAlaub_Ux36zsd8TGsdCzVCTl=^1 z%|@-=k=y<>x_PqpGsm0lPa~R5+QWiA3h{izh|ejmD3~1JOALVPuU>?QBaRvqZsD13F^$9NRtDDJHJ5@Oux zxidWc+d7XHO1F6ksq0;bL#)fay#D* z{I_rY(b(mb5i+hDxap&sN-mw@m+%o0AM;V1XpM5}UoM!KrAUvu6v_9qMhnm(?UxKg z=wwLY_AeOGgGt7Z=pZTRAZklPvxGBOoSGiRv71Q~hH7r}&bg^aZofCyPg<8a73D;6 z68NEO^G=7AmB&%S`@MEQ<57zv5qZ~aM!Z$?0Qk1>k5P<|v^-QT8}aMORK9@MV9W*y zW45k^G&GM_59K1P;EA**SA2;+w0VDRrg|8^9#H>t%eU}91o{BuTg+4YM`Cn|KI@i6 z>5E$0z+++H^Ge6?kp+H9={UtklY1@)cuhzw2Hd_G>ZEeI+yH(-^`JgAK;5yBHm)& za(;v`kM{XaogY5sc{eMgS@oIkd3ejlx*c@^SSgBg3FrTbP4AU$;Xkj#Tn9bo#))=f z)7wb7ul<`k@CYV0?$*o2QW? zZU1I3zA11#0bjQT^#d5+13j4g&JJJ>N5ke2KmBJ?eqDuu7sF2!{MgjJACDrhK!)<{FH%6z2cd;n06?-4yk`U;!xx8v$CS;myM2=Z(`PwWpzuU~{63j0R zyHAK!sfZL=a)3)9uY+8TeJI;Z)C22gC6joG5LL(sd;_@>PibHAw`|DBmui7o0t!x) zFwguJWO4%?3h-lz2e+y7yx+??O|T)FWCys_B*(EmyrkW;>(Qp!!>BtOrnWhXq&EYVJ>-pU(WBgOU52!WPpLcK@~AAaGf<|Bp;W`av7r`f+E zGQrG7$|JJPwDZ*RG{5aPiH8~i?G&S1Bnsss%o>6JxY``SH`R6c4Up6r_<%Kj#$>N%NB+YLKDJH8aUuAWnbwcmhUt6R|A1pj^r@sXHH zvGtTZ=w~Wj7OgsISX$!oGvzIIw?UaPxmYg28+ml&2^QRbKnapxv9(w({n^gTqmF|9 zyOmD-O*uU71#`VPW_Xx0jtfVP<^FQ`0o2!wU+RyJtd>Iq@{mU^>EV>ePic|(R@F7s7@T4J=8tVMf(rWo2(mkQ)bMS3g0@;>4-0#gsZ$7Lv z)E^F&$2x>w5jRji=&QQ8T|rz9512$h;1Hwc#Okwr5#kxjrSXowm|3!#6PQ^64p@b<|- zB+7^Q&Ax<3wd_!4ds6)~;-vZDkHd*0niYFov_H` zk5xGpG0?~#&c-WZ;O8VdMGGgWC{yONAjbOZ(0=->Xk^n{4f_QS)926_zEzf@l8tBM zsif1y^GSLH?anDrs$V3b)~}REJVBB{Zn5a}d5gL}e+~FzA7-YktlYX;z!AJC^ZOD=do|4_D^ls~kq= zT!50jGS(aGir|EUq(f9ggcPT;p(^f~y|aWL)F* ze>ctWnd1Ko5IN`(1rtmm5koxR=>tTq!5(ngI-m(33)yPMmBkKmsyfFb+B}`N0o!gd zAA#Qll{MNj-DL9He2dy+m_TLwy7pp z>LSw#2aPyE>kvl5Fb1Q}jC0QRMa7dhw%NYe1-k*E**^UYz)rTzJRAL;?Mv5wZ9Zt3 zjXuxznHESOL70txPqHN7Iww8{|7XP?#D9Cd7&(&T#i_Fa*96?ph)=+MW_%9rr^M%^ zF5`17U#DtJUw4jpDK`M?oaXbJ<;?bOTnNWL&}>H3PIjLKn!X~RMbav2ymMtPckWBS z$bA?w0hey`rrK1=DObKv*#H7Z~m#F?jh@zuw|Ao?!~(4T0nR52VwIy%=Q;GZ*j#8 zGlH<(8jkRsog++_RR6lnR3kKcm-e7q}-!`gA-eqnsHjlt>6`deJg6ZD`8kG;2yl+U68b+QpQS zwxOwuZPwHZ+vZe{ZMNxR>LUUM5jPSv4grpaSiOTZwr1Pn4uz#y{(3^J<| zgM1@k5Jg}W(ELhz1Gpmu7C(E;?8sL0G|j{5aRT0$+HacXWt@|N4@TdKLoRUbI6;Nk zFFsuPig^U)+ybti%fhvoo9j%*+Ka&I8`*T=;tSf1rjuBEukhp3oB2#&1vYrEfD?L# z!K>)?ILPc^i;WRrv6uc8xZrhJm{T$VqoI<)>g|BCr+^biaxeT3IN?VDCp-n5(87;P zA8!@GicX9jm1H&noN$0}f-(fYdna-1!_%-%U%Y73&NdxJyR_{%f!6=Fb}X>Dt{3|4 zIY$2pCoq+W>(#i*4(zHv0M8QyIa-adTXnsy{2qRKo^jy3q&n(i6$e}@G5P5X`1fG* z58|Fi9rJ&5x)Yk(!E$ak{J2Sy*oU74Mu_3VO{Ff2*sA5Qs;)Z7Q^Wz2-NeE|$mDoy z=MI-DnCLGyn5d!@ZYyxhk1mlYFg791&9KNzf;P?^pJZa7#8~()7R5+hrD7`4ru8`T z7>#L-NuZaiVI`;&!=JDiRy$&|z|DCFX&R)#`-w#id+zav>R{cCeIIeH`F{Oi9j$){ z7Fdi1Hn50%3F`noGi-8*SV^z~m1n{Zx|B*-2zZ!xrz*d~J$Xk3y)ofM!V&7HVM8G)mvP0g1AN9r>m;5Z z&C@#RZ~D-+ND^;;*5q-hTa`EF!>&hCe%7?o#0;I{DBZ~v?gZ`G4mVH=3EU=V1pVj| z!_x}QwcgG==1D;9VZM)v@J}p1jwc*6)Wmv3ti-i}9ck`ux4X0=sgMLw&L&+>>h*@}F^yE&G(t+{x2T6kAr z`N3L^cS0_UCar&(It}^KgnTKFq$Q^zUz$)~%G+tVcz0TOSCH~US~cGFw+T5@)HaO` z`D{YI)JJT|wm_M4QvYJhwXMaIQ~0tV^{~xh8)afmnc9zB7O68e#`LB`)~fJiaOW{c z6jgt~e|7oW_<~lL!QGTabB_ER?SZ8UPKtx+Ii&J5w*{;HYpizK`!GiU%RD>5Qp^Rr zWTH)gU z_LdI%e!u_xzR&aKd2agNbE;0AI<=iTb*jpiW{I&W#|N~&p*BE*^YMMZ^nIUoqirj` zYo+fRNbwZDo2Bow)It>j+?D-7c-&pB4S7uc=6mcxH!F9^*z~uXiQ~=DoDAZFsLZ7_2IxZfN8CY+XGsE7jPKwx;gML zMLSnx|6Qb6Y-5>tkJ2f|5Y;lg8{o%I^cwJPG-VYj#s#$&1O?^OEJHC)*;=5=#(T1< z3>f+<$5)!Mp$MET&BRFzhzW?vRJQbfL&H**S^;Jxa%y-_ms7)ghMZb~xWX#t^FHLW z6!}~%biUlnGwc;H81`Xj0=eYx+`AF2QqPYe67SxfJ;q zb7@jaIs1a;Q_PEs<&ttnv@=;gJ#uL}SahF3gPIh9$0vjDI4$UEc|#=Io>lEJl)i=lz7Q7E%_nDM&}aXqyxl0fwx?I zYY^%LaO z&LuiVQ!d_<89d3fp@?9~NIlK;CE%0;?36TxE{mR1 zQ5_xBsgo zq9)f69etl}G_TsK>Q>_{0y^uB-Tf_mRHDG?^ECdew@#0as9hXAJ^I70RgT5M0b7Hk z12=Oi(8VW^AC|Im_OR*m*3#zHQ2aC2y@Hf#y>C~gFFs9f@i zR>y72l65IjlOnstK?_+f4q3j(DcC{Pnr?+N8@g2h&Tcdd+e#v;-`!91Mx0c_b4jsr zxHTjWp4+w^Su~F(Z3woeN$qEq)ugRQRI4i^Y8L4+MkK0ndjgKtOQRX>B0bY7(#JHr zc`k)4z;lSA@=I{6XbsVFsY4{LXL)ixWn0!5TcSk;tCvF3*n}pUfi+oZ4tC0Nz6s}& zb>p6|>N%Eq*c+#=F5knYhJj};DJG6~Z79a8Y+GF%lm6D;B;B==s%=)h5){XcP~0}o z21(7{mi0PLMI-tA+@!2QS+uTF-F}hE=7&Zu^}A*+p7g-YS*RmS6YOwNifrC_MXex8 z1{>z(f7q7wMr)ut8`A%|iQ-Rj-1lBY_3tm1@Ut1cDUQYOU1K&W)s^tj=$6FLbj%GZ z_|ZbRYIPkq8tc1TaEfRM>OyeXtKqK%@Hes3R_JW-u{b-cx8r5pc`}cEg zG@H<_;b&6{4~i*Ff_9;5U91BANsk+@Li67Y?e*Axm!5A9KnSw8V(+Xo)m)BMb_FL7m_8^;2|MpcL-^y!QANIla$nCqZ6gX zZT+6fNwF1@Qgdl)=-f|`j<0!;e}GAeM$#ip7suNi(#2ySt$-`afY)2!47k%e)za3a z=~g=z@gI0fYYwDkR@_Fj0g_fWlNMKbFJ=}YDw5gsV5xmFo&PKB{g^E2{7A=qC)4_G zv(UKz6~6yN()nq=^e?y6=BObx+8G^;Q~FLqa!GTb>4&Ou#}1{ewyqVm`5Q>?&(Q5x z@g%iBLA$TS3FWtx=New(k6}&%-vymw3)xxF&uBz_baq2H6XFU6NM{2J-IBJTureA4)(_|Wr7%QqBB@$+Xw&nK;4iZ5yU zHPUxQ{t4*%r1?wnC2ilZREl3P6Z$@B|5E&d7ohVSEj7}&TjxIwt#muI(&dJKLGKr} z($MxaUR4`o$+mE54>sy;DbUSqwq3T@TJset)`d2#?v1^r@V&zAt@)hIT4l2pD#pIi zny-Av`i<>Jyd#{l#i}n%fyVe}yr%0KgW zW3H!|Ofx-$P0eO{a*d!bcYUBQcWt0AcU@rdTs48kbJYVD&s7UpygY4@j@1Dc&s76h zJXiU%c&^fC@myuk;<-wm#dDQAi^pbqshG!|UdpxRVJ7mZVKnA?0o_4AKf&*^>_mB+ zh2Tabm)PAXpD68vl@Dt247l+)8I>sFCD{a@ukC8B*W?O6^XAX zhKs~k6ut}$7lkhazKjfKz?TtUNepMiR}#LG87>K5$tL0>8L%`XX@#e8W*tG&fHUE1 zJPT>U*LZxTGu(K5rQ<7u;nMMy!Kh@IG_C734(RELoVK+rfO4wF!?M>fmw+CuqkBn^2c2TvcFayrh%x~LJO0PL z!5~a7m@81-JOO%;3%*3EQJ_jPNCMTjFe5tw%8(84B7Gz1(+mxvL7T}2Uq}fjh9q;4 z3gV_Qj!ZhpfD@^vfhx%)onbP}A}teW(OgE1Jsz=XHY3JJM+}m45tN-<(c7FT>vhM;Ua-!b%EhnT>uU@MS+R|I93-J zj@1R=k{K=uxMUNhA+<$Dj6oR#*;=?x|?cb zkd4PFRRtkb%U0W-(;c$?QO6acMl5>}k~NurkN@xwZn1_@9U#knK`5n!nt{1Po(8;g zID;(s0feJEmxSMBqgjVKGUtB0XPBnz=Hg3hK7n&<7U32cbNZ0AnY^ zEWRW z6ZVxfLxWRRM^uo{gQSfolQteqdPY2r`2m{)x4_nyZf-wcqM+Htior59&u!Oj~|y>bs%eIHI-iHTE~;%(66 zr<7%dT5uZQB-|ZX9okwRiW}7`)fJ2M5tYIEhzinXqV>~*m78Ua=GJDGuVUn@_%u%0 zK(2zh%45*TaKjJm#eRU_$)pbbBXwF-R<%h z?lkWDAct0I>}OTT?*^4>%Y!))&8nK?7>!f-Y@7#z`Nbyk*x1%9zZ1N-Bd1%Qjd1n3 z@I#xzoJUIZc9$Rr+K+HHlKI*g8|dAtn1FfOlnk8dUEZycs3llt z8Ze(4ZAYwXF2(}BtLDP9H}hJ4c8aa6TP1}XY)P>ykPg<&#vHBByrxPDX;$KFyRvSz z6asVe(K8GV+=Af>b#=EXqhs*jkzNDJ%|xiuG6 zw(M)A%JH__`r&?eaXiU22XcK!VbqBcQO1>%Di)!2SYtM`zd>jwG!4yc6^$2Bl zjxyC>&{GPkG>=?HTGFhGF2+#oq=8E9Ul&w-&c$(j5gzSD6@T&q)pP6s9P?t`F})(K zk`H_dBMas>xQ%Ts<~=``W9@Hs$Uk_}Z!?8ImE!C`Eorw}C2Hf<@ATR&G*6lv9P(1N z9%t-Q-A~VK|GGS|dMefWIj?Y! zU)=q`$!h_=xLV-kbpc;oGjQ@6fiErw>jDO8y}%cDKXCHefiJEWIC&jGi++jA$qPNZ zG_&P!X1wKTY2IeQ&B1|~4ZmVpWC=lA$rOGr{g%}YPWbEE{ax$Yhx7YeweWmYB!+Im zxnjY}%0XL>>#Ow|v2J8!wjV4DtVSPYMIBwXgs1uu^1t=t|MB`EuQnOp(@6DWo+T9Z zgA=|jiK6~43#I)SjRshsm{ZcNRA7yQ)>xLICs3F}6_w_e&&@^)EIr%;TC*@y7*AX> zaB8jsxJVY?6K4WW!<_~$%IX`BXll7ATG!}DGaWb`w}93;mifk`^dh+m;FA2N7sZ_h zF4=E-1}>_|mmZ~M0qS)$+ zZ)(K7iCeJL7f$rXa~1vIB&Brj%u1o`04H4*!%tT_ik*hpB~?hZT8dWyRrUyeK*!$zwgHO@A-inBlrEH#V$nZ z`QxOX-z?m-W>EEm%;RBnIc}VW*7ot?qsfVO+g z;vV(y_kqhJeytB&9_^cb;POZxQ|LqAwQBDTmq++opYZbN-s}UHNA{Q^Z#wd*e!mY~ z9?@%k;PPnR>;soa@|dMQ^j)j|-f(#Yuk{J>UeuB;&OFwmqIaa8(PT-_Um*3C^sTWh&#x%j z?*-YHf4b;;(Vf)Ot$TLq{-tsbj235p6obl;WJ`Jh>nUB-mlv=eQu+o*u=7&S*u7Nj z8}*j10%g@ac)<_HYQahLiI`K|a?)vp^`cyR9&;|trg0yenmYqa3blaEM`^}a)*ZI) z40>{;j59xvWno>!Si)fGMwy%A80A)Vhbh(qzNR}2d(Y;ewR~>DO@6TdETCH?FghGF z-oe*qDzRB)AId=rJq5y$uAxB&z* zptM>3PhM8%l!F59z%UZU=F5mzO*y6zM78;{T5%lXp(w2kNQrRsOp0p49>;3^?3R0w z?=SE^9&%|w{?fUxvBEI-2LaC)t;Cx(m z%Q3pM2RF3n28a=f7}|a@bchkfVu+HaH0ZotN+0Pas-*Oi5IYi*)`F7-V+fnsax8N# zLVt-;U(>B!g0f2Fsv%$0pLw?{s`-`%{!85GRl+C*CZaZs`v#Wm?3Tme)QEI5Ol93# z#W%3uLgq{GPIEL?B19i@pFFGO^I2aylg=Sc_<+tg&1yL|tNC&u(o6>Ip2;UKYZ7O* zd@(BGR(Dp`NeI4_L6G_! zNZBfeO|YQFfIBq@39~RFJQZ*?;2OYnUQ$6z0bC1sq}45TqN4>|2Y8eZ9Ub72fE#@1 zL;@ZKxY37B6yOHHy-Nx00dTsX$h(x#9su_)4b*$Uyh{W19x%F}Da{OdGhQHL4>_<> z0zTb`e-q-32Ry@v|M7r(mIuio9Wb#x+;Yq?_I2FxF|`iNtg7!1#OGIuPkg^vi?)KqbBJTF#T_W!G;awtf+klk4a)hzQD7Fvp5;>0546%K9m&kFH z2(^#??dE^nKFnwzj29Yj<(i3+1oTay?_DBt>wu(v`1frg)RNpSL@p6(9laeT^&HvW z5~(~EIY)>+){>Cc(y(RFTD~wVVOJl4(xjHb`X!bYT8R}c!fPI^bhQ4B900-0NO2QO}*=qrsA%`-~S1 z^q}c}<^=;iQPcI%q$OR~1p#l+cA?k0^i^+NSI&c|>3-s0*L6`dStM=O1u^>7cl$at z`=h9SC;YD^=l?}ZPH)HPPZ!a8*}i%B&+R8azFR(9g#Xd(j<(G>T}v@WU#mz{ZF;RW zKoNj7%REKkW^;RFnW|gCd_`g3zu7E=m#M3Rw&*Lc5}*jI4%r;cJm6?0fYv~Ru?DKy za&Ig*dJt}~H@D}P1;E;SeI>2OqUNkDrB#6kFi+B`s>x?m1>aH3qsRj@=y&{YupUY) zp^EXeDoX328VhDfY`y^<)FjR$RJ6*1buv#s(z8t(c#*1{LDkuope^u0v;>n)LQt0J z*>7|impZgr4PI)ds%pW>Q?YSu?KNC6en(bGcMxVJbD+6@j+LWOMqfA^P^qF-(@=eN zNG0tWisJRvqL*n1R^PIN11mzeG+^~Dh~+no<+r^wz_p?cEB7PcV8t;5Ylx*#`H zlpy726|GuLDf|z`eBiVM7)j@@fm`?*9IAf^G7fD{hCk_6uTp0|)J=*h4$BHd zOOw`Q|_?$HB`PZ5s8C>Kx7f#dbCZ?Tq}L zg{FW?R)5$SK^eT87NfbQWf_FQZ0G`N0S70q+isRy6Xirk_5BOj55B%317;}-{ zk6obm>5RiEj@G}lUKG=7-c9#@(VFW2nQwJ>$7S4c;r6ZW?YOn`mwl_dJJdK=iF~Vj zI$rC$v2XSDj`yA3zSUe0`BoFpGY#wNzSk>KDsWHI?3TrB6?jZ3R)MeK90c_ap8TlI z!kwk?dw>TFdT+J{d>kGSN7)*%8f(CkCj$H*tfgG_XV?i4Kt2Aw)N)d753#+1V{D_@ zUO~|_K)(HFuw{((ca|TqmQU^AJa!DynuA%0Dy4LBD|v}x)4s0f+m)4iejoO7B3?w$ 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

      cV2Vllz^U?jlRQvjM9i?3~_!LmA@z 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

      t^!If?alHP_Iu|VkCY(q$+&>W9 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 z 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ȘLNof;Gr+~m7u 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%0D$ll|x?Vh<5}3)4XM$}DW=bnCFAl1zz} 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%0D2?W5?W$(&BdB-_I8Zk2#u1L@@S0SNMm-c zz5R&YQs^#?-$PniHb&}Y&hg?$%9DsXo*X$lRh>mfYh_)d?DMLwDDZfREW~ru?D5x5 zbuuURIA|{qPA98&xpf{J6p0Ur=81EHufV$CQC<&VopNwExLHO|UchZ?&1G>I-I9H( z&8N-cW0b##r3}03qL+W+v-6q}2^!lQ()t47TS49xVs-J(#LRutxA{{Fh({j{T_?HAudv;iUu(U<+QlY}&cO-G zzc?Dw*e06AvP@yX1z2b6Q5N`LmtMm@l0hW}JTfl00(%#fY z29oR_)KW@xVq|2bE9#YRp@b6Jtz{N>dL7 zdg4@R!sq$`v;6m4y1PF>HdeaZ2ps<{aINiOo6_&CT;a>0vfEE|w~5b+$@bVFr8xiR zPhc;-nZ!ooTD(7rU4d)y8%a!U&m?g0WXRuEoKW0aDqMsJm&1_%{(b$&)*3B8e>ZE` zahxqQ%i?ytSUW(xCcD}3o47@KEcb^aEG@}t6vyRs5z3PVoZHi!zmHSP-oOkgxz>nN zY*KJ?W0&lcM|yJqNSwue#HgKT11~l#!L;k&bvfU=DZZ{f)=r6ug0}Q5)>xc*G$qVt zVkAw?3@NY1Xa}cCgT?8YH3oBK4W-`ZJG*kRcV>*1aOQG@%3HzC%3Wjz6zNqpi!*~t zL#JiW)nHzP)XV-4WrvjXPVv!JHtd`oYAuB4R1NOAz~0eLHQhN;xPGP6vTxGLo`bSC zbXs<$R`yLuy|BZwD>Di5JRAX3VJ4ho2e=MPui)vInU|)UYbrr2I6JAs^4sGjsBD7O zv}2lH6v0anaonBJ%3KXE)ceJqmc39bdoEHB?X>J_t?Y$Jo!DvFdVf|UbqjX2J~L0w ziQv43;~ZLSj6NRCK{Y)6QuA^R=irK%^rzF`!&saChc=EL^N>})93#<^D zi#w!eN*OKnW^~&AHt7^n#&ufuQjOvkp?$qOExSUaxTQ$_Yp1hT9qtOGKIrKPAB!Ut zH%H_0Cp#=%rO-v@nh2NQiSnyX8H=K$Kd28e<4`_~!N}>TBCO=bq>H9_E;TgF5oP?Z zLw=&vb2QA+$Yqb=j#JC7(aI)i`fR6VFW1VhLFzS~maX^ra-^P(vdyPpt^EkD%XRAU zNu5GcrNK>dUG%ScDT&>U>r_6BZml7eurnK6Gsj$2Q-yrLbvWv&Ts9|tFxLY@%IBR* z$r>}#V&s@J7`W^(wOaOIP)bPI* zI_~p4>Bbr}dYyV_U#I%WGOcXr?H$Sym4D}fe=ESh6eAr}YC0`lr>UY2b&=?PC#Wwx zOHF5yrdxOH!C1sKqg3-;P1C`ift_lW`Yd7?r2N$#%3(tqK|c(5sRmwX3>g}e{?yS- zr*UfQd7aWqn>HF$c0upPqUOuI!v#YURjgHYalz| z+)kmHt-(&E=XRPp3oAuP>V%XDou*x=jin0*2bF^z>Y#1yyoI7R^AfBK%B5YywQ z_M`v{UkJOaP|WJubh3g^!|Ks4^*hSQ;*Lnl4Y|@&i0z>`f`kVH$_3s$iK1532u7UI z0RLNR+8>Am4k}|2yF;FtfYQwyP|~sPf;`J)J3j2W7@qO_uus$|d<}YD8%S$uu{VnWHid{SmrI(^lH+SFYpx<*1{JPpZ=lp6=GRCU|6H=*c4!jOG@@P1ml_TfF!#W+2d+sy# zG~qS}-m^Ioc~0xX)fG0U%7Hvc!yG@$I5XW)X%>`rZ3Kb>&IgE|mP5f@jb3v?-L%$x z!M|e95S&wu{b#W!%=b@VO(Cx5arqukV#~I}w(w*ki^oO>^@zA0f*l25DNLKe8jC5a zndrYaTIujol&~5Z{G@M}t(R>Gc$GW|0|3t>9G-bL>@6L9Q>%L;YHSLfO>6e}oE_qi zq~luj_GX-E^tFFhMo3BZ8`9YZ6Xe-zPJ`t(?8&_a9_aqqYXGMrI%nXH&e^Cr%o=(R zG{MgnP=BYs;71*6+jdhxIh4hgXeyc6@i03wpp%X#Uco}}BG2Cl+1J1$hzPq2;Bc0WMK<9*S z$*Cgg3C~dR3~5CrqUia41&Dh`4^hj6!+z|~WiqpRRo?oQK3FHvA19L-9klMjgwcU* z5po6yEBkGdXeC0PopwL#Z)aN!QE#v1Z+qB{>1@li+>KIIep`-9`8R`|Mw#Juf=589 ze#H|klE|ZKsyAV0gj^|Z!+tkLunptf1m70vGPem&Bi$%-!!UOP^0n#PYJ0tI=cpi1DUPQzRat}0d6DiGlF_))cC7^mu*o? z33htz9X~R=yS;yR?1K$YV@|M(M$_3rzfv1Kgq;pkLUG!=RJ>al{A^bu8|^T$$~R1` zw@rTea>*nf9=Pfy?5!eZXC)jVPRhnEFq4C({dJQ3Caoy?7yBc8w*TK_6NQ%q_3v-O zxrPyjd_%cmrlG>{wm~mrnDGw;zwszBE$Vk¨l%RmIy%DPm-!w5@a&kB_?ralaIQ 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ĤGDLV>2=5^Bn+6 z%y;&kl%jt~@Wi-Z_Ay84`G0W#ebcL-Bk-tpV;mhk$UZEBoKu0oYZ^a&XblKVG)mYp z>r@XRZm7a|$6v3MAYjA7FXt0rTo%K`b$}nCmpm2*utNmFtd#u#y+a|5D0r;w6DJhz z)LB67hQtVi_lPqU(Rj0_Nw|+WZo~t{-H!A3ww?Neai1D+6L=kSJVzrQmm^i>aRY`bJ;dDPCow(ZPGH_#>5OAOT>&HIFH{DmOW0sc zVLyqe9`i%ulvPMi*k3_RVp$%*-VwcEHNsAqj*fmHz!vdceDR;#82@Sa_pf4W>kT3i ztn@hN!vydNHRBmRAWgw2TKOtn^<=fok=eHCFj8am0tu?D5k~^YoQS`OFw7 zJjqt{>MLCI(;<1gWPmFOdF^771GQ?6o}$ghH+_6d`VsZ@7IVSg>_Mdqa<+Swe$#YA z&Jm^GC61tc`(^OD=AMSl9r7=Wrtc!jS0gMGHgq{NgIX_h*K{ZG3jw@v*rYxQm4YGluS(m$))ZDn8e7W-<8!*30T zKnwH*bl_qS`Ra?D8PjN?|5W{V%r~vAoh~}t(qR;Oe1PH5NGKI1=D5~0hZ_@1#S|ed zi3kU?*siXP-{;o2b3%H|;t7=nc(UqBKVJSpELi8EV*dW_750W{WqsLN0AtoXR?aZ% zh8L4z`f0NI2FEUT(eW9Dbib;J3?uKwdlwFixPq*Th%y+8*j0xqVXiBfs+)1- z8vcTny7d5qd6S`F7?2~*BX(C2GkPQ3n;6;v8CL6-Pi@}F`Xlonl+^aSLo~sMm#MVJ*R(apnGR7ZptNShPE&Jl$G}ahn z@kvMQ!}c2raK89w=sTcCj%n{s`{15&a3!A}L||^Dj&^VYeJ5mvFR3(Dvic1Cy{7gB z8T`wnx1QhUZ~A?yI96>3V|B~vWi>dEk8bJbp)KkANEc`@=h&9?LDE~tYPjil_@>|A zKD4>cTAkk>e_)ed_*`WLK0)*9^Ct=nIra}K3uN|nt+4pu!Ymlk_WpJ2Q#^XTTaoaS zuG`bKahG3E*_ONeOmU1o1}8g^NzI{%uvzf$VgMW;-cnCOkw`jfMb$0F&pO;b(U{U;XY4W8UALr3jj7mSCu%WzsX)%@Mx|7qoI2(3s^k zGT@c4;yO#V3Npb?n;?s2e01j(`YYU{x~mDP{H1AP(v&@`vUjVsmk*sHz=}@?=O3I$S!iJ?jSZ110()s>*@%`fE|Y!k6Y}8pj}P z3Q7$XuX~=&30k4+ zhoJFQjhPNY;s@Z|sZpE4U3aa$`H=6wNX;aAn>k<8n#F9zld~j%j2zCo*7RvNZ37u; z`~v4l(|`$OF$>t(Tdd!8k9oYQdOSA3{&kKJE@9`PeE4@JvJC$-5P5wxw*H7fm3J={%rb6+I$e+Ok46hjI z0^?kGn<vcl1`uwxT81->Ws zAGfjp;`gY*`Y~DjJ?*d{B3~JH0Rsph8)#NLh-EBN34B@a$#S0)dfZO!-VF3JM^(!IKCy(eMG7qK}Q1QPmkdWLi-ZD=na7Jyu| z3{EFtQmnAZZs&FSdG~(vJ$ytkxkreDLrr{Is2OnAT4*Vhu3?{>2WoU;NY9luPY}Pc zJWhJDym_fg(17${q#4iDd?ZSGp~|M|JYfCXx%~Z}*2xO+!YKA62swZxc=1#Szw$L9 zMc~utLhZ9S3-ZB%wj5wgXTjA_?3`NC_$vdQENbt9_(9AaQY=Jjb-(o2vFStNY-1XUrn+o?X zMVz(r1Tug~lq3X@VS}w>JzX5DGY1wa$pM5@=z?Hvjun|C;f(@l(y5 z28bEYWGisX_^BQN3;E z_@2ss#y&o;`afeIANh%MJZ$ysTQ?NG^@N9S2{J3$a@)BH|IE35_FF%1u5YORPx$7~ zsopmG`Gm@D+)s{lSX2UM5q=|YKdW0)fG+l*0_H z;@2iLkFW*=2Ac-%A_p{pbOg7Ph`6`0h@u~- z$R0>N?(`^8q_H2gz5BLPa}4VL6d3oh>RW6SVB9%Io(zHY-NjHZtjn~Y5Fn0`gqO(` zUb)(Yr!Ug>dY|}t^I`wU?W6svSdzd2g1h~Mgl;lDR1@Ckt;C?5!xxR%lt{OUAX(A6 zsK8-8M5tu-dPxm3AGB1}I=aVM0ZCG)rga{4MGVS4au%W{?@-dioc+7DvyYs0UiWNL z7{qDfIzm@5VuNx<8)Dvx16~#Qy#=4VsJa1v`TzMjJyPtumpibAaDwebZ^j)!ivqs{ zMH^}yLYV36@rMOpqz$w$Ie2|S+Y|N4OvDCZ&@3Cyo%8>TO*+%LPWq3p{{mZL;wudj zp5|>)Fg#B(1%FZL!D|fc^dRp0cY2_c)K0D(@$bCxPRz+ho1B;x}fa-eS0Yw8n$>8jX5uJ}@#aZ- zKy89prf-LqP)Xp#g;)s{G4t7B60v%Led5M*45#ZP3cx)*ZNw6L51oYQB5gwNVKhk) zZWW>y0GR;PwOtAXgP+N~g{cE5Ld)^eSfe=hY@;9}702K_p+|{hOi*$nq}VGPV~ry8 z)_Eqe(x+ph{1Kgmhvp`68mrQPI7F>Ch>q{)iMeV`1kb~4LxH-*;Rk9CCz4EqLi$ZN z$fJ&lLs2iroMfG%i%->QK@ippF@>Ma#+-aq3xxts$9VqMUxC)G$LZ5a?T|-X8ep(P zf#KMgiVpTocNIO-_xETIMSl|4yMrb6V8rB}V)MO}o0#Io1QALQoETwwEBtG3C?JB# z=}L2$lb(nE2C+HR(v~yx#{W!$KIu7;CSv~N(TAY@3!Vq z9e}BrBl158!cgnb26OuTarLJ-1i-C!P?w@66Q6pVm^U2eNU$bBIQSpcHJCrXb!t4C1NM0g-FDhCv9h?o#n{(Ox%BL?B>=ZFtMpyC?wVGK^tg%J*V zy+2UDNx(PR8cn`k-Qk}>&vg+wA|K1vLoBYr=iH0EWSp4^G4PZZTd(%=MC9Yg7*qg3 zCoJN|8d2%%q}?Td1;(&e!4@#kor%QBA$%|10fb{GTvMf9!2?gjvdZ@l4zk9duT_}+ z$y&W0|7%8#WofKKIN6QW zh{sN1R9#JlwVFQEe6EA2sG9Ng_vum1(P*TW1lZ<6D#XnKs16Z}&TM7aL2_mbH1_M% zfA{`7nd4*bUu{n^$1ERHg2X9J5;+;fCn9nTxXWd*0za69Ifg~%z*OYO8L3Kz`Z+N* zKJiar`co9w`s7eXn1jE?_t%^P+1!YGnr<)ap#eB2b{VA1E`yZ88&IkU4gp~Lk_Z67 zpdhL$%^On1?&>^v!NU4b9VQ+Q+n1W5A1N5Mk(I#znWYBO&E*ZQgXO({Epx|-mxoN%@*KG!qMwG-$O>>jbiu`(==RA*G54DlRH4j+#3;1;L| zv5_g;?B1zS|Khh~k8qwA91@rSpm-K(zwCqDyvrMhE|)IjyO52%<~IVB;JHXMXU&my zW40f)(O1C+<9*TveWUYcF&)7S&FNy8SIB$!e%Wdo?l?!*mA-{`cLB4Ub}xm*x7`~J zPlkq%dFvIE;mI~{CED-v3y~B$f?YF}q$gT<@W)$eQT}?1-+!l<-S1O%et&`-B2llm zd1D8<$yrRScw{ZN5){)--RX}U@ltJ_t8LC&8{JJD;h*Uv%kF%;lRxUuwL9}i<;=!I z#^lV3{Nj5UBlX2ynz#9J5RXX?8z@x}=Jk8+*(h3@L63-kkShEbl)w*4Wi+ZNVVS7n zvl9kry3QYoIC<{{6zvrJ?b(c@Lh{fiQdui_s>0#fW>Hw1|J*8-_-db2`PF#Pd zmnm0z1RUJq%|w(2h0Pvk|CJ^(#_(O7A;@voB-Ez17%gm>&~+a8C4A2m#UIrS=lo)f?XH4|RBB1RQVoa(nR_^awk?cGO$q z8SmpB!N-@5dIJO>@AO9E{@`6+mYBR9UXGl*yxF)GvKaTrI=n1VdJlSdny)9q>$my& zeK>ds#&^)IOXibD) zfcqqBz+sQr%_*YS6TQ4uaRioIo$*78*S~Z~5nY$=@RwSh1zpb^fd%gL<`4VBcX~s2 zYJYMBGUrI%pf7-tA4?t3ax`>&@MxoaGLG>4evR!k;?f_jk_G$nRs}JcDuunFB7}M8T=$D20>(Yho@l&c7@Zmo#a5?kL?N% zAvfO@2F^}3gfmffG+lporO}z#vF@(%UXhsYbko_Dea_&XX?HE|OvlMtiTlah!pjOm z5E6M6h(eqt*3_UiTnpqIDVZe=gjPbMXl-F}%`XbJ2}XyUL8C{$xsQ=rN!}|K%|ZFza1ZVCzwD4An$53`af@4RdG5qTE@?WDj?<$vWb>#GcJg_+!qG5jIfrVSiDE{`Y(*=pgV=#pnvEJG9DH=X z-_+^d&Nqj&W@O3O&fULkZ)3p?@`ep_T8?;2kSdk#Dx`3QHxM}s>Zl-)k~c?aFYKXs z2@G|K7<79XYy*D2w%O-Fch4zGFB7v@d~MG6(0TV4%)mCPJ5O8vsLtN*s~H!(23w8P z8{kJ8OvhXwvO1cc>rKBp`^L{yfn(cPf%*CI+SGe0Gq%3HYuXc!&>`FS-@q z?pEktRyI(Oq&Tmu>|Kj@YWkux_B0F?V1VJ)dAKaphfQb38+FI3a0EQVzl)LBoHWET z_`%v$7$_ggE%W+1REVJ9CZ>vQUH( zW6iLuh3+P1JG6a7MusUyMe9j^xIGCUgY626chkzF_#y{34eBd{E~S#NSt^C_hdk88 zK1^thCKufY;V^4*R%n&A&?)F{AO%yRcUA!Xr@Ghd+d3~O{myRfTT5?zEbLtEoAG5I z&cCan=4I#^Pf}h8H*5Q-)jy{C3HF%l=#GZw&_`}?5^1dYu%VFfae&iw(CSy&cj<^| z{bz@8G&5a7h04aPul?uGKr}&-L&DS5oN0u|uzv7G)Cb4S`TT(Hr|DSaMmK%)yl82IMf)!>{;WF`V&o(}*vP9; zVk|{eH~<6tZ`GF^oHv4>O#575KKNLbYoB@=lDu3&QMtn?Ud!DPfCI1O@d6U2!xG)) z%X1-O_-44FyiA05DLfu8F4)s}9Ces#xOIus0K;^xe*(z#<$lI}$M)$!&lsR0>A|{$ zWxmNGfq@uRaem0j+ZTRM^$T~QlU_J;SoLOY&tIYJAE(Sd^uYOX`WmG#XxCALxq!G; z6Ty>{vCVtZ#x@(00|QgPeL?%;sePI()LjS3KVD}82eHOE7 z;$K>y7N_-S7r!Un)ev0!lHba|BjF`C%YWsv(dUG~o6TdEg|5S}_&3e;SHO_~C>_kf z(5#}?_=_faT(Q6hl1`bU^d2lW5tOn31Z0#jCVJxcZaPyomM^f+9nM`7Htj}-f{)hg^ z0rvcz(3ylIo+(dQ@lfyd?HXq4b}eRTOwTs!6@nQ`Arx-c6B_A8G~*qllU1W$su5nIF-Z(+xCmscbz?4BQ_(o;e_}bV z-{z$2@@ zvqYR`0%q^=M|qYNQhlG^14{36CW)~XcOboKmEY&D5LkYn0?X%aTlVPx`fY-TCO>`r zGUj*+BSA={6oHWtC7J66+c;Ax14zUIyj6f<^+2S9Jw^b7%t43)xPuKK(y_HF$??ga zsFt#Rs@h+x=AjAY@b@@l74Xab+zttr5;D^XH6uftgB8Yf!y8}@nQ-ekG10=&Bof84 zKE^7KA%R%esR8dx;#O~c?bmm_`>H=fkZiAmJx9PntR;xQf!)%0u)l~H)^};L6Fg=q zYa8(YKIRel^UxLyKIV4huz?Es$!eihOdep#F?@pdNP@b}SHwhu*#B5tV4vW3N(gNT zKeTi9OeTVQc( z(#?-=DuXUsD!k+Cys5Gq_i)jj0aM$zUoPt<%^8P>TqyTP(6<8y_3bZNJLK^{xQ`U} z5P-lQO5P98#g7$`76SjO*eDN-S5-rVR>jZ~4Dd)xjiQesUY|vuL}7JordC0d1X5}m z>7Dy;bN=zO@okgl48Qk-dr#{X6N$pzB2!!73;8il=rS}HQRk3U5$VG;c*}6Wg;!pk z_pLpCK0mm>)dfvAf~_z>0(=B@?G1$aFbH(WSu8ECpK-p6X?R+tK$s0_+xNB z-(%hDnZ-&je3A4*SzoqRyv10pc#C0-0#PauTN@!1O)Ic_1rHz@fLq1@4i*~~VYNQ5 z_US8Ui~AgbgT){j2I2Eq}@VmnK69 z^z^h=zD{v4q5se))w!_oh&)kzMcsKp^W~~s2(=hO#i=@x12C@xrv6054J@rQRT>ZW zm=QA|FG?=qVo|eADY;3<)Z5(abVkkZ^|DOBQWib~jQ;2In ztLf8iAn-Y?aZQea4(%!>b07i8NEriRParM5=^Qs2eAl4*d^g^kIHEf@fK0p+1{?ck z$-W1XfJEA7Dn0OdzCtgbbC2hBUpIO{{$+h||Is6N_e;QpxIDANg%DVYic{k~mQ=-g zJ`AnV$|EK=i%_^O#9LToMnP66sY#CR@W*y+e6`1|U+f+wQ~S5wez;!VEQPPm^W?WT z>+&Pb3&V|K^@fp;Rdh`@y0ewto&tu<&e#26xsg3F^TYn$Lv~TGAkdZysK@VNA z(Fnq8K>9^lUtN_FioJwJ13dsdK_E+p6!Wm@ScYJ|&J`&a+Ye9$Sb`4c2r3_eOrbl- zu-Qmqutyo|-TMY+uqeWXIVMY@6iA4cco%Pbu@y;1?4p{O>4W`z!E z#T2+^)J#U2nZK*~7wDt2ZK4(OA&8lEST4j;#(__o@ng=%+86!b&SL!w-QumLLvZX! z2{J~NtleOej2)^_DpQndhABf6tDq#ciufBpW1WXsR<{kum(L+(PeJh2y> z#bcye5Jj%~WX;w4le`JXQ^U>9y4>cgS^t*NumF`(pE})4+muco zP!H>gHuZ3b6{PM^2Kb*j7GfywNVx+N;;(A^`pbJrBL7o)L0-FcziN~p@CUIz>YrA; zh;#A<>j$_(|JTVMqnxvreTTh{_EKlw9l=p1Q0sqU<&`Rbm-704ed1G8ux)>S% zryJ|+$h)%BPy0D{k+V?_Z;JiD)hYOW{NNrLQa?+soGXBXQwW!ITEMrHgvjt^MS+ZL zL?5VG&7B8nZ!rvha2rA4Ggu&Cj>A(*bm2201aD5uPpI>Kt@guc7WI>}e#WgIY=<%- zcE|Z#b%MQ&ob)f?nn?T$<(d5j&sYATfP9_Dv7fH>=8=%rc`RbQ(wz!vPm_KtX#=7V z(Ih#YtF<1^7UQ)ZVxXlOZ@PRmL;<8Q+l{dg1V8V8nhO_{&s>#1TjwO90_zlM7=_AW zHM_VV6$kwb>kr(&+c{=)f_{O9IMF_Woi7X{x7kBZFy={=Mh;hRmivwOCc;Z3H5d|O zmjpfvbHjtqy6Eex8rj|!-j9-vGM}im`fseWx>wA?r>N2iVf_{8&G4f7t`-i#t&T&&zS6Le?to zAF?0+x}A|Lzq8xf$2tPq<`MUSj%YS4GH5u=W-Pn>fPY>q4@Kt zjo`NIvp|{TFGU!}%whgeoyY0>qiXf7{ig5s=&(<0S56;Zp=nglB7G*x!)y#-5Jm+E zIAvgN7EDntyM%EQ-jY99ena26`*u4|THmI>`1f26W|j@WiUR%v_{^KhcCh+k#xN1~p)W@QbO?Hs&jIJjXC4gZaT81p7&> zwHT=y87HqS_+vZu#x~}I@H<1K&3te{ywBFR9zUomz-hg~(nBGadCv2Oc=pZnAk|QH zaq6HBxX2r4Ondk|?KWYzfDtR?B_32B>t);sMI^z%3}R+U5Ug;}Y4?z|gYM$)Pno69 zG~gLIgSQY8#ihj_v^vOgpwR`SGGQ-;)}K;A$zosMS8mYV(8{1J1atHla+8p~IM50R z86={G{e43Hzf*i~@ZmG@G3=yqiACUu(=adOA=Q}QEk=DDp;{z5+9+GSp+=czFXP2j zr-$=+%ACg>czz5^(M(L{)%Gd^BRoz2*>^?nKIZm9MOJyMAw+D7u(?{QqolKrw~!_`^s zqHgI1>gD{~F4>wtuh5)qzjvL)qg1|C16)5|T<4hW=v1ZmsZ+2M`B!xWpiu|@%wA6$ z{hI#}kp3w#17M$!lFSiyJ2XjR?H`4jhgAG0s4Z3SC!yvX^@ip{as8g04>hOwKlw#a zKKMnbInD3<7on)im;O}Lg>$dX&-n18pmFT6_lsgOkYju6qy+++VotH%e%XM@l#I=J{ z8j#zvx^>>5?z{J!Ea$hn=RhK>emgHmq{>#@X)JRq6V$KjC5hDx_X{H#(kqZ}@>x?l zEj=vqU+c&4(;Z#o%qQ=)=a8=gtI%4NpCr9hsZc_LRdi|J-Z@O0O+6G)J?}Q-bTMpu zRim=Nr=*o=H8kbGGSHy9pu z5&q7WCHOIiUm5?|1VB-my7Ri)yjUC|>6a8(#egOZS;uXErKfrT(F5_ZEPeh8&*wFP@c zj)DyVqO`Kh;M5#Y9hD1atQa%toFjW(Az%=ordmJ}XdEM zK?4Z2jMf=Arb+SlgxU$e@cva7Sv;vFi~Dt~=K>0vI`>%}(<$HIDQ2(7><-=Dw1o4G zllXvg3y5qQmS;Ig2Shhq@b9^TxE|>+rT0NHj&uBnf}NB*`>in>LPof4UGRu0Zo&lm@&^*yh;vc*$; z)sqsBa3B{1gL(g0Wx?60?Ix$sN4hfTa?ODMD!XR5aZgY-LhKJtjeu|A#JudhH-~+l=^}h2r``g>cJV0NQJ`?E!89*%fD7xoV@l(|c=35tx z3w4-whg9~yl?7vIEmyD@)Yc*T;(RV_ghX*(va#%&?zsy5Sa+jY%-M7|a{x8$3qz+g zrzfqR-5rZPd!-cybkVM`^UzNmt3~w!+t~eW=Nv>-BQ8|mu$SP&<;`$lja%mz)Yr~8 zp6c7&qMexdORI-~jymXnR2Hl~+AgYrEgTBT-h}r*DBFkwsBhk-lDQyI+-qtV(9X`w zmPTKSZbIj|MwrVUpqBLLFS0EGGxChBx7&QGmndmfP!n zkU8WJly{Ro7~$3t|K0ksz3c2q()*lydeOr307xuY17{cU3OiuZiv?fO2x?408=DM+ z_y?iQz1Z6ghT|^esiq*wBcWAyT=u33#`=(YoBr!RxK9Z_obl(YfK5oz)1jddAaW9` z)M}`oF4CYNAXlm<|oxiIj9P6vJRYh13G40xwQ_9@#~m?knjLzmYmQ zKQ@F>KmO~~7w%fIBs3&DR2Ij`KULmE4G0=)q#_B@S&W;b5H~X}Kd`7+qiLm2dbKjT zjAaq@4wWD!k#bua3J5=eOm%0z&Ka)hBxc20jXIjIg_^*Dn`~^d$abD~weR-r;+dQ+dL8{d@Lzogb4_&6cXvlWQKo`;+l@nju23^{2Fkd?Bk)fZ>mOGDf`y7vmmge1y2GeRT~{@xu?56Mh)!!d$XFa_u+Rtx^(|Ka#)$^2CTV>MFsHTGz@x)CE1>VswSZ6F&zbdLLQhW@p!lykjpB< zBD>hTSJh{*cfZkjeoXDRInVbM`!4xi8f;xgGaL$FG%}_U_Z*TFO#F$65t<+lBK9hc z{8$w5gZ^9BybX4|qkc z_>cuefVJ!lOfaH_(eP=*V3UEPH9W4y%!A116oOXJHjs}q1^Jd{ zzMvkCrSdtP^kZqH&9n3q1SthYP~Xy^3pkN9p+Kn*hYe+I=@n#L^n-~5`50Ll#Z8(O zjWExMTL;Qy=Wun<*vVl7vlzsQ-f4jfU9&hEs{xvDT-6KC zcPFA3iR|OBA|O#+_Gl8_zK-{JD7p$h3kfQ67K9c}c4fEZ!|&*0Lub(`9_0+;WcXj@ z2Yf(lZ=RNu3@tb8Vd%;=Bs>I$6L0`d!11hv!B5U5wF%;z)^(nR(1H!;-6?yZ;8E+( zVxR8m1QA>jEk9xeJUv77&xXjw{;yc?uLSj0xsL8-sCtM8MMSs=Y{!H^0WV2H@`0KR zP9d;_IZBr;GuuH3FfM6?OA7zH#=HW5+4_?yCOQSqRqWs?J6g^MDu3tK&+TQ^3u2H* zCpF!a7ZsPF&+&}P#)w&kT%ivLJL=D-MkB!i`SSl}PH$Ns zwL)d*8mD- z8t=S}hrpbJsMsLvU{*1x#W)p10T5L)MZ}1u8`2)I`ceU(A5>ofKhZLweS!u; z-^e~qL*c6xw*aP)-~JQTH`}k{MgswLa+v98Ul&4+c{pJ2Dp1)sI)y`nR~w-n zh?QGrm+pOQZ@RtHmuWK!(}zDVI014S09GeZi!TD?5;;r&j|30|zPfq5)anl1h@@S^wv?cjCk7$hGP7&j8)C1&abg>~~=^Xe+`MdXyKmLbY-a1U@0Zh|sj&R>*_SV@%w%i32egl?EJoUy zp-^VyC65oNb90|>Y{~2JPn&J-%f-Ix;irT+QyR(G4#v8)rOn3N9#>v)x9&Tc!&)Q> z`jnR@cNenHymPtS<9KD@ZCwVEMpBCDt=5rk-t zeG3J*;zjKv4ejsCRraOK^neX#$-f*+D#E~WEmlIAKs@JsNS(Lk*Ti*5|)29l-q z8)_Tu>2K*<3=$e7YXQH<ZTA}|{ zw=cgT1bC4ApR<+*)em5p-%ihAYj61W4|+h8I;41xfM2JfO`!qm#U;Y=4GK!9!wJaO zDV+#N=o#onY<3_$aeIaJ3w%p>$EjWp^YhS?IL1KjY6S=oQ>MVefGJrA2;%R>|4VbX zIAWc>T_$hga!)+zCwHuRh=6ySPeFF9#kKJe5j%$c2#B; z>e@N7O@6~R`QQJaoBdRFG;+%ZgO0u`=HJl&C&m05>c6l2U`;0_3&f8x%>5h)bHfJB zb(Lh!9FkchX@HC<9H=lZfJu(~wbM`2&$|&jbN|piqg%g@_H^hDfZR-I5VbJgR)?VZ zFOwduJWm1JJaoY6ubxz`Io>5d1U;Yf__53*yZk_PbB8m}zXu)M6-gsnorQePn&EWyv`iNI7aDl3}x=nGl-eIU$q7g&}r_#bcpoGA%6_z^^4zVuS}nCxqE>n&V}02@JPsG z2w(|USu5a7PCqOjPGx*{Kp-B>NFmT80U#0PMLUPy+ zBV5u7aTF@f)8TqG0Mn_k@$Ky2i>(p>9$A)zvXcFS`|{8!I)MvFIE&0C0$YyZF!jO< zc8r~mRyOZ=cW*YrK}J-A$90t`r4(O+neIksJNGB7t=*|3Ck6W8Oww>N z0!EPfS>(7{(gdr+@Yp05X){Nq^>_b=#x*~!6QbSVX8;9Dw8GrZn{x3bo4`#aip1>< z9%cRI(Lub+D)M0gj3^EGd!IfEHWT{pEAXkS1ex`JS@*7!Un|@zCc5RJfRPfE=z6>?~lSPRM-3T;AZIr}TJ;P72=X zegb({iqnB8N-;MinTF$DFYAB@o-B_dZJIBSlAfrNGz<=TiiHwOr&f9f!V#>ReeHO4 zHFXGPs5yW3ziW@|%>0AU)pKkr)8Rg#ZsJ^PYhj`$xN`{G_*Ya#5~;*t3HC=02Tnc6 zAkufpOk;$5Tn+*QT4Kxr)X&@zM0#DV@TU&Rntkw4fB?|S=D1wwX0bSt`{Y1Pf(yP< zGr%X75#$|G9ZlT<^FG5t=-=sQ?{KDe>Y6RY1PWGTe)6z0(%`SRI#UgD=Ou{dYO6D_ z%U@}Aa=T>EGPgTHXM{UE>`XWM1Bab~CZ?Zm@<$IV+F|Cfv!;xJJ+f(;#<3a87QJe} zzQ<-PvgA!jJ=4^S~K$TG2yzVV)zVTw2_GdaEdK6e}b#(J%F z=&;j&hz#eMUul06!lQrYilDsU&+h?X(i(U^jAg4_edT>;6}uf3)t~h$4Br5sa7lA6C_#|F(xvN zyd>C74nDX`dz~z*T1um;GeTTkqHf_gN}nii@gTt(xY1d!KSe1T@!_~L$Sdu8owR^x zHWrck4)8jwr1Axn;o+Tlaqw>gtl^m(5cgW-x=8H!ovS-b?eVBTeH1s)3+ij99>-3`COm%d$SsZXO@8i( zv)tsbA9ZkJXIP#LKkf|1HPV3GjfZYiGJSh|^0+f~yT8!xq?>z4uQdBp?M}7@fz)wl zeSb7}+*wFONe>+KNsk7hH~$z!;gH`3|ET{`P?ZT>7X zJTk*z5B+a~A113!bo2XE90CSDNK|(e3JkDm;!IfLA+f|ws*foHXDcDtbUH3+s49)= z0V0`H7!E+2Gpzbw|Ji2$HLZ=(Q(O`M#Mg41PgEA@$fC>2ONCBClo>Vop2`9r$2!qi zqi!=(0L9bp6_t%0&>U*p_;6QFgZPZoCjPm~0vflWnaX_pMSB^9e?f#c?xQxY$tUXs zGbh|QY~Prb-n*qt@`=0~pF}WhW&5nmWLRDF3lhr$xIl20?hjpo;U5&VN*hm3gb*^; zWEE3z&oHD4O-=TvUu*3qL;F1h27DAf*b*p~GbqYmf4O>1mU_FPFg! zjH%JR*2Zw(9|&}um%_vj0UHcKJ*6)IQp;G}-8{6lMQF0Eg~Uk1Wnqd)gj8TjjllL8 zYMKJAJ4i_02+ddUB|udp%XCaGkbZ$RG~W-Gv?s;~|MmrP;A^IBcY%6v=8zB4=OvA( zNPFGVw~I|3^C5PZe18hfuW_u;&`*JPi=G~(BlZmZozpZP(-;BYx2sPiH24PU5*lR< zHI#{1ofF0OZ@U-sY;+#fL_|R%4*{W(c!K|o{8Io41k&^ukLZ;L6*G}-kRStV}ddt{*nq{EpU zU<)jnZF1JcD`D)CZ6fe4s9x~{0goUU;NPFJw!*#8**$f+crTt%S>bJo4$87_oGS`r z&b~jWvOty+SG%m64q+>p##ji!SF`0Y#To7mj;N*#ys<2W4OV zubS7^cEz&mCCaXqD0{g?*)t`|9xG9HUx~7o5@q2MWnX`_{n|e%QTASmvR6u!JzJve z@e*YZlqfq`qO77s*{>E^d%#zkuk>ZTkqXGvdHJ+N+540g;{PD)?LdayWi}zNsm+hr z;l5C;?>t+g-^Z=Y;7i>ZAjzbQxw69IFrNpk@3(|gc+;~RTk$^RugHJ5v^m{lSPp<- zSk9>_G1fQ#%l2#ktVG!dl>OM+UsszSS^JA6`g*!V*(2MGbMH3ew3O&8T%zpj|M|z) z^C|g1ww@1^zs;F>twh=LCCZ*GQT9-YvLhwR>PwV;`{nj)_`F2fhb78hr|ieh#fxh5 zBj@6h@&jDDV+_Y5a2Nsrp3n=YWYX?DQtZ!pP<6N2^TSqVG*8``^J1e#<*l0Fx<+LM zeZ|&0^X-EA3+~y?cjj}-it8xafqkSlh53$$=0VILZ8+7nFhWQEURU{#tn)={XSCdo zepgBa#LUA8i9AUGc>nj;lt1)q$`5ZT&$wCUHHT_XZ>$8uf{Gi;rFoe_^ddh`5FUSD z|KsAiCfy`?IbXJMnJ|(O{;pGA*bnDJ)eZKuz8U>jn~%(@2L;#}1DVciRz7MlN_5nQ z-^L5Srrndcn;9oT)j+l=w`|5SQS*RA~4 zHN8jv#@yccHGRCG@_^>YJb9X(K}Z3?w;qP<;_pe72Xo&izjYWx2x`1=y;;7;lo_Tk zm%|eCcdw0g>wH?s-reQldQUfI&e zi@&Cir&J!Sy*}+?Iw(?Z0zWB<_xXFMSpIAGW}l69>zcykZ>;IN`C|H4#qpSmlNx!ir{pyzVOIy;<7t_&Z>44F7jTJP(Pg3?{<2_t#Q`hVxyu7N%!3T{V zIJQljCglhFNla|^5N2(Nu)&_>oiKj{4_=iksbr_)G0aMq$;X>%B8Ff=X@m)5goCOX z0t_$jl;ibC3_kgzKcU}kVDK9%3+VH`-S8S$72qaqKz-VeVmz{}c|-r-Qg4AUCT>3$ zVmut3Eki+U^&X{OK^I@2@Xujei-5E@8U(VXpA$BhABW#fD%*tlr=70oIqVCe|4X#_ z>L1Z2;JNmkWd4K|m5f1v13OJ%J+^f^iyx|9pts$7UZsPf=rF;B#iYQ2VU)EP>Z0B& zs<%0ZBCYnE^0&b|Pf%8B%@34ldr)ORVgBELzB&K+`98Dn3GFq;lo^}Co zBL^Pb={qUEm#>KYXKw306wlK8%HL)mURBu*Yr$e~*v+x6i=im^wcoR|bcuSU_Un-n zW1LXg&s>YEHk;qHxR$T~$L-hhiOOzR3+Btiu1-$B7e%`=CP6&Y$$}`#`=Xs40%qyDkxn)T=nvsPC^M6uh+nlF|C@ZzMhfB1rp{#)Sz;Aun z=bym`6#IwIG?!cPUS>$u!eS0Ei> z?gDj{oW!<+x=PMt0EoG%lIvI#QdfWjDIKOw<4R8Q*cx?}oJVR$T_x91byBw=n@dI@ zz*QH$2F6KB&RN79Qzorqc!CL_gnek_v4}yl#W6Fd^PG~?n2unC7@p$9@po``b1&*7 zAG_?21J&Je5%?7<3-;olxQS*NZ4K-~@z7{e@Yx0wYb03|5mVNcgnc0J%9=+K@!oejidAxZpco=ljjBZ;9Z?gggt^a@==(911@v3=@)c7( zF6kBO1vRCiuheh{y)vP*^s2IwN2A=NMV zKV2aoTeG|;b%Q`vFGf;uib;=D*ka0=vLc z{a#nS8{-~My7+0()ihIa1Kmq7+t*Y#u#4eoPtKUz2&hbYr=`s8gsC%_hnz>ycmt%7 z)VwlfodTeyA9>XJF?;6=((#;=VrR+iL_7pO9wK@k_JFu9YUN8_BL-9)ehL?{AF2di zDG=Wr$^l#q)%9Z8NwtKHrX}iB97KtYi>k;FH1L1e!m`&1@&V=paItW~eoXIqLC55x0-dh9o#Qxe+G7TA9oUi?)w=36F4*cRTtRw+ z6&&WR*{L9KaRKB;J-)zYojFa04oXUpcq!)xToo7|=9n+20 zT>xft`Byg{<9vKe*=5R5&#b#L0j1poDhuRq&I!^MKZ&eK8z_N85@NioHcb*tsvS4{In%1u=oiR*l%x&h3u?V-=pQPfil z^6P>ARaxQO#3*a#+;s8(*7wDqx3LU%@5qLDnE_jY=)`Vkyn%lBd!pF?j%6=P>(NLQ zhyTHfK)(2Z%HK4eH;SHAfFR24vy*pFWr3Zi(?r^R$LQ(iUaAdXP@zZcyID}Ec}fmQ z?KARFWLdxZZ)q3My@AcIdK`06>!SbIQl>k2HfrD7%HCI5Fh)Y4=7MnEkS3L}NVH3m zzK({Xxx&lwFQ|U7KhCpCzZKB?f;*T%@QtCxpfOxoMy)By`By!?S&si;P%l2dq0Bq6 zr7VCm@lAzY)0VQE+kOAv6#Kln-IpcGJ}y!A=9aRX$9t(n*`*R?kCrIAS7iY$Q+M+k z_Ngqe@sB38je{5m6cCbIqTN^5w{Le{Wd+*l=02~LX!mll-7WKcMrFYnsJ*~6uO_ku zDgga=iFWs?Y@0LDQlcze94|T}SJg}?Zd4j$e?7f9myLTB=cF4<`$T1hwPR8MvI)h9 z3KsM4sVso=_2+bjlU|eG(kEf3%N}T6zrd^P5^IaWKre}wna04&B-1~ z9@PB4`LDIMz}`QAXV9=$MK>Y;QCZ**cyz=)14>#6#j}_F-^Cc}v#^SUE{ zu&j+bV}`q5RoehIG@N5@z$#`1y|PBsA%o=Df2mHuyH)l`hY*M~oyV0Q_zTtwe)gT3 zF3=ai|C`G$fO#LB4_>cW`AF={sVswCtOU|cF$z^%^vN(Z#9^QNT@F9qL>TO`6yb9_lgqZr(Ir(fWIq6oXF|@Wc z1hCb2t-kqu5Yre1*??O;p{hzxyVcl`tXeu5svf|A*5Xq2iztKsn_@l%{JQmyUMuET zUhzjiHLEEMun6`y z6j{=Ten@=&+6MZZ_K$Pv{(u^5^uG?EUGA~W!QB)O~pQ&E@WI@ z#+wN(gz-=qs#q=OKYIy-zP|ad*n^ssV5swz(gBR9J9*A*C^iAlb(IBlS8WIDyQ1@* z4!-j>l@)m19?AwV=M;^Sp#PUu7Qm0XbHEQ`^sjEvxzDI9xSMsI7x;KZQqFm-*r)Tb z(gnIQfsIKAa%sWp6D8U=ZE0V#P5W;@`tg3h*e3sD@;CHnA8biK|3~ig@P>dX=zp~h z_To^1PLSq=lW%L!TOd=()WiyKB-G~VVw(bu7aiR&zbeHac8;CACCa}0FV(JS>(q@PnCilvKPtnT}TExxc%SpQr7 zT@hFr3LgqJ!mtd<|D3;jZ>fhkWXL@yLaGsQNUBh;UiE^zQxjpVZqXT6yR46I{|m|j zzUNQ}WrHTVn-6tOVq)pFPTQN&pk%*!)-OE&;C!SuZ`Et=)vdJYz$s1i{+rw6zpVVX zjkm1PesvNzl%2BipD9uH*e(5?W1paZw#h$S?5j2yr-<8Ytc}G$F3dUT>)Q`CH^bS9 zF8c0^kA(snEbYo%x^MwxNMktRW7QAN#r~7sP*43PgyK~I($HWWf;3oZC@K0Eui$qy_4n&IT8_BeL8y4L5R-z`+!!CcL76N)0?pX zp0Ii*d#r1WL3`OzA2tEggDMMb@s9^Qf8#WvQ{C1auKI2}1gyc=C39Ww_gYto+~Kub z09Bh?xWu?$f1r8WxW1G(pBH~SpC}#3z;8QAPtdr6wWJ0V?op&H#Ebr6{nl>O;G?!K zT8L--qVl;0z|Deg3ILPkg3#vQGWy|~lFk#b9zpcUGF8P)MBQ@TO);7R- z!ZoKGi}d5uHujHY>3(@lLct(P#^rQfvJoaUGW0HdHVRzXczD@EoY`+3XtI=xrX0>X~CzUTtQS( zMrO+)a`}6;SbuN7wWo{02Hn$8e+6Qq z9a5B0)c#lhX|Y~AY*7C;^*&a;06sVAPM=G_h~+fajGF*{TF>?CUFSFg$m}hE6DplyZDlqz=)w$+`&_pE@F|kZ zrnjCbW0(~}_M_w}?_$=-ztmSjcJQ?IYw-ro8ClCCwPka6!>dMlJuOw?&)89wwQD>zoriS}6Ah zN%?{N@Oc-;(WH38QO;5~$`iC)Q8CM$T^#cX<0PXY40i|cidGUS$P7`}wBM-H26&kn zb6mXTvo3DDXngV1&qcaO^BUA_o!(6%ov%b@fK{xjRGmROz)QY$3R0_eeED}ZAG?qB z=ZHvw%W`zQ#Tkqe3qXG#S-IibmYxfo5`3SC8xew>7!M67vIEkLL9B2J@|KrXKcF#N zbZ5@X=ovZRD7Z-xdd1+6OE@5y!rv3tzr`T?AY?cOUBb+M2oGkuh!^yJNPChicvmH` zqd2FN=BE?fqqD3Ena6(M(U`lMkWbUnZ4!9o_bb@tFa;IQwsldvtxBygDovdd?CCIP8(k&){CWd^O+phTu7xq~aW#yey!dOnjE(AIYX z{&1(KqjWJj#5N2+B{pAy{@8@!!vkbnHq z=DGUoJ$;L~>9OZ{=wZNO+Ed~{jeAorKQe@LLLrJ3`-Zj@vjN=r5F#z1805_&6owHs z%STibmscn=3)!b?Or1?r%lBqvG8s9I@zk<;YE zddg@82SJV`@Vr)@cPl(}gt-Dwz7X?_lZl%&FX%+%ti2p*rR@N2y#xl};UK*JarccX z2(Auzl|RZTRsH}HpjypspUus1++NYqZ3=Nb?Lw(w7ZL53&{`P9`8KOH7(M)y_@9dd zZkme_(mK|#gs~Mc@`$f=nqx*t0%lz+jVgBovEUkS_YjPdfEZ?K!C{+ceHD$=ya&it0id3VWap;Onp4rT9zGf#H*6 zgCXYb(w>dq=`5FBC1-^|<##G79O>zZ-_L8`*g+f-)Ld)RfhQm5=;fn&0-iJxe&>$j zHQYg(z`fZ!65htDhH#Fnt#AOb$V86N06>MY`p&bUqfA|SrWpS{Z&Z}Ml@0Q}MKBIraj^%wU<2PoaE(Ro*U z?T9lOS9*!7!3^X6^bu!xpASZu+~*I2L-zS=po-h#)Zw-4nY*3b?W#F@K&=)J_#@y3 z4DpUS*@QoKr!$xEXLtm=RbT3}cQ_yK*n6sXcXF>m^+>0eh^ka3Ua4P5GberVh~K_I z0a0oQjvD~JSJn1iiw(553wnA4I-X#b7Lf^J5%DW`gfT9uUH~6&z%`F;X`PCY$WA;t> z4=C0hv~S8qMveUY?V?Qgt71A9)H~yJKxOnn|D2=U$CPKsOx|E??f8Frdl#s@uQK6x z|NrmvzQD`N{Z0tEG^7c+H1}K6G>vVi?bLp4?In%1)~dDbc&VMH)~b~vMao1@WRO8V zl|{q5%9mUwfskY5TT; zX*gxh7*bbm8uYFzPk{J2<;lLO`GT~Q=xyZ7bE+JwKC4*b>k13LA0q9$e_h)ZUeU9* ze(Rg&@clFk>zh-`Z%v-S_>A4E6`uGWNE5P-bi^=+RPb}%1t=8U(-=$hZ6JNhH%4<; zYF)uIC2I4Nx`v`#7RhDCc@NmXe~)sDdm{MGKYLl!!koVbc7;@J-U7BH2fU;Q`zysxNMaKR2FMmqRG?|EhXw2jOZBt-LRIU(JXwH$LjoWlH!N} zgZUc8PemSPp_lns`R_(UqtHQId%%(dY5AnkV=UxM|&LE1oMX z9&QdWYz{>$p38gS;v#jm&x!$D(j{lM*!r)gxujW}lnG1iF=3kLUB=-z|L}(}j>!|s z5Jdh*VZn3vi87}O6sk+2o2KsZ&~@c(0koa@RqyG6aQ$A z))@obmt)W8gfuv$>*Q5)groiiRYg+5J^y}Ft>3ld7yUT*+*2ffmhctApD)2;9+y`v z>_x(?;IU_Zpzzb{^j^9VvIAzm=M>W7%DlCQ!CL}7%K$Ha?pa*;=oi0Y%UBw*wJ}%6 z882qR0YOlyMcbzHVM@O_^>zL6LGmy1^}~*)zkKD}yGj50`Dka+FH`vQWlPQ|QuG_a zJ|&eop+kS%#3rEs?4{6E$)TKUr_r~gLKksT9KOfnOcvG`^*At zYs`FzOu}>5ZlCnZpw|>@<&|DdJ%vGGpK0)FZXT4B?8IcE^*TU}Bbsr$wlR2?;1jFD z$Y831oN0?=UDPP39;x}* z5^+tjB3(bG+@j5wnENZ7PRq?8OS{F$p#Ln@o2HhJ)&WG z-{QRT{Z`jBSmwv1ev~hR?-jUGy~r!6a5aZziQGcDpx?+X&T9QYEpKSYX?4EOH_~t6O~s`4{aby}W@5e8F7^ zVGmD+m`*xvDN!6IyxgGM7kHE!IbnUmOndIC!5TOn0xEmBLU?XMs^oA2-^DRZh{?C^ z)(bBnNY4<8ZBOB1p2#p*MH9x7mJoYJ040vX-!=hWwDc+_d9>f*Cb2$&R z?%K(yeftGz(vL)!Bjg^9PBZ!|KGsxs=!kPN z!DNT$x+Fmw1D+H4Sw;q51>lU)pQw*V_=*|^Vguxu)+iJpvK7Tqz9LS@05M4GjT3Ur z+muuB8pk>q{rXA;Z58H(NujMrHjsEop5ttoOSG3xIqgi;*U&i5jh%`({GLw5OGBcW z$GTV|N-a{KXi5_V)t2VOCxK%BgE|*^57BajndzyI|2=$ZD8|J?lW`@IbX4t#1!@@#|X6btV@&8GE!Mi2& zklbnC2Dfg|eeImqdHc>1e9hwm0?oM!N>6`S%Qnh>C3#8{`1hH2qcQ9-VBP&$FT(kdAm7mVu5t(-r-OLbCx>8N9Bb}-Gw(3abvIb{_aEDR5O6~(p(s31~>Q!2qs)A+LGZcQvh_E?!)dL0n2U#Xjjz zHlvFuTSKy%1Us9oo(SrbO*tciZ!{Xb)W%8i0kx4zN_V_MD-ty4 zOhT!TVg+gXh1PWLrJ?iy3DfC;llx58DnId)s{$qaOr?$2uL?{ZfCmv@O%1CX9Kf|} zrR0EVSX=MWavA!CxeWb6_ImxoiS^p-;`M>y1EzX?AZNd6SRc5s-?Xm}bni9&>jOP| z&G`C2?_M*zKG3(8)DbrL9s#`b~0zQNBs?515*pq+!1)*>*;&>)jFP*keX_3~M(#_cBkf|M&T?{#%Zf zoe8~fk+1uC($3UbzSOGp1BM-3hy8xx$;{%1TUY3)7;TF^MCU<+Ui6bv@T%)*ve^+`@?WE7eb zlu^}4QLmoT)uCe$2@0cR7E_>6auK7UQ8E)_nxoXDXjXJ3=X@=W@a)yr&BtS{LIse!`D7-TAf3jz^u)WtAxp^zfzr^ zs=qRgt~5LcB2!KeDn%-v*0z^Et+;Z}Cr!Ud?k7#DcL&?dD_I}Ww)Z}6a`Eu>xcU(3 z`LG%E71PGqP-(o&=)r$sCc_}1obpTFQ%Xp`^fA-#m%5Ls-p}xp zFou|gv2dCFf;ys~{DLV6$nZxoo+$+%HT?mlFW{7Y@MMOXM#>*n8^whW>s!6;A(I~~vmY|OI%*gv zKKTVTPMrG%Oi{|YmlS81Iv!NyEJ%>ix|F}|@n_lE_Iml(6DA^B~zC@Y5 z-%KS+&HZME)8;PhrZGp0+?kzSH!qkf}S( z#0n|D(@d|Bo;yru+WowOR!aBB&DoXG`f<~>QU*V6dRNN$y`~}^;C#BYec0r$l5-zs zugl~yQ?p9Sj+t|-=}Y@+DZI}Ntd`vS%*EA`^|F~?Ee#(u<7+s}tJX^8Uz>AlrTDK+ z?^@}6!3?aG`Olj(H!!6aZjgb`o1Ash^?6giPC7nss@BPw=gs6gfVCNN>T{+!Ln=OJ z1~R1Yvt~F$a`?M`23FnRZn=27ncOWCx0~!eQhK||+ao<6Fj;$9WgUBE;D{O6EA2iTG{jZpOr4f}Jl#|EIse{t+m}%$lQPXu$`X4p*w*YLpMe3h0J-0~p6K3KT z8Tg2qzD4psVou%4D2(4KosXK?Tc!C?Q*c-=JYtFtOXVY`^+*Z3Z|p89c-G9^CH>Es z{JW*|)8^#elK*KlayRu(-z{06F_-R^u1}kyd!*%FQ+kg~{H0zj=N<5nf6K|zc*5W5 zd%@B@GczgnS+~K%!yh6B*Z^GeS!X?xi4$%t@e_KFb_L&zzbsaK$=b$GPbB#fx6d)h zq}5^9uIH`Uta!*|5E=P_&1>lkF+;8&DVa(4$TWY0Rhe%pJcujZA<`&Z+uRv_t{+*8 zG1otdwNKX%Q76aaUr@OVf1W^2^cM;QdOy$UHjlp=_Nd2yM$GtPowwL;TE5lG>9rBG zJHn6P)o6rY4N*n-$D>U_r2j&+sfzT^N1Mh-KZkBlq#rC~Jkno@Rb*AJJ{RrpjW+Gk zex#uXbmxxhpDFz_tA8N5fdc6tOLi;QSdIRv*FQh{mX4979mEW{$+Z2Vdj!$2`NcMV z8~AGoo-F#!j8BV&+!Z2)e$yDn0Puogt}>V2g3prw{H;duA;pO|ZDr#gbSJI(>j|&2 zdy!FSfmYzka9pN?mua-3BA4*y1W^bUz20T>Sn|fAzDH)G6??mg z6r4w9qD`l^h-NW)lOog6YSJ3VP5JaT+RSQiVa_5x2bRVx^MW0VHVr-*UG(IH{x9u2 zeXHfmZc3xYTixPN^GL6E8YLZ{5Vy3p0r1#ROn(MQE)1ns^XtEz|EgQ3IQ7@{omk_( zq~F2_!cJ4{$mCAN;U{(~4qvxJN0m{AAVGpFEf@=SWpJnI1+m&0bkEU^85zv}dZc!T zE{U2Q%E%enu4<{qEQmDkRBBJtPMyc`ohk$~w$tP*(pln@h8?CB7AIDPebTUWq9U29x% zJv)_S+`E&3syjWiVECir|3XurSOoI z1<-RH*D4N}WEIRhm#nA)xI3r^rZqNM-Me-qrRBBK(+46#yOFv8zl?nvfqpEk!$4LW{{x*JwU}(@kNzW-m?G zjFstHs5bow)f5J08t$MCZsnCV`fKTQrSYg5tvGkoOhctRX7VBX98m~O9A$1uhwwZ}|xh(e)Gw>_-Jdb^Jy zS19Km(?wVGn8^w|4758;I*ysqFsVCc7Fch`l+j*)%oK!g1&Xw5178f6{G)2i{lrm| z9gwrfOn2bZKszI(=%^Wv&7B7%TG+n{LP|51UEs?>?*?_!$}+XTgODGWeK!a~OKev?Rzd7c)_^OOs?#p3K4vc1cyHcA3wc-e?U(nl7w%Ly;E%WyN#;3sJlVYJjwSPUaYuPjhqQ$kCYzQx;YV$}0LW)P zl2tH*?57fil9v?EC`{5UrAb2e$|TKFo21$6lK?g*X};DZEz_BlMi#91L;t2NzH)8L zYkF??J10cyHtCCJEK_~Cjb_3!l%`B20OV$xa&NZ_n8*8Ira2KR3%Du37WXDo8!9au z%|fUaJ{czMnWi#Knlnvvm^5xu6A9g!=2BRff_oy*dg?cs+}LS9zlssF*l4O(j(N1? z8s7f3YXUi&OyinB)+W=rCXl_!46X@`XPU`1nty&x0FjXsYc*cBHgF-+)Y*9R+Q3|< z>9O&VwSio6W|V22O&fIr?*4}22ZtO;O!~(E$_ZB{BTXq!CuD-SeIk_}f_xCf|MDn3 z27p2vnU2uw^<0!`_DBP=MO?L!rdHyCjv}rR2`wa@IQI{7Mor#(iJ$VR6NzTuoR=Tx z0_q#0IiO;8ZAxo^n4`9nvVNF$}`e=K#{_#{YreV+^-CS@|#UH6sMc@ z951?A4{xBAT#W}*T)G3gfJfSSDRW%itfnA_v|(G?2)}nJe}n3k5_0PfA^YEJooK2m*S;#ugT^_+hd9o$D;rbuh&r@ zTQ7sV&E$F+*ljMXm;T*QM&u#|)-zXiHy$G693+w5CU=8O?l$Ecq;I#W+8`ynP4`Cq z%Fss1qJoVwx69;a%Iq$4B2$`nnW4-ypxK+Gc%M1BNs1W0O;Whe)NPXdeP(8pmd)BM z75h!WW+~rqYBx*SesczSv;F4677N`fkbh2YRU%LARweSB*{U?C{v9;!c>erXbI&Wy z+R`%~dy=%zN^Tgm`TQ_NyWr@TK?w^rql!@SXu-ScB^XnP3cFGerpuq}xlS>oMpzeC zaba5VI_VEJ;~_E|YI-ephy5qMm34lNeyfi48o!=1tBG~0`gpLWK;!WL`o{cMJ)?S- zWb2wf>ni?t2t-=iZ&NAZrrWF@%xx;V)OMR`1}!;kN?F3U>2l^R+3JzpBWBnmIY(44 zwBt6@2*L3-!AqI{0*TNI%!`G6v{vqunPNCgVoS91uA_Icv9a9s|XhLCE9ACs)o zgDSdNd`RgRMTeArF?tK6i)4keRv|+9+dTXji_4x09;b;Jws+i?(9 zg~oZ`K+T$tzMXh~jGWtNMq^48P_{?AS-D5LkC>W0(sjht?eTXWF^zkq*l_ekpz)4N9peD5n1o!2M8sr{we+?<;?@Rxtz$pcRrsCS&xIXaG?ABE|eZf5xl zqT`YIbUl-1Rw>F~gSd;##sSVv;pjY@5*S!z+Ee@_^rr+y5O=Zhxs*VAy2(#XBmGor zplg+BP7PdGWx7)XeXGoHYM_6WDOtm+EWD7J7&9tsPPg=0YLJO6d+i)C#D>D2>{GT;ulC*mNt z=f>$v;bN>3>&9c08##fmAYKhI`uqV3**!;<+GQ$6k3t?dptJ>X2%;qdo%5{CkJCov z#hJ5Vn*XFX5naf(Dy8UKEntN6U- zdq1zkxl0;CdFRcA!b_SDfqpj-sthG|T9w_Sbof#T{Cfq$u^naCa_WaDZ;E{gwf0yiS>9Tjs3O ztskM{rX(eyHd;POjpdWfCYoVA8m7<@NK%UhsKpg?fhDP>yV@k?4qz_CNs^KKPEwQu zYc`N88-}QcW_~7kCSXh>}!ha!#1vgxaC*a_0 zGdLHHkdjO72JyF3@>#*J4`V`44F6ozZE6$!6nZelSlCk?Uc zSnF)884Q>DSkr7r{*ABcc@%s3Ji3X++>9KXQ!J&df1l)rD!+OLR(=S_5U+Zo@R>-? zwl~<_ly~!WU)a0yZ{2ltZl8N;i@DDo-eNxC4sAg{b{-L6I05)AawCaPa|dnV5v*}Y z0=mqoGVg@&AYsWSQXu<48ZEaSj=FiX678Ym96w=|D`jN9XK9RYNc=;yH-?^C& zW@NKQUb6e)ZD$ALb3kAJN2D3gRZbew21g20m3IW4Du@g5LU*ovNL;+#UQy#8T| zq_8|X{9Qa$V)VyQi~{Onl>>>CcUy|`v?(wGH#*tmCO}>8O$dU81rb#}gHLAyEs>*?3lxR*X0}AE`-7r-sfXt-cqRS*d1_hft~+OVa##$r{H~ znQn$#UYq}__oVJ&i>LfOW>i;mbvZ5$u0|ZU5YJhTTeKZvogKy7IltTz2v4qCy4_@Z z+_LS^Ny?q_?Z}q6_}hYE(zG23ll6Vup<1~86oARO%@o7U+y)D!!Rg#)8o@QTnNGj- zZBt6p&^Dy$-LY-TnFgT722q#723eI724RY725E=721jM6=`&+D9tV4<7qB#ygJg{{Ox8m z&CTOmX|Z+N;Fh?jwwdvjZY=}0vfZiKW-3<;Kl0ZUC}c82$jeTmT=k8juD~`3^^I-N zCuzY(p+MP2sX%dHqo~ucjZ(bLv~QF;TAC@;a4J))yOgQ*uH)be~&CP)vVTNf0(aun@{o)KW=#kzGC2+xM5%t~K z%jKJ)R&^RORGOimjCuu+Lf*nFpjQ?$bh&qAaQRAmhU%=)NuHD$`haZX%OTR5p_JAE z$}2X46Z%qehsvo8)iJ5%YrG;!2?NNLaEXL4na?ntSW?VTD}vQzRE&`wb0z~-GpWlk z#I6qw_gBfO6>4%eOe`J{X zRnkrJYUyHFS4$_K&H!kB{bkP1UH0t!8_&H`y2U)9DlgAVIR`L^7iT)?09Ohkf*j1Q zv~N+WKDsd=w8dK#p)KM{@hBA8{4-ljw@0eCC?BYbd&MJ_TpZv@Tq|B_+pMqp*3Bx~ z*oDrFS2|Ju@hP+sf03J2c(w|i7N%yindW)4#k7Ygl-s#wvzZK$=FKKIRGLr`g2%hr zj4)5!K%r8&Sv7yoZPv+Y*sSlR{!P$r6k5QHknWdSzQ~ES$+Y5g5^bXJ2^VmAq||al zMM~Wk^6q!-B3o*XD4J-IZ5AM>jMy?|HiXC`h4%x9Xp8y0;0 zU?*e$?@PK@*I&jP>KvTF$Low-iqp5TJ`)`22Jhgx5y#ePcLB5Zd*bz_*%1%LOWNZV z&(0;?JK+GH4LQ=pO97oJ93Ln*Y9uT`^g@^)mi~f`7x?`nu=i1!iq~U*G)}qWGjV3t zuaZKS{8G+`0|5}D_JEch3iwCj%w!-i9ETFxS(o||dt+UF^A*}3t$54n*Yr*8fUOl- z!Mjs&rXKl0E2V_QS)U^XDz%_c#2ro~C_9DrL)WJL7hUOzLoav21>EdYsl6Un3UUje zPISyCISF8JlaAKyzjr!bFD2r$;eqS~90k+K%77nj`l#g33Qgs~6{^vu&~i<;GG))&`Zr%5r^gk2IqcR&n0vQjpP2c^ zs4?>m$Ay|_B6PmnBUGRVXq$J$fektzBIGX*1&079ShPMZfPgbFeas`Ga?CDB=5 zu|qmfS7sXhf9hT28}C)#Tju7R5b*R%K3IbneTt{g_!LjCMs^vgVSuwLUYqaDcZgFZ zb$slBdv{v zx4$s|)sRwMw-(=yK1}0kJ@w8ES_yim{0R7&)BE%rH$K5{=DySid+>zkqF1Rq{HXIX z6Vo;dyOR1}r%ZNGUi~e~-N5 z?h8^GXR<+KAu6!)FpP)5m)%ZNah%QNp@7@`8#op&`2ED2bp7`Q{L|0`*r+52{Llmz z0{#VjG)MSPQbR<$L(b7Ce-$S|l$Oek_9F#b6rE1IIof{_qC>Q%4@diLeenSPds1uV{u%dJkeCg1&R|*L);0M^!9{6AM&LMnrAK{ zP>pT(M2(-be|r)G$UWvK1$cxHBnKvv&3_z!hwi}2Osd_ZZ1X#1T;O}3RlfI>D3x57 zhB;6E^LwuJq21ZW0>9I}m|z~Nx|WttK}rKC~iR%JGUD>4>nE;PbKMPP>F zQCWXtDA9~_HYXx*8clo<7B0fFp{>FXXgswEu*X&t2U|v*6FDr3!3Lv>iD;p^cGR>W z8tC9cL#Avt&drhWjng^{b%09aG)HBe=0=i_l8~0ErIFW5qT<$MueMZ#-@dqX7HqrI zm{*>{qzczN`UQFJu1=Lk-+BrAfF2BBYy!bPY^cUmJ86GGF0L- zZ@sDXDPqW_0yanU!8+^0E45CveknT=rCBGUv@DL1Nk{T~?grJ_n!W+~5ox-CjUm}L zn3kA3K|e9XKe*0hBfv%3cz0l(xe)L6uQLnrnc3@1L81`n`A52PBKa`y7d+M{YkVj< zmUvt0gDC4yuW-vi4_CMs)|uS2%<>FnH4)EB7t$xwWqz%>fKTbQW^k3(Foq-+Smr9N z|KcjG|B_9~S-k^j<7&;{x?0P2uGV^H*Xm6D_662;s9o1toJr>$wk6U65Zu`Mh>jxd z4n+^aZ#RI;q;gL>afE9TbRY2qkotqtMVup%^nRomkOPDZ6VEjV@v=Wu6Nb@+h}SEL zjMFyW7nbjEsb`0OmJ1%XQYW`<#8ahlrUvicq(@5|!i>>c7*+|j%_@}=X?mhCf63S% zYiqVCJQx*Eh}A+!q7z?~wNH4rzD?M^P1(Lp+P>rI1=lzqY!USM60ai#b~Wk>;=oF-!|Sx*XH7Q z$UFyGxi%op@n$mODG*Uej-<@Puh%<53wOlaM{Q-Xil$mb5Pf+PI${;r1OGk_{eegd zaUyAV%(Kt`L4TejoudG(lKy~I(w`yQp9b3>;`HaN?N5R24{`cKI{hKPF2kk%kU)O` z(jPL?AL81d3)-L0awXOUq#+(w-c#IjrEpMUl|TW;%Lb=#OU!-LR)nHIq;x%a=@bd{ z3Lw2AV^3@(g*azzf4=>>EBL{Ea6Ulua;(AALXR3X<(-rZLP!U~l!Ocv8uCThTJU61 zEfVEi)k9Avr?*XUMAlY4oGyKKLjR#|7l!;I4R=5eaTh)4*6e`{SiJ`}N7Wuv3dXoc zg_i2}=rEqzqe5A=dsO+Oa*y(gf%ZeC-=q4}#e39SbLCFGs7{cF_uC$Qvnjg~t)bnz zTxNEfY9z9DD{=$0%q#iSk4=bO=#NOrUe(E+C*8LL=!nlnJ{yb9z=}z8&THqlJ*H}nbnh|sYxd3VR%unzTh{8wJ0XwmHGMWd zyjB~25fQ09=EM!!ueNpT=jr=8X<%eBq!|u2Tw3Z`ub*vOFMYd^Vwb^PW_rC0?J^hF z%giow_C{?&(~a7kwi~s!?i;m3<2Pz4*tbP{RF)knv&s!Jw%gQfkn!D0d8Km~pug@l za~rhN*&B5LPQcdPqmu5Fg@8n-tB`bOz&2_N>ocWZ2}Oyt3WhF2SiebI*tkhs+p<~X zuy){TP-&A?A`4pU(3I7JO#dmk#+}DKC$af6<0}_-Ci20YT(&X#rMQd<|ZH z%&VBgYxE0EKKmXxA4xqXCs+IO@lxQJ$M4Z%<|FR`yG>z19pTV}p+~_~;eRcq zMIQ{UQQhUxMu&$Y*i?+dPFsHzcN|fr`A2G0i|J z;25TLSrgQKE=q5cZYb8MPkKgq`!wsic;G*oZ=>d`U7>UPH*T_2N1Jphk2dR{CdR|_ z93rF6Q^b)?X^2LeRpa9rwTynv zYCIQxAZiZLIHbZe)NJD*1a;ILs_75~k%;XL(|7}Pr)bmcf0B3w7JCp_4Ig&-Q4p!t zr_hdqWmO$1g)yc+Qu1NdMoM;!>5Np7*?zeD(aO$62zDB(A0LZUiQC*LmA2)9&>5{N zJg~KDK~u@2e82gq(41%!^DN_X+S=NArwGku?S25ixY$G9#><6o^a{zZRI2ceu%iRxMK!*Lw z&w`f@M_m`q8_($cMCkm)#@1OCXESjm zG-k2Gs_m&kY?vy{ZY>j(Q-69J>4&5+lEsKD)N|4h3GEWus7ZZeFSxnRS%jJ72_&TI zy|I%K%8JcWJ4T-+-mh<#8ElRdM{yTQOMmE-#G7#76#;Rq)5DK(rJNxD{3*WqeanZ8 zQ(4!0)O%^E?zC>(kvA3omX(jTyy)lE?MMx(Y996+Pxk`uS?fB1wJ!hD7@i+a5n z@1@cMs#2vwZQjn~yDt=y4EPQN9d)322?4DqH+oS+8HF6Y*-MYMKjvRd34)7m%_3@MNI#2o>`%MtcTz z*no^CDvHJHb0(losEkmxROA|R5|L$)Y-%H(Ug*0777uFZ1-(Usv(d9Y&#Mcw->dRAbqK3_HD0TohwVuM@;_Q%(5CH%4W#eV7yj*1 zr*HjJ`qrQIsF=p62dpSjmpplX@yS0dL-yO%8pV@Rtz|F|$x|5v%{^LXO3S=SnNzp& zUOl{zig;dO@H$W|W~xZ;U}Sb<}MS9zUsZ#>CU-X|`rPMeQW-YL@en58>q zY$orW`R)mHAao_OoQYOy4K1E~h!!r=CpJ

  • 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%0Ai0odas8(9p!-dP36-Weu6Q~BC)SE)&pk@ zzLkjDHZ+C9hI95J?3KOZc^)h<6WzWi@w2v!rDWU5${O(=av;qE8eCiQXL=ij3|Q?m zFlUElO8%c$2A;2Hdi8SHl^tOekO$%$KHLO*!m&CBSillJbcxh!v|!#(>IgLvMq^Pz zIx=3YMiTz_nQ4d<&e&N8ab^yk+6Zw5*)DDKhh2uoXO1zMFdOYzgYPgV8?qj(nR19V zgZwTOF`L1Q+0LA1?;s12M>6&u4-+t&b^^V5s?aYC=of0U0Vpj@Kxs0Yb`tulQEm$Z zPSXLWNrBT8Hk}uzS#GF5DY0gm-<Kv5+Fa|Y|haOn_pMlwK@06UC~ zF!t$P26;1a?8`c2i6q$;7)9P}9V`}qI^so4Wz47tV-{H^ZT5Et53yx|0$b)c#Fjnn zWy>^R%VM@Pa2L-rRVGeSIUCwUJRkGs5@Fti>?DbU8586EMxN~1J?R%3_aOFg{@5+@??i^;K_6X!Xln*P&XKI z1Hy84z0@Z1Wc$1p*ffqASHKXy@)_dEoLx_~>3)_cTQP*KC^ccLtTv%Hd3myZ(h)z4 ztez2&)nNfyjj4;-9_{7Heu}Ir1fJ|VvMP6P>Wv1nS}o`eMV{<~6(ej|IW0sSrY%@$ zNeNk%a9Sf+YuJDW+x&s6YTDn(Tn=nS;|+LwOSpw_s?@^%2V6xwbw#1bkUh0RQVkum zZLxr>=0FBvCMuq7i~^tf-(ad1U~Jx{jLE4u4ub z7Q*IcNN=e9k9xxe%YAGM!1NH)&R`YkD`*e#jm3Ls!CD-Mi7}@lindw?Z6euLKO`;7 z0)isEbP+m3*$uoL$;d3|4;0lvUOp;8Unmpwg_5d=pe>X_Td0J#kR;?C+-W1}3xSlN zXMmI!BqYhj>j-JMhLEsJ_K=29dy|F`wN<=8#7L@=j1Pd3W}T7&BQdP9%Ev(%N#h)6 z^sPq3AvRP%NQ=Yw>1jmh)xkO)OSDqb57DAx)rc2n`LlHTMC|g@)0JU0h(Xf&?VwE3i|9h%^G?A)6`@0TH_e zJKiCLG>Dj%A+}8jun&Bu;eRkc0{=%0A@pps9!N+pAfeSeqJM&ftnS92u|mJjT7?o0 z(hv?R&IHp#tQBk}r-QYUfwh_i*6Kb4TZY6cImbu@<`}raw-KzBc8k=@T1khoR)bh5 z3_8NH!t1ORyuoI#r+OG%#Iomad_Cvs;Nr*4*18G&$~<>qoI z0cNq0##?WeT&8sZe1)O9Qn2lKsZmHtv~nQ>i;$m!!^=B%FHo4HgFb1 zZKMc`V2$d>Z%gLx+V0>s)||aJx%TzkskQ!A#t_KeU0a(wvsPn8^hkr2d$@Ks&)jY> zC7Lk0q~GQSa(Q`v*86G=dEcAfFy)yHx!>o!kz>fo%gM_v%uCE`Gu4?2O^LZ}IdwUS zIfXfexsUJ<^R2lLLF4N(KWIe+JISwk)}>_cw+;_v5K zoIk+N;}KzZvah8WeI>1P>2f8a`Kn+=e3BuH;MNyVB7Z$c%(5@S2?ko{b0-mRa=H*v zmpQB4yqNbDV(TtJ>`96-Nh#;o&VE~q80?P<^`P8Lu_hmP&fB%O^EZE**UH?^rp#z% zVwnWbak`S1UpVy3oGARFW#T=@Ss}6$_H?KYBe8TY?o5^lKY>vmBIgYbAvAKCU zxw*G`=El-Tv0u-G7?8i=pWq+!#(+c-u;YPEeH7Lgp2j@HfP9>P5-}j94YTW%e4NX- zpKL^D*JdI9ytB}T*mQFnaOGL5!9e(&oKCfo`W0$#_S?$MJ~dcBo~5Y7i#Pk$EZKba zUb@?_>uB-px914;hJEou&CRZR6tP=%Tz!}4$3o|=%Kb*^(ehy_XwR+3@N+Snf1eV5u4isu188=bIT>TdTFkY9$w);E5Sba{e8xF3TD>@)F@$>FxQ-%KcR53bqODrZz#kV zE|G7(J)hZpdm+2|{u;^VhijyG(+6((7V)K-c#FAsi#a^?(}Q>mMbm@ccgPgpfiXN} zdw}b051BdKaRcsVHY>&bv9OIbyEw zcynDSwRC3D{qw0 z^*`gfA`$y!V_6r=G6`T;(S}Dq?K4KUEU;zU^Bj4mEv9cx-xma#^`<<>_XTs!3rvqS zBi@JWRL`BwS{wECk6mB({H__jM(Eo?j+r;~ZAHq>J)3&_*?WaP_Vz5;E0Sy!dv-kT ztMA&_@!~DwvEJ3N1ij%U^oC--h=0M`8(#MIh9yF8Scd-mB42|3e9z@Kc8H^KMqgF) z8PDZU`iyTk&wlG;__aUT9FMnnzQ-fH&7z)>Efn)WvsY$N7{U=9dewROUqkxM&GV5i zuV+4X<%@6oc+W>I^Bs9Pai)JF&09#b3VHt-$I@m$_k8u!vqEcU*S!cIE=vA@yBRU~ z9`ntcrFD>B$ph|haBlK3&3X#{B4*$Brv2Sp zJX7%f@4XLY20Kt|%vab|zB^q5`*DV$Zvo(a#BYk@gvRb^p3e1M9e{Z-9eX{Oh2vEZ z`6c#q^Sv{M3Zp6Yr)_+ zDeH~FmBkm&77X_DHNDBWQgG2#FxW?5?zOs0`o3<_BDW_l=GjPQQtto6$bGi=Xv>Zk zJxci1{J*v6gyRQ@by3qb`{Hvpl29KZ)#JS%w0zQXsO31knACLLb#a-E+M4p%j$iNZ zt%d)Wk6xa{?EPwBK;1hqu18SsIC!gu_l|+9Bl@Jm{xeD!&B-`_?8g4sb*`7$Jb@dBG%-jc_ofl| z&`10cQOH!xD1VMAXSs3P(|`h;$d5HNx+=Pv@;G=;VP;N%=MmQMl2KLO=-SYI!8~Q# zRs0w~F%AWmEHdOnXd4rm49-IeT)Z<`m@=xGLfTBjbpZN)9;599J>kQl2WF;?*_`Q=`TvDPawmI)GL9VEsIem#1Tyn&ua zPl|IT^hhdb_drI&#yTcW#y`sG(28P7#59erw>^~pQD_49znF#6jK4_VSZ*f1$6vJE zvSgj5ub^b*C>hUN`7&?GD!e6oMJU;3l+420P%@g?&UT;VUap%yR4eqXk6p_=8|xA{ znYX6IYa_bBq=M=Cu2fqaj#UViQY)15W0y}iy%pp7wlq}05@HRD_w{<L-n_1Dksf~Q|U zw*g*%{oGT#B@RS6ov5-0nU4(lAKzUHSr{|uXLofe{QQc49GDk&e9&#)|j`_Tqf6ANVGu|BYygB~P_B5{^ zoc}$GZi!Kjm;CbF&lp?|pJ@1HT-FM_QIZVtjj;X#i!nXr_q>1$7XjEMRu9iM)s@oP^KL+L}3G{}1!%N3QJtN8lCqBiAGS<62^HoY((COFWJb^jEgzzV(qSv%jnPSsd@} zKiDj@edL(!u!Y|69U;GB5e$jVu{tk?3e!pAU zFLCBxPyMq#mKPxHe)pwo4_#09A3PG@;m!5*HHkC1S!vU_A0Lo7W@l>6Du-su$@#W) zSpz+{_v$YA)FmV%`T!QM{T0_l%t3wvW%k~y)xff1ZDrB?-&$-FM`Nt(@qwARlGge= zn>dV_MG^h`lk^b>{%#m&n%E z0##;Pxa-02gc4Zc>!VE#|G0;7e9s z^B413bATy;>(3ce@J9YCreAR$)7`n_tvTknd{h2Y1yggLsQoa9F}$3+C-+6u3ptZ& z3iE!F`&jTaloG*;btXAe8HZ`r4Nnyr`EAkw(B!TVx>#FYxl1K&@ z=uO`h91$=?l5JX@!hY9wH7_;$BFe+e#o?Rwbsm(@GJo26Q1N-^K}O%#HVY;y)4dqgytYWz?T$_$^^@UM6sa)S(OWy|1 zbYWD^7@VKF_Ie#t9>r5B^_FujC`NP+2!# z%RpJPhRV9~+D?>JE|fKjOXoO4GRjINjljtBbKl>SjPJiiNo7AN>8aiuOM0@GqP<3Y0pq?1kDzgJ<<@T$}D+m()K9Q7I= zvFU<24WCrC3pO5YX6%xkDu<{17V;GfKd~d!_O3VE>&*1)_-Z-d)GjY-GhZ_A>nd5q zrrOdeZ(B#~F9;m2w->CGLUbxAv;xOW`?}Vn7mK zXWqS65))i@R>w|x&ULL{8s)=J@BDDN%2}}0r#i`|=Yp#wy^8)7=1B`Fsauiz*4~ZWG0#W!eq9$|I_CMh zezJ4!b|yC2Iz4Y3w=dVgv3Z}EN=?&EZ0;vHr8#WQ^qlFrlGx9HEq{+X+t=;a4*mGd+YSSi3P7*@N5zDLQzE(^)@A*T6@Z1hGhpb|u-0n9M6# zhLdTZn58bMbfuY%VS1#UvR?L*v{!Ozgngtf5K%QXmAKci1%7(igb02_LsFHI?u$8_ zc6;RyX2vCD>deVi24jMeopxUo8(W$t?Ui-1z0ytx+Fs9%Aj^z|ulKTvAx%oV##WlH zZAf-letsxv}kGROGYdi%+9}J)OC)E%BJ~M`5*dQ?u4qvc@y)x zawl=grd_53;2e{x6LXSmyYiEq7ff4olI&^um+~VDW)+xoF61QU=I1WqOoMX+*jmgD zLu_r5{nuv6ZA@qInk0Lm?Qp?9fhnRRtuf`!E8Byrr(l(QrTi*15ED2LFm*S--}OdM z5_IhgUYvkmW^yOZRz8HK?6%w`is{hi7$?19J(38OERL zDUG4s^VWh-(x|p*Jo@*r{aSmLS?XRjBM9plbI~!+m)}df`lU>-f4`6Uf_28_k{Nzo zi(hEv+sY({_Hs$Df6x#7F;Bzy7wX*Q7cCtYm-R>MC0seWBG5L6+uLPqZ@(q>Keze^ zr>mSv{IR^F{9^fjM1PT2E1ND6_D^F|e-N<0yrR?AUY?f00t58-D6836W|JCz^^Itm=#*qr_r)`MmW&z_(?x6_6rw|)bvLTtHSu%k`4CmrGu6cb)j(<8& z0I`3)m)`N2rX=Wdl3%9pt=1p-cy66}AsD1DFn-{fTYD$>h3nhCctlQmrM(qVATQu^ z5uc6?54qm%>AmIK6|KJN?8n<(EAK1s@xEPRQ|vJRVab1(#4LSwH1lnhFbEvI!? ztjmmb;GL)o|L%CESf-o)^Bk?#iRkO?n(?qV*EQjBCRm=oaY(C^f z{hRqpODwmTJDmT$=~Ye*3Grr*idQRid_rP_>eA0;g|;$ z$aKzHqp;uh6X^o$vWce@Y3|51GhABfD1Hj$MOvoQ>*EL%1#@Je(xjwHGS(mVlL z+f+W1ORc`cp3Hse=Gu~-;FEgU&O7W;IB&Qx-Vus^_+CB9r0NK0uqWnla_jqCk|Vh~ z!hFK~e#TpS-{%z8rMTi(VKs+X6^;}m(mjcp_U;t;T8KQm6q*lpMQF9&I+yFzr&Ldd z->%ahjVX>-RGfyly2uJ;HS(ygHYRdQGv4FkFo#~o%o$UE%yW9*m-(G#pvl9BC zufJDdUXWAjvNYUrpv_6fJQJQ0( zth1C`2!1KSFVXlVrnvDIVvIA^Ecz>jf8S9jy8Gh#F!#TlGeE3V+) zT?2~hP)DHcYK33*6-f2*c29-6y1QbZ>(2x6wgh++9^+(t8Mnl}>i&>wC2FqnY&B%s z^7OF|YLTORF$2d)y80#hvM=5m3r2FBMQM#JQ&WBu?vWw4S!a!;0rjd6Ol;{tbVYKW`al|GvE0l3;JKB-+)+@Az-|u};iT z>8I;XS69b-7<&-QY~| z&Oj5m4_#gTGy|m|Dmu+UH_kvo-Fm!Za>GncZvW7APk&T(7DsoS?(Z~D;9?!?%u!sN zlj_Eym*eQ!@U=M_$DR$UvKSlHQ-oe+t8Y{I%Wa10g~k#yYxU8OvcclBLb?g@lgegt zqaAA3?+3EbA3t>Y_s0vzZD0gR`iD55bA8zzjHl|*D}(GzqNhUX^r?n!(m+Uq`q;vL z|LRA%WZeDZwV9avK6JHR6LVSD&tm<;@UwtR7{e0R8T?L9Y4ra7V!yh2CY~dWO9f`$ z((UJ@`(|^e${Wj1^G(Rx2tVElXq(AD+c=RFnXj2Ks2e;C#ejBC`2 zZ~^}WBA&I5ThsvjBMIl~v9cztI+tOSPp0_+6-lL`7F(LuiScEHhuM1IbzmOY1UU!` zVW*9ZP|!@s7}+SoK%NRkFZ(Gtr;r5h3g25UF$|#IJaxxBt^1C7T=*~(`>ofkAG$7G zqh1h7IK)XkQp6yE&`MDayx)538rbwd)PTw<&igU0XZo-APp0iE`|?A>Wc~#Mj=+W?|!UlD^<;(-2V}>p1YW_-NA(Vq_2T zwJ7(EeC?Jx@U>}T{XcLm)j0+Ao+{M4X4`GQ@E+~UZ-a&<9XLq}W_(}HiX3Uq{=F=G zek+>R7LealHg%?X1<==RVE7vf=H*Njxa=60{#xTNyvsgV{u29)H7VFy0vmxwFppTXCg16ON=skRFT6qda>VrfuihZY`v#M}d4JHC z^b2_xEKm9`^G@>SJ;|H*hCVIWGu5s#_wHUlu$LcSlx-lpgg|GKUB^9UI_5gtJ8<>K z-BTcU|JE~b^}#)Xwhvu9@vUgjOkAtOx0pSru&!DBLX+*Zqt)__y{+u5?V{ydd!zG$ zwWI8e<2&1rmhbJZvI}o@m0vFZfp527Dsx+C<+eb;lXC?;ncm7w7_=>Fgf&p;>GN25 znu|JxdHuYjQ<&8ezxabJJogWH?uZZK@vQ*gN`+qHjK~T)0RrJJ_myy+J~{Z;)=VH7@lg z3D>^FwZU3!?H#Pe(B3ll`M#ORY5zr9vDnhGlJiuV7UYt=}-(R0ijtHyT6ai5T z&L&x|3w<=3{G;pD_TF3Ae!ST5-_NGk=Mt{h-*zYJ;9_?mW_3a-Em%#`aaGTUF1C;C zPo&W5&f@%S+qo~ruz@)X`DoMx15vXsOt_mABAH`_Z{cOp7(y+ z^`3XAM=tcJZMgQ4w}r z5#!p@V}sR9ATVD`H=%-XAc6!=ZzgO&xFE|V?@KyIqhev(S2ohTyo+ACs%Iy3V^v+| zHd^1SyyKz>Yx}CMC)zq~m+{PVNcUXNw=I8x{m0*1sGn!Gowo%b?N|8a$(}ET95^8d zVhC*MXK;Of&uQpdDDSC5d7s4f`+6E$s#|VD&8+eGpP!GKTj7~*mXPFxAQH@n5Drr^hT&K3BibHToK@ zItQ*E*iG|+!mj1!L6#Mvuk7AU?{nosr!6hxp3CD0VP+dmg z*PiYX&AsRSx~wm(n)MHXhu`mR=$^e}#Vk>?vEO~DJ9AsfERo&b@BXy===MhqO!*&N zCs-C7Pdc<3YIinlaMbQsfsfUQpSU!0IIHdGitt?Lu^n9@(3gtr``wq7+plbObg4c4 zS0x|Q-K)Ewy6J9vSKokmcf|3*`|i2C4fol*ejNDg`Q{e6P3~T8FXA)k%Y}(d;_2G}w zh1A#e2llRay(PNmvU&TSmOwmzT=$e4p5H1wam&EDmd=(G;qGSisC_NB3*X;uX@!37 zQcF_JmF>hRQNN&m49#GBTwwwy$fZKDCvWMQ1|C?cR6C&*k9lzeV(p0HFjI5o?rc;>VUGM=bD?*nbwF6&~Hw zkG)hk?pv>%Kbq;cBrrQ45jiy>?o#4y?V1fr=mqDO`-9toZm=u%kAXaM$+GIcx*$H# z!ABud!=>}9f}pogAYFujJ3p|R{+3rm>|J5z` zoxttsS>F>cSmZ^RAGokUKc2JQ`>q*lZFryxa{k*~f9Z+k!OljrJ-ziLa`@*c1IGcjA zM?8LRo2uKuY#!9sjT8FykI>Yp5zC4G-|0Csdm8j#l9IuwqF=5`H4lEjYjxt#_noVP z9Klt*`7I!}`b#e^?*L!(4m2g!?e&)yE{`=^BO>%{3Y*G|^?xRYvsx24o|nflo5>QF z-MsT&gV|h*s0^@GruvC6m*D;H=7MTg)-7~I!sd3G8T;Cc!9PpqfMaIWWFHn>6Jj?f&I`Lel@>}-^g#^kNq%}-H-T$`+tzI>-n|(I{p=Yb=|9cpfk$4u|s)8 zmiQ;@es~-_@Ph&$89owx7?yE;vC_}|o+`+`v`!Dr=^odd{-t%sZF)Y23&+_-$QeW) zaJ5347K_!h!f@^CVnl=u#zLulUf#d8D{M4LQi&FLYO+wtS)S!+x{O3dH`b5TYJFHf=0+JYeS!Vw=c|;XMY? z4fhF=4d&kf6J~6aC#__I zF4V5#02;nB>|KP51y z9u#HIVsQF@?>M+Yh8@d)xyY_(?h`{=!yW4xS9ggD?|P;IyA!kNeqv)5aPMA}6uxs&Qk<8u3w}*0isnvSxuau7G41Xl zzYXojeSlfhTmgvLM%dM}a#Dve8~WmGYKNJ75q~^;7b0H1hkM1AX{yEU;V4YaL}w z49{=g;t14>Bs>>c1))Eg1Yl(~-tRjj9X8KfVklnhyY6#6$31}|3CJ31GAFwtN zacx}d=38nNe!YSRnsC5=%+A~R3a|ZGrPqFp7qkjhScz@scLF`k*d7h8>Ynq#4$^rA z!PY`8A(kOy`?B+f9rp=xH<{b#-g<4++p`3@I|XO2UmLysUP120c14gq*ml@_z`Vg+VxDzg zV|!CK9o`lg4SYNLt8HlM!jI6}@1zg5_CIh1EuKBt;p?nMC(7j9;1K#-oei*`}YBu0oq`M4N8lNd}A7`>%T2bd}JijNwnV zb$pb7h@)NZzT#WvXe)glIlhb>McFUrSmMp`d2f!Twqkfrr}b#G>tNsSZkc0YX+Cm% z7CHWb|2_7Ih&e9w=9n+!xCs63cl=^uT@dZ6>BBz4TQWnxDh>V_&On0sL(x=5j0*P5 zWC@H)FrH0}%2VFFpZi6wLtXlFT*uGlJ;-&;_vSqV)?~4N{P?0qU?HsA!5JHPpy;En z%HFZfj3I%GfG3%KS6quQKNv7S;8TH*%`ne3vhUU{{n7v2(tW+RZt3R#xus9`-nymd z{m(63+xtr`J^KHSn^;&_LFCywYQ$l+);t_fDUx-B}JL~IqK(p@aJ_cJtU-!A5&e^>tu=9`~9BFiM2Py#vP0WDeQB*=W0Z40{1C=#tmEz+rt3CD|zC> zjN3$H76UA{vU_P=JO^)d_#V?kwxo)~SsbMxFFZa2@_$;D>w+r>+Y4 zqR$+>nHh_C(TxG0RfveEPS&fwJYsX$W{Mgb3>*@=SyNtR4%xicIdJtguo8P*=R7;k z$*{}e^;<;Xz31xmTI<$N-KRYRSMS6<$;{ljIdkrvyPb2- zc@FpGirL*=<8j^>+w)uzshi#Gw>QXl&11)Q&CSOn=H8N9Jho{Ump_}`expmB-^Wcp zm+KvNeb-!FzD)nUH6^>{7bmg)O-J5#|-KW`VwAM|g zi*=u>ZSz7^vlmj%)Mcn`DVqtkMq*gJfEr@|VWNv}l)XquqF%v4dyStVP`YK4j zj>b2eNAc2cI*Dz}=ha)HV2^0KtK?+imR+LTbXOQ)DJCH)_BqU z`j?`nObwz2uL+^Tr||0mVwJbi^d7kN09VaNV(@N9qk;WRFXZ0%J^oK@UWk1DZHd=j zD$vEaO-j6k1n~KZqBX<|NOqO=*#9fD(L${sj#NZ=m9@tG%6w{ZG5+QdfL=<$4oV>V zm3hw+s_w5DobRLUgn>@|($So$9KY#fsvIcg1da37$kudLnI;>xy(~$Mt9FVHjzSFk>yQ#p5t09$`jV zdKXQ`cyomL6?UP-gX#s^+_cjY-HldvW%*NB2aLfQO0Xw9*^F4(NtnV7WKw1%RHv z%1`BMr59+W=grXz0=)sMfmV7h>;w)u>PanGpWB5>%N+KsY8k1$V~-|ae*bQ-_LHa)x7pFUw6Zl3gr=)ps|eErSAU8!{$X9jTj9L!$&psD05 zJD`W`hRwY_`is~s?R3|Ueeq4Ek7~xL`I`4-wm~}BWXh_EQ1f-?i}oCalod5WYQFTo z%qNyljoGX#NBdX(6^t2vw1e?wi{n&RHF+O-+bQmC7ut_QOZS&PVf+Xxa$*qWn;t^V zo51%uw}WDO)KuXcX>s0&yeN_@8VU>+s=dyXb{=bWTDf6wOE zu!-||zm9-;#P@dFe6ew!hzbapL)OK<%xKHbZv0Su%Xh$2CJFn2#M3^>>M3*G>M65> z^OW&R6&oW#aR+CM<;(Pjcfob|9>UN3E5H6nn5pfEPi-7c9bxG9J$k?XT2sw!{y#hi zt!9${$<|MdEtY1CAI=dYC{pI=$13x*|3jI-F?UyH|Nldo^SLtojIrYr%w7 z_Pe#@XWMjK$>-fy@^`s^9clT*_zp_$5k7+RcNkhPT{r%gcPP=j6*s*4ABobp_zJsw zLWEM9BWCO+*q_Y{hBgkXx5%_Ou}WqiV;r3os+>`TJ_cMwqIEo&RhZ&OKd0=aw9o0? zm_AODOQH);Z%j`_tZUO!gG37~Mn>QYYu={l0iPR1&X?G*Y_0Sdd}*M~lY}Ibcu>$0 zQ6l(CPp^AV@>`jNcG#e%NeS?Dtp2q1aPpA9~tD7vpfH7b}>RJK;q(C=48k;&3)q2*M`E zEu3)bvcqQAR{J|!>rY3&R0#Pu6_L6i!BVorh7)P;8SK5EW5qp){kR}vzbSncq+3Vm z47oTji0u-6yTTt4EJ$3YFH^VHA6mDy{;&>IoPe5HiUX+B^wj5B@c=|KLu@w*qH%mX z%imxJ6kNO1FazBodlN~U4uzy0dcbfdl*rygezwWwFLru%j(g_&rw|++He3(2GYF?< zfi5tFW=Wv8Sp$vEKxkqj4HIS!f<`Y0*Px>%6h)Ux46)#9qLweqz6!g-+!}E_HAo7C z8B2t#axE=|#_-8`r?3lo3YLh7772YV*`XP-mqStrk3!^J^~6x3krqG&(cix_jK#}uLs ze>2&|bb3W*LX!ONq*ru*!zX!XQc{vk!J(cc@?-H%#m+?8+`nJnIlEt_ZN0{y)5qX^ z++w*s)^E%RO7uT}>c;XADl>+kPkw8#SdwPTX8%2hpCx2-WUs%eljKUn#i{_g7k!Ei z+csC1^!kq1E4Z1a!xpu}3u2d_>VY?zpPTkp; zv6%ZddooItMrA|FPC3z)%Th_*G^EH9silbF%9F(qykwcSdHkC`*;Z+XAE6;8MexG_ud| z!mWOx*O(%U>W)*I)GVxn(63+}M0y!|8xEUq>hB%CsU#oqO+`J!H@ddLX;p-8b3|=hM*olMuN^(2tu1^<*ESl+19? zlnDk>15YE`AZF|jF;AD~nfBF*urDYri=i#So61h^Bl>B(->Km5%Pcb3=n-wT(cB}Z zAtzm=5n!(U4d3O%OtZyM{qpX^jLGsb%6phGS`Jpv!F|2uRn(KMmJTyj zmcOfB*4gUuFmuJSw#pHnc~R~|I4ScRG?xS!Yg_(0+vok#N{M^Y*>WBN; zzyyfFO!@<7zwiq;kCOcc2V*OA5f1R#B)=1y+op)~WyuJhI#%{OsqZKL zB)e7a855DVC3Xt1HBY8Z(vh80!p~vmyyXaUwpoY~EsA~~zQ&UXW{#h1&h?~cs=}2! z6^Zi38@=|S6pB#gs6F6oFj;?qw=`f8rdgV*OZ%Fr={t==VG*~lAI=EjTPqOZt7AX( zy9)ANk!DLQT7#d!k82HnQTweeK}I1b6?&i?biD}8FS^Q!?$i*QZf-`=*rqthiN}p5 z^H@DuTbFR{Y{Q?ItNqY34l{b_JN;3L<;_)9;!(s`gIL>fvYAcZ{$4-!s~$B~tnpJmkJY4eR04EaGYU4E zrkRO`&2~4@Oe}K}CYA@jHs#Q^AT$ zVv7du%_Mj^{Ugvh6co^2? zqXmm$R{)>VV$_V@7e7O{fRb+IiKC6F-3l>5bU-K++f;m z=s|MX5qg6`Z5v0;u3YZsI*{zNk<|zG+12SMY#BPAU1a#q2;o+=unN6sC+3yIvBi z9pO19%syrm_n;b9WnQiEVMYok2xEm~g`Jlz>6BQ@$5j0R|D72_Fw5ZP9;O*k$ z)9X~y2!gu~-l$6Owapn;!ANx)mHZ3qcKqXdHxd;lwFlR-oG-by3XDg&_in)(yciE* zA7L+H523S=PgQZL;evMsGX>uZb_raJVUAbX!+q?rUWkXb^BG9qLx3){yH5Zl^8}=f zZ+8R|#HKz2tVj@|+!Mx;@P6D0VpwcF509SNGJ$Fq#;|g;SnXgGwTRVH$oY0! zU>yW`6HA6{vaXnf)x!;f7{tlr2>2Ar~r7Ha6CG6@aVly2Wz}g+Qy@;tkhpDV+^maU<~w% zO|g|ohuUXEY}}p+f5uh)S$Bh{r!VSC%k6=*CV|$(6+1aP4IG`fKu2G3+DhkS(bf7r zkIC184!(GLJYR%fRmB!7JuT>I{z31-ydCD~{gb!1t+d_(t@j_3R>DJQJ%0oGR>%3( zi9kcK79S0VWaF zf6dZrX!fM9OqODNiNR>%0}RF}#~G8!=t9OD_f`*`i!svag~i~Ge zQ6(baiHL#FGQIKAVuH{T3;mzexV24$vE`zL{MNR_P9dX7=kaAz`n?ea+P`$7skDtR zXLQ|-FGskw?MUqWA1HM(J|lf%vV)cD6DYXeW9{G^i8j#Vs)n zGvI$gl?Y(BNx0{Ep3vq8&fmtmO=|qKrB4^0=MqFoE05EOy>|z{3m?Gm=jBb@damY) z5!C46LDbi&A=Hg9emw^tamsye2$eM?h%6Ubb}e?j z3B7u(%E@`7UaQ{;Y$~boBkYTmj!lA_;HLoL=|GqN7GZ567EA(Q8FSR^541 zDBNMS$RjAizj3lF#r&M{RSGq5lrjNtA{u|_z|)CtPX3A0{{9n{x_d<7d8_Z&V8z^-3+-=VhxV6X3iI0EWJM@Ysfq44=1$OR;)isO znZ<@D?@wluho=k%g7>22#VIw4ki-<=cwb>lB8lbekxb$X?7f=w{#BDbtgECWY;WDl z$pfIxS{~*NBYM)WpT{v=U@-9!8ENF&irM^ z_lbDT6+HHVo&c_6n6Vk{hO=qY?+V|Aw&Y!xhGo4^0kr_0-G3A9(uvQ~r)| z&&48&iSWbN@5_W(J7GQjMA8IP1#JJtqD!I5nPSTLS|&jU9ejnX^P^LVL=ci1o+@f} zzC+f=Sl=5jA+~_9)wu!d(vn_RfT&MB7q>8OX55xIUse!}RlV-L35eMwlEtZ5OBh!5 z(G3-Re3D--cmI`rGVlM&ye9ZTxY0c3Tz^LT2$aXO575x|;eB&qCCU5dx>VZa=JY_= zWd{dQixeT$u|fP;%S)cqI2qB0DSxEod5AGTw&cl=aX!rdEG`WzJ3KhCmSPX|9f~#> zjB$3E#SNOk-F;(mABOt{mY&f3ZR#73dq3RIg?-CP>GZ~li;3qFulXY$9#W&3CEAAJ z@E))?PO@BO=RIkkAJ7Tm^IXPjMd2N7?~jbZ*6Xp2b;VsYPW+s2)i+%(_NU8?`R%_{ zkv=mW7^hcR_r4z1UUJ;%3yu;XZHW60;QG;VV;@Vu0*9QL*kJ@hbf4AeH^+@mmJ4iP zNle2y>)zi5Ae0Wle2TeWLwd_rmi%691;(?n*6ffEjJ6SuO8b1$SIz_LFoyBY?A%-0 zGw$`Iv5k3qx|G1C3A2{rJ;)ek#;4jds)-(Tb{|sPq&AP6T~PZ8eMoJS+COY|MeRS+ zhtxKy{Svc_Q4T$;cLbGZtL*?F%1MnAx!PXQN@_a?=y%iz`~2`uwY{;Ueq)%G837%2 z?c24kc`c!p&mP6E6_gqOZgZ@f1B6_E`oFpI+%Q^^n+UAm*|}bF5>YCvUV=l6LkR!C zW#&iWo*!b0+a6crVr%y=njfWcImBeP{Zr$zs_DZ$_amTYREN=rn0amC)kAe7X(!AY zhnOF+ZVJKqjdtvtVkAY2b`|)O^%dvwle3scY!k*Z#!2lDd@`yMIAlO>S-B0EE8EpsliwkZ%%wG8rKqydN|^K2t_k${6!pzrhH4 z&STMppF53^cPrkg;&%~K<-6sz@|)aVZ$rvWZm+le#=VlHSW6;p-&%h(jg&)eh){89I&Ro_~MtzG&rARhjW5^7iPIR{-Q1SAsqi~%^i%~7plnkQ_$w1 znTl1ceFx4ep_gYGfgDne8}!5kdzDWMMHXoS_V(G|gTzG+i^jTIx+hbd_bL(2Mk zCdJmXK8I&^zUjky*1F>LVYak=WZc&7q_#J{f%gu5zn<@X zTB!BJq7ulPvP;b3mVrPqNKXsN4^~I!4%R%CGbBGMcc^BN_Q~u~Iic!d`O&#gXh!Ee zSujF1GJ8zU)43Pewvut{W7a>+R%8(IQM}`jFaj%cSq)=`K``-f8!)=ptBq2w)QNFX_z^j+K7mQ zIib*nl6eXB%gLhQ*kQ3ZPHw$0)mf9k-m^Gu=HgZG7N_>`{vwj|Zp^8DGNRx+7Fm3V z0j65fa9sIeWZm8p4?lE_TkHIhB2-;L-L*IU+!m!trw404pf$0*%Slc$hOguB2O>3F z>kCu;IaIwc;;qT~{62%RdSo}2pi9d~z!G#cEJ34Try6Co1RZ0w1RcRyf{ukX%SaX3 zC-Pw&T0^^`Hnn^Zs0{H|NRUa$804qIDj-Cwk`l|x1tHmSOd!0;=FZt@0klRC#NB!JpFJo``5Ob5=tB>4$ zh|#lII1h)ue1z&OBWY=>76#8Qr-I$CI4gTAH^J+S-2*@PO0QVA5w1bA^4-F z3J>+be4wXx+Q4V*Y=P&L=;dQsSuB{wXk7!-aEF@eecirM#%?`=uO;;Xb;=a zRo`PM1nW$%`cjD1?`;9E{wbY-*0RA)75(Y$S~1IDrW ztdrHYmfX!{9Xs90*~sEk`Wukb$$#oFhLCf87rS)Ya|Gq<8$^BdGRCm}{1`_3#XFB9 zxtz^8!HsUr6vz&hc)rd(oppQBd+j-y z^0@JR?5#yQ6mdEz($`ltyA~HrcC_~Ox0{JQ`OG(|4O7v(QF0C6yWL;|V{aS}OHX^_ z%;qhyCr5e0Y;xqmbQeULbEe2D`E7%bo}O~5=(bh;FJHQ6}S%*-rSuPc>jNC1@6N*Hb2$Tv%=^vfj@o)_TOJJ zV=Q0jg~9UjZL#``C1Z&AEljv16=q;|rs~U&xg_f+_J@;AIyZ_qQ z&obj)zK5(PMj@xY>T9FGVy}&OWbP1a?mDx*Hb8IdJJlV1=h~iKdKqcEVJ>LhWR`To zT)n}>Aip!0B1FmtQw{Lb@=fwun;p3ivlx5o`KB4QHal`3CWZY7b|j<)jf6G1E9p&P zgl2`6=4sG8kNMV~d*6@xTR?W8$_(x!s4u;OsHM+`P;yVckC6WHd5Npiu~-enjRex-C+Qx0U5xJ7yYRy5e-aJ-Q9yty5F?yNt}HJ|6{zx7 z!Q%>k0Q?x+U*)g*l2O1jno64t42gBA!SKSmH=n%QOx_TK$XHj{g(V(p%HLBfHcB1) zYsAJd*Hh3?WC6XCX`dbQkj3oIzpljH*xZd(!+gA#WsdT!a4crCG7(R<7559Qqnyg&bEA1mkNOgQhM zP3zFYb&U}r#G3U>W>dQp=DJ>(>w2o(RIb*!&fPlKIdOAcAIx<*w2F!dY!)K@c;X$ZCp^6kBmb0PM2|= zw9g*Uv%0Ml(0z&aGraijGcL~;^kP?NIx1e?S&1qr> zhDQSSyCcwVU7#beH^x9mLTF2jFG25cDoUt{QvRIa9JMWW9OIu(R@3AvFrBQT$<-kA zmBUfgKv+F4d)}TC%LQr)YJ=E; zt95-QldqIVD*bau(KnRaCW_TN zO*J*&==$e-qmIf5hEA ze6c(tk&jWgSg|;f3Za;SHGjdM(hqdb)P!LMKVsT;yZdM|>((T~>*ii$M-r`2yxIQB z{ZaJ98!BO6nxv?+*2l~3zWGkcRA@wbOA&cnZjBeTFh@)&k9gbkfAuyO(`q12kv=`3 z-E(s&-bXPXtZ^}A&F0HEqlT@1nM`qIu`oUr%nwA(x zajUd9Fw;tmS#6L*M+hNN^F1_%sa!*>&bDEtHfjy8H`o^IRQ?L=S$tdVE4}XH>Oh4L z?o~AsYP(S+;y4W<$O~kjhb|WnhCQl`>;X}sV=G*YyTSh{cN_mNw1tBI!|wO^pVBr2 z{1+j`#{amsxT4qp!T%rdJi=JR@gE5O<&mBFFYMsIxPyOKGp-5OL7Nr>^sU+9h`L9` zL}Z8U_5!vIHIT$}3(FG?9G-WEp<#1%FvXwt(!|rd5Gw(^%q5Z0qj1*-M1gflze3+9 z37`h{=X%~?#8SygbTNIDq)QA1`pW#Ih4k-M?PQv z7fZ?ga)GM6;jXe|Vidi@6nr}#zXKo9iY~1FH$4UWbkcTP3Zm_Ce zd=vIhX)4r{s$O#WcQNb~H z?xa()J}NTT^aGM{pUuESN_9-_k!)wkp4m4ah)AWt6K%cd zZ3nz0R~&BZ>_K@$`sR9Z zG?^PW*Z1)?2m@?-IlGXv!do-dykI zBrr(ee-?xPNt~X7{}-N<`{)wG6zj7o-sC^&27yz!LFnyo5PK6epg{)Lv|$E8v>5Ab zp@E7X0Y9}721%-mK>%bZ7tnT1wKqu4Z${m0u6HKyP0Osf|-Pg(Q=>r~<_5dsGwN~24*+=0zf1d99n6!PZv{zVZ=dzyQ z`{DY@x5_;qlQNM^Nh_IWr96l256a!ig#FbAnOt-K$E4riO8+%0{SmAS{>rLcXe z!;pIGD7gy3RS|a;h^vK1g@|iWF*kS0ts-wVkx4WO64{vsfe13lQ)Kj(hF@S8+WSFD zTG9_v%AirWdb{5%bhKO`dlwj%X%-)>jSrgCwcW48f9eur{S?ru$x3`XiADmnY6TaK z#I_P=QH!e@M-^I{MjeeT45o$t5}7p6T`mZG5y+^&W0h1t8#6y76(9~GhAT7s73C5xf6D>_29C?LaZ>nv#G@Us566W-u6Zq9AnY-7UuC&`$ zr2PG*cArgtkhmiex()dxwi+S4O#ijWnjUO$%mF0C)p_+IYC zgjo7 z+6|=fZO@BoGJj}nw)moKwl(+1T-g@1f1ocz1Y}a?b$Y_@M$;MmkMLVi?!{a-?}8QA zd(bv-G#x`ak%z`MuG;Ix{9sPgEA_E7ee~lldWVJB10(xj!JwhJ zU6Vp&%(0DWpiyLA#!>zRlzG`_Y~yoC-)4SRe*kfp2~FR2{#%S~e4&us_wD!^V;keS z6c@a8>QN7l_Y_bfv(?zfp`f$U9HJ+ysgl~;INKQ~ncqN3ZF&I_V(`{0)|=|NsCL_8 zZTD4N%)4!%@ieT@NRB_-p5l1<&6;ye}Mbv2MH5m^zB zZLHbj#XM!cQBBs|^T3J6W>ORGs0n^v^n}p`Q7#%j6ZXneK5f=#upCkQl`_Ag0tA}!5`V)O9ch1x= z)z?&CslHgvfBAFxkFBNt)h<@=fS1xPZmj9o7R*sSiX5aTj%|DgG{0|OUQO!ZnKnz) z`$x&uL|m=JSYl_)ZSRG5*jC4U&xvZYt&sWqur}K&d2HhVt_BCSdBL7g%yCx(+#Av^ zZ=pTe{CE0sc7jCvQrz$v>;oqi*{>f+!+P(yGj=4x=n`mhetXfEuADfdAez(CNa=pS zOufq1yydN273aQ@=&oiL5DKn{LNlDxqJ%0JaVZ{10YV$}I*8aRXLP{84DzI5qv{u- z^rM$?2#5ofh`f{j>?`Y2R1lH zQ{=TC`Vd@G@mpfOAS+Pf-DSS8`xp8@PdmvF<0u~Sj}U_^EXFbK9HhM;5UCFFlyHb~ z_~G!u;eo>qhdYkIm#d{_NhbM0 z`CIZ4i6+HC#R$b)inkISw`@{v(d|+>0YCOdd0&jZ-Ytc?9x6%T71l4^mp-g>P>K8p z&@v*a21d$9%ZrK*Bz{@sz5ZyC_hv`>SRxg;Bq@eAC7vqw*$|o3C_f-yB9BaLR2)!5 zDwZggB(6*vozx~LTBFWdB%e)fi8|(uw$nOhvm2)^I-}d4cu_|M5?#@fq+sZZyy(cJ zadbmsIQ>tmLzJE>iHvBVr09R!O}lPO0`5-ju?aJq(1@5ncXFvgjk%PcyN2>_SWgWE zM&GiZ6C?o_fLR+t_ftbBExJ%k&1FR*}G-X^}ghfQ)r z_qwtSSRrp z=gJEE=K2?chM-UGdfGY1ZVOu4G~ke@FJP#N@F{k3)DkaNv3k~oUirkgGnU?6HjB=u zljxDaMqL9LbZw2B@O$VgzK2%zJLZq}AYfu_l3p+FolkJY3Fb33anSmwh{c3ZY2 zZ<+i%)aUTMc3WJGB~DUx&-_vJEc#1&jQoeV?}&#Ic(}lpRN@~vAE^8eddLr^CeZF0 z*ZhkK&e}6*>m+hVUm92zVLfm!4MRK{5s)jw4l+S4umOySmZMjMxoMpd{pkwqH%sLX zh->#I{VvkQa>C2)QTQ$gnfI`VE5^C9nY53C%%9By z*jkV%%&?DDjpU-negK<-4`8410rnq1sF$p}-sI3~>Shl@tCxGSZRA( zX*V=K3UBk7e~q`v;{|##r_A?^ImG6aC+RmJQ;NksxY5Bj^4kTJBUuEsVb$7C` zz4`#-3}5ZX)5zFcIe*bge=qBT^_wkPPcVIesWvaV;R>49ArpAu{FiwG;w~Iu{xJ6j z?&<;N7xOjXt{z}6Vtv~K=O4`PR6F2&&OEi+4d>Hl&+2|Se`C(lBQjP%54ALs%(avbcuA1r&DdZRIPL^=CDP&KQTz!>JED{O!w!ToBuQF|eJboRK zSvH!?@bI^-2YRw%PS$CJY*=ZnPkYvlORGZ~KSFr|f5U-Gt3(<gi`LdD5w+m0~|9@!wA1hUF1o|JDzlfx< zYOg2o|I+k)3ExI;TM0k1NY&d--_(6*eU@Tp#-JpVk=fl|pd3?Fr<|e-hKxhG zid5U>p~(fwe)8+`n&gxenPR&lRhgVzsYpzWDGW~8ktovmB__!gitCB6qX4p5Smi4Z z!Jp!>yv72{i?{P2XJRe!3@q>M5X;a5UOfWYMdtPPnMe_11!GJ3PdgQm!tLBHQYmwn z;HgBlSoK!!lHAnXl-%Upg}DoI=jYDLeIxhHTw)tQF}*XF>Zsgtv~q7gr~n~g<3(mv zdz$uPs8ern`21Hhh!r^To$6|}q0|XgupI4zK^=3)oZ&%Frx#&mj};OnK=@Vi?xahJSH6N3 zySI{9FKS{b=JkxL?0R>H!UXJ4ePuMjcRfyemCbS|R&p`)SH>!&BsgHV*4+sylaTT! zQsz1SL3}i^`$)WE;t>&HJaC#9BjTll`ZUAl zn@R4LbojB8yO|jYkem-NOWOz!AwZcu!1UtYZkIm^*C|M!=P1sP$Mx*Cr8;502U_(3 z=Cw9zV*;Xx5o|leKV!Sc5_jtI9eGJ))i-BLV}{wyfI2#PPLo>#?NDbBD` ze3qm5GAKT$O0a(4@b>PtqMOq1-*x3neZO@AC96zHQUD(U@}Vc=(B9qJKB@e1Z9hg^ zIlR{PDBqa_Opn&b^_>}JrTQf_w07^1*nFgy4y_JXhI0B8-r{goW6qwRtA*;x^l8Sv zZ8CIC1P3cgewv}$PE?V9EUqT2gr8bA>V=r)e{5l@#W4WG{2bk|#MnRK!fH~Rn zU%dy;Wi4%0q$QTNjHzC#c?08-YgbF%`w)CK?pa!J%($;5w`;C0cE2mRd|O(UJ;IJy z!R7m~<<;tFSmOVh0N+yhLL3JE?a~63=|GE6oo8~dU#zyZ+(B((q&U{kQQKOcZ<`%b zg!M10Z7ruyn;-lcSj6qKeR*eK!snToTQw=RZzsYE13nM8m=s&Rx3qp>Y-=O_4!JsB6iXuYlfK|cxfzP^>ACgamiw6=?_ z+w@2E=kq1oN5;H?NJ_8%AeCPeA6i zi_Bzr7?3$Fa#9FTcgURPj5%#g%cNo|U>s%_GS6K^T>2SBi3RpKlOSqYCrD{>`yO`-55GQF>?z_2Uwp*OLB6oT2+qp|~m*uAA5E zRmI%-3>>ZOm~9txv#m@i9K0-NkxKMu66cj{mr1zshd$*rctO3BTx@%S<`ePe2%`3hkx1e{+W#SF~Mz?;|N%_JsOmUZ;~&^r2N zaHH=!jJ}9gWgUeUxAX*7p9Gd?2bg}aIZtpJNhjdCXY(h8WX^KQ&DQlK{xAV*711kF zvQKg~g<3?-%Foqs(XT#5+?)-n^{QMI;`gWyFpY>TmhLbdM`R*G}16c?zIRea<~Phfa;-xI%n?3vo$%41}6 z_qySn^v9j6ZSs;+b6Pigz1ije^hK3ix!)6&NB^R&{o`+Vl0RIZ5cSv?Wl>gorK}5P z0y67os#oW)(t zGk>Fx!ue-&9wfT`Ou0D)v;BVNd-K!!*}L~MXUuMT7xjMTlzB<@BHSN0U&RW7j4%6{ zqvqEU{qn~0NyvY|Tu?Q8H(6QCQGLt&Wbv+As*#~btZH1g=gaCCYP>cbkb~H;%}@6<*Yr=J@=q)CQ8+axfw=coFi&Db)LKSqkaQ6@VDUZTX09Bh<^*t zNIdm#!4I$waroiz!Qp|!4Tn39K;$L=4FnxR&m9rS1F5Xt=Rv6lo)KEXZs&n+d2f6X zgpaq*=w$Up_z(`J?r5?QA=nRbtT_a4+cjBrxtJu&d9)QO09fK-xjHw*C0eTkMtIn- zS|EhG0U;cS;bAzOaY%6x1aUtcJ~#-z~*x>#;5)*eukYzgKVIG!9o+=cza5Z`E}6so$#Med^VSd9Bfg z&;+kVtJ$QjQ-mhwYc^{MX3HVdked8%XFN&P2F!SyFym=e8pQkK=g=+I8E*qO<88(2 zC||XW8?8N<8^Ew5wX!;WN1-R}06h=EmZNejm<4U0KeS%DM~B|E`hH0fh~=o4eI4sn zfFZbh+n^-k1AA!?&QwOh5zS{p^y+Stj}MlovRbJZSeZTzR5k7d3( zy#%%4*r_&ZS`R+7Ho8Z)4qko#j2v_4Js|iT?Wm0vTy2z~HkK=*Q5%0`e!7-YL94G#mK}o#folgqdoHr)W%`d z#v#?0ssq;AIBKnpFSyz$MQt2Z@e#c}m|xoL(Kg;L{~C4S)Tu5KTTec;F1lYo<@`gE zX?uVq^L2+LQ^rX$BO%E+<$udGwtk~MrTJEUI$x&Pp*X4iPE)DyPb5-IcdcMnW*N$T z8s+|0bxQS(wcKZ{p}aDv^32QVJ?GdEjcJrd?(3VRnLv)e)%Qidy$24*Q2(TG6pI*xYCzQ9fb zmN$_I_A_s_x|qhi8-lrNNaaFMexub+(@RTa0)fg=N-K%{hYDezwQmZ82BC}TuR8$Vp z21+${T9I*nyFE1B+gW?e+lP_kDjNobnckfcW<;6brvo9Ucji5WnHc68(B-?wpV$0r z{CP@7FpvrUyc@S}_F&Ylmml$#BuEzo%dx6p>>Pf}6gLOo2%{Zv zwYz!mjVRg?S38@BSH+`0FJ}(}>j3?nUB^i=Z?ga8q?b3?aG;0mXOh`A=r;E=bJ!oM z6L40r>S`jb{D)OQirLS+!lqO?LArT~-Ns2n&#^DvAo-s~)W2^_iCi>^{pkkLtCRLG z4*QmQ9jK1Ur6f8Ak@r_M-YO2QmV!bg{$VP0#MKk5`Gy0|q3q&&XfzL$cY5q`g1i&N zIzCc@xm65J2IQR{tVG)ht^Fa=(Vxg|r#fn65yAda)z_T7<5E?kNmGoHXWdw@Avi#m zrZ-A=XcjBNan)Fw0B^7rb)?tYdhAEd!AM(JSCeAvajOw2XM^eWI?_vQ{bMD_^hLuw+&blf6=J&O$)hm<$R^d-t`L#Tn5dVY?n*fI%k za;_tz9vSgI#8@<-`F&v4^oI2Fm!6EwH`xootReT6dMEV;)7{#$YBEDzLtcmGzks8@ zL7$=jA8d7{cv@Y%RZZ4(7xA=({Si`GirxX~f7BMM$?E1b(hclMy(7}fYfIH+jz5O9 z8|;xzww7AXS2(Ug;)-YwgHAQX4l6eGc&C4{i?K-hNl}6>R6)sf@|$vEaRn=^u&Zq4 z)3a;oxsEw$an89Z1)>0;qgRp$Lem)!SHy^)i&*h0{%rmzBG69~*ZL9CygF-sd2xBuUkJW_oc={q_E4UH|9Qo`xuV<#T@q^f=+q#Ke->)}SYjJeA$@`{m!hva<&l$XF_LB#aN^oihnP`~k)DJo!aP691x72PEk z94Iy7ERz_^R6yXy;Pup?pgg;vfg1;HoWk60-OWijV^;6h-v8acSWQ~hGv1!oR#j?z z8XU)XN6}trMWx0kttAihCao-ej!~q}@fxSLz}Zy`k5L4cK>+nvUKk z*e`!mKAjN>?#RDTys4m=S-|vElD%QCzC_RMMD~YEjo-slUg?!U_v1?VE&S^j!dv!L zFCO``)OgH1a&Jt-$WG;p!rtvHlp!M3jGby;W*(d>ZULrcoK#uoHZ`mms>h&B+o7nwy!cR z^Bk-{9Jh`KT0K=FR0=}R-*Iw~Bm>1nIyM62>TVV$K_#Yb4rC+EEjqEC}vh?u7gj)%iPT1diJ2buq5^S3p3EYlC385dTQP zKh7B&ZcDTTheN8_T%Ry2H+gftJhgY6Aary6t5e^HzaacF;is55_2YVX+)IG?(Ddz8q4bEv|gA}E9 zB=1@mU~mcz#51Jf9nSEmj17$htpLOs9E4h=7_SU?`f7zk2N~>vlR@6}EZ*$s1kOT5 z23K%0c^&*MwUj}$PG}HmOAM3nY}`6>Pq=h2h;Sbh`XuM$IUe~W+O-BD{zFPJnfQNd z15hFd(1-shuI=GJDoOP-IN?3c;L6@9(h!T%#W)QzNYnhlJ;nS8|5InJs1sMy*MS?n z@maiW63Q*by`vL2BAgJe@V0T}9?xyuj9Ulp@Sg{BHP9fukE?+OhevRgMYvjLhgKog zKCHg}f9mPqaui(wen?%Q=J>CNI=PH`YIQ-|=)u*+IFx^!&RS18d?nP=c+```iF_gQ zb;w)S8XQqq_rA~r>LL_hC^Z0IXdu4O=K8m19Rcpf=K7^mH`lMgmz@Vb7J+8UI$)`w ztuNGWuAi^lT)(7LVi3cNS2QaF>4Wet((WW&dvr((H#mX^r_um}U1+GmuC!md;7MV< zF!c2af5nZAdm%2fo+=f_d6yH6k5!EkdwSLjX6DpWQw|xvoq5P`YRb^+Lxyic1y8;{ zLCEDlWH?{yS}z#&4>Q%9 z^J}LGeyEkm=F>j_Rqh9jZ#{nOae8Boh}u%)OudJ53|+wlwzS`HR%a$tgI6_uuN#+4 zg{*2iqZ1`l5gug%nFvT{KtAYPu_~qIZZd2K8ih0OVi|g`FPohkN0Fnt&QRGtwp}*d--^JW9~;N zEiWV#7bEBSqussv8!q2}k?*T}`5y4*16;nT$hY@iz6ZYfI+ycFnEu=NSqK_kx^%RTWdpJiZ;BQ#bu2jDr`MI{YJ6f-JzP>CE#6M=S z`+zw}l~rGir2hOPkn-ytLVf=mFZ(HJEjjuPa*WcBf^q2L8 z@Dt=~FjHTHUCHWBvMZ5P?UbX6vT0Wi=}N%)2>Q_)_y@{!^S4%VF?}Z$kAoc&^B(a_ zB6v=0oSMT}no;;1ErOPpPgPIEcLg-6gC!MRpj6 zVj7lbN`N)9zHbm#*HKt)_kq2M57yvo`;vHuWc}@o6hDHm(>KB@Q;3if=rq0YTda0% zl4=6HjHaUG`7H_f{T?X#LgU|%DJMNi4u`FWt-LZNSwqiNy6qMr zPWDNxss&F75qEle9WB|e9M&Q+dz9&wSXsMPrwFlT9;fh6#$4bkY_)IbyHTKkyf)4$ zh8i@jP9%C?KAy=M|D8NmKE5%F$T0rX>I4FTyk9{$dCNeNJYAcy74LD4l?$FA@0wmW z&6T`uV2kTrkFwQUC3p`av3*0{v~COco^0}_EVZaHef$a5{Wy6K-uVo9)29llf*Lf1 zd)udSyl=>l@@aL>&I^<$SnBvCR$3`|B3$Vt4^>W)lQloy?2NZcB#74SQFdE7z3v(3 z;N*Z7=Y~t{kmE!a$cynU+^CSW+TZ;KR%m#?J>E5qyxUCy`okvHxw?LXSv7k63^_G0 zk1Ovl-24B8f94f-+lkDYNfbez?q3d^wVWW`oUL(pElaPk>T9Ie3!Z?r+VM?@ayEDC z!0g%T3+(PnNlfTQn#rQ+#wx+mzSJ+o`z{fK5lI>(y{s^LKL?|La z;R-uDXQ6zC8oS-w?BN&Zkv);gnmDmB%l;`jHRzDMNsbnKT!?pwE6q(;&1<^dn`}w{ zca~dynLJDP7DJcPA8j%84t92ysdztyzRVkz?k$E&9>Zd20VpP`crS;(Oq^v_x20Z} z{xWu-Uc>Iwe^jrkW?FZjw!N=EwrwwO@6ngJV@~SU ztH+Q2g7I&^-@=gJ=eXYjnMX(CZASXS{)SuU!pdhS0f?LDTshZ=8h06-n3#e zE**yz%NI;Tn*cT7UTPC+Gw)gMJVfWb9OJ!Eb;S5Jaxc1s$Yv_j5P1CC>LbSdo-x)!PXnO z=4v(Ufzu1JO+~QvRhgV`zoWLb%>jrkr!om|FHn=Vb*#KE)7N}Ne^Y-4I|eG#T?20k z^f%HS&6WBdQ%P^PA(wtg+!9|(+R+G{aK4m%Y|J^5oGRVfak0?zSs zIKeI_cDwnU&NrJI^@|&Bz{7rJQGeBkx`A{IQ2$&^x}>q|c~ARc1et0byfa@S-tYdH zM~A?gm&_JpXo3>y&7njNr@vRK3o(|8Tuhth64Xh`@iK*9CrQNI+L@3R&QOhVLD+Y- zLfx*y(YeQ|50wj(M$%6~yR>G!xRtsqGMPoM6g|CuG(8@pYqWe2hpQ-TmAE_Rj8r%n zEnz2W#X3+=I#Dap!9UsYM6DF4Yf@Lo{1(IQ6-l*IbPMS*Ny33g6h~pVJ38@Q`H5Ob zUG&Biwa&T|wXV9)3QpqfCqd;TD4fKGEAeTcn6s~7 z0<4D86{F>&;X~{(@S0*w($kwJY>8HsDo)nA>2~YPiKU4m8SH^71LTSF9dbgWRNg8d znb?EAQ18FOGv|F{aXV#{3bxB%EfB#ndQ^@Zxbu=r{btH3nUma=o+@7_->FQJzi(8x zi=eH>^FaJVxKHjQ7x}*`ccc#>CXz&UgkB>5oT+R(pu56S1Op|oD?Xze&>1HKiIU(m z;tNHz-RD`)<1@wrpYf@U#6R9sy~X5F6QgNDT=WX13O*=;P$KnRsP|eSV1~nzId3^M zqyLY!cY%wl+Wx@LnKv`TFbe1}gE~A^1XL766cWV4QNi+Ak)&aDi%0ifd)|V6*BM`# zW&wl1%<$0L%X}b~<*S0S)JzSvZV#oXj4?;183j4K|KELPKqR&M|9}2`KEpX@pSAZ{ zd+oK?-h1t}*7kdbpT!))xd8Jp&x!H-l%MAuLj1qGp-Bz%tH*N`X5{9shY*{++xJF9 zz*K17Y1bt58v)L2*5f|Et2a$I;G~e5&JD)CnafOPF7}Z7Y)5B07Z?+7iU)WX;&_z5 z;GEls&x)@3dz$C=VY9SrLA8BuA1;f#9z!JQ-lqrSVn=j8fomj>%apDQgK+u6a08d! zhJm;g83M}V%|vPzb;2{Bj~YODoN#y&qTulH19lSMeAc-W-$*d;b^c#x;-EK`-4&p% zcZja+_*J2>E|m)UsrkJ;@77ECGSg$bl!YIqtxn(Pcs#GFdCv(^(UEj=eqdGe?n4sO z-*`?>ll-|-mx|n?SWHIKT8dTUUHw~b9ZUi-deZtioXJK<`L3X(D9He`Q$itF784j(cks`oeO0!FJAKS^cc?(EL#{I& zi>fu|SPSW!Uv?~hXA$ee4l~E$=`)<@_mMAEO7mwCPAiLMRTkQ{tZP~s?JDRc|KINL zN8gw};6$H|o;@3~!uZEJ)c{M8#p|k?#d+Y7ji;Ob_3^62-riNc_^l#iP1A=l)YYS* z)X2^->Yh*BV-R^R=m?`etqY}y?>_P2Klynm)q%9*wV|+Fq@$H4FU%*(svDYv5T7-c z$m5U^<@ZT^~MtdRL9(N)B7hmQQBAL-sqGmUbcT$iT=VpiAD3 z7_~T6HfJ3uypC^yqxqygza#ve+XhugR2DBFkDF#$Z%ZcxJKft z#B~C$Bno5{qC*B6uR%tPM0AiDCKv8TnPM&Ha)xEkupr(m&izHavhbv90wXvxPZV8& z`i^8SrT(7Q&^#+AkI82Oi{g-1V|vN)QeH#zj6BkZH#h6^{^e*w-yMtoLZ0RMRA@u9 zCa(gc9D%56J_{|ZJojIqR|TN48?h6+2f2@<6p{lm84r_KpSapd6iaA@@e_gW$H4El zj#JG(c@rHz`Dh39k){);npHX23CUGrrvd%JI@RF?jj(hRb~|#>OEdPO|BxQ}vO{{_ z-7D+Yl3kPy4#}oi?2t?Ye4JzUrt#>}?w^-6(jhxP5zo~4BxlrW>>6Z5LIz9(q|)J? z;p325fpx}2hqoP&htc}Lgkb090>G0RLg%bZo9akG6iI0Y`aSgCDY;e6#Thc_tNYrY zavfM5?oa?$mKNbqXhU|$DIYhWuMT~ZcLF5+8Bp0SLUFx*D@<(49W-w+-Qd=P0UBdl%^4CPIa*00G_J2XK*jd zU)7R^vjD!lZg`r-c`MPG8mlaJgoTdQm`u>(j@&cD%HU}R|8xbb!Z}mCVHf)GnsheS zT;t5^4XAM2;a=E9BC9M!o$aS8*WTXFM+^HY*!ig4(c}Q9 z-gJ|l&sJD{4MY6@*uRL+uxm{$)?~?9G%I}Al6+*vniWFCNTG2ys-$5ejFlPcc^)JdcubFzAvWE{U+ozGpP4YM7@_3`U^vS!nLvFr%IF#CT zJ&bxwHG`V!`Fb+{b${6ZPe%+|+1_=o@ZP&TccXg~{sN;VYZ7jQ(cs!9c)pk7`QGQf z@qbZv_?r0tvFvzH*|R-mm-Z(8McLGvr2nz(Bv0AySbP462bhSm?-c7Iv8={f(oN3X z`Cqso(Nn%VZlAw%TJOv**I_JQc}PoE(&mdyF4I>zpJ$+2+<_8imF|QbBk~RraHWtD7)=nW(<9rAweA z*ztTIB10$P=`}oUe_@n)5&Y&3x;FHXc?V`|1?1FFa+2_Lc&XDaJtF(luEm{@46dA> z4>9u~bMG4-X1~CCvTt3G1Ru-3S$dLlr=hBO7siy?xs!g|GdJn#g#~d{FEEO%>Cj3j zGS?*gF$tN7-evfy`7N}As{d5(q^na`H#Do{70o_!y<;mznkdN736Q;GBJ^mpKA9g2 z883pYu4oQT6F9_xiNtQT7<-$^NDGcYo9XbLJf~s*lYdv${8D@CpD;-4?7Iu70qD^vM(9qpwsp{ehC+0#M3(j3No`0Ih44H(T3sJyBA>IDOOZ8$7En1 zHCKvs?8oOxi+c`EMEDHW6OI zTkwi|zC(D1%;{O4^T0*K2_2ootf7Ai?TyHQ1o~G%OKfD;lrX2NIX3rs1~aRC*jVH*zA`*wbF0iT+%~X2 z?z-H6Wq58cqMG7O|14}t?ZPX=6r^UoZS!yJ*xX{5s&WUZ(_5XrZRQ(rqxiG<9v`?T zxCU^6z_GA15bKN=2f)rJ`-lI&dB5*54|E<6{m>z*c3}J}UdXR3O(OGU68ErCI)iFC z5K6^XVP?h6n*vR&;iDWKczMgEWC|%_qRAie1XXRVmOkq7C*5ri$p_(zh}&yWMKegp}Mny6NSRoiqpqf zk`WIv<`k#FPaSg{F_?nu-X#UyOI_dc>q$)snm``C=@}y4*4U zqMOI$%`?#|y=`HKg`M;@Vz)z2Ci7D5C>hZ|gs-|T+}_hxS34ECzUp}RVgjyTcD#Kt z9@k?XXD%k;dZeTCVj`l-6tzCu+!s03-}!vkI#*tIKv_}i(q@8*8wa}H-l*`Sb;a{(W02N2c1`O_;?n|= zM#h|Ke0O5kP8+1tVfAm2H2u;i@%ksbd)uO6=}Nh-c2=e7Zt|g<1|PcDT1yal4N?#L zf<&LV5V7oEYkdW2Zhc~DeSrD3*0mib+fTOFkpEozCEI5H>aY=>-`slN6(YAqzwNWV zV_N_|2=C}^TXuK>D0cD+v2`VJPoLf6@BFdzN!v=>v@*)IyYv50LR|kDg#kPsi||dd zLrAc2r_4o)%46-C*s=`L;I-Doj&xw+JL;y0E$*{j`IFRUv^~U2jn?*_wxzW<_P+U3 zKiM1SV$Nt|04G8ZYit);d)n^0BW#!l_5=?bgovz^E44EXwdgy;u@C1z0O6)wUrG~F z`t-GlEgjWX+g&{U3PHc&px*}=2ML$T4@~9LU$mXIP2ul;utoFNJJ)wxHIXR)hx(R( ze5d-Z2OOzy7GH-|AD0i1lYgd8wg-A45B>1R8xTKtzs=I*=HwskZca{YDX;c-x;n}{ z>1RFZq$f0W1eBGx20Au2z1+09sj$f%bCs7%u#BK0h;|sgFtn-$_7+3+=V%8Z{~Qz&-2 zltMaU=J(#vTkb-H9fBp%T^@AB1E;NiNi2!6bI=vjLGXqZt|!9IL01H@n#_BdCXSiK z<8_9nODLQ*OE9{Qy#mVRjWXuM_*h7NiA6ENugP!&rxt^EKYqsyA7#_y|5l%$O-DRj zPw)x537>25v=8jZ=L&X<2|mhxe12{3!-w(UBjWMN=kclL@%g;nk#;jSV+T;EV*oZX z<44*5&KAKc5;PNFXEZ2@q9;o_#VwyC(XcL!&z6*JOcI%?mc}HiIPEe;Nz3WN^dLd; zJLxcya#gGFxBUe>YdL)7|EQ@Qq6F5@Sc^rS`Aq&Vd%3P}$h7-gRbf zU%Tg_MiWE&PW28$T!J*v)R(Uh%hzXF`=K=TP1OC}aHI9F51{lh1FV`_YO0Sk9p4QY>Rz0QdB;-&zu@7zdOjOm+D-LzQ}_2C(qiB4zC3uh z?xyp>Wjuw?^#})3_@)v&`R~^CTt~b>5@m1L86W;CsP}&7)mA~TYQR%x&pOwN_RutS z8R@kI`VtTIN6$r^1xR{zFc+BS)BjdbuS6M*J$+@6r|)~n>4Y`O-}CRz_IzXe4LfzD zJUgsy$kk!{9(F8p{=ODFbtG*cP8j?HU+8tZdOzl`&Ao5gYOrtTd@F{J9ar~WDE08= zFlr^Pi|{-Bdl>b@yP=d8_cL&xiuT&x=?P>Px7`Nw+jUFB6-$z9l`wz@&x~O>B7)S@~ojc{(d=dQOm1TF1?C;A2ax< zX$;~NuLRuk$SjpBR5hI;_Lh_QRH}f|!xFPVP!PsG`oz}R_w4jFjf0jdA}eaT0(MI7 zQ|roR6YTKg+f`mgTGn^g$XWMYmJ0uMMqwoulJ2PG7uJG)=?ZfayT=*QGZXr`InMWc z6@Q_Jd2g-a7J8Cfoi0PpRwUXoUtY)K=X|s0ue>}B@F@6y=jG{brGkmam@N8Bco-2s zPe13A&^<_&`S4>Cp+#7fAWG%j>4`+v%kJm1OUeMpl!V2kltv?$w zOEJrLmKEQ4)kuYSnP{9U>0^~xKD7(wpz>l3b~ePF^7hxkodN9p7ULr%n)No9T6nP4 z_|KV~CL!tSt7{IrdLAmSoqzdd?4b8Xt#f_QqqN8h09laCX_R7%)N0l8EsGxTsa-Bm zfm5woKNG2?9<`(*MmCUpL~1Y4N6){!POi&3;-X|ptOQZF-)U=Xr#i(>YW!!lX>7Pg z)G&(^Dd?zz2M7cD!(Tt1_M2TIblqwraGm$`$Im~~mwBHB*LWtI)Bm{@$+*LbN- zePw=d+cIS+Q);bGF*BFWs4a5qP_qQNhnwh5LA1mo?i5^=7WwekVMRkMzKqI(^Qk(- z*riz1AhnR)Of{^H9<2eqtIlqCin7aPut%uTluB6%V!qOLgSe2AT6_u%Da86WFJjcd zbAv3IJ&q`wuP2M^HSpP%SYE-o^FkIen8TBtCon_sYLHomjQT-`v!;FY4+=P10Rx>g zhhSx;#CO$Zi$-XtRpVH^SGeClmBO77TS$GPnFpDIl=?H8Dy-6LhFOPNu!2S8;^Dx* zjFp3W>V^lCMV*p$I3t0l`IvS|CuK~<+;Ix?N-Nt;$GFb;0nV>MT<&KjkQVkom;t+? zeRya(CJcT!ue45RUXn6}ah@S(8>@woQ_8Yr%+#o0@Xt?Z7r!)gsvw4d2Nx^V%oag_BD^h~-P(W4?2VB~&H(X&-jD$#!LRuWs)JO}(co~K?J<`aCDd`$LiVK3~ z#xNP9V?4i>_%Ge-tn4PUjWZmX5nO^l|E16+Txh~lPO!3nG+ey|BS_y1Xs0BYpqPEfnuuv65MonihCS@IPhT^>N8#1r(l0ZO3)Z>g@2`}Y*aC(LeGES`z zDu$~w~tg4$w4lvvs+>A;s09?neS z;vOtY8O4^@D%daVLZRaO1?)Q4{at=mF^l*%TW4``%HdY>2KX(~LwZ@Yl1{Iy!cNIG zO_8);ei8W~Hc2cp$T=d}w5H*_JbJ}2dDN351>?L5=U*-oKr-M+2U-9xD@tmYsAL6x z?1?5+};%z8hwFH`%w| z$8t}~kaG3&V!KkHzE{zpDx;nka9)%eZ$&>0wfL6}eV)R2PEU$v7N(4?rzW&F$jW`4 zLLZ?^B>3DeR4Q>M2&FGieubQD7%H1kT#GXwoHSLC5>p$@GC18(oqXs_GU81P<><7h zQYidyKjSX%+cOQQNdvG4?lp4wAIm^BndzJ+z#^~m85{3-`N-{r~Ah%Xj)A))4l;S+NN`E}V(^sM5NP z@Oi;%b|yGng4v-aK~pe_-95P6LF=ilo|5xWvgL-Z_?D~3H6GYU0sDW4h-6)eyZpmM zlFh^2oWrDcWOOHEuiB(#AGkzv9q^r^x;UdwpfW-vy#O5BqtqhTKH<~ z2JEjCw$@+v20WP~x#veex36{m+A(OYdechko81fE+3(VE^}h{*a(ixg*0YCsC>i&` z9ig@X>H}A6Z~1Sb+hVBtYS@JQ7DiR?cH4wpdOMV&ehi}u-hyudB;e!i(P@x>N>Uql zJkX!j@a3rfFS}{DxwWYmD--@(i7oT@5V~$|z0fPZ5gVTi z23i08PD31KP}PX3?!%vgQw^KyJq(2l#V9%*v|<+;CMWLJ$A%ywx(*s9-c9ys(Cf+Ys9%^pND8*Uuk{JKF<0cd`^iT z8y=gRZa>GluYNSv7?H5IjxdFr!aVlY6Fm0Tqj`JliCC?SGr1!?p#3@B9nM_|uP3J{ zjzoDQOo1k?r#!uC9@y?|4{+^s9QL^y_q=A*~CviC4{ z5BU8sswRQIHvTioVv3*(?*OQ0^;8d^qn(k7e9np#$6NyeyV*k-3_ zS*?2a8+Ivm+)mTt0!bk(PF)EK^IQ^VJsmo`uwM163)4|Cx{i7S2U;QCbJE{FL)X8lZz{w=jG2Sr%EfD@5vAp zYj;Vk!s5-%+T2sW>tEj79Ekn>kr_R0S9_-1f!k--PXf2cf!n8=Vofm~ZlCVq_DMXq z6MK#+CU^8{U&P-Wdx!FL^&u!P9OaEeUmW8pFVa(92w&cKlsDGoj$Q5REbmF=SLq8- z%l~%$#P^T0UGLpd%eQjRT=b4pUAZ^-{g&hE0v_%lyblJAVS~o%WFGF#uDfh{#LE6U zo#+m?!fsy$Zokw;G>CmqKO^>b0nXNrFYBX6LeB!E=>HgB)>otGo;9v1y(+$>MtH0_ z;M>;Y?CSPHihr5=H1tz^*@wEmAlCi`G1Q}#;PrE1)PZt0uM>Tqh#xO@w{BjxrY3p2 zyg%xq4XfCy&azwbKv z&yrfPeI2h$Fi>k@lOeZ$4ZogeGgq^-IHgkLiW3HBfqNAu_#X>ek{0iD`AObuH9SQ8 zktyf5hM|1)F|0gf*g?TMW(0O}gr@zjt=(_BWLWb&=r7z7y!%a;hF|yWcNKRFtz?Cy zh2Bujj@uzB*zekia|Tm`lKC|c8ILGvuX>yz*wN{A-iJ}C$NBeeA)=CLreM7tDdppm zol4)1p1`gVLhmQz*E-~RA^)uGe|~U{#Cm_kXSIPlMW(qI2(I7x5j=&wK61b7?(X2- zJ6(Y?;75xJvB!gP_d~xInEkG#?wu|T@UQU;$BslCdhyimal6xksZv;_AU-+4Q)uZy z99n{DiwREEt24O3evA&S7Fu;#WTi&l9bK)@k_C$@^ewA0 zC1$#K8FvgmV}cROF=;g{;ng_$CY8(Vs+-<0_&@%2LMFIhrY zApL8$@C#ErW%y+U&qvsWn`y*4CVoZs#^klI68t680DJO`cUR&8oA@#B;Njav@P~K>xeVE}~zz zQ$o5Edux~(;N0~fVW&{|Wqo-{&<~g=ouDR290gip^>V<`lnbj@*a8(y$9)E_IV5cu z?1_jS(C!Na$Ll^+_`X_djKoPxs0nY^ODqcLF-@6biwIQz${?}ovLz-e!f*x@Nl{dS z9$2OCVwDv;vrgE>f-6}?>iL%+QIVP{fl<=6_Y4b1(t3LG(8g3x9naxBb5gT4!t>B| z4?Ryu(bLwako9-n)p7$hZXZtx1v3z;@rQ`)=oNotj?bpXe{n`(#@CY~S$sW7k!{JM z!{h4%SRHoch*nJ${vcwxDfOv)z3ea3FH_slruQI%9Uaw*Sr;92H_ja>2G1R9 zDsIWw9J!Oq9n84RiOe3lw3v9FiN@w=Y&ezLUTtd6uV z+E#EjYfJLB3)*b?iVK;QHahGe^ywl?U^XHgXDvcM5q&4Z*^~DJY61An@O3-aV7;F@GN?N65(oWG5K&FaV0!!xWZY$_xuwsQo-;18(wQsGC-@5j@oE+?d}Qv%bf9Jdz7^eZ-2dnzm+{@zj1H zc*PfY#AW9$g3B82t&4-^8aLsxm4{l%SqDSigv%BlY8h8>QB*e1xu(10BJt7nhNZJ! z|M1=gEImfh=ocl(nZB2fJ(773G}9k8CAJ){rpLVF5>WIEDr|VeHdmN%G4n%K(cUA_ zWXtWesM?jFqQ;6F{jl>E82L0Jp9Jrv<3_DuIN6IWXTa~GH>m1^@V1Mlqt+ygYmrB_ zgpFZ+PSUmiVt>G1$O*KR&oNOg&X~M`0e8z}ajgk&dxf`As@W7x3v(97bQhye9rRjQfROS1|21+tB_m%6N!Rc!=Sg z(E6cG!M|(dVJEZ;Ez&e-mX%UO_xlDjkBdB{fNQk5Y&$(`_`dZAMPjgoZK?SQmTn?8 zpAjK)tG*(r3L6p5NTUexR(sJU4!rb zirt~s`arhMhOdBhHAL4<|eUHtZ??bc0l70 zB|kY=hNlI1_aDx?dVb64XQ0X6nhGo4D9o15(sXf;b6Q6fW^+&Ati2xR8t#)cp;>7` zlsyB{EF`5&fvhAmqokCPXXKtc=@}}-n%(;&HKC-Q_??>u&(#NLrGCFKiGAO7rU!n* zH`{CsfH}*<)b^Ynyf$#d@V>u?d6?Zj`(dvV=2do6y<@m7{q>%}*Sn~{-eXYjq^mEF zyt&@IH@x#hM3?Mw{(<#Dk5j^}9#r!r=Xyh5-T&TS_r#W#>OnObv@*F^O=_HuvknNR zPY%HJ1J_Tz|L|b?f$Mv$K%?Zj9!x)Qo#`c*zH}3&T3!#-1N|Do(E?1nu})76%i~j=8wLG4po>h0$imvAA?&|*c;I`?jb)RSU9#ZRu?!OIg=RP=I zvhUzaJJJ2t9ihs3sQuk#HbL=AO@V1bi?R$cRSe3wB*bI!dgql^pB@EPczsW@9{GSL z8f&@v9HCTTZ=g37F)Be4G~M6h{8$L{K15tJ1lkrE3;%FaIC{N^js`Ey;Pm+aWTzf< z+R$?~Rbh^@zLHM(X>0OKr*L&R-`C0gkkujm_oG&OS$z+>al1ca=Cuc5l}1I(bkYVY zL}HSeq^6(KeooD2d~wZVh8E>Bex{$`(>9#{uQC0I`v4QkljMBe@V=w&Jnv2AYQY*2 zd*0CRDB;i4Z4g$@Z&5EHXKJ6k{)}HxL2!XAIHVx7Kvx=AI;vP-Jfd`Dsi-U_>%W|4 zD|XTf^oa4REu9Cw-g}szk~OfhENXYE)7~BzBw&TCwg{&_2d6pj?U)W7=y-?sCJ8IV zI6bz@uf@PmDb4(^q7X`Q9H!Y>*#lA8{vHb?}d<@sg6`w{2zmtY7RVU$-L}n z4w=jCb9}+?O$r)dYiu1+LdV{h;!_`O31Q)tD^+JL%!)1*9+_gTO8)*FFbJCG+~4)J zO?x@{<=21HcpS;mc zIH8T_1lknL5?-LTxH+L4elUa+p6DQ)u%>%u8aQEqzU$fbeVmZw%vj&Y2}#bG>#4C` zSjX!wNUZTIWY)u(gzjytf6A0vd|4`7RvV9b@;}hhl+&>e9K*Lu^J*b{6(yxIQ&&^m z_GzH5z3toH21J~g=lq?MvftQ*RcY7j7E@!sLYz=ti7a@ONpA`)8BsE_B&Z~~B%~y? zBq2*w_U*uSFG+JI_8vz0=j+|A?&RWvgxEujLc5bzU)ny|-Rg&>e5*%xl2#9_6^4j$ zF6Eo+LUy^^U0zDs{q_EK|GFFPZspruB*Q8S?OrVWG{MvE`b|-!-MJSF^yRw7P)mq) zsE+KFO0mLoum6sb**(7|bhrAkO@!M8-=Nhu^|!h?gYcC=mW9%bNUK|tzw@;Ehn?qa zVkJjGmJgr{S`4ME6TmMQ?udc%W%&X8veFlHC&2HKC!;vuRGo%IL*@Ek5 zc$VXSpX0c7Im`FCtFm?DEfeuIgY({Xvpl+i@m5*%c$2qlt(UtWePGbxjJRp+-Ok6b z(;bMjc;`9if+}f$!r9>b-WbN}c!)SaG;m)x_Vt*jQ`|j9b5@7+m36d>mVcd+bZv_f zz2*cwQV*fu;2La+cRX=unq!^?@%j$!hu`_y{(muzro&D{!b3`#6^JvPD zAEK>ODmBoP$OI2$y_>w4C2jSsr=2c!kXqH-#yPw|-6gETp|HYxbY~cz(bxIXsH+La zK6+0!-b`;o>s2kOd)zY65G^-l9PERgxHf2~TW{lT8&O%Bb4l+w#732ZF2~w=8WaF8 zr6%iS$^%)axRZ6;p<^*P|7(ofS&dy$rAsCs$(~60_>vE`mGwDViR*g&5b+2Lb&&oM>|A6Z_y5now9#6LvrLujQ4MOz(pTFiF)pAX=kf<1M-RqpDYeyVxY zA^0sHI)WIDYntgp@z%S{vgmlzCUEFcL$vv0b_%@Si3B$B61bYLzv3=Oq zIC4+i+YoI&eM|UF2KcBSYG@AK0e(9a?>IRfJh3CsaYYN>15X^8P9*kz$Iq$L9rI3v zz-O1N(Dyq|h6~}-I~+b@Xw?kFa!rGmIq_UdBQ;xf{lz`;*3B3LPGJOq2jGq)h+=S~ z220KoEOSou;drV!TE1TT8HnazM?$)&blh?n@!+CgbLdFdAe{#b< z)y{e#{@xyABUTHEEt1_2tq}euF$*oS#-Y&dP|nuX3YOlh$o63apc|zkuGLElaaKkt zeKBO$aL;JPO;~A|McSP+D@QhY>caYJ_@u$)1EaolU&R_T$i$BJ!Zp4&;-A&BR z<5lFk8{^f`b$#PiV#`-M2hG|CtUnUl>UN6F@4HC+zr%;4tysrRI>kM+RakZoaVQWM z#)6m>7I^+!<~rZ#tcM>Tcop$69=FsZE(U3TcwmGe5{QLxH#oqPHVb@DW;#i$p~3X( zZL2>_1$_zoKLvJS?{;Q%sy*`jIG609{}HYM{TEWLK;Hyk(@pZK2R+jI#Om?ZiP(!V zK);^M3QrKdvs)qr?Ub9y=tnsZ7!X6+D~_ED$?z)njNS73$qvFZ;24SAD$6P%JX0b( zVsO6EFRwEJaVvQp;E~t&1nz^hE;M4Ss|f<6VQaAEOYFIwfOZtRE28<_i7WPtZJS1U zB=&O7EwSBspLXYkymsdm3d#3Kez`+EJ=*HdePSmmL0tMUB=)D)f3f<;5Ob*2{Uv@} z)%K06VV-eSdqZYh`(-viqbf<}Wp))Wvy~5IeV7u09&oZwc;su3)b{2AEvIc^*r^s* z$q{FSNbd+}%pm{yvZ$-E{SrHJki;hRUez+EUt+5VNNlI^&k{SoYaFYF#75v3>}!(t zy_Lk?@c&w3=NQ$N!`Z8$AO8{>(xs5sf(U<{^m%NJ&lbq*O`|G_tOnH$MeMNB5$urS zltxZFL`P&Z)v0pQod~7}{>5_|WOWb~L_2Akq=1uy&?-6Pndl@jSLdZVWH!$F%z(_M z?;2I4FI{tKEp#gXg~V;h@P$wA7+5HfIar@Bt>OE4Gu96#WoBAty!oy&*`)YFV{-agf>oIZ zt1)ayQE2Jj3u~ASZuDu?+n+k%~TI=q`&$o|ITaVl_hks9=EO?rN9a`Nx7-OS##etaJ zy(qiac~4KsE_llwCZoiQ_&#FX9u5P47WI8|w*7ucT6RD7wUoq;;vBrPE+^T-_Ai-nAoD&HRK|{-bGB(Ro9nn7h2Er`+%zLWQ|`l+`Yzs-*uE<pSVZI4qWFaIXA7j zFnCQke7NUMc<<)% z-UPh2*Ai?W9o9!>Umn}^ery#yw)6V274lU6`A<|n&SP7~WBVmm&|S`7u;1J@`etn3 z9e}NQ0Jbaci0vXC+ZbSbH)a=N6FB+64PDSlLpXNMYy3y;5b^uwqu8ij@4NQk>s$Tx zY!Gxn@4L2l$GsD>LxuhG0)L_*df!#modip>2~SZaA)Xy`64Rl}ITic*-Oe2Bn0Gmi zC?f$ii0jt}B{}ySqdYpGBxj}Z2G3kELi-Z&@0QoA!M{05>{FbcH-EdXshLEdl}K_x}76<+QyLDh2BhCdH^<;41F9t zqh;w}?dMG#oK{UZcztJ28~gDfj=4!X{Ir9>J%u;}KMb}9y-7NJ&ciJST-~9*UR_=r z4hx6G>k)gNu&F_%RV@KK{H+@HzkE+odbD`&BSt2n59QI~y$>6is9oJ2Egt%R7wO+$ z{)sy7ev-jc=T*eV>vF!?_47?yyd>v7!;O}*4xr7~y9d?zCfa=xM9_Xb{{0 z+RSKk@NgFa_xl~;8hN;Sz?~lqhwmn~e7*a+?cFp5Y>i&ef#ex zwt4aWk1Ctv!#Bb@(kE&udO$6he(|M?{ zjwu*@x|};Y9|5j${WThm8W}pGJd`9)FL>&g*mB<<^86(5y=c3Sui<6e68_q3yUVr~ zaRr{R<=XykTV;zKjOPFjNo*7I7}(mW!Fb+8`53<4ziyv+$30vf5A{j=u-_)w#@i;^ zX4<%>wx%%PGtPFcX}WEUEqE|4H+?0Y&%dpG@g2XC$V0u_KK+hRt9B92&u`DW<4*5m zJXBWuii_VgecSYV(^mN8*Zdo?*7t=`b^qtqzrBLz6YqslGCaS9Um)(6z8Fefzc-Y+ z?_JnU=Z8{x_|@$Vqk8giW*L54Yr?3;7hqQ%vS!7~+0gF|x)S@c@y()5YqHnWzy_uu zHLEY7l*&NkA*PA{9NQ|$L3gV`9rOZjQ7Y^um5!^vW+8a~fj-Yk$)<3~2r^2%mvV^#BW zIe86qwjigzS-Md)t)2_56WG^@sRE~iU5ejy*epzkHCW=+E3_q=5yAEZUOB1fn(5SM z9GN+Yl(+O5M_r!N(Ujvvgt;k>IeE_^jw5t#h*kFzV%2TW`v~c>HVdYYcC62tji@}sP%iB7;*IBN z>(VR|eX}qn_lLFF>9&D2JZ~dDXMcb`Z^4J6=L)T*#{bkjap_{7HU-U6?LgYpIR3Vj z(B$1Kbj}T$JmXjaI@nNWV}G4dU#y^y#qV<*iTI!DoJ#5(*tQqOUb^1?FzlLwEpufYCOU8r)KfeofimB4jZvX6Y;Zlk1lx-zYXTUzj_9L&ZgsK zm9w)b@SCs)enxGv4XxDt%g2qlZ*X8v}9=8dTftxm$ z;1)t~%c}%#?)@8SZY#krmzvm*oqQ<4P66!l^uX?=oQEOa-4VE{I>TQ=yHve*pk{VAiI}Vv3Z*#%xh8m70aqb9YhYxKIV>VFV=V{LhwC8yEu%JD~ZIPhcOP-bl&8TAbc&(5XH^9p*DT1j= z)-&xFNE;@@;}5a;>|S!jOm2WBT@vv_i(o2K-mptVdS)IMLS6GvW_!wa{cU%vZ-zI} z_7qTIwih*V;5R{sJA89G-U8xJ-xN%mnes#b_sH71k3arr`g8v?{c*18BuLx;|LA{P zT5xxy1>R2L{)!fTv`0T7?TvmSz8;JA{#-@d#Y*%P88xA*S;KRoSHtlK(V92$;Ef(a z+a+!u6b)(6A`aycj8zeBi|>y@~(EfEUD& zA~*Oz)Nm4*5YFqkiSwjhq^|^U!lcs#(*bi6>z8C}H6q7ezE zZ8p}->W`?}?Tcb4$)I=B@Xp}62eWSVN3Y=h;Jo8Jc~{;dua3_f#phjei@XX?-nc*I z-PYEP6{f*8l+PRZr@Y(Rn(?0COx+^yPki1MM7dUfbaCNeoVT@o<;i;-?{2Q|wzg0B zy#M9%?z%j_@73>%SV>x4HsKFhbV#Obufa7RZ~xP_m2Zn(9vImm zn7eqGR{>*yjk>#SHr%GXu{`Yae0iC-DbJsWd5ka5$5URyZOZF~wfTSA7Vzcy-KM-| z9%cq#o(=becbxNYUEgnc*f74l;~tp7_5GZO8OE1a>nZPz+myG5ho$)PUc60t6+Das zH8r?OJ>{j}ro5MU*zb6%MBS#mXL*>Te0l%$l&8E+c@OchHGFv&?{U*)aDDIQVJi9Z zW_!x3^S}<~m#IAL2EM$q+mtt&hk1@KZNe$l!^4c>%lpbx-i5nw%`de)teP)xp9f|z{dV&(J*bJn^|q(H z0>F~7cz5fjWg@I`HsuI91)ZbeH5HhZku`>u7mIR7!8e|o=x3ULIag5!Uq!V^ZGDTy zjBWu|21-S?s#s`J0K?bpM84e$oZFF8RlPt|6_)gELRJy-UZ&R`|=be zC6t%xXI9Xuyf&nS!mMy;5d|B6$(8`vs3=X^othGXJy}x5N=t?p$O;9;RFFTSq;6${YTP^Tk039KXNRNNE$_BnXId|u_ERdm$pl<&_7 zP*&2l{~BRIg}p#wgUBj?UpKyn80?hkz2wi~@$CoiasoBWC1Rxj2k^^?-{@J zr0p=ubKG!SjcGYMtQCq?w~OZXS0&;))+VPX&=J^t5Kz8pJN5* z=R2LM=U9oI8oQJm8%5x}&dcpD31I8HijIxPbNdeub*%59qeLA2$M$5}l|+}Er>x$f z2n9<4p_K-`l|~`{zib@B)1neP5$c+`EL}kbH*ic1+G~nGCwxLQ$)6Lv=*tNjC9Q^) zu|uS-)QjrarQC$5`Ijg7(ebIcgXKG(#*R$qLRXTQKO|Kj<pur=vl z>D-tkI!-qv6=`(B96Y6S6R4=@08Wr8nmmLPo}}aEAZ2L^>V;L&7?c>2MB${AR6HwN z4gXrojX`>3pvcu5gO*QHy40c}oZuwoqN!B8BlJ+VQqPfc2^@G{h`dqcJ@Q78(v>c~ z5|~ot9Z3gvBroP*G}0rZsMe(C=3myU-S4ABbC5>9i#&WeOmR`N0C8p(CCiE=mU9}~ zl-NW?u4;P$Wm0v0{pfamXc9wu&}4@6pDX?S2d83IFKZeKj@Z(mWoawy=3^=}0W4^v z@Z;!-?^I^Xma`FEep;qdeQh3F@fu zpPI9CUTC;GyT z5hpO5wtESQ{^_J$COA-g!bQoc2(0V12Wm5tsqh1}i;@>Jz6@o-I)7<;3SvG9B@VR( z8Z!PY2BY)q|CI|?u01cYre}#T zE{RNQlJEUNV6Dv3vgwGf``AWOPg2XHHYsRz1#yXGhUFuv(ZkuyW#3`VT-6+$Lq)_j z$XtFj(YzI2k|c?yp)N{~CM_?7@#Vw?b)W@bdkd-k!zmn2u~DJMeYGWeKNkA1U(c+A zhL4^C`&&<~S}uK*Ea7OMUG?O9naijMoQaZi^aAj7=vWdl_qGz(S*|Ax=+}OgDk{K*(qGM+lO)2SgKFf8c3CHI%(@dMW zskFFWJf3p8jPrSZq$6qPL+es7QqfNFx+!MFtO--F!cNgOA5$}tP4OApp(Y|V6Rq>F z_dN5}_1$4#jG+dW*4Q%a881tP|li?>#klj__99y*!ilFE*lCP z2kP26Lt?qFB}Aht7ceL0zNryxQCC!Jyh^+)-_=Np@YL5O&QAxZ=r3H|%3Rw|t5f_Wf>B)4_Nm#7N89^1& z_nfd(Vo|X-<5j+eqkfiGAg$`OoudBB498oHwXb;M_8veQyTVUwYJuMN!0 zOese_S;kSu&rph)qYBUKl9|VuFYxuFc7d`Ev$I#2P0VSg9Pdusr79~&?R^#R1%i7R zqE)Nps87yn(-}FwFPEQ$Pu%CY0>_{>-A2X-y-}mJ;7LZlROrtXa1{LoyynL1bXsr5 zqLUMR_X57~L5Ai>zI&L9TG}pB;7hcSsnkKA;swlTomNiXDge5)-omgaf*WXYo}O7vUJr{_CRf=W=X0a zCo%YQlC8fkyR_`(blBO5Rpn?2fj8=ccXhyP1@KzvZL#W-bS!f(Gn7*_{;~`-m-+xg zQB!AEiBKz}k~wJ?AdOIc7Uns7GXQxWj+q_B8u13 zaYcw^_Y`Erkc2Jq6*EkI ziZiSMEX@QI&SY0=A`3D#V+)?w1Y^vVGb4(YYBWU;vwJn+h1)cv3lD1ag+`68Fo1mo zr=>m3Ue$~%`b863)S($w^r_}cjkf5i0Dn_N(Zc~_it+-2ijo5Yi&6uI7sXl@2l$yH ztr3=SW?zneD7@0QEE2VY)cAvp%tRuEmyD^5D8k$?0#Yh}AB&ku?zqA*vu}Z<1gUAG zE7iJFTv=UM;qTf9m~>_z3$7Rf-YNXM7O?+(9@hQ>K{}&gKDDc8X$k4q4>0qXQ(SSK zm~hY#hgPsk~i_Y4izbBHW_Zg;b<7(aZ(HecP(p;4;j(GL{et^9gJs<)^q; z8rQQ(^I5^jwn!`F1rkJ5+|c+LEa8%LV=EMPO8O%sF5S+`Dl~wC1S*`!$}3KB<%W6a zZBkWe1?ek4GTYf80+D};D==(ly-M}`(}dEAEad7##5(H}c$P; zKnvbwY-0mBdj7;MBP&Lgs*5MG+H#V5ihH79WT~J^wdEt-h)Thhsid5Ljwl^Yt`Sis z$|9j9uoS&liIr#F8*D&1D1}vM7VgO@x9+Ey0>p=`(^L&B7gv7B4zEIL6{xdNVmZZS z)_n-bgn~sn0*jhGi70P;Zl=JWlvZ_$OUEAV@4*{c$>B$-hQ zX`p(5`H_)Vl2$+&GpAzBk)#z^Nty5^S1s1a>>|MfI$1%zE}eOR@v8ihZ?RL{@q!q% z`jR?t(l*8nt*mS|q>DiIyN==^QCbkONW|L}e4bAPW!nOX_p`j@3GI6AgN&q%w8tV| z7S;iiA2C)4h2wR{8KiGR962u~^F5@P1aWIbDmlI^E%=a;l@VEI07lX>0uR_H?*=c0 z)*Z1^N>P~%ttvKOV4hejPfWiM+XdsUJ$Qcp<P z*0VBjkIb+b(p9ArmHkNG8s#NxSx8GSorya8=zyR6AtsaHyrRx7 zP!W0lBY5_x-OK9>ouD#-kyMfIJqK#}ZC%b#c9r}za(~PUNn5Ts3f$F=7!6f|sws@T z3}d45C~P>r(0(Tyzkn2o(~QzR1nfVx%On^0QFuA|+Rx{8B>!pH7faCZC05caCNnO4 zSthI0imiWR1O>}6LddBEw2V+WpN-efCwYF(U>;&bl^5`3WdX_cmd*s4E@#FUHZl{< za~Opcwb+)SjjGB3OdWIrfm@Mpo4~G;Oe|4W0y^lhPEnb`e1JYX$&5J67Ni+BY2m}n zC`$a%8)1hkR#p+n1I!Ss4{8%-=+uf(qNrd<*#Y)7t+%U2so;c9QxD_e`Q3Lii_NRf-@j!y{Qh(KsKiCGYM%P6pW(LRt@_ z!u%tX%n%AK0xwJDC~9;vSXC%B3+y5<(oTuG zg^agF0lQ|gnDjOD2nnQ!YB}?U)_`8&UG^Zj$jzV1O48b1@EjneT+=FxP9qm6YA~>h zO2kE>m1SEQsU-%s(v;Udx_X_&vK%s|2_-~g)DWmpk55#VbV7wfj2xAX{K$iE(kPk! zKr1e}pOI7&c@tw0K~6|y@=8hJ5wzzq^iHYyM`k&rv;ejcUsDlULdFZ^<}_w1-!D;; zmjW#x*mwk7q%6h^P~>C&Ku@*wgO{AGNr@i?G&OO=)QS^}{10;j|^PUbO!M6dhQ zu2iWYrD+Nh$^4K`LPmj~A40!Tm^1j6J;f#QyaX=&#K)}AKE|rekmt$_25SW7_W;7Z zF=)f+3U9M_iMVnjz7$p$1bHV`ex{K@LQJesl)bA}V3&M?Hmbs_Y&lv_ER$nol?g;T zC1_7%B<8{tp&Y2~MdrcjjMzfz{ykGbu%#tiNPDbiWER3FWYkkwPD3Usm6I72zT%H4 z#)#Johe6Ye#C$j9;Nh?Vo#W#X}WL98yAudH7Kly<5u1w~8?Y+9Akf%PC zE41SBYg$pIvT7M5oNB*9pnMWW4!w3rc{(JIx(qxd1NM?%!Ff`dybOH5 zFoUdOyhLT60HZ}j7EZdrw*lr+j>C}IeTQILT05mZ#NxY98e2oi`H%5p;}zxQ)zfQabse!sha ze1EUcA2au!de3>z)6Vmpq8yKY9HbUz?VvdgVRc$J;yaNK3yP9OLX7u23%G#J3M!gN z+WQLnD&e;oT!PadCR#}Q(BijD6p)f7^LGZ^sVhTx@?!105Ea}S7jOKsV_4N%X zbMr$ym9-_7LDGCCfhDtwF>b6zR}{-8{}uNdrTa05zi?^y{Y6RokJ4!q~;!4Ku!hv0PRoooU$vkGZe28??;wj>%d zO0OSpT_fy@2Y$-O3lk*BlJ*1ol!XZs!8>ix|5S3VdxG!)TBEH$WJOvAs3$zmKVH}c zc;f6`!0&Gs;;(mGP$ zz7TgPVH$swWgc2(G^#uvXpuVq$JQaj7;A6hj8h*0#&f!KW|t_VgH_Ey4;=X8GNOb> zB<@H$noLGD5~j)pmFF?~TJ8}*YKX9a<-uk`7L(YeXt9d)>0QV(S?I##e$qRrhvU#g zeF^Eq;K3M+oO;zbP6ye>GZ&tk# zItz5N`nY0E31NyJT2{C(q6ECsXef`e#+U4jp8#7_ln1FRu3M1iHxwpe#N@y-pU`f3 zv_GaCm?CSx?6@`3J4G-{{PR<56l4-A((Np)oG>P#VmGi* zRZcS+qwW=}9C{mJ9^uf=My1wJI+S$DourE?!Xru#Qq3#0%igpaA*;elGbIi6F-ekz zmt~NQ(f$!%>*Jh6^C7KC(sKw3#0wT%CxIg?6b|ImXc6;t0%ljBjUC(L!0Kt(YQMt<&%=oiT{xM(Exjfcn#fuoAsT5OmmV!gKeEOP5oJ{OMhS`@mK_3}Pn3E|-^Q3k676Inzm2d&Z!Cv~AU6tOUeeye%R5;tWv^IN z-pMEjt=1S(X7GaZ>ZoPMp@|a)MHWrBhWW-rM?WNlmq=R6(<#!38cGPS0Mp3b&~;5E zvw@wEqWbSG5iWwViZhn>$G7`bjKlb<^ccf$!b&2_W<&EO-a}(NqFxJ%MM@Uh~vm}7>jLUS5S|wq()eHSZ9ap-@0*b?IhQ^%eg=9l_%x0w- zQ`#hqU}T}nOL!9wZlx>hZq;HwrPdkAb`Ty3P4~PRUQBNy$%8Q5LR-JfJ>)OPH(g!NLjGBg0D%3t{DBi3+}{wrIT*NZ-M%MHvpOj9y(5QTnN+ zUHQj=OMA?}RH~sC@S7y)x=KCth)Fbu(JD%*rh`HwG(Ca>n7`(H%Y6(xY`9>Z(oyF*Srd8 zF9(XT$I0}54$^Ng>kgH@?+#^OmC8OZm9-;1xSo%jd22o2%Yi45TGu>Fs>Kw_qaFRz zJP%2ErbxAok!s^=&!qH`mZ}DQ%cg?)IqoWb&Vna#)}`B;6UP)qqa^P#t%g{}cVNzQ zALb6m&i41#V-@=O`7E;VFq_J)Vlr5Wrt)E zW2oyG>eaT&MVwK3CA?LR73A&m)U9!QRjsj2@LA`>M=hP73coEqPviL#Fa~$a8nIGc zY&!GFUz)lfey8cPC*NxNWaej08xGUHh}}&aKH&l>xo1S}IZhFz9nK4*eaJYn8VuzolLu7VY+Mc=0{pNIR_xoLL%yz3yF_mb_Gioi|Tl zcg*glzhGyKOTX~qGe3w;O)pVeF#e5~XeR)r0jJTr!+uJDvMJSE-$<| z_6M}c{;7k`Qb0@W$bqLEPuC#MFE%~?qz5-R4}VE)dg3Ll9njBh+W1~dlRE#!rq_G} zo3vOfu<;X3Q^b42oAUBqhjBhppAz1LvtX6>!%v!LMCHs4of|SYX5;X0URp3ze;`>p zBmS_cwOc?Ndz(_<+yA7ZENTYUT$jKLmHcT_SKpqdMfq2n8mXP#t~C8XPs^32Q!iN_ zqH|`;8vcEgwDaYWvniikKl#Ynu7}T_>~J>q@DaSH=IeZS8r_u*L{*QR z?fugJC!=OGH$8FKnq$CfC$+l@?<-Gose6yfvA#@IWN1_=)Nc5^-C;hW)JUAXMiiG7Y(F(pJlVyev!iooW@o~JC(nK&`wy76>zZss|V6b zrJ+lBvw-u51+k8#)f2+!j;1;#ZlqFN0L8bO1dQV-!YNu$AUm(a=+@vQr9U?j2j3AIGk-IZdzU zYp`l%-(i`Afhw%zPy!9j-HvB{#c6~D%+K<4`-CuD;@tK!}?=Dcw+^7mm3t5cr|3q&Ze zo0m?&U!L>(e+c$;swSfA!+Yron&E1|sBlHAiTVVVB@yJ9oDNtqZp7Eju)* zKOaClE)3f(9(2ax{OAEO&-U)rELl-?%e2c=2R?PyLNTBV-P{>_*k5pN z@!0sW=G|hw4J9+Vq%o)E);Kok4+q2r>DC!hGY*JvVLw#s6N4U8wHnTi6`Ao2cyvaQ~7!0VV2pi`@&?vJRK$UpWA%?iS5ES7X)9ZZTogZqb&; z_2_i$fY?2aOTu|ro5q~h#%fuD40@woiIuvhKKF{zwh2NH{3FgbQjlZxRE<$l>Q=d2 zX0PI*dqxkD@^r`lw{`foU6z_I)rs1yR@rW`W10*QNl7~(+LGKDJDi%=qdjZ=J=T$3 zyz5x&Qx4&P*fE1kYA`>4eRQ+Lvy^1RD=KwNDrVXeOtpYj4%x^I#JdR1H$TKiTeO4Lu` z4~QeGln7T=aJE9wQjN_pN7iW25@h=VTCzc%@UNefC5@&IaE0C?r;()5mJK4Pn?-d9 z1EdnYs089{H2ybA$n4pU8>MI@sNBbZaQ987q|1L;0@$YP82G!1%#^ns{JZ^PMZl(* zlvkE#YL#Vf7S+zpu-8pqv{^J(n4OsvD@<~_@)Gj#mVJDY$GMN<@>U_I3Atd~ZI!uj zZ;Q*Eo4E+@4^7T>(X+ynyN{laAJ2`=k8PDX+RuA1Kc-byJZYYb>T-JK?aM!!pIES2 zOmHEbJ_&D$&V%zz1ym|={zC;+YV!Qz0xDH9e_z2gfyy16zXH9+80P+U%{OK9g{5s~Cf@F@38T4z7@ba2&!> z6}v@a64As~(Ttk45*2P0EqG5rTmqhEJQMMZNz>=q($d7lA%#L3PQ~`%-!h~a|K{#x z_>UVBhyR%Fjb^|+Yqw}hi$OSQNQcXdTCf|hdxy(;q8TyaLt+X0voIc6K7@@(S$ri; z)FbDTYq3OqXi-Ymmg+Q7yUl{U9g|j96SX=Kqn^~^a{gt|OxgtO{&Zth%~@%<34_`j zi`wKv&|=gblhut`gm*+!Ry2D@?4IPW#y6AR5mTscJn0)TX$M4O8r9$7a=|(9pCm8; zj+lUy1mrN|X---Im=o@6Hzfncs3~nd;JqG@UJnSPK7`fv>jCNYfH3MsSf9BbkX{c6 zzXP7O9uQv-NUsNkQ9HsGJk59};2DEwBIlkf;a#?-q~R z2K|0NsA~iA5q}8sl^yo2zxP{qi^Yi9f#1P?R$Y)tQP+1Uab!8(nDi%|CRb}`&EU9jYDsopM{c4QC_hExR z@#w=D`;K!fUj<&Dmjjv}emi!_?-ut$%ieKrx09fFKs<%T^~h-}QMS0k6@JAl+%Rb zXC0yMnQkkk4W&*+si-!kbfNf%q*5`rmC}b&8A`>qDP;)750XlmZ!2XCrKTQB79L88#Fr9pt1lvyrZ{2>y&Vv1?2rmZNIyL9Qy&m_ z*|&(!aix6v`IPwwBzjqGD}|J*ky^di7A@?lMQ$5eP;gpWSbmFVqFrz!jwu#E@-Qt(H`Ph|| zK%45od+TjnS8xOSo?2PpIyl_H?1MNvZXLg;HWggqOPj2(ne}Fof=TGbHdK$4rOPl| z5T2f3pMYLvq+1@$8=nW>Jhd9W$LSVto?4<~aAo)!!ov@UqG?}VXW?kx(})*AA-2fa zMd;;JwKZW;nvl6@%A)Sp>B43)+_lh(9!Kt5q-|8I3X$hRI{C#*@YbAZv_|HGi_2Cb zr^z`&s1~Dkkmq!KelGEJ8Trnu;g3tlSImHWjEwlcH$NNU7=%s85gz_!{-Jyodrp{c zi7VKMa>gukK_}E`sj^$L3c4dkn?>gsE-O$8e6^^!I?j4N_wfq()Fyydz%N@s8N+ zB$)xOj(jmlUxIW~(n^#zCe6dYHYp$fN~DmyAuYFi5>^yn>hNX{w5!G*i~qg0>Fh&1 zOLh>C*anW3l1uVR);J8>UIljm1y2so1U#?UHh{W_|3Naiz|$(g{~#r_2&=0| z5|A7PKeDX?HBm3YV*s-lJWY6-@r=SV0nZpbZFt7v*&R{!MxNMeuO|A5vtSMSX?C zN|8{=Hop)lxHs9O`-SS z;XNvppYp_n^8W?zaiKiLcsGaM7vr6{Hr2lX@5HC)^UoXwmy&Yqsf|ef-O&T$24GSp zMs=564=SV34ry+*%P#A+8}A2191e+fD8BXQf%#Q7!$s{}a59uwEtRN3jy)(b@Jaba z?K7B-*xvgC%}n&di%-7y_~k$7h0BlQ3sN1M*1q@Di@%?Xxc8oTX{N0A+{dZrxoZdi zVbD|W&N!AcSJJE&falMBf?Bh{HuRFSa?bDm7)ZP(&AzdJanL+7(_Hku@IJ#XrZImE zL~h?0h=*dD#f%>EeAUHc>MkqA#FYNa^`^)Px?ego-lTt}j0YCX~KUbK807Y#nL z%Y}Un1IJsj^w#JA4}j^I6<^5Z=U?CV?Lb=^wzf^*7mQq(smC`Q&M z=AaZKZxi!{6r*et^N|#zXcP0k6r*hu^Oh8&X%n+vicz9Tab9~P@a=W7TYgccnyFyMnQ`p3Clxl`jNfZ5In%Ym(gB4ZoZll~e(EmHI^&)q zS+8M*{fn6UQuC!NiXNd|Z#}r?w{GluyIa=0b^b7E*W0A|{crAiQ=P{#N}*kE5!m&n z!#=kd_dT@p?YZ69{W6_vw3yt2KdN{l7mfXI;cn(PV*gvDJJJU`p*|+G|1GkJtV-C; zl1n?_`g`9&zu&*fZ zpk3OYRo2EbA67_O*b9zF5qg2Gc5K9+uVh$LD{GhFzos^fIUN~Dld*J1O>H{c%zF^3 z!m|eZh+c5?K>iolQiS5zI+W_h@*EE22xGX|wAPNe8pLIwYzCVSKl60-p%Sgn=XL(d zT0MK6ccF$ZY#w5r%!S-0HXON!vl_$V0K8L=n zvKA`}}Y-dl{#9F6qZ>@|Kn;+L>@`2fNL*&4?a zc&=a@(5s&8F|_$H^r9Gf7KHk-$T12bJsXL%k!(A^7WwaGrTD&=tw--t*)&Hiay-UH zppFrUtC8YrYNxSh5%Vm|LoO|LUy{{#4N^Npt4cr#WhfNv%K(26*2&xs zaNnphS7KJ;2<%TAR9?-~F0*JhyomOoC7u4}X}Z@@)_a7zj2~P^J5Xr{S}GGtx8PkcB2=oK$iotPb{6o8eK@wA+ElKDp2f;T)(1> zLY1^1ZPtPt`_Yy=WxjN8J`d~p`6&wq`JmMphm?9OysvLrojJqTr+k6=9$z{)lAF$1 zgw*)%?%wfT+=Juqa`yv`^Wm2G_E_)jUs+F4mLcBv#4&lVEF0m2pW@P(Z=#}?5}waeJ4 zrf1WH4&WEl1l&P{a}3(KV?8~5u!vbf!$V_TUcS30g7pC8I)LiEd=2gZlF4O7$dOuu zH7$4hySq|7;2S?8X5!uMrF>U^s%ry_!?4+Y}Ns7C&_9W}(-w5nm4?0HL7nPvpjeIwx^Z@4CWndcbJU$F%!`n~d;7s8_M{etcm& z+v%V+yj$?@V0#?%nG$vGVP&A4GW-)BEkTJy@E{GoIvo_MURGJ_2E|HW@XW_kfqV3H zey>y}*oHNZ_G~uFC9}8r6x&Y|FLR4>iLjWqSi|A;d>D3#EeT-rNsTiuy(FvX;%iBF|lJ|k~d;0 zy(JZ@y+Lj^#jy!@QdiaAb|R$l*3^E)9!8Gt(%5{3 z@6dj)O62Z>n_K73ev^X+F{t>dWxHkQF*@~Ha@OHmDICEiCp8nL4U`4^yf$nywcT_pD1 z{jNT~$n1+=inxhpoM$otqcVZbXBE8BQ&YQ&Eo9-Ig@{|o!jRjJeV;0X2{IHO5DHT| z_IRMJG1$}a31sL(^nFMLQAj;v`_zAgZ=aOjGch7Hwe@XiBwdOrW0C$@=u-)>AOSs$ z0=+C_698jsQ2|fmv4nXs3Iv0A7VR&UC}ur>0pV28q?fhF+cxB#jl7Ex^C_N#**Bnx zn%eL1tgQV8w0x9(j&K;hL3Ff=pNh~*wh6u5!oI|R7Tf5EU{9lLSLCSywXWjBfZNIJ zTi||LaV5rUljBRIZ(`3O{W-{HqM7ZW*=3-&8VQG<#mXjv(w-vF(8S+54YEVT0lrRF}E(ohia`AQnUm=Jd z2Zqy52%-TmTLBDT!;~dY10N$xf_>74o|7FB_}*j|y)>rue#d&0{ggfEn2ejrYHIfb zzC~!oh$^DxYQC5EJJeUrzJiuhQ~MQSNatCM{uTgsQ((cX1pI0oL|I!AUsJo7FlUF+ zyBIl_piR#L2Z`D?1CP?{kK-Nq`gwbyb=`Zb!b70)XOw~4J*e;cz{i`2X#KQOatn00_%rkbUfJKNuk9K zC2ClVl2j_v{{Ws3fJWwFr%WYq$6lgxSMYM=wXvv@HOv%(R4H0dJhaB4!p?PSaZI_f z^j(yGmpy>C*Pxco2yMnL#Eoc24_3(Qa6UpLXr1unJr-3yHl&fRM!wbHZHAKYQsQnK z_zHZ7Xx$5_dBG2(@%eNbNBYsSq>Ml^9eghLOY*a>-%GGy_@eFJj+2F-23Fgy{-LV z%W(6XYYCbbhEoRoE3wB(j=fL!`sC%b_etsQ@9QVF+d+GuhGOrN66;LAfppnYJIJTR zPN}|PJ6jme2~Z%uAFPLcP-nCq@~Dg?WP5OcK4M%paR3+JSK<*Hz@uww*CITIdGTg~ zrm_VZLzJziwhvSKA9Jk4OeDH06%c(Cl&5yTi#4Z2CC{V3&qE(E*Z1)+0KUxwCDR^* zO6b|p%=j-E{OFnbrTt-%>054C+KH(FaTRFV4t;{b0LrA|LdWEKR3G@o{tb1X1>&A4Y!Fgk!Qd5!Ew~_TLMSS)~ zCdV^2a~W>1TZY~&lVEF;q&QZp0?sLTrygZPn^r zkYZK<8^<8V$o>o{5{z-nCR-up{WDK901aE@cn>LyAooby2t$qQ9F)?ZnaW7JCVe^!76gJw9i+-gwh3>CAeo?BU>_$@_yY8O1>SNITYz~I z&1lN`DQqj^{E$5p*m{()Ax?=ebzt`ct4K?rk;traBke;;!$<-@4ZJ2ZTua(fBN_ito!&`gs&Kg*d zUT{PKpGmVamWN}OvmJCrvX6JX0G>p$l<)>rSRd4L7V^)qEhxW`E$4M*qzATR2A|eb z4GJZ?dmrhsWrR=LVM%F+6V`|(w*x-YX|{p<+o4lMlxs>!4?Tz-SMT!#kF6}ad@`WD z75mj{AoB@cit?@K!B$YlBdAXgs~6d$B0cl)oX6Cj`PfZ6AMf)qqh83&Azj=A-P=?@ z!ae{1b(wY0Sn6fIAr~F%R97aH_vP$*015zn`@V{YX?ZD7>$Mn zsgGnq>Vs2>JldhOF(6kC zr@cF!aXOd(dEpZWR!St}j6(l&LO37+Tg=dY=r3$9sgTVW(|G94wAwe=lVGn_JJ5%r zr*IM_?J_thlnKMIv*@!>tI-Q-x6a6Yg1F1XKE6^&}k7ng9JkZj(p#N5C8QPIrz@ufON%PV|st}zTB#yi! zH0s5?4QVFqV4?Ay1ss?Kn|LK`;z0}0&*Aqr-xV#|TX+4W!movu(RpsCliIVusUk?> z7R4Z>G*YXSK}czVjerzdG#bzXq|hp>jVxvV6-d2#Qc19J{%Dq{13SjwWkI+Qm7oQH z3$^7x3zrlLF0=7%z#*Kze-mS{V-{bv1|dLgSWI@2o@CY2LIRNtc1xD+n2<*z=p~@p zFQpJQl7~Q!QK`fT24m=Zgc)^p{ZGnLpFF1V%SwnBDE&X02@mjvRP>VQVXzDIK=ZjE z7li#3v~gpcZ`JrV-w}0wTNimUn&~jMTA%Y=vD3{zO8Zx&y4APpCj6qhtsY*Ex-FnJ zvLO^gt00UD>R5S*)BY0-4}SIUbzhwz>I?3LOW7y*`g_M(GEYb&S${_AQ5Uke{@Z=( zA@%9?6Y}IvCvfU%Nf0{3CD4PxZmba`$e_0vjcBx=T3?8EM`9*Nv$z{@BH9UZlD702 zZ2f_{7f!hOG{6btezUbyKU#bTDCP4ed{z5zL5ceD_qt&xXl!MEYX93j=Egl+>IRnGdbL-5SLS>PRePFIPH)8gWn^tg|gcAR1cusT*g?j+xuvfro zAd>GeQ z7jh81kYVsb8bV&k2;`Q$kS#y)LbkvQ*#a+Qi{yoDAul9p)or|xEs__q<(3!Hfb^eu zAzR>uZ25oB3;9=gA*11ijDZdrCh3r2?kLF%Ij4;m@_LBQ>_78D4*dU(7jofEFXS6- zypYfS3tq?`@IrQl7qa6`FJuSF3u%ED(hM);-S9%DNM6W9cp>fZLUxB2vWw(}yvx-- z=$54qnJqcp*DWUdSZL3z;B!A>-XWeC_eZePUZyesWMyX51b`2uv#!FLzws?EOCWsfttJA%9)h7`ZKh^w~yP_D68 zi~O||cLerJ>~fHwi?NGrD^ke=zZk0|$e!|-Qk*Qub$F1KV9+a4zk#&TI(2tHc~KnZ-!6?CG$ybb*zTY!PLc#p>WqOoaEd zvQ`MKWtiq54<*ev^Jw0U)>J~LT@1e@*$?(RK4kB=7)`_z{>&?u5)WD77{TPrX*RyX z(Vr<{`&ogy`!EgWY}kFxYcWUc0IQ*@cs{R2J_YOxv_`{?`7zDTwm9n1O4#MlioDQF z`+{RCdmOP(!;3&#$Mcf(j)XPY$TAQg&sO4`*AhNSdN1K4r1`iH)`ZTmNsY(Tz&gTe zFa`XMtd=Htu#$Y0Z)-zsASVAW7Q65a0Og-QqeQ8D$-1|9CPk; zC!K=24dD`ufo(^!UtKOQDZ$*Ga;GiDX{AzXF)ZffBO~ugCF;V>O?a!u%=baqfj2V+ z;BX!@t!mZ@W4MlObKF&m5qu3}HMA4(s}gG{o^afS5qSb0m(@%K+xK3))zsbxxF14# z9lqbkwHBwIt_7^Hdyh^PbU|P6cUY<}rL`)tEYYW4`Z!i!kQR{$ObFU@X`CO2XJ#AI z15Z{<-pcN1wGws$I+@hIV?jtd?RO}bt6*=~&$K0BWq;)($~R)f(=*B6K^BM@vOr*_ zodHXWP4eY@1k33AEkZiMCquFm(VCczNFPu|wj&S!INJtDnDJGUtC}TXmcN=kiX47; zRmjE$I2xAl&%t&`-uc)0D3=Ae(*^CCwIil_0X%;MY0^UHGn;1)nZy0n0gWznEr12F3SmJwVSXe1W{{g@JNp_u0|>7|I_W#hP*Wl7+xM|UNL>dHQWrco!Ae$B z`&-y#1~RhGYLJiY%o`lxu(NMqD*^ZWBuZF`648+Mo3Z|f)-#NNJ&fAF7`A7^^Ac%R zx&l_k`&b>~*W!&RVis(R^N@ZH`5(hG0&pPyM4qWm`0plp99IKoWVsB^X?Maef^$dV zl^+Ld6ZdJXRcgawR#4dRzDvaObZgOMF^ z6?mH(a3>en`BA=shndDcfI8lV-;Fp~ zJ`0mPmy5yU(ipAq8qd}`Ooe+Hd3-jo=~y+eShASL;8gpd-7;t!tKcKc2^KWo+Z=NE z7WSa`+gMsT!h9^oYdcew&w`hAt7N|&%)-mJ!=e~0y$ZHWf{d|*d<-=1iydmL44_dB zuH%aFxzK+XQ~H)+j!8JQj46C^OygUIUdFLru>U@cUOx=z)&RDX9JGdKQpl16zaz%( zBlLwhTUe=+Rq`}~mB2{{LkLu;_2|91kghUTgj_{fT@nGzdkY+cv|MW0Dn|Wqv)K+4 zXmvJhy*04(X5c>~ROSgs6v{jy`R3hNr_u|dRM?{{VK-lndfI^&;t{tBD_sb-!FhR5 zcb56@g0>uA)EhJCS1ug?iO2G#U-nqG{7W9omS6E$wzTnBwn!e!mfJj*E&r0ovgIcp z%a&j9ShoC%$FfE8ShoC!JeDp0>#_U~c`RE(9?O=0(_`5Jk7dg*cr1ZelE)JBwEssv zmM#B+$Fk)P9!pR_6}Zl?cq~DQA&+ItuXrq5B#$NN^?yB<|Ld{*UytSgdMy7vkL9Re z^jLDg=&{uP2RxS3LLSShA&+IO<^NBl$6Z6Y^s&|3yD0`7klVHlRhR z)@sb{t+e}t+NH#7U=7m&MhdI}Av=7q1%4z9a+(W?FxFQf_i$;mlpJ* z1^tMq>$XMQI6Gyn3h`ZFcip>=>A`7{5!uq(f#XA@tSAVsuer4jruL5e(%d+Hwf zWe;bnE}gjL z?exLhne)ru&K9}VT1^!CpYV9@uY0eJ$1^qL@wETkDZa5uFw7uzo(khGioihrX$u;e$v4=`R=u?@pIz~aQA6BzX12p>6A}3D>Ney z4PY+?IB_0J%fZ>}@>G0}$3AlU9%sTC%gR++yYy{k5ZcvPvBdiO&*jmo5#rc&73zBgcwK&FwW9xcYFPYxu zRR`67Q#S5Y3fb?U5?|YEl>vt0Yq>cit#37c6QMtt#AE|coRTNE)@9_#8h6Puqmxx%bL|n~6OpU>1d#azJISeCU6~E`Cg;U} zG@Wi3C%rW{9c%cS<5EAZ>%jbMZ-ZRwudJ1;J(W*=Z64DO9*>>a&Aa>j9vSXuOgn#n zA-}ZhPl6I_zO~I7wWe8P7`jitzG&ZoD6L>TkZEbtd}P2b8icmlvMfbU8P`VUL`y@zCrsr?Vo* zoE{sst#+a*(XHoStXm&YD>h%Ae}1CQg8B-aYXWk4_2qfz#_IG^m|_njR?#Ll&#CMY zgEMMm%`zF+HNE+7PRjMQQ$?|NDVk++tYt%3P2tW6tGOQO&AXlY^*q*_8rEw8!Sy2( z*N+s0z0dq}B7U#Y~7YtGRp8Yq0X6t21Ur_slxa3?8T zb?v3me{WC@qVq1tp5i*-OrLxCTjyPNrTC$jI=-2OeFf_Shguc>_Wv|@bSU=+$Zfop zd+7K?)SS2-E8{NJajC(Y70A0j@J8#klhno|SE-keUwe3Tfz-zRQh3U>2S(4A!k$p&V?hCc>X|&LBD`&8U zvE1Fr8EW4>Qu`*i4!D);4)rC5>Klpr+BMkOoIuKzIRWu%OM}>Oso@{sPv@I=UWp%V z^fZn$4)E~GeY&*@_vK3;Usd=Gp0+VN5Tlo3jw8?IOEp&yH+)X)8wjiI7X!{nAxWOO5J%W6J zxP*-O$Vgp0Kd}xx;wI0SR2L80-#{GVX50iRZe5T|B+Hv|!+L6Zb2aj)Zswsdl`KcB zT8%IL<9S^#gwHzDaR2!RX9}?Qk5|;pcWL&O@=@w~3O_4_XI?28wQd}jOf;*sC3>~J zdS!3QEovHYt5SIRJQBZcdw@PXFxqn?z)2c_^Atq+fy*3gy*KX8)= z-*YAFCJ#<(9n*#fTUu}N;5UB4gEw6vO#2?3_CYU|YTo@rQR2bF|?HiSh#te{cA#VQ<5y65StdINor+ zA^&i1?%u{^&el1FJ9Rop`zhzIU+3^MXsPg>t;;&6Vw(*9yjSiq*|3jcCeJ~s(6a1>I%xVp#2-NhwyNuT`?m8>r`6n^%D zDfzP>!tpaEzZm%Xvb=aq^Yt`a3D1;;4=`@2eyyU|xB)B9T^gn;F1>WLrGK{4rfnX3 zS(ZEtlFs0NbkmJ9nzIsdLbHiW5$j~q`OF#nbia~1c%SB1Qv2?+hh!-AQhi%5f7|+E z4)u}xO3+w@^U*mQPKG~+n3*`)x*Kj_pSuueZ~w7D?=fvs=%@_@0j<($Rww1mj)l1ScstzYc%L@5+N51C<z_c5#+-{ZF;w1 zdq5sxtVQ08F&CU^g?z(d%CGKovfySl;*$5(<`-W{qBtUvkbqXvzA<59IrBiX6_33EwZK?;uSXyR@rNS8uGV zsQ66e>VZx5^}~~Mk}z|iZ&)!leb6T(R^@BJ^{t!w_>ZW$K!x*=$n7`;og4EMdsx7v zH+q5XI*TupY27=|8)P&e`QW@kE?cgBlUuICo(tR+wL?=ZcaO%1Ot_}>a2*F@?GC=u zzZ*mQ>W_;tSlhw5w8gmbyjW8#E7mVJEUzD~YJ-b)@ju1mvHLo-NxdD*r|q-)xa7Os zK0e89b0@m@z&fEm*3rj{$tGEED}1@)kxm{ixr4j&dRXZ8X`45Qk-t)3zkOk-F9!8R zyQAEuPT8GkBHiXteG9~{lD4V5iNz{l@r&ZBhH$L-SJr+EC?#OmzqyuR zDNEHOhO-lFOIQ}T+?e= z5B20UdNN#WXt;p+T=UzDs>*QlMR@s`W|=WA=b;=L*W>t_+O1qKU#@=hFQ=R)O|f#B zYU%Y$d#~xLnx*sFjqL8TN`EZdJVwo45tdi&!^w@ZCzWnG%dr#A_SxLHBEp3nT=N@F zoW6fog1z0P!I#g?;F32_EoADVPW}-%TdABIgt=J1Q;M?LIn^_8(*M279JXV}aEgYF zMY6Y84e&KnRHmAat;O8ttN5{^a&VTY98=9F3x@1Vbw>f8quBRLC1q(!>@41k(04~W zV(-b!ec&kTWrI{joqR={rii;sUi2YO4DFoL$@id`Y=5h1l%LM^?^efkOE{+SDF;85 zsK(7;YM-gY!6x}q)?1FfD-&}*Zs58Fj;#tPb!xxz-Z#y7Gpu71Q77siinITIIL4xaE6f!X{=zabEkt3K6^Q-lNyRV0D95qsp zcRNx#Uk?im(Oyg9mW^ey!qMP_GzUH3yj@I(d=IpyvvbYb>qAF}`>so~&l*0uF3i6Q z^UxaJR%Z;o-Cak$RRo+^L1V6x4N^AFQx3gd*NKy64$^$!*wGBOF7WWxLk-HoKjDMH zJd*U;C*={YLLd9ZJReGVdR?t;pzj`HU!9B{eSMq}dVdWs-)C6ca%tQ37Xk;bM<6y# zifxu+H(fu2xj?uFd66?9#l3$0Yy}&D+XI~LYt3H|`ds6FOWbNr!1J}O^;rff9|liKf}p~meSS&3eL!m*zI9;~NVK3L-+y;D&a2X?#53*I_ia*6l;i!|Q_A%|{&XGAp{aP+v8z_qXykaNJ63f@K9kB( znU!bcbMyI&brm!EvS~Rod&N}T=P-D_W7kndNe}djYwn+GW}}=~pTOTD8KDe~ps<^+vxIw`sJ4z7%&>zIEAI zu3&JJX6thFA?u9QFrZ0O@XE!7O}A4QZgMhaoiQ6;xj5$zX>!9PhYvMq0w#?f63lW| zJ##?Q@PY@EtP8@`rUjabqfWs`H(WVSg0%AsD=2WeH5_HwqnCgz(lG zc>!89ms%108vnDe89?WsI^F@S=?iO6;=4MnPuW-QcL{~K0o08d(tIcJ7B#5tcMV+X z{Xs}*ZbAZk1o5s6Lc($zB&Z)J`c$N5Ibchd9?A=$1560Z&gA|v1HOL3U zt^^utKJU#vcr=-_#H4VGkKE#eH{||1lHB)(#&nQ!u*B7+u=b~@Z0?svW zy+WAZbe;ZHt?8ppH}OBZF5;#Z5Pnk&pgsq+0O)~|7SP7t7qoc%Obd9R<)3Q-87==@ z3+UNGT0jD{fG;F1AUuTqVZiBkTVDwLz10Nlj|gEu#cpgp(_k2Fx{3W1x4Jcm{Yx$f zpchwt+?yMFD4F}C8Tfzj7XAnIfUm_1&;rUOEg-FAkyYbT7Lm6@=ML(;+n@&owSXjc z?a~viLHySiaoy9;U(MA*2l$qI<>Gs%HQ->HkQOlh*s4S&q(4b>Eu`iH3fvUuA{~H( z*MzhHIlG|)n0xoY`)=brNdvf({5Sqv^50mojsJD|e+XyW_Qjn_N}J67G2Vk(z|Ny~ zNe37T9bi==X#i6bN%k8GN&1gDJzv2EuG@psU#-x)NcM+?WdAYIKYk z6fT1h4jsT)_){G~Dd_+zw*fjp9&~`w$F$hTEthlvN#P0~6p=ElKcz)D$OAomB z4&UnrY9~EF){i+z7g&!{-_+^+%D#G^SK=`opg>$k1B#mgO<+tA9+D;y)P^K@D1-3$ z=bFIfA8v;U$z*3W_*_UAIQ_F6l&Un4F7OC$OZs(f;C;wOkE8ThB56btWPE^3(Jja* z2`caXOdr^Ihp%F+eg>Vd>z-=pa8oBBiVErkLAna+1exH7CUC?DLmaVEB#sy?{|UF=PrAm*k{pb6;&+K^6=1D!zg zPjrH{fj!s$xlXV)@bcti1M4gLc`6l1>m4;)>DWbv;^M2#jhWogg;E6)85k zg>-_rn_Q9N;#-1TQ6UBzsz2(@rGJ^sC5FT1x&IbV4C(~i$GjqVC61`Vyy%85ATJ`0 z*twKz-tG*}jS}o}m->Y)0WL-wK{_k}Wn3@z%0>GrrSE~9q8X1QzQ@}RgG1EYV81Ha z5y|NGII;vp9IJ#SVEIi;z|sUqT&Cz z{=zS51f6njX#{D|2$Cd?Km}_6=>u}#vc!jOS_I@5xr|McHc(g%N!@KP&OsuJVQ1(C z&pB>c22Nnb7Fh|9Sf7y7FIPF*w(J5Eg?#^N-is>IzYJ&=q>X zViMF9pesw7Lh7&Tz+^F48@T7^7K5MYz+XtYx?TPBc1^jB&i#Ru$9#1=^yDh`!EL&N zcxl!3=L5CZf2u2pmprf-{8U#EFD;QQ27%@|uo!T)6+3%#-QX`YMW%4m_T8e38@fWu zbHAo5{Jo8?aP?AF$Yv1K72@Uvb%mENu5SA8=?ed@t>FJoR~YwyrYlt3(iK3-FB%JB zH4wVuW?-Bi;gT=Cp)=@nvY^|y)ftMRGh{(V>VK{?sKWd>Ir~?2hLDdLG5B)U?#$M(k=qca#$SB z{eSGe3s_Xu`aiz+TwpGUD5!{JASwu$D0l-?9A-8*Q&USrExglcW!V)g0ksQuI>Kne z42q?df)^^!$+QlYmT8v*-|VK6TIwj5X^%oPfWq(du06xe+v)s%&-45LpXcZEjO@Mk zyWe%$@A|BFy=%Se6-UD2U>7IB;_z3siz(19Z0B!naoA}u{0}S+JMAz12Ns8&_7$)= zsNN{)qFp#0tyiD6_q#?o+OAzV9rafUM>}d4PDk}s(k|@cajfie^2GU7%detgW-0ik1FVgN2Wfi+tlutQV>6Dm8S7sj5-1 z#CpMEA2~#?N4hL}g+Znla9?v$zIiClZ`D*OEklGm^)s=Sp~>*oV|QWPJcFb1Bw}%# zr1@3!*SI3P@X=GqH7kQ!R+0{_XP*{oiu_3g>Vu(C1vQUnl8FVHV;w!-JI<(Nj zX-&WTdjS<+<+|q~a%dh|J(PunkKG9yr;|xcs+rE9AVj~R`i%3otGqS(RHQ`flW>2ZGbnwIQxTZoPmeTN)a-z%hRH}j zb#kc16Bf(fRa)~${=E|Tb#@V42 zsG%zaC2T2g3Ua$b#SQMZ$$KO8rE#!) zYi2kHv(i)R|J#4IQ>DckOJ*wxg;y&gHW}H;u~bqo+D5%!p-;^TBAnlOKg|8vzYY zgPcm-Igyp~#Rh#1&NT$aq3&^r#f6nW~xs zjOn%aIek2|v81L+$zxmyqiX`fsFNAOB;i?XQ=dJ|qPbp&b)7gNimmI|#s6uJLQhk+ z(*J=?gshdS5S7queWrVyU6oh>zC^|aY?otRZcdabOxq#A=E!Z8Ln&xu0%0hIey9Af2rrD zR)t!2z~(1Y6RHdmc{QO5tQKkyH>#+oRKKc-?(1QqCla2F6b=AS6dMRnNS^O^hQzBz zLQ=e7HH-`fin#H_!0<#-6lzJuy3K^X9)+G&H^LKx&>2y_IyKnB$MqEkGfZh9Oqm^8 zfV$ACQ-Lgw%EGY4uHXn+6zd6FLJK@h7OW`+;w*iY>59Jw=#s^$*YC3#))B4@qqUlN z!j+6l;xK}6C2JpQ^CnP5yYYUY3e^W_5=A(PRa=HCT0QC&h&~dl(K~HcBd)Of!OdtHHzF-w(Y|4WyBq z(eu1$uBgqxnk7YjXR+05Yx&F>NZnQ=lN09FVdYYbwJfFipuKehFh$uH7K$EvInIme zp;zQB!Y-HD8Lwea2-iLKzo-#vlIp6_(lDC`eu~r&ZC@_!jhcOEJDjSj<5O-`!*AMZ zSn?m#kWePf6|sI-mzrLxeAU_y77`g-HCfHjrFajGfH*4<^T2rZRLt{ee)pW75Tvj3 zp5%C;8`EEWVGT*rq+msb){{%@TBq+`hAvxEfG!C*g_l;1?c%n^G3aeSUL7NdSUQ@J z+S7cFq03g?pvoT1BC=H%UFqYxQe(8k?i{R_NUJ3u09n$zB8wjv>0T|dp2GR6_PCbc zyCREw4#=?O7^4bn`LgRA&`rfq>SIRLtA)_z+$4VfBELCKw z1y0gidKR1mx@-ly5asL6I_#_$#b;YdZ#lOwnj3H^giGSWxU|pP@rCRnvUN(}i~dOy zc1cLq5n44KWPuj5j@FGiF$4G_*@~|@ra7yzL!xw^4ErN!#rPep7|UQSexYIeAEgf) zna(n&YLI2HFvu*6lNG=UJAP1M`)VrM7iE+2<~14YCmW$O^P}h1Zt;d>j{{ zFiokx-(yg*2QWpsk*o3Ot=deh$Am##%@I%kQB$f9sd(%iv~UzpN`*7sd<8cO1(OXY zNWu1WJP7S3rb=evfjTnO@2sGT#=fDAGXxW6Vq~%OiGuZVDb{r3XqDTyPL}Gh9a$P< zlc)B!txrM!T&e~NB|BBAK6Q$vSV0G!u=2jzKB+Obgj6}`f4`_Oe4zWGQdOkhj2$nC zr_u*&vJ>?>y|zZqd05`VDmvvh3cZqepQ+`I?<0-)Y{Sg#psudc8?8~Q{}=E_VOJ=2 z>E~1^fjJwY>x}t}rAOaqr3cEyxljhRI24Ck#NNIZl^tra@20h&Jc#$!>uOR{S;%Zn z?Fd7brgntsydt&Je({=nMQW%0w`)G7WM`6@p40n7e>ibXW+5!f3#JuW*al66FsbNm zk7G5;E^dbvRum6j>u6^h)MjUju5_W z^>!FTRDU+#4r7Sw_vZap*&BVk*qI!T$6B7UuWRXSXL2|ewsf^KIj|3o=0~EazeYHd zQx?sA`mYd9_Gc*P{G=UcI_ojg-V_g@%n*y>26~L2OSu81xu_#Bd@kVR}sJkisG8@2%q%m?06uq3`pg%P6rH zC6f;+Box8PRAs9LPt&WMCa;h?iG3(5{I$RkHD*crF1n17=`t}G`Tg2-8Tp28|B*I> z(Rj9d>{nr@&3(1KQ!fH9*kWMo#z^&1cHiPqxPIlWogv~AbRjJK5i4pqDoq8|C zrO+bQo~(;LL!pP?I<&$zM~$K1U-iB{9t+v)<~L3kD;9(JMDY1 z(mfS=4DI}w3Y2-bxz`Q!7*U*Xjr5o&oHV+>+B^aKKHBvdY2OFwG19(|t-AkCkNK(b zb{Iq2&f&(}VGL2d*C^>RwBv*Hm>xSFjtN(vvd_LsdJOIO*os*arN%J(i(i`_Luui# zzfev6nEfSiS2UM)AcTv&63XR&)Q&IhdQ8wQ^q84#ddyXaty$7zeHFOFNgnu5#;N(o!}y zwreSWZ}cgpeKT^Gmhv)udTy+x^v61wDBcTet|(?SPUx_6=2lvY+@+;dLQ8q{Hd@NN z_J6kC4nZag@7lMu-VQ;CYJKZ|tNe}d>$H@>rl;&v%f}NO?OGFm#MCKEBP~sq5-}en9BkAMe*;> z{iz!BET=rm?PdGVEOncg?U5{1+w~jpE{zoqUv3SFPWP}!$*;^GXyHOVpmjX6;Jx`# z!srFEU`P6)D_Z%7>DXKE{Y?7k`Hp!X&Ko`NnR(C5*Wz^0s52jmKU|~wkA9eHKe8&! zrdr1h{TD2~xi(d4Xw}mG3AO#=4%q%U2;PyLxFt&&F`}ZlZtXfuEc(U@`!Li0&~_w~ zcInc-5;Jz{Vpg^CZhf5aGI-JaBNQtyG~X!IIVz(B-?p6+H2YfGzqsznrNwnmt%K)H zEb_sgU&BgIo5#A3ti^T9EW5e+edC0BmW$Q6LH9eZ#@akA9dl7zkP9nCs7<{Rr9p0d zW~uHLgJ7rwc2%ZS@jhqEERZ z%eF;xJ^voU?fWB?d+P(KPbSrcGT-)fxGsreEH|LlqXZOwV-SZ`O5%|M09R+=)x#ch{)3n!c zhrOYto4r8w8QVh;k7so)F}tVKPg;RKm^DJ+O<~M-6o+27#u{S~hy_!_KKBlsJ*y zv8#2;q0?*o!Yf`mh=V7~Kdx=KDCfA4u##*Y_2H=e!6vNr$cMiXZ5m-3VhS^bn(i_U zHAR}jO%bMHCQclXohroaRz`&3Y!PJ$XQF-Jt&Y5FV=dF${OAzp`yv<24RKbIZ$pG- zY1@;ozDJyRHY*g~LU+MiNXjMtN&{BLqs&||{Es+3Iuy1|$H^FrEIcA_ut|Puq(z2S z-=7tasI2da-(HK|Ii_Ij7Vo2X7lp5ncq1}zX#QQMVH+N0Io^Mfn~>IDaFvB;)-g^r zWRFCS+g%x98QqsC5u(eJ6ap0$sHp;NsesaScJO?=TH?)%qj&RVUE?T4paDRWQ16f;rR_ zwth(7a7)jOfbACJGUV@) zA=#86pPF#D=hcs`e^}e)w`?5AE8SxaK5Ji}+V7d)DI z=J^>0pTR2UnXH1ufa3mpd??z7cM$wFe{yp0AZ?BQ$*K61{5wN4CM-kb<*kS%{3&q% z3~5~ZnFnc9n+GX*`N=E%MIZP^GtbfG{4h>@7e1tl_|3qLZuUU65Bx_XHLzZ1CBdUw z%TEKsa4WT&yf$oR=ptL$>ezG@-cT@AS+T?l%4v z^~i4cyry4)yN!NmdeZ(=bCU3?qkpRvvQ2wQyrJ)Sufy5gO!}^sO)CvDA<}q8nDFTC zz>Vb3Jf}E1V~8-#%ngDppNWD*OOkx&GLmaC+Y^5|djWdOda``;rYIp6@ooQrPi7SUABYwFKg77E)6VT9;RzgcpHp5& zbCp?!iQ>hzwEuv7H0iEkZCr+Q9WSoPkw>b^`2mUwC1e2WP2%*N<)zP>GE2E&=s&>& zOpn4&$b~$Yx6+hpdfc?!^qA>s(^IA=O;4Csn4U3l;hcD9_CoXhh+o5r**P;U-``}s zT5(HB56yWDlKwO#UE&>oWk8O<@NApb^B82^adH|)tQC2WLhG5%w4Oh*0}Fx*-xH@b z&f0l@!Axj9vx}ctzv7K2^Pb9o+Vsq(M=idhr;HQ(8i89}lGiujq z=ktECXkDB_XD@9Wy$5qpKl&o1uWoDXWx-Bh6EIUOruNTzOsquvkHOhk z(P;DG&7^TJY@z>GHlB7497wHwpHo)mZt>$UN4r{lqPS#jNZa*OYj52uA7*!M6-o1X z*46*1O-S>3u3!b?-bEN0Mt`C@IneKOSo#WyA1 z30uSuS`+pL7Lsl@)yWN*=hLlW!?Ro-pXV#^@Wk`VlI2A~Lt#6wL{9tdrKzRgUYd;G zB>YlJ|8V@_eAGP6GR>0{9a-J%=hP+1qg{RHW6b(5YTivAgZruYy8CcntKFVF0_RT6 z!u>Ail=>g&%a-vb$=^9en2xWh$C}a~;xpLU|A+XxGe6~Ir|+s0BeHNxg{xobL?1fc zpuLy9JiR~`#$EX>>pt@gi@aHOh4dquPam{>xpE(Vq`M@QhlZ$*lRo86nN;2@L>;nC zHvn-jf(t*rT%L8s;dS*^a>9$}SN~NxneM!mobcj@tN*H;ggb99C$n0vmy=bF%X>OY z%B2gzkSSfu&I>aN?kk*Ye$2Fd{o{GhF&%rZ`8lRzdt8`i?uovQacjUk=W%X@+}xjw zz+L!+Kl!~At%2YW+;aTs=TA zbR2X}u+A~_Au^ouhm!{S<>>fk`IW}X-qygP;KCqCuCpbmAQ)q1u5-c#lG?z+c%;@L zbs|z%IS-uQ^+q%ovm=D-eFkfE??^iTpq4wiH+~J}o_#xnJGVWA+kYyQE7}&qp*CtG z#iZo@^PVV_2W6U<6%Waqn~|?tSXhpeVR{P@`TK={yfBkZJlQIb>}LO3{x|2>++8MK zOkb^xTvdO3H$RjYLtn;fSOhO>Uh*#r5#-IvD`A_tp+kf_OsgD+cF*Vf3e$9aoUcAS ze~>BHpO5x6X@z-QzdW44w>+W{o@zn;`VB-RqF1@$c|!_edNaudoM8Awz*`5P%{s^tV`6GVO zJ3>TJu)sC*c0|NzmR(-PacI%O8-^4qYO?u0c|k(3fD;2`u!+cf<@=fH4WC|~vi1(k z3Ii{e z@4eiAtp3jR7ySF@1ta>#leqS*+3bFYKA$!~D-$zT`62%^Pd^lpgs$ z=7w56_I=#%hn2`Dzq^@iY`E9_tCmmep6_k0w|!{@y@s&kt8&pM1bF9nGlL?fTfUbW zPmX!zYw7-kHeW-3b2a&DN>5Ygi?~ynKdj~HzT^u2s`5R}2k{Q*4je$vp7|bTdo3T1 z`*4qZCD9#F=F3lsw#5O+%h=QGW#_%>ZN~yA|2dfXr5MX>^Gc9noW)8*>GihXQyz3Z zTUEiAHh#JQExlz z;(I|uw3IsUgqwDstv1EYVKH%V)kC!DQ$*XclzQ8ll%Mg|GFD=0jdZ-f5G6R1!dio+ z*W13$q+IElp6bX_sWq0MWcL^`+c#2c+>I$wK15Xw#6g0C#%is3%$% z-y@ksy8tC#80+R+Z~N@n3F2^q_?FocPe>)RYN&P-k+LiRPmWP4y&aDfcNso&mEm{x zMW_r!pBO;2#FNVKNG#ePW%%s6GEBr1>FeQprF@4PC!!2eIixb2k)#4#76#yHTRWs6 zm-G^(Xz->+qLrkAT8N}VDg)JEF;ecq7fCz;31W4F1Tm?&2V6)hBwCb^Nd<8rsYo;u zU&wp_)tcINVhXshy5ZZi8qY)Of&kFE>Si@kj>Pwo6G&ybL26iTRE{NR`NT|#?-yxA zOS#2EdJS*)Eyg96HuR zv?Z5_wuejVZJ(D=uYA}{oT)W*c;6Vl&-S^QdgY=LsT?)O9&|lR4hL^Wz0dYrEb*R% zH)i$FICbcfQu!ri1a z;!|&{HlLsp93UR}G4A_p=fmj>8}a_bs6hhbL9(O+*G1t{e$_4xM-R}GMW8hj2UZt) zJDEygCZ79jN8Py{pl@Y3fTwBrvE1ryU!)NSDy{K=o5Mca*Wo`>$&j0Yel8A&&7Xrd z6>san#Skvl;yk`KzBE!FP64f%Qi&&h(?z-THtLi@srzg-)kI6JLG%WeO0@J%msW!o z<^9f8vcs&rsb)MqfFI*qZ~Iy*FL6Ms#G&4HH1|8=dkm$+Px?;#Y}LjekxFfmK|jU; z-60$a71X5x5FXH;S%kUaC$-# z(M}7TEumDBxkTcSNwjze-%a{v`Vyq3NU2}r%S-)cDV2=11IB}6Zoa9+!IgS6oFt9P zLDD&i@kI}hrSGOg8Q3>wC9AhxI;KNvLT;HYDHiRJE9EAQGY=o5JL(~eGttA?9m*F# zNU@A@B@_?>fP%3^N$K-q_t_4yXOLkw=DCsVa}7}&Q`|h$(LSHEJM^U!)ZcWjXFyjx zI~Oid0;zGA!0z_h4hK*#na}cr?0_faE5J<|pN2GcS8q#YJSV2nGkWKd14v_c=##Oe z5lMGw8K3}qWURYnDY^S>zvt2&`amW?wmrD(h$Y3Q;ld78V!= z>5rF(TVMyO&XN64$A$k~?uEUe|MCy9;LMw}EUw5fUhve96!w+-TNYsF>ThZL%NOWh zGyGJ?mFz3;SJ)SCu9hQCpWa;?gR#GUN_DoXPoY5%9^s^ybq5dDjz(_*o`td9gx>l) z^!T3-A^^*quQ1ncd-wgdUZKC$Zi_uR=k3 z*GMHm9S-Q(wpp!O@KwlaqI(XX%Lay9xs1+48#f~a&Fzbzz1ZTXt}>-{!s z^%Gfc3E>7k@;lbMn7-bk@KF8#)Ny7%Gvp|IfW88yr1S(JdPB zB~TrVy|&=Jw88rC>$npEY_)>=E6Pw3sF&W%L)mB0m!!VMzAN4+areXd)DM|dy8Ek+ z`YRB^-Rr-Ir6<(C+j~8|Z9qx_ev8mozGQs&*}h;1L8(G4p0Kt9LZrAk7^n=aX2-!{ zAz>V3?`#@<6MYJ`G-;LdQbgOL0HiamQqSl~+6h_d8RfPh_8Sg7a5Vt%1bFm@SRtJlmK9)QKJ3g06n3vAq0REOQjS8-d>sp z+5?b7SKYn{_!Uo<672yuElQY1sl>rR99V96CzetdA(h4%scz6JS#DG^Nk?~;0dJnmZ);Ozh9Ni)YlNL#3kx2^yql zQZHHG8v_aH-l0`Be+zOLmK*4$;W8C z7Ht{FB+f@QM4v$PDA7U z*lH#&%cwTT+_V@g0w|R@BoYT#J)p_wVwA|mJRp}^BPoDNL9MYE?`IhI*)A~TS;%UF zIk1^>rDqe3;KHb(znmc6q$#Bk?-Jrc5}%6P9yuV|9zkC{c0j82IWvv%^dyCTEcFy< z7oH#v`)ub}pMLlRQA6uy`qIJ@$T6t(j59`9BlXn`R@RK|m3p31e*NVK3~CEjQI ztb}M6;tA2~St_N_3??Ojcw)BW&aH&L(7-d}sF3VUgP;-2Lsk~$@kT~qK)tM(#D<1 zO|na-ml-4$#Dm zBqvFzS3<6v7B$bMRN|0G95SUgI~Gf+^v&XlmbF8@?JLv`Ie|k;EK*A(+FI7riSNU? zVq4uVoS?d~9)c&!Tzt<2kUfENdxUe^i4jFZnwoS++9+uU@!?YLq>ln?Q|PYVc8{5O&S!T?xVpz& z5Ba2L&<9HhyQI5%+nEyLk`gQBhcQ5d8NWuNw5AZ3boPwuw|LXDe zAC&Yi3=oFH_mkI07DVQURR6vr!rVI#CvsmI0#C}-^1h}>ON&GHNtYZt`2CJ|DVytOQ^P zkmX_7hV{);*|cMVyHcI4v8>^go3%9x&%XZtmb?0X?(b=NmCNV+0|G2$b*3|dw6H*H z;iGY{ewrRJe3XHDE(F$BBOiSgR$W+rGg~m1fTm`I)i({cRwfsaoy?DLPqHJ#!VV1S zf=n42aq+byhxMZ23v;nlF1GI4f;s67Q1A4og z!xt=dF=3mrox@?E2>Li^X&#+ml*(`+jZ%pNA&Hx>HI`C|1L;i(X;K+3uzt9}Rr({S zA9@4hLwzO@{o-6EX}j%uB(xt!+?-VBD!zgqCDU6O7Ok zT{J)s&{!D_<+&ttwQf7U!m9e1y`BXgMO$^{e`@#oTe3NPIi<3AweIKg&jVDL#mQ(s zWh~Iq{OxYcnP{FSr?eCeDEF85^XGBk9cD#o@bUAwQ$L+%J(>9S9@FS5O}WLJ<~XsK zp`ZjujF_FIxMwH7XJRg6)at3!G)th8yIWHF#-yKj{KiLa^Nkbf3%T0)+<*LyNk6CW zcJpsc8n&D7k(+*Fl1E88tX;k_;Uaxw$OXQPK24&cZww@4@8An|_{RADoxU-?Cba(c zZ@dK3C4FP}mnTlls=>Gs-X>-qLYoI(2(Wa=8FP_aef8adaY_qeozmn5tkarS)nD1& z;)vbvQKag+!@d)m-LZqvOyO*C`0o!h^Wic(@6CyiXGd84&BX!abM~U6&kldfmo+av zUxkzL_t<6LLyD$UzoOdA!8YKfta;gUO7%->ZZLP3rbej^!W#28<@0b(z|)3(>gn?A&Vl_mhAaU*w`wtbQ-fd)|X_Oc3E2tCo6%VqsHk!*Kg4s zsl4X+x?G9UhHb2Jre|@Xg7B_&X`pn6RXeR9gyDqL7aaTd`kSADlz*w_29|S2?KqXW zItS}uugEk&Lv_BnzdTNvuQGjr^BJ$e*H&rvumo&=3;l!(QJJ?0o|X+*>080jQ{z1ygkx6}G zQ5x!qpVZSSg)mIWgrph?1&EeXN$RCkcdJ1vm@Z6DmO$bRjFzNAz?+gBLBGf(ELhz3 zY!TX6YIVYw#LNYT^C*$I5?+KcYV&OU5K{o8C%_bDDMC#57x!Ls+);k>G4O83)x8si z?e;QO<27cMK~@o1 zSnm)Tu@i-BzaQT?CZqjsbYpM<&X&Ejv_RVHArq6FK}dIR+;Y{n_E{sT}JlgY3*;((P+{? zE9m|^X9Z$9bxWnvT*Cf$`deq+VEw|XV%LZZ!v5~HW?L2P>S?Qt{WV%2w9>vt+M`SR z!MbBVmF`@ z!ZY00@2nZncD--Sybe1eyY5y`u9%B`KMS$%XMt(HDc!a2XR&MF&s?_eX9@QG%rj-M zeLuX|r**}{x7zm?B@~HHFt|M|y?kodz_zVhTp-<#1h!#kh+f}dCufOh?=x38;R zcf%iHA@+KG+*@U)-FI)>x3@f7+RdJh{dc>1CkX-AC8RaIZ7&4fenjS5OP&g@J$Mu! zF#&Bm%sCbR&qr*&TJgD-)6R@h>O$Iu*RhRr*Py2axm)>IhgL3IgMG^f3CZFwC$EXH zX%E8JXWc6{?K=0K>-ftP*9^fPYsm-5vs8)E=Bx5qKJiypta-MS4;wBRcLmViC|HU4 zAo5%=Vh7igrl(7%RL857f)94+b~gnGI3-`jg*=u2jLB=m)22sE%S=nLlaKcGJ&K)u zD@;YAcvW8-C>TqF1TPb!vWmIaN-V*Gst9p8Hiio_6CzP=L_Qih;tJ6&tkWsHb8(^k44t(dAUIFF!{XUnUANro?ASMkiL%mtK?_+ znDP3zb;D1RHxK5IOUVz&6FxxivHewMu@VI^T)yHnR zSCCu16utWi^lnK$q<;9Mt9LJT?LK^};4xEoAo+y)>fP9LbnU|V4W;iJ(dKF{_zpzQ zJoKmdIDNaX{}i92{R%c*c*qhrg&5CzS(DWdw(p+L4TxvhyLi?`B}W7nDTU1+%IDk31%akI(GuefeGd@>C1D>>4(=a91p=NLF$^?AOzWHUd^tKeSvKJlU4CfUYVLA5zf;5X41Cm8@fyei)agm@JQf!|B7);juK z{m7go#|KT_GOZ1@L5iq~?cRIgRV0~1zW^;&<& zd+>n*N`%)^$`eul-+4jY%*VEdG5hCi2oUB{Vw zRS`DedFIPDt;@I3vjYl6)w+8;s51!_6k5IERMkqtqD&9!%Pu4$dj?L4+qz!p@rEZb zbuM}eXgVR%z%w2FhO)+!Zt~9ZXzsz)A>4@1Lb)Haq+AOyftkBii8_O^sTvG{4JyAPHp&)7D_k(F4P2V)ntGLg6@8X&Bxhp?sbw#-Dn^grv7{(nI<66T6RZL|1 zVdym8z_Wf$ZhY(A|@MBZ-V1)Mt1~sW7_E?exq6J5Es8Y7~Kb; z^Owq~pfb`t<)zZa7Q{bjE8~l$?lOK}+Uj`b;9?6ufTCFAoN7dj=P{-{+EW;J zo?_ZO*PySa9y#dTty*^?Yc+r5GOlaucKTYOK)&sm|F=2@9F(~GG4AOXeDCZOv#NvD zV1nbsE>+<+`=!<&+RJbQN%(Y^7F0jB9=s*hJG+cKx7iQ1zIpB~`<}MZyx2*jd6Cnr z;Khc?)lU`BXv|me;=D!;QuNhJ3f$WFEPSgM8^%?OMz`iXrSWn5y-jD?{OgX!`{6N0 zGpcEr8F-CJ!YtCb^NJ&+Nt#8{y|(a*qhFIW3rjM5SE0haZ__dBS!*KRrS~pc^{%TL z>k;cG@PVuqMdt*hjmc=|OYb=v!!R!-u5>4|Sz?l5d&P09)#~oa!=3J)9En=K*zoJ6 z)dkcO^H4v#^L2RdWLe)rOkmdkoxfYVTU0UrLLe|9=vuwC8?@vJ^-K4X_T%MTY?XAP z!(vaIoAeW;^2LUKUdk(=adSfb!+Ux0E9WBSHAm$vv-Wh=<9(|SuC8yFO|IE>lHpC( zE`M*_j0mLA|D6}CXRJ7HgSAJkH42zab4!|6Dw$t37gRXOJo$OOsqCExC|<2GT{UWF z`d#ULGoW{@9B8h(G~m@s>9aFvMzFTdW91i@RIf(N>z%P@{{(y84OhZv5C zFZySzr_OZ}D8H#z{08z-E4E&x|9d;1LJi!f+)#`SmFtwgcyVKvr|a5SY0Kb3!yb-Y z`tVY&+2e|)pJo#j3EkwM$Kf2f)$*kaxSERP8|ysQdDQ&)bb^n}bjZ%Bp7u#Fkj_2q zBt}Hd3Z2{pJg~@%-q8i0gpTi^lXVr%iWPi}#?IrkRG-)gXyZp#%4@W08dJ&J6z3SY zwC$%azSA};9mS}0_JoY0fvFM7GjchnI;@sB0scP3bJhBQ6dfs9udHK`%J#_bw)3d|fEN9qK)qBe^#|je; zi#wYiw?E?i6?Tquv(8yP@&84u4SvV3%!l6rqT zCLSv%@{INH=_V`3i(C3-bZhu@WkF(m(I_()dfK_>?J%-zeEIle^4RvEOo!LocAA|NxSN)lcxi)ZOyFIF9T4|rXS8y@|&8Re{?e@@? zVSD2LJnKsqB+17x1@oyIu^irowc_O_l2did+0@RhJtv1+REhyf=Q4CGZ(I%+5{0=A z%{00-eEjS*)3?qivuBjf!7Sq;(}Sk_OfyW=O=%{{b8Mz*w#g#yxmx86TOYP}jF2o? z#N=zmb>%CggjJTY0=HoR>*-j)H`>UJb?! z-Qml<(e5)D0U6qa`FX8)4D<6E@$A)mQb%->{~cNFz4sqk?%q40e)--mmi7*~Ji#$< z?*qWxnC3Z%jcgGIG_SXM;&1=vg;u?p^kA~YnxG3mwP&)$>+3vd>!i^?x+m701Z^D} zz@BNP!}e%Q?_8LC18w-qg)Taz+tc5rqaWE#xi>U@-qqKvlQwvOQT^8RkFHdmYOABm`ea`4cTz@V@r_%kCweOux@7<{k3TmemxO>^IW)GySubo)n?kC%tm)qZl9#tbg z(L6qN43lmt25s2R%Z|*el19B>H?@-VN_uj<;sN2ZO_-cu@+Umtx!H#H9)EaMES3}dFtG(9G zt>0Rm)}_|Rts+)bDD7|79BUCTf_S2?kX6cH^DTraD-)8arEYK>*Gx^ z1*0tqd7}yqrtzhBZ<@GKhrp-;Mwr07+KAd{PM;k73Be-zs1fF5VvSHkn zgzT~AMCMgWf9d2F!5nUxn(+Wu3i@Td0(>y*#+71si8wJ^1HB}y7mcH1fNC4yogb+= z?ey;@oqxUEzOKm&T7g$DpAxrLkkh2L^xPf)r+fe#N%O;SVr?u|d~3wMh`L=PPJ;CU z<3IfMPsOMTz06;;bBzk1qm*WA+fEbvcXljWi=p&?X3xNU=I8PRfsdSFiobjt?Z0u*LDWrg-xR zpx#8B^Bse=k2!u6|Cw}x!A+#2P4%O*nu2iOA9amKUE`SsG!-emn&SWTg-15GmCw@& zA?(bwZ}=KyK zZHje`dLK6qx}^_%lwcOCTZ6$h3|vD^gK_?c#5LT-HJEXY0M|jLNEg?<##A-D0itdMR90U%n^i;0(wUegAKrQ?u#2Tf_jT`)hybRNyqcab|vlPw9*z z8J&6n3o{=w7ArR1rQNYs(;D-wb4-@ch8`Onj{4Tt3**c|78(&HE0(If=k8VYukHEv z!YtHfP3t2VJI!KN>qM(rw6?l)q4T)L3Ob?Lv8d(O3uf^|+mmOUlC&w1>kQ~=J|*8e zVfmZB&ln5T)29u>nPgE&egnUtnik7dh4I)Wcf+}%zs+2cCR?&3iCmc6xQ zR6Es8&ZP@-@x0Wcw)92YzR>XerLhHWxmxdxLduhuA`09x@v?Kd{nf@1sVejLvuLfp z0CT^-z~gz1H0C^bDX}2Qa1zMA!uhkc!Fn2}p45mFor6K|Rq*{R>5RC(J5{F3j-*DF zMT_}jf$ju2P|5_P9JgMy1~BfT)t~*PsHk+Z+z_=@Mexz!tV zJ}&N77hPY_oyBaE%6S3fNVV9~ij(HbGiF9}yNn^+=UYO#q$QG$5{dhZn?t!r7l&{h z?7!SU+}1KW-xVjLxxWJ&>-nm=PDL|*HE-D`|I7b9L~QU{YQOZa<%z8hXE~iYq!iYd z`9(e3ka2PPr04a#kn|qTo0Er#-R1s50?twPVJG0I_D)I;7d-cj!OW&ctb`5357AJf zgcRIwvwwiKa(`7focM0QS-{g++Rj$>?r5@$WW@}Q1!_Jf%6a|`v~MG|@{>UAYH?j_ zY^q0_RYY6qwu6KtE(*KPdeyJX9wgdUjR!2&!+gfn1(CSENbz2gWaW}4Yx&40Ud1fc5 zu_|FL_ygZge{VGR%Ayc%$6KM?8vG@j6)e-#<`dVKdF)M1mX&z!p%HK!`bcte@;y;# zH+jhmXiqKLGe{-4EKu9*@>caOsV(C#A4F?1yTWj4O|vryt@&+p5K4WnB^DCojyL1w zYRw(GzKG#Pt+_)txRQO%>@HelhxR;oDj4lK_S%`Q?b)HNequDC*S_yc(?P>M#%Ow7 z`w~{dYRpgkQdI>~;HVZ;R8ft8Kb5%k;lbm;Cd|ikp&68swNAI1U*h`@N@FR_^4h^ zzC6u9R-6Ky=kt2COy+^~*o+*V?bNdw`u?xzi}aQH=hL~cUn_A^)Zh0tt!dzpyE2k; zZeTgTkU@D^>leY&}h*$RfQERjbt-7D4Z|>`bO) zl~>Vh6>F=_gERK^=Ods0EkBDlNmCvTuivAgU*jB_V zocx3c>@fM`lrdvQ|L^pP`s4a#>0J0})>i*)da0g6?#jC;=LVMZV;N8DDBnNd=Z4i* z{C9bywQifYCoFW-RgAM;3v}{7 zsgxCR7L{I(NK>3iqvxZ$7rvr@vr@^lCa!$cglO(xV2lCe(gDfAY&LDOeWoY_~;+q2}YI8FHI z`|@8noH@KII4gKlBVYDLBOf(ek7(vvLhZmL`5EA&<76@LPWV7 z9;j-iNuD8uzFd-E)=8Y+1UKR#YRA3ne<0{6Ij4SnyI%X$|1wAH@{>i(c~e+=sHkNW$=POr54D-;&l8&o=!V-sqZ8WbIb7Vuu$ zqt0t~k2>#_F^CaCQE(J>irEURa{1P&@Jxljn$+0_deWm#Gka!jA4ITGf<$ z+5`Ba5u#j6>rL#dvy|AX5mSV~^};uZ+cbgg`t0fSo~jsC;N;^8S9&{@fht5G?2Xui z$^H8E8;kRW@?5y7c6$2|vU&kIe>C(4vidt^b9w_k{eir1)+qV0`fW7|dHWk)Kou{b z$~QpI*@iw%Tp+?L}DgoM;p=WQP=R1aNH9X!X>?QoXd;|P^Rc~p-PgyMD z-;KQ;e!g}a{6q}hHvCMOdGE{z0&aw#z|JyYXw=s=a`~+h6zCZR6!p0oA36BQZ^h>Z z82bKAFqH6dfPOVJ<0cp?>w=*`5r&}(V5pK| zXm}fjuBMYFxB4J{sMjQ)(LhknXXI?4r#gTz6#H_zVkq#Fa8%)StcK?aMYq>*3c}G7 zCua$qg$IuIK&;X0a5N6@^m|uFGDJw)fH>vtNGb=CDuASAUHZ`f7jSejaCFH{adb%s z99{gEaCAxL|6g#_031!cDUK#~z){0r#L>i+{~eA#c^e$PyDFv&j>bGI;U+(aa1^NO zqZs86r0j~K-SoiGsUdnoQDEpCLR4Vrq#q4HQy?loj*ygav?KO*1HEhxy~U3^%FxvR z=4jdvXd2fMO|^Q$Q~M3^bW!nkfd-!@oz}r!#$$Y2hBEg&*Z5vCUxs41=s2bTt2GH(vND5+}?JNTi2mBt;@oPR3Kr(PH05UM?#xn3W zux~rYnvQQFO-WLKbOq#K(h(*HeQzrVZ-S3Bs^W@AtMn6ZCI5iqV*TLXVPT7Al*R+^-`oY8^ zF$gKt9vXXV?145cPyh?IxikWf?1XG?alIb&{C}+n#k%#Nfvbht&Vf;+0S)AQ5J}r> zm(NK50BA*lS=DD&Y^yo5Vltk8hS=GPn1zPb)xSUfX3g)9)9ey+OPW)9VSb6Rf#XR( z%C0`Ud~40w<;T#Yq3w9#9z4#jfW9>DSeu^I>(+V_-~JXwD!-AwRCG&yDYMhO>%X0M z#{R{5r=%~H!2?pnPIk4fhuqoCBp;{TuvvAdu(Urv z(tD#~=#=W|a_`OLgSY|KLJrnK-n%Deqif-*dPp;ulMho`JnXG81@u&d^JTSM1ojZh zc@vw%sgEMAe0S5)8ik_2posIh%XcH~VAt4XO5*8b^4O@c%awH6mTY4W(?}szzoDEP z#1Hz`8F@ytQ4Jf27vjbGVcy9_q@mq|lrnpee5Y0o_*cr)k-?PNNE$#g;|nND!Ybi)5#nbzM@rVU+Wn(o_V zI^qAMOeec!dh$(WnkY!7iQ-l=o$&u;`oF~KH63L7mD|YllMJVqcEaf=T{yk;|1wUm zxus06?IP23@0RIh|3`89RhLY^ep8ty3X*A}xRp$=zD}n9UKW6LGk-H%FUood@dG&V zbQXg;f3+hi^ev2nBK#%xh}M3T;-F+sx^$Rm)WVncGj z$UC&A8h=DX+A81Rk=M<{-IZ8H8U{2CJ{KBAflgTjJ%g9@iXKd-P;`>j)$q-bM+E!= zjY8|oqGim6K0$sImko04zBuVr_&kR3I{})+W7RxQJ0|MBS6jTuE?B`8`8d6N z-OZRGtNLut(S*twG7As8L|@n?RtB!B&)D0Y=>ZV}c2@{J1RtFLK;yl9mty#1)mp6# z_m5R;G>T{*Xak?($LBR zJm8_R=JC)pRaj@j8p|5Y2>Bkgvh&?$OmFkrjmabC+1{vL!R%_I$yb@G)1g5v9LD>(B}u zNyoVBSKv0eR^Z;i3fye>3fw@OGLBZ@XeDkSBDRNMeT^cWc36qSGu6_8NW*H}?AeA; z#Pp-LXf=*j<>(Ffid-Nyv38ax1YSx71=FPQ-(($yeB_oLfTPa@!BClaQ}m z5^~5TA?on`o6Vz+V0=D$q+_&f%!jMlPEwi_)UhMC`nM2IG-r2jbI=u^{ zhJ+ojcEk?vj(z8KZ`OB^_8L~D(Sumuku&Ltzw$*E)}`gNa*UN~1+7#o*$VZ&XL{7} zDL5H9_H`0lj2`aUiBo& zeL$%MmC;DlgCJLdcy>7DC7WU?C}WB8%cVrw84jZL14=SWec%r-2p=usyR?*WtpuW;hBy@JX}C71fqD_K+?s)cl)L-*|Z`3mHm z=@UJpPHyxW?h}I=;Vgj9!%^N`lmz8HjFKFR9f0!)2HNCbN7%gjt+nx`kv5Gs!lvo> zq3tN>FO+;}`zn{}7GzUfg5kdygy+Gi=Kz~JA{4zo#HNa){si6;)GDY|IQYiNfyGpJ z)GZdZ!TNqdWxZiQ)%RG%msx82e%4pUz5`bAji>7Za7G-?`$G-26{ropX#_Xmv()Ms zS+K@^4p_@WD$X(6in}+hs@Lqr{+L<~i>yU$;Ro9e)wP|2Y$Z5EXxrif6H)=MaNZHn z3UcVbrSIlG?Q$4#4szI=$>GVY&T@FPBT7N$q#nw4N3_Y||Dx{AU5v|2QD-_V|6&1CKLJ3gi_kPYzLO?`2-_Q5;`hEYPTSD9EnMpvABmmRAFENd1&1sveHL0MrJ zo(owC;L9h^a|S#wQ=UI--w6Iup6ko73Y2>=CT^7KoDplHH>l1@Wm)MnKv9}Z?1Kc6 z$>J)aDDb<$;4h_bY&HaS34LSm7gR%apxt>MxQn0Jdc^t-yy5A(knq7(cMso zfIGR(IL9MnG0jL#)UgUQ%Xrb1{t9F(kJDq$bfJiJMiCODh*G@yqqwzNYgmB))vM;# z6Slz*KJ1E_(>l?`lNF)mB%NGR#b*m`uSoxdZ2F&=EjV2xWa}2-ehczCxS^c;l`fQV zeG-cHGetrPOhS=It@{ibtjR>mpdqb>I5qs7CKA~+KB`ttBHnoC{0EUl>6-KWB+YpN z`6a4JW7zW}lR*90-GqrExPdeu?1rpw7&sCcH<4NC3IyVlBNM6jAoM1P1WkeR$*O)h zXNRB?Ps0;BkvyS$p)E9~M_u6wCCv!@Jdya$<%3R;RhSpe^%Lw3{K|$dYxOv-6|yoF z?I8@fuhD(YaQ}S}?oEE&Cll_U?t=U7xsu^Jh$~5VP`Faj9jsUC4uR|)V2ow&kj?-Z z9Tg7BMJ7)s;S6sSr8zII8hxJ69F6bLAu=hON6F-o*veoB&4eBim6cBKPf{LOWvxk{ z7>(~(n@q~?`7_JzX-w|}e0JVfDYFL|K5R@E;LwQ5{_5$ZPZas}312)SyrlP5u^`^2 zc03!CY~zQ+JDJZr7TeM;^v!({*`$<5`k+o68c{V!wz_#Whx2Elkqu9C_sd0IsNtA= zPmF-b?eD7jV#*CN#L^y2*>5V?F|h6u6{&VpEk$l_N8~1#MQ%6U?Tgz^7RSf5sAlZ6 z0NNpTAg4M+sF+?w(C&Jc5SRde_(?!^R!*T$(jEZoS3h`37%XN zCrU3rPN+xsIEm#midEhV{Ch3_>roOzXSb^&VALx zYmig?)1x}^hKQ>1vh3!yr0>08=SHNtNBijSp%{J>hx)EuyK38XPAtgc#>Bn`N<>bg zNVG^KmX;;B1p!!Pc4T>&2Cp;Y#xhab>;&S9o$wTq(W$ zxS}3c!xhf63gAk61+J)PXS%&Qu7n#jaxYn-TO;VUKeFwUk;b>Q5g{%BfK7Cs}KU|rkYG~UvZ2-^2?&W0U11p<^1QK31QOInht3Q zX-fS_n$DHG(k$-lVKj?;W0ohU&@7EcG>en5AWgfY*=KvAS>TEIJeX#$4_8F98*m2i zFToYjOlMrt6Xl(+jw`f@@4yxHxH_)Ps|xJ-7;@SzQOs{tYyHKz?7L zS>TS*tWKfXry0#+uZNsX+dhbFX#1;ieGea+c40vmS^GB0+7PM;peQV@!b7?3 zgU8Aue7z)VOUMr_KEv?^@C0jLl(>=PrBmTvP(JK#+{Wbh(YZLXvY&+=v<}`F^3#cA zT_?|}70JfdKOW8U!C~Fak^LSzaSZ%&&_J~~X}F%{f|E9X6gx}%L^_|GS@8PxXViMp zE0)u5pRwP_U#dJ+m&1dHo-AA32Sv@!sp}q!&;?3Xx&lX4{$@>GdZd!&fcgTRUd!qW zREE9KOD=8aDlUk`7fjsQJb9f1#uz6U7(4Q~jG--R`T z88SQk{|;{ue!uRPH>QSl=8dD^jn8xwy70!e@tYCAub-+j7GDode| z{Pu) z>g=+1r;EoDSCr8#ke&2wIx0jbiLiywb;)ZDE#^}Y)4P5B}^^khaYGOR-S$r@CxasyTOh25Q1S!_8RqEsoilvpu~b zP-REinS{svz+Gl~3~;AYBQGk%i2Nv=da5DcEUHAJxPg@QLmAS=7WMJXEnHd&%@r$L zM%H+y2G-n}ZZNnW7NMl)0`eWeT87RZuRj2yH{{a$5T! z|1_^tZJ%Oq`|z62@Ol_{o!Eib5(TfFERmk^N>qDWtwOQT*axO~BT`1UM3|xibbBMd z1?YC&J1s&*RDf>Z$2ULa`REoc#Gu~q}EzbW50(Gz#5HA#eMz z8wc$2#s4%@O&Dx!jn-vs;I%}(W0A|t4Mbk>BwZ!VT7CTOZm3rP^{Rq0d=)Gg1Is1I zv3q<^a1EtmBl_@snBlq3Prt7+`rXnko^$yRWL1G3_nyS#BWNb9^uR)!*;5tv=At6X++V+P%W|%=8a()E<*s^q54>BXSy#Nprx5-x9(U3r#QTm_3BISj8`#N#Sk3C#u4YCTz(lL!u|xY*!nPhDpf zi(N9Gs)y(8S!!phnL&N!S7Dh%p@cD&6K6`i9I#8Iffgl zhPLcbji);~45-CLHi0T!D8PyIzKX@2Ty!eF=~V?9$BVGS_j1|-%3NJqtJy|Xdq$5D z`Kzc`h1cEKpb447yyL2X){h-)i2hg~JoVp+Lb)&PuNf(0K4yLw3=eFax z!9P`^I{IP$;64mKYFB-Cu5`f19Z4$@n+R?T_=t;kZp+}C#tuQ<^usy4 z$HbGIRC!FQBG@Nc>51?<`SwE8x)`updhy?8vTnGwv&^l<83&*+ zZZP5rI^H#4z&+p)ah%R$(wWAZ#@vZ`INd~%glNb9^CuTm76sjTvAk*6xqILNxD%d$ z;NP`!M+@^gt2g3tM5&DTfQRoy^gFm^M?3LcfAB4M7r%ev8|mZ4!H^oy{wm$-H3F7o z+zpSe6M7QojK+;m|1$GV$U=3P%r~fXZ-b}!F}T036Qqujs?Xk$j(Q8j8JtTX;>JO> zlXLL6PlOZRI418lNmZ54_q_&w zL>_0I(SEW4J4>-lEs|^BgwH4)d&yniMAT@TjPtxkWbTP5A*ng$)O#kmAhgN|!5 zV;@K+-`8^%+|6+@%~wkcxj%`j=weVs7mHfjBI_QK`M$SgvI8-A%?6jWp(1)KpDz?f z6%BAMv5mCZCESg*fheusK9O`nDZ#B0NGlOMqCozVV>oT)8SI{UkP(u@!HI>cjXH;V z3$;nR_?%sE(GI9W&IjT|&>SLNd*uNG`qqWpVr4G*j+#UpP9IBts0Q!0qNjX-suG(IM@H3v2K28kf8Rtu7%}v+oYn$s{4f z;+8OK*FEIz4T(0bOz%>RmV6H_pKVxIpAfqf=ZuS3!=beia;z*kb*@^knEx+xr1PI< z5%<9mr5>_GR%1^$a7jN^--8MxjIQU$5FcrR=F#zXziK#Sp?;K?p#_C&oIG+o!mT)I z)^~Fl&Llwn!s^D9JqE15hEX}a6X6YTv+y^4mfxLh62NsZ9`|$4?C|dTiz7iKv<*U zoxVP~sk9-v*}2tSXFdqX&ey*FHDU{;mbltzndqZGq^6)V7wd6X!&+&K4Tw!8gg-w7$R6ID@JkgJ6fcLVM{q-;cJEFTIYv`r>| z5~p&;(JDt4r`@E%{-(n%f&6Bi){>ldaf_XIO&%b5G^nxC=yfhFERueu!B9<#5Q#bCR=QW`VR zt1-??*Lx(r+9Rn~H!juJxS{Z!d=rm;Oo<(S5ah<{AS=|6Kg zHvg% zsZi%oxM?T22@+22$jl(B#5K)N@IoZ(WR^9@xdaM&ig`842Dz??$ zs$*P1+5zer^ndYi`qtz#K)5j^pl@Rl{5{E^^w;jeOqzu7mE&ktm;N?s0Na`5IIWZ8K8*T1_PuoDqA2y6SHJB^lg&O z8&NHCC|bv=T@bZxQ0b|Tp6CZByY(m$mo=R^-=0)d_3Ku9oBB&GiA6ySpd`>C`gxZ;#{R;3+r+PXW$R;(ajqYs})ctIQ&G1(V7vdXkjOn$}%0gSF6q z#WA8+WxNA4A~G-A>c-#g;azHIib>Exh%QJfzmGgCl}P6Y(MXZ_?0Kx&80(1tUEvoh zw~*ic8%UdCCT03Cy8xberWSbfod6Jj8_5 z^*K9k?#|^6xV`4{bM{3GAv+7s+1ESp{Fd{ttwcue`ahiCxl%g+^m@ORvaIRBa}&-F zT~GWFOwEw{E0Nb{Bu!>n)9iCyf7e0-v8`CPVkaAa-~Yk*1A7>s_l@7XoAE`1IEFAK zjuXdz5%aQTO7rjcY_z1{UdsFm9d5S=#^9}2FgBn+aFvYs(Imo?4?imjFNC98Q2#@C z>A=ZXXFJn7c|mzL+Dn!%k8{Pej?Y;6;;^FiR#P!=H5J?wgS9kq$*UU^_uz!Wvp$J9 z@U8k8=SOpq=SH(LRi-mLIZJx3B4(?QKcGZaXtTvSACzujR)%^L?XYRN!(y{I)lJeB z8mlg#vEI+=M{AhIsxJ`pxk7_)hyB8?a^l8gDY``P2nJzWzX6*Dd?_E1qv|HCv&&r4 z@|vV|ilv)qe+Ay+S5Ti{XXilAl0h0HjdQ_fmUI;VAdQZ5m)WsD8&&cx`>?M@kJ?Ln zV$|N1>$qWQZjT+F_!JG~hpKWvDg+cgxU*7`)MZT}XL(l#Jlbmup#@A>2bjw~ zt16TM^;UY%4GKi>+btqNTz_?l-#2uD=xuNO%^of($pM;?v*0n+S5M2+Ono68h{;3UM1qFK;Let*ESCNThoXjDIeQ4%Y$2NlWMLc01(FKUb!+4akOfO>?6M*g^6i~v z0!adr3B~Co9Xez}u}>x>b;yL_k$YFIgHGoD%AQJEF3|?V^OYPt{EVW(2QaYSz82|qR`*UYIfJ-X$!P?gYtdpmMV1e^jGR|kv za0e_e9mS1rv90U8#Q!MiX!6lUb%N*_V)RARt zO&?rM`a0utSdbWpNkGu*uq$!6-e)7%;oT|sf%IY?*^RiLPUWg3c*nry61ZGgT~(|YU!m6;~4!kja%!q47oT8bAL4BFAI4&`4A zO7LnD58Eq)xp<+^e@Na#_`gd8?8gI&B*%OkJh}z>uzW-Z-DsAYYsR@fs=^OqToN}F z){Q`R4%s(r1hQ{*%)SW^*f)Q-N5c25l61}w<&tQ@^-VPADvhpviAa%)i@oR8}R}l z@RJ`U2#c-;VQG{1NB=xNu3Y`oqr}-O0Aa9wFmdy;J%THZAn3ze^w<}=mo`hA{t7Rn@;Ig;GuSxdFE;N=CEr=AqEwR&q(a$if8`Y z-5s9!>8PHudspNCyvumgNUUEp-jsIl_4p(XUx`oJz0VK^e#!2=wCR=rW?)Bq{dTmn z%Cy3LFj`ML_tK`p0SKS?Y)e{ST3hN@j5Bwyw$mlgB3gmfq~3i1rMuqY ztVWRb-P_N6AsLGF#l~&vwrbP{{#jZQv-uo1NmoR5RFzbjrb6Aaj`BK?2a1Yr2YB^^ z5OA&*S&Mp#df$HLX)PjHLsXs#noAtDTo|ZD;~F%E!BiEx81dw+(sLPss?b%{dC)&l zlgXmpOYu!ZRmNH5yIz2ARA0&JKK)gni&0;RO7=-tRDJ&4U-ii#&8BZ`G=g*+ePb|h zp{ma)s-PcyUX7|>E;;YKkQ{ejz~2I^{vCLp%cT0vLFWak?Su{|U`##!mKJBFAE`N% z{$bUe{!>xwt2czy(rMMD=fVTkoaQRL0qT0GV%%NBPqtVeh|WRY%^&tqJs|2fvo=%R z=Hh2r-R2sq+sw*C<=mt7^n36vF8ix~%i9ORjHSp2fPTg4QKk z^B!B5w2S%nK!qk&W-`@{FTzYv%RQIXX98O*QSHpCuKS{j`;(QW=Vq^bQdy}*9kt@d zs?u{a7Ext0RtXu|Pb#a&s>ziaacVK`R;tXVituQ(5QD10GpQPUBITc8L^j$1S}Dpd zVU^SO(Kj|TTE)5aja7-yK_&PRHdC6LQd#}ct%+FK!RJM`s!w)V)x`50YPtosn&^Yd zO@BQ%RiLN}e}WwtvF#(F|CwbUH=iY|v`Y zV5?0SrFlN-t2Ld)*4Te%YXOU~u{d#Ylyg7{-S~_u>ga3< z**qJdkD=1ISFS2{Hm506O@Q{5MB0~_k8>9x(XE`KfrX%|pEOlyVEGgcJi?l?j=UGQ)WDAct?PjrvZo%efv>)Td@HXp&x!*oZn67ou4u41+u>Ef5)q0-U z_hj8O?YQkdSO6*HsaXD5m5Xf5Oq$W#)#ObOYn1)tvjy=?dzFs zMD#ll-DvRY3Cc>@%Tjc-xn$fTtZKPYrx64VF&t+oyyg0j8`n2${HhY)8d zz1DQ@)!NZZS=I5-$NaijN3Vy2dR^(Q7)%~QP_nqa&hGTtI6d=NtDSgEeO)}J>B3{B zop>xJh{w1jxn_;5@Yt^zkNxf%JhlRyMI3g#2M*h5$9i^=h2M18ooyd7&SIVbM22|7 zrykA_+q$8ROWNO!6#cNHXX{S%q}g`klNeD-eHV46+gE&jpQ_AfTm>2A%M;*|)^{`3 zv#fovO=_=v)W=0PFfNJ!7jsjuLkxFGJK-9X`*hkZN5!?Z)Nk*;rthza1LbH)VLGeEx`yrS{7CO!%H2|BG7 z$(Lf1CYjn@jCeBZ&!E&?3KY>a)9~sSQb%5WHFB{IE~|0o54mt02T8A{Aed1 zzy~oxq0a{(seL|xb;z~#$2g}U6OeM9(=Kkao3SgGMDwm+MVCgakUwX3Z8i6;o3J7m z68GMkBIY$)UIRP-5VP~k5e@N*CE|Fp@yjj9&XiVFto^0BO^I<2a?!{@b@Yg-I zf*YFVF1N!%>}H?2m#lAglN4;bK#X)XaBDZDte`#Sy=wIAW{+XkzrSbeF4(XWV0GW_ zUX3WdT~D)qg?hGtPMn=7FfMq^mICyow_|;E=&K{IzGAU=?k5KNk%dkkJjFu)UA>BB z$PGc<(_CC)e$K3Ns*tgyf^AOmoG71N-dwHNERcvtT_Z>7P4SZ|; zksa4Lb7@czFJzJJ-8Q>&I44@#*ucv3(?x#`Ig=SKCK&nhI$yew=n$4KsW) zehT+BjF8^MfHG7p|S133}ME9P~e=y9OrvHfjC$DhVzrZ2+XVMNPr_@;=K;h};K zzH$Y{qqYVl`ZKkQ2dq78z-PfE`C|Yh4tg0doH<}4n zzVO}{S|!Tiq|>%Kayao;k7Hq&LXw&ZluFpagj_9;($a(#SXK*gmu=7&c;PZOs z^BsckIZbJPEClGYon=%|F2s`0NXUGU>@EWpNCfk53kV4!+V?0!@I!e;azhL z4=*Gj^YEH-yLxy9Sb3wEhd0*e;ay%6#nwvU2*t13IsTf{^gj%{$RJsBl-S#0IJi1%ZmsV5Jjk+J(#QJ_*nXB*(?vNxe z_msvb_J}TpZtGWtd-W_LedWk*MD)1}PumYyK2%TCjdvXmiqE8;7;l)5+E@NJ5s#dv z4*^~Acl#x$f)&CDFdwaOK=<*EoTispZ@&+eFrr`sK2Z4HuNIxiX?lwF^ZP&PR!z}G z7@*OJJFeby5qhrv=`prfQtr~%CpFMB9G20wG4N&!@Meq5n~hU%yLhwX1K#Xm;8jJo zDfsJ3D-$rrk;-oaQm(@zUW=O!l^C?h^2=l4&5nT=I|f=0eCDvp9@&l4aDB2V-f7$& zZM%;$Bn(24R2<`sb#a@G8+&bPZ$9{QM?2zEJIiZyAn&Yyi5c1#`Ib~R3(IO$7npIQ zIOR0fdgtbM%4-DYUbd57#to&cV26q?gogm0M2gO=NA-bUGn*r;d_IBKk$t8^9h!vv zGgMNmku{`+$D3$)VqbiEuaV1`)3l=@Xjc!&K}ApM!|XMJbnV>3oTfDaNd62SicmoA zl~X<%dBT-h@z*h{c>!49@-DMN`~tLzqUCB{9gc~CKIcoC} zjUg|<$XdiLk)wt@MlEvHQ1_-1k+qXdyWi|erl$=f>ZZ}JmL;0g)OrS(Wib>bJCAfX zC1dRvJOGq8?6USl=9=FF(3k0L!8wdn3m|T|T7E1}613kbb(b9*mJ5H5fb&4a;0#&# zN&Y|?=St?el5;K=gp6K@`XBAaEUs&otQomp8j;^N06DU#G}et_o`U>|ly7rwygyD> z{WQu9R(wQcDSlRUka>s3v{2?bK@zS5(p^E2?3D_f2`rNV*~*6yXEu)U(JAFvTzh6C zg5Z(O7Cf^zeY8b+7T1QP4}#QrX405f;eVTvZbMBv)frQk?5~j}Ta=y}$dV1NTR_x3 znKEp8qq-QFxen_3>@@J}%dt`3U=rbEnv$b#P5)<5uI!c74ZW_KFRSe)Ulx^n+euP& z&X{dw8M7C<%b4w?Z}`3D{*2jekXg7dM!bxBK2>U>ERs}gx4cA|xrLKw-HtJwO=|fD$Ydd>Wduug}i##qN55qYuEj(mo~WM6)4j)$==@ z46+=3k^*wGBa3!MP!{bXUlwgLtjYIKK`rR0?&W7QBvW$#fOIl}erQkpWM%hQ+)X2P zE1AARWH;8AOY02y-xHZ+QZo0EON%H3<ea#PIWV)9+U2xU5Pq@3xdyn{G4K?!(bmL*b^RDv5B2hVL*m!_xGCOJo(``JAU#@ zXep#z9nyFBoldN{IwUbgpHpGUL}j{&%5+hr(|>n=?ZIt++J+E8Y6#)<4I!)!F}&6U zZ1!&9v$87H%FNX5H`LO+>Avbg_CXshm{V2*@MQ!>4xuiw18=Jv{}_ZZB@fr1k6s|# zJL-qFDfL66ZP}=Fn7jRVHpXRz9a-t2xm4+;&Fw3T6Pr-)P$;P#bD}w%+V`P=xRaf9 z1Cr~A{w7w))47n*V!>3%^WZ8XEz|N}wD*OkpvZF_)jSwTjuVBFTqvnN!}nMP4R7!Oz#=WvLGm(r6uHeImvNQl$1&?NN)45@>KPpknkrcHQsj@d=8e&Tp1Kl&em=g*$ z4sPU~wdwK&E_@IfKaft2d zE@}Z@NM*auFhH1Qe|g=mbv?t;9R99HIO3=^_5+q9INe$The|j*LgL;)cDw+sjLwa~ z2?PReZWi?o299c`N8?-$szRcSe9VnyaTfb#Hi~98brV%2MbWt&{w zcEL4CId58R!f^HRk8sMZx_T}C7pl3qoI^PoYFnR1yH%=+lbfqwZsJlao46_aTJtXA zHnngGyvHSrKh;wG~m{ zw1+9g?nvVus-X}1&n`{GDK^>4*`?uWz6!E=5}jQdJ;wSb zR&=O!2YHOfP>%FaoO(lN^Rg$Sa4%vss>ha~dTa)&$L67WteZZ#4-vOx0s`6#(KL_G zVoEGWj&HC;d^L~L^zYMuh7}yLicdwZ8*cTcag_E0@txWiTh1S+jP|)!zGSxbMe96z zvotQ*<-aF7@fiFi?zf(<2-(`J#8^7Q_8S|&Q7q@S2ph%CYS>|qv}-He?I?Mrx~qcAanc` zqO9ScRsD`A%SxxzK>C^PvGPq^=0V04&rpk@pH(eow3h@tE<}F1Xu^3lJwnm|lBNep z<#sXkv|SocvzEq5V+pr!0JqUT+*+-KRl={Xl5c(5gBfMKgBiWxo6jF;J{iC?@J}#` zEhmoyD=9O9>szhcfoos~xTaHTP&a^l7%uVe^*!PGwywDDh9(zwOOy8pXcDI@F`5Kz zGMWT6f+lgsQuHfPM3Zz6aS~1g3#LhYkM~jJ3{d0}Up?czD|-+{Dy=){@lU{6crZOi zF?w9}=O`M3T6a+6kKIz^wg5GL*&}|Icg0V)v{=vsEj|^XMbM!M^q6Lhx*9El4l6*9 zrcZHeZ_m_7Cntd-dxWI{EKQHFx}(RkPV`8$NHjU6Qdjv{^S6TxoT0Q41G4b% zz)x5=w08ioZg&M6ue-&=-5q#n3D0JDAetjQv@pIz4TS&h zY(F08UTlU3oV0#(3-EyZwQp`AJScZ;6CRW{o$(O<)qPw>|GWC%W<`uMlTQV;L=6O` zyoi4BGIT-Tj?g_1?g-$bXCC}xS6tL#KRDcL>o;sa_#4{~eg#~pbl*TG;zW80_YJds z^Dh7S$%$M(S8N)G6SO$fc-)yg!!&l5H_?O>ln>=%uDtwm`V4%(N2YoE?#eZasW|Uq z25!s6t+`V9TC@}8S(F6@T+Bi%DVoM38D4#yDF>>;mr1~BpUHTK3JTx94=YrS!Gx~-4f9*%hey2Ed)Z?+K@ zd>AmQMl7IvB7)_i*L5kDecbms^j~h zMHF-C<~z(wt#8o@IjN2K-+#6)jhMmile*cq4O+x18{Ot|(t1zKW7%BtmKyA5PjiXK zd*qv7d2IlG2G;4j;71GmXh9)bAAZ>BQNWLx;YX86_=y94G>iM-R;UQnRpMNyOv;`F zp0Wr(R+b-2f2FVD(T+!(KDgNdcd#r*&TrOWIc^L-uhCCfoOQNe*|(>pvd;MVGJqdp zF`r7eJ@`+uVr#>0Qo1UBu-{)ley*m2{-4O#q)zfR$uCzRKRU}-r5(u?rA=qK(!G35 z`hQ5iDtFEM#<)XU$5-<%jGML`2TnLO7E%2SNiMvC(l&fu-vby4OHLV_wF~MxEuCY{l>EThGSLdD!JO#gGyTX>}~L> ze%heXa3l6tJ!)A!;wWm4xZ^)n>Hz79oRSt{=C&3gySu(B^i_4+_i~On=Di#`C7I?y zK3{SC`Iy%%2alIq27HBkOhfwhN6otiryd+cu9cBaO6JGhj(o-6RQ?HPM=JAtDE%1D zym<0woP6*p!Fd(7D7~d*jkMNS{r-#%v}?b>4Xn9_Ub7%b#{=G=;SD^j@1)^z?mT8? zDLNjr_9fNOl>rUUZ(Zr4xS{*2rd#$lakuZUdZv>98vcQ$u&UC?y80A1-gCqES3PKX z6Tk1M!f(IhzIvr{I8Fy%V)t8BSA(Ge49!(xoP~A26V^S=&~M%E3$msjB+tn~jQ9t# zsQA=SU{qK6L4$!0p79HG9@8pCTRh3M#hKPytsez+#kC4X6F=`!56TL{XIDMwKBgxI z>p^!>oe{f#4tkK9OT_t^S~vvL=`I2Xg1a?C5m32mwt-mTTb zucrqcb1S*bpJpb~J;7h3sbELIZ_nvlRZWTRKmA;T+fq0_Q$`MN$d0NxvR>}xFvx%P zPN-WeAM=_xZeuUc7>O@X75vpJ+3PZD((MG`qMShjV#v`g)H%xcDO^{r~x?TyQp&X)OtH2D$tzj)4(DSzu; z{c{@ruWYCP|J+)bX>?|JRrxP@jNC2hY3@JS4X&4ce}7@u2mXH5Zn+SaSjBzxlU3D* zw+dBlwM_ouNZNEeM@@S+m z8vfgP*>?zEei8ZIyqE9Lw5fl3%QE`&gaHrq&xyh<>pV`BsnR7qTg4}E31OHGe5ryN zKJPXAgxDdmTzsL#k4EN`5!EL@@}t&Ua9eYO_t@HWV}n{1QhiUjYWt`r^e#^seFV>5bsxJQeg*m6Vk+Wi^o#JBX?v&;lZWukC z(wwop9*&>#KgXDwk2C5|c$1uwD>4_}vNNKf#i}Ws zuq(9CC>LcU+fc*An+mcPYULz+PqmGbL$|?yJUYrI$|#O9`>w_aLvJ)nnx}gLSBJ~p8W4wx_98Gm#X+wK3QKK z>T)hJxn{#l<64Au1eI~_Kjto#LyIQLiSp%U?q{l2);$&KO2D{ZAVXx5{FjRc{&Mq0 zqP+RpWk=?7iPIiX zJ#Zvj_L_$0Wlzgi%|CK~-uaTcCqs(3M2n4=Rr8$|1?ERp0`d+uwfT$E;KATiXWH^C-mgQP zkC#b~{y6QmdeNNw*ID@LpPFmE;lQnlaI4~zGiu8`5vmj3JIo2Yv_7d*?oBBxLzUVI zuhkqUN6L>`V<3xO^p?SkaKbyrJRhphAEo)VJ=G))dI4 z2QJb7E4?SY;)E=mF?)|!m1dl<-IC^>{Ztmt;8p(qE&h&Re+$(i#g8=I+a89M4W*Tx zp{(q)SlJKq$`C&~;XT|h0b|Eu?0YdA5wof2mr`bQyzGeyCJOBWb1ERXIb6&*zPcyOVHHe{M|<|o6x85?2+C4 z=v|hknot*U1o%Or;&T5iL zQfibf3i1gnGFgK-=)4-^wuEwwmin3}TAhHkmT^Y&cu1n5a+)`KiD}z!vwLsbogKFA zeD-VZGViK|H_IBQf>i8nQ@OP&k}F!w{H1DRX+k-Zn5nO`xlfQYFk^0ThS#)YsN5Sf55vq~bIh)?b1$amk{?th!2 zFM3~tHxJlBq1PpAdlz#FeOyNunNx4QU*XQA%YM8Ij8g8n6n2f#p0bBs=V)OVEgYl8 z1xE8+!VbFdfvfHtS=FZNglz)s2*6GXz&>&*6tGua6}C_lT9og0w}oEk2%#9^=puuh z5*VTIQZMKnJk!y71J+;KEcIdd{J8D+^(K6N*j8E};_PkH6^1%ZMPW9b^8@VW;Z~I= zRGlgha)+w*h#4DN8NJFz7tv}}qiK)YwQ8T}!dcwOsWs}-O1W6(6W_6bT2l7Q8dp+P z1*n*dr>bvNn{=5gB>Ev;-k7g*YPW*6>ULxhSIm~Rh>WVyWBUS|zKGjGR81OG5dU11ip|z=HmB!hwQH1BDp;QW zqOF(p)$I3=?XDM)cl0o_k4%Bx;mvZKzF&u(>esY4Jc+%bteo;0nrcE^k+x9RhZhY( zl#QhRKO)Ul{J@g$3C0A#Sl#?Yxqputa|M)SAC$%4AA55&SAH~syDSaiKKn$`Ehppq zTznsl?}`Rjcq*H7ExH$Se6vNW+KPDyWucgXsbdBqYS*%K zoA&u4()5hBe*iv7<4|XqEy6kf4O1yrPnwN=pQuhq6B_Lny(OwDw1^)ZS}e$Ys%mU{ zxzP5x%~I09LDH7+$Hj)87>5c{V|6U3lZo3{SaIWQQQebtnYIkS-wDpH1 z`C-q^KZiJV`Qh@N+2(BGHQIj+C!=gSN7eU!N^9RW+m>Z>f<9VzwKv~%(Eog9ng4la z*^4JbU0C6nQc8atXM;5_z?xS<7xpHkMbw8tij=m@st+wO701c>?#z}1nIH0??Q>{C z?alUs^!p1f?ai~^C3&;HWl{YjZZ0iM-r@QFtVV8czQ|fUffh-D(LdSgAN|9f?ag-_ zG{3QZ`iR&RXr3vs|D?9Lu;$6KNP-R>DTg_VJ(pWa%PN{)=84vlhB^W58e0>}(=J>} z<+hBLc}E;H)M`Fiu5&;8a~%G!YN!AI)%q-~wrHOgO*RW@(#P#dHbqDM!j3qjPe=VT zD4ib?F5lsMw~Yq~%NyDV%ckr*vm?HLER!@{zvg{YO;|~sysYW%hHzIMb`*t{{@iL} zPs8m=Qi}gEX|nDw|Ks|^&18&6|mypC8#6tSKoIl>L;-`f2aON_Ic0;bD|IC6y%UK zHP2{$wEp+3e>i&WJdgtX_iY^x{C8L}%6q8r9*QM1rE%^a8mHAer~Y((JcI6LFg)J& z=I0L3Z)d%u*^^V=r278yBTe6XW9w;cPqp+3THEawp*m;hBTfJGDr>8J`dCEA4OaDTaF6V8w5EFzK4+8^WFQs@v>CD8g^p7+vFW3_u8F;zYN}d_s}3% zlVxSpr`y9>p4pOaVHE~oz2H96uE2W1{X=`cTh$G$`+cxD25VD=8uN-Q4&9w3|Mj$x znD1T;X!>%)?Q!yI>kDqY@6HtY1@||AcD$tnBmS99Z101a{cR_`(SmfU^%5O9|?&EEF6)w3zzIT`2k-2cu&e+2E0=*n6_iEZW%REYxf5IDA zrd!c!)fT)2?@nAnQAVOIYoP{fR+OPBuJt}{C(F)&y<45HmecSw(H1Yq1@>LYft0z- z%Y*ERL!;%8{ABsliw13)e4~7+d1M>*>9kaNnEcU2gEUo^^5cpwH4kjtZHaa1@;P_A z{iBOV;ic!?t@b#lYf&Njd1e?8wTITiZ0poqKr_S^jfTc^4Gn$3b#B&U@1vX%}>J6gi#5JPC>5-~BB~_`l(2`d{$&ah~vcZ=4NT zeXmzF(>P&=WvctknmEX5`fIZt_rpL=)889VJ3*R>1M{VGU`XFOs^t@485$0nCHUPo z&M~E`3!|W|*e^8O$!5Am&RSfQ!6i*~KVheO{`ocWu2?7e%K9*E4SA;Otrnq5={q2s zbAN58cd_+<89se_+dd9>=sfSX_bGXF7yLf`U-3j}Xum4*RJ6Z>8^hM_>a$UTr!TF) zCjT*Ok>}NRO|i9nn4F4r=L*s;#Lwaj9&w9&oqKW%Nv}tKj+0NgpK7P~=J4L8zJNL%frqKgzcmq{<_UbzF22MF1=ZbS? z*$Nj4$+0fiqAAUncAIU5r+Rbu*?W} zaG`&$e;mIBE!7 zvA<5`LQgSpiJ=a)Z@p=z?LX=E_~#93P~Vp>RUJ#`+@Vjh{C{`GQwI@EI99cv{jVBm zs6FTr*?0P19H^>2l0FYvOjfxZnMcEA@dnND{b+HtN@*t!oCj!&o}Mem%L(pzUPC@X zuU~7$|EJcbv8S`Vk@>H}gH^LOP9BO@)4k#OvCcN`v^fzss~|cOcNfm0=0Pm^~FCLXd;J+6t9O7DW6BAC?na%NT6(83s zTo}DWYURC<0jiKz*AyYKpnUS3QydpKRhw^V8w&TvPTP{IL%_kodrN*)L~5kexXHyZc|hKk@zt?tfsu z5vMt&x&N@Xuq+1m0F08O<-QJsE2fA`j@+u=hOBi#1+U69cu~2rLN=_SLE+AbO=G7; zRAtDhG#)m|8bQ8^LBH-#9-wL28rJ|hd@oVGaUOAY`)JS>cawD+?t$VGv@X6-C>$+o zH$AoF7P%s0ec2$#ba>2&{>&2-gFI#-%wsmYEE*oO*}Lv2i!S5_N63lrn8hm|vmwFW zGWt6*`=is`f{#uM_$T6@W7MAtKIlY__@RrT-CZy<#+P9WdYytu8u&raO>R(8VHrtDYT5$(~X2G`1kTq@o_G0YKK7~*uoxAf1v z2v@k18)mMW#;mh6_h)&v-pSjwE>)YpDF#0Mw6R+)G4PsQUfbb=deHN?pJTf9nq@tS zqfAr#Il`D^JhQf+OKQ`nhNdPWTGh)D!JgKy?G^OY!(paMw+5 zXo@I$fU}#b^l}vNKcH~ruKt*Pmd@-zMkG$E9>6?XcK3|jPzGso?n}06RNrqrl_qHm zN7nI)De~fMVDT=kD|#Gm1k2~*g-!R$9HM@F!8n_0vwmAeM*nT<(iGc^w!!ddac$Z# zT@mcgHtoZ`i~iD}!i_M~WN=HHc1WnR+WKO))3TOsypz)|sB<;Aqc{n1L^WnC0dGQ! z^7enTr^x-baq%=FpQy(i3^KQwFThCx1>^(Rc*@8*!J$?52v^=-J`r;!`MB7^LmNKKdW1ZUdw1v($-BG2L^C0^N`77j%jB!8E=xarp>S=iD~f!x2HJ}cdeot2$V?UP zjr-%;RnfFd<0hv>wIk_=EP1p{_UP0-`{Y^mgjLLwt(715rXs>VVaI*4k4syMn5;(a z`j5?2l$=fNfn#6~C$u{h{QS0lfGZk4$^niS+|ngKUA8yAxjXS1R{hF6NQLY2QYOOl zHYmtT+1UKgwiusxn7ot^dib`4YmAnWmvEhiYoU@qq*(-6S!kP4d%Xi zTd}v!zmvdy-!z!}{;dQqdaJcO7M`T`)K?*46JVdDd!rxchG0i}e3YD6`iJa<(sv+T zANo1kX=Gmg0!uFkdGxi;7}o}wZxax8@JrCg)&xt?8(O=Uphwn_1T|s@Bi-_$HBy_w zYjjPsDl!z((&_&j@lKpluy0L~H4OLPhN?)$_CrKdQ<^24i?IqLrK+*A$=PqyrRHC? zL&_%H^oF^Rr0K|A5ln*ih6L3@f|{8Gt!gaW4GDx%E9~=aPWemtOf`kW>Tu^QVz6AY zwOUPD9wZJIuW$hF4u*6fIpvo-5!>e5GUf5MPaE|5INO(2ZJU%3CTj|D>Uf*P>E*Sj z)Lbvrk3I4E7wMAgm~1Fbs;ZXZmAyz2kp)Z&Le9kx%l302@!yP1)QtN#p?kld|Ou>s0u1Fo~ZBR(lAM(NQjqg1SzZtG2AVOOi>|Xhx0D_ml<4EL(H$MwFQ>rZo4AHFv|7RQ|TG z*&B^X?&IE=lIcumr1k6Ti$BM9i9i3onjZ)qtVfUVHv9FjrV@SDv*>eU^L}rv>mFNs z^TKzh$?D|cus76+_oeTznkScF?~R7f^s@tTMbEpxzuf1CD4U|wt#0gF*3Z=o`dvS! z%@LjUa+&aVFQ&(>Zj3H7xkz{GkN&X-qil*KTixh-!w9X<;59+A8675<^M^#he*1Fn z_X+r{y!@{6u94q!H_E`*0rU{O2EUAwHjQq=m%+@>2q8zvG@%xxB z@9qkx$!F({XZ?P6`M&xj`616&-WX>;=3#AbE`67t)ZmGcJsJN4N!A#7<`0Su`9$N3 zd*<3^!J2%cv1CtsbNznuNL2KN1+FD4eS*Bja|-sj5%g5jm%I`wcyaCeH?re+F8hOuup`pl?q-V|M3a;Z{U?U;oc6f#5eAD+TraOhg)icXzcVF++gdY zs}uN}{Fp><|6CIfN#CK9U2cA;iZma!PxEPSF59nmwuQD2`$tuz46R?_hK;T6hwzHJ zxE#4!e8TFXN2@G&K5?H?7fP1F#l4h?X^`K9^}r?eV_BJ0X&Vj8iq3Mo-7QL_d0lS) zV^!hK-!$EI`Eqj(`)d~ddI)U<>3lun%~C^szI?h~vDQKRqoR;S1X&JGi8;Hy`N92M zq5;xw%YO1l%p4o+haq3XZ<>Z)R(vtaw}i`nf6Ta=ICzqmHjOzIAMkfyY?j+&+0&#` z9scf%&6C<6^xWi)17`Ki?{R8OSHH(^nwln4y^D zjtpu$U5+7L5ZNCS;46)F#XE0=?-Vh{;jlHh$TU7hi86BTckHnxp!JY%Z7(Gy`@|Hj0HuX@ayDT}3ry2a`(s07ZT-;JJVfj}#4RKKAKHB zuh1;~i*HdJXUB^?W%`=Lq;>-#0gY_r~SswTA{U>VA>U z;Dffo?DM_0X!d!atv8~o-?-oVIU+My;w$oQSDRnzE8kzjcSZ6~X`>ym zhI)~G{#ZYJR|0p->A~Fp>{RTV!}xsV)L?Gcjsz~}^#smxaxizxYxo;+CiM(%khJY_ ztFVdR$Zb|30(7*E;z)%B6w~SM_xnwTmZZ>jvK^nhSs~uA1UHD zUWN@xFunOKmN6Aj<#lpD*|_a__l=jN8B^tn^5a(MTO0X-!bTPLL;V{xlRWf76+&)) zH~j|m&~JgSpZ5id!#rJ~d4q08H*S0Aw7@^_<}OW?Rh#gx&_C5Pc#N!!d$~EYP0Qj+ zk77LcTN@Djsy*F%LG9@X{;#LS#C}`&AOm;PF8&hy|Jc1{JK?bmb=-wa zyD(WQAYXotIi`# zTD^-O3fr&Hcz3Veled_KI~qLBYJmm*g!(IG=cUplcIIqr#Z*gIZyFS;}V z9`^#AWZ84x@BBP?784VZ^Q-u-k5*B}?@Nm;EaP{+&4G;Hx<#TVMa3n|XE|ut|67SB z48@=c6`vqE%wq?6U z$y)fdm3^-$L%Z$XGNMgB!HBsa28`L9`FVMd7Ru2z+UuNy)~SsDgl{KW(5iUmj^9);G^O&`I z%F<4)^+s3xG26IR_L`&T%98U&`MvCy-Rs)m(*s z*1yGY4d@@PF*X1wJV}xFv=KoX+3tjE4Ho-ygrn z$Hzlv?wvDd&OPV6p0E9NJbf#2*dR433n?DWi^yYo#IT`xWToEXzBGDljt6aRkV$d1iGr~YUYwK_F>*=K$Tvc)Zr1kv_6<&uAM3h zdP9l4AFpr*w8~!eiVWkvH_oZ?t0XANgnO_-8$t>~M#v%&(O2lpBCjt#1K3Br0*ZCa zhAkO5XDvHu0}S?muy@rYw0H#b(#ozyJ@ z))7y5RAh0)x0L~`Tu$;u7ZZ#hnzuO58$B(@nd-}talRbydvOhVZ(tjV@Fh0fS$ua` z{94!g7yOGo^@aXcd+Mj6|9wxb(cjLV`po)Id+H_Oj9Zl1(F+6x;7t~+yD)P4&alh3 zvK(lC1TmKtbF!g{x65AzkMah@!#C{mEBCFyCxz|u3Acb$&k#@Zxn2G97w&@BQqJ`9 zE{$gc=Kad-heRFDE>x3!2MgWn+iC8LH>7tW=M&Bpfap_ji?~2UG#>N-2O1{7q>#-D zl{FWRl!3$SFY?_ei#iL>k<7%v`mVS(@LuAT4xjr%dRT$q#{2XUIerx$>%7X_&Fxj- zF<7zg;ay%O-W49@v-38v?Fu|!|F1rNfkz4ICT)CJ?OEYfxu(9D*`DEDF|k!teXZz! zLDiRk|kClLUkcKgAE`O#Tf8k#VUNK&n~8?Z+YrDRNgN0teD7}1urub>7#C2<%P3{ z0(1u#`A`dW(yyN*Pb*3jo&OL!FaLf-|35%;`GDFALcQ=45RUFIjW+TTk_`E+}$5_11`&4?Cc*MRW ze6_n&>s#hmzJ|MIhMy1!pooQb5b3M&z^gpcOC!gtN2DAfgUY>%NUsW6PvqbY6X!>i zc!*p>tZ5&7PJX4UCH_L4KBO>nr!Gqc`ECQh$J)8-S{Ce>9`{2=>-~qTu7A`H`@AGlvNNSZ>PyxWePgaEnyurOSc5A68clY&vjnIt z3c}b!C7DmfH5Pio)?=3k{fh!1Ig$0;rahLuIK6W^>M{c-zh6x1ZHz#rID(SjJE7!v za}`4fN-ARP2uZLJ(cD1E$Ij2dv-bF$%;dY~Rp;I0OSeqD_jh`iujk)1+l1Yp`Idc+ zY_+AJL&ddWbdN7H&$~b>#?R3in~2{qsDgM6w_>K+0e4ejdD+t>dJns5=<39&yUAiz zS0jr&2!6*Pn-bP86{jq+G#!}RQ9S8t%ATh0=#!11pC0WT34d(*RS&O&`XCh|7NSCi z9@K}Z4(h|=-$fSIL49bv3cMv+HIem3elGGK^l>VA4{(}!q^6pz2ic=awD(srJr3%F z@veu;1MlMTE=gq;3XP}q!SSs{1@A!~tVbB)Gw_=gspJ`%WR z*wjY){!eHXW;v);0sW?$GH_~PyTzU{BU%44vX3`62F-Qe$su$nE6?3**Bqj|rgM5k z-rpB)hQB{`@A-a*bx>`4N&@xA?R_o2|6IXCT+=`X{K?oPR1wA*DY)$HrXxs_5SGP zRdXM02inI@ZF~A!qivf_tf2Pi&}hi_hno&*z02yjk>)E}9Rx78ye1%w9d%kM`;vqL69&%Z2Ffv3Q-#NW1q@<%df9K??b|oFuUTijW&Di`u z^v9~E6d2QSx;2e;B-yTn!;@@Rk>9_}c7X0lbkTMW-7_-(nVsQmTPGdp6KJ0#ipE<_ zGFt7{ov!S}Pdfmq+qrq5UVXKro!5B`LBELoVU0qumFS#Pmxd#s#Sfm#&u{2yKj}s9arzZ(xJR#<-N$R07n?c^nq>EgV;O|?fr2M$;S0o zAK2>&4NlC^4S@VF^Vm;g&PaA{C-&gp0QEckw#%@%=5^TIoBeE#FLZDPD=U^4W0jzh zXVOf?rBz)WaaYPA_mp&yG8M_%2JoNw4cw_L3E=k!`mCQ&l?`1G`KDgVO_+-x{K`k^ zga2br_t_L!(OHd5Sp{spIqfdVeA;bFfIp)X`vlvWtbgLqdSy=AP1*4F|E%}Vfp0d@ z8&}H9Q}sP_g4QcHp^Dh$t=w#L=gR7xe&qq1rxeH3UJ_09_|E=)|#+rs!1Lkc!|(kwskSEAWje3>bu zMgu>q&mVd&WH?ql6FXp&5xGt9L7fXB{!kU}l;RG_AwCvDc1Z}VV;lID#%%12kHeYQ zM?;cIqtXJ|84>VD)p7UP$lrNJ_&AUo+~WC^Yqo%ra}iZ*wZ?OhuYKcy?b#TM};+NIrRjU5K_VpAqXkzPClb z{yVhZ2WcC0F$k5Mm5Y%Zb`;S@b984f{h>cN$h&xPdRaP&KboUEb;-LD`zUZHs;&&~ zj`JXt52hinDpkbzC8-B#R9)nI@FNs@R~~{bUs?IaDD9CA zRm#`B)!kXh2TDi|igslr(s3lLfI-9L;K&~FGW_+2{Ge1oa)^JU3Nk~y$g3e8#Czb= zc<}cm{3nt_P%Zd9{)cS=@84342!LBj4EvV+lfa%&?m$9VLrw$YUbs&X_xM2Pmv+rVk&YXqf2{89Qr2`rKK& z@?vIQn(>`JXv=r{5RACEVQ#D1&cG#eU^|P2?W|!&)r{B~;wZiAcAz#Lk!uQ|{pn9D zU$38o-|->8D{^+$&~cOR=5}TG>4QSsR}7``cTcSB_z7I3|XuUSBbhDX|O`1v0b6dkc?R$8nL6|9w~Z1 z->33u$Oj}o3^91KiWK4Z>%-%H%0fa|eK_M`@-)lhyx~b=0{!+VfA@)udH(ujkc|z||`|W$O*fvL|y$1_mgC~P1#z@1| z$aJ}0)@2DQTPR=0H+{RF^{+}zA**dE0@3d!s?*?C4F1zNvbfr_lN{n?vEzmR+B)3A zV%MQ;HRoqVEawdtyPJ)_1Ad{Slf{k~cH06VOL@~w-oQ$EIHH4*v-w7KaOIm9UU1q+ zBNxdRy}T$a-B)GbLpr+q6uxKd?U)DQ%PG;z&bD6^kxupxs`L*nf(3x=Qn~NJ3o1x> zQ|rAeMNA=h!V8btT=zn`^&TpVXV!OxEH37;@dD~h(7VH&{QA5w&PKAy=IavbLmb)w zFQg+^g4~U&@95A5cww+@CO;Gs4#A80x{&(%Ihmur#_#vBeT8U{)m#Dmf%A~p<;vaW z>MmNGx!YXbpSTve+g5PDxw_vhZ)m3z2{q>u`Z>e>W<9Mvtj|FX@R;I5=X2>N=OK%$ z@Ee0HL(kuX^-8q7exWU1`&quZ&tn1=Ds$Xwz*zCu3i1jmr*miZZCi^A%W# zbWdVU00Bd85*Bi)y$Uf0-!M?dSLmG@28Fn!0=h2?k7FNTd}$<7#7mhgURng+ivw zD4mB?!WKoWd!Z!bXmzRwq!AK@7lmxq_|NR4NZC0vU(8}1va>BLAdsnL7L=IQ6>-k?T$W6LlhTL-3 zIG{6J0hP5j8p(QmV0j2WVSh&ykhlU{%yu8JcwL5TF<&R8xoHPkk=L-I7m-DJhAXj* zy-5!*x%Kd@QxDnI!P;}$k#rRsv?=uUind$L@GKI;l#H=IWr^A~6i*xKNuDkmcjn^h zLKK7WbV^#2W<5XCqO2TPt-AhN1c`2vmBb_ZehBKhoZ$@Cc*v4*s5x_nOSAOC=%{8$ zGq1$wiN|Q{@*{bgXmc{OTl@YCH`5giC3+NDJDZS;jL$Q$lM(;9dtbh8eaWT1QkqZh z-g4nQ@-YeJUPeA9dF8bG&Ic_;9PqbMjB1Ivw@$qh!HoDOipeXAAh~!MwY9;!nH~z{ z-9;njErN}xMs!BxPVP<9V0QPo2v{WJq2s-jzLP66b=w$Mf&Ckb{XVQ58eLUk0O}09 zlO@Nz$v5}={m!0HmkFh6}DWWp%D-6E=ZqtYu#tC-Pzx-DO4dhXf-#@6tJs5dRxsI zO{=+QEOPiWRj|VH#$J{G90!u2iG;r{MqQEGTOF;AQXfRjpjTa71^k&RSz;t&RrRO) zfDiRj_oeOlJ=aUq@5VN!n&nBxhb zT1N1Co$(KCJYLrrKhVm1Pu4KKgMc3GsfBh-4HM~g7Bhc^Ak9+v2-0d~iL1bgf-54Z z?nEfL0{#Os-!C;M)hu+c=;h?sP7xliL7gXlw(+4`)CWta?Isvg+V*~i@z8$fBo1 zc6@ha%b)cl6@r+OT-@7F>6VzGiOm&8OtomN{ z81-m%wtAcz^^g98Rr6m4dMPjRMO^W*U~j3y9$UShA7JuBgzx@fC1`}8Q6EzPuY!L2 zNwAMZH9c@=l8@@T6@EUZkWh?FoymGa8#u##X3oUlMjQF-0ZYd#NyusqYowGzEFD{l zhEh8>dB3~JQ?h!Kt51s*m25T91zs(jw7U~(HNjR~63w#JJGr+E4^~ceR9lfHpu$`@ z(_4RpaN}%z>q*CFwEA37OLZ{xh`M4Kpo6iX1928q*B&eiVRI^&a8LpxOUwWz2&X4i z%44$Ev1;a;Ptkou+P~&mbbr|cp^EX96Y?kLO)k$Zn_Br` z#k9?1)=eoNU5puCmt8XM^*MATj{0`uNN9CCWGfckhjC2BIHss4t8*oKoG#JheUu&_ z0zE#c&Xac8Yeqlp167M0xNf$MK@eGGD~ykB3<=G4Ht!2F>6rK#SUX%|RE zF^Yr0nFp$6iJt=pBl44-aPXz(?CRGpQW3}V$D()G)7x8u#*Ul#5?J91r)sD9& z;k@PU;w>kX*zPXgazcUaZsIK`jI`YfZ&z{iEq8{uoY2wMg14Kvr>*}MZ~IzAyp6Gl zcpGIA@ixLD;%zs}zsFl&%kAK;V7?u^J!d9(`X3FDFK#x7m zy=A%)Z`T=}@pdID(uYXaGa~OUF^YIwcDV&_cbN#@7GG|`+qX;vZ~*0tG6>SG9DfreuTMp18 zH?n9bw9r&&p(E8Q=(VbA*{~d>J1hr7p@#~mGhsPMSvLfh16yGhwH%lVN0()nPplZK z9#%Yj-6(1~m{>82S`NnU7*lrd=D;7uzcHdX<#pA%ktM0>v<>sA-QWS##h=_QL$Yqj zB)fsUC<~*=!6?STk~2oqg(pb5a2C~tCqfs#7nK!>w$2Gp8kN;qsQ0{z3o&eJoVhq) zSKY-tS-YCAv%MlVH9kC-dh0J{%8+I1pUjSD*EEh^eCVoNzNvBc;x&z9=B{ZRyBISc zzaJjc{raGN%EXy@nL8u%w&tzk*1`HPRf!7H=>4KT9+u4^h@vqG6ZI*rS_ssIu5&5c z9MYwyATvp94x`Fa)Hq3=K1GnRe=8P($2EO0D@mA@M0Eme1Y&;!rT+TR{sv)I`m2+r zS*bTfR<>3PgYcV<`tIm83cdDJ_fSVjy+%vDcBj4eMz4|T7^&AU4G$0t!8p|F%ZSEo zY~nf_{I&8vF`9Q^CGdxp;1yU2<`OHxI8aU-64Uz#tOO)-w_8P=iT*~CR&qye z`LGhK1TCzFhP#sc$@Uqf!j;?so55inNOM>RMpXZ<&8$dK4=LH}ZXFP$bf()6s(|oaanSHLk4SBqe@tXF4HV~df zMb2TZKYi6`Pa+_Q*|Oew`M+rCwMu?4KIJ^=26LVGf?w)?jz{#cLOi)H~(M6%QTA}FY8Tr8!uxi!4pb-4vE_aVcA*}MPV1ZLsH2u8j&ieYEA;AM+{e>r^nGUD6! z3qxgs?x^G-i`>o)mi+sf_l;zUFaL$~?OZ=&aupMyQ1@q%mtI0zMg1@S{mVo{Uy2<6 z&D6hN@8sWC^P`}D$HAX}ihB4}tePK2Y;TBZKS(|NnYfckEO5T6>#4*7S}bbmIq>kO z0Xcs#=isl|M*g;khrcWdnFUTB{_RENya^H!L%jNXTzvfdir|m$Cwlmqh{1TqXgoPv zy`6jiUwQZ+xWU6eqg4-opyc8Ay~`f{d+yM~e?@o$5gl<#5*@UXOC>&j>epY1TGC_% z6tL2)C{n@%HCHkAHHM z-P?aqj@%rDEJ2n?>Y%1pFTbEDTY*@ZN42@^3htt96+HbbP%D2Ref`t+Hgx?JT%GNl zL#K~+==71*$0U#c4tJg2#p9m^Fa0|H2V1(kw(jEbA5L3+WJ`8$<>K-0Pg}iZi-WCU zo-Wzp@xLNu8y@2CH4=*N439tP-O1x$pi}Be41hfXpg_myoo%A|Iz9FI&(j4ueEwI2 z2!o<*9`t{^P4tS;2~hy^p#O_D(JwVugdoFb(Da>s{y$1S|9QH4htL0tV5UC*vdjc# z`-})?Qe_k)hrVymWfNnpZid0{a?eUW{}v2>mwU|Siox%45C1Pd|5h>hW$5&-82mi( z`nzE86U6He48Hd!80<~gVu*#T$arY}cLRgp<+y+4_5c4X1~&<35al6a@CxYvb_`y@ zJx~1p6oXfA9VNg23U0pjMhxzB3xCv|VsO(f{r`80!A-aD|KBMFH{FK+A9Hnw{{JQy z|9>U?|91z2V=W>E_p*o>9BC0TxVuHf;4YSbkHOxS+ri*w^X*{ppJsx=b9K)+q5ztN z71rteDo9BaK+$!9cyvM;C$T(mpFiY-9Q=#FjqIm5eLvDV`;h0AFgFgt69t!r-~OC`TMXlQ4wF0R*QdFg>P5Ftz1T%!?0*7`&ub^h$NZ z`DF5S@JadM6kRrNJ1S$nQ?Qx%r=lhQlrjBXu3EAl5Q+F*)GPQmwu55oo2qsArb_q& z)ON5%@=cZSdtoccge+W2y;CZ-g#U<4)? zww1)S+dWk4ojg=;IeDmRi{MRy+)MmZqTCyX=Nq#7U2fpNvLCQF_@{DO^-sZ*MEz6N zyXv3vzC-_1lMo5}fxMhZLkFGg2V^bwOCBm&ufw8$Dp18fcvJrr<~?4U2k+F`7Vp#w zE|pjhe0n2xUoz-C6Y_Os)S56C@&9&fLX+?feEM^B z+Z@(}CgD?)9B8`HVNGZfYE9Gm_hC)=9#O00*A63YmAu-$RdW#mV7DeT3FWXRY#5%v z?7TmM@!b%G!xmd?32weBU+UZUBiNba@a_9Q{VvzWDB4~LdcFiS^)~(+{46O_!ju0A z@H2p~_aWZ=5uvA-Z6?68j0;yNqzePyAMdn>FnE&{s-T_DYwP5zb$WOUS!@1PGM+Q{UBlnR&ZOW zhd&E8i4~k)AGevDca%Ue6leatZWOlO!gKZd9b;&hRz3X-?-)a`-NMtKgC`5WLr;H` zaL~!qpNU$Hm0VAQFEF&P3x+=If}zv@5kr-GGpk=}9$Q@uR9epcZhIIwx*YNU%eCbC zSKFQo@p%2&cFlpK$qpP%L_UD%@&D8vN1dz#nbj%6{nh>1V*XRxcz1+!(fqS$t8F)0 z5nRxA7;UAt4T2BrH?9MG{_&K8{gYLr!u$ zf}=Wk{WFsjnEde(%$b$QVI9+gqeK#AdiH6QuWEyH{$$h=i&GR{K7c%|m}+Ld9vHW& zal)!?+#Fa22IF&*Yq*V@WlOG!f!&Q+pG>c(*rF;@HxVl>!iONfT=`(qY~ddk7|N~+%<$Rb%)nYdn}?|}T&`Bb-`j1zCf)AJ@`UOOQ(6|yEO z#{9<3(tnX1RFMlwhoEE`?5Wy9zY6<%eW9=8{ei+9NIJ{8FwC;br$6MMc5huwqO zXuSK_mRy+wDT-N@#gfdt7*?(}3iYPpt;E+nt#Qxj!AU4}G@~a+mUv@EPm_?WZ!O|6 z>kh4aO+t`9yp{2F)pUjDxd$S3A`zz(CPnICU1)Y=R~o6)3z0hEYB7$wQK+|N)P8wc zz6#MguZ5Ahvev;8x10;LzNbybYl!t#tvq^`hKUZUYnvZSvju}`rXyDR3Rb%NT4Xx< zA=B|?#O{PvkPIJZsfc7d#`)qz-s za~_a% zLu-hfvt8MNeHl_tvJ}G@R=SO=v@oT;aZd$mG^B6i)Rrj3FecF$#!;mKy5-L&tA|vf z-p8A%h*L~Q4C9c}!H8i@K@{V#(&30_w8t@$7{)g6l3W9&deYqLb*TU6x0|Ds8qKcb zcUyz18?#96V?3_5Svw$O_&JAkgDTe*M7kM)(+_^*o-l=B&X!yM%1+29CkhivCFc_N zDH0_c^8Q|jM}%A@7Lf{!40ok4K)3oiCgMRzHklM-dRzQjA! zjbzE*{n@gqar)wDHU_8gL{OTRt3lt3jY215>;8aKx8V;M54y=lCMk)-YZS&%!sx zlsJ57MT{FBywrTOnyl_i&24Ks>>5nhEyqmOc_hW>%jTF(5y(2PyEt7&&M9Tq8-@D~ zncC#-;QyvcsAz$8HZ7v^z>lU#tvxSryF(6mtNPm(Ot?ut;QnfMM=@%fBQ9|0KUcl@ zine;!1X;qhm5YqdE+I%6Fo~>*@jhO|tdz(dzKRK(JT-!{^+vn&yHl>w`D;|p& zwK=-LrWVwR06xsoc{R15PAAJWzKb;&G6kU=a*Fq1+ShNU9}w+F?j6z|MU3Am?v%L! zb23MFp>cc}*`o)sr;O(Bw1>3E;E&Dgm%!}Hj9_Lik7DZ6TJVJF(WlX4l?)lxPrYSK z|EV^t235_Js5&2M$CgcvlUHqOoLadJwL6I(m0M2mWgGV}bQ;b_jG@kCr~|o`m-7F0e2KYD^>Dp zc)s}wSt6b*6cq=4ivJOveMBSc|t?<{UHN(MQ)4^ZU z)TxMm7UOGCeu(nd;gr8-04GKw>s-W%WOHIG{bgzTp}&FXZ-6=p5xZi4$x?s)Xn%vz zUm}oO>@UdNvz7k3YQoW9H2Uj>S_wU*{$iy5!fAi8=&vU#yth!OlhZVD=@1l8GTP2~Sr>4&h=ZC-_6kMRGu!2iQ4hPlzZa&H?*^rq^8 z?$rrg=qMT)FU34(h;(mdw}41lx=Pyaj6rdWcE)Pb-$8@Up(lLiz=sd3tMG(#bQ3NQ zF0;?-BgmtfqszP;TV|h^sitZCbl54#zKbz+$__4Tv5f?PnnR3jz}ZO#FS%-K40O8k zg*9}JF5+@V8QBGd5(k*R)1CpJCw=@Sot{DXd|WK}d^&0%ycos2ozg;=-`0lU%vDAi zRlN>1KT;u;lPp(aA3bvKHg21NTxH=tk;GpBuis>dD2uN^9c1ER8}+_)zr_buxB1k-$fg9S#Y60Nvp!*x`fKDrtv5 zYm9BBzYI+;^w$^t^-;&EVaUkEjdD~X!OYN;`XbA@Y5ET!X)fm;)GyN#fBR(3_oIU9 zWK!LZb~R~Y)$3od+TB+}{`LX=5ubZVMU+$QJdwRa?Xq_(Tr8$02^_J%zNb6iv{RpC zfApp8y6Qb|L4D?G(w~oBxL_agr`02+to=QxG|~f^>ZG;^p`IjA&q8EO%+am9)W6I= z$D4rnb99B5BFpTvRBD*UZ!nT-S95evT}mk2Ft+ca@+iu&`$j)sG8(4ZIPNVg&yEwXv=xqL7yB1W0dOh6<7b^l6i;$?uH3NlG5$g4{uNmjQ?_DfGBWtqQ*Z8&8 zVYi^7aN6#9Yp8o~c50J&U3=PYwl&aEujf}sy`ICgUQctbKXy2gFTHlm*8O57``vzZ z5SjR>E?RH5Azc=(p~lx7-HCd8WZz}sl5HA)S)a+C@Sw$!Y+zIFY=)ZXD9d3+O z)J};WX9VS>TcawH$}#g}AV*MXu}hIx&3Q^E$>81pvH9)#TcVR<{%Kp#?z36RR8}nJ zAGdWtm9KXpD~i_icw}2ef=;{)@%TH~9FHf;u^rEjaj7TV#mNsD?No8cTu5?gmvI4z zY&h#HYMUev@Ez`|#c$Vm$c)Q48_q{xy%jF8dC5&JwiyLEyqNj<87#xg5O+BR(&6xt|}PGc&)YKYWNYE6399B|j{T&P(G&F(e+T{G8;EjdLv zL0grYkF?s?542U0dH)6b7+1pjlufNquU3Bm{#Bs!y<*q;E(_hPQ~5AkPbw|i^J-a8 z_xt8WBgllS@5x*)iz@$3Urs6M7>XjyH>` zXOZ;yp;?R<{s~&;Y+bea0HlwT-20Y`l8kxW4~lfzU9+79YMC1^Zk4zQg)-{7*W2Sf6<|NWF|(h;>b4eRc%yGzvfJ zhqgkMS(-tRE=NGR9FBTYLm*ue9;+hKC3x&0DqW6*bU9R=N~O!og5KPxmHxVFdZWL1 z^w$sdq~auLH9?YAd(-|B(O(~RlGLBZJj#W~DorAf^)L}0`+y6NZF3VI>nZWrf$&}i z`Piv(XpO#A3W}{658is#7POohGJ4&Dw_2)6f1eoj7won0K6UWcJ=L|Sh1Z|Fg-bdLQ-5#Dnq836uCHu`V_Yc7TuHFR@3|0ffdL#b=Y#x7Wz0Stg%q(c>guE!z|+-f_8Zd zHTvK!qBZ)!|BZnX{~T{@PwltMxF#d1C>Fs^Wc5OYtu;D$@&-B}+>X)#syN<^4xTc# zMh6*pOb263-CLonE}AZ&s|e6lIJ_|3B)aM$(Nz~pS3N;j-PKVNUG*?gx_XVstJ4jC zfF~^DCL2DWT<(6uvKzQuN4pQk!Q}!Z8%%ViPqm${R5kFAxN3ebTrR$5Ah=wTA=aI) zMC**C_qC<1!jZx4)|ZP7$Ah*CG}s(mZoh-e?FEniO zxk@wa*IoucBW5l`}D6cgH4q&3K}86VYl1}BTIK73Ig*`o8+jC+S` z(i6+)2*hTQ2$FZW3;G@#6I^&%4Ya;6)L11oRC7Q@U9sPLpvJ0bT`A@};5r#KR*5H6 zh0g=9=T+Cgqw#bT9QMv^JkQ(kmYn2H!s>aFYci-oXDt<0cS}@8s;z!5Q5ku^R^ns3 z;7?6f%6E{x^S!=3t+u+1OGCyu(OFX}^}-d)olybdE|eR9yWET${9w4dRPd%@AmJ{{ zqS>X~X&bSHEagtxNUhcTU23gn(%tV|Yc&PCpVV5724Csn;44qoB)IQcml~_HU{74j z@3BpH-~V=9Orn4^+HQ+&gnMuHc9PCEfVNw0i+AX3&NWsEU$Nzqy-8}Udhd8dr?U}y zuwOOV;<5X^F164@Cj;Rt=8G-#5M-Fjw=fWHGK&zs%m)36gYjoKC>Z^Zf z=|l9&*=a|ju}<*nuZ90VxTW1c`2Vf&=quD~;r~}u3KycX8z@Z?zkA;u3iTtp(HH}v zt1?hoU(iLWmC)7Xdb@SM0rmgGa3`m}YneEA4Z_2=sr+nxd-V0ERtxTXg6n4s%Jwa5 z$R+*!EcM(KJs-r}K>Di}y$44$4FYTXSzE6?4qYj@J$OqT@@-~EG5dSnF1>waai_Nr zEv?hrYy4$cD_ZF7HU1o~Tj=dI{tT`Oz5RAmdV2ykJ;H0qbAE39-{@@?Btntiax8b3 z-Wr5W*1Jh>4Z_pbThrTH<~yUe24S@I?$X;#vq*2#&9_f)_nZG6y$v+qKD~wEw{Avn zCAjZQZ!2Me%hzpfYN59eu~!f?+|)vEyDU@qYO6E7J!`p<-X1~Egx>OX&o{Nu+ggjA z-rjBlzjid}?9nJ@QjZpTs{wywqQZ8|*kai45^!D{&U#0!ueaZSoAWj^8xq*$a*}0h zN`ITP;WVrmqA$%OmdH2Yx86*7+Z&QJ_ZmOY;#0Gca=K(_jr}aXRpsDwqBiv!-wP<@ zS3QARBH&k64`o%?{~jcJ{RH{Xv>yFI9#Zy&3?#%`IjRM%+3h}N*cSz-${IZJFEPy;_-7uVRb(^Y1&(|a_w z?DRqADg0my*#lm%1o#qNWdV`-j#3G*+4zh0yr`WlIHGORp3o-yqfT?r2xjubQOu>V z+uPHdjIMinz42Ci`jE+aPk(1}-P2#1Zrsz2bWcyhlbqz1!DDxVd&6|+dwQv{HDtf@ zJ-ys?clUIjsbx=BKo2K!&<5z?|6lLvg@)VP)6)&Nx2H!NZhud|Z*bnzRnR%|b>B3! z?CBHGH}Z9#HMH#M!^SE6FQ`Lug4<}kaZj%_xbNwQeG-_$hzO>7MikSro4BVLoIA&S zXpg{>BhnKm7}z5{DSgW7rs+LQ_}{RW|LYTv-ad7nz2WQX9jsZ9@p02WzrsewcR@z- zhyJW5JN|Nz-z?pb29G$8Q-9QZa6auqdwDa-U!sj4YS85+e;Lo&6j6v{J+#*r#)L&L zNdA)H3l)jD+lAhJDXcK;npWZ8#iQyyCi>W3CQKHlN-capx)3dOOj;Lwl7>$*uGe9QSsV+@BgkXe7{i(`$3vU?@>%nPgGsw3VrwhPaocvq{wF)UiCbFR-^x9fh<;5 zu!Z$**zf%rPH>d_??Vm2i5d@H9;nfO5yTeAW5-?kS>85%MSfs94zJc|^!tJou}cfY zJ45 z?i>qJ#(po|`F>^)?wrc=iIvSwNH586n=YH>jXP(;M$VNt{46JTM$U@Kmko)@V`7+V zMTO57$YMV&keS+jEt@gb{seg$;uFXM(?81hGPQd)W5!tYvM)~&yR5)|Z`q7=+}oe$ z5qrRK@4$>9xOXtmGuC^Ky`A^Wc-%Xb=M|gbxR)_A3imX5-m%LZ_m<5J#l2&B%Gd*r zdk1E=!@W}rd}6)k4#sR^oU^@VDRJ*i5Ia}a@Uu+3$IkNL17)9J#opmPJUy^lDt&lZ zP#qJC(?Wexgq}4q`CC}=slCo%1;gYG`{fe~{?>lYl64k$2&@$^GkYVr(l0;c=6ptc zq5h%j+72wvo9w|v<8Kl}PI*oW#R+HR^$&gFdkoHej$mhodb6JRjEOO&2eP58?~%#b zp%shMyXQ^M+mv@Euk(!dl)Dnk(j>?tMBXRXrPuf-{rD`LEdpE8Yka-lw`!b|G;&t2 zfCVH@IgZN?oIrJK4;iD*rsq|j;GTw_eS+H#J^KW=SDz|MBvKrG=n=b?-RFp1$No^` zcCvzNPkzKF^;D-DrEk){uSj4< zOdHB<=^DZOJ~N6rgjZ4*f$2?FkDL%1%&Kco;k?j~Mo+w?dD4r0J{{+FdCE)Lu>FsC zaNhFl>p7A8apLR*MwWC`rNEhv8&%#Wk7g$B>AKLc2EnR-#pJbOTytUC{;R2xv1!<2 z!lT6 z%U?k@L$qHBwY20y8q(sLtoIXv&X$#f^u(qU+<#zWJ%JkHD)u<{z3tU(dAV=JPm*nA zp<~5W$ilU+`I=VOJVki1hOByL>vLMNGZ(sy^G(})$2cqLIOjRWsg}n1w97b;NaKvA z4lc#Uldal&E z9IYR|MeBF5n-PP~zig3LzIltbtEIM&q3u$fXeX~Yn(MstAB7y*LEi!QeantgtAq#k zw;VfvvRPg!(!vGl&UoA*aZ$&)L)P<%J0yKIYK^D|+N?bSJ4HKr0uvRAob)MC%y(d$L_OlhdRx7czYhfktGJ6EB^5GL6uK478vC zO+?5Nvlw#1-H)p38FEe`Pv>4qSF1uR(wkrL_)Z^Os4#h5kD0+l&gYoa&8Z=KUr&w8 ztIBK0>!SGzC)%d6&z+IQ%+H&Tt3dGA!n6@McXX*q{%B}gH2V=~=vh$B_Psrt3)ABy zN_jjll_f13=wAFAd(o$gV5A(@p()n0(Anf=&!w;B@3Z>utjh|57a4k6@ml^~WchLM4OH$h-U52K&a>wmyug7A38>^xA^Y-KpJ@=sGWlkoQ!)bp(32mCa)wh zWB!zij&rZlk$-~NvE$q?maT3h|I%sXTO9PRLjLHSf{}Cv%U#CtnPr1x9D6X1Ql}Z* zWwFoTYH0>LJI&xoI*zC4I96E--Nx~*(>PW-#*xzeYjx`s{SD%5*6?+vFI!?VZpv>` zge1&0p}PYnd1aql&|QjfkJP#rt%F)x-&C^{SFzIcNK3na7{fTJ*H_VN<}F(%NUa}7 zYbS5qKlJ^G)cOImcJf{PL+ebbwF<3AB97)b_qDl;6Q8u>$UvhVN9=d{;Epo}^)ycA zk6O+m*O2h#daVzAZA6a2Q6LNX%j5N$HpteWiS7hEnHI%t4-xU@@a%5P*r`!W(>)Q) zD7^n3STh^%fi)SP?4GeDwJ)YK(JyM^@)^XN&sxqzfO|%C@ldBerXlasBGjoPG@urr zog&XslE~$?{G;Y~vs6?XTFa91r%UaN~NU}8DV*8K1p3GcPfmkn*7*Z$Kj`Im(LW+w8jyuYDiue z@X`mIc=M1il4X8i&0x@7I8F|9qfe*2+7#gl+A7f5Hq(79@fAGo>MNLlc7)p+ z42sI^mL6}~HdSi-H`)$$YCDGXJJz}1vNK|@Kci(yt1XEHBewknZJ$MiDAwN;0(!XS z;HpHPtbrsga#cbNc+(1AH{qXEYiT2GrKW4_eC-PZ6Cqdge70ugu<@~uf-YlUYlxBDa`|XwC6L7P9;n7 zU+2jwWUE!gmmi?+fH+F!z^&}KOXn8*;k0-UHQ~m)iF zbKm(F~9^eB-e=-4~x79I!au6R-R6>V?;R zc=cAdA@%LI$VSBED~BDq$JZpgCO7#d?lj4(D$}0~Ww@^kk@q>AiJfrzGjQd<^A>|I zpFfRCB|ao>%CkIhC!xzq=o((-ZFa6j+;(u4cX<#jrXjfhno&{Np~etCnw70X9E*BB z_p2-oYtYL~R${V^{Cxto5RwOYlm|Ox)%i!-OB6W?Rzoq{x2jc1bt87f8vc8I8E8rz znNk|rSd7evjw}l!^L30Ym5%JX)5s3ek^PQ%pW|Er9a#^IY-5u1$W+{tLi^ZeJH|Hl zNNoOmr+s*{Ox6l%&pw5HReFoIDZ)$AuAPR~i?ooTR5_!@ag6MV20uAopgi>mO;V#g5(i!m*i#vhCk zExAS86yY&C{?)t%THtK5Cdw08fjispA`ua5`Bw}_v%=Um&}rB5FCr>F$48SDge$U> zo-uT&;lqJ)#mIzN7fDh4SJ`nckgm%}MBN@o{QuY4WK|A1qU4V{Mg4tR*iMQ`N@;$) z+AWI3B_ie_WRIW)2zz3LTDK8)#t6SeJj-#80~#Oa zyba}}F~Z8#xg=wa#2^0p4Il8)2q)WQbcCy%M);S0xnqQ9;BU|IdDSt(WBLv? zjW-$LJUYV7bc7%27r2aY>JfX~asWY@3e{cInecWY(eVUp#25O%|A zUa%rQV+gSUI!*_*x085JSK97xYlv3b-;pKmk%CTD9jmY-SM!Ig@4DOlo!XSrHlJCG zTWOObB-7u0*P7UBtM0T_skO5~N z7yGA$7BRl?JZ<|N;&U$|L+p|^i1x$bZ1Z#4v-o=*`dYL07u0w>gL89#f`@>dom(jM zXWnQR!9+}mV%}&Q!ED8QIo>bDdt%Et*d~H`eq0oz4~$^0;{U0!QOx~#ornJe@qSN0 z1e4Z{aGvh5xntJVda}#e|D@l;4*QLq6@4F~a>*IdM3Y*>e{7ooot~T)y@r1eI((Sl zILIfYqQe?~hs~#YT=VJ|L7OzDBOdbAuabO~0>9UB#J0w>$G8=?v`l4X4{7IjIU=4E zy(P8x5%HYpEvbW!jB8%G;F6H1@68T{|BLC#toOj#^b5?g$T0TrytX20xyG{D_X^!p z$IkS}+W&0PxUZN?tM6&6&n@4$w{k*(PidPSmJbpAaEyz!1>-E^bJE&*Vr93Q?U@$j zs?tnynaH}5t5Wl1K2=Z7_&%50fPABKkO`Q*aeRNKuYUxSiMgNdC$15heL3gtnR>Nt zBx)vj>}K{~PggXk%4-!|8-*;%Tm8*7Ke@u>aqSO1^P%TDFV?HX1ddKB{tPO5vfBr` z!uf^VpM{>4@#>+LpOq!;Nu8(x z|4w0I^=A+-2A(}k39Arz_8R_ctBO^W`|VuAe}VV`m9Iy+|4y<8KD4&2QC;mx@B?zR zY@H}c9|XdUp)%%6K;mQE2J0XChm(Scms7GSE;`ai;?>iR1WNC|Y?W(QgF0nNtNBaj zJ*ibk!usytTg&u_pIdiPm}v8={E+c1Pvc%ml|`mDFPD3>Y@R%iiTXA#hFzN1BYuYN z?I!O^;6%>kRPV(0DrJRfM(6ZkR*}?$Q+N!U8O~)J;?n=>stS*Q6;FZe$tdm<3);{6 zd`9vN^1X{fn5{ptC`?#1V}@>RQ!?Ahm0R9a!&-+i`>0p*#b%$%RV{dS)3zzXGr$be z`Z=_ouYEggoi=dyA>>H60Vj;cT-z)^0>w#|G-PCG`zqxDnkB8mXS}6tO(e|)RbB1c zBSzwcveIMRaw?sC4m3Z;{c8Cb6;iMYj`-Zaq&#WDb*?xf;8U9aY?ageN;yqW^Wh7D zyWe#hVYTIL#|XF65x(gd;TES6c9uqX1UktvZV(;e96G`x%WEzpoOeXbD@` z1k0nNgDR)!nHXisp8tbK)YqNh!T?pWj!SNkmG zF*8j#E#8$=I`xzyw4trWnS5LAOHNx2Gg;husM9a5p`(g1t!T9;vWr*q_n4m0h7ucq z${rsd01Rwre30JUm^NTLrV>PekWZdjg_!wORvs z-f?ifzqG%?j_`-}G&tX3?eZ)AnYVo-nC3B2%q|}hKUusE%Z5F{JAzrQj9@B8M=@jY zem4G_vyh|aCE6Cepz|zPQe3Ntbz!n53D$*4nwiU)$o*H-BR^=6k5lgT**y$)g%BS# z_?~wSkvZ4!!_385$r9Ha2&+Pv?;6VW2paY^`|KV{sBnww>b<>2BMXdJ6=bg;v*^*ZU;(d5PzH!04EOQr}9B4TefVw)$q?@T+#r83;hXGkl#@rK9_ zdn-vIe46&wWLV(7?_454@@cEnhFR{doJRHr{ly;)74G8_+t5)hqisGmybKTjG3fvI zfX9=y5~FbmC$FLT!z4DBTy57AE^ohjQ~w}8&U_A8&S`=g?md=GKI?wHVx3C8u03ZnbJPxSsY4>ot~I@rCE-;?Jv;n8^8^<|Tyb00dVLoH%ij%#1!6@y=V%62@y;A9ld(i#(0`gLhaka?&JjNX` zj>L*zr}|NCYA0#EYg417^{!1##0l*ld=FV(z72I6nFvqBPW5KHbG4|xMdh!T-4Mv> zB(;-tKHC_My044V>itODSoGh!w{eorzocy%^q~)>WUe~GY^}e=0GX``14KU%9%prSa1OgY90~b74eR}+RsZNMM zXWyri%s$RRKdzg zM&r0)pOQ233`ai96LGx(t2lkF`wH1x zQCi(bTXoWJg%%&;L$n3^JiTd{=$NNU=*VHdIgWW!8|?Emt~vB+ah||?F;6jco~F@x zddi@3nWsd@Jauu*Q%dt=?zrUiq$$F5@TOI$|No%2D;vV*xB4u{@GPrv{vWgkSMF+m zVmdEh&{kV)pTHwcaUw^oUf{XIf;?5R&H%v)i%@E{S2iG5Ypf6QLlGeZbjZ1?^`);` zSR9XWjNvy}3Qt0}Bl`!#!Gr_3=e5zm6hbBfLw4%J>U9+Bw?~uo8s% zL2B=4*XZ`?3HNw1Nz~{>?t$G5?(qOn;25_OJmeVnCVEL4sH_kunh-vArbyK3$oq>$ zqE<)VUoR3hwwWW#Xk#TnT~Psbj%s(rEq}rmJ`fQT(Qyg-d`460C-iB%r-^Vc+LuB`)G@qUYQ0olgY4u# zr0O>0{r81o`AT@c4`Nr4Xb@RK7NhcrG|H}#Xb`zkakazow+d!poFRKVvt+Nx`Cz7A z;B6pszP(~gULekA`m*b@{U7P6f)LGLt92GBue{NNDqsKio0Q ziDRY+6Ce|<;>TO=)rQTh7xvoD&dz%{&0WHG`NmabP^{vU5eKx#9rv7Mq!gh8ZP&vR zb;5k8 z)mE`|ZoV}mbJ&$Py7bkKwyHG;v^p*W{l!h@=2m}k1Z}m_JlI|Hb9u&|wAHibF!#Qk z(;O`Z!iP|M~S^+ZeDfoX+fSVnG7x)+0DK9~$FF0yp0BukH>vh@89S$Z`;)-ut76Pd6O zg!zb4N+xhZWwFcBhn*zpquePg;Us?Gfk(Lr%P1#FI?^FY$2%nH;Yacc-Ykg7w+P3~ zkp-S?;(IosD@NKIb-KGD7r-u07ZotQYwA=5O!UPwRqlJwNxD7^sdyEihpK;WyVz;B z?4xbQn!a#v{mt#&r0W4jXX(1H(OJ6gWyJbhh-`fg+PNoQ>$S7b z^k??y!!(XwAf$j6{CxQ7#w#EKll2 z^zAJ~!p=dB^Z`Xd)aygur%Kgd$oq~(3-ZIFPwgc=GuM7DWTL;>8@to1VV`Fr>sdFo zKnWQ;71FlhNEVxrZ^bzQiC9Czb9NO5p+e#!KbtVn)E{e^%vNwFYc5^a3huhqXV-&l z--0mqWo|iS+Hf|M>uiar{2(<&<5g|K4kYzbSMz~*rcfU}t#v{6oENn(=p;#bHE%Vk zt`2HX>_eD9aJ z-wp3;eQ32T`)+x{R1L}%_sU$@Jr?;@Ng1ZA`B}IoJEgbFPB}q$iUAcij&X6Qb##MYP@so{h>*1Oo|zM!p&3?IAq z<)XFJ&{mHdcDlE+Ya)`JBp5lytN6)=Hm%Tkir`IKWf>&ApY&oZUxT8TC2Zf!W=N&1H*!at>;xD|eU$oh=Cb z$9~mBYo*(-w6V-#O_kBc{+0dno?8qNA^}*Q^@H6sTE>1f0=04 z%3O*WDtva%;Ik`{SRo3>H9z;v5LgA~bI{v19OV|HqQFtE+DiU@XSf%f%U-=P&Y@cm zcIejZ5o%c|dKt3o-Z~<2e?cRdt|5YniHvlKVX7B?F_0Lh^V;O>#p#v#M?a8!#Udl_QrkQs)u!|;XrOZU_{YG?S8{7AJ&ilRXy-E7}^Vj2%+unO|_B!XhUa#}I zAHG2?vPfWs(+=8@|JciZuz5dfPCMmNOQsIi;Q*DU`X_3KBjSddLSa8wmUFqtUMc5} zLw7IdDqvGid_s{ImVe%3iNBfFfSr2OPB9`gh{iDJ`)|@(FbPX_4$a;0G^%xI?lw(} zg;urK*_-(v-E*LR1d9952KQXnncm>Y;C0#rXj61HH=228vjtdOhGi?v=5ydqXJc&U zp3Q1;Hv4^M6AG_FIoF-d<`p&@YUh9SxbJM5r+a4;mF}I5C9Ss}cDan&<82UZ;kr18%yR*jhPG=OD1g; zMylbyFocTlcRVy+`Wdpuv-z>keDi8+!xHS#pxye9w7XJA-mFq9>}vbnROD_|Pc_QA zO|Bq4!Vj&~9f zKEp_VePZI_>O6z8Ko;|MGUB*{AD=w9CR0JUbB0Zcfrlp2$g7rg$g~q#lffle`!{(a z-+CwtnN59?1w0z*c1@FH(hD&);d~KKG($06kyCZ^y(ij#L}EuElRqdoo8MCxRPc=V zocs^yI1ze1pu3t?o|RD+Ow=8>DoZHt-Z`!Fms~z)V1I_=dv%ZdpY=Xakqqk9x;Du4 zi4ER_?)!rLSjOLWegQp*^4l`rj7WXIkk43`?NKBz-&KChqSLGl^J^tvr{^o2V?yQ!q*#%d?GIn zMa~Ql4x1Sc1`iJFB{+<%(Z4Ijp%261HHO0n&gsLX{GMWRbNgtMo7elB?xt>e=sMZZ z<2#!-Iqvyezdm&FJA?Y(@r%DL?X%|R7*vttq(79z()yb5T%Kc>{~o(_E2gOloVm#H zKorUi#prbr8*7du-8@L=u*|jV*z242r`hZ4_P(g%DC7RAYb)6+xls)*<`uiJU&5y( zyRc`%r_uItyvupb{22b~*CcvdEPcI=XzD%K=oV(FbFkUV(G!fVX;yB$gP;r}6czwTBf+19TeSAdk!^?B2kK}6|#^)kT-I9)nOuN7s!bf-%-D^yh4kAYc2=w z9OluMmhmsu4HdPeW&8`&%2(+`ZD|?*9ISjnThdeyME6h{!KK<#8FvkKemU0yc77Sx zv#vk1rE6kFVW_ArZP0cTwWST(rlye`@bt0e0_sqf$>IpxH!p!0x4MTNr0|M+GgO430?G#J&>vYqZ0}c=ah0fTFXvh!Z>@}r zbv%W=za{Q{tY`0AdiGvU_x|w*vLqz?dIx!A*?bndR{ysa`zwQ)V?*53H~u7Ox=cnK zW-ya&-bY@$8eL00H||f*)?)u1LBno|o|{|n+>k@< zPREf#?7Oj3CsKILv;WV~IMaz&m$PaN!fiC*W>V2g5o{DtL6-#{JB4tIStKd})fpOY znPIAaz1F~8Fet0Cl*y@Vj~7#0;sfU8dcUFrXyIM#C~uVYP#p@_-KO3-=#xo^l+e!E zG~T+5|G<95I=mTj(bx{Y!!jJMSO>6J2|eRpNB06v^~VW#r7HovKs^0_b@?M%`&zGmT0 znt4AuP1ZxhDbf@(sCQ_6+Hd+Sv#C$M_gG`z1wGwG!j?FF;Dv(2!&0n|v2K^^I_*Wk+XWA}!uzZbSY4Tt>iD9|9 zUMy?imn-8sGb{(%4*FpEvjoe75-eN!N1J`HR3qA)jl0bP*;xWY- z{k1OlxT5dtag4i^zl{ERe$vtnC)xn58Qck1bALEt&LY$V2DR7qg1>zBS()b;)J7L- z_#Wa3yokK_rTnL^3lG&n4>PC*u7lU<-a4%`{^HGUv7=9w*Z*#}%wm2DA-lzHneH5i zT&u@K|9b=GfB)TF0Y6v`@(3PmWGm;qojwGp3xEt_lB)Np|j&{Qfpr}013`|gf>j(5OuHBe^8I6X ztQ#3izdYm3SSsT>GRALgx2whb2lw>iF$#*9uy1fZ{)>6L6i98u!7zxiGV=#G6c(8oW zY+)QmU0WHMPiv$WEkFh3DKJ32QuHRmobNq6a@LNEZtK6m;gm0BVuvsxJqk zIxHmZ%8lmS$K)#6NcNL*Vj&YrNKqxK329C7yo7L_64vk`*WbwZr*|}F1yv%rh zDfqY6M7wuH7?D9Ay_;sw2fRZnG}I#zz&#dlmvv?cs7efgC*uBbo~ZuU`Z&6=L?g>O zQkR&}TQ}+6NB_=m`I+|q@6DKJEIJ{m>U8itjQq;IrZ;H6802#7Qh0jC>`x4^%7X8h zj+&Ji)eSr8p7USI2c#RiUP=1K>`#og%7bs4w!5K2&^cz_`xt%Fy~=;x9c4(j{%rgq z@O==?0roeyOsHT4rruvT_wWA1M5{8`V#+dmv7B`8hkxBYY`mD#J~jfTw@kCl7(=0~ zS|;yvTR#7rJ3q}osO@lD_P)h58GUPh!v96)kfKxx1+<5J|K9nUhXVFFDFrmpO+{W8 zrGOGx_I*Rhs{X+D+gFFN4(tt)#f9_VN_YQ#JKg;i&gcDhf1Js)_a^tw$Jey?KUpRI z-FQnwbn{-yUw5ee`OHlrq8z_~Zr)2_|DX5w61d^S)8jaU`_6I1A5QYCC5+yR9N0Bq z-j?X&c?>4cu?lw)n7G!?mawiv*Ny?DhxQwS7(*~PcDbG21?m2@)K2e#bbm^>zsSeB z)c7m#{2OJ?qV_B_vIC_9&NU1xuT z=S-2il>Zr3yJeDj`@d~+b!E_U*yNt zg|co3|G*<>;vyUu(N_f&8haD`S`Lo2fM-*`izC^Wpi6~!BKf}xJUig7%Qdni__lc` z^48A+->xqS!VNi{J`2dbHY_xU)?SmI^uE(4^qn}8@T)a^Il71S3B0KY#SOQ87XCgz zWvsP3p%vemXB+Nvt(3&_9_QwJP4o_w`zCwJ+qxgak%5WgL0UN$dWdw8BL|ao9cb*AGVgbIz18|b> zt7^8bpRUf*xK_ox;)d*xx!OEOp;v2Outp{8k`t{_q@k{P!2~_&T5W2U-vX=JBDc&M zesxY_=%p7^0;@9QF9Nb%X*-%{{l*{2v!-h+*N0$)4zYtVLI?6*itMH`u+s9py?8-&$aSo7x2W`!}F!8O;6jEB|Y??!0Z@5btWFfXj>v~!SIi(l8=-D1!WE8>+Q z(}xoHrD%=*Ys2Qj3hZ0b7dl%=?uh%Vny6R&c;D2g@wTAl1v*W2LXUHjumbMR@yvPjaVbtjgyMsu3h>hciz{kC5K)vR-e>~4<8Z>Ue?w>9Fu zuSq;(omnn6^^7$(;Z{zpx>na{n=Go)%Eqf*xSv;vD7{c$NIhf(+5ST0bYgf2B=P`O zf1Ax)5Gx)PK7>^SX5)@bR0JYJN)t|RPEEr8nrmroW~aA>c;hg4{Q;!%hwvkqxKj8L zOxy{K(y*UAuc0K~I3(R&ovGo*rMv4hHC&f;($S5XcBV3ibX{qbFF2Y~)=-f{x@owG zv_`sgyiG&uAFo$@p078|l-Yy$EBe+c#4c|fuqH59S|gpQv4Cm{8NRUE`(lrQfjh*8GZjNkc@R#x_zHnCh-)$kV5 zRUMA?P_=NcYNEKRj^^%F9l%!g(k$t!3YEdrG9$$s78(&Es3+tpdJU2FKB|dHp%K)4WSA>!kO{5JZ0X*MZlIF*n%l*x zdU;ocDK!PLT-a2?>=KYW;H4Rw7tpV{dv?FT`ld7!^f7GCwoe6S2R)P zw@L^oQ0Dv$uOQ7cNJ5^0cjn2!ct|t%%*Tr}AJELbucO$^8~Dsz=s{=VDp9R(;##tq z$6}nTeSK$MA({DM$;`K;6``-sUJ;)QO{MsRW1M46-S{*T@!8kZjgN}q6X1i7dnZ0) z_?X~VHF7tQX+O#bpC>)F)$KgB)$ui>AJIc=5IlHG_@|r$DsQH&*1B*m{o$3|_3Dg9 zc)$a4m++Ce&Hj``&#JGZ$zBmw4cMLLqSS!gs?w>AN4{#pzXz5 zwgE~GJSxy1Z{tHD^F_!LfXuy4siX{%X*Z25V|va>fNn)%M*a4>ogRz@AXLNmLha-KsWY6*Nejjwoh&A3M8vv z9~Hz~vcw$-!l)lU5?U`pbLd()*$Z7S4$rc6_}!7{#q~edp_e$bA2DjoBcU6M(8YjO zKN6Z&TL)u}*Pw=9^$4Dbw^Ua(jgj6SO>eAdfDVo}%RF>uqZQO^we&t| zo8?XW3w(Q5ID@Q4y%_kvt|>k>6gxj&5&!OG{M|+LT)U0D`!aJSI*H#v-u+p;n$4%o zf51CTdx-o9zrs;`x@4Ar9Y_8!MUouYBA3n!_Q^4P9?%SV_va!>r7@CBYKnO9*+}wf z>vm*X6VzLui6j#Nd!aGzOTzoB_)gmh`QE1lTc#blrT#KZ39U$xYbecyR`i&URx|`! z(JP*uxcA^EjtD+2*qkidx0GL0cLGro+Rt_=Z$P9zCgewEb&di*zE`J4Jz7sslthfw zuQYOxp{muyY2hz6a^vd`z~AKUY&yqdb85H@iC-eeAov8RzIA|QH-1y0!23PMgE*7r z#=-j2IF%nOjY@ecne@D2oRYFB<*npC=+ZW5Ch4+Hgvyvnq5fAYR4A#DKliV#AK;C~ zC>96&$#4nh*dq9Rg1<2`MNPz==VkWNuatYtsKEeEV%3kU}2%hM(mm3`8J$soC ze?d&hi=MsAanQYN>WRw=^tdg-yfO9fRJt3)JF|Lah7mq{x?bDiDR}frC%~=->`rqlc<`j%T5Xo)wJ+fQ zzovLD?bfOQuV;9?4VA2~oXzq+o?K;K!15#>`5i`%xBuzs)_QAu9C4gLtfm2Si;oLD zy9b{qs5_C^9|a!VaWC!VELbNoS<0Q(gs*sI*fUmT8|p9k!+;!)XykB2uh0eRqTr`4 z(hfi##|K9GbZ~SL^88j9NJrG3cie>N>~X_jy$l-tk7>~K@5<8^e6TunM>hJ-EmIfq z9aR|#TN7TgDxVt#ANpE8^)|6L{W4uQ1W&dmR-5pvp=j5FyMMdj&Q4jB)3U@xt(*qH zFM#>jDd%bK<{GH3uDScEL7sx1;>a67A6bMqMs+|hS=vK3>~)gR=B9>rkzJ|T56V{< zPg=>u!Qto6m4N{Rm& zftg}ZioCQ*@?5>FM{q^&dN>s$4p_!;>Z5;2nR;Okes?!7Q^nt#zZ2grfXxzkPybwL zKU9sZF3cO{SVh-K$%h1hyXvk*1jeK6hW?mIc zW#S#13Hr-sJ{-@M@@5lK9p(=kGKZN4BU?dl+7kH8$i0IaM+U4XhHuiZf7GaAHXtmx~f8bI@f>8C&NDb(}n7-&SgkN$msF|*;PG;yevRmgKS zO1q+|!kn2p5;NFV&kR1cZI;Yn5u3pmk{Nt}8NA~+gEEf5G!D+B9LxR%)hSNd`PJMt=K|MH~ zw$t@=LVf{1+v|R-I@jb~(}{TRUeWj(&Oc)BmS1AD;wmZxm*7sS-z!PSH^EU(%U|#q zB>BfKd}7r-n9Lh)jq&%P_&_ybP)}OJyz;OfNl&XCm++meHCV5v{=e#jYcAyG626i3 zQ~&YYP@+VBAHTa8{r~2gyXa~yE@uz+YIjDlSBtY7lYMh)+xYCO!nm1lD66%Yo$lRr zKluYsggtgY`PumbpJDq$sMj!53iTR>D#%h=m3S9fjz)ND@0zD=izCLPk)){-@$Msn zOnvrPBpIVX-XlJLjqkpf!(V$?kgv2C_N`s^gd3%6b%U3*K;;)?XNNFdYo$_`t9_pN ze5jwN0sK7bZ6sF~)h1uPI&=-ZdIqN@uujkesJC70UCVqsOZnj1uRwEx=A)<$DH1x@ zQg8cG-fmUz5Pa=J-*)q`40=y4(|C>}LT*I5N_m^oxjN(Aa}FMp0`S zSN8%R0R8DaSLSN+K$N4_@(kj9LX_igrgzj@2I5HtECwNt!69>`*8C@I268Cm%Qzwj z?GtA-QGPG*M=?Inu8SsbeaCoW(4rF3iF97BQ-T}T>EtKCr5M@JsM5)iTRlY=T0mC0EYCZ`OXYbTbm*T~3qKy!4bno_H^KeDfGbpN zJ8KO!oW%_(0jr#r*X%T3k=wf%zxa`EwXQv)0`k?drGuCBrQ>(pgYh3TPR2R+7Aj@r z+sR6orK3}(3*9P59b%njwkxQF`%bZqtdd_TCyz2gbqR$B;gt{?=J01-H7qO7Vl;uH*$_i zu~t>E`bHpeTK;wf!G9olCl%{Dr;uLLjFXYms=0gJaBG-yAc>~^cdJl66_|Sy{|4o% zu5L_`J^ry)$*Yv`cD-w;HX2@puYXEPu9jz>OzOu7K()yz$lQNW0UL;ZeM{K=e;RcV z`t>E@c?F{M35e*v`li>9K`V&p89E2~_eO3D^6$@c-#O2rYpT?bk?!$hyyo#LjWFR3 zX#Hq?sacVq3q43)F&6(WyBxOj5be8$9y$H+o12{9AxD6ERhIBH|6db)fO%Dh;JZ~K zK5tMj_459@Zk~E3BiD`LGl}6d*ICH$Im_~Hw?ZHNL+o5f-~T9fuA}d_qi>dbWj&G9 zdbsfmME@4^M;(vuWjhEq`eMEqHhQ|3zyE_5Uq=*`LR0(yHM1(8W`wGDDhm4PT8mOk z*z*nraXL^#KFN&&rORzWI!k5P&bg9RQ#s%AteTvy+8dr#v%wZlP_f=Z$dej3w?A7o z+B4@o@@wcW9z|UKJa?&XqR*=7#eQ{LwWGy;bz6~ZS>Ug4NU|Q{EgvD`x|r|fSnPk& z`)Ce{nD=77jYIQL{h~XA3U+k%u46sYvbhVamP*r*h zJ$mRE)#$!jiC*46GyjQjXGX+^IPwH!-(lzlAqNDR_{2fC^{ah>;pzNHa677 zA^xiBvj26r1v}nK4CNG|$M32GgKVLe;MMWvGP~k#zV<1|$e56RxVJ)$s#z){ z$2p!r9SE%%U&4=uMxjnNHZQc|}1Ja?sT2so^9?GR8; z7f0t|p|n;xnRXisHPPH2_O&Xz!;l(_#gIJbfB!QBfMGdROSpHQyWHW7DkwRSdkZxC$v;3B6b zv(~+TC((I8*gv{gw<}ViMc%CFnL>J+jmr~dWqFBDmxrKMSy**?8mzO^T4iC?S0lGQ zR-NQo^-t^#iWIr@Wa@+38%_0=cNA+`WE!j95%-E1xp7v-+Vk8j`|x3*`4cc_YN3{B zdx$w?CEDR)4q1uzaZ?w4&lDN*jF1bZ(9=AF4j&L%pPQN^chxd#jRvn!*yQ(!UBw04 z0~B2NN;9Rt2B1Ewou9S#TaLabF4S@O=6gvb%+bq=yv6(%wTJvAl_V$hAcOg|_8Wf~ zi8T9?!F+%!WjZ?-BG#d6>Fk6Kc9a_CTBX!5%POUY>DK4@X6QK>G>rbuO=N@8*W2ca zd2wXg*O8>m5lv!tduZXAl_h6JKnAQ(>OMs8|K!pjJ(W1x=>DkXDb%Jik8DC@wstIT zuAuztv|MsRW_5qj7+io14VDoCUJ5=)cNICk^c*j>?MF_pu&YJLXO9i}n(Zp(vrV=J z?yi{k6+uE*%rI0Pp6B|*YCn%V#Oc48wnFTwx5HAoLC6cF)rMCMLS`U+e;c=>26k(R zyZjW~!f!TiUz$@uw2&QJAv>t#sI$Dpu-$6<{Pyzsqi?lPH>Elxt2J58>cMg=jL`9@ z*Yp$Pd&-Y~MlM?D+VG$5o=|~CqDS5w9xCgnf?p=u7J4sDi@O#Ae!8m;QrQBm!D|MU zL-)Fyr+u1Ali-Dt6^OMh@T@>rwgU4!E6~Ba0@W7OJW{_4@-46e`{5%v&)tHL;5?_W zrDETOt~(lTrGf4^o$)dQ-EI0V-EaYzEAmu!*|jIkQSTwI4H;|CNM^b6HhF&^vN^r; zrcY=_n$Hu-_fbn89A!@}i4~suj8yMaKkg7HU$pDnF}tXdwWUApOZX$+(g;wCc&97$ zp-@T&RpoM3cF|caw{goDef`Hdo4sClPKU46y?RtiS}ngjg%uP&U2qDkD118W#Q6`~ z6z6~KU*=HsEV_Xc-jZ|++0>Viw`GMa-FX+i^u+(htcfG-_M%_W{b(|#RN$qLz*Dw+ z(PUJK;0st)atnO*7$hs@s{oxIT^xjL_|VXf%9YxQqAXnr&uU28lb`}Eq-mX{!WpEa z(d@55*#dvX!vc>9xd`eK@~dJ_s=IwKEwYw)Fx|{B-QmG>J;StRm=seXs(qg8!*G3#;rfAfy$`O} zB)I-0!F7kBi#~=*`7kQwXEG^2^5%#DUpY_xjzJccUGW~NQU#G-3vox>=eHL!E)Y(y zr+j!xc(%rm-o>X94)Z>7bC~CebZj3E6Cl2+cWjbNPoD7p@imsH;M8sjek;}<{i)TpIe*bDdp|8S`JSY zxmL?{+y{OWJwDEH$*wTS0pZ4;TjICB;M+=bH6otBARbx;-gfh~EjNyQ3x4izjmD)p z0$-i1azaI?Ni{5 zodbKW8va<)9d&=G$r3o4_K}WIEktLhU{(dQm=AZ+^McmBEan>{*B~Z%9=M2}ri=Ly zms&V6muv1P1_@O#!io6>dJ>-JF5uKS$5lCJ!Jp=??^|dJW_1&^lI~;i*6Y?&4{UVh7S>D!f5u6$^s@vd=f@}Tsx9KLII_KzC2)#FPosBG zQK&PHnf_;tL<@_zOk+^{9j};MprVHQ&}fZSAn0zdeJnrK)fi8yr>q2YN1qnjZ=r%d zM6A@}*|QDy+wfMOP3ESv4$I@nEzr}z+tDPVP@pq_yvNRWfJ zo>|g{(iXf|L5#KuF<$TZVq$P*5x{N zG3x;V+L{E~qE*h6w$5>LT(O|7Ew)%-|6Sb-(3ZO&(7PgSQU40O$BfRlY9}z-8ukAp zZDFnIEaMQVqqH;wwAA~*X-VSkSdDt>Mf`p{s%-vK=a09{!`<+U_$_vLkN?v@5pS8v zpmOcg&Ee=DL}`io9w^m(Y8%Tx?QDXll$N%Nw3KPPg${}#Vs|2emfpABMpgGY?!JT4 zl2jl0;bZhqEQ%z5+=wQ}zVgyjdI_bdRV8h_ts^qU6a++Pg-Z$#vuPO zXQb@bUa3e-*{i+G^n#1V7nQ&MjO;~~qADN^m1lv1g+4^ZEc7S3+fnT1Y!!vxww z?+53^mj^JN`l<4eqW^(T<+-%tY%#wWSpj_!XQ1^(i;*J(ohLYsX%bXM(*A#aRhs+r zXPV6H(>VpR&66@pKsNozibNTo*!tJ z$uiJa!)iHFdz-y}SIe{4{k1f!{~Y%?`YO0b5l*7*%s!`kO3$Uu%szL2`mA;=Kb-Yd zsAHX@>R7+=nakox|E-ZkUKLFoUkZDM-GV)K#d<9*Oo!-Eq%|RUMSw23RG}B{5^TdX zM_A$PR)TffH;r+uD+SdXkJNg1OYIP>ob;4z?d=L0L%+%P!)*KndfFQ8KxVHbV|CT& zgh1EtH~Y)zgh2Jl#e5mH!$T&pwH<};PPy&y4N z=9|%oz8MYm%^Y4DM=o!PB&+X4lMS0Z`wzd`=I2Of#fs&+4-)cp!O$=0{tu+Q+KF~Y z*`=K(?ti{^jA)bBSsJ>63zW#7J)t1oo@VyKO1ityF6a*aW6Ke((Z$IBr`E!!q7J^8 z|J~L=H~~sD_pbzvk(>bZPNs9*W}E}(xNmJ4*xP?S-NQbT*yGzJ_IR$LdufDj=&gp! zg7d7FC#`~hOC`p(%XA0H8Y(v&mgP>0?-p}<$^q><^nBQ-&8wi+EVaW|8Ydxb7c>&m zJRCC$1(kFjdGpy2*}za<7TVbsVky-Iaf+Z&Tabn33(MC8=f;;Kle~I`=+_%BnfnYI ztuGcR`&Bmg=RI?OSu*#Z#ko^U{2W(fr?c+N=04Dt0B-*mGGm{16q6bIv_qK8fE8{M zZ1CU$c|J0euRZO5R`_V>ud-8Mxi#6J;v}aI?MqKjln<=q9}1Popi-?GbDYj%ndv&f zUiB{AV}Q@oT!qkD{$+YG?bEB;X0c3gd2L<`?nxTU%j{u*xyw$K)3s{PEdOTkS{J1f9UkLOnhumuTPc%8c!EN*YFoIgVB=SSt1RcCW?rc4f_^ zHYBxn&vA|I)B;F^Px%}-vG#L`1^K?oYwKo9?8iJqFXY>-zuit9oM(ZbOQ2pVMYl33 zx|vDQjmA$QMVBYWGix{72h+Z_G%_wwTTg~*ria=(F-)uLv34ncQ7r$3wR?^WtbJR8 ztA<9Q#KeMhO8>ui%Ui5KcWB5iX-oc@AU39a6Z(|xS09+#2lh;J(VnF`^E}=KO{tbKbHsV26b6{2+ac+c<=xQ{Pe=hLL zO7P7Xd`|kzZA&hDge|#|*^*Oqb6`)Bm35Xg&Hx>=A|dDdGb?hwN7G-#-*dS&{YCu0 z%!+ht`ipq8OTFE#={Ikob$f*%>po;ND@EVwv)l<+s>F&M=&>S)nFKw*MBBmiLTS)C zW%rPZfbLC>xSaKErw35AaZ^;d1_xrE~l-$^f)886RD2xT3$RA+~ z3UGefvc!fv$9BE0PLf;sfDN~c!Bo{1`^!j)1-F^OT&(-TOx94_l2V}5zI0fgvj^zL znPZZ_Fw-jj&YlYXnAvO1?uvOttYXd_qSf*-vp+V|3jW=t()#@vL%P{rr9TYcpn8Ay zZ>T;b8s2<(SIq1=sGh$CU&L9i70b79_wfjXL|)+#>_=(|SS;BNuZ?N3WH`q1aaP|x z+P|d5kzYVd1OAF8mkK;O!(bBK6YNII%5F2enPUaPSSXvu3eCRypZ zxeTZ0S#Be`_Jw%*qPb~lgVs$;8$e5mKC~n=fsU4eK5ogE!AqYp`c}Al!o4Z~D!bP( zS{nXB@{DK6H+N1f16;Nj&X1NPI^H?ha9RAXj)&6{h56C(a9W};yB(mVRRSeBEIn*GoM)^-|B`hf>dbjC$y5+L0w3;<;av(#ufLD?E>qK8H&Cak$s{q!G&5L6 zGlP@e@yV&U?}Tvq=~1kb@C%`mu$zM86jxJFM~JFtSr>U#u0n^NAW<_kcRM1_88^D5 z%aAL*IBiI~(tBhfBG2-6dUP9QPpy_XR+L%9}f8F|4vXZaYPbd_)tn<_!+nD7hNl7~M;lkB-f49-G^8 zjAH2LJGWQTy>oj#-8;9uH0r{s`uAlko@|9bkeD>?qa2^SJOj(raY-z zU-<>>>V=l~izl1b1$>`6EE z90B!2qe6nN^U4-d>IuW#GF!N*Cy34My%ydTcEV0~Q_p&ldeHd|)UyhGlFxA`kTG?Z zyMq345&!dD;f9hGzAtvz*@xVpX#dA#~Y%aL(U z?KYiBn8k0+rL!o)@1JSzp2e4TN+*ZWC^r~1WL%p_8>!CIC!r^_LLOw3S6{Gd4$JH+ zp8BI;LAJPHP1w*frMvEuK1LUayLZ492GS|i9`Z@%4)%wZoTKrUw;62j+BZOCr-DR$+FyD6I!>zEqL945& zqFzMxX%hu*i`bwx<_;RBI_3{9oG z@H!pOgVk#cE4_#nmA|n6JsgxT?gFp^?bRU9@GR_q`tLxSg>@qq{p?S>QgCWFDfZ$(|CuV2|`SN1Zf>DH2mLak#^ z&s*2{L;3wC?U05^bQ8|J-L*%Dy6Ip?ZD`S9 z^n#{T-xlk=85S|9U=^i;vCTYGu<9%~fUWl%kjZDcMYRQ}hw{?=ub$k8b7Jm8e9d#f z;J$@-4)LFnkHng{eUL7b|IPLGHNQ1<&qrMAR~Xze*MvvxT_S@kacTU=^ZC^}a7re> z-evXAk@Wl3zZu+8m!z_~UWz%%;O4rH`H$!Gt65l)Ox$f|@Lv(XU!B3=Mz~&kL>G~1|263^b94539rYQt$Uwi#dKc0f zji1@?%(VV#{?&ZKd<>qd>*gbQnprnB=2VJ;A zN=a0cWZL_l^!UIS$@0brd-BG=Gt5R_c?*_3PIJZyr%JnGjeQ&)xu`}FjJ*EY=*I*} z9MO#0Wuw5k_fY*Gj;;m@XhT{29e4n`tI)rq8ST=i!S~l)O^P+ucLQi9= z`JLtFqo46vt{6VwGw2!X)q(Cyyt~RYA*xKXkA5`>`c7C{x5*@`C|Mp^m5h_NLzF%x zxm)tolo^w!>We0CN~xM0rSGnT7B8dTX<474(4FYoz~py7%;rPP27N%@B5MXC-b3foO7<+~(45U= zD4R*L%LQK=T`L-spm--pWcL_}?Ec3-Kn*~Ti6v-m_;%}_Ts z@xX>>vW?=>kFD%;&B&T(b%WWu(){bQoDudgbWMg!E7xT|T%MHR65+umzGlut``t~0 z=Qopoz3vtBCg4eLS(u8~c+3BG-l>d$jvcyOn*7H4*j-#&m=#%TMVvEof*19$B=EzLyC+BMx&dYTSO0O7R&$duG+*r zq?A5aIq8lTzbmCr;XLln*6|hi70z()IJ1YTC42ge7+u<@?IrrF_G!aSQ7O9~fn^Yz z^+^ZSev~^0`a?^k>u>NPWb%6)7aqDkwEuP{|AhlLtGWG;^~m$B4C)idmk))Cw`^x? z_`c&Sf4uzG`ZEUinj_C2&L^f|Vo+o0Er`Cj`S@%1F({2=cO_ltAL?R?*>|&NyI|N6@IRa6ca53eq|hlBiKS zb)MGR{b`rQ=x9-pj=Sg3QxTTXQS0^%K@2m_5L$4_s*HF^pRd&z!*^V<>RUH0Y>B9E z4EU`A7Usm(@QE<_`ir9#Z0k|2o8wa~zC8!qd8T?~P5GN-bywU_69rrU4bCV#!@cTE zf>c{un}ogHi7_IcQslMDKO=U**Kn88Te7T>4Uo4-(!)LPx2D7Ak9*xTcTZ;aD4_j| zXbt&OX>$B~n|WAP;#MNyJDbjAwSmBcl#3f-kM)017rK6aLW6b6+(uW0vG-|{Ov1?f zw5cZgH?qE}C%)AN@T!3KF1?j9BPCyZ54Ksds^!jryrzXzzPyUAEP;8=3bXiR%uSD5 zdYTsw!SnIrOs~;8sO4JB^(oI>|E;5Q?ZD>xB<9+;Kb@=F7TEXDTX(iy9uJAI*5<}| z%R_tEu3^w=HutPn`a?@3(jo>s!Z`UZ}xrw9$^*)r2Z~&y!}kb|gn+s{A*r6pB5EWVnT6rMBrIWRr6;g`!l} zH>e;aPu2(3YHN>xB3tP$SsTV~K*zucooe|YRI3FSsMm(9pfpeJWzSYGKXm`Y;?O+R zx?%bW?KXl+nrF(;xl0!Ln_kv`qjnRoQV3lxx)-SO+vtJ|Mz#4OIXO8J9h+rQe<$lp zo9M#&$oRhUHmDxN4G_xl!VM7ZH{u3}D5hyp3~*-Fyk0!1l5z%#XsOrSx6XN1(?mln zN)H!P9!U!K^2jjQ;KRe+Jd$9iJfaDA^T+_$@svj{`S8dY@JP9X(oLY1@<>~Z;phyy zDflRf*3DDC*eT(W*&ZIjjRF2X7$19Yb}^->H)>}9`&N43A3K)C`zY>H817qJcyYfC z`*&RnH|~`-iu>{wZruNX^*d9osovR0%HI_CxxgK=+(rLAgfTRJxDS-z9xcH=vL4)D z#O(p~t+bk9tCV278oy+1?#A|0hV8B9ZfqBe*zSJ-+jb1w(F|KX##r9TccqKdywYe@ znp+yh*PPnnr^WcJ^uZl;r4LxYz8=1#<@U$&njrHii%&qDwjrcR79Y>>8`Yf3PAV<` zC*rr>2fr3r&2x6TjxvT{IPl|ecbQjOjyJinOBLnW26*DyJ`}ewhTBZ*!#y@b8Ps@d zg1<%RqZ!09D4n&Nzdh)q8MI(feXNbI%i+x@578n7Db~*Fp49_VO!Di36jNE#&BD2` z&_asCL8GLZK*Mxhm!WfBO;a~jWY)HV4RE6=r3$KdFMvm3raDST){Lw<`F3w6wV^St zJi|3%tFFUIb%uKxV=RDQsnyyG$l{>fSDn_9MN8-{^x^DXe9aG-<2}ny&hM^M9F{co z;xLr{y$1&^!(p}uhyD^Aj)*wW8ye1VCL8^ACBvb0trHfk7lT0_3~UBB24zJQgGEl4 z3Aw z*kao~%ltZFG~v_Rb;6j!r`PL7^Q~*InP0_U(JrM^+3RgouGF$|U#<&dujA_iSZ|9v z=6}%r>m++NvhG0TG4pZg+VnKk+;`3qPQs^(!gr*IYZC)W_>*h8xHg&m5m&3?X>4s` zsf>i5fu4a^ea^u1kbI-r+GIjLpXLf&1AXR1=iSINC;BNwoKt*F9a|?k*2#L{9rJtU z9P=vkO7o}YPt0$bNz_Yv*B=$|)4MFQ4=gojn)T*s=GV+q%(6(ArTU=3JfF?$Z%5-w zI_eciaOFGZvE~=dZ{V-Tm`C8XHCrF|u1wz99P4}9F%dT}(Df76`ClV_de~8AZYaT< zV^8-wZegEJb8#-t+zEEZ6Eow;&9kVh`zVq${y36+i}!`FFZ$zkYnI?&YK+&vmf#NT zQ_&s#(Zu-y?i|G!-H%0+bqiqA;C;iRfSHeb(rM1`$n_%GE3E6# zuOQ|#Wp0FEuxmaA~%!Y>$JloqF6gGA(P+fY*1(&+7Or`|x)fmWU7 zzU7kL4k6Yi4Kj706+S&9Qb;5;UIo45Q`Y+>f(Ws5sy>WUgvo7T=pGwaZ z8+=kRx*5qEQ=;^{v~NrxpOdk)$df$SLBjUd8id%3@tr_U+XADbfSC6H$H3C-nqxKRxPnsrINL3ZNkLZIIwv*zjbp$h9X@018Ur*M3 zxX$%t>F7nem@A`Ul;pE{(;^|{~){V5>AfUuf&n3PP8T64@HxS^91?! z*iUT<`97M&z86WR9&byY{|<8QUBQ=9perab4r_p%_W21NKa=OunkioiR3u8E&~0@> zO$#K@CBu}IHQH`vq~{sfl(MJ^iTw@@hGp60pseRlRcbQZ7@H8Mll9Bx``^(|mc>lf z2ig_)XC-e+DVqEiZleZg51N90!9oA)1s^o&pw`6bx+NDT-%J*~&eS)#UE-U}=X z6Md7J{78qoXbZSNxc?%Pe+E@!4fx@zku{rUA%4YbcHQ@1oaQbgR(*zh4A}&yxlWEe zbbVEOWHB?6g{LYi zxduldt0O3=*W?cRCWAB0g4`M{%B|-_xixC%qwcZY3=HI;?*2A;fwY5CeKmb6Mc9sj z{RGmZBWed|_O9UZ&EyO1<2@wme@g@*T~)rtn#SuK?c#v9bPS zd{>5>BkoLyBlC{7CH=s6`ELt+7xhD1@)vk5VUECS4RG3r?=C25p=-x(dhzEp^!Q?D zJ>@hRtxN=`twAMuxS=GmJL9uw5@Q&jy>xJD%Kg^GG&3u*B=N){S+|iKAvCVTPE8%C z?ui-5(CR?zIcOd-qC3bz4vVyf@ifP1nI_1t=uCNUYjPjW4Mc@v#CQ*-k@cXF5T-fE zp*gIz#TMBdShyfaPYo#{I#F&cl< z2mgMySswg*1OJ&K{s!pBwElm1@W`5Nv`akVZt?=!J*1V4YCfmALw1UJH99n%=7Mc6 z`QSgrL*vhQu#d0l@`#hXYQ>hAKU$;22W`AqfiN4W4YxV z#pm19Gy)J?jV>yuxv8}m!9Vo#pRj|S6a zGG(@xe@5-0{G$Z_#QL05xVg*2J5%if?-Uz4Q7trz^r9JE=t2`1$jbsp-qgyYY;tyQ zNg#3vV}9S1@>7*UMSI;3#Oxw?Viqy$P;I7b$b_uh< zSM)yfZprjUh@#{w@yw$9M(^3~mRxP7nz%5c=I$ZG6n!MR5XtOr^ z>tMXuw4PD#WgqIjXuas6-g2wD@D~a9okne!zF!5wMfHn9xno*le#sl4v~=F#Ol7$49U4+3M7Z05n=-7s#EvnUsF6_@?v!xa zTv+MDg+4t7P4!zZ3VnLu4_bYiQ!`8lGE85ve(s0qK98KxaO)(PHuA?*$Ws^blrucH zI_p@R^An#n?PXo&S<^1SbBSb4BRy;SNj+=&HF^o1=Kf)Fji5^+i*57hZRz2d}i??)VT%L}aRCz)4Be*=?@|XzS3DD9G=Obv}fmt*w&?4T$ z6mNN6gl!1e=OiQ72is4CwV^Y7oCLOh$uwVt{u|KJE{^p>zam1P0dx{%#VPJNSL=GD z&JXDEER}qt>a^?p5h|<^F?B4VmoYzKlTc4w__S1b&s zozv0zFown+gI6k-2jrx#BOITRbW^F&a6#z}_#wy!xzVNpbg$to8!Lmq<-B73txb|H z4F1v#{yOsbMc?eF4%g)xtn)^RBp>Z#Ezjbab%hElK{(rHc!YzonpF;mX z#1RH4@-D(dbecu^=-K*B7H*P?aG$h`vZ(*a{b^N}axLmtEjMdP)C}nR=){P-r#j*; z<=ywP7wQm~qqq+D!F4r$Wq=3QPeoi~J-9Anxb}z=a6N&HVmGdB8Lp!kuG29Jhj^qE z*Fjt#dh3;l-5@T(AjMU+cm|7=j?AReS;KJ|Bljx{gxvO4dRia74B0o|WwkC=t_{wQ z(!cf#}ny!7c?mN9ls{8Wd*m zO03FowJI;HFbU7=kUu^uSaW|mU6T^(QIX{iK}FqI>{%|;h>k<*o#HBxhkhAxOS%T$ z{hN>>U4;P|zj;L_PriqzV|L#?N{JH2_@?WSrh0>psOewO#veq;NQ^Uxj8lp6Tey2(M;&xt7e$GIvsL86Q``hLuaDWh zzQibcGEHHg#taAA~$3*&44-O;4|p}VhqI`#(XHM-s48^nEri8-2AcF>ts+b&(F z5+$&pO}FqvQdu&$6gHDaz&WX2PDL5=nJvtqwgA?g>(AMP_^bH`*7BW0ZmRfLaaTBXfxE zNnH-V?{<)#+zrqTOMHg$X}=b3KBc>y2R^Js6uM&zH=kZX1iM7zdcLJr8_by4bgsqC#_9q=kQa|YhQKu zq&1urX#-8dta@jS*DuiyWtcC){ZqaYW+{I2z2ClZV`q>{EZdR57C`4oF0eq>>&zi^`0CuI+eu_@ zXt-j-{u_^xfOU@@%exUoGV#A4cNW$h+YzvKGRs;J_;f)tDWAF!NuG@g1A$MiurVp0 zCO32Q>AyC*o5$+m(?!TeJjLxtZTl(Ch*1vr^{4PznNs=lp=5>PYfcpT$seCM@%|#p zrR{57mOTgk;N1Ky>dxo4Q;jsF_LMj0x?bxr-m)8z>fCg`#;PvZ{z&LmB6J0yKe-mL z9=8~F=z=b(@iydlT1M}jnLGkk1=T+KHI=UCIIKi>)CvgeIZ9m5Hcj2@`3zgnv7$T| zxP#U+o#OsrdPgI+o-ww|s1@*)7aM(6Gs9;!Px-H=-zpto>-nzLW!ZbsEjtEBw${^5 z5ZTa5I)k@{;1*x$OsZ>tM+Uwyk6VaMj|%>6sCyRIYAIFpu4fkW*({17!%uNP))qZ5 zivS;O?}lU+8t!bS5@)4yt>6P1q|@pN?&bYiPo-82WK(LD3bIM5D?-N#itk<@eDiB} zdGKAy@ZIUb_albyfO_zaV)(wu@O`~@;RE_F()f>DK?N?$v;%&8B00|yX9sK=|E|kr8Rvzo=hn0S;+Rv|n0*c? z^FB@?Jr-KZwvRyf)rFRG+tn;$bz%F7YmJJM&^ua?u$R z^%Oo+Epwtoz7Em#W+wx+|DkKbsy+q#zb$sbSGtb&(J>#-@Jd(YD;4_9+{d;aTR0Rm zw;>Z@!~swj!(NAO!2=H9?#+>Lgus8Zy#)P^QUrU7!)Joe;rQI~tw<8FGn#1hh==0& zkm6{PJUx<}f{$m+j%bqlS|sTWJM8`K(In?pG+;p)i{4n~LXn zU%3tO)+vbBVyv>Q(d6c2z~DF1zk&}oIg*^g^8;I=$%R)?myP!!c;6B4U&HS$`Vzfe zUXCP!ydggNV|(2ASL4x8!r2TmcP7K28onmoj)e|`fyS(q8hmN ztWyKmDc(_qdHF$)7ol4)=rLYs0b3s&o@KbwoR35=Ts@L*-Zu2g2L`thk8@ex@~%KV zuoFetUm5HR`(>bjaLMTP%`hE!Q0e@ggG%T5kAQwlgxW429;oo8KUp@jp-ZB_FN%v=xgYM4&$!^v+e!Qil2(M%CZ4W5(8>46U z!kU)bU6wM*Z0cL746H6)sTel*1(Kbp5BgORx)Fn(B!R9Uvzb^~x>B`v$`!9laH${u zIT8L(2CtLAGymdr(#z`cM1Bh$k&b;DuzS7S-u^+z4I<>%fXtIX){jF1Y*e};pWA~9 zp7!Qb*2^0?fTcUN)UGaA_6XRyBJ3Q%&XT~^kA+IaVj{4Rd7%ZK^U*FkV$IU{A$FIg zy=1)})L4SWwe7>!R{l`fTc9Yqwrv^gbqNJBsu(BThsVWngBWa2$+!=~hKsPgjnYG- zgS2b?j9jOs{JTf-&>8R$-IWWrAn@FekKmz!mK`Gew+w#EA$raZaEwJ381#Blo+L!3 z8X<$?uB8MqUz}h>`fLlH;lyRn@%cI|gAK`WNnT9%JKtB>5Yq zQFxY)XF>T5^>pk%@a(Q-UhO4w9R9u>-8_1+*E{B2<{s?bL6+IK71b~I&9vsSJn38W z7v>G-jpjS}_Z~7g)|>NCPx(FKV5`g#fH-SyV<=BLYlhY)zW>flpY4E8oW7pqj@Z94 z|Aui5<^}L+e}IfZllfiqJk-{_ZGOl61MUu`Yg24rY0d>6d+|hXPBniGkM}a*vBP}8 z{FQkTYA&~;Dsu~-Frlk~>di4Z0udpH%9aBU7XSY}67FS01RWgSi!#N$vkl9EPxYB+UTCq0eD$)4D*ZD`!0 z>!tf1RyN|-p+DospvQjt40iTn{Qo09{b*Gkz5xICS1Bi9xnF=U7c~oZh2?wg%**}I zF=qw;-fhz5H50x2^9|FF_MzZjY5jbSA2HsZ?Dlm!Ker24(I3Ts2dc;L5!Prs#x zJr|@KoR}!i`2_k>c;{RSZ2ynBZ-I-dO#eS;=FBj_h^VNjs3_hw#ao%0;y81>fI_Kd z>K1CdP3mrLS?g-apjMh~A!q^PHM>}vqSa<)p=n;SE$Fr>Qf?PfMsP+MIe^0d`@HAO z%$W;dzxMb4|NVS$X3lx9&;5Dc=Y8LUxHVm#^P9Ca=K|cTF0i=qO4s&U!A`SIx^`rs zoJ%8kvp!BbZ)Nj-h|SxEmaMQ6)$_hzHSfi$dAGs5V+u@HS|xP19=&GPA}3Ij&3&Du z#k>(;zq&BJN7Rr><7RpcE$N`&NP%4{w{6C>LQKyiFR}zi-)cn zkPp5Xcem5-`jsxJhG6_aJAyc!Ewj>f8J@Ifw032*h(f<~()lzS?fckkf6`fmRty27 z&CB%B)sx=L%du6{njEc}jkdcq_WTZ(BRP=mO3kS5$IeB`s2aAXhcb^tI0wTw4?9Ni z4)!d|w6cNCV<+xv_snCRY91SudC;EFlg{pJ9y8cH7NM0S#P-xsZ=-^GwQ3&Uzva~! zvQG4a`bq42x4AxUIEu3k7>)Ri){K6ly`#N@jaE>Nc9?3kA1R}y6D3bNPvH)xlg@f% zG@W#|MJpQ+byJUanF{LnsYYvV66(VNb(`zKhC~mIV0W|+wiWO(7volW8MfyoMkBa) z-UHiGc%2>^`9K*h{56br2^;O}Y_uOsHSp`zW0h<^3K^yvYk8B9En$#t)$pCqCh3|= z>%=SkeT)q#hdZLN{;#$FqnWa+m9pni_DNsa5O{rz_5M};;=ob?5w}uS?&JFJedR)q z@=-uuz$o9S7wn5v@t#mKqH|WLY!1q%smg}7-?A_QD*XgXuT_mAbmro#0m8}yGu2{P-Dne%C$wYi{tIp+ zJP(zL{u1^yO!3%ru!e5k zh&#@rV9#lCI*Y=tRk-m`x0y~R(5zhCJ09m(bKPdRFI9H2_fF?WX|X=}3U>T1?X}FT zaU9|9l7>c4unOG;R}449ec|%$qTq_h6 zom$^wZ_>4g2V-r0+hpts9*;X3A9l9kPrxP{0Vy6^Hv*6zgjUWD*WhF--^%*5Oi$i@ zlJkK~&zY@B&c`z2?ZT*`PRiG)uytSf+Pq)q-NjA;>Ao;0eOh|L!XNP0dG2cqeqGST zjv1Na^Z5QprRW0ie&S&l#~;8h+a2kY=NxaJKd-A@Q>VX{FfZ&@&hec-UW`h5?Ezh# z-re&7`Q+LkCG%q$=G$>fVLbMSKEC%uS5nKdRgdhIp)o){!AXI}zp)Y>-_`?-BCKZ< zG@{v=RRoRWHwYSk4uD29pm86A#`;=<#!j^I`7nQIWT~LB-3yJeRYRJ|S?a#`cIdX6 zy3Sayq0>Ru$Y(n#^I zq#fBv9|;&~3`V-Ip6KkC8iH)y^-|&R4t{bYrVN4zyST#<}M$!s&apZ>Y3HXjuKK z%ziueOsGzDYGh6G8>KXIo9+Md!K#tc_ba6zMQPmZ?K#1tk0Q%d8!etTiFrIW$IL_h5@5_7Xzd;^uzIHkbeyQ~|_eV6a`5pXJq2D-Ec z8NzZ#9-SI;rP?J;ac#Zco|U{(MqFa8YlB}#MF;<=)GI~3(`+Bh1!%$Z$jkc@5s8a9 zA?g%<{e+XD&f@7HDSh3@uzp`de$@vW}n6XvHbXt`e2c5mO?MccRi z=?;_rZjQux7F-W*{Rpu|p0H8q$#2lD?zAwSL75!F%-l@Z0rwSQyWw_<%zhH%53*XL=8}jnN4SbW+o&%H1;b zJy$tx>PuVXTk%%%@yWx-$(y**@#TkJcWI4u&S`4-Gg17Y*usOb2oh?et{T^q@BdsO z*BgaLE*DphNWkvv15?5fiF z_`mRM2DDIo_}i-akEt#2&VK}(|6AVqCwk|fS~c)NdH&?Jo^T$=ZA~Yfwe|FWtJ*CA z^GBAncm8j9=RdY;c;Japvd^mIM)lg;7gFj0sashuoINFvJz)2?U-^4k`4nlok0(P) z>DyVk5z??G&po1>$Eg1vQZELhKdWH0yJmqGMz6s)?i2B#7e-rZd^A$7(1;A9;S5Gr z2BVCc8GbOD={@5qNja08PA+u^o;=|<-}8I=iW#nN8vYZwTiqk=6*x}7JThE|8cfZ= z@Cp zg){EP$#O0E1^ix#-$~uL-p_aDKFGv*cw?FEK3)*-nXm%yAZJW@FIAm3yg{9T!qyh8$h^5tMr7GY*){s0&^JW-iL=xn{ZfPR$uVpgg zHAEZY!!4i=S$=Gh!o7D-y>Oe!b7~rRWH@e}f-Fbw)(K~ZG&0%Xy?g2w+%iS-VW+8G zv0nMMC-9scd0mm=bQ|(HGF<FNGwYwlDgvSkWTI-N7X!q*qm6z0n79eqe(Pe}ea9FT8E8 zs)h*)ylw3KzxZ&o0&kn^e1i|(ulvFKNl3gC&H}8FcfzX?pP4N zuxI(NkM$})|9GD1o5D{Wy!KO^$n>%0o5Ev`sIX&>u&~&-E$Q7CzKFlC;bC^2%lyMs z0Xy5v7QBbMcUYb&TKtCX0L(LGm1uJ@Z-+igE6UHdSe`CvBc3dKcJeawS6DTn8g!>2 z_flWv0v(zVKi}7;*Fp`URkokK9UK{TW3!LjLfWybP)^9naMfHF>`yjRc5L+{upO!N zPbj^R{Kbg5eweY=-{-~5Jo5A-XL~U-i~0En{4ir+m^qI88p2Eh!_3I~$$pqg@?xf^ z7c*n49L;!NC9t3~u>Swu`IvZZ&e`fZL@p0uU!W!Z>GUJ%VRL6SGuM-Viw-mW^L3s5 zNHb;kC}rTKCxGj{ zQ?n3-Yk@mUwdv#2SAo(p_w`>mdta{gUh5far-yKg8tz8;IsN7IXlD7oxxlgD8bLpt zw0R3x9E)SvTt}}@gl|sz9BU--&Eq3veVzsh_s{F$kZ>;IBgD((Xqmjr^|&(y-Z^wR zyz}GE7q63s@!V88P|@fGUX5O0+82lc)$K4lnEa@$#jf-w&LBO_N|n@p8;Aps#mBVz zVOHuy?MIBBCtq&^E#tYLh4lF08o~nI`bob&s39zPe!X3j;+l)|dT^y7(=ykf)&J57 z_s7Dvss#L(4)?*og}8HSHsHU)%=LMwXoq#PN&kJfg{0Yn>>08#Fa`Mk|nR zd3`e=P2QEw6%I)EiJ%?Qx>h{TVdMap!;Po`>!1x#M|- zcMoxr^97qhSv&q9a5uCn3v)Mv&xqQcW!x=q7CkX}$AV?%vIXB+>Gluk#h3bs5n=%( z|0YmMeE4I2Q`2_4v{40w-WVj9^>taDOW#=koccJX8GFgtdN9^5p zA)S+@cyqfDw*azQNbzUULawT}P_ZS_gj9A3%09_%t0E78c0QAL@UWEP>U^EBU0&N7 zzJq)>m4J67$I~UPvSaZV<;gvG@&k)~oCfV)1=aoxDb5u-I}GM3R(9sTdAuhVHB6@6 zV~>pFZo#t{JexYyBfnFb{O$w!&F$l?q3zIuTAv;ICVXSH9r|*uPfo{9knMh1PT$Tf z&_$5e$DONco3led4wMoqyT5?R=@Myopp*!*`%g;E%jx$dSx(u-lTs|y-@a@tw_ zMuSgIJF8!ANO7gr1=^v#+7IRi*>GmV->~0vuvbRF=6`tV#)1{*Xxy2%nBDEw$FL9_ zLw7hPf#<_&AA)5s+m<{ani&2kX2DFvyPBF7-W#HO0HS?hThdJ+$DLX5q>np~z>_}i zJX13Z=TCd&?r7z9&H@w8Ct;pcf$8qzX{j0JJ02PieY|sm9v&I9=~gX{KU@8JZ8vdo zcfB~>EtI?e^wbWRUyjuOP zG>EH8d17fw$LLnTm!Tfn`)$BA=BhX?PLbsml?vwd>DT z<1U{(Az#O=t#Roqp#ybucf#vF?wnFX_qlo`fA|~D>ZA2!{gAAuUmvlP>OH^yS)by1 zpw|CpF0Sy4wu8A@qmeVd6#3$VWW4_JmysO(lh5Q5M7pJ`E#hrOt0nXLg1DWVE8>@T z&$Ho-E-ie!Avg~gw_-1!n_em{*@jyP*U=r>t1C3i2Nqup(|t>40ViFJ&pav#+ujTd z`}W<+L+f0X(Y2iGs12po?F##I(FT;p^X2qB>FVrEYL8l(Z;cnJCB8qcAk9w)*UEQn zvD2+c&m)67M)uo@qKc3?kQgI-?l#v+^4yW*-6Mv4ck*Tqd3<-=8hY1+$;@|`DefL- zWjzbu{kU_xbOV}R9p4+BDf{mf(`%V2d+-NLF9dS3ic2%W$tzsf>YrrRNV($c(im4r zWnN!*DI4K0%-5yyEynn;FV;fd)?{&%XM7vsU$OCxWaGP2`Zi#EoN9bu+dSh#?n_|& zO(ko_R-2JAxWe^H{a7}}qpC3ukPdst*o%$vWA7Nds9<=%9}M4xKYrYK0n+f8v!P*k zz!-1fu5V9_^h4DcZ!{SLtHjyfD_nQgU&M+_Z1@)M7&BaF8tlp#DMm(^&Q->k;riSY zGXS1v`i*fu8{>;?jBhop3K-){-Z4I@#Azr>_i~dX%wZ$s>z_Zrwc?@WuQn5_`wuH! zegkV3{&t`rX1XxU{QE`+pN`(4?i1Jzmj=Km#P=@vJ`vxC!4F*a7|ucHujB|6 z>_|oi<@)7jU5@9p6*D`Ruu~D&V&Uz_}HBAvE^+&)1*@9zQb zXJq(kwfRZY+@Dp-CwpQ4S--Q0`i~JGDt#__>a~p>xn7@MD;`Pv?bjxAuK2KFVi-bTh7dsg!}KozWmLmD%|&KjxgYc zaBXgeYixa*7=b>F=ra?EMsX{}BL91FwDN5(d?S7sjboN|gX#T}QYo&W7gjP# zq}ap~DdrqMN?)!u-X{%6;s#_EaXs~0bm!(8ca#e<@p6yt8b+b*eNVaVN5sk2x2?gVyD@R?hd;AY0m5{Znl#&_CUXNWV&I zqgB7YsZDmRtfzaqb?n4cJ^Q44xxa}T%oTw)&n)W6ebC2ipH0{l_HfbJ_OG#u>{DY4W1m`EoLP@= zj^c2a5FX)*j!3qAb(Yqs-gjwQT8iFxXkiFf?b zf>zI=waXhM%{kWEWv6$PyIEVQP9dD@*TR}&eZl&Lb+e}x1C5robOkJFo()eeA8$yy z`VSjHxF2^K`>9V$hV;{tF|A{%W~^q6=8kPHO%zFy0*O0BJUvj-d|7}|_hz5MpC z_|)4{s5MZ)lU@k_eXj;sHW|?pL3s^Eu>6mf2iGj2l7O5MLS4gm4C+3AMWYF&1 zLFd%!26W;FjK_Si7a=XYROeV3#q~;)dM)l^wnzeSB^B>59WG2QUmcNJzA8M;e8!w~ z^*KO#w$uaXHVEmUWze*7act>MNKRqwYc9d~s!KpCInzx74aL`mrSkTnJWzX47a zx?Z$SF;BqfFa1w?^p>euQE`} zI&qLy#Mq`<9;Q|^_F64ww3~6Y_>D552b)P&31|SdA;FAkTT0&mub>s+XjO!Ie1q8d zCZX=bR*VuYQG1uIGgy0TKijt6aP***ZG?#V?&-SNfzX0G1=>qFMJtRIwacNwA# zcLu=Eq7kjJXnc8^!(slGx~YZS-hRmIKPGKH{80!y3bl| z%`JV^WiY(rG8heG(MCA6$o1ky)UptLT)3#QV7!(~>{GCyMf}!VCYdo4i=%jH8NZ3^ zw*mB!QT^y%!&trJ6Hxk*D9&ZTSTvUNfZ3l=gR}gV)u<}IAMzWt-lVJ+6j>d^MY3Wr&Y4rD7IyC z8m*o~YnRdLIkbjPlGn1VrctV8wa#j`K4U!=AgftRkke@C5XSc1Vv^O{G5Xu^eLF^dEBh1<4QHSFL*oG5=4G`EVSia|6wwCc^ecceTEF}Xpo`Y= zN%Gn!t38knC993%Xh>qB0JLJmcway(HnfIM!G_lGN%C5j)iQ+DvYL$nlDapQ&3MqZ z1W@+K>NZYoOOn@iaZyo8dwa`BhnCqJM-+R*1R1FXytR&%dfZhe3A5iejgxw$%`r>G zrz|9~*Mei$8F_~x!UmbW8ZsL+o%lT@DN*t?7@NuNJ>avI3Sy)`d0TfKRP2m&#*7Edz~=>k%np zOpFSSfC@0GFONvVA+&=}!y&YUPvfESfbeR_>Z}WioUN4g9ECQ*SkDWWSh`T358szQ z3h-U5lF2EaK9a7MOP-!#BF8nPO4+AzX!`!t+H;)bl`hdg3A0?Ap0??*^> zvQObb7yHydIA4(*9*D(~R7pqlF8($zqFAgG*!3NV{KST?gTAtrDPQZ!B{}DIgj%_x-<@ZX$Ak66nE@uvS@cy?6 zPo~o8+)Mz;&hgne?>@(bs8*LXn!%lC|J9;(n6>R}ZST@Jk~CE%JWinMAkqx^ziIMt zmf0Gbqo#D!nw`oFPbo8`c0Vbcg*L~D#!}5~-6T!H-z<>31-!$=GdOL<9M?qKKQx^v zMD2nf|Ci^ufy?E-;!4zWv|^6;DsxP4o7T)6ttUdxF&}Npa~#L!c({={qPA*|>k8U} zK4+K4fIhL6kkMxt=u-fF#(+MB+kwSVeAYD1fUDxQ>%+5wHM@|f(BxiCj+SV1kTwT? z_E=#(-9vv{5$&_Q2Q(^MR;~F?ye|7r?3tbnuUz9WM12L>pc%?LjNA|4*V&fC_#K7Y z7dVHJKZGZjN_6&cVAwzy&eIcy-;7~Yd>W_Je1<=s-LiI|IFivZ_4i5P8Lk6AO>9#d z?$U(k#-6r-vjqIaRHSWU!hqrp|UqVwX^7VYe^d?*U>alhi7%#qP_7_bf?*t zKnXJK zc`ctqW$yr-^njDzVHC1!xHK=EX0@)-%~9Yqt64bJXy*V~=x0`<)GAFFOpw`b!YG@C%@9douo)uVJZz4Y7&jjz z3d-Uf5gHw6Nau*;qe{_6q(Vax9_SDa<(WW3x%`+U^P_Q(1<{Z{d;l98U}Plt+^?ph z{*M&F1CQDX_zc9IC)|K2`~rN!Wx4^!fo|3SLQ?@Dq91O+9i>D&1f%^m8b&(`jB0)( zjA|4Z{RaB^w8W`UPXsSh&tOTzsHamS)H4y(^C$BTg?h+tSZj#f6tUTuokh!l5 zQBgQ(Nwbgx#e{-Lrawdo8la|eUV7OjepSKGiXM_CbpxerHx*QhqjZ(gvkp}LnjBUs zj5<*H>Fk2a@yYZ&tWr1Xy~?A>?^Pa|t*y{Z)F?aToJd}{fz@V7ah*_0znIajPQYd(@& z-=;!Hjvq?cZc`Bj{0O5$QH2JSpi!uzO+`d6r0C=?6HS^Rw$keZyO!bGx zQV;&wY4m`CqM1Kepy3AzKa~Ct zaf`M>4>*BCpqu47nz+X6Xjq*)FSUvM`GSEb-AwyeNIP>u+L_=&J$txi$0ZHma%2SznIHs3IeRL`Wz@#QkzSO6O#Szj5Zz{oPHb&Ud} z8W~2R>u6XV4~$4Jb9sHlP`VkTNS1Z;fy%Pw=qdSSz(}o|JrMHPFO$GeEjG7g682k0 zL$ZW5DiZdwCUr7V)aQy$J`SCn1Q{F4^vypI&AWRI(Sd;|X92Wwx-gjNV7m!8gq7tl zX9KART6q!GgGODXP)~?DGWFbZsm(%A&x6NGHltV4%UlS(tWZycntDjia$db03N|hC zTWp?BvIaW&TjTwteLz9bKC`+0kB8JgK7IT-Xy$~XkBN3j2k8~~a4#8OB%Mrj!yq&( zk?CX^LZE|L&C$*f=wv`>))44qsujA9OgkP3eOkh8HEs!|mx*#@y&OzAvR>Zm$6ITg zp_{*iq?=5|mh;ffGtfXpH+T5ajdA16>*qkaX-Y3ce=}+0fyOCDFJ#HlN|Voyiwx4s zBx&+Ykiv=u_o@mOPeC6?Z)&xrrJ|F5RCH35qLUs8&`HMwbW&yro%D40RZh!v(n#ne zqXv87A&+@@N}4R1Ve}9tVJpJOzL-qB^j_tsuq0%gB^V|;*eXIJWdkMf7w~p8xuln{ z2Ld+$l6UlTtjAKJen>OPve&1Vb{6a8SPEN%T2 zog37(RKUIp+yYUf-6jl+fu|-6=~rI9OfPA-(QXf6s7BJx`Op+o!|#p(uhTn?#P6ne z8u%GWQ5#LO_a~J9{3zC`M_ns6VjKqZL07}rspg|(Q9eU| zWMfY`4UXup9RO!NHQS+rJ#} zHlJ|*CwS*k5r$Io8yfoeDQrkU*-_b+Yv99l*v4k_2SK(m^jW@fE1OA{4EyDz=MC_^ zqxv|t28x6k*h=9zEyI9;%SkPt2nwS&mQuZV2jb+3IA6+e>#dT0v@pD7?K&6Nw`J|B zTF_v3zWZIKhQ7}gwi53Z$v?k+hTswe&l{Ten!+}sPSTFPRT2&&>OZ>a`Z`Gy7g&3V z1*_fgizp!jKPK87+5$vNIwwZXv!T zy53os(UUk6F_GOd;6rs8;!k@2AyM?4(~WRwMt_t^*k}so&=0*FD%)xQO&-l)JemO> z&G6&Vi~t^0m-FywMnqFQngJfoxLF?E;+2nMxc*O)C1oTTIl!qka)XTc<&A9MTMAiE zgC;}fkfemnN$R;@=dvN1*3dGy@c!D>wYt;XEuS+Cr8;d9DQnpKNRl+Ug}?0AvbPyM zY&{5j(-%J{zi+hu=Z)4EhOU$}+dedXvzW)~w8kZ9-YYq0X$v|&TJ>d2ifd(QKeW59Hn*H_=dixX$<|*S2tTXP*5lGLul?1-nnlJkl%>**uyt7 z-~P~S_-kChv1BJiAttD2F|UDg%xgUCNQ#vr))meTY!8m@2f9GE(l*18Xy_ebSWoCB zVQ6>grMFGs(1YO6-QA&oxy`v*N z89cVhH!(KS?ld-NcZ>?!eYasq|8mE28XswL?-*+^#v09TdPn1=cQn?YJY%IOBec5_ z`jE7Hwnf(NJwR*Fhb;1HF(31e*w4SS8@Di+Zkuh;0RCLRsU-Ogko;k!6S+Z(MwI0~ zEV1#B{S!f5lNsN2_3&Lyn>6V98hwgk2-}A$wMpwy{>u_Jhm@_R!LUvS*9a-}4s)18 z?=XjypU!?_iDGeNq7fs1G!|YRq;@A}pI|KtGa$N{X(pbSYW`GhPo>KCbxW*Qj5w#7 z#R&4?o7P{mInwRVVh*IqwD^CLR>Sn!9YOlc(1P-c3lDvGQk zvI=FZXq;jdO}N&u1e9cusf##-%Jcw_jFfd#I2xN+F963eAU!jYLhNo3_V3i zq&cu>7r_pm<9Uy{EZSMvQ``diBg`p1`0#?2*v$lko7yctGs%z#1KbQ`oyBQ>FM8mS4LV|&!{jg3cU zng-{-eGI#}9r))H@Xz&F;-0%mo|+!2yiS9$f$^Uyo(6xlv^X|$qsEK&lrj!81cd9_ZQ34VY{ zGQ>GNk~~Q3paf|hJ3rQ9j>Q^Cu^&DW#|$yP(0uMcJ{2!TV}y*C{6;AAl6Qn&y%>U* z%z!a?$veg`1I7ry3!_x@OqN~IGZyl_jPSku?K=4OlVom!j#&kLL-rkP87&7ZubrZ8 zQr1Kdfu#qHBT5Nr45}#~n!r2YA0Y)Wn**q(I7!k9WfVV7%>>@$Re9Bw@r%NBWIe(TbiCmt(|6WyGJva(0(j z8;)ZzCQaxWvj@uZm}xcMxXHH`KLd1nAJOS=UVZNuu=*|xp~y3>ydS8Xu#8sTrOF4F zAzro&EA7i#!$+lO6w#;WRJJ{SQ(3HSEt6N(OG2!wN3d0OPkUGiU1ql+ZsLvCAMnG8 znu2H@o%ry+fGGXVublS{SUG2NWUJ-}uul$SVwnZrIU?>t5!BW!nyP-!FT-4w74b7z z5szlLQ?H2oR>QG&wQQrQ%DWQ&f#3WTnp5msyWwukZ#Lnt(KYW?uyECD-u=95n6&0? zAgn3t-GmEyy<3erTHB^Fu(uE+W|+mS3A4Ugoe8;?9l_SJ0VS+sKe&uAmuCXzys>f* z=0e(;Hao-JEb?8NSg-c1Rj+~+kk_mG`mI+h^HbvD$G!6_^HL_oz}ftoz#4hqGS1ZN z(7rWjAI{`B_lGK+vGr$ZJO;Z>Bp;XOz{*#^fTc zCm~+GTrC&<=jksOOBk2^p-H)TBw*cffZzJj-H?nJw|C7^Tu72JdVv~?w7y7XAQ`c~ z$grrqNAA|8_G~@zOe5=w9@!X;wZsX_35z5fed~yx*@c#kC5m2aS~hyt4Ua&Y$ZLnU z1g#yiS$fwEkIAznnc>AC$w$mmStDc^RNnh$d0JT$Y)nS_<4=~6@A>iKTG{qf^qP#n zdqU#Rv;OD7pJ)A#^qOzo*tk)al~@Jz%1X-4DO;$XTWeWX0&B;Y6UGieu0W15%>B^F z%3c_)>@A}jGS*0D$~jpFl^Mx6V=;%#E$vaVwRMix^tgVr0%YcITgmGcY9(($^pMsS zVap&B7eMAg)+;gwIW(=2OGD2{rqFw3Zpe}NNm-$55x7E!c8)KTrHW5(9#Xs==ezn% zy3PE6xFX!vc%7p9?Mj~(xm!LdY)`TMgz!@A1W6X^bTPlo;fL-rVZR^Nxb~R)nGZRl zwDT<&OPn8}=2fnLZ7DxeYmUbIT$Aw+i0q|G#m!XV3xJwHAYV z77?CV45K*=mSU2yt1h_;^Dwb_Y_eRST@9J?OlnFs-kDHYc;czmq&+hk9sGaM-&0M@ z?@p;l5_Z}(F+agOKPn3!B*gr>dEwa+@bv4iMl(tSco*%Z`#5-1LJ6X}=sH-Z7 zmia-HAE7}hP)927SS|FhqR-@f>^UZ=0*6z=HyMD#?%qB-q0dj%bL?RZ=<|s7>x8r(XZz!6Ws0MCtXY@D1{uf5Og)e8^=gb<0I*{7D01%UcawVox;~mh7W_ zYN_Ri4Go+QXGZkJ{l{a>sqW`4^P?@;L-NrDX%*F3>#bAB>a0SYOhchxoks%dO!C&r zV09>#I?j;cS7&BG9i13qUn9!v#&fJ)t>%3+rjg=QjLGCzmiAJdG_>B-${vlFZf~pI zKt2TaK1SkfTtk1SHj=WdBk>!v<1WIZ6 z85Us|sqtLN-6C(_YKkh26Ops-&_)V&cWfPYgz&>s-H%^BXhNyTYsDISo>^<}V&?4p zC@$xqXa5Du8OX$`DZ;vwhGz=eZEBy}7TFXuyQ~UsUCfrO3XPrOy^YONv!2!;?-fJM za;)DhV_?BW4=<>kw9rr)279etWU9N@<(LWqIa=~Fy(mA8W3#8H9tgzXToqp}{A7nm+&A@x>$^HFODMQH_0HsX?rAxv((D4go7wQ?D)`oyn zsg#x_LyBU3p<$KDYrU}2tQSBFJSc*wVItrpc&TBQ)IZTP_vqo#!(cy+B)#dI|8tcy zVBb?2vJmLG2XZSa%~H%FdSjNNjWgiScuL4K{YzzA=x({D+@h!EJV4GY85fx)gYhFk zP6L{1SE|d86ZH;FWVl14`w;qDhMfOs%nI}>abji{vj93ntZEdWvt9)~S+_rfwQzs_ z`AZ{ol?ndQdilp6TDJjOMlZCc0}|20--9nk+B(%;UojoCrr$I(dQw&4$4i*Muk`tf z1o7(%Zdvp&b&azXJ}UY`fki6@3&0`r-Pk$?312HmD`fh)0tn;*0$mgcysmH=(GKyL zW*yN^+f6aKZP?xplQj%{Mtc@o(~gC8)s@HAQM7pFZ>FFLAz)HaXDubt+FRj3wBDwut&z^rW$%+xjIG4)blN7SQ+T@IrjjhFXy z41SXgs|s4>N9VS*Q!ct_Et0rxb^~$(7e;OMKu~;})~|)JcD4pZs|1uS5{uZ;PVqzW zQtSwxz^IiOiLNsY^OUR*9Ol_qAr zS9t>1JkGG0-v~Cx@&2+i*-t~bInX*kx$s2n03BPH+v zz1NFmo66As%OzPpSeKD}7>>LUbxB{jS!hYqWJ{AT`Q*i3MbdU+l2*@j5Hyi)lmclU zGR!v~UoU+w$$V1|x!VQWDNoT(8C5IxlH`@KFUt<%9>zQQ+V#jKUf0Hcrxl#D9GPC* z@(o^i<8*zy4QrEHy@)kdZjA^n-3K}Mumo0W5b@S(kdM4p-lY((8_Hw9Bdt*Cu)~q- zKfScIeMubFimYkM1W>zs_L3>CylUfn#r^Zr}#mYRomlp_W-8%W`5DAkwy!5cYHp)prp zj=Y2>Tl&7-AKslBg?H#44zT({q$3F0wgB0-wqT`r(h!s11}p6ov(l{Xt+PP2oO7#f zRM+cWxB;{}DDS2)X+X=&zJwL6)n;QSHge{T+Ax--Ia?GqoWYI?&3ddQX6a#F2%zd2 zrD1lmFCtvAI&h_72CU6g_kwcH&5ft^?h%DuYi)H{yX*6L;oG!!mpp^npfgn^Y_ztA z_lfjAsR!28u)1fQ!R%7As$5`8-(oLvs(YBKgnvue+h1T9)1L@ygY1VdtG)a+CDc$y7X>e%6-m5Hswi7Jjg35^t!@YL!%NPByQ7g~yO`6~2PRv49mwrxF z+5^u%9?a~fmI*tZFfU&ZkErSZOMX4rp-cV8GfP$4zXxD!n~br8COYFJ7Z}@O>cM6j zCxX%-{q@+hFVB>$ZE88JGF-9v2U5#^SnRK05z&HC@0fm7Z17yKE||3!c)X-%mVm4a z))r*?_{An;k+5c0utxru8f(G^;ug(%;uf~v9%&q^%?^X)Kc(ff^!QAM2JrBTf-N1* zLFScjE);n9q&6IU@C{`^MWj0Uh|gSHMAzD9Yh{i(#L5xw;1k93@kv+%7k1nB`*>wf zvn|OSlONO)!QHms19_QO?z40#)!XNYfO#0G3>vqZamo{{_Nx6l)ks$Dm-*x!(|)14Q? zjr0)6BU9Zcf_easvOG9?N8yecmhNnhVfN`FFa+L^XBo&DQ{ny77=p2e%%xGgP3M8N zTu8UBif@rob$|yR`-FH?_-e%ltbT2jt(yc)b(C$l>3Okw*hC zLKczQ)|={H#^%Cwdm|K0mr#q!F6q{t{QW_q_)r*={D+%xGT8MpPKE@ zgS+6m6NCB_hTHbjsZYYTb2jps1eZZrgR@e$n!5YN;E3x&&%X<6GZ>Guh4+)9xja$K z44fGp=qIjJ;smm<$l@&P(%60=+0ttbPE>qzaN@sgSPRr5`#n4X=bO?FY|0iy{D8-P zn}oYKP0nmiyI#oVvvfK1HtFgrTZBt5V5ds2VKu?NwhxmZT=HVF&a1N`p|c`Sxwy!# zwd?AJh437G_48SMH8y)o?FwxBtqhyP;46mmI;Of;G~4exH5`j2gsy*IP`|>hw*6Br zuS!C}1sh>h=Q8MQCD2Be9xT2S;n3(mip72#=6i;Ys!VkcVeN*-tl9D-e58Ct&V1T! zq6)L*kA^jaS9ng_)R_J3H)A#vm=zdiZI2=8;VkafTDPSB~r?U46*S3f(g@)*sW_#Y)B=@ce>KPdJ`VH@xbS^<>LtN7i-n|j4vxhk%1qP2MBS%x+ zcd>Q@F}>SFwkhEmr}Tys@8+5_swSwg+-&SF1fIY8U3gyYk7vYx8prd6i_PLWM2yIX z=M$`c6L>~MD>Rc(gHoU9aL-^3CNqEb*%zo;SSZ1f1Tzp3fSM_VpXzRXk#pI!4gG1)nT__GAsR)y0#mW)jJ)ruZq8fc5bb`#`;2&7ynx+D*yYD! zRa4!S7aDJcJnyOQAG{^ht*izY3B$0j)<`@QuX_hk54#0f-d+yk?Kfht!TX--K1eNS zj_hyfr;Gyo&#*mJVN@7;#1EQbg;+fw%daB&0Qw8zLA4C zj@Ro3T;F5yR*G(OeX>M3&T*Kh7`GNO5RgTjV{JG=R+faxBEeOMbJDo}3z;t}*x!i@ zgTL(#>2FVU&+)WV zV3aOLpU4ggrt_zN2c1s{pz|s2Etebm_|td;Xq;m-KE?e!d+UKjLpg)g()3%ugQn--1WiwIU#V2! z>ZRuf&@&fA&r{rIS;+txhot2x?qiL#8c4@e-1~!C4W!{$7!7y5X&PRG7K8CYYiVlw z{Yw!2VhtV{EKE*sBRQSVU?0ZT%d$LjnzC(}oFhD z2w9?z3{7#5Yy>juc+eDguOO(9+#s2ujs{I}w{E00@=iUGh$(I^s5O5WM@Q~vFzx{Q zR?7%=6bSgQ2nAP)n#yo(1-Zaha1iEKuk5CrZ12kc-Vk(-ypSek zw_TCl4`S46Sd)FAj`>V++c0t_I|69j6EpBHZDpl{>D;=^1AqVWX^ph*i4gdg9vRen zATDH?-5C@Vh>PHvwMJ{fwCx790D(a(Gu|grKWKc zTqBp&XbL~UbyhUeiw8%+HU1RTOCX*$C~_$@o`PE(jTVD(Me%Eye`H+E3yCY1QvqC& z?*}eIRs}LV3SP21RDHhc?B1t-KK&hR7oD)jG>+HHt&{grPjBDegm!^p?gV7Epv7ByY@IbiKU9k|#JT=UkuMLf6Pk~{OmW9~pctUVnu@th zachF$D0?8XHft>6GR1xVVraSCRGejs`!iNcO(8z1DMwkJEB+cMU4%Izu#Oy|r#MTe z(x&rsrntAERW;srn{XP>DB`=W@ECn7;&<=GiC?OGG&weUb9g)WoACBGf4nsjO_}0O zY6OyPn~0&n0t|wrAKn^?piFT`G}2q+ag!--=LN!bQ&{^)5Y{?+u@;)wj-kz9oDr}2 z<7{RKoc+J|_X{eIEvJ>)Deid;HfoPN*gx`>o*V?pQ2xHJ{E$XkSNlo6(s4np`?%}3 z`um<%Q{2vw{;SW14DIjByya&@%2vs?K&#}xZ9|eh?L_9L$G=Iz4uH_IN^Rf!*LXb0 z<5zPR`B=fd%xR<-j|~}I!yMF$KfaMam=&oTR-ERaxsTIg2E`wzw+ zNkz2}ptc}={@TsikN@)MvHyV&utIG=hFHb*$HzAwztXRjUVpWW}@@`?b@UG^Y|L;bDMWR*3l_T6s| zpT~X^J~Nv2A^hhM*9crg`4Rp#xgfauVKcy&@UQz*BVK2)KjB~RSdiZth|8yfa2e;t zW#fFAk9O63DPxlO(jSvkRhT3l%J$FaWB>e?dnoIvV7B4mw{0SJ5Ii=Udlvajl-$I^P=$A9P#M%ee7N9@iw#xUf%_#+86^?H3PY zTqB#zDoSzdX{6&;?Wgm{XdV7@oJ)(5j-PJ9SjYazM%o1<%{6~TBUSm#EL)T1YUIi!n%Cq|Jm862rMPXXnx3qE?~V-? zgY1DkTSOs3#;;P`>8kpHJqPoFuV1sOo`1iuAQtJ%Sr>GfpkKSCXDLM?!oL^2-;M!!-^Xs8?nl`tI$)Rfj>*~V8C8~`+|J*I>+gRTuAdIXbrYFJDel)U zU~ax$ILfXJ1=mgF7^S$MRn_!|Iqf;1cr(LwBbi1i?ggs)fw&H(!F>2gQPuSCIS|`6 zhV5RBVB24h`Pz@8_8Z0bk3skzAB1l?7n|9en`l=R?H6P@pjmPbs5g#@4A3v>WJY#B z7-fLcPEpDL1y}!#GC)Z(-NpHGKTcU$~31@pki zv_HIco&g!4|L|sjhT`I6_Yi8`538e?q?UK3q_7N7AwO5ykLcm$;9N3QJVv#T8qsN+ zoT&{u@~*aiK{=q2l-*0GGf@66?QW)(ZIara^BDqjwW-{b*z5NpGPUD6-y`*GG#4}( z>;HZj_T%3YL{|t`9uL_=;mPjZs#+dM2g~Ua` zxONI~>&e)D3K`p!+e_z32>Fyp)7rk7?RgJ98#A@-hgtQ$JhO$YPi=lz1+((`6B$)0 zDvyHf7Ek`Y|NaSOf8IizuYg=o1+(DV6OHcAqpSt>&Pd<>ynOG@NYDPf$H-e^d-IHJ zZ=NSFpW;zIY<*J^3di!^JWnLYzs5mT4G*-{`}1Vk?1{eldfKL{=fkbslP8Mf-_z5o z8vZ@0Wieqk3%1Y}mWQw2qvy%Q_iuF$wd#ja|2=xNB0;B#_*Nul2FYM{)`MT3$*aF3 z&*Xk!N}c=QiHRn=^%a~iFVO3WWw2Z|!j7+`^OC2eX9YmX4-CpTNp_#{mc2hH1CB7^ zYxS77q`KABe)(z9k#cTNC&VWLV`#pXwoywV^9Fr6J(PQrQS~_SjZvHfyrGm$#-GeogspzFrO9y1~6RZm%Z0FF8U{f)8i14}Pq3Z|C_OF-+UI+d>YB14i(Gx)tv6FsfMv%%(IdGNXhP7y>)?E zZ=_Yu+YS}W_VpU;t*P$SKkE5gV%ffyFHxp=0H4Y$OoUl=+_SM*_F6jo<^OU{nZJ&H z)|>4f%rT*@lEvN{YIv$8ZLmdhx3^AkFQF}xG2R;LUVQvW>$f+v9_Ygs{QpL<^*>k- zY$Px9e``I^H;et=JoaEndhiu&?Z4=)rG{o8&VuVL^VSRQ&4ah#TIt?e>fQozcXR83 zzL^iBRzq^ze{((Xe{MixwQ}^jFL2rKD$k%QPwHp$nO|KjA&M;m`=A2>Nax>>R%ukcLaf>H#h37X7 z;u?GR+2%nUod?PF6hX=6LKxbVW%%oAAS0Ot98apg(n;* zINYI^c!)D3j(2@l&-Fl``ktcFE8m^0f#`JwZyIVP#(+yVjpKR8z&LEepRmT!x9x(uAjb^Q9B3B%JLP1n0$n9lW%9Y#GZ zZ?q>(alH6v=lgZPt-rZ9cALH`P6TwEnN&Zo?zJ-XcX#ZqBgPqBebe`l|H7@1K+m(G$g!lCT(%exa>szSg7lp)1*@^`<|3f7o$2 zG8Y-dry^&H<6W=cAbhVB1(9<^YEMcWhq{TV$#DaQ7WK!?T!|V{GK^kmou9tTx+C3T z{W-n=LkV*iJ~V&s8xL)td-0+F%u^{x^6BgLmB!(!jqkAmvraXM*+bHsH= z*%DWzWOAi8yljaoN&`gpRGg6pa1maZ9J(Ii8WHib#aTSwHS)U2wX)$fW@OlBa{XFo za=m+l*8PI{>f)b%FJHws!&hBy{NLrPDDc&V2W75`t59>*pzAVM4PvnP@9@>M-^f=L zbw0l8R2Q%C)rAMR-Z#TlQMJE~tNvN%&sCK*uY;>D{7L4i=P#*wYFnMmQ`@dneC{px z>OW|$s|pIHtQ3!2J)ze+!y=!=O`zHwZXoAGMt-tUTyCC*vrBb3Tz}5_m968h$eh{Y z8A*u8NsRrD6lz>H6DTwq_n-~ox}PZw&rZ71ka(xmJznq9@WT2Ng&O>BA)de+)0I}; zk6trt!t>4~Rd5<-OKn8XQ!eRJ^zg_nd{pmj7-K%v&#mCaa z#MpGL{SFaweH%a2&eg{XqgvjI7^b0@v!!026HnubJ|p#spDjM+%#?68ZmPvX{N^fd zz3X-{EN6%qCkpm>ai#N->v}tOh(&%Q#cUgD7IKDm)??38v8AK98`6?b5c<&y!EB46 zuo&lFb$ZBd8T=Kk5A-Z85>rK-Or$mBoUmBLMC;DNDWX14YwsuOHf@{m0qzzZVjU_* zuT19G*T+5(e!sMVLFL*AyG?Z1++v|L90&D$RV{*M+H+E7BSCYZ_ zX6s#lHz#5Ct@b|dT3s7vA314+xWg5r`MddX*Aw`C+oT=1HzQW0-%Iej;~OS1a=ih! z0*`{EE$hawf7tmQ|B*A|I`o;C zt>)RXAIc2L6*JG5>G6MASaT<|vu{bwFcV$BYHO3H>6>)*m@UrEch@>HVZ{i^>r6tO=1NU5 z?Wfyd>u>EN&R&>1f$L)_YMr;h3fo5e$<;_rzA355u=^jAgg5_gju#(yeOc4O)g%1b zNjm(Vh~LNYyHCV3ll1tVhTnzwJ;2ai{1>P>wQB8>WHCu3IP)7ma?Yqr0*u$x)Bjs* zmM2H#U!MucaNA5t7(uul5Mkf9+YHM0$BJ9$(MSeaxgIpH!&gu6TsA+L-_S?YY~Z^; zv1r=_8adak1Y_qh|AuN!eS3RTnmtimDAtyGcUCxQZ4x+v^E+4i; zG(WUWKG_nTbGd}}IbC+iw#1_~@kFi9P;VuRawoL6H*Tl2D++G?-vOBRyF)mCXDj4d}6o(60k$h##S%iJ5F5UTG8-$nJ|)`+;xE)dv6!h1+G0e2&MYV zrT)N5Eo_(>*p^&MX)BGDn%R(yo>SeIE_TlK%#s6#X=-DVug^5(8b@q1RThQ4k?cO* zP+ry&&%)U=7kl<)Lq%CcazyTRaLP85{OnUaBi!zjTxBmlmdJJA9M9eQLl5qYO){+} zzPqkKD;h;BsC1EYNkcbL$9VsSWCiaxROi)479@To=k~niUh{`%3VxJ&%xvL)cDgX^ zNpmkNeT&}M!%EV7?aF*HGOlIzIx)78PvH7Mvh;10)jCI4#Py3UWNV(z(W?gTYMax- zm22oI#*VyoS42)L5!Rr_Ag&dEls<3YSsVlz(iK$ufb^qusQn1M6`1^(gWvD8?<1O+ z^q3)yd1I8=Vf|#t4akp;sa5Cy>X9Cf8j>4bZqWb3QET;W(fNI>Ujr(+pz7yVMdaTl z#X(Zgul1|i;#aKl>%~o$j-ix%&aMs)JL*`67W-KhM~Q*8Ie8cO@r7i zFE;Bj*ZmEzx?(l4o0G1TwTaD+#yJGsMv`A`^E=x=a#l&PknX*&$L1b%j%oN&+Ausi zub=f4lVXJ71DT!kTU$w{(XW4HwpIQ5Df6V`B-hHWbsXYwMrgjaPN>42bejO%l*oLo z6&8vXvL~IO&pA^vTjp~;+OVfvG5hwJy3P7?nDtmHM^9R0^0>8Py5)6b=Uf3+XwL00 zXCWLj)l9^kYanU6;E6%=nCoi&z+GMQcDUknJ21btIeqZ{VmfT>fHu!ehmictgf-ZlKIXq8O z7gpUO-%h@Dwlz-DYzc1D$R z&#k-S@*;BL#F+d}uyit=HyU(#JZ!JkuAeS*-SydF`H&UEgprZiZSt3!VgF=Jle#DB z^TTr@VCPJ<>@1up=9>g@{#Qc&HnF`uGOvAC+Ougqrvv{*51l3%Q_^79bvF|)z*_kn zIHmNaR=p?PN9VKK;2OdhXpqglMQG*z5$YLWB0X_UynNH=YU<#IXNJR#qJ+rM^B zIE*XCDh)U%K9rrTU4&c=NB!S|uHeJ0@lD(<65NWrsN_|sTDPm;iG z7mHiix0!VtyP8jx;au5VeyBcYk#k@}gk7KC>7jg+{p${XHq|)S-8Wi5X3DE3FX@6EOA9$Z)-1UrtGImS*fnA{o`iJjzHO1wEI(C=loc^ zhcm}k4c+4%b;$7~DD{rjwe_pl#aB<(zJ9Z9iCRlsyXzv(a|6a!9o{`=SBD(quf#ol zZnVvxl}wr-I^Q_r>zTPGp(r9xo0IJBe_d+_7jdK^grZyDpl99i4ABv$Ct4Q=;(6Zn zajwLAF*!Q_>zOlgJ~!38gqq22-SrD)Wo1dq8zXyDq4ZN-r?r=r-HvxNaTd3%pDroy zF5=z!G8*SM*DJ~rS^ba82C~nBvh8IZi2tuglwekNSo6ZR$3gc{W*#HK0T*? za}aNQI`99G_AYQyRqOxo-g9SWxG1Oyio;D2P)9&TMHz-+17eAnI+#|VW&@g+tbUf2 zj9OWCK?Zb~(KPL*+)K^WbFlK9V;5^k&&g7b9xsea>K=t=bDj6Q_RJtq(dqyC`QYAr z&6+i9uk}37dhX92@WG^iZTn8!Q2y<)R%W5ab3!IJudHyj@5Z{5cGp>%++2Y6td`RD z$F9iuS^d-Y2{>c20^ixFx^JFTQ=7~xYTLO8iYs&R8hTuHKSfX#CKa_7_p!Jy!Tqtf z#!>9Sjo_HKUOP@{^t6!<-lPqvQ!$k4STI%mrQhH1gu3xzm;LCb&&0x}FGS*|mj;QN zHU-d4f5-C)JpX-ysOdxko@qP_Gqnq}PRG0L!W#Ckyxe)`n-{$8o4u6CJF$To3O-qA z6c=|n-f>c~n!CnAY80})%Ow@w_6)^gW;z49nXO_#14d9`)HXVNn(j6BblZE{Z0q9u z-_^t9FYDIO^wpD5>}bO>{a9$qZsk?wjm^{C9c`e(_ZLv1;BRy3_yXw49OuIIg6RCb zm|W^^N8w^YxtH`eaxd{3o=XKyyoM({KPGQ){-XTyyvzAbdEo^G zc`=I?7c5(}xZim+VC0dQM`Pamc_Vvj>@W+D#%^g|P8w~kcYNM1fM*LWOPpj%Ti^V2 zHHm!J-2GRfzzkX=6PE>Gy$Tf!bDDYwtG6piWOP!$wQ>`&a`*o~uiWOs-Yd7c@b_14 z$$7GFdFTIMR_*tthw0G9{I6>k1^l|VW^1cOW&!fCvqOm1?E4^U>rkeFYo0_keJ-HE zl{p=A+A^3f$K@_>Kq&FXhyvgJBD<{3*XFug+V-AJ1>QWV^%#FmYz@ID%h`n1HT+fG z`h8=#eg&Y$U~^sn+ek({(v@Ow#Qu?7SV0W=?)@#tn=Td%g!FU^dwZs>iElfEHWk{g zpzW)+{{nYidYV@rehIw3e$oc$V`N6fumQ#5t@rqPKO@DS-XPQy`C1N+Q8$SiiL8_| zxjjm>PUnS|gh?Mm;tbsVIlfPL&!|c3bV}pgi^Hk|DnGCXczs~^lSPm4DkEIcineIT zq>3`|e{B)vK1Nl!vg`xIltZ)9m>LYz6!w~mL%*%#* z&yR+bnZ@0k{cdX?skDbASTd4I7*e&c> z&2jc|ga3X=3lpTpf&0CRhgHkW-u8uF0aa&m01<;S7^(SL-P3ks>jf@%ke4YA64}%C z*IOg@`xIZ`vIh-jRM0$l7Y|~{9ulth#a60xY-PeeNNZc87|oqA1H4eLo9yT@Hh|y5 z^e(c8kF-9>pPoefpxp46?t20518{bdcFsU%JitVal!FR66Nn~GswX@x(Z``)*0wjU zWm9#_52uqA%VfeBZ&NUIFJcSL%P+*zL9qgZw;38S(Of+hQ(vdpCbSo(eqSKO$mdac zoM;qh-8dmRSvQ9ZS8Lr`M2X!`@_C&QpABUcMj!Bcen|xWE!0mMqFYoNH`$lo@ZCkE z!MC-5Z+cm7Iu|(1z({{oGg|xKTfv($sW?GbWSrqFlQ{*Zb z61gC@rh*^c2wpr<&{`i@u4TM{3E|+ev)a5YRG7Hr%AU8yX+2o@RuL%-S#V zHs%TQPSgpYtB^Dl6=-(Hfws5&Oqh z`V_17dlx6{_btBI=xtiYmULNdzGlR+NM!4MmKC{V-~23hYpIcwm_y(UB$_sADs$rQNs-7-E0c8e#V9=}K=xkkX#D^kk)pD4 zTi|8xW2b!{*CkF|lNP1Fd{$ziin1BVNk%%{+uY@t>-_bqOyyUlKVG7y@VC~5W`daY zj_0a3la*1?@frNethRyTR>hA1JPHWiU6C2UcojdZ3u1uB;KOU21(_;_;P75hgniD4 z{f}p=KJ+OLKnua&LbSf^99yZmGr}Jl#6n(k2w8Oovj7-7p_SmRz9Wh`%C2|L$p z0c+3j8Yt*m3h&|Y2Hd-Fcx}B$Gb=axfumU8e4&Dz9TrAn{Pt=T<6X9lt?$Z)g-XmW z=GNL!+pi_BOV~)R4|la*CD-{~x6$(`o95*4kf#m9>OH?EL_M%TdPWP=<@rrd%QT#d z3pgM1C~*FMN*Or+Gda7pm)!lwb~V`kZ98YXY$Fh|u`|my9B*_c=bSB=zkUmd=?lY4 zy1aLgvvuG#9}7;>c$4;&)#`|Jer3A@&Y#TjZr4BfcW`!Y;IHkS&+=DC=Stfx+hLp4 z_OEf3UzoDZ3_Duve?{yW`ym1_L_*E6vb~1u0+N`2h9o$qS z(9@MvI5=A4XmGQ%aW1Hwz!JvLreQ%QEs7kfuK0l`77Cj-`inpx!8ga_N@s#I_U@o} z2;M%Rjj>XZ{n>Xz!TCgjTfCb0US4ERZZZ2Fw@B=}kMUS%b?oa(On6`WuX_6J!Ki?! zv7hb~)vWrfidn{<@Awg`aq*W;oW^c;(k3dZ&8o3~(dn?M557`ES9pUql78AwVw-e2 z-gHW#d35n2r4I+dW;9oSfqVV29oiRl6kBW%>J5P7&CG&)Q+iFyZioIu$Px(#mn@++{1I2|kt85TudejDm zEFrWk38qTl^;;sNOS&9U9a2-L!`tcIQtGzo^~D1UaPDR8+3JCQ7Y>258c%rQbHFZ< zWg|nV^fOhYKNY4SFg#vVOgz$4Z zodmxL4Uid=9o|(t8vF3!F3l6qwO>9jEn8z>)pnsTZ$FqC>#-nx#rJun?H~R0spb33 zY^#I?x6={PrLlM5tVMRopT(AI{AqIs@NujCHdgq)7VFOvoIz1IgKTKM+B12+5L}oPe#vkONfvX0$xnDmC4ETGlG*@w5b3dtb|v zCXYqb>iEAljs4m7^EPFcGv|^`f&UxvKKHfEX^JtC{c8m5Kh}2Hb_p+iwnCxFqQN?#@bTnB;DC?3M5>Z7VIaLNOd`8GA$+I6P%h_W~{RHWxFB1DZvEn51 z)_2z)mbNEiMNW2+|1Y#&%aWKEaKb`jztN;=*ii;CzkB39!653sPccxj@^euHlVFDv zpAWLgtI0hTqqPE}WIyl_MdtDuZ2v0x8MiOMQ}$0=y~^d)^_hXFP5mrvkKq4Xg%)r7 zOfSuyl(AaK1cY`{#<|el5Ex5q&%n&qc9H+zYCWFi)oXrVxV-|%{Pq>PV2<2xDx^cH z?eta!ur-cRlu!`_OB=W`{aEN9vyKLis)3{9jAMcrq!KJ@h z-z=_%ZzIw7+y)%@z6>s=ql%6{s%@zcGDlg6-G)#wGfrr>Y8zlu?^5}_9Rek>l-%jVhJ>9A87ekXBWB7j2&Zxfqdig1QRpr0$ zN&67z-}|0wJ!nF*f?#pa>-bwrzJWo$M z3FdpARyftb;}zHAO`bhAa6I;3k2HDqXD#H1=UNForgPsxE+eCh_%SY8{W1Pb=XqX& zBN#Q2^Usp>_&i{(A-hKE zsmOocJt;kPJ)ryoC)$for?*p}2N&s56(cC6Cygj;(?yw2T_5=B!Q~&~ z4o{gv%m=avj1k|suxx4!smC_BYJ^1)^UV2JbBHC(sqLp=ZT>J_&Cm(U*i0_SvO|0I^piGn z>dw!Uf_`h5HTDrs?}`U`YOlgmpwru)YvV2Wsc0|W2u*!iaA9i{JPdrcW zbSip0nLBfsnJwnqlT4o7uj~?=NM^y&CeQx8+m&p8-}yaoi;Q~~xJ9n#Z2z@g2VT86 zTTLZAIgXmbs3`7W1hwk_dYsL-sC8p*infU05w!WE&CITwZ!c@t9j)1UGsCj;=8P?q zZ>6Ie=s(vTK-Nk7Ex)!LQb*HE{;!%_C%fBb5=o!W%uhuhzq7{xSs2)ZGg2yO`ll3> zS|Vko;)Ad&QYtT&M)o%i>nw~ZiryDpv^zhI&UVS(#|tkNsF~50 z(Tul!t(?e?mkLH(h@Up`U?6#LI~+!5xL(Y>ag*neiLZs%8#e>CkV=2|8S?ak(bV0) z749vF-47{DLya83NT3C#E>2+{)oYlD{F#9j!ji$; z3Ek+A*KREQGn7LJer2uvJI5QH;r*WFAs-g7N8A6HhEU<7P2t!Z;vx8*V^Jq)$j>6a z=4;4@p$xpD@M|NC&$CB6up10n`}NJ*>JHf7G?1WD;L#P`b?-Y=9mW5vNy@!nO<^r_ zvC8T_1ydO+;*DzqC_#yaIk23JxjUWT7qz4~1w18s#i>BI$tUpotn$z+HRD%8+Ng+A zT+;3VCF|M6UBQ;!fQbYJR=IWXMS7IacI7TA)I+gOaS26)W{E(vWHmkMRRL@7bkVE+ z=y=edqT|WUN!8yu{@IaelYr_9+b`lu=3Bsaw)xu#EJ2sXd!#;C9}Yh#g>-(SH{@~I ze$wk%T_7~dYwWLdfI`Z1c?y{g3c0>xaMi;+H>}3f+K$+L)Hcc1xr~f?4VIP#uqN>o zbK4Qt2U_2wY)Wf3Xi`qc?5x3r+sq{tvqn3m-j}D7HQF#Y?X1xzH?OJcLos{E*U640 zRg$tN?UikhHoE4HeHkBIV8Zz-Wje0*`KE_H@)FCb^W>XFZD00FMGx}5UTCYuI?Zeu zc=H}TjO@q;g_PYKZSuh4u#RMVNT+K(XSQ_w?CRSDDD~xiL?oso?0?z=vIY}=C0CgU zPb{kfbofe}FDS3)siBQfWzW;UA!)3Ye+hjx&#~lQw}}YnlKZnwnWCZ=eFR!Vj$Y1s(ZBTuP_~HCDr>8lZZz zfP)c(f=a}s=KI7N#0Sx12h^vU1W}s1!woadbf}=I&k3sowm2uBcIlKihatU ztiHfegNNWeO#}q|UpwI4>jKw2C=xB?3|)biMEM2o%Ai=Z5SV!kEo&8;J9ViGuD7%%HWXc&oLr>F+|k z%2V9DXN8yr*)IHBG_mi5ios}{gRuYf(l{hOyk$GQDH?{|!Q(dJco zH!}nf5(NmE*CwyBXA%e^ROP-lMfI&r0zCx67~sW1=uJLNrMA0ZM}z%|2fQ@E-~9;d z2c5|gc2wJcvczRmdiaVSD~#)gly3^7-S^4Oh5h=Nt**+3F~1q`54ZeU%I{Q%JE&P@k!XEq?UL8u(!qCTZi5y_j><^*ZJ%G zoYdSajlSgp75gCXhe6&a)cG(p0vh>ynFJdNrq#3#sNT!3Dp|RGt&y5s5a!AgIG-O^grYu$3|W2*`Nxx7ww_0nz+TX>K4yK=czlbO}_2Iqo%?=oT* z@kM;Gw=ZHsHCd(A_LEMjWz0Q_JmP-R_i^6a-tDy*>F)V4dWQ7q`D+iy^7E4!F~)q` zDYm@Vx94B(jahU)wpwf?^L!OOU$f2562r$WN>6I4Zb*+`7g=NZdF?`9GOEij($!XqHmTWGs z`4Qer%8v$3GJm~kyOW`&p2S%cRUJVEt#X}7&*;Zdfw*t1h@j3RhGzLx6;)9lLG4-Y zlB-D#Uda|E&MNrze4P4oPz*VhzN^6*X3z2Rwin43?QGY@>ob_0Hy_!O`*z+g6V9>G z(2+4i1#_Ffw#)H z(BK8@iKIuKb{jsqMQz!2^N58Scl=JUVX$Q+@g}E0G00go9e(ISq7|T2L(1qPL6M44 znGY?m;q?J0d+7tBU^l1O0)t-_I9?J@91d%%ab|_KJgZ~|y#Mbr&NQYPwZ;_C_H$%>sMS+J2Tu=KZU3IS)lr9#@*n^zjc&3C-pm?r7#}jO~H7RafVEEpCU=_ z@#6XMreVBE#_9Yi@~vZ)b96ta(lgdbj2DaXVvNzoDED|{-Qz{_(o@HKu4O-egcVlJkF?t>_0kp-Aq`Pf@%sL`F3^#HSV=rQov2DrS6xjRj`Y=x$wOD z!4}A}(sPYuw3yCZ(1v_=ROcq!fmwbou?~JcSYGV@zu&fz;99!ZLVB?Q+=+B z$r=Z`$#(qP=FPXeXl#x47T>97Z}pLBei{vG}byGM|# zMF#39+Dhn4~@_Qn9EM-XkTCl`bh=Q2J2m z{LyOkBNj&A`KKR>nR?l&6*I|Jd{5T)XMz$rSO^fhW*&Yk1} z`~=ZUErQZaZmOEP`=;S>=y|ETuNh8qBDLOpmW#z0GF86$B&SrZ2DcTIyP9t$`lJF2 z8Gkwc4^%&a|A(np;D42R8U7DYuf+cmxbJV)3k;8AUshmWo-i&q78p+;5>v2K+OW#K zGmrB-BPd;sy;){_(oNwiI>hF9{k$@Now*=G@1-xkCepl&sOHzSsnGFc%e=~x_G_S- zTnp{MJTFCA>i!Hot?n2MUtdJ#GQ;syfX@!gXEndG*cJao8?zDbmjyVdp&2*=pXY4c zXLZ0gb&?2CUb8vjZo+kD!{)SO1MyrSCoOsU5G#N0>A;3~z1Zxp3)astgI>}^mfNb$ z#Jm>D;Hf+$3A`|wTQq(@7m{hjkW{pg`Gs~2g~mQ`2=RDz%`p&t&d4=)yyo_uV|6E) z<0X#Fu@!RZ*@=DUc$W82^33rH?}OxdVh!>7x!7-)9Zv%*;|#ZbkGi|9P_R>CT83=V zGy~s0O$?I)D*zoYFwzO4*!9gNRWmFyK0=F*H^V}yGf2t;;Q0`zmz$`qbSPcY;RtD$ zSo~`Pndx?~_HEaSsAGTV`*q)+^8NbOQQn@I@Bw_kCh3RNCgOMg)i$f&lT>cXXX{(D z0BdsqYqO2n#{1ngV4fS&vUo^)0B|KI(`_9b)- zpRyfJ^1na!QaM4y>lk`M+_YZ1nb~7Elbc8N)#Uf^4M}zcRtw8k+w)reVQJ6<0*?hu za6{mANUqBPfi(dh2)u}vRnU#>4j?c{=KTX&Sm;LNzcKG8_<8T<=lw|=^cD%fp0}pg zy#HBv4^xtx|K3-h)@$B}s>r;>t+kDW&$!FIb@eQjY#-MyDI(ET6D#*nR4CJO{)YOh z6nk-*^SLTFjb}O>-?ScY98ke!5t$Vevx2i|Di99P}%FMi1P8o}-D%PqNn(akG8 zP)Sxr$z}J|miC%gCVH*1w>owG_L|1`YIG*{yQ;OA*DCvIXGOoW55P*SvLAQ)_O*re z;0OsMBs*HGhBB+{<<4fn?5FIQ*6b{iS*@RglS7%94V&~*@Lq8ok>@>6F`TN$Qv@eB zWwk`yc);YLK$BXh+b6e8$2eq^|Jwd#o9ey?CP6wT;|R+#TBMwZ;%37V*zk+A{YTio z2t~QUjm;ulo(TTOWDM6g(pzrvxpl}0KVpRRmPY5l@Qv`SDE)PKvs|%-x__t1)@nNe zPpmA+|BJzER)Vwq8G5pR*gmucy8G-v5Av(uw7qR3CsGaf6Eaxrv;6?;xDekwa(%Ul zoZS`p?zh}Nn_5pry=t9iZ*#tEYqZ@-Qd7#uRn)tCBB-;ARn*0$D(ZFIAICl6H=kdk zq8{8GL2bxWQ9+AT)R~m-D$~ zn1s`4I!>c$#w2JlUDB+^eHu;TPoor^MpNA!X&fiwInq50i8CJzcmuC6ks3JxF;650 z$`5h$Bsxlos{+wpbGb;K`)nxuN7FyN8n~G?6!E6K@ud_QG{O~4Qqjxo?k-*09Bbz9 z@|^wqwk|a+(!+`lCi-&T-n?+c8UAPpWcIk?48dcP2tUWUygWg)&XUDV26s8skj8VD zgA9vv88h*3O*dc4oyBvNv+zuK$_z_*-VDp$ye!M*yqT8pMVXexdG}csTSn_q$g!jbF`KSj|jhHh;FCa=eBdAaRxkhJ zSK(FWyI%$AZoYFswY)57e{bi*3(T{DPZ?!*~{ z>zW`Mv%Yy~briCi6JE{5aeZ0n&kTUaDIM-_BHV<`-0pa+i}-yDkX37%eO8zMj)4Ec z-~P|>T&Em%x4*qV?{7cN9^5siU!F^5(z8Q4M`K_9cTcNRj=y!yb@N<$mg}hGEv3(~ zL%Z%Y3dX77B{iTyr5~!_4Bw~dYAW<^jN~HrZawzU_Z76Ms_F5o(^~510N$bq|BXyc zQkwMkcYCd^Z}zGF9A2TN+Vzf%YAJX+J$s_#0=$Uz?D3A$M$hQ&ReAaad=%X;RX^Cy zQq%4Bt_=*~JyNO&?~&H>_N}RnV!Y#f9YaCyWo3G{qEl*0Av}n4lFh%|yJ8QbU0i&| zYI|IlPvx%6P@WH2ZI40j1>dS2Za#$QhQqposx^1Q=MoJd;X)F5F61zK#F+?qy4jWp zcoKEJK11T-LW*24v#Op@DHjitk@go@N?q;A&F@$C$AN5zzGjvE!H(jqi}PIAIlk{1 z*o$NNxQg_j-ci-}1o!AM+-JCv?-$+iX5Z0zd3L?b_Zre+=-aEuNnduJ{GzzySAK0h zPF?cug?vAI`}4MY81OB8($D|$61=}=v^;;y{4Y+_!)!`t3`QW@ZJej>F;bZHmb4C{ zb0=evr|Ir7KIWe$byVXFJ^#y8=K-5P;!$dG`mO7zvi*oNl;l1U7G1Q7G24;1QgFuZ zv7T~F>D*--;Qs7KKa*_<-o736fy7*xXwx{f>fCCW{RNk4udDz1@77&I{f3B!Br8}R7o4`Tsv=0 z-|{m1Ry$QP8a-e;41by3+^#AcOZ-!3693d4pqCZ!PgN-@crW7|P{z6rukwBH2o>^L z@74BCI^>n_^B$p5__U_Ow?cDg&TOjmA%@X84CV8 zYL|^i!`2jfAri`!Q{}TlS@(TWVHEV3dUjU3Z^dN9^XS>1+ld~JLk#AWhFc4=cYQHqT1M-t!5~^7w>4 zN_;|J0!7nS)A4)Z6FS%&VIdR^J`%!@n?CoI)yXT@H^*16?8~|L!PQ)Nysv_7bHTlS zBYxX*n2er6Bk;dXXi5CT-ecXpN1^wqZg113Zg11Zs`qSR#6wF>GD?xW7gFTCNN;%$ z{fWOOiP)3^CwGG8&1l*2vrFqq1L|ww-!`MA@3TNY`40Y1qV^lv7oM{cm zX&ntNYBcN@Bi&q7tecAp=eejc;G#wu$GW*FTiein#v5)Ogz<)9ykJ-^0^Q?MO(bI+qsl81Xgt@I4s+O|8C`@AnBet?y_a40CJs6Zn36xpCcC zaHks!ZdR2;#v(gPyd6n&f)`*uyj9-gX;>?P_hC(AOrG@~*M?}=mVr$pOr8}R**47{ z)lOifrPVu2Np$zC$atsu@!H|Hj5r$pcj^%V`fu1tW<;r}{c}~+X2AcBS@+=oi<-a+ zDsp7iW@ZRZg=kPzs+11Dzy<7mncc!sr7375FyE$oncWC$rqwH&nT$ReJRUs9sj=$W z`uT`r3z0i``}ix|aY#du&vj4{rQ6$!1w`x$SHbtuMDVZ0HD zIvD02FU&pOP=35{j5pjE;T})fn#%Lof#w8)C-g|dDI;e0Gd|~|kzfmUX?=5O^~2!5 zA7>Msr+|fzLl^drEd$qB=hJ;5zZV{*BICnK`zYu1Kft4KzMsDn-V?oZANIkcL3}@F zm!B4cSxKi7HOb{D!0O{ALoDO*MTXA5Ga zXWqjhDw6P3KER)U)eNgfbgAsrbxAn!*CM#I^Jear#XDYNuXItR(crl@&qMwPV9yIW zuhN&;AG@fqDdo^Egn_SpHnBLdiVD*j;WfTBtyot)wRlSLeGA9>lwoWsq6!$03M;OvEkNYtX;$1Mq4b$0fm`>+mdNyD> z%Q%OJ>2Dl+oC)TUsEC=v(;tJI{xpF8B+9?cRDj-OgWFk2Jn9wy$W-$5XqEkOr(fk4 zncjGc!l${;LEukUbX!|g%p7DMILvZ@n8R!g&f`y5t@Ch}7wkdbbmuO;T6oTF|Je-+ zbf?hclR=(NfJdDSjOpwgRFMLT`Z#OuB0Cms84oWAaBPal+1s6qEK#sKQ(JIebIKY4 z_S|oG1K_69QQI}GU)r>}u=jqs^d4IGI+5Mt&ZT0VrWr|e?>7!#=eT|-$wF%kRy_`@ zJ|1xxW8JHs;2tf8A8i6g8wZ^jIj_HQ*t$ad8Bc8;j`1QeUO3_~RPOOcy2l&Nk2ebA zg&L#Wc@JwdA2gZs}IR_dD7l`2%{@RYk`8prf^s zF;6ol7L&N;PuR$=XvDNd>0KEs1Xc$0B&HLv13fN@eIU=_oi2;K=Q+4j&1AL&-A*;R z_HP_=I%c*Eygk9>*@2OW=gVx7-yUW1tl{vkB*c;U;ZnLDON$4yLSJ%4=GRDSjK)gs6pZotam0whsDb!4^B0n7aYA_-gItQ- zS>et#%sy?b)t{4RXQm18|HvQxIj`&#+h-C#3sLD8rPfi8tX|8Vj`<3FlGeCjOsDw6@JWFH!}IUkz`y&?{PPeEEL2EesA2j$hfc6 z4BR0!3broRH*lJZh?*`!o}wfw<|(VY=4f|4bi|CvgiWc!SvNMz&XS#$S*StCK_P3( z5Q>a6e8wg;h2p@UVPh?F3HvL?zmU%V~~Y7`axIFuXQo^Uk$Cg>S4<#w*7! zNUN{^ENw`GXosLlMhlv}6v%nmB$E3yi6jF!dVw4{9~^~iWIbg2>_TZ2 zE0j^=kpIZN3Rn+0HEwvr07lF_1^)8i3qxwNq0zmc{H+zm`_!(`FU@^(txs*0{{7r< z*NVpb)ZWrJ<{s6Gk!e6=_Y++`_gUI!b$AmY)g%}BG|Bllk~jF{O}uL(_1?J_ykivMU=^)1=&Za!8>c2)8RyGmgE)tZ1ERI$`pa!pA|wt~K0oF5`87Q*WDnALxT za0(So>gq}vQdL(_j2u_tVk10wViFptok`4-*i+;XF#U(3%S3jW0z2j?3V4S)M^Uxw>u{9RuwnlQ9>2ku_M zpP+1u)_RWKB|;`Eqt>qhmAQ9P<}-mo3@|})nraQC+Pn3XS&BUUavfDH zG1F6#n{UEoGMSyh}gnG;Zkjx`Bx3v3Bg#*^Q93EzD`tr>Z+ zkhN{z*zl{hkh-g-3yi@usjNWO z0kui(LJ4Y^h!vPMYJd;=(;Z@B7YMHL#rBGTZ&IM;g3lZ+clsF8j)um1~=gS#WZpNQxW(jC04>mffd2I z5d&H$oIcbqf&9|T_;y9w-FjFnEn9UWzy)P2*72F`b$ffk#alH&JH*8b9v9?WMMd*N zP-&L8e_9G%xZuUZMPH~;x>rKRL&Z7D8yVlIn5+hoS!@y5GbDlL^TTizE8z(xFoNzU zy^n0C@7vX0?*msRG4I(k5$@WKR)Qk}M7#VAIVxm;qY%_&rAF=w zl$wQ20-4C-Z63-5B0HWyITYFP1U^GJdaANXBKB#Lhyo|Z)cT(CJyD7=HsSAZ+HI_- z0{L*{I(eD6n4T&^o;x~Tt{Yk=Dh@Qub%DrK{d~1Ak97pj{$JPDyL)XH&`N$??{lwf zu6tc`#oj&EH5cou!MdvWb_;=dtH68u7Jse z0Knwj?v2BLR5}-^6f}MRB;79hWsaYq zU3BMAi(%!!A4wKIq0v-VLkWsEgPU=xr`f|>X%d6rCosD*@&VsR-`6nf#wO*<3^nQ* z@R{>!zYL})i`wbg^n~}c;5CCuf1Jsa8g*}JZ=R#eW+Nw~U@OTRIWy!dPNey7Efqbw zK{CS2?wmkqW(xBl>bZbNSr>>L73G`lKyDxFT3+Vc7B3hl`zx!islSubNY*U=Flp*jMc z@Hkt<(WdeF(M)Pf&285&duHr+kY>y^>RRn)D*VJ9UHHdMf>~OtvI2Q7!>M8wvx!y0 zJ|)_RT$k`}7vWEiKNMz(H1TNWcM*fc=dFjec$kc(7Xn_U0wvA&`Iv z7z23;_-n^>XHbnFve+$!ulz+Dl`q^XWd-f<@yVy6?AF)vsnB97wI%m9$*7yz;&W|? z$@9%nXAb?-&?HB_j3KCN< z`{Eb&SzeArT_a-Ii-S!=P)_U`@H6GYd1@PzPo&Y#!hA%oYwo^QxW9l_37QO2f08$J z*-@>eonlex2GQ+Jg`gA21QnwPj!&eK1B%*4>}CSQv1iLXxuD|kI~qP0Ms$9lh3K(W z2ECr>xxO#Fp)W_Ke!-n7AConZ?UU~pgl90a(o>Mf*0HtDWvEp%pc`|p_rx4EzSknV zs4zvNk`kSe+EQ>U1N)rn^aCBei;VvL)veK>=cGp`8v@KRdVkGBqMSNNv7}_o0ndaL_OIIO`s#~3njp7jXFuQXQ2Tp-;15y6_uJFHrSXs7 z)bJZ`y52FQy7#;KAkUgJhuBGp%}Ba04fO)1+DAbzl+hx&<+2O?V*T0?)Oi;=u|w>Q z4j*W-JsGe_f3FUgjp;o9Z9&Ib_zpO8nr%05Hf-`$QwOH1sE3}7pbq2eiTC)SCbnFJ z7)EbM@BaD$umb^p;x2H*4w2Y5wWXb}G?ly|)*P;fML{-4O7fCx*erv~Z|Sg|_6@8{ zg^!cgK<+6va6=fO@qDct;v-*7oz{>VH-U^|zrrXgb~-E_G5RT08<0DJ{1(ZOWlB#* zesivSv{7LE2KWKm0KACNXCQW6f(j;NPQl2bVM?EA$x8FK5?=(@2{8pH zg9d-o@t1@X;=T@7UXDP+o`Q*eEM%!xWhK1#0|xRM=#};n9o~om_$FZRekt!kvC=-c z!w31Xj|U8azj6e8(N@~M5f$*1*R1BZ)_5Y0GhoS*S`M-Ac4mOm{=j8m-*3T_{Plz> zde{TI{mv`~RAlS+HalYQ_zh{;b%u+U(3*Z3#&`Q>z1Y|Dy@yXzvSVdc#=aHy&8-EE1ChZa!$-0M@uyzCm8%h* z2B?eoFCkU=a3=Z$lnkmk0k~bqJ`GP7Dq=4~cE%r>J*I9KA+tx6Ucv0wBcn$Rc53@d z++8cAwp-I-u}xUYN;{%(?p!;4U%%@t!8#|j{@L9-*Y?M|=k*)Ax85O)hyPi! zf6vVeT;2y2^ak7yssfA6~OHu4!{v~=B=Ya;k`4Uj(& z`7}rHpSnEVZdu1OX)VIm8@8c*tCWur%t*V!8dL=GnM)Pwx0tMzBJ654XSm4zMQ z5PPguPGFuQb0xjr=jZk#w+H#Csk&H&n)-gCiW>G*1T_;^a+X9-K-~3{h`~;9`Jq*| zY8cbj*ylJUa{K&WmZXfA$L4NU?~ zo|UNT7_84kE8zl?^b3$H7V&LrL5%FYxB0Z5#k+jP zNP_o^TFdPLk_%icpDBdUh52alL&S`V&lG|>hW6}MSyDVX8471LS3WZZd^GQ?x$O{Z zYg1u8f*>axV#lLa0h_P@Ilq6-A(kBto4jE`cTIr_xF>aONPEl%=tsc2{>7TD_h$%y zx!Lf&-oo>jRP;=%FTA(|Q9D9`Y>R2ua=TJ`fing4oV65llwsDJ1Kvdzco#kE8ehAm$QpR4S0 z*v&Kpj3Lard=aW7gfb(L(fvjH`Rk~NAc$w4%$3E*=f0x-uujT=?`u{ilxPuO58tRH z`=r*Fkx$9TB2^F7s~}%`n}U!5__MnTdMa}Ud=tssR3Z;zBExF#zF+v9 zHcBroE@KWeq2LuLpRX_nI(#()30=L0q4+#+#DXh>U$*F?*V{Ge%k;x^%X6jX!@4N_ zKcUgzsuP?2bP{t^u37s+1KuI`)3lk$((++l5+flM!HiUNeLdz=mfEuL+9lfnKme(n zN@^HPu`h8d`>kQ{j8%y<^na;gphOJ=U(_%Nbk{KW+9BXbeT4qFac|RO?6|Jqss`|T zRTBJqR7v>CQSbCIc>~{R{sfj=6sX%EH!fwr;N<2^n-aB2Ed_nKc6;M*x36qOgrrT0 z88spT-4Cner%Xjg6u&BOi>1Jb+D;!pkNv)#rax-iaHqD-V4vfa=_S_=uSXRH_|bn% zvav-7SX%V%r$@Q6;uaUX_u0TrFxe7*8G?dbp8XQ@iH! z*W|8DoL&c6f9DubV-E(xpC5h3cX_bT^*kESE=>H4|2(woukdgjk@a)V4b%|$Ip?;G zd~0x*^(wgz?D_|P_31ixmHfh`t^oXkhc>xJq%fkZUV`hH>-5m5BI_wc=*TeYO-Knp z=iIRs+g=83zXBc7s`04rxiW&Xs$I0b4c8Y}L{NdaZm6Ld=$7uIMv}Z5H8s;e45(yw z6~gv_90A+npl5=AaXHCZx$~w5nfA0>HnQ_ODdf@LQuyFZRL_Dof%YLipVvj`B_k(8 z9$&-A627@3kO)eY6~b+zk#F2oLJu&o{1g{(@r|247Ey_0+Z#9iFj7LNl=rrH48Gb? z@YEFSb2?7;>-m`VCp{m(aujs+=lM9|PkKIn<6V$9qk76EU*LIwP4EGrO z6uigr9{b+78HP8GDu3fNdprWaat!a90{g!PtzEZVo`W|5 zdjpX%fU46rj^kscKC6i+_htqeQ7x1a>iwYQA}1-%j5H!;MOvQM31ZII#g+RSQyW}y zqq&1f79R~bqEns0$gwqVP$17Sudx5U6H%jxBh45zl;@dO*pGD%ubN8EN#vFuc#_pm<#v;FW z1D8}t&V(Pp`L5STm{X9Eka)PB;=Z{Ux80SCuy<~jNXy4s7w0(6OzQ4<&MIi+K-u#f z#_kxnGs>hcn`oYH8L3~Qr%Q)dQl-O7Lbi1QZYK4k-%Gdtxf~*2IqvW5&nG?jPx_>P z3DnA^nG@MyD001k8s8fp)fwxAK!rP zIy{rFq#4tofc;vIxXa7iw9cKo|?DD#BidIoSJsv@QIQpL6 z?Gse01pQU`FoVDi6B<2Ap97kGI6c?`&+HOGOskH%D=<)FQPpEi%6U|0NBlk&K=KJ^ zgH}5b-5w?DeX9wATw%y87nCHV6))Rja+e33d#o(&mPBi!4hA<+f#Sa7Iy>V?bs#*!QgT~k& zTt3_!WD&HB?+|&0}t7|-*b|WiNu{;9YW)bHneAB#}6P2%0c$))>SiPmie4umCLI> zr@Pw2((Y;x$<4?6>a%+3K5DC?_C106f4_>d@73!H-^-i3&{x~y(Y(9$Eho@#IpY8S zNJD>!?|0Q%+gIb_8IRZGZ$D2)``&5nOBH(cdX?{0=X}W)n?-QI<#8TZp93Ci<_%B2 z_^%wftyAoa+QRuho;Z#uP>XDiL^>VTHd@J3CU*%sd@_#9kNpR}bvk$2HYiJBBJHH_ zfB4pTMACn4^W}S=N6sc$_vaV+&%?R%(8L@>oD7S|v4hZ)owt4D7)K3^R8i(dh?5U@ z(GnT1dvYTvNtlYFV`O!7G_m}O7*oww#)Mi?_ zZ&z+tY#+FNz;?gwKHGh_`)?004%)VaH9E!B^2$W$+#nZndf0fh(26=8dpnT{CRAa8 zca+rEEV8S8K3KHrnir)sEy_EAn%KK@y-j(GLlb1AVi6i97N~CoYIwlveQ0qDzY&TeNiX$i=^x z(myo4};k8+tNjq})Y>23)Bjc)K zK>KGC>qY4Xb{k?7V!*K@gLT*j_N}f6M9CBT46($UVF?v&kibG=9qQwb@qEJmcc*lp zXzSqpGR)!F&}Vf|*pE47uxcC_N;K?IIC&2cuX|W56l*+rj8GHVEV3MAvrt{(Ap2rR z26KQdMYQ~;$0COUlfdhy7@>0ta_B^zZ%)rW_gZb0*344xnIO36D z$ANDNujxZfQWzpj53;vWE8-veuj@9D zx=s|EvVm9@NF2Ztth0AZ;j>iOe1<9}@l+ew?>mQA!m|ONUFamc6OB5%Q~n@BV$T1Z zA#o;eW%<$}{ev8dO@==w-+bx#PuJ*vaWWBar0o22nG(NreB6bchN!Oj6Q@%XUQ%A2 z&D?Z+-Y#Zh`8@|8jKWZx3=iB836qk z5m)7>SD+U0`sQn>8(D=c4e0qOdh(IW|EZ+o*C0zn2(le6VZ|ML8_7x$tk778gL0S# zdGC*?cF~S)&=R~pD3Kxi_JsYd&Nx&}DjY;`R*fBcrIUOUaeUj5qbhPLEMz>MmL6b3 z5D9jWo!v$#iymV{O^7r1+#T8w(H%+NSU9}<{uJVOL~8i7g3d=!i*xa$DyC9eN^bsy z{B|l--TMg{?!p&|*-5QGA^Y8){M`H>mkFA*!ZK~)o!y1S$PJOwQgjn>7R*J*^)@j> zMI|@yu0keGnd)Mee&b?=KAe3%RgwF}GCKZ?#c{h3U!VVeevCemc{=3#{Nb9EmPc-) z@;eu)UYEN#Kb4DIm122VPwKE7D@-X>|?F}vBiEG=Z5q3&97IH z_4vMV@$$>HDqzU?HW9L1E?$lpiI`vN*IZR&z3*$k+(@pO?SA~akH@MlVebdGpNW|H zi=8c3hcOS`=_`Nr%IY)*J(t@<+oSsSa>;UTuI?GW zmrwiZt6w_4=%B(EW0eD`-Fb!7myV}9_v8zi#d)*)Mich>oe0EuF1O!o8*#6fYvvE~ zRq)(7n-%CK#Jqn*T)3#;o@|w?=Lz(@-iW+B7CK&Q+?tQN+Kx{vv-7E@jRN@fXHWZ- zj^Bdn0M(TQ!l^M1tJWA}^FV)o#To>XdDQt`o+?hIeQxu#nyH2XxD+m<$w<+VTP zdlr4kdpwQV)&D`?qwc3=@e8j&?iIOnNsFvx-BVj$ z!2E^owo_L<@P|!J9uLc z`licG-RR%zP5)|o1KI+4+k1FBdmG_)h2*SHYRRhnNes58HyMx(PX3>UdfDXfnx<_+ z0&}EaB%_%Z!xZ+F^o1F?etd2Wb1poRc@961r{QyGB(nfNRgcFo5B8D#w_jCtD`#R9 z(Q9ed1g3zrsG^wM*!=s}56Bx-knPq^ z=8$^u!Az{FK|y&K!=E)KK+_lvO=DF4NOZE2axup^HH`$SX^e%YF(QAQQ~H{0=~f&G zIW>^h?jX|jK~hgebIRGJ@hPD<>^CupM)7k>BtaHU>2IhdA=OuT3jP0-C4tCU%^o_- z>5XRcQ>p!CFTVv<0rv9s@Ja9Go6L2nsscZKqDvwzlT}suN>)|nZTLtB;XL>d8UFhM zq_ZIzm05^(XBYpp4!DbDWOlvhtV=V{QSZxr(6xRN>&$oSd^zaa|^8eomfEA<+ri+ttebCXjiDaF6 zRxw!7GO9AL4E-y|5j~V>rgZIH76Ru9wxDw8Cpkj7fo|G_g;0IAH+5jHuLB@^xm zJ=_Ux1aw?e?~-5W4t(?ylb{%$a*65h(vR=9F5|q`Wpv}6v;d1NrG>CF-9ZZ>XL=O& zEb8kqhkc!M81hN4!rq&^{1lTrpdc3Bnt|)@%Nvwm1et>9$~trl7+Q?pRe7^on9*GItj$PRSXcp3VM_V#!12eG$zUydu3c0?`oD)#pF%dQTbKZ&22#-fiz2x_~K zXC;nE=1+V3Bg}|YLFQP!bZ0Z}{8y@MohYETQa$B?FJB&8NGR?n?6~*PJ(SSHlcr-$ zU78Y@&>oRYubJRy-P|_UhpJHVg^5wJLD0VXfESVKFN)}ue1KytyJLD3s$7#Q7%Oxu zdB!1C8fmBBy`yK~9lfr#to9YecVZGE*s0v#W{P6AlW__{4XW84URcLRg z+S{vDXm9K6WcSBka@BXK6O$Zd|3_VNd2{Q;(T=gg7*hZubWdUD?%{n1=t#xSpTk@j#(&NF*MA#=vp3)P1VMO1XuJxngcs zXt91Cr_I69gjkb#TuNqlZYDQJpNCA>K6+)&qk5mrXAV5`P!DcmwlaHO=u!QjT(sd3 zdC!QH3}r@BQ&$7BBC`v)9}G{0B5q}7gI<-L9@;fMB~zJ^lCe7d41CS7OQrn4)tiFP zF+=^|@6zbs>=*7YsF_ZJx)ZeZ0S7NLlTe-fvfm{ABvS+MJ>w%7wSWp%j8inPR;d#e z&8rm9854+i15eVN#JbvNb=@0lt}2%0Ut@AUzy9O0?$>4u_puFa@ z{K6>dTFr4IgOFlAP()(>yUKC8yWvQ`~y3>hwJBt$Xm~3$%z$r6mEc!Z`IIUzE14~r z{aol5YS`%lkO9B1HXwvV)Q5%43soEo3$guHhxiOM8eMLT5PLDxUvLE_P^|}(tjHw-i`>s2^>77K}3Em6KpU^|a2on^f z`iL%bWhOj0Bfr(F`ZH0gtch7ZdaZty-e}~XM+;zYMa8|!M%XSVB{MH`yS8|h@tEn{Jz~lvMxyuri$_tCD)UElWh$h z-E~UCe?o&}BH6J5V`qe5%}TaUv!7phEy=?q-$vpL_(?tLUtk|$`&Mtn9rC_lbR{Dh z+wdLZnV*~0n!$V!5|1J^KkI%6|K=xkuV>lEJf8T>`GgwSf7jea8I5@N;1R{TF`T-3 zjIgwAs_sYFf)40^G^w_gHa*L1)T&N?*R1w?nh#P{G}Q>kC&eSrDb}<937yUdYnZ{i z>vu?WHr#JVTC00io9AdoVkiILK>D9zf_b?;`e^|JZp$!jcd+6aYEUAdK zn8g1JkpVg?A56yodbb5QBWaf2C&kf(DioXc@Rg_wvKKMWi5P*|N@n&No!MR5FsFxZ zmp0bvq1&bX+IwbYan4of&YC04w3KGl|fNwPHD56X>vcNI z%gn3pvJ$5#3}-%mmlgev!aQ!SrSpBlLTEr*32Ds?sG!=uf*Eb{^_Mz~=mG;od5 zz%|go{u2pI&ctx0-=rAEDvjh0uN@HIwN4&cOe2EdhvCc*CQ+y^Gfjg#B_4KL^nYd-!K8 za$e)2h$`(M=NwmQzx1AC8Lug){GkqY%I~J}{YIfaHPw5sgi9}^62%V`YP;!MP(>@H z3c^JB= zY;aYUeWbxvS2n3-VWk&_(%x|D`A<}iWwV7Z9J87-F|&cy(clxA>C(KqpOd-;E|GT@ z{0Spd=4T5;NBypSXZ;Tw0f%oP&}#slE`z3B2tD4r-TB^U0J&KP*|BwZwDY}l0G)u$ zk6Sd8ki?h!V^1!zj1hdm3p9ndz?EH2LXJd|=hwtE0s^@Vds(0w6 zxs*8Z-|%=WsSl_id36r)B;t4-;&}(D-dMpo#5ML(ZjW|R{j-PxSjq)f?}m+siC(JT z!HvKV6Zd%iKk;`SJ{?6A898xh$WGkFrbpa7d?C@u1E#on_&-f99{!sL4{t>+&OQ7f zoV$DYWK)uihmUvj@RtCcCYLWRo zqSk!D;-uvfRF+%_USGq% z;`on@mXrD8GJbQ>&2N(V&ryTVAs(`GhB$*NY&RFf`>Vo27pK>Uv~$A)9@x!yeBs9K zaf;n%ZtSK}?6!A^-Cric2YXZOhB|h7VE3~OyK*;nNiCc=w{e{xPJWX{`OQk(qm&~O z%aMy~=Ll*?o*PdeisyT7JT3M>)RUjsuOqoUm*V*y_+kxz%Kowko*&BaZ0FiZE#2;c zrw_$*h|SjSIh1y#2lpIDp+aq=+V^e;yfR4)b@C}+o3f<)JzzCX*c)xi5~U2bV-Bcw zLZ1Ni_~FqRM%(UEJlkUzh-CriKqd z#)cLLjp6HiDc?0#4t6E z2%3w>;qP!<_rTxzdn1^&<71e`_6WxGDHG=l>t`=^S1qLKQ^9P~?SktnHa$FEKL(Vf zv`3K&)B2>_n(IuI5*#`7G1FJn-t$lw_QrI=4_1I5yiosLHWRnBo*8=Z=6A;C>|>^I zW4HmiT`EF>>W1kpM*T!~nXvGNB6eS`BGQjlTm5eB(E7rDLGI7J;m3wlS7fwP=}C{> z|Ca5zd-tzK4nnNvsC)M>w*{6>Z#m|sQesz?ct{Q37130CcpWm|YWR7!AF=zbZkgr0 zZ1>-EQ|SS3nMKBFE6(%>H?Fqsru4bj1H&=4YBz?%DTWnp3HDctuhQ3xFwe7WfIG@d(h^Cuuf(RPg=)P9N+c8@nYLLH;(6^ea33ubmMrU zjm+Y&9yq#YaS6ro1B&Cmw&!IyCi5HIv-qMLOMQcD2ZT?c>wgd0TZ?%m5|GNOEP3r7 zuu0-e7$Jea2D#)}8FWV-p1U|(tE!Ftmw_zJUI1xbRU#k*2&)3G2Or5 z{QgaNr>sW*|BwXdI-!k#eiU57DwEjk;s)FO!XR5O+?C`r-pLK#0^hvS6b!y$rIOqY z=lxf3|1#{zHT+rY4fJO+!a_$|Hxg_;w$> z^?=F8LvFYea)cA|V?f5sxIss_E&(jTbv?d+(LG>iIboLrHWhh+HGG>nEY+u2Q+U*^ zt@-5J#dTI6r?y5qYmhsuaL46!_5Z{!F0A}ODDi_T{LQ{UhB?w2!F-Sy&eV;LVG{9~@B=0mbTo*Y zx*qi=yC8SdpG~Y^mSZ;bV13Rl;0m-c^?$=IflQ0reCRIi?IS(eeKdx*&cq}~8(zub zLn8;N8DD?7N|TuCTuvQq2x>?zB18eKQDBAyw%tF}J*#;L1K@KGd6|Al_1c|@`z zIr+?T^AzlDVnxako`VZBRpjeKveGqA{kfBLNqVwGvGRTmFP53!;eO% zfg0368xJkdm7VCaB5iY9k+x~qds~rY`AMtK3}Ow?ZC13eY6pJE-zZd`<6c%I@~#z* zZ<~4{mx$QnNFI_eR&s*{{NK_QcZue zZ3<$@BQ}$DlRigoL3TX2>5Okq&$zSfyh0yXy=MW=j8A=oN&jbopeJQZa&I=nGTBFF;gu z4ZqxUK2=%NNp>3aTp8$&<($4!?B-9C8951J|JohisEFpp6TJC(er zhH(BLZUy>*@82XRLGC1sWhgld7U`q)4^sSp^uT|z>5v*x&wpLOZAa#Pf9Ulw%?awn=J^A%}#8yg=R;m(jxb4XA2h` z(riB@n{CVvFkMFREr(89%^z~S?tyQ=1{byo4X&9^YO#9rdJj1%No=kdi`^VzzbNC) z9Z5>{uxzRF4T93HD*3sciaL~&YMrpxY^stk+F?7OxFpd^zyE}-^&a1!B%T5!!QflG z^=LbE2YPKHbUA}iVT)`3?hf_ZV5;*Ogd)gc0W#Q*#-Ai^bAJCSe1B2<_jmZ_%Yan^ z*Ts1A`HSJH%HmG$b0L790xNJHkzO;zt|#4j0e6UZi`f4Hz$2EJ?iWx80?!^zyNuHy zkbWZP0$KgKPI#OXAAG!XF(ewd^=kxLiBy4W;*5DGjQ^+w+Db9 z40-TQi$)E9A1oR*{9ITxs`-D}Q^2>|J&pb}hrCKV!EOET)(|o<64CZd{|9gHzdlf( zrO(MxR--bOJ}3KvJ}x^mUGh%+Z-3-j>^Fn(89KwcZN44sHR5SB2s_%o^0wx=D1!P3 z_E4x?RbNZ(Iv;tq%8As`&zCT^zvP9!gaP2AuZEevva`Xeo0Cor93!P$H6OzKOh@1GT z$v0C+VC9VCkbjLTM>tcJCDr^Jh(xO4_roq+%{RbPuW`#gL!6%aZSd4f^*Og`ci%%Bab2Eo@#Je0t%jo83k`PlxTgAhB>c!?ZDuDaUE3b?K` zSb?qZ()&X$B3}Bx;Gtw{uY8%n{2CL^M8(E1X;<9y4`0Mw>Wessj0p$gt#)vFZe8^^ z*)LVU!vz|q7~*uk*~Ou=!qkKPj%c$>LWxy7H9aL;nZZO~=+LL1EsS^j^s|Lg9zOkS zVTjwOkGS3Y+r9cYU*TP-K`tj5ahJAx`H4UFUIm#~zlhH8Ldynk&Li_9NUJd0a_?2p zTBKDtWcBnD+r-Dv@zmufwxPB~yPw!5K4cp$oNn{<6KC&FU?xR}Gif+8j$CrD!Sv2- z!?b+(E+s$02IGA>Ov0G@@TW)86_tTBdhpvgFA?YVC8yMVsb9fmq5`Z5-hQhy(q+6MGh>{=%5~R8 zXN>2*)b^|0!ky->g?yz)cR*9DafjhIQ~0($&2I)ZWgBmP0BZ&VU*?O3@rM0eSm?m) z?z)mNb)4^!3kDL8Me=es7}ZuyYsly-ZQoP-1mB>aYA4-%d={zm@cqrlX1!_kL2axZ z&6i%(pgNygh*TD858iy+c+n6tW*EkB@hU2B@C>Tulh`b~_^37HK}HBu{-7s2O_|O_ zBaT7u&ytx~(Xza9QRWJLk{(%Bh;l4!QkSlFbM6r2@@5M*i_y)yMT_PWzuiIX%kXy* zj&OtM^?}SLEwa5|xGxp<5yAl!o2vQO+tRS>zHpG=^_G8u13d1o9J$QN116(>=bJ`} z3rwDr)DmCmbwbK^SCZJbat^3G#vB5B)ATEo6?XA@TUrzP_6UowCQsT`o6Is+&BB2h z`?>K3GN)v;%hTg=3fjeM<`*%tnX-`)-8B!XVl!ukMWMr!>$|5qhmhWKt>(imy=9n4oUF_$;UisrWRcO7bW@{*A&6L3t3>< z-;$2*%jQg9U)2lo7_ib0imyi(E&V!uV0vo$FZ$R$knko4ehT1+f51nt3(qYbImH45)Kk%^S@R zLc()Zk-p#Qf8D2za7uXlv?boWQMNPRflZ7PPB`9b+L69PpP3$=ej(k-$KUhX&mMAG zJ$>$ga6wUz-98HS3Hto@M2s%sj{B&tZbNTN!W~^#`z)h{sTQK8OSO3~Q|Yc8 zRT};A+-2Bzs`*al>sZqlK7|dYAN=W&G0gr8Zk`EW%Re5;1 z2s`wrxW?MPh93-waUHfpf4DZ(;Ad6LI`3Sq@0_dE9)UB}Lk4d&k%&KOjeaNIaScn? zh{)joHIWFMf4_RC3|`G=K`*c73!&Lo^OdG?G7tGsw}-qv%IS`1KiTO;qWw6*{~lEt zNVFd(wAk+*?Z*j!qDC6QE7R1&!{==iTbw>`NxHsfmY-l3&7*~7X0jsfkxoo))t&_A zt?+Q>5Z0sD`S$h5tx{L2kTq|B6p;$=$XHep4#N_3CkQuAzmlmTnNCrSbpqpy z(<*@2P*AreI-oIdv$FWl`M=F?m>pRB+iXNxBRf`!9xy4ez2s}V9SJPyR2-)Z#Am;w zq=reuq;n0@`i&t~VTL)xR{KpzN{apt^l5J*eWxJT%%^hArRwjv)72SVgCTN|=1iK* zlBPTzX$TALK2dcp(hw5*lCbTvlHJa2Gvsl>F3TH@RwVmFidHlT|8YF*jGZtDb?`Yy z21vVOGI;$#hbwj>`Q~j8$>s?vS*}GKTowO;gV@zv@rr%jdtm#I7cfS+t3lO{0ZZOkHtTl5a@NqD?$& zlI&{jF^e|wHxr3jtl~#Ih+QqOI)RxV6~p9&hBM~}Ar|fr_x_M-H0;fXbZ%^p>kq402-SKzIc&~z z&>;9Z$O*4zEe{)U!W#rT$zn&&dc-s$<)@;~!VGXx$!k~5=c86}HU9&$)~onN`*oc1 z$f|MIhknFa$A_HrBb?Rv$>%;RbGUgqr(nPJKmB>LE@(L7-aka#dx6$+D%9`^hYWz2 zBJEXubbYBl)G!z)LYTqF>Nk2xx}?kD|1FnLH=l{0-XE z9(XvB&ciY~56s4KkaW7h%1dSelFr6zzAK#r9i4-D_HvIo$Z<60U7`6#vE=) zQ-Z;#&wg#^BVpXPVLf!E`UpcpdZ^(fs_OeilK*h&!qF>E%$I2kw2IRcbeX`qP=+

    7L2tNynnonE~&1e;;sbrMlyJ@&X*2PFQn2w%V2g&fZ)vIK;rYRT6lO=Leb^u zYjmu5S<$!YSJD5L09Q?DMq$Wl%u2WpQC-uy2b*rdgB6bCqg5!+r4@q?(hT{%%xL3vk;(oyte;hXwE{RHj>p61d;_Fcm zZg>_Ki zPw9jv>2UNAnz8vJoq|O}1He(w6Plak!60=sERKnTiSfK164naM_BP!0%pXwgDbKb_ z)Z-IRvf#z z?)pwn{-5_{#L|+ zqzrtuzX0kjE)aRe0cMS!&H6_#VNM?FnA(AL?6v$xR2iu&qpSeEsX3IV2vWf$O$+mV1H91HMN zLn^nWVDBPTv#o**r-TcZ{!MY%r&6f zpCt>`hQ*VsVPO!qG77fz1i`$Oo8j>Ag%CPwI#FI%L%%o12`eh@3zNkSU|Ys8n^F1N%jRwe8 zUIEi7HPBysoqn;1<29zs^xJQJDlQ)g!rZU;zC#snJ9vX9-+TMkHPNEGFFFf)wF}sB?3Vx&u4u& z&IEc+Y=(O;i>Qa+Z074Zg)Oe+cfw0t(VetFcvd%Do)ZBkf^c}z=Ler3jQg)1Hrd`X znrk@M@>Zpaw6uq5iIu^MZVUB)=MmEYekN$}4lY7!G#1xR3=vG}-35O2 zdYo;XI$ZDLu_1E#!oNCsAQCLWb)1#JSiL^Ff7(KAb^x8*Q4jrB=W!pSSL3Wv>dfAQ&oYRWhnP5Va7#K4b-@MjI4uGM z{5^l~r7rlp;Uaip4yI00XR7a_^yo9GX!=1&Bw<%aB-VG90n6~WXSW2ou1lb|(h56m5L93(ZgAY#Z_phkZG)dRI0 zKcckM*3vN)wG$#Hl!S(MEEKr^yT2Okcnb}*#-sZqH3H|H(htZ4D=rVI7MJijN;*1x5KCh3b%C6Fmf^2-^ zmIQxc1N~W=MeW;_Av41V#{R8^s^Cl*dhZb}Hv2=*=TuRj-aR4?aBa&NT#&ko9vuD+y^L=NFI?tuhhDmHdZiq5dA5!fzZ%5s1wWXVZN5JA$;7}o=`#2-UW;3qcp8+gd~xS*Ax(A2N2Xd$w~U=9^oyJV6_bi-GFgE} zf8wE{SCy+XN&;`CTHzYSDQK0IjdhL{Leq&x807d9{kC~AwS8-u_ZSXc&BeGbK4;#> zUl};%`Ka)63l%-7Nq*ir4L_#Gkz49&kZ5bmHM*YS)PKEz5l;CSK17RIY?EW{&1S^w z^_KtU(`~XlzHihvvJAN4tf}SOS-h|7M%cF(Z~y5ZRxfYOA9>F zj|BT52bgnd4Ad7-flFtfk_Y(~B>nSBTBN5hu&Avk3468Su5UMKiIygL#f!rQ&hx9#niP%f8p~^P<8NeC%-(2bU#c{FZU}Be_YCn)noLEz?oO;U*f@ zbzv+24#-b*XR;NG7-kx={-QxNNj``l*a<;YmlRv@I3Ht<`r-Y}A^4$NjM+b*!}d*d zV06rQHqi6{w_Mi6Gu;nJbFDV3xh}#w1y#6t<9YnwIZKOdzna&-v*Sgk(PP< zw=H@LtfD+Cp1*17+42f-{Tax1m4c&D&jg`s0?2%6A27aA3FTjwz^p_!*n2k&<|`*c z`_Jv*q;ZdA7+({fTNgoZf9)1Lo4=K3M!9frRMfapSI2R|iadAOT9G^JkOnPXf#jp4 zEZ&?k1W!3^Bn?~w?|tixNU_znJX3e(g4q~l%L%(oWgSg?f zAF;PA|D5yw-LGjSQ!b_@Y#RJmFDoy)if8x?02-!*&I*NsT-Of4#1B7^ObdXin%P|K zY~YrcX>ey1P7B66tKy7BI{0y310*cd;j>?i$UCjm^iaqh!Ex6K+>!0s^pnXGGN9#x zlSgF3+u~fh#CsR?KDwmM%|#hPLgYQCJW1SRN<)kEz;)Tj&3>1Ec3xQHXN1Mvw99^dOG2#3xRc%E`$zd&WK7-!1wbiD>*FmuNVs^sc{-iK50lEqSdH&2QsSU$$e(3>b4uLz{kEYc$?e~_3sT~=ldjk{GYRuX-J%OCouN5d7Tm|R z2-Y511l1?+gR$>ND1PcsPpZflHB26$`f(Dp$0-zhJH*&(n`Nvgdm&peD;?8$7S%IB z4)}e1C2)zqCRpt#f;N)Yka2%K1tnb^<<%e*e$wEab+&LC3$;1ldSyt|FvNk5o!FFo z|3ClUb&+K8jWg^lH@vzBNiTIun$2^ko{{=@J{_LyO_O(K_)4nJ0VuX36`l!z}u4!ppd?W#48QQb6ZyM^JEV1n{vS? zDj%^~Uy;SrXlkT%hWBU8z>ybXsX|sLkg8%}$(3Nuw&B$7pXg*RO@~J6p!Vi{f`P;AxN?R?zy>Go^?4c2{^28fsiX=2&!rS=v6~+ch05_SDU~+r4=0A8^QF<2WVQU##MCgf#Oa-9GrQIeyx0NX1~lH z^X+5NecKN~jNUl-#sz}jb)mrB>@>_1$p`gC68Nq2J@rkSjdE_GXnoBAq->Jt!TEjk zMnwg#_8h}zs$9l*?poZ0JJnz>pHJr9<@M&*Ei^)-ihLSO!t2%Dcug>qMK#T5Rl*TKK{H4=nxXRhFJ$A9M$mQxPLHnR+-+^4A-4*D^8WY4 z)5YkQ!~NH9+&cee_sDxcXKmSUyHoYh7lPix8n-iGQXBwPJyIZ6 zGJzN-XAqUx(Xf9Y9yF8M;OJl;K)^xJ=f-grzkWl?;4>IV*#qOO6oHJEgXE<~FxO`> zEb-M+#=SiPH zn2U}PE0|w}4rlLCZEFp1ERToRIfxHD@^H8>qJ8}nw9&nXsV$}W>31Tk_l-lqv(8VA+I&xzXENOJ5HM*73f?)2t|z<5Ykry2XsZbWm!HzEEUO%1&V@@A=iof4-r_9Jsa|Z zj)9R$7}#CShr1U`{;P+tvQthPud%aqT(aZrgZ-0AoYp-_xcm6u`SixZ4%)cv9^O4N z8A6r@f$*LtF7_V7BpfJ;6piK*aTRCtF&U;gCt~BKxuk7}8_aLL2fj`5sBtP4y@zb4 zQc_dEW5yRc;@NWa&l*W|;%lj{$z;yy@^AR#_XVOkOO(C)gT7rkl+sK?=+`jCMx}7{ zxfMd{=1ng;G0ueZ!D+-y{1!3P8p-cGZh(eH1B6SP0=TcnwJN*t?hhr@+lKO0AG@aaM3@Opp~&S?5oPcMh%|rczQn?Exjg)tXoSx zU*}^@g*Ch@2?xFP`yjpSj9|5WG2btgf!WMhSP}aUZb^2+^Itd7W8XA(sXY!K^jsm1 zMx7))$P+4P5M)O6fbiLS&{52Qq=0RtL+=*mgoUD(;5?n^;RMG!GhmIsj*iUm^|G4yaU%2(|o*Mj>=$~PMl@_^4qR?vhi`LEu}MD3-KqviaoUo?FqjZ4PF&Wx;GuK$mInlkG! zDob=xbMN_Z#>9%Y-{)Ay3Ky zGK#wCuG3vq?|}v_tg->nF~QYO0`ZykP7K)pn4H>rAFLe8=$`T7Y|M)Z7+&cCig*CD zxW_PiwjY~)uMubbzK)WXIXGH#2$SnR#v;qlFsDHoJks9+vqU;zl8+cyqbb2!TsOh@ z!66vF^)|mpSc}*HY{J6eyEuOCatvH^k^EFT2nqwIU?R^WI@*M=_Y5KDLb#$|fkYALoX%xD&6@>H8WODY+6BxJAJEVdgMyaUw)b+6-20pE34{C`*cW z!Yfme97{V1!niufQd-Jq;EjTYF&5mIB4>j#K}mobz`ofwk_`u;@W8E_;)s`H_|7$q+iS*M&>70@*M0%ypeK%hv<^lEYSML0 z6H$CcoWOW|H9Xi|hTbxU?0a?ysb6{o@^BuA3kh!9Urg2sBH&iN7`J)5F4w5(%K6kK zgWtMVY;;P*l9|Kcl#`QrU(FC$@7+jMdnc3ouS$s8ct3R6cL+<9{2_nVE%G`>fo^`;~$ql<^mRbB3|_Pde;|$RuVx#e_BQ;n~R#Eg!_tkFRlppa$zE^SqU|FBa{S zOxWs-QEc)ht(+vnr7 zUU9X+Qfe6}jVgs@yAa%m9S18j8KBisL}?-iF-<(jCg&8)37XHd#r;9n`w1w#;yF~m zDa`%i2xHRnN&VN&ME!>~ys*&Z=8Gr6Pk|GBjr4}JYjNOs<_zq9{(~rQeq+(8qe3H2 zzOnGGw1v9QJGlcvTHLcI3f#j*V>q25V>yL`jWF1$3M1S^Xv8;02QO6?Rd%d}Uz--p znLbL}(t6fxAAd__%bmlfkFAIowd~BBv(Q%cf9t2Ft5L#wk-cSFd*Kru-6~X4t}6rQX$2^AW&=KRRR%579H@MKhW=IHvlgx@38Qzba%TS`~b zu9y_Lqge}9WvWFZE*`_j=|j+cP<1yUP~VfETPh}atm3&yK+ z)h@%4|1sk14gI)0+7y?rTL))9#=&15zK#y6z_S;IaC=bmzkY+z)Vnji9W4hf+&iQ* zrj^Lb-dK25?%#UYT>nR4DAZu{Ql>JQ(HS)3N(p%o;e?x9%5aXKId|H22{(9PA$Mn( z9~?O&PaBf9;3W|)Lgo(PF4mlbveTonZ*md#e-VQ2?gh~IM~#}^sH3^5QDB)hOz>MP zwPh5Fm@kOCG{^ZOd;YK?g zpEZT6T=yH=dH?ro`PC%iMIAnV=7&SH%W%hOSyp^fmg!ogAuVMn5~RoOecXWem7^f! zm??Mi(NNOjA;A`0Ixj5F4icEjjmOm=bNQK6h`w_tu;&X5n5&H+sw`d3z1_Y6Jhy7G zF)#Vs*ZA+$!|)hwvq`<(kZcVJ{QdqTjat|e)PdbrIK&_^$vk7zNunB?FS(l+KYp}kAKdT=KB)j#XXQm}Qd>jocf^NX-F}X0N zWDkgbHL#f48$(x&enYc9DGFaIS*DK7NxR6U zG2LX}ni}D$D4s$0u^AWdKLKrT0y#Hg4xg2T!fdrVav(yQyIVXTq76Ud2~&TZ5jc)c zaJ@z%>>M!gdMTA~Hp8QTr*YxyR&zs3cvbO*7&k+98cJvC!si0skN2{J1YQJ`mpV=B zlRndm{e)}QTmk3R^r2443?@g2LUK$LyboIpEypI~(Y6vi@Y4$G_4xyb4|%wMmne%J zlwwhRkvRNM7Lk3e4!t3@SiVJ;xhO`{$g=m)Uo6U*zg&i{7TI)H^HU7cdWT0IO0#zb zeK=EP0ejv*ja_ltjjHohxQi7k{I2aWa&y`Qs;WiACNvU_LdUYWU74tKK7l?P{X}T% z%=-nKPmo*d2z(y-hsstOLcMM^sFkNdX{;0YLNd&8r~Q= z`aV44@{!a}xCDBAkeh9LK3%gYsGpvT3Ic+PvD1 z_mvcJF3-9#AGn0;(x1_Ri7$z!ErGcDANckWVcQdr!QL8PGwVu$!ATyh^gm+4G5CoX<`d9o&PO-^^iym0SU4Hd}Y>Y>& zQ@nr{brlu{oh3qveF-$SKnHgZ`9q$}KLyRa2W!`+NZQ(S7G~|ZLH=y{O$2A#$O}zh zh&#Q2+>-Tw9&styq0rtAi*=N7^>!rFHXL+pPoxPz5HLk~b zFK&b&m02g4_R5sG{NM<*UHL-8wij`{vS7HmwHtC072xq99Vl1Of+L2@@Yl8rbb9$= z^1`zoe?};ZgS7kaOh#xLQ2 z>CL5A@%j{T_Kv9~JMd^1n|sq1=XGi^o4cklc>yYH`WA0k^Cz9oYpLZt6x>%meiDkg zPezRuVyv*SC;A_#hnQJhe^~y5{^-ksQSw*d#%*QBb$~FLznmE3&x@G9r$WIx_Y8G* z)W-mEZm(S39*uS!;n)ks*!E6@9H0iU4c1^uiwG~;dpc>{=nq?L8%Wq~XS9~gfOYNy zLZ%)db(foHOqLItU%QQAw`0<52YrLzy)Aupqywom6WWD8Z9VogJ4^IjpQ z@8Uzc!1EJ+UZ?Zl{XyX4U-seUE61W^_7L1a?TyPHKK|{diL2l zEK{R*re34wQ@UtR{aO0v{Y!F1=Ms#+)&<_9^5D{BQO0Bk!pj|HaG*F1VB|8%X%r`g zjq${w*9=Z2BtcwmHB>qr1fGEm!}INfp|&d6TrdS%4`@Mr<|FcReH{tyx=lLFR>PzV zg)lR#8fH$EhaU1pFyYc3++JOPJ2Rp&H#r;6weQ0q6>I!?#*JjN#~?@J9n_{wVy#PE zSYZnn_RL>zcE?F?Hf@g=dn3Y`9eqcEt&exZ_;JZFyZbLh412RmW*+R%E7t79<%I1q zabjmIbY!!Bb6K~$O04Xj0F)V-0)t~eL-Ws@`0~3CI(XlwUP`(c;5ilrn|f&Bi3#{= z_gcI>=@+eh!G~|_YhkHy8Ob{^8r)4~K=uR!>t3kAgmW@5zfc%V2lkPqiPglK*#mQ* zH^b>=N$}@k7ZKe$l??YM3m(hF(EF;VsieLt@wS}_?=b_mUn&RQ-d4D#6a(@ndU*Tp zF?f7*A*!TP)GAzuM!M!SZ)6QPUatZ{+)WUTYlW#z46j3Nx0^;tT7IX`4RLqG8iA%~wD0-|xxy<+B*w&<_woy##IfE+|&>8Pip!vmFN4 z@g!da)pFj^{m&Wfn7ob|wI&d5H<dBWV9|%=wCkF;YAiGeAVK{cyZUYI4!(?gF3T!`4au)b&FQI>!c6J0)SpxXFasq_&<>kE(^hxCwADSQ6y@WYBTE3On>l zm37TgWqmOMuhAi@JVTy!+-n1`l;Uu#g%WEYK8baG*o>a_T12AEll)pxOdm8^;i8Kw zZ2RtyxN^-LmT3`ZT^35P8HzP%XXrrLDG9vgLBe>0a$ZT5nPgkPII~q@JR^3u5l7-b z;}W}r7L~5{@Y-J*xnW()I!0V-(YuK8=yxBFFrE5J;oOszYaK5%1UU zPTb^u59fW~$lHAW7)I<&S9 zrSJN(erxMd_`(+0-yH_w=H6%mt~h7KbaIXQQ3H)TC&zou$H6WYEPR|zJk>UXwA?pds7VZ_ho0cPVJWCp z!^fvzEHRU5#M`6uu{@vw8)j+X_Ty9G#EwxQBggR=I1=!;PalBYJd2T($b{yom2hs3 z2mEX@76jL>#D~#k^qijx^|Sd!-W%@(C9XG5{W=87D}5ZgbQ9^YT7`X9Rts;?+_zf619}mA~7L$ORC-IJ% z1iR|mc8u2ZfdyM<{(to#H}!A9-)a19m3D-hn>T!X9B27F`CtBtwYMgtW3Iy7k7|K| z2ZzYyH_jNa_zE_>*hj;wjbYb4QC!RIo5>W3!ii%iAWO;|410eI#_tWmQ=V@0Y}*0O zS6vFW0s3gl?a#5!Gw_mDCizkNz2=4V9UL#Fjr#jE7?E!&jOMp(OuWt@OdMvZ%bMeY z_4nq%Aw^5v8yt(Vn>jxAloiaR3k#VUaooJDh?2lj8N?LT$mynH;(svHzHqV+y7;QF z6Sz6{$RQz=3s+|AWyi8Tl_Ko9r4ulsne*R-ZQg>%TQe|n%L#mK)#IdqgZ!Ed!^ z@OJ!UHhH5e+j?pxzS}9xN_%SIevKLUb=pFVl(H14+n)#1IojO*=S9%t_DCL%=9qLb zalpS|ilRiHxhHtdxe^QDio-&fuzVZ*UDW~Ie;A)Aw^^o55!DW%VX3;VrsVbK|^3U()l_&SV)TM6v)i7}5B+~A$r;KhJNGz?-sT&GLGX8S3sni`9SA2U$*<79Tw?ldOq{UT$% z-(XamI1>dAaA=(X3%=Ij=IRqD>+6eyC;I8RjbjAP6-9V?y$V~EL|F4nk?gF}ADn*V z4+fn*gS~ne={2hj+^+jhvQb}_TDdiHJwhcojdo?;4>+*NORnO|^?CSB>^XYXKXB0d zT?siR7eTrAG5Hz0kC$q81r9YtGulnou$W`^$>;^at=Q%0Wv;-!*LjQWwkZOywdvsA z_8pET1;WAP$q*gn3uSu?YX`=19KEZKAp6!4ZCqs8C2DEd6J;aNYuF46S}xMYR~~3x zrph#M-_Z4&cM;cLi%9w8ebA|O5FS7JCRoyO2^9)#*oR-dS;=vaQBzo)k*HgXOFk74 zhZq2%U|k50sUj8&V|h!OuF!=x$>h&;Rc7Y!D{wo%|G$1j+K%N-tDMFkYzY0cwoJES zTWEUiq2_;iI8$9TnX$&1pnX9NZRQ7IT(KQylugG)5*B3MslCLybqX$x)npSRy%=qs zPjrd!Y@C(B#|NJJkTqV0u^FYqJW@Xd8{Tq`tRh|B@x?*dqr48HC;MXc^+CFuo9Pvt zJp~y}7O+|VFfH2p9vx2AU?1nyYOUQuG*45G9HLvM7 z%VTK%r;M(Utbp$+EhJvr7;g9^VG{RNzBqU@y0)mX_R}oc@5gTwQ1Agj? zCaJ;GNxtQGGG^5|$XW0UO8JV+Ryj@1uQ8VK9N5SlyfL5gllTNmKXc$mb{nsF=6sye z>4ombKLxGJmxF`NH~6ji2U1SHAd2>$WXIUcu#bKuA(%3se6TO%*(|$3yT(hh3E2T`)ueIk-QDMD z|DTD>2`UPc98BN^Ed)c|Kp44J#+#C9g(YVc@rCnI?!5G1zOPbZys9Ss_g-Nqf-|qi z&E(IUIyc0_(xhSdrJSbK^MB8a0}108*Ijv>^LC3MV$UHgG!SAPZa&AAY!x+smI!V~ zGpOr{Wo+}XE+b($0?T;Md3t^8Xn%tijN1MS-uv^I>YA}kYwI0{Jw2n)B36lY_CL&1 z(YT5cqEFB(RuaxkvS9wKv1GJNpTKePUnJsPHI@2e4e#W;1h(S0Xt(4Ihx7e+VEOvr zpl3S)6r~4fyMzfM-7!{v20rmts|| z)miV5b9j5zGE`pm9St64;F*f&m=OGv8XM*ki9hLJFjfRy`^IAEfwA_~bnby52(iA$)Q zpEgq7W1MFr#VQ#EVpaM?ru4-{Sb3WPm#`riX|9IcC1c=|_!<1vFq5@49mAe4PN#C? z&VV!<^51zeYv-XQnI6;lCF`f>2~JIENLn}kScb{J_0Yr^FgZL)Mm2L4yyAS*V%>$* zeqAiQshkHJ&0|QK&=`0mEX|rE*45P;1XC~d(^&q@0H%w2F@MpM|iT9p|wdJExp*9ZzX(y~X_Yb(z3@s(X0nr7dp$q&U) z^XN>$vKMFm zIf)}n&2WPp=f+*SmbCmD!?yQ6$EtU+_}~#@YvOPEde0*Ga5)&#RS#m&eJ=B*c?^$f zZXuRiRM{8XCo)DgP9RtuM^b$<$t%qcXgFcQeEkp$%->bm)@6czMmf;e>42uQ4>PW_ zw3v?l4Nx@B4t@%{h+J9>h}_r<50d}z-k+O_gWG1|=`DwFUf?VEes?Q$2-3hPYzkaG zsgCnt0~+VA#ICi4C_TLiLo|0_$NoZ|?xxdlzsZ?QG0TU6!7{MikS0+5(1a%k$FhSr zKcMc>LtJNcfoSY#ha|t(UuSNaz<(?=;xwgMiNDDzW=JMbm_O{OkX(NFfA^=RV^P>L`^GxHPe9k+YcraLI$9`K-Pl~&nV0l$Fdtg232{UDn7j=~ZT6Idm6oWRn9czWzsbRWzGwa9#2c=-|9 zWnKgl=f`>SzTo3mIV?Nk0gCTq zSkFcIY_j(hDEXnuIIj7^%bzX>2@cz!Jgi{{&$No zE=hGqnVc8sHo=^=XIrp*4@K*WmG~o17j`eGM!nzHaIp9s?CbCql)ntdp}WN-`&lr! zYq-GS;a7CS41eqsttZO*3hbMCZXEBw13Wq$$sWOIR?T1qs%*;Pd;-m+$>S^i<+TkX zX7=%BcjjVBJBz1#my?68C&+zYX|mI4GIYyKfuG$m#GrJ$VD(l<P-$YX`IdlbA=AT1>6uc}tf(;@`aB7bs4J_ia6O(1>jo**RGqIoaZhfoZ z{JvGVFyx9rF|-s>&I!xpYhm{dA96cv2AXp-5|-x-5s#>kT<)iq&a}+uxcsV2cIqi!%9%N| zU#Ec=250C;H8X+OnlP9hw;u1E7G`bLE>nf;I!vnAb>{MuTQJsVR^63FUIg0q!b-DX zD0LDgp>ta>+r@@;XgbR-4{t`D2P>Hq&!#dPvuDzoU)+GBEs_(TN@yXMaXsG~3hURM z1ry(NoL8R44t$PagGQglpgXBFMOJ}VeXySw_|6^P?JFgXw{)2b)(tHDqhQrWb>?!- zIZ{@h07mCpK=-B@OluAz%eVN@YvZN4uLG^oxX6Sj|@%4@L+8NF@W2nhq$~){Z?o1lWt4v@EHIp&ykPSHd#nasC zPAV*vS2y-ZJUKBf5f<+3AdN#DcT80cMHZb#Uc?G`S0>H)Ub}=kS<`S%wheY$MS-5t zDc%#;c{py53G9(dqVE-ta$bZ25K^pxJ>UB=<~YX)DZYs_nmWP$N;rH_)Ws`dc_iw> z=DI{5Gkl;g4;zLy;`06bF!YBkvucqJJAQ``>`1u*Qg2t2fpmG8%oahkX(N^AJe#WL z0RP;61~JCH(Dz^sJ5XeeAqOQHGyNrSJ!3ST)p-uI1qHag08ngh2Jn{M;z=kyfL))X z+3USwtcUY!uph(iFFuRIT?aRUhsZkQk2Xj99~w+wUk{#8?FHLQI+!;37Q2|^3{RVa z@alOX=~|UfJ}(kQpLkJt;BO2U`1)*_lL-UrdW`qp!^n4fPAm@h!0%{dIGwSRR3(nW zEGK8ksc$3>K0h!#CKG}qUXl6_S0E+7i1IUkV1Vg3s`6DAa+jVVHqoQt>c*AWGT|fn zF{&Djzs^A0X>njbtix2;T2tqf`|)D4HYOjk0-3*?|LaG-JPKQQ;f)J_d~s;d_H=^= ze&GC4!R3GN58Xc|!tU|I*i|x-ao_t5tp6N`K$TvB=)UpJbzIO7oZyh0q9-HB8T9?C*V*%vq zhj3E;bqrguKNHI=i+MlOR}#1N{^ai$3ECTRiyplk%Ij(fU>AI#4x$_vH|y|TRIdrZ zEu}p)+ssv9Q{YN%78KGryFx1S*M+T`Zvh_i+lVgx1ZV+NtE!JjL)rxSLgA=25v>ZZaTp(Jmmq|~V1L+|$D9ZorV0Zm3 zRXwYP2ZbV7*Telv76LseVs-^QFOTLAdb@U>+#pN|ij0?zc&s~mzoIpz>Pq5b?yR)@CWj4vx z5DiLN$gRG4WW7=!DfvDP>>3n6`^W(ZEZa+8MUAF<_nr_xk2bJbaSSy3GhmUWGWZ>h zB`;%J$(7_m*#7=EM0iewq`9%Q`=%)4uc6A^YgR|=r|NZTD*MRxtD_-zV$^^4hba>u zZ!4Rk$F6{lE;kvdUKy(Ns&6NgbKS z<;|zURL<{q_04GdV;9G3wm8VU@kNPg>(4;9lRB)Bd6}TA)Qb6F$}tliPx0aubl_g3 z1N~^RopUVyRoV|Sb0IH`=V1{0=g`bYbE4%py68k%-FB|f4>i(KFovFC$FQ^(tQwfp$^hV z96;!1f?&5o5l$|@OK#jq#mssASg$gUJ^w9=w#bTbJARt*LRkS)&n~9sLsnpJ_m&sT z%@PgopCO*-b@6L&J)UVVq)IOX@od^L=;Pe*$0T22k;p|dH(@9EE|Mi{65fz~jfe2O zUp`L1)Px_R(=h1yI0)Oi#=&J$4f-xorO#6562k-H*=CS% z@5w}C?OkfVq7Ae*nL*@Xby!zt4vXa*iNufw8jtxvH+`Q?|AxE(PWSstRkn`;Jarx`9nmuC4C5UR+z{t~>Ygxhh!lc|%SR8EF*>dJ?h zx8CgRRTJ60!ZR>Ib{V-fG#%czo*^E4ZqvG1W@JG38mKCdVg}A%0l~>=a?b81xEao5 zuAZC?tNr9Se+%cs8W%|d-anuVx);u<@Y3T4RS8Rvu~FsE$T%T=w^^Kj>0`%anNg4b zCm%`EB>T@_E#NB@T6Mf!uG8>2{k?y|AEkfp8xV32HAmaQUWI5_I(ae0`Z3MEqkW`NlCcPMwLtji2mkp%=&4 zu6m23V(i)2rQ6w0wz|aatQp7Kno2wmM-%ULcWL7yb$oFuk#yx;1)MO8Nehx-TDei8 z`qw3bvnik8`ets|t>-DRG^(JPrP8?d$YgMI&#JXkx&yWSl8oeycOZID0!knn9Orh` zEkCLNS!O9zzDO549Fj=H31?XJ+YVjTiUng8uY&Q4bSh|hL0A5%7wBEigvkkmJk}(S z4vst|Z6lJ5(~669U$iYG+1%wqWahZp$bom1*@AhiUJ|twmY5b665k0{#G8HqkCk(o z9WjfU&d!C*`s_TQAw_WCrWYTs<736C?Si;juSwh^0*h zNUU29Zw$3qyOyOmcWV`WIrk*lvqBjpo1{tH#ur!+yoP;LV$CkPDThNlhVcAfad!Ku zbYgbK1=m^#-RA*b}d%YLqdr^e(n!TD8Ez1PfRf`FFUPihW z9HxbTFOZ#!B(d+AB@r6ahO6DykfHG`Q<1}RS*J$&@_s#t#wXEib$1dp{wzsq-i>7y zvI52^Ofb&Vn2qxt&4iuXOEr`f*ue!zmM<q2 z&4lOS!{q*Qf-nE3QXTVEbo_Z6d>Y~lQhnk0g+3>}mbIKCa|m4a8p9WkId#PUDBhec z4(Z05Y3(lutX4h-yTlT4{SQx$pT_yy?Pk-41;=pNePb+25a5l+OJF0riS$Zs#jTeu zKz^MEK0L+k6fH4l-J8DRDuV|6&bg$jHT2mR^OA{?UNYo$chFL%lN>j>B`}z>5;{wa zak92134$n2J>LpZ!)zmDI+-nvuLhQ6C8V*1$w?! z%tc2 zbi5r|1d%IBA^7thm{(u~tJm$qC~og$mb?;UX2k=!i*5A5C|_vid~**iQ$S&8gqA+( zCgs=q>ZF!U0C!cEEUnXmSIeVNmg}MQtE8DPLyzc6F;O`5<}Hd8?}qi$gK?7NH|iCb z1QzKl(7kVfZo0?u{<23iHf#A*%r=%NcjQqk(K}%6nMLmJ+y(E^pcfMi(`3n<&HjdJj?=rP;h(jH;V;H6HJ0ABNtNiPV1A zYP4zT#ILtkunWcG*yaZ>P^vE$-v2xYn@`A4-+*>}$zKL4IJi3uV) z4fjSr47Lkb`RDr}S;EYG2{@ zA0v`FYzLPVHj#}|Q4Sh3jaIpv;F2xsj8VTD^ZSV|(^qg1oHQ4ZP1!5qlyn?9F1nMP z&e@IEx7uKtqdD4f?4Tc^f#fTDy{^aBHJFyzFo2;2> zZQdY#W{?IBGz&(4&7`@j6CJjN22g{NDq{1gAMXwz=Oo&Jw)Tjbau;}-Q$EnM6Do+G z^-lVEsW1#J8;2o6Pl-d@2wHBsF6hkuh)&-Qv2|wbm;R*Jb=pqY`eoF8} zR))~n=P=tE6on~UvnRl3!Dy)VUreSZ zTceVNGAqpOPizxTBiA~X;vVlrcH;D%Y=>DSEb5s6?0R)UI_xJ)$4-LEv@zKC&k`adDHww7*)+eEaKg;ZF>8Z+9hc zK5D_V8NUdVm_WV{RnxyIMf6N#4w0(2#L2(65#zQ<$rz5zOm6eQeckM604{Sl7_bORXLtWRx}88#r{J&O1hb3G@sN56x;JdZ{r7yxHsf(*hrI;p`!tMiN>a#&Eg95d0>|W6 zSO;cii@+tf8;_ewp=+H8gqdF;H?0qm-v{hi=^xn`SGbwIa59W-|M&`9yhHJ>V=QWF zo~%o^yGNJy93@Mx&xYT+n=WmYnFn*~uL{231QhP$vZ*F(;EhZHJX}N|QEi8y(eWkE z>}%?O?-ePgV~qk|Iq*ATR(XEX(P?Nn&tMWhfu-5V|R(0J%JyRiObyo`AS(A#R zyye(Wl~wq{d@p9yw%~!_GTip7{*vE2Q=W_g;FbOkIAQ%3yn6RSp8O=i&nQU}wZNDh zs$Jkv_f8zGi89A+dV>?&?AXVf&SGPPBs2G}1oPKO0<4n9K~CgcsO2&bqqBLOS>;y8&{ybDUVb{COu;T#)*Vfh)$CFC!DUjoH-QKZavnX)6ZBibJ~mL)nC1>G zhir12>{MI>K_j=QQ|BA{e&$O-Bgd!LbtxfN93>e$A9HZGIt+`qCBZhSzoh(D7VK0! zO-_4x6AP^zni?#^#1*RJj@x+YHjECx5=gA>? z&a3up9mGvi!!d4Y@GUeMiYxLktZF%$gsZ^0b4$T!VG}QNz9gyI=>uI`UczJRMNIR6 zB2%4I4BM@fh=1d8oOD4JZ;^#$H9RCcuBw6RYY{eXi9NEZj^Ge857w1*VOV1t`W)eQ z52nepBO%AJd%_Y-d8_%~_o2KpOYt^`na_!q-0;CouVLx?FDDhn|2;2~HZf+4qM+ZWweL6zCdHRuIkKjlFhTmx*3x&XK5vU zTFd!{BcFrewREtoPA3|Ztw_1rNr)eu42q6z0=2&4OcF`axRY1w%>wurwhT>>D)UU6D7Q z40ualE;&ZRm7U4mx6A3*jA8oj+gI4GWyBaw6ldPaau};@U812{ju|a6IMK=!EtKEV zZgF4w%~gzy{qvZ%{dz`TLwZ;v_RHxOUP6K#9-p zurOoAM~`QpL}}x-c@M}ttsoq8BpOYgm(v?189Z`g2~ine1)~jLbNh?Sp=!PyTYbQR z<=xA`D;w0|eyjxiaQ{Od&(OoQyA3d>Pzc#emOkgd>+vHDmAT* zEaT?{-u<8b>7^PeRkU^B&uHGq!O`>@ns*(Dj1K*`AIZ>P&v;kOW^9d~l4F52^y})I zWZK^e%+c>!%*`xwTv)b}&9#wbGiDUw$;b+(rze3)>qup8JoYD9Q9rR^*EG`obTkuV zpbJZ`9L3--#gsl8E1=U%$XKc2fX6l`w=0*YvRewjXwR zCBu}OG3*!KZJyiI$Gjy|6=B=rMR?)8H+rre#~T;NgZi2^v?lE?eXN@T4Ojo-@iuNI zZa#*UTPTXAOAE-9?NdN$mn6)LUIH>k@9Cb2a@grA0(-;%Q0~DLgFkTj-8(mEz4|8T z_cVaM_ml9F?lug}Ig2CKuJ{s{!aB<_WXf?ra=N&h#7RA?JJK;ua8+pn%yhOz&zJsK zabbY&6+VftrbY`AgQV#im8BeaEeXVy=8@%jR^;OA5-Pr{m(Fc;BQl$d$gK9=c;QW= zpl{?T*}L!%EQ?+X7WPL-)?sC|^oYleZVGrwDx4&yrE@N?)sS4A1CqxrUCT|0H_j{XjRuh#7b=L^dcWf}DjR)C4cao57cG z{B7T&Tis7;Vdb;dsUW*PkA&bsN_vu;5Qp(y@9qBGNEhB5R9v*Wf?<0*hA8 zVMjl>z>*~$G#0nx^wdLmDrShpZ`#c6UzNlz%N;|_ zijRSIO)lwuxr6Rr>`(4)el6G+8jQZvI_Os+UwG>s%nWHhfTl$z%<+0-s5;9~>xDDO z{)`X2?m`8@tT$W^Onf??d-aG!eWlDesbuDQhdp!Z<1*YhIS=J#meHF|vVvr>E4)2( zz6+*b;e76$I`CrFa=6EafT3v?dRAJqF}J;N>fsvRDBY=aLhpTn&ov|7Y>8#mvONX1 zEi}VExekX>spHr)GcDO?KQ=(Rv@j@pr}1>IXprWx1oG}N()L(K5UG==KQcb@q^<2) zbbN~&cfJ5HzQe0A*TZA?WpQ3!DIFKF0IPqTAmfT%=`ojCH2%RZ^jXchxfFT;SErNr z$Bl??{yRGD_*ojyn~BD!lfm##E17gg5k%a|Ntb#9Jv7gT2)cHX{VVr74Ay_;?omEe z`k9tskYf@2oOcixFVlhUb>2j7x;}1_P{OXHgY+rqJfVof}T)!tm z$AtfYkgpt5$Eb|TmKyQA6xw+zVxAE2&6xbnx5nZA+2~N8_g{b7Op-;^yzKb9e%7#j zC)I{u)sOU#_zV4W-^u&m+ZoM zQB6s2D@$q=Gsaymni;7qW|G!=!1re@7}c^Dg~mkUld;nFH9m~5K|>}I!*4{=t*Ih}%qCQ5r!jBwt1%GJzn}EP#Gx(c z# z`vnh9trCR4kVj75CAhU?l5uFZ0ULniXgN@B7g3 zVGFaGTh$6v?s9cptJUyXN9mhTiR3@^kddwB7_~Bi@xD?(HHZ6 zf)DkXB&V9YSFG8LyQ|{y_>Nw3LQ-7tW6ojh`uvleUVuC)8%z3n^ApgV+=H)%u42O@ zK3iln2EBHb!^Z0)f^lm?aZ%JXNbTqLo@dRk83-$cSFg9TtNUWup3OVhH$jg{@6w5k zPq!v-*^U`_&&~uwMa;>prI~b#XDKKb$Km}2QP^YYLXTz^z$J5IW_9m<67u9NO_N*; zV^>QHK3c|b|F0?JPr@!dFg^+LpK|y-U$GwpJ`6Rhf`H7D8awP}%xss=1)5%GGICPvb#ns=>!0J=u@cZ*reEd;`_sP47 zCMb?Y&x9yapBhRtP3I7w6|tb%9)wRdydh@P^xC&OJ@L7Fso;r79MK)!Mr;mDqIAkm zjN5693V$5_J1^2Bf33Yg&5o}eI#byE-Pi_&wHxw`M@#)v4{oatK%U(pc4Yf5*2#1p zK;$*zICYrEUtK}PtXxQv&nfckxg|-2VUX4`O5l?9jk-)M#xN3fwb7U?eK2LjjVxB9w zUBH9P@WnIGunh6>?@YWDc@lrwuMv#6#lzi_R9LMvCD4?aHIZu{8)LJ__>wTy^h^a#AI!F*IlKFjO`(MZJ6hvsoaAXc1z%R zbcLaSdZP2xiRUyno;tadk%|k!Bu!^_KnpHHMe z8^YgB+o3l>2pT%O1=bGt>6dYL|Eq@*xlOZvciHjdG!^2#xOqo|=+OkXOtF9JVaCI0 zjMptG#<``4c{b1ig)--G&KE{-_UQ*u+Y~_dJk#YkB`XA?kz?V-fs0h-(`a`6PG{KB zvlH5Oye4m5ov>MRK2)7^hhBwyWK3QsJvOR>9PRmt3K}Qbr+;^|8~lcdcdjyXzR4SP zds#Yat|TmRv*6w%a=~P7CA_{6!)9GM$%^+cWvjW2vYxXBbHHR29Pa!s3UqkofU0oWz@CaZw6AGQWfNuFs_TzlCwB z=U;>;$LTgP3+6(20Xb^?gs1rOG`YR*i6At?AIJ_{?6~xb#&LO^MEm07;dH_ZsJ(d^UyrFJK5nA0nT^I$w+LcU z8AJ9gY$httfAO?8UL>Qh2EljLJlYTvjXle6(Yow%y5`AJ+#qcQZ?bdA{ta76_o7H5 zHP;SY&3D7Cm_LG9Cr;4zA9v~B+*A1U;ckwZSyMOBU4@j1?GyMU*^bGXLu#Fxatxi4`srSREH)!-q!5>8w4#J9n4&eBXF<5R6B2=QHHP^J2zk{&7aK zcoU-{H62XWDX}V62kB`2)ex;L%ej4BA^e9aJzO~rX1sG_7MmKw38^6}6g)^36N@<5 zp_<^$F=y)Jbcvf4ibB-Ybu^*pC5&xmadx*HJM6TRy?aiHt)AFRf6rVER+AcN^OP-= zG>Z}E8e1xS{U9WM@nWkk?Pn)A7PD&;8qwDHFogPxGs6coiC^prv@WTp6Z@*r^kyjC z_hTE4SbQ4?n-1aKKNY-wt0p-AECce&#bHf-K5kH3fxI+#EJ|8Wf?WG}>78cq&GQ(j zu8)B3OZ(~KbY-sA&B^1{h2(;SFG&_;(M|d%?yfO-?)o^a{>Ih4_cuYiySm_u|5I|< zFBm+%u9Eta!^G~WJac55J;-gzp-moNs9j4QS{2mut_{AXb1n5T;gbSZEZK+E9?^gG zH%#R7gJPsp)7AM~!(U2?I?M9)Bi?f|ho=A8pGs&c=aUtd{PHP2Z`PRVG|0VM(p*$9 z@=rgq*?c+k&h!v@xF!yVLoI>#dnHVq&2doGZ(uhW#!Y3h_e?K{UkWX0@g2_#F)<0Wvs_YfYI59R85P^rl~p8 zDF0pH-F6Wamt2ACxl^DfN&@#+4a2F}KA4{GgPO*DoV(!=rpDZ%)4iqw-fII@7g46q zeW9Y_G88&NJj2*Su00$KUi05DsEL%4guC?x_uhu%@oOY(p zz|w+Qy{#DTAB@L=v!^kqV>W(xp3ZUFl`;EgKN$vh+y@)6I>!eRFa{hRh%jfr_SEg+ z$K!*qg*d8nJX=~ig&ozBi!N_@xZoXk?|-DvIEH_%%}-GWp%hg(t1m?Yj8f@~;yZY5 z$z)b3$c$Z}-HKs}&S+67&Ez{vL*`o*{Jm%@cfM(XsNN-Vsv;Px0#9M8k}zv0$(^N! z$FN%_7?$>5h6bTJ`f%kFK{BUTR^f8S_lvv9`0`p(;-HH^jF#ikmIiEp5QU$rrZb+i zJD}r>Hj{YIl<^!Z%kX{=g4UNJ-gSK?ws4vfn^8HAy{8}h-~Dr^=g2`Av5PMd;Ze}R2#Sl>sN)ruFO~x9N0!)mR0h8U4Bk0H|W#gnj-ix z#+DJEZ^nMs6J-=7enQAM4{$uZ4xheBMC&hxxGkuHM(&>A+!W&|ox@_ZZrVin z6P^Yq=On?p@C;}gX(nxZSyYS_<^`5tg0$9^BJJpj`(%zS?R|`T z{Ny+o!Sd|+LosB~Mwxd*C!BZlsy3P=ZNyNSFid^bf|KTzVaN6?EN%aR^#*UTT6{0O z3;K-n<4o=6PxK;(O;RxQd4Gq+JI!OP1v_%c~2A*YcJs7o)$E#yKA=2$W9J+rV-Y8hX@*?gH zSYbbDww54|oJJ!feIC0~PGLe;Haa#Q<)xbqkv{JIPQB_N?4A4x#{EhH`K~JXb4wdE zwr@cdISDn-}!xtQ7TIQY;*);8+dN>$o$kbh|0kw;2sM+L$B1@{!BM{hFD^E85 zvoAX$;lX-TenGW4M`18UT$-xS4sncjS(7R3rBjpG=}*L1 z>ug;xIl;M!B5EN;NSp)@nW5Cn!`$!MgpNJ8aE5;)D$i}lIo#}I>y{VfbMz(ft#5~H zZ3(!=XwYka?ox?OGcl@hJqjhSN8f`7aK))K%zdv9<6bquij_~m@8@D@e>q4TXFni? zZ{(?3x-N!&+=91r@=pO9Ad>Y1ge8kWZ0ree_dN*Lt24=qtCKNmV>}+( zdK5+N5cfJ2@@B910hhC%z--YMi1+vnp9Wq);V*zAB3<+lcMqP?AdSKmZ|J!i1!yQ! zCE>1TL3zbzIOs3Wbl&?6x@;6o8kImSlD6>@29rt0^-{8a?OfPrH4k&23-M$Rtbj1* zN=P%l1UfU~;O_>GYq0(p@P8hHJySTwwc2zmX^#UD!y5OzivsYgoSLJS%6}4*nrykN&T0rzWH}k0$heD@hxLF?# z_v5x<%E(RBFIQrJ$||s_zu(e778{vKOYEssdmL%diT{7-I@540zwhmv=Q)HB8Vsq7 ziF>b$s0^hj&81XQG!KeYWF{$@Dx`>_Oi^*~bx{&Rk>-d}M50tQspoq0|2{`Ae(${F zKJ0s~z4kiK&xswe=G^zKpI$s!kJTApaN;oqwn$5Wy&K|))9US*87s#!7ki80gRTko z*0|!sm1D8)_3HYDEb4j+UvD0we}6BeOHQ07bGmAH z)yph!!si0?^5uB{OGR+TJWb~0SWD*UJB|(Ucm`Qo(N1oRoP&E+tKiA}mozxxIv#m) zh0CKqflbd!;qR5da7^+%^hWS`K}A;xZ~0Z|-WCGCo^(X>iYc76wh{h)OV=!;i zYFJbh4jw&RPp1-~?VAjF%BIk`jq~8X^u>%DLG-lW4RY<~H;9p##hYUz1Wui|$vgXN zM0ck#h|3nThSevqExO+yur16Xq}gVSdi z;!GhmSU!K{qKdU zSdLoR?b;AJT>VF@Du1_(UdyQ9KljgBsq(hXl2%N#W-fl---tg;LvXc(DJ-?ogNFi5 zWWxDH@bpU-%+!-+R(qUdRgMRvoNYM{?Kz6JIjfLXrI25qCy0st8aic61kIjj46isg zr^u-!_LjpW&~ST0OdAGh#v^lVt5PN2^5dXL_a)i+>IwZ=c9CSCO6T&WH?hKZX2AZr zQQ(rz(#PMeaD0yyDOk=iQwHUU@se>=LsXt@Qm%pBuWUFC+(%x@m*vF&ehdwp|AUOb zRS0+bSApJ*a;iwRDc@~Qh28ITm{|22jng;M#~-cHa_@MYV(tzXUfzX-zha;}Ych^k zO`{if-lnzHflzXE0BuAkqJBXvesaj9N;XPxK*0zcXUd|i+!@SU?@iJgAM&IOhspVX zTJ*}6L#Kfj)OtJzO{K$c!axks(hH_iYM~fX6H*~^qKw?tZYR|W=6HL}0^A*0kBbZi zaaGf0y1aG**xcGioMIKInA+V6l{flymW2XlEX?5do%X=Gdq>eR?;OuGKaiLAWH)r* zPJ^jVVX*q#Z{i~mK(3y0!o($#jIihxXj*CygNh$HE#F73-+zYMtxw_T183;XF-Z)I-x`+T-YTZCrS6{n@P5_$i=XIe;HVjF_=nS!K~Fh}GX2rf7W zr#6Pu!{z{9UpW1EkQHgGAK}efZOZi41h6j_k7tqsx$Nr;?)+BoG@jD;eE!?5M!@FO z*$hi>1A!@vplGfZ6F#e!KQ2g*$)E8CoJ(Gl(`S@;C-2RmCh1*7GoqUJ;-vxP3!S3= z_UB-+<$1WOcMNoGwnJ^yYBb-wT#27fdqDR02rx?Oz-4)U`0l4D=h+G- z0=*tsle!AmtJ{-$Mx5h8XtA-XTOg$iVeY~GXc+b!3kwYJKu{k|aJ-6#>cVkiR1E#o z8c&kl;?YrJl*<9F2iNC(GV$>ZDzkbC)(F_5^@I;t9AAPvr|(85y#-|PHKgeZ5{$d6 zAhYMgFd_0S#Fp*iFMf!0q1=7^_9y}Cdkax!S`YP^XN*%97QkPJ4p^5m8TW^9TCg`THV=nGw$4V_n!IYn1 z(X;}x!U8chjoTre8l+A#Yw7LKPIAdwjd86{1fR*LF!XT@u8iLT#u3w@RDee}aNhmN zCpBSo-yyQR_L+^V-e=Hqt%rsD%eW!59fN0{pzEfY!lnn5#7*Ju2)=jVkS3ob*16)8 zY(DpMD(qc%1=r|Xpj@LS(r8EATzQ;I^{nKlfAu0egI@Cm)=iNwG#$BXPBP-V>U78?LuO~gu>-Q<~M6kafI#<`b{ z;<0gNB=g%RvdU8$_DL3!Gv#{BwgY;+r={{3w{ z1;*^EfHAI9nWM@&{9bW8^0p}td{YMK__YBT_Vo?Af9k}*h%sdFXc3n=L*a5W$NBAM zF!XmLahfRvbr>gDFQ*QQjA~i7^Zb&FHtMLOwf*lu47OFhowZ8;@2`D!!Hf8~dbD@56tf-WqOnTT_K z>r(oFd#lbuk{~%266c*G`3I)K&Ppy9@{bt)Rt{&94J=u9i3>Z~%#1zTv>Tld&c@b7d|Y{Y z2#qwZqh?nj)jKftzj~74K3%@lXS$t>j*hs(Jk6>+-H9G%Uw`~lPhxJ^qigj^$aG%_ z`CIXvzaBGf~VE*qy($=NJ@B%aDbNU_B zIw(STnc^_itApp*T67<8%*JhzV1Fp9lh0P$InUh?&r|pqWIg0E&XWpAb5va^FheYlbS z+VKtVbA0kc^EuYct2-FI!I4??O_wqLaTna`e$l!^&uC2feWLKKhUZk_fJcAaKzyag zHn9`g{frc|tGN&s?=OR^Yx4--fxz2-NieuC1{Ze4K+`QXxX$$s4{siOpiP&_u1|v% zwP)aI^EFZ%cnQwR=E5dt3D^`K1_xhDFjBg2L3O(fE)=t2Vm&E*d3qbf+b+-<9LFK) z$qCHJ;IRQuoml<*dRWb$1!CTU|D6Zn>%7=bm$7!M4_@1<^L@C|>tt@jrLqVAoCn^f zb5zk-#Kxi{oVvxmqrxRoBzekLGQU_68@w~Qy}mfxeR&eg4;G+e%cIGZNgqgbKn73! z2cOnxZlw-bOW)?Ca=M}KSp3zQeSR&59TP6cmJYR$x<#STV80EV7q=2AiF978P9D|% z>wzcPWMs@#S$C16tV5h3duE&rsrY&fq&Jtryqo~AXze2!8x8nZ(x&10gR5{_#S?U% zwS*l$G=p7m4FdwmQ@>feFscRqna zqzqG9GlA(ap1^zyd<79ck!1CR$N02TmnCyn&=zYA`bjXIING?w5%+Vj(C;OrXh<;* zT!y0zq(NM(5|*uagUj>R;7Lm@;Lq7GiP}j8V8x!d0$;S{6Si~ z>R{lW;JBB=|C|T&%$syPB$IK1f<$Se5EKNQru}jUK=^7W_-x^F!u=+~ANN~u)$p+*#}D7 zr_rH26J{qdW?O4c!ojJ z_<5FTVDhKRPX69-g*VUtIS8AQLBRE!st#KOTm+V}m0O++B~cG1v;c?WaR@PY(w-Ts|4w(o%Wwa!HDaWWm; z>wqf0cBCot7B-G-5%|e{lQB3@+O5o1k z|F8F67b}1E`Drt|=U;M*cC}2b`rFv?Szhtq`=pS1DhhM6@{@D92>8wxic((R)1A4r8Ppt&4IX3=MP`U7mgv>k#?cF)BZ1@G-RX)zFnf?%0 za;)kmwPbvICk#18k!&M2TkvF;FILe=!70cUbs36Y%j&H365yF zV>P^~+YBx(3u%Pz36glRn&_M^ph1U@fZcuWJz*TTe=~35be83Kz32hIu=fT{yZ#kL zjW=QQYi(loR)t#CKO&je&GruZ{A<25dm5 zpc2H_2SM`R3@}b=;XUZTfR)Kh@WgEuyeIY(4Wok5H!~OtIClHqK>;R0i-kb9LHHz; z27^#NTnKp7{ZCS4;BOtuexAs>cP^6Eg|NjjOk6Q|--F1w>Dz?zB-FM_N0#xw4!pTNY1^JZ)4GrNCx(V;RA zvRuX)=?W9}?FT)!^b5hEG99{6pcqDcRzvb@SN`w4n($`wT+E!fkGN~sQYYuJoIX^X z4X(V5>Q8GhIC~EIdYz-sOqOHBhh*%&@&;75JON)}o~OrIlC|QVwd?lum8{a zlpfE4L#bwVa)QCzggeJo)m6qlSoz@JdF1Wb>oA(r1g8$0F^s7WBYR7Pc_1swM8?)b zx&W6iezg+BR*qrJZ+bIJs?WnmVKs6hR*Mv+#{t?DL*;{5aQEfG`}El$G;uZL3vYz{ zMT*?_=M;?)ZKgreZ|G+w4ICM7#GmbSmz+{J03qD~c-Q`yoU51%A*qREzr$0U__rLN z76;*!dy(|Jn>pPtbewlncN|Q%O(ibDC-`d5O@aT)4|1>FLC5QF&`6*K|BAk&7pB@# zqm->QL-{n3F)1cR_H%iMZyUqWt-|~=o0;&wZZD>Ae#wJo+4S_#6xuXB78SBKR*Pr~a!_nZ2Psi;vsh?Z(M(5hn+g-y|H zVNEhzUGk)&-gF9CrRoXVQ!j#4M>w&iN2zkI7bd4$qC9h+^OWsnpBw@d2$W#2T+YHB zOE=KgpvOdf@(x&e{v1r&-$+bx3xvlHKv{Pco}&zDDcj8oChcQ`hrggqWGP1P*2dgS zRc`0bWt~kQfxU_2nRw$FnEmP!Q)V*=+G6MUi~H-*f_q~*!sUz^MREEByB(M&XolWf z)bW>I`+xfp^AP*04<(j%ZQIWT=seP^+O=p){LqVk`-@|C2tN2M%3H6bO;RE*)88kx zZ9cpjB7$ngAofU>nYr~g#2d?iwwe!fMmLJ%Qy-?zue4p_c%kO02D>Xg((bt|Yo${D^c4$Dl^lXs5UO<+u zNrLHTMA!o-YcO<~I4k|M3*B1t@IvrHEHcx^;}ego3V7>3lY5g z`6%jy6{8s2hc$2eaMvepU-;1sMh#_{oN`g-Zq{ws+pY|?*SGV|75dYVXZL8pHE!3k z<}0!r{$Sf}0rcp&N+OmifX|*!^r2fjxi#ILFQI#$+<8+>R&^TlQWu2NOylwRp~MB7 zEC*>$axVS;wG+qm2{3^_)v5N4y>#ENxg=VppX6k&1Pg%^@bjq-tTUbj-tliql*ms^ zKNAU06VBj=pm+>>lStjttBKSnPK%Kd3sRm%pcPjE`nw|`G+UgV#Cer}9ZyC3Os+O< zjlsS1GjOWFGrTOCh`*ZTSoViGd;j4uy2Ku3jSb@%=X52;M!p-KCq0Eve+-$fl6b~v z>KdlROPb2@8*qVqDNk)u2mGI&bDrps@R}dmb^+DP9hTJhRQ7ZgP6<={_x>rv_`~yg zrdYTauuxnO290-sB2 z(d>vHg&S~x{ACQ^Scs|GO6->#n)Gz^J*fU33)&}=>8Si|yj}efFM3sA&ie`+;qr-M z(<@PT^?gh^JqBONNih*QInXSAp9nVIp_64J zdmdbiIR%x@To(4Ll~AiWn=PC$4NT51z+YcDeedCG{K1^*kkTteL_SEvH;&5~_C}Ja z=(k`-eEspwfzR|PSK|w;N>C@Nh-SSULyTV(QzlP|sw|0t$ecEiOP$Aju5pJCOY><) zx;T4hLmpxb6R~*j9#frBT;*Ec{S$#z|UzW^ZHd8h-$@Pjc+t@vjuO- z`v+8T_9)fL4MnZ2T#OYwk9+4`g=w!pGXHlT_BI`=9rBxDmvltn`wgx>{5IM2+iTOm z`w{CvKlJezha$Z)uv8Bw^@-0Yn?4ot6*j@LTpo1142ES>rI;O4_A(vQMKL!d30$ZB zBn3U8bZEzHT51*uGry;Sn&d4=k?Drw!9CiL?q(@|guKc=_+V#f4 zzP>bYT%Zs6PrJ#$uW*ugX$pK@%VR&(EWuQ(xwvRrIDNAU@J#$i(jmMZI&_4f!8?kq ziAsjh^9Nze*+pziyb7zC@D595#QEl%jVjX52hv}&X99m|8JJjJLybnUBeMrq6gRp-0CXzpUJe#Rs4#O#{NNra-Uvb?8V0K7@uh&j$zA1pe zcGd^d{(1|UoYG#=73jb&T{DT&aw#5)-J1AVn{4 zL*Es`Zi!Q4*B0xrZ6~&(Zj&KtX^bQB$qR9QMiZ{j6=p*ss@{)A$~@cgTeRrDx<~=6NuCwSigea{0gW;Iy_UCitG2U5wwP``?yN zs;X_Qm?T{N?|x*uz)E;B{%S=xubLRwi-OU*1bFK&#zfwjz#Q6bz&w0AmD&7FjnNWW z%{Z5s!eWVHq8Y0TowoUKTID%d3baF&M*uWmOoB@{??8oyCB*N#N{V)FqUjDlc)jI+ zd6(o>!C>MSvhrF38GCL68Gd+z%-MYu%Dj@n-FS$fOjnV2mC95kbUP-c8)8MoFFK%e zf*$KGC);|@g22~q$XO-8ED;le>qEtGOSOpx|Kei|Mq=UiHkuy)hVW{o;M(k7jzX+Pr_K`s%MX)zrsGZN;n}%V=4CM6{IU`^jGskJ z=DV=LHD%B;^Z-SzKhquVTo&r0N|^Zb8CO=bAX)J$W|$bUXMH8vhSg>Ny;sDvr%m~J z*vwA&LHh4H5ACY>N}o3$=KMR4xQ0Xm?w*v@0pG!aTZYN%fRhHOA>cNg*T^u6otJe;%7-!w9T7? z%d@(v&b@;uFtHwuHvA=%zezE(&v0fr#}QaP6o${76);FajF$L#k{yGKQFOZ~dqL8g zwYT|xSF!rTL-gKr8kec@FwpTQ zz3ZaH)=z&AJ%9cXF;8_^bmKTQ^-Kb0gAk|XbNnUGR!TshA#)6lG)yIY(AGs(;q3tN?F}P3V$nXhl0Q` zWI60Sv!r5;i4VS>wHON~=5oG?V6^NCC$SciY+cPdG>-HjM&_E(9N9_Ko_;59i5NU< z6UN62^dM4oFFG8TVM_d#@T12DaE0YFXunfnnnHfVGLw^V{W^so$xE2_fN%y?qyDQ8 z8>e}hcbS;mt<2N!x%*wON^EV(-?GL3)`yLa7Wk^SmS)s}{44s*6>(W~E1wQRxdBkWW&srTwh^PenJ_ii2a472gUh^|U>fz2 zzsf`fuKWDKowl4eJV%ad%(Ew!kze@YqMmeNZ4iI^J}F4JoCC^&ZcuOXmDm^Ru;zjf zP$~2bmZl}6_pR-?`wr(BFZoTUt4spzeXa0Aubzuhz5qkf8);XcC%(D&2w%SxWGC5o zq+C7j7`$i1b=;NJt=Wy1M$LQ}+itA(NN zg5UFD#yMH^i!bIWJlO||!SCU`&oJ~=rowPXKNa(@q=K8J(KqZib}hUNnO?T|4VCe@ ze-j6Eq0l4@7-^rruFJ`LLYXK(y(OFLoK z`jcatUKR09`S`K*-+3f!Xbfb=yOFyN_ON1#6jL~$&RkWA19P=|a4<-v{WK^T-S2g%K4{GS(&p}%++8tfm7$#;d>7oRU;#37ECn5K@&1*iEB zv#*h+@)WQwbc6&Y1MD%V!_3{=ahaV5;!9&RI4p|hCtT3n@jQ;1k%)V@TH*fYZFt~( z9LjctVi@y@UfD(9srE3v=i`EhoimZ!j$i|KKIb-{z;%xvVa^XOqistFCLGDe$W@9E zc|nb?+w+pXKC%#Jg>~2*&?Ycr=N_W*`Zv8(%xS4o_h16Yd#V%R!yknv`1-p7Mih^c z({)Bzc4Ru1yU)Uj`aP%@q`;mCT!D|Xcd;AS{eTLS4%l?(J{<22gvNdOv_6xMV=f7> zMKe`dvulMo?!`3{u-%H4OWg}mAD$5Tg|-lUu@3GxK7^pRXTfW<80J}ggyK#WMugE} z+{DwNv33ilZ9Rv-ea_(rl_&VSHUI~91yHy5`=JIEn8hlp%;Pme%tM*7|LRGe*;S9S z%$atd$JuAq{4lJ#*?QLR%7ExUdaWhDuF>_A`*?~KPe`e@5xINdE$^iLbFyk&2+=&@ zM;0xvB^6J;l8rlXz%KW#6LR^PQGn~pt>C}{A4X}r6RXawiTygH~MkQaXvP3 zIet%%&cb4j>!wfFlZfDTFgDE*E(!^OQg#~Af0{&{CWKRyrgwb0c_rPpM*zt$ZkB5+ z#D|=hU-6qM4t7nX+tkYV`#BHw3EMsRDw%M($?8;MZa9DQ#svs}nsMTLP4=b8Om^I3 z6?Wz9A6!<(diL*eMK`al&KU*j?)QplIZFcX z+_#F3v6tw?jyjqbtq(G*O7YV=O+3eW@T6zY!=kCPF`1~KoY!jV6Ozi?E481jQ&g;Q z7&PY@1kL7jj=t2XO#o9kj?J$>r}5~j3~W#|#E0Dl6^^kPM0;gAT^;Jmc`BAuWeZn2 zSJ??&Zm&VP#iuaZ_9SML?HJj08VjWQaA2}DD;&~-(c~=FeU!kS9h$f%*aNR~9{c)& zdYrkRFC51)0K&LAtmfk?c(`1MIXZa@(|u|t zGvZ{%U)Afxp4E`Djz;UpMqxD@VlA9AehJNWAq!gyLF;)eTX#Au!+#Gx_d{ap#u z#UjCB(NWl*A4@{21NmhObg1>tHgEtfw&cNEnx;NPL~ooS!0JM_K?2O)PymM;6=AMl zBY(6liE^1wAgo8&_3c7zZ1WL3XxPg?c5NchD$$;p-^>6*rwYhyxI=nwJf?FsOL*l? zb@;e52jyG1d(v(n`uR~3mt|p#E#pUN^Wgv@D6oNiv5%pi@v8jg*{qF*LNq=pv&ZF+ zjmhHan`rd|GhF2tghShE(2MsTH;#+JLe&qrt!tPJytzsJ4LkYcm0fL~v`KS)Ly%uI z!xXzLdocc!9=lZW6rQd-&e~dNVsDBPjlLiT5eXHfc*_BF4ah;?W_3Iw5QmPN*5S#g zrts)_1p6g;5?F*~(9zf5_&;7dK;Pl>bb&3w4W}Mdgl3jPmh1-RX4*k!BdoFqd({DqC36Bu=Cd#2Oq3|I~p(rJM|F)CJp z%_S#s__;VrJWPZ8MWc`!?+KRkeiQ4X3IElHmJjt#-g73|1)h)Gn5HjPrCxcgqT*oh zKl_mf&MmMsq7k-cC&MIHPx$-cIxGq7g9+k&aC~wF+`i`x{f&N9Nb)^#8e>R(esej` zn|Bkt#1U(k?Ka@{a|?X?VGq&rE6L=(cNL>wi+PvNjzUeH5C(L5fWUrj_%fTVC@kGi z>!mkU49*E7BAuzE^rZ=Tcy=n}ZZ~A?f4X60)eEv;Ka(f?-UtK2FQJ&nQM9?ENtf{| ziMQSX-Ujtlvfzg}lZR6jz7+zj~)-U#q7nKP=imU~60mUm1@0OF9G_T|J+tW^yY6N$tL0Yn-}`oaO3VC=5oXWOMWv>})_f_hj`@^0w7olLm8%W`E|NEKkuy(Z?Q`#@c9Qu<3SA12WLNFBWrq6&= zBmS^_PXbZb`bB~*Kaw!xT+kF8=Jmb4s<5YXCPgJ zZ+RA|N9}^xFWN9ks|xgpHPkfAl8NCQ+b};GU%40J0WmvvzLE#MD=5MoDtQU@Nxi2-;?vE55|wA|(^rwfx3^_2GMJ`nH$;{Vz zW7$Z4DV>?{o76SS!1qXRlGXc{V+bCDB)6BKrq>O+o;mPff&^3Ylwt2&O2XlMUwZSf zI{*FR&9rdy1(KjY3p6j-g6;2d@Osu;o^YEhbOvPLO02he@zREB$}gmAO+x9^18sCj z$(=|wsKWl?9pw2NW$IdVo2)K7N{;V&P4sLJ@b9Y^@LQg4rnA!T(j$?VdD-5(Nv`P} z`f{;3M!5yx70&xS!CQ!!w=Uzit69^)>kj-YXKQ#mT@ql;3nMm%F4KtxIyfW2nzbEG zM{koh>L5@}wKkl?f#M69=1im6YIc8iE66^1FJrg-bJhMwnYaJveA=^p)t;Ltcy`Y+ zwc6wdr&R4;f9L7pILUwNiC*j!T)dalWH8zIP5uSWYU)QXkv1&5q0fFl{gwLVs4z)x z=Yf0tryJE5-grA0h;Q+tq@Jvh)=%Du*Yu> zBLr$-=I>P?H8{4$ffSEtteaCx(ETcm!!QH-fPXyvPl~M84kCXu2`Oo?lhu4Kn^c z|Lw~TXT1LS{yni%GD%o_@PU5S%zFn8O|JMiKVoi|DIE5d1fTxx;MVz((Blzwaj62e zPi-QGxfL9jx(@oSxVQICFX(ud$^WFX0bT@pfvxp?nz=I>X~bgOacwHuQG5!lo`u0B z5npi73*h_vUZQs1V?j~X2x!ZGsx`F$69&>a{zMW_$fgKh=kh_)I~neUiD8Vf8Xoo? zM;%mk_-%trFnRZDocgs96{KI$$1CMQt8)h=*`>l^sc?M1lObELW>eS419ZWr3AjNq z8Q15RVv5RooI6nq3#Ojnywisu@u(oXc7i-(oRSI0_Dln3<|ffMno84cZs7H3SN7Td za8_r~l?@HpMTZ~Qv6pp{VY=mOYptjZzE)!fne@_`?w;R(%f8QIC1EzZ*}Weh4^F_d zc5ksKEgN4C%wY4IMc8Iew<90$iFoaABJL+olf~Tc+Wj;ELK^NvUP?G4v9y9b_g7(4 zjYlxiHJY?0G(xqzBy#|NLBY5SaBF2cButfNZYb?yN;@pcUhxJz+;IW#AJfD5!-weI z1QjBeUdykGMJiu%oE+M?0AAk{hY<-`w(FB1zWzQ3)@}Vx3JPa{M(IxYe*FjNgzjUM z8yuOenkbHmYX6@;=S#rog2J_Sb|+4a`kVMnt=eI;r{79Z=AZfyToggVzh}|cA?N5u zZ(*F7VSoqU&!*=xO;O<_;<_~*^!ADpXjT3O4_jx@d?f)G6Ze4RsotQ^H0R((J3sy= zZs&QfGZ8x%?kA5YH9>aDA2Q>NA+C~GN-vndq$Qn8Q8~~Y)joUjrL4}PetRprYlcC{ zj33Z{te&bs2YvQv8{I!a2%qGt;K3!abX9<_!kbFUYu|v*s8^xVjCV6prGn!sE2X zccfy@)%9eJzXLC5I0-ieZDFPRv{-Y~t6=hW6$rKj;?1;lHn#2yCb;~-nvq+0ksZV{ zYfadmXEJQ3Pd7c;AA*l&iLndZQZcgNFK*u%zy`TEvN7GU$jhG!*EuOg*uF=wYKb6J z&$~$nKWc;N`X1O*`3LN(wNZNQUT{6t21!$g!1+KCoSd=)PR=po@^Q9+lJI3{dGQte z?B+2GhFMT1e@ zXTq!iM<(a633K2m3sU?KM7u}kzxr@rA;a|T5V1S6w_xSiNW&_d%DF41Pyd&9(d}75 zO+MGrSz%%Htd}t8txSU8x)abZB+FF0h%v7&p5QOanuZO%N;VR%XYt#?W7ty9= zDh|E3B=5K1gmIR?;Dgt7i1C(UuWww5nu@A)rZD%8wt{0YrC783*2U1RJGR56j=7Bb z@C0Um=n44fYsXGk`G|5H6t|jN4XmkO#(vGt#0^L8l9{s7jOGkIX4f_iNc?HeZ#lc3 zy*p~b{tPi@w_ljcYNr{nb$bGF{k}|a`H>3q=jY}%q9p&^y$w~b?$y`IkL86SYj>p7e@X+F~pZM&`QoJ{@u zHpuB!E%kcz;-K@te55;mkD;;V9>=&V;;(An1zjfzb7jd@=H}ld=3O2S+O*!`m%l4f zm3NNUVdqZ&iW$+=p>kTO!>8%_r-;kYA3%=B*m?K_$al%%;ItXUbBrSR#jeN4{?96& zZrekq+gcJEi?hVKtq^{_sR79fF_`;l8Z}N12HE|$h@p2M?%3{z!te5^&Rzj6qe;;(c*+GmNLUo2iZgrW zrVtx-s{!jm7vYZpJNhm8BY&^@QKSYsY=`%9*6z?6_N%rKtNwTe3h!#78x?}Fs^}+Q zeEwL_=QJt39R}q7R!3amwwM(D`9!Yn?C1OX^B5bsArKwnPSwsN>i=jQ`u_eyf9mL9 z=hA~XE$bKrKhj~G%p@4IDsRSDW*RfC(UyPuVl;kJ4B)$&jpbNjqV!DOMeN@fjK5tr zgL();KGEW<&Ycfh!$w$8h#2{<7$fdp$Cy4pl(YB3cbB87{s#$0pxub6T?7C1iyWi6 zjK~xQzTm#R*(hJ^I`7B+b~mP3&+H( zLv`sx_&zoil%Ea3_@V&1;0htjH6zG_GwL>FO$W)^wL3t%#fg4+`v}+E{zcXOD&TBS zGTadn!#X;Jem=OFN+%trzvjN+tryn=wca#L36^FPw%Eg`=@Xbf^?mRyV;Me6U4q{~ z+Ts20j@W%Ig@)WaiQ{~ivj<&DuxC_n~#UH_;}vDh-1C=;#mz{R{7f(G@D#mvF>aa zKdgTMzpS0k%C{V64Za1i6UVGzXFpHC@jO-NR9*+XUVwtaUwn3T3+ny;f*%i+pr~*j z&9unDe&L_g-+T^)xirG3#AIkJ$s#E>lJt|eIXGQvgS2-eKsMPkO{ZdU%Hn3e-Fi7l z4=yLA>~&&(!xQHEUxPHQZb;(zF5dhvu= zPlV6$BmdP0ms{cKGlg~RVvh?X-7x!NJ4H@!G|T1wKkrw1iG3(Degx&-m*5TSCAih( zFs&`EA%M zei|k(*b7a|xSg`8C=7Al^|zK%GauAzfXo?J2uSt>xd$QOdcFv9@Akr_+!6R@(E|b7 z(joiV1uCD_Nq7#+L0xSfjJY!#tTk*PbSuZ@i+BLKN4~?+6C%u&&lkaHW`nil%y;D6 z6?ITNFiN7dt`j-`SEOHy(*omV@GyM~Q+A6n;*L3>bKnYb<9x`imE*v)!3^@}1%ih~ z34AnZf@r24a@jAiGVL$icu)xGoR%|DY#K~G1~Bp?1hyW#1+U^hfWr0`Nd21$*=3Q? z9(@dIk6(l(mJ!^U7lZ{LeaYL+p5)=oYeZr2CUH6+&g&UkNb8kMsimI>iQ@iV|M^Zt zh~wLsTc5-kLASB$S1S%pX~J30Sv z-8q-leQv>OW{+jlFaJcV;fHAH&h7Ui)v3)MXLhxgCmY_ig&j%U#_A1uvA!Mp1M!6t3281|MJ9GJMTLArojqnyH>r^5sMGs`=9ga zT${SqYCXozijJ+lrD9xlenMoQ%8h^dy%xo5=%q!LV4M{Jr=E`|VvcgCB<(=j<|o4N zIB{0PIhl2Ky#_ND&1dEu)Ih!Y&&aol0nj_Xi&&*{ysYR!{#YBr_srYE`o|w)SD$@E zIwx5&H?8up+N_CI(h#2e)D-f5K$EmPYm)V=34*ILyIo=gFD+02GbJALN>`RGnQ;}9 z`D1YN;A&pZ$OQhvIyE$T@d_vRjv}wPox-ysP}6i|er$JQ<)(VDZ<_5{smiY?^)L+$ zd~f6Z6jgRlo;WKn@S4wjn#Lqrq{2cj7s|AF9zGro#j~a7aQW&ijLm(FUv8A+aCJWU z;3dkudAt`k6a?c}7cpvI7)Hdo_xnwDLu9GK1(;>8#q?T?W5ykM3@4Z)`ed7{v zc_2YT1-Jg!UmiYl`vN?ByZ3F=)wbnMs_M&Xd9&O5Umo~7>PE|(Rq&bP3c{@pFyQh} zvMKs62q;fy?v@rYr}K~eKjz*v8p|(i+%{%P6qz%m5=w@Q_dYLoh7u*3Geo7*Af-Wb zWXh1DB$+}P8Wk1peO@6dibN7kLMobw22$_!;dy@lfA3oF_xFRfEMHj5dGEc?={O+$ zst((H?!I7ue9bPL25hmy}H4&cBKS*-VZ0H^<~1Jm3t7+zG1S_j416-n06E%r)q zpS>Umm~oLO$OCj+T8hu&V!_+~4Y)c-@T3mvvw`}X(N9E%k>GZ_cCnmpIipSho1$s* z=@K;Izkzw*)fn#%uGh}(S2X>d0)GNEnCKsdtmWQf%vlgZvo;;Yt%+G!t8%)mY4a77 zV)WRWGkfW-rY<=6hC=5nWqiHQfF6?0LEFDO*nk;ctc4ReRX$o_ya%-Hm7FfN(~<0D-KnvNwj)x?N?K7W~%-q42B zigDn!ULHzjEg}~+Z@{#a=TyEg3XONn#6Pv)iDL&#eqPEHe6fub+?}|KXqP-7CYk2{ z#Y4PD`BB#>;8*4DRP%kOUoNG%b5i4}f6s@(?}0)`Pz4O-PU!4SM3i zn8fuh>kn0svMfVz>rICW$H(v@I?9t%@gMG5(M_DH!_gYBzk{85c zoiF^AI}NSpLP34_3F&+rMNTYFrP=9=QKsY($tf%bVpt0KzW0HX7C?>gJy4BEgu8o8 z;8iB)A*ej^Up&P9DnE@k2|uLq;^ik&)63`jjIWfR_HR7gj{JMt3{e^co|Oo@ZGH^;YCNRDSI42H-f~>+_{-*PPdpxa z?90aNd_*U>7jU($3CxNux@=Bb1zu5Xr&oX05NZEra`J#Z7}!@~=F0`Fq(mXF_0TU! zR9(Pa6q>^-nk%v}_YU+diNoy;Q&@*5-*8uBIf)stWtg zw<}1pTXR*}E0KkG)PkGExn$1{``y9CWi>E#%uf!q()fE0&f5@b3SekJqBqA5IBJPScFFc+fY zC6Mhh!s%CU^PZpTB?0&QNXLd7yzf;Hc*CjF1Z>J$u5EIg{BYe5vjz%?(N1A7tX&3H z%yw9xx*Q};lgPQ&Osehe^j|zQ%9b=54%_k@6?Lny-}(qlZGk zcc%qJ8;(GN&Mj!UvKcMxw!z_L_rN+Y5QkWIc6^ZtTwZ2O3N0#4`qTM}35cuO5lVsaNJ{s&m&>=Xd zQkZ3VPcZ4b03y%XVW(?|p#ShYGV5(8$R({|#1_^P)3#_lZr+4P6}wOe_n?Ev72u^j z#B82DcA^mOP+vyod=ck;;Cx@g+7$1|+GCme6qJ;Z1+lLw@Mz31H*2TB?rNULX1&y9 zXBN(8A3pnn%kOlOrI}VRNiP&4*SrVc>-wPKf1cwK8NfUKI5^OrkBh}RQ0`|GOqA$^ zoAr4R%CW>hZW{&dWt=yv_ZKQul#^if6DV=>3vSI7fY+WCjLXLan2?}OUMOgjB)Mz6 z>djWTW~CuJ)@2IY#qBOGOWO?6WglT&ktJEUP!YR3Q^=?HJgECYU_%AaiWg&8iO~h9 z%*{5qEPVliyo*$`EEDT?RZ#`bR~VZV4k9f!5EHYL%C&1U%l8+6(&nSkwJZP@*X*}; zp2~StvT9Mq*8wfv#z1z_df1xwf8Gz1z6E!0o#en*ZBA7fdNHlMZSl6KFTqOx)HCZB zoJa9n0;<)%QJ~Q?1I^!-vNpewII>cNp@B)!TB;3bgc;`s|yrh=Zre?ZcHPwe{zNBZqQ-eCc0^7yqU1b<|_1bHv7mHqENh~9+Hntd;f`7_JA(a~Z| zdE4PameKx~zuKf@4ZWW|QN&z8XE}eMT~1l3bWMnDeD#`i=sbdD7tccfTr1i)+lt(f zRG~iQlOccaZ+K-S%j`5d0aIcsu~9S%YqA!A(L`Ag8MPbzy;O0x?9WL;{2_KzbldF${ktvZUb-~?4XJZS=;O2%;?KWpN=%_H?sxRZ$ z3V-bOxdmYz-q?9J3FkLWfyLcYfE0|&{HKS@ShH>Z6S2TY{na$>!#jz7Y3-^M6;+V zHiyKtn2OL}a66@mcTL|A%i`kcp^-sS<)Ow#&-cgRN0In0f2!d6qzq^nvj8rf6GIVo z9`1f#OQX+(@hU_A5Xo3|w#MTj-WoZIuJ7%M`jY@MrHR{bZH`4ZRXIAKrv#xcs_<>r z4-ypGO!^)nk^iYd7kN(L||3`HxB+h*!^FLqzfBKmO_s9Hid{41_9~-^F zhCg-tpCJ1s6U+7Pc&#+r{O`O-{ts=|;Oau^(r}C@XB{EM#ag6$p@5Fae5QX>vw0W2 z9>d3_PK@JYGiKN5T=e|4+&WcLSupPTeCx^kxm~0-8=9cCAAcuZB`(YRL4By0^WLn& z76%17wF=;bof8QgKO6E&v&i~qQ*h6zCeoW_&WN}V!488CGVP=uJOA2v5S^1jmM<63 z#g-;08`@9Z11^AyoilUdh7x10UQa8yeR5CXGc3Km3ChMJpN(E6y zSF@70CF3hD)>LEnaJlMkPQU&Kpax-|Mv4IYumo zDQdy?)FV8PG=lzuFqF>NKtGk|!6=zLuyAn2vv~!mb>S)*dwVk||1|;a6ce~7`3aX~ z-NL-~PxS3PZ+b@inV|Q;N&0i;E~wLWgyytVY(9DfeH?UHhlmug$}9y3J7K0h{44az z9f7MGT;S37WU$ZSk=nUISdhCG9%h!Iw;1OEZ8=3GW~sqYPX!5gK8WS`2}gfx#oei8 zSYUD-72BoYSLS^@IR7%-y&($1leq0ZIZ;NFp8;AneA+*1G<%E73F6l&vMz~->6<{U z|KG>`vYZJc zf02Kd=L*@N9SBM!^_rMFmkUC z)>jBKKYZo_FHIApemmob%M&oh5pBd~h|+lnobl!IYI3kxg}GS!5W0Vy1=}0a?6`I_ zdT8@g!6jQ?61sC2_1?J%C#6Y|Uk&3J_rf}uC-R3X%{Y!)=gzZF3}vbAk$l0zZcASO zhA`T`JeSPd@&fj7y=29u3)q*+9_+FSS*RDIhW)SXQT?b3GD&r`tz;qmb7W_Bn-KeL>depZi_G_v3+cRF*LY8M%0u@n0&c_eVbo+Py!$O2&lbusOW93~ z>ZLBwI-|fma1fxN#)tF0h2yI1eR!kmBo=Xdh|O0+%RVB<50nXw9}xNm|W zwd5OVC{u-=J!zz=Z7x-}=bXNG=D?N3Qz1w2R8ZS;1~r72^^lu?%i2Kh4hD$bAV;J^z)i%NkIcSxUVys;;5e~gE;_9Qqu1EGAy01f=JfVft?DV6$?OQID| zmxZcG;qT&VY9%HEw^qBuH|MkPdP*S%j#)?Nmu)Zm;(41lO+QeuWcf2Hkx@anEDeX% z{C;RTWCw-~j#$-tnU&e+CYb41!mA&@yDZ_4BW+ckL(CRmgB@buA>r*Sx?-{~TYJ)l zwK`zK>Tl1cEv@xrTi#AGU1K^K+MWml8OOo7y#rlSli3+Iv)Hu}SrBvZDkGLL36A8* zLtp-15_Whh>{U^K{yBv>@XVII_fi>mb}wXB#m;9^^foc8H?G9b$K~;azBgVBbi_*K zbLjfzFE(!y!=9*eIGi~e(mxNOHP4RCnOVU*mOhL03$G`YwZVejpUzUN{xF_`j6L}D zOOVEk2kBs43;DV#SCEvwmtzFTfRn=jx8G|9w+(IJ$saqYS5<`|*|Cs!#12gM?u2X8 zHF5TmxezZaMWPpt!W*&%^ig89Ko&zaHGYNinTR1^#U{u?u7$skBPp|HEMoCn^BZV|8Krf&v?=Hziu}Cv}e0Fbd1q1 z_YbOSwK)85f7j%~IXrtZ7Zo=};iwJsa9Nor)+LRmV_j5ub=vv#`$Az9GFwXj-Wi5n z8nHIb*DNro#R>nU2%-A>E^_YT9TGj*Nw>GO)8PD*^m>9HC}(Lir+fS8>hqT{E5iZ3 zW{)d%_4I^ApIKV4wHPxEyQ$U1kK~+!4_G%Zg|UZ1sQm?RoV9%c4(n!@Vnu=A5*vnQ zaj{fa=qz}Jayyz_-^6U&J>>tcVzxxe8 zOFu>*WdnA%kq6ywC51D#yOWj4$-JS~r$ledSgc243*h>HD=}Bq7j5QN(y5s;_)e~m_If6e z+11w|Soarvw%7{0UGu=mPYNDWCpe&b3QAKCf$NuRM1M$w+&riUS?!-8(eDQQ)P5-V zbFv-9LzUE=ZBgK z<4qqz_J$dZ)Y@-U{HhyoU1TaR(YS$}t?J=*?3AFwE9Rk)oFzH@`T?9wy$(`8Y~fYZ zX|me$8WoRjq+ho$1H-prBvs`*-FoK}FDPG>`5ZNl5$&%Bt@X0_ent$;=}si|=B0uW zOCKusVHyrP^pa`?1!nBfTR6`3VbW$zCM{AS?Dnc4_{&!%%65-v=*w~Fcgz$n-|mHx z!=pehs|y{wE!e;sG1f9@3+pHv2E3iG$i0|y5-7A0Ry|Q-*7-k&O2@r8(MpAttM5Uf zX3jG(s))<7zS%D_%_IVKhR z;aed+juECq%Q(JmZDttm&l1PGA!0TIQtt&zBBx-m{1SHLFV z$)!8A9=qwY*idTjQ%=(M+=QB&3z9&)dEAG3Ps z#g`?xsAeOM%IpJ;qG?R`Q+wp~eZ=kQM{xh;Gpx~;NSJ0(&-rM4Xo~edfmQk-ycs*1 z`K`4J9TcXsV$rN;}-Vt{8QIi{rzYL9jB zxzaZ}PgKLYsd0OmxR5x`_Y0?!qhtivL}bV+6&cK18v^5Re!$q08_;`541Co*;L+kh zp2DOP_^I>@u97{8`62=6Iv9i3+pWMqsuwKcw1Rtk#!2`S(Sd1CE|YJXvb3nl5OZy$u?6o`f$NNn~kAJZ3z}1*-*I zPwym>%H6-9(Q+|P(eTAb1#O2IB1W?O5t8PAm^xB{4R8@Qu)Wd=WARU%Ra& zj~6&a@H8EdIr}99mMb*<9==`oy3n3j?G+mTZun+`WHw08YzCS zlEjrfzkl=R|2se3RaiWsJl>xF;GygFT}qS7UHmgnt~&B>J?_owuL60V9zIwlg;(Am zrydP%csykbF4ewIpJr6s9Q%2j4k^zsn-)6(a!+KJO-{%YyyNp}V*EqihDIg9p_}ty zRb~>bT#^dwkJgYwb7Vnokb;|o7)VOB^WF?Z(Zle<#^S0mPvxR0^iTH!9c^wmLv$w8 zwgi!$2deNQG?pyN+C%sH4%0=AZz*4=m)`Es1jFK^u=VH-h)Nm{fij`=g8M6ID>kKO z&p6iim^@?)v~XcoIT-LKF%SO~gNRu=sf@qG(=@gq{+V+bO+{sFwcm-xPu=K|$R5s* zvxa%msl!wszd@yEiLvpepHNJGJGCs9W>$K2Sck+eg(>F-Av<&|b1%yZc!8~G{6&=w zx}n4#TJ{EqeiUJP_8zv=_BdEheE^YHLddF%q4;C+4EB^QpPle%G4^iA#PPP|?aO z=r#T}%6o3+wS{RiYWm|C3waT^+r0|@zFQ8LTubS&cO0&ppawO!-%y!p!WbBTkk|jf zr)>Z0L0keHyY7k)H-|7D3yuC@W!Sm@>h+qxix;j=pT)nvAv^n5ghBZkHQRyQlmGU2 z#W+6guTh)>$m9gszhySGvnj;d%8d$Sw5jt|H%y;i6?;rReDcI3V~n@}pt7LV3p4;CLIm%S&05fcH) zDTyG$bkK97h1klvzc^fa0egMtqR#3Rn&EecP58m>{IxEE#om9(N}**`Zr~Yuu6e}q zTe`?GeT0YQ2o^zkP#_$`#(VUEd2}S)G3NF_3ri`RUQK_#@-?NPlS8 zD)+T6crr2l-~LU5$RpC4F%@kW%%q!+-=lMUhN*GtYk@Gwb5={>9Dn=AlGZ*aSf`u^ z&W`T|=BK7$SMh0q)_pyiqE=^fX3{CLb)_9#$URM3d}JZO%!0e4lR!WCXX%Mcl-{&F zM@Bb=(olycYB{3S+kEiO+6GVc+y$3|oH1c;Ilb_e%O9pX6XKr- z=bQgPq~BGrk2eRWkf|{7nJlBaWmV~_bG|r}%atZsszL6G5t!1U&!|NU;G4?|R01=$ zR9KkpxoC;U-&xUTRz>vUf&EZ@bOgpZ3N!H=kCJcKIF8gQX|^)|CtChGi@ETXZ7Iwr z`{4#Dn(hcCYiH9rhrZ&b3*4^sG0r{uEEwDl*TW1liSesF#a_JQ3&)4F=*_2GU3*6n zir=orlD=}&S>Ek0&kfkK=~rIhb7&ir($5JiCMX5L=eS zdzY(2PrWXr^UB(6W_w65RdYEOU1b_JESrkyPlaGN|0?9_))A|UDmsI3Y|cH4@W+%j zm{lgu1j(O(k*d*<*C-3qZ6{(b=fNu-+l4lVjRguOM|mm+;iz*{l3h0Y30pyq^D`m{%UG5<2)A&oTGL|CVnrmz{Txj z@Ji)qqIgf2D6ZE;-vi@OxB3GulCGqWuNMe5Mmp1bX*Q&8-BdF9-cd4~u>zV$y@2Az zK>ErwM=(u3gnm{?vvKQO#w!pU9;A3yBsm%<*)5c28TUGQJq2XhZ-!J1%ckV}3~i%fLT?t};DL{mY@jKMPJ!rj2{ z6K9^q&S2KulVl3o(%^lbEyI_K#d-WK7%Q>`?>iZhePu5|T*!do^SWW|&sxFeRvR3d zwV&s@G@1!XoJM#0E#p<%%Ru3Q3fQ&sE~xXGiJZ}E470Uk5AI&f+GTvgJKUUnLa-|L zS=kSc$&296nZuBixQA}6yMTPJJs7=B6blFPP;4X>lWzC1FN+UCw}>Wa4Ez=J=DT57 ziYQx=^bAX*?+Ls+n<02c737O5F}`w3*;(lYbnP)we17~SR=Gyu+j-|{<0vW6K2i>; zpC&MqpBXa`WX%}k<9o?a=S7hIIGavPxr%YCf^k$s>XD=%b04EjW;%WVNlF-8qkyj%ae8X(Q4)5=*3inLh+*WU|7;d3i7ZBZBwS#80cSpyWarE$H175j9SA!BVO z#XJz#Cg-Lp(G!x5Wezuw5P^{*Hon`6hUUpA>aWIr>UeRQJ+1FNGx|hybPW}t_sXCd8RCBh@EKd*_=rS6OZ!5JIbw{Qe0_gWIWH= z@iW=kJfqZfyf~Tsc?YJS-%DDTZsdvEU8D={U!z+%4nqG7FJ6bIE>xc~g!y^9XzbNY z_`P*GmC*?*3lEXSv5yMrREwu%ILR4A`Ht|x{TgwXJ3`pY>13JmcIMjht+cq?7;)e* z{oEQ18waz2jTeV5E{{yi5MgfzaD7hxHeA%}2RWAx@T{6Ak}=w`AbB|w&MxFQmWNx> z)$}Q5_N1XnbU9YeEyVbPjjYMCALQ#ZKGdI8A*PRu@X={Gwlp^yFRnU6j=GnFb@)CI zJ2L>}<6gGqK$0LWC7%j1Q<0zFilR=2nC9RCN(NWpe&!z#Ic?7Ho1>XO87x$AJgnID zsW@BH3)fYz0kdx^Om37JQ@>r9>FqRzPR>2I_=EF4ymom44yO-8eeOacvA}@bY*K+-RduHQ zmI>`yeiZHX#j(Y3B6PGqfw5-$AuH)5){PNkvvMj?RkV^;1$dNwvpz?nMz}SeDUuWhrwB_M zP3eog`6-p8J;4-wb>@(Jx?9odwK6NT_B%?e0!DXrg2iYH)?Dv~?Dbw<{+0JRdeOJW z^E0p7Hf=jE$!8bLj_Y61^iO~H|ISaRO^oUG*vRMCcf{qn9yTs_s{!>ap9%lOkB(<8 z98N}Z*-jWA^y*^b+~>U9zFkD>;s`HkA*C7|w_8F^mlaP7LTBFwl0MHJZd@0Gmrgf{ zx6(<-oB0~t{U5-b_SaxMPzlmg_hJ-G_s8>(P z(SAj6_H%})>I;J8J$pz`W(dUQmO{$AM(AjJ29FJXLmk9{bn7}Y;Xn-Ut68D-T=!8# zubATll|Kdk-Z${w|0Spu2*AJmCRBbBW=6jkVWd9&fbnJAopiZ{mPaSR>y~MZdH4-z zGIE6t8@j1I*N^O~eM8=c zMSbI0UA;W~>%52CgXzab_T6}HYbUIoa~wA2UJ&FOg$rJVU82509M?rzjIF3vWlePr z*dMkUY==_}-Y*wpzKfX)Y~0@w=>@-e<{@JQM-mkA5&txr9+zeXG0yDfyh*G=Xa`=; zIt7=;2tn(_Vvb*;fI=pvG`Lv?)z_3#y>veM)=9C?c8ajeatzsdt*yjZ(F#7*xeNNI zchhEvhxpezjtzen#g2=6hpy2xNsH1a$df(9)4ACX|JyJ7n;l-YgmCo=r@-xEk!IzC zu>%Qqe>MM!2W&e|y;6$kxQS_$AKFAOkB)>(3zZmKO&w;9u^1yhZMe#DuYx%kl_7| z>momhJq$Y*!J&zdV9@?1d_MCK#@chU%`(Cue@Ga1)EPs{rARP@*|1r23nbn=2U~U@ zgLRrp@V4^|@mFsV9R9gk@H_Dw#~{59K{BminvoAn7G;9Lk{mF7+5je}i@*&Mh?aXV z-E5sqr`{1_{5pkrrk0?$2fJ%$vp7IUIwte=Dit`988X^awD0 z)6wmXEv}0H!ub)~FggDYwtLoKgts!PG@rr@leZ{eaS>#j`lv_3L)s)ahNdSdV~?N; zgIXuE`UQ*FOJ(!e6%KZ+c1SxK=bJIG?LCf`RzY{Q?8^WSk(Z!Y&%# z$69_`%C^qo@|jLO#&U)QPS&&{v8QK}o2}NIhx-t$3N$Xm&3<@aQ;yXw{(@SP;_M_l zU+DR?5>1x=5qwl!g%wMWqK#W3&ZwWt>i0C@oe>*~9;3*^`fr%((fD6Hkq21)ePs^8DUh=2Ri@wDVzP?%VE8?Dje2! zM{B8+)=vgN?$2-hckVg#=(rwCrJ_rt1V zhWI#iBFg>N!xmNrU%1akmk$9rY$t@n^08!ltUBCp?iVDr)?js{7uH^t$7NrtY09qI z)bF-Gg?XQ8$yXnGb7X-0{%#ME&jabHVF`AVj|JV|Q_frOy_WEP{2~wU90a#b#V{&U zgfTSJXEy2UGS4eQVS8;P+FBigN1l`5Oa2LxUT8!vKJO*EHVzb>s3p=LO4_TMPWjAlYDlj1;X?gr-gUuuA43$E`1;Ly5b<@WLdf=H9Si{fY&!^>Hx# zzMlyxsI!Z8IJD!|wHD)|~??F^$DeRbW9S%fngPaB7p!2x{ zuD$yUZk2=37ylSEVkOI-z2f-3AEX%Pg>y(CSF2wfA~jM;M3pHg5$2;5Oq)zZ;d&Q;M|Lb`D*N@n_JmIu}SP#xP`x@as?}Y`{Sm`U0|S- zNu5p~D~tSTNEbSLqvwtsTq`TV_L=TweZ|hOh-}|EFbv}(5 z4o7aR8WXHHVVkixWt*)b@RcrE<)0wf{>+6a|LO*7$wfH0WdjEP*1@_L1>{5=kVOs+ zWU{R=$3pKWg_y#-b}k(L{_F((3nEOQ`4X(jKS*6pm60=BCE#ShEuO{wedMlE9B65k z5|JGb$zRh3vZlrx+IyPlW{*o`+s>EdSVVXV@M|IUImedH{r|bG{Q5! zPP;RXVgATFG)qXs_O@@-%Z1BRJvj%a`v8%2Is-X3hjXtX)cTx8t9V!JpU=a}iW1Vld=-p#-2xtVWiT&a5jV#Ou_6iK=+`=(#FU+; zqlI)ysOW2w9%}&BRs-8MH zUPBgq)qt0Wj>3(Rjbw|;9}>ljg0CDe^R}riCPXIEaHVUcCPN>-4Jv?C&Q-GKz76yj zZKmgaoJh5qBHZ5g4xSaO;D>v?Y4Q+>?qE)byi=#A`AXwTr0cMVT zf`Ny{By+)Jc*@Gdh~6OCGJX#6QeFuBqE7Jan8L`9w8Qr++8}S^3x~b#!b+QJ()nT~ zTGptr?o<6)nF(vzh&(OU#w`UcmP-rXe2j#Q;a5=lbSi9an@xM1w8@mp6O`#VfivwC z*!q%KR&e_Qdwp#P`~1mm!6cqK6L?*SUF^WsR*UZoZvGU8r`%oExMeAX>2REe7I*em z>wNb99b3G*?h6T6Hx=iGzvC&XY$BC1b#Q%>GSjTC#5@<9$ke*e6F3ZUJh1TjXs|1l zs4og7at8MWc`0Y`@|p=e47Qn_bbM*g z_j5Q@d4(F5yC2_RK1WIYpLjS~ok`!m*^artD>43C76y(#M%TSGqDFz?DoJZkFc0h{7A!G-smdNp;^10Ql|aP)Ih|L`OfxM?wRj|>^h-_sbEMP*r^GLct zBN#8g9;Rou5M1aj&Nh5>W|h>BvFl(Jn{Z<^E==+O9FS&KI0-Pqr=7m6axIlulR#}# z11T?s5X)s#S?Q}+*a>7Rn}28~UYETClHSKLF{V(EPZeSLpGx=#d&=9(KBOil5!OZc=}iZ9}VeZ{=q%aX|M+7-IgKYYLjv8qh+ zKl0|oVbRt9#!tHFF>3Ip)@Jv$CnP<7Ek2&CDb1)r3T!>q2^Fs&Ln}wf**0wy`WGER zl|lgt=H|yk+`2%sGYb}f(<;koOTzva^3+fJ8Vs(e29ID@m=*Sk+*5i$X6jrbmV7(d zFSZ@be>LDIH6J$SryslJiyB*(6^E}JH+9t(lk*Q-B!8bSevDwc5e*hKb^Y|gmYj`vMysDHb_L;BA~gk97Z^fLBY~Evem#2 znNz!{yh0mX6gFeX?>3@FWkJp5J`S$DjC<|59g8(U6FZ^=I}#h{wD-nj+x=${BBIV1 z?B0bJO1EHQ?K;*j(v5vlx->hqfue?F6g>{2KwK+!13fUtnlzjdY|*D zZhSnAP4_ltbM92)b@?1zFf|U-xtaIpHi>XO^Dh<3lwf65>wlQ&?)hCGz3Pe5f_iSu0?1-09f zAokQTvNbLSzvhZFQ$I88Vw(`07MFlkHzQC^-vU>^cg2U#!$9Y&5VL-bDp(fiv0V;T z|Mf@Ky|DRJCTGOgp1z_o{j_NLu9Ii|q~gE*!(XWGU`YLJXB6`^L8*?ZxH=>o4~9R& zzPJl0G3^lAcxYj@SU2tEey6HQElH9Yk8v>xRMAL`mpeuQtG~u!$-?=lc;pY=(w0k) zEKjBzHfW*q6i-mf3nM0jQSd9`IkX5)gYTo$#INxT@8JbSnwyYH)z6zz^8+VnL74_T zc`XYUcK(9gQ%+3Hw?)hjPi5v%91HTJEWn_~j2uf#A)ZUml4Pf^v`{0J{_V7Z4LUV& zWvv#YRj$KaUNMTNbey}j4$Y$V*|akf?D1M5>{~Yz z1n--Pr*#j#8>xuK8G9(a_QWjv5M17_W=yE3&r~OF7 zT$u@2tMP%XUy(|hW+vf}*g*Dd)h>4B^=^D!_lY)59iVrm+UV$QtLPNBT;ig82b6qE zV2`goJk!5ST_c_gxT#w>c}f&+hi8*V?@ocnwzFVyHxJhQ?t_f-dT^C|49Z3=924Rr z$aDUZ${P=fhIb87%zOp+hpHek^BDMWK190q6b2ep(YZ^HfJXi=hzTr!0@YI_M^3?J z6&HuR3S*v6L7&b4zCSO&_k6$Vj{{%R`^j~2nd#*^;^9|aHMIYEZ%7s8@kVu+z}qFU z5HqaE7%lq@n|+?4!g(DwuUDFVduA6tx==#c^Vx8Dk~sLx8VzioIJl~Wf$=OoCjR6l zV(a^zqL2X|KhF7UYnQhVMAC@(_fy^~$ z*Od3o`!rbI_JiYslkn1F9255d!K5?~s>^P{pyliZhId_>7w^|b(IBs$9m_bTj=@BwFmda)=mHABee_G1$CWs;I}I~Bufq(m#rvsQVM*^p=b0FE`+kkmfME-0D z=iEo7U^~F^P}(>?&sROnYUAD<-(*RY{SRWgF#%#v*n?-V5;fJGq)<-XCcBEY4`m-N5;*vp{<(x6?es9b(RB@$yzm z(VSxy^i-|0V9kXn)>_+Tb#;W2n;p6`u>~!_-V8?6Z}}J5-*PoJX;(a{|<;&SM6zUKQl}-y-`385r`C z+eNKN0U@Qg|`%E@U#%}gGBMvot{#eYI(LX*az5clez!52K(l_ zDf&+;rh=6x;8DU>eC#cXF+w}2 znA}cydm|r&PTqrvK<-TOeoBjo8CfRf4PRGQBssd936I(DCgSU8gAn=W!qG;Pxxq(j*{4 zNt>3fT!RWD>4NY6!Q33T7}F^71p00BfzQpBzSVsr_^us6o%Zg5Zzt|k-DiEMo@vSk znt8FYZj)H|A|ZCxikmQSxdF7z*9qQ~9pQN5>tRQB1ojM-kU3e;u;-pV`}AG{E9QBD z9iDm_vtPTDO_nD(Mp+#U{ISNLE*xV}mlGtseMBp+nPTPmsce0aCVQ!23Whq&MF@}* zbZRVx(w=A(TSNuWD1evu7;^T*4(>i(icc@BMjK;kLfU2n-1P*%g?>Gf^Y4v&}TJHIOj&F-~!13gVRRL+u|1Z-FE{|yfJ2zkN%(fw%~<$3W_@Nd*ohQ zsHsmcuZ(-9c6)}}Klg>r-wn7fF;oiwLVlVsm(f&HJy!~a9vd;fF!hX4Pz z>``_S5gEzIdY;Ec5rvRSrJ_Uwp)_bnGRl?)iKrBcin5;Pagk&+w9t}D11)Jw<9oe- z_`E)!et7@<{Rg_~=5Suecsw5WYh(6PIW7}hxAp};pjsQfjhc9=XO(H$Q~~I*?Vu0d zf3l^cWpML;DRjqOf$zgQ(DlUuJfjWaneA?fTdxE9ZWG`fmk0M{lR6GG*OL{6%VE~J zcR=AVL@endbsl$#!11zr-T@;RI@1Jq-hTuMFI@<{rAM4X>|ur96Zo+941|0v1Lb`i zXwa_=>}|b@C+;rg?^t;O?oNIVX$v}FZrxD`xg!R*f3AQ~%^Tp`o`=grBG9|pgf)I2 zz%En_XRRl`z%v#ez!P}}!PmaN)*f~8Xto%-R|~QC=byyTohvzQ_&Zn_ z-3T_9pWt)5Y<$CU$%Q^%B4!E2K}2$wpeSHnvi_cg1bag^JI^)03jr>3%1@-xAI z@oaoCHwh~Q#No=VjWGQ)kb^F#d0NE-Q0=J zz#;A~;RdZfLX7L9kMLRZ>>T;$u&BFW)LdzjgG{Tps%OVIhx+0lS7*zM zID`kuYu8qE|1+Qd|K)}KfA6+kB7HHpjygH?y{S07kJWFyuvz8C;=OAB)GaTr2Bv*> zLZhS8>5k%wG;0>O?-;Cu^&a1G`?65X+{NXV1Wbe2Sr=*PwO%YX&|&1m#z$qzA&U`wjYO}(ECL4Q7?_^yNBC0`=M%8J*nZe7b+ziV8@LG zaQXhGdbP3jG+-778U8gNuh;*fSI!*AH@C-OT;B^&S^p8|Om`#RXSML1i5pK(Qir#n z%l8d7w!|+27x}ZR?~(Wm{;vTK<4$J(7JOn**xtbT(lH1biy zR2!7q-ow|l`ON5uEbG+f!CpnMgq*K4qvx0{Y9@YabP=b~&J7#Wr zA=GTPWN)n$Wn1# zcSvmF80KnIC3!e-9O;B!D#wLu{V3Q^&%e1(7d5VAP8FIm`Xm{3?MksCt_Yx@jgUpT z_%&b*M#-6iR_V;TnkqMxHBNz$-WiOH3`@4Pe8;WP(j?r4W1L&o!k?C6Xl|5XcK*E0 zJM?;l2BoaV&aMM6ubRgQa@zLYZ_P2SKJCA`*tT6c#k6vc!}7H;S_3ju8hxr~2l&4G z_Z@4VsmiF#k0pCeVjz5|kL+vR#d~v5lR5A_7pjiVWuuvU^ya+{;QnY5%-|SqhE*DD zC6~D{u&WRgP7cxWixpwzkq*4?IfYF-9tkziIp5(JC&-`mk>G}Iy7F)mhJVRJCvzwG zQ8NLXr--oUzof%aBNe7&zc^&5oF*9=56K!&Y3!(!Lp$fkXo1{K+ochwtC+L5iaeMg zF0;}g;yig@+Q~QhDhvJ>O%UZi@N>yd8uqpu{IpDPeR()*zgd8p7PFW5eoQ5r-JbkU z-%IeT;AM1g5y9(iGf8cs5VIpolbNyM2#YatXgGI}ER$zRgyLu7aPbzFpEg6AfrIqY zgx^cNxC9%V_IoX$HxhOKP z=LRw}gJ0pSyS^BvJD0JE4h(s}1k^-bFyZ-ma>Y3i z1l06l(iZ#KHI8uK#?FekCT2Z6}=_a=t3} zW%=ng{_1kfbU*y>o$f*PA9S zV#H#i*;nPG7`tOPNE@5r&vlk$0sj>GipLR)ToqpMrmxgz{~(kZ>aJe>*D0B>Xh4`bki~I{>-E`<=iKmCz*!RLl>%`c z!FVWXGvD{89x`4&bjtbP~LMeY7W2TwCz2-?PUvKpkohCvrxi2(Jtu5 zTZI7<@A;p8M)7x?XPCOMU^wAhg^r$a{CE9D(AZc?7Z-Yb zU71PxV#hRJoeWDmxO>jpKekO(sVIK`7#clprJCFwlC)}}5aoEJC30YO_8G`5mSw74 z6F4^dIQ+HeH>j>lhT0Q?Ft<1r`V_qB2CH!VJ1Ye}5_jWe#bcyu(f}ykz3|_jtE69klmo%cYa{jd8e5@&KyZN});M!TN}j%QWK zk_qWNLJSX>&|C9Za-u;Hw-k3`nA3Yak*>||{j0@#^FE=duOlJxS#(E2B0jG6hMa9q z+$~js!CxNm)Oj~?3NEHH(I2oS<$8Tr8A6c05NIb~AXoDFkmNQ6-cI-d&(yMD<3%fw zK3-J6IASL<`SmbcYy_5szN0T=?0C=DE#vZ*SCjL06Ziu8DcEhY0arhMLl28c^3p^c znT;}eB>hn&+p{s1E`m~6>2ZxG5T(er_PjtwuLBDfNnzPk?(fY?gPGi01ogFx*hM#X z(j&ETFz9rER4Cj=#rS3%$EBvrpsuGP~y@5G4M$B~43jWfj=Xg?b9$|Gup;6Tr zg(5;YZCxcjHLd{n6xN`p>;^jLq8amBIGouMG#7H$H}J1^DTAxSArur*!!3c~c4CH) zY0u5ueESz4FtEgo4i6hKyPc(&j)`M9ChtCelXD(+2fjcH%Q={~u7rqn&4A5a3vs$y z54K27;aID~pf@m%nG&T2A7s>+Fu!}`t3fQdMLR*pMJ1RZ@~*zFycbW21hSc;W7sc- z&akOa{=d77qjI>OtMEPhdA_oqV}xHe98P<9MnppPpS_t{(N9w1u?-g##p43u6?k{( zF}ZSY5{v}BA)T@!RCG}dRTb5SB4H1({v(Dpb;I~!y&AiyPn5m5Xc6YEzDFaY#W8bd zAcmUmqWQi`a3f0&mYi-u*+zYKG)Rv<;3~_eRnEsP2P81Cc?l{CBw$jjFg5jSBXue3 zK=Se}^f%UH-D~7n;mf%g>VA{*<T3Z}N0>HoJ2FOji2f7}jGjk-BbbftzDF zCXUNn>K(8N3yR$^c1k!=od^)uYs8Xe)7jU1-{bE2>7=&pDnzUp%gk@x2iw+;r{$PP zA4yCjdiTdep}zoYxOyyGXT)N}n_^->u0UM44%6^Rnu(E0gjvR%=5ss1SGR@W{yZ3) z+Dvf|dzZR)#*xp_7on(Mk%``*#TdFPGl`t`J;5yx_UdeeD_mb3FjEz}LI%kp*9Fj@ z-T)zfuV78$dzkY`i18|T4VjfMp*z0}R(#fCj_mvfL-QZNsqiYW@w)^Ksu#h~xe`t| zHiLow2$*)=gJWCP7iT zur^(hdGd5T&xrQn_B0~oTu4iZXd zh|f_QGAn8~><@1RBO3um&rXGT3dz{_%^%kl?j~MgXW@Bs2H1~x~nbLO$+^CHxcH&>nAJv3aIO`6a1UEh3K82@4Ov#>p)unB6K;4 zvcgTxXjmPE)p9(Jp%g>U|DJ^Q$F=aMTO_yB8KGBi43k}@+^xCsHp)pCAvtssr}r(v z#|vF?vsny^m+Z#5*%f$mU>oLiDe%^DzlW#yz46MN1vr2exVeJ+?kT0>N8buOmCB;K z#Z44Cb_%5rHB#T0J0!(Jmpq@ihq`Mdq0QS|RItgy6{*em{lh3esC|X-@GKr4HNhDY ztNEtanm}X6T)1djUY{)^i(d~fMk(O(@1kYc@N*+r5|xi_%XBd3v>Kf$|9=uO_zbtVh+F42(JYp8v(b3;|atfz(Q zyds=f(uri67nYs=$zOi)9$B#aI9^N?V|5Kp*f;yGVU0mI@6+f^{ChJN=Vl#3?Sl*O zv{w?R!!IDZKe#(bqzzk|d>6IbZ4o@55p^*o;%@4Vh1wk3ET#g(bMmSCJTV$>D8u@m zo5_0Co#*^}lZkpr50HolV5THSYM*+ehLsLJjFrPH8wClodcg4W6t}ViFd0fvQ*>7;N4H4lcgTx#t{9ak~^_ z`EUZGr#Aq*R$T<8kk4SABg6FQ2{TdWieZGE3wsBMLf)XRgT|eVKXHS~4%Vvv`Y(Qn zI&42Q8aC17&OdYU|2v;vOIU22B|d0>qr#zh0eotR$vlwjktOp_{j8ar&R*>9#~)JZ zD3(2m)%9G5}L z1Q|nOKWEs^PURGDjF2MxM^+Q;c4#tN^OYI1Y$u3Xb&k#+N}!?1r+6w8v&qb-9EZWi zjl3xSg|jrz@}7qe!CU_+OdXYB*7X&Dd-Gw^UNlG^wrnAu8@$O(>PYI`-7)EUD1Qev zhCo?CX2z-U%y=JBMl>u3s`jWsYvCDEHTEhA(TOAPGWK$sS5^L#$g$+;?{RQ`Eg!7) zKSBQ5SFox)A4D$MfqkVgm$Pt}fJ-L45v?TaU$3NZzj9GgX5}Q@@d(@}UxDA$3}?%B zL%y{M9D7|!6wAwCa@!hm;{Fp+;JmGk}IP(sfu%!+zN^&dxWcEYJ1Wc@H<>(n`R?2J zfA$q)ZkVt)1j@0}ID%~daG0DcJ`56mdr;%>7)UdhgX4SELE^wF81%gfopD^hx!)2U zw@iiL69Vj8zc~DL*@dkUx=$6k|JS<)Zf83`tZw7fmBeLqJnQ1F!hZVj2`1=^!u>!# z`LZMz-S`7E^zI0}d3zOV!`vX1i+&P|9YCR-EEqJ^G4&MyE13f% z`QUXLsD70ESiXy7wQXZza0u0c1Q@58;~2jUSuil-LYi$mh|a@HJXPs^AhO96`u5BN zY~yk&eiX2>>jikvUMWDIaXaMxPJxBZ%5ZV_TmE;)HNc-d7n`2fQ{A2lQtW;d>w2`= zFy)8D-rWt>xVJ!A>sA5@3q6owd>fITKjO<d)YKj#I$ej;Mw=pdD| zN+_y$V&j!!-)dWhf9KQhO17+Pcmu?RsId|cHnB%`{hxOpv$ zRGatltTgV>#%2}9s&)s>n_$Q${W?gEE}28*&jOV1+(e_D%lYpUqH)5+VN$$)BckeG zcz9_ivCs2kXIV{VGne(i$(i*;{>V?F{W%^y*BN5sv@){m)dbYBZHF5p3QSdO6_N2y zX6N_Hk~zs0Fj+pFerr+#gVTBR$TAtYYF39rb8nN8rPc6#^Z+wIe*mKfR zA9lu`=8~W(cKS`hlZvfm=NBC?J+q(O&b1=-pX!K9_dGbftd@+`KSA{;oCg2kJ#Z<` z8E60A#UGb=f~U3N3<)tmj_yne_T-$x)q$^RLd;pZY1=T_Y@@wCD0H2fb5S!E39H8do1_(z@Z z>fl)B*WY2VjQk4rt;4uIR30{^9wpyj9ii9$4)M+0HL0Ps1nW|*hhHZwC#i=<;b5~3 zv-4p$#H{SaaZ60m=F&C-0Z&QL)aNABS{j|Vk3-jYf^4|h2P`_I!N}||VnlV$L%`;( z=vX2HqH4Cp_P{iF*0uoNN#7vNS=sn_xigzPpUcIJumIcHhD<_X0o3j{rzZrf_zU_U zl9OqhVT-5+_D%RsmnC-7byo$ryqz7mSYbL`dZ5fGye$LGCL3~ODpGw9&J+LaESgr? zW5**N3A2~r@&^xN`kHezg!PB%W(W_$9Kc_-onLTlC8*3lfs3}gp>}vS+SHE6-IlMZ zOyp_G8z>=@i?_pv^{Jr$C7letO@OekLTr;;A-Z@5aX+gVt}7QJe!)sC#Hq1GizlQ0 z(ns)=Z}8vyAXzwcJjP4S;r(o1#XWA%?K^8uueY1j^-up0bM*$hXGDP2hc_4FXeF=&^`#;U#_a&{jvk9k@sR zS5(t-pEBBo%jpKSx12)_Gi7i^juCns zORvw3TS{-C3?u8Z2o`w-bL{6`ICG8_x=Nm=uRVnLe`6E)Q+o`_XybZFG}%ghb|pht znKcL%`(dvY$3=MBPMwC7$#<=jglQ6mg&d!3Qp_M2?Da$vZh%>CYV~l z+UlO<_^sjIoZd7L^duVLXrVM?Tz3jWBJY!|gdr}6Qk1&~9JfhFyoF2^QE%^bmm_Gi_#G2$bZ3;os&n;>RXcKUv1&E;Z7JVI1jVNzk(e~ zlbLjk*FXoggD|fj zG-k^v4ia5^G@2=0L9t&f&=J~N7JAQE4x9J$BKMnI28lYQG41TtDVmGR_@iwN(f$zS(I6l>y z9lzO@H6Q+h3j|l--^1guAxsz>7N?_LBvYi@qi^~lvGQ*M6 zIwYZ8%Xf05U4}86$q3LjN42U&4Ri3q9|~)a!;$4mD+2x;M}0HXiP{x@!8) ze{~&YAGq)O^$qxF&3b0>3opzS7G?M6UBH;1<~VP1FjglYr9WG4^320_gQ?S2Og~r; zA=;xb{g^qP>e#~emR`rYUmkcQF^?|VJ{}cjPNBJP^zf#2J?>q341#1Slth_;>Z*5` z>-Qe3S8c&#N0-ANdnAH)R>9DPr)12dRQxjhxqgpp5XdgEVH|7Ep=F>C`#pORuDaa{ z>o;n0`j@99TIL~XwZ4XLHy^>cv8QN2wj(326VJ@>dxg{7ZgX>VB?JpL6N>>(t9Eg} z?Gm4A$`hAHpT)=VhK?29@lR)Jho&%p1hm-C&F1)6+JY|9O0zQq5j;}r|D9T#TPy{{GcVG)PvZS6P^yE%``73F&T$Z7nQK}|UB zQ5@W)8cgAd1=#+l2&V^rqP%%GNSbjOEZ9}b*D3M`+>}pDE48RgTLcPjy$SDiO%Pi zDmxSxT?MrmQHRh?1_OzDcmLPNLK7<1VOs(#4B=&GPhJwjk8+!OochWb&_k64aZ< z?^vb7C|pjk-MQy5x}_w5*ttV=&w>?HtSTBa7v09peXdx1R~u(Mzljs~88h0yQyII+ zPTV`GfRtpfBRv<|=*b@_P zVx3+g{_)C!vL_DU&GkA~jvjr01GbijjET;q;2HCYwQ9sCM#Zj|5ILX`++w$&#g28pPAGihn&tnwYlr!+iI@aPQSx zJQDH(!-a0}W>y>|yAq#}oRD_%7N(JVXA1cN3+D5cQ}*%<3O++!SUQL+k70{6deETp zDRI_b2uep~$zs_gdiTN^id6-W`^+6pW{ZQ)ktqy6?kK;vz=0j-ahtks%>d^8L!x4O zl`5I=If#3G+gFo=b;j7bR(0>Z48AwvGOFCjORZZJ%$suv``&QG2&ipfmKf% zV8iPqMlP}ji_JvX$jY%Cb7cw~S~8K`pFIudz8i-xmbOtQY&!PHZ6dA*Pcl-SlOSrJ zH@nTcgHG}csw{1HU6}b>{(T8mta>S^J@XX?K?^J6!xV3$G?YkN_QU92t!8+3LPg#%mh!>WVijXFza>f9wQ zSK}Z%;~$27oiV;9NG*R%E4a02sN<00j2d;N!bhiG}-C(`E|1LemrL8;rK>0yTa(W7f=wyXijLkdW}f6jY+oMQl5TqGC9E@C~fgO_eo$o)K9>u2Ug z@#n5fw(YuHjGxjo2>GcC%}R$sv{%^XMQc*Uu4emibQ#1K16_0UoAOx!Upble8PsuLYSVtfLeB4_0RR-tRdCsX#h z)^yg=K8+XqJ&-WT&G`6PH*er%A|%dIXJrgFvjXC(EPv%>cA}g+TWnN7J*^zKj|>^{=N$~5f{j&dKVDOsURbI`DCEWhO`?B0~=wD zC?LX~=n-M}m!*-Z>KqFY;=sCY2`OE4jAXQpg`)*7u$`9*{f>)>k#`(Zus!`0XW@5c3L6Co|mA`>%~D{ z(v-vvJVzD3WK8_7iA=T^Y!Ve@9ewBFeU06)IN~rQFUuykZhoSU58}yh&l51ctqr`J z8mNP;H{R+whA(8i*_G{DjMD9Wkg$Im^Lfr{G}zr|YcPBsTGHF$@)K`z#(ylHkzB?v zle*6SIB}DI*24g#Nk+t>&G$ zBAnX=EIWihmFme*JI9hwm;;GUX{3B;9vHU}*y_3-{F0uK#$+9En|7SUY)YhmaVnWD zISztzn)tb{1}OBhoW5>7M5jgQQi&f2NQB80yT)G^NS8I2>A0ziv<%yUT^E-RzX zLY+ixAQ8gGrsKwm9ypX$1k2}h`7|f@(hqtHMCK)TXQgfAPxxdmuT+OL&pZp?4`qX` z^KtwsdymMc9RLg8S2Q@Uk2+gS;j}NMZK3)w-VKvS6P!`MW!Xc zcW(rgL4?!^$;ELzKWe0{`!vaaX9_kr)E9qJJ}%RvI)$7|DRjY0Bq@@~cd?lXP4 zOiNw)OCa$l7ZO!8h)?ty7`m2a%kK)H0WwF))Rt@H(bO7l$LL2>%|!8Z=0Y0JWfJIh z?S~XAeYoS>M-9M_IutdK8JVi!z1jjUH}9vvY^teKj|MBzD-0fORq(dc8?=~kEIry< zdv8N3v6xm&)XT;|&9=k*HNPK_E$igj!pnv@`n!SmN#Zq3IF~|gf~R7o=2d<~OFpNa zcuSfeCzFo~vE*Yfi>-y{F}6vV80UTjoedIaPCHVva4k>GaI1 z>r`j%X8iSQ0_3Q6@OzSdNpRXXjt_hhw%_dlr7fk*RF%spm316j$As`db-S@?-~Ewt z{4?tbLwI(#0{b<5fPa0OIJ37j6RzLg$~sNjiVeE|*9RSHyR&TS(%BA?-ZykV1{yaG zUcFSX+4kRhFl@REC;CpI@byi2_CPH9&>47bVKLFSeoRh#iGks|a&ma?Iw;o*glp}2 zWJ^I0y`|&<7Y4oHug@gVs7vO*REnp^BATdpKr>H!W)NxozK^%!;{>R%j-VkUr>Lg( z4pMf$oa{&ug%@+uh=s~=zT&IfH2Cuy`pYAU8Y>B+`1tK8&`N2Tq%tw&d|vufE<(x4 zt3MPW`kW5Bvn~!QY*@&7e}R}Dw!%l@>q(#c zLQtJ91$62YVxoGEjPagEGh&y}I%zBD?iPp5w|B!#n^SbE`C5Kh2@m93it9fIo3Qa; z_u@`2YbVFzFqyhSp15)MkfQt%Uhy#i>AffFo?N+4O3q8c@$!C*Xw$%pVxMW-VRvw! z0<>l{j$R#nOwv|+!dRn)@Z_x?k<7hFO4atFq5TOe9e)v(&0}fg)oT8AgDxB!tH!fp3vYa1O9>+RcRj}&bX{;r1EhM(@{VQe(Tc z|CvW_Oo$@Y=cdEDEdtD8#qo^NwiB>1bQzwUlTW|w$|jMOnI_ zr&)8l>G5|e^!Q5(^NZ#)LZ9!mf(x^V%Tx->mezyU7lQX5E7STldQ|*EG%*~T%zpmE z=kni;Sh*4xc9V4*f8u}{bICmuD&LKgb{S5a?!E#v&u)PQnaep#^e*fTuE0igHlVf(A6islB!js7LOm!yd5{8JAdD-0m4_X->sc?ueSk71l=AvxWUgi^+;)L7#u z-+5Lnxs+i;S|Ekm->AgZdd@hsvYRv)#=)Ao`=H(I4E~HeO2bqpLYj9X&&554FP5o7 zFFlOFkJH6S1gnO>)}5s(gFlF}b3T#ky^7LqJUG&wP68rt@wH|1_}0-`82R2EK9t3C zO!8wm)6O3}*4r|-jUQsw;!S)@*%T6TEscDsbfi&va_n%|3=B=WfO@9|;iuPJ=25;5 z6Y5b;!;UOK8KI4&zHcr+Hg_#Gi*aR~8w0@SVF{$(+04F+nvE@285rO_AZ-~Z(1H6t ztV{b$4SECkp>`f@KtT(=W^))Wp9y0(bVp)en+7v>-bQ#gUKXkaN6DN&*3jC&1Hy~a z*c+ejura|a*k#OiyqmWLBIU+24mU2+M2;;!-gG<2b9?eNckMy*#X=^vPnJx2xC1?= zf8bd*$}y5l{HUi@7G_Ul>6Oq%Qh&0MD1Ev{3xB5J`?DO&LP(c+wY&*}zNq6oT}_(y z@eq~RolGsS6!QHiWRnAHM=5`ADvH#%f?Z=VoGUSctmCWbrv*dAghpAE7Iasdt1)ja-{(YtO zpnP^aof6wjzezpey?xch-?X=!&i78@-BP)R)u$%W*WVw}AG1$!zUgc9$-qnAAC~}( zxN?WT;%pLW9Bd~BEi>VhXfi#2=PH#Qo6p;#xr|uFor9X*KJfM*y@SkFku|F1m3+I59lm|Loe?w(Mq|tQnH9ayKh7OX} zK#mx*#x~hxLVN+n@8tAl{VqgGXCZbe$dmckIN#V(XGq`W%{FuX-Kd)a4TCFh;?b5K zI5J~5lQ6598lPTEJsnM;(}4$*XB~$4M?6-2q6+I#Q?~r8=GXTPPbv6Oiclss9a4EL%F$gImJ_@SoK{G8h52#X5AY@rabe9Nc%=G`NKplx@L zCrF-HoFPsshsdx^7Jb@vh0~$u|5p!o_qGlQ=go51w{PCl&>@4y!eUp?StbA0!;9bt z@XNm$d@>E0&!UxdY?U61BN^o77KY>4t|Tf^9K-a{VV>RMCHxiVXJP)6Xqw-W2-lk5 zLGpEBcBSrRyuf8A@9UTYDdk%HDX%ZqeXq75SAJ%5nGoIdwyP1&n5e+)JT1-4%U-}X zEUh6UvA4*#=S-cd6!7D=TG+%`ci}H78I;(ng&S9yGuz~!Gn@8_v5{6qD6UpY5;AmX zWNE0a*`qW3ao#8JTUZPAG7lq-`yWA~Y9sT|xDu`%vSbf6S@YBm3gf+%3+U{1H|SW; zHMl{mix;Tcb5KZU zFP`(rvnzRhgnF0>pz+THIOzG^?v7{;`5aNlmk|_U4OR=VPCl7*&MJBK(&|PUboN4h zw)kAS>difJYN;og5;g}KHS>vF_+{c>CB&Y2YtJ^m{zdl+4?)`YD?Gt`IXt~n5##Pp zsp~SRCrv8vs9C@>-f8^}_)PF3`Osnq-KXE%m2uM6i*dbl%Gc?*Xvrel({P29I9;dX zKmLODbqAm%atKPfd;Y@}Idt{*wQzgb8dfP>rLU_4Q1|*P>RBH5Up=T(i^aq0P7cfR z2aSFEr!^L-yo~R*__rR;8kd6jV+ndP>luy-$;8vgI6bFA3nQYkpp?c=oMf~-mA61qso`$)8iucZ|`GXMTZun zo0&@GOq%M)B-E0Oz6D@CMTNg_KBwEX6QfU`2~cgJGPY4Z1kQxTGri}{AS*$IOk3|w zEOK^({id;y@MAB=U*(fE9g1vDW+;17V~ET-WW*>ZT;py1xSbl_vf-7st%W=TE3BRV z8pVT>xlABw_Dl3Q&NpKP-vXaNdD%kxR<7UflbZ_>stkhNe(CJX0$tX%?i(gB%@~`Y zh|8otLu+m`d1WtYmlK~v6wC=kD=vmOw_m7nCyBTOF2|ryj$h1(GcJkI)Tmk#w~1}1 z^_wDiI_pGXsihR?n8&bJOHO0L*&?z)!-TOg8iEPQw|N4x8D#RCXJo49Jo0m~6i;Wi zI{cshK{>89Awt;M;Z=J2#7H00#t&1nKlEw-o68g>pAPzyOrSjPE!mjUMGG(Phj6oe z5I!45HSf02aT~czG=oy|@yRu+)_$B$xTpsCs&-)Yxq@U_>f*0&X|(R3I4o8l1FNH! z!mQAPM5NV`=Cpd_`j2B^);ednzv?aNo4S=An>!nqfB(bVUs6MQ9MgG>$_w7PY4hyv zZ0W>f@{&~brY2NYti#I0NbH`{i>}|sLQ`oOouzq!s+;GLt(%14*Ta*vwpW%vkJmyj zE8j&SO-=)O<_>J$Ey;XT5+Uc`%JXg3)Y}d2xMS;}r%g1sO-H#ecR^hA0S5fs#V&s* z&RC`CGm00i$$<4En)_lcUcVrR`!;d@(*^zf?JI7BtNd|RFz6iHkZHhZ{nTLmB9(~x z++F09H}HxVT_CoBiR{Ji`E0%VZq`Ws4sP`ECWQ$O%-dzFh;5P*-ObYjuiGhbVoo8b ze354tsy5M`)|$W?-lcIL$1=~lBH(n1GfMe1)0-w&i1__j=$U?;s=mU8nVX=ab2wf0CQ-=lCC&#jpoG8mae`xzLy}0;RkAN%Ge^ zf|85j<%_FCC^5NS_>+oVe(IzD{6QHhf>}?}oE*ZR<2uDxlNzrI4#fV7|Mz|P9Q+3o z#QmUPVG5Q9DzkNq-C@)<5_)fZBVppl>Xln{`O{`K@HXi0r8`gWfXWM1@Ppok`?gx_ zSj#TV%a?+Xh`FS}tBheJY9Oja}1ET81id`pn7v;=>$Y(j$YJ{LPMyw!e?@TB;za*J$Sw9Z$P2 z36iEsUZnL+9sS(%8oZiAX>v{j)5#O0{nyf2%R5V<2Rz7XODW#GBd7UO3U<-FWzV4U z(s{B(-v>+Vl9;DfKRJd$K6}$52d?ur5GP4-8ugpy4?8w+J)1fDE<1+fPyFJoR+@~q z0-y1u#W#H6IgwfX%M_el9qD3D7?nJ&*h6UT| z@CZH5&kg7&UwEBdW^NLkt=6Y;`)^XsHK*-h%Y1UPR0bn#=}vbN)7ZvQ^4c%;K-y*>cK2d~1hge>TFEXTD+=Cd*NvFsO{{m8o%0_Jhk zAz_}5EMjqmJ1Nr+PD=3>?>b{BfO39{6Rz>k2i(jG#JdGjZ3?F=}zG1Mn zEPKo5F`iTZg8RPZ!=x>8%>032vf;-9d~UXuxaGEhD{lxabsBklyrOV>fI3SGdrB5`Jo_j)tjSg#dx?VS0=RnHMNp9q2k&i_ zq;2OlxM0yq+`0=u_NK<1v z&%#oHm}M=3#hLq{we1bK7LCBKtX}ZUX{7tV2w-RZelpn3K<9`Gp70z;$N1OLJ%Q;w zo_-!qj8tZO%~I(8tnt)s%066OJPw}W#Q*d;&2jv+hhj4w7G@g+`$rl!eii8R$xHj! zUsjWeq^-k^V|Cb4FOyc@{78=FHg^^5X;Nd%T z6(}%|Mb{{8DDkPU-;$Px(F+Axrl$gP4Mpwzd^#a4S+4HWP#IP~OXu>7j?=XF4j5YC zfX7CaF*)}$p1Ep-YgTsQK<5PBpEwWbkXZ*-n{Q!5iag7YUx((lEAiQ#8hZbW2_<#h z?dI|u-1cidx^Nn}8evUV_l+g1eYcXtOpbtpyXyt;I3JMYJV_>JyEx;%Obb5Ey25t}kc0H&m1s84jkUIV z#FKiy1$-jg;43OHUu%6JU!S{qk8&)|*3bN|Tic+!q6WwOv1c;{d@-}o9b|VLgU}Tp zK-m2rnZyW_^pER7+WHdkqbDqcNF&AMsPx*}%?SJw5tScyMaE)}GyA0JCbo{;uI!x)aU@@XF!9eBa_91g>&2kfvb;umb|2?sGQmwWM# ze!4U_fmNHa5pG)hGk1E$!MVH&n+9C*koI&uvf(j!eo}&B8v(ZXn=vj)O=OkTe{%i3 zAY&kvg0lt%S?9V2w3Zu1cj+cWJicLpg7SMH0uSKY$PJe*pX90K7=0 zA*ff3ahR(Nd8g8#YRM&>aYC0}z3M)=RX384sr8_=Lz>|q=3&o@JzUmXB4~`63wk1F z;7LvZNen1KDZ3O@cGLx7r)4d5${UHUvuMuWn?L`m?xlYF2J5GLA zzr$*Q=h$3_P_Ei$=i}&rcdQw_u;3Ry=u}{vzlnj6bS9kHuL^%3XJPH>8Emt_8@@*7 z4-%ld8&$j%**7*atm)*vs3oh2&nLZx+*8Vs+oX&gr8C*J{qATwkq6ov3-SA;TPXdl z6O9z*Scm>)eB(%I<{-ZnI+y2TMpOcxXM|X%6N2nIV?#3ZD-XI0C75R6ja&v*4xCNh z4l1X|F&~$;@PuC(kh+;eC`|5P+ZbPH6VhiUN0c%`>$%+KaZjl2mj+CDRu5IjbfDj6 zI+zsd}8HJ0dxZSU4H4+X~|yQG2qPe0OTyE?g0!p8Du-(}+mzIs)r zTNZm%%l~^G>Py9$w_zzTW#S(*jiWsKNv;gz`v@*LKZbe;@qF40t(N1|q`S;@?mUO+fae%m6^ha+>$ooIOnC1*03>lM z{<%4g8#K4!>M}*R6E@??#gdWCQ2rgv89yGX&W+>Fc2ivP;Vp@^)8gz6?6~QCJt%!! z3YBH}jDxi6V4QxO9{xTC$WT4qH0LQ!*Z+i5a>rm>z7D-J@hEg|-32)-5+Q1A4zyau z!no`zQu?BpJd0-WWX&wj`dT=+JN|-Q_gtB{eYIe;cPx||tcPt+c@}_WH7wLu0R74) zOm>>f>GA(_uXjA}%;gD8FBXBn;}zh=3Qwrl4}_qiOlbTyOkOd1xY*@8Dmz^#ho?>; zPAwDIKY?-}*0hF{uW}^UF59tZ_uG+=k@tyZzyWx7I2^)%HNoEMZa5lf0y`QG!GAwbGjgubj*Wll&7KfA`%sCw z+EE7^4P4l*=C5J9)jRyr^aJO6HsUn39ya#pPN*L&1S#|LU^YRLIaFo`(pe)p&J*d? zW_QkB>JI95EQBw0^O)zRN0`4qcQIn#d=8~RfsuGS3kLF!VD_oYblcYnoSIM^d3eW! zSw7p4!LQX&d`ybNRUgnXI}Jai=-{8!Ota~YYpM72W*lEI4}S+4lIdsaVU?;5x|dGl zTq~z?)b;}24$TH*`9AWXP^~gftQybgU#IQUd5`>}Jn}Fh3IBea#od3SOlP!N!guB;~AqS3-WbpAcA-d#5u;pjN}Fg z-hZD2|G11|kvln63k)})uS+vxsylr{+|<8`W^+JC#m36VgPyXMuG0x7}!?O z1l+qg_>q2s6f_-yQ@nQI_Mjb%dPHE4;Zn-!x!`7}LkLF~;;yvOsBWB!M@DdX{+cP> ze2f3hzn{;;c!*&Wbhs$Sf$LuH!A*W=%q95@;E#Eo=o!+Cxo+N=`&)^#tQ^7l9GT7i zt=YisS{Tj+`)%Xa=9_RYrOxBy>GSb@)hsL$0JT~n%B^DWqv~81$M4EV`x~KnX}dA* zvy#QJ)7OnL!(j*nsrZN-^Ko1X*I?g7p3uamHjDALBy=TApUFh!3D zB-=>B_jq2@C1T*=RLV2c<%zLq34Ia>m|pLM$p^NQO0QEeK{A=@jUAv*6YXh;mppm# z>>%-8bduN`K8mvDOjBUT(U~zan9&uQO2b^Alqxd{#f6X{%SKXV%Ja$GzbW7+T!>}zC0u|nzwMtD z&CQ;52mcI~f?E0{rXl4js0Pgjj}yD-pNqfA0_TaGQ)VU?Z2cQg8Me`7AH1M?PY)DZ zMMHYj8nXP%HDb1X0p>2*gBx2-U`&@Dzi;gc4su69sw)dBb@tNcuJf1`s)#qMt?1IX zJL#L4E4W;^j`fo0g;9$}GF~&npf{S2C4Rh));B(<=d47?EiWxLsc$jfyYmNE?tMsJ zr^Z7ZhJZ~|0LbR<6!gqG$hy`nAZ9R+?408%h;nm=#~Nv97s7jM&q)bHtzMAkcsrOI z5h3ur8b>eht78WpHK-4@rH89WFiK?)F?ga0F>|&f*F+{@yMiJdt+S*Jnn%bKCv(C3 zs1<@+!>9hMK_mw3HvBQRw)D_1yfSI!)T-Qvxwa3x{+)rj_Ffg-w3$mz6iV_uvnr^+ ztIE`l>jKfDLwIm;2i~=K$hKda1vPF*p=Q1+_jOzf)zWIEOQN3;>#y;!@|YVlv;SGjFuA?jpj0p{Ua2#whu(VM2GzW_qsmk^6zOnDDoWd3vv!c3Eo5T52)MuCqOv&!yfF#FkeLBySdm}K{x zyx%#J>vI<8^e@z-MuGx2sw7ijI4Hn=HB0bR^n|aj(O|Pfja_Uxz~9?iT(H*}?&9`& z+}_U_ctUk9-o4%^I8IK%n%~pl<-%OBYplUI|Cf-ABHXX^`B-|t1j>u-ph~2h;z)h2Tg5;8HYOT!k zOmmbG_U|&ksp`n3@ViDItCr$6k0Bxw;Y}VYl|f$iRriaZ?k5N7@y7PJJ2aTz-pF4Z&_%_>)+ z`^=x@poIe{-r5es1LnkU_rd?pLvY)R(09A}nbvFld5%6)tJZ6H4sm|}-Vfr3JJ4Qe zF`gNFh;kNRiFC|p_#E0HxU&8yF>E>plFh#$ysZ!#?6+c&(Qy=SwPYRErQpQFFUXP2 z;&4BI6wJ5fb5kd45z{<7V5MB);!AlA?}sqf)~bpkvJbp%tP>-dz3!!r%* z@hHDX_GG&}&OSN``%nG`vv;vjERev@H(t?)H}=pCW7lE6zBrYvcm=z}MVOy^+?iwR zrJ2R?!r&3%f!BsSu~Pyw4DLpzGLvaOP^jWP@_Kb%cv@! zi79OuL=q)s$igFE=&CF+Zum(P?B4U3T*!`t45vZjD3VP2w(MhTeUdASb^HWfeOZE{ z9xditlsO39p1@odyGlMyOC!3g%IPJ(PI8XY#moA6G=8iI&EHf?K3y{9eb{zf13zn@ zu_p#U8aKd!+Mh5-^dwm+r7cj}vV+|@SU^{KuM+%Ek5X|_+9+?Ljb-Df9b48q8C037 z|FB8a`u9AP8Lh9pT@?f6eBCi_`$VS5dmfYI_67&B6%+6>kSvdJ)s%9hC=aR08dBNih;hXX<$<^(RAkwVJ5Ce7{^xq zVbA!lXG@Kce9?S^m$tI(?g1hg(;5S}B3D9))KXHWnMPs{jN(Lwi!jOND2}$7!0Gue z;)de2v3{C4*tpifxh!9Jmr#t$9rm-ssYdW%bp<`XK%8@*H<`=(>cAB)alxEh*Fd9t z4NwDXcxE$++w&`lOkH>$b3LTFxX>2}DW~zsu6}wpP?2$SYJ=Kc6TwF%4chA^IjJ2U z`1#i)?#8MLJoU!LVM-oxQ<_knm9u7p1|SIDYe7vWP4 z3l_s!5OwPY8Q&%gU&{JGOv#Ze+pCCu0l6?~+ps`aTn9v3?ck>KXA<*yfD~-I%4-GN zVcOz8i0_r-rt6lY&e*QSj{;3R&34e)|?p?C-k~DeJK95QkPW!JW{etmLx#w*x z-_4ACv#Ml9mG=mxlp7`go(HM>=WuUDB~9a5!KIEPVdDXP5clyT^Ss(1U~VD&cpCwz zb_5=Uo1n+H1DG?^!tYp@!7f`r2)funCDyOyqLwGnZ2udizeykVJCB0LD*5c+<;ujN zsRo88kKk5S&)^Jx?n5t`L~h}{ax8C>XNF%`!f}Zepb>qC>{)CmSR5ROW-mOrPOkuN z&vYH`o7^mJO2J%i`to41_53)H>E^(G?0vXx$8%ZkRI;1SPQcI8yQz1jJq8w?LDA%w z=-E(7cfMZ+0xlma_8LMx@ETD60UYIK0n^Wkg3P`xkQK@6Vl(f-oONg6b&w0`i+#`D zkQi#da;^ zzOI}HA)Nz2CDY+^Q6H=FX&n5J`%BDz^^wU69mF<@CBd&O$im+z(K&bt%+482TYs%2 z-+gtdi*hPku*jPPy%DQ(GJH-izg2VDvt`kT=GBR){{c!*&Go>qP`z`kc>*jcg(h+q2n@ zzM1rY?uUyxA`g_8SXtHt6bF9M)vZ!X()g8e`(F)Y_g`_iq&Sglw>yc#CK0GML6pi^ z)WI@ECFY9cY{rD&wT#o*Ni8F76^qT?;5HlaDu_ z`{Ipn(*({g4fr)!nQL9faFuH{@P_3}63g#>rOrP?LiQ*LB;g{h5qXcY!Nc^|s}$_f z-^RHaE$8O@3Uj7M#VVt0TOpI(2aT^Hi1PSeQj+`zQ!G4*%*I84TTY_P#W|cxpdl{O zyaIz-A)tSSB}=ccG_!vkT^MV^>aID4Ug6R3t3emkcj=L7B`+apAp_DG&*>bU9MWr7 z!6ptZ!0Y}Nbo{mmbp7SYgx3j}k(ENQ*zqn|mmiHcUnOGs*kVE-z9(54J80*Z(J=dm zKR%NVVmyDQ!InH}&ct;lsWKO#+s@BIt1*()MdT#0yaA1Hs3pGoceyiD;ZDjvG-Y z5c#b{k`C<_;EqtIXL?5g4hvug)G{Chtv{rZ^C$P0(Z zMl5lcJq6cBd)N!h-N9o%uJ`_?ytc9aerasvk$N~tOXkDwb+Eoym#`(P0T+Z&DKlV z1G9&p=Zbo=?xpfz^Y8;XnSLH4@<(%S&I;TTUoCD-`VOuy$Qvims{xyN9MnHQ3}$e) za*j$9Eq0mBd1M^nEdTJDS#c}YN{!)u>p!C&t!|LfeHPZ9y9FN;8n90@pDuW1g2pFj zz>J^@xX{&2_9~@;_%ePTb#*FSD!)UTo7RH*At^48fBwO5p3s;44rV~`5+-NzSmu2C zSZ0CLWLQ4Nktp4`Y_6cF3VMf6;Mcd_+#~TDc&Pp?m<38Q2d-BVy94}A$~+_Z$p0i?-{{XhNozxS~t{MS6aeqf&E#XE(aak)BGw-$Oeb^X8Uk{9J^WS~WX z2s?3tZ3&}*J+DS1n-xeKuLG=ndV~$!Yzd8fQ^^SLg&dn~Myqz0(!!JZRQ{M0KI-{M zM|E`($2}EnQuaD3IyoEGt>nPR=YO$d#PDJIWVE~|Vol&EM&13&u*>6`uZ$+8GA znQ6<&f32l+>-cOksVUene4Lg&xrj&-2HGgs*tX(Gafp^nd}cNAFFu;Ff0o26f$Q0u7;!a9&u8 zy}oE68jSdhq8G)uAJc<0e z%eXnYY4F%&E~7J4gXg}4bMxP5GHKqoAf~Og(xSx({U-2w#(h;-Em}a&E7noJRT9kA z+ZRdcQEM*VX$S1xunIcs?TDFB?=_zvFNx{Y00{HWCW{}+@|>>GWLiul#E+5S(hVrA zRm+8+Qzt?0CKpogTTQ~$jd%vda$NDYoE-BKh6$r8VdnQ=ctgDdG87U7x(#EX*Ci9Q zZ#{t3-9<2t8p4Of^KfjHfba1%spqkG7~7ltUtKbOxx1DBA{$H7(Vp8TUevF8*`l;{ zjn2P)?CzmPLAh2YHcDq>^!7q5C>O<6t&ak^_6@N8MFAM~wSho<4AXX5h+DUxXFA_3 zz}9c|STv&$qgN&oQQJdgRQ@sQnt6)!yAH!A{V?XS|3z{-;1~wTO~vYto3v)M2+bbb zLh9-@F==2rz8zgd{VG~uS571|G59rVu$tI*a1z~fwVsA*YM|kpGgz0j1C!^x1ZEgr#D&bH%}Vq@?ZCx;BLWi4rx;I_>baG4Je!l$%x^tmFx zUt`ouv$F=VvDS%G578v&_BI0i5oQdWmg5KiZ-~ZkcprN_2|3$Ewr{;h9ELaY&qR`2 z>taRkn|i~H*u~7-skfnDwu2p^lMH)n=9BE~Zu9N;zY$@vwY0uF0t+tB#8t)30@1#| zkYisDO!y3bwrb1gUDrTaM;LTcKD+K?1SruP0?p7RB;sugDI3lA%Tvms?rIdtIi=6F zF)lbeP!R{KkCIz9F));+%owUUGk=pc82dA;8NH+8OxEfa{GYmH^OwzcrU^M%_D^ky zul_ZwO6_W4QEtb}8JDsz9pvV237YARR-RTkto8&o9ki~H|QyGgF+psz_jm}k`!|i)@7(Ne+Gu`6(n7!r{ z?lL?GzxSyy1KpRQ>+KwP>*$D2o=oJX8I9rU>y_ZCDc@Ji++d}g%UPS6Q=qMz40c*p zP-i>`!n~%zNVj9;dg(j%NbM><->(4niXJ1gbnR)(z3n9FmIPf^V~!s0Q>dCmG`?3p z#Qsb;h_1Z`kRbmHrtJ}8R^I&rCws;)W%K@m!2B_kPhJndCoRHSp-gP9%}48H&i`rg zI#J?(l~e64AN1>g&o9!fI)i#mEkXaDhmHNlctYPE%YM!isK0taI>M6ZvfwB|=u{Cj z7K%Z5ZjvJp2hxhbDdZG?v z*7+4auT(-wdWDWNx58}+YMAJIiDdP@BMHvYl=K{cGdnaHX^~`zz3k4c_z;KcGVj>y zN0X_nZy}7IlM6Fwl%SsgTu(VVY6D<2`yMtKMF}1h z+mi#^t`G}83-Rzl$~_t88D&-@z-aCm!Bv$Yvvp^Tz$bAw>Na_EoiiVxe-5vATsDTM zLeAVeg>lU5GAB6ObqbdATI#($*7#dem~)rb;KttigzIl9fVTBFSU0*6i^!15Ac^^u3)S!5@psE(@c$GH*G}ky z5I^h6ne*VkIyL;Vrt;0rc9v1&U%2*{%&MxjG@f}W@89!qPqrDNJ6!@kc&R+HiqXj`W~u9vjH?i;5)9L7xj9 zXU;9#@CLMIbO{D}kAjBXG4wuk17B&%Fa_T_=o&}fE0D7f*Kb_G-K$y8S<8;0&0{X3 zhNmK2xB5jLt+dF)g-^h1`a}HY(2asoOK@V#K5}XP7?^Bz92PGtCOiAoxX~(}oQnNi zIApKR$f|eIl}anvCw@F@X!x}5u|LpAj7eiP1#g) zZQO=UFkhN~ACyLt7hMc(EIdNIC3ps#RT+NaXC-;RwV6~!G3H0jcUWblz_jyO(|`Qt z!RRw7)GhxW-tj8OcXlt(;_ZU}?uSw{q1e?Y9WA5Q7Rzw;#_+7dj)$_YS{e91qFEc#1qnwo6?oC3UGHzCX}sy1843Z;)=19duh-^XIzMc zf|47=M`r@;V7y4ir@Qzt;4oJqxgJLi*E2)&wV1e%;ao%edh|R!4#Lxf@c01lTRFpF zqGc9ZL{H~r#8+_fzyAWGV!+H?7KQp9nK-DE2-A3wo}O7VJ>H~^0XHgXfs8j)iFyjk zrYxaSf{ipN+!Y7ojZn_?97x5ez>lkw$=h?;d0WGDBk#4lSF< z%4t3&!8*5Lt6>}5`cwp`*6oJpXRPD6n&r1m|Uj^t^C1?Hun&lT^Y;(JvwRx@I3#{N4lI{-s>R z)_gi+MiZ5Ie44t~dEi^`31)LvycCSzD-Cj!c0h*4aS*-a%e;E!&twdE(b4gz=>D1C zS(lc#BxFDlgpE(osI|}F>!}j*4bGzXx(8UkPn=mEJC%(pNh4QAtN@E6{A}sFA9S=S zK=Io1w0*=T?!ue3+z8K0+*FZ#yr1m~<$@KY|K7Z7ZKqAppXd2>@U^acm@I}H-^9e) za#;FUg|v<3bBPa@z|$o;v}5^6YVuHt`}-)9vr-grX@Oy|IC~^>FLO6cdErd0N7PfX zMSmb|xjUw|{>A*Hk=%GaSJeN-lGsf_kRFi_xnpC=`LVrdsQ#XP^5#59so0_MheV>% zpUr2*z5&f=qM%}U2~Qq;kFIxD!Jj`CN}nUh4V} zuBltfJq%m-XPUfa;r8>BXS@)y+^%7)H^r;#pFZ|~?@t%LbZN?Qbg&F+)2l7cSFf@z z)cbtX{oniKVOSXvyooV4(ewh)jDvd%b`UR<4VBNWf@sG@UN2G2$0IEV1Q#AVGJn1= zV->_Zsnwo%5?UdHzZ*^X9H{B=%4ZLpKxfeY#NvaEQd}JGfv@trL9}Nz=u&xVU4(R|w8-3I}DZ+3wW=BcBYcP5td9D?TY3sCCVQhM?T&*}(rfK#8bbpCA*iUGHQlDNR6p5ru~-T z+{R2{M1D5F?|b{epf?d7jkAQ0TLJ`2dIL}=KAdZsTFY$?>Zd7*N6_=oQCQJ#1A86M zP__NSSRXWvb6n4oFD2g07~+bsm$Y=M>4j&6COa6LILI^#b!_7jX^& z>L}NA6~tut9oM23l#=Yl19$AG`%*bD?Hvi%796CR?}hOD>rfhTZUPh=H9#Z27bMi( z6C`}yjP7j_R1mAq&qt?2VeT{ftwtZMbgD?;wi7hjSpuyMeBtb}0N8OL8wIl^>E7%} z!H&v%kRq}QmfvIHw5=l;yWAlgzjX^Fu81>5>I4=KHKOD*F}Twl`rmz0=2Btiw#nY| z^MpI<6W*v-rB>V@9%TQWi(R^Qm(&g<5#3)G$ej-nWMHQ*Zt=QJ1==a>=+Icq`mN2C z-s!-3KEPD>=-?a!2OPO{6COWoMICxo(OlP+DozWB9<52Ru*(6ZKA3S8kL|gdSx*Fy zw;rG}cXV*k{?`?qm&>WqFHhQ&TMEf)8ca;;WTtm!8TlDujefg|aP3q@RDQIYtWzEf z)Ar?&thygO8_0!OJdxjp=;n9K>#p#O6*(q1bC60MZ6akESD|R%8BkZ00Mo8H;Coh+ z%U!vHyHR1p87O7b+84***p(s>t^EWCe+PrAq#J%rujM(*)41m^cW`&7-NSm17>!Up{=z^sXpeUTnyYIv-7fH)l~B+cNs&P#C_A!uD8iV~I#RhP7yKPk*dNFE zI`;n_Y{gDLJ=gxnJWJ1{OG#t3w5zlqRb;s@{r7$lEX!a|>GS%iz#ken+%{Xtdr{w~ zOd+P>PVmAx2UFAs(dC#DXH=a;ytEhK?uJkdXvpGsv(4yAp^wD)NDBS<{tYBFeurPG z2g$NO6yG%obH(X^W-HaHV(AR}NYNH#RlZjS*VL2iLG>`==3S`mt0u>1wGgEYN~@eI z1kSp%V9>4#zOk8LFlq){vi>O9XTGI!*2SN6@XkBDzpxrID$^h~b{Z%>*arvAyos&< zG~D*17`1bSIV=4_y6!+R>WWU|`m%nKsn;7oWTQ8#-1~yiw{P^q(oj<3sK?D$t!We+te86(eV)WwuKX|cI4zwL@)v- zkH#8wk(fbEV*Gg@o(sQ>@*75TlQvd^WaS~|VNw!W$uHzS8>uog)Z}>I`zOI)Lp}@s z?h;<#QH1Hnrh>`E7wOC6jKD^J1w?p?bJi)kjI79Y>UyNed{vSv9GzQ4+%_7+oqR>} zuT8CjH{RMf6nvQ6`B{u7rf4vkKH|vv9Dv!IRpIu`RABZez|QTm@b|DL%-tRXWn27U zgMSi6@mdkTKLj#v!vCFz*)PTp-5s{Fe9J~ETdC?)$z9!GQZMqaH!aopBpWr`0Tbpv zq%Ah()K~gEdCbpn=U3l_g;E-<0-sa1|Jh8z>Y-$&PH8J9i66(7i8grR4TFAVb7`Hk zA1iFL3VN(sz|=DWUb&Uy{P$Z?$ZIQZ!TG4ZwwOdNK2IX!%LO8-!i2tB2nXv|GTXO_ zGD-d0QTeeCnmM@RN6RF3#+L)^DJwNx6LqLE-)=5m^o@jT_ez-aX=$M4_6z3()T4rg z8;9({*2+)=yG(-MK485J)u|VHT!kPK5{j)z-wGe{pDCDZp!aWbdy3UQFzgp2GW7WWN~2-ig{*2gR48!UVVj{ z_?<+;(xJ56&lh4I|WL-hMn1y25TEZ1V0h^pTT$f~PpWbNQ$GSbHiSGyw463pNZ zm0tz+g%Y#*TMPXp;>O7}oWVDtJ@m4eG2HsR``RDrQq&W3zS4b$IvfZmnw;9vifupKPgJ{N&?u4Oc$O^W*&VTD&;jK!1V*FopcB}}-^ zBWU!U%p5bh0xNb6R-WtbWz(vM1(Itgpox$Y4vJ>M!8D%x@qd3WmaC{N+>&Ewx%$ez z3;u>0Re^O2A785f_dG;}Yyi{w_t{B{JYaLfpnw$YrSH|U>9n7gFsIiZLLJ6%pVLlo zo5Wgiy!3p!VPrIZ;djx}0)9}(!_UZuHRAAQLIFSdhmQW3vbSPLT+jG=|!$<)c5%Psnn!)^E9 z!Ii~`a(6bh;@;U=kS3M_mveg9LEm$z(0v@|@7uul1dDN`4~u^`H&8Fdxg=}61Ju^H z3Z#}>{4BJxP(@K&BvJETq5gFBji zYNhRmSK!m!`}ovTmFZk@3z9Zz(pFVPZb!x_VsiBm6xSO7XV*ny3v5AmTM9gl$;NPg zX81ArD3NMuff}PtcsckN6%#R{gFVVnl=zjdxkLo>olgq}d1lUPK9Om~A^^AV)Rk+Hsmjd|Yk_ z*lGE=%C`h38%AKqmvo#Q#!|!a3FiGJHdIAj7RrpIpswGV9P&1V-KvksrpejZr(8vK zJ{7PBGs0l1xEW-uxk4s9z5?@KkA(0)U9>myF2wIXAs8*cfZH)O15KatsVB#t!r7C( zu=vjwNSq!GA>TLPcV;{EkJtudl^$bh#Wjq3um{)Ew`AoyX<{fe8fL{82wwNDJo5bIh!CGXo=XGK#d%tq4e=hC%6M|E2$#CS>CHVWe0X}LOawW@m zb3cDShr|8{arfj!&>Wo!-QyLp_lYT2(eJ={^k>1dsB8H6^GfdJ>xtarFczlpoV!qE zH^|&wN$iKjxf%}#?#Z!e^px~vp4(W1*bEJB&VVsbrUQH`gx*7ugdL~DrYg6Q zg&W@!SEo0E)EDWvYVR4Ek@p;2U^>&$HiA)*YXdSNis%%ivSFt?1tvp>1?mnqD04na zaQj&YR8;+dZ~e1(FW`07j0;zi8pGu+9o@Q8eFuarm+6mQWPIuQ|7U-C^N~;V`O3ML zL+ZvYR8^~LkBGrwnChf|SUQQ7*XYP)iZrutkUAfUC!Z7N!?WrKRAlZEl-;(P&oY;1 z?6+Dlb!R=8+xDf{aX}G93e)MsJ5R{xjTP|iXD959ki;tGM)ZE(gf<=tWN3)e=Ru=T zd;Q7E`-M5=#M*p1rD+_ji?L%o+|$5I=PgQ${p9^SM+F1!VW zQjr3b3E=tvi|TQpPmkG@Adk*lB5<8f7YTAKMZb&>bZT83>ZLxw&L)3${5@@+Gcke- z=~H0h8`rVNdmC}W9Sb_pdYbGie@t)od2SLq7JObAPOmzS=Cb5k1tyEGz{X2K z(Ci}tHwxY8hOP5JwZ$H{`0vBmO~Yj4*IKhfBkS;0N)A3;V+nqa(#(yG*)Z>^hd`~= z0M-SCqoL<0TsHkA1YRD7gQ69Xn*JX2-mPZ5MlNQ4Z`5P@zkH)Mqi@h>>UZd(cj0I> zUiH6vW8)~Hp(|y!mO*;9F=f%ys?w|vu1tIKZ~d8R$AGWQS@_!lt+YV3oDJ-B!OO|9$ZwrS#TNeG**(dOMH7^F)4Xegxz;sa9sQ} zka3;}h3@-d?|E-}XjU|Qox#5gD-2=R2t}Bg@rXoR6Ct)CGqJTR59ZBy2!9e);j6cy z;9k`=XgIM17klb)2Y1TBlatM4@M|Tg{=EeH2Rh;Js7Vlfz5!pbQE2?kpB^>TR2>zb0f#7v1+%CN}Tztqg(5PMsU2zq}*}I0CO00w}ehu_& zj|#p{F9Jb`7qjAKKE^XnT-}r+EV6f@mrjo*nOoPADPob(<;;I8KF(r4olC}3_g&#o zyDNM8%6oMGx&zC`O`zZPipaC;hTtQcl)m&Iauf-BrWM+d3-K!chb_UO5a@{dph`EePq6A4d_pJNz7Vv z*xXajc<=f~)RM48`$cuAeB~9+J^ui0tYcvMWjW?R>ME>E@Wgpb=Hjf-ztrI46i~HJ zgK^r$*ZR02yeGxiox0+jOSdbY-Q86>`RAI&uxH~ZJos)ix4)-`Jt`Ru+GXvKzWyg1pZplE7H`IiO{1uM zfeBk7Cdv7a)Z_-PrBXkU+2*G$ba|bB0&(dyfkS8c?92Wt{2Jx~t1I;Jp%vw}j8Noe zswOd`_-E`q<{2LN*+Vx8(je$WCYnFW#c6aRGj_EBvt9cSuGR72w%cC*ZTVabgPJUf0FT9LUWdV-(N35YoA1<8(H z@YQjz;N~uI#{cg-;;#Gx7CLPOgC~0UKlO&3#yJto<#v{rbdO0?#cEdBs&#f}%=-6! zc&_CH`lvTvY>P2BpmtGNKl5}X1-X?ICPO?!2(oCzKM!!^tmO<47d8u9In*S1noSu!QzYxDDBID>Gok@ zrTh*zop46QoGSd3QjNjpuJ9&D1P+!vz$m6q;5&0BsxFhI>iyTzd%QSYPA-9gjZHY? z_%Uu{<~yo6LI!$Ma@e2mPZ3F}ZFC}^1DdUuipKOcmf!M&z0HwK*6)ej*=iO)?q7<; zT@@U>)c6{pnm#f-Pl})V;g-c;u}5ql-cOB&gpLG0%Tt52Cw`*!;fE_9PMk}nRe!O` zkIuo@tog8UnKt#X?V#u6_&Ke?DOfORFUV)yr4wuouw6QkWHB%3FPG7fJmD2+_IH!P zX|*u_cq+JD4S<~wGs%eSSrD&w9oBcff#s{T;fv`0|IUMMT*;XXkGYlsUa6+qLDQ-R z_JKMX}cNznL%mv`Vn}atMi9^nsQ>HbWGffid4Hu+zpuAb4;NH`K1fcduWAlF%|}c(fhPecui9#17*T(BTxL z#^J=9R%Arx2fs9r zv}mxE)*;6hG?A&nm(iec9J|mxllYxp&0R|x!_{_d1y^xg*+Q4KM?ir8LU4aN6GlyyW9+V+!mSTD65v0Pi5k!)#}9WRS<->q+MKXm zH=2C78V9|629^S=2|xevGn_*z5ZQB=zTP|)XBbYzvYSb`d`AWrku+Lhqz6y>BFS^Z zIlxy=Oh@K97`*B&sMh)^m}(IQdDFFUQN9w9J!{CQ*2yqs3Qu5pp8S9PsjjBt;cPiO z%UZ{ViF+J1t8A93%;*;U`@L{n(N0E6KP90v|B~=4&BX1m2HTM-iBk*e(0zXy`fXhg zhxFXdHoctB_@s*B`_K723rvNc+$9godjdf0_GZ$&b_I@FYQ^p4vy>hlcjlNGIrNi3 zFAZrcBgsa$Na*VQf;f3Y7=5#k71eAd$4`im_w@oy>DY&3r@n+Jr}Gr))qooXHgvh#Vd(8ofSxC#m{SdZ$lk#3=4O%Kuxnx=C**pQn`79DA*b9}AKv$2 zE%1eN(jm~v8)jXm=dd79Z$;0>Qxdq7}&(9cR z2Gs<*+FK#gyn*%g(U~9CTp;^Qmnr^LRrPxU9e4L7p)T5y{HV;ncoyNK0 zzj0e?C=M?7C9aF@V9#h_hB3^Avi1bHC@BqnJR{A_-UBACt;Z9eRpFIDo>^Od6i#jY zf7pz(zWUZP*|wJ6Yqe(mcs->`cER1sfMx&orNR8lv9S=w7TeyVw_S9Q2cTl&QR>yBw#w;h=&4fN6dQQ#G{lZfBt`7s*>%+C>ep#EYA zWiQBZY0B2zxAY6JbG9XX(9(pmGqQBugfH|{&M|1a`<4t?^33hsVGvNRz6g?tWf$COpUghjx`-u z>q_T=^H+t=Ph@u6YH|WMW{$XB}|p+e7rW$3xMd9x|8TEfGFD1|IWu>a_0_ zn31~h`bs21GBWHK(>Dd z(zo~6xpzJOt3j;)Jns(tVQ1;k{AlVafk9RIq~`PUv;MtfWOlTH>r`nFvM_>c5{A$m zPz&-30d&^4F__R6gA#+lJuz43&R(cS1Hop1PWW;k*Wwa@U}I?5v7+jFmZgjG* zKK!NHYqiX0Y9x{z+6KeCMl5+f6c^qvVeekmCf_R+aG3YNCywi2mu4=aDxwN7JZcGi zzmo%(LTE8RP=W!^~$8@K>_i{#<#gA4pz zq<~tzEoSdu*@N~a=SleYOFY+l2$BXW;91N$a*o$gUd0wb*Gs-{EuHy)@%HA?Tz=8t zw-7Q95k(XwLy?N|Ir}mtqLd;^lO`!mG*3d2StXQ2(I7$t;&b*%k%}}68H!X26$uq} zU-!M%{e6Bt>-qcnx8;vkPUkv%@ArPa$oH!q^q~DSQvP0nQ+%8Wrm+Rk?x7A3?Z^Ii z9&R-(I{jPD-dbtP)yxK$$t8>K>*~b|w#U#H&61EV_l9y2 zYE1Nu7Moc-krl+)Fw4Fs+!1jM-d)h88#nMhINJm8JlaHYB zPXWZ9t`vB06vF#(6UhCu2930M|3a8zw?S|tg|-+w;qK045cyrsySr{+mn_eS8`Xw){cjL^6Gylwp~<_4 zli}M0p7HPLL@$4ujAGeOh{ax6T+>^R4bQHksD~=1Xe7hgp<5tXVT3R~QiAJwHwL$B zAIA_+GZgGm0ga)0Xmlb~I3w*I>5*)Qvg>8g&ogxgLw~}Y8Bx^0`L>`_JAm#Q9YQ*} z40>!|G)ZXn2D!v*pmL}fLjNYiwnuiHiQGfT{PY2K=jsd0-}}>)h%+QZE|ve*M8FZe zB6zG;1k0R;{r4s{iE&AkEuCpybudW8u4__>>Z&89=RW*{2uN$sEauDO+9HbM=cfp;QkL1v? zR@mLDg`0%_v~ilLK=rCVH?ZUwF8+NQHU!*`*H5PTR1DhlCFEW7>3UkWh1ZJv7>)fvA)d!gUszwP3IcUJ1hadJDwFU zy>$*xUlGI5s6oN6-PY{Dj9uurOAC8{IFl>&8!^ydju{^~N?iE8$XH_$<{0*X(nxK* zV_1U|eCy!BrW1n6=jv!ANaDm1!CdlmnVWuI&Li4i&_U}bAMERgYtCwV!s*gyrVM$*SHE% zG}94o^1r`X!W`o4`I|ToI|(f|dpM6>N$~vfMM3XYo~hSj1QNeR=$2(U^!(9$kfkQ%_R7y7lr2p6B+=C+Py6ptkJR&D#_GXQeshJD4I!)#O>3Of3 z!{=vj{G!T@+hOq-j+@%Fk{i>b#4T5H!gtlK>~75phU<@Eb44V~9VW-Q6t9D?ZKJ?@ ztQ&Q>mW`u(4XE?eCNLN$$KC554^O`fV1vXHcxH73`b|P<$7((NI?A2Zj!I`Wlbi5d zQZyVN(*kQ^6UjbVA^j_N3igX9qSEh0m|=OC=dULrz3>g!xmV)Q&vj^BBnR;};V?^Q z1~oj<2xFx#;{EfwH1CPr^wd!nf?$nsf%BGUSXi)$6@R`!_r{I^rJ{4xH19i9KYNJN z)X!q)mvZ#Eq0Htqo>c`dGsHObfuj+eApfc84sF^eH4P=Rs~<5UI`!=yL^S|@Z6lJ5W?>pN%K>TUv6&3xG zprz^Q1E2q`Sxv=zX#Fr*q#u?M`_ZYqS9=J=MZJc!?dMSY>kzhBYY_LhnXzN%e}i*l zg9K;hz<#EjhhrTn6!ay*}NBg6X!zEK?(Z)Sr8snnM2N|_0MP< zxJw5uy|Dj52JKst1bru>u`W**)%wl~##E|dM@1ajJ!c(U$;=_}P@iTt8iA5lgPemyp&LY&cQy%{+pNKV_G=n{BUjjW707MlDp23JS2$u>6vhNc z2$T=Xl3}gG;Nag3qOs))Y+H~)E=F#L1ywbImM;`;yxE5qISE)+SxlV$?!k%km*Bt) z1(4ZdsqO7IzozsL!p43|D517519gXw7#HZLK7 zjY`mDhAVQ(iezyxacm_{B03PeKnRA&Gc7!nx&DGkZo$ar;*ry8A^-C*PBCadTwT?{ z@52s-$uovS_9uO!y?X*{U+KeoV-K@=ViVYjtILRqH-j5|u4I;91cC3WdFn)!5^ikHh{tKwH^VcB-)!rL8Ljs#^!? zD9KAu8K*{Py067Sen0V&uOyT7eT93Ke?U$BLr7B&M-{PCn7c`d{Splk^qA#BjmSM= zYswlTSN>h_%_bP7-cP1R>wj4Wc>bj~BMZT5?GWY|cna+vI77vfV(Oym4YJ);5I8-G ztehE1G!trR*#%?h`SFea*(o^xO9txw0=_nlqUW|(36pF+A$}x>W4w~7ib7-Yb4hQw z7+7MNF03EMqf(`4UI@8MOZFzaJ zWZy*?=vxI>VrPSMOC`j)odeAY2v@SxVWI9xYWZ9QHIsxOwc!c$abJb^LS=cEX#tvf z6uPtwjInmK4=R)HP_YgZeX`R!W2p773dvQkZ~wcy`ad(jG2w1cEnFR}Mf74#B{K|4 zLOTkSzr(-p4Rc359N#*H3@dm_cB`K!qk>n!>a$vKe#cqT=;s1w++GsP!`JWwziXTy zpGA(;js>st6+*+Jk;E$YGpft@MP=qEugr3l#5w1~$B5Sb8^wz84@maa2AVbW0m(n9 zgkl$Yuj23^cK&BFo0KsZw$$E%XT3`BQED@4CEdV=6~oxFv-Qxux*4D$jOc|fVe)4W zvpWZQXL?$`pzX>7l4~iB;*pw6A=rcMuw4h6yMI8ggbe$vx|Pm7^A4SSt6db+|=r>27wOA@B|XADjMH{-cuZZ&4AJ)*xKT`oSncoSIJ2E*IV3y?a-lB+wa z%uP79p8UGNd$|_@>(%&4cj#@057$P)0dqOH=w^fU-tEFimyXVOawr%_%h?dm?v3!E zT8eYMGaqJE9EYH#(WFaD34`80!!6O%u=cwNv$3Da8aKw!2VdH0%Ka=@@y7t}>{`n^ zfs!#P=ObMapYk%|USlD6Hl|c?!ZHk&c%BgqR(4Rm&p!0hE(eT%_Klw3ECLFvF4LNY z{OoJuXF=SK%Vgqy9aw$n5IJNRB)C21ljSJyAR6v;f{J!ULC&ij8up8W#|Gh`Au_DQm3(%e9qpV9V878-Qabl1SHEwkRQtr!J8p+Sl;gm zESZ8hzegG$Ge~WBY=t|OZ%8(a0K3cELDq9FESYZsF8g6pl*Q6ycjrN7v-+)8^;Cz9m{O=q*+ztc!)9mKo^~xju~1TVZ==>YG6HrZEHHhBJYZz zXKn)A-($yqTrNNzTHLrHlA=pvPziOs}K7QnZQ8p2n;{G6+1f>EJf?D!@TPiP&*hw)|mzo z-(joCyPdm)mhhY#Ns!F2yEKupAJIotuoc$rsU6Ck{irrm|(~ z@t9#!4MT2N!5y`S^tJT|VaHZUDmO6!%?!J6R{Sz73(TfVYzuKzFYhMH45l4{``Lra zpEHtk?BJf8J83Xe!M=bLR1i%@^C@9eWt=S4dw`_U-h^k!?`7@NI%(v~H-a z3CG_RVJ_DU*a7z#+|gV~URt=(Cr*4e`-ZacT-iH%x$Oil&hQ4|vOeJy&qcU5a3qUO zeTy~|G`M7WO)i%20UY{jL4NK!D)bM^M7wdmAZQy)hPgJ;VK@$NV?BTG zn}g^G0v3M`!Tz)qyrkg`Eq*&-;kPS9`fDgTzk8+S9MR{nZ{%a%(Ygyxcm={0Yc-gv ztB-rX_<`}PY~ZQ+z=`Wy`>ObPKhLx<?t$&uO1Q9b=*%J?PxuD#Za+t<~k+0 zCC7TaSN>a%q<)D@Am&M?AbZtOq}xv#F&0b97#}4v+iHg_#w$*g9$>uD58x_dm06pN=B* z-4=y2_M@RzvxVo&%CHKm$m*t!1x-^^Na9Yw?M`F(nm&vvMINP2Y3AVPHImq=8RLXf zOY*hdAD88a)8r}#EPSBBny+srBNlv|A(L57E7SW(d6pb_Z=6PU)g2?{ITuOCMs4V8 z9SxbSFz{ z;MLU6{CiT}<8FiIMcse;6{E-Mqwc_3wBo%wCpzot_M`LR?Z61Z&UbNeUeArI?lLG& z_ZZEdXeh9s_G$FfF>Nf7ixr5)oQ3ChjslnXji{)549-W1bGOv==+>^Wu;Xws*e>Dy z5qm1g+Up-k!W%hDd5H?Vzp4=%)dFFH;0`~77iFOze+n1SiSQz2Cgl2UCoi3^2*xDGY;Ut4V=c!>+qP)ZcmJ_K*Ln)H_^M!@^Goa)Y0o}xGK3RKlskOM ziX~;{FwtBc&azAlefKV*I^PNe(-fR>_3q1j-MgGgm8q~Qbx)r6!0#VD*}_yjvcY;_ zzNOFO$uvXeRZ*d@EiRBgNnE*!^!H?ARMr>4uCx%aA7z3izB6IU9~%r!3Z;q1JBYZu zB~4szPCScKNr8_9yqrCeUh2IJyW+|%_f8E2s|oHn5X5Fw@Ht0b%StlZjtCC>gwwoD zhFCtQp9cJngbjy_XnEdua{6v0y}tSatPc!<7T($1+#(Al`thVD?k1TYBqq4%c?!I; zPSdIjqcK#{0@R1yg0e>ou*kH9oJ;*p$}_`Z&f6AvUV9DBZx4ZSZ_0>Bz;}`^{gf!& z-T&WtSh#cgQN4Zk)~yrMC!hLkQWE!KVnE!2f9nfL+(ZhG-{d{(`{A5oJxPhSfX~C? z1Y08xflHAoE}dY-ii|?>{R36j7!n6=#y8-V?>jPdnj-i)-WR;lwE`tRtNMCXBvz;l z!G3iIs1M!_U9}5|wOc&wZ#9J`!7U=|vJM9OCgZo#cy^B)&9Y8b!nS3bF=A_zOszH;etfrpS(O zO+wG=6xcQI5Ak#~1?ReXWajm2^pnnJBA7l)=-oJ+>#gy}<|C$Tt&$HOlefgk2NASp z$~`h>@oPvaxBzR8UWam#`DCy>fKIlRCnu-KK}%Upu|kt5=Jm}$8HMApF!vHn|Emr` ze-@Gqe-ApYc`bd<`>7xAejw1?eg-Sj+l5lT2g!!Dui#KU&j-JoLe{p7CtUOxf-@PD6_2zv4z!IFA+ z+_>o%{DHgRWe_TG>dD{Q?J>rB;%PgnP!kpFs}Is9y;&}5ZKo;!&SydMKbhbEubJxq zAAj~g>*A7tQ5&XB;l0omuIn}|F)9&Bc{|eJ<+y+DF@>O8I5ToTer_}-!49@?@7+$Y z2%pX+T+-yE{gt>++fqor>S#97?griR;34)tiljUApA`?>Y^5g*juLG{e&(!e4I3C2B;JC9T9Fhs)bmA=Vn%X78X()g%|2_z7H4t_WY%YGmXYs}-y(e`eGhsrRHHq7) z!OyXgMtEEnMr}Gq%#(NHGAW)X^Inl`G^>F7bz)qf;%11nD#E>0MHs#%lfGSVTs%Hu z&~lxqFrO zo>LYUC_GiYg1d0%9GZA#TDmejGR5o#ajl(;v*`WOgVZ=Qljvszf_{JlSWGhp@%(i9E#?HKq_1FyMMJQ6aS)EY?1f7#8tJ=B zjU?!N3Z!>GhUiC{q_W{89@x!0VI;IMCD546*G$D0?=!ecdLdqV#xoBuT%hXrqy$?| zy3_91bL7<8YH+Gwz+KH$|8FkyLT$rOMJ*@m!!s=-_d6Ms%oi>1n}2TnKj)$9x&~IH z6i~A~YnT!d53Ajug54N%n5usSBx}}#QqBna;cz7Vh^p*C0*5|RrqG4GJLnIMArSf^ zl58r|CH0F9VQ$(9f&SZhC>p52ohp0;r<7uf7g^sc8h>Xoq{mnSYubpqKUd(^g0Cdu zC8N#{Ovwwcbl@cl=w)P0Y?f4#AuZyNJU<$he-B}E4GiI|mIOCMvm#SOtI{TEJ~x*WqYPmniVMtn~r zpPav;$DKRl!NvY|L6N~XY%>dE1KEX$K8<*Nfg!Cvun@OQeL2JTlL?5q$#CA0lAL(Q zI2P%y#yl5K;a22sp<8Wk5@((R_e6aY{iPR7RL7XmZFURk1nbAxJ?{`5mbaAK-!_hG z-;hf*ZIfxp!(b{ts84emiUdEF^wO{0s;Jd44X=OJC-%Y0M0(w58j~3Xm#!CJeC-WP z>~tV@E~DYF?ogW6XlLmrK1I04B>@aCjH9n+Y(vR4r?KPUa&##DLzbSi#BZ`<7?`4m z)nOFxd921MdM6-%$yK5<_c)O-ix&LdstNmv_J8N0ZIdtC+%?O3chR%T9%bDUNyEgj zElL004+(Cs>1+eQFZR=5Z6D8k4UdM;R^3qArv~v^hNO{aK=Y5qP`0gzubpfr*p8|GmMn3$st-d%gIB-gMuNyvgxbv zQTTTx;Mw9A@U^c2s@Lr#eqj+Pkyc9W7CtS$I7<>v_c`Iff_*3>BMG9{^WbBTDt#A^ zc-zbyG&+K?^tlE-!}mD*qN>T~jy=V9%%!;M_mZ3k9>=RMF0iCOag6Rv!^HwMcKGLM zVy<2!@cg9!vu19G*&7`=yK%2!OO^-wxb+ZA^SgkieMMNVYXjPm2@t#95BsZ(sNi4@ zF%9%1t<_3wyIhH|WB6rm9IWD$s^>$Vv@ewCIdFXi$BL$}btS9MwF>0C!qD1Hn{6HP z21MKYA$)%U&*Pto7siP(pM8Ni?d%TA6+u79{ve*MFTNDF&0hv!q0W8v74Vst%jje> z0xmf@(A`P()a1#OqOA+}oMromesh@sh5Cu)R9_fgy%L4hHd1hJtu1`J>y5oK z@s_GBws`N}MVvTEh`T%|3k<}ash`pma65k)_D09RQ&_b@7A&Tjj%O}6By04 zhUX)!*)tPq{CH+sasLfzuyr{`#^*;+r|r{<#fp;%(R)lEZE%F8!{>7s*ijPZHDF2n zGsx7Dk}zhXqd;!EH#&dHBg%_*!`bGO^zFqEaJe>))V;fevR89Rl# z-nj#rCa0*BwhPwWzelAuYj6|F24QN)1p?i<#58(3#BT5*yB^6GAMDE(EE`dZ&(~c< zgNb9YBUOtl&yNA~3rFDEv3q1!P98?|8iC)IT3Y({6n!ybCstgUgbA)uLNX;4}DG~pCM^kCQF*d^zc~>!^+o}Vdk2R zuuTR@alteC(BdkzxbMPEC)cpIca^Z`%>#J3J^=qbIE;+v>1ARF9Jvw!KTA%+)ERF7ll4=!o06_p~ni^)d!yUI{syhYp-q+;N!yS04OF-e{L<%)(?d7nN}e+_5K&C886;z?mo{c>A4jrkrFdsk7L0qKgee(y zxHobpK60A)-+3_1-cxgU#4PJMNiWx!@dC`%=^`)OHvfAbnlygU_=m2TU)L`Piqj`6 zzUxryv?~yMU4=7w`v}InXMxpgJ{gl7!K%b1@Z-!=RKr(+w7IwotqU{A7M}Co_KSB5 zFiFt)yAUKl_XxeJ)1i*;#fPm?miuCcfY+gw5O*O6jH{ZvbmN)URk1)r+EX#udtB7i+8A+2a0ROcX+&b~4mJZ`)F*$>M zO#4nK<{yz@MFoqA9G|^4U$Bfe3VGgalRd0bDu$Vg1*FKX23yoqK&kJxV2f!!{ZKmx zR!_;N;&Fee%fLvq(3B+#(~{}?^Vuk#84bOs>fwFGAL7&PKu1iN2w9WNiQ>utvMo!B z94ho7Uz>GF>9fuB%ugRkXiK4o=DA~n?nBJJcNVR0so}L&g2_$o)aR1{j?vOan>Yjb zD=G)RccX>pKBj=Cb~3~t&G_$oF}SmL>v=PuYahwNCAF7HAYs47axEGyP+MweTb1E%JE$aIHo6OpC zt$4ik8B(R4Ng4~}Fh7Hy7ZMYO7y~x|2JP%dl_JS+;t|RQ6P%x46gtEGCZ#p@)Mss9f{a8F_oGV5g@(S1n?~ zwYbj4%B9zt%}PTyG~pf{di*xd8)&4<>nMGw8!K2aIvwUZyam4*Uxho2exU}>U6*>Z z4?Y`xp?z95%p=PX;sT5@Pv!?T|1Ag7rgb!;=?;o&2NL@W8r-fT3Y#<>!OG?%t@E(s zUW;hsyu}-4v|qOe3Bd;%6`3d;tg{ER4>NG*hGzV_JdEy`ZA4=~PZG3E`6Yb)S_v0g z4aGescd@G~gxV{K!K^V?h?4mwIJxFG%*(fj-J|$CS<~JxJGbgsZyvs>v(u3GxUT#V zvgp}gt95^valCiSKXvi{tWRHD{&OM!t-bYPcY`f~KKdn7@3{4?aQ(N>R`YEytxxR{ zcqEwty)>SCn)L}*HQgl#18(9zw?j?>K2huNc7YMq*>}oX$3vhn3ap@R=PU9n)XatnM7#++RXRELsj` zciiD_#R%^06a!AAm(Y+$mq_9oJJNDzD1Py|OZQy0B{vp{bKKf2xH~lzf82e_d&a|s zXAcb0IoqDlfcz_#T{EPh$M7&L4l{;#w-xBXrMswLJdO>tUqM~Vp@VBseUrkEh+!~W} zD)-;-OC--%Y8-qBHOovnrSwg_Z)z`mI54aDS-u1d%uQnTz3J58{TlkMFBOP<1%7|5 z2g(sPV0olhaBbalSemNBsb|~+vBw!iXWefY&-47BE_?+Q@_VrUVLW*^R1Rh@QX$>; zd&q~U&uOY?7d_nnovh{Sa2@$hvM_ZJaGoJfpHyP`v*CmwW%GAIYWOpn;2MXz6TM-F zZ#$^A$zkG7KkP9d$K`adz*{rqaZR*(v7K2UxE$L7O4oi0HfhSxvs(+%rLh!?Jg1}P z6Hll*VuR*!a)Naa{NYbd5Xs4{!SDKnJ(m_?X~YL7nLj61+WxRGTM<3I(~0$)@9W0cku+gREn- zC>yBa$lB8?@ViKY-1s01SGH03wRN?no9h(V6!e1n-e{vMVnZ=rR;BoNIY$n)KA@Xd zH^D;>9q!^S2hMl$TY4pk-z!?ELDyY1AO~|Zg{^75wC>DjeAOSs{%Ytjv-cuIo;`;x z&ePcF6IlDa*?2ELqTI zL#7e9m^*f{l6F>XrJehYu)^^+xn!IVTNOrfTgoaST>1GQV>7*Y3TzuTN}*coqleS9Ek$Q!b`%0{?q z`xCM)G#LyFFT*3>O5B?mj9#O91tAuxkd|`}PMD@Z*Umh$O@wEUo}Q0;dNw0oKltB! zseu!T9z0amXw<29gLr@_fP*Sb>ae&G-)b~JA0K#eC>jB!{5Se(ZiNg z9g@(7I4Nc@7XlCvYvh+^^sg84lur4)NI#5J^&{WhOyNEssb^?KS3_wUCoZfFJ{5(aS z1guvkJ|cI?+@1*GB!UjD91$wOYDP5Fri+|R{K=(U4 zxNRk*fh&~Jcg-VwJ>HwCx|QRD*f~%UBFTC!g>*~pV!`|)X7Kf1FoZVhK~0nd9F8cb z?>2{#7pX_-m(c%bj^AH3s$h$Yz4gSn-E}W_8X@O6G`Yz$Y!y(M|#Uikt zahdRFAGCG-NOzWf0P|7nxCHYm=rm1(Gr!xweytMpWg+e;4aA7}-B>?Pku7x3zy*9> z^<=&>#}&3iOx<2sI`u9cWf_fAx8%|`D}PI+{C)I5W2n$kKuhJ{|X5w$WvEkqE#h!Epka5}s zulB{j#MxmmW@iMc{V9qId^ck?F=B;X;~DEPfh#&@f?XX#+Hidi{v1<9RlSEmnsX>P z?1+ST-wFuzkD^OPd*Kz{|17%r33->Qg~9G8$n_pk5_^6mthf{i?qiR@?2#eGvn}P= zvXM{Gs$iF}bLB`Vd#)zvYX3)VffLwk=mMr%R06tscwyj0k~TnMRzq!XH;m*5{cNnOGF$ zhL-N@V5Hqz&dlp1cWv%(sFKdb;Wtg#&tDZ-;xrZZZ%Tx4lRI#!#|8q{^0kxu1DtNK zjAb2N$SUp;)_D9Zew&a%Dy|2^i`cIqVz2;sm=^DlIrZ_d0DFISHtyFMOP;3t6&mF<|qa%pya6OnClMSB@USrXnJ2do!88KMY zO0@5Kg4h8WvL~}&cz{kpkN0`l^L;2t-M#-GtLfBcx$hqw?X7DQ+-0Z77?3tqLyBc{f{b&*;p$$nVputV=6s9!!#99Fz0p*v2( zD8X8|)jkXj4u_Ju_-@E5dqNMM$VMHHG`MHL5^KZchxAT(XbE`@0ej#<9S>sI)*tccg4#M0GF@Ha-QbJFydY( z8XCB=@fU2^-<9gvaq=*fT}Z_6RnwWqULTyYx)x0Qdf<~o21wK;2s^Wfvj%rt=B7W7 z73xVb1#1a(e4T=3`bO;Ug2R@p#-4?(JY)CPf>7}0`MQ0}w+fe?UPOuWAf4DR&3TSL z4ck90Vz%`H)Qo;dP5z|eDeY3)5*SK?YzM*jR6c;CKTPS8=6oeSl8}KJEKB+-&6SVG zvvn=hA;%DMZp#Sgyi9|NnbKUC{5v@6n1emjz1g+*6}WTmWUk=Km{)@>I@Udr@(#C( zm916ZMU0rVMa0_m$*QMeQvc3v|7U$V`NOfr2P$V;n=HG3eNc0J$!Ylm85;-x%>^Y7 z`v{lM&4pcV8=<@M9Ev|)&e{U>SbOoi;(b5r&@;&c``3A3?bZ;8uBo9Hw$_k~#XKWD z=p@)E%t1xP-FWR@F&ug6Mh2$paor7OV5S?1pVg1Ro10VMSGOPRSN~4(jnr_)ZdHuY z4h9Nih(moDXsk@eTH|D#*!q!JTy7vUr2ELlnrwPTCWMG4RKm+^_MD{04VaQUh1=BH zLuKPj@avg-bo;L1s9!FLB9FuA&bn{>9_ky=lNl7=zqyWnfJSiP-(o`!@h*z%ws5@c z5^0K>B~WvCLKeLFBWODO2D{7S+3oSKF?OB|*DF1j+xaE|RSxHpB)LR9OxweMy`UiANhlGSxKDi)-(x?5=QgJ!XOT%ZDV+c_#qZ$gy#g;To{LwhH-;4K7qs;H zfYc%nTBVkXQTml=a_T*N8luFFH*wu*O!{`-A7w4nmtHpU81ftKl z!KB1@^wqpssNkr^TCQHh1a|^CKUF~1C6x4j2!=VT2cTA61p)^`sI0UXR!!+A20FLN zjQh%%u$hsYX%iqkbT!o3cnZ&a%@&Sw$fSFD?@_m{7@x^-=Y~yO#fkE6A-|5p;QE$# zG@AtT%=-nzZKo2*PRV<2)kFX|Ze>6T{4DPxuFwg@~akGln z{#0k(H)`>n>r>PLXJ&tFIGdNk1ROoW2lZx+#xFh7AgR0oJ}Q2p-ZQR%$jE!}pk4=F7r!Q= za>_)({~{cWDTBu7ognLUQrK29lvzE9;`hggF(45%^nC)%KGgZ&dt=|el}-NN?5x`+ zN4;xy9bck&E&TktXaC+02l;M~ve(R@>mMZxLo@F~73K5$;TM4V)R7nZ zkyPs4d0=ju+#=U#WG#;D=DO}8n?3!))3txd54|!$O^2W0#X?t-<}rkG)>GpSWsT;3 zX{h68z7IKm$PnV1DiC^&x(tiTrxbtCeNUFLTZCN{g|(`8$q;EiMJ6g_64Blz}(DlD-;jl$4XCQhVE_}0M zhDyir+wKb_aoc@zt}zkhYgcjeZDw+d9$tX83T^a~n-B|gwAhaszcD9aDzv-IgBhhm z{yPt%adVfN7du*SJ!xw6+0(2f@0Vv(MDxEnu}DKTPBHK-8r+s(&gzQH>7EgL^rHv| z&Rs`?A9xxSa=RO{)1$3kzDoZGkDbYor4=@^2%a z_a4m@UVIb2m|9F~UOs~kS3d|iaS<}cCBbg1gCu+YGu-sx9u9k_&0-3hFuf1Zn%^s% z_i_*n^ZH0;oJOy^Tr*nZnfxhMjeD;Q?vWcyMp40DO zNsSKenll9I`0PZ(31u>UYYI3nQ^NEk%EIpCS|X}(UifKuC*7cSoNjCz!oDhn;WW>s zv0*oTHZQ=J4$4b(i_K}91{zjG@uz^p*vqAbtHYBZjCMe>w zBB=))$u$06^7lFox<(pYMV185KvjT)%17XLodD`nI>|2sJ>2x;Egn;xg?)Dtg&FUM z;X986$UNF5I55c#Zs2GbDpy6FsuNIqg8`-|O^4JMnebiz9+*dO2ZyaE;co65qWI=K z)wFfQ!p=^N78+vo=QeP>=f_PNR|cu?9t#>=Qeb#+G;Dk81s68BlS|Lr>2NzS{K{vx zV^-Ys35Usn=zGCSORZvNpGWaTu)O{gNQ&$igp`;H$NKUom$oYcO*#oG059FsWuueS*nP_g8qeFFlHae#t2`S(e~k)s z4N0d*wU&B0A{I$sSw7ee3kR#=uZXTz6vPWwTB?pJ!C0Sd(0X_?yoo3yyHEVY zhrj2tAA9Gq)%DxJdy@sXGUXR|EOGkpJZS33+)CSTXPr3I!d_yLK}qH{ZnKoczxTsQ zkICGSn5p<^suoLW5@B^Gty$9ACHOVC2}0im(Cxp(*_Lc;VW8r25~7m?m6q9{;G0jz zS_ab_>9=r_%V+vRFB)Q1SHYjjgMEu#1xcWPk)ZCi`l9|#lW65XwT~-sn zJD;I@R;1(KA6JBQNg7y2<-;`hIw)Lh1Sh{=h0^ZnaM`GtYWvTn8yd9u-g7HHS^5rN zf*H-o_J+dCuRtVZ85lV@0{L@+>deg(7|a{PMX1c@Vk>3w_wLKsukTGum2Q&zTMyC= zGGm}q)dGBv$w2946E4AE4p+W22@X7Yg6CYUFgz^)0yZpzR#_ideBmKPoot6M$9ItA zJD+LXp)zbUO2m?md%|TO+-YgbN^<^`4m_#)Ku$gAN5RNSJf)+Di8tKQzHB*LJaB~N zlqSNChyVzS_k;5xJ0NPK7?;xSiYmRLZ0?6-^!~6LbHi?8RdzVL^+$?*(2qscEt;H% z)G?Tl#^>;7DX@Lw6WD>u`*`eG0Cia?%iSnlj_lAx<}WRdrf=Rtm%|$HmOKxZ?@tie zB?DtV3P3OL7|^N;c&Gjp>vYReY`6$<3ekb5ny3GBe8h(s zHS5d&dmg6GtOK1R2{^WL5AOBaf_HQD88k9rMK)6q%7 z9Cs9aM)@gK^!so%7%2WoOhtoXxoI%em&V|)9lYO0qlvQ9qq%i$M%>7eE69Y5FrFSa zA6D38f?=>oybFu}6v7g$(j}^8q|@5(r`T024;N#nqp3u|`)O%Ue>&?ATW@G4p@%_U8Xseo@@7c}iwYN}&Xl1th7ci=DaF0l6{*ZZ6Qz_WnJbb?o$EQT^L(GD=XK7n z=O6IGz3;X6TI=(9f9#mE#@?V+nFjgq%ZX#yak`Gt%v?^H{rtt;wurTW-2(iE!KLgqUkn8nNiC_inTJ~{Y(+iqJJ_MW8$Zf$nLeG{aQ58> ztne7a_Lx-TGPTz1Cq z@cedxdMc&TdK(uw>%RbNGD3M4UOKRY&LH`6W&Aj|3|coDM?Z`{gYS{i`~w0fu_Q^3 zT;crU9)3UY%0?e5(xOz{fBqEl6^|#4GgHZghsz*oi!;sq91IoTwlSs)ZZd1s6KJu3 z5Nheq=84XpPg^GY(&sg^apT<~nDtW((i#vxIlY5)-Fg^!Y{90@?4VBBuAp?ulT1&) zNM*7EFxY(nmL83yuLN|VRa=1NC$3_fYJg)B)xnREFA(!Nk$kR`;9W46!ov>r^s#Iy zN^P6Kt_f>m``q`jIp3w3;HNsw=Ho$d_wY`VFuV$Gh@?S7O(gCJ6l3SA%aWrDAL6rv zh;Q$R!^652pq<*u>s-2%>?}P>lp3ahAwP=d{a%mHd!(5ko0c;#43cTyg8(%3pG9Zx zo=;|XO#?r{0b=`G_CKHF?Bxn;CTz1d-BzS;(l#`=~g{VG5oef-b z4Rvol#tw;4Oj4e~?mZ&L?mOmzqJ@;WC?nd;1A8(H=jM^K)7xdSl&rB*nsXha9uRlWXz=e3|?*(wK>?Ja%D7>l6CQfUI zc#8(5iPw)v{+q25%qA^94bbewd^s2FYFh+PRHSIcav&ZqyUE6Gf0ISGjfmw63p#OX zFsS!yW5R1)T&ttRWqTVkiE54TljQKWr)lwPl9K3nRZm(Lu$M+{L=&q~9*MEf1voL2 zaqK0G_Ra%fXR-~Nq>SLPP7HngRU1F+df+m_5}2VvI!}c3r>C4NBtp1)EtjY{w z=4zoR<9Gu=sfkZk?ye=8vkd;zFF1YS#q;?2<$ zSe?m(p0qK{kiHQ!)-f8|rex5nE#{~i5=*PER`bPmB{2nmiq`LiU(-PCLS@|-C-2C%HPf^B{%759h zrQ18`yk<>SuIdj46?Nk8sw=qqQx*RBU5gn4-grP}I)o^39&G7{(0@^kDLp+Cn_q0f zNvh*;P2vd%dBSqv{kt%3r!@p}9u|#z0`yOB9p8)O!JLE$^o@m`->>PUP;dXmUF>1g^)7#d+~ERMOs+w|a{ogvK3Q#8Xnj9%gQC0r~~tu?T$Pqc-|LS|8Wx-t-V68TB~7Cs0B)`6+luh=+@bC%n&OEdHNH+_|uLw(sGv*!kxx9}5nFjJtjqik5$jA$&cn9h38 z5Vp!aiv2B=3}fFeVMf(G!AimxHo6@rYPucd`jcc;arr<5>vHB?Y@oc z^h;ifJw6jC{4Zx?O|39%TXG2P=N$!iRSDkw8`-$#nIekzE2DWdi$>di(7xxH#7wr9 z91vW}&BSHcisM)Ke!*eD324Zwcn9!5`y5hkhJv?PE-9_K2m(nw&hx?Txz@d*cZ1t` z%}Q5s&ol!zdy+2ps;VDnx<9N;&912Gs>;*gZvCN#+7PzVUB8}eGhA-FqvR3gS zSZ?1$v&ED^Kc0QU{fyn&PIZO zVK@x#@CP%l?v(6~0}n3$<#3=DQ}L>pwA&=$QI6AhvSkkx*Ls0Snihyr5AtGrC-OC~ z;V;1^nkKgZb;}2F=tl)+Cq1HRcZHaJCputsO){K+v>EbTCbNsThGW6jc6|2ZBzwAN z3T~1RC$qP8(;?3yu+8AX+s}361D6-Lc}^DRwMwTWk44#Q0Y_)>8-A!-wwR;D-!wQH+9z{+=LOyNb-Q(1IOg zD{TF%&a@TWB`@Azge1Wq7=Ggv8{_;NH9vLG9DftQra&;rDTg$F@Biw9^urXN*Rz+I zZqwR7VcXgHB`JaMQR)BS@Eq|>!~HuISiAAv81TRag?QDN)zyMG+`ge$`WUqL(4dR! zsGYWr(iQzu=G3?2k zjreD557isIg2E2VA!oB291&E3jWf2uc&(4bTO$&arZ*9`ObT+G<>8p^1m@bRau9ed z3KL8s;Dx;aoRM>d01J+7D?JuwAL@W1W;r8cy97p@6v0+cmzzzrkp&GVV6Pf#62=1* z@!J4dG=gYauL13KT{KoSke$;T$hIF=rq=Tfm;~Pzh&x>id8Rh7*Le^7!}S}sA6>xC zjXTIjH5|dGQF08xB z_qlzaA3os}9lxIsN1tpVdy2zIO0ore>h?xZJq#PcC{=%u|ZI<3EnOGhotdz8 z{S0_F@eRz<H`rlVbJd0v?dl^A*=lez9m%R-F-BZ69R+IR zcxjgR?rp z``$z*ZTDwlF;$H7$1j9~m%fwbnQ!?z)3%bJ=|aHYngv3$4zv6T0eJQiAMVa*f}YAG zVzgiladE5Q>u4TlC8l{`N5(_^;$ev;yLoKFMtwHyk}8v5JDV93XaN_udy|)yndI-M zvFyA96L5FN3f4qN9BnmLp+tiY`{0EPvu4L;$lY?0Z$4|7FWK#AqM{u~^46!53a>KU z!}sQ2*?%41y-6mONnc>j+6)SJ<4l6?#}G|@WiUOGjQ0AAF#f$07RGGAD|rj)mG3=Z zcj-5LKmCQeyL{#)=!(L%A#3Pc774b3<|x|Kjhpiw*cY5P;YjB_n73~dv-ZIX=xPds zLXN996>cdS{fad(grafH}&EL4}M43u|0SUiJ|MV9XvnNu)W)XH#a1>r_|AU%} zOECDoGP_M{BD?92FVP)33S%F8z-N$VlD)EE;7~8VjupXRT5)E+65huu5cmr~ONisX5p3<$G{P30rpyiCWR3*zE z1)BR{WOzS0muLsNF#=5Of+RSS+DUlsW7+kp>u|xLD|BG-bz)mHt=MTa5WKgHr_XH5 z$mIPNOzXQSX1u8ysL6s*PA5g9;fmRv2`5tLuSSjB9qIP6CZ4#xJaH2##c4{y_+ye?@t^1d zz@LW9%$Zi$F39c8+C^|7D~u}&QfTj<_r!SqH_|=v7N+KKTDa^i=wuHuaR)`2&RSF6 zJ@@VWipZeo-_vSd?q?@xFj*RpgAf+TpMN(f9uU z?QwlS8FNFcmzWN`U6B3g;;fR16F-O7xK8}%j6O`RgcToN6VJx(VgXG%thxLSgW?Uq z@as$XpsodzW#fo@>^uI!mNB@oauzF>K8|fI6k~0=tMIPWJa+Cficj|$GnvJ&_MFx#PzRo;Ji+FB>WHGFQSYNBNUs80z@p3n{)p?HXqcl;v zRZE`65&n+{k|4KKggN;5G_&c9JRafR4i^r;rjfVKk?d!y`K?m1bbh=#$ZH+MGyTh{ z;~R12bF?=7a&8&B;nH;~)1C!&3Cm$pZ8dMzaap=1{3^df_7;7_&E*#+=wR>62==f{ zD1VmVUkJ3n0V_|ck**C%yn$JPboYem*xI}uo^ZObsC6sZA8ZB+r2PeU<~b-h(93&l zrbLZbSn|u~l$xZxAaqh`BG~RX0;^fvyXJ@vG&5Nsck?ODcyW`uwF{G#^*;#;j}XyV zNjPqM62$HaU?Ha+|FnNDd@|O9>Ek@;__6c(Yhf0-E*L=C=csaf>F4CK>Nm)}dlzol zYyh`Q$xxl62PgDrp;6LF+-;$XBbQ$lJ#7B+U(YjENLJ;{o~5QCZgtu4$*@HF%I~9n zF>EtWhn0q^AoQHaDqR(1 z)oZ2Mt(#V{A3459WTO$rC99#w$0d;9We7gckC0F8%SZ?34VzXg$ezjV#EHus*^CND z_F3>Ul3J_;>x81=z#J!1F)MJBt%vIF4|H;79k0N$j+l!U zlCt3N;+z~lP2a7LvquTahU=h1>0yX>a$x3c+6eQ_SFr7s2{;%~34v-+aQ%-3_-9#x zaJd=SG$a;Vy-6X3n^s}%Y7f@Lk<&x}$)wH$AE2{kFVy8ufi2e^fLCupdp12F@w?Ac zy;Y&?GYL0*8<+)q4m^dW>|Ky7lZ3(RgM>A_L+(yjfqJ1^5FsYXG6Lh+)9%0E{q6bi z;ax238*C%WFaD4`{FZExzY0rMA23;{e1sK_7e)D~Kt z!LjQ)yp{-oi92tCs2cJ|iWaajUG4OHtu_q%*MLvh9f(}R%^ZK2!AXyc5GNH1{q2>+ z{p)&YI;RBFZpYHSJ3gYP%W^v9WfpHmg%q53_XL?GPT)7$zkxJDI_|*C>-Z)%~G((V0wHravf}OCgLWa5Jz77okY$q8r zn)&TgBJ72+lUemHb+)$f6Yl8`LoX9MY_PsaG`3$ivCV%#7cV|UqEfe$l+0LE%FCfG zhpS*z&P1(=LHL`n56?k2SR7@e&4QXBuP1vI)#b zD=TKF(`RxwKAVKpf2Nz4a{O%GS6bTohK%`=IUB8>6&2>G-GW!kO zwO$H>tGS4hYjs4@yNSeJo=kS{%jHc>3czWpKJ3G^iL3>e!?k?k1Za3+1EESQ0os%y zdeQ`LS1N=0{v6klcNdOZZ-J_1(y(yKh{?=0J33UFO19{(B@50!=A}j%gL``q^@$NJ zwn@CfE0ezhagm!KSMxf}$?qU0cI9LTryKYh?M1|x1@y(U>G=9IkOIlAFpu{QZqL1A zV$bQDx>iZnuQ?^_m zS}TW%`R(1D->n6Ybnq~|Ns+a_vl>D38ANs1F*#~MCbprQ=r7(4-lQ%ka@Hm3zxr^& z*7jKWuH~jAdY~%&nqkR)`@$hH^MC6@|05Mr>f>!v;L}CA-c^$XabJ|_ZNeRM_EVL; zvP?jNw&8=n{Oq^it9+RQ+wyJClpK2D54t|uCt|CAzL7ExQ93Nb1|9L zQca32R-<`GCtfjd#S2_6z|-UZqqmHMqT!qHc-}qUh~rp{?tD(;Px;W`?Oo`*_ctmv zP9TPh#=%_i5{N0C&qNG1L7&S-a-cq!9(`X#b9YV0vceJKyU81c^*A5rEE8QTPt z&jjci!!gExO0gE&$KkE1B6&0;7MfRIfafwobTFojw5Wa}4V(Q)?|KUut+|NOT7R+k zi7uFPgWw*U%TQdELXNydViw>Gm*?Gp&xbtVx4SGPJ=jX;d;^sD=nVb#>WoBcGaMK* z2c&Ltp8g#{u%;*iM76BoUV{qWIbFtEKzHKDk2-AFDtm0TmIKAU0B(N~N-94thRfAt~jkN>ksBTLhFvvt21nd_E36AKKuH}Y?NXuBT`k|HzUpnxOPZGTA)uCJ!Q zMD+B68H+IEpNg6wNk80vNP$6oe4{iMDfRM z=D69Ld&tM`PrNj%NeJt?{IKc%=v|b8>tteaxpX4UR2*73zDp4PX#XK&p6ua8bN5nd z?R>oMEyw=AKy;Nlf%i^c6B#$q21E|%)8sMT$ znN33L(O5WvT_yG$MeGA$EjPbjpPC78Pr1U;qfcSI&S#FBE6V)ojfDQEQ&^tPZ(I{` z3(FKY!m!0C3HUV~zV$d0>qD{N=^X;%QkEd@XwF_Ki@~dfE%4#CBA2C_3YY6HlGMoe z#Oja-8SUBy0*kyrm*X&>edWO#WCg&;F)kwwxU7QhN?`Zcp6uvpBbhDFiAQcWyv#oa z9qB7s$HFD-8`19&9TCdqs+@xqnG7QSEP`~Ob%$-8_TYZD2_}3O=0(jnXXm~Kwl`rR z6n+nebO!>7f?5Zao`gfwm%@tr$;{ZMdT`vG2i;~DFl$yEc2CtKA?4n5mhK2m zw(KKkyiUQ|om2li54zPj$%mMm9`)e~KYBL3WWndU0S&Q#`wJBnMW)%Wlqa^h2e$lO z2dh&jg6R;SG{$epS{Fx0#uG5(j%QD!m`4z*C>fz7O=X@*X3OzV0gRU?* z!{xG%atlcvp8(OD@IhV&NA4P2N~coHN4j`J;r{H9@3x%N3lj+Qko7Z6-?&1=DZ+ zcgYVk0rJ+*lLVW_72i=|=n49QHy9TVnWuL_pYvI`_UIVOW)$wH+$a3 zAYtCUpJF)AZy$sN{DK*CfZ3cQOr2Z%5c`8rYuh{Cs|We?S#mc&Mc$*BDRbhB_GZAT z{-2P1!idq{Ed!r=G+3P-X*f_X&U5{}neRBw&!ox9mv(quN4MgO;IMl-W6+bqoLbtz zn8hz2&>Zj1#NN%ad_)6e$F|Fk0p}H z+x|wr7`M9*F+T(A3WhN9qA9EL_BW@y8=>?2C$sT0_ORD&7qOdzV^D6=8#uq^7x;d9 zMgkV}p@zsTHhe^rof=(-B8T~On~X9&X(B=&&G^C#QWIdR7iID+?GM8WQ{?{^H$?Y8 z7PzcB0p~wVgjdNm@NQrXV|&{Z3hb;PwpEDsWbPwEJXMghQUr&6_lVbD7oJ*P2lNV1 z%nv)t%00i2>Nosg2u5Lca~)47wV22Y5AbWGc9OY|I8KB9WBPY+BO7wA4}(mCd8-Z; zfY^6G_!EDd3P$HquajlPhh|=f3*J^>es4c3R1=QRrTt-M*JV&Is)P6GW67`P2ppWv z?ft6#;jNx3v&-TVN?WdEtAw)PP<$!!gP*-Sj#}>oDzcruf69k`u9AzTFEgJk~ucqC1<#~ zHv{%LJ%pC^{?I-ziL@F;;A>F<_R6L?CdqOX>R##);|a=a_W?O}hs;=Z>a%bh6uCv) z?GB^S&p>Lnmd8(Yi=;WzZNWNO5*j~_XGeaGXFm_cVZW9?>F0L+XWgf>sS?|<{J040 z=zhu{R4Re<0e9j2%XOHQ_Y*B0tyz&+dG_WPWqgqO3R|BbKH8~G_qtV*T{phLp=Ca> zo(9t6Ysd22I~Sn>$F}x5)(AOc-JsL25yKjl*ic_#6mBd5Bg4h`A}@-}$Qy<;5eAG| z>sY4KSemJKiY<0)In7ozk7X}$dxcwlZ-Gu4W}#D(*ajmDAAPy+pK+1_q~QJYt?4?zvr_{8;-)1n9E?9IS(f8 zdk$rLym?a_YRSk>BhX1nf$2+)@X4f|Y zk%4)i`bdX$5$>8|%i0OIQFeS7oc9cY4w}M&H=hAn{usV&?}KFpwXn$g5!Aei1-s5@ zs&pcsW_z|%+Y`#57~IcmPu}?7{gSy_MY+w(+H@MTuOfE2eo1JXn4r(|f6s&Xk%!>x zDhZ#Tg~6-+T$cLHT(GDQ=CW+2q11vE?97)&a7cLp^Fa0~?17I&{`hySJ6ew2T3_(k z^T}+JhzctLT=Y%GGGUgC`2`~a}u zREPy@gW#UyQ<_v6i<qd?Ad{TjdGaM4*sEL3e%N@Ly<$HBJ_5rm_3;9ygU2yie0y zjRqVuGCOJ_`|?B-xz;)ej9nbL{N5L@0Hr=-LpZOEIFXqnfg}5az}>qE(uCvTwc~3T zyrKrLc7LMVT`TbLZG9pf%!7Akjs7MM_qUSF>U#2JRXgcacnwdZ$1ukmzH^$i5<2OKBovl+;JEBM`bsl{4u!Y# zCiHzEONJ+6WN9E(aTjGIUQA=8{l^fmT&w@;L+7^zqSjxnOjr8HxOBScmpqZNJ8M4Y zUrm@x{ZR;N>)cV2aVPh$%mn$)O+aJ@TBcG^eOC*ZF zQe&Saj%7DB%wRvP>fr9^x0p97#7^Vh7Mf2yz;k~X+`F6%rT4sf3#Q+~h$)|Nf6Q5& zzS){T_^^#%FD=iV1uMSe>A!Tmb1HpiPz0OWQ!wwD3affmlZ{<(gHdlx;DPfJ=$!fl z#!uE|?#7IgyB)1Kv5V_h(!+3@*>xOWd<{DmTteS@^|*4f5)&UT$=o~j74A6k;jF16 zdVje_+x)EQ+PD~^kob3O_p(_<PB4-P}feZks~C+fgXVafISMB20so8ew3sPgxOemjrm(&PBQh4@zN=s|IS0J$(&pZe{0k0EzkGe zKBiX^5E$UyXYg-*sJ^n0QCuZP?#i^%B3m_>yv7#}%v6Oc>*sXLxCG?)EX0vOUl=IN z1EVz!G>X%(h%H;q=HG6{of$EhxVH=q{@lV_Iq~#!^?iJ9ywXZh+kU5r=A*hA}i+h%KFPoxVya zfcm5)$egj2IV`Wi%t=}SE=qr>he{$5HoV7wm7qokMlJDErxh~ECSWf67&i|{vu`y9 zKyS?xi00-HdNZ_e&mBd$Xj}n@W4j<u*Uc=s|YwPT3QyUxt!qg)`H=!RTLy7t|10LH8E|B5~wvKLXZ3y*j^#c?yeT4eWC8K zs`n}H{igz$V$9_loarK+rM~pr93u!$bOHUO5OV!YI=&-faBM*<82)GiHUD0CaN-(V zU@d@|^@?7KvL^|Ad5H0DB=g;Np{g2}MgBqzAMBQ(r{V}4d6olOMR)(ZFOsbs)g{c9 zn6g!CbYI=pEOEXTC{`@+?|G;wR|LVU-1|dB0HT;-e7)i`U-_pzvvcnl#(PC8Brw5n zrkP`P9Tj6s$F9a`+h8)w_$?9owi1jlaLCk@gHXWBM77_G*zdKeXj3T8crI5ZI)h5g z%I6I*p{a&uC3WH7aw|69d>yOcEyKzN-$J>SWn`7<1MpgE1z+Bl!uh5h_;FN@O+KT+ zo^WZx*5}!{aG(@zY}I*NkNtrcbzann^Q)>p{sRRG&h-5nCAKkc61(#JPb^W3#Afj( zI20hvymns29C{Z5=VoiLW2!jTLwW|i8akI&+!Ke|d7JV1!7&g8YKI% z@ONE23V#`-A@4=V*1x;JKs=6EX=an_G70FfJ&_&g3Zsp_F7T-Bjsi-FZPl$YR0 z621tcf6o(YtL(w+PPl+Y?K!yNf+!q3kq><>*@SoQ0d;(F9>WeP(6Dv4>87wA!W^`L z?(2F`tsc$gt5m{XvsjZe1IoqPLzB?yWj5YkmPFp%8n}De=?QthKnBdr3gPGXs}P96 z#6+M9bN9Iui5n{1Tv&qLJ9>>b<(3Rg(aGa>0laQ*Ie=B5p$19E2C(@Sz*25jT6{P#SZeHQ^8NBW6P;smD4Vm5PEegKYN z>4aukVW!zl5_}_c*xB2a*`c&kcq8c!?Amme`fn>O?vuHPTmBZ}r75Mjp)?D>`iJp# zhc3dEVOf~eCJ*FF7-ZEIU}C@xY@6(b)e{9^Qt~R=#?xYJ*FM8ZcYVo~`hIe7k}UAv z9e`s|^0?yHY8>J+8xzjYVecfpz&%+-$ePKqanhIZe%mIv&QoHPRGz^BLwP(Va-Vi` zxvZ%94E?3mh~A$oP$F;v15K~tcQt2PSDFvf=5zV#zn_qKGc<~q3}@4igHyP3rN>AH zx-!m(Bk19;s%$04x9MMW4AyrT)72YYVRMNK6!xY=-J(zMGY;YD;@fyHbs-ySdjW@= z>|th*6}Zk4=RFA*gxLCNq?_tN`JCI}{;Q4OzS@a>Ff|t44y}U1b6+8H2_;bHOe+#6 zK=ZjjEnaI?u9>?7gf?z+^)wj_bM+U%9r-nTf*NT z49{nhJ$rOu5a0hjMa~(+hpo~Fa6`8Un>&>I_3tY+)3Ba5#h1P)n3^_@raZs$Ymt1r!kN~yt^e$3|91`X zi@7)73mmXCJ$U@$^lnT2l2zO^{Z8M%9+fA>Gsx5@$6;@ABSh-7fU*Bp$St@Edt$1< zV)bn})@4D2d8hDD!Dk3)yoY-~isJXAVY*&2fj>uulAdQ9(f61Grg=U<<1MkMJU$Wa zZluDC6o%YyO#|&g2hz5}k0gaiu&O0T*^9q@@YDM!!ohVYBH6|=W{avH5Td4x%b|dr`@?m&I3^vDmu;#*= z?EH>G+;?{~_RE)n%Kg>6lB$=` zftV;AX4ZabCSci5p6dRMWYereC|1)(qi2Z0y+t2LYRWEp?%`rq`(7-2-OHKdlyUk~ z9S{DddPTmhh!dTC=r@@kmBPytT7r-31My}0O=_>jv0X2}LLVlc#H~m}+4DL$Yw{wz zHsv1gI2{K+vnz^?M`Yl9e+ZP#83p-U-tgdB13c7n$C+F%-vx0?j#(T)i^rb;AD>9r zxcLm6E6ydmcJ6}phjkfenK$sL?*`te=%Dgh6ENQJE>FcF$mCg*GW<=ohW9Cli*Jp1 zf&KLV3$Q;D!FxGYjkTYp$3CdnVIQwsO07-3AttpE0*zksy>`b_H*Z1a zf_@RCJep50*#)D%#X&aflMXBP?g8G#{qG&wwQ1(F(VL1MBV?D2nw z!v~bv^vv7n`s@NOsqY{mCLBx8hGCosJ#owPgkrNtx#Vf69ZZ@#fy|w?m?y#VP~nO$ zE4kE~c6w_u>qkwQ1^)ghH8qX~=14)=B1P~w*h+VjNUXSU5qtkM;(_yoy}wk5clG#g zm?`@e-;bY)nj3IChPwrQWWRC)fJb9HcXz9_RHX&u|4?X62c02$Vr6r^UBk0jqxVo%l%M(L;)un+K_-nUts#L2M}Smk~p?~#QkTJ*_`4c zEIOph1nr9?(lHP5Wu*#=C9feWk9r{f-7BKKnMJ+*vTRSmE_QbRH`JATO%sO@Uk26V zwcN?9*x_#8^e2*xw|pWO&=UHah5;}y^-SAh{T7J}T?P_jJ59ammIja{-r zaAN-`473cu{?RHBSQrewN=xv_xM{5M;t*WCP62ACY2oGAX(ZvUApE`biFb8}2$U{* z4aGA=aIM)ZyffwqPF0!=USn*D`Qpd)$%h7$0D*bn92^cU-jVRA@&@^lW58bM(_>#c z-QtTJdIkoUbkWg)!J}p__;JEcO2roulm4mTA60}~=NhuT-)CUuLI<$>@D7Z`Su$pi z7nyH753;`Q10C^V7-PqA**0v2j@#p@`0RTy`*;|PCQbaWJ{b2JJrdHiG%d^ONeg&4 zvn0mxL&dPqzxPG6L>HG`?+*S_D~L||QD|yNBtw`@+{@o`ns*WAL3=7#?LNvsG24yp z=;4!B-6GWP!#29+fdh#Dd`=z;(DR`9c24r6CM;BC101iaR-VGJL|Q=|5W$Y{?+ z`S(L8J5~?PRdRqD3o%WLQXs`T9P-RXnYfUv!*4ofZd| z2EBoEUBf;*MP~7djZjl5##*&!a!f!ol4mH5XH~}1%kK=J?Sl>6yLKFG%qrm2-K+5R za4aVOoXZ9?;Z#pC4786O=Q4?FNyIHV-t2ATFqX@{TpXl9J+4p2y=f-w(;i?$oKm_aO8sN5lDyAsFwK2`isWf+XoI^!Xyf+DtSf z^)VL^QYQnGuntd#E#Y1C+loxRAMUOEME733O!YjJ?^v(0WVUG;F>MkZ#X^h}oO1NQ z=m-9I(asPfb{9ZHVGrmkXfmC)!c5J(3y?m>4rhLjph{~7c%Kv_sM%2^a`CY|qhGxr zG@R40Ax)EAsnUm1AKGv=vy63o9Edk617LFh86ZyDjFgBr_dWlO%FjJm9sm36otG&A% z7-!+JuHEaDH=_mTq18z;-#h!na1z3ApVq^0fHpd8b;pIy%kbvf=``Axz{U7yGg8}Q!rd%;oZd5qttR(Mdb7Y^Q*f`=8J_|0?|wk&-~M~}>8)_?vEG4^ig@8gG) z%SCvz&+9WSdK;LBE4zw4H`t(}gB4!9w-GXTax6@bbs&-$2~$IKI8L}3`%FKQy?daZ zHlJUQuU(xffQ@_%SbUz5egPqEiCgbbX& zz*nzTpi6DO&;ajzzTBfWTHSO3OMLH>MzMWltBkMusq>%0@N#qc>ChDP9vsWS7b z${=8@4;W0MG$eQo2K|{zY_qzkgRD2C2wO3WgI)rAN`(472|#cAXDH}?7w0e5#@shP z;HR4k6T38+tc^v$GcjNr7U!^AGWFPHV>{u?9S>0X>5t|)jhLB|YO*o72waUyVMML~ z$@QCEf&nC2d7KVoLk(eNF&R_PT9Nd^h7&h4j{AqK!-ryacZEe64 za#Pq|*Z0`?K?Dyy6=UnZ=a82-Z&NkcOrgbz^+rzAaJKFvpe`0 ztPp*T)%8MjoY5t4-YUSHFl(1*My8ok$ApAg)(WNzGz99{l;4YX_v|qfc=hg|{`CJ% zL;Sz@tbd2UjTdlSW?E#kDA9@4EeYH))NFV9-#3V?2B#M?8it@hC6MynooGMbhd#dC z?rW9-=LJ5D#v{96Xl*Ho>O_;v+;?Sg`~-MYBLWvgvI()yBgtD_pbS0XmGz?H#;Qy=EE?}Yx@-`s z4|;48+0aY$-DmPvhJGR8m%ZT#eGW|1FLapRii2Gi{53x^V9snm7}qlm`)3B=tN3b8 zcf1>yWwzipwN31VxpUY*n{vnonH;!z;3wQVeHrBZWLdeL@@#gCEZg=-nq9s_oaII6 zv1S*Gv0wR-Rvv&&{iE2TD~rX;6_|HZ1em)|l0Yk_9`v_v zg!iki;MpZE{NLSMN%*CcIO*9nJaUeQo$lvJsQf;NoS@CDDi>i~+H(nyua16q^5_|# z_aq}Do_u&R8C3fx!_YNzdiR3|oBzU#ofb%oMq}nMkz{Y6FS^MDXAr}rUy=3I)pm+7Y3$;>V_ z1tv-IBAk|&gv`tz|INrh#=0c!&|6|^lNwbvny*u$8+xhw#+QF*U@hv&;6LXZf7y3# zcVfVOUW+q`bhIV@6)i%QZVC3t;1P6j6Ja#AC^EmQ^5D?UYT|KoCz0r`f`+v0w(aO)SC#v+v@qDLdfhL4dr%04$u73&+w{(@8BdZ0*k%XmJ{` zG;A8?-Ft^J>Yi+AvptQRF9cI8rNOo0C+JukE`0NGE}9=}zzLjB<4Ds)nry4V2$c2W zAx$e*Uorxchzhgno&@ac4dMN^YT>^-c!~~gQ=r~^;z{LIP3F&%k-t4{A*9{%rn zs5#k19+RhV)7=%mJ+~%T6U6D>mD;TFic{>4u4H&3+CX%f3(&SRpXgi;p^ZD=lfhPf zkl^}J?d%9R+iypd1sC9RjeP3$^D6$BD2T&4hR`TEhIhqL02Y9}BZolu4APGOCRi!8yL$V18c! zKln}*jI>;Ytrg;MZ}uUqX#UM>)fWPZg9|XgNdp%wNT-6zdN6YSA;0GMa#*qA5sBw` zz=ihrc?v}yBzTn$91J;06t}qWzJHD3#s0d2(f7<*lWaNG?AKNFTagCaCx|c#k{y`- zJeIEh?P3xlCqd5}9Hh%)9f;hi4)Em(G0u7AB3ki1Oqp$qzKowl4FbIN|3piaW zw`ZPROcWD7@m=o6l83bEKNn#%0_R|S6+tNTZ=mD-3R-;RI_Rt5p z<8ZU@26|ge5zb8%hvaQG(44AC#?9tIV$@isDB~&$d>A1`NB)v!^W4aln-ig4UXpHn zvlic6;~4J`#;_CO>q(TH7Bezg1_v4j$?5uC=szhG14M?AuF+usbdF(XzG~vKns(B# zkFMZypq%R=^@+HmF!-zepdBIm$#bnAcBcgcChtiS+I4W}Asynl zdIcn@W)l6}Ty(wJffn1I@ci@nApFP&njbMxoDc+}XHD^kNH)i45->R!8^^n}xd_dM z|5D9hz*qO1@IXlh=sdXv#|$?z@th9SwCW=kUmMTY9?mD{Wj=6OCfcaKc|9`I^w`X1 zDR%s>R0v<-!KnQfVLW3W)1j*u$>y`hu;95hUBBiQW!r4<*Uu7e=B~pQR`+1g=~`lW zKpPs1PLrq4C$hH}o~6exJ>XU6#eu(PIBZ+Lj=8%ln=$y-4A*+I@#`Hvew`bR|8u4_ z&&Ju^)5h9#;F|exdYNuX?vca2-46f0N!^Wp@a_y>hpM?;Kk{-r^wji`(SQ{6ZynE$ z7w4E0xq;C3T#|9r@}Nro&1601kOOOsaG%36zV2itIN5mx6!!Il(9B+*gn0nzld^)|Ja( zl*BptiS(j|EN!W`Bg@ljj-3mZR!UZpEC`xygZgVyY}&qIxQrc(?wu(BozNI;@&i> z=P!EyE}93;iIkMmAT*Hroc-=YlaxZnGAmOdQ<+JV2Bb(MQif)PhR@ljGE<2Ll#Ed% zC1Xk4@B6{;d;hF;-)sG!-4A-wYSF6Q+2`ziU9W3p$We5eD+cu`((DymgGom}ki^gf zBE4n_Hs;!4QM{ZcL=5&LS&P@uO}m}p#X}XY=6eK}mSfH74`Xy>C;oRnym=)xw>WL8 z&{3-_^6(R*itjOs&Yc(j)%^Y}&x1#^*1(WGTAY~wc!<0ikC`hn@yPKSG^pvJI$gi0 zcklq!AG3?NArk*LJ}`QY2B-8q3&QGK2{U{la_cvMNh8wWmEC1Ly80VR^LiMEj(&P# z+hS-o(BUNeuY_V%CzV-)2U%^hV=`Ix&oe1+e_G2*PCUgL%Rw zQ1DG4Zj;09nj%a=T4Dog7bMa7Q;*T~@k2TN#g#-fB8&Kq4#ZYVz8A^8Lf<6~Sh6nz zqc4fWh2&UJ=CjpzoSQ9rss;nR#OYGaGWt@%ml?>cWvnbd_Z- zIt{g9PG8e7ZgC3S4CQ)@HxEI9m4#^-^E=GAK}k51`3~C{yQHW zN;{7n*gRDjV6=Ry`+K7b-BpLoo8$hihqG5(&7DZ#C$NBsWG8!+=$iW z+t!0PA-NA%21=vR&Woac)i`(@`GIWo6OluACxc^+DtvKR2ev6spd&~fzMUV=60Y1r zgVIDQyUq-V`bp8n06tG|X(b%t=lH{VBEcd9;h8WKlpg)Wyn|^t?Ql8q#Yf=Sdr_e3 zoJD?zPQrvs;kf6?8&N@C7~s_DkXoaSKUXZlb%j;rV4NX54ta~$_`tj;Imhw7c^10G zW#QiUdaPkWG4C@l110q`D2Qz$lVW#3YKS-b>t7cHM5JN(9eJiF{DeblXRyU(d~WuT ztMs9JDp_!jXJLM?ghw4R?9Jv}JXgeG~{o)NjIetHdQ7Zod?9rbVUhpwu<*M{Za*ZITy~!^VtoS`H&lyMspI( z*yPh!(f6bPCMEn5oYU$g@xp0Pq}mFj-{e8Wx-OVmRsxS7=`zkLfR%@TB&$z$fMNV> zkiKIN4a>Y8uBVR@ZoFw#^;$tqc>h=1xxt}gLhGwBYd=l>|K6$gU!HKF{^oR{SKz=i zk1orKqc5L3&Ry_te-UqQfuext#C^F3oOF!A+q0Zl<>DRGNaX|sgyn*BhXVXKb(wrT zvYYw`@;TRvKd4%{DTG+fhi&hYpw8_l@h=<+nod_pe`g5j7@LwOSy2MDCm)EuPAqA0 zQ6$dA?!@)mbojp7j084|pr{}T4ClXwqjqP=x-U0qjn;LZ`F;tDr5kBr{dPf5t1{b} z!k^VWT5OWVP_AJ6V|Zt#2C=@61cuA_yu;3ym~<}=eP3v^drhzKj-wAAQyEXI&)Ay zSZyY0k-&b9%n(g*PJpT(23$f|FbyAM0k(QMWN38+*&?tcwhP6G_>pb+b+`?i`Ft*O zs`modAC8=#yaXAyWe#k}lY^uw5duR#S4Uo`fZjf*(4Ti)uQQv&o{bNqV#%Z6T5W@1 z{LDEpX+td(T2}2i(~YVF2R`ATc!eHvdp9E57uDBo59LwEM_n%)PUiUMNCk|E=VvFifx{zyLgr z1!VNvJ0zsj9!+w*snNPJa`xCSIMQas$*mIuZIcM_Ki6L-Hcf%HImgh$+BKwCwpJ8$ zSpeNT2|Nrn;)*|v;3O6dW)~ZVpoG5{^dI|8dMq|#%-8$Sz1Iu0e{3W+H%5ZrMn8~H zLp(F}0sb~zP3r6K!5o=+WKnSj3bJiTU^cJkIjO~dH>I)xsV1heNrf2(_5t{NaxJ{h z`iSWicy?bC5+kK?+TM1oTK0!F4*o#eH@9KOr#^gJ9R-gI!eC8{G0GkcB2U{?VY!SX zwyK=KpY8JCSlS7X7l(0P)o1AP^?Pxwfi$KSl+*7r5_CeDHjdv`D3Va|K)PTXT6jl^ zBm>>K!pCtU-%~oG&0b5$gsu0p!Xn0lB@@6nield^rHp{a3 z)}bKw+5^buZSX_16@ERGgTCeMWL55SqE>kvrYn6#4>xCa^!H!*p&^1xb{MX-T!(V0uXy!$ zKAvQL^vab=!Q!+UdcI&kICMyX(f2Q8tDh97yU&JB;(UjN)Oc+>sCtE9$K9Q1cFRMgn!B4!Pcy@b>t2vEtKVR> zR1|(v=%u~#MtFO74vHj&=wTTNk%JT9Ku0`D;NPS&9_z@#>gD*`_AO1T%0`*A9qg*$ z7<)533S`3xH*d8FR&BXReCHh&nGNKUp+6dNjEM>xRy2}XPAS25nOu}C3Ka#7bbxMG zUXLlM11@)lL%!TL+P3v04rJTn`NJ<^T>U!E`85G|dt-L0zY@b{Siy>Eih?grA}S2p zPt^BKq@9jpP&7r0OS@{#N&JaI{|gc<_~0{9l(`%%`Zk~F{#``eS9~U-{_#+udmLUb zj{?n%ZrtAI%MPur5R|m0K(ym20{C5UU~HSf)#ewxyDiUoUDV(#n?BPYW|8bL&r|*0 zXUIL#bAzEc5`!HgMHYKU*!@pEd_OpT|C3fX;aTNh$B*$I#Eneptm&tJ`-O3U1h?|? z7A%kq!b{I;UFv-Nlz7I6S~a>9&WZp zs|Gt9eQN=ZjXS_In^MWOQzM~L>KOSt<~e!1YdIaKxmu8GGYHB~bb;J1UU8lK8}20W zxk8T@fvb-U1e#6}4BlQyqXNd#BE`jJ8`f|&}NW=>0u?!)Oa4(^xgaK^6Bq0DC-c~;j> zk~Qy=dye{~YknF1BxOl80uIqCm8Dpnn!|kCjxcBOMYf;jG=tpJ3@CR!2eYTTf^uOk z4Ve)_XV+!ZM5!Sxe~Ak7`KyZ0wB2ag6e|!bn+s8vr@+*F5ky{zftD#=;CLbxAKqX* zgHf3i;3r5n3xSfF0ntL91O94J8jQ+c`d`10=n?oDb-D<9oM3AYwWwfI_j~Vt_3ykQ zM1XL$iN8;mdty_`DXimjdtw*2;UPYYHTUIpxO85Q3*NR3ZWo5a#!n^S6SWI>#r4ul zJG%vo-yA1iZi%RTBM+z7O-6?|(l8|712)g*^RD8e;h6t(L9u)~Y*`-xw~;wB4cRKAhC^8ev=|`c$08@eiNlIL@A*^PPu{C2OhG=OQSt=W`z7yhsFli3^9- zpu{L87Nsb~!dVns^LihuyQT7e^)Jv`5e^RnPZBGsC~}JTEEubH;?|QQD)Q-swrk^9 z?k{)NC{19`2lLO7gNW4SAio@`aYC^mnU zBd9j7hPtO_a64oJ+zQB}E$8~ls^^wqb;umF^fgdimtpYgdbIDkY!@S(4r*U?A#}YL zKX1?{bJXkT0mI`sFUXYNy-PCxIzuS=W>!hu5}2Q*$p^U5Ej9nJ)rA-5Aiz+1)iWT`e z3Fkijdw;m+`U2XVrV$&l2CPjO%d#eA&_;TTe3H2cYtC&Y%l$6Vz}u;m^hglN-aF(` z@oREWA(vdd8Va|3-h$WjV<00J2@SgrfTsFEwCb9GrG`gD`soYF%mv4YI~Pta%-9U( zZ(1O)CLC<1e6xGCZ2>$AQNm50!RVcK5ciSQFq%owuIIx^o@utA;?NW1StP7^s;c0) zP>%ayy$6oxdg9N|1}Jt(L~W;>!uz}~D7SMrE6O;`itSXG&{&NN{vyMH-v+R=yGK^2 zj)0kwjd-x`A&%Evjq}FN#KJ#HSX7V=t2<)A>2nK;WnLq9_vk^gZ@WM>z<{)!?jYuc z7eR(LK)y>7nDf~+H|OYalFO3slLnFBOWZZ2khbYPYfteCS=mPqqw2z2G$797rY1a?~o{+P+q`Bv8{ zR<9R%72P7ULnm`5^K!YV9`~Smz9;*{>u(n=PbDVl9C;Wy=|668w(A$qvA3Osvp+kE z-W;4zaX$F{<7syPo)0QnmRxat5KQGYSkID8fm`(l$3H#Fs*ftuJUeM_R9F@)`teP0 zY0?O?;;IGw2udX<%1U8w7=_OHHBf(X7*14=!N@^w^qiPK36Znp`>8IUl^qLq(SA@c zO9nvnSUr^)0cG%oxB^TRCd`j5&of43v}Q{^`9kc~sjx6kp8XET0MzKBU*&QOc7 z+MG_sD-hdOE@*##NiaG!1tn~gF}C?Ij>#3UIks)s6t^8;&KSWB?lT3ouxBK~)tDYo zxdP)x#A1pgzx#Xq6*b%zv-OwjahT^vAh(sdwNZO8R%gb^7=q@Tc zAqlg#W?|ZK88+NhgFAY97x;gPBF)iVWWjtT2>&Jq;i6^|xSN7tRuZXJ`-SsOW-{&G z5H!**BlT_L;PQxevi^t-=*wvHXWI;@lHfVoaQKouw0ODxoRxJq!<>K~ma(kf`z} zRFKH$xcm&F1;K-1dz=GI`+5-cBP6Ke zm2BK|C3ZAuJU2Jv9UOis1tE8p`7DkG3`nR&zt&UuV)6ubV|qD8Jbp-D%7zMzFD{0u z50mIPjcX)x{R>jkxgMid-$SMAJ80&EIJ}#ag*Rpt(?XdUT=JO}c=S#jE*f)~?6l&U zza298H@6ApBn(L5av|)o7|e;?;``3ZParWXh5UZ?jecKondF{}BPSkMlLsf_s6$Hv z?rM=^*+a6~;zzOAd-*U--(tuWH9HX5G5+v-!wV88y^UyQl#u1N;ezP(v#~>QA{+c^ zC(A#h0}myvxuIVpN#dZB@c6{FZk25Y4g_Wb& zc(uLgyF!A;4!0@WcH#2I#vBG++7rl4MgsAU1p1)84SJc<$6R)Yg1R15%}# zaqoLHU5e!F`35NO%Le0R(PUeD0G5rDgX1a=2$?x{tC!THMA>1MIb%QD>}>_NYQ}I* zy;0C?^OC$jd7I>v_K?M^Rha5JJ=V&Ma7ND%SpKpev28z=to4OG_x_UXj<;m+>~3Pv z@JS%&Ux9Dex#1&yc`ms5G}qIx9|o4pVSgQiv9hF-)XWbk%}sEn?d^{6+Rcw!tY0E~GeP8T@{@EqFIM{lXP{ ze)@_;o2LCYOF!fmIFNGJN%%MN`*rUWql&(jvv>!9&Obc1BZFUpL&698FmpVPZW3d$ zMTHo5$&ud^p9OcHY+#L>1=Z=Qq%moLwl`(NN0|{KLAEx;MZXm}%t@lBU6OJ0hOt<6 zGK#G3aieRNTY!#i5y`N=C|a-Uhhw|sa8_cg;INh)ryeZH8E+a7=Xdjr7O|T;&wmHEOa}=J!_N*r` zu5J-Ne?|r4EH9DN1(iI5po%_-IV~8yAO=k4+ys|(^GJ1H3~Y&9bp!gyk(N@T4o4$jg{uW9+CzV0Z{%(lWoL=yZ|jG%DG7qb4m3;c#eGVHe|h+f1BE{ysPzkfSJXI%r#TdoAX zCZ+IYqyT!>oh9O7CDfy`USuOmAV&B0f%w?Fpzx7nD|?2rwNY!Kv41G1GpvlXr1#Nc zD;>7&#y6Z$@C0Xnvt%{8E110f4V?JWr0nc`L(XpUdC*dRO$vK2lXFkaah=yYjER?F zGTbC)EkBxZ%TD88{%^T{YX`h6a6)sjU^0^T*WQ2Rh$XQvQM7jf6!J4M&Fv*+FKpyE zF|}IATDY2L4MgI(HZyu5R+=U$WD=L5$1yU3*U}6xgbO2_%htN9a~4UDAz4u#I-e;+ zcGxenW71*K-^;e-AcH5q`+pFsGTHx1queI#SVyT~{(5iV@$ zq65bI+&ae3lnMrMQA1P9jxX&Hy#GePE8qLSe&J^1rs1YKU8pYCD^+~RvLbSO>r3sr zfBgheZUr!`tPI5hPhoT-4+q_M9nCjwLh12oH{&R=qNX@4pv8*!;C{;Pr9HwlNds`-j7U!G4gMsliFz zeF2v{rr--Rj&ynHK&h%a%qdfWQSnD1Xh{=g#n!NfpI?0)slllvs}pOp8|b}dI$m}S zg~~7c!Mr<_?4I3>wB@k>o1^lng zV$$)$SdsToc0tpb4WD+9tsc`t7c}Z{rehR2L)BsML(zal%0DGk;|BgT`9eqX{OW0| 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≦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
    dMSH<8szkTeL$^7?z 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𝔦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
    M<@8ztkbkdC{^!CH<|LViXZ^mP7zuK5D3rqHT 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ν<;YwJG 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%0D@9hj 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